Information Technology Reference
In-Depth Information
Vektorregistern speicherbar sind, die mehr als drei Elemente aufnehmen können.
Eine Einschränkung der bei einer Operation zu berücksichtigenden Elemente ist
schließlich durch die sog. Maskierung erreichbar. Dabei werden nur solche Ele-
mente verknüpft, die durch ein Bit in einem implizit oder explizit im Befehl adres-
sierten Maskenregister gekennzeichnet sind. In seiner Wirkung entspricht ein Mas-
kenbit dem Tag einer assoziativen Recheneinheit (siehe Bild 3.3).
Der Vektorregisterspeicher ist normalerweise mit einer großen Anzahl von gleich-
zeitig arbeitenden Verarbeitungseinheiten gekoppelt. Die zur Parallelisierung ver-
wendeten Verfahren sind dabei weitgehend vergleichbar mit denen, die auch in nicht
nach dem Vektorprinzip arbeitenden Prozessoren verwendet werden. So lassen sich
z.B. die einzelnen Verarbeitungseinheiten eines Vektorprozessors ähnlich wie die in
Abschnitt 3.1.1 beschriebenen Multimedia-Einheiten realisieren, nämlich aus einer
Vielzahl identisch aufgebauter Funktionseinheiten, die jeweils parallel einzelne Ele-
mente eines Vektors verarbeiten.
Diese im Zusammenhang mit Vektoreinheiten als Replikation ( replication ) bezeich-
nete Technik wird genutzt, um den Durchsatz, mit denen sich Vektoren verknüpfen
bzw. erzeugen lassen, zu erhöhen. Die Anzahl der parallel arbeitenden Funktions-
einheiten einer Verarbeitungseinheit (die sog. Wege , lanes ) wird als Replikations-
faktor (replication factor) bezeichnet. Sie ist z.B. beim SX-6 von NEC gleich Acht
[18], beim VPP5000 von Fujitsu gleich 16 [117] und bei der ursprünglich für den
Alpha EV8 von Compaq geplanten Erweiterung Tarantula gleich 32 [40].
Neben der Replikation sind auch andere Techniken zum parallelen Betrieb von Ver-
arbeitungseinheiten gebräuchlich. Zum Beispiel kann der als VLIW-Prozessor
arbeitende VPP5000 gleichzeitig bis zu vier beliebige, in einem 128 Bit breiten
Befehl explizit codierte Operationen ausführen (siehe Abschnitt 3.1.5). Noch leis-
tungsfähiger ist der superskalar arbeitende Alpha EV8, der ebenfalls bis zu vier
Operationen parallel ausführen kann, die Parallelisierung aber eigenständig unter
Berücksichtigung der bestehenden Abhängigkeiten und verfügbaren Ressourcen
durchführt (siehe Abschnitt 3.2).
Ein speziell für Vektoreinheiten verwendetes Verfahren ist das Verketten von Verar-
beitungseinheiten ( chaining ). Vektoroperationen, die die Ergebnisse anderer Vektor-
operationen verarbeiten, werden dabei nicht verzögert, bis die benötigten Vektoren
vollständig verfügbar sind, sondern nur, bis die jeweils ersten Elemente der benötig-
ten Vektoren bereitstehen. Der Abschluss der Berechnung eines Elements des Ope-
randenvektors eilt somit im Extremfall nur einen einzelnen Takt dem Beginn nach-
folgender Berechnungen voraus, die dieses Element benötigen. Die Wirkungsweise
des Verkettens von Verarbeitungseinheiten ist in Bild 3.6 anhand eines einfachen
Beispiels für die Cray-1 und die Cray Y-MP veranschaulicht.
Die Berechnung der links stehenden Formel erfordert insgesamt fünf Vektoroperati-
onen, deren sequentielle Bearbeitung wie in Bild 3.6a dargestellt erfolgt. Da sich
hinter jeder Vektoroperation eine Vielzahl skalarer Operationen verbirgt, die in
Fließbandtechnik bearbeitet werden, sind die zeitlichen Verläufe nicht als Rechteck,
sondern als Parallelogramm dargestellt, wobei die schrägen Kanten jeweils die
Search WWH ::




Custom Search