[发明专利]一种CPU指令处理方法和处理器有效
申请号: | 201310213735.8 | 申请日: | 2013-05-31 |
公开(公告)号: | CN104216681B | 公开(公告)日: | 2018-02-13 |
发明(设计)人: | 张立新;张柳航;侯锐;姜志颖 | 申请(专利权)人: | 华为技术有限公司;中国科学院计算技术研究所 |
主分类号: | G06F9/30 | 分类号: | G06F9/30 |
代理公司: | 北京中博世达专利商标代理有限公司11274 | 代理人: | 申健 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 cpu 指令 处理 方法 处理器 | ||
1.一种CPU指令处理方法,其特征在于,所述方法包括:
判断第一指令的结果是否只被所述第一指令之后的第二指令使用一次,若所述第一指令的结果只被所述第一指令之后的第二指令使用一次,则对所述第一指令和所述第二指令进行特殊标识;
若识别出所述第一指令和所述第二指令具有特殊标识,则对所述第一指令的结果所在的寄存器不进行重命名操作,并将所述第一指令的结果不写回寄存器堆;
若所述第一指令和所述第二指令为连续的两条指令,则将所述第一指令的结果通过前递通路直接传递给所述第二指令,作为所述第二指令的源操作数;若所述第一指令和所述第二指令为不连续的两条指令,则在所述第一指令执行后,将所述第一指令的结果缓存在功能单元中,当所述第二指令执行时,将所述第一指令的结果传递给所述第二指令,作为所述第二指令的源操作数;
当所述第一指令和第二指令执行完成后,将所述第一指令和所述第二指令同时提交;
当所述第一指令和/或第二指令执行出现异常时,将所述第一指令和所述第二指令重新执行。
2.根据权利要求1所述的方法,其特征在于,所述判断第一指令的结果是否只被所述第一指令之后的第二指令使用一次包括:
若第一寄存器作为所述第一指令的结果的存放寄存器,同时只作为所述第二指令的源操作数,则确定所述第一指令的结果只被所述第一指令之后的第二指令使用一次。
3.根据权利要求2所述的方法,其特征在于,所述对所述第一指令和所述第二指令进行特殊标识包括:
将所述第一寄存器替换为特殊寄存器,用于对所述第一指令和所述第二指令做特殊关系标记。
4.根据权利要求1所述的方法,其特征在于,所述对所述第一指令和所述第二指令进行特殊标识包括:
在所述第一指令以及所述第二指令后添加特殊比特位,用于标记所述第一指令和所述第二指令的关系。
5.根据权利要求1所述方法,其特征在于,所述方法还包括:
在所述第一指令执行完成后要通知重排序缓冲器,以便将所述第一指令按照所述重排序缓冲器中的排序规则进行提交;
在所述第二指令执行完成后要将所述第二指令的结果写回寄存器堆,并通知重排序缓冲器,以便将所述第二指令按照所述重排序缓冲器中的排序规则进行提交。
6.一种处理器,其特征在于,包括:
判决单元,用于判断第一指令的结果是否只被所述第一指令之后的第二指令使用一次;
标识单元,用于若所述第一指令的结果只被所述第一指令之后的第二指令使用一次,则对所述第一指令和所述第二指令进行特殊标识;
重命名单元,用于若识别出所述第一指令和所述第二指令具有特殊标识,则对所述第一指令的结果所在的寄存器在重命名阶段不进行重命名操作;
执行单元,用于若识别出所述第一指令和所述第二指令具有特殊标识,则将所述第一指令的结果不写回寄存器堆;并执行第一指令和第二指令;
发射单元,用于将所述第一指令和第二指令发射到功能单元中进行运算,使第一指令先于第二指令执行,并将第一指令的结果传递给所述第二指令,作为所述第二指令的源操作数;
所述发射单元具体用于:若所述第一指令和所述第二指令为连续的两条指令,则将所述第一指令的结果通过前递通路直接传递给所述第二指令,作为所述第二指令的源操作数;若所述第一指令和所述第二指令为不连续的两条指令,则在所述第一指令执行后,将所述第一指令的结果缓存在所述功能单元中,当所述第二指令执行时,将所述第一指令的结果传递给所述第二指令,作为所述第二指令的源操作数;
所述处理器还包括:
提交单元,用于当所述第一指令和第二指令执行完成后,将所述第一指令和所述第二指令同时提交;
异常处理单元,用于当所述第一指令和/或第二指令执行出现异常时,将所述第一指令和所述第二指令重新执行。
7.根据权利要求6所述处理器,其特征在于,识别第一寄存器作为所述第一指令的结果的存放寄存器,同时只作为所述第二指令的源操作数时,所述标识单元用于对所述第一指令和第二指令进行特殊标识。
8.根据权利要求7所述处理器,其特征在于,所述标识单元具体用于:
将所述第一寄存器替换为特殊寄存器,用于对所述第一指令和所述第二指令做特殊关系标记。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司;中国科学院计算技术研究所,未经华为技术有限公司;中国科学院计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310213735.8/1.html,转载请声明来源钻瓜专利网。
- 上一篇:导航仪的界面设置方法及装置
- 下一篇:用于跨远程复制关系的卷布置的方法和系统