摘要
当前,大多数高性能微处理器都使用返回地址栈为返回指令提供预测目标地址。而要想获得高的返回地址预测精度,在发生分支误预测后对返回地址栈进行修复是必不可少的。本文首先分析了三种常见的返回地址栈修复机制,提出了一种新的返回地址栈修复机制——后备栈,并详细描述了后备栈机制的逻辑实现和工作原理。最后,本文把后备栈机制和其他三种常见的修复机制进行了比较。在不发生返回地址栈溢出时,使用后备栈机制能够获得100%的返回地址预测精度。
In most current high-performance microprocessors, the predicted target addresses of procedure returns are provided by a return-address stack (RAS). In order to achieve higher prediction accuracy, it is necessary to repair the return-address-stack after branch mispredictions. First, three kinds of return-address stack repair mechanisms used widely are analyzed, a novel retura-address stack repair technique called backup stack is proposed, and its implementation is detailed. At last, the backup stack repair mechanism is compared with other three ones and a conclusion is drawn. With the backup stack technique used to repair the return-address stack, a 100% retura-address prediction accuracy can be achieved unless overflow appears.
出处
《计算机工程与科学》
CSCD
2006年第6期115-117,134,共4页
Computer Engineering & Science
基金
国家863计划资助项目(2002AA110020)
国家自然科学基金资助项目(60376018)
关键词
返回地址栈
返回地址栈修复机制
后备栈
分支预测
return-address stack
return-address stack repair mechanism
backup stack
branch prediction
作者简介
孙彩霞(1979),女,黑龙江大庆人,博士生,研究方向为高性能计算机系统结构和VLSI设计,通讯地址:410073 湖南省长沙市国防科技大学计算机学院610教研室; Tel:13786143650; E-mail:cxsun1979@163.com;
唐宏伟,研究方向为高性能计算机系统结构和系统软件;
张民选,教授,博士生导师,研究方向为高性能计算机系统结构、微处理器设计及ASIC技术.