服务器 频道

X86巅峰 Intel Nehalem-EX架构深入解析

  【IT168评测中心】按照Intel Tick-Tock战略,同一工艺和同一微架构的处理器系列会一年更新一次,不过Nehalem-EX是一个异类,它基于45nm工艺,以及Nehalem微架构,但却和Nehalem微架构发布隔了相当久的时间。最早出现的Nehalem架构处理器是桌面的Core i7,2008年8月发布,服务器版本Nehalem-EP则是在2009年3月底发布。

2008.08/2008.10,45nm Nehalem Core i7发布:
再攀性能之巅 Intel全新酷睿i7深度评测
2009.03,45nm Nehalem Xeon发布:
Intel Nehalem-EP处理器首发深度评测
2010.03,32nm Westmere Core i7发布:
"芯"酷睿性能巅峰 六核i7-980X首发评测
2010.03,32nm Westmere Xeon发布:
Intel 32nm Westmere-EP处理器首发评测

  今日(美国时间2010年3月30日,中国时间31日)发布的Nehalem-EX不仅仅比最早的Nehalem迟,也比32nm的Westmere要迟,这是因为Nehalem-EX是x86处理器上前所未有的产品,它不仅仅是首个8核心的X86处理器,具有和普通Nehalem很不相同的架构,还拥有X86上最强的RAS(Reliability, Availability, Serviceability:可靠性、可用性、稳定性)特性。实际上,它是X86处理器在可靠性上的巅峰作品,理论上也应该是X86中最强的处理器。 


发布前叫做Nehalem-EX,代号Beckton


发布后就要叫做Xeon 7500系列了,不过,实际上,Nehalem-EX还包含了一个6500系列

  本来Nehalem-EX的NDA也是30号过期的,这样和AMD的Magny Cours倒是同期登场,不过由于时区不同的缘故……本文要今天才能现身。不过这样也好,笔者不用赶着同一天发这么多东西。下面我们就来深入解析Nehalem-EX的独特结构。关于Nehalem-EX,我们之前也已经做过了相当多的内容。

透视八核心至强 Nehalem-EX处理器解析

8路CPU128线程 Nehalem-EX处理器再曝光

09秋季IDF:8核心Nehalem-EX平台展示

ISSCC 2010:Nehalem-EX的环状总线架构

 
Nehalem Microarchitecture

  既然顶着Nehalem的大名,Nehalem-EX自然也是基于Nehalem微架构。就设计上来说,Nehalem设计时就考虑到了这种情况,它采用了一种“模块化”的设计方案,,系统分成了Core和Uncore两个大模块,每个模块再分成多个小的模块,这样通过不同的组合,就可以衍生出不同核心数量、不同L3缓存等处理器产品。实际上,Nehalem-EX架构和通常Nehalem相比最大的不同就在Uncore架构上。


Nehalem-EX具有很不同的Uncore架构

  我们首先要清楚企业级Nehalem处理器的后缀:计有Nehalem-EN、Nehalem-EP、Nehalem-EX。其中,EN是指Entry(入门)、EP是指Efficient Performance(效率、性能)、EX是Expandable(可扩展)。Nehalem-EN就是常见的单路Xeon 3400系列,Nehalem-EP则是双路Xeon 5500系列,而Nehalem-EX就是多路Xeon 7500系列了。Nehalem-EX就相当于之前的Xeon MP系列,它可以组建四路或者四路以上的多路处理器系统,虽然Nehalem-EX也有面向双路的产品:Xeon 6500系列。

 
Nehalem-EX晶圆图

  总结一下,Nehalem-EX具有以下特点:
原生45nm 8核心16线程Nehalem微架构处理器
24MB共享L3缓存(每核心3MB,Nehalem-EP/Westmere-EP是每核心2MB)
23亿晶体管(六核Westmere-EP是11.7亿)
两个内存控制器,支持最多4个内存通道共16个DIMM(Nehalem-EP/Westmere-EP是3个内存通道共9个DIMM)
四路系统支持64个DIMM,内存容量达1TB(Nehalem-EP/Westmere-EP内存上限是144GB/288GB)
4个6.4GT/s QPI总线(Nehalem-EP/Westmere-EP是两个QPI)
扩展性可以从2路到256路系统(Nehalem-EP/Westmere-EP最多双路)
TDP和普通处理器一致:95W、105W、130W
高级RAS特性(Nehalem-EP/Westmere-EP只拥有基本的RAS特性)

  接下来我们就来看看Nehalem-EX的内部架构。

  我们已经知道,Nehalem-EX的Uncore架构处处都透露着不同,这首先要从L3缓存以及与核心 之间的互联总线说起,看过的朋友可能知道Nehalem-EX使用了独特的环形总线,不过现在我们可以看到更多的细节:

   和普通的Nehalem不同,Nehalem-EX的L3缓存容量达到了24MB,每个核心可以分到3MB,比Nehalem-EP/Westmere-EP的2MB要更大。大容量缓存在大型系统下是相当有必要的。此外,Nehalem-EX的L3缓存真的是分成了8个3MB的Slice(块),每一个L3块在每一个时钟周期可以同时进行4个存取操作,这样Nehalem-EX在同一个时钟周期就可以同时进行32个L3缓存操作,并且经过哈希计算,可以将操作分散到多个L3 Slice上,避免了热区效应(hot-spot)。通常的处理器中,共享的LLC缓存只会有一个端口,同时只能进行数个操作。


Nehalem-EX:Ring Interconnet

  多个核心/L3块之间的互联通过一个环形总线来完成,而通常的Nehalem处理器则是通过传统的Crossbar来进行,在Intel 32nm Westmere-EP处理器首发评测中我们对Westmere-EP进行的测试结果表现, 六核Westmere-EP比四核Nehalem-EP的L3缓存内存潜伏期有所上升,内存带宽也下降了,这表明了传统架构在核心数量变多、访问冲突增加之后的效应。要想达到8个或者更多的核心数量,最好是:使用其他的总线架构,就像Nehalem-EX这样。

 

  Nehalem-EX的环形总线包含了两个方向相反的环,包含了10个站(8个Core/L3站,两个外部IO站),相邻站之间通信只需要一个时钟周期,每个方向具有32Bytes(256bit)的带宽,运行频率为Uncore频率,可以提供很高的总带宽。在起步阶段,它可以提供200GB/s以上的带宽,平均延迟约21ns

  在环形总线上,除去8个Core/L3缓存站之外,剩下的两个站就身负对外部进行IO的重大任务,名字上,它们叫做QPI Caching agent,除了负责连接外部的QPI总线之外,它们也负责连接系统的内存控制器:


QPI Caching agent,每个使用QPI的处理器都有

  QPI Cachingagent——CA0/CA1通过连接Router模块来连接外部QPI总线,通过连接HA0/HA1模块来连接内存控制器,它支持48(两个CA合96)个并发请求,并支持120项snoops buffer。

  QPI Home Agent ——HA0/HA1则负责沟通QPI和内存,它支持256个并发请求(每个Caching agent支持最多48个),并且支持来自8个其他处理器、4个其他IO/NC芯片的请求。两个HA一共能支持512个并发请求。QPI HA还使用了内存预取、预写入等优化延迟的技术。

  HA0/HA1分别连接到MC0/MC1,一共两个内存控制器,普通的Nehalem处理器只有一个内存控制器。 每个内存控制器提供一个SMI(Scalable Memory Interface),它们可以运行于Lockstep模式(普通的Nehalem处理器也提供了这种模式)以提升性能和增强RAS。

  SMI接口是一个串行界面,因此它需要连接到一个叫做Scalable Memory Buffer(SMB)的芯片才能联接到并行的DIMM上(久远的Pentium 4使用的RIMM则是串行的),这个芯片就和以前FBD内存上的AMB芯片一样,用来将串行界面转换为并行界面,只是在Nehalem-EX上,这个SMB可以集成在主板上而不是集成在内存条上,兼容性远非FBD架构可比。每个SMI接口支持两个SMB芯片。

  每个SMB芯片支持两个DDR3内存通道,每个内存通道最多支持2个DIMM,这样一个Nehalem-EX处理器就能提供最多8个内存通道、16个DIMM、256GB的内存容量支持。目前Nehalem-EX只支持DDR3 1066,Intel表示其未来可以支持到DDR3 1333规格。Nehalem-EX支持8个内存通道,这确实和通常想象的不太一样。很多人曾以为它支持的是4个内存通道。

  内存访问延迟约是108ns,距离一跳的远程内存访问延迟约是161ns,比使用DDR3 1333的Nehalem-EP/Westmere-EP要高,即使是Nehalem-EX以后达到DDR3 1333的规格下也应该是如此,这是使用了SMB的代价,作为交换,Nehalem-EX获得了增强的内存RAS特性,以及更高的带宽和更大的容量支持。


不过关于其最终的带宽还是个谜……如表所示,Nehalem-EX的内存带宽只是Westmere-EP的1.15倍么?

  作为Intel直联架构的一个重要部分,QPI总线在多路系统总扮演着非常重要的角色。在Nehalem-EX当中,4个QPI总线通过一个Router模块和内部环形总线以及内存控制器连接起来。实际上,CA0/CA1、HA0/HA1以及Router这三个模块都是可以直接互相通信的。

  Router模块面对着8个组件:两个CA、两个HA,以及四个QPI,它是一个8端口的Crossbar交叉总线架构,任意两个组件之间可以建立直接的通信通道。这个交叉总线为全流水线设计,宽度为64bit(缓存线宽度),可以提供约120GB/s的理论交换带宽,路由延迟约为18ns。Nehalem-EX的Router模块还支持两个无死锁虚拟通道,以支持复杂的无死锁拓扑结构。


四个QPI总线,每个3.2GHz、6.4GT/s,双向带宽25.6GB/s


可能和很多人想的不一样,QPI是一个并行总线而不是一个串行总线,和HT总线一样,它可以拆分为半宽度的链接;QPI可以分为四分之一链接,这一点比HT要特别一些


4路Nehalem-EX,可以连接两个IO Hub


8路Glueless架构的Nehalem-EX,任意处理器之间最多两跳距离

 
QPI通过Node Controller,还可以支持更多路的结构

   【IT168评测中心】在前面我们已经见识了Nehalem-EX独特的内部架构,以及巨大的内存支持能力以及多路系统组件能力。对于Nehalem-EX来说,还有一个非常重要的要素是它提供了相对更为先进的RAS(Reliability, Availability, Serviceability:可靠性、可用性、稳定性)特性,这一点我们将会稍后再进行撰文介绍。 


8核、环形内部互联总线、8通道DDR3、4 QPI总线


Nehalem-EX让X86处理器踏入Mission Critical应用领域

  总的来说,Nehalem-EX首次引入了环形内部互联架构,从而将Nehalem架构扩展到8核,并为以后扩展至更多核心做好了准备,凭着强化的内存支持和多路处理器联接支持,Nehalem-EX代表了目前X86架构的巅峰水平。基于Nehalem架构的优良表现,笔者相信Nehalem-EX的性能也将会非常强劲(如果笔者说Nehalem-EX比12核心的Magny-Cours更强,你们相信么?)。稍后笔者将会专门介绍让Nehalem-EX达到X86巅峰的另一个要素:RAS特性,敬请期待。


Nehalem-EX实物,很快我们就可以拿到……

0
相关文章