計算機是如何誕生的?

1974 年之前,個人計算機(電腦)基本上還沒有蹤影,而如今它早已無處不在。它端坐於每一張辦公桌上,棲身於每一個行李箱中。它代替了打字機、計算器、人工會計系統、運算表格、電話、圖書館、繪圖板、劇院、補習老師、玩具,等等。

它是怎麼誕生的呢?

個人計算機的起源頗具革命性,因為它並不是由那些搞研發的專業團隊在成本昂貴、設備精良的實驗室研製出來的。它始於企業和學術機構之外,由駭客、計算機發燒友和誤打誤撞的創業者利用業餘時間在車庫、地下室和臥室等地方創造出來。這些革命者用自己對這門技術的痴迷點燃了導火索。

若要追本溯源,不僅可回溯到20 世紀50 年代的巨型計算機,甚至還可回溯到19 世紀的小說中那些能思考的機器。

上帝保佑,我真希望計算能利用蒸汽進行。

——查爾斯·巴貝奇,19 世紀發明家

在一個大雨傾盆的夏日,詩人拜倫和雪萊在瑞士消磨時光,討論起人工生命和人工思維,思考著是否能「製造出某個生物的各個零件,將它們拼湊起來並賦予其體溫」。瑪麗·雪萊記住了這場討論,並在自己後來著名的小說《弗蘭肯斯坦》(又名《科學怪人》)中展開了這一主題。

對蒸汽時代的讀者來說,瑪麗·雪萊筆下的科學怪人實在令人毛骨悚然。

弗蘭肯斯坦是個熱衷於生命起源的生物學家,他懷著犯罪心理頻繁出沒於藏屍間,嘗試用不同屍體的各個部分拼湊成一個巨大人體。當這個怪物終於獲得生命睜開眼睛時,弗蘭肯斯坦被他的猙獰面目嚇得棄他而逃,他卻緊追不捨地向弗蘭肯斯坦索要女伴、溫暖和友情;接踵而至的更是一系列詭異的懸疑和命案。——百度百科

19 世紀早期迎來了機械化時代,而機械化動力的主要標誌是蒸汽機。蒸汽機最初安在輪子上,是為了推動輪子行進的。1825 年,世界上的第一條公共鐵路投入運營。蒸汽給當時的人們帶來的神祕感,恰似後來的電力和原子能給後世人帶來的神祕感。

「蒸汽朋克」計算機

1833 年,英國數學家、天文學家及發明家查爾斯·巴貝奇談起用蒸汽驅動計算,並真的開始設計這麼一臺機器。巴貝奇聲稱,這機器若是做出來,可將計算行為機械化,甚至將思維機械化。當時的許多人將巴貝奇當作真人版的弗蘭肯斯坦。

查爾斯·巴貝奇,19 世紀數學家、發明家

▲ 查爾斯·巴貝奇 19 世紀數學家、發明家,早在計算機成功問世100 年前就設計了一臺「能將思維機械化」的機器。(資料來源:美國聖何塞計算機博物館歷史中心)

雖說巴貝奇的設計並未變為現實,但他絕非一名光說不練的空想家。在1871 年逝世之前,巴貝奇一直致力於研究他所謂的「分析機」,並從邏輯學和數學最先進的思想中汲取營養。巴貝奇的目的是做出一臺能將人們從重複枯燥、令人厭倦的腦力勞動中解放出來的機器,正如當時一些新機器讓人們免去了耗體力的苦差一樣。

巴貝奇有一位搞科學編年史的同事,同時也是他的贊助人,叫奧古斯塔·艾達·拜倫。她是拜倫勳爵的女兒,師從代數學家奧古斯塔斯·德·摩根,後來成為洛夫萊斯伯爵夫人。奧古斯塔·艾達·拜倫本身既是一名作家,又是一名業餘數學家。因此,她能夠通過文章和論文向受過高等教育的公眾和英國貴族中的潛在贊助人解釋巴貝奇的想法。此外,她還撰寫了不少文章來介紹巴貝奇的分析機是如何解決高等數學問題的。因為奧古斯塔·艾達·拜倫所做的這些工作,許多人視她為世界上第一位計算機程式設計師。20 世紀80 年代初,美國國防部用她的名字命名了Ada 程式設計語言,以此肯定艾達在計算機程式設計方面的貢獻。

奧古斯塔·艾達·拜倫,又稱洛夫萊斯伯爵夫人(1815—1852) 推廣了巴貝奇分析機,併為其編寫程式

▲ 奧古斯塔·艾達·拜倫,又稱洛夫萊斯伯爵夫人(1815—1852) 推廣了巴貝奇分析機,併為其程式設計,還預言像這樣的機器未來能用於做複雜的事情,如創作音樂。(資料來源:約翰·默裡出版公司)

瑪麗·雪萊創作的《弗蘭肯斯坦》引起了當時的公眾對新技術的恐懼。因此,奧古斯塔·艾達·拜倫認為,最好能讓自己的聽眾放心,巴貝奇的分析機並沒有獨立思考的能力。她向他們保證,這臺機器本身不會思考,只能根據人的指令行事。

其實,巴貝奇的分析機與真正的現代意義上的計算機十分類似,而「根據人的指令行事」這個概念實際上就相當於我們今天所說的計算機程式設計。

從巴貝奇的設計來看,分析機是一臺體型巨大、噪聲不小、昂貴無比、外觀漂亮且因用了黃銅和鋼鐵製造而閃閃發光的大傢伙。數字存儲於由齒輪構成的暫存器上,而數字的加法和轉存則通過凸輪和棘輪的運行來完成。根據設計,分析機可以存儲1000 個數字,每個數字最多50 位數。內置存儲器容量如今被稱為機器的內存大小。按如今的標準來說,巴貝奇分析機的運行速度可以說是龜速——1 秒內都無法完成一個加法運算,但實際上它的內存比20 世紀四五十年代的第一批可用的計算機以及20 世紀70 年代的早期微型計算機都要大。

儘管巴貝奇為分析機設計了3 種詳盡的方案,但他始終未能造出這臺機器。他設計的差分機雖簡單但也體現了他的雄心壯志,同樣也未能造出。在他之後的100 多年裡,人們普遍認為,當時的機械製造技術無法造出這些機器所需的幾千個精密零件。1991年,倫敦科學博物館負責計算的資深館長多倫·斯沃德用巴貝奇時代擁有的技術、工藝和材料造出了巴貝奇的差分機。斯沃德的成功揭示了巴貝奇人生中具有諷刺意味的一面。

早在別人做出同樣嘗試的100 多年前,巴貝奇就已經成功設計出了一臺計算機。他設計的機器實際上是能夠運行的,而且在他的年代也是造得出來的。巴貝奇之所以無法實現自己的夢想,全是因為他無法籌集到足夠的資金,而這又多半緣於他自己疏離於那些能提供資金的人。

如果巴貝奇能圓滑一些或奧古斯塔·艾達·拜倫更富有一些,恐怕就會有這麼一臺無比巨大的蒸汽計算機在狄更斯筆下的倫敦出現,幫助現實生活中的一些老吝嗇鬼算賬,也可能蒸汽計算機會與查爾斯·達爾文下一盤國際象棋。但正如瑪麗·雪萊所預言的一樣,要想製造出會思考的機器,關鍵是電力。

會計算的機器

美國邏輯學家查爾斯·皮爾斯通過講授英國數學家喬治·布爾的著作,將符號邏輯學從大西洋彼岸帶到了美國。在這個過程中,皮爾斯從根本上重新定義並極大豐富了布爾代數。布爾以無可爭議的方式將邏輯與數學整合到了一起,而皮爾斯大概是19 世紀中期最瞭解布爾代數的人了。

不僅如此,皮爾斯還有其他發現,他發現了邏輯與電力之間的聯繫。

到了19 世紀80 年代,皮爾斯發現,布爾代數可用於模擬電氣開關電路。布爾邏輯的真/ 假完全映射了電流流經複雜電路中開/ 關的方式,換句話說,邏輯可以用電路來表示。這就意味著電力驅動的計算機和邏輯機是可以構造出來的。它們不只是小說家的空想,它們可能會實現,而且最終定會實現。

皮爾斯有一名叫艾倫·馬昆德的學生,他在1885 年還真的設計出了一臺能夠進行簡單邏輯運算的電力邏輯機,但是還是沒有造出來。皮爾斯用來解釋如何模擬布爾代數的開關電路是計算機的一個基本組成部分。這個裝置的獨特之處在於能夠管理信息,這一點和電流或機車完全不同。

機械開關為電迴路所替代,使得計算設備的體積可以變得更小。事實上,第一臺電力邏輯機是由本傑明·布拉克設計並製造出來的便攜式裝置,體積小到可以裝進公文包中。這臺製造於1936 年的布拉克邏輯機可用於處理三段論形式的邏輯語句。譬如說,將「男人終有一死;蘇格拉底是男人」編入機器,邏輯機可接受「蘇格拉底終有一死」的推論,而拒絕「蘇格拉底是女人」的推論。後者這類錯誤的推理會關閉迴路並觸發機器的警告燈,表示發生了邏輯錯誤。

布拉克邏輯機是一臺功能有限的專用機器。然而,當時問世的大多數專用計算裝置都是用來處理數字問題而不是處理邏輯問題的。早在皮爾斯還在研究邏輯與電力之間的聯繫時,赫曼·霍列瑞斯就在設計一臺製表機,以進行1890 年的美國人口普查的計算。

霍列瑞斯的公司最終被一家企業合併了,這家企業後來更名為國際商用機器公司(簡稱IBM)。到20 世紀20 年代末,IBM 靠向企業售賣專用計算機器盈利,讓這些企業能夠將日常的數字計算工作自動化。但IBM 的機器還不是計算機,也不是像布拉克邏輯機那樣的機器。它們不過是被過分美化的大型計算器而已。

計算機的誕生

克勞德·香農在其麻省理工學院的博士論文中解釋瞭如何利用電力開關電路模擬布爾邏輯(查爾斯·皮爾斯在50 年前就曾預言過)。受到該論文的鼓舞,IBM的高管於20 世紀30 年代同意斥資製造一臺基於機電式繼電器的大型計算機器。他們給了哈佛大學教授霍華德·艾肯一筆在當時頗為可觀的經費——50 萬美元,用以研製 Mark I,Mark I 是一臺受巴貝奇分析機的啟發而設計的計算裝置。巴貝奇設計的是一個純粹的機械裝置,相比之下,Mark I 是一個電力機械裝置,它以繼電器為開關,繼電器陣列則作為數字存儲空間。這臺機器運行時噪聲非常大,繼電器不停地開關,咔咔地響個不停。1944 年,Mark I 問世並受到廣泛讚譽,人們都說科幻小說中的電子大腦終於成為現實。但是IBM 的高管卻高興不起來,因為艾肯在為這臺計算機揭幕時並未提及IBM 的資助。

IBM 為這筆投資感到懊悔。但原因還不止如此,在 Mark I 研製工作開始之前,其他方面的技術已取得了新的進展,這使得 Mark I 尚未問世就已然過時。

赫曼·霍列瑞斯 發明了世界上第一臺大規模資料處理裝置,並於1890 年成功應用於美國人口普查他是資料

▲ 赫曼·霍列瑞斯 發明了世界上第一臺大規模資料處理裝置,並於1890 年成功應用於美國人口普查。他是資料處理行業的鼻祖。(資料來源:IBM 檔案)

電力驅動正在為電子驅動讓路。當其他人將蒸汽驅動的巴貝奇式機器換成電氣繼電器時,愛荷華州立大學的數學和物理學教授約翰·阿塔納索夫看到了將電氣繼電器換成電子元件的可能性。在美國參加第二次世界大戰前不久,阿塔納索夫在克利福德·貝里的幫助下設計出了ABC。ABC 是阿塔納索夫- 貝里計算機(Atanasoff-BerryComputer)的首字母縮寫,這臺設備的開關裝置採用的不是繼電器,而是真空管。

這個開關裝置的更新換代是一次技術性飛躍。理論上說,以真空管為開關元件的機器運算起來比繼電器機器更快速、更高效。但ABC 和巴貝奇分析機一樣,也未能問世,這也許是因為阿塔納索夫所籌集的經費還不到7000 美元,遠不足以建造這臺機器。不過,阿塔納索夫和貝里確實組裝出了一臺簡單的樣機。他們用大量的電線和真空管拼出了一臺粗糙的臺式計算器。通過將真空管作為開關元件這一舉措,阿塔納索夫大大推動了計算機技術的發展。相較於繼電器開關,真空管的高效使得計算機的面世成為現實。

霍列瑞斯人口普查計算機器 為美國1890 年的人口普查節省了一個數量級的時間(資料來源:IBM 檔案

▲ 霍列瑞斯人口普查計算機器 為美國1890 年的人口普查節省了一個數量級的時間。(資料來源:IBM 檔案)

托馬斯·沃森 1914 年加入霍列瑞斯領先的資料處理公司,後將公司改名為IBM(資料來源:IBM 檔

▲ 托馬斯·沃森 1914 年加入霍列瑞斯領先的資料處理公司,後將公司改名為IBM。(資料來源:IBM 檔案)

真空管是抽掉了空氣的一種玻璃管。托馬斯·愛迪生發現,電子在某些條件下能在真空中流動,而李·德·福里斯特利用「愛迪生效應」最終將真空管制成了電子開關。20 世紀50 年代,真空管被廣泛應用到電視機、計算機等電子設備中。現如今我們仍可以看到應用顯像管的計算機顯示器或電視機屏幕。

到20 世紀30 年代,計算機的誕生已經是順理成章。計算機似乎也註定是價格昂貴的大塊頭專用設備。體積大、價格高的問題幾十年後才得以解決,但打破單一用途這一點在當時就已提上日程。

真空管 20 世紀50 年代,計算機中到處都是真空管,如圖中這臺IBM 701 處理器(資料來源:I

▲ 真空管 20 世紀50 年代,計算機中到處都是真空管,如圖中這臺IBM 701 處理器。(資料來源:IBM 檔案)

英國數學家阿蘭·圖靈曾設想過這樣一臺機器,這臺機器的目的只有一個,即讀取某一可描述任務的編碼指令,並根據指令自行完成任務。這個想法在當時可謂前所未聞。若一臺機器真的能夠完成指令描述的所有任務,那麼它就是一臺真正的通用設備。或許在圖靈之前沒有任何人有過如此宏大的想法。但在10 年之內,圖靈的想法就變成了現實。那些指令變成了程序,而圖靈的設想在另一位數學家約翰·馮·諾伊曼的手中變成了一臺通用計算機。

將計算機變成現實的大部分工作都是第二次世界大戰期間在祕密實驗室中進行的。圖靈就是這樣工作的。1943 年,美國費城莫爾電氣工程學院的約翰·莫奇利和約翰·埃克特提出了一個關於計算機的想法。很快,他們就和美國軍方開始合作研發電子數字積分計算機(Electronic Numerical Integrator and Computer, 簡稱ENIAC)。一旦成功,它將成為第一臺全電子數字計算機。除了用於信息輸入與輸出的外圍設備,ENIAC 就是一臺純粹的真空管機器。

發明ENIAC 的功勞歸誰向來是有爭議的。ENIAC 可能是根據莫奇利與阿塔納索夫會面後形成的想法設計出來的, 但至少ENIAC 是真實存在的。莫奇利和埃克特吸引了不少才華橫溢的數學家加入ENIAC 項目,其中包括聰明絕頂的約翰·馮·諾伊曼。

馮·諾伊曼加入了ENIAC 項目,併為建造ENIAC 做出了許多貢獻,他還為一臺更加複雜的電子離散變量自動計算機(ElectronicDiscrete Var iable Automat icComputer,簡稱EDVAC)提供了基本設想。人們對馮·諾伊曼的貢獻也報導很多。

馮·諾伊曼將莫爾電氣工程學院的重點從技術方面轉移到了邏輯方面。在他看來,EDVAC 不僅僅是一臺用來計算的設備。

馮·諾伊曼覺得,除算術運算之外,EDVAC 應該還能進行邏輯運算,並能以代碼符號進行運算,而且那些以代碼符號進行運算和解釋的指令本身也應該是編入機器的代碼符號,並用以繼續操作運算。這是現代計算機概念中最後一個根本性洞見。

馮·諾伊曼規定EDVAC 應該能根據指令來編寫程序,而這些指令本身是作為資料輸入計算機的,這為存儲程序計算機創建了標準。

約翰·莫奇利 ENIAC 的設計者之一,圖為他在1976年的大西洋城電腦節上向早期個人計算機發燒友演

▲ 約翰·莫奇利 ENIAC 的設計者之一,圖為他在1976年的大西洋城電腦節上向早期個人計算機發燒友演講。(資料來源:戴維·阿爾)

ENIAC 世界上第一臺全電子數字計算機,於1945 年12 月問世(資料來源:IBM 檔案)

▲ ENIAC 世界上第一臺全電子數字計算機,於1945 年12 月問世。(資料來源:IBM 檔案)

1945 年5 月之後,馮·諾伊曼提出將ENIAC 改為EDVAC 那樣的可程式設計計算機的方法,阿黛爾·戈爾斯坦編寫了能讓機器更易操作的語言(包含55 種操作)。從那以後,再沒有人以最初的操作模式來運行ENIAC 了。

1946 年年初,ENIAC 開發完成,它的運行速度比繼電式計算機快1000 倍。但儘管是電子計算機,ENIAC 運行起來仍然咔咔作響。ENIAC 就是一屋子滴答作響的電傳打字機、滋滋轉的磁帶驅動器以及滿牆相對安靜的電子線路板。ENIAC 有20 000 個開關元件,重約30 噸,耗電150 千瓦。儘管功率很大,但任何時候ENIAC 一次只能處理20 個十進制數字。不過在完全製造完成之前,它就已經派上了大用場。1945 年,ENIAC 被用於美國新墨西哥州洛斯阿拉莫斯市原子彈測試的計算。

第二次世界大戰結束之後,那些祕密實驗室開始解密他們的工作成果和設計,由此出現了一個新興產業。製造計算機立馬成了一門生意,而且由於計算機這種設備本身的特點,這還是一個大產業。工程師莫奇利和埃克特剛剛走出ENIAC 的成功光環,就幫助雷明頓打字機公司迅速轉型為斯佩裡通用自動計算機公司。隨後的好幾年裡,Univac 這個詞成了計算機的代名詞,就像提到舒潔(Kleenex)大家就會想到面巾紙一樣。但斯佩裡公司也有一些強大的競爭對手。經歷了Mark I 項目的失望後,IBM 的高管們重新振作起來,著手製造通用計算機。兩家公司形成了不同的運作風格。IBM 的員工都身著藍色條紋西裝,而斯佩裡公司的大樓裡則滿是穿著運動鞋的年輕畢業生。不知是公司形象好還是商業能力強,沒過多久,IBM 就從斯佩裡手上搶到了行業領頭羊的位置。

不久,大家用的多數計算機都是IBM 製造的了,而且IBM 的市場份額還在隨著市場擴大而不斷增加。其他的計算機公司也先後成立,一般都接受了曾在IBM 或斯佩裡受訓的工程師的指導。位於明尼阿波利斯市的CDC 公司脫離了IBM,隨後霍尼韋爾公司、寶來公司、通用電氣公司、RCA 公司和NCR 公司都紛紛開始生產計算機。不到10 年的時間,這8 家公司就稱霸了羽翼漸豐的計算機市場。由於IBM 的營業額遙遙領先於其他7 家公司,當時這8家公司常被戲稱為「白雪公主與七個小矮人」。

約翰·馮·諾伊曼 博學多識,為計算機程式設計以及ENIAC 和EDVAC 做出了奠基式的貢獻(資料來源:

▲ 約翰·馮·諾伊曼 博學多識,為計算機程式設計以及ENIAC 和EDVAC 做出了奠基式的貢獻。(資料來源:美國聖何塞計算機博物館歷史中心)

不過,「白雪公主與七個小矮人」很快就會被一些傲慢的行業新貴教訓了。20 世紀60 年代出現了一款新型計算機。比起先前的計算機,這種計算機體積更小、價格更低,借用當時風靡的迷你裙的概念,人們將這種計算機稱為「迷你計算機」(小型機)。生產小型機的公司中,最值得一提的是波士頓的DEC 公司和加州帕洛阿爾託的惠普公司。這些公司當時生產的計算機就是圖靈和馮·諾伊曼所指的通用計算機,它們更小巧,更高效,功能也更強大。

不久之後,計算機的核心技術取得了重大突破,這使得計算機在功能、效率和小型化幾個方面取得了驚人的發展。

——本文摘自《硅谷之火:個人計算機的誕生與衰落(第3版)》

編輯 ∑Gemini

來源:數學加油吧

相關文章

真極客都懂的七個「梗」

真極客都懂的七個「梗」

極客們說出的某些話 為什麼能夠振聾發聵、歷久彌新? 它們澄澈,像面鏡子 誠實地映照他們的心 它們銳利,像是子彈 輕易地擊中我們的心 那些話,...