1. L1 ITLB/DTLB 与 L2 sTLB(unified TLB)层次关系?
L1 ITLB/DTLB 与 L2 sTLB(unified TLB)的层次关系是什么?
- 分离的 L1 ITLB/DTLB
- 统一的 L2 sTLB
- 多级缓存与 miss 处理
现代 CPU 的 TLB 分层次组织:L1 通常分为指令 TLB(ITLB)和数据 TLB(DTLB),分别缓存指令与数据的地址转换,分离以避免指令/数据访问互相干扰;L2 是统一的 TLB(sTLB,secondary unified TLB),同时缓存指令和数据转换,容量更大。L1 ITLB/DTLB miss 时,处理器先查 L2 sTLB(若命中则填充 L1,miss 才走 page table walk)。层次关系类似 cache:L1 快但小(如 64-1024 项),L2 慢但大(如 1024-4096 项),多级 TLB 提升命中率并缩短 page walk。
TLB 也采用多级 + 分离(i/d)的层次设计,与 cache 同构:L1 分离快,L2 统一大,miss 逐级处理,最终才触发 page table walk。这是性能与规模的平衡。