平成26年度 秋期 午前 問7
コンピュータ構成要素
パイプラインに関する問題
パイプライン方式のプロセッサにおいて,パイプラインが分岐先の命令を取得するときに起こるハザードはどれか。
- ア構造ハザード
- イ資源ハザード
- ウ制御ハザード
- エデータハザード
答えと解説を見る
✓ これが正解ウ制御ハザード
解説
分岐は行き先が決まらないための詰まりです。
パイプラインが詰まる原因は、装置が足りないのか、前の命令が作る値を待っているのか、次にどの命令を実行するかが決まらないのか、という三つのどれかに落とせます。設問が示しているのは、分岐先の命令を取得するときという場面ですから、三つ目の行き先が定まらない形に当たり、これを制御ハザードと呼びます。なぜここで止まるのかを追うと仕組みが見えます。パイプラインは、次に実行するのはアドレスの順で次の命令だろうと見込んで、前の命令が終わる前に取り込みを始めます。ところが分岐命令は、条件を評価し終えるまでどちらへ進むかが確定しません。そのため見込みで取り込んだ命令が外れていれば、それを捨てて正しい側から取り直すことになり、その捨てた分だけ流れが途切れます。分岐予測や遅延分岐といった手当てが用意されているのは、この途切れを小さくするためです。
ほかの選択肢はなぜ違うのか
- ア構造ハザード:こちらは装置の数が足りないために同時に進めない形を指します。一つしかない演算器や記憶への出入口を二つの命令が同じ時点で使おうとする場面であって、どこへ進むかが決まらないという話ではありません。
- イ資源ハザード:この語は装置の取り合いを指し、上の構造という呼び方の別名として使われることがあります。同じ原因を言い換えたものである以上、分岐先を取りに行く場面の説明にはなりません。
- エデータハザード:こちらは前の命令が書き込む値を次の命令が待つ形です。分岐の条件を計算し終えるのを待つ場面と混ざりやすいのですが、設問が問うているのは取ってくる先そのものが定まらないことです。
出典:平成26年度 秋期 応用情報技術者試験 午前 問7
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)