Wie dieser , der 1,49 DMIPS / MHz leistet. Selbst beim Pipelining gibt es immer noch nur eine Ausführungsstufe pro Zyklus, nicht wahr?
Wie dieser , der 1,49 DMIPS / MHz leistet. Selbst beim Pipelining gibt es immer noch nur eine Ausführungsstufe pro Zyklus, nicht wahr?
Antworten:
DMIPS und MIPS sind nicht dasselbe. DMIPS steht für "Dhrystone MIPS" und ist ein Standard zum Vergleichen der Leistung verschiedener Mikrocontroller / Mikroprozessoren über verschiedene Befehlssätze hinweg. Der Standard ist nicht mehr so neu (*). Was der Referenzprozessor also mit 1 DMIPS / MHz in 1 Sekunde tun könnte, kann einen fortgeschritteneren Controller mit 670 ms bei gleicher Taktrate benötigen, nur weil er einige Aktionen in 1 Befehl ausführt Die andere Steuerung benötigt möglicherweise zwei Befehle oder einen Befehl, der mehr Maschinenzyklen erfordert.
Eine 16-Bit-Architektur bietet beispielsweise in der Regel eine bessere Dhrystone-Leistung als eine 8-Bit-Architektur und eine 32-Bit-Architektur, auf die Sie sich beziehen, noch mehr.
(*) m.Alin bezieht sich auf den neueren CoreMark- Benchmark. Beachten Sie, dass dies in C geschrieben ist, sodass Sie auch die Leistung des Compilers in das Ergebnis einbeziehen (genau wie Dhrystone, BTW).
DMIPS ist eher ein relatives als ein absolutes Maß. Im Gegensatz zu MIPS misst es tatsächlich, wie schnell der uC etwas Nützliches tun kann, anstatt nur, wie schnell er Anweisungen ausführt.
Wie jeder Benchmark hat er seine Grenzen, aber eine einfache Sichtweise ist, wie schnell er den Benchmark-Code vervollständigen kann, verglichen mit einem VAX 11/780 (einem 1-MIPS-Rechner).
Zum Beispiel, wenn Ihr uC den Benchmark 100-mal schneller durchführt Sie haben eine 100DMIPS-Maschine als eine VAX 11/780. Wenn es mit 100 MHz läuft, ist es mit 1 DMIPS / MHz bewertet.
Beachten Sie, dass das angekündigte DMIPS im Normalfall nicht erreichbar ist, insbesondere bei großen USB-Geräten mit Flash-Geschwindigkeit, Prefetch, Wartezeiten / Fehlzeiten usw. Hier finden Sie eine gute Diskussion über die PIC32-DMIPS-Leistung. Dieser Link enthält einen Dhrystone-Code für Mikrocontroller.