成人免费观看网欧美片-成人免费观看视频-成人免费观看男女羞羞视频-成人免费观看的视频黄页-成人免费高清视频-成人免费福利片在线观看

  •  歡迎來到 深圳市毅創騰電子科技有限公司  
網站首頁 > 電子資訊> XILINX使用FPGA和IP Core實現定制緩沖管理

XILINX使用FPGA和IP Core實現定制緩沖管理

信息來源 : 網絡 | 發布時間 : 2017-01-10 14:45 | 瀏覽次數 : 1862

使用FPGA和IP Core實現定制緩沖管理


在通信網絡系統中,流量管理的核心是緩存管理、隊列管理和調度程序。本文結合使用FPGA及IP Core闡述緩存管理的結構、工作原理及設計方法。 
    目前硬件高速轉發技術的趨勢是將整個轉發分成兩個部分:PE(Protocol Engine,協議引擎)和TM(Traffic Management,流量管理)。其中PE完成協議處理,TM負責完成隊列調度、緩存管理、流量整形、QOS等功能,TM與轉發協議無關。

    隨著通信協議的發展及多樣化,協議處理部分PE在硬件轉發實現方面,普遍采用現有的商用芯片NP(Network Processor,網絡處理器)來完成,流量管理部分需要根據系統的需要進行定制或采用商用芯片來完成。在很多情況下NP芯片、TM芯片、交換網芯片無法選用同一家廠商的芯片,這時定制TM成為了成本最低、系統最優化的方案,一般采用FPGA來實現,TM的常規結構如圖1所示。

 

圖1  TM的常規結構圖

 


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

    SEG模塊為數據切分塊,根據交換網的數據結構要求,在上交換網的方向上負責把IP包或數據包切分為固定大小的數據塊,方便后期的存儲調度以及交換網的操作處理,SEG模塊可配合使用SPI4-P2 IP Core來實現。與SEG模塊對應的是RSM模塊,RSM模塊將從交換網下來的數據塊重新組合成完整的IP包或數據包。

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

    QM模塊為隊列管理模塊,負責完成端口的數據隊列管理功能,接收BM模塊讀寫DRAM時的數據入隊、出隊請求,TM所能支持的數據流的數目、業務類型數目、端口的數目等性能指標在QM模塊處體現出來。

    Scheduler模塊為調度模塊,根據數據包類型及優先級和端口分配的帶寬進行調度,TM流量整形、QOS等功能通過調度模塊實現。

    CELL_EDIT模塊完成輸出數據的封裝,把由DRAM中讀出的數據封裝后發送出去。

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

    BM模塊中基于包的數據結構方面由兩部分構成:BRAM和PRAM。BRAM為數據緩沖區,對應片外的DRAM。BRAM負責存儲數據單元,相對于SEG模塊切分的數據單元,BRAM內有相應大小的存儲單元BCELL與之對應,BCELL在BRAM內以地址空間劃分,每個BCELL相同大小,BCELL為BRAM的最小存取單元。在實際系統中基于SEG模塊切分的數據單元大小,BCELL一般為64~512B。

    PRAM為指針緩沖區,PRAM對應片外的SSRAM。PRAM內部同樣以地址空間分為PCELL,PCELL與BCELL一一對應,每一個PCELL對應于一個BCELL,對應的PCELL與BCELL地址相同。

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

 

圖2  PRAM與BRAM關系圖

 


    在PRAM中存在兩種鏈表形式,PQ List代表已經存儲的數據包鏈表。為方便數據讀出,PQ List需要記錄數據包的第一個數據塊地址,即首指針Pq_Hptr,為方便新的數據寫入,PQ List需要記錄數據包的最后一個數據塊地址,即尾指針Pq_Tptr。PQ List同時需要記錄該鏈表的長度作為調度模塊進行調度的權值計算使用。

    Free List代表空閑的地址隊列。為方便地辨識、管理空閑的地址,避免地址沖突,在BM中將所有空閑的地址使用一個鏈表進行管理。這個鏈表就是空閑地址隊列。空閑地址隊列依據系統需求的不同有著不同的形式,一般空閑地址隊列的構成和PQ List相似,由空閑地址首指針Free_Hptr和空閑地址尾指針Free_Tptr構成。BM模塊的所有操作都圍繞著空閑的地址隊列Free List進行。

    基于BM模塊的數據流結構,BM模塊一般分為Write Control模塊、Free List control模塊、Read Control模塊、PRAM Control模塊、BRAM Control模塊。BM的結構如圖3所示。

 

圖3  BM結構圖

 


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

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

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

    BM模塊作為緩沖管理模塊,緩沖的基本單元為BCELL,基于對BCELL的管理,對于BM的操作都牽涉到空閑地址隊列的操作以及鏈表的操作。最基本的操作就是寫入操作和讀出操作。BM模塊的寫入操作由Write Control模塊發起。

    對于Write Control模塊,有數據單元需要寫入,首先向Free List模塊申請空閑地址,Free List將首指針a給Write Control模塊,作為該數據塊的寫地址,同時讀出首指針a對應在PRAM中的內容,得到下一跳地址b,將下一跳地址b作為新的空閑地址首指針。

    PQ List將尾指針n更新為新寫入的地址a,同時更新PRAM中n地址的內容,將a作為下一跳添入n地址。基于節省操作周期,NULL的內容保留原值,不再更新。這樣,一次BRAM的寫入操作需要一次PRAM的讀取操作及一次PRAM的寫入操作。

    QM模塊接收調度模塊的出隊信息,將出隊的PQ鏈表信息傳送給BM模塊進行讀取操作。

 

圖4  BM模塊的寫入操作

 

 

圖5  讀出操作的Free List堆棧結構


    BM模塊的讀取操作由Read Control模塊發起完成,當有數據單元需要讀出,相應的數據單元地址則需要回收進入空閑地址隊列Free List。對于不同的系統需求,空閑地址隊列Free List有不同的形式。比較簡單的操作是將Free List作為堆棧形式使用。

    Read Control模塊由PQ List的首地址0讀出相應的BRAM中的內容,同時讀出PRAM中對應的下一跳地址1,更新地址1為新的首地址。Free List將首指針a更新為剛釋放的地址0,同時地址0中寫入下一跳指針a。這樣一次BRAM的讀出操作需要一次PRAM的讀取操作及一次PRAM的寫入操作。

    作為堆棧形式的空閑地址隊列在實際操作中會把一部分空閑地址隊列放入片內緩沖中。這樣在讀BRAM釋放地址進入空閑地址隊列時可以節省PRAM的一次寫入操作,在寫BRAM時申請空閑地址時可以節省PRAM的一拍讀取操作。PRAM堆棧結構下內置空閑地址隊列表如圖6所示。

 

圖6  PRAM堆棧結構下內置空閑地址隊列表


    以圖5的讀出操作為例,當Read Control模塊由PQ List的首地址0讀出相應的BRAM中的內容,同時讀出PRAM中對應的下一跳地址1,更新地址1為新的首地址。這時,地址0為已經釋放的地址,按空閑隊列的操作要求,地址0需要進入空閑地址隊列中,在寫操作時再將地址0讀出提供給Write Control模塊用于寫BRAM。而基于圖6的結構,地址0在被釋放后不再進行更新PRAM中的空閑地址隊列Free List的操作,直接寫入片內緩沖中,在Write Control模塊申請地址時由片內緩沖中讀出提供給Write Control模塊 。僅在片內Free List緩沖幾乎滿時,進行PRAM中的空閑地址隊列Free List的更新操作,或在片內Free List緩沖空時進行PRAM中的空閑地址隊列Free List的讀取操作。基于圖6的結構,在一個讀寫周期內,可以節省兩次PRAM的操作,在最壞情況下也可節省一次PRAM的操作。但基于堆棧的結構,棧頂的地址被高頻率的反復的調用,棧底的地址很難被使用,DRAM的工作壽命會因此受到影響。為保證DRAM的工作壽命,在有些系統中將空閑地址隊列Free List做成鏈表形式,從而保證每個DRAM的存儲空間都能被平均的使用。讀出操作的Free Lis鏈表結構如圖7所示。

 

圖7  讀出操作的Free Lis鏈表結構


    Read Control模塊由PQ List的首地址0讀出相應的BRAM中的內容,同時讀出PRAM中對應的下一跳地址1,更新地址1為新的首地址。

    Free List相對于堆棧模式增加尾指針d。Free List在回收地址時維持首指針a不變,將尾指針d更新為剛釋放的地址0,同時地址d中寫入下一跳指針0。這樣一次BRAM的讀出操作同樣需要一次PRAM的讀取操作及一次PRAM的寫入操作。對于鏈表方式的空閑地址隊列Free List,在每個讀、寫周期必須進行兩次PRAM的寫入操作及兩次PRAM的讀取操作,PRAM的效率不高。

    針對兩種空閑地址隊列的效率及對DRAM的影響,在很多系統中采用了折中的方法,即在PRAM中使用鏈表方法管理空閑地址隊列Free List,在片內采用堆棧模式另建一個空閑地址隊列Free List,在這種情況下,每個讀、寫周期需要三次PRAM的操作。

    在實際系統中,BRAM的帶寬與PRAM的帶寬一般為TM的瓶頸,PRAM主要受限于訪問的次數,而BRAM受限于接口帶寬。

    在10G的TM系統中,片內數據總線的位寬定為128位,系統時鐘定為150MHz,BCELL的大小定為64B。在這種情況下,讀取操作和寫入操作均為4個時鐘周期。在滿足10G系統的需求下,讀取、寫入操作周期為7個時鐘周期。在前面曾計算過,在滿足10G TM系統的情況下,BRAM采用64位 DDR II SDRAM,接口時鐘使用250MHz即可滿足數據接口的需求。PRAM采用32位ZBT SRAM ,接口時鐘使用系統時鐘,每個PCELL為64位,每個讀、寫周期需要6個時鐘周期完成。在實際系統中采用Altera FPGA,BM的設計可以滿足10G的TM線速工作的需求。

    在40G核心網的TM系統中,片內數據總線的位寬為256位,系統時鐘采用250MHz(在40GE的系統中可選用200MHz)。采用DDR II SDRAM,接口時鐘使用333MHz,則192位的BRAM可以滿足40G的TM需求。此時,BCELL可為96B、192B、384B,在這里選用192B。當BCELL選用192B時,讀取操作和寫入操作同樣均為6個時鐘周期。在滿足40G系統的需求下,讀取、寫入操作周期為9個時鐘周期。PRAM采用48位QDR SRAM,接口時鐘使用150MHz,每個PCELL為96位,在每個讀、寫時鐘周期內,PRAM最多可被操作5次。在采用Altera FPGA的情況下,BRAM采用192位 DDR II SDRAM,PRAM采用48位QDR SRAM,BM的設計可以滿足40G的TM線速工作的需求。

該信息來源于網絡,如有侵權,請及時與我們聯系
国产成人精品久久综合| 亚洲色欲色欲综合网站色偷偷| 黑人大战中国AV女叫惨了| 亚洲熟妇少妇任你躁在线观看无码 | 精品综合久久久久久98| 中文字幕久久精品无码| 日本熟妇xxxx| 国产私人尤物无码不卡| 亚洲中文字幕久久无码| 欧美一区精品视频一区二区| 国产成人69视频午夜福利在线观| 亚洲爆乳成AV人在线蜜芽| 巨波霸乳在线永久免费视频 | 夜夜高潮夜夜爽国产伦精品| 欧美性猛烈XXXX极品少妇 | CHINESE老太性视频BBW| 四虎永久在线精品免费网址| 精品国偷自产在线视频99| 236宅宅理论片免费| 上司揉捏人妻丰满双乳电影| 红杏亚洲影院一区二区三区| 777爽死你免费看一二区无码| 熟妇人妻少妇精品欧美视频| 交换人生俱乐部全文免费阅读| 中文字幕女人妻热女人妻| 色偷偷色噜噜狠狠成人免费视频| 好大好深好猛好爽视频免费| 中文在线8资源库| 少妇人妻在线视频| 久久国产热这里只有精品| Z〇ZOZ〇女人另类ZOZ〇| 掀开老师的裙子挺进去| 久久综合狠狠色综合伊人| 差差差很疼视频30分钟无掩盖| 亚洲AV无码成人影院一尤物区| 免费女人高潮流视频在线观看| 公车掀起老师裙子进入在线| 亚洲欧美日韩久久精品第一区| 欧美性猛交XXXX免费看| 国产午夜亚洲精品理论片不卡| 中文精品无码中文字幕无码专区| 舌头伸入麻麻两腿之间| 久久精品伊人一区二区三区| 成人免费一区二区三区视频软件| 亚洲精品高清国产一久久| 欧美最猛黑人XXXX黑人猛交| 国产尤物AV尤物在线观看| 24小时日本高清在线播放| 无码无遮挡又大又爽又黄的视频| 没带罩子让他捏了一节课 | 99精品视频一区在线观看| 无码人妻精品丰满熟妇区| 美女裸体无遮挡永久免费视频AP| 国产成人婷婷丁香在线| 永久免费看照片的聊骚软件| 熟女俱乐部 五十路 六十路| 久久亚洲色WWW成人| 国产69成人精品视频免费| 一区二区日韩视频| 偷窥 性别 瘾 XXXXX| 麻花传媒0076在线观看| 国产精品-区区久久久狼| 20厘米的粗黑巨物挺进| 亚洲A∨国产AV综合AV麻豆丫| 女人被躁到高潮嗷嗷叫游戏| 国模小黎大尺度精品(02)[| VODAFONEWIFI另类| 亚洲精品乱码久久久久久V| 日韩成人无码AV| 久久成人国产精品无码| 公交车挺进朋友人妻的身体里| 又色又爽又黄又无遮挡网站| 无码H黄肉3D动漫在线观看| 男生女生一起相差差差差| 国产真实乱对白精彩| YEEZY380蜜桃粉和白色| 亚洲精品国产欧美一二区 | 免费A级毛片无码樱桃视频| 国产清纯白嫩大学生正在播放| EEUSS影院WWW在线观看| 亚洲欧美激情精品一区二区| 色舞月亚洲综合一区二区| 免费人妻AV无码专区| 国产自偷自偷免费一区| 成人4399看片HD免费| 尤物永久免费AV无码网站| 无码少妇一区二区三区芒果| 欧美性色欧美A在线播放| 久久WWW成人_看片免费不卡| 国产成人无码免费视频麻豆| BT天堂资源种子在线| 亚洲精品四区麻豆文化传媒| 少妇人妻综合久久中文888| 奶头又大又白喷奶水AV| 娇小VIDEOS出血| 国产成人AV一区二区三区在线| .一区二区三区在线 | 欧洲 | 日韩无码视频三区| 免费无遮挡无码永久视频| 狠狠综合久久综合88亚洲| 公车上拨开丁字裤进入电影| 97香蕉超级碰碰碰久久兔费| 亚洲清清爽爽AABB| 无码一区二区三区在线观看| 日本XXXX色视频在线观看免费| 久久综合狠狠综合久久综| 国内偷拍亚洲欧洲2018| 高潮喷奶水在线播放视频| 999ZYZ玖玖资源站永久| 亚洲精品无码AMM毛片| 我被八个男人玩到早上| 日本三级强乳伦姧| 女教师办公室被强在线播放| 久久99久久99小草精品免视看 | 白嫩美女被内射59| 中文字幕亚洲乱码熟女1区2区| 亚洲第一AV无码专区| 无码国产偷倩在线播放老年人| 日本XXXX裸体XXXX自慰| 男女爽到高潮的免费网站| 久激情内射婷内射蜜桃人妖| 国产探花在线精品一区二区| 粉嫩小泬无遮挡久久久久久小说| JAPANESE日本熟妇伦| 制服 丝袜 有码 无码 中文| 亚洲精品一区二区三浪潮AV| 性ⅩXXX搡XXXX搡| 特级毛片AAAAAA| 日本一区二区在线播放| 欧美精品天堂一区二区不卡| 麻豆AV无码精品一区二区| 久久99精品久久久久久齐齐| 含苞待放1ⅤLH周莹莹| 国产精品无码久久久久久久久久| 丰满少妇又爽又紧又丰满在线观看 | 亚洲国产成人精品无码区在线播放| 无码熟妇人妻AV影音先锋| 色综合色综合久久综合频道88| 欧美一区二区三区久久综合| 妺妺窝人体色WWW网站厕所盗摄| 久久久久久九九99精品| 精产国品一二三产区区| 国产做无码视频在线观看浪潮| 国产精华液一区二区区别大吗| 东京热人妻中文无码AV| 宝宝才两根手指就疼哭了怎么回事| 7777精品伊久久久大香线蕉| 再深点灬舒服灬太大了下载| 野花高清视频免费观看完整版中文 | TPU色母和子色母的性能| 97人妻人人揉人人躁人人爽| 中文国产成人精品久久不卡| 一二三四免费观看在线影视大全| 亚洲色爱图小说专区| 亚洲精品国产AV成拍色拍婷婷 | 色YEYE香蕉凹凸视频在线观看| 日本边做边吃奶AⅤ视频免费| 热99RE久久免费视精品频| 欧美国产日韩久久MV| 奶头好大揉着好爽视频午夜院| 麻豆专媒体一区二区| 免费观看添你到高潮视频| 麻豆AⅤ精品无码一区二区| 里番本子库绅士ACG全彩无码| 久久午夜无码鲁丝片秋霞| 久久综合色一综合色88| 巨人精品福利官方导航| 久久亚洲熟妇熟女ⅩXXXHD| 拒嫁豪门少奶奶99次出逃| 久青草国产97香蕉在线影院| 久久综合激激的五月天| 巨熟乳波霸若妻在线播放| 乱人伦人妻中文字幕无码91九| 久热中文字幕无码视频| 麻豆文化传媒精品观看网站| 麻豆国产原创视频在线播放 | 亚洲精品无码AV专区最新| 亚洲乱码日产精品B| 亚洲日韩精品无码AV成人小说| 亚洲色AV无码AV丰满AV| 夜里18款禁用B站入口探APP| 荫蒂每天被男人添| 中文字幕在线观看亚洲日韩| 8888国产精华最好的产品| JAPANESE失禁潮喷| 被村长狂躁俩小时玉婷视频| 大荫蒂又大又长又硬又紧又粗| 寡妇被下药和大狼拘| 国产精品毛片一区内射| 国产亚洲成AV人片在线观看| 国产一区二区三区在线观看免费 | 天堂AV无码AV一区二区三区| 无码播放一区二区三区| 亚洲 欧美 综合 另类 中字| 亚洲AV中文无码乱人伦在线播放 | 亚洲444KKKK在线观看无码| 亚洲成a人片在线观看无码专区| 亚洲欧洲日产国码无码久久99| 伊人精品成人久久综合全集观看| 2019国产情侣超清在线|