embedded software boot camp

Wanted – a new performance metric

Thursday, December 14th, 2006 by Nigel Jones

In the bad old days, the two major performance concerns in CPU selection were whether a CPU had enough processing power and memory to get the job done. Although these are still issues, it’s a rare problem that requires more bandwidth and memory than can be provided by the CPU vendors.

By contrast, today, well over half of the systems I work on are battery powered, and so I find the major question I have when designing an embedded system is ‘how long will the battery last?’ If you can work this out from studying the data sheets of the various CPU vendors then you’re a better engineer than me.

Thus to solve this problem, I propose that we introduce a new performance metric – namely how much energy (Joules) does it take to perform a set of standard tasks. Rather than the usual bunch of quasi meaningful benchmarks, I’d like to see benchmarks such as:

  1. How much energy does it take to receive and transmit one thousand characters through an asynchronous serial port running at 38400 baud?
  2. How much energy does it take to perform a task switch using a standard RTOS such as uCOS-II?
  3. How much energy does it take to perform one thousand A2D conversions?
  4. How much energy does it take to execute a 64 tap FIR filter?

With metrics such as these, the task of choosing the best CPU (and compiler for that matter) would be made much easier. I’m quite prepared to let off the hook those vendors that aren’t selling CPUs aimed at the portable market. For the other guys (TI, Atmel, ARM etc) it’s time to step up to the wattmeter and be measured.


3 Responses to “Wanted – a new performance metric”

  1. Shereef Ibrahim says:

    I totaly agree with that. I think this is more descriptive, after all these benchmarks doesn’t give the clear image of the power consumption of the target. When you get some graphs describing the power consumption with frequency or supply voltage is great, but please, someone tell me what the processor and the peripherals are doing at that time??!!

  2. Ashleigh says:

    Most processor makes benchmarks are the output of the creative marketing dept .

    That is a more polite way of saying they tell lies.

    I’m tired of seeing “lowest ever power consumption” – achieved by running the micro with a 1:100 duty cycle and popping into deep sleep the rest of the time.

    This have got a lot better since you posted this, makers do now tend to quote full run and sleep mode currents so at least you can work out some worst cases and do some calculations of your own running duty cycles.

    Of course, you also need to take into account battery self-discharge rates. Some of the sleep modes with currents under about 1 micro-amp now mean that product battery lifetime is actually dominated by the self-discharge of the battery.

    I’d like to see battery makers step up and quote their self-discharge rates, getting that information is actually very difficult indeed.

    • Nigel Jones says:

      Something else that I have recently found myself wanting is the statistical distribution of the numbers. When the standard deviation is bigger than the mean, then life gets really interesting!

Leave a Reply