コンピュータシステム - 3.コンピュータ構成要素 - 1.プロセッサ - 4.プロセッサのアーキテクチャ

Last Update : April 12 2021 22:27:23

     

a. CISC

CISC ( Complex Instruction Set Computer:複合命令セットコンピューター ) は、以下のような特徴がある。

  • ソフトウェアのマイクロコードを使って命令を解読する。(マイクロプログラム制御方式)
  • 命令の長さは可変長である。
  • 命令は複雑で種類が多い。
  • メモリ-レジスタ間演算命令がある。演算はレジスター間演算以外に、メモリーや即値、アドレス指定など多彩なモードがある
  • 処理時間は命令によって大きく変わる。
  • 汎用レジスターは非常に少なく、スタックを多用する必要があった

CISCの特徴は、コンピュータの歴史に由来する。CISCが産まれた時点ではアセンブラコーディングが前提で、プログラマの生産性を高めやすいISA(Instruction Set Architecture:命令セットアーキテクチャ )を定義する必要があった。そのため、人間が扱いやすいように命令の種類を増やし、コーディングの際の命令ステップ数を減らした。

 そして、CISCの特徴は、当時のハードにも向いていた。命令ステップ数の削減によるプログラムのコードサイズの削減は、高価だったメモリの節約にもなった。また、CPUのフェッチ帯域の節約にもなった。つまり、CISCは元々、ハードウェアリソースが限られていた時代に適合していた。


b. RISC

RISC ( Reduced Instruction Set Computer:縮小命令セットコンピューター ) は、以下のような特徴がある。

  • ハードウェア(ワイヤードロジック)により命令が解読される。(ワイヤドロジック制御方式)
  • 単純な少数の命令だけで構成されている。
  • 命令の長さは固定長である。
  • 処理時間は命令によらず一定(原則1クロック)
  • 演算の対象はレジスタに限られ、レジスタで計算した後、メモリへのアクセスを行う。
  • 汎用レジスターを多数用意

RISCは「パイプラインを高速に動作させる」ことを主眼にした設計である。この目的を考えると、可変命令長ではデコードに手間が掛かるので、固定命令長の方が有利である。また演算対象がメモリーだったり、間接アドレスだったりと異なるのは、処理の際に余分な時間が掛かることになるので、演算対象はすべてレジスターのみに限った。もちろん、それではレジスターしか触れないので、メモリーとレジスター間でのロード/ストア命令は別に用意する。レジスター間演算のみに限ると、当然必要となるレジスターの数が増えるので、これにあわせて利用できるレジスターを大幅に増やす。

 マイクロコードを廃するのも同じ理由だ。マイクロコード経由でのデコードでは時間が掛かるので、デコーダーはすべてハードワイヤードで構成されている。

 また、ロード/ストア命令は当然メモリーアクセスが発生するので、処理が遅くなる。これを通常のパイプライン処理で行なうとパイプラインストールが発生してしまうので、これを避けるために遅延スロットを用意。処理に時間が掛かる命令は別に進行させて、パイプラインの動きを阻害しないようにした。


c.比較

内容 CISC RISC
命令語数 多い 少ない
命令語長 可変長 固定長
命令の種類 多くて複雑 基本のみ
レジスタ数 少ない 多い
メモリへのアクセス 多様 ロード・ストア命令のみ
制御方式(デコード) マイクロプログラム(ソフトウェア) ワイヤードロジック(ハードウェア)
パイプライン処理 適さない 適する

  [ 例題 ] 
  1. 平成23年度秋期 問10  プログラムレジスタ
  2. 平成15年度春期 問18  CISC RISC
  3. 平成14年度秋期 問16  CISC
  4. 平成13年度秋期 問18  分岐命令
  5. 平成11年度春期 問15  インデックスレジスタ
  6. 平成10年度春期 問21  命令のアドレス


     

www.it-shikaku.jp