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 回目 ]

アバター
h2so5
副管理人
記事: 2212
登録日時: 14年前

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

投稿記事 by h2so5 » 11年前

今のx86には外部からマイクロアーキテクチャレベルでパッチ?を当てる機能が存在するみたいですね。

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

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

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

h2so5 さんが書きました:今のx86には外部からマイクロアーキテクチャレベルでパッチ?を当てる機能が存在するみたいですね。
すいません。それは良く分かりません。
こっちの話ではないんですよね?
「Bulldozer (マイクロアーキテクチャ) - Wikipedia」
http://ja.wikipedia.org/wiki/Bulldozer_ ... %E3%83%A3)

PC Watchの「後藤弘茂のWeekly海外ニュース」とかもナナメ読みしているのですが、全部を把握できている訳ではないので良かったら教えて下さい。

アバター
h2so5
副管理人
記事: 2212
登録日時: 14年前

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

投稿記事 by h2so5 » 11年前

アーキテクチャレベルというのは間違いです。(FPGAじゃあるまいし...^^;)
マイクロプログラムのパッチでした。

本の虫: Intelのドキュメント化されていないマイクロコードアップデート用のバイナリの考察
Linux* Processor Microcode Data File
最後に編集したユーザー h2so5 on 2014年3月21日(金) 01:33 [ 編集 2 回目 ]

アバター
annojyou
記事: 0
登録日時: 11年前

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

投稿記事 by annojyou » 11年前

お話についていけませんが、トピックを覗いて気になっていたのでこうやってわかりやすく書いてくださってとてもうれしかったです。
とりあえずCISCは遅い、でも設計は簡単。RISCは高速化しやすい、ただちょいと難しい技術も使わないといけない。
と、これだけ覚えておこうかと…実際に使うときになったらまた勉強しなおそうかと思います。

トピックの方はどんな風に聞きかじったんでしょうか…softyaさんのお話を見ていると、RISCの方はハードウェアだけで実行できるというので、トピックのハードウェアを使って実行するというのは端折りすぎですがうなずけます。(CISCがソフトウェアで実行というのは詳しく勉強してないのでわかりませんが…)
しかしCISCとRISCがそれぞれソフトウェアとハードウェアで実行できるか…という質問の意図が見出せませんでした。
wikiさんをざっと見た限りどちらかというとCISCの柔軟性についてとか、RISCにすることで高速化することによっての利点と欠点とか…この二つはそれぞれどんなものに向いているのかとか…そういう機能についてのお話を聞くならともかく、肝心の内容を理解できてないっぽいのに何で実行できるかだけを聞くなんて…実際のプログラミングに生かすことは難しいと思うのですけれど。
トピックの方がそれでよかったのならいいのですが、そんな付け焼刃でプログラムをするならちょっぴり怖いかなぁと思ったりします。
…まあ私にはあまり関係ないことですけどね。

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

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

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

h2so5 さんが書きました:アーキテクチャレベルというのは間違いです。(FPGAじゃあるまいし...^^;)
マイクロプログラムのパッチでした。

本の虫: Intelのドキュメント化されていないマイクロコードアップデート用のバイナリの考察
Linux* Processor Microcode Data File
納得です。
確かにココらへんの情報はドキュメントにも書いてないですね。
annojyou さんが書きました:お話についていけませんが、トピックを覗いて気になっていたのでこうやってわかりやすく書いてくださってとてもうれしかったです。
とりあえずCISCは遅い、でも設計は簡単。RISCは高速化しやすい、ただちょいと難しい技術も使わないといけない。
と、これだけ覚えておこうかと…実際に使うときになったらまた勉強しなおそうかと思います。

トピックの方はどんな風に聞きかじったんでしょうか…softyaさんのお話を見ていると、RISCの方はハードウェアだけで実行できるというので、トピックのハードウェアを使って実行するというのは端折りすぎですがうなずけます。(CISCがソフトウェアで実行というのは詳しく勉強してないのでわかりませんが…)
しかしCISCとRISCがそれぞれソフトウェアとハードウェアで実行できるか…という質問の意図が見出せませんでした。
wikiさんをざっと見た限りどちらかというとCISCの柔軟性についてとか、RISCにすることで高速化することによっての利点と欠点とか…この二つはそれぞれどんなものに向いているのかとか…そういう機能についてのお話を聞くならともかく、肝心の内容を理解できてないっぽいのに何で実行できるかだけを聞くなんて…実際のプログラミングに生かすことは難しいと思うのですけれど。
トピックの方がそれでよかったのならいいのですが、そんな付け焼刃でプログラムをするならちょっぴり怖いかなぁと思ったりします。
…まあ私にはあまり関係ないことですけどね。
>とりあえずCISCは遅い、でも設計は簡単。RISCは高速化しやすい、ただちょいと難しい技術も使わないといけない。

これも誤解かもりません。
ハードウェア設計難易度は、CISCよりもRISCの方が簡単です。
ただ、CISCの命令が複雑すぎるのです。

>トピックの方はどんな風に聞きかじったんでしょうか…softyaさんのお話を見ていると、RISCの方はハードウェアだけで実行できるというので、トピックのハードウェアを使って実行するというのは端折りすぎですがうなずけます。
マイクロプログラムにRISCとCISCというのがあるというのを聞きましたが、前者はソフトウェアでプログラムを実行、
後者はハードウェアで実行すると聞きましたが、どういう事でしょうか?よく分りません。
jaljalさんの誤解は、マイクロプログラム自体がCISCとRISCのことであるという大誤解と、RISCがマイクロプログラムであるという誤解など多岐にわたります。
つまり、ちゃんと読めていない・調べられていないのです。
こういう内容の簡単な問題は情報処理試験にあるので、それ辺りから聞きかじったかな?とは思います。
情報処理試験を受けるなら、ちゃんと勉強していただかないと意味が無いですしね。

ちなにみ最初に私の書いた内容は、情報処理試験のレベルより突っ込んだ内容になっているので試験対策なら、ここまで理解する必要なんてないです。

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

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

投稿記事 by ISLe » 11年前

RISCとCISCってある意味理想と現実って感じですね。
ハードウェアだけで無くソフトウェアでもよくあることですけど。

RISCが否定する直交性もグラフィックの分野では需要が大きくてGPUに株を奪われたように見えます。
MPUとGPUが別れたことはむしろ良いことですが。

過去には68000の直交性がゲームプログラマに好まれて2Dゲームのグラフィック演出の向上に大きく寄与したと思います。
コンピュータの世界には時代の先を行き過ぎて廃れたと思われるものってけっこうありますよね。
最後に編集したユーザー ISLe on 2014年3月21日(金) 17:07 [ 編集 2 回目 ]

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

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

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

68000の機械語命令の直交性は素直で好きでした。その分x86はアレですね。

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

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

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

> その分x86はアレですね。
x86のアセンブリしかやったことないので、差がわかりません。
x86との比較を記載した情報って何かありませんかね?興味があります。

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

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

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

比較記事はないですが、68000の解説でも。
「MC68000とは何か - 魔法使いの森」
http://www.wizforest.com/OldGood/MC68k/

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

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

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

> 68000の解説でも。
ありがとうございます。
ところどころ8086との比較が書いてあるので、十分参考になりました。
当時としては先進的だったんですね。
しかし24bit出力・・・が半端に見えるのは、x86ではありえないからかなあ・・・