応用情報技術者 2023年 春期 午前2 問09
問題文
全ての命令が5ステージで完了するように設計された、パイプライン制御のCPUがある。20命令を実行するには何サイクル必要となるか。ここで、全ての命令は途中で停止することなく実行でき、パイプラインの各ステージは1サイクルで動作を完了するものとする。
選択肢
ア:20
イ:21
ウ:24(正解)
エ:25
パイプライン制御CPUの命令実行サイクル数計算【午前2 解説】
要点まとめ
- 結論:20命令を5ステージのパイプラインで実行するには24サイクル必要です。
- 根拠:最初の命令が完了するまでに5サイクルかかり、その後は1命令ごとに1サイクル追加されるためです。
- 差がつくポイント:パイプラインの「初期遅延」と「連続実行時のサイクル数の計算方法」を正確に理解することが重要です。
正解の理由
パイプラインは5ステージで構成されており、1命令が完了するまでに5サイクルかかります。最初の命令が5サイクル目で完了し、以降は毎サイクル1命令ずつ完了します。したがって、20命令を完了するには、初期の5サイクルに加え、残り19命令分の19サイクルが必要で、合計24サイクルとなります。よって正解はウの24サイクルです。
よくある誤解
パイプラインの各ステージが1サイクルで完了するため、単純に命令数と同じサイクル数で終わると誤解しがちです。初期のパイプライン充填時間を考慮しないと誤答になります。
解法ステップ
- パイプラインのステージ数(5ステージ)を確認する。
- 最初の命令が完了するまでに5サイクルかかることを理解する。
- 2つ目以降の命令は1サイクルごとに完了することを把握する。
- 命令数20に対し、初期5サイクル+残り19命令分の19サイクルを計算する。
- 合計24サイクルと導き出す。
選択肢別の誤答解説
- ア: 20
命令数と同じサイクル数と誤解し、初期のパイプライン充填時間を無視しています。 - イ: 21
初期遅延5サイクルを1命令分と誤認し、計算が不足しています。 - ウ: 24
正解。初期5サイクル+19命令分の19サイクルで正しく計算しています。 - エ: 25
1サイクル余分に計算しており、命令数とステージ数の関係を誤解しています。
補足コラム
パイプライン処理はCPUの性能向上に不可欠な技術で、命令を複数の段階に分割し並列処理します。パイプラインの「深さ」(ステージ数)が増えるほど初期遅延は長くなりますが、スループットは向上します。命令の依存関係や分岐予測の失敗がない理想的な条件での計算が本問の前提です。
FAQ
Q: なぜ最初の命令は5サイクルかかるのですか?
A: 5ステージのパイプラインを順に通過するため、最初の命令は5段階すべてを完了する必要があるからです。
A: 5ステージのパイプラインを順に通過するため、最初の命令は5段階すべてを完了する必要があるからです。
Q: 途中で停止しないとはどういう意味ですか?
A: 命令間に依存関係やハザードがなく、パイプラインがスムーズに動作することを指します。
A: 命令間に依存関係やハザードがなく、パイプラインがスムーズに動作することを指します。
関連キーワード: パイプライン処理、CPU性能、命令実行サイクル、パイプラインステージ、初期遅延

\ せっかくなら /
応用情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

