[發(fā)明專利]一種數(shù)據(jù)讀取方法和裝置、計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)有效
| 申請(qǐng)?zhí)枺?/td> | 201910637085.7 | 申請(qǐng)日: | 2019-07-15 |
| 公開(公告)號(hào): | CN112231241B | 公開(公告)日: | 2023-02-17 |
| 發(fā)明(設(shè)計(jì))人: | 董禮玲 | 申請(qǐng)(專利權(quán))人: | 深圳市中興微電子技術(shù)有限公司 |
| 主分類號(hào): | G06F12/0811 | 分類號(hào): | G06F12/0811;G06F12/122 |
| 代理公司: | 北京天昊聯(lián)合知識(shí)產(chǎn)權(quán)代理有限公司 11112 | 代理人: | 姜春咸;馮建基 |
| 地址: | 518055 廣東省深*** | 國省代碼: | 廣東;44 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 數(shù)據(jù) 讀取 方法 裝置 計(jì)算機(jī) 可讀 存儲(chǔ) 介質(zhì) | ||
本申請(qǐng)公開了一種數(shù)據(jù)讀取方法和裝置、計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述方法包括:接收攜帶目標(biāo)存儲(chǔ)器中的目標(biāo)存儲(chǔ)地址的讀數(shù)據(jù)請(qǐng)求,將目標(biāo)存儲(chǔ)地址轉(zhuǎn)換為第一緩存地址;從第一緩存中讀取對(duì)應(yīng)第一緩存地址的第一數(shù)據(jù),第一數(shù)據(jù)為第二緩存地址;從第二緩存中讀取對(duì)應(yīng)第二緩存地址的第二數(shù)據(jù),將第二數(shù)據(jù)與讀數(shù)據(jù)請(qǐng)求進(jìn)行比對(duì),判斷是否命中,第一緩存條目寬度W1小于第二緩存條目寬度W2,第一緩存條目數(shù)量K1大于第二緩存條目數(shù)量K2,且K1*W1+K2*W2K1*W2;如果命中,輸出第二數(shù)據(jù);如果未命中,根據(jù)目標(biāo)存儲(chǔ)地址讀取目標(biāo)存儲(chǔ)器中的數(shù)據(jù)并輸出。本申請(qǐng)通過設(shè)置兩個(gè)緩存間接映射,節(jié)約了緩存的總存儲(chǔ)空間,降低了Cache沖突的概率,滿足了網(wǎng)絡(luò)處理器高帶寬的需求。
技術(shù)領(lǐng)域
本發(fā)明實(shí)施例涉及但不限于網(wǎng)絡(luò)通信技術(shù)領(lǐng)域,尤指一種數(shù)據(jù)讀取方法和裝置、計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。
背景技術(shù)
隨著網(wǎng)絡(luò)設(shè)備(路由器、交換機(jī)等)中表項(xiàng)容量的增加,網(wǎng)絡(luò)處理器(NetworkProcessor,NP)芯片內(nèi)部的靜態(tài)隨機(jī)存取存儲(chǔ)器(Static Random Access Memory,SRAM)無法滿足表項(xiàng)的容量需求,大容量動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(Dynamic Random Access Memory,DRAM),即DRAM等會(huì)被用來存儲(chǔ)表項(xiàng)信息。但是,DRAM訪問時(shí)間較長(zhǎng),又無法滿足NP的查表帶寬需求。因此,NP內(nèi)部通常要設(shè)置小容量高速緩存(Cache)來吸收部分訪問DRAM的流量。
如圖1所示,網(wǎng)絡(luò)處理器應(yīng)用場(chǎng)景中,中央處理器(Central Processing Unit,CPU)或包處理器(Packet Processor,PP)發(fā)起查表操作,該操作會(huì)先經(jīng)過Cache管理模塊,如果Cache命中,則直接返回查表結(jié)果,否則,再向DRAM發(fā)送查表請(qǐng)求。
由于DRAM與Cache在容量上存在巨大差異,DRAM中的數(shù)據(jù)不可能全部寫入Cache,因此必然存在DRAM中多個(gè)條目映射到Cache中同一地址的情況。具體的映射方法包括:
(1)直接映射:如圖2a所示,DRAM中每個(gè)條目在Cache中的位置是唯一的;
(2)全相聯(lián)映射:如圖2b所示,DRAM中每個(gè)條目可以映射到Cache中任意一個(gè)位置上;
(3)組相聯(lián)映射:如圖2c所示,介于全相聯(lián)映射和直接映射之間,DRAM中每個(gè)條目可以映射到一部分位置。
直接映射中,由于DRAM條目在Cache中位置是唯一確定的,一般不需要替換算法,但是存在多個(gè)常用DRAM數(shù)據(jù)映射到Cache同一地址的情況,當(dāng)出現(xiàn)該情況時(shí)會(huì)有頻繁的Cache替換操作,導(dǎo)致Cache性能下降。
全相聯(lián)和組相聯(lián)映射中,由于DRAM中每個(gè)條目可以映射到Cache中多個(gè)位置,降低了頻繁替換的可能。全相聯(lián)Cache往往能得到最好的性能,但是,它需要對(duì)Cache內(nèi)所有條目都進(jìn)行比對(duì),實(shí)現(xiàn)復(fù)雜度過高。因此,目前普遍采用的是組相聯(lián)Cache,通常實(shí)現(xiàn)中會(huì)將DRAM分成K組,每組可映射到Cache中n個(gè)條目,由于組之間的Cache空間不可共享,因此,需要的Cache的深度(即條目數(shù)量)為K*n。
目前,對(duì)于如何節(jié)約緩存的存儲(chǔ)空間、降低緩存的開銷的研究甚少。多數(shù)研究只關(guān)注了替換策略對(duì)Cache性能的影響,而且多數(shù)應(yīng)用仍基于“局部性”原理(即如果一個(gè)存儲(chǔ)單元正在被訪問,那么在近期它很可能還會(huì)被再次訪問),并不符合網(wǎng)絡(luò)處理器的流量特征。另有一些方案中使用多級(jí)Cache以及混合替換策略等,無法滿足網(wǎng)絡(luò)處理器高帶寬的需求。
發(fā)明內(nèi)容
為了解決上述技術(shù)問題,本發(fā)明實(shí)施例提供了一種數(shù)據(jù)讀取方法和裝置、計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),能夠節(jié)約緩存的總存儲(chǔ)空間,降低緩存的開銷。
為了達(dá)到本發(fā)明目的,本發(fā)明實(shí)施例提供了一種數(shù)據(jù)讀取方法,包括:
接收讀數(shù)據(jù)請(qǐng)求,所述讀數(shù)據(jù)請(qǐng)求攜帶目標(biāo)存儲(chǔ)器中的目標(biāo)存儲(chǔ)地址,將目標(biāo)存儲(chǔ)地址轉(zhuǎn)換為第一緩存地址;
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于深圳市中興微電子技術(shù)有限公司,未經(jīng)深圳市中興微電子技術(shù)有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201910637085.7/2.html,轉(zhuǎn)載請(qǐng)聲明來源鉆瓜專利網(wǎng)。
- 上一篇:一種黑色鐵尾礦微晶玻璃及其制備方法
- 下一篇:輸出電路
- 同類專利
- 專利分類
- 數(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)裝置
- 一種數(shù)據(jù)庫讀寫分離的方法和裝置
- 一種手機(jī)動(dòng)漫人物及背景創(chuàng)作方法
- 一種通訊綜合測(cè)試終端的測(cè)試方法
- 一種服裝用人體測(cè)量基準(zhǔn)點(diǎn)的獲取方法
- 系統(tǒng)升級(jí)方法及裝置
- 用于虛擬和接口方法調(diào)用的裝置和方法
- 線程狀態(tài)監(jiān)控方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)
- 一種JAVA智能卡及其虛擬機(jī)組件優(yōu)化方法
- 檢測(cè)程序中方法耗時(shí)的方法、裝置及存儲(chǔ)介質(zhì)
- 函數(shù)的執(zhí)行方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)





