DBデータベーススペシャリスト試験 午前Ⅰ

令和5年度秋期 データベーススペシャリスト 午前Ⅰ 問4

問題文と選択肢を読んで答えを考えてから、下の「正解と解説を見る」で確認しましょう。

問題

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

選択肢

  1. ア
    アウトオブオーダー実行
  2. イ
    遅延分岐
  3. ウ
    投機実行
  4. エ
    レジスタリネーミング
解き方のヒントを見る

性能向上技法を見分ける着眼点

複数の性能向上技法を区別するときは、名称や印象で判断せず、処理のどの段階に働きかけ、何を対象として改善しようとしているかという一つの観点で整理しましょう。最後に問題文の条件と説明の中心を照らし合わせます。

この問題で問われていること

各説明について、性能を高めるために着目している対象がどこかを読み取り、その対象への働きかけが問題文の状況と整合するかだけを丁寧に確認してください。具体的な名称の暗記より、説明の焦点を見極めることを優先します。

視点

性能向上の説明は、処理の流れや資源の使い方を細かく覚える前に、説明の中心となる対象を一つ見定めると整理しやすくなります。その対象と問題文の条件との対応だけを確認しましょう。

確認ポイント

  • 説明の中心が、処理のどの対象に置かれているかを確認する。
  • 名称の印象ではなく、対象への働きかけを短く整理する。
  • 問題文の条件と説明の焦点が整合しているかを見直す。
正解と解説を見る

正解

ウ

解説

分岐条件の結果が確定する前に分岐先を予測し、その予測に基づいて命令を先行実行する技法は投機実行です。予測が外れた場合は、実行結果を破棄して正しい経路へ戻す。

理由

投機実行は、分岐条件の結果がまだ確定していない段階で、予測した分岐先の命令を先に実行する。予測が正しければ分岐による待ち時間を減らせるため、パイプラインの性能向上につながる。

比較

アウトオブオーダー実行は命令の完了可能な順に実行する仕組み、遅延分岐は分岐後の命令スロットを活用する方式、レジスタリネーミングはレジスタの依存関係を解消する方式であり、分岐先を予測して先行実行する技法とは異なる。

選択肢ア

これは不正解だよ。アウトオブオーダー実行は、命令をプログラム上の記述順ではなく、実行可能になった順に処理する技法である。分岐結果が確定する前に分岐先を予測し、その命令を先行実行すること自体を直接示す用語ではない。

選択肢イ

これは不正解だよ。遅延分岐は、分岐命令の直後にある命令を分岐結果にかかわらず実行するなど、分岐による遅延を隠す方式である。分岐先を予測して命令を実行する技法とは目的や仕組みが異なる。

選択肢ウ(正解)

これは正解だよ。投機実行は、分岐条件の結果が確定する前に分岐先を予測し、予測した経路の命令を先行して実行する技法である。予測が的中すればパイプラインの停止を減らせ、外れた場合は不要な実行結果を破棄する。

選択肢エ

これは不正解だよ。レジスタリネーミングは、同じレジスタ名の再利用によって生じる見かけ上の依存関係を別の物理レジスタへ割り当て直して解消する技法である。分岐先を予測して命令を先行実行する処理を指すものではない。

学習のポイント

投機実行と、命令順序やレジスタ名を扱う別の高速化技法を区別する。

出典:独立行政法人 情報処理推進機構(IPA)令和5年度秋期 データベーススペシャリスト試験 午前Ⅰ 問4(公式資料:問題冊子(PDF) / 解答例)

関連する過去問一覧

IPA Advancedは非公式の学習サイトです。解説にはAIによる補助生成を含む場合があります。公式の問題冊子・解答例・採点講評を優先し、誤りは確認後に訂正します。運営・編集方針