当前位置:首页 > 我的杂物 > 正文内容

不知所云的乱弹技术笔记记录。

Peirre4年前 (2022-03-05)我的杂物480

2.jpg

电脑的主板有总线架构,所以每个主板不尽相同。 其中有个Power Management 总线管理各个总线,有个PM Register寄存器很重要。 而且在一般的英文版的计算机硬件白皮书写得很隐晦,并有所保留。 这个寄存器只有几个值可用,如 50h,54h,58h,5ch等。 现在说说ROM BIOS分配地址的计算公式: 如BIOS芯片模块在设备总线14h,功能支线为3h,可以对BIOS芯片设置读写保护。 

格式为
    段名      字位       描述 
基地址    31:11     ROM基地址 21位基地址 字位10:0 访问为0,在这之前是2k对齐 
长度      10:2      9字位(0-511)定义为1k-512k,包含1k。 
读保护     1        置位,读内存返回FFh 
写保护     0        置位,写内存没效

例子:
32K的LPC ROM 保护开始基地址为FFF80000。 
基地址位    31:11           1111 1111 1111 1000 0000 0 b 
长度 32K 字位 10:2            0 0001 1111 b = 1Fh = 32d 
读保护位 1               1 
写保护位 0               1 
 寄存器 50h 的总线地址为: 1111 1111 1111 1000 0000 0000 0111 1111b
                       =  FFF8007Fh 
注意:1. 寄存器50-5Fh 能在硬件复位后写1次,挂起写入没效果。
   2. 设置和升级LPC ROM 区 的读和写程序单元 双校验读保护会使程序中断。

PCI BIOS中断程序开发例子:

I/O 端口为 c00h和 c01h 索引/数据格式

图表:

3.jpeg

汇编机器语言例子:

mov dx,0c00h ;写IO端口C00

mov al,01h      ;索引PCI 硬件中断 INTB# 线

out dx,al          ;设置索引到 INTB#

mov dx,0c01h ;写入中断数10(0Ah)

mov al,0ah

out dx,al         ;连接IRQB#(INTB#) 到中断 10


PM_REG 数值表:


分享给朋友:

相关文章

Blender自由软件模型参考(1)-例子和自己制做的。

Blender自由软件模型参考(1)-例子和自己制做的。

例子:东京塔 原稿下载:TokyoTower .zip新式养猪塔楼  原稿下载:pig.zip水晶塑料花 原稿下载:volume_emission_27.zip音乐合成歌手-马优 原稿下载:...

Ubuntu Linux  19.10 下 完善街机模拟器。

Ubuntu Linux 19.10 下 完善街机模拟器。

Ubuntu linux 下有个共享软件库,可以用apt软件工具下载,当中有个街机模拟器叫mame。让我们一起免费在家玩街机游戏吧。nantz@nantz-desktop:~$ sudo apt li...

可以对齐表格的一些字体。

可以对齐表格的一些字体。

AR PL UKai CN BookAR PL UKai HK BookAR PL UKai TW BookAR PL UMing CN LightAR PL UMing HK LightAR PL...

linux mint 下的网桥设置,附window 10 网桥的建立。

linux mint 下的网桥设置,附window 10 网桥的建立。

家有板载双网卡的电脑一台,一直以来都是正常使用。接一个网线,直接通过路由上网。另外一个网卡不知道怎么使用一直是备用状态。今天大年初一,心情比较轻松。于是试了一下另外的一个网卡。我的迷你电脑有两个端口,...

有幸找到IP分析源码。

有幸找到IP分析源码。

这两天翻硬盘资料,找到windows 2000关于网络IP的一份源码。看见网络上只有CSDN处有一份,于是贴了出来,含源码分析。inet_addr函数_misterliwei的专栏-CSDN博客_in...

CPUID这个汇编指令到底有什么用。先谈谈01子功能。

CPUID这个汇编指令到底有什么用。先谈谈01子功能。

最近在翻览intel公司的CPU开发白皮书,对CPUID这个指令做了一下了解。CPUID这个指令就像一个功能函数一样,只要CPU的寄存器EAX有数据,它会在执行CPUID指令后返回到EAX,EBX,E...