克斯在实现他的子程序思想时遇到了一个很大的问题,即控制如何从主程序转至子程序,又如何从子程序转回主程序。这个对于现今的程序设计人员来说十分简单的问题,当时却令所有参与研制EDSAC的人(包括威尔克斯本人)大大地伤了一回脑筋。当时还是研究生的戴维.惠勒(David John Wheeler)提出了将发生程序转移时的地址保存起来以便后来实现返回的方法,终于解决了这个问题。因此,在相当一段时间里,把实现子程序转移的这一方法叫做"Wheeler jump”,后来才被直观地叫做"subroutine jump”。发明这一方法的惠勒获得了1985年度的计算机先驱奖。
惠勒1927年2月9日出生,1948年在剑桥大学三圣学院毕业,取得数学学士学位。还在毕业以前的1947年,他就开始参加EDSAC的研制工作。除了发明“Wheeler jump”以外,他对EDSAC的另一项重要贡献是发明了"initial orders”。大家知道,现代计算机在启动后,会首先自动执行一个所谓“自举装入程序”(bootstrap loader),对机器各部分作必要的检查,然后装入操作系统等基本软件,使机器处于待命、准备接收程序和指令的状态。惠勒的initial orders就是现代自举程序的始祖,它被放在用一组电话交换机的步进开关做成的只读存储器中,只要一按启动开关,该程序就被一个自动过程拷贝到水银延迟线存储器中去,并被执行,从而从纸带上将所要运行的程序读入主存。惠勒的这一创造使EDSAC成为当时自动化程度最高、最灵巧而名符其实的“自动电子计算机”。
1951年,惠勒以“Automatic Computing with the EDSAC”为题完成了他的博士论文,取得剑桥大学的数学博士学位。然后他渡过大西洋,来到美国,在伊利诺大学工作了两年,参与了ORDVAC和ILLIAC两台计算机的研制。这两台计算机是伊利诺大学受阿伯丁试验场弹道研究实验室的支持和委托研制的,项目开始于1949年4月,基本上也是仿冯·诺伊曼在普林斯顿大学设计的IAS计算机。ORDVAC完成于1951年11月,1952年运至阿伯丁试验场,3月通过验收测试。ILLIAC完成于1952年5月,留在学校自用。惠勒到伊利诺大学后,利用他在EDSAC上积累的知识和经验,帮助改进了设计,并和该校的研究生罗伯特森(James E.Robertson)一起,为ILLIAC设计了诊断程序,他们的有关论文发表在1953年的“IRE汇刊”上(见Proc.IRE(41)No.10,1 320—1 325页)。惠勒还亲自编写了一个程序,在ILLI-AC上计算e的精确值到6万个数字。
回到剑桥大学后,惠勒继续为EDSAC工作。在EDSAC 2的开发中,他为之设计了变址寄存器(index register)和程序系统。1977年,他出任剑桥大学计算机科学系主任,在剑桥研制Titan计算机、CAP计算机和校园网"Cambridge Ring"中都作出了重要贡献。
EDSAC研究小组(前排右二为惠勒)本新闻共2页,当前在第1页 1 2
< 1 > < 2 >
|