2017-02-22 2 views
-1

MIPS ISA hat eine 'R'-Anweisung und die' R'-Anweisung hat ein 'Opcode'-Feld bei den ersten 6 Bits und ein' Funt'-Feld bei den letzten 6 Bits. Warum ist die ISA so konzipiert? Wie wäre es, sie zu einem 12-Bit-Feld zusammenzufassen?Warum unterscheiden sich 'Opcode'-Feld und'Funkt'-Feld in MIPS?

+1

Warum sollten Sie sie in 12-Bit kombinieren? –

+0

Weil alle Anweisungen von einem gemeinsamen Punkt aus dekodieren müssen. Ein 12-Bit-Opcode würde zu viele Bits für andere Nicht-R-Typen kauen, die sie für andere Dinge verwenden. (Zum Beispiel verwenden die "j" - und "jal" -Befehle die verbleibenden Bits, um die Adresse zu spezifizieren (d. h. kein Funktionsfeld). Nach dem Decodieren des Opcodes ist jeder Befehl frei, die verbleibenden 26 Bits in irgendeiner Weise zu interpretieren. sofortige Insts (z. B. "ori") verwenden die letzten 6 als Teil des 16-Bit-Direktoperanden –

Antwort

0

Wie wäre es, wenn sie in 12-Bit-Files kombinieren?

Seit dem Opcode ist das gleiche für einige Operation in MIPS und wenn Sie die funct ändern, als Sie nicht Opcode, welche Operation der Anweisung ist zum Beispiel betrachten Sie das folgende hinzufügen (R, 0,32) add hat unterscheiden kann 0 und funct32
und bedenken sie auch, dass und (R, 0,36) and hat auch Opcode 0 aber unterschiedliche funct in diesem Fall 36, die es ist und AND Betrieb bedeutet.

Überprüfen Sie das MIPS-Referenzblatt.

Verwandte Themen