首页 理论教育冯·诺依曼和他对计算机的贡献

冯·诺依曼和他对计算机的贡献

【摘要】:当时莫尔小组由于缺乏经验和计算机结构理论的指导无法克服这种缺陷,此时冯·诺依曼已经意识到这个工作的意义,果断决定投身其中。冯·诺依曼懂七国文字,在美国学界已有盛名,他的参加使莫尔小组引起社会的极大关注,创造了十分良好的社会环境。1944年8月—1945年6月,冯·诺依曼与莫尔学院合作,组织莫尔小组向计算机领域的高峰发起了一次总攻。冯·诺依曼亲自动手提出了《关于ENIAC的报告草案》,这是亘古未有的奇迹。

莫尔小组开始工作不久,1944年的一个偶然机会,冯·诺依曼(Von Neumann)听说了这个消息。他立刻专程赶到莫尔学院参观制作中的ENIAC,并参加了一系列改进设计的专家讨论会。他指出ENIAC容量小,外插型程序设计是重要的缺陷。因为要进行一次计算,用外插线路实现程序的工作有时就有一两天。当时莫尔小组由于缺乏经验和计算机结构理论的指导无法克服这种缺陷,此时冯·诺依曼已经意识到这个工作的意义,果断决定投身其中。当时冯·诺依曼正在曼哈顿参加第一颗原子弹的制造工作,他在计算原子核裂变反应过程时遇到了极大的困难。百名计算员不停地用台式计算机进行计算,仍无法按时完成判断用于核反应过程所需要的数亿次计算。他的洞察力,使他立刻断定参加电子计算机的制造工作是解决这个难题的最有希望的途径。

冯·诺依曼懂七国文字,在美国学界已有盛名,他的参加使莫尔小组引起社会的极大关注,创造了十分良好的社会环境。他与年轻人的关系不像部下与长官,而是平等讨论,彼此尊重;年轻人的热情和创造精神没有因盛名而受到约束,反而倍受推崇;他坚实的科学基础和极强的组合能力与年轻人结合在一起,极大地提高了莫尔小组的整体水平,使莫尔小组变成了人才能力放大器。这种当时少有,现在仍为人们敬仰的科研组织典范,势将最先敲响存储程序电子计算机时代的钟声。

1944年8月—1945年6月,冯·诺依曼与莫尔学院合作,组织莫尔小组向计算机领域的高峰发起了一次总攻。在ENIAC的同时展开了更先进的存储程序通用自动电子计算机EDVAC(Electronic Discrete Variable Automatic Computer的简称,意为离散变量自动电子计算机)的设计和论证。冯·诺依曼的设计在莫尔小组的莫希莱、埃克特、格尔斯坦等青年专家和工程人员中进行讨论,并把青年人的创造性思维火花进行综合,加上自己的分析,分门别类地提出问题请大家继续研究。这样的讨论反复进行并定期发布讨论报告,短短的10个月就把概念变成了方案。冯·诺依曼亲自动手提出了《关于ENIAC的报告草案》,这是亘古未有的奇迹。这个报告便是计算机史上著名的“101页”报告,“报告”既有设计方案,又有实现的具体说明。方案明确规定了新机器由5个组成部分:计数据CA、逻辑控制器CC、存储器M、输入I、输出O,并描述了5个部分的功能和相互关系。EDVAC方案针对ENIAC设计上的缺陷提出了两项对计算机发展产生重大影响的改进方法:

一是采用了二进制。我们通信使用的都是十进制,ENIAC也是采用十进制。但是在数字计算机中要区别10个不同的数码,就需要10个不同的物理状态,这样在结构上就很复杂。二进制只使用0与1两个数码,而基本电子元件恰好都是双稳态的,如电路的“断开”与“接通”电位的“低”与“高”天生就具有二进制的特点,在电子计算机中采用二进制不仅可以简化它的结构,而且有利于发挥电子元件的高速度。(www.chuimin.cn)

二是采用“存储程序”。ENIAC的程序控制,是在解题之前用手连接相应的线路来实现的。每计算一个题,都需要把各个部件更新连接,往往计算过程只需要几分钟,改变线路却需要花几小时甚至几天的时间。在存储程序的计算机中,不再采用外插线路连接,基本的操作都已经造好内部电路,每一个这样的操作也用一个二进制数表示。这样,只需按照解题需要,将代表基本操作的数编成程序,与其他参加运算的数据一起输入计算机存储器中,每调用一个代表基本操作的数也就是向计算机发出一条操作指令,使计算完成一个操作,整个程序指令运算和转移的操作过程,都由控制器自动控制,从而使整个程序自动完成,使计算机实现了自动计算。

EDVAC方案第一次确定了现代计算机的体系结构框架,我们把这种设计称为冯·诺依曼机,它奠定了计算机结构和存储程序设计理论的基础,对计算机的发展至今仍有无可替代的指导作用。正是在这个意义上,人们把冯·诺依曼誉为“电子计算机之父”。

1949年,英国科学家根据冯·诺依曼的思想制成了一台电子计算机,叫作“电子延迟存储自动计算机”,简称EDSAC(Electronic Discrete Sequential Automatic Computer)。它具有512个字的汞延迟线存储器,存取时间1毫秒,字长34位,加法时间1.5毫秒,乘法时间4毫秒。此外,它有一个程序库保存在纸带中,程序可以按照需要送入计算机。它是历史上第一台投入使用的计算机,这台计算机已经具备了现代计算机的特点。