处理器中的缓存
文章目錄
- 1 緩存出現的原因
- 2 程序訪問的局部性
- 3 高速緩沖存儲器的引入(cache)
- 3.1 cache的基本概念
- 3.2 cache解決方案
- 3.3 處理器的數據訪問
- 4 內存和cache之間的映射
- 4.1 直接映射法
1 緩存出現的原因
一個工藝上的問題:
- 處理器和內存使用的半導體器件工藝不同。
- 工藝的差異導致了處理器與內存的速度差異。
- 數據處理時,處理器總是需要等待內存。
2 程序訪問的局部性
在短時間內,處理器訪問的存儲空間是一個很小的范圍。
時間局部性:
- 某個存儲單元在短時間內很可能被再次訪問。
空間局部性:
- 某個存儲單元的鄰近單元在短時間內也被訪問。
3 高速緩沖存儲器的引入(cache)
3.1 cache的基本概念
cache的基本概念:
- cache是一種小容量高速存儲器。
- cache的存取速度與處理器的運算速度幾乎同量級。
- cache在現代計算機系統中直接內置于處理器芯片中。
3.2 cache解決方案
cache解決方案:
- 在處理器和內存之間設置cache。
- 把內存中被頻繁訪問的指令和數據復制到cache中。
- 大多數情況下,處理器能直接從cache中取得指令和數據。
3.3 處理器的數據訪問
4 內存和cache之間的映射
4.1 直接映射法
直接映射法的方式如下:
- 將cache和內存分成固定大小的塊(如:512Byte/塊)。
- 將內存中的每一塊在cache中有固定的映射位置。
- 映射公式:
- POScache = 內存塊號 % cache總塊數
直接映射法中的地址劃分:
映射原理:
- 根據訪問地址的中間c位找到cache中的對應塊
- 比較地址的高t位是否和flag相同
- 相同:直接讀取數據
- 不同:從內存中復制塊內容
直接映射法的特點:
- 優點:映射過程簡單,所需耗時短。
- 缺點:當短時間內訪問的地址有同余沖突時,會造成緩存失效。
參考資料:
總結