0

このコード スニペットを使用して、ループ反復ごとのキャッシュ ミス率を計算したいと思います。

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 バイトのダイレクト マップ キャッシュ

x の列も通過するため、ループの反復ごとに 1 つのミス率があると言えます。そうですか?

次の質問: キャッシュ サイズが 2048 バイトの場合のミス率は?

4

0 に答える 0