IBM处理器芯片的制造历史(1)


在最近 10 年中,IBM 在半导体领域实现了一个又一个的突破:铜技术,绝缘硅,硅锗合金,应变硅和 low-k 绝缘体。所有这些技术都滋生于 IBM 肥沃的研究土壤。这种对现代芯片制造知根知底的能力并非是空穴来风,而是来自于半导体工业中最先进的 R & D 部门的封闭且洁净的实验室。

最初,每个计算机的中央处理单元或称为 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,二者也是竞争对手。

他对指令集进行了拆分,并设计了一台只有当时同类计算机一半电路的机器,但是其运行速度却是同类计算机的两倍。快速的核心和更少的电路带来的不仅仅是性能的提升,而且功耗也更少这对于现在的很多用户来说都是最重要的一个问题),成本也更低。这种体系结构称为 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 芯片实际上是在一个主板上的几个芯片;后来很快就变成一个 RSCRISC 单一芯片),其中集成了 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 年发布。
    资料保密中。

Star 系列
RS64 芯片首次于 1998 年面世,在 IBM 内部称之为 Star 系列,这是因为大部分代码字节中都包含了单词“star”或类似的单词其中一个比较出名的例外是最初的 RS64,其代号是“Apache”)。

Star 系列芯片源自于对 PowerPC 体系结构的修改,同时还从 POWER 产品线中继承了很多特点。从一开始起,这些芯片就只针对于一种应用进行优化:商业应用。这种专用化使其在 UNIX 服务器领域几乎在 10 年的时间中都牢居霸主地位。

RS64 系列将诸如分支预测、浮点处理以及硬件预取之类的问题留给其兄弟 POWER3 芯片来解决,自己则专注于整数运算性能和大型复杂的片上、片外缓存的处理。RS64 系列从面世以来就一直是 64 位的,2000 年在 RS64 IV 中引入了多线程的设计。RS64 可以在一台机器内扩展到多达 24 个处理器,功耗则只需要每个处理器 15 瓦即可,这一点与其兄弟 POWER 芯片有很大的区别。

这些特性使 RS64 芯片非常适合一些系统,例如联机事务处理OLTP)、商业智能、企业资源计划ERP)以及其他一些大型的、功能强大的、具有多用户和多任务而缓存命中率很低的系统,其中包括 Web 服务。RS64 芯片只装备在 IBM 的 eServer iSeriesRS 系列)和 pSeriesAS 系列)服务器中。

  • RS64
    发布于 1997 年,代号名:Apache。
    第一个 RS64 芯片,也是世界上第一个 64 位的 PowerPC RISC 芯片。其超量运算能力和可扩展性都很好,与 POWER1 芯片的兼容性比后来的 RS64 芯片都要好。由于对商业应用的专著,原来需要使用 7 个芯片的功能现在只需要一个芯片就可以实现。RS64 装备在 AS/400后来称为 A35)和 RS/6000 中。
  • RS64 II
    发布于 1998 年,代号名:Northstar。
    第二代 RS64 芯片,其特点是每个卡上有 4 个处理器,每个 RS/6000 可以支持多达 3 个卡,从而可以装备 4 路、8 路或 12 路的 SMP 系统。
  • RS64 III
    发布于 1999 年,代号名:Pulsar。
    第一个使用 IBM 的铜和绝缘硅技术的 RS64 芯片,现在可以支持 6 个处理器卡,可以扩展为 24 路的 SMP 机器。
  • RS64 IV
    发布于 2001 年,代号名:IStar, SStar。
    第一个市场份额很大的实现多线程的处理器,RS64 IV 比之前的处理器的速度更快,体积也更小。

现在,商业计算和科学计算的聚合对处理器的设计提出了一个要求:在一个处理器上解决两方面的市场需求。因此 Star 系列正被全新设计的 POWER4 芯片所取代。


相关内容