寄存器與緩存的區別


這里的緩存是指的CPU的緩存。

 

按與CPU遠近來分,離得最近的是寄存器,然后緩存,最后內存。

 

所以,寄存器是最貼近CPU的,而且CPU只與寄存器中進行存取。

 

(寄存的意思是,暫時存放數據,不中每次從內存中取,它就是一個臨時放數據的空間,火車站寄存處就是這個意思)

 

而寄存器的數據又來源於內存。於是  CPU<--->寄存器<----->內存   這就是它們之間的信息交換。

 

那為什么有緩存呢? 

 

因為如果老是操作內存中的同一址地的數據,就會影響速度。於是就在寄存器與內存之間設置一個緩存。

 

緩存就把從內存提取的數據暫時保存在里面,如果寄存器要取內存中同一位置的東西,就不用老遠巴巴地跑

 

到內存中去取,直接從緩存中提取。

 

因為從緩存提取的速度遠高於內存。當然緩存的價格肯定遠遠高於內存,不然的話,機器里就沒有內存的存在,

 

只有緩存的存在了,但如果全是緩存,相信沒有幾個人買 得起計算機了。

 

由此可以看出,從遠近來看:   CPU〈------〉寄存器〈---->緩存<----->內存

 

注意一下,寄存器並不每次數據都可以從緩存中取得數據,萬一不是同一個內存地址中的數據,那寄存器還必須

 

直接繞過緩存從內存中取數據。所以並不每次都得到緩存中取數據,這就是緩存的命中率,從緩存中取就命中,不從

 

緩存中取從內存中取,就沒命中。當然關於緩存命中率又是一門學問,哪些留在緩存中,哪些不留在緩存中,都是命中

 

算法

 

從經濟和速度的綜合考慮,又有了一級緩存和二級緩存,當然一級緩存價格遠高於二級緩存,它們的作用類似,但速度上

 

一級緩存速度明顯高於二級緩存,因為價格的原因就設置了二級緩存,也不知道將來 會不會能三級緩存呢?


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM