0

当一个新进程启动时,操作系统使用进程的页表初始化 MMU 的寄存器。虚拟地址转换 MMU 获得一个虚拟地址,将其传递给比较器并获得物理地址(如果我弄错了,请纠正我)。因此,如果页表是硬件的一部分,那么单个 MMU 如何与 32 位和 64 位操作系统一起工作。我的意思是,如果它被编程为获得 32 位虚拟地址,那么当它获得 64 位虚拟地址时它是如何工作的。

谢谢。

4

1 回答 1

2

简单:允许 32 位和 64 位进程共存的系统具有可以接受 32 位和 64 位地址的 MMU。这一点都不难。最简单的可能解决方案是将 32 个零位添加到 32 位地址。请记住,虚拟地址只对那个进程有意义,对硬件没有意义。

于 2015-07-22T18:44:42.820 回答