Publication | Closed Access
Improving prediction for procedure returns with return-address-stack repair mechanisms
35
Citations
26
References
2002
Year
Unknown Venue
EngineeringComputer ArchitectureMultipath ProcessorsEvaluation StrategySoftware AnalysisProcedure ReturnsHardware SecurityReliability EngineeringHigh-performance ArchitectureParallel ComputingMemory ManagementQuantitative ManagementInstruction-level ParallelismPredictive AnalyticsReturn-address StackComputer EngineeringComputer ScienceRepair MechanismAutomated RepairProgram AnalysisSoftware TestingParallel ProgrammingPerformance PortabilityFault InjectionFailure Prediction
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%.
| Year | Citations | |
|---|---|---|
Page 1
Page 1