试题详情
- 简答题在PCI卡配置空间中,基地址寄存器的作用是什么?一个PCI设备最少可申请多少地址空间?最少可申请多少I/O空间?
-
P.CI总线上的设备采用“即插即用”的方法,所有设备使用的存储空间和IO空间的具体位置事先是不确定的,需要在系统初始化时通过“配置”过程来确定。PCI卡上的基地址寄存器有两个方面的作用:
(1)寄存器的最低的几位记录申请所需空间的类型(存储器空间/IO空间)、空间的大小等信息(寄存器的这几位是只读的)。
(2) 寄存器的高位用来纪录操作系统分配给它的存储空间/IO空间的起始地址(寄存器的这几位是部分可写的)。
由于有6个基地址寄存器,PCI设备最多可以申请6段地址空间。
对于申请存储空间的基地址寄存器,它的第0~3位是只读位,第4~31位用来表示申请地址空间的大小,因而一个PCI设备申请地址空间最少是16个byte。对于申请I/O空间的基地址寄存器,它的第0~1位是只读位,第2~31位用来表示申请地址空间的大小,因而申请I/O地址空间最少是4个byte。
例如,某PCI设备申请1MB的存储空间,它的基地址寄存器位0~位19均为只读。其中:位0固定为0,表示申请存储器空间;位1~2表示“映射”的类型,如果基地址寄存器为32位,可以“映射”到32位地址空间的任何位置,这两位可以固定为“00”;其余位均固定为0。
系统进行配置操作时,向该寄存器写入32位全“1”,然后读出该寄存器的内容。由于低20位均为只读位,所以实际读出的内容为高位12个“1”和低位20个“0”。其中位0~位2表示空间类型和“映射”类型,其它的“0”(位4~位19)表示了申请空间的大小。随后,系统根据各设备的请求进行空间的统一分配,将分配给该设备的存储空间首地址写入该基地址寄存器。对于1MB的空间而言,它首地址的低20位应为0,它的高12位反映了实际的起始地址。基地址寄存器的高12位正好能容纳这12位“有效”的起始地址。 关注下方微信公众号,在线模考后查看
热门试题
- 异步传输的错误检测中的奇偶错、超越错和帧
- 编写求绝对值的子程序,利用它计算3个变量
- 简述8259A主要的功能。
- 一存储器芯片的存储容量为4K×8位,则它
- 写出下列真值对应的原码和补码的形式。X=
- 若8259A是主片时引脚SP/EN是()
- 简述高速缓冲存储器Cache为什么能够实
- 某一EPROM芯片,其容量为32K×8,
- 下列等式中,正确的是()。
- 请给出138译码器的所有译码输出引脚对应
- 8086CPU状态标志和控制标志有何不同
- 8421码是一种()码,余3码是一种()
- Intel 2164A是64
- 分析8086CPU两个中断输入引脚的区别
- INCLUDE语句和INCLUDELIB
- 系统采用4个接口芯片:8253,8251
- 8086CPU中典型总线周期由()个时钟
- 用单片机内部定时器来产生矩形波,设单片机
- 试述总线仲裁优先级方法。
- 简述8237A3种基本传送类型的特点。