令和5年度 秋期 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問7
テクノロジ/ソフトウェアプログラムの局所参照性に関する記述のうち,適切なものはどれか。
出典:令和5年度 秋期 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問7
- ア繰り返し使われる処理をサブルーチン化すると,サブルーチンの呼出しと復帰のために分岐命令が増えるので,必ず局所参照性は低くなる。
- イ同様の処理を反復する場合,ループやサブルーチンを用いずにプログラムにコードを繰り返して記述する方が,局所参照性は高くなる。
- ウ分岐命令などによって,主記憶を短い時間に広範囲に参照するほど,局所参照性は高くなる。
- エループによる反復実行のように,短い時間に主記憶の近接した場所を参照するプログラムの方が,局所参照性は高くなる。
正解:エ
解説
局所参照性(参照の局所性)とは,プログラムが短い時間内に主記憶の狭い範囲を集中して参照する性質のことです。ループによる反復実行は同じ命令列を繰り返し実行し,配列の連続アクセスなども近接した番地を参照するため,局所参照性が高くなります。局所参照性が高いほどキャッシュメモリのヒット率が上がり,性能が向上します。
選択肢ごとの解説
- ア誤り。サブルーチン化するとコードサイズが小さくまとまり,同じ番地が繰り返し参照されるので,むしろ局所参照性が高くなることが多くあります。「必ず低くなる」とは言えません。
- イ誤り。同じコードを繰り返し展開すると参照する番地の範囲が広がるので,局所参照性は低くなります。
- ウ誤り。短い時間に広範囲を参照することは,局所参照性が低い状態を意味します。記述が逆です。
- エ正しい。短い時間に主記憶の近接した場所を参照するプログラムほど局所参照性が高く,キャッシュが有効に働きます。