寄存器和緩存

轉自:https://www.cnblogs.com/zsq1993/p/5991018.html

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

 

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

 

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

 

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

 

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

 

那爲什麼有緩存呢? 

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

的算法。

 

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

 

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

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