正答3
解説
正解は3です。
パイプライン制御は、1つの命令を命令フェッチ(F)、解読(D)、実行(E)などの段階に分け、各段階をずらしながら複数の命令を並行して処理する方式です。
命令の処理順は必ずF、D、Eの順であり、前の命令がFを終えた時点で次の命令のFが始まる形になります。
【選択肢別解説】
1:× 選択肢1の図は、命令1のF・D・Eが全て終わってから命令2のFが始まっています。
各命令が重ならずに順番に処理されているので、パイプラインではない逐次制御です。
2:× 選択肢2の図は、命令が1段階ずつずれて重なっていますが、各命令がD、F、Eの順になっています。
命令を取り出す前に解読することはできないので誤りです。
3:○ 選択肢3の図は、各命令がF、D、Eの順で処理されています。
命令2は命令1より1段階遅れて始まり、命令1のDと命令2のFが同時に進むなど、段階が重なって並行処理されています。
4:× 選択肢4の図は、各命令がD、F、Eの順になっていて処理順が誤りです。
さらに命令1と命令2が同時に始まっており、1段階ずつずらす形にもなっていません。
【ポイント】
パイプラインは「F、D、Eの順を守り、1段階ずつずらして重ねる」図です。
段階数をk、命令数をnとすると、理想的な場合の処理時間はk+n-1サイクルになります。