【ACCESS精品源码栏目提醒】:网学会员,鉴于大家对ACCESS精品源码十分关注,论文会员在此为大家搜集整理了“【精品推荐】IA_32系统中PCI地址空间的配置 - 技术总结”一文,供大家参考学习!
专 业 推 荐 ↓ 精 品 文 档 IA-32系统中PCI地址空间的配置 马亲民潘焕成 深圳职业技术学院 电子与信息工程学院广东 深圳 518055 摘 要分析了以PCI总线为基础的IA-32系统结构及其中的PCI总线分段方式论述了PCI配置地址空间及其头标区分配情况给出了使用汇编语言访问PCI配置地址空间的方法和源代码以及读出数据的方法及应用。
关键词IA-32计算机系统结构PCI总线配置地址空间BIOSMASM 中图分类号TP303 文献标识码A 文章编号1672-0318200901-0054-04 IA-32计算机的系统结构是建立在PCI总线的基础上但是如何对PCI设备进行管理是硬件工程师、驱动开发人员面临的最大问题。
虽然IA-32计算机使用PCI总线实现系统互连但并非指物理层次上而是指逻辑层次上的IA-32 CPU只能通过PCI总线方可访问各个逻辑设备而各个超大规模集成电路在物理层次上实现互连则是使用诸如FSB、存储总线、显示总线、DMI、LPC等总线1。
本文的目的在于从系统结构的角度描述PCI总线在系统互连的作用、结构和访问方法。
1 IA-32计算机PCI总线分段 在一般的意义上PCI是一个独立的总线不存在所谓的分段的问题。
但是由于在IA-32计算机内部各个逻辑设备并不是仅驻留在一个PCI总线上而是分别驻留在2个PCI总线上这就产生了PCI总线的分段问题。
关于IA-32计算机PCI总线分段的方法不是在PCI规范中规定的而是由Intel规定的。
按照Intel的规定IA-32计算机PCI总线共分为2个总线段一个命名为总线0Bus 0B0另一个命名为总线1Bus 1B1。
在每一个PCI总线段上允许驻留32个PCI设备Device编号范围为0-31。
每一个PCI设备允许包含8个功能Function编号为0-7。
如果IA-32计算机使用945G Express芯片组那么主桥就是82945G GMCHI/O控制器中心就是ICH7①。
82945G GMCH包含了3个逻辑设备其所对应的总线号、设备号、功能号如表1所示。
表1 82945G GMCH中各个逻辑设备其所对应的 总线号、设备号、功能号 总线号、设备号、功能号 功能描述 总线0Device0Function 0 主桥/DRAM控制器 总线0Device1Function 0 Host-PCI Express桥 总线0Device2Function 0 集成图形设备D2:F0总线0Device2Function 1 集成图形设备D2:F1 ICH7包含了6个逻辑设备其所对应的总线号、设备号、功能号如表2所示2。
2 PCI总线配置地址空间 除了存储地址空间和I/O地址空间之外PCI总线上还有配置地址空间。
设置配置地址空间的目的在于支持即插即用的操作系统。
按照PCI总线规范的规定每一个PCI功能都有完全属于自己的配置地址空间其中存储有操作系统配置该功能的时候所需要的参数3。
配置地址空间的容量为256个字节前64个字节为头标区后192个字节为设备专用区。
头标区存储的信息符合PCI总线规范。
设备专用区存储的信息因设备而异。
2009年第1期 Journal of Shenzhen Polytechnic No.1 2009 深圳职业技术学院学报 收稿日期2008-09-26 作者简介马亲民1975-男湖北黄石人讲师硕士研究方向为嵌入式系统。
① PCI Local Bus Specification Revision 2.2S 第1期 马亲民等IA-32系统中PCI地址空间的配置 55 b31b000H04H08H内含自测试头标类型等待定时器Cache行容量0CH10H14H18H1CH20H24H28H2CH30H容量指针34H38HMax-LatMin-Gnt中断引脚中断线3CH保留保留b16b15卡式总线卡信息结构指针子系统识别码子系统制造商识别码扩展ROM基地址寄存器制造商识别码命令版本识别码基地址寄存器设备识别码状态类别代码 ① Intel CorpIA-32 Intel Architecture Software Developer’s Manual Volume 1: Basic ArchitectureZ2004 ② Intel CorpIA-32 Intel Architecture Software Developer’s Manual Volume 2: Instruction Set ReferenceZ2004 ③ Intel CorpIA-32 Intel Architecture Software Developer’s Manual Volume 3: System Programming GuideZ2004 表2 ICH7中各个逻辑设备所对应的 总线号、设备号、功能号 总线号、设备号、功能号 功能描述 总线0Device30Function