[發明專利]用于管理有界指針的裝置和方法有效
| 申請號: | 201680068762.2 | 申請日: | 2016-10-19 |
| 公開(公告)號: | CN108292272B | 公開(公告)日: | 2022-11-08 |
| 發明(設計)人: | 格雷姆·彼得·巴爾內斯 | 申請(專利權)人: | ARM有限公司 |
| 主分類號: | G06F12/14 | 分類號: | G06F12/14;G06F9/30 |
| 代理公司: | 北京東方億思知識產權代理有限責任公司 11258 | 代理人: | 林強 |
| 地址: | 英國*** | 國省代碼: | 暫無信息 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 用于 管理 指針 裝置 方法 | ||
1.一種用于管理有界指針的設備,包括:
處理電路,用于執行一系列指令;
多個存儲裝置元件,該多個存儲裝置元件能夠由所述處理電路存取,用于存儲有界指針及非有界指針,每個有界指針具有與其相關聯的顯式范圍信息,該顯式范圍信息在使用所述有界指針時指示能夠允許存儲器地址范圍;以及
當前范圍檢查存儲裝置元件,該當前范圍檢查存儲裝置元件用于存儲用于所述處理電路的當前范圍檢查狀態;
在所述當前范圍檢查狀態指示默認狀態時,所述處理電路響應于識別待用于識別存儲器地址的指針的所述指令的序列中的存儲器存取指令的運行而執行范圍檢查操作,以確定對所述存儲器地址的存取是否被許可;當所述存儲器存取指令將所述有界指針中的一者識別為所述指針時,參考與所述有界指針相關聯的所述顯式范圍信息執行所述范圍檢查操作,且當所述存儲器存取指令將所述非有界指針中的一者識別為所述指針時,參考針對所述處理電路所定義的默認范圍信息執行所述范圍檢查操作;
當檢測到至少一個事件時,所述當前范圍檢查狀態被設定為運行狀態;且當在所述運行狀態中時,所述處理電路響應于所述存儲器存取指令的運行以在所述經識別的指針是非有界指針時禁用所述范圍檢查操作。
2.根據權利要求1所述的設備,其中,所述至少一個事件包括由所述處理電路采取例外。
3.根據權利要求2所述的設備,還包括:
經保存范圍檢查存儲裝置元件,用于存儲經保存范圍檢查狀態;
當采取所述例外時,所述經保存范圍檢查存儲裝置元件被更新以在響應于采取所述例外而將所述當前范圍檢查狀態設定為所述運行狀態之前,存儲由所述處理電路使用的所述當前范圍檢查狀態作為所述經保存范圍檢查狀態。
4.根據權利要求3所述的設備,其中在從所述例外返回時,所述當前范圍檢查存儲裝置元件被更新以識別所述經保存范圍檢查狀態作為所述當前范圍檢查狀態。
5.根據權利要求2至4中任一項所述的設備,其中,在采取所述例外時,所述處理電路被配置為執行例外處置操作,在所述例外處置操作期間執行一個或多個存儲器存取而在所述運行狀態中以變更將在從所述例外返回時能夠用于所述處理電路的有界指針集。
6.根據權利要求1至4中任一項所述的設備,其中,當在所述運行狀態中時,所述處理電路響應于所述存儲器存取指令的運行以進一步在所述經識別的指針是有界指針時禁用所述范圍檢查操作。
7.根據權利要求1至4中任一項所述的設備,還包括默認范圍存儲裝置元件,該默認范圍存儲裝置元件用于存儲所述默認范圍信息。
8. 根據權利要求1至4中任一項所述的設備,其中:
所述處理電路被配置為發布提取存儲器地址,以便識別待提取以用于隨后由所述處理電路執行的指令,當在所述默認狀態中時,所述處理電路被配置為在發布所述提取存儲器地址以便參考針對所述處理電路所定義的默認提取范圍信息確定是否許可所述提取存儲器地址的存取之前,執行提取范圍檢查操作;以及
當在所述運行狀態中時,所述處理電路被配置為禁用所述提取范圍檢查操作。
9.根據權利要求8所述的設備,其中,通過程序計數器值確定所述提取存儲器地址且所述默認提取范圍信息是程序計數器范圍信息。
10.根據權利要求3所述的設備,其中,所述處理電路是能夠在多個例外等級下操作,每個例外等級具有不同軟件執行特權,且所述處理電路被配置為響應于由所述處理電路采取的至少一個例外子集而改變正操作所處的所述例外等級。
11.根據權利要求10所述的設備,其中,當所述處理電路正以所述多個例外等級中的至少一者操作時,所述當前范圍檢查狀態能夠在所述運行狀態與所述默認狀態之間改變同時保持處于相同例外等級。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于ARM有限公司,未經ARM有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201680068762.2/1.html,轉載請聲明來源鉆瓜專利網。





