缓存包含属性 - 多级缓存

Unn*_*nni 3 caching cpu-cache

我无法理解多级缓存中缓存包含属性的概念。根据我的理解,如果我们有 2 级缓存,L1 和 L2,那么 L1 的内容必须是 L2 的子集。这意味着 L2 必须至少与 L1 一样大。此外,当 L1 中的一个块被修改时,我们必须在 L2 和内存两个地方进行更新。这些概念正确吗?

Amr*_*hna 6

一般来说,我们可以说添加更多级别的缓存就是在内存层次结构中添加更多级别的访问。它总是在访问时间和延迟之间进行权衡。缓存越大,我们可以存储的越多,但需要更多的时间来搜索。正如您所说,L2 缓存必须大于 L1 缓存。否则它没有达到相同的基本目的。

现在来看看 L1 是否是 L2 的子集。它并不总是必要的。有包含缓存层次结构和独占缓存层次结构。包括在内,正如您所说,最后一级是所有其他缓存的超集。

您可以查看此演示文稿以了解更多详细信息 PPT

现在更新不同的级别,是一个缓存一致性问题 & 级别的数量越大,头痛就越大。您可以在此处查看各种协议:缓存一致性