AMD提出了一个真双核(TRUE DUAL CORE)的说法,好像并没有说英特尔是假双核,但由此在中国引发出一场真假双核的大论战。特别是英特尔中国的一个区域总经理回应AMD,被人民日报英文版报道,再被英美IT媒体转载,闹出了国际洋相。
最近中科院一位博士指出了英特尔结构上的一些不足,又引发一场网上的对骂,捍卫英特尔的人士不在少数。看来这场争论不弄个水落石出,会没完没了。某不才,但愿出来做个和事佬,平息一场混战。
其实在美国AMD与英特尔设计优劣、性能高低的问题早已经是铁板钉钉的定论,根本没有争论可言。即使英特尔自己也承认它的双核设计是一个应急性的解决方案。英特尔的设计工程师JONATHAN DOUGLAS在一个学术会议上坦承了这一点。
早在1998年,AMD就意识到由于CMOS半导体器件的功耗与频率的非线性关系,靠频率提升性能的路子将走不下去。鉴于此,AMD决定从改变计算机基本结构出发提升性能,AMD的方案就是64位、整合内存控制、超传输和多核。关于AMD这个构架的特点和优势,作者在“浅谈第八代结构”一文中有详细介绍。简单说来,AMD的结构使CPU能真正发挥其效能,而且在N个CPU核联合运行的情况下,性能几乎是N倍。可见,AMD的第八代构架从一开始就设计成了多核结构。英特尔在2002年就已经把频率提升到3.06GHZ,到2003年,英特尔还在一味地准备继续打频率仗,为此把奔腾四的流水线级数从22级增加到31级。英特尔当时的目标是在2005年把频率提升到10GHZ,随后再提到30GHZ。
经过4年的努力,AMD终于在2003年正式推出了首款皓龙芯片,性能明显超过了英特尔的至强芯片,随后AMD又发布了ATHLON 64芯片,性能也超过了奔腾。但是AMD单核CPU的性能优势并非压倒性的,大概在20%左右。但AMD的架构使它在CPU核越多的情况下优势越为明显,一个4路的AMD皓龙服务器甚至比16路英特尔至强服务器还快。但是,服务器的主要市场是2路,英特尔当时似乎并不是很担忧。
与传统结构不同的是,AMD的第八代CPU不光是包含计算部分,它还包含了非常高端的通讯部分。以940接口的皓龙为例,它包括一个128比特的整合内存控制器直接与内存相连,内存带宽每秒64亿字节、延迟只有50纳秒,另外还有三条每秒八十亿字节的双向超传输连接用于与其他CPU或者I/O之间的通信,超传输总带宽达到每秒240亿字节。如果是双CPU的系统,因为有两个内存控制器,内存带宽就扩展到每秒128亿字节。下一代F系列1207脚皓龙的内存带宽和超传输速度将有更大的提高。皓龙的计算核心部分通过一个整合在CPU内部的“系统请求队列”(System Request Queue,相当于传统的北桥)连在一个交叉杠(CROSSBAR)上,后者再与内存控制器和超传输线相连。需要增加一个计算核时,将新增核连到交叉杠上的端口上就行了。
相比之下,英特尔的传统共享总线结构,所有的通讯(内存、显卡、IO)都挤在一条单工的总线上。在外频为800MHZ(实际是200MHZ,但是QUADPUMPED)时,英特尔总线带宽为每秒64亿字节,连跟内存全速通讯的带宽都不够(双通道DDR2 667MHZ需要每秒106亿字节的带宽)。在英特尔结构下,一旦某一个装置在使用总线,其他装置就必须等待,这导致CPU很大部分时间因为在等待总线而不能发挥效能。最近英特尔推出了一款廉价的奔腾D 805 CPU,总线带宽每秒才42.6亿字节,两个核,平均每个核才得到每秒21.3亿字节的带宽。AMD的32位速龙、毒龙也是传统的共享总线结构,但AMD早已停止生产这类CPU作为主流PC产品,部分K7速龙改名为GEODE NX,用于低端应用。
所有AMD的第八代芯片,即使是单核的皓龙和ATHLON64都包含了扩充到双核的部件,也就是整合北桥和一个双端口的交叉杠。只是最初由于功耗的问题,无法加第二个核。一旦功耗问题得到解决,加一个核就是轻而易举的事。在2004年,AMD引入了一项复杂的DSLS SOI工艺,大大降低了功耗,这就使它引入双核成为可能。也就在这一年,AMD演示了双核皓龙芯片,拿一台现有的惠普DL585四路服务器,换成双核芯片,立刻就成了8路,性能几乎提高一倍。由于AMD的设计从一开始就做了双核的准备,一台机器由单核换双核时不需要做其他的硬件变化,940针脚和939针脚的CPU都是如此-双核的最大功耗与单核相同,所以连散热的装置都不需要换。
这时候,英特尔发现提升频率已经不再可能,因此决定放弃4GHZ奔腾的计划。针对AMD的双核,英特尔突击攻关,也搞了一个,这就是代号SMITHFIELD的奔腾D 8xx系列(805, 820, 830, 840等)。在这款CPU里,一块硅片内有两个奔腾四CPU,但它们尽管是在一块硅片内,却互不通气,简单的说就是把两个CPU的脚并连起来,然后接到主板上的总线上,通过外面的总线来通信。我看到网上有人说英特尔的双核是联体婴儿,这个比喻很恰当,不同的是,英特尔的这个联体婴儿是通过共用一个鼻孔(总线)出气,在快跑时当然是上气不接下气。由于核与核之间是通过总线交换CACHE COHERENCE数据,这就大大减小了总线的有效带宽。
英特尔的这个明显落后的设计当然在美国遭到了行家们的猛烈炮轰甚至奚落。对此,英特尔尽量采取沉默来对待不断的指责和AMD的不断挑衅-总还是有很多人迷信英特尔的。从技术角度,英特尔的方案却也是没办法的办法。AMD提前了那么多年,英特尔跟在后面要赶上去谈何容易。高科技这东西不是人多就能加快的,就像一个厨子煮熟一锅饭要20分钟,10个厨子煮熟一锅饭也要20分钟;英特尔人再多,搞一个新设计也得好几年。何况AMD搞的这个第八代结构一次就加了好几样革命性的东西,别说是英特尔,就是IBM也感到了压力,其他的公司如HP,SUN和搞超级计算机的CRAY,一看玩不过,干脆把希望寄托到了AMD皓龙身上。
既然大家都看出英特尔的双核是双CPU并联,英特尔也干脆不再装象了,它的PRESLER奔腾D 9XX系列干脆就是两块单独的硅片封装在一起,这样可以提高正品率。
通常来说,奔腾D 9XX的这种设计用计算机行话不叫双核,而叫多芯片模块(MULTI CHIP MODULE),但叫双核又有何妨呢?
英特尔当然知道自己的设计落后。值得庆幸的事,尽管奔四一直得宠,英特尔以色列却没有放弃研究、完善奔腾三,取得了不少进展。早在2005年秋,英特尔就决定全面取消奔腾四的结构,而代之以基于奔腾三(第6代架构)的所谓CORE架构,这个系列的CPU包括MEROM、CONROE等。在双核CORE结构里,两个核通过共享L2高速缓存来改善核与核之间的通讯问题,这样两个核之间的CACHE COHERENCE通讯就不需要跑到CPU外面的总线上转一圈再回来了。MEROM和CONROE计划在2006年下半年推出,到时奔腾D 800、奔腾D 900就都寿终正寝了。据相关消息介绍,CONROE要比现在的奔腾D快40%,单CPU性能将接近AMD的水平(考虑到AMD也会大幅提高性能)。但由于最终还是受共享总线的限制,在两个CPU以上(也就是4核以上),将仍然无法与AMD分庭抗礼。
在考虑购买计算机时,CPU当然是最关键的指标。价格、功耗、性能、64位支持都是需要考虑的因素。功耗因素目前显得尤为重要,功耗太高的弊端很多,不但需要大的散热装置,还会降低计算机的可靠性、缩短机器寿命(温度高10度将导致主板上电容寿命缩短一半)。电费也是必须考虑的,一个100瓦的奔腾D 820,以每天使用8小时、每度电0.60元计算,一年下来,CPU的电费就达175元。
英特尔的双核设计虽然落后,但是比单核还是有提高的。作为计算机用户,哪管什么真双、假双、黑猫、白猫,跑得快、功耗低就是好样的。英特尔的双核虽然比AMD的慢、功耗也高,但如果没这个双核,那就要差更远了。所以大家应该体量英特尔的苦衷。英特尔下半年会有全新的表现,它在IDF上保证下一代CONROE芯片将在奔腾D基础上性能提高40%同时功耗减少40%。这款CONROE芯片需要新的主板,所以如果现在买奔腾,到时是升级不了CONROE的。大家如果不急,就等等看吧。(文/岳东晓)