カコモンノート

問9応用情報技術者 平成31年度 春期

9 / 80問
平成31年度 春期2019年

同一メモリ上で転送するとき,転送元の開始アドレス,転送先の開始アドレス,方向フラグ及び転送語数をパラメタとして指定することによってブロック転送ができるCPUがある。図のようにアドレス1001から1004の内容をアドレス1003から1006に転送するとき,パラメタとして適切なものはどれか。ここで,転送は開始アドレスから1語ずつ行われ,方向フラグに0を指定するとアドレスの昇順に,1を指定するとアドレスの降順に転送を行うものとする。

この問題の図
問題に添えられた図。出典は下に書いています。

選択肢をえらぶと、答えと解説が出ます

選択肢をえらぶと、
ここに答えと解説が出ます
正答 4

解説

正解は4。転送元1001〜1004と転送先1003〜1006は1003・1004で重なる。昇順(1001から)に転送すると、1001の内容を1003へ、1002を1004へ書いた時点で、まだ読んでいない転送元1003・1004が上書きされてしまう。そこで末尾から降順に転送する。転送元の開始アドレスは1004、転送先の開始アドレスは1006、方向フラグは1(降順)、転送語数は4で、1004→1006、1003→1005、1002→1004、1001→1003の順に正しく写せる。

  • 1は、1001から昇順なので、転送元1003・1004が読む前に上書きされる。
  • 2は、開始が1001・1003で降順だと、1001→1003、1000→1002…と図と違う領域を転送してしまう。
  • 3は、開始が1004・1006で昇順だと、1004〜1007を1006〜1009へ転送することになる。

根拠:重なりのある領域のブロック転送(転送先が後ろにずれる場合は末尾から転送する)。

KEY POINT
重なる領域の転送で、転送先が後ろにずれるときは末尾から降順に転送すれば未読のデータを上書きしない。
出典:平成31年度 春期 応用情報技術者試験 午前 問9(独立行政法人 情報処理推進機構(IPA))
独立行政法人情報処理推進機構(IPA)が公表している過去問題です。IPA の「過去問題の使用について」に基づき、IPA が指定する形で出典を明記して掲載しています(利用の許諾申請は不要)。問題文・選択肢の内容は変えていません。元の問題冊子から文字を起こす都合で、改行・字間の空白は省き、英数字の全角・半角は元とそろえていない箇所があります。図表は IPA が公表した問題冊子のものです。解説は当サイトが独自に作成したもので、IPA とは関係ありません。