【问题标题】:Cache eviction from L1 cache on L2 eviction在 L2 逐出时从 L1 缓存中逐出缓存
【发布时间】:2013-01-20 06:43:12
【问题描述】:

我有一个关于内存系统遵循的政策的基本问题。

考虑具有私有 L1 和 L2 缓存的内核。在 L2 高速缓存之后,我们有一条运行相干流量的总线。现在,如果 address(X) 的缓存行从 L2 缓存中逐出,是否有必要从 L1 缓存中逐出该地址??

驱逐的原因可能是它有助于保持一致性协议的不变性[如果 l2 中的一行显示无效,此核心不包含此地址]。

【问题讨论】:

    标签: caching computer-architecture memory-size


    【解决方案1】:

    three different designs,都用过了。

    1. 独占:L1 缓存中的数据从不在 L2 缓存中。 L2 缓存中的数据从不在 L1 缓存中。

    2. 包含:L1 缓存中的数据也必须在 L2 缓存中。

    3. 两者都不是:L1 缓存中的数据可能在也可能不在 L2 缓存中。

    这些都有优点和缺点。包容性方案允许缓存一致性协议忽略 L1 缓存——如果数据不在 L2 缓存中,则它不在 L1 缓存中。但独占方案最有效地利用了宝贵的缓存。

    包容性设计正变得越来越流行,因为更快的内核间同步变得比拥有稍大的有效缓存大小更重要。

    【讨论】:

    • 我对行号有疑问。你能澄清一下stackoverflow.com/questions/14707803/…
    • 您能否提供一些关于此的进一步阅读:“包容性设计正变得越来越流行,因为更快的内核间同步变得比拥有稍大的有效缓存大小更重要”?
    猜你喜欢
    • 2015-06-29
    • 2020-05-19
    • 2011-04-11
    • 1970-01-01
    • 2019-09-17
    • 2017-09-24
    • 2010-11-09
    • 1970-01-01
    • 2021-11-27
    相关资源
    最近更新 更多