[發明專利]指令執行方法、處理器和電子設備有效
| 申請號: | 201911390216.2 | 申請日: | 2019-12-30 |
| 公開(公告)號: | CN111159660B | 公開(公告)日: | 2022-07-15 |
| 發明(設計)人: | 邢金璋;賈凡 | 申請(專利權)人: | 龍芯中科技術股份有限公司 |
| 主分類號: | G06F21/12 | 分類號: | G06F21/12;G06F21/57 |
| 代理公司: | 北京同立鈞成知識產權代理有限公司 11205 | 代理人: | 王明磊;劉芳 |
| 地址: | 100095 北京市海淀*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 指令 執行 方法 處理器 電子設備 | ||
本發明提供一種指令執行方法、處理器和電子設備,其中,指令執行方法包括:根據程序計數器獲取待執行的指令;其中,所述程序計數器當前指向第一地址,所述第一地址中存儲有第一指令;對所述待執行的指令解碼;若確定所述待執行的指令為無效重做指令,則執行所述無效重做指令,并根據所述程序計數器重新獲取待執行的指令;其中,所述無效重做指令為指令生成單元生成的且被插入至所述第一指令之前被執行。通過指令生成單元生成無效重做指令,并將無效重做指令插入至第一指令之前被執行,在不改變程序計數器的狀態的前提下抵抗了側信道攻擊,提高了抵抗側信道攻擊的效果和效率。
技術領域
本發明涉及計算機技術領域,尤其涉及一種指令執行方法、處理器和電子設備。
背景技術
在很多利用處理器硬件漏洞或處理器本身的特性發起的攻擊中,都會使用側信道攻擊作為輔助手段來竊取數據。側信道攻擊也稱為邊信道攻擊(side channel attack,SCA),針對處理器執行軟件程序過程中的時間消耗、功率消耗、溫度分布、電磁輻射等側信道信息的泄露而對處理器進行攻擊。這類攻擊的有效性遠高于密碼分析的數學方法,帶來了嚴重的威脅。
為了抵抗側信道攻擊,常用的方法是引入隨機化。例如,在軟件程序中隨機插入無效指令。但是,在軟件程序中插入無效指令需要對現有的軟件程序進行更改,軟件程序的重新編譯也是一件很繁瑣的事情,而且,只起到對特定軟件程序的保護,導致抵抗側信道攻擊的效率和效果很差。
發明內容
本發明提供一種指令執行方法、處理器和電子設備,提高了抵抗側信道攻擊的效果和效率。
第一方面,本發明提供一種指令執行方法,包括:
根據程序計數器獲取待執行的指令;其中,所述程序計數器當前指向第一地址,所述第一地址中存儲有第一指令;
對所述待執行的指令解碼;
若確定所述待執行的指令為無效重做指令,則執行所述無效重做指令,并根據所述程序計數器重新獲取待執行的指令;其中,所述無效重做指令為指令生成單元生成的且被插入至所述第一指令之前被執行。
可選的,所述待執行的指令包括操作碼,所述確定所述待執行的指令為無效重做指令,包括:
若所述待執行的指令包括的操作碼為所述無效重做指令對應的操作碼,則確定所述待執行的指令為所述無效重做指令。
可選的,所述無效重做指令包括指示域,所述執行所述無效重做指令,包括:
根據指示域的值與指令操作之間的對應關系,確定所述無效重做指令包括的指示域的值對應的目標指令操作;
執行所述目標指令操作。
可選的,所述指令操作包括算數運算操作和訪存操作。
可選的,還包括:
獲取指令生成參數,所述指令生成參數包括下列中的至少一項:指令生成頻率、相鄰的無效重做指令之間的時間間隔和指令操作類型對應的生成概率;
通過所述指令生成單元根據所述指令生成參數生成所述無效重做指令。
可選的,所述獲取指令生成參數,包括:
獲取程序代碼中包括的所述指令生成參數。
可選的,所述獲取指令生成參數,包括:
通過所述指令生成單元獲取處理器的運行信息;
根據所述處理器的運行信息獲取所述指令生成參數。
第二方面,本發明提供一種處理器,包括:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于龍芯中科技術股份有限公司,未經龍芯中科技術股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201911390216.2/2.html,轉載請聲明來源鉆瓜專利網。





