MIPS-Hauptsteuerlogik

Im Buch von Patterson & Hennessy,

Dies ist für diese 4 Anweisungen, wenn ich Anweisungen wie andi, addi, ori, j usw. implementieren muss, füge ich diese Tabelle hinzu? Oder mache ich etwas anderes?

AKTUALISIEREN

Wenn ich etwas hinzufüge, denke ich, dass der schwierige Teil das ALUOp ist. Es gibt nur 2 Bits, ich denke, ich brauche die folgenden Operationen. Und ich fügte hinzu, was meine Vorstellung von einer Umsetzung. Was ist die richtige MIPS-Implementierung?

instr    ALUOp
--------+------
AND      0000
OR       0001
add      0100
sub      0101
slt      0111
funct    1xxx

Wobei das MSB (Bit 3) ein "see funct"-Bit ist (Anweisungen vom R-Typ). Bit 2 ist das Bit "Use ALU". Dann sind die letzten 2 die Operationsbits. Ich habe verschiedene Implementierungen gesehen, in denen es mehr Anweisungen wie NOR, XOR, Shift usw. gibt. Gibt es keinen Standard oder den am häufigsten verwendeten Standard?

Noch eine Hausaufgabenfrage.
@Brian Carlton Was ist daran falsch?
Ich schätze, das ist nicht meine Stärke :) mit wenig nützlicher Hilfe in der Schule ...

Antworten (2)

Wenn die in Ihrem Datenpfad definierte Hardware die neuen Anweisungen unterstützt, ohne neue Steuersignale hinzuzufügen, dann ja, fahren Sie einfach fort und erweitern Sie die Tabelle nach rechts!

Erweiterte Antwort pro erweiterte Frage:

Die Antwort hängt ganz vom Datenpfad und der Bedeutung Ihrer Steuersignale ab ... Ich nehme an, die ALUOp-Bits sind jeweils das Auswahlsignal für einen 2x1-MUX, von denen jeder wiederum die Operandeneingänge für Ihre ALU auswählt. Auf diese Weise können sie verwendet werden, um entweder einen Wert aus einem Register oder den unmittelbaren Wert aus der Anweisung selbst auszuwählen. Für sofortige Anweisungen werden Sie also wahrscheinlich den "Register" -Eingang für Operand 1 und den "unmittelbaren" Eingang für Operand 2 wählen ...

Ok, was sollen nun die ALUOp-Bits für sofortige Anweisungen sein? verwende ich die unbenutzte 11?
@jiewmeng, für jede Frage müssen Sie genau das fragen, was Sie erklärt brauchen. Wenn Sie dann weitere vollständige Fragen haben, sollten Sie diese als weitere Frage stellen. Bitte nehmen Sie sich die Zeit, genau zu formulieren, wonach Sie suchen, oft beantwortet dieser Prozess die meisten Fragen.
@ Kortuk, das behalte ich im Hinterkopf ... manchmal beeile ich mich, Fragen zu stellen. Habe auch mein qn aktualisiert
@jiewmeng, damit diese Seite großartige Antworten erhält, braucht es großartige Fragen. Nur Ratschläge, um hier Fragen zu stellen.

Ich habe dieses Problem vermieden, indem ich 2 weitere Bitleitungen zu ALUOp hinzugefügt habe. Jetzt hatten also alle I-Typ-Befehle, die nicht vom ALUContol-Block decodiert werden konnten, 2 zusätzliche ALUOp-Bits, und ich konnte jetzt 24 weitere Befehle decodieren.