什么是MMU
MMU是Memory management unit缩写,中文名是内存管理单元,它是中央处理器(CPU)中用来管理虚拟存储器、物理存储器的控制线路,同时也负责虚拟地址映射为物理地址,以及提供硬件机制的内存访问授权。
MMU的工作机制
2.1 宏观上的MMU
说到MMU工作机制,先上一张大图:
通过这张图,可以在一个宏观的角度看清,MMU核心功能就是将VA转化为PA
2.2 物理地址的表示
说到物理地址表示,请看如下图:
非常容易理解:物理地址就是页地址加页内偏移,也就是说一个虚拟地址,低12位是页的偏移,当我们定位到物理页的时候,将物理页地址和虚拟地址的低12位组合起来,就是我们最后转化的物理地址。
2.3 三级页表
先上张图:
上图就是三级页表映射的宏观图,每级页表里面的表项都可能是PTE或者PTD。
那里面涉及两个概念: Page Table Entry和 Page Table Descriptors
2.3.1 Page Table Descriptors
PTD是页表描述符,当索引到页表描述符时,也就是没有找到页入口,需要通过页表描述符找到下一级页表