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