エンベデッドシステムスペシャリスト 2025年 午前2 問02
問題文
パイプラインの性能を向上させるための技法の一つで、分岐条件の結果が決定する前に、分岐先を予測して命令を実行するものはどれか。
選択肢
ア:アウトオブオーダー実行
イ:遅延分岐
ウ:投機実行(正解)
エ:レジスタリネーミング
🔒 解説は解答すると表示されます
投機実行【午前2解説】
正解の理由
分岐命令の条件が確定する前に分岐先を予測し、その先の命令を先行して実行する技法を投機実行といいます。予測が当たれば処理を続けられるため、分岐によるパイプラインの停止を減らし、性能を向上できます。
設問の説明に当てはまるのは、ウの投機実行です。予測が外れた場合は、予測に基づいて実行した命令の結果を破棄し、正しい分岐先から実行し直します。
解法ステップ
- 設問の「分岐条件の結果が決定する前」という部分に注目します。
- 分岐結果が出る前に、分岐先を予測して命令を実行する処理を探します。
- この処理を指す用語は投機実行です。
選択肢別の誤答解説
-
ア:アウトオブオーダー実行
命令の記述順ではなく、実行可能になった順に処理する技法です。分岐先を予測して先行実行すること自体を指す用語ではありません。 -
イ:遅延分岐
分岐命令の直後にある命令(遅延スロット)を活用し、分岐による性能低下を抑える方式です。分岐先を予測して命令を実行する技法とは異なります。 -
ウ:投機実行
分岐結果が確定する前に分岐先を予測して命令を実行する技法です。設問の説明に該当します。 -
エ:レジスタリネーミング
論理レジスタと物理レジスタの対応を付け替え、見かけ上同じレジスタを使う命令同士の不要な依存関係を解消する技法です。
よくある誤解
-
分岐予測と投機実行を同じものと考える
分岐予測は「どちらへ進むかを予測する」こと、投機実行は「その予測に基づいて命令を先行実行する」ことです。 -
予測が外れても実行結果がそのまま確定すると考える
予測が外れた場合、誤った経路で得た結果は破棄され、正しい経路から処理を再開します。 -
アウトオブオーダー実行と混同する
アウトオブオーダー実行は命令の実行順序を調整する技法であり、分岐先の予測を指すものではありません。
補足コラム
パイプラインでは、分岐命令の条件が判明するまで後続の命令を実行できず、処理が滞ることがあります。投機実行は、分岐結果を待たずに処理を進めることで、この待ち時間を抑えます。性能向上の効果は、分岐予測が当たるほど大きくなります。
FAQ
Q. 投機実行と分岐予測はどう違いますか?
A. 分岐予測は分岐先を予想する仕組みで、投機実行はその予測先の命令を実際に先行実行する技法です。
A. 分岐予測は分岐先を予想する仕組みで、投機実行はその予測先の命令を実際に先行実行する技法です。
Q. 予測が外れた場合、処理はどうなりますか?
A. 予測に基づいて実行した命令の結果を破棄し、正しい分岐先から処理を再開します。
A. 予測に基づいて実行した命令の結果を破棄し、正しい分岐先から処理を再開します。
関連キーワード: 分岐予測、パイプライン、アウトオブオーダー実行、遅延分岐、レジスタリネーミング

\ せっかくなら /
エンベデッドシステムスペシャリストを
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

