IBM POWER微处理器

IBM POWERRISC处理器的一种,由IBM设计,全称为“Performance Optimization With Enhanced RISC”,《IBM Connect电子报》2007年8月号译为“增强RISC性能优化”。POWER系列微处理器在不少IBM服务器超级计算机小型电脑工作站中,广泛作为主CPU使用。而PowerPC架构也是源自POWER架构,并应用在苹果电脑麦金塔电脑及部分IBM的工作站,以及各式各样的嵌入式系统上。此外,IBM透过Power.org网站,向其他开发者及制造商推广POWER架构及其他派生产品。

POWER同样也是一系列实施了同样架构指令集的微处理器的名字。POWER系列微处理器用于IBM的服务器、微电脑、工作站、超级电脑的主处理器。POWER3以及随后的POWER系列微处理器均全部实施了64-bit PowerPC架构。从POWER3开始及其之后的POWER处器都不再具备与支持更早之前的旧POWER的指令集架构,包括PowerPC指令集架构或任何POWER2所追加延伸的指令,如lfq或stfq等,都不再具备与支持。

历史

IBM 801项目

公元1974年,IBM开始了一个项目,目标是创造一个至少可处理每秒300路通话的大型电话交换网络。预想中每路通话需要20000个指令来处理,以达到即时回应,因此需要一个速度为12 MIPS的处理器。这在当时是很有野心的需求,但他们认知到,并不需要如同时期处理器那样的复杂设计,因为这部机器只需要处理I/O,分歧、寄存器加法、在寄存器和存储器间搬移资料,不需要用来处理大量数学运算的特殊指令。

复杂运算的每个步骤,都可以简单的指令来取代,而所有的简单指令,都在同样的时间内完成。这个精简设计的理念,后来成为人们所熟知的RISC

公元1975年,这个电话交换项目在还没有原型之前,就被中止了。然而,由项目第一年中模拟所得到的估计来看,为这个项目所设计的处理器将会是个很有潜力的通用型处理器,因此后续工作在汤玛斯·沃森研究中心的801号楼继续进行,也就是801项目。

1982 Research Project“Cheetah”

为了判断RISC机器是否能同时处理多个指令,或"801"的设计需要哪些修改,来制造拥有多个执行单元的"801",在沃森研究中心的两年中,探索了"801"设计的超标量极限。例如使用多个运算单元实现"801"的设计来增进性能,这与先前在IBM System/360 Model 91和CDC 6600上的作法类似。

"Cheetah"拥有个别的分歧、整数及小数点执行单元。在"801"上作了许多改变以容许多重执行单元的设计。

"Cheetah"原本项目使用Bipolar ECL工艺 ,但在1984年CMOS已经可提供集成电路集成,同时增进晶体管逻辑性能。

The America Project

1985年,沃森研究中心开始了第二世代RISC架构的研究,成果是"AMERICA架构"。1986年,IBM以这个架构为基础,在奥斯汀开始开发RS/6000系列。

POWER and RS/6000

1990年2月,第一部采用POWER架构的IBM电脑被称作"RISC System/6000"或RS/6000。RS/6000分成工作站和服务器两个等级,分别称作POWERstation和POWERserver。RS/6000的中央处理器有两种配置,分别称作RIOS-1和RIOS.9(更常被称作"POWER" CPU)。RIOS-1有11个芯片 - 一个指令缓存芯片、整数芯片、浮点数芯片、四个资料缓存芯片、存储控制芯片、两个I/O芯片、和一个时钟芯片。较低成本的RIOS.9有8个芯片 - 一个指令缓存芯片、整数芯片、浮点数芯片、两个资料缓存芯片、存储控制芯片、一个I/O芯片、和一个时钟芯片。

单片机的RIOS, RSC(RISC Single Chip的缩写),是为了较低端的RS/6000开发出来的。第一部使用RSC的机器在1992年推出。

Amazon

1990年亚马逊项目启动,目标是创造一个可以使用AIXOS/400的共通架构。IBM的AS/400工程团队当时正在设计一个RISC指令集,用来取代既存AS/400电脑的CISC指令集。原始的设计是从既有的"IMPI"指令集派生而来,扩展为六十四比特,增加一些RISC指令以加速那些原本在AS/400上执行,较需求计算能力的商业应用。IBM曾想让他们使用PowerPC,但他们抗命不从,争辩说现有的32/64位PowerPC指令集无法执行OS/400,也需要扩展以执行AS/400上的商业应用。最后,开发出"Amazon"这个PowerPC的指令集延伸。

同时,RS/6000的开发者正大幅扩展产品线,延伸到低端工作站,大型对称式处理(SMP)系统,和集群式的RS/6000-SP2系统。AIM联盟开发出来的PowerPC很适合低端工作站和小型服务器。但大型主机和大型集群式系统需要的性能和可靠性(RAS)特性,比专为Apple PowerMac设计的处理器更多。多处理器功能需要同时符合PowerMac注重的成本需求、RS/6000系统的性能和可靠性需求、以及AS/400到PowerPC的转换需求。

亚马逊再度扩展支持这些特性,以设计出可同时使用在RS/6000和AS/400的处理器。

第一个开发这种处理器的项目是“参宿五”(Bellatrix,猎户座的其中一颗星)。参宿五项目在广泛使用主频电路、和EDA工具来支持设计工作上相当具有野心,最终被中止。为满足技术工作站、超级计算机、和工程、科学市场,IBM奥斯汀(RS/6000的诞生地)开始同时开发能及时上市的单片机版本Power2 (P2SC),和拥有POWER2延伸、两个复杂MAF浮点单元的精密64位PowerPC处理器(POWER3/630)。为满足RS/6000的商业应用和AS/400系统,IBM Rochester(AS/400的诞生地)开始开发第一个有AS/400延伸的高阶64位PowerPC处理器。IBM Endicott也开始开发拥有AS/400延伸的低端PowerPC处理器。

AS/400所使用的高阶多芯片处理器A25/30 "Muskie",和单片机处理器A10 "Cobra"在1995年亮相。

1997年,在IBM Endicott研究中心开发的"Apache"处理器发表。使用在RS/6000上时它被称作RS64。后续型号也使用在AS/400上。

POWER2

在AIM联盟1991年成立的两年之前,IBM已在德州奥斯汀开始Power1后继者POWER2的开发。尽管因AIM联盟而分散了资源,POWER2从开始到出货还是花了五年。POWER2在1993年11月公布时,因加入第二个整数、浮点运算单元和其他性能改进,在性能处于领先地位。

指令集也加入了新指令:

  • 四字集存储指令,这个加载指令将两个相邻的倍精度数值加载两个相邻的浮点寄存器。
  • 硬件开方根指令
  • 浮点-整数转换指令

为支持RS/6000和RS/6000 SP2产品线,在AIM联盟外,IBM以自家的设计团队,和当时最先进的CMOS-6s工艺,实现了单片机的POWER2, P2SC (POWER2 Super Chip)。P2SC在一个巨大的芯片上,结合了所有个别的指令缓存,整数、浮点、存储控制、和资料缓存芯片。在推出的当时,P2SC是业界最大、晶体管数最多的处理器。它也领先在处理器上内置存储器控制器。尽管芯片尺寸、复杂度和先进CMOS工艺的挑战艰钜,它第一次tape-out即能上市,而且在公布的当时具有领先的浮点运算性能。P2SC是1997年打败棋王Gary Kasparov的IBM深蓝超级计算机所采用的处理器。因具有两个精密的MAF浮点运算单元和宽且低延迟的存储器界面,P2SC主要瞄准工程和科学应用。P2SC后来被拥有64位、对称式处理能力、第二阶缓存,且能完整移植到PowerPC的Power3/630所取代。

PowerPC

1991年,IBM了解到如果将芯片卖给其他系统制造商,也许能将POWER变成一个大量生产的架构。他们和苹果公司紧密合作,目标是开发一整个家族以POWER为基础的单片机微处理器。当时苹果公司是摩托罗拉在桌面型微处理器等级的最大客户,因和摩托罗拉长久以来的关系,他们大量生产微处理器的经验,和保有第二来源的理由,不久苹果公司就征询摩托罗拉加入讨论。这个三方合作以德州奥斯汀为基地,后来成为知名的AIM联盟,也就是Apple, IBM,和Motorola。

两年的开发之后,在1993年,从POWER架构修改而来的PowerPC架构诞生了。PowerPC架构加入了单精度浮点运算指令,和通用寄存器间的乘法和除法指令,移除了一些POWER的特性,像是使用MQ寄存器的乘法和除法指令。它也在架构中加入了64位的延伸和SMP的支持。

第一个PowerPC芯片是PowerPC 601。更多信息请参考PowerPC页面。

POWER3

IBM在1998年引介了POWER3。它实现了64位POWER指令集,包括所有(在当时是)选择性的指令集,也拥有两个浮点运算单元,三个整数运算单元,和两个存储单元。后续所有的POWER处理器都实现了完整的64位PowerPC和POWER指令,因此IBM不再有只实现POWER或POWER2的处理器。

POWER4

2001年IBM引介了第一个GIGA系列的处理器,POWER4。它是个完全64位的处理器,实现了完整的64位指令集,同时也拥有AS/400延伸,同时使用在RS/6000和AS/400系统上,取代POWER3和RS64处理器。当时有个叫作PowerPC 2.00的指令集发布。在这个指令集上加入了一些延伸,像是带一个参数的mfcr指令。

POWER5

 
拥有四个处理器和36MB外部L3缓存的POWER5 MCM(多芯片模块)

2004年IBM介绍了POWER5处理器。它是个拥有两个核心的多核心处理器,支持两个线程的并发多线程(SMT),因此它实现了四个逻辑处理器。多个POWER5处理器透过ViVA "虚拟向量架构"可结合在一起当成一个向量处理器。POWER5在指令集架构中加入了更多指令。

POWER5+ 在ISA 2.02版时又加入了更多指令。

POWER6

POWER6在2007年5月21日公开。它为POWER系列加入了VMX。它也引入了从POWER3到POWER4的转移以来最大的改变,第二代的ViVA, ViVA-2。它是双核心设计,以65纳米工艺达到了4.7 GHz。它拥有非常先进的芯片间通信技术。它的功耗几乎和前一代的POWER5相等,而能提供两倍的性能。

POWER7

POWER7是Peta系列的第一个处理器。在2010年发布,已被美国国防先进研究项目局选为他们Peta-FLOPS等级超级计算机的候选之一。200x年初期,IBM送交了他们的项目书,从DARPA得到五千三百万美元以继续参与这个挑战。2006年IBM收到两亿四千四百万用来为DARPA建造一台Peta-FLOPS电脑。 IBM在2008年完工的使用PowerXCell 8i 3.2 Ghz芯片的Roadrunner超级计算机已经达到了Peta-FLOPS级的计算能力。[1]

POWER8

POWER9

相较于前一代的POWER8处理器,POWER9提升4倍的带宽,相较于Intel x86处理器,带来9.5倍的I/O带宽,存储器支持容量为2.6倍,高性能核心数量提升2倍,存储器带宽则是1.8倍。首款采用POWER9的服务器Power Systems AC922也同时亮相。

POWER10

POWER10采用7纳米工艺,支持NVLink 3。

派生的处理器

第一个PowerPC处理器PowerPC 601,基本上是一个部分基本指令用微码模拟的RSC处理器,采用了Motorola 88000为基础的总线设计。这允许IBM在许多工作站机器上使用这个处理器,只需要更换主板。自此 PowerPC和POWER架构有些许分岐,但大部分在指令层级仍然保持兼容。

使用在太空应用的抗辐射设计RAD6000处理器是一个POWER/RSC的派生架构。

IBM RS64家族处理器根基于PowerPC(因此也包括POWER),使用在RS/6000AS/400产品线。它对商用工作优化,没有POWER产品线应有的浮点运算。它被POWER4取代。

IBM Gekko处理器是修改过的PowerPC 750CXe,使用在任天堂Gamecube任天堂Wii使用更新的Gekko,Broadway

Cell处理器也是从POWER架构派生。它具有一个复杂的多线程超标量核心,和称作SPE (Synergistic Processing Elements)的八个独立向量处理器核心。这个处理器支撑了SonyPlaystation 3、Toshiba的数字电视系统,和IBM的高性能电脑。

微软的游戏主机Xbox 360使用一个循序执行的三核Xenon处理器,它基于PowerPC,拥有修改过的向量单元,主频3.2 GHz[2]

参看

外部链接

参考文献

  1. ^ 存档副本. [2008-10-03]. (原始内容存档于2008-10-12). 
  2. ^ IBM Developerworks - Xenon processor reference. [2007-12-28]. (原始内容存档于2008-01-22).