【问题标题】:What is VIctim cache in intel machine? Can we disable it?英特尔机器中的 Victim 缓存是什么?我们可以禁用它吗?
【发布时间】:2013-10-31 14:27:43
【问题描述】:

intel 机器中的 VIctim 缓存是什么?

我们可以禁用它吗?使用 gcc 或使用 bios 或在 linux 中?

【问题讨论】:

  • 为什么要禁用你不知道的东西?
  • @Eregrith,我在与朋友讨论驱逐政策时有一个疑问,而谷歌从 wiki 中找到它,但毫无疑问,所以我把它贴在这里进行其他描述。而已。谢谢。

标签: c linux caching intel cpu-cache


【解决方案1】:

来自wiki:-

牺牲缓存是用于保存从 CPU 缓存中驱逐的块的缓存 更换时。受害者缓存位于主缓存和它的缓存之间 重新填充路径,并且仅包含从主路径中逐出的块 缓存。受害者缓存通常是完全关联的,并且旨在 以减少冲突未命中的次数。许多常用的程序 不需要所有访问的关联映射。实际上, 只有一小部分程序的内存访问需要 高关联性。受害者缓存通过以下方式利用此属性 仅对这些访问提供高关联性。被介绍了 1990 年,来自 DEC 的 Norman Jouppi。[15]英特尔的水晶井[16] 其 Haswell 处理器的变体,配备英特尔的 Iris Pro GT3e 嵌入式图形和 128 MB eDRAM,引入了封装级 4 缓存,用作处理器 3 级的受害者缓存 缓存

【讨论】:

  • 只是来自维基百科的复制粘贴,我可能会将其标记为社区维基。
  • @MatteoItalia:- 是的,没错。做的一样!谢谢:)
  • @bholanath:- 是的,L1 是主缓存。 :)
  • 根据定义,从 L1 驱逐的数据临时存储在受害者缓存中,如果存在,那么也将数据从 L3 驱逐到受害者缓存,如英特尔的 Iris Pro GT3e 嵌入式图形。所以从二级缓存中驱逐的数据没有受害者缓存好处吗?
  • @bholanath:Broadwell 上的 eDRAM L4 仅缓存来自 L3 的驱逐。但是 L3 包括每个核心的小型 L2 和 L1 缓存。 L1 和 L2 没有受害者缓存。他们只是驱逐到下一个更高的级别。 (而且 L2 甚至可能不需要写回 L3,因为 L3 是包容性的。如果它被缓存在 L2 中,它已经被缓存在 L3 中,除非 L2 中的副本是脏的。)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-01-19
  • 1970-01-01
  • 2021-06-14
  • 2012-09-28
  • 2021-07-19
  • 1970-01-01
相关资源
最近更新 更多