[發明專利]一種處理器的異常修復方法及裝置有效
| 申請號: | 202011615563.3 | 申請日: | 2020-12-31 |
| 公開(公告)號: | CN112732481B | 公開(公告)日: | 2023-10-10 |
| 發明(設計)人: | 匡曉云;黃開天;楊祎巍;于楊;姚浩;弓羽箭;閆佳偉;韓輝;徐貴洲;焦進星 | 申請(專利權)人: | 南方電網科學研究院有限責任公司;南方電網數字電網研究院有限公司;北京翼輝信息技術有限公司 |
| 主分類號: | G06F11/14 | 分類號: | G06F11/14 |
| 代理公司: | 北京智乾知識產權代理有限公司 11552 | 代理人: | 華冰 |
| 地址: | 510530 廣東省廣州市黃埔區科*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 處理器 異常 修復 方法 裝置 | ||
1.一種處理器的異常修復方法,其特征在于:該方法包括:
檢測步驟,對處理器的運行狀態進行檢測,如果檢測到異常則設置異常標識;
修復步驟:當操作系統SylixOS的ARCH層檢測到所述異常標識時,所述ARCH層觸發回調函數,在所述回調函數中對所述異常進行恢復。
2.根據權利要求1所述的方法,其特征在于,所述異常為非對齊訪問異常。
3.根據權利要求2所述的方法,其特征在于,所述處理器為c-sky架構的處理器。
4.根據權利要求3所述的方法,其特征在于,在所述回調函數中對所述異常進行恢復的操作包括:基于所述異常標識獲取所述異常的初始地址,將所述初始地址到下一個對齊地址ADD之間的第一數據讀出并寫入寄存器中,讀取ADD+1對齊地址處的第二數據,將所述第二數據與所述第一數據在所述寄存器中進行組合得到組合數據,通過PC指針反匯出導致處理器異常的指令,將所述指令基于所述組合數據重新執行。
5.根據權利要求4所述的方法,所述檢測步驟的操作為:檢測所述處理器上的運行狀態,當檢測到所述處理器發生非對齊異常時,記錄所述非對齊異常發生的初始地址、導致該異常的進程以及所述進程所隸屬的應用,設置異常標識,并將所述非對齊異常發生的初始地址、導致該異常的進程以及所述進程所隸屬的應用與所述異常標識相關聯。
6.一種處理器的異常修復裝置,其特征在于:該裝置包括:
檢測單元,對處理器的運行狀態進行檢測,如果檢測到異常則設置異常標識;
修復單元:當操作系統SylixOS的ARCH層檢測到所述異常標識時,所述ARCH層觸發回調函數,在所述回調函數中對所述異常進行恢復。
7.根據權利要求6所述的裝置,其特征在于,所述異常為非對齊訪問異常。
8.根據權利要求7所述的裝置,其特征在于,所述處理器為c-sky架構的處理器。
9.根據權利要求8所述的裝置,其特征在于,在所述回調函數中對所述異常進行恢復的操作包括:基于所述異常標識獲取所述異常的初始地址,將所述初始地址到下一個對齊地址ADD之間的第一數據讀出并寫入寄存器中,讀取ADD+1對齊地址處的第二數據,將所述第二數據與所述第一數據在所述寄存器中進行組合得到組合數據,通過PC指針反匯出導致處理器異常的指令,將所述指令基于所述組合數據重新執行。
10.根據權利要求9所述的裝置,所述檢測單元的操作為:檢測所述處理器上的運行狀態,當檢測到所述處理器發生非對齊異常時,記錄所述非對齊異常發生的初始地址、導致該異常的進程以及所述進程所隸屬的應用,設置異常標識,并將所述非對齊異常發生的初始地址、導致該異常的進程以及所述進程所隸屬的應用與所述異常標識相關聯。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于南方電網科學研究院有限責任公司;南方電網數字電網研究院有限公司;北京翼輝信息技術有限公司,未經南方電網科學研究院有限責任公司;南方電網數字電網研究院有限公司;北京翼輝信息技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011615563.3/1.html,轉載請聲明來源鉆瓜專利網。





