• ベストアンサー

MIPSプロセッサの命令と、インテルX86の命令

MIPSプロセッサの命令と、インテルX86の命令が違う理由について教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • nta
  • ベストアンサー率78% (1525/1942)
回答No.1

 質問者の意図がよく理解できませんが、「出自が違う」ことと「棲み分けができたので合わせる必要がなかった」といえるのではないかと思います。  プロセッサに特徴を持たせ性能を十分に発揮させるために、プロセッサアーキテクチャ設計の段階で、機能に応じた命令(機械語)セットが設計され組み込まれます。プロセッサによって命令セットが異なるのは当たり前といえます。しかし、そのプロセッサが普及し作成されたソフトウエアが再利用されるようになると命令の互換性についてはユーザ側から厳しい要求が出てくるようになります。一方で高速化への性能要求があるため、次々とアーキテクチャを革新する必要があるのですが、その中にあっても、ソフト資産という過去のしがらみとを両立させながら漸進的にしか命令を追加・改良せず、頑固に守ってきたのがMIPSでありx86であったといえると思います。  x86はやや複雑な命令を内部でかみ砕いて実行するCISCというアーキテクチャであり、MIPSはRISCと呼ばれる簡単な命令を高速に実行することのできるアーキテクチャであるとされ、元来の発想が異なっているという表現も以前にはありました。しかし、現在のx86は表面上はCISCでも内部ではRISCに似た構造を取り込んでいますし、MIPS側もビット操作命令を追加するなど、単純な命令の組み合わせという本来の思想から逸脱するような拡張が行われています。現在の技術を用いれば、それほど性能を落とさなくても、命令を全く同じにすることは不可能ではありません。  しかしながら、MIPSはUnixやレーザプリンタやデジカメの制御といった組込システムの世界で活躍し、x86はパソコンの世界で主に使われるといった棲み分けが確立しているため、わざわざ命令セットをそろえる意味はないと考えられています。むしろ、その世界で主流となって、参入するものを取り込んでしまう方がメリットが大きいといえます。

spongebob-sqp
質問者

お礼

ありがとうございました☆

関連するQ&A

  • プロセッサの命令実行時間

    基本情報処理のプロセッサの命令実行時間について質問です 1件のトランザクションについて80万ステップの命令実行を必要とするシステムがある。 プロセッサの性能が 200 MIPS で,プロセッサの使用率が 80 %のときのトランザクションの 処理能力(件/秒)は幾らか。 答は200なのですが、これがよくわかりません。 回答には、200 x 0.8とありますが、なぜこの式が成り立つのかまずわかりません。 200MIPSのプロセッサ性能のシステム?のうち80%が使用されているということでしょうか? そしてその次に80万のトランザクションであれば、160百万 ÷ 80万で200件となります。 これもなぜこの二つの数字を割るのかわかりません。 根本的に理由がわかっていないと、このような似た問題が解けないので、どなたか小学生でもわかるくらいかなり簡単に説明できる方いらっしゃいますか

  • 「MIPS」について

    「MIPS」は、 1秒間に実行される命令の回数を100万単位で表した単位です。 つまり、「1MIPS」1マイクロ秒に1回の命令を実行すると言うことです。 では「4MIPS」とは、1秒間に実行される命令の回数と記載されているので、 1マイクロ秒間に4回の命令を実行と解釈しましたが、不安ですので確認させて下さい。 「4MIPS」は、1マイクロ秒間に4回の命令を実行すると言うことですか。 それとも、4マイクロ秒間に1回の命令を実行すると言うことですか。 初歩的な質問で申し訳ありませんが、 ご存知の方おられましたら、ご教授お願いします。 以上、よろしくお願い致します。

  • IA-32とMIPSの命令セットが異なる理由

    なぜIA-32とMIPSの命令セットは異なるんですか? 同じ命令セットにしない必要はあったのでしょうか?

  • MIPSのbne命令について

    場所をお借りして質問させていただきます。 MIPSのbne命令は、ジャンプ先アドレスが16bit以内だと聞いたのですが、 もし、ジャンプ先アドレスが16bitを超えてしまうような場合はどのように処理しているのでしょうか。 回答よろしくお願いいたします。

  • 命令セットについて

    インテルのアセンブリ言語の命令セットとMIPSの命令セットの構成の違いを詳しく教えて下さい(*_*) お願いします★

  • MIPS について

    1回の浮動小数点演算を実行するのに80命令が必要な0.5MIPSのコンピュータのMFLOPS値を求めたいのですが、どうやって解いたらいいのでしょうか? MFLOPSという意味がいまいちよく分からないので解き方が分かりません。。。 どなたか教えてもらえませんでしょうか

  • インテルプロセッサーについて

    インテル Celeronプロセッサー Core i3プロセッサー Core i5プロセッサー Core i7プロセッサー Core i5vProプロセッサー Core i7vProプロセッサー これらはどう違うのでしょうか? Celeronプロセッサー と デュアルコア があった頃、 マルチタスクでは デュアルコアの方が有利とか呼んだ記憶が有ります。 上記の物はデュアルコアなのでしょうか?

  • X86/MIPSクロス環境での開発

    X86/MIPSクロス環境でソフトを開発している者です。 ネットで検索したところ、 #ifdef __mips__ ~MIPS環境での処理~ #else ~X86環境での処理~ #endif とすれば切替えられそうなことが分かりました。 でも、このプリプロはどこで定義されているのでしょうか。 未定義の環境があると他の手段を考える必要がありますよね? 御存じの方、ご教授よろしくお願い致します。

  • MIPS値の求め方

    以下の問題教えてください 3種類の命令群を持ち、それぞれの実行速度と出現頻度が下表とおりであるコンピュータのMIPS値を求めよ。 命令群 A B C 実行速度 2ナノ秒 3ナノ秒 4ナノ秒 出現頻度 40% 40% 20%

  • 命令パイプラインをつかった問題です。

    命令パイプラインをつかった問題です。 あるプロセッサの命令パイプラインは、命令読み出し、命令解読(デコード)、 オペランド読み出し、演算、オペランド書き込みの5つのステージからなり、 各ステージの処理は1クロックで完了する。 このプロセッサにおける平均CPI(Clock Per Instruction)が5であるとすると、 クロック周波数が 1GHzのとき、このプロセッサの 1秒間辺りの平均命令実行数を MIPSあるいはGIPSを単位として答えなさい。 検索してもcpiについてのことが書いてないので(私が理解できずに見過ごしてるかも・・)、cpiについても軽く説明があると嬉しいです!