スポンサーリンク

【応用情報技術者試験】パイプラインハザード

パイプラインハザードは、パイプライン処理において、命令の実行を妨げる潜在的な問題を指します。大きく分けて、構造ハザード、データハザード、制御ハザードの3種類があります。

構造ハザード (Structural Hazard)

  • 複数の命令が同時に同じハードウェアリソース(例えば、メモリや演算器)を必要とすることで発生します。
  • 例えば、命令フェッチとデータアクセスを同時に行う必要がある場合、メモリが1つしかないと、どちらかの命令が待たされることになります。

データハザード (Data Hazard)

  • 命令間のデータの依存関係によって発生します。
  • ある命令の結果が、後続の命令の入力として使用される場合、結果が確定する前に後続の命令が実行されてしまうと、誤ったデータが使用される可能性があります。
  • このハザードは、Read-After-Write (RAW) ハザード、Write-After-Read (WAR) ハザード、Write-After-Write (WAW) ハザードの3種類に分類されます。

制御ハザード (Control Hazard)

  • 分岐命令やジャンプ命令など、実行する命令の流れを制御する命令によって発生します。
  • 分岐命令の実行結果によって、次に実行する命令が決定されるため、分岐が確定する前に次の命令をフェッチしてしまうと、不要な命令をフェッチしてしまう可能性があります。
  • このハザードは、分岐ハザードとも呼ばれます。

これらのハザードを解決するために、パイプラインストールやパイプラインの順序変更、データフォワーディングなどの手法が用いられます。

コメント

タイトルとURLをコピーしました