フリーキーズ | 独学プログラミング

CISCとは

最終更新日

CISCとは、Complex Instruction Set Computerの略です。コンピュータアーキテクチャーの一種で、プロセッサが複雑なタスクを1回の操作で実行できる多数の命令をサポートするものです。CISCの主な考え方は、演算、メモリアクセス、制御フローなどの複数の低レベル演算を1つのコマンドで達成できる幅広い命令を提供することで、プログラミングを簡素化することです。

簡単な例

CISCプロセッサは、より簡単に言えば、それぞれが特定のタスクのために設計された特殊なツールの大きなツールボックスを備えていると考えることができ、プログラマがハードウェアの低レベルの詳細を気にせずにソフトウェアを書くことを容易にします。

CISCアーキテクチャの具体例

インテル x86

Intel x86:ほとんどのパソコンやノートパソコンで使われているIntel x86アーキテクチャは、CISCアーキテクチャのよく知られた例です。x86命令セットには、演算、メモリアクセス、文字列操作など、さまざまな処理を1つの命令で実行できる複雑な命令が多数含まれています。このアーキテクチャは時代とともに進化し、新しいプロセッサ(IntelのCoreシリーズなど)は、x86命令セットのサポートを継続しながら、追加の機能と最適化を取り入れています。

Motorola 68000

初期のApple Macintoshコンピュータやいくつかのゲーム機(Sega Genesisなど)で使用されていたMotorola 68000シリーズのプロセッサも、CISCアーキテクチャの一例です。68000の命令セットには、プログラミングを簡略化し、性能を向上させるために設計されたさまざまな複雑な命令が含まれていました。

CISCの特徴

CISCアーキテクチャは、メモリや処理資源が限られており、コンパイラ(高級プログラミング言語をマシンコードに変換するソフトウェア)も洗練されていなかった時代に開発されました。CISCプロセッサーは、複雑な命令を豊富に用意することで、プログラミングをより簡単に、より効率的にすることを目指しました。

しかし、技術の進歩に伴い、CISCプロセッサの性能の優位性は薄れていきました。よりシンプルな命令セットを使用するRISC(Reduced Instruction Set Computer)アーキテクチャの台頭により、複雑な命令セットを大量に提供するのではなく、シンプルな命令を素早く実行することに重点を置けば、より高速でエネルギー効率の高いプロセッサを設計できることが示されました。

まとめ

CISCとは、Complex Instruction Set Computerの略で、プログラミングの簡略化と性能向上を目的に、多数の複雑な命令をサポートするコンピュータ・アーキテクチャの一種です。CISCアーキテクチャの例としては、Intel x86やMotorola 68000シリーズのプロセッサがあります。かつてはCISCアーキテクチャが主流でしたが、RISCアーキテクチャの台頭により、プロセッサの性能とエネルギー効率を向上させるため、よりシンプルな命令セットへと焦点が移ってきています。