Memory management 物理地址扩展是否需要36位地址总线?

Memory management 物理地址扩展是否需要36位地址总线?,memory-management,assembly,x86,bus,Memory Management,Assembly,X86,Bus,32位处理器上的物理地址扩展是否需要36位地址总线? 如果我使用的是位于页面中的32位地址,而该页面有36位地址,会发生什么情况 32位处理器上的物理地址扩展是否需要36位地址总线 显然,在具有32位地址总线的CPU上启用或支持PAE实际上没有任何好处,因为您将无法访问232或更高物理地址的任何内容 如果我使用的是位于页面中的32位地址,而该页面有36位地址,会发生什么情况 这个问题不太清楚 启用PAE时,虚拟地址保持32位。页表中的物理地址通常扩展到36位,最低的12位不存储在PDE和PTE中

32位处理器上的物理地址扩展是否需要36位地址总线? 如果我使用的是位于页面中的32位地址,而该页面有36位地址,会发生什么情况

32位处理器上的物理地址扩展是否需要36位地址总线

显然,在具有32位地址总线的CPU上启用或支持PAE实际上没有任何好处,因为您将无法访问232或更高物理地址的任何内容

如果我使用的是位于页面中的32位地址,而该页面有36位地址,会发生什么情况

这个问题不太清楚

启用PAE时,虚拟地址保持32位。页表中的物理地址通常扩展到36位,最低的12位不存储在PDE和PTE中,它们被视为0,因为4KB页在4KB地址边界上自然对齐


如果您谈论的是PDE和PTE中的物理地址,没有人会阻止您在其中使用小于232的物理地址。

36位或更大的物理地址不需要用于PAE。这使得软件可以使用PAE,而无需考虑物理地址大小,也无需为某些CPU(例如Intel Atom)编写完全不同的分页代码。这还意味着,某些仅由PAE和长模式支持的功能可以在没有36位或更大物理地址总线的CPU上使用,具体来说,就是“无执行”或“执行禁用”功能

重要的是不要混淆软件使用的虚拟地址和CPU、硬件等使用的物理地址。PAE对虚拟地址没有影响,所有虚拟地址仍然只有32位。如果以32位虚拟地址访问某些内容,CPU将使用查找表页表、页目录和页目录指针表将32位虚拟地址转换为36位物理地址