Information Technology Reference
In-Depth Information
3.1.4 und 3.1.5 diskutierten Signal- bzw. VLIW-Prozessoren bezeichnet werden.
Rechner, Prozessoren oder Funktionseinheiten, die nach dem MISD-Verarbeitungs-
prinzip arbeiten, finden keine Berücksichtigung.
3.1.1 Multimedia-Einheiten (SIMD-Einheiten)
Neben den herkömmlichen Einheiten zur Verarbeitung von Integer- und Gleitkom-
mazahlen sind in leistungsfähigen Prozessoren oft Multimedia- oder SIMD-Einhei-
ten vorhanden. Mit ihnen lassen sich Vektoren , meist 64 oder 128 Bit breit, in einem
Schritt entsprechend einer im Befehl codierten Operation verknüpfen bzw. erzeu-
gen. Die Unterteilung der Vektoren ist vom verwendeten Elementtyp abhängig. Zum
Beispiel können von der SSE2 Einheit (streaming SIMD extension) des Pentium 4
von Intel [81] 128 Bit breite Vektoren verarbeitet oder erzeugt werden, in denen 16,
8, 4 oder 2 ganze Zahlen der Breite 8, 16, 32 bzw. 64 Bit oder 4 Gleitkommazahlen
einfacher bzw. 2 Gleitkommazahlen doppelter Genauigkeit entsprechend IEEE 754-
1985 enthalten sind 1 .
Die Breite eines Vektors, seine Elementzahl und der Elementtyp bezeichnet man
zusammengenommen als Vektortyp . Für die Operanden mehrstelliger Operationen
muss er meist identisch sein, wobei das Ergebnis einen abweichenden Vektortyp
besitzen kann. Zur Verarbeitung von Vektoren stehen Operationen zum Aufbau von
Vektoren, zur Typumwandlung, zur Permutation der Vektorelemente und zur Ver-
knüpfung von Vektoren zur Verfügung.
Der Vergleich von Vektoren erfolgt gewöhnlich elementweise. Die einzelnen boole-
schen Bedingungsergebnisse werden z.B., wie in der AltiVec-Einheit des PowerPC
970 von IBM [66], durch Und- bzw. Oder-Verknüpfung zu einem Ergebnis zusam-
mengefasst, das durch einfache bedingte Sprungbefehle auswertbar ist. Eine indivi-
duelle Zuordnung der einzelnen Bedingungsergebnisse des elementweisen Ver-
gleichs ist so jedoch nicht möglich. Deshalb verfügen einige Prozessoren, z.B. der
Pentium 4, über Vergleichsoperationen, mit denen sich ein Bedingungsvektor erzeu-
gen lässt. Falls die Elemente der Operandenvektoren die in der Operation codierte
Bedingung nicht erfüllen, werden die entsprechenden Bits im Ergebnisvektor
gelöscht, sonst gesetzt. Das Ergebnis ist z.B. nutzbar, um aus den Operandenvekto-
ren durch bitweises Und-Verknüpfen die der Bedingung genügenden Elemente her-
auszufiltern. Es ist jedoch nicht möglich, das Ergebnis direkt zur Kontrollflusssteue-
rung zu verwenden.
Bedingungsvektoren lassen sich im Prinzip auch dazu benutzen, Zahlenbereichs-
über- bzw. -unterschreitungen bei Ausführung arithmetischer Operationen zu detek-
tieren. Wegen des Aufwands bei der Überprüfung entsprechender Bedingungsvekto-
ren wird i.Allg. jedoch anders verfahren. So existieren oft Varianten arithmetischer
Operationen, bei deren Ausführung eine mögliche Zahlenbereichsüber- bzw. unter-
schreitung entweder ignoriert oder das Ergebnis auf den Maximal- bzw. Minimal-
wert begrenzt wird (die sog. Sättigung oder Saturation ).
1.
Tatsächlich können auch „Vektoren“ mit nur einem Element, also Skalare, verarbeitet werden.
Search WWH ::




Custom Search