基本情報技術者 2009年 春期 午前(科目A) 問11
問題文
プロセッサにおけるパイプライン処理方式を説明したものはどれか。
選択肢
ア:単一の命令を基に、複数のデータに対して複数のプロセッサが同期をとりながら並列にそれぞれのデータを処理する方式
イ:一つのプロセッサにおいて、単一の命令に対する実行時間をできるだけ短くする方式
ウ:一つのプロセッサにおいて、複数の命令を少しずつ段階をずらしながら同時実行する方式(正解)
エ:複数のプロセッサが、それぞれ独自の命令を基に複数のデータを処理する方式
🔒 解説は解答すると表示されます
パイプライン処理方式【午前解説】
正解の理由
正解:ウ
ウは「一つのプロセッサにおいて、複数の命令を少しずつ段階をずらしながら同時実行する方式」とあり、まさに命令パイプラインの定義です。命令を複数のステージに分割し、各ステージで異なる命令を並列に処理することでスループットを高めます。パイプラインは同一プロセッサ内の命令レベル並列性(ILP)を利用する方式であり、選択肢の記述と一致します。
ウは「一つのプロセッサにおいて、複数の命令を少しずつ段階をずらしながら同時実行する方式」とあり、まさに命令パイプラインの定義です。命令を複数のステージに分割し、各ステージで異なる命令を並列に処理することでスループットを高めます。パイプラインは同一プロセッサ内の命令レベル並列性(ILP)を利用する方式であり、選択肢の記述と一致します。
解法ステップ
- 問題文で対象が「プロセッサにおけるパイプライン処理方式」かを確認する。
- 各選択肢のキーワードを抽出:「複数の命令」「段階をずらし」「単一の命令」「複数のプロセッサ」など。
- パイプラインの本質(単一プロセッサ内で命令をステージ分割し重ねて処理)と照合する。
- 最も適合するものを選ぶ(ウが該当)。選択肢はマルチコア/データ並列/命令単位時間短縮など他概念と混同しやすい点に注意。
選択肢別の誤答解説
- ア:単一の命令を基に複数のデータを複数プロセッサで同期して処理する、はSIMDやデータ並列処理(あるいはベクトル処理/SIMT)に近く、パイプラインではありません。
- イ:単一命令の実行時間をできるだけ短くする方式は、マイクロアーキテクチャ上の最適化(クロック短縮や単一ステージの最適化)を指し、パイプラインの定義とは異なります。
- ウ:一つのプロセッサ内で複数命令を段階的に重ねて同時実行する、は命令パイプラインの基本概念そのものであり正解です。
- エ:複数のプロセッサが独自の命令で複数データを処理するのはMIMDやクラスタ/マルチプロセッサ方式で、パイプラインとは別物です。
よくある誤解
- パイプライン=複数コア並列という誤解:パイプラインは単一プロセッサ内部のステージ並列であり、複数コア(マルチプロセッシング)とは異なります。
- レイテンシ短縮を期待する誤り:パイプラインはスループットを上げるが、単一命令のレイテンシは必ずしも短くなりません。
- 「単一命令で多数のデータを処理する」=パイプラインと混同:それはSIMD(ベクトル処理)やデータ並列の概念です。
補足コラム
- パイプラインの利点はスループット向上だが、データハザード(依存)、制御ハザード(分岐)、構造ハザード(資源競合)が発生するとバブル(空サイクル)やストールが生じ性能が低下します。
- ハザード対応技術:フォワーディング(データフォワード)、分岐予測、アウトオブオーダ実行、スーパースカラ(複数パイプライン並列)などが用いられます。
- 実世界の比喩:工場の組立ラインと同様に、各工程(ステージ)を並べて異なる製品(命令)を同時に進めるイメージです。
FAQ
Q1: パイプラインには複数コアが必要ですか?
A1: いいえ。パイプラインは単一コア内のステージ並列で、複数コアは別の並列化(マルチプロセッシング)です。
A1: いいえ。パイプラインは単一コア内のステージ並列で、複数コアは別の並列化(マルチプロセッシング)です。
Q2: パイプラインで必ず実行時間は短くなりますか?
A2: 全体としてのスループットは向上しますが、単一命令のレイテンシは必ずしも短縮されません。ハザードで性能が落ちることもあります。
A2: 全体としてのスループットは向上しますが、単一命令のレイテンシは必ずしも短縮されません。ハザードで性能が落ちることもあります。
Q3: スーパースカラとパイプラインの違いは?
A3: パイプラインは命令を段階に分けること、スーパースカラは同一サイクルに複数命令を発行して複数の実行ユニットで並列に処理する技術で、併用されることが多いです。
A3: パイプラインは命令を段階に分けること、スーパースカラは同一サイクルに複数命令を発行して複数の実行ユニットで並列に処理する技術で、併用されることが多いです。
関連キーワード: パイプライン処理、命令パイプライン、スループット、レイテンシ、データハザード、制御ハザード、フェッチ、デコード、実行、スーパースカラ、SIMD、MIMD

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

