一種降低數據轉發(fā)過程中fifo開銷的方法
【技術領域】
[0001]本發(fā)明涉及基于FPGA的數據轉發(fā)技術領域,特別涉及一種降低數據轉發(fā)過程中FIFO開銷的方法。
【背景技術】
[0002]FIFO,First Input First Output的縮寫,先入先出隊列,這是一種傳統(tǒng)的按序執(zhí)行方法,先進入的指令先完成并引退,跟著才執(zhí)行第二條指令。
[0003]在基于FPGA (Field 一 Programmable Gate Array,現場可編程門陣列)的數據轉發(fā)設計中,FIFO是數據緩存、報文整形、流量控制、策略查找、通道選擇等模塊必不可少的組成部分。每個模塊開辟的FIFO大小都要求能存放下流經本模塊的最大報文,模塊越多,需要的FIFO越大,在FPGA內部RAM資源有限的前提下,FIFO開銷的大小直接決定了 FPGA內部可使用RAM資源的多寡。
[0004]現有技術下的數據轉發(fā)方法中,尚無對于FIFO的降低開銷的設計。
【發(fā)明內容】
[0005]為了解決現有技術的問題,本發(fā)明提供了一種降低數據轉發(fā)過程中FIFO開銷的方法,可以在保證滿足功能、性能要求的前提下,盡可能的降低FIFO的開銷,從而顯著降低FPGA板卡的硬件成本。
[0006]本發(fā)明所采用的技術方案如下:
一種降低數據轉發(fā)過程中FIFO開銷的方法,包括以下步驟:
A、FPGA收到報文數據后,將報文載荷緩存下來,將報文頭送往后續(xù)模塊;
B、報文頭處理結束后,從緩存中取出報文載荷,拼接到報文頭后,組成完整報文轉發(fā)出去,完成數據轉發(fā)。
[0007]步驟A中,不參與運算的報文載荷,只緩存于入端口的FIFO中。
[0008]步驟A中,參與處理數據的各后續(xù)模塊,只存儲并處理報文頭數據,不再緩存報文載荷。
[0009]本發(fā)明提供的技術方案帶來的有益效果是:
1、不參與運算的報文載荷,只緩存于入端口的FIFO中,參與處理數據的各模塊,只存儲并處理報文頭數據,不再緩存報文載荷。
[0010]2、報文頭數據處理完畢后,需將緩存的報文載荷取出,拼接到報文頭后,組成完整報文轉發(fā)出去,實現了報文的轉發(fā)。
[0011]3、因為除入口模塊外,各模塊不再單獨緩存報文載荷,因此FIFO的使用量降低為1/N,N為轉發(fā)設計中包含的模塊數量。
綜上所述,采用本發(fā)明的方法,可將數據轉發(fā)面的FIFO使用量降低至原設計的1/N (N為轉發(fā)設計中包含的模塊數量)。本方法適用于FPGA內部RAM資源緊張,對數據流量要求不高的場合。
【附圖說明】
[0012]為了更清楚地說明本發(fā)明實施例中的技術方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
[0013]圖1為本發(fā)明的一種降低數據轉發(fā)過程中FIFO開銷的方法的工作原理圖。
【具體實施方式】
[0014]為使本發(fā)明的目的、技術方案和優(yōu)點更加清楚,下面將結合附圖對本發(fā)明實施方式作進一步地詳細描述。
[0015]實施例一
如附圖1所示,本實施例的一種降低數據轉發(fā)過程中FIFO開銷的方法,其方法步驟如下:
FPGA收到報文數據后,將報文載荷緩存下來,將報文頭送往后續(xù)模塊,在各模塊中傳遞的是報文頭數據,報文頭處理結束后,從緩存中取出報文載荷,完成數據轉發(fā)。不參與運算的報文載荷,只緩存于入端口的FIFO中,參與處理數據的各模塊,只存儲并處理報文頭數據,不再緩存報文載荷。
[0016]以上所述僅為本發(fā)明的較佳實施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內。
【主權項】
1.一種降低數據轉發(fā)過程中FIFO開銷的方法,包括以下步驟: A、FPGA收到報文數據后,將報文載荷緩存下來,將報文頭送往后續(xù)模塊; B、報文頭處理結束后,從緩存中取出報文載荷,拼接到報文頭后,組成完整報文轉發(fā)出去,完成數據轉發(fā)。2.根據權利要求1所述的一種降低數據轉發(fā)過程中FIFO開銷的方法,其特征在于,所述的步驟A中,不參與運算的報文載荷,只緩存于入端口的FIFO中。3.根據權利要求1所述的一種降低數據轉發(fā)過程中FIFO開銷的方法,其特征在于,所述的步驟A中,參與處理數據的各后續(xù)模塊,只存儲并處理報文頭數據,不再緩存報文載荷。
【專利摘要】本發(fā)明涉及基于FPGA的數據轉發(fā)技術領域,特別涉及一種降低數據轉發(fā)過程中FIFO開銷的方法。本發(fā)明中,FPGA收到報文數據后,將報文載荷緩存下來,將報文頭送往后續(xù)模塊,在各模塊中傳遞的是報文頭數據,報文頭處理結束后,從緩存中取出報文載荷,完成數據轉發(fā)。本發(fā)明的一種降低數據轉發(fā)過程中FIFO開銷的方法,可以在保證滿足功能、性能要求的前提下,盡可能的降低FIFO的開銷,從而顯著降低FPGA板卡的硬件成本。
【IPC分類】H04L12/861
【公開號】CN105141546
【申請?zhí)枴緾N201510389392
【發(fā)明人】畢研山, 于治樓, 姜凱
【申請人】浪潮集團有限公司
【公開日】2015年12月9日
【申請日】2015年7月6日