cache_miss_rate.md
增加Cache块大小
- 增强了空间局部性,减少了强制不命中
- Cache总容量不变的情况下,块的个数会减少,增加了冲突不命中
增加Cache容量
简单直接,但会增加成本,以及增加命中时间。
提高Cache的相联度
减少了冲突不命中,但会增加命中时间
伪相联Cache
以直接映射的方式寻址Cache块,若不命中,查看对应另一位置是否匹配。
可通过交换Cache块位置来利用时间局部性。
硬件预取
利用储存器的空闲带宽预先读取指令和数据,减少强制不命中。
编译器控制的预取
编译优化
- 程序代码和数据重组
- 内外循环交换
- 分块
牺牲Cache
在Cache和下级存储器之间增加一个全相联的小Cache,用于存储最近被替换出去的块,可以减少冲突不命中。