パイプラインとは?ぱいぷらいん
パイプラインとは、プロセッサにおけるパイプライン(命令パイプライン)は、命令の実行をフェッチ・デコード・実行・書込みといった段に分け、各段で別々の命令を同時に処理する高速化方式。1命令が終わるまでの時間は短くならず、増えるのは単位時間あたりに完了する命令数のほう。
最終更新:2026-10-07
この語が出る過去問を解く →背景
クロック周波数の引き上げだけで性能を稼ぐやり方は、消費電力と発熱で頭打ちになる。一方、1つの命令が終わるのを待って次を始める作りでは、各段の回路はほとんどの時間を遊んで過ごしている。工場の流れ作業と同じ発想で回路の稼働率を上げたのがパイプラインで、段数をさらに細かくしたのがスーパーパイプライン、同じ段を並列に複数本持つのがスーパースカラ。
具体例
5段パイプラインでn命令を実行するのに要するクロック数は 5+(n−1)。100命令なら104クロックで、1命令あたりほぼ1クロックに近づく。段数を増やすほど理論上の性能は上がるが、乱れが起きたときに捨てる命令も増える。
試験での引っ掛け
同じ「パイプライン」でも、サービスマネジメントのサービス・パイプライン(計画中・開発中のサービス群)や、CI/CD(継続的インテグレーション/継続的デリバリー)のビルドパイプラインは別概念で、設問の分野で判断する。プロセッサの話では、分岐予測を外すと先読み分を捨てる制御ハザードが生じ、ほかにデータハザード・構造ハザードがある。改善されるのはスループットであって、1命令あたりのレイテンシではない。
関連用語
出た過去問
問題文で直接問われたものと、解説の中で触れられたものが含まれます。
出典:平成31年度 春期 高度試験 午前Ⅰ 問4(IPA)解説で登場
スーパスカラの説明として、適切なものはどれか。
正解:並列実行可能な複数の命令を、複数の演算器に振り分けることによって並列に実行する。
要点:スーパスカラは複数演算器へ命令を振り分ける命令レベル並列化
スーパスカラは、1つのプロセッサコア内に演算器を複数持ち、依存関係のない複数の命令を同時に各演算器へ振り分けて並列実行する方式である。命令レベル並列性を活用する技術で、1クロックで複数命令を完了できる。パイプラインを複数本並べた構成と考えるとよい。
出典:令和5年度 秋期 高度試験 午前Ⅰ 問4(IPA)
パイプラインの性能を向上させるための技法の一つで、分岐条件の結果が決定する前に、分岐先を予測して命令を実行するものはどれか。
正解:投機実行
要点:投機実行は分岐先を予測して命令を先行実行する
投機実行は、分岐命令の条件が確定する前に分岐先を予測し、その先の命令を先行して実行する技法である。予測が当たればパイプラインの空きを作らずに済み、外れた場合は実行結果を破棄してやり直す。分岐によるパイプラインハザード(命令の流れが止まり効率が落ちる事象)を緩和する代表的な手法である。
出典・参考
公式シラバスの2 コンピュータシステム > 1. プロセッサ > (9) プロセッサの高速化技術に掲載されている用語です。
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。