パイプラインハザードとは?ぱいぷらいんはざーど
パイプラインハザードとは、パイプラインの流れが乱れて待ち(ストール)が生じる要因の総称で、先行命令の結果を後続が使うデータハザード、分岐先が確定しない制御ハザード、同じハードウェア資源が競合する構造ハザードに分けられる。分岐予測が外れたときのペナルティは段数にほぼ比例するため、最悪実行時間を見積る際の材料になる。
最終更新:2026-10-06
この語が出る過去問を解く →背景
パイプラインは、次の命令が前の命令と無関係であるという理想の上でだけ1ピッチ1命令を達成する。実際のコードは直前の計算結果を使い、条件によって行き先を変えるため、理想はすぐに崩れる。崩れ方を三つに類型化し、それぞれへ対策(フォワーディング、分岐予測、資源の複製)を当てるという整理の仕方そのものが、この語の中身になっている。
具体例
直前の加算結果を次の命令が参照する場合、書戻しを待たずに演算結果を後続へ直接回すフォワーディング(バイパス)で待ちを減らす。制御ハザードには分岐予測や遅延分岐が当たり、分岐予測を持たない浅いコアでは、そもそも分岐を減らす書き方が効いてくる。
試験での引っ掛け
データハザードはキャッシュ一貫性の話ではない——複数プロセッサ間の整合はコヒーレンシの問題であり、別物として選択肢に並ぶ。フォワーディングも万能ではなく、ロード命令の直後にその結果を使う場合は1サイクルの待ちが残る点が問われる。
関連用語
出た過去問
出典:令和3年度 秋期 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問1(IPA)
パイプラインハザード対策に関する記述のうち、アウトオブオーダ実行方式を用いたものはどれか。
正解:演算に必要なデータがそろうまで実行が待たされている命令によって、後続の命令の実行が待たされることを防ぐために、既にデータがそろっている後続の命令があれば、それを先に実行する。
要点:アウトオブオーダ実行は準備できた命令から順に実行する
アウトオブオーダ実行は、命令をプログラム順に縛られず、オペランドがそろって実行可能になった命令から順に演算器へ投入する方式である。これにより、データ待ちで止まっている命令の後ろに並ぶ、実行可能な命令までもが待たされる事態を避けられる。結果は最終的に元の順序に戻して確定させるため、プログラムの意味は変わらない。
出典:令和5年度 秋期 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問3(IPA)
パイプラインの深さをD、パイプラインピッチをP秒とすると、I個の命令をパイプラインで実行するのに要する時間を表す式はどれか。ここで、パイプラインは1本だけとし、…
正解:(I+D-1)×P
要点:パイプラインの所要時間は(I+D-1)×ピッチ
パイプラインでは、最初の命令が全Dステージを通過し終えるまでにDピッチかかり、その後は1ピッチごとに1命令ずつ完了する。残るI-1命令はI-1ピッチで流れ出るので、総所要時間は(D+I-1)ピッチ、すなわち(I+D-1)×P秒となる。
出典:令和7年度 秋期 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問1(IPA)
パイプラインの深さをD、パイプラインピッチをP秒とすると、I個の命令をパイプラインで実行するのに要する時間を表す式はどれか。ここで、パイプラインは1本だけとし、…
正解:(I+D-1)×P
要点:パイプラインの所要時間は(I+D-1)×ピッチ
パイプラインでは、先頭の命令が全Dステージを通り抜けるのにDピッチかかり、以降は1ピッチごとに1命令ずつ完了していく。残るI-1個の命令はI-1ピッチで流れ出るので、合計は(D+I-1)ピッチ、すなわち(I+D-1)×P秒となる。
出典・参考
高度試験 午前I(高度午前I 相当)のシラバスの2 コンピュータシステム > 1. プロセッサ > (9) プロセッサの高速化技術に掲載されている用語です。
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。