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

| 転送元の開始アドレス | 転送先の開始アドレス | 方向フラグ | 転送語数 | |
|---|---|---|---|---|
| ア | 1001 | 1003 | 0 | 4 |
| イ | 1001 | 1003 | 1 | 4 |
| ウ | 1004 | 1006 | 0 | 4 |
| エ | 1004 | 1006 | 1 | 4 |
選択肢
- ア転送元の開始アドレス1001、転送先の開始アドレス1003、方向フラグ0、転送語数4
- イ転送元の開始アドレス1001、転送先の開始アドレス1003、方向フラグ1、転送語数4
- ウ転送元の開始アドレス1004、転送先の開始アドレス1006、方向フラグ0、転送語数4
- エ転送元の開始アドレス1004、転送先の開始アドレス1006、方向フラグ1、転送語数4
正解と解説
正解:エ 転送元の開始アドレス1004、転送先の開始アドレス1006、方向フラグ1、転送語数4
転送元1001〜1004と転送先1003〜1006は2語分だけ重なっている。昇順に転送すると1001の内容を1003に書いた時点で、まだ読んでいない元の1003が壊れてしまう。そこで末尾から、つまり転送元1004・転送先1006を開始アドレスとして方向フラグ1(降順)で転送すれば、読む前に上書きされることがない。
選択肢ごとの解説
- ア昇順で先頭から転送すると、書込みが未読の転送元領域を壊してしまう。
- イ開始アドレスが先頭のままで降順に進むと、転送元・転送先の範囲から外れてしまう。
- ウ末尾から始めながら昇順に進むので、指定した4語の範囲を超えてしまう。
- エ正しい。末尾を開始点にして降順に転送すれば重なりがあっても壊れない。
同じ分野の他の問題
- プロセッサの高速化技法の一つとして、同時に実行可能な複数の動作を、コンパイルの段階でまとめて一つの複合命令とし、高速化を…2018年度 春期 午前 問9
- 同じ命令セットをもつコンピュータAとBとがある。それぞれのCPUクロック周期,及びあるプログラムを実行したときのCPI(…2025年度 春期 午前 問8
- RISCプロセッサの5段パイプラインの命令実行制御の順序はどれか。ここで、このパイプラインのステージは次の五つとする。 …2024年度 秋期 午前 問8
- 同一メモリ空間で、転送元の開始アドレス、転送先の開始アドレス、方向フラグ及び転送語数をパラメータとして指定することによっ…2024年度 春期 午前 問8
- パイプラインの性能を向上させるための技法の一つで、分岐条件の結果が決定する前に、分岐先を予測して命令を実行するものはどれ…2023年度 秋期 午前 問9
最終更新:2026-08-25/解説・選択肢ごとの解説は資格暗記が独自に作成しています。問題文と選択肢の出典は上記のとおりです。