MMU的定义
MMU的是 Memory Management Unit 的缩写,即内存管理单元。MMU主要负责虚拟地址与物理地址的转换,以及域访问权限的控制。MPU(Micro Processor Unit,微处理器单元)才拥有MMU,而MCU(Micro Control Unit,微控制器单元)是没有MMU的。
MMU的作用
- 将虚拟地址翻译成为物理地址,再访问实际的物理地址。(为了内存地址隔离)
- 域访问权限的控制。
MMU的机制
PA代表物理地址,VA代表虚拟地址。
一级页表
本文所描述的一级页表以段映射为例,每段为1MB大小。0-4G的内存空间可分为4096个段。
虚拟地址
一级页表的VA(虚拟地址)结构如下(其中offset为每段的具体偏移):
页表基地址
TTB(translation table base)是保存着L1页表的基地址,是保存在CP15的C2中,结构如下: