Drystone - Dhrystone

Drystone a sintetik hisoblash benchmark tomonidan 1984 yilda ishlab chiqilgan dastur Reinxold P. Vayker tizim (tamsayı) dasturlashning vakili bo'lishi uchun mo'ljallangan. Drystone umumiy protsessorning vakili bo'lib o'sdi (Markaziy protsessor ) ishlash. "Dhrystone" nomi boshqa nomlangan algoritm bo'yicha so'zlashuv Vetston.[1]

Dhrystone bilan Weicker dasturiy ta'minotning keng doirasidan meta-ma'lumotlarni, shu jumladan yozilgan dasturlarni yig'di FORTRAN, PL / 1, SAL, ALGOL 68 va Paskal. Keyin u ushbu dasturlarni har xil umumiy konstruktsiyalar bo'yicha tavsifladi: protseduralarni chaqirish, ko'rsatgich ko'rsatmalar, topshiriqlar va h.k.lardan u Dhrystone ko'rsatkichini vakillik aralashmasiga mos ravishda yozgan. Dhrystone yilda nashr etilgan Ada, bilan C uchun versiya Unix Rik Richardson tomonidan ishlab chiqilgan ("1.1 versiyasi") uning mashhur bo'lishiga katta hissa qo'shmoqda.

Dhrystone va Whetstone

Dhrystone benchmarkida yo'q suzuvchi nuqta operatsiyalar, shuning uchun bu nom o'sha paytda mashhur bo'lgan so'zdir Vetston suzuvchi nuqta operatsiyalari uchun etalon. Etalon natijasi - bu soniyada Drystones soni (sekundiga asosiy kod tsiklining takrorlanish soni).

Whetstone ham, Dhrystone ham sintetik ko'rsatkichlar, ya'ni ular oddiy dasturlar bo'lib, ular ba'zi bir keng tarqalgan dasturlarning protsessoridan foydalanishni statistik taqlid qilish uchun puxta ishlab chiqilgan. 1972 yilda ishlab chiqilgan Whetstone dastlab 1970 yildagi o'lchovlarga asoslangan Algol 60 tipik dasturlarini taqlid qilishga intilgan, ammo oxir-oqibat Fortran versiyasida eng ommabop bo'lib, 1960-yillarda hisoblashning juda raqamli yo'nalishini aks ettirgan.

Drystone tomonidan hal qilingan muammolar

Drystonening yangi kompyuterlarning umumiy maqsadli ("tamsayı") ishlash ko'rsatkichi sifatida pirovard ahamiyati uni tijorat kompilyatorlari uchun maqsadga aylantirdi. Turli xil zamonaviy kompilyator statik kodni tahlil qilish texnikasi (masalan o'lik kodni yo'q qilish: masalan, protsessordan foydalanadigan, lekin ishlatilmaydigan yoki chiqmaydigan ichki natijalarni ishlab chiqaradigan kod) sintetik mezonlardan foydalanish va dizaynini qiyinlashtiradi. 1988 yil mart oyida Vayker va Richardson tomonidan chiqarilgan benchmarkning 2.0 versiyasida bir qator o'zgarishlar kiritilgan, ular kompilyator texnikasini buzish uchun mo'ljallangan. Shunga qaramay, u asosiy mezonni o'zgartirmaslik uchun ehtiyotkorlik bilan yaratilgan. Kompilyatorlarni plyonka bilan ishlashga qaratilgan bu harakat qisman muvaffaqiyatli bo'ldi. Xuddi shu yilning may oyida chiqarilgan Dhrystone 2.1-da kichik o'zgarishlar yuz berdi va 2010 yil iyul holatiga ko'ra Drystone-ning hozirgi ta'rifi bo'lib qolmoqda.

Dhrystone bilan kompilyatorni optimallashtirish bilan bog'liq masalalardan tashqari, boshqa har xil masalalar keltirilgan. Ularning aksariyati, shu jumladan kichik kod hajmi va ma'lumotlar to'plamining kichik hajmi, 1984 yilda nashr etilgan paytda tushunilgan edi. Keyinchalik ingichka - bu asosan til bilan bog'liq bo'lgan string operatsiyalarining haddan tashqari haddan tashqari namoyishi: Ada va Paskal tillarida satrlar tildagi normal o'zgaruvchilar sifatida, C esa yo'q, shuning uchun mos yozuvlar ko'rsatkichlarida oddiy o'zgaruvchilar tayinlanishi C kutubxonasida bufer nusxalash operatsiyalariga aylandi. Yana bir muammo shundaki, hisobotda qaysi kompilyator ishlatilganligi va qanday optimallashtirish kabi tizimlarni taqqoslashda muhim ahamiyatga ega bo'lgan ma'lumotlar mavjud emas.

Dhrystone oddiy mezon sifatida juda bardoshli bo'lib qolmoqda, ammo uning haqiqiy ishlashni o'rnatishda davom etadigan qiymati shubhali. Uni ishlatish oson, yaxshi hujjatlashtirilgan, to'liq shaxsiy, to'liq tushunilgan va deyarli har qanday tizimda ishlashi mumkin. Xususan, u yaqinda ishlab chiqilgan bo'lsa-da, o'rnatilgan kompyuter dunyosida keng qo'llanilib kelinmoqda EEMBC benchmark to'plami, HINT, Stream va hatto Bytemark keng keltirilgan va foydalanilgan, shuningdek xotira quyi tizimi (Cachebench), TCP / IP (TTCP) va boshqa ko'plab narsalar uchun aniqroq ko'rsatkichlar.

Natijalar

Dhrystone natijani MIPS (soniyasiga million ko'rsatma) ga qaraganda mazmunliroq ko'rsatishi mumkin, chunki ko'rsatmalar turli xil ko'rsatmalar to'plamlari o'rtasidagi taqqoslashlar (masalan, RISC va boshqalar CISC ) oddiy taqqoslashlarni aralashtirib yuborishi mumkin. Masalan, xuddi shu yuqori darajadagi topshiriq uchun RISC mashinasida ko'plab ko'rsatmalar talab qilinishi mumkin, ammo bitta CISC buyrug'iga qaraganda tezroq bajarilishi mumkin. Shunday qilib, Dhrystone balli faqat soniyada dastur takrorlanishining bajarilish sonini hisoblaydi, bu esa alohida mashinalarga ushbu hisoblashni mashinaga xos usulda bajarishiga imkon beradi. Dhrystone mezonining yana bir keng tarqalgan vakili - bu DMIPS (Drystone) MIPS ) Dryststone balini 1757 ga bo'linganida olingan (soniyada Drystones soni olingan sonda VAX 11/780, nominal ravishda 1 MIPS mashinasi).

Natijalarni namoyish qilishning yana bir usuli DMIPS / MGts da bo'lib, u erda DMIPS natijasi protsessor chastotasiga bo'linadi, bu esa har xil ishlaydigan protsessorlarni taqqoslashni osonlashtiradi. soat stavkalari.

Kamchiliklar

Dhrystone-dan benchmark sifatida foydalanish muammolarga duch keladi:

  • Unda odatda hayotiy dasturlarning vakili bo'lmagan g'ayrioddiy kod mavjud.[2]
  • Kompilyatorni optimallashtirishga moyil. Masalan, mag'lubiyatni nusxalash ishini o'lchash uchun juda ko'p satrlarni nusxalashni amalga oshiradi. Ammo Dritstondagi satrlar ma'lum doimiy uzunlikka ega va ularning boshlang'ichlari tabiiy chegaralarda hizalanadi, odatda haqiqiy dasturlarda mavjud bo'lmagan ikkita xususiyat. Shuning uchun optimallashtiruvchi mag'lubiyat nusxasini so'zlarning harakatlari ketma-ketligi bilan hech qanday halqasiz almashtirishi mumkin, bu juda ham tezroq bo'ladi. Shunday qilib, ushbu optimallashtirish tizim ish faoliyatini haddan tashqari oshirib yuboradi, ba'zan esa 30% dan oshadi.[3]

Shuningdek qarang

Adabiyotlar

  1. ^ Pun: whtosh → nam tosh → quruq tosh → dhRiston.
  2. ^ a b Vayss, Alan. "Dhrystone benchmark: tarix, tahlil," ballar "va tavsiyalar" (PDF). Arxivlandi (PDF) asl nusxasidan 2011-07-26. Olingan 2020-04-28.
  3. ^ Franko Zappa (2017). Mikrokontroller: 8 va 32 bitli qurilmalar uchun apparat va proshivka. Società Editrice Esculapio. p. 66. ISBN  978-88-9385-022-3.

Tashqi havolalar