Using Bench Marks To Design For Lower Power Consumption
Systems and devices are facing ever more stringent requirements to reduce power use.
Whether the application is for a hand-held device where battery life is critical, or for a powered unit meeting the latest “Green” standards, or simply for best design practices to reduce overall system cost, understanding CPU / MCU bench marks is a first step in the process.
CoreMark is a provider of bench marks for a wide number of processors from the major manufacturers. Their suite of test parameters were developed to provide designers with a baseline comparison of power consumption across typical use cases in order to compare products between vendors.
Algorithms developed by EEMBC were originally designed specifically to test the functionality of a processor core in a way which successfully mirrors real world applications. The focus has been on industry segments such as telecom/networking, digital media, Java, automotive/industrial, consumer, and office equipment products.
CoreMark has distilled down the various application specific test suites to create an across-the-spectrum test software. While more generalized, this has the simplicity of producing a single number score allowing users to make quick comparisons between processors. The expectation is that by initially selecting a processor or embedded system based on the bench mark data using theses algorithms, then it’s possible to predict the power consumption in the realized product.
Vendor datasheets will typically show a lower current rating than the CoreMark number, since the suppliers will optimize testing for their particular device architecture. This has been an issue when using Dhrystone benchmarks, where results are directly linked to how well the code has been crafted for a specific device.
With CoreMark, standard C-Code is used for the test suite, and doesn’t include device specific resource utilization attributes. For developers, this means that real world performance will most likely be better than indicated by the test results. For example, a processor architecture may have dedicated math or memory management circuity which the compiler doesn’t make use of in the run-time code from CoreMark.
In general, the test suite contains implementations of the most common algorithms that developers would be using, such as: list processing (find and sort), mathematical computations, matrix manipulation, data comparison, data stream validation (e.g, determine if an input stream contains valid numbers), memory copy / store and CRC.
Using these results, a designer has a better idea of how much computational power in will be required to perform standard tasks. It’s also a relative comparison between the various vendors to measure which devices perform better or worse. The single number result is a simple starting point in the process of selecting a processor. From the initial bench mark results, a designer can then look at the architecture specific features of candidate devices to see what hardware optimizations would best suit the application.
A next step in the power consumption measure is to use another tool from EEMBC, the “EnergyBench™ Version 1.0 Power/Energy Benchmarks“. A copy of the software and more details can be found here at EnergyBench. This tool provides data on the amount of energy a processor consumes while running EEMBC’s performance benchmarks.
If you found this article interesting and informative, please be sure to sign up for our weekly e-newsletter as well as daily email / RSS Feeds at SourceTech411 .