2009-03-17 16 views
3

私はx86アセンブリを知っています(そして、FPGAなどで作業しています)、RISC用に書いたことはありません。 MIPSでコースを取る機会がありますが、私の質問は です私が学ぶすべてのことが何らかの形で有益であることを知っている、 本当に、どれくらい有益? (私は熱狂的な低水準だが、これは必見です!)MIPSを第2のアセンブリ言語として学びますか?

(私はmips-is-it-importantを認識してんだけど、私は、私はすでに国会のいくつかの種類を知っているように私の場合はわずかに異なっていることを感じる)

ありがとう。

+0

ここには正しいか間違った答えがないので、私は最も有益な答えを選びました。答えた人に感謝します。 –

答えて

5

MIPSの興味深い点の1つは、トランスレーションルックアサイドバッファ(TLB)を手動で管理する必要があることです。 x86(または私がプログラムした他のほとんどのISAs)では、これを行う必要はありません。そのようにして、他のRISC CPUよりもRISCierです。多くのネットワーキングおよびストレージギアにMIPS cpusが組み込まれています。この10年間の初期段階で働いたスタートアップは、暗号化アクセラレータを備えた16コアのMIPS CPU(コプロセッサの2つとして)を行った。そのデザインはJuniper Networksによって購入され、ルータ内の適応サービスPICに使用されています。

だから、他の人が言っているように、MIPSはRISC ISAのかなり良い例であり、まだ多くのデザインが勝っています。私はそれが学ぶことが有用だと思います。

は、私は次の本の初版はそれを学ぶための良い方法であることが判明:

http://www.amazon.com/Second-Morgan-Kaufmann-Computer-Architecture/dp/0120884216/ref=sr_1_1?ie=UTF8&s=books&qid=1237328559&sr=1-1

2

確かにでなければなりませんが、それはRISC-ishアーキテクチャの素晴らしい例です。これにIBM 360アーキテクチャー(正直なところ!)を追加すれば、通常の命令セットのスパンについてかなりよく知っているはずです。

1

other questionはますます時代遅れのアーキテクチャの正当性を示しています。学習アセンブリ自体は有用です。あなたの場合は適用されません。

私は、アセンブラの知識を既に持っている場合にのみ、コースを検討します(そうでなければ、基本的なコンセプトを繰り返すのに多くの時間を費やすでしょう)。それ以外の場合は、特定のプロセッサ(ファミリ)ですぐに作業することを期待しない限り、より関連性の高いもので時間を費やす方が良いかもしれません(別のアセンブラではないでしょう)。

2

MIPS(少なくとも基本的なもの)を学ぶことは難しくないと思いますが、the SPIM simulatorもあります。低レベルのプログラミングが好きなら、試してみる価値があります。

1

私は学校にいた(BS CS Michigan Tech 2008)、MIPSアセンブリ(SPIM上で動作する)は、必要な "Intro to Computer Architecture"クラスで教えられました。アーキテクチャのキャッシュ、キャッシュ、DMAなどがあります。また、ダイオード、コンデンサ、トランジスタなどの低レベルのコンポーネントからロジックゲートやダイナミック/スタティックメモリを構成する方法の基本についても学びました(これはCSクラスではありませんでした)。我々は加算器、ALU、そして最終的にはマシンコード仕様が与えられた非常に単純な16ビットRISCプロセッサを構築するために、論理シミュレーションソフトウェア(基本的にAND/ORゲートなどをグリッド上にドラッグアンドドロップすることができます)アセンブラ、サンプルプログラム、およびサンプル出力が含まれています。

もしそれがこの種のクラスなら、それは非常に価値があると言えます。このクラスの知識は、OSクラス(仮想メモリ/ページング/キャッシュ、割り込みなど)の理解に役立ち、JVMがバイトコードをどのように処理しているかを理解するのに非常に役立ちました。アセンブリがマルチプレクサやALUやレジスタへのマシンコードマップにどのようにマップされるかを理解することは、わかりやすく理解しやすい前に魔法と思っていたものをたくさん作りました。

これ以外の場合は、ツールセットに別の命令セットを追加するだけです.MIPSはこれと異なる場合があります。 で、x86と比べて非常に簡単で簡単です。定期的なので、クラスに大きな問題はありません。しかし、貴重ですか?一般的にアセンブリがかなり快適で何らかの理由でそれが必要な場合は、クラスを取らずにかなり簡単に取り上げることができます。

1

があなたの低レベルの愛好家は、それは価値があるかもしれない場合は、しかし、あなたは自分自身でMIPSを教えることができます週末にはコースがmipsでプログラミングされていると思います。それがmipsを使ったコンピュータハードウェア理論コースであれば、それはあなたの時間の価値があると思います。

しかし、それがMIPSプログラミングであり、すでにx86アセンブリのハンドルと低レベルプログラミングの概念を持っているなら、私はクラスを渡すと言うでしょう。 schnaaderが指摘したSPIMを使用して、時間とお金を節約し、週末を過ごしたり、MIPSを混乱させたりする。

また、アセンブリで再帰関数を記述したことがない場合は、この資料を十分に調べていないことにも注意してください。

1

私のクラスの1つでは、MIPSアセンブリ言語を学ばなくてはなりませんでした。まあ、技術的に...それは私たちの独自のカスタムアーキテクチャでしたが、MIPSから大きく基づいていました。結論、それをしてください。私はこの金属を低く抑えることが嫌いですが、アセンブリを知ることは無限に私を助けました。

関連する問題