[發(fā)明專利]基于多級(jí)緩存的數(shù)據(jù)讀/寫方法、裝置和計(jì)算機(jī)系統(tǒng)有效
| 申請(qǐng)?zhí)枺?/td> | 201310331344.6 | 申請(qǐng)日: | 2013-07-31 |
| 公開(公告)號(hào): | CN104346294B | 公開(公告)日: | 2017-08-25 |
| 發(fā)明(設(shè)計(jì))人: | 李曄;張立新;侯銳;張科 | 申請(qǐng)(專利權(quán))人: | 華為技術(shù)有限公司;中國科學(xué)院計(jì)算技術(shù)研究所 |
| 主分類號(hào): | G06F12/0871 | 分類號(hào): | G06F12/0871 |
| 代理公司: | 北京中博世達(dá)專利商標(biāo)代理有限公司11274 | 代理人: | 申健 |
| 地址: | 518129 廣東*** | 國省代碼: | 廣東;44 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 基于 多級(jí) 緩存 數(shù)據(jù) 方法 裝置 計(jì)算機(jī)系統(tǒng) | ||
技術(shù)領(lǐng)域
本發(fā)明涉及計(jì)算機(jī)系統(tǒng)的數(shù)據(jù)讀寫領(lǐng)域,尤其涉及一種基于多級(jí)緩存的數(shù)據(jù)讀/寫方法、裝置和計(jì)算機(jī)系統(tǒng)。
背景技術(shù)
緩存(Cache,也稱為高速緩沖存儲(chǔ)器)位于中央處理器(CPU,Central Processing Unit)和內(nèi)存(Memory)之間,主要是為了解決CPU運(yùn)算速度和內(nèi)存讀寫速度不匹配的問題。目前計(jì)算機(jī)最多采用三級(jí)Cache結(jié)構(gòu),其中L1(Level1)采用高速小容量的Cache,L2(Level2)采用速度中等容量較大的Cache,L3(Level3)采用低速大容量的Cache。
基于上述的多級(jí)Cache,現(xiàn)有技術(shù)中CPU執(zhí)行讀操作的具體過程如下:
當(dāng)CPU Core(CPU核)在發(fā)出讀數(shù)據(jù)請(qǐng)求時(shí),通過逐層查找的方式,即先從L1Cache開始查找數(shù)據(jù),如果Cache未命中(Cache miss),去L2Cache中查找,依次類推,直至查找到數(shù)據(jù)為止。
在上述的過程中,通常需要經(jīng)過多次查找方可命中,例如假如讀操作針對(duì)的數(shù)據(jù)存儲(chǔ)在L3Cache中,這樣必須在L1Cache和L2Cache均未命中的情況下才會(huì)到L3Cache查找數(shù)據(jù),從而導(dǎo)致Cache訪問效率比較低。
發(fā)明內(nèi)容
本發(fā)明的實(shí)施例提供了一種基于多級(jí)緩存的數(shù)據(jù)讀/寫方法、裝置和計(jì)算機(jī)系統(tǒng),有助于提高Cache訪問效率,進(jìn)而有助于在數(shù)據(jù)讀/寫過程中降低Cache缺失率。
為達(dá)到上述目的,本發(fā)明的實(shí)施例采用如下技術(shù)方案:
第一方面,本發(fā)明提供了一種基于多級(jí)緩存的數(shù)據(jù)讀/寫方法,包括:
獲取讀/寫數(shù)據(jù)所針對(duì)的第一物理內(nèi)存數(shù)據(jù)塊的第一查詢地址;
獲取所述第一物理內(nèi)存數(shù)據(jù)塊的第一緩存位置屬性;所述第一緩存位置屬性用于指示第一物理內(nèi)存數(shù)據(jù)塊所能進(jìn)入緩存的級(jí)別;
根據(jù)所述第一查詢地址,按照所述第一緩存位置屬性所指示的第一物理內(nèi)存數(shù)據(jù)塊所能進(jìn)入的緩存級(jí)別從高到低的順序依次查詢緩存是否命中,直至一個(gè)緩存命中或所有緩存均未命中為止;
若一個(gè)緩存命中,則針對(duì)所命中緩存中的第一物理內(nèi)存數(shù)據(jù)塊的第一查詢地址讀/寫數(shù)據(jù);或,若所有緩存均未命中,則針對(duì)內(nèi)存中的第一物理內(nèi)存數(shù)據(jù)塊的第一查詢地址讀/寫數(shù)據(jù)。
在第一種可能的實(shí)現(xiàn)方式中,根據(jù)第一方面,所述第一緩存位置屬性為根據(jù)第一物理內(nèi)存數(shù)據(jù)塊的被訪問情況,在頁表緩存TLB中為所述第一物理內(nèi)存數(shù)據(jù)塊所設(shè)定的;
所述獲取所述第一物理內(nèi)存數(shù)據(jù)塊的第一緩存位置屬性包括:
根據(jù)頁表緩存TLB中存儲(chǔ)的物理內(nèi)存數(shù)據(jù)塊的屬性信息,查詢所述第一查詢地址對(duì)應(yīng)的第一緩存位置屬性;所述TLB中存儲(chǔ)有物理內(nèi)存數(shù)據(jù)塊的屬性信息,其中包括:物理內(nèi)存數(shù)據(jù)塊的查詢地址、物理內(nèi)存數(shù)據(jù)塊的緩存位置屬性的對(duì)應(yīng)關(guān)系。
在第二種可能的實(shí)現(xiàn)方式中,根據(jù)第一方面,所述第一緩存位置屬性為根據(jù)第一物理內(nèi)存數(shù)據(jù)塊的被訪問情況,在系統(tǒng)寄存器中為所述第一物理內(nèi)存數(shù)據(jù)塊所設(shè)定的;
所述獲取所述第一物理內(nèi)存數(shù)據(jù)塊的第一緩存位置屬性包括:
讀取當(dāng)前系統(tǒng)寄存器中存儲(chǔ)的緩存位置屬性,并其作為所述第一物理內(nèi)存數(shù)據(jù)塊的第一緩存位置屬性;所述系統(tǒng)寄存器用于存儲(chǔ)緩存位置屬性。
在第三種可能的實(shí)現(xiàn)方式中,根據(jù)第一方面,所述針對(duì)所命中緩存中的第一物理內(nèi)存數(shù)據(jù)塊的第一查詢地址讀/寫數(shù)據(jù)包括:通過與所命中緩存間的直接數(shù)據(jù)通路,針對(duì)所命中緩存中的第一物理內(nèi)存數(shù)據(jù)塊的第一查詢地址讀/寫數(shù)據(jù);或者,
所述針對(duì)內(nèi)存中的第一物理內(nèi)存數(shù)據(jù)塊的第一查詢地址讀/寫數(shù)據(jù)包括:通過與內(nèi)存間的直接數(shù)據(jù)通路,針對(duì)內(nèi)存中的第一物理內(nèi)存數(shù)據(jù)塊的第一查詢地址讀/寫數(shù)據(jù)。
在第四種可能的實(shí)現(xiàn)方式中,結(jié)合第一方面或前三種可能的實(shí)現(xiàn)方式中的任一種,在讀數(shù)據(jù)時(shí),
若所命中緩存的級(jí)別是所述第一緩存位置屬性指示的所能進(jìn)入緩存級(jí)別中的非最高級(jí)別,則所述方法還包括:在所述第一緩存位置屬性指示的所能進(jìn)入的緩存級(jí)別中,將需要讀的數(shù)據(jù)回填到級(jí)別高于所命中緩存的級(jí)別的緩存;或者,
若所命中緩存的級(jí)別是所述第一緩存位置屬性指示的所能進(jìn)入緩存級(jí)別中的最高級(jí)別,則不向其他緩存回填數(shù)據(jù);或者,
若所有緩存均未命中,則所述方法還包括:將需要讀的數(shù)據(jù)回填到所述第一緩存位置屬性指示的所能進(jìn)入的緩存中。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于華為技術(shù)有限公司;中國科學(xué)院計(jì)算技術(shù)研究所,未經(jīng)華為技術(shù)有限公司;中國科學(xué)院計(jì)算技術(shù)研究所許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310331344.6/2.html,轉(zhuǎn)載請(qǐng)聲明來源鉆瓜專利網(wǎng)。
- 同類專利
- 專利分類
- 逐出高速緩存的行的電路布置、數(shù)據(jù)處理系統(tǒng)和方法
- 共享緩存管理系統(tǒng)及方法
- 分布式緩存系統(tǒng)、數(shù)據(jù)的緩存方法及緩存數(shù)據(jù)的查詢方法
- 一種緩存替換方法;裝置和系統(tǒng)
- 加速引擎及處理器
- 一種日志緩存方法、系統(tǒng)、設(shè)備及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)
- 緩存控制方法、裝置和計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)
- 至少具有三個(gè)緩存級(jí)別的緩存層級(jí)的混合低級(jí)緩存包含策略
- 基于雙緩存區(qū)的緩存方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)
- 緩存預(yù)載方法、裝置、處理器芯片及服務(wù)器
- 數(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)裝置





