【IT168 专稿】谈到X86服务器或者PC服务器,很多人想到的都是英特尔以及它的至强系列处理器芯片,毕竟X86服务器芯片这块市场十之八九的份额都在英特尔的手中。不过,我们仍然无法,也不应该忘记英特尔的“友商”AMD公司以及它那充满“创新”、“奋斗”精神的皓龙处理器。今年是IT168网站成立十周年,值此之际,IT168服务器频道推出了系列回顾性文章,以梳理服务器这一产业过去的风风雨雨,从而帮助大家对那些如同璀璨明星一样的企业和产品有了一个历史性的认知和把握。本文回顾了AMD皓龙处理器自2003年诞生以来在市场夹缝中求得生存和发展的历程。
皓龙,英文名Opteron,是AMD公司X86服务器处理器芯片系列的品牌名称,也是AMD公司第一款可以执行AMD64指令集(现在一般也称为x86-64)的处理器。皓龙于2003年的4月22日正式发布,其采用的核心代号是SledgeHammer(大锤,也称K8),这一锤砸向的是之前几乎完全被英特尔所垄断的x86服务器和工作站市场。从此,皓龙与至强在市场上形成了“针尖对麦芒”、“不屈不挠”的正面竞争。到2007年9月10日,AMD又发布了基于新一代核心AMD K10(代号Barcelona)的皓龙处理器,而且,跟最早的单核心皓龙不同,它已经是一款拥有4个内核的处理器。
不得不说的三个特性
最早的皓龙处理器之所以在2003、2004年能够打开市场,除了 “直连架构”、“集成内存控制器”等技术给用户带来耳目一新的震撼之外,还得益于AMD对64位计算的准确定位。当时,英特尔的至强处理器执行的是32位计算,而把64位计算托附给了英特尔与惠普联合开发的另一个与IA-32完全不同架构的处理器:安腾,这使得至强和安腾之间存在了一个市场空隙,AMD正好乘虚而入。对皓龙而言,它有个非常重要的特性——就是既可以执行当时大量的x86 32位应用软件,且不会带来性能上的损耗,又可以执行x86-64的64位应用软件。为了应对皓龙的竞争,英特尔还被迫引入了新的IA-32程序仿真器来提高安腾处理器运行32位应用程序的速度,之前,由于安腾完全脱离了IA-32位体系,在运行32位程序时,只能以模拟方式进行,效率很低。事后证明,安腾的这一招并没有起到阻击AMD的作用,毕竟2001年才发布的安腾也是新生事物,在市场上的份额还很小。
其实,当时针对X86架构的64位软件非常少,而且能够执行64位计算的处理器在市场上已经存在多年,几大RISC厂商的处理器Sun SPARC、DEC Alpha、HP PA-RISC、IBM POWER以及SGI MIPS都能够进行64位运算。但正是因为把32位和64位结合在了一起,仅凭这一点,AMD的皓龙处理器就在市场上就获得了“有创新精神”、“保护客户现有和未来投资”的声誉:既能够高性价比地运行现有的广泛的x86软件,又为以后向64位升级提供了途径!市场接受了AMD的这一理念,也从此接受了皓龙。而英特尔直到一年后,2004年才发布了其支持EM64T(兼容32位)的至强处理器,代号Nocona,直接与AMD64相对抗。
除了64位计算,AMD皓龙的另一个全新重要特性就是把内存控制器从原来的北桥芯片组集成到了处理器中,根据不同年代、不同批次,集成的内存控制器所支持的内存类型也从DDR SDRAM发展到了现在的DDR2 SDRAM和未来的DDR3 SDRAM。这一做法完全打破了传统的前端总线架构,不仅降低了内存的访问延迟,也取消了独立的北桥芯片,从而有助于减少成本。
对于多处理器系统(即一块主板上不只一颗处理器)而言,皓龙处理器之间的通信也不再需要经过前端总线,而是通过AMD独创的高速超传输总线(HyperTransport,简称HT)互连,AMD将其称为直连架构。每颗CPU可以访问另一颗处理器的内存,而这对于软件编程人员来说是完全透明的。跟传统的对称多处理(Symmetric multiprocessing,SMP)不同,AMD的多处理系统中,没有供所有CPU共享的内存库,而是每颗CPU都拥有自己的内存。这样一来,皓龙更像是一种NUMA(Non-Uniform Memory Access)架构。为此,皓龙CPU可以直接支持到8路服务器扩展,而无须第三方芯片组或连接技术的支持,比如目前惠普的DL785以及曙光的A950都是支持皓龙的8路服务器。
在许多Benchmark基准测试中,在多处理器扩展方面,皓龙处理器也表现出了对英特尔至强的优势。这是因为,对于过去的至强系统而言,由于是共享前端总线架构,每增加一颗处理器就会给I/O带来压力,而皓龙由于采用的是HT交换式直连架构,随着处理器增加,带宽也随之增加。同时,由于皓龙集成了内存控制器,使得CPU访问本地内存的速度非常快,而相反,至强多处理系统中,处理器与处理器之间以及处理器和内存之间的通信仅依靠共享的两条总线。因此,当至强系统中的CPU数量增加时,对共享总线带宽资源的争抢就会导致计算效率的下降。事实上,英特尔直到6年后,也就是今年的3月份,才在其发布的Nehalem-EP(至强5500)中采用了类似的架构:集成内存控制器,引入快速通道互联总线(QuickPath Interconnec,QPI),完全放弃了传统的共享前端总线(FSB)架构。
皓龙的多核之路
在2005年的5月份,AMD推出了它的第一款多核心皓龙处理器。当然,那时AMD声称的多核其实还只是双核心,即每个物理的Opteron芯片包含两个处理器内核。这无疑将主板上每个处理器插座(Socket)所能提供的计算性能翻了一番。要知道,随着主板上的CPU插座的增加,其系统成本也会“戏剧性”地增,比如一款四路服务器就比两个配置差不多的双路系统要贵出很多,多核CPU的出现在一定程度上降低了多处理器并行系统的构建成本。
随着多核的出现,AMD皓龙处理器型号的命名规则也发生了变化,主频不再是最主要的识别方法。比如当时AMD最快的多核Opteron型号是875,带有两个内核,主频为2.2GHz,而当时AMD最快的单核Opteron型号是252,只有一个核,主频是2.6GHz。不过,尽管多核处理器的主频有所降低,但其性能反而提高了,无论是针对多线程应用,还是针对单线程应用,875都比252要快出好多,这就是多核计算的魅力。
到了第二代皓龙,其型号命名规则进一步发展成了三大系列:1000系列(只针对单路系统),2000系列(对应双路系统)以及8000系列(针对四路或八路服务器)。其中,1000系列使用AM2插座接口,2000系列和8000系列使用Socket F插座。
2007年9月10日,AMD发布了其第三代皓龙,采用四核心设计,代号Barcelona。这一代产品采用了最新的芯片功耗和散热管理技术。对于上一代支持DDR2的双核皓龙系统来说,通过刷新BIOS即可升级到新的四核平台上来。第四代皓龙是2009年6月发布的六核心皓龙处理器,代号Istanbul。
按计划,2010年,AMD将会发布代号Sao Paolo的六核皓龙和代号Magny-Cours的12核心产品,后者使用MCM(Multi-Chip Module)芯片封装技术,使用Socket G34接口。此外,到2011年,AMD的服务器处理器产品线还会使用新的内核Bulldozer(4核,32纳米),支持SSE5指令集,从而可以获得更好的HPC性能。
和英特尔近两年采用TICK-TOCK策略(即一年更新微架构,下一年更新制程工艺)不同,AMD皓龙处理器在这两方面的更新要缓慢许多,而且不象英特尔那么有规律。这几年来,皓龙最大的内核微架构更新是AMDK10的出现,取代上一代的K8,K10率先应用在了2007年第三季度推出了Barcelona芯片中,同时也带来了一系列的其他改进,特别是在“内存预取、分支预测、SIMD指令、堆栈优化、三级缓存架构”等方面,这些使得与K8相比,K10可以在相同功耗范围内实现更出色的性能表现。
同时,AMD还使用了一种新的CPU功耗标识方法ACP(Average CPU Power),以测试服务器处理器在一般的日常使用过程中的平均功耗,区别于英特尔倡导的TDP(Thermal Design Power,最大热设计功耗)。一般来说,同一款处理器的ACP值会低于TDP,比如55瓦特ACP相当于68瓦特TDP,75瓦特 ACP相当于95瓦特 TDP,105瓦特ACP相当于119瓦特TDP。从Barcelona开始,AMD服务器处理器都将同时使用ACP和TDP两种功耗标识,前者并不会完全取代后者。
四种CPU接口
在CPU接口方面,跟皓龙相关的接口有以下四种:
Socket 940
Socket 940是最早发布的AMD64位CPU的接口标准,具有940根CPU针脚,支持双通道ECC DDR内存。目前采用此接口的有服务器/工作站所使用的Opteron以及最初的Athlon 64 FX。随着新出的Athlon 64 FX以及部分Opteron 1XX系列改用Socket 939接口,所以Socket 940已经成为了Opteron 2XX全系列和Opteron 8XX全系列以及部分Opteron 1XX系列的专用接口。随着AMD从2006年开始全面转向支持DDR2内存,Socket 940也会逐渐被Socket F所取代,完成自己的历史使命从而被淘汰。
Socket 939
Socket 939是AMD公司2004年6月才推出的64位桌面平台接口标准,具有939根CPU针脚,支持双通道DDR内存。目前采用此接口的有面向入门级服务器/工作站市场的Opteron 1XX系列以及面向桌面市场的Athlon 64以及Athlon 64 FX和Athlon 64 X2,除此之外部分专供OEM厂商的Sempron也采用了Socket 939接口。跟其对应的Athlon64(代号San Diego和Toledo)消费电脑版本相比,Socket 939皓龙的二级缓存为1MB,而不是512KB,另外,皓龙的主频也相对较低,这也使其更加稳定一些,此外其他配置都相同。
Socket 939处理器和与过去的Socket 940插槽是不能混插的,但是Socket 939仍然使用了相同的CPU风扇系统模式。随着AMD从2006年开始全面转向支持DDR2内存,Socket 939被Socket AM2所取代,在2007年初完成自己的历史使命从而被淘汰,从推出到被淘汰其寿命还不到3年。
Socket AM2
Socket AM2是2006年5月底发布的支持DDR2内存的AMD64位桌面CPU的接口标准,具有940根CPU针脚,支持双通道DDR2内存。虽然同样都具有940根CPU针脚,但Socket AM2与原有的Socket 940在针脚定义以及针脚排列方面都不相同,并不能互相兼容。
目前采用Socket AM2接口的有低端的Sempron、中端的Athlon 64、高端的Athlon 64 X2以及优异的Athlon 64 FX等全系列AMD桌面CPU,支持200MHz外频和1000MHz的HyperTransport总线频率,支持双通道DDR2内存,其中Athlon 64 X2以及Athlon 64 FX最高支持DDR2 800,Sempron和Athlon 64最高支持DDR2 667。代号Santa Ana的双核AM2皓龙处理器带有2x1 MB L2缓存,和它绝大多数的“同宗师弟”Athlon 64 X2不同,后者的二级缓存为2x512 KB。按照AMD的规划,Socket AM2接口将逐渐取代原有的Socket 754接口和Socket 939接口,从而实现桌面平台CPU接口的统一。
Socket F
Socket F是AMD于2006年第三季度发布的支持DDR2内存的AMD服务器/工作站CPU的接口标准,首先采用此接口的是Santa Rosa核心的LGA封装的Opteron。与以前的Socket 940接口CPU明显不同,Socket F与Intel的Socket 775和Socket 771倒是基本类似。Socket F接口CPU的底部没有传统的针脚,而代之以1207个触点,即并非针脚式而是触点式,通过与对应的Socket F插槽内的1207根触针接触来传输信号。Socket F接口不仅能够有效提升处理器的信号强度、提升处理器频率,同时也可以提高处理器生产的良品率、降低生产成本。Socket F接口的Opteron也是AMD首次采用LGA封装,支持ECC DDR2内存。按照AMD的规划,Socket F接口将逐渐取代Socket 940接口。
这一代接口支持Santa Rosa、Barcelona和Shanghai等不同代的皓龙处理器,以简化平台的转换工作和成本,方便升级,保护用户的现有投资。Socket F还增加支持DDR2内存和改进的超传输总线HT3.0版本。
型号与规格
对于Socket 940和Socket 939的皓龙处理器来说,每款芯片都有一个3位数的型号,如Opteron XYY;而对于Socket F和Socket AM2的皓龙而言,则是4位数的型号,如Opetron XZYY。
对于所有的皓龙产品,第一个数字X指的是一个主板系统中最多可以支持的CPU数目,比如1表示针对单路服务器,2针对双路,8针对四路或8路。对于Socket F和Socket AM2的皓龙,第二个数字Z表示不同代的处理器,就目前来说,2表示双核/DDR2内存,3表示四核/DDR2内存,4表示6核/DDR2内存。对于所有的皓龙,最后两位数字YY表示CPU的主频高低,一般数字越大表示主频越高。
另外,如果带有后缀HE(High-efficiency)或EE(Energy-efficiency),则强调的是高能效,即每瓦特电力可以实现的计算能力,一般这类产品的TDP值比标准的皓龙要低一些,主频也偏低;而如果后缀是SE(Special Edition),则表示是性能最高的产品,一般TDP功耗值偏高(参见皓龙的所有产品型号和规格)。
小结:皓龙路漫漫
在过去几年,凭借64位计算、独特的直连架构以及在双核时代的领先性,AMD皓龙处理器赢得不少计算密集型和内存带宽密集型用户的青睐,特别是在高性能计算市场上取得了显著的成绩。比如在2007年11月公布的全球高性能计算机TOP500排行榜中,有15.8%的超级计算机都使用了AMD的皓龙处理器系统(半年前其份额是22.6%)。2008年11月17日,AMD甚至主宰了TOP500的前10名,前10强超级计算机中有7台采用了AMD皓龙处理器,包括2008年国内最快的超级计算机曙光5000、2008年全球最快的超级计算机IBM Roadrunner以及世界上首台完全基于 x86系统的、突破千万亿次浮点计算性能大关的超级计算机CRAY“美洲豹”。
同时,在过去几年里,AMD凭借皓龙在服务器市场上也初步打开了局面,包括IBM、惠普、戴尔、SUN、曙光等都推出了相应的服务器产品,不过浪潮、宝德等仍然坚持只用英特尔的处理器。而且,随着近两年英特尔TICK-TOCK策略的强有力反击,特别是随着今年同样采用了集成内存控制器和直连架构的Nehalem-EP(针对双路系统)和明年Nehalem-EX(针对四路以上系统)的推出,AMD皓龙原有的优势也正在削弱,甚至在很多基准测试中已经被英特尔的新至强所超过,因此,摆在AMD面前的道路并不平坦,甚至充满了更大的艰险!