LLC 分片与复杂地址函数
更新时间:2026-10-01。教科书里 LLC 是单一大缓存,现代芯片实际是分布在核间的多片结构。
本文要回答的问题
- LLC slice 怎么分布、为什么用哈希映射?
- 这为什么让传统组索引/着色分析复杂化?
一、切片与互联
大容量 LLC 被拆成多个 slice 分别放在核旁,缩短线延迟、提带宽。地址到 slice 不是用简单高位,而常通过多地址位的复杂哈希,目的是把不同访问均匀打散,避免热点。
二、对分析的影响
因为映射函数复杂且未必公开,物理地址到具体 slice/组难以手工推算,传统页着色等技巧在这类几何上失效或需厂商信息;实践中更多依赖硬件计数器给出的未命中率、局部性指标。
三、常见坑
- 把 LLC 当单时钟单存储。
- 用简单组映射假设去推切片。
- 在哈希 LLC 上强用页着色。
小结
LLC 经哈希分散到核旁切片并经高速互联访问,提升带宽却让地址映射不透明,分析要以计数器为准。下一篇 缓存与 NUMA 局部性。
总结
现代 CPU 的 LLC 不是教科书里那个单一大缓存,而是切成多个分布在核旁的 slice、用包含大量地址位的复杂哈希把访问均匀打散,再经环形或网状互联访问——这样缩短了线延迟、提高了带宽、避免了热点;代价是物理地址到 slice/组的映射不透明,传统组索引推算和页着色技巧往往失效。面对哈希 LLC,手工推几何不如直接信硬件计数器——未命中率和局部性指标才是可靠的分析入口。