为什么有多层缓存

  • 本文关键字:缓存 有多层 caching
  • 更新时间 :
  • 英文 :


有人知道为什么在当今大多数处理器中都有多层缓存吗。如同L1、L2和L3。为什么处理器不能使用一个大的一级缓存?

拥有多层缓存是否会增加缓存协议的复杂性?

模具尺寸。L1通常在模具上;die上没有空间放置大型缓存。L2/3有自己的模具,可以更大,处理方式也不同。

还有速度;L1是在权衡最大速度的基础上构建的,而L2/3则不必如此激进地加速。

还有多核。现代多核处理器为每个核提供了自己的L1以提高速度,但为了一致性,它们共享一些或所有其他缓存。

也就是说,PA-RISC处理器已经采用"让我们做一个大的L1缓存"方法构建。它们很贵。

为什么处理器不能使用一个大的一级缓存?

处理器缓存越大,延迟就越长。由于较大的缓存占用了芯片上更多的物理空间,因此还需要考虑实用性和成本。在达到一定的大小后,您将失去太多的缓存加速,从而不值得进一步增加缓存大小。因此,最终,大型缓存变得不可取。

仍然需要大缓存的处理器设计可以通过具有多个缓存级别来进行权衡。您从一个小而快的缓存开始,然后在连续未命中时逐渐恢复到更大、更慢的缓存。

B/c在当今的体系结构中,有多个CPU/内核访问内存。L3高速缓存是在所有CPU之间共享的高速缓存的高速缓存。这减少了需要通过内存总线的数据量,这通常是个好主意。如果您愿意,可以查看:https://i.stack.imgur.com/qz9Og.jpg它显示了层是如何组织的,以及它们是如何随着时间的推移而演变的。

最新更新