路由器输入仲裁方法技术

技术编号:39658927 阅读:9 留言:0更新日期:2023-12-09 11:28
本发明专利技术公开了路由器输入仲裁方法

【技术实现步骤摘要】
路由器输入仲裁方法、装置、设备及存储介质


[0001]本专利技术涉及复杂系统集成电路设计的
,特别是涉及路由器输入仲裁方法

装置

设备及存储介质


技术介绍

[0002]片上系统
SoC
的发展趋势为片上多核
MPSoC(Multi Processor System on Chip)
,然而传统的基于总线的集中式互联架构很难满足如今的需求,在片上网络
NoC
中,路由器节点之间通过局部互连线连接,每一个路由器节点通过总线接口与本地
IP
核相连接,源路由器节点和目的路由器节点之间的数据通讯需要经过多个跳步实现,而每个路由器节点对数据路由的选择以及效率决定了关键路径延迟,影响每一跳以及整个网络的延迟,所以路由器节点的微架构非常重要,而其中的路由选择以及输入仲裁这一部分的方法不同也会影响整体路由器节点的效率,从而影响整个网络的吞吐量

[0003]目前路由选择以及输入分配是根据数据包头的路由源节点和目的节点来选择下一跳路由节点

每个输入口可能有多个缓冲区代表不同的虚拟通道,因此在路由选择和输入分配时需要处理多个缓冲区的数据包头

常见做法是将不同缓冲区的不同路由节点请求存储并发送至输出仲裁单元,由后者选择真正输出的数据包

然而,现有技术中将所有路由请求存储下来会导致输出仲裁的处理困难,同时也会降低整个路由节点和网络的性能
>。
此外,输出口的处理顺序一般是固定的,当多个路由节点输出的数据大概率是同一方向时,可能会导致拥塞,进而降低网络性能


技术实现思路

[0004]本专利技术要解决的技术问题是:提供路由器输入仲裁方法

装置

设备及存储介质,能提升网络性能,减少网络拥堵的情况,
[0005]为了解决上述技术问题,本专利技术提供了路由器输入仲裁方法,包括:
[0006]当检测到任一虚拟通道缓冲区中存在数据包输入时,获取所述数据包的包头数据,基于所述包头数据,计算所述数据包的下一跳路由节点及下一跳路由节点数量;
[0007]在确定所述下一跳路由节点数量大于1时,从多个下一跳路由节点中随机选取一个下一跳路由节点,得到虚拟通道缓冲区对应的第一下一跳路由节点请求,并将所述第一下一跳路由节点请求输入到仲裁单元中;
[0008]在确定所述仲裁单元中存在多个虚拟通道缓冲区对应的第一下一跳路由节点请求时,基于预设的缓冲区优先级,对所有第一下一跳路由节点请求进行仲裁,得到下一跳路由节点请求仲裁结果

[0009]在一种可能的实现方式中,当检测到任一虚拟通道缓冲区中存在数据包输入前,还包括:
[0010]获取数据包的虚拟通道信息,基于所述虚拟通道信息,确定所述数据包对应的目标虚拟通道缓冲区;
[0011]基于路由节点的物理输入口将所述数据包输入到所述目标虚拟通道缓冲区中

[0012]本专利技术提供的路由器输入仲裁方法,还包括:在确定所述下一跳路由节点数量等于1时,将所述下一跳路由节点作为虚拟通道缓冲区对应的第一下一跳路由节点请求,并将所述第一下一跳路由节点请求输入到仲裁单元中

[0013]在一种可能的实现方式中,获取所述数据包的包头数据,基于所述包头数据,计算所述数据包的下一跳路由节点及下一跳路由节点数量,具体包括:
[0014]获取所述数据包的包头数据,其中,所述包头数据包括源路由节点和目标路由节点;
[0015]基于所述源路由节点和所述目标路由节点,计算所述数据包的下一跳路由节点;
[0016]并对计算得到的所述下一跳路由节点进行数量统计,得到下一跳路由节点数量

[0017]在一种可能的实现方式中,所述预设的缓冲区优先级,具体包括:
[0018]对每个虚拟通道缓冲区设置唯一对应的优先级,基于所述优先级的大小对所述每个虚拟通道缓冲区进行排序,得到虚拟通道缓冲区序列;
[0019]基于所述虚拟通道缓冲区序列,得到缓冲区优先级

[0020]在一种可能的实现方式中,基于预设的缓冲区优先级,对所有第一下一跳路由节点请求进行仲裁,得到下一跳路由节点请求仲裁结果,具体包括:
[0021]获取所有第一下一跳路由节点请求对应的虚拟通道缓冲区,基于所述缓冲区优先级,确定所述所有第一下一跳路由节点请求对应的第一优先级;
[0022]选取第一优先级最大值对应的第一下一跳路由节点请求作为下一跳路由节点请求仲裁结果

[0023]本专利技术还提供了路由器输入仲裁装置,包括:下一跳路由节点计算模块

随机模块和优先级仲裁模块;
[0024]其中,所述下一跳路由节点计算模块,用于当检测到任一虚拟通道缓冲区中存在数据包输入时,获取所述数据包的包头数据,基于所述包头数据,计算所述数据包的下一跳路由节点及下一跳路由节点数量;
[0025]所述随机模块,用于在确定所述下一跳路由节点数量大于1时,从多个下一跳路由节点中随机选取一个下一跳路由节点,得到虚拟通道缓冲区对应的第一下一跳路由节点请求,并将所述第一下一跳路由节点请求输入到仲裁单元中;
[0026]所述优先级仲裁模块,用于在确定所述仲裁单元中存在多个虚拟通道缓冲区对应的第一下一跳路由节点请求时,基于预设的缓冲区优先级,对所有第一下一跳路由节点请求进行仲裁,得到下一跳路由节点请求仲裁结果

[0027]本专利技术提供的路由器输入仲裁装置,还包括:数据包输入模块;
[0028]其中,所述数据包输入模块,用于获取数据包的虚拟通道信息,基于所述虚拟通道信息,确定所述数据包对应的目标虚拟通道缓冲区;基于路由节点的物理输入口将所述数据包输入到所述目标虚拟通道缓冲区中

[0029]在一种可能的实现方式中,所述随机模块,还用于在确定所述下一跳路由节点数量等于1时,将所述下一跳路由节点作为虚拟通道缓冲区对应的第一下一跳路由节点请求,并将所述第一下一跳路由节点请求输入到仲裁单元中

[0030]在一种可能的实现方式中,所述下一跳路由节点计算模块,用于获取所述数据包
的包头数据,基于所述包头数据,计算所述数据包的下一跳路由节点及下一跳路由节点数量,具体包括:
[0031]获取所述数据包的包头数据,其中,所述包头数据包括源路由节点和目标路由节点;
[0032]基于所述源路由节点和所述目标路由节点,计算所述数据包的下一跳路由节点;
[0033]并对计算得到的所述下一跳路由节点进行数量统计,得到下一跳路由节点数量

[0034]在一种可能的实现方式中,所述预设的缓冲区优先级,具体包括:
[0035]对每个虚拟通道缓冲区设置唯一对应的优先级,基于所述优先级的大小本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.
路由器输入仲裁方法,其特征在于,包括:当检测到任一虚拟通道缓冲区中存在数据包输入时,获取所述数据包的包头数据,基于所述包头数据,计算所述数据包的下一跳路由节点及下一跳路由节点数量;在确定所述下一跳路由节点数量大于1时,从多个下一跳路由节点中随机选取一个下一跳路由节点,得到虚拟通道缓冲区对应的第一下一跳路由节点请求,并将所述第一下一跳路由节点请求输入到仲裁单元中;在确定所述仲裁单元中存在多个虚拟通道缓冲区对应的第一下一跳路由节点请求时,基于预设的缓冲区优先级,对所有第一下一跳路由节点请求进行仲裁,得到下一跳路由节点请求仲裁结果
。2.
如权利要求1所述的路由器输入仲裁方法,其特征在于,当检测到任一虚拟通道缓冲区中存在数据包输入前,还包括:获取数据包的虚拟通道信息,基于所述虚拟通道信息,确定所述数据包对应的目标虚拟通道缓冲区;基于路由节点的物理输入口将所述数据包输入到所述目标虚拟通道缓冲区中
。3.
如权利要求1所述的路由器输入仲裁方法,其特征在于,还包括:在确定所述下一跳路由节点数量等于1时,将所述下一跳路由节点作为虚拟通道缓冲区对应的第一下一跳路由节点请求,并将所述第一下一跳路由节点请求输入到仲裁单元中
。4.
如权利要求1所述的路由器输入仲裁方法,其特征在于,获取所述数据包的包头数据,基于所述包头数据,计算所述数据包的下一跳路由节点及下一跳路由节点数量,具体包括:获取所述数据包的包头数据,其中,所述包头数据包括源路由节点和目标路由节点;基于所述源路由节点和所述目标路由节点,计算所述数据包的下一跳路由节点;并对计算得到的所述下一跳路由节点进行数量统计,得到下一跳路由节点数量
。5.
如权利要求1所述的路由器输入仲裁方法,其特征在于,所述预设的缓冲区优先级,具体包括:对每个虚拟通道缓冲区设置唯一对应的优先级,基于所述优先级的大小对所述每个虚拟通道缓冲区进行排序,得到虚拟通道缓冲区序列;基于所述虚拟通道缓冲区序列,得到缓冲区优先级
。6.
如权利要求1所述的路由器输入仲裁方法,其特征在于...

【专利技术属性】
技术研发人员:马成森边立剑
申请(专利权)人:上海安路信息科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1