分析机(英語:Analytical Engine)是由英国数学家查尔斯·巴贝奇设计的一种机械式通用计算机。从1837年首次提出这种机器的设计,一直到他去世的1871年,由于种种原因,这种机器并没有被真正地制造出来。但它本身的设计逻辑却十分先进,是大约100年后电子通用计算机的先驱。
设计
查尔斯·巴贝奇最初尝试的所谓差分机,可以通过求解差分来计算对数表和三角函数表,然后能近似计算多项式。由于巴贝奇与他的首席工程师约瑟夫·克莱芒起了争执,英国政府就撤回了这项项目的资金,差分机也因此没能完成[2][3]。在这期间,巴贝奇意识到建造一种更加通用的机器(即所谓的分析机)是可行的,于是便于1833年开始了分析机的设计[4]。
分析机由蒸汽机驱动,大约有30米长、10米宽。它的输入由程序和数据组成,并使用打孔卡输入,这种输入方法被当时的织布机广泛采用。分析机通过一台打印机、一个弯曲的绘图仪和一个铃铛输出,也可以在纸上打孔以便日后读取。分析机采取普通的十进制定点计数法。
它的“記憶體”大约可以存储1000个40位的十进制数(共约16.2kB)。有一个算術邏輯單元可以进行四则运算、比较和求平方根操作。刚开始研制的时候,分析机的外观被普遍认为和差分机相似 。1858年的图纸呈现了一个有规律的网格布局[11]。与现代计算机的中央处理器(CPU)类似,其算術邏輯單元使用的微程序存储在插在被称为“桶”的滚筒上的支柱中,这为用户指定更加复杂的运算提供了便利。[12]
分析机使用的编程语言与今天的汇编语言类似,支持循环语句和条件分支,因此这门语言被认为是圖靈完備的。分析机采用三种不同的打孔卡和读卡器来区分算术运算、数字常量和存储的指令,以此实现了数字在存储器和运算单元之间的加载和存储操作。巴比奇在1837至1840年间写下了24份程序,并在之后又写了一份。这些程序可以计算多项式、迭代公式、高斯消去法和伯努利数。
参见
参考