首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么会有多层缓存

为什么会有多层缓存
EN

Stack Overflow用户
提问于 2012-03-11 00:33:57
回答 3查看 3K关注 0票数 4

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

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

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-03-11 00:41:56

下模尺寸。L1通常是片内的;没有空间容纳大的片内缓存。L2/3有自己的模具,可以更大,加工方式也不同。

还有速度;L1是在权衡最大速度的情况下构建的,而L2/3不必像以前那样大刀阔斧地加速。

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

这就是说,PA-RISC处理器是用“让我们做一个大的L1缓存”的方法构建的。它们很贵。

票数 5
EN

Stack Overflow用户

发布于 2012-03-11 00:38:09

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

处理器缓存越大,延迟越长。还有实际和成本方面的考虑,因为较大的缓存占用芯片上更多的物理空间。在达到一定的大小后,您会失去太多的缓存加速,因此不值得进一步增加缓存大小。因此,最终,大型缓存将变得不可取。

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

票数 3
EN

Stack Overflow用户

发布于 2018-05-06 20:55:49

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9648107

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档