L2 对比 L3 CPU 缓存速度和性能

the*_*drs 6 cpu performance speed cpu-cache

在过去的几年里,看看 Intel CPU,已经从大尺寸 L2 缓存转向大尺寸 L3 缓存。这在很大程度上是由于 CPU 上有更多内核并希望在它们之间共享缓存(L3 优势)。

但是假设我有一个单线程应用程序,并且我想比较在共享相同时钟速度的 2 个不同 CPU 上运行它的速度:

  1. 具有 6MB L2缓存 @3.1Ghz的 CPU (例如,Core 2 Duo E8500)

  2. 具有 6MB L3缓存 @3.1Ghz的 CPU (例如,Core i5 2400)

不考虑涡轮增压效应和更快的 DDR 因素, 似乎第一个(较旧的)CPU 应该执行得更快(因为它更接近核心级别),不是吗?

另一个让我感兴趣的问题,在过去,在 CPU 中 L2 缓存的最初几天我似乎记得 L2 缓存是以 CPU 时钟速度的一半访问的,今天仍然如此吗?L3速度呢?

小智 5

这取决于。如果您的程序的内部循环适合两个 CPU 的 L1 缓存并且内存速度相同,您将看不到太大差异。

如果内循环适合 6MB L2 缓存,但不适合具有 6MB L3 缓存的 CPU 的 L2 缓存,那么程序在具有较大 L2 缓存的旧 CPU 上会更快。

但总的来说,程序的内循环部分很小。