Intel SSE adalah tambahan instruksi mikroprosesor yang dibuat oleh Intel Corporation, yang diperkenalkan pada bulan Februari 1999, saat Intel merilis Pentium III. SSE ini merupakan singkatan dari Streaming SIMD Extension. Pada saat diperkenalkan, SSE ini disebut dengan nama Intel Katmai New Instructions (KNI). Bahkan, banyak orang yang menamai SSE sebagai MMX-2.

Sekarang, hampir semua prosesor modern telah dilengkapi dengan instruksi ini, tidak cuma prosesor Intel saja, karena memang Intel melisensikan teknologi SSE kepada beberapa pabrikan prosesor lainnya, semacam AMD atau Cyrix/VIA.

SSE merupakan ekstensi terhadap instruksi MMX; SSE2 merupakan ekstensi terhadap instruksi SSE; dan SSE3 juga merupakan ekstensi terhadap instruksi SSE2. Oleh karena itulah, prosesor-prosesor yang mendukung SSE3 juga mendukung SSE2; prosesor yang mendukung SSE2 juga mendukung SSE, dan seterusnya. Ini berarti, aplikasi yang hanya mendukung MMX akan dapat berjalan seolah-olah aplikasi tersebut berjalan di atas prosesor dengan hanya MMX saja.

SSE sunting

Instruksi SSE versi pertama (SSE) memperkenalkan 70 instruksi baru yang ditujukan untuk pemrosesan grafik dan suara yang lebih baik daripada yang ditawarkan oleh instruksi MMX. Selain menambahkan kemampuan kalkulasi pemrosesan MMX yang hanya dapat menangani bilangan integer, SSE juga menambahkan kemampuan kalkulasi terhadap bilangan floating-point dan menggunakan unit SSE terpisah daripada menggunakan floating-point unit yang sama seperti yang terjadi pada MMX.

Daftar instruksi SSE ini didapat dari situs http://www.cpuid.com/sse/ Diarsipkan 2007-09-27 di Wayback Machine.

Instruksi Jenis Keterangan
ADDPS Aritmetika Packed Single-FP Add
ADDSS Aritmetika Scalar Single-FP Add
ANDNPS Logika Bit-Wise Logical And Not (for single-FP)
ANDPS Logika Bit-Wise Logical And (for single-FP)
CMPPS Perbandingan Packed Single-FP Compare
CMPSS Perbandingan Scalar Single-FP Compare
COMISS Perbandingan Scalar Ordered single-FP Compare and set EFLAGS
CVTPI2PS Konversi Packed Signed INT32 to Packed Single-FP Conversion
CVTPS2PI Konversi Packed Single-FP to Packed INT32 Conversion
CVTSI2SS Konversi Scalar Signed INT32 to Single-FP Conversion
CVTSS2SI Konversi Scalar Single-FP to Signed INT32 Conversion
CVTTPS2PI Konversi Packed Single-FP to Packed INT32 Conversion (truncate)
CVTTSS2SI Konversi Scalar Single-FP to signed INT32 Conversion (truncate)
DIVPS Aritmetika Packed Single-FP Divide
DIVSS Aritmetika Scalar Single-FP Divide
FXRSTOR Keadaan (state) Restore FP or MMX State and SSE State
FXSAVE Keadaan (state) Store FP or MMX State and SSE State
LDMXCSR Keadaan (state) Load SSE Control/Status Register
MAXPS Aritmetika Packed Single-FP Maximum
MAXSS Aritmetika Scalar Single-FP Maximum
MINPS Aritmetika Packed Single-FP Minimum
MINSS Aritmetika Scalar Single-FP Minimum
MOVAPS Perpindahan Move Aligned Four Packed Single-FP
MOVHLPS Perpindahan Move High To Low Packed Single-FP
MOVHPS Perpindahan Move High Packed Single-FP
MOVLHPS Perpindahan Move Low To High Packed Single-FP
MOVLPS Perpindahan Move Low Packed Single-FP
MOVMSKPS Perpindahan Move Mask To Integer
MOVSS Perpindahan Move Scalar Single-FP
MOVUPS Perpindahan Move Unaligned Four Packed Single-FP
MULPS Aritmetika Packed Single-FP Multiply
MULSS Aritmetika Scalar Single-FP Multiply
ORPS Logika Bit-Wise Logical OR for single-FP Data
PAVGB Integer Packed Unsigned Byte Average
PAVGW Integer Packed Unsigned Word Average
PSADBW Integer Packed Sum of Absolute Differences
RCPPS Aritmetika Packed Single-FP Reciprocal
RCPSS Aritmetika Scalar Single-FP Reciprocal
RSQRTPS Aritmetika Packed Single-FP Square Root Reciprocal
RSQRTSS Aritmetika Scalar Single-FP Square Root Reciprocal
SHUFPS Pengocokan (shuffle) Shuffle Single-FP
SQRTPS Aritmetika Packed Single-FP Square Root
SQRTSS Aritmetika Scalar Single-FP Square Root
STMXCSR Keadaan (state) Store SSE Control/Status Register
SUBPS Aritmetika Packed Single-FP Substract
SUBSS Aritmetika Scalar Single-FP Substract
UCOMISS Perbandingan Unordered Scalar Single-FP Compare and set EFLAGS
UNPCKHPS Pengocokan (shuffle) Unpack High Packed Single-FP Data
UNPCKLPS Pengocokan (shuffle) Unpack Low Packed Single-FP Data
XORPS Logika Bit-wise Logical XOR for Single-FP Data
PEXTRW Integer Extract Word
PINSRW Integer Insert Word
PMAXSW Integer Packed Signed Integer Word Maximum
PMAXUB Integer Packed Unsigned Integer Byte Maximum
PMINSW Integer Packed Signed Integer Word Minimum
PMINUB Integer Packed Unsigned Integer Byte Minimum
PMOVMSKB Integer Move Byte Mask To Integer
PMULHUW Integer Packed Multiply High Unsigned
PSHUFW Integer Packed Shuffle Word
MASKMOVQ Kemampuan cache Byte Mask Write
MOVNTPS Kemampuan cache Move Aligned Four Packed Single-FP Non Temporal
MOVNTQ Kemampuan cache Move 64 bits Non Temporal
PREFETCH Kemampuan cache Prefetch
SFENCE Kemampuan cache Store Fence

SSE2 sunting

Pada saat Intel merilis Pentium 4 pada November 2000, Intel juga memperkenalkan versi baru dari SSE, yang dinamakan dengan SSE2. SSE2 terdiri atas 144 instruksi tambahan terhadap instruksi SSE dan MMX.

SSE3 sunting

SSE3 diperkenalkan pada bulan Februari 2004, bersamaan dengan diperkenalkannya Pentium 4 Prescott. SSE3 terdiri atas 13 instruksi SIMD baru yang digunakan untuk membantu pemrosesan matematika yang kompleks, grafik, proses pengodean video, serta sinkronisasi thread.