応用情報技術者 2014年 秋期 午前2 問07
問題文
パイプライン方式のプロセッサにおいて、パイプラインが分岐先の命令を取得するときに起こるハザードはどれか。
選択肢
ア:構造ハザード
イ:資源ハザード
ウ:制御ハザード(正解)
エ:データハザード
パイプライン方式のプロセッサにおける分岐命令のハザード【午前2 解説】
要点まとめ
- 結論:分岐命令の処理時に起こるハザードは「制御ハザード」である。
- 根拠:分岐命令の結果により次に実行すべき命令が変わるため、パイプラインの命令取得が不確定になる。
- 差がつくポイント:分岐予測や分岐遅延スロットなどの制御ハザード対策を理解しているかが重要。
正解の理由
パイプライン方式では複数の命令を同時に処理しますが、分岐命令の結果が確定するまで次に取得すべき命令が不明確になります。これにより、誤った命令を取得・実行するリスクが生じるため、これを「制御ハザード」と呼びます。選択肢の中で分岐に関連するハザードは「制御ハザード」だけであり、正解はウです。
よくある誤解
「資源ハザード」と「構造ハザード」を混同しやすいですが、これらはハードウェア資源の競合に関する問題であり、分岐命令の制御の問題とは異なります。
解法ステップ
- パイプライン方式の基本動作を理解する。
- ハザードの種類(構造、資源、制御、データ)を整理する。
- 分岐命令が関係するハザードはどれかを考える。
- 分岐命令の結果が確定するまでの命令取得の問題が「制御ハザード」であると判断する。
選択肢別の誤答解説
- ア: 構造ハザード
ハードウェア資源の競合による遅延であり、分岐命令の制御問題とは無関係です。 - イ: 資源ハザード
「構造ハザード」と同義で、資源の競合が原因のハザードです。 - ウ: 制御ハザード
分岐命令の結果が確定するまで次の命令取得が不確定になる問題で正解です。 - エ: データハザード
命令間のデータ依存による遅延であり、分岐命令の制御問題とは異なります。
補足コラム
制御ハザードはパイプラインの性能を大きく左右するため、分岐予測(ブランチ予測)や分岐遅延スロットなどの技術で対策されます。これにより誤った命令の取得を減らし、パイプラインの効率を向上させています。
FAQ
Q: 制御ハザードとデータハザードの違いは何ですか?
A: 制御ハザードは分岐命令の結果による命令取得の不確定性、データハザードは命令間のデータ依存による遅延です。
A: 制御ハザードは分岐命令の結果による命令取得の不確定性、データハザードは命令間のデータ依存による遅延です。
Q: 構造ハザードと資源ハザードは同じ意味ですか?
A: はい。どちらもハードウェア資源の競合による遅延を指します。
A: はい。どちらもハードウェア資源の競合による遅延を指します。
関連キーワード: パイプライン、制御ハザード、分岐命令、ブランチ予測、データハザード、構造ハザード

\ せっかくなら /
応用情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

