دريستون
This article needs additional citations for verification. (June 2021) |
Dhrystone هو برنامج معياري للحوسبة الاصطناعية تم تطويره في عام 1984 بواسطة Reinhold P. Weicker بهدف تمثيل برمجة النظام ( الأعداد الصحيحة ). أصبح Dhrystone ممثلاً لأداء المعالج العام ( وحدة المعالجة المركزية ). اسم "Dhrystone" هو تلاعب بالألفاظ على خوارزمية معيارية مختلفة تسمى Whetstone ، والتي تؤكد على أداء الفاصلة العائمة . [1]
باستخدام Dhrystone، جمع Weicker بيانات وصفية من مجموعة واسعة من البرامج، بما في ذلك البرامج المكتوبة بلغات FORTRAN و PL/1 وSAL و ALGOL 68 و Pascal . ثم وصف هذه البرامج من حيث التراكيب الشائعة المختلفة: استدعاءات الإجراءات، وتوجيهات المؤشر ، والتعيينات، وما إلى ذلك. ومن هذا كتب معيار Dhrystone ليتوافق مع مزيج تمثيلي. نُشر Dhrystone في Ada ، مع إصدار C لنظام التشغيل Unix الذي طوره Rick Richardson ("الإصدار 1.1") مما ساهم بشكل كبير في شعبيته.
دريستون ضد ويتستون
لا يحتوي معيار Dhrystone على عمليات ذات فاصلة عائمة ، وبالتالي فإن الاسم عبارة عن تورية على معيار Whetstone الشهير آنذاك لعمليات النقطة العائمة. الناتج من المعيار هو عدد Dhrystones في الثانية (عدد تكرارات حلقة التعليمات البرمجية الرئيسية في الثانية).
يعد كل من Whetstone وDhrystone من المعايير الاصطناعية ، مما يعني أنهما برنامجان بسيطان تم تصميمهما بعناية لمحاكاة استخدام المعالج إحصائيًا لمجموعة شائعة من البرامج. سعى Whetstone، الذي تم تطويره في عام 1972، في الأصل إلى محاكاة برامج Algol 60 النموذجية بناءً على قياسات من عام 1970، لكنه أصبح في النهاية أكثر شهرة في إصداره Fortran، مما يعكس التوجه العددي العالي للحوسبة في الستينيات.
القضايا التي تناولها دريستون
This section does not cite any sources. (June 2021) |
كانت أهمية Dhrystone في نهاية المطاف كمؤشر لأداء الأغراض العامة ("العدد الصحيح") لأجهزة الكمبيوتر الجديدة سبباً في جعلها هدفاً لكتّاب المجمِّعات التجارية. إن العديد من تقنيات تحليل الكود الثابتة الحديثة للمجمِّع (مثل التخلص من الكود الميت : على سبيل المثال، الكود الذي يستخدم المعالج ولكنه ينتج نتائج داخلية لا تُستخدم أو تُخرج) تجعل استخدام وتصميم معايير الأداء الاصطناعية أكثر صعوبة. كان الإصدار 2.0 من المعيار، الذي أصدره Weicker وRichardson في مارس 1988، يحتوي على عدد من التغييرات التي تهدف إلى إحباط مجموعة من تقنيات المجمِّع. ومع ذلك، فقد تم تصميمه بعناية حتى لا يغير المعيار الأساسي. لم يكن هذا الجهد لإحباط المجمِّعين ناجحًا إلا جزئيًا. كان لدى Dhrystone 2.1، الذي تم إصداره في مايو من نفس العام، بعض التغييرات الطفيفة واعتبارًا من يوليو 2010 [update]يظل التعريف الحالي لـ Dhrystone.
بخلاف القضايا المتعلقة بتحسين المترجم، تم الاستشهاد بقضايا أخرى مختلفة مع Dhrystone. تم فهم معظم هذه القضايا، بما في ذلك حجم الكود الصغير وحجم مجموعة البيانات الصغيرة، في وقت نشرها في عام 1984. الأمر الأكثر دقة هو التمثيل الزائد الطفيف لعمليات السلسلة، والذي يرتبط إلى حد كبير باللغة: كل من Ada وPascal لديهما سلاسل كمتغيرات طبيعية في اللغة، بينما لا يوجد لدى C، لذلك فإن ما كان تعيينًا بسيطًا للمتغيرات في معايير المرجع أصبح عمليات نسخ مؤقتة في مكتبة C. مشكلة أخرى هي أن النتيجة المبلغ عنها لا تتضمن معلومات مهمة عند مقارنة الأنظمة مثل المترجم المستخدم، وما هي التحسينات.
تظل Dhrystone مرنة بشكل ملحوظ كمعيار بسيط، ولكن قيمتها المستمرة في تحديد الأداء الحقيقي موضع شك. فهي سهلة الاستخدام، وموثقة جيدًا، ومكتفية ذاتيًا بالكامل، ومفهومة جيدًا، ويمكن تشغيلها على أي نظام تقريبًا. وبشكل خاص، ظلت مستخدمة على نطاق واسع في عالم الحوسبة المضمنة، على الرغم من أن مجموعة معايير EEMBC التي تم تطويرها مؤخرًا، ومعيار CoreMark المستقل، وHINT، وStream، وحتى Bytemark يتم الاستشهاد بها واستخدامها على نطاق واسع، بالإضافة إلى معايير أكثر تحديدًا لنظام الذاكرة الفرعي (Cachebench)، وTCP/IP (TTCP)، والعديد من المعايير الأخرى.
نتائج
قد يمثل Dhrystone نتيجة بشكل أكثر مغزى من MIPS (مليون تعليمة في الثانية) لأن مقارنات عدد التعليمات بين مجموعات التعليمات المختلفة (على سبيل المثال RISC مقابل CISC ) يمكن أن تخلط بين المقارنات البسيطة. على سبيل المثال، قد تتطلب نفس المهمة عالية المستوى تعليمات أكثر بكثير على جهاز RISC، ولكنها قد تُنفذ بشكل أسرع من تعليمة CISC واحدة. وبالتالي، فإن درجة Dhrystone تحسب فقط عدد عمليات إكمال تكرار البرنامج في الثانية، مما يسمح للأجهزة الفردية بإجراء هذا الحساب بطريقة خاصة بالجهاز. تمثيل شائع آخر لمعيار Dhrystone هو DMIPS ( Dhrystone MIPS ) الذي تم الحصول عليه عند تقسيم درجة Dhrystone على 1757 (عدد Dhrystones في الثانية التي تم الحصول عليها على VAX 11/780 ، وهو جهاز 1 MIPS اسميًا).
هناك طريقة أخرى لتمثيل النتائج وهي بوحدة DMIPS/MHz، حيث يتم تقسيم نتيجة DMIPS حسب تردد وحدة المعالجة المركزية، للسماح بمقارنة أسهل بين وحدات المعالجة المركزية التي تعمل بمعدلات ساعة مختلفة .
العيوب
إن استخدام Dhrystone كمعيار له عيوبه:
- فهو يتميز بأكواد غير عادية لا تمثل عادةً برامج الحياة الواقعية الحديثة. [2]
- إنها قابلة للتحسين من قبل المترجم. على سبيل المثال، تقوم بالكثير من نسخ السلاسل في محاولة لقياس أداء نسخ السلاسل. ومع ذلك، فإن السلاسل في Dhrystone لها طول ثابت معروف ويتم محاذاة بداياتها على حدود طبيعية، وهما خاصيتان غائبتان عادةً في البرامج الحقيقية. لذلك، يمكن للمحسن استبدال نسخة السلسلة بسلسلة من حركات الكلمات دون أي حلقات، وهو ما سيكون أسرع بكثير. وبالتالي فإن هذا التحسين يبالغ في تقدير أداء النظام، في بعض الأحيان بأكثر من 30%. [3]
- قد يتناسب حجم الكود الصغير لـ Dhrystone مع ذاكرة التخزين المؤقت للتعليمات في وحدة المعالجة المركزية الحديثة، بحيث لا يتم اختبار أداء جلب التعليمات بدقة. [2] وبالمثل، قد يتناسب Dhrystone أيضًا تمامًا مع ذاكرة التخزين المؤقت للبيانات ، وبالتالي لا يمارس أداءً خاطئًا لذاكرة التخزين المؤقت للبيانات. لمواجهة مشكلة الملاءمة في ذاكرة التخزين المؤقت، تم إنشاء معيار SPECint في عام 1988 ليشمل مجموعة من (8 في البداية) برامج أكبر بكثير (بما في ذلك المترجم) والتي لا يمكن أن تتناسب مع ذاكرة التخزين المؤقت L1 أو L2 في ذلك العصر.
انظر أيضا
مراجع
- ^ التورية : w h etstone → حجر مبلل → حجر جاف → d h rystone.
- ^ ab Weiss, Alan. "Dhrystone Benchmark: History, Analysis, "Scores" and Recommendations" (PDF) . مؤرشف من الأصل (PDF) في 2011-07-26 . تم الاسترجاع في 2020-04-28 .
- ^ فرانكو زابا (2017). وحدات التحكم الدقيقة: الأجهزة والبرامج الثابتة للأجهزة ذات 8 بت و32 بت . دار نشر سوسيتيه إسكولابيو. ص. 66. رقم ISBN 978-88-9385-022-3.
روابط خارجية
- Weicker, Reinhold (أكتوبر 1984). "Dhrystone: A Synthetic Systems Programming Benchmark". Communications of the ACM . 27 (10): 1013–30. doi : 10.1145/358274.358283 . S2CID 9026014.
- معيار Dhrystone: الأساس المنطقي للإصدار 2 وقواعد القياس (Reinhold P. Weicker، 1988)
- برنامج DHRYSTONE المعياري (Reinhold P. Weicker, 1995)
