现代计算机组成与体系结构
上QQ阅读APP看书,第一时间看更新

1.1.2 ENIAC

第一台可编程的通用电子计算机埃尼阿克(Electronic Numerical Integrator and Computer,ENIAC)于1945年完成设计。该系统的功耗为150千瓦,占地1800平方英尺[1],重达27吨。

ENIAC基于真空管、二极管和继电器等元件设计,其中包含17000多个用作开关的真空管。与分析机类似,它使用十位环形计数器(见第2章)实现了十进制数表示。它从IBM穿孔卡片读卡机接收输入数据,并将计算后的输出发送到卡片穿孔机。

ENIAC体系结构能够执行复杂的处理步骤序列,包括循环、分支和子程序。该系统有20个10位累加器,它们类似于现代计算机中的寄存器。但是,除了累加器之外,它最初没有任何存储空间。如果在之后的计算中需要使用计算的中间结果,则必须将它们写入穿孔卡片,并在需要时回读。ENIAC每秒可以执行大约385次乘法。

ENIAC程序由插板布线和基于开关的功能表组成。对系统进行编程是一个艰巨的过程,通常需要优秀的女性程序员团队花费数周时间才能完成。由于真空管经常发生故障,因此可靠性也是一个问题,需要在日常维护的基础上进行故障排除,以便对发生故障的真空管进行隔离和更换。

ENIAC于1948年得到改进,增加了通过穿孔卡片取代插板来对系统进行编程的能力。这一改进极大地提高了程序开发的速度。作为此次升级的顾问,约翰·冯·诺依曼(John von Neumann)提出了一种通用的计算机体系结构,其中包含存放程序指令和数据的单一存储区域、由算术逻辑单元和寄存器构成的处理组件、具有指令寄存器和程序计数器的控制单元。这种结构称为冯·诺依曼体系结构,许多现代处理器都采用了这种结构。

ENIAC的早期应用包括研制氢弹以及计算远程火炮射程等。

[1] 约167平方米。——编辑注