MMU 基本原理
内存管理单元 MMU 简介
内存管理单元(Memory Management Unit)简称 MMU,负责虚拟地址到物理地址的转换,并提供硬件机制的内存访问权限检查。在 MMU 开启之前,CPU 都是通过物理地址来访问内存;MMU 开启之后,CPU 都是通过虚拟地址来访问内存。如下图所示:
虚拟地址到物理地址的转换过程
虚拟地址转换为物理地址是通过 MMU 和页表(Page table)实现的。页表就是一段描述虚拟地址到物理地址转换关系及访问权限的内存区域,由一个个页表项组成。
SylixOS 采用的是二级页表映射,二级页表映射过程如下图所示:
- 一级页目录基址加一级页目录偏移得到存放二级页表基址的内存物理地址。
- 二级页表基址加二级页表偏移得到存放物理页基址的内存物理地址。
- 物理页基址加页内偏移得到最终需要访问的物理地址。