埃尼阿克
埃尼阿克(ENIAC),全称为Electronic Numerical Integrator And Computer,即电子数字积分计算机,于1946年2月14日在美国宾夕法尼亚大学的莫尔电机学院诞生,其承担开发任务的“莫尔小组”由四位科学家和工程师埃克特(总工程师,在当时年仅25岁)、莫克利、朱传榘、戈尔斯坦、博克斯组成。埃尼阿克是世界上第一台通用计算机,也是继ABC(阿塔纳索夫-贝瑞计算机)之后的第二台电子计算机1。
埃尼阿克占地面积达170平方米,重达30吨,在1秒钟内能进行5000次加法运算和500次乘法运算,比当时最快的继电器计算机的运算速度要快1000多倍,是手工计算的20万倍。其内部有成千上万个电子管、二极管、电阻器等元件,电路的焊接点多达50万个;在机器表面,则布满电表、电线和指示灯。埃尼阿克是图灵完全的电子计算机,能够重新编程,解决各种计算问题。其诞生之初,由于存在诸多缺陷,无法广泛应用。直到1951年,莫克利和埃克特在埃尼阿克基础上研制出了UNIVAC(通用自动计算机),电子计算机才开始从实验室走向社会。1955年10月2日,埃尼阿克“退役”后被陈列在华盛顿的一家博物馆里1。
基本信息
- 中文名
埃尼阿克
- 外文名
ENIAC
- 发明者
莫尔小组
- 诞生地
美国
- 重量
31吨
发展历程
世界上第一台现代电子计算机埃尼阿克(ENIAC),诞生于1946年2月14日的美国宾夕法尼亚大学,并于次日正式对外公布。
ENIAC长30.48米,宽6米,高2.4米,占地面积约170平方米,30个操作台,重达30英吨,耗电量150千瓦,造价48万美元。它包含了17,468根真空管(电子管)7,200根晶体二极管,1,500 个中转,70,000个电阻器,10,000个电容器,1500个继电器,6000多个开关,计算速度是每秒5000次加法或400次乘法,是使用继电器运转的机电式计算机的1000倍、手工计算的20万倍。
ENIAC是模块化计算机,由执行不同功能的独立面板组成。其中二十个模块是累加器,这些累加器不仅能做加减运算,还能存储十位十进制数。当数被调用的时候,它们通过一些通用的总线在这些单元间传递。为了实现高速,面板需要独立完成发送和接受数、计算、储存结果、触发下一个操作,这一系列的操作都不需要任何移动部件。它的多功能性关键在于“分支”的能力——能根据计算结果的符号触发不同的操作。
除了速度之外,ENIAC最引人注目的就是它的体积和复杂性。ENIAC包含了17468个真空管、7200个晶体二极管、1500个继电器、10000个电容器,还有大约五百万个手工焊接头。它的重量达27吨(30美吨),体积大约是2.4m×0.9m×30m(8×3×100英尺),占地167平方米(1800平方英尺),耗电150千瓦[11][12](导致有传言说,每当这台计算机启动的时候,费城的灯都变暗了[13])。IBM的卡片阅读器用于输入,打卡器用于输出。使用IBM会计机(比如IBM 405)可将这些卡片用于离线产生输出。
ENIAC使用十位环形计数器存储数字,每个数字使用36个真空管,其中10个是双三极管,它们组成了环形计数器的触发器。算数运算通过对环形计数器脉冲的计数进行,如果计数器被脉冲“环绕”了,则产生一个进位脉冲。“环绕”的思想在电子领域模拟了机械加法机数字滚轮的操作。ENIAC有20个带符号的十位累加器,它们使用10的补码表示方法,每秒可在它们和数字源(例如另一个累加器,或者常数传送器)进行5000次简单加减操作。因为几个累加器可以同时运行,所以潜在的速度峰值由于这种并发操作而比上述数字高得多。
通过将两个累加器用线连接起来,可以实现双精度计算,不过累加器进行电路时序控制,防止三个或更多的累加器被连接起来导致精度更高。ENIAC中的四个累加器被一个特殊的“乘法器”单元所控制,每秒可进行385次乘法操作。还有五个累加器被一个特殊的“除法器/平方-平方根器”单元,每秒可进行四十次除法运算或三次求平方根运算。
ENIAC中其他九个单元是“初始化单元”(启动和停止机器)、“循环单元”(用于同步其他单元)、“主程序器”(控制“循环”序列)、“读取器”(控制IBM打孔卡片读取器)、“打印器”(控制IBM打孔卡片的打孔)、“常数传送器”,还有三个“函数表”。
Cpl. Irwin Goldstein正在设置ENIAC一个函数表上的开关。(美国陆军照片)
罗哈斯和Hashagen(或者威尔克斯)对于各种操作的时间给出了更多细节,这些时间与上述不同。基本机器周期是200微秒(循环单元中100kHz时钟的20个周期),进行十位数运算时每秒种5000个周期。在一个周期内,ENIAC可以向寄存器内写入一个数,从寄存器内读取一个数,或者加/减两个数。10位数乘以d位数(“d”最大是10)的运算占用d+4个周期,所以10位数乘以10位数的运算占用14个周期,也就是2800微秒(每秒357次)。如果其中一个数不足10位,则操作进行得更快。除法和求平方根的操作占用13×(d+1)个周期,“d”是运算结果(商或平方根)的位数。所以,除法和求平方根操作最多占用143个周期,也就是28600微秒(每秒35次)。(威尔克斯说,产生10位数商的除法操作仅需要6毫秒。)如果结果的位数不足10,则速度更快。
专利争议
莫齐利曾经拥有ENIAC的专利。1973年,经过法院宣判,因莫齐利对于ENIAC的设计思想部分来源于约翰·阿塔纳索夫和克利福德·贝里设计的ABC计算机,所以专利被认定为无效,ENIAC的发明被放入公有领域。
然而,公众领域内普遍将ENIAC认定为世界上第一台电子计算机,将莫齐利认定为电子计算机之父。为此,20世纪90年代初,时年87岁的ABC计算机发明者阿塔纳索夫写信给当时的美国总统老布什,希望公众能承认他自己才是电子计算机之父。于是,老布什向他颁发了一个美国国家工艺技术金质奖章,以表彰他发明了世界上第一台电子数字计算机。
研发过程
研发的原因
研制电子计算机的想法产生于第二次世界大战进行期间。当时激战正酣,各国的武器装备还很差,占主要地位的战略武器就是飞机和大炮,因此研制和开发新型大炮和导弹就显得十分必要和迫切。为此美国陆军军械部在马里兰州的阿伯丁设立了“弹道研究实验室”2。
美国军方要求该实验室每天为陆军炮弹部队提供6张射表以便对导弹的研制进行技术鉴定。事实上每张射表都要计算几百条弹道,而每条弹道的数学模型是一组非常复杂的非线性方程组。这些方程组是没有办法求出准确解的,因此只能用数值方法近似地进行计算。