Source code optimization and profiling of energy consumption in embedded systems

  • Authors:
  • Tajana Šimunić;Luca Benini;Giovanni De Micheli;Mat Hans

  • Affiliations:
  • Computer Systems Lab, Stanford University, tajana@polaris.stanford.edu;DEIS University of Bologna, Italy;Computer Systems Lab, Stanford University;HP Labs, Palo Alto

  • Venue:
  • ISSS '00 Proceedings of the 13th international symposium on System synthesis
  • Year:
  • 2000

Quantified Score

Hi-index 0.00

Visualization

Abstract

This paper presents a source code optimization methodology and a profiling tool that have been developed to help designers in optimizing software performance and energy in embedded systems. Code optimizations are applied at three levels of abstraction: algorithmic, data and instruction-level. The profiler exploits a cycle-accurate energy consumption simulator [3] to relate the embedded system energy consumption and performance to the source code. Thus, it can be used for analysis (i.e., to find energy-critical sections of the code), and for validation (i.e., to assess the impact of each code optimization).Code optimizations and profiling tool are used to optimize and tune the implementation of an MPEG Layer III (MP3) audio decoder for the SmartBadge [2] portable embedded system. We show that using our methodology and tool we can quickly and easily redesign the MP3 audio decoder software to run in real time with low energy consumption. Performance increase of 92% and energy consumption decrease of 77% (over the original executable specification) has been achieved for MP3 audio decoding on the SmartBadge.