スポンサーリンク

問題の解答・解説ページ

このページは解説の閲覧モードです。
実力試しをしたい方は、下のボタンからクイズに挑戦してください!

この問題をクイズ形式で解く
問題 No.2658
CPUのパイプライン処理に関する記述として不適切なものはどれか。

【正解の解説】

パイプラインのステージ数を極端に増やしすぎると、各ステージ間の制御やデータ転送に伴うオーバーヘッドの割合が増加し、逆に全体の処理効率が低下することがある。

工場で作業工程を細かく分けすぎると、部品の受け渡しや連絡の手間(オーバーヘッド)が増えて逆に全体が遅くなるのと同じ現象です。パイプラインも極端に分割すると、各ステップ間の荷物運びのロスが大きくなり効率が落ちてしまいます。

スポンサーリンク

【その他の選択肢の解説】

パイプライン処理において特定の命令が前の命令の実行結果を待つ必要がある場合、データハザードが発生して実行効率が一時的に低下することがある。

これはパイプライン処理における代表的な弱点の一つです。例えば「料理Aの完成を待たないと料理Bの味付けが決まらない」という状況のように、前の結果を次の命令が待たざるを得ない場面では、CPUが少しの間立ち止まるロスが発生します。

パイプラインの各ステージの処理時間を均等に分割できない場合、最も処理時間が長いステージが全体のボトルネックとなり性能が制限されることがある。

ベルトコンベア作業で一人だけ極端に作業が遅い人がいると、その人のところで全体が詰まってしまうのと同じです。いくら他の工程を高速化しても、一番時間がかかるステージのペースに全体が引っ張られてしまう現象を指しています。

パイプライン処理は複数の命令を同時に完全に並行して実行するため、ステージ数が増加すればするほど命令ごとの実行時間が一律に短縮される。

これは初学者が最も陥りやすい大きな誤解です。パイプライン処理は「全体としてたくさんの命令を効率よく次々にこなす(スループットの向上)」仕組みであり、1つの命令がゴールにたどり着くまでの時間(レイテンシ)自体は、むしろステージが増えることで少し長くなることもあります。