応用情報技術者試験 応用情報技術者試験 令和6年度春期 午前 問8: 同一メモリ空間で,転送元の開始アドレス,転送先の開始アドレス,方向フラグ及び転送語数をパラメータとして指定することによって,データをブロック転送できる機能をもつ

←
応用情報技術者試験 令和6年度春期 午前
Q 88 / 80
同一メモリ空間で,転送元の開始アドレス,転送先の開始アドレス,方向フラグ及び転送語数をパラメータとして指定することによって,データをブロック転送できる機能をもつ CPU がある。図のようにアドレス 1001 から 1004 のデータをアドレス 1003 から 1006 に転送するとき,指定するパラメータとして適切なものはどれか。ここで,転送は開始アドレスから 1 語ずつ行われ,方向フラグに 0 を指定するとアドレスの昇順に,1 を指定するとアドレスの降順に転送を行うものとする。
転送元の開始アドレス転送先の開始アドレス方向フラグ転送語数
ア1001100304
イ1001100314
ウ1004100604
エ1004100614
メモリのブロック転送を示す図。実行前と実行後のアドレス1000〜1007の並びと,1001〜1004から1003〜1006への転送を表す矢印
この問の正解率:62.97%(667件)

解説

応用情報技術者試験 令和6年度春期 午前 問8「同一メモリ空間で,転送元の開始アドレス,転送先の開始アドレス,方向フラグ及び転送…」の正解と解説です。応用情報技術者試験の「テクノロジ系」分野の過去問で、これまでの受験者の正答率は約63%です。

正解

エ. 転送元の開始アドレス 1004,転送先の開始アドレス 1006,方向フラグ 1,転送語数 4

正答率 63.0%(667人中 420人が正解)

問題の解説

転送元(1001〜1004)と転送先(1003〜1006)が重なっているので、昇順に 1 語ずつ転送すると、まだ読み出していない 1003 と 1004 の元データが、先に書き込まれる値で上書きされてしまう。そこで、末尾の 1004 を 1006 へ、1003 を 1005 へと、降順(方向フラグ 1)で 4 語を転送する。この順なら、読み出す前の元データが上書きされることがない。

選択肢ごとの解説

  • ア先頭の 1001 から昇順に転送すると、1003 と 1004 の元データが先に上書きされ、1005 と 1006 に正しい値が届かない。
  • イ開始アドレスは先頭側なのに降順を指定したので、1001 から 1000、999 の側へ進み、転送元の範囲から外れてしまう。
  • ウ末尾側から始めるのに昇順を指定したので、1004 から 1005、1006、1007 の側へ進み、転送元の範囲から外れてしまう。
  • エ正しい。重なりがあるときは末尾から降順に転送し、1004→1006、1003→1005、1002→1004、1001→1003 の順に 4 語を移せば、元データが上書きされる前に読み出せる。

応用情報技術者試験 令和6年度春期 午前 の過去問一覧に戻る・問8

応用情報技術者試験 の iOS アプリ版

アプリ版なら、よりスムーズに動作し、
スワイプで問題遷移ができます。

応用情報技術者試験 合格.dev を App Store でダウンロード