عداد أداء الأجهزة

في الحواسيب ، تُعدّ عدادات أداء الأجهزة ( HPCs ) [ 1 ] ، أو عدادات الأجهزة، مجموعة من السجلات ذات الأغراض الخاصة المدمجة في المعالجات الدقيقة الحديثة لتخزين عدد الأنشطة المتعلقة بالأجهزة. ويعتمد المستخدمون المتقدمون غالبًا على هذه العدادات لإجراء تحليل أو ضبط الأداء على مستوى منخفض .

التطبيقات

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

كان معالج Intel Pentium أحد أوائل المعالجات التي نفذت عدادًا للأجهزة وتعليمات مرتبطة به للوصول إليه ( RDPMCالتعليمات) ، ولكن لم يتم توثيقها حتى كتب تيرجي ماثيسن مقالًا عن الهندسة العكسية لها في مجلة Byte في يوليو 1994. [ 2 ]

يوضح الجدول التالي بعض الأمثلة على وحدات المعالجة المركزية وعدد عدادات الأجهزة المتاحة:

المعالجعدادات الأجهزة المتاحة
UltraSparc II2
بنتيوم 32
ARM112
معالج AMD أثلون4
IA-644
ARM Cortex-A52 [ 3 ]
ARM Cortex-A84
ARM Cortex-A9 MPCore6
باور 48
بنتيوم 418

مقابل تقنيات البرمجيات

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

قد تنشأ صعوبات في ربط مقاييس الأداء منخفضة المستوى بشفرة المصدر. فغالباً ما يُجبر العدد المحدود من السجلات لتخزين العدادات المستخدمين على إجراء قياسات متعددة لجمع جميع مقاييس الأداء المطلوبة.

أخذ العينات بناءً على التعليمات

مخرجات ملف تعريف IBS من CodeAnalyst .

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

قدمت AMD أساليب للتخفيف من بعض هذه العيوب. على سبيل المثال ، طبقت معالجات Opteron في عام 2007 تقنية تُعرف باسم أخذ العينات القائم على التعليمات (IBS). يوفر تطبيق AMD لتقنية IBS عدادات مادية لكل من أخذ عينات الجلب (بداية خط أنابيب المعالجة الفائقة) وأخذ عينات العمليات (نهاية خط الأنابيب). ينتج عن ذلك بيانات أداء منفصلة تربط التعليمات المُلغاة بتعليمات AMD64 "الأصلية".

انظر أيضاً

مراجع

  1. مالون، كوري؛ زهران، محمد؛ كاري، راميش (2011). "هل تُعدّ عدادات أداء الأجهزة وسيلة فعّالة من حيث التكلفة للتحقق من سلامة البرامج؟" (ملف PDF) . وقائع ورشة عمل ACM السادسة حول الحوسبة الموثوقة القابلة للتوسع . الصفحات 71-76 . doi : 10.1145/2046582.2046596 . ISBN  9781450310017. S2CID 16409864 . تم الاسترجاع في 17 نوفمبر 2022 . 
  2. "أسرار بنتيوم" . Gamedev.net . تم الاطلاع عليه بتاريخ 14 فبراير 2012 .
  3. "الوثائق - مطور Arm" . developer.arm.com .
  4. "أخذ العينات بناءً على التعليمات: تقنية جديدة لتحليل الأداء لمعالجات AMD من عائلة 10h" (ملف PDF) . AMD . تم الاطلاع عليه بتاريخ 16 أكتوبر 2015 .