2016-04-17 28 views
0

私は32ビットのMIPS命令とメモリレジスタが...よく32ビットであり、PCが命令レジスタのその命令のアドレスを計算することを知っています。mipsには32ビットのアドレスと32ビットの命令がありますか?

は、私の質問はこれです:32ビット命令に添付さ32ビットのアドレスはありますか?これらはすべてゼロであるという事実を無視

...

は0x00000000の(命令)と連結0x00000000の(アドレス)ですか?例えば

は、Rタイプは、上記のアドレスはPCに対応32ビットを吐き出すよう 000000_00000_00000_00000_00000_000000

が一緒に連結2つの32ビット数であるである

OP(6) RS(5) RT(5) RD(5) SHIFTAMMT(5) FUNCT(6) 
=> 32 bit instruction 
=> 000000_00000_00000_00000_00000_000000 

あります64ビット値の上半分?私はしばしば持っているテーブルを参照してください

Address  Instruction 
0x00000000 0x00000000 

助けていただければ幸いです。

答えて

2

テーブルは、あなたは、多くの場合、命令と命令自体のアドレスを示してご覧ください。メモリ内では、すべてのワード(バイト)に決して変更されないアドレスがあります。アドレス(プロセッサが使用する場所)と命令(場所に格納されているもの)は独立しています。

0

は限りあなたが求めているものとして、命令セットはこれ以上でもそれ以下固定長ではありません。

いくつかの命令のアドレスは、レジスタに含まれ、それだけでそのレジスタを定義する32ビット命令の数ビットを要します。

レジスタがアドレスのソースとして使用されない場合、命令内のビットのパーセンテージは通常、オフセットを含みます。すべての命令が32ビットであるため、オフセットはバイト単位ではない命令の単位であり、それらの2つのビットを無駄にすることはありません。 mipsに他のエンコーディングがあるかどうか覚えていません。そうすれば、アドレスのほんの一部にすぎません。

命令のビットのうちのいくつか割合がビットの残りは、その命令のパラメータを定義し、その符号化に基づいて、その命令を、定義するために予約されなければなりません。これらの命令エンコーディングには、特にmipsウェブサイトのソースが多数あります。

(32ビットの固定長のルールには例外がありますが、16ビット命令セットがありますが、アドレスのエンコード方法は変わりません.MIPSはx86や他のciscのように可変長ではありませんパラメータなど)

+0

はいMIPS 32ビット命令と32ビットのアドレスを持っています。単一の命令は完全な32ビットアドレスを単にホストすることができない。 –