EDSAC计算机之父——Maurice Wilkes
1951年5月15日,在英国,BBC频道播出了三个人的演讲,其中有两位大名鼎鼎:一位是计算机科学之父艾伦·图灵,另一位是图灵的导师、剑桥数学家纽曼。那么第三个人是谁呢?谁有资格跻身如此阵容呢?
他叫Maurice Wilkes。
Wilkes,1913年出生于英国,1931年进入剑桥大学,后又进入卡文迪什实验室。1936年获得物理学博士学位,论文题目是《关于甚长无线电波在电离层中的传播特性》。二战爆发后,Wilkes为英国军方研制雷达设备,辗转于敦刻尔克、剑桥、马尔文等地,参与过10cm雷达和OBOE的研制。OBOE是一套轰炸机导航系统,可以使飞行员不需要地图和目视,只需要按照地面发来的指令飞行,即可准确到达轰炸目标。地面上有一个“猫站”和一个“鼠站”,猫站会通过信号,将飞行员引导到一个大圆弧上(轰炸目标就在这条弧上),如果飞机在弧内,猫站就发射“点”信号,如果在弧外则发射“划”,飞行员就根据这些反馈来修正方向,保持位于弧线上。当飞机位于目标上空时,鼠站就发出信号,飞行员就投弹,然后再用同样方式,由猫站引导回基地。这套系统大受盟军飞行员的欢迎。
1945年,战争结束了。Wilkes回到剑桥,主导了英国的第三个电子计算机工程。读者可能会问,前两个是什么?第一个是“巨人机”,战时诞生于布莱切利庄园,开发者是艾伦·图灵。第二个是ACE(自动计算引擎),国家物理实验室正在研制中,此时的主导者也是艾伦·图灵。Wilkes扛起了第三个,一个名为EDSAC(电子延迟存储自动计算机)的计算机工程。起初他联系了国家物理实验室,希望得到一些资料,但当时ACE还没有正式起步,而美国冯·诺伊曼的EDVAC还是秘密,所以Wilkes只得到了一些零星的见闻,以及被安排在1946年到宾夕法尼亚参加ENIAC团队主办的一系列讲座。
1946年11月,Wilkes希望参与ACE项目,他于11月27日访问了国家物理实验室,并于12月2日给图灵写信谈了许多关于ACE的设计想法,并附上了他得到的一些关于EDVAC的资料。但这封信的问题在于,Wilkes并不知道图灵已经做了7个版本的设计工作,而且EDVAC的一些特性正是受到图灵的启发。更糟糕的是,Wilkes的想法,很多是与图灵的原则相反的。图灵的设计哲学是尽可能地简化硬件,把其他的事情都留给程序。图灵在回信中表达了这些想法,所以合作并非真正展开。1947年,他们的联系彻底中断了,而此时由于ACE项目出现了一些人事上的问题,谁也不肯让步,最终图灵一气之下甩手不干了。Wilkes的EDSAC项目仍在继续,他转而与EDVAC的项目人员取得了广泛的联系,他们经常一起切磋讨论。EDSAC采用水银延迟线作为存储器,容量是512×18位,加法时间1.5毫秒,乘法时间4毫秒。威尔克斯还引入了变址、缓存、宏指令、微程序、子例程等重要概念,还设计了一个子例程库,这些都对后来的计算机设计产生了极其深远的影响(有些资料认为这些都是Wilkes发明的,但笔者认为不然,很难考证最先提出者,但至少图灵在很早之前就有微指令和子程序的想法)。在工程实施中,由于资金缺乏,项目一度岌岌可危。最终,Wilkes说服了一家面包公司来投资,终于绝处逢生。1949年5月,EDSAC首次运行,这是世界上第一台冯·诺伊曼结构的计算机。戏剧的是,之前一直作为“老师”的EDVAC项目,反而直到1952年才完成。
1967年,ACM授予威尔克斯图灵奖,以表彰其在存储程序式计算机和子程序等重要概念上的杰出贡献。 1980年,Wilkes从剑桥退休,出任DEC公司的顾问和MIT兼职教授,1986年回到英国,担任Olivetti公司的顾问。2000年,Wilkes被授予爵位。两年后他搬回剑桥,担任剑桥大学荣誉教授。2010年11月29日,一生声名卓著的Wilkes离世。