كوريمارك
CoreMark هو معيار لقياس أداء وحدات المعالجة المركزية (CPU) المستخدمة في الأنظمة المدمجة . طُوِّر عام ٢٠٠٩ [ ١ ] بواسطة شاي غال-أون في مركز EEMBC ، ويهدف إلى أن يصبح معيارًا صناعيًا، ليحل محل معيار Dhrystone . [ ٢ ] كُتب الكود بلغة C ويتضمن تطبيقات للخوارزميات التالية: معالجة القوائم (البحث والفرز)، ومعالجة المصفوفات (عمليات المصفوفات الشائعة)، وآلة الحالة (تحديد ما إذا كان دفق الإدخال يحتوي على أرقام صحيحة)، و CRC . الكود مرخص بموجب رخصة Apache 2.0 ومجاني الاستخدام، ولكن يحتفظ الاتحاد بحقوق الملكية، ويُحظر نشر أي نسخ معدلة منه تحت اسم CoreMark. [ ٣ ]
القضايا التي تناولتها شركة كورمارك
تؤدي خوارزمية CRC وظيفة مزدوجة؛ فهي توفر عبء عمل شائعًا في التطبيقات المدمجة، وتضمن التشغيل الصحيح لاختبار CoreMark، مما يوفر آلية فحص ذاتي. وللتحقق من صحة التشغيل، يتم إجراء CRC ذي 16 بت على البيانات الموجودة في عناصر القائمة المرتبطة .
لضمان عدم قدرة المترجمات على حساب النتائج مسبقًا أثناء الترجمة، تستنتج كل عملية في الاختبار المعياري قيمة غير متاحة في وقت الترجمة. علاوة على ذلك، فإن جميع التعليمات البرمجية المستخدمة ضمن الجزء الزمني من الاختبار المعياري هي جزء من الاختبار نفسه (بدون استدعاءات مكتبية ).
كورمارك مقابل درايستون
يستفيد برنامج CoreMark من نقاط القوة التي جعلت برنامج Dhrystone يتمتع بمرونة عالية، فهو صغير الحجم، سهل الحمل، سهل الفهم، مجاني، ويعرض نتيجة قياس أداء رقمية واحدة. على عكس Dhrystone، يمتلك CoreMark قواعد تشغيل وإعداد تقارير محددة، وقد صُمم لتجنب المشكلات المعروفة التي تم ذكرها في Dhrystone .
تتأثر أجزاء كبيرة من برنامج Dhrystone بقدرة المُصرّف على تحسين العمليات البرمجية؛ لذا فهو يُعتبر معيارًا للمُصرّف أكثر منه معيارًا للأجهزة. وهذا ما يجعل مقارنة النتائج أمرًا بالغ الصعوبة عند استخدام مُصرّفات/خيارات مختلفة.
تُجرى استدعاءات المكتبات ضمن الجزء الزمني من اختبار Dhrystone. وعادةً ما تستهلك هذه الاستدعاءات معظم وقت الاختبار. ولأن كود المكتبة ليس جزءًا من الاختبار، يصعب مقارنة النتائج عند استخدام مكتبات مختلفة. توجد إرشادات حول كيفية تشغيل Dhrystone، ولكن نظرًا لعدم اعتماد النتائج أو التحقق منها، لا يتم تطبيقها. كما لا يوجد توحيد قياسي لكيفية عرض نتائج Dhrystone، حيث تُستخدم تنسيقات متنوعة (DMIPS، عدد عمليات Dhrystone في الثانية، DMIPS/MHz).
اختبارات كورمارك
يتوفر كل من برنامج CoreMark الأصلي وبرنامج CoreMark-PRO على منصة GitHub، بالإضافة إلى شفرة المصدر وتعليمات التشغيل. [ 4 ] [ 5 ]
تهدف الاختبارات في معيار CoreMark الأصلي إلى العمل على نطاق واسع من المعالجات بدءًا من وحدات التحكم الدقيقة ذات 8 بت وحتى المعالجات الدقيقة ذات 64 بت، وتركز على أداء معالج الأعداد الصحيحة أحادي الخيوط، مع دعم لاختبار الخيوط المتوازية. [ 6 ]
تم تصميم معيار CoreMark-PRO ليتم تشغيله على نطاق أضيق بكثير من المعالجات من 32 بت إلى 64 بت، ويتضمن مجموعات بيانات أكبر لاختبار إجهاد أنظمة الذاكرة الفرعية الأكبر حجمًا، واختبارات لأداء الفاصلة العائمة، واختبارات لأداء المعالجة المتوازية. [ 6 ]
على الرغم من إمكانية تشغيل كل من CoreMark و CoreMark-PRO "بدون نظام تشغيل"، إلا أنهما يتم تشغيلهما غالبًا على أجهزة مزودة بنظام تشغيل، كما هو الحال مع Phoronix Test Suite . [ 7 ]
نتائج
يمكن الاطلاع على نتائج اختبار CoreMark على موقع CoreMark الإلكتروني، [ 8 ] وفي جداول بيانات المعالجات. وتكون النتائج بالصيغة التالية:
CoreMark 1.0 : N / C / P / M
- عدد التكرارات في الثانية (مع البذور 0,0,0x66، الحجم = 2000)
- إصدار مُترجم لغة C وعلاماته
- معلمات P مثل تفاصيل تخصيص البيانات والتعليمات البرمجية
- M – نوع تنفيذ الخوارزمية المتوازية (إن وُجد) وعدد السياقات
على سبيل المثال: CoreMark 1.0 : 128 / GCC 4.1.2 -O2 -fprofile-use / الذاكرة في TCRAM / FORK:2
انظر أيضاً
مراجع
- ↑ بيتشير، غراهام (8 يونيو 2009). "EEMBC تطلق معيارًا قياسيًا يتفوق على MIPS" . newelectronics.co.uk . تم الاطلاع عليه بتاريخ 28 أبريل 2020 .
- ↑ "شركة ARM تعلن دعمها لمعيار EEMBC CoreMark" . GISCafe . 2009-06-06 . تم الاطلاع عليه بتاريخ 2020-04-28 .
- ↑ "اتفاقية الاستخدام المقبول لـ COREMARK®" . GitHub . 24-05-2018 . تم الاطلاع عليه بتاريخ 28-04-2020 .
- ↑ "eembc / coremark" على GitHub.
- ↑ "تحويل كود C القديم إلى EM" .
- 1 2 "مقارنة بين CoreMark و CoreMark-PRO" .
- ↑ OpenBenchmarking. "Coremark" .
- ↑ "النتائج" . كورمارك . تم الاسترجاع في 28-04-2020 .
روابط خارجية
- الأنظمة المدمجة
- المعايير (الحوسبة)
