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

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

Research output: Contribution to journalConference articlepeer-review

46 Scopus citations

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%.

Original languageEnglish (US)
Pages (from-to)259-271
Number of pages13
JournalProceedings of the Annual International Symposium on Microarchitecture
StatePublished - 1998
EventProceedings of the 1998 31st Annual ACM/IEEE International Symposium on Microarchitecture - Dallas, TX, USA
Duration: Nov 30 1998Dec 2 1998

All Science Journal Classification (ASJC) codes

  • Hardware and Architecture
  • Software

Fingerprint

Dive into the research topics of 'Improving prediction for procedure returns with return-address-stack repair mechanisms'. Together they form a unique fingerprint.

Cite this