全ての命令が5ステージで完了するように設計された,パイプライン制御のコンピュータがある。
20命令を実行するには何サイクル必要となるか。
ここで,全ての命令は途中で停止することなく実行でき,パイプラインの各ステージは1サイクルで動作を完了するものとする。
正答3
解説
正解は3です。
パイプライン制御は、命令の処理を複数のステージに分け、各ステージを重ねて実行する方式です。
最初の命令が全ステージを終えるまでは時間がかかりますが、その後は1サイクルごとに1命令ずつ完了します。
【計算】
必要サイクル数=ステージ数+(命令数-1)です。
ステージ数5、命令数20を代入すると、5+(20-1)となります。
答えは24サイクルです。
【選択肢別解説】
1:× 20サイクルは、1サイクルに1命令ずつ完了するとみなした値です。
最初の命令が完了するまでの4サイクル分が考慮されていません。
2:× 21サイクルは、最初の命令が2サイクルで完了するとみなした値です。
実際には5ステージ分の5サイクルが必要です。
3:○ 1命令目は5サイクル目に完了し、残り19命令は1サイクルごとに完了するので、5+19=24サイクルです。
4:× 25サイクルは、ステージ数と命令数を単純に足した値です。
最初の命令の完了サイクルを二重に数えています。
【ポイント】
パイプラインを使わない場合は、5×20=100サイクルかかります。
「ステージ数+命令数-1」は頻出の公式です。