A performance evaluation method for optimizing embedded applications

Performance evaluation is an important step for designing embedded applications that require small footprints, low energy consumption and high throughput. We present a simulation-based method to characterize several resource properties (memory accesses, energy consumption, execution time) of embedded software that runs on dedicated processing engines targeted for SoC designs. The results of the characterization process are back-annotated to the source code to aid the designer in optimizing the implementation. Our approach allows the replacement of software parts by hardware units to speed up processing. We have performed case studies with software and hardware implementations of a pseudo-random number generator and a transmission error detector. The results show that computation speed-ups and energy reductions up to a factor of 15 can be obtained with implementations that exploit hardware extensions.

[1]  Mary Jane Irwin,et al.  Architecture-level power estimation and design experiments , 2001, TODE.

[2]  Catherine H. Gebotys,et al.  Current consumption dynamics at instruction and program level for a VLIW DSP processor , 2001, International Symposium on System Synthesis (IEEE Cat. No.01EX526).

[3]  Ulrich Rückert,et al.  Implementation of a RISC Processor Core for SoC Designs – FPGA Prototype vs. ASIC Implementation , 2002 .

[4]  Ulrich Rückert,et al.  A Dynamically Reconfigurable Hardware Accelerator for Self-Organizing Feature Maps , 2001 .

[5]  Xianfeng Li,et al.  Timing analysis of embedded software for speculative processors , 2002, 15th International Symposium on System Synthesis, 2002..

[6]  A. Sinha,et al.  JouleTrack-a Web based tool for software energy profiling , 2001, Proceedings of the 38th Design Automation Conference (IEEE Cat. No.01CH37232).

[7]  Niraj K. Jha,et al.  High-level software energy macro-modeling , 2001, Proceedings of the 38th Design Automation Conference (IEEE Cat. No.01CH37232).

[8]  Sharad Malik,et al.  Power analysis and minimization techniques for embedded DSP software , 1997, IEEE Trans. Very Large Scale Integr. Syst..

[9]  Mahadev Satyanarayanan,et al.  PowerScope: a tool for profiling the energy usage of mobile applications , 1999, Proceedings WMCSA'99. Second IEEE Workshop on Mobile Computing Systems and Applications.

[10]  Margaret Martonosi,et al.  Wattch: a framework for architectural-level power analysis and optimizations , 2000, Proceedings of 27th International Symposium on Computer Architecture (IEEE Cat. No.RS00201).

[11]  Rolf Ernst,et al.  Execution cost interval refinement in static software analysis , 2001, J. Syst. Archit..

[12]  Miodrag Potkonjak,et al.  Function-level power estimation methodology for microprocessors , 2000, DAC.