特定MMU可以使用32位和64位虚拟地址吗?

时间:2015-07-22 18:26:31

标签: operating-system hardware virtual-memory mmu page-tables

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

感谢。

1 个答案:

答案 0 :(得分:2)

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