コンピュータ

パイプライン処理とは

パイプライン処理

パイプライン処理は、CPUなどのプロセッサの性能を向上させるための技術のひとつであり、複数の命令を並行して実行するための方式です。

スポンサーリンク

命令の実行段階

コンピュータは次のようなサイクル(段階)を繰り返して命令を処理していきます。

段階 処理内容
1 命令の取り出し(命令フェッチ)
2 命令の解読(デコード)
3 対象データの読み出し(オペランドの読み出し)
4 命令の実行
5 結果の書き込み

逐次制御方式の動き

逐次制御方式(ちくじせいぎょほうしき)とは、命令を1つずつ順番に完了させる方式のことであり、1つの命令が終わるまで次の命令を実行できないため、効率はよくありません。

例えば、以下図のように5サイクルで1命令が実行される場合、3つの命令を逐次制御方式で処理すると下記図のように15サイクルかかります。

逐次制御方式のイメージ例

パイプライン処理の動き

パイプライン処理で3つの命令を処理すると、下記図のとおり7サイクルで処理することができます。

1つの命令が終わるまで次の命令を実行できない逐次制御方式とは違い、パイプライン処理では複数の命令を並行して実行することができるため、処理を高速化できます。

パイプライン処理のイメージ例

パイプライン処理では、段階ごとに制御できるため、例えば、命令1の「1. 命令の取り出し(段階1)」が終わったら、命令1の5サイクルすべてが終わるのを待たずに、次の命令2の「1. 命令の取り出し(段階1)」をおこなうことができます。

パイプライン処理の流れは次のとおりです。3つの命令を並行して実行しているので、7サイクルで3つの命令が完了しています。

パイプライン処理の流れ

  • 段階1:命令1、段階2:------、段階3:------、段階4:------、段階5:------
  • 段階1:命令2、段階2:命令1、段階3:------、段階4:------、段階5:------
  • 段階1:命令3、段階2:命令2、段階3:命令1、段階4:------、段階5:------
  • 段階1:------、段階2:命令3、段階3:命令2、段階4:命令1、段階5:------
  • 段階1:------、段階2:------、段階3:命令3、段階4:命令2、段階5:命令1
  • 段階1:------、段階2:------、段階3:------、段階4:命令3、段階5:命令2
  • 段階1:------、段階2:------、段階3:------、段階4:------、段階5:命令3

※段階1:命令の取り出し、段階2:命令の解読、段階3:対象データの読み出し、段階4:命令の実行、段階5:結果の書き込み