《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 業(yè)界動態(tài) > 多隊列FIFO——支持網(wǎng)絡QoS的重要芯片

多隊列FIFO——支持網(wǎng)絡QoS的重要芯片

2008-08-18
作者:肖 宇 羅敏軒 蘭巨龍 汪

??? 摘 要: 在IP網(wǎng)絡中支持QoS是近年來研究的熱點,,而IDT公司推出的新型存儲器件——多隊列FIFO能夠支持QoS的應用,。因其具有單器件下支持可配置的多" title="的多">的多個隊列,,并具有可級聯(lián)" title="級聯(lián)">級聯(lián)使用的高度靈活性,,該器件在支持數(shù)據(jù)區(qū)分緩存和處理中有著良好的應用前景。介紹了多隊列FIFO的主要特點,,給出了FPGA控制方法及其在路由器中支持QoS調度的應用,。
??? 關鍵詞: 多隊列FIFO? 子隊列? FPGA? 數(shù)據(jù)區(qū)分? QoS

?

??? 支持IP網(wǎng)絡中的QoS(服務質量" title="服務質量">服務質量),除了對相關網(wǎng)絡協(xié)議開發(fā)和完善外,,也需要路由器內部能夠對不同類型分組或數(shù)據(jù)流提供有區(qū)分的服務,。多隊列FIFO是IDT公司于2002年率先推出的業(yè)界新型存儲器件,能夠有效地支持QoS的高速實現(xiàn),。該芯片是為改善網(wǎng)絡服務質量和其它需要對隊列數(shù)據(jù)重新排序的應用而設計的,,它既支持靈活的數(shù)據(jù)區(qū)分應用,,又避免了復雜的片外控制邏輯。本文介紹該器件的基本特性和FPGA控制方法,,并給出該存儲器在路由器中支持QoS調度的應用。
1 多隊列FIFO介紹
??? 該器件配備有嵌入式FIFO存儲器核心和高速隊列邏輯,,具有很高的數(shù)據(jù)傳輸帶寬和靈活的可配置性,。該器件單芯片最高支持7.2Gbps持續(xù)傳輸速率和最多支持32個子隊列,器件級聯(lián)最多支持256個子隊列,。只需一個FIFO即可緩存多種數(shù)據(jù)流,,有助于用戶選擇不同的隊列執(zhí)行獨立的讀寫功能。
??? 多隊列FIFO不僅提供諸如數(shù)據(jù)緩存,、隊列滿空狀態(tài)指示,、寫/讀時鐘獨立和寫/讀總線匹配等傳統(tǒng)的FIFO功能,而且支持整包操作模式(Packet Mode)和數(shù)據(jù)區(qū)分排隊,,從而消除了以前用昂貴復雜的操作邏輯來實現(xiàn)類似功能,。多隊列FIFO的示意圖如圖1所示。

?


??? 由圖能直觀地看出,,多隊列FIFO是在一個物理器件內提供可區(qū)分的多個邏輯子隊列的存儲器,。可區(qū)分是指各子隊列可以獨立寫/讀,,且各子隊列有獨立的狀態(tài)指示,。
2 多隊列FIFO的FPGA控制
??? FPGA對多隊列FIFO的控制體現(xiàn)在三個方面:配置、寫操作和讀操作,,如圖2所示,。

?


2.1 多隊列FIFO的配置
??? 新款IDT多隊列流量控制器件向系統(tǒng)設計人員提供了最新的解決方案,使得僅用一個高度集成器件就能夠進行可選擇的多個可區(qū)分的順序數(shù)據(jù)存取操作,。這一靈活的功能可由一系列器件設置選項來實現(xiàn),。與以前的單隊列FIFO器件(如IDT 3690)不同的是,多隊列FIFO有相對復雜的可配置性,,除寫/讀端口總線寬度可由芯片管腳直接設定外,,還有相應的兩種配置方式:默認配置和串行配置,其中串行配置又稱用戶自定義配置,,是一種新的器件特性,。
??? 多隊列FIFO的可配置項有:(a)器件內邏輯子隊列數(shù)量;(b)各子隊列的存儲深度,;(c)各子隊列的PAF(幾乎滿)偏移值,;(d)各子隊列的PAE(幾乎空)偏移值(普通模式下有效,整包模式下轉變?yōu)檎甘綪R),。
?? 默認配置與串行配置的區(qū)別如表1所示,。

?


??? 用戶對多隊列FIFO的配置有很大的靈活性,。舉例來說,IDT72V51336~IDT72V51356可以配置成1~8個隊列,,每個隊列的深度設定都是相互獨立的,。標志位是用戶可編程的,且各子隊列獨立。配置可通過專門的串行編程口進行,,如果不需要對器件編程也可以用默認模式,。
??? 串行配置是指配置多隊列FIFO的數(shù)據(jù)是逐比特串行送入器件的。在多隊列FIFO器件內部有存放配置數(shù)據(jù)的寄存器,,這些寄存器以18位為一基本單位,。設Q為器件配置的子隊列數(shù),Qmax為該器件所支持的最大子隊列數(shù),,則器件內有(Qmax×4+1)個寄存器,。單器件配置所需的比特數(shù)據(jù)量Sum為:18+Q×72+1。最后一比特為配置結束指示,,假如設計中Q=8,,則Sum=19+8×72=595比特。配置數(shù)據(jù)具體設置依據(jù)可參見IDT文檔AN-303(DSC-5997/2,,2003年7月版本),。
??? 與串行配置相關的信號如表2所示。

?


??? 串行配置信號時序(單器件)如圖3所示,。

?


??? 如果是多器件級聯(lián)使用,,則器件i的SO和SENO~應分別與器件i+1的SI和SENI~相連,并檢測級聯(lián)尾器件的SENO~以判斷整個配置是否結束,。當用硬件描述語言編寫串行配置的程序時,,應當參考如圖4所示的串行配置流程狀態(tài)圖。

?


??? 圖中的“配置數(shù)據(jù)”既可以存放在FPGA的片內RAM中,,也可以存放在片外存儲器中,。由于配置數(shù)據(jù)量較小,推薦選擇存儲在片內RAM中,,因為這樣能夠省掉與片外存儲器的互連,。
2.2 寫操作
??? 多隊列FIFO使用子隊列地址Wradd/Rdadd區(qū)分各個寫/讀子隊列,用鎖定有效信號Waden/Raden的高電平" title="高電平">高電平指定新的寫/讀子隊列,,寫/讀使能是Wen/Ren,。
??? 多隊列FIFO寫操作相比寫隊列地址的切換存在延后效應,即寫總線上的數(shù)據(jù)送入新的子隊列是發(fā)生在鎖定新子隊列地址后的第二個寫時鐘周期,。如果能夠利用此時序特征,,提前兩個周期鎖定新的子隊列地址,則可以做到100%使用寫總線周期。
??? 當子隊列滿指示FF有效時,,新的數(shù)據(jù)無法寫入該隊列,,會發(fā)生數(shù)據(jù)丟失。一般為了避免這種情況,,都要配置好PAF偏移值,,在看到PAFn~拉低有效后,停止寫入操作,。圖5給出不間斷寫操作時序圖,。

?


2.3 讀操作
??? 與寫操作類似的讀操作也存在相對讀隊列地址的延后效應,即在新隊列地址鎖定后的第三個讀時鐘周期,,讀總線上呈現(xiàn)的數(shù)據(jù)轉變?yōu)樾伦雨犃袃鹊臄?shù)據(jù),。所以若能夠提前三個周期鎖定新隊列,,則可以做到100%讀總線利用率,。
??? 當選定隊列狀態(tài)為空時,讀端口上呈現(xiàn)全高電平,。配置好PAE偏移值后,,通過查看PAEn~便可以得知隊列的空或非空狀態(tài),并提前做好讀或切換新隊列的動作,。圖6給出不間斷讀操作時序圖,。

?


3 多隊列FIFO的應用
??? 多隊列FIFO可滿足設備實現(xiàn)服務質量、信息包" title="信息包">信息包優(yōu)先級和多數(shù)據(jù)流匯集/分開的要求,。例如,,根據(jù)信息包客戶定制優(yōu)先次序,進入系統(tǒng)的數(shù)據(jù)可被分配到多個隊列之一,,每個隊列都代表不同的服務等級,。處理器根據(jù)一定的運算法則首先處理優(yōu)先級高的信息包,以確保整個網(wǎng)絡的服務水平,。筆者就使用了多隊列FIFO在骨干路由器交換網(wǎng)絡中實現(xiàn)了多優(yōu)先級調度,,具體例子如圖7所示。

?


??? 劃分服務等級通常依據(jù)分組的類型,,對延遲敏感型分組給予高優(yōu)先級,。區(qū)別于傳統(tǒng)的先到先服務(FCFS),有區(qū)分的服務可以提供一定的網(wǎng)絡服務質量,,圖8是一個具體的例子,。如果不應用多隊列FIFO,勢必要使用SRAM模擬多隊列,,不得不增加許多復雜的控制邏輯,,消耗處理器的資源;或者是采用多個獨立的存儲器件對不同類型分組進行排隊,,既增加了實際制板(PCB)的難度,,而且可擴展性差,。

?


??? 另外,在不斷電連續(xù)運行的情況下,,F(xiàn)PGA可控制在不同時段改變多隊列FIFO配置,,以適應不同的應用需要。比如,,要適配不同類型數(shù)據(jù),,暫存時可將其串行配置成相應多個子隊列;而只做同一類型數(shù)據(jù)緩存時可以將其配置成單隊列使用,。故多隊列FIFO應用靈活性高,,前景好。
參考文獻
1 IDT APPLICATION NOTE:AN-303,,AN-349,AN-338. IDT,, 2003-07
2 Grenville Armitage. Quality of Service in IP Networks. Foundations for a Multi_Service Internet?Copyright 2000 by Luncent Technologies
3 潘 松,黃繼業(yè).EDA技術實用教程.北京:科學出版社, 2002
4 侯伯亨,,顧 新.VHDL硬件描述語言與數(shù)字邏輯電路設計.西安:西安電子科技大學出版社,,1999

本站內容除特別聲明的原創(chuàng)文章之外,轉載內容只為傳遞更多信息,,并不代表本網(wǎng)站贊同其觀點,。轉載的所有的文章、圖片,、音/視頻文件等資料的版權歸版權所有權人所有,。本站采用的非本站原創(chuàng)文章及圖片等內容無法一一聯(lián)系確認版權者。如涉及作品內容,、版權和其它問題,,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,,避免給雙方造成不必要的經濟損失,。聯(lián)系電話:010-82306118;郵箱:[email protected],。