【计算机组成原理】LRU计数器问题

学习最近最久未使用(LRU)算法的时候是否会有这样一个疑问,为什么命中某一行时,该行的计数器清零,比其低的计数器加1,其余不变。

先来回顾一下计数器变化的规则

①命中时,所命中的行的计数器清零,比其低的计数器加1,其余不变;

②未命中且还有空闲行时,新装入的行的计数器置为0,其余非空闲行计数器全加1;

③未命中且没有空闲行时,计数器值最大的行被替换,新装入的行的计数器置为0,其余全加1;

以4路组相联为例说明,4路组相联,即4个cache行为一组,那么为了表示其先后未访问时间的排名,需要在cache行里面添加冗余位,4个cache行只需两个冗余位就能表示其排名,0、1、2、3

假设第一行计数器是2,第二行计数器是3,第三行计数器是1,第四行计数器是0

计数器 cache行
2 1
3 2
1 3
0 4

如果规则①是所命中的行的计数器清零,其余所有计数器加1的话,而再次访问到第一行时,计数器就会变成

计数器 cache行
0 1
4 2
2 3
1 4

这样计数器最高就变成了4,用二进制表示的话是100,原本2个二进制位将无法表示

而且,LRU的计数器本质上并不是记录的未命中次数,就拿班级考试来说,如果小明原本是第二名,一天小明转班走了,第三名变成了第二名,第四名变成了第三名............

当然这个例子并不太恰当,只是可能会比较形象。

相关推荐
渡我白衣28 分钟前
计算机组成原理(13):多路选择器与三态门
开发语言·javascript·ecmascript·数字电路·计算机组成原理·三态门·多路选择器
一个平凡而乐于分享的小比特2 天前
Cache与主存映射方式详解:三种“找车位”策略
cache·直接映射·主存映射·全相联映射·组相联映射
一个平凡而乐于分享的小比特2 天前
Cache(高速缓冲器)完全解读:计算机的速度“秘密武器”
cache·高速缓冲器
大模型铲屎官6 天前
【操作系统-Day 46】文件系统核心探秘:深入理解连续分配与链式分配的实现与优劣
人工智能·python·深度学习·大模型·操作系统·文件系统·计算机组成原理
大模型铲屎官6 天前
【操作系统-Day 47】揭秘Linux文件系统基石:图解索引分配(inode)与多级索引
linux·运维·服务器·人工智能·python·操作系统·计算机组成原理
robinson19889 天前
验证崖山数据库标量子查询是否带有CACHE功能
数据库·oracle·cache·自定义函数·崖山·标量子查询
星马梦缘10 天前
计算机组成原理 2024级焚决
计算机·cache·计算机组成原理·组合逻辑
苦 涩11 天前
考研408笔记之计算机组成原理(五)——中央处理器
笔记·计算机组成原理·考研408
zhuanshulz15 天前
Gem5 预取机制介绍
cache·gem5·prefetcher
苦 涩15 天前
考研408笔记之计算机组成原理(四)——指令系统
笔记·计算机组成原理·考研408