I want to post it here:
http://e2e.ti.com/support/microcontrollers/stellaris_arm_cortex-m3_microcontroller/f/471/t/221225.aspx
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Aamir Ali said:I want to post it here:
Anyway, I'll answer here...
There are many CPUs which can compete for the 'lowest pwoer' crown. Just clock them with 0Hz and they will consume equally low power.
The question is the calculation power per Watt, or the calculation power per MHz or other criteria.
IIRC, Dhrystone gives the calculation power per MHz. However, a CPU with half the Dhrystone value (thus needing twice the MHz for the same calculation speed) may consume less Watts on twice the clock speed and therefore still calculate more efficiently.
Also, Dhrystone only works for the given calculaton algorithm. An Algorithm that e.g. uses 32 bit values is less efficient on a CPU that has only 16 bit instrucitons, but if your application only requires 16 bit, then the 'less efficient' CPU might be more efficient than the 32bit CPU.
There are so many application-specific parameters that using a Benchmarck to judge a CPUs power efficiency is almost always comparing apples and oranges.
The MSP430 is really good if you don't need much calculation power. But it doesn't scale beyond 25MHz. And also doesn't forgive poor coding skills. And if you need 100% CPU power all the time, it's probably not the most efficient CPU. However, if you only need short bursts of CPU, you can get much done in short time and still be on the lowest power level.
If there were one single benchmarck telling 'this CPU is best' then all competitors could draw their products from the market (unless they can compete through pricing).
An Engineers job is not (only) writing code, or designing a PCB around the CPU. Deciding which tool to use for the job, based on project requirements, is at least as important. And nothing you can lookup in a table.
**Attention** This is a public forum