CN111382114A - 一种用于片上网络的数据传输方法、装置及电子设备 - Google Patents
一种用于片上网络的数据传输方法、装置及电子设备 Download PDFInfo
- Publication number
- CN111382114A CN111382114A CN201811619018.4A CN201811619018A CN111382114A CN 111382114 A CN111382114 A CN 111382114A CN 201811619018 A CN201811619018 A CN 201811619018A CN 111382114 A CN111382114 A CN 111382114A
- Authority
- CN
- China
- Prior art keywords
- identification information
- data packet
- network node
- effective transmission
- transmission information
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
- G06F15/7825—Globally asynchronous, locally synchronous, e.g. network on chip
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种用于片上网络的数据传输方法、装置及电子设备,用于解决现有技术中在众核芯片采用NOC进行核与核之间的通信时,开销巨大的问题。包括:第二网络节点接收到第一网络节点发送的第一数据包,其中,所述第一数据包包括第一标识信息和数据包载荷;所述第二网络节点根据所述第一标识信息确定有效传输信息,以及与所述有效传输信息对应的第二标识信息;所述第二网络节点根据所述第二标识信息和所述数据包载荷确定第二数据包;所述第二网络节点根据所述有效传输信息发送所述第二数据包。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种用于片上网络的数据传输方法、装置及电子设备。
背景技术
随着人工智能技术的发展,用户对芯片处理能力的要求越来越高,由于单核芯片的处理能力有限,因此众核芯片的使用越来越广泛。在众核芯片设计中,使用片上网络(Networks on Chip,NOC)实现核与核之间的通信,因此,NOC的性能是众核芯片性能的关键。
在现有技术中,众核芯片采用NOC进行核与核之间的通信,举例说明:主数据发送单元(Master,M)将数据包发送给从数据接收单元(Slave,S)具体方式如下:首先M在数据包包头添加目的核的地址,然后M将数据包发送给与自己相连的中间网络节点(Node,n),n将数据包直接或者通过其他中间网络节点发送给S。采用上述方法由于需要在包头中添加目的核的地址,增大负荷,进一步的,当数据数据包需要多播给多个S时,需要在包头中添加多个目的核的地址,负荷更大;当进行数据传输时还需要对所有的核进行统一编址,每个核中都需要保存完整的路由表,开销巨大。
发明内容
有鉴于此,本发明提供了一种用于片上网络的数据传输方法、装置及电子设备,用于解决现有技术中在众核芯片采用NOC进行核与核之间的通信时,开销巨大的问题。
根据本发明实施例的第一个方面,提供了一种用于片上网络的数据传输方法,包括:第二网络节点接收到第一网络节点发送的第一数据包,其中,所述第一数据包包括第一标识信息和数据包载荷;所述第二网络节点根据所述第一标识信息确定有效传输信息,以及与所述有效传输信息对应的第二标识信息;所述第二网络节点根据所述第二标识信息和所述数据包载荷确定第二数据包;所述第二网络节点根据所述有效传输信息发送所述第二数据包。
通过上述方法,可以根据第一标识信息确定数据包的有效传输信息以及第二标识信息,根据有效传输信息传输数据包,不需要再数据包中设置目的地地址的数据包包头,减小开销。
在一个实施例中,所述有效传输信息为一个或多个,所述第二标识信息与所述有效传输信息一一对应。
通过该方法,可以实现数据包的多播。
在一个实施例中,所述第二网络节点根据所述第一标识信息确定有效传输信息,以及与所述有效传输信息对应的第二标识信息,具体包括:所述第二网络节点根据所述第一标识信息查找预先设置的路径路由表,确定有效传输信息,以及与所述有效传输信息对应的第二标识信息,其中,所述路径路由表是根据所述第一标识信息设置的,包括所述第一标识信息、所述有效传输信息和所述第二标识信息。
通过该方法,根据预先设置的路径路由表查找有效传输信息以及有效传输信息对应的第二标识信息,所述路径路由表视根据第一标识信息的数量设置的,第二网络节点中不需要保存完整的路由表,减小开销。
在一个实施例中,所述第二网络节点根据所述第二标识信息和所述数据包载荷确定第二数据包,具体包括:所述第二网络节点用所述第二标识信息替换所述第一数据包中的所述第一标识信息,获得第二数据包。
通过该方法,每经过一个节点,更新一次数据包,保证根据数据包中的标识信息查找有效传输信息的准确性。
在一个实施例中,所述第二网络节点接收到第一网络节点发送的第一数据包之后,该方法还包括:若没有所述有效传输信息,则所述第二网络节点根据所述第一标识信息确定所述第一数据包的存储地址;所述第二网络节点将所述第一数据包存储至所述存储地址。
通过该方法,若第二网络节点为从数据接收单元时,可以有效的处理第一数据包。
在一个实施例中,所述路径路由表存储在所述第二网络节点的寄存器中,或者存储在随机存取存贮器中。
根据本发明实施例的第二个方面,提供了一种用于片上网络的数据传输装置,包括:接收单元,用于接收到第一网络节点发送的第一数据包,其中,所述第一数据包包括第一标识信息和数据包载荷;第一确定单元,用于根据所述第一标识信息确定有效传输信息,以及与所述有效传输信息对应的第二标识信息;第二确定单元,用于根据所述第二标识信息和所述数据包载荷确定第二数据包;发送单元,用于根据所述有效传输信息发送所述第二数据包。
在一个实施例中,所述有效传输信息为一个或多个,所述第二标识信息与所述有效传输信息一一对应。
在一个实施例中,所述第一确定单元具体用于:根据所述第一标识信息查找预先设置的路径路由表,确定有效传输信息,以及与所述有效传输信息对应的第二标识信息,其中,所述路径路由表是根据所述第一标识信息设置的,包括所述第一标识信息、所述有效传输信息和所述第二标识信息。
在一个实施例中,所述第二确定单元具体用于:用所述第二标识信息替换所述第一数据包中的所述第一标识信息,获得第二数据包。
在一个实施例中,所述装置还包括存储单元:若没有所述有效传输信息,则用于根据所述第一标识信息确定所述第一数据包的存储地址;将所述第一数据包存储至所述存储地址。
在一个实施例中,所述路径路由表存储在所述接收单元所属的第二网络节点的寄存器中,或者存储在随机存取存贮器中。
根据本发明实施例的第三个方面,提供了一种电子设备,所述电子设备包括:多个处理核;以及片上网络,被配置为交互所述多个处理核间的数据和外部数据;所述多个处理核中存储指令,根据所述指令所述电子设备执行如第一方面或第一方面任一种可能所述的方法。
根据本发明实施例的第四个方面,提供了一种计算机可读存储介质,其上存储计算机程序指令,所述计算机程序指令在被处理器执行时实现如第一方面或第一方面任一种可能所述的方法。
根据本发明实施例的第五个方面,提供了一种计算机程序产品,所述计算机程序产品在计算机上运行时,使得所述计算机执行如第一方面或第一方面任一种可能所述的方法。
本发明实施例的有益效果包括:首先第二网络节点接收到第一网络节点发送的第一数据包,其中,所述第一数据包包括第一标识信息和数据包载荷,然后所述第二网络节点根据所述第一标识信息确定有效传输信息,以及与所述有效传输信息对应的第二标识信息,所述第二网络节点根据所述第二标识信息和所述数据包载荷确定第二数据包,最后所述第二网络节点根据所述有效传输信息发送所述第二数据包。本发明实施例中,无论是单播还是多播,数据包中只需要包含第一标识信息,不需要包含目的核的地址,减小负荷,并且在确定有效传输信息时,需要的路径路由表是根据第一标识信息的数量设置的,网络节点中不需要保存完整的路由表,减小开销。
附图说明
通过以下参照附图对本发明实施例的描述,本发明的上述以及其它目的、特征和优点将更为清楚,在附图中:
图1是本发明实施例提供的一种用于片上网络的数据传输方法流程图;
图2是本发明实施例提供的一种用于片上网络的数据传输示意图;
图3是本发明实施例提供的另一种用于片上网络的数据传输示意图;
图4是本发明实施例提供的另一种用于片上网络的数据传输方法流程图;
图5是本发明实施例提供的再一种用于片上网络的数据传输方法流程图;
图6是本发明实施例提供的一种用于片上网络的数据传输装置示意图;
图7是本发明实施例提供的一种电子设备结构示意图。
具体实施方式
以下基于实施例对本发明进行描述,但是本发明并不仅仅限于这些实施例。在下文对本发明的细节描述中,详尽描述了一些特定的细节部分。对本领域技术人员来说没有这些细节部分的描述也可以完全理解本申请。此外,本领域普通技术人员应当理解,在此提供的附图都是为了说明的目的。
除非上下文明确要求,否则整个说明书和权利要求书中的“包括”、“包含”等类似词语应当解释为包含的含义而不是排他或穷举的含义;也就是说,是“包括但不限于”的含义。
在本发明的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,不代表顺序,也不能理解为指示或暗示相对重要性。此外,在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
在现有技术中,众核芯片采用NOC进行核与核之间的通信,以背景技术中将数据包从主数据发送单元发送至从数据接收单元的方法为例,存在很多缺点,具体如下:1)单播的情况下,需要在包头中添加目的核的地址,增大负荷。2)多播的情况下,需要在包头中添加多个目的核的地址,负荷更大。3)当多个数据包共用一个包头时,共用同一个包头的数据包需要一起缓存到中间网络节点,因此占用中间网络节点的缓存较大,且共用一个包头传输的多个数据包的传输不能打断,影响其它使用该中间网络节点的其它核的传输效率。4)进行数据传输时还需要对所有的核进行统一编址,每个核中都需要保存完整的路由表,开销巨大。
为解决现有技术的问题,本发明提供的一种用于片上网络的数据传输方法,具体如图1所示,包括:
步骤S100、第二网络节点接收到第一网络节点发送的第一数据包,其中,所述第一数据包包括第一标识信息和数据包载荷。
具体的,所述第一网络节点可以为主数据发送单元M,也可以为中间网络节点,所述第二网络节点可以为中间网络节点,也可以为从数据接收单元S。
举例说明:第一标识信息为0,第一标识信息的标号为ID0,即ID0=0,或者,第一标识信息为1,第一标识信息的标号为ID1,即ID1=1,或者,第一标识信息为0,第一标识信息的标号为ID2,即ID2=0,具体根据实际情况确定,上述仅仅是示例性表述。
步骤S101、所述第二网络节点根据所述第一标识信息确定有效传输信息,以及与所述有效传输信息对应的第二标识信息。
具体的,所述第二网络节点根据所述第一标识信息查找预先设置的路径路由表,确定有效传输信息,以及与所述有效传输信息对应的第二标识信息,其中,所述路径路由表是根据所述第一标识信息设置的,包括所述第一标识信息、所述有效传输信息和所述第二标识信息,具体的,根据所述第一标识信息的数量设置的,所述有效传输信息是指数据包在某一出口是否发出,所述有效传输信息为一个或多个,所述第二标识信息与所述有效传输信息一一对应。
举例说明,假设第二网络节点中预先设置的路径路由表如下表1所示:
表1
其中,所述第一标识信息的值可以为多个,具体根据硬件情况确定,同理,出口1新的标识信息以及出口2新的标识信息也是根据硬件情况确定的,第一标识信息对应几个出口根据实际情况确定,本发明对其不做限定,例如,第一标识信息等于0时,数据包载荷确定由出口1发出,出口1新的标识信息为0,出口1新的标识信息的标号可以按顺序称为ID1,即ID1=0。
步骤S102、所述第二网络节点根据所述第二标识信息和所述数据包载荷确定第二数据包。
具体的,所述第二网络节点用所述第二标识信息替换所述第一数据包中的所述第一标识信息,获得第二数据包。
步骤S103、根据所述至少一个所述数据包载荷的传输方向发送所述至少一个第二数据包。
假设主数据发送单元为M0,M0经过中间网络节点n1和n2发送数据包至从数据接收单元S1,具体如图2所示,M0发送的第一数据包中携带标识信息0,标识信息的标号为ID0,即ID0=0,n1接收到该数据包后,根据ID0=0查询自身的路径路由表,确定发出数据包载荷的出口以及新的标识信息0,标识信息的标号为ID1,即ID1=0,将数据包载荷添加新的标识信息0,确定为新的第二数据包,将第二数据包发送给n2,n2接收到第二数据包后根据ID1=0,确定发出数据包载荷的出口以及新的标识信息0,标识信息的标号为ID2,即ID2=0,将数据包载荷添加新的标识信息0,确定为新的第三数据包,将新的第三数据包发送给S1。从M0到n1到n2到S1为数据包的发送路径,由于发送路径是预先设定的,中间节点中的路径路由表也是预先设定的。
本发明实施例中,首先第二网络节点接收到第一网络节点发送的第一数据包,其中,所述第一数据包包括第一标识信息和数据包载荷,然后所述第二网络节点根据所述第一标识信息确定有效传输信息,以及与所述有效传输信息对应的第二标识信息,所述第二网络节点根据所述第二标识信息和所述数据包载荷确定第二数据包,最后所述第二网络节点根据所述有效传输信息发送所述第二数据包。本发明实施例中,无论是单播还是多播,数据包中只需要包含第一标识信息,不需要包含目的核的地址,减小负荷,并且在确定有效传输信息时,需要的路径路由表是根据第一标识信息的数量设置的,网络节点中不需要保存完整的路由表,减小开销。
可选的,步骤S100中所述第二网络节点为从数据接收单元S,步骤S100之后,还包括:若没有所述有效传输信息,则所述第二网络节点根据所述第一标识信息确定所述第一数据包的存储地址;所述第二网络节点将所述第一数据包存储至所述存储地址。
具体的,根据第一标识信息按照设定方式获取存储地址产生方式,计算存储地址,将第一数据包存储至所述存储地址,其中,所述设定方式为查表或者在上一个存储地址上递增。
可选的,所述路径路由表存储在所述第二网络节点的寄存器中,或者存储在随机存取存贮器中。
下面通过一个具体实施例,对本发明提出的一种用于片上网络的数据传输方法进行详细说明,应用场景如图3所示,假设存在两个主数据发送单元,分别为M0和M1,M0将数据包发送给从数据接收单元S1和S2,M1将数据包发送给从数据接收单元S3,具有4个中间网络节点,分为n1,n2,n3和n4。具体的,M0通过ID0,ID1和ID2将数据包发送给S1,经过n1和n2中间网络节点;M0通过ID0,ID1,ID3和ID4将数据包发送给S2,经过n1、n2和n4中间网络节点;上述M0到S1和S2的路径可以称为路径0;M1通过ID0’,ID1’,ID2’和ID3’将数据包发送给S3,中间经过n2、n4和n3中间网络节点,上述M1将到S3的路径可以称为路径1。
路径0的具体处理流程如图4所示。
步骤S400、M0将数据包a发送给n1,其中,数据包a包括标识信息0和数据包载荷。
具体的,所述标识信息的标号为ID0,即ID0=0,为了在以下步骤中清楚的表示数据包中包括的标识信息,下面将标识信息的标号也同时表示,但实际传送过程中,数据包中可以不包括标识信息的标号,也可以包括标识信息的标号。
步骤S401、n1接收数据包a,根据ID0=0查询节点n1中保存的路径路由表1,确定从右边出口发出数据包,且该数据包的ID1=0。
具体的,路径路由表1如下所示:
路径路由表1
由上表可知n1的出口有四个方向,根据查表确定从n1右边出口发送数据包载荷至n2,并确定新标识信息为ID1=0。
步骤S402、用新标识信息ID1=0替换数据包a中的原标识信息0获得新的数据包b。
步骤S403、将数据包b发送给n2。
步骤S404、n2接收数据包b,根据ID1=0查询节点n2中存储的路径路由表2,确定从右边出口发出数据包,且该数据包的新标识信息ID2=0以及从下边出口发出数据包,且该数据包的新标识信息ID3=1。
具体的,路径路由表2如下所示:
路径路由表2
由上表可知n2的出口有四个方向,根据查表确定从n2右边出口发送数据包载荷至S1,并确定给出新标识信息为ID2=0;从n2下边出口发送数据包载荷至n4,并确定给出新标识信息为ID3=1。
步骤S405、用新标识信息ID2=0替换数据包b中的标识信息ID1=0,获得新的数据包c,同时用新标识信息ID3=1替换接收的数据包中的标识信息ID1=0,获得新的数据包d。
步骤S406、节点n2将数据包c发送给S1,将数据包d发送给n4。
步骤S407、n4接收数据包d,根据ID3=1查询节点n4中保存的路径路由表3,确定从下边出口发出数据包,且该数据包的ID4=0。
具体的,路径路由表3如下所示:
路径路由表3
由上表可知n4的出口有四个方向,根据查表确定从n4下边出口发送数据包载荷至S2,并确定给出新标识信息为ID4=0。
步骤S408、用新标识信息ID4=0替换数据包d中的ID3=1,获得新的数据包e。
步骤S409、将数据包e发送给S2。
步骤S410、步骤S406和步骤S409中将数据包c发送给S1和将数据包e发送给S2后,S1根据ID2=0获取存储地址产生方式,计算存储地址,将该数据包存储至存储地址;S2根据ID4=0获取存储地址产生方式,计算存储地址,将该数据包存储至存储地址。
路径1的具体处理流程如图5所示:
步骤S500、M1将数据包f发送给n2,其中,数据包f包括标识信息ID0’=1和数据包载荷。
步骤S501、n2接收数据包f,根据ID0’=1查询节点n2中保存的路径路由表2,确定从下边出口发出数据包,且该数据包的ID1’=0。
步骤S502、用新标识信息ID1’=0替换数据包a中的原标识信息ID0’=1获得新的数据包g。
步骤S503、将数据包g发送给n4。
步骤S504、n4接收数据包g,根据ID1’=0查询节点n4中存储的路径路由表3,确定从左边出口发出数据包,且该数据包的新标识信息ID2’=0。
步骤S505、用新标识信息ID2’=0替换数据包g中的原标识信息ID1’=0获得新的数据包h。
步骤S506、将数据包h发送给n3。
步骤S507、n3接收数据包h,根据ID2’=0查询节点n3中保存的路径路由表4,确定从下边出口发出数据包,且该数据包的ID3’=0。
具体的,路径路由表4如下所示:
路径路由表4
由上表可知n3的出口有四个方向,根据查表确定从n3下边出口发送数据包载荷至S3,并确定新标识信息ID3’=0。
步骤S508、用新标识信息ID3’=0替换数据包h中的原标识信息ID2’=0获得新的数据包i。
步骤S509、将数据包i发送给S3。
步骤S510、S3根据ID3’=0获取存储地址产生方式,计算存储地址,将该数据包存储至存储地址。
上述两条处理流程没有时间上的先后顺序。
图6是本发明实施例提供的一种用于片上网络的数据传输装置。
如图6所示,本实施例的用于片上网络的数据传输装置包括:接收单元61、第一确定单元62、第二确定单元63和发送单元64。其中,所述接收单元61,用于接收到第一网络节点发送的第一数据包,其中,所述第一数据包包括第一标识信息和数据包载荷;第一确定单元62,用于根据所述第一标识信息确定有效传输信息,以及与所述有效传输信息对应的第二标识信息;第二确定单元63,用于根据所述第二标识信息和所述数据包载荷确定第二数据包;发送单元64,用于根据所述有效传输信息发送所述第二数据包。
在一个实施例中,所述有效传输信息为一个或多个,所述第二标识信息与所述有效传输信息一一对应。
在一个实施例中,所述第一确定单元具体用于:根据所述第一标识信息查找预先设置的路径路由表,确定有效传输信息,以及与所述有效传输信息对应的第二标识信息,其中,所述路径路由表是根据所述第一标识信息设置的,包括所述第一标识信息、所述有效传输信息和所述第二标识信息。
在一个实施例中,所述第二确定单元具体用于:用所述第二标识信息替换所述第一数据包中的所述第一标识信息,获得第二数据包。
在一个实施例中,所述装置还包括存储单元:若没有所述有效传输信息,则用于根据所述第一标识信息确定所述第一数据包的存储地址;将所述第一数据包存储至所述存储地址。
在一个实施例中,所述路径路由表存储在所述接收单元所属的第二网络节点的寄存器中,或者存储在随机存取存贮器中。
图7是本发明实施例的电子设备的结构示意图。
如图7所示,本实施例的电子设备包括处理核11-1N以及片上网络14。处理核11-1N均与片上网络14连接。片上网络14用于交互所述N个处理核间的数据和外部数据。所述N个处理核中存储指令,根据所述指令所述电子设备执行如下操作:第二网络节点接收到第一网络节点发送的第一数据包,其中,所述第一数据包包括第一标识信息和数据包载荷;所述第二网络节点根据所述第一标识信息确定有效传输信息,以及与所述有效传输信息对应的第二标识信息;所述第二网络节点根据所述第二标识信息和所述数据包载荷确定第二数据包;所述第二网络节点根据所述有效传输信息发送所述第二数据包。
如本领域技术人员将意识到的,本发明实施例的各个方面可以被实现为系统、方法或计算机程序产品。因此,本发明实施例的各个方面可以采取如下形式:完全硬件实施方式、完全软件实施方式(包括固件、常驻软件、微代码等)或者在本文中通常可以都称为“电路”、“模块”或“系统”的将软件方面与硬件方面相结合的实施方式。此外,本发明实施例的各个方面可以采取如下形式:在一个或多个计算机可读介质中实现的计算机程序产品,计算机可读介质具有在其上实现的计算机可读程序代码。
可以利用一个或多个计算机可读介质的任意组合。计算机可读介质可以是计算机可读信号介质或计算机可读存储介质。计算机可读存储介质可以是如(但不限于)电子的、磁的、光学的、电磁的、红外的或半导体系统、设备或装置,或者前述的任意适当的组合。计算机可读存储介质的更具体的示例(非穷尽列举)将包括以下各项:具有一根或多根电线的电气连接、便携式计算机软盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪速存储器)、光纤、便携式光盘只读存储器(CD-ROM)、光存储装置、磁存储装置或前述的任意适当的组合。在本发明实施例的上下文中,计算机可读存储介质可以为能够包含或存储由指令执行系统、设备或装置使用的程序或结合指令执行系统、设备或装置使用的程序的任意有形介质。
计算机可读信号介质可以包括传播的数据信号,所述传播的数据信号具有在其中如在基带中或作为载波的一部分实现的计算机可读程序代码。这样的传播的信号可以采用多种形式中的任何形式,包括但不限于:电磁的、光学的或其任何适当的组合。计算机可读信号介质可以是以下任意计算机可读介质:不是计算机可读存储介质,并且可以对由指令执行系统、设备或装置使用的或结合指令执行系统、设备或装置使用的程序进行通信、传播或传输。
可以使用包括但不限于无线、有线、光纤电缆、RF等或前述的任意适当组合的任意合适的介质来传送实现在计算机可读介质上的程序代码。
用于执行针对本发明实施例各方面的操作的计算机程序代码可以以一种或多种编程语言的任意组合来编写,所述编程语言包括:面向对象的编程语言如Java、Smalltalk、C++等;以及常规过程编程语言如“C”编程语言或类似的编程语言。程序代码可以作为独立软件包完全地在用户计算机上、部分地在用户计算机上执行;部分地在用户计算机上且部分地在远程计算机上执行;或者完全地在远程计算机或服务器上执行。在后一种情况下,可以将远程计算机通过包括局域网(LAN)或广域网(WAN)的任意类型的网络连接至用户计算机,或者可以与外部计算机进行连接(例如通过使用因特网服务供应商的因特网)。
上述根据本发明实施例的方法、设备(系统)和计算机程序产品的流程图图例和/或框图描述了本发明实施例的各个方面。将要理解的是,流程图图例和/或框图的每个块以及流程图图例和/或框图中的块的组合可以由计算机程序指令来实现。这些计算机程序指令可以被提供至通用计算机、专用计算机或其它可编程数据处理设备的处理器,以产生机器,使得(经由计算机或其它可编程数据处理设备的处理器执行的)指令创建用于实现流程图和/或框图块或块中指定的功能/动作的装置。
还可以将这些计算机程序指令存储在可以指导计算机、其它可编程数据处理设备或其它装置以特定方式运行的计算机可读介质中,使得在计算机可读介质中存储的指令产生包括实现在流程图和/或框图块或块中指定的功能/动作的指令的制品。
计算机程序指令还可以被加载至计算机、其它可编程数据处理设备或其它装置上,以使在计算机、其它可编程设备或其它装置上执行一系列可操作步骤来产生计算机实现的过程,使得在计算机或其它可编程设备上执行的指令提供用于实现在流程图和/或框图块或块中指定的功能/动作的过程。
以上所述仅为本发明的优选实施例,并不用于限制本发明,对于本领域技术人员而言,本发明可以有各种改动和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (15)
1.一种用于片上网络的数据传输方法,其特征在于,包括:
第二网络节点接收到第一网络节点发送的第一数据包,其中,所述第一数据包包括第一标识信息和数据包载荷;
所述第二网络节点根据所述第一标识信息确定有效传输信息,以及与所述有效传输信息对应的第二标识信息;
所述第二网络节点根据所述第二标识信息和所述数据包载荷确定第二数据包;
所述第二网络节点根据所述有效传输信息发送所述第二数据包。
2.如权利要求1所述的方法,其特征在于,所述有效传输信息为一个或多个,所述第二标识信息与所述有效传输信息一一对应。
3.如权利要求1或2所述的方法,其特征在于,所述第二网络节点根据所述第一标识信息确定有效传输信息,以及与所述有效传输信息对应的第二标识信息,具体包括:
所述第二网络节点根据所述第一标识信息查找预先设置的路径路由表,确定有效传输信息,以及与所述有效传输信息对应的第二标识信息,其中,所述路径路由表是根据所述第一标识信息设置的,包括所述第一标识信息、所述有效传输信息和所述第二标识信息。
4.如权利要求1-3任一项所述的方法,其特征在于,所述第二网络节点根据所述第二标识信息和所述数据包载荷确定第二数据包,具体包括:
所述第二网络节点用所述第二标识信息替换所述第一数据包中的所述第一标识信息,获得第二数据包。
5.如权利要求1-4任一项所述的方法,其特征在于,所述第二网络节点接收到第一网络节点发送的第一数据包之后,该方法还包括:
若没有所述有效传输信息,则所述第二网络节点根据所述第一标识信息确定所述第一数据包的存储地址;
所述第二网络节点将所述第一数据包存储至所述存储地址。
6.如权利要求1-5任一项所述的方法,其特征在于,所述路径路由表存储在所述第二网络节点的寄存器中,或者存储在随机存取存贮器中。
7.一种用于片上网络的数据传输装置,其特征在于,包括:
接收单元,用于接收到第一网络节点发送的第一数据包,其中,所述第一数据包包括第一标识信息和数据包载荷;
第一确定单元,用于根据所述第一标识信息确定有效传输信息,以及与所述有效传输信息对应的第二标识信息;
第二确定单元,用于根据所述第二标识信息和所述数据包载荷确定第二数据包;
发送单元,用于根据所述有效传输信息发送所述第二数据包。
8.如权利要求7所述的装置,其特征在于,所述有效传输信息为一个或多个,所述第二标识信息与所述有效传输信息一一对应。
9.如权利要求7或8所述的装置,其特征在于,所述第一确定单元具体用于:
根据所述第一标识信息查找预先设置的路径路由表,确定有效传输信息,以及与所述有效传输信息对应的第二标识信息,其中,所述路径路由表是根据所述第一标识信息设置的,包括所述第一标识信息、所述有效传输信息和所述第二标识信息。
10.如权利要求7-9任一项所述的装置,其特征在于,所述第二确定单元具体用于:
用所述第二标识信息替换所述第一数据包中的所述第一标识信息,获得第二数据包。
11.如权利要求7-10任一项所述的装置,其特征在于,所述装置还包括存储单元:
若没有所述有效传输信息,则用于根据所述第一标识信息确定所述第一数据包的存储地址;将所述第一数据包存储至所述存储地址。
12.如权利要求7-11任一项所述的装置,其特征在于,所述路径路由表存储在所述接收单元所属的第二网络节点的寄存器中,或者存储在随机存取存贮器中。
13.一种电子设备,其特征在于,所述电子设备包括:
多个处理核;以及
片上网络,被配置为交互所述多个处理核间的数据和外部数据;
所述多个处理核中存储指令,根据所述指令所述电子设备执行如权利要求1-6中任一项所述的方法。
14.一种计算机可读存储介质,其上存储计算机程序指令,其特征在于,所述计算机程序指令在被处理器执行时实现如权利要求1-6中任一项所述的方法。
15.一种计算机程序产品,其特征在于,所述计算机程序产品在计算机上运行时,使得所述计算机执行如权利要求1-6中任一项所述的方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811619018.4A CN111382114B (zh) | 2018-12-28 | 2018-12-28 | 一种用于片上网络的数据传输方法、装置及电子设备 |
PCT/CN2019/121524 WO2020134831A1 (zh) | 2018-12-28 | 2019-11-28 | 一种用于片上网络的数据传输方法、装置及电子设备 |
US17/418,348 US11847091B2 (en) | 2018-12-28 | 2019-11-28 | Data transmission method and device for network on chip and electronic apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811619018.4A CN111382114B (zh) | 2018-12-28 | 2018-12-28 | 一种用于片上网络的数据传输方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111382114A true CN111382114A (zh) | 2020-07-07 |
CN111382114B CN111382114B (zh) | 2022-05-03 |
Family
ID=71127476
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811619018.4A Active CN111382114B (zh) | 2018-12-28 | 2018-12-28 | 一种用于片上网络的数据传输方法、装置及电子设备 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11847091B2 (zh) |
CN (1) | CN111382114B (zh) |
WO (1) | WO2020134831A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114095289A (zh) * | 2020-08-07 | 2022-02-25 | 北京希姆计算科技有限公司 | 数据多播电路、方法、电子设备及计算机可读存储介质 |
CN114363246A (zh) * | 2020-09-30 | 2022-04-15 | 北京灵汐科技有限公司 | 众核的片上网络数据传输方法、装置、设备及介质 |
CN117135103A (zh) * | 2023-10-25 | 2023-11-28 | 苏州元脑智能科技有限公司 | 片上网络的路由方法、装置、计算机设备及存储介质 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114363245B (zh) * | 2020-09-30 | 2024-04-26 | 北京灵汐科技有限公司 | 众核的片上网络数据传输方法、装置、设备及介质 |
CN116614433B (zh) * | 2023-07-18 | 2023-10-24 | 太初(无锡)电子科技有限公司 | 一种人工智能芯片、数据传输方法及数据传输系统 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101141261A (zh) * | 2007-10-10 | 2008-03-12 | 山东大学 | 片上网络数字路由器及其并行数据传输方法 |
CN103986664A (zh) * | 2014-05-15 | 2014-08-13 | 厦门大学 | 一种用于片上网络的混合互连Mesh拓扑结构及其路由算法 |
US20140254425A1 (en) * | 2013-03-08 | 2014-09-11 | Johannes Riedl | Transmitting Data Packets in a Data Network with a Multiplicity of Network Nodes |
US20150188847A1 (en) * | 2013-12-30 | 2015-07-02 | Netspeed Systems | STREAMING BRIDGE DESIGN WITH HOST INTERFACES AND NETWORK ON CHIP (NoC) LAYERS |
CN104901899A (zh) * | 2015-06-18 | 2015-09-09 | 西安电子科技大学 | 二维片上网络拓扑结构的自适应路由方法 |
CN105450555A (zh) * | 2014-09-26 | 2016-03-30 | 杭州华为数字技术有限公司 | 一种片上网络系统,及片上网络通信链路的建立方法 |
CN106804048A (zh) * | 2017-02-17 | 2017-06-06 | 合肥工业大学 | 一种基于二维网格的无线片上网络的通信机制 |
US20180227146A1 (en) * | 2017-02-07 | 2018-08-09 | Huawei Technologies Co., Ltd. | Network-on-chip, data transmission method, and first switching node |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101053903B1 (ko) | 2007-10-19 | 2011-08-04 | 삼성전자주식회사 | 네트워크온칩에서 전압 및 주파수 제어 장치 및 방법 |
CN101409680B (zh) | 2008-11-24 | 2011-03-30 | 清华大学 | 一种基于时分复用的片上网络信息传输方法及系统 |
US8306042B1 (en) * | 2009-06-19 | 2012-11-06 | Google Inc. | Class-based deterministic packet routing |
US9774498B2 (en) * | 2012-12-21 | 2017-09-26 | Netspeed Systems | Hierarchical asymmetric mesh with virtual routers |
CN105589829A (zh) * | 2014-09-15 | 2016-05-18 | 华为技术有限公司 | 基于多核处理器芯片的数据处理方法、装置以及系统 |
US9992135B2 (en) * | 2015-12-11 | 2018-06-05 | Intel Corporation | Apparatus and method for fusion of compute and switching functions of exascale system into a single component by using configurable network-on-chip fabric with distributed dual mode input-output ports and programmable network interfaces |
US10838908B2 (en) * | 2018-07-20 | 2020-11-17 | Xilinx, Inc. | Configurable network-on-chip for a programmable device |
US10944693B2 (en) * | 2018-11-13 | 2021-03-09 | Advanced Micro Devices, Inc. | Routing flits in a network-on-chip based on operating states of routers |
-
2018
- 2018-12-28 CN CN201811619018.4A patent/CN111382114B/zh active Active
-
2019
- 2019-11-28 WO PCT/CN2019/121524 patent/WO2020134831A1/zh active Application Filing
- 2019-11-28 US US17/418,348 patent/US11847091B2/en active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101141261A (zh) * | 2007-10-10 | 2008-03-12 | 山东大学 | 片上网络数字路由器及其并行数据传输方法 |
US20140254425A1 (en) * | 2013-03-08 | 2014-09-11 | Johannes Riedl | Transmitting Data Packets in a Data Network with a Multiplicity of Network Nodes |
US20150188847A1 (en) * | 2013-12-30 | 2015-07-02 | Netspeed Systems | STREAMING BRIDGE DESIGN WITH HOST INTERFACES AND NETWORK ON CHIP (NoC) LAYERS |
CN103986664A (zh) * | 2014-05-15 | 2014-08-13 | 厦门大学 | 一种用于片上网络的混合互连Mesh拓扑结构及其路由算法 |
CN105450555A (zh) * | 2014-09-26 | 2016-03-30 | 杭州华为数字技术有限公司 | 一种片上网络系统,及片上网络通信链路的建立方法 |
CN104901899A (zh) * | 2015-06-18 | 2015-09-09 | 西安电子科技大学 | 二维片上网络拓扑结构的自适应路由方法 |
US20180227146A1 (en) * | 2017-02-07 | 2018-08-09 | Huawei Technologies Co., Ltd. | Network-on-chip, data transmission method, and first switching node |
CN106804048A (zh) * | 2017-02-17 | 2017-06-06 | 合肥工业大学 | 一种基于二维网格的无线片上网络的通信机制 |
Non-Patent Citations (1)
Title |
---|
孔德春等: "基于多核系统的2D-Mesh片上网络的设计研究", 《微电子学与计算机》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114095289A (zh) * | 2020-08-07 | 2022-02-25 | 北京希姆计算科技有限公司 | 数据多播电路、方法、电子设备及计算机可读存储介质 |
CN114095289B (zh) * | 2020-08-07 | 2023-05-12 | 北京希姆计算科技有限公司 | 数据多播电路、方法、电子设备及计算机可读存储介质 |
CN114363246A (zh) * | 2020-09-30 | 2022-04-15 | 北京灵汐科技有限公司 | 众核的片上网络数据传输方法、装置、设备及介质 |
CN117135103A (zh) * | 2023-10-25 | 2023-11-28 | 苏州元脑智能科技有限公司 | 片上网络的路由方法、装置、计算机设备及存储介质 |
CN117135103B (zh) * | 2023-10-25 | 2024-02-23 | 苏州元脑智能科技有限公司 | 片上网络的路由方法、装置、计算机设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US11847091B2 (en) | 2023-12-19 |
US20220083498A1 (en) | 2022-03-17 |
CN111382114B (zh) | 2022-05-03 |
WO2020134831A1 (zh) | 2020-07-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111382114B (zh) | 一种用于片上网络的数据传输方法、装置及电子设备 | |
CN109408257B (zh) | 用于片上网络noc的数据传输方法、装置及电子设备 | |
CN111382115B (zh) | 一种用于片上网络的路径创建方法、装置及电子设备 | |
US9282031B2 (en) | Network system and routing method | |
US9853906B2 (en) | Network prioritization based on node-level attributes | |
US10459729B2 (en) | Map tables for hardware tables | |
CN105049359A (zh) | 用于分布式路由表查找的技术 | |
CN104734964A (zh) | 报文处理方法、节点及系统 | |
US8903972B2 (en) | Method and apparatus for sharing contents using information of group change in content oriented network environment | |
CN111865810B (zh) | 一种拥塞信息采集方法、系统、相关设备及计算机存储介质 | |
CN104468401A (zh) | 一种报文处理方法和装置 | |
CN106201356A (zh) | 一种基于链路可用带宽状态的动态数据调度方法 | |
CN114553760B (zh) | 路径权重分配方法以及装置 | |
CN107547391A (zh) | 一种报文传输方法和装置 | |
US9419887B1 (en) | Minimum latency routing | |
CN111459650A (zh) | 管理专用处理资源的存储器的方法、设备和计算机程序产品 | |
CN116471224A (zh) | 通信系统、方法及相关装置 | |
CN100499564C (zh) | 分组处理引擎 | |
US9996468B1 (en) | Scalable dynamic memory management in a network device | |
US9338219B2 (en) | Direct push operations and gather operations | |
CN110928693B (zh) | 一种计算设备及资源分配方法 | |
CN108809916B (zh) | 一种业务处理方法及装置 | |
CN108881381A (zh) | 一种报文路由确定方法、装置及四层负载均衡器 | |
CN116737088B (zh) | 一种对象迁移方法、装置、电子设备及存储介质 | |
CN114567679B (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 |