[发明专利]实现零开销循环的处理器有效
申请号: | 201810311679.4 | 申请日: | 2018-04-09 |
公开(公告)号: | CN108595210B | 公开(公告)日: | 2021-12-10 |
发明(设计)人: | 江滔;郭宇波;王满州;魏定彦 | 申请(专利权)人: | 杭州中天微系统有限公司 |
主分类号: | G06F9/30 | 分类号: | G06F9/30;G06F9/32 |
代理公司: | 北京成创同维知识产权代理有限公司 11449 | 代理人: | 李秀霞 |
地址: | 310012 浙江省杭州市*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 实现 开销 循环 处理器 | ||
本发明提供一种实现零开销循环的处理器,所述处理器包括指令流控制模块和循环控制模块,其中,所述循环控制模块包括循环地址检测单元和结束循环判断单元。本发明通过指令与硬件相结合的方式消除每次循环所需要的额外控制指令,能够实现零开销的循环加速,以提高循环的执行效率。
技术领域
本发明涉及计算机技术领域,尤其涉及一种实现零开销循环的处理器。
背景技术
在现有技术中经常需要利用处理器处理带有循环的计算机程序,具体的处理方式是使用通用寄存器记录循环次数,在每次循环后使用减法指令对通用寄存器进行减一操作,并判断循环次数是否已达到所需次数,如果仍需要循环,则使用跳转指令返回循环体的开端。但是这样的操作通常会在循环体中额外增加多条指令,从而影响循环的执行效率,而且这样的处理方式特别在短循环场景和性能要求较高的应用场景中有非常不利的影响。
发明内容
本发明提供的实现零开销循环的处理器,通过指令与硬件相结合的方式消除每次循环所需要的额外控制指令,能够实现零开销的循环加速,以提高循环的执行效率。
本发明提供一种实现零开销循环的处理器,所述处理器包括指令流控制模块和循环控制模块,其中,所述循环控制模块包括循环地址检测单元和结束循环判断单元;
所述循环控制模块,用于根据循环控制信号初始化循环起始地址、循环终止地址和循环退出条件;
所述循环地址检测单元,用于检测内部取指地址是否在循环体地址范围内,当所述内部取指地址与循环终止地址相等时发送结束循环判断请求至所述结束循环判断单元;
所述结束循环判断单元,用于判断当前循环执行情况是否满足循环退出条件,如果当前循环执行情况不满足循环退出条件,则发送循环起始地址和选择控制信号至所述指令流控制模块,并更新所述内部取指地址为循环起始地址,否则更新所述内部取指地址为循环加速指令地址;
所述指令流控制模块,用于维护取指地址,并向外部存储器发送下一次取指请求的取指地址,当不需要循环跳转时根据当前取指请求的取指地址对下一次取指请求的取指地址进行维护,当需要进行循环跳转时根据所述选择控制信号选择使用所述循环起始地址对下一次取指请求的取指地址进行维护。
本发明实施例提供的处理循环指令的处理器,与现有技术相比,本发明通过指令与硬件相结合的方式消除每次循环所需要的额外控制指令,能够实现零开销的循环加速,以提高循环的执行效率。
附图说明
图1为本发明一实施例实现零开销循环的处理器的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供一种实现零开销循环的处理器,如图1所示,所述处理器包括指令流控制模块和循环控制模块,其中,所述循环控制模块包括循环地址检测单元和结束循环判断单元;
所述循环控制模块,用于根据循环控制信号初始化循环起始地址、循环终止地址和循环退出条件;
所述循环地址检测单元,用于检测内部取指地址是否在循环体地址范围内,当所述内部取指地址与循环终止地址相等时发送结束循环判断请求至所述结束循环判断单元;
所述结束循环判断单元,用于判断当前循环执行情况是否满足循环退出条件,如果当前循环执行情况不满足循环退出条件,则发送循环起始地址和选择控制信号至所述指令流控制模块,并更新所述内部取指地址为循环起始地址,否则更新所述内部取指地址为循环加速指令地址;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州中天微系统有限公司,未经杭州中天微系统有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810311679.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:数据存储和读取方法、装置、系统及存储介质
- 下一篇:用于输出数据的方法和装置