Information Technology Reference
In-Depth Information
ferenzen geändert werden. Schließlich wird die Addition in Zeile 4 gestartet (da A
als gültig gekennzeichnet und die WAW-Abhängigkeit dadurch gelöst wurde), und
die Multiplikation in Zeile 3 beendet (da C von der Additionseinheit gelesen und die
WAR-Abhängigkeit gelöst wurde). Die Befehle werden in diesem Beispiel also in
der Reihenfolge der Zeilen 1, 3, 2, 4 ausgeführt.
Parallelisierung mit Reservierungsstationen
Die Semantik eines Programms wird nicht durch die Reihenfolge der auszuführen-
den Operationen, sondern von den Operationen und den zwischen ihnen bestehen-
den Datenabhängigkeiten bestimmt. Eine Änderung der Ausführungsreihenfolge ist
somit möglich, wenn die bestehenden Abhängigkeiten unverändert belassen wer-
den. Weil in superskalaren Prozessoren Register benutzt werden, um die Operanden
von Befehl zu Befehl weiterzureichen, ist es naheliegend, den Registerspeicher so
zu erweitern, dass sich in ihm Abhängigkeiten protokollieren lassen und dann die
Ausführungsreihenfolge der Befehle mit Hilfe dieses Protokolls zu steuern.
Genau diese Idee liegt dem bereits beschriebenen Scoreboarding zugrunde. Das dem
Registerspeicher angeheftete Scoreboard als zentrale Instanz zur Steuerung der Aus-
führungsreihenfolge hat jedoch einige Nachteile: So lässt sich im Scoreboard zu
einem speziellen Register gewöhnlich nur eine einzige RAW- bzw. WAR-Abhängig-
keit eintragen. Beim Auftreten einer zweiten Abhängigkeit oder einer einzelnen
WAW-Abhängigkeit muss die Ausführung weiterer Befehle blockiert werden, bis
die Abhängigkeit gelöst ist.
Die Beschränkungen sind vermeidbar, wenn die Abhängigkeiten nicht mehr zentral
anhand der zur Übergabe der Ergebnisse verwendeten Register, sondern dezentral
anhand der Verarbeitungseinheiten, die ein Ergebnis produzieren, verwaltet werden.
Bei dem von Tomasulo vorgeschlagenen Verfahren verzögert man einen abhängigen
Befehl nur noch, bis das benötigte Ergebnis von einer Verarbeitungseinheit erzeugt
und zur Verfügung gestellt wird und nicht bis der benötigte Operand in einem Regis-
ter auftaucht [186]. Dies hat z.B. den Vorteil, dass WAW-Abhängigkeiten nicht zur
Blockade der weiteren Befehlsverarbeitung führen, da die Ergebnisse direkt von
Verarbeitungseinheit zu Verarbeitungseinheit übergeben werden. Tatsächlich lassen
sich bei dem Verfahren nach R. Tomasulo Befehle nur dann nicht mehr parallel star-
ten, wenn ein Ressourcenkonflikt vorliegt. Um dessen Häufigkeit zu vermindern, ist
es jedoch möglich, zusätzliche Verarbeitungseinheiten vorzusehen, und zwar auch,
indem man physikalische Verarbeitungseinheiten mehrfach zeitsequentiell nutzt.
Die Funktionsweise des Verfahrens ist in Bild 3.35 exemplarisch dargestellt. Jeder
Verarbeitungseinheit ist zumindest eine sog. Reservierungsstation vorgeschaltet
(dünn umrandet), mit sog. Reservierungsregistern für jeden einzelnen Quelloperan-
den. In den Reservierungsregistern kann entweder direkt der zu verarbeitende Ope-
rand oder indirekt eine Referenz auf die zur Erzeugung des Operanden verantwortli-
che Verarbeitungseinheit gespeichert sein.
Ganz ähnlich müssen auch in Arbeitsregistern Operanden oder Referenzen auf Ver-
arbeitungseinheiten gespeichert werden können. Verallgemeinert ist ein Arbeitsre-
Search WWH ::




Custom Search