寄存器爲什麼比內存快

計算機中最快的是寄存器,內存其次,最慢的是硬盤.

1.硬件設計不同:

相比較內存寄存器就是比較稀有的寶貴資源了,所以高性能,高成本,高耗電的設計都用在寄存器上.事實上確實如此,內存設計相對簡單,每個位就是一個電容和一個晶體管,而寄存器設計則完全不同,多出好幾個元件,並且通電後,寄存器的晶體管一直有電,而內存的晶體管是用時纔有電,沒用就沒電,這樣利於省電,這些設計因素上,決定了寄存器的讀取速度更快.

2.工作方式不同:

寄存器的工作方式簡單,只有兩步:(1)找到相關的位,(2)讀取這些位

內存的工作方式就要複雜的多:

(1)找到數據的指針(可能存放在寄存器,所以這一步就已進包含了讀取寄存器)

(2)將指針送往內存管理單元(MMU),由MMU將虛擬的內存地址翻譯成實際的物理地址

(3)將物理地址送往內存控制器,由內存控制器讀出該地址在哪一個內存插槽上

(4)確定數據在哪個內存塊上,從該塊上讀取數據

(5)數據先送回內存控制器,再送回CPU,然後開始使用

3.距離不同:

距離不是主要因素,但是最好懂.內存距離CPU 比較遠,所以要耗費跟長的時間來讀

以3GHz的CPU爲例,電流每秒鐘可以振盪30億次,每次耗時大約爲0.33納秒。光在1納秒的時間內,可以前進30釐米。也就是說,在CPU的一個時鐘週期內,光可以前進10釐米。因此,如果內存距離CPU超過5釐米,就不可能在一個時鐘週期內完成數據的讀取,這還沒有考慮硬件的限制和電流實際上達不到光速。相比之下,寄存器在CPU內部,當然讀起來會快一點。

距離對於桌面電腦影響很大,對於手機影響就要小得多。手機CPU的時鐘頻率比較慢(iPhone 5s爲1.3GHz),而且手機的內存緊挨着CPU。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章