[發(fā)明專利]一種恢復(fù)內(nèi)部存儲(chǔ)器中的異常數(shù)據(jù)的方法及裝置有效
| 申請?zhí)枺?/td> | 201310140972.6 | 申請日: | 2013-04-22 |
| 公開(公告)號(hào): | CN103226499A | 公開(公告)日: | 2013-07-31 |
| 發(fā)明(設(shè)計(jì))人: | 惠衛(wèi)鋒;朱小剛 | 申請(專利權(quán))人: | 華為技術(shù)有限公司 |
| 主分類號(hào): | G06F11/07 | 分類號(hào): | G06F11/07;G06F12/08 |
| 代理公司: | 深圳市威世博知識(shí)產(chǎn)權(quán)代理事務(wù)所(普通合伙) 44280 | 代理人: | 何青瓦 |
| 地址: | 518129 廣東*** | 國省代碼: | 廣東;44 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 恢復(fù) 內(nèi)部 存儲(chǔ)器 中的 異常 數(shù)據(jù) 方法 裝置 | ||
1.一種恢復(fù)內(nèi)部存儲(chǔ)器異常數(shù)據(jù)的方法,其特征在于,所述方法:
處理器接收數(shù)據(jù)異常中斷信號(hào)和異常數(shù)據(jù)所在的異常指令的地址,其中,所述異常數(shù)據(jù)存儲(chǔ)于內(nèi)部存儲(chǔ)器;
所述處理器掛起正在執(zhí)行的當(dāng)前指令,并記錄計(jì)算機(jī)指針?biāo)赶虻牡刂罚?/p>
所述處理器根據(jù)所述計(jì)算機(jī)指針?biāo)赶虻牡刂罚@取所述處理器當(dāng)前正在執(zhí)行的程序單元;
所述處理器根據(jù)所述異常指令的地址判斷所述異常指令是否屬于所述程序單元;
若所述異常指令屬于所述程序單元,則所述處理器判斷所述程序單元中第一條指令至所述當(dāng)前指令間的指令是否均為可逆指令,所述可逆指令是指指令中不包含破壞性操作;
若所述程序單元中第一條指令至所述當(dāng)前指令間的指令均為可逆指令時(shí),則所述處理器調(diào)用所述程序單元對應(yīng)的析構(gòu)程序單元,以釋放所述程序單元已申請的資源;
所述處理器將所述計(jì)算機(jī)指針重新指向所述程序單元中的第一條指令的地址,重新執(zhí)行所述程序單元,以恢復(fù)所述內(nèi)部存儲(chǔ)器中的異常數(shù)據(jù)。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,
所述處理器判斷所述程序單元中第一條指令至所述當(dāng)前指令間的指令是否均為可逆指令的步驟包括:
所述處理器判斷所述程序單元是否為可逆,所述程序單元的可逆是指所述程序單元中的所有指令均不包含破壞性操作;
若所述程序單元為不可逆,則所述處理器獲取所述程序單元中的第一條不可逆指令的地址,并判斷所述第一條不可逆指令的地址是否在所述計(jì)算機(jī)指針?biāo)赶虻牡刂分螅?/p>
所述若所述程序單元中第一條指令至所述當(dāng)前指令間的指令均為可逆指令時(shí),則所述處理器調(diào)用所述程序單元對應(yīng)的析構(gòu)程序單元,以釋放所述程序單元已申請的資源的步驟包括:
若所述程序單元為可逆,或者,所述第一條不可逆指令的地址在所述計(jì)算機(jī)指針?biāo)赶虻牡刂分螅瑒t所述處理器調(diào)用所述程序單元對應(yīng)的析構(gòu)程序單元,以釋放所述程序單元已申請的資源。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,
所述處理器判斷所述程序單元是否為可逆的步驟包括:
所述處理器獲取所述程序單元的可逆矩陣,并在所述程序單元的可逆矩陣中查詢所述程序單元是否為可逆,其中,所述可逆矩陣包括所述程序單元的可逆信息;
所述處理器獲取所述程序單元中的第一條不可逆指令的地址包括:
所述處理器獲取所述程序單元的起始地址以及從所述可逆矩陣中獲取所述第一條不可逆指令的偏移量;
所述處理器將所述起始地址與所述偏移量之和,作為所述第一條不可逆指令的地址。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,
所述內(nèi)部存儲(chǔ)器包括緩沖存儲(chǔ)器和隨機(jī)訪問存儲(chǔ)器;
在所述處理器調(diào)用所述程序單元對應(yīng)的析構(gòu)程序單元的步驟之后,所述處理器將計(jì)算機(jī)指針指向所述程序單元的第一條指令的地址的步驟之前,還包括:
所述處理器從緩存存儲(chǔ)映射表中,獲取所述程序單元的第一條指令至所述當(dāng)前指令之間的指令中的數(shù)據(jù)的緩存地址,并將所述緩存地址所指向的緩沖存儲(chǔ)器中的緩存空間置為無效。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,
所述緩沖存儲(chǔ)器包括一級(jí)緩沖存儲(chǔ)器和二級(jí)緩沖存儲(chǔ)器。
6.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括:
若所述程序單元中第一條指令至當(dāng)前正在執(zhí)行的指令間存在不可逆指令,或者,所述異常指令不屬于所述程序單元時(shí),所述處理器執(zhí)行系統(tǒng)復(fù)位操作,以恢復(fù)所述內(nèi)部存儲(chǔ)器中的異常數(shù)據(jù)。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于華為技術(shù)有限公司,未經(jīng)華為技術(shù)有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310140972.6/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 同類專利
- 專利分類
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F11-00 錯(cuò)誤檢測;錯(cuò)誤校正;監(jiān)控
G06F11-07 .響應(yīng)錯(cuò)誤的產(chǎn)生,例如,容錯(cuò)
G06F11-22 .在準(zhǔn)備運(yùn)算或者在空閑時(shí)間期間內(nèi),通過測試作故障硬件的檢測或定位
G06F11-28 .借助于檢驗(yàn)標(biāo)準(zhǔn)程序或通過處理作錯(cuò)誤檢測、錯(cuò)誤校正或監(jiān)控
G06F11-30 .監(jiān)控
G06F11-36 .通過軟件的測試或調(diào)試防止錯(cuò)誤
- 用于控制非易失性存儲(chǔ)器的控制器
- 處理器、存儲(chǔ)器、計(jì)算機(jī)系統(tǒng)、系統(tǒng)LSI及其驗(yàn)證方法
- 存儲(chǔ)和檢索處理系統(tǒng)的數(shù)據(jù)的存儲(chǔ)器系統(tǒng)和性能監(jiān)視方法
- 用于控制半導(dǎo)體裝置的方法
- 存儲(chǔ)器存儲(chǔ)裝置及其測試方法
- 存儲(chǔ)器裝置及可促進(jìn)張量存儲(chǔ)器存取的方法
- 使用雙通道存儲(chǔ)器作為具有間隔的單通道存儲(chǔ)器
- 用于管理存儲(chǔ)器訪問操作的方法和系統(tǒng)
- 存儲(chǔ)器控制器、存儲(chǔ)裝置和存儲(chǔ)裝置的操作方法
- 具有部分組刷新的存儲(chǔ)器





