现在的位置: 首页 > 综合 > 正文

Cache替换方案

2014年05月15日 ⁄ 综合 ⁄ 共 549字 ⁄ 字号 评论关闭

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的大小等情况有关。

 

抱歉!评论已关闭.