[發(fā)明專利]Cache的管理方法及裝置有效
| 申請?zhí)枺?/td> | 201410032035.3 | 申請日: | 2014-01-23 |
| 公開(公告)號: | CN104809076B | 公開(公告)日: | 2018-02-06 |
| 發(fā)明(設(shè)計)人: | 黃永兵;陳明宇;張坤 | 申請(專利權(quán))人: | 華為技術(shù)有限公司;中國科學(xué)院計算技術(shù)研究所 |
| 主分類號: | G06F12/0811 | 分類號: | G06F12/0811 |
| 代理公司: | 北京中博世達專利商標代理有限公司11274 | 代理人: | 申健 |
| 地址: | 518129 廣東*** | 國省代碼: | 廣東;44 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | cache 管理 方法 裝置 | ||
技術(shù)領(lǐng)域
本發(fā)明涉及通信領(lǐng)域,尤其涉及一種Cache(高速緩沖存儲器)的管理方法及裝置。
背景技術(shù)
在計算機技術(shù)發(fā)展過程中,主存儲器存取速度一直比CPU(處理器)處理速度慢得多,使的CPU的高速處理能力不能充分發(fā)揮,整個計算機系統(tǒng)的工作效率受到影響。為了緩和CPU和主存儲器之間速度不匹配的矛盾,一種較常用的方法是在存儲層次上采用cache(高速緩存器)進行緩存。例如,可以將cache可以集成在CPU中,以便于CPU較快的獲取數(shù)據(jù)。圖1提供了一種N路(way)組相聯(lián)的Cache的結(jié)構(gòu)示意圖。如圖1所示,cache中所有的cache行(Cacheline)的大小都是相同的,每個cache行包括tag域和data域,所述tag域用于標識cache行,所述data域用于存儲待緩存數(shù)據(jù)。具體的,cache行具體的大小一般由經(jīng)驗值決定,主要跟CPU的性能有關(guān);CPU的性能越高,cache行越大。cache行的大小決定了相同容量下cache行的行數(shù),同時也決定了數(shù)據(jù)從內(nèi)存讀到cache、以及數(shù)據(jù)在不同層次cache間傳輸?shù)墓摹R话愕模琧ache行的規(guī)格大于單個訪問請求所訪問數(shù)據(jù)的規(guī)格。
目前,cache的緩存機制是:接收一個訪問請求,為該訪問請求分配一個cache行;根據(jù)所述訪問請求的地址(該地址對應(yīng)的數(shù)據(jù)即為待訪問數(shù)據(jù)),基于空間局部性原理,從內(nèi)存中讀取待訪問數(shù)據(jù)、以及所述待訪問數(shù)據(jù)相鄰地址的數(shù)據(jù),將其一并寫入為該訪問請求分配的cache行中。如果接下來的訪問請求需要訪問的數(shù)據(jù)已經(jīng)緩存在該cache行中,則直接從該cache行讀取;如果接下來的訪問請求需要訪問的數(shù)據(jù)沒有緩存到該cache行中,則按照上述緩存機制為接下來的訪問請求分配cache行并從內(nèi)存中讀取數(shù)據(jù)。
在采用上述方法進行緩存時,存在如下問題:當(dāng)待訪問數(shù)據(jù)的空間局部性較強時,cache行無法緩存足夠多的相鄰地址數(shù)據(jù),導(dǎo)致在接收到后續(xù)訪問請求時仍然需要重新分配cache行并從內(nèi)存中讀取數(shù)據(jù),一方面會影響數(shù)據(jù)讀取速度,另一方面,在cache行有限的情況下,會使得cache行中的數(shù)據(jù)被頻繁替換,影響cache行的壽命;當(dāng)待訪問數(shù)據(jù)的空間局部性較差時,緩存到cache行中的數(shù)據(jù)很可能不會被后續(xù)訪問請求所訪問,造成cache行資源的浪費,同時會浪費內(nèi)存和cache之間的內(nèi)存帶寬。
發(fā)明內(nèi)容
本發(fā)明的實施例提供一種Cache的管理方法及裝置,能夠解決如何提高cache資源利用率的問題。
為達到上述目的,本發(fā)明的實施例采用如下技術(shù)方案:
第一方面,本發(fā)明實施例提供了一種cache(高速緩存器)的管理方法,所述cache中設(shè)置多個cache子單元,每個所述cache子單元包括多個cache行;其中,每個cache子單元中所包括的cache行長度與其他cache子單元所包括的cache行長度互不相同;每個所述的cache子單元用于存儲對應(yīng)等級的數(shù)據(jù),所述等級為數(shù)據(jù)的空間局部性強弱等級,其中,所述cache子單元與所述等級的對應(yīng)關(guān)系為:所述cache子單元中包括的cache行長度與數(shù)據(jù)的空間局部性強度正相關(guān);所述方法包括:
接收訪問請求,確定所述訪問請求需要訪問的待訪問數(shù)據(jù);
判斷所述待訪問數(shù)據(jù)的空間局部性的強弱等級;
根據(jù)所述待訪問數(shù)據(jù)的空間局部性的強弱等級,為待訪問數(shù)據(jù)分配與所述等級對應(yīng)的cache子單元。
結(jié)合第一方面,在第一種可能的實現(xiàn)方式中,所述判斷所述待訪問數(shù)據(jù)的空間局部性的強弱等級,包括:
記錄各訪問請求需要訪問的待訪問數(shù)據(jù)的地址,統(tǒng)計所述待訪問數(shù)據(jù)的地址的訪問規(guī)律,所述訪問規(guī)律包括所述地址的相鄰地址數(shù)據(jù)被其他訪問請求所訪問的次數(shù)或概率;
按照所述待訪問數(shù)據(jù)的地址的相鄰地址數(shù)據(jù)被其他訪問請求所訪問的次數(shù)或概率,對所述待訪問數(shù)據(jù)的空間局部性進行等級劃分。
結(jié)合第一方面的第一種可能的實現(xiàn)方式,在第二種可能的實現(xiàn)方式中,所述方法還包括:
在預(yù)設(shè)時間段內(nèi),統(tǒng)計待訪問數(shù)據(jù)的空間局部性的強弱等級,計算第一比值,所述第一比值用于表征不同等級空間局部性的待訪問數(shù)據(jù)之間的比例關(guān)系;
計算第二比值,所述第二比值用于表征所述cache中包括不同cache行長度的cache子單元之間的比例關(guān)系;
當(dāng)所述第一比值和第二比值的差距大于預(yù)設(shè)閾值時,對所述cache子單元中的cache行數(shù)量進行調(diào)整,直至調(diào)整后的第二比值和所述第一比值之間的差距在所述預(yù)設(shè)閾值范圍內(nèi)。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于華為技術(shù)有限公司;中國科學(xué)院計算技術(shù)研究所,未經(jīng)華為技術(shù)有限公司;中國科學(xué)院計算技術(shù)研究所許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410032035.3/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 一種基于CACHE的數(shù)據(jù)處理系統(tǒng)及其方法
- Cache的自適應(yīng)插入策略的實現(xiàn)方法
- 用于多核處理器的網(wǎng)絡(luò)共享Cache及其目錄控制方法
- 高速緩沖存儲器cache中cache塊的替換處理方法和裝置
- 一種Cache集群中刪除數(shù)據(jù)的方法及系統(tǒng)
- 一種資源分配方法和高速緩沖存儲器Cache
- 一種基于Cache空間預(yù)約算法的計算方法
- Cache數(shù)據(jù)處理方法以及Cache
- 數(shù)據(jù)塊寫入方法、裝置、處理器芯片及Cache
- 一種提升Cache命中率的方法、系統(tǒng)、設(shè)備及介質(zhì)





