本文へスキップ

FUNDAMENTAL INFORMATION TECHNOLOGY ENGINEER

基本情報技術者の問題解説:パイプライン処理の説明として適切なものはどれか。

テクノロジ系 標準 fe_a_s037_q005

問題

パイプライン処理の説明として適切なものはどれか。

  1. 命令の実行をフェッチ・デコード・実行・書き戻しなどのステージに分割し、各ステージを並行処理する方式(正解)
  2. 複数のCPUコアで同一の命令を実行する方式
  3. 命令の実行順序を動的に変更して最適化する方式
  4. 命令とデータを同じバスで転送する方式
出典:オリジナル問題|参考範囲:試験要綱Ver.5.5 / FEシラバスVer.9.2 科目A範囲

正解と解説

正解:命令の実行をフェッチ・デコード・実行・書き戻しなどのステージに分割し、各ステージを並行処理する方式

論点:パイプライン処理は、命令実行をフェッチ、デコード、実行、書き戻しなどの段階に分け、複数の命令を段階ごとに並行して進める方式です。1つの命令が速くなるというより、全体として単位時間当たりに処理できる命令数が増えるのがポイントです。

ほかの方式との違い:複数コアで処理すること自体はマルチコア処理、命令順序を動的に変えるのはアウトオブオーダー実行、命令とデータを同じバスで扱うのはノイマン型に関係する説明です。流れ作業のラインをイメージすると理解しやすくなります。

つまずきポイント:パイプラインは常に理想的に流れるわけではなく、分岐命令で次に実行する命令が確定しない制御ハザード、前の命令の計算結果を次の命令が必要とするデータハザードなどで流れが乱れます。これらが起きると一時的に待ち(ストール)が発生し、性能が理論値より下がる点に注意してください。

他の選択肢はなぜ違う?

  • 複数コアでの実行はマルチコア処理の話。
  • 実行順序の動的変更はアウトオブオーダー実行。
  • 命令とデータを同じバスで転送するのはフォン・ノイマン型構成の話。

この問題について

出典:オリジナル問題|参考範囲:試験要綱Ver.5.5 / FEシラバスVer.9.2 科目A範囲

IPAが公開するシラバス・試験範囲・公開問題の出題形式を参考にした独自作成問題。公式問題・過去問題の転載ではありません。

公式試験問題、過去問題、公式サンプル問題、市販教材の問題文を転載したものではありません。

参考範囲: シラバスVer.9.2参考

参考文献・出典(公式情報)

RELATED

関連問題