摘要:在IP网络中支撑QoS是近年来研讨的热门,而IDT公司推出的新式存储器材——多行列FIFO能够支撑QoS的运用。因其具有单器材下支撑可装备的多个行列,并具有可级联运用的高度灵敏性,该器材在支撑数据差异缓存和处理中有着杰出的运用远景。介绍了多行列团FIFO的主要特点,给出了FPGA操控办法及其在路由器中支撑QoS调度的运用。
支撑IP网络中的QoS(服务质量),除了对相关网络协议开发和完善外,也需求路由器内部能够对不同类型分组或数据流供给有差异的服务。多行列FIFO是IDT公司于2002年首要推出的业界新式存储器材,能够有用地支撑QoS的高速完成。该芯片是为改进网络服务质量和其它需求对行列数据从头排序的运用而规划的,它既支撑灵敏的数据差异运用,又防止了杂乱的片外操控逻辑。本文介绍该器材的根本特性和FPGA操控办法,并给出该存储器在路由器中支撑QoS调度的运用。
1 多行列FIFO介绍
该器材配备有嵌入式FIFO存储器中心和高速行列逻辑,具有很高的数据传输带宽和灵敏的可装备性。该器材单芯片最高支撑7.2Gbps继续传输速率和最多支撑32个子行列,器材级联最多支撑256个子行列。只需一个FIFO即可缓存多种数据流,有助于用户挑选不同的行列履行独立的读写功用。
多行列FIFO不只供给比方数据缓存、行列满空状况指示、写/读时钟独立和写/读总线匹配等传统的FIFO功用,并且支撑整包操作形式(Packet Mode)和数据差异排队,然后消除了曾经用贵重杂乱的操作逻辑来完成相似功用。多行列FIFO的示意图如图1所示。
由图能直观地看出,多行列FIFO是在一个物理器材内供给可差异的多个逻辑子行列的存储器。可差异是指各子行列能够独立写/读,且各子行列有独立的状况指示。
2 多行列FIFO的FPGA操控
FPGA对多行列FIFO的操控体现在三个方面:装备、写操作和读操作,如图2所示。
2.1 多行列FIFO的装备
新款IDT多行列流量操控器材向体系规划人员供给了最新的解决方案,使得仅用一个高度集成器材就能够进行可挑选的多个可差异的次第数据存取操作。这一灵敏的功用可由一系列器材设置选项来完成。与曾经的单行列FIFO器材(如IDT 3690)不同的是,多行列FIFO有相对杂乱的可装备性,除写/读端口总线宽度可由芯片管脚直接设定外,还有相应的两种装备方法:默许装备和串行装备,其间串行装备又称用户自定义装备,是一种新的器材特性。
图3
多行列FIFO的可装备项有:(a)器材内逻辑子行列数量;(b)各子行列的存储深度;(c)各子行列的PAF(简直满)偏移值;(d)各子行列的PAE(简直空)偏移值(一般形式下有用,整包形式下转变为整包指示PR)。
用户对多行列FIFO的装备有很大的灵敏性。举例来说,IDT72V51336~IDT72V51356能够装备成1~8个行列,每个行列的深度设定都是彼此独立的。标志位是用户可编程的,且各子行列独立。装备可经过专门的串行编程口进行,假设不需求对器材编程也能够用默许形式。
串行装备是指装备多行列FIFO的数据是逐比特串行送入器材的。在多行列FIFO器材内部有寄存装备数据的寄存器,这些寄存器以18位为一根本单位。设Q为器材装备的子行列数,Qmax为该器材所支撑的最大子行列数,则器材内有(Qmax&TImes;4+1)个寄存器。单器材装备所需的比特数据量Sum为:18+Qx72+1。最终一比特为装备完毕指示,假设规划中Q=8,则Sum=19+8×72=595比特。装备数据详细设置根据可拜见IDT文档AN-303(DSC-5997/2,2003年7月版别)。
串行装备信号时序(单器材)如图3所示。
假设是多器材级联运用,则器材i的SO和SENO~应别离与器材i+l的SI和SENI~相连,并检测级联尾器材的SENO~以判别整个装备是否完毕。当用硬件描绘言语编写串行装备的程序时,应当参阅如图4所示的串行装备流程状况图。
图中的“装备数据”既能够寄存在FPGA的片内RAM中,也能够寄存在片外存储器中。由于装备数据量较小,引荐挑选存储在片内RAM中,由于这样能够省掉与片外存储器的互连。
2.2 写操作
多行列FIFO运用于行列地址Wradd/Rdadd差异各个写/读子行列,用确定有用信号Waden/Raden的高电平指定新的写/读子行列,写/读使能是Wen/Ren。
多行列FIFO写操作比较写行列地址的切换存在拖延效应,即写总线上的数据送入新的子行列是产生在确定新子行列地址后的第二个写时钟周期。假设能够运用此时序特征,提早两个周期确定新的子行列地址,则能够做到100%运用写总线周期。
当子行列满指示FF有用时,新的数据无法写入该行列,会产生数据丢掉。一般为了防止这种状况,都要装备好PAF偏移值,在看到PAFn~拉低有用后,中止写入操作。图5给出不间断写操作时序图。
图5
2.3 读操作
与写操作相似的读操作也存在相对读行列地址的拖延效应,即在新行列地址确定后的第三个读时钟周期,读总线上出现的数据转变为新子行列内的数据。所以若能够提早三个周期确定新行列,则能够做到100%读总线运用率。
当选定行列状况为空时,读端口上出现全高电平。装备好PAE偏移值后,经过检查PAEn~便能够得知行列的空或非空状况,并提早做好读或切换新行列的动作。图6给出不间断读操作时序图。
图6
3 多行列FIFO的运用
多行列FIFO可满意设备完成服务质量、信息包优先级和多数据流聚集/分隔的要求。例如,根据信息包客户定制优先次第,进入体系的数据可被分配到多个行列之一,每个行列都代表不同的服务等级。处理器根据必定的运算规律首要处理优先级高的信息包,以保证整个网络的服务水平。笔者就运用了多行列FIFO在主干路由器交流网络中完成了多优先级调度,详细比方如图7所示。
区别服务等级一般根据分组的类型,对推迟灵敏型分组给予高优先级。差异于传统的先到先服务(FCFS),有差异的服务能够供给必定的网络服务质量,图8是一个详细的比方。假设不运用多行列FIFO,必然要运用SRAM模仿多行列,不得不添加许多杂乱的操控逻辑,耗费处理器的资源;或者是选用多个独立的存储器材对不同类型分组进行排队,既添加了实践制板(PCB)的难度,并且可扩展性差。
别的,在不断电接连运转的状况下,FPGA可操控在不同时段改变多行列FIFO装备,以习惯不同的运用需求。比方,要适配不同类型数据,暂存时可将其串行装备成相应多个子行列;而只做同一类型数据缓有时能够将其装备成单行列运用。故多行列FIFO运用灵敏性高,远景好。