Explicit Data Graph Execution
CPUに追加された新たな要素「スケジューラ」が、関連のないデータを探して演算ユニットに投入し、出力結果を並べ替える。外部には通常に実行したかのように見える。
スーパースケーラの設計で獲得できる並列性の度合いは、スケジューラが命令同士の依存関係を調べることのできる数に依存する。多数の命令を調べることができれば並列に実行可能な命令を見つける可能性が高まるが、これにはスケジューラー自体を複雑にする以外にない。膨大な労力が費やされたが、これまでのRISC / CISC命令セットでは演算ユニットの数は3〜4で飽和している。
他には、特定の種類のデータを処理する命令を見つけて専用の処理ユニットを追加することで、システムの性能を向上させることができる。浮動小数点演算ユニットや、最近ではSIMDユニットの追加はこうした方法である。この方法の問題はCPUが汎用的ではなくなることで、たとえば全てが浮動小数点演算であるようなプログラムを実行すると、FPUは全力で動作し続けるが他のユニットは遊んでしまう。
現代的なCPU設計で、より近年問題になっているのはレジスタとのやり取りに伴う遅延である。CPUのダイサイズは過去数十年間概して変わっていないが、各機能ユニットは様々な機能ユニットが追加されにつれどんどん小さくなっている。