为什么我们需要内存管理单元?
内存管理单元的唯一任务似乎是将虚拟地址转换为物理地址。这不能用软件完成吗?为什么我们需要另一个硬件设备?
答案 0 :(得分:1)
MMU (Memory Management Unit)是大多数硬件平台上可用的硬件组件,可将虚拟地址转换为物理地址。这种翻译带来以下好处:
可以部分实现软件转换机制。例如,对于重定位,您可以查看gcc's fpic的实现。但是,软件机制无法提供内存保护(这反过来会影响系统安全性和可靠性)。
答案 1 :(得分:0)
CPU的MMU组件的原因是使逻辑到物理地址转换对执行进程透明。在软件中执行此操作需要停止处理进程的每个内存访问。另外,如果内存翻译是由软件完成的,那么你就会遇到鸡蛋和鸡蛋的问题,那些软件会进行内存翻译。