並列計算
コンピュータプログラムは、基本的にプロセッサが実行すべき命令の列である。この命令列はプログラムの結果に影響を与えない形で並べ替え可能であり、同時並列的に実行できる命令毎にグループ化することができる。これを命令レベルの並列性と呼ぶ。命令レベルの並列性によるアーキテクチャの改良は1980年代中ごろから1990年代中ごろに盛んに行われた。
最近のプロセッサは多段命令パイプラインを備えている。パイプラインの各ステージは、命令に対して行うべき異なる処理に対応している。N段のパイプラインを持つプロセッサでは、N個の命令について同時にそれぞれ異なる段階の処理をしていることになる。典型的なパイプラインの例としてRISCプロセッサの5段のパイプラインがある(各段は命令フェッチ、命令デコード、実行、メモリアクセス、ライトバック)。Pentium 4 は35段のパイプラインを持つ。
パイプライン化による命令レベルの並列性だけでなく、同時に複数の命令を処理できるプロセッサもある。これをスーパースケーラプロセッサという。命令はデータ従属性がない場合にのみ、同時に実行可能なものとしてグループ化できる。
アウト・オブ・オーダー実行と命令レベルの並列性を実装する技法としては、スコアボードやトマスロのアルゴリズム(スコアボードと似ているがレジスタ・リネーミングを利用)が一般的である。