Caching 为什么有多层缓存

Caching 为什么有多层缓存,caching,Caching,有人知道为什么在今天的大多数处理器中都有几层缓存吗。像L1、L2和L3。为什么处理器不能使用一个大的一级缓存 多层缓存不是增加了缓存协议的复杂性吗 为什么处理器不能使用一个大的一级缓存 处理器缓存越大,延迟越长。由于更大的缓存在芯片上占用更多的物理空间,因此也有实用性和成本方面的考虑。在达到一定的大小后,您会损失太多的缓存加速比,从而不值得进一步增加缓存大小。因此,最终,大型缓存变得不受欢迎 仍然需要大缓存的处理器设计可以通过具有多个缓存级别来进行权衡。您从一个小而快的缓存开始,然后在连续未命中

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

多层缓存不是增加了缓存协议的复杂性吗

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

处理器缓存越大,延迟越长。由于更大的缓存在芯片上占用更多的物理空间,因此也有实用性和成本方面的考虑。在达到一定的大小后,您会损失太多的缓存加速比,从而不值得进一步增加缓存大小。因此,最终,大型缓存变得不受欢迎


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

芯片大小。L1通常在模具上;骰子上没有大缓存的空间。L2/3有自己的模具,可以更大,加工方式也不同

还有速度;L1在最大速度方面进行了折衷,而L2/3则不必如此积极地加速

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


这就是说,PA-RISC处理器是采用“让我们制作一个大的一级缓存”的方法构建的。它们非常昂贵。

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

OT。但简单的答案是,我们不能用
L3
缓存的大小构建像
L1
缓存那样快的东西。或者换句话说,如果我们能够实现所有有利于我们的大小/速度权衡,我们根本不需要缓存——主内存将与
L1
缓存一样快。