24

私は数ヶ月間、アセンブリ言語でx86とx86-64のプログラミングを行ってきました。それでは、別の種類のプロセッサに移りたいと思います。

MIPS、SPARC、PowerPC、Itanium、ARMこれらのうちARMが広く使用されていることがわかりました。しかし、チュートリアルや本が他のすべてのアーキテクチャよりもMIPSについて教えていると私が思う本。

なぜMIPSはとても人気があるのですか?MIPSプロセッサはまだ使用されていますか?どのアーキテクチャを選ぶべきですか?

私の背景:

私は電子工学科の学生です。私はハイレベルのプログラマーでもあります。

4

7 に答える 7

32

CaviumNetworksRazaMicroelectronicsBroadcom は、2つの大手MIPSチップメーカーです詳細については、 MIPSImaginationTechnologiesのWebサイトを参照してください。

MIPSが実行し、ARMが実行しないことの1つは、64ビットです。

2013年現在の更新:Broadcomは2006年以降新しいMIPS製品を導入していないようであり、Caviumは64ビットARMv8に移行しているようです。Imagination Technologiesは2012年後半にMIPSを買収しました(皮肉なことに、彼らの最大の顧客であるAppleはARM v8を最初に市場に出しました)。

書き込みはMIPSの壁にあります。


MIPSは、最もクリーンで成功したRISCです。PowerPCと(32ビット)ARMには、CISCと呼べるほど多くの追加命令(いくつかの動作モード、特に32ビットARM)があります。SPARCにはいくつかの奇妙な機能があり、Itaniumは完全に奇妙な機能で構成されています。後者の2つはMIPSよりも死んでいます。

したがって、MIPSを学習すると、その知識の100%を他のRISCに転送できます(遅延スロットを与えるか、または取ることができます)が、それでもPPCに関する多くの奇妙な指示について学ぶ必要があります。 32ビットARM、およびSPARCのレジスタウィンドウ。ItaniumはRISCではないため、Itaniumを学習しない以外に、何も言うのは難しいです。

私はまだ64ビットARMを研究していませんが、本質的にクリーンな設計であるため、MIPSの肯定的な品質のほとんどを備えている可能性があります。

于 2010-04-16T15:01:44.953 に答える
9

MIPS が学校で教えられる理由は、それが「古典的な」RISC アーキテクチャであり、ヘネシー & パターソン (現代の RISC のゴッドファーザー) によって聖書で使用されている種類のアーキテクチャである DLX に似ているためです。そのシンプルさから理解するのは非常に簡単で、一度理解すれば、他のアーキテクチャに移行するのは簡単です。

特定のアーキテクチャについて学ぶ必要がある場合は、ハードウェアの専門家になることに興味がない限り、知識以外の要素はあまり役に立たないかもしれません。ほとんどのコンパイラは、非常に低レベルのコードを記述する必要がない限り、多くのハードウェアの問題を抽象化します。したがって、PPC/SPARC/ARM/MIPS など、90% のプログラマーにとって実際には大きな違いはありません。

于 2010-04-14T06:06:07.137 に答える
9

あなたが x86(-64) の世界で経験を積んでいるのであれば、RISC プロセッサへの移行は、心を開いておくための良い横道の動きです。あなたの質問は良いものです。

2 番目の質問への回答: はい、MIPS プロセッサはまだ使用されています。多くの場合、ルーターやその他の小型コンピューティング アプライアンスなどで使用されるプロセッサです。また、アジア市場の小型ホーム コンピューティング デバイス (Lemote など) にもますます登場しています。彼らが ARM よりも優位に立っているのは、競争力のある価格/性能比と 64 ビット機能です。ARM が MIPS よりも優れているのは、メモリが機能する場合にはるかに優れた電力/パフォーマンス比と、コアを構築するためのより柔軟なオプション セットです。SPARC は非常に高価ですが、公平を期すために、非常に高速です。言及されている他のアーキテクチャについて、有用なコメントをするのに十分な知識はありません。(まあ、RISC でも CISC でもない基本的に死産の技術である Itanium を除いて。)

ここで最初の質問に答えてください。MIPS が本で非常に目立つ理由は、それが RISC システムのほぼ完全な模範であるからです。これは、小さくて比較的純粋な RISC 実装であり、理解しやすく、RISC の概念をよく示しています。教育目的のためには、RISC の性質とその疣贅を示すには、おそらく最良の現実世界のアーキテクチャです。RISC と考えられている他のプロセッサ (ARM、SPARC、Alpha など) は、より実用的で複雑であり、RISC の概念を難読化し、より良いパフォーマンスやその他の利点のためにいくつかの CISC のような拡張機能を備えています。

最後に、あなたの最後の質問に答えるために、OOP を学んでいる人は Eiffel を、関数を学んでいる人は Haskell を、などと同じ理由で MIPS を学ぶことをお勧めします。MIPS は、現実世界で実際に使用されている RISC 概念の最も純粋な実装であり、RISC の考え方と (ほとんどの場合) RISC の考え方だけで問題を解決することを余儀なくされます。これにより、RISC アプローチの準備が整い、MIPS を直接使用したことがなくても、ARM (2 番目に推奨) や SPARC、またはその他の RISC アーキテクチャを簡単に理解できるようになります。(私が指摘したように、実際には MIPS と競合することになるかもしれません。)

于 2010-05-09T06:52:42.100 に答える
4

これは単なる憶測です。情報は、MIPS に関するウィキペディアの記事から取得されます。

  • MIPS は、商業的な環境ではなく、アカデミックな環境 (スタンフォード) で生まれました。そのような環境にいる人は、会社で働いている人よりも教科書を書く可能性がはるかに高い.
  • 1990 年代に、MIPS はライセンス可能になりました。当時の 1 ドルあたりのまともな/優れたパフォーマンスと相まって、これは組み込み市場で比較的広く採用されることにつながりました (ARM も同じ話です)。

1990 年代は RISC プロセッサのみでしたが、組み込みプロセッサの市場シェアのグラフを見つけることができました。MIPS である大きなチャンクに注意してください。市場シェアに関しては、ARM が MIPS を圧倒していると思いますが、その数字はわかりません。

于 2010-04-14T06:01:17.230 に答える
2

プレイステーション 2 には MIPS CPU が搭載されていました。PS3 は POWER バリアントのように見える Cell を使用し、XBox 360 も PowerPC を使用します。

ARM はモバイル デバイスで特に人気が高まっているようで、PowerPC は組み込みシステム、特に自動車で依然として巨大です。適切なデバイスを調べれば、時折 M68k を見つけることさえできます。

MIPS は、実際のアーキテクチャでありながら比較的単純であるため、おそらく人気があります。これは間違いなく (の 1 つ?) 最初の最新の RISC アーキテクチャです。(でさえそれを理解することができました!)

それは本当にあなたが何を学びたいのか、そしてその理由によって異なります。ただの楽しみ?組み込みデバイスを構築するには?コンパイラを書くには?独自のアセンブリ コードを作成するには? 気を引き締めるため?

于 2010-04-14T06:05:33.080 に答える
1

MIPS CPU は、非常に成功した最初の RISC プロセッサの 1 つであったため、「基本的な」RISC アーキテクチャ プロセッサとして教えられています。SGI は、Onyx やその他のいくつかのプロセッサ ファミリなど、いくつかのコンピュータ システムをこのプロセッサ ファミリに基づいて構築しました。また、1980 年代中頃から 1990 年代後半にかけて、少数の MPP (超並列プロセッサ) コンピュータでも使用されました。

誰かが前に述べたように、コードは簡単に習得でき、一度習得すると、Alpha、SPARC、ARM、IBM Power PC などのより「複雑な」RISC 命令ベースのプロセッサに簡単に移行できました。HP は 1980 年代に RISC プロセッサも製造し、商用コンピュータ システムの一部に搭載されました。

MIPS プロセッサは現在でも使用されています。MIPS-V プロセッサに基づく MIPS64 I-Class は、私が認識しているプロセッサの最新バージョンです。イマジネーション・テクノロジーズがプロデュース。私の理解では、これと、R14K や R16K などの新しい MIPS プロセッサは、R10K アーキテクチャに基づいています。

若い頃、私は MIPS R10k アップグレード プロセッサを搭載した 16 プロセッサ SGI Onyx Reality Engine II で作業する幸運に恵まれました。主に UNIX SVR4 32 ビット CISC システムで作業してきたので、ほとんどのコマンドがまったく同じであることにショックを受けました。CISC から RISC へのコーディングの違いを学ぶのに数日かかりましたが、その後はとても簡単でした!!!

于 2014-12-01T08:33:22.813 に答える