Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 

README.md

缓存算法

缓存算法是指令的一个明细表, 用于提示计算设备的缓存信息中哪些条目应该被删去.

缓存算法的例子包括:

最不经常使用算法(LFU):

这个缓存算法使用一个计数器来记录条目被访问的频率. 通过使用 LFU 缓存算法, 最低访问数的条目首先被移除. 这个方法并不经常使用, 因为它无法对一个拥有最初高访问率之后长时间没有被访问的条目缓存负责.

最近最少使用算法(LRU):

这个缓存算法将最近使用的条目存放到靠近缓存顶部的位置. 当一个新条目被访问时, LRU 将它放置到缓存的顶部. 当缓存达到极限时, 较早之前访问的条目将从缓存底部开始被移除. 这里会使用到昂贵的算法, 而且它需要记录 "年龄位" 来精确显示条目是何时被访问的. 此外, 当一个 LRU 缓存算法删除某个条目后, "年龄位" 将随其他条目发生改变.

最近最常使用算法(MRU):

这个缓存算法最先移除最近最常使用的条目. 一个 MRU 算法擅长处理一个条目越久, 越容易被访问的情况.

先进先出算法(FIFO):

FIFO 是英文 First In First Out 的缩写, 是一种先进先出的数据缓存器, 他与普通存储器的区别是没有外部读写地址线, 这样使用起来非常简单, 但缺点就是只能顺序写入数据, 顺序的读出数据, 其数据地址由内部读写指针自动加 1 完成, 不能像普通存储器那样可以由地址线决定读取或写入某个指定的地址.

算法实现