CN105721355A - 一种片上网络路由传输报文的方法及片上网络路由 - Google Patents
一种片上网络路由传输报文的方法及片上网络路由 Download PDFInfo
- Publication number
- CN105721355A CN105721355A CN201610066201.0A CN201610066201A CN105721355A CN 105721355 A CN105721355 A CN 105721355A CN 201610066201 A CN201610066201 A CN 201610066201A CN 105721355 A CN105721355 A CN 105721355A
- Authority
- CN
- China
- Prior art keywords
- message
- pseudo channel
- channel
- output port
- microplate
- 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.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/10—Packet switching elements characterised by the switching fabric construction
- H04L49/109—Integrated on microchip, e.g. switch-on-chip
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/25—Routing or path finding in a switch fabric
- H04L49/251—Cut-through or wormhole routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/25—Routing or path finding in a switch fabric
- H04L49/253—Routing or path finding in a switch fabric using establishment or release of connections between ports
- H04L49/254—Centralised controller, i.e. arbitration or scheduling
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种片上网络路由传输报文的方法,包括:接收到报文的头微片时,根据所述头微片中的路由信息的编号,将所述头微片写入对应的输入虚拟信道的缓存队列中;根据所述头微片中的路由信息及当前路由信息,利用路由算法得到所述报文的输出端口;获取所述输出端口空闲的输出虚拟信道,并将所述输出虚拟信道分配给所述报文,并生成输出端口请求;对所述输出端口请求进行仲裁;若仲裁成功,则将所述报文通过所述输出虚拟信道进行数据传输;该方法在虫孔交换机制的基础上引入虚拟信道技术,可以解决虫孔交换机制中产生的报文阻塞问题,且提高物理信道的利用率和整个网络传输的吞吐率;本发明还公开了一种片上网络路由传输报文的系统。
Description
技术领域
本发明涉及服务器技术领域,特别涉及一种片上网络路由传输报文的方法及片上网络路由。
背景技术
目前,片上网络路由主要采用虫孔交换机制来实现。虫孔交换机制是将一个报文划分成多个更小的微片(Flit)进行传输,链路每次仅传输一个微片,所以它具有较小缓存资源的优点,每个路由只需提供至少一个微片大小的缓存空间,但同时也存在一些缺点:产生阻塞和死锁问题。当Head微片一旦发生阻塞,该Head微片所属报文的其它微片也将进行就地阻塞,导致阻塞的影响扩大到多个路由中,增大了其它报文被阻塞的概率。
因此,如何降低报文被阻塞的概率,是本领域技术人员需要解决的技术问题。
发明内容
本发明的目的是提供一种片上网络路由传输报文的方法及系统,在虫孔交换机制的基础上引入虚拟信道技术,可以解决虫孔交换机制中产生的报文阻塞问题,且提高物理信道的利用率和整个网络传输的吞吐率。
为解决上述技术问题,本发明提供一种片上网络路由传输报文的方法,包括:
接收到报文的头微片时,根据所述头微片中的路由信息的编号,将所述头微片写入对应的输入虚拟信道的缓存队列中;
根据所述头微片中的路由信息及当前路由信息,利用路由算法得到所述报文的输出端口;
获取所述输出端口空闲的输出虚拟信道,并将所述输出虚拟信道分配给所述报文,并生成输出端口请求;
对所述输出端口请求进行仲裁;
若仲裁成功,则将所述报文通过所述输出虚拟信道进行数据传输。
其中,虚拟信道的构建方法,包括:
将至少两个虚拟信道连接到同一个物理信道,并为每条虚拟信道分配一个缓存空间;其中,所述虚拟信道包括输入虚拟信道和输出虚拟信道;所述缓存空间的宽度为一个微片的数据长度,深度为一个报文的最大微片个数;
当所述虚拟信道为输入虚拟信道时,每个输入虚拟信道分配有对应的缓存队列。
其中,对所述输出端口请求进行仲裁,包括:
通过Round-Robin轮询算法及基于credit的流控机制对所述输出端口请求进行仲裁。
其中,将所述报文通过所述输出虚拟信道进行数据传输,包括:
根据所述头微片对应的输入虚拟信道及输出虚拟信道,利用交换矩阵形成数据传输路径;
向所述头微片所在的缓存队列发送read信号,依次读出所述报文中的各个微片并通过所述数据传输路径进行数据传输。
本发明提供一种片上网络路由传输报文的系统,包括:
控制器,用于接收到报文的头微片时,根据所述头微片中的路由信息的编号,将所述头微片写入对应的输入虚拟信道的缓存队列中;根据所述头微片中的路由信息及当前路由信息,利用路由算法得到所述报文的输出端口;获取所述输出端口空闲的输出虚拟信道,并将所述输出虚拟信道分配给所述报文,并生成输出端口请求;对所述输出端口请求进行仲裁;若仲裁成功,则将所述报文通过所述输出虚拟信道进行数据传输;
输入缓存队列,用于缓存所述报文;
交换矩阵,用于将所述报文从对应的输入虚拟信道转送到输出虚拟信道。
其中,所述输入缓存队列包括至少两个虚拟信道,将至少两个虚拟信道连接到同一个物理信道,并为每条虚拟信道分配一个缓存空间;其中,所述虚拟信道包括输入虚拟信道和输出虚拟信道;所述缓存空间的宽度为一个微片的数据长度,深度为一个报文的最大微片个数;且每个输入虚拟信道分配有对应的缓存队列。
其中,所述交换矩阵为高阶交换开关包括至少两个输入端口和输出端口。
其中,所述控制器包括:
仲裁单元,用于通过Round-Robin轮询算法及基于credit的流控机制对所述输出端口请求进行仲裁。
其中,所述控制器包括:
开关分配单元,用于根据所述头微片对应的输入虚拟信道及输出虚拟信道,利用交换矩阵形成数据传输路径;向所述头微片所在的缓存队列发送read信号,依次读出所述报文中的各个微片并通过所述数据传输路径进行数据传输。
本发明所提供的片上网络路由传输报文的方法,包括:接收到报文的头微片时,根据所述头微片中的路由信息的编号,将所述头微片写入对应的输入虚拟信道的缓存队列中;根据所述头微片中的路由信息及当前路由信息,利用路由算法得到所述报文的输出端口;获取所述输出端口空闲的输出虚拟信道,并将所述输出虚拟信道分配给所述报文,并生成输出端口请求;对所述输出端口请求进行仲裁;若仲裁成功,则将所述报文通过所述输出虚拟信道进行数据传输;本发明还提供了一种片上网络路由传输报文的系统;
该方法在在虫孔交换机制的基础上,引入了虚拟信道技术,通过将一条物理信道划分成逻辑上的多条虚拟信道,实现物理信道的分时复用,虚拟信道技术将本来串行的缓存资源并行化,可以有效地缓解报文阻塞的发生,同时提高物理信道的利用率和整个片上网络的吞吐率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例所提供的片上网络路由传输报文的方法的流程图;
图2为本发明实施例所提供的虫孔交换机制路由在数据传输过程中出现阻塞问题的示意图;
图3为本发明实施例所提供的虚拟信道的结构示意图;
图4为本发明实施例所提供的片上网络路由传输报文的系统的结构框图;
图5为本发明实施例所提供的片上网络路由传输报文的系统的结构示意图。
具体实施方式
本发明的核心是提供一种片上网络路由传输报文的方法及系统,在虫孔交换机制的基础上引入虚拟信道技术,可以解决虫孔交换机制中产生的报文阻塞问题,且提高物理信道的利用率和整个网络传输的吞吐率。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参考图1,图1为本发明实施例所提供的片上网络路由传输报文的方法的流程图;该方法可以包括:
S100、接收到报文的头微片时,根据所述头微片中的路由信息的编号,将所述头微片写入对应的输入虚拟信道的缓存队列中;
为了缓解报文阻塞,通过虚拟信道技术实现串行的缓存资源并行化,具体的请参考图2,右图为使用了虚拟信道技术,左图为现有的虫孔交换机制;
假设XBAR0的p4端口阻塞了报文A,此时另一个报文B从XBAR0的p0端口输入,要经过p4端口,再转发到XBAR1的p0端口,传输路径是:p0(XBAR0)->p4(XBAR0)->p0(XBAR1)。
左图:因为p4端口被阻塞了,导致p4端口的整个物理信道不能继续传输数据,直到阻塞被清除。对于报文B的头微片,发现p4端口被占用阻塞,此时报文B头微片不能再使用p4端口进行报文转发。
右图:使用了虚拟信道技术后,可以解决这个阻塞问题。假设报文A头微片是在p4端口的虚拟信道0(VC0)被阻塞的,且虚拟信道1(VC1)处于空闲状态,则报文B可以使用p4端口的虚拟信道1对数据进行转发,这样报文B就可以正常的经过p4端口的VC1,再转发到XBAR1的p0端口。
因此,引入虚拟信道技术后,把物理信道分成了逻辑上的多条虚拟信道,当一条虚拟信道被阻塞时,可以通过其它的虚拟信道进行报文传输,实现了物理信道的分时复用,可以提高信道资源的利用率和吞吐率。
其中,报文是由多个微片组成,当系统接收到报文的头微片时,系统中控制器根据头微片路由信息中的VC编号即头微片中的路由信息的编号,将头微片及其他微片写入相应的输入虚拟信道的FIFO缓存中即缓存队列中。
S110、根据所述头微片中的路由信息及当前路由信息,利用路由算法得到所述报文的输出端口。
S120、获取所述输出端口空闲的输出虚拟信道,并将所述输出虚拟信道分配给所述报文,并生成输出端口请求;
其中,控制器中的路由计算单元会提取头微片中的路由信息,并根据当前路由与目标路由的位置关系,执行相应的路由算法为该头微片所在的整个报文选择一个输出端口,由于一个输出端口有多条输出虚拟信道,而头微片只能使用其中一条,所以需要经过虚拟信道分配模块为其分配一个空闲的输出虚拟信道。输出虚拟信道分配完后,会向控制器中的开关分配单元发送输出端口请求。
S130、对所述输出端口请求进行仲裁;
其中,通过对输出端口请求进行仲裁,在仲裁成功的情况下进行数据传输;在仲裁失败的情况下,为了避免出现数据丢失的情况,不允许进行报文传输。这里使用的仲裁方法可以是进行轮询,或者是进行流控制机制;优选的,对所述输出端口请求进行仲裁,包括:
通过Round-Robin轮询算法及基于credit的流控机制对所述输出端口请求进行仲裁。
其中,通过Round-Robin轮询算法从多条输出虚拟信道中仲裁出其中一条连接到输出端口,使用共享物理信道把报文转发出去。
其中,为了防止在传输过程中出现报文丢失,设计了精确的流控机制,来防止当下行路由(或模块)缓存空间满时,上行路由器(或模块)还在持续发送数据而产生丢失数据报文的现象。
基于credit的流控机制的基本思想:在每个路由器/模块的输出端口处设置一个counter,counter值表示下行路由器输入端口中可用缓存的数目。每当上行路由器发送一个微片,它自己的counter值减1,当counter值减到0时,表示下行路由输入端口的缓存队列已满,不能再继续发送,数据将在上行路由器中等待。当下行路由器中有数据发送出去时,意味着缓存被释放,就向上行路由器反馈一个credit,上行路由器接收到credit后,counter值加1。
基于credit的流控机制通过判断counter值是否为0能清楚的知道下行路由器缓存是否已满,然后决定是否向下行路由发送报文,可以高效的防止报文丢失的现象。
S140、若仲裁成功,则将所述报文通过所述输出虚拟信道进行数据传输。
其中,若仲裁成功,系统将报文中的微片依次从对应的输入虚拟信道通过所述输出虚拟信道进行数据传输。具体的,将所述报文通过所述输出虚拟信道进行数据传输,包括:
根据所述头微片对应的输入虚拟信道及输出虚拟信道,利用交换矩阵形成数据传输路径;
向所述头微片所在的缓存队列发送read信号,依次读出所述报文中的各个微片并通过所述数据传输路径进行数据传输。
其中,交换矩阵是一个高阶交换开关,有多个输入端口和多个输出端口。引入虚拟信道技术后,每一个输入端口处增加了输入缓存队列的数目,一条虚拟信道对应一个缓存队列,因为每条虚拟信道均分配独立的缓存空间。同时还增加了虚拟信道分配模块,完成虚拟信道仲裁和建立数据路径的虚连接。
具体的,开关分配单元根据基于Credit的流控机制反馈回来的流控信息,将该头微片的输出端口请求和其它与该头微片去往同一个输出端口的来自不同输入端口的请求进行竞争仲裁。当该头微片仲裁成功时,系统的交换矩阵将链接该头微片的输入端口和它请求的输出端口,创建一条数据通路,同时开关分配单元将向头微片所在的缓存队列发送Read信号,读出头微片且通过这条数据路径转发出去。
由以上描述可以得出,片上虚拟信道路由是按照四级流水的方式工作,四级流水依次是输出端口分配(路由计算)、虚拟信道分配、仲裁和数据传输,报文经过这四级Pipeline处理后,最后转发出去。
Pipeline1:根据头微片中的路由信息,计算出它的输出端口号;
Pipeline2:根据头微片中的路由信息,计算出该输出端口的输出虚拟信道;
Pipeline3:输出端口和输出虚拟信道仲裁;
Pipeline4:经过前三阶段,创建好了输入缓存、传输链路和输出端口之间的连接,即形成了数据路径,接下来进行数据传输。
因为头微片才包含路由信息,所以当头微片虚拟信道分配成功后,其它微片可以直接使用头微片的结果,跳过前两级流水,直接跳到仲裁和数据传输,故只有头微片需要前两个流水,其它的微片只需要完成后两个流水。
根据上述实施例,虚拟信道分配算法的设计配合基于信用的流控机制可以实现提高网络性能的目的。
基于上述技术方案,本发明实施例提供的片上网络路由传输报文的方法,该方法在虫孔交换机制的基础上引入虚拟信道技术,可以解决虫孔交换机制中产生的报文阻塞问题,且提高物理信道的利用率和整个网络传输的吞吐率。在虚拟信道交换网络中,如果一个报文头在传输过程中发生了阻塞现象,则进行就地阻塞,只会阻塞在当前选择的虚拟信道中,其它报文可以使用其它的空闲虚拟信道继续传输,对输出端口进行分时复用,因此在虫孔交换机制下引入虚拟信道技术后,一个输入或输出端口由多个虚拟信道分时复用,一个虚拟信道的阻塞并不会导致整个物理信道的阻塞,有效的缓解网络阻塞的发生,可以提高物理信道的利用率,也提高片上网络的饱和吞吐率。
基于上述实施例,虚拟信道的构建方法,包括:
将至少两个虚拟信道连接到同一个物理信道,并为每条虚拟信道分配一个缓存空间;其中,所述虚拟信道包括输入虚拟信道和输出虚拟信道;所述缓存空间的宽度为一个微片的数据长度,深度为一个报文的最大微片个数;
当所述虚拟信道为输入虚拟信道时,每个输入虚拟信道分配有对应的缓存队列。
其中,请参考图3,虚拟信道技术将多个逻辑信道(VC)连接到同一个物理信道,共享物理信道资源。虚拟信道技术为每条虚拟信道都分配一个独立的缓存空间,每增加一个虚拟信道就对应增加一份缓存空间,缓存空间的宽度是一个微片的数据长度,缓存深度是一个报文的最大微片个数。即图3中该输入缓存队列包括VC0,VC1和VC2三条输入虚拟信道和对应的VC0,VC1和VC2三条输出虚拟信道,对应VC0,VC1和VC2三条输入虚拟信道对应三个FIFO缓存队列。
基于上述技术方案,本发明实施例提供的片上网络路由传输报文的方法,当前路由接收到上游路由器转发过来的报文后,根据报文头路由信息中的VC字段,从多个输入虚拟信道中选择一个,把接收到的报文存储到该虚拟信道对应的FIFO缓存队列中。在向下游路由器转发数据前,根据报文头的路由信息及输出端口请求,通过VC仲裁机制(Round-Robin轮询算法),从多条输出虚拟信道中仲裁出其中一条连接到输出端口,使用共享物理信道把报文转发出去。因此,为了提高物理信道的利用率和改善阻塞问题,引入了虚拟信道技术,同时使用了Round-Robin轮询算法对输出虚拟信道进行仲裁。通过虚拟信道分配算法即路由算法的设计配合基于信用的流控机制可以实现提高网络性能的目的。
本发明实施例提供了片上网络路由传输报文的方法,通过引入虚拟信道技术,可以有效地缓解报文阻塞的情况的发生。
下面对本发明实施例提供的片上网络路由传输报文的系统进行介绍,下文描述的片上网络路由传输报文的系统与片上网络路由传输报文的方法可相互对应参照。
请参考图4,图4为本发明实施例所提供的片上网络路由传输报文的系统的结构框图;该系统可以包括:
控制器100,用于接收到报文的头微片时,根据所述头微片中的路由信息的编号,将所述头微片写入对应的输入虚拟信道的缓存队列中;根据所述头微片中的路由信息及当前路由信息,利用路由算法得到所述报文的输出端口;获取所述输出端口空闲的输出虚拟信道,并将所述输出虚拟信道分配给所述报文,并生成输出端口请求;对所述输出端口请求进行仲裁;若仲裁成功,则将所述报文通过所述输出虚拟信道进行数据传输;
输入缓存队列200,用于缓存所述报文;
交换矩阵300,用于将所述报文从对应的输入虚拟信道转送到输出虚拟信道。
可选的,所述输入缓存队列200包括至少两个虚拟信道,将至少两个虚拟信道连接到同一个物理信道,并为每条虚拟信道分配一个缓存空间;其中,所述虚拟信道包括输入虚拟信道和输出虚拟信道;所述缓存空间的宽度为一个微片的数据长度,深度为一个报文的最大微片个数;且每个输入虚拟信道分配有对应的缓存队列。
可选的,所述交换矩阵300为高阶交换开关包括至少两个输入端口和输出端口。
可选的,所述控制器100包括:
仲裁单元,用于通过Round-Robin轮询算法及基于credit的流控机制对所述输出端口请求进行仲裁。
可选的,所述控制器100包括:
开关分配单元,用于根据所述头微片对应的输入虚拟信道及输出虚拟信道,利用交换矩阵形成数据传输路径;向所述头微片所在的缓存队列发送read信号,依次读出所述报文中的各个微片并通过所述数据传输路径进行数据传输。
基于上述实施例,具体的请参考图5,该系统是一种缓存队列位于输入端口的结构,这种结构由输入缓存队列、交换矩阵和控制器三部分组成,其中控制器部分包括路由计算单元、虚拟信道分配单元、仲裁单元和开关分配单元。
其中,路由计算单元用于接收到报文的头微片时,根据所述头微片中的路由信息的编号,将所述头微片写入对应的输入虚拟信道的缓存队列中;根据所述头微片中的路由信息及当前路由信息,利用路由算法得到所述报文的输出端口;虚拟信道分配单元用于获取所述输出端口空闲的输出虚拟信道,并将所述输出虚拟信道分配给所述报文,并生成输出端口请求;仲裁单元用于通过Round-Robin轮询算法及基于credit的流控机制对所述输出端口请求进行仲裁;开关分配单元,用于根据所述头微片对应的输入虚拟信道及输出虚拟信道,利用交换矩阵形成数据传输路径;向所述头微片所在的缓存队列发送read信号,依次读出所述报文中的各个微片并通过所述数据传输路径进行数据传输。
采用这种结构,到达的报文首先存储在FIFO输入缓存中,然后经过控制部分的计算,确定输入缓存中的报文如何通过交换矩阵转发到输出端口。虚拟信道分配算法的设计配合基于信用的流控机制可以实现提高网络性能的目的。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本发明所提供的片上网络路由传输报文的方法及系统进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
Claims (9)
1.一种片上网络路由传输报文的方法,其特征在于,包括:
接收到报文的头微片时,根据所述头微片中的路由信息的编号,将所述头微片写入对应的输入虚拟信道的缓存队列中;
根据所述头微片中的路由信息及当前路由信息,利用路由算法得到所述报文的输出端口;
获取所述输出端口空闲的输出虚拟信道,并将所述输出虚拟信道分配给所述报文,并生成输出端口请求;
对所述输出端口请求进行仲裁;
若仲裁成功,则将所述报文通过所述输出虚拟信道进行数据传输。
2.如权利要求1所述的方法,其特征在于,虚拟信道的构建方法,包括:
将至少两个虚拟信道连接到同一个物理信道,并为每条虚拟信道分配一个缓存空间;其中,所述虚拟信道包括输入虚拟信道和输出虚拟信道;所述缓存空间的宽度为一个微片的数据长度,深度为一个报文的最大微片个数;
当所述虚拟信道为输入虚拟信道时,每个输入虚拟信道分配有对应的缓存队列。
3.如权利要求2所述的方法,其特征在于,对所述输出端口请求进行仲裁,包括:
通过Round-Robin轮询算法及基于credit的流控机制对所述输出端口请求进行仲裁。
4.如权利要求2所述的方法,其特征在于,将所述报文通过所述输出虚拟信道进行数据传输,包括:
根据所述头微片对应的输入虚拟信道及输出虚拟信道,利用交换矩阵形成数据传输路径;
向所述头微片所在的缓存队列发送read信号,依次读出所述报文中的各个微片并通过所述数据传输路径进行数据传输。
5.一种片上网络路由传输报文的系统,其特征在于,包括:
控制器,用于接收到报文的头微片时,根据所述头微片中的路由信息的编号,将所述头微片写入对应的输入虚拟信道的缓存队列中;根据所述头微片中的路由信息及当前路由信息,利用路由算法得到所述报文的输出端口;获取所述输出端口空闲的输出虚拟信道,并将所述输出虚拟信道分配给所述报文,并生成输出端口请求;对所述输出端口请求进行仲裁;若仲裁成功,则将所述报文通过所述输出虚拟信道进行数据传输;
输入缓存队列,用于缓存所述报文;
交换矩阵,用于将所述报文从对应的输入虚拟信道转送到输出虚拟信道。
6.如权利要求5所述的系统,其特征在于,所述输入缓存队列包括至少两个虚拟信道,将至少两个虚拟信道连接到同一个物理信道,并为每条虚拟信道分配一个缓存空间;其中,所述虚拟信道包括输入虚拟信道和输出虚拟信道;所述缓存空间的宽度为一个微片的数据长度,深度为一个报文的最大微片个数;且每个输入虚拟信道分配有对应的缓存队列。
7.如权利要求6所述的系统,其特征在于,所述交换矩阵为高阶交换开关包括至少两个输入端口和输出端口。
8.如权利要求7所述的系统,其特征在于,所述控制器包括:
仲裁单元,用于通过Round-Robin轮询算法及基于credit的流控机制对所述输出端口请求进行仲裁。
9.如权利要求7所述的系统,其特征在于,所述控制器包括:
开关分配单元,用于根据所述头微片对应的输入虚拟信道及输出虚拟信道,利用交换矩阵形成数据传输路径;向所述头微片所在的缓存队列发送read信号,依次读出所述报文中的各个微片并通过所述数据传输路径进行数据传输。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610066201.0A CN105721355A (zh) | 2016-01-29 | 2016-01-29 | 一种片上网络路由传输报文的方法及片上网络路由 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610066201.0A CN105721355A (zh) | 2016-01-29 | 2016-01-29 | 一种片上网络路由传输报文的方法及片上网络路由 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105721355A true CN105721355A (zh) | 2016-06-29 |
Family
ID=56155100
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610066201.0A Pending CN105721355A (zh) | 2016-01-29 | 2016-01-29 | 一种片上网络路由传输报文的方法及片上网络路由 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105721355A (zh) |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105955920A (zh) * | 2016-04-25 | 2016-09-21 | 浪潮电子信息产业股份有限公司 | 一种片上网络中基于Credit的流控机制的设计方法 |
CN107070810A (zh) * | 2017-02-27 | 2017-08-18 | 郑州云海信息技术有限公司 | 一种数据传输方法、装置及系统 |
CN107979544A (zh) * | 2016-10-25 | 2018-05-01 | 华为技术有限公司 | 一种ip报文的转发方法、设备和系统 |
CN108768898A (zh) * | 2018-04-03 | 2018-11-06 | 郑州云海信息技术有限公司 | 一种片上网络传输报文的方法及其装置 |
CN109039900A (zh) * | 2018-08-10 | 2018-12-18 | 北京邮电大学 | 一种发送credit包的停止信号的方法和装置 |
CN110460546A (zh) * | 2019-08-15 | 2019-11-15 | 电子科技大学 | 一种基于片上网络的数据采集方法 |
CN110659144A (zh) * | 2019-09-12 | 2020-01-07 | 无锡江南计算技术研究所 | 支持请求响应多端口异步多播的高吞吐混合仲裁路由机制 |
CN110679123A (zh) * | 2017-05-26 | 2020-01-10 | 慧与发展有限责任合伙企业 | 虚拟信道路由 |
CN110691043A (zh) * | 2019-09-11 | 2020-01-14 | 无锡江南计算技术研究所 | 一种支持多源多虚通道非连续传输的插花整理方法 |
CN111030927A (zh) * | 2019-11-20 | 2020-04-17 | 中国人民解放军国防科技大学 | 一种顺序感知的片上网络路由方法和网络路由器 |
CN111131091A (zh) * | 2019-12-25 | 2020-05-08 | 中山大学 | 一种面向片上网络的片间互连方法和系统 |
CN112152932A (zh) * | 2020-09-11 | 2020-12-29 | 山东云海国创云计算装备产业创新中心有限公司 | 片上网络路由控制方法、片上网络路由器及可读存储介质 |
CN112380038A (zh) * | 2020-12-29 | 2021-02-19 | 安徽皖通邮电股份有限公司 | 基于共享物理通道的通讯设备控制面和数据面分离方法 |
CN112866148A (zh) * | 2021-01-12 | 2021-05-28 | 之江实验室 | 一种面向类脑计算芯片的芯片间数据传输架构及实现方法 |
CN113365105A (zh) * | 2021-06-30 | 2021-09-07 | 北京奇艺世纪科技有限公司 | 一种内容生产控制方法、装置、设备及存储介质 |
WO2022160307A1 (zh) * | 2021-01-30 | 2022-08-04 | 华为技术有限公司 | 一种路由器及片上系统 |
CN114978859A (zh) * | 2022-05-13 | 2022-08-30 | 海光信息技术股份有限公司 | 片上网络架构及相关设备、数据传输系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101753388A (zh) * | 2008-11-28 | 2010-06-23 | 中国科学院微电子研究所 | 适用于多核处理器片上和片间扩展的路由及接口装置 |
CN102629913A (zh) * | 2012-04-11 | 2012-08-08 | 浙江大学 | 适用于全局异步局部同步片上互连网络的路由器装置 |
CN102857445A (zh) * | 2012-09-10 | 2013-01-02 | 西安电子科技大学 | 片上网络路由器的低开销分配结构及分配方法 |
-
2016
- 2016-01-29 CN CN201610066201.0A patent/CN105721355A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101753388A (zh) * | 2008-11-28 | 2010-06-23 | 中国科学院微电子研究所 | 适用于多核处理器片上和片间扩展的路由及接口装置 |
CN102629913A (zh) * | 2012-04-11 | 2012-08-08 | 浙江大学 | 适用于全局异步局部同步片上互连网络的路由器装置 |
CN102857445A (zh) * | 2012-09-10 | 2013-01-02 | 西安电子科技大学 | 片上网络路由器的低开销分配结构及分配方法 |
Cited By (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105955920A (zh) * | 2016-04-25 | 2016-09-21 | 浪潮电子信息产业股份有限公司 | 一种片上网络中基于Credit的流控机制的设计方法 |
CN107979544A (zh) * | 2016-10-25 | 2018-05-01 | 华为技术有限公司 | 一种ip报文的转发方法、设备和系统 |
CN107070810A (zh) * | 2017-02-27 | 2017-08-18 | 郑州云海信息技术有限公司 | 一种数据传输方法、装置及系统 |
CN110679123B (zh) * | 2017-05-26 | 2022-02-25 | 慧与发展有限责任合伙企业 | 虚拟信道路由方法、网络设备、以及介质 |
CN110679123A (zh) * | 2017-05-26 | 2020-01-10 | 慧与发展有限责任合伙企业 | 虚拟信道路由 |
CN108768898A (zh) * | 2018-04-03 | 2018-11-06 | 郑州云海信息技术有限公司 | 一种片上网络传输报文的方法及其装置 |
CN109039900B (zh) * | 2018-08-10 | 2020-06-12 | 北京邮电大学 | 一种发送credit包的停止信号的方法和装置 |
CN109039900A (zh) * | 2018-08-10 | 2018-12-18 | 北京邮电大学 | 一种发送credit包的停止信号的方法和装置 |
CN110460546A (zh) * | 2019-08-15 | 2019-11-15 | 电子科技大学 | 一种基于片上网络的数据采集方法 |
CN110691043A (zh) * | 2019-09-11 | 2020-01-14 | 无锡江南计算技术研究所 | 一种支持多源多虚通道非连续传输的插花整理方法 |
CN110691043B (zh) * | 2019-09-11 | 2021-10-29 | 无锡江南计算技术研究所 | 一种支持多源多虚通道非连续传输的插花整理方法 |
CN110659144B (zh) * | 2019-09-12 | 2022-01-07 | 无锡江南计算技术研究所 | 支持请求响应多端口异步多播的高吞吐混合仲裁路由方法 |
CN110659144A (zh) * | 2019-09-12 | 2020-01-07 | 无锡江南计算技术研究所 | 支持请求响应多端口异步多播的高吞吐混合仲裁路由机制 |
CN111030927A (zh) * | 2019-11-20 | 2020-04-17 | 中国人民解放军国防科技大学 | 一种顺序感知的片上网络路由方法和网络路由器 |
CN111030927B (zh) * | 2019-11-20 | 2021-07-23 | 中国人民解放军国防科技大学 | 一种顺序感知的片上网络路由方法和网络路由器 |
CN111131091A (zh) * | 2019-12-25 | 2020-05-08 | 中山大学 | 一种面向片上网络的片间互连方法和系统 |
CN112152932A (zh) * | 2020-09-11 | 2020-12-29 | 山东云海国创云计算装备产业创新中心有限公司 | 片上网络路由控制方法、片上网络路由器及可读存储介质 |
CN112152932B (zh) * | 2020-09-11 | 2022-11-18 | 山东云海国创云计算装备产业创新中心有限公司 | 片上网络路由控制方法、片上网络路由器及可读存储介质 |
CN112380038A (zh) * | 2020-12-29 | 2021-02-19 | 安徽皖通邮电股份有限公司 | 基于共享物理通道的通讯设备控制面和数据面分离方法 |
CN112380038B (zh) * | 2020-12-29 | 2022-09-02 | 安徽皖通邮电股份有限公司 | 基于共享物理通道的通讯设备控制面和数据面分离方法 |
CN112866148A (zh) * | 2021-01-12 | 2021-05-28 | 之江实验室 | 一种面向类脑计算芯片的芯片间数据传输架构及实现方法 |
WO2022160307A1 (zh) * | 2021-01-30 | 2022-08-04 | 华为技术有限公司 | 一种路由器及片上系统 |
CN113365105A (zh) * | 2021-06-30 | 2021-09-07 | 北京奇艺世纪科技有限公司 | 一种内容生产控制方法、装置、设备及存储介质 |
CN113365105B (zh) * | 2021-06-30 | 2022-12-06 | 北京奇艺世纪科技有限公司 | 一种内容生产控制方法、装置、设备及存储介质 |
CN114978859A (zh) * | 2022-05-13 | 2022-08-30 | 海光信息技术股份有限公司 | 片上网络架构及相关设备、数据传输系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105721355A (zh) | 一种片上网络路由传输报文的方法及片上网络路由 | |
JP2024079720A (ja) | 相互接続に関連付けられている仮想チャネルを介するトランザクションの部分のアービトレーション | |
CN102096648B (zh) | 基于fpga的实现多路突发数据业务缓存的系统及方法 | |
CN101841420B (zh) | 面向片上网络的低延迟路由器结构 | |
US11799799B2 (en) | Use of stashing buffers to improve the efficiency of crossbar switches | |
CN102185751B (zh) | 一种基于快速通道技术的单周期片上路由器 | |
US10749811B2 (en) | Interface virtualization and fast path for Network on Chip | |
CN104901899B (zh) | 二维片上网络拓扑结构的自适应路由方法 | |
KR100905802B1 (ko) | 컴퓨터 시스템의 입력/출력 노드에서 태깅 및 중재 매카니즘 | |
CN111858413B (zh) | Pcie交换芯片端口的数据调度方法及装置 | |
CN108768898A (zh) | 一种片上网络传输报文的方法及其装置 | |
US8040907B2 (en) | Switching method | |
EP3579507B1 (en) | Dynamic scheduling methods, platform, system and switch apparatus. | |
CN109716719B (zh) | 数据处理方法及装置、交换设备 | |
CN113285935A (zh) | 一种通信系统和一种片上网络路由器 | |
US8976802B2 (en) | Prediction-based switch allocator | |
JP2005505855A (ja) | コンピュータ・システムの入出力ノード | |
Escudero-Sahuquillo et al. | FBICM: Efficient congestion management for high-performance networks using distributed deterministic routing | |
CN112468392B (zh) | 一种处理多播流量死锁问题的片上网络及方法 | |
Duato | Improving the efficiency of virtual channels with time-dependent selection functions | |
CN117176674B (zh) | 片上网络及数据传输方法、芯片、设备 | |
Escobar et al. | Performance evaluation of a Network on a Chip router using SystemC and TLM 2.0 | |
CN115695292A (zh) | 一种基于片上网络的广播传输电路 | |
Valuskar et al. | Analysis of Mesh Topology of NoC for Blocking and Non-blocking Techniques | |
CN116686269A (zh) | 一种路由器及片上系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160629 |