プロセッサ (全54問中2問目)

No.2

同一メモリ上で転送するとき,転送元の開始アドレス,転送先の開始アドレス,方向フラグ及び転送語数をパラメタとして指定することでブロック転送ができるCPUがある。図のようにアドレス 1001 から 1004 の内容をアドレス 1003 から 1006 に転送する場合,パラメタとして適切なものはどれか。ここで,転送は開始アドレスから1語ずつ行われ,方向フラグに0を指定するとアドレスの昇順に,1を指定するとアドレスの降順に転送を行うものとする。
09.gif/image-size:364×216
  • [この問題の出題歴]
  • 基本情報技術者 H14秋期 問19
  • ソフトウェア開発技術者 H17春期 問16

分類

テクノロジ系 » コンピュータ構成要素 » プロセッサ

正解

解説

転送元の[1001,1002,1003,1004]から、転送先の[1003,1004,1005,1006]にデータを転送することになります。転送先のアドレスである1003〜1004番地は、転送元のアドレスでもあるので、1001番地から昇順で転送すると、1001〜1002番地の内容で1003〜1004番地の内容が上書きされることになり、本来の1003〜1004番地の内容(下図の「ううう」「えええ」)を1005〜1006番地に転送できません。
09_1.gif/image-size:450×258
適切に転送するには、転送元は1004番から、転送先は1006番からそれぞれ降順で転送しなければなりません。したがって、転送元の開始アドレスに1004、転送先の開始アドレスに1006、方向フラグに1(降順)を指定します。
09_2.gif/image-size:405×235
  • 1005〜1006番地にコピーされるべき1003〜1004番地の内容が、転送前に1001〜1002番地の内容で上書きされてしまうため誤りです。
  • 1001番地から降順に4語分を転送すると、転送元アドレスが1001〜1098番地となるため誤りです。
  • 1004番地から昇順に4語分を転送すると、転送元アドレスが1004〜1007番地となるため誤りです。
  • 正しい。
© 2010-2019 応用情報技術者試験ドットコム All Rights Reserved.

Pagetop