欢迎来到天天文库
浏览记录
ID:23560819
大小:51.00 KB
页数:5页
时间:2018-11-09
《多队列fifo——支持网络qos的重要芯片》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、多队列FIFO——支持网络QoS的重要芯片
2、第1摘要:在IP网络中支持QoS是近年来研究的热点,而IDT公司推出的新型存储器件——多队列FIFO能够支持QoS的应用。因其具有单器件下支持可配置的多个队列,并具有可级联使用的高度灵活性,该器件在支持数据区分缓存和处理中有着良好的应用前景。介绍了多队列团FIFO的主要特点,给出了FPGA控制方法及其在路由器中支持QoS调度的应用。关键词:多队列FIFO子队列FPGA数据区分QoS支持IP网络中的QoS(服务质量),除了对相关网络协议开发和完善外,也需要路由器
3、内部能够对不同类型分组或数据流提供有区分的服务。多队列FIFO是IDT公司于2002年率先推出的业界新型存储器件,能够有效地支持QoS的高速实现。该芯片是为改善网络服务质量和其它需要对队列数据重新排序的应用而设计的,它既支持灵活的数据区分应用,又避免了复杂的片外控制逻辑。本文介绍该器件的基本特性和FPGA控制方法,并给出该存储器在路由器中支持QoS调度的应用。1多队列FIFO介绍该器件配备有嵌入式FIFO存储器核心和高速队列逻辑,具有很高的数据传输带宽和灵活的可配置性。该器件单芯片最高支持7.2Gbps
4、持续传输速率和最多支持32个子队列,器件级联最多支持256个子队列。只需一个FIFO即可缓存多种数据流,有助于用户选择不同的队列执行独立的读写功能。多队列FIFO不仅提供诸如数据缓存、队列满空状态指示、写/读时钟独立和写/读总线匹配等传统的FIFO功能,而且支持整包操作模式(PacketMode)和数据区分排队,从而消除了以前用昂贵复杂的操作逻辑来实现类似功能。多队列FIFO的示意图如图1所示。由图能直观地看出,多队列FIFO是在一个物理器件内提供可区分的多个逻辑子队列的存储器。可区分是指各子队列可以独
5、立写/读,且各子队列有独立的状态指示。2多队列FIFO的FPGA控制FPGA对多队列FIFO的控制体现在三个方面:配置、写操作和读操作,如图2所示。2.1多队列FIFO的配置新款IDT多队列流量控制器件向系统设计人员提供了最新的解决方案,使得仅用一个高度集成器件就能够进行可选择的多个可区分的顺序数据存取操作。这一灵活的功能可由一系列器件设置选项来实现。与以前的单队列FIFO器件(如IDT3690)不同的是,多队列FIFO有相对复杂的可配置性,除写/读端口总线宽度可由芯片管脚直接设定外,还有相应的两种配置
6、方式:默认配置和串行配置,其中串行配置又称用户自定义配置,是一种新的器件特性。图3多队列FIFO的可配置项有:(a)器件内逻辑子队列数量;(b)各子队列的存储深度;(c)各子队列的PAF(几乎满)偏移值;(d)各子队列的PAE(几乎空)偏移值(普通模式下有效,整包模式下转变为整包指示PR)。用户对多队列FIFO的配置有很大的灵活性。举例来说,IDT72V51336~IDT72V51356可以配置成1~8个队列,每个队列的深度设定都是相互独立的。标志位是用户可编程的,且各子队列独立。配置可通过专门的串行编
7、程口进行,如果不需要对器件编程也可以用默认模式。串行配置是指配置多队列FIFO的数据是逐比特串行送入器件的。在多队列FIFO器件内部有存放配置数据的寄存器,这些寄存器以18位为一基本单位。设Q为器件配置的子队列数,Qmax为该器件所支持的最大子队列数,则器件内有(Qmax×4+1)个寄存器。单器件配置所需的比特数据量Sum为:18+Qx72+1。最后一比特为配置结束指示,假如设计中Q=8,则Sum=19+8x72=595比特。配置数据具体设置依据可参见IDT文档AN-303(DSC-5997/2,200
8、3年7月版本)。串行配置信号时序(单器件)如图3所示。如果是多器件级联使用,则器件i的SO和SENO~应分别与器件i+l的SI和SENI~相连,并检测级联尾器件的SENO~以判断整个配置是否结束。当用硬件描述语言编写串行配置的程序时,应当参考如图4所示的串行配置流程状态图。图中的“配置数据”既可以存放在FPGA的片内RAM中,也可以存放在片外存储器中。由于配置数据量较小,推荐选择存储在片内RAM中,因为这样能够省掉与片外存储器的互连。2.2写操作多队列FIFO使用于队列地址模拟多队列,不得不增加许多复杂
9、的控制逻辑,消耗处理器的资源;或者是采用多个独立的存储器件对不同类型分组进行排队,既增加了实际制板(PCB)的难度,而且可扩展性差。另外,在不断电连续运行的情况下,FPGA可控制在不同时段改变多队列FIFO配置,以适应不同的应用需要。比如,要适配不同类型数据,暂存时可将其串行配置成相应多个子队列;而只做同一类型数据缓有时可以将其配置成单队列使用。故多队列FIFO应用灵活性高,前景好。
此文档下载收益归作者所有