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中的一个硬件单元 |