加载中...
MMU 是 CPU 中负责将虚拟地址转换为物理地址的硬件单元,是实现虚拟内存、内存保护和进程隔离的基础。它通过查询页表完成地址映射,并配合 TLB 加速转换、进行访问权限检查。

| 中文名 | 内存管理单元 |
| 英文名 | Memory Management Unit |
| 类型 | CPU 硬件单元 |
| 核心功能 | 虚拟地址转换与保护 |
| 依赖结构 | 页表、TLB |
内存管理单元(Memory Management Unit,MMU)是集成在 CPU 内部的硬件部件,负责将程序使用的虚拟地址转换为内存中的物理地址,同时进行访问权限检查。它是现代操作系统实现虚拟内存与进程隔离的硬件基石。
没有 MMU,程序只能直接操作物理地址,难以实现进程间的内存隔离与保护。有了 MMU,每个进程都拥有独立的虚拟地址空间,彼此互不干扰。操作系统为每个进程维护一套页表,MMU 依据页表把虚拟地址翻译成物理地址,越界或非法访问会触发缺页异常或保护错误。
MMU 是运行 Linux、Windows、macOS 等通用操作系统的前提。缺少 MMU 的微控制器只能运行 uClinux 或 FreeRTOS 等无 MMU 系统。虚拟化场景下,还引入了二级地址转换(如 Intel EPT、AMD NPT),由 MMU 同时完成客户机与宿主机两层地址映射。
问:MMU 和 TLB 是什么关系?答:TLB 是 MMU 内部的一个高速缓存,用来缓存最近的地址映射;MMU 是完成整体地址转换与保护的更大单元。
问:没有 MMU 就不能用虚拟内存吗?答:是的,虚拟内存依赖 MMU 的硬件地址转换能力,无 MMU 的芯片通常采用物理地址直接寻址或简单的内存保护单元(MPU)。

| 中文名 | 内存管理单元 |
| 英文名 | Memory Management Unit |
| 类型 | CPU 硬件单元 |
| 核心功能 | 虚拟地址转换与保护 |
| 依赖结构 | 页表、TLB |
登录 后参与讨论
暂无讨论,来发表第一条评论吧