新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于SRAM的核心路由器交换矩阵输入端口设计

基于SRAM的核心路由器交换矩阵输入端口设计

作者: 时间:2014-12-30 来源:网络 收藏

  VOQ方式将目的输出端口不同的信元放在不同的队列中缓存,因此发往不同输出端口的信元相互不存在HOL阻塞。在某些调度算法下,VOQ方式可100%获得交换开关的利用率。目前CiscoGSR12000,BBNMGR等都采用VOQ方式组织输入队列。消除HOL阻塞后,交换开关仍存在另外两种阻塞,即输入端口阻塞和输出端口阻塞。由同一输入端口不同VOQ队列中的信元竞争输入端口而产生的阻塞称为输入端口阻塞,由不同输入端口的信元竞争同一输出端口而产生的阻塞称为输出端口阻塞。调度器根据各输入端口VOQ队列的状态决定Crossbar内部的拓扑关系,从而解决上述两种阻塞[7]。系统主要由交换阵列、调度器、输入控制器、输出控制器和组成。输入控制器从线卡接收信元,根据其目的端口号将其存入双端口中,每个输入端口共8个队列,分别存放发往不同输出端口的信元。输入端口控制器根据队列的空满情况向调度器发出请求[8]。调度器根据各输入端口的请求公平地分配输出端口,并将调度结果传送到Crossbar交换阵列和各输入/输出控制器。输入端口控制器接收到调度结果后,从相应的VOQ队列取出一个信元送交换阵列交换。同时输出端口控制器根据调度结果,将接收的信元放入相应的输出端口寄存器中。若输出接口控制器检测到寄存器中有重组完毕的报文,将报文发往相应的线卡中。

本文引用地址:https://www.eepw.com.cn/article/267505.htm

  3输入端口设计

  调度算法的选择和输入排队链头阻塞问题是影响交换矩阵交换速率的关键因素。i-SLIP调度算法的硬件实现比较简单,并且支持优先级调度,可以很好地满足调度的要求。输入端口VOQ队列的设计则可以很好的解决链头阻塞问题,由于输入端口在交换芯片中占据了很大的面积,所以将报文缓冲区移到片外可以显著地降低交换芯片的面积,输入端口的设计如图3所示。

  

 

  图3输入端口控制器设计

  从线卡传输到交换网络输入端口的数据包有着固定的长度,它的长度共有72位,包括6位的包头和66位的包数据,其中包头的前3位是源地址,后3位是目的地址[9]。当报文控制器接收到从线卡传输来的72位的数据包时,便将其存入中的空地址中,FIFO寄存器是专门用来存放SRAM中的空地址,报文控制器根据FIFO寄存器的空地址将数据包存入到SRAM中,同时更新SRAM地址链接表和VOQ尾指针寄存器,以便接收下一个数据包。当需要从SRAM中读取数据包时,首先根据VOQ头指针寄存器找到SRAM地址链接表,SRAM地址链接表中存放的是数据包在SRAM中的地址,然后根据SRAM地址链接表找到需要从SRAM中读取的数据包的地址,从而读取所需要的数据,同时更新VOQ头指针寄存器和SRAM地址链接表[10]。

  由于报文的头尾标志用2b定义,因此具有很好的故障恢复能力。例如因此硬件传输时受到外界干扰,10标志变成n,这时不需任何例外处理,带来的危害仅仅影响连续的两个报文(两个报文合并成一个)。

  4SRAM读写测试

  交换矩阵输入端口的设计取决于能否根据输入端口中FIFO寄存器中的空的SRAM的地址和SRAM地址链接表准确地读取SRAM中的数据报文。该输入端口设计以AteraDE-115开发板上的SRAM芯片为基础,编写SRAM的仿真模型,该芯片的存储容量为2MB,并在Modelsim中完成了对设计的验证。仿真结果如图4所示。

  

 

  图4SRAM仿真模型测试

  5结语

  本文设计了一个基于SRAM的交换矩阵的输入端口,该设计有效的消除了输入排队链头阻塞的问题,极大地提高交换开关的利用率,将输入端口数据报文存放在片外SRAM中,可以显著降低交换芯片的面积,提高虚拟队列中数据报文的读取速度,并在Altera开发板上完成了验证,系统性能稳定,具有很好的应用前景与研究意义。

路由器相关文章:路由器工作原理


路由器相关文章:路由器工作原理


交换机相关文章:交换机工作原理



上一页 1 2 下一页

关键词: SRAM 路由器

评论


相关推荐

技术专区

关闭