スーパースカラ
ハードの工夫でハザードの解決を図る. 具体的には, プリデコードという命令間の依存関係を確認し, 遅らせることで, 依存関係のない命令を並列に処理する 命令デコード (D) を二段階に分ける. プリデコード(D1) とポストデコード (D2) を順に実行し, ハザードの原因を解消する
プリデコード時に命令同士の依存関係を調べ, データハザードなどを防ぐために処理を遅らせる 入れ替えなどはしない
基本的にパイプライン処理でのストールでハザードを解決する. パイプライン処理の各段階について, ハードウェアの演算器などの資源を含めた調整によって, 上手く順番に処理できるようにする 図を見ると, 分岐処理で判定などやっている間に, 次の命令のパイプライン処理が止まる, ストールすることで遅くなることを言っているみたい
x結局どうやって解決するのだろう. ループを展開するなどの方式が後述されていた気がするが ループの展開, 分岐命令以外のブロック化と命令処理順の最適化, など