2003年9月,AMD传说已久的K8架构正式出炉,这也是AMD第八代x86处理器—K8完全贯彻了AMD自主的开发思想,支持64位x86指令,集成内存控制器的大胆设计意味着AMD成为技术风潮的领导者。K8时代一直延续至今,AMD完成了从英特尔的二流对手到能够与它完全分庭抗礼的地位。在这期间,AMD处理器从台式机PC拓展到高性能计算机、服务器、笔记本电脑等领域,同英特尔进行针锋相对的对等竞争,这一点在后来人所共知。
K8架构有许多独创性,其中关键点集中在64位x86指令、整合内存控制器与HyperTransport总线三个方面。我们知道,32位x86是英特尔在386时代创下的,但此后英特尔一直没有将x86扩展到64位的想法,英特尔甚至顽固地认为64位应该只给服务器市场,比如它的Itanium平台;32位用于PC,两者壁垒分明。在当时,只有高端的RISC处理器才有64位的设计,但AMD的开发团队认为64位x86是一种趋势,赶在竞争对手之前推出也可以在宣传上占据制高点。另一方面,64位指令系统不仅效能更高,而且可以管理超过4GB容量的内存——在当时4GB内存看起来大得不可思议,但今天我们回过头来,足以感受到AMD的确富有远见。
内存控制器原本是北桥芯片的功能,它主要负责内存的管理。在RISC系统中,内存控制器往往被直接整合入CPU内,这样做的好处是可以将内存响应延迟降低一半,从而显著提升系统的整体性能,缺点是失去了搭配的灵活性。在当时,内存与CPU是彼此不同的系统,芯片组厂商才是决定者,用户也更喜欢灵活搭配的法则。AMD这一次同样作风大胆,将内存控制器整合于K8内核中,这项设计也令K8架构拥有极出色的指令效能,终也迫使英特尔不得不追随。
图7 AMD64架构将x86处理器推向新的高度,AMD也由此获得与英特尔分庭抗礼的地位。
K7使用的是EV6总线技术作为前端总线,但在K8系统中,用于CPU-内存传输的前端总线已经不复存在,CPU和内存能够直接沟通,但此外CPU需要另外一种方式同芯片组以及其他的处理器相连—HyperTransport就是专为此目的开发的总线。它采用点对点串行设计,并以DDR方式工作,比如800MHz频率、16位的HyperTranspor t总线,就能提供高达6.4GB/s的带宽,并且极具拓展空间。HyperTransport总线对于AMD的服务器平台业务居功至伟,在它的帮助下,AMD可以方便地建立起任意多路Opteron系统,令Opteron在后来得以进入超级计算机市场。
除了这三项根本性的改进,K8在微架构方面也有明显提升,它依然采用三发射设计,不过其整数流水线长度提升到12级,浮点流水线则提高到17级,均比K7提高了两级,为进一步的频率提升打下基础,又保证了指令性能。其次,K8拥有128KB一级缓存和1MB二级缓存,二级缓存容量比之前的Barton增加了一倍。此外,K8可以支持增强3DNow!、SSE、SSE2指令集。至于K7易烧毁、易损坏的问题也获得完满解决:K8的封装在CPU芯片上增加了金属保护盖,内部增加温控电路,另外还增加了Cool ‘n’ Queit节能技术。
K8架构衍生出台式机的Athlon 64、服务器的Opteron和移动版的Athlon 64-M,经过多次升级和名称变动,但更多只是制造工艺、二级缓存等规格的调整,架构本身并未作多少改动——总之,在单核心时代中,K8系列同样击败同时期的Pentium 4,这个市场优势一直延续到2006年底Core微架构的出现。
图8 Athlon 64 X2处理器,两个CPU内核可以直接交换数据,无须绕道经过内存。
K8时代的双核处理器Athlon 64 X2诞生于2005年5月,当时AMD掀起了“真双核”的论战,寓意指对手的Pentium D是拼凑的货色,结果英特尔愚蠢地进行回应使口水战升级,AMD接着大张旗鼓邀请英特尔参加“双核决斗”,并找了一堆评测机构。英特尔终无奈表示希望事情终结,结果这场口水战看起来就是AMD销售人员出题,英特尔工程师老实回答的游戏。但就技术层面而言,Athlon 64 X2采用RISC处理器的做法,让两个核心分享一套内存控制器,多核协作高效进行;而Pentium D的双核沟通效率低下,加上自身效能不济,就被对手打得灰头土脸。
在K8时代,AMD平台芯片组差的弊病彻底成为历史,NVIDIA为它制造了强大的nForce家族,这一度令英特尔感到胆寒。AMD和NVIDIA有着共同的敌人,英特尔则与ATI走得很近,两者联姻呼声甚高。然而世事无常,AMD终因为财力的因素而选择并购ATI,这是发生在2006年7月的事情。AMD为此耗费54亿美金,其中的25亿美金还是贷款。在此之后,AMD元气大伤,多次面临资金用尽的困窘,后来它将沉重的半导体制造业务剥离出售,变为无工厂的IC设计商,这在后来也被证明是明智之举。
K8时代的辉煌被英特尔Cor e微架构彻底终结,后者在指令效能方面占据压倒性的优势,整体性能也遥遥领先。迫使AMD推出新一代K10内核应对—时间已经是2007年10月份。
然而,K10并不是我们想象中的全新架构,只不过是K8的深度改良。K10的技术特性主要包括以下几点:原生四核设计、引入共享的三级缓存、CPU独立的供电设计和更灵活的节能机制、HyperTransport 3.0总线技术和支持DDR2内存、SSE执行单元宽度加倍到128bit和支持AMD-V虚拟化技术。这些改良措施的确显著提升了处理器的性能,但它仍然无法与英特尔当时的Core系列产品相对抗。
K10时代AMD逐渐弱化了Athlon的品牌,启用Phenom来代替它,接口方式改为Socket AM2+(后期为AM3)。尽管没有在性能上压倒对手,但并不妨碍AMD继续提升市场份额,因为Phenom平台具有一流的性价比,AMD同时还提供三核心的Phenom,这让它在面对双核Core系列处理器时颇具物理核心的优势。另外在移动领域,AMD的Turion 64 X2获得一定的应用,但受限于电池续航力的不足,AMD在笔记本电脑仅仅是小有斩获。
在这一阶段,NVIDIA无奈退出芯片组市场,因为AMD通过并购ATI获得的芯片组业务也成熟起来,并结合ATI的显卡技术,打造强有力的3A平台,这在营销上为AMD增色不少。然而,保证性价比优势也让AMD付出惨重代价,它在并购ATI之后就连续亏损两个财年,基本属于勉强撑起CPU、图形、半导体制造共进的大局。
转机出现在2008年10月,AMD成功地完成拆分,将旗下半导体工厂出售给阿联酋阿布扎比政府,并获得84亿美元的强势注入。作个简单的计算,AMD相当于用半导体工厂换取一个ATI,还剩余出30亿美金,无论从哪个角度看,这都是个非常划算的买卖。
2008年11月,AMD高调发布代号为“Shanghai”的新一代处理器家族,主要改进在于采用45纳米SOI工艺,同时三级缓存加大到6MB,但除此之外,K10.5的内在改进委实不多,它的优点在于弹性极好,衍生出双核、三核、四核以及六核处理器,给用户丰富的选择。
图9 K10架构的Phenom处理器,籍由架构的改进,指令性能获得显著的提升,但依然落后于对手。
在K10.5的时代,AMD的芯片组和图形技术都蒸蒸日上,一改往日连续亏损的阴霾,虽然它的处理器不如对手,但图形性能却占据显著的优势,而在日常应用中,处理器性能过剩是不争的事实了,图形系统备受重视,这样整体来看,AMD平台在很多时候都更具吸引力。在2009年度,AMD获得2.93亿美元的净利润,2010年度则进一步提升至4.71亿美元,AMD终于摆脱了困境,而APU的诞生更是为它的未来发展注入澎湃动力。
AMD收购ATI不久,就对外公布了Fusion混合处理器的开发计划,。在计划中,未来的CPU与GPU将被集成在一枚芯片上,两者共同分享高速缓存和内存系统,CPU和GPU之间高效地协作。
在2007年,提出这样的理念是相当前卫的——CPU与GPU处理的任务并不相同,二者的整合是否有意义?在接下来的几年,AMD不断地展示这种思路,但迟迟不见相关的产品出现,加上当时AMD境况糟糕,外界对于Fusion混合处理器也就不以为然。
2009年,英特尔抢先推出带有G P U 芯片的处理器,这便是Westmere,不过英特尔的简单做法更像是一种打击图形厂商的商业谋略,即便是现在的Sandy Bridge将CPU和GPU集成在一起,但性能与内部协助都不够出彩。
2011年3月,AMD终于发布代号为“Bobcat”(山猫)的第一款Fusion APU平台,CPU部分为精简的x86核心,GPU则基于AMD的Di rectX 11 Radeon平台,它所针对的是超轻薄笔记本电脑、上网本等市场,竞争对手是英特尔的Atom。6月,代号为Llano的主流级APU正式发布,这才是AMD真正的重头戏!Llano APU的处理器为K10.5架构, CPU均支持Turbo Core动态加速技术;集成的GPU则为Radeon HD 6500——它拥有多达400个SP单元,同HD 6570显卡相当接近。Llano APU采用32纳米SOI工艺制造,芯片集成的晶体管数量高达14亿5千万个,比英特尔Sandy Bridge四核心的9亿9500万颗晶体管多出近50%,这其中主要体现了GPU的差距。
图10 Liano APU核心结构示意,CPU与GPU高度耦合在一起,并在异构计算应用中发挥巨大威力。
针对不同的市场,Llano APU分别有A8(四核心)、A6(四核心)和A4(双核心)系列等多种配置,并且都有台式机版和移动版本。在实际测试中,台式机版本的Llano APU不负众望,它的图形性能非常抢眼,以压倒性的优势战胜英特尔Sandy Bridge核心的Core 2系列产品,弥补了CPU性能弱势的不足。
图11 AMD视异构计算为未来大的机遇,并为此调整了处理器的开发思想,步入真正意义上的融合阶段。
Llano APU一经发布,即获得市场的热烈追捧,相当出色的图形性能,一流的性价比,让消费者趋之若鹜。而Llano APU的移动版也受到笔记本电脑厂商的青睐,该芯片被大规模用于注重娱乐性的消费级笔记本电脑中。受此拉动,AMD在2011年二季度的市场份额强劲,其中台式机市场提升至28.9%,笔记本电脑市场则提升至15.2%,提升幅度为1.8%。但是在性能敏感的服务器市场,Opteron已经无昔日荣光,市场份额仅剩下5.5%。
对AMD来说,APU大的杀伤力并不是在于图形性能方面的优势,而是未来OpenCL异构计算的整合。所谓异构计算,即CPU和GPU联手共同处理计算任务,CPU更多完成整数运算,高密集度的浮点运算交给GPU负责—后者在密集计算中对于CPU有不对称的性能优势。一旦应用程序能够支持异构计算,APU平台将能够在整体性能上获得全面的领先。
对于异构计算的前瞻也直接影响到AMD新一代“Bulldozer(推土机)”微架构的开发中。“Bulldozer”值得期待的改进就是实现了四发射,这意味着AMD有机会在指令效能方面赶上对手,但“推土机”的浮点模块实际上被人为削减,AMD认为未来的浮点计算任务更多会由GPU来完成,AMD本身也有意识地推进异构应用程序的开发。由此节省出的资源则被用于整数计算模块以及GPU部分。这也意味着AMD开始以全局的视野来构建新一代处理器,而不再局限于x86或GPU自身的限制,这对于微处理器工业而言不吝是新时代的开启。
在三十余年的演进中,x86处理器迎来了发展史上真正意义的转折点:PC不再是唯一的计算终端,各种移动设备登台亮相,云计算让PC的重要性大大削弱,ARM架构开始对x86造成威胁,微软公司也放弃了多年以来的Wintel联盟,开始谋求建立自己的Win-ARM新帝国。然而,尽管面对这样的转折,但x86在未来的十年,恐怕都还是重要的架构。x86固然有着CISC指令系统低效的缺憾,可是x86的进化始终在进行:更高效的微架构、更先进的半导体工艺总是第一时间引入,英特尔与AMD的强大研发实力有目共睹,我们也期待x86在强敌出现时有惊人的表现。
见证“芯”路 30年CPU架构发展史
本文刊登于《微型计算机》2011年11月上