路由方法、路由节点、路由装置和计算机可读存储介质制造方法及图纸

技术编号:36251622 阅读:23 留言:0更新日期:2023-01-07 09:45
一种用于片上网络中的对象路由节点的路由方法、路由节点、路由设备和计算机可读存储介质。该路由方法包括:接收第一旁路请求,第一旁路请求包括仲裁信息;根据仲裁信息,判断是否根据第一旁路请求在对象路由节点建立旁路通路;根据是否在所述对象路由节点建立所述旁路通路的判断结果,对所述仲裁信息进行更新,并且向下一路由节点提供更新后的仲裁信息;以及响应于在对象路由节点建立旁路通路,在建立旁路通路之后,响应于接收对应于第一旁路请求的路由数据包,通过旁路通路向下一路由节点提供路由数据包。该方法能够提高旁路通路的灵活性,有效地简化了电路逻辑并减小了硬件开销。有效地简化了电路逻辑并减小了硬件开销。有效地简化了电路逻辑并减小了硬件开销。

【技术实现步骤摘要】
路由方法、路由节点、路由装置和计算机可读存储介质


[0001]本公开的实施例涉及一种路由方法、路由节点、路由装置和计算机可读存储介质。

技术介绍

[0002]随着处理器芯片核数的不断增多,片上系统(System

On

Chip,SoC)已呈现出多核到众核的发展趋势。最近,业界已开发出内含1000核的处理器芯片。在如此大规模的众核系统中,全局互连可导致严重的片上同步出错、不可预知的通信时延以及巨大的功耗开销。为了缓解这些矛盾,片上网络(Network

on

Chip,NoC)的概念被提出,片上网络可以替代传统的总线互连或点到点互连,片上网络成为一种新的片上通信架构。

技术实现思路

[0003]本公开至少一个实施例提供一种用于片上网络中的对象路由节点的路由方法,包括:接收第一旁路请求,第一旁路请求包括仲裁信息;根据仲裁信息,判断是否根据第一旁路请求在对象路由节点建立旁路通路;根据是否在对象路由节点建立旁路通路的判断结果,对仲裁信息进行更新,并且向下一路由节点提供更新后的仲裁信息;以及响应于在对象路由节点建立旁路通路,在建立旁路通路之后,响应于接收对应于第一旁路请求的路由数据包,通过旁路通路向下一路由节点提供路由数据包。
[0004]例如,在本公开的至少一个实施例提供的路由方法中,仲裁信息包括剩余旁路跳数,根据仲裁信息,判断是否根据第一旁路请求在对象路由节点建立旁路通路,包括:判断剩余旁路跳数是否为0;响应于剩余旁路跳数不为 0,从对象路由节点的多个输出端口选择目标输出端口;以及根据目标输出端口的工作状态,判断是否根据第一旁路请求在对象路由节点建立旁路通路。
[0005]例如,在本公开的至少一个实施例提供的路由方法中,仲裁信息还包括数据包头,响应于剩余旁路跳数不为0,从对象路由节点的多个输出端口选择目标输出端口,包括:根据数据包头,从对象路由节点的多个输出端口选择目标输出端口。
[0006]例如,在本公开的至少一个实施例提供的路由方法中,数据包头包括第一方向跳数和第二方向跳数,第一方向跳数指示数据包头从对象路由节点到达目标路由节点在第一方向上经过的路由节点的个数,第二方向跳数指示数据包头从对象路由节点到达目标路由节点在第二方向上经过的路由节点的个数,根据数据包头,从对象路由节点的多个输出端口选择目标输出端口,包括:根据对象路由节点中用于接收第一旁路请求的输入端口、第一方向跳数和第二方向跳数,确定数据包头的传输方向;以及根据传输方向,从对象路由节点的多个输出端口选择目标输出端口。
[0007]例如,在本公开的至少一个实施例提供的路由方法中,响应于剩余旁路跳数不为0,从对象路由节点的多个输出端口选择目标输出端口,包括:查询对象路由节点中存储的路由表,从对象路由节点的多个输出端口选择目标输出端口。
[0008]例如,在本公开的至少一个实施例提供的路由方法中,根据目标输出端口的工作
状态,判断是否根据第一旁路请求在对象路由节点建立旁路通路,包括:响应于目标输出端口的工作状态为空闲,判断是否存在请求利用目标输出端口建立另一旁路通路的第二旁路请求;响应于存在请求利用目标输出端口建立另一旁路通路的第二旁路请求,判断第一旁路请求和第二旁路请求的优先级;以及响应于第一旁路请求的优先级高于第二旁路请求的优先级,建立旁路通路。
[0009]例如,在本公开的至少一个实施例提供的路由方法中,根据目标输出端口的工作状态,判断是否根据第一旁路请求在对象路由节点建立旁路通路,还包括:响应于第一旁路请求的优先级低于第二旁路请求的优先级,判断第二旁路请求的剩余旁路跳数是否为0;以及响应于第二旁路请求的剩余旁路跳数为0,根据第一旁路请求在对象路由节点建立旁路通路。
[0010]例如,在本公开的至少一个实施例提供的路由方法中,在对象路由节点沿直线传输的旁路请求的优先级高于在对象路由节点发生方向改变的旁路请求的优先级。
[0011]例如,在本公开的至少一个实施例提供的路由方法中,根据目标输出端口的工作状态,判断是否根据第一旁路请求在对象路由节点建立旁路通路,还包括:响应于目标输出端口的工作状态为被占用,不在对象路由节点建立旁路通路。
[0012]例如,在本公开的至少一个实施例提供的路由方法中,根据仲裁信息,判断是否根据第一旁路请求在对象路由节点建立旁路通路,还包括:响应于剩余旁路跳数为0,不在对象路由节点建立旁路通路。
[0013]例如,在本公开的至少一个实施例提供的路由方法中,还包括:响应于不在对象路由节点建立旁路通路,将数据包头和路由数据包分别存储到缓存队列中,以在缓存队列中等待转发至下一路由节点。
[0014]例如,在本公开的至少一个实施例提供的路由方法中,根据是否在对象路由节点建立旁路通路的判断结果,对仲裁信息进行更新,并且向下一路由节点提供更新后的仲裁信息,包括:响应于判断结果为在对象路由节点建立旁路通路,将剩余旁路跳数与1的差值作为更新后的剩余旁路跳数,并且向下一路由节点提供更新后的剩余旁路跳数;以及响应于判断结果为不在对象路由节点建立旁路通路,将剩余旁路跳数恢复为初始旁路跳数,并且向下一路由节点提供初始旁路跳数。
[0015]例如,在本公开的至少一个实施例提供的路由方法中,初始旁路跳数包括多个二进制位,每个二进制位均为1,剩余旁路跳数与1的差值通过剩余旁路跳数右移一位得到。
[0016]例如,在本公开的至少一个实施例提供的路由方法中,判断剩余旁路跳数是否为0,包括:获取剩余旁路跳数的最低位;以及响应于剩余旁路跳数的最低位为0,则剩余旁路跳数为0。
[0017]本公开至少一个实施例提供一种片上网络中的对象路由节点,包括:旁路请求接收单元,配置为接收第一旁路请求,第一旁路请求包括仲裁信息;仲裁单元,配置为根据仲裁信息,判断是否根据第一旁路请求在对象路由节点建立旁路通路;仲裁信息更新单元,配置为根据是否在对象路由节点建立旁路通路的判断结果,对仲裁信息进行更新,并且向下一路由节点提供更新后的仲裁信息;以及数据传输单元,配置为响应于在对象路由节点建立旁路通路,在建立旁路通路之后,响应于接收对应于第一旁路请求的路由数据包,通过旁路通路向下一路由节点提供路由数据包。
[0018]例如,在本公开的至少一个实施例提供的对象路由节点中,仲裁信息包括剩余旁路跳数和数据包头;旁路请求接收单元包括:剩余跳数接收子单元,配置为接收剩余旁路跳数;以及数据包头获取子单元,配置为获取数据包头;仲裁单元配置为:判断剩余旁路跳数是否为0;响应于剩余旁路跳数不为0,从对象路由节点的多个输出端口选择目标输出端口;以及根据目标输出端口的工作状态,判断是否根据第一旁路请求在对象路由节点建立旁路通路。
[0019]例如,在本公开的至少一个实施例提供的对象路由节点中,还包括:数据包头寄存器和第一多路选择器,数据包头寄存器配置为响应于不在对象路由节点建立旁路通路,存储仲裁单元提供的数据包头,并且向第一多路本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于片上网络中的对象路由节点的路由方法,包括:接收第一旁路请求,其中,所述第一旁路请求包括仲裁信息;根据所述仲裁信息,判断是否根据所述第一旁路请求在所述对象路由节点建立旁路通路;根据是否在所述对象路由节点建立所述旁路通路的判断结果,对所述仲裁信息进行更新,并且向下一路由节点提供更新后的仲裁信息;以及响应于在所述对象路由节点建立所述旁路通路,在建立所述旁路通路之后,响应于接收对应于所述第一旁路请求的路由数据包,通过所述旁路通路向所述下一路由节点提供所述路由数据包。2.根据权利要求1所述的路由方法,其中,所述仲裁信息包括剩余旁路跳数,根据所述仲裁信息,判断是否根据所述第一旁路请求在所述对象路由节点建立所述旁路通路,包括:判断所述剩余旁路跳数是否为0;响应于所述剩余旁路跳数不为0,从所述对象路由节点的多个输出端口选择目标输出端口;以及根据所述目标输出端口的工作状态,判断是否根据所述第一旁路请求在所述对象路由节点建立所述旁路通路。3.根据权利要求2所述的路由方法,其中,所述仲裁信息还包括数据包头,响应于所述剩余旁路跳数不为0,从所述对象路由节点的多个输出端口选择目标输出端口,包括:根据所述数据包头,从所述对象路由节点的所述多个输出端口选择所述目标输出端口。4.根据权利要求3所述的路由方法,其中,所述数据包头包括第一方向跳数和第二方向跳数,所述第一方向跳数指示所述数据包头从所述对象路由节点到达目标路由节点在第一方向上经过的路由节点的个数,所述第二方向跳数指示所述数据包头从所述对象路由节点到达目标路由节点在第二方向上经过的路由节点的个数,根据所述数据包头,从所述对象路由节点的所述多个输出端口选择所述目标输出端口,包括:根据所述对象路由节点中用于接收所述第一旁路请求的输入端口、所述第一方向跳数和第二方向跳数,确定所述数据包头的传输方向;以及根据所述传输方向,从所述对象路由节点的所述多个输出端口选择所述目标输出端口。5.根据权利要求2所述的路由方法,其中,响应于所述剩余旁路跳数不为0,从所述对象路由节点的多个输出端口选择目标输出端口,包括:查询所述对象路由节点中存储的路由表,从所述对象路由节点的所述多个输出端口选择所述目标输出端口。6.根据权利要求2所述的路由方法,其中,根据所述目标输出端口的工作状态,判断是否根据所述第一旁路请求在所述对象路由节点建立所述旁路通路,包括:响应于所述目标输出端口的工作状态为空闲,判断是否存在请求利用所述目标输出端
口建立另一旁路通路的第二旁路请求;响应于存在请求利用所述目标输出端口建立另一旁路通路的第二旁路请求,判断所述第一旁路请求和所述第二旁路请求的优先级;以及响应于所述第一旁路请求的优先级高于所述第二旁路请求的优先级,建立所述旁路通路。7.根据权利要求6所述的路由方法,其中,根据所述目标输出端口的工作状态,判断是否根据所述第一旁路请求在所述对象路由节点建立所述旁路通路,还包括:响应于所述第一旁路请求的优先级低于所述第二旁路请求的优先级,判断所述第二旁路请求的剩余旁路跳数是否为0;以及响应于所述第二旁路请求的剩余旁路跳数为0,根据所述第一旁路请求在所述对象路由节点建立所述旁路通路。8.根据权利要求6所述的路由方法,其中,在所述对象路由节点沿直线传输的旁路请求的优先级高于在所述对象路由节点发生方向改变的旁路请求的优先级。9.根据权利要求6所述的路由方法,其中,根据所述目标输出端口的工作状态,判断是否根据所述第一旁路请求在所述对象路由节点建立所述旁路通路,还包括:响应于所述目标输出端口的工作状态为被占用,不在所述对象路由节点建立所述旁路通路。10.根据权利要求2所述的路由方法,其中,根据所述仲裁信息,判断是否根据所述第一旁路请求在所述对象路由节点建立所述旁路通路,还包括:响应于所述剩余旁路跳数为0,不在所述对象路由节点建立所述旁路通路。11.根据权利要求9或10所述的路由方法,还包括:响应于不在所述对象路由节点建立所述旁路通路,将所述数据包头和所述路由数据包分别存储到缓存队列中,以在所述缓存队列中等待转发至所述下一路由节点。12.根据权利要求1所述的路由方法,其中,根据是否在所述对象路由节点建立所述旁路通路的判断结果,对所述仲裁信息进行更新,并且向下一路由节点提供更新后的仲裁信息,包括:响应于所述判断结果为在所述对象路由节点建立所述旁路通路,将所述剩余旁路跳数与1的差值作为更新后的剩余旁路跳数,并且向所述下一路由节点提供所述更新后的剩余旁路跳数;以及响应于所述判断结果为不在所述对象路由节点建立所述旁路通路,将所述剩余旁路跳数恢复为初始旁路跳数,并且向所述下一路由节点提供所述初始旁路跳数。13.根据权利要求12所述的路由方法,其中,所述初始旁路跳数包括多个二进制位,每个二进制位均为1,所述剩余旁路跳数与1的差值通过所述剩余旁路跳数右移一位得到。14.根据权...

【专利技术属性】
技术研发人员:盛启隆
申请(专利权)人:海光信息技术股份有限公司
类型:发明
国别省市:

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

1