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