メモリ階層と性能

キャッシュが理想的なら平均CPIが1.0のプロセッサで、1命令あたり平均1.3回のメモリアクセスがあり、そのミス率が2%、ミスペナルティが100サイクルのとき、実際の平均CPIはいくらか。

  1. A3.0
  2. B3.6
  3. C1.3
答えと解説を見る

正解:B. 3.6

1命令あたりのメモリの停止サイクルは、1.3回 × 0.02 × 100サイクル = 2.6サイクルです。これを理想のCPIに足すと 1.0 + 2.6 = 3.6 になり、性能は理想の3.6分の1に落ちます。3.0は1命令あたりのアクセスを1回と誤った値(1.0 + 1 × 0.02 × 100)です。1.3は1命令あたりのアクセス回数で、CPIではありません。わずかなミス率でも、ミスペナルティが大きいと性能を大きく下げることが分かります。

  • A. 3.0はアクセスを1命令あたり1回と誤った値です。
  • B. 正しい。1.0 + 1.3 × 0.02 × 100 = 3.6です。
  • C. 1.3は1命令あたりのアクセス回数です。
この分野を解く 分野ページへ

メモリ階層と性能のほかの問題

  1. ノンブロッキングキャッシュ(ミスの処理中もほかのアクセスを受け付けるキャッシュ)の主な利点はどれか。
  2. L1キャッシュのミス率(全アクセスに対する割合)が4%、L2キャッシュのグローバルミス率(全アクセスのうちL2でもミスする割合)が1%のとき、L2のローカルミス率はいくらか。
  3. TLBのエントリが64個で、ページサイズが4 KBのとき、TLBのミスなしでアクセスできるメモリの範囲(TLBリーチ)はいくらか。
  4. 大きなページ(ヒュージページ)を使う主な利点と欠点の組み合わせとして正しいものはどれか。
  5. 2次元配列の1行の大きさが4096バイト(2の累乗)のとき、列方向に要素をたどると、キャッシュの容量に余裕があってもミスが多くなることがある。その対策として効果があるものはどれか。