Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/377792.377859acmconferencesArticle/Chapter ViewAbstractPublication PagesicsConference Proceedingsconference-collections
Article

Integrating superscalar processor components to implement register caching

Published: 17 June 2001 Publication History

Abstract

A large logical register file is important to allow effective compiler transformations or to provide a windowed space of registers to allow fast function calls. Unfortunately, a large logical register file can be slow, particularly in the context of a wide-issue processor which requires an even larger physical register file, and many read and write ports. Previous work has suggested that a register cache can be used to address this problem. This paper proposes a new register caching mechanism in which a number of good features from previous approaches are combined with existing out-of-order processor hardware to implement a register cache for a large logical register file. It does so by separating the logical register file from the physical register file and using a modified form of register renaming to make the cache easy to implement. The physical register file in this configuration contains fewer entries than the logical register file and is designed so that the physical register file acts as a cache for the logical register file, which is the backing store. The tag information in this caching technique is kept in the register alias table and the physical register file. It is found that the caching mechanism improves IPC up to 20% over an un-cached large logical register file and has performance near to that of a logical register file that is both large and fast.

References

[1]
Douglas C. Burger and Todd M. Austin. The SimpleScalar Tool Set, Version 2.0. University of Wisconsin, Madison Tech. Report. June, 1997.
[2]
Jose-Lorenzo Cruz, Antonio Gonzalez, Mateo Valero and Nigel P. Topham. Multiple-Banked Register File Architectures. Proc. 27th Intl. Symp. Computer Architecture, pp. 316-325, June 2000.
[3]
Antonio Gonzalez, Mateo Valero, Jose Gonzalez and T. Monreal. Virtual Registers. Proc. Intl. Conf. High-Performance Computing, pp. 364-369, 1997.
[4]
Antonio Gonzalez, Jose Gonzalez and Mateo Valero. Virtual- Physical Registers. Proc. 4th Intl. Symp. High-Performance Computer Architecture (HPCA-4), pp. 175-184, Feb. 1998.
[5]
Linley Gwenapp. Digital 21264 Sets New Standard. Microprocessor Report, Vol. 10, No. 14. October 28, 1996, pp. 11-16.
[6]
Intel IA-64 Application Developer's Architecture Guide. May 1999. Order Number: 245188-001. Available at http://developer.intel.com/design/ia64/devinfo.htm.
[7]
Jack L. Lo, Sujay S. Parekh, Susan J. Eggers, Heny M. Levy, Dean M. Tullsen. Software-Directed Register Deallocation for Simultaneous Multithreaded Processors. IEEE Transactions on Parallel and Distributed Systems, Vol. 10, No. 9, September 1999, pp. 922-933.
[8]
Luis A. Lozano C. and Guang R. Gao. Exploiting Short-Lived Variables in Superscalar Processors. Proc. 28th Intl. Symp. Microarchitecture, pp. 292-302, Nov. 1995.
[9]
Milo M. Martin, Amir Roth, and Charles N. Fischer. Exploiting Dead Value Information. Proc. 30th Intl. Symp. Microarchitecture (MICRO'97), Dec. 1997.
[10]
T. Monreal, A. Gonzalez, M. Valero, J. Gonzalez and V. Vinals. Delaying Physical Register Allocation through Virtual-Physical Registers. Proc. 32nd Intl. Symp. Microarchitecture, pp. 186-192, Nov. 1999.
[11]
M. Moudgill, K. Pingali and S. Vassiliadis. Register Renaming and Dynamic Speculation: An Alternative Approach. Proc. 26th Intl. Symp. Microarchitecture (MICRO'93), pp. 202-213, Dec. 1993.
[12]
David A. Patterson and Carlo H. Sequin. RISC I: A Reduced Instruction Set VLSI Computer. Proc. 8th Intl. Symp. Computer Architecture, Vol. 32 No. CS-93-63, pp. 443-457. Nov. 1981.
[13]
Matthew Postiff, David Greene, Charles Lefurgy, Dave Helder, Trevor Mudge. The MIRV SimpleScalar/PISA Compiler. University of Michigan CSE Technical Report CSE-TR-421- 00, April 2000. Available at {22}.
[14]
Matthew Postiff, David Greene, and Trevor Mudge. Exploiting Large Register Files in General Purpose Code. University of Michigan Technical Report CSE-TR-434-00, October 2000. Available at {22}.
[15]
Matthew Postiff. Compiler and Microarchitecture Mechanisms for Exploiting Registers to Improve Memory Performance. Ph.D. Dissertation, University of Michigan. March 2001.
[16]
Dezso Sima. The Design Space of Register Renaming Techniques. IEEE Micro, Vol. 20 No. 5, pp. 70-83. Sep/Oct 2000.
[17]
John A. Swenson and Yale N. Patt. Hierarchical Registers for Scientific Computers. Proc. Intl. Conf. Supercomputing, pp. 346-353, July 1988.
[18]
UNIX System Laboratories Inc. System V Application Binary Interface: MIPS Processor Supplement. Unix Press/Prentice Hall, Englewood Cliffs, New Jersey, 1991.
[19]
Kenneth C. Yeager. The MIPS R10000 superscalar microprocessor. IEEE Micro, Vol. 16 No. 2, pp. 28-40. April, 1996.
[20]
Robert Yung and Neil C. Wilhelm. Caching Processor General Registers. Intl. Conf. Computer Design, pp. 307-312, Oct, 1995.
[21]
Robert Yung and Neil C. Wilhelm. Caching Processor General Registers. Sun Microsystems Laboratories Tech. Report. June, 1995.
[22]
http://www.eecs.umich.edu/mirv.

Cited By

View all
  • (2016)A survey of techniques for designing and managing CPU register fileConcurrency and Computation: Practice and Experience10.1002/cpe.390629:4Online publication date: 13-Jul-2016
  • (2011)StageNetIEEE Transactions on Computers10.1109/TC.2010.20560:1(5-19)Online publication date: 1-Jan-2011
  • (2009)Energy-efficient register caching with compiler assistanceACM Transactions on Architecture and Code Optimization10.1145/1596510.15965116:4(1-23)Online publication date: 29-Oct-2009
  • Show More Cited By

Index Terms

  1. Integrating superscalar processor components to implement register caching

    Recommendations

    Comments

    Please enable JavaScript to view thecomments powered by Disqus.

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    ICS '01: Proceedings of the 15th international conference on Supercomputing
    June 2001
    510 pages
    ISBN:158113410X
    DOI:10.1145/377792
    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]

    Sponsors

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 17 June 2001

    Permissions

    Request permissions for this article.

    Check for updates

    Qualifiers

    • Article

    Conference

    ICS01
    Sponsor:

    Acceptance Rates

    ICS '01 Paper Acceptance Rate 45 of 133 submissions, 34%;
    Overall Acceptance Rate 629 of 2,180 submissions, 29%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)5
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 14 Feb 2025

    Other Metrics

    Citations

    Cited By

    View all
    • (2016)A survey of techniques for designing and managing CPU register fileConcurrency and Computation: Practice and Experience10.1002/cpe.390629:4Online publication date: 13-Jul-2016
    • (2011)StageNetIEEE Transactions on Computers10.1109/TC.2010.20560:1(5-19)Online publication date: 1-Jan-2011
    • (2009)Energy-efficient register caching with compiler assistanceACM Transactions on Architecture and Code Optimization10.1145/1596510.15965116:4(1-23)Online publication date: 29-Oct-2009
    • (2008)Exploiting virtual registers to reduce pressure on real registersACM Transactions on Architecture and Code Optimization10.1145/1328195.13281984:4(1-18)Online publication date: 30-Jan-2008
    • (2008)The StageNet fabric for constructing resilient multicore systemsProceedings of the 41st annual IEEE/ACM International Symposium on Microarchitecture10.1109/MICRO.2008.4771786(141-151)Online publication date: 8-Nov-2008
    • (2008)Asymmetrically banked value-aware register files for low-energy and high-performanceMicroprocessors & Microsystems10.1016/j.micpro.2007.10.00432:3(171-182)Online publication date: 1-May-2008
    • (2007)Virtual registersProceedings of the 2nd international conference on High performance embedded architectures and compilers10.5555/1762146.1762154(57-70)Online publication date: 28-Jan-2007
    • (2007)Reconciling performance and programmability in networking systemsACM SIGCOMM Computer Communication Review10.1145/1282427.128239037:4(73-84)Online publication date: 27-Aug-2007
    • (2007)Reconciling performance and programmability in networking systemsProceedings of the 2007 conference on Applications, technologies, architectures, and protocols for computer communications10.1145/1282380.1282390(73-84)Online publication date: 27-Aug-2007
    • (2007)Asymmetrically Banked Value-Aware Register FilesProceedings of the IEEE Computer Society Annual Symposium on VLSI10.1109/ISVLSI.2007.27(363-368)Online publication date: 9-Mar-2007
    • Show More Cited By

    View Options

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Figures

    Tables

    Media

    Share

    Share

    Share this Publication link

    Share on social media