【问题标题】:Can a specific MMU work with 32 and 64 bit virtual addresses?特定的 MMU 可以使用 32 位和 64 位虚拟地址吗?
【发布时间】:2015-10-12 19:14:43
【问题描述】:

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

谢谢。

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-04-05
      • 2011-09-11
      • 1970-01-01
      • 2012-01-09
      • 2012-02-10
      • 2016-10-29
      • 2016-08-09
      • 1970-01-01
      相关资源
      最近更新 更多