FPGA的轮询合路的设计和实现_第1页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、fpga的轮询合路的设计和实现针对高密度接口设计中基于字节处理和整包处理的转换问题,本文提出了分片轮询调度和改进式欠账轮询调度相结合的调度策略,该策略在很大程度上保证了公正性和稳定性。结果显示,该设计彻低符合要求。1、 引言4x2.5g线路接口卡是t比特路由器的一种重要接口,属于高密度线路接口,这种接口是当前路由器设计中的一个重点和难点。所谓高密度,指的是在一块绕路接口卡上提供多个接口。之所以浮现高密度线路接口的需求,是由于互联网的规模不断的扩大,对路由器的接入能力提出了日益增大的需求,假如还沿用单板单接口的设计办法将导致路由器的物理规模不断的扩大,不符合现代设备进展的趋势。在4x2.5g线路

2、接口卡的设计中,笔者采纳单片多路的sdh处理芯片s19202集中完成物理层的处理,然后按照整体设计计划在其后端举行数据的技术处理。针对多路报文在送往转发单元时的公正性和稳定性需求,以及sdh芯片s19202的特点,提出了输入报文合路采纳分片轮询(cell round robin scheduling;crr)和改进的欠账式轮询调度(defect round robin scheduling;drr)相结合的调度策略。这种调度策略保证了4路pos接口之间的公正性和整包处理的稳定性,并且在工程上易于实现。本文第2节具体阐述了该调度策略的设计与实现过程,第3节对全文举行了总结。2、 轮询调度的设计与

3、实现在4x2.5g线路接口卡的设计中,采纳了amcc公司的sdh处理芯片s19202举行链路层数据处理,该芯片的特点是4个接口分享同一组接收和同一组发送总线,另外提供通道挑选信号来指示当前工作的线路接口号,其输入端每个接口的缓存大小最大惟独1k字节,根本不足以缓存一个长的整包(最长包可达到1500字节)。针对这个特点,设计中用法了在s19202后端的举行分片轮询和整包接收的处理,保证了4个接口的公正性和稳定性;针对4个接口的报文分享一条到转发的通路时,因为各接口的报文长度差异,可能造成的不公正和不稳定,提出了一种改进式欠账轮询的调度策略。通过分片轮询和改进式欠账轮询的结合用法,保证了4个接口合

4、路的公正性和稳定性。图1 输入合路模块中的轮询调度策略输入合路模块中联合调度策略的原理1所示,对sdh芯片s19202送出的4路数据举行分片逐个轮询,并缓存进相应通道的整包接收fifo,相应通道若没有数据则轮空,转入下一通道;整包轮询合路调度则逐个轮询4个整包fifo,若该fifo有整包,则在每一轮询周期发送一个整包,否则轮空。在该联合调度策略中,分片轮询调度比较简单实现,仅需在fpga实现的最前端设计一个轮询机,利用sdh芯片s19202提供的通道指示信号(在fpga设计用srx_channel表示)对每个通道举行固定的轮询拜访,有数据则存入相应的通道整包接收fifo即可。而整包调度是使每个

5、通道得到服务的公正性和稳定性的关键,它挺直打算着接收服务的通道所得到的服务带宽、时延以准时延颤动等性能指标,因此本文把讨论重点放在了整包调度的设计与实现上。目前,在整包调度上,主要的调度算法有先到先服务(fcfs)、逐包调度(prr)、公正排队、虚时钟、加权循环服务(wrr)等多种策略。因为多数调度方式在包长不定的ip网络中实现时碰到了困难,为此,m.sheedhar等提出了适用于ip网络的欠帐式循环调度(drr),该算法因为其较低的实现复杂度、良好的公正性及稳定性而被常常采纳。但是,ddr算法挺直用于高密度线卡设计中会有一定的问题。首先,drr算法是针对集成服务网络中不同业务需求而提出的,在

6、普通应用中因为队列数较多,所以需要减小队列数,而在我们的设计中惟独4个队列,所以不需要减小队列数;第二,在线卡设计中合路报文的包长无法挺直给出,假如一定要加上包长则需用多加一级缓存,这就增大了设计复杂度也提高了成本;同样因为经典ddr算法严格要求储蓄计数器值大于队头包长才输出,这种不允许带宽透支只允许盈余的要求会导致浮现有包但是无法输出的现象。按照4x2.5g线路接口的实际状况和ddr算法的思想,我们可以给出如下适合高密度pos接口用法的改进式欠账式循环调度策略:1) 逐包轮询;采纳这种改进的drr算法下,可以保证在变长包的状况下,各个接口的整包缓存队列在报文合路时公正的带宽,确保合路调度的稳

7、定运行。drr整包轮询合路的基本工作过程为:轮询4个整包缓存队列,每读取一个整包都推断该包是否是协议包,假如是协议包,则根据上交cpu报文格式送协议fifo,假如是需要转发的报文,则根据转发报文格式送数据报文fifo。调度机轮询到某个队列时,为该队列的储蓄计数器加上40;然后推断该队列是否为空,假如为空,则马上转向下一个队列;假如非空,则推断当前该队列是否有整包,假如当前该队列无整包,则转到下一个队列;否则,假如该队列目前有整包则输出该队列的队头包到合路队列,同时该路的储蓄计数器的值要减去输出报文的长度;然后重复上述过程,直到该队列无整包或者队列的储蓄计数器的值小于40时跳转到下一队列服务,其具体工作流程2 所示:图2 改进的drr合路调度流程图drr合路调度单元已在ara公司的quartusii4.1环境下用编程实现,其仿真波形3所示:图3 drr合路调度单元仿真波形图仿真结果显示这种采纳分片轮询和欠账轮询的结合的合路调度策略设计可以达到性能需求,确保变长分组合路调度的公正性和稳定性。3、 结束语按照sdh芯片的s

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论