CISCとRISCの説明をとりあえず、こちらに書いておこう。

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 14年前
住所: 東海地方
連絡を取る:

CISCとRISCの説明をとりあえず、こちらに書いておこう。

投稿記事 by softya(ソフト屋) » 11年前

説明は、みんなの知っているCPUで書きます。
CISC。代表格はx86CPUつまり、PC用のCPUのアーキテクチャの事だ。
RISC。代表格はPowerPCって事でPS3(CELLのコア)やXBox360で使われたCPU。

CISCは機械語命令が複雑で、ハードウェアだけで機能を実現するのは非常に困難だったので昔はマイクロプログラムって方式が使われていた。
つまり、CPUの中でミニCPUがx86命令のエミュレートしていのだ。良いことは設計が簡単になること。弱点は遅くなること。
マイクロプログラムは真の機械語と言えるだろう。

RISCは機械語命令を単純化することで、ハードウェアだけで機械語命令の実行を可能にしたもの。
良いことはハードウェアだけなので高速化が容易。弱点は1命令の機能が単純化されるので冗長なのと特定の命令の実行順番を機械語の並べ方で工夫してやらないと命令パイプラインで遅延が発生すること。
そのため機械語最適化が高機能なコンパイラが必須とされる。

ってこの話について来られる人はどのぐらいいるのだろうか。

現在のx86=CISCはマイクロアーキテクチャにより内部でRISC動作しているため、RISCとの差異はほとんど無いと言って良いと思います。
※ CISC命令→複数のRISC命令
両方の良いトコ取りをして両方のモード持つARMと言うCPUも絶好調です。 → スマホやタブレットで利用。
と言う事で、この話を理解するのはすごく難しいという話でした。

【補足】
「マイクロプログラムとは? • C言語交流フォーラム ~ mixC++ ~」
http://dixq.net/forum/viewtopic.php?f=3&t=14839
この質問と連動しています。
最後に編集したユーザー softya(ソフト屋) on 2014年3月21日(金) 00:16 [ 編集 1 回目 ]

ISLe
記事: 2650
登録日時: 14年前

Re: CISCとRISCの説明をとりあえず、こちらに書いておこう。

投稿記事 by ISLe » 11年前

へにっくす さんが書きました:しかし24bit出力・・・が半端に見えるのは、x86ではありえないからかなあ・・・
バス出力が全部繋がっているわけではないというハードは珍しくないと思います。
32ビット全部繋がっていないのは単に当時のメモリ(とその周辺回路)が高価だったからでしょう。

同時期のx86系は16ビットと16ビットを8ビット重ねて組み合わせて24ビットとする変態仕様ですからね。
そういうこともあって、わたしはウィンドウズ95が出るまでx86系は傍目に見てました。
最後に編集したユーザー ISLe on 2014年3月23日(日) 17:39 [ 編集 2 回目 ]

アバター
へにっくす
記事: 634
登録日時: 13年前

Re: CISCとRISCの説明をとりあえず、こちらに書いておこう。

投稿記事 by へにっくす » 11年前

ISLe さんが書きました:同時期のx86系は16ビットと16ビットを8ビット重ねて組み合わせて24ビットとする変態仕様ですからね。
あーそういや80286はそういう仕様でしたね
セグメント方式をとってたから仕方がなかった気もします。
80386からセグメントとオフセット両方とも32ビットになったんだよね。
私は486sxのPC-9801FA5から入ってるので、そのへんは詳しくないですが…

修正:なぜか480sxになってたので正しい486sxに修正
最後に編集したユーザー へにっくす on 2014年3月23日(日) 22:41 [ 編集 1 回目 ]

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 14年前
住所: 東海地方
連絡を取る:

Re: CISCとRISCの説明をとりあえず、こちらに書いておこう。

投稿記事 by softya(ソフト屋) » 11年前

MC68000シリーズもMC68020(1984年)から完全32bit化していますね。
ちなみに、MC68008と言う外部データバス8bitの異端児も存在します。
まぁ、x86にもIntel 8088と言う異端児がいますけど。