メモリ階層と性能

ミスしたラインを主記憶から読み込むとき、CPUが必要としている語(ワード)を先に送って、残りを後から送る手法はどれか。

  1. Aクリティカルワードファースト
  2. Bライトアロケート
  3. Cビクティムキャッシュ
答えと解説を見る

正解:A. クリティカルワードファースト

64バイトのライン全体が届くのを待ってからデータを渡すと、その分だけCPUの待ちが延びます。クリティカルワードファーストでは、要求された語を最初に転送してすぐCPUに渡し、ラインの残りは後から埋めるので、実質のミスペナルティを短くできます。ライトアロケートは書き込みミス時にラインを読み込むかどうかの方式で、ビクティムキャッシュは追い出したラインを一時保持する小さなバッファです。どちらも転送の順番とは関係ありません。

  • A. 正しい。必要な語を先に送り、待ち時間を短くします。
  • B. ライトアロケートは書き込みミス時の扱いの方式です。
  • C. ビクティムキャッシュは追い出したラインを保持するバッファです。
この分野を解く 分野ページへ

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

  1. 上の2つのループを1つにまとめる(ループ融合)と、Nが大きいときに速くなりやすい理由はどれか。
  2. 大きな行列を転置する処理(b[j][i] = a[i][j])で、キャッシュのミスが多くなりやすい理由と、代表的な対策の組み合わせとして正しいものはどれか。
  3. 一般的なコンピュータの記憶階層で、上の階層(CPUに近い側)ほど成り立つ性質として正しいものはどれか。
  4. キャッシュの性能を評価するとき、ミス率だけでなく平均メモリアクセス時間で比べる必要がある理由として正しいものはどれか。
  5. 2つのプログラムを同じコアで交互に実行すると、それぞれを単独で実行するより遅くなることがある。キャッシュの観点から最も適切な説明はどれか。