スーパースカラー
スーパースカラプロセッサは、単一のプロセッサ内で命令レベルの並列性と呼ばれる、ある一種の並列処理の形式を実装するCPUである。クロックサイクル毎に最大で1つの命令しか実行できないスカラプロセッサとは対照的に、スーパースカラプロセッサは、プロセッサ上の複数の異なる実行ユニットに複数の命令を同時にディスパッチすることにより、1クロックサイクル中に複数の命令を実行できる。したがって、既定のクロックレートで(普通)可能なスループットよりも多くのスループット(単位時間のうちに実行できる命令の数)が可能になる。各実行ユニットは、個別のプロセッサ(あるいはマルチコアプロセッサの場合個別のコア)ではなく、単一CPU内の算術論理演算ユニットなどのような実行リソースである。
研究によれば、命令の種類を n、同時実行可能な命令数を k としたとき、依存関係チェックの回路規模は n k {\displaystyle n^{k}} 、時間は k 2 log  n {\displaystyle k^{2}\log n} かかるとされている。数学的には、この問題は順列における組合せ数学の問題である。
たとえ命令列に依存関係がないとしても、スーパースカラー型CPUは常に依存関係のチェックを行う。さもなくば、依存関係の検出に失敗し、不正な結果を得ることになる。
半導体プロセス技術がどれだけ進化して、スイッチ速度が高速化しても、以上のような問題によって同時に実行可能な実際の命令数には限界が生じる。プロセス技術の進化によって実行ユニット(ALUなど)の数が増えても、依存関係チェックのための論理回路の規模の増大が急激であるため、実現可能な規模は制限される。また、たとえ依存関係チェックを無限に素早く実行できたとしても、命令列の本質的な並列性によって性能向上に限界が生じる。