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

 
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值