一种基于优先级传播的交叉连接矩阵的仲裁方法及仲裁单元的制作方法

文档序号:7614405阅读:194来源:国知局
专利名称:一种基于优先级传播的交叉连接矩阵的仲裁方法及仲裁单元的制作方法
技术领域
本发明涉及路由交换技术领域,具体涉及一种基于优先级传播的交叉连接矩阵的仲裁方法及仲裁单元。
背景技术
交叉连接矩阵(crossbar)是一种将输入端和输出端互联的交换结构,非常容易用大规模集成电路实现。仲裁方法将尽量多的输入端和输出端匹配,其执行时延、公平性、实现复杂性决定了交换的性能。提高仲裁方法的性能一直是学术界和工业界研发的重点,已提出多种方法和多项专利。当前大部分的仲裁方法都是按request→grant→accept三个步骤执行,美国Standford大学提出iSLIP方法是目前较为成功的一种单播仲裁方法,基于该方法的ESLIP方法已经成功应用于Cisco的GSR12000系列路由器中。随后,随着二维优先级(two-dimensional priority)的提出,一系列新的方法被相继提出,如TSA(Two-Step Arbiter)方法、STSA(SkewedTwo-Step Arbiter)方法、WFA(Wave Front Arbiter)方法、WFFA(WrappedWave Front Arbiter)方法、RPA(Rectilinear Propagation Arbiter)方法、DPA(Diagonal Propagation Arbiter)方法等。其中WWFA方法和DPA方法是目前较为成功的两种方法,它们是靠相邻单元电路之间的信息传播来仲裁,执行时延仅为N个门级延时(N为crossbar端口数),且实现简单。
仲裁方法仲裁器收到N×N个输入队列的状态信息,根据这些状态信息,通过特定的方法,匹配非空输入队列和相应的输出队列,匹配完成后,发送对应输入队列中的信元。仲裁器中完成非空输入队列和相应的输出队列的匹配的仲裁方法,称之为仲裁方法。说明书中提到的WWFA方法、DPA方法、iSLIP方法和PPAwFE方法都是仲裁方法。图1中Ai(t)表示信元到达输入端口的离散时间过程。在某一信元时隙,若有信元到达输入端口i(1≤i≤N),此信元的目的端口确定为j(1≤j≤N),则该信元被放入输入端口的第j个缓冲队列Q(i,j)中,Q(i,j)称之为虚拟输出队列(VOQ)。在图1的交换结构中,每一个输入端口都分别通过开关和所有的输出端口相连,当输入端口和输出端口j是一个匹配时,就闭合对应的开关,发送信元,这种交换结构称为交叉连接矩阵结构。在仲裁器仲裁结束后,根据匹配的结果,如果输入端口和输出端口j是一个匹配,则从队列Q(i,j)发送一个信元到输出端口j;仲裁单元一种基本的仲裁装置,对i输入端口和j输出端口间能否发送信元进行仲裁,在仲裁器结构逻辑图和仲裁方法原理图中,用小正方形表示,正方形用(i,j)标识,称之为仲裁单元(i,j)。当一个仲裁单元被选中时,也表示对应的从i端口进入且要发送到j端口的信元所在的VOQ被允许发送信元;公平性对于N×N交换结构的N个输入端口,每个输入端口中有N个VOQ,这N2VOQ中,有的VOQ中有信元等待转发,而有的VOQ中没有信元等待转发。公平性分为两种情形第一种情形是针对不同输入端口、相同输出端口的VOQ,第二种情形是针对相同输入端口、不同输出端口的VOQ。第一种情形的公平性是指若所要比较的两个VOQ属于不同输入端口,相同输出端口且状态相同(要么同时有信元等待发送,要么同时没有信元等待发送),在一段足够长的时间内,所要比较的两个VOQ发送信元的个数几乎相等就认为是公平的。第二种情形的公平性是指若所要比较的两个VOQ属于相同输入端口,不同输出端口且状态相同(要么同时有信元等待发送,要么同时没有信元等待发送),在一段足够长的时间内,所要比较的两个VOQ发送信元的个数几乎相等就认为是公平的。
基于优先级传播的仲裁方法它是一组大容量交换网络基于优先级传播的仲裁方法的总称,一般来说,它有如下特征①.根据方法的要求,所有最高优先级组中的仲裁单元都不同行且不同列,即任意一个最高优先级组都有且仅有n个仲裁单元,且这n个仲裁单元对称分布在(1,1),(2,2),(3,3)......(n,n)为轴线的两侧;②.将任意优先级组的所有仲裁单元向右平移一列或向下平移一行,即(i,j)变为(i,j+1)或(i+1,j)(当i,或j为n时,令i+1=1,j+1=1),则新的仲裁单元也可以构成一个最高优先级组。我们将这样的优先级组称为一类,共有n个,这n个优先级组内的仲裁单元都不同行且不同列;③.最高优先级组的各个仲裁单元只向其它次一级的优先级的仲裁单元发送状态信息,不接收状态信息;最低优先级组的各个仲裁单元只接收比它高一级的优先级的仲裁单元的状态信息,不发送状态信息;④.所有的仲裁结构中,仲裁器都是由最高优先级向最低优先级仲裁,即仲裁的方向是单向的。在仲裁结构的图中表现为箭头是单向的;仲裁单元的状态仲裁单元的状态有3种,分别为空闲态、标准态和休眠态;1)空闲态仲裁单元没有信元等待发送的状态;2)标准态仲裁单元有信元等待发送,且其发送信元的请求没有被忽略,也即该仲裁单元的被选中权没有被取消的状态;3)休眠态仲裁单元有信元等待发送,但是其发送信元的请求被忽略,也即该仲裁单元的被选中权被取消的状态。
图2是WWFA方法的仲裁器结构的原理图,该仲裁器结构称为正方形仲裁结构,以4×4的仲裁器结构为例。图中虚线上的仲裁单元具有相同的优先级,虚线上的优先级组w2具有最高的优先级,是最高优先级组,用加粗的虚线表示。优先级组w3、w4,w1的优先级依次递减。在任何一个优先级组上的仲裁单元入端口和出端口都互不相同,所以可以同时被选中,不会出现冲突。当开始仲裁时,首先仲裁最高优先级组,然后仲裁次一级优先级组,以此类推,像波纹(wave)一样向下一级优先级组传递。为了达到公平性的要求,最高优先级组也不是固定的,也要像波纹一样传递,图2中的最高优先级组是w2,那么下次仲裁时,最高优先级组就变为w3,当最高优先级组是w4时,那么下次仲裁的最高优先级回到w1。
仲裁的最基本的规则是在每一行、每一列都有且仅有一个仲裁单元能被选中,在图2中,如果仲裁单元(1,1)被选中,那么,第一行的其余仲裁单元(1,j)和第一列的其余仲裁单元(i,1)都不能被选中。如果仲裁单元(1,1)没有被选中,那么就仲裁它下一个优先级,即分别仲裁仲裁单元(1,1)正x方向,y方向上的仲裁单元。因此,当波纹移动到w3时,如果仲裁单元(1,1)和(2,4)都没有被选中,那么(2,1)才可能被选中。如果一个仲裁单元被选中的话,还需要两个条件,一个是这个仲裁单元有发包的请求(request),另一个条件是对应的输出端口正在空闲。
一个仲裁单元是否被选中的公式如下grant=(request)·(priorityxdirection)·(priorityydirection)·(output-port ready),式中各个信号为1时表示信号为真,即grant为1表示当前仲裁单元被选中,request为1表示当前仲裁单元有发包请求,priorityxdirection为1表示仲裁单元x方向上已经有仲裁单元被选中,priorityydirection为1表示y方向上已经有仲裁单元被选中,output-port ready为1表示当前仲裁单元对应输出端口空闲。
相邻优先级的仲裁单元的仲裁信号传递公式如下priorityx(y)direction=(grant)·(priorityx(y)direction),式中第一个priorityx(y)direction表示当前仲裁单元的两条入线上的信号,第二个priorityx(y)direction表示当前仲裁单元的负x(y)方向上的仲裁单元的对应方向上的出线的信号。仲裁单元的原理图如图3所示,仲裁真值表如图4所示。
WWFA方法结构这种靠相邻单元电路之间的信息传播来仲裁的特性决定了只有当每个端口都被充分利用的时候,各个端口的公平性才能得以保证;在某些端口没有流量或流量很小的情况下,会出现不公平;在大部分端口没有流量或大部分端口流量很小的时候,其公平性带来的问题尤其明显。在实际应用中,如果使用WWFA方法的交换机,在端口没有全部被配置或者某些端口的流量不足的时候,公平性所带来的问题非常巨大,对n×n的交换机,公平性最差的时候端口的利用率最高和最低的比是(n-1)∶1,可以认为,某些端口几乎得不到服务。因此,WWFA方法在公平性上的缺陷极大地限制了它的商用。
图5是DPA方法的仲裁器结构的原理图,DPA仲裁器结构所占面积大于正方形仲裁结构的面积,对n×n的仲裁结构,DPA结构所占面积是正方形仲裁结构面积的 倍,对DPA方法本身的商用造成了一定的困难。
DPA方法结构这种靠相邻单元电路之间的信息传播来仲裁的特性决定了只有当每个端口都被充分利用的时候,各个端口的公平性才能得以保证;在某些端口没有流量或流量很小的情况下,会出现不公平;在大部分端口没有流量或大部分端口流量很小的时候,其公平性带来的问题尤其明显。在实际应用中,如果使用DPA方法的交换机,在端口没有全部被配置或者某些端口的流量不足的时候,公平性所带来的问题非常巨大,对n×n的交换机,公平性最差的时候端口的利用率最高和最低的比是(n-1)∶1,可以认为,某些端口几乎得不到服务。因此,DPA方法在公平性上的缺陷极大地限制了它的商用。
iSLIP(iterative SLIP)方法的目的是为了有效、公平、快速的匹配一个输入队列调度器的输入端口和输出端口,它是一种迭代(iteration)方法,在每个时隙采用多次迭代来选择交叉开关的配置,使输入端口和输出端口尽量达到匹配。iSLIP方法采用轮循匹配RRM(Round-RobinMatching)方法来轮流调度每个有效输入端口和输出端口,而且RRM是一种优先级轮循匹配方法,用于仲裁输入/输出端口之间的匹配。iSLIP方法是目前应用广泛的一种调度方法,它的主要缺点在于它需要多次迭代,执行时延较长。这在不久的将来,必将无法满足大容量交换网络高速仲裁的需要。

发明内容
本发明要解决的技术问题是提供一种基于优先级传播的交叉连接矩阵的仲裁方法及仲裁单元,克服现有技术的仲裁方法仲裁时延较长、无法保证公平性的缺点。
为解决上述技术问题,本发明采用如下的技术方案一种基于优先级传播的交叉连接矩阵的仲裁方法,所述方法包括以下步骤A、为每个仲裁单元设置一变量,当仲裁单元的所述变量不等于其初始值时,该仲裁单元被置为休眠态;B、由设定的最高优先级组向最低优先级组逐级仲裁,直到仲裁器中任意一行和任意一列都有一个且仅有一个仲裁单元被选中或者仲裁到最低优先级组为止,得出一次仲裁结果;C、遍历所有仲裁单元,改变处于休眠态的仲裁单元所述变量的值,使其逐步接近所述初始值,且当处于休眠态的仲裁单元的变量恢复为初始值时,该仲裁单元被置为标准态;D、发送被选中的仲裁单元对应的虚拟输出队列中的信元,之后判断所述被选中的仲裁单元以及其所在行和列上仲裁单元的状态,且依据一判断原则,决定是否改变被选中仲裁单元的状态以及为该单元的变量赋予不等于初始值的预定值。
所述的仲裁方法,其中所述步骤D中的判断原则为若被选中的仲裁单元对应的虚拟输出队列中已没有信元,将该仲裁单元置为空闲态;若该仲裁单元对应的虚拟输出队列中仍有信元,且其所在行和列上没有其它仲裁单元处于标准态,则不改变该仲裁单元的状态;若该仲裁单元对应的虚拟输出队列中仍有信元且其所在行或列上至少有一个仲裁单元处于标准态,则将该仲裁单元置为休眠态,并对该仲裁单元的所述变量赋予所述预定值;所述的仲裁方法,其中所述初始值设为0。
所述的仲裁方法,其中所述步骤C中所述改变处于休眠态的仲裁单元的所述变量值的方法是,将所述变量的值减1。
所述的仲裁方法,其中所述步骤D中,发送选中的仲裁单元对应的虚拟输出队列中的队首信元。
所述的仲裁方法,其中所述预定值由以下方法确定对该仲裁单元所在行和列上处于标准态的仲裁单元分别计数,其中较大的值作为所述预定值。
所述的仲裁方法,其中设置所述仲裁器的结构为正方形仲裁结构。
一种仲裁单元,包括一组输入接口和一组输出接口,其中R输入接口,用于接收表示该仲裁单元所对应的虚拟输出队列是否有发送信元的请求的R输入信号;W输入接口,用于接收表示该仲裁单元所在行上是否存在优先级高于所述仲裁单元的仲裁单元被选中的W输入信号;N输入接口,用于接收表示该仲裁单元所在列上是否存在优先级高于所述仲裁单元的仲裁单元被选中的N输入信号;G输出接口,用于发送表示该仲裁单元是否被选中的G输出信号;E输出接口,用于发送表示该仲裁单元所在行上是否存在优先级高于或等于该仲裁单元的仲裁单元被选中的E输出信号;S输出接口,用于发送表示该仲裁单元所在列上是否存在优先级高于或等于该仲裁单元的仲裁单元被选中的S输出信号;该仲裁单元还包括xi输入接口,用于接收表示在该仲裁单元所在行上处于标准态的仲裁单元的个数的xi输入信号;yj输入接口,用于接收表示在该仲裁单元所在列上处于标准态的仲裁单元的个数的yj信号;I输出接口,用于发送表示该仲裁单元是否参与x和y值的计算的I输出信号;以及所述仲裁单元内部设置有一个信号变量λ,用于控制该仲裁单元处于休眠态的时间。
所述的仲裁单元,其中其所有接口信号之间满足以下公式仲裁前Wi,j=Ei,(j-1);Ni,j=S(i-1),j;当其为最高优先级组中的仲裁单元时,Wi,j=Ni,j=0。
仲裁时Gi,j=Wi,j‾·Ni,j‾·Ri,j·{λi,j=0};]]>仲裁后Ii,j=Ri,j·{λi,j=0};
xi=Σk≠j,k=1nIi,k,yj=Σk≠i,k=1nIk,j;]]>λi,j=max{xi,yj}·{Gi,j=1}+(λi,j-1)·{Gi,j=0}·{λi,j≠0}+λi,j·{Gi,j=0}·{λi,j=0};Si,j=Gi,j+Ni,j;Ei,j=Gi,j+Wi,j;设i、j为正整数,当i=1时,i-1=n;j=1时,j-1=n。
本发明的有益效果为采用本发明的技术方案,由于设置了控制仲裁单元状态变化的变量,极好地解决了公平性问题,且仲裁速度快,时延短,实现简单;由于采用了正方形仲裁结构,因此仲裁器所占面积小。


图1是现有技术中N端口VOQ交换结构示意图;图2是现有技术中WWFA方法的仲裁器结构及优先级组划分示意图;图3是现有技术中WWFA方法的仲裁单元示意图;图4是现有技术中WWFA方法的仲裁真值表;图5是现有技术中DPA方法的仲裁器结构及优先级组示意图;图6是本发明的4*4端口仲裁器结构示意图;图7是本发明的仲裁单元(CACCross-point arbiter cell)示意图;图8是本发明的仲裁器中仲裁单元的一种状态示意图;图9是本发明的仲裁器中仲裁单元另一种状态示意图;图10是本发明的仲裁器中仲裁单元的第三种状态示意图;图11是本发明的仲裁器中仲裁单元的第四种状态示意图。
具体实施例方式
下面结合附图和实施例对本发明作进一步详细说明
本发明的方法从每个仲裁单元本身出发考虑,保证仲裁算法的公平性。两个仲裁单元ξ、η不公平,也就是在仲裁算法进行仲裁的时候,选中仲裁单元ξ的可能性大于或小于仲裁单元η的可能性。如果在选中仲裁单元ξ的可能性大于仲裁单元η的可能性的条件下,仲裁单元ξ被选中的时候,将该仲裁单元的被选中权取消一段时间,即将处于标准态的该仲裁单元置为非标准态,在这段时间内,本来应该选中仲裁单元ξ的可能性就给了其它仲裁单元(包括仲裁单元η),这样就有可能使两个仲裁单元ξ、η公平。基于这样的考虑,我们为每个仲裁单元设置了一个变量λ,变量的初始值为0,当仲裁单元(i,j)被选中的时候,分别计算第i行、第j列上有发包请求的且没有被取消被选中权的仲裁单元的个数,取其中的较大值赋给λ,当λ大于0的时候,取消仲裁单元(i,j)的被选中权。此后,每经过一个仲裁时隙,λ均减1,直到λ为0时恢复仲裁单元(i,j)的被选中权——这就是本发明的根本思想。
在仲裁器结构上,本发明的方法采用了与WWFA方法一样的正方形结构,如图6所示。
本发明的实现步骤如下①.在一次仲裁开始的时候,首先仲裁最高优先级组,然后仲裁次一级优先级组,以此类推,向波纹(wave)一样向下一级优先级组传递;直到仲裁器中任意一行和任意一列都有一个且仅有一个仲裁单元被选中或者仲裁到最低优先级组为止,得出仲裁结果;②.将处于休眠态的仲裁单元的λ值减1,判断λ是否为0,如果为0则将仲裁单元的状态置为标准态;③.发送排在本次仲裁结果的仲裁单元所代表的VOQ队首的信元,并判断该仲裁单元的状态,如果该仲裁单元由有信元发送请求变为没有信元发送请求,则将该仲裁单元置为空闲态;如果该仲裁单元处于标准态而且其所在行和列上没有仲裁单元处于标准态,则不改变该仲裁单元的状态,如果该仲裁单元处于标准态而且其所在行或列上至少有一个仲裁单元处于标准态,则将该仲裁单元置为休眠态,并对其所在行和列上处于标准态的仲裁单元计数,其将其中的较大值赋给λ;④.选择下一次仲裁的最高优先级组,我们按照最高优先级组的自然顺序,选择当前仲裁时隙的最高优先级组在行或列方向上的下一个最高优先级组,执行步骤①.。
我们规定仲裁开始时,用w1作为最高优先级组进行仲裁,每个仲裁单元的λ初值为0,且仲裁单元要么处于空闲态,要么处于标准态,不存在处于休眠态的仲裁单元。
本发明的仲裁单元如图7所示,R信号是输入信号,表示仲裁单元所代表的VOQ队列是否有发送信元的请求(request),R=1表示有发送信元的请求,初值为0;W(west)信号是输入信号,表示仲裁单元所在行上,是否存在优先级高于当前仲裁单元的仲裁单元被选中,存在则W=1,初值为0;N(north)是输入信号,表示仲裁单元所在列上,是否存在优先级高于当前仲裁单元的仲裁单元被选中,存在则N=1,初值为0;G是输出信号,表示仲裁单元是否被选中(grant),选中则G=1,初值为0;E(east)是输出信号,表示仲裁单元所在行上,是否存在优先级高于或等于当前仲裁单元的仲裁单元被选中,存在则E=1,初值为0;S(South)是输出信号,表示仲裁单元所在列上,是否存在优先级高于或等于当前仲裁单元的仲裁单元被选中,存在则S=1,初值为0;xi(X_req_num)是输入信号,表示在仲裁单元所在行上处于标准态的仲裁单元的个数,初值为0;yj(Y_req_num)是输入信号,表示在仲裁单元所在列上处于标准态的仲裁单元的个数,初值为0;I(idle)信号是输出信号,表示仲裁单元是否参与x和y值的计算,参与则I=1,初值为0;λ是仲裁单元内部信号,初值为0。
仲裁单元的所有信号的值由以下公式确定1.仲裁单元被仲裁前Wi,j=Ei,(j-1);Ni,j=S(i-1),j;当仲裁单元是最高优先级组中的仲裁单元时,Wi,j=Ni,j=0。
2.仲裁单元被仲裁时Gi,j=Wi,j‾·Ni,j‾·Ri,j·{λi,j=0};]]>3.仲裁单元被仲裁后Ii,j=Ri,j·{λi,j=0};xi=Σk≠j,k=1nIi,k,yj=Σk≠i,k=1nIk,j;]]>λi,j=max{xi,yj}·{Gi,j=1}+(λi,j-1)·{Gi,j=0}·{λi,j≠0}+λi,j·{Gi,j=0}·{λi,j=0};Si,j=Gi,j+Ni,j;Ei,j=Gi,j+Wi,j;其中当i=1时,i-1=n;j=1时,j-1=n。
仲裁单元的状态由仲裁单元内部信号λ和仲裁单元输入信号R决定,当λ=0且R=1时,仲裁单元处于标准态;当λ≠0且R=1时,仲裁单元处于休眠态;当λ=0且R=0时,仲裁单元处于空闲态。
下面以4×4的仲裁器结构说明本发明的具体仲裁过程由前面的讨论知道,4×4的仲裁器结构中,优先级组有四组,分别为w1(1,1)、(4,2)、(3,3)、(2,4),w2(2,1)、(1,2)、(4,3)、(3,4),w3(3,1)、(2,2)、(1,3)、(4,4),w4(4,1)、(3,2)、(2,3)、(1,4)。
本次仲裁开始时仲裁单元的状态如图8所示,最高优先级组为w3(3,1)、(2,2)、(1,3)、(4,4),这四个仲裁单元的入线保留为初始信息,不接收其它仲裁单元的状态信息;当前状态下,仲裁单元(1,1)、(1,2)、(2,1)、(2,2)、(3,2)、(4,4)处于标准态,除仲裁单元(2,2)所代表的VOQ只有一个信元等待发送外,其它仲裁单元所代表的VOQ均至少有两个信元等待发送;仲裁单元(2,3)处于休眠态,λ=1;仲裁单元(3,3)处于休眠态,λ=2;其它仲裁单元处于空闲态。下面是仲裁步骤①.以w3为本次仲裁的最高优先级组进行仲裁,得出仲裁结果(1,1)、(2,2)、(4,4);②.遍历所有仲裁单元,将处于休眠态的仲裁单元的λ值减1,当结果为0时将该仲裁单元的状态置为标准态。仲裁单元(2,3)处于休眠态,λ-1=0,则将仲裁单元(2,3)置为标准态;仲裁单元(3,3)处于休眠态,λ-1=1,其状态不变;此时仲裁单元的状态如图9所示。
③.发送排在本次次仲裁结果的仲裁单元所代表的VOQ队首的信元,并重新判断仲裁单元的状态。仲裁单元(1,1),发送一个信元后,其对应VOQ中仍有信元等待发送,且其行方向上和列方上向均有一个仲裁单元处于标准态,则置仲裁单元(1,1)为休眠态,λ=1;仲裁单元(2,2),发送一个信元后,其对应VOQ中没有信元等待发送,则置仲裁单元(2,2)为空闲态;仲裁单元(4,4),发送一个信元后,其对应VOQ中仍有信元等待发送,且其行方向和列方向上均没有仲裁单元处于标准态,则仲裁单元(4,4)的状态不变。此时仲裁单元的状态如图10所示。
④.按照最高优先级组的自然顺序,选择当前仲裁时隙的最高优先级组w3在行或列方向上的下一个最高优先级组w4作为下一次仲裁的最高优先级组,此时仲裁单元的状态如图11所示。
本发明技术方案的有益效果(1)仲裁速度快,时延短,实现简单。本发明的方法和WWFA、DPA方法一样,都是靠相邻单元电路之间的信息传播来仲裁。本发明的方法与iSLIP方法不同,不需要迭代,一次仲裁即可最大限度的匹配所有的输入输出端口,且执行时延仅为o(N)(N为crossbar端口数)个门级延时,且实现简单。这为路由器、交换机获得较高的交换带宽,解决了调度方法性能的一个瓶颈。同时,方法能实现高速的交换,且易于实现,也使使用该方法的路由器、交换机在当前激烈的竞争中占有较为有利的地位。
(2)公平性好。本发明的方法每历经一个仲裁时隙,最高优先级仍然是简单地平移,保证仲裁结构中的每一个仲裁单元都能被仲裁。这与WWFA方法、DPA方法不同,本发明的方法每选中一个仲裁单元,都改变那个仲裁单元的状态;每仲裁一个时隙,也改变一些仲裁单元的状态。这些仲裁单元的状态,导致在某一段时间内,一些仲裁单元虽然有信元等待发送,但是并不能被选中,简单的说,也就是当可能出现过多的选中某个仲裁单元时,在某几个时隙内,改变那个仲裁单元的状态,使其不能被选中,以保证方法的公平性。本发明的方法无论在路由器、交换机端口充分利用的情况下,还是只应用一部分端口或者某些端口的流量很少的情况下,都能大致公平的对每个正在运行的端口进行交换,在实际的使用中保证了每个用户都能平等的得到服务。
(3)方法结构所占面积小。与DPA方法结构相比,本发明的方法使用的仲裁器结构和WWFA方法的仲裁器结构一样,是最小面积。这使交换机能尽量做的小巧,或者用同样大小的芯片能实现更多的功能。
可以理解的是,对本领域普通技术人员来说,可以根据本发明的技术方案及其发明构思加以等同替换或改变,而所有这些改变或替换都应属于本发明所附的权利要求的保护范围。
权利要求
1.一种基于优先级传播的交叉连接矩阵的仲裁方法,所述方法包括以下步骤A、为每个仲裁单元设置一变量,当仲裁单元的所述变量不等于其初始值时,该仲裁单元被置为休眠态;B、由设定的最高优先级组向最低优先级组逐级仲裁,直到仲裁器中任意一行和任意一列都有一个且仅有一个仲裁单元被选中或者仲裁到最低优先级组为止,得出一次仲裁结果;C、遍历所有仲裁单元,改变处于休眠态的仲裁单元所述变量的值,使其逐步接近所述初始值,且当处于休眠态的仲裁单元的变量恢复为初始值时,该仲裁单元被置为标准态;D、发送被选中的仲裁单元对应的虚拟输出队列中的信元,之后判断所述被选中的仲裁单元以及其所在行和列上仲裁单元的状态,且依据一判断原则,决定是否改变被选中仲裁单元的状态以及为该单元的变量赋予不等于初始值的预定值。
2.根据权利要求1所述的仲裁方法,其特征在于所述步骤D中的判断原则为若被选中的仲裁单元对应的虚拟输出队列中已没有信元,将该仲裁单元置为空闲态;若该仲裁单元对应的虚拟输出队列中仍有信元,且其所在行和列上没有其它仲裁单元处于标准态,则不改变该仲裁单元的状态;若该仲裁单元对应的虚拟输出队列中仍有信元且其所在行或列上至少有一个仲裁单元处于标准态,则将该仲裁单元置为休眠态,并对该仲裁单元的所述变量赋予所述预定值;
3.根据权利要求2所述的仲裁方法,其特征在于所述初始值设为0。
4.根据权利要求3所述的仲裁方法,其特征在于所述步骤C中所述改变处于休眠态的仲裁单元的所述变量值的方法是,将所述变量的值减1。
5.根据权利要求4所述的仲裁方法,其特征在于所述步骤D中,发送选中的仲裁单元对应的虚拟输出队列中的队首信元。
6.根据权利要求4所述的仲裁方法,其特征在于所述预定值由以下方法确定对该仲裁单元所在行和列上处于标准态的仲裁单元分别计数,其中较大的值作为所述预定值。
7.根据权利要求1至6任一权项所述的仲裁方法,其特征在于设置所述仲裁器的结构为正方形仲裁结构。
8.一种仲裁单元,包括一组输入接口和一组输出接口,其中R输入接口,用于接收表示该仲裁单元所对应的虚拟输出队列是否有发送信元的请求的R输入信号;W输入接口,用于接收表示该仲裁单元所在行上是否存在优先级高于所述仲裁单元的仲裁单元被选中的W输入信号;N输入接口,用于接收表示该仲裁单元所在列上是否存在优先级高于所述仲裁单元的仲裁单元被选中的N输入信号;G输出接口,用于发送表示该仲裁单元是否被选中的G输出信号;E输出接口,用于发送表示该仲裁单元所在行上是否存在优先级高于或等于该仲裁单元的仲裁单元被选中的E输出信号;S输出接口,用于发送表示该仲裁单元所在列上是否存在优先级高于或等于该仲裁单元的仲裁单元被选中的S输出信号;其特征在于该仲裁单元还包括xi输入接口,用于接收表示在该仲裁单元所在行上处于标准态的仲裁单元的个数的xi输入信号;yj输入接口,用于接收表示在该仲裁单元所在列上处于标准态的仲裁单元的个数的yj信号;I输出接口,用于发送表示该仲裁单元是否参与x和y值的计算的I输出信号;以及所述仲裁单元内部设置有一个信号变量λ,用于控制该仲裁单元处于休眠态的时间。
9.根据权利要求8所述的仲裁单元,其特征在于其所有接口信号之间满足以下公式仲裁前Wi,j=Ei,(j-1);Ni,j=S(i-1),j;当其为最高优先级组中的仲裁单元时,Wi,j=Ni,j=0。仲裁时Gi,j=Wi,j‾·Ni,j‾·Ri,j·{λi,j=0};]]>仲裁后Ii,j=Ri,j·{λi,j=0};xi=Σk≠j,k=1nIi,k,yj=Σk≠i,k=1nIk,j;]]>λi,j=max{xi,yj}·{Gi,j=1}+(λi,j-1)·{Gi,j=0}·{λi,j≠0}+λi,j·{Gi,j=0}·{λi,j=0};Si,j=Gi,j+Ni,j;Ei,j=Gi,j+Wi,j;设i、j为正整数,当i=1时,i-1=n;j=1时,j-1=n。
全文摘要
一种基于优先级传播的交叉连接矩阵的仲裁方法,包括以下步骤A.为每个仲裁单元设置一变量;B.由设定的最高优先级组向最低优先级组逐级仲裁,直到仲裁器中任意一行和任意一列都有一个且仅有一个仲裁单元被选中或者仲裁到最低优先级组为止,得出一次仲裁结果;C.遍历所有仲裁单元,改变处于休眠态的仲裁单元变量的值,使其逐步接近初始值,且当处于休眠态的仲裁单元的变量恢复为初始值时,该仲裁单元被置为标准态;D.发送被选中的仲裁单元对应的虚拟输出队列中的信元,判断被选中的仲裁单元以及其所在行和列上仲裁单元的状态,且依据一判断原则,决定是否改变被选中仲裁单元的状态以及为该单元的变量赋予预定值。本方法解决了公平性问题。
文档编号H04Q3/64GK1870769SQ20051003492
公开日2006年11月29日 申请日期2005年5月26日 优先权日2005年5月26日
发明者涂晓东, 田永刚, 温立, 王凯 申请人:华为技术有限公司, 电子科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1