Simple DecodeとComplex Decodeの違いとは?

最終更新日 2019年10月11日

Simple Decode と Complex Decode の違いとは何か

完全版!! 「Core i7」極限検証 - 内部アーキテクチャ解析編 (2) CPU Core部分 (2) | マイナビニュース には、以下のとおり書かれています。(この記事の公開年月日は2008年12月25日)
Core MAの場合4つのデコーダが用意されるが、うち3つ(図3で言うDecoce 1〜3)は1cycleでデコードが出来るx86命令のみを取り扱うSimple Decode、残り1つ(Decode 0)は全てのx86命令を取り扱うComplex Decodeとなっている。
「Core MA」とは、Core マイクロアーキテクチャのことです。

デコーダとは、どのような処理を実行するのか書かれている命令を解読する機能です。

x86 命令とは、1978年に発売されたインテルの CPU である 8086 と、その後継となる CPU や互換性のある CPU で実行できる命令を指すと思われます。

Simple Decode と Complex Decode は、取り扱える x86 命令に違いがあるようです。

同記事によると、Core マイクロアーキテクチャでは、さらに以下の違いがあるようです。
ここでComplex Decodeのカバー範囲であるが、どうもSimple Decodeで扱う命令は原則として扱わない事になっているようで、したがってNOPとかSUBといった簡単な命令は図3の赤線の様にDecode 1〜3のみで処理されていた模様だ。
NOP とは何も処理をしない、SUB とは減算する命令です。

同記事によると、Core マイクロアーキテクチャの後継となる Nehalem マイクロアーキテクチャについては、以下のとおり書かれています。
つまり、これまではSimple Decodeのみで処理していた命令も、Complex Decodeで取り扱えるようになったということだ。
Simple Decode と Complex Decode、それぞれが取り扱う x86 命令に関して変更があったようです。

ASCII.jp:インテルCPUはこうして進化した すべての基本は「P6」 (2/3)|ロードマップでわかる!当世プロセッサー事情 には、以下のとおり書かれています。(この記事の公開年月日は2012年8月6日)
「Decode 0」は「Complex Decode」と呼ばれ、ひとつのx86命令を2つ“以上”のμOpに、「Decode 1/2」は「Simple Decode」と呼ばれ、ひとつのx86命令をひとつのμOpにそれぞれ変換する。
同記事では P6 マイクロアーキテクチャについて解説しており、3種類4つのデコーダがあるそうです。

Complex Decode が1つ、Simple Decode が2つ、これらの他に Micro Instruction Sequencer と呼ぶデコーダがあり、Simple Decode や Complex Decode では対処できない複雑な命令を複数の μOp に変換するそうです。

μOp(マイクロオプ)とは、CPU が実行する処理の単位です。単位に分けられた処理を実行する命令とも言えます。

1つの命令がデコーダによって変換され1つの μOp になることもあれば、複数の μOp になることもあります。

同記事には μOp の例が、以下のとおり書かれています。
例えば「メモリーにある2つのデータを足し算」という処理では、CPUは以下のような処理をすることになる。

・メモリーからデータ1をロードしてレジスタ1に格納
・メモリーからデータ2をロードしてレジスタ2に格納
・レジスタ1とレジスタ2の値を加算して、結果をレジスタ3に格納

 元のx86命令では1命令で済むが、内部的には3命令相当になるわけだ。μOpというのは、この内部で行なわれる処理に1対1で対応する命令セットとなる。
「元のx86命令」とは、「メモリーにある2つのデータを足し算」を実行する命令です。

この命令は Complex Decode によって変換され3つの処理になりますが、それぞれの処理が μOp です。

メモリーからデータを読み込みレジスタに格納していますが、処理に必要なデータをメモリーからレジスタへ読み込むことをデータフェッチと呼びます。

レジスタはメモリーよりもアクセス速度が速く、処理に必要なデータを格納することで処理速度が向上します。


キャンペーン情報
マウスコンピューター
冬のボーナスセール icon
期間限定で大幅値引き!最大60,000円OFF!!(一部モデルのみ)
(11月20日迄)
DELL
・シングルデーセール
モバイルノート、ゲーミングPCほか、クーポンで最大20%Off
(キャンペーン実施中)
ドスパラ
・最大20%ポイント還元 ドスパラ27周年祭
特価パソコンをはじめ、お買得なパソコンパーツ、周辺機器を多数ご用意
(11月7日迄)
パソコン工房
・Windows 10乗り換え応援セール×総額3億円分早い者勝ち!
BTOパソコンやPCパーツ・周辺機器などがお得な価格
(11月26日迄)