致敬通用计算机先驱ENIAC诞生75周
(图片来源:网络)
电子数字积分计算机ENIAC(ElectronicNumericalIntegratorAndComputer),世界上最早的通用计算机之一。
年,ENIAC诞生75周年。
作为世界计算机史的重要组成部分,ENIAC的诞生代表了一系列重要的里程碑。第一台图灵完备的电子通用计算机、在理论上能够处理任何计算问题、计算机商业化的关键、启迪了各种计算机的设计思想与原则……
一场“工程数学的革命”
年,宾夕法尼亚大学摩尔电气工程学院讲师JohnWilliamMauchly向学院院长提交了一份名为《TheUseofVacuumTubeDevicesinCalculating》的备忘录,建议使用电子计算机来计算弹道轨迹。
这一想法得到了美国陆军的支持。-年,工程师JohnPresperEckert和JohnWilliamMauchly在宾夕法尼亚大学开始了ENIAC的研制,旨在为美国陆军弹道研究实验室计算火炮的火力表(即弹丸的弹道),当时该项目被命名为ProjectPX。年底,ENIAC研制完成并交付,同年被移至马里兰州的阿伯丁试验场。
在宾夕法尼亚大学摩尔电气工程学院时,ENIAC占地平方英尺(.平方米),由40个九英尺的机柜组成,重达30吨,包含多个真空管和个继电器,以及数十万个电阻器、电容器和电感器。
(图片来源:网络)
“在宾夕法尼亚大学大楼的地下室里,这一群人从收音机、电视、任何他们能找到的东西中,来获取制造ENIAC的金属材料。随后,又把这些专为不同目的而设计的真空管搭建成逻辑设备。”UnisysClearPathForward产品的首席技术官JimThompson说。(JohnWilliamMauchly后来成立了Eckert-MauchlyCorporation公司,后又被Unisys收购。)
二战结束后,年2月15日,ENIAC被捐赠给宾夕法尼亚大学(根据斯密森博物馆的说法,宾夕法尼亚大学也是ENIAC的现存地)。
在当时的陆军新闻稿中,ENIAC被描述为“有望彻底改变工程数学并改变我们许多工业设计方法的新机器。应军械部的要求,年开始用于克服弹道研究中的数学瓶颈,在和平时期,它还能用于科学和工程等工作中。”
在ENIAC之前,弹道轨迹计算是通过用机械计算器手动计算的。预测弹道需要对空气密度、温度和风进行计算,弹道的单个轨迹需要一个人大约20到40个小时的手动“计算”。
ENIAC的出现将计算时间缩短到了30秒内。
起初,ENIAC的输入工作是通过IBM读卡器完成的,IBM打卡器用于输出结果。并且最初的ENIAC没有内存系统,而是通过穿孔卡进行外部存储。直到年,ENIAC才内置了由Burroughs公司制造的字节磁芯存储器。
ENIAC每秒能够进行大约次计算,比当时其他所有机器速度快了一千倍,并且具有乘法、除法和平方根的计算功能。
JimThompson说:“这是一台跨越了机械计算器、加法机和电子计算机等多个历史节点的机器。”
与当时世界上的其他任何计算机械相比,ENIAC在算力方面发生了巨大的变化。但在操作上也面临着各种挑战:
首先是费电。ENIAC在运行时会将室温提高到50C,需要至少两个20马力的鼓风机进行冷却。而在此过程中高达kW的电能消耗足以让整个费城停电。
其次是可靠性。在年特种电子管问世之前,ENIAC使用的标准无线电电子管几乎每天都会被烧坏。早前,甚至需要花费数小时才能确定到底是哪根管子发生了爆炸,后来由于一些“预测性维护”和对设备的精细监控,该团队最终开发出了一个系统,将排查时间缩短到15分钟左右。
操作既困难又复杂。最初,ENIAC采用跳线和开关进行编程。对其重新编程,可以说是一项体力劳动,这需要大量预先计划,以及数天时间才能完成。
编码教程网站Prooffreader的联合创始人兼计算历史爱好者DavidTaylorDavidTaylor解释说,“第一台电子数字计算机,包括ENIAC,必须通过使用跳线接线进行编程。在编程时,程序的特定逻辑必须要直接连接到机器中。这意味着程序员需要通过人工移动插板上的电缆并更改控制输入响应的开关来执行编程。”
“然后,ENIAC在解决完这个特定的问题后,在执行另一个问题时还需要更改程序,再次手动连接机器的数据路径。这是一个相当费力的过程,需要几天时间进行必要的物理更改,此外,设计和编写新程序还需要数周时间。”
年后,执行存储在函数表存储器中的程序成为可能,从而加快了“编程”过程。“ENIAC中使用的三种不同类型的内存被一个单一的、可擦除的高速内存所取代——允许程序以只读内存的形式存储。这种转换极大地加快了再次编程的工作,并将时间从几天缩至数小时。”
计算机史的重要遗产
年代末到年代间,诞生了大量的计算机领域先驱。为了支持战争,各种具有历史意义的计算机被开发出来。
(图片来源:网络)
年在柏林完工的KonradZuseZ3,由于不受重视被断掉政府资助,这台机器从未投入日常使用,年盟军轰炸柏林时被摧毁;
年由JohnV.Atanasoff制造的Atanasoff–Berry计算机,既不可编程、也不是图灵完备的;
年诞生的英国Colossus计算机,旨在破解由Lorenz公司制造的电传打字机加密系统Tunny;
年,一种通用计算机——IBMHarvardMarkI交付使用,每秒只能进行3次加法或减法,执行一次乘法需要6秒,一次除法需要15秒,一次对数或三角函数则在一分钟以上。
“在现在看来,这些早期计算机存在非常慢、大、耗电和内存不足等问题,即使在当时,也很难想象它们所代表的技术具有指数级提升的价值。”Napatech高级业务开发总监CharlieAshton说,“ENIAC最令人印象深刻的数据是,与它所取代的早期机电设备相比,ENIAC性能提高了多个数量级。”
对于各种计算机中“第一”的真实性往往争论不休,但鲜少有人会争论ENIAC对现实世界产生的重要影响。与当时的同行相比,ENIAC的计算能力确实是一个巨大的飞跃,它的通用性质引领了计算机可以为任何数量的潜在用例重新编程的方式。
“在ENIAC之前还有其他计算机(机械和机电计算机)。但ENIAC足以算得上是第一台可以工作的通用数字计算机,并且影响深远,”初创投资公司Bootstrappers.mn的首席技术官兼TheHistoryOfComputingPodcast主持人CharlesEdge说。
ENIAC项目的最初预算仅为美元,交付成本约为美元,相当于今天的约万美元,相对来说很便宜。第一台ENIAC在被雷击后于年10月退役,但已经在新生的计算机行业留下了永远的印记。
ENIAC的成功与失败
年ENIAC准备服役时,二战已即将结束。所以它从未真正用于计算弹道的预期目的。
(图片来源:网络)
“ENIAC的独特之处在于它确实是一个通用计算问题的求解器。尽管它出现在战争后期并没有真正实现其最初的设计目的,但随后它被立即调整用于核武器方面的研究,再到从事农业工作,以及任何快速计算之中。”
在ENIAC的生命周期中,它曾为氢弹设计、天气预报、宇宙射线研究、随机数研究,甚至风洞设计提供了计算服务。同时,ENIAC在研究中子穿透各种材料的距离中所做的工作,也加速了蒙特卡罗计算方法的普及。
CharlesEdge表示,“ENIAC当然会成为计算领域的关键时刻。尤其是ENIAC在氢弹数学模型中的部分工作中,蒙特卡罗模拟和冯·诺依曼程序存储概念等经典遗产被继承。”
据报道,JohnWilliamMauchly对计算机的兴趣源于,希望通过计算机预测天气以及使用电子设备对天气现象进行统计分析。
事实上,ENIAC确实完成了第一个24小时天气预报的工作。但是,与当时的大多数计算机一样,冯·诺依曼和核武器研究的灵魂才是ENIAC输出的重要组成部分。
在美国洛斯阿拉莫斯国家实验室研究氢弹时,冯·诺依曼逐渐意识到ENIAC的第一个程序不在于弹道表,而在于研究热核武器的可行性。冯·诺依曼曾与IBMHarvardMarkI合作,在设计ENIAC后继机器EDVAC方案时,创建了冯·诺依曼架构。
年,大量ENIAC研究人员在宾夕法尼亚州费城举办了第一次计算机教育讲座,这些讲座统称为数字计算机设计的理论和技术讲座,通常被称为摩尔学校讲座,对计算机的未来发展具有重要影响。
“摩尔学校讲座帮助培养了贝尔实验室的克劳德·香农、麻省理工学院的福瑞斯特、GE大型机开发人员等,他们成为了大型机行业的重要参与者,工程师、研究人员以及未来新兴计算机行业的中坚力量。”CharlesEdge说。
再后来,美国五角大楼邀请了来自英国和美国的专家来启动该领域的研究。摩尔学校讲座、冯·诺依曼备忘录,以及关于EDVAC设计的报告初稿等,引发了一场创造真正通用计算机的竞赛。
JohnPresperEckert和JohnWilliamMauchly的想法被很快应用于实践,年EDVAC(电子离散变量自动计算机)被交付给了美国陆军的弹道研究实验室。EDVAC的设计工作开始于ENIAC全面投入运营之前,采用了冯·诺依曼架构。
然而,他们很快就被“曼彻斯特婴儿“实验机器(ManchesterBaby,世界第一台存储程序计算机)击败,也被剑桥EDSAC(被认为是第一台实用计算机)以及LEO商业计算机以微弱的优势超越。
JimThompson讲道:“ENIAC至今还影响着各种构建技术。如模块化设计:它是一个可扩展的机器,支持功能拓展与更改。”
“在不到十年的生命周期中,ENIAC被添加了各种技术,最终绘出了整个计算机行业的蓝图。”
编译:李每
编辑:王衍
转载请注明:http://www.abuoumao.com/hyfw/4440.html