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