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

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

Peirre3年前 (2022-03-05)我的杂物448

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 数值表:


分享给朋友:

相关文章

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

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

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

OBS 插件开发所需要的数据结构。

插件的四个入口:plugins_sourcesplugins_outputsplugins_encodersplugins_servicesOBS软件的三个主线程函数:obs_graphics_thr...

谈点我研究雷达的那点事情。

谈点我研究雷达的那点事情。

说实话雷达并不是我的第一个项目。有关雷达的研究,大家可以看我的这个网站的其它文章。说实话这个网站一开始就是为了研究雷达和电子测量开的网站。一直想以这个题材为中心。这个雷达项目绝对是一个好题材。深入研究...

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...