MMU 和 MPU的区别

MPU(Memory Protection Unit,内存保护单元)和 MMU(Memory Management Unit,内存管理单元)是现代计算机系统中用于内存管理的两种硬件设备。尽管它们在基本功能上有相似之处,但在复杂性和功能上存在显著差异。

MMU 的功能和特点

MMU 是一种更为先进的内存管理设备,主要用于虚拟内存和内存保护操作。它能够将虚拟地址转换为物理地址,并提供缓存控制、总线仲裁和银行切换等高级功能。这些特性使得 MMU 适用于运行高端操作系统(如 Windows、Linux 和 Android)的处理器,这些处理器通常被称为应用处理器。

MMU 的主要功能包括:

  • 虚拟内存管理:将虚拟地址映射到物理地址。
  • 内存保护:防止未经授权的内存访问。
  • 缓存控制:管理缓存的使用。
  • 总线仲裁:协调多个设备对总线的访问。
  • Bank切换:在不同的内存银行之间切换。
Tip

Bank理解为一组独立的存储单元。在计算机系统中,为了管理或扩展内存,硬件设计者会将物理内存划分为多个独立的区域(Bank)。这些区域可以有自己的特点和访问方式。

Tip

Bank切换是一种用于扩展可用内存或管理内存资源的技术。当CPU的地址总线宽度有限,无法直接访问大容量内存时,或者出于低功耗等考虑,可以通过切换不同的Bank来让CPU访问到不同的内存区域。

MPU 的功能和特点

MPU 通常是 CPU 的一部分,主要用于内存保护。与 MMU 不同,MPU 不支持虚拟内存管理和其他高级功能,因此它的复杂性和成本较低。MPU 适用于简单的系统,特别是在低功耗处理器中。

MPU 的主要功能包括:

  • 内存保护:防止未经授权的内存访问。
  • 低复杂性和低成本:适用于不需要虚拟内存管理的简单系统。

对比

关键MMUMPU
定义MMU是指内存管理单元。MPU指的是内存保护单元。
主要操作MMU用于多个与内存相关的操作,如虚拟内存、虚拟地址到物理地址的转换和内存保护。MPU只用于内存保护。
功能MMU也可以执行MPU的功能。MPU不能被用来执行MMU的功能。
使用方法运行高端操作系统如Windows、Linux和Android的处理器使用MMU。这样的处理器被称为应用处理器。运行RTOS操作的处理器如ThreadX使用MPU。这样的处理器被称为基带处理器,在运行3G/4G协议的地方很有用。
bank切换MMU能够进行Bank切换。MPU不能进行Bank切换。
缓存控制MMU可以执行高速缓存控制操作。MPU不能执行高速缓存控制。
先进性MMU是更先进的硬件。MPU是相对不太先进的硬件。
开销MMU使用更多的开销。MPU使用的开销较少。