目标专利:653用以预测有条件非分支指令的不执行的方法和设备
专利公开号:CN102483696B
专利权人:高通股份有限公司
无效请求书提交日期:2026年
非显而易见性评估仅供参考,不构成法律建议。
| 编号 | 名称 |
|---|
一种用于不执行已发出的有条件非分支指令的方法,所述方法包含:将有条件非分支指令识别为入选以用于预测,所述预测指示所述入选有条件非分支ECNB指令将不会执行;以及响应于所述ECNB指令将不会执行的所述预测,将所述ECNB指令作为无操作NOP指令执行,其中,比较评估准则值与ECNB指令执行状态计数器的计数值输出以启用所述预测,其中所述ECNB指令执行状态计数器在强力指示了所述ECNB指令的先前所尝试执行未被执行的计数值下饱和。
根据权利要求1所述的方法,其中响应于所述预测而不提取所述ECNB指令执行所需的源操作数。
根据权利要求1所述的方法,其中响应于所述预测从而不保留通用寄存器文件中的寄存器来含有所述ECNB指令的执行结果。
根据权利要求1所述的方法,其进一步包含: 响应于停用预测旗标而预测所述ECNB指令不执行,所述停用预测旗标指示在所述预测所基于的入选周期期间未发生所述ECNB指令的先前成功执行。
根据权利要求1所述的方法,其进一步包含: 在历史寄存器中记录所述ECNB指令是否曾执行;以及 响应于所述历史寄存器指示所述ECNB指令的至少一次先前所尝试执行未曾执行而预测下一次发生的ECNB指令不执行。
根据权利要求5所述的方法,其中在软件回路中曾遇到所述ECNB指令的所述至少一次先前所尝试执行。
根据权利要求5所述的方法,其中在预先指定的地址范围中曾遇到所述ECNB指令的所述至少一次先前所尝试执行。
根据权利要求5所述的方法,其中在具有所识别的数目的处理器循环内曾遇到所述ECNB指令的所述至少一次先前所尝试执行。
根据权利要求1所述的方法,其进一步包含: 在第一方向上更新所述ECNB指令执行状态计数器以指示所述ECNB指令的先前所尝试执行曾有条件地执行;以及在与所述第一方向相反的第二方向上更新所述ECNB指令执行状态计数器以指示所述ECNB指令的先前所尝试执行未曾有条件地执行。
根据权利要求1所述的方法,其中所述评估准则值为所述计数值。
根据权利要求1所述的方法,其中在软件回路中曾遇到所述ECNB指令的所述先前所尝试执行。
一种用于预测有条件非分支指令将不会执行的设备,所述设备包含:第一电路,其用于识别指令是入选以用于预测的有条件非分支指令,其中,所述指令是入选以用于预测的有条件非分支指令或不入选以用于预测的有条件非分支指令; 具有计数值输出的ECNB指令执行状态计数器,其中,比较评估准则值与ECNB指令执行状态计数器的计数值输出以启用所述预测,其中所述ECNB指令执行状态计数器在强力指示了所述ECNB指令的先前所尝试执行未被执行的计数值下饱和;以及第二电路,其响应于满足评估准则而启用,所述第二电路用于预测入选有条件非分支ECNB指令是否将不会执行。
根据权利要求12所述的设备,其进一步包含: 操作数提取电路,其响应于不执行的所述预测而不提取所述ECNB指令执行所需的操作数。
根据权利要求12所述的设备,其进一步包含: 管线追踪电路,其用以在用于预测的管线级之后的管线级中追踪所述预测;以及ECNB指令执行级电路,其响应于不执行的所述预测而不执行所述ECNB指令。
根据权利要求12所述的设备,其进一步包含: 其中所述计数值在第一方向上经更新以指示ECNB指令曾有条件地执行并在指示强力执行历史的第一计数值下饱和,且在第二方向上经更新以指示ECNB指令未曾执行并在指示强力不执行历史的第二计数值下饱和。
根据权利要求15所述的设备,其中所述评估准则值为所述第二计数值。
根据权利要求12所述的设备,其中所述评估准则值为处于非作用中状态的停用预测旗标,其中所述停用预测旗标的所述非作用中状态指示预测经启用,其中在任何时候确定所述ECNB指令已在与所述ECNB指令相关联的软件回路中有条件地执行的情况下将所述停用预测旗标设定为停用预测状态。
一种用于预测有条件非分支指令将不会执行的方法,所述方法包含:识别指令是入选以用于预测其是否将执行的有条件非分支指令,其中,所述指令是入选以用于预测的有条件非分支指令或不入选以用于预测的有条件非分支指令;以及响应于满足评估准则而预测所述入选有条件非分支ECNB指令将不执行,其中,所述评估准则要求所述ECNB指令的设定数目个先前尝试执行在预测之前具有强力不执行状态。
根据权利要求18所述的方法,其中响应于满足所述评估准则而不提取所述ECNB指令执行所需的源操作数。
根据权利要求18所述的方法,其中响应于满足所述评估准则而将所述ECNB指令作为无操作NOP指令执行。
根据权利要求18所述的方法,其中满足所述评估准则包含:记录在软件回路内曾遇到的所述ECNB指令的先前所尝试执行的执行状态的历史;以及将所述历史与依据所述评估准则的评估值进行比较以指示是否已满足所述评估准则。