Linux 内核实战课(内存篇):CPU 访问内存的过程
MMU
VPN/PFN/PT/PTE
MMU中的TLB和TTW
一级页表映射过程
为什么使用多级分页表
ARMv8分页管理
虚拟地址支持
页面支持
页表支持
Linux中页面查询过程的实现
在介绍页表查询之前,我们先看下一些相关概念,最后实践一把。
MMU
MMU是Memory Management Unit的缩写,翻译为内存管理Q单元。它是CPU配置的可选项,MMU主要负责虚拟地址与物理地址的转换,提供硬件机制的内存访问权限。现在CPU的应用中,基本上都会选择MMU。
我们通常把处理器能寻址的地址空间称为虚拟地址空间,对应的为物理地址空间。在没有使能分页机制的系统中,处理器会直接寻址物理地址,把物理地址发送给内存控制器中;而在分页机制的系统中,处理器直接寻址虚拟地址,这个地址不会直接发送给内存控制器,而是先发送给MMU的硬件单元。