MMU和MPU有什么区别

MMU和MPU有什么区别

从字面上讲,MMU是“内存管理单元”,而MPU是“内存保护单元”。

这两个都是CPU用于内存处理的专用硬件。MMU用于许多功能,主要是虚拟内存。虚拟地址到物理地址的转换)和内存保护。但是微处理器只用于内存保护。从这个意义上说,我们可以把MMU看作是MPU的超集。

需要运行高端操作系统的处理器,如Android, Linux和Windows通常有MMU,但需要运行RTOS的处理器,如ThreadX和Nucleus通常有MPU。

让我们举几个现实世界中带有MMU和MPU的处理器的例子。通常情况下,智能手机包含两个主要处理器-一个运行高端OS(Android),其中应用程序运行和第二个运行基带RTOS (e.g。ThredX), 3G/4G协议栈正在运行。第一个叫做 应用处理器 而第二个叫做 基带处理器 。应用处理器(e.g。ARM Cortex-A系列具有MMU和基带处理器。ARM Cortex-R系列)具有微处理器。

一个简单的类比可以认为MMU是“瑞士军刀”,而MPU是“刀”!

基本上,MMU在硬件上的实现要比MPU复杂得多。这就是为什么许多不需要虚拟内存但需要内存保护的计算机系统(如实时嵌入式系统)有更简单的MPU,而不是完全的MMU。

让我们用表格的形式来看看它们的区别:

序号 MMU 微控制器
1. MMU代表“内存管理单元”。 MPU代表“内存保护单元”。
2. 它是用来处理和管理内存的。 用于保护内存
3. 它的好处是,它可以防止我们的设备从软件错误,可以引起任何事情,如页面错误 它在大多数计算机的低功耗处理器中实现。
4. 在内存中,表MMU被称为页表 它更新计算机处理器的指令提取和数据访问等事务。
5. 它的功能是执行应用程序内存管理。 它是用来防止进程访问内存,这不是分配给它,这有助于防止我们的计算机从某种错误。
6. 它是CPU中的一个硬件单元 它也是CPU中的一个硬件单元

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程