プログラムの参照局所性(時間的局所性・空間的局所性)の定義

参照の局所性(Locality of Reference) とは、プログラムが実行される際、ある特定の短い時間帯においてアクセスされるメモリ領域が限られた範囲に偏る特性のことです。主に以下の2つに分類されます。 - 時間的局所性 : 一度アクセスされたメモリ領域(命令やデータ)は、近いうちに再びアクセスされる可能性が高い特性(例: ループ処理内の同一命令の反復実行)。 - 空間的局所性 : あるメモリ領域がアクセスされたとき、その近傍(近接したアドレス)にある領域も続けてアクセスされる可能性が高い特性(例: 配列データの順次走査や逐次命令実行)。 ループによる反復実行のように、短い時間内に主記憶の近接した場所を参照するプログラムは局所参照性が高くなり、キャッシュヒット率が向上します。したがって、正解は エ です。 ア: サブルーチン化により命令コードがコンパクトにまとまり、同一のコード領域が繰り返し呼び出されるため、時間的局所性が高くなります。 イ: コードをベタ書き(インライン展開)して繰り返すとメモリ空間上にコードが散らばり、キャッシュを無駄に消費して空間的局所性が低下します。 ウ: 短時間に広範囲の主記憶へランダムにアクセスすると、参照の局所性は著しく低下します。

プログラムの局所参照性に関する記述のうち,適切なものはどれか。

出典令和5年度 秋期 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問7
ア
繰り返し使われる処理をサブルーチン化すると,サブルーチンの呼出しと復帰のために分岐命令が増えるので,必ず局所参照性は低くなる。
イ
同様の処理を反復する場合,ループやサブルーチンを用いずにプログラムにコードを繰り返して記述する方が,局所参照性は高くなる。
ウ
分岐命令などによって,主記憶を短い時間に広範囲に参照するほど,局所参照性は高くなる。
エ
ループによる反復実行のように,短い時間に主記憶の近接した場所を参照するプログラムの方が,局所参照性は高くなる。