Information Technology Reference
In-Depth Information
3.1.3 Vektorprozessoren
Die Verwendung von Vektoren hat für Prozessoren verschiedene Vorteile. So besit-
zen Programme, in denen Vektoren verarbeitet werden, oft eine höhere Codedichte
als solche, die ausschließlich auf Skalaren arbeiten, da sich mit jedem Vektorbefehl
mehrere Vektorelemente verknüpfen lassen. Der daraus resultierende geringere
Speicherbedarf wirkt sich insbesondere positiv auf den Nutzen eines normalerweise
vorhandenen Befehlscaches aus. Ein weiterer Vorteil ist, dass die Anzahl der benö-
tigten Verbindungen zwischen Befehlsdecoder und Verarbeitungseinheiten bei Aus-
führung von Vektorbefehlen, die parallel auf mehreren Vektorelementen operieren,
geringer ist als bei Parallelausführung mehrerer beliebiger und voneinander unab-
hängiger Operationen (wie z.B. bei den in Abschnitt 3.1.5 beschriebenen VLIW-
Prozessoren). Dies vermindert die Kosten, mit denen sich ein Prozessor realisieren
lässt. Weiter kann mit Vektorbefehlen oft auf Schleifen verzichtet werden, da hier
bereits implizit über die Elemente der beteiligten Vektoren iteriert wird. So lassen
sich mögliche Kontrollflusskonflikte vermeiden.
Wichtigster Vorteil der Verwendung von Vektoren ist jedoch, dass die Operationen
auf den Vektorelementen unabhängig voneinander ausführbar sind und sich daher
mit geringem Aufwand parallelisieren lassen. Dies wird u.a. auch in den Multime-
dia-Einheiten genutzt, die jedoch nur Vektoren mit einer geringen Anzahl von Ele-
menten verarbeiten können. Im Gegensatz hierzu erlauben Vektorprozessoren auch
die Verknüpfung von mehreren Vektoren mit mehreren tausend Elementen, wobei
man die Einzeloperationen nicht nur parallel, sondern zum Teil sequentiell in Fließ-
bandtechnik ausführt 1 . Wegen der Unabhängigkeit der Einzeloperationen treten
Datenflusskonflikte hierbei nicht auf, so dass keine Bypässe vorgesehen werden
müssen. Dies vermindert nicht nur den Aufwand und die Kosten einer Realisierung,
sondern wirkt sich oft auch positiv auf den kritischen Pfad und damit auf die maxi-
male Taktfrequenz eines Vektorprozessors aus.
Bis heute werden Vektorprozessoren vor allem in Groß- bzw. Superrechnern einge-
setzt. Dies ist naheliegend, weil Superrechner oft zur Lösung wissenschaftlicher
Probleme verwendet werden, die gut vektorisierbar sind. Nach dem Vektorprinzip
arbeitende Superrechner unterscheiden sich zwar in vielen Details ihrer Realisie-
rung, besitzen aber oft eine einheitliche Grundstruktur [166, 167]. Als Beispiel ist in
Bild 3.5 ein Vektorrechner dargestellt, dessen Struktur weitgehend dem des
VPP5000 2 von Fujitsu entspricht [49, 117] und der Ähnlichkeiten zum SX-6 2 von
NEC [18, 134] oder der Cray-1, einem der ersten Vektorrechner von Cray [203] auf-
weist. Er besteht aus mehreren Vektorprozessoren (bei Fujitsu auch als Processing
Elements, PEs bezeichnet), die über einen gemeinsamen Hauptspeicher miteinander
kommunizieren können. Der Hauptspeicher stellt außerdem die Verbindung zu
1.
Tatsächlich waren frühe Vektorrechner, z.B. die Cray-1, nicht in der Lage, mehrere Vektorele-
mente parallel zu verknüpfen, so dass das Hauptmerkmal von Vektorrechnern die Fließband-
verarbeitung ist.
2.
Genau genommen handelt es sich hierbei nicht um einzelne Vektorrechner, sondern um Famili-
enbezeichnungen für unterschiedliche Vektorrechner, die sich in der Kapazität des verfügbaren
Speichers, der Anzahl der Prozessoren usw. voneinander unterscheiden.
Search WWH ::




Custom Search