分析机(英语:Analytical Engine)是由英国数学家查尔斯·巴贝奇设计的一种机械式通用计算机。从1837年首次提出这种机器的设计,一直到他去世的1871年,由于种种原因,这种机器并没有被真正地制造出来。但它本身的设计逻辑却十分先进,是大约100年后电子通用计算机的先驱。

Thumb
亨利·巴贝奇于1910年制造的分析机磨坊(Mill)模型,现存于伦敦科学馆

设计

查尔斯·巴贝奇最初尝试的所谓差分机,可以通过求解差分来计算对数表和三角函数表,然后能近似计算多项式。由于巴贝奇与他的首席工程师约瑟夫·克莱芒英语Joseph Clement起了争执,英国政府就撤回了这项项目的资金,差分机也因此没能完成[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]

参见

参考

Wikiwand in your browser!

Seamless Wikipedia browsing. On steroids.

Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.

Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.