[发明专利]用于指令的快速失败处理的装置和方法有效
申请号: | 201380059899.8 | 申请日: | 2013-06-24 |
公开(公告)号: | CN104813281B | 公开(公告)日: | 2018-08-17 |
发明(设计)人: | O·本-琪琪;I·帕多;R·凡伦天 | 申请(专利权)人: | 英特尔公司 |
主分类号: | G06F9/28 | 分类号: | G06F9/28;G06F9/38 |
代理公司: | 上海专利商标事务所有限公司 31100 | 代理人: | 毛力 |
地址: | 美国加利*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 指令 快速 失败 处理 装置 方法 | ||
1.一种处理器,包括:
指令失败逻辑,用于响应于检测到的指令执行失败来执行多个操作,所述指令失败逻辑被用于具有复杂的失败模式并且预期具有高于阈值的失败频率的指令,所述操作包括:
检测指令执行失败并确定所述失败的原因;
将指示所述失败和指定与所述失败相关联的细节的失败数据存储在目的地寄存器中;以及
允许应用程序代码响应于所述失败读取所述失败数据,并且响应性地采取一个或多个动作,
其中,所述指令失败逻辑不调用异常处理程序并且不切换到采用分层的保护域的系统上的低层级域就执行所述指令失败逻辑的操作。
2.如权利要求1所述的处理器,其特征在于,所述失败数据的至少一位指示执行使执行失败的相同指令的后续尝试是否将不成功。
3.如权利要求2所述的处理器,其特征在于,所述至少一位的第一值指示执行所述相同指令的后续尝试将不成功,并且所述位的第二值指示执行所述相同指令的后续尝试可能成功。
4.如权利要求3所述的处理器,其特征在于,所述应用程序代码读取所述位以确定是否尝试重新尝试执行所述相同指令。
5.如权利要求1所述的处理器,其特征在于,所述目的地寄存器包括可由所述指令失败逻辑访问的通用寄存器(GPR)。
6.如权利要求1所述的处理器,其特征在于,失败的指令包括调用加速器的指令,其中,所述加速器尝试执行所述指令,并且响应于所述失败,将所述失败数据存储在结果寄存器中。
7.如权利要求6所述的处理器,其特征在于,所述失败数据指示所述加速器正忙于服务与所述失败的指令相关联的线程不同的硬件线程。
8.如权利要求7所述的处理器,其特征在于,所述失败数据指示所述失败的指令不被所述加速器支持。
9.一种用于处理器的方法,包括:
将指令标识为具有复杂的失败模式并且预期具有高于阈值的失败频率的指令;
检测对所述指令的所尝试的执行的失败,并且确定所述失败的原因;
将指示所述失败和指定与所述失败相关联的细节的失败数据存储在目的地寄存器中;以及
允许应用程序代码响应于所述失败读取所述失败数据,并且响应性地采取一个或多个动作,
其中,所述检测步骤、所述存储步骤和所述允许步骤在不调用异常处理程序并且不切换到采用分层的保护域的系统上的低层级域的情况下被执行。
10.如权利要求9所述的方法,其特征在于,所述失败数据的至少一位指示执行使执行失败的相同指令的后续尝试是否将不成功。
11.如权利要求10所述的方法,其特征在于,所述至少一位的第一值指示执行所述相同指令的后续尝试将不成功,并且所述位的第二值指示执行所述相同指令的后续尝试可能成功。
12.如权利要求11所述的方法,其特征在于,所述应用程序代码读取所述位以确定是否尝试重新尝试执行所述相同指令。
13.如权利要求9所述的方法,其特征在于,所述目的地寄存器包括可由所述指令失败逻辑访问的通用寄存器(GPR)。
14.如权利要求9所述的方法,其特征在于,失败的指令包括调用加速器的指令,其中,所述加速器尝试执行所述指令,并且响应于所述失败,将所述失败数据存储在结果寄存器中。
15.如权利要求14所述的方法,其特征在于,所述失败数据指示所述加速器正忙于服务与所述失败的指令相关联的线程不同的硬件线程。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于英特尔公司,未经英特尔公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201380059899.8/1.html,转载请声明来源钻瓜专利网。