Improving Prediction for Procedure Returns with Return-Address-Stack Repair Mechanisms

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

This paper evaluates several mechanisms for repair-ing 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 proces-sor implements multipath execution-simultaneously exe-cuting both sides of a branch-the contention among dif-ferent paths makes the problem more severe. For conventional, single-path processors, thispaperpro-poses saving both the top-of-stack pointer and the top-of-stack contents for later restoration in case of a mispre-diction, 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 proces-sors, providing each path with its own return-address stack completely eliminates contention, improving performance by over 25%. 1

Read the paper · More papers on PaperTik