応用情報技術者 2016年 秋期 午前2 問08
問題文
全ての命令が5ステージで完了するように設計された、パイプライン制御のコンピュータがある。20命令を実行するには何サイクル必要となるか。ここで、全ての命令は途中で停止することなく実行でき、パイプラインの各ステージは1サイクルで動作を完了するものとする。
選択肢
ア:20
イ:21
ウ:24(正解)
エ:25
パイプライン制御の命令実行サイクル数計算【午前2 解説】
要点まとめ
- 結論:20命令を5ステージのパイプラインで実行するには24サイクル必要です。
- 根拠:最初の命令が完了するまでに5サイクルかかり、その後は1命令ごとに1サイクル追加されます。
- 差がつくポイント:パイプラインの「初期遅延」と「連続命令の重なり」を正しく理解できているかが鍵です。
正解の理由
パイプラインは5ステージで構成されており、1命令を完了するのに5サイクルかかります。しかし、パイプライン処理の特徴として、2命令目以降は各ステージが並列に動作するため、1命令あたりの追加サイクルは1サイクルです。
したがって、20命令の実行に必要なサイクル数は、
となり、選択肢の中ではウ: 24が正解です。
したがって、20命令の実行に必要なサイクル数は、
となり、選択肢の中ではウ: 24が正解です。
よくある誤解
パイプラインの各ステージが1サイクルで完了するため、単純に命令数と同じ20サイクルと考える誤りが多いです。初期のパイプライン充填時間を忘れてしまうこともあります。
解法ステップ
- パイプラインのステージ数(5ステージ)を確認する。
- 最初の命令が完了するまでにかかるサイクル数はステージ数と同じ5サイクルと理解する。
- 2命令目以降は1命令ごとに1サイクル追加されることを把握する。
- 命令数20に対して、初期5サイクル+(20-1)サイクルを計算する。
- 合計24サイクルと導き出し、選択肢から該当するものを選ぶ。
選択肢別の誤答解説
- ア: 20
命令数と同じサイクル数と誤解。パイプラインの初期充填時間を無視している。 - イ: 21
初期遅延を1サイクルと誤認し、5サイクルではなく1サイクルと考えた可能性がある。 - ウ: 24
正解。パイプラインの初期遅延5サイクルと追加命令19サイクルを正しく計算。 - エ: 25
1命令あたりの追加サイクルを2サイクルと誤認した可能性がある。
補足コラム
パイプライン処理はCPUの性能向上に不可欠な技術で、命令を複数の段階に分割し並列処理を行います。初期の「パイプライン充填時間(レイテンシ)」を理解することが、性能評価や問題解答のポイントです。命令数が多くなるほど、パイプラインの効果が顕著になります。
FAQ
Q: なぜ最初の命令は5サイクルかかるのですか?
A: 5ステージの各段階を順に処理するため、最初の命令は全ステージを通過するのに5サイクル必要です。
A: 5ステージの各段階を順に処理するため、最初の命令は全ステージを通過するのに5サイクル必要です。
Q: 2命令目以降はなぜ1サイクルで処理できるのですか?
A: パイプラインの各ステージが同時に動作するため、2命令目以降は前の命令の次のステージに入り、1サイクルごとに命令が完了します。
A: パイプラインの各ステージが同時に動作するため、2命令目以降は前の命令の次のステージに入り、1サイクルごとに命令が完了します。
関連キーワード: パイプライン処理、命令実行サイクル、CPU性能、初期遅延、並列処理

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

