メモリ階層と性能

キャッシュを命令用(Iキャッシュ)とデータ用(Dキャッシュ)に分けたL1キャッシュの主な利点はどれか。

  1. A命令とデータが同じアドレスに置かれても衝突しなくなり、容量が2倍に見えるから
  2. B命令の取り出しとデータの読み書きを同じクロックで並行して行えるから
  3. C命令は書き換えられないので、Dキャッシュを不要にできるから
答えと解説を見る

正解:B. 命令の取り出しとデータの読み書きを同じクロックで並行して行えるから

パイプラインでは、毎クロック命令を取り出しながら、別の命令がデータを読み書きします。L1を命令用とデータ用に分けると、2つのアクセスが1つのキャッシュのポートを取り合わずに並行して行え、それぞれの性質に合わせた構成も選べます。容量が2倍になるわけではなく、合計の容量を分けて使います。データの読み書きは常に必要なので、Dキャッシュを不要にすることはできません。L2以降は命令とデータを共用するのが一般的です。

  • A. 合計の容量を分けるだけで、容量が2倍になるわけではありません。
  • B. 正しい。命令の取り出しとデータのアクセスを並行して行えます。
  • C. データの読み書きは必要なので、Dキャッシュは不要になりません。
この分野を解く 分野ページへ

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

  1. ページサイズ4 KB、ラインサイズ64バイトのシステムで、L1キャッシュを仮想インデックス・物理タグ(VIPT)方式にし、インデックスとオフセットをページ内のビットだけで構成したい。8ウェイ・セットアソシアティブなら、キャッシュの容量は最大いくらにできるか。
  2. L1キャッシュに仮想インデックス・物理タグ(VIPT)方式がよく使われる主な理由はどれか。
  3. キャッシュのヒット時間が2サイクル、ミス率が4%、ミスペナルティが150サイクルのとき、平均メモリアクセス時間は何サイクルか。
  4. キャッシュが理想的なら平均CPIが1.0のプロセッサで、1命令あたり平均1.3回のメモリアクセスがあり、そのミス率が2%、ミスペナルティが100サイクルのとき、実際の平均CPIはいくらか。
  5. ノンブロッキングキャッシュ(ミスの処理中もほかのアクセスを受け付けるキャッシュ)の主な利点はどれか。