Frage:
Wie simuliere ich den Ablauf des folgenden MIPS-Programmes mit nur einer Hazard-Detection und einmal mit Hazard-Detection und Data-Forwarding-Einheit? Was für ein Wert steht bei der Ausführung in Register $9?
addi $1, $0, 0x4
sub $9, $1, $1
xori $3, $1, 0xAC
ori $2, $9, 0xF0
sw $2, 0x8($1)
xor $6, $1, $3
addi $3, $0, 0x1
sll $3, $3, 0x3
add $1, $1, $3
lw $9, 0x0($1)
Ich verstehe die Syntax einiger Befehle nicht ganz. Warum werden da Hexadezimalzahlen angegeben und was bedeutet Hexadezimalzahl(Register) wie man es beim sw-Befehl sieht sw $2, 0x8($1) (was bedeutet 0x8($1)). Außerdem woher soll ich wissen, was der Wert des Registers $9 ist? Ich weiß, dass $0 für eine Konstante steht und zwar die 0 aber den Inhalt des anderen Registers kenne ich doch nicht, also woher soll ich wissen welcher Wert in $9 steht nach all den Instruktionen?