Jack Ganssle has just published the latest edition of his Embedded Muse newsletter with a very informative, hands-on look at the ARM Cortex-M4 and –M0 processor cores in the NXP LPC4350. In particular, Jack looked at processing speed and power consumption of both processors in the deual-core microcontroller. The results are very interesting.
First, Jack broke needed a way to measure just the microcontroller power consumption on the Hitex eval board he used for tests. He did this by adding a 5-ohm resistor in series with the microcontroller’s ground lead and then measuring the voltage drop across the resistor.
Then he wrote a series of tests to exercise the two processors. The processors take turns running these tests and a couple of GPIO pins go high or low to indicate which processor is operating. This 3-trace scope image shows you what the output of the test setup looks like.
The yellow trace shows the active periods for the ARM Cortex-M4 processor core. The Green trace shows the active periods for the ARM Cortex-M0 core. Note that it takes the ARM Cortex-M0 core a lot longer to run the same code, as you’d expect.
The blue trace shows the voltage across the 5-ohm resistor, which is proportional to the amount of current flowing through the NXP dual-core microcontroller. As you’d expect, the chip draws much less power when the ARM Cortex-M0 core is running and the ARM Cortex-M4 core is sleeping than vice versa.
The ARM Cortex-M4 with its SIMD and floating-point capabilities ran the tests 12 to 174 times faster than the ARM Cortex-M0 core and consumed 2x to 9x more power. Consequently, the ARM Cortex-M4 core proved to be more energy efficient than the ARM Cortex-M0 core.
This series of tests demonstrates that you can often get more energy efficiency from a fast processor core that sleeps a lot instead of a slower processor core that draws less power while running all or most of the time. Yet another example of how system-level considerations come into play when developing a low-power or low-energy design.
(Many thanks to my good friend Jack Ganssle for permission to reprint his results.)