最初,每个计算机的中央处理单元(或称为 CPU)都是惟一的。每个 CPU 都有自己的指令集,且与其他 CPU 的指令集不兼容。这种情况的变化要回溯到 1964 年引入 IBM S/360 产品线的电子管年代:突然之间,我们不需要每次新买一台计算机时都丢弃原来的代码并重新设计代码了。现在的 IBM 大型机依然保持着对 1962 年这种革命性的指令集的向后兼容性。IBM 其他的 CPU 产品线也保持着相同的兼容性。
从用户模式来看,PowerPC? 系列处理器对应用提供了完全的兼容性:从最底层的自动交通指示灯到功能强大的 Apple Xserve G5。另外,PowerPC 微处理器还与 IBM 的其他 RISC 处理器产品线 POWER? 和 Star 共用一大组通用指令集,这样就使得这三条产品线保持着“近似”的兼容性。在很多情况中,这等价于二进制兼容;在有些情况中,则意味着需要进行简单的重编译;不论如何,这都意味着程序移植已经是小菜一碟了。
IBM 的四条处理器产品线 -- POWER 体系结构,PowerPC 系列的处理器,Star 系列,以及 IBM 大型机上所采用的芯片 -- 都有一个共同的祖先:IBM 801。
CPU 的族谱
IBM 801 的目标是解决 20 世纪 70 年代很多计算机面临的相同问题:电话呼叫的转换。设计小组的目标是在每个时钟周期内完成一条指令,从而每分钟可以处理 300 个电话。
当时的大部分计算机,例如 IBM S/360 大型机,都有复杂的冗余指令集,我们今天称之为 CISC(复杂指令集计算机)。计算机的趋势是日益小型化,而 1947 年开始的晶体管的变革更加加剧了这一趋势的变化。随着集成电路越来越小,设计人员可以利用更多的空间在芯片中实现更多指令。到 20 世纪 70 年代,芯片的复杂度已经发展到芯片可以实现非常不可思议的事情(例如日益复杂的数字钟表)。但是另外一个事实是芯片执行指令时需要更多的机器时间,这使得 801 项目组无法实现自己的性能指标。
IBM 的 John Cocke 在实现复杂性领域并不是生手,他早就从事于 IBM Stretch 计算机的研究,IBM Stretch 计算机是 IBM 704大型机的一个竞争对手,它的继承者是 ACS (高级计算机系统);而 704 的继承者是 S/360,二者也是竞争对手。
兼容性设计PowerPC 体系结构的指令集分为三级,称为“books”。Book I 是基本的寄存器和指令集,所有的 PowerPC 实现都通用。Book II 定义了其他一些用户级的功能,这些功能超出了应用软件通常的一些要求。Book III 定义了一些特权操作,特别是操作系统需要的一些特权指令。要了解 PowerPC 体系结构的更详细介绍以及程序员参考手册,请参阅“
他对指令集进行了拆分,并设计了一台只有当时同类计算机一半电路的机器,但是其运行速度却是同类计算机的两倍。快速的核心和更少的电路带来的不仅仅是性能的提升,而且功耗也更少(这对于现在的很多用户来说都是最重要的一个问题),成本也更低。这种体系结构称为 RISC(精简指令集计算机)。有些人喜欢称 RISC 为“load-store”,意思是想强调 RISC 计算机只有 100 多条指令(POWER 体系结构也是如此)。其他的 RISC 计算机并没有采用一套精简指令集,而是采用一组精简过的指令:CISC 的每条复杂指令都被拆分成更小的基本单元,然后再组合起来实现复杂指令的功能。
无论如何,CPU 中的复杂性并没有简单地消失,而是转嫁到编译器中了。为了更好地实现这种功能,John Cocke 不仅成为编译器领域的专家,而且在编译器的优化方面特有专长。他在 RISC 和编译器优化方面的工作为他赢得了很多荣誉,其中包括 1987 年的图灵奖。
就 IBM 801 而言,它从来都没有成为一个电话转换器。相反,IBM 801 后来成为第一个 RISC 芯片,在很多 IBM 的硬件产品中广泛采用 -- 曾经有一段时间,它作为一个微控制器和处理器甚至限制了其竞争对手 IBM 大型机的发展。
RISC 体系结构在工作站和嵌入式市场中很快占据了主导地位,John Cocke 之后又转入其他项目的研究之中。在 20 世纪 80 年代,他有机会在一个后来被命名为“America”的项目中重新提炼 801 的设计,这个项目后来就成为 POWER 系列的芯片。之后的几年中,他甚至在 PowerPC 体系结构的开发中贡献了很大的力量。与 801 类似,PowerPC 也被设计成为可以在任何机器上运行的一个通用微处理器,它在从最高端到最低端的机器上都可以运行。
现在,RISC 体系结构是惟一一种最通用的 CPU,它是很多平台的基础:从工作站到蜂窝电话,从视频游戏终端到超级计算机,从交通指示灯到桌面系统,从宽带调制解调器到自动加油站和防撞系统。甚至 x86 的制造商(他们在相当长的一段时间内都生产 CISC 芯片)也基于 RISC 体系结构研制了他们的第五代和第六代芯片,并将 x86 的操作码转换成 RISC 操作,以保持向后兼容。
POWER
POWER 是 Power Optimization With Enhanced RISC 的缩写,是 IBM 的很多服务器、工作站和超级计算机的主要处理器。POWER 芯片起源于 801 CPU,是第二代 RISC 处理器。POWER 芯片在 1990 年被 RS 或 RISC System/6000 UNIX 工作站(现在称为 eServer 和 pSeries)采用,POWER 的产品有 POWER1、POWER2、POWER3,现在最高端的是 POWER4。POWER4 处理器是目前单个芯片中性能最好的芯片。
801 的设计非常简单。但是由于所有的指令都必须在一个时钟周期内完成,因此其浮点运算和超量计算(并行处理)能力很差。POWER 体系结构就着重于解决这个问题。POWER 芯片采用了 100 多条指令,是非常优秀的一个 RISC 体系结构。
以下对每种 POWER 芯片简单进行一下介绍;
- POWER1
发布于 1990 年:每个芯片中集成了 800,000 个晶体管。
与当时其他的 RISC 处理器不同,POWER1 进行了功能划分,这为这种功能强大的芯片赋予了超量计算的能力。它还有单独的浮点寄存器,可以适应从低端到高端的 UNIX 工作站。最初的 POWER1 芯片实际上是在一个主板上的几个芯片;后来很快就变成一个 RSC(RISC 单一芯片),其中集成了 100 多万个晶体管。POWER1 微处理器的 RSC 实现被火星探险任务用作中央处理器,它也是后来 PowerPC 产品线的先驱。 - POWER2
发布于 1993 年,一直使用到 1998 年:每个芯片中集成了 1500 万个晶体管。
POWER2 芯片中新加了第二个浮点处理单元(FPU)和更多缓存。PSSC 超级芯片是 POWER2 这种 8 芯片体系结构的一种单片实现,使用这种芯片配置的一个 32 节点的 IBM 深蓝超级计算机在 1997 年击败了国际象棋冠军 Garry Kasparov。 - POWER3
发布于 1998 年:每个芯片中集成了 1500 万个晶体管。
第一个 64 位对称多处理器(SMP),POWER3 完全兼容原来的 POWER 指令集,也可以与 PowerPC 指令集很好地兼容。POWER3 设计用来从事从太空探测到天气预报方面的科技计算应用。它特有一个数据预取引擎,无阻塞的交叉数据缓存,双浮点执行单元,以及其他一些很好的设计。POWER3-II 使用铜作为连接介质重新实现了 POWER3,这样以相同的价格可以获得两倍的性能。 - POWER4
发布于 2001 年:每个芯片中集成了 1 亿 7400 万个晶体管。
采用 0.18 微米的铜和 SoI(绝缘硅)技术,POWER4 是目前市场上单个芯片功能最强大的芯片。POWER4 继承了 POWER3 芯片的所有优点(包括与 PowerPC 指令集的兼容性),但是采用的却是全新的设计。每个处理器都有 2 个 64 位的 1GHz+ 的PowerPC 核心,这是第一个单板上具有多核心设计的服务器处理器(也称为“片上 CMP”或“片上服务器”)。每个处理器都可以并行执行 200 条指令。POWER4 芯片取代了 Star 系列的处理器,是 IBM Regatta 服务器强大的动力之源,也是 PowerPC 970 处理器(也称为 Apple G5)的祖先。POWER4+?(也称为 POWER4-II)功能与之类似,但是主频更高,功耗更低。 - POWER5?
计划 2004 年发布。
与 POWER3 和 POWER4 芯片类似,POWER5 是 POWER 和 PowerPC 体系结构的一种综合体。这种芯片具有很多特性,例如通信加速、芯片多处理器、同步多线程,等等,据报告声称其性能超过 POWER4 芯片 50% 到 100%。POWER5 芯片将装备一条新的服务器产品线,这些服务器代号为“Squadron”,将于 2004 年下半年在劳伦斯利物浦发布。 - POWER6?
计划 2006 年发布。
资料保密中。
|