书城科普人类的创举(科学知识大课堂)
14335600000022

第22章 发明简史(21)

但是,这些都远不是现代意义上的“电脑”。尽管电子管早在二战前30多年就已经问世,但由于没能和计算技术联姻,便也不能孕育真正的电脑。只是由二战中迫在眉睫的弹道计算的需要,才迫使科学家们将二者结合起来,最终导致了——电脑的诞生在第二次世界大战中,如何击落法西斯侵略者的飞机和各种高速的飞弹成了军事科学的首要议题,弹道计算问题成了关键环节。1935年~1938年间,美国陆军军械部建立了“弹道研究实验室”,招聘了许多著名科学家,如空气动力学家德莱顿、卡曼,诺贝尔奖获得者拉比、尤里,电子管发明家哈尔,计算机理论奠基人冯·诺伊曼等。这个实验室还派送100名大学毕业生到宾夕法尼亚大学学习差分计算机。这个当时世界上最大的计算中心,集中了各种先进的计算工具,但都无法解决空前复杂的弹道计算问题。比如,要求解一个描绘弹道曲线的二阶微分方程,就是分100组来计算,要描绘出它的全部曲线,至少要运算7850000道乘法和数目更多的加法和减法,使用当时最快的计算机也得花上半年时间。如此这般,法西斯的炮弹早已把人类毁灭了,一个炮弹轨迹还未计算出来。但是,在关键时刻,人类自己的智慧总是能够拯救自己。

1941年,美国人阿丹纳索夫构思了一种电子数学差分分析器,引起了莫尔电气工程学院莫利奇教授的极大兴趣。1943年4月,莫利奇和伊克特·布赖勒一起写出了《电子差分分析器》的报告,递交弹道研究实验室。同年6月5日,美联邦政府与宾夕法尼亚大学签订了一个合同,并投入10万美元经费,莫利奇负责逻辑设计,伊克特负责电路设计。戈德斯坦协助,于1944年夏天,完成了电子计数器、累加器的设计和制造及基本逻辑电路的设计,到1945年底,世界上第一台电子计算机——“数字集成器和计算机”ENIAC(Electronic Number Integrator and Computer,译为埃尼阿克)就诞生了。这台电子计算机用了18000个电子管,占地1500平方英尺,重30吨,功率150千瓦,运算速度每秒5000次。现在看来,这第一个“电脑”真是笨重不堪,但在人类智力解放的道路上树立了一个崭新的里程碑,“电脑”从此开始了真正属于自己的历史。

这台ENIAC可谓第一代电子计算机中的长兄,不仅长得块头大,相貌也丑陋,而且有一个非常关键的缺陷,就是不能储存程序。要实现程度的转换,需要几天时间,因为它的程序编制仅仅是靠转动旋钮,插入或拔出电缆来进行的。看来,这个电“脑”真有点先天不足。

1945年3月,还在紧张安装ENIAC的时候,诺伊曼就与莫利奇和伊克特等人会谈了两天,初步拟定了存储程序电子计算机EDVAC(Electronic Decrete Variable Automatic Computer——电子分离变量自动计算机)的方案。于是,他们在1947年开始研制,到1951年初宣告制成。这台EDVAC包括一个快速存取存储器、一个中央算术单元、一个中央控制单元、输入和输出设备,总共使用了5900个电子管和1200个半导体二极管。20世纪50年代的存储程序计算机基本上都是在它的基础上发展起来的。

实际上,在1946年11月,莫尔电气工程学院开会讨论EDVAC施工方案时,英国剑桥大学的威尔克斯教授也参加了会议,并带回了EDVAC方案,很快研制出EDSAC机(Electronic Delay Storage Automative Computer,电子延时存储器自动计算机),这是另一台最早的存储程序计算机,并早于EDVAC机之前诞生。

但是,最引人注目的第一代电子计算机,还是麻省理工学院数字计算机实验室研制的“旋风”计算机。“布朗伺服机构实验室”的领导弗里斯特受ENIAC工程的影响,于1945年决定设计数字计算机。当莫尔电气工程学院的EDVAC机方案公开后,弗里斯特就进一步决定研究存储程序电子计算机。当1946年英国曼彻斯特大学教授威廉斯发明阴极射线存储管即“威廉斯管”的消息一传到美国,弗里斯特就用这一技术实现计算机的内存储。1947年初,完成了全套逻辑设计。1949年,对存储器进行实验。1950年初,“旋风”机宣告制成,共使用了5000个真空管和11000个半导体二极管。这台电脑一诞生,立即受到美国国防部的高度重视。到1953年,“旋风”机的存储器已改用磁芯材料,大大加快了运算速度,信息存储量也大为增加。

在1945年底~1950年间,冯·诺伊曼在普林斯顿大学领导研制了IAS计算机,于1950年制成,并于1951年夏天创造了连续工作60天而不出故障的先例。

在同一时期,较为著名的第一代电子计算机还有很多。如,莱明顿—兰德公司(其前身是伊克特—莫利奇计算机公司)于1951年生产的万能自动计算机(UNIVAC),由于成功地预测了1952年美国总统选举,而使该公司获得了极大的声誉。又如,由美国国家标准局数字分析研究所研制的“国家标准局西方自动计算机”(SWAC),又称“西方机”,由于它成功地把数学中著名的麦森尼数中的P序列研究推进到一个崭新的水平,从而成为当时一条爆炸性新闻。

现在粗略地看看计算机软件的早期历史。“软件”概念和存储程序的概念是一对孪生兄弟。早在1946年,戈德斯坦和诺伊曼发明了“流程图”,也就是最早的程序语言。但在1950年以前,由0和1两种状态的特定组合而形成的程序语言还是非常难记、难写、难改,从而极大地限制了计算机的推广。1952年,有人提出一种叫“短码”的代数语言,用于UNIVAC机。1953年,国际商业机器公司提出了“快速编码系统”。1956年~1957年间又创造了FORTRAN计算机高级语言。1959年,美国计算机协会和德国应用数学协会又共同研制了ALGOL算法语言。1960年,美国海军中尉霍伯(女)发明了计算机商用语言COBOL。计算机因此而得到迅速推广,到60年代初,计算机也被应用到商业、制造业、材料工业、教育、医疗、通讯和交通等多个领域。直到1968年,才出现了“软件工程”这个名词。

总起来看,这第一代电脑以电子管为逻辑元件,体积大、消耗能量多、运算速度慢、存储容量小、可靠性差,而且价格昂贵。但它作为信息革命的前驱,所采用的二进制和程序存储等基本思想,奠定了现代电子计算机的技术基础。

计算机的飞速发展

由于信息革命中新技术群的突飞猛进,尤其是人造卫星工程、工业自动化等方面的迅速发展,推动着计算机沿着多功能和高速度的方向演进。这个时候集成电路的诞生为计算机工业开辟了广阔的前景。仅仅在10年之内,就完成了第二代向第三代的转换,实现了由分离半导体元件的时代向集成电路时代的飞跃。大型计算机和小型计算机的发展是这个时期计算机工业的显著特点。

数据设备公司于1956年研制出1605计算机,这是第一台晶体计算机。随后,万能机公司的LARC计算机和飞歌公司的TRANSAC计算机也相继面世。真正具有历史意义的第二代计算机,要数国际商业机器公司于60年代初制造的STRECTH计算机,它含有15万只晶体三极管,速度比第一代的IBM704快75倍。这台大型晶体管计算机自1961年被运到洛斯阿莫斯科学实验室之后,整整运行了10年。1971年6月21日,这个实验室还专门为它举行了“退休”仪式。

1963年,当小汤姆斯·沃森带着国际商业机器公司(简称IBM)用半导体技术研制出的高档全晶体管7090型计算机时,在这以前的一切计算机都变得陈旧了。这个公司1964年推出的360系列的混合固体逻辑电路计算机,被沃森称为“公司历史上宣布的最重要的产品”,为它投资5亿美元(二战中研制原子弹的曼哈顿工程才投资20亿美元)。1996年,这种计算机正式投入商品生产,公司的资本积累迅速增加到45亿美元。同时,这家公司还发展了小型数据处理机IBM1400系统。1964年8月,美国数字设备公司还研制出了速度为每秒300万次的晶体管大型机CDC6600。

美国Burroughs公司最早提出了“虚拟存储”的概念,并在1963年制造的B5000型计算机配备了“虚拟存储器”。1966年,这个公司宣布制造出第三代电子计算机B2500和B3500。实际上,360系列计算机才是第三代计算机的著名代表,因为它有完善的软件系统,具有通用化、系列化和标准化的特点,对60年代后期的计算机技术的发展产生了很大影响。而在1967年,Burroughs公司开始研制伊利诺斯大学设计的ILLIAC-4计算机,这一大型科研用计算机具有64个并行处理单元,主存储器容量达1兆位,每秒钟可操作两亿个指令。

与此同时,计算机时分服务也于60年代初产生,并由美国通用电气公司在1965年正式开放。1966年,国际商业机器公司用360系列的125型计算机为80个用户提供时分服务。之后,这项服务工作得到了广泛的发展。

大型机固然具备许多优点,但小型机也不甘示弱。自1965年美国数字设备公司制成了12位的小型计算机PDP-8以后,小型机便如雨后春笋般研制出来。1969年,这个公司生产出字长36位的PDP-10计算机。1970年,又造出更新的PDP-11型处理机。由于这种机器适应一般数据处理和工业控制的需要,使用方便可靠,价格又较低廉,推广速度每年约递增20%。

美国计算机行业的后起之秀——人称“超新星”的通用数据公司,成立于1968年4月,不到半年时间就推出“新星”计算机,它突破传统小型机的框架,存储器可容32000个字。27个月后,又推出“超新星”计算机,运算速度超过“新星”15倍。其中的超新星SC计算机是最早使用半导体存储器的小型机。

在这期间,计算机的标准程序语言也得到较快发展。国际商业机器公司在1962年提出APL语言,1965年又编制出通用性更强的PL/1语言。1964年,达特茅茨学院的凯梅尼和克兹创制了BASIC语言,即我们都较熟悉的“初学者通用符号指令码”。

非常值得一提的是,在计算机由小型化向微型化过渡中起到决定性作用的一项重大技术发明——集成电路的产生及其向大规模和超大规模的演进。早在1952年5月,英国皇家雷达公司的工程师杜麦就提出了集成电路的概念,但直到1957年才实施这一方案,同年9月展出了集成电路的金属模型。而集成电路的真正发明人则是美国得克萨斯仪器公司的基尔比和仙童公司的诺伊斯。作为一个电厂经理的儿子,基尔比从小酷爱无线电,高考时因三分之差未能进入梦寐以求的麻省理工学院,只得“屈就”伊利诺斯大学。1952年,他开始参与美国防部的小型化计划,1958年,进入得克萨斯仪器公司。这年7月,他趁该公司职员休假时,在空空荡荡的厂房里尽情地动用一切设备,反复试验,寻找元件微型化的突破口,终于想出了一种方案,于1959年初做出了第一块集成电路。