[發明專利]頁表預取方法及裝置有效
| 申請號: | 201811366170.6 | 申請日: | 2018-11-16 |
| 公開(公告)號: | CN111198827B | 公開(公告)日: | 2022-10-28 |
| 發明(設計)人: | 孫浩;余紅斌 | 申請(專利權)人: | 展訊通信(上海)有限公司 |
| 主分類號: | G06F12/0862 | 分類號: | G06F12/0862;G06F12/1009 |
| 代理公司: | 北京蘭亭信通知識產權代理有限公司 11667 | 代理人: | 趙永剛 |
| 地址: | 201203 上海市浦東新區浦東*** | 國省代碼: | 上海;31 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 頁表預取 方法 裝置 | ||
本發明提供一種頁表預取方法及裝置。所述方法包括:當頁表快速查詢表缺失時,觸發頁表轉換;判斷頁表所在位置的存儲器的屬性;根據取回的數據狀態判斷預取頁表是否合法;若預取頁表合法,則保存預取頁表,否則丟棄預取頁表。本發明能夠在一定程度上降低頁表缺失的概率,從而提高處理器的綜合性能。
技術領域
本發明涉及處理器技術領域,尤其涉及一種頁表預取方法及裝置。
背景技術
頁表主要有兩方面用途:第一是能夠提供虛擬地址到物理地址的映射關系,這樣可以讓操作系統靈活使用虛擬地址,而不用過多考慮底層的物理分配。第二是能夠對地址空間進行讀寫保護。早期的處理器采用軟件的方式進行頁表的轉換,雖然可以降低處理器設計的復雜度和降低處理器的面積,但是效率很低。隨著集成電路制造技術的進步,當代處理器都會采用硬件加速的方式進行頁表轉換,同時會在處理器內部實現頁表快速查詢表,以加快頁表轉換速度。隨著處理器的運行頻率不斷提高,以及應用對處理器的運算能力要求不斷提高,頁表缺失對于系統整體的性能的影響很大。由于頁表快速查詢表的容量有限,頁表缺失是不可避免的,所以如何降低頁表缺失的概率是需要重點解決的問題。
目前,更多的方案關注如何有效地將頁表轉換中需要的數據預取到數據緩存(Data Cache)中,可以間接地在一定程度上減小頁表缺失的代價。對于如何直接預取頁表,還沒有相應的方案。
現有技術集中在如何有效地將頁表轉換中需要的數據預取到數據緩存中,意圖能在一定程度上減小頁表缺失的代價。但是處理器內的數據訪問樣本比較多,有取指、數據讀寫、頁表轉換等,如何將所需要的頁表轉換數據預取到數據緩存中,并不容易做到。
為了能夠加速頁表(Page Table)的轉換,目前的處理器都會在內部實現頁表快速查詢表(Translation Lookup-aside Buffer),它緩存了虛擬地址到物理地址的映射關系。但是由于芯片面積、功耗、成本的約束,頁表快速查詢表的容量是有限的,所以總會出現頁表缺失的情況。頁表缺失對于處理器性能影響較大,因此如何能降低頁表缺失的概率是處理器設計中需要重點考慮的問題。
發明內容
本發明提供的頁表預取方法及裝置,能夠在一定程度上降低頁表缺失的概率,從而提高處理器的綜合性能。
第一方面,本發明提供一種頁表預取方法,包括:
當頁表快速查詢表缺失時,觸發頁表轉換;
判斷頁表所在位置的存儲器的屬性;
根據取回的數據狀態判斷預取頁表是否合法;
若預取頁表合法,則保存預取頁表,否則丟棄預取頁表。
可選地,所述存儲器的屬性分為三類:可緩存的、不可緩存的和外設;對于屬性為可緩存的,選擇突發訪問數據量為半個緩存行或者整個緩存行;對于屬性為不可緩存的,數據訪問量根據處理器的外部總線寬度而定;對于屬性為外設的,不進行頁表預取。
可選地,所述根據取回的數據狀態判斷預取頁表是否合法包括:
對于最后一級不是L3,如果預取回的數據不是塊描述符,而是表描述符或者無效輸入,則判定所述預取頁表不合法;
對于最后一級不是L3,如果預取回的數據有頁表錯誤,則判定所述預取頁表不合法;
對于最后一級是L3,如果目標描述符含有連續位,則判定所述預取頁表不合法;
對于最后一級是L3,如果預取數據含有連續位,則判定所述預取頁表不合法;
對于最后一級是L3,如果預取數據是頁描述符,但是有頁表錯誤,則判定所述預取頁表不合法。
可選地,所述方法還包括:
對所述預取頁表進行管理。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于展訊通信(上海)有限公司,未經展訊通信(上海)有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201811366170.6/2.html,轉載請聲明來源鉆瓜專利網。





