Dhrystone - Dhrystone

Dhrystone bir sentetik bilgi işlem kıyaslama program 1984 yılında Reinhold P. Weicker sistem (tamsayı) programlamasının temsilcisi olması amaçlanmıştır. Dhrystone, genel işlemcinin temsilcisi haline geldi (İşlemci ) verim. "Dhrystone" adı, adı verilen farklı bir kıyaslama algoritmasının kelime oyunudur. Bileme taşı.[1]

Dhrystone ile Weicker, içinde yazılan programlar da dahil olmak üzere geniş bir yazılım yelpazesinden meta verileri topladı. FORTRAN, PL / 1 SAL, ALGOL 68, ve Pascal. Daha sonra bu programları çeşitli ortak yapılar açısından karakterize etti: prosedür çağrıları, işaretçi indirimler temsili bir karışıma karşılık gelecek şekilde Dhrystone kıyaslamasını buradan yazdı. Dhrystone yayınlandı Ada, ile C için sürüm Unix Rick Richardson ("version 1.1") tarafından geliştirilmiş ve popülaritesine büyük katkı sağlamıştır.

Dhrystone vs Whetstone

Dhrystone kıyaslaması hiçbir kayan nokta operasyonlar, dolayısıyla isim o zamanlar popüler olan bir kelime oyunudur. Bileme taşı kayan nokta işlemleri için kıyaslama. Karşılaştırmadan elde edilen çıktı, saniyedeki Dhrystones sayısıdır (ana kod döngüsünün saniye başına yineleme sayısı).

Hem Whetstone hem de Dhrystone sentetik karşılaştırmalı değerlendirmeler, bazı genel program setlerinin işlemci kullanımını istatistiksel olarak taklit edecek şekilde dikkatle tasarlanmış basit programlardır. 1972'de geliştirilen Whetstone, başlangıçta 1970'deki ölçümlere dayanan tipik Algol 60 programlarını taklit etmeye çalıştı, ancak sonunda 1960'larda hesaplamanın yüksek sayısal yönünü yansıtan Fortran sürümünde en popüler hale geldi.

Dhrystone tarafından ele alınan sorunlar

Dhrystone'un yeni bilgisayarların genel amaçlı ("tamsayı") performansının bir göstergesi olarak nihai önemi, onu ticari derleyici yazarlar için bir hedef haline getirdi. Çeşitli modern derleyici statik kod analizi teknikler (örneğin ölü kodun ortadan kaldırılması: örneğin, işlemciyi kullanan ancak kullanılmayan veya çıktısı alınmayan dahili sonuçlar üreten kod, sentetik kıyaslamaların kullanımını ve tasarımını daha zor hale getirir. Weicker ve Richardson tarafından Mart 1988'de yayınlanan kıyaslama sürüm 2.0, bir dizi derleyici tekniğini engellemeyi amaçlayan bir dizi değişikliğe sahipti. Yine de, temel ölçütü değiştirmemek için dikkatle hazırlanmıştı. Derleyicileri engelleme çabası yalnızca kısmen başarılı oldu. Aynı yılın Mayıs ayında piyasaya sürülen Dhrystone 2.1'de bazı küçük değişiklikler oldu ve Temmuz 2010'dan itibaren Dhrystone'un şu anki tanımı kalır.

Derleyici optimizasyonu ile ilgili sorunlar dışında, Dhrystone ile çeşitli başka konular da belirtilmiştir. Küçük kod boyutu ve küçük veri seti boyutu da dahil olmak üzere bunların çoğu, 1984 yılında yayınlandığı sırada anlaşılmıştı. Daha ince, büyük ölçüde dille ilgili olan dizgi işlemlerinin biraz fazla gösterilmesidir: hem Ada hem de Pascal dilde normal değişkenler olarak dizeler, C böyle değildir, bu nedenle referans ölçütlerinde basit değişken ataması, C kütüphanesinde tampon kopyalama işlemleri haline geldi. Diğer bir sorun da, rapor edilen puanın, hangi derleyicinin kullanıldığı ve hangi optimizasyonların kullanıldığı gibi sistemleri karşılaştırırken kritik olan bilgileri içermemesidir.

Dhrystone, basit bir ölçüt olarak dikkate değer ölçüde esnekliğini koruyor, ancak gerçek performansı oluşturmadaki süregelen değeri sorgulanabilir. Kullanımı kolaydır, iyi belgelendirilmiştir, tamamen bağımsızdır, iyi anlaşılır ve hemen hemen her sistemde çalışacak şekilde yapılabilir. Özellikle, son zamanlarda geliştirilmiş olmasına rağmen, gömülü bilgi işlem dünyasında geniş kullanımda kalmıştır. EEMBC benchmark suite, HINT, Stream ve hatta Bytemark, bellek alt sistemi (Cachebench), TCP / IP (TTCP) ve diğerleri için daha spesifik kıyaslamaların yanı sıra yaygın olarak alıntılanır ve kullanılır.

Sonuçlar

Dhrystone, MIPS'den (saniyede milyon talimat) daha anlamlı bir sonucu temsil edebilir, çünkü farklı komut setleri arasında komut sayısı karşılaştırmaları (örn. RISC vs. CISC ) basit karşılaştırmaları karıştırabilir. Örneğin, aynı üst düzey görev bir RISC makinesinde çok daha fazla talimat gerektirebilir, ancak tek bir CISC komutundan daha hızlı yürütülebilir. Bu nedenle, Dhrystone puanı yalnızca saniyedeki program yineleme tamamlama sayısını sayarak, makinelerin bu hesaplamayı makineye özel bir şekilde gerçekleştirmesine olanak tanır. Dhrystone kıyaslamasının bir başka yaygın temsili, DMIPS (Dhrystone MIPS ) Dhrystone skoru 1757'ye bölündüğünde elde edilir (saniye başına Dhrystone sayısı, VAX 11/780, nominal olarak 1 MIPS makinesi).

Sonuçları göstermenin başka bir yolu, DMIPS sonucunun daha fazla CPU frekansına bölündüğü DMIPS / MHz'dir, böylece farklı hızlarda çalışan CPU'ların daha kolay karşılaştırılmasına olanak tanır. saat oranları.

Eksiklikler

Dhrystone'u bir kıyaslama olarak kullanmanın tuzakları vardır:

  • Genellikle gerçek hayat programlarını temsil etmeyen alışılmadık bir kod içerir.[2]
  • Derleyici optimizasyonlarına açıktır. Örneğin, dizi kopyalama performansını ölçmek için çok sayıda dize kopyalama yapar. Bununla birlikte, Dhrystone'daki dizeler bilinen sabit uzunluktadır ve başlangıçları, genellikle gerçek programlarda bulunmayan iki özellik olan doğal sınırlarda hizalanır. Bu nedenle, bir eniyileyici, bir dizi kopyasını döngü içermeyen bir dizi kelime hareketiyle değiştirebilir ve bu çok daha hızlı olacaktır. Bu optimizasyon sonuç olarak, sistem performansını bazen% 30'dan fazla, abartır.[3]

Ayrıca bakınız

Referanslar

  1. ^ Cinas: whetstone → ıslak taş → kuru taş → dhrystone.
  2. ^ a b Weiss, Alan. "Dhrystone Benchmark: Tarihçe, Analiz," Puanlar "ve Öneriler" (PDF). Arşivlendi (PDF) 2011-07-26 tarihinde orjinalinden. Alındı 2020-04-28.
  3. ^ Franco Zappa (2017). Mikrodenetleyiciler: 8 bit ve 32 bit cihazlar için Donanım ve Bellenim. Società Editrice Esculapio. s. 66. ISBN  978-88-9385-022-3.

Dış bağlantılar