我們的生活離不開電腦。電腦的核心部件是微處理器(CPU),即通常所說的芯片。這是電腦中執行運算的地方,CPU的速度決定了電腦的速度。
組成CPU的是數以億計的晶體管。為了提高CPU的速度,半個多世紀以來,晶體管越做越小,以便在相同的空間容納下更多數量的晶體管。現在,普通芯片上的一個晶體管,尺寸接近納米量級。但是,這條路快走到頭了,因為晶體管已經很難再小。所以若按老辦法,電腦提速的空間已非常有限。
這就是現在大家熱衷研究量子計算機的原因。不過,量子計算機也有致命的缺陷,比如需要在極低溫下運行,需要絕對安靜的環境,而這些都超出了我們目前的技術能力。
一條提高計算機速度的新路子
但是,其實還有一條提速路我們未做嘗試。在傳統計算機中,數據的運算和存儲是分開的:運算在CPU,臨時的存儲在內存,長期的存儲在硬盤。當一個運算完成,其結果暫時先存到內存,CPU恢復原位,然后執行下一個運算。當運算中需要調用前面的結果時,再從內存中讀取。數據在CPU和內存之間來回傳輸、調用,這會消耗大量的時間和能量。如果把兩者合二為一,就能省下很多時間。
存儲式計算機就是這樣一種新型的計算機。它把傳統計算機上CPU和內存的功能整合起來,在一種稱作“運算存儲器”的單一類型元件中,同時處理數據的運算和存儲,這樣就可以極大地縮短時間。
如何集運算和存儲于一身?
存儲式計算機的概念最早是在1970年代提出來的。其實人們最初是為了模擬人腦的工作原理而設計的,因為我們的大腦在工作時,每個神經元既充當處理器又充當內存。請想像一下,我們的大腦每秒鐘進行1016次操作需要消耗大約20瓦特,而一臺傳統的超級計算機需要1000萬倍的功率才能完成同樣數量的操作。功率的很大一部分被浪費在CPU和內存之間的信息來回傳輸上。如果能把運算和存儲集于一身,可以省下多少能量和時間啊!
那么,存儲式計算機的核心元件——運算存儲器,是如何做到這一點的呢?以下是它的工作原理。
在傳統電腦中,一個晶體管的工作基本上可以歸結為一件事情:要么讓電流通過,要么不讓電流通過——這取決于它被告知要做什么。事情做完,晶體管就恢復原位,做過的事情在它身上不留任何痕跡。在存儲式計算機中,運算存儲器做的事情跟晶體管完全一樣,所不同的是,事情完成后,它的一些物理屬性(如電阻、電壓)隨之改變。改變不僅是定性的,也是定量的。這就相當于把操作結果儲存了起來,實現了集運算與儲存于一身。
存儲式計算機的優點
長久以來,運算存儲器存儲的是模擬信號,而不是數字信號(如二進制的數字0和1)。但是模擬信號有個缺點,隨著運算量的積累,誤差會越來越大,最后會讓輸出結果變得毫無意義。而數字信號就不存在這個問題。所以,存儲式計算機要想實用,也必須數字化。
這個困難已被攻克。最近,美國加州大學的科學家造出了世界上首臺數字存儲式計算機。它使用二進制數字來存儲數據。
為了建造存儲式計算機,從硬件到軟件都必須重新設計。譬如,硅晶體管就必須換成運算存儲器。所以,從某種程度上說,比建造超級計算機還麻煩。不過,比起量子計算機,存儲式計算機能在室溫下運行。此外,它的制造成本也要低很多。
存儲式計算機擅長解決復雜的并行式計算問題(比如旅行推銷員問題:存在一系列的城市,現在要找出旅行推銷員在拜訪每個城市一次后回到起點的最短路徑)。不過在可預見的未來,它不會取代你的筆記本電腦和智能手機。
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.