Cache替換方案

Cache替換方案

1.         近期最少使用(LRU)算法

  LRU(Least Recentlv Used)算法是將一組中近期最少使用的塊替換出去。爲此,每塊也設

置一個計數器,但每命中一次,命中塊的計數器清0,而組內其他塊的計數器加1。當需要替

換時,比較一組內所有塊的計數器的值,將計數值最大的塊替換掉。這種算法保護了剛拷貝

cache中的新數據塊,符合Cache的工作原理,因而使Cache具有較高的命中率。

  對兩路組相聯的Cache來說,LRU算法的硬件實現可以簡化。因爲一個主存塊只能在

一個特定組的兩塊中進行存放選擇,2l不必用計數器,用一個二進制位(稱爲LRU)

可。例如,規定一組中的A塊拷貝了新數據時將LRU位置1B塊拷貝了新數據時將LRU

0。當需要替換時,只需檢查LRU位:爲0替換A塊,爲1替換B塊。實現了保護新塊的原則。

2.         時間與命中協調方式(自己隨想)

       每當有命中的時候,則更新CACHE列表中的排除因子,當CACHE滿的時候排除掉排除因子最大的,排除因子的計算方法是

       排除因子=相關係數*CACHE已經存活的時間/訪問總命中次數)

相關係數的選擇很重要,根據不同的業務需要,內存或磁盤空間大小,每個CACHE的大小等情況有關。

 
發佈了36 篇原創文章 · 獲贊 3 · 訪問量 12萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章