亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

多核處理器及流分類控制裝置和方法

文檔序號:6353523閱讀:147來源:國知局
專利名稱:多核處理器及流分類控制裝置和方法
技術(shù)領(lǐng)域
本發(fā)明涉及用于多核處理器的流分類技術(shù),特別涉及可加速實(shí)現(xiàn)流分類的一種多 核處理器、一種多核處理器的流分類控制裝置、以及一種多核處理器的流分類控制方法。
背景技術(shù)
多核處理器在轉(zhuǎn)發(fā)性能和復(fù)雜業(yè)務(wù)處理方面都有非常良好的表現(xiàn),因而廣泛應(yīng)用 于數(shù)據(jù)通信領(lǐng)域。多核處理器在軟件架構(gòu)上一般分為兩個平面CP (Control Plane,控制平面)和 DP (Data Plane,數(shù)據(jù)平面)。其中,CP負(fù)責(zé)實(shí)現(xiàn)各種協(xié)議的處理、并向DP下發(fā)轉(zhuǎn)發(fā)表項(xiàng)等 信息,而DP則依據(jù)轉(zhuǎn)發(fā)表項(xiàng)等信息來實(shí)現(xiàn)報(bào)文的轉(zhuǎn)發(fā)。為了實(shí)現(xiàn)更高的轉(zhuǎn)發(fā)行能,DP通常利用多核處理器中的多個數(shù)據(jù)核并行處理。此 時,為了保證多個數(shù)據(jù)核的并行處理不會導(dǎo)致報(bào)文的亂序,需要對報(bào)文進(jìn)行流分類,屬于同 一條流的報(bào)文由同一個數(shù)據(jù)核處理、以實(shí)現(xiàn)自然保序,而屬于不同流的報(bào)文由于沒有先后 次序的依賴關(guān)系,因而可以分別由不同核處理?,F(xiàn)有技術(shù)中通常利用處理器內(nèi)部的PCD(Parse、Classify,and Distribute,解析、 分類、分發(fā))模塊來實(shí)現(xiàn),PCD模塊通常也可稱為流分類模塊。圖1中示出了 PCD模塊實(shí)現(xiàn) 流分類的原理,如圖1所示,多核處理器的網(wǎng)絡(luò)接口順序接收到的報(bào)文1 5(圖1中以標(biāo) 記有數(shù)字1 5的矩形塊表示報(bào)文1 幻經(jīng)過P⑶的流分類處理后,屬于流1的報(bào)文1和 報(bào)文4順序由數(shù)據(jù)核1處理、屬于流2的報(bào)文2由數(shù)據(jù)核2處理、屬于流3的報(bào)文3和報(bào)文 5則順序由數(shù)據(jù)核3處理。上述原理的具體實(shí)現(xiàn)請參見圖2。在圖2中,多核處理器包括系統(tǒng)總線、掛接于系 統(tǒng)總線的核0 核N(N為大于1的正整數(shù))、掛接于系統(tǒng)總線的內(nèi)存及內(nèi)存控制器、掛接于 系統(tǒng)總線的緩存管理(Buffer Pool)模塊、掛接于系統(tǒng)總線并與緩存管理模塊直連的PCD 模塊、與P⑶模塊直連的網(wǎng)絡(luò)接口、以及掛接于系統(tǒng)總線的I/O接口。其中,核0負(fù)責(zé)CP的 處理、而核1 核N則負(fù)責(zé)DP的處理,即,核1 核N為如前所述的數(shù)據(jù)核。當(dāng)網(wǎng)絡(luò)接口接收到報(bào)文之后,網(wǎng)絡(luò)接口通過與PCD模塊之間的直連接口將接收到 的報(bào)文發(fā)送給與PCD模塊,并向PCD模塊發(fā)送流分類命令;然后,PCD模塊針對與網(wǎng)絡(luò)接口 之間的直連接口所接收到的報(bào)文,通過與緩存管理模塊之間的直連接口向緩存管理模塊在 內(nèi)存中申請緩存空間;在申請到緩存空間之后,PCD模塊再通過系統(tǒng)總線和內(nèi)存控制器將 報(bào)文寫入至已在內(nèi)存中申請到的對應(yīng)的緩存空間、并在PCD模塊內(nèi)部緩存中存放報(bào)文的 頭;此后,PCD模塊再對其內(nèi)部緩存中的報(bào)文的頭進(jìn)行解析,從而確定報(bào)文所屬的流;在確 定報(bào)文所屬的流之后,PCD模塊即可將對應(yīng)的緩存空間的地址、以及報(bào)文長度提供給專用于 處理報(bào)文所屬流的數(shù)據(jù)核,以便于每個數(shù)據(jù)核均能夠從對應(yīng)的緩存空間順序獲取到屬于該 數(shù)據(jù)核所對應(yīng)的流的連續(xù)報(bào)文。如上可見,對于網(wǎng)絡(luò)接口接收到的報(bào)文,多核處理器能夠利用P⑶模塊和緩存管 理模塊實(shí)現(xiàn)流分類,而由于PCD模塊和緩存管理模塊均屬于多核處理器內(nèi)部的獨(dú)立的硬件模塊,因而能夠?qū)崿F(xiàn)流分類的硬件加速。此外,如圖3所示,在實(shí)際應(yīng)用中,I/O接口還可以外接有外擴(kuò)網(wǎng)絡(luò)接口(圖3中 除了外擴(kuò)網(wǎng)絡(luò)接口之外的其他結(jié)構(gòu)均與圖2相同)。但是,由于外擴(kuò)網(wǎng)絡(luò)接口并不支持向 P⑶模塊發(fā)送流分類命令及報(bào)文,因此,對于外接于I/O接口的外擴(kuò)網(wǎng)絡(luò)接口所接收到的報(bào) 文來說,就無法利用PCD模塊和緩存管理模塊實(shí)現(xiàn)流分類。為了實(shí)現(xiàn)對外擴(kuò)網(wǎng)絡(luò)接口接收到的報(bào)文進(jìn)行流分類,如圖4所示,現(xiàn)有技術(shù)中只 能夠從所有數(shù)據(jù)核(即如圖3所示的核1 核N)中指定一個數(shù)據(jù)核,并由指定的數(shù)據(jù)核利 用BD(Buffer Descriptor,緩存描述符)來實(shí)現(xiàn)流分類。 具體說,指定的數(shù)據(jù)核會針對外擴(kuò)網(wǎng)絡(luò)接口接收到的報(bào)文分配一個BD環(huán),該BD環(huán) 中包含若干個BD、每個BD又唯一地對應(yīng)內(nèi)存中的一個緩沖區(qū)。當(dāng)外擴(kuò)網(wǎng)絡(luò)接口接收到報(bào)文 后,其通過I/O接口和系統(tǒng)總線向指定的數(shù)據(jù)核上報(bào)中斷,然后讀取BD環(huán)中的寫指針當(dāng)前 所指向的BD,從而獲得對應(yīng)的緩存空間的地址,再將接收到的報(bào)文寫入至對應(yīng)的緩存空間、 并將所讀取的BD的標(biāo)志位設(shè)置為有效。此后,指定的數(shù)據(jù)核會利用BD環(huán)中的讀指針輪詢讀取BD環(huán)中的各BD,當(dāng)讀取到 標(biāo)志位有效的BD后,即從對應(yīng)的緩存空間中讀取報(bào)文的頭并解析,從而確定該報(bào)文所屬的 流,然后再將對應(yīng)的緩存空間的地址提供給專用于處理報(bào)文所屬流的其他數(shù)據(jù)核,以便于 每個其他數(shù)據(jù)核均能夠從對應(yīng)的緩存空間順序獲取到屬于該數(shù)據(jù)核所對應(yīng)的流的連續(xù)報(bào) 文(或者,也可通知PCD模塊從對應(yīng)的緩存空間中讀取報(bào)文的頭并解析,以及,由PCD模塊 將對應(yīng)的緩存空間的地址提供給專用于處理報(bào)文所屬流的其他數(shù)據(jù)核)。然而,如圖4所示的方式雖然能夠?qū)ν鈹U(kuò)網(wǎng)絡(luò)接口接收到的報(bào)文進(jìn)行流分類,但 是,需要額外指定的數(shù)據(jù)核、造成數(shù)據(jù)核的資源浪費(fèi),而且,流分類的能力主要依賴于指定 的數(shù)據(jù)核的處理能力,容易形成性能瓶頸。

發(fā)明內(nèi)容
有鑒于此,本發(fā)明提供了一種多核處理器、一種多核處理器的流分類控制裝置、以 及一種多核處理器的流分類控制方法,能夠針對多核處理器的I/O接口實(shí)現(xiàn)流分類。本發(fā)明提供的一種多核處理器,包括系統(tǒng)總線、掛接于所述系統(tǒng)總線的若干數(shù)據(jù) 核、掛接于所述系統(tǒng)總線的緩存管理模塊、掛接于所述系統(tǒng)總線并與所述緩存管理模塊直 連的流分類模塊、與所述流分類模塊直連的網(wǎng)絡(luò)接口、掛接于所述系統(tǒng)總線的I/O接口、以 及外接于所述I/O接口的外擴(kuò)網(wǎng)絡(luò)接口 ;其特征在于,所述外擴(kuò)網(wǎng)絡(luò)接口通過一流分類控制裝置外接于所述I/O接口 ;所述流分類控制裝置接收來自所述外擴(kuò)網(wǎng)絡(luò)接口的報(bào)文,通過所述I/O接口以及 所述系統(tǒng)總線為所述報(bào)文向所述緩存管理模塊申請緩存空間、并通過所述I/O接口以及所 述系統(tǒng)總線將所述報(bào)文寫入至申請到的對應(yīng)的緩存空間,以及,通過所述I/O接口以及所 述系統(tǒng)總線向所述流分類模塊發(fā)送流分類命令,所述流分類命令中包含所述報(bào)文的長度以 及對應(yīng)的緩存空間的地址。優(yōu)選地,所述流分類控制裝置進(jìn)一步實(shí)現(xiàn)所述外擴(kuò)網(wǎng)絡(luò)接口與所述I/O接口之間 的格式轉(zhuǎn)換。所述外擴(kuò)網(wǎng)絡(luò)接口為SPI4. 2接口、所述I/O接口為PCIE接口??蛇x地,所述流分類模塊進(jìn)一步依據(jù)所述流分類命令中的所述地址,從對應(yīng)的緩存空間內(nèi)找到所述報(bào)文的頭、并進(jìn)行解析,以確定所述報(bào)文所屬的流;以及,將所述流分類 命令中的所述地址、以及所述報(bào)文的長度提供給專用于該所屬的流的對應(yīng)的數(shù)據(jù)核。本發(fā)明提供的一種多核處理器的流分類控制裝置,所述多核處理器包括系統(tǒng)總 線、掛接于所述系統(tǒng)總線的若干數(shù)據(jù)核、掛接于所述系統(tǒng)總線的緩存管理模塊、掛接于所述 系統(tǒng)總線并與所述緩存管理模塊直連的流分類模塊、與所述流分類模塊直連的網(wǎng)絡(luò)接口、 掛接于所述系統(tǒng)總線的I/O接口、以及外接于所述I/O接口的外擴(kuò)網(wǎng)絡(luò)接口 ;所述流分類控制裝置位于所述外擴(kuò)網(wǎng)絡(luò)接口與所述I/O接口之間、并包括報(bào)文接收模塊,其接收來自所述外擴(kuò)網(wǎng)絡(luò)接口的報(bào)文;緩存申請模塊,其通過所述I/O接口以及所述系統(tǒng)總線,為所述報(bào)文向所述緩存 管理模塊申請緩存空間;報(bào)文寫入模塊,其通過所述I/O接口以及所述系統(tǒng)總線,將所述報(bào)文寫入至申請 到的對應(yīng)的緩存空間;命令發(fā)送模塊,其向所述流分類模塊發(fā)送流分類命令,所述流分類命令中包含所 述報(bào)文的長度以及對應(yīng)的緩存空間的地址。優(yōu)選地,所述流分類控制裝置進(jìn)一步包括接口轉(zhuǎn)換模塊,其用于實(shí)現(xiàn)所述外擴(kuò)網(wǎng) 絡(luò)接口與所述I/O接口之間的格式轉(zhuǎn)換。所述外擴(kuò)網(wǎng)絡(luò)接口為SPI4. 2接口、所述I/O接口 為PCIE接口。可選地,所述流分類模塊進(jìn)一步依據(jù)所述流分類命令中的所述地址,從對應(yīng)的緩 存空間內(nèi)找到所述報(bào)文的頭、并進(jìn)行解析,以確定所述報(bào)文所屬的流;以及,將所述流分類 命令中的所述地址、以及所述報(bào)文的長度提供給專用于該所屬的流的對應(yīng)的數(shù)據(jù)核。本發(fā)明提供的一種多核處理器的流分類控制方法,所述多核處理器包括系統(tǒng)總 線、掛接于所述系統(tǒng)總線的若干數(shù)據(jù)核、掛接于所述系統(tǒng)總線的緩存管理模塊、掛接于所述 系統(tǒng)總線并與所述緩存管理模塊直連的流分類模塊、與所述流分類模塊直連的網(wǎng)絡(luò)接口、 掛接于所述系統(tǒng)總線的I/O接口、以及外接于所述I/O接口的外擴(kuò)網(wǎng)絡(luò)接口 ;該流分類控制方法包括在所述外擴(kuò)網(wǎng)絡(luò)接口與所述I/O接口之間執(zhí)行的如下步 驟接收來自多核處理器中的外擴(kuò)網(wǎng)絡(luò)接口的報(bào)文;通過所述I/O接口以及所述系統(tǒng)總線,為所述報(bào)文向所述緩存管理模塊申請緩存 空間;通過所述I/O接口以及所述系統(tǒng)總線,將所述報(bào)文寫入至申請到的對應(yīng)的緩存空 間;向所述流分類模塊發(fā)送流分類命令,所述流分類命令中包含所述報(bào)文的長度以及 對應(yīng)的緩存空間的地址。優(yōu)選地,該流分類控制方法進(jìn)一步在執(zhí)行與所述外擴(kuò)網(wǎng)絡(luò)接口交互、和/或與所 述I/O接口交互的步驟時進(jìn)行接口格式轉(zhuǎn)換??蛇x地,該方法在向所述流分類模塊發(fā)送所述流分類命令之后,進(jìn)一步包括所述流分類模塊依據(jù)所述流分類命令中的所述地址,從對應(yīng)的緩存空間內(nèi)找到所 述報(bào)文的頭、并進(jìn)行解析,以確定所述報(bào)文所屬的流;所述流分類模塊將所述流分類命令中的所述地址、以及所述報(bào)文的長度提供給專用于該所屬的流的對應(yīng)的數(shù)據(jù)核。由上述技術(shù)方案可見,本發(fā)明在外擴(kuò)網(wǎng)絡(luò)接口與I/O接口之間增設(shè)一流分類控制 裝置,并利用I/O接口能夠訪問PCD模塊和緩存管理模塊所在總線的特點(diǎn),由流分類控制裝 置通過I/O接口和系統(tǒng)總線向緩存管理模塊申請緩存空間、以便于外擴(kuò)接口所接收的報(bào)文 能夠?qū)懭雰?nèi)存中,再由流分類控制裝置通過I/O接口和系統(tǒng)總線向PCD模塊發(fā)送流分類命 令、以使得PCD模塊能夠?yàn)橐褜懭胫羶?nèi)存中的外擴(kuò)接口所接收的報(bào)文進(jìn)行流分類。從而,本 發(fā)明不需要額外指定的數(shù)據(jù)核來實(shí)現(xiàn)流分類,能夠避免數(shù)據(jù)核的資源浪費(fèi)、并避免流分類 的能力主要依賴于指定的數(shù)據(jù)核的處理能力而形成性能瓶頸,還能夠充分利用同為硬件模 塊的PCD模塊和緩存管理模塊為外擴(kuò)接口所接收的報(bào)文實(shí)現(xiàn)流分類的硬件加速。進(jìn)一步地,對于I/O接口和外擴(kuò)網(wǎng)絡(luò)接口的接口類型不同的情況,本發(fā)明還能夠 利用流分類控制裝置進(jìn)一步實(shí)現(xiàn)外擴(kuò)網(wǎng)絡(luò)接口與I/O接口之間的格式轉(zhuǎn)換。


圖1為現(xiàn)有技術(shù)中針對網(wǎng)絡(luò)接口實(shí)現(xiàn)流分類的原理性示意圖;圖2為現(xiàn)有技術(shù)中多核處理器的示例性結(jié)構(gòu)圖;圖3為現(xiàn)有技術(shù)中具有外擴(kuò)網(wǎng)絡(luò)接口的多核處理器的示例性結(jié)構(gòu)圖;圖4為現(xiàn)有技術(shù)中針對外擴(kuò)網(wǎng)絡(luò)接口實(shí)現(xiàn)流分類的原理性示意圖;圖5為本發(fā)明實(shí)施例中多核處理器的示例性結(jié)構(gòu)圖;圖6a至圖6f為本發(fā)明實(shí)施例中多核處理器的工作原理示意圖;圖7為本發(fā)明實(shí)施例中多核處理器的流分類控制裝置的一種較佳的邏輯結(jié)構(gòu)示 意圖;圖8為本發(fā)明實(shí)施例中流分類控制方法的示例性流程示意圖。
具體實(shí)施例方式為使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下參照附圖并舉實(shí)施例,對 本發(fā)明進(jìn)一步詳細(xì)說明。圖5為本發(fā)明實(shí)施例中多核處理器的示例性結(jié)構(gòu)圖。如圖5所示,本實(shí)施例中的 多核處理器仍包括系統(tǒng)總線、掛接于系統(tǒng)總線的核0 核N(N為大于1的正整數(shù))、掛接 于系統(tǒng)總線的內(nèi)存及內(nèi)存控制器、掛接于系統(tǒng)總線的緩存管理模塊、掛接于系統(tǒng)總線并與 緩存管理模塊直連的PCD模塊、與PCD模塊直連的網(wǎng)絡(luò)接口、掛接于系統(tǒng)總線的I/O接口、 以及外接于I/O接口的外擴(kuò)網(wǎng)絡(luò)接口。其中,核0負(fù)責(zé)CP的處理、而核1 核N則負(fù)責(zé)DP 的處理,即,核1 核N為如前所述的數(shù)據(jù)核。但是,在圖5所示出的多核處理器中,外擴(kuò)網(wǎng)絡(luò)接口并不是直接外接于I/O接口, 而是通過一流分類控制裝置與I/O接口相連。由于I/O接口能夠訪問到緩存管理模塊和P⑶ 模塊所在的系統(tǒng)總線,因而,利用這一特點(diǎn),流分類控制裝置就能夠通過I/O接口和系統(tǒng)總 線與緩存管理模塊和PCD模塊交互。具體說,當(dāng)外擴(kuò)網(wǎng)絡(luò)接口接收到報(bào)文之后,外擴(kuò)網(wǎng)絡(luò)接口會將報(bào)文發(fā)送至流分類 控制裝置,此后如圖6a所示,由于外擴(kuò)網(wǎng)絡(luò)接口并不支持向P⑶模塊發(fā)送流分類命令及報(bào)文,因此,由流分類控制裝置通過I/O接口和系統(tǒng)總線,為外擴(kuò)網(wǎng)絡(luò)接口所接收到的報(bào)文向緩存 管理模塊申請內(nèi)存中的緩存空間;如圖6b所示,由于緩存空間的申請是由流分類控制裝置發(fā)起的、而不是由PCD模 塊通過與緩存管理模塊之間的直連接口發(fā)起的,因此,緩存管理模塊會通過系統(tǒng)總線和I/O 接口將已申請到的緩存空間的地址提供給流分類控制裝置、而不是通過與PCD模塊之間的 直連接口提供給PCD模塊;如圖6c所示,在申請到緩存空間之后,流分類控制裝置通過I/O接口和系統(tǒng)總線, 將外擴(kuò)網(wǎng)絡(luò)接口所接收到的報(bào)文寫入至已申請到的對應(yīng)的緩存空間;如圖6d所示,在將外擴(kuò)網(wǎng)絡(luò)接口所接收到的報(bào)文寫入至已申請到的對應(yīng)的緩存 空間之后,流分類控制裝置通過I/O接口和系統(tǒng)總線向PCD模塊發(fā)送流分類命令;由于PCD 模塊在此之前并未針對外擴(kuò)網(wǎng)絡(luò)接口所接收到的報(bào)文向緩存管理模塊申請內(nèi)存中的緩存 空間、也未接收到外擴(kuò)網(wǎng)絡(luò)接口所接收的報(bào)文,因而流分類命令中還需要包括外擴(kuò)網(wǎng)絡(luò)接 口所接收到的報(bào)文所寫入的對應(yīng)的緩存空間的地址、以及外擴(kuò)網(wǎng)絡(luò)接口所接收到的報(bào)文的 長度;如圖6e所示,P⑶模塊在接收到流分類控制裝置通過I/O接口和系統(tǒng)總線所發(fā)送 的流分類命令后,依據(jù)流分類命令中的前述地址,從對應(yīng)的緩存空間內(nèi)找到外擴(kuò)網(wǎng)絡(luò)接口 所接收到的報(bào)文的頭、并進(jìn)行解析,從而確定外擴(kuò)網(wǎng)絡(luò)接口所接收到的報(bào)文所屬的流;在確 定外擴(kuò)網(wǎng)絡(luò)接口所接收到的報(bào)文所屬的流之后,PCD模塊即可將前述地址、以及前述報(bào)文長 度提供給專用于該所屬流的對應(yīng)的數(shù)據(jù)核;如圖6f所示,在外擴(kuò)網(wǎng)絡(luò)接口所接收到的報(bào)文所屬流的對應(yīng)的數(shù)據(jù)核得到前述 地址、以及前述報(bào)文長度之后,即可按照該所屬流中的報(bào)文先后順序,從對應(yīng)的緩存空間順 序獲取到屬于該數(shù)據(jù)核所對應(yīng)的流的由外擴(kuò)網(wǎng)絡(luò)接口所接收到的報(bào)文?;谌鐖D5所示的結(jié)構(gòu)、以及如圖6a至圖6f所示的工作原理可見,本實(shí)施例通過 在外擴(kuò)網(wǎng)絡(luò)接口與I/O接口之間增設(shè)一流分類控制裝置、以及利用I/O接口能夠訪問P⑶ 模塊和緩存管理模塊所在總線的特點(diǎn),能夠由流分類控制裝置通過I/O接口和系統(tǒng)總線向 緩存管理模塊申請緩存空間、以使得外擴(kuò)接口所接收的報(bào)文能夠?qū)懭雰?nèi)存中,還由流分類 控制裝置通過I/O接口和系統(tǒng)總線向P⑶模塊發(fā)送流分類命令、以使得P⑶模塊能夠?yàn)橐?寫入至內(nèi)存中的外擴(kuò)接口所接收的報(bào)文進(jìn)行流分類。從而,也就不需要額外指定的數(shù)據(jù)核 來實(shí)現(xiàn)流分類,進(jìn)而就能夠避免數(shù)據(jù)核的資源浪費(fèi)、并避免流分類的能力主要依賴于指定 的數(shù)據(jù)核的處理能力而形成性能瓶頸;而且,還能夠充分利用同為硬件模塊的PCD模塊和 緩存管理模塊為外擴(kuò)接口所接收的報(bào)文實(shí)現(xiàn)流分類的硬件加速。即便出現(xiàn)網(wǎng)絡(luò)接口、外擴(kuò)網(wǎng)絡(luò)接口并發(fā)訪問的情況,由于P⑶模塊和緩存管理模 塊均能夠提供支持并發(fā)訪問的多個資源通道,因而也不會導(dǎo)致性能瓶頸的出現(xiàn);而如果出 現(xiàn)多個外擴(kuò)網(wǎng)絡(luò)接口同時存在的情況,只要流分類控制裝置的資源足夠,可以設(shè)置多個外 擴(kuò)網(wǎng)絡(luò)接口可以共用一個流分類控制裝置,并由流分類控制裝置為每個外擴(kuò)網(wǎng)絡(luò)接口提供 一個獨(dú)立的資源通道,且對于每個資源通道,均可以按照如圖6a至如圖6f所示的工作原理 實(shí)現(xiàn)流分類。當(dāng)然,還存在一種可能,即I/O接口和外擴(kuò)網(wǎng)絡(luò)接口的接口類型不同,例如,I/O接 口為PCIE接口、而外擴(kuò)網(wǎng)絡(luò)接口為SPI4. 2接口,S卩,流分類控制裝置與I/O接口使用PCIE
8接口協(xié)議進(jìn)行交互、與外擴(kuò)網(wǎng)絡(luò)接口使用SPI4.2接口協(xié)議進(jìn)行交互。此時,還需要流分類控制裝置進(jìn)一步具有實(shí)現(xiàn)外擴(kuò)網(wǎng)絡(luò)接口與I/O接口之間的格 式轉(zhuǎn)換功能,而增加格式轉(zhuǎn)換的功能并不會導(dǎo)致流分類控制裝置的硬件成本增加。至于如 何實(shí)現(xiàn)格式轉(zhuǎn)換,本領(lǐng)域技術(shù)人員能夠參照現(xiàn)有的各種接口協(xié)議予以實(shí)現(xiàn),本文不再贅述。在具體應(yīng)用時,流分類控制裝置可以由例如FPGA等任一種邏輯器件來實(shí)現(xiàn)。當(dāng)使 用邏輯器件來實(shí)現(xiàn)流分類控制裝置時,邏輯器件內(nèi)部可以參照如圖6a 如圖6d所示的原 理而任意設(shè)置相應(yīng)的邏輯結(jié)構(gòu)。圖7中示出了流分類控制裝置的一種較佳的邏輯結(jié)構(gòu),在如圖7中所示出的流分 類控制裝置中包括報(bào)文接收模塊、緩存申請模塊、報(bào)文寫入模塊、以及命令發(fā)送模塊。報(bào)文接收模塊,用于接收來自外擴(kuò)網(wǎng)絡(luò)接口的報(bào)文、并通知緩存申請模塊。實(shí)際應(yīng) 用中,報(bào)文接收模塊可具有一定的緩存功能,以便于暫存來自外擴(kuò)網(wǎng)絡(luò)接口的報(bào)文;或者, 也可在流分類控制裝置中額外設(shè)置一報(bào)文緩存模塊(圖7中未示出)、以暫存報(bào)文接收模塊 所接收的來自外擴(kuò)網(wǎng)絡(luò)接口的報(bào)文。緩存申請模塊,用于通過I/O接口和系統(tǒng)總線,為報(bào)文接收模塊所接收到的報(bào)文 向緩存管理模塊申請內(nèi)存中的緩存空間;以及,通過系統(tǒng)總線和I/O接口接收緩存管理模 塊申請到的緩存空間的地址、并提供給報(bào)文寫入模塊。報(bào)文寫入模塊,用于按照緩存申請模塊所提供的地址,通過I/O接口和系統(tǒng)總線, 將報(bào)文接收模塊所接收到的報(bào)文(如果設(shè)置有如前所述的報(bào)文緩存模塊、則需要先從報(bào)文 緩存模塊中讀取)寫入至已申請到的內(nèi)存中的對應(yīng)的緩存空間,并在寫入完成之后通知命 令發(fā)送模塊。命令發(fā)送模塊,用于在將報(bào)文接收模塊所接收到的報(bào)文寫入至已申請到的內(nèi)存中 的對應(yīng)的緩存空間之后,通過I/O接口和系統(tǒng)總線向PCD模塊發(fā)送流分類命令,流分類命令 中還需要包括外擴(kuò)網(wǎng)絡(luò)接口所接收到的報(bào)文所寫入的對應(yīng)的緩存空間的地址、以及外擴(kuò)網(wǎng) 絡(luò)接口所接收到的報(bào)文的長度。實(shí)際應(yīng)用中,如果出現(xiàn)多個外擴(kuò)網(wǎng)絡(luò)接口同時存在的情況,只要流分類控制裝置 的資源足夠,可以設(shè)置多個外擴(kuò)網(wǎng)絡(luò)接口可以共用一個流分類控制裝置,并由流分類控制 裝置為每個外擴(kuò)網(wǎng)絡(luò)接口提供一個獨(dú)立的資源通道,且每個資源通道中均可以包括報(bào)文接 收模塊、緩存申請模塊、報(bào)文寫入模塊、以及命令發(fā)送模塊。此外,對于I/O接口和外擴(kuò)網(wǎng)絡(luò)接口的接口類型不同的情況,流分類控制裝置中 可以進(jìn)一步設(shè)置接口轉(zhuǎn)換模塊,用于實(shí)現(xiàn)所述外擴(kuò)網(wǎng)絡(luò)接口與所述I/O接口之間的格式轉(zhuǎn)換。其中,接口轉(zhuǎn)換模塊可以設(shè)置為一個、并由所有資源通道共享,或者,也可以分別 為每個資源通道設(shè)置一個接口轉(zhuǎn)換模塊。而且,接口轉(zhuǎn)換模塊的位置也可以任意設(shè)置。例如,如果流分類控制裝置中的報(bào)文接收模塊、緩存申請模塊、報(bào)文寫入模塊、以 及命令發(fā)送模塊均可以采用I/O接口的接口協(xié)議而與I/O接口直接交互,則接口轉(zhuǎn)換模塊 可以設(shè)置在報(bào)文接收模塊與外擴(kuò)網(wǎng)絡(luò)接口之間,也就是說,來自外擴(kuò)網(wǎng)絡(luò)接口的報(bào)文只要 進(jìn)入到流分類控制裝置中,就會被接口轉(zhuǎn)換模塊轉(zhuǎn)換為符合I/O接口的接口協(xié)議的格式;再例如,如果流分類控制裝置中的報(bào)文接收模塊、緩存申請模塊、報(bào)文寫入模塊、以及命令發(fā)送模塊均可以采用外擴(kuò)網(wǎng)絡(luò)接口的接口協(xié)議,則接口轉(zhuǎn)換模塊可以設(shè)置為直接 與I/O接口相連,且緩存申請模塊、報(bào)文寫入模塊、以及命令發(fā)送模塊均通過接口轉(zhuǎn)換模塊
與I/O接口交互。當(dāng)然,如圖7中所示出的流分類裝置的邏輯結(jié)構(gòu)僅僅是基于如圖6a至圖6d所示 出的工作原理的一種較佳實(shí)現(xiàn)方式,對于可能出現(xiàn)的其他邏輯結(jié)構(gòu),本文不再一一列舉。基于如圖7所示出的流分類裝置的邏輯結(jié)構(gòu),本實(shí)施例還提供了一種相應(yīng)的流分 類控制方法,具體參見圖8,該方法包括在外擴(kuò)網(wǎng)絡(luò)接口與I/O接口之間執(zhí)行的如下步驟步驟801,接收來自外擴(kuò)網(wǎng)絡(luò)接口的報(bào)文,如果需要,還可暫存所接收的來自外擴(kuò) 網(wǎng)絡(luò)接口的報(bào)文。步驟802,通過I/O接口和系統(tǒng)總線,為報(bào)文接收模塊所接收到的報(bào)文向緩存管理 模塊申請內(nèi)存中的緩存空間。步驟803,通過系統(tǒng)總線和I/O接口接收緩存管理模塊申請到的緩存空間的地址。步驟804,按照步驟803所提供的地址,通過I/O接口和系統(tǒng)總線,將報(bào)文接收模塊 所接收到的報(bào)文寫入至已申請到的內(nèi)存中的對應(yīng)的緩存空間。步驟805,在步驟804的寫入完成后,通過I/O接口和系統(tǒng)總線向P⑶模塊發(fā)送流 分類命令,流分類命令中還需要包括外擴(kuò)網(wǎng)絡(luò)接口所接收到的報(bào)文所寫入的對應(yīng)的緩存空 間的地址、以及外擴(kuò)網(wǎng)絡(luò)接口所接收到的報(bào)文的長度。至此,流分類過程中針對來自外擴(kuò)網(wǎng)絡(luò)接口的一個報(bào)文的處理流程結(jié)束。在上述流程之后,PCD模塊即可依據(jù)流分類命令中的前述地址,從對應(yīng)的緩存空間 內(nèi)找到外擴(kuò)網(wǎng)絡(luò)接口所接收到的報(bào)文的頭、并進(jìn)行解析,以確定外擴(kuò)網(wǎng)絡(luò)接口所接收到的 報(bào)文所屬的流;然后,PCD模塊可將流分類命令中的前述地址、以及報(bào)文的長度提供給專用 于該所屬的流的對應(yīng)的數(shù)據(jù)核,從而使對應(yīng)的數(shù)據(jù)核可按照該所屬流中的報(bào)文先后順序, 從對應(yīng)的緩存空間順序獲取到屬于該數(shù)據(jù)核所對應(yīng)的流的由外擴(kuò)網(wǎng)絡(luò)接口所接收到的報(bào) 文。此外,對于I/O接口和外擴(kuò)網(wǎng)絡(luò)接口的接口類型不同的情況,還可以進(jìn)一步在執(zhí) 行與外擴(kuò)網(wǎng)絡(luò)接口交互的步驟801、和/或與I/O接口交互的步驟802 步驟805時進(jìn)行接 口格式轉(zhuǎn)換。以上所述僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍。凡在 本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換以及改進(jìn)等,均應(yīng)包含在本發(fā)明的保 護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種多核處理器,包括系統(tǒng)總線、掛接于所述系統(tǒng)總線的若干數(shù)據(jù)核、掛接于所述 系統(tǒng)總線的緩存管理模塊、掛接于所述系統(tǒng)總線并與所述緩存管理模塊直連的流分類模 塊、與所述流分類模塊直連的網(wǎng)絡(luò)接口、掛接于所述系統(tǒng)總線的I/O接口、以及外接于所述 I/O接口的外擴(kuò)網(wǎng)絡(luò)接口 ;其特征在于,所述外擴(kuò)網(wǎng)絡(luò)接口通過一流分類控制裝置外接于所述I/O接口;所述流分類控制裝置接收來自所述外擴(kuò)網(wǎng)絡(luò)接口的報(bào)文,通過所述I/O接口以及所述 系統(tǒng)總線為所述報(bào)文向所述緩存管理模塊申請緩存空間、并通過所述I/O接口以及所述系 統(tǒng)總線將所述報(bào)文寫入至申請到的對應(yīng)的緩存空間,以及,通過所述I/O接口以及所述系 統(tǒng)總線向所述流分類模塊發(fā)送流分類命令,所述流分類命令中包含所述報(bào)文的長度以及對 應(yīng)的緩存空間的地址。
2.如權(quán)利要求1所述的多核處理器,其特征在于,所述流分類控制裝置進(jìn)一步實(shí)現(xiàn)所 述外擴(kuò)網(wǎng)絡(luò)接口與所述I/O接口之間的格式轉(zhuǎn)換。
3.如權(quán)利要求2所述的多核處理器,其特征在于,所述外擴(kuò)網(wǎng)絡(luò)接口為SPI4.2接口、所 述I/O接口為PCIE接口。
4.如權(quán)利要求1至3中任一項(xiàng)所述的多核處理器,其特征在于,所述流分類模塊進(jìn)一步 依據(jù)所述流分類命令中的所述地址,從對應(yīng)的緩存空間內(nèi)找到所述報(bào)文的頭、并進(jìn)行解析, 以確定所述報(bào)文所屬的流;以及,將所述流分類命令中的所述地址、以及所述報(bào)文的長度提 供給專用于該所屬的流的對應(yīng)的數(shù)據(jù)核。
5.一種多核處理器的流分類控制裝置,所述多核處理器包括系統(tǒng)總線、掛接于所述 系統(tǒng)總線的若干數(shù)據(jù)核、掛接于所述系統(tǒng)總線的緩存管理模塊、掛接于所述系統(tǒng)總線并與 所述緩存管理模塊直連的流分類模塊、與所述流分類模塊直連的網(wǎng)絡(luò)接口、掛接于所述系 統(tǒng)總線的I/O接口、以及外接于所述I/O接口的外擴(kuò)網(wǎng)絡(luò)接口 ;其特征在于,所述流分類控制裝置位于所述外擴(kuò)網(wǎng)絡(luò)接口與所述I/O接口之間、并包括報(bào)文接收模塊,其接收來自所述外擴(kuò)網(wǎng)絡(luò)接口的報(bào)文;緩存申請模塊,其通過所述I/O接口以及所述系統(tǒng)總線,為所述報(bào)文向所述緩存管理 模塊申請緩存空間;報(bào)文寫入模塊,其通過所述I/O接口以及所述系統(tǒng)總線,將所述報(bào)文寫入至申請到的 對應(yīng)的緩存空間;命令發(fā)送模塊,其向所述流分類模塊發(fā)送流分類命令,所述流分類命令中包含所述報(bào) 文的長度以及對應(yīng)的緩存空間的地址。
6.如權(quán)利要求7所述的流分類控制裝置,其特征在于,所述流分類控制裝置進(jìn)一步包 括接口轉(zhuǎn)換模塊,其用于實(shí)現(xiàn)所述外擴(kuò)網(wǎng)絡(luò)接口與所述I/O接口之間的格式轉(zhuǎn)換。
7.如權(quán)利要求6所述的流分類控制裝置,其特征在于,所述外擴(kuò)網(wǎng)絡(luò)接口為SPI4.2接 口、所述I/O接口為PCIE接口。
8.如權(quán)利要求5至7中任一項(xiàng)所述的流分類控制裝置,其特征在于,所述流分類模塊進(jìn) 一步依據(jù)所述流分類命令中的所述地址,從對應(yīng)的緩存空間內(nèi)找到所述報(bào)文的頭、并進(jìn)行 解析,以確定所述報(bào)文所屬的流;以及,將所述流分類命令中的所述地址、以及所述報(bào)文的 長度提供給專用于該所屬的流的對應(yīng)的數(shù)據(jù)核。
9.一種多核處理器的流分類控制方法,所述多核處理器包括系統(tǒng)總線、掛接于所述 系統(tǒng)總線的若干數(shù)據(jù)核、掛接于所述系統(tǒng)總線的緩存管理模塊、掛接于所述系統(tǒng)總線并與 所述緩存管理模塊直連的流分類模塊、與所述流分類模塊直連的網(wǎng)絡(luò)接口、掛接于所述系 統(tǒng)總線的I/O接口、以及外接于所述I/O接口的外擴(kuò)網(wǎng)絡(luò)接口 ;其特征在于,該流分類控制方法包括在所述外擴(kuò)網(wǎng)絡(luò)接口與所述I/O接口之間執(zhí)行的 如下步驟接收來自多核處理器中的外擴(kuò)網(wǎng)絡(luò)接口的報(bào)文;通過所述I/O接口以及所述系統(tǒng)總線,為所述報(bào)文向所述緩存管理模塊申請緩存空間;通過所述I/O接口以及所述系統(tǒng)總線,將所述報(bào)文寫入至申請到的對應(yīng)的緩存空間; 向所述流分類模塊發(fā)送流分類命令,所述流分類命令中包含所述報(bào)文的長度以及對應(yīng) 的緩存空間的地址。
10.如權(quán)利要求9所述的流分類控制方法,其特征在于,該流分類控制方法進(jìn)一步在執(zhí) 行與所述外擴(kuò)網(wǎng)絡(luò)接口交互、和/或與所述I/O接口交互的步驟時進(jìn)行接口格式轉(zhuǎn)換。
11.如權(quán)利要求9或10所述的流分類控制方法,其特征在于,該方法在向所述流分類模 塊發(fā)送所述流分類命令之后,進(jìn)一步包括所述流分類模塊依據(jù)所述流分類命令中的所述地址,從對應(yīng)的緩存空間內(nèi)找到所述報(bào) 文的頭、并進(jìn)行解析,以確定所述報(bào)文所屬的流;所述流分類模塊將所述流分類命令中的所述地址、以及所述報(bào)文的長度提供給專用于 該所屬的流的對應(yīng)的數(shù)據(jù)核。
全文摘要
本發(fā)明公開了一種多核處理器及流分類控制裝置和方法。本發(fā)明在外擴(kuò)網(wǎng)絡(luò)接口與I/O接口之間增設(shè)一流分類控制裝置,并利用I/O接口能夠訪問PCD模塊和緩存管理模塊所在總線的特點(diǎn),由流分類控制裝置通過I/O接口和系統(tǒng)總線向緩存管理模塊申請緩存空間、以便于外擴(kuò)接口所接收的報(bào)文能夠?qū)懭雰?nèi)存中,再由流分類控制裝置通過I/O接口和系統(tǒng)總線向PCD模塊發(fā)送流分類命令、以使得PCD模塊能夠?yàn)橐褜懭胫羶?nèi)存中的外擴(kuò)接口所接收的報(bào)文進(jìn)行流分類。從而,本發(fā)明不需要額外指定的數(shù)據(jù)核來實(shí)現(xiàn)流分類,能夠避免數(shù)據(jù)核的資源浪費(fèi)、并避免指定的數(shù)據(jù)核的處理能力所可能形成性能瓶頸,還能夠針對外擴(kuò)接口所接收的報(bào)文實(shí)現(xiàn)流分類的硬件加速。
文檔編號G06F15/17GK102110074SQ201110024120
公開日2011年6月29日 申請日期2011年1月21日 優(yōu)先權(quán)日2011年1月21日
發(fā)明者吳斌 申請人:杭州華三通信技術(shù)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1