缓存命中与不命中

缓存命中(Cache Hit)

当程序访问的数据已在缓存中时,称为缓存命中。此时数据可以直接从缓存读取,速度快。

缓存不命中(Cache Miss)

当程序访问的数据不在缓存中时,称为缓存不命中。需要从下一级存储器(如主存)加载数据到缓存。

不命中的三种类型

类型说明特征
强制不命中第一次访问该块不可避免,次数固定
容量不命中缓存容量不足以容纳所有数据需增加缓存大小
冲突不命中映射到同一组的多个块交替访问可通过相联度缓解

冷不命中(Cold Miss)

强制不命中也称为冷不命中(Cold Miss),当程序首次启动时,缓存为空,所有访问都是冷不命中。

放置策略(Placement Policy)

  • 决定数据块放入缓存的哪个位置
  • 详见
  • 直接映射、组相联、全相联

替换策略(Replacement Policy)

当缓存已满时,选择哪个块被替换:

  • LRU(最近最少使用)— 效果最好
  • FIFO(先进先出)— 实现简单
  • 随机替换 — 实现简单,性能尚可

相关笔记:

链接到