Information Technology Reference
In-Depth Information
Befehls fälschlicherweise überschrieben wird. Zwar kann man durch eine Vorrang-
regelung prinzipiell dafür sorgen, dass unerlaubte Schreibzugriffe annulliert werden,
dies ist jedoch i.Allg. überflüssig, da WAW-Abhängigkeiten gewöhnlich in Kombi-
nation mit RAW-Abhängigkeiten auftreten - eine Parallelverarbeitung also ohnehin
nicht möglich ist. Für die seltenen Fälle, in denen WAW-Abhängigkeiten alleine
auftreten, wird eine parallele Verarbeitung daher meist verboten 1 .
IR
a
PC
Ausführen
Zurückschreiben
Befehl
holen
b
Decodieren
Ausführen
Zurückschreiben
Bild 3.33. Prinzipielle Darstellung des Fließbands eines superskalaren Prozessors, der eine dynami-
sche Parallelisierung unter Berücksichtigung der Befehlsreihenfolge vornimmt
Im Decoder wird außerdem entschieden, in welchem Fließband die einzelnen
Befehle ausgeführt werden sollen. So können z.B. die beiden in IR befindlichen
Befehle die Fließbänder tauschen, was im Bild durch die gestrichelten Linien ange-
deutet ist. Falls eine Parallelverarbeitung der in den Befehlen codierten Operationen
nicht erlaubt werden kann, verbleibt der im sequentiellen Befehlsstrom zweite
Befehl im Instruktionsregister IR. Da es nur zur Hälfte belegt ist, lässt sich im Prin-
zip bereits der nächste Befehl laden, was jedoch im Normalfall nicht geschieht, weil
die Bearbeitung der Befehlspaare oft als Einheit geschieht.
Je nachdem, ob die im Instruktionsregister IR befindlichen Befehle sequentiell oder
parallel zu bearbeiten sind, wird entweder der nächste auszuführende Befehl zusam-
men mit einem automatisch generierten nop oder beide im Instruktionsregister
befindlichen Befehle in das auf den Decoder folgende Fließbandregister geschrie-
ben und die Verarbeitung der beiden Befehle begonnen. Weil die Verarbeitungsein-
heiten oft nicht identisch aufgebaut, sondern auf bestimmte Aufgaben spezialisiert
sind, ist es möglich, dass sie unterschiedlich schnell arbeiten und sich ggf. in der
Anzahl der Fließbandstufen unterscheiden. Beides ist im Bild dargestellt: Die Rück-
kopplung im oberen Fließband (a) deutet eine zeitsequentielle Arbeitsweise über
mehrere Takte an, das gestrichelt gezeichnete Register im unteren Fließband (b) eine
unterschiedliche Anzahl von Fließbandstufen.
Wie man verfährt, wenn parallel zu bearbeitende Operationen 2 verschieden schnell
ausgeführt werden, ist vom jeweiligen Prozessor abhängig. Zum Beispiel lassen sich
Ergebnisse, unabhängig davon, in welcher Reihenfolge sie erzeugt werden müssen,
1.
Dieser Fall tritt z.B. auf, wenn ein Befehl zwei Wirkungen hat, von denen man jedoch nur eine
tatsächlich benötigt (z.B. Addieren und Bedingungsregister setzen). Aber auch, wenn ein
Befehl einen WAW-Konflikt ohne RAW-Konflikt verursacht, also allem Anschein nach sinnlos
ist, darf dessen Ausführung die sequentielle Semantik eines Programms nicht beeinflussen.
2.
Zur Erinnerung: Nach der Decodierung eines Befehls werden im Prozessor Operationen verar-
beitet. Insbesondere ist es dabei möglich, dass in einem Befehl mehrere Operationen codiert
sind.
Search WWH ::




Custom Search