PCI总线的地址空间分配

pci总线具有32位数据/地址复用总线,所以其存储地址空间为2的32次方=4gb。也就是pci上的所有设备共同映射到这4gb上,每个pci设备占用唯一的一段pci地址,以便于pci总线统一寻址。每个pci设备通过pci寄存器中的基地址寄存器来指定映射的首地址。如下图所示:
注:需要注意的是pci的地址空间和x86系统中的fsb并不是对等的,而是具有一定的映射关系。
pci体系结构中,一共支持三种地址空间:memory address space、i/o address space和configuration address space。其中x86处理器可以直接访问的只有memory address space和i/o address space。而访问configuration address space则需要通过索引io寄存器来完成。
注:在pcie中,则引入了一种新的configuration address space访问方式:将其直接映射到了memory address space当中。
如上图所示,最左边的即为memory address space,其中包括了多个pci memory、agp video(显卡)memory以及extended memory、boot rom等。中间的为i/o address space,需要注意的是,虽然pci支持32位的地址,但是由于x86的cpu只支持16位的i/o空间,这就限制了pci的i/o address space最大只有64kb。最右边的则为configuration address space,由于每一个pci设备最多支持8中功能(function),每一条pci总线最多支持32个设备,而每一个pci总线系统最多又支持256个子总线(通过pci桥)。因此,总的configuration address space的大小为:256 bytes/function x 8 functions/device x 32 devices/bus x 256 buses/system = 16mb。
如图中所示,configuration address space所使用的io寄存器范围为0xcf8~0xcff。其中0xcf8~0xcfb为端口地址,0xcfc~0xcff为配置数据。

电阻真空计和电离真空计的介绍与区别 电阻真空计怎么用
了解51系统单片机如何解码红外遥控器?
力科推出用于PCI-Express 3.0协议测试的分析工具
区块链支付级钱包everiWallet的使用方法介绍
大中华区的五大解决方案入围“代码集结号”全球挑战赛决赛
PCI总线的地址空间分配
电网应该像互联网一样由数据驱动
iQOO 7将于今晚正式发布,搭载骁龙888
Credo推出Seagull 452系列高性能光DSP芯片
高防服务器是什么_高防服务器有什么用
传德淮半导体拖欠供应商货款,多项工程已停止建设
青桔单车逆袭:青桔单车三年成全国第一,如何持续C位
亚马逊宣布与Anthropic展开战略合作,共同推进生成式AI发展
Heyue贴片电解电容125℃车用系列的介绍
如何避免PCB板上操作过程中引起的机械裂纹
一文告诉你这20家企业为什么来光亚展?
低成本的单色LCD构建菜单界面的方案介绍
导线精灵——导线覆冰智能识别监测装置
工业以太网协议与应用关键技术
vivo APEX 2020有哪些值得期待的地方