[VMM]现代 CPU 中用于加速多级页表查找的Page‐Table Entry原理
现代 CPU 中用于加速多级页表查找的Page‐Table Entry原理 摘要:以下从背景、结构、查找流程、一致性与性能影响等方面,详细介绍现代 CPU 中用于加速多级页表查找的 Page-Walk Cache(也称 Walker Cache 或 Page‐Table Entry Cache)。1. 背景:为何需要 Page‐Walk Cache多级页表查找成本高以 x86-64 为例,4 级页表走完一次要依次访问 PML4、PDPT、PD、PT,每级都要一次内存读(若不命中 L1/L2/L3 缓存),最糟糕可能要 4 次 LLC Miss → DRAM 访问,延迟数百纳秒。TLB 只能缓存最终映射TLB(Translation Lookaside Buffer)存的是虚拟页→物理页的最终映射,一旦 TLB miss,仍需重新走页表。Page-Walk Cache 介于 TLB 与内存之间,缓存中间级页表项,减少每次 page-walk 的内存访问数。2. Page-Walk Cache 的总体结构独立或共享有的 CPU 为每级页表各设一个小缓存(L0 for PML4E, L1 for PDPTE, L2 for PDE, L3 for PTE),也有合并成一