C/C++教程

Cache替换算法

本文主要是介绍Cache替换算法,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

图片及主要内容源自mooc讲义

1. Cache替换算法

常用替换算法有:

        • 先进先出FIFO (first-in-first-out)

        • 最近最少用LRU ( least-recently used)

        • 最不经常用LFU ( least-frequently used)

        • 随机替换算法(Random)

等等 这里的替换策略和后面的虚拟存储器所用的替换策略类似,具体在操原内容中。

https://blog.csdn.net/qq_38293564/article/details/108184926

1.1 先进先出(FIFO)

1.2 最近最少用(LRU)

计数器规则:每次访问,全部+1,被访问的置为0;总是淘汰计数值最大的

2. Cache写策略

对于写穿透方式,为了避免CPU写完Cache,又要等待的写内存(很慢),增加一个write buffer,让CPU直接向Cache和write buffer写,然后自己去干别的事,而Write buffer通过MC再向DRAM写

3. Cache实现的几种因素

系统的多级Cache

4. Cache实现举例

其中使用了两位用来表示:是否修改,是否有效,是否共享等

这篇关于Cache替换算法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!