平成28年度 秋期 午前 問8
コンピュータ構成要素
パイプラインに関する問題
全ての命令が 5 ステージで完了するように設計された,パイプライン制御のコンピュータがある。20 命令を実行するには何サイクル必要となるか。ここで,全ての命令は途中で停止することなく実行でき,パイプラインの各ステージは 1 サイクルで動作を完了するものとする。
- ア20
- イ21
- ウ24
- エ25
答えと解説を見る
✓ これが正解ウ24
解説
立ち上がりの分だけ待ち、あとは1命令ずつ出ます。
パイプライン制御では、一つの命令をいくつかの段に割り、前の命令が次の段へ進んだら空いた段に後ろの命令を流し込みます。そのため、かかる時間は段の数と命令の数の掛け算にはなりません。まず先頭の1命令だけは、5つの段をすべて通り抜ける必要があるので5サイクルかかります。ここはどう工夫しても縮みません。2つ目から先は、1サイクルごとに1命令ずつ仕上がっていくので、残りの19命令には19サイクルです。合わせて5+19=24サイクルになります。式にすると、段の数に命令数から1を引いた値を足す形で、5+(20-1)=24です。公式だけを信じないために小さい数でも確かめます。3段で3命令なら、時間の流れを書き出すと横幅は5になり、3+(3-1)=5と一致します。命令の数が多いほど1命令あたりの時間は1サイクルに近づく、という見通しもここから読み取れます。
ほかの選択肢はなぜ違うのか
- ア20:命令の数をそのまま答えた値です。先頭の1本が5つの段を通り抜ける間、後続はまだ仕上がっていないので、この立ち上がりにかかる4サイクルぶんが計上されていません。
- イ21:段が増えたぶんの余分を1サイクルとだけ見積もった値です。実際に余分に必要なのは段の数から1を引いた4サイクルなので、段を5つに割った設計では3サイクル足りません。
- エ25:段の数と命令の数をそのまま足した値です。先頭の命令の5サイクルに続くのは残りの19命令ぶんなので、1サイクル多く数えています。
出典:平成28年度 秋期 応用情報技術者試験 午前 問8
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)