CISCとは

CISCは、マイクロプロセッサの設計思想の一つであり、多数の複雑で多機能な命令を命令セットに含み、一つの命令で多くの処理ステップを実行できるようにするアーキテクチャのことです。

CISCの概要と設計思想

CISC(Complex Instruction Set Computer、複合命令セットコンピュータ)は、1970年代から1980年代にかけて主流であったプロセッサ(CPU)の設計アプローチです。これは、プログラムの実行に必要な処理を、できるだけ少ない命令数で実現することを目指しました。

CISCの命令は、メモリからのデータロード、演算、結果のメモリへのストアといった複数の低レベルな操作を、一つの命令としてカプセル化(まとめること)できる設計になっています。例えば、「メモリ上の特定のアドレスにあるデータをレジスタ内の値と加算し、結果を別のメモリ位置に格納する」といった複雑な処理を単一のCISC命令で実行することが可能です。

主な目的は、高水準言語(C言語など)の命令とCPUの機械語命令を一対一に対応させやすくすること、およびコンパイラの設計を簡素化することでした。これにより、プログラムのサイズを小さく保ち、メモリ容量が貴重だった時代に効率的であると考えられていました。

CISCアーキテクチャの主要な特徴

CISCプロセッサは、その複合的な命令セットをサポートするために、以下の構造的特徴を持ちます。

1. 複雑で多様な命令セット

命令の数と種類が非常に多く、それぞれが異なる処理内容と実行時間を持っています。一つの命令が数多くのマイクロ操作(プロセッサ内部の基本的なステップ)に分解されて実行されるため、命令の実行に必要なクロックサイクル数が命令によって大きく変動します。

2. 可変長命令フォーマット

命令の長さが一定ではなく、短いものから非常に長いものまで存在します。これにより、命令のデコード(解釈)が複雑になり、プロセッサ内部での命令の先読み(プリフェッチ)やパイプライン処理の効率が低下する原因となります。

3. マイクロコード制御

複雑な命令をプロセッサが実行するために、プロセッサ内部にマイクロコード(Microcode)と呼ばれる小さなプログラムが組み込まれています。一つの複雑な命令は、このマイクロコードによって、プロセッサの基本的な操作(マイクロ操作)のシーケンスに展開されて実行されます。

これにより、命令セットの変更や追加が、ハードウェア設計を変更せずにマイクロコードの更新によって柔軟に行えるという利点がありました。

4. 豊富なアドレッシングモード

メモリ上のデータを指定する方法(アドレッシングモード)が非常に多岐にわたります。これは、単一の命令で複雑なメモリアクセス処理を実行できるようにするために必要な機能です。

CISCの進化と現代のプロセッサ

CISCは、かつては大型コンピュータや初期のパーソナルコンピュータで支配的でしたが、その複雑さから来る処理速度の限界と高い消費電力の問題に直面しました。

しかし、現代の主流なプロセッサであるIntelのx86(またはx64)アーキテクチャは、CISCの代表格です。現代のx86プロセッサは、RISCの設計思想を取り込んだハイブリッドな構造になっています。

  • 内部のRISC化: 外部から入力された複雑なCISC命令を、プロセッサ内部で「マイクロ操作(μOps)」と呼ばれる、単純で固定長のRISC風の命令に分解して実行します。
  • 高性能の実現: これにより、CISC命令セットとの互換性を保ちつつ、RISCプロセッサのような効率的なパイプライン処理、アウトオブオーダー実行などの高度な最適化が可能となり、現代の高性能を実現しています。

関連用語

RISC | 今更聞けないIT用語集
アーキテクチャ | 今更聞けないIT用語集
ソフトウェアエンジニアリング

お問い合わせ

システム開発・アプリ開発に関するご相談がございましたら、APPSWINGBYまでお気軽にご連絡ください。

APPSWINGBYの

ソリューション

APPSWINGBYのセキュリティサービスについて、詳しくは以下のメニューからお進みください。

システム開発

既存事業のDXによる新規開発、既存業務システムの引継ぎ・機能追加、表計算ソフトによる管理からの卒業等々、様々なWebシステムの開発を行っています。

iOS/Androidアプリ開発

既存事業のDXによるアプリの新規開発から既存アプリの改修・機能追加まで様々なアプリ開発における様々な課題・問題を解決しています。


リファクタリング

他のベンダーが開発したウェブサービスやアプリの不具合改修やソースコードの最適化、また、クラウド移行によってランニングコストが大幅にあがってしまったシステムのリアーキテクチャなどの行っています。