1. 程式人生 > >為什麼電腦執行會產生熱量,可以設計不產生熱量的計算機嗎?

為什麼電腦執行會產生熱量,可以設計不產生熱量的計算機嗎?

              如果你把自己的手放在你的PC上,或者把你的筆記本放在你的大腿上,你將會意識到電腦執行時產生的熱量?計算機的執行為什麼會產生熱量呢?難道計算機將不可避免地產生熱量嗎

           在20世紀60年,一名叫Landauer的研究者發現,在計算機裡產生的熱量是由於“重置”記憶體暫存器導致的(一個暫存器是一個儲存0或1的線形儲存鏈),也就是清除暫存器的內容並且重置為0時產生了熱量。

         為什麼對記憶體的暫存器進行重置會產生熱量呢?

          在物理學中,有個詞叫“熵”,也就是英文單詞entropy(當然在資訊學中“熵”可能更為重要)。“熵”是用來測量一個物理系統的混亂程度。舉個例子,冰比水的熵要小,因為冰多些次序,少些混亂。而回到上面提出的問題:為什麼對記憶體的暫存器進行重置會產生熱量呢?這是因為,清除記憶體器的內容意味著增加了記憶體器的次序,減少了它的隨機性(其實,這也與資訊理論中熵的意義是一致的,熵表示的是對不確定性的度量,熵越大,不確定性越大)。隨機性的減少,也就意味著熵的減少。那麼減少的熵到哪去了呢?

         根據物理學的“熱力學第二定律”,在一個封閉系統中熵不會減少(封閉系統是一個能量不會傳出去,也不會進來的系統)。那麼減少的熵去哪了呢?答案是減少的熵以一種熱的形式散發到計算機部件的周圍環境中去了。現在問題是對記憶體暫存器的重置,減少了隨機性,那麼這種減少在計算機中是以何種方式體現的呢? 為了回答這個問題,就有必要對計算機的設計進行簡單的剖析了。

         在計算機的電路板中,充斥了各種以與門(and gate)、或門(or gate)和非門(NO)為基本單元組成的複雜門。我們以“與門”為例來說說這些門的設計為什麼最終導致熱量的產生。

         “與門”是一個擁有兩個輸入訊號線(A和B)和一個輸出線的電子線路的基本組成成分。如果兩個輸入線都被設定為高壓(也就是這些線上都有1),那麼輸出線將變成一個“1”。也就是說,如果輸入線A和輸入線B都設定為“1”,那麼輸出線將會是“1”。其他任何情況,輸出線將都是“0”。既然在“與門”中有兩個輸入線包含公兩個位元的資訊,並且只有一個輸出線包含一個位元的資訊,“與門”就有必要消除資訊。每次兩個位元通過“與門”,只有一個位元被輸出,那麼你就無法通過輸出來判斷輸入是什麼?比如,如果輸出是0,那麼你就不能確定輸入是(0,0)、(0,1)還是(1,0)。

           因此,電腦熱量的產生,可以追根溯源到電路門的設計上,因為門的設計導致了資訊的清除,進而使得熵的減少,最終呈現出來的現象就是電腦發熱。

           然而,隨著科技的進步,科學家們能不能提供一種思路設計和製造一種不產生熱量的計算機呢?

            對,也許你已經想到了,只要在門的設計上,不造成資訊的的清除不就可以了麼。人們開始夢想擁有相同數目的輸入線和輸出線的基本電路。一個這樣的有名閘電路就是擁有3個輸入和3個輸出的“Fredkin門”。Fredkin門是可逆的(傳統的閘電路是不可逆的,也就是你不能通過輸出來判斷輸入是什麼,反之亦然)。所以,Fredkin門可以通過輸出來對輸入進行判斷,那這需要什麼呢?按照常理這就需要輸入線和輸出線的數目是相同的,Fredkin門不存在任何位元資訊的消除。

            既然計算機的個體們可逆,那麼計算機本身也就可以被做成可逆的。換句話說,人們能夠從計算機的左端輸入初始位元串,並被計算機內的Fredkin門處理,然後作為結果從計算機的右端閘電路輸出。你可以複製一份結果,然後從右端到左端輸入到計算機,你將會得到從左端開始的輸入。這樣的一個過程沒有任何位元的丟失,因此沒有產生任何的熱量。

           可逆計算可能會花費相當於傳統系統兩倍的計算時間,因為必須吧結果從同樣的電路送回,但優點是沒有任何熱量的產生。可逆計算應該是計算機界的一大創舉。多年前,一些物理學姐一直在思考:“如果摩爾定律一直擴充套件到分子級別,如果人們還繼續採用傳統的非可逆的、清除位元的資訊處理技術,分子級別電路將會產生多少的熱量?”,答案是非常的巨大。如此高度祕籍的電路不但會因為熱量而融化,甚至還會發生爆炸。因此,隨著分子級別電路的研究,必須採用新的可逆的計算形式而放棄傳統的非可逆的計算形式。

           可逆計算的意義將是顛覆性的。如果計算機電路被設計成可逆的,那麼消耗的能量將會更少,電池消耗更慢,壽命更長。如果再就這樣的情景進行延伸呢?如節能汽車、跨洋航行、太空探險等等,給人無限暢想。