我知道循环展开有时会增加指令级缓存未命中,但我注意到(在简单的标量sim-cache中),循环展开正在减少dl1缓存未命中(我使用其他缓存为无,所以没有其他缓存存在),但我没有得到这背后的逻辑,如何循环展开可以减少数据级缓存未命中?
循环展开将导致与未展开案例权限相同数量的加载单词。
答案 0 :(得分:0)
我遇到了一些情况,比如访问受限于列专业的形式(我们不能在行专业中这样做),并且具有大的列大小,因此每个错过,一个缓存行被带入缓存而只有一个使用了元素,因此如果我们可以通过展开它来使用该缓存行的另一个元素(矩阵转置),将会降低未命中率。