基本情報技術者試験「パイプライン処理」の問題
CPUのパイプライン処理において、分岐命令の成立により後続命令のフェッチをやり直す必要が生じる事象を指す用語はどれか。
ア構造ハザード
イデータハザード
ウ制御(分岐)ハザード
エパイプラインバブルの恒常的滞留
正解
ウ.制御(分岐)ハザード
分岐命令が成立すると、すでにパイプラインへ取り込んでいた後続命令は無効となり破棄して取り直す。この分岐に起因する乱れが制御ハザード(分岐ハザード)であり正しい。
?選択肢ごとの解説
ア ×構造ハザードは同一の演算器やメモリポートを複数段が同時に使おうとして競合する事象であり、分岐とは原因が異なる。
イ ×データハザードは前の命令の結果を後の命令が待つ依存関係による乱れであり、分岐ではなく演算結果の依存が原因である。
ウ ○分岐命令が成立すると、すでにパイプラインへ取り込んでいた後続命令は無効となり破棄して取り直す。この分岐に起因する乱れが制御ハザード(分岐ハザード)であり正しい。
エ ×バブルは段の空きを埋める待機を指す一般語であり、分岐固有の事象を表す正式な分類名ではない。
✎くわしく
パイプラインハザードは構造・データ・制御の3種に分類される。制御ハザードは分岐先確定までフェッチ対象が定まらないために生じ、分岐予測や遅延分岐で緩和する。原因の所在(資源競合・データ依存・分岐)で見分けるのが要点である。
✓本番での押さえどころ
試験のコツ
設問のキーワードで判定する。『資源の取り合い=構造』『前命令の結果に依存=データ』『分岐で乱れる=制御』。
覚え方
制御=流れの『進路変更』。分岐で進路が変わり先読みが無駄になる、と道路のイメージで覚える。
よくある誤り
データハザードと制御ハザードを混同しやすい。『結果待ち=データ』『分岐で取り直し=制御』と原因で切り分ける。
コンピュータ構成要素の他の問題
この問題を、AIの8-ways解説つきで。
無料ではじめる →基本情報技術者試験の演習を、一問ごとに「なぜ」まで。まずは無料で。
ukamiru 過去問 · 基本情報技術者試験 · fe-a3-0037