在本页阅读全文(共10页)
PCI Memory Address Range这一部分包含了各种I/O设备,系统总线等部分所需的地址,上面的图中我们可以看到ICH10的磁盘控制器、PCIE(显卡)等该系统现有设备所占据的地址范围。这些I/O设备地址被通过一种叫做MMIO的技术使得CPU可以高速便捷的访问它们。根据设备状况的不同,PCI Memory Address Range的大小也会发生变化,这都一切取决于硬件本身及硬件驱动的需求,例如芯片组、显卡等等。
小贴士:MMIO全称是Memory-mapped I/O,是一种在CPU和外围设备之间执行输入输出功能的途径。MMIO简单说就是将各种外围设备的控制寄存器映射到物理内存地址上,CPU可以像访问内存一样方便的访问I/O设备,而无需重复再三的去调用IO控制函数。CPU会将自己的寻址空间预留一块用于I/O设备,这也意味着内存地址被占用了一块,但并不会真的占用物理内存存储空间。
没有板载显卡的话,PCI Memory Address Range基本可以与MMIO区域划等号。MMIO会占据TOLUD至4GB的地址空间,不过这只是将物理地址分派给各种外围设备,而不会真的占用物理内存。上图中的系统只有2GB内存,那么TOLUD的值就是2GB(7FFFFFFFh),PCI Memory Address Range也就自动占据了80000000h至FFFFFFFFh这剩下2GB的地址空间。而且很明显,它不占用内存,因为后面2GB根本没有内存。MMIO区域所占据的地址实际上对应的物理设备是外围设备的寄存器之类,相对于这些设备的寄存器来说,MMIO是一块逻辑地址区间。
本文导航