一文速覽計算機的前世今生
Part 01
引言
計算機發(fā)展史洋洋灑灑近80年,一篇短文想講透是不現(xiàn)實的。但不必擔心,作為普通用戶,只需記住一個神奇年代,計算機發(fā)展史就能在你眼前脈絡清晰起來,那便是——1970s初。
Part 02
俯瞰今生
為什么是1970s初?因為如今我們所見的計算機,其賴以生存的各項技術,都在1970-1973這3年間呱呱墜地,不信且看——
? 1970年,英特爾,發(fā)布了第一款商用DRAM內(nèi)存。電腦要是離了內(nèi)存可玩不轉(zhuǎn)。
? 1971年,英特爾,發(fā)布了第一款商用微處理器,即如今的CPU。有了它,電腦才能小巧玲瓏。
? 1971年,貝爾實驗室,研發(fā)出了Unix操作系統(tǒng)第一版。Unix是今天絕大多數(shù)操作系統(tǒng)的老祖宗,包括無處不在的Linux(含安卓)、蘋果系統(tǒng)等等。計算機時間的“起點”(1970年1月1日0點),也是Unix定義的。
? 1972年,貝爾實驗室,研發(fā)出了C語言。C語言可能是影響力最大的編程語言了,許多操作系統(tǒng)、編程語言都直接或間接基于C語言。
? 1973年,ARPA,設計了TCP/IP協(xié)議,它是互聯(lián)網(wǎng)的基石。電影《流浪地球2》通過重啟全球互聯(lián)網(wǎng)拯救地球,背后依賴的正是TCP/IP協(xié)議簇。
? 1973年,IBM,發(fā)布了第一款現(xiàn)今結構的機械硬盤。
? 1973年,施樂公司,發(fā)明了第一款圖形界面操作系統(tǒng),實現(xiàn)了簡單直觀的人機交互,為計算機的普及奠定了重要基礎。
總的來說,今天計算機最重要的幾樣東西,基本都在1970s初誕生。
你可能會想,哇塞,70年代初也太厲害了吧,竟然發(fā)生了這么多大事,那后來的歲月里,計算機都發(fā)展了什么?
后來的故事
? 70年代后期,個人電腦誕生,從此昂貴的計算機不再是政府、企業(yè)、高校的專屬。
? 80年代,消費者的福音——圖形界面操作系統(tǒng)開始商用流行,即蘋果系統(tǒng)、Windows(用C/C++寫的)。
? 90年代,程序員中廣為流行的生產(chǎn)力工具誕生——Python和Java(用C/C++寫的)。
? 90年代,數(shù)十億人工作、生活所需的信息高速公路誕生——萬維網(wǎng)(基于TCP/IP)。
21世紀:
? 00年代,智能手機操作系統(tǒng)的王者——Android、iOS誕生(間接源自Unix)。
? 10年代,移動互聯(lián)網(wǎng)、云計算大火。
? 20年代,現(xiàn)有技術的集大成者——元宇宙,在2021年起飛。
對比而言,70年代初有如開掛,濃縮了太多開創(chuàng)性成果,而之后的歲月里,發(fā)展似乎相對乏善可陳,更多的是既有技術的優(yōu)化升級。
譬如CPU,位數(shù)從最初的4位,一路“奔騰”到如今主流的64位,性能也巨幅提升。
譬如DRAM內(nèi)存,誕生之初叫DRAM(動態(tài)隨機存取存儲器,簡稱動態(tài)內(nèi)存);后來一路升級,不斷疊加前綴,如今叫LPDDR5 SDRAM(第5代低功耗雙倍數(shù)據(jù)率的同步動態(tài)內(nèi)存)
圖1 內(nèi)存名稱釋義
如果把1970后的計算機看作“今生”,那它的“前世”又在干嘛呢?難道在1970s前,就沒有如今的這些硬件、軟件系統(tǒng)嗎?
要知道,人類首次登月是1969年,70年代初的那些技術都還沒問世,那登月所依賴的系統(tǒng)是什么模樣?
Part 03
回眸前世
一般認為計算機誕生于1946年,那么直到1970年,計算機的發(fā)展都經(jīng)歷了什么?這里用“三化”來概括:
- 硬件小型化
- 操作系統(tǒng)人性化
- 編程語言高級化
硬件小型化
最初計算機的電路用的是電子管,整體足有2個房間大。難以想象前人為了掌控這龐然巨獸需要付出多么艱苦卓絕的努力。
幸運的是,50年代有了晶體管和集成電路技術,讓CPU和內(nèi)存先后開始小型化,從而逐漸實現(xiàn)整機的小型化。進化路線為:巨->大->中->小型機,至于微型機(微機),則到70年代才出現(xiàn)。
集成電路使芯片小型化的同時性能飛升,進而支撐起豐富的上層應用。而集成電路的關鍵工藝在光刻技術,所以為什么說先進光刻機會卡脖子,因為它在產(chǎn)業(yè)鏈上游,一旦掐斷,下游可不就巧婦難為無米之炊了。
操作系統(tǒng)人性化
如今的電腦似乎有三頭六臂,同時放歌、下視頻、聊微信,不費吹灰之力。
然而早期的計算機卻相當“專心”,一個任務做完了再做下一個。當時計算機稀缺、速度還慢,幾十號人只能排隊輪流使用。
五、六十年代出現(xiàn)的“批處理”、“分時”操作系統(tǒng)則改善了這種糟糕的用戶體驗。
分時的精髓在于,各任務在微觀上是輪流執(zhí)行,宏觀上卻表現(xiàn)為并行,而用戶基本察覺不出來這種假象。這個人性化的設計可算是解決了用戶的痛點,當然,這種操作離不開CPU性能的提升。
編程語言高級化(自動化)
Python這些年一直很火,原因之一是簡單而強大,即使非專業(yè)人員也能用Python實現(xiàn)辦公自動化,從重復勞動中解放出來。而這,需要感謝當年編程語言的高級化。
我們知道計算機底層是0和1,最初人類直接用0和1組成的機器語言,讀或?qū)懚己艹粤?,更別說出錯后的排查了。
后來有了相對易讀的匯編語言,但效率還是相對低下。
1957年,第一款高級語言Fortran推出,實現(xiàn)自動編程。
從此,人只用寫簡單的表意文字,計算機就能自行翻譯為機器語言;此外,用簡單符號就能代指復雜功能,實現(xiàn)四兩撥千斤的效果,可以說大大解放了人力。
表1列舉了計算機早期各技術的重點發(fā)展,有興趣的可參考。
表1 計算機早期發(fā)展重點列舉
Part 04
照向未來
了解計算機發(fā)展史有何意義呢?
一方面,千變?nèi)f變,底層不變。
算力網(wǎng)絡、智慧家庭、元宇宙,是近年來較熱門的事物,它們較大程度上是基于現(xiàn)有技術進行整合創(chuàng)新,如云計算、物聯(lián)網(wǎng)等等,而這二者歸根結底是CPU、內(nèi)存、操作系統(tǒng)、網(wǎng)絡等等在強力支撐。了解根源,透過現(xiàn)象看本質(zhì),面對千變?nèi)f化的新事物才能更從容不迫。
比如算力網(wǎng)絡不是憑空冒出來的,它勾勒的愿景(讓算力成為像水電一樣的基礎設施,即取即用),早在1960年代分時操作系統(tǒng)出現(xiàn)后,就有了類似的設想與大規(guī)模實踐,只是由于時代的局限未能長存。
(基于這些硬件軟件構筑的計算機體系,究竟有多璀璨奪目、高效神速,可參考移動Labs公眾號的這篇??《揭秘:千里送信為何能瞬時到達》??)
另一方面,以史為鏡,可知興替。
隨著國際形勢的變化,推進芯片、操作系統(tǒng)等關鍵技術國產(chǎn)化的緊迫性劇增,畢竟底層為基,如果底層技術抽走,那上層建筑再絢麗宏偉也會轟然倒塌。
在國產(chǎn)化進程中,我們某種程度上將重走計算機生態(tài)的發(fā)展歷程,以史為鑒,可以少走彎路。
當然,本文只是拋磚引玉,嘗試撥開消費者眼中計算機上籠罩的迷霧,以一窺全貌。更多史料,可見文末參考資料。
Part 05
結語
話說回來,1970s初,真的有那么重要嗎?
實際上更重要的是集成電路,分時系統(tǒng),高級語言等,這些誕生于五六十年代的技術,為后來的發(fā)展奠定了基礎。70年代初的成果爆發(fā)與其說是迸發(fā)的巧合,不如說更像是水到渠成的必然。
但這并不妨礙我們將1970s看作一個重要的里程碑節(jié)點,畢竟我們消費者最熟悉的就是手頭的電腦(微機),它不凡的身世,就得1970s這個神奇的分水嶺講起:
在1970s初的3年里,如今電腦最重要的硬件軟件紛紛登上歷史舞臺;
往后的“今生今世”,大致是基于這些成果的不斷升級創(chuàng)新。
往前的“史前文明”,大致是三化:硬件小型化(集成電路)、操作系統(tǒng)人性化(分時)、編程語言高級化(自動化)。
彩蛋
前面提到的1970s初那些技術,皆由美國創(chuàng)造,想必當時美國是盛極一時吧?
恰恰相反,當時美國的日子并不好過。
上世紀70年代的美國,經(jīng)濟上終結了二戰(zhàn)以來的高速增長,進入停滯階段;政治上處于冷戰(zhàn)時期的“蘇攻美守”階段,美國面臨很大壓力。后來長期稱霸CPU的英特爾,當時也曾陷入絕境,在1975年甚至要考慮賣掉自己。
可危機時常是危與機并存不是嗎?
美國擔心蘇聯(lián)核武轟炸導致自己的指揮系統(tǒng)癱瘓,所以研發(fā)了“阿帕網(wǎng)”(1969),互聯(lián)網(wǎng)由此發(fā)端。
70年代初各成果固然誕生,但還不成氣候,直到90年代才迎來互聯(lián)網(wǎng)經(jīng)濟大繁榮。而這一繁榮的技術底座,早在70年代就已埋下伏筆。
國內(nèi)正處制裁危機,但也因此大力推進關鍵技術國產(chǎn)化,產(chǎn)業(yè)體系將迎來一次自底向上的涅槃重生。
2020s初的此時時刻,或許正如1970s初的彼時彼刻。相信今天夾縫生存的不屈成長,終會在不遠的未來,結出累累碩果。