19540 V Rechnerarchitektur (3,n)
|
Rojas
|
Hinweis:
Exercises 4.6 (p. 363) aus Hennessy/Patterson
Hinweis: Die Aufgabe ist ausgesprochen umständlich formuliert. RAW-, WAR-, WAW-Hazards bedeutet, daß die Reihenfolge beim Lesen und Schreiben von Registerinhalten nicht durchenander geraten darf, also Abhhängigkeiten der Befehle durch Registerzugriffe beachtet werden müssen. Scoreboarding erledigt dies. Es geht in der Aufgabe also darum, diesen Mechanismus zu verstehen. Dazu soll mit Hilfe der Scoreboarding-Tabellen (Instruction-Status, Functional-Unit-Status und Register-Result-Status) der Scoreboarding-Algorithmus (siehe Figure 4.7) am Beispiel nachvollzogen werden.
Ein Set/Reset (S/R) Flip-Flop hat zwei Eingabe-Bits (S und R) sowie zwei Ausgabe-Bits (Q und Q-Quer). Wenn S auf "1" gesetzt wird, dann wird Q auf "1" und Q-Quer auf "0" gesetzt. Wenn R auf "1" gesetzt wird, dann wird "Q" zurück auf "0" und Q-Quer zurück auf "1" gesetzt. Implementieren Sie ein S/R Flip-Flop in VHDL und behandeln Sie den Fall, daß beide Eingaben auf "1" gesetzt sind, als Ausnahme.
Im DLX muß in der Instruction-Decode-Phase ein 16-Bit Vektor in zweierkomplement Darstellung in ein 32-Bit Vektor in zweierkomplement Darstellung umgewandelt werden. Diese Komponente heißt im Buch "Sign Extender" (siehe Figure 3.4 auf einem früheren Übungszettel). Implementieren Sie diese Einheit strukturell in VHDL. Benutzen Sie dafür nur elementare Gatter (And,Or,Nor,...). Diese Bausteine müssen, falls sie benutzt werden, auch alle (funktional) implementiert werden.