基本情報技術者試験 練習問題 23:CPUアーキテクチャ:命令処理の高速化技法
CPUのパイプライン処理について述べた文として、正しいものはどれか。
- 命令の実行を複数段階に分割し、各段階を並行処理してスループットを向上させる技法である
- 複数のCPUコアを1つの半導体チップ上に集積する技術のことである
- 主記憶装置とキャッシュメモリの間でデータを一括転送する仕組みである
- 1つの命令を実行するのにかかるクロック数を常に2倍に増やす仕組みである
- 分岐命令を一切使用せずにプログラムを実行するための専用回路である
Qraftユーザーの成績:難易度 Cランク(レーティング1164)・正答率 64%(9/14回正解)
レーティングは解いた人の実力と正誤から算出する難しさ(初期値1200)。ランクはその全問題中の順位(S+が最難関、F-が最易)
正解と解説を見る
正解:命令の実行を複数段階に分割し、各段階を並行処理してスループットを向上させる技法である
パイプライン処理は、命令の実行過程を「命令フェッチ」「デコード」「実行」「メモリアクセス」「書き込み」などの段階に分け、複数命令を段階ごとにずらしながら並行処理することで全体のスループット(単位時間あたりの処理量)を向上させる技法です。
【正解の理由】
各段階を専用の回路が担当し、次の命令が前の命令の完了を待たずに次の段階に進めるため、理想的には1クロックごとに1命令が完了する状態に近づけることができます。ただし分岐予測ミスやデータ依存によりパイプラインハザードが発生することもあります。
【不正解の理由】
• 「複数のCPUコアを1つのチップ上に集積する技術」はマルチコア技術の説明であり、パイプラインとは異なる概念
• 「主記憶とキャッシュ間の一括転送」はバースト転送などの説明であり、パイプライン処理とは無関係
• 「クロック数を常に2倍に増やす仕組み」は誤りで、パイプラインはむしろ実行効率を高めてクロックあたりの処理量を増やすものである
• 「分岐命令を一切使用しない専用回路」という説明は誤りで、パイプラインは分岐命令を扱う際にハザード対策が必要になる