X86 Architecture Details
CPU
Memory
- Page Size Extension
- 大页的支持需要cpu支持的,对于intel,cpuinfo里有pse(2M大页),pse36(32位时代的东西),pdpe1gb(1G大页)就表示支持大页
- index PMD的时候,entry中PS这个bit如果为1,就表示是个2M大页,就没有下一级页表了
- index PUD的时候,entry中PS这个bit如果为1,就表示是个1G大页,就没有下两级页表了
- 具体参考intel-sdm 4.5.4
- PCI hole
- 32位CPU的地址空间只有4G,当物理内存插满4G时,由于PCI等设备需要一部分地址空间来做MMIO,物理内存在地址空间上便不能连续,需要被挖出一个空洞
- Pentium Pro使用36bit总线来解决这个问题,可以把被hole覆盖掉的物理内存重映射到>4G的地址空间
- 但是至今到了64bit系统上,如果BIOS为了兼容16/32bit软件,还是会有这个问题