军事需求催生现代电子计算机
1941年12月,日本偷袭珍珠港,美国对日本宣战。为了计算炮弹弹道的轨迹,美国陆军的弹道研究实验室(Ballistic Research Laboratory,BRL)征调了位于费城(Philadelphia)的宾夕法尼亚大学莫尔电气工程学院(以下简称莫尔学院)的微分分析机[2](见图1-1)。
图1-1 微分分析机
由于每天需要计算的弹道轨迹多达几千条,微分分析机远远满足不了炮兵部队的胃口。对大规模数学计算的需求变得非常迫切,制造一台计算机的想法,从科学家的头脑中来到军方领导的心头。
1942年秋天,由于设备的计算能力跟不上计算需求的持续增长,美国陆军弹道研究实验室的计算工作陷入了危机。1943年春,该实验室的芝加哥大学数学博士、陆军上尉赫尔曼·戈德斯坦(Herman H.Goldstine),找到了莫尔学院的工程师约翰·莫奇利(John W.Mauchly)。莫奇利对制造电子计算机抱有“传教士般的热情”,两人一拍即合。在戈德斯坦的举荐下,莫奇利撰写了一份研制电子计算机的报告,并将报告提交给美国军方。同年4月9日,莫奇利的这份报告获得了美国军方的批准,美国军方与莫尔学院签订了制造计算机的合同。制造世界上第一台电子计算机——埃尼亚克(ENIAC)的工作,就在莫尔学院紧锣密鼓地开始了。
1944年初夏的一天,在美国陆军著名的武器试验场——“阿伯丁试验场”外的火车站月台上,发生了一次足以载入史册的偶遇。时任“曼哈顿计划”科学顾问的著名数学家冯·诺依曼[3],与埃尼亚克项目的军方负责人戈德斯坦相遇了。“小上尉”戈德斯坦主动走向“大人物”冯·诺依曼,并向他提起他们正在做的一件大事——研制一台每秒进行300次乘法运算的电子计算机。冯·诺依曼对此非常感兴趣,向戈德斯坦表示,希望进一步了解这个项目的情况。
于是,在戈德斯坦的安排下,冯·诺依曼专程赶往费城参观调研。
矗立在冯·诺依曼面前的埃尼亚克(见图1-2),是一个占地170m2的庞然大物,它有30个操作台、6000多个开关。埃尼亚克看起来就像一个巨型的八爪鱼,数以百计的转接线把计算机的不同单元连接在一起。
图1-2 第一台现代电子计算机——埃尼亚克
冯·诺依曼看到,埃尼亚克在工作过程中面临着一个难题:每当要计算一道新的问题时,必须针对这个问题进行专门的编程。在埃尼亚克上编程,可不像我们现在用键盘敲几行代码那么简单,而是需要重新部署计算机不同单元之间的转接线。
对于在埃尼亚克上编程这件事,《天才的拓荒者——冯·诺依曼传》中有一段非常形象的描写:计算机操作员跑来跑去,重新把转接线的插头插好,设定每个计算单元控制器的机械开关,甚至还要搬动设备。
如何解决这个令人困扰的难题呢?埃尼亚克的设计团队将期盼的目光投向了冯·诺依曼。
离开费城后,冯·诺依曼陷入了沉思:到底应该如何设计一台更先进、更完备的计算机呢?