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
- AMD :
- معالجات "القط" منخفضة الطاقة
- معالجات تعتمد على تقنية Bobcat
- معالجات مبنية على معالجات جاكوار وأحدث
- المعالجات القائمة على بوما والمعالجات الأحدث
- معالجات "المعدات الثقيلة"
- معالجات تعتمد على الجرافات
- معالجات تعتمد على تقنية Piledriver
- معالجات تعتمد على تقنية ستيمرولر
- المعالجات القائمة على الحفارات والمعالجات الأحدث
- معالجات مبنية على معمارية زين
- معالجات مبنية على معمارية Zen+
- معالجات مبنية على معمارية Zen2
- معالجات مبنية على أساس Zen3
- معالجات مبنية على أساس Zen4
- معالجات مبنية على أساس Zen5
- معالجات "القط" منخفضة الطاقة
- إنتل :
- سلسلة Xeon 5100
- سلسلة Xeon 5300
- سلسلة Xeon 5400
- سلسلة Xeon 3000
- Core 2 Duo
- كور 2 إكستريم
- معالج Core 2 رباعي النواة
- معالج Core i7
- معالج Core i5
- معالج Core i3
- معالج بنتيوم ثنائي النواة (إذا كان يدعم 64 بت؛ من طراز ألينديل فصاعدًا)
- معالج سيليرون 4xx سيكوينس كونرو-إل
- معالج سيليرون ثنائي النواة E1200
- سلسلة معالجات سيليرون إم 500
- الذرة
- عبر :
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 2 "2.9.5". دليل مرجعي لتحسين معمارية Intel 64 و IA-32 (ملف PDF) (تقرير فني). Intel.com. 2016. الصفحات 92-93 . مؤرشف (ملف PDF) من الأصل في 20 يونيو 2018. تم الاطلاع عليه في 22 يونيو 2018 .
روابط خارجية
- مواصفات Core 2 Mobile
- ورقة بيضاء من إنتل تعترف بوجود SSSE3 وتصف SSE4
- وثائق مجموعة التعليمات التي تسرد وظائف تعليمات SSSE3
- تعليمات X86
- الحوسبة SIMD
