实际上,在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年初做出了第一块集成电路。
但是,通过集成电路技术的捷径,是扩散技术、外延技术、半导体平面技术及氧化、光刻蚀和金属蒸发沉淀技术等,而当时只有仙童公司最先创造了这套技术。几乎与基尔比同时,仙童公司的诺伊斯也构思了相似的制造方案。这位麻省理工学院的电子物理学博士在肖克莱晶体管厂刻苦钻研18个月后,自己独立创办了“仙童公司”(1957年),并将平面技术集大成者霍厄尼吸引到自己的麾下。基尔比的成功促使他们愈益紧张地进行试制,终于在1959年7月30日,向美国专利局申请了专利,并于1961年4月赶在基尔比之前三年获得专利。得克萨斯仪器公司和仙童公司虽进行了专利权的争讼,但最终还是被认为是一项“同时发明”,基尔比和诺伊斯同时获得富兰克林学会巴兰丁奖章。
集成电路的产生开辟了电子计算机微型化发展的广阔前景。到20世纪60年代末,由双极集成电路到单极集成电路的演化,为20世纪70年代初电子表、计算器、半导体存储器和微处理机的发展奠定了最重要的基础。1964年,仙童公司的莫尔曾预言,集成电路上的晶体管数目将逐年翻番。到1971年,集成电路的实际集成度证明了这一预言。到1978年,在64K动态存储器上,每个硅片可有135000个元件,虽然出现了不符合莫尔预言的情况,但事实仍表明,集成电路的最小体积可以用物理学能够探测到的最小空间作为它的极限。尽管微小硅片的集成电路确有一个最终极限,但是人们还是从遗传工程学中找到了“分子集成电路”,也就是说,在一个生物大分子上,可以造成目前还难以想象的集成度极高的集成电路。
之后,集成电路的规模由“大”到“超大”,电脑的体积由“小”到“超小”(“微”),便成为电脑更新换代的关键和标志。