อ่าน 3 นาที
เอสเอสอี3
SSE3 หรือ Streaming SIMD Extensions 3 หรือที่รู้จักกันในชื่อรหัส ของ Intel ว่า Prescott New Instructions ( PNI ) [ 1 ] เป็นชุดคำสั่ง SSE รุ่นที่สามสำหรับ สถาปัตยกรรม IA-32 (x86)...
เอสเอสอี3
SSE3หรือStreaming SIMD Extensions 3หรือที่รู้จักกันในชื่อรหัส ของ Intel ว่า Prescott New Instructions ( PNI ) [ 1 ] เป็นชุดคำสั่ง SSEรุ่นที่สามสำหรับ สถาปัตยกรรม IA-32 (x86) Intel เปิดตัว SSE3 ในปี 2547 พร้อมกับ การปรับปรุง PrescottของซีพียูPentium 4และCeleron D [ 1 ]ในเดือนเมษายน 2548 AMDได้เปิดตัวชุดย่อยของ SSE3 ในการปรับปรุง E (Venice และ San Diego) ของซีพียูAthlon 64 [ 2 ] ชุดคำสั่ง SIMDรุ่นก่อนหน้าบน แพลตฟอร์ม x86จากเก่าสุดไปใหม่สุด ได้แก่MMX , 3DNow! ( พัฒนาโดย AMD ซึ่งไม่ได้รับการสนับสนุนในซีพียูรุ่นใหม่กว่าแล้ว), SSEและSSE2
SSE3 ประกอบด้วยคำสั่งใหม่ 13 คำสั่งเมื่อเทียบกับSSE2 [ 3 ]
การเปลี่ยนแปลง
การเปลี่ยนแปลงที่เห็นได้ชัดที่สุดคือความสามารถในการทำงานในแนวนอนภายในรีจิสเตอร์ ซึ่งแตกต่างจากการทำงานในแนวตั้งอย่างเคร่งครัดของคำสั่ง SSE ก่อนหน้านี้ทั้งหมด โดยเฉพาะอย่างยิ่ง มีการเพิ่มคำสั่งสำหรับการบวกและลบค่าหลายค่าที่เก็บไว้ในรีจิสเตอร์เดียว[ 4 ]คำสั่งเหล่านี้สามารถใช้เพื่อเร่งความเร็วในการใช้งานDSPและ การดำเนินการ 3 มิติ หลายอย่าง นอกจากนี้ยังมีคำสั่งใหม่สำหรับการแปลงค่าจุดลอยตัวเป็นจำนวนเต็มโดยไม่ต้องเปลี่ยนโหมดการปัดเศษทั่วโลก จึงหลีกเลี่ยง การหยุดชะงัก ของไปป์ไลน์ ที่มีค่าใช้จ่ายสูง สุดท้าย ส่วนขยายนี้เพิ่มLDDQUการโหลดเวกเตอร์จำนวนเต็มที่ไม่ตรงแนวทางเลือก ซึ่งมีประสิทธิภาพที่ดีกว่าบน แพลตฟอร์มที่ใช้ NetBurstสำหรับการโหลดที่ข้ามขอบเขตแคชไลน์[ 5 ]
ซีพียูที่มี SSE3
- เอดีเอ็ม :
- Opteron (ตั้งแต่ Stepping E4 [ 6 ] )
- เซมพรอน (ตั้งแต่สมัยปาแลร์โม ก้าวสู่ E3)
- Athlon 64 (ตั้งแต่ Venice Stepping E3 และ San Diego Stepping E4)
- Athlon 64 FX (ตั้งแต่การแข่งขัน San Diego Stepping E4)
- แอธลอน 64 X2
- ฟีนอม 64 X2
- แอธลอน IIและฟีโนม II
- ครอบครัวทูเรียน
- ครอบครัวK10
- ตระกูล APU (รวมถึงรุ่นที่ไม่มี GPU)
- ซีรีส์ FX
- ครอบครัวเซน
- อินเทล :
- เซเลรอน ดี
- เซเลรอน (เริ่มต้นด้วยสถาปัตยกรรมไมโครคอร์)
- เพนเทียม 4 (ตั้งแต่รุ่น Prescott)
- เพนเทียม ดี
- Pentium Extreme Edition (แต่ไม่ใช่ Pentium 4 Extreme Edition)
- เพนเทียมดูอัลคอร์
- เพนเทียม (เริ่มต้นด้วยสถาปัตยกรรมไมโครคอร์)
- แกนกลาง
- Xeon (ตั้งแต่ Nocona [ 7 ] )
- อะตอม
- VIA / Centaur :
- Transmeta Efficeon TM88xx พร้อมซอฟต์แวร์อัปเดต Code Morphing (ไม่ใช่รุ่น TM86xx)
คำแนะนำใหม่
คำแนะนำทั่วไป
เลขคณิต
ADDSUBPD- เพิ่ม-ลบ-แพ็คดับเบิล[ 8 ]
- อินพุต: { A0, A1 }, { B0, B1 }
- ผลลัพธ์: { A0 − B0, A1 + B1 }
ADDSUBPS- เพิ่ม-ลบ-แพ็คเดี่ยว[ 8 ]
- อินพุต: { A0, A1, A2, A3 }, { B0, B1, B2, B3 }
- เอาท์พุต: { A0 - B0, A1 + B1, A2 - B2, A3 + B3 }
AOS (อาร์เรย์ของโครงสร้าง)
HADDPD- Horizontal-Add-Packed-Double [ 8 ]
- อินพุต: { A0, A1 }, { B0, B1 }
- ผลลัพธ์: { A0 + A1, B0 + B1 }
HADDPS- Horizontal-Add-Packed-Single [ 8 ]
- อินพุต: { A0, A1, A2, A3 }, { B0, B1, B2, B3 }
- เอาท์พุต: { A0 + A1, A2 + A3, B0 + B1, B2 + B3 }
HSUBPD- Horizontal-Subtract-Packed-Double [ 8 ]
- อินพุต: { A0, A1 }, { B0, B1 }
- ผลลัพธ์: { A0 − A1, B0 − B1 }
HSUBPS- Horizontal-Subtract-Packed-Single [ 8 ]
- อินพุต: { A0, A1, A2, A3 }, { B0, B1, B2, B3 }
- เอาท์พุต: { A0 - A1, A2 - A3, B0 - B1, B2 - B3 }
LDDQU- ตามที่กล่าวไว้ข้างต้น นี่คือการโหลดเวกเตอร์จำนวนเต็มที่ไม่ตรงแนวทางเลือก[ 8 ]ซึ่งอาจเป็นประโยชน์สำหรับงานบีบอัดวิดีโอ
MOVDDUP,MOVSHDUP,MOVSLDUP[ 4 ]- สิ่งเหล่านี้มีประโยชน์สำหรับจำนวนเชิงซ้อนและการคำนวณคลื่น เช่น เสียง
FISTTP- เช่นเดียวกับคำสั่ง x87 รุ่นเก่า
FISTPแต่ไม่สนใจการตั้งค่าโหมดการปัดเศษของรีจิสเตอร์ควบคุมจุดลอยตัว และใช้โหมด "ตัดทิ้ง" (truncate) แทน[ 4 ]อนุญาตให้ละเว้นการโหลดและการโหลดซ้ำของรีจิสเตอร์ควบคุมที่มีราคาแพงในภาษาต่างๆ เช่น C ซึ่งการแปลง float เป็น int ต้องใช้พฤติกรรมการตัดทิ้งตามมาตรฐาน
คำแนะนำอื่นๆ
MONITOR,MWAIT- คำสั่ง นี้
MONITORใช้เพื่อระบุที่อยู่หน่วยความจำสำหรับการตรวจสอบ ในขณะที่MWAITคำสั่งนี้ทำให้โปรเซสเซอร์อยู่ในสถานะพลังงานต่ำและรอเหตุการณ์การเขียนไปยังที่อยู่ที่ได้รับการตรวจสอบ[ 4 ]
ลิงก์ภายนอก
- เอ็กซ์-บิต แล็บส์
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ เอสเอสอี3
SSE3 หรือ Streaming SIMD Extensions 3 หรือที่รู้จักกันในชื่อรหัส ของ Intel ว่า Prescott New Instructions ( PNI ) [ 1 ] เป็นชุดคำสั่ง SSE รุ่นที่สามสำหรับ สถาปัตยกรรม IA-32 (x86)...
การเปลี่ยนแปลง
การเปลี่ยนแปลงที่เห็นได้ชัดที่สุดคือความสามารถในการทำงานในแนวนอนภายในรีจิสเตอร์ ซึ่งแตกต่างจากการทำงานในแนวตั้งอย่างเคร่งครัดของคำสั่ง SSE ก่อนหน้านี้ทั้งหมด โดยเฉพาะอย่างยิ่ง มีการเพิ่มคำสั่งสำหรับการบวกและลบค่าหลายค่าที่เก็บไว้ในรีจิสเตอร์เดียว [ 4 ]...
ซีพียูที่มี SSE3
เอดีเอ็ม : Opteron (ตั้งแต่ Stepping E4 [ 6 ] ) เซมพรอน (ตั้งแต่สมัยปาแลร์โม ก้าวสู่ E3) Athlon 64 (ตั้งแต่ Venice Stepping E3 และ San Diego Stepping E4) Athlon 64 FX (ตั้งแต่การแข่งขัน San Diego Stepping E4) แอธลอน 64 X2 ฟีนอม 64 X2 แอธลอน II และ ฟีโนม II...
คำแนะนำทั่วไป
เลขคณิต ADDSUBPD เพิ่ม-ลบ-แพ็คดับเบิล [ 8 ] อินพุต: { A0, A1 }, { B0, B1 } ผลลัพธ์: { A0 − B0, A1 + B1 } ADDSUBPS เพิ่ม-ลบ-แพ็คเดี่ยว [ 8 ] อินพุต: { A0, A1, A2, A3 }, { B0, B1, B2, B3 } เอาท์พุต: { A0 - B0, A1 + B1, A2 - B2, A3 + B3 } AOS...