SSSE3

تُعدّ امتدادات SIMD للبث التكميلي 3 ( SSSE3 أو SSE3S ) مجموعة تعليمات SIMD التي أنشأتها شركة Intel وهي التكرار الرابع لتقنية SSE .

تاريخ

تم تقديم SSSE3 لأول مرة مع معالجات Intel القائمة على بنية Core الدقيقة في 26 يونيو 2006 مع معالجات Xeon "Woodcrest".

تمت الإشارة إلى SSSE3 بالأسماء الرمزية Tejas New Instructions (TNI) أو Merom New Instructions (MNI) لتصميمات المعالجات الأولى التي تهدف إلى دعمها.

تم تحسين SSSE3 لفك تشفير/ترميز الصوت/الفيديو عالي الدقة، على سبيل المثال AAC .

الوظائف

تحتوي SSSE3 على 16 تعليمة منفصلة جديدة. يمكن لكل تعليمة أن تعمل على سجلات MMX ذات 64 بت أو سجلات XMM ذات 128 بت. لذلك، تشير مواد إنتل إلى 32 تعليمة جديدة. وهي تشمل: [ 1 ]

  • اثنتا عشرة تعليمة تقوم بعمليات الجمع أو الطرح الأفقية.
  • ستة تعليمات لتقييم القيم المطلقة.
  • تعليماتان تقومان بعمليات الضرب والجمع وتسريع تقييم الضرب النقطي .
  • تعليماتان تعملان على تسريع عمليات ضرب الأعداد الصحيحة المعبأة وإنتاج قيم عددية صحيحة مع التحجيم.
  • تعليماتان تقومان بعملية خلط على مستوى البايت، في مكانها، وفقًا لمعامل التحكم في الخلط الثاني.
  • ست تعليمات تنفي الأعداد الصحيحة المعبأة في المعامل الوجهة إذا كان العنصر المقابل في المعامل المصدر سالبًا.
  • تعليماتان تعملان على محاذاة البيانات من مجموعة مكونة من معاملين.

وحدات المعالجة المركزية المزودة بتقنية SSSE3

New instructions

في الجدول أدناه، تأخذ الدالة satsw (X) (وتُقرأ "تحويل عدد صحيح مُوَقَّع إلى كلمة") عددًا صحيحًا مُوَقَّعًا X، وتحوله إلى -32768 إذا كان أقل من -32768، وإلى +32767 إذا كان أكبر من 32767، وتتركه دون تغيير في غير ذلك. وكما هو معتاد في معمارية إنتل، فإن البايتات تتكون من 8 بتات، والكلمات من 16 بتًا، والكلمات المزدوجة من 32 بتًا؛ ويشير مصطلح "المسجل" إلى مسجل متجه MMX أو XMM. [ 1 ]

تعليماتتعريفتوضيح
PSIGNB، PSIGNW،PSIGNDلافتة "ممتلئ"قم بعكس عناصر سجل البايتات أو الكلمات أو الكلمات المزدوجة إذا كانت إشارة العناصر المقابلة في سجل آخر سالبة.
PABSB، PABSW،PABSDالقيمة المطلقة المعبأةاملأ عناصر سجل من البايتات أو الكلمات أو الكلمات المزدوجة بالقيم المطلقة لعناصر سجل آخر
PALIGNRمحاذاة التعبئة إلى اليمينخذ سجلين، وقم بدمج قيمهما، واسحب قسمًا بطول السجل من إزاحة معينة بواسطة قيمة فورية مشفرة في التعليمات.
PSHUFBبايتات خلط مضغوطةيأخذ سجلات البايتات A = [a 0 a 1 a 2 ...] و B = [b 0 b 1 b 2 ...] ويستبدل A بـ [a b0 a b1 a b2 ...]؛ باستثناء أنه يستبدل الإدخال رقم i بـ 0 إذا تم تعيين البت العلوي من b i .
PMULHRSWمجموعة متعددة الطبقات عالية الارتفاع مع أشكال دائرية ومقياستعامل مع الكلمات ذات 16 بت في المسجلين A و B كأرقام ذات 16 بت ثابتة الموقعة بين −1.00000000 و +0.99996948... (على سبيل المثال، يتم التعامل مع 0x4000 على أنه +0.5 و 0xA000 على أنه −0.75)، واضربها معًا مع التقريب الصحيح.
PMADDUBSWاضرب واجمع البايتات الموقعة وغير الموقعة المعبأةخذ البايتات الموجودة في المسجلين A وB، واضربها معًا، واجمع الأزواج، وقم بتشبع الإشارة، ثم خزّنها. أي [a 0 a 1 a 2 ...] PMADDUBSW[b 0 b 1 b 2 ...] = [ satsw (a 0 b 0 + a 1 b 1 ) satsw (a 2 b 2 + a 3 b 3 ) ... ]
PHSUBW،PHSUBDالطرح الأفقي المضغوط (كلمات أو كلمات مزدوجة)تأخذ السجلات A = [a 0 a 1 a 2 ...] و B = [b 0 b 1 b 2 ...] وتخرج [a 0 −a 1 a 2 −a 3 ... b 0 −b 1 b 2 −b 3 ...]
PHSUBSWالكلمات المعبأة أفقيًا، اطرح الكلمات وأشبعهامثل PHSUBW، ولكن المخرجات هي [ satsw (a 0 −a 1 ) satsw (a 2 −a 3 ) ... satsw (b 0 −b 1 ) satsw (b 2 −b 3 ) ... ]
PHADDW،PHADDDإضافة أفقية مضغوطة (كلمات أو كلمات مزدوجة)يأخذ المسجلات A = [a 0 a 1 a 2 ...] و B = [b 0 b 1 b 2 ...] ويخرج [a 0 +a 1 a 2 +a 3 ... b 0 +b 1 b 2 +b 3 ...]
PHADDSWإضافة الكلمات وتشبعها أفقيًامثل PHADDW، ولكن المخرجات هي [ satsw (a 0 +a 1 ) satsw (a 2 +a 3 ) ... satsw (b 0 +b 1 ) satsw (b 2 +b 3 ) ... ]

انظر أيضاً

مراجع

  1. 1 2 "2.9.5". دليل مرجعي لتحسين معمارية Intel 64 و IA-32 (ملف PDF) (تقرير فني). Intel.com. 2016. الصفحات 92-93 . مؤرشف (ملف PDF) من الأصل في 20 يونيو 2018. تم الاطلاع عليه في 22 يونيو 2018 .