差分機 與 分析機
19世紀初,英國在工業革命推動下,依靠強大的經濟實力和海軍力量,征服了世界上大面積的殖民地,號稱“日不落”帝國。為了維護自己的統治殖民地位以及海上貿易的權益,航海業受到極大的重視和提高。航海離不開航海表的指導,但航海表計算比較復雜并且計算量大,人們發現早期的航海表錯誤比較多,并因此導致很多海上事故。1823年,英國政府發出布告尋求能修正航海表的人。倫敦數學家巴貝奇(Charles Babbage,1792—1871)毛遂自薦,他提出制造一臺計算機器,可以自動,快速,準確的計算出航海表所需的數據。針對他提出的構想與計劃書,很多人不意為然。一個卓有遠見的政治家 - 威靈頓公爵(Arthur Wellesley, 1st Duke of Wellington 1769–1852)(這位公爵是曾經在滑鐵盧戰役(1815年)中大敗拿破侖的英軍統帥威靈頓將軍,后來擔任英國首相)支持了他的想法。
由于認識到巴貝奇計劃的可行性以及航海表對英國經濟發展和海軍作戰能力的巨大作用,威靈頓公爵出資1500英鎊作為項目的啟動資金。
經過近10年努力,1832年這種計算機器研制成功,并命名“差分機” 。 它由一些直立的銅柱構成,每根銅柱上都等距離的垂直裝配有若干齒輪,每個齒輪上都刻有0~9 個阿拉伯數字,利用齒輪之間的傳動咬合來自動完成計算。這臺計算機借鑒了帕斯卡和萊布尼茲的機器設計思想,但有更多創新。它設計有三個齒輪組作為存儲裝置來存儲計算的中間數據,可以按照事先設計好的計算步驟進行多項式計算,可以進行20位有效數字的計算,并能精確到小數點后六位。解決了當時遇到的一些計算難題。在制成三個存儲器的差分機后,為了提高差分機性能,巴貝奇又投入到七個存儲器的差分機制造中,但是限于當時的技術條件,未在預定時間內完成自己的計劃。同時,也失去了英國政府的資金支持,未完成的差分機與資料被送到英國博物管收藏。盡管新的差分機未能研制成功,但是他的差分機設計思想仍然值得借鑒: 受勞動經濟學分工影響,把差分機分成三大部件- 存儲部件,讀寫數據部件和數據運算部件。存儲部件由直立銅柱上等距離齒輪上的數字存儲,讀寫部件是用一種精巧方法從存儲部件讀取輸入數據,并送給數據計算部件,或者將數據計算部件的計算結果寫入存儲部件;數據運算部件由齒輪之間的傳動咬合實現。這種設計思想至今在現代計算機中仍然在運用。
盡管失去了政府的資金支持,巴貝奇未停止計算機器的設計制造想法。他投入到一種新的計算機器 - 分析機 的設計制造中,根據設計,這臺機器能夠勝任任意計算復雜公式的計算任務,實現通用計算的功能。他設計30多種分析機方案,畫了2000多張圖紙,限于當時的技術條件未能完成。分析機的設計思想更趨近于現代計算機的結構,而且發明了程序設計的概念。從結構上看,分析機由數據運算部件(處理器),讀取數據部件(讀卡器),記錄數據部件(打印機和打卡器)和存儲部件(有數據標記的銅柱和事先標記好的卡片)。在數據運算部件最初設計上,需要把加減乘除等運算部件分開,但具體實現時復雜度太大,后經過優化,可以用加法器把加減乘除等數學運算轉化位有限次的加法運算,測試及重復運算實現,降低了數學運算部件的設計難度。另外,通過編輯卡片,實現存儲計算指令和數據的功能,計算機通過讀取事先編輯好的卡片獲得執行指令和運算的數據,實現自動運算 - 這恰恰是早期程序設計思想的雛形。
巴貝奇設計差分機不被世人所知,當時很多人不相信機器能代替人腦進行計算。但他對分析機的價值深信不疑。他在生命的最后時刻寫道: 任何人如果不惜步我的后塵,我不怕把自己的名譽交給他去做應有的評價。因為,之后他才能完全了解我的工作性質及其成果的價值。
20世紀40年代哈弗大學的計算實驗室霍華德-艾肯博士位設計計算機查閱資料的時候,看到巴貝奇的相關著作和論述。自此,人們才逐漸意識到巴貝奇關于計算機設計思想的正確性和重要性,其貢獻被認為是計算機發展歷史上的一座里程碑。
模擬計算機
巴貝奇的計算機器直接使用數字進行運算,在其遇到挫折后,人們轉而研制模擬計算器進行計算。所謂模擬計算機器,是把數字轉化為長度尺度,對長度尺碼計算算后,再把運算結果轉化為數字。比如1855年,物理學家麥克斯韋發明積分儀,通過兩個垂直的圓盤旋轉與滑動,把積分運算轉換為長度量的模擬。19世紀60年代初,詹姆斯-湯姆森改進,形成了新的積分儀。1930年,美國麻省理工學院的范內華-布什利用六臺湯姆森積分儀和紐曼發明的力矩儀制成一臺微分分析儀 - 用它來解微分方程。它由50英尺長,由一系列轉盤,杠桿和用手工安裝的轉筒組成,它可以被看作是一個巨大而笨重的計算尺,需要幾個人共同操作,才能運轉。
盡管這一時期的模擬計算機器得以發展,但是計算需要至少兩次數字與模擬量之間的轉換 - 先有數字轉化為物理模擬量參與運算,后來把模擬量的運算結果轉化為數字 ,造成誤差比較大,難以滿足復雜運算需要的精度。
由于這些原因,最后人們不得不又轉向數字計算機的研制。
機電計算機及其商業化
19世紀末到20世紀初,是人類技術發展史上重要的階段。人類走過了蒸汽時代,跨入了電力時代。1865年美國內戰結束后,工業化迅速發展,經濟實力迅速增強。19世紀80年代,美國工業產值超過英國,居世界首位。世界科技中心也逐漸轉移到了美國。
美國早期的計算機也是機械式的,之后模擬計算機也得到發展,隨著模擬計算機缺點暴露出來,人們轉而研究數字計算機。但是機械計算機需要精密制造工藝比較高,延遲大,計算速度慢的問題需要解決。得益于電力和電工技術的發展,人們轉而希望通過電器元件替代機械計算機器中的齒輪和傳動部件。
1884年,霍普利斯(H. Hollerith , 1860-1929)利用電器元件發明了電動制表機,此機器在美國人口普查中得到廣泛使用。在設計機器中應用了電學原理和二進制思想,是巨大的進步。在隨后1896年,他成立一家電動制表機,用來滿足人口普查和統計制表需要。
霍普利斯的制表機有一些缺點,后被俄羅斯移民杰姆斯-鮑爾斯發現后,進行改進,使其性能得到大幅度的提升,被美國移民局指定為1910年人口普查的專用機器,鮑爾斯迅速成立了自己的電動制表機公司與霍普利斯展開激烈競爭。
霍普利斯由于技術及經營問題,逐漸失利,最后被迫與另外兩家公司合并成為計時-制表-計量公司(CRT), 該公司靠計時鐘掙錢,計量秤具和制表機僅能維持收支平衡。為了扭轉局勢CRT公司董事會決定尋求經營管理者帶領公司走出困境,他們向美國現金出納公司的二號人物-副總裁托馬斯-沃森發出了邀請。
托馬斯-沃森出(Thomas J. Watson,1874-1956)任CRT 公司經理后,調整公司的經營策略。他依靠出色的推銷技巧和對制表機市場前景的信心拿到了銀行的貸款,進而改進老舊的制表機提高其性能奪回了市場。同時,在不斷開拓辦公室會計出納業務市場,推出滿足新需求的電動制表機;另一方面,不在出售電動制表機,而是改為出租機器的方式,保留所有權避免用戶改進機器,控制技術所有權。在他的推動下,電動制表機逐漸成為公司盈利的主導性產品。1924年,托馬斯-沃森出于公司發展業務的需要,把公司名改為國際商用機器公司,簡稱IBM公司。
在利用電器元件制造計算機方面,德國工程師祖斯(K.Zuse, 1910 - ?)也進行嘗試。1928年他制造機械計算機后,計算速度慢的特點迫使他嘗試電磁繼電器制造計算機的實踐,1941年制造出了Z3型電式計算機,采用了浮點計數,二進制計算并使用了數字存儲地址指令形式。可惜,由于戰爭影響不為外界所知,在美蘇轟炸柏林中被損毀。
美國哈佛大學的霍華德-艾肯博士(H.Aiken, 1900-1973)相對比較幸運, 他最初由于需要求解非線性常微分方程,便制造出這種計算機器后,萌生制造通用計算機的想法。在搜集資料的過程中,他看到了巴貝奇教授的關于分析機的著作,受到啟發準備采用機械和電氣元件制造自己的計算機。但是,哈佛大學無法提供50萬美元的資金支持。1939年IBM公司的沃森提供100萬美元的資金和設備,艾肯負責設計和研制,IBM負責生產。經過五年努力,機器于1944年8月研制成功,命名為“自動順序控制計算機”,型號為馬克-I (Mark - I)。這臺計算機運算字長32位十進制數,運算速度比機械式計算機快很多,兩個23位數相乘只需要4.3秒即可得到乘積。由于,在產品發布會上,艾肯博士只附帶提到IBM公司對這臺計算機做的貢獻,沒有很好宣傳該公司,導致隨后研制新型計算機沒能獲得IBM公司的資金支持。但美國海軍對艾肯博士進行了資助,艾肯博士于1946年研制出了馬克-II (Mark - II ),完全采用電磁繼電器進行研制。馬克-II在美國海軍的武器研制制造中,發揮了重要作用。
在同一時期,美國新澤西州貝爾實驗室的喬治-斯蒂比茨(G.R.Stibitz)也進行機電式計算機的研制。1940年,他研制的第一臺計算機是主要用于電網復數運算的專用計算機(Model.1號),之后又研制初MODEL.5 號計算機。