MMU 和 MPU 的区别


MMUMPU 是 CPU 使用的内存管理硬件。程序生成的所有逻辑地址的集合称为“逻辑地址空间”。与这些逻辑地址相对应的所有物理地址的集合称为“物理地址空间”。用户程序处理虚拟地址;它永远不会看到真实的物理地址。

阅读本文以了解更多关于 MMU 和 MPU 以及它们之间区别的信息。

什么是 MMU?

MMU(内存管理单元)用于虚拟内存和内存保护操作。虚拟地址到物理地址的运行时映射由 MMU 完成,MMU 是一种硬件设备。

MMU 使用以下机制将虚拟地址转换为物理地址。基址寄存器中的值会添加到用户进程生成的每个地址中,该地址在发送到内存时被视为偏移量。例如,如果基址寄存器值为 10000,则用户尝试使用地址位置 100 将被动态重新分配到位置 10100。

什么是 MPU?

MPU(内存保护单元)通常是 CPU 的一部分,仅用于内存保护。它通常在低功耗处理器中实现,在这些处理器中不需要 MMU 功能(如虚拟内存管理),只需要内存保护。

MPU 主要用于简单的系统,因为它可以以较低的复杂性和成本提供所有必要的特性。

MMU 和 MPU 的区别

以下是 MMU 和 MPU 之间的重要区别:

关键

MMU

MPU

定义

MMU 代表内存管理单元。

MPU 代表内存保护单元。

主要操作

MMU 用于多种与内存相关的操作,例如虚拟内存、虚拟地址到物理地址的转换以及内存保护。

MPU 仅用于内存保护。

功能

MMU 也可以执行 MPU 的功能。

MPU 不能用于执行 MMU 的功能。

用法

运行高端操作系统(如 Windows、Linux 和 Android)的处理器使用 MMU。此类处理器称为应用程序处理器。

运行 RTOS 操作(如 ThreadX)的处理器使用 MPU。此类处理器称为基带处理器,在运行 3G/4G 协议的地方很有用。

银行切换

MMU 能够进行银行切换。

MPU 无法执行银行切换。

缓存控制

MMU 可以执行缓存控制操作。

MPU 无法执行缓存控制。

先进性

MMU 是更先进的硬件。

MPU 是相对不太先进的硬件。

开销

MMU 使用更多开销。

MPU 使用更少的开销。

结论

您应该注意到的最显着的区别是,MMU 用于多种与内存相关的操作,例如虚拟内存、虚拟地址到物理地址的转换以及内存保护;而 MPU 仅用于内存保护。

更新于: 2023 年 2 月 21 日

2K+ 阅读量

开启您的 职业生涯

通过完成课程获得认证

开始学习
广告