Freescale Erste Benchmark-Werte für Kinetis-Mikrocontroller - Keil schlägt IAR

Die ersten CoreMark-Benchmark-Werte des Embedded-Microprocessor-Benchmark-Consortium (EEMBC) für Cortex-M4-basierte Mikrocontroller sind da: Freescale erzielte mit einem KinetisK60 bei 100 MHz und Codeausführung aus dem Flash-Speicher einen Wert von 2,119/MHz. Dies ist der zweithöchste jemals für Cortex-M-basierte MCUs gemessene Wert. Weiterhin bemerkenswert: Im Vergleich der Top-Compiler von Keil und IAR hat µVision die Nase relativ deutlich vorne.

Knapp gescheitert ist der in einem 90-nm-Prozess gefertigte KinetisK60 nur an einem mit 120 MHz getakteten, ebenfalls in einem 90-nm-Prozess gefertigten STM32 von ST Microelectronics. Dieser hat mit 2,120 CoreMark/MHz die Nase minimal vorne, allerdings kommt er absolut gesehen durch die um 20 MHz höhere Taktfrequenz natürlich auf einen erheblich größeren Wert (253,99 Coremark gegenüber 211,89 Coremark). Der KinetisK60 skaliert bis 100 MHz linear über die Taktfrequenz, da er theoretisch bis 150 MHz getaktet wird, stellt sich natürlich die Frage, warum Freescale keine Vergleichswerte für 120 MHz oder 150 MHz eingestellt hat - eine mögliche Erklärung wäre, dass die MCU über 100 MHz in Wait-States hineinläuft, da der Flash-Speicher nicht schnell genug Daten liefern kann. In diesem Fall würden die CoreMark-Werte deutlich absinken, wie dies an CoreMark-Werten der Konkurrenz abzulesen ist. Vergleichsweise gesehen liefert der KinetisK60 jedoch nichtsdestotrotz einen hervorragenden CoreMark-Wert, der eine gelungene Implementierung des Cortex-M4 beweist. Zum Vergleich: NXPs LPC1768 kommt bei ebenfalls 100 MHz auf 1,768 CoreMark/MHz und TIs Stellaris bei 80 MHz auf 1,595 CoreMark/MHz (Messungen für 100 MHz hat TI nicht veröffentlicht, da aus Messungen mit 50 MHz deutlich wird, dass der Stellaris bereits bei 80 MHz in Wait-States hineinläuft).

Auch für die Codeausführung aus dem RAM hat Freescale Messungen vorgenommen. Diese liegen logischerweise über denen der Flash-Code-Ausführung, interessant ist jedoch, dass ARMs eigene µVision-Compiler aus dem Hause Keil (Version 4.2.0.) mit einem Wert von 2,173 CoreMark/Mhz den Compiler von IAR (Version 6.10.5.) ziemlich deutlich schlägt - dieser kommt lediglich auf 2,074 CoreMark/MHz, was absolut einen Unterschied von 217,30 zu 207,44 CoreMark zu Gunsten von Keil bedeutet. Bei der Code-Ausführung aus dem Flash-Speicher kommt IAR bei 100 MHz auf einen CoreMark-Wert von 2,046, d.h. absolut schlägt Keil IAR hier mit 211,89 zu 204,46 CoreMark. Auch bei Messungen bei 25, 48, 50, 74 und 96 MHz liegt der µVision-Compiler jeweils vorne.