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

SSE3

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

يضيف SSE3 مجموعة صغيرة من تعليمات x86 للتعامل مع بيانات الفاصلة العائمة والعمليات الحسابية، بما في ذلك العمليات الأفقية. وهو يختلف عن Supplemental SSE3، والذي يُكتب عادةً SSSE3.

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

يضيف SSE3 مجموعة صغيرة من تعليمات x86 للتعامل مع بيانات الفاصلة العائمة والعمليات الحسابية، بما في ذلك العمليات الأفقية. وهو يختلف عن Supplemental SSE3، والذي يُكتب عادةً SSSE3.

كيف يعمل

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

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

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

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

يحدد البت 0 من CPUID.01H:ECX دعم SSE3. تحقق من SSSE3 بشكل منفصل عند البت 9. حدد التعليمة الفعلية التي تسببت في خطأ تعليمة غير صالحة بدلاً من التخمين بناءً على متطلبات SSE العامة للتطبيق.

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

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

تعد SSE3 و SSSE3 علامتي ميزات منفصلتين. ولا يثبت أي من المسميين توفر SSE4.1 أو SSE4.2 أو POPCNT أو AVX. كما يتطلب توفر MONITOR/MWAIT والاستخدام المسموح بهما تقييماً خاصاً على مستوى النظام بدلاً من افتراض إمكانية تنفيذ التعليمات البرمجية للمستخدم لكل تعليمة مرتبطة.

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

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

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

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

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

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

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

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

Intel 64 and IA-32 Architectures Software Developer's Manual

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

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

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

  • Intel 64 and IA-32 Architectures Software Developer's Manual · يصف المجلدان 1 و2 عائلات التعليمات المحددة وCPUID؛ بينما يصف المجلد 3 عناصر التحكم في الحالة والترقيم الصفحي وVMX والحماية. ولا تثبت وثائق المعمارية الدعم لطراز معين.

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

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

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