• DocumentCode
    2518519
  • Title

    Improving prediction for procedure returns with return-address-stack repair mechanisms

  • Author

    Skadron, Kevin ; Ahuja, Pritpal S. ; Martonosi, Margaret ; Clark, Douglas W.

  • Author_Institution
    Dept. of Comput. Sci. & Electr. Eng., Princeton Univ., NJ, USA
  • fYear
    1998
  • fDate
    30 Nov-2 Dec 1998
  • Firstpage
    259
  • Lastpage
    271
  • Abstract
    This paper evaluates several mechanisms for repairing the return-address stack after branch mispredictions. The return-address stack is a small but important structure for achieving better control-flow prediction accuracy and therefore better performance. But wrong-path execution after mispredictions frequently corrupts the return-address stack, making repair mechanisms necessary. If the processor implements multipath execution-simultaneously executing both sides of a branch-the contention among different paths makes the problem more severe. For conventional, single-path processors, this paper proposes saving both the top-of-stack pointer and the top-of-stack contents for later restoration in case of a misprediction. This simple technique achieves nearly 100% hit rates and improves performance by up to 8.7% compared to a stack with no repair mechanism. For multipath processors, providing each path with its own return-address stack completely eliminates contention, improving performance by over 25%
  • Keywords
    computer architecture; performance evaluation; branch mispredictions; procedure returns prediction; return-address stack; return-address-stack repair mechanisms; top-of-stack contents; top-of-stack pointer; Bandwidth; Computer science; Electronic switching systems; Engines; Registers;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Microarchitecture, 1998. MICRO-31. Proceedings. 31st Annual ACM/IEEE International Symposium on
  • Conference_Location
    Dallas, TX
  • ISSN
    1072-4451
  • Print_ISBN
    0-8186-8609-X
  • Type

    conf

  • DOI
    10.1109/MICRO.1998.742787
  • Filename
    742787