[發(fā)明專利]用于處理器的動態(tài)組相聯(lián)高速緩存裝置及其訪問方法有效
| 申請?zhí)枺?/td> | 201210134204.5 | 申請日: | 2012-05-02 |
| 公開(公告)號: | CN102662868A | 公開(公告)日: | 2012-09-12 |
| 發(fā)明(設計)人: | 范靈俊;唐士斌;王達;張浩;范東睿 | 申請(專利權)人: | 中國科學院計算技術研究所 |
| 主分類號: | G06F12/08 | 分類號: | G06F12/08 |
| 代理公司: | 北京泛華偉業(yè)知識產(chǎn)權代理有限公司 11280 | 代理人: | 王勇 |
| 地址: | 100190 北*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 用于 處理器 動態(tài) 相聯(lián) 高速緩存 裝置 及其 訪問 方法 | ||
技術領域
本發(fā)明涉及處理器設計,尤其涉及處理器的高速緩存設計。
背景技術
長期以來,為了緩解處理器與內存之間的“存儲墻”問題,即,處理器的處理速度遠大于內存的供數(shù)速度,導致處理器常處于“饑餓”和等待狀態(tài),高速緩存被運用在了處理器的結構中。處理器的高速緩存利用程序訪存的局部性原理,包括時間局部性——被訪問的存儲地址在較短時間內再次被訪問,和空間局部性——某個存儲地址被訪問,與之臨近的存儲地址在較短的時間內也會被訪問,彌補了處理器與內存的速度差距,從而大大提高了處理器的性能。一般講來,對于多數(shù)程序,在一個給定的處理器結構上,更大的高速緩存裝置往往也能顯示出更高的程序性能。因此,近年來,處理器的高速緩存越做越大,2級甚至3級的多級緩存結構也被廣泛使用。在多核處理器結構中,也常常配有私有緩存(只被單個處理器核使用)和共享緩存(被多個處理器核共享使用)。
然而,緩存裝置的功耗也隨之越來越大,在整個處理器系統(tǒng)功耗中占的比例越來越高,有的甚至達到了40%-50%。功耗是當今處理器設計領域不可忽視的問題,過高的功耗會帶來芯片散熱及穩(wěn)定性等諸多問題。因此,減小作為處理器的最重要的部件之一的高速緩存的功耗,可以有效降低處理器系統(tǒng)的總功耗。然而現(xiàn)有的降低高速緩存功耗的方法,或者需要軟件的支持;或者以性能的損失為代價;或者引入了過多的硬件開銷,增加了實現(xiàn)復雜度。
發(fā)明內容
因此,本發(fā)明的目的在于解決上述技術問題,提供一種用于處理器的動態(tài)組相聯(lián)高速緩存裝置,能在不降低處理器性能的情況下減少處理器的整體功耗。
本發(fā)明的目的是通過以下技術方案實現(xiàn)的:
一方面,本發(fā)明提供了一種用于處理器的動態(tài)組相聯(lián)高速緩存裝置,該裝置包括:
多個緩存路,每個緩存路含有相同數(shù)量的緩存塊,每個緩存塊包括標記塊和數(shù)據(jù)塊;以及
記錄緩存塊的有效位的表格單元,所述緩存塊的有效位用于指示緩存塊是有效還是無效。
上述技術方案中,所述表格單元獨立于實現(xiàn)標記塊陣列或數(shù)據(jù)塊陣列的SRAM。所述表格單元可以是采用寄存器堆實現(xiàn)的。
上述技術方案中,在處理器對所述裝置進行讀訪問時首先通過檢查所述表格單元得到待訪問的緩存組中的各個緩存塊的有效位,并根據(jù)每個緩存塊的有效位來設置該緩存塊所在的緩存路的使能位;然后讀出緩存組中有效緩存塊,并從其標記塊與訪存地址中的標記段匹配的有效緩存塊的數(shù)據(jù)塊中讀出數(shù)據(jù)。
上述技術方案中,對于無效的緩存塊,將該緩存塊所在的緩存路的使能位設置為不使能;對于有效的緩存塊,將該緩存塊所在的緩存路的使能位設置為使能。
另一方面,本發(fā)明提供了一種對上述技術方案中的裝置進行讀訪問的方法,所述方法包括:
(1)根據(jù)訪存地址的索引段定位待訪問的緩存組;
(2)通過檢查所述表格單元來得到所述緩存組中的各個緩存塊的有效位;
(3)根據(jù)所述緩存組中的每個緩存塊的有效位來設置該緩存塊所處的緩存路的使能位;
(4)讀出緩存組中有效緩存塊,并從其標記塊與訪存地址中的標記段匹配的有效緩存塊的數(shù)據(jù)塊中讀出數(shù)據(jù)。
上述方法中,在步驟(2)如果檢查到待訪問的緩存組中所有的緩存塊均無效時,可以直接發(fā)送缺失消息。
上述方法中,在步驟(3)對于處于無效狀態(tài)的緩存塊,將其所處的緩存路的使能位設置為不使能;對于處于有效狀態(tài)的緩存塊,將其所處的緩存路的使能位設置為使能;
上述方法中,所述步驟(4)可以包括下列步驟:
讀出緩存組中有效緩存塊;
將訪存地址中的標記段與所讀出的各個緩存塊的標記塊進行比對;
如果命中,則根據(jù)訪存地址的偏移段,從相應的緩存塊的數(shù)據(jù)塊中選擇數(shù)據(jù)進行寫回;如果未命中,則發(fā)送缺失消息。
與現(xiàn)有技術相比,本發(fā)明的優(yōu)點在于:
在每次讀訪問發(fā)生時動態(tài)改變高速緩存裝置的相聯(lián)度,一個緩存組中無效緩存塊所在的緩存路在讀操作發(fā)生時,將不被使能,從而有效減少了緩存裝置在讀寫過程中由于讀操作引發(fā)的動態(tài)功耗。因此,可以在基本不增加設計復雜度和影響處理器性能的情況下,有效降低處理器緩存的功耗。
附圖說明
以下參照附圖對本發(fā)明實施例作進一步說明,其中:
圖1為現(xiàn)有的組相聯(lián)高速緩存裝置的一個示例結構示意圖;
圖2為現(xiàn)有的組相聯(lián)高速緩存裝置的訪問過程示意圖;
圖3為組相聯(lián)高速緩存裝置在程序執(zhí)行中的一個狀態(tài)示意圖;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中國科學院計算技術研究所,未經(jīng)中國科學院計算技術研究所許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業(yè)授權和技術合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210134204.5/2.html,轉載請聲明來源鉆瓜專利網(wǎng)。





