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
fDate :
30 Nov-2 Dec 1998
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;
Conference_Titel :
Microarchitecture, 1998. MICRO-31. Proceedings. 31st Annual ACM/IEEE International Symposium on
Conference_Location :
Dallas, TX
Print_ISBN :
0-8186-8609-X
DOI :
10.1109/MICRO.1998.742787