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
A
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 funct
32
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
- 1. Warum unterscheiden sich zwei Objekte in Java?
- 2. Warum unterscheiden sich Build-Typen von Produktaromen?
- 3. Warum unterscheiden sich diese Date-Objekte?
- 4. Warum unterscheiden sich Monad-Transformatoren von Monaden?
- 5. Warum unterscheiden sich diese Memo-Funktionen?
- 6. Warum unterscheiden sich die beiden Ausgänge?
- 7. Warum unterscheiden sich diese beiden DateTime-Instanzen?
- 8. ffmpeg Ausgabedateien unterscheiden sich
- 9. UIBarButtonItem Größen unterscheiden sich
- 10. Warum unterscheiden sich die Systemrufnummern in amd64 linux?
- 11. Warum unterscheiden sich Leerzeichen in HTML-Markup von CSS?
- 12. Warum unterscheiden sich geerbte Docker-Bilder in der Größe
- 13. Warum unterscheiden sich Prototyp und Definition einer Funktion in C?
- 14. Warum unterscheiden sich die eckigen Materialdefinitionen in meinem HEAD?
- 15. Wodurch unterscheiden sich jQuery-Objekte?
- 16. Wie unterscheiden sich diese Bedingungen?
- 17. Wie unterscheiden sich diese Zeichen?
- 18. == und% in% unterscheiden sich basierend auf Zeichencodierung?
- 19. Warum unterscheiden sich gerenderte Pixel von realen Pixeln?
- 20. Warum unterscheiden sich Auto- und Schablonentypabzüge für starre Initialisierer?
- 21. Warum und wie unterscheiden sich diese beiden Nullwerte?
- 22. Warum unterscheiden sich die Ergebnisse der beiden Berechnungen?
- 23. Wie unterscheiden sich Zufallsgenerierungsmethoden in Python?
- 24. JMeter-Berichte unterscheiden sich in Jenkins
- 25. Warum unterscheiden src rpms
- 26. Wie unterscheiden sich diese beiden Guids?
- 27. Python-Hashes unterscheiden sich zwischen Threads
- 28. Wie unterscheiden sich diese beiden Aufrufe?
- 29. JPA oder JDBC, wie unterscheiden sie sich?
- 30. globale Variable in Namensraum - Werte unterscheiden sich in Threads
Warum sollten Sie sie in 12-Bit kombinieren? –
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 –