分析机
分析机(英语:Analytical Engine)是由英国数学家查尔斯·巴贝奇设计的一种机械式通用计算机。从1837年首次提出这种机器的设计,一直到他去世的1871年,由于种种原因,这种机器并没有被真正地制造出来。但它本身的设计逻辑却十分先进,是大约100年后电子通用计算机的先驱。
设计
查尔斯·巴贝奇最初尝试的所谓差分机,可以通过求解差分来计算对数表和三角函数表,然后能近似计算多项式。由于巴贝奇与他的首席工程师约瑟夫·克莱芒起了争执,英国政府就撤回了这项项目的资金,差分机也因此没能完成[1][2][3]。在这期间,巴贝奇意识到建造一种更加通用的机器(即所谓的分析机)是可行的,于是便于1833年开始了分析机的设计[4][5]。
分析机由蒸汽机驱动,大约有30米长、10米宽。它的输入由程序和数据组成[6][1],并使用打孔卡输入,这种输入方法被当时的织布机广泛采用[7]。分析机通过一台打印机、一个弯曲的绘图仪和一个铃铛输出[1],也可以在纸上打孔以便日后读取。分析机采取普通的十进制定点计数法[1]。
它的“内存”大约可以存储1000个40位的十进制数(共约16.2kB)[8]。有一个算术逻辑单元可以进行四则运算、比较和求平方根操作[9]。刚开始研制的时候,分析机的外观被普遍认为和差分机相似 [10]。1858年的图纸呈现了一个有规律的网格布局[11]。与现代计算机的中央处理器(CPU)类似,其算术逻辑单元使用的微程序存储在插在被称为“桶”的滚筒上的支柱中,这为用户指定更加复杂的运算提供了便利。[12]
分析机使用的编程语言与今天的汇编语言类似,支持循环语句和条件分支,因此这门语言被认为是图灵完备的。分析机采用三种不同的打孔卡和读卡器来区分算术运算、数字常量和存储的指令,以此实现了数字在存储器和运算单元之间的加载和存储操作。巴比奇在1837至1840年间写下了24份程序,并在之后又写了一份[7][13]。这些程序可以计算多项式、迭代公式、高斯消元法和伯努利数[7][14]。
参见
- 查尔斯·巴贝奇
- 差分机
参考
- ^ 1.0 1.1 1.2 1.3 Collier 1970,第chapter 3页.
- ^ Lee, John A.n. International Biographical Dictionary of Computer Pioneers. Google Books. [2012-08-01]. (原始内容存档于2020-07-09).
- ^ Balchin, Jon. Science: 100 Scientists Who Changed the World. Google Books. [2012-08-01]. (原始内容存档于2019-06-04).
- ^ Dubbey, J. M.; Dubbey, John Michael. The Mathematical Work of Charles Babbage. Cambridge University Press. 2004-02-12: 197. ISBN 9780521524766 (英语).
- ^ Bromley 1982,第196页.
- ^ Menabrea & Lovelace 1843.
- ^ 7.0 7.1 7.2 Bromley 1982,第215页.
- ^ Bromley 1982,第198页.
- ^ Bromley 1982,第211页.
- ^ Bromley 1982,第209页.
- ^ The Babbage Pages: Calculating Engines. Projects.ex.ac.uk. 1997-01-08 [2012-08-01]. (原始内容存档于2008-03-12).
- ^ Tim Robinson. Difference Engines. Meccano.us. 2007-05-28 [2012-08-01]. (原始内容存档于2020-10-05).
- ^ Bromley 1990,第89页.
- ^ Bromley 2000,第11页.