计算机组成笔记:缓存替换算法

1 缓存

  • 对于之后反复会利用的计算,缓存其结果,下次再算这个任务的时候,不去真正的计算,而是直接返回结果
    • ------>加快处理速度
  • 当缓存已满时,算法必须选择要丢弃的项目,以便为新项目腾出空间

2 Least recently used (LRU) 最近最少使用

  • 把数据加入一个链表中,按访问时间排序,发生淘汰的时候,把访问时间最旧的淘汰掉
  • 一般需要为缓存行保留 "age bits (年龄位)" ,并根据年龄位跟踪"最近最少使用"的缓存行
    • 在这样的实现中,每次使用高速缓存行时,所有其他高速缓存行的寿命都会改变

3 Most recently used (MRU)

  • 发生淘汰的时候,把访问时间最新的淘汰掉
  • MRU算法在一项项目越旧,访问该项目的可能性越大的情况下最有用

4 Least-frequently used (LFU)

  • 把数据加入到链表中,按频次排序 ,一个数据被访问过,把它的频次+1,发生淘汰的时候,把频次低的淘汰掉

  • 比如有数据 A,A,A,B,B,C

相关推荐
一枝小雨3 分钟前
【C++】Vector完全指南:动态数组高效使用
开发语言·c++·笔记·vector·学习笔记·std库
大白的编程日记.19 分钟前
【Linux学习笔记】信号的深入理解之软件条件产生信号
linux·笔记·学习
Wilber的技术分享29 分钟前
【大模型实战笔记 1】Prompt-Tuning方法
人工智能·笔记·机器学习·大模型·llm·prompt
来生硬件工程师1 小时前
【硬件笔记】负载是如何烧MOS的?
笔记·嵌入式硬件·硬件架构·硬件工程·硬件设计
cdcdhj2 小时前
数据库存储大量的json文件怎么样高效的读取和分页,利用文件缓存办法不占用内存
缓存·node.js·json
lingggggaaaa2 小时前
小迪安全v2023学习笔记(七十八讲)—— 数据库安全&Redis&CouchDB&H2database&未授权&CVE
redis·笔记·学习·算法·安全·网络安全·couchdb
Source.Liu3 小时前
【Python基础】 13 Rust 与 Python 注释对比笔记
开发语言·笔记·python·rust
诗句藏于尽头3 小时前
DJANGO后端服务启动报错及解决
数据库·笔记·django
汇能感知4 小时前
光谱相机的探测器类型
经验分享·笔记·科技
g_i_a_o_giao4 小时前
Android8 binder源码学习分析笔记(一)
android·java·笔记·学习·binder·安卓源码分析