Information Technology Reference
In-Depth Information
3
Operationsparallel arbeitende Prozessoren
Die im letzten Kapitel beschriebenen Prozessoren führen Befehle streng sequentiell
entsprechend der vom Programm vorgegebenen Reihenfolge aus. Dies gilt auch für
die Fließbandprozessoren, bei denen sich zwar mehrere Befehle gleichzeitig in
Bearbeitung befinden, die die einzelnen Verarbeitungsschritte, wie z.B. Decodie-
rung oder Ausführung, jedoch weiterhin sequentiell durchführen. Dieses Kapitel
enthält Beschreibungen zu parallel arbeitenden Prozessoren. Als Einheit für die Par-
allelverarbeitung werden statt der Befehle die Operationen betrachtet, was deshalb
sinnvoll ist, weil in einzelnen Befehlen mehrere Operationen codiert sein können.
Wie bereits erwähnt ist die Bedeutung des Begriffs Operation nicht klar umgrenzt.
Zum Beispiel lassen sich die Additionen und Shifts eines Multiplikationsbefehls als
Operationen bezeichnen, so dass jeder Prozessor, in dessen Programmiermodell ein
einschrittig arbeitender Multiplikationsbefehl definiert ist, auch als parallelverarbei-
tend zu klassifizieren wäre. Für die folgenden Betrachtungen wird die Grenze des-
halb so gezogen, dass Operationen, die in Hochsprachen elementar sind, als nicht-
parallel gelten, mithin keine Operationsparallelität aufweisen. Dies gilt z.B. für die
Multiplikation (a b), nicht jedoch für die in vielen Signalprozessoren verfügbare
akkumulierende Multiplikation (a b + akku).
Als Maß für die Operationsparallelität sei die Anzahl der Operationen definiert, die
pro Zeiteinheit maximal den Decoder verlassen ( issue ). Eine solche Definition ist
gerechtfertigt, weil erst nach der Befehlsdecodierung feststeht, wie viele Operatio-
nen in den einzelnen Befehle tatsächlich codiert sind. Bemerkenswert ist, dass die
Operationsparallelität nicht entsprechend der Anzahl der parallel in Ausführung
befindlichen Operationen bemessen wird, die nämlich wegen Unterschieden in den
Ausführungszeiten partiell größer als die vom Decoder ausgegebene Anzahl von
Operation sein kann, im Durchschnitt jedoch identisch ist.
Welche Operationen parallel zu bearbeiten sind, ist dabei entweder statisch in den
Befehlen codiert oder wird dynamisch bestimmt. Abschnitt 3.1 beschreibt zunächst
die Prinzipien der statischen, Abschnitt 3.2 die der dynamischen Operationsparalle-
lität. Letztere werden in superskalaren Prozessoren verwendet, um im Vergleich zu
den im vorangehenden Kapitel behandelten skalaren Prozessoren einen erhöhten
Befehlsdurchsatz zu erreichen. Das Kapitel schließt mit Ausführungen zur pseudo-
parallelen Verarbeitung von Operationen, dem sog. Multi- bzw. Hyperthreading.
 
Search WWH ::




Custom Search