Seperti ini , yang tidak 1,49 DMIPS / MHz. Bahkan dengan pipelining masih ada hanya 1 tahap eksekusi per siklus bukan?
microcontroller
performance
Federico Russo
sumber
sumber
Jawaban:
DMIPS dan MIPS tidak sama. DMIPS adalah singkatan dari "Dhrystone MIPS", dan merupakan standar untuk membandingkan kinerja mikrokontroler / mikroprosesor yang berbeda di seluruh rangkaian instruksi yang berbeda. Standar tidak begitu baru lagi (*), jadi apa yang bisa dilakukan prosesor referensi pada 1 DMIPS / MHz dalam 1 detik dapat mengambil pengontrol yang lebih maju 670 ms pada kecepatan jam yang sama, hanya karena akan melakukan beberapa tindakan dalam 1 instruksi sedangkan pengontrol lain mungkin membutuhkan 2 instruksi, atau instruksi yang membutuhkan lebih banyak siklus mesin.
Arsitektur 16-bit, misalnya, biasanya akan memiliki kinerja Dhrystone yang lebih baik daripada arsitektur 8-bit, dan 32-bit, seperti yang Anda maksudkan, bahkan lebih.
(*) m.Alin mengacu pada patokan CoreMark yang lebih baru . Perhatikan bahwa ini ditulis dalam C, jadi sebenarnya Anda juga menyertakan kinerja kompiler dalam hasilnya (seperti Dhrystone, BTW).
sumber
DMIPS adalah pengukuran relatif daripada absolut. Berbeda dengan MIPS, ini sebenarnya mengukur seberapa cepat UC dapat melakukan sesuatu yang bermanfaat, bukan hanya seberapa cepat menjalankan instruksi.
Seperti halnya tolok ukur apa pun ia memiliki keterbatasan, tetapi cara sederhana untuk melihatnya adalah seberapa cepat dapat menyelesaikan kode tolok ukur dibandingkan dengan VAX 11/780 (mesin 1 MIPS)
Jadi misalnya jika UC Anda menyelesaikan tolok ukur 100 kali lebih cepat dari VAX 11/780, Anda memiliki mesin 100DMIPS. Jika beroperasi pada 100MHz, maka nilainya 1 DMIPS / MHz.
Perhatikan bahwa DMIPS yang diiklankan biasanya tidak dapat dicapai dalam penggunaan normal, terutama pada UC besar dengan kecepatan blitz, prefetch, waktu tunggu / kesalahan, dll. Berikut ini adalah diskusi yang baik tentang kinerja DMIPS PIC32. Tautan ini memiliki beberapa kode Dhrystone untuk mikrokontroler.
sumber