並列処理ユーザと設計者がCPU性能を議論する場合、最終的な性能測定基準はCPU実行時間である。クロック・サイクル時間パイプライン化によりCPIが1に近い値に低減された命令レベル並列でCPIを1以下にすることができる。同時実行する命令に依存性がないことを保証する必要がある。依存関係のある命令が同時にフェッチされた場合、どちらかを待たせるなどの工夫が必要。コンパイラーが命令中のハザードを解決ずみ(静的スケジューリング)である。並列化によって生じるハザードを検出するハードウエアが不要これにより、アセンブラプログラムが他のプロセッサと互換性がない。スーパースカラ通常の逐次実行のアセンブラプログラムを実行時に、ハードウエアがハザードを検出し、並列化可能な命令を選んで並列実行する。ハードウエアが複雑になる。静的最適化あらかじめ機械語を最適化することを静的最適化という。静的最適化を行うのはコンパイラである。ハザードを減らすために、依存関係を解消したり、減らしたりする。依存関係のある命令をプログラム中で離れた位置に置く。プログラムの意味を変えてはならない。(あたりまえ)ループアンローリング分岐命令の頻度を下げる(数を減らす)ことで、分岐命令によるハザードを減らす。スーパースカラプロセッサの。