约翰·科克生于1925年,1946年在杜克大学(DukeUniversity)获得机械工程学士学位,干了几年实际工作以后,又回到母校读研究生,于1956年取得数学博士学位。之后,他进入IBM,从此开始了他的计算机生涯并为IBM计算机市场的开拓和计算机科学技术的发展做出了巨大的贡献。由于学过机械和数学,基础扎实、知识面广,加上科克兴趣广泛,善于动脑,他在IBM许多产品的设计开发和技术问题的解决中都起过至关重要的作用,有众多的发明创造。在沃特森研究中心,在很长一段时间里,每当人们有疑难问题需要解决的时候,自然就会说:“找约翰讨论去”。事实上,科克也总能提出有益的建议,因而受到其同事的普遍敬仰和尊重 。
模型
自RISC技术推出以来,由于其优化指令系统带来运算速度提高的优势,使得RISC技术在1980年代后期,逐渐在高端服务器和工作站领域中取代了CISC成为主流微处理器设计架构之一。各个具备一定技术实力的厂家开始在这个架构上研发出自己的处理器,经过近二十年的发展,各大型计算机和超级服务器都采用RISC架构的处理器。现在,RISC处理器已经成为高性能计算机的代名词。
模型
70年代中期,科克又主持了一个801计算机项目(或叫“80号大楼”项目,这是IBM的传统,按研制小组所在建筑物命名项目)。801计算机原是为每小时能处理100万次呼叫的全数字电话交换机设计的专用机,但实现中被发展为一种具有小指令集、每个指令都是单地址、有固定格式、以流水线方式重叠执行、指令高速缓存和数据高速缓存则分开并互相独立的一种超级通用小型机。IBM推出的这种体系结构引起加州大学伯克利分校的D.Patterson和斯坦福大学的J.Hennessy的极大兴趣和重视,经过进一步研究、改进和发展,最后形成为一种崭新的计算机体系结构,即大家熟知的“精简指令集计算机”RISC(ReducedInstructionSetComputer)。因此,RISC这个名词虽然是1980年由Patterson提出的,但学术界公认科克是RISC概念的首创者。
除了计算机体系结构以外,科克在编译器的优化方面,也有很多重要贡献。在高级语言编译器发展的初期,技术上不够成熟,生成的目标代码大,执行效率低,影响了高级语言的推广应用。科克对编译器的代码生成技术进行了深入研究,提出了一系列优化方法,如过程(Procedure)的集成、循环(loop)的变换、公共子表达式(commonsubexpression)的消除、代码移动(codemotion)、寄存器定位、存储单元重用等等,编译器的质量大大提高,使编译技术发展到一个新阶段。科克在其主编的《各种变换的优化方法》(《ACatalogofOptimizingTransformations》,PrenticeHall,1972)中详细介绍了这些方法。
此外,科克在磁记录技术、机器翻译的统计方法等方面也都有过创造和发明。
在获得图灵奖以前,科克于1985年获得过ACM的另一个奖项:EckertMauchly奖。这个奖是1979年纪念世界上第一台电子计算机ENIAC的两位设计者而设立的,主要用来奖励在计算机体系结构方面作出杰出贡献的科学家。1991年,科克又荣获美国全国性的技术创新奖章“NationalMedalofTechnology”。
不知什么原因,科克没有出席图灵奖颁奖仪式,而由他的同事A.Peled代为领奖并致词。但科克发表了书面的图灵奖演说,题为“对科学处理器性能的探索”(“ThesearchforPerformanceinScientificProcessors”)。科克在书面演说中回顾了他一生追求高性能计算机的历程,认为对计算机性能影响最大的三个因素是算法、编译器和机器组织。虽然他本人从事的是有关机器组织和编译器方面研究工作的,但他认为,这三者中,算法的改进是最重要的。
Peled的致词和科克的书面演说全文刊载于1988年3月号的《CommunicationsofACM》。
约翰·科克
在IBM以外,他也受到广泛的认可,获得无数奖项,其中代表性的有:
ACM图灵奖(1987)
IEEE计算机先驱奖(1989)
美国国家技术奖章(1991)
美国国家科学奖章(1994)
IEEE约翰·冯诺依曼奖(1994)
国家技术勋章和国家科学奖是美国最具荣耀的两项政府大奖,在作为科学家的一生中,他在高性能系统设计中取得的革命性进步,Cocke为信息技术的发展做出了独一无二的创造性贡献。在系统架构和编译器优化研究领域取得了大量进步,他当之无愧地成为编译器优化的奠基人和革新带头人。
从1957到1992年,JohnCocke在工作中把自己近40年的精力毫无保留地奉献给了IBM,他取得了了不起(amazing)的成绩”,Cocke的同事兼密友PeterCapek这样评价他:“他的经历非同一般。他因为计算机架构而闻名,但他对很多领域同样充满浓厚兴趣。包括逻辑模拟(logicsimulation)、编码理论(codingtheory)和编译器优化(compileroptimization),他都可以把这些技术当成艺术来研究。”