实现零开销循环的处理器制造技术

技术编号:19056344 阅读:25 留言:0更新日期:2018-09-29 12:05
本发明专利技术提供一种实现零开销循环的处理器,所述处理器包括指令流控制模块和循环控制模块,其中,所述循环控制模块包括循环地址检测单元和结束循环判断单元。本发明专利技术通过指令与硬件相结合的方式消除每次循环所需要的额外控制指令,能够实现零开销的循环加速,以提高循环的执行效率。

【技术实现步骤摘要】
实现零开销循环的处理器
本专利技术涉及计算机
,尤其涉及一种实现零开销循环的处理器。
技术介绍
在现有技术中经常需要利用处理器处理带有循环的计算机程序,具体的处理方式是使用通用寄存器记录循环次数,在每次循环后使用减法指令对通用寄存器进行减一操作,并判断循环次数是否已达到所需次数,如果仍需要循环,则使用跳转指令返回循环体的开端。但是这样的操作通常会在循环体中额外增加多条指令,从而影响循环的执行效率,而且这样的处理方式特别在短循环场景和性能要求较高的应用场景中有非常不利的影响。
技术实现思路
本专利技术提供的实现零开销循环的处理器,通过指令与硬件相结合的方式消除每次循环所需要的额外控制指令,能够实现零开销的循环加速,以提高循环的执行效率。本专利技术提供一种实现零开销循环的处理器,所述处理器包括指令流控制模块和循环控制模块,其中,所述循环控制模块包括循环地址检测单元和结束循环判断单元;所述循环控制模块,用于根据循环控制信号初始化循环起始地址、循环终止地址和循环退出条件;所述循环地址检测单元,用于检测内部取指地址是否在循环体地址范围内,当所述内部取指地址与循环终止地址相等时发送结束循环判断请求至所述结束循环判断单元;所述结束循环判断单元,用于判断当前循环执行情况是否满足循环退出条件,如果当前循环执行情况不满足循环退出条件,则发送循环起始地址和选择控制信号至所述指令流控制模块,并更新所述内部取指地址为循环起始地址,否则更新所述内部取指地址为循环加速指令地址;所述指令流控制模块,用于维护取指地址,并向外部存储器发送下一次取指请求的取指地址,当不需要循环跳转时根据当前取指请求的取指地址对下一次取指请求的取指地址进行维护,当需要进行循环跳转时根据所述选择控制信号选择使用所述循环起始地址对下一次取指请求的取指地址进行维护。本专利技术实施例提供的处理循环指令的处理器,与现有技术相比,本专利技术通过指令与硬件相结合的方式消除每次循环所需要的额外控制指令,能够实现零开销的循环加速,以提高循环的执行效率。附图说明图1为本专利技术一实施例实现零开销循环的处理器的结构示意图。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。本专利技术提供一种实现零开销循环的处理器,如图1所示,所述处理器包括指令流控制模块和循环控制模块,其中,所述循环控制模块包括循环地址检测单元和结束循环判断单元;所述循环控制模块,用于根据循环控制信号初始化循环起始地址、循环终止地址和循环退出条件;所述循环地址检测单元,用于检测内部取指地址是否在循环体地址范围内,当所述内部取指地址与循环终止地址相等时发送结束循环判断请求至所述结束循环判断单元;所述结束循环判断单元,用于判断当前循环执行情况是否满足循环退出条件,如果当前循环执行情况不满足循环退出条件,则发送循环起始地址和选择控制信号至所述指令流控制模块,并更新所述内部取指地址为循环起始地址,否则更新所述内部取指地址为循环加速指令地址;所述指令流控制模块,用于维护取指地址,并向外部存储器发送下一次取指请求的取指地址,当不需要循环跳转时根据当前取指请求的取指地址对下一次取指请求的取指地址进行维护,当需要进行循环跳转时根据所述选择控制信号选择使用所述循环起始地址对下一次取指请求的取指地址进行维护。本专利技术实施例提供的处理循环指令的处理器,与现有技术相比,本专利技术通过指令与硬件相结合的方式消除每次循环所需要的额外控制指令,能够实现零开销的循环加速,以提高循环的执行效率。进一步地,如图1所示,所述指令流控制模块包括选择器和程序计数器;其中,所述选择器,用于当接收到所述选择控制信号时选择输出所述循环起始地址给所述程序计数器,否则输出所述当前取指地址给所述程序计数器;所述程序计数器,用于根据所述选择器的选择输出结果获得下一次取指请求的取指地址,向外部存储器发起下一次取指请求。进一步,如图1所示,所述处理器还包括取指单元、执行单元和译码单元。所述取指单元,用于接受外部存储器中发送指令,所述指令包括所述循环加速指令;所述译码单元,用于在循环开始时解析所述循环加速指令,生成循环控制信号和设置标志位控制信号,并发送所述循环控制信号至所述循环控制模块,发送所述设置标志位控制信号至所述执行单元;还用于在循环结束时再次解析所述循环加速指令,生成清除标志位控制信号并发送所述清除标志位控制信号至所述执行单元;所述执行单元,用于在循环开始时执行所述循环加速指令并设置对应标志位以触发循环的开始;还用于在循环结束时再次执行所述循环加速指令并清除标志位以结束循环。本专利技术实施例提供的实现零开销循环的处理器,通过在处理器中增加循环控制模块这一硬件结构,修改了指令流控制模块,并结合循环加速指令来处理带有循环的计算机程序。在整个工作流程中循环加速指令仅需要在循环过程中第一次和最后一次中才会被执行,第一次执行是负责触发循环,控制取指单元跳转至循环体的起始地址,在符合循环退出条件后再执行一次循环加速指令以结束循环,而在循环过程中仅执行循环体内部指令。与现有技术相比,本专利技术能够消除现有技术中的每次循环所需的额外控制指令,实现了零开销的循环跳转,并减少对外部存储器的访问次数,从而能够提高循环程序的执行效率,降低系统功耗。可选地,所述循环加速指令用于指定循环起始地址、循环终止地址和循环退出条件。可选地,所述循环控制信号包括循环起始地址、循环终止地址和循环退出条件。其中,所述循环退出条件为剩余循环次数为零、外部中断或者调试。当所述循环退出条件为剩余循环次数为零时,所述循环加速指令还用于指定循环次数。下面说明本专利技术实现零开销循环的处理器的工作流程,这里,循环加速指令指定了循环起始地址、循环终止地址、循环次数和循环退出条件,其中,所述循环退出条件为剩余循环次数为0,具体工作流程如下:如未进入循环,选择器选择取指单元的内部取指地址输出给程序计数器。译码单元在循环开始时解析所述循环加速指令,生成循环控制信号并发送所述循环控制信号至所述循环控制模块,生成设置标志位控制信号并发送所述设置标志位控制信号至所述执行单元。所述循环控制模块,用于根据循环控制信号初始化循环起始地址、循环终止地址和循环退出条件。执行单元执行上述循环加速指令并设置对应标志位以触发循环,同时触发使用循环起始地址更新内部取指地址。所述选择器选择所述取指单元的内部取指地址,所述取指单元顺序获得循环体内的指令。所述循环地址检测单元检测所述内部取指地址是否在循环体地址范围内,当所述内部取指地址与循环终止地址相等时发送判断请求至所述结束循环判断单元。结束循环判断单元将当前循环执行情况与循环退出条件进行比较,同时,结束循环判断单元还负责维护循环执行情况,例如,维护内部循环计数器,将剩余循环次数减一。具体为:如果结束循环判断单元判断剩余循环次数大于0,则判断循环能够继续执行,此时发送循环起始地址和选择控制信号至所述选择器,并触发所述取指单元使用循环起始地址更新内部取指地址。这样,程本文档来自技高网...

【技术保护点】
1.一种实现零开销循环的处理器,其特征在于,所述处理器包括指令流控制模块和循环控制模块,其中,所述循环控制模块包括循环地址检测单元和结束循环判断单元;所述循环控制模块,用于根据循环控制信号初始化循环起始地址、循环终止地址和循环退出条件;所述循环地址检测单元,用于检测内部取指地址是否在循环体地址范围内,当所述内部取指地址与循环终止地址相等时发送结束循环判断请求至所述结束循环判断单元;所述结束循环判断单元,用于判断当前循环执行情况是否满足循环退出条件,如果当前循环执行情况不满足循环退出条件,则发送循环起始地址和选择控制信号至所述指令流控制模块,并更新所述内部取指地址为循环起始地址,否则更新所述内部取指地址为循环加速指令地址;所述指令流控制模块,用于维护取指地址,并向外部存储器发送下一次取指请求的取指地址,当不需要循环跳转时根据当前取指请求的取指地址对下一次取指请求的取指地址进行维护,当需要进行循环跳转时根据所述选择控制信号选择使用所述循环起始地址对下一次取指请求的取指地址进行维护。

【技术特征摘要】
1.一种实现零开销循环的处理器,其特征在于,所述处理器包括指令流控制模块和循环控制模块,其中,所述循环控制模块包括循环地址检测单元和结束循环判断单元;所述循环控制模块,用于根据循环控制信号初始化循环起始地址、循环终止地址和循环退出条件;所述循环地址检测单元,用于检测内部取指地址是否在循环体地址范围内,当所述内部取指地址与循环终止地址相等时发送结束循环判断请求至所述结束循环判断单元;所述结束循环判断单元,用于判断当前循环执行情况是否满足循环退出条件,如果当前循环执行情况不满足循环退出条件,则发送循环起始地址和选择控制信号至所述指令流控制模块,并更新所述内部取指地址为循环起始地址,否则更新所述内部取指地址为循环加速指令地址;所述指令流控制模块,用于维护取指地址,并向外部存储器发送下一次取指请求的取指地址,当不需要循环跳转时根据当前取指请求的取指地址对下一次取指请求的取指地址进行维护,当需要进行循环跳转时根据所述选择控制信号选择使用所述循环起始地址对下一次取指请求的取指地址进行维护。2.根据权利要求1所述的处理器,其特征在于,所述指令流控制模块包括选择器和程序计数器;其中,所述选择器,用于当接收到所述选择控制信号时选择输出所述循环起始地址给所述程序计数器,否则输出所述当前取指地址给所述程序计数器;所述程序计数器,...

【专利技术属性】
技术研发人员:江滔郭宇波王满洲魏定彦
申请(专利权)人:杭州中天微系统有限公司
类型:发明
国别省市:浙江,33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1