專利名稱:基于bcm1250的轉(zhuǎn)發(fā)軟件系統(tǒng)的方法
技術(shù)領(lǐng)域:
本發(fā)明屬于計(jì)算機(jī)網(wǎng)絡(luò)通信領(lǐng)域,具體涉及一種基于BCM1250的轉(zhuǎn)發(fā)軟件系統(tǒng)的方法。
背景技術(shù):
BCM1250是Broadcom公司推出的一款通信處理器芯片,該芯片集成了兩個(gè)高性能的MIPS64 CPU,外圍集成了3個(gè)GE MAC控制器、兩個(gè)DDR DRAM控制器、PCI總線接口,512K L2 Cache,外圍添加很少的器件就可以十分方便的實(shí)現(xiàn)L3-L7各層報(bào)文處理。
為了實(shí)現(xiàn)高速轉(zhuǎn)發(fā),軟件系統(tǒng)包括控制平面通信軟件分層中的控制部分,主要完成協(xié)議處理、轉(zhuǎn)發(fā)表維護(hù)等功能;轉(zhuǎn)發(fā)平面通信軟件分層中的快速報(bào)文轉(zhuǎn)發(fā)部分,即查找轉(zhuǎn)發(fā)表,對(duì)報(bào)文做處理后轉(zhuǎn)發(fā)報(bào)文。對(duì)于轉(zhuǎn)發(fā)平面不能處理的報(bào)文都必須提交給控制平面進(jìn)行處理,同樣控制平面必須通過轉(zhuǎn)發(fā)平面與其他設(shè)備的控制平面通信。控制平面和轉(zhuǎn)發(fā)平面之間傳遞的報(bào)文叫異常報(bào)文,與從接口收進(jìn)來(lái)然后通過轉(zhuǎn)發(fā)平面轉(zhuǎn)發(fā)出去的正常轉(zhuǎn)發(fā)報(bào)文相區(qū)別,目前,基于BCM1250的軟件系統(tǒng)的控制平面和轉(zhuǎn)發(fā)平面只運(yùn)行在一個(gè)CPU上,該CPU由于既處理控制平面和轉(zhuǎn)發(fā)平面之間的異常報(bào)文,又運(yùn)行轉(zhuǎn)發(fā)程序,做報(bào)文轉(zhuǎn)發(fā),不利于提高轉(zhuǎn)發(fā)性能。
發(fā)明內(nèi)容
本發(fā)明克服上述基于BCM1250芯片的轉(zhuǎn)發(fā)軟件系統(tǒng)方法的不足,提供一種可實(shí)現(xiàn)高速數(shù)據(jù)轉(zhuǎn)發(fā)的基于BCM1250芯片的轉(zhuǎn)發(fā)軟件系統(tǒng)方法。本發(fā)明的技術(shù)內(nèi)容一種基于BCM1250的轉(zhuǎn)發(fā)軟件系統(tǒng)的方法,將控制平面軟件和轉(zhuǎn)發(fā)平面軟件分別運(yùn)行在CPU0和CPU1上。
CPU0和CPU1通過兩個(gè)直接存儲(chǔ)器訪問(DMA)通道,采用在內(nèi)存中拷貝數(shù)據(jù)實(shí)現(xiàn)控制平面和轉(zhuǎn)發(fā)平面之間的報(bào)文通信,包括(1)CPU通過DMA描述符管理DMA通道;(2)CPU在DMA描述符中指定數(shù)據(jù)拷貝的源地址和目的地址,以及數(shù)據(jù)拷貝方式;(3)將描述符放入到相應(yīng)DMA通道的描述符環(huán)中,DMA通道自動(dòng)完成報(bào)文。
從控制平面?zhèn)魉蛨?bào)文到轉(zhuǎn)發(fā)平面,包括(1)轉(zhuǎn)發(fā)平面分配一緩沖區(qū)(buffer),將該緩沖區(qū)的地址寫入第一個(gè)DMA通道的描述符的目的地址域;(2)控制平面CPU將報(bào)文地址寫入相應(yīng)描述符的源地址域;(3)控制平面CPU將描述符添加DMA通道的描述符環(huán)。
從轉(zhuǎn)發(fā)平面?zhèn)魉蛨?bào)文到控制平面,包括(1)控制平面分配一緩沖區(qū)(buffer),將該緩沖區(qū)的地址寫入第二個(gè)DMA通道的描述符的目的地址域;(2)轉(zhuǎn)發(fā)平面CPU將報(bào)文地址寫入相應(yīng)描述符的源地址域;(3)轉(zhuǎn)發(fā)平面CPU將描述符添加DMA通道的描述符環(huán)。
所述DMA描述符由兩個(gè)64bit的字段組成。
本發(fā)明的技術(shù)效果基于BCM1250芯片的轉(zhuǎn)發(fā)平面軟件和控制平面軟件由于分別運(yùn)行在兩個(gè)獨(dú)立的CPU上,各自擁有自己的代碼空間和數(shù)據(jù)空間,運(yùn)行完全不同的代碼,在邏輯上等同于完全獨(dú)立的兩個(gè)CPU,CPU1只做報(bào)文轉(zhuǎn)發(fā),簡(jiǎn)單高效,可提高轉(zhuǎn)發(fā)性能,且轉(zhuǎn)發(fā)平面和控制平面采用DMA環(huán)方式接收、發(fā)送報(bào)文,具有以下優(yōu)點(diǎn)1、采用DMA方式在內(nèi)存中拷貝數(shù)據(jù),CPU只需維護(hù)DMA描述符,大大減輕了CPU負(fù)擔(dān)。
2、采用內(nèi)存拷貝而不是內(nèi)存共享可以減少兩個(gè)CPU之間的耦合,提高兩個(gè)平面之間獨(dú)立性。
3、從轉(zhuǎn)發(fā)平面CPU角度來(lái)看,與控制平面的報(bào)文通信方式與對(duì)外接口的處理方式相似,簡(jiǎn)化了轉(zhuǎn)發(fā)平面的設(shè)計(jì)。
本發(fā)明基于BCM1250的轉(zhuǎn)發(fā)軟件系統(tǒng)方法的示意圖。
具體實(shí)施例方式
參考附圖,本發(fā)明一種基于BCM1250的轉(zhuǎn)發(fā)軟件系統(tǒng)的方法,將控制平面軟件和轉(zhuǎn)發(fā)平面軟件分別運(yùn)行在CPU0和CPU1上,轉(zhuǎn)發(fā)平面作為轉(zhuǎn)發(fā)部分獨(dú)立的運(yùn)行于CPU1上,各自擁有自己的代碼空間和數(shù)據(jù)空間,運(yùn)行完全不同的代碼,在邏輯上等同于完全獨(dú)立的兩個(gè)CPU,系統(tǒng)運(yùn)行期間兩個(gè)CPU互不干擾,各自按照自己的處理流程獨(dú)立運(yùn)行。CPU0和CPU1通過兩個(gè)DMA通道,采用在內(nèi)存中拷貝數(shù)據(jù)實(shí)現(xiàn)控制平面和轉(zhuǎn)發(fā)平面之間的報(bào)文通信。BCM1250芯片手冊(cè)稱DMA通道為DATA MOVER,DATA MOVER實(shí)際上就是能夠從任何地方(包括IO端口)搬移數(shù)據(jù)到任何地方的DMA控制器,DMA(Direct MemoryAccess)直接存儲(chǔ)器訪問,在DMA控制器管理下進(jìn)行兩個(gè)存儲(chǔ)區(qū)之間拷貝數(shù)據(jù),不需要CPU的參與。BCM1250共有四個(gè)DMA通道,配置成環(huán)模式,CPU通過DMA描述符管理DMA通道,DMA描述符以DMA方式傳輸數(shù)據(jù)之前必須設(shè)置數(shù)據(jù)傳輸?shù)脑创鎯?chǔ)區(qū)地址和目的存儲(chǔ)器地址,數(shù)據(jù)傳輸?shù)拇笮?字節(jié)數(shù))等屬性,DMA描述符就是用來(lái)設(shè)置這些參數(shù)的數(shù)據(jù)結(jié)構(gòu),一個(gè)DMA描述符由兩個(gè)64bit的字段組成,在描述符中指定了數(shù)據(jù)拷貝的源地址和目的地址,以及數(shù)據(jù)拷貝的方式。當(dāng)需要用DMA方式拷貝數(shù)據(jù)的時(shí)候,CPU填寫描述符的源和目的地址以及拷貝方式,然后把這個(gè)描述符放入到相應(yīng)DMA通道的描述符環(huán)中,DMA描述符環(huán)存放DMA描述符的一片連續(xù)內(nèi)存空間,由CPU向環(huán)的頭部添加描述符,DMA控制器從環(huán)尾取出描述符,然后根據(jù)描述符傳輸數(shù)據(jù)。DMA控制器根據(jù)描述符提供的信息拷貝數(shù)據(jù),當(dāng)拷貝完成后發(fā)出中斷信號(hào)通知CPU。
本發(fā)明利用其中兩個(gè)DMA通道在控制平面與轉(zhuǎn)發(fā)平面之間實(shí)現(xiàn)報(bào)文通信,第一個(gè)DMA通道用于控制平面向轉(zhuǎn)發(fā)平面發(fā)送報(bào)文,第二個(gè)DMA通道用于轉(zhuǎn)發(fā)平面向控制平面發(fā)送報(bào)文。控制平面和轉(zhuǎn)發(fā)平面分別有自己的緩沖存儲(chǔ)區(qū),且分別有自己的緩沖區(qū)分配釋放函數(shù)。其中控制平面與轉(zhuǎn)發(fā)平面之間報(bào)文長(zhǎng)度小于2K(2048)字節(jié),故緩沖區(qū)(buffer)為2048Byte大小的存儲(chǔ)區(qū)。
從控制平面?zhèn)魉鸵粋€(gè)報(bào)文到轉(zhuǎn)發(fā)平面的過程轉(zhuǎn)發(fā)平面首先分配好buf然后把buf的地址寫入到第一個(gè)DMA通道的描述符的目的地址域,一旦控制平面有報(bào)文需要傳送到轉(zhuǎn)發(fā)平面,控制平面CPU把報(bào)文的地址寫入相應(yīng)的描述符的源地址域,然后由控制平面CPU把這個(gè)描述符添加到第一個(gè)DMA通道的描述符環(huán)中,DMA控制器自動(dòng)完成報(bào)文拷貝。
從轉(zhuǎn)發(fā)平面?zhèn)魉鸵粋€(gè)報(bào)文到控制平面的過程控制平面首先分配好buf然后把buf的地址寫入到第二個(gè)DMA通道的描述符的目的地址域,一旦轉(zhuǎn)發(fā)平面有報(bào)文需要傳送到控制平面,轉(zhuǎn)發(fā)平面CPU把報(bào)文的地址寫入相應(yīng)的描述符的源地址域,然后由轉(zhuǎn)發(fā)平面CPU把這個(gè)描述符添加到第二個(gè)DMA通道的描述符環(huán)中,DMA控制器自動(dòng)完成報(bào)文拷貝。
權(quán)利要求
1.一種基于BCM1250的轉(zhuǎn)發(fā)軟件系統(tǒng)的方法,其特點(diǎn)在于控制平面軟件和轉(zhuǎn)發(fā)平面軟件分別運(yùn)行在CPU0和CPU1上。
2.如權(quán)利要求1所述的基于BCM1250的轉(zhuǎn)發(fā)軟件系統(tǒng)的方法,其特征在于CPU0和CPU1通過兩個(gè)直接存儲(chǔ)器訪問(Direct Memory Access,DMA)通道,采用在內(nèi)存中拷貝數(shù)據(jù)實(shí)現(xiàn)控制平面和轉(zhuǎn)發(fā)平面之間的報(bào)文通信。
3.如權(quán)利要求2所述的基于BCM1250的轉(zhuǎn)發(fā)軟件系統(tǒng)的方法,其特征在于包括(1)CPU通過DMA描述符管理DMA通道;(2)CPU在DMA描述符中指定數(shù)據(jù)拷貝的源地址和目的地址,以及數(shù)據(jù)拷貝方式;(3)將描述符放入到相應(yīng)DMA通道的描述符環(huán)中,DMA通道自動(dòng)完成報(bào)文。
4.如權(quán)利要求3所述的基于BCM1250的轉(zhuǎn)發(fā)軟件系統(tǒng)的方法,其特征在于從控制平面?zhèn)魉蛨?bào)文到轉(zhuǎn)發(fā)平面,包括(1)轉(zhuǎn)發(fā)平面分配一緩沖區(qū),將該緩沖區(qū)的地址寫入第一個(gè)DMA通道的描述符的目的地址域;(2)控制平面CPU將報(bào)文地址寫入相應(yīng)描述符的源地址域;(3)控制平面CPU將描述符添加DMA通道的描述符環(huán)。
5.如權(quán)利要求3所述的基于BCM1250的轉(zhuǎn)發(fā)軟件系統(tǒng)的方法,其特征在于從轉(zhuǎn)發(fā)平面?zhèn)魉蛨?bào)文到控制平面,包括(1)控制平面分配一緩沖區(qū),將該緩沖區(qū)的地址寫入第二個(gè)DMA通道的描述符的目的地址域;(2)轉(zhuǎn)發(fā)平面CPU將報(bào)文地址寫入相應(yīng)描述符的源地址域;(3)轉(zhuǎn)發(fā)平面CPU將描述符添加DMA通道的描述符環(huán)。
6.如權(quán)利要求3、4或5所述的基于BCM1250的轉(zhuǎn)發(fā)軟件系統(tǒng)的方法,其特征在于所述DMA描述符由兩個(gè)64bit的字段組成。
全文摘要
本發(fā)明提供了一種基于BCM1250的轉(zhuǎn)發(fā)軟件系統(tǒng)的方法,屬于計(jì)算機(jī)網(wǎng)絡(luò)通信領(lǐng)域。該方法將控制平面軟件和轉(zhuǎn)發(fā)平面軟件分別運(yùn)行在CPU0和CPU1上,轉(zhuǎn)發(fā)平面作為轉(zhuǎn)發(fā)部分獨(dú)立的運(yùn)行于CPU1上??刂破矫孳浖娃D(zhuǎn)發(fā)平面軟件各自擁有自己的代碼空間和數(shù)據(jù)空間,運(yùn)行完全不同的代碼,在邏輯上等同于完全獨(dú)立的兩個(gè)CPU,簡(jiǎn)單高效,從而提高了轉(zhuǎn)發(fā)性能。CPU0和CPU1通過兩個(gè)直接存儲(chǔ)器訪問(DirectMemory Access,DMA)通道,采用在內(nèi)存中拷貝數(shù)據(jù)實(shí)現(xiàn)了控制平面和轉(zhuǎn)發(fā)平面之間的報(bào)文通信,利用DMA方式在兩個(gè)平面之間傳遞報(bào)文,可使轉(zhuǎn)發(fā)平面軟件接收和發(fā)送異常報(bào)文的處理方式與正常轉(zhuǎn)發(fā)報(bào)文相似。
文檔編號(hào)H04L12/56GK1540521SQ200310101788
公開日2004年10月27日 申請(qǐng)日期2003年10月28日 優(yōu)先權(quán)日2003年10月28日
發(fā)明者宋建明, 劉靜濤, 李濤, 郭英輝 申請(qǐng)人:港灣網(wǎng)絡(luò)有限公司