1. 虚拟地址到物理地址的转换,多级页表与 MMU 的 TLB 缓存如何配合?
虚拟地址到物理地址的转换如何完成?多级页表与 MMU 的 TLB 缓存如何协同?
- 多级页表结构
- MMU 与 page table walk
- TLB 缓存加速
虚拟地址到物理地址的转换由 MMU(内存管理单元)完成。多级页表把虚拟地址拆分为多个层级索引(如 x86-64 的 PML4/PDPT/PD/PT),MMU 逐级索引页表获得物理页框号(PFN),再与页内偏移组合得到物理地址。为避免每次都走完整的页表遍历(page table walk),MMU 内置 TLB(Translation Lookaside Buffer)缓存最近使用的虚拟到物理映射,命中时直接获得物理地址,无需访问内存页表。TLB miss 时才触发 page table walk 并填充 TLB。多级页表减少页表内存占用,TLB 缓存加速地址转换。
多级页表"省内存"(按需分配页表层级),TLB"省时间"(缓存转换结果)。MMU 通过 TLB 优先、页表兜底的策略平衡容量与速度。