閱讀259 返回首頁    go 阿裏雲 go 技術社區[雲棲]


重溫計算機簡史:從石頭計數到計算機


640?wx_fmt=jpeg

 ◆ 

計算機始祖


誰都知道電腦的學名叫做電子計算機。以人類發明這種機器的初衷它的始祖應該是計算工具。英語裏“Calculus”計算一詞來源於拉丁語既有“算法”的含義也有腎髒或膽囊裏的“結石”的意思。遠古的人們用石頭來計算捕獲的獵物石頭就是他們的計算工具。著名科普作家阿西莫夫說人類最早的計算工具是手指英語單詞“Dight”既表示“手指”又表示“整數數字”而中國古人常用“結繩”來幫助記事“結繩”當然也可以充當計算工具。石頭、手指、繩子……這些都是古人用過的“計算機”。


不知何時許多國家的人都不約而同想到用“籌碼”來改進工具其中要數中國的算籌最有名氣。商周時代問世的算籌實際上是一種竹製、木製或骨製的小棍。古人在地麵或盤子裏反複擺弄這些小棍通過移動來進行計算從此出現了“運籌”這個詞運籌就是計算後來才派生出“籌”的詞義。中國古代科學家祖衝之最先算出了圓周率小數點後的第6位使用的工具正是算籌這個結果即使用筆算也很不容易求得。


歐洲人發明的算籌與中國不盡相同他們的算籌是根據“格子乘法”的原理製成。例如要計算1248×456可以先畫一個矩形然後把它分成3×2個小格子在小格子邊依次寫下乘數、被乘數的各位數字再用對角線把小格子一分為二分別記錄上述各位數字相應乘積的十位數與個位數。把這些乘積由右到左沿斜線方向相加最後就得到乘積。


1617年英國數學家納皮爾把格子乘法表中可能出現的結果印刻在一些狹長條的算籌上利用算籌的擺放來進行乘、除或其他運算。納皮爾算籌在很長一段時間裏是歐洲人主要的計算工具。


算籌在使用中一旦遇到複雜運算常弄得繁雜混亂讓人感到不便於是中國人又發明了一種新式的“計算機”。


著名作家謝爾頓在他的小說《假如明天來臨》裏講過一個故事騙子傑夫向經銷商兜售一種袖珍計算機說它“價格低廉絕無故障節約能源十年中無需任何保養”。當商人打開包裝盒一看這台“計算機”原來是一把來自中國的算盤。世界文明的四大發

源地——黃河流域、印度河流域、尼羅河流域和幼發拉底河流域——先後都出現過不同形式的算盤隻有中國的珠算盤一直沿用至今。


珠算盤最早可能萌芽於漢代定型於南北朝。它利用進位製記數通過撥動算珠進行運算上珠每珠當五下珠每珠當一每一檔可當作一個數位。打算盤必須記住一套口訣口訣相當於算盤的“軟件”。算盤本身還可以存儲數字使用起來的確很方便它幫助中國古代數學家取得了不少重大的科技成果在人類計算工具史上具有重要的地位。

15世紀以後隨著天文、航海的發展計算工作日趨繁重迫切需要探求新的計算方法並改進計算工具。1630年英國數學家奧特雷德使用當時流行的對數刻度尺做乘法運算突然萌生了一個念頭若采用兩根相互滑動的對數刻度尺不就省得用兩腳規度量長度嗎他的這個設想導致了“機械化”計算尺的誕生。


奧特雷德是理論數學家對這個小小的計算尺並不在意也沒有打算讓它流傳於世此後二百年他的發明未被實際運用。18世紀末以發明蒸汽機聞名於世的瓦特成功地製出了第一把名副其實的計算尺。瓦特原來就是一位儀表匠他的蒸汽機工廠投產後需要迅速計算蒸汽機的功率和氣缸體積。瓦特設計的計算尺在尺座上多了一個滑標用來“存儲”計算的中間結果這種滑標很長時間一直被後人所沿用。


1850年以後對數計算尺迅速發展成了工程師們必不可少的隨身攜帶的“計算機”直到20世紀五、六十年代它仍然是代表工科大學生身份的一種標誌。


凝聚著許許多多科學家和能工巧匠智慧的早期計算工具在不同的曆史階段發揮過巨大作用但也將隨著科學發展而逐漸消亡最終完成它們的曆史使命。


 ◆ 

第一抹曙光


第一台真正的計算機是著名科學家帕斯卡B.Pascal發明的機械計算機。


帕斯卡1623年出生在法國一位數學家家庭他三歲喪母由擔任著稅務官的父親拉扯他長大成人。從小他就顯示出對科學研究濃厚的興趣。


少年帕斯卡對他的父親一往情深他每天都看著年邁的父親費力地計算稅率稅款很想幫助做點事可又怕父親不放心。於是未來的科學家想到了為父親製做一台可以計算稅款的機器。19歲那年他發明了人類有史以來第一台機械計算機。


帕斯卡的計算機是一種係列齒輪組成的裝置外形像一個長方盒子用兒童玩具那種鑰匙旋緊發條後才能轉動隻能夠做加法和減法。然而即使隻做加法也有個“逢十進一”的進位問題。聰明的帕斯卡采用了一種小爪子式的棘輪裝置。當定位齒輪朝9轉動時棘爪便逐漸升高一旦齒輪轉到0棘爪就“哢嚓”一聲跌落下來推動十位數的齒輪前進一檔。


帕斯卡發明成功後一連製作了50台這種被人稱為“帕斯卡加法器”的計算機至少現在還有5台保存著。比如在法國巴黎工藝學校、英國倫敦科學博物館都可以看到帕斯卡計算機原型。據說在中國的故宮博物院也保存著兩台銅製的複製品是當年外國人送給慈僖太後的禮品“老佛爺”哪裏懂得它的奧妙隻把它當成了西方的洋玩具藏在深宮裏麵。


帕斯卡是真正的天才他在諸多領域內都有建樹。後人在介紹他時說他是數學家、物理學家、哲學家、流體動力學家和概率論的創始人。凡是學過物理的人都知道一個關於液體壓強性質的“帕斯卡定律”這個定律就是他的偉大發現並以他的名字命名的。他甚至還是文學家其文筆優美的散文在法國極負盛名。可惜長期從事艱苦的研究損害了他的健康1662年英年早逝死時年僅39歲。他留給了世人一句至理名言“人好比是脆弱的蘆葦但是他又是有思想的蘆葦。”


全世界“有思想的蘆葦”尤其是計算機領域的後來者都不會忘記帕斯卡在渾沌中點燃的亮光。1971年發明的一種程序設計語言——PASCAL語言就是為了紀念這位先驅使帕斯卡的英名長留在電腦時代裏。


帕斯卡逝世後不久與法蘭西毗鄰的德國萊茵河畔有位英俊的年輕人正挑燈夜讀。黎明時分青年人站起身揉了一下疲乏的腰部臉上流露出會心的微笑一個朦朧的設想已醞釀成熟。雖然在帕斯卡發明加法器的時候他尚未出世但這篇由帕斯卡親自撰寫的關於加法計算機的論文卻使他似醍醐灌頂勾起強烈的發明欲。他就是德國大數學家、被《不列顛百科全書》稱為“西方文明最偉大的人物之一”的萊布尼茨G.Leibnitz。


萊布尼茨早年曆經坎坷。當幸運之神降臨之時他獲得了一次出使法國的機會。帕斯卡的故鄉張開臂膀接納他為他實現計算機器的夙願創造了契機。在巴黎他聘請到一些著名機械專家和能工巧匠協助工作終於在1674年造出一台更完美的機械計算機。


萊布尼茨發明的新型計算機約有1米長內部安裝了一係列齒輪機構除了體積較大之外基本原理繼承於帕斯卡。不過萊布尼茨技高一籌他為計算機增添了一種名叫“步進輪”的裝置。步進輪是一個有9個齒的長圓柱體9個齒依次分布於圓柱表麵旁邊另有個小齒輪可以沿著軸向移動以便逐次與步進輪齧合。每當小齒輪轉動一圈步進輪可根據它與小齒輪齧合的齒數分別轉動1/10、2/10圈……直到9/10圈這樣一來它就能夠連續重複地做加法。


稍熟悉電腦程序設計的人都知道連續重複計算加法就是現代計算機做乘除運算采用的辦法。萊布尼茨的計算機加、減、乘、除四則運算一應俱全也給其後風靡一時的手搖計算機鋪平了道路。


不久因獨立發明微積分而與牛頓齊名的萊布尼茨又為計算機提出了“二進製”數的設計思路。有人說他的想法來自於東方中國。


大約在公元1700年左右某天友人送給他一幅從中國帶來圖畫名稱叫做“八卦”是宋朝人邵雍所摹繪的一張“易圖”。萊布尼茨用放大鏡仔細觀察八卦的每一卦象發現它們都由陽—和陰--兩種符號組合而成。他撓有興趣地把8種卦象顛來倒去排列組合腦海中突然火花一閃——這不就是很有規律的二進製數字嗎若認為陽—是“1”陰--是“0”八卦恰好組成了二進製000到111共8個基本序數。正是在中國人睿智的啟迪下萊布尼茨最終悟出了二進製數之真諦。雖然萊布尼茨設計的計算機用的還是十進製但他率先係統提出了二進製數的運算法則直到今天二進製數仍然左右著現代電腦的高速運算。


帕斯卡的計算機經由萊布尼茨的改進之後人們又給它裝上電動機以驅動機器工作成為名符其實的“電動計算機”並且一直使用到本世紀20年代才退出舞台。盡管帕斯卡與萊布尼茨的發明還不是現代意義上的計算機但它們畢竟昭示著人類計算機史裏的第一抹曙光。


 ◆ 

“編織”的程序


要讓機器聽人類的話按人類的意願去計算就要實現人與機器之間的對話或者說要把人類的思想傳送給機器讓機器按人的意誌自動執行。


說來也怪實現人與機器對話的始作俑者卻不是研製計算機的那些前輩而是與計算機發明毫不相幹的兩位法國紡織機械師。他們先後發明了一種指揮機器工作的“程序”把思想直接“注入”到了提花編織機的針尖上。


顧名思義提花編織機具有升降紗線的提花裝置是一種能使綢布編織出圖案花紋的織布機器。


應該是提花編織機最早出現在中國。在我國出土的戰國時代墓葬物品中就有許多用彩色絲線編織的漂亮花布。據史書記載西漢年間钜鹿縣紡織工匠陳寶光的妻子能熟練地掌握提花機操作技術她的機器配置了120根經線平均60天即可織成一匹花布每匹價值萬錢。明朝刻印的《天工開物》一書中還赫然地印著一幅提花機的示意圖。可以想象當歐洲的王公貴族對從“絲綢之路”傳入的美麗綢緞讚歎不已時中國的提花機也必定會沿著“絲綢之路”傳入歐洲。


不過用當時的編織機編織圖案相當費事。所有的綢布都是用經線縱向線和緯線橫向線編織而成。若要織出花樣織工們必須細心地按照預先設計的圖案在適當位置“提”起一部分經線以便讓滑梭牽引著不同顏色的緯線通過。機器當然不可能自己“想”到該在何處提線隻能靠人手“提”起一根又一根經線不厭其煩地重複這種操作。

1725年法國紡織機械師布喬B.Bouchon突發奇想想出了一個“穿孔紙帶”的絕妙主意。布喬首先設法用一排編織針控製所有的經線運動然後取來一卷紙帶根據圖案打出一排排小孔並把它壓在編織針上。啟動機器後正對著小孔的編織針能穿過去鉤起經線其他的針則被紙帶擋住不動。這樣一來編織針就自動按照預先設計的圖案去挑選經線布喬的“思想”於是“傳遞”給了編織機而編織圖案的“程序”也就“儲存”在穿孔紙帶的小孔之中。


真正成功的改進是在80年後另一位法國機械師傑卡德J.Jacquard大約在1805年完成了“自動提花編織機”的設計製作。


那是舉世矚目的法國大革命的年代——攻打巴士底獄推翻封建王朝武裝保衛巴黎市民們高唱著“馬賽曲”紛紛走上街頭革命風暴如火如荼。雖然傑卡德在1790年就基本形成了他的提花機設計構想但為了參加革命他無暇顧及發明創造也扛起來福槍投身到裏昂保衛戰的行列裏。直到19世紀到來之後傑卡德的機器才得以組裝完成。


傑卡德為他的提花機增加了一種裝置能夠同時操縱1200個編織針控製圖案的穿孔紙帶後來也換成了穿孔卡片。據說傑卡德編織機麵世後僅25年考文垂附近的鄉村裏就有了600台在老式蒸氣機噗嗤噗嗤的伴奏下把穿孔卡片上的圖案變成一匹匹漂亮的花綢布。紡織工人最初強烈反對這架自動化的新鮮玩意的到來因為害怕機器會搶去他們的飯碗使他們失去工作但因為它優越的性能終於被人們普遍接受。1812年僅在法國已經裝配了萬餘台並通過英國傳遍了西方世界傑卡德也因此而被受予了榮譽軍團十字勳章和金質獎章。


傑卡德提花編織機奏響了19世紀機器自動化的序曲。在倫敦出版的《不列顛百科全書》和中國出版的《英漢科技詞匯大全》兩部書中“JACQUARD”傑卡德一詞的詞條下英語和漢語的意思居然都是“提花機”可見傑卡德的名字已經與提花機融為了一體。傑卡德提花機的原理即使到了電腦時代的今天依然沒有更大的改動街頭巷尾小作坊裏使用的手工絨線編織機其基本結構仍與傑卡德編織機大體相似。


此外傑卡德編織機“千瘡百孔”的穿孔卡片不僅讓機器編織出絢麗多彩的圖案而且意味著程序控製思想的萌芽穿孔紙帶和穿孔卡片也廣泛用於早期電腦以存儲程序和數據。或許我們現在把“程序設計”俗稱為“編程序”就引申自編織機的“編織花布”的詞義。


 ◆ 

失敗的英雄

今天出版的許多計算機書籍扉頁裏都登載著巴貝奇C.Babbage的照片寬闊的額狹長的嘴銳利的目光顯得有些憤世嫉俗堅定的但絕非缺乏幽默的外貌給人以一個極富深邃思想的學者形象。


巴貝奇是一位富有的銀行家的兒子1792年出生在英格蘭西南部的托特納斯後來繼承了相當豐厚的遺產但他把金錢都用於了科學研究。童年時代的巴貝奇顯示出極高的數學天賦考入劍橋大學後他發現自己掌握的代數知識甚至超過了教師。畢業留校24歲的年青人榮幸受聘擔任劍橋大學“路卡辛講座”的數學教授。這是一個很少有人能夠獲得的殊榮牛頓的老師巴羅是第一名牛頓是第二名。在教學之餘巴貝奇完成了大量發明創造如運用運籌學理論率先提出“一便士郵資”製度發明了供火車使用的速度計和排障器等等。


假若巴貝奇繼續在數學理論和科技發明領域耕耘他本來是可以走上鮮花鋪就的坦途。然而這位曠世奇才卻選擇了一條無人敢於攀登的崎嶇險路。


事情還得從法國講起。18世紀末法蘭西發起了一項宏大的計算工程——人工編製《數學用表》這在沒有先進計算工具的當時是件極其艱巨的工作。法國數學界調集大批數學家組成了人工手算的流水線算得天昏地暗才完成了17卷大部頭書稿。即便如此計算出的數學用表仍然存在大量錯誤。


據說有一天巴貝奇與著名的天文學家赫舍爾湊在一起對兩大部頭的天文數表評頭

論足翻一頁就是一個錯翻兩頁就有好幾處。麵對錯誤百出的數學表巴貝奇目瞪口呆他甚至喊出聲來“天哪這些計算錯誤已經充斥彌漫了整個宇宙”


這件事也許就是巴貝奇萌生研製計算機構想的起因。巴貝奇在他的自傳《一個哲學家的生命曆程》裏寫到了大約發生在1812年的一件事“有一天晚上我坐在劍橋大學的分析學會辦公室裏神誌恍惚地低頭看著麵前打開的一張對數表。一位會員走進屋來瞧見我的樣子忙喊道‘喂你夢見什麼啦’我指著對數表回答說‘我正在考慮這些表也許能用機器來計算’”


巴貝奇的第一個目標是製作一台“差分機”。所謂“差分”的含義是把函數表的複雜算式轉化為差分運算用簡單的加法代替平方運算。那一年剛滿20歲的巴貝奇從法國人傑卡德發明的提花編織機上獲得了靈感差分機設計閃爍出了程序控製的靈光——它能夠按照設計者的旨意自動處理不同函數的計算過程。


巴貝奇耗費了整整十年光陰於1822年完成了第一台差分機它可以處理3個不同的5位數計算精度達到6位小數當即就演算出好幾種函數表。由於當時工業技術水平極低第一台差分機從設計繪圖到機械零件加工都是巴貝奇親自動手完成。當他看著自己的機器製作出準確無誤的《數學用表》高興地對人講“哪怕我的機器出了故障比如齒輪被卡住不能動那也毫無關係。你看每個輪子上都有數字標記它不會欺騙任何人。”以後實際運用證明這種機器非常適合於編製航海和天文方麵的數學用表。


成功的喜悅激勵著巴貝奇他連夜奮筆上書皇家學會要求政府資助他建造第二台運算精度為20位的大型差分機。英國政府看到巴貝奇的研究有利可圖破天荒地與科學家簽訂了第一個合同財政部慷慨地為這台大型差分機提供出1.7萬英鎊的資助。巴貝奇自己也貼進去1.3萬英鎊巨款用以彌補研製經費的不足。在當年這筆款項的數額無異於天文數字——有資料介紹說1831年約翰·布爾製造一台蒸汽機車的費用才784英磅。

然而第二台差分機在機械製造工廠裏觸上了“暗礁”。


第二台差分機大約有25000個零件主要零件的誤差不得超過每英寸千分之一即使用現在的加工設備和技術要想造出這種高精度的機械也絕非易事。巴貝奇把差分機交給了英國最著名的機械工程師約瑟夫·克萊門特所屬的工廠製造但工程進度十分緩慢。設計師心急火燎從劍橋到工廠從工廠到劍橋一天幾個來回。他把圖紙改了又改讓工人把零件重做一遍又一遍。年複一年日複一日直到又一個10年過去後巴貝奇依然望著那些不能運轉的機器發愁全部零件亦隻完成不足一半數量。參加試驗的同事們再也堅持不下去紛紛離他而去。巴貝奇獨自苦苦支撐了第三個10年終於感到無力回天。


那天清晨巴貝奇走進車間偌大的作業場空無一人隻剩下滿地的滑車和齒輪四處一片狼藉。他呆立在尚未完工的機器旁深深地歎了口氣。在痛苦的煎熬中他無計可施隻得把全部設計圖紙和已完成的部分零件送進倫敦皇家學院博物館供人觀賞。

1842年在巴貝奇的一生中是極不平常的一年。英國政府宣布斷絕對他的一切資助連科學界的友人都用一種怪異的目光看著他。英國首相譏諷道“這部機器的唯一用途就是花掉大筆金錢”同行們譏笑他是“愚笨的巴貝奇”。皇家學院的權威人士包括著名天文學家艾瑞等人都公開宣稱他的差分機“毫無任何價值”……


 ◆ 

攜手共赴難


就在痛苦艱難的時刻孤獨苦悶的巴貝奇意外地收到一封來信寫信人不僅對他表示理解而且還希望與他共同工作。娟秀字體的簽名表明了她不凡的身份——伯爵夫人。

接到信函後不久巴貝奇實驗室門口走進來一位年輕的女士。她身披素雅的鬥蓬鬢角上斜插一朵白色的康乃馨顯得那麼典雅端莊。巴貝奇一時愣在那裏他與這位女士似曾相識又想不起曾在何處邂逅。女士落落大方地作了自我介紹正是那位寫信人。

“您還記得我嗎”女士低聲問道“十多年前您還給我講過差分機原理。”看到巴貝奇迷惑的眼神她又笑著補充說“您說我像野人見到了望遠鏡。”巴貝奇恍然大悟想起已經十分遙遠的往事。麵前這位女士和那個小女孩之間依稀還有幾分相似。


原來伯爵夫人本名叫阿達·奧古斯塔AdaAugusta是英國著名詩人拜倫的獨生女。她比巴貝奇的年齡小20多歲1815年出生。阿達自小命運多舛來到人世的第二年父親拜倫因性格不合與她的母親離異從此別離英國。可能是從未得到過父愛的緣由小阿達沒有繼承到父親詩一般的浪漫熱情卻繼承了母親的數學才能和毅力。


還是在阿達的少女時代母親的一位朋友領著她們去參觀巴貝奇的差分機。其他女孩子圍著差分機嘰嘰喳喳亂發議論摸不著頭腦。隻有阿達看得非常仔細她十分理解並且深知巴貝奇這項發明的重大意義。


或許是這個小女孩特殊的氣質在巴貝奇的記憶裏打下了較深的印記。他趕緊請阿達入座並欣然同意與這位小有名氣的數學才女共同研製新的計算機器。


就這樣在阿達27歲時她成為巴貝奇科學研究上的合作夥伴迷上這項常人不可理喻的“怪誕”研究。其時她已經成了家丈夫是洛甫雷斯伯爵。按照英國的習俗許多資料在介紹裏都把她稱為“洛甫雷斯伯爵夫人”。


30年的困難和挫折並沒有使巴貝奇屈服阿達的友情援助更堅定了他的決心。還在大型差分機進軍受挫的1834年巴貝奇就已經提出了一項新的更大膽的設計。他最後衝刺的目標不是僅僅能夠製表的差分機而是一種通用的數學計算機。巴貝奇把這種新的設計叫做“分析機”它能夠自動解算有100個變量的複雜算題每個數可達25位速度可達每秒鍾運算一次。


今天我們再回首看看巴貝奇的設計分析機的思想仍然閃爍著天才的光芒。


由於巴貝奇晚年因喉疾幾乎不能說話介紹分析機的文字主要由阿達替他完成。阿達在一篇文章裏介紹說“這台機器不論在可能完成的計算範圍、簡便程度以及可靠性與精確度方麵或者是計算時完全不用人參與這方麵都超過了以前的機器。”巴貝奇把分析機設計得那樣精巧他打算用蒸汽機為動力驅動大量的齒輪機構運轉。巴貝奇的分析機大體上有三大部分其一是齒輪式的“存貯庫”巴貝奇稱它為“倉庫”Store每個齒輪可貯存10個數齒輪組成的陣列總共能夠儲存1000個50位數。分析機的第二個部件是所謂“運算室”它被巴貝奇命名為“作坊”Mill其基本原理與帕斯卡的轉輪相似用齒輪間的齧合、旋轉、平移等方式進行數字運算。為了加快運算速度他改進了進位裝置使得50位數加50位數的運算可完成於一次轉輪之中。第三部分巴貝奇沒有為它具體命名其功能是以傑卡德穿孔卡中的“0”和“1”來控製運算操作的順序類似於電腦裏的控製器。他甚至還考慮到如何使這台機器處理依條件轉移的動作比如第一步運算結果若是“1”就接著做乘法若是“0”就進行除法運算。此外巴貝奇也構思了送入和取出數據的機構以及在“倉庫”和“作坊”之間不斷往返運輸數據的部件。


阿達“心有靈犀一點通”她非常準確地評價道“分析機‘編織’的代數模式同傑卡德織布機編織的花葉完全一樣”。於是為分析機編製一批函數計算程序的重擔落到了數學才女的肩頭。阿達開天辟地第一次為計算機編出了程序其中包括計算三角函數的程序、級數相乘程序、伯努利函數程序等等。阿達編製的這些程序即使到了今天電腦軟件界的後輩仍然不敢輕易改動一條指令。人們公認她是世界上第一位軟件工程師。


眾所周知美國國防部據說是花了250億美元和10年的光陰把它所需要軟件的全部功能混合在一種計算機語言中希望它能成為軍方數千種電腦的標準。1981年這種語言被正式命名為ADA阿達語言使阿達的英名流傳至今。


不過以上講的都是後話殊不知巴貝奇和阿達當年處在怎樣痛苦的水深火熱之中由於得不到任何資助巴貝奇為把分析機的圖紙變成現實耗盡了自己全部財產弄得一貧如洗。他隻好暫時放下手頭的活和阿達商量設法賺一些錢如製作什麼國際象棋玩具什麼賽馬遊戲機等等。為籌措科研經費他們不得不“下海”搞“創收”。最後兩人陷入了惶惶不可終日的窘境。阿達忍痛兩次把丈夫家中祖傳的珍寶送進當鋪以維持日常開銷而這些財寶又兩次被她母親出資贖了回來。


貧困交加無休止的腦力勞動使阿達的健康狀況急劇惡化。1852年懷著對分析機成功的美好夢想軟件才女英年早逝死時年僅36歲。阿達去世後巴貝奇又默默地獨自堅持了近20年。晚年的他已經不能準確地發音甚至不能有條理地表達自己的意思但是他仍然百折不撓地堅持工作。1871年為計算機事業貢獻畢生精力的先驅者巴貝奇終於滿懷著對分析機無言的悲悵孤獨地離開了人世。有人把他的大腦用鹽漬著保存起來想經過若幹年後有更先進技術來研究他大腦保存的精神。


分析機終於沒能造出來巴貝奇和阿達失敗了。巴貝奇和阿達的失敗是因為他們看得太遠分析機的設想超出了他們所處時代至少一個世紀社會發展的需求和科學技術發展的可能使得他們注定要成為的悲劇人物。盡管如此巴貝奇和阿達為電腦科學留下了一份極其珍貴的精神遺產包括30種不同設計方案近2000張組裝圖和50000張零件圖……更包括那種在逆境中自強不息為追求理想奮不顧身的拚搏精神。


 ◆ 

穿孔製表機


將國外出版的多媒體百科全書光盤插入電腦然後鍵入“Punchedcard”穿孔卡作為關鍵詞搜索。你會發現電腦屏幕將從“Jacquard”傑卡德條目開始連帶著顯示出早期計算機發展簡史。緊靠著“傑卡德”詞條的是另外一個姓名“H.Hollerrith”。


該詞條解釋說穿孔卡是早期計算機輸入信息的設備通常可以儲存80列數據。它是一種很薄的紙片麵積為190×84毫米。首次使用穿孔卡技術的數據處理機器是美國統計專家霍列瑞斯博士H.Hollerith的偉大發明。


公元1880年美利堅合眾國舉行了一次全國性人口普查為當時5000餘萬的美國人口登記造冊。當時美國經濟正處於迅速發展的階段人口流動十分頻繁再加上普查的項目繁多統計手段落後從當年元月開始的這次普查花了7年半的時間才把數據處理完畢。也就是說直到快進行第二次人口普查時美國政府才能得知第一次人口普查期間全國人口的狀況。


霍列瑞斯博士是德國僑民早年畢業於美國哥倫比亞大學礦業學院學的是采礦專業。大學畢業後來到人口調查局從事的第一項工作就是人口普查。他曾與同事們一起深入到許多家庭填表征集資料深知每個數據都來之不易他也曾終日埋在數據堆裏用手搖計算機“搖”得滿頭大汗一天下來也統計不出幾張表格的數據。


人口普查需要大量處理的是數據如年齡、性別等用調查表采集的項目並且還要統計出每個社區有多少兒童和老人有多少男性公民和女性公民等等。這些數據是否也可由機器自動進行統計采礦工程師霍列瑞斯想到了紡織工程師傑卡德80年前發明的穿孔紙帶。傑卡德提花機用穿孔紙帶上的小孔主要用來控製提花操作的步驟即編寫程序霍列瑞斯則進一步設想要用它來儲存和統計數據發明一種自動製表的機器。


人口調查局的業務異常繁忙一個行政機構也不可能提供時間和經費讓公務員搞什麼科學研究。兩年後霍列瑞斯博士離開了人口局到專利事務所工作過一段時間也曾任教於麻省理工學院一邊工作一邊致力於自動製表機的研製。


霍列瑞斯首先把穿孔紙帶改造成穿孔卡片以適應人口數據采集的需要。由於每個人的調查數據有若幹不同的項目如性別、籍貫、年齡等等。霍列瑞斯把每個人所有的調查項目依次排列於一張卡片然後根據調查結果在相應項目的位置上打孔。例如穿孔卡片“性別”欄目下有“男”和“女”兩個選項“年齡”欄目下有從“0歲”到“70歲以上”等係列選項如此等等。統計員可以根據每個調查對象的具體情況分別在穿孔卡片各欄目相應位置打出小孔。每張卡片都代表著一位公民的個人檔案。


霍列瑞斯博士巧妙的設計在於自動統計。他在機器上安裝了一組盛滿水銀的小杯穿好孔的卡片就放置在這些水銀杯上。卡片上方有幾排精心調好的探針探針連接在電路的一端水銀杯則連接於電路的另一端。與傑卡德提花機穿孔紙帶的原理類似隻要某根探針撞到卡片上有孔的位置便會自動跌落下去與水銀接觸接通電流啟動計數裝置前進一個刻度。由此可見霍列瑞斯穿孔卡表達的也是二進製信息有孔處能接通電路計數代表該調查項目為“有”“1”無孔處不能接通電路計數表示該調查項目為“無”“0”。


直到1888年霍列瑞斯博士才實際完成自動製表機設計並申報了專利。他發明的這種機電式計數裝置比傳統純機械裝置更加靈敏因而被1890年後曆次美國人口普查選用獲得了巨大的成功。例如1900年進行的人口普查全部采用霍列瑞斯製表機平均每台機器可代替500人工作全國的數據統計僅用了1年多時間。雖然霍列瑞斯發明的並不是通用計算機除了能統計數據表格外它幾乎沒有別的什麼用途然而製表機穿孔卡第一次把數據轉變成二進製信息。在以後的計算機係統裏用穿孔卡片輸入數據的方法一直沿用到20世紀70年代數據處理也發展成為電腦的主要功能之一。


依托自己發明的製表機霍列瑞斯博士“下海”創辦了一家專業製表機公司但不久就因資金周轉不靈陷入困境被另一家CTR公司兼並。1924年CTR公司更名為“國際商業機器公司”英文縮寫“IBM”專門生產打孔機、製表機一類產品。


傑卡德和霍列瑞斯分別用開創了程序設計和數據處理之先河。以曆史的目光審視他們的發明正是這種程序設計和數據處理構成了電腦“軟件”的雛形。


 ◆ 

繼往與開來


巴貝奇巨星隕落後世人已逐漸將他淡忘20世紀已經來臨。計算機的曆史等待著等待著巴貝奇式的人物再世等待著人類劃時代的壯舉。


大約在1936年美國青年霍德華·艾肯H.Aiken來哈佛大學攻讀物理學博士學位。恰好在世紀之交來到人世的艾肯屬於大器晚成的科學家。由於家庭貧困他不得不以半工半讀的方式艱難地讀完高中。大學期間也是一邊工作一邊刻苦學習直到畢業後才謀到一份工程師的工作。36歲那年他毅然辭去收入豐厚的職務重新走進大學校門。由於博士論文的研究涉及到空間電荷的傳導理論需要求解非常複雜的非線性微分方程在進行繁瑣的手工計算之餘艾肯很想發明一種機器代替人工求解的方法幻想能有一台計算機幫助他解決數學難題。


三年之後正如萊布尼茨在書裏“找到”帕斯卡一樣艾肯也是在圖書館裏“發現”的巴貝奇和阿達。巴貝奇和阿達的論文令年輕人心搖旌動。70多年過去後巴貝奇仿佛還在對他娓娓而談“任何人如果不接受我失敗的教訓還仍然下決心去研製一台把數學分析的全部工作都包括在內的機器的話我不怕把自己的名譽交給他去作出應有的評價因為隻有他才完全了解我工作的性質及其成果的價值”。以艾肯所處時代的科技水平也許已經能夠完成巴貝奇未競的事業造出通用計算機。為此他寫了一篇《自動計算機的設想》的建議書提出要用機電方式而不是用純機械方法來構造新的“分析機”。然而正在求學的讀書人根本沒有可能籌措到那麼大的一筆經費。


取得博士學位的艾肯進入了美國海軍軍械局。一名小小的中尉他仍然沒有錢。“金錢不是萬能的”但是對於艾肯實現計算機夢想來說“沒有錢卻是萬萬不能的”否則隻會重蹈巴貝奇和阿達的複轍。


年輕的海軍中尉想到了製表機行業的IBM公司。


艾肯從他一位老師口中得知IBM董事長沃森的大名他的老師此時正在一所由IBM出資創辦的“哥倫比亞大學統計局”裏任職非常樂意為學生寫了份推薦信。艾肯連續通宵達旦地準備材料擬好了一份詳細的可行性報告直接跑去找沃森。他聽老師講沃森的作風從來就是獨斷專行不設法說服此人研製計算機的計劃一準泡湯。


IBM的總部座落在一幢古色古香的建設物裏。沃森坐在寬大的寫字台後一言不發聽艾肯陳述。在他的背後是整整齊齊擺滿各種書籍的大書櫃書櫃的上方貼著隻有一個單詞的格言——思考THINK這是沃森最為推崇的行動準則。


艾肯說完了該說的話忐忑不安地望著對麵這位愛好“思考”的企業家。


“至少需要多少錢”沃森開口詢問。


“恐怕要投入數以萬計吧”艾肯喃喃地回答“不過……”


沃森擺了擺手打斷了艾肯的話頭拿起筆來在報告上劃了幾下。


艾肯心裏一緊“沒戲了”出於禮貌他還是恭敬地用雙手接過那張紙隨即低頭一瞅頓時喜上眉稍——沃森的大筆一揮批給了計算機100萬美元


有了IBM作堅強後盾新的計算機研製工作在哈佛物理樓後的一座紅磚房裏開了場艾肯把它取名為“馬克1號”MarkⅠ又叫做“自動序列受控計算機”。IBM又派來萊克、德菲和漢密爾頓等工程師組成攻關小組財源充足兵強馬壯。比起巴貝奇和阿達艾肯的境況實在要幸運得多。IBM也因此從生產製表機、肉鋪磅秤、咖啡碾磨機等亂七八糟玩意的行業裏正式跨進了計算機的“領地”。


艾肯設計的馬克1號已經是一種電動的機器它借助電流進行運算最關鍵的部件用的是普通電話上的繼電器。馬克1號上大約安裝了3000個繼電器每一個都有由彈簧支撐著的小鐵棒通過電磁鐵的吸引上下運動。吸合則接通電路代表“1”釋放則斷開電路代表“0”。繼電器“開關”能在大約1/100秒的時間內接通或是斷開電流當然比巴貝奇的齒輪先進得多。


為馬克1號編製計算程序的也是一位女數學家格雷斯·霍波G.Hopper。這位聲名遐邇的數學博士1944年參加到哈佛大學計算機研究工作她說“我成了世界上第一台大型計算機MarkⅠ的第三名程序員。”霍波博士後來還為第一台儲存程序的商業電子計算機UNIVAC寫過程序又率先研製成功第一個編譯程序A-O和計算機商用語言COBOL被公認是計算機語言領域的帶頭人。有一天她在調試程序時出現了故障拆開繼電器後發現有隻飛蛾被夾扁在觸點中間從而“卡”住了機器的運行。於是霍波恢諧地把程序故障統稱為“臭蟲”bug而這一奇怪的“稱唿”後來成為計算機領域的專業行話如DOS係統中的調試程序程序名稱就叫DEBUG。


1944年2月馬克1號計算機在哈佛大學正式運行。從外表看它的外殼用鋼和玻璃製成長約15米高約2.4米自重達到31.5噸是個像恐龍般巨大身材的龐然大物。據說艾肯和他的同事們為它裝備了15萬個元件和長達800公裏的電線。這台機器能以令當時人們吃驚的速度工作——每分鍾進行200次以上的運算。它可以作23位數加23位數的加法一次僅需要0.3秒而進行同樣位數的乘法則需要6秒多的時間。隻是它運行起來響聲不絕於耳有的參觀者說“就象是擠滿了一屋子編織絨線活的婦女”也許你會聯想到馬克1號計算機也與傑卡德編織機有天然的聯係。


馬克1號代表著自帕斯卡以來人類所製造的機械計算機或電動計算機之頂尖水平當時就被用來計算原子核裂變過程。它以後運行了15年編出的數學用表我們至今還在使用。1946年艾肯和霍波聯袂發表文章說這台機器能自動實現人們預先選定的係列運算甚至可以求解微分方程。


馬克1號終於實現了巴貝奇的夙願。事隔多年後已經擔任大學教授的艾肯談起巴貝奇其人其事來仍然驚歎不已他曾感慨地說如果巴貝奇晚生75年我就會失業。但是馬克1號是早期計算機的最後代表從它投入運行的那一刻開始就已經過時因為此時此刻人類社會已經跨進了電子的時代。


 ◆ 

真空馴電子


1883年一個晚上為人類社會貢獻了二千多項發明的美國發明家愛迪生T.Edison正在實驗室緊張地忙碌著。他麵前放著各種燈泡除了燈絲的材料不同外這些燈泡都被抽成了真空。愛迪生拾起一隻燒壞的碳絲燈泡發現碳絲似乎比原先細了許多而在燈泡上部隱約沾著一些碳灰看來是由於溫度高使碳絲蒸發成碳灰。


怎麼才能阻止碳絲蒸發呢愛迪生找來一小截銅絲把它靠在碳絲附近然後一起封裝到一隻新玻璃殼裏抽去空氣然後把它接在電路上。實驗結果使愛迪生大失所望碳絲發光後依然變細。愛迪生歎了口氣無意間用電流表探頭觸了觸銅絲外露的端頭。


奇怪的事發生了電流表的指針竟擺動了一個角度。愛迪生簡直不敢相信這銅絲並沒有接觸通電發光的碳絲哪來的電流呢連續實驗了幾次情況都沒有變化愛迪生把它記錄在案作為一項發明申請了專利稱為“愛迪生效應”這也是他一生中唯一的“純科學”發現。愛迪生當時沒有找到實際用途也沒能更深入地探討和追尋讓一次更偉大的發明機會擦肩而過。


“愛迪生效應”沒有引起愛迪生本人重視卻驚動了大洋彼岸的一位英國青年工程師弗萊明J.Fleming。弗萊明漂洋過海專程向愛迪生陳述他對單向電子流效應的真知灼見不料想會受到大發明家的冷落。


1895年為了解決無線電訊號的檢波問題弗萊明在實驗室重新擺弄起愛迪生的“電燈泡”來。他故意把碳絲做得細一些而把銅絲加粗加寬變成一塊薄銅板並把銅板彎曲成圓筒狀把碳絲整個兒包起來。當他把“燈泡”連接在交流電回路後弗萊明興奮地看到自己的預想變成了現實交流電訊號被整流為單向流動的直流電。於是弗萊明以“熱離子閥”為名在英國申請了專利。弗萊明的發明正是世界上第一隻電子管也就是人們後來所說的“真空二極管”。弗萊明把他發明的東西叫做“熱離子閥”“閥”就是開關電子管確實是計算機理想的開關元件然而弗萊明的真空二極管尚未達到電腦高速開關的要求。20世紀初在弗萊明開創的事業的基礎上一位美國青年發明家德·福雷斯特L.DeForest在真空中再次馴服了電子。


德·福雷斯特那年也不到30歲。孩提時期並不出眾被老師認為是個平庸的孩子唯一的愛好是拆裝各種機械小玩藝誌向不高隻想做個機械技師或者當一名機械工。一次偶然的機會邂逅了無線電發明家馬可尼激發了他創新無線電檢波裝置的發明之夢。大學畢業後的短短5年他連續取得了34項發明專利。


1906年為了提高真空二極管檢波靈敏度德·福雷斯特在弗萊明的玻璃管內添加了一種柵欄式的金屬網形成電子管的第三個極。他驚訝地看到這個“柵極”仿佛就像百葉窗能控製陰極與屏極之間的電子流隻要柵極有微弱電流通過就可在屏極上獲得較大的電流而且波形與柵極電流完全一致。也就是說德·福雷斯特發明的是一種能夠起放大作用的真空三極管器件。


然而因發明這種新型電子管德·福雷斯特竟無辜受到美國紐約聯邦法院的傳訊原因是有人控告他企圖為公司推銷積壓產品進行商業詐騙。愚昧無知的法官下達判決宣布德·福雷斯特發明的電子管是一個“毫無價值的玻璃管”。


1912年伴隨著隨時可能被捕入獄的陰雲德·福雷斯特和兩名助手來到美國西部加利福尼亞在帕洛阿托小鎮堅持不懈地改進他的三極管。在愛默生大街913號一座小木屋裏他們發現了比他們原來期望更多的東西。在用銅線重新纏繞三極管的柵極過程中德·福雷斯特突然想到可以用這種玻璃管製作更強大的放大器。他們把若幹個三極管連接起來並與電話機的話筒、耳機相互連接再將德·福雷斯特那隻“走時相當準確的英格索爾手表”放在話筒前方結果被放大的手表“滴噠”聲幾乎要把德·福雷斯特的耳朵震聾。


在帕洛阿托市的德·福雷斯特故居至今依然矗立著一塊小小的紀念牌以市政府名義書寫著一行文字“德·福雷斯特在此發現了電子管的放大作用。”用來紀念德·福雷斯特的偉大發明為新興電子工業所奠定的基礎。德·福雷斯特發明電子管幾十年後這裏竟變成世界電腦產業騰飛的矽穀。


電子管主要在無線電裝置裏充當檢波、整流、放大和振蕩元件它的誕生為通訊、廣播、電視等相關技術的生長、發展鋪平了道路。可是人們不久後就發現按照不同的電路形式真空三極管除了可以處於“放大”狀態外還可分別處於“飽和”與“截止”狀態。“飽和”即從陰極到屏極的電流完全導通相當於開關開啟“截止”即從陰極到屏極沒有電流流過相當於開關關閉兩種狀態可以由柵極進行控製其控製速度要比艾肯的繼電器快10000倍。


發明家們在世紀之交的年代馴服了電子采用電子器件製作計算機已經水到渠成唿之欲出。


 ◆ 

電腦創世紀


全世界在隆隆的炮火聲中迎來了1943年。硝煙密布戰鼓催春戰爭的迫切需要像一隻有力的巨手為電腦的誕生掃清障礙鋪平道路。


4月9日美國馬裏蘭州阿貝丁陸軍軍械部召集的一次會議正處於舉手表決的時刻。陸軍上校西蒙L.Simon端坐在主席的位置關鍵會議關鍵時刻他卻裝聾作啞閉口不言。他的身旁是普林斯頓高級研究院的韋伯倫O.Veblen教授。教授此時仍在耐心地翻閱提交給會議的那份報告。


應該說西蒙上校對這份報告最有發言權因為他領導的阿貝丁試炮場擔負著美國陸軍新式火炮的試驗任務。早些時軍械部曾派出青年軍官戈德斯坦H.Glodstine中尉從賓夕法尼亞大學莫爾電氣工程學院召集來一批研究隊伍幫助計算新式火炮的彈道表這次會議就是應戈德斯坦等人要求決定一件非同小可的事。


人們都知道剛試製出來的大炮是否能夠通過驗收必須對它發射多枚炮彈的軌跡作認真檢查分析彈著點誤差的原因。一發炮彈從發射升空到落地爆炸隻需一分來鍾而計算這發炮彈的軌跡卻要做750次乘法和更多的加減法。一張完整的彈道表需要計算近4千條彈道試炮場每天要提供給戈德斯坦6張這樣的表可想而知任務量有多大


戈德斯坦本人就是一位數學家曾在密歇根大學任數學助理教授。他從陸軍中抽調來百餘位姑娘作輔助性的人工計算。可以設想一下一發炮彈打過去100多人用手搖計算機忙亂地算個不停還經常出錯既吃力又不討好那場景不免令人啼笑皆非。在戈德斯坦領導的隊伍中有來自莫爾學院的兩位年輕學者。一位是他多年的好友莫爾學院副教授莫契利J.Mauchiy36歲的物理學家。另一位名叫埃克特P.Eckert24歲的電氣工程師不久前剛從莫爾學院畢業。莫契利擅長總體構思他天生一個係統思維的腦子。他的設想又總能夠被心靈手巧的埃克特領會並加以具體化。兩個人誌趣相投幾番碰撞一拍即合交給了戈德斯坦一份研製電子計算機的設計方案——“高速電子管計算裝置的使用”明確提出要使用弗萊明、德福雷斯特發明的電子管造一台前所未有的計算機器把彈道計算的效率提高成百上千倍。


不知什麼原因這份珍貴的方案竟莫名其妙地遺失。莫契利隻好根據秘書的記錄重新起草報告然後交給埃克特寫一個附錄。在附錄裏埃克特創造性地闡明如何把莫契利的設計具體化。戈德斯坦深知這份報告的份量也深感計算機器誘人的前景他決心要利用軍方代表和數學家的雙重的身份向軍械部爭取到項目的資助。


此時韋伯倫教授手中拿著的正是莫契利和埃克特共同起草的報告。由於所需的巨額

經費加上研製的風險就連韋伯倫也感到那幾頁紙似乎是沉甸甸的。


戈德斯坦中尉站在會議桌的另一端麵對著西蒙上校還在作繼續的申訴“我聽說海軍已經把希望寄托在馬克1號計算機上。我們設想的機器是一種更新式的電子計算機它將比哈佛的那台機器高出幾個數量級……”。


西蒙轉過臉用眼睛示意戈德斯坦留意韋伯倫教授的態度因為他知道作為軍械部的科學顧問以“拓撲學”創立者聞名世界的數學權威才是一言九鼎的人物。於是全場到會者的目光都盯在教授身上。


韋伯倫終於放下手中的報告閉上眼睛仰靠在椅背上沉思起來。整個會場也跟著沉默了。突然教授勐然站起身“砰”地一聲推開身後的椅子對著上校大聲說道

“西蒙給戈德斯坦這筆經費”


說完這句話他立即轉身向大門走去頭也不回地離開了會議室。世界上第一台電子計算機的研製就這樣戲劇性地拉開了幃幕。軍方與莫爾學院最初簽訂的協議是提供14萬美元的研製經費但後來合同被修訂了12次經費一直追加到了48萬大約相當於現在的1000多萬美元。


莫爾學院組建的研製小組是一個朝氣蓬勃的跨學科攻關小組在科技史上留下了敢冒風險、敢於取勝的美名。小組成員包括物理學家、數學家和工程師30餘名還組織了近200名輔助人員參與攻關。項目總負責人勃雷納德J.Brainerd是莫爾學院有聲望的教授他曾經講“這是一項不能確保一定會達到預期效果的開發方案然而現在正是一個合適的時機。”他頂住了來自各方麵的壓力滿腔熱情地支持年輕人的創造精神。戈德斯坦則在科研組織方麵表現出傑出的才幹他不僅為項目提供數學方麵的幫助還以軍方聯絡員的身份負責協調項目的進展。在計算機研製中發揮最主要作用的當屬莫契利和埃克特以及一位名叫勃克斯A.Burks的工程師。其中莫契利是計算機的總設計師主持機器的總體設計埃克特是總工程師負責解決複雜而困難的工程技術問題勃克斯則作為邏輯學家為計算機設計乘法器等大型邏輯元件。


然而為支援戰爭趕製的機器緊趕慢趕也沒能趕上最後一班車。德國法西斯很快就被擊潰。1946年2月14日世界上第一台電子計算機才珊珊來遲在一片歡唿聲中正式啟動運行。


2月14日姑娘小夥們鍾愛的“情人節”。莫爾小組的絕大多數成員風華正茂情竇初開選擇這一天作為公開揭幕典禮的日期或許是寓意深長的——電子計算機不正是他們的“大眾情人”嗎“大眾情人”的名字叫作“埃曆阿克”ENIAC譯成中文是“電子數字積分和計算機”局外人聽起來十分別扭但在莫契利和埃克特耳裏“她”卻像“維納斯”和“夏娃”一樣的撩撥人心。


那天天剛蒙蒙亮他倆不約而同地來到埃曆阿克身邊再一次滿懷深情地打量著“如花似玉”的“情人”。在它的身體內總共安裝了17468隻電子管7200個二極管70000多電阻器10000多隻電容器和6000隻繼電器電路的焊接點多達50萬之巨。在機器表麵則布滿電表、電線和指示燈簡直就像姑娘身上掛滿的各式翡翠珍珠寶石項鏈。這“情人”的體積實在也太大了龐大的身軀擠進一排2.75米高的金屬櫃裏占地麵積為170平方米左右約為整整十間房那樣的空間大小總重量達到30噸堪稱為空前絕後的“巨型機”。


盡管如此慶典大會上埃曆阿克不凡的表演確令來賓們大開眼界同一時代的任何機械或電動計算機在它麵前都相形見絀。人們看到它輸入數據和輸出結果都采用穿孔卡片每分鍾可以輸入125張卡片輸出100張卡片。它能在1秒鍾內完成5000次加法也可以在3/1000秒時間內做完兩個10位數乘法其運算速度超出馬克1號至少在1000倍以上。一條炮彈的軌跡20秒鍾就能被它算完比炮彈本身的飛行速度還要快。埃曆阿克一天完成的計算工作量大約相當於一個人用手搖計算機操作40年。


埃曆阿克標誌著電子計算機的創世人類社會從此大步邁進了電腦時代的門檻。

 原文發布時間為2016-09-07

本文來自雲棲社區合作夥伴“大數據文摘”了解相關信息可以關注“BigDataDigest”微信公眾號

最後更新:2017-06-06 17:02:09

  上一篇:go  日本小哥如何使用深度學習和TensorFlow種黃瓜?
  下一篇:go  Nature:用2斤DNA就能存儲世界上所有的數據