Streaming_SIMD_Extensions

Streaming SIMD Extensions (SSE) หรือชื่อเดิมคือ Intel Streaming SIMD Extensions (ISSE) เป็นชุดของคำสั่งเครื่องแบบ SIMD (Single Instruction, Multiple Data) ซึ่งเป็นส่วนขยายสถาปัตยกรรม x86 ที่ออกแบบโดยบริษัทอินเทล เริ่มใช้ครั้งแรกในเพนเทียม III เมื่อปี ค.ศ. 1999 โดยเป็นคู่แข่งของเทคโนโลยี 3DNow! ของบริษัทเอเอ็มดี ประกอบด้วยชุดคำสั่งจำนวน 70 คำสั่งชื่อในการพัฒนาของ SSE คือ KNI ย่อมาจาก Katmai New Instructions (Katmai เป็นรหัสของเพนเทียม III) ในภายหลังบริษัท AMD ได้นำชุดคำสั่ง SSE ไปใช้ในซีพียูตั้งแต่รุ่น Athlon XP และ Duron เป็นต้นมาก่อนหน้าที่จะมี SSE ทางอินเทลได้คิดค้นชุดคำสั่งแบบ SIMD สำหรับสถาปัตยกรรม IA-32 ในชื่อว่า MMX ซึ่งมีปัญหา 2 ประการ คือ ใช้เรจิสเตอร์สำหรับคำนวณทศนิยม (Floating point) ตัวเดียวกับของซีพียู ทำให้ซีพียูไม่สามารถประมวลผลทศนิยมพร้อมกับ MMX ได้ และ MMX สามารถทำงานได้กับจำนวนเต็ม (integer) เท่านั้นSSE แก้ปัญหาโดยการเพิ่มเรจิสเตอร์ขนาด 128 บิตเข้าไปอีก 8 ตัว ในตำแหน่ง XMM0-XMM7 ในช่วงหลังเมื่อทั้ง AMD และอินเทลปรับขนาดสถาปัตยกรรมเป็น 64 บิต ก็ได้เพิ่มเรจิสเตอร์เข้าไปอีก 8 ตัว (XMM8-XMM15) และยังมีเรจิสเตอร์ควบคุมขนาด 32 บิตอีก 1 ตัวชื่อ MXCSRภายหลังอินเทลได้ปรับปรุงรุ่นของ SSE เป็น SSE2, SSE3, SSSE3 และ SSE4 ทั้งนี้ การสนับสนุนนการคำนวณเลขทศนิยม ทำให้สามารถรองรับแอปพลิเคชันได้มากกว่า MMX และกลายเป็นที่นิยมมากขึ้น รวมทั้งการเพิ่มคำสั่งดำเนินการกับจำนวนเต็มใน SSE2 ยิ่งทำให้ MMX บางส่วนกลายเป็นส่วนเกิน แต่อย่างไรก็ดี ในบางสถานการณ์อาจเพิ่มประสิทธิภาพการทำงานได้โดยใช้ MMX และ SSE ในแบบคู่ขนานกันก็ได้