Information Technology Reference
In-Depth Information
Damit die Programme verschränkt nicht langsamer verarbeitet werden als sequenti-
ell aufeinander folgend, müssen Kontextwechsel innerhalb von null Takten möglich
sein. Erreicht wird dies, indem man die Kontexte aller auszuführenden Programme
im Prozessor speichert und über Multiplexer jeweils zeitgleich zum Start eines
Befehls umgeschaltet.
Falls die Anzahl der verschränkt auszuführenden Programme größer ist als die
Fließbandstufenanzahl, werden in jeder Fließbandstufe Befehle anderer Programme
bearbeitet. Da fließbandkonfliktverursachende Abhängigkeiten zwischen diesen
Befehlen nicht auftreten, kann z.B. auf eine Sprungvorhersage zur Lösung von Kon-
trollflusskonflikten und auf Bypässe zur Lösung von Datenflusskonflikten verzich-
tet werden. Die daraus resultierenden Vereinfachungen der Struktur mindern die
Kosten und verkürzen möglicherweise den kritischen Pfad, so dass sich ein entspre-
chender Prozessor mit einer höheren Taktfrequenz betreiben lässt, als einer, der die
Programme nichtverschränkt verarbeitet. (Insbesondere kann man die Anzahl der
Fließbandstufen erhöhen, ohne den Aufwand nennenswert zu vergrößern).
In Bild 3.47 ist der zeitliche Ablauf bei Ausführung der Befehlsfolgen A, B und C
durch einen sequentiellen nicht verschränkt arbeitenden (a), einen sequentiellen ver-
schränkt arbeitenden (b) und einen ebenfalls verschränkt, jedoch operationsparallel
arbeitenden Prozessor (c) dargestellt. Bei einer Hintereinander-Ausführung der
Befehlsfolgen sind für sieben Befehle, wegen der drei Takte Latenzzeit des Divisi-
onsbefehls A 1 , insgesamt neun Takte erforderlich (Bild 3.47a). Die Zeit lässt sich
auf sieben Takte reduzieren, wenn die vertikalen Verluste durch Verschränkung ver-
borgen werden (Bild 3.47b).
A 1
r1 = r2 / r3
B 1
B 2
C 1
C 2
r1 = 5
A 1
B 1
C 1
A 2
B 2
C 2
A 3
r1 a = r2 a / r3 a
A 1
B 1
C 1
A 2 A 3
B 2
C 2
r1 c = 5
r4 a = r1 a
t
A 2
A 3
r4 = r1
a
b
c
Bild 3.47. Zeitlicher Ablauf bei Verarbeitung von drei unabhängigen Befehlsfolgen A, B und C. a
Separate Verarbeitung. b Verschränkte Verarbeitung durch einen skalaren Prozessor. c Verschränkte
Verarbeitung durch einen VLIW-Prozessor
Anstatt mit A 2 auf das Ergebnis der Division A 1 zu warten, werden zunächst die
definitiv unabhängigen Befehle B 1 und C 1 ausgeführt. Damit dies möglich ist, müs-
sen zwei Voraussetzungen erfüllt sein: (1.) dürfen zwischenzeitlich erzeugte Ergeb-
nisse sich nicht gegenseitig beeinflussen, weshalb im Bild die Zuweisung r1 = 5 auf
einem zur Befehlsfolge C lokalen Register durchgeführt werden muss (hier auf r3 c ),
und (2.) dürfen die Befehle A 1 , B 1 und C 1 keinen Ressourcenkonflikt verursachen.
Letzteres ist dann sichergestellt, wenn die Verarbeitungseinheiten in Fließbandtech-
nik realisiert sind. Weil jedoch in den meisten realen Prozessoren die Division
zeitsequentiell bearbeitet wird und sich daher in jedem Takt nur eine Divisionsope-
Search WWH ::




Custom Search