パイプライン処理とは?
パイプライン処理とは、命令の実行を複数の段(フェッチ・デコード・実行・書込みなど)に分け、各段を重ねて並行動作させることでスループットを上げる方式。命令数I、段数D、1段の所要時間(ピッチ)Pのとき、全体の所要時間は (I+D−1)×P。
システムアーキテクト試験の過去問では2回出題されています(2021年度〜2024年度)。
ぱいぷらいんしょり
パイプライン処理の意味
命令の実行を複数の段(フェッチ・デコード・実行・書込みなど)に分け、各段を重ねて並行動作させることでスループットを上げる方式。命令数I、段数D、1段の所要時間(ピッチ)Pのとき、全体の所要時間は (I+D−1)×P。
パイプライン処理の具体例
5段パイプラインで100命令を実行するなら (100+5−1)×ピッチ。
パイプライン処理は試験でどう引っ掛けられる?
分岐やデータ依存によるハザードで段が乱れると理論値どおりにはならない。
パイプライン処理と関連する用語
パイプライン処理が出た過去問
パイプラインの深さをD、パイプラインピッチをP秒とすると、I個の命令をパイプラインで実行するのに要する時間を表す式はどれか。ここで、パイプラインは1本だけとし、…
正解:(I+D-1)×P
要点:パイプラインの所要時間は(I+D-1)×ピッチで求まる
パイプラインでは最初の命令が全Dステージを終えるのにDピッチかかり、以降の命令は1ピッチごとに順次完了する。したがってI個の命令に要するピッチ数はD+(I−1)、すなわち(I+D−1)ピッチであり、所要時間は(I+D−1)×P秒となる。
出典:令和3年度 春期 システムアーキテクト試験 am2 問21(IPA)プロセッサの高速化を図る手法であるスーパースカラの説明として、適切なものはどれか。
正解:互いに依存関係のない複数の命令を動的に並列実行する。
要点:依存のない命令を実行時に並列実行するのがスーパースカラ
スーパースカラは、CPU内に演算器やパイプラインを複数備え、依存関係のない命令を同時に複数取り出して並列に実行する方式である。どの命令を同時に走らせるかをハードウェアが実行時に判断する点が、コンパイラが事前に組み合わせるVLIWとの違いである。
出典:令和6年度 春期 システムアーキテクト試験 am2 問21(IPA)
最終更新:2026-08-25/解説は資格暗記が独自に作成しています。 過去問の出典は各問題に記載のとおりです。