相关疑难解决方法(0)

Ice Lake 的 48KiB L1 数据缓存的索引是如何工作的?

英特尔手动优化(2019 年 9 月修订版)显示了用于 Ice Lake 微架构的 48 KiB 8 路关联 L1 数据缓存。

Ice Lake 的 48KiB L1 数据缓存及其 8 路关联性 1软件可见的延迟/带宽会因访问模式和其他因素而异。

这让我感到困惑,因为:

  • 有 96 组(48 KiB / 64 / 8),不是二的幂。
  • 集合的索引位和字节偏移的索引位相加超过 12 位,这使得4KiB 页面无法使用便宜的 PIPT-as-VIPT-trick

总而言之,缓存的处理成本似乎更高,但延迟仅略有增加(如果确实如此,则取决于英特尔对该数字的确切含义)。

有一点创造力,我仍然可以想象一种快速索引 96 组的方法,但第二点对我来说似乎是一个重要的突破性变化。

我错过了什么?

x86 intel cpu-architecture cpu-cache micro-architecture

7
推荐指数
2
解决办法
234
查看次数