【正解の解説】
パイプライン処理は、1つの命令が完了するまでの時間(レイテンシ)自体を短縮する技術であり、ステージ数を増やすほど個別の命令も高速に完了するようになる。
工場で車を組み立てる際、分業によって全体の生産数は増えますが、車1台がラインを通り抜けて完成するまでの時間(レイテンシ)自体は、かえって長くなるかほぼ変わりません。パイプラインは個々の命令を速くするのではなく、ベルトコンベアのように複数の命令を同時に少しずつ進めることで、全体としてたくさんの仕事をこなす技術だからです。
【その他の選択肢の解説】
パイプライン処理は、複数の命令を並行して実行することで全体のスループットを向上させる技術であり、各ステージの処理時間が均等であるほど効率が高まる。
これはパイプライン処理のまさに正しい基本原理を述べています。飲食店で例えるなら、注文・調理・会計をそれぞれ別の担当者が分担するようなもので、どの工程も同じ時間で終わるように設計するのが最も効率的です。もし特定の工程だけ時間がかかると、そこで大渋滞が起きて全体の効率がガクッと落ちてしまいます。
パイプライン処理は、命令の依存関係によって発生するハザードを回避するために、必要に応じてノーオペレーション命令を挿入して実行順序を調整することがある。
前の計算結果が出ていないと次の計算ができないという「前の人のバトンタッチ待ち」のような状況をデータハザードと呼びます。これを解決するために、CPUはわざと何もしない時間(ノーオペレーション)を挟んでタイミングを合わせる必要があり、この仕組みに関する記述は完全に正しいものとなります。
パイプライン処理は、先行する命令の実行結果が確定するまで後続の命令の実行を一時停止させる制御を行うことで、データの競合や矛盾を確実に防止する仕組みである。
前の人の結果が分からないと仕事が進められない場合に、見切り発車して大失敗するのを防ぐために、あえて立ち止まって待つ「ストール(泡立て器を止めるような一時停止)」と呼ばれる重要な制御機構についての正しい説明です。衝突を防ぐための安全装置として、パイプラインにはなくてはならない仕組みです。