[發明專利]一種指令預取過濾方法有效
| 申請號: | 201911184479.8 | 申請日: | 2019-11-27 |
| 公開(公告)號: | CN110990062B | 公開(公告)日: | 2023-03-28 |
| 發明(設計)人: | 王國澎 | 申請(專利權)人: | 上海高性能集成電路設計中心 |
| 主分類號: | G06F9/38 | 分類號: | G06F9/38;G06F12/1027 |
| 代理公司: | 上海泰能知識產權代理事務所(普通合伙) 31233 | 代理人: | 宋纓;錢文斌 |
| 地址: | 200120 上海市*** | 國省代碼: | 上海;31 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 指令 過濾 方法 | ||
1.一種指令預取過濾方法,其特征在于,在指令緩存和下一級存儲系統之間設置指令預取過濾裝置,所述指令預取過濾裝置包括若干條目的過濾緩沖,其中,每個條目的過濾緩沖對應一個基本頁面,用于記錄并追蹤所述基本頁面中已裝入指令緩存的Cache行;每次預取時直接查詢所述指令預取過濾裝置,以檢驗所預取的Cache行是否已經在指令緩存中,然后根據查詢結果決定是否向下一級存儲系統發出指令預取請求。
2.根據權利要求1所述的指令預取過濾方法,其特征在于,所述每個條目的過濾緩沖設置有效位、虛擬頁面基址、物理頁面基址、進程號和線程號;每個條目的過濾緩沖還設置Cache行有效位向量作為頁面中已裝入的Cache行的指示標記,基本頁面中的Cache行與有效位指示向量一一對應。
3.根據權利要求1所述的指令預取過濾方法,其特征在于,當觸發指令預取時,使用預取頁面基址查詢所述指令預取過濾裝置,若命中表示該頁面已被裝入,此時再用頁內偏移值查看Cache行有效位向量,若該Cache行已被裝入,不用發出預取,否則發出預取;若不命中,則該Cache行不在指令緩存中,發出預取;當預取發出時,根據之前的查詢結果更新所述指令預取過濾裝置的狀態,若命中則將命中條目對應偏移處的Cache行有效位置起,否則分配一個新的過濾緩沖條目并置起對應位置的Cache行有效位,表示該Cache行已被裝入。
4.根據權利要求3所述的指令預取過濾方法,其特征在于,在指令預取查詢不命中時,預取目標所在基本頁面尚未被裝入,若操作系統使用基本頁面,且所述指令預取過濾裝置緩沖深度和指令流TLB條目數相同時,利用指令預取過濾裝置的查詢結果進行指令流頁表預取;若操作系統使用大頁或者指令預取過濾緩沖深度小于指令流TLB條目數時,使用所述指令預取過濾裝置的預取查詢結果作為觸發指令流頁表條目預取的條件。
5.根據權利要求1所述的指令預取過濾方法,其特征在于,若取指查詢缺失,當指令緩存發起向下一級存儲系統的取指請求時,使用缺失的取指地址查詢所述指令預取過濾裝置,若命中則將命中條目對應偏移處的Cache行有效位置起,否則分配一個新的過濾緩沖條目并將對應位置的Cache行有效位進行標記,表示該Cache行已被裝入。
6.根據權利要求1所述的指令預取過濾方法,其特征在于,每當裝填指令緩存引發Cache行淘汰時,使用被淘汰的Cache行地址查詢所述指令預取過濾裝置,將命中頁面中對應的Cache行有效位清0。
7.根據權利要求1所述的指令預取過濾方法,其特征在于,每當有刷新請求時,同步刷新所述指令預取過濾裝置;對于指令緩存刷新,若是全刷新,則將所述指令預取過濾緩沖條目全部置無效;若是指令Cache行刷新,則使用刷新地址查詢所述指令預取過濾裝置,命中且對應的Cache行有效時,將其有效位清0,否則不做任何操作;對于指令流TLB刷新,使用刷新地址查詢所述指令預取過濾裝置,將命中頁面的有效位清0。
8.根據權利要求1所述的指令預取過濾方法,其特征在于,每當有Cache一致性置無效請求時,使用該一致性請求地址同時查詢指令緩存和所述指令預取過濾裝置,命中指令緩存時,將命中的Cache行置無效,同時將指令預取過濾裝置的命中條目中對應的Cache行有效位置無效;若不命中指令緩存時,不做任何操作。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于上海高性能集成電路設計中心,未經上海高性能集成電路設計中心許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201911184479.8/1.html,轉載請聲明來源鉆瓜專利網。





