谁发明了分析机

2025年1月31日 | 阅读 7 分钟

分析机是查尔斯·巴贝奇在1837年构思的一个非常早期的计算机概念。它能够执行比基础数学运算更复杂的操作——它还可以做出决策和记忆。这使得它与我们今天使用的计算机相似。然而,巴贝奇遇到了诸如与他的主要助手发生争执和资金不足等问题,所以他从未完成任何机器的制造。直到1941年,才由另一位发明家,**康拉德·祖斯 (Konrad Zuse)**,制造了第一台真正意义上的通用计算机。尽管巴贝奇的构想没有立即实现,但它们为现代计算机奠定了基础。

巴贝奇的分析机在他有生之年从未被实际建造出来;它的概念框架为后来的计算技术发展奠定了基础,因此它被认为是计算机史上最重要的成就之一。

Who Invented Analytical Engine

查尔斯·巴贝奇

查尔斯·巴贝奇是一位非常聪明的人,他生活在很久以前的英国。他在数学、发明和制造机器方面做了许多不同的工作。他最好的想法之一就是制造一台能够自动完成任务而无需人工操作的计算机。有些人称他为**“计算机之父”**,就是因为这个。他制造了第一台名为**差分机 (Difference Engine)**的计算机。尽管他未能完成它的建造,但他的想法非常出色,激励了后人制造出更好的计算机。他最著名的构想是**分析机 (Analytical Engine)**,它具备了当今计算机的所有基本要素。他通过一种他在织布机上看到的机械原理,想出了告诉计算机如何工作的办法。

Who Invented Analytical Engine

除了在计算机方面很聪明,巴贝奇在伦敦也很受欢迎。他会举办有趣的派对,人们会在那里讨论科学。尽管他没有看到他的计算机构想实现,但他制造的部件被陈列在伦敦的一家博物馆里。1991年,人们根据他旧的图纸建造了一台可以工作的差分机,这证明了他的想法确实很出色。

设计

巴贝奇的第一个计算机尝试,即**差分机 (Difference Engine)**,旨在执行数学任务,例如计算对数和三角函数。但他在建造过程中遇到了困难,部分原因是他需要与他的主要助手约瑟夫·克莱门特 (Joseph Clement)和睦相处,而且政府也停止了他的资金支持。

在开发差分机的过程中,巴贝奇意识到他可以做得更好——制造一个更通用的计算机,即**分析机 (Analytical engine)**。他大约在1833年开始设计它。这台新机器将使用穿孔卡片来指示它如何工作,类似于当时织布机的操作方式。它可以打印输出,绘制曲线,并能用铃声发出声音。它还可以将数字写在卡片上供以后使用。它使用我们现在使用的常规数字进行数学计算,但它能够进行各种算术运算,甚至可以比较数字或找到平方根。

分析机有一个可以存储1000个数字的内存,每个数字有50位。它还有一个称为“磨坊”的部分,负责进行数学计算。这个磨坊就像机器的大脑,它的操作方式存储在旋转的滚筒上。人们用来指示机器工作的语言,就是我们今天所说的汇编语言。它可以执行重复任务和做出决策,就像现代计算机一样。巴贝奇甚至为分析机编写了大约二十几个程序,用于解决数学问题和计算数字模式。

在计算机科学中的作用

巴贝奇的工作在20世纪30年代和40年代的早期计算机建造者中几乎没有引起关注。这意味着那些发明家必须自己构思如何制造计算机,尽管巴贝奇已经思考过许多重要的概念。例如,制造了一台大型计算器**哈佛Mark I (Harvard Mark I)**的**霍华德·艾肯 (Howard Aiken)**,在他进行机器研发时了解了分析机。他是在之后才得知此事,并感到遗憾,因为他没有早点知道。Mark I需要具备巴贝奇分析机的一些重要特性,比如能够根据条件做出决策。

其他发明家,如**J. Presper Eckert 和 John W. Mauchly**,在设计第一台电子通用计算机ENIAC时,也对巴贝奇的工作了解不多。他们在不知道巴贝奇早已构思出类似想法的情况下,不得不自己进行研发。

与当时其他计算机的比较

如果分析机得以建成,那将是一件大事。它可以完成许多现代计算机能做的事情,例如遵循指令、解决复杂的数学问题和做出决策。但也有一个缺点——与今天的计算机相比,它的速度会非常慢。

例如,巴贝奇认为他的分析机大约需要三分钟才能将两个各含20位数字相乘。这听起来可能很快,但与今天的计算机相比,它却是极其缓慢的。**哈佛Mark I (Harvard Mark I)**,另一台早期计算机,可以在短短六秒内完成相同的任务。尽管Mark I不像分析机那样先进,但它的速度仍然快得多。

而如果我们看看现代CPU(计算机的大脑),它们可以在不到十亿分之一秒的时间内完成同样的乘法!所以,虽然巴贝奇的分析机在其时代会是开创性的,但与我们今天的计算机相比,它的效率会低得多。

其他类型的分析机

  1. 差分机 (Difference Engine): 巴贝奇的发明,设计于1820年代,但实际建造于1990年代。它使用十进制数字系统,并采用机械计算机制。它不像现代计算机那样可编程;相反,它的计算是物理设置的。它不是图灵完备的,其内存基于轮子在轴上的物理状态。
  2. 分析机 (Analytical Engine): 巴贝奇的另一项创造,设计于1830年代,但从未建成。与差分机类似,它使用十进制数字系统并采用机械操作。然而,它可以通过穿孔卡片进行编程,使其更加通用。尽管从未建成,但它的设计是图灵完备的。其内存将基于轮子在轴上的物理状态。
  3. Ludgate 的分析机 (Ludgate's Analytical Engine): 一项1909年的设计,与巴贝奇的分析机一样,使用十进制系统并通过穿孔卡片进行编程。虽然未建成,但其设计是图灵完备的,内存基于杆件的物理状态。
  4. Torres 的分析机 (Torres' Analytical Machine): 这台1920年的可运行机器使用十进制系统,但采用机电计算机制。它不像现代计算机那样可编程,依赖于跳线进行输入和输出设置。它需要是图灵完备的,内存基于机械继电器的物理状态。
  5. Zuse Z1: 康拉德·祖斯 (Konrad Zuse) 的第一台设计于1939年完成。它使用二进制浮点系统和机械计算机制。与一些前代机器一样,它不可编程;通过跳线设置加密输入。它不是图灵完备的,内存基于杆件的物理状态。
  6. Bombe: 这台机器从1939年开始在波兰、英国和美国开发,主要用于在第二次世界大战期间破解恩尼格玛密码。它使用机电机制进行字符计算,并且不可编程。其操作涉及通过跳线设置加密输入。它不是图灵完备的,内存依赖于转子的物理状态。
  7. ENIAC: ENIAC(电子数字积分器和计算机)在美国开发,于1945年12月投入运行,是早期电子通用计算机之一。它使用十进制系统和基于真空管的电子计算机制。ENIAC可以通过跳线和开关进行编程。它是图灵完备的,并使用真空管三极管触发器作为内存。
  8. Manchester Baby: Manchester Baby,也称为Small-Scale Experimental Machine (SSEM),于1948年6月投入运行,是世界上第一台电子存储程序数字计算机。它使用二进制数字系统和基于威廉姆斯阴极射线管的电子计算机制。编程涉及通过键盘将二进制程序输入内存。它是图灵完备的,并使用威廉姆斯阴极射线管作为内存。
  9. EDSAC: EDSAC(电子延迟存储自动计算器)于1949年5月投入运行,是另一台早期电子存储程序计算机。它使用二进制数字系统和基于水银延迟线 (mercury delay lines) 的电子计算机制。编程涉及一个五位操作码和可变长度的操作数。EDSAC是图灵完备的,并使用水银延迟线作为内存。

结论

查尔斯·巴贝奇提出了一个名为分析机的绝妙想法,这就像一台非常早期的计算机。虽然他当时无法建造它,但他的想法如此出色,为我们今天的计算机奠定了基础。分析机本应能够做许多事情,例如解决数学问题和遵循指令。巴贝奇的巧妙设计包括与现代计算机相似的功能,例如记忆信息和做出决策。尽管巴贝奇遇到了一些问题,并且没有看到他的发明实现,但他的想法对计算机的发展产生了巨大影响。他被铭记为计算机领域的先驱,展示了想象力和创新能有多么强大。