[发明专利]指令转译中的故障检测无效
申请号: | 201310741902.6 | 申请日: | 2013-12-27 |
公开(公告)号: | CN103902251A | 公开(公告)日: | 2014-07-02 |
发明(设计)人: | 纳瑟·塔克;戴维·邓恩;罗斯·泽格尔肯;马杜·斯沃尔那 | 申请(专利权)人: | 辉达公司 |
主分类号: | G06F9/30 | 分类号: | G06F9/30;G06F11/14 |
代理公司: | 北京市磐华律师事务所 11336 | 代理人: | 谢栒;魏宁 |
地址: | 美国加利*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 指令 转译 中的 故障 检测 | ||
1.一种用于对生成假故障事件的代码转译加以标识并替换的方法,包括:
当执行目标指令集架构(ISA)指令的第一本地转译时,检测故障事件的出现,所述第一本地转译是可执行的以达到与经由所述目标ISA指令的执行可获得的大致等同的功能性;
响应于当执行所述第一本地转译时检测到所述故障事件的出现,采用硬件解码器将所述目标ISA指令解码成功能上等同的本地指令;
执行所述目标ISA指令或其功能上等同的版本,其中实施这类执行而不执行所述第一本地转译;
确定当执行所述目标ISA指令或所述其功能上等同的版本时所述故障事件的出现是否被复制;以及
响应于确定所述故障事件未被复制,确定是允许所述第一本地转译的将来执行还是防止这类将来执行以有利于形成并执行一个或多个替代本地转译。
2.根据权利要求1所述的方法,其中确定是允许还是阻止所述第一本地转译的将来执行包括依据确定与形成所述一个或多个替代转译相关联的性能成本小于与继续执行所述第一本地转译相关联的性能成本来形成并执行所述一个或多个替代转译。
3.根据权利要求1所述的方法,进一步包括增量与所述第一本地转译相关联的计数器,并且其中确定是允许还是阻止所述第一本地转译的将来执行包括防止这类执行并响应于使所述计数器饱和而形成并执行所述一个或多个替代转译。
4.根据权利要求3所述的方法,其中响应于确定当执行目标ISA指令或其功能上等同的版本时在所述第一本地转译的执行期间出现的故障事件未被复制而增量所述计数器。
5.根据权利要求1所述的方法,进一步包括形成要代替所述第一本地转译执行的一个或多个替代本地转译,其中与所述第一本地转译不同地优化所述一个或多个可替代本地转译,以便避免在所述第一本地转译的执行期间所遭遇的所述故障事件的出现。
6.根据权利要求5所述的方法,其中所述一个或多个可替代本地转译包括比所述第一本地转译中所采用的更少的优化。
7.根据权利要求1所述的方法,进一步包括:
响应于遭遇分支指令的目标而暂停所述目标ISA指令或所述其功能上等同的版本的执行;
确定当执行暂停时指令指针是否在与所述第一本地转译相对应的指令指针边界内;以及
如果当执行暂停时所述指令指针超过所述指令指针边界,则确定当执行所述目标ISA指令或所述其功能上等同的版本时所述故障事件的出现未被复制。
8.根据权利要求7所述的方法,其中所述分支指令的所述目标包括具有响应于当执行所述第一本地转译时检测到所述故障事件的出现而被设置的位的字段,并且执行响应于遭遇被设置的位而暂停。
9.根据权利要求8所述的方法,其中所述微处理器包括硬件重定向器,所述硬件重定向器由硬件解码器所访问以检查与目标ISA指令的一部分相对应的本地转译,并且其中当执行所述目标ISA指令或所述其功能上等同的版本而不执行所述第一本地转译时由所述硬件解码器对所述硬件重定向器的访问被禁用。
10.根据权利要求1所述的方法,进一步包括:
基于所述故障事件设置计数器用于所述目标ISA指令或所述其功能上等同的版本的执行,
响应于所述计数器超期来暂停所述目标ISA指令或所述其功能上等同的版本的执行;
确定当执行暂停时指令指针是否在与所述第一本地转译相对应的指令指针边界内;以及
如果当执行暂停时所述指令指针超过所述指令指针边界,那么确定当执行所述目标ISA指令或所述其功能上等同的版本时所述故障事件的出现未被复制。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于辉达公司,未经辉达公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310741902.6/1.html,转载请声明来源钻瓜专利网。