[發明專利]指令轉譯中的故障檢測無效
| 申請號: | 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.szxzyx.cn/pat/books/201310741902.6/1.html,轉載請聲明來源鉆瓜專利網。





