早期計算都經歷了什麼?20世紀初,像制表機這樣有特定用途的設備,代替了人工操作。
20世紀上半葉,世界人口幾乎翻一翻,全球也開始進行貿易和運輸,這就使得人們對自動化計算機的需求日益增長,而從開始的算盤到需要花費巨資來維護的龐然大物,為未來的計算機打下了堅實的基礎。
一、計算機術語 "bug" 從何而來
哈佛馬克1號(Harvard Mark I)於1944年在第二次世界大戰中由 IBM 作為同盟國而建造,它是最大的電子計算機之一。
其中組件765000個,連接點3百萬個,導線長度500英裡,為了保持內部機械裝置同步,還用了5馬力功率的電機驅動一個50英尺長的傳動軸。
這臺機器的核心部件是繼電器,在繼電器內部,有根決定電路是否閉合的控制線,控制線連著繼電器裡的線圈,當電流經過線圈時,產生電磁場,在電磁場的作用下,繼電器吸合。
繼電器工作原理
哈佛馬克1號做加減法每秒3次,乘法每6秒1次,除法每15秒1次,三角函數之類的可能會超過1分鐘。
除了速度慢,還有機械磨損,任何會動的機器都有機械磨損,如果有齒輪壞了,速度會更慢,進而影響工作效率。
那現在咱們來討論一下繼電器,哈佛馬克1號上有大約3500個繼電器,假設一個繼電器的機械壽命是10年,平均一下,每天就得換掉一個故障繼電器,如果是需要運行很多天的重要計算,這將是一個很嚴重的問題。
這些機器不僅體積大,散熱厲害,而且會吸引蟲子,1947年9月,哈佛馬克2號(Harvard Mark II)的操作員從故障機器中取出了一隻死掉的飛蛾,從那時起當電腦一出現問題,人們就會說裡面有隻蟲子(bug),這就是計算機術語 "bug" 的來源。
如果想進一步推進計算能力,那就得找更快更可靠的東西代替繼電器。
二、從真空管到第一臺可編程通用電子計算機
真空管工作原理
1904年英國物理學家,約翰·安布羅斯·弗萊明開發了一種全新的電子部件叫「熱電子管」,也是世上第一個真空管。
在真空管裡放2個電極,通過加熱一個電極使其發射電子,稱為「熱電子發射」,另一個電極吸引這些電子,形成電流,這些移動的電子都帶有正電荷,這種只允許電流單向移動的器件叫二極體。
三極體工作原理
1906年,美國發明家李·德富雷斯特參考弗萊明的設計,在兩個電極之間加入第三個「控制」電極,向控制電極施加正電荷使電子移動,向控制電極施加負電荷阻止電子移動,這種可以通過「控制」電極來閉合/斷開電路的器件叫三極體。
它和繼電器的功能基本一樣,不同的是,真空管內沒有部件,極大的減少了磨損,而且開關次數可以達到每秒千次。
20世紀40年代,真空管才使用在計算機中,這也標誌著人們開始從機械計算進入電子計算時代。
第一次大規模使用真空管是在工程師Tommy Flowers設計的Colossus Mk 1上,它完工於1943年12月,用來幫助解密納粹通信。
第一版的Colossus有1,600個真空管,也是第一個可編程的電子計算機,編程方法是把幾百根電線插到插板裡,使計算機執行正確的操作,雖然它「可編程」,但還是需要人工設置才能執行特定的計算。
1946年,在賓夕法尼亞大學,John Mauchly和J. Presper Eckert設計的電子數值積分計算機 "ENIAC"成功出世,是世上第一臺通用「可編程」的「電子」計算機。
它每秒可執行5000次十位數加減法,據估計,它的運算量超過了全人類有史以來的所有運算。
直到1950年,真空管的計算已經被運用到了極限。
三、從電晶體的誕生到計算機步入人類生活
為了降低計算機的成本,減小尺寸,更進一步提高可靠性和計算速度,貝爾實驗室科學家John Bardeen, Walter Brattain和William Shockley於1947年發明了全新的電子開關——電晶體,它的出現標誌著一個全新的計算時代的誕生!
電晶體工作原理
電晶體就是一個開關,它是由導電材料隔開的兩個電極組成,這些材料會在一定條件下導電或不導電,因此稱之為半導體。
電晶體與真空管不同,它是固態組件,體積可以做到比世上最小的繼電器和真空管還要小,這也為後來更小更便宜的計算機打下了基礎。
1957年發行的IBM 608就是第一個用電晶體供電,可以在市面上買得到的計算機。它有3000個電晶體,每秒可執行4500次加法或每秒大約80次乘除法。
電晶體的誕生使計算機的應用進入辦公室,並不斷普及至家庭。
現如今,計算機裡的電晶體可以做到尺寸小於50納米,速度可以達到每秒切換數百萬次,使用壽命長達幾十年。
我們從繼電器到真空管,再到電晶體,不斷讓開關電路的速度變得更快,但我們又是怎麼用電晶體來進行實際計算呢?我們明天再聊。