Information Technology Reference
In-Depth Information
Die Nachteile werden mit einem anderen, sehr einfachen Verfahren vermieden:
Hierbei wird das Programmiermodell derart definiert, dass es für die in einem Ope-
rationspaket enthaltenen Operationen ohne Bedeutung ist, ob sie sequentiell oder
parallel bearbeitet werden. Zum Beispiel ist im Programmiermodell der Prozes-
sorarchitektur IA-64 von Intel und HP [70] vorgegeben, dass aufeinander folgende
Operationen als Teil einer sog. Gruppe nur dann parallel codierbar sind, wenn weder
echte Datenabhängigkeiten bestehen, noch mehrere Operationen auf dasselbe
Register schreibend zugreifen (somit lässt sich der Tausch von Registerinhalten
nicht in einem Befehl codieren).
Außerdem ist festgelegt, dass ein verzweigender Sprung alle in derselben Gruppe
enthaltenen nachfolgenden Operationen überspringt, unabhängig davon, ob sie tat-
sächlich sequentiell oder parallel ausgeführt werden. Allein anhand dieser beiden
Regeln lässt sich eine unbegrenzte Skalierbarkeit der Operationsparallelität errei-
chen. Die zur Prozessorarchitektur unter dem Begriff „ instruction sequencing
beschriebenen zusätzlichen Regeln definieren Ausnahmen, die durch Hardware
unterstützt den erreichbaren Grad an Operationsparallelität verbessern. Zum Bei-
spiel dürfen Prädikate und die abhängigen bedingten Operationen trotz der auftre-
tenden Datenabhängigkeit in derselben Gruppe codiert sein.
Durch geeignete Interpretation des Programmiermodells darf z.B. auch der
TMS320C62x von Texas Instruments bezüglich der Operationsparallelität als ska-
lierbar bezeichnet werden [185]. Ein Operationspaket endet grundsätzlich mit Bit 0
eines Speicherworts, unabhängig davon, ob das regulär auszuwertende P-Bit gleich
Null oder gleich Eins ist. Somit lässt sich prinzipiell das letzte und das erste Opera-
tionspaket zweier aufeinander folgender Speicherworte durch das P-Bit als parallel
ausführbar kennzeichnen (Bild 3.18a).
25 6
96
64
32
0
O P 0
P
OP1
P
OP2
P
OP3
P
1
1
1
0
OP1 || OP2 || OP3;
OP4;
256
224
OP4
P
a
0
320
128
96
64
32
0
OP0
P
OP1
P
OP2
P
OP3
P
OP4
P
OP1 || OP2 || OP3 || OP4;
b
0
1
1
1
0
Bild 3.18. Befehle des TMS320C62x. a aktuelle Codierung mit maximal acht parallel verarbeitba-
ren Operationen. b Codierung eines möglichen Nachfolgeprozessors mit maximal 10 parallel ver-
arbeitbaren Operationen
Ein Nachfolgeprozessor, der gleichzeitig bis zu 10 Operationen auszuführen ver-
mag, kann nun möglicherweise die ursprünglich sequentiell bearbeiteten Operati-
onspakete parallel ausführen (Bild 3.18b), nämlich dann, wenn die Operationen
nach dem Umordnen nicht über zwei benachbarte Speicherworte codiert sind. Dabei
ist wichtig, dass die ursprüngliche Semantik erhalten bleibt, d.h. die in Bild 3.18a
und 3.18b jeweils rechts dargestellten Operationsfolgen identische Ergebnisse
 
Search WWH ::




Custom Search