Power-aware register assignment for large register file design

The design trend of high-speed microprocessors is toward wider and wider issue architecture to increase instruction-level parallelism. Such architecture needs a large register file to reduce register pressure. A large register file, however, consumes much more power during program execution. In this paper, we first analyze the register requirements in general programs, especially among those parts of the program which take most of execution time. Next, we drive a power-aware register assignment algorithm to distribute different access-frequencies temporary values over different register groups. Finally, we design a dynamic voltage scaling circuit to save the power consumption for those infrequently accessed registers. Experimental results show that partitioning the storage locations of temporary values in a register file will indeed impact the utilization of each register, and within a DVS approach a large register file can thus save a significant ratio of power consumption.

[1]  James E. Smith,et al.  Complexity-Effective Superscalar Processors , 1997, ISCA.

[2]  Sharad Malik,et al.  Intraprogram dynamic voltage scaling: Bounding opportunities with analytic modeling , 2004, TACO.

[3]  H.J. Mattausch,et al.  Superscalar processor with multi-bank register file , 2005, Innovative Architecture for Future Generation High-Performance Processors and Systems (IWIA'05).

[4]  Trevor N. Mudge,et al.  The microarchitecture of a low power register file , 2003, ISLPED '03.

[5]  Gürhan Küçük,et al.  Reducing reorder buffer complexity through selective operand caching , 2003, ISLPED '03.

[6]  John Arends,et al.  Designing the M/spl middot/CORE/sup TM/ M3 CPU architecture , 1999, Proceedings 1999 IEEE International Conference on Computer Design: VLSI in Computers and Processors (Cat. No.99CB37040).

[7]  Krste Asanovic,et al.  Banked multiported register files for high-frequency superscalar microprocessors , 2003, ISCA '03.

[8]  Alexander V. Veidenbaum,et al.  Energy aware register file implementation through instruction predecode , 2003, Proceedings IEEE International Conference on Application-Specific Systems, Architectures, and Processors. ASAP 2003.

[9]  Rajeev Balasubramonian,et al.  Reducing the complexity of the register file in dynamic superscalar processors , 2001, Proceedings. 34th ACM/IEEE International Symposium on Microarchitecture. MICRO-34.

[10]  Erik R. Altman,et al.  Proceedings of the 35th annual ACM/IEEE international symposium on Microarchitecture , 2002, MICRO 2002.

[11]  Victor V. Zyuban,et al.  The energy complexity of register files , 1998, Proceedings. 1998 International Symposium on Low Power Electronics and Design (IEEE Cat. No.98TH8379).

[12]  Wann-Yun Shieh,et al.  Power-Aware Register Assignment for Multi-Banked Register Files , 2009, J. Inf. Sci. Eng..

[13]  Alexander V. Veidenbaum,et al.  Power-Aware Compilation for Register File Energy Reduction , 2004, International Journal of Parallel Programming.

[14]  Thomas D. Burd,et al.  Design issues for Dynamic Voltage Scaling , 2000, ISLPED'00: Proceedings of the 2000 International Symposium on Low Power Electronics and Design (Cat. No.00TH8514).

[15]  Michael F. P. O'Boyle,et al.  Energy-efficient register caching with compiler assistance , 2009, TACO.

[16]  Norman P. Jouppi,et al.  The multicluster architecture: reducing cycle time through partitioning , 1997, Proceedings of 30th Annual International Symposium on Microarchitecture.

[17]  David A. Patterson,et al.  Computer Architecture: A Quantitative Approach , 1969 .

[18]  Wann-Yun Shieh,et al.  Saving register-file static power by monitoring instruction sequence in ROB , 2011, J. Syst. Archit..

[19]  David Blaauw,et al.  Circuit and microarchitectural techniques for reducing cache leakage power , 2004, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[20]  Augustus K. Uht,et al.  Disjoint eager execution: an optimal form of speculative execution , 1995, Proceedings of the 28th Annual International Symposium on Microarchitecture.

[21]  Lizy K. John,et al.  Performance characterization of SPEC CPU benchmarks on intel's core microarchitecture based processor , 2007 .

[22]  David Blaauw,et al.  Proceedings of the 2000 International Symposium on Low Power Electronics and Design, 2000, Rapallo, Italy, July 25-27, 2000 , 2000, ISLPED.

[23]  Wann-Yun Shieh,et al.  Saving Register-File Leakage Energy by Register-usage Exploiting , 2008, J. Inf. Sci. Eng..

[24]  Mahmut T. Kandemir,et al.  Leakage Current: Moore's Law Meets Static Power , 2003, Computer.

[25]  Diana Marculescu,et al.  Power aware microarchitecture resource scaling , 2001, Proceedings Design, Automation and Test in Europe. Conference and Exhibition 2001.

[26]  Guang R. Gao,et al.  An investigation of the performance of various instruction-issue buffer topologies , 1995, Proceedings of the 28th Annual International Symposium on Microarchitecture.

[27]  T. Mudge,et al.  Drowsy caches: simple techniques for reducing leakage power , 2002, Proceedings 29th Annual International Symposium on Computer Architecture.

[28]  David A. Patterson,et al.  Computer Architecture - A Quantitative Approach (4. ed.) , 2007 .

[29]  Gürhan Küçük,et al.  Isolating short-lived operands for energy reduction , 2004, IEEE Transactions on Computers.

[30]  Aviral Shrivastava,et al.  Bypass aware instruction scheduling for register file power reduction , 2006 .

[31]  M. Merten,et al.  A hardware-driven profiling scheme for identifying program hot spots to support runtime optimization , 1999, Proceedings of the 26th International Symposium on Computer Architecture (Cat. No.99CB36367).

[32]  Mateo Valero,et al.  Multiple-banked register file architectures , 2000, Proceedings of 27th International Symposium on Computer Architecture (IEEE Cat. No.RS00201).

[33]  Lei He,et al.  Temperature and supply Voltage aware performance and power modeling at microarchitecture level , 2005, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[34]  Trevor Mudge,et al.  Drowsy instruction caches. Leakage power reduction using dynamic voltage scaling and cache sub-bank prediction , 2002, 35th Annual IEEE/ACM International Symposium on Microarchitecture, 2002. (MICRO-35). Proceedings..

[35]  Henk Corporaal,et al.  Partitioned register file for TTAs , 1995, MICRO 1995.

[36]  Jaume Abella,et al.  On reducing register pressure and energy in multiple-banked register files , 2003, Proceedings 21st International Conference on Computer Design.