[发明专利]一种指令执行方法以及顺序处理器有效
申请号: | 201410239150.8 | 申请日: | 2014-05-30 |
公开(公告)号: | CN105446700B | 公开(公告)日: | 2018-01-02 |
发明(设计)人: | 张立新;苏东锋;陈凯;柴琳 | 申请(专利权)人: | 华为技术有限公司;中国科学院计算技术研究所 |
主分类号: | G06F9/30 | 分类号: | G06F9/30;G06F9/38 |
代理公司: | 深圳市深佳知识产权代理事务所(普通合伙)44285 | 代理人: | 王仲凯 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 指令 执行 方法 以及 顺序 处理器 | ||
技术领域
本发明涉及指令处理领域,尤其涉及一种指令执行方法以及顺序处理器。
背景技术
目前的商业处理器CPU根据指令调度方法的不同一般分为两大类:顺序执行和乱序执行。
在顺序执行的处理器中,一条流水线在一个执行周期中有固定的可执行拍数,每个指令有一定的执行拍数,为了使指令顺序提交,处理器设计人员通常在设计时,会为执行拍数较少的指令在其对应流水线中增加空拍(delay stage),从而使得这些执行拍数少的指令与执行拍数长的指令的流水线有相同的级数,达到顺序提交的目的。
但是,在流水线中增加空拍,一条流水线在一个执行周期中只有执行指令的拍数被有效利用了,而增加的空拍在处理器执行时会被浪费掉,此时处理器没有对有效的指令进行处理而空闲下来,这样便降低了处理器的性能。
发明内容
本发明实施例提供了一种指令执行方法以及顺序处理器,用于在顺序处理器中组合指令,减少空拍,更大程度的发挥处理器性能。
本发明实施例第一方面提供了一种指令执行方法,包括:
当顺序处理器的一条流水线内有预置数目个串行在一起的功能单元时,所述顺序处理器确定所述预置数目为每个指令组合的最大执行拍数;
所述顺序处理器按照指令顺序依次将多条指令融合成指令组合,其中,所述多条指令的执行拍数之和不大于所述最大执行拍数;
所述顺序处理器依次发射融合出的各指令组合,顺序执行所述各指令组合中的指令。
结合本发明实施例的第一方面,本发明实施例第一方面的第一种实现方式中,所述顺序处理器按照指令顺序依次将多条指令融合成指令组合,其中,所述多条指令的执行拍数之和不大于所述最大执行拍数具体包括:
所述顺序处理器依次读取所述指令顺序中下一条指令作为待融合指令,对所述待融合指令执行如下操作:
所述顺序处理器判断所述待融合指令的执行拍数是否不大于当前指令组合的剩余拍数,所述当前指令组合为当前正在融合指令的指令组合,所述剩余拍数为所述最大执行拍数与组合拍数的差值,所述组合拍数为加入所述当前指令组合中所有指令的执行拍数之和;
若大于所述剩余拍数,则更新所述当前指令组合并触发所述顺序处理器判断所述待融合指令的执行拍数是否不大于当前指令组合的剩余拍数的步骤;其中,更新当前指令组合包括结束并保存当前指令组合,新建下一个指令组合作为更新后的当前指令组合;
若不大于所述剩余拍数,则将所述待融合指令加入所述当前指令组合,触发所述顺序处理器依次读取所述指令顺序中下一条指令作为待融合指令的步骤。
结合本发明实施例第一方面的第一种实现方式,本发明实施例第一方面的第二种实现方式中,所述若大于所述剩余拍数,则更新所述当前指令组合并触发所述顺序处理器判断所述待融合指令的执行拍数是否不大于当前指令组合的剩余拍数具体包括:
若大于所述剩余拍数,则更新所述当前指令组合,判断所述待融合指令的执行拍数是否大于所述最大执行拍数;
若大于所述最大执行拍数,则将所述待融合指令单独加入更新后的当前指令组合,再次更新所述更新后的当前指令组合,触发所述顺序处理器依次读取所述指令顺序中下一条指令作为待融合指令的步骤;
若不大于所述最大执行拍数,则触发所述顺序处理器判断所述待融合指令的执行拍数是否不大于当前指令组合的剩余拍数的步骤。
结合本发明实施例第一方面的第一种实现方式或第二种实现方式,本发明实施例第一方面的第三种实现方式中,若不大于所述剩余拍数,则将所述待融合指令加入所述当前指令组合,触发所述顺序处理器依次读取所述指令顺序中下一条指令作为待融合指令的步骤具体包括:
若不大于所述剩余拍数,则判断所述待融合指令是否为第一特殊指令或第二特殊指令,所述第一特殊指令为必须单独成组的指令,所述第二特殊指令为不须单独成组但必须放在一个指令组合的最后一条的指令;
若所述待融合指令为第一特殊指令,则更新所述当前指令组合,将所述待融合指令单独加入更新后的当前指令组合,再次更新所述更新后的当前指令组合,触发所述顺序处理器依次读取所述指令顺序中下一条指令作为待融合指令的步骤;
若所述待融合指令为第二特殊指令,则将所述待融合指令加入所述当前指令组合再更新所述当前指令组合,触发所述顺序处理器依次读取所述指令顺序中下一条指令作为待融合指令的步骤;
若所述待融合指令不为第一特殊指令且不为第二特殊指令,则将所述待融合指令加入所述当前指令组合后直接触发所述顺序处理器依次读取所述指令顺序中下一条指令作为待融合指令的步骤。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司;中国科学院计算技术研究所,未经华为技术有限公司;中国科学院计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410239150.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种信息处理方法及电子设备
- 下一篇:一种FIFO存储器控制方法