再谈Nehalem架构的缓存设计

电脑 驱动中国 C chenxi 157次阅读
分享 Q
AI摘要
由 AI 生成 · 仅供参考

    Core i7处理器已经发布,不过有关新架构Nehalem的话题还在继续,特别是缓存问题:为什么再加入了三级缓存之后二级缓存变得这么小了? 权威硬件网站AnanTech.com主编兼创始人Anand Lal Shimpi同样有这样的疑惑,他甚至直接对Nehalem架构首席设计

    Core i7处理器已经发布,不过有关新架构Nehalem的话题还在继续,特别是缓存问题:为什么再加入了三级缓存之后二级缓存变得这么小了?

权威硬件网站AnanTech.com主编兼创始人Anand Lal Shimpi同样有这样的疑惑,他甚至直接对Nehalem架构首席设计师Ronak Singhal说:“我认为Nehalem的缓存容量设计是错误的。”迷茫的Ronak Singhal还以为是在说8MB三级缓存。

再谈Nehalem架构的缓存设计

先来回顾一下从1998年至今Intel处理器每个核心二级缓存容量的发展历史:

再谈Nehalem架构的缓存设计

总的来说我们可以得到一个线性趋势,从Pentium III的256KB一直走到45nm Core 2 Duo/Quad的3MB,不过顺着直线走是看不到Core i7的,得垂直向下来到接近横轴的地方,因为Core i7每个核心只有256KB缓存,仿佛一夜之间一切又都回到了10年前。

不过如果再看看二级和三级缓存总容量的发展史,就不太一样了:

再谈Nehalem架构的缓存设计

从1998年到2004年,Intel处理器外部缓存一直很小,但从2005年开始就呈指数式增长了,因为那一年有了双核心,然后是四核心,最终飙升到了12MB,而拥有10MB总缓存的Core i7基本也是沿着这条曲线的。

事实上,正是从单核心向多核心的转变影响了缓存的设计,因为现在要考虑的是如何同时满足多个核心,而不是单独一个。在多核心的必然趋势下,Nehalem架构是按照四核心处理器来设计的,同时也有着很好的弹性(可扩展性),既能向上扩充做成八核心,也能向下精简做成双核心。

很多工程师认为,对现在的工作负载来说,Nehalem的二级缓存确实是太小了,不过增大二级缓存不仅仅是核心面积的问题,还有延迟。Nehalem二级缓存的延迟是10个周期,以后还可能会再增加1-2个,而对于每核心512KB的小容量二级缓存来说,访问周期延长20%基本上是无法接受的。

今后的二级缓存是否会一定扩容?这可没保证,而Intel的关注点可能会是提升三级缓存的速度。现在8MB三级缓存的访问周期是41个,还有一定的改进空间,比如做到30个是可能的。可惜Ronak Singhal在谈及这个问题的时候闪烁其词,没有说具体怎么说,只说了一句“微架构调整”。

8MB三级缓存看起来已经不少,但每个核心平均只能分到2MB,在Ronak Singhal看来还远远不够。预计下一代32nm工艺产品会在这方面进行增强,也正好符合上边的曲线图。

其实呢,不管微架构如何设计,实际性能表现才是最关键的。Nehalem相比于Penryn有着0-60%的全方位性能提升,这是有目共睹的,所以尽管二级缓存变得很小,也没什么可抱怨的了。

版权声明:本文由驱动中国整理发布,转载需注明出处与原文链接。如有疑问请联系 editor@qudong.com
本文价值 成为第一个评分的人
登录后为本文打分
网友评论0 条评论
正在回复 的评论取消
评论加载中…
🔐

登录后参与互动

评论、点赞均可赚积分
连续签到、邀请好友也有奖励 🎁

电脑端: 微信扫码登录 微信内: 一键登录
我要投稿有独家观点或行业线索?向驱动中国投稿,审核采用后署名发布并获积分奖励。 去投稿 ›

微信扫一扫

打开微信「扫一扫」,分享本文到朋友圈或好友