N选M仲裁方法及电路与流程

文档序号:39919786发布日期:2024-11-08 20:11阅读:33来源:国知局
N选M仲裁方法及电路与流程

本发明涉及芯片设计、片上网络、片上系统、和计算机体系结构领域,特别是在共享资源并行计算或者多处理器的系统中使用,此种方法可以使仲裁效率最大化,共享资源利用率最大化。


背景技术:

1、网络芯片和大型芯片(如gpu、tpu、apu等)的总线系统中数据传输的总线资源一直都是瓶颈。在这些芯片中有海量传递数据,存在大量模块之间的数据路由,也是数据交换最频繁的路径。通常通过增加物理线路和提高电路频率来提高数据带宽,这都要求高效仲裁效率和快速仲裁电路,确保每个请求端口公平高效共享资源。因此,仲裁算法和仲裁电路设计会成为系统的瓶颈,极大影响系统的性能。

2、常见的仲裁算法有rr(round-robin)算法、fp(fixed priority)算法等。

3、芯片设计中经常根据多个请求端的总线带宽来设计需要的总线资源数量。模型可以抽象为,有n个请求端口,m个响应资源,需要每个仲裁周期在n个请求端口仲裁出最多m个结果,n>m。其中n个请求端之间相互独立且无差异,m个响应端也是相互独立且无差异。

4、目前的实现方法一种是基于rr或者fp算法,经过m轮迭代仲裁选择出结果。这种顺序迭代的仲裁方法会让仲裁电路变得非常慢,尤其是当m越大迭代计算时间也就越长,这会严重影响总线频率而限制带宽。还有一种做法是分级总线仲裁技术,将请求端口n进行分组,每个小组可以再分更小的组,以此类推,整个仲裁被分成多级的树状仲裁结构。这种方法每个底层小组并行独立仲裁,每个总裁单元数量也减少,一次完整的仲裁花费的时间比顺序迭代的仲裁时间短的多,可以有效提升频率,但是缺点是n个请求端的请求分布是随机的并不均匀,影响仲裁效率而限制带宽。


技术实现思路

1、鉴于以上问题,本申请设计了一种请求索引编码仲裁算法,解决了一般分段请求分布不均匀的问题,满足最大仲裁效率,因为仅需要计数器、比较器和移位寄存器,大大缩短了仲裁周期,提高了电路频率。

2、技术方案:

3、本发明首先公开了一种n选m仲裁方法,从n个请求端口中仲裁出m个结果,n为正整数,m为小于n的正整数,它包括以下步骤:

4、s1、将n个请求端口编号,并且每个请求端口r都有一个权重优先级priority[r];

5、s2、每个请求端口r的请求是独立且随机的,用request_valid[r]表示;

6、s3、计算每个请求端口r的有效请求编码si[r];

7、s4、选中获胜请求端口:判断每个请求端口r的有效请求编码si[r],数值小于等于m且非0的索引编码端口即为选中获胜请求端口;

8、s5、更新下一个仲裁周期各请求端口优先级;

9、s6、重复步骤s2-s5,进行下一个仲裁周期的仲裁。

10、优选的,s1中,初始port_id_0优先级最高为n-1,之后的请求端口优先级依次递减。

11、优选的,s1中,按照roundrobin方法轮询优先级以确定每个请求端口的优先级。

12、优选的,s1中,采用优先级编排方法计算每个请求端口的优先级。

13、优选的,s3中,由最高优先级的请求端口开始,计算每个请求端口的有效请求编码。

14、优选的,s3中,对于任意端口r,其有效请求编码的计算方法为:

15、统计权重优先级大于等于本端口权重优先级的所有端口,计算上述各端口的有效请求数量和,作为端口r的有效请求索引编码si[r];

16、若端口r本身无request_valid[r],则端口r的有效请求索引编码si[r]=0。

17、优选的,s5中,以本轮仲裁选中结果中优先级最低请求端口的下一个请求端口为下一个仲裁周期的最高优先级,其他请求端口优先级依次递减。

18、优选的,s4中,获胜请求端口被选中后,m个获胜请求端口依照映射函数f(m)进行分配至m索引编号。

19、本发明还公开了一种n选m仲裁电路,从n个请求端口中仲裁出m个结果,n为正整数,m为小于n的正整数,各个请求端口对应分配一个唯一权重优先级;每个请求端口对应设置一个统计加法器;每个端口的权重优先级在每个仲裁周期更新一次;每个请求端口将有效请求发给低于本端口的统计加法器,依次连接;每个统计加法器输出统计结果有效索引编码si[r],并送到对应的比较器compare模块,和选中目标值m作比较,小于si[r]<=m的即为获胜选中者。

20、优选的,设置循环移位寄存器,以实现每个端口的权重优先级在每个仲裁周期更新一次。

21、本发明还公开了另一种n选m仲裁电路,从n个请求端口中仲裁出m个结果,n为正整数,m为小于n的正整数,各个请求端口对应分配一个唯一权重优先级;每个请求端口对应设置一个统计加法器;每个端口的权重优先级在每个仲裁周期更新一次;权重优先级高的请求端口的有效索引编码si[r-1]送入下一权重优先级的请求端口si[r]所对应的统计加法器中,并与该统计加法器所对应的请求端口的有效请求数进行统计求和,即获得该请求端口的有效索si[r];每个统计加法器输出统计结果有效索引编码si[r],并送到对应的比较器compare模块,和选中目标值m作比较,小于si[r]<=m的即为获胜选中者。

22、优选的,设置循环移位寄存器,以实现每个端口的权重优先级在每个仲裁周期更新一次。

23、本发明公开了第三种n选m仲裁电路,从n个请求端口中仲裁出m个结果,n为正整数,m为小于n的正整数,每个请求端口有一个优先级权重更新模块priorit_nxt,用于更新每个端口优先级权重值priority[r];在比较器compare模块中通过比较本端口优先级权重值priority[r]和其他每个端口的优先权重值priority[n],每个端口都输出一组mark_r_[n],分别将个分组向量值送到各端口对应的s_*的权重计数器counter模块;每个端口权重计数器统计自己的mark_*[r]得出本端口的有效请求统计编码s_*,并送到对应的比较器compare模块,和选中目标值m作比较,小于si[r]<=m的即为获胜选中者。

24、本发明的有益效果

25、本申请提出了一种n选m仲裁方法,一个仲裁周期内能够在多个请求端口中仲裁出多个结果的仲裁器,通过统计有效请求编码仲裁方式使得仲裁周期更短,更能提升仲裁频率和仲裁效率,从而提升总线带宽和总线资源的利用率。易于实现高速电路,在我们芯片上大量用于总线仲裁,有效仲裁率能达到100%,在请求端口n和选择结果m数量较大时这种方法的优势非常明显。



技术特征:

1.一种n选m仲裁方法,从n个请求端口中仲裁出m个结果,n为正整数,m为小于n的正整数,其特征在于它包括以下步骤:

2.根据权利要求1所述的方法,其特征在于s1中,初始port_id_0优先级最高为n-1,之后的请求端口优先级依次递减。

3.根据权利要求1所述的方法,其特征在于s1中,按照roundrobin方法轮询优先级以确定每个请求端口的优先级。

4.根据权利要求1所述的方法,其特征在于s1中,采用优先级编排方法计算每个请求端口的优先级。

5.根据权利要求1所述的方法,其特征在于s3中,由最高优先级的请求端口开始,计算每个请求端口的有效请求编码。

6.根据权利要求1所述的方法,其特征在于s3中,对于任意端口r,其有效请求编码的计算方法为:

7.根据权利要求1所述的方法,其特征在于s5中,以本轮仲裁选中结果中优先级最低请求端口的下一个请求端口为下一个仲裁周期的最高优先级,其他请求端口优先级依次递减。

8.根据权利要求1所述的方法,其特征在于,s4中,获胜请求端口被选中后,m个获胜请求端口依照映射函数f(m)进行分配至m索引编号。

9.一种n选m仲裁电路,从n个请求端口中仲裁出m个结果,n为正整数,m为小于n的正整数,其特征在于:各个请求端口对应分配一个唯一权重优先级;每个请求端口对应设置一个统计加法器;每个端口的权重优先级在每个仲裁周期更新一次;每个请求端口将有效请求发给低于本端口的统计加法器,依次连接;每个统计加法器输出统计结果有效索引编码si[r],并送到对应的比较器compare模块,和选中目标值m作比较,小于si[r]<=m的即为获胜选中者。

10.根据权利要求9所述的电路,其特征在于设置循环移位寄存器,以实现每个端口的权重优先级在每个仲裁周期更新一次。

11.一种n选m仲裁电路,从n个请求端口中仲裁出m个结果,n为正整数,m为小于n的正整数,其特征在于:各个请求端口对应分配一个唯一权重优先级;每个请求端口对应设置一个统计加法器;每个端口的权重优先级在每个仲裁周期更新一次;权重优先级高的请求端口的有效索引编码si[r-1]送入下一权重优先级的请求端口si[r]所对应的统计加法器中,并与该统计加法器所对应的请求端口的有效请求数进行统计求和,即获得该请求端口的有效索si[r];每个统计加法器输出统计结果有效索引编码si[r],并送到对应的比较器compare模块,和选中目标值m作比较,小于si[r]<=m的即为获胜选中者。

12.根据权利要求11所述的电路,其特征在于设置循环移位寄存器,以实现每个端口的权重优先级在每个仲裁周期更新一次。

13.一种n选m仲裁电路,从n个请求端口中仲裁出m个结果,n为正整数,m为小于n的正整数,其特征在于:每个请求端口有一个优先级权重更新模块priorit_nxt,用于更新每个端口优先级权重值priority[r];在比较器compare模块中通过比较本端口优先级权重值priority[r]和其他每个端口的优先权重值priority[n],每个端口都输出一组mark_r_[n],分别将个分组向量值送到各端口对应的s_*的权重计数器counter模块;每个端口权重计数器统计自己的mark_*[r]得出本端口的有效请求统计编码s_*,并送到对应的比较器compare模块,和选中目标值m作比较,小于si[r]<=m的即为获胜选中者。


技术总结
本发明公开了一种N选M仲裁方法,该方法属于芯片设计、片上网络、片上系统、和计算机体系总线结构。采用该方法在一个仲裁周期内能够在多个请求端口中仲裁出多个结果的仲裁器,通过统计有效请求编码仲裁方式使得仲裁周期更短,更能提升仲裁频率和仲裁效率,从而提升总线带宽和总线资源的利用率。易于实现高速电路,在我们芯片上大量用于总线仲裁,有效仲裁率能达到100%,在请求端口N和选择结果M数量较大时这种方法的优势非常明显。

技术研发人员:王东辉
受保护的技术使用者:海飞科(南京)信息技术有限公司
技术研发日:
技术公布日:2024/11/7
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1