Forum: Offtopic Mips: Wann Hi and Lo bekannt?


von Bert S. (kautschuck)


Lesenswert?

Hallo,
gegeben sei eine 5 Stufige Pipeline mit den Phasen:

IF ID EX MEM WB

Der Prozessor kann 'Stalling' und 'Forwarding' nur von MEM/WB nach ID/EX

Wenn ich nun folgende Instruktionen habe:

mul $t0,$t1
mflo $t2

Stimmt da mein Pipelining Diagramm?

IF ID EX MEM WB
   IF nop ID EX MEM WB

mit nop = stall.

Oder ist das Resultat erst nach der WB Phase im Lo?

Gruss bert

von (prx) A. K. (prx)


Lesenswert?

Bert Siegfried schrieb:
> Stimmt da mein Pipelining Diagramm?

Ohne nun diese MIPS auswendig zu kennen:

Wieviele Takte braucht denn die Multiplikation?

Ist das LO Register Teil eines result buses mit forwarding?

Unabhängig davon wird ein Befehl, der hier vmtl. auf etwas wartet, das 
mit seiner Funktion zu tun hat, kaum zu einem Zeitpunkt warten, zu dem 
diese Funktion noch nicht bekannt ist.

von Bert S. (kautschuck)


Angehängte Dateien:

Lesenswert?

Ich habe hier mal noch ein Bild zum Datenpfad hochgeladen.
Die Multiplikation ist damit eigentlich nach der EX Stufe bekannt.
Forwarding wird aber nicht von Ex->Ex unterstützt, sondern nur von 
Mem->Ex

von (prx) A. K. (prx)


Lesenswert?

Die ursprüngliche MIPS Architektur hat einen Multiplier, der zwar von 
der normalen Pipeline gestartet wird, aber sein Ergebnis eben in LO/HI 
platziert, nicht in normalen Registern.

Infolgedessen stellt sich die Frage, ob das Resultat des Multipliers auf 
einem jener Buse aufkreuzt, der forwarded wird. Da dieses Bild keinen 
Multiplier anführt, hilft es in dieser Frage nur begrenzt weiter.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.