スポンサーリンク

【応用情報技術者試験】構造ハザード

構造ハザード(Structural Hazard)とは、パイプライン処理において、複数の命令が同時に実行される際に、同じハードウェア資源(例えば、メモリやレジスタファイル)にアクセスしようとして競合が発生し、処理が遅延する状態を指します。

詳細:

  • パイプライン処理:CPUの性能を向上させるために、命令を複数のステージ(命令のフェッチ、デコード、実行、書き込みなど)に分割し、並行して処理する方式です。
  • 構造ハザードの発生原因:パイプライン処理では、各ステージが異なるハードウェア資源を使用しますが、複数の命令が同じ資源を同時に必要とすると、競合が発生し、一部の命令が実行を待たされることになります。
  • 例:
    • メモリへのアクセス: ある命令がメモリからデータを読み込んでいる最中に、別の命令が同じメモリに書き込もうとすると、競合が発生します。
    • レジスタファイルへのアクセス: 複数の命令が同時にレジスタファイルにアクセスしようとすると、競合が発生します。
  • 構造ハザードの対策:
    • ハードウェア資源の多重化: メモリを命令キャッシュとデータキャッシュに分離したり、レジスタファイルを複数用意したりすることで、競合を回避します。
    • ステージの分割: 競合するステージをさらに細かく分割し、時間的に分離することで、競合を回避します。
    • スーパースカラ: 複数のパイプラインを並行して動作させることで、構造ハザードの影響を軽減します。

構造ハザードは、パイプライン処理の効率を低下させる要因の一つであり、CPUの設計においては、構造ハザードを効果的に回避する工夫が重要になります。

コメント

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