【问题标题】:Cache split levels vs one whole cache?缓存拆分级别与整个缓存?
【发布时间】:2014-02-21 02:19:06
【问题描述】:

为什么缓存分为两级(L1&L2)而不是一个完整的缓存?是因为它节省时间吗?我觉得我错过了什么

【问题讨论】:

标签: caching cpu-architecture cpu-cache


【解决方案1】:

因为快速缓存很昂贵(L1 比 L2 快于 L3 ...)。通过将其分成层,您可以以相对较低的成本扩展缓存的大小。即使是“slow”缓存也会比从 RAM 内存(或者更糟的是 HDD)中检索数据快几个数量级。存在有效的启发式方法来猜测哪些数据应该在哪个级别的缓存中。更多信息可在此处的答案中找到:What is "cache-friendly" code?

以下关于 Herb Sutter talking about caching 的视频包含大量关于缓存的非常有用的信息(它在 12 分钟左右变得与这个问题特别相关)。

【讨论】:

    猜你喜欢
    • 2011-08-15
    • 2013-10-31
    • 1970-01-01
    • 1970-01-01
    • 2018-11-23
    • 2014-10-26
    • 1970-01-01
    • 1970-01-01
    • 2020-08-27
    相关资源
    最近更新 更多