平成29年度 秋期 午前 問8
コンピュータ構成要素
パイプライン制御に関する問題
パイプライン制御を適切に表しているものはどれか。ここで,図中の記号 D は解読,E は実行,F は命令フェッチとする。
選択肢ア〜エは原典では時間を横軸に取った 3 段のタイムチャート(命令1・命令2・命令3 の各行に F・D・E のますを並べた図)。図から読み取った並びを書き写した(図そのものは復元していない)。
- ア各命令とも F D E の順。命令2 は命令1 が 3 ます(F D E)すべて終わってから開始し,命令3 も命令2 が終わってから開始する(重なりが無い)
- イ各命令とも D F E の順(F と D が入れ替わっている)。命令2 は命令1 より 1 ます遅れて開始し,命令3 はさらに 1 ます遅れる
- ウ各命令とも F D E の順。命令2 は命令1 より 1 ます遅れて開始し,命令3 はさらに 1 ます遅れて開始する(1 ますずつ階段状に重なる)
- エ各命令とも D F E の順。命令1 と命令2 は 同じ位置から同時に開始し,命令3 だけ 1 ます遅れて開始する
答えと解説を見る
✓ これが正解ウ各命令とも F D E の順。命令2 は命令1 より 1 ます遅れて開始し,命令3 はさらに 1 ます遅れて開始する(1 ますずつ階段状に重なる)
解説
取り出し、解読、実行を一区画ずつずらして重ねます。
設問は、パイプライン制御を正しく表したタイムチャートを選ばせています。見るところは二つに分けられます。ひとつは段の並び順です。命令はまず主記憶から取り出され、次に何をする命令かが解読され、最後に実行されます。設問が記号の意味をアルファベットの並びで説明しているのは並べ方の都合であって、処理の順番ではありません。もうひとつは重なり方です。パイプライン制御は、先行する命令が次の段へ進んで空いた段に、すぐ後ろの命令を送り込む方式なので、各命令の開始時点が一区画ずつずれた階段の形になります。命令フェッチから実行へ向かう並びと、一区画ずつのずれの両方を満たしているものが答えです。速くなるのは単位時間に片づく命令の数であって、一つの命令が抜ける時間ではありません。
ほかの選択肢はなぜ違うのか
- ア各命令とも F D E の順。命令2 は…:段の並び自体は正しいのですが、後ろの命令が前の命令の三区画すべてを終えてから始まっています。何も重ねずに順番どおり片づける形で、これは逐次実行にあたります。
- イ各命令とも D F E の順(F と D…:ずらして重ねる形にはなっているものの、解読が取り出しより前に置かれています。まだ取ってきていない命令の中身を読むことはできないので、この並びは成り立ちません。
- エ各命令とも D F E の順。命令1 と…:並びが解読から始まっているうえ、はじめの二つの命令が同じ位置から同時に走り出しています。段の順序と、ずれ方という二つの観点のどちらもが条件から外れています。
出典:平成29年度 秋期 応用情報技術者試験 午前 問8
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)