عداد أداء
بدايةً، عدادات الأداء أو عدادات أداء الأجهزة هي مجموعة من المسجلات ذات الأغراض الخاصة المدمجة في المعالجات الصغرية الحديثة لتخزين عدد الأنشطة المتعلقة بالأجهزة. ويعتمد المستعملون المتقدمون غالبًا على هذه العدادات لإجراء ضبط أو تحليل الأداء منخفض المستوى. وفيما يلي تفاصيل أوسع عن ذلك.
التطبيقات
كذلك، يُعدّ عدد عدادات الأداء المتاحة في المعالج محدودًا، على الرغم من أن كل طراز من وحدات المعالجة المركزية قد يحتوي على الكثير من الأحداث المختلفة التي قد يرغب المطور في قياسها. وللتغلب على هذه المُشكلة، يمكن برمجة كل عداد بفهرس نوع الحدث المراد مراقبته، مثل خطأ في ذاكرة التخزين المؤقت 1 أو خطأ في توقع مسار التفرع. كان معالج بنتيوم الذي قدمته شركة إنتل من أوائل المعالجات التي تضمنت عدادًا لأداء الأجهزة مع إدراج تعليمات مرتبطة به للسماح بالوصول إليه، غير أن هذا لم يوثق إلا بعد أن كتب تيرجي ماثيسن مقالًا عن هندستها العكسية في مجلة بايت في يوليو (تموز) 1994.
من جانب آخر، ويوضح الجدول التالي بعض الأمثلة على وحدات المعالجة المركزية وعدد عدادات أداء الأجهزة المتاحة في كُل منها:
مقارنة بين عدادات الأداء وأدوات تحليل الأداء
علاوةً على ذلك، توفر عدادات أداة الأجهزة بالمقارنة مع أدوات تحليل الأداء البرمجية وصولاً سهلاً وسريعاً إلى كم هائل من معلومات الأداء التفصيلية المتعلقة بالوحدات الوظيفية لوحدة المعالجة المركزية، والذاكرة المؤقتة، والذاكرة الرئيسية، وغيرها. ومن مزايا استخدام عدادات الأداء كذلك عدم الحاجة إلى تعديل النص البرمجي المصدري بشكل عام. على الرغم من ذلك، قد تختلف أنواع عدادات الأداء ومعانيها باختلاف معمارية المعالجات نظراً لاختلاف تنظيم الأجهزة. وقد يواجه المستعملون صعوبة في ربط مقاييس الأداء منخفضة المستوى بالنص البرمجي المصدري، إذ أن قلة عدد المسجلات المتاحة لتخزين العدادات غالباً ما تجبر المستعملين على إجراء قياسات متعددة لجمع جميع مقاييس الأداء المطلوبة.
أخذ العينات بناءً على التعليمات
وفي هذا الصدد، أتاحت شركة إي إم دي طرقًا للتخفيف من بعض هذه العيوب، حيث طبقت معالجات أوبتيرون في سنة 2007 مثلًا، تقنية عُرفت باسم أخذ العينات القائم على التعليمات، والتي أتاحت عدادات أداء مادية لكل من أخذ عينات الجلب (بداية خط أنابيب المعالج فائق التوازي) وأخذ عينات العمليات (نهاية خط الأنابيب) مما أنتج بيانات أداء منفصلة تربط التعليمات المتوقفة بتعليمات إيه إم دي 64 الأصلية.
من جهة ثانية، تقوم المعالجات فائقة التوازي الحديثة بجدولة وتنفيذ تعليمات متعددة خارج الترتيب في وقت واحد. يمكن لهذه التعليمات التي تكون قيد التنفيذ أن تتوقف في أي وقت، اعتمادًا على الوصول إلى الذاكرة، ووجود البيانات في الذاكرة المؤقتة، وحالات التوقف في خط الأنابيب، والكثير من العوامل الأخرى. قد يؤدي ذلك إلى إسناد أحداث عدادات الأداء إلى تعليمات خاطئة، مما يجعل تحليل الأداء بدقة عملية صعبة أو مستحيلة.
📝 هل في هذه المقالة خطأ؟
إذا وجدت معلومة تحتاج تصحيحاً أو إضافة، أو أردت حذف المقالة، أرسل لنا طلباً وسنراجعه.
ما رأيك في هذه المقالة؟