缓存机制与局部性原理
http://www.cnblogs.com/jqctop1/p/4714116.html
1. 局部性原理
? 局部性原理是指計算機在執行某個程序時,傾向于使用最近使用的數據。局部性原理有兩種表現形式:時間局部性和空間局部性。
? 時間局部性是指被引用過的存儲器位置很可能會被再次引用,例如:重復的引用一個變量時則表現出較好的時間局部性
? 空間局部性是指被引用過的存儲器位置附近的數據很可能將被引用;例如:遍歷二維數組時按行序訪問數據元素具有較好的空間局部性
?
2. 緩存與緩沖
? 緩沖通常在接收者和發送者速度差異較大的場合使用,例如:網絡緩沖區;
? 緩存通常用于補償不同存儲器之間的讀寫速度差異,例如:Cache;
? 緩存和緩沖一個重要的區別是:對于緩沖來說,接收者接下來想要使用的數據就在緩沖區中;而緩存的有效性是依賴于局部性的,即對于緩存來說,快速存儲器接下來想要使用的數據不一定就在緩沖存儲器中。
?
3. 緩存層次結構
??
? 如圖所示,最上層的是寄存器,最下層的是遠程文件系統,從下到上,存儲器的速度更快,造價更貴因而容量更小。
? 上一層的存儲器保存著下一層存儲器中部分數據的拷貝,上一層即作為下一層的緩存;
? 當需要第k+1層的某個數據時,先在第k層中尋找,若找到,則稱為緩存命中,若沒找到,則稱為緩存不命中;
? 當緩存不命中時,需要從第k+1層拷貝需要的數據到第k層,這樣就可能會需要替換第k層中已經緩存的某些數據,需要替換時通常會有個替換策略來指導替換哪些數據;
總結
以上是生活随笔為你收集整理的缓存机制与局部性原理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: int*与(int*)的差别
- 下一篇: Struts2的配置文件——web.xm