巴貝奇:現(xiàn)代計算機真正的鼻祖

? 歡迎來到神奇的01世界 ?

從最基本的加法器到真正的四則計算器瘦锹,一代代世界頂級的發(fā)明家不斷精進著機器的設(shè)計和工藝悉患。從17世紀到20世紀噪矛,隨著時代的演進,機器驅(qū)動也完成了從手搖到電動的革新法褥。即使在電子計算器出現(xiàn)后的幾十年里,部分已經(jīng)停產(chǎn)的機械計算器仍在世界各地的辦公桌上服役酬屉。

可當我們回顧歷史卻發(fā)現(xiàn)半等,這個輝煌的、跨越了三百多年時光呐萨、匯聚了眾多天才智慧的機械計算時代杀饵,卻僅僅在和加、減谬擦、乘切距、除——簡單到不能再簡單的基本運算打交道。難道機器只能用來做運算嗎惨远?為了解決一個數(shù)學問題谜悟,人們往往需要將多步運算串聯(lián)起來,每一次串聯(lián)不過是將上一步的運算結(jié)果直接或經(jīng)過簡單處理后交給下一步而已北秽,而既然運算可以由機器完成葡幸,為什么步驟就不可以呢?

數(shù)學問題的解決過程

第一個用實際行動驗證這一想法的羡儿,是來自英國的曠世奇才——查爾斯·巴貝奇(Charles Babbage)礼患。這個今天并不為人所熟知的名字,其實有著艾倫·圖靈(Alan Turing)和馮·諾依曼(John von Neumann)那樣的重量掠归。

巴貝奇早年經(jīng)歷

查爾斯·巴貝奇(Charles Babbage)缅叠,1791-1871,英國博學家虏冻、數(shù)學家肤粱、哲學家、發(fā)明家厨相、機械工程師领曼。(圖片來自維基百科)

巴貝奇出生于英國倫敦的一個富裕家庭鸥鹉,其父親是艦隊街上的一名銀行合伙人。上天在賜予優(yōu)厚的生活條件的同時庶骄,也剝奪了他童年的健康毁渗。兒時的巴貝奇體弱多病,甚至一度游走在生死邊緣单刁,為此他不得不時常轉(zhuǎn)學或休學灸异,在埃克塞特羔飞、托特尼斯肺樟、恩菲爾德等多地輾轉(zhuǎn)求學,并經(jīng)歷了多任家庭教師逻淌。虛弱的體質(zhì)和坎坷的經(jīng)歷卻并沒有消磨巴貝奇的學習意志么伯,反而激發(fā)出他對數(shù)學的天賦與熱愛。他勤奮刻苦卡儒,善于鉆研田柔,最終在一位來自牛津的家庭教師的指引下,考進了劍橋大學朋贬。

1810年10月凯楔,19歲的巴貝奇來到劍橋大學三一學院。一開始锦募,他對這座頂級學府充滿了期待摆屯,結(jié)果很快發(fā)現(xiàn),大學里常規(guī)的教學內(nèi)容糠亩,自己早已在平時的自學中掌握了虐骑。倍感失望的巴貝奇只得繼續(xù)自我精進,并很快在學術(shù)界嶄露頭角赎线。他結(jié)識了一群天才朋友廷没,和大天文學家威廉·赫歇爾(Wilhelm Herschel)的兒子約翰·赫歇爾(John Herschel)成為至交。

赫歇爾父子——左:弗里德里洗沽龋·威廉·赫歇爾(Frederick William Herschel)颠黎,1738-1822,英國天文學家滞项、作曲家狭归,天王星及其兩顆衛(wèi)星的發(fā)現(xiàn)者,恒星天文學創(chuàng)始人文判。右:約翰·弗里德里瞎担·威廉·赫歇爾爵士(Sir John Frederick William Herschel),1792-1871戏仓,英國博學家疚宇、數(shù)學家亡鼠、天文學家、化學家敷待、發(fā)明家间涵、攝影師,藍圖的發(fā)明者讼撒。(圖片來自維基百科)

1812年浑厚,巴貝奇與包括約翰·赫歇爾在內(nèi)的幾位同學一同創(chuàng)辦了名為分析學會(Analytical Society)的數(shù)學社團,致力于推廣萊布尼茨的微積分符號系統(tǒng)根盒。同年,巴貝奇轉(zhuǎn)至同屬劍橋的彼得豪斯學院物蝙,到1814年畢業(yè)為止炎滞,一直被公認為學院中數(shù)學領(lǐng)域的頂級人物。

畢業(yè)后的巴貝奇更是成就非凡诬乞,翻開他的履歷册赛,里面滿滿當當寫著兩個字:高級。

1815年震嫉,巴貝奇年僅24歲就在英國皇家學會開設(shè)天文學講座森瘪,并于次年成為學會會員;1816年票堵,他與分析學會的同好們一起整理扼睬、翻譯、出版了法國數(shù)學家西爾維斯特·拉克魯瓦(Sylvestre Lacroix)的學術(shù)講座合集悴势,成為當時最出色的微積分教科書窗宇;1819年,在著名天文學家皮埃爾-西蒙·拉普拉斯(Pierre-Simon Laplace)的推薦下特纤,被愛丁堡大學聘為教授军俊;1820年,英國皇家天文學會成立捧存,巴貝奇為創(chuàng)始人之一粪躬,由威廉·赫歇爾擔任會長。

皇家天文學會的成立之初旨在規(guī)范天文學領(lǐng)域的計算昔穴,并提高數(shù)據(jù)的復用價值镰官。巴貝奇對計算和數(shù)據(jù)有著濃厚的興趣,他將隨后的事業(yè)重心放到了這份興趣之上傻咖,也許他自己也不會想到朋魔,這一選擇,讓他的人生開始從優(yōu)秀走向偉大卿操。

1824年警检,皇家天文學會將最高獎項——金質(zhì)獎章授予巴貝奇孙援,以表彰他在這一領(lǐng)域做出的第一份貢獻——一種高度自動化的計算機器——差分機(difference engine)。

差分機

差分思想

差分機這個名字扇雕,源自其所使用的算法拓售,是帕斯卡在1654年提出的差分思想:n次多項式的n次數(shù)值差分為同一常數(shù)。這句話概括性高镶奉,不太好理解础淤,讓我們用幾個例子來詳細說明。

選用經(jīng)典數(shù)字1024哨苛,構(gòu)造一次函數(shù)F(x):
F(x) = 10x + 24, x∈N

同時定義差分?F(x):
?F(x) = F(x+1) - F(x)

在x取0~6時鸽凶,F(xiàn)(x)及?F(x)的值如下表所示:

x 0 1 2 3 4 5 6
F(x) 24 34 44 54 64 74 84
?F(x) 10 10 10 10 10 10

不難發(fā)現(xiàn),對于一次多項式建峭,每個相鄰的x所對應的F(x)之差都是一個常數(shù)玻侥,這個常數(shù)正是x的系數(shù)。那么二次多項式呢亿蒸?

構(gòu)造二次函數(shù)F(x):
F(x) = 10x^2 + 2x + 4, x∈N

同時定義一次差分與二次差分:
?F^1(x) = F(x+1) - F(x)

?F^2(x) = ?F^1(x+1) - ?F^1(x)

在x取0~6時凑兰,F(xiàn)(x)及其一次、二次差分的值如下表所示:

x 0 1 2 3 4 5 6
F(x) 4 16 48 100 172 264 376
?F1(x) 12 32 52 72 92 112
?F2(x) 20 20 20 20 20

對于二次多項式边锁,每個相鄰的x所對應的一次差分之差(即二次差分)是一個常數(shù)姑食。

一次多項式和二次多項式的規(guī)律如此,三次茅坛、四次音半,乃至任意多次的多項式都遵循這樣的差分規(guī)律——n次多項式的n次差分為常數(shù)。

差分規(guī)律是一項偉大的發(fā)現(xiàn)灰蛙,有了差分祟剔,在計算多項式時就可以用加法代替乘法,我們只需要準備好x=0時F(x)及各次差分的值摩梧,后面任意x所對應的F(x)值均可通過加法得出物延。只要有了第1列F(0)、F1(0)和F2(0)的值仅父,第2列的F(1)即可通過F(0)+F1(0)得到叛薯、F1(1)可通過F1(0)+F2(0)得到,同理笙纤,第3列的F(2)和F1(2)也可根據(jù)第2列的數(shù)據(jù)得到耗溜,以此類推,任意列的數(shù)據(jù)都可通過前一列的數(shù)據(jù)得到省容。意即抖拴,求解F(n),只需前n列數(shù)據(jù)的不斷迭代。而這整個過程阿宅,只涉及加法候衍。

這可了不得!要知道洒放,許多常見的函數(shù)在數(shù)學上稱為解析函數(shù)蛉鹿,它們都可以用多項式逼近(冪級數(shù)展開),常用的三角函數(shù)往湿、對數(shù)函數(shù)都可以轉(zhuǎn)換為多項式妖异。借助差分思想,這些函數(shù)可以進一步轉(zhuǎn)換為重復的加法领追。而加法運算正是機械計算器的“拿手好戲”他膳,這樣一來,絕大部分數(shù)學運算就都可以交給機器了绒窑。

研制歷程

差分機的設(shè)想矩乐,最早由一位名為約翰·赫爾弗里奇·馮·米勒(Johann Helfrich von Müller)的德國工程師在1784年提出,但他沒有得到資金支持回论,這一歷史重任最終留給了巴貝奇。

巴貝奇與差分機的故事分歇,要從1789年法國大革命說起傀蓉。君主制被推翻后,新成立的國民議會大刀闊斧地推行著多方改革职抡,其中一項很重要的工作就是統(tǒng)一全國混亂不堪的度量衡葬燎,這項曠日持久的工程直接導致了后來國際米制的誕生,成為法國對世界科學最偉大的貢獻之一缚甩。于此同時谱净,原本的數(shù)學用表不再適用,需要重新編制擅威。1791年壕探,這項艱巨的任務落在了數(shù)學家加斯帕德·德普羅尼(Gaspard de Prony)肩上。

加斯帕德·德普羅尼(Gaspard de Prony)郊丛,1755-1839李请,法國數(shù)學家、工程師厉熟,致力于水力學研究导盅。(圖片來自維基百科)

表的規(guī)模十分龐大,計算結(jié)果需要精確到小數(shù)點后14~29位揍瑟,工作量之巨白翻,已經(jīng)遠不能作為一項數(shù)學任務去對待,它已經(jīng)是個正兒八經(jīng)的工程绢片。普羅尼想到經(jīng)濟學家亞當·斯密(Adam Smith)那本經(jīng)典的《國富論》滤馍,其中勞動分工的理念令他頗受啟發(fā)岛琼。普羅尼將制表人員分成金字塔式的三層:第一層為5~6名頂級的數(shù)學家,負責選擇公式纪蜒、確定計算精度和計算范圍衷恭;第二層為7~8名普通的數(shù)學家,負責計算一些關(guān)鍵數(shù)據(jù)和初始數(shù)據(jù)纯续,并為第三層提供計算模板随珠、方法和市里;第三層為60~80名只會基本算術(shù)的計算員猬错,負責完成耗時耗力的重復運算窗看,他們大多是失業(yè)的理發(fā)師,因為大革命后倦炒,上流社會的發(fā)型設(shè)計市場跟著貴族階層一起瓦解了显沈。

這種創(chuàng)新式的分工方式不僅幫助普羅尼順利完成了任務,還使他有了足夠的自信宣稱“制作數(shù)學用表可以像生產(chǎn)針一樣簡單”逢唤。

然而最大的問題是拉讯,成表的正確率卻不盡人意,盡管普羅尼要求每個數(shù)據(jù)至少計算兩遍鳖藕,并且要在法國的不同地點用不同的方法完成魔慷。

多年以后的英國,巴貝奇和約翰·赫歇爾也承擔著類似的制表任務著恩。他深入調(diào)研了這位前輩的工作院尔,了解到正確率的保障有多困難。他們嘗試了各種減少錯誤的手段喉誊,比如調(diào)整紙張和墨水的顏色以提高數(shù)字的識別度邀摆,比如直接拿現(xiàn)有多個版本的表進行謄抄、比對伍茄、讓不同人員反復校對栋盹,結(jié)果卻依然差強人意。

其實幻林,那個時代基本沒有一版數(shù)學用表是完全正確的贞盯,有些版本甚至錯誤百出。這些錯誤可能會造成很嚴重的后果沪饺,比如航海表一旦在關(guān)鍵地方出錯可以直接導致船毀人亡躏敢。

巴貝奇意識到:只要是人為的,就沒有完美的整葡。他思忖著:普羅尼分工模式的最底層件余,那個最簡單卻也是最吃力的層次,人員最多也是產(chǎn)生最多錯誤的層次,可否用機器來代替呢啼器?

1822年6月14日旬渠,巴貝奇向皇家天文學會遞交了一篇名為《論機械在天文及數(shù)學用表計算中的應用》的論文,差分機的概念正式問世端壳。

與論文一起亮相的告丢,是一臺簡單的原型機——差分機0號。英國政府對它很有興趣损谦,并于次年撥款1700英鎊岖免,希望巴貝奇能做出實用產(chǎn)品,徹底解決制表難題照捡。

拿到啟動資金的巴貝奇如魚得水颅湘,立即著手差分機1號的研制,并宣稱只需兩三年就能完成任務栗精。誰知實行起來要比想象中困難得多闯参,那個時代的機械制造水平實在滿足不了差分機的精密要求,巴貝奇跑遍整個歐洲也沒找到多少能用的零件悲立,于是在制造機器之前鹿寨,還要先考慮怎么制造各類零件。在當時一位頂尖的英國機械師約瑟夫·克萊門特(Joseph Clement)的幫助下薪夕,巴貝奇不但做出了差分機能用的零件释移,還培養(yǎng)出大批優(yōu)秀的技師。

也正因如此寥殖,他們無意間將一個項目的攤子鋪到了一個行業(yè)的尺度,盡管實施的過程精雕細琢涩蜘、盡善盡美嚼贡,卻沒能交付一件滿足要求的產(chǎn)品。1832年同诫,項目啟動10年過去了粤策,巴貝奇卻只完成了設(shè)計稿的七分之一——一臺支持6位數(shù)、2次差分的小模型(設(shè)計稿為20位數(shù)误窖、6次差分)叮盘。

差分機1號的七分之一模型(圖片來自維基百科)

上圖由巴貝奇長子本杰明·赫歇爾·巴貝奇(Benjamin Herschel Babbage)繪制。1862年霹俺,這臺“低配版”的差分機1號先后在倫敦世界博覽會和南肯辛頓博物館展出柔吼,后藏于倫敦科學博物館。

英國政府大失所望丙唧,他們想要的只是一臺能自動制表的機器而已愈魏,而不是培養(yǎng)技術(shù)人才、增加就業(yè)崗位、促進機械行業(yè)發(fā)展這些“大事”培漏。而巴貝奇本人也開始轉(zhuǎn)向一種新機器的研究(下文詳述)溪厘,差分機的建造基本爛尾。1842年牌柄,政府正式宣布不再出資畸悬,為期20年的差分機項目最終以失敗告終,而至此珊佣,項目花銷的經(jīng)費已經(jīng)高達17000英鎊蹋宦,是最初預算的整整10倍。

值得一提的是彩扔,客觀條件(制造業(yè)水平)的不足其實并不是差分機1號失敗的主要原因妆档。同時代的瑞典人佩爾·喬治·舒茨(Per Georg Scheutz)在借鑒巴貝奇的設(shè)計之后,于1843年建成了一臺支持5位數(shù)虫碉、3次差分的差分機贾惦,隨后又分別在1853和1859年建成了兩臺支持15位數(shù)、4次差分的機器敦捧,先后由美國紐約的一家天文臺和英國政府購買使用须板。

喬治·舒茨肖像及其差分機(圖片來自維基百科)

舒茨之后,還有來自瑞典兢卵、英國习瑰、美國、德國秽荤、新西蘭等多國的發(fā)明家和公司在1859~1931年間都成功建造了差分機甜奄。

巴貝奇作為差分機的鼻祖,反倒沒有留下實際可用的機器窃款。1846~1849年课兄,他升級了設(shè)計,提出支持31位晨继、7次差分的差分機2號(Difference Engine No.2)方案烟阐,但沒了政府的資助,只能停留于稿紙紊扬。于是蜒茄,巴貝奇的設(shè)計是否真的可行,其人作為“差分機之父”是否名副其實餐屎,成為學術(shù)界長久以來的一大爭論檀葛。直到1985~1991年,倫敦科學博物館為了紀念巴貝奇誕辰200周年腹缩,根據(jù)其1849年的設(shè)計驻谆,用純19世紀的技術(shù)成功造出了差分機2號卵凑,才徹底鞏固了他的歷史地位。(博物館發(fā)現(xiàn)胜臊,巴貝奇的設(shè)計稿中僅存在少量錯誤勺卢,而且基本可以斷定它們是巴貝奇刻意設(shè)置的防盜措施。)

倫敦科學博物館的差分機2號(圖片來自維基百科)

這臺差分機被珍藏于倫敦科學博物館的玻璃柜中象对。后來黑忱,由前微軟CTO內(nèi)森·梅爾沃德負責建造了第2臺差分機2號,于2008~2016年在美國加州的計算機歷史博物館展出(現(xiàn)存于梅爾沃德創(chuàng)辦的高智發(fā)明公司)勒魔,由工作人員現(xiàn)場講解和演示榆浓,參觀者得以更直觀地感受其工作機理凛膏。

在計算機歷史博物館展出的差分機2號(圖片來自維基百科)

工作原理

差分機2號支持7次差分汰扭,即可解七次多項式德崭,構(gòu)造一個簡單的七次函數(shù)F(x):
F(x) = x^7 + x, x∈N

在x取0~9時,F(xiàn)(x)及其一~七次差分的值如下表所示弟胀,其中七次差分為常數(shù)5040楷力。

x 0 1 2 3 4 5 6 7 8 9
F(x) 0 2 130 2190 16388 78130 279942 823550 209160 4782978
?F1(x) 2 128 2060 14198 61742 201812 543608 1273610 2685818
?F2(x) 126 1932 12138 47544 140070 341796 730002 1412208
?F3(x) 1806 10206 35406 92526 201726 388206 682206
?F4(x) 8400 25200 57120 109200 186480 294000
?F5(x) 16800 31920 52080 77280 107520
?F6(x) 15120 20160 25200 30240
?F7(x) 5040 5040 5040

根據(jù)差分思想,我們只需要將表中的第1列數(shù)據(jù)“喂”給機器孵户,機器通過7次加法運算即得第2列數(shù)據(jù)萧朝,以此類推,每一列都可通過對其前一列數(shù)據(jù)的7次加法運算得到夏哭。實現(xiàn)這一過程需要設(shè)置8個計數(shù)器检柬,分別存儲F(x)和?F1(x)~?F7(x)的值。

七次差分多項式求解運算過程示意圖

第1步竖配,計數(shù)器A和B相加何址,結(jié)果存入A;第2步进胯,B和C相加头朱,結(jié)果存入B;以此類推龄减,第7步,G和H相加班眯,結(jié)果存入G希停。計數(shù)器,除了H始終存放常數(shù)?F7(x)署隘,A~G都依次被新值覆蓋宠能,這7步運算必須串行執(zhí)行。

巴貝奇對此不太滿意磁餐,于是讓計數(shù)器成對成對地并行相加违崇,即A+B阿弃、C+D、E+F和G+H同時進行羞延,隨后再同時完成B+C渣淳、D+E和F+G。這樣整個計算過程就只需2步伴箩,速度提高了3.5倍入愧。然而在第2步中,C嗤谚、E棺蛛、G中已經(jīng)是新值,為了直接利用這些新值巩步,我們要準備的初始數(shù)據(jù)不再是F(0)和?F1(0)~?F7(0)旁赊,而是“階梯式”的F(3)、?F1(3)椅野、?F2(2)终畅、?F3(2)、?F4(1)鳄橘、?F5(1)声离、?F6(0)和?F7(0)。

在差分機2號中瘫怜,存儲數(shù)據(jù)的8個計數(shù)器表現(xiàn)為8列示數(shù)齒輪术徊,每列有31個,一個齒輪對應一個數(shù)位(底部為最低位鲸湃,頂部為最高位)赠涮,即單列可存儲長達31位的數(shù)據(jù)。

差分機2號中的8列計數(shù)器(圖片來自《Babbage's Difference Engine No. 2》)
(圖片來自《Babbage's Difference Engine No. 2》)

單個示數(shù)輪有40個齒暗挑,一圈印著4組0~9的數(shù)字笋除,每旋轉(zhuǎn)90°(四分之一圈)需要一次進位。

差分機2號中的示數(shù)輪(圖片來自《Babbage's Difference Engine No. 2》)

兩個相鄰計數(shù)器的相加炸裆,對應著31對示數(shù)輪的兩兩相加垃它。其中,位于同一水平面烹看、代表相同數(shù)位的示數(shù)輪為一對国拇。一對示數(shù)輪的相加依靠一個與雙方嚙合的扇形傳動齒輪實現(xiàn),這個傳動輪的齒厚度不一惯殊,呈左薄右厚的扇形分布酱吝,故名扇形齒輪。扇形輪可以小幅度上下移動到3個位置土思,位于下位時與左右示數(shù)輪同時嚙合务热,位于中位時只與右側(cè)的示數(shù)輪嚙合忆嗜,位于上位時與兩者都不嚙合。

以3+4為例崎岂,加完之后右側(cè)計數(shù)輪數(shù)字歸零了捆毫,需要靠傳動輪將其還原為4。(原圖來自《Babbage's Difference Engine No. 2》该镣,S7技術(shù)支持)

此過程中冻璃,右側(cè)示數(shù)輪先歸零而后恢復示數(shù),我們可稱之為加數(shù)輪损合,而左側(cè)示數(shù)輪保存了相加的結(jié)果省艳,可稱為累加輪。

(圖片來自《Babbage's Difference Engine No. 2》)

在巴貝奇的并行算法中嫁审,第1步計數(shù)器A跋炕、C、E律适、G負責保存相加結(jié)果辐烂,即它們的示數(shù)輪為累加輪,第2步計數(shù)器B捂贿、D纠修、F負責保存相加結(jié)果,C厂僧、E扣草、G中的示數(shù)輪又充當了加數(shù)輪的角色。意即颜屠,計數(shù)器B~G中的每個示數(shù)輪都在步驟交替的過程中交替扮演加數(shù)輪和累加輪的角色辰妙。計數(shù)器H保存著七次差分常數(shù),其示數(shù)輪始終為加數(shù)輪甫窟。

差分機的進位機構(gòu)比較復雜密浑,簡單地說,每個計數(shù)輪都有一個針對高位的“進位提示器”粗井,當計數(shù)輪從9轉(zhuǎn)到0尔破,其對應的“進位提示器”就被撥到“需要進位”的狀態(tài),每次計算浇衬,計數(shù)輪都要轉(zhuǎn)動兩次懒构,第一次是每位數(shù)相加,第二次是按照“進位提示器”進行進位径玖。我們直觀地感受一下連續(xù)進位是什么樣子:

(圖片來自《Babbage's Difference Engine No. 2》)

最后讓我們來欣賞一下差分機整個運行起來的樣子,一排排示數(shù)輪緩緩旋轉(zhuǎn)颤介,一列列扇形輪交替上下梳星,有規(guī)律地發(fā)出整齊的咔咔聲赞赖,十分壯觀。

(圖片來自《Babbage Difference Engine in Motion》)

分析機

差分機的建造雖然夭折了冤灾,但巴貝奇從未停止過對設(shè)計稿的改進前域。直到有一天,一個驚人的想法從他腦中掠過韵吨,如同神祇匿垄,如同有史以來所有人類對計算的訴求結(jié)晶——差分機固然強大,但終究只能計算多項式而已归粉,何不建造一臺可以解決所有計算問題的通用機器呢椿疗!

1833年,巴貝奇就著手開始了這種通用機器的設(shè)計糠悼,并不斷改進直至離世届榄。這臺被他稱作分析機(Analytical Engine)的機器,直接將機械計算的理念從地表推上云天倔喂。

組成結(jié)構(gòu)

巴貝奇將分析機劃分為5大部分:

  1. 由差分機的計數(shù)裝置改進而來的數(shù)據(jù)存儲器铝条,可存儲1000個40位十進制數(shù);
  2. 支持四則運算席噩、比較大小和開平方根的算術(shù)單元班缰,巴貝奇稱之為“工廠”(mill);
  3. 實現(xiàn)邏輯控制的圓柱形“控制筒”悼枢,身周固定著許多銷釘埠忘,隨著“控制筒”的旋轉(zhuǎn),通過銷釘推動杠桿實現(xiàn)控制萧芙;
  4. 3種用于輸入的讀卡裝置给梅,其一輸入運算指令,其二輸入常量數(shù)據(jù)双揪,其三輸入控制數(shù)據(jù)(在存儲器和算術(shù)單元之間)傳輸?shù)闹噶疃穑休d這些輸入信息的是一種名為穿孔卡片(punched card/punch card)的經(jīng)典載體,3種讀卡裝置分別識別3種類型(運算渔期、數(shù)據(jù)和控制)的穿孔卡片运吓;
  5. 4種輸出裝置,其一為打印裝置疯趟,其二為曲線繪圖儀拘哨,其三為響鈴,其四為打孔機信峻,用于制造穿孔卡片倦青。
分析機使用的穿孔卡片——上:數(shù)據(jù)類卡片|下:運算類卡片(圖片來自維基百科)

后人驚訝地發(fā)現(xiàn),這種組成結(jié)構(gòu)竟和現(xiàn)代計算機如出一轍(現(xiàn)代計算機的五大組成部件是由馮·諾依曼在1945年才明確提出的)盹舞。

5大部件的協(xié)作過程大體是這樣的:讀卡裝置從穿孔卡片上讀取數(shù)據(jù)和運算指令产镐,數(shù)據(jù)進入存儲器隘庄,隨后被傳送至“工廠”進行處理,處理結(jié)果進入存儲器并通過輸出裝置呈現(xiàn)給用戶癣亚。在控制類穿孔卡片的指引下丑掺,“控制筒”可以實現(xiàn)順序、循環(huán)述雾、條件等多種控制邏輯街州,讀取數(shù)據(jù)的讀卡裝置則不但可以按照正常順序讀卡,還可以反序讀卡玻孟,乃至跳過部分卡片唆缴。

巴貝奇首次將運行步驟從機器身上剝離,靠隨時可以替換的穿孔卡片來指揮機器取募,成就了機器的可編程性琐谤。這其中,穿孔卡片的引入功不可沒玩敏。這種經(jīng)典的數(shù)據(jù)載體跨越了機械斗忌、機電和電子3個時代,一直沿用至20世紀80年代中期旺聚。

穿孔卡片

穿孔卡片本身并不是巴貝奇的發(fā)明织阳,而是來自一個看似與計算機八竿子打不著的領(lǐng)域——紡織。

我國古代砰粹,用于織造絲錦的織機叫提花機唧躲,最遲在殷商時期就已出現(xiàn),后經(jīng)絲綢之路傳入阿拉伯國家碱璃,再傳到意大利和法國弄痹。為提花機中功能最強的大花樓提花機,長約一丈六尺嵌器,高約一丈五尺肛真,高起的部分叫花樓,織錦過程需要上下兩人配合完成爽航。

《天工開物》中的大花樓提花機(圖片來自網(wǎng)絡蚓让,南京云錦研究所藏有大花樓提花機實物)

別看織機的組成復雜,織錦的原理其實十分簡單讥珍,就是通過一排排历极、一列列縱橫的絲線相互交織而成≈缘瑁縱向的叫經(jīng)線趟卸,橫向的叫緯線,要織出花紋,就需要將部分經(jīng)線提起锄列,讓緯線通過梭口新蟆,沒有被經(jīng)線壓住的緯線部分就可以形成花紋。坐在花樓上的提花工就專門負責提起這些經(jīng)線右蕊,花樓下的織花工則負責拋梭引線。

由于每織一行花紋吮螺,所要提起的經(jīng)線都不盡相同饶囚,那么問題就來了:經(jīng)線那么多,織完一片錦前后要提那么多次鸠补,提花工怎么記得住每次提哪些經(jīng)線呢萝风?傳統(tǒng)的方式是根據(jù)想要織出的花紋預先編織花本,花本是花紋的“蓬松版”紫岩,蘊含著“每次需要提哪些經(jīng)線”的信息规惰。提花工根據(jù)花本提花。

花本(圖片來自《中國絲綢通史》)

提花機傳到西方后泉蝌,十九世紀初歇万,一個叫約瑟夫·瑪麗·雅卡爾(Joseph Marie Jacquard)的法國人開始使用穿孔卡片來保存花本。

約瑟夫·瑪麗·雅卡爾(Joseph Marie Jacquard)勋陪,1752-1834贪磺,法國織工、商人诅愚。(圖片來自維基百科)

在卡片上預設(shè)若干孔位寒锚,每個孔位可以穿孔也可以不穿孔。將卡片置于經(jīng)線上方违孝,其上方是與所有孔位一一相對的勾針刹前。織錦時雌桑,勾針齊齊下探喇喉,嘗試穿過卡片,沒有穿孔的孔位上方的勾針就被擋住筹燕,穿孔孔位上方的勾針就可以穿過卡片勾起經(jīng)線轧飞。原本提花工的任務就可以完全交給機器自動完成,從此提花機就只需要一個工人操作了撒踪。

雅卡爾提花機工作原理示意圖

巴貝奇在一次巴黎展覽會上看到了雅卡爾的提花機过咬,對其印象十分深刻,很快想到可以把穿孔卡片應用到分析機上制妄。分析機讀卡裝置的原理與雅卡爾提花機類似掸绞,也是靠探針嘗試穿過卡片,要么順利穿過,要么被卡片頂住衔掸,兩種不同情況下的探針位移能產(chǎn)生不同的機械傳動——這其實是計算機史上最早的二進制應用烫幕。

研制成果

仿佛是老天爺一個玩笑式的魔咒,分析機的研制不幸步了差分機的后塵敞映,巴貝奇付出了幾十年的努力较曼,卻仍只建成了它的一小部分。

藏于倫敦科學博物館的分析機半成品(圖片來自維基百科)

巴貝奇抱憾而終振愿,留給后世的僅僅只有這臺小小的模型和兩千多張圖紙捷犹。他在遺言中寫道:

如果一個人不因我一生的挫折而卻步,仍然一往直前制成一臺具有全部數(shù)學分析能力的機器……那么我愿將我的聲譽毫不吝嗇地讓給他冕末,因為只有他能夠完全理解我的種種努力萍歉,以及這些努力所得成果的真正價值。

巴貝奇逝世后档桃,小兒子亨利·普雷沃斯特·巴貝奇(Henry Prevost Babbage)繼承了他的遺志枪孩,在1880~1910年間斷斷續(xù)續(xù)做出了分析機的“工廠”和打印裝置,其中的“工廠”還不具有可編程性藻肄。

藏于倫敦科學博物館的亨利·巴菲特分析機“工廠”(圖片來自維基百科)

和差分機不同的是蔑舞,分析機現(xiàn)存的圖紙并不完整,因此至今也沒人建造出來嘹屯。2010年10月斗幼,一位英國的計算機專家發(fā)起了一個名為“Plan 28”的項目(名稱來源于巴貝奇的第28套設(shè)計方案),通過公開募捐的形式籌集資金抚垄,計劃深入研究分析機的設(shè)計蜕窿,而后構(gòu)建仿真模型,最終建造實物呆馁。截止2017年桐经,“Plan 28”完成了對所有現(xiàn)存資料的整理、歸類和消化浙滤,它最終能否讓分析機從圖紙上“活過來”阴挣,讓我們一起拭目以待。

第一位程序員

1840年纺腊,巴貝奇應邀來到意大利都靈大學分享分析機的設(shè)計畔咧,當時一位年輕的工程師、后來的意大利首相路易吉·費德里科·梅納布雷亞(Luigi Federico Menabrea)用法語記下了詳細的筆記并于1842年整理出版揖膜。1843年誓沸,著名詩人喬治·戈登·拜倫(George Gordon Byron)的女兒艾達·洛芙萊斯(Ada Lovelace)將這份筆記譯成英文,并在巴貝奇的提議下擴充了許多自己的理解壹粟。此時的艾達其實已經(jīng)對分析機癡迷了8年拜隧,結(jié)果她留下的注解篇幅足有譯文本身的2倍!其中一處在分析機上計算伯努利數(shù)的描述被后人視為史上第一個計算機程序,這篇名為《關(guān)于巴貝奇先生發(fā)明的分析機簡訊》的譯文被視為程序設(shè)計方面的第一篇著作洪添,艾達其人則被視為第一位程序員垦页,盡管當時連編程語言都沒有,連實物機器都沒有干奢。

艾達·洛芙萊斯(Ada Lovelace)痊焊,1815-1852,英國數(shù)學家忿峻、作家宋光,史上第一位程序員。(圖片來自維基百科)

艾達對分析機有著不亞于巴貝奇的熱愛炭菌,想象中機器的運轉(zhuǎn)在她看來是如此美妙,她形容到:“提花機織出了紅花與綠葉逛漫,而分析機編織著代數(shù)的圖案黑低。”這位聰慧而浪漫的女性酌毡,還在分析機身上看到了連巴貝奇都沒有看到的潛力:它不該只能用來計算克握,它還能用來表達其他東西,比如音樂枷踏。這是多么長遠的目光菩暗!

1980年,美國國防部將一種編程語言命名為Ada旭蠕,以紀念這位與巴貝奇同樣具有超前思想的偉大女性停团。

后話

巴貝奇是個忙得停不下來的人,他的研究興趣遍布各種領(lǐng)域掏熬。他編寫過包括世界語在內(nèi)的一系列辭典佑稠;他經(jīng)常逮住生活中任何能遇到的哺乳動物,測量它們呼吸和脈搏的頻率旗芬,并編寫了《哺乳類動物常數(shù)表》舌胶;他和約翰·赫歇爾一起做過電動力學方面的研究,并奠定了渦流理論的基礎(chǔ)疮丛;他還寫過一本在早期運籌學領(lǐng)域很有影響力的專著《論機械和制造業(yè)的經(jīng)濟》幔嫂,其中對層次化勞動分工的商業(yè)優(yōu)勢的論述,被后人稱為“巴貝奇原理”誊薄,在這方面大思想家卡爾·馬克思(Karl Marx)將他和亞當·斯密相提并論履恩,甚至更傾向于前者的某些觀點;他著作等身呢蔫,寫著寫著對圖書出版也有了心得似袁,并研究起這個行業(yè)的成本模型;他在度量衡和測量領(lǐng)域頗的研究成為機械制造的堅實基石,因此也常被視為機床領(lǐng)域的先驅(qū)之一昙衅;他還對火車的改進做過不少貢獻扬霜,比如發(fā)明了火車頭排障器,以及使用紙帶記錄并分析火車引擎的拉力而涉、車廂的運行軌跡和垂直震動情況著瓶,后來英國鐵路公司為了紀念他直接將一型火車頭命名為“查爾斯·巴貝奇”;他為做眼科醫(yī)生的朋友發(fā)明了查看視網(wǎng)膜血管和視神經(jīng)的眼底鏡(在此之前只能看放大鏡觀察)啼县,可惜這位朋友沒當回事材原,這項成就落到了后來的發(fā)明人頭上;克里米亞戰(zhàn)爭期間季眷,他成功破解了兩種經(jīng)典的加密算法(維吉尼亞密碼和自動密鑰密碼)余蟹,只不過被保護為軍事機密沒能發(fā)表,又歸功到了后來的破解者頭上……

除了作為皇家天文學會的領(lǐng)導成員子刮,巴貝奇還享盡了各種榮譽威酒。1830年,他出版《英格蘭科學的衰落》一書挺峡,促成了1831年英國科學促進協(xié)會(BAAS)的成立葵孤,1833年,BAAS設(shè)立統(tǒng)計學部橱赠,由巴貝奇擔任主席尤仍;1832年,他被美國人文與科學院吸納為外籍榮譽院士狭姨,并于同年榮獲皇家圭爾夫勛章宰啦;最了不起的,是在1828~1839年間擔任劍橋大學盧卡斯數(shù)學教授饼拍,有史以來坐上這一席位的偉人只有19位绑莺,其中包括艾薩克·牛頓和史蒂芬·霍金(Stephen Hawking);他還曾拒絕了騎士和從男爵的爵位惕耕,比起這些世襲貴族纺裁,他更青睞彰顯個人價值的終身貴族……

巴貝奇不光有才、有能司澎,還有錢欺缘,在1827年父親去世后,他繼承了10英鎊(等價于現(xiàn)在的一千萬左右)的遺產(chǎn)挤安,是個名副其實的富豪谚殊。他從學校畢業(yè)后就定居倫敦富人區(qū)馬里波恩,并在此度過一生蛤铜。

巴貝奇對生活品質(zhì)極為講究嫩絮,這份講究從屋里延伸到屋外丛肢,令他對許多干擾到他的社會現(xiàn)象非常不滿。作為一名科學家剿干,他表達不滿的方式也相當“高級”蜂怎。他在80天內(nèi)記錄了165件擾民事件,還總結(jié)了一份《對街頭擾民事件的觀察》置尔,他尤其討厭街頭那些嚴重吵擾到他的手風琴藝人杠步;他厭惡酒鬼,于是研究起某家工廠窗戶的玻璃碎片榜轿,并發(fā)表了《平板玻璃窗戶破碎原因相對頻率表》幽歼,結(jié)論是,在他研究的464扇窗戶中谬盐,有14扇是被醉酒之人打碎的……擱到今天甸私,他指不定能得個搞笑諾貝爾獎吧。

1871年10月18日飞傀,在腎功能不全和膀胱炎的折磨下皇型,巴貝奇離開了人世。他的大腦被分成兩半助析,分別藏于倫敦科學博物館和皇家外科醫(yī)學院的亨特博物館。

為了紀念巴貝奇一生偉大的成就椅您,后人將一座月球環(huán)形山命名為“巴貝奇”外冀,美國明尼蘇達大學設(shè)立了專門研究IT歷史的查爾斯·巴貝奇機構(gòu),上世紀的一型電子計算機還提供了一種名為巴貝奇的編程語言掀泳。在英國雪隧,巴貝奇早已成為一種文化符號和民族驕傲。普利茅斯大學專門修建了一座巴貝奇大樓员舵,托特尼斯鎮(zhèn)則干脆把巴貝奇的頭像印到了當?shù)氐募垘派希?015年脑沿,巴貝奇和分析機、艾達的她的伯努利程序還一同出現(xiàn)在英國的護照上……

縱觀整個機械時期马僻,巴貝奇的思想遠遠超出了其他幾位先驅(qū)者庄拇,他如同一個從20世紀穿越回去的先知,把一百年后的思想“劇透”給了世人韭邓。唯一缺憾的措近,是不論差分機還是分析機,巴貝奇都終究沒能實現(xiàn)女淑。人類的技術(shù)發(fā)展錯過了一次“跳級”的機會瞭郑,巴貝奇在計算機領(lǐng)域的成就逐漸沒入歷史的濃霧,等待百年之后再被另一批天才重新發(fā)明鸭你。

參考文獻

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
禁止轉(zhuǎn)載擒权,如需轉(zhuǎn)載請通過簡信或評論聯(lián)系作者。
  • 序言:七十年代末阁谆,一起剝皮案震驚了整個濱河市碳抄,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌笛厦,老刑警劉巖纳鼎,帶你破解...
    沈念sama閱讀 221,576評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異裳凸,居然都是意外死亡贱鄙,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,515評論 3 399
  • 文/潘曉璐 我一進店門姨谷,熙熙樓的掌柜王于貴愁眉苦臉地迎上來逗宁,“玉大人,你說我怎么就攤上這事梦湘∷也撸” “怎么了擎勘?”我有些...
    開封第一講書人閱讀 168,017評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我源织,道長,這世上最難降的妖魔是什么弧岳? 我笑而不...
    開封第一講書人閱讀 59,626評論 1 296
  • 正文 為了忘掉前任唬涧,我火速辦了婚禮,結(jié)果婚禮上宫补,老公的妹妹穿的比我還像新娘檬姥。我一直安慰自己,他們只是感情好粉怕,可當我...
    茶點故事閱讀 68,625評論 6 397
  • 文/花漫 我一把揭開白布健民。 她就那樣靜靜地躺著,像睡著了一般贫贝。 火紅的嫁衣襯著肌膚如雪秉犹。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,255評論 1 308
  • 那天稚晚,我揣著相機與錄音凤优,去河邊找鬼。 笑死蜈彼,一個胖子當著我的面吹牛筑辨,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播幸逆,決...
    沈念sama閱讀 40,825評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼棍辕,長吁一口氣:“原來是場噩夢啊……” “哼暮现!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起楚昭,我...
    開封第一講書人閱讀 39,729評論 0 276
  • 序言:老撾萬榮一對情侶失蹤栖袋,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后抚太,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體塘幅,經(jīng)...
    沈念sama閱讀 46,271評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,363評論 3 340
  • 正文 我和宋清朗相戀三年尿贫,在試婚紗的時候發(fā)現(xiàn)自己被綠了电媳。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,498評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡庆亡,死狀恐怖匾乓,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情又谋,我是刑警寧澤拼缝,帶...
    沈念sama閱讀 36,183評論 5 350
  • 正文 年R本政府宣布,位于F島的核電站彰亥,受9級特大地震影響咧七,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜任斋,卻給世界環(huán)境...
    茶點故事閱讀 41,867評論 3 333
  • 文/蒙蒙 一继阻、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧仁卷,春花似錦穴翩、人聲如沸犬第。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,338評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽歉嗓。三九已至丰介,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間鉴分,已是汗流浹背哮幢。 一陣腳步聲響...
    開封第一講書人閱讀 33,458評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留志珍,地道東北人橙垢。 一個月前我還...
    沈念sama閱讀 48,906評論 3 376
  • 正文 我出身青樓,卻偏偏與公主長得像伦糯,于是被迫代替她去往敵國和親柜某。 傳聞我的和親對象是個殘疾皇子嗽元,可洞房花燭夜當晚...
    茶點故事閱讀 45,507評論 2 359

推薦閱讀更多精彩內(nèi)容

  • iOS上所有和音頻相關(guān)的都在CoreAudio里面。但是CoreAuido是個非常龐大的庫喂击,剛開始入門多半會被其復...
    偶是星爺閱讀 1,567評論 0 1
  • 1剂癌,從本篇文章中我學到的最重要的概念 敢于幫助別人,也要敢于接受別人的幫助翰绊。 突然想起小時候老師教我們經(jīng)常掛在嘴邊...
    霧濃濃hx閱讀 381評論 3 0
  • 20170211-20170218 走著走著你就能遇到它 哈哈哈 哈哈哈哈 哈哈哈 快樂的事情總是很想記錄 開心的...
    七月的玄米茶閱讀 461評論 0 0