【IT168评测中心】一年一度的IEEE(Institute of Electrical and Electronics Engineers,国际电气电子工程师学会)ISSCC(International Solid State Circuits Conference,国际固体电路会议)是全球半导体业界的盛会,被誉为集成电路行业的奥林匹克大会,在国际学术、产业界都受到极大关注,大会上的发布内容通常代表了未来半导体业界3~6年内的发展方向。按照惯例,每年的ISSCC都会在2月份举行。ISSCC 2009于2月8日在San Fransico旧金山召开。
ISSCC 2009
在每年的ISSCC上,商用处理器厂商们都会登台竞技,例如,在ISSCC 2008上,就有Sun UltraSPARC RK "Rock"(65nm 16核心64线程)、IBM/Sony 45nm Cell、Tilera TILE64(64核心SoC)、Renesas/Hitachi 8640 MIPS SoC等产品,此外,还有Intel的Tukwila(四核心Itanium)和Silverthorne(就是Atom),当然Tukwila不幸地再次延期,而Atom现在正如日中天,ISSCC 2009又有些什么呢?
集成了一个32nm Westmere处理器内核的Clarkdale
ISSCC 2009上,IBM、Sun等公司都选择了沉默,只有Intel高调发布了其Nehalem架构八核至强处理器"Nehalem-EX",同时还介绍了下一代32纳米处理器Westmere家族产品并再次提到了Tukwila(除此之外还有一些不太相关的论文发布)。在本文,我们关注、将要讨论的是Nehalem-EX,代号为"Beckton"。Nehalem架构和其远祖——Pentium Pro颇为相像,都是以企业级计算为目标而设计的处理器产品。关于Nehalem处理器的架构和以企业级计算为目标而设计的理念,在笔者的《2008年度评测报告:深入Nehalem微架构》里有着相关解释,下面我们就来看看ISSCC 2009上披露的Nehalem-EX处理器内容。
代号为Nehalem-EX的服务器处理器是x86架构中第一个具有8个核心的产品,Nehalem-EX拥有8个CPU核心,配置了24MB的L3。我们知道Intel的x86服务器产品线通常分为两个层次:2个Socket以及2个Socket以上,如Nehalem-EP就是用于2个及以下Socket,Nehalem-EX就是用于4个或4个以上Socket。台式机产品线的Nehalem处理器:Core i7(Bloomfield)在2008年11月发布,Nehalem-EP则预计在2009年3月中发布,Nehlam-EX若无意外则会是在下半年的晚些时候。由于竞争对手AMD的6核心Operton Istanbul就目前来看也就和Nehalem-EP打个不分上下,因此提前推出的“意外”应该很难发生。
Intel 45nm/32nm 处理器 |
在《2008年度评测报告:深入Nehalem微架构》中笔者没有提到的是,负责Nehalem架构开发工作的是Intel位于Oregen俄勒冈州的Hillsboro研发中心(八卦一下,我们IT168评测中心主管正在Intel Oregen访问中,Oregen除了是研发基地之外还是生产基地)。不过此次Nehalem-EX是由位于California加利福尼亚州Santa Clara研发中心推出的。一般认为该研发中心担任Itanium处理器的研发工作。顺便提一下,Pentium Pro、Pentium 4处理器都是出自Hillsboro研发中心,HTT超线程技术也是,因此Nehalem和Pentium Pro这么相像、Nehalem上搭载Pentium 4上的超线程改良版也就顺理成章、容易理解了——现在大家清楚为什么Pentium 4、Nehalem有超线程而Cornoe没有超线程了吧?
来源:ISSCC2009 A 45nm 8-Core Enterprise Xeon® Processor
上图是Intel在ISSCC09 "A 45nm 8-Core Enterprise Xeon® Processor"论文当中给出的Nehalem-EX核心分布图,基本构成是处理器核心分布在四个角落,所有核心共享的L3缓存则居于内核中部,在内核正中央则具有两个Hub集线器和一个Router路由器来负责所有核心的数据共享,管理内存、QPI以及L3缓存之间的数据流向。Nehalem-EX在核心正上面具有4个QPI——QuickPath Interconnect总线,核心正下方则是两个内存界面,总共有4个DDR3内存通道。下图是另一个形式的核心分布图,带有一些猜测性质:
众所周知,Nehalem-EX的生产工艺和其他Nehalem都一样,都是45nm CMOS工艺,采用了金属栅极High-K电介质晶体管以及9层铜互联技术,总晶体管数量则为2.3 Billion——23亿,是4核心Bloomfield的三倍以上,和Tukwila Itanium处理器一样,然而Tukwila不断跳票,因此Nehalem-EX有幸成为现在Intel晶体管数量最多的处理器。此外,虽然晶体管数量剧增,Nehalem-EX的面积却只提升了约2.4倍左右。除了核心数量是Bloomfield的两倍之外,额外加入的晶体管被用在了更多数量的L3上,QPI/IMC以及中央系统逻辑(Hub和Router)的变化不算太大。
AMD Shanghai VS Intel Nehalem/Bloomfield VS Intel Nehalem-EX/Beckton | |||||
| AMD Shanghai | Intel Nehalem | Intel Nehalem-EX | ||
工艺 | 45nm | 45nm | 45nm | ||
晶体管数量 | 7.05亿 | 7.31亿 | 23亿 | ||
核心数量 | 4核 | 4核 | 8核 | ||
核心尺寸(宽x高) | 13.7mm x 17.8mm | 13.0mm x 18.9mm | ~20.5mm x ~29.3mm | ||
核心面积 | 243mm2 | 246mm2 | ~600mm2 | ||
每核心面积(不包括L2) | ~15.3mm2 | ~24.4mm2 | ~24.4mm2 | ||
L2缓存 | 4 x 512KB | 4 x 256 KB | 8 x 256 KB | ||
L2缓存面积 | 4 x 3.75mm2 | 4 x 1.78mm2 | 8 x 1.78mm2 | ||
L3缓存 | 6MB | 8MB | 24MB | ||
L3缓存面积(不包括Tag) | 45mm2 | 45.6mm2 | ~136.8mm2 | ||
内存控制器 | 双通道DDR2 | 三通道DDR3 | 四通道DDR3 | ||
IO总线 | 3 x HT1.0 | 2 x QPI | 4 x QPI |
可想而知,基于Nehalem的模块化设计,Nehalem-EX和Nehalem原版的核心是极为相似的,布局上也很为相似,Nehalem-EX就像是两个Nehalem对称“粘”在一起,当然外围电路具有变化,新增加的系统逻辑也让8核Nehalem-EX并不像以前4核心Core 2那样简单的“粘结”。
翻转一下(为了避免失真,没有调整为90度垂直),是不是和下图的左边部分很像?
和Nehalem/Bloomfield相比,Nehalem-EX配备了4个QPI界面,Nehalem-EP则可能会有3个,桌面版本Nehalem则只有2个,更多的QPI总线可以更方便地连接更多数量的处理器,类似架构的AMD Operton在巨型计算机上应用广泛,也是因为HTT方便连接更多处理器的缘故。
2个QPI的Nehalem-EP(上)与4个QPI的Nehalem-EX(下)的拓扑结构
Intel的服务器处理器都具有巨大容量的缓存,Nehalem-EX的8个核心共享的24MB L3缓存分成了8片(Slice),每片有2048组以及24路集合关联,缓存线为64个字节。每个Slice分成48个子阵列,如下图这样:每一个访问只有整体阵列的3.125%加电,从而降低了耗电量。数据阵列使用0.3816um2的单元并使用DECTED(Inline double-error correction and triple-error-detection,双位纠错三位检测)ECC进行保护,具有可变的访问延迟;Tag索引阵列则使用了0.54um2的单元并使用SECDED(Inline single-error-correction and double-error detection,单位纠错双位检测)ECC进行保护,并具有固定的访问延迟。数据阵列具有行冗余和列冗余,Tag阵列则只有列冗余,这些冗余用于在一些阵列单元有缺陷或者损坏的时候担当备份,并通过一个EEPROM控制L3缓存冗余熔断器进行设置,有些类似于硬盘通过P-list和G-list保存扇区重定位到冗余扇区的列表一样。
对于这些冗余技术,Intel特别称为Core-and-cache Recovery核心及缓存恢复,出现小缺陷或者小问题的缓存和处理器核心电路都可以通过冗余线路继续工作,当大量缺陷存在或者大量问题出现的时候,对应的核心和缓存可以设置为关闭模式以降低耗电。彻底避免这些线路用电是不太可能的,在关闭模式下,SRAM的供电将从0.90V降低到0.36V,提供83%的漏电功耗节约,作为比较,睡眠电压是0.75V,节约为35%。大量缺陷在出厂之前会被检测到,由于宇宙射线或诸如此类的因素导致的损坏则可能在工作时被检测到,最后8核心的Nehalem-EX可能会变成一个6核心甚至4核心的Nehalem。如下图所示:
不仅仅是Nehalem-EX,所有的Nehalem都按时钟分为三个部分:核心、核外(L3和系统逻辑)和IO(QPI和IMC),这三个部分的频率通常互不相同。由于L3缓存属于核外部分,因此它的频率和核心频率通常是不同的,在以往,CPU内的高速缓存通常都是全速的,只有Pentium II的L2缓存是半速的(它和CPU内核不在同一个晶圆上,虽然在同一个CPU封装内),而K6之前的L2缓存都是放在主板上面的,速度极低。现在,Nehalem架构下,L3缓存的时钟频率也不再是全速,而是要较低一些,例如,Core i7 920的L3频率应该是2.133GHz。一些主板允许单独设置这些不同的频率以方便超频。在这里,笔者可以回答很多用户关心的UCLK频率(一些主板上具有的Uncore Clock设置选项)的问题:L3缓存频率和IMC集成内存控制器的频率是不同的,也就是UCLK和内存频率是不同的,不过它们具有一些内在关系。此外,由于UCLK关系的Uncore部分关系到了整个处理器的中枢部分:系统逻辑(包括中央路由器和集线器),因此它的频率设定可以很大地影响到整个处理器的运行效能。
时钟架构包括了16个PLL(Phase Locked Loop,相位锁定回路)和8个DLL(Delay Locked Loop,延迟锁定回路),PLL和DLL是广泛应用的用于时钟发生器的线路。8个处理器核心每一个都具有自己的PLL,因此它们可以运行在不同的频率,这也是Nehalem Turbo Mode的基础;所有的核外逻辑都使用同一个Un-core PLL和Filter PLL(产生133MHz的BCLK,用于为所有其他的PLL提供参考频率);QPI和IMC则使用了6个PLL和8个DLL。
Nehalem-EX处理器使用了4路电压输入:一路用于8个核心,一路用于核外(L3和系统逻辑),一路用于IO,最后一路则用于PLL和热感应器。
在《2008年度评测报告:深入Nehalem微架构》中,笔者简单地提到了为了降低功耗,Nehalem将以前使用的Domino线路更换为了Static CMOS线路:
为了降低能耗,Nehalem架构将以往应用的Domino线路更换为Static CMOS线路,速度有所降低,但是能源效率提升了
除了线路类型的变更之外,Nehalem的晶体管也进行了变化:
基本CMOS晶体管结构,channel沟道存在于图上的“通道”区域
这个图可不容易明白:沟道长度与漏电的关系,请自行理解(越低的延迟,越高的漏电电流)
在同一个线路中,使用的晶体管不同,耗电也是不同的,MOSFET元件按沟道长度可以分为长沟道Long Channel和短沟道Short Channel,短沟道具有较好的性能,不过其漏电流也相应更大(耗尽区宽度不足而与源极合并而导致大量漏电电流)。在IC设计当中通常需要根据不同的情况使用不同沟道长度的晶体管,对于Nehalem而言,非时序关键(non-timing-critical)的线路可以使用性能略差的长沟道MOSFET晶体管以减少亚阈值漏电(subthreshold leakage,MOSFET的subthreshold亚阈值特性被广泛利用在低电压线路上),实际上Intel用的是"longer-channel"——“更长沟道”的MOSFET。Nehalem核心部分的58%和核外部分(不包括缓存阵列)的85%都使用了更长沟道晶体管,最后,漏电功率被控制到总功耗的16%。代价是Nehalem的L1-D延迟由上一代的3时钟周期上升到4时钟周期。
Nehalem-EX处理器使用了使用了14层基板(5-4-5)的flip-chip(C4)翻转封装,基于树脂的基板厚度40mil(1密耳=千分之一英寸,40mil=1.016mm),最后加上一个金属散热盖组成了常见的LGA(land-grid-array,连接格阵)封装。封装尺寸为49.1mm x 56.4mm。
Nehalem服务器版本使用的Socket LS内插板,Socket LS又叫LGA1567
Nehalem-EP和Nehalem-EX使用的应该都是Socket LS插槽,又叫LGA1567,现在桌面系统使用的Core平台用的是LGA775,Core i7使用的是LGA1366。据说,LGA1567是实现Nehalem-EX和Itanium处理其插槽互换计划的一部分,Nehalem处理器使用的QPI总线背后隐藏着一连串悲情的故事:
代号Tigerton的Xeon MP(7300系列)处理器,Tigerton是Whitefield的后备方案
按照Intel的计划,首款Xeon MP(四核心Whitefield)就应该配合Itanium 2(四核心Tanglewood,也就是后来的Tukwila)一起引入CSI总线(Common System Interface,通用系统界面),实现“通用”的“处理器系统界面”的互相连接,但是,Tanglewood因重新设计,被推迟到2007年,还因为商标纠纷被迫改名为Tukwila,并之后继续推迟到2008年(现在2009年啦,估计能出来了吧)。而Intel在印度开发的Whitefield由于各式各样的问题被取消了,随后位置被Tigerton代替——Tigerton仍然使用了FSB总线,并且是两个Cornoe内核“粘”在一起。直到如今,Nehalem与Tukwila携QPI一齐登场。未来很可能会出现IA32/IA64混合架构的计算机。
2个QPI的Nehalem-EP(上)与4个QPI的Nehalem-EX(下)的拓扑结构
论文的后部分还讨论了QPI总线的电气性能,相信大部分人都不会感兴趣……笔者也差不多。
CTLE amp:Continuous-Time Linear-Equalization amp时间连续线性均衡放大器
R/C Bank:阻容体
QPI总线接收器使用的CTLE线路,用于校正线路传输特性
Reference-current compensation circuit:基准电流补偿电路
使用高精度的基准电流发生器来供给工作于电流模式下的模拟电路
【IT168评测中心】毫无疑问,Nehalem肯定是一个非常大的主题,关于系统架构、Intel战略、电路架构等都可以写出无数长篇大论来。在上次的长篇《2008年度评测报告:深入Nehalem微架构》之后,本片文章仍然具有不少新的内容——以后还会有。
8核心Nehalem-EX/Beckton采用45nm CMOS工艺,采用了金属栅极High-K电介质晶体管以及9层铜互联技术,总晶体管数量达到了23亿,在ISSCC中集成度创最高水平。Nehalem-EX大量使用Static CMOS线路,大面积使用长沟道晶体管元件,可以更彻底关闭不用线路降低漏电功耗,并集成PCU(Power Control Unit,电源控制单元)进行总体控制,因此热设计功耗仍然维持在4核心的130W的水平。Nehalem-EX搭载超线程技术,单个CPU上总共就提供了16个执行线程,在企业计算上将会提供可怕的计算能力,能耗比出色,在高性能计算、大型服务器领域可谓金光大道,前途无量。
不过,Nehalem-EX离正式发布还有一段距离,更早期的Nehalem-EP还没影呢,我们现在只能用桌面版本的Nehalem暂时解渴了: