[發(fā)明專利]一種cache中數(shù)據(jù)寫入和讀取方法、cache控制器有效
| 申請?zhí)枺?/td> | 201210531583.1 | 申請日: | 2012-12-11 |
| 公開(公告)號: | CN103870204B | 公開(公告)日: | 2018-01-09 |
| 發(fā)明(設(shè)計)人: | 韓晶;江濤;侯銳;張科 | 申請(專利權(quán))人: | 華為技術(shù)有限公司;中國科學(xué)院計算技術(shù)研究所 |
| 主分類號: | G06F3/06 | 分類號: | G06F3/06;G06F12/0877 |
| 代理公司: | 深圳市深佳知識產(chǎn)權(quán)代理事務(wù)所(普通合伙)44285 | 代理人: | 唐華明 |
| 地址: | 518129 廣東*** | 國省代碼: | 廣東;44 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 cache 數(shù)據(jù) 寫入 讀取 方法 控制器 | ||
技術(shù)領(lǐng)域
本發(fā)明涉及存儲器領(lǐng)域,尤其涉及一種高速緩沖存儲器(英文全稱為:cache)中數(shù)據(jù)寫入和讀取方法、cache控制器。
背景技術(shù)
處理器處理數(shù)據(jù)的速度非常快,而內(nèi)存的存取時間是處理器時鐘周期的數(shù)百倍,為了縮小處理器和內(nèi)存之間的速度不匹配,可在系統(tǒng)中增加cache,cache是存在于內(nèi)存與處理器之間的一級存儲器,容量較小但速度比內(nèi)存高得多,接近于處理器的處理數(shù)據(jù)的速度,cache中可以保存內(nèi)存中數(shù)據(jù)的子集,使得處理器從cache中讀取數(shù)據(jù)或者將數(shù)據(jù)寫入cache,提高數(shù)據(jù)處理速度。
目前,實驗研究表明,cache作為內(nèi)存中所保存的數(shù)據(jù)的緩存時,處理器讀取的數(shù)據(jù)中有90%以上是從cache中讀取的,且cache中存儲的數(shù)據(jù)中有大約30%的數(shù)據(jù)為零數(shù)據(jù),而零數(shù)據(jù)的讀取和寫入將消耗大量的功耗且浪費(fèi)時間,其中,零數(shù)據(jù)是指cache中的高速緩存塊中的緩存的數(shù)據(jù)為零。
發(fā)明內(nèi)容
本發(fā)明實施例提供了一種cache中數(shù)據(jù)寫入和讀取方法、cache控制器,用于在寫入的數(shù)據(jù)為零時,通過設(shè)置零數(shù)據(jù)標(biāo)識位為真以完成數(shù)據(jù)寫入,且用于在數(shù)據(jù)讀取時,若待讀取數(shù)據(jù)的高速緩存塊(英文全稱為:cache line)中的零數(shù)據(jù)標(biāo)識位為真,則向處理器返回零,利用零數(shù)據(jù)標(biāo)識位降低功耗,且縮短數(shù)據(jù)寫入及讀取的時間。
本發(fā)明一方面提供了一種高速緩存存儲器cache中數(shù)據(jù)寫入方法,包括:
接收處理器發(fā)送的數(shù)據(jù)寫入請求和待寫入數(shù)據(jù),所述數(shù)據(jù)寫入請求中包含高速緩存塊的地址;
讀取用于緩存所述待寫入數(shù)據(jù)的高速緩存塊中的第一數(shù)據(jù);
根據(jù)所述高速緩存塊的地址將所述待寫入數(shù)據(jù)替換所述第一數(shù)據(jù)中的部分或者全部數(shù)據(jù),得到第二數(shù)據(jù);
檢測所述第二數(shù)據(jù)是否為零;
若所述第二數(shù)據(jù)為零,則將所述用于緩存所述待寫入數(shù)據(jù)的高速緩存塊的零數(shù)據(jù)標(biāo)識位設(shè)置為真,以完成數(shù)據(jù)寫入。
在第一種可能的實現(xiàn)方式中,數(shù)據(jù)寫入方法還包括:利用所述高速緩存塊的地址確定所述用于緩存所述待寫入數(shù)據(jù)的高速緩存塊。
結(jié)合第一方面或者第一方面第一種可能的實現(xiàn)方式,在第二種可能的實現(xiàn)方式中,所述高速緩存塊的地址包括高速緩存索引值及高速緩存標(biāo)識位,則在第二種可能的實現(xiàn)方式中,所述利用所述高速緩存塊的地址確定用于緩存所述待寫入數(shù)據(jù)的高速緩存塊包括:利用所述高速緩存索引值查找cache,得到與所述高速緩存索引值對應(yīng)的至少一個高速緩存塊;從所述至少一個高速緩存塊中選擇高速緩存塊作為所述用于緩存所述待寫入數(shù)據(jù)的高速緩存塊,所述選擇的高速緩存塊的高速緩存標(biāo)識位與所述高速緩存塊的地址中的所述高速緩存標(biāo)識位相同。
結(jié)合第一方面第二種可能的實現(xiàn)方式,在第三種可能的實現(xiàn)方式中,所述高速緩存塊的地址還包括偏移量,則在第三種可能的實現(xiàn)方式中,所述根據(jù)所述高速緩存塊的地址將所述待寫入數(shù)據(jù)替換所述第一數(shù)據(jù)中的部分或者全部數(shù)據(jù),得到第二數(shù)據(jù)包括:按照所述偏移量將所述待寫入數(shù)據(jù)替換所述第一數(shù)據(jù)中的部分或者全部數(shù)據(jù),得到第二數(shù)據(jù)。
本發(fā)明第二方面提供了一種高速緩存存儲器cache中數(shù)據(jù)讀取方法,可包括:
接收處理器發(fā)送的數(shù)據(jù)讀取請求,所述數(shù)據(jù)讀取請求中包含高速緩存塊的地址;
根據(jù)所述高速緩存塊的地址確定待讀取數(shù)據(jù)的高速緩存塊;
若所述待讀取數(shù)據(jù)的高速緩存塊的零數(shù)據(jù)標(biāo)識位為真,則向所述處理器返回零,以完成數(shù)據(jù)讀取。
在第二方面第一種可能的實現(xiàn)方式中,所述高速緩存塊的地址包括高速緩存索引值及高速緩存標(biāo)識位;
則所述根據(jù)所述高速緩存塊的地址確定待讀取數(shù)據(jù)的高速緩存塊包括:
利用所述高速緩存索引值查找cache,得到與所述高速緩存索引值對應(yīng)的至少一個高速緩存塊;
從所述至少一個高速緩存塊中選擇高速緩存塊作為所述用于緩存所述待寫入數(shù)據(jù)的高速緩存塊,所述選擇的高速緩存塊的高速緩存標(biāo)識位與所述高速緩存塊的地址中的所述高速緩存標(biāo)識位相同。
本發(fā)明第三方面提供了一種高速緩存存儲器cache控制器,可包括:
接收單元,用于接收處理器發(fā)送的數(shù)據(jù)寫入請求和待寫入數(shù)據(jù),所述數(shù)據(jù)寫入請求中包含高速緩存塊的地址;
讀取單元,用于在所述接收單元接收所述數(shù)據(jù)寫入請求和待寫入數(shù)據(jù)之后,讀取用于緩存所述待寫入數(shù)據(jù)的高速緩存塊中的第一數(shù)據(jù);
替換單元,用于在所述讀取單元讀取第一數(shù)據(jù)之后,根據(jù)所述高速緩存塊的地址將所述待寫入數(shù)據(jù)替換所述第一數(shù)據(jù)中的部分或者全部數(shù)據(jù),得到第二數(shù)據(jù);
該專利技術(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/201210531583.1/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 同類專利
- 專利分類
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F3-00 用于將所要處理的數(shù)據(jù)轉(zhuǎn)變成為計算機(jī)能夠處理的形式的輸入裝置;用于將數(shù)據(jù)從處理機(jī)傳送到輸出設(shè)備的輸出裝置,例如,接口裝置
G06F3-01 .用于用戶和計算機(jī)之間交互的輸入裝置或輸入和輸出組合裝置
G06F3-05 .在規(guī)定的時間間隔上,利用模擬量取樣的數(shù)字輸入
G06F3-06 .來自記錄載體的數(shù)字輸入,或者到記錄載體上去的數(shù)字輸出
G06F3-09 .到打字機(jī)上去的數(shù)字輸出
G06F3-12 .到打印裝置上去的數(shù)字輸出
- 一種基于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ì)
- 數(shù)據(jù)顯示系統(tǒng)、數(shù)據(jù)中繼設(shè)備、數(shù)據(jù)中繼方法、數(shù)據(jù)系統(tǒng)、接收設(shè)備和數(shù)據(jù)讀取方法
- 數(shù)據(jù)記錄方法、數(shù)據(jù)記錄裝置、數(shù)據(jù)記錄媒體、數(shù)據(jù)重播方法和數(shù)據(jù)重播裝置
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)發(fā)送系統(tǒng)、數(shù)據(jù)發(fā)送裝置以及數(shù)據(jù)結(jié)構(gòu)
- 數(shù)據(jù)顯示系統(tǒng)、數(shù)據(jù)中繼設(shè)備、數(shù)據(jù)中繼方法及數(shù)據(jù)系統(tǒng)
- 數(shù)據(jù)嵌入裝置、數(shù)據(jù)嵌入方法、數(shù)據(jù)提取裝置及數(shù)據(jù)提取方法
- 數(shù)據(jù)管理裝置、數(shù)據(jù)編輯裝置、數(shù)據(jù)閱覽裝置、數(shù)據(jù)管理方法、數(shù)據(jù)編輯方法以及數(shù)據(jù)閱覽方法
- 數(shù)據(jù)發(fā)送和數(shù)據(jù)接收設(shè)備、數(shù)據(jù)發(fā)送和數(shù)據(jù)接收方法
- 數(shù)據(jù)發(fā)送裝置、數(shù)據(jù)接收裝置、數(shù)據(jù)收發(fā)系統(tǒng)、數(shù)據(jù)發(fā)送方法、數(shù)據(jù)接收方法和數(shù)據(jù)收發(fā)方法
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)再現(xiàn)方法、數(shù)據(jù)發(fā)送裝置及數(shù)據(jù)再現(xiàn)裝置
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)再現(xiàn)方法、數(shù)據(jù)發(fā)送裝置及數(shù)據(jù)再現(xiàn)裝置





