メモリ階層と性能
プログラムがあるデータに初めてアクセスしたときに起こるキャッシュミスを減らす方法として、効果があるものはどれか。
- Aプリフェッチで前もって読み込んでおく
- Bキャッシュの連想度(ウェイ数)を2倍にする
- Cキャッシュの容量だけを2倍にする
答えと解説を見る
正解:A. プリフェッチで前もって読み込んでおく
初めてのアクセスで起こる初期参照ミスは、そのデータがまだ一度もキャッシュに入っていないために起こるので、容量や連想度を増やしても減りません。必要になる前にプリフェッチで読み込んだり、ラインを大きくして近くのデータをまとめて持ってきたりすると減らせます。連想度を上げて減るのは同じセットを取り合う競合ミス、容量を増やして減るのはワーキングセットがあふれる容量ミスです。
- A. 正しい。まだ読み込まれていないデータを前もって読むのが有効です。
- B. 連想度を上げて減るのは競合ミスです。
- C. 容量を増やして減るのは容量ミスです。