令和5年度 秋期 午前Ⅱ 問7
メモリ
局所参照性に関する記述
プログラムの局所参照性に関する記述のうち,適切なものはどれか。
- ア繰り返し使われる処理をサブルーチン化すると,サブルーチンの呼出しと復帰のために分岐命令が増えるので,必ず局所参照性は低くなる。
- イ同様の処理を反復する場合,ループやサブルーチンを用いずにプログラムにコードを繰り返して記述する方が,局所参照性は高くなる。
- ウ分岐命令などによって,主記憶を短い時間に広範囲に参照するほど,局所参照性は高くなる。
- エループによる反復実行のように,短い時間に主記憶の近接した場所を参照するプログラムの方が,局所参照性は高くなる。
答えと解説を見る
✓ これが正解エループによる反復実行のように,短い時間に主記憶の近接した場所を参照するプログラムの方が,局所参照性は高くなる。
解説
短い時間に近い場所を繰り返し参照するほど局所参照性は高い。
局所参照性とは、プログラムが短い時間の間に、主記憶の限られた範囲を集中して参照する性質のことです。同じ場所を繰り返し使う時間的な偏りと、近くの番地を続けて使う空間的な偏りがあります。ループで同じ命令の並びを何度も実行すると、短い時間に近接した番地ばかりを参照するので、局所参照性は高くなります。この性質が高いほど、キャッシュメモリや仮想記憶がうまく働きます。選択肢を読むときは、参照する範囲が狭くまとまるのか、広く散らばるのかに注目すると判断できます。狭く・繰り返しなら高い、広く・散らばるなら低い、と対にして覚えておくと迷いません。
ほかの選択肢はなぜ違うのか
- ア繰り返し使われる処理をサブルーチン化する…:サブルーチン化すると呼出しと復帰の分岐は増えますが、同じ処理の本体を何度も使い回すので、参照が限られた範囲に集まる面もあります。どんな場合でも低くなると言い切っている点が誤りです。
- イ同様の処理を反復する場合,ループやサブル…:同じ処理を書き並べると、コードが主記憶の広い範囲に広がり、ループやサブルーチンで同じ命令を繰り返し使う場合より参照範囲が大きくなります。局所参照性が高くなるという結論は逆です。
- ウ分岐命令などによって,主記憶を短い時間に…:短い時間に広範囲を参照するほど、参照の偏りは小さくなります。局所参照性は限られた範囲への集中を指すので、広範囲を参照するほど高くなるという説明は、性質を逆向きに述べています。
出典:令和5年度 秋期 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問7
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)