パイプラインの実行サイクル
5 段のパイプラインをもつ CPU で,各ステージはそれぞれ 1 サイクルで処理される。ハザードによるパイプラインの停止が発生しないものとすると,20 個の命令をすべて実行し終えるまでに必要なサイクル数はどれか。
- ア20
- イ24
- ウ25
- エ100
正解と解説を見る
正解 イ
この問題の基礎知識
- パイプラインは,命令の処理を命令フェッチ,解読,実行などの複数のステージに分け,異なる命令の異なるステージを並行して処理する方式である。
- k 段のパイプラインで各ステージを 1 サイクルで処理し,ハザードがない場合,最初の命令は k サイクル目に完了し,以降は 1 サイクルごとに 1 命令ずつ完了する。よって n 命令では k+(n−1)サイクルを要する。
- ハザードは,資源の競合,命令間のデータの依存関係,分岐命令などによってパイプラインの流れが乱れ,処理が停止したり無駄になったりする現象である。
ア20
1 命令が 1 サイクルで完了するとみなした誤りである。最初の命令が完了するまでにステージ数分の 5 サイクルが必要であり,その分を考慮していない。
イ24正解
最初の命令は 5 サイクル目に完了し,以降はパイプラインにより 1 サイクルごとに 1 命令ずつ完了する。よって 5+(20−1)=24 サイクルとなる。
ウ25
最初の命令の 5 サイクルに,20 命令分の 20 サイクルを加えた誤りである。最初の命令の完了サイクルを二重に数えており,正しくは 5+(20−1)=24 サイクルである。
エ100
パイプライン処理を行わず,1 命令ずつ 5 サイクルかけて逐次実行した場合のサイクル数(5×20)である。パイプラインでは各ステージが並行して動作する。
検証用の出典出典照合済み
IPA 応用情報技術者試験(レベル 4)シラバス照合の根拠(1 件)
- イ(正解): 命令パイプラインは出題範囲
命令パイプライン,スーパーパイプライン,スーパースカラ
IPA 応用情報技術者試験シラバス Ver.7.2 · 中分類3 コンピュータ構成要素 1. プロセッサ (9) プロセッサの高速化技術(新しいタブで開きます)
検算: 問題文の条件(5 段,各 1 サイクル,停止なし)から,1 命令目は 5 サイクル目に完了し以後 1 サイクルに 1 命令完了するので 5+(20−1)=24。逐次なら 5×20=100,25 は 5+20 の二重計上,20 は充填時間の無視。条件が問題文で定義されている数え上げなので出典不要。