Information Technology Reference
In-Depth Information
und zwar, indem der Decoder die Befehle in eine Reihenfolge bringt, die für eine
Parallelverarbeitung geeignet ist. Beim Scoreboarding werden hierzu die zu berück-
sichtigenden Abhängigkeiten im Registerspeicher protokolliert und Befehle bzw.
Operationen nur dann gestartet, wenn dies aufgrund der Eintragungen möglich ist.
Im einfachsten Fall gibt es zu jedem Register ein Scoreboard-Bit, das anzeigt, ob der
in einem Register gespeicherte Operand gültig ist oder nicht. Beim Starten einer
über mehrere Takte zu bearbeitenden Operation wird das Zielregister als ungültig
gekennzeichnet. Nachfolgende Operationen, die lesend auf den ungültigen Operan-
den zugreifen (RAW-Abhängigkeit), werden verzögert, bis die vorangehende Ope-
ration ein Ergebnis in das Zielregister überträgt und dabei das Register wieder als
gültig kennzeichnet. Ein superskalarer Prozessor, der diese einfache Form des
Scoreboardings verwendet, arbeitet jedoch noch nach dem In-der-Reihe-Starten-
Prinzip. Um die Operationen unabhängig von der Befehlsreihenfolge, also außer-
der-Reihe zu parallelisieren, muss das Verfahren erweitert werden. Die dabei auftre-
tenden Auswirkungen auf die eingangs erwähnten drei Arbeitsphasen eines super-
skalaren Prozessors sind nachfolgend erläutert:
• In der Decodierphase werden die Befehl einzeln analysiert und die darin enthal-
tenen Operationen freien Verarbeitungseinheiten zugeordnet. Falls dies wegen
eines Ressourcenkonflikts nicht möglich ist, wird die Bearbeitung weiterer
Befehle bis zur Lösung des Konflikts gestoppt. Außerdem werden im Score-
board der Zieloperand als ungültig gekennzeichnet und alle Quelloperanden mit
einer Kennung markiert, mit deren Hilfe sich die verantwortliche Verarbeitungs-
einheit identifizieren lässt. Die Kennung ist erforderlich, um einerseits im Falle
einer RAW-Abhängigkeit die entsprechende Verarbeitungseinheit zu starten,
sobald das jeweilige Ergebnis erzeugt wurde, und andererseits, um bei WAR-
Abhängigkeiten den Inhalt eines Registers nicht zu überschreiben, solange des-
sen alter Inhalt noch benötigt wird.
• In der Ausführungsphase werden die Quelloperanden einer Operation unter
Berücksichtigung der im Scoreboard eingetragenen Abhängigkeiten zu vorange-
henden und noch in Ausführung befindlichen Operationen gelesen und miteinan-
der verknüpft. Gegebenenfalls wird solange gewartet, bis keine Abhängigkeiten
mehr bestehen. Mit dem Erzeugen des letzten benötigten Ergebnisses wird
anhand der im Scoreboard eingetragenen Kennung die auf den Operanden war-
tende Verarbeitungseinheit benachrichtigt und - sobald die Operanden gelesen
wurden - die im Scoreboard eingetragene Kennung gelöscht.
• In der Rückschreibphase wird das Ergebnis schließlich gespeichert und im
Scoreboard als gültig gekennzeichnet.
In Bild 3.34a und b sind Beispiele für die Funktionsweise eines Scoreboards darge-
stellt. Es wird vorausgesetzt, dass die einzelnen Befehle (die hier direkt einzelnen
Operationen entsprechen) in verschiedenen Einheiten bearbeitet werden, die Ope-
randen U bis Z direkt verfügbar sind und die Division so zeitaufwendig ist, dass alle
nachfolgenden Befehle vor ihr beendbar wären, wenn keine Abhängigkeiten existie-
ren würden. Rechts neben den Befehlen sind die relevanten Einträge des Score-
boards zu den Registern A, B und C angegeben.
Search WWH ::




Custom Search