FE EXAM

CISC(複雑命令セットコンピュータ)

複雑で多機能な命令を多数持つCPUの設計思想(x86など)

DIAGRAM
複雑な命令マイクロプログラム可変長命令
1つの命令で多くの仕事をこなす1命令MUL [X], [Y]メモリ上の値を直接掛け算内部で1. メモリから X を読む2. メモリから Y を読む3. ALU で掛け算4. 結果をメモリへ書く← マイクロプログラムが  内部の細かい手順を実行命令の種類が多い(数百種類)MOVADDSUBMULDIVCMPJMPCALLLOOPPUSHPOPINCDECANDORSHLROLSTOSMOVS...専用命令が豊富なのでプログラムが短くなる命令の長さがバラバラ(可変長)NOP1バイトINC AX2バイトMOV AX, 13バイトADD [X], 125バイト命令ごとに長さが違うので解読が複雑代表例Intel x86 / x64AMD64IBM System/360CISC の特徴まとめ命令が多機能(1命令で複数の処理)命令の種類が多い(数百種類)命令長が可変(1〜十数バイト)マイクロプログラムで命令を実行プログラムは短いが回路が複雑
解説

📌
CISCとは

1命令で多くの仕事をする1命令内部で複数の処理に展開

CISC(Complex Instruction Set Computer = 複雑命令セットコンピュータ)とは、多機能で複雑な命令をたくさん用意したCPU(=コンピュータの計算の中心となる部品)の設計思想のことです。「シスク」と読みます。

身近な例で考えると、「なんでも作れる多機能調理家電」に似ています。「材料を入れてボタンを1つ押すだけで、煮る・混ぜる・蒸すまで全部やってくれる」ように、CISCは1つの命令でメモリの読み書きから計算まで一気にこなしてくれます。命令を書く人(プログラマ)は楽になりますが、その分、内部の仕組み(CPUの回路)はとても複雑になります。

上の図解では、左上の MUL [X], [Y] という1命令が、内部では「読む→読む→掛ける→書く」という4ステップに展開される様子を示しています。この「1命令の中身が複数の手順」という点がCISC最大の特徴です。

📌
命令の特徴

CISCの命令には、大きく分けて次の特徴があります。
命令の種類が多い:用途別の専用命令が数百種類用意されている
1命令が多機能:メモリの値を直接計算するなど、1命令で複数の処理を行う
命令長が可変長:命令によって長さ(バイト数)がバラバラ
マイクロプログラム方式:複雑な命令はCPU内部の小さなプログラム(マイクロプログラム)で順番に実行する

可変長命令について補足します。CISCでは、単純な命令は1バイト、複雑な命令は十数バイトというように、命令ごとに長さが異なります。図解の右側にあるように、NOP(何もしない命令)は1バイト、ADD [X], 12 のような命令は5バイトといった具合です。この「長さがバラバラ」という性質のせいで、CPUは「次の命令がどこで終わるのか」を読みながら判断しなければならず、命令の解読(デコード)が複雑になります。

メリットとデメリットを整理すると、メリットは「命令が高機能なのでプログラムが短く済み、メモリの節約になる」点。デメリットは「回路が複雑で、命令ごとに実行時間がバラバラになり、高速化(パイプライン処理)がしにくい」点です。メモリが高価だった時代には、プログラムを短くできるCISCが有利でした。

📌
代表例(x86等)

PCやサーバーのCPUはほぼCISC(x86)Intel CoreIntel XeonAMD Ryzen

CISCの最も代表的な例が、Intelの x86 系CPUです。私たちが普段使うWindowsパソコンやサーバーに入っているCPU(Intel Core、Xeon、AMD Ryzenなど)は、ほとんどがこのx86アーキテクチャ(=CPUの設計仕様)を採用しています。

x86は1978年の Intel 8086 から続く非常に歴史の長い命令セットで、過去のソフトウェアがそのまま動く後方互換性を大事にしてきました。そのため命令を捨てずに増やし続けた結果、命令数が膨大になっています。代表例として覚えておきたいのは次の通りです。
Intel x86 / x64:PC・サーバーで圧倒的シェア
AMD64:x86を64ビットに拡張したもの
IBM System/360:初期の代表的なCISC機

整理のポイント:「CISC=x86=PC向け」「RISC=ARM=スマホ向け」とセットで捉えると分かりやすくなります。なお最近のx86 CPUは、内部で複雑な命令を単純な命令(マイクロオペレーション)に分解してから実行する仕組みを持っており、CISCの皮をかぶったRISC的な作りになっています。

関連コンテンツ