Comme celui-ci , qui fait 1,49 DMIPS / MHz. Même avec le pipelining, il n'y a toujours qu'une seule étape d'exécution par cycle, n'est-ce pas?
Comme celui-ci , qui fait 1,49 DMIPS / MHz. Même avec le pipelining, il n'y a toujours qu'une seule étape d'exécution par cycle, n'est-ce pas?
Réponses:
DMIPS et MIPS ne sont pas identiques. DMIPS signifie "Dhrystone MIPS", et c'est une norme pour comparer les performances de différents microcontrôleurs / microprocesseurs à travers différents jeux d'instructions. La norme n'est plus si nouvelle (*), donc ce que le processeur de référence pourrait faire à 1 DMIPS / MHz en 1 seconde peut prendre un contrôleur plus avancé de 670 ms à la même vitesse d'horloge, juste parce qu'il fera certaines actions en 1 instruction tandis que l'autre contrôleur peut nécessiter 2 instructions, ou une instruction nécessitant plus de cycles machine.
Une architecture 16 bits, par exemple, aura généralement de meilleures performances Dhrystone qu'une architecture 8 bits, et une 32 bits, comme celle à laquelle vous faites référence, encore plus.
(*) m.Alin fait référence au benchmark CoreMark le plus récent . Notez que cela est écrit en C, donc en fait, vous incluez également les performances du compilateur dans le résultat (tout comme Dhrystone, BTW).
Le DMIPS est une mesure relative plutôt qu'absolue. Contrairement à MIPS, il mesure la vitesse à laquelle l'UC peut faire quelque chose d'utile au lieu de la vitesse à laquelle il exécute les instructions.
Comme tout benchmark, il a ses limites, mais une façon simple de le voir est la rapidité avec laquelle il peut compléter le code de référence par rapport à un VAX 11/780 (une machine de 1 MIPS)
.Par exemple, si votre uC complète le benchmark 100 fois plus rapidement qu'un VAX 11/780, vous avez une machine 100DMIPS. S'il fonctionne à 100 MHz, il est évalué à 1 DMIPS / MHz.
Notez que le DMIPS annoncé est généralement inaccessible en utilisation normale, en particulier sur les grandes uC avec vitesse de flash, prefetch, temps d'attente / échecs, etc. Voici une bonne discussion des performances du PIC32 DMIPS. Ce lien contient du code Dhrystone pour les microcontrôleurs.