Abstract
This paper discusses the effects of the prediction of return addresses in high-performance processors designed with trace caches. We show that a traditional return address stack used in such a processor predicts return addresses poorly if a trace cache line contains a function call and a return. This situation can often be observed for processors demanding aggressive instruction fetch bandwidth. Thus, we propose two potential schemes to improve the prediction accuracy of return addresses. We demonstrate that the proposed schemes increase the return address prediction rates reasonably using minimal hardware support. We also analyze the effects of various trace cache configurations on the return address prediction accuracy such as trace cache set associativity, cache size and line size. Our experimental results show that the average return address prediction accuracy across several benchmarks can be up to 11% better than a traditional return address stack in a high-performance processor with a trace cache.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
Patel, S.J.: Trace Cache Design for Wide-Issue Superscalar Processor. PhD thesis, Computer Science and Engineering in The University of Michigan (1999)
Jacobson, Q., Rotenberg, E., Smith, J.: Path-based next trace prediction. In: Proceedings of the 30th Annual ACM/IEEE International Symposium on Microarchitecture (1997)
Rotenberg, E., Bennett, S., Smith, J.E.: A trace cache microarchitecture and evaluation. IEEE Transactions on Computers (1999)
Santana, O.J., Falcon, A., Ramirez, A., Larriba-Pey, J.L., Valero, M.: Next stream prediction. Technical Report UPC-DAC-2002-15, Technical Report (2002)
Webb, C.F.: Subroutine call/return stack. IBM Tech. Disc. Bulletin 30(11) (1988)
Kaeli, D.R., Emma, P.G.: Branch history table prediction of moving target branches due to subroutine returns. In: Proceedings of the 18th Annual International Symposium on Computer Architecture (ISCA-18) (1991)
Skadron, K., Ahuja, P.S., Martonosi, M., Clark, D.W.: Improving prediction for procedure returns with return-address-stack repair mechanisms. In: Proceedings of the 31st Annual ACM/IEEE International Symposium on Microarchitecture (1998)
Jourdan, S., Stark, J., Hsing, T.H., Patt, Y.N.: Recovery requirements of branch prediction storage structures in the presence of mispredicted-path execution. International Journal of Parallel Programming 25(5) (1997)
Hily, S., Seznec, A.: Branch prediction and simultaneous multithreading. In: Proceedings of the 1996 Conference on Parallel Architectures and Compilation Techniques (PACT 1996) (1996)
Zahran, M.M., Franklin, M.: Return-address prediction in speculative multithreaded environments. In: Proceedings of the 9th International Conference on High Performance Computing (2002)
KleinOsowski, A.J., Lilja, D.J.: Minnespec: A new spec benchmark workload for simulation-based computer architecture research. Computer Architecture Letters 1 (2002)
Austin, T., Larson, E., Ernst, D.: Simplescalar: An infrastructure for computer system modeling. Computer, pp. 59–67 (2002)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2006 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Shi, Y., Özer, E., Gregg, D. (2006). Low-Cost Microarchitectural Techniques for Enhancing the Prediction of Return Addresses on High-Performance Trace Cache Processors. In: Levi, A., Savaş, E., Yenigün, H., Balcısoy, S., Saygın, Y. (eds) Computer and Information Sciences – ISCIS 2006. ISCIS 2006. Lecture Notes in Computer Science, vol 4263. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11902140_28
Download citation
DOI: https://doi.org/10.1007/11902140_28
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-47242-1
Online ISBN: 978-3-540-47243-8
eBook Packages: Computer ScienceComputer Science (R0)