约翰·科克,RISC建筑之父

2020-10-17 09:45:15

1974年,IBM研究院的研究员约翰·科克和他的团队开始为电话交换机设计控制器。他们最终创造了第一台采用精简指令集计算机(RISC)体系结构的原型计算机。新的体系结构设计使计算机的运行速度比以前可能的要快得多,今天几乎所有的计算设备都在使用这种设计。

约翰·科克(John Cocke)被认为是一位才华横溢的人,他对计算机硬件和软件及其交互方式的深刻理解,使他有可能看到许多不同领域问题的创新解决方案。他经常被发现在IBM的一个办公室走到另一个办公室,让同事们就他们当前的项目进行有洞察力的讨论,即使这不是他的专长。他似乎总是比其他人先走一步,通过谈论细节来带领他们的工作向前推进。正如哈伍德·科尔斯基回忆的那样,“他会从一个房间走到另一个房间,从一个实验室到另一个实验室,你知道,一边传播思想,一边拖着烟灰。”

他以不同的眼光看待事物的能力引导Cocke提出了RISC架构的概念。当时,复杂指令集计算机(CISC)体系结构是标准,尽管这个名称在很多年后才会出现。CISC设计的目标是在尽可能少的汇编代码行中完成任务。架构师将直接在硬件中构建复杂的指令-微处理器将附带特定的指令集,其中每条指令都执行一系列操作。在这种设计中,编译器只需做很少的工作就可以将高级语言语句转换成汇编语言。

Cocke和他的团队减小了指令集的大小,删除了某些很少使用的指令。科克在1987年回忆道:我们知道我们想要一台具有简单架构和一组简单指令的计算机,可以在一个机器周期内执行-使最终得到的计算机比其他更复杂的计算机设计的效率要高得多,科克在1987年回忆说,我们想要一台具有简单体系结构和一组简单指令的计算机,这使得最终的计算机比其他更复杂的计算机设计更有效率。

有了新的设计,CPU只能执行有限的指令集,但它可以更快地执行它们,因为指令非常简单。每项任务,如获取指令、访问存储器或写入数据,都可以在单个机器周期或电子脉冲内完成;使用CISC,任务通常需要多个机器周期,执行一项任务需要至少两倍的时间。

因为每条指令都在相同的时间量内执行,所以流水线是可能的。使用流水线,指令可以像装配线一样设置为同时执行多条指令。例如,可以获取一条指令,而另一条指令被解码,而第三条指令被执行,第四条指令正在写入结果。每个阶段同时处理,提高了整个工作负载的吞吐量。此外,外部存储器仅由加载和存储指令访问;所有其他指令仅限于内部寄存器。这种简化的处理器设计为更快的计算打开了大门。

虽然IBM最初的电话交换机控制器项目被终止,但Cocke和他的团队在1980年完成了第一台采用RISC体系结构的原型计算机-根据其开发建筑的编号命名为IBM®801。801CPU最初用于IBM硬件,1986年在IBM RISC Technology Personal Computer(RT PC)中引入时作为IBM ROMP处理器剥离出来。

大约在Cocke和他的团队开发801的时候,另外两个由美国国防部高级研究计划局(DARPA)赞助的小组正在进行类似的项目,它们使用了精简的指令集。一个是加州大学伯克利分校的一个项目,由大卫·帕特森(David Patterson)和卡洛·H·塞昆(Carlo H.Sequin)指导,他们创造了“RISC”这个词。另一个项目由斯坦福大学的约翰·L·亨尼西(John L.Hennessy)领导。

回到IBM,RTPC并没有取得太大成功,但它确实刺激了微处理器的进一步发展。1990年,IBM发布了RISC System/6000,简称为IBM RS/6000®。这种新系统的多芯片架构被命名为POWER1,代表“使用增强型RISC进行性能优化”,是当今IBM Power Systems™的高性能、低能耗生产线的直接上升者。

在RS/6000发布后不久,IBM与苹果和摩托罗拉结成联盟,共同开发基于IBM POWER®架构的单片微处理器系列。1993年,AIM联盟引入了PowerPC®架构。PowerPC架构最初出现在Apple Power Macintosh 6100中,今天被称为Power ISA,在游戏系统、汽车和通信设备领域的消费电子行业有着强大的影响力。

自从引入RISC体系结构设计以来的几年里,处理器的进步和强大程度超出了许多人的想象。IBM一路走来,一直在推动处理器设计的创新。在过去的20年里,IBM基于RISC的处理器被用于服务器和路由器、汽车发动机和喷气控制系统,甚至是航天器-1996年至1997年,美国宇航局火星探路者号的机载计算机使用了IBM的一款功率处理器。

IBM还在其所有超级计算机中使用基于RISC的处理器。IBM Blue Gene®系列超级计算机和沃森,这台机器曾在“危险边缘”比赛中获胜!2011年2月的智力竞赛节目,以功率处理器为特色。由国际商用机器公司、索尼集团和东芝公司联合开发的CELL宽带引擎架构™也是基于RISC架构的。第一台基于Cell的超级计算机,IBM Roadrunner,由12,240个IBM PowerXCell™8i处理器和6562个AMD皓龙处理器组成,是第一台突破千兆浮点障碍的超级计算机,在2008年达到了1.026千兆浮点的处理速度。

今天,几乎每个微处理器都基于RISC架构。每年出货的数十亿基于ARM RISC的处理器用于手机和其他小型设备,PowerPC处理器主导着游戏系统和汽车领域。

就约翰·科克而言,他在1987年赢得了由计算机器协会每年颁发的享有盛誉的图灵奖。“在他的图灵奖论文中,这确实是他追求高性能…的精髓。很明显,早在1960年,他就对什么是一台非常高性能的计算机有了非常清晰的想法,“阿贝·佩莱德回忆道。“他所要做的就是等待这项技术真正成为可能。”