• 締切済み

マイコンのCISCとRISCについて

たとえばデータシート等のブロック図でRISCかCISCであるかの区別はつくのでしょうか?プログラムメモリとRAMが別構成であるとハーバードアーキテクチャと想像できすが。このアーキテクチャであればRISCとみなしていいのでしょうか? それにファームウェア設計者はRISCとCISCを考慮する必要があるのでしょうか? 参考になる書籍やウェブサイトなど紹介頂ければありがたいです。 質問だらけになって恐縮ですが、よろしくお願い致します。

みんなの回答

  • rinkun
  • ベストアンサー率44% (706/1571)
回答No.1

まずRISCというのはマーケティング用語で技術的に厳密な区分は難しいのですが。 大雑把にはRISCとCISCというのは命令セットの違いです。ロード・ストア・アーキテクチャすなわち基本演算命令がレジスタ間(およびイミディエート)演算に限定されていればRISC、基本演算命令でレジスタ-メモリ演算が可能ならばCISCと言って良いでしょう。 ファームウェア設計者はRISCとCISCなどという大雑把な分類ではなく使うCPUのアーキテクチャを考慮する必要はあると思います。 割込み応答性能とかCPUによって違いますし、内蔵メモリか外付けかで使えるメモリ量は全然違います。プログラム・バイナリのサイズはCPU命令語長によっても変わりますがコンパイラの性能にも依存しそうですね。 あとファームウェアだとI/OがI/O命令かメモリマップドI/Oかも重要ですか。RISCだとほとんどメモリマップドですが、メモリマップドI/Oアクセス時はキャッシュ(ある場合)を回避しないといけないですね。 参考書の類は良いものを思いつきません。

sys_tarou
質問者

お礼

遅くなりましたが回答ありがとうございます。 コンパイラを介する場合はRISC,CISCについては特別問題にならないかもしれないですね。ただ端的にCPUの特徴を説明する場合を考えたときにうまく説明ができないことがあります。 個人的にはCISCリトルエンディアンのマイコンはアセンブラ開発では使い難いと考えています。ビッグエンディアンに慣れてしまったのでアドレスが減る感覚がなじめないです。アドレッシングモードが豊富なのいいでのすが正直使い難いと感じます。←使いこなせてないかもしれませんが(^^; 命令長も可変長なので処理的にもパイプラインを搭載していてもメリットが少ないような気がします。 経験談でも、使いやすいマイコン等紹介していただければありがたいです。

関連するQ&A