0

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

4

2 回答 2

5

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

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

如果我使用位于具有 36 位地址的页面中的 32 位地址会发生什么?

问题不是很清楚。

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

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

于 2013-04-28T13:29:25.210 回答
3

PAE 不需要 36 位(或更大)的物理地址。这允许软件在不关心物理地址大小的情况下使用 PAE(并且无需为某些 CPU - 例如 Intel Atom 编写完全不同的分页代码)。这也意味着仅 PAE(和长模式)支持的某些功能可以在没有 36 位(或更大)物理地址总线的 CPU 上使用(特别是“不执行”或“执行禁用”) “ 特征)。

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

于 2013-04-28T13:55:07.923 回答