質問: RISCとCISCについて確認事項があります。 まず、CISCから! intel x86シリーズなどは、こちらかと思います。 ワイヤードロジックとマイクロプログラム方式のハイブリッドだと思います。 CPU内部にあるデコーダによりアセンブルされた2進数のコードがさらに細かくされるんですよね?(マイクロコード) それがナノプロセッサに流れていき、命令を処理すると思うのですが・・・ このマイクロコードとは、一般的に公開さているんですか? マイクロコードは、cpu内のROMか何か書かれているものですかね? しかし、考えてみるとすごい大変ですよね? intel x86 の命令が何個あるのか分からないのですが、各命令の対となるマイクロコードが存在するという事ですよね? かなりの個数のマイクロコードが存在することになるのではないでしょうか? このあたりの理解があやふやです。 続いて、RISCですね。 組み込み系・・・ARM などですかね。 RISCも同じくワイヤードロジックとマイクロプログラム方式のハイブリッドだと思います。 アセンブルされた命令とマイクロコードが1対1になっていると思います。 つまり、RISCにはデコーダユニットがないという事ですよね・・・ CISCはアセンブリ言語から作られるコードの大きさがバラバラですが、RISCは全て同じサイズのコードが生成されるんですよね? RISCの方はあまり詳しくないのです。 ちょっと不安なの間違いがあったら教えてください。 「追記」 どちらのアーキテクチャもPLA(programmable logic array)で作られているんですよね? PAL(programmable array logic)で作られているCPUってなにがあるんですか?
回答: マイクロコードがどこに保存されているのか分からないのですが、調べた結果を書きます。 ソフトウェア同様、CPUにもバグはある マイクロコード BIOSとマイクロコード CPU内にBIOSみたいなROMがあり、そこに保存さている可能性があるかもしれないです。 調べてみてCPUの話なのになんでBOISが出てくるんだろうと思ったのですが、CPUとBIOSの関係が自分が考えていた以上に複雑な物のようですね・・・ もしかしたら、CPUのマイクロコードがBIOSに保存さている?? いや、、、流石にそれは考えにくいかな・・・・? デコードユニットから先はマイクロコードがワイヤードロジックによって組まれたハード線を通っていくだけなので、RISCの本を読めばわかるのですが、アセンブリ言語によって生成される機械語をどうやってマイクロコードへ変換しているかちょっとまだわからないです。 CPU内部のマイクロコードがアップデート可能だったのは、初めて知りました・・・・ 「追記」 x86を高速化する切り札技術「命令変換」の仕組み CPUはどのようにして命令を認識しているのでしょうか? 「CISC = デコーダ + RISC」 というのは、分かるのですが、なーーんか上記のサイトを見ると・・・ 今度はROMに書かれているようでは、ないっぽい・・・かな?? んーー。まだよくわからないですね。 追記2] ようやく分かりました。 命令をマイクロコードに変換するためのROMがCPUの中に内臓されているようです。 ![イメージ説明 CPU内のハードの配線を変更せずともマイクロコードを変更するだけであたかも配線を変えたのと同じ効果を期待できるという特徴があるようです。 BIOSのアップデートの際に、複数回再起動しますよね? あれは、BIOS ROMの中にパッチを入れておいて、再起動する際にCPU内のROMを書き換えているようです。 CPU内のマイクロコードの更新の際にBIOSが必要なようです。最近はUEFIですが。 CISC用のマイクロコードデコーダのあとはRISCと同じようにマイクロコードを先頭から何ビットか分割するようにハードの配線が組まれているようです。 それを一般的にデコーダと呼んでいるそうです。 !イメージ説明 RISCの中にもデコーダと呼ばれているものが入っているようですね・・・ つまり、 「CISC = マイクロコード変換ユニット + RISC」が正しいですね!! アセンブリ言語によって生成されたコードをどのようにマイクロコードに変換しているかは難しいので、ここでは省きます。 ただそれ専用のユニットがCPU内に内臓されているようですね。 「参考にした本」 コンピュータの構成と設計 上 コンピュータの構成と設計 下 コンピュータアーキテクチャ技術入門 とても良い本でした!! 「参考サイト」 マイクロコードとは? Intel 8051 一般的に、 CISC = マイクロコード方式 RISC = ワイヤードロジック方式 最近のintel CPU はマイクロコード部分を減らし、ワイヤードロジック部分の増やしているそうです。