Skip to main content
Log in

Power-aware register assignment for large register file design

  • Published:
The Journal of Supercomputing Aims and scope Submit manuscript

Abstract

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Kim NS et al (2003) The microarchitecture of a low power register file. In: Proceedings of the 2003 international symposium on low power electronics and design, pp 384–389. doi:10.1145/871506.871602

    Chapter  Google Scholar 

  2. Scott J et al (1999) Designing the M.CORETM M3 CPU architecture. In: Proceedings of IEEE international conference on computer design (ICCD’99), p 94. doi:10.1109/ICCD.1999.808407

    Google Scholar 

  3. Richard G (2006) Leakage takes priority at 65 nm. EETIMES. http://www.eetimes.com/news/design/showArticle.jhtml?articleID=175804055

  4. Palacharla S et al (1997) Complexity-effective superscalar processors. In: Proceedings of the international symposium on computer architecture (ISCA), pp 206–218. doi:10.1109/ISCA.1997.604689

    Google Scholar 

  5. Zyuban V, Kogge P (1998) The energy complexity of register files. In: International symposium on low-power electronics and design, pp 305–310. doi:10.1145/280756.280943

    Google Scholar 

  6. Balasubramonian R et al (2001) Reducing the complexity of the register file in dynamic superscalar processor. In: Proceedings of the 34th microarchitecture (MICRO-34), pp 237–248

    Google Scholar 

  7. Hennessy J, Patterson D (2006) Computer architecture: a quantitative approach, 4th edn. Kaufmann, Los Altos, pp 17–19

    MATH  Google Scholar 

  8. Cruz J, González A et al (2000) Multiple-banked register file architectures. In: Proceedings of the international symposium on computer architecture (ISCA’00), pp 316–325. doi:10.1145/342001.339708

    Google Scholar 

  9. Merten MC et al (1999) A hardware-driven profiling scheme for identifying program hot spots to support runtime optimization. In: Proceeding of the 26th international symposium on computer architecture, pp 136–148. doi:10.1145/300979.300991

    Google Scholar 

  10. Iyer A et al (2001) Power aware microarchitecture resource scaling. In: Proceeding of conference and exhibition, pp 190–196

    Google Scholar 

  11. Kim NS et al (2003) Leakage current: Moore’s law meets static power. Computer 36:68–75. doi:10.1109/MC.2003.1250885

    Google Scholar 

  12. Shieh WY et al (2011) Saving register-file static power by monitoring instruction sequence in ROB. J Syst Archit 57:327–329. doi:10.1007/11807964_77

    Article  MathSciNet  Google Scholar 

  13. SimpleScalar. http://www.simplescalar.com/

  14. SPEC2000. http://www.spec.org/cpu/

  15. Tseng JH et al (2003) Banked multiported register files for high-frequency superscalar microprocessors. In: Proceedings of the international symposium on computer architecture (ISCA’03), pp 62–71. doi:10.1109/ISCA.2003.1206989

    Google Scholar 

  16. Ponomarev D et al (2004) Isolating short-lived operands for energy reduction. IEEE Trans Comput 53:696–709. doi:10.1109/TC.2004.11

    Google Scholar 

  17. Lozano L et al (1995) Exploiting short-lived variables in superscalar processors. In: Proceedings of the 28th annual international symposium on microarchitecture, pp 292–302

    Chapter  Google Scholar 

  18. Fkautner K et al (2002) Drowsy caches: Simple techniques for reducing leakage power. In: Proceedings of the international symposium on computer architecture (ISCA’02), pp 148–157. doi:10.1109/ISCA.2002.1003572

    Chapter  Google Scholar 

  19. Kim NS et al (2004) Circuit and microarchitectural techniques for reducing cache leakage power. IEEE Trans Very Large Scale Integr 12:167–184. doi:10.1109/TVLSL.2003.821550

    Article  Google Scholar 

  20. Kim NS et al (2002) Drowsy instruction caches: leakage power reduction using dynamic voltage scaling and cache sub-bank prediction. In: Proceedings of the 35th annual ACM/IEEE international symposium on microarchitecture, pp 219–230

    Google Scholar 

  21. Burd TD et al (2000) Design issues for dynamic voltage scaling. In: Proceedings of the 2000 international symposium on low power electronics and design, pp 9–14. doi:10.1145/344166.344181

    Chapter  Google Scholar 

  22. Shieh WY et al (2008) Saving register-file leakage energy by register-usage exploiting. J Inf Sci Eng 24:1429–1444

    Google Scholar 

  23. GCC. http://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html

  24. Farkas K et al (1997) The multicluster architecture: reducing cycle time through partitioning. In: Proceedings of the 30th microarchitecture, pp 149–159

    Chapter  Google Scholar 

  25. Janssen J et al (1995) Partitioned register file for TTAs. In: Proceedings of the 28th microarchitecture MICRO-28, pp 303–312

    Google Scholar 

  26. Hironaka T et al (2005) Superscalar processor with multi-bank register file. In: Proceedings of the innovative architecture on future generation high-performance processors and systems, pp 3507–3510. doi:10.1109/IWIA.2005.42

    Google Scholar 

  27. Ayala JL et al (2003) Power-aware compilation for register file energy reduction. Int J Parallel Program 31:151–167. doi:10.1023/B:IJPP.0000004510.66751.2e

    Article  MathSciNet  Google Scholar 

  28. Ayala JL et al (2003) Energy aware register file implementation through instruction predecode. In: Proceedings of the application-specific systems, architectures, and processors, pp 86–96. doi:10.1109/ASAP.2003.1212832

    Google Scholar 

  29. Shieh WY et al (2009) Power-aware register assignment for multi-banked register files. J Inf Sci Eng 25:1901–1920

    MathSciNet  Google Scholar 

  30. Abella J et al (2003) On reducing register pressure and energy in multiple-banked register files. In: Proceedings of the 21st international conference on computer design, pp 14–20

    Chapter  Google Scholar 

  31. CACTI: http://www.hpl.hp.com/personal/Norman_Jouppi/cacti4.html

  32. Jones T et al (2009) Energy-efficient register caching with compiler assistance. ACM Trans Archit Code Optim 6:13–23

    Google Scholar 

  33. Park S et al (2006) Bypass aware instruction scheduling for register file power reduction. In: Proceedings of the ACM SIGPLAN/SIGBED conference on languages, compilers, and tools for embedded systems, pp 173–181

    Google Scholar 

  34. Lingo. http://www.lindo.com

  35. Xie F et al (2004) Intraprogram dynamic voltage scaling: Bounding opportunities with analytic modeling. ACM Trans Archit Code Optim 1:323–367

    Article  Google Scholar 

  36. Liao W et al (2005) Temperature and supply voltage aware performance and power modeling at microarchitecture level. IEEE Trans Comput-Aided Des Integr Circuits Syst 24:1042–1053

    Article  Google Scholar 

  37. SimPoint, http://cseweb.ucsd.edu/~calder/simpoint/

  38. Bird S et al (2007) Performance characterization of SPEC CPU benchmarks on Intel’s core microarchitecture based processor. In: SPEC benchmarking workshops and conferences

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Wann-Yun Shieh.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Shieh, WY., Wang, BS. Power-aware register assignment for large register file design. J Supercomput 61, 719–742 (2012). https://doi.org/10.1007/s11227-011-0633-1

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11227-011-0633-1

Keywords

Navigation