发明名称 |
一种使用陷阱指令优化条件转移代码性能的方法及其系统 |
摘要 |
本发明有关于一种使用陷阱指令优化条件转移代码性能的方法及其系统,其中该方法包括:步骤1,收集程序的轮廓信息,根据轮廓信息获取符合条件的分支指令;步骤2,将符合条件的分支指令转换成陷阱指令,并将陷阱指令的地址及其陷入地址记入陷阱转移表中;步骤3,生成记入有陷阱指令和陷阱转移表的汇编文件,并根据汇编文件生成程序可执行文件;步骤4,解析程序可执行文件,获取陷阱指令的地址与其陷入地址之间的偏移值,并将偏移值记录到陷阱指令的偏移域中;步骤5,运行记入偏移值后的程序可执行文件,当陷阱指令发生陷入时,对陷入进行响应。采用本发明的方法能够减少分支指令的处理时间,提高处理器流水线的吞吐率,获得性能提高。 |
申请公布号 |
CN101944041B |
申请公布日期 |
2012.10.10 |
申请号 |
CN201010292061.1 |
申请日期 |
2010.09.26 |
申请人 |
中国科学院计算技术研究所 |
发明人 |
周舒畅;黄磊;吕方 |
分类号 |
G06F9/45(2006.01)I |
主分类号 |
G06F9/45(2006.01)I |
代理机构 |
北京律诚同业知识产权代理有限公司 11006 |
代理人 |
祁建国;梁挥 |
主权项 |
一种使用陷阱指令优化条件转移代码性能的方法,其特征在于,包括:步骤1,收集程序的轮廓信息,根据所述轮廓信息获取符合条件的分支指令;步骤2,将所述符合条件的分支指令转换成陷阱指令,并将所述陷阱指令的地址及其陷入地址记入在陷阱转移表中;步骤3,生成记入有所述陷阱指令和所述陷阱转移表的汇编文件,并根据所述汇编文件生成程序可执行文件;步骤4,解析所述程序可执行文件,获取所述陷阱指令的地址与其陷入地址之间的偏移值,并将所述偏移值记入所述程序可执行文件中的所述陷阱指令的偏移域中;步骤5,运行偏移值记入后的所述程序可执行文件,当所述陷阱指令发生陷入时,根据所述偏移值或所述陷阱转移表对陷入进行响应;所述步骤1中,所述轮廓信息包括所述程序的基本块代码的执行频度和所述分支指令对其两个转移目标的转移概率。 |
地址 |
100080 北京市海淀区中关村科学院南路6号 |