スポンサーリンク

問題の解答・解説ページ

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

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

【正解の解説】

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

工場で車を組み立てる際、工程を細かく分けると全体の生産スピードは上がりますが、ネジを1本締める作業そのものの時間が短くなるわけではないのと同じです。パイプライン処理は、全体の効率やスループットを向上させる仕組みであり、個々の命令の実行時間自体を縮めるものではないため、この選択肢が不適切となります。

スポンサーリンク

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

パイプライン処理は各ステージの処理時間を均等に分割してオーバーラップさせるため、理想的にはクロックごとに1命令を完了させることが可能になる。

この記述はパイプライン処理の基本的な動作原理を正しく説明しています。まるで工場の流れ作業のように、次の工程へ次々と物を送ることで、無駄な待ち時間をなくして効率よく処理を進める理想的な状態を表しており、試験でもよく問われる正しい知識です。

パイプライン処理では前後の命令間にデータ依存関係が存在する場合でも、ハードウェア機構によってその影響が完全に相殺されるため性能低下は生じない。

料理のレシピで「スープを温めてから器に盛る」という順番が絶対なのと同様に、前の計算結果が出ないと次の計算ができないデータ依存関係が発生すると、CPUは待たざるを得なくなります。これを「ハザード」と呼び、ハードウェアの工夫や工夫があっても性能低下が完全に防げるわけではないため注意が必要です。

パイプライン処理はすべてのステージが同一の機能を持つハードウェアで構成されるため、実行する命令の種類が変わってもステージごとの処理時間は変動しない。

車作りの工場に例えると、ボディを組み立てる工程と、タイヤを塗装する工程では必要な時間も使う機械も全く異なります。CPUのパイプラインも同様に、命令を読み取るステージや実際に計算するステージなど役割が分業されているため、ステージごとに処理時間や中身は大きく異なります。