[發明專利]一種緩存系統和方法在審
| 申請號: | 201410048036.7 | 申請日: | 2014-01-29 |
| 公開(公告)號: | CN104731718A | 公開(公告)日: | 2015-06-24 |
| 發明(設計)人: | 林正浩 | 申請(專利權)人: | 上海芯豪微電子有限公司 |
| 主分類號: | G06F12/08 | 分類號: | G06F12/08 |
| 代理公司: | 無 | 代理人: | 無 |
| 地址: | 200092 上海市*** | 國省代碼: | 上海;31 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 緩存 系統 方法 | ||
技術領域
本發明涉及計算機,通訊及集成電路領域。
背景技術
通常緩存的作用是將更低級存儲器中的部分內容復制在其中,使這些內容能被更高級存儲器或處理器核快速存取,以保證流水線的持續運行。
現行緩存的尋址都基于以下方式,用地址中的索引段尋址讀出標簽存儲器中的標簽與地址中的標簽段進行匹配;用地址中索引段與塊內位移段共同尋址讀出緩存中的內容。如果從標簽存儲器中讀出的標簽與地址中的標簽段相同,那么從緩存中讀出的內容有效,稱為緩存命中。否則,如果從標簽存儲器中讀出的標簽與地址中的標簽段不相同,稱為緩存缺失,從緩存中讀出的內容無效。對于多路組相聯的緩存,同時對各個路組并行進行上述操作,以檢測哪個路組緩存命中。命中路組對應的讀出內容為有效內容。若所有路組都為缺失,則所有讀出內容都無效。緩存缺失之后,緩存控制邏輯將低級存儲媒介中的內容填充到緩存中。
緩存缺失可分為三類狀況:強制缺失、沖突缺失和容量缺失。在現有緩存結構中,除了預取成功的小部分內容外,強制缺失是不可避免的。但是,現有的預取操作會帶來不小的代價。此外,雖然多路組相聯緩存可以降低沖突缺失,但受制于功耗及速度限制(如因為多路組相聯緩存結構要求將所有路組由同一索引尋址的內容及標簽同時讀出并比較),路組數難以超過一定數目。
現代的緩存系統通常由多路組相連的多層次緩存構成。新的緩存結構,如:犧牲緩存、跟蹤緩存以及預取等都是基于上述基本緩存結構并改善上述結構。然而,隨著日漸擴大的處理器/存儲器速度鴻溝,現行體系結構,特別是多種緩存缺失,已成為是制約現代處理器性能提升的最嚴重瓶頸。
本發明提出的方法與系統裝置能直接解決上述或其他的一個或多個困難。
發明內容
本發明提出了一種緩存方法,其特征在于,對填充到一級緩存的指令進行審查,提取出相應的指令信息;根據所述指令信息,將一級緩存中所有分支指令的分支目標指令預先存儲到二級緩存中;提供一個第一讀指針對一級緩存尋址以讀出對應指令供處理器核執行;根據處理器核執行指令產生的反饋信息,更新第一讀指針的值;當處理器核執行分支指令時,無論分支轉移是否發生,后續將被執行的指令已經存儲在二級緩存中;若分支轉移發生,第一讀指針被更新為所述分支指令的分支目標尋址地址值;若分支轉移沒有發生,第一讀指針被更新為該分支指令順序執行的后一條指令的尋址地址值。
可選的,在所述方法中,根據所述指令信息,提前將處理器核將要執行到的分支指令的分支目標指令從二級緩存填充到一級緩存,使得處理器核執行到該分支指令時,無論分支轉移是否發生,后續將被執行的指令已經存儲在一級緩存中。
可選的,在所述方法中,對填充到一級緩存的指令進行審查,提取出相應的指令信息;第一讀指針根據所述指令信息而非指令本身的功能確定如何更新。
可選的,在所述方法中,當第一讀指針指向一條有條件分支指令,且其后一條是無條件分支指令時,則根據處理器核對有條件分支指令的執行結果,若分支轉移發生,第一讀指針被更新為所述有條件分支指令的分支目標尋址地址值;若分支轉移沒有發生,第一讀指針被更新為所述無條件分支指令的分支目標尋址地址值;使得處理器核不需要單獨一個時鐘周期執行所述無條件分支指令。
可選的,在所述方法中,對第一讀指針的值進行緩沖,并由所述緩沖后的第一讀指針值對一級緩存尋址以讀出對應指令供處理器核執行;第一讀指針提前指向分支指令,若該分支指令的分支目標指令尚未存儲在一級緩存中,則將該分支目標指令從二級緩存填充到一級緩存,使得處理器核執行到該分支指令時,無論分支轉移是否發生,后續將被執行的指令已經存儲在一級緩存中。
可選的,在所述方法中,提供一個第二讀指針;所述第二讀指針提前指向第一讀指針之后的分支指令,若該分支指令的分支目標指令尚未存儲在一級緩存中,則將該分支目標指令從二級緩存填充到一級緩存,使得處理器核執行到該分支指令時,無論分支轉移是否發生,后續將被執行的指令已經存儲在一級緩存中。
可選的,在所述方法中,當處理器核執行到分支指令時,根據分支預測選擇順序執行下一指令和分支目標指令中的一個作為后續指令執行,并保存另一個的尋址地址;若分支轉移結果與分支預測一致,則繼續執行后續指令;若分支轉移結果與分支預測不一致,則清空流水線,并從所述保存的尋址地址對應的指令重新執行。
可選的,在所述方法中,所述指令信息包括指令類型和分支指令的分支目標尋址地址。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于上海芯豪微電子有限公司;,未經上海芯豪微電子有限公司;許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410048036.7/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種新型計算器
- 下一篇:一種Shellcode的動態檢測方法





