RISCとCISC(デジタル乗算器を具体例に)
ワイヤードロジック方式とマイクロプログラム方式
プロセッサの種類には、大別して
- ワイヤードロジック方式
- マイクロプログラム方式
の2種類があります。
ある演算を行うとき、
ワイヤードロジック方式ではハードで直接演算を行い、
マイクロプログラム方式ではより小さい演算に分解し、それぞれをハードで演算します。
「ワイヤード」とは「配線された、回路が組まれた」という意味ですから、
ワイヤードロジック方式の方では、ハードに専用の回路が用意されていて、
マイクロプログラム方式の方では、より小さな命令でプログラムする
と考えると、覚えやすいでしょう。
CISCとRISC
それゆえ、ある程度の大きな演算を行うとき、
ワイヤードロジック方式では、対応する命令があるのに対して、
マイクロプログラム方式では、対応する命令がないので、複数の命令で処理を行います。
前者をCISC(Complex Instruction Set Computer)、後者をRISC(Reduced Instruction Set Computer)と呼びます。
- Complex: 複雑な
- Reduced: 縮小した
- Instruction: (プログラム用語としての)命令
という意味ですから、
CISCの方が複雑な演算の命令を持っていて、
RISCの方はそれを持っていない
と考えると、覚えやすいかも知れません。
デジタル乗算器
具体例として、デジタル乗算器について考えてみます。
「デジタル乗算器」とは、2つの数値を入力として、その乗算結果を出力する演算器のことです。
2進数の場合、この演算は足し算を複数組み合わせるだけで実装することができます。
(イメージとしては掛け算の筆算の感じです)
そしてこれは、足し算を行う回路(全加算回路)を複数組み合わせることで
ハード的に構成することもできます。
従って、ワイヤードロジック方式のCISCプロセッサでは、乗算器はハードで用意されており、
マイクロプログラム方式のRISCプロセッサでは、乗算器は加算命令を複数回使ってソフトで演算します。
https://www.yonago-k.ac.jp/denki/lab/nitta/lecture/E3_digital/note/note10.pdf
こちらの資料の1ページ目では、乗算の筆算が説明されています。
http://www.ai-l.jp/Res/LB7.Arithmetic.pdf
こちらの資料の19ページ以降では、乗算器の説明がされています。