计算机的高速缓存
高速缓存的工作原理
存储在连续存储单元中而被看作是一个单元的一组字
存放在一个存储单元中的二进制代码组合
字
字块
字的地址包含两个部分
前m位指定字块的地址
2的m次方 = M 2的b次方 = B
高速缓存
缓存命中率是衡量缓存的重要性能指标
理论上CPU每次都能从高速缓存存取数据的时候,命中率为1。 (永远不可能是1)
高速缓存的替换策略
随机算法
先进先出算法(FIFO)
把高速缓存看做是一个先进先出的队列
优先替换掉最先进入队列的字块
最不经常使用算法( LFU )
优先淘汰掉最不经常使用的字块
需要额外空间记录使用频率
最近最少使用算法(LRU)
优先淘汰掉一段时间内没有使用的字块
有多种实现方法,一般使用双向链表
把当前访问节点置于链表前面 (保证链表头部节点是最近使用的)