CISC
出典: フリー百科事典『ウィキペディア(Wikipedia)』
CISC(シスク)は複雑高度な命令セットを持つ、従来型のアーキテクチャ。Complex Instruction Set Computerの頭文字。RISC型CPUが考案されたときに、対義語として名付けられた。
主にメインフレームや80x86互換プロセッサ、米モトローラ社のMC 680x0 (68K) 系プロセッサに採用されている。命令語長が可変長であるため、命令のデコードが終わらなければ次の命令の語の先頭アドレスが判らないという欠点がある。
普通は豊富なアドレッシング機能を備えており、命令の直交性が良い。すなわち任意の演算で、どのアドレッシングでも使える。 演算はレジスターレジスタ間演算のほかに、レジスターメモリ演算、メモリ-メモリ演算を備えているのが普通で、オペランドは2オペランドから3オペランドまで指定できるタイプが多い。つまり、メモリ1の内容とメモリ2の内容を論理積を取ってメモリ3に格納するというようなことが1命令で出来る。C言語の演算子はCISCであったPDP-11が備えていた命令の名残りとされる。
インデックスアドレッシング時のオフセットも命令のデータ語長に合わせてスケーリングされることが多い。 また、データ語長の異なるデータ間の演算でも演算前に自動的に符号拡張などが行なわれるため、データ長を揃える命令が必要ない場合が多い。 1命令中で行なう処理が複雑なため、マイクロプログラム方式で実装されることが多い。
80x86系ではPentium Pro以降、回路を高クロック化し易くするために、内部的にはRISC構造として、実行時にCISC命令から内部のRISC命令へと変換している。