缓存友好的C代码

时间:2013-01-30 17:22:36

标签: c caching

我想计算使用此代码片段的每次循环迭代的缓存未命中率:

int x[2][256];
int i;
int sum = 0;

for(i = 1;i < 256; i++) {
    sum += x[0][i] * x[1][i];
}

假设:

  1. 数组x从0x0开始
  2. 缓存为空
  3. 直接映射缓存,大小为1024字节,块大小为32字节
  4. 我会说每循环迭代我们有一个未命中率,因为我们也经历了x的列。是不是?

    下一个问题:如果缓存大小是2048字节,那么未命中率是多少?

0 个答案:

没有答案