1946年2月14日,在美國賓夕法尼亞州東南部的費城,人們正在像以往一樣正常工作和生活。

忽然,他們發現,房間裡的燈暗了下來。

剛剛經歷過二戰的人們,對這種情況習以為常。他們心想:「是不是哪裡的電力線路又壞了?」

其實,燈之所以會暗,並不是因為線路問題,而是在離他們不遠的賓夕法尼亞大學,誕生了一個「龐然大物」。

這個「龐然大物」佔地170平方米,重達30噸。它以電為生,功率高達150千瓦。它的啟動,直接拉低了附近居民用電的電壓,所以導致電燈變暗。

這個「龐然大物」究竟是什麼呢?

沒錯,它就是人類第一臺通用電子計算機——ENIAC(埃尼阿克)

ENIAC

ENIAC

ENIAC採用了17468根真空管(這也是它體積大、耗電高的主要原因之一),每秒能夠完成5000次加法或400次乘法,約為手工計算的20萬倍。

它的誕生,對整個人類來說擁有極為重要的意義,標誌著人類正式邁入了電子計算機時代。

█ 從結繩記事到阿拉伯數字:算力的萌芽

ENIAC是一個里程碑。它將人類算力發展史分為了前後兩個部分。

在繼續下半部分之前,我們還是先來回顧一下上半部分的歷程。

從遠古時期開始,人類就掌握了算力。我們的「原生」算力工具,就是大腦。

我們運用算力的過程,叫做「思考」。相對應的,我們收集資訊的過程,叫做「觀察」。

所謂「計算」,其實就是解決問題的過程。遇到問題,通過計算解決問題,就實現了進步和發展。

在整個過程中,人類是主體,資訊是輸入和輸出物。經驗和技術,則是方法。而完成整個計算過程的能力,就是算力(Computing Power)

動物也有大腦,也有算力,但是遠遠不如我們強勁。在漫長的進化過程中,我們的大腦越來越發達,最終幫助我們從萬物生靈中脫穎而出,成為了地球的主宰。

在人類早期階段,之所以需要算力,是為了生存。主要的計算內容,是如何狩獵,如何防範襲擊,如何繁衍後代。

後來,有了基本的生存保障,人類就開始將更多的算力用於改善生存質量,例如搭建房屋、交易物品、製造工具等。

計算是對資訊進行處理的過程。所以,如何表達和記錄資訊,是實施計算的第一步。

在原始社會,為了更好地描述自己觀察到的資訊(所見、所聞、所想),也為了更方便地進行資訊溝通,就開始繪畫。

原始人的壁畫

原始人的壁畫

後來,在繪畫的基礎上,又發明了文字

早期象形文字

早期象形文字

文字,其實就是用表意符號對資訊進行「編碼」

它是物理世界和精神世界的一種對映和表達。有了文字,資訊的記錄和傳遞效率大幅提升,人類社會有了更強的聯結力,歷史和文明也更易於傳承。

文字裡面,還有一種很特殊的符號,那就是數字

所有的人類早期先進文明,都有自己的文字,也有自己的數字系統。例如巴比倫文明的六十進位制,瑪雅文明的二十進位制或十八進位制,中國和古埃及的十進位制。

數字出現後,人們將計數和算數的過程,稱為計算。(我們姑且將前面宏觀的計算稱為「廣義的計算」,這裡稱為「狹義的計算」。)

古希臘在數字和計算上比較領先,很早就創立了算術、幾何、代數等獨立學科。

古希臘思想家、哲學家、數學家畢達哥拉斯發現並證明了勾股定理,是那一時期計算水平的標誌。

畢達哥拉斯

畢達哥拉斯

後來,畢達哥拉斯學派主張用數來解釋一切,認為不僅萬物都包含數,而且「萬物皆是數」

現在看來,這種思想極具前瞻性。也有人將其改成:「萬物皆比特」

人類社會不斷進步,計算需求也變得越來越複雜。僅僅依靠大腦這個「原生」算力工具,不太夠用。即便是用上手指、腳趾,也不行。所以,我們開始藉助外部算力工具。

最早期,我們使用的外部算力工具是草繩、石頭,也就是所謂「結繩記事」。

中國關於結繩記事的記載出自《易經》中的《繫辭下》:「上古結繩而治,後世聖人易之以書契。」 我們現在常見的中國結,也源於「結繩記事」。

結繩記事

結繩記事

後來,文明繼續發展,我們有了算籌(一種用於計算的小棍子)。

在中國,算籌誕生於春秋戰國時期。我們經常用到的成語,例如運籌帷幄、一籌莫展、技高一籌等,都是和算籌有關。

公元480年,祖沖之把圓周率精確計算到小數點後第七位(3.1415926),採用的工具就是算籌。他的這一記錄,保持了900多年。

祖沖之

祖沖之

除了算籌之外,我們還有一個更知名的算力工具,那就是算盤

算盤的具體誕生時間已經無從考證。有人說是秦朝,也有人說是東漢。東漢時期徐嶽的著作《數術記遺》中,最早出現了「珠算」這個字眼。

算盤的歷史價值不需要我多說。直到現在,我們還能看到它的身影。

算盤

算盤

公元3世紀,笈多王朝的古印度人發明了阿拉伯數字,意義重大。後來,阿拉伯帝國崛起,將阿拉伯數字帶到了歐洲。

同樣被帶到歐洲的,還有中國四大發明之一的造紙術

前面我提到,圖畫和文字是人類表達資訊的方式。這些資訊,肯定是需要載體的。早期的載體,是龜甲、獸骨、獸皮、竹簡、木牘、縑帛。這些載體要麼稀少,要麼昂貴,要麼無法長期保存。

西漢時期,造紙術在中國出現,但工藝簡陋,質量不佳。後來,東漢元興元年(105年),宦官蔡倫總結前人經驗,對造紙工藝進行改進,顯著提升了紙的質量,也為紙的普及奠定了基礎。

蔡倫

蔡倫

紙的出現和普及,大大方便了資訊的記錄和傳遞,有利於文化傳播,也提升了生產效率。

阿拉伯數字和造紙術傳入歐洲,前者取代了冗長的羅馬數字,後者取代了昂貴的羊皮和小牛皮。再加上後來,中國的印刷術又傳了過去,大大促進了歐洲文化的發展。

這一切,也為後來的文藝復興和科技萌芽鋪平了道路。

█從計算尺到差分機:算力的蓄力

公元14世紀,正如大家所知道的那樣,歐洲開啟了文藝復興,人文主義的思潮佔據主流,人們開始倡導通過觀察和實驗來認識世界。

到了16世紀,歐洲的科技就開始爆發了。

那一時期,整個歐洲群星璀璨,藝術和科學領域碩果累累,生產力水平直線上升。

數學作為所有科學學科的基礎,取得的研究進展是最大的。解析幾何學、微積分等,都誕生了。一大堆天才數學家,輸出了海量的研究成果,不僅為其它學科的騰飛奠定了基礎,還直接促成了後來的工業革命。

當時,為了更好地服務於數學計算,人們發明了新型的算力工具。例如1625年,英國數學家威廉·奧特雷德(William Oughtred)發明了計算尺。1642 年,法國數學家布萊茲·帕斯卡(Blaise Pascal)發明了人類最早的機械計算機。

這些發明,可以輔助完成對數計算、三角函數計算、開根計算等複雜任務,提升計算效率。

後來,17世紀末到18世紀中,德國數學家戈特弗裡德·威廉·萊布尼茨(Gottfried Leibniz)等人,先後設計和製造了能夠計算乘法的設備,將算力工具提升到更高的層級。

萊布尼茨

萊布尼茨

18世紀60年代,第一次工業革命爆發,將人類帶入蒸汽時代。

動力機械崛起,開始取代手工勞動,成為主要生產力。算力工具,也開始向更先進的機械化方向演進。

算力工具想要機械化,首先要解決資訊表達方式的問題。因為機器是不識字的,先要發明讓機器看得懂的「語言」,才能讓機器按命令工作。

這個早期的機器語言表達方式,就是「打孔」

1725年,法國人巴斯勒·布喬(Basile Bouchon)發明了打孔卡(穿孔卡),用於織布機。

織布機在編織過程中,編織針會往復滑動。根據打孔卡上的小孔,編織針可以勾起經線(沒有孔,就不勾),從而繪製圖案。換言之,打孔卡是儲存了「圖案程序」的儲存器,對織布機進行控制。

這一發明,標誌著人類機械化資訊儲存形式的開端。

1801年,法國織機工匠約瑟夫·馬里爾·雅卡爾(Joseph Marie Jdakacquard)對打孔卡進行了升級。

他將打孔卡按一定順序捆綁,變成了帶狀,創造了穿孔紙帶(Punched Tape)的雛形。這種紙帶,被應用於提花織機。

大家應該能看出來,

大家應該能看出來,打孔其實就是一種資訊編碼方式。它比文字和數字更加簡單,讓人與機器可以進行「溝通」。

1811年,20歲的英國發明家查爾斯·巴貝奇(Charles Babbage)從提花織機中獲得靈感,開始設計製造一臺名叫「差分機」的設備。

巴貝奇

巴貝奇

十年後,這臺「差分機」製造完成,可以進行多種函數運算,運算精度達到了6位小數。

在這個成就的鼓舞下,巴貝奇又啟動了第二臺「差分機」的研究,精度將達到20位。英國政府也資助了他的研究。

可惜的是,因為這個機器的設計太過超前(有25000多個零件,主要零件的誤差不得超過每英寸千分之一),當時的機械製造水平,很難達到精度要求。所以,在歷經二十年,耗費了鉅額資金之後,這個「差分機」還是未能製造出來。

後人復刻的差分機二號,驗證了可以正常工作

在這個過程中,1834年,巴貝奇還提出了一個更大膽的想法——設計一個以蒸汽為動力的通用數學計算機,能夠自動解算有100個變數的複雜算題,每個數可達25位,速度可達每秒鐘運算一次。

巴貝奇把這種新的設計叫做「分析機」

「分析機」和第二臺差分機一樣,最終未能製造成功。但「分析機」中包含的很多設計,例如送入和取出資料的機構、以及「儲存庫」和「運算室」,和一百多年後的計算機如出一轍。

因此,「分析機」被後人稱為世界上第一臺計算機。而巴貝奇,則被譽為計算機鼻祖。

值得一提的是,與巴貝奇進行技術合作的,有一個小姐姐,名字叫阿達·奧古斯塔(Ada Augusta)。她是詩人拜倫的獨生女。當時,她負責為「分析機」程式設計。她也因此被稱為世界上第一個「程式設計師」。

阿達·奧古斯塔

阿達·奧古斯塔

1878年,瑞典發明家奧涅爾在俄國發明瞭一種齒數可變的齒輪計算機,也算是機械計算機的代表之一。

到了1885年,已經有越來越多的計算機在歐美國家誕生,成為一種風潮。

1890年,一個牛人的出現,讓打卡孔技術進一步發揚光大。這個人,就是德裔美國人——赫爾曼·何樂禮(Herman Hollerith)。

赫爾曼·何樂禮

赫爾曼·何樂禮

赫爾曼·何樂禮在打孔卡的基礎上,發明了打孔卡製表機,專門用於收集並統計人口普查資料。

打孔卡製表機

打孔卡製表機

打孔卡製表機的統計速度更快。

根據史料記載,在1890年的美國人口普查中,通過打孔製片和打孔機,僅6周就完成了統計工作,得出了準確的資料(62622250人)。而此前1880年的美國人口普查,資料全靠手工處理,歷時7年才得出最終結果。

如此巨大的效率提升,使得製表機在各個行業迅速普及。它標誌著半自動化資料處理時代的開始。

打孔卡技術,直到1960年代都還在使用

打孔卡技術,直到1960年代都還在使用

後來,1896年,赫爾曼·何樂禮創辦了製表機器公司(Tabulating Machine Company)。這家公司,就是IBM公司的前身。

█從圖靈機到ENIAC:算力的崛起

進入20世紀後,隨著電子技術的飛速發展,計算機就開始了由機械向電子的過渡。

機械時代的計算機,可以通過齒輪或者帶刻度的圓柱,進行數字的標記。到了電子時代,這樣做就不太合適了。電的特點是有(通電)和無(不通電),它比較適合的,顯然是二進位制

17世紀後半葉,德國數學家萊布尼茨率先提出了二進位制(是的,又是他。他也是微積分的發明人。)

他形象地用1表示上帝,用0表示虛無,上帝從虛無中創造出所有的實物。

19世紀中葉,英國數理邏輯學家喬治·布爾(George Boole)提出了邏輯代數(後來被人們稱為「布爾代數」)。

喬治·布爾

喬治·布爾

他通過二進位制,將算數和簡單的邏輯統一起來,通過使用與、或、非等邏輯運算子,以及基於真和假的二值邏輯,為我們提供了一種理解和操縱邏輯關係的工具。

布爾代數為計算機的二進位制、開關邏輯電路的設計鋪平了道路,並最終為現代計算機的發明奠定了數學基礎。

除了邏輯基礎之外,硬體當然也要跟上。

1904年,英國人約翰·安布羅斯·弗萊明(John Ambrose Fleming)發明了真空電子二極體,可以實現單向導電,檢波、整流。1906年,美國人德·福雷斯特(Lee De Forest)在二極體的基礎上加以改進,發明了真空三級電子管,可以實現信號放大。

德·福雷斯特

德·福雷斯特

真空管的出現,推動人類電子技術向前邁了一大步,補足了硬體短板。

那一時期,資訊儲存技術也有了很大進步。

1898年,丹麥工程師瓦蒂瑪·保爾森(Valdemar Poulsen)在自己的電報機中首次採用了磁線技術,使之成為人類第一個實用的磁聲記錄和再現設備。

1928年,德國工程師弗裡茨·普弗勒默(Fritz Pfleumer)發明了錄音磁帶。1932年,奧地利工程師古斯塔夫·陶謝克(Gustav Tauschek)發明了磁鼓儲存器。磁性儲存時代正式開啟。

磁鼓儲存器

磁鼓儲存器

1937年,英國劍橋大學的阿蘭·圖靈(Alan M. Turing)提出了被後人稱之為”圖靈機”的數學模型。這為現代計算機的邏輯工作方式指引了方向。

阿蘭·圖靈

阿蘭·圖靈

同樣是1937年,貝爾試驗室的喬治·斯蒂比茲(George Stibitz)展示了用繼電器表示二進位制的裝置。儘管僅僅是個展示品,但卻是第一臺二進位制電子計算機。

二戰爆發後,軍事需求大大刺激了算力的發展。軍方需要更加強勁的算力,完成密碼加密解密、火炮彈道計算甚至火箭發射等重要任務。

1941年12月,德國人康拉德·楚澤(Konrad Zuse)製作完成了世界上第一臺可程式設計電子計算機——Z3。這臺計算機用於空氣動力學計算,使用了大量的繼電器和真空管,每秒鐘能作3到4次加法運算,一次乘法需要3到5秒。後來,Z3毀於柏林轟炸。

康拉德·楚澤和Z3(復刻版)

康拉德·楚澤和Z3(復刻版)

1942年,美國愛荷華州立大學物理系副教授阿塔納索夫(John V.Atanasoff)和他的學生克利福德·貝瑞(Clifford Berry)設計製造了世界上第一臺電子計算機,名為”ABC”(Atanasoff-Berry Computer),也被稱為「珍妮機」。

ABC計算機

ABC計算機

ABC使用了IBM的80列穿孔卡作為輸入和輸出,使用真空管處理二進位制格式的資料。資料的儲存,則是使用的再生電容磁鼓儲存器(Regenerative Capacitor Memory)。

雖然ABC無法進行程式設計(僅用於求解線性方程組),但使用二進位制數字來表示資料、使用電子元件進行計算(而非機械開關)、計算和記憶體分離等特點,都足以證明它是一臺現代意義上的數位電子計算機。

1944年,在IBM公司的支持下,哈佛大學博士霍華德·艾肯(Howard Aiken) 成功研製了通用電子計算機——Mark I,也稱ASCC(Automatic Sequence Controlled Calculator,自動控制序列計算器)。

霍華德·艾肯與MARK I

霍華德·艾肯與MARK I

Mark I長16米,重4.3噸,擁有75萬個零部件,使用了800公里長的電線,300萬個連接、3500個多極繼電器、2225個計數器。

它可以在一秒鐘內進行3次加法或減法。乘法需要6秒,除法需要15.3秒,對數或三角函數需要超過1分鐘。當時,它被用來為美國海軍計算彈道火力表。

值得一提的是,第一個在Mark I上運行的程序是由馮·諾依曼(John von Neumann)於1944年3月29日發起的。當時,馮·諾依曼正在研究曼哈頓計劃,需要確定內爆是否是原子彈的可行選擇。

馮·諾依曼

馮·諾依曼

還需要提一句,Mark I的研究團隊中,有一位名叫格蕾絲·霍珀(Grace Hopper)的海軍預備役女軍官。「bug」這個詞,就是她引入的。

1945年,Mark II在運行過程中,飛進了一隻飛蛾,導致出現故障。霍珀消滅了飛蛾,解決了問題,成為第一個「調試(debug)」計算機的人。

這隻飛蛾還被貼在Mark II的日誌上

這隻飛蛾還被貼在Mark II的日誌上

終於,到了1946年2月,如本文開頭所說,ENIAC誕生了。

正在操作ENIAC的女程式設計師

正在操作ENIAC的女程式設計師

這裡需要澄清一下,雖然人們一貫將ENIAC稱為世界上第一臺數字式電子計算機,但這個說法其實是有爭議的。前面提到的ABC,就是這個稱謂的有力爭奪者。

ENIAC甚至稱不上第二。那一時期問世的數位電子計算機很多,嚴格來說,ENIAC只能排第11。國外主流觀點認為,ENIAC的設計者盜竊了ABC的設計。1973年,美國法院也裁定,取消了ENIAC的專利,認定ENIAC專利是ABC的衍生品。

關於誰是第一,我們就不討論了。反正,1945年左右,電子計算機誕生的浪潮,標誌著人類算力正式進入了數位電子計算機時代。

波瀾壯闊的資訊技術革命,即將開啟。

未完待續……

敬請期待——《世界算力簡史(下):資訊革命》

參考文獻:

1、《計算機的發展歷史彙總》,網路;

2、《算力發展簡史》, 廬山真容;

3、《誰發明了 Mark I 計算機?》,thoughtco.com;

4、《機械史上的巔峰之作!來看看差分機》,前沿數控技術;

5、維基百科、百度百科;

5、維基百科、百度百科;

Source

Visited 2 times, 1 visit(s) today
Subscribe
Notify of
guest

This site uses Akismet to reduce spam. Learn how your comment data is processed.

0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x