可配置的多核網絡處理器的制造方法
【專利說明】可配置的多核網絡處理器
[0001]相關申請的交叉引用
[0002]本申請要求于2013年3月12日提交的題為“ CONFI⑶RABLE MULTI CORE NETWORKPROCESSOR(可配置的多核網絡處理器)”的美國非臨時申請S/N.13/797,838的優先權,其通過援引全部明確納入于此。
[0003]背景
[0004]領域
[0005]本公開一般涉及電子電路,并且尤其涉及具有可在流水線處理模式與并行處理模式之間配置的多個處理核的網絡處理器。
【背景技術】
[0006]分組交換網絡被廣泛用于在個體和組織之間傳送信息。在分組交換網絡中,在共用信道上傳送小型信息塊或者數據分組。更具體地,信息在源頭被分段成多個數據分組并且使用地址方案在信道上被路由至目的地。在目的地處,從這些分組重構信息。
[0007]網絡上的許多設備包括被設計成處理數據分組的網絡處理器。網絡處理器是可以采用多個處理核的軟件可編程設備。處理核可以是并行地專用的,以使得由網絡處理器接收的每個數據分組被指派給對該數據分組執行所有必需的處理的處理核。替換地,處理核可以是以流水線方式專用的,其中流水線中的每個處理核專用于運行針對數據分組的特定子任務。在聯網應用中,每種配置具有其自己的優點和缺點。例如,層2和層3網絡協議良好地適于流水線處理,但是較高層協議(例如,深度分組檢驗(DPI))較好地適于并行處理。因此,在本領域中存在對高效地支持所有網絡協議(例如,所有層網絡協議)的單個解決方案的需要。
[0008]概述
[0009]公開了一種網絡處理器。該網絡處理器包括配置成處理數據分組的多個處理核,以及可配置成在流水線處理模式與并行處理模式之間配置處理核的處理模式機構。網絡處理器還可以包括隨處理核布置的多個先入先出(FIFO)接口。處理模式機構被配置成將FIFO接口與處理核互連以在流水線處理模式或者并行處理模式中操作。處理模式機構可以包括多個開關元件(例如,開關、多路復用器等),這多個開關元件可被配置成互連處理核以在流水線處理模式或者并行處理模式中操作。處理模式機構還可以包括可被配置成互連處理核以在流水線處理模式或者并行處理模式中操作的結構邏輯和總線。
[0010]公開了另一種網絡處理器。該網絡處理器包括用于處理數據分組的裝置,以及用于在流水線處理模式與并行處理模式之間配置該用于處理的裝置的裝置。網絡處理器可以進一步包括隨該用于處理的裝置布置的多個FIFO接口。該用于配置的裝置被配置成將FIFO接口與該用于處理的裝置互連以在流水線處理模式或者并行處理模式中操作。該用于處理的裝置可以包括多個處理核,以及該用于配置的裝置可以包括可被配置成互連處理核以在流水線處理模式或者并行處理模式中操作的多個開關元件、或者結構邏輯和總線。
[0011]公開了一種用于處理數據分組的方法。該方法包括在所選處理模式中配置多個處理核,該所選處理模式是流水線處理模式和并行處理模式中的一者。該方法還包括根據所選處理模式來將數據分組分發給該多個處理核,以及根據所配置的處理模式從該多個處理核中的一個或多個處理核接收一個或多個數據分組。配置該多個處理核可以包括將多個開關元件配置成互連處理核以在流水線處理模式或并行處理模式中操作,或者將結構邏輯和總線配置成互連處理核以在流水線處理模式或并行處理模式中操作。
[0012]公開了一種計算機程序產品。該計算機程序產品包括計算機可讀介質,該計算機可讀介質包括可由網絡處理器執行的代碼。網絡處理器包括多個處理核和處理模式機構。該代碼在網絡處理器中執行時使該網絡處理器在所選處理模式中配置多個處理核。所選處理模式可以是流水線處理模式和并行處理模式中的一者。該代碼還使網絡處理器根據所選處理模式來將數據分組分發給該多個處理核,以及根據所配置的處理模式從該多個處理核中的一個或多個處理核接收一個或多個數據分組。
[0013]公開了另一種網絡處理器。該網絡處理器包括配置成處理數據分組的多個處理核,其中這些處理核可在流水線處理模式與并行處理模式之間配置。該網絡處理器可以包括配置成互連處理核以在流水線處理模式或者并行處理模式中操作的多個開關。該網絡處理器可以包括存儲器以及用于向處理核提供對存儲器的訪問的存儲器總線,其中該存儲器總線互連處理核以在流水線處理模式或者并行處理模式中操作。
[0014]應理解,根據以下詳細描述,裝置和方法的其他方面對于本領域技術人員而言將變得容易明白,其中以解說方式示出和描述了裝置和方法的各個方面。如將認識到的,這些方面可以按其他和不同的形式來實現并且其若干細節能夠在各個其他方面進行修改。相應地,附圖和詳細描述應被認為在本質上是解說性的而非限制性的。
[0015]附圖簡述
[0016]現在將參照附圖作為示例而非限定地在詳細描述中給出裝置和方法的各個方面,其中:
[0017]圖1是解說電信系統的示例的概念框圖。
[0018]圖2是可配置的多核網絡處理器的框圖。
[0019]圖3是處于流水線處理模式中的可配置的多核網絡處理器的框圖。
[0020]圖4是處于并行處理模式中的可配置的多核網絡處理器的框圖。
[0021]圖5是用于在流水線處理模式與并行處理模式之間配置多核網絡處理器的處理模式機構的框圖。
[0022]圖6是用于在流水線處理模式與并行處理模式之間配置多核網絡處理器的另一處理模式機構的框圖。
[0023]圖7是用于使用可在流水線處理模式與并行處理模式之間配置的多核網絡處理器來處理數據分組的方法的流程圖。
[0024]詳細描述
[0025]以下將參照附圖更全面地描述本公開的各個方面。然而,本公開可由本領域技術人員用許多不同形式來實施并且不應解釋為被限定于本文給出的任何具體結構或功能。確切而言,提供這些方面以使得本公開將是透徹和完整的,并且其將向本領域技術人員完全傳達本公開的范圍。基于本文中的教導,本領域技術人員應領會,本公開的范圍旨在覆蓋本公開的任何方面,不論其是獨立實現的還是與本公開的任何其他方面組合實現的。例如,可以使用本文所闡述的任何數目的方面來實現裝置或實踐方法。另外,本公開的范圍旨在覆蓋使用除了本公開的其他方面之外的或者取代本公開的其他方面的其他結構和/或功能性來實踐的此類裝置或方法。應當理解,本文中所披露的本公開的任何方面可由權利要求的一個或多個元素來實施。
[0026]盡管本文將描述特定方面,但這些方面的眾多變體和置換落在本公開的范圍之內。盡管提到了優選方面的一些益處和優點,但本公開的范圍并非旨在被限定于特定益處、用途或目標。確切而言,本公開的各方面旨在寬泛地應用于不同的電路、技術、系統、網絡和方法,其中的一些作為示例在附圖和以下描述中解說。詳細描述和附圖僅僅解說本公開而非限定本公開,本公開的范圍由所附權利要求及其等效技術方案來定義。
[0027]以下將參照附圖更全面地描述各種概念。然而,這些概念可由本領域技術人員用許多不同形式來實施并且不應解釋為被限定于本文給出的任何具體結構或功能。確切而言,提供這些概念是為了使得本公開將是透徹和完整的,并且其將向本領域技術人員完全傳達這些概念的范圍。詳細描述可以包括具體細節。然而,對于本領域技術人員將顯而易見的是,沒有這些具體細節也可實踐這些概念。在一些實例中,眾所周知的結構和組件以框圖形式示出以避免煙沒本公開通篇所給出的各種概念。
[0028]本公開中通篇給出的各種概念良好地適于實現在網絡元件中。網絡元件(例如,路由器、交換機、橋接器、或類似的聯網設備)包括通信地互連網絡上的其他裝備(例如,其他網絡元件、終端站、或類似聯網設備)的任何聯網裝備。
[0029]這些概念可以在硬件中或者在硬件平臺上執行的軟件中實現。硬件或硬件平臺可以是通用處理器、數字信號處理器(DSP)、專用集成電路(ASIC)、現場可編程門陣列(FPGA)或其他可編程邏輯組件、分立的門或晶體管邏輯、分立的硬件組件、或其任何組合、或者被設計成執行本文描述的功能的任何其他合適的組件。通用處理器可以是微處理器,但在替換方案中,處理器可以是任何常規的處理器、控制器、微控制器、或狀態機。處理器還可以被實現為計算組件的組合,例如DSP與微處理器的組合、多個微處