デコードステージ
フェッチした命令を解釈し、CPUの実行ユニットが理解できる内部のマイクロオペレーション(µop)へ変換する段階。x86では命令が可変長で複雑さもまちまちなため、特に複雑である。
デコーダは生の命令バイト列を受け取り、どの演算でどのオペランドかを判定して、一つ以上の単純で固定長のマイクロオペレーションに分解する。x86の難しさは、命令が1〜15バイトで、現在の命令をデコードするまで次の命令の位置が分からないこと、そして一つの複雑な命令が多数のµopになりうることだ。そのためデコードは高価で、並列化もしにくい。ARMやRISC-VのようなRISCは固定長で単純な命令を持つので、多数を並列にデコードしやすい。
x86側の解決策は、複数のデコーダ、マイクロオペレーションキャッシュ(頻出コードのデコードを省く)、最も複雑な命令用のマイクロコードROMである。デコード幅はフロントエンドのボトルネックになりやすい。RISC対CISC論争の中心的な論点でもある。