"); //-->
CPU对PCI 设备的配置,是为了完成PCI 设备存储空间的地址分配、PCI 设备功能设置等工作。配置操作时,CPU通过北桥芯片实现设备片选。
配置寄存器组内保留了对PCI 设备的基本特性进行详尽说明的可读信息,CPU读取这些信息后,就可以为PCI 设备设定符合需要的配置内容,从而实现自动配置。这些可读信息包括:
Vendor ID :设备供应商编号,由PCI SIG 国际组织分配。
Device ID :特定设备编号,由设备供应商分配。
Revision ID :设备的特定版本号,由设备供应商分配。
Class Code :设备的功能类别编号。
Header Type :指示Header 中从地址10H到3FH区域的内容格式,同时指示该设备是否为多功能设备。
PCI 存储空间不同于PCI 配置空间。PCI 存储空间可以存放PCI 设备的特殊功能寄存器,也可以用做数据缓冲和存储区域。
PCI 存储空间分为MEMORY空间和I/O空间两类,它们独立寻址,并使用不同的总线操作命令进行访问。MEMORY空间适用于设备功能寄存器较多或数据流量较大的场合,例如网口芯片、PCI-PCI 桥等。I/O 空间适用于设备功能寄存器较少或数据流量较小的场合,例如串口芯片、LED控制寄存器等。但在地址空间比较充裕的条件下,也有把范围较小的存储区放入MEMORY空间的做法。
操作响应者根据操作发起者发出的总线操作命令类型,来识别当前操作是指向MEMORY空间还是I/O空间。
配置寄存器组中会有一个或多个基址寄存器BAR(Base Address Register),用于保存指向PCI 存储空间的指针,同时BAR中可读不可写的位数决定了该存储空间的大小。BAR的最低位是只读位,它定义了BAR的空间属性。当BAR指向PCI MEMORY存储空间时,该位读回为0;当BAR指向PCI I/O存储空间时,该位读回为1。 由于BAR的这一属性,使得PCI 设备占用的存储区域是放在MEMORY空间,还是放在I/O空间,完全由设备制造商决定,用户无法修改。
单个设备/功能的PCI MEMROY空间的容量可选取16byte~2Gbyte。但为了减少参与地址译码的地址线数量,PCI 规范建议MEMORY空间分配不小于4Kbyte。
单个设备/功能的 PCI I/O空间的容量可选取4byte~256byte ,不允许超过256byte。
访问PCI 存储空间时,都使用“BAR指针+地址偏移量”作为存储空间的访问地址。因此,为每个PCI 设备/功能分配合理的地址空间,保证设备/功能间的存储空间不发生重叠,是PCI 设备配置操作的一项重要内容。
专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们
相关推荐
测试你的情商
双无稳态多谐振荡器电路
闭环三相多谐振荡器
拆解:索尼 Access 无障碍手柄
IBM半莫比乌斯分子展现了量子化学的优势
一个工程师多年流浪的经历
贸泽开售适合边缘工业自动化应用的 Weidmuller u-control M3000和M4000可编程自动化控制器
大占空比周期可调的压控振荡器
LPC2000系列ARM-CAN控制器驱动程序的使用指南
Brilliant Labs与Alif Semiconductor合作开发智能眼镜
ARM系统设计
赛灵思Virtex-7特性和应用介绍
骑车机器人村田顽童、村田婉童的非凡技艺
婚姻与爱情的哲理
一个工程师多年流浪的经历
戴尔裁员万人,硅谷愈发担忧AI冲击
HOLTEK仿真器,使用HOLTEK单片机的向导
台积电市占率领先优势创最大纪录
可输出对称波的多谐振荡器
AI 检测工具为机器人车队提供安全认证
本田取消三款全新电动车发布计划,计提 157 亿美元亏损
IAR 扩展了嵌入式开发平台,提供 LTS 服务
赛灵思Virtex-7 2000T 演示
李敖在北京大学的演讲(完整无错字版)
我就是我lxw_1602实时时钟
拆解:苹果 iPad Air 11英寸
赛灵思Virtex-7 GTX收发器演示
时钟同步的振荡器电路
这样学习最有效
过河