專利名稱:網(wǎng)絡(luò)處理器、網(wǎng)絡(luò)處理器訪問(wèn)數(shù)據(jù)結(jié)構(gòu)的方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信領(lǐng)域,尤其涉及一種網(wǎng)絡(luò)處理器、網(wǎng)絡(luò)處理器訪問(wèn)數(shù)據(jù)結(jié) 構(gòu)的方法及系統(tǒng)。
背景技術(shù):
隨著網(wǎng)絡(luò)帶寬的飛速增長(zhǎng)和各種新的網(wǎng)絡(luò)應(yīng)用不斷涌現(xiàn),原有的基于通用
處理器和專用集成電路ASIC (Application Specific Integrated Circuit)的互聯(lián)
網(wǎng)架構(gòu)已經(jīng)不能滿足新的需求。兼具強(qiáng)大處理能力和靈活可編程配置能力的網(wǎng) 絡(luò)處理器NP (Network Processor)逐漸得到廣泛的應(yīng)用,比如包處理、協(xié)議 分析、路由查找、聲音/數(shù)據(jù)的匯聚、防火墻、QOS等等。目前的NP—般指 綜合業(yè)務(wù)的網(wǎng)絡(luò)處理器,即完成各種轉(zhuǎn)發(fā)功能的網(wǎng)絡(luò)處理器。
網(wǎng)絡(luò)處理器主要包括轉(zhuǎn)發(fā)引擎(FE, Forwarding Engine )、協(xié)處理器和交 換接口。轉(zhuǎn)發(fā)引擎負(fù)責(zé)報(bào)文的轉(zhuǎn)發(fā)處理,該轉(zhuǎn)發(fā)引擎內(nèi)設(shè)置有內(nèi)部寄存器,通 常多個(gè)轉(zhuǎn)發(fā)引擎并行處理,通過(guò)軟件來(lái)實(shí)現(xiàn)轉(zhuǎn)發(fā)控制處理流程;協(xié)處理器主要 用以對(duì)網(wǎng)絡(luò)處理器的硬件單元進(jìn)行操作和控制;交換接口主要用以與外部網(wǎng)絡(luò) 進(jìn)行交互。網(wǎng)絡(luò)處理器外部還包括有外圍存儲(chǔ)器(如Sram、 Dram等),用以 存儲(chǔ)數(shù)據(jù)結(jié)構(gòu)(Data Structure)等信息并與網(wǎng)絡(luò)處理器相通信。
在實(shí)現(xiàn)本發(fā)明過(guò)程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)中至少存在如下問(wèn)題 網(wǎng)絡(luò)處理器在進(jìn)行信息處理的過(guò)程中需要訪問(wèn)大量的數(shù)據(jù)結(jié)構(gòu),高速的網(wǎng) 絡(luò)處理器在發(fā)起對(duì)數(shù)據(jù)結(jié)構(gòu)的訪問(wèn)指令后,需要等待慢速的外圍存儲(chǔ)器返回?cái)?shù) 據(jù)結(jié)構(gòu),才能將數(shù)據(jù)結(jié)構(gòu)讀至網(wǎng)絡(luò)處理器內(nèi),進(jìn)行修改處理后,再寫回外圍存 儲(chǔ)器中。由于網(wǎng)絡(luò)處理器與外圍的存儲(chǔ)器執(zhí)行速率不匹配,影響網(wǎng)絡(luò)處理器的
5處理性能。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例在于提供一種網(wǎng)絡(luò)處理器、網(wǎng)絡(luò)處理器訪問(wèn)數(shù)據(jù)結(jié)構(gòu)的方法 及系統(tǒng),保證網(wǎng)絡(luò)處理器訪問(wèn)數(shù)據(jù)結(jié)構(gòu)的快速性,同時(shí)也保證網(wǎng)絡(luò)處理器的內(nèi) 部寄存器空間的有效利用。
本發(fā)明實(shí)施例提出的一種網(wǎng)絡(luò)處理器訪問(wèn)數(shù)據(jù)結(jié)構(gòu)的方法,包括獲取需 要訪問(wèn)的數(shù)據(jù)結(jié)構(gòu)的特征值;
根據(jù)所述需要訪問(wèn)的數(shù)據(jù)結(jié)構(gòu)的特征值查找尋址存儲(chǔ)器,如果在所述尋址 存儲(chǔ)器中查詢到所述需要訪問(wèn)的數(shù)據(jù)結(jié)構(gòu)的特征值,則內(nèi)部寄存器存在所述需 要訪問(wèn)的數(shù)據(jù)結(jié)構(gòu),從所述內(nèi)部寄存器中訪問(wèn)所述數(shù)據(jù)結(jié)構(gòu)。
本發(fā)明實(shí)施例提出的一種網(wǎng)絡(luò)處理器,包括獲取單元,用于獲取需要訪 問(wèn)的數(shù)據(jù)結(jié)構(gòu)的特征值;內(nèi)部寄存器,用于寄存所述需要訪問(wèn)的數(shù)據(jù)結(jié)構(gòu);尋 址存儲(chǔ)器,用于存儲(chǔ)和所述內(nèi)部寄存器中的所述需要訪問(wèn)的數(shù)據(jù)結(jié)構(gòu)對(duì)應(yīng)的特 征值;查找單元,用于根據(jù)所述需要訪問(wèn)的數(shù)據(jù)結(jié)構(gòu)對(duì)應(yīng)的特征值查找所述尋 址存儲(chǔ)器和/或外圍存儲(chǔ)器;訪問(wèn)單元,用于從內(nèi)部寄存器中訪問(wèn)所述數(shù)據(jù)結(jié) 構(gòu)。
本發(fā)明實(shí)施例提出的一種網(wǎng)絡(luò)處理器訪問(wèn)數(shù)據(jù)結(jié)構(gòu)的系統(tǒng),包括外圍存 儲(chǔ)器和網(wǎng)絡(luò)處理器,其中,所述網(wǎng)絡(luò)處理器包括內(nèi)部寄存器和尋址存儲(chǔ)器;所 述網(wǎng)絡(luò)處理器獲取需要訪問(wèn)的數(shù)據(jù)結(jié)構(gòu)的特征值,根據(jù)所述需要訪問(wèn)的數(shù)據(jù)結(jié) 構(gòu)的特征值查找所述尋址存儲(chǔ)器,如果在所述尋址存儲(chǔ)器中查詢到所述需要訪
問(wèn)的數(shù)據(jù)結(jié)構(gòu)的特征值,則內(nèi)部寄存器存在所述需要訪問(wèn)的數(shù)據(jù)結(jié)構(gòu),則所述 網(wǎng)絡(luò)處理器從所述內(nèi)部寄存器中訪問(wèn)所述數(shù)據(jù)結(jié)構(gòu)。
本發(fā)明實(shí)施例通過(guò)將數(shù)據(jù)結(jié)構(gòu)預(yù)先讀入內(nèi)部寄存器,并動(dòng)態(tài)地在外圍存儲(chǔ) 器和內(nèi)部寄存器之間進(jìn)行數(shù)據(jù)結(jié)構(gòu)的搬移,保證網(wǎng)絡(luò)處理器訪問(wèn)數(shù)據(jù)結(jié)構(gòu)的快 速性,同時(shí)保證了對(duì)內(nèi)部寄存器空間的有效利用。
圖1是本發(fā)明實(shí)施例網(wǎng)絡(luò)處理器訪問(wèn)數(shù)據(jù)結(jié)構(gòu)的方法流程示意圖2是本發(fā)明的實(shí)施例數(shù)據(jù)結(jié)構(gòu)更新的方法流程示意圖3是本發(fā)明實(shí)施例用于網(wǎng)絡(luò)處理器訪問(wèn)數(shù)據(jù)結(jié)構(gòu)的系統(tǒng)結(jié)構(gòu)示意圖。
具體實(shí)施例方式
本發(fā)明實(shí)施例提供一種網(wǎng)絡(luò)處理器、網(wǎng)絡(luò)處理器訪問(wèn)數(shù)據(jù)結(jié)構(gòu)的方法及系 統(tǒng),下面結(jié)合附圖詳細(xì)說(shuō)明本發(fā)明的優(yōu)選實(shí)施例。
請(qǐng)參考圖l所示,在本發(fā)明的實(shí)施例中,網(wǎng)絡(luò)處理器訪問(wèn)數(shù)據(jù)結(jié)構(gòu)的方法 包括
11:為數(shù)據(jù)結(jié)構(gòu)設(shè)置特征值;
在本發(fā)明的實(shí)施例中,為數(shù)據(jù)結(jié)構(gòu)預(yù)先設(shè)置特征值,每個(gè)數(shù)據(jù)結(jié)構(gòu)對(duì)應(yīng)一 個(gè)特征值;
12:將至少一數(shù)據(jù)結(jié)構(gòu)添加到內(nèi)部寄存器,該數(shù)據(jù)結(jié)構(gòu)對(duì)應(yīng)的特征值添加 到尋址存儲(chǔ)器;
通常是在系統(tǒng)初始化階段進(jìn)行此12,在此12中,并不一定要把所有的數(shù)據(jù) 結(jié)構(gòu)都預(yù)先讀入,較優(yōu)的是選擇其中常用的數(shù)據(jù)結(jié)構(gòu)讀入內(nèi)部寄存器,例如對(duì) 網(wǎng)絡(luò)流量做CAR ( commit access rate,即流量限制),如果對(duì)應(yīng)索引為1~100的 CAR表是經(jīng)常被查找的,那么就把這些CAR表讀入內(nèi)部寄存器,而不太使用 的CAR表仍然留在外圍存儲(chǔ)器。
13:網(wǎng)絡(luò)處理器需要訪問(wèn)某一數(shù)據(jù)結(jié)構(gòu)時(shí),獲取需要訪問(wèn)的數(shù)據(jù)結(jié)構(gòu)的特 征值,根據(jù)該所需數(shù)據(jù)結(jié)構(gòu)的特征值在尋址存儲(chǔ)器和/或外圍存儲(chǔ)器中查找該 所需數(shù)據(jù)結(jié)構(gòu);
在此13中,首先查找尋址存儲(chǔ)器中是否存在與所需數(shù)據(jù)結(jié)構(gòu)相對(duì)應(yīng)的特征 值;如果尋址存儲(chǔ)器中存在該所需數(shù)據(jù)結(jié)構(gòu)相對(duì)應(yīng)的特征值,則表明在內(nèi)部寄 存器中存在該所需數(shù)據(jù)結(jié)構(gòu);如果尋址存儲(chǔ)器中不存 該所需數(shù)據(jù)結(jié)構(gòu)相對(duì)應(yīng) 的特征值,則表明在內(nèi)部寄存器中不存在該所需數(shù)據(jù)結(jié)構(gòu);當(dāng)尋址存儲(chǔ)器中不存在該所需數(shù)據(jù)結(jié)構(gòu)相對(duì)應(yīng)的特征值,需要繼續(xù)查找外圍存儲(chǔ)器,然后內(nèi)部寄 存器從外圍存儲(chǔ)器中獲取所需數(shù)據(jù)結(jié)構(gòu),尋址存儲(chǔ)器獲取所需數(shù)據(jù)結(jié)構(gòu)對(duì)應(yīng)的
特征值;
在此13中,由于網(wǎng)絡(luò)處理器的內(nèi)部寄存器的空間有限,較優(yōu)的是,在有新
的數(shù)據(jù)結(jié)構(gòu)添加到內(nèi)部寄存器后,可以選擇將不常訪問(wèn)的數(shù)據(jù)結(jié)構(gòu)和該不常訪 問(wèn)的數(shù)據(jù)結(jié)構(gòu)對(duì)應(yīng)的特征值從內(nèi)部寄存器和尋址存儲(chǔ)器移至外圍存儲(chǔ)器,例如 可以基于最近一次被訪問(wèn)的時(shí)間記錄,來(lái)判斷不常訪問(wèn)的數(shù)據(jù)結(jié)構(gòu),當(dāng)有新的 數(shù)據(jù)結(jié)構(gòu)添加到內(nèi)部寄存器后,可以將不常訪問(wèn)的數(shù)據(jù)結(jié)構(gòu)替換出去。
14:網(wǎng)絡(luò)處理器從內(nèi)部寄存器中訪問(wèn)該所需數(shù)據(jù)結(jié)構(gòu)。
經(jīng)過(guò)上面的方法,保證網(wǎng)絡(luò)處理器所需要訪問(wèn)的數(shù)據(jù)結(jié)構(gòu)在內(nèi)部寄存器 中,即網(wǎng)絡(luò)處理器能夠從內(nèi)部寄存器中直接訪問(wèn)該所需數(shù)據(jù)結(jié)構(gòu)。
在本發(fā)明實(shí)施例中,將經(jīng)常被訪問(wèn)的數(shù)據(jù)結(jié)構(gòu)預(yù)先讀入內(nèi)部寄存器,并動(dòng) 態(tài)地在外圍存儲(chǔ)器和內(nèi)部寄存器之間進(jìn)行數(shù)據(jù)結(jié)構(gòu)的搬移,保證網(wǎng)絡(luò)處理器訪 問(wèn)數(shù)據(jù)結(jié)構(gòu)的快速性,同時(shí)保證了對(duì)內(nèi)部寄存器空間的有效利用。
數(shù)據(jù)結(jié)構(gòu)會(huì)有被控制層面刷新的情況,外圍存儲(chǔ)器會(huì)根據(jù)控制層面刷新的 情況對(duì)數(shù)據(jù)結(jié)構(gòu)進(jìn)行更新,并根據(jù)數(shù)據(jù)結(jié)構(gòu)更新的情況,對(duì)網(wǎng)絡(luò)處理器的內(nèi)部 寄存器中存儲(chǔ)的數(shù)據(jù)結(jié)構(gòu)進(jìn)行及時(shí)更新,在本發(fā)明的實(shí)施例中,請(qǐng)參考圖2所 示,方法如下
21:接收更新數(shù)據(jù)結(jié)構(gòu)的特征值;
該更新數(shù)據(jù)結(jié)構(gòu)的特征值可以由控制層面向網(wǎng)絡(luò)處理器傳遞,也可以由外 圍存儲(chǔ)器向網(wǎng)絡(luò)處理器傳遞。
22:查找尋址存儲(chǔ)器中是否存在該更新數(shù)據(jù)結(jié)構(gòu)的特征值;
如果尋址存儲(chǔ)器中不存在該更新數(shù)據(jù)結(jié)構(gòu)的特征值,則表明在內(nèi)容寄存 器中不存在對(duì)應(yīng)的數(shù)據(jù)結(jié)構(gòu),即無(wú)需進(jìn)行更新處理;
如果尋址存儲(chǔ)器中存在該更新數(shù)據(jù)結(jié)構(gòu)的特征值,則表明在內(nèi)部寄存器中 存在相對(duì)應(yīng)的沒(méi)有被更新的數(shù)據(jù)結(jié)構(gòu),執(zhí)行步驟23;
23:將外圍存儲(chǔ)器中的更新數(shù)據(jù)結(jié)構(gòu)添加到內(nèi)部寄存器,并替換原數(shù)據(jù)結(jié)構(gòu)。
在本發(fā)明實(shí)施例中,確保內(nèi)部寄存器中的數(shù)據(jù)結(jié)構(gòu)能夠被及時(shí)更新,進(jìn)一步保證了網(wǎng)絡(luò)處理器訪問(wèn)凄史據(jù)結(jié)構(gòu)的快速性。
請(qǐng)參考圖3所示,本發(fā)明的實(shí)施例提供了 一種網(wǎng)絡(luò)處理器以及用于網(wǎng)絡(luò)處理器訪問(wèn)數(shù)據(jù)結(jié)構(gòu)的系統(tǒng),其中該系統(tǒng)包括網(wǎng)絡(luò)處理器和外圍存儲(chǔ)器。
網(wǎng)絡(luò)處理器包括
設(shè)置單元lll,用于為數(shù)據(jù)結(jié)構(gòu)設(shè)置特征值;
添加單元112,用于將至少一數(shù)據(jù)結(jié)構(gòu)添加到內(nèi)部寄存器,并將添加到內(nèi)部寄存器中的數(shù)據(jù)結(jié)構(gòu)對(duì)應(yīng)的特征值添加到尋址存儲(chǔ)器;
內(nèi)部寄存器113,用于寄存數(shù)據(jù)結(jié)構(gòu),網(wǎng)絡(luò)處理器訪問(wèn)該內(nèi)部寄存器113獲取所需要的數(shù)據(jù)結(jié)構(gòu);
尋址存儲(chǔ)器114,用于存儲(chǔ)和內(nèi)部寄存器113中所寄存的數(shù)據(jù)結(jié)構(gòu)對(duì)應(yīng)的特征值;
查找單元115,用于根據(jù)數(shù)據(jù)結(jié)構(gòu)對(duì)應(yīng)的特征值查找尋址存儲(chǔ)器114和/或外圍存儲(chǔ)器,其中,首先查找尋址存儲(chǔ)器114,如果在尋址存儲(chǔ)器114查找到,則表明在內(nèi)部寄存器113中存在該數(shù)據(jù)結(jié)構(gòu),如果沒(méi)有在尋址存儲(chǔ)器114中查找到,則表明在內(nèi)部寄存器113中不存在該所需數(shù)據(jù)結(jié)構(gòu),而需要進(jìn)一步查找外圍存儲(chǔ)器,將所需數(shù)據(jù)結(jié)構(gòu)從外圍存儲(chǔ)器搬移到內(nèi)部寄存器113,并將該所需數(shù)據(jù)結(jié)構(gòu)對(duì)應(yīng)的特征值添加到尋址存儲(chǔ)器114;
訪問(wèn)單元116,用于從內(nèi)部寄存器113中訪問(wèn)數(shù)據(jù)結(jié)構(gòu)。
該網(wǎng)絡(luò)處理器還包括
獲取單元117:用于獲取特征值,其中,
該特征值可能是網(wǎng)絡(luò)處理器需要訪問(wèn)的數(shù)據(jù)結(jié)構(gòu)對(duì)應(yīng)的特征值,當(dāng)該獲取單元117獲取該需要訪問(wèn)的數(shù)據(jù)結(jié)構(gòu)對(duì)應(yīng)的特征值后,查找單元115根據(jù)獲取的該需要訪問(wèn)的數(shù)據(jù)結(jié)構(gòu)對(duì)應(yīng)的特征值查找尋址存儲(chǔ)器114和/或外圍存儲(chǔ)器,訪問(wèn)單元116從內(nèi)部寄存器113讀取所需要訪問(wèn)的數(shù)據(jù)結(jié)構(gòu);
該特征值也可能是更新的數(shù)據(jù)結(jié)構(gòu)對(duì)應(yīng)的特征值,當(dāng)該獲取單元115獲取該更新的數(shù)據(jù)結(jié)構(gòu)對(duì)應(yīng)的特征值后,查找單元115根據(jù)獲取的該更新的數(shù)據(jù)結(jié)構(gòu)對(duì)應(yīng)的特征值查找尋址存儲(chǔ)器114和/或外圍存儲(chǔ)器,根據(jù)查找結(jié)果判斷是
否需要更新內(nèi)部寄存器113中的數(shù)據(jù)結(jié)構(gòu),即如果在尋址存儲(chǔ)器114中沒(méi)有查找到該更新的數(shù)據(jù)結(jié)構(gòu)對(duì)應(yīng)的特征值時(shí),則內(nèi)部寄存器113中沒(méi)有和該更新的數(shù)據(jù)結(jié)構(gòu)對(duì)應(yīng)的原lt據(jù)結(jié)構(gòu),內(nèi)部寄存器113無(wú)需更新,如果在尋址存儲(chǔ)器114中查找到該更新的數(shù)據(jù)結(jié)構(gòu)對(duì)應(yīng)的特征值時(shí),則內(nèi)部寄存器113有和該更新的數(shù)據(jù)結(jié)構(gòu)對(duì)應(yīng)的原數(shù)據(jù)結(jié)構(gòu),該內(nèi)部寄存器113從所述外圍存儲(chǔ)器中獲取所述更新的數(shù)據(jù)結(jié)構(gòu),替換內(nèi)部寄存器113中的原數(shù)據(jù)結(jié)構(gòu)。
是可以通過(guò)程序來(lái)指令相關(guān)的轉(zhuǎn)發(fā)平面完成,所述的程序可以存儲(chǔ)于計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,所述存儲(chǔ)介質(zhì)可以是ROM/RAM, ^茲盤或光盤等。
以上所揭露的僅為本發(fā)明實(shí)施例中的一種較佳實(shí)施例而已,當(dāng)然不能以此來(lái)限定本發(fā)明之權(quán)利范圍,因此依本發(fā)明權(quán)利要求所作的等同變化,仍屬本發(fā)明所涵蓋的范圍。
權(quán)利要求
1、一種網(wǎng)絡(luò)處理器訪問(wèn)數(shù)據(jù)結(jié)構(gòu)的方法,其特征在于,包括獲取需要訪問(wèn)的數(shù)據(jù)結(jié)構(gòu)的特征值;根據(jù)所述需要訪問(wèn)的數(shù)據(jù)結(jié)構(gòu)的特征值查找尋址存儲(chǔ)器,如果在所述尋址存儲(chǔ)器中查詢到所述需要訪問(wèn)的數(shù)據(jù)結(jié)構(gòu)的特征值,則內(nèi)部寄存器存在所述需要訪問(wèn)的數(shù)據(jù)結(jié)構(gòu),從所述內(nèi)部寄存器中訪問(wèn)所述數(shù)據(jù)結(jié)構(gòu)。
2、 如權(quán)利要求1所述的網(wǎng)絡(luò)處理器訪問(wèn)數(shù)據(jù)結(jié)構(gòu)的方法,其特征在于,所 述獲取需要訪問(wèn)的數(shù)據(jù)結(jié)構(gòu)的特征值之前,還包括所述內(nèi)部寄存器預(yù)置至少一數(shù)據(jù)結(jié)構(gòu),所述尋址存儲(chǔ)器相應(yīng)的預(yù)先添加所 述內(nèi)部寄存器中預(yù)置的數(shù)據(jù)結(jié)構(gòu)對(duì)應(yīng)的特征值。
3、 如權(quán)利要求1所述的網(wǎng)絡(luò)處理器訪問(wèn)數(shù)據(jù)結(jié)構(gòu)的方法,其特征在于,還 包括如果在所述尋址存儲(chǔ)器中未查詢到所述數(shù)據(jù)結(jié)構(gòu)的特征值,則所述內(nèi)部 寄存器從外圍存儲(chǔ)器中獲取所述需要訪問(wèn)的數(shù)據(jù)結(jié)構(gòu),所述尋址存儲(chǔ)器獲取所 述需要訪問(wèn)的數(shù)據(jù)結(jié)構(gòu)的特征值。
4、 如權(quán)利要求3所述的網(wǎng)絡(luò)處理器訪問(wèn)數(shù)據(jù)結(jié)構(gòu)的方法,其特征在于,還 包括將不常訪問(wèn)的數(shù)據(jù)結(jié)構(gòu)從所述內(nèi)部寄存器移至外圍存儲(chǔ)器,并將所述不常 訪問(wèn)的數(shù)據(jù)結(jié)構(gòu)對(duì)應(yīng)的特征值從所述尋址存儲(chǔ)器移至所述外圍存儲(chǔ)器。
5、 如權(quán)利要求1-4中的任一項(xiàng)所述的網(wǎng)絡(luò)處理器訪問(wèn)數(shù)據(jù)結(jié)構(gòu)的方法,其 特征在于,還包括獲取更新的數(shù)據(jù)結(jié)構(gòu)的特征值; 根據(jù)所述更新的數(shù)據(jù)結(jié)構(gòu)的特征值查找尋址存儲(chǔ)器,如果在所述尋址存儲(chǔ)器中查詢到所述更新的數(shù)據(jù)結(jié)構(gòu)的特征值,則內(nèi)部寄 存器存在和所述更新的數(shù)據(jù)結(jié)構(gòu)對(duì)應(yīng)的原數(shù)據(jù)結(jié)構(gòu),所述內(nèi)部寄存器從所述外 圍存儲(chǔ)器中獲取所述更新的數(shù)據(jù)結(jié)構(gòu),替換所述內(nèi)部寄存器中的所述原數(shù)據(jù)結(jié)構(gòu)。
6、 一種網(wǎng)絡(luò)處理器,其特征在于,包括 獲取單元,用于獲取需要訪問(wèn)的數(shù)據(jù)結(jié)構(gòu)的特征值; 內(nèi)部寄存器,用于寄存所述需要訪問(wèn)的數(shù)據(jù)結(jié)構(gòu);尋址存儲(chǔ)器,用于存儲(chǔ)和所述內(nèi)部寄存器中的所述需要訪問(wèn)的數(shù)據(jù)結(jié)構(gòu)對(duì) 應(yīng)的特征值;查找單元,用于根據(jù)所述需要訪問(wèn)的數(shù)據(jù)結(jié)構(gòu)對(duì)應(yīng)的特征值查找所述尋址 存儲(chǔ)器和/或外圍存儲(chǔ)器;訪問(wèn)單元,用于從內(nèi)部寄存器中訪問(wèn)所述數(shù)據(jù)結(jié)構(gòu)。
7、 如權(quán)利要求5所述的網(wǎng)絡(luò)處理器,其特征在于,還包括添加單元,用于在所述內(nèi)部寄存器內(nèi)預(yù)置至少一數(shù)據(jù)結(jié)構(gòu),在所述尋址存 儲(chǔ)器內(nèi)預(yù)置與所述內(nèi)部寄存器內(nèi)預(yù)置的數(shù)據(jù)結(jié)構(gòu)對(duì)應(yīng)的特征值。
8、 如權(quán)利要求5所述的網(wǎng)絡(luò)處理器,其特征在于 所述獲取單元,還用于獲取更新的數(shù)據(jù)結(jié)構(gòu)的特征值; 所述查找單元,還用于根據(jù)所述更新的數(shù)據(jù)結(jié)構(gòu)的特征值查找尋址存儲(chǔ)器和/或外圍存儲(chǔ)器;所述內(nèi)部寄存器,還用于當(dāng)在所述尋址存儲(chǔ)器中查詢到所述更新的數(shù)據(jù)結(jié) 構(gòu)的特征值時(shí),從所述外圍存儲(chǔ)器中獲取所述更新的數(shù)據(jù)結(jié)構(gòu),替換所述內(nèi)部 寄存器中與所述更新的數(shù)據(jù)結(jié)構(gòu)對(duì)應(yīng)的原數(shù)據(jù)結(jié)構(gòu)。
9、 一種用于網(wǎng)絡(luò)處理器訪問(wèn)數(shù)據(jù)結(jié)構(gòu)的系統(tǒng),其特征在于,包括 外圍存儲(chǔ)器和網(wǎng)絡(luò)處理器,其中,所述網(wǎng)絡(luò)處理器包括內(nèi)部寄存器和尋址存儲(chǔ)器;所述網(wǎng)絡(luò)處理器獲取需要訪問(wèn)的數(shù)據(jù)結(jié)構(gòu)的特征值,根據(jù)所述需要訪問(wèn)的 數(shù)據(jù)結(jié)構(gòu)的特征值查找所述尋址存儲(chǔ)器,如果在所述尋址存儲(chǔ)器中查詢到所述 需要訪問(wèn)的數(shù)據(jù)結(jié)構(gòu)的特征值,則內(nèi)部寄存器存在所述需要訪問(wèn)的數(shù)據(jù)結(jié)構(gòu),
10、 如權(quán)利要求9所述的系統(tǒng),其特征在于所述內(nèi)部寄存器,用于寄存數(shù)據(jù)結(jié)構(gòu);所述尋址存儲(chǔ)器,用于存儲(chǔ)和所述內(nèi)部寄存器中的數(shù)據(jù)結(jié)構(gòu)對(duì)應(yīng)的特征值; 所述網(wǎng)絡(luò)處理器還包括,添加單元,用于在所述內(nèi)部寄存器內(nèi)預(yù)置至少一數(shù)據(jù)結(jié)構(gòu),在所述尋址存 儲(chǔ)器內(nèi)預(yù)置與所述內(nèi)部寄存器內(nèi)預(yù)置的數(shù)據(jù)結(jié)構(gòu)對(duì)應(yīng)的特征值;查找單元,用于根據(jù)所述需要訪問(wèn)的數(shù)據(jù)結(jié)構(gòu)對(duì)應(yīng)的特征值查找所述尋址 存儲(chǔ)器和/或所述外圍存儲(chǔ)器;訪問(wèn)單元,用于所述網(wǎng)絡(luò)處理器從所述內(nèi)部寄存器中讀取需要訪問(wèn)的數(shù)據(jù) 結(jié)構(gòu)。
全文摘要
本發(fā)明公開(kāi)了一種網(wǎng)絡(luò)處理器、網(wǎng)絡(luò)處理器訪問(wèn)數(shù)據(jù)結(jié)構(gòu)的方法及系統(tǒng),其方法包括獲取需要訪問(wèn)的數(shù)據(jù)結(jié)構(gòu)的特征值;根據(jù)所述需要訪問(wèn)的數(shù)據(jù)結(jié)構(gòu)的特征值查找尋址存儲(chǔ)器,如果在所述尋址存儲(chǔ)器中查詢到所述需要訪問(wèn)的數(shù)據(jù)結(jié)構(gòu)的特征值,則內(nèi)部寄存器存在所述需要訪問(wèn)的數(shù)據(jù)結(jié)構(gòu),從所述內(nèi)部寄存器中訪問(wèn)所述數(shù)據(jù)結(jié)構(gòu)。通過(guò)將數(shù)據(jù)結(jié)構(gòu)預(yù)先讀入內(nèi)部寄存器,并動(dòng)態(tài)地在外圍存儲(chǔ)器和內(nèi)部寄存器之間進(jìn)行數(shù)據(jù)結(jié)構(gòu)的搬移,保證網(wǎng)絡(luò)處理器訪問(wèn)數(shù)據(jù)結(jié)構(gòu)的快速性,同時(shí)保證了對(duì)內(nèi)部寄存器空間的有效利用。
文檔編號(hào)H04L12/56GK101677293SQ20081021627
公開(kāi)日2010年3月24日 申請(qǐng)日期2008年9月18日 優(yōu)先權(quán)日2008年9月18日
發(fā)明者古月徐 申請(qǐng)人:華為技術(shù)有限公司