分岐先を予測して命令を先に実行する投機実行

投機実行(Speculative Execution)は,条件分岐命令において分岐判定が確定する前に,分岐予測機構などによって予測された分岐先の命令を先回りしてパイプラインで実行する技術です。 予測が当たった場合はパイプラインの停止(ストール)を回避でき,予測が外れた場合は投機実行した結果を破棄して正しい分岐先の処理をやり直します。したがって正解はウとなります。 各選択肢の解説は以下のとおりです。 アウトオブオーダー実行は,プログラムの命令順序に関わらず,データ依存関係のない実行準備が整った命令から順不同に先行実行する技術です。 遅延分岐は,分岐命令の直後のスロット(遅延スロット)にある命令を分岐の成否に関わらず必ず実行させることで,パイプラインの空きを防ぐ技術です。 レジスタリネーミングは,プログラム上の論理レジスタを物理レジスタに動的にマッピングし直し,見かけ上のデータ依存(逆依存や出力依存)を解消する技術です。

パイプラインの性能を向上させるための技法の一つで,分岐条件の結果が決定する前に,分岐先を予測して命令を実行するものはどれか。

出典令和5年度 秋期 応用情報技術者試験 午前 問9
ア
アウトオブオーダー実行
イ
遅延分岐
ウ
投機実行
エ
レジスタリネーミング