ACM Home Page
Please provide us with feedback. Feedback
Code scheduling and register allocation in large basic blocks
Full text PdfPdf (1.20 MB)
Source International Conference on Supercomputing archive
Proceedings of the 2nd international conference on Supercomputing table of contents
St. Malo, France
Pages: 442 - 452  
Year of Publication: 1988
ISBN:0-89791-272-1
Authors
J. R. Goodman  Univ. of Wisconsin, Madison, WI
W.-C. Hsu  Cray Research Inc., Chippewa Falls, WI
Sponsor
SIGARCH: ACM Special Interest Group on Computer Architecture
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 13,   Downloads (12 Months): 73,   Citation Count: 51
Additional Information:

abstract   references   cited by   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/55364.55407
What is a DOI?

ABSTRACT

We discuss the issues about the interdependency between code scheduling and register allocation. We present two methods as solutions: (1) an integrated code scheduling technique; and (2) a DAG-driven register allocator. The integrated code scheduling method combines two scheduling techniques—one to reduce pipeline delays and the other to minimize register usage—into a single phase. By keeping track of the number of available registers, the scheduler can choose the appropriate scheduling technique to schedule a better code sequence. The DAG-driven register allocator uses a dependency graph to assist in assigning registers; it introduces much less extra dependency than does an ordinary register allocator. For large basic blocks, both approaches were shown to generate more efficient code sequences than conventional techniques in the simulations.


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.

Aho77
 
Aho86
Ausl82
 
Cray82
Cray Research inc., Cray-1 Computer System S Series Mainframe Reference Manual (HR-0029), 1982.
Davi86
 
Dong79
Dongarra, J. J. and A. R. Jinds, "Unrolling I.x~ps in Fortran,'" Software Practice and Experience 9, 3, pp. 219-226, Mar., 1979
 
Elli85
 
Fish81
Fisher, J., "Trace Scheduling: A Technique for Global Microcode Compaction," IEEE Transactions on Computers, Vol. C-30, No. 7, July 1981.
Gibb86
Henn83
 
Henn84
Hennessy, J. L., "VLSI Processor Architecture," IEEE Transactions on Computers, Vol. c-33 No. 12, Dec., 1984.
 
Hsu87
Hsu, Wei-Chung, "Register Allocation and Code Scheduling for Load/Store Architectures" UW Computer Science Technique Report #722, Oct., 1987
 
Kogg81
Kogge, P. M., "The Architecture of Pipelined Computers,~' McGraw-Hill, New York, 1981
 
McMa72
McMahon, F. H, "FORTRAN CPU Performance Analysis", Lawrence Livermore Laboratories, 1972
 
Milu86
Padu86
Seth70
 
Thor70
 
Tjad70
Tjaden, G. S. and M. J. Plynn, "Detection and Parallel Execution of Independent lru~tmctions," IEEE Transactions on Computers 19(10):889-895, Oct., 1970
 
Toma67
Tomasulo, R. M., "An Efficient Algorithm for Exploiting Multiple Arithmetic Units," IBM Journal of Research and Development V 11, pp. 25-33, Jan., 1967.
Weis87
 
Youn85
Young, H., "Evaluation of a Decoupled Computer Architecture and the Design of A Vector Extension," Computer Sciences Technical Report #603, July, 1985

CITED BY  51

Collaborative Colleagues:
J. R. Goodman: colleagues
W.-C. Hsu: colleagues