英特尔与AMD 系统架构的深入探讨
修建PC中的“高速公路”—集成内存控制器+芯片直连总线
AMD在开发K8处理器时,即参照RISC计算平台的经验,对平台的连接架构进行改良。K8连接架构有两个基本的关键点:一是将内存控制器集成于处理器内部,处理器核心与内存控制器通过超高速、低延时的内部总线连接;其二就是引入通用的HyperTransport总线技术,实现处理器与处理器、处理器与I/O芯片组之间的高速直连。这两项技术有效改变了传统连接方案的弊病,让处理器得以充分发挥自身潜能而不会被内存系统拖后腿,同时也有利于构建更强大的多路并行计算系统。
首先我们来看集成内存控制器会带来哪些增益。情况非常明显,现在内存控制器与CPU核心紧密地结合在一起,两者通过芯片内总线实现数据交换—芯片内总线可以轻而易举地达到百GB/s级别的速度,并且访问延迟极低,一举克服了传统平台前端总线的制约。以此为依托,内存系统的性能可以得到最高限度的利用,处理器获得数据的能力大幅度增强,从而可以将更多的时间放在指令执行而非数据等待上面。根据从K7到K8的过渡经验来看,集成内存控制器设计让内存访问延迟降低了50%,而K8的指令效能比K7高出25%以上,其中的关键点便是该技术的引入。
图4 将内存控制器集成于处理器内,可有效提升内存性能,对整机性能的提升也相当可观
在多路服务器领域,集成内存控制器的设计更是获得广泛的认同。这一设计让每颗处理器都拥有属于自己的内存系统,不会再有任何因资源分享造成的性能降低或存取冲突之类的问题,系统的多路扩展也变得更加容易。不过,将内存控制器集成之后,前端总线的概念就不复存在,为了解决处理器与I/O芯片的信息交换问题,AMD引入了HyperTranport总线技术,不过HyperTranport更大的意义体现在多处理器的扩展——AMD K8微架构中包含三个独立的HyperTranport控制器,可支持三路HyperTranport总线输出,这三路总线可以根据需要同其他的处理器和I/O控制芯片连接,进而建立起一套完整的高性能计算单元。结合上述两项技术,K8微架构非常适合用于构建超级计算机系统,其中最著名的案例当属IBM为美国“洛斯·阿拉莫斯”国家实验室设计制造的“RoadRunner”、克雷(Cray)的“Red Storm”,等等,在超级计算机500强排行榜上,AMD Opteron平台占有相当重要的地位。
图5 借助HyperTransport直连总线,Opteron平台可实现高度弹性的扩展,并可用于构建超级计算机系统
当然,PC不必考虑多路扩展的问题,先进连接架构的优势更多体现在内存性能以及可升级性。我们知道,芯片组中规格最经常变动的就是内存支持,现在内存控制器由处理器所整合,芯片组的功能仅剩下图形接口控制器/整合图形和I/O扩展,这两个部分的功能都非常稳定,没有迫切升级的必要,而且处理器与芯片组连接的HyperTranport总线也是非常稳定。换句话说,计算机的主板就变成一个规格稳定的承载平台,用户如果要进行硬件升级,只要更换处理器或升级内存即可。AMD K8平台一开始并没有很好地利用这一优势,它额外设计了如Socket 754、Socket 939等不同的插槽,直到Socket AM2到来之后,K8平台才充分利用到该连接架构可升级性强的优势,如我们既可以用单核Athlon 64、也可以换为双核Athlon64 X2甚至四核Athlon 64 X4,即将出台的Socket AM2+接口也保持向下兼容。从用户的角度来看,选择AMD平台可以让计算机拥有更长的生命周期,相比之下,英特尔当前的Core 2 Duo平台就缺乏这个优势。
尽管AMD拥有先进的连接架构,但K8平台在单机性能上已被Core 2 Duo所大幅度抛下,这便是受到K8微架构落后之累。而Core 2 Duo平台固然连接架构因循守旧,但在Core微架构的帮助下,能获得全方位的性能领先。不过,来自市场的反馈并不如英特尔所愿:Core 2 Duo平台增长速度不如预期,处于叫好不叫座的局面,AMD性能落后的Athlon 64/X2系列则势头未减,很大程度上就在于K8平台先进的连接架构,更长的生命周期保障以及丰富的芯片组/主板支援很容易就会让人产生好感;而英特尔平台高中低端泾渭分明,若你现在购买了低端平台,那么就只能局限于低端的处理器和内存系统,日后要通过升级来大幅提升性能几乎不可能—英特尔似乎持有保守僵化的观念,这不仅体现在市场定位上,产品技术策略同样如此。
AMD在多路系统的辉煌成功让英特尔意识到K8直连架构的优越性,为此英特尔决定于2008年中期后开始引入类似的设计。即将内存控制器集成于CPU内部,同时以一条“CSI(全称为Common Serial Interconnect)”高速直连总线建立多处理器之间,以及处理器与I/O芯片之间的互联,事实上,这其实只是K8连接架构的翻版,但在效率一流的Core微架构的辅助下,英特尔仍有能力实现平台性能的大幅度提升,AMD固然可以拿出更有噱头的Fusion混合处理器、Torrenza协处理器平台等更先进的连接架构,但如果不及时拿出可以同Core抗衡的新一代微架构,AMD就很难在平台性能方面获得领先,更何况它的生产工艺整整比英特尔落后了一代。
强者的到来—协处理器与混合处理器
集成内存控制器、芯片间高速互联总线等特性代表了PC连接架构优化的开始,但它远不是终结。上述两项技术都是以处理器作为系统中枢,图形和其他PCI Express扩展只是作为常规的I/O组件,在过去几年这套架构大概是没什么问题。但随着DirectX 10和统一渲染架构的引入,GPU具备越来越强的可塑性,除了3D图形渲染之后,GPU所拥有的强大浮点性能可以用来完成诸如物理计算、流处理、科学计算、影像解码加速、图像处理加速等等许多要求高计算性能的场合,但如此一来,GPU便要与处理器交换大量的数据,尽管PCI Express x16总线(芯片组-GPU)和HyperTransport总线(CPU-芯片组)都足够快,但数据中转过程必然导致存在总线访问延迟较长的弊端。
1.全方位出击—AMD Torrenza协处理器与Fusion混合处理器架构
AMD再度发起了连接架构的革新,它首先提出Torrenza协处理器平台,该平台仍然以HyperTransport为连接中枢,所不同的是应用范围被扩大了,它可以用于连接浮点协处理器、多媒体协处理器以及图形模块。这样,这类协处理器就能够通过HyperTransport直接与处理器进行高速通讯,协处理器所处的地位与主处理器完全对等。其中意义最大的当属图形系统,AMD通过收购ATI成功地获得了高端图形业务,这样,它可以直接推出采用HyperTransport接口的高端显卡—AMD现在已经推出HyperTransport 3.0标准,数据传输频率可达到2.6GHz,若仍采用16位接口,那么GPU与处理器之间可以10.4GB/s的超高速进行低延时的数据交换,有效提升图形系统与主处理器的协作紧密程度,倘若我们此时借助GPU来完成一些通用计算任务,它也能够更加轻松地完成。在这里,我们也不难发现PCI Express总线不再必要,它的作用被削弱为一些无关紧要的系统I/O。
图6 AMD Torrenza协处理器平台,主处理器与协处理器同样借助HyperTransport总线实现对等的高速直连
Torrenza是一套开放且极具弹性的平台,中高端GPU可以做成外置的图形模块,而入门级别的GPU则可以直接集成于处理器内部,这便是AMD提出的“Fusion”混合处理器计划。Fusion的构想也许有些石破天惊,如图7所示,我们可以看到,GPU与CPU功能直接耦合,两者共享二级缓存和内存控制器,等同于将双核处理器中的一个CPU核心,直接更换为GPU单元。在Fusion架构中,GPU与CPU拥有等同的权力,它可以根据需要获得既定的二级缓存资源,也可以同内存系统进行高速通讯。事实上,此时显存与主内存也合而为一。这套连接架构最大的优点就在于具有极高的资源利用效率,假设系统搭载的是双通道DDR2 800,那么CPU与GPU都能获得12.8GB/s的内存带宽,加上有高速二级缓存的帮助,GPU性能可以获得最大限度的保障。相较而言,现行K8整合平台都是将GPU集成于北桥芯片内,北桥再通过HyperTransport总线与CPU核心相连,然后通过CPU获得内存控制器的分享权,这套架构很难保证集成图形能够具有多么出色的内存性能。事实上,AMD在设计K8微架构时根本没有考虑到这一点,导致初期整合芯片组难以获得内存资源,图形性能极差,虽然AMD现在解决了这一问题,但集成图形的内存效率仍谈不上出色,与Fusion混合处理器根本不是一个层面的产品。
图7 AMD Fusion混合处理器,CPU与GPU地位相等,两者都可直接与内存控制器通讯,实现内存性能的最佳化
Fusion方案在成本方面也有明显的优势。由于功耗的原因,Fusion只能整合入门级的GPU,但也足够90%以上的人群使用;而Fusion的图形性能将直逼中端显卡,购买一块独立显卡不再那么必要;同时,由于芯片组的职能遭到削弱,单芯片设计将进一步流行,整机成本也都可以进一步降低;另外,系统中现在只要Fusion混合处理器,一枚I/O芯片就可拥有完整的计算功能,整机可以轻松做到小型化,这些因素都能够显著降低整机的成本。Fusion同时也具有更长的生命周期,若用户觉得有升级的必要,那么只要更换一枚处理器,就可以同时升级CPU、图形和内存支持。从这些情况来看,Fusion在移动领域、中低端消费市场、商用领域显然都拥有突出的优势,其中移动领域更是Fusion的重中之重—在理想条件下,AMD可以做到在25W功耗内实现CPU、GPU和内存控制器功能,从而在平台功耗方面战胜对手,为进入超轻薄和商用机型领域彻底扫除障碍!无论从何种角度考虑,Fusion所代表的连接架构都拥有足够多的技术噱头,即便AMD未来得及对CPU微架构做出质的改变,整体性能落后于对手,Fusion依然能够扮演AMD在移动市场的杀手角色。
Fusion的出台意味着计算机图形系统也拥有先进的连接架构。而在CPU方面,AMD同样没有停步,很早就有关于AMD K9/K10架构的研发消息,但至今AMD一直守口如瓶。我们过去曾经获得这样的消息:K9/K10将直接集成PCI Express控制器,将I/O设备与处理器更紧密地联结为一体,这样做的技术难度并不大,至少原ATI就掌握了单芯片40个PCI Express通道的技术能力,将其整合于处理器内完全可行。
不过,我们不应指望集成PCI Express控制器能带来多明显的性能改善,它的价值更多体现在降低平台成本,因为芯片组的职能进一步缩减,只要一枚拥有完整I/O功能的南桥即可。由于南桥的磁盘接口、音频、网络、USB 2.0等功能都不会频繁升级,一块主板即可应对整个架构生命的始终,当然这得在处理器接口保持稳定的前提下。如果你看到这一趋势,便会发现AMD平台的开放性大打折扣,除了像NVIDIA这样拥有高端图形技术的芯片组厂商可以依靠SLI来维持高端市场外,主流和低端市场将逐渐归AMD自家的芯片组掌控,VIA、SiS这样的三方厂商将不断失去机会。也正是看到这一趋势,NVIDIA现在积极开发通用处理器技术,借此打造包含处理器、图形和芯片组的一体化平台,AMD与英特尔也都在创建这样的平台,看来未来计算机市场的竞争也更多会是平台的对决,而计算机工业也很有可能重返封闭时代。
2.“给跑车装上多个发动机”—英特尔的协处理器平台
英特尔所倡导的协处理器架构便是披露已久的Many Core计划。Many Core的关键点是在处理器内集成数量庞大的加速单元,例如浮点加速器、多媒体加速器、Java解释器、Flash加速器等等,这些加速单元围绕着若干枚CPU核心,接受来自CPU的任务分派并将结果传回—与AMD Torrenza/Fusion的对等模式形成鲜明对比。英特尔Many Core计划实际上采用“主-从”模式,而且所集成的协处理器都是相对简单的加速单元,英特尔一开始并没有考虑将GPU和高性能浮点协处理器包含在内。但是面对AMD收购ATI后带来的威胁,英特尔也积极寻求高端图形技术,并将推出类似“AMD Fusion”的混合型处理器。到目前为止,英特尔没有详细披露它的混合处理器采用何种架构连接,英特尔初期更可能将GPU芯片与CPU芯片封装在一起,构成一个MCM(Multi-Chip Module)多芯片模块。但GPU与CPU通过何种方式尚不知晓,是否能够共享内存控制器也还有待观察,毕竟英特尔要到明年中期后才会推出集成内存控制器和CSI总线的新架构,混合处理器的推出时间将会在2009年之后。
图8 英特尔2015年的处理器设想:8个通用处理器+64个专用协处理器,主处理器与协处理器采用主-从模式构建
写在最后
如果说微架构决定了计算机大脑的智商,那么连接架构所决定的就是神经系统的敏锐程度,这两者相辅相成,从不同的角度对系统性能产生着重大影响。在微架构的战争中,英特尔获得了绝对的胜利,Core以卓越的指令并行性和每瓦性能确立了x86处理器的巅峰,x86芯片首度在技术上达到RISC芯片的水准。
但在连接架构的竞争中,局面却决然相反:AMD系统集成内存控制器、HyperTransport直连总线让CPU获得卓越的内存使用效率;Fusion架构让GPU又获得同样出色的内存效率,Torrenza协处理器平台让超级计算机的构建变得更简单易行。而英特尔一直拘泥于传统的连接架构,开发人员没有从全局的高度来对整套平台的连接架构作任何优化设计,虽然它最终也将进行变革,但明显是追随AMD的后尘。倘若英特尔能够在连接架构方面前卫一些,配合一流的微架构和领先的半导体技术和产能,AMD将完全没有机会。
我们只是从技术角度探讨微架构与连接架构的问题,对PC来说,连接架构之于性能的影响还不是那么巨大,微架构的差异为显性因素,所以如你在诸多评测中所见,Core 2 Duo平台在性能方面优势明显。但在四路乃至八路服务器系统中,AMD Opteron则获得更多技术层面上的认可。
主板
显卡
显示器
CPU
内存|存储
光存储
机箱|电源
键鼠|摄像
音频
笔记本
台式机
数码相机
手机
MP3|MP4