Microcontroller energy consumption estimation based on software analysis for embedded systems

In this paper, we present a energy consumption estimation method for microcontrollers. Vast amount of work in this topic has been done based on measuring the energy per instruction in low level programming languages like assembler. However, in our approach we use solely C programs and instructions without any regard to lower level languages. The method is based on measuring energy per each C instruction in the benchmark program and using the result to estimate the total energy consumed by the program. As a test case we use simple image processing algorithm including Gaussian blur and edge detection on PIC PIC32MX460F512L microcontroller. We show that the method is scalable on different microcontroller voltages and clock frequencies with only one set of measurements to reduce the amount of preparation work for estimation. We show that the estimation results give us credibility with less than 7% error.

[1]  Rami Melhem,et al.  Power Aware Computing , 2002, Series in Computer Science.

[2]  Sharad Malik,et al.  Power analysis of embedded software: a first step towards software power minimization , 1994, IEEE Trans. Very Large Scale Integr. Syst..

[3]  Rajesh Gupta,et al.  Evaluating the effectiveness of model-based power characterization , 2011 .

[4]  Eric Senn,et al.  Power Consumption Estimation of a C Program for Data-Intensive Applications , 2002, PATMOS.

[5]  Alexander Chatzigeorgiou,et al.  Energy Consumption Estimation in Embedded Systems , 2006, IMTC 2006.

[6]  Mahmut T. Kandemir,et al.  Influence of compiler optimizations on system power , 2001, IEEE Trans. Very Large Scale Integr. Syst..

[7]  Jeffry T. Russell,et al.  Software power estimation and optimization for high performance, 32-bit embedded processors , 1998, Proceedings International Conference on Computer Design. VLSI in Computers and Processors (Cat. No.98CB36273).

[8]  Treinamentos e Softwares em Sistemas Embarcados,et al.  PICkit 3 In-Circuit Debugger/Programmer (PICkit3 Original Microchip) - Microgenios - Ferramentas Educacionais | Treinamentos e Softwares em Sistemas Embarcados , 2009 .

[9]  Patrick Heinrich,et al.  Energy Consumption Estimation of Software Components Based on Program Flowcharts , 2014, 2014 IEEE Intl Conf on High Performance Computing and Communications, 2014 IEEE 6th Intl Symp on Cyberspace Safety and Security, 2014 IEEE 11th Intl Conf on Embedded Software and Syst (HPCC,CSS,ICESS).