为什么缓存分为两个级别(L1和L2)而不是一个整体缓存?是因为它节省了时间吗?我觉得我错过了什么
答案 0 :(得分:0)
因为快速缓存很昂贵(L1比L2快于L3 ......)。通过在图层中将其拆分,您可以以相对较低的成本扩展缓存的大小。甚至“慢”缓存也比从RAM内存(或更糟糕的是HDD)中检索数据快几个数量级。存在高效的启发式方法来猜测哪些数据应该在哪个级别的缓存中。此处的答案中提供了更多信息:What is "cache-friendly" code?
以下关于Herb Sutter talking about caching的视频包含了大量有关缓存的非常有用的信息(它在12分钟左右与此问题特别相关)。