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

Weblinks