PDA

查看完整版本 : 何谓双核?真假双核?双核大解析!


Erika
2007-11-24, 02:35 PM
何谓双核?真假双核?双核大解析!
引言:2006年,双核芯片将向主流市场发起冲击。年初这段时间,Intel推出针对笔记本电脑的Core Duo处理器,将双核平台的战火引向了移动领域;AMD方面,双核的Turion-64新片将在年中推出,Athlon-64X2也将在下半年进入主流市场……,毫无疑问,双核处理器终将取代单核处理器成为市场的主导。

在双核处理器推广的过程中,我们看到一些不和谐的音符:AMD宣扬自己的双核Opteron和Athlon-64 X2才符合真正意义上的双核处理器准则,并隐晦地表示Intel双核处理器只是“双芯”,暗示其为“伪双核”,声自己的为“真双核”,真伪双核在外界引起了争议,虽然Intel公司对此做出了反驳,但是对不了解真正技术细节的用户就糊涂了,在这里将解释一下双核的真正技术,以求让大家了解双核。

一、技术基础:为什么从单核转向双核。

从单核转向双核,最重要的因素并非只是提高整体效能,而是能提高新片的执行效率。对于单核来说,提高性能的主要途径便是优化逻辑结构、扩大缓存以及提高芯片频率,但芯片的逻辑架构,往往有着4、5年的生命周期,一但设计稳定就很难从根本上对其做出改变,这样扩大缓存容量和提高频率就成为单核处理器提升性能的主要手段,这也是Intel过去多年所采用的办法。提高缓存容量虽然能够小幅的提高性能,但付出的代价相当高:处理器的告诉缓存都是使用SRAM静态随机存储器件,SRAM速度极快、可晶体管利用率很低,1MB容量缓存就与要消耗5000万左右的晶体管——我们可以看到,无论在Pentium 4、Dothan还是Athlon 64处理器中,二级缓存占据的新片面积普遍超过50%,如果不断提升缓存容量,无疑将对新片的制造成本(与新片面积三次方成正比)和运行功耗带来严重的影响。与之类似,提高工作频率能够一定程度上提高新片的性能,但会导致运行功耗大增,现在芯片运行在风冷条件之下已经接近极限。

二、双核中的“耦合”概念。

尽管X86领域在2005年才开始推出双核心产品,但双核心并不是一个新概念,它只是CMP中最基本、最简单、最容易实现的一种类型。CMP概念最早由美国斯坦福大学提出,起核心思想是在一块芯片内实现SMP架构,让一块芯片拥有并行执行不同进程的能力,在上个世纪末,IBM和惠普公司都开始着手相关的研究工作,其中IBM早在2001年就推出双核心结构的POWER 4系列处理器。SUN公司也随即推出双核心UltraSPARC 1V处理器,惠普则带来双核PARISC,从此开始,RISC处理器进入双核时代。2004年,IBM推出性能更强的Power 5,在继承双核心结构之余还引入SMT同步多线程技术。除了上述针对大型机的处理器之外,IBM还在2005年推出为XBOX 360定制的Xenon三核心处理器以及针对桌面/入门服务器的POWERPC 970MP芯片,再加上为PS3定制的Cell,IBM拥有超级庞大的多核心处理器产品线。鉴于多核技术的成功应用,以Intel和AMD为代表的X86 处理器厂商。

在CMP单新片多处理器体系中,存在一个耦合程度的概念,它描述的是两枚核心的协作关系——松散耦合的一个离子是多路Xeon服务器:系统中的每个服务器都有自己的前端总线、与一个芯片组相连,两者分享同一套内存系统。如果同时执行多个不同的任务,多路Xeon可充分发挥出多路并行的有时;但如果让它们协作处理同一个程序,那么这类多路系统很难获得高效率,因为两个处理妻必须频繁进行缓存数据的同步,而这项操作就必须由前端总线、芯片组和内存系统,耗时漫长。紧密耦合的例子是IBM的POWER 4/5,这可处理器的两个核心共享同一个缓存,并有缓存调度的交叉开关,无论是运行多个不同的任务还是共同执行同一项任务,都拥有很高的协作效率。显然,对于双核心处理器来说,硬件核心的耦合程度越高越好,而除此之外多核设计还要求CPU作出更多的改变,一个最重要的改变点就是CPU的前端总线以及内存系统——双核心意味着处理器的运算能力翻倍,如果前端总线和内存带宽与过去的单核产品相同,那么系统性能将不可避免受到制约,因此对双核产品而言,更快的前端总线、更高的内存带宽以及更短的内存延迟都相当重要,尤其是对于耦合程度松散的双核芯片来说更是如此。倘若多核处理器必须考虑多路扩展的需要,那么最好能够在处理器之间建立直联的芯片间总线,这样多个处理器就可以在执行任务时直接同步缓存数据、提高协作效率,也就是可实现更高等级的耦合——对单核产品而言,性能高低完全取决于CPU本身的素质;但对双核产品以及多路系统来说,影响性能的不仅仅是CPU核心的能力,很大程度上也多个核心的协作效率——即便 CPU核心效能较低,但如果它能够生成一套紧密耦合的双核或多路系统,那么该系统的整体性能完全可能胜过核心效能高但耦合松散的产品。正因为如此,针对高端的RISC处理器都通过技术手段实现多核心,多处理器的紧密耦合。但多核心X86领域,情况并非如此,Pentium D的“伪双核”与AMD的“真双核”只争关键就在于处理器的耦合程度不同。

三、耦合方式——真伪双核只战的根源

去年5月份,Intel推出Smithfild核心的Pentium D/XE,宣告双核X86时代的到来。由于Pentium 4架构上与Athlon 64相比有明显的劣势,Intel期望能够以高端的双核产品来提高竞争能力——双核心的性能与P4相比高达60%-80%的性能提升幅度相当惊人,但它的功耗也因此提升到130瓦的高峰。AMD也不甘示弱拿出双核A 64 X2,架构上的优势让它具有更卓越的效能,切功耗明显低于P D/XE,P D/XE基本上没有太多竞争力可言。2006年初,Intel带来65纳米的新一代P D/XE处理器,依靠先进工艺来缓解芯片功耗问题,一定程度上增强了Intel在高端领域的竞争力。但不管是Smthfild还是Presler,它们都采取非常松散的方式实现双核心的耦合,这也让对手找到抨击的借口——AMD一直在宣扬自己的Athlon 64 X2是“真双核”,并暗指P D/XE 为“伪双核”,后者的执行效率明显低于真正的双核处理器。

1.PD:松散的耦合,SMP概念的变种:

我们先来看看Smithfield,他实际上由两枚Prescott核心组成,两者拥有相互独立的二级缓存资源——我们知道,如果双核平台在协作运行同一个任务,那便要求每个物理内存的缓存信息必须保持一致,否则便会出现运算错误。因此,许多采用独立缓存设计的RISC双核处理器都要求内部拥有一个特殊的 “仲裁机构”,在两个独立缓存之间直接建立高速的数据同步通路。然而,Prescott架构先天缺乏这个部件,中心设计技术难度较大,在时间上也不允许。最终Intel也没有解决这个问题,所以当P4架构运行同一任务会耗费大量的CPU时钟周期,也严重堵塞了处理器的前端总线,很难有出色的协作效率。但如果运行的是两个不同的任务,操作系统会分别将它们指派给不同的内核,这样又两个核心来处理不同的任务数据就不必同步,此时核心的耦合程度对并行任务影响不大。最糟糕的情况是系统运行那些不支持双核平台的任务,此时两个核心无从协作,处理器实际上只有一个核心处于工作状态下,另一个核心闲置。从上面看PD的运作方式与传统的SMP处理器系统更加类似,而不同与紧密耦合的双核RISC产品,但AMD暗指其为“伪双核”也不正确,因为业界从来都没有真假双核的概念,Smithfield P D属于不折不扣的CMP双核单芯片处理器,只是耦合程度松散罢了。

为此,Intel干脆在65纳米的Presler新一代双核批P D/XE中改变了此种作法——Presler不再沿用双核心整合在一枚芯片的设计方案,而是直接将两芯片设计在同一块电路板上外加整体封装。虽然从外观来看他好象只是一枚处理器,但如果我们揭开散热金属盖,就会发现他拥有两块独立的65纳米Cedarmill芯片。严格来说就不是双核处理器,而隶属于 SMP对称多处理器体系。对Intel而言,这种做法更具成本优势。

2.Athlon 64 X2:独立缓存的紧耦合方式:

A 64 X2同样是采用独立缓存的方式,两枚核心军拥有属于自己的缓存资源,彼此无法相互共享。但与P D不同的是处理器的两个核心耦合得相当紧密,原因就在与其处理器内部拥有高效的缓存同步机制,而不必通过漫长的内存访问路径。倘若执行双核油画的特定应用,Athlon 64 X2都能够获得更好的性能优势,但由于在各种评测中Athlon 64 X2都能够获得对P D的性能优势,但由于Athlon 64 X2的单个核心拥有更好的性能而非Athlon 64 X2的双核方案更优越,所谓“真假双核”至少在目前为止差异还是较难体现的。

除了实现紧密耦合外,AMD 64 架构另外两个技术优点也非常值得称道:一,它整合了内存控制器,每颗处理器都可拥有自己的内存系统,而不必与其他处理器共享;二,AMD 64架构处理器可直接通过HytperTransport总线建立芯片对芯片的直连,而不必通过前端总线 - 北桥 - 南桥 - 内存的曲折链路。在SMP多处理器环境下,这两大特性尤其有用——例如在双路XEON组成的SMP系统中,两枚处理器必须通过前端总线共享内存,不仅内存延迟较长、资源调度耗费资源,每个处理器分享到的内存带宽和容量也比较有限。虽然Intel在服务器领域因如高带宽、大容量的FB-DIMM模组来解决问题,但随着系统内XEON芯片数量的增加,每个处理器获得的内存带宽和容量将越来越少。

三,IBM的POWER 5:

POWER 5 MCM模块中包含4枚POWER 5芯片,每个POWER 5都是采用共享二级缓存的双核处理器,同时拥有内存控制器和一条高带宽的CHIP - TO - CHIP总线。这样,MCM模块内的四枚POWER 5处理器便可以通过这条总线联结起来,按照同样的方法可以将多个MCM模块联结成一套有机系统,结构上相当富有弹性,这也是POWER 5可很好胜任超级计算机要求的一大原因。很明显,AMD的Opteron同IBM的架构比较接近两者都拥有专门的芯片见连接总线和整合内存控制器,但差异在与IBM一开始就采用了共享缓存设计,而AMD则使用独立缓存,由专门的逻辑单元实现缓存同步。至于Intel公司,至少要等到2008年才会引入类似的架构,失去了战胜对手的最好时机。

四、Smart Cache技术:Intel实现紧密型耦合双核平台

Intel 很早就意识到P D架构存在的问题,它在设计Yonah核心Core Duo处理器时便决定引入全心的双核架构。我们知道,要实现高效率的双核协作,关键就在于必须首先解决缓存数据同步的资源消耗问题——如果继续沿用独立式缓存设计,那么就应该和AMD一样在芯片内引入一个负责协调的仲裁机构,循序两个独立的缓存直接进行数据同步。另一种方法就是采用类似IBM多核处理核心共同使用同一个缓存。这样,两个核心可进行超快的数据同步操作。对Intel来说,前一个方法肯定比较简单,它只需为处理器增加一个负责同步的逻辑单元个相应的高速内部中线即可;但Intel认为这样的改良方法不够完美:一是处理器在运行不同任务时有可能出现某个物理核心的缓存资源不足,而另一枚核心却出现缓存资源部分空闲的情况,缓存资源利用率不高;二,处于节能和降低发热的要求,双核处理器可能在某种情况下让一个核心进入休眠状态,以单核模式运行时 CPU缓存也只剩下一半,系统性能会出现严重的下滑。而共享式缓存设计就可以有效克服上述缺陷,但Intel买年队的难题是:CPU在运行过程中两个核心要竞争使用缓存资源,如果没有一套完整的调度机制,很可能导致两个核心因为竞争抢资源发生冲突,技术风险要大,经过全面比较,Intel最终选择了共享缓存的双核方法,在刚刚发布的Core Duo 处理器中,我们便可以看到一项名为“Smart Cache”的共享技术。

单单从双核的角度来考虑,Core Duo和Merom近乎完美,但这两者不仅是面向装载单枚处理器芯片的桌面PC和笔记本电脑,还将被用到多路服务器领域。遗憾的是,Intel还是没有在 Core Duo和Merom架构中解决困扰XEON已久的难题。尽管Merom架构XEON芯片的每瓦性能非常出众,但在SMP多路系统未必能够形成对 Opteron平台的性能优势,加之Opteron已经牢牢站稳了脚跟,Intel要在未来两年内重新夺回主动地位更加困难。

后记:虽然市场上喧喧扬扬的双核时代已经到来,但是我们真的需要双核吗?虽然双核在未来一定会进入千家万户,但是,选择进入的时机是一个问题,到底要在什么时间我们才要真正的迈入双核时代呢?以后的多媒体家庭时代将会什么时候到来,我们还需要擦亮自己的眼睛,观察好时机。