专利名称:分布式8x8低延迟高带宽交叉点缓存队列片上路由器的制作方法
技术领域:
本发明涉及一种分布式8X8低延迟高带宽交叉点缓存队列片上路由器,具体的说是一种涉及片上网络技术、片上通信技术、片上路由技术的片上路由器。
背景技术:
随着单芯片多处理器CMPs (Chip multiprocessors)与片上系统 SoC (System onchip)时代的到来,片上通信成了限制其发展的瓶颈。NoC (Networks on Chip)的提出从结构上解决了此问题,NoC的核心思想是将宏观的计算机网络映射到单芯片上。NoC的关键部件是片上路由器,路由器性能的直接关系到整个系统的性能。但是,一般的路由器都会在线卡与交换网络之间存在一个潜在的实时闭环,线卡需要知道什么时候可以发送数据,什么时候不可以发送,这就需要在线卡与交换网络之间有个握手信号,这将形成一个闭环。这个实时通信闭环需在一个时隙内完成传输,否则数据就会传输出错,但是每个线卡与交换网络之间的距离是不一样的,深亚微米下线长会影响传输速度,为了正确的传送握手信号,解决的一个办法就是增大时隙,但这就会降低路由器的性能,交叉点缓冲队列模型路由器CQ (Crosspoint Queued)很好的解决了这个问题,CQ模型在每个交叉点处插入FIFO将输入与输出分开,FIFO满时直接丢包,打破了这个实时环,也就打破了这个制约路由器性能的瓶颈;另一方面,由于插入了 FIFO缓冲对列,这就将输出与输入模块相对的独立开来,从而使调度模块不需要同时考虑输出与输入的状态,实现输出与输入的分布调度,降低了调度的复杂度,提高了调度的速度,从而提高了路由器的性能。基于CQ型模型,本发明提出了一种分布式8X8低延迟交叉点缓存队列片上路由器。与其他一些技术相比,本发明的优点在于,打破了限制片上路由器性能的实时闭环,实现了低延迟的路由功能。有效的降低了调度模块调度算法的复杂度,在不影响调度公平性的同时,有效提高了调度效率。
发明内容
本发明的目的是为了解决传统路由器中实时闭环的限制,提供一种分布式8X8低延迟高带宽交叉点缓存队列片上路由器,具有低延迟、高带宽的特点。本发明的技术方案是一种分布式8X8低延迟高带宽交叉点缓存队列片上路由器。采用了三种部件构成处理器标签过滤器、簇标签过滤器、输出模块。连接方式如图1所示输出端口 0、2、4、6对应的输入节点上挂载着处理器标签过滤器;输出端口 1、3、5、7对应的输出节点上则挂载着簇标签过滤器,每个输出端口上挂载着I个输出模块。有效数据输入时,各节点处的处理器标签过滤器检测输入数据,当该数据的标签(簇号与核号)与自己不匹配时忽略数据,若匹配则进入接受操作,同时发送输出请求信号给相应的输出模块,一个时钟周期内,若收到仲裁信号则直接把数据送入输出模块寄存输出,若未收到仲裁信号则将数据送入交叉点处的缓存队列,等待仲裁信号到达时再发送;同时,各节点的簇标签过滤器检测输入数据,当该数据的簇标签与自己匹配时,发送请求信号给输出模块,簇标签过滤器各节点分别查找各自的路由表准备转发数据(不匹配直接丢数),一个时钟周期内,若收到输出模块响应信号则直接把数据通过总线送入输出模块寄存输出,若未收到响应信号则将数据送入交叉点处的缓存队列,等待响应信号到达时再发送。上述处理器标签过滤器用于检测输入数据是否为本处理器所有。若是,则接受并处理;若不是,则直接丢数。上述簇标签过滤器用于检测输入数据是否为本“簇”所有,是否需要转发。若是,则接受并处理;若不是,直接丢数。上述输出模块内的仲裁器用于对输入端口进行仲裁与响应。输出模块中的输出寄存器用于寄存数据并输出。本发明与现有技术相比较,具有如下优点
(I)本发明有效的解决了传统路由器中线卡与交换网络中由于握手信号而形成的实时闭环对路由性能的限制,实现了数据传输的低延迟。(2)本发明由于在交叉点处插入了 FIFO缓冲,这就将输出与输入模块相对的独立开来,从而使调度模块不需要同时考虑输出与输入的状态,实现输出与输入的分布调度,降低了调度的复杂度,提高了调度的效率,从而提高了路由器的性能。
图1是系统总框图。图2是处理器标签过滤器。图3是簇标签过滤器。图4是输出模块。
具体实施例方式本发明的优选实施例结合附图详述如下
实施例一
如图1所示,一种分布式8X8低延迟高带宽交叉点缓存队列片上路由器包括了三种部件构成处理器标签过滤器(I)、簇标签过滤器(2)、输出模块(3)。其特征是输出端口 O、2、4、6对应的输入节点上挂载着处理器标签过滤器(I);输出端口1、3、5、7对应的输出节点上则挂载着簇标签过滤器(2),每个输出端口上挂载着I个输出模块(3)。当有效数据输入时,各节点处的处理器标签过滤器(I)同时检测输入端口送入的数据,当该数据的处理器标签(簇号与核号)与自己不匹配时忽略数据,若匹配则进入接受操作,同时发送输出请求信号给相应的输出模块,若收到允许信号则直接把数据送入输出模块(3),一个时钟周期内,若未收到允许信号则将数据送入交叉点处缓存队列,等待允许信号到达时再发送;同时,各节点的簇标签过滤器(2)检测输入端口送入的数据,当该数据的簇标签与自己匹配时,说明数据是发送给本簇内的处理器核的,不需要转发,忽略该数据,若匹配则说明该数据需要转发,则簇标签过滤器(2)各节点分别查找各自的小路由表,若不匹配则说明不需要该节点转发,若匹配则说明该节点数据需要转发,并生成发送请求信号。一个时钟周期内,若收到允许信号则直接把数据通过总线送入输出模块(3)输出,若未收到允许信号则将数据送入交叉点处缓存队列,等待允许信号到达时再发送。实施例二
本实施例与实施例一基本相同,特别之处如下
〈一〉、处理器标签过滤器(I)
如图2 :处理器标签过滤器(I)为2 3级可变流水线设计。当数据有效时,数据被寄存在第一级寄存器,同时取出处理器标号与处理器标签寄存器中的值,若匹配则产生匹配信号,当匹配信号有效且数据有效或者FIFO非空时产生仲裁请求信号。匹配成功后,数据进入第二个寄存器,等待响应信号,若在下一个时钟到来之前,响应信号已经来到且FIFO为空,则数据直接通过多路选择器与三态门直接发送至数据总线上;若没有,则数据进入FIFO队列 等待仲裁输出。不经过FIFO时,为2级流水线,进过FIFO时,为3级流水线,此可变流水线结构可以很好实现路由器的低延迟。由于一个有效数据分两个时钟周期进来,采用了一个D触发器与反相器产生一个二分频电路作为匹配信号寄存的使能端,寄存后的匹配信号与数据有效信号相与生成FIFO写时能信号,数据有效匹配时,连续存储(或发送)两个有效数据。〈二〉、簇标签过滤器(2)
参见图3,簇标签过滤器结构与处理器标签过滤器结构相当,也是2 3级可变流水线结构,不同之处匹配时使用了 CAM (Content Addressable Memory)来存储路由表。CAM可以提高匹配速度。其他操作与处理标签结构相同。〈三〉、输出模块(3)
图4所不输出模块(3)由两部分组成输出寄存器与仲裁器,输出寄存器用于寄存输出数据;输出模块中的仲裁器是一种轮询仲裁器,由优先级编码器、指针更新控制电路组成;优先级编码器又由固定优先级、可编程优先编码器、解码器和一些基本逻辑门与寄存器组成。指针控制电路由优先级寄存器、加法器和选择器组成。当使能信号有效,有仲裁请求时。仲裁开始,请求信号进入固定优先级仲裁器仲裁,同时,将优先级寄存器中经解码器解码得到的结果取反后与输入请求相与后进入可编程优先级编码器,得到屏蔽信号与仲裁结果。将屏蔽信号与固定优先级仲裁器结果相与后(实现屏蔽功能)再与可编程优先级编码器的结果相或作为输出结果。若屏蔽无效,取固定优先级编码器结果为输出结过;若屏蔽信号有效,屏蔽掉固定优先级编码器结果,取可编程优先级编码器结果作为输出结果。同时,此结果进去指针更新控制电路进行优先级指针更新。
权利要求
1.一种分布式8X8低延迟高带宽交叉点缓存队列片上路由器,包括处理器标签过滤器(1)、簇标签过滤器(2)和输出模块(3)。其特征是输出端口0、2、4、6对应的输入节点上挂载着处理器标签过滤器(I);输出端口 1、3、5、7对应的输出节点上则挂载着簇标签过滤器(2),每个输出端口上挂载着I个输出模块(3);有效数据输入时,各节点处的处理器标签过滤器(I)同时检测输入端口送入的数据,当该数据的处理器标签——簇号与核号,与自己不匹配时忽略数据,若匹配则进入接受操作,同时发送输出请求信号给相应的输出模块,若收到允许信号则直接把数据送入输出模块(3),一个时钟周期内,若未收到允许信号则将数据送入交叉点处缓存队列,等待允许信号到达时再发送;同时,各节点的簇标签过滤器(2)检测输入端口送入的数据,当该数据的簇标签与自己匹配时,说明数据是发送给本簇内的处理器核的,不需要转发,忽略该数据,若匹配则说明该数据需要转发,则簇标签过滤器(2)各节点分别查找各自的小路由表,若不匹配则说明不需要该节点转发,若匹配则说明该节点数据需要转发,并生成发送请求信号。一个时钟周期内,若收到允许信号则直接把数据通过总线送入输出模块输出(3),若未收到允许信号则将数据送入交叉点处缓存队列,等待允许信号到达后再发送。
2.根据权利要求1所述的分布式8X8低延迟高带宽交叉点缓存队列片上路由器,其特征在于所述的处理器标签过滤器(I)与簇标签过滤器(2)采用可变流水线结构来降低延迟,其基本结构当数据有效时,数据被寄存在第一级流水线寄存器中,取出处理器标号与处理器标签寄存器值比较,对于簇标签过滤器(2),则取出簇标号与路由表进行对比;若匹配则产生匹配信号,同时产生发送请求信号,时钟到来,数据进入第二个流水线寄存器,等待响应信号,若在下一个时钟到来之前,响应信号已经来到且FIFO为空,则数据直接通过多路选择器与三态门直接发送至数据总线上,此时为2级流水线;若没有,则数据进入FIFO队列等待仲裁输出,此时为3级流水线。
3.根据权利要求1所述的分布式8X8低延迟高带宽交叉点缓存队列片上路由器,其特征在于所述的输出模块(3)中的仲裁器采用了屏蔽结构的轮询仲裁器,由固定优先级编码器、可变优先级编码器、解码器、指针更新电路构成其基本结构仲裁开始,请求信号进入固定优先级仲裁器仲裁,同时,将优先级寄存器中经解码器解码得到的结果取反后与输入请求相与后进入可编程优先级编码器,得到屏蔽信号与仲裁结果。将屏蔽信号与固定优先级仲裁器结果相与后(实现屏蔽功能)再与可编程优先级编码器的结果相或作为输出结果;若屏蔽无效,取固定优先级编码器结果为输出结过;若屏蔽信号有效,屏蔽掉固定优先级编码器结果,取可编程优先级编码器结果作为输出结果;同时,此结果进去指针更新控制电路进行优先级指针更新。
全文摘要
本发明涉及一种分布式8X8低延迟高带宽交叉点缓存队列片上路由器,其目的是为了解决传统路由器中实时闭环的限制,提高性能。它主要采用了三种部件构成处理器标签过滤器、簇标签过滤器和输出模块。输出端口0、2、4、6对应的输入节点上挂载着处理器标签过滤器;输出端口1、3、5、7对应的输出节点上则挂载着簇标签过滤器,每个输出端口上挂载着1个输出模块。本发明具有低延迟、高带宽特点。
文档编号H04L12/947GK103023807SQ20121055581
公开日2013年4月3日 申请日期2012年12月20日 优先权日2012年12月20日
发明者毕卓, 王镇, 孔维利, 张莹, 徐云川 申请人:上海大学