正文内容 评论(0

移动扣肉——Merom大战Yonah
2006-08-15 12:45:00  出处:快科技 作者:驱动之家评测室 编辑:魏明     评论(0)点击可以复制本篇文章的标题和链接

    [Core微架构产生的历史背景]

自从处理器诞生之日起,在传统的桌面级处理器市场上,几乎所有的用户都是以处理器的真实时钟频率来决定处理器的性能,时钟频率论的概念一直被沿用到今天。Intel恰恰抓住了用户这种追求更高时钟频率的心理,在2000年发布了采用Netburst微架构的Intel Pentium 4处理器,向着处理器高时钟频率的目标大踏步的前进。超高的20级流水线让Pentium 4处理器具备了前所未有的频率提升能力。

但在和比它晚三年推出的AMD K8架构比较之后很多人得出Netburst架构高频低能的结论,尤其是在最近两年Intel的NetBurst微架构在和AMD的K8架构的对抗中一直处于被动的地位。(举个例子就更明了,比如2Ghz的赛扬处理器运行一百万位Supei pi用时2分钟50秒而同样拥有128kB二级缓存的低端处理器闪龙在频率同为2Ghz时只用50秒就能完成测试)。

因此Intel急于拿出一个高性能的新架构以揭制AMD不断抢占市场份额的势头。AMD得益于其高性能的K8架构,在旗舰产品上一次又一次的战胜了Intel的产品,甚至一些低端的Sempron也在大多数测试中能战胜与其PR值相同的定位主流的Pentium 4,这使得Intel很无颜面。甚至AMD一次又一次的叫嚣要与Intel进行性能大战,而Intel则无一次敢于应战。这使得AMD的市场占有率达到历史最高水平,在桌面平台的市占率迅速达到四分之一,而在服务器市场的占有率已达半数(这其实是Intel靠OEM厂商的支撑才达到的,因为仅就美国DIY桌面市场AMD的市场销售份额就超过50%)。这使得Intel陷入前所未有的窘境,因为这实在不符合处理器老大的形象。

虽然NetBurst在刚上市之初取得了一定成绩(当时AMD的K7不足以对抗Pentium 4),但Intel坚决要仅仅依靠提高处理器主频来弥补其差强人意的性能(在K8上市后Pentium 4颓势凸现)。Intel对自己的芯片制造水平充满自信,认为自己的生产技术能够良性发展,时钟频率及性能将不断提高(若真如Intel预料的那样,也许这些年Intel呈现在人们面前的会是另外一种姿态,至少不会这么狼狈)。从Intel推出Netburst微架构的Prescott核心处理器开始,把流水线由20级一下子提升至31级,以便时钟频率再进一步提升。然而随着90nm制造工艺的Prescott核心正式上市,其功耗过高、散热困难的问题就暴露无遗,而且最致命的是性能提升幅度并不理想。且预定推出的Prescott核心的最高端Pentium4 580遭遇难产,而后继产品,基于NetBurst架构的5GHz的Tejas和6GHz的Nehalem也胎死腹中。NetBurst微架构的桌面处理器一时间都成为了高频低能的代表,尤其是AMD处理器采用PR值标示性能之后就更为明显(一颗主频1.8G的Athlon64 3000+ 号称等效于P4 3.0G的性能)。


移动扣肉——Merom大战Yonah

但是 Intel 的移动平台Dothan处理器却在功耗和性能方面都有良好的表现。由于Dothan基于奔腾3处理器的架构改进而来,这使我们不得不认为,功耗及性能问题多半是由NetBurst微架构先天设计上的缺陷引起的。与此同时,竞争对手 AMD 的 K8 处理器在性能和功耗两方面都表现良好,正在桌面、服务器和移动全平台上侵占原本属于Intel的市场。正是由于这些原因迫使Intel不得不放弃原本想继续坚持很久的NetBurst架构而研发同时具有高性能和低功耗的新架构,就是在这样的背景下——Core微架构诞生了。

    [Core处理器型号划分]

Intel在2006年3月的IDF大会上宣布了下一代处理器,并且服务器、桌面和移动处理器统一采用Core微架构,这个消息无疑成为会上最引人注目的话题。Core 架构是由 Intel 位于以色列海法的研发团队负责设计的。原定是Centrino(讯驰)平台的第三代Napa和第四代Santa Rosa所采用的处理器。但由于NetBurst微架构的失败,Core架构被Intel匆忙推上前台。

2006年7月27日,Intel全球同步正式发布了代号Conroe和Merom的新一代台式机和笔记本处理器,包括Core 2 Duo和Core 2 Extreme两个品牌,处理器中文名“酷睿2双核”和“酷睿2至尊版”。Intel原计划在发布Conroe四周之后再发布Merom,但鉴于二者基于同样的核心架构,而且已经归于同一品牌Core 2 Duo之下(最顶级的X6800为Core 2 Extreme),所以分两次发布意义不大,故而将Merom提前与Conroe一同推出。其中桌面和移动平台都叫做Core 2 Duo,可以看出Intel为统一桌面和移动双平台架构的特别用心。Intel正在逐渐淡化桌面处理器和移动处理器的差别,将Conroe和Merom同命名为Core 2 Duo即可见一斑,因此一同发布也不足为奇。

Core 2 Duo在单个芯片上封装了2.91亿个晶体管,并且在功耗降低40%的同时提供满足当前和未来应用所需的极高性能,功耗的降低得益于它是基于上一代移动平台Core Duo的核心技术开发而来。但具体强大到什么程度其结果很有可能出乎您的意料之外。暂且可以透露一下,这次测试用的T7200在超频测试中达到2.64GHz频率时Supei pi 一百万位测试用时20秒,而要达到这个成绩需要采用 NetBurst 架构的 Pentium 4 处理器超频到6GHz左右,或者 AMD 的 K8 处理器超频到4GHz左右。足见其性能的强大和核心架构的先进。此外,Conroe处理器还支持Intel的VT、EIST、EM64T和XD技术,并加入了SSE4指令集。由于Core的高效架构,Conroe不再提供对HT的支持。

有一点要特别说明:由于Core和 Conroe两个单词在结构上颇为类似,因此有不少消费者往往将Core和Conroe混淆。实际上,我们把Core音译为酷睿,它是Intel下一代处理器产品将统一采用的微架构,而Conroe只是对基于Core微架构的Intel下一代桌面平台级产品的代号。除Conroe处理器之外,Core微架构还包括代号为Merom的移动平台处理器和代号为Woodcrest的服务器平台处理器。采用Core的处理器将被统一命名。由于上一代采用Yonah微架构的处理器产品被命名为Core Duo,因此为了便于与前代Intel双核处理器区分,Intel下一代桌面处理器Conroe以及下一代笔记本处理器Merom都将被统一叫做Core 2 Duo。另外,Intel的顶级桌面处理器被命名为Core 2 Extreme,以区别于主流处理器产品。

此次发布的Conroe/Merom共计10款,其中代号以E和X开头的5款面向台式机,以T开头的4款面向笔记本。具体型号和售价如下:


移动扣肉——Merom大战Yonah

英特尔初期发布Core微架构处理器包含E6000桌面系列和T7000、T5000移动系列,E6000系列处理器外频为266MHz,前端总线频率为1066MHz,拥有2MB(E6300、E6400)或4MB(E6600、E6700) 二级缓存,面向高性能市场;稍后推出的E4000系列外频相对低一些,为200MHz,前端总线800MHz,定位低于E6000系列,发布时间将延后至2007年第一季度。除普通版Conroe之外,Intel还将发布Conroe XE处理器取代现有的旗舰产品Pentium XE——即X6800。

虽然桌面平台的Conroe的前端总线为1066MHz,但这次的主角移动版处理器Merom前端总线均为667MHz(Merom处理器原本是属于下一代移动平台Santa Rosa上的处理器产品,现在不得不在Santa Rosa平台推出之前先把Merom处理器推向市场,并可以顺利地植入目前的Napa平台上面。为了在Intel 945芯片组上面运行,其前端总线为了适合于Intel 945芯片组,而仍然保留667MHz的前端总线设计。而今后出现的Santa Rosa平台上的Merom处理器其前端总线就改为800MHz。这种情景与当年推出400MHz的Dothan为适应Intel 855芯片组的做法十分相似)。二级缓存则加大为4MB(低端的T5000系列仍为2MB),意味着缓存中可以寄存更多等待处理数据,减少处理器与内存以及外围设备间数据传输的瓶颈,提高指令的命中率,大大提高执行效能。

随着Napa平台上Yonah处理器被替换成Merom处理器,这也意味着英特尔移动处理器开始进入64位元双核技术时代,Yonah作为双核移动处理器的首战英雄将开始退居其后。

    [Core微架构解析以及与Yonah和Netburst的结构对比]

正是看到了Yonah处理器的成功,Intel果断的放弃了当前所采用的Netburst架构,把在笔记本电脑中所采用的Yonah处理器架构作出了改进,仍然出自Intel位于以色列海法的研发设计团队之手。

Core微架构拥有双核心、64bit指令集、4发射的超标量体系结构和乱序执行机制等技术,使用65nm制造工艺生产,由于加入EM64T指令集的支持所以能够支持36bit的物理寻址和48bit的虚拟内存寻址,支持包括SSE4在内的Intel所有扩展指令集。Core微架构的每个内核拥有32KB的一级指令缓存、32KB的双端口一级数据缓存,2个内核共同拥有4MB或2MB的共享式二级缓存。借助改进的65nm技术功耗得到有效控制比先代的产品有大幅下降,每种产品都拥有自己的最高TDP(设计热功耗),Merom最高为35W,Conroe最高为65W,Woodcrest最高为80W。

其中新加入的SSE4指令集包括16条指令将帮助Intel在视频性能上获得巨大的提升。   新的SSE指令集在视频增强技术方面包括了CVT(明晰视频技术)和对UDI的支持。这两项技术基于965芯片组。Intel的官方把CVT技术定义为:支持高级解码、拥有预处理和增强型3D处理能力。

Intel宣称Core微架构整合了Mobile架构的省电高效率与Netburst优秀功能,并为Multi-Core应用作出准备及优化。按照Intel的说法是结合了Yonah和Netburst的优点,但是由结构图来看显然是Yonah改进而来,很难找到Netburst的影子。Core微架构近乎90%是基于Mobile架构的Yonah核心作出改良,而只保留了NetBurst架构中的Prefetching,估计至今Intel仍不肯承认Netburst架构的失败,为其找一个合适的台阶下而已。


移动扣肉——Merom大战Yonah

Core微架构的内核总体架构图


移动扣肉——Merom大战Yonah

Yonah微架构的内核总体架构图


移动扣肉——Merom大战Yonah

Netburst微架构的内核总体架构图

    [Core和Yonah的相同点]

在上面的图中我们可以明确地发现Core和Yonah拥有相同的解码流程,相同的简单解码单元与复杂解码单元相配合的设计。同样都采用乱序执行的流程,仍然沿用一级指令缓存与一级数据缓存分离的设计,沿用共享式二级缓存的设计,抛开解码单元与执行单元的数量、内部总线的宽度以及各个缓冲区的容量这些数值上的差异,二者在架构上的设计是几乎是完全一样。Yonah微架构处理器已经获得了极大的成功,而Core微架构不但继承了其全部优点,并在原有基础上进行的局部扩大,这样做在保证质量的前提下有效的缩短了全新微架构的开发时间,真可谓为明智之举。


移动扣肉——Merom大战Yonah

Intel 三代架构总体对比

Yonah微架构处理器是首个采用共享式二级缓存设计的双核处理器,而Core微架构依然继承了这个极富创新性的设计,2个核心共享4MB或2MB的二级缓存。其内核采用高效的14级有效流水线设计。每个核心都内建32KB一级指令缓存与32KB一级数据缓存,而且2个核心的一级数据缓存之间可以直接传输数据。每个核心内建4组指令解码单元,支持微指令融合与宏指令融合技术,每个时钟周期最多可以解码5条X86指令,并拥有改进的分支预测功能。每个核心内建5个执行单元,执行资源庞大。采用新的内存相关性预测技术。加入对EM64T与SSE4指令集的支持。支持增强的电源管理功能。支持硬件虚拟化技术和硬件防病毒功能。内建数字温度传感器。还可提供功率报告和温度报告等,配合系统实现动态的功耗控制和散热控制。

    [Core和Yonah的不同点:(一)缩短的流水线]

Intel在新架构上做出的调整集中在量变,流水线架构的调整最明显之处在于缩短流水线提高命中率。基于Core核心的Conroe处理器的流水线从Prescott核心的31级有效流水线缩短为14级。众所周知,流水线越长,频率提升潜力越大,但是一旦分支预测失败或者缓存不中的话,所耽误的延迟时间越长。如果一旦发生分支预测失败或者缓存不中的情况,Prescott核心就会有39个周期的延迟。这要比其它架构延迟时间多得多。而对于Conroe来说,14级有效流水线的效率要比Prescott核心的31级要高很多,延时却要低得多。

Intel 声称 Core 微架构拥有14级有效流水线。但是,究竟什么是“有效”流水线呢?

流水线级数经常被混淆,首先,流水线的条数与级数是不同的。条数是能够完整执行各种指令的一系列功能单元称为一条流水线。而流水线级数是:一条流水线所包含的功能单元一般可以被划分为多个部分,它可以被划分成几个部分,就称这条流水线是几级的。也就是说在一条流水线中包含着几个级,可以把流水线条数看作是纵向的划分而流水线级数可以看作是横向的划分。打个比方,就好比一个瀑布群,有几条瀑布组成就有几条流水线然而瀑布又不是一阶的,它有几个台阶,一个台阶就是一级。

而有效流水线就是指发生分支预测错误时,所需要重新执行的流水线级数。不过,对于现代的普遍采用乱序执行方式的X86处理器来说,有效流水线级数并不能代表真正意义上的流水线级数。以采用NetBurst 微架构的处理器来说,Willamette、Northwood与Prescott核心的有效流水线级数分别是20、20和31,而原始的P6微架构(Pentium Pro所采用的微架构)的处理器则是10级。而NetBurst 微架构的处理器仅仅是Trace Cache的Trace建立过程,就有起码10级;P6 微架构的完整流水线级数应该是12至15(10级有效流水线加上指令执行完毕后的Retire动作,与可能出现的Reorder Buffer延迟)。随着乱序执行引擎的工作方式越来越复杂,X86处理器流水线级数的概念也日益模糊。换言之,Core 微架构真正意义上的流水线级数并不会只有14级很可能高出很多。但由于习惯,平时我们称的流水线级数实质上就是有效流水线级数。

因此,Core微架构的14级有效流水线与Prescott核心的31级有效流水线的对比也只能作参考,因为这都不是它们执行指令时的实际流水线。那些认为Core微架构处理器由于流水线级数过低而频率超不上去的人也是站不住脚的,比如今天就听说意大利三位超频高手将Core 2 Extreme X6800超至5011MHz,配合X1900显示卡将3DMARK05成绩刷新至26972的高分,再次打破世界纪录,并且已经得到FutureMark官网的认可http://service.futuremark.com/compare?3dm05=2143173)。请您试想一下如果只有14级流水线那是绝对不可能达到如此高的频率的。因为这14级流水线并不是实际流水线的级数。当然我相信Core微架构处理器的频率不会止步于5011MHz,而且很有可能随着AMD新一代顶级桌面处理器的诞生,Intel会对顶级Core微架构桌面处理器进行提频。

    [Core和Yonah的不同点:(二) 分支预测单元的改进]

在缩短流水线级数的同时,Core 微架构前端的改进还包括分支预测单元。分支预测行为发生在取指单元部分。包括人们已经熟知的预测单元分支目标缓冲区(BTB)、分支地址计算器(BAC)和返回地址栈(RAS)。并且引入了2个新的预测单元:Loop Detector和Indirect Branch Predictor,其中Loop Detector可以正确预测循环的结束,而Indirect Branch Predictor可以基于全局的历史信息做出预测。而且更难得的是以前分支转移总是会浪费流水线的一个周期而Core 微架构在分支目标预测器和取指单元之间增加了一个队列,在大部分的情况下可以避免这一个周期的浪费,因此可以极大的提高效能。

Core 微架构的乱序执行引擎与Yonah微架构的设计类似,但是引入了更多的资源。


移动扣肉——Merom大战Yonah

Core和Yonah的乱序执行引擎对比

如图所示,Core微架构与Yonah微架构在乱序执行引擎方面非常相似,包括寄存器别名表(Register Alias Table),分配器(Allocator)和乱序缓冲区(Reorder Buffer)。区别在于,所有的这些单元都被加大加强,这样才可以配合更强劲的前端,容纳和调度更多的微指令,寻求更高的指令级并行度。也就是说,Core的乱序执行引擎实际上是Yonah的乱序执行引擎的强化版。

从图中我们还可以看出Yonah微架构的最大吞吐量是每周期3条微指令,Core微架构的最大吞吐量是每周期4条微指令。Yonah微架构的乱序执行引擎是大于40项,而Core微架构的乱序缓冲区容量是96项。Core微架构的保留站(Reservation Station)同样被加大:从Yonah微架构的24项增大到32项。

Core采取和Yonah相似的乱序执行引擎究其原因是在前代产品成功的前提下节约开发时间和开发费用,少走弯路。当然原封不动是不足以承担对抗K8架构的重任,因此在乱序执行引擎的各方面都作了加强。不过,恐怕Intel在下次架构改变之时就不会那么容易了。

    [Core和Yonah的不同点:(三)拥有更大的二级缓存]

Core微架构采用共享二级缓存设计,即两个核心共享4MB的二级缓存(当然,部分低端产品只有2MB二级缓存,不在讨论之列)。采用共享缓存的好处是非常明显的,除了使缓存容量的利用率提高,也可以减少缓存数据一致性对缓存性能所造成的负面影响。此外,因共享L2缓存之故,两个核心的第一阶缓存可直接对传数据,毋需通过外部的FSB,进而改善性能。此外还有更为重要的一点,当其中一个核心空闲时,另一个核心可已使用全部4MB缓存,大大提高缓存的使用率,有效提高系统性能。


移动扣肉——Merom大战Yonah

Core、Yonah、NetBurst三代架构的存储系统

从图中我们可以看出:Core微架构的存储子系统不仅拥有更大容量的二级缓存,而且还拥有较低的缓存访问延迟。共享式二级缓存的设计还可以使单个核心享用完全的4MB缓存。一级缓存和二级缓存的总线位宽都是256-bit,从而可以给核心提供最大的存储带宽。不过要注意 NetBurst 微架构利用fast ALU来计算存储地址,因此并没有独立的存储地址单元。Core 微架构的存储系统源自Yonah微架构的设计,但是却拥有NetBurst微架构的超高带宽,在这一点上可以看出Core确实是结合了Yonah和NetBurst的优点。

我们从图中还可以看出Core微架构和Yonah微架构的一级缓存与二级缓存都采用Write Back的存储方式,以64字节为存储单位。而NetBurst微架构一级缓存采用Write Through的存储方式,以64字节为存储单位,二级缓存采用Write Back的存储方式,以128字节为存储单位。Core 微架构中的2个核心的一级数据缓存之间有一条附加的数据通路,使得2个核心可以直接交换一级数据缓存中的数据。

    [Core和Yonah的不同点:(四)增加了的解码单元]

Core微架构最明显的变化之一就是增加了一组解码单元,拥有四组解码单元也就是四组指令编译器。首先要说明的是由于X86指令集的指令长度、格式与定址模式都相当复杂,为了简化数据通路的设计,从很久以前开始,X86处理器就采用了将X86指令解码成1个或多个长度相同、格式固定、类似RISC指令形式的微指令的设计方法,尤其是涉及存储器访问的load、store(读取、存储)指令。所以现在的X86处理器的执行单元真正执行的指令是解码后的微指令,而不是X86指令。


移动扣肉——Merom大战Yonah

三种架构的解码单元示意图

从图中我们可以很明显地看到Core相对Yonah增加了一组解码单元,Core拥有的四组解码单元由一个复杂解码单元(Complex Decoder)和三个简单解码单元(Simple Decoder)构成,每周期可以生成7条微指令。而Yonah微架构拥有3三个解码单元,由一个复杂解码单元和两个简单解码单元构成,每周期可以生成6条微指令。由于X86指令集的指令长度、格式与定址模式都相当混乱,导致X86指令解码器的设计是非常困难的。因此在处理器市场已经有超过十年的时间,X86处理器世界没有出现过4组解码单元的设计了。而增加解码单元,特别是复杂解码单元,固然会大大增强处理器的解码能力,但是解码单元复杂的电路也必然会提高内核的复杂度和处理器的功耗。Intel在NetBurst微架构的设计中引入Trace Cache来取代占用大量晶体管的复杂解码单元就是出于这个原因。也正是因此我们无法比较解码单元的数量,只能知道NetBurst微架构每周期只能生成3条微指令。

那有一个新的问题,既然前文已经提到增加解码单元会提高内核的复杂度和处理器的功耗那在已经有NetBurst高功耗的前车之鉴下,Intel又为什么采取这些这些增加处理器功耗的改动呢?

经过分析我们可以明白,首先Intel为了提高处理器的效能、命中率和功耗不得不大幅缩短流水线级数,但是随着流水线级数的缩短频率肯定达不到以前的水准,那既要保证低功耗又要保证高性能Intel只得增加执行单元的数量来弥补品率下降带来的性能损失,然而,在执行单元大幅增加的情况下,不增加解码单元就会产生很大的瓶颈。于是Intel采取增加一个简单解码单元的措施是在最小幅度增加功耗的同时保证解码能力的上升,可以说是一个不得不采取的折衷措施。

实质上在解码单元部分Core微架构就是Yonah微架构的翻版,最明显的变化就是增加了一组简单解码单元。同样是古老的Pentium Pro的微架构的延伸,只不过在一个复杂解码单元和两个简单解码单元的基础上增加了一个简单解码单元,一个简单解码单元负责处理对应一条微指令的简单X86指令,而一个复杂解码单元负责处理对应4条微指令的复杂X86指令,这样的解码单元每周期最多能生成7条微指令。Intel一直坚持将简单指令与复杂指令分离就是为了提高简单指令的执行效率(当然,Pentium采取了不同的做法,不过并不成功)。

那难道,Intel进行了那么多年的创新又回到Pentium Pro的老路上了。不得不承认Intel是在照搬以前的模式,不过是“旧瓶装新酒”。那既然说它是旧瓶装新酒那肯定还是有新东西的,那它相对P6位架构最大的变化就是从Yonah开始每个简单解码单元都可以进行128bit SSE指令的解码,而相对于P6这只有复杂解码单元才能胜任。

同样可以得出结论如果Core微架构的所有四组解码单元都具备了这样的能力,那结合微指令融合技术和宏指令融合技术,Core微架构的解码单元的实力就不仅仅是增加一个简单解码单元那么简单了。

    [Core和Yonah的不同点:(五)微指令融合技术的加强]

除了在解码单元数量上提升之外,Core 微架构中的解码单元还拥有一项Intel认为最为重要的特性那就是宏指令融合技术 (Macro-Op Fusion)。该技术可以把2条相关的X86指令融合为1条微指令。Intel宣称每10条指令可以融合1次。宏指令融合技术带来的效果是非常明显的。在一个传统的X86程序中,每10条指令就有2条指令可以被融合。也就是说,宏指令融合技术的引入可以减少10%的指令数量。而当2条X86指令被融合的时候,4组解码单元在单周期内一共可以解码5条X86指令。被融合的指令在后面的操作中完全是一个整体,这带来几个优势:更大的解码带宽,更少的空间占用,和更低的调度负载。

那么什么是宏指令融合技术呢?要解释宏指令融合技术就必须要知道什么是宏指令和微指令。

微指令(Micro-Op)。是将一个X86指令按照一定的规格分成多个规格相对统一的指令。因为X86指令集的指令长度、格式与定址模式都相当复杂,为了简化数据通路,从很久以前开始,X86处理器就采用了将X86指令解码成1个或多个长度相同、格式固定、类似RISC指令形式的微指令的设计方法。而对于读取和存储语句则使用更甚。实质上现在的执行单元真正执行的指令都是微指令,每周期能执行的指令条数也指的是微指令的数目。

然而微指令融合(Micro-Op Fusion)技术是从Centrino(讯驰)就开始出现的技术,在随后的 Yonah 微架构中也具备该技术。简而言之就是可以通过减少X86指令解码后生成的微指令的数目,来降低乱序执行引擎和执行单元的压力,从而达到提升处理器效率的目的。

而Core进一步强化微指令融合技术就是为了减少微指令的数目。而且前文已经提到Core微架构的简单解码单元可以处理128bit的 SSE指令的解码,这在以前的P6微架构只有复杂解码单元才能胜任。因此,在Core微架构中这种类型的操作在很多时候就可以解码成1条微指令,从而降低了后端执行单元的压力,提高了指令的执行效率。因此,在内部执行单元的资源有限的前提下,减少微指令的数目就等于单位时间内增加了处理指令的数目。

真可谓高性能低功耗二者兼得。

    [Core和Yonah的不同点:(六)宏指令融合技术的应用]

所谓宏指令(Macro-Op),指的就是X86指令。通过宏指令融合技术可以使Core微架构在单位时间内把2条宏指令融合为1条微指令。这也就是为什么我们前文中提到Core微架构每个周期最多可以解码5条X86指令而实际只有4个解码单元。

宏指令融合技术采用与否的示意图:


移动扣肉——Merom大战Yonah

未采用宏指令融合技术


移动扣肉——Merom大战Yonah

采用宏指令融合技术

从图中我们可以很明显地看到X86指令中的cmp指令可以与jmp指令融合,产生仅1条微指令。最后,4个解码单元中的任何一个都可以执行宏指令融合操作,然而每个周期最多只能有1个解码单元执行宏指令融合,所以最大的解码宽度为每周期5条X86指令,也就验证了我们前面所说的Core微架构只有4个解码单元每个周期却最多可以解码5条X86指令的说法。

很明显宏指令融合技术(Macro-op Fusion)的优点是降低需要执行的微指令的数目,因为执行单元只需执行更少的微指令,可以直接提高处理器性能。而实际上微指令缓冲区相当于容纳了更多的X86指令,乱序执行引擎可以从中更有效的发现能够并行的指令,有利于实现更高的指令级并行度。当然,这些优点虽然与微指令融合技术所带来的优点十分相似。但是,同时拥有宏指令融合技术和微指令融合技术使得Core微架构可以比Yonah微架构节省更多的执行单元资源和拥有更好的指令级并行度。不过具有讽刺意味的是,宏指令融合技术和微指令融合技术正在使得X86处理器的内核更加接近CISC架构(Complex Instruction Set Computer,复杂指令集计算机,在CISC微处理器中,程序的各条指令是按顺序串行执行的,每条指令中的各个操作也是按顺序串行执行的。顺序执行的优点是控制简单,但计算机各部分的利用率不高,执行速度慢)而不是 RISC 架构(Reduced Instruction Set Computing,精简指令集计算机,它是在CISC指令系统基础上发展起来的,有人对CISC机进行测试表明,各种指令的使用频度相当悬殊,最常使用的是一些比较简单的指令,它们仅占指令总数的20%,但在程序中出现的频度却占80%。复杂的指令系统必然增加微处理器的复杂性,使处理器的研制时间长,成本高。并且复杂指令需要复杂的操作,必然会降低计算机的速度。基于上述原因,20世纪80年代RISC型CPU诞生了,相对于CISC型CPU ,RISC型CPU不仅精简了指令系统,还采用了一种叫做“超标量和超流水线结构”,大大增加了并行处理能力。RISC指令集是高性能CPU的发展方向。它与传统的CISC相对。相比而言,RISC的指令格式统一,种类比较少,寻址方式也比复杂指令集少。当然处理速度就提高很多了)这与 Intel 当年推出 IA-64 架构(安腾Itanium是64位处理器,也是IA-64系列中的第一款,基于EPIC技术开发。最大的缺陷是它们缺乏与x86的兼容,而Intel为了IA-64处理器能够更好地运行两个朝代的软件,它在IA-64处理器上引入了x86-to-IA-64的解码器,这样就能够把x86指令翻译为IA-64指令。这个解码器并不是最有效率的解码器,也不是运行x86代码的最好途径,因此Itanium 和Itanium2在运行x86应用程序时候的性能非常糟糕。这也成为X86-64产生的根本原因)的想法越来越远。看来Intel确实是走下了很大的弯路,好在亡羊补牢为时不完。

    [Core和Yonah的不同点:(七)改进的执行单元子系统]

按照Intel的官方说法:Core微架构的执行单元部分拥有3个调度端口,通过这3个端口来调度执行单元。执行单元包括3个64bit的整数执行单元(ALU)、2个128bit的浮点执行单元(FPU)和3个128bit的SSE执行单元。其中,位于端口1的整数执行单元可以处理128bit的Shift和Rotate操作。而2个浮点单元和3个SSE单元可以共享资源。


移动扣肉——Merom大战Yonah

Core、Yonah和NetBurst的执行单元子系统

从图中我们可以明显地看到Core微架构运算单元的改进相对Yonah是大刀阔斧式的,不仅仅像解码单元那样紧紧食粮的增加,而且在运算单元的指令宽度上进行了从新设计,使得实际运算能力有很大的提高。我将其分为整数、浮点数和SSE多媒体指令集三部分加以论述。

Core微架构的调度端口从Yonah微架构和NetBurst微架构的2个端口增加到了3个。Core 微架构的执行单元子系统每个周期最多可以执行3条操作,而Yonah微架构最多只能执行2条操作。不过对于 NetBurst 微架构来说由于其算法不同每个周期最多可以执行4条操作(但前提是必须是4个简单的整数单元操作,不过由于这种情况不大多见,因而实际上NetBurst架构很少能够真正执行4条操作)。而且Core 微架构的功能单元的安排相对平衡,对于整数操作可以在连续多个周期内保证单周期执行3个操作的吞吐量,而NetBurst微架构在很多情况下只能单周期执行1个操作,效率的差别一下拉开了。而且Core微架构的3个64bit的整数执行单元并非完全相同。同样分为1个复杂整数执行单元和2个简单整数执行单元,这种情况已经在解码单元出现过。值得注意的事Core微架构是Intel的X86处理器第一次可以在一周期内完成一次64bit的整数运算,可以大大改善整数运算性能。由于拥有3个整数执行单元端口,所以Core微架构处理器可以在一周期内最多执行3组64bit的整数运算。

既然整数运算有了如此大的提高,那想必浮点数运算也不会弱吧。Core 微构架拥有2个浮点执行单元,位于端口0的浮点执行单元负责加减等简单的浮点运算,位于端口1的浮点执行单元则负责乘除等浮点运算。这样,在Core 微架构中,浮点加减指令与浮点乘除指令被划分成两部分,使其具备了在一周期中完成两条浮点指令的能力。

而且在SSE指令集的运算上也有着同样的改善,3个128bit的SSE运算单元并不完全相同,在移位和乘法的资源方面有微小的差异,但是都可以在单周期内完成1个128bit的 SSE 操作。而NetBurst 微架构只有2个64bit的SSE单元,需要2个周期来执行1个128bit的操作。Yonah 微架构同样只有2个64bit的SSE单元。因此从SSE指令的执行资源来看,Core微架构比Yonah微架构和NetBurst微架构有3倍的性能提升。

    [Core微架构采用的五大新技术简介]

按照官方的说法,Intel采用了五大新技术以降低功耗提升性能:

1.Intel Wide Dynamic Execution(Intel宽位动态执行)--Intel酷睿微架构拥有4组解码器,可以同时获取、分配、执行和退回多达4条完整的指令(比Pentium M架构,包括Yonah增加一条)。另外Intel酷睿微体系结构在新加入宏指令集融合(Macro-Fusion)技术,可以让处理器在解码的同时,将同类的指令融合为单一的指令,减少处理的指令总数,让处理器在更短的时间内,以更低的功率处理更多的指令。

2.Intel Intelligent Power Capability(Intel智能功率能力)--新一代处理器在制程技术方面做出优化,采用了先进的65nm Strained Silicon技术、加入Low-K Dielectric物质及增加金属层,相比上代90nm制程减少漏电情况达1000倍。而且通过先进的功率控制技术,来充分利用该微架构的超精细逻辑控制,降低处理器的能耗和热量。

3.Intel Advanced Smart Cache(Intel高级智能高速缓存)--每个核心都可以动态支配100%的全部缓存,共享二级缓存,加强了多核心架构效率,大幅增加了缓存的命中率,也可关闭部分缓存降低功耗。这样可以降低缓存的命中失误,减少数据延迟,改进处理器效率,增加绝对性能和每瓦特性能。

4.Intel Smart Memory Access(Intel智能内存访问)--对内存读取顺序做出分析,智能、预测性的装载下一条指令所需要的数据,大幅提高了执行程序的效率。

5.Intel Advanced Digital Media Boost(Intel高级数字媒体增强)--拥有128bit的SIMD执行能力,一个时钟周期就可以完成一条指令,效率提升明显

除了上述针对全部Core 2 Duo 处理器的5大新功能之外,移动Core 2 Duo处理器还有另外三个专门针对笔记本电脑应用的优化特性,它们是:

1.Intel Dynamic Power Coordination(英特尔动态功率调节)--单独协调每内核增强型英特尔SpeedStep 动态节能技术和空闲电源管理状态(C状态)转换,有助于节省能源;

2.Intel Dynamic Bus Parking(英特尔动态总线暂停)--支持芯片组在处理器处于低频模式状态时断电,延长电池的使用时间,从而降低平台能耗;

3.Enhanced Intel Deeper Sleep with Dynamic Cache Sizing(支持动态高速缓存大小调整的增强型英特尔更深度睡眠)--通过将数据传送到高速缓存内存库来降低CPU电压,节省能源。

当然,这些新功能所带来的变化有一些已经体现到前面的不同点对比中,至于Intel所宣称的这些新技术有没有实际效果只能等待时间的验证了。

    [与其前代产品Yonah的对比总括]

为了简单明了,我把最主要的区别归纳如下,并配合表单以加深印象:

1.作为一个新架构的处理器,Merom相比Yonah,从原来的13级流水线增加至14级,在提升频率方面起到一定的帮助,籍此获得性能提升;

2.缓存方面,Merom分成4MB和2MB的L2两种版本,与Yonah保持一致的是,不管4MB还是2MB,都由双核心共享,这样双核运算需要的数据就可以共享了。不过在L2缓存的访问入口方面,Merom已经从Yonah的8路提升到16路(Athlon 64同样是16路)。

3.解码器方面,Merom比Yonah增加一个Simple解码器,令解码效率进一步提高。不过在复杂运算方面,AMD Turion 64内置的3个Complex解码器会更加优胜(例如在Science Mark 2.0科学运算中);

4.指令集方面,Merom在Yonah的技术基础上更上一层楼,添加SSE4指令集以增加执行效率,;

5. 执行单元方面,Merom比Yonah多出一个FPU和一个IEU(IEU也是我们平常说的ALU),因此在一个时钟周期里,可以向执行单元传输3个微指令集,而Yonah只能传输2个。不过这三个FLU当中,是有固定的任务分配的。浮点乘运算必须由第三个FPU执行、浮点加运算只能由第二个只能执行,而浮点减运算则相对自由,只要第二和第三FPU是空闲在下一个周期还是空闲的就被能利用上。除此以外,传输通道从Yonah的64位升至128位,这样要执行一个SSE3的指令的话,就只需要一个时钟周期了。


移动扣肉——Merom大战Yonah

    [测试平台及测试项目]

◎ 综合性能测试部分

● CPU-Z

● SUPER PI

● PCMark04

● PCMark05

● Sisoft Sandra 2005

● 3DMark03

● 3DMark05

● 3DMark06

◎ 游戏性能测试

● DOOM 3

● Half-Life 2


移动扣肉——Merom大战Yonah

    [测试平台说明]

这次测试的平台可能读者朋友们感到有些奇怪,明明是移动处理器用的却都是桌面平台的配置。这要得益于MODT(Mobile On DeskTop)主板。对于MODT主板可能很多人都比较生疏,最简单的概括就是采用桌面主板的板型、芯片组、各种I/O接口的移动处理器主板,也就是说MODT主板除了处理器接口是移动主板的479针之外,其它方面与桌面主板没有任何不同。当然由于英特尔并没有把笔记本处理器推向零售市场,你在市场上能找到的笔记本处理器大多数是从笔记本厂商流出来的,而且很少见,即使你有钱的话也不容易买到,因此市场上支持笔记本处理器的主板大都会搭配着CPU,以套装的方式供应,而且附带一个与移动处理器配套的风扇。

之所以在测试中采用MODT主板是因为:一方面众所周知移动平台的硬盘、显卡、内存的性能都较桌面平台弱,在您已经心中清楚Conroe桌面平台的测试成绩的前提下,为了减少测试瓶颈而使用MODT主板进行测试就是为了尽可能将差距只控制在要测试的处理器范围内。另一方面则是不得不采用MODT主板,因为现在采用Merom的笔记本在市面上还难觅踪迹,而且这次测试用的Yonah的最高端T2700在市面上的笔记本配置中也属罕见。

这次测试用的MODT主板来自建基(Aopen)。建基现在将主要精力投身于MODT主板,推出了一系列支持英特尔Pentium-M、Core Duo的479接口主板。此外,建基的主要产品线还包括准系统、笔记本电脑、光存储等。其最近引起广泛关注的产品是mini pc,外形酷似Mac mini,很多网友认为有东施效颦之嫌。不过建基很显然是铁了心要继续这么做下去,前不久他们宣布已经推出了基于945GT芯片组的新一代mini pc。

当然,作为泛宏基集团的一员,建基的制造能力和设计水平在台湾都算是非常出色的,并不逊色于我们熟悉的四大主板厂商。在实际使用中,这块主板上乘的做工和用料,独特的设计水平,都给我们留下了深刻的印象。


移动扣肉——Merom大战Yonah

AOpen 975Xa-YDG

上图就是我们这次测试用的AOpen 975Xa-YDG主板全图,采用英特尔目前最高级的桌面i975X芯片组;布局尺寸为ATX格式;提供了双PCIE-16X插槽,支持ATI CrossFire双卡并行渲染技术;4条DDR2内存插槽,由于Core Duo和Core 2 Duo外频667MHz,所以内存默认最高规格DDR2 667,当然通过超频将不止于此。

怎么样,这块MODT主板感觉还是蛮高端的吧,当然它的价格也是蛮高端的。

    [综合性能测试成绩(一):PCMARK]


移动扣肉——Merom大战Yonah

PCMARK04


移动扣肉——Merom大战Yonah

PCMARK05

我们将参加此次测试的三颗CPU列于同一张图中以便于比较。PCMARK是FUTUREMARK公司推出的针对整机性能的测试,在整机测试领域具有权威性。我们这里测试的是最新的05版和稍早的04版。


移动扣肉——Merom大战Yonah

PCMARK05 CPU子项

由于是此次测试是专门针对CPU的,因此我们单独测试了CPU子项,将成绩同样进行对比。

从测试中我们可以很清楚地看到Core微架构的优势还是很明显的,虽然Yonah本身就很优秀而不像NetBurst那样差,虽然Core是基于Yonah改进而来,但频率2.16G的T7400在PCMARK中完胜2.33G的T2700就能很好地说明问题,甚至相比频率更低的2G的T7200也仅仅是在PCMARK05 CPU子项测试中才有优势。

    [综合性能测试成绩(二):Sandra2005]

为了尽可能全面的反映整机性能,我们还使用了SiSoftware推出的同样具有权威意义的Sandra 2005 Professional。

(1)CPU运算能力对比测试:


移动扣肉——Merom大战Yonah

 

(2)CPU多媒体性能对比测试:


移动扣肉——Merom大战Yonah

 

(3)内存带宽对比测试:


移动扣肉——Merom大战Yonah

(4)缓存和内存测试:


移动扣肉——Merom大战Yonah

    [综合性能测试成绩(三):3DMARK]

对于3DMARK我想大家最熟悉不过了,因此不必再做任何解释。为了测试更全面,我们对侧重DX8.1的3DMARK03和侧重DX9的3DMARK05以及侧重DX9.0C+HDR的3DMARK06都作了测试。


移动扣肉——Merom大战Yonah

移动扣肉——Merom大战Yonah

在3DMARK03的两个分辨率测试中我们明显感到Core微架构的优势,即使频率较低的T7200也能战胜高频率的T2700。


移动扣肉——Merom大战Yonah

移动扣肉——Merom大战Yonah

而3DMARK05的情况与PCMARK05相似,T2700的高频率体现出了优势,而且在高分辨率下第一次战胜了T7400。


移动扣肉——Merom大战Yonah

移动扣肉——Merom大战Yonah

在3DMARK06的两个分辨率下频率的优势再一次显现。

测试结果可能出乎您的意料,同样也出乎我们的意料。越新的测试软件反而越不能体现Core的架构优势,因为基于Yonah的T2700(2.33G)虽然频率较高,但毕竟和基于Core的T7400(2.16G)相比高不了多少。至于这其中的缘由我们将进一步研究,估计是CPU的影响已经越来越小,且显卡已经成为系统瓶颈。

    [综合性能测试成绩(四):CPU-Z&SUPER PI]

以下是这三颗CPU的CPU-Z的截图和SUPER PI成绩:


移动扣肉——Merom大战Yonah

移动扣肉——Merom大战Yonah

移动扣肉——Merom大战Yonah

看来1.35版的CPU-Z已经可以很好的识别Core 2 Duo处理器了。


移动扣肉——Merom大战Yonah

在SUPER PI测试中还是能很好体现Core架构的优势的。

    [游戏测试]

毕竟对于广大的非超频发烧友来说,高端硬件还是用来玩游戏的而不是用来跑分的,因此实际游戏性能可能更有实际意义。

游戏测试还是那两个老套游戏DOOM3和HalfLife2,虽然老套但很有指导意义。因为DOOM3可以很好的代表基于OpenGL开发的游戏的实际表现,而HalfLife2可以代表基于DX3D开发的游戏的实际表现。而其它游戏的测试成绩没有广泛的代表性,不具有通用性。

因为测试的CPU都高端产品,因此在游戏测试中每个分辨率都开启最高特效(关闭AA/AF)。想必不会有人拿Core 2 Duo在Low特效下玩游戏吧。


移动扣肉——Merom大战Yonah

移动扣肉——Merom大战Yonah

移动扣肉——Merom大战Yonah

移动扣肉——Merom大战Yonah

游戏中Core的架构优势还是得到充分表现的,尤其是在DX3D游戏下。

    [总结]

通过前面的测试成绩您能够看出,Core架构的Merom处理器确实性能强劲。在多项测试中,频率2GHz的T7200能战胜频率2.33GHz的T2700就是最好的证明。但是您同时也注意到了,在移动平台Merom虽然性能强劲,但并没有给您带来太大的惊喜。虽然胜过Yonah,但幅度都不大,而且在一些测试项中,频率稍低的T7200也是输给了T2700的。因此可能在移动平台Core微架构的优势不像桌面平台那样出彩——一颗频率最低的E6300也可以全歼高频率的Pentium D。究其原因就是Yonah本身就比较优秀,而不像NetBurst那样失败,况且Core微架构本身就是在Yonah微架构改进而来,成绩不会形成太大的反差也在情理之中。

现在有必要对Core 微架构做一个简单的概括:Core微架构是Intel的以色列设计团队在Yonah微架构基础之上改进而来的新一代微架构。最显著的变化在于在各个关键部分进行强化。为了提高两个核心的内部数据交换效率采取共享式二级缓存设计,2个核心共享高达4MB的二级缓存。其内核采用较短的14级有效流水线设计,每个核心都内建32KB一级指令缓存与32KB一级数据缓存,2个核心的一级数据缓存之间可以直接传输数据。每个核心内建4组指令解码单元,支持微指令融合与宏指令融合技术,每个时钟周期最多可以解码5条X86指令,并拥有改进的分支预测功能。每个核心内建5个执行单元子系统,执行效率颇高。加入对EM64T与SSE4指令集的支持。由于对EM64T的支持使得其可以拥有更大的内存寻址空间,弥补了Yonah的不足,在新一代内存消耗大户——Vista操作系统普及之后,这个优点可以使得Core微架构拥有更长的生命周期。而且使用了Intel最新的五大提升效能和降低功耗的新技术,包括:具有更好的电源管理功能;支持硬件虚拟化技术和硬件防病毒功能;内建数字温度传感器;提供功率报告和温度报告等。尤其是这些节能技术的采用对于移动平台意义尤为重大。

可以说新一代的移动处理器Core 2 Duo在打得AMD Turion 64 X2毫无招架之力,不过与此同时与Yonah的同门相斗也是在所难免,因为市面上还有数量众多的Yonah产品的库存,在Yonah毫无价格优势的情况下,怎样才能很好的清货呢,我们等待市场的反应。

以下是最新的价格表:


移动扣肉——Merom大战Yonah

从Intel的价格策略上可以看出,Core 2 Duo与Core Duo一一对应,也就是说虽然Merom已经正式发布,Core Duo将逐渐被淘汰,但Intel并没有采取相应的措施降低Yonah产品的价格,从这里却是看不到Yonah的出路。因为从前面的测试中我们已经知道价值294美元的T7200在大多数测试中都能战胜价值637美元的T2700,在高端用户最关注的游戏测试中尤为突出。因此如果Core Duo处理器价格不作大幅调整,实在难以吸引消费者和OEM厂商购买。

以下是INTEL预测的截至明年第二季度移动处理器出货比例:


移动扣肉——Merom大战Yonah

移动扣肉——Merom大战Yonah

可以看到,Core 2 Duo的出货比例将在年底达到三分之一左右,不过Core Duo也有将近三成,即二者的换代不会在短时间内完成;不过到明年二季度,Merom和Yonah的比例将分别为三分之二和十分之一,交替将基本完成。因此可以得出最终结论:在价格相同的情况下,不用比拼,Yonah必败;若Yonah将来拥有价格优势,那还是有两种选择(1)价格差距不大,那还是选Core,因为单就支持更大的内存空间而言,在这个内存标准容量飙升就像我们招商引资的速度——一年翻一番的时代,意义非常大,况且后面还有个Vista——吃内存的老虎等着。(2)如果差距较大,那还是选Yonah,因为毕竟Core比Yonah强不了太多,而且如果看重这些价格差的人,那说明都是经济型用户,估计广大经济型用户也不会上4GB以上的内存。

在文章的最后我要说明,虽然Intel至今都不愿意承认NetBurst的失败,还要说Core兼具Yonah和NetBurst的优点,但Intel的市占率从Pentium 4上市之际的93%一路跌到如今的75% ,这是不争的事实。当然,诸如消费者指责的拙劣的性能、超高的功耗、虚高的频率等都是在2003年AMD K8出现之后才明显暴露出来的。这要归结于产品策略问题,按照道理说Intel早在安腾时代就开始支持64bit寻址,应该Intel是第一个将64位处理器推向桌面平台的厂商。但显然Intel并不打算在当时将64位技术应用于桌面平台,才导致AMD后来者居上。当然,Intel后来也采取了一些积极的补救措施,先于AMD将双核推入桌面平台,先于AMD将64位CPU带入低端,但先天架构上的劣势导致的性能差以及最终的消费者倾向不会因为这些小动作而明显改善。除此之外,研发方向也有明显失误:2003年K8上市后呈现出明显的颓势应该尽早改变相对落后的架构。然而Intel却一意孤行,推出了31条流水线的Prescott核心,希望既有进一步提升的主频和进一步加大的内存改变落后的局面。但是事与愿违,在性能提升有限的情况下还背上了电老虎的恶名,真可谓得不偿失。

但是Intel今天确实在处理器效能上迎头干了上来,在落后AMD 3年之久的情况下能够迎头赶上也确实证明了Intel的实力,如果换作其他厂商面对如此情况恐怕会束手无策,陷入恶性循环之中。当然这要归功于其移动平台一直能够做到高性能和低功耗,因为承袭奔3架构(实际上就是Pentium Pro的P6架构)的衣冢,所以既保持了高性能又兼具了低功耗。现在借着这个成功的架构加以改造,推广到全平台,虽然与处理器老大的形象不符,但最终还是吸引了市场的注意力和消费者的眼光,甚至还博得了一片喝彩,实属不易。

最后,祝Intel和AMD的竞争越来越激烈,产品价格越来越实惠,消费者越来越受益。

【本文结束】如需转载请务必注明出处:快科技

责任编辑:

  • 支持打赏
  • 支持0

  • 反对

  • 打赏

文章价值打分

当前文章打分0 分,共有0人打分
  • 分享好友:
  • |
本文收录在
#快讯

  • 热门文章
  • 换一波

  • 好物推荐
  • 换一波

  • 关注我们

  • 微博

    微博:快科技官方

    快科技官方微博
  • 今日头条

    今日头条:快科技

    带来硬件软件、手机数码最快资讯!
  • 抖音

    抖音:kkjcn

    科技快讯、手机开箱、产品体验、应用推荐...