计算机的诞生
克劳德·香农在其麻省理工学院的博士论文中解释了如何利用电力开关电路模拟布尔逻辑(查尔斯·皮尔斯在50年前就曾预言过)。受到该论文的鼓舞,IBM的高管于20世纪30年代同意斥资制造一台基于机电式继电器的大型计算机器。他们给了哈佛大学教授霍华德·艾肯一笔在当时颇为可观的经费——50万美元,用以研制MarkI,MarkI是一台受巴贝奇分析机的启发而设计的计算装置。巴贝奇设计的是一个纯粹的机械装置,相比之下,MarkI是一个电力机械装置,它以继电器为开关,继电器阵列则作为数字存储空间。这台机器运行时噪声非常大,继电器不停地开关,咔咔地响个不停。1944年,MarkI问世并受到广泛赞誉,人们都说科幻小说中的电子大脑终于成为现实。但是IBM的高管却高兴不起来,因为艾肯在为这台计算机揭幕时并未提及IBM的资助。IBM为这笔投资感到懊悔。但原因还不止如此,在MarkI研制工作开始之前,其他方面的技术已取得了新的进展,这使得MarkI尚未问世就已然过时。
赫曼·霍列瑞斯 发明了世界上第一台大规模数据处理装置,并于1890年成功应用于美国人口普查。他是数据处理行业的鼻祖。(资料来源:IBM档案)
电力驱动正在为电子驱动让路。当其他人将蒸汽驱动的巴贝奇式机器换成电气继电器时,爱荷华州立大学的数学和物理学教授约翰·阿塔纳索夫看到了将电气继电器换成电子元件的可能性。在美国参加第二次世界大战前不久,阿塔纳索夫在克利福德·贝里的帮助下设计出了ABC。ABC是阿塔纳索夫-贝里计算机(Atanasoff-BerryComputer)的首字母缩写,这台设备的开关装置采用的不是继电器,而是真空管。
霍列瑞斯人口普查计算机器 为美国1890年的人口普查节省了一个数量级的时间。(资料来源:IBM档案)
这个开关装置的更新换代是一次技术性飞跃。理论上说,以真空管为开关元件的机器运算起来比继电器机器更快速、更高效。但ABC和巴贝奇分析机一样,也未能问世,这也许是因为阿塔纳索夫所筹集的经费还不到7000美元,远不足以建造这台机器。不过,阿塔纳索夫和贝里确实组装出了一台简单的样机。他们用大量的电线和真空管拼出了一台粗糙的台式计算器。通过将真空管作为开关元件这一举措,阿塔纳索夫大大推动了计算机技术的发展。相较于继电器开关,真空管的高效使得计算机的面世成为现实。
托马斯·沃森 1914年加入霍列瑞斯领先的数据处理公司,后将公司改名为IBM。(资料来源:IBM档案)
真空管是抽掉了空气的一种玻璃管。托马斯·爱迪生发现,电子在某些条件下能在真空中流动,而李·德·福里斯特利用“爱迪生效应”最终将真空管制成了电子开关。20世纪50年代,真空管被广泛应用到电视机、计算机等电子设备中。现如今我们仍可以看到应用显像管的计算机显示器或电视机屏幕。
到20世纪30年代,计算机的诞生已经是顺理成章。计算机似乎也注定是价格昂贵的大块头专用设备。体积大、价格高的问题几十年后才得以解决,但打破单一用途这一点在当时就已提上日程。
真空管 20世纪50年代,计算机中到处都是真空管,如图中这台IBM701处理器。(资料来源:IBM档案)
英国数学家阿兰·图灵曾设想过这样一台机器,这台机器的目的只有一个,即读取某一可描述任务的编码指令,并根据指令自行完成任务。这个想法在当时可谓前所未闻。若一台机器真的能够完成指令描述的所有任务,那么它就是一台真正的通用设备。或许在图灵之前没有任何人有过如此宏大的想法。但在10年之内,图灵的想法就变成了现实。那些指令变成了程序,而图灵的设想在另一位数学家约翰·冯·诺伊曼的手中变成了一台通用计算机。
将计算机变成现实的大部分工作都是第二次世界大战期间在秘密实验室中进行的。图灵就是这样工作的。1943年,美国费城莫尔电气工程学院的约翰·莫奇利和约翰·埃克特提出了一个关于计算机的想法。很快,他们就和美国军方开始合作研发电子数字积分计算机(ElectronicNumericalIntegratorandComputer,简称ENIAC)。一旦成功,它将成为第一台全电子数字计算机。除了用于信息输入与输出的外围设备,ENIAC就是一台纯粹的真空管机器。
发明ENIAC的功劳归谁向来是有争议的。ENIAC可能是根据莫奇利与阿塔纳索夫会面后形成的想法设计出来的,但至少ENIAC是真实存在的。莫奇利和埃克特吸引了不少才华横溢的数学家加入ENIAC项目,其中包括聪明绝顶的约翰·冯·诺伊曼。冯·诺伊曼加入了ENIAC项目,并为建造ENIAC做出了许多贡献,他还为一台更加复杂的电子离散变量自动计算机(ElectronicDiscreteVariableAutomaticComputer,简称EDVAC)提供了基本设想。人们对冯·诺伊曼的贡献也报导很多。
约翰·莫奇利 ENIAC的设计者之一,图为他在1976年的大西洋城电脑节上向早期个人计算机发烧友演讲。(资料来源:戴维·阿尔)
冯·诺伊曼将莫尔电气工程学院的重点从技术方面转移到了逻辑方面。在他看来,EDVAC不仅仅是一台用来计算的设备。冯·诺伊曼觉得,除算术运算之外,EDVAC应该还能进行逻辑运算,并能以代码符号进行运算,而且那些以代码符号进行运算和解释的指令本身也应该是编入机器的代码符号,并用以继续操作运算。这是现代计算机概念中最后一个根本性洞见。冯·诺伊曼规定EDVAC应该能根据指令来编写程序,而这些指令本身是作为数据输入计算机的,这为存储程序计算机创建了标准。
ENIAC 世界上第一台全电子数字计算机,于1945年12月问世。(资料来源:IBM档案)
1945年5月之后,冯·诺伊曼提出将ENIAC改为EDVAC那样的可编程计算机的方法,阿黛尔·戈尔斯坦编写了能让机器更易操作的语言(包含55种操作)。从那以后,再没有人以最初的操作模式来运行ENIAC了。
1946年年初,ENIAC开发完成,它的运行速度比继电式计算机快1000倍。但尽管是电子计算机,ENIAC运行起来仍然咔咔作响。ENIAC就是一屋子滴答作响的电传打字机、滋滋转的磁带驱动器以及满墙相对安静的电子线路板。ENIAC有20000个开关元件,重约30吨,耗电150千瓦。尽管功率很大,但任何时候ENIAC一次只能处理20个十进制数字。不过在完全制造完成之前,它就已经派上了大用场。1945年,ENIAC被用于美国新墨西哥州洛斯阿拉莫斯市原子弹测试的计算。
第二次世界大战结束之后,那些秘密实验室开始解密他们的工作成果和设计,由此出现了一个新兴产业。制造计算机立马成了一门生意,而且由于计算机这种设备本身的特点,这还是一个大产业。工程师莫奇利和埃克特刚刚走出ENIAC的成功光环,就帮助雷明顿打字机公司迅速转型为斯佩里通用自动计算机公司。随后的好几年里,Univac这个词成了计算机的代名词,就像提到舒洁(Kleenex)大家就会想到面巾纸一样。但斯佩里公司也有一些强大的竞争对手。经历了MarkI项目的失望后,IBM的高管们重新振作起来,着手制造通用计算机。两家公司形成了不同的运作风格。IBM的员工都身着蓝色条纹西装,而斯佩里公司的大楼里则满是穿着运动鞋的年轻毕业生。不知是公司形象好还是商业能力强,没过多久,IBM就从斯佩里手上抢到了行业领头羊的位置。
不久,大家用的多数计算机都是IBM制造的了,而且IBM的市场份额还在随着市场扩大而不断增加。其他的计算机公司也先后成立,一般都接受了曾在IBM或斯佩里受训的工程师的指导。位于明尼阿波利斯市的CDC公司脱离了IBM,随后霍尼韦尔公司、宝来公司、通用电气公司、RCA公司和NCR公司都纷纷开始生产计算机。不到10年的时间,这8家公司就称霸了羽翼渐丰的计算机市场。由于IBM的营业额遥遥领先于其他7家公司,当时这8家公司常被戏称为“白雪公主与七个小矮人”。
约翰·冯·诺伊曼 博学多识,为计算机编程以及ENIAC和EDVAC做出了奠基式的贡献。(资料来源:美国圣何塞计算机博物馆历史中心)
不过,“白雪公主与七个小矮人”很快就会被一些傲慢的行业新贵教训了。20世纪60年代出现了一款新型计算机。比起先前的计算机,这种计算机体积更小、价格更低,借用当时风靡的迷你裙的概念,人们将这种计算机称为“迷你计算机”(小型机)。生产小型机的公司中,最值得一提的是波士顿的DEC公司和加州帕洛阿尔托的惠普公司。这些公司当时生产的计算机就是图灵和冯·诺伊曼所指的通用计算机,它们更小巧,更高效,功能也更强大。不久之后,计算机的核心技术取得了重大突破,这使得计算机在功能、效率和小型化几个方面取得了惊人的发展。