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

FMA و FMA3

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

تُسمى أيضًا FMA و FMA3

تحسب FMA عملية ضرب وجمع للفاصلة العائمة مع تقريب نهائي واحد. وتشير FMA3 إلى عائلة تعليمات الضرب والجمع المدمج (fused multiply-add) ثلاثية المعاملات في x86؛ ويتم تعدادها بشكل منفصل عن AVX2.

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

تحسب FMA عملية ضرب وجمع للفاصلة العائمة مع تقريب نهائي واحد. وتشير FMA3 إلى عائلة تعليمات الضرب والجمع المدمج (fused multiply-add) ثلاثية المعاملات في x86؛ ويتم تعدادها بشكل منفصل عن AVX2.

كيف يعمل

تقيم العملية المدمجة حاصل الضرب والمجموع كعملية حسابية واحدة قبل التقريب إلى تنسيق الوجهة. ويمكن أن يحافظ هذا على مساهمة كانت ستُفقد لو تم تقريب الضرب أولاً. وتحدد صيغ التعليمات 132 و 213 و 231 أي المعاملات توفر حاصل الضرب، والمجموع المضاف، والوجهة التي ستتم الكتابة فوقها. وتتمتع الصيغ القياسية والمحزومة بسلوك مسارات (lanes) مختلف.

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

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

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

لتعليمات VEX FMA3، تحقق من البت 12 في CPUID.01H:ECX جنبًا إلى جنب مع فحوصات حالة نظام التشغيل الكاملة لـ AVX. وإذا كنت تستخدم صيغ EVEX، فتحقق من المجموعات الفرعية الإضافية لـ AVX-512 والحالة المطلوبة لتلك الصيغ. وافحص رايات المحول البرمجي عند تغير النتائج الحسابية بعد إعادة البناء.

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

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

لا تعني FMA أن كل تعبير فاصلة عائمة يتم تقييمه بدقة إضافية، ولا تضمن نتائج متطابقة عبر إعدادات المحول البرمجي المختلفة. وتعد FMA4 عائلة تعليمات مختلفة. ولا يثبت AVX أو AVX2 وحدهما دعم FMA3.

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

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

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

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

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

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

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

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

Intel 64 and IA-32 Architectures Software Developer's Manual · Linux kernel: استخدام ميزات XSTATE في مساحة المستخدم

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

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

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

  • Intel 64 and IA-32 Architectures Software Developer's Manual · يصف المجلدان 1 و2 عائلات التعليمات المحددة وCPUID؛ بينما يصف المجلد 3 عناصر التحكم في الحالة والترقيم الصفحي وVMX والحماية. ولا تثبت وثائق المعمارية الدعم لطراز معين.
  • Linux kernel: استخدام ميزات XSTATE في مساحة المستخدم · حالة المتجهات الممكنة بنظام التشغيل، وحالة البلاطات الممكنة ديناميكيًا، ومتطلبات مكدس الإشارات، ومسار إذن AMX. لا يعد السلوك الخاص بنظام Linux وعدًا ينطبق على نظام تشغيل آخر.

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

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

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