基本情報技術者 2010年 秋期 午前(科目A) 問10
問題文
パイプライン制御の特徴はどれか。
選択肢
ア:複数の命令を同時に実行するために、コンパイラが目的プログラムを生成する段階で、それぞれの命令がどの演算器を使うかをあらかじめ割り振る。
イ:命令が実行される段階で、どの演算器を使うかを動的に決めながら、複数の命令を同時に実行する。
ウ:命令の処理をプロセッサ内で複数のステージに細分化し、複数の命令を並列に実行する。(正解)
エ:命令を更に細かなマイクロ命令の組合せで実行する。
パイプライン制御の特徴【午前2 解説】
要点まとめ
- 結論: パイプラインは命令処理を複数のステージに細分化し、異なる命令を同時に並列実行してスループットを向上させます。
- 根拠: 各ステージを独立に動作させパイプラインレジスタで区切るため、命令の各段階を重ねて実行できる点が並列化の技術的基盤です。
- 差がつくポイント: 「ステージ分割」と「ハザード(データ・制御・構造)対策(フォワーディングや分岐予測)」の概念理解が正答を分けます。
正解の理由
正解は ウ です。パイプライン制御とは、命令の処理をプロセッサ内で複数の段階(例: フェッチ→デコード→実行→メモリ→ライトバック)に細分化し、各段階を独立に動かして複数命令を同時に進行させる方式を指します。これによりスループット(単位時間あたりの完了命令数)が増加します。命令単体のレイテンシは変わらないか増えることもありますが、全体の処理効率が向上する点が本質です。
よくある誤解
- 「コンパイラがあらかじめ演算器割り当てする」はパイプラインではなくVLIWなどの静的スケジューリングと混同している誤解です。
- 「実行時に演算器を動的に決める」はスーパースカラーやアウトオブオーダ実行の説明で、パイプラインとは別概念です。
- 「命令をマイクロ命令の組合せで実行する」はマイクロプログラミング(制御メモリの使用)で、パイプラインそのものの説明ではありません。
解法ステップ
- 問題文のキーワードを探す:「ステージに細分化」「並列に実行」などの語がパイプラインの直接的表現です。
- 各選択肢と用語対応を確認:コンパイラ割当→VLIW(静的)、動的決定→スーパースカラー/アウトオブオーダ、マイクロ命令→マイクロプログラミング。
- パイプラインの定義に合致する選択肢を選ぶ:命令処理をステージ分けして重ねて実行するものが正答です。
- 選択肢を除外して確信度を上げる:残りが他概念の説明なら正答確定。
選択肢別の誤答解説
- ア: 複数の命令を同時に実行するためにコンパイラが各命令の演算器をあらかじめ割り振る。
- 解説: これはVLIW(Very Long Instruction Word)や静的スケジューリングの説明に相当します。パイプラインの定義とは異なります。
- イ: 命令が実行される段階で、どの演算器を使うかを動的に決めながら複数命令を同時に実行する。
- 解説: これはスーパースカラーやアウトオブオーダ実行(dynamic scheduling)に近い記述で、パイプライン自体の説明ではありません。
- ウ: 命令の処理をプロセッサ内で複数のステージに細分化し、複数の命令を並列に実行する。
- 解説: 正解。これが典型的な命令パイプラインの定義です。
- エ: 命令を更に細かなマイクロ命令の組合せで実行する。
- 解説: これはマイクロプログラミング(マイクロ命令を用いるCISC系の制御方式)に関する説明で、パイプラインの特徴とは別物です。
補足コラム
- 代表的なRISCの5段パイプライン: IF(命令取得)→ ID(命令解読)→ EX(演算)→ MEM(メモリ)→ WB(書き戻し)。パイプライン化により理想的には1サイクル当たり1命令完了()が目標です。
- 実際の性能はハザード(データハザード、制御ハザード、構造ハザード)によるストールやフラッシュ、分岐予測ミスの影響を受けます。フォワーディングや分岐予測、スーパースカラー化などで対策します。
- 用語整理: パイプライン=段階分割による重ね合わせ処理、スーパースカラー=単位時間に複数命令発行、VLIW=コンパイラが命令を束ねて発行、マイクロプログラミング=命令をマイクロ命令で実現。
FAQ
Q1: パイプラインとスーパースカラーは同じですか?
A1: 異なります。パイプラインは「段階分割」による重ね実行で、スーパースカラーは「同一サイクルに複数命令を発行」する設計です。混在させることも可能です。
A1: 異なります。パイプラインは「段階分割」による重ね実行で、スーパースカラーは「同一サイクルに複数命令を発行」する設計です。混在させることも可能です。
Q2: パイプラインで命令の順序が変わりますか?
A2: 基本的に順序は保たれますが、アウトオブオーダや投機実行を組み合わせると内部的には順序変化が起き、それを補償する仕組みが必要です。
A2: 基本的に順序は保たれますが、アウトオブオーダや投機実行を組み合わせると内部的には順序変化が起き、それを補償する仕組みが必要です。
Q3: パイプラインは命令のレイテンシを短くしますか?
A3: 1命令のレイテンシは基本的にそのまま(またはわずかに増加)し、全体のスループット(完了率)が向上します。
A3: 1命令のレイテンシは基本的にそのまま(またはわずかに増加)し、全体のスループット(完了率)が向上します。
Q4: パイプラインの主な性能低下要因は?
A4: データハザード(データ依存)、制御ハザード(分岐)、構造ハザード(資源競合)です。フォワーディングや分岐予測で軽減します。
A4: データハザード(データ依存)、制御ハザード(分岐)、構造ハザード(資源競合)です。フォワーディングや分岐予測で軽減します。
関連キーワード: パイプライン、命令パイプライン、パイプラインハザード、データハザード、制御ハザード、フォワーディング、分岐予測、スーパースカラー、VLIW、マイクロプログラミング、MIPS

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

