令和7年度 秋期 午前Ⅱ 問2
プロセッサ
パイプラインに関する問題
パイプラインの性能を向上させるための技法の一つで,分岐条件の結果が決定する前に,分岐先を予測して命令を実行するものはどれか。
- アアウトオブオーダー実行
- イ遅延分岐
- ウ投機実行
- エレジスタリネーミング
答えと解説を見る
✓ これが正解ウ投機実行
解説
分岐先を予測して先に命令を実行する技法は投機実行です。
見分ける軸は、分岐の結果が決まる前に、予測を頼りに先へ進むかどうかです。投機実行は、分岐条件の判定を待たずに分岐先を予測し、その先の命令を実行しておく技法です。予測が当たればそのまま結果を使えるので、パイプラインの停止を減らせます。予測が外れた場合は、先に実行した結果を取り消して正しい分岐先からやり直します。設問の、分岐条件の結果が決定する前に分岐先を予測して命令を実行するという説明は、この動きと一致します。予測して先回りするという語感を投機という言葉に結び付けておくと、ほかの高速化技法と区別しやすくなります。
ほかの選択肢はなぜ違うのか
- アアウトオブオーダー実行:アウトオブオーダー実行は、依存関係のない後続の命令を、プログラムに書かれた順序にこだわらず先に実行する技法です。並べ替えるのは命令の実行順であり、分岐先を予測して進むことを中心とした技法ではありません。
- イ遅延分岐:遅延分岐は、分岐命令の直後に置いた命令を、分岐するかどうかにかかわらず実行する方式です。分岐先を予測するのではなく、分岐で生じる空き時間を直後の命令で埋めるという考え方です。
- エレジスタリネーミング:レジスタリネーミングは、プログラム上は同じレジスタを使う命令どうしに別の物理レジスタを割り当て、見かけ上の依存をなくす技法です。分岐の結果を予測する仕組みではありません。
出典:令和7年度 秋期 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問2
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)