本文探讨了现代处理器如何使用分支预测器(如返回地址堆栈RAS)来提高性能。作者通过一系列微基准测试,测量了不同英特尔和AMD处理器微架构中RAS的行为,证实了返回预测比将函数返回视为间接分支更准确。文章还测试了RAS容量以及流水线刷新后的行为,发现某些微架构在返回预测错误后会出现RAS堆栈指针错误,并分析了AMD Bulldozer架构中存在的性能缺陷。此外,文章还探讨了推测执行对RAS的影响,以及英特尔处理器中推测分支和调用的最大数量限制。