Power analysis and minimization techniques for embedded DSP software

Power is becoming a critical constraint for designing embedded applications. Current power analysis techniques based on circuit-level or architectural-level simulation are either impractical or inaccurate to estimate the power cost for a given piece of application software. In this paper, an instruction-level power analysis model is developed for an embedded digital signal processor (DSP) based on physical current measurements. Significant points of difference have been observed between the software power model for this custom DSP processor and the power models that have been developed earlier for some general purpose commercial microprocessors. In particular, the effect of circuit state on the power cost of an instruction stream is more marked in the case of this DSP processor. In addition, the processor has special architectural features that allow dual memory accesses and packing of instructions into pairs. The energy reduction possible through the use of these features is studied. The on-chip Booth multiplier on the processor is a major source of energy consumption for DSP programs. A microarchitectural power model for the multiplier is developed and analyzed for further power minimization. In order to exploit all of the above effects, a scheduling technique based on the new instruction-level power model is proposed. Several example programs are provided to illustrate the effectiveness of this approach. Energy reductions varying from 26% to 73% have been observed. These energy savings are real and have been verified through physical measurement. It should be noted that the energy reduction essentially comes for free. It is obtained through software modification, and thus, entails no hardware overhead. In addition, there is no loss of performance since the running times of the modified programs either improve or remain unchanged.

[1]  Kai Hwang,et al.  Computer arithmetic: Principles, architecture, and design , 1979 .

[2]  C. D. Gelatt,et al.  Optimization by Simulated Annealing , 1983, Science.

[3]  Mike Johnson,et al.  Superscalar microprocessor design , 1991, Prentice Hall series in innovative technology.

[4]  Chi-Ying Tsui,et al.  Saving power in the control path of embedded processors , 1994, IEEE Design & Test of Computers.

[5]  Andrew Wolfe,et al.  Compilation techniques for low energy: an overview , 1994, Proceedings of 1994 IEEE Symposium on Low Power Electronics.

[6]  Toshinori Sato,et al.  Power and performance simulator: ESP and its application for 100 MIPS/W class RISC design , 1994, Proceedings of 1994 IEEE Symposium on Low Power Electronics.

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

[8]  Ping-Wen Ong,et al.  Power-conscious software design-a framework for modeling software on hardware , 1994, Proceedings of 1994 IEEE Symposium on Low Power Electronics.

[9]  Mike Tien-Chien Lee,et al.  A memory allocation technique for low-energy embedded DSP software , 1995, 1995 IEEE Symposium on Low Power Electronics. Digest of Technical Papers.

[10]  Mike Tien-Chien Lee,et al.  Power analysis and low-power scheduling techniques for embedded DSP software , 1995 .

[11]  Mike Tien-Chien Lee,et al.  Power analysis of a 32-bit embedded microcontroller , 1995, Proceedings of ASP-DAC'95/CHDL'95/VLSI'95 with EDA Technofair.

[12]  Sharad Malik,et al.  Memory bank and register allocation in software synthesis for ASIPs , 1995, Proceedings of IEEE International Conference on Computer Aided Design (ICCAD).

[13]  Toshinori Sato,et al.  Evaluation of architecture-level power estimation for CMOS RISC processors , 1995, 1995 IEEE Symposium on Low Power Electronics. Digest of Technical Papers.