1. 程式人生 > >記憶體、cache和暫存器之間的關係及區別

記憶體、cache和暫存器之間的關係及區別

cache是一個高速小容量的臨時儲存器,可以用高速的靜態儲存器晶片實現,或者整合到CPU晶片內部,儲存CPU最經常訪問的指令或者操作資料。
而暫存器不同,暫存器是記憶體階層中的最頂端,也是系統獲得操作資料的最快速途徑。
三者之間的順序就是 :記憶體-cahe-暫存器

此外,暫存器存放的是當前CPU環境以及任務環境的資料,而cahe則存放最近經常訪問的指令和資料的.

把CPU比做大腦 暫存器就像你正在思考的問題,而cahe就是你的記憶(臨時的)
大腦的其他部分儲存了記憶,但是大腦直接處理比較慢則需要一個更加快的地方來臨時存放你從大腦其他部分提取的記憶這個地方就是cache
更加嚴格的區別定義如下:

1. 暫存器是中央處理器內的組成部份。暫存器是有限存貯容量的高速存貯部件,它們可用來暫存指令、資料和位址。在中央處理器的控制部件中,包含的暫存器有指令暫存器(IR)程式計數器(PC)。在中央處理器的算術及邏輯部件中,包含的暫存器有累加器(ACC)。 2. 記憶體包含的範圍非常廣,一般分為只讀儲存器(ROM)、隨機儲存器(RAM)和快取記憶體儲存器(cache)。

3. 暫存器是CPU內部的元件,暫存器擁有非常高的讀寫速度,所以在暫存器之間的資料傳送非常快。 4. Cache :即高速緩衝儲存器是位於CPU與主記憶體間的一種容量較小但速度很高的儲存器。由於CPU的速度遠高於主記憶體,CPU直接從記憶體中存取資料要等待一定時間週期,Cache中儲存著CPU剛用過或迴圈使用的一部分資料

,當CPU再次使用該部分資料時可從Cache中直接呼叫,這樣就減少了CPU的等待時間,提高了系統的效率。Cache又分為一級Cache(L1 Cache)和二級Cache(L2 Cache),L1 Cache整合在CPU內部,L2 Cache早期一般是焊在主機板上,現在也都整合在CPU內部,常見的容量有256KB或512KB L2 Cache。

總結:大致來說資料是通過記憶體-Cache-暫存器,Cache快取則是為了彌補CPU與記憶體之間運算速度的差異而設定的的部件。