一种基于快速通道技术的单周期片上路由器的制作方法

文档序号:7635731阅读:262来源:国知局
专利名称:一种基于快速通道技术的单周期片上路由器的制作方法
技术领域
本发明涉及微处理器芯片内部通信节点,尤其指一种支持单周期报文转发的片上路由器。
背景技术
经过近三十年的发展,半导体工艺已经具备了单颗芯片集成几十亿只晶体管的能力,为高性能微处理器发展创造了源源不断的动力,但也给芯片设计带来了新的机遇与挑战。目前,针对如何利用众多晶体管资源,工业界普遍意识到“众核”处理器作为提高计算性能的最有效手段,将成为未来微处理器结构的主流发展趋势。在这种背景下,单颗芯片集成数百个处理器核,微处理器的性能瓶颈将转移到诸多处理器核之间的互连通信问题上。例如,IGHz主频下20毫米铜线的总线信号传输延迟将超过80个时钟周期,这将无疑成为未来 “众核”处理器性能提升的关键瓶颈。结合目前半导体工艺的发展现状,在微处理器芯片内部设计高效的互连结构来支持大量处理器核之间低延迟、高带宽的数据通信,已成为未来芯片设计研究领域中的关键性问题。W. J. Daily借鉴于网络领域的概念首先提出了一种适应于超深亚微米的片内通信解决方案——片上互连网络。片上互连网络由适配器、路由节点和传输链路三类基本构件组成,适配器连接处理器核与路由节点,路由节点负责网络报文的路由转发,传输链路连接相邻路由节点。片上互连网络的特点在于利用路由节点将众多处理器核连接成为一个通信实体,路由节点之间采用报文交换方式通信,这样不仅支持更高的通信带宽,更容易满足多个处理器核并行通信的迫切需求,而且还更方便于控制超深亚微米条件下的线延迟,有利于提高主频等。片上互连网络虽然能够有效解决信号传输的长线延迟问题,但随着“众核”微处理器内处理器核数量的持续增加,报文传输经过更多中间节点所造成的传输延迟问题也将会重新突出。例如,Intel公司的80核微处理器Ier必cale”与Tilera公司的64核微处理器“Tile64”的片上互连网络分别配置了 5级与4级流水线的片上路由器,较深的流水线让二者的平均传输延迟高达35与沈个周期。其原因在于单个报文在传统路由器中需要串行执行路由计算、通道仲裁、传输仲裁等操作,耗时远超过了链路传输所耗时间,成为了制约片上互连网络性能提升的主要瓶颈。为此,研究并开发具有低延迟特征的片上路由器结构对于当前微处理器芯片设计具有非常重要的实用价值。为了将网络报文在路由器处的转发时间降低到理想情况下的单个时钟周期,全世界的科研人员都进行了不懈的努力,发明了各种各样的新方法,这些方法可以归为四类 (1)猜测传输报文到达后无需经过路由计算操作,直接根据历史信息对输出方向进行猜测后立即传输;(2)跳跃旁路如果报文在相同方向多个连续节点上持续传输,可以采取旁路机制单周期跳跃通过中间节点,快速抵达目标节点;(3)提前仲裁报文到达下游路由节点之前事先发送自己的目标地址,让下游路由节点可以提前进行传输仲裁及通道仲裁,等报文到达之后根据仲裁结果立刻输出;(4)静态配置借助传输路径频率统计加速那些高频路径上的报文传输。1. [猜测传输]
借鉴于宏观网络相关概念,研究人员相继设计出了基于猜测传输的片上路由器结构, 例如LLVCR (R-Mullins et al, 2004; R. Mullins et al, 2006)和 PR (H. Matsutani, et. al, 2009)等,这类结构强调报文到达后不需要执行路由计算与仲裁操作,直接根据历史信息猜测输出方向后便立即传输。如果路由计算证明猜测成功,且传输仲裁结果表明无冲突产生,那么报文可以顺利流向下游节点;否则,作废上述传输操作,并遵循传统路由器的多周期流水线执行重传。实际上,PR (H. Matsutani, et. al, 2009)已经发现各种猜测算法难以适应于流量负载变化,最好的猜测效果只能达到约65%的命中率,一旦猜测失败,报文需要花费三个周期流过路由器,难以实现真正的单周期路由转发,并且还会产生大量的作废、重传功耗。2.[跳跃旁路]
在采取XY路由的片上互连网络中,大多数报文沿着固定方向不断向前传输,为此,研究人员专门设计了基于跳跃旁路机制的路由器结构,如EVC(A. Kumar, et. al, 2007)。在该结构之中,报文每次传输一次性经过包含若干节点的笔直路径,除了在路径的起始节点与终止节点处执行多周期的流水线操作之外,在其余中间节点处利用旁路机制可以实现单周期的路由转发,其原因在于向前传输的报文在中间节点处已经无需进行路由计算,并且已经被赋予了最高传输优先级。然而,该结构主要存在两个方面缺陷首先,报文在大量起始节点、终止节点处仍需要消耗多个时钟周期进行传输;其次,该结构无法应用于自适应路由与源路由策略,如果采取这些路由策略,报文不断变换传输方向将会使它流过大多数路由节点时花费多个时钟周期。3.[提前仲裁]
这类方法的主要思想是指在报文到达之前,事先发送报文目标地址信息来通知下游节点提前完成报文的传输仲裁与通道仲裁操作,待报文到达之后立即根据仲裁结果配置交叉开关,直接让报文流向目标输出模块。例如A. Kumar的SNR结构,它设计了冲突检测排序、 高速交叉开关等大规模电路让路由器在报文到达前提前执行传输仲裁与通道仲裁操作,并加快流过交叉开关的速度。然而,这种结构中的单周期传输是以输入端口缓冲全部空闲为前提条件的,只要输入端口存在滞留报文就无法提前完成传输仲裁与通道仲裁操作。为此, 该路由器结构只能在极低网络流量下才能实现报文的单周期传输操作,适用面较窄。4.[静态配置]
为了实现每个路由节点处的单周期路由转发,人们还发展了一种静态配置的方法。具体的做法是采取固化硬件电路使向特定方向传输的报文具有最高优先级,报文无需进行任何仲裁操作便可直接传输到默认的输出端口模块。例如PCR (G. Michelogiannakis, et. al, 2007)便通过统计报文输出方向的概率来预先设置硬件电路。在嵌入式多核数字信号处理器领域,大多数报文都沿特定方向进行传输,这种方法可以有效减少传输延迟。但是这种结构的最大缺陷是,预先固化的电路无法适应于网络负载变化,在动态负载情况下,大量报文向非默认的输出端口模块进行传输时都会花费多个时钟周期。综合上述四种单周期路由器结构,不难发现它们都存在着一些不足之处。猜测传输方法命中率不高,大量路由节点处的错误猜测不仅会导致大量多周期的路由转发操作,而且还将带来大量硬件作废与重传功耗;跳跃旁路方法也无法实现所有节点处的单周期节点传输,即在许多起始节点、终止节点仍需花费多个时钟周期,另外,该方法通用性较差,无法应用于自适应路由与源路由策略;提前仲裁方法对网络流量具有严格要求,仅在输入端口缓冲全部空闲时才可以实现单周期报文传输,适用面较窄,大多数流量负载下大量报文都会需要花费多个周期穿过路由器;而静态配置方法采取了固化的硬件配置来适应特殊的网络负载,其灵活性较差,在动态负载情况下,大量报文都将无法在单周期内流过路由器节点。总而言之,在片上互连网络领域,为了降低网络传输延迟,真正实用的单周期片上路由器结构应该强调四项基本要求1)只要新流入报文与其它报文无冲突发生就应该支持单周期报文传输;2)适应各类路由算法;3)适应各类流量负载;4)简化硬件逻辑设计。当前上面所述的四种片上路由器结构均未能满足这些要求,专利与文献中也未见关于具有上述良好特征的单周期片上路由器结构的相关报道。

发明内容
本发明要解决的技术问题是针对现有片上路由器转发报文需花费多个时钟周期, 或者虽然支持单周期传输但适用面窄、通用性差等问题,提出一种具有单周期转发特征的片上路由器,只要报文之间没有冲突发生便能实现单周期转发操作,适应于各类路由算法与流量负载,硬件复杂性较低,为片上互连网络提供更低的传输延迟与更高的通信带宽。本发明基于快速通道技术的片上路由器由P个输入端口、一个快速仲裁模块、一个传输仲裁模块、一个通道仲裁模块、一个超前信号管理模块、一个交叉开关与P个输出端口组成(P为大于1的整数)。输入端口与上游路由器、本地路由器的快速仲裁模块、传输仲裁模块、通道仲裁模块、超前信号管理模块和交叉开关相连。输入端口从上游路由器接收报文切片,对报文切片进行缓存;从传输仲裁模块接收输出端口传输状态,根据输出端口传输状态给输入报文分配虚拟通道模块或快速通道模块。输入端口发送传输请求给传输仲裁模块,发送通道请求给通道仲裁模块,发送快速传输请求给快速仲裁模块,从传输仲裁模块接收传输仲裁应答, 从通道仲裁模块接收通道仲裁应答,从快速仲裁模块接收快速仲裁应答。在快速仲裁应答有效情况下,输入端口发送快速通道报文切片给交叉开关;在快速仲裁应答无效,而传输仲裁应答与通道仲裁应答均有效情况下,输入端口发送虚拟通道报文切片给交叉开关。快速通道报文切片与虚拟通道报文切片分别指被分配快速通道模块与虚拟通道模块的报文切片。输入端口发送由上游路由器分配的通道逻辑编号给超前信号管理模块,从超前信号管理模块接收下游路由方向。输入端口还发送通道反馈信号给上游路由器。快速仲裁模块的主要功能是对所有快速传输请求进行仲裁,它与P个输入端口、 通道仲裁模块、传输仲裁模块、超前信号管理模块和交叉开关相连。快速仲裁模块从P个输入端口接收快速传输请求,采用轮循方法对所有快速传输请求进行仲裁,将P个输出端口的快速仲裁结果发送给超前信号管理模块,将快速仲裁应答发送给P个输入端口 ; 对所有快速传输请求进行或操作来产生各输出端口的快速传输状态,将P个输出端口的快速传输状态发送给通道仲裁模块、传输仲裁模块与超前信号管理模块;对P个输出端口快速仲裁结果进行拼接操作来产生快速仲裁配置Configl,将快速仲裁配置Configl 发送给交叉开关。拼接操作指将位宽为^(1=1,···^)的M个信号按位拼接成位宽为
权利要求
1. 一种基于快速通道技术的单周期片上路由器,其特征在于它由P个输入端口、一个快速仲裁模块、一个传输仲裁模块、一个通道仲裁模块、一个超前信号管理模块、一个交叉开关与P个输出端口组成,P为大于1的整数;输入端口与上游路由器、本地路由器的快速仲裁模块、传输仲裁模块、通道仲裁模块、超前信号管理模块和交叉开关相连;输入端口从上游路由器接收报文切片,对报文切片进行缓存;从传输仲裁模块接收输出端口传输状态, 根据输出端口传输状态给输入报文分配虚拟通道模块或快速通道模块;输入端口发送传输请求给传输仲裁模块,发送通道请求给通道仲裁模块,发送快速传输请求给快速仲裁模块, 从传输仲裁模块接收传输仲裁应答,从通道仲裁模块接收通道仲裁应答,从快速仲裁模块接收快速仲裁应答;在快速仲裁应答有效情况下,输入端口发送快速通道报文切片给交叉开关;在快速仲裁应答无效,而传输仲裁应答与通道仲裁应答均有效情况下,输入端口发送虚拟通道报文切片给交叉开关;快速通道报文切片与虚拟通道报文切片分别指被分配快速通道模块与虚拟通道模块的报文切片;输入端口发送由上游路由器分配的通道逻辑编号给超前信号管理模块,从超前信号管理模块接收下游路由方向;输入端口还发送通道反馈信号给上游路由器;快速仲裁模块与P个输入端口、通道仲裁模块、传输仲裁模块、超前信号管理模块和交叉开关相连;快速仲裁模块从P个输入端口接收快速传输请求,采用轮循方法对所有快速传输请求进行仲裁,将P个输出端口的快速仲裁结果发送给超前信号管理模块,将快速仲裁应答发送给P个输入端口 ;对所有快速传输请求进行或操作来产生各输出端口的快速传输状态,将P个输出端口的快速传输状态发送给通道仲裁模块、传输仲裁模块与超前信号管理模块;对P个输出端口快速仲裁结果进行拼接操作来产生快速仲裁配置 Configl,将快速仲裁配置Configl发给交叉开关,拼接操作指位宽为W1 (1彡1彡M)的M个信号按位拼接成位宽为的信号,M为大于1的整数,巧为大于等于1的整数;传输仲裁模块与P个输入端口、快速仲裁模块、交叉开关相连;传输仲裁模块从P个输入端口接收传输请求,对所有传输请求进行或运算来产生各输出端口的传输状态,将P个输出端口的传输状态发送给P个输入端口 ;对从P个输入端口接收的传输请求进行仲裁,当从快速仲裁模块接收的输出端口快速传输状态无效时,产生传输仲裁应答发送给P个输入端口,产生传输仲裁配置Config2发送给交叉开关;通道仲裁模块与下游路由器、本地路由器输入端口、快速通道模块和超前信号管理模块相连;通道仲裁模块从下游路由器接收通道反馈信号,根据通道反馈信号回收由下游路由器释放的通道逻辑编号;从快速通道模块接收输出端口快速传输状态,从本地路由器P个输入端口接收通道请求,采用轮循方法对通道请求进行仲裁,在第i输出端口的快速传输状态无效时,发送第i输出端口的通道仲裁结果给超前信号管理模块,发送通道仲裁应答给第i输入端口,i = 1,…,P ;通道仲裁模块还给通道仲裁获胜报文分配通道逻辑编号,并将该通道逻辑编号发送给超前信号管理模块;通道逻辑编号指本地路由器给下游路由器输入报文分配的临时编号,当输入报文从下游路由器离开时,下游路由器释放该临时编号;通道逻辑编号的位宽为「log2A^,N为输入端口内虚拟通道模块与快速通道模块总数,「log2 表示对Iog2N上取整;超前信号管理模块与上游路由器、下游路由器、本地路由器P个输入端口、通道仲裁模块及快速通道模块相连;超前信号管理模块从上游路由器接收由上游路由器分配的超前信号,计算下游路由方向,更新超前信号中的下游路由方向信息;超前信号管理模块从P个输入端口接收由上游路由器分配的通道逻辑编号,查询下游路由方向信息,发送下游路由方向信息给P个输入端口 ;超前信号管理模块从通道仲裁模块接收输出端口通道仲裁结果以及由本地路由器分配的通道逻辑编号,从快速仲裁模块接收输出端口快速传输状态以及输出端口快速仲裁结果,当输出端口快速传输状态有效时,根据输出端口快速仲裁结果选择快速仲裁获胜报文的超前信号,利用本地路由器分配的通道逻辑编号替换超前信号中的通道逻辑编号信息,发送超前信号给下游路由器;当输出端口快速传输状态无效时,根据输出端口通道仲裁结果选择通道仲裁获胜的超前信号,利用本地路由器分配的通道逻辑编号替换超前信号中的通道逻辑编号信息,发送超前信号给下游路由器;交叉开关与快速仲裁模块、传输仲裁模块和P个输入端口相连,其大小为2PXP ;交叉开关从每个输入端口接收一个快速通道报文切片与一个虚拟通道报文切片,从快速仲裁模块接收快速仲裁配置Configl,从传输仲裁模块接收传输仲裁配置Config2,对Configl和Config2进行合并操作,产生配置信号Config对交叉开关进行配置,转发从各输入端口接收的快速通道报文切片与虚拟通道报文切片到达目标输出端口,合并操作是指将位宽为PXP的Configl和Config2信号合并成位宽为2XPXP的 Config信号,Config信号的第2f XP+1位至2f XP+P位等于Configl信号的f XP+1位至 fXP+P位,Config信号的第2f XP+P+1位至2f XP+2P位等于Conf ig2信号的f XP+1位至 fXP+P位O彡f彡P-l,f为整数;输出端口与交叉开关、下游路由器相连,从交叉开关接收报文,发送报文给下游路由器。
2.如权利要求1所述的基于快速通道技术的单周期片上路由器,其特征在于所述输入端口由通道分配模块、缓冲存储模块、快速通道模块、N-I个虚拟通道模块、传输请求发送单元和通道请求发送单元组成;通道分配模块与上游路由器、本地路由器的传输仲裁模块和超前信号管理模块、所属输入端口的缓冲存储模块、快速通道模块和N-I个虚拟通道模块相连;通道分配模块由通道地址产生单元、通道状态表格、空闲通道跟踪单元、通道分发单元、通道流反馈控制单元、使能单元以及更新单元组成;通道地址产生单元由通道地址表格与地址更新器组成,通道地址产生单元从通道分发单元接收通道物理编号,从上游路由器接收切片传输标识、切片类型、通道逻辑编号,将分配给输入报文的虚拟通道模块或快速通道模块的写地址发送给缓冲存储模块,同时对分配给输入报文的虚拟通道模块或快速通道模块的写地址进行更新;通道物理编号是指本地路由器给输入报文实际分配的快速通道模块或虚拟通道模块的编号;通道地址表格是一个深度为N的寄存器文件,包含三个写端口和三个读端口,用于存储各快速通道模块与虚拟通道模块的写地址;地址更新器与上游路由器、通道地址表格、通道分发单元和缓冲存储模块相连,它从上游路由器接收切片类型、切片传输标识、通道逻辑编号,从通道分发单元接收通道物理编号;当切片传输标识以及切片类型最高位均有效时,地址更新器将右移Iog2L位后的通道物理编号作为写地址发送给缓冲存储模块,发送通道逻辑编号给通道地址表格写地址端口,发送右移Iog2L位后的通道物理编号给通道地址表格写数据端口,发送有效信号给通道地址表格写控制端口, 更新输入报文所在虚拟通道模块或快速通道模块的写地址;当切片传输标识有效但接收切片类型最高位无效时,地址更新器发送通道逻辑编号给通道地址表格读地址端口与写地址端口,发送有效信号给通道地址表格读控制端口,从通道地址表格读数据端口读出数据作为写地址发送给缓冲存储模块;同时,地址更新器发送有效信号给通道地址表格写控制端口,将写地址加1之后发送给通道地址表格写数据端口 ;通道状态表格是一个位宽为N的寄存器,各通道状态位记录一个快速通道模块或虚拟通道模块的空闲状态,通道状态位有效表示快速通道模块或虚拟通道模块闲置,通道状态位无效表示快速通道模块或虚拟通道模块正忙;通道状态表格与上游路由器、通道分发单元、通道流反馈控制单元、空闲通道跟踪单元相连;通道状态表格一方面从通道分发单元接收分配的通道物理编号,从上游路由器接收切片类型,如果切片类型最高位有效,分配给该切片所属报文的通道物理编号所指的通道状态位被置为无效;通道状态表格另一方面从通道流反馈控制单元接收释放信号和释放通道编号,如果释放信号有效,释放通道编号所指的通道状态位被置为有效;释放通道编号指本地路由器分配给当前输入端口流出报文的通道物理编号;空闲通道跟踪单元与通道分发单元、通道状态表格相连,它从通道状态表格读取通道状态,按照虚拟通道模块S1 > S2 >丨> SN_i分配优先级,向通道分发单元发送空闲快速通道模块的通道物理编号、组合A中一个空闲虚拟通道模块的通道物理编号与组合B中一个空闲虚拟通道模块的通道物理编号,组合A= (S1,…,SN_3,SN_2},组合B = (S1, ···, SN_3, SN_J ;通道分发单元由一个 P_l:l多选器和两个2:1多选器组成,它与上游路由器、通道状态表格、通道地址产生单元、 空闲通道跟踪单元以及传输仲裁模块相连;通道分发单元从上游路由器接收输入报文,从空闲通道跟踪单元接收空闲快速通道的通道物理编号、组合A中一个空闲虚拟通道模块的通道物理编号与组合B中一个空闲虚拟通道模块的通道物理编号,从传输仲裁模块接收输出端口传输状态,依据输出端口传输状态给输入报文分配虚拟通道模块或快速通道模块, 发送分配的通道物理编号给通道状态表格、通道地址产生单元和使能单元;P-1:1多选器从上游路由器接收输入报文的下游路由方向,从传输仲裁模块接收输出端口传输状态,根据下游路由方向信息对输出端口传输状态进行多路选择,得到目标输出端口的传输状态, 作为快速通道使用标识发送给第二 2:1选择器;第一 2:1选择器从空闲通道跟踪单元接收组合A中一个空闲虚拟通道模块的通道物理编号与组合B中一个空闲虚拟通道模块的通道物理编号,从上游路由器接收输入报文切片类型,根据切片类型最高位对组合A中一个空闲虚拟通道模块的通道物理编号与组合B中一个空闲虚拟通道模块的通道物理编号进行两路选择,结果作为预分配虚拟通道模块的通道物理编号发送给第二 2:1选择器;第二 2:1 选择器从P-1:1多选器接收快速通道使用标识,从第一 2:1选择器接收预分配虚拟通道模块的通道物理编号,从空闲通道跟踪单元接收快速通道模块的通道物理编号,根据快速通道使用标识对快速通道模块的通道物理编号与预分配虚拟通道模块的通道物理编号进行2 路选择,结果作为分配的通道物理编号发送给通道状态表格、通道地址产生单元与使能单元;通道流反馈控制单元与通道状态表格、所属输入端口的快速通道模块和N-I个虚拟通道模块及上游路由器相连,从所属输入端口的快速通道模块与N-I个虚拟通道模块接收释放信号以及释放通道逻辑编号;如果发现输入端口内任意虚拟通道模块或快速通道模块的释放信号有效,通道流反馈控制单元将从该虚拟通道模块或快速通道模块接收的释放信号与释放通道逻辑编号作为通道流反馈信号发送给上游路由器;将该虚拟通道模块或快速通道模块的通道物理编号作为释放通道编号发送给通道状态表格,置释放通道编号所指的通道状态位为有效;使能单元与通道分发单元、所属输入端口的快速通道模块与N-I个虚拟通道模块相连,从通道分发单元接收通道物理编号,从上游路由器接收报文切片,当报文切片的切片类型最高位有效时,将通道物理编号所指的通道使能信号置为有效,其余通道使能信号置为无效,发送所有通道使能信号给各快速通道模块与虚拟通道模块;更新单元与上游路由器、超前信号管理模块和所属输入端口的缓冲存储模块相连,它从上游路由器接收报文切片,从超前信号管理模块接收下游路由方向信息,当输入报文切片的切片类型最高位有效时,利用下游路由方向信息更新输入报文中的下游路由方向子域,然后发送报文切片给缓冲存储模块;缓冲存储模块由缓冲控制器与缓冲存储器组成,与所属输入端口的通道分配模块、快速通道模块、N-I个虚拟通道模块、传输仲裁模块及交叉开关相连;缓冲存储模块从通道分配模块接收写地址和报文切片,从快速通道模块与N-I个虚拟通道模块接收写使能,在写使能或输入报文切片类型最高位有效时根据写地址来存储报文切片;缓冲存储模块从快速通道模块接收读使能、读地址及旁路使能,从N-I个虚拟通道模块接收读使能及读地址,从传输仲裁模块接收传输仲裁应答,在读使能有效时,根据传输仲裁应答对读地址进行多路选择,交叉开关根据多路选择结果读取报文切片;在旁路使能有效时,交叉开关根据从通道分配模块接收的写地址读取报文切片;缓冲控制器是产生缓冲存储器访问信号的逻辑电路,与通道分配模块、快速通道模块、N-I个虚拟通道模块、传输仲裁模块、 缓冲存储器相连;缓冲控制器从通道分配模块接收报文切片类型,从快速通道模块与N-I 个虚拟通道模块接收写使能,对报文切片类型最高位与所有写使能进行或操作,发送操作结果给缓冲存储器的写控制端口 ;从快速通道模块与N-I个虚拟通道模块接收读地址,从传输仲裁模块接收传输仲裁应答,对传输仲裁应答进行锁存,根据锁存后的传输仲裁应答对所有读地址进行多路选择,发送选择结果给缓冲存储器的第一读地址端口 ;从快速通道模块与N-I个虚拟通道模块接收读使能,对所有读使能进行或操作,发送操作结果给缓冲存储器的第一读控制端口 ;从通道分配模块接收写地址,对写地址进行锁存,将锁存后的写地址作为第二读地址信号发送给缓冲存储器的第二读地址端口 ;从快速通道模块接收旁路使能,将旁路使能发送给缓冲存储器第二读控制端口 ;缓冲存储器是深度为NXL的寄存器文件,包含3个写端口和6个读端口,与通道分配模块、缓冲控制器、交叉开关相连;缓冲存储器的写数据端口与写地址端口分别从通道分配模块接收报文切片与写地址,写控制端口从缓冲控制器接收写控制信号;缓冲存储器第一读控制端口与第一读地址端口分别从缓冲控制器接收第一读控制信号与第一读地址信号,从第一读数据端口读出的虚拟通道报文切片被发送给交叉开关;缓冲存储器的第二读控制端口与第二读地址端口从缓冲控制器分别接收第二读控制信号与第二读地址信号,从第二读数据端口读出的快速通道报文切片被发送给交叉开关;虚拟通道模块由第一读计数器、第一写计数器和虚拟通道状态机组成,它与传输请求发送单元、通道请求发送单元、传输仲裁模块、通道仲裁模块、通道分配模块和缓冲存储模块相连;虚拟通道模块从通道分配模块接收通道使能、报文长度、切片传输标识、 本地路由方向及通道逻辑编号,如果通道使能有效,激活虚拟通道状态机,发送写使能、读使能、读地址给缓冲存储模块,发送传输请求给传输请求发送单元,发送通道请求给通道请求发送单元,并从传输仲裁模块接收传输仲裁应答,从通道仲裁模块接收通道仲裁应答,等待报文传输完毕,发送释放信号、释放通道逻辑编号给通道分配模块;第一读计数器位宽为 Iog2L,与通道分配模块、传输仲裁模块、虚拟通道状态机相连,它从通道分配模块接收通道使能、报文长度,从传输仲裁模块接收传输仲裁应答,然后发送第一读计数器的值给虚拟通道状态机;当从通道分配模块接收的通道使能有效时,第一读计数器取值为从通道分配模块接收的报文长度;当从传输仲裁模块接收的传输仲裁应答有效时,第一读计数器值减1 ; 第一写计数器的位宽为Iog2L,与通道分配模块、虚拟通道状态机相连,它从通道分配模块接收通道使能信号、报文长度和切片传输标识,然后发送第一写计数器的值给虚拟通道状态机;当从通道分配模块接收的通道使能有效时,第一写计数器的值为从通道分配模块接收的报文长度;当从通道分配模块接收的报文切片中切片传输标识有效且第一写计数器值非零时,第一写计数器值减1 ;虚拟通道状态机与第一读计数器、第一写计数器、传输仲裁模块、通道仲裁模块、所属输入端口的传输请求发送单元、通道请求发送单元、通道分配模块和缓冲存储模块相连;快速通道模块由第二读计数器、第二写计数器和快速通道状态机组成,它与快速仲裁模块、传输仲裁模块、通道仲裁模块以及所属输入端口的传输请求发送单元、通道请求发送单元、通道分配模块和缓冲存储模块相连;快速通道模块从通道分配模块接收通道使能、报文长度、切片传输标识、本地路由方向及通道逻辑编号,如果通道使能有效,激活快速通道状态机,发送写使能、读使能、读地址与旁路使能信号给缓冲存储模块, 发送快速传输请求给快速仲裁模块,发送传输请求给传输请求发送单元,发送通道请求给通道请求发送单元,并从快速仲裁模块接收快速仲裁应答,从传输仲裁模块接收传输仲裁应答,从通道仲裁模块接收通道仲裁应答,等待报文传输完毕,发送释放信号、释放通道逻辑编号给通道分配模块;第二读计数器位宽为Iog2L,与通道分配模块、传输仲裁模块、快速仲裁模块及快速通道状态机相连,它从通道分配模块接收通道使能、报文长度,从传输仲裁模块接收传输仲裁应答,从快速仲裁模块接收快速仲裁应答,发送第二读计数器的值给快速通道状态机;当从通道分配模块接收的通道使能有效时,第二读计数器的值为从通道分配模块接收的报文长度,当从快速仲裁模块接收的快速仲裁应答或从传输仲裁模块接收的传输仲裁应答有效时,读计数器值减1 ;第二写计数器的位宽为Iog2L,与通道分配模块、 快速通道状态机相连,它从通道分配模块接收通道使能、报文长度和切片传输标识,发送第二写计数器的值给快速通道状态机;当从通道分配模块接收的通道使能时,第二写计数器的值为从通道分配模块接收的报文长度;当从通道分配模块接收的报文切片中切片传输标识有效且第二写计数器值非零时,第二写计数器值减1 ;快速通道状态机与第二读计数器、 第二写计数器、快速仲裁模块、传输仲裁模块、通道仲裁模块、所属输入端口的传输请求发送单元、通道请求发送单元、通道分配模块和缓冲存储模块相连;传输请求发送单元接收来自所属输入端口快速通道模块和N-I个虚拟通道模块的传输请求,将所有传输请求进行拼接之后作为输入端口的传输请求发送给传输仲裁模块;通道请求发送单元接收来自所属输入端口快速通道模块和N-I个虚拟通道模块的通道请求,将所有通道请求进行拼接之后作为输入端口的通道请求发送给通道仲裁模块。
3.如权利要求1所述的基于快速通道技术的单周期片上路由器,其特征在于所述快速仲裁模块由第一应答控制部件和P个快速仲裁部件组成,它与P个输入端口、通道仲裁模块、传输仲裁模块、超前信号管理模块与交叉开关相连;快速仲裁模块从P个输入端口接收快速传输请求,对所有快速传输请求进行或操作,产生各输出端口的快速传输状态,发送P 个输出端口的快速传输状态给通道仲裁模块、传输仲裁模块及超前信号管理模块;对P个输入端口的快速传输请求进行仲裁,将快速仲裁应答发给P个输入端口,将P个输出端口的快速仲裁结果发给超前信号管理模块;对P个输出端口快速仲裁结果进行拼接操作,产生快速仲裁配置Configl,将快速仲裁配置Configl发给交叉开关;快速仲裁部件与P个输入端口和第一应答控制部件相连,第i个快速仲裁部件从P个输入端口接收快速传输请求,采用轮循方法对所有快速传输请求进行仲裁,将仲裁结果发给第一应答控制部件;对所有快速传输请求进行或操作产生第i输出端口的快速传输状态,将第i输出端口的快速传输状态发送给第一应答控制部件;第一应答控制部件与P个快速仲裁部件、P个输入端口、传输仲裁模块、通道仲裁模块、超前信号管理模块和交叉开关相连;第一应答控制部件从快速仲裁部件分别接收P个仲裁结果,将P个仲裁结果作为输出端口快速仲裁结果发送给超前信号管理模块;将P个仲裁结果进行拼接之后作为快速仲裁配置Configl发送给交叉开关; 将P个仲裁结果进行或操作之后作为快速仲裁应答发送给P个输入端口 ;第一应答控制部件还从P个快速仲裁部件接收P个快速传输状态,将P个快速传输状态发送给传输仲裁模块、通道仲裁模块和超前信号管理模块。
4.如权利要求1所述的基于快速通道技术的单周期片上路由器,其特征在于所述通道仲裁模块由通道请求分发部件,P个通道仲裁部件和第二应答控制单元组成,它与下游路由器、P个输入端口、快速仲裁模块及超前信号管理模块相连;通道仲裁模块从快速仲裁模块接收输出端口快速传输状态,从P个输入端口接收通道请求,采取轮循方法对P个输入端口通道请求进行仲裁,当输出端口快速传输状态无效时,发送输出端口仲裁结果给超前信号管理模块,发送通道应答给P个输入端口 ;通道仲裁模块从下游路由器接收通道反馈信号, 回收由下游路由器释放的通道逻辑编号;同时,给通道仲裁获胜报文或快速仲裁获胜报文分配通道逻辑编号,将该通道逻辑编号发送给超前信号管理模块;通道请求分发部件与P 个输入端口、通道仲裁模块中P个通道仲裁部件相连,它从P个输入端口接收通道请求,给第i通道仲裁部件发送各输入端口向第i输出端口的请求,其中,各输入端口向第i输出端口的请求位宽均为N,包括输入端口中快速通道模块及N-I个虚拟通道模块向第i输出端口的请求;通道仲裁部件由PN: 1通道仲裁单元、逻辑通道分发单元、通道逻辑编号表格组成, 它与下游路由器、通道请求分发部件、第二应答控制部件、快速仲裁模块及超前信号管理模块相连;第i通道仲裁部件的PN: 1通道仲裁单元是对PN个通道请求进行仲裁的电路,它从通道请求分发部件接收所有输入端口向第i输出端口的通道请求,采用轮循方法对所有通道请求进行仲裁,将仲裁结果发给同部件中的逻辑通道分发单元;第i通道仲裁部件的逻辑通道分发单元从PN: 1通道仲裁单元接收仲裁结果,从快速仲裁模块接收第P输出端口快速传输状态,从通道逻辑编号表格接收各通道逻辑编号是否可用的信息,如果快速传输状态无效,且通道逻辑编号表格中存在通道逻辑编号可用,逻辑通道分发单元发送仲裁结果给第二应答控制部件;如果通道逻辑编号表格中所有通道逻辑编号均不可用,或者快速传输状态有效,逻辑通道分发单元将通道仲裁结果清零之后发送给通道仲裁结果第二应答控制部件。如果通道逻辑编号表格中存在通道逻辑编号可用,第i通道仲裁部件的逻辑通道分发单元判断从PN: 1通道仲裁单元接收的通道仲裁结果以及从快速仲裁模块接收的第i 输出端口快速传输状态是否有效。如果通道仲裁结果或者快速传输状态有效,逻辑通道分发单元还根据各通道逻辑编号的可用信息,采取轮循方法选取一个可用的通道逻辑编号, 发送该通道逻辑编号给超前信号管理模块与逻辑通道状态表格,同时发送分配信号给通道逻辑编号表格,置该通道逻辑编号为不可用;通道逻辑编号表格是一个位宽为N的寄存器, 每一位记录各通道逻辑编号是否可用,其中,第i位有效表示通道逻辑编号i可用,第i位无效表示通道逻辑编号i不可用;通道逻辑编号表格与逻辑通道分发单元、下游路由器相连,它一方面从逻辑通道分发单元接收分配信号以及通道逻辑编号,如果分配信号有效, 则分配的通道逻辑编号所指寄存器位被置为无效;另一方面从下游路由器接收通道反馈信号,如果通道反馈信号中释放信号有效,则通道反馈信号中释放通道逻辑编号所指寄存器位被置为有效;第二应答控制部件与P个通道仲裁部件、输入端口和超前信号管理模块相连;第二应答控制部件从P个通道仲裁部件接收通道仲裁结果,对所有通道仲裁结果进行或逻辑操作,并将操作结果的(i-1) XN+1位至iXN位作为第i输入端口通道仲裁应答发送给第i输入端口 ;第二应答控制部件还将从第i通道仲裁部件接收的仲裁结果作为第i 输出端口通道仲裁结果发送给超前信号管理模块。
5.如权利要求1所述的基于快速通道技术的单周期片上路由器,其特征在于所述传输仲裁模块由传输请求分发部件,P个传输仲裁部件以及第三应答控制部件组成,它与P个输入端口、快速仲裁模块和交叉开关相连;传输仲裁模块从P个输入端口接收传输请求,对所有传输请求进行或操作得到P个输出端口传输状态,发送输出端口传输状态给P个输入端口 ;采用轮循方法对P个输入端口传输请求进行仲裁,当从快速仲裁模块接收的输出端口快速传输状态无效时,产生传输仲裁应答发送给P个输入端口,产生传输仲裁配置Conf ig2 发送给交叉开关;传输请求分发部件与P个输入端口、传输仲裁模块中P个传输仲裁部件相连,它从P个输入端口接收传输请求,给第i传输仲裁部件发送各输入端口向第i输出端口的请求;各输入端口向第i输出端口的请求信号宽度为N,包括输入端口内快速通道模块与 N-I个虚拟通道模块向第i输出端口的请求;传输仲裁部件由PN: 1传输仲裁单元、仲裁屏蔽单元和或逻辑单元组成,它与传输请求分发部件、快速仲裁模块及第三应答控制部件相连;第i传输仲裁部件的PN: 1传输仲裁单元是对PN个传输请求的仲裁电路,它从传输请求分发部件接收所有输入端口向第i输出端口的传输请求,采取轮循方法对PN个传输请求进行仲裁,发送仲裁结果给同部件中的仲裁屏蔽单元;第i传输仲裁部件中仲裁屏蔽单元从PN: 1传输仲裁单元接收仲裁结果,从快速仲裁模块接收第P输出端口快速传输状态, 如果快速传输状态无效,将仲裁结果作为第i输出端口传输仲裁结果发送给第三应答控制部件;如果快速传输状态有效,将第i输出端口传输仲裁结果清零后发送给第三应答控制部件;第i传输仲裁部件的或逻辑单元从传输请求分发部件接收所有输入端口向第i输出端口的传输请求,对所有传输请求进行或操作得到第i输出端口的传输状态,发送第i输出端口的传输状态给第三应答控制部件;第三应答控制部件与P个传输仲裁部件、输入端口与交叉开关相连;第三应答控制部件从P个传输仲裁部件接收P个输出端口传输仲裁结果,对所有传输仲裁结果进行拼接操作,产生传输仲裁配置Config2,发送传输仲裁配置 Config2发送给交叉开关;对所有传输仲裁结果进行或操作,将操作结果的(i-1) XN+1位至iXN位作为第i输入端口传输仲裁应答,发送第i输入端口传输仲裁应答给第i输入端口 ;第三应答控制部件还从P个传输仲裁部件接收P个输出端口传输状态,对所有传输状态进行拼接操作,产生输出端口传输状态,发送输出端口传输状态给P个输入端口。
6.如权利要求1所述的基于快速通道技术的单周期片上路由器,其特征在于所述超前信号管理模块由P个计算存储部件与P个信号驱动部件组成,与P个输入端口、通道仲裁模块、快速仲裁模块、上游路由器和下游路由器相连;超前信号管理模块从上游路由器接收超前信号,计算下游路由方向,更新超前信号中的下游路由方向信息;从P个输入端口接收由上游路由器分配的通道逻辑编号,查询下游路由方向信息,发送下游路由方向给P个输入端口 ;从通道仲裁模块接收本地分配的通道逻辑编号与输出端口通道仲裁结果,从快速仲裁模块接收快速传输状态与输出端口快速仲裁结果,根据输出端口通道仲裁结果、快速传输状态及输出端口快速仲裁结果来选择通道仲裁获胜报文或者快速通道报文的超前信号, 利用本地分配的通道逻辑编号替换超前信号中通道逻辑编号信息,发送超前信号给下游路由器;超前信号由通道逻辑编号、目标地址与下游路由方向三个域组成,目标地址位宽为 S,指明报文传输的目标地址,S为正整数,为4位到8位;下游路由方向位宽为P,指明报文在下游路由器中的传输方向;每个计算存储部件由路由计算单元、超前信号表格、发送单元和第一多路选择单元组成;路由计算单元与上游路由器、超前信号表格相连,它从上游路由器接收超前信号,根据常规路由算法以及超前信号中目标路由器地址产生下游路由方向, 更新超前信号中下游路由方向信息,并根据超前信号中通道逻辑编号将超前信号写入超前信号表格;超前信号表格由N个寄存器组成,每个寄存器记录各通道逻辑编号对应的超前信号,它与路由计算单元、发送单元与第一多路选择单元相连;发送单元与超前信号表格、P 个信号驱动部件相连;第i个计算存储部件的发送单元读取超前信号表格N个寄存器中的超前信号VAdVi,pj = 1,…,N,将超前信号VAdvy发送给所有P个信号驱动部件;第一多路选择单元与超前信号表格、P个信号驱动部件和输入端口相连;第i计算存储部件的第一多路选择单元从第i个输入端口接收由上游路由器分配的通道逻辑编号,根据通道逻辑编号对超前信号表格中N个寄存器进行多路选择,将选择结果中的下游路由方向发送给第i 输入端口,同时对选择结果进行锁存产生超前信号FAdvi,将超前信号FAdvi发送给所有P个信号驱动部件;信号驱动部件由第二多路选择单元,第三多路选择单元,临时寄存器,第四多路选择单元、替换单元和逻辑或门组成,与P个计算存储部件、通道仲裁模块、快速仲裁模块和下游路由器相连;第j信号驱动部件的第二多路选择单元从通道仲裁模块接收输出端口 j的通道仲裁结果,从P个计算存储部件接收NXP个超前信号VAdvy,根据通道仲裁结果对NXP个超前信号VAdvi, j进行多路选择,将多路选择结果发送给临时寄存器进行锁存;第j信号驱动部件临时寄存器从第二多路选择单元接收多路选择结果的目标地址与下游路由方向进行锁存,从通道仲裁模块接收第j输出端口的分配通道逻辑编号进行锁存, 将锁存结果发送给第四多路选择单元;第j信号驱动部件的第四多路选择单元从快速仲裁模块接收第j输出端口的快速传输状态,根据快速传输状态对‘0’信号与来自临时寄存器的锁存结果进行两路选择,如果快速传输状态有效,则将‘0’信号发送给逻辑或门,否则将临时寄存器锁存结果发送给逻辑或门;第j信号驱动部件的第三多路选择单元从快速仲裁模块接收输出端口 j的快速仲裁结果,从P个计算存储部件接收超前信号FAdvi,根据快速仲裁结果对P个超前信号FAdvi进行多路选择,将多路选择结果发送给替换单元;第j信号驱动部件的替换单元从通道仲裁模块接收第j输出端口的分配通道逻辑编号,从第三多路选择单元接收多路选择结果,利用分配通道逻辑编号替换多路选择结果中的通道逻辑编号信息,将替换结果发送给逻辑或门;逻辑或门对来自替换单元的替换结果和来自第四多路选择单元的多路选择结果进行或操作,将操作结果作为超前信号发送给下游路由器。
7.如权利要求2所述的基于快速通道技术的单周期片上路由器,其特征在于所述虚拟通道状态机由四个状态组成,“00”状态表示通道空闲;“01”状态表示等待通道仲裁应答; “10”表示等待传输仲裁应答;“11”表示通道仲裁应答、传输仲裁应答均已有效;上电复位时,虚拟通道状态机处于状态“00”,若发现从通道分配模块接收的通道使能信号有效,锁存从通道分配模块接收的通道逻辑编号,转向状态“01” ;虚拟通道状态机处于“01”状态时, 发送通道请求给通道请求发送单元,发送传输请求给传输请求发送单元,如果第一写计数器值非零,则发送写使能给缓冲存储模块;如果从通道仲裁模块接收的通道仲裁应答有效, 但从传输仲裁模块接收的传输仲裁应答无效,转移到“ 10”状态;如果通道仲裁应答且传输仲裁应答均有效,转移到“11”状态;虚拟通道状态机处于“ 10”状态时,发送传输请求给传输请求发送单元,如果第一写计数器值非零,则发送写使能给缓冲存储模块;如果传输仲裁应答有效,转移到“11”状态;虚拟通道状态机处于“ 11”时,发送传输请求给传输请求发送单元,发送读使能信号与读地址给缓冲存储模块,如果第一写计数器值非零,发送写使能信号给缓冲存储模块;如果第一读计数器值为零,转移到状态“00”,并发送释放信号与锁存的通道逻辑编号给通道分配模块。
8.如权利要求2所述的基于快速通道技术的单周期片上路由器,其特征在于所述快速通道状态机共有六个状态,“000”状态表示通道空闲;“001”状态表示等待快速仲裁应答; “010”状态表示快速传输;“011”表示等待通道仲裁应答;“100”表示等待传输仲裁应答; “101”表示通道仲裁应答、传输仲裁应答均有效;上电复位时,快速通道状态机处于状态 “000”,若发现从通道分配模块接收的通道使能有效,锁存从通道分配模块接收的通道逻辑编号,转向状态“001”;快速通道状态机处于“001”状态时,发送快速传输请求给快速仲裁模块,发送旁路使能给缓冲存储模块,如果第二写计数器取值非零,发送写使能给缓冲存储模块;如果从快速仲裁模块接收的快速仲裁应答有效,则转移到“010”状态;如果从快速仲裁模块接收的快速仲裁应答无效,转移到“011”状态;快速通道状态机处于“010”状态时,发送旁路使能给缓冲存储模块,发送快速传输请求给快速仲裁模块,如果第二写计数器取值非零,发送写使能给缓冲存储模块;如果第二读计数器值为零,则转移到状态“000”,并发送释放信号与锁存的通道逻辑编号给通道分配模块;快速通道状态机处于“011”状态时, 发送通道请求给通道请求发送单元,发送传输请求给传输请求发送单元,如果第二写计数器值非零,则发送写使能给缓冲存储模块;如果从通道仲裁模块接收的通道仲裁应答有效, 而从传输仲裁模块接收的传输仲裁应答无效,则转移到“ 100”状态;如果通道仲裁应答、传输仲裁应答均有效,则转移到“ 101”状态;快速通道状态机处于“ 100”时,发送传输请求给传输请求发送单元,如果第二写计数器值非零,则发送写使能给缓冲存储模块;如果传输仲裁应答有效,则转移到“ 101 ”状态;快速通道状态机处于“ 101 ”时,发送传输请求给传输请求发送单元,发送读使能信号与读地址给缓冲存储模块,如果第二写计数器值非零,则发送写使能信号给缓冲存储模块;如果第二读计数器值为零,则转移到状态“000”,并发送释放信号与锁存的通道逻辑编号给通道分配模块。
全文摘要
本发明公开了一种基于快速通道技术的单周期片上路由器,它由P个输入端口、一个快速仲裁模块、一个传输仲裁模块、一个通道仲裁模块、一个超前信号管理模块、一个交叉开关与P个输出端口组成。输入端口由通道分配模块、缓冲存储模块、快速通道模块、虚拟通道模块、传输请求发送单元和通道请求发送单元组成。快速仲裁模块由第一应答控制部件和P个快速仲裁部件组成。通道仲裁模块由通道请求分发部件,P个通道仲裁部件和第二应答控制单元组成。传输仲裁模块由传输请求分发部件,P个传输仲裁部件、第三应答控制部件组成。超前信号管理模块由P个计算存储部件与P个信号驱动部件组成。本发明能实现单周期转发操作,适应于各类路由算法。
文档编号H04L12/56GK102185751SQ201010584550
公开日2011年9月14日 申请日期2010年12月13日 优先权日2010年12月13日
发明者任珊珊, 沈立, 王志英, 肖侬, 赖明澈, 陆洪毅, 马胜, 高蕾 申请人:中国人民解放军国防科学技术大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1