和其他Nehalem都一样,Nehalem-EX的生产工艺也是45nm CMOS工艺,采用了金属栅极High-K电介质晶体管以及9层铜互联技术,总晶体管数量则为2.3 Billion——23亿,是4核心Bloomfield的三倍以上。此外,虽然晶体管数量剧增,Nehalem-EX的面积却只提升了约2.4倍左右。除了核心数量是Bloomfield的两倍之外,额外加入的晶体管被用在了更多数量的L3上,QPI/IMC以及中央系统逻辑(Hub和Router等)的变化不算太大。
除了核心数量及配套L3、QPI等的增加之外,和Nehalem相比,Nehalem-EX特别应用了一个环状互联架构,它是用来干什么的呢?它用来连接多个Core/L3缓存块,以及连接到内存控制器和QPI总线。如下图所示,通常的Nehalem使用的是Uncore总线,它是一种类似交叉开关的结构:
Nehalem Microarchitecture,经笔者整理,右上角的Arbiter to Uncore就是连接到处理器中央的交叉开关
在核心数量逐渐提升的情况下,处理器对存储的压力也越来越大,特别是带超线程的Nehalem-EX,将会有16个硬件线程同时存取共享的L3,以及内存。使用通常的交叉开关总线的话,不同硬件线程存取操作的冲突会很明显,这会增加存取的延迟,影响系统的工作效率(这也是Xeon版Nehalem的Uncore工作频率要比桌面版Core i7要高的缘故),并且在核心数量越来越多的情况下,使用交叉开关将会变得非常昂贵(开关的数量以平方数增长)。增加通常的Uncore工作频率对此有一定效果,不过Uncore频率也不是可以无限制地提升的,在架构上解决这个问题是最好的是:使用其他的总线架构。
新的总线架构同时改变了Nehalem-EX的L3架构,在传统Nehalem上,CPU核心通过交叉开关来连接L3,但是Nehalem-EX上,这个交叉开关变成了一个环状总线,而同时L3缓存块和CPU核心的连接也更加紧密,通过bypass结构,可以实现0延迟的访问L3(当然,是指Core - L3无延迟)。Nehalem-EX的环状总线由十个节点(Ring Stop)组成,其中8个是连接到Core/L3 Cache的节点,叫做Cbox,还有两个是Sbox,用来连接内存控制器和外部的QPI总线,这个环状总线是双向的,运行在Uncore频率,数据从一个节点传输到邻近节点只需要一个Uncore时钟周期,总带宽可以达到1.2TB(0.8TB/s数据信号,0.4TB/s控制信号)。环状总线的优点是到不同区域具有预知的、恒定的延迟,到达最远的节点只需要5个时钟周期。
在设计上,Nehalem-EX晶圆基本上是有水平和垂直两条对称轴的,这样可以降低布线的复杂程度。