[发明专利]一种指令处理的方法及装置有效
申请号: | 201310449617.7 | 申请日: | 2013-09-27 |
公开(公告)号: | CN104516726B | 公开(公告)日: | 2018-08-07 |
发明(设计)人: | 刘华平 | 申请(专利权)人: | 联想(北京)有限公司 |
主分类号: | G06F9/30 | 分类号: | G06F9/30;G06F17/30 |
代理公司: | 北京中博世达专利商标代理有限公司 11274 | 代理人: | 申健 |
地址: | 100085 北京市海淀区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 指令 处理 方法 装置 | ||
本发明实施例公开了一种指令处理的方法及装置,涉及计算机领域,解决了指令处理中,处理器处理性能低,功耗大的问题。具体方案为:获取输入指令并读取指令内容,当所述指令包含第一操作指令时,查找所述第一操作指令的目标对象和源对象,将所述目标对象所对应的物理寄存器标识修改为源对象所对应的物理寄存器标识。本发明用于处理器指令处理。
技术领域
本发明涉及计算机领域,尤其涉及一种指令处理的方法及装置。
背景技术
在高性能的处理器设计中,性能和功耗是最重要的指标之一。现有的高性能处理器都采用乱序执行的流水线设计,所有的基本指令基本上都可以分为取指,译码,重命名,发射,执行,结果返回等步骤
在执行指令的过程中,有一个指令:寄存器间的MOV(传送指令,用于把一个字节、字或双字的操作数从源位置传送到目的位置,源操作数的内容不变)指令。在很多程序中,寄存器间的MOV指令占了比较多的比例,在高性能处理器中,用处理器架构指令集编译后的程序中,有大约6%的指令是寄存器间的MOV指令。
现有技术对于寄存器间的MOV指令进行取指,译码,接着寄存器间的MOV指令在重命名阶段需要检查物理寄存器空闲列表中是否有空闲的寄存器,如果有则把其中一个空闲的物理寄存器分配给当前指令,即该指令对应的架构寄存器项的内容修改为该物理寄存器。然后在执行发射,执行,结果返回等步骤。
在实现上述执行指令的过程中,发明人发现现有技术中至少存在如下问题:
寄存器间的MOV指令的执行要经过取指,译码,重命名,发射,执行,结果返回等步骤。由于执行步骤较多,所以会造成处理器处理性能低,功耗大的问题。
发明内容
本发明的实施例提供一种指令处理的方法及装置,能够提高处理器的性能,并减小处理器的功耗。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,提供一种指令处理的方法,包括如下步骤:
获取输入指令并读取指令内容;
当所述指令包含第一操作指令时,查找所述第一操作指令的目标对象和源对象;
将所述目标对象所对应的物理寄存器标识修改为源对象所对应的物理寄存器标识。
结合第一方面,在第一种可能的实现方式中,所述第一操作指令为寄存器间的MOV指令。
结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述将所述目标对象所对应的物理寄存器标识修改为源对象所对应的物理寄存器标识之后,包括:
执行第二操作指令,判断执行结果,所述第二操作指令为跳转指令;
若所述执行结果出错,则将所述目标对象所对应的物理寄存器标识恢复为修改前的物理寄存器的标识。
结合第一方面,在第三种可能的实现方式中,所述将所述目标对象所对应的物理寄存器标识修改为源对象所对应的物理寄存器标识之后,包括:
生成重命名队列,所述重命名队列包括至少一个重命名项,所述重命名项包括:是否有效,是否跳转,目标对象,修改前目标对象对应的物理寄存器标识,修改后目标对象对应的物理寄存器标识。
结合第一方面的第三种可能的实现方式,在第四种可能的实现方式中,所述生成重命名队列之后,包括:
根据重命名队列对物理寄存器释放进行释放。
结合第一方面的第四种可能的实现方式,在第五种可能的实现方式中,所述根据重命名队列对物理寄存器进行释放,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于联想(北京)有限公司,未经联想(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310449617.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种设置默认按钮的方法及装置
- 下一篇:窗口部件处理方法及装置