有人知道为什么在当今的大多数处理器中都有几层缓存吗?比如L1 L2和L3。为什么一个处理器不能使用一个大的L1缓存?
拥有多层缓存不会增加缓存协议的复杂性吗?
发布于 2012-03-11 00:41:56
下模尺寸。L1通常是片内的;没有空间容纳大的片内缓存。L2/3有自己的模具,可以更大,加工方式也不同。
还有速度;L1是在权衡最大速度的情况下构建的,而L2/3不必像以前那样大刀阔斧地加速。
也是多核的。现代多核处理器为每个核心提供了自己的L1以提高速度,但它们共享部分或全部其他缓存以实现一致性。
这就是说,PA-RISC处理器是用“让我们做一个大的L1缓存”的方法构建的。它们很贵。
发布于 2012-03-11 00:38:09
为什么一个处理器不能使用一个大的L1缓存?
处理器缓存越大,延迟越长。还有实际和成本方面的考虑,因为较大的缓存占用芯片上更多的物理空间。在达到一定的大小后,您会失去太多的缓存加速,因此不值得进一步增加缓存大小。因此,最终,大型缓存将变得不可取。
仍然需要大高速缓存的处理器设计可以通过具有多个高速缓存级别来进行权衡。您从小而快的缓存开始,在连续的未命中时逐渐回退到更大、更慢的缓存。
发布于 2018-05-06 20:55:49
B/c在当今的体系结构中,访问内存的CPU/核心不止一个。L3缓存是在所有CPU之间共享的缓存的缓存。这减少了需要通过内存总线的数据量,这通常是一个好主意。如果您愿意,您可以查看:https://imgur.com/gallery/aBKD0Fv,它显示了层是如何组织的,以及它们是如何随着时间的推移而演变的。
https://stackoverflow.com/questions/9648107
复制相似问题