2017-02-22 4 views
-1

MIPS ISAは 'R'タイプ命令を持ち、 'R'命令は最初の6ビットに 'opcode'フィールドを持ち、最後の6ビットに 'funt'フィールドを持っています。では、なぜISAはこのように設計されていますか?それらを12ビットのフィールドに結合するのはどうですか?なぜMIPSでは 'opcode'フィールドと 'funct'フィールドが離れていますか?

+1

なぜ12ビットに結合する必要がありますか? –

+0

すべての命令は共通点からデコードする必要があるためです。 12ビットのオペコードは、他の非R型のためにあまりにも多くのビットをチューニングして、他のもののために使用します。 (例えば、)「j」および「jal」命令は、残りのビットを使用してアドレスを指定する(すなわち、機能フィールドを持たない)。オペコードをデコードした後、各命令は自由に残りの26ビットを解釈する。即時インスタント(例えば、「ori」)は、16ビットの即値オペランドの一部として最後の6を使用する –

答えて

0

これらを12ビットで組み合わせるとどうでしょうか?

オペコードは、MIPSで、いくつかの操作のために同じであり、あなたがfunctを変更する場合は、命令は、例えば以下の(R、0,32)を追加考えるんどの操作を区別することはできません以上のでaddは、オペコードを持っています032
functそしてまたそれを考えると、(Rは、0.36)andもオペコード0が、それはとAND操作だ意味し、この場合36funct異なるがあります。

MIPSリファレンスシートを確認してください。

関連する問題