用于多核處理器的具有內(nèi)部和外部訪問的后備處理器單元的制作方法
【技術(shù)領(lǐng)域】
[0001]本公開內(nèi)容涉及計算機網(wǎng)絡(luò)中的通信。更特別地,本發(fā)明涉及一種用于多核處理器的具有內(nèi)部和外部訪問的后備處理器單元。
【背景技術(shù)】
[0002]網(wǎng)絡(luò)處理器是經(jīng)常以集成電路的形式被實施的專門化的處理器,該處理器具有被具體地設(shè)計用于處理通過網(wǎng)絡(luò)接收或者傳送的分組數(shù)據(jù)的特征集。這樣的處理經(jīng)常涉及到信息查找從而用信息查找表中的更簡單編索引操作替換密集運行時計算。借助示例,與路由有關(guān)的處理(即,分組轉(zhuǎn)發(fā))需要查找路由信息,該路由信息包括不同值的元組,這些值的元組組成傳輸控制協(xié)議/網(wǎng)際協(xié)議(TCP/IP)連接,例如,5元組包括源IP地址、目的地IP地址、源端口號、目的地端口號和使用的協(xié)議。
[0003]由于查找通常由外部三態(tài)內(nèi)容可尋址存儲器(TCAM)執(zhí)行,所以可能經(jīng)由Interlaken Lookaside (ILA)連接到網(wǎng)絡(luò)處理器。然而,基于存儲器的查找遭受查找請求的延時。另外,跟蹤已經(jīng)提交的查找的查找資源被預(yù)分配給或者專用于處理器核。因此,包括多核的網(wǎng)絡(luò)處理器、資源專用由于不同處理核的潛在地不等同使用專用資源而妨礙效率。
[0004]因而,在本領(lǐng)域中需要一種提供對以上認(rèn)識到的問題的解決方案以及附加優(yōu)點的后備處理器單元。
【發(fā)明內(nèi)容】
[0005]在公開內(nèi)容的一個方面中,公開了一種根據(jù)所附獨立權(quán)利要求的在后備處理器單元處用于信息查找請求處理和用于異常分組處理的裝置和方法。在從屬權(quán)利要求中公開了附加方面。
【附圖說明】
[0006]這里描述的前述方面將通過參照在與附圖結(jié)合進行時的以下描述而變得更容易地清楚,在附圖中:
[0007]圖1a描繪了根據(jù)本公開內(nèi)容的一個方面的流程圖的第一部分,該流程圖支持在后備處理器單元處的信息查找請求處理和異常分組處理的過程;
[0008]圖1b描繪了根據(jù)本公開內(nèi)容的一個方面的流程圖的第二部分,該流程圖支持在后備處理器單元處的信息查找請求處理和異常分組處理的過程;以及
[0009]圖2描繪了根據(jù)本公開內(nèi)容的一個方面的后備處理器單元、處理器和內(nèi)容可尋址存儲器的概念結(jié)構(gòu)。
[0010]任何未引用的箭頭或者雙箭頭線指示在描繪的實體之間的可能的信息流程。
【具體實施方式】
[0011]除非另有定義,這里使用的所有術(shù)語(包括技術(shù)和科學(xué)術(shù)語)具有與由本發(fā)明所屬領(lǐng)域普通技術(shù)人員普遍地理解相同的含義。還將理解,應(yīng)當(dāng)將術(shù)語(比如在常用字典中定義的術(shù)語)解釋為具有與它們在相關(guān)領(lǐng)域和本公開內(nèi)容的上下文中的含義一致的含義。
[0012]如這里所用,單數(shù)形式“一個/ 一種”和“該”旨在于也包括復(fù)數(shù)形式,除非上下文清楚地另有指示。還將理解,術(shù)語“包括”在本說明書中被使用時指定存在陳述的特征、整體、步驟、操作、單元和/或部件,但是未排除存在或者添加一個或者多個其它特征、整體、步驟、操作、單元、部件和/或其組合。術(shù)語“和/或”包括關(guān)聯(lián)的列舉的項目中的一個或者多個項目中的任何和所有組合。
[0013]可以參照一個或者多個示例性配置舉例說明各種公開的方面。如這里所用,術(shù)語“示例性”意味著“用作示例、實例或者舉例說明”而不應(yīng)必然地被解釋為比這里公開的其它配置優(yōu)選或者有利。
[0014]這里將參照附圖描述本發(fā)明的各種方面,除非明確地指出,這些附圖是本發(fā)明的概念配置的示意圖示。提供本公開內(nèi)容的各種方面以使本領(lǐng)域普通技術(shù)人員能夠?qū)嵺`本發(fā)明。對貫穿本公開內(nèi)容呈現(xiàn)的各種方面的修改將容易為本領(lǐng)域普通技術(shù)人員所清楚,并且這里公開的概念可以被延伸到其它應(yīng)用。
[0015]圖2描繪了后備處理器單元(204)、查找事務(wù)請求實體(206)和結(jié)構(gòu)(208)、(210)的概念結(jié)構(gòu)。查找事務(wù)請求實體可以包括處理器(206)、以太網(wǎng)分組輸入分類引擎或者本領(lǐng)域普通技術(shù)人員已知的任何其它實體。為了說明清楚,貫穿本公開內(nèi)容引用處理器(206)作為這樣的查找事務(wù)請求實體的示例而未限制公開內(nèi)容。處理器(206)可以包括一個或者多個處理核(206_1-206_3)。雖然僅描繪了三個處理核,但是本領(lǐng)域普通技術(shù)人員將理解設(shè)想了包括單個核的其它數(shù)目的核。處理器核(206_1-206_3)操作需要查找在結(jié)構(gòu)(208)、(210)中存儲的信息。為了高效地分配信息查找所需要的資源以及最小化任何處理器核的與信息查找有關(guān)的開銷,后備處理器單元(204)被插入于處理器(206)與結(jié)構(gòu)(208)、(210)之間。不同塊可以被實施為后備處理器單元(204)的結(jié)構(gòu)內(nèi)的硬件或者軟件實體。
[0016]圖1描繪了流程圖,該流程圖支持在后備處理器單元處用于信息查找請求處理和用于異常分組處理的過程。為了進一步闡明在圖2的概念結(jié)構(gòu)的如由圖1和關(guān)聯(lián)的文字引用的某些單元之間的關(guān)系,對圖2的結(jié)構(gòu)單元的引用是在括號中。
[0017]該過程在步驟102中開始,其中處理器(206)的多個處理器核中的至少一個處理器核(例如,處理器核(206_1))生成將向目標(biāo)傳輸?shù)牟檎沂聞?wù)請求。目標(biāo)可以包括內(nèi)部內(nèi)容可尋址存儲器、內(nèi)部查找引擎、兩個內(nèi)部實體被統(tǒng)稱為(208)和/或外部內(nèi)容可尋址存儲器(210)或者其它外部部件(比如現(xiàn)場可編程門陣列)和本領(lǐng)域普通技術(shù)人員已知的其它部件。在一個方面中,夕卜部內(nèi)容可尋址存儲器(210)包括經(jīng)由Interlaken Lookaside接口(212)而對接到后備處理器單元(204)的外部三態(tài)內(nèi)容可尋址存儲器(TCAM)。術(shù)語外部標(biāo)識在設(shè)備(202)以外的部件。雖然如描繪的那樣,設(shè)備(202)包括處理器(206)、后備處理器單元(204)、Interlaken Lookaside接口(212)和內(nèi)部實體(208),但是設(shè)想了其它布置。借助示例,處理器(206)可以在設(shè)備(202)外部。在一個方面中,設(shè)備(202)被實施為集成電路。該過程在步驟104中繼續(xù)。
[0018]在步驟104中,處理器核(206_1)向后備處理器單元(204)傳輸查找事務(wù)請求。該過程在步驟106中繼續(xù)。
[0019]在步驟106中,控制邏輯(214)接收查找事務(wù)請求。在啟用可選異常分組處理時,控制邏輯(214)確定是否將執(zhí)行對查找事務(wù)請求的普通處理,在該情況下,該過程在步驟110中繼續(xù),或者是否將保持查找事務(wù)請求以用于異常分組處理,在該情況下,該過程在步驟108中繼續(xù)。根據(jù)由生成查找事務(wù)請求的處理器核(206_1)提供的信息做出決定??梢蕴峁┰撔畔⒗缱鳛椴檎沂聞?wù)請求中的指示符、作為帶外(out-of-bound)信令或者本領(lǐng)域普通技術(shù)人員已知的任何其它方法。否則,在禁用可選異常分組處理時,控制邏輯(214)接收查找事務(wù),并且該過程在步驟108中繼續(xù)。
[0020]在步驟108中,將查找事務(wù)請求放置到包括多個緩沖器(231)的異常隊列結(jié)構(gòu)(230)中,例如,放置到緩沖器(231_1)中。隊列是將數(shù)據(jù)組織成如下結(jié)構(gòu),在該結(jié)構(gòu)中保持條目,即,包括分組的數(shù)據(jù)。該過程在步驟106中繼續(xù)。
[0021]在步驟110中,控制邏輯(214)向多個結(jié)構(gòu)(216)提供查找事務(wù)請求。一般而言但是并非必須,一個結(jié)構(gòu)(216)支持一個通道,即,途徑,通過該途徑向目標(biāo)(208)、(210)傳輸和從該目標(biāo)接收信息。在一個方面中,在使用Interlaken Lookaside接口時,使用兩個結(jié)構(gòu),一個用于由Interlaken接口支持的兩個傳輸和兩個接收通道中的一個通道。為了說明該概念而不被實施細(xì)節(jié)分心,僅描繪單個結(jié)構(gòu)。然而,本領(lǐng)域普通技術(shù)人員將理解,可以使用其它數(shù)目的結(jié)構(gòu)(216)。多個結(jié)構(gòu)(216)中的每個結(jié)構(gòu)包括多個后備緩沖器(218)。多個后備緩沖器(218)中的每個后備緩沖器可以在三個狀態(tài)之一中:自由,即,后備緩沖器未被多個結(jié)構(gòu)(216)中的任何結(jié)構(gòu)使用;處理中,即,后備緩沖器的內(nèi)容正在由目標(biāo)(208)、(210)處理;以及已接收,即,后備緩沖器的內(nèi)容已經(jīng)被傳輸?shù)侥繕?biāo)(208)、(210)、由目標(biāo)(208)、(210)處理并且處理的結(jié)果被返回到后備緩沖器(218),但是結(jié)果尚未被提供到處理器核(206)。多個結(jié)構(gòu)(216)中的每個結(jié)構(gòu)與包括多個緩沖器(221)的多個結(jié)構(gòu)(220)中的一個結(jié)構(gòu)關(guān)聯(lián),該一個結(jié)構(gòu)保持多個后備緩沖器(218)中的每個后備緩沖器的狀態(tài)。因此,如描繪的那樣,緩沖器(221_1)保持后備緩沖器(218_1)的狀態(tài)。
[0022]在接收查找事務(wù)請求時,控制邏輯(214)在多個結(jié)構(gòu)(216)之中查詢在自由狀態(tài)中的后備緩沖器(218)、在這樣的后備緩沖器(例如,后備緩沖器(218_1))中存儲查找事務(wù)請求并且請求結(jié)構(gòu)(222)將在后備緩沖器(218_1)中保持的查找事務(wù)請求重建成請求分組。該重建包括添加或者更改查找事務(wù)請求中的字段以