为什么处理器缓存停留在 8Mb?

why processor cache stuck at 8Mb?

八年前我可以买Core 2 Duo processor with 6Mb cache.

今天我们可以买类似的东西i7 with 8Mb cache

为什么缓存增长这么慢?实现起来太难了,或者没有理由去做,或者缓存不同?

这确实是一个棘手的问题。您所说的 8 MB 是在某些高级 CPU 中发现的 L3 缓存量,例如 i7 和某些至强。

最佳缓存量是通过计算系统最大 RAM 量、物理内核数和 CPU 周期之间的计算得出的。 例如 this Xeon CPU 有 45 MB 的缓存,但可以处理 8 个线程和 1.5TB 的内存..

CPU的缓存由L1、L2、L3、L4多种类型组成(L3缓存也称为eDram, is a high bandwidth DRAM, first seen in video game consoles (like XBOX 360 and PlayStation 2) and dedicated to the internal GPU. The commercial name for the Intel Chips with internal GPU + eDRAM is Iris PRO. The Haswell microarchitecture was the first Intel microprocessor to propose this graphical enhanced design. This L4 is used as a Victim Cache)。

查看最近 i7 cpu from intel 之一的完整规格,以查看您可以在内部找到的缓存类型的示例。 但是 重要的不仅是缓存的数量 ,还有它的性质 。最新的 CPU 具有 3 级 (L3)、8 路内存类型(与过去的 2 路或 4 路相比),提供对 8 个虚拟核心的同步访问。 缓存离cpu越近,他越快。 每个物理内核使用 L1 缓存(速度越快,成本越高),L2 或多或少用于线程,L3 用于与主内存进行 DMA 通道(缓冲)通信。

缓存越多,得到的缓存越少'cache hit misses'。未命中(错误)的数量与 CPU 周期(以 Mhz 为单位的速度)和缓存量有关。

根据统计数据,在超过特定限制的情况下,增加高速缓存的数量会提供很少或没有性能改进。 因此 CPU 的成本增加非常小 。 缓存的数量必须符合性能改进和成本之间的比率。 同样的原因也解释了为什么您可以在高端 cpus 上找到更多 ram。

RAM 的速度也在随着时间的推移而提高,因此缓存的数量对于 CPU 性能已经不再那么重要了。

有关该主题的完整文章,我推荐 this very good page