当前位置: 首页 > ai >正文

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

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

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

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

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

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

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

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

计数器cache行
21
32
13
04

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

计数器cache行
01
42
23
14

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

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

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

http://www.xdnf.cn/news/19213.html

相关文章:

  • 项目管理的五个阶段是什么
  • 关于PXIe工控机的网速问题XH-PXIe7313万兆网卡
  • Java学习day_14之API(正则表达式)
  • 生成式BI工具(WrenAI)
  • rhel-server-7.9-x86_64-dvd.iso
  • AFSIM仿真工具介绍与源码编译
  • 【开题答辩全过程】以 靖西市旅游网站为例,包含答辩的问题和答案
  • [Oracle] LENGTH()函数
  • php电子签名
  • 【C++】掌握string类操作:高效处理字符串
  • 3D生成模型-NeRF:用神经辐射场定义视图合成
  • Ferris Wheel (贪心 | 双指针)
  • ubuntu 安装conda, ubuntu24安装miniConda
  • 【Pytorch】生成对抗网络实战
  • 服务器托管多少钱一年?服务器托管收费标准
  • React useState基本使用
  • 3000. 对角线最长的矩形的面积
  • linux系统学习(4.常用命令)
  • 【具身智能】【机器人动力学】台大林佩群笔记-待持续更新
  • 算法(④KMP)
  • 基于YOLO8的垃圾识别检测系统(数据集+源码+文章)
  • (双指针)Leetcode283.移动零-替换数字类别+Leetcode15. 三数之和
  • day44-Ansible变量
  • ESP32C3和ESP32S3的区别有哪些?该怎么选型?
  • React Router 6 获取路由参数
  • 无人机也能称重?电力巡检称重传感器安装与使用指南
  • 算法之x数之和
  • B树与B+树的原理区别应用
  • 第12章:推荐算法与实践
  • 揭开智能体架构面纱:90% 属软件工程,10% 为 AI 技术