計算機是很多科幻作品中少不了的元素,但是描寫計算機原理的卻不多。《黑客帝國》里的電腦使用了人類作為能量來源。《銀河系漫游指南》里面提到地球是一臺用來計算的超級電腦。《三體》中的超級電腦是基于質子構造出的智子。那么,假使未來真的有一臺達到理論計算極限的終極計算機,它到底會是什么樣的?
理論極限是一個很有趣的問題。當我們聚焦到某項具體的技術時,經常可以估算出它的理論極限。但是,考慮到未來會出現革命性的新技術,這種估計就很可能相當不準了。
20世紀50年代出現的第一臺計算機ENIAC重30噸,占地167平方米,運算速度是每秒10萬次。其中包含了17468個真空管。單個真空管約幾厘米長,而真空管的尺寸乘以數量就限制了這類計算機的大小。我們或許可以試著縮小真空管,考慮它的理論極限為何,但是這樣得到的答案毫無意義,因為,真空管很快就被晶體管和集成電路取代了。
在晶體管時代,摩爾定律曾經一度主宰過它的技術發展。這個定律是說,集成電路上可以容納的晶體管數目每兩年就會翻一倍。當然,這不是什么自然規律,只是從技術發展上觀察判斷出的趨勢。
隨著晶體管的尺寸逐年下降,材料和制備工藝也有所改進。從家用電腦到筆記本電腦再到智能手機,現代社會的方方面面都受益于此。現在的筆記本電腦重3千克,運算速度是每秒數十億次,比ENIAC強了一萬倍。另一方面,將大量芯片連接起來構成的超級電腦,例如我國的天河二號,則能達到每秒數億億次的數量級。
然而,摩爾定律也遇到了它的“天花板”。設計成本和能量損耗已經變得越來越不劃算,但更重要的是晶體管的尺寸快要接近物理極限了。目前的晶體管已經小至7納米級,而5納米級的芯片預計會在明年開始量產。更小的晶體管會產生量子隧穿效應而難以保持晶體管的特性。即使這個問題能解決,1納米這個原子直徑的尺寸也是難以逾越的鴻溝。人們正在試圖用新的材料、制造工藝和架構為摩爾定律續一陣子的命,但總體上講,這一技術的極限已經近在眼前。
倘若二十年前談起計算機的極限,那么大多數人可能會以晶體管的極限來推斷。但二十年后的現在,人們用量子計算找到了新的突破口。
量子計算機的原理相當艱澀,但衡量其算力的基本概念是量子比特數,即同時使用多少個互相糾纏的粒子態進行計算。量子計算中的“一次計算”相當于同時進行經典計算中的成千上萬次計算,且其比例會隨著量子比特數指數級增加,因此能夠在晶體管尺寸以外開辟出計算力的全新可能性。
最近十年來,量子計算的研究可謂是突飛猛進。各大計算機公司都在將量子計算機從幻想變為現實。一方面,量子計算機的量子比特數在逐漸增加;另一方面,人們也在為量子計算開發所需量子比特數更低或是更普適的算法。就在今年年初,IBM剛剛發布第一款商用的量子計算機。今年6月,華為已經完成“昆侖”量子計算模擬一體機原型。以目前的發展速度看,應當會在接下來的5到10年里逐漸普及開來。
但在那之后,量子計算會如何發展,甚至超越量子計算的計算機會如何發展,現在的我們就難以想象了。
回到最開始的問題:既然現在的我們想象不到未來的技術革新,那么我們還能回答“計算機的理論極限是多少”這個問題嗎?有趣的是,不依賴于具體技術的解答反而非常簡單。早在2000年,物理學家塞斯·羅伊德(SethLloyd)的一篇文章就討論過這個問題。他的解答只依賴于一些基本的物理定律及其解讀,甚至可以幫我們想象出終極的計算機應該是什么樣子。
如果計算機可以采用任何技術,那么限制它的就只有物理定律了。我們知道,所有計算都可以拆解成最小的邏輯門運算(例如與門、非門等等),而執行任何運算的時候都需要讓計算機產生可以觀測的變化——這個“可以觀測的變化”就是塞斯·羅伊德(SethLloyd)的推理中最有趣的地方:經典物理中,觀測量的變化都是連續確定的,因此“可以觀測的變化”僅受限于測量精度。但是量子物理中就不同了。不確定性原理里面有一條叫作“能量-時間”不確定性原理。它的解讀告訴我們,一個能量為E的系統,它從一個量子態變成另一個可以區分開的量子態的時間為t。
當計算機的質量給定之后,就可以從E=mc^2得知系統的能量,而上文中得到的t就是做一次量子態計算所需要的最短時間。這就是計算機計算速度的極限,與任何具體的算法和技術原理無關,也不可能通過并行計算這樣的技巧提升——如果把計算機拆成兩個單元做并行計算的話,每個單元的能量也比之前少一半,計算速度也會相應減慢,因此總的計算速度不會比拆分前更高。
當然了,這個極限計算速度比我們現有的計算機速度要高非常多。假設一臺重一千克的筆記本電腦,用質能方程折算成能量之后算出的運算速度極限是每秒5.42*10^50次,這比現在的筆記本電腦運算速度要高40個數量級。
文章里還有另外兩條結論:計算機的“內存”極限取決于系統的熵——這個涉及熱力學和信息熵的概念;而計算機的尺寸限制了串行計算時的通信速度——因為計算機這一頭計算出的結果想要傳給另一頭繼續計算所需要的時間受限于光速,也就是越小就越快。
因此,一臺“極限”的計算機會是一團被壓縮成黑洞尺寸的極熱基本粒子。由于在目前比較新的物理理論中黑洞是有輻射的,這就意味著黑洞能有輸出,因此用黑洞做計算在理論上或許真的有那么些可行性。
塞斯·羅伊德甚至在文章里專門用了一個邊欄來討論黑洞計算機的能力:結合黑洞的壽命、質量和熵,一個重1千克的黑洞在完全蒸發之前的10^-19秒之內可以進行10^32次運算,內存則是10^16比特。
這么看來,和極輕的智子相比,將地球作為超級電腦會讓計算力更高。設想一下,未來的程序員們不再是面對一臺電腦寫程序,而是根據所需要計算的問題精心設計一個小黑洞,然后再捕捉它完全蒸發后的痕跡分析結果,是不是相當有科幻的感覺呢?
【責任編輯:遲"卉】