遅延スロット
分岐命令があるとき、パイプライン上その直後に位置する遅延スロットを分岐遅延スロット(branch delay slot)と呼ぶ。分岐遅延スロットは主にDSPアーキテクチャや古いRISCアーキテクチャに見られる。MIPS、PA-RISC、SuperH、SPARCなどは1つの分岐遅延スロットを持つRISCアーキテクチャである。PowerPC、ARM、DEC Alpha などは分岐遅延スロットを持たない。 DSP アーキテクチャで1つの分岐遅延スロットを持つものとしては、例えばμPD77230がある。SHARC という DSP は2個の分岐遅延スロットを持つ。つまり、分岐が実際に行われる前に直後の2つの命令を実行する。また、TMS320C3x の分岐遅延スロットは 3つである。
以下のコード例は、SHARC DSP の遅延スロットを示したものである。レジスタ R0 から R9 を番号順にゼロクリアしている(R6 の次にクリアされているのは R9 ではなく R7 である)。どの命令も2回実行されることはない。
パイプライン・アーキテクチャの目標は、常にパイプラインを命令で満たしておくことである。分岐遅延スロットはそのための副作用である。分岐命令はパイプラインをある程度進んだ時点でないと分岐先が決まらないため、分岐命令の次に実行される命令は既にパイプライン上に存在している。