字体:
1987 John Cocke (ZT)——RISC概念的首创者 [#2243884@0 -ROLIA.NET 相约加拿大网上社区 之 枫下论坛 & 枫下部落, 枫下论坛主坛 ]

1987 John Cocke (ZT)——RISC概念的首创者

by pipibug (golf) at 2005.4.16 02:26 (#2243884@0)
1987年度的图灵奖授予了IBM沃森研究中心老资格的研究员约翰·科克(John Cocke)。

科克是从机械转到数学,又从数学转到计算机方向上来的学者。他生于1925年,1946年在杜克大学(Duke University)获得机械工程学士学位,干了几年实际工作以后,又回到母校读研究生,改攻数学,于1956年取得博士学位。之后,他进入IBM,从此开始了他的计算机生涯,并为IBM计算机市场的开拓和计算机科学技术的发展作出了巨大的贡献。由于他学过机械和数学,基础扎实,知识面广,加上兴趣广泛,善于动脑,他在IBM许多产品的设计、开发和技术问题的解决中都起过至关重要的作用,有众多的发明创造。在沃森研究中心,每当人们有疑难问题需要解决的时候,常常说:“找约翰讨论讨论去”。事实上,科克也总能提出有益的建议,因而受到同事的普遍敬仰和尊重。

科克的贡献和成就首先是在高性能计算机的体系结构方面。科克是 IBM 2O世纪 60年代初推出的大型晶体管计算机,也是世界上第一个“超级计算机”(Supercomputer)型号STRETCH的技术负责人。STRETCH包含15万只晶体管,其速度比IBM上一个主流计算机型号 IBM 704快75倍。 STRETCH首创的灵活的寻址技术,指令提前执行(即流水线技术),差错校正码 ECC(Error Correcting Code)等至今仍被广泛使用着。STRETCH还首次采用了虚存技术,这是科克对计算机体系结构的第一个贡献。在1959年IRE-AIEE-ACM东部联合计算机会议上,科克在论文 The Virtual Memory in the STRETCH Computer中介绍了他的创新,从而开始在计算机界崭露头角。STRETCH共生产了8台,被洛斯阿拉莫斯(Los Alamos)国家实验室(这是研制出了世界上第一颗原子弹的著名原子能研究中心)等机构所使用。1971年STRETCH退役。

随后,科克又参与了IBM/360的设计与开发工作。IBM/360的指令部件是由科克和考尔斯基(Harwood Kolsky)设计与实现的,在这个部件的设计中,他们把阿姆达尔(Gene Myron Amdahl)首创的流水线概念加以完善和发展,使之成为成熟的技术,而后被广泛应用。

20世纪70年代中期,科克主持了一个801计算机项目,这个项目按IBM根据研制小组所在建筑物命名的传统,也被叫做“80号大楼”项目( Building 80 Project)。801计算机原是为每小时能处理 100万次呼叫的全数字电话交换机设计的专用机,但实现中被发展为一种具有小指令集,每个指令都是单地址,有固定格式,以流水线方式重叠执行,指令高速缓存和数据高速缓存分开并互相独立的一种超级通用小型机。科克设计这样一种计算机的主要依据是:根据统计,一般计算机的指令系统中,只有约20%的指令是经常使用的,它们占程序执行总指令数的80%,指令系统中其余SO%的指令则很少使用,只占程序执行总指令数的20%,这就是著名的“20%:8O%定律”。IBM 801的这种设计思想和体系结构引起加州大学伯克利分校的帕德森(D.Patterson)和斯坦福大学的亨乃西(J.Hennessy)的极大兴趣和重视,经过进一步研究、改进和发展,最后形成为一种崭新的计算机体系结构,即大家熟知的“精简指令集计算机”RISC(Reduced Instruction Set Computer)。因此,RISC这个名称虽然是由帕德森于 1980年出的,但学术界公认科克是RISC概念的首创者。目前,RISC机已成为计算机产业中一种最重要的产品结构,从SUN公司的SPARC到IBM公司的RS/6000到IBM、Apple和Motorola三家联合开发的Power 601 及其后的 Power 60x,无不都是 RISC机。

除了计算机体系结构以外,科克在编译器方面也有很多重要贡献。实际上,RJSC技术的两大核心一是指令并行执行,另一就是编译代化。在高级语言编译器发展的初期,生成的目标代码大,执行效率低。科克对编译器的代码生成技术进行了深入研究,提出了~系列优化方法,如过程(procedure)的集成,循环(loop)的变换,公共子表达式(common snbexpression)的消除,代码移动(code motion),寄存器定位,存储单元重用,等等,从而使编译器的质量大大提高,使编译技术发展到一个新阶段。20世纪70年代初,科克的两部专著都是关于编译器技术的,都产生了重大影响。这两部专著分别是《程序设计语言及其编译器》(Programming Languages and Their Compilers:Preliminary Notes,Cowrant IMS,1970)和《各种变换的优化方法》(A Catalog of Optimizing Transformations,Prentice-Hall,1972)。

此外,科克在磁记录技术,机器翻译的统计方法等方面也有过创造和发明。

在获得图灵奖之前,科克于1985年获得过ACM的另一个奖项:Eckert-Mauchly奖,这个奖是1979年为纪念世界上第一台电子计算机二的两位设计者而设立的,主要用来奖励在计算机体系结构方面作出杰出贡献的科学家。 1990年 IBM公司授予科克“John E.Bertram奖”。1994年科克获IEEE的冯·诺伊曼奖。1991年和1994广科克分别获得美国全国性的技术奖章和科学奖章(National Medal of Technology以及 National Medal of Science)。

不知什么原因,科克没有出席图灵奖颁奖仪式,而由他的同事佩尔特(A.pe1ed)代为领奖并致词。但科克发表了书面的图灵奖演说,题为“对科学处理器性能的探索”(The Search for Performance in Scientific Processors)。科克在演说中回顾了他一生追求高性能计算的历程,认为对计算机性能影响最大的三个因素是算法、编译器和机器组织。虽然他本人从事的是有关机器组织和编译器方面的研究工作的,但他认为这三者中,算法的改进是最重要的。佩尔特的致词和科克的书面演说全文刊于 1988年 3月号的 Communications of ACM,249-253页。

该话题已在历史区内,不能被修改或回复。       收藏    投诉
关闭窗口