Compiler directed early register release
Document typeConference report
PublisherInstitute of Electrical and Electronics Engineers (IEEE)
Rights accessOpen Access
This paper presents a novel compiler directed technique to reduce the register pressure and power of the register file by releasing registers early. The compiler identifies registers that mil only be read once and renames them to different logical registers. Upon issuing an instruction with one of these logical registers as a source, the processor knows that there will be no more uses of it and can release the register through checkpointing. This reduces the occupancy of our banked register file, allowing banks to be turned off for power savings. Our scheme is faster, simpler and requires less hardware than recently proposed techniques. It also maintains precise interrupts and exceptions where many other techniques do not. We reduce register occupancy by 28% in a large register file and gain in performance too; this translates into dynamic and static power saving of 18%. When compared to state-of-the-art approaches for varying register file sizes, our scheme is always faster (higher IPC) and always achieves a greater reduction in register file occupancy.
CitationJones, T., O’Boyle, M., Abella, J., González, A., Ergin, O. Compiler directed early register release. A: International Conference on Parallel Architectures and Compilation Techniques. "PACT'05: 14th International Conference on Parallel Architectures and Compilation Techniques: 17-21 September 2005, St. Louis, Missouri". St. Louis, Missouri: Institute of Electrical and Electronics Engineers (IEEE), 2005, p. 110-119.