正答3
解説
正解は3です。
命令キャッシュを有効に使うプログラムの作り方を問う問題です。
命令キャッシュは、最近実行した命令を高速なメモリに保持し、次に同じ命令を実行するときに主記憶へ行かずに済ませる仕組みです。
効果を高めるには、参照の局所性(同じ場所や近い場所を繰り返し使うこと)を高めます。
【選択肢別解説】
1:× 作業領域はデータを置く場所なので、まとめて効果が出るのはデータキャッシュです。
命令キャッシュの効果を高める方法ではありません。
2:× 作業領域全体を平均的にアクセスすると局所性が下がります。
しかもデータの話であり、命令キャッシュとは関係しません。
3:○ 頻繁に実行される処理をまとめて配置すると、その命令群がキャッシュに収まりやすくなります。
同じ命令が繰り返しキャッシュから取り出され、ヒット率が上がります。
4:× プログラム全体を平均的に実行すると、実行する命令が広く散らばり、局所性が下がります。
キャッシュのヒット率は低くなります。
【ポイント】
キャッシュは局所性があるときに効果を発揮します。
命令キャッシュは命令(プログラム部分)、データキャッシュは作業領域(データ部分)と区別しましょう。