现代计算机之父

    ——冯·诺依曼

    根据第一台电子计算机所存在的问题,1946年,参加了ENIAC机后期研制工作的杰出数学家、美籍匈牙利人冯·诺依曼(Johnuon Newmann,1903—1957),提出了设计计算机的新思想,在电子计算机研制方面作出许多开创性贡献。为此人们给他戴上“现代计算机之父”的桂冠。

    1903年12月28日,冯·诺依曼出生在匈牙利布达佩斯的一个犹太人家里。从孩提时起,他就是一个神童,具有超人的智力,6岁能心算8位数乘、除法,8岁掌握了微积分,12岁就能读懂近代大数学家所著《函数论》一类的专著,叫人惊叹不已。很自然,后来在匈牙利的数学竞赛中他轻而易举地取得了第一名。升入中学后,诺依曼受到了特殊的教育和严格的数学训练,未满18岁就和指导老师合写了第一篇数学论文。他能流利地说拉丁语和希腊语,并在语法修辞方面有真知灼见。诺依曼掌握了7种语言,这成为他在以后的科学研究中不可缺少的工具。大学期间,他同时在两所大学接受理论和技术方面的严格训练,并同时获得苏黎世高等技术学院化学学士学位和布达佩斯大学数学博士学位。

    冯·诺依曼有着惊人的记忆力和敏捷的分析能力,他读书几乎过目成诵,思考问题的快速度也令人赞叹。有一次,一名数学工作者对一个问题的5种情况用手摇计算机算了一个通宵,第二天去请教诺依曼,他仅用了7分钟就把这个问题的5种情况的结果算了出来,接着又用半个小时,找到了更好的简捷算法,使请教者佩服得五体投地。

    1930年诺依曼应聘去美国普林斯顿大学工作,成为该校高等研究院首批6个常任成员之一(爱因斯坦也是成员之一),从此他就始终站在科学研究的最前沿。诺依曼是20世纪最有成就的科学家之一,他是作为化学工程师开始进行科研工作的,后来改行搞数学理论物理。在纯粹数学、应用数学、计算数学方面都有创造性的突出贡献;在统计学、流体动力学、弹道学、气象学、博弈论等许多领域都有重大建树。他参加了研制原子弹的曼哈顿计划,是美国总统任命的国家原子能委员会委员、导弹顾问委员会主席,还是美国数学学会主席,首届爱因斯坦奖和费米奖获得者。从诺依曼这些头衔和荣誉,你可以了解到诺依曼是20世纪科学王国中多么骁勇的功臣。然而,有一个问题始终困扰着诺依曼:在研究原子核裂变反应过程中需要大量的计算,计有10亿次以上。这些10亿以上次的运算大多相当初等,只需在裂变反应的传播过程中作出可不可行的“是”与“否”的回答,也就是说,这些大量的计算仅要得出一个“真”与“假”的逻辑解,是纯粹的初等逻辑运算。而当时的计算机在逻辑运算方面是非常欠缺的。诺依曼针对这个问题一直在思考着。一个偶然的机会,诺依曼被引向电子计算机的研究。

    一天,诺依曼与正在参加制造ENIAC的戈德斯坦在火车站见面了。戈德斯坦早就听说过诺依曼这位世界名流,便主动作自我介绍,两个人热情友好地攀谈起来。当戈德斯坦谈到正在研制电子装置计算机时,诺依曼的眼睛为之一亮,谈话的气氛一下子变了,他急切地询问ENIAC的情况。戈德斯坦介绍ENIAC用真空电子管构成基本逻辑单元,有电子线路和逻辑运算功能,其速度可以提高1000倍时,诺依曼非常兴奋。他迫不及待地提出要看看这台尚未出世的机器。几天后,诺依曼来到莫尔学院,认真仔细地观看了这台电子装置,然后询问了机器的逻辑结构和整体设计思想。凭着他的天才,他太知道这台机器的与众不同了。以后诺依曼就成了莫尔小组的常客,并直接参与了研制工作,提出了许许多多的改进和完善意见。不过这时NIAC制造已经接近尾声,不可能大改大动了。这是非常遗憾的事,大家都认为诺依曼来得太晚了,可是他的意见使这里的科学家们站得更高了,使他们彻底了解了ENIAC的不足之处。

    于是在1945年3月,诺依曼和莫尔小组一起开始设计和研制一台全新的存储程序通用电子计算机,称之为“离散变数自动电子计算机”,即“EDVAC”,对“ENIAC”做重大改进。诺依曼总结了ENIAC的优点,明确规定这台计算机由5部分组成:即运算器,逻辑控制器,存储器,输入和输出。这5部分有各自的职能和相互联系。

    第一个改进是变十进制为二进制。采用二进制的优点,是因为电子元件或线路比较容易实现两个相互对立的稳定状态来代表两个不同的数码,例如电压的高与低,正与负,电子管的通与断,电讯号的有与无,磁芯的两种不同的剩磁状态等等。而且这两种状态可以在非常短暂的瞬间互相转换。这要比用10个不同的稳定状态来表示十进制里的10个数码要简单得多。人们可能会想到,二进制的每一位只能表示0和l,和十进制相比,在表示同样一个数字时,若用二进制表示,位数就会增加很多,在运算处理时要带来麻烦。但是如果你仔细地想一想,既然二进制位数增多了,但是在处理每一位时,由于一位仅有“0”和“l”两种状态,处理起来就会变得简单多了。这种简单大大地抵消了位数增多而带来的麻烦。使数与数之间的运算变得简单是重要的,电子元件和线路的高速度,可以使二进制位数增多忽略不计。所以诺依曼认为电子计算机中的存储器和运算器按其性能来说最适于二进制,而且执行基本运算时最简单也最快。另外,诺依曼指出,就计算机的性质讲,主要部分并非运算而是逻辑,而新的逻辑是真与假的二值系统,所以计算机应采用二进制。

    EDVAC方案的另一个重大改进是把程序的外插型改为存储程序。只要把一些常用的基本操作制成电路,每一个操作都用一个数来代表,于是这个数就可指令计算机执行某项操作。解题时,根据解题要求,用这些数来编制程序,并把程序同数据一起放在计算机的内存储器里。当计算机运行时,它可以依次很高的速度从存储器中取出程序里的一条条指令,逐一执行,完成全部计算的各项操作。这样存储程序使全部运算成为真正的自动过程,充分发挥了电子元件高速度的潜力。把程序外插变成“程序内存”,是计算机结构思想的一次最重要的改革,它标志着电子计算机时代的真正开始。计算机专家们认为,诺依曼是第一代电子计算机的实际发明者。

    由于种种原因,诺依曼和莫尔小组研制的EDVAC陷入困境,制造工作耽搁下来。1949年5月,世界上第一台程序内存计算机(冯·诺依曼机)在诺依曼的学生威尔克斯(M.V.Wilkes)的领导下研制成功并投入使用。这是英国剑桥大学数学实验室完全按照冯·诺依曼的理论和方案制成的EDVAC机,威尔克斯是诺依曼等人在莫尔学院举办“电子数字计算机设计的理论和技术”讲座时培训出来的学生。美国的第一台EDVAC机是1950年完成的,名字叫做SEAC机。第一台商用EDVAC机在埃克特和莫奇利的指导下制造成功,名字叫UNIVAC—I机,1951年交付人口统计局使用。同在1951年,由冯·诺依曼亲自设计和参与制造的“完全自动通和数字电子计算机”研制成功,简称IAS机,它是EDVAC的改进型。该机采用了并行运算器;以并行存取的静态存储器代替串行动态存储器,全机用了2000个电子管,效率比ENIAC机快几百倍。后来,该机一次次地被加以制造和仿造。苏联、前联邦德国、瑞典等国家的计算机也受到IAS机的很大影响。至此,第一代电子计算机已经成熟,进入生产阶段。

    电子计算机在新技术革命中的地位的确是太重要了。过去人类发明创造各种机械和动力设备,主要是为了代替和增强人类的体力劳动能力,是人类手的功能的扩大和延伸;而电子计算机则主要是加强和部分代替人类大脑的功能。几千年来人类的计算和利用信息都是通过自己的大脑活动,电子计算机的出现,使人类不仅有了计算工具,还有了一个处理信息的重要工具,这是随着计算机的进一步发展,人们才越来越清楚地认识到的。电子计算机的发展已经有50年的历史了。在历史的长河中,这不过是一瞬间,可从计算机更新换代,从使用材料到整机设计上,都发生了重大的变革。

    第一代计算机从1946年开始延续到1959年。第一代计算机使用电子管,机身庞大,成本昂贵,需要大量空气调节,并且耗电很大。运算速度是几千次/秒—几万次/秒,它是为科学计算而设计的。

    第二代计算机从20世纪50年代末期开始,其特点是用晶体管代替真空电子管。其体积变小,价格降低,几乎不发热,耗电很少,运算速度提高到几万次/秒—几十万次/秒。此时,计算机开始在工业上得到应用。

    第三代计算机从20世纪60年代后期开始,其特点是使用了集成电路。这并不是一个新电子材料,集成的含义是将许多的电子器件(如晶体管、电阻等)装到同一个芯片上。事实上,一个电路的组成无非是把具有不同功能的独立元件彼此焊接,组装成一个整体的过程,这是一个先生产独立元件,再组装合并的分而合的往返。为什么不可以将各分立元件直接集合在整体材料上呢?为什么不可以在整体材料上把各分立元件的功能直接体现出来呢?这不就免去了分而合的往返吗?这就是集成电路的根本设计思想。使用集成电路的计算机可靠性大大地提高,体积大大的缩小,运算速度几十万次/秒—几百万次/秒——商品化计算机出现了。

    第四代计算机从20世纪70年代初期开始,使用了大规模集成电路(LSI),其运算速度是几千万次/秒—几亿次/秒,各种多功能通用计算机层出不穷地问世。

    计算机的划代

    alt

    目前,计算机的种类简直太多了,有大型机、中型机、小型机、微型机、膝上机、笔记本机和运算速度上亿次或几百亿次的巨型计算机,如我国研制的银河计算机。几乎所有这些计算机都采用冯·诺依曼的基本设计思想:即五大块:运算器、控制器、存储器、输入和输出;采用二进制内部计数制,内存式程序控制。因此这些计算机都可以称为是“冯·诺依曼机”。不论计算机如何改进和发展,冯·诺依曼对计算机理论和技术的贡献,将永远像一座丰碑,矗立于现代科学技术的历史中。