[發(fā)明專利]推測性特權(quán)提升無效
| 申請?zhí)枺?/td> | 201310465288.5 | 申請日: | 2013-10-08 |
| 公開(公告)號: | CN103713881A | 公開(公告)日: | 2014-04-09 |
| 發(fā)明(設(shè)計(jì))人: | 里卡多·拉米雷斯 | 申請(專利權(quán))人: | 美國博通公司 |
| 主分類號: | G06F9/30 | 分類號: | G06F9/30;G06F15/78 |
| 代理公司: | 北京康信知識產(chǎn)權(quán)代理有限責(zé)任公司 11240 | 代理人: | 田喜慶 |
| 地址: | 美國加利*** | 國省代碼: | 美國;US |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 推測 特權(quán) 提升 | ||
技術(shù)領(lǐng)域
本公開總體上涉及處理器架構(gòu),更具體地,涉及特權(quán)操作的執(zhí)行。
背景技術(shù)
在現(xiàn)代處理架構(gòu)中,典型的中央處理單元(“CPU”)同時(shí)對大量執(zhí)行線程進(jìn)行操作,該操作在專用于處理操作系統(tǒng)任務(wù)的線程與用于在該操作系統(tǒng)上執(zhí)行的各種應(yīng)用程序的線程之間進(jìn)行切換。
為了為單獨(dú)的應(yīng)用程序提供一些邏輯保證以及安全性,CPU可限制典型的應(yīng)用程序可利用的這組操作。實(shí)際上,僅僅允許在操作系統(tǒng)的中心(稱為核心)的少量受信任的代碼不受限制地以提升特權(quán)(例如,核心模式、主模式、監(jiān)管模式等)進(jìn)行操作,并執(zhí)行CPU所要求的任何操作。其他應(yīng)用程序(包括該操作系統(tǒng)的其他部分)以較低的安全等級(例如,用戶模式或中間模式)進(jìn)行操作。
有時(shí),應(yīng)用程序需要使用僅僅以提升的特權(quán)等級可用的受限制的操作。為此,該應(yīng)用程序可對核心執(zhí)行系統(tǒng)調(diào)用(或“syscall”),該系統(tǒng)調(diào)用指示核心為了應(yīng)用程序的利益使用核心的提升特權(quán)執(zhí)行特定操作。然而,系統(tǒng)調(diào)用具有性能問題,為此,典型的解決方案用于允許始終以提升的特權(quán)執(zhí)行某些軟件(例如,設(shè)備驅(qū)動(dòng)程序),而不是必須請求特權(quán)提升。
因此,需要一種用于為一組指令提升特權(quán)的有效技術(shù)。
發(fā)明內(nèi)容
根據(jù)本發(fā)明的多個(gè)方面,提供了一下方法和處理器:
(1)一種方法,包括:
在處理器的流水線(pipeline,管線)階段(stage,級)中檢測特權(quán)提升指令;
響應(yīng)于所述特權(quán)提升指令的檢測,更新特權(quán)狀態(tài);以及
將所述特權(quán)狀態(tài)通知給后繼流水線階段。
(2)根據(jù)(1)所述的方法,其中,將所述特權(quán)狀態(tài)通知給所述后繼流水線階段包括:
根據(jù)特權(quán)狀態(tài)存儲(chǔ)器確定當(dāng)前特權(quán)狀態(tài);以及
發(fā)送指示是否提升所述當(dāng)前特權(quán)狀態(tài)的數(shù)據(jù)位。
(3)根據(jù)(1)所述的方法,其中,檢測所述特權(quán)提升指令包括:
在所述處理器的取指階段檢測所述特權(quán)提升指令。
(4)根據(jù)(1)所述的方法,其中,檢測所述特權(quán)提升指令包括:
檢測系統(tǒng)調(diào)用指令。
(5)根據(jù)(1)所述的方法,其中,檢測所述特權(quán)提升指令包括:
讀取指示指令為特權(quán)提升指令的指令數(shù)據(jù)位。
(6)根據(jù)(1)所述的方法,進(jìn)一步包括:
阻止發(fā)布后繼指令,直到確認(rèn)所述特權(quán)提升指令完成。
(7)根據(jù)(6)所述的方法,進(jìn)一步包括:
在確認(rèn)未執(zhí)行所述特權(quán)提升指令時(shí),清空所述流水線;以及
將所述特權(quán)狀態(tài)恢復(fù)到與指令路徑誤預(yù)測對應(yīng)的先前狀態(tài)。
(8)根據(jù)權(quán)利要求1所述的方法,進(jìn)一步包括:
允許以提升的特權(quán)發(fā)布后繼指令。
(9)根據(jù)(8)所述的方法,進(jìn)一步包括:
在確認(rèn)所述特權(quán)提升指令完成時(shí),退回所述后繼指令的結(jié)果。
(10)根據(jù)(8)所述的方法,進(jìn)一步包括:
在確認(rèn)未執(zhí)行所述特權(quán)提升指令時(shí),清空并恢復(fù)所述流水線。
(11)一種處理器,包括:
處理流水線,以硬件實(shí)現(xiàn);
特權(quán)狀態(tài)存儲(chǔ)器,被配置為儲(chǔ)存特權(quán)狀態(tài);以及
所述處理流水線的流水線級,被配置為檢測特權(quán)提升指令,響應(yīng)于所述特權(quán)提升指令的檢測,更新所述特權(quán)狀態(tài),并將所述特權(quán)狀態(tài)通知給后繼流水線級。
(12)根據(jù)(11)所述的處理器,其中,所述流水線級進(jìn)一步被配置為根據(jù)所述特權(quán)狀態(tài)存儲(chǔ)器確定當(dāng)前特權(quán)狀態(tài),并發(fā)送指示是否提升所述當(dāng)前特權(quán)狀態(tài)的數(shù)據(jù)位。
(13)根據(jù)(11)所述的處理器,其中,所述流水線級包括取指令級。
(14)根據(jù)(11)所述的處理器,其中,所述流水線級進(jìn)一步被配置為檢測系統(tǒng)調(diào)用指令。
(15)根據(jù)(11)所述的處理器,其中,所述流水線級進(jìn)一步被配置為讀取指示指令為特權(quán)提升指令的指令數(shù)據(jù)位。
(16)根據(jù)(11)所述的處理器,進(jìn)一步包括:
所述處理流水線的第二流水線級,被配置為阻止發(fā)布后繼指令,直到確認(rèn)所述特權(quán)提升指令完成。
(17)根據(jù)(16)所述的處理器,其中,所述處理流水線被配置為在確認(rèn)未執(zhí)行所述特權(quán)提升指令時(shí)清空,并且將所述特權(quán)狀態(tài)恢復(fù)為與指令路徑誤預(yù)測對應(yīng)的先前狀態(tài)。
(18)根據(jù)(11)所述的處理器,進(jìn)一步包括:
所述處理流水線的第二流水線級,被配置為允許以提升的特權(quán)發(fā)布后繼指令。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于美國博通公司,未經(jīng)美國博通公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310465288.5/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 旋轉(zhuǎn)電機(jī)的控制裝置以及控制方法
- 步進(jìn)馬達(dá)的微步驅(qū)動(dòng)控制裝置
- 機(jī)器人裝置及其控制方法
- 一種路段類型推測方法
- 用于控制推測向量運(yùn)算效能的數(shù)據(jù)處理設(shè)備及方法
- 目的地推測系統(tǒng)及目的地推測方法
- 信息處理裝置以及行進(jìn)方向推測方法
- 推測方法、推測程序、推測裝置及推測系統(tǒng)
- 交流電動(dòng)機(jī)的速度推測裝置、交流電動(dòng)機(jī)的驅(qū)動(dòng)裝置、制冷劑壓縮機(jī)及冷凍循環(huán)裝置
- 結(jié)合全域、區(qū)域動(dòng)推測方式的選擇型動(dòng)推測裝置及其方法





