二、斯蒂比北和继电器计算机
在 20 世纪 30 年代中叶,至少有三个利用继电器的功能来构思和研制计算装置。他们就是德国的楚泽,纽约的斯蒂比兹和麻省理工学院的艾肯。
尽管他们的研制工作,是在各自的环境中相互独立地进行的,所研制的机器,在许多方面都有很大的差别。但是有趣的是,他们三人所设计的这些机器,使用的元件和性能等方面有许多类似之处。每一种机器都是由控制的二进制继电器,和一些进行数的存贮和运算以及程序输入的穿孔带机电设备组成。而且每一种机器都能完成一系列的四则运算,还能按照计算的需要自动存贮和取出中间结果。
他们的研究成果,实现了巴贝奇建造分析机的理想。而使这个理想成为现实的条件,就是继电器技术的运用。
继电器是一种电磁装置,它利用一个电路的电流变化,去对另一个(继电器)电路的电流进行遥控或自动控制。利用它能使一个回路保持接通,而使其他回路断开,因此它是一种“开关装置”。
最初,继电器用来对电报收报机的电路进行控制,后来又用于电话中继接线。当电流切断,电磁消失,继电器就“闭合”,一个闭合的断电器就能让一个电话接通;而一个“断工”的继电器,就不能接通电话。
斯蒂比兹对继电器具有的逻辑功能很感兴趣。他发现继电器的闭合或断开的“开关”操作,与二进制数之间有平行的对应关系,于是想到,可以用继电器的上述“开关”操作来实现二进制数的加减运算。而一个用继电器装配的机器如果能进行加减,那么它就能进行乘除,这是因为乘或除,能分别转化为一系列的加或减,斯蒂比兹认为这非常有趣,于是决定用继电器来试装计算装置。
在早期的机电式计算机中,继电器用来作为一种开关装置。但继电器的开关速度大约为 1/100 秒,使计算机的速度受到很大的限制。后来用电子管取代继电器,所制成的就是电子管计算机。
1937 年,在贝尔实验室工作的数学家斯蒂比兹,制造出一种复数计算机,称为 K 型计算机。由于这台机器在厨房的餐桌上装配起来的,而在英语中,“厨房”的第一个字母为 K,因此斯蒂比兹的妻子把这项小发明称为 K 型机。斯蒂比兹把 K 型机中的继电器与电池接通后,发现确实能进行二进制的加法。不过在当地他本人并没有意识到他的这一项发明居然是促使计算机时代到来的前奏。
可是,当斯蒂比兹把自己研制的 K 型机带到贝尔实验室向同事们演示时,所得到的却是同事们的暗自发笑。当他提出整个计算机都能用继电器制造出来的想法时。他的同事认为这个主张是荒诞不经的,对他使用古老的、令人费解的二进制表示法来搞这一项发明,觉得简直不可思议。而且认为, 即使它能制造出来,就需要几百个继电器,这与当时实验室中所用的台式计算机相比,既庞大又昂贵,毫无可取之处。
但是斯蒂比兹本人并不认为自己的想法是荒谬的。后来他又花了几个星
期来进行周密的考虑和改进,从而使他的 K 型机更加完善了。
但是,促使斯蒂比兹的发明成为正式产品的推动力,是贝尔电话公司本身对“复数”进行大量、复杂、准确计算的需要。
在 30 年代的贝尔实验室,为了满足电路计算的需要,配备了满房间的女计算员,她们成天用台式计算机来计算复数的乘积和商。两个复数相乘,大约需要进行 6 次四则运算,而两个复数相除则大约需要 12 次运算。而且每次运算都需要暂时存贮许多中间结果,麻烦得很。
在 1938 年初,计算任务越来越繁重,贝尔实验室的工作人员提议,把两个台式计算机用机械方式连接在一起,来简化复数的计算。在理论上,这样确实能节省计算员的时间和劳动,但这样组合成的大型计算机,不仅难于制造,操作起来也不容易,正是在这种情况下,人们才想起了斯蒂比兹设计的用继电器控制的 K 型机。
1938 年夏天,斯蒂比兹所在数学室的主管试探地向他询问,他设计的那种小巧的继电器计算机能否进行复数的运算?斯蒂比兹肯定地回答说,可以作复数运算,并说他已经对这种计算机的大部分电路进行过研究。
斯蒂比兹很快就采用标准继电器和一些通用元件,为这种能进行复数运算的计算机画出了电路图。他的初步设想是别出心裁,与众不同的。一位电路专家看了他的电路图后,肯定它们确实是有应用价值的。于是这位电路专家对图纸作了一些必要的修改,研制工作很快就于 1938 年 9 月正式开始了。经过一年的努力,这一台后来称为贝尔实验室 M—1 型机,在 1939 年 9 月制造成功。
这台计算机开始只能作复数的乘除,因为这两种运算最费时间,而且这种计算机本来就是为了处理这种运算而特意制造的。用 M—1 型机进行一次复数乘法大约只要花 45 秒钟的时间。
贝尔实验室计算机小组的人员在实践中发现,用计算机进行复数乘除果然十分方便,于是就决定立即对 M—1 型机加以改进,因为他们还想利用计算机进行复数的加减。经过两天的艰苦努力,他们终于如愿以偿,这样,M 型计算机就能进行复数的四则运算了。
1940 年 9 月,美国数学会的一次地区性会议在新罕布夏州汉诺威的达特默思大学举行。会议邀请贝尔实验室把他们的 M—1 型机向与会人员作演示。
在会议举行前,电报线架设工使用电报线把 M—1 型机所在地纽约与达特默思校园相连。
在会议上,贝尔实验室人员用 M—1 型机进行了出色的表演。在会上当场把一个数学问题打印出来并传输纽约,不到一分钟,电传打字机就开始打印出结果来了。
M—1 型机安放在贝尔实验室的一个房间里,人们在使用计算机时,可以在很远的地方利用与它相连的三台电传打字机中的任何一台进行操作。斯蒂比兹把早年对农场火炉进行遥控的设想进一步应用到计算机上来了。演示结果表明,M—1 型这种复数计算机,它的运算功能令人满意,给人们留下了深刻的印象。
M—1 型机在达特默思大学成功的表演,是计算机发展史上一件大事,它开创了人类——对计算机进行远距离控制的先河。至今,计算机远程通信已成为现实,远隔万里的人们可以相互利用对方的计算机设备和所存贮的信息。
达特默思校园的这次会议特别引人注目,还因为它的参加者中有不少是美国最著名的数学家和后来一些重要计算机研制项目的带头人,如冯·诺伊曼,莫奇利和维纳等人。
尽管复数计算机 M—1 型只能对复数进行计算,但是在贝尔实验室里却使用了好几年。M—1 型机的成功,鼓励斯蒂比兹制订出进一上的研制计划,其中包括用穿孔带设备来改进计算机的性能。
M—1 型机是这一系列中 5 种型号的第一种。它是唯一由贝尔实验室独立设计和制造的机器。
在它制成后,贝尔公司的负责人猛然发现它的全部试制费用竟高达 2 万美元,大吃一惊,决定不再研制其他计算机了。
但是在 1941 年 12 月美国投入第二次世界大战后,贝尔实验室的研究转入军事项目,这些项目比和平时期的研究要涉及更多的计算。他们在战时研制的大部分计算机,是模拟计算机。但是还制造了 5 台军用的数字继电器计算机,再加上 M—1 计算机和战争结束后自用的另一台计算机,总共有 7 台数字计算机。
在 5 台军用数字计算机中,第一台是 1943 年安装在华盛顿特区的一种继电器数字计算机,称为 M—2 型机,它主要用来解决与防空高炮火力指挥有关的问题。
M—2 型机主要用于“内插”,由于“内插”是解决科学、工程问题一种很有用的数学运算,所以在战争结束后仍忙于为其他部门服务,它直到 1961 年才被拆除。M—2 型机是最早的可编程的计算机之一,它还能进行误差检测,这是现代微电脑所具有一项标准功能。
在 M—2 型机开始投入运行之前,斯蒂比兹及同事们就着手准备研制新的、更大的、功能更强的机器——M—3、M—4 型机了。
M—3 与M—4 型机是性能基本上相同的两种计算机,先后于 1944 年、1945 年完成。它们与 M—2 型机相类似,不过存贮器容量更大,除了能进行“内插” 外,还能把描述目标飞机和一些防空火包炮弹轨迹的弹道方程计算出来。虽然它们不是通用计算机,但在编程能力上已经具有一定程度的通用性。它们还具有搜索信息的功能,正如现代微电脑能搜寻磁带或磁盘上所存放的特定数据和程序一样。M—4 型机比 M—3 型机的功能稍多一些,例如它能计算某些三角函数等。
由于斯蒂比兹卓有成效的努力,在不到十年的时间里,总共推出了 M 系列的 5 种型号的计算机。其中最大的一种计算机是 M—5 型机。贝尔实验室为军方制造了两台 M—5 型机。一台是为美国航空局设计的,另一台则是为阿伯丁弹道实验室而设计。