SSE4: Wann bringt es wirklich mehr Speed?

SSE4 hat Intel in zwei Abschnitte geteilt: SSE 4.1 und SSE4.2. Mit den gerade erschienen 45-Nanometer-Prozessoren Wolfdale, Yorkfield, Penryn und Harpertown unterstützt Intel nur SSE4.1. Erst mit der Nehalem-Architektur, die im Herbst 2008 erscheinen soll, wird auch SSE4.2 unterstützt. SSE4.1 besteht zum Teil aus allgemein nutzbaren und hochspezialisierten Befehlen.

Bei den allgemeinen Befehlen ist zunächst die Integer-Multiplikation von 16 zu 32 Bit und 32 zu 64 Bit zu nennen. Addiert oder subtrahiert man zwei 16-Bit-Integer, dann ist das Ergebnis maximal ein 17-Bit-Integer. Das 17. Bit steht dann im Carry-Flag des Prozessors. Anders ist es jedoch bei der Multiplikation. Multipliziert man zwei 16-Bit-Zahlen, so kann das Ergebnis bis zu 32 Bit lang sein.

Bisherige x86/x64-Prozessoren können das Ergebnis einer Multiplikation immer nur in ein Register schreiben, welches genauso breit wie die beiden Operatoren ist, was die Multiplikation stark einschränkt. Besteht die Möglichkeit, dass das Ergebnis einer Multiplikation 64 Bit breit sein kann, müssen als Ausgangswerte ebenfalls 64-Bit-Register verwendet werden. Die neue Multiplikationsmethode erlaubt nun die Verwendung von 32-Bit-Werten. Somit können nun zwei 32-Bit-Integer-Multiplikationen mit einem einzigen Befehl durchgeführt werden, ohne dass ein Überlauf zu befürchten ist.

Ebenfalls neu ist die Einführung einiger Integer-Minimum/Maximum-Befehle. Hier kann Minimum oder Maximum von 8-, 16-, oder 32-Bit-Werten berechnet werden. Bisher mussten dazu die Ausgangswerte verglichen und mittels Jump-Befehl der eine oder andere Wert als Ergebnis verwendet werden. Bei falscher Branch Prediction kam es dann zum Abbruch der Pipeline.

Themenseiten: Anwendungsentwicklung, Intel, Software

Fanden Sie diesen Artikel nützlich?
Content Loading ...
Whitepaper

Artikel empfehlen:

Neueste Kommentare 

Noch keine Kommentare zu SSE4: Wann bringt es wirklich mehr Speed?

Kommentar hinzufügen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *