cache_miss_rate.md

增加Cache块大小

  1. 增强了空间局部性,减少了强制不命中
  2. Cache总容量不变的情况下,块的个数会减少,增加了冲突不命中

增加Cache容量

简单直接,但会增加成本,以及增加命中时间。

提高Cache的相联度

减少了冲突不命中,但会增加命中时间

伪相联Cache

以直接映射的方式寻址Cache块,若不命中,查看对应另一位置是否匹配。

可通过交换Cache块位置来利用时间局部性。

硬件预取

利用储存器的空闲带宽预先读取指令和数据,减少强制不命中。

编译器控制的预取

编译优化

  1. 程序代码和数据重组
  2. 内外循环交换
  3. 分块

牺牲Cache

在Cache和下级存储器之间增加一个全相联的小Cache,用于存储最近被替换出去的块,可以减少冲突不命中。