令和5年度秋期 応用情報技術者試験 午前 問9
パイプラインの性能を向上させるための技法の一つで,分岐条件の結果が決定する前に,分岐先を予測して命令を実行するものはどれか。
- ア アウトオブオーダー実行
- イ 遅延分岐
- ウ 投機実行
- エ レジスタリネーミング
解答・解説を見る
正解:ウ
AI解説
投機実行(スペキュレイティブ実行)は、分岐命令の条件結果が確定する前に、予測した分岐先の命令を先行して実行しておく技法であり、予測が外れた場合は実行結果を破棄してやり直すことでパイプラインの停止(ストール)を減らし性能を向上させる。 ア: アウトオブオーダー実行は、プログラム上の命令順序によらず、依存関係のない命令を実行可能になり次第実行することで演算資源の空きを減らす技法であり、分岐予測に基づく先行実行とは異なる。 イ: 遅延分岐は、分岐命令の直後に実行される遅延スロットの命令を、分岐結果によらず必ず実行する(コンパイラがスケジューリングする)方式であり、分岐先を予測して実行する投機実行とは異なる。 ウ: 分岐条件の結果が決定する前に分岐先を予測して命令を実行する技法であり、投機実行の説明として正解である。 エ: レジスタリネーミングは、名前上の依存(偽の依存関係)を解消するために物理レジスタを動的に割り当て直す技法であり、分岐予測とは異なる目的の技法である。 💡 「分岐予測+先行実行」という組合せが投機実行のキーワードであり、予測が外れたときにパイプラインをフラッシュしてやり直す点まで押さえておくと関連問題にも対応しやすい。
出典:令和5年度 秋期 応用情報技術者試験 午前 問9 / 独立行政法人情報処理推進機構(IPA)
※Web掲載用に表記を一部変更しています。著作権はIPAに帰属します。
※Web掲載用に表記を一部変更しています。著作権はIPAに帰属します。