ACM Home Page
Please provide us with feedback. Feedback
Exploiting idle register classes for fast spill destination
Full text PdfPdf (293 KB)
Source
International Conference on Supercomputing archive
Proceedings of the 22nd annual international conference on Supercomputing table of contents
Island of Kos, Greece
SESSION: Architecture 2 table of contents
Pages 319-326  
Year of Publication: 2008
ISBN:978-1-60558-158-3
Authors
Fang Lu  Institute of Computing Technology, Chinese Academy of Sciences, Beijing, China
Lei Wang  Institute of Computing Technology, Chinese Academy of Sciences, Beijing, China
Xiaobing Feng  Institute of Computing Technology, Chinese Academy of Sciences, Beijing, China
Zhiyuan Li  Purdue University, West Lafayette, IN, USA
Zhaoqing Zhang  Institute of Computing Technology, Chinese Academy of Sciences, Beijing, China
Sponsors
ACM: Association for Computing Machinery
SIGARCH: ACM Special Interest Group on Computer Architecture
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 4,   Downloads (12 Months): 74,   Citation Count: 0
Additional Information:

abstract   references   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1375527.1375574
What is a DOI?

ABSTRACT

On today's microprocessors, there often exist several different types of registers, e.g. general purpose registers and floating point registers. A given program may use one type of registers much more frequently than other types. This creates an opportunity to employ the infrequently used registers as spill destinations for the more frequently used register types. In this paper, we present a code optimization method named idle register exploitation (IRE) to exploit such opportunities. We developed a model, called the IRE model, or IREM, to determine the static performance gains of IRE versus spilling to the stack. On a microprocessor with fast data paths between different types of registers, we find that IRE method speeds up the execution of the SPECint benchmark suite from 1.7% to 10%. In contrast, on microprocessors with less efficient data transfer paths, the performance gain is limited. In some cases, performance may even suffer degradation. This result argues strongly for the adoption of fast data paths between different types of registers for the purpose of reducing register spills, which is important in view of the increased significance of memory bottlenecks on future microprocessors.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

1
2
3
4
 
5
6
7
8
 
9
Goebel, Kurt J. (Mountain View, CA, US), Float register spill cache method, system, and computer program product , United States Patent 5901316, http://www.freepatentsonline.com/5901316.html
 
10
 
11
 
12
Intel Corp. IA--32 Intel® Architecture Software Developer's Manual,Volume 1--3
 
13
AMD Corp. AMD64 Technology AMD64 Architecture Programmer's Manual,Volume 4--5
 
14
AMD Corp. Software Optimization Guide for AMD Athlon" 64 and AMD Opteron" Processors
 
15
Intel Corp. Intel® Pentium® 4 Processor Optimization Reference Manual
 
16
Weiwu Hu, Fuxin Zhang, Zusong Li, Microarchitecture of the Godson-2 Processor, http://www.loongson.cn/newweb/phpcms/uploadfile/article/uploadfile/200709/20070924095420719.rar
 
17
C.Evan Foster III, Harold C.Grossman, An empirical investigation of the Haifa register allocation technique in the GNU C compiler, Southeastcon '92, Proceedings., IEEE 12--15 April 1992, Page(s):776 -- 779 vol.2 Digital Object Identifier 10.1109/SECON.1992.202433.

Collaborative Colleagues:
Fang Lu: colleagues
Lei Wang: colleagues
Xiaobing Feng: colleagues
Zhiyuan Li: colleagues
Zhaoqing Zhang: colleagues