الانتقال إلى المحتوى

SSSE3

مرجع المعماريةFeex

تضيف SSSE3، وهي Supplemental Streaming SIMD Extensions 3، عمليات على الأعداد الصحيحة المجمعة مثل تبديل مواضع البايتات (byte shuffles)، والحساب الأفقي، وعمليات الإشارة. ويميزها حرف S الإضافي عن SSE3.

ما تحتاج إلى معرفته

تضيف SSSE3، وهي Supplemental Streaming SIMD Extensions 3، عمليات على الأعداد الصحيحة المجمعة مثل تبديل مواضع البايتات (byte shuffles)، والحساب الأفقي، وعمليات الإشارة. ويميزها حرف S الإضافي عن SSE3.

كيف يعمل

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

مواضع فائدتها

يمكن لروتين برنامج الترميز (codec) أو معالجة النصوص استخدام تبديل مواضع البايتات لإعادة تنظيم المدخلات قبل إجراء الحساب. هذا لا يعني أن PSHUFB توفر بحثاً غير مقيد في ذاكرة عشوائية: فنطاق بحثها يقتصر على بيانات المصدر الخاصة بالتعليمة ونطاق المسار المحدد.

كيفية التحقق من الدعم والتمكين

يشير البت 9 في CPUID.01H:ECX إلى SSSE3. يجب على موزع وقت التشغيل (runtime dispatcher) اختبار هذا البت قبل استخدام مسار SSSE3 القديم، واختبار التوسع الإضافي المناسب قبل اختيار ترميزات أوسع نطاقاً.

تصف ميزة SIMD التعليمات وليس أنوية إضافية. يحدد شكل التعليمة عرض العنصر، والإشارة، والتقريب، والمحاذاة، والمسارات التي تتفاعل. يجب أن تحافظ البرمجيات على حالة سجلات واجهة التطبيق الثنائية (ABI) وتستخدم بيئة تنفيذ مدعومة.

ما لا تثبته هذه الميزة

لا تتضمن SSSE3 كل تعليمات SSE4. كما أن التسمية المتشابهة لا تعني أن SSE3 و SSSE3 هما أهداف مترجم (compiler targets) قابلة للتبادل. وتتطلب صيغ VEX أو EVEX الأحدث والأوسع متطلبات ميزات إضافية.

التوافق والأداء في الممارسة العملية

تحتوي التسميات اللاحقة في عائلة SSE على بتات ميزات منفصلة. بالنسبة للثنائيات المنشورة، افحص الحد الأدنى الكامل لمجموعة الميزات، بما في ذلك المكتبات وكود بدء التشغيل. يكون المسار البديل مفيداً فقط إذا لم تعمل أي تعليمة غير مدعومة قبل خطوة التحديد.

قائمة عملية للتحقق

  1. سجل الطراز الدقيق للمعالج أو المنصة، بالإضافة إلى إصدارات التطبيق ونظام التشغيل وبيئة التشغيل المعنية. واحتفظ بنص الخطأ الفعلي أو المتطلب كما هو.
  2. راجع مرجع الشركة المصنعة لذلك الطراز بدقة، ثم افحص القدرة الفعلية وحالة التمكين في البيئة التي يعمل فيها البرنامج.
  3. قارن كل متطلب من متطلبات الملف الثنائي أو الواجهة الخلفية المحددة. فوجود ميزة ذات اسم مشابه أو اسم بديل أو تصنيف تقني عام ليس كافيًا.
  4. تأكد من أن التطبيق قد اختار التنفيذ المطلوب. واستخدم وسائله التشخيصية الموثقة والبديل الاحتياطي المدعوم عندما لا يتم استيفاء المتطلبات.
  5. قم بإجراء تغيير مدعوم واحد في كل مرة وأعد تنفيذ نفس حمل العمل. واحتفظ بالتهيئة الأصلية ومسار الاسترداد متاحين.

إذا كانت الميزة مدرجة ولكن يتعذر على البرنامج استخدامها

ابدأ بالمكون الفعلي الذي حدث فيه الفشل. تصف قاعدة بيانات الأجهزة القدرات المسجلة؛ ولكن يمكن لنظام التشغيل أو برنامج المراقبة الفوقي (hypervisor) إتاحة بيئة فعلية مختلفة. ويتطلب خطأ التعليمة غير الصالحة (illegal-instruction) أيضًا فحص التعليمة المتسببة في الخطأ وبنية الملف الثنائي، لأن التلف أو وجود تعليمة غير مدعومة لا صلة لها بالأمر قد يُحدث أعراضًا مماثلة.

ثبت إصدار التطبيق أو برنامج التشغيل أو بيئة التشغيل المدعومة للمنصة المعنية بدقة، واستخدم البنية الأساسية أو الاحتياطية الموثقة من الشركة المصنعة عند الحاجة. لا يمكن للتحديث البرمجي إنشاء تعليمة يفتقر إليها المعالج. ويجب أن تتبع تغييرات البرامج الثابتة وسياسات الأمان إجراءات الشركة المصنعة للنظام وخطة استرداد، بدلاً من اتباع وصفة تحسين عامة.

مصادر ونطاق هذا التوضيح

Intel 64 and IA-32 Architectures Software Developer's Manual · x86-64 psABI: مستويات بنية المعالج والبنية الدقيقة

تحدد هذه المراجع السلوك المعماري ومتطلبات البرمجيات. وهي لا تتحقق بشكل مستقل من قيمة كل ميزة على صفحة طراز عتاد مرتبطة. للحصول على دعم الطراز، استخدم أدلة الشركة المصنعة في تلك الصفحة وتحقق من تهيئة النظام الفعلية. لا تقدم هذه المقالة مقياس أداء أو شهادة اعتماد أو تاريخ مراجعة مستقلة.

المصادر والتحقق

الملكية التحريرية: Feex. لم يتم تسجيل تاريخ مراجعة مستقلة. كيف نقوم بالبحث.

هل كانت هذه المقالة مفيدة؟

يكفي الإجابة بنعم أو لا. اختر سببًا إذا أردت، أو أضف ملاحظة قصيرة.

هل كانت هذه المقالة مفيدة؟