一种公平的总线仲裁方法及仲裁装置的制作方法

文档序号:7924154阅读:322来源:国知局
专利名称:一种公平的总线仲裁方法及仲裁装置的制作方法
技术领域
本发明涉及通信系统中高速总线的仲裁方法,具体涉及通信系统中确定高速总线使用权的公平仲裁方法,更具体地说,涉及一种可在基站系统中确定高速总线使用权的公平仲裁方法,本发明还涉及基于所述方法的仲裁装置。
本发明上述技术问题这样解决,构造一种在基站系统中确定高速总线使用权的公平的总线仲裁方法,包括如下步骤对在同一时钟周期产生的总线申请进行采样;统计同一时钟周期内申请的个数,并按申请时间的先后对申请进行排序,赋予每个申请一个队列排序值,该数值代表申请到达的先后次序,对每个申请进行时间仲裁;对在同一时钟周期产生的每个总线申请产生一个权重;根据每个申请的权重,对在同一时钟周期同时到达的申请中,进行权重仲裁,选出权重最大的一个给予总线使用权。
在上述公平的总线仲裁方法中,所述对在同一时钟周期产生的总线申请进行采样步骤中还包括如下步骤用同一时钟对N+1个申请线进行采样,当检测到申请线上的下降沿时产生总线申请,在同一采样周期内到达的申请将同时产生总线申请。
在上述公平的总线仲裁方法中,所述统计同一时钟周期内申请的个数,并按申请时间的先后对申请进行排序步骤中还包括如下步骤;采用队列的方式进行排序,位于队列头的序列号定为1,为0表示没有出于序列当中;申请累加器,统计同一时钟周期内到达申请的个数,队列尾产生器初值为1,表示队列尾的初始的序列号为1;
队列尾产生器把当前的数值和请累加器的结果累加,表示新的申请到来,队列尾往后移;申请计数器在申请被允许后减1,表示一个申请从队列当中清除,队列尾往前移动1。
从队列尾产生器获得目前的队列尾序列号,将这个序列号作为该申请在队列的初始化序列号,也就是将该申请连接在队列的尾部,同时队列尾产生器加1,更新队列尾的位置,所有的申请根据采样的时间次序,排列在队列当中,其中队列头的序列号为1,存放的是最早到达的申请。
在上述公平的总线仲裁方法中,所述对在同一时钟周期产生的每个总线申请产生一个权重的步骤中还包括如下步骤统计总线的使用情况,将占用总线次数少的申请定为权重高,在N个从设备的系统中,最低的权重定为0,最高定为N。
在上述公平的总线仲裁方法中,所述选出权重最大的一个给予总线使用权中还包括如下步骤从输出的有效申请线当中,找出权重最大的申请,具体步骤如下申请表示为S0_REQ0…S0_REQN,权重表示为0…N,表示为二进制L(k)2k+L(k-1)2(k-1)+…+L(0)20首先检查有效申请的权重中,有没有L(k)为1的,如果有,则最大的权重必然大于2k,则把权重大于2k的申请进行第二级选择S20-S2N,否则,把权重小于2k的申请进行第二级选择;上述过程在逻辑实现上表示为S1_req(j)=(L(k)(j)+Πi=0NL(k)(i)‾)S0_req(j)]]>经过K=LOG2(N+1)级选择后,可选择出权重最大的申请;当一个申请获得总线授权后,把该申请的权重设为最低,权重比它小的申请的权重都加1,经过若干次的仲裁后对权重进行若干次调整,最后,N+1个申请仍然处于N+1个不同的权重中,权重与一次使用总线的时间间隔有关,时间越长,权重越大,权重越大,允许使用总线的几率就越高,保证各从设备使用总线的时间。
本发明另一问题这样解决,构造一种在基站系统中确定高速总线使用权的公平的总线仲裁装置,包括时间仲裁器、权重仲裁器及输出接口,所述时间仲裁器对在同一时钟周期产生的总线申请进行采样并按申请时间的先后对申请进行排序后输送至所述权重仲裁器中,所述权重仲裁器对每个申请产生一个权重并根据每个申请的权重,对在同一时钟周期同时到达的申请中,选出权重最大的一个给予总线使用权。
在上述公平的总线仲裁装置中,所述时间仲裁器包括在同一时钟内对N+1个申请线进行采样的采样器、与所述采样器连接用于统计同一时钟周期内到达申请个数的申请累加器、对所述累加器中的申请进行排序的队列尾产生器、对所述队列尾产生器进行管理的队列管理器,所述队列管理器从队列尾产生器获得目前的队列尾序列号,将该序列号作为该申请在队列的初始化序列号,排列在输出给权重仲裁器的队列中。
在上述公平的总线仲裁装置中,所述权重仲裁器包括串接连接的多级权重选择器,与所述多级权重选择器连接的权重产生器,所述权重产生器对每个申请产生一个权重,所述多级选择器根据每个申请的权重,从时间仲裁器输出的同时到达的申请中,经过多级权重选择器多级选择后,选出权重最大的一个给予总线使用权通过所述输出接口输出。
实施本发明提供的公平的总线仲裁方法及装置,具有如下优点采用两级仲裁,先经过时间仲裁器,保证先申请,先使用;再经过权重仲裁器,保证使用者占用总线的公平性;为实现时间的公平性,本方法采用申请队列方式,赋予每个申请一个队列排序值,该数值代表申请到达的先后次序。通过比较该数值,就可以实现先申请,先允许的仲裁原则。为了实现权重的公平性,本方法统计总线的历史使用情况,给使用次数低的申请赋予较高的权重,从而保证总线使用的公平性;仲裁结果由被授权的总线使用者标号(GNT NUM)和允许使用总线信号(GNT)组成。下挂总线的使用者根据仲裁结果决定是否享用总线。
申请累加器,统计同一时钟周期内到达申请的个数,队列尾产生器初值为1,表示队列尾的出始的序列号为1。队列尾产生器把当前的数值和请累加器的结果累加,表示新的申请到来,队列尾往后移。申请计数器在申请被允许后减1,表示一个申请从队列当中清除,队列尾往前移动1。举例说明,假设某一时刻队列尾产生器的值为P,此时申请脉冲SRQ(I)到来,队列管理器(I)就从队列尾产生器获得目前的队列尾序列号P,将P作为该申请在队列的初始化序列号,也就是将该申请连接在队列的尾部,同时队列尾产生器D加1,更新队列尾的位置。这样,所有的申请就根据采样的时间次序,排列在队列当中,其中队列的头序列号为1,存放的是最早到达的申请。
新申请从队列尾产生器D获得处于队列尾的初始化序列号,队列管理器(B0-BN)根据反馈信息总线仲裁应答信号(ACK)和被授权的总线使用者标号(GNT_NUM),更新各申请在队列中的位置。其中ACK是仲裁结果已经被从设备接收,可以进行下一个申请的仲裁的指示标记。GNT_NUM为仲裁输出的允许适用总线的申请的标号。队列管理器更新序列号的过程如下在接收到ACK信号,表明标号为GNT_NUM的从设备已经接收到仲裁结果,因此它的申请的序列号清为0,即将该申请清除出队列。对于其它标号不等于GNT_NUM且处于队列头的申请(即序列号为1),维持为1。其它非队列头的申请(序列号大于1),序列号减1,即队列中的申请往前移。队列管理器同时还将处于队列头的申请送往权重仲裁器。
权重仲裁器的输入为时间仲裁器的输出,其输出包括授权的总线使用者标号(GNT_NUM)、总线仲裁结果输出指示(GNT)。其中GNT_NUM和GNT作为最终的仲裁结果输出,把总线使用权交给标号为GNT_NUM的总线申请从设备。


图1所示,多级权重选择器S,权重产生器,共同组成了权重仲裁器。权重产生器,公平的为每个申请产生一个权重,选择器根据申请的权重,从时间仲裁器输出的同时到达的申请中,选出权重最大的一个给予总线使用权。
权重产生器工作原理它实际上是一个总线使用历史统计器,在N个从设备的系统中,最低的权重为0,最高为N。算法统计总线的历史使用情况,让占用总线次数少的申请权重高。
算法如下给标号I的申请赋权重初值I,如图2a所示,当一个申请(标号为I)获得总线授权后,把该申请的权重设为最低,权重比它小的申请的权重都加1,如图2b。经过若干次的仲裁后,权重产生器用图2b的方式对权重进行了若干次调整,最后,N+1个申请仍然处于N+1个不同的权重中,不过此时各个申请对应的权重已经没有初始化的那样有规律。但是各申请的权重在统计上,权重与一次使用总线的时间间隔有关,时间越长,权重越大。权重越大,允许使用总线的几率就越高,这就保证各从设备的使用总线的时间。
选择器S的实现的功能为采用对分选择的算法,从时间仲裁器输出的有效输出申请线当中,找出权重最大的申请。具体算法如下申请S0_REQ0…S0_REQN,权重0…N,表示为二进制L(k)2k+L(k-1)2(k-1)+…+L(0)20。首先检查有效申请的权重中,有没有L(k)为1的,如果有,则最大的权重必然大于2k,则把权重大于2k的申请送往第二级选择器S20-S2N,否则,把权重小于2k的申请送往第二级选择器。上述过程在逻辑实现上可以表示为可用布尔表达式表示为S1_req(j)=(L(k)(j)+Πi=0NL(k)(i)‾)S0_req(j).]]>如此经过多级选择,最终选出权重最大的申请。采用这种方式要经过K=LOG2(N+1)级选择器就能选择出权重最大的申请。当然,选择器也可以采用冒泡法实现,但比较次数随着N的增加而增多,硬件实现上延时比较大。
权重仲裁器根据各申请的权重,从高到低每次输出一个总线使用授权。由输出接口器检测到从设备的应答信号“忙”(BUSY),发现BUSY信号则将输出ACK信号,和GNT_NUM一起,控制时间仲裁器及权重仲裁器进行下一个申请的仲裁,新的仲裁结果受从设备的应答BUSY信号控制,等使用总线的从设备释放总线后才输出。这样,两个仲裁器在总线使用期间就可以进行下一个仲裁过程,使用结束立即可以输出结果,减少仲裁的时延,从而提高总线的利用效率。
本发明方法可采用VHDL语言编写,装置可采用ALTERA公司的FLEX10K50来实现。
权利要求
1.一种公平的总线仲裁方法,其特征在于,包括如下步骤对在同一时钟周期产生的总线申请进行采样;统计同一时钟周期内申请的个数,并按申请时间的先后对申请进行排序,赋予每个申请一个队列排序值,该数值代表申请到达的先后次序,对每个申请进行时间仲裁;对在同一时钟周期产生的每个总线申请产生一个权重;根据每个申请的权重,对在同一时钟周期同时到达的申请中,进行权重仲裁,选出权重最大的一个给予总线使用权。
2.根据权利要求1所述公平的总线仲裁方法,其特征在于,所述对在同一时钟周期产生的总线申请进行采样步骤中,还包括如下步骤用同一时钟对N+1个申请线进行采样,当检测到申请线上的下降沿时产生总线申请,在同一采样周期内到达的申请将同时产生总线申请。
3.根据权利要求1所述公平的总线仲裁方法,其特征在于,所述统计同一时钟周期内申请的个数,并按申请时间的先后对申请进行排序步骤中,还包括如下步骤;采用队列的方式进行排序,位于队列头的序列号定为1,为0表示没有出于序列当中;申请累加器,统计同一时钟周期内到达申请的个数,队列尾产生器初值为1,表示队列尾的初始的序列号为1;队列尾产生器把当前的数值和请累加器的结果累加,表示新的申请到来,队列尾往后移;申请计数器在申请被允许后减1,表示一个申请从队列当中清除,队列尾往前移动1;从队列尾产生器获得目前的队列尾序列号,将这个序列号作为该申请在队列的初始化序列号,也就是将该申请连接在队列的尾部,同时队列尾产生器加1,更新队列尾的位置,所有的申请根据采样的时间次序,排列在队列当中,其中队列头的序列号为1,存放的是最早到达的申请。
4.根据权利要求1所述公平的总线仲裁方法,其特征在于,所述对在同一时钟周期产生的每个总线申请产生一个权重的步骤中还包括如下步骤统计总线的使用情况,将占用总线次数少的申请定为权重高,在N个从设备的系统中,最低的权重定为0,最高定为N。
5.根据权利要求1所述公平的总线仲裁方法,其特征在于,所述选出权重最大的一个给予总线使用权中还包括如下步骤从输出的有效申请线当中,找出权重最大的申请,具体步骤如下申请表示为S0_REQ0…S0_REQN,权重表示为0…N,表示为二进制L(k)2k+L(k-1)2(k-1)+…+L(0)20;首先检查有效申请的权重中,有没有L(k)为1的,如果有,则最大的权重必然大于2k,则把权重大于2k的申请进行第二级选择S20-S2N,否则,把权重小于2k的申请进行第二级选择;上述过程在逻辑实现上表示为S1_req(j)=(L(k)(j)+Πi=0NL(k)(i)‾)S0_req(j)]]>经过K=LOG2(N+1)级选择后,可选择出权重最大的申请;当一个申请获得总线授权后,把该申请的权重设为最低,权重比它小的申请的权重都加1,经过若干次的仲裁后对权重进行若干次调整,最后,N+1个申请仍然处于N+1个不同的权重中,权重与一次使用总线的时间间隔有关,时间越长,权重越大,权重越大,允许使用总线的几率就越高,保证各从设备使用总线的时间。
6.一种公平的总线仲裁装置,其特征在于,包括时间仲裁器、权重仲裁器及输出接口,所述时间仲裁器对在同一时钟周期产生的总线申请进行采样并按申请时间的先后对申请进行排序后输送至所述权重仲裁器中,所述权重仲裁器对每个申请产生一个权重并根据每个申请的权重,对在同一时钟周期同时到达的申请中,选出权重最大的一个给予总线使用权。
7.根据权利要求6所述公平的总线仲裁装置,其特征在于,所述时间仲裁器包括在同一时钟内对N+1个申请线进行采样的采样器、与所述采样器连接用于统计同一时钟周期内到达申请个数的申请累加器、对所述累加器中的申请进行排序的队列尾产生器、对所述队列尾产生器进行管理的队列管理器,所述队列管理器从队列尾产生器获得目前的队列尾序列号,将该序列号作为该申请在队列的初始化序列号,排列在输出给权重仲裁器的队列中。
8.根据权利要求6所述公平的总线仲裁装置,其特征在于,所述权重仲裁器包括串接连接的多级权重选择器,与所述多级权重选择器连接的权重产生器,所述权重产生器对每个申请产生一个权重,所述多级选择器根据每个申请的权重,从时间仲裁器输出的同时到达的申请中,经过多级权重选择器多级选择后,选出权重最大的一个给予总线使用权通过所述输出接口输出。
全文摘要
本发明涉及一种确定高速总线使用权的公平的仲裁方法及装置,该方法包括如下步骤对在同一时钟周期产生的总线申请进行采样;统计同一时钟周期内申请的个数,并按申请时间的先后对申请进行排序,赋予每个申请一个队列排序值,该数值代表申请到达的先后次序,对每个申请进行时间仲裁;对在同一时钟周期产生的每个总线申请产生一个权重;根据每个申请的权重,对在同一时钟周期同时到达的申请中,进行权重仲裁,选出权重最大的一个给予总线使用权。而装置包括依序连接的时间仲裁器、权重仲裁器及输出接口;先经过时间仲裁器,保证先申请,先使用;再经过权重仲裁器,可保证使用者占用总线的公平性,从而实现高速总线使用权的公平仲裁。
文档编号H04L12/40GK1479542SQ02136770
公开日2004年3月3日 申请日期2002年8月30日 优先权日2002年8月30日
发明者陈永健, 段晓伟, 舒峰 申请人:深圳市中兴通讯股份有限公司上海第二研究所, 深圳市中兴通讯股份有限公司上海第二
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1