Streaming SIMD Extensions 4
SSE4 (Streaming SIMD Extensions 4) ist eine Befehlssatzerweiterung, die bei AMD seit K10 und bei Intel seit der Penryn-Variante der Core-2-Prozessoren verwendet wird. Der zweite Teil, SSE4.2 genannt, wurde mit der Intel-Nehalem-Mikroarchitektur eingeführt.
Intel SSE4 besteht aus 54 Befehlen. Der erste Teil von 47 Befehlen erschien unter den Namen SSE4.1. Darüber hinaus erschienen noch einmal sieben Befehle als SSE4.2 ab Core i7 ab der Variante Nehalem.
AMD unterstützte bis zur Veröffentlichung der FX-Prozessoren im Oktober 2011 nur vier Befehle von SSE4, fügte aber zusätzlich vier eigene Befehle hinzu und veröffentlichte diesen Instruktionssatz unter dem Namen SSE4a . Die Prozessoren der Bulldozer-Mikroarchitektur unterstützen zusätzlich zu SSE4a auch SSE4.1 und 4.2 vollständig.
Inhaltsverzeichnis |
[Bearbeiten] Instruktionen
Im Folgenden eine unvollständige Auflistung der neu eingeführten Befehle und ihrer Einsatzbereiche.
[Bearbeiten] SSE 4.1
- Skalarprodukt bestimmen –
DPPS, DPPD
- z.B. für 3D-Grafiken, Spiele
- Bedingtes Überblenden –
BLENDPS/-D, BLENDVPS/-D, PBLENDVB, PBLENDDW
- z.B. für Bildverarbeitung, Multimedia, Spiele
- Minima bzw. Maxima bestimmen –
PMINSB, PMAXSB, PMINUW, PMAXUW, PMINUD, PMAXUD, PMINSD, PMAXSD
- z.B. für Bildverarbeitung, Multimedia, Spiele
- Integerumwandlung –
PMOVSXBW/-D/-Q, PMOVZXBW/-D/-Q, PMOVSXWD/-Q, PMOVZXWD/-Q, PMOVSXDQ, PMOVZXDQ
- z.B. für Bildverarbeitung, Multimedia, Spiele
[Bearbeiten] SSE 4.2
- Zyklische Redundanzprüfung –
CRC32
- Beschleunigte Prüfsummenberechnung. Implementiert die "Castagnoli"-Variante (CRC-32C), und ist daher inkompatibel zur in IEEE 802.3 standardisierten CRC32-Variante, welche in Netzwerkprotokollen (wie Ethernet, V.42), SATA, MPEG-2, PNG, und im UNIX-"cksum"-Kommando zum Einsatz kommt.
- Erweiterte String-Operationen –
PCMPESTRI, PCMPESTRM, PCMPISTRI, PCMPISTRM
- Leistungssteigerung für Virenscanner, Datenbanken und Textverarbeitung. Da die Operationen, wie in SSE üblich, auch hier auf 128-Bit-Operanden basieren, werden nur Strings bis zu einer maximalen Länge von 16 Bytes, bzw. bis zu 8 Unicode-Zeichen, verarbeitet. Die möglichen Funktionen sind im Einzelnen
- Vergleiche Zeichenketten
- Finde Zeichen aus einer spezifizierten Menge
- Finde Zeichen aus spezifizierten Intervallen
- Suche, ob eine Zeichenkette in einer anderen enthalten ist
[Bearbeiten] Weblinks
- Extending the World's Most Popular Processor Architecture – Intel-Whitepaper zu SSE4 (PDF; 93 kB)
- Intel SSE4 Programming Reference (PDF; 760 kB)