投機実行とは?とうきじっこう
投機実行とは、条件分岐の成否が確定する前に、予測した側の命令列を先に実行しておく高速化手法。確定を待つとパイプラインに空きが生じるため、当たれば止まらずに進み、外れたときだけ投機した結果を破棄してやり直す。的中率が高いほど平均CPIが下がるという損得の見積りの上に成り立っている。
最終更新:2026-10-06
この語が出る過去問を解く →背景
パイプラインを深くするほど1段あたりの仕事が減って周波数を上げられるが、分岐が来るたびに次のアドレスが決まらず段が埋まらない(制御ハザード)。分岐は数命令に1回の割合で現れるので、確定を待つ設計では深いパイプラインの利点が消えてしまう。投機実行は、分岐がたいてい同じ側へ倒れるという統計的な性質を性能へ変換する仕組みである。
具体例
ループ末尾の分岐は成立すると予測すればほぼ当たるため、Intel CoreやArm Cortex-Aのような高性能プロセッサは分岐履歴を保持する予測器を持ち、次の反復の命令を先に流し込む。外れた場合はパイプラインをフラッシュし、正しい側の命令から流し直すことになる。
試験での引っ掛け
予測が外れたときのペナルティはパイプラインの段数にほぼ比例するので、深いパイプラインほど的中率が性能を左右する。実行時間がばらつくため、応答時間の上限を保証したいリアルタイム制御では無効にする判断もある。命令やデータを先に読み込んでおくだけのプリフェッチとは別物である。
関連用語
出た過去問
出典:令和5年度 秋期 応用情報技術者試験 午前 問9(IPA)
パイプラインの性能を向上させるための技法の一つで、分岐条件の結果が決定する前に、分岐先を予測して命令を実行するものはどれか。
正解:投機実行
要点:投機実行は分岐確定前に予測先の命令を先行実行する
投機実行は、分岐命令の条件が確定する前に分岐先を予測し、その先の命令を先行して実行する技法である。予測が当たればパイプラインの空きを作らずに済み、外れた場合は実行結果を破棄してやり直す。分岐によるパイプラインハザード(命令の流れが止まり効率が落ちる事象)の影響を減らすための代表的な手法である。
出典・参考
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。