下一代王者 解析Nehalem 处理器7大改变

来源:百度文库 编辑:神马文学网 时间:2024/04/26 19:20:09
 

● 飞跃颠峰 Nehalem Core i7重装出击

  2006年夏天,英特尔发布了革命性的酷睿微架构,摘掉了NetBurst架构奔腾4处理器“高频低能”的帽子。凭借着这一高效率的微架构处理器,英特尔在近两年将竞争对手远远抛在脑后。

  2007年第四季度,英特尔再次领先竞争对手,实现了45纳米制程的量产。今年夏天,在竞争对手45纳米产品的样品都还不见踪影之时,英特尔45纳米酷睿军团E5200、E7200、E8000、Q9000系列顺利集结,45纳米处理器从主流到高端产品线全面出击。



Nehalem处理器Core i7(左)已经抵达中关村在线

  摩尔定律鞭策英特尔不断向前奔跑,就在我们刚刚过完10.1黄金周,次时代微架构处理器Nehalem与X58的套装已经不知不觉散布到全球各大媒体,显然,英特尔要兑现之前许下的诺言:于2008年年底正式发布全新的微架构产品——Nehalem Core i7。

  Nehalem架构处理器首批产品代号为Bloomfield,其品牌名称为Core i7,中文品牌仍然叫“酷睿”,首批上市的产品包括3个型号,它们分别是:Core i7-965 XE、Core i7-940以及Core i7-920。关于这几款处理器的规格及不同点,可参考上图进行详细识别。

  在我们对酷睿i7进行评测之前,想必大家最关心的就是Nehalem的微架构到底有哪些改变,它相对于Core微架构会有哪些方面的性能提升,今天我们就将带领大家进入到Nehalem的世界,全面了解这款即将发布的新品给我们带来了哪些全新的体验。  

● 超线程回归 8线程带来澎湃动力

  事实上Nehalem Core i7微架构的设计基本来源于之前的微架构,不过进行了优化和加强。它一共带来了7个方面的改变,也许正是因为这7大改变促使英特尔将其名称命名为i7。7大改变分为计算内核设计和非计算内核设计。这里我们首先介绍计算内核设计的改变。

  2006年夏天发布的酷睿微架构处理器放弃了超线程技术,让人赶到些许遗憾。不过今天,Nehalem Core i7重新加入超线程技术,将原本四核心的处理器赋予八线程运算能力,这毫无疑问大大地提升了Nehalem Core i7处理器的多任务处理能力。



超线程技术的回归让Core i7在多任务运算中的效能再次提升

  Nehalem Core i7的超线程技术命名为Simultaneous Multi-Threading,简称SMT。类似的技术最早应该追溯到130纳米的奔腾4处理器。奔腾4时期的超线程可以说是双核心处理器的萌芽。这种让每个核心同时执行2个线程的技术容易让CPU在运算时命中失败,对处理器带宽的需求也是十分惊人的,因此在进入酷睿2时代后,由于内存带宽没有获得突飞猛进,而且酷睿2处理器的短流水设计并不适合超线程技术,因此也就放弃了。

  当然,还有一个说法是研究酷睿2处理器的团队Haifa与SMT技术的团队Hillsboro属于不同的小组,因此英特尔没有在酷睿2上冒险。

  由于Nehalem Core i7加入了DDR3内存,并引入了三通道技术,因此内存带宽大大得到提升,同时其本身也抛弃了FSB的设计,因此在Nehalem Core i7中加入SMT将会事半功倍。英特尔表示,开启SMT技术后,Nehalem处理器的性能将增加30%左右,而其功耗却不会有明显的变化。因此这30%性能提升的代价仅需要在Nehalem中加入少许晶体管即可获得,所以在Core i7上,超线程技术得以回归。  

● 核心数量按需分配 Turbo Mode技术解析

  本身就具备4颗物理运算核心,又加入了超线程技术,令其逻辑运算核心达到了8个。但就目前的应用来看,这么多核心我们其实是不容易完全应用上的。而同时将8个线程打开,CPU整体的功耗无疑又将比较惊人,因为Core i7处理器的TDP统统达到130W。针对这种情况,英特尔在Nehalem Core i7的四核心处理器中加入了Turbo Mode技术,中文名为内核运行动态加速。



Turbo Mode是Nehalem非常重要的技术之一

  这项技术可以根据用户需要自行开启和关闭甚至加速单个核心的运行。譬如在一颗四核心的Core i7处理器中,我们在执行某一个应用时只需要2颗核心即可,那我们可以关闭另外两颗核心的运行,同时可以提高正在工作的两颗核心的主频。如果某个任务只需要1颗核心即可,那我们可以关掉另外3个核心,同时对这剩下的1颗核心进行超频。这种技术毫无疑问可以迅速提高CPU整体的效率,让用户按需分配。

● 不仅仅虚拟化CPU 硬件设备也可虚拟化

  早在奔腾4 6XX时代,英特尔就在CPU中加入了VT技术,让更多的普通用户可以涉足新技术的应用,并大大提高CPU的应用效率。随着技术的发展,英特尔让Nehalem Core i7在前一代产品虚拟化CPU为主的基础上增加了设备输入和输出的虚拟化,即VT-d的虚拟化,英特尔VT-d可以将在平台上运行的虚拟机性能提升一倍。而VMware也计划在2009年发布一项名为VMDirectPath的新技术,以支持和利用Nehalem的这一新技术。


Nehalem Core i7让虚拟机性能进一步加强

  当然,关于Nehalem虚拟化硬件设备的详细介绍,目前暂时还没有非常详细的资料,我们相信随着它的正式发布,这层神秘的面纱终将会被揭开。  

● SSE4.2指令集 大幅优化文本处理

  英特尔SSE4指令集最早出现在45纳米处理器上,首颗发布的Core 2 Extreme QX9650配备了SSE4指令集的第一版,即SSE4.1,凭借着这一指令集,45纳米酷睿2处理器的多媒体性能相对于65纳米产品提升了70%,而在Nehalem Core i7上,我们将迎来SSE4指令集的第二版,即SSE4.2。



Nehalem在SSE4.1 47条指令集的基础上加入了SSE4.2指令集

  我们知道,SSE 4.1版本的指令集增加了47条指令,主要针对向量绘图运算、3D游戏加速、视频编码加速及协同处理的加速。英特尔方面指出,在应用SSE4指令集后,45纳米Penryn核心额外提供了2个不同的32位向量整数乘法运算支持,并且在此基础上还引入了8位无符号最小值和最大值以及16位、32位有符号和无符号的运算,能够有效地改善编译器编译效率,同时提高向量化整数和单精度运算地能力。另外,SSE4.1还改良了插入、提取、寻找、离散、跨步负载及存储等动作,保证了向量运算地专一化。

  经过我们的测试,SSE4.1指令集的处理器比不具备此指令集的同档次处理器的视频编码效能提高了70%,在游戏中也有很明显的性能提升。而SSE4.2指令集则将重点放在了文本处理上。据英特尔透露,Nehalem的SSE4.2指令集中的7条指令用途各不相同,有面向CRC-32和POP Counts的,也有特别针对XML的流式指令。帕特·基辛格表示,SSE4.2指令集可以将256条指令和并在一起执行让类似XML的工作性能提升3倍!  

● 全新的缓存设计 L3 Cache被引入

  Nehalem处理器计算内核的改动介绍完毕,下面进入非计算内核改动的介绍部分。这一部分的改变可谓大刀阔斧,非常引人瞩目。

  首先是缓存的改变。Nehalem处理器最显著的变化是重新设计了缓存结构,引入了L3缓存。其L1缓存的设计与酷睿微架构相同,而L2缓存则采用超低延迟的设计,不过容量大大降低,每个内核仅有256KB,新加入的L3缓存采用共享式设计,首批上市的Core i7配备了8MB L3缓存。



Nehalem Core i7处理器缓存结构图

  从图中可以看到,Nehalem处理器的L3缓存完全开放,由4颗核心共享,它几乎可以处理所有的一致性流量问题,同时不需要单独打扰每颗独立核心自己的L1、L2缓存。如果L3缓存没有命中,那么我们需要访问的数据也不在L1或者L2中,此时也不需要侦听所有核心。如果L3缓存命中成功,它还可以作为侦听过滤器。

  Nehalem的每个核心有64KB的L1和256KB的L2在L3缓存中保留数据,因此在总共的8MB L3中,有1MB-1.25MB的数据与前两级缓存相同。

  为了提高缓存利用效率,Nehalem使用了MESIF缓存一致性协议(全称为MESIF cache coherency protocol),在它的L3缓存中的每一个缓存行里,有4bit用作核心确认,以此表明是哪一个核心在它私有的缓存里具有这个行的数据备份。如果某个核心确认位设置位0,则那颗核心就不具有该行的数据备份;如果两个以上核心的确认位都有效,设置为1,那么该缓存行就被确定为未被修改的,任何一个核心的缓存行都不能够进入更改模式;当4颗核心确认位都是0时,就不需要对其它内核做侦听,而只有1个位是有效时,则只需要侦听那1颗核心。这种仲裁机制让Nehalem的L3缓存避免了每个核心数据一致性错误,带来更多带宽。  

● 带宽提升3倍 集成内存控制器解析

  AMD 的K8架构集成内存控制器,使得其产品在内存效能上一度领先。为了进一步对竞争对手取得优势,英特尔终于将内存控制器引入到Nehalem微架构,配合高带宽的DDR3内存,Nehalem的内存带宽最高可提升3倍!



Intel 整合内存控制器(IMC)示意图

  Nehalem的内存控制器名为Integrated Memory Controller,简称IMC。它可以支持三通道的DDR3规格内存,配合三条DDR3-1333内存,Nehalem的峰值带宽可以达到惊人的32GB/s。面对三通道DDR3内存,Nehalem的IMC通过乱序执行来为其降低延迟,并让其每条通道都能够独立操作,这也使得内存的兼容性大大提高,组建三通道的门槛相对降低。当然,在X58平台上,必须同时配备3条DDR3内存我们才能够将三通道打开,遗憾的是三通道似乎没有针对DDR2内存进行设计,因此要体验Nehalem高内存带宽带来的快感,我们必须使用价格较高的DDR3内存。


Nehalem Core i7触点大幅度增加

  集成内存控制器让Nehalem对主板供电的需求增加,同时也大量增加了CPU的触点。其处理器面积相对于酷睿2也提高了不少。  

● 抛弃FSB QPI总线每秒带宽25.6GB

  与AMD K8架构类似,Nehalem集成内存控制器后必须要有一个与处理器内核之间通信的高速连接。AMD 将其技术称之为Hyper Transport,而英特尔的Nehalem则名叫QPI(Quick Path Interconnect)。从字面上看,似乎QPI比HT更有助于提升系统性能。



Nehalem QPI技术结构图

  QPI技术不仅可以让CPU与北桥通信,而且还能够实现CPU内核之间的通信。Nehalem将每个核心分割为独立的小块,并根据产品的市场定位分配QPI总线的条数。桌面市场的QPI仅为1条,而针对服务器级别的Nehalem则配备了2条甚至4条QPI。

  也许酷睿2四核处理器QX9770配备的1600MHz前端总线对普通用户来说已经完全够用了,但对服务器应用却完全不够。QPI总线解决了这个问题,它的每一条连接支持6.4GT/s带宽,而由于它的方向的位宽可以为5、10、20bit,因此每一个QPI连接可以提供12.8GB带宽,而一个单一的QPI连接则足以提供25.6GB/s带宽。

  当然,由于对市场的细分,首批上市的Core i7处理器仅有965XE具备6.4GT/s QPI总线,另外两款产品则缩减为4.8GT/s。

总结

  虽然Nehalem从严格意义上来讲并不是一个全新的架构,它却针对新生代的应用进行了7大革命性的改变。从目前的一些测试来看,Nehalem 酷睿 i7相对同频率的四核心酷睿2大约会带来20%-30%总体性能的提升,在内存带宽的测试中会有50%-100%的飞跃。我们相信随着英特尔的深度开发,酷睿 i7在各行各业的应用优势也将随着这7大改变凸显得淋漓尽致。