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