SSE4: Wann bringt es wirklich mehr Speed?

Mit den neuen Rundungsbefehlen können Fließkomma-Werte auf ihren entsprechenden Integer-Wert gerundet werden. Dies ist sinnvoll, wenn das Ergebnis immer ein Integer sein muss, wie beispielsweise bei den Farbwerten eines Pixels, zur Berechnung aber Floating-Point-Arithmetik erforderlich ist. Bemerkenswert ist die Einführung von Insert- und Extract-Befehlen. Bis einschließlich SSSE3 können die 128-Bit-XMM-Register immer nur mit im Speicher zusammenhängenden Werten versorgt werden. Soll ein XMM-Register mit vier 32-Bit-Werten beschrieben werden, um vier Rechenoperationen gleichzeitig auszuführen, müssen diese zwangsläufig direkt hintereinander im Speicher stehen.

Wenn dies nicht der Fall ist, müssen die Werte via 32- oder 64-Bit-x64-Register erst umkopiert werden. In vielen Fällen ist diese umständliche Prozedur langsamer, als die Rechenoperation viermal einzeln durchzuführen. Mit den Insert- und Extract-Befehlen ist es nun möglich, dass einzelne Felder der XMM-Register aus einer beliebigen Speicheradresse gelesen oder wieder dorthin geschrieben werden können, was besonders Anwendungen zugutekommt, die aufgrund ihrer Datenstruktur bisherige Befehlssatzerweiterungen nur sehr begrenzt nutzen konnten.

Geschwindigkeitsvorteile durch SSE4 sind dann vor allem bei Anwendungen mit komplexer Datenstruktur und hohem Rechenerfordernis zu erwarten – beispielsweise große Kalkulationstabellen. Neben diesen allgemeinen Befehlen, die den Löwenanteil an der Performancesteigerung haben, bietet SSE4.1 auch eine Reihe spezialisierter Befehle. Der MPSADBW-Befehl bildet die Summe acht absoluter 8-Bit-Differenzen. So etwas ist sinnvoll bei der Bewertung der Qualität von komprimierten Formaten wie JPEG, MPEG oder MP3. Bieten sich mehrere Möglichkeiten der Kompression an, so kann die Abweichung des komprimierten Datenstroms vom Original mittels MPSADBW-Befehl berechnet werden.

Dot-Product-Befehle erlauben das selektive Multiplizieren mehrerer Werte gleichzeitig und deren anschließende Aufsummierung. Hiervon profitieren 3D- und Gaming-Anwendungen. Blend-Befehle ermöglichen das selektive Kopieren von einzelnen Werten eines XMM-Register in ein anderes. Damit lassen sich vektorisierte Daten mischen, was vor allem bei der Bildbearbeitung von Bedeutung ist.

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 *