计算机史
一、巴贝奇与阿达:未完成的先知
19 世纪初,“computer"这个词指的不是机器,而是人——成群的计算员伏案计算航海表、对数表和天文表,错误百出,而每一页错误都可能让一艘船触礁。剑桥大学卢卡斯数学教授查尔斯·巴贝奇(Charles Babbage,1791—1871)决心用机器终结这种局面。1822 年,他向皇家天文学会提议建造"差分机”:利用有限差分原理,机器自动计算多项式函数值并直接排字打印,精度 20 位,从根上消灭抄写错误。
英国政府从 1823 年起累计投入 1.7 万英镑——这在当时是巨款。但差分机需要的精密齿轮加工超出了维多利亚时代早期的工艺极限,加上巴贝奇不断改设计、与首席工匠决裂,1833 年工程停摆,差分机一号最终只完成了约七分之一。
巴贝奇转身构思更宏大的分析机:存储器(他称为 “store”,计划存放 1000 个 50 位十进制数)、运算器(“mill”)、用穿孔卡片输入程序,并支持条件分支与循环——现代计算机的每一个要素都在其中。穿孔卡的主意借自 1804 年法国人雅卡尔发明的提花织机:卡片上的孔洞决定织针的起落,从而"编程"出繁复的花纹。分析机最终停留在图纸上,但它的图纸是 19 世纪最深远的思想实验。
为分析机写下注脚的是阿达·洛芙莱斯(Ada Lovelace,1815—1852),诗人拜伦的女儿。1843 年,她翻译意大利工程师梅纳布雷亚介绍分析机的法文文章时,附上比原文长三倍的七条注记。其中注记 G 给出了用分析机计算伯努利数的完整算法——这被公认为历史上第一个公开发表的计算机程序。她还写道:机器"可以织出代数的图案,也完全可以谱写复杂而科学的乐曲"。在所有人把计算机看作"算数机器"的时代,阿达第一个看见它操纵符号的潜能。
公案在 150 年后了结:1991 年,伦敦科学博物馆按巴贝奇的原图造出差分机二号,4000 个零件、重约 3 吨,计算精度 31 位——运转分毫不差。巴贝奇的设计是对的,错的是他出生得太早。
二、穿孔卡与继电器:机电时代
1880 年的美国人口普查,数据花了七年多才处理完;照这个速度,1890 年的普查还没算完,1900 年的就该开始了。人口普查局雇员赫尔曼·霍列瑞斯(Herman Hollerith,1860—1929)发明了穿孔卡制表机:卡片上孔的位置代表年龄、性别、职业,探针穿过孔洞接通电流,驱动机械计数器累加。1890 年普查用这套设备处理了 6290 万人的数据,统计工作压缩到约两年半,为政府节省了约 500 万美元。霍列瑞斯 1896 年创办的制表机公司几经合并,1924 年改名为国际商业机器公司——IBM。
在大西洋对岸,德国工程师康拉德·楚泽(Konrad Zuse,1910—1995)在柏林父母的客厅里独自造机。1941 年 5 月 12 日,他的 Z3 运行成功:这是世界第一台可编程的全自动数字计算机,采用二进制浮点运算,由 2000 个继电器组成,每秒完成 3 至 4 次加法,程序用穿孔的废弃电影胶片输入。1943 年 Z3 毁于盟军空袭,楚泽的工作战后才为外界所知。他还设计了世界上第一种高级编程语言 Plankalkül(1942—1945)——同样无人知晓地躺了三十年。
1944 年,霍华德·艾肯与 IBM 合作建造的"哈佛马克一号"交付:全长 15.5 米、重约 5 吨、76.5 万个元件、530 英里导线,每秒 3 次加法、6 秒一次乘法。它为美国海军计算弹道表,连续运转 16 年。机电计算机走到了性能的尽头,下一步需要电子。
三、图灵:计算的理论基石
1936 年,24 岁的剑桥研究员艾伦·图灵(Alan Turing,1912—1954)发表《论可计算数及其在判定问题上的应用》。为了回答"什么是可计算的",他构想出一种抽象机器:一条无限长的纸带、一个读写头、一组内部状态和一张规则表。这台假想的机器可以模拟任何计算过程——后人称之为"图灵机"。它第一次精确定义了算法,也证明存在机器无法判定的问题(停机问题)。整个计算机科学的大厦,至今建在这篇论文之上。
二战爆发后,图灵加入布莱切利园的密码破译团队。他在波兰同行移交的成果基础上改进设计出机电装置"炸弹"(Bombe),批量破解德军恩尼格玛密码机的日报文。盟军对大西洋上 U 艇电报的破译,被历史学家认为让战争至少提前两年结束,拯救了上千万吨舰船与无数生命——而这一切在战后三十年里都是国家机密,图灵一生未能说出自己的功绩。
1950 年,图灵在《心灵》杂志发表《计算机器与智能》,开篇即问:“机器能思考吗?“他提出"模仿游戏”:如果询问者隔着文字分不清对面是人还是机器,就没有理由拒绝承认机器在思考——这就是著名的图灵测试,人工智能的哲学起点。1952 年,图灵因同性恋身份被英国法庭定罪,被迫接受化学阉割;1954 年 6 月 7 日,他死于氰化物中毒,年仅 41 岁。2013 年,英国女王为他颁布皇家赦免;2017 年"图灵法案"生效,数万名因同样罪名获罪的人被追赦。
四、ENIAC 与存储程序革命
1943 年,为了替陆军弹道研究实验室计算火炮火力表,宾夕法尼亚大学摩尔学院立项建造电子数字积分计算机 ENIAC:约翰·莫克利(John Mauchly,1907—1980)提出方案,普雷斯珀·埃克特(J. Presper Eckert,1919—1995)主持工程。1946 年 2 月 14 日,ENIAC 正式公开:17,468 只电子管、7 万只电阻、1 万只电容、1500 只继电器,重约 27 吨,占地 167 平方米,耗电 150 千瓦——它每秒钟完成 5000 次加法或 357 次乘法,比最快的机电计算机快上千倍。
ENIAC 的短板同样鲜明:它按十进制运算,改变计算任务要靠手工重新插接数百条电缆、拨动数千只开关,换一次"程序"得花几天。承担这项工作的首批程序员是六位女性——凯·麦克纳尔蒂、贝蒂·霍尔伯顿等人,她们在没有编程语言、没有手册的条件下发明了最早的编程技巧,其贡献直到 1980 年代才被广泛讲述。
1945 年 6 月,参与 EDVAC 项目的数学家冯·诺依曼(John von Neumann,1903—1957)起草了《EDVAC 报告初稿》,第一次系统阐述"存储程序"思想:指令和数据一样存放在存储器里,计算机读取指令执行,修改程序不再需要改线路。这份报告因署名问题引发团队间延续多年的公案——存储程序实为集体成果,图灵 1945 年设计的 ACE 也独立包含这一思想——但"冯·诺依曼架构"之名从此流传:存储器、运算器、控制器、输入、输出,五大部件构成了此后每一台计算机,从巨型机到你口袋里的手机。
还有一笔法院了结的公案:1973 年,美国联邦法院在霍尼韦尔诉斯佩里·兰德案中判决 ENIAC 专利无效,认定爱荷华州立大学 1937—1942 年间建造的阿塔纳索夫—贝里计算机(ABC)为在先成果——那台用 300 只电子管专解线性方程组的机器,从未申请专利。“谁是第一台电子计算机"至今众说纷纭,这恰恰说明:电子计算是时代条件成熟后的多点开花。
软件也在追赶硬件。1957 年,IBM 发布 FORTRAN——第一门获得广泛应用的高级语言,科学家终于可以用接近数学公式的写法编程;1959 年,格蕾丝·霍珀推动的 COBOL 问世,成为此后半个世纪银行与政府系统的语言基石。编程从插线板时代的手艺,变成一门可以教授的学科。
五、晶体管、集成电路与摩尔定律
电子管是电子时代的蒸汽机:体积大、发热巨、寿命短,上万只管子组成一台机器,故障如影随形。1947 年 12 月 23 日,贝尔实验室的约翰·巴丁与沃尔特·布拉顿用锗片和两片金箔做出第一只点接触晶体管;威廉·肖克利随即提出结型晶体管理论。晶体管体积只有电子管的百分之一量级,功耗和发热骤降,寿命近乎无限。三人共享 1956 年诺贝尔物理学奖。1954 年,第一台晶体管计算机 TRADIC 和第一台晶体管收音机 Regency TR-1(售价 49.95 美元)相继问世,电子技术开始进入千家万户。
晶体管很快又显得太多:一台计算机需要数万只分立元件手工焊接。1958 年 9 月,德州仪器公司的新员工杰克·基尔比(Jack Kilby)把电阻、电容和晶体管做在同一块锗片上——第一块集成电路诞生;半年后,仙童半导体的罗伯特·诺伊斯(Robert Noyce)用平面工艺造出可量产的硅集成电路。两家公司缠讼多年,最终交叉授权;基尔比因此独享 2000 年诺贝尔物理学奖(诺伊斯 1990 年去世,无缘分享)。
仙童本身就是传奇链条的一环:1956 年肖克利回到加州帕洛阿尔托创办肖克利半导体,八名核心干将因不堪其管理集体出走,1957 年创办仙童——“八叛逆"由此得名;1968 年,诺伊斯与摩尔再率众出走创立英特尔。从肖克利到仙童再到英特尔、AMD,旧金山以南的这片果园就此变成"硅谷”。
1965 年 4 月,仙童的研发主管戈登·摩尔(Gordon Moore)在《电子学》杂志上发表预言:集成电路可容纳的元件数量将每年翻一番(1975 年修正为每两年)。这条"摩尔定律"像一份自我实现的预言驱动了产业半个世纪:1971 年英特尔 4004 集成 2300 只晶体管,2023 年苹果 M2 Ultra 集成 1340 亿只——52 年间增长约 5800 万倍。存储的跃迁同样惊人:1956 年 IBM 的 RAMAC 是第一台磁盘存储计算机,50 张 24 英寸盘片存 5 兆字节、整柜重逾一吨;今天指甲盖大小的存储卡能装下百万倍于此的数据。
六、微处理器与个人电脑革命
1971 年 11 月 15 日,英特尔为日本 Busicom 计算器项目研制的 4004 上市:世界第一颗商用微处理器,4 位字长,2300 只晶体管,主频 740 千赫,每秒 9.2 万次运算——性能堪比 25 年前占据整个房间的 ENIAC,体积却只有指甲盖大小。1974 年的 8080(6000 只晶体管、主频 2 兆赫)成为点燃个人电脑革命的芯片。
1975 年 1 月,《大众电子》杂志封面登出 MITS 公司的牛郎星 8800(Altair 8800):套件售价 397 美元,没有键盘和显示器,靠面板上的拨动开关输入程序——订单如雪片般淹没了这家濒临破产的小公司。哈佛辍学生比尔·盖茨和保罗·艾伦为它编写 Altair BASIC 解释器,1975 年 4 月在新墨西哥州阿尔伯克基创立微软。
1976 年 4 月,史蒂夫·沃兹尼亚克与史蒂夫·乔布斯在加州创办苹果:Apple I 售价 666.66 美元,只生产了 200 台。1977 年上市的 Apple II(1298 美元)才是真正的爆款:彩色图形、开放式扩展插槽、一体塑料机箱;1979 年,史上第一个电子表格 VisiCalc 在它上面诞生,小业主们第一次为了一张"会自己算账的表格"而买电脑。Apple II 系列累计销量数百万台,个人电脑进入家庭、学校与写字楼。1982 年的 Commodore 64 把家用电脑打到 595 美元,累计销量约 1700 万台,至今保持着单一型号电脑销量的世界纪录。
另一条被遗忘的支线在施乐帕克研究中心(PARC):1973 年的 Alto 工作站已经拥有图形界面、鼠标(恩格尔巴特 1964 年发明、1968 年在"所有演示之母"中公开)和以太网(梅特卡夫 1973 年 5 月提出),PARC 还顺手发明了激光打印机——但施乐始终没把这些变成商品。1979 年乔布斯两次参观 PARC 后大受震动,1984 年 1 月 24 日,苹果推出 Macintosh(2495 美元):图形界面、鼠标、3.5 英寸软驱,超级碗上由雷德利·斯科特执导的广告《1984》只播了一次便名垂广告史。
IBM 这位巨人 1981 年 8 月 12 日才入场,却一锤定音:IBM PC 5150(1565 美元起)采用英特尔 8088 处理器、微软 PC-DOS 操作系统和完全开放的架构——兼容机蜂拥而至,1983 年康柏推出第一台合法兼容机,“PC 兼容机 + Wintel(Windows 与英特尔)“联盟统治桌面三十年。微软 1985 年推出 Windows 1.0 时反响平平,1990 年的 Windows 3.0 才真正打开图形界面的大众市场;1995 年 8 月 24 日 Windows 95 发布,前五周卖出 700 万份,排队抢购的队伍绕过了街区。
七、从房间到口袋
个人电脑产业的规模数字说明一切:1995 年全球 PC 年出货量约 6000 万台,2021 年达到 3.4 亿台。但计算设备之王早已易主——2023 年全球智能手机用户近 70 亿,一部普通手机的算力已是 1969 年阿波罗 11 号登月制导计算机的上百万倍。计算的主力从机房到桌面,再到口袋,体积缩小了亿倍,功耗下降了千万倍。
大型机并未死去。1964 年 4 月 7 日发布的 IBM System/360 豪掷约 50 亿美元研发,第一次提出"兼容机"概念——同一套软件跑在大小不同的机器上——其后裔 z 系列至今支撑着全球银行的核心交易系统。1965 年 DEC 的 PDP-8 以 18500 美元的价格把计算机拉下神坛,成为第一台商业成功的小型机,累计销量超过 5 万台;1970 年的 PDP-11 卖出数十万台,贝尔实验室的肯·汤普森与丹尼斯·里奇在它上面孕育了 UNIX 操作系统和 C 语言——今天所有主流操作系统的血脉都能追溯到这两台机器。1991 年,芬兰大学生林纳斯·托瓦兹在新闻组发帖宣布自己写了个"业余的"操作系统内核——Linux 由此诞生,如今它驱动着全球绝大多数服务器、全部最快的超级计算机和每一部 Android 手机。
回望两百年:巴贝奇的齿轮、霍列瑞斯的穿孔卡、楚泽的继电器、图灵的纸带、ENIAC 的电子管、基尔比的锗片、4004 的硅片——每一代载体都曾被认为"这就是尽头”,每一代尽头都成了下一代的起点。摩尔定律放缓之后,量子计算、光计算与类脑芯片正在争夺接力棒。计算的故事没有终章,只有下一页。