存储器管理单元(Memory Management Unit, MMU)
存储器管理单元(Memory Management Unit, MMU)是计算机系统中负责处理中央处理器(CPU)内存访问请求的硬件组件,是现代计算机体系结构中的重要部分。
主要功能
-
虚拟内存管理:
- 将虚拟地址转换为物理地址
- 实现内存抽象,使每个程序仿佛拥有独立的地址空间
-
内存保护:
- 防止用户进程访问内核内存区域
- 防止进程间相互干扰
-
地址转换:
- 通过页表(page table)或段表(segment table)实现地址映射
- 支持多级页表结构以节省内存
关键技术
-
分页机制:
- 将内存划分为固定大小的页(通常4KB)
- 使用页表记录虚拟页到物理页帧的映射
-
分段机制:
- 将内存划分为逻辑段(代码段、数据段等)
- 提供更自然的程序内存视图
-
TLB(转换后备缓冲区):
- 缓存最近使用的地址转换结果
- 显著减少地址转换时间
工作流程
- CPU发出虚拟地址访问请求
- MMU检查TLB中是否有缓存转换结果
- 若TLB未命中,则查询页表进行地址转换
- 检查访问权限是否合法
- 将物理地址发送到内存总线
现代MMU特性
- 支持多种页大小(如4KB、2MB、1GB)
- 提供ASID(地址空间标识符)支持快速上下文切换
- 支持大物理地址扩展(PAE)
- 硬件加速的页表遍历
MMU的存在使得操作系统能够实现虚拟内存、内存保护和高效的进程隔离,是现代多任务操作系统的基石之一。
Do not communicate by sharing memory; instead, share memory by communicating.