【发布时间】:2011-04-17 06:23:50
【问题描述】:
我知道循环展开有时会增加指令级缓存未命中,但我注意到(在简单的标量 sim-cache 中),循环展开正在减少 dl1 缓存未命中(我使用其他缓存作为无,所以没有其他缓存存在),但我没有得到这背后的逻辑,循环展开如何减少数据级缓存未命中?
循环展开将导致与没有展开大小写权限相同的加载字数。
【问题讨论】:
标签: caching compiler-optimization
我知道循环展开有时会增加指令级缓存未命中,但我注意到(在简单的标量 sim-cache 中),循环展开正在减少 dl1 缓存未命中(我使用其他缓存作为无,所以没有其他缓存存在),但我没有得到这背后的逻辑,循环展开如何减少数据级缓存未命中?
循环展开将导致与没有展开大小写权限相同的加载字数。
【问题讨论】:
标签: caching compiler-optimization
我遇到了一些情况,比如访问受到列专业形式的限制(我们不能在行专业中这样做),并且列大小很大,所以每次未命中一个,一个缓存行被带入缓存但只有一个元素被使用,因此如果我们可以通过展开它(矩阵转置)来使用该缓存行的另一个元素,将降低未命中率。
【讨论】: