Page 44 - ARM Based Microcontroller Projects Using MBED
P. 44
30 3. THE ARM MICROCONTROLLERS
3.3.4 Processor Performance Measurement
Processor performance is usually measured using benchmark programs. There are many
benchmark programs available and one should exercise care when comparing the perfor-
mance of various processors as the performance depends on many external factors such as
the efficiency of the compiler used and the type of operation performed for the measurement.
Many attempts were made in the past to measure the performance of a processor and quote
it as a single number. For example, MOPS, MFLOPS, Dhrystone, DMIPS, BogoMIPS, and so
on. Nowadays, CoreMark is one of the most commonly used benchmark programs used to
indicate the processor performance. CoreMark is developed by Embedded Microprocessor
Benchmark Consortium (EEMBC, www.eembc.org/coremark) and is one of the most reliable
performance measurement tools available.
Table 3.2 shows the CoreMark results for some of the commonly used microcontrollers. As
can be seen from this table, Cortex-M7 achieves 5.01CoreMark/MHz, while the PIC18 micro-
controller achieves only 0.04CoreMark/MHz.
3.3.5 Cortex-M Compatibility
Processors in the Cortex family are upward compatible with each other. Cortex-M0 and
Cortex-M0+ processors are based on the ARMv6-M architecture, using the Thumb instruc-
tion set. On the other hand, Cortex-M3, Cortex-M4, and Cortex-M7 are based on the
ARMv7-M architecture, using the Thumb 2 instruction set which is a superset of the Thumb
instruction set. Although the architectures are different, software developed on the Cortex-
M0 and Cortex-M0+ processors can run on the Cortex-M3, Cortex-M4, and Cortex-M7 pro-
cessors without any modifications provided the required memory and input-output ports are
available.
TABLE 3.2 CoreMark/MHz for Some Commonly Used Microcontrollers
Processor CoreMark/MHz
Cortex-M7 5.01
Cortex-A9 4.15
Cortex-M4 3.40
Cortex-M3 3.32
Cortex-M0+ 2.49
Cortex-M0 2.33
dsPIC33 1.89
MSP430 1.11
PIC24 1.88
PIC18 0.04