扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
2008年11月17日,英特尔新一代处理器架构随着Core i7的发布而正式走向前台。这个全新架构的代号就是Nehalem,Core i7只是这个家族的先行者,代号Bloomfield。在新的一年中,我们将会看到Nehalem新军不断涌现,它们将覆盖上到高端服务器,下到移动电脑的广阔领域。而对于服务器市场,2009年3月即将上市的,代号为Nehalem-EP的Xeon 5500系列处理器无疑是令人期待的。
其实,进入2008年以来,有关于Nehalem的介绍就有很多了,到Core i7发布时,业界对其架构的变化已经了如直掌,然而Nehalem-EP相对于Bloomfield仍然有一些细节的不同,另外,相对于上一代45nm的Xeon 5400(代号Harpertown),还有不少人不太清楚其具体的区别。在辞旧迎新之际,我们在此做一梳理,希望能对大家有所帮助。
英特尔的TICK-TOCK战略
在介绍Nehalem-EP之前,我们有必要回顾一下英特尔在处理器方面的发展策略,这非常有助于我们掌握英特尔的CPU发展脉搏,并对其产品的交接换代有一个清晰的认识。简而言之,英特尔的CPU发展战略就是TICK-TOCK。
有人可能不太明白TICK-TOCK的意思,在英特尔的解释中,如果一座钟代表时间的发展与时代的进步,那么钟摆就为我们呈现出了一个时间的节奏,你可以把TICK-TOCK想像成钟摆左一下右一下的“嘀哒”声,那么对于英特尔的CPU发展来说,每一个声音都代表了相应层次上的进步。
英特尔认为对于处理器最重要的是其内部的架构,这个架构的好坏直接关系到了处理器的交通,其次就是生产工艺,它关系到了处理器的成本与能耗,并将为下一代处理器架构提供新的研发基础。所以英特尔TICK-TOCK战略与架构/生产工艺相挂钩,一年一年的交替进行,从而推动处理器的整体发展。
英特尔的TICK-TOCK战略示意图,你可以简单的理解为TICK年为生产工艺进步年,TOCK年为处理器架构革新年,而一个生产工艺将会跨越两代处理器架构,而每一个处理器架构将会跨越两代生产工艺
以这个发展战略的视角再去看Nehalem,就可以知道它是TOCK产物,为今后两年的英特尔处理器树立了发展方向。在2009年3月,Nehalem-EP就将闪亮登场,而在这一年中,延用Nehalem架构,但采用下一代32nm生产工艺的Westmere将会发布,2010年年底采用新一代处理架构的Sandy Bridge将成为Nehalem的接班人。
下面我们就简要回顾一下Nehalem-EP的新亮点,由于以前已经有很多文章介绍了Nehalem,我们在此只是把相关的重点变化再过一遍。
Nehalem-EP新亮点:High-K 45nm工艺 为日后打好基础
High-K就是高介电材料的简称,在半导体工艺不断进步中,伴之而来的就是晶体管越来越小,但个体的效能如何保证则越来越成问题,因此有必要采用新的高介电材料来制作晶体管中的栅级介电薄膜,以保证更好的电气性能,并为未来的晶体管密度扩展打下良好基础。
传统的65和45nm工艺仍然基于传统的硅材料制作晶体管的栅级,用二氧化硅做栅级的绝缘材料,当制程进一步提升时,漏电控制与互间干扰的问题将会越来越大,从而影响整体效能的进一步提升
英特尔的High-K 45nm工艺采用全新的金属栅级与铪基绝缘体薄膜
作为英特尔的第二代45nm工艺产品,Nehalem就采用了新的High-K材料,它不仅让CPU内部的电气性能更为优秀,也保证了未来发展的潜力,这与Nehalem架构所强调的模块化发展思路正好相符。未来英特尔可以更灵活的调整CPU内的晶体管数量,并把它们用在更需要的地方,比如增加大三级缓存,比如增加新的UnCore功能模块等等。
Nehalem-EP新亮点:QPI与IMC让对手的优势消失
从架构上讲,Nehalem-EP相对于Core i7最大的变化就是多了一条QPI总线。
Core i7(上)与Nehalem-EP的内部架构图,从中可以看出来,两者最大的变化是后者多了一条QPI总线,用于和另一颗Nehalem-EP互联,而这也就意味着,Nehalem-EP仅面向双路服务器市场
QPI(Quick Path Interconnect)点对点总线应该算是Nehalem架构相对于上一代“酷睿”架构的两个最主要变化之一,另一个就是集成了DDR3内存控制器(IMC,Integrated Memory Controller),而这两点也是AMD长期以来的骄傲,但从Nehalem时代起,AMD则要开始在这两方面追赶英特尔了(笔者将另外撰文进行分析探讨)。
QPI使CPU之间的对话无需经过传统的北桥(Nehalem架构下的北桥已经演化成为I/O控制器),这种点对点的方式将非常有利于多路服务器主板的设计从而有效降低成本。而且此次英特尔一出手,即把AMD的HyperTransport(HT)总线落在了后面,传输率提升至了6.4GTs/s,远高于现在的HT 3.0(5.2GTs/s)传输率,而且位宽定了在34bit双向(每向17bit,16bit传输数据,1bit传输CRC校验数据),也明显高于AMD Opteron现在所使用的16bit双向(每向8bit位宽)HT总线。
这个图很明白的告诉我们Nehalem-EP在CPU互联及I/O带宽、内存控制方面的特点,它已经把竞争对手甩在了后面
QPI的新颖之处在于CRC数据由专用通道传输,从而可以较传统的串行总线占用更少的传输周期,而且CRC等级更高
Nehalem-EP的另一个强项就是三通道DDR3-1333内存,可以为CPU提供32GB/s的带宽,这也是一个创纪录的数值,远高于目前所采用4通道FB-DIMM(与此相关的分析请见本人早前的专文《英特尔用Nehalem为FB-DIMM送行》)。而DDR3在提供更高带宽的同时,由于工作电压比DDR2进一步降低了0.3V,因此在节能方面也将有更好的表现。相较之下,它将让仍在使用最高800MHz传输率和1.8V工作电压的DDR2内存的对手,明显感受到强大的压力。
Nehalem-EP新亮点:SMT让线程处理数量翻番
经历过Pentium4时代的人应该还记得超线程技术(HT,Hyper-Threading),由于后来英特尔采用了移动处理器开发团队的Pentium M设计而诞生了酷睿,但这个Pentium M并不具备HT,所以我们可以看到在酷睿的整个产品线中,都没有HT的身影。而此次的Nehalem在设计之初就将HT考虑在内,毕竟Pentium4的教训并不是HT而是其超长的流水线架构,HT仍然有其可取之处。不过,此次HT的回归,名字变成了并发多线程(SMT,Simultaneous Multi-Threading)。
上图为传统的酷睿架构,每个内核只处理一个线程,而下图则是Nehalem的SMT工作示意图,可以看出它可以让每个内核在同一时间处理两个线程
与HT一样,SMT技术并不是增加完整的处理单元,而是最大限度利用了现有的内核资源,所以不能像增加物理内核那样大幅度提升系统性能。但根据英特尔的测试结果,它至少可以提升10%的系统性能,最多可达30%。同时,SMT并不需要CPU在架构上做什么改动,且不用大规模增加晶体管数量,那么对于Nehalem设计师而言,让HT回归何乐而不为呢?
SMT的加入,让4核的Nehalem-EP在系统里看起来是8核的,但其实这是指线程,所以在英特尔的一些介绍中,可以看到4C/8T的描述,C即代表核(Core),T即代表线程(Threading)。
Nehalem-EP新亮点:三级包容式缓存减少CPU等待在上一代面向双路服务器的45nm处理器Harpertown(Xeon 5400)中并没有三级缓存,但这次Nehalem-EP加上了,而且还是全包容式,这样做的好处在于它将加速缓存的查询效率,尤其是在双路系统中,节省CPU的轮询时间将非常有必要。
传统的共享式3级缓存,其内部存储的数据是独占的,所谓独占,是指全新的数据,并不存在于二级缓存中,当要进行数据查询时,CPU将先查找三级缓存(也就是最后一级缓存),如果没有所需的数据,还要再依次查找各处理内核的二级缓存,如果各内核的二级缓存没有目标数据,CPU才开始访问内存,这里外里耗费了5个处理周期
包容式三级缓存的“包容”是指CPU中每个处理内核的二级缓存数据都会在三级缓存中建立一个副本,如果进行数据查询,只需查找三级缓存即可,如果没有,则可以肯定该数据也不存在于各处理内核的二级缓存中,因此可以立即访问内存从而相较传统的共享缓存节省了4个处理周期
不过包容式缓存也有自己的缺点,那就是可缓存的新数据量将受到影响,以Nehalem-EP为例,其4个内核的2级缓存容量共1MB,也就是说它三级缓存的新数据量最多只有7MB,这也就意味着将降低三级缓存数据的命中概率,但凡事都有利有弊,包容式缓存在多路CPU轮询时的好处,将更是英特尔所看重的,况且三级缓存的容量日后还有扩展的余地,可查询机制则是一个根本问题。
Nehalem-EP新亮点:SSE 4.2指令集为企业IT加速
这个部分,是很多早前介绍文章所忽略的,但笔者通过研究发现,其对于企业IT来说有着重要的意义。
Nehalem所采用的新一代SSE 4.2指令集的构成与说明(点击放大)
其实SSE 4.2指令集相较SSE 4.1只增加了7条指令,这7条指令面向了两大领域,分别是字串与字符处理用的新指令(STTNI,STring and Text New Instruction)和面向具体应用的加速处理(ATA,Application Targeted Accelerators)。
这其中,STTNI是一个亮点,它对XML处理进行了很好的优化。我们知道,现在企业IT的SOA化趋势明显,负责企业应用之间沟通的中间件系统大多采用XML体系,这也就意味着,在这类的企业应用中,如果针对SSE 4.2指令集进行优化,那么SOA的效率也将得到进一步提升。
在上面这个英特尔给出的示范中,在XML解析方面,SSE 4.2指令集节省了108个的解析步骤
英特尔表示,采用SSE 4.2指令集后,XML的解析速度最高将是原来的3.8倍,而指令周期节省将达到2.7倍。此外,在ATA领域,SSE 4.2指令集对于大规模数据集中处理和提高通信效率都将发挥应有的作用,这些对于企业IT应用显然是有帮助的。当然,SSE 4.2指令集只有在软件对其支持后才会生产效果,但现在距离Nehalem-EP上市还有3个月的时间,相信相关的优化与升级届时就会出现。
Nehalem-EP新亮点:Turbo Boost让节能与高效并举
为了应对绿色IT的需求,Intel这次在Nehalem-EP处理器上加入了更多更先进的电源管理技术,而且与以往的降频控耗的传统思路不同的是,Intel提出了在总设计热功率(TDP,Thermal Design Power)上限之内进行适当的超频的方案,从而更好的满足应用的需求。
Nehalem-EP内部采用了电源控制单元(PCU,Power Control Unit)来精确调整每个处理核心的电源与频率状态
Nehalem-EP通过内置的PCU可以对每个处理内核进行精确的电源状态调节。它可以根据需要将工作频率进行提升,也可以将某个内核关闭,以降低空闲能耗(Idle Power),相对于上一代产品(Xeon 5400系列)有了巨大的进步。事实上,Nehalem-EP的空闲能耗是非常低的,只有10W,比5400的16W下降了37.5%。另外,PCU还能提供多达15级功耗(频率)状态以满足不同应用负荷的能耗控制需求,它可以让CPU的能耗曲线更为接近应用负载曲线(负载高时、频率高、能耗高;负载低时,频率低、能耗低),让每一分的电源能耗成本都花在刀刃上。在状态等级的切换方面,Nehalem-EP只需2微秒(μs),响应更为迅速。
Nehalem-EP的Turbo Boost技术图示,相关说明见正文
而借助PCU,Intel还提出了Turbo Boost运行模式。这是一个新的性能管理方案,与以前一味的降低主频以达到控制能耗的想法不同,Turbo Boost的主旨在于——在不超过总TDP的前提下,尽量挖掘CPU的性能潜力。
上图就是Turbo Boost的工作模式图解:①代表在TDP的限制下,4个核心共同工作;②代表当应用负载提高时,系统可以在TDP的允许范围内对核心主频进行超频;③代表如果应用负载只在两个核心上,那么可以把另外两个核心关闭,并把节省下的电力提供给剩余的两个核心,让它们达到更高的频率,当然这也是在TDP范围内进行调整。
因此,我们可以看出来,Nehalem-EP不仅提供了比上一代产品更精细的电源管理模式以及更高的电源管理效率,并且还提供了强大的性能挖掘模式,以更好的满足用户的应用处理需求,真正做到了节能与高效并举。
Nehalem-EP新亮点:EPT与VPID让虚拟化系统开销更低
服务器的虚拟化现在已经成为了兵家必争之地,虽然表面上我们看到的是软件厂商在冲锋陷阵,但在硬件平台方面,如果没有辅助的硬件功能支持,建立其上的虚拟化效率乃至稳定性将会大折折扣。Intel在2006年提供了CPU辅助虚拟化技术——Intel VT-x,被应用在了至强5100、5300和7300系列CPU上。不过,当时的Intel VT-x只实现两大功能,即FlexPriority和FlexMigration,前者提供了虚拟机任务优先权的管理功能,后者通过伪装的CPUID来加速虚拟机的迁移应用。而到了2008年,Nehalem家族诞生的时候,Intel VT-x迎来了两个新功能——EPT与VPID。
Intel虚拟化的发展轨迹,随着新技术的不断加入,虚拟化中的系统开销也在逐步降低
EPT即Extended Page Tables(扩展页表)的缩写。CPU要通过主机物理地址来访问内存。如果只是一台物理服务器,这个物理地址就只为一个操作系统服务,但如果进行了虚拟化部署,有多个虚拟机时,就存在着稳定性的隐患。因为在进行VM Entry(虚拟机进入)与VM Exit(虚拟机退出)时(尤其是后者),都要对内存页进行修改。但物理内存是多个虚拟机共享的,因此不能让虚拟机直接访问物理地址,否则一个虚拟机出现内存错误,就会殃及整个物理服务器的运行。所以必须要采取虚拟地址,而EPT的作用就在于加速从虚拟机地址至主机物理地址的转换过程,节省传统软件处理方式的系统开销。
EPT的工作流程图示
在实际的工作中,每个虚拟机都拥有自己一个的IA-32/64的页表,并通过控制寄存器3将虚拟机的线性地址转换成所谓的虚拟机物理地址,最后再通过EPT转换成主机物理地址。要指出的是,IA-32/64页表是放在虚拟机中的,而EPT是放在虚拟机管理器(VMM)里。所以,虚拟机上的软件可随意去修改自己的页表,当一个虚拟机出现问题,或者出现页表错误时,由于EPT是放在VMM中,所以不受虚拟机错误的影响,从而保证了物理内存的安全。
由此可见,EPT首要的出发点是保护物理内存的安全,同时可大幅度降低了虚拟机退出时的系统开销,而且也可以减少虚拟机退出的频率。
VPID的主要途在于快速的虚拟机迁移
虚拟处理器标识(VPID,Virtual Processor IDs)是对现在的CPUID功能的一个强化,因为在每个CPU中都有一个TLB,用来缓存逻辑地址到物理地址的转换表,而每个虚拟机都有自己的虚拟CPU来对应。所以,在进行迁移时要进行TLB的转存和清除。而VPID则会跟踪每个虚拟CPU的TLB,当进行虚拟机迁移或VM Entry与VM Exit时,VMM可以动态的分配非零虚拟处理器的ID来迅速匹配(0 ID给VMM自己使用),从而避免了TLB的转存与清除的操作,节省了系统开销,并提高了迁移速度,同时也降低对系统性能的影响。
在虚拟化迁移延迟性能方面,由于系统开销更低,Nehalem-EP相比上一代Penryn(Xeon 5400)有了明显降低
可以说有了EPT和VPID的加入,让Intel处理平台的虚拟化性能有了进一步提高,为客户的服务器虚拟部署提供了更好的保障。
总结:Nehalem-EP值得期待
通过以上的介绍,我们看出Nehalem-EP相对于上一代Harpertown(Xeon 5400)来说有了本质的变化,下面就将双方来对比一下。
Nehalem-EP与Harpertown(Xeon 5400)的规格各部分对比,可以看出在I/O带宽、内存带宽有了明显提高
根据英特尔的计划,Nehalem-EP将在2009年3月份发布并上市,现在已经相当多的OEM厂商正在进行内部测试,而根据部分已经透露出来的成绩,我们也有理由对Nehalem-EP抱以很高的期望。至少可以这么认为,以现有的架构,Harpertown都与对手周旋得不落下风,那么新一代的Nehalem-EP又将带给对手怎样的冲击呢?
著名的企业IT软件厂商SAP所进行的内部基准测试成绩,其中Xeon 5570隶属Nehalem-EP家族,AMD最新的“上海”45nm Opteron 8384(目前的最高主频型号)也参与了比较,而紧随Nehalem-EP的是采用4颗AMD上一代Barcelona 4核加强版处理器Opteron 8360 SE的系统,而Xeon 5570则仅是两路服务器
从目前所透露的成绩中,我们可以看出Nehalem-EP的强大实力,当然其竞争对手AMD也有着不小的能量,第四季度“上海”的发布,让AMD面对Harpertown与Tigerton(Xeon 7300)、Dunnington(Xeon 7400)时底气更足,并将在一定程度上进行反超。这也将预示着,AMD与英特尔之间在企业级领域的竞争将更加激烈。笔者将于近期撰写专文分析双方在2009年的竞争态势,届时英特尔的Nehalem-EX、Lynnfield、Havendale与AMD的Shanghai、Istanbul、Sao-Paulo等将悉数登场,敬请各位关注。