[发明专利]用于改进处理器中直接跳转的方法及系统有效
申请号: | 201310756486.7 | 申请日: | 2013-12-31 |
公开(公告)号: | CN103744642B | 公开(公告)日: | 2017-01-18 |
发明(设计)人: | 王勇;王忠海;肖佐楠;郑茳 | 申请(专利权)人: | 天津国芯科技有限公司 |
主分类号: | G06F9/38 | 分类号: | G06F9/38 |
代理公司: | 天津滨海科纬知识产权代理有限公司12211 | 代理人: | 杨慧玲 |
地址: | 300457 天津市滨海新区经济技术*** | 国省代码: | 天津;12 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 改进 处理器 直接 跳转 方法 系统 | ||
技术领域
本发明创造涉及数据处理技术领域,特别涉及改进处理器直接跳转的方法及系统。
背景技术
目前,分支预测技术在开发处理器中起到重要作用,但是不在分支预测记录历史中的绝对跳转指令,分支预测不会起到作用。在跳转到目的地址执行之前,取指单元会顺序取指令,为了程序正常执行,控制单元需要清空流水线,增加直接跳转的时钟开销,降低处理器的性能。
当今处理器频率越来越高,处理器流水线级数越来越读多,控制单元清空流水线对处理器性能的影响越来越大。
分支预测技术需要用存储单元保存跳转历史信息,应用程序的越复杂,需要保存跳转历史信息的存储单元越多,处理器面积越大。存储单元存在替换机制保证所有跳转程序都可以分支预测,程序越复杂,替换越频繁,分支预测失败的几率就越大,导致处理器性能降低。
目前,在一定的优化选项下,在子函数复杂程序一定的情况下,编译器在指令调度时可以将函数内联到调用它的函数中,以减少跳转,提高性能。但是大部分子函数很难内联到调用它的函数中。
发明内容
本发明创造要解决的问题是不在分支预测记录的绝对跳转指令需要清空流水线,时钟开销较大的问题
为解决上述技术问题,本发明创造采用的技术方案是:一种用于改进处理器中直接跳转的方法,所述的方法包括如下步骤:
发现不在分支预测记录中的跳转指令;
处理器顺序执行跳转命令下的指令;
执行绝对跳转指令,从目的地址中取指。
进一步的,所述的方法还包括:
不将此绝对跳转指令保存在分支预测记录中。
进一步的,所述的处理器顺序执行跳转命令下的指令为处理器中已取指令。
进一步的,所述的方法还包括如下步骤:
处理器内链接寄存器保存绝对跳转指令下面指令的地址。
进一步的,所述的方法还包括如下步骤:
根据依赖指令与绝对跳转指令的位置关系和依赖指令运算所需周期数,计算出要将绝对跳转目的地址中指令调度到绝对跳转指令后面的条数。
进一步的,所述的调度到绝对指令后面的条数采用如下方法计算:
其中I为调度到绝对指令后面的条数,N为计算出依赖寄存器所需周期个数,M为依赖指令在绝对跳转指令前的条数,K为处理器已预读的指令条数。
进一步的,所述的方法还包括如下步骤:
如果跳转目的地址中可调度指令数量少于绝对跳转指令后面的指令个数,剩余的指令用“空指令”填充。
根据本发明的另一方面,还提供了一种用于改进处理器中直接跳转的系统,包括:
用于解析绝对跳转指令的译码单元;
用于通知取值单元继续顺序取值的控制单元;
用于判别跳转指令是否在分支预测单元的分支预测判别单元;
用于将绝对跳转命令设置于另一流水线的流水线设置单元;
用于直接跳转优化的编译器。
本发明创造具有的优点和积极效果是:对于不在分支预测记录的绝对跳转指令无需清空流水线,减小时钟开销;同时会减少分支预测失败的几率。
附图说明
图1是本发明中一个实例中处理器直接跳转流程图
图2是本发明中一个实例中处理器流水线架构图
图3是本发明中一个实例带有绝对跳转指令的汇编程序
图4是本发明中图3实例原始编译器编译结果和本编译器编译器结果
图5是本发明中另一个实例带有连接寄存器的绝对跳转指令,原始编译器编译结果和本编译器编译器结果
具体实施方式
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于天津国芯科技有限公司,未经天津国芯科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310756486.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:DSP工程的高效运行方法及系统
- 下一篇:一种多终端组合显示方法