为什么64位系统不适用二级页表?
补充 - PAE技术
PAE是什么?
PAE(页地址扩展)是一种允许32位处理器访问超过4GB物理内存的技术。在传统的32位系统中,由于地址总线宽度为32位,因此最大可寻址的内存空间为4GB。PAE通过将物理地址扩展至33位(或更多),使得系统能够支持更多的物理内存,下面的例子是扩展两倍物理内存,即8GB,但需要注意的是,32位系统的进程地址空间仍然限制在4GB以内。
传统32位分页(无PAE)
虚拟地址:32位 → 4GB虚拟地址空间
物理地址:32位 → 4GB物理内存
如果没有PAE,物理地址是 33位 → 8GB物理内存 ,后4GB内存将访问不到,只能访问前4GB物理内存
PAE模式分页
虚拟地址:仍为32位 管理 4GB
物理地址:扩展到33位 物理内存扩展2倍 8GB
区别:
页表条目大小从20位比特位 扩展到 21位
主要区别
页表条目大小 变大了 页表条目主要存放物理号 ,原本的物理号的范围是0~1048575, 只需要20个比特位就能存放这个整数,这里只是举例,实际上因为内存对齐的原因,实际是用32位整数存储物理号,现在的物理号范围0~2,097,152 ,需要21个比特位,实际的物理地址 = 物理号 + 页内偏移 ,因此32位的物理地址 扩展到 33位物理地址
因为物理空间增大了,物理页也增多
对应地址转换机构需要调整 虚拟地址(32位) → 物理地址(33位)
注意:采用PAE时需要OS支持