Exploring the Limits of Early Register Release: Exploiting Compiler Analysis

Timothy M. Jones, Michael F. P. O'Boyle, Jaume Abella, Antonio González, Oguz Ergin

Research output: Contribution to journalArticlepeer-review

Abstract

Register pressure in modern superscalar processors can be reduced by releasing registers early and by copying their contents to cheap back-up storage. This article quantifies the potential benefits of register occupancy reduction and shows that existing hardware-based schemes typically achieve only a small fraction of this potential. This is because they are unable to accurately determine the last use of a register and must wait until the redefining instruction enters the pipeline. On the other hand, compilers have a global view of the program and, using simple dataflow analysis, can determine the last use. This article evaluates the extent to which compiler analysis can aid early releasing, explores the design space, and introduces commit and issue-based early releasing schemes, quantifying their benefits. Using simple compiler analysis and microarchitecture changes, we achieve 70% of the potential register file occupancy reduction. By adding more hardware support, we can increase this to 94%. Our schemes are compared to state-of-the-art approaches for varying register file sizes and are shown to outperform these existing techniques.
Original languageEnglish
Article number12
Number of pages30
JournalACM Transactions on Architecture and Code Optimization
Volume6
Issue number3
DOIs
Publication statusPublished - 1 Oct 2009

Keywords

  • Low-power design, compiler, energy efficiency, microarchitecture, register file

Fingerprint

Dive into the research topics of 'Exploring the Limits of Early Register Release: Exploiting Compiler Analysis'. Together they form a unique fingerprint.

Cite this