[发明专利]一种用于低功耗处理器的加快条件跳转执行的装置有效
申请号: | 201410584307.0 | 申请日: | 2014-10-27 |
公开(公告)号: | CN104331268A | 公开(公告)日: | 2015-02-04 |
发明(设计)人: | 江鹏;王晓峰;张文蒙 | 申请(专利权)人: | 杭州中天微系统有限公司 |
主分类号: | G06F9/30 | 分类号: | G06F9/30;G06F9/302;G06F9/305 |
代理公司: | 杭州斯可睿专利事务所有限公司 33241 | 代理人: | 王利强 |
地址: | 310012 浙江省杭州*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 用于 功耗 处理器 加快 条件 跳转 执行 装置 | ||
技术领域
本发明涉及一种低功耗处理器,尤其是一种在硬件资源要求不高的情形下加快条件跳转执行速度的装置。
背景技术
当前对于嵌入式处理器来说,都是采用流水线的方式来进行数据的运算。经典的五级流水线分为取指级、译码级、执行级、内存访问级和写回级,对于条件跳转执行而言,如果条件跳转有效,需要改变程序执行流,因此为了提高取指效率,一般条件跳转就需要在取指级就进行判断,这样可以减少流水线空泡。而对于程序流来说,存在一种情况是条件跳转指令判定跳转的条件需要上一条指令在执行级运算后的结果,因此需要将后一级的结果直通给取指级进行运算。
对于低功耗处理器来说,由于对功耗的要求比对性能的要求高,因此流水线比较简单。对于一个三级流水线的处理器来说,如果只有取指级、执行级和回写级,那么需要在取指级进行跳转指令的判定。一种处理方式是直接采用静态预测,预测总是跳或者不跳,到执行级来确认预测正确与否。这种机制虽然简单,但是预测准确率低,对性能损失太多,现在的嵌入式处理器一般都不采用这种方式。还有一种方式就是采用直通的方式,从执行级取回C标志位进行取指级跳转指令的判定。但是存在一种情形是如果执行级处理的指令操作数仍旧需要从片外读回一个值,然后从写回级直通回执行级用于算术运算,算数运算完成后的C标志位再直通给取指级进行条件跳转的判定,如果需要跳转,那么需要再向片外发起新的取指令请求,那么整条运算路径将会过长,这条路径将会是处理器的关键路径,严重影响处理器的工作频率。
为了克服已有的低功耗处理器对条件跳转处理机制的不足,在硬件资源要求提高不多的情形下,本发明提供了一种用于低功耗处理器的加快条件跳转执行的装置。
发明内容
为了克服已有技术低功耗处理器在条件跳转处理方式的执行速度较慢、影响处理器性能的不足,本发明提供了一种有效加快执行速度、提升处理器性能的用于低功耗处理器的加快条件跳转执行的装置。
本发明解决其技术问题所采用的技术方案是:
一种用于低功耗处理器的加快条件跳转执行的装置,所述装置包括:
流水线逻辑控制模块,用于处理器在执行条件跳转指令时对操作数准备模块,条件跳转执行模块,算术逻辑运算模块,C标志位专用运算模块,C标志位寄存器,C标志位选择模块和寄存器组读写控制模块的控制及数据的处理,感知处理器所处状态并对指令流进行译码,将译码后信息输出给操作数准备模块和C标志位选择模块,最后根据C标志位选择模块输出的C标志位无效信息堵塞流水线;
操作数准备模块,用于接受流水线逻辑控制模块的控制,通过流水线逻辑控制模块输入的指令流译码信息,相应地提供给算术逻辑运算模块和C标志位专用运算模块所需的操作数;
条件跳转执行模块,用于接受流水线逻辑控制模块的控制,从C标志位选择模块中得到所需的C标志位数据,并根据不同指令类型判定是否需要跳转,最终完成条件跳转指令的执行;
算术逻辑运算模块,用于接受流水线逻辑控制模块的控制,从操作数准备逻辑模块中得到所需的运算操作数,针对所有的算数运算、逻辑运算等运算进行操作并得到操作结果,所述操作结果包括C标志位结果,然后输出给寄存器组读写控制模块和C标志位寄存器,用于寄存器的回写;
C标志位专用运算模块,用于接受流水线逻辑控制模块的控制,该模块仅仅实现结果中包含C标志位的指令所对应的执行逻辑,从操作数准备逻辑模块中得到所需的运算操作数,只用于计算C标志位,并将所得的C标志位直通给C标志位选择模块;
C标志位寄存器,用于接受流水线逻辑控制模块的控制,存储算数逻辑运算模块中计算得到的C标志位结果,并将该C标志位寄存器的值直通给C标志位选择模块;
C标志位选择模块,用于接受流水线逻辑控制模块的控制,根据流水线逻辑控制模块中得到的指令流信息,从C标志位专用运算模块或者C标志位寄存器中选通一路,将选通的C标志位提供给条件跳转执行模块;
寄存器组读写控制模块,用于接受流水线逻辑控制模块的控制,控制除C标志位外的指令运算结果的回写,并根据算术逻辑运算模块的请求读出相应的寄存器数据。
进一步,所述流水线逻辑控制模块中,实时监测流水线状态,根据条件跳转指令所处的指令流,向C标志位选择模块输出不同的指令流信息,该指令流信息分为三种情形:
情形一为当前跳转指令和之前的指令没有数据相关性;
情形二为当前跳转指令和之前指令存在数据相关性,而且C标志位的运算操作数不来自片外的内存读取结果;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州中天微系统有限公司,未经杭州中天微系统有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410584307.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:用于CFD的并行计算方法及系统
- 下一篇:一种语音输入方法、装置及终端