CN110620731A - 一种片上网络的路由装置及路由方法 - Google Patents
一种片上网络的路由装置及路由方法 Download PDFInfo
- Publication number
- CN110620731A CN110620731A CN201910866960.9A CN201910866960A CN110620731A CN 110620731 A CN110620731 A CN 110620731A CN 201910866960 A CN201910866960 A CN 201910866960A CN 110620731 A CN110620731 A CN 110620731A
- Authority
- CN
- China
- Prior art keywords
- arbitration
- information
- data packet
- input port
- priority
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/302—Route determination based on requested QoS
- H04L45/308—Route determination based on user's profile, e.g. premium users
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/60—Router architectures
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种片上网络的路由装置及路由方法,其中方法包括以下步骤:获取多个输入端口发送的仲裁请求信息,根据仲裁请求信息获取并发送仲裁结果信息,所述仲裁结果信息包括仲裁授权信息或仲裁失败信息;当输入端口接收到仲裁授权信息,将数据包微片发送至对应的输出端口;当输入端口接收到仲裁失败信息,按照预设方式获取数据包微片,根据该数据包微片生成并发送仲裁请求信息,直到接收到仲裁授权信息。本发明在输入端口接收到仲裁失败信息后,通过再次发送其它虚拟通道的数据包微片,避免低优先级的数据包微片堵塞在该输入端口低优先级的虚拟通道中,有效缓解片上网络堵塞情况,提高片上网络链路利用率,可广泛应用于网络路由技术。
Description
技术领域
本发明涉及网络路由技术,尤其涉及一种片上网络的路由装置及路由方法。
背景技术
随着片上系统集成度的不断提高,传统的总线系统因为具有数据传输带宽有限的特点,使得传统的总线系统不能满足多核处理器之间通信互联的需求。因此,高数据传输带宽和可扩展性强的片上网络互联技术开始得到广泛地应用。片上网络是由IP核(CPU、DSP、内存……)、路由器、网络接口和物理链接构成。考虑到多核处理器分别执行和处理不同的任务的应用场景下,具有传输优先级的虚拟通道路由器将有效提高该应用场景下片上通信的性能。路由器中的仲裁模块是通过特定的规则允许若干申请的数据包微片中的其中一个获得仲裁授权,其余申请的数据包微片会由于仲裁失败而被拒绝申请。然而,传统的仲裁方式并不能很好地满足具有多传输优先级的虚拟通道路由器的需求。
对于虚拟通道路由器,常用的交叉开关仲裁方式是各输入端口向交叉开关仲裁模块发出仲裁请求,交叉开关仲裁模块先后需要进行等级仲裁和轮询仲裁,最后仲裁成功获得授权的输入端口将收到来自交叉开关仲裁模块发出的仲裁成功的应答信息,并读取该输入端口的FIFO以及将其数据包发送到交叉开关传输模块,输出到对应的下游路由器;而没有获得授权的输入端口将收到来自交叉开关仲裁模块发出的仲裁失败的应答信息,该输入端口会继续向交叉开关仲裁模块发出仲裁请求,等待下一次仲裁。
当虚拟通道具有更复杂的功能时,例如同一输入端的不同虚拟通道具有不同的优先级,交叉开关仲裁需要进行多个步骤:先对不同输入端口的数据进行等级仲裁,再进行轮询仲裁。传统的交叉开关仲裁模块应对功能更复杂的虚拟通道时,需要进行多级仲裁比较,电路功能复杂,逻辑资源占用较多,延迟较大。
涉及交叉开关仲裁,尤其当片上网络应用在人工智能领域时,经常会出现多个输入端口同时往同一输出端口申请仲裁,或者某个输入端口向某个正处于交叉开关传输被占用状态的输出端口申请仲裁的情况。在这些情况下,仅有一个输入通道获得仲裁授权并传输数据包给下游路由器,其他输入端口申请仲裁失败,数据包微片继续堵塞在该输入端口的虚拟通道内,并只能等待下一次交叉开关仲裁。这导致该输出端口一直处于忙碌状态,而其他输出端口的链路利用率较低,片上网络的延迟大大增加。
综上所述,传统的仲裁方式难以满足多传输优先级的虚拟通道路由器的需求,占用电路逻辑资源较多,片上网络的延迟增加,降低了片上网络通信的性能。
发明内容
为了解决上述技术问题之一,本发明的目的是提供一种更适合多优先级多虚拟通道的片上网络应用场景的高效多级仲裁的片上网络路由装置及路由方法。
本发明所采用的第一技术方案是:
一种片上网络的路由装置,包括交叉开关仲裁模块、交叉开关传输模块、交叉开关模块、多个输入端口和多个输出端口;
所述输入端口用于在接收到仲裁授权信息时,将数据包微片发送至对应的输出端口,以及在接收到仲裁失败信息时,按照预设方式获取数据包微片,根据该数据包微片生成并发送仲裁请求信息,直到接收到仲裁授权信息;
所述交叉开关仲裁模块用于根据仲裁请求信息获取仲裁结果信息,所述仲裁结果信息包括仲裁授权信息或仲裁失败信息;
所述交叉开关传输模块用于将仲裁结果信息发送至对应的输入端口;
所述交叉开关模块用于使获得仲裁授权信息的输入端口和对应的输出端口之间建立数据链路。
进一步,所述数据包微片包括目的地址信息和广播类型信息,所述输入端口包括路由计算单元、第一存储单元、第二存储单元和虚拟通道仲裁单元;
所述路由计算单元用于结合目的地址信息和广播类型信息计算目的地址;
所述第一存储单元用于根据数据包微片的优先级存储数据包微片;
所述第二存储单元用于存储目的地址;
所述虚拟通道仲裁单元用于根据数据包微片的优先级分配虚拟通道,以及结合数据包微片和目的地址生成并发送仲裁请求对应的输出端口。
进一步,所述交叉开关仲裁模块包括权重得分计算单元和权重得分比较单元;
所述权重得分计算单元用于接收各输入端口的仲裁请求,根据仲裁请求获取数据包微片的优先级,结合优先级和预设的仲裁因子计算各输入端口对应的权重得分;
所述权重得分比较单元用于比较各输入端口的权重得分,获取得分值最高的输入端口作为发送仲裁授权信息的端口。
进一步,所述广播类型信息包括单播类型和多播类型,所述路由计算单元包括算法子单元和多播查找表子单元;
所述算法子单元用于当数据包微片的广播类型信息为单播类型时,结合目的地址信息和预设算法计算获得目的地址;
所述多播查找表子单元用于当数据包微片的广播类型信息为多播类型时,结合目的地址信息和预设查找表计算获得目的地址。
进一步,所述输入端口和输出端口的个数均为5个。
本发明所采用的第二技术方案是:
一种片上网络的路由方法,包括以下步骤:
获取多个输入端口发送的仲裁请求信息,根据仲裁请求信息获取并发送仲裁结果信息,所述仲裁结果信息包括仲裁授权信息或仲裁失败信息;
当输入端口接收到仲裁授权信息,将数据包微片发送至对应的输出端口;
当输入端口接收到仲裁失败信息,按照预设方式获取数据包微片,根据该数据包微片生成并发送仲裁请求信息,直到接收到仲裁授权信息。
进一步,所述输入端口通过以下方式生成并发送仲裁请求信息:
接收到多个数据包微片后,分别获取数据包微片中的优先级和目的地址信息;
根据优先级对数据包微片进行存储,以及根据目的地址信息获取数据包微片需要发送的目的地址;
结合优先级最高的数据包微片和目的地址生成并发送仲裁请求信息至对应的输出端口。
进一步,所述根据仲裁请求信息获取并发送仲裁结果信息这一步骤,具体包括以下步骤:
根据仲裁请求信息获取数据包微片的优先级,结合优先级和预设的仲裁因子计算各输入端口对应的权重得分;
将仲裁授权信息发送至权重得分最高的输入端口,以及将仲裁失败信息发送至其它的输入端口。
进一步,所述按照预设方式获取数据包微片,根据该数据包微片生成并发送仲裁请求信息,直到接收到仲裁授权信息这一步骤,具体包括以下步骤:
A1、按照优先级的排列顺序获取下一个数据包微片和对应目的地址;
A2、结合获得的数据包微片和目的地址生成并发送仲裁请求信息至对应的输出端口;
A3、若接收到仲裁授权信息,则将数据包微片发送至对应的输出端口;若接收到仲裁失败信息,则返回执行步骤A1。
进一步,所述结合优先级和预设的仲裁因子计算各输入端口对应的权重得分这一步骤,具体为:
结合优先级、输入端口总数量、各输入端口编号和上一次的仲裁结果信息计算各数据包微片对应的权重得分。
本发明的有益效果是:本发明在输入端口接收到仲裁失败信息后,通过再次发送其它虚拟通道的数据包微片,避免高优先级的数据包微片未通过交叉开关仲裁时,低优先级的数据包微片堵塞在该输入端口低优先级的虚拟通道中,有效缓解片上网络堵塞情况,提高片上网络链路利用率。
附图说明
图1是本发明一种片上网络的路由装置的结构示意图;
图2是具体实施例中交叉开关仲裁模块的架构图;
图3是具体实施例中有申请拦截结构的路由装置的架构图;
图4是具体实施例中基于权重得分计算的交叉开关仲裁流程示意图;
图5是具体实施例中交叉开关仲裁申请拦截流程示意图;
图6是本发明一种片上网络的路由方法的步骤流程图。
具体实施方式
如图1所示,本实施例提供了一种片上网络的路由装置,包括交叉开关仲裁模块、交叉开关传输模块、交叉开关模块、多个输入端口和多个输出端口;
所述输入端口用于在接收到仲裁授权信息时,将数据包微片发送至对应的输出端口,以及在接收到仲裁失败信息时,按照预设方式获取数据包微片,根据该数据包微片生成并发送仲裁请求信息,直到接收到仲裁授权信息;
所述交叉开关仲裁模块用于根据仲裁请求信息获取仲裁结果信息,所述仲裁结果信息包括仲裁授权信息或仲裁失败信息;
所述交叉开关传输模块用于将仲裁结果信息发送至对应的输入端口;
所述交叉开关模块用于使获得仲裁授权信息的输入端口和对应的输出端口之间建立数据链路。
在本实施例中,各输入端口向对应的输出端口发送仲裁请求信息,当只有一个输入端口向该输出端口发送仲裁请求信息,则肯定可以通过冲裁,当多个输入端口同时向一个输出端口发送仲裁请求信息时,则发送碰撞,需要仲裁。在传统路由装置中,当仲裁后,仲裁失败的输入端口需要等待下一轮询,而此时存在其他输出端口空闲,且输入端口中存有需要发送数据包微片至该空闲的输出端口的情况,因此,间接地造成堵塞。在本实施例中,通过增加交叉开关申请拦截结构,当输入端口接收到仲裁失败信息时,重新生成并发送仲裁请求信息,具体地,可以按照优先级的顺序获取下一个数据包微片来生成仲裁请求信息,也可以随机获取数据包微片来生成仲裁请求信息,由于这些数据包微片可能发送至空闲的输出端,因此不必要等待下一个轮询,极大地提高了网络链路利用率,缓解片上网络堵塞情况。
进一步作为优选的实施方式,所述数据包微片包括目的地址信息和广播类型信息,所述输入端口包括路由计算单元、第一存储单元、第二存储单元和虚拟通道仲裁单元;
所述路由计算单元用于结合目的地址信息和广播类型信息计算目的地址;
所述第一存储单元用于根据数据包微片的优先级存储数据包微片;
所述第二存储单元用于存储目的地址;
所述虚拟通道仲裁单元用于根据数据包微片的优先级分配虚拟通道,以及结合数据包微片和目的地址生成并发送仲裁请求对应的输出端口。
进一步作为优选的实施方式,所述交叉开关仲裁模块包括权重得分计算单元和权重得分比较单元;
所述权重得分计算单元用于接收各输入端口的仲裁请求,根据仲裁请求获取数据包微片的优先级,结合优先级和预设的仲裁因子计算各输入端口对应的权重得分;
所述权重得分比较单元用于比较各输入端口的权重得分,获取得分值最高的输入端口作为发送仲裁授权信息的端口。
进一步作为优选的实施方式,所述广播类型信息包括单播类型和多播类型,所述路由计算单元包括算法子单元和多播查找表子单元;
所述算法子单元用于当数据包微片的广播类型信息为单播类型时,结合目的地址信息和预设算法计算获得目的地址;
所述多播查找表子单元用于当数据包微片的广播类型信息为多播类型时,结合目的地址信息和预设查找表计算获得目的地址。
进一步作为优选的实施方式,所述输入端口和输出端口的个数均为5个。
如图6所述,本实施例还提供了一种片上网络的路由方法,包括以下步骤:
S1、获取多个输入端口发送的仲裁请求信息,根据仲裁请求信息获取并发送仲裁结果信息,所述仲裁结果信息包括仲裁授权信息或仲裁失败信息;
S2、当输入端口接收到仲裁授权信息,将数据包微片发送至对应的输出端口;
S3、当输入端口接收到仲裁失败信息,按照预设方式获取数据包微片,根据该数据包微片生成并发送仲裁请求信息,直到接收到仲裁授权信息。
其中,所述输入端口通过以下方式生成并发送仲裁请求信息:
接收到多个数据包微片后,分别获取数据包微片中的优先级和目的地址信息;
根据优先级对数据包微片进行存储,以及根据目的地址信息获取数据包微片需要发送的目的地址;
结合优先级最高的数据包微片和目的地址生成并发送仲裁请求信息至对应的输出端口。
其中,所述步骤S1具体包括步骤S11~S12:
S11、获取多个输入端口发送的仲裁请求信息,根据仲裁请求信息获取数据包微片的优先级,结合优先级和预设的仲裁因子计算各输入端口对应的权重得分;具体地,结合优先级、输入端口总数量、各输入端口编号和上一次的仲裁结果信息计算各数据包微片对应的权重得分。
S12、将仲裁授权信息发送至权重得分最高的输入端口,以及将仲裁失败信息发送至其它的输入端口。
当输入端口接收到仲裁失败信息后,具体执行以下步骤:
B1、按照优先级的排列顺序获取下一个数据包微片和对应目的地址;
B2、结合获得的数据包微片和目的地址生成并发送仲裁请求信息至对应的输出端口;
B3、若接收到仲裁授权信息,则将数据包微片发送至对应的输出端口;若接收到仲裁失败信息,则返回执行步骤B1。
具体实施例
片上网络是由IP核(CPU、DSP、内存……)、路由器、网络接口和物理链接构成,其中路由器的设计对片上网络的性能有极大的影响。考虑到传统的路由器设计并没有很好地满足具有多优先级的多虚拟通道的应用场景需求,因此本实施例针对现有技术的不足,提出了一种高效多级仲裁的片上网络路由器结构。为了更清楚地介绍本实施例提出的路由装置和路由方法,以下结合图1至图5对上述系统和方法进行详细的介绍说明。
本实施例的路由装置包括五个输入端口、交叉开关仲裁模块、交叉开关传输模块、交叉开关模块、五个输出端口。
如图1所示,本实施例的片上网络路由装置包含了五个输入端口、交叉开关仲裁单元、交叉开关传输单元、交叉开关单元、五个输出端口。五个输入端口分别为东、西、南、北、本地输入端口,每个输入端口有n个虚拟通道(n>=2),不同的虚拟通道具有不同的优先级,分别缓存对应优先级的数据包微片。各输入端口包含由XY算法和多播查找表组成的路由计算单元、缓存数据包微片的FIFO单元、缓存路由计算目的地址结果的FIFO单元、虚拟通道仲裁器、多路选择器和多路分配器组成。当有数据包微片从上游路由器到达该路由器的输入端口时,输入端口会提取包头微片关于优先级和广播类型的信息。多路分配器会根据数据包微片的优先级,将数据包微片缓存到对应优先级的FIFO。同时,多路分配器也会根据数据包微片的广播类型,将包头的目的地址信息输送到路由计算单元进行路由计算。如果该数据包微片的广播类型是单播,则将包头的目的地址信息输送到XY算法单元,并进行XY路由算法计算目的地址;如果该数据包微片的广播类型是多播,则将包头的目的地址信息输送到多播查找表,得到相应的目的地址。路由计算完成后,目的地址FIFO缓存单元会根据FIFO存储的微片信息向虚拟通道仲裁单元发出仲裁申请。参照图2,虚拟通道仲裁单元会根据申请微片的优先级,优先让优先级较高的虚拟通道获得授权,并读取该虚拟通道的数据包微片传送到交叉开关仲裁单元。
所述交叉开关仲裁模块负责接收到各输入端口的仲裁请求,根据优先级和轮询仲裁的原则对各输入端口的仲裁请求做出响应,将仲裁结果传输到交叉开关传输模块。
所述交叉开关传输模块根据交叉开关仲裁模块的仲裁结果,向对应的申请输入端口发送仲裁授权或仲裁申请失败信号。
所述交叉开关模块负责链接获得申请授权的输入端口虚拟通道和对应下游路由器之间的数据链路,将该输入端口的虚拟通道缓存的数据包微片传输到下游路由器。
传统的交叉开关仲裁是先后进行等级仲裁和轮询仲裁两种仲裁方式,而本实施例是通过权重计算逻辑计算的方式将等级仲裁和轮询仲裁并行处理,包含权重得分计算单元和权重得分比较单元两个部分。
参照图2,当多个输入端口的仲裁请求发送至权重得分计算单元时,权重得分计算单元负责根据数据包微片的优先级和轮询仲裁因子作为权重,通过权重公式(1)来计算各输入端口申请的数据包微片的权重得分。权重得分比较单元负责比较上述各输入端口申请的数据包微片的权重得分计算结果,权重得分最高的输入端口获得该输出端口交叉开关的授权,而其他输入端口申请失败,只能等待下一次的交叉开关仲裁。
Sn=(cls*all_req_num)+(all_req_num-last_res+cur_req_num)%all_req_num(1)
其中,n表示第n个输入端口;Sn代表第n个申请的输入端口数据包的权重得分,cls表示申请的输入端口数据包的等级;all_req_num表示路由器输入端口的总数;last_res表示上一次仲裁结果;cur_req_num表示当前申请的输入端口编号。
将上述各输入端口申请的数据包微片的权重得分计算结果输入到权重得分比较模块,权重得分最高的输入端口获得该输出端口交叉开关的授权,而其他输入端口申请失败,只能等待下一次的交叉开关仲裁。
传统的片上网络路由器微结构没有很好地针对具有多优先级的多输入通道的应用场景进行设计,会出现虚拟通道仲裁成功而交叉开关传输端口仲裁失败,导致该输入端口必须等待直到该交叉开关仲裁空闲的情况。参照图3,本实施例提出在传统的片上网络路由器微结构的基础上增加交叉开关申请拦截结构,申请拦截结构是当输入端口向某一输出端口的交叉开关仲裁模块申请仲裁失败后,虚拟通道仲裁模块会接收到由交叉开关传输模块发来的ready=0的申请拦截信号,然后虚拟通道仲裁模块会切换其他较低优先级的虚拟通道向其他输出端口的交叉开关仲裁模块发出仲裁申请。
参照图4,多个输入端口尝试向同一个输出端口的交叉开关仲裁模块进行仲裁申请,当某个输入端口申请交叉开关仲裁成功后,交叉开关传输模块立即向该输入端口返回仲裁申请拦截信号ready=1,并开始将该输入端口的数据包微片传输到交叉开关模块。
而当出现以下两种情况时:1、多个输入端口尝试向同一个输出端口的交叉开关仲裁模块进行仲裁申请,使得某个输入端口申请交叉开关仲裁成功,其他输入端口申请交叉开关仲裁失败;2、某个输入端口尝试向某个输出端口的交叉开关仲裁模块进行仲裁申请,而该输出端口正在被占用来向下游路由传输数据包微片时,使得该输入端口申请交叉开关仲裁失败。
参照图5,遇到以上两种情况时,交叉开关传输模块会立即向该输入端口返回仲裁申请拦截信号ready=0,虚拟通道仲裁模块接收到该信号后,重新进行虚拟通道仲裁,改变该输入端口虚拟通道的仲裁结果,切换其他相对低优先级的虚拟通道进行交叉开关仲裁申请。
与现有技术相比,本实施例针对具有多优先级的多输入通道的应用场景的效果体现在:
1、本实施例通过权重计算逻辑计算的方式将等级仲裁和轮询仲裁并行处理,来替换传统的交叉开关仲裁是先后进行等级仲裁和轮询仲裁两种仲裁方式。本实施例简化电路逻辑功能实现,采用逻辑运算和比较器混合方式来实现电路功能,相比于传统的二级仲裁结构,该设计可以让电路逻辑占用资源大幅降低。
2、本实施例在传统的片上网络路由器微结构的基础上增加交叉开关申请拦截结构,避免出现高优先级数据包微片申请虚拟通道仲裁成功,但其对应的输出端口的交叉开关仲裁失败,而导致该输入端口的低优先级数据包微片必须等待直到该交叉开关仲裁模块空闲,高优先级的数据包微片成功获得交叉开关仲裁模块的申请授权并被传输到下游路由器或IP核,致使低优先级的数据包微片堵塞在该输入端口低优先级的虚拟通道中的情况,以此有效缓解片上网络堵塞情况,提高片上网络链路利用率。
以上是对本实施例的较佳实施进行了具体说明,但本实施例创造并不限于所述实施例,熟悉本领域的技术人员在不违背本实施例精神的前提下还可做出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。
Claims (10)
1.一种片上网络的路由装置,其特征在于,包括交叉开关仲裁模块、交叉开关传输模块、交叉开关模块、多个输入端口和多个输出端口;
所述输入端口用于在接收到仲裁授权信息时,将数据包微片发送至对应的输出端口,以及在接收到仲裁失败信息时,按照预设方式获取数据包微片,根据该数据包微片生成并发送仲裁请求信息,直到接收到仲裁授权信息;
所述交叉开关仲裁模块用于根据仲裁请求信息获取仲裁结果信息,所述仲裁结果信息包括仲裁授权信息或仲裁失败信息;
所述交叉开关传输模块用于将仲裁结果信息发送至对应的输入端口;
所述交叉开关模块用于使获得仲裁授权信息的输入端口和对应的输出端口之间建立数据链路。
2.根据权利要求1所述的一种片上网络的路由装置,其特征在于,所述数据包微片包括目的地址信息和广播类型信息,所述输入端口包括路由计算单元、第一存储单元、第二存储单元和虚拟通道仲裁单元;
所述路由计算单元用于结合目的地址信息和广播类型信息计算目的地址;
所述第一存储单元用于根据数据包微片的优先级存储数据包微片;
所述第二存储单元用于存储目的地址;
所述虚拟通道仲裁单元用于根据数据包微片的优先级分配虚拟通道,以及结合数据包微片和目的地址生成并发送仲裁请求对应的输出端口。
3.根据权利要求1所述的一种片上网络的路由装置,其特征在于,所述交叉开关仲裁模块包括权重得分计算单元和权重得分比较单元;
所述权重得分计算单元用于接收各输入端口的仲裁请求,根据仲裁请求获取数据包微片的优先级,结合优先级和预设的仲裁因子计算各输入端口对应的权重得分;
所述权重得分比较单元用于比较各输入端口的权重得分,获取得分值最高的输入端口作为发送仲裁授权信息的端口。
4.根据权利要求2所述的一种片上网络的路由装置,其特征在于,所述广播类型信息包括单播类型和多播类型,所述路由计算单元包括算法子单元和多播查找表子单元;
所述算法子单元用于当数据包微片的广播类型信息为单播类型时,结合目的地址信息和预设算法计算获得目的地址;
所述多播查找表子单元用于当数据包微片的广播类型信息为多播类型时,结合目的地址信息和预设查找表计算获得目的地址。
5.根据权利要求1所述的一种片上网络的路由装置,其特征在于,所述输入端口和输出端口的个数均为5个。
6.一种片上网络的路由方法,其特征在于,包括以下步骤:
获取多个输入端口发送的仲裁请求信息,根据仲裁请求信息获取并发送仲裁结果信息,所述仲裁结果信息包括仲裁授权信息或仲裁失败信息;
当输入端口接收到仲裁授权信息,将数据包微片发送至对应的输出端口;
当输入端口接收到仲裁失败信息,按照预设方式获取数据包微片,根据该数据包微片生成并发送仲裁请求信息,直到接收到仲裁授权信息。
7.根据权利要求6所述的一种片上网络的路由方法,其特征在于,所述输入端口通过以下方式生成并发送仲裁请求信息:
接收到多个数据包微片后,分别获取数据包微片中的优先级和目的地址信息;
根据优先级对数据包微片进行存储,以及根据目的地址信息获取数据包微片需要发送的目的地址;
结合优先级最高的数据包微片和目的地址生成并发送仲裁请求信息至对应的输出端口。
8.根据权利要求6所述的一种片上网络的路由方法,其特征在于,所述根据仲裁请求信息获取并发送仲裁结果信息这一步骤,具体包括以下步骤:
根据仲裁请求信息获取数据包微片的优先级,结合优先级和预设的仲裁因子计算各输入端口对应的权重得分;
将仲裁授权信息发送至权重得分最高的输入端口,以及将仲裁失败信息发送至其它的输入端口。
9.根据权利要求7所述的一种片上网络的路由方法,其特征在于,所述按照预设方式获取数据包微片,根据该数据包微片生成并发送仲裁请求信息,直到接收到仲裁授权信息这一步骤,具体包括以下步骤:
A1、按照优先级的排列顺序获取下一个数据包微片和对应目的地址;
A2、结合获得的数据包微片和目的地址生成并发送仲裁请求信息至对应的输出端口;
A3、若接收到仲裁授权信息,则将数据包微片发送至对应的输出端口;若接收到仲裁失败信息,则返回执行步骤A1。
10.根据权利要求8所述的一种片上网络的路由方法,其特征在于,所述结合优先级和预设的仲裁因子计算各输入端口对应的权重得分这一步骤,具体为:
结合优先级、输入端口总数量、各输入端口编号和上一次的仲裁结果信息计算各数据包微片对应的权重得分。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910866960.9A CN110620731B (zh) | 2019-09-12 | 2019-09-12 | 一种片上网络的路由装置及路由方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910866960.9A CN110620731B (zh) | 2019-09-12 | 2019-09-12 | 一种片上网络的路由装置及路由方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110620731A true CN110620731A (zh) | 2019-12-27 |
CN110620731B CN110620731B (zh) | 2021-03-23 |
Family
ID=68923194
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910866960.9A Active CN110620731B (zh) | 2019-09-12 | 2019-09-12 | 一种片上网络的路由装置及路由方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110620731B (zh) |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111245730A (zh) * | 2020-01-15 | 2020-06-05 | 中山大学 | 一种片上网络的路由系统及通信方法 |
CN112729395A (zh) * | 2020-12-23 | 2021-04-30 | 电子科技大学 | 一种面向复杂SoC可靠性监测的片上传感器读出系统 |
CN112866148A (zh) * | 2021-01-12 | 2021-05-28 | 之江实验室 | 一种面向类脑计算芯片的芯片间数据传输架构及实现方法 |
CN113285935A (zh) * | 2021-05-14 | 2021-08-20 | 山东云海国创云计算装备产业创新中心有限公司 | 一种通信系统和一种片上网络路由器 |
CN113490293A (zh) * | 2021-06-13 | 2021-10-08 | 复旦大学 | 一种双层自适应重配置环簇片上网络硬件结构 |
CN113905358A (zh) * | 2020-06-22 | 2022-01-07 | 苹果公司 | 用于音频输出设备的智能路由 |
CN114124814A (zh) * | 2021-11-19 | 2022-03-01 | 海光信息技术股份有限公司 | 片上网络、控制及配置方法、装置、路由单元及设备 |
CN114363245A (zh) * | 2020-09-30 | 2022-04-15 | 北京灵汐科技有限公司 | 众核的片上网络数据传输方法、装置、设备及介质 |
CN114363246A (zh) * | 2020-09-30 | 2022-04-15 | 北京灵汐科技有限公司 | 众核的片上网络数据传输方法、装置、设备及介质 |
CN114584507A (zh) * | 2022-02-23 | 2022-06-03 | 中山大学 | 基于类脑处理器的数据处理方法、路由器及网络系统 |
CN114691374A (zh) * | 2022-05-31 | 2022-07-01 | 苏州浪潮智能科技有限公司 | 一种虚拟通道的请求分配方法及相关装置 |
CN114915594A (zh) * | 2022-07-14 | 2022-08-16 | 中科声龙科技发展(北京)有限公司 | 均衡路由的方法、网络互连系统、交叉开关装置及芯片 |
CN114978859A (zh) * | 2022-05-13 | 2022-08-30 | 海光信息技术股份有限公司 | 片上网络架构及相关设备、数据传输系统 |
CN114968866A (zh) * | 2022-08-01 | 2022-08-30 | 中科声龙科技发展(北京)有限公司 | 优先级分组轮询仲裁器及其仲裁方法、交叉开关和芯片 |
CN115002050A (zh) * | 2022-07-18 | 2022-09-02 | 中科声龙科技发展(北京)有限公司 | 工作量证明芯片 |
CN115550293A (zh) * | 2022-11-30 | 2022-12-30 | 苏州浪潮智能科技有限公司 | 一种fsi主控制器及其端口路由装置和方法 |
CN115580572A (zh) * | 2022-09-20 | 2023-01-06 | 海光信息技术股份有限公司 | 路由方法、路由节点、路由装置和计算机可读存储介质 |
CN116192353A (zh) * | 2022-12-16 | 2023-05-30 | 中国科学院声学研究所 | 一种基于fpga的多路选择器同步工作系统及方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7352764B1 (en) * | 2003-05-08 | 2008-04-01 | Silicon Image, Inc. | Content addressable merged queue architecture for switching data |
CN102185751A (zh) * | 2010-12-13 | 2011-09-14 | 中国人民解放军国防科学技术大学 | 一种基于快速通道技术的单周期片上路由器 |
CN105871742A (zh) * | 2016-03-24 | 2016-08-17 | 合肥工业大学 | 一种片上网络中基于虚拟输出队列机制的自适应路由器 |
CN107454003A (zh) * | 2017-08-18 | 2017-12-08 | 南京航空航天大学 | 一种可动态切换工作模式的片上网络路由器及方法 |
-
2019
- 2019-09-12 CN CN201910866960.9A patent/CN110620731B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7352764B1 (en) * | 2003-05-08 | 2008-04-01 | Silicon Image, Inc. | Content addressable merged queue architecture for switching data |
CN102185751A (zh) * | 2010-12-13 | 2011-09-14 | 中国人民解放军国防科学技术大学 | 一种基于快速通道技术的单周期片上路由器 |
CN105871742A (zh) * | 2016-03-24 | 2016-08-17 | 合肥工业大学 | 一种片上网络中基于虚拟输出队列机制的自适应路由器 |
CN107454003A (zh) * | 2017-08-18 | 2017-12-08 | 南京航空航天大学 | 一种可动态切换工作模式的片上网络路由器及方法 |
Cited By (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111245730A (zh) * | 2020-01-15 | 2020-06-05 | 中山大学 | 一种片上网络的路由系统及通信方法 |
CN113905358A (zh) * | 2020-06-22 | 2022-01-07 | 苹果公司 | 用于音频输出设备的智能路由 |
CN114363245B (zh) * | 2020-09-30 | 2024-04-26 | 北京灵汐科技有限公司 | 众核的片上网络数据传输方法、装置、设备及介质 |
CN114363245A (zh) * | 2020-09-30 | 2022-04-15 | 北京灵汐科技有限公司 | 众核的片上网络数据传输方法、装置、设备及介质 |
CN114363246A (zh) * | 2020-09-30 | 2022-04-15 | 北京灵汐科技有限公司 | 众核的片上网络数据传输方法、装置、设备及介质 |
CN112729395A (zh) * | 2020-12-23 | 2021-04-30 | 电子科技大学 | 一种面向复杂SoC可靠性监测的片上传感器读出系统 |
CN112866148A (zh) * | 2021-01-12 | 2021-05-28 | 之江实验室 | 一种面向类脑计算芯片的芯片间数据传输架构及实现方法 |
CN113285935A (zh) * | 2021-05-14 | 2021-08-20 | 山东云海国创云计算装备产业创新中心有限公司 | 一种通信系统和一种片上网络路由器 |
CN113285935B (zh) * | 2021-05-14 | 2023-01-10 | 山东云海国创云计算装备产业创新中心有限公司 | 一种通信系统和一种片上网络路由器 |
CN113490293A (zh) * | 2021-06-13 | 2021-10-08 | 复旦大学 | 一种双层自适应重配置环簇片上网络硬件结构 |
CN114124814A (zh) * | 2021-11-19 | 2022-03-01 | 海光信息技术股份有限公司 | 片上网络、控制及配置方法、装置、路由单元及设备 |
CN114124814B (zh) * | 2021-11-19 | 2023-08-29 | 海光信息技术股份有限公司 | 片上网络、控制及配置方法、装置、路由单元及设备 |
CN114584507A (zh) * | 2022-02-23 | 2022-06-03 | 中山大学 | 基于类脑处理器的数据处理方法、路由器及网络系统 |
CN114978859A (zh) * | 2022-05-13 | 2022-08-30 | 海光信息技术股份有限公司 | 片上网络架构及相关设备、数据传输系统 |
WO2023231549A1 (zh) * | 2022-05-31 | 2023-12-07 | 苏州元脑智能科技有限公司 | 一种虚拟通道的请求分配方法及相关装置 |
CN114691374A (zh) * | 2022-05-31 | 2022-07-01 | 苏州浪潮智能科技有限公司 | 一种虚拟通道的请求分配方法及相关装置 |
CN114915594A (zh) * | 2022-07-14 | 2022-08-16 | 中科声龙科技发展(北京)有限公司 | 均衡路由的方法、网络互连系统、交叉开关装置及芯片 |
CN115002050B (zh) * | 2022-07-18 | 2022-09-30 | 中科声龙科技发展(北京)有限公司 | 工作量证明芯片 |
CN115002050A (zh) * | 2022-07-18 | 2022-09-02 | 中科声龙科技发展(北京)有限公司 | 工作量证明芯片 |
CN114968866B (zh) * | 2022-08-01 | 2022-11-01 | 中科声龙科技发展(北京)有限公司 | 优先级分组轮询仲裁器及其仲裁方法、交叉开关和芯片 |
CN114968866A (zh) * | 2022-08-01 | 2022-08-30 | 中科声龙科技发展(北京)有限公司 | 优先级分组轮询仲裁器及其仲裁方法、交叉开关和芯片 |
CN115580572A (zh) * | 2022-09-20 | 2023-01-06 | 海光信息技术股份有限公司 | 路由方法、路由节点、路由装置和计算机可读存储介质 |
CN115580572B (zh) * | 2022-09-20 | 2024-04-19 | 海光信息技术股份有限公司 | 路由方法、路由节点、路由装置和计算机可读存储介质 |
CN115550293B (zh) * | 2022-11-30 | 2023-03-10 | 苏州浪潮智能科技有限公司 | 一种fsi主控制器及其端口路由装置和方法 |
CN115550293A (zh) * | 2022-11-30 | 2022-12-30 | 苏州浪潮智能科技有限公司 | 一种fsi主控制器及其端口路由装置和方法 |
CN116192353B (zh) * | 2022-12-16 | 2023-10-13 | 中国科学院声学研究所 | 一种基于fpga的多路选择器同步工作系统及方法 |
CN116192353A (zh) * | 2022-12-16 | 2023-05-30 | 中国科学院声学研究所 | 一种基于fpga的多路选择器同步工作系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110620731B (zh) | 2021-03-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110620731B (zh) | 一种片上网络的路由装置及路由方法 | |
WO2020236296A1 (en) | System and method for facilitating efficient packet injection into an output buffer in a network interface controller (nic) | |
US7385997B2 (en) | Priority based bandwidth allocation within real-time and non-real-time traffic streams | |
US6658016B1 (en) | Packet switching fabric having a segmented ring with token based resource control protocol and output queuing control | |
EP1006694B1 (en) | Communications method and communications system | |
US8971317B2 (en) | Method for controlling data stream switch and relevant equipment | |
US8553708B2 (en) | Bandwith allocation method and routing device | |
WO2016078341A1 (zh) | 一种缓存分配方法、装置及网络处理器 | |
JP7231749B2 (ja) | パケットスケジューリング方法、スケジューラ、ネットワーク装置及びネットワークシステム | |
US8228930B1 (en) | Interconnection network router arrangements and methods therefor | |
US20030231588A1 (en) | Method and apparatus for multicast and unicast scheduling | |
JP3322195B2 (ja) | Lanスイッチ | |
WO2013173966A1 (zh) | 基于三级互联交换网络的调度方法、装置及系统 | |
US5128937A (en) | Adaptive bandwidth balancing for distributed queue dual bus networks | |
US20200127936A1 (en) | Dynamic scheduling method, apparatus, and system | |
CN109716719B (zh) | 数据处理方法及装置、交换设备 | |
CN107276920B (zh) | 一种应用于混合三维片上网络的分布式流控系统及方法 | |
US20130208727A1 (en) | Apparatus & method | |
WO2024027133A1 (zh) | 优先级分组轮询仲裁器及其仲裁方法、交叉开关和芯片 | |
JP2015536621A (ja) | 受動接続性光学モジュール | |
CN113285935B (zh) | 一种通信系统和一种片上网络路由器 | |
Escudero-Sahuquillo et al. | FBICM: Efficient congestion management for high-performance networks using distributed deterministic routing | |
WO2008128464A1 (fr) | Dispositif et procédé pour réaliser le transfert d'un flux unique par de multiples unités de traitement en réseau | |
US6643702B1 (en) | Traffic scheduler for a first tier switch of a two tier switch | |
CN110601996B (zh) | 一种采用令牌保底分布式贪心算法的环网防饥饿流控方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |