自在自线亚洲а∨天堂在线-中文字幕一区视频播放-扒开双腿猛进入喷水高潮叫声-欧美日本亚洲一区二区-老熟妇高潮偷拍一区二区-国产精品高清一区二区不卡-午夜色福利视频一区二区三区-亚洲国产成人精品福利在线观看-亚洲欧美成人一区二区在线电影

機(jī)電之家資源網(wǎng)
單片機(jī)首頁|單片機(jī)基礎(chǔ)|單片機(jī)應(yīng)用|單片機(jī)開發(fā)|單片機(jī)文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開發(fā)
培訓(xùn)信息
贊助商
使用FPGA和IP Core實(shí)現(xiàn)定制緩沖管理
使用FPGA和IP Core實(shí)現(xiàn)定制緩沖管理
 更新時(shí)間:2008-8-3 16:08:09  點(diǎn)擊數(shù):6
【字體: 字體顏色


    

在通信網(wǎng)絡(luò)系統(tǒng)中,流量管理的核心是緩存管理、隊(duì)列管理和調(diào)度程序。本文結(jié)合使用FPGA及IP Core闡述緩存管理的結(jié)構(gòu)、工作原理及設(shè)計(jì)方法


目前硬件高速轉(zhuǎn)發(fā)技術(shù)的趨勢是將整個(gè)轉(zhuǎn)發(fā)分成兩個(gè)部分:PE(Protocol Engine,協(xié)議引擎)和TM(Traffic Management,流量管理)。其中PE完成協(xié)議處理,TM負(fù)責(zé)完成隊(duì)列調(diào)度、緩存管理、流量整形、QOS等功能,TM與轉(zhuǎn)發(fā)協(xié)議無關(guān)。


隨著通信協(xié)議的發(fā)展及多樣化,協(xié)議處理部分PE在硬件轉(zhuǎn)發(fā)實(shí)現(xiàn)方面,普遍采用現(xiàn)有的商用芯片NP(Network Processor,網(wǎng)絡(luò)處理器)來完成,流量管理部分需要根據(jù)系統(tǒng)的需要進(jìn)行定制或采用商用芯片來完成。在很多情況下NP芯片、TM芯片、交換網(wǎng)芯片無法選用同一家廠商的芯片,這時(shí)定制TM成為了成本最低、系統(tǒng)最優(yōu)化的方案,一般采用FPGA來實(shí)現(xiàn),TM的常規(guī)結(jié)構(gòu)如圖1所示。



圖1  TM的常規(guī)結(jié)構(gòu)圖



目前主流的TM接口均為SPI4-P2接口形式,SPI4-P2接口信號速率高,TCCS(Channel-to-channel skew,數(shù)據(jù)通道的抖動(dòng),包含時(shí)鐘的抖動(dòng))難以控制,在常規(guī)情況下很難做到很高的速率。SPI4-P2接口為達(dá)到高速率同時(shí)避免TCCS問題在很多情況下都對接收端提出了DPA(動(dòng)態(tài)相位調(diào)整)的要求。對于SPI4-P2接口形式可直接采用Altera公司的IP Core實(shí)現(xiàn)。Altera的主流FPGA均實(shí)現(xiàn)了硬件DPA功能,以Stratix II器件為例,在使能DPA的情況下使用SPI4-P2 IP Core可實(shí)現(xiàn)16Gb/s的接口數(shù)據(jù)速率。


SEG模塊為數(shù)據(jù)切分塊,根據(jù)交換網(wǎng)的數(shù)據(jù)結(jié)構(gòu)要求,在上交換網(wǎng)的方向上負(fù)責(zé)把IP包或數(shù)據(jù)包切分為固定大小的數(shù)據(jù)塊,方便后期的存儲(chǔ)調(diào)度以及交換網(wǎng)的操作處理,SEG模塊可配合使用SPI4-P2 IP Core來實(shí)現(xiàn)。與SEG模塊對應(yīng)的是RSM模塊,RSM模塊將從交換網(wǎng)下來的數(shù)據(jù)塊重新組合成完整的IP包或數(shù)據(jù)包。


BM(Buffer Management)模塊為緩沖管理模塊,管理TM的緩沖單元,完成DRAM的存取操作。外部DRAM的控制部分可使用使用DDR SDRAM IP Core實(shí)現(xiàn)。


QM模塊為隊(duì)列管理模塊,負(fù)責(zé)完成端口的數(shù)據(jù)隊(duì)列管理功能,接收BM模塊讀寫DRAM時(shí)的數(shù)據(jù)入隊(duì)、出隊(duì)請求,TM所能支持的數(shù)據(jù)流的數(shù)目、業(yè)務(wù)類型數(shù)目、端口的數(shù)目等性能指標(biāo)在QM模塊處體現(xiàn)出來。


Scheduler模塊為調(diào)度模塊,根據(jù)數(shù)據(jù)包類型及優(yōu)先級和端口分配的帶寬進(jìn)行調(diào)度,TM流量整形、QOS等功能通過調(diào)度模塊實(shí)現(xiàn)。


CELL_EDIT模塊完成輸出數(shù)據(jù)的封裝,把由DRAM中讀出的數(shù)據(jù)封裝后發(fā)送出去。


在TM中需要基于數(shù)據(jù)服務(wù)策略對于不同服務(wù)等級的數(shù)據(jù)包進(jìn)行不同的管理策略,同時(shí)要保證流媒體的數(shù)據(jù)包不能亂序,數(shù)據(jù)包有大有小,經(jīng)過SEG模塊所分割成的數(shù)據(jù)塊的數(shù)目也有多有少,這樣就必須有一套行之有效的數(shù)據(jù)結(jié)構(gòu)基于鏈表的方法管理這些數(shù)據(jù)。QM模塊基于業(yè)務(wù)、數(shù)據(jù)流的方式管理隊(duì)列,包的管理便由BM模塊完成。


BM模塊中基于包的數(shù)據(jù)結(jié)構(gòu)方面由兩部分構(gòu)成:BRAM和PRAM。BRAM為數(shù)據(jù)緩沖區(qū),對應(yīng)片外的DRAM。BRAM負(fù)責(zé)存儲(chǔ)數(shù)據(jù)單元,相對于SEG模塊切分的數(shù)據(jù)單元,BRAM內(nèi)有相應(yīng)大小的存儲(chǔ)單元BCELL與之對應(yīng),BCELL在BRAM內(nèi)以地址空間劃分,每個(gè)BCELL相同大小,BCELL為BRAM的最小存取單元。在實(shí)際系統(tǒng)中基于SEG模塊切分的數(shù)據(jù)單元大小,BCELL一般為64~512B。


PRAM為指針緩沖區(qū),PRAM對應(yīng)片外的SSRAM。PRAM內(nèi)部同樣以地址空間分為PCELL,PCELL與BCELL一一對應(yīng),每一個(gè)PCELL對應(yīng)于一個(gè)BCELL,對應(yīng)的PCELL與BCELL地址相同。


PCELL的地址對應(yīng)的代表相應(yīng)單元的BCELL的地址,PCELL中的基本信息是下一跳指針。PRAM與BRAM關(guān)系如圖2所示。



圖2  PRAM與BRAM關(guān)系圖



在PRAM中存在兩種鏈表形式,PQ List代表已經(jīng)存儲(chǔ)的數(shù)據(jù)包鏈表。為方便數(shù)據(jù)讀出,PQ List需要記錄數(shù)據(jù)包的第一個(gè)數(shù)據(jù)塊地址,即首指針Pq_Hptr,為方便新的數(shù)據(jù)寫入,PQ List需要記錄數(shù)據(jù)包的最后一個(gè)數(shù)據(jù)塊地址,即尾指針Pq_Tptr。PQ List同時(shí)需要記錄該鏈表的長度作為調(diào)度模塊進(jìn)行調(diào)度的權(quán)值計(jì)算使用。


Free List代表空閑的地址隊(duì)列。為方便地辨識(shí)、管理空閑的地址,避免地址沖突,在BM中將所有空閑的地址使用一個(gè)鏈表進(jìn)行管理。這個(gè)鏈表就是空閑地址隊(duì)列?臻e地址隊(duì)列依據(jù)系統(tǒng)需求的不同有著不同的形式,一般空閑地址隊(duì)列的構(gòu)成和PQ List相似,由空閑地址首指針Free_Hptr和空閑地址尾指針Free_Tptr構(gòu)成。BM模塊的所有操作都圍繞著空閑的地址隊(duì)列Free List進(jìn)行。


基于BM模塊的數(shù)據(jù)流結(jié)構(gòu),BM模塊一般分為Write Control模塊、Free List control模塊、Read Control模塊、PRAM Control模塊、BRAM Control模塊。BM的結(jié)構(gòu)如圖3所示。



圖3  BM結(jié)構(gòu)圖



Write Control模塊從Free List模塊處得到空閑地址,向BRAM Control模塊提出寫請求,同時(shí)更新PRAM中的內(nèi)容。Free List control模塊負(fù)責(zé)管理空閑地址列表,提供Write Control模塊的寫B(tài)RAM地址及PRAM地址,回收經(jīng)Read Control模塊讀出數(shù)據(jù)塊后釋放的地址。Read Control模塊根據(jù)調(diào)度器的調(diào)度結(jié)果,通過BRAM Control模塊讀出需要發(fā)送的數(shù)據(jù)單元,同時(shí)將釋放的緩沖單元地址寫入空閑地址列表。PRAM Control模塊為外部SSRAM的控制模塊,可直接使用參考設(shè)計(jì)完成。BRAM Control模塊為外部DRAM控制模塊,一般分為Datapath與Controler兩個(gè)子模塊。Datapath模塊專門負(fù)責(zé)數(shù)據(jù)接口部分,完成DRAM接口的DQ、DQS處理以及相應(yīng)的延時(shí)調(diào)整,Controler模塊負(fù)責(zé)完成DRAM的控制需求。


在BM模塊中,BRAM的帶寬與PRAM的帶寬一般為TM的瓶頸。PRAM的帶寬主要受限于訪問的次數(shù),而BRAM的帶寬受限于接口帶寬。例如對于一個(gè)10G的TM,BRAM的有效帶寬必須保證20G,以接口利用率最差只能達(dá)到65%計(jì)算(考慮SEG模塊切分信元出現(xiàn)的N+1問題),需要保證接口帶寬達(dá)到30G。使用64位的DRAM接口,接口速率不能低于500MB/s,這樣對Datapath模塊的設(shè)計(jì)提出了更高的要求。在實(shí)際系統(tǒng)中,BRAM主要使用DDR SDRAM、DDR II SDRAM。


當(dāng)使用Stratix II FPGA,BRAM使用DDR II SDRAM時(shí),測試表明DDR II SDRAM接口速率可達(dá)到800MB/s。在常規(guī)使用的情況下,DDR II SDRAM接口速率可保證達(dá)到667MB/s。對于一個(gè)64位的DRAM接口,接口速率可達(dá)到42.7GB/s,完全可以滿足一個(gè)10G的TM系統(tǒng)。


[1] [2]  下一頁



[1] [2]  下一頁
  • 上一篇: 基于TMS320DM642的嵌入式TCP/I P協(xié)議棧的實(shí)現(xiàn)
  • 下一篇: 利用PCI1510實(shí)現(xiàn)PCI板卡的熱插拔測試
  • 發(fā)表評論   告訴好友   打印此文  收藏此頁  關(guān)閉窗口  返回頂部
    熱點(diǎn)文章
     
    推薦文章
     
    相關(guān)文章
    網(wǎng)友評論:(只顯示最新5條。)
    關(guān)于我們 | 聯(lián)系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機(jī)電之家 | 會(huì)員助手 | 免費(fèi)鏈接

    點(diǎn)擊這里給我發(fā)消息66821730(技術(shù)支持)點(diǎn)擊這里給我發(fā)消息66821730(廣告投放) 點(diǎn)擊這里給我發(fā)消息41031197(編輯) 點(diǎn)擊這里給我發(fā)消息58733127(審核)
    本站提供的機(jī)電設(shè)備,機(jī)電供求等信息由機(jī)電企業(yè)自行提供,該企業(yè)負(fù)責(zé)信息內(nèi)容的真實(shí)性、準(zhǔn)確性和合法性。
    機(jī)電之家對此不承擔(dān)任何保證責(zé)任,有侵犯您利益的地方請聯(lián)系機(jī)電之家,機(jī)電之家將及時(shí)作出處理。
    Copyright 2007 機(jī)電之家 Inc All Rights Reserved.機(jī)電之家-由機(jī)電一體化網(wǎng)更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術(shù)支持

    主辦:杭州市高新區(qū)(濱江)機(jī)電一體化學(xué)會(huì)
    中國行業(yè)電子商務(wù)100強(qiáng)網(wǎng)站

    網(wǎng)站經(jīng)營許可證:浙B2-20080178-1