Abstract
As processors continue to exploit more instruction level parallelism, greater demands are placed on the performance of the memory system. In this paper, we introduce a novel modification of the processor pipeline called memory renaming . Memory renaming applies register access techniques to load and store instructions to speed the processing of memory traffic. The approach works by accurately predicting memory communication early in the pipeline and then re - mapping the communication to fast physical registers. This work extends previous studies of data value and dependence speculation. When memory renaming is added to the processor pipeline, renaming can be applied to 30-50 % of all memory references, translating to an overall improvement in execution time of up to 14 % for current pipeline configurations. As store forward delay times grow larger, renaming support can lead to performance improvements of as much as 42 %. Furthermore, this improvement is seen across all memory segments—including the heap segment which has often been difficult to manage efficiently.
Similar content being viewed by others
REFERENCES
Intel boosts pentium pro to 200 MHz, Microprocessor Report 9(17):1–5 (June 1995).
Robert Keller, Look-Ahead Processors, ACM Computing Surveys, pp. 177–195 (December 1975).
Andreas Moshovos, Scott Breach, T. N. Vijaykumar, and Gurindar Sohi, Dynamic Speculation and Synchronization of Data Dependences, 24th Ann. Int'l. Symp. Computer Architecture, pp. 181–193 (June 1997).
Mikko H. Lipasti, Christopher B. Wilkerson, and John Paul Shen, Value Locality and Load Value Prediction, Proc. 17th Int'l. Conf. Architectural Support Progr. Lang. Operat. Syst. (October 1996).
E. Jacobsen, E. Rotenberg, and J. E. Smith, Assigning Confidence to Conditional Branch Predictions, Proc. 29th Ann. Int'l. Symp. Microarchitecture (December 1996)
Doug Burger, Todd M. Austin, and Steve Bennett, Evaluating Future Microprocessors: The Simplescalar Tool Set, UW-Madison Technical Report No. 1308 (July 1996).
Thomas M. Conte, Kishore N. Menezes, Patrick M. Mills, and Burzin A. Patel, Optimization of Instruction Fetch Mechanisms for High Issue Rates, 22nd Ann. Int'l. Symp. Computer Architecture, pp. 333–344 (June 1995).
Todd M. Austin and Guri S. Sohi, Zero-Cycle Loads: Microarchitecture Support for Reducing Load Latency, Proc. 28th Ann. Int'l. Symp. Microarchitecture, pp. 82–92 (November 1995).
Peter Dahl and Matthew O'Keefe, Reducing Memory Traffic with Cregs, Proc. 27th Ann. Int'l. Symp. Microarchitecture, pp. 100–111 (November 1994).
Yiannakis Sazeidis, Stamatis Vassiliadis, and James Smith, The Performance Potential of Data Dependence Speculation and Collapsing, Proc. 29th Ann. Int'l. Symp. Microarchitecture, pp. 238–247 (November 1996).
Andreas Moshovos and Gurindar S. Sohi, Streamlining Inter-Operation Memory Communication Via Data Dependence Prediction, Proc. 30th Ann. Int'l. Symp. Microarchitecture (December 1997).
Glenn Reinman, Brad Calder, Dean Tullsen, Gary Tyson, and Todd Austin, Classifying Load and Store Instructions for Memory Renaming, Proc. ACM Int'l. Conf. Supercomputing, to appear (June 1999).
Stephan Jourdan, Ronny Ronen, Michael Bekerman, Bishara Shomar, and Adi Yoaz, A Novel Renaming Scheme to Exploit Value Temporal Locality Through Physical Register Reuse and Unification, Proc. 31st Ann. Int'l. Symp. Microarchitecture (November 1998).
Glenn Reinman and Brad Calder, Predictive Techniques for Aggressive Load Speculation, Proc. 31st Ann. Int'l. Symp. Microarchitecture (December 1998).
Tse-Yu Yeh and Yale Patt, Two-Level Adaptive Branch Prediction, Proc. 24th Ann. Int'l.Symp. Microarchitecture, pp. 51–61 (November 1991).
Rights and permissions
About this article
Cite this article
Tyson, G.S., Austin, T.M. Memory Renaming: Fast, Early and Accurate Processing of Memory Communication. International Journal of Parallel Programming 27, 357–380 (1999). https://doi.org/10.1023/A:1018734923512
Issue Date:
DOI: https://doi.org/10.1023/A:1018734923512