DocumentCode :
1207663
Title :
A Framework for Power-Gating Functional Units in Embedded Microprocessors
Author :
Roy, Soumyaroop ; Ranganathan, Nagarajan ; Katkoori, Srinivas
Author_Institution :
Dept. of Comput. Sci. & Eng., Univ. of South Florida, Tampa, FL, USA
Volume :
17
Issue :
11
fYear :
2009
Firstpage :
1640
Lastpage :
1649
Abstract :
Power gating is a technique commonly used for leakage reduction in integrated circuits. In microprocessors, power gating is implemented by using sleep transistors to selectively deactivate circuit modules that remain idle for sustained periods of time during program execution. In this work, we develop a new framework for power gating the functional units in embedded system microprocessors without degradation in performance. The proposed framework includes an efficient algorithm for idle time estimation, appropriate insertion of sleep instructions within the code, and a method for reactivating the sleeping units only when needed without the use of wakeup instructions. We introduce the notion of loop hierarchy trees (LHTs) to represent the partial ordering of the nested loops within the program. From the control flow graph (CFG) representation of the source program, a forest of LHTs is constructed and is used to identify the maximal subgraphs representing the long idle periods for the functional units. For each subgraph thus identified, a sleep instruction is introduced in the program with a list of corresponding functional units to be deactivated. When an instruction is decoded, the functional units needed for that instruction are automatically activated by the control unit such that the units are ready before the instruction reaches the execute stage. This eliminates the need for wakeup instructions to be inserted into the object code reducing the overheads. In our implementation, the ARM processor architecture was modified and resynthesized to include power gating by developing a CMOS cell library of functional units with the above capabilities. Experimental results are reported for a set of 12 benchmarks chosen from the MiBench suite, which indicate that, on average, our technique reduces the leakage energy in functional units by 31.1% for integer benchmarks and 26.8% for floating-point benchmarks.
Keywords :
CMOS integrated circuits; benchmark testing; decoding; libraries; microprocessor chips; CMOS cell library; MiBench suite; circuit modules; control flow graph representation; embedded microprocessors; floating-point benchmarks; idle time estimation; instruction decoding; integer benchmarks; leakage energy; leakage reduction; loop hierarchy trees; power-gating functional units; sleep transistors; source program; wakeup instructions; Embedded system; leakage power; power gating;
fLanguage :
English
Journal_Title :
Very Large Scale Integration (VLSI) Systems, IEEE Transactions on
Publisher :
ieee
ISSN :
1063-8210
Type :
jour
DOI :
10.1109/TVLSI.2008.2005774
Filename :
4806137
Link To Document :
بازگشت