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
   39   40   41   42   43   44   45   46   47   48   49