概述
最近在看一些硬體架構方面的知識,補了下基礎知識。這裡針對計算機中記憶體、cache和寄存器做個簡單總結。

先分享兩張圖:
計算機的存儲體系金字塔:
再看一個計算機的存儲體系
下面對計算機中記憶體、cache和寄存器概念做個介紹:
1. 寄存器
中央處理器内的組成部份。寄存器是有限存貯容量的高速存貯部件,它們可用來暫存指令、資料和位址。在中央處理器的控制部件中,包含的寄存器有指令寄存器(IR)和程式計數器(PC)。在中央處理器的算術及邏輯部件中,包含的寄存器有累加器(ACC)。
寄存器是CPU内部的元件,寄存器擁有非常高的讀寫速度,是以在寄存器之間的資料傳送非常快。
2. 記憶體
這個包含的範圍非常廣,一般分為隻讀存儲器(ROM)、随機存儲器(RAM)和高速緩存存儲器(cache)。
3. 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。
聯系與差別
按與CPU遠近來分,離得最近的是寄存器,然後緩存,最後記憶體。
是以,寄存器是最貼近CPU的,而且CPU隻與寄存器中進行存取。
(寄存的意思是,暫時存放資料,不中每次從記憶體中取,它就是一個臨時放資料的空間,火車站寄存處就是這個意思)
而寄存器的資料又來源于記憶體。于是 CPU寄存器cache記憶體 這就是它們之間的資訊交換。
把CPU比做大腦 寄存器就像你正在思考的問題,而cahe就是你的記憶(臨時的),大腦的其他部分存儲了記憶,但是大腦直接處理比較慢則需要一個更加快的地方來臨時存放你從大腦其他部分提取的記憶這個地方就是cache。
總之計算機中資料是通過記憶體-Cache-寄存器,Cache緩存則是為了彌補CPU與記憶體之間運算速度的差異而設定的的部件。了解這三個之間的差別對我們優化還是挺重要的。後面會分享更多devops和DBA方面的内容,感興趣的朋友可以關注一下~