电工技术和无线电技术的发展是电子计算机诞生的前提。20世纪初,为了提高供电系统的安全性,在电工技术中已普遍使用继电器等器件对电气设备进行保护控制。20世纪30年代,无线电广播已遍布全球,这就要求电子电路、元器件生产技术提高到新水平。而第二次世界大战期间,出于战争需要快速计算炮弹弹道轨迹,则是促使计算机诞生的直接原因。
1938年,一位在柏林飞机公司担任统计工作的德国人——楚泽出于“想偷懒”的动机,设计制造了一台名为“Z1”的由程序控制的计算机,代替人工完成部分统计工作。经过3年的试用和改进,于1941年他设计并制造出一台由电子管与机械继电器控制的计算机,命名为“Z3”,其计算速度有所提高。随后,在欧洲陆续设计出一些机械计算机,代替人工计算。
ENIAC(电子数字积分计算机的简称,英文全称为Electronic Numerical Integrator and Computer)是世界上第一台电子计算机,它于1946年2月15日在美国宣告诞生,如图1-19所示。
图1-19 世界上第一台电子计算机ENIAC
第二次世界大战期间,宾夕法尼亚大学莫尔电机工程学院的莫希利(John Mauchly,见图1-20)于1942年提出了试制第一台电子计算机的初始设想——“高速电子管计算装置的使用”,希望用电子管代替部分继电器以提高机器的计算速度。
图1-20 莫希利博士
美国陆军军械部在马里兰州的阿伯丁设立了“弹道研究实验室”。美国军方要求该实验室每天为陆军炮弹部队提供6张火力表以便对导弹的研制进行技术鉴定。每张火力表都要计算许多条弹道,而每条弹道的数学模型是一组复杂的非线性方程。这些方程组没有办法求出准确解,只能用数值方法近似地进行计算。按当时的计算工具,实验室即使雇用多名计算员加班加点工作也要很长时间才能算完一张火力表。在战争年代,这么慢的速度怎么能行呢?
美国军方得知这一情况,马上拨专款大力支持,成立了一个以莫希利、埃克特(Eckert)为首的研制小组开始研制工作。时任弹道研究所顾问、正在参加美国第一颗原子弹研制工作的数学家美籍匈牙利人冯·诺依曼(J. Nron Neumann,1903—1957,见图1-21)带着原子弹研制过程中遇到的大量计算问题,在研制过程中期加入了研制小组,他对计算机的许多关键性问题的解决作出了重要贡献,从而保证了计算机的顺利问世。
图1-21 冯·诺依曼
ENIAC体积庞大,耗电惊人。它使用了1.8万多个电子管和1500多个继电器等元件,占地170m 2 ,质量达30t,耗电140kW,运算速度不过5000次/s加、减法运算(现在的超级计算机的速度最快每秒运算达数万亿次),但它比当时已有的计算装置要快1000倍,而且还有按事先编好的程序自动执行算术运算、逻辑运算和存储数据的功能。ENIAC宣告了一个新时代的开始。从此计算机科学的大门被打开。
冯·诺依曼是20世纪最伟大的科学家之一。他出生于匈牙利首都布达佩斯的一个犹太人家庭。他6岁能心算8位数除法,8岁学会微积分,12岁读懂了函数论。通过刻苦学习,在17岁那年,他发表了第一篇数学论文,不久后又掌握7种语言,还在最新数学分支——集合论、泛函分析等理论研究中取得突破性进展。22岁时,他在瑞士苏黎世联邦工业大学化学专业毕业。一年之后,他摘取布达佩斯大学的数学博士学位,转而研究物理,为量子力学研究数学模型,他在理论物理学领域占据了突出的地位。1933年,他与爱因斯坦一起被聘为普林斯顿大学高级研究院的第一批终身教授。
“电子计算机之父”的桂冠,被戴在数学家冯·诺依曼头上,而不是ENIAC的两位实际研究者,这是因为冯·诺依曼提出了现代计算机的体系结构。在ENIAC尚未投入运行前,冯·诺依曼就看出这台机器致命的缺陷,其主要弊端是程序与计算机两者分离。程序指令存放在机器的外部电路里,需要计算某个题目,必须首先用人工接通数百条线路,需要几十人干好几天之后,才可进行几分钟的运算。
1945年6月,冯·诺依曼与戈德斯坦、勃克斯等人联名发表了一篇长达101页纸的报告,即计算机史上著名的“101页报告”,报告明确规定了计算机的五大部件:计算器、逻辑控制装置、存储器、输入装置和输出装置,并用二进制替代十进制运算。EDVAC方案的革命意义在于“存储程序”,以便计算机自动依次执行指令。人们后来把这种“存储程序”体系结构的机器统称为“诺依曼机”。由于种种原因,莫尔小组发生令人痛惜的分裂,EDVAC机器无法被立即研制。1946年6月,冯·诺依曼和戈德斯坦、勃克斯回到普林斯顿大学高级研究院,先期完成了另一台ISA电子计算机(ISA是高级研究院的英文缩写),普林斯顿大学也成为电子计算机的研究中心。直到1951年,在极端保密的情况下,冯·诺依曼主持的EDVAC计算机才宣告完成,它不仅可应用于科学计算,还可用于信息检索等领域,主要缘于“存储程序”的威力。
英国数学家阿兰·图灵( Alan Turing,1912—1954,见图1-22)生于伦敦,他是计算机科学的先驱者、破译纳粹密码的关键人物。1936年,他的研究成果——数理逻辑和计算理论为计算机的诞生奠定了基础;许多人工智能的重要方法也源自这位伟大的科学家。他对计算机的另一重要贡献在于他提出的有限状态自动机,也就是图灵机的概念。对于人工智能而言,他提出了重要的衡量标准“图灵测试”,如果有机器能够通过图灵测试,那它就是一个完全意义上的智能机,和人没有区别了。阿兰·图灵的杰出贡献使他成为计算机界的第一人,现在人们为了纪念这位伟大的科学家将计算机界的最高奖定名为“图灵奖”。
图1-22 阿兰·图灵
1952年年底,美国国际商用机器公司(IBM)的第一台IBM 701在纽约问世。
1946—1958年生产的第一代计算机使用真空电子管,其体积庞大,耗电量惊人。
1959—1963年生产的第二代计算机使用了晶体管。1959年,美国菲尔克公司研制的第一台晶体管计算机体积小、质量轻、耗电省,而运算速度提高到每秒几十万次。
第一代、第二代计算机主要使用在军事、科研、政府机关等机构,用于火箭、卫星、飞船等设计与发射、气象预报、飞机制造、航空业务管理等领域。
1964—1970年生产的第三代计算机使用了集成电路代替分立元件晶体管。1964年,美国IBM公司研制的第一台通用集成电路3690计算机,其运算速度达到每秒千万次,成本大规模降低,计算机开始进入普及阶段。
1971年至今生产的第四代计算机使用了大规模与超大规模集成电路元件。1980年全球拥有的微型计算机超过1亿台。计算机开始进入社会化、个人化阶段。机关、学校、企业及个人开始购买并使用计算机。
当前计算机的发展趋势是微型化、巨型化、网络化和智能化。未来计算机的发展趋势有高速超导计算机、光计算机、生物计算机、DNA计算机等更快速、智能化程度更高的计算机。
图1-23 阿塔纳索夫
图1-24 克利福特·贝瑞
到底是谁发明了世界上“第一台电子计算机”也存在争议。据报道,美国爱荷华州立大学约翰·文森特·阿塔纳索夫(John Vincent Atanasoff,见图1-23)教授和他指导的研究生克利福特·贝瑞(Clifford Berry,见图1-24)先生在1937—1941年开发的“阿塔纳索夫-贝瑞计算机(Atanasoff-Berry Computer, ABC)”才是世界上第一台电子计算机。20世纪30年代,保加利亚裔的阿塔纳索夫在爱荷华州立大学物理系任副教授,为学生讲授物理和数学物理方法等课程。在求解线性偏微分方程组时,他的学生不得不面对繁杂的计算,那是一项要消耗大量时间的枯燥工作。阿塔纳索夫于是开拓新的思路,尝试运用模拟和数字的方法来帮助他的学生们处理那些繁杂的计算问题。阿塔纳索夫和克利福特·贝瑞两人经过了无数次挫折与失败后,终于在1939年造出来了一台完整的样机,证明了他们的设想是正确而可行的。人们把这台样机称为ABC,代表的是包含他们两人名字的计算机。这台计算机是电子与电器的结合,电路系统中装有300个电子真空管执行数字计算与逻辑运算,机器使用电容器来进行数值存储,数据输入采用打孔读卡的方法,还采用了二进位制。 ABC的设计中已经包含了现代计算机中4个最重要的基本概念,它是一台真正现代意义上的电子计算机,这是不容置疑的。1973年,经美国法院最终裁决,阿塔纳索夫最终被认为是世界上电子计算机的真正发明人。阿塔纳索夫-贝瑞计算机原机(见图1-25)及其复原机(见图1-26)至今还存列在爱荷华州立大学的展览馆里。
图1-25 阿塔纳索夫-贝瑞计算机原机
图1-26 阿塔纳索夫-贝瑞计算机复原机