跳过正文
  1. 文章/

第一台电子计算机:ENIAC的诞生

sun.ao
作者
sun.ao
我是 sun.ao,一名热爱技术的程序员,专注于 AI 和数智化领域。
目录
计算机前世今生 - 这篇文章属于一个选集。
§ : 本文

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中仍然有累加器或类似功能的寄存器。


思考题
#

  1. ENIAC重30吨,占地170平方米。今天的智能手机重量不到200克,但计算能力是ENIAC的数十亿倍。你觉得是什么让这种进步成为可能?
  2. ENIAC的程序员是一群女性,但她们长期被历史遗忘。你觉得为什么会这样?

明天预告:晶体管革命——真空管的替代者如何让计算机变得更小、更快、更可靠?

计算机前世今生 - 这篇文章属于一个选集。
§ : 本文

相关文章