在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<abbr id="27omo"></abbr>

<menu id="27omo"><dl id="27omo"></dl></menu>
    • <label id="27omo"><tt id="27omo"></tt></label>

      新聞中心

      EEPW首頁 > 手機與無線通信 > 設計應用 > 多隊列FIFO——支持網絡QoS的重要芯片

      多隊列FIFO——支持網絡QoS的重要芯片

      作者: 時間:2017-10-27 來源:網絡 收藏

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

      本文引用地址:http://www.biyoush.com/article/201710/368687.htm

      支持IP網絡中的QoS(服務質量),除了對相關網絡協(xié)議開發(fā)和完善外,也需要路由器內部能夠對不同類型分組或數據流提供有區(qū)分的服務。是IDT公司于2002年率先推出的業(yè)界新型存儲器件,能夠有效地支持QoS的高速實現。該芯片是為改善網絡服務質量和其它需要對隊列數據重新排序的應用而設計的,它既支持靈活的數據區(qū)分應用,又避免了復雜的片外控制邏輯。本文介紹該器件的基本特性和FPGA控制方法,并給出該存儲器在路由器中支持QoS調度的應用。

      1 多隊列FIFO介紹

      該器件配備有嵌入式FIFO存儲器核心和高速隊列邏輯,具有很高的數據傳輸帶寬和靈活的可配置性。該器件單芯片最高支持7.2Gbps持續(xù)傳輸速率和最多支持32個子隊列,器件級聯(lián)最多支持256個子隊列。只需一個FIFO即可緩存多種數據流,有助于用戶選擇不同的隊列執(zhí)行獨立的讀寫功能。

      多隊列FIFO不僅提供諸如數據緩存、隊列滿空狀態(tài)指示、寫/讀時鐘獨立和寫/讀總線匹配等傳統(tǒng)的FIFO功能,而且支持整包操作模式(Packet Mode)和數據區(qū)分排隊,從而消除了以前用昂貴復雜的操作邏輯來實現類似功能。多隊列FIFO的示意圖如圖1所示。

      由圖能直觀地看出,多隊列FIFO是在一個物理器件內提供可區(qū)分的多個邏輯子隊列的存儲器。可區(qū)分是指各子隊列可以獨立寫/讀,且各子隊列有獨立的狀態(tài)指示。

      2 多隊列FIFO的FPGA控制

      FPGA對多隊列FIFO的控制體現在三個方面:配置、寫操作和讀操作,如圖2所示。

      2.1 多隊列FIFO的配置

      新款IDT多隊列流量控制器件向系統(tǒng)設計人員提供了最新的解決方案,使得僅用一個高度集成器件就能夠進行可選擇的多個可區(qū)分的順序數據存取操作。這一靈活的功能可由一系列器件設置選項來實現。與以前的單隊列FIFO器件(如IDT 3690)不同的是,多隊列FIFO有相對復雜的可配置性,除寫/讀端口總線寬度可由芯片管腳直接設定外,還有相應的兩種配置方式:默認配置和串行配置,其中串行配置又稱用戶自定義配置,是一種新的器件特性。

      圖3

      多隊列FIFO的可配置項有:(a)器件內邏輯子隊列數量;(b)各子隊列的存儲深度;(c)各子隊列的PAF(幾乎滿)偏移值;(d)各子隊列的PAE(幾乎空)偏移值(普通模式下有效,整包模式下轉變?yōu)檎甘綪R)。

      用戶對多隊列FIFO的配置有很大的靈活性。舉例來說,IDT72V51336~IDT72V51356可以配置成1~8個隊列,每個隊列的深度設定都是相互獨立的。標志位是用戶可編程的,且各子隊列獨立。配置可通過專門的串行編程口進行,如果不需要對器件編程也可以用默認模式。

      串行配置是指配置多隊列FIFO的數據是逐比特串行送入器件的。在多隊列FIFO器件內部有存放配置數據的寄存器,這些寄存器以18位為一基本單位。設Q為器件配置的子隊列數,Qmax為該器件所支持的最大子隊列數,則器件內有(Qmax&TImes;4+1)個寄存器。單器件配置所需的比特數據量Sum為:18+Qx72+1。最后一比特為配置結束指示,假如設計中Q=8,則Sum=19+8x72=595比特。配置數據具體設置依據可參見IDT文檔AN-303(DSC-5997/2,2003年7月版本)。

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

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

      圖中的“配置數據”既可以存放在FPGA的片內RAM中,也可以存放在片外存儲器中。由于配置數據量較小,推薦選擇存儲在片內RAM中,因為這樣能夠省掉與片外存儲器的互連。

      2.2 寫操作

      多隊列FIFO使用于隊列地址Wradd/Rdadd區(qū)分各個寫/讀子隊列,用鎖定有效信號Waden/Raden的高電平指定新的寫/讀子隊列,寫/讀使能是Wen/Ren。

      多隊列FIFO寫操作相比寫隊列地址的切換存在延后效應,即寫總線上的數據送入新的子隊列是發(fā)生在鎖定新子隊列地址后的第二個寫時鐘周期。如果能夠利用此時序特征,提前兩個周期鎖定新的子隊列地址,則可以做到100%使用寫總線周期。

      當子隊列滿指示FF有效時,新的數據無法寫入該隊列,會發(fā)生數據丟失。一般為了避免這種情況,都要配置好PAF偏移值,在看到PAFn~拉低有效后,停止寫入操作。圖5給出不間斷寫操作時序圖。

      圖5

      2.3 讀操作

      與寫操作類似的讀操作也存在相對讀隊列地址的延后效應,即在新隊列地址鎖定后的第三個讀時鐘周期,讀總線上呈現的數據轉變?yōu)樾伦雨犃袃鹊臄祿?。所以若能夠提前三個周期鎖定新隊列,則可以做到100%讀總線利用率。

      當選定隊列狀態(tài)為空時,讀端口上呈現全高電平。配置好PAE偏移值后,通過查看PAEn~便可以得知隊列的空或非空狀態(tài),并提前做好讀或切換新隊列的動作。圖6給出不間斷讀操作時序圖。

      圖6

      3 多隊列FIFO的應用

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

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

      另外,在不斷電連續(xù)運行的情況下,FPGA可控制在不同時段改變多隊列FIFO配置,以適應不同的應用需要。比如,要適配不同類型數據,暫存時可將其串行配置成相應多個子隊列;而只做同一類型數據緩有時可以將其配置成單隊列使用。故多隊列FIFO應用靈活性高,前景好。



      關鍵詞: 多隊列 FIFO QoS

      評論


      相關推薦

      技術專區(qū)

      關閉