当前位置:首页 > 培训职业 > 正文

物理地址扩展页表结构

在传统的32位保护模式中,x86处理器采用两级转换方案。控制暂存器CR3指向4KiB的页目录,页目录包含1024个4KiB的页表,页表又包含1024个4KiB的页。启用PAE后,每页大小变为4KiB,页表和页目录中的表项从32位扩展为64位(8字节),并使用额外地址位。但页表和页目录总大小不变,每级减半,因此各为512个表项。页目录引入了一个新的级:CR3指向页目录指针表,该表包含4个页目录指针。

页目录表项中的PS位标记页面大小。设置为1时,页目录表项指向2MiB的页。页目录还包含NX位,表示No eXecute,用于表示禁止执行。页表项最低12位用于这种标识或操作系统相关数据,最多可有52位用于寻址2^52字节,即4pebibyte的物理内存。然而,当前仅使用这52位中的36位。

对于x86-64处理器在长模式下工作,PAE是必需的。在长模式中使用了52位中的40位或48位。CPU对PAE模式的支持可以通过CPUID标志来识别。

比较启用与未启用PAE的页面大小,可发现:未启用PAE时,4KB的页保持不变;启用PAE后,页面大小变为4KB。同样,未启用PAE时,4MB的页同样未变;启用PAE后,页面大小变为2MB。通过这一对比,可以直观了解PAE如何影响页面大小与内存寻址。

多重随机标签

猜你喜欢文章