禁用 MMU 与启用一对一寻呼的 MMU

MMU disabled vs MMU enabled with one-to-one paging

我试图了解这两种操作模式之间的区别,(主要是在 arm 处理器中):

  1. MMU 已禁用。
  2. 启用MMU,但使用一对一分页,即虚拟地址与物理地址相同。

根据我的理解,在这两种情况下,内存都是作为平面内存访问的,一对一分页。

对吗?

谢谢。

当然,您可以将虚拟映射到物理,但是您喜欢一对一的映射,以使它们相等。与关闭 mmu 仍然存在差异,每次访问都必须通过 mmu 并进行查找和转换(即使一对一),这些 tables 本身也在 ram 中,这需要时间,有一点缓存可以帮助(TLB)但非常小。然后在 mmu 中还有其他设置,无论是否可缓存,保护可能需要在芯片内进行额外的查找,这可能需要也可能不需要额外的时钟周期。

所以纯粹从寻址的角度来看,确保整个地址的虚拟地址和物理地址可以相同space。 mmu table 中有一些位替换了物理地址中的一些位,您可以将它们设置为匹配部分或全部地址 space.