ENIAC Ⅰ——电子数字积分计算器
1946年,第一台电子数字积分计算器(ENIAC Ⅰ)在美国建造完成。现代电脑历史由此开始。
第一台电子计算机叫 ENIAC(电子数字积分计算机的简称,英文全称为 Electronic Numerical Integrator And Computer),它于1946年2月15日在美国宣告诞生。承担开发任务的“莫尔小组”由四位科学家和工程师埃克特、莫克利、戈尔斯坦、博克斯组成,总工程师埃克特当时年仅24岁。
主要参数
ENIAC的统计数据 | |
---|---|
尺寸(英尺) | 30×50 |
重量(吨) | 30 |
真空管 | 18800 |
电阻 | 70000 |
电容 | 10000 |
开关 | 6000 |
耗电(W) | 150000 |
成本(1940年) | $40万 |
研制电子计算机的想法产生于第二次世界大战进行期间。当时激战正酣,各国的武器装备跟现在闭差远了,占主要地位的战略武器就是飞机和大炮,哪有什么“飞毛腿”导弹、“爱国者”防空导弹、“战斧式”巡航导弹,因此研制和开发新型大炮和导弹就显得十分必要和迫切。为此美国陆军军械部在马里兰州的阿伯丁设立了“弹道研究实验室”。
美国军方要求该实验室每天为陆军炮弹部队提供6张火力表以便对导弹的研制进行技术鉴定。千万别小瞧了这区区6张火力表,它们所需的工作量大得惊人!事实上每张火力表都要计算几百条弹道,而每条弹道的数学模型你知道是什么吗?一组非常复杂的非线性方程组。这些方程组是没有办法求出准确解的,因此只能用数值方法近似地进行计算。
但即使用数值方法近似求解也不是一件容易的事!按当时的计算工具,实验室即使雇用200多名计算员加班加点工作也大约需要二个多月的时间才能算完一张火力表。在“时间就是胜利”的战争年代,这么慢的速度怎么能行呢?恐怕还没等先进的武器研制出来,败局已定。
为了改变这种不利的状况,当时任职宾夕法尼亚大学莫尔电机工程学院的莫希利(John Mauchly)于 1942年提出了试制第一台电子计算机的初始设想——“高速电子管计算装置的使用”,期望用电子管代替继电器以提高机器的计算速度。
美国军方得知这一设想,马上拨款大力支持,成立了一个以莫希利、埃克特(Eckert)为首的研制小组开始研制工作、预算经费为15万美元,这在当时是一笔巨款。要不是为了战争,谁能舍得出这么大的钱!虽说战争万恶,但未始不偶尔促进科技的发展。
让研制工作十分幸运的是,当时任弹道研究所顾问、正在参加美国第一颗原子弹研制工作的数学家冯·诺依曼(v·n weumann,美籍匈牙利人)带着原子弹研制过程中遇到的大量计算问题,在研制过程中期加入了研制小组。他对计算机的许多关键性问题的解决作出了重要贡献,从而保证了计算机的顺利问世。
虽然ENIAC体积庞大,耗电惊人,运算速度不过几千次(现在的超级计算机的速度最快每秒运算达万亿次!),但它比当时已有的计算装置要快1000倍,而且还有按事先编好的程序自动执行算术运算、逻辑运算和存储数据的功能。ENIAC宣告了一个新时代的开始。从此科学计算的大门也被打开了。
人们当然不会满足于此的!
自第一台计算机问世以后,越来越多的高性能计算机被研制出来。计算机已从第一代发展到了第四代,目前正在向第五代、第六代智能化计算机发展。像最初制造出来的ENIAC一样,许多高性能的计算机总是在为尖端和常规武器、特别是核武器的研制服务。
Goldstine与Eckert
和人类发明的所有工具一样,计算机的产生也是由于实际需要方得以问世的。从18世纪以来,科学技术水平有了长足的进步。制造电子计算机所必需的逻辑电路知识和电子管技术已经在19世纪末和20世纪初出现并得以完善。因此可以说制造计算机的基础科学知识已经完备。
但为什么世界上第一台电子计算机要退至40年代中期才得以问世呢?这里面主要是实际需要是否迫切和资金是否到位的问题。实际需要当然一直都存在,谁不想拥有一种最先进的计算工具呢?但光是需求并不能决定一切。凡研制一种新工具,总是需要先期投入大量资金(研制ENIAC时,一开始就投资15万美元,但最后的总投资高达48万美元,这在40年代可是一笔巨款!)。能为一种未问世的工具大胆出钱的总是少数。
最后还是战争使计算机的诞生成为现实。事实上各种各样的社会需求中,战争期间的需求始终是最迫切的,因为事关生死存亡。政府和军方总是出手大方,将最新的科技成果应用到诸如战略和常规武器的研制工作上,以确保己方在军事上处于领先地位。
电子计算机正是在二次世界大战弥漫的硝烟中开始研制的。如前面所述,当时为了给美国军械试验提供准确而及时的弹道火力表,迫切需要有一种高速的计算工具。因此在美国军方的大力支持下,世界上第一台电子计算机ENIAC于1943年开始研制。参加研制工作的是以宾夕法尼亚大学莫尔电机工程学院的莫西利和埃克特为首的研制小组。在研制中期,著名数学家冯·诺依曼加入行列。
历时两年多,ENIAC研制成功。1945年春天,ENIAC首次试运行成功。1946年2月10日,美国陆军军械部和宾夕法尼亚大学莫尔学院联合向世界宣布ENIAC的诞生,从此揭开了电子计算机发展和应用的序幕。
现在人们常打交道的绝大多数都是个人计算机,它体积小,重量轻,性能高。虽然现在也有不少的巨型和大型计算机,但它们都“藏在深闺人未识”,安置在专门为它建造的建筑物里,一般人是不太容易一睹其“芳容”的。所以在许多人的心目中,可能会想当然地认为最初的计算机也有这么“苗条”。那可大错特错了!以前的计算机可是不折不扣的庞然大物!
就拿ENIAC来说吧,它采用电子管作为基本电子元件。用了多少个呢?足足有18800个电子管,而每个电子管大约有一个普通家用25瓦灯泡那么大!这样ENIAC就有了8英尺高(约2.44米)、3英尺宽(约0.肌米)、100英尺长(约用.48米)的身躯,体积有研立方米,重达30吨,耗电140千瓦。
ENIAC这个庞然大物能做什么呢?它每秒能进行5000次加法运算(据测算,人最快的运算速度每秒仅 5次加法运算),每秒即次乘法运算。它还能进行平方和立方运算,计算正弦和余弦等三角函数的值及其它一些更复杂的运算。
以现在的眼光来看,这当然很微不足道。但这在当时可是很了不起的成就!原来需要20多分钟时间才能计算出来的一条弹道,现在只要短短的30秒!这可一下子缓解了当时极为严重的计算速度大大落后于实际要求的局面。
由于当时冯·诺依曼正参与原子弹的研制工作,他是带着原子弹研制过程中遇到的大量计算问题加入到计算机的研制工作中来的。因此可以说,ENIAC为世界上第一颗原子弹的诞生也出了不少力。
但即使在当时看来,ENIAC也是有不少缺点的:除了体积大,耗电多以外,由于机器运行产生的高热量使电子管很容易损坏。一已有~个电子管损坏,整台机器就不能正常运转,于是就得先从这1.8万多个电子管中找出那个损坏的,再换上新的,别提有多么麻烦了。
如果你学过任何有关计
从图片上可以看出来E
在ENIAC之前,有
宾夕法尼亚大学显然以
早年的计算机并不是用
在早期计算机上面运行
战争会破坏,但也能创
PS:别忘了,既是是
第一台电子计算机,于1946年2月问世,它的产生经历了十分曲折复杂的过程。应该从英国数学家C.巴贝吉的工作开始。
英国数学家C.巴贝吉在19世纪30年代受法国织工雅卡尔用穿孔卡片来自动控制提纱机方法的启发,1834年他把这种穿孔卡控制用到自己设计的分析机中,从而提出了具有五大装置——输人、存储、控制、处理、输出——的计算机,这可以说开启了现代电子计算机设计的先河。尤其是,他提出的控制方案则一直运用到20世纪50-60年代,许多计算机都以穿孔卡作为控制工具,不过后来对穿孔卡的阅读方法不断有所改进。C.巴贝吉还提出“程序控制”的思想,即把对计算机的控制用对计算机操作的指令集(即程序)来实现,并把有关程序存储在机器中,使之能自动控制,按人的要求进行计算。
在元件方面,20世纪30-40年代,德国工程师K.楚泽首先采用继电器代替机械元件制成了机电式计算机(1939,Z-2型;1941,Z-3型;1945,Z-4型)。所谓继电器是一种电磁装置,主要是利用它使一个回路保持接通,而使其他回路断开。因此它是一种“开关装置”。继电器被广泛用于电话中继接线。与K.楚泽工作的同时,美国贝尔电话实验室的G.斯蒂比兹也创制出机电式计算机(K-机,1937;M-1机,1939), M-1型机使用了440个二进制继电器,还用了10多个继电器作为存数的存储器。后来,贝尔实验室还研制了一系列的机电式计算器:M-2型,1943;M-3型,1944;M-4型,1945。最后制成了M-5型(1945)机,一直用到20世纪50年代。与此同时,著名的国际商用机器公司(IBM公司)支持H.艾肯研制了另一种机电式计算机Mark-I,该机于1944年制成,用了3000多个继电器,机器采用十进制,对23位数的加法,一次用0.3秒,乘法则用6秒,用穿孔纸带传送指令。一般认为,它是一台通用机电式计算机。1947年,H.艾肯又研制成Mark-Ⅱ号机电式计算机,它每秒可进行8次加法运算。在这个时期,电子元件也已出现了。1904年英国的弗莱明发明二极管,并把它用于无线电之中;1906年美国D.福雷斯特发明了三极管,三极管可以用栅极电路的微弱电流控制板极的较大电流。人们很快发现,利用三极管的栅极能迅速控制板极电路电流的通断,控制速度要比继电器快1万倍,并具有放大作用、振荡作用等,因此三极管很快被广泛用于无线电和其他电器产品领域。各种电子元器件很快投入应用。1913年,德国的梅斯涅尔发明了电子振荡发生器,5年后,亚伯拉罕等发明了多谐振荡电路,1919年英国爱克尔斯等人发明了触发电路。这种电路使计数和存储有了可能,它能迅速改变电路的状态,一个触发电路可以用来存储一个二进制数,若干个触发电路可组成寄存器。按一定方式连接的触发器可形成计数器,这些为计算机的“电子化”提供了元器件条件。
在以上条件下,一些目光敏锐的学者已经注意到电子元器件在计算机技术上的可能性。早期的探索者中,最著名的是美国衣阿华州立学院的阿塔纳索夫。他是一位数学物理教授,是在求解数学物理方程遇到困难时对计算技术发生兴趣的。从20世纪30年代初到1937年,他仔细地考察了当时的各种计算装置,提出了与它们不同的计算机研制方案:①以二进制的逻辑运算为基础;②利用电子元器件及电子技术来实现控制、逻辑运算和算术运算;③计算机应采用把计算功能和二进制数再生存储功能分开的结构。从1939年开始,他与一位年轻的同事C.贝利合作,试制了一台样机,就称之为“ABC”样机,A是阿塔纳索夫姓的首母,B是贝利姓的首母,C代表计算机。这台计算机于1939年秋制出来,但并没有完全制造完成,因为经费尤其是第二次世界大战爆发,阿塔纳索夫转人军队服务,他没有再回到这个课题上来,ABC样机半成品存于衣阿华州立学院物理系的贮藏室里。应该说,阿塔纳索夫的电子计算机制造方案是最早的电子(运用电子技术)计算机方案。后来设计并制成ENIAC的莫奇利在1941年曾经看过阿塔纳索夫关于电子计算机设计的笔记本。
英国数学家图灵在第二次世界大战爆发后服务于英国情报部门,参与了对德国密码的破译工作,为此参与设计研制一台电子装置——COLOSSUS(巨人)机。它使用了1500个电子管和光电阅读装置。这就是最早的电子计算机,利用这种计算机达到了破译德方密码的目的。但是由于英国的保密制度,对其详情人们仍然不得而知。但巨人机的研制说明了社会需要对计算机发展的促进甚至是决定性的作用。
与巨人机同时,在美国也出现了处理数据的巨大的军事上的压力。一个重要的具体表现就是在战时,宾夕法尼亚大学莫尔学院同阿伯丁弹道研究实验室共同负责为陆军每天提供6张武器火力表,这是一项非常困难的任务,实验室聘用了200多名计算员,一张火力表也要算上二三个月,严重影响了武器的改进。迅速提高计算速度成了当时武器研制的关键。在这种形势下,莫奇利于1942年8月写出一份题为《高速电子管计算装置的使用》的备忘录,其时,莫奇利正在莫尔学院任职,这一备忘录实际上可以说是一台计算机的设计方案,这一方案很快受到军方的重视和支持。1943年6月5日莫尔学院与军械部签订了合同,开始研制电子计算机,其正式名称为“电子数值积分和计算机”( Eleceronic Numerical Integrator and Computer,简称ENIAC)。由莫奇利负责设计,由24岁的埃克特任总工程师。经过两年多的艰苦工作,于1945年底竣工,1946年2月15日举行了正式的揭幕典礼——这实际上同时揭开了人类历史的新的一页:人类进入了信息时代!
ENIAC采用十进位计算。其最大的特点就是采用了电子元件,用电子线路来执行运算、存储信息等,因而也就表现出最突出的优点:计算速度快。当时的几种计算机速度的比较如下表所示。
计算机 | 制成年代 | 运算速度(单位:毫秒) | |
加法 | 乘法 | ||
Mark Ⅰ | 1944 | 300 | 5700 |
Mark Ⅱ | 1947 | 200 | 700 |
M-V | 1947 | 300 | 1000 |
ENIAC | 1945 | 0.2 | 0.8 |
当然,ENIAC存在许多缺点,它的结构没有突破机电式计算机的结构模式,因而限制了电子元器件作用的充分发挥,ENIAC于1946年开始运行,1947年由莫尔学院阿伯丁实验室使用,一直使用到1955年。
和莫奇利一起,在20世纪40年代设计和开发了世界上第一台电子计算机ENIAC的埃克特是一位发明的天才,一生拥有的专利达87项之多。除了ENIAC之外,他们还设计了最早的另外三种型号的计算机,即EDVAC、BINAC和UNIVAC,为计算机技术的发展建立了丰功伟绩。他和莫奇利被理所当然地首批授予计算机先驱奖。
约翰·埃克特(John Presper Eckert,Jr.)1919年4月9日生于美国的历史名城费城。他的父亲是通过艰辛劳动一步一步变成富有的不动产开发商和建筑商。埃克特从小就表现出很高的智商和创造力:8岁时在铅笔上装了一个晶体收音机;12岁时制作了一艘模型船,船底下安装一块磁铁,使船可以在水中运动,他的这个小发明在一次业余发明博览会上赢得了一等奖;15岁时他设计了一个遥控炸弹(当然不是真的有杀伤力的炸弹),把它放在学校礼堂的舞台上,在观众席中按一下按钮就能把它引爆;中学毕业前,他为当地Laurel Hill公墓设计了一个很实用的消声装置,能把火化场附近的噪音吸收掉,使在公墓中哀悼死者的人们得以清静。1937年埃克特中学毕业时,已学完了大学一年级的工程数学课程。他本想进MIT深造,并已被MIT录取,但因为他是家中的独子,他母亲舍不得他离家那么远(实际上,费城和MIT所在的剑桥同在美国东北沿海,两地相距不超过500公里),他父亲也不喜欢埃克特学理工,而动员他学商,因此骗他说,MIT的学费十分昂贵,他供不起,于是埃克特不得已就近进了宾州大学的金融学院(Warton School of Finance,University of Pennsylvania)。但埃克特对金融实在不感兴趣,因此很快就转系了,本来想转物理系,但因为物理系注册名额已满,只好进了莫尔电气工程学院(Moore School of Electrical Engineering)。进了宾州大学以后,埃克特知道MIT的学费并不像他父亲说的那样贵得供不起,自己受了骗,十分恼怒,情绪很低落,因此第一学年他的成绩很不好。随着时间的流逝,埃克特的情绪才慢慢平复过来,他的创造力也重新焕发出来。在莫尔学院期间,他发明过用紫外线测量萘蒸气的浓度的仪器,改进了压力计的电路,开发了测量金属疲劳极限的仪器,对模拟微分分析器Annie进行了改进。第二次世界大战爆发以后,他根据战争的需要又研制出了侦察磁性水雷的仪器,这个仪器能记录磁场的极微小的变化;他还利用延迟线发明了用于雷达测距的装置等。1941年他大学毕业,取得电气工程学士学位,并留校继续念研究生。
埃克特曾为未能如愿上MIT而烦恼。但宾州大学莫尔电气工程学院为他开辟了另一条走向辉煌的道路,因为莫尔学院与美国陆军军械部有着不同寻常的关系,承担着为设立在马里兰州的阿伯丁试验基地弹道研究实验室培养人才和计算弹道的任务。1942年,盟军进攻北非时遇到了一个很大的难题:由于北非的地面比马里兰州的地面软,原先的火炮射击表都不能用了,必须重新计算弹道和编制射击表。莫尔学院和阿伯丁实验室的人员利用当时的计算工具无论如何也完成不了这个任务。因为计算一个弹道平均需要750个乘法和更多的加法、减法,如果考虑各种初始条件(如方位角、炮口速度、气温和湿度、大气压等),对一种型号一种口径的火炮的完整的射击表,应该计算2000~4000个弹道。而台式计算机完成一个弹道计算要几个小时,即使用当时最强大的差分计算机,编制出一个射击表也要30天。那么多型号、那么多口径的火炮的火力表要到哪一天才能完成?因为当时美国仅有4台差分计算机,莫尔学院只有一台,另外三台中有1台在通用电气公司,2台在MIT。在这种情况下,研制比差分计算机快成千上万倍的电子计算机的任务就被当做当务之急提出来了。
1941年夏天,刚大学毕业的埃克特留校参加了一个服务于战备的电子学工程师培训班,培训班共有来自全美国的20名学员。在这里,他遇见了比他大几岁的莫奇利。莫奇利由气象学有兴趣,在研究气象预报中萌发了研制高速电子计算机的念头,但他对电子学不太熟悉。两人交换了思想以后,一拍即合,从此携起手来共同投入了研制电子计算机的事业。 莫奇利在结束培训班以后调至莫尔学院任教,1942年8月起草了一份研制电子计算机的报告:“The Use of High-Speed Vacuum Tube Devices for Calculating”,得到军械部与莫尔学院之间的联络官哥尔斯廷(H.H.Goldstine,他也是计算机先驱奖的获得者)的赏识,他让埃克特增补了一个附录,对莫奇利的方案如何实现具体化(因为莫奇利的报告比较简单,只有5页,只提出了大致方案和论证了可行性),交给军械部。1943年4月9日,也就是特24岁生日那天,经过开会讨论,军械部决定采纳这个方案,投资40万美元建造这台电子计算机,这就是ENIAC(Electronic Numerical Integrator and Computer)。(开始时,这个名称中并没有“Computer"这个词,因为当时只计划用于计算弹道方程和编制射击表。后来机器也被用来解其他问题,才加上了“Computer")。项目被简称为PX(Project X)。过了约两个月,即l943年6月5日,项目正式签约上马,合同号为W—670—ORD—4926。莫尔学院组织了50名技术人员投入项目,任命埃克特为总工程师,莫奇利为顾问。这些人除了莫奇利以外都是全力以赴的,而莫奇利则因为有教学任务而例外。其时,埃克特只有24岁,还是一个在学的硕士研究生(他的硕士学位是当年稍后才取得的,而由于研制计算机妨碍了学业,他的博士学位直到1964年才取得,是“名誉”的)。莫尔学院领导人慧眼识英雄,而且不拘一格用人才,表现出了令人叹服的胆识;而埃克特初生牛犊不怕虎,敢挑重担,其勇气和才华也着实令人钦佩。
ENIAC的研制可谓经历了千辛万苦,克服了重重困难。这不单因为它没有先例,还因为它是一个有18 000多只电子管,7 200只晶体二极管,10 000多只电容,7000多只电阻,5万多个焊点,消耗功率174kW,重约30吨,占地200 m2的庞然大物。这么多的电子元器件放在一起,尤其是电子管本身寿命就短,容易损坏,如何保证有一定的可靠运行时间就是一个极大的问题。因为在ENIAC以前,用电子管最多的仪器是雷达,但只有200只电子管,而ENIAC用了18 000多只,是这个数字的90倍!ENIAC方案在讨论时被批评得最多,认为不可行的,主要是这一点。埃克特在研制中着力解决了这个问题,他采用使电子管在“降额”情况下运行,即远低于额定功率运行,以及开机后尽量不关机,避免开、关时电流冲击等办法提高了电子管的使用寿命和工作可靠性。此外,当然还有必要的降温措施(传说ENIAC每天要用成吨冰块冷却机器)。由于机器连线总长度达到数十公里,而机房中有老鼠,如何防止老鼠咬断电线也成了一个问题。为此他们甚至做了这样一个试验:捉几只老鼠关起来锇它们一段时间,然后把各种不同的电线放进去,看它们喜欢咬哪种电线,以此决定机器中用哪种电线。
经过近3年的艰苦努力,ENIAC在1946年2月终于完成,这时战争已经结束。ENIAC的总成本为48万6千8百美元。它包括控制部分、高速存储部分、运算部分和输入输出部分,采用十进制,运算部件能通过直接计数而不是用逻辑电路进行加、减、乘、除等四则运算和开平方运算,其累加器则具有加法运算和存储I力能。输出采用IBM的穿孔卡片机,每分钟能输入125张卡片,输出100张卡片。输入输出可以重叠并具有缓冲能力。ENIAC中还有只读存储器ROM,通过ROM、累加器和程序面板一起实现程序控制,通过改变面板插接线改变程序。ENIAC中的基本电路包括“门”(逻辑与)、缓冲器(逻辑或)和触发器,这些都是后来计算机的标准元件。除了没有存储程序的功能以外,它几乎体现或包括了现代计算机的一切主要概念和成分。ENIAC主频100 kHz,加法时间0.2 ms,乘法时间2.8ms。
ENIAC制成以后,曾在莫尔学院用于数学、力学和核爆炸计算,显示了它的强大计算能力。1947年8月,ENIAC被运至阿伯丁试验基地运行,完成了许多弹道计算和原子弹的计算问题,也曾用于天气预报、宇宙线研究和风洞设计。ENIAC工作了10年之久,1955年10月退役后保存在华盛顿特区的史密逊安学会。
ENIAC的伟大意义不但在于它是世界上第一台电子数字计算机,开启了计算机时代,而且还在于它培养和造就了世界上第一批计算机专业人才。除了主持这个项目的埃克特、莫奇利和哥尔斯廷以外,参与ENIAC项目开发的绝大多数技术人员后来都成了计算机领域的专家和带头人,其中包括后来也获得计算机先驱奖的儒科夫(H.Lukoff)、伯克斯(A.W.Burks)、赫斯基(H.D.Huskey)和华裔学者杰弗里·朱(Jeffery Chu)等。但在1946年2月16日ENIAC正式对外宣布和演示以后,当时的绝大多数媒体并未意识到这是标志着一个新时代来临的重大事件,有些媒体只作了轻描淡写的报导,有些媒体甚至根本忽略了它。只有纽约时报(New York Times)看出了ENIAC对未来的某些意义,在封面上刊登了ENIAC的照片,在内页上刊登了它的两位主要发明者埃克特和莫奇利的照片,用的通栏标题是“电子计算机闪电般给出解答,可加速工程发展”(Electronic Computer Flashes Answers,May Speed Engineering)。
前面已经提到,ENIAC还不是存储程序式的计算机,编程是通过手工插接线的方式进行的。还在ENIAC研制过程中,埃克特和莫奇利已经发现了这个严重缺点,并开始研究解决这个问题。1944年1月29日,埃克特经过严密思考,写了一个有关磁盘计算机的报告,首次提出了将程序和数据都放在磁盘上的设想,可以说是最早出现的存储程序思想。但由于此时ENIAC的设计已经定型,电路的试制和安装也已基本完成,未能将此思想在ENIAC上实现。后来,1945年3月,计算技术的先驱冯·诺伊曼(John von Neumann,1903—1957)来到莫尔学院(他与奔波于阿伯丁实验室和莫尔学院之间的联络官哥尔斯廷一次在火车站上巧遇,得知ENIAC研制情况产生兴趣而与莫尔学院建立联系的),与埃克特、莫奇利、哥尔斯廷、伯克斯等人进行了两天讨论,拟定了存储程序式的电子计算机的方案。其中,存储器采用水银延迟线也是埃克特建议的。他们把这台计算机起名为EDVAC(Electronic Discrete Variable Automatic Computer)。方案经冯·诺伊曼整理后于1945年6月发表,但只署了冯·诺伊曼一个人的名字,这使埃克特与莫奇利十分恼火和不满。由于在专利权问题上与学校产生分歧,埃克特和莫奇利在ENIAC完成后不久即辞职离开了莫尔学院,因此没有参与EDVAC的实际开发。这个代号为“PY”(Project Y)的工程由于种种原因拖到1952年才完工。EDVAC只用了3 600只电子管,占地面积不足ENIAC的1/3,几乎具备了现代电子计算机的一切特征,尤其是20世纪50年代的计算机,几乎都是在EDVAC的基础上发展起来的,包括先于EDVAC问世的英国剑桥大学的EDSAC计算机。
离开莫尔学院以后,埃克特本可以加盟IBM公司,IBM甚至答应专门为埃克特建一个实验室供他开发计算机。但莫奇利说服他一起创办了自己的公司——电子控制公司ECC(Electronic Control Company),后来改名为埃克特—莫奇利计算机公司。公司设在费城一家服装店的楼上,启动资金25 000美元是向埃克特的父亲借的。1950年公司被雷明顿·兰德公司(Remington Rand公司),后称斯佩里·兰德公司,即Sperry Rand公司)兼并,因为他们不善经商,经济上出现困难。但在开发计算机上,他们仍不失为成功者。先是与诺斯罗航空公司(Northrop Aircraft Co.)签约,研制利用天体导航技术制导远程导弹(这是空军的任务)的小型计算机,名为BINAC(Binary Automatic Computer),完成于1949年8月。机器名称中的“Binary”不但指机器采用二进制,还指它采用了两个CPU,以提高机器的可靠性(这是诺斯罗公司所要求的)。但BINAC只是埃克特和莫奇利研制UNIVAC的铺路石。UNIVAC(Universal Automatic Computer)是根据联邦标准局和人口普查局的要求研制的通用计算机,1951年3月向人口普查局提交第一台UNIVAC。UNIVAC和BINAC是首批采用磁带存储数据的计算机,这为计算机进入数据处理领域奠定了基础。1952年,UNIVAC被用于预测当年美国总统选举结果。当时,民主党总统候选人史蒂文森(Adlai Stevenson)呼声很高,被舆论一致看好;但UNIVAC却预测共和党总统候选人艾森豪威尔将军(Dwight Eisenhower,1890—1969)将以438张选票当选。几乎没有一个人相信这台“聪明”的计算机的预测。而当选举结果公布,艾森豪威尔以442张选票击败了史蒂文森时,真是石破天惊,一方面把生产出这台计算机的雷明顿·兰德公司推到了前所未有的引入注目的地位,另一方面也使世人对计算机开始刮目相看,领略到了它的巨大潜力。
UNIVAC还是世界上最早的商用计算机,共生产了46台。第一台UNIVAC在使用了73 000小时后于1963年10月退役,也保存在史密逊安学会。最后一台UNIVAC则一直运行到1969年才退役,标志着第一代计算机的结束。
20世纪50年代中后期,埃克特还为速度更快、性能更好的LARC计算机的研制倾注了心血。这是加利福尼亚大学放射实验室(后改名为劳伦斯·利弗莫尔放射实验室)为解决复杂的核物理问题的需要而提出的,其速度比UNIVAC快100倍。埃克特对此很感兴趣,在招标中赢得了这个项目,由雷明顿·兰德公司的通用自动计算机部于1960年研制成功。在这个项目中,埃克特负责高层组织和管理,没有直接参与设计,但也深入研究过其中的技术问题。据儒科夫在From Bits to Dits中回忆,如果没有埃克特的激励和创新思想,LARC是不可能完成的。事实上,在1959年12月在波士顿召开的东部计算机联合会议(Eastern Joint Computer Conference)上,埃克特曾发表一篇关于LARC计算机总体结构方面的文章。
埃克特和莫奇利的公司被雷明顿·兰德公司收购后,公司多次改名,但埃克特一直在公司任职,没有离开,1989年他从Unisys退休时已70高龄,但实际上“退而不休”,仍当公司顾问。1995年6月3日他在宾夕法尼亚州格雷特温市(Gladwyne,Pennsylvania)的家中去世,享年76岁。由于他的突出贡献,他生前获得很多荣誉与奖励,除了获得IEEE的计算机先驱奖以外,还与莫奇利一起获得过Howard N.potts奖和John Scott奖。1968年,约翰逊总统授予他美国国家科学奖章(National Medal of Science)。1985年,他人选设在达拉斯的“信息处理名人堂”)Information Processing Hall of Fame)。1992年,IEEE授予他“计算机企业家奖”(Computer Entrepreneur Award)。他也是美国工程院院士。
在计算机发展的历史上,有一个战时在军队中服役的数学家的功绩是特别突出的。没有他的积极支持和出色的组织工作,莫奇利和埃克特的建议就可能“胎死腹中”,世界上第一台计算机的诞生也许会推迟若干年。战后,他又在普林斯顿大学与冯·诺伊曼合作,主持开发了早期存储程序式计算机的“样板机” IAS。以后又在IBM公司供职,为它发展成为计算机产业界的头号霸主作出了贡献。这位数学家就是哥尔斯廷。
哥尔斯廷(Herman Heine Goldstine)1913年9月13日生于美国芝加哥,在芝加哥大学取得了他的数学学士(1933年)、硕士(1934年)和博士学位(1936年)。毕业以后,留校当了一年研究助理,又当了两年讲师,之后转至密歇根大学当助理教授。太平洋战争爆发以后,歌尔斯廷应征入伍,被分派到陆军设在马里兰州阿巴丁的弹道研究实验室BRL(Ballistic Research Laboratory,Aberdeen,Md.)工作,军衔是中尉。BRL始建于1935年,起初只是阿伯丁试验场的一个分部,1938年从试验场独立出来,正式命名为BRL,直接受陆军军械部领导。BRL的首任主任是著名的武器专家佐尼格(Hermann Zornig),军事顾问是维伯伦将军(Oswald Veblen),它的科学顾问委员会阵营十分强大,包括许多领域的第一流科学家,如空气动力学家德莱顿(H.L.Dryden),卡曼(T.yon Karman),电子学家哈尔(A.W.Hull电子管的发明人),因发现原子核的磁性而荣获1944年诺贝尔奖的物 理学家拉比 (I.I.Rabi)及另一位诺贝尔奖获得者尤里(H.C.Urey),以及将博奕论成功地用于商业和军事而名噪一时的出生在匈牙利的数学家冯·诺伊曼,等等。BRL之所以受到特别重视,是因为它肩负着为美军的各种火炮计算弹道及编制射击表的任务,这对于发扬火力、克敌制胜是至关重要的。哥尔斯廷意识到自己身负重任,自然不敢怠慢。但问题接踵而来:美军进入非洲作战以后,发现由于非洲的土质和马里兰州的土质不同,根据在阿伯丁试验场试射而编制的射击表到了非洲统统失效,根据原先的射击表进行装定发射出去的炮弹根本打不中目标!为此,美国军方领导人命令BRL重新编制射击表,但事情谈何容易。哥尔斯廷接到命令以后,作了一个估算:为了编制出某一型号、某一口径的火炮的射击表,要计算2 000—4 000个弹道;而计算一个弹道平均有750个乘法,加减法就更多了。如果—个人用当时的台式计算器计算,算一个乘法要10秒钟,完成一个弹道计算要整整几个小时,一个人不吃不喝不睡也得4—5年才能编出一张完整的射击表!即使用当时最先进的计算工具——差分计算机,也要30天才能完成一张射击表(但其时BRL并无此项设备;当时美国仅有4台差分计算机,2台在MIT,1台在GE公司,1台在宾州大学莫尔学院。BRL后来才仿造了一台莫尔学院的差分计算机);作为数学家的哥尔斯廷清醒地认识到人力与智力的矛盾,计算任务和计算工具的矛盾,认识到研制一种比现有计算机快成千上万倍的新型计算机的迫切性。
BRL在建立之初就同宾夕法尼亚大学有密切联系,它每年送新分配来的100名大学毕业生到宾州大学学习差分计算机,实验室的工程技术人员也经常到宾州大学接受短期培训。一次,一位刚从宾州大学归来的同事告诉哥尔斯廷,说莫尔学院有^建议建造电子计算机,这立即引起了他的极大关注。他拜访了莫奇利,听了他的设想,当即表示支持,并让莫奇利写出书面报告。自此以后,哥尔斯廷作为BRL和莫尔学院之间的联络官,促成了ENIAC的立项和军方对ENIAC的投资,推动了ENIAC的设计与建造,使这一史无前例的巨大工程终于在1946年得以完成。客观而公正地说,在世界上第一台电子计算机ENIAC的诞生中,哥尔斯廷作为组织者和推动者是功不可没的。
情人节和电脑也有关系?虽然娱乐圈某最新事件已经从一个侧面为我们证明:具备一定的电脑DIY动手能力的人,比较不容易出乱子。不过,这起事件虽然和情人沾点边,但显然不会是我们今天文章的主题。恰恰相反,也许大多数人都不知道,世界上第一台真正意义上的电脑,是在62年前的今天,也就是1946年2月14日,在美国宾夕法尼亚大学诞生的!它的名字叫ENIAC。如此巧合,使我们怀着强烈的好奇心,来探究这台在情人节同日诞生的电脑,它的传奇历史!
1946年2月14日,世界上第一台电脑ENIAC在美国宾夕法尼亚大学诞生。第二次世界大战期间,美国军方要求宾州大学莫奇来(Mauchly)博士和他的学生爱克特(Eckert) 设计以真空管取代继电器的'电子化'电脑--ENIAC(Electronic Numerical Integrator and Calculator), 电子数字积分器与计算器), 目的是用来计算炮弹弹道。 这部机器使用了18800个真空管,长50英尺,宽30英尺, 占地1500平方英尺,重达30吨(大约是一间半的教室大,六只大象重)。它的计算速度快,每秒可从事5000次的加法运算,运作了九年之久。
此外,真空管的损耗率相当高,几乎每15分钟就可能烧掉一支真空管,操作人员须花15分钟以上的时间才能找出坏掉的管子,使用上极不方便。曾有人调侃道:只要那部机器可以连续运转五天,而没有一只真空管烧掉,发明人就要额手称庆了。
不过,在当时可是一项了不起的发明,过去需要花费12小时使用手摇计算器才能计算完成的弹道运算,ENIAC只需要区区30秒钟便可完成,计算速度提高了1440倍!
ENIAC 是世界上第一部可变程序的电子计算器。虽然是电子的,但是基本设计的雏形还是沿用机械与电机计算器的概念,只是将所有的机械组件换成真空管以换取更快的速度。 John William Mauchly (1907--1980) 和 John Presper Eckert (1919--1995) 的最主要功劳, 在于发现并且克服一个接着一个前所未见的技术上困难。因此我们可以说,ENIAC 代表着从机械到电子的量变;至于根本设计的质变呢,则是在 von Neumann 加入了设计工作之后,才一起合作完成的。我们今天看到的电子计算器,是质变后的结果。所以,ENIAC 和今日的计算机的许多不同,也就不足为奇了。以下,我们要介绍一些 ENIAC 和今日计算器的基本不同处。了解这些历史,也许有助于了解今日计算机的设计概念。
ENIAC 的设计与实作计划,当初是向炮兵指挥部申请的经费 (最后的总花费是 1940 年代的五十万美元),所以最初的目的是做弹道计算。但是 ENIAC 是可变程序的计算器,例如 1949 年 9月, ENIAC 在弹道实验室花了 70 小时计算圆周率 pi 到 2,037 位。他们用了麦金算法:
1 1
pi = 16 arctan(---) - 4 acrtan(---)
5 239
虽然以今天的眼光看来,ENIAC 的设计和速度都很原始。但是它的确有用。它在 1947 年 7 月 29 日进入炮指部服役之后,一直工作到 1955 年 10 月 2 日的半夜 11:45 才关机,走入历史。之后,ENIAC 就被解体,分别送到几个博物馆收藏。
若要谈固定程序 (只能做几种固定的工作,例如 Pascal 加法器) 的电子计算器,则要推给英国的 Colossus。它在 1943 就能运作,不过当时是最高机密,一般相信就连美国政府都不知道。它的唯一工作就是:破解纳粹通讯密码。左边的照片,就是神秘安装在地道中的 Colossus。
真空管计算器的想法,最被人怀疑的问题之一,就是如何保持稳定运转。 ENIAC 需要 17468 根真空管,那个时代的真空管不但昂贵而且不稳定。 Eckert 的创造性贡献之一,是严格控制电流和电压在一个小范围内,以降低真空管的损坏率,并连接小灯泡在面板上,以便快速找出不良的管子。这种一大片灯泡在面板上闪烁的情景,造成动人的高科技印象,后来我们在电影中看到的计算机,多半都是这副模样。尽管后来的计算机改用晶体管或集成电路,不再需要那些小灯泡来帮助维修,电影里面还是这样演。 Eckert 每说到这件事就会一直笑个不停。
电脑科技发展到今天,不论是ENIAC和Colossus都早已被送进了博物馆。科学家们努力推动科技进步,使过去只能在军方秘密使用的高端设备,飞入了寻常百姓家,成为我们生活中不可或缺的一部分。在这个特别的日子里,让我们一起回顾ENIAC的过去,表达对科学家们的崇高敬意!
在过去很长一段时间,笔者从读别人的书中以为,世界上的第一台计算机诞生在宾西法尼亚大学(University of Pennsylvania),它被称为ENIAC。后来陆续获知,此事并不尽然,还有争议。那么究竟谁才是现代计算机的真正发明人呢?今年3月,依俄华州立大学(Iowa State University)计算机系系主任张可昭教授邀请笔者访问该校,顺便参观了世界上第一台计算机的故乡——该校物理系。物理系相关的史料展览,加之可昭教授如数家珍般地讲解,重现65年前发生的故事,证据确凿,且有美国法院判决,方使笔者心中疑团顿释。我国内的朋友们竟无一人知道此事真相,不少作者在他们的专著或教材中,仍然把ENIAC当成世界上第一台计算机写进他们的书中,以讹传讹。因此我想写这篇小文介绍些情况。
上个世纪30年代,依俄华州立大学(Iowa State University)物理系有位保加利亚裔副教授名叫约翰. 文森特. 阿坦那索夫(John Vincent Atanasoff) ,为学生讲授物理和数学物理方法方面的课程。在求解线性偏微分方程组时,他的学生不得不面对繁杂的计算,要消耗大量的时间。阿坦那索夫试着运用模拟和数字的方法来帮助他的学生们处理那些繁杂的计算问题。从1935年开始探索运用数字电子技术进行计算工作,他工作得非常投入,常常废寝忘食,冥思苦想。关于当时他如何专注于这项工作,阿坦那索夫自己有一段非常有趣的描写。“我反复尝试寻找正确思路,却始终未得其解。这样子地工作好几个月,一天傍晚我又回到我的办公室内工作,仍然没有头绪,感到极度沮丧。于是我钻进汽车开上了路。我把车开得很快并尽量专注于驾驶,这样一来我才可以把我那些问题抛在脑后。可是等我真正清醒过来时发现,我已经跨过密西西比河,开出来189英里,到了依利诺依州。当时在依俄华州是禁酒的,可依利诺依州却不然。我依灯光寻摸,终于找到一家小酒馆,进去叫了杯酒喝了起来。我觉得头脑非常清晰,突然明白了我该怎样思考问题。于是立刻工作起来,在那儿一口气干了三个钟头,然后才慢慢地把车开回家。那个晚上,在依利诺依州一个路边小酒馆里,我做出了四个决定:采用电能与电子元件,在当时就是电子真空管;采用二进位制,而非通常的十进位制;采用电容器作为存储器,可再生而且避免错误;进行直接的逻辑运算,而非通常的数字算术。”
阿坦那索夫的设计目标是能够解含有29个未知数的线性方程组一台机器,经过两年反复研究试验,思路越来越清晰。他还需要一位聪明并且懂得机械、又有动手能力的人共同完成这项发明,于是他找到当时物理系正在读硕士学位的研究生克利福德.贝里(Clifford Berry)。两个人终于在1939年造出来了一台完整的样机,证明了他们的概念是正确并且是可以实现的。人们把这台样机称为ABC,代表的意思是Atanasoff-Berry Computer,包含他们两人名字的计算机。这台计算机是电子与电器的结合,电路系统中装有300个电子真空管执行数字计算与逻辑运算。机器上装有两个记忆鼓,使用电容器来进行数值存储,以电量表示数值。数据输入采用打孔读卡,采用二进位制。ABC的设计中已经包含了现代计算机中四个最重要的基本概念。
令人惋惜的是,阿坦那索夫本人或许没有意识到这是一项将要影响整个人类社会的重大发明,以及它将会给他带来多大的经济利益的可能性,因此没有为自己申请专利保护。他在1942年应征去海军服务,就更无暇顾及此事了。依俄华州立大学校方也并没把ABC的发明当一回事,非但没有帮助阿坦那索夫完成申请专利,还命系里的研究生拆掉了ABC,因为在二次大战期间,计算机ABC上的那300个真空电子管是紧缺用品。学校后来明白了,那是一个无法挽回的绝顶错误。如今放在依俄华州立大学ABC实验室供人参观的只能是后来按照当时设计的复制品了。
ABC 的设计始于1935年并在1939年完成。它在时间上要早于其它任何我们现在所知道的有关电子计算机的设计方案,例如MIT的布什(Bush )和克劳福德(Crawford)的设计;柏林的崔司(Zuse)与史莱尔(Schreier)设计,英国的外交部的设计,RCA的拉其曼(Rajchman)的设计,以及宾西法尼亚大学的约翰. 毛克利(John Mauchley)与普莱思伯. 艾克特(Presper Eckert)设计与制造的 ENIAC。可是长期以来,人们都误以为世界上的第一台计算机是1945年宾西法尼亚大学设计制造的ENIACA,而它的主要设计制造者毛克利也是这样自称,并且申请获得了美国专利。上面我曾提到,上个世纪30年代晚于ABC的其它若干计算机的设计制造方案。事实上,除去ENIAC 之外,应该说都是独立发明的。但ENIAC却不然,美国明尼苏达(Minnesota)地区法院经过数年调查,最终发现它的设计制造者是深受ABC的影响,这台机器根本不能作为一项独立的发明。1973年美国明尼苏达地区法院作出正式宣判,吊销了毛克利的专利,并肯定了阿坦那索夫才是真正的现代计算机的发明人。这里面还有一段故事。
在1940 年AAAS, 即美国科学促进会的一次年会上,宾西法尼亚大学的教授毛克利见到了阿坦那索夫。阿坦那索夫向他谈到关于自己设计制造的ABC。毛克利表现出极大的兴趣,并在次年来到依俄华州的小城阿木思(AMES),依俄华州立大学所在地。他一住五天,仔细了解ABC的设计细节和内部工作原理。回到宾西法尼亚大学后,他决定设计一台机器,宣称用它来解决天气预报问题,而这一计划也立刻得到国防部支持。1946年他与艾克特终于造出来称为ENIAC的机器,并且获得了发明专利,以及由此而带给他们的巨大经济利益。毛克利讳莫如深,始终不承认他曾经向阿坦那索夫请教过ABC的设计原理一事,甚至在被问到是否在1941年曾去阿木思造访阿坦那索夫并且一住就是五天这件事,他也矢口否认,说“不记得了”。直至到1973年,经历了美国联邦法庭最长时间的调查之后,真相终于大白,推翻了剽窃者毛克利的专利,并且判决说:“现代计算机的基本想法是来自约翰. 文森特. 阿坦那索夫。”
约翰·文森特·阿坦那索夫小传
阿坦那索夫于1903年10月4日出生在纽约州的哈密尔顿。父亲是来自保加利亚的移民,母亲是位小学数学老师,阿坦那索夫是家中九个子女中的长子。他1925年从佛罗里达大学毕业,获电子工程学士学位。1926年在依俄华州立大学获数学硕士学位。1930年在威斯康辛大学或理论物理博士学位。他自幼聪明好学,在大学本科期间,所有主科成绩都是A,而在研究生期间,则是全A生。
在1936年,他受聘成为依俄华州立大学的数学于物理副教授。1942-1948期间,应征去美国海军奥尔德南斯实验室服务。后来又在佛基尼亚美国陆军蒙娄基地出任首席科学家。之后他转向工业界发展,创办数家公司科学技术咨询公司,如The Ordnance Engineering Corp.,Cybernetics, Inc.,Stewart-Warner Corp. ,等。阿坦那索夫在1995年6月15日故去。
图说编辑本段回目录
Massive circuits and wiring units covered the walls.
One of many plug boards…
President Truman get a view of the ENIAC
J. Presper Eckert (on left) with members of the U.S. Army and others in front of ENIAC.
ENIAC Vacuum Tubes (1946)
http://bak2.beareyes.com.cn/2/lib/200802/15/20080215015.htm
http://blog.zol.com.cn/675/article_674974.html