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

RDTSCP

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

تقرأ تعليمة RDTSCP عداد الطابع الزمني في x86 وقيمة معرف المعالج المساعدة بخصائص ترتيب محددة. وهي ليست تعليمة تسلسلية بالكامل أو إطار اختبار أداء تلقائيا.

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

تقرأ تعليمة RDTSCP عداد الطابع الزمني في x86 وقيمة معرف المعالج المساعدة بخصائص ترتيب محددة. وهي ليست تعليمة تسلسلية بالكامل أو إطار اختبار أداء تلقائيا.

كيف يعمل

تعيد RDTSCP العداد في EDX:EAX وقيمة IA32_TSC_AUX في ECX. تقيد قواعد الترتيب الخاصة بها بعض العمليات السابقة، ولكن قد تبدأ التعليمات اللاحقة قبل اكتمال القراءة، وتخضع عمليات التخزين السابقة لاعتبارات رؤية إضافية. يعتمد تسلسل حواجز المزامنة (fences) الصحيح على ما يهدف القياس إلى حصره.

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

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

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

تحدد البتة 27 من CPUID.80000001H:EDX ميزة RDTSCP. تحقق من سياسة العداد في نظام التشغيل أو برنامج المراقبة الفعلي، واستخدم طريقة توقيت موثقة مع الحواجز المطلوبة. يفضل استخدام الساعة الرتيبة (monotonic clock) الخاصة بنظام التشغيل لقياس الوقت المنقضي للتطبيق.

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

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

دعم RDTSCP لا يثبت سلوك TSC ثابتا أو متزامنا. يخضع تفسير القيمة المساعدة لتعريف نظام التشغيل. طرح عينتين دون فهم الترتيب قد يقيس فترة زمنية مختلفة عن المقصودة.

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

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

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

  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 والحماية. ولا تثبت وثائق المعمارية الدعم لطراز معين.

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

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

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