メモリ階層と性能
キャッシュを命令用(Iキャッシュ)とデータ用(Dキャッシュ)に分けたL1キャッシュの主な利点はどれか。
- A命令とデータが同じアドレスに置かれても衝突しなくなり、容量が2倍に見えるから
- B命令の取り出しとデータの読み書きを同じクロックで並行して行えるから
- C命令は書き換えられないので、Dキャッシュを不要にできるから
答えと解説を見る
正解:B. 命令の取り出しとデータの読み書きを同じクロックで並行して行えるから
パイプラインでは、毎クロック命令を取り出しながら、別の命令がデータを読み書きします。L1を命令用とデータ用に分けると、2つのアクセスが1つのキャッシュのポートを取り合わずに並行して行え、それぞれの性質に合わせた構成も選べます。容量が2倍になるわけではなく、合計の容量を分けて使います。データの読み書きは常に必要なので、Dキャッシュを不要にすることはできません。L2以降は命令とデータを共用するのが一般的です。
- A. 合計の容量を分けるだけで、容量が2倍になるわけではありません。
- B. 正しい。命令の取り出しとデータのアクセスを並行して行えます。
- C. データの読み書きは必要なので、Dキャッシュは不要になりません。