skip to main content
article
Free Access

Register windows vs. register allocation

Published:01 June 1988Publication History
Skip Abstract Section

Abstract

A large register set can be exploited by keeping variables and constants in registers instead of in memory. Hardware register windows and compile-time or link-time global register allocation are ways to do this. A measure of the effectiveness of any of these register management schemes is how thoroughly they remove loads and stores. This measure must also count extra loads and stores executed because of window overflow or conflicts between procedures.

By combining profiling, instrumentation, and in-line simulation, we measured the effectiveness of several register management schemes. These included compile-time and link-time schemes for allocating registers, and register window schemes using fixed-size or variable-sized windows. Link-time allocation based on profile information was the clear winner in some cases and did about as well as windows in the rest. Even link-time allocation based on an estimated profile was about as good as windows. Variable-sized windows sometimes did better than fixed-sized windows, but the difference was usually small.

Register windows require extra logic in the data path, which may slow the machine cycle slightly, and often use more chip real estate for additional registers. Proponents of windows suppose that they trade these drawbacks for a reduction in the number of memory references they must make. Our results show that this tradeoff should be made the other way. Keep the hardware simple, because a link-time register allocator can nearly duplicate the improvement in memory reference frequency. Then the cycle time can be as small as possible, resulting in faster programs overall.

References

  1. 1 Advanced Micro Devices. Am29000 Streamlined Instruction Processor User's Manual. Advanced Micro Devices, Inc., 901 Thompson Place, P. O. Box 3453, Sunnyvale, CA 94088.Google ScholarGoogle Scholar
  2. 2 Russell R. Atkinson and Edward M. McCreight. The Dragon processor. Proceedings of the Second International Conference on Architectural Support for Programming Languages and Operating Systems, pages 65-69. Published as Computer Architecture News 15 (5), Operating Systems Review 21 (4), SIGPLAN Notices 22 (10), October 1987. Google ScholarGoogle ScholarCross RefCross Ref
  3. 3 Gregory J. Chaitin, Marc A. Auslander, Ashok K. Chandra, John Cocke, Martin E. Hopkins, and Peter W. Markstein. Register allocation via coloring. Computer Languages 6: 47-57, 1981.Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. 4 Jeremy Dion. Personal communication.Google ScholarGoogle Scholar
  5. 5 Jack J. Dongarra. Performance of various computers using standard linear equations software in a Fortran environment. Computer Architecture News 11 (5): 22-27, December 1983. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. 6 Richard P. Gabriel. Performance and Evaluation of Lisp Systems, pages 116-135. The MIT Press, 1985. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. 7 John Hennessy. Stanford benchmark suite. Personal communication.Google ScholarGoogle Scholar
  8. 8 John L. Hennessy, Norman P. Jouppi, Steven Przybylski, Christopher Rowen, and Thomas Gross. Design of a high performance VLSI processor. In Randal Bryant, editor, Third Caltech Conference on Very Large Scale integration, pages 33-54. Computer Science Press, 11 Taft Court, Rockville, Maryland.Google ScholarGoogle Scholar
  9. 9 John Ousterhout. Personal communication.Google ScholarGoogle Scholar
  10. 10 David A. Patterson. Reduced instruction set computers. Communications of the ACM 28 (1): 8-21, January 1985. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. 11 George Radin. The 801 minicomputer. Proceedings of the Symposium on Architectural Support for Programming Languages and Operating Systems, pages 39-47 (March 1982). Published as SIGARCH Computer Architecture News 10 (2), March 1982, and as SIGPLAN Notices 17 (4), April 1982. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. 12 Peter Steenkiste. Lisp on a Reduced- Instruction-Set Processor: Characterization and Optimization. PhD thesis, Stanford University. Available as Stanford Computer Systems Laboratory Technical Report CSL-TR-87-324. March 1987. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. 13 David W. Wall. Global register allocation at link-time. Proceedings of the SIGPLAN '86 Symposium on Compiler Construction. Published as SIGPLAN Notices 21 (7): 264-275 (July 1986). Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Register windows vs. register allocation

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in

    Full Access

    • Published in

      cover image ACM SIGPLAN Notices
      ACM SIGPLAN Notices  Volume 23, Issue 7
      Proceedings of the SIGPLAN '88 conference on Programming language design and implementation
      July 1988
      338 pages
      ISSN:0362-1340
      EISSN:1558-1160
      DOI:10.1145/960116
      Issue’s Table of Contents
      • cover image ACM Conferences
        PLDI '88: Proceedings of the ACM SIGPLAN 1988 conference on Programming language design and implementation
        June 1988
        338 pages
        ISBN:0897912691
        DOI:10.1145/53990

      Copyright © 1988 ACM

      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 1 June 1988

      Check for updates

      Qualifiers

      • article

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader