目錄
- 一. Cache的工作原理
- 二. 局部性原理
- 三. 性能分析
- 四. 待解決的問題
\quad
一. Cache的工作原理
\quad
存儲系統存在的問題
雖然雙端口RAM、多模塊存儲器提高存儲器的工作速度, 但是優化后的速度與CPU差距依然很大, 為了改善這個問題就出現了Cache, 來解決存儲器與CPU速度不匹配問題
\quad
當我們啟動微信的時候, 微信里面的數據就會從輔存復制到內存
在視頻聊天的時候, "視頻聊天"的相關代碼會被頻繁的訪問
\quad
對于被頻繁訪問的數據就可以復制到Cache, CPU在調用Cache里的數據就不會有太大的速度矛盾
注:實際上,Cache被集成在CPU內部, Cache用SRAM實現,速度快,成本高, 由于SRAM集成度比較低, 注定不能做得很大, 所以Cache的容量一般都很小
\quad
二. 局部性原理
\quad
空間局部性:在最近的未來要用到的信息(指令和數據),很可能與現在正在使用的信息在存儲空間上是鄰近的(多出現在數組元素、順序執行的指令代碼)
時間局部性:在最近的未來要用到的信息,很可能是現在正在使用的信息(多出現在循環結構的指令代碼)
基于局部性原理,不難想到,可以把CPU目前訪問的地址“周圍”的部分數據放到cache中
\quad
三. 性能分析
\quad
t c t_c tc?表示訪問Cache的時間
t m t_m tm?表示訪問Memory(內存)的時間
\quad
那如果是同時訪問Cache和內存, 在Cache中找到, 就立即停止對內存的訪問
\quad
\quad
四. 待解決的問題
\quad
基于局部性原理,不難想到,可以把CPU目前訪問的地址“周圍”的部分數據放到cache中。如何界定“周圍”?
將主存的存儲空間“分塊”
如:每1KB為一塊。主存與Cache之間以“塊”為單位遂行數據交換
注:操作系統中,通常將主存中的 "一個塊”也稱為 —個頁/頁面/頁框”, Cache中的“塊”也稱為“行”
4MB=22 + 220 =222
1KB=210
222÷210=212=4096
\quad
敬請期待…
\quad
王道考研計算機組成原理