金融百科首页 > 金融人物 > 约翰·科克

约翰·科克

约翰·科克是从机械到数学、又从数学转到计算机方向上来的学者。他生于1925年,1946年在杜克大学(Duke University)获得机械工程学士学位,干了几年实际工作以后,又回到母校读研究生,于1956年取得数学博士学位。之后,他进入IBM,从此开始了他的计算机生涯并为IBM计算机市场的开拓和计算机科学技术的发展,尤其是RISC架构和编译器优化 [1] ,做出了巨大的贡献。

学术生涯

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

Cocke在IBM公司从事的第一个项目是研究Stretch计算机(世界上第一个“超级计算机”型号),他很快成为大型机专家。1974年,Cocke和他领导的研究小组开始尝试研发每秒能够处理300线呼叫的电话交换网络。为了实现这个目标,他不得不寻找一种办法来提高交换系统已有架构的交换率。1975年,John Cocke研究了IBM370 CISC(Complex Instruction Set Computing,复杂指令集计算)系统,发现占总指令数20%的简单指令发出了80%程序调用,而占总指令数80%的复杂指令却只有20%的机会被用到。由此,他提出了RISC的概念,其中心思想就是简化硬件设计,硬件只执行一部分很有限的最常用的指令,大部分复杂的操作则使用成熟的编译技术,由简单指令合成。RISC的最大特点是指令长度固定,指令格式种类少,寻址方式种类少,大多数是简单指令且都能在一个时钟周期内完成,易于设计超标量与流水线,寄存器数量多,大量操作在寄存器之间进行。 1980年,Cocke在IBM位于约克城(Yorktown)的华生研究中心(Watson Research Center)里开始研制IBM801(PowerPC的前身),第一台RISC机器也就作为801微电脑项目的一部分最终开发成功。

自RISC技术推出以来,由于其优化指令系统带来运算速度提高的优势,使得RISC技术在1980年代后期,逐渐在高端服务器和工作站领域中取代了CISC 成为主流微处理器设计架构之一。各个具备一定技术实力的厂家开始在这个架构上研发出自己的处理器,经过近二十年的发展,各大型计算机和超级服务器都采用 RISC架构的处理器。现在,RISC处理器已经成为高性能计算机的代名词。

贡献成就

科克的贡献和成就首先是在高性能计算机的体系结构方面。科克是IBM60年代推出的晶体管大型计算机,也是世界上第一个“超级计算机”(Supercomputer)型号STRETCH的技术负责人。Stretch包含15万只晶体管,其速度比IBM上一个主流计算机型号IBM704快75倍。STRETCH首创的灵活的寻址技术、指令提前执行(即流水线技术)、差错校正码ECC(Error Correcting Code)等至今仍被广泛使用着。Stretch共生产了8台,被洛斯阿拉莫斯(Los Alamos)国家实验室(这是研制出了世界上第一颗原子弹的著名的原子能研究中心)等机构所采用。
70年代中期,科克又主持了一个801计算机项目(或叫“80号大楼”项目,这是IBM的传统,按研制小组所在建筑物命名项目)。801计算机原是为每小时能处理100万次呼叫的全数字电话交换机设计的专用机,但实现中被发展为一种具有小指令集、每个指令都是单地址、有固定格式、以流水线方式重叠执行、指令高速缓存和数据高速缓存则分开并互相独立的一种超级通用小型机。IBM推出的这种体系结构引起加州大学伯克利分校的D.Patterson和斯坦福大学的J.Hennessy的极大兴趣和重视,经过进一步研究、改进和发展,最后形成为一种崭新的计算机体系结构,即大家熟知的“精简指令集计算机”RISC (Reduced Instruction Set Computer)。因此,RISC这个名词虽然是1980年由Patterson提出的,但学术界公认科克是RISC概念的首创者。
除了计算机体系结构以外,科克在编译器的优化方面,也有很多重要贡献。在高级语言编译器发展的初期,技术上不够成熟,生成的目标代码大,执行效率低,影响了高级语言的推广应用。科克对编译器的代码生成技术进行了深入研究,提出了一系列优化方法,如过程(Procedure)的集成、循环(loop)的变换、公共子表达式(common subexpression)的消除、代码移动(code motion)、寄存器定位、存储单元重用等等,编译器的质量大大提高,使编译技术发展到一个新阶段。科克在其主编的《各种变换的优化方法》 (《A Catalog of Optimizing Transformations》,Prentice Hall,1972)中详细介绍了这些方法。
此外,科克在磁记录技术、机器翻译的统计方法等方面也都有过创造和发明。在获得图灵奖以前,科克于1985年获得过ACM的另一个奖项:Eckert Mauchly奖。这个奖是1979年纪念世界上第一台电子计算机ENIAC的两位设计者而设立的,主要用来奖励在计算机体系结构方面作出杰出贡献的科学家。1991年,科克又荣获美国全国性的技术创新奖章“National Medal of Technology”。不知什么原因,科克没有出席图灵奖颁奖仪式,而由他的同事A.Peled代为领奖并致词。但科克发表了书面的图灵奖演说,题为“对科学处理器性能的探索”(“The search for Performance in Scientific Processors”)。科克在书面演说中回顾了他一生追求高性能计算机的历程,认为对计算机性能影响最大的三个因素是算法、编译器和机器组织。虽然他本人从事的是有关机器组织和编译器方面研究工作的,但他认为,这三者中,算法的改进是最重要的。

评价

从1957到1992年,John Cocke在工作中把自己近40年的精力毫无保留地奉献给了IBM,他取得了了不起(amazing)的成绩”,Cocke的同事兼密友Peter Capek这样评价他:“他的经历非同一般。他因为计算机架构而闻名,但他对很多领域同样充满浓厚兴趣。包括逻辑模拟(logic simulation)、编码理论(coding theory)和编译器优化(compiler optimization),他都可以把这些技术当成艺术来研究。”


收藏
13

约翰·科克

词条参考

词条信息

浏览次数:2577583

编辑次数:0

最近更新:2018/4/26 11:19:50

词条创建者:K线图

Copyright © 2024 fx110.hk All Rights Reserved