SMITサービスマネージャ試験 午前Ⅱ
平成26年度秋期 ITサービスマネージャ 午前Ⅱ 問19
問題文と選択肢を読んで答えを考えてから、下の「正解と解説を見る」で確認しましょう。
問題
選択肢
- ア演算に必要なデータがそろうまで実行が待たされている命令によって,後続の命令の実行が待たされることを防ぐために,既にデータがそろっている後続の命令があれば,それを先に実行する。
- イ条件分岐命令の判定結果が分かるまで分岐後の命令実行が待たされることを防ぐために,分岐する確率が高い方の命令を先読みして実行する。
- ウ前の命令の演算結果がレジスタに書き込まれるまで次の命令の実行が待たされることを防ぐために,プロセッサ内にバイパス経路を設け,演算結果を演算器に直接入力して次の命令を実行する。
- エレジスタへのアクセスが競合して後続の命令の実行が待たされることを防ぐために,クロックサイクルを細分化し,サイクル前半を書込み,後半を読出しとすることで競合なく命令を実行する。
解き方のヒントを見る
処理順を見極めるための視点
各段階を単独で覚えるのではなく、前後の段階との依存関係と情報の受け渡しに注目し、処理が進む順序を図や時系列で整理してから、各説明がどの位置を指すかを確認しましょう。
この問題で問われていること
一つの観点として、各処理が何を受け取り、どの段階へ結果を渡す関係になっているかを追い、段階名の印象ではなく、全体のつながりが矛盾なく並ぶかを丁寧に確認してください。
視点
処理の流れを考えるときは、各段階の役割を個別に暗記するより、入力と出力のつながり、前後関係、同時に扱われる可能性の有無を整理し、時系列上の位置づけを比較します。
確認ポイント
- 各段階が受け取る情報を確認する
- 前後の依存関係を整理する
- 全体の流れに矛盾がないか見る
正解と解説を見る
正解
ア
解説
パイプラインでは、ある命令の待ちによって後続命令まで停止すると処理効率が低下する。アウトオブオーダ実行は、命令間の依存関係を守りながら、実行可能な命令を順序にとらわれず進める方式です。
理由
アウトオブオーダ実行では、先行命令のデータ待ちなどで実行できない命令があっても、依存関係のない後続命令を先に実行できる。したがって、命令の記述順と実際の実行順が異なることが特徴です。
比較
分岐結果を予測して先読みする対策は分岐予測、演算結果をレジスタ書込み前に直接渡す対策はバイパス、書込みと読出しの時刻を分ける対策はレジスタアクセス競合の回避です。
選択肢ア(正解)
これは正解だよ。演算データ待ちの命令を越えて、準備済みの後続命令を先に実行するのは、命令の並び順に固定されず実行順を入れ替えるアウトオブオーダ実行の説明である。停止要因を避けて実行資源を活用する点が根拠になる。
選択肢イ
これは不正解だよ。分岐結果が確定する前に、分岐先などを予測して命令を先読み・実行する説明であり、分岐予測に該当する。実行待ちの命令を越えてデータ準備済み命令を先に処理する方式そのものではない。
選択肢ウ
これは不正解だよ。前の演算結果をレジスタへ書き戻す前に、後続の演算器へ直接渡すバイパス、つまりフォワーディングの説明である。データ経路を短縮して待ち時間を減らす対策で、命令の実行順を変更するものではない。
選択肢エ
これは不正解だよ。クロックサイクルの前半で書込み、後半で読出しを行うのは、レジスタアクセスのタイミングを分けて競合を避ける対策である。命令を順序外で先に実行する方式ではない。
学習のポイント
ハザードの種類と対策を、実行順・予測・データ経路・アクセス時刻で整理する。
出典:独立行政法人 情報処理推進機構(IPA)平成26年度秋期 ITサービスマネージャ試験 午前Ⅱ 問19(公式資料:問題冊子(PDF) / 解答例)
関連する過去問一覧
IPA Advancedは非公式の学習サイトです。解説にはAIによる補助生成を含む場合があります。公式の問題冊子・解答例・採点講評を優先し、誤りは確認後に訂正します。運営・編集方針