戦国IT - 情報処理技術者試験の過去問対策サイト
お知らせお問い合わせ料金プラン

応用情報技術者 2013年 春期 午前210


問題文

CPUのパイプラインハザードのうち、制御ハザードの発生原因として、適切なものはどれか。

選択肢

キャッシュミス
先行する命令の結果に依存する演算命令
ハードウェア資源の競合
分岐命令(正解)

CPUのパイプラインハザードのうち、制御ハザードの発生原因【午前2 解説】

要点まとめ

  • 結論:制御ハザードは主に分岐命令によって発生し、次に実行すべき命令の決定が遅れることが原因です。
  • 根拠:分岐命令の結果が確定するまで、パイプラインは正しい命令を確定できず、誤った命令をフェッチする可能性があります。
  • 差がつくポイント:制御ハザードとデータハザード、構造ハザードの違いを明確に理解し、分岐命令が制御ハザードの代表例であることを押さえることです。

正解の理由

制御ハザードは、プログラムの制御の流れを変える命令、特に分岐命令が原因で発生します。分岐命令の結果が判明するまで、次に実行すべき命令のアドレスが確定しないため、パイプラインは正しい命令を読み込めず、誤った命令の実行や無駄な処理が発生します。これが制御ハザードの本質であり、選択肢の中で分岐命令(エ)が該当します。

よくある誤解

キャッシュミスやハードウェア資源の競合は制御ハザードではなく、それぞれメモリアクセス遅延や構造ハザードの原因です。データ依存はデータハザードに分類されます。

解法ステップ

  1. パイプラインハザードの種類を確認する(制御、データ、構造)。
  2. 制御ハザードの定義を理解する(制御の流れの不確定性による遅延)。
  3. 各選択肢の原因をハザードの種類に当てはめる。
  4. 分岐命令が制御ハザードの典型例であることを確認。
  5. 正解を選択肢エと判断する。

選択肢別の誤答解説

  • ア: キャッシュミスはメモリアクセスの遅延であり、制御ハザードではなくメモリ関連の遅延問題です。
  • イ: 先行命令の結果に依存する演算命令はデータハザードの原因であり、制御ハザードとは異なります。
  • ウ: ハードウェア資源の競合は構造ハザードの原因で、制御ハザードとは区別されます。
  • エ: 分岐命令は制御の流れを変えるため、制御ハザードの典型的な原因です。

補足コラム

制御ハザードを軽減するために、分岐予測や遅延分岐といった技術が用いられます。分岐予測は分岐の結果を予測して先読みし、パイプラインの停止を減らす手法です。これによりCPUの性能向上が図られています。

FAQ

Q: 制御ハザードとデータハザードの違いは何ですか?
A: 制御ハザードは分岐命令など制御の流れの不確定性による遅延、データハザードは命令間のデータ依存による遅延です。
Q: キャッシュミスはパイプラインハザードに含まれますか?
A: キャッシュミスはパイプラインの遅延要因ですが、制御・データ・構造ハザードのいずれにも分類されず、メモリアクセス遅延として扱われます。

関連キーワード: パイプラインハザード、制御ハザード、分岐命令、データハザード、構造ハザード
← 前の問題へ次の問題へ →
戦国ITクイズ機能

\ せっかくなら /

応用情報技術者
クイズ形式で学習しませんか?

クイズ画面へ遷移する

すぐに利用可能!

©︎2026 情報処理技術者試験対策アプリ

このサイトについてプライバシーポリシー利用規約特商法表記開発者について