测试全文导航目录
本文是由玩家堂和中关村在线联合发布,版权所有,如需转载请注明来源。
2008年11月18日,Intel如期发布新一代的Core i7微处理器。相对于目前的Core微架构的处理器,Core i7将为我们带来什么新的变化?这些变化对我们又意味着什么?相信我们这篇长达四万字的深度评测将为您揭晓这一切。
全文主体可以分为三大部分:Nehalem微架构深度解析、X58芯片组与目前已发布的各款主板的对比,以及Core i7与Core处理器横向评测。
在 Nehalem微架构深度解析部分中,我们将深入分析Core i7相对于其前任,在微架构方面有着那些变化,这些变化意味着什么。本部分行文两万字,据我们所知,目前国内外对Nehalem的各篇评论文章尚未有如此详细全面者。在这部分中,想了解Nehalem的读者不但可以看到我们在流水线、SMT、高速缓存、内置内存控制器和QPI、功耗控制方式等热点内容的深入解析,而且可以了解到TLB、同步原语、指令集、虚拟机等细节内容的详尽描述。
在X58芯片组及主板说明部分中,我们详细说明了X58芯片组所带来的新的不同,并对目前所发布的4款不同品牌的X58主板进行了对比。
在Core i7与Core架构横评中,我们从23个方面对五款Core i7与Core 2处理器进行了多达40个项目的评测。在测试中,我们不但可以看到顶级的Core i7与Core 2处理器的王者对决,更可以看到中高端平台的Core i7与Core 2处理器的性能比较。众多读者所感兴趣的三通道内置内存控制器所带来的作用、SMT重新回归后的性能提升、Turbo Mode对性能和功耗的影响、Core i7的温度表现、游戏能力、超频能力等等,我们都将为大家一一揭晓。
当然,大家也千万不要忘记阅览我们精彩的序言和总结。
无关紧要的话讲了这么多,下面还是让我们来一起领略Core i7的风采吧!
全 文 导 航 | ||
序言 | Core i7,无情的一击? | |
第一章 | Nehalem架构深度解析 | Nehalem的设计理念与主要革新 |
改进的流水线 | ||
超线程的重新回归 | ||
高速缓存结构与性能的重大变化 | ||
二级TLB的加入与同步原语 | ||
内存控制器与QPI协议,服务器市场的新期望 | ||
SSE4.2与提升的虚拟机性能 | ||
新的功耗控制方式,门控电源与Turbo Mode | ||
第二章 | X58芯片组及主板 | 拥抱爱妻:X58芯片组介绍 |
Intel原厂主板:DX58SO | ||
奢华经典:技嘉EX58-Extreme | ||
坚若磐石:华硕P5T-Deluxe | ||
白金享受:微星X58-Platnium | ||
第三章 | 测试平台及设置 | 测试平台介绍 |
第四章 | 理论性能测试 | SuperPI 一百万位测试 |
wPrime圆周率计算 | ||
Everest Ultimate内存带宽及延迟 | ||
SiSoftware Sandra处理器及内存测试 | ||
winrar压缩性能测试 | ||
fritz国际象棋 | ||
ScienceMark 2.0科学计算测试 | ||
PCMark Vantage整机性能测试 | ||
第五章 | 多媒体性能测试 | Pov Ray光线追踪 |
Cinebench R10图形渲染 | ||
euler3D | ||
Photoshop CS3.0图像处理 | ||
mainConcept H.264视频编码 | ||
Windows Media Encoder视频编码 | ||
winAVI视频编码 | ||
第六章 | 3D游戏性能测试 | 3DMark06基准测试 |
3DMark Vantage基准测试 | ||
DX9游戏测试——虚幻竞技场3 | ||
DX9游戏测试——最高指挥官:冒牌盟友 | ||
DX10游戏测试——冲突世界 | ||
DX10游戏测试——英雄连 | ||
第七章 | 超频测试 | Core i7平台各频率参数介绍 |
超频过程与结果 | ||
第八章 | 温度及功耗测试 | 待机功耗与满载功耗——Turbo Mode的威力 |
待机温度与满载温度对比 | ||
总结 | 总结与展望 | |
测试团队 | 倾心打造本专题的测试团队 |
Core i7,无情的一击!
数年以前,AMD发布的集成众多先进技术的K8架构CPU可谓让Intel在很长一段时间内灰头土脸。但随即Intel在2006年发布了Core架构的微处理器。Core凭借革命性的微架构革新,为Intel重新夺回了性能王者桂冠。而2007年底Intel发布的45nm Penryn微处理器,更进一步拉开了与AMD的技术差距。Intel非但没有就此停下脚步,更进一步加速推出了的新一代Nehalem微架构的CPU,希望凭借这款处理器给予AMD无情的一击。
Intel Core i7 Logo
Intel对Nehalem寄予了很高的期望。为了明显区分开Nehalem与之前所发布的处理器的不同,Intel将Nehalem的品牌名称定义为Core i7,中文品牌名称仍然为酷睿。
Intel自2005年以后就遵循“制程提升”——“微架构提升”的策略来发布自家的处理器,即在奇数年推出制程升级的微处理器,而在偶数年推出改进架构的微处理器。Nehalem即为微架构上有别于之前的Conroe、Penryn处理器的新一代CPU。这种策略使得Intel不断提升自我,也让竞争对手因此而疲于奔命。
Nehalem是Intel对于新一代处理器的架构名称,而非产品代号。此次发布的三款微处理器是定位与桌面应用、研发代号为Bloomfield的产品。而根据Intel的路线,在服务器领域将发布研发代号为Gainstown的面向双路服务器的CPU和研发代号为Beckton的定位于高端服务器应用的CPU。在桌面领域Intel也将在2009年第三季度和2010年上半年陆续发布研发代号为Lynnfield和Havendale的产品,其中Lynnfield面向主流桌面市场,Havendale面向低端桌面市场。而在移动领域,Intel将发布研发代号为Clarkfield、TDP为45/55W的移动版处理器,以及研发代号为Auburndale,TDP为25/35W的双核移动版处理器。
自Penryn发布后,众多网友就对Nehalem翘首以盼。本次Intel发布的Nehalem处理器一共有三款,都属于高端桌面市场,型号分别为Core i7 920、Core i7 940以及Core i7 Extreme Edition 965。为了区分市场,Core i7 920与Core i7 940的QPI总线都被削减为4.8GT/s,而Core i7 Extreme Edition 9650则为6.4GT/s。与上一代的Penryn/Yorkfield相比,Nehalem处理器在诸多方面有所不同。例如指令集从SSE4.1提升到SSE4.2,增加了三级缓存,内置了内存控制器,使用QPI总线与外部进行连接等等。另一方面,由于缓存总容量削减,因此Nehalem处理器在晶体管数量方面大幅下降,这有利于Nehalem控制整体成本。同时改进的设计也使得热设计功耗有所降低。Nehalem相对于之前Core微架构的Penryn处理器,在微结构方面的改变究竟有哪些?这些改变对于Nehalem的表现又有着什么样的影响?本文将带大家一起走近Nehalem,去寻找这些问题的答案。
Nehalem的设计目标是找到折衷的设计方案,为各种应用场合的处理提供一个单一的、可扩展的平台。众所周知,不同领域的应用程序在表现上有着极大的差异。例如矩阵运算、视频编解码、数据库等领域的处理具有很高的并行性,因此新出现的程序越来越多的采用多线程的方式编写;而同时相当多的较老的应用程序仍然采用单线程的方式编写,编译等一些特殊领域的应用也很难被并行化处理。再例如对于一些专业工作者,处理速度至关重要,运行一遍应用来对自己手头的数据进行处理往往要几天甚至一个月的时间;但使用笔记本出差的用户却对笔记本的巡航时间更为关注。
可扩展的内核
Nehalem的出现,正是想为这些应用提供单一的解决方案,由用户根据自己的应用选择处理器的使用和运行方式。Nehalem既需要为已存在和即将涌现的多线程应用程序服务,同时又要高效地运行大量的单线程应用程序。它既要满足高端计算对性能的需求,也需要具有很低的功耗,以便可以在低功耗应用领域工作。
为了达成以上设计目标,Nehalem处理器被设计为核心(Core)与非核心(UnCore)两部分。处理器的执行流水线、一二级高速缓存都集成在核心中,而三级高速缓存、集成的内存控制器、新的连接协议QPI,以及功耗与时钟控制单元都被集成在非核心中。这种设计,使得Nehalem的设计可以很方便的进行调整,从而为不同应用领域设计出新的解决方案。例如针对低端市场,Nehalem可以削减三级缓存的容量以降低成本,由于Nehalem仍然具有一二级高速缓存,因此削减三级缓存并不会对性能造成严重影响;对于多路服务器市场,可以增加QPI的数量以增加互联带宽。甚至于,内存控制器在必要的时候也可以放置在片外。
Nehalem处理器并不是一代将Core架构推翻重来从而推出的一代革命性的微处理器,而是沿袭Core微体系结构的一代革新性设计。事实上,由于Core微体系结构在技术和市场上取得的重大成功,推翻重来并没有必要。Nehalem从本质上仍然属于Core微体系结构,但在性能和功耗控制等许多方面进行了改进和重新设计。主要的改进包括:
Nehalem处理器一共有四个物理核心,由于每个核心可以同时支持两个线程运行,因此Nehalem处理器一共具有8个逻辑核心。每个物理核心具有自己单独的一级与二级高速缓存,同时四个核心使用了共享的三级高速缓存。Intel在Nehalem处理器内部首次引入了集成的内存控制器和QPI连接方式,内存控制器目前最高支持1333MHz 的DDR3内存。遗憾的是,Nehalem处理器取消了对于DDR2内存的支持。由于目前DDR3内存的价格还较高,因此包含Nehalem处理器的计算机系统在短期内价格仍然会较高,腰包里银子不多的朋友尚需要等待一段时间才能够享受Nehalem。
一个Nehalem内核(Nehalem处理器版图中红框圈出的位置)包含了处理器的流水线,以及一级、二级高速缓存。Nehalem的内核经过精心设计,以达到更高的性能。Nehalem内核与之前Intel所发布的处理器的内核相比,在以下部分进行了改进:支持新的SSE4.2指令集、具有更深的缓冲器、支持SMT、对虚拟化进行了改进、对分支预测进行了改进、增强了对循环的处理、增加了高速缓存的层次、改进了原语支持等等。在后续文章中,我们将对这些改进逐一介绍。
Nehalem的流水线
上图展示了Nehalem的流水线。了解Conroe微体系结构的读者可以看到,右上角非核心部分包括的QPI、三通道内存控制器、三级高速缓存都是之前Intel的处理器中所没有的。此外核心部分Nehalem与之前的Penryn也有诸多不同。让我们来一起剖析Nehalem的设计,我们先来关注流水线的前端部分。
小贴士:
很多朋友还不清楚什么是流水线以及流水线的具体作用。为了方便大家阅读,在此进行一些说明。让我们考虑这样一个例子。假如你家旁边开了一家洗衣房,而你有一筐衣服要洗。洗衣房洗衣服可以分为以下几个步骤:在前台登记并收取衣物、洗衣、晾干、熨烫。完成同样的事情可能有两种做法。第一种是前一个顾客在前台登记完成并洗完衣服,晾干、熨烫都完成以后你才能登记。这种做法既相当于流水线处理器出现之前的微处理器的处理方式。第二种方式是前一个顾客只要登记完成,你就可以登记,然后每个顾客按照顺序洗衣、晾干、熨烫。第二种方式即相当于流水线的处理方式。在这个例子中,衣物相当于程序中的每条指令,而洗衣房相当于处理器,洗衣房洗衣服的过程就相当于处理器处理指令的过程。很显然,具有流水线的处理器在处理任务时会高效很多。
Nehalem处理器在流水线前端的改进主要有以下几方面:
- 宏操作融合
- 循环流检测器
- 分支预测
Intel在Conroe处理器中首次引入了宏融合的概念。宏融合指的是将两条连续执行的x86指令当作一条指令来处理。宏融合的目的在于增加处理器处理指令的吞吐率并减小执行延迟(想想看将两缸衣服放到一缸里面洗,一定比连续洗两缸衣服要快),另外也改进了能耗比(洗一次总比洗两次省电)。在Conroe中,如果TEST/CMP指令后紧跟一条件分支指令,那么这两条指令被当做一条指令一并解码、执行和提交,但是只能在32位模式下进行。Nehalem可以同时在32位和64位模式下支持宏融合,可以明显提高64位处理模式下的执行效率。由于当前服务器大多使用64位的操作系统,而台式机也越来越多的使用64位的操作系统,因此支持64位的宏融合相当有必要。
在Core微体系结构之前,并不具有循环流检测技术,循环流检测器也是Core微体系结构引入的。Core微体系结构在取指单元和译码单元加入了一个循环流检测器,这个循环流检测器是一个包含18条指令的缓冲,用于检测需要执行的指令是否是存在于一个循环中(循环的大小不能超过18条指令)。当CPU执行指令时,循环流检测器会检测自身的缓冲器。如果发现需要执行的指令包含在其中,将不再对这条指令进行分支预测和取指,而是从缓冲器中取出这条指令,并开始下一步的译码。循环流检测器的加入可以有效改善CPU在执行包含大量循环的应用程序时的表现。(还是拿洗衣房那个例子来讲,如果你每次过去的时候,不需要登记即可直接洗衣,那么无疑提高了你洗衣服的效率)。
Nehalem处理器在此仅仅使用了一点小技巧:将循环流检测器放到译码之后进行。循环流检测器中存放的不再是译码之前的x86指令,而是28条微操作。由于程序包含的指令多为简单指令(每条指令被译码成一个微操作),因此新的循环流检测器往往可以扩展可以检测的循环的大小;更进一步的,检测到一个循环时,不仅被检测到的指令不需要分支预测和取指,甚至连译码过程也省略了,因此可以进一步提升对于循环处理的性能。
小贴士:
程序是由很多指令组成的。在执行前,程序首先被加载到内存中。程序执行时,CPU首先要从内存或高速缓存中获取指令,这个过程被成为取指。在CPU取到指令后,需要判断这条指令是什么类型的指令,究竟要执行什么操作,这个过程被称为译码。在指令被译码后,需要为这条指令分配它计算所需要的资源,例如加法器等,这个过程被称为分派和发射;指令在计算单元中具体执行的过程被称为执行;执行结束后,需要将运行结果存回目标地址,这个过程被称为回写;指令结束运行,这个过程被称为提交。
Nehalem处理器的另一个改进是分支预测器。在当今的处理器设计中,分支预测器的设计是非常重要的一部分。较高的分支预测正确率和更快的纠错可以使得处理器的性能获得提升。同时较高的分支预测正确率可以减少重新取指的次数,从而提升处理器的能耗比。
对于当前一些特定的应用软件而言,目前的分支预测器工作的并不是很有效。例如包含大量无规律数据访问的数据库应用,分支预测器预测的正确率相当低下。(感兴趣的读者可以参考IBM PowerPC微处理器以及IBM eServer i系列服务器首席架构师Frank G.Soltis所著的《罗彻斯特城堡——IBM eServer i系列服务器技术揭秘》一书)。Nehalem首次采用了多级分支预测机制,加入了第二级分支目标缓冲器(BTB)。分支目标缓冲器用来对分支指令的目标地址进行预测。在分支预测方向正确的时候,分支目标缓冲器可以有效的提升处理器取指的性能。Nehalem第二级BTB的加入,可以增强处理器在处理分支指令的效率,提升处理器在数据库等商业应用方面的性能。
另外,传统的处理器通过使用返回栈缓冲器(RSB)来预测函数返回时的地址。但由于程序中函数调用往往是嵌套的,递归调用的函数将会导致RSB会溢出;并且在投机执行时,RSB也可能因为分支预测错误而产生错误的返回地址。Nehalem对RSB进行重命名,最大限度的消除了栈溢出问题以及预测错误对函数返回时的影响。
小贴士:
分支预测器是在分支指令没有得出执行结果前,处理器对分支的方向(究竟是选择哪条路线继续执行)和目标地址(新的执行从哪里开始)进行猜测的过程。在分支预测后,处理器将按照分支预测器的预测方案从一级高速缓存中取出某一段指令继续执行,而不是等待分支指令执行结束再取出正确的指令流。由于当前的处理器大多是超标量流水线结构,因此流水线中一般都有几十条指令在同时运行。如果其中一条分支指令的预测产生错误,处理器将不得不清空流水线中分支指令后的所有指令,并且从正确的位置重新取指、译码、执行。这样即会导致处理器的效率严重降低。由于程序中分支指令往往较多(研究表明一般占全部指令的15%~25%),因此分支预测的正确率对处理器的性能有着至关重要的影响。
在分析完前端流水线后,我们再继续看一下Nehalem的执行引擎。Nehalem的执行引擎与之前的Penryn有着明显的不同。首先Nehalem采用了2个寄存器分配表,这是因为Nehalem支持SMT,需要为每个线程在执行时所用到的寄存器分别进行重命名,以免两者发生冲突。其次重排序缓冲器从96表项增加到了128表项、保留站从32表项增加到了36表项,MOB对于Load操作支持的深度从32个增加到48个,对于Store操作支持的深度从20个增加到32个。这同样是因为SMT的原因。由于最多可以有两个线程在处理器中运行,那么它们之间不可避免的需要争抢资源。增加一些部件的数量,可以有效的减少线程之间的资源冲突,提升处理器在执行多线程任务时的表现。
Nehalem在流水线中实现的又一重大变化是重新引入了SMT。SMT最早在Intel Netburst微架构的P4处理器中出现,并命名为超线程(Hyper Threading)。从技术角度而言,在Intel引入HT之前学术界和工业界都对基于多线程技术的处理器性能进行过广泛研究,并且大多认为多线程技术的处理器是今后处理器发展的重要方向。Intel在桌面处理器中引入多线程技术可谓众望所归,影响深远。但是Intel当时的超线程技术在现实应用中的表现并不尽如人意。一方面原因是由于超线程需要发挥作用需要CPU、芯片组、操作系统、驱动、应用软件等诸多方面的支持,而当时各方面对超线程并没有做好足够的准备,多线程应用相对匮乏;另一方面原因则是Pentium 4当初对于HT技术实现的不够完善,对于一些单线程的多媒体以及游戏等注重浮点的应用而言,处理器在打开HT之后的性能提升微乎其微,甚至性能下降。由于Intel在HT上市前进行了大量宣传,用户对于HT技术期望很高。Pentium 4在打开HT后并没有带来用户期望的性能提升,必然引起了很多用户的不满。
SMT技术示例
而在2006年,Netburst架构终究由于功耗和效率的问题被Intel抛弃,而新发布的Conroe处理器并没有对HT进行进一步的支持,据我们分析可能是由于以下两个方面的原因:
第一个原因是Conroe发布前已经没有足够的时间来实现多线程技术。虽然多线程技术在处理器内实现不需要消耗太多的硬件资源,在成本上也不会有太大影响,但是验证支持多线程技术的处理器在功能上的正确性则是一个相当困难的事情。而由于之前Intel在Netburst微架构上下了太大的注码,因此可能在决定放弃Netburst的时候已经没有太多时间去将多线程技术进一步集成到处理器内部。
第二个原因则可能来自于FSB本身。由于多线程技术可以更有效的利用处理器的功能部件,更快的完成多个任务,那么就需要有足够的存储带宽以源源不断的供给流水线所需要的指令和数据。而由于FSB的带宽是整个系统中的瓶颈,因此已经无力供给多个线程同时执行所需要的指令和数据,因此即便集成了多线程技术也不会比P4中集成HT时取得明显的提升。
从以上两个方面来看,我们相信第一个方面应该是Intel没有在Core微架构中没有实现多线程技术的首要原因,第二个方面是次要原因。
由于Core微架构中集成了更多的执行部件,因此没有集成多线程技术实在是一件遗憾的事情,这样会有很多硬件资源得不到利用而空闲。而Intel本次发布的Nehalem处理器再度集成多线程技术,并尊重学术界与工业界之前的习惯,命名为SMT(同步多线程)。由于Nehalem处理器在存储子系统上进行了重新设计,减弱了因为存储带宽问题引起的性能损失,同时目前支持多线程的软件也越来越多,我们有理由相信支持SMT的Nehalem处理器会带来更好的性能表现。
Nehalem处理器的存储层次
一辆上好引擎的汽车需要有汽油才能跑得起来。同样,流水线的设计改进和SMT的重新加入使得处理器的性能提升,但这需要存储子系统能够跟上流水线提升的步伐,能够及时的供应给流水线所需要的指令和数据。Nehalem的存储子系统需要达到以下几个目标:取回指令和数据需要有较低的延迟时间;需要很高的访问带宽以无缝处理从多个内核发起的存储访问请求;需要良好的扩展性,为在处理器中集成更多的内核加入设计上的考虑。
Core2 Quad处理器存储层次
为了实现以上设计目标,Nehalem处理器的存储子系统相对于之前的Conroe/Penryn处理器发生了很大的改变。这些改变主要有以下几点:
- 缓存层次。Conroe/Penryn处理器的高速缓存分为两层:一级高速缓存与二级高速缓存。而在Nehalem中,正如我们前面所看到的,增加到三级高速缓存。更准确一点说,Intel是在原有的一级与二级缓存之间插入了一级新的缓存。新的高速缓存层次会带来怎样的变化?
- 缓存容量。Nehalem处理器的高速缓存总容量比前一代的处理器更少,更少的缓存是否会对性能有影响?
- 高速缓存的互联方式。Core2时代的核心是“胶水”式的,相当于两个核心拼在一起组成一个四核处理器。每两个核心共享一组二级高速缓存,对于具有四个核心的处理器而言,两组高速缓存需要竞争前端总线的使用权。Nehalem处理器的二级高速缓存是独占式的,每个核心具有自己的二级高速缓存,多个核心竞争三级高速缓存的访问权。多个核心竞争三级高速缓存对三级缓存接口处的布局布线设计会带来很大压力,这是否会影响到三级缓存的带宽?
- 内置了内存控制器。Nehalem处理器取消了Intel一直沿用的前端总线,而内存控制器也被放置到片内。内置内存控制器会对存储性能有什么影响?
带着这些问题,我们来解析Nehalem的存储子系统。
Nehalem处理器的一级数据高速缓存仍然是八路组相联结构,容量也仍然为32KB。但Nehalem的一级指令高速缓存容量虽然保持不变,但相联度减少为四路组相联。这将使得一级指令高速缓存的命中率受到影响。另外,一级高速缓存的访问时间从3个时钟周期增加到了4个时钟周期。对于Core i7 EE 956而言,每个核心的一级指令高速缓存的带宽为一级高速缓存位宽*访问时间=16Byte*3.2GHz/4=12.8GB/s,总共四个核心的一级指令高速缓存总带宽为12.8GB/s*4=51.2GB/s;由于数据高速缓存的存储体是dual端口类型,同时支持读写操作,因此总共四个核心的一级数据高速缓存总带宽为102.4GB/s。从表面上看,一级高速缓存访问周期增加可能并不是好消息,因为这会对处理器的性能产生影响。我们猜测原因可能是在Intel研发Nehalem时,发现时序上的关键路径位于一级高速缓存上。Intel可能认为,增加一级高速缓存的访问周期可以消除处理器设计时的关键路径,有利于产品上市后处理器频率可以不断提升。另一个可能的原因是Intel发现一级高速缓存的带宽并不是整个存储子系统中的瓶颈,而故意将一级高速缓存简化,以便集中精力设计好处理器的其他部分。两个原因之中,我们认为前者可能占据了主导地位。
二级高速缓存相当于是新加入的,位于新设计的核心部分。每个Nehalem的物理核心拥有自己的二级高速缓存,二级高速缓存为八路组相联结构,容量为256KB。Nehalem的二级高速缓存访问速度相当快,据Intel透露不高于10个时钟周期。如果你觉得这没什么,可以对比一下K10的二级高速缓存,它需要15个时钟周期的访问时间。很低的访问延迟时间、以及每个核心独享二级高速缓存的设计方式使得Nehalem的二级高速缓存的带宽很高。从理论上讲,Nehalem二级指令高速缓存的访问带宽为32Byte*3.2GHz/10*4=40.96GB/s,二级数据高速缓存总的访问带宽为32Byte*3.2GHz/10*2*4=81.92GB/s。相比较,Core2 Quad的二级数据高速缓存的带宽只有32Byte*2.667GHz/12*2*2=28.44GB/s。另一方面,由于处理器核心的数量将不断增加,因此采用共享缓存的设计方式会遇到很大的麻烦:一方面,共享缓存需要负担起更高的带宽,这就需要共享缓存具有较小的访问延迟;同时共享缓存也需要有更高的容量和相联度,以提高命中率。但另一方面,更高的容量和相联度会增加访问时间,另一方面,更多的核心也使得布局布线越来越困难。这两方面的矛盾始终存在,而且终究会变得不可调和。而新的独占式的二级高速缓存的加入,使得每一个二级高速缓存可以做得比较小,而总容量仍然相对可观;同时每个缓存位于自己的核心内部,因此布局布线也更加容易。新的独占式二级高速缓存的加入,大大减小了三级缓存的压力。
三级高速缓存位于Nehalem的非核心部分,是16路组相联结构,容量为8MB。Nehalem的所有核心共享三级缓存。从技术特点上来说,Nehalem的三级缓存很像Conroe/Penryn时代的二级缓存:都有着很高的容量、相对更慢的访问速度,但是两者又存在着明显的区别。首先是访问延迟和容量。由于Nehalem中加入了新的二级高速缓存,因此三级高速缓存没有必要做得太快,容量也没有必要太高。三级高速缓存的访问延迟只要明显低于访问内存的延迟即可(通常是几十到上百ns,相当于上百个甚至数百个处理器时钟周期),容量也可以小一点,因为二级缓存已经帮助三级缓存解决了一些存储访问的问题。这两方面使得三级高速缓存可以更轻松的面对多核时代的布局布线问题。第二个方面是可扩展性。由于三级共享式高速缓存可以更轻松的进行设计,那么就可以加入更多的处理器核心,以方面整个系统提升性能。
由于三级高速缓存放置在核心外部,时钟频率与核心的时钟频率并没有一定的关系,因此其访问延迟无法简单的以时钟周期来衡量。Intel并没有透露其三级高速缓存的位宽和访问时间,只是表示根据核心倍频不同,大约在3X~4X时钟周期。
同时Intel也把Nehalem的三级高速缓存设计成内含式(Inclusive)的,即二级高速缓存中存在的内容必然在三级高速缓存中存在。与之对应的是排斥式设计(Exclusive),即所有二级高速缓存中的内容在三级高速缓存中都不存在。Intel为什么要这么设计,我们下面说明一下。
由于二级高速缓存可能失效,因此无论内含式还是排斥式的三级高速缓存,都存在被访问的情况。
访问三级高速缓存存在两种结果:需要的数据存在于三级高速缓存中,或者在三级高速缓存中不存在。首先来看一下数据不在三级高速缓存中的情况。对于排斥式的三级高速缓存,如果数据不在三级高速缓存中,那么还仍然可能存在于其他核心的二级高速缓存中。这时需要检查其他每一个核心的高速缓存。如果不检查其他核心的高速缓存而直接去访问内存会有什么问题呢?原因在于需要的数据虽然在内存中存在,但是它有可能正在被另外一个核心所修改。而修改这个数据的核心如果还没来得及将结果存回内存中,那么直接读取内存就会得到错误的结果。在排斥式的高速缓存系统中,一旦访问失效,需要先检查其他几个核心。如果其他几个核心中仍然不存在这个数据,还需要继续访问内存才能得到想要的数据。很显然,排斥式高速缓存在访问失效的时候并不是很有效率。
内含式的高速缓存就不存在这个问题。一旦访问三级高速缓存失效,说明整个其他核心的二级高速缓存中也都不存在相应的数据,也就表明了最近其他核心并没有对这个数据进行过访问。这时只需要访问内存就可以了。
如果需要的数据存在于三级高速缓存中,那么排斥式的三级缓存还是很有效率的,只需要从三级缓存中取回相应的数据就可以了,因为数据不可能在其他任何一个核心中。但对于内含式的三级高速缓存就没有这么简单。由于数据还可能存在于其他核心中,因此三级高速缓存还需要访问其他核心以确定是否正在被其他核心所修改。所幸Intel很聪明的解决了这个问题。Nehalem对三级高速缓存加入了一组计数器,用来表明每一个数据存在于哪些核心中。上图给出了这样一个访问的例子:计数器表明需要的数据在第二个核心中,因此需要访问第二个核心以得到所需的数据。事实上,除此之外,Nehalem还实现了MESIF协议,以进一步提升三级高速缓存访问命中时的性能。因为这个问题解释起来比较复杂,所以本文中不做详细介绍。感兴趣的网友可以去查阅《The Research of the Inclusive Cache used in Multi-Core Processor》一文。
内存控制器我们将在后续章节中讲到,这里暂且不做分析。
Nehalem在高速缓存层次进行了重大的改变,而在其他方面的改进也不少。
Nehalem的TLB规格
首先是在TLB方面的改进。一方面当前的应用程序正在变得越来越庞大,而另一方面处理器的核心越来越多、又加入了SMT技术,这两方面都使得同时处理的应用程序需要更多的内存空间去执行。这就使得TLB的设计改进成为必然。对于之前的Core2微结构的处理器而言,只具有一级TLB。Core2处理器的一级指令TLB具有128个表项,而一级数据TLB为256个表项。而在Nehalem中,一级指令TLB仍然为128个表项,但是一级数据TLB削减到了64个表项。Nehalem加入了统一的512表项二级TLB,二级TLB被一级指令和数据TLB所共享。从目前而言,Nehalem的这个改动可能对性能的提升作用并不明显。但是二级TLB相对比较容易扩充,后续设计中有可能通过进一步扩充二级TLB的容量以提升存储映射的性能。
其次是在非对齐高速缓存访问方面的改进。Intel的指令集支持两种16字节的SSE存储访问指令:对齐访问与非对齐访问指令。对齐访问指令只能执行对齐访问,所访问的数据的起始地址都是16字节的整数倍数,也就是16字节对齐的。由于Intel的高速缓存行宽都是64字节,因此对齐访问所需要的数据都是位于一个高速缓存行内(如果所需要的数据存在于高速缓存中)。在执行对齐式的访问时,只需要访问一次高速缓存即可得到所需要的所有数据。而非对齐访问则没有这么幸运。对于之前的设计而言,对于非对齐访问指令的处理相当糟糕。Core2微结构的处理器需要产生多个微操作才能完成一条非对齐访问指令,延迟很高、带宽很低,同时也会浪费能量。甚至于,即便这条指令所需要的数据是对齐的(非对齐访问指令所需要的数据可以是对齐也可以是非对齐的),Core2微结构的处理器完成一条非对齐访问指令的时间也比完成相同功能的两条指令的时间更长。
Nehalem处理器改进了这一点。如果非对齐访问指令所需要的数据是对齐的,那么处理器会把它当作一条对齐访问指令来处理,效率与完成相同功能的对齐访问指令一样。如果所需要的数据是非对齐的,Nehalem在跨越高速缓存行边界的访问也进行了优化,效率得到了提升。因此软件对Nehalem处理器进行优化时,已经没有必要再使用对齐访问指令。
然后是同步原语。原语是指机器执行多条指令时,必须将其作为一个整体进行执行——要么这些指令全部被执行、要么全部不执行。由于多个程序可能同时访问一个数据,因此必须需要原语才能保证这些程序在访问数据时不会产生冲突。为了方便理解我们可以用一个例子来说明:如果你到ATM机上去取款,输入密码键入需要的取款金额后,如果ATM机扣除了你帐号里的钱,但是不给你钞票那你一定会很震惊并且恼火。这是因为扣除帐号中的钱和吐出钞票虽然是两个动作,但是必须作为一个整体来处理。
对于当前的应用来说,多线程的应用越来越广泛,因此同步原语的速度也更加重要。Nehalem提升了Lock Prefix、XCHG等同步原语的速度,为传统的软件减少了同步延迟,提升了系统在多线程应用中的表现。
Intel的竞争对手早在2005年发布的K8处理器中就集成了内存控制器,但是Intel认为在CPU中集成内存控制器为时尚早, 坚持将内存控制器集成在北桥中,通过前端总线访问内存控制器。一时间,究竟是内置内存控制器更好还是外置内存控制器更优秀成为大家在对比AMD和Intel产品时广泛争论的热点。
从设计角度讲,内置内存控制器可以获得对内存访问更低的延迟,有助于提升实际应用时的存储带宽;同时内置内存控制器将使得主板的设计更加简单,有利于降低系统整体成本。但是内置内存控制器同样也带来一些问题。首先是处理器封装的问题。内置内存控制器需要更多的针脚与内存互联,如何在很小的PAD上摆放这么多接口信号,并外联到PIN就是一个问题。然后是处理器的性能。内置内存控制器必然会带来处理器布局布线的困难,同时在运行时内存控制器也必然会产生热量,如果Intel在早先Netburst微架构中集成内存控制器,那么处理器的功耗将非常恐怖,也会影响处理器的热设计以及性能提升。第三个方面是灵活性。如果集成内存控制器,那么将限定只能使用内存控制器支持的内存,如果需要支持其他类型的内存则需要对处理器进行重新设计。所以虽然集成内存控制器是发展的趋势,但是在什么时候集成内存控制器,更多的成为一种设计取舍时的感觉而非明确的优劣参考。
Nehalem中内置了内存控制器
如今,Intel终于认为时机已经成熟,在Nehalem中弃用了前端总线,并且将内存控制器集成在CPU中。内存控制器被设计在非核心部分,可以针对不同的应用领域更换甚至省略,增强了灵活性。并且,为了表示技术上领先于竞争对手,Nehalem中的内存控制器具有三个通道,支持三通道DDR3 1333内存。对于三条通道全部启用的情况下,内存带宽将高达32GB/s。对此,AMD表示Intel是追随AMD的创新,学习AMD的做法。笔者个人对此不以为然。在芯片中集成内存控制器并不是近些年来才出现的技术创新,早在上世纪,很多面对嵌入式系统的微处理器中就集成了内存控制器。从技术上来说,集成内存控制器对于Intel这种芯片巨头只是小菜一碟。但是什么时间在片内集成内存控制器,才是需要谨慎考虑的,这是一种设计时的折衷,更是一种设计哲学与态度。
Intel内置内存控制器后,内存控制器的性能表现成为大家关注的焦点。很遗憾Intel并没有给出Nehalem中内存控制器一些重要的设计规格,例如内存控制器的延迟、与三级高速缓存连接的位宽等等。我们在后续测试中,将尽可能的为大家揭晓Nehalem内存控制器的表现。
Nehalem中的另一个重要改变是取消了沿用多年的前端总线FSB,转而支持QPI(QuickPath Interconnect)进行系统间互联。在之前的设计中,FSB一直是基于Intel架构的系统中的瓶颈所在。即便当前FSB的频率已经可以高达1600MHz,其带宽也只有12.8GB/s。而对于只采用一条FSB总线的多处理器系统而言,系统间互联和可可扩展性无疑很差。与传统的总线不一样的是,QPI是一种点对点的传输协议,也就是QPI只能挂接两个设备。对于多处理器系统而言,需要多条QPI进行数个芯片间的互联。相对于传统的总线方式,QPI提高了系统的整体成本,却可以大大提升系统互联速度,以及平台的可扩展性。
QPI是一种基于包传输的串行式高速点对点连接协议,采用差分信号与专门的时钟进行传输。在延迟方面,QPI与FSB几乎相同,却可以提升更高的访问带宽。一组QPI具有具有20条数据传输线,以及发送(TX)和接收方(RX)的时钟信号。一个QPI数据包包含80位,需要两个时钟周期或四次传输完成整个数据包的传送(QPI的时钟信号速率是传输速率的一半)。在每次传输的20bit数据中,有16bit是真实有效的数据,其余四位用于循环冗余校验,以提高系统的可靠性。这样子,每个QPI总线单向传输的带宽为每次传输的有效数据×每秒传输次数=102.4Gb/s=12.8GB/s。由于QPI是双向的,在发送的同时也可以接收另一端传输来的数据,因此一组QPI的总带宽为25.6GB/s。QPI同样是非核心的一部分。这说明Intel可以比较灵活的修改处理器中集成的QPI的数量。在针对多路服务器的系统中,可能在CPU中集成四组甚至更多QPI;在针对双路处理器的系统中,将集成两组QPI;而在针对高端桌面平台的Nehalem处理器中,只包含一组QPI。需要特别说明的是,QPI只是Intel用来实现多处理器间互联、以及处理器与芯片组间互联的系统连接协议,而并非一种I/O接口。在I/O接口方面,例如显卡以及其他一些外设,Intel仍然采用PCI-Express来处理I/O通讯问题。
研发代号为Dunnington的Xeon MP处理器,每芯片集成6核心
需要注意的是,QPI取代FSB虽然对桌面用户有一些帮助,但是最大的提升还是在科学计算等需要海量数据处理的领域。由于基于FSB的系统受限于系统互联,系统可扩展性较差。例如Xeon MP在8路以上就会出现性能损失,基于4路/24核/24线程Xeon E7450 的系统SPECint_rate和SPECfp_rate得分只有243分和139分,而基于IBM Power 6处理器的Power 595系统则在32路的情况下依然保持非常良好的可扩展性(包含32路/64核/128线程,每个CPU为5.0GHz Power6的Power 595系统SPECint_base和SPECfp_rate分值分别为2080分和2110分)。从另外一个角度看,TPC-C目前最高的系统为32路/64核/128线程的Power 595系统,其得分为超过6百万分,而Intel自家的系统得分最高的是64路/128核/256线程的基于1.6GHz 24MB L3 Itanium2的HP Integrity Superdome系统,其TPC-C分值只有400万分。目前从Intel取消前端总线而采用QPI,同时QPI具有循环冗余校验功能来看,Intel可能很想凭借基于Nehalem微架构的处理器组成具有更高可扩展性和更高可靠性的系统,来在小型机和高端服务器领域取得一些突破。
随着内存控制器的内置和QPI的诞生,包含Nehalem处理器的系统中对内存的访问也和之前不太一样。在之前我们所见到的Xeon系统中,往往是用多路处理器共享内存和总线的方式进行互联,任意处理器访问任意内存的延迟都是一样的,也就是所说的SMP(对称多处理)。SMP是一种UMA(一致内存访问)模式的一种实现。而在基于Nehalem的系统中支持的是NUMA(非一致内存访问)的存储技术。也就是每个处理器具有自己的本地内存,同时也可以访问其他处理器的远程内存,访问本地内存和远程内存的延迟不相等。在访问本地内存时,CPU向本地内存发出访问请求,并侦听其他CPU以检查数据是否存在。本地内存访问返回数据,而远程CPU返回侦听响应。对本地内存的访问延迟即为两者中的较大值。Intel对本地内存访问进行了优化,使得远程侦测访问时间和访问内存的时间差异不会太大,以免造成瓶颈。
对远程内存的访问就要复杂一些。CPU通过QPI先向远程CPU发起访问请求,远程CPU的内置内存控制器发起自己的内存访问,内存的数据返回到远程CPU的三级缓存中,远程CPU再通过QPI将数据返回。由于QPI延迟不高,内置的内存控制器延迟也很小,因此即便对远程内存访问,整体的访问延迟仍然会保持在一个较好的水平。
提升的SSE4.2
SSE4指令集被认为是2001年以来Intel最重要的指令集扩展,包含54条指令。 Intel在Penryn处理器中加入了对SSE4.1的支持,共增加了47条新指令,提升了处理器在图形、3D图像与游戏、视频编码与影音处理等方面的性能表现。本次在Nehalem处理器中,进一步支持了SSE4.2指令集。SSE4.2完整的实现了SSE4指令集,相对于SSE4.1加入了7条新指令。
SSE4.2指令集
SSE4.2新加入的几条新指令有两类。第一类是字符串与文本新指令STTNI,STTNI包含了四条具体的指令。STTNI指令可以对两个16位的数据进行匹配操作,以加速在XML分析方面的性能。据Intel表示,新指令可以在XML分析方面取得3.8倍的性能提升。第二类指令是面向应用的加速指令ATA。ATA包括冗余校验的CRC32指令、计算源操作数中非0位个数的POPCNT指令,以及对于打包的64位算术运算的SIMD指令。CRC32指令可以取代上层数据协议中经常用到的循环冗余校验,据Intel表示其加速比可以达到6.5~18.6倍;POPCNT用于提高在DNA基因配对、声音识别等包含大数据集中进行模式识别和搜索等操作的应用程序性能。
Intel也公布了支持新指令集的开发工具。这些工具涵盖了主流的编译开发环境。目前已明确支持SSE4.2的开发环境包括:Intel C++ Compiler 10.X、微软的Visual Studio 2008 VC++、GCC 4.3.1、Sun Studio Express等。程序员可以直接使用高级编程语言编程,编译器会自动生成优化结果。当然程序员也可以用内嵌汇编的方式来达到目的。
在软件开发和服务器领域,虚拟机也使用的越来越广泛。Intel从2005年发布自家的虚拟化技术,以减少软件的虚拟机相关开销并更广泛的支持操作系统。减少软件的虚拟机相关开销、提高虚拟机性能可以通过以下两种方式来实现:减少虚拟机与外界的转换和映射等操作,或者减少转换和映射的延迟。Nehalem对这两方面都进行了改进。一方面,Nehalem减少了转换的延迟。而另一方面,Intel使用了两种新技术来减少虚拟机与外界的转换操作。
第一个技术是扩展页表。由于虚拟机上运行的进程是虚拟的,因此在需要查找进程的页面时,无法通过直接访问内存得到,而是必须将需要的地址通知虚拟机,虚拟机再根据自身的内存映射情况将映射后的地址告诉主机。主机进行地址转换操作后将转换后的内存地址通知虚拟机,虚拟机最后再通知需要这个数据的页面。整个过程十分繁琐。Nehalem在存储管理单元中支持了扩展页表VPT。虚拟机上的进程需要访问页面时,可以直接到主机中进行映射,跳过了虚拟机这一层,这样就大大简化了访问的过程。同时,由于硬件的可靠性要比软件高很多,因此这一技术的加入也消除了从虚拟机退出最重要的原因。
第二个技术是虚拟处理器ID(VPID)。在之前的系统中,虚拟机上的进程是虚拟出来的,硬件并不知道虚拟机上运行的进程号码。硬件无法得知进程运行的情况,也就无法很好的管理进程的内存映射和占用情况。虚拟机上的进程需要访问自身的页面时,往往最后被告知页表的表项不在TLB中,于是不得不从内存中取出页表,以得到页面的位置信息和所需的数据,过程非常缓慢。而加入VPID后,由于每个硬件可以直接看到虚拟机上运行的每个进程,因此其虚拟进程号可以和页表的映射信息被一起放在TLB中,这样就提高了TLB的命中率,减少了因为TLB失效导致过多内存访问的情况。
以上是Nehalem在性能方面的改进,下面我们主要来关注一下Nehalem的功耗设计。
功耗的组成部分与工艺的关系
芯片的功耗主要由两部分组成:动态功耗与静态功耗。动态功耗指的是在芯片在工作时,由于晶体管需要开启-关闭,以及电源网络、传输线上的信号翻转所造成的功耗。静态功耗指得是芯片无论是否工作都要引发的功耗。(详细介绍可以参考:http://www.itocp.com/viewthread.php?tid=16611&highlight=%2Bspinup)。在130nm以前,芯片的功耗主要是动态功耗,静态功耗所占比例很小。而在90nm以后,由于特征尺寸变小,漏电的问题越严重。芯片在设计时就不得不考虑静态功耗的问题。在之前CPU厂商所发布的桌面处理器中,很少考虑静态功耗的问题。直到最近几年,这个问题才逐渐被大家所重视。Intel早先发布的45nm Penryn处理器,就通过使用High-K介电质和金属门减轻了静态功耗的问题。而在芯片处于空闲时,使用降低频率和工作电压的方式,来削弱漏电流的影响。但是这仍然无法完全解决漏电引起的问题。尤其在芯片处于空闲时,大量的逻辑门单元和复杂的时钟网络仍然需要耗去一定的电量。
优化芯片的功耗水平,需要从多方面着手进行。目前已经出现的功耗优化技术主要包括:针对应用使用功耗优化的软件算法,在软件编译时生成低功耗的代码,使用功耗优化的架构和微架构,将芯片划分为多个时钟域或/和电源域、将不同的应用需求分配到不同域的电路中完成,门控时钟和门控电源、降低电路的电压或/和频率,使用低功耗的材料和工艺如铜互联、High-K介质、高阈值晶体管等等。Nehalem中几乎采用了硬件可用的所有方面的技术以保证较好的功耗水平。
在架构和微架构层次,正如我们前面所讲到的,Nehalem通过加入了SSE4.2和增强的虚拟机减少了特定任务的操作数量,并通过支持SMT、优化的宏融合、循环流检测器、分支预测和对非对齐高速缓存访问的增强提升了处理器的能耗比。下面让我们来看一下其他的方面。
首先是多时钟域结构。Nehalem的芯片分为两部分:核心与非核心部分。时钟由位于主板上的晶振和对应的PLL产生,并传送入非核心部分。非核心部分将这个时钟(BCLK)分频,为每个核心产生单独的时钟。因非核心部分工作在较慢的时钟域下,有利于减少非核心部分的功耗;核心部分被设计的非常高速,以达到更高的计算能力。
其次是门控电源。门控电源与门控时钟原理类似,都是采用逻辑电路来动态控制电路的电源或时钟。在电路不工作时,控制端即会关闭晶体管,电路的电源即被切断。这样对应的电路就不会产生任何的功耗。与门控时钟相比,门控电源对功耗的降低作用更加明显,因为消除了电路在不工作时的静态功耗;但相应的,使用门控电源也会增加电路的唤醒时间。因为在门控时钟关闭时,电路的时钟停止工作,但电路里的数据因为仍有电源所以仍然可以被保存起来;而门控电源切断时,唤醒则需要再次从外部加载相应的数据。Nehalem对每个核心都使用单独的门控电源,在核心不工作时,相应的电源可以被动态的切断,而不影响其他核心上执行的程序。
然后是动态调节电压和频率。由于动态功耗和工作电路的电压、频率关系重大(动态功耗=常数*电容*频率*电压*电压),因此降低电路的电压和频率对于降低功耗具有重要的意义。Intel在多年以前就开始使用EIST技术以动态降低工作电路的电压和频率,但在Nehalem中,Intel对优化功耗的技术有了进一步的诠释。
这种技术被成为Turbo Mode(加速模式)。Intel相信,降低处理器的功率并不是唯一的解决之道。提高能耗比,在完成相同的任务量前提下减少耗电,或者在相同耗电量的前提下完成更多的任务,才是评价处理器效率的标准。Turbo Mode正是基于这种思想的产物。Turbo Mode可以通过软件或BIOS开启或关闭。在打开Turbo Mode时,处理器可以自动侦测CPU的负载情况,智能的关闭不用的核心,并提高其他核心的性能。在极端的情况下,如果只运行单线程程序,其他三个核心可以全部被关闭,并对运行任务的核心进一步提升工作频率。Turbo Mode的出现真正做到了按需供电、按需提供性能。
最后,Nehalem也使用High-K介质和金属门等Penryn处理器上刚刚采用的工艺,从制造角度降低了处理器的功耗水准。
了解X58芯片组
X58是Intel为Core i7搭配的桌面芯片组,属于高端桌面平台,由X58 IOH和ICH10系列南桥组成。
首先简单解释一下“IOH”这个容易让读者联想到“ICH”的名字。在以往的Intel芯片组如P45、X38中,北桥芯片包含了内存控制器,被称为MCH(Memory Controller Hub)。到了Nehalem推出以后,平台架构发生了翻天覆地的变化,内存控制器从北桥移到了CPU内部,因而北桥不再称为MCH,而是改名为IOH(I/O Hub)。IOH被定义为各种I/O设备连接到具备QPI总线的CPU的桥梁,它同时提供了很多PCI-E 2.0总线连接作为标准的I/O接口。从CPU到IOH的连接界面是QPI总线,从IOH到南桥的连接是从915芯片组一直沿用下来的基于PCI-E Gen1 x4的DMI总线。
在上面的X58高端桌面平台架构图中我们可以看到,X58和CPU连接的QPI总线具备最高可达25.6GB/s的带宽,可以给数张PCI-E高端显卡提供充裕的带宽。而DMI总线万年不变的2GB/s带宽也尚堪用。计划于明年面世的下一代南桥“Ibexpeak” PCH也会通过这条DMI总线与CPU相连。这一代X58继续使用ICH10系列南桥,基本规格和性能仍然是令人满意的,只是期待下代接口SATA 6G和USB3.0的用户要失望了。
X58 IOH提供的36个PCI-E 2.0连接可以配置为2*16x、4*8x等组合(此外还剩下一个4x连接),可以支持最多四张显卡的系统,比如四路CrossFire X、三路SLI、双路SLI及CrossFire等。如果主板要将1个16x连接无跳线切换为2个8x连接,需要放置1组共4颗PCI-E 2.0 Mux芯片,每1颗芯片控制2个PCI-E通道。
上图是X58的2个16x连接重配置成4个8x连接的示意图(点击放大)。因为要拆分2个16x连接,所以用了2组共8颗Mux芯片。底下是华硕P6T Deluxe主板上型号为ASM1440的Mux芯片实物。
我们已经知道,X58主板通过NVIDIA的授权可以直接支持SLI。另外和双CPU的Skulltrail平台类似,X58也可以板载nForce 200(BR04)桥接芯片将一条PCI-E 2.0 x16连转换为两条x16连接,从而实现3路SLI,但这样在成本和功耗上都很高。
在单路的桌面Core i7平台中,如果我们将QPI换成HT,DMI换成同样基于PCI-E总线的A-Link,那么X58+ICH10R的组合就很像AMD K10平台的790FX+SB750组合。见下图。
但在核心尺寸和功耗方面X58就有很大劣势。X58的核心尺寸是10.6mm*13.8mm=146.3平方毫米,略小于一颗RV730 GPU,功耗虽然没有和RV730看齐,在芯片组中也十分可观。
上表是我们从各种文档和消息中收集到的几颗芯片组北桥的功耗数据。X58、790FX和X48/X38都提供了两个16x PCI-E 2.0界面连接显卡,P45提供了一个16x PCI-E 2.0。制程方面X58、790FX、P45都基于65nm工艺而X48/X38基于相对老一些的90nm工艺。空闲功耗的部分,Intel给出的空闲功耗为最大空闲功耗值,而AMD 790FX的3W可能是典型值、最小值或最大值,故没法直接相比,但满载功耗(或TDP值)仍然是可以拿来比较的。X58的功耗介于P45和老制程的X38之间,但两倍于790FX。从芯片组散热器尺寸上我们也能直观地体会到功耗的差距。AMD-ATI芯片组部门设计低功耗PCI-E桥的能力是令人惊叹的,我们也只有期望Intel尽快将IOH切换到45nm工艺生产以减少发热量,同时为全球的节能减碳做贡献。
真身是服务器芯片组——Tylersburg IOH
Core i7+X58 IOH的平台虽然被称为高端桌面(HEDT)平台,实际上CPU和芯片组都是面向服务器应用的芯片。Nehalem架构面向单CPU高端桌面平台的芯片代号为Bloomfield,就是我们所知道的i7;面向双CPU服务器平台的芯片代号为Gainestown(Nehalem-EP)。它们都使用LGA1366接口,唯一的区别就是支持的QPI连接数:Bloomfield仅支持1个QPI连接作为CPU到IOH的专用连接,而Gainestown支持2个QPI连接,一个QPI用作两颗CPU之间的直接互联,另一个QPI连接CPU与IOH。可以说i7这个桌面产品是Intel将服务器版的产品直接下放到高端桌面领域,类似地还可以联想到将Xeon的Prestonia核心用于高端桌面的P4 Extreme Edition。
Tylersburg是X58的代号,也是第一代IOH芯片的代号,该芯片面向单路桌面与双路服务器平台,未来面向四路以上系统的IOH代号为Boxboro。如前所述,IOH是各种I/O设备与支持QPI的CPU连接的桥梁。根据支持的PCI-E通道数(24条、36条)与QPI连接数(Single、Dual),Tylersburg IOH有以下四个版本:
Tylersburg-24S:24条PCI-E通道,1条QPI连接;
Tylersburg-24D:24条PCI-E通道,2条QPI连接;
Tylersburg-36S:36条PCI-E通道,1条QPI连接;
Tylersburg-36D:36条PCI-E通道,2条QPI连接。
Tylersburg-36S即X58,和36D是同一颗芯片,它们的区别在于36S版关闭了2条QPI连接中的1条,在Intel一篇Roadmap当中也把36D版称作X58 IOH。而24S和24D是仅提供24条PCI-E通道的低端版本。双路服务器的平台可以用一颗或两颗Tylersburg来组成芯片组,平台架构如以下两图所示(点击放大)。
图片作者:Impress Watch后藤弘茂
如上图,在一颗IOH的双路平台中,IOH通过两个QPI直接连接到两颗Gainestown CPU;在两颗IOH的双路平台中,两颗IOH分别通过QPI连接一颗CPU,相互之间通过另一条QPI连接,一共提供4条PCI-E 2.0 16x连接。如果Intel计划将双路服务器平台搬上桌面,搞出类似上一代Skulltrail的平台,候选方案就会在上面两种中产生了。
VCC与VTT,主板供电的新面孔
Core i7的四颗CPU内核与Uncore部分有分离的电源层,工作在不同的电压下,在主板的供电电路部分,内核和Uncore的供电是分开的。四个内核共用的电压被称为VCC,Uncore的电压被称为VTT。这里要注意,Core i7供电的VTT与Core 2超频时FSB的VTT概念是不同的,前者是给Uncore部分大量数字和模拟电路供电的电压,而后者是AGTL+总线的终结电压。
以技嘉EX58-Extreme主板为例,CPU VCC供电分布在CPU插座的左侧和上方,为加强型6相供电(虚拟12相)设计,由符合VRD11.1规范、支持动态相数控制的ISL6336A芯片控制。左下角贴着一小块散热片的两相供电就是CPU VTT供电,由符合VRD11规范的ISL6312控制。此外北桥散热片下方还遮盖着两相X58 IOH供电,控制器为ISL6322G。
通过官方资料我们可以知道,供电规范要求VCC供电能达到145A的输出电流,VTT供电的模拟和数字两部分加在一起要达到28A。X58的TDP是24.1W,VCC电压1.1V,电流要求也在20~30A之间。由此我们进行一点估算,一般来讲每相供电能提供30A左右的稳定输出。按照每相供电能提供30A的稳定输出来推算,145A电流就需要5相供电来提供,而VTT部分和X58的供电各需要至少1相,也就是说合理配置至少是5+1+1相,考虑到超频情况,6+2+2相就是合理的选择。华硕P6T Deluxe是16+2+2相,技嘉EX58 Extreme是"12"+2+2相。通过加强散热和合理布线、用料可以让每相供电能力上到40A,每相元件数量和规格不同,供电能力可能不到30A,也可能上到40~60A,因此这里只是对“普通配置”的一点推算。
Core i7 CPU的VCC供电基于VRD 11.1规范,目前露面的VRD 11.1规范PWM控制器包括Intersil ISL6336、ON Semi ADP4000等型号,其中以ISL6336/6336A最为常见。VTT供电基于VRD11规范,使用常见的VRD11单相或2~4相控制器即可控制。i7 CPU会发出两组8bit VID信号分别发给VCC和VTT供电的控制芯片,指示供电电路分别产生VCC、VTT电压。对VRD 11.1的详细内容我们暂时还不得而知,只知道CPU提供了PSI#信号,CPU进入C4 “Deeper Sleep”睡眠状态时就会通过PSI#告知PWM控制器,PWM控制器以逐步逼近的方式大幅降低VCC电压,同时将供电相数关闭到最低1相,从而节约电力。
随着i7 风风火火的上市,intel最新的芯片组X58芯片组也随之亮相,这一代芯片组也是intel历史上改动非常大的一次,CPU针脚定义有原来的775时代迈向了1366时代,内存也从DDR2王朝走向DDR3的新纪元,总之,X58给我们带来了许许多多的变化 让我们一起来看看新时代的主板吧!
intel DX58SO它采用了Intel X58北桥和Intel ICH10R南桥,整块主板采用了黑色大板设计。X58芯片组重要的技术就是支持3通道内存,三通道内存插槽赫然摆放在了主板的最上方,仿佛向大家说“我是三通的”。
Nehalem采用了与以往Core 2 Duo不同的CPU插槽,以前的是LGA775,现在升级到了LGA1366。Intel DX58SO主板采用了中规中矩的6相供电。由于CPU的TDP仍然为130W,因此供电、散热的设计和以往相比都加强了许多,让人耳目一新。
CPU供电方面Intel DX58SO采用了方形密封电感,搭配三洋和日化的固态电容。
主板北桥供电为2相,搭配三洋固态电容和薄型封闭电感。
主板使用了大量的日化, 三洋的固态电容,同时还有不少日化的电解电容,主板支持Cross fire。传闻X58芯片组支持SLI,但是由于NVIDIA和Intel的竞争关系,必须由NVIDIA向Intel主板芯片组提供nForce 200桥接芯片才能支持SLI,但是也许是NVIDIA流露出更多的善意,X58芯片组不需要搭配nForce 200桥接芯片也能原生支持SLI,改变这一决策的条件是,但必须经过认证。目前的情况是,已有部分厂商陆续开始将样品送交NVDIA进行测试、认证。
intel的骷髅标志,和X58主板一起推出的还有intel自家出的超频软件,同样超频软件也带有骷髅标志,莫非Intel认为自己是死亡的象征?
主板提供了POWER快捷键和清CMOS跳线,为超频玩家着想。
I/O接口部分,提供8个USB ,一个千兆网卡,一个 1394接口,2个e-SATA接口,抛弃了传统的PS/2
技嘉 EX58-Extreme是最先上市的X58芯片组主板之一,该主板采用Intel X58+ICH10R芯片组,支持LGA1366接口的Core i7处理器,支持三对DDR3内存,支持CrossFireX以及三路SLi,全固态电容 ,供电与芯片组散热采用配备热管的被动式设计并支持水冷。
一.主板鉴赏
EX58 Extreme的尺寸为标准的Full-ATX,PCB层数为8层,比X58建议的6层要豪华一点。ATX12V 24pin插座布局在主板边缘。整板布局比较合理,CPU插座周围有充足的空间支持大尺寸散热器。
主板供电部分采6+2+2相供电设计,CPU Vcc的6相供电由符合VRD11.1、支持动态相数切换的Intersil ISL6336A控制,铁氧体电感,日系NCC的PSE系列固态电容,低阻MOSFET上覆盖着厚实的一体热管散热器。散热器鳍片为铝质,控制了高度。
近距离观看最新的1366针脚的CPU底座,密密麻麻的排列成两个“L”型,插座中央高频去耦用的陶瓷电容非常完整。
内存采用两相供电,低阻MOS管搭配三洋OSCON SEPC固态电容和铁氧体电感。开机和重启微动开关从一贯的主板下方改到了内存旁,实际使用当中有些不便。
技嘉EX58-Extreme通过更新最新的BIOS可以支持 3路CrossFireX和SLI。最上面的蓝色PCI-E工作在16X模式,中间的蓝色和最下面的橘黄色插槽可以在16+0和8+8模式间切换,以16+8+8方式支持三显卡。槽与槽间距为双槽位,间距较合理但仍无法容纳下T-Rad 2这样的发烧散热器。
技嘉的“超耐久3”技术,深深的印在庞大的南桥散热器上。10个SATA2接口全部横放,与长显卡无冲突,蓝色的6个口是ICH10R原生,白色的4个口由两颗JMicron JMB322控制器支持。IDE接口为桥接芯片支持。USB和TI 1394a扩展插针各提供了2组。
I/O接口部分,提供了8个USB,S/PDIF音频输出,1394大口,双千兆网卡,并保留了PS2键盘鼠标接口,清CMOS快捷键也放在了这里。COM和LPT全部取消。
主板附件包含了加强北桥散热的一组鳍片,形状很像显卡,颜色为蓝灰搭配,并且在热管部分进行镀镍处理。这组鳍片会占用PCI-E 1x插槽的位置。
一体化散热器安装好后的效果,散热器真的很庞大。
二.主板BIOS介绍
直入主题进入超频选项,开始还觉得没什么变化,看到后面我才知道自己错了。技嘉M.I.T里的基本选项。
QPI ,UnCore,BCLK。。。一些新的设置项目够玩家们琢磨一阵了
内存方面,相比P45多了Vtt电压。由于采用DDR3内存,内存电压降低了很多。
续内存的部分调节内容,最下面是CPU电压,Vtt电压,X58芯片电压,内存电压,还有高级电压设置菜单。
进阶的电压选择,非常之多
PC Health菜单照例提供了电压、温度、转速的监控以及风扇温控策略的选项。
ASUS P6T Deluxe在上市的X58主板是最贵的,规格方面和其他X58保持一致。这款主板并没有采用NVIDIA的NF200芯片,而是采用了BIOS认证的方式支持SLI技术。接下来让我们看看这款最贵的X58还有什么特别之处。
一.主板介绍
主板正面全貌
CPU供电采用超强规格的16+2供电 ,由于i7采用的CPU集成内存控制器,多出的两相是给Memory 和 QPI controller供电,增加超频的稳定性,采用富士通固态电容,其最大特点就是超低ESR的特性 。18颗铁氧体电感看上去非常气派,MOSFET上也采用了一体化热管散热器覆盖。
内存方面6根插槽相同颜色的可以组成3通道内存模式,内存采用三相PWM系统,COMS电池也设计在内存旁。内存方面,华硕P6T-Deluxe提供多达六根内存插槽均为DDR3规格,并且用黑黄两色标明了三通道的组建位置,支持三通道1800(O.C)/1600/1333/800 MHz内存,最大支持容量12GB。
POWER键和Reset键 ,方面超频使用,南桥方面主板采用的是ICH10R,同时主板提供了8个SATAII3Gb/s的磁盘接口和一个兼容IDE的接口。南桥散热器相比技嘉庞大的"Ultra Durable 3"小巧了许多。硬盘接口上配备了八个SATA接口,一个IDE接口,其中需要注意的是,黄色的两个“SATA”接口实为SAS(Serial-Attached SCSI)接口,玩家能够使用如西部数据VelociRaptor等支持SAS接口的硬盘来提升性能,当然,普通SATA硬盘也能使用此接口,因为SAS接口是可以向下兼容的。
隐藏在北桥散热器下的超薄型铁氧体电感,在北桥的散热片设计,华硕的P6T Deluxe采用的是巧妙流线型的设计,可以高效使CPU风扇的下压的气流沿CPU为中心辐射形式地散开,有助于CPU乃至旁边的供电电路所产生的温度和外界的冷空气形成强烈的热交换。
扩展槽方面,华硕 P6T Deluxe配备了三根PCIe 16x插槽,一个PCIe x4插槽和两个PCI插槽,支持SLI和CrossFireX技术,使用双卡时将执行在x16+x16的模式下,三卡时将运行在x16+8x+8x的模式下。值得一提是P6T Deluxe这款主板并没有采用NVIDIA的NF200芯片,而是采用了BIOS认证的方式支持SLI技术。
主板背面,16相的PWM驱动芯片,左下角是PEM控制器。
背板I/O接口上,P6T-Deluxe有八个USB接口,两个RJ-45网线接口,一个eSATA接口,一个IEE1394接口,一个PS2接口(从颜色可以得知此接口既可以插键盘也可以插鼠标)以及一个支持DTS技术的多声道音频接口以及光线数字接口。
ASUS看家的EPU节电技术的来源 ,EPU控制芯片
二.BIOS介绍
ASUS 特有的AI Tweaker 超频内容,新增的可选项目非常丰富,有待玩家去细细体会。
内存调节选项,猛一看以为进错选项了,选项有点多,汗一个!
ASUS板载的操作系统选项
X58 Platinum是继“日蚀”之后MSI推出的又一款支持i7的主板,同样采用了8层PCB设计。主板基于Intel X58+ICH10R芯片组设计,采用了Socket LGA 1366 CPU接口类型,支持全新Nehalem架构的Core i7处理器。
标准的ATX大板设计,5+1+2供电设计,提供6条三通道内存插槽,支持双显卡Cossfire互联。
主板采用全固态电容,CPU供电部分采用5相回路供电,每相供电搭配的是“R50”全密闭防磁电感和日化固态电容,在MOSFET上还覆盖有纯铜散热片,在场效应管散热片上有Drmos字样,说明的微星的节能技术得以在该主板上运用。
微星X58 PLATINUM提供了6条DDR3内存插槽,支持1333/1600/2000 DDR3内存,最高支持24GB容量内存扩展。内存供电方面由三个封闭电感搭配4颗MOSFET提供。
北桥为两相供电,VTT为一相供电,供电部分同样采用全日化电容搭配铁氧体电感,
扩展部分,主板2条PIC-E X16显卡插槽,PCI-E 2.0规范。X58支持CrossFireX显卡互连技术。为了方便超频玩家使用,在主板上还设计有Power、Reset按键及CPU_CLK跳线。
微星的D-LED2设计区别于其他主板的D-bug灯
测试平台一:Socket 1366测试平台
测试平台二:Socket 775测试平台
测试软件及版本介绍:
我们测试的CPU涵盖了i7-965、i7-920、QX9770、Q9450、E8400@4G共五款CPU,其中i7-965与QX9770、i7-920与Q9450的主频一一对应,可以反映出i7相比上一代45nm四核处理器在同主频性能上的变化。我们也加入了超到500*8=4GHz的双核E8400处理器来反映高主频双核与主流四核之间的性能高低。
主板方面,i7的御用搭配是X58平台,性能测试使用的主板统一为Intel原装DX58SO;而775平台统一为主流的P45主板,搭配单显卡在图形系统上并没有劣势,而更贴近用户的实际考虑。需要特别说明的是,在后续个别性能测试项目中,为了验证Intel主板的成绩是否有效,我们特别加入了技嘉主板和MSI主板作为对比。
775平台内存为1G*2双通道DDR2,大参数统一为5-5-5-15,运行在DDR2 1066。而i7平台为1G*3三通道DDR3,大参数统一为6-7-7-21,受CPU限制,i7-920运行在DDR3 1066,i7-965运行在DDR3 1333。
伴随测试平台SSD化的大潮流,我们选用OCZ Core V2 SSD 60GB作为测试平台的系统盘,虽然是MLC介质的廉价版SSD,仍然具有非常出色的读取性能,可以大大减少测试中的磁盘性能瓶颈,更集中体现计算和图形子系统的性能差异。测试的操作系统为Vista 32bit SP1。
在游戏测试中,由于需要用到1920*1080分辨率,我们使用了明基E2200HDA显示器。在其他大多数测试中,我们使用了AOC 193FW显示器,不会影响测试结果。
SuperPI
SuperPI是日本东京大学研制的一个圆周率计算程序,它要求CPU的浮点运算能力有着很强的依赖性,同时对于系统内存也有较高的要求, 可以直接反应整个平台的浮点性能。运行成绩以得出结果的时间越少越好。由于计算时间很短,准确率高,文件体积小利于传播等特性,SuperPI成为众多网友测试CPU及内存性能的标准软件之一。同时它也是用来检测超频后稳定性的一个工具。但由于此软件不支持多线程,所以它只能反应出单一核心的性能。
我们选择了最常用的一百万位圆周率计算作为统一的测试参数。从测试结果中我们可以看到,在同频情况下Core i7运行SuperPI时比Core架构的CPU大约提升了13%。由于SuperPI并不是一个多线程的软件,性能上的提升完全是由于微架构和存储子系统的引起的,因此这个提升幅度还是可以让我们满意。我们有理由相信,随着平台的完善和制造工艺进一步的成熟,Core i7绝对有能力取代Core成为新一代的SuperPI王者。
wPrime
wPrime也是一款圆周率计算软件。与SuperPI的不同的是,wPrime在打开一个软件界面下,可以支持多个线程的运算,最多可达八线程,测试多核心处理器性能比SuperPI更准确。随着CPU核心的增多以及多核心处理器在一些应用中表现出来的优势,现在越来越多的用户已经开始意识到衡量CPU的性能不再仅仅是CPU单一核心的性能,所以wPrime也越来越受欢迎。
我们可以看到,四核心的处理器比双核心的处理器有着明显的优势。虽然E8400已经超频到4G,但距离四核心的处理器还有相当大的差距。而Core i7由于支持了SMT,因此最多可以同时处理八个线程,在这个测试中以绝对优势胜出。对比同样为3.2G,二级缓存高达12MB的QX9770,打开SMT后代Core i7 965的成绩提升幅度接近40%!
SiSoftware Sandra
SiSoftware Sandra是一套功能强大的系统分析评测工具,拥有超过30种以上的测试项目,主要包括有 CPU、Drives、CD-ROM/DVD、Memory、SCSI、APM/ACPI、鼠标、键盘、网络、主板、打印机等。它的理论值测试可以有助于我们分析和了解在其它软件里各种应用的性能。我们一般采用Processor Arithmetic来检测CPU运算能力、Processor Multimedia来检测CPU多媒体性能、Memory Bandwidth测试内存带宽。通过以上三项测试我们可以大致的了解这个平台的一些性能。
SiSoftware Sandra同样是一款多线程测试软件。在用Processor Arithmetic和Processor Multimedia进行测试时,我们发现任务可以占满8个线程;而Memory bandwidth是测试内存的,对CPU占用方面没有太大影响。
SiSoftware Sandra Processor Arithmetic测试时的CPU占用率
SiSoftware Sandra Processor Multimedia测试时的CPU占用率
SiSoftware Sandra Memory Bandwidth测试时的CPU占用率
在SiSoftware Sandra的处理器性能测试中,Core i7以令人吃惊的幅度取得了胜利。在标志处理器算术运算能力的Processor Arithmetic测试项目下,同频的Core i7无论是iSSE3还是ALU子项目的领先优势都达到甚至超过了50%。在标志处理器多媒体运算能力的Processor Multimedia测试项目下,同频的Core i7在双精度浮点和单精度浮点SSE2方面取得了75%的领先优势;即便提升最小的SSE4.1定点处理能力,也有20%的提升。SMT的加入对性能提升的影响功不可没!
而在标志存储带宽测试的SiSoftware Memory Bandwidth测试中,Core i7的领先幅度更进一步提升到了150%以上。这要归功于内置的内存控制器。在之前的架构中,FSB具有相当大的局限性,限制了内存带宽。而在内存控制器内置后,CPU与内存点对点连接,消除了FSB的瓶颈,DDR3的存储带宽终于可以完全发挥出来。而由于内存控制器支持三通道,因此内存带宽提升到了前所未有的程度。
Everest Ultimate
和硬件测试工具,和SiSoftware Sandra一样为装机必备的工具。它在测试内存这一块做得十分细致,而且测试的过程较之Sisoftware Sandra要短,所以我们在这里面当成我们检测内存工具的一个主要测试工具,分别是内存复制,内存读取以及内存延迟。
在Everest Ultimate的内存带宽测试中我们进一步验证了Core i7在内存控制器内置和FSB取消后所取得的巨大性能优势。在配套内存和参数设置仅仅为DDR3 1333 6-7-7-21的条件下,Core i7 965的读写带宽就已经分别达到了16.8GB/s和15.4GB/s。
但仅有存储带宽还不够,内存访问延迟也是很重要的。在之前的Core微架构的处理器中,由于内存控制器放在北桥,CPU需要访问内存时需先发命令给北桥内的内存控制器。由于访问北桥内的内存控制器延迟相当高,相应的所表现出来的内存延迟也很高。而在Core i7中,内存控制器被放置到CPU内部,访问延迟很小,只有短短几个时钟周期,因此所反映出来的内存延迟也大幅下降了。
Winrar压缩性能测试
Winrar是一款目前最为流行的压缩/解压缩软件。在后续的版本里Winrar加入了对多线程的支持,而且可以有效的反应平台性能之间的差异。我们一开始打算用Winrar实际压缩几百MB、几万个小文件,但后来在实际测试的过程中发现其瓶颈往往来源于硬盘,对于我们测试这些高端CPU性能的差异会非常之小,所以我们使用了软件自带的Benchmark,这个Benchmark可以很好的检测出这些平台之间性能的差异。
Winrar不仅对计算性能敏感,也是一款对内存性能非常敏感的软件,因此我们把它归结到内存性能测试这一部分中。
测试结果表明,采用三通道内置内存控制器的Core i7在这个测试中没有给Core微架构的QX9770、Q9450和E8400任何的机会。
Fritz:国际象棋
Fritz Chess Benchmark是一款国际象棋测试软件,但它并不是独立存在的,而是《Fritz9》这款获得国际认可的国际象棋程序中的一个测试性能部分。它可以让我们的X86计算机也能完成IBM“深蓝”当初所做的事情,那就是计算国际象棋的步法预测和计算,虽然现在我们的个人电脑依然无法与10年前IBM的“深蓝”相提并论,并且无论是在处理器架构方面、节点方面还是AIX操作系统方面都有很大的差距,但是Fritz Chess Benchmark依然是目前在个人计算机方面最好的步法计算和预测软件,同时也可以让我们对等的看到目前我们所使用的个人计算机到底达到了一个什么样子的水平。同时该软件还给出了一个基准参数,就是在P3 1.0G处理器下,其可以每秒运算48万步。
Fritz的并行度非常高,轻松支持8线程的运算
i7在“国际象棋”里的表现依然精彩,i7 965以11757千步/秒的速度力压前代王者QX9770,即便是主频只有2.66G 的i7 920依然领先Core2 QX9770 10%左右,SMT给Core i7 提供了强大的力量来源。
ScienceMark 2.0:科学计算测试
ScienceMark是一款体现处理器整数运算和浮点处理能力的测试软件,最新版本支持超线程技术。Sciencemark本是被设计出来用以模拟真实科学应用环境的,通过对计算水分子总能量、密码编码解码运算、计算元素周期表中元素的电子能量、氩原子分子动力学模拟等项目的测试,能考核计算机的内存、仿真分子动态效能和浮点精准效能。
我们可以看到,Core i7的总得分相对于同频的Core2四核心处理器有了明显的提升。对于单个项目而言,关于计算元素周期表中元素的电子能量的Primordi程序和密码编码解码运算的Cryptography程序而言,Core i7并没有太大的提升。我们猜测这两款软件的并行度相当小,应该不高于两个线程。关于分子动力学计算的Molecular程序提升幅度较为可观,我们认为可能是内存性能的提升发挥了作用。而在理论测试方面部分,由于SMT和内置内存控制器的作用,计算单精度和双精度矩阵乘法的BIAS/FLOPS程序提升相当明显,单纯计算内存带宽和Memroy Benchmark的提升更是可观。
PCMark Vantage
PCMark Vantage是Futuremark新一代PCMark基准测试软件,可以衡量各种类型PC的综合性能。从多媒体家庭娱乐系统到笔记本,从专业工作站到高端游戏平台,无论是在专业人士手中,还是属于普通用户,都能在PCMark Vantage里了解透彻,从而发挥最大性能。我们使用它来对整体系统性能做一个详细的考量。
PCMark Vantage测试项目主要包括八个:整机、内存、视频、游戏、音乐、通信、生产力、硬盘等,最后将一一列出这些项目的测试结果。
- 处理器测试:基于数据加密、解密、压缩、解压缩、图形处理、音频和视频转码、文本编辑、网页渲染、邮件功能、处理器人工智能游戏测试、联系人创建与搜索。
- 图形测试:基于高清视频播放、显卡图形处理、游戏测试。
- 硬盘测试:使用Windows Defender、《Alan Wake》游戏、图像导入、Windows Vista启动、视频编辑、媒体中心使用、Windows Media Player搜索和归类,以及以下程序的启动:Office Word 2007、Adobe Photoshop CS2、Internet Explorer、Outlook 2007。
测试步骤:
1、首先进行的是多图片测试处理器的图形处理能力。
2、接下来是视频测试,主要使用了画中画播放的方式来测试处理器的视频、音频转码能力。
3、游戏测试环节,采用了3DMark05、3DMark06中经典的森林精灵CG。
4、生产力测试环节,采用了模拟日常办公生产环境进行测试,从而更贴近实际应用时的性能表现。
PCMark Vantage测试花费了我们很多时间和精力。在最初的测试中,Core i7+Intel DX58SO的成绩非常差,在多个测试项目中表现异常。在差距最大的测试项目中,比同频的Core2四核处理器慢了23%。这令我们非常迷惑,因为这无法从原理上进行解释。为了确认这个成绩,我们先后运行了四遍Core i7+Intel DX58SO主板上的这项测试,每次测试耗时约3小时。但残酷的现实击倒了我们。
于是我们开始着手分析是什么地方出现的问题。考虑到Intel这片DX58SO是工程样板、版本号为401,可能存在某些不可预知的问题,我们将主板更换为零售版的技嘉EX58-Extreme。这次更换产生了明显的效果。在PCMark Vantage测试中,Core i7+技嘉EX58-Extreme的成绩比Core i7+Intel DX58SO的成绩高出了约700分,也大幅高于Core2平台的成绩。
Pov Ray光线追踪
POV-RAY 是由名为Persistence OF Vision Devlopment team 的开发小组在DKBTrace2.12 的基础上编写而成的。它减少了编制算法程序的时间,而用专用的场景描述语言来绘制图形。该软件是为了学术研究和教学研制的,软件公开了程序原代码,方便用户自己修改和添加自己需要的功能。
场景描述语言(scene description language)是POV-RAY 所采用的一种特殊文本文件。由以下的几个部分构成:POV-RAY 系统定义的头文件、照相机定义部分、光照定义部分、景物定义部分、背景定义部分。
我们测试的项目是用软件自带的Benchmark 渲染一个场景,以此来考验CPU的处理能力。
CPU占用率不超过50%,证明Pov Ray只能支持到四线程
这又是一个测试结果“不太正常”的例子。我们使用了最新版的Pov-ray 3.7 beta 29进行测试,测试选项为all cpus,但仍然得出了这样的结果。
在Pov Ray测试中,Core i7平台并没有取得领先的优势。Core i7 965和920都被同频的Core2四核击败。最开始我们对这个结果不解,但随着进一步的测试,我们了解了更多的内容。
在SMT关闭后,Core i7运行Pov ray的性能居然获得了大幅提升,把同频的Core2四核处理器抛在身后。我们对这个现象的解释是:Pov Ray并不是一个支持8线程的软件(有CPU占用率截图为证),因此SMT并不能取得性能提升。而Pov Ray对于四个线程如何分配到8个逻辑核心上实现的并不好,因此会经常发生两个线程被分配到一个物理核心的两个逻辑处理器上执行,而其他物理核心空闲,从而造成了资源冲突,导致开启SMT后性能下降。而关闭SMT后,四个线程可以被分配到不同的四个核心上,这时内置三通道内存控制器可以发挥出其威力,因而性能明显进步。我们相信随着编码软件对多线程支持的改进,Core i7的性能会有更优异的表现。
为了确认我们的理论,排除测试平台或环境的差异,我们换用了其他两个品牌的X58主板和内存对Pov Ray进行了更深入的研究。具体数据和上图仅仅略有差异(差距<2%),表现出来的数据分布趋势没有任何变化。
CINEBENCH R10
CINEBENCH是由MAXON公司生产的一款处理器测试软件,它是基于MAXON公司屡获殊荣的动画制作软件CINEMA 4D开发的。CINEBENCH是通过多项测试内容来衡量计算机中处理器和显卡的性能。它支持多达16个处理器或处理器核芯的测试,并且可以在Windows(32-bit或64-bit)系统下运行。
测试将有两个部分分别测试CPU和GPU,CPU部分还会分为单核和多核测试,显卡方面主要测试OpenGL性能。我们采用CPU测试,可以比较直观的体现出CPU多核心多线程的性能。
在CINEBENCH测试中,Core i7同样表现出了无可争辩的优势。而在关闭SMT时,Core i7 965的在CINEBENCH中的性能提升虽然不如前两款软件那么有优势,但以5.8%的幅度击败了前辈QX9770。我们认为改进的高速缓存结构以及内置的内存控制器较小的延迟可能是其在关闭SMT时仍有明显性能提升的原因。
Euler3D Benchmark
Euler3D是一款流体力学计算软件,支持8线程的计算。这款软件使用机翼气动弹性测试案例作为输入,为多线程计算密集性浮点CFD代码作为测试平台,用于评估不同处理器、编译器和操作系统的性能差别。
Euler3D的并行度非常高,8逻辑核心全部满载
Euler3D程序对于CPU计算能力、内存带宽和芯片间互联带宽都非常敏感。在测试结果中我们可以看到,具备8线程计算能力和更高内存带宽的Core i7的领先幅度巨大,达到了60%以上。Core i7对于多线程的处理能力,以及更高的互联带宽是在此项测试中胜出的关键所在。
Photoshop CS3.0
Photoshop是Adobe公司旗下王牌图像处理软件,它在数字图形编辑的成就至今没有任何软件可以去替代。Adobe的Photoshop喜好较快的FPU浮点运算单元和大内存带宽,并且从6.0开始就对多线程良好支持,所以对于我们进行CPU/内存系统测试有相当大的实际意义,我们在这里使用比较新的Photoshop CS 3.0来测试。我们采用了一系列的脚本,其中包括了我们经常会用到的增加图层、选择选区、直方图调节、锐化/模糊滤镜等等多达20多项的日常操作,然后打开计时功能以查看运行时间。
Photoshop是很难得出准确结果的一款软件。Photoshop的在处理图像的算法方面不是特别复杂,但往往需要占用较高的内存。而内存预先载入,以及每次退出后滞留在内存中的“碎片”会对测试结果有很大的影响。所以我们测试的时候会运行5次此脚本,然后去掉一个最高和最低的成绩,再对以下三个成绩取平均值,以减少误差。
Core i7在Photoshop CS3中的胜利需要归结于两个方面:SMT和很高的内存带宽。在具备了这两个装备后,Core i7成为图像处理工作者的首选利器。Core i7可以为图像处理工作者带来完美的用户体验。
Windows Media Encoder
Windows Media Encoder是Microsoft推出一款视频转码工具,主要输出格式为WMV9。这款软件由于Microsoft的金字招牌以及提供了SDK,所以用户群也较为广泛。这款软件对于CPU多线程支持力度一般,转码的效率相对比较低下,但仍然可以作为视频工具的一个重要参考指标。
Windows Media Encoder支持的线程数不高于4个
在Windows Media Encoder中,Core i7平台并没有取得领先的优势。Core i7 920在这个项目中的性能甚至要低于同频的Q9450。而在SMT关闭后,Core i7运行Windows Media Encoder编码性能获得了大幅提升,远远把同频的Core2四核处理器抛在身后。这个情况很类似于Pov Ray测试中所体现出来的情况。
WME同样不是一个支持8线程的软件(有CPU占用率截图为证),其对于如何把四个线程如何分配到8个逻辑核心上同样实现的也不好。我们相信随着编码软件的改进,Core i7的潜力同样可以在编码软件里体现出来。
同样,为了确认我们的理论,排除测试平台或环境的差异,我们也换用了其他X58主板和内存对WME编码进行了更深入的研究。具体数据和上图虽然有所差异(大约差异5%~10%),但表现出来的数据分布趋势却没有任何变化。
winAVI
winAVI Video Converter是大众级的视频编、解码软件。界面非常漂亮,简单易用。该软件支持几乎所有视频文件格式,再加上其简单易用,所以其用户基础非常广泛——大家在买了mp4之后,就经常用这个软件转RM,或者是买了ipod把RM转成MOV。尽管这款软件根本不支持多线程,但用户群体实在是太大,所以我们不得不测试一下此款软件在各个平台上的性能。
由于winAVI并不支持多线程,因此我们可以看到Core i7 965在SMT选项打开和关闭时对结果几乎没有什么影响。但是由于三通道内置内存控制器的作用,Core i7还是比前代产品有着明显的提升。
3DMark06
3DMark06是一款Futuremark在05年推出的一款基于DX9.0C的3D性能测试工具。作为上一代基准测试软件,3DMark06虽然仍有广泛应用,但已经尽显颓势,因为如今的高端显卡已经可以轻松应付其中的渲染工作,因此处理器就成为了瓶颈。为了更好的代表主流用户的需求,并同时达成测试在CPU成为瓶颈环境下CPU的性能的目的,此次测试我们把3DMark 06列为了众多项目之一。
3DMark 06对于多线程支持良好
3DMark 06对多线程的支持虽然不如3DMark Vantage,但整体而言还不错。Core i7在这个测试项目中有着比较明显的领先。
3DMark Vantage
3DMark Vantage是一套基于微软DX10 API打造的综合性基准测试工具,能全面发挥多路显卡、多核心处理器的优势,在当前和未来一段时间内都能满足PC系统游戏性能测试需求。它包括两个图形测试项目,两个处理器测试项目,和六个特性测试项目。图形和处理器测试项目都是全新制作的,还特别加入了对人工智能(AI)和物理加速的专门测试,这也就是我们采用它测试多线程CPU的一个原因。
3DMark Vantage对于多线程支持非常好
针对Windows Vista系统推出的3Dmark Vantage将CPU和GPU的测试得分单独计算,因此更能够看出不同平台配备下CPU性能的差异化,通过 CPU子项得分很容易看出处理器在游戏运行时的差距,相比上一代的顶级产品Core 2 Extreme QX9770提升高50%之多。全新架构的Core i7系列处理器,所表现出来的性能,让我们觉得很夸张。
本次测试因为侧重测试CPU,所以采用的几款游戏以RTS类为主。在RTS(即时战略游戏)中,大量单位的运动是很依赖CPU速度的,这就是那些即时战略游戏中只有很少的一部分支持高级的移动方式(例如魔兽争霸中的英雄)的原因。除了单位的移动需要占用CPU大量运算时间,单位间的碰撞(双方开始交战),3D图像生成(基地进行建筑生产等)等都会对CPU有很高的要求,更不必说游戏中复杂的AI运算,场景切换运算等等。在游戏中,CPU需要负责计算作战单位的移动方向、子弹的轨迹、物体是否被子弹击中、造成伤害多大.....这些就成为了CPU主要负责的内容。因此可以说没有强力CPU的支持,GPU会成为RTS类游戏的主要瓶颈。当显卡不是瓶颈的情况下,FPS越高就越容易体现出CPU的重要性。
测试方法:在设定的平台上运行游戏,选取每款游戏中最低分辨率最低画质,最高分辨率最低画质,最高分辨率最高画质三个模式,分别测试每款游戏的Benchmark得分。测试的分辨率因具体游戏而定。设定的5个平台均为Vista SP1,显卡为GTX280。
《虚幻竞技场3》(UT3)
这是由Epic Games所开发的第一人称射击游戏,在Xbox360/PS3平台上也有很好的表现。对这款DX9的游戏而言,对GPU要求不高,搭配更高的CPU可以避免因处理器带来的瓶颈。《虚幻竞技场3》对四核的支持度非常好,四核心任务分配比较平均,相比较《最高指挥官》多核支持方式成熟先进了许多,UT3的引擎功不可没。
此游戏测试采用的是游戏的Benchmark,在800x600最低画质,1920x1080最低画质和1920x1080最高画质三种模式下分别测得数值进行横向比较。关闭硬件加速,让CPU更多担负起物理运算器的作用。
我们可以看到,Core i7在UT3测试中并没有表现出相对于Core2平台的优势。相反,在大部分设置中,Core i7的表现甚至弱于Core2平台。对于对硬件要求不高的UT3,Core i7的结果仍然不好,让我们担心其在后续游戏项目中的表现。
《最高指挥官:冒牌盟友》(Supreme Commander Forged Alliance)
作为继承了《横扫千军》精髓的即时战略游戏,《最高指挥官》向世界玩家展现宏大的星际战争。游戏全面支持DirectX10和多核处理器技术、差异明显的单位设定、同屏支持上千单位输出,庞大的世界设定是很多即时战略类游戏不可比拟,不过,庞大的场景是以消耗CPU资源而获得的,《最高指挥官》的制作公司Gas Powered Games对玩家的CPU提出了很高的要求。此游戏对多核处理器的支持也进行了优化,当使用双核处理器的时候,它就分simulation和Rendering两个线程运行;当使用四核处理器的时候,多出来的两个核心就被分去负责音频和显卡驱动管理的工作,但由于这两个线程的工作量并不大,双线程捎带着就能解决,所以在这款游戏上多核对双核的优势并不是那么明显。
此游戏测试采用的是游戏自带的Benchmark。由于《最高指挥官》允许的最低分辨率是1024x768,我们在1024x768最低画质,1920x1080最低画质和1920x1080最高画质三种模式下分别测得数值进行横向比较。
在《最高指挥官》的测试中,Core i7仍然表现不好。
《冲突世界》(WIC)
《冲突世界》来自瑞典游戏开发商Massive Entertainment(现归属育碧旗下),是首款支持DX10的RTS即时战略大作,素以宏大震撼的战争场面著称,在宣传期间就因配乐和恢弘的CG为人称道。游戏中各兵种的协同操作,激烈的交战场面,高AI敌人,全仿真地形和各种新加入的战斗要素都给CPU带来了很大考验。并且《冲突世界》也特别针对多核进行了优化,多核分担运算的情况下对本次的测试更有意义。
此游戏的测试采用的是WIC自带的Benchmark,在800x600最低画质,1920x1080最低画质和1920x1080最高画质三种模式下分别测得数值进行横向比较。测试时在低画质切换到高画质后,因涉及到DX9与DX10切换上的问题,必须重启一次游戏以使设置生效。
冲突世界不能支持到8线程运算
在低画质测试中,Core i7表现出了一定的优势。但是这没有太多的意义。因为200帧以上的速率,对于游戏的流畅程度已经没有任何影响了。这时用户关心的往往是画质本身,而不再是游戏的帧数。而在高分辨率高画质设定下,所有平台的成绩下降均非常严重。我们判断此时的瓶颈已经在于显卡,或者与显卡相关的部分,而不在于CPU。
《英雄连:抵抗前线》(Company of Heroes Opposing Fronts)
《英雄连》作为一款全新概念的3D即时战略游戏,采用了非常复杂3D效果和大量的物理处理,飞机飞行轨迹,众多爆炸场面,子弹弹道,弹着点分析与碰撞效果等等。这次测试选用的英雄连的资料片---抵抗前线,它使用了升级版的Essence引擎,支持DirectX 10,加强了物理效果,支持动态天气系统,加强了车辆和士兵的AI。游戏中视觉角度的可变换性给游戏增加了亮点和可玩性,随之而来因场景和视角变换而致使CPU计算任务也变得更加繁重。
此游戏测试采用的是游戏自带的Benchmark,在800x600最低画质,1920x1080最低画质和1920x1080最高画质三种模式下分别测得数值进行横向比较。
无论在什么设定下,Core i7与同频的Core2平台的差距都微乎其微。由于英雄连所采用的引擎并未支持8线程,Core i7的SMT无从发挥。而由于游戏本身往往对内存带宽和延迟依赖不高,因此内置的内存控制器也发挥不出威力。Core i7,看起来注定不是为当前的游戏而生。
在对Core i7超频之前,我们得明确我们超频的最终目的,那就是为了提升性能。而我们看到在i7内部,一共存在或者有相联系的一共有以下的几个频率:
BCLK:Base Clock,也有叫Bus Clock的。用最通俗的讲法就是外频。如果找一个最贴近的概念,这个频率和AMD K8、K10平台的外频很相似。尽管它不直接决定处理器的速度,但以下所有频率都是在外频基础上乘以倍频得到的,一旦改变外频就是牵一发动全身,所以它也是超频的关键。
与Core 2平台的外频不同,这里通过BCLK外频不会得到一个固定4倍的FSB,也不是以分数分频的方式产生内存频率,它不需要很高。Core 2平台动辄400、500外频的时代一去不复返了。BCLK外频通过乘以四个倍频产生Core、Uncore、QPI、内存四个关键频率。
Core Clock:内核时钟,也就是我们常说的主频,这个频率是我们最为重视的一个频率,BCLK*内核倍频=Core Clock。倍频一般是锁死的,这时超主频就必须拉高BCLK。不过也有两个例外。
例外之一是通过开启Turbo Mode,处理器可以自动地提高倍频。例外之二是属于至尊版的i7 965的倍频没有锁,因而用户可以通过超倍频提高Core Clock。
Uncore Clock:一般缩写为UCLK。Uncore时钟,由BCLK乘以Uncore倍频得到。Uncore就是Nehalem CPU里除了四个内核以外的部分,包括了共享L3、内存控制器、QPI等。这个概念类似K10 CPU里的北桥,CPU-Z界面里干脆管它叫NB Clock。Uncore频率决定着QPI控制器、L3、内存控制器的工作频率,看上去也非常重要,稍后我们会做一个测试来说明这一点。
UCLK既不是内存频率也不是QPI频率,但它和内存频率存在一个很强的关联性就是,UCLK不能低于内存等效频率的2倍(或者说内存频率的4倍)。举个例子,i7-920/940的UCLK默认是2133MHz,所以内存频率最高只能到DDR3-1066(533MHz),这也就是其内存规格限制所在。
一部分主板在BIOS里强制UCLK不低于内存等效频率的2倍,另一部分主板BIOS虽然提供了更低的UCLK选项,但UCLK低于内存等效频率2倍时根本不亮机。
QPI Clock:QPI频率是BCLK乘以QPI倍频得到的。和当初我们在AMD K8上见到的HyperTransport(HT)频率一样,由于内存控制器的集成,它的频率大大超出了我们的需要,所以在超频时如果会碰到瓶颈,我们直接降低它的倍频即可,不用担心会降低什么性能。
QPI频率一般以QPI Data Rate的形式写出,每个时钟周期上下沿各传输一次数据,因而Data Rate是QPI总线工作频率的2倍。CPU-Z显示的是QPI的总线工作频率,单位写作Hz而不是T/s,注意区分。比如i7-965外频133MHz、QPI Data Rate为6.4GT/s,那么它的QPI频率是3200MHz,QPI倍频是24x;BIOS里选择QPI Data Rate为4.8GT/s的话,QPI倍频就是18x。
Memory Clock:内存频率也是在BCLK上直接乘以一个倍频得出的,而内存性能直接受此频率影响。BCLK=133MHz时,DDR2-1333、1066、800意味着内存倍频为5、4、3。前面已经提到,内存等效频率不得大于UCLK的一半。
这张CPU-Z截图显示了一颗超到4320MHz的i7-965至尊版的各种频率。
外频(Bus Speed)超到了180。内核倍频(Multiplier)是24x,内核时钟(Core Clock)为180*24=4320MHz。
UCLK(NB Clock)为3600MHz,反推出UCLK倍频是20x,与i7-965的默认值相同。
内存工作频率(DRAM Frequency)为900MHz,也就是说内存工作在DDR3-1800下。我们可以看到内存已经跑在了UCLK所限制的上限。CPU-Z显示的分频关系是FSB:DRAM=2:10,就是内存倍频为5x,或者内存等效频率是外频的10倍。
QPI工作频率3960MHz,比i7-965默认的3200MHz提高了24%,除以180外频我们反推出QPI倍频为22,低于默认的24倍频。在BIOS里我们是将QPI Data Rate从默认的6.4GT/s调整为5.86GT/s来做到这一点的,读者可以自行推算。
我们用一张表来总结三款Core i7处理器各个关键频率、倍频以及它们的可调范围。部分数据为目前的传闻,仅供超频玩家参考。
Core i7 920 | Core i7 940 | Core i7 Extreme Edition 965 | |
默认BCLK | 133 MHz | 133 MHz | 133 MHz |
内核倍频 | 20x 锁定 | 22x 锁定 | 24x 可调 |
默认Core Clock | 133*20=2666MHz | 133*22=2933MHz | 133*24=3200MHz |
Uncore倍频 | 16x 可调 | 16x 可调 | 20x 可调 |
默认UCLK | 133*16=2133MHz | 133*16=2133MHz | 133*20=2666MHz |
QPI倍频 | 18x 可调 | 18x 可调 | 24x 可调18x/22x/24x |
默认QPI频率 (Data Rate) |
133*18=2400MHz (4.8GT/s) |
133*18=2400MHz (4.8GT/s) |
133*24=3200MHz (6.4GT/s) |
默认内存倍频上限 | 4x | 4x | 5x |
默认内存频率 | 533MHz (DDR3 1066) |
533MHz (DDR3 1066) |
667MHz (DDR3 1333) |
关于Uncore倍频、QPI倍频和内存倍频的说明:UCLK、内存的倍频在i7-965至尊版上都是可以向上调节的,i7-940/920的ES版上是锁定的。i7-940/920零售正式版的UCLK/内存/QPI倍频都未锁定,这在我们手上的i7-920零售样品上得到了验证。
下面我们来看UCLK的频率对于L3/内存频率的影响,在此之前,我们把CPU、内存、QPI的等所有频率都固定了,仅仅对Uncore这一频率做调整。注意的是,Everest的测试不能反应L3频率以及延迟的真实值,只能在对比测试有对比意义。
测试平台固定在技嘉EX58 Extreme主板上,使用i7-965,调低了QPI以及Uncore倍频以保证各种频率下稳定,三次测试仅选择了不同的Uncore倍频,具体如下表:
点击图片查看大图
在这个小测试里我们一共使用了Everest Cache&Memory Benchmark、WinRAR、Super PI,我们看到了,除了Super PI的测试属于误差之外,有很多测试成绩有很大的差异,我们把差异整理成柱状图:
内存带宽测试中由于内存频率很低,实测带宽不高。尽管如此,Uncore频率仍然对带宽成绩产生了很强的瓶颈效应,随着UCLK线性下降,带宽也跟着线性下降,写入带宽几乎和UCLK成正比。
EVEREST测试中三级缓存的带宽与UCLK关系并不线性,从2.77G降到1.85G时三项测试成绩都有下降。
内存访问延时随Uncore频率降低而明显增加,与Uncore频率的倒数基本为线性关系。EVEREST测试给出的L3延时结果似乎都是错误的,无参考价值。
WinRAR内建的Benchmark对内存带宽十分敏感,因此正像我们在内存带宽测试中看到的一样,成绩与UCLK基本呈线性关系。
总的来看,Uncore频率对访问内存和缓存的性能都有非常大的影响,是影响性能的关键因素。
各家X58成绩展示 5GHz很容易
在测试之前,我们就已经预料了这样一个全新架构或许会给我们带来很多新的问题,而且新生产品总是带着很多不成熟的缺陷,但是没有想到我们在超频过程中还是会碰到很多问题。 首先说明一点,对i7超频之前,Uncore是一个非常重要的因素,在前面的测试我们看到了它对于L3 Cache以及内存性能的影响,所以在性能上是一个很重要因素;除此之外,我们内存/外频超频的成功与否,也得靠它,所以在超频成功性方面还是相当之有影响。
我们手头上的超频平台,主板方面分别有:Intel DX58SO/MSI X58 Platinum/ASUS P6T-DELUXE/GIGABYTE EX58 Extreme,内存分别有Kingston Hyper-X PC10060,CPU方面分别有10颗-6颗920、两颗965,可以说这样的阵营还是相当强大的。但是因为时间的关系,我们既要进行性能测试,还要做专题其它方面,所以不可能把每块部件摸得详细,只能在我们认为这个配件具有较高的超频潜力之后,我们才会对其深入研究。
先从各个主板开始介绍一下: Intel DX58SO: 从超频角度上来说,这是一块很稀烂的主板。也就是在现在主板都不成熟的情况下,这块主板才有被测试超频这一块的意义,否则,它只能是一块稳定性,质量上不错的主板。这个主板在超频方面的选项非常之少,比如说像很多电压以及频率都没有办法高速,包括在上965时没办法调节24以上倍频。 如果是Extreme系列(例如Core i7 Extreme 965),才可以对TDC Current Limit Override和TDC Power Limit Override进行设置,这两个是超频时Cpu最大电流以及最大能耗的限制,当超过这个界线时会自动降频,对超频影响相当大。以下的图片就是这个机制发生之时,Cpu-Z并没有办法侦测出它的真实频率,只能测出我们在Bios里设定的频率,但是采用Super_pi一检测就出来了它的真实频率其实非常之低(920默认频率下运行Super PI时,1m需要15.44秒)
MSI X58 Platinum这块主板我们摸的时间比较少,只是在粗略的接触之后,发现其超频选项还比较丰富,但是由于最终BCLK无法超过150Mhz,151都没办法过,在i7 920上是致命的,这也就是说没办法超过3G。我们就在后续就没有进行更详细的测试,也希望MSI在后续的Bios能够进行修订。 ASUS P6T-DELUXE是一块比较“神经”的主板。说它“神经”的原因是在于它拥有超比较强的超频能力的同时,还拥有着一大堆的Bug:首先是当三条ADATA DDR3 1900+插上去的时候,Cpu-Z显示成双通道,而如果两条插上时又变成了单通道;后来我们又发现了对调两根内存时,它就会从双通道变成三通道,反而正常了。
另外,我们还发现了,当我们在Bios里设置7-7-7-20的时序时,Cpu-z则显示11-7-7-20,可如果我们把内存分频改一下,它有可能就变成了8-7-7-21。我们很怀疑是Cpu-z认错了,但是即便是如此,在Adata这对条上还是有很大兼容问题,因为我们用Everest Cahce&Memory Latency测试时发现不论是L3还是内存的带宽以及延迟都相当低效。
而当换了OCZ的内存条之后,它们的通道数显示就正常了,当然timing还是显示不正常,但这已经不是大问题。值得一提的是Asus主板的性能相当高,和Intel DX58SO在一个水平上。
另外,ASUS主板在主频以及BCLK超频方面,都是这4片主板里最强的。而如果论到极限超频,就开始和其它主板开拉了一段不小的距离。所以ASUS主板在极限方面真是一块很不错的主板,如果通过Bios修正一些小Bug,相信也是众多发烧友的首选。
Gigabyte EX58 Extreme是一个很令我们放心的产品,并不是说它在超频里就做得很成熟了,而是相对让人省心。它的缺点也有三块: 第一则是外频上限卡死在了180左右,再高上不去,也有可能是第一批X58的体质问题; 第二个则是设置问题了,它每个channel的timing都必须单独设置,也就是说我们要设置20个内存参数时,你就得设置20x3=60个参数。天啊,这是一个相当令人痛苦的事情,而且它还在不同的选项里,你只要改一个参数的设置,你就得来来回回进5个页面,改动3个参数; 第三个是Uncore并没有像其它主板一样设下限,目前来看所有主板在超Uncore之时必须是内存频率的2倍以上,如果一旦低于这个值有可能就会不亮机,而Gigabyte没有强制的后果可能会使得很多人超频失败却找不到原因,当然也有可能在后续的Bios里Gigabyte可以做到Uncore频率低于内存频率的两倍,但这个陷井还是早早去掉为好。 不过除此之外,Gigabyte的超频就比较好弄了,基本频率一调,时序一设,我们超频就成功了。性能方面略比ASUS/Intel DX58SO略差一点,而频率方面和ASUS基本持平,应该算是目前最好超的Core i7主板了。 下面是我们使用Gigabyte EX58 Extreme跑出来的成绩:
而最好的Super Pi成绩在此:
总而言之,i7超频有点像Conroe出来的时候,一切东西都不太成熟,各家主板/内存超频上都有很多怪异现象;又有点像当初k8出来的时候,由于整合了内存控制器,所以内存超频的好坏不仅和内存本身、主板有关,和CPU也有一定关系,同时QPI和HT一样,都需要调整较低的频率以便增加超频成功率;另外由于Uncore概念的加入(其实K10就已经有这个玩意了,只不过由于大家对k10的超频不感兴趣,所以了解的人不多),所以超频所需要调节的东西又多加一项,增加了超频难度的同时,也增加了超频的乐趣。
最后附上一个极限超频@·Asus p6t deluxe的成果:
Core i7的性能测试到这里就告一段落,相信各位读者已经有了比较清楚的了解。下面我们将着眼于Core i7平台的功耗与温度控制能力。在这部分中,我们不仅将看到基于Core i7平台的整体功耗与前代的功耗和温度对比情况,更可以看到SMT和Turbo Mode对于功耗和温度的影响。
在功耗测试中,我们使用了台式功率仪对基于Core i7和Core2平台的整机待机功耗和满载功耗进行了评估。在满载功耗测试中,我们使用的评估程序为记录满载或待机10分钟内台式功率仪所显示的最高功耗数据。在Core i7 965和920默认测试、以及920打开Turbo Mode功能的测试中,我们同时运行4个ORTHOS程序手动分配每个ORTHOS所使用的CPU核心数,使所有逻辑核心都达到满载的情况;而对于Core2四核平台以及Core i7 965关闭SMT的情况,由于只有四个物理处理器在工作,我们同时运行了2个ORTHOS程序;也采用手动调节每个程序所使用的CPU核心数,使所有逻辑核心达到满载。对于Core2双核平台,我们运行了1ORTHOS个程序。
在空载情况下,即便关闭了Turbo Mode,Core i7平台比前代的Core2平台的功耗并没有上升太多。Core i7 965+X58平台比C2E QX9770+P45平台的功耗只增加了8.5%,Core i7 920+X58平台比C2Q Q9450+P45平台的功耗更是仅仅增加了3.3%。考虑到我们测试的时候,Core i7平台是使用三通道内存,而Core2平台仅仅使用了两条内存,Core i7处理器的在空载状态下的功耗很可能不高于其前任。
而在打开Turbo Mode后,由于系统处于空闲状态,大部分核心被自动切断电源。此时Core i7平台的功耗进一步下降,已经低于同频的Core2四核平台11.3%。Turbo Mode的作用是明显的。由于我们的计算机在日常很多时间都处于空闲或低负载运转状态,Turbo Mode的加入无疑将减少系统的无用功耗。而在满载功耗测试中,Core i7平台与Core2平台的功耗差距开始拉大。在SMT开启并且Turbo Mode关闭时,Core i7 965+X58平台的功耗比Core2E QX9770+P45平台的功耗高出了62瓦,增加幅度达到了27%;而差距最小的打开Turbo Mode+开启SMT的Core i7 920,功耗也比Core2Q Q9450高出了12%。初看起来这个结果不太妙。但是考虑下,如果同时打开Turbo Mode并关闭SMT,Core i7平台的整体满载功耗可能仍然与Core2四核平台持平。如果我们再进一步指出,这是在Core i7集成了内存控制器和QPI控制器,并且Core i7平台上多加了一条内存得出的测试结果,我们应当对于Core i7的功耗控制能力表示赞赏。
满载的测试结果中还有一件有趣的事情。即便在高负荷的程序中,Core i7集成的Turbo Mode仍然可以见缝插针,在某些计算空闲时刻关闭相应内核,降低了整体功耗。这个降低的效果也超出了我们之前的预料,达到了9.2%。看起来Turbo Mode确实是Intel在功耗控制技术上的一大进步。在温度测试中,我们使用软件传感的方式对各个平台上的温度进行检测,并截取我们所记录到的最高温度。使用的软件为EVEREST Ultimate。
空载时, Core i7在温度方面表现的相当不错。Core i7平台的温度与Core2四核平台的温度基本相当甚至略低,考虑到测试误差,我们可以认为两者的温度相同。空载温度并没有像很多人想象的那样跟功耗同步升高,我们的解释是这样的:首先,Core i7的核心面积比Core2四核要大,而晶体管数量要少。Nehalem微架构的Core i7的核心只有7.31亿晶体管,比Yorkfield减少了8千9百万,而核心面积为263mm^2,比Yorkfield增加了49mm^,更低的晶体管密度使得处理器的热量密度更低。其次,Core i7具有更多针脚,可以为处理器从主板上带走更多的热量。满载时的表现则相当有趣。Core i7 965的温度比QX9770并没有提升太多,只有4度。这样的结果让我们感到满意。而Core i7 920则没有那么乐观,比Q9450提升了足足有11度。我们正在试图找出测试结果差异如此之大的原因。
整体而言,Core i7无论是在功耗还是在温度方面,都让我们满意。我们必须对Core i7的功耗控制能力表示赞赏。
Core i7表现总结
震撼性的内存性能
在Core i7中,Intel终于删除了令人诟病的前端总线,而将三通道的内存控制器放置到处理器内部。内存与处理器直接互联,处理器之间以及处理器与北桥之间通过QPI相联。这种结构使得Core i7的内存性能有了翻天覆地的变化。对于多媒体内容处理、科学计算与事务处理等需要海量内存交换的应用而言,Core i7的出现使得桌面处理器产生了新的王者。
强大的多线程
在6年前Pentium 4 3.06GHz发布时,支持多线程的软件少而又少,这使得当年HT并不被广大用户所认可。而在6年后,支持多线程的软件已经广泛应用到多个领域中。Intel的Core i7具有四个硬件内核,可以同时处理8个线程。强大的多线程能力使得Core i7在众多测试软件中表现良好。
令人满意的温度与功耗表现
相对于强大的处理能力,Core i7的功耗水平还是值得我们称赞。虽然在关闭Turbo Mode并打开SMT时,满载功耗比Core2时代同频率的四核处理器高了不少,但是考虑到性能的提升,以及内置内存控制器和QPI控制器会带来更多功耗,Core i7的功耗表现让我们认可。而在打开Turbo Mode时,Core i7的待机功耗已经比同频率的Core2 Quad处理器更低,而满载功耗也高不了太多,我们必须对Core i7的功耗控制能力表示称赞。而在温度方面,Core i7也表现的相当不错。
谁需要Core i7
对于专业的多媒体数字内容创造工作者而言,Core i7是他们的福音。专业的多媒体数字内容创造者对于计算能力的需求非常强劲,很多专业工作者会花十几二十几个小时去渲染一个3D模型,或者去编码一部影片。如此之长的等待时间是让人感到烦躁而且痛苦的。而当今主流的多媒体处理软件很多已经支持多线程处理,支持SMT的Core i7可以带来巨大的性能提升。同时由于视频、动画、图像、图形等方面的处理往往需要很高的内存带宽,Core i7内置的三通道内存控制器可以让使用者感到满意。Core i7无疑将成为很多专业多媒体数字内容创造者最想要的硬件。
对于一些富裕群体和高端硬件发烧友而言,Core i7的出现无疑也为他们提供了YY的对象。Core i7在一些理论性能的计算中表现优秀,这将使得一些高端硬件发烧友垂涎三尺。“不追求天长地久,只在乎曾经拥有”。一些不在意价格、更关注性能表现的用户将会在最短的时间内买来Core i7一尝新鲜。
而Core i7的出现也为日后的服务器、笔记本处理器的发布奠定了基础。Nehalem微架构中加入了多项对服务器平台的针对性设计,而门控电源和Turbo Mode的加入也使得Nehalem微架构处理器的功耗控制在一个很好的水平。我们可以期望,Intel在明年将发布的基于Nehalem微架构的服务器、笔记本处理器平台上将一展身手。
但是可能要让众多游戏爱好者失望的是,Core i7并不是为他们而生的。事实上我们可以看到,Core i7在众多游戏中难得表现。其原因可以归结为以下几个方面:
- 在于目前的游戏引擎对于多核心的支持并不好。虽然有相当数量的游戏引擎已经支持双核心甚至四核心,但是能够支持到8线程运算的游戏引擎很少,因此大多数游戏无法发挥出Core i7 8线程并行处理的威力。游戏厂商所采用的编程模型落后,是Core i7在游戏中无法发挥出其性能的重要原因。由于相信硬件会一直发展以满足更好的游戏的需求,游戏厂商更加注重追求游戏内涵、情节、特效、音质等方面的提升,而对于如何利用硬件能力并不是特别在意;而另一方面,多线程编程模型比较复杂,开发环境对于多线程的支持还不足够智能,使得游戏厂商更加不愿意把精力投入到多线程的优化中。
- 目前游戏玩家更加倾向于在高分辨率、高画质的条件下运行游戏,以获得更佳的游戏体验。而这时性能的瓶颈往往在于显卡的处理能力,而不是CPU。这时无论是CPU微架构的提升、还是缓存和内存性能的改进对于游戏并没有太多的帮助。同时充分利用一款处理器的硬件提升往往需要对源代码重新编译和调试,甚至手工插入优化后的汇编代码,刚发布的CPU也使得游戏厂商没有那么多时间去做这些事情。
我们可以期待,随着时间的推移,游戏厂商将会发布更多的支持更多线程的游戏,也会针对新发布的处理器编写优化的代码,但这需要时间。至少是目前,Core i7是无法在游戏中取得巨大提升了。
对于普通用户而言,Core i7并不适合他们。初期上市时高昂的售价,使得绝大多数用户有充足的理由拒绝Core i7。对于一个想追求极致性能而腰包里银子不是很多的爱好者来说,购买一款上4G的E8400、或者索性等到明年针对桌面主流市场的1160针脚Lynnfield和Havendale上市,可能更切合实际。
写在最后
在Core2时代,Intel凭借性能优势和卓越的功耗表现已经在桌面市场上让竞争对手非常狼狈。竞争对手只能靠高良率、低成本、低售价、低利润的路线与Intel在中低端市场竞争。Core i7的发布,虽然表面上与普通用户无关,但势必会让Intel在不远的将来调整其产品线的价格策略。这对于广大消费者而言是福音,对于竞争对手而言则是苦不堪言的消息。竞争对手翻身的日子,看起来还很远很远……
张栋:网名VivaLinux(Viva),玩家堂论坛首席架构师,北京大学计算机系博士研究生,OCP玩家联盟创始人,资深硬件设计工程师与硬件爱好者。Viva于1998年考入北京大学计算机系就读软件专业本科,并于2002年保送至北大微处理器研发中心就读博士研究生。Viva先后从事国产CPU与H.264编解码芯片等领域的研究,有着5年的芯片设计经验,对硬件有着相当深刻的认识和理解。同时做为一名硬件和超频爱好者,Viva也在DIY领域浸淫10年,对硬件技术和IT业状况有着深入的了解。在本次评测中,Viva参与了测试项目的制定,并负责Nehalem微架构解析部分所有内容的撰写、测试结果的分析与总结等内容。
韩霄林:网名WolStame(WS),玩家堂论坛网络总监,OCP玩家联盟创始人,资深媒体编辑与硬件爱好者,亚洲超频第一人。WS于1997年开始接触DIY领域,至今已有11年历史,对于硬件有着相当广泛深入的了解。WS从2004年开始从事IT媒体工作,并长期担任某国内大型IT网站的DIY部门主管,对于媒体工作和IT行业的运作规律有着清晰明确的把握。在超频方面,WS多次夺得国内各大超频赛事冠军,并于2007年荣获技嘉亚洲超频挑战赛冠军,三次卫冕技嘉超频大赛桂冠,被誉为亚洲超频第一人。在本次评测中,WS参与了测试项目的制定,并负责撰写超频部分的内容,各款测试软件介绍,以及X58各款主板的简介等。
陈子君:网名Travis,清华大学电子系本科生,资深硬件技术狂热爱好者。Travis从1999年接触电脑硬件,至今已有9年历史。Travis多年来对于硬件技术有着执著而狂热的追求,同时由于其专业背景,其对硬件技术的理解在网友中难得一见。以至于大家私下开玩笑时表示:可以注册一个域名,名字就起为zhidao.Travis.com。在本次评测中,Travis参与了测试项目的制定,并负责了X58芯片组解析、测试平台及设置情况介绍的撰写。
刘磊:网名白色哈迪斯,玩家堂论坛编辑,资深硬件爱好者。在本次评测中,白色哈迪斯完成了大部分软件项目的测试,并整理完成测试结果。
德宇:网名AngusAde,玩家堂论坛编辑,资深硬件爱好者。在本次评测中,德宇完成了所有游戏项目以及部分软件项目的测试,并整理完成测试结果。
李儒剑:网名Jaction,玩家堂论坛编辑,资深硬件和超频爱好者。Jaction从200X年开始从事IT行业,清楚的了解IT行业的运作。同时作为一名硬件爱好者和极限超频爱好者,Jaction对于CPU以及板卡的超频有着深入的理解。在本次评测中,Jaction配合Travis的工作,完成了X58芯片组的解析部分内容。