📜  MMU和MPU有什么区别?

📅  最后修改于: 2021-05-24 17:39:02             🧑  作者: Mango

从字面上讲,MMU是“内存管理单元”,而MPU是“内存保护单元”。这两种都是专用硬件,CPU使用它们来进行内存处理。 MMU用于许多功能,主要是虚拟内存(即,虚拟地址到物理地址的转换)和内存保护。但是MPU仅用于内存保护。从这个意义上讲,我们可以将MMU视为MPU的超集。

需要运行高端操作系统(例如Android,Linux,Windows)的处理器通常具有MMU,但是需要运行RTOS(例如ThreadX,Nucleus)的处理器通常具有MPU。让我们列举一些带有MMU和MPU的处理器的真实示例。通常,智能手机包含两个主处理器-一个运行运行Apps的高端操作系统(例如Android),另一个运行运行3G / 4G协议栈的基带RTOS(例如ThredX)。第一个称为Apps处理器,第二个称为基带处理器。 Apps处理器(例如ARM Cortex-A系列)具有MMU,而基带处理器(例如ARM Cortex-R系列)具有MPU。

可以快速地比喻MMU为“瑞士军刀”,MPU为“刀”!基本上,硬件中的MMU实施比MPU的实施复杂得多。这就是为什么许多不需要虚拟内存但需要内存保护的计算机系统(例如实时嵌入式系统)具有更简单的MPU而不是完整的MMU的原因。

如果您觉得以上有用,请做点赞/分享。另外,请留下您的评论以进一步澄清或获取信息。我们很乐意帮助和学习🙂