กลับไปหน้าบทความ

อ่าน 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

คำแนะนำใหม่

คำแนะนำทั่วไป

เลขคณิต

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 ]
  • เอ็กซ์-บิต แล็บส์
ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=SSE3&oldid=1309323038 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ เอสเอสอี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...