1946年2月14日,美国宾夕法尼亚大学。
一群记者围在一个巨大的房间前。房间里,无数灯光闪烁,风扇嗡嗡作响,热气扑面而来。
“这就是我们要展示的东西,“一位工程师说,“世界上第一台电子计算机。”
记者们目瞪口呆地看着这个庞然大物:它有18000个真空管,1500个继电器,重30吨,占地170平方米。它消耗150千瓦电力——足够点亮一个小镇。
工程师输入了一组数据,机器开始工作。几秒钟后,结果出现在打字机上。
“它刚才做了什么?“一个记者问。
“它计算了一条炮弹的弹道,“工程师自豪地说,“如果用人手工计算,需要20小时。ENIAC只用了30秒。”
这台机器叫ENIAC(Electronic Numerical Integrator and Computer)。它是世界上第一台通用电子计算机。
为什么需要ENIAC? #
ENIAC的诞生,源于一个实际需求:计算火炮弹道。
二战期间,美国陆军需要精确的火炮射击表。每种火炮、每种炮弹、每种发射角度,都需要计算弹道。炮弹飞行的轨迹受重力、空气阻力、风速等多种因素影响,计算极其复杂。
当时,这些计算由"人类计算机"完成——一群年轻女性用机械计算器,一个数字一个数字地算。计算一条弹道需要20小时,而战场上需要几秒钟内得到结果。
1943年,宾夕法尼亚大学的约翰·莫奇利和J. 普雷斯珀·埃克特向陆军提出建议:用真空管建造一台电子计算机。
陆军同意了,拨款40万美元(相当于今天的600万美元)。
ENIAC的设计 #
ENIAC的设计在当时是革命性的。
核心元件:真空管
真空管是一种电子元件,可以控制电流的通断。它像一个电子开关:给控制极加电压,电流就能通过;不加电压,电流就被阻断。
用真空管,可以构建逻辑门(与门、或门、非门),进而构建加法器、乘法器等运算电路。
ENIAC使用了18000个真空管。每个真空管像一个小灯泡,工作时发光发热。ENIAC运行时,整个房间像被无数小太阳照亮。
问题:真空管很容易坏
真空管的寿命只有几千小时。18000个真空管,如果每个工作1000小时就坏,那平均每几分钟就有一个坏掉。
埃克特想出了一个办法:降低真空管的工作电压。正常真空管工作在6.3伏,他把ENIAC的真空管降到5.7伏。虽然性能略有下降,但寿命大大延长。
结果,ENIAC平均每两天才坏一个真空管——这在当时是奇迹。
ENIAC的结构 #
ENIAC由40个面板组成,每个面板高2.4米,宽0.6米。面板上布满了真空管、开关、插座和指示灯。
主要部件包括:
- 20个累加器:每个可以存储一个10位数字,并进行加减运算
- 乘法器:用累加器组合实现乘法
- 除法器/开方器:实现除法和开方运算
- 主控单元:控制整个机器的运行
- 读卡器:从IBM穿孔卡片读取输入
- 打字机:输出结果
ENIAC没有键盘,没有显示器,没有硬盘。输入靠穿孔卡片,输出靠打字机。编程靠插线——工程师们要在面板上插拔电缆,连接不同的电路。
ENIAC的程序员:被遗忘的女性 #
ENIAC的程序员是一群年轻女性,她们的名字长期被历史遗忘。
当时,“编程"被认为是低级工作,类似于秘书。工程师们负责设计和建造机器,女性们负责"操作"机器。
但ENIAC的程序员们做的工作,远不止"操作”。她们要理解机器的每一个电路,理解每一条指令如何执行。她们用手绘的图纸,规划程序的流程。她们用插线和开关,编写复杂的程序。
六位主要的ENIAC程序员:
- 琼·詹宁斯:来自密苏里州的农场女孩,后来成为软件工程师
- 马琳·韦斯科夫:数学老师,后来参与开发早期编程语言
- 弗朗西斯·斯宾塞:数学专业毕业生
- 凯瑟琳·麦克纳尔蒂:爱尔兰移民的女儿,后来嫁给了ENIAC设计者莫奇利
- 贝蒂·斯奈德:后来参与开发COBOL语言
- 露丝·利赫特曼:数学专业毕业生
她们编写了ENIAC上运行的第一个程序,证明了机器可以工作。她们的工作为现代软件工程奠定了基础。
但直到几十年后,她们才被历史认可。2017年,她们的故事被拍成纪录片《ENIAC程序员》。
ENIAC的成就 #
1946年,ENIAC正式向公众展示。
它震惊了世界。
性能对比:
| 任务 | 人类计算员 | 机械计算器 | ENIAC |
|---|---|---|---|
| 两个10位数相乘 | 5分钟 | 15秒 | 0.003秒 |
| 计算弹道 | 20小时 | 15分钟 | 30秒 |
| 计算开方 | 10分钟 | 1分钟 | 0.01秒 |
ENIAC每秒可以执行5000次加法,比之前的机械计算器快1000倍。
它被用于计算弹道、天气预报、原子能研究、宇宙射线分析。它甚至被用来验证爱因斯坦的相对论计算。
ENIAC的局限 #
但ENIAC也有明显的缺陷:
第一,编程太麻烦。 改变程序需要重新插线,可能要花几天时间。
第二,存储容量小。 ENIAC只能存储20个10位数,无法存储大量数据。
第三,可靠性问题。 虽然真空管寿命延长了,但18000个真空管仍然意味着频繁的故障。
第四,耗电巨大。 150千瓦的功耗,相当于1500台现代电脑。据说,每次ENIAC启动,费城的灯光都会暗一下。
这些问题,在后来的计算机中逐步解决。ENIAC的设计者莫奇利和埃克特,后来设计了EDVAC,采用了冯·诺依曼的存储程序架构。
ENIAC之后 #
ENIAC运行了10年,直到1955年退役。
它被拆解,部分部件保存在史密森尼博物馆、宾夕法尼亚大学等地。
1996年,为纪念ENIAC诞生50周年,宾夕法尼亚大学用现代技术制造了一个"ENIAC-on-a-Chip”——把整个ENIAC的功能集成在一块指甲盖大小的芯片上。
当年30吨的庞然大物,现在可以放在指尖上。
这就是计算机发展的速度。
计算机时代的开始 #
ENIAC的诞生,标志着计算机时代的正式开始。
从此,人类有了一种全新的工具:一种可以自动执行任意计算任务的机器。它不再是专用的计算器,而是通用的信息处理机。
在接下来的几十年里,计算机将以惊人的速度进化:
- 从真空管到晶体管
- 从晶体管到集成电路
- 从集成电路到微处理器
- 从房间大小到口袋大小
每一次进化,都带来性能的飞跃和成本的下降。
而这一切,都始于那个30吨重的庞然大物。
明天,我们来讲计算机的第一次革命:从真空管到晶体管。
今日知识点 #
真空管(Vacuum Tube) 一种电子元件,在密封的玻璃管中抽成真空,利用电子在真空中运动来控制电流。真空管可以放大信号或作为开关使用,是早期电子计算机的核心元件。它体积大、耗电多、寿命短,后来被晶体管取代。
累加器(Accumulator) 一种寄存器,用于存储运算的中间结果。在ENIAC中,累加器是最基本的运算单元,可以存储一个数字并进行加减运算。现代CPU中仍然有累加器或类似功能的寄存器。
思考题 #
- ENIAC重30吨,占地170平方米。今天的智能手机重量不到200克,但计算能力是ENIAC的数十亿倍。你觉得是什么让这种进步成为可能?
- ENIAC的程序员是一群女性,但她们长期被历史遗忘。你觉得为什么会这样?
明天预告:晶体管革命——真空管的替代者如何让计算机变得更小、更快、更可靠?