メモリ階層と性能
ハードウェアのプリフェッチが特に効果を発揮しやすいアクセスはどれか。
- A配列を一定の間隔(ストライド)で順に読んでいくアクセス
- B連結リストを先頭から1要素ずつたどっていくアクセス
- Cハッシュ表をランダムなキーで引いていくアクセス
答えと解説を見る
正解:A. 配列を一定の間隔(ストライド)で順に読んでいくアクセス
ハードウェアのプリフェッチャは、直前のアクセスのアドレスの規則性(連続や一定の間隔)を見つけ、次に来るアドレスを予測して先に読み込みます。配列を一定のストライドで読むアクセスは予測しやすく、効果が大きくなります。連結リストは次の要素のアドレスが今の要素を読むまで分からないため、規則性がなく予測できません。ランダムなキーでのハッシュ表の参照も、アドレスに規則性がないため効果は小さくなります。
- A. 正しい。規則的な間隔のアクセスは予測しやすく、効果が大きくなります。
- B. 次のアドレスが今の要素を読むまで分からないため、予測できません。
- C. アドレスに規則性がないため、効果は小さくなります。