投機実行とは?とうきじっこう
投機実行とは、分岐の成否が確定する前に、予測した側の命令列を先に実行しておく手法。当たればパイプラインに空きが生じずそのまま続行でき、外れた場合は投機的に進めた結果を捨てて正しい側から流し直す。分岐が多いコードで、かつパイプラインの段数が深いほど効き方が大きくなる。
最終更新:2026-10-06
この語が出る過去問を解く →背景
パイプラインは分岐命令に当たるたび、行き先が決まるまで次の命令を入れられない。段数が深いほどこの空白は大きく、分岐が数命令に1回現れる普通のコードでは無視できない損失になる。「先に始めて、外れたら捨てる」という賭けを成立させたのが分岐予測と投機実行で、予測精度がそのまま性能を決める。
具体例
ループ末尾の後方分岐は「成立する」と予測しておけば大半が当たる。Arm Cortex-A系やインテルのプロセッサは分岐履歴表を持ち、過去の成否から次を予測して命令の先読みを続ける。外れるとパイプラインを捨てて数十サイクルを失う。
試験での引っ掛け
予測ミス時にはパイプラインをフラッシュするため損失が大きく、的中率が数%落ちるだけで実効性能が目に見えて下がる。実時間性の観点では、同じコードでも実行時間が入力データによってばらつく要因になり、最悪実行時間の見積りを難しくする点が組込みでは効いてくる。
関連用語
出た過去問
出典:令和7年度 秋期 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問2(IPA)
パイプラインの性能を向上させるための技法の一つで、分岐条件の結果が決定する前に、分岐先を予測して命令を実行するものはどれか。
正解:投機実行
要点:投機実行は分岐結果の確定前に予測先を先行実行する
投機実行は、分岐条件の判定が確定する前に分岐先を予測し、その先の命令を先行して実行してしまう技法である。予測が当たればパイプラインを止めずに済み、外れた場合は先行実行の結果を破棄してやり直す。分岐によるパイプラインの乱れ(制御ハザード)を軽減する代表的な手法である。
出典・参考
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。