PC和Mac之外的計算機

李鬆峰發表於2013-03-22

人們很容易認為計算機不是PC就是Mac,因為那是我們最常見到的。實際上,還有很多其他型別的計算機。這些計算機無論大小,都具有相同的核心特性,即都能完成邏輯運算,並且都具有類似的體系結構,只不過在設計的時候會不同程度地考慮成本、供電、大小、速度等因素。手機和平板電腦也是計算機,它們執行作業系統並支援更加豐富多樣的運算環境。比這還小的系統是嵌入式系統,日常生活裡能見到的幾乎所有數字裝置裡都有嵌入式系統,比如數位相機、攝像機、GPS導航系統、家電、遊戲機,等等 。

更大的計算機在很多年前就已經實現多個CPU共享記憶體了。如果能把大任務分解成小任務,而分解後的小任務又可以通過不同CPU協作完成,CPU相互之間不會出現太長的等待,也不會有太多的相互干擾,那麼就能以這種方式加快完成大任務。除了在大型系統中廣泛應用,這種整合多個處理器的多核晶片在個人計算機中也已經司空見慣,而且未來很可能會普及。

超級計算機往往有大量的處理器和大量的記憶體,這些處理器本身可能帶有一些特殊指令,在處理某種資料時,它們比通用的處理器速度更快。今天的超級計算機通常是高速計算機叢集,CPU仍然是普通的CPU,並沒有什麼特殊的硬體。網站top500.org每六個月就重新公佈一次全世界最快的500臺計算機。最快速度的紀錄不斷被打破,幾年前還能躋身排行榜前幾名的計算機,今天可能已經在榜單上找不到了。2011年6月最快的計算機有50多萬個CPU,每秒可以執行8×1015次數學運算。

分散式計算指的是很多更加獨立的計算機(比如不共享記憶體),而且地理上更加分散,甚至位於世界的不同地方。這樣一來,通訊更加成為瓶頸,但卻能夠實現計算機之間的遠距離協作。大規模的Web服務,比如搜尋引擎、線上商店和社交網路,都是分散式計算系統。在這種系統中,數以千計的計算機協作,可以為海量使用者迅速地提供結果。

所有這些計算系統都有相同的基本原理。它們都使用通用處理器,可以通過程式設計完成無窮無盡種任務。每個處理器都有一個有限的簡單指令表,能夠完成算術運算、比較資料、基於前置計算結果選擇下一條指令。不管物理結構的變化讓人多麼眼花繚亂,它們的一般體系結構從1940年代至今並沒有太大的變化。

或許很難想象,這些計算機都具有相同的邏輯功能,可以完成一模一樣的計算(暫且不論對速度和記憶體的要求)。1930年代,這個結果就已經被幾個人分別獨立地證明過,其中包括英國數學家艾倫·圖靈。對於非專業人員,圖靈的手段最容易理解。他描述了一個非常簡單的計算機(比我們的玩具計算機還簡單),展示了它能夠計算任何可以計算的任務。他描述的這種計算機,我們今天叫做圖靈機。然後,他展示瞭如何建立一種圖靈機,模擬其他圖靈機,這種圖靈機現在被稱為通用圖靈機。寫一個模擬通用圖靈機的程式很容易,而寫一個程式讓通用圖靈機模擬真實的計算機也是可能的(儘管不容易)。實際上,從能夠計算什麼的角度講,所有計算機都是等價的,儘管執行速度明顯不可能等價。

第二次世界大戰期間,圖靈從理論轉到實踐:他領導開發了用於破譯德軍情報的計算機。1950年,他發表了一篇名為“計算機器與智慧”(Computing machinery and intelligence)的論文,其中提出一個測試(即今天所謂的圖靈測試),人們可以通過該測試來評估計算機是否能表現出人類的智慧。想象一下,一臺計算機和一個人,通過鍵盤和顯示器與另一個提問者交流。通過問答,提問者能確定哪個是人,哪個是計算機嗎?圖靈的想法是,如果不能明顯地將二者區分開,那麼計算機就表現出了智慧的行為。

縮寫詞CAPTCHA中包含圖靈的名字,這個縮寫詞代表“Completely Automated Public Turing test to tell Computers and Humans Apart”(用以區分計算機和人的完全自動化的公共圖靈測試)。CAPTCHA(可以理解為“驗證碼”)就是一些扭曲變形的字母,廣泛用於驗證網站的使用者是人而非程式:

enter image description here

CAPTCHA是一個反向圖靈測試,因為它利用了人比計算機更擅長識別文字這一特點,來達到區分人和計算機的目的。

圖靈是計算機領域最重要的人物之一,他對人類理解計算做出了重大貢獻。電腦科學領域的諾貝爾獎——圖靈獎,就是以圖靈的名字命名的。後面幾章將陸續介紹一些獲得過圖靈獎的重要計算機發明。


本文節選自圖靈採用敏捷出版方式釋出的新書《計算機基礎》(D is for Digital)第3章。 PC和Mac之外的計算機

相關文章