Streaming SIMD Extensions 3
# Streaming SIMD Extensions 3

Die Streaming SIMD Extensions 3 (kurz SSE3) ist die zweite Erweiterung des SSE-Befehlssatzes. Sie ist auch unter dem Intel-Codenamen Prescott New Instructions (PNI) bekannt, da sie zuerst bei der Prescott-Variante des Pentium 4 ab Frühjahr 2004 verwendet wurde. AMD unterstützt diese Erweiterungen seit April 2005 und führte diese mit den E-Steppings beim Athlon 64, Opteron und Sempron ein. VIA bzw. Centaur unterstützen mit dem C7 ebenfalls die neuen Befehle.

SSE3 ist eine erneute Erweiterung des SIMD-Befehlssatzes für die x86-Architektur (genauer die IA-32-Prozessorarchitektur). Die vorherigen Erweiterungen waren MMX, 3DNow, SSE und SSE2.

SSE3 erweitert den SSE2-Befehlssatz um 13 neue Instruktionen:

* fisttp zur Wandelung von Gleitkommazahlen in ganze Zahlen
* addsubps, addsubpd, movsldup, movshdup, movddup für komplexe Arithmetik
* lddqu zur Video-Kodierung
* haddps, hsubps, haddpd, hsubpd zur Unterstützung der Grafik-Aufbereitung
* monitor, mwait zur Thread-Kommunikation

Die Unterstützung der letzten beiden Befehle muss mittels CPUID-Instruktion explizit geprüft werden, da sie Mehrkernprozessoren bzw. Hyper-Threading fähige CPUs voraussetzen.

Die auffälligste Erweiterung ist die Ermöglichung von horizontaler Addition und Subtraktion in einem Register, die schon bei 3DNow möglich war. Dies vereinfacht die Programmierung von DSP- und 3D-Funktionen, während in den vorhergehenden SSE-Versionen mehr oder weniger nur vertikale Operationen möglich waren.

## CPUs mit SSE3

* AMD Athlon 64 (ab Prozessorkern Venice, Revision E3 bzw. San Diego, Revision E4)
* AMD Athlon 64 Mobile (Prozessorkern Newark Revision E5)
* AMD Athlon 64 X2
* AMD Athlon 64 FX (ab Prozessorkern San Diego, Revision E4)
* AMD Athlon X2
* AMD Athlon II
* AMD Phenom
* AMD Phenom II
* AMD Opteron K8 (ab Revision E4)
* AMD Opteron K9
* AMD Opteron K10
* AMD Sempron (ab Prozessorkern Palermo, Revision E3)
* AMD Turion 64
* AMD Turion 64 X2
* Intel Celeron (ab Prozessorkern Conroe-L)
* Intel Celeron D
* Intel Celeron M (ab Prozessorkern Yonah)
* Intel Core Duo
* Intel Core Solo
* Intel Core 2 Duo
* Intel Core 2 Quad
* Intel Core 2 Extreme
* Intel Pentium 4 (ab Prozessorkern Prescott)
* Intel Pentium D
* Intel Pentium Dual-Core
* Intel Atom
* Intel Xeon (ab Prozessorkern Nocona)
* VIA C7
* VIA Nano
