[发明专利]实现处理器对循环体执行的方法及装置有效
申请号: | 201710972635.1 | 申请日: | 2017-10-18 |
公开(公告)号: | CN107729054B | 公开(公告)日: | 2020-07-24 |
发明(设计)人: | 刘泽权 | 申请(专利权)人: | 珠海市杰理科技股份有限公司 |
主分类号: | G06F9/30 | 分类号: | G06F9/30 |
代理公司: | 广州华进联合专利商标代理有限公司 44224 | 代理人: | 冯右明 |
地址: | 519085 广东省珠海市吉*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 实现 处理器 循环体 执行 方法 装置 | ||
本发明涉及一种实现处理器对循环体执行的方法及装置,其方法包括:检测到进入循环体时,控制所述循环体对应的指令进入处理器对应的指令队列缓存区,并启动预设的循环控制机制,通过所述循环控制机制发出一循环开始信号;根据所述循环开始信号,使所述循环体对应的指令保留在所述指令队列缓存区;将所述指令队列缓存区中当前待执行指令的地址标识为起始地址,处理器从所述起始地址开始,依次执行所述程序块对应的指令;当检测到所述程序块对应的指令全部执行结束时,触发所述循环控制机制发出一循环返回信号。本发明的技术方案,通过设置循环控制机制,使得重复执行程序块时直接从指令缓存区中读取指令,节省了分支开销,加快了循环体的执行效率。
技术领域
本发明涉及处理器体系结构领域,特别是涉及一种实现处理器对循环体执行的方法及装置。
背景技术
现有的处理器体系中,利用流水线技术,以提高处理器执行的效率,但对于流水线来说,分支跳转的发生,会清空流水线,执行程序时需要重新获取新的程序指令,产生了额外的开销,大大影响了流水线的执行效率。
现有技术中,主要是通过分支预测的方法节省分支跳转所产生的开销,但是分支预测硬件机制复杂,预测时需要查询预测表,不仅增加硬件成本,而且在查表过程中也会带来开销,无法完全解决循环体在循环执行过程中产生的开销问题。
发明内容
基于此,有必要针对循环体开销的问题,提出一种实现处理器对循环体执行的方法。
一种实现处理器对循环体执行的方法,包括:
检测到进入循环体时,控制所述循环体对应的指令进入处理器对应的指令队列缓存区,并启动预设的循环控制机制,通过所述循环控制机制发出一循环开始信号;其中,所述循环体包括需重复执行预设次数的程序块;
根据所述循环开始信号冻结所述指令队列缓存区的移位寄存器功能,使所述循环体对应的指令保留在所述指令队列缓存区;
将所述指令队列缓存区中当前待执行指令的地址标识为起始地址,控制所述处理器从所述起始地址开始,依次执行所述程序块对应的指令;
当检测到所述程序块对应的指令全部执行结束时,触发所述循环控制机制发出一循环返回信号;
根据所述循环返回信号控制指针跳转至所述起始地址,返回控制所述处理器从所述起始地址开始,依次执行所述程序块对应的指令的步骤。
一种实现处理器对循环体执行的装置,包括:
循环控制机制启动模块,用于检测到进入循环体时,控制所述循环体对应的指令依次进入处理器对应的指令队列缓存区,并启动预设的循环控制机制,通过所述循环控制机制发出一循环开始信号;其中,所述循环体包括需重复执行预设次数的程序块;
指令保存模块,用于根据所述循环开始信号冻结所述指令队列缓存区的移位寄存器功能,使所述循环体对应的指令保留在所述指令队列缓存区;
指令执行模块,用于将所述指令队列缓存区中当前待执行指令的地址标识为起始地址,控制所述处理器从所述起始地址开始,依次执行所述程序块对应的指令;
返回信号发出模块,用于当检测到所述程序块对应的指令全部执行结束时,触发所述循环控制机制发出一循环返回信号;
指令跳转模块,用于根据所述循环返回信号控制指针跳转至所述起始地址,使得所述指令执行模块再次控制处理器从所述起始地址开始,依次执行所述程序块对应的指令。
上述实现处理器对循环体执行的方法及装置,通过设置循环控制机制,控制指令队列缓冲区中的指令,使得循环体节省分支开销,加快了循环体的执行效率。
一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现所述实现处理器对循环体执行的方法的步骤。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于珠海市杰理科技股份有限公司,未经珠海市杰理科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710972635.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种模拟气垫式滑坡的装置及方法
- 下一篇:一种水溶气运移模拟实验方法