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

计算机组成原理-Cache替换算法

文章目录

  • 总览
  • 随机算法(RAND)
  • 先进先出算法(FIFO)
  • 近期最少使用算法(LRU)
  • 最不经常使用算法(LFU)
  • 总结

总览

w
在这里插入图片描述

随机算法(RAND)

没有选择性地考虑替换哪一块Cache,或者说没有考虑局部性原理(要用的可能Cache块),使得可能下一次要访问的Cache块被替换了,进而导致替换次数频繁

在这里插入图片描述

先进先出算法(FIFO)

先进入的Cache的先被替换
在这里插入图片描述

近期最少使用算法(LRU)

人为判断替换哪个Cache块:从当前要访问的主存块往前看,将其与Cache块对比,直到只剩下一个Cache块没有对应的主存块则替换它
Cache块的总数为2的n次方时,计数器只需要n位。
若装满后此时只有替换和命中,替换时会替换计数器值最大的,命中时会由于未命中的比其低的计数器加1,所以最大的计数器的位数依然不会超过n位
且Cache装满后所有计数器的值一定不重复。
抖动现象依然可能存在
在这里插入图片描述

最不经常使用算法(LFU)

若有多个计数器最小的行(多个计数器的行同时最小),可以按照行号递增或者FIFO(先进先出)策略来选择替换的
新调入的块计数器赋值为0,之后每访问一次计算器+1.需要替换时,选择计数器最小的一行
计数器比特位较长,因为此时计数器的值的大小没有限制
在这里插入图片描述

总结

在这里插入图片描述


http://www.kler.cn/a/146289.html

相关文章:

  • SimpleHelp远程管理软件存在任意文件读取漏洞(CVE-2024-57727)
  • 深度学习项目--基于LSTM的火灾预测研究(pytorch实现)
  • Chrome谷歌浏览器如何能恢复到之前的旧版本
  • 从零开始,掌握Django Web开发
  • R语言绘图
  • 深度学习在文本情感分析中的应用
  • 【Cisco Packet Tracer】电子邮箱仿真搭建
  • python -opencv 图像锐化
  • java多线程一
  • 从Redis反序列化UserDetails对象异常后发现FastJson序列化的一些问题
  • 论文阅读——Prophet(cvpr2023)
  • 新疆大学与优艾智合机器人成立联合创新实验室
  • 形态学操作—闭运算
  • 【算法萌新闯力扣】:合并两个有序链表
  • 3.golang数组以及切片
  • VMware系列:VMware16安装Win11虚拟机(最全步骤+踩坑)
  • 蓝桥杯第四场双周赛(1~6)
  • 搭建SRS视频服务器
  • 机器学习第13天:模型性能评估指标
  • qt pdf 模块简介
  • 15.解释Spring支持的几种bean的作用域
  • 禁用WordPress前台搜索功能
  • 人力资源管理后台 === 登陆+主页鉴权
  • 邮政快递查询单号查询入口,分析筛选出其中的提前签收件
  • 针对Arrays.asList的坑,可以有哪些处理措施
  • C#文件夹基本操作(判断文件夹是否存在、创建文件夹、移动文件夹、删除文件夹以及遍历文件夹中的文件)