发明名称 一种实现值关联间接跳转预测的方法
摘要 本发明披露了一种实现值关联间接跳转预测的方法,涉及编译器和处理器,该方法包括:编译器对处理器执行可执行程序的过程进行剖视,并获取剖视信息;编译器根据该剖视信息通过再次编译过程识别源程序中间接跳转指令对应的子程序结构及其关联数据值,并在源程序中插入用以标识关联数据值的引导指令,再次生成可执行程序。处理器在执行编译器再次生成的可执行程序过程中,根据引导指令动态收集所述关联数据值,并对难预测指令进行预测。本发明有效地提高了间接跳转指令的预测准确率,提高了处理器及其应用整体的系统性能。
申请公布号 CN102156634B 申请公布日期 2013.05.01
申请号 CN201110099440.3 申请日期 2011.04.20
申请人 北京北大众志微系统科技有限责任公司 发明人 程旭;谭明星;刘先华;张吉豫;佟冬
分类号 G06F9/38(2006.01)I 主分类号 G06F9/38(2006.01)I
代理机构 北京安信方达知识产权代理有限公司 11262 代理人 栗若木;王漪
主权项 一种实现值关联间接跳转预测的方法,涉及编译器和处理器,该方法包括:编译器对处理器执行可执行程序的过程进行剖视,并获取剖视信息,所述剖视信息包括间接跳转指令的执行次数、动态跳转目标数量以及目标地址预测失效次数中的一种或多种;编译器根据所述剖视信息通过再次编译过程识别源程序中间接跳转指令对应的子程序结构及其关联数据值,所述识别具体包括:选取执行次数多于次数阈值和预测失效率高于失效率阈值的所述间接跳转指令为难预测指令;将所述难预测指令对应的子程序结构和所述子程序结构中相应的参数值识别为所述间接跳转指令的子程序结构和所述关联数据值;通过对所述源程序过程间的控制流进行分析,在所述控制流的路径上显式地插入用以标识所述关联数据值的引导指令,然后再次生成可执行程序;所述引导指令中携带的信息包括:用于指示所述引导指令与所述难预测指令之间的距离值,用于标识对应于所述难预测指令的所述关联数据值相应的寄存器编号。
地址 100080 北京市海淀区中关村北大街151号资源大厦11层