地址空间
地址空间
PCI总线具有32位数据/地址复用总线,所以其存储地址空间为2的32次方=4GB。也就是PCI上的所有设备共同映射到这4GB上,每个PCI设备占用唯一的一段PCI地址,以便于PCI总
线统一寻址。每个PCI设备通过PCI寄
存器中的基地址寄存器来指定映射的首地址。PCI地址空间对应于计算机系统结构中的PCI总线。
一个PCI设备占有PCI存储空间的一部分,PCI上
存储器地址的译码是分散在设备上进行的,每一个设备负责它自己的译码,不需要中央译码后,从外部输入设备选择信号。
如果处理器具有32位的
地址总线,其理论可寻址空间为2的
32次方=4GB。但这并不意味着内存就可以4GB大小,其实XP系统
最大内存大约为2GB,这与CPU访问系统中其它设备的存储
器方式有关(比如CPU访问PCI总线上的存储器)。
计算机系统中在不同的物理位置上存在着不同设备,不同的设备又各自具有存储器,那么CPU如何访问这些存储器呢?CPU把
系统中各个设备的存储空间映射到一个统一的存储空间上,称为系统存储空间共4GB,
这样CPU就可以访问到所有的存储器。比如PCI存
储器映射到从0xFFF80000开始的地址空间,显卡映射到0XFFF00000,再加上操作系统会占用一些空间,就只剩下不到2G能真正分配给物理内存了。(具
体数值是为解释需要取的任意值,不代表真实情况)
系统地址空间对应
于计算机系统结构中的前端总线(FSB)。
可见,PCI地址空间(4GB)无法完全映射到系统地址空间(4GB)上,而且映射后所占的系统地址空间不能太大,否则会占用
物理内存的系统地址空间,导致部份物理内存无法访问。