莫里斯·威尔克斯的人物生平

威尔克斯1913年6月26日生于英国中西部的达德利(Dudley),距著名的工业重镇伯明翰仅20km。由于威尔克斯从小就有严重的哮喘病,因此他父亲果断地把家迁到气候比较宜人的斯陶尔布里(Stourbridge),使威尔克斯的健康状况有了明显好转。他在当地的爱德华四世普通中学完成了学业,培养了对于数学、物理和无线电的爱好。当时无线电广播刚刚开始普及,威尔克斯对组装收音机十分入迷,很快成了这方面的一个“小专家”,取得了业余无线电操作员证书,还为学校的广播站制造过一些设备。1931年他进入剑桥的圣约翰学院,1934年以优秀成绩毕业。之后他获得一个研究课题的合同,进入剑桥著名的卡文迪什实验室工作。这个实验室由于获得诺贝尔物理奖的人数最多而有“诺贝尔奖的摇篮”的美称。威尔克斯在这里完成了“关于甚长无线电波在电离层中的传播特性”的研究,并以此为题完成了博士论文,于1938年10月取得剑桥大学博士学位,而他的硕士学位是在当年年初才取得的。

威尔克斯取得博士学位的时候,欧洲上空已布满了战争的阴云,英国已开始准备对付希特勒的进攻。因此,威尔克斯很快被吸收到研制侦察潜水艇、军舰和飞机的雷达设备的项目中去。大战期间,威尔克斯辗转于法国北部的敦刻尔克(1940年法国陷落时30万盟军大撤退的地方),英国的剑桥、佩特斯哈姆、马尔文等地,参与或主持过10cm雷达,GL Mark I、Ⅱ、Ⅲ以及OBOE的研制,其中OBOE是“将轰炸机引向轰炸目标的导航”的英文缩写。采用这种导航技术时,飞行员不需要看地图,只需按地面站发来的简单指令飞行。这种系统在地面有一个“猫站”,一个“鼠站”。猫站的作用是用信号通知飞行员在一个大的圆弧线上飞行,轰炸的目标就在圆弧线上。若飞机没有到达圆弧线,猫站就发“点”信号,指示飞行员往外飞;若飞机飞出圆弧线,猫站就发“划”信号,指示飞行员往回飞。这样沿圆弧线飞到目标上空时,鼠站就发出信号,飞行员只管投弹就行。完成任务后猫站再以同样方式将飞机引导回基地。这种导航技术在二战中最受盟军飞行员欢迎。

战后,威尔克斯回到剑桥大学,担任数学实验室(后改名计算机实验室)主任。1946年5月,他获得了冯·诺伊曼起草的EDVAC计算机的设计方案的一份复印件。EDVAC是Electronic Discrete Variable Automatic Computer的缩写,是宾夕法尼亚大学莫尔学院于1945年开始研制的一台计算机,是按存储程序式思想设计的,并能对指令进行运算和修改,因而可自动修改其自身的程序。但由于工程上遇到困难,EDVAC迟至1952年才完成,造成“研制开始在前,完工在后”的局面,而让威尔克斯占去先机。威尔克斯仔细研究了EDVAC的设计方案,8月又亲赴美国参加了莫尔学院举办的计算机培训班,广泛地与EDVAC的设计研制人员进行接触、讨论,进一步弄清了它的设计思想与技术细节。回国以后,威尔克斯立即以EDVAC为蓝本设计自己的计算机并组织实施,起名为EDSAC(Electronic Delay Storage Auto-matic Calculator,但有的文献写成Electronic Discrete Sequential AutomaticComputer)。EDSAC采用水银延迟线作存储器,可存储34恤字长的字512个,加法时间1.5 ms,乘法时间4 ms。威尔克斯还首次成功地为EDSAC设计了一个程序库,保存在纸带上,需要时送入计算机。但是EDSAC在工程实施中同样遇到了困难:不是技术,而是资金缺乏。在关键时刻,威尔克斯成功地说服了伦敦一家面包公司J.Lyons&Co。.的老板投资该项目,终于使计划绝处逢生。1949年5月6日,EDSAC首次试运行成功,它从带上读人一个生成平方表的程序并执行,正确地打印出结果。作为对投资的回报,LyOHS公司取得了批量生产EDSAC的权利,这就是于1951年正式投入市场的LEO计算机(Lyons Electronic Office),这通常被认为是世界上第一个商品化的计算机型号,因此这也成了计算机发展史上的一件趣事:第一家生产出商品化计算机的厂商原先竟是面包房。Lyons公司后来成为英国著名的“国际计算机有限公司”即ICL的一部分。

EDSAC的成功当然不在于它能生成平方表。还在试运行期间,它就完成了一系列重大任务,向世人展示了计算机的巨大潜力。著名的数学家和统计学家菲歇尔(R.A.Fisher,因在20世纪20年代创建方差分析法——variance analysis而闻名于世)拿来一个二阶非线性微分方程,当程序员编出程序,输入EDSAC很快就给出了解以后,菲歇尔惊奇得简直无法相信。EDSAC还为剑桥大学著名的生物学家肯德烈(J.Kendrew)分析了成百上千张有关分子结构的X射线衍射图案的照片,肯德烈因为这方面的成就而荣获1962年诺贝尔奖,他多次提到EDSAC在他的研究工作中所发挥的无可比拟的作用。射电天文学的主要创始人、因发明综合孔径射电望远镜而荣获1974年诺贝尔物理奖的马丁·里尔(Martin Ryle)也是在EDSAC上对获得的天文照片进行分析和综合,帮助他取得成果的。

在设计与建造EDSAC的过程中,威尔克斯决不是简单地模仿和照搬EDVAC的设计,而是创造和发明了许多新的技术和概念。诸如“变址”(威尔克斯当时称之为“浮动地址----floating address);“宏指令“(威尔克斯当时称为“综合指令--synthetic order);微程序设计(将每一条机器指令的执行分解为一系列更基本的微命令。将可同时执行的微命令组合在一起形成微指令。所谓微程序就是用微指令编写出来的一段微指令序列);子例程及子例程库,所谓子例程即subroutine,就是可用于一个或多个计算机程序中,也可用在一个计算机程序的一处或多处的子程序,其目的在于将复杂的任务分解成若干较小的单位,以便于分别处理;高速缓冲存储器即Cache(位于中央处理器与主存储器之间,对程序员透明的一种高速小容量存储器,以提高处理速度),等等。所有这些都对现代计算机的体系结构和程序设计技术产生了深远的影响。EDSAC和LEO计算机的成功奠定了威尔克斯作为计算机大师和先驱在学术界的地位,而EDSAC(LEO)以及其后在英国国家物理实验室NPL由图灵进行设计、而由威尔金森(J.H.Wilkinson,1970年图灵奖获得者)主持实现的Pilot ACE及其商品化产品DEUCE一起,则使英国的计算机技术在20世纪50年代处于世界领先地位,可以与美国平起平坐。

威尔克斯后来还有过不少创造,比如他曾开发了一种简单的表处理语言wisp。在MIT实现分时系统的MAC项目中,威尔克斯其时正作为访问学者在MIT,曾参与其中并作出了贡献。尤其令人惊叹的是,威尔克斯的创造力是如此旺盛和经久不衰,在他64岁的时候(1977年),他还提出了一个语言翻译系统,叫做“语义原语系统”(se-mantic primitive)。这个系统利用字典处理输入文本中各个单词的各种不同的意义。字典中的定义利用了80个语义原语,***分5类,即实体类、动作类、情况类、修饰类以及类型指标。利用原语构成的语义公式可以完全地、完整地表示文本中的各个语句。语义原语的一个重要优点是允许信息冗余,有利于表达关联。对威尔克斯的语义原语系统,斯强克(R.Schank)后来又提出了一种概念从属理论,使得描述世界上各种活动所需要的原语大大减少,从而提高了系统的实用性。

到20世纪90年代,威尔克斯已进入古稀之年,但我们仍能在《ACM通信》等杂志上经常看到他写的评论,1995年还出版了一部《计算技术展望》的书(Computing Perspectives,Morgan-Kaufmann),。