web-dev-qa-db-ja.com

MIPSプロセッサ:それらはまだ使用されていますか?他にどのアーキテクチャを学ぶ必要がありますか?

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

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

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

私の背景:

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

25
claws

Cavium Networks および Raza MicroelectronicsBroadcom 2つの大手MIPSチップメーカーです。見る - MIPS Imagination Technologiesのウェブサイト 詳細については。

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

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

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


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

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

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

31
Potatoswatter

X86(-64)の世界で経験を積んでいる場合は、そうです。RISCプロセッサへの移行は、心を開いたままにするための良い横方向の移行です。あなたの質問は良いものです。

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

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

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

MIPSが学校で教えられている理由は、MIPSが「古典的な」RISCアーキテクチャであり、DLXに似ているためです。これは、Hennessy&Patterson(神父)によって聖書で使用されている種類のアーキテクチャです。現代のRISCの)。その単純さを理解するのは非常に簡単であり、一度理解すれば、他のアーキテクチャへの移行は十分に簡単です。

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

9
sybreon

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

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

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

3
Dietrich Epp

PlayStation2にはMIPSCPUが搭載されていました。 PS3はPOWERバリアントのように見えるCellを使用し、XBox360もPowerPCを使用します。

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

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

それは本当にあなたが何を学びたいか、そしてその理由に依存します。楽しみのためだけですか?組み込みデバイスを構築するには?コンパイラを書くには?独自のアセンブリコードを作成するには?あなたの心を伸ばすために?

2
Ken

本日、中国企業がMIPSを使用していることを付け加えておきます。特に、消費者市場をターゲットとする Ingenic Semiconductor 、消費財に関与する Loongson Technology スーパーコンピューター。

他のメーカーがARMまたは自社のIS)を使用している場合でも、 Microchip PIC32Mライン のような最新の低コストマイクロコントローラーでもそれらを見つけることができます。 =(例:Atmel AVR)。

1
qwr

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

誰かが以前に述べたように、コードは簡単に習得でき、一度習得すると、Alpha、SPARC、ARM、IBM PowerPCなどのより「複雑な」RISC命令ベースのプロセッサに簡単に移行できました。言及する価値のあることは注目に値しますが、HPは1980年代にRISCプロセッサも製造し、商用コンピュータシステムの一部に電力を供給しました。

MIPSプロセッサは現在も存在します。MIPS-VプロセッサをベースにしたMIPS64I-Classは、私が知っているプロセッサの最新バージョンです。 ImaginationTechnologiesによって作成されました。私の理解では、これとR14KやR16Kなどの新しいMIPSプロセッサは、R10Kアーキテクチャに基づいています。

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

1
J. Simons