CN108400880A - 片上网络、数据传输方法和第一交换节点 - Google Patents

片上网络、数据传输方法和第一交换节点 Download PDF

Info

Publication number
CN108400880A
CN108400880A CN201710067251.5A CN201710067251A CN108400880A CN 108400880 A CN108400880 A CN 108400880A CN 201710067251 A CN201710067251 A CN 201710067251A CN 108400880 A CN108400880 A CN 108400880A
Authority
CN
China
Prior art keywords
slot
switching node
loop network
buffered
network
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
Application number
CN201710067251.5A
Other languages
English (en)
Other versions
CN108400880B (zh
Inventor
郑乔石
陈挚睿
夏晶
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201710067251.5A priority Critical patent/CN108400880B/zh
Priority to US15/890,856 priority patent/US10476697B2/en
Publication of CN108400880A publication Critical patent/CN108400880A/zh
Application granted granted Critical
Publication of CN108400880B publication Critical patent/CN108400880B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/42Loop networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J14/00Optical multiplex systems
    • H04J14/02Wavelength-division multiplex systems
    • H04J14/0227Operation, administration, maintenance or provisioning [OAMP] of WDM networks, e.g. media access, routing or wavelength allocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J14/00Optical multiplex systems
    • H04J14/02Wavelength-division multiplex systems
    • H04J14/0278WDM optical network architectures
    • H04J14/0283WDM ring architectures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/64Hybrid switching systems
    • H04L12/6418Hybrid transport
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/127Avoiding congestion; Recovering from congestion by using congestion prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/109Integrated on microchip, e.g. switch-on-chip
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/42Loop networks
    • H04L2012/421Interconnected ring systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/64Hybrid switching systems
    • H04L12/6418Hybrid transport
    • H04L2012/6432Topology
    • H04L2012/6437Ring

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Small-Scale Networks (AREA)

Abstract

本发明实施例公开了一种片上网络、数据传输方法和第一交换节点,属于NoC技术领域。片上网络为二维片上网络或多维片上网络,片上网络的每个维度包括至少一个非缓冲环状网络,每个非缓冲环状网络包括多个路由节点,多个路由节点中的至少一个为交换节点;每个非缓冲环状网络与至少一个非缓冲环状网络相交,相交的两个非缓冲环状网络处于不同的维度,且通过交换节点进行数据交换;每个非缓冲环状网络中配置有专用slot和公用slot;在同一时刻每个非缓冲环状网络中仅一个交换节点具有专用slot的使用权,且专用slot的使用权在每个非缓冲环状网络中交换节点依次变换,且专用slot的使用权在专用slot内的数据完成传输后变换。

Description

片上网络、数据传输方法和第一交换节点
技术领域
本申请涉及片上网络(英文:Network-on-Chip,简称:NoC)技术领域,特别涉及一种片上网络、数据传输方法和第一交换节点。
背景技术
NoC是一种针对多核片上系统(英文:System on Chip,简称:SoC)设计的新型片上通信架构。根据NoC中节点排布的维度可将其分为一维NoC、二维NoC、三维NoC等。
以二维NoC为例,二维NoC包括两个维度,分别记为横向和纵向。每个维度可以由至少一个非缓冲环状网络构成,每个非缓冲环状网络包括多个路由节点,多个路由节点串连成环状,各个路由节点分别用于与至少一个功能模块连接。横向的非缓冲环状网络与纵向的非缓冲环状网络相交,且相交的两个非缓冲环状网络通过两个相连的路由节点进行数据交换,上述两个相连的路由节点也称为交换节点,每个非缓冲环状网络包括的交换节点数量与其相交的非缓冲环状网络的数量对应。
在NoC中,各个非缓冲环状网络通过时隙槽(英文:Time slot,简称:slot)进行数据传输,slot为承载数据的载体。对于一个非缓冲环状网络而言,slot的数量和该非缓冲环状网络中路由节点的数量相等,slot按照预定方向在该非缓冲环状网络中的各个路由节点间传递,且每一时刻该非缓冲环状网络的每个路由节点上仅存在一个slot。数据通过slot在各个路由节点间传输时,路由节点可以将功能模块中的数据传输到slot中,也可以将slot中的数据传输到功能模块,还可以将一个非缓冲环状网络的slot中的数据通过相连的交换节点转换到另一个非缓冲环状网络的slot上进行传输,实现两个非缓冲环状网络间的数据交换。
如果两个相交的非缓冲环状网络中的横向的非缓冲环状网络的所有slot中的数据都要传输到纵向的非缓冲环状网络,而纵向的非缓冲环状网络的所有slot中的数据都要传输到横向的非缓冲环状网络,且这两个非缓冲环状网络的所有slot都装有数据时,slot无论如何传递,与交换节点相连的另一个交换节点上的slot都装有数据,因而交换节点无法将slot内的数据传输到另一个非缓冲环状网络,无法进行两个非缓冲环状网络间的数据交换,从而形成网络的死锁。
发明内容
为了解决现有技术中两个相交的非缓冲环状网络间在所有的slot都装有数据的情况下无法进行数据交换,进而造成死锁问题,本发明实施例提供了一种片上网络、数据传输方法和第一交换节点。所述技术方案如下:
第一方面,本发明实施例提供了一种片上网络,所述片上网络为二维片上网络或多维片上网络,所述片上网络的每个维度包括至少一个非缓冲环状网络,每个所述非缓冲环状网络包括多个路由节点,每个所述非缓冲环状网络中的所述多个路由节点串连成环状,每个所述非缓冲环状网络中的所述多个路由节点中的至少一个路由节点为交换节点;所述片上网络包括第一非缓冲环状网络和第二非缓冲环状网络,所述第一非缓冲环状网络和所述第二非缓冲环状网络为所述片上网络中的相交的任意两个非缓冲环状网络,所述第一非缓冲环状网络和第二非缓冲环状网络处于不同的维度,所述第一非缓冲环状网络包括第一交换节点,所述第二非缓冲环状网络包括第二交换节点,所述第一交换节点和所述第二交换节点相互连接以进行数据交换;每个所述非缓冲环状网络中均配置有用于承载数据的N个时隙槽slot,N为非缓冲环状网络的路由节点数量,每个slot在所属的所述非缓冲环状网络中循环传输,且在同一时刻一个路由节点上仅存在一个slot,所述N个slot包括a个专用slot和N-a个公用slot,所述a为正整数,且N>a≥1;在同一时刻每个所述非缓冲环状网络中仅一个交换节点具有专用slot的使用权,且所述专用slot的使用权在所属的所述非缓冲环状网络的交换节点间依次变换,所述专用slot的使用权在所述专用slot内的数据完成传输后变换;所述第一交换节点用于,在具有所述第一非缓冲环状网络的专用slot的使用权,所述第一非缓冲环状网络的专用slot移动到所述第一交换节点,且所述第二交换节点有数据需要传输到所述第一非缓冲环状网络时,获取所述第二交换节点的数据,并将获取到的所述数据采用所述第一非缓冲环状网络的专用slot进行数据传输。
在本发明实施例中,通过在每个非缓冲环状网络中设置专用slot来进行数据传输,由于在同一时刻每个非缓冲环状网络中仅一个交换节点具有专用slot的使用权,且专用slot的使用权在每个非缓冲环状网络中的交换节点间依次变换,也就是说专用slot不能同时被两个以上交换节点同时使用,且使用该专用slot的路由节点必须为交换节点;专用slot只有在交换节点具有权限时才能使用,且专用slot的使用权在专用slot内的数据完成传输后才会变换,因此,能够保证交换节点在具有专用slot的使用权时,专用slot为空,能够进行数据传输,因此当一个非缓冲环状网络的数据需要通过交换节点传输数据到另一个非缓冲环状网络时,不会出现无法交换的问题,避免了两个非缓冲环状网络出现死锁(挂死)的问题。另外,上述方案逻辑复杂度低,资源消耗少。
结合第一方面,在第一方面的第一种实现方式中,每个所述非缓冲环状网络中的所有所述slot或者部分所述slot包括第一标识,所述第一标识用于指示所述slot是否为专用slot,或者指示专用slot与所述slot的相对位置关系。
为了对slot的属性进行描述,slot传输时设置有对应的标志位,例如指示专用slot是否为专用slot的标志位。交换节点根据该标志位确定当前的slot是否为专用slot。
结合第一方面或第一方面的第一种实现方式,在第一方面的第二种实现方式中,所述第一交换节点包括权限模块,所述权限模块用于指示所述第一交换节点是否具有专用slot的使用权。
结合第一方面的第二种实现方式,在第一方面的第三种实现方式中,每个所述非缓冲环状网络中的所有所述slot或者部分所述slot包括第二标识,所述第二标识用于指示是否对所述权限模块的值进行变更,所述第一交换节点还用于根据所述第二标识的值判断是否对所述权限模块的值进行变更。
例如,当所述第二标识的值为第一值时,对所述权限模块的值进行变更,当所述第二标识的值为第二值时,保持所述权限模块的值不变,所述权限模块的值用于标识所述交换节点是否具有专用slot的使用权。
权限模块的值包括具有专用slot的使用权和不具有专用slot的使用权,且在不具有专用slot的使用权时,还可以分为多个状态,多个状态之间逐渐变化,最终变更为具有专用slot的使用权状态。
其中,第二标识可以采用不同的方式指示是否切换权限,例如第二标识等于1表示切换权限,第二标识等于0表示不切换权限。
结合第一方面的第三种实现方式,在第一方面的第四种实现方式中,所述第一交换节点还用于在具有专用slot的使用权时,对所述第二标识的值进行设置。
通过设置第二标识,实现专用slot的使用权的变更。
结合第一方面的第二种实现方式,在第一方面的第五种实现方式中,所述权限模块为移位寄存器或计数器,当所述移位寄存器或计数器的值为设定值时,所述第一交换节点具有专用slot的使用权。
采用移位寄存器或计数器实现权限模块,实现简单方便。
结合第一方面或第一方面的第一种实现方式,在第一方面的第六种实现方式中,所述第一交换节点和所述第二交换节点直接连接。
结合第一方面的第六种实现方式,在第一方面的第七种实现方式中,所述第一交换节点还用于:在所述第二交换节点具有所述第二非缓冲环状网络的专用slot的使用权,所述第二非缓冲环状网络的专用slot移动到所述第二交换节点,且所述第一交换节点有数据需要传输到所述第二非缓冲环状网络时,将数据传输至所述第二交换节点。
在该实现方式中,如果第一交换节点和所述第二交换节点直接连接,则第一交换节点传输数据至第二交换节点时,需要先确定第二交换节点的是否具有专用slot的使用权以及专用slot是否位于所述第二交换节点,避免数据发送至第二交换节点后无法进行传输。
结合第一方面的第六种实现方式,在第一方面的第八种实现方式中,所述第一非缓冲环状网络的路由节点数量和所述第二非缓冲环状网络的路由节点数量不相等。
在第一交换节点和所述第二交换节点直接连接时,将二者的路由节点设置成不相等,避免第一非缓冲环状网络的专用slot只能与第二非缓冲环状网络的特定的几个slot进行数据交换的问题。
结合第一方面或第一方面的第一种实现方式,在第一方面的第九种实现方式中,所述第一交换节点和所述第二交换节点之间还设有数据交换缓存,用于存储需要从所述第一交换节点传输到所述第二非缓冲环状网络的数据,或者存储需要从所述第二交换节点传输到所述第一非缓冲环状网络的数据。
第二方面,本发明实施例提供了一种数据传输方法,所述方法包括:
第一交换节点判断所述第一交换节点是否具有所在的第一非缓冲环状网络中的专用slot的使用权,所述第一非缓冲环状网络包括多个路由节点,所述第一非缓冲环状网络中的所述多个路由节点串连成环状,所述第一非缓冲环状网络中的所述多个路由节点中的至少一个路由节点为交换节点,至少一个交换节点包括所述第一交换节点,所述第一非缓冲环状网络中配置有用于承载数据的N个时隙槽slot,N为所述第一非缓冲环状网络的路由节点数量,每个slot在所述第一非缓冲环状网络中循环传输,且在同一时刻一个路由节点上仅存在一个slot,所述N个slot包括a个专用slot和N-a个公用slot,所述a为正整数,且N>a≥1;在同一时刻所述第一非缓冲环状网络中仅一个交换节点具有专用slot的使用权,且所述专用slot的使用权在所述第一非缓冲环状网络的交换节点间依次变换,所述专用slot的使用权在所述专用slot内的数据完成传输后变换;
所述第一交换节点判断所述专用slot是否移动到所述第一交换节点;
在具有所述第一非缓冲环状网络的专用slot的使用权,所述第一非缓冲环状网络的专用slot移动到所述第一交换节点,且与所述第一交换节点连接的第二非缓冲环状网络中的第二交换节点有数据需要传输到所述第一非缓冲环状网络时,所述第一交换节点获取所述第二交换节点的数据,并采用所述第一非缓冲环状网络的专用slot进行传输,所述第一非缓冲环状网络和所述第二非缓冲环状网络为片上网络中的相交的任意两个非缓冲环状网络,所述第一非缓冲环状网络和第二非缓冲环状网络处于不同的维度。
结合第一方面,在第一方面的第一种实现方式中,所述非缓冲环状网络中的所有所述slot或者部分所述slot包括第一标识,所述第一标识用于指示所述slot是否为专用slot,或者指示专用slot与所述slot的相对位置关系。
结合第一方面或第一方面的第一种实现方式,在第一方面的第二种实现方式中,所述第一交换节点判断所述第一交换节点是否具有所在的第一非缓冲环状网络中的专用slot的使用权,包括:
所述第一交换节点根据所述第一交换节点的权限模块判断是否具有专用slot的使用权,所述权限模块用于指示所述第一交换节点是否具有专用slot的使用权。
结合第一方面的第二种实现方式,在第一方面的第三种实现方式中,所述方法还包括:
所述第一交换节点根据第二标识的值判断是否对权限模块的值进行变更,每个所述非缓冲环状网络中的所有所述slot或者部分所述slot包括所述第二标识,所述第二标识用于指示是否对所述权限模块的值进行变更。
结合第一方面的第三种实现方式,在第一方面的第四种实现方式中,所述方法还包括:
在所述第一交换节点具有专用slot的使用权时,所述第一交换节点对所述第二标识的值进行设置。
结合第一方面或第一方面的第一种实现方式,在第一方面的第五种实现方式中,所述方法还包括:
所述第一交换节点判断所述第二交换节点是否具有所述第二非缓冲环状网络的专用slot的使用权;
所述第一交换节点判断所述第二非缓冲环状网络的专用slot是否移动到所述第二交换节点;
在所述第二交换节点具有所述第二非缓冲环状网络的专用slot的使用权,所述第二非缓冲环状网络的专用slot移动到所述第二交换节点,且所述第一交换节点有数据需要传输到所述第二非缓冲环状网络时,所述第一交换节点将数据传输至所述第二交换节点。
第三方面,本发明实施例提供了一种第一交换节点,所述第一交换节点包括用于实现上述第二方面所述的方法的单元,例如第一判断单元、第二判断单元和处理单元。
附图说明
图1是本发明实施例提供的片上网络结构示意图;
图2是本发明实施例提供的片上网络结构示意图;
图3是本发明实施例提供的片上网络结构示意图;
图4是本发明实施例提供的片上网络结构示意图;
图5是本发明实施例提供的片上网络结构示意图;
图6是本发明实施例提供的一种第一交换节点的硬件结构示意图;
图7是本发明实施例提供的一种数据传输方法的流程图;
图8是本发明实施例提供的一种通信装置的结构示意图。
具体实施方式
为了便于实施例的描述,下面先对NoC进行说明。
NoC是一种针对多核SoC设计的新型片上通信架构。根据NoC维度不同,NoC分为一维NoC、二维NoC和多维NoC,其中,NoC的维度是指NoC中各个环状网络中节点的排布方向,例如NoC中各个环状网络中节点的排布包括横向和纵向,则该NoC为二维NoC。下面以二维NoC对NoC的结构进行举例说明。
如图1所示,二维NoC包括两个维度,分别记为横向和纵向。每个维度均可以包括至少一个环状网络。每个环状网络包括多个路由节点10(图1中采用圆形表示),多个路由节点10串连成环状,多个路由节点10中包括至少一个交换节点,每个路由节点10用于与至少一个功能模块20(如IP核(IP Core),图1中采用方形表示)连接。每个环状网络与至少一个其他环状网络相交,相交的两个环状网络处于不同的维度,且相交的两个环状网络中的一个环状网络通过交换节点与另一个环状网络的交换节点连接,以进行数据交换。其中,两个相交的环状网络通常通过一对交换节点进行数据交换,一对交换节点是指分别位于相交的两个环状网络中的两个相连的交换节点,但本发明实施例对此并不限制,两个相交的环状网络还可以通过两对交换节点进行数据交换。其中,数据交换是指一个环状网络内的数据传输到另一个环状网络上。
路由节点10是二维NoC的核心部件,负责数据的转发和传递。每一个路由节点10与相邻路由节点10及功能模块20的连接都由输入端口和输出端口完成,在有缓存二维环状中,每一个输入或者输出端口都通常包含多个虚拟通道(英文:Virtual Channel,简称:VC),每一个VC都包含一个缓存(英文:buffer)。但随着NoC技术的发展,为了提高NoC的性能,提出了一种没有虚拟通道和缓存的二维环状,称为非缓冲NoC,非缓冲NoC的环状网络为非缓冲环状网络。
在非缓冲环状网络中,通过slot进行数据传输,slot为承载数据的载体,每个环状网络中slot的数量和该环状网络中路由节点10的数量相等,slot按照预定方向在环状网络各个路由节点10间传递,且每一时刻环状网络的各个路由节点10上存在一个slot。数据通过slot在各个路由节点10间传输时,路由节点10可以将功能模块20中的数据传输到slot中,也可以将slot中的数据传输到功能模块20,交换节点可以将所在环状网络的slot内的数据传输给与之相连的另一个环状网络的交换节点,也可以获取与之相连的交换节点的数据并在所在环状网络中传输,实现两个环状网络间的数据交换。
对于非缓冲环状网络而言,交换节点在收到slot时,根据目的地址判断slot内的数据是否为传到本交换节点连接的功能模块20的数据,如果是则通过连接功能模块20的输出端口传输到功能模块20,如果不是则根据目的地址判断传输方向,传输方向包括继续在本非缓冲环状网络传输,或者切换到另一非缓冲环状网络进行传输。在需要将数据切换到另一非缓冲环状网络进行传输时,需要判断与之相连的交换节点的solt是否为空,如果为空,则将数据传输到与之相连的交换节点中,如果不为空,则无法将数据切换到另一非缓冲环状网络,并且由于交换节点没有缓存,只能在当前非缓冲环状网络中继续传输。因此,如果两个非缓冲环状网络中的一个非缓冲环状网络的slot里的数据都要传输到另一非缓冲环状网络,而另一个非缓冲环状网络的slot里的数据都要传输到该非缓冲环状网络,且这两个非缓冲环状网络的slot不为空时,则会产生挂死现象,即无法进行两个非缓冲环状网络间的数据交换,下面通过结合附图2、图3进一步说明两个非缓冲环状网络间产生挂死现象的原因。
图2为简化的NoC结构示意图,为了方便表述,为每个非缓冲环状网络设置了一个坐标。如图2所示,在该NoC中,如果非缓冲环状网络R[0,1]上的数据的目的路由节点都位于R[1,0]上,并且R[1,0]上的数据的目的路由节点都位于R[0,1],在两个非缓冲环状网络中都没有空slot时,两个非缓冲环状网络中的数据都无法换到另一个非缓冲环状网络,就形成了挂死。
图3所示为NoC的硬件结构示意图,NoC主要应用于服务器或者通信基站中的SoC多核处理器芯片中。这种高端SoC多核处理器芯片通常包含大量的处理器核(32-128个)、双倍速率同步动态随机存储器(英文:Double Data Rate,简称:DDR)控制器模块、总线和接口标准(英文:Peripheral Component Interface Express,简称:PCIE)互联模块、网络互联模块等,通过设计使用片上网络来连接这些处理器核及模块,并在处理器核或模块间高带宽、低延迟地传递各种数据。这里的处理器核及模块也即前文所述的功能模块20。
其中,处理器核可以为如图3所示的瓦片(英文:Tile)(中央处理器(英文:CentralProcessing Unit,简称:CPU)&末级缓存(英文:Last Level Cache,简称:LLC)&片上网络接口(英文:On-Chip Network Interface,简称:OCN));DDR控制器模块可以为如图3所示的Tile(维护主存一致性节点(英文:Home Agent,简称:HA)&DDR存储器控制器(英文:DDRMemory Controller,简称:DMC)&OCN);PCIE互联模块可以为如图3所示的Tile(PCIE&OCN));网络互联模块可以为如图3所示的Tile(以太网(英文:Ethernet,简称:ETH)&OCN)、Tile(加速器(英文:Accelerator,简称:ACC)&OCN)等。
如图3所示,功能模块20A与双列直插式存储模块(英文:Dual Inline MemoryModules,简称:DIMM)连接,DIMM上可以插设动态随机存取存储器(英文:Dynamic RandomAccess Memory,简称:DRAM),当功能模块20B中的CPU和LLC需要访问功能模块20A连接的DRAM时,将数据先传输到先到达R[1,0]和R[0,1]之间的交换节点,再交换到R[0,1]上,直到数据传入DMC。其他节点间的通信也类似,如果通信的两个处理器核或模块不在同一个横向或纵向非缓冲环状网络中,那么数据的传输就需要在中途切换非缓冲环状网络。数据的正确传输需要切换非缓冲环状网络,就可能导致非缓冲环状网络间挂死现象的发生。再次参见图3,假设纵向R[1,0]上传输的数据都是需要写入功能模块20A连接的DRAM的数据,这些数据需要切换非缓冲环状网络到达横向R[0,1];而横向R[0,1]上的数据都是需要发往纵向R[1,0]上的功能模块20B中的CPU处理器的。这样因为两个非缓冲环状网络中都没有空slot,所以数据无法在他们之间交换,只能不停地在原来的非缓冲环状网络中绕行,最终造成挂死。
为了解决上述问题,本发明实施例提供了一种片上网络,该片上网络为二维片上网络或多维片上网络,参见图4和图5,该片上网络的每个维度包括至少一个非缓冲环状网络500,每个非缓冲环状网络包括多个路由节点,多个路由节点串连成环状,每个路由节点分别用于与至少一个功能模块连接,多个路由节点中的至少一个为交换节点。
每个非缓冲环状网络与至少一个非缓冲环状网络相交,相交的两个非缓冲环状网络处于不同的维度,且相交的两个非缓冲环状网络中的一个非缓冲环状网络通过交换节点与另一个非缓冲环状网络的交换节点连接,以进行数据交换。
下面以第一非缓冲环状网络和第二非缓冲环状网络为例进行说明:
片上网络包括第一非缓冲环状网络和第二非缓冲环状网络,第一非缓冲环状网络和第二非缓冲环状网络为片上网络中的相交的任意两个非缓冲环状网络(例如R[1,0]和R[0,1]),第一非缓冲环状网络和第二非缓冲环状网络处于不同的维度,第一非缓冲环状网络包括第一交换节点,第二非缓冲环状网络包括第二交换节点,第一交换节点和第二交换节点相互连接以进行数据交换。
每个非缓冲环状网络500上配置有N个slot 501,每个slot 501在非缓冲环状网络500上循环传输,且在同一时刻一个路由节点上仅存在一个slot 501,slot 501用于承载数据,N为非缓冲环状网络500的路由节点数量。N个slot 501包括a个专用slot 501和N-a个公用slot 501,a和N为正整数,且N>a≥1。在同一时刻每个非缓冲环状网络500上仅一个路由节点具有专用slot 501的使用权,且专用slot 501的使用权在每个非缓冲环状网络500上交换节点依次变换,专用slot 501的使用权在专用slot 501内的数据完成传输后变换。
第一交换节点用于,在具有第一非缓冲环状网络的专用slot 501的使用权,第一非缓冲环状网络的专用slot 501移动到第一交换节点,且第二交换节点有数据需要传输到第一非缓冲环状网络时,获取第二交换节点的数据,并将获取到的数据采用第一非缓冲环状网络的专用slot 501进行数据传输。
其中,采用专用slot 501进行数据传输包括:将数据通过专用slot 501传输到目的路由节点。
在本发明实施例中,第一交换节点除了可以采用专用slot 501传输第二交换节点的数据外,还可以采用该专用slot 501进行第一非缓冲环状网络内的数据传输。
在本发明实施例中,通过在每个非缓冲环状网络中设置专用slot来进行数据传输,由于在同一时刻每个非缓冲环状网络中仅一个交换节点具有专用slot的使用权,且专用slot的使用权在每个非缓冲环状网络中交换节点间依次变换,也就是说专用slot不能同时被两个以上交换节点同时使用,且使用该专用slot的路由节点必须为交换节点;专用slot只有在交换节点具有权限时才能使用,且专用slot的使用权在专用slot内的数据完成传输后才会变换,因此,能够保证交换节点在具有专用slot的使用权时,专用slot为空,能够进行数据传输,因此当一个非缓冲环状网络的数据需要通过交换节点传输到另一个非缓冲环状网络时,不会出现无法交换的问题,避免了两个非缓冲环状网络出现挂死的问题。另外,上述方案逻辑复杂度低,资源消耗少。
为了对slot的属性进行描述,每个非缓冲环状网络中的所有slot 501或者部分slot 501包括第一标识,第一标识用于指示slot是否为专用slot,或者指示专用slot与slot的相对位置关系。
在一种实现方式中,第一标识用于指示对应的slot是否为专用slot,在这种实现方式中,可以只在专用slot 501中设置第一标识,以指示该solt为专用slot。
在另一种实现方式中,第一标识用于指示下一个slot是否为专用slot。下一个slot是指在slot的移动方向上位于该slot后的一个slot。指示下一个slot是否为专用slot,使得交换节点可以提前预知专用slot到达时间,为数据传输做准备。在这种实现方式中,可以只在专用slot前的一个slot中设置第一标识。
当然,在上述两种实现方式中,也可以在每个slot中均设置第一标识。
本发明实施例中,第一交换节点包括权限模块502,权限模块502用于标识第一交换节点是否具有专用slot 501的使用权。通过设置权限模块502将专用slot的使用权分为多个时隙,不同时隙分配给不同的交换节点,实现时分复用。
进一步地,每个非缓冲环状网络中的所有slot 501或者部分slot 501包括第二标识,第二标识用于指示是否对权限模块502的值进行变更,第一交换节点还用于根据第二标识的值判断是否对权限模块502的值进行变更。例如,当当前处于第一交换节点的slot的第二标识的值为第一值时,对权限模块502的值进行变更,当第二标识的值为第二值时,保持权限模块502的值不变,权限模块502的值用于标识交换节点是否具有专用slot 501的使用权。
权限模块502的值在第二标识的作用下不断变化,最终变更为表示设定值,从而标识第一交换节点具有专用slot 501的使用权。
进一步地,第一交换节点还用于在具有专用slot的使用权时,对第二标识的值进行设置。对第二标识的值进行设置可以包括如下两种实现方式:
在一种可能的实现方式中,第一交换节点用于在具有专用slot的使用权时,如果任一专用slot在第一交换节点获得专用slot使用权后第一次到达第一交换节点,则将第二标识的值设为第二值;如果任一专用slot在第一交换节点获得专用slot使用权后不是第一次到达第一交换节点,且到达第一交换节点的专用slot为空,则将第二标识的值设为第一值。也就是说,第一交换节点在使用专用slot时,就将第二标识的值设为第二值,此过程中各个交换节点的权限模块502的值不变;在使用完专用slot时,将第二标识的值设为第一值,允许各个交换节点的权限模块502的值改变,以切换专用slot的权限归属。
在另一种可能的实现方式中,第一交换节点用于在具有专用slot的使用权时,如果任一专用slot在第一交换节点获得专用slot使用权后第一次到达第一交换节点,则将第二标识的值设为第二值;如果所有的专用slot都至少两次经过第一交换节点,且每个专用slot在第二次或第二次以后经过第一交换节点时均为空,则将第二标识的值设为第一值。也就是说,第一交换节点在使用专用slot时,就将第二标识的值设为第二值,在使用完所有的专用slot时,将各个第二标识的值设为第一值。
上述第二标识的值的设置方式仅为举例,本发明实施例对此不做限制。
在本发明实施例中,每个非缓冲环状网络中的所有slot 501或者部分slot 501包括第二标识,也即包括下述几种实现方式:第一种实现方式,只有专用slot包括第二标识;第二种实现方式,只有公用slot包括第二标识,例如位于专用slot之后的一个公用solt包括第二标识;第三种实现方式,公用slot和专用slot均包括第二标识,进一步地,可以是每个slot均包括第二标识。
在第一种实现方式中,专用slot包括第二标识,第二标识用于指示是否对权限模块502的值进行变更,第一交换节点可以用于在专用slot处于第一交换节点时,根据第二标识的值判断是否对权限模块502的值进行变更。进一步地,第一交换节点还可以用于在具有专用slot的使用权,且专用slot处于第一交换节点时,对第二标识的值进行设置,设置方式可以如前文所述的两种实现方式。
在第二种实现方式中,公用slot包括第二标识,第二标识用于指示是否对权限模块502的值进行变更,第一交换节点可以用于在具有第二标识的公用slot处于第一交换节点时,根据第二标识的值判断是否对权限模块502的值进行变更。进一步地,第一交换节点还可以用于在具有专用slot的使用权,且具有第二标识的公用slot处于第一交换节点时,对第二标识的值进行设置,设置方式可以如前文所述的两种实现方式。
在第三种实现方式中,专用slot和公用slot均包括第二标识,第二标识用于指示是否对权限模块502的值进行变更,第一交换节点可以用于在具有第二标识的slot处于第一交换节点时,根据第二标识的值判断是否对权限模块502的值进行变更。进一步地,第一交换节点还可以用于在具有专用slot的使用权,且具有第二标识的slot处于第一交换节点时,对第二标识的值进行设置,设置方式可以如前文所述的两种实现方式。
在本发明实现方式中,权限模块502可以为移位寄存器或计数器,当移位寄存器或计数器的值为设定值时,第一交换节点具有专用slot 501的使用权。
图4和图5提供的示意图示出了权限模块502为移位寄存器,参见图4和图5,R[0,1]包括第1-第5交换节点,第1-第5交换节点分别用于与R[5,0]-R[1,0]进行数据交换。如图4和5所示,第1交换节点的移位寄存器的值为10000,此时,该第1交换节点具有专用slot的使用权。当第1交换节点使用完专用slot后,将专用slot的第二标识设置为第一值。该专用slot在传输到第2交换节点时,第2交换节点的移位寄存器的值变为10000,此时专用slot的使用权切换给第2交换节点;那么此时第2交换节点可以使用专用slot交换数据到R[0,1]。以此类推,权限会逐渐在R[0,1]上的交换节点间变换,最后切换回第1交换节点;至此,所有向R[0,1]传输数据的非缓冲环状网络,都可以在其交换节点拥有专用slot的使用权时,向R[0,1]发送数据;同理,R[1,0]-R[5,0]这些纵向非缓冲环状网络中也实现了相同的机制,来保证横向的R[0,1]-R[0,5]可以向纵向非缓冲环状网络中传输数据。
在本发明实施例中,第二标识的第一值可以为1,第二值可以为0。如果第二标识为1,则专用slot所处的交换节点可以对权限模块502的值进行变更,例如将移位寄存器的值移动一位,或者将计数器加一(计数器在达到设定值后重置);如果第二标识为0,则专用slot所处的交换节点不对权限模块502的值进行变更。
在本发明实施例的一种实现方式中,第一交换节点和第二交换节点直接连接,消耗资源小,功耗也小。当第一交换节点和第二交换节点直接连接时,第一交换节点还用于:在第二交换节点具有第二非缓冲环状网络的专用slot的使用权,第二非缓冲环状网络的专用slot移动到第二交换节点,且第一交换节点有数据需要传输到第二非缓冲环状网络时,将数据传输至第二交换节点。
其中,第一交换节点可以根据第二交换节点发送的指示信息,确定第二交换节点是否具有第二非缓冲环状网络的专用slot的使用权,以及第二非缓冲环状网络的专用slot是否移动到第二交换节点。指示信息用于指示交换节点是否具有该交换节点所在的非缓冲环状网络的专用slot的使用权,以及交换节点所在的非缓冲环状网络的专用slot是否移动到该交换节点。
第一交换节点还用于根据第一交换节点是否具有第一非缓冲环状网络的专用slot的使用权,以及第一非缓冲环状网络的专用slot是否移动到第一交换节点,向第二交换节点发送指示信息。
进一步地,当第一交换节点和第二交换节点直接连接时,为了避免一个非缓冲环状网络的专用slot只能与另一个非缓冲环状网络的某几个slot的数据进行交换,第一非缓冲环状网络500的路由节点数量和第二非缓冲环状网络500的路由节点数量不相等。
在本发明实施例的另一种实现方式中,第一交换节点和第二交换节点之间还设有数据交换缓存,用于存储需要从第一交换节点传输到第二非缓冲环状网络的数据,或者存储需要从第二交换节点传输到第一非缓冲环状网络的数据。例如,数据从一个非缓冲环状网络离开,进入数据交换缓存,等待目的非缓冲环状网络有空slot后,才会把数据发往目的非缓冲环状网络,并且数据交换缓存会有反压信号通知非缓冲环状网络是否可以继续往数据交换缓存中写入数据。在该实现方式中,通过设计数据交换缓存能够提高网络的性能,减少数据在环状网络中绕圈的现象。
其中,数据交换缓存可以设计在交换节点内,例如可以在第一交换节点内设计数据交换缓存,或者在第二交换节点内设计数据交换缓存,或者同时在第一交换节点和第二交换节点内设计数据交换缓存。
进一步地,slot还可以包括用于表示该slot是否为空的标识。只有在专用slot为空时,交换节点才能采用该专用slot进行数据传输。在本实施例中,slot中没有承载数据则为空,slot承载了数据则为非空。
下面结合具体的硬件结构对实现本发明实施例提供的第一交换节点进行说明。
图6示出了实现本发明实施例提供的一种第一交换节点120的硬件结构,该第一交换节点120可以包括:输入端口21、输出端口22、控制逻辑电路23。
控制逻辑电路23至少包括:用于判断专用slot的使用权的第一逻辑电路230、用于判断专用slot位置的第二逻辑电路231、用于控制数据传输的第三逻辑电路232。第一逻辑电路230用于判断第一交换节点是否具有所在的第一非缓冲环状网络中的专用slot的使用权;第二逻辑电路231,用于判断专用slot是否移动到第一交换节点;第三逻辑电路232,用于在具有第一非缓冲环状网络的专用slot的使用权,第一非缓冲环状网络的专用slot移动到第一交换节点,且与第一交换节点连接的交换节点有数据需要传输到第一非缓冲环状网络时,获取所述第二交换节点的数据,并将获取到的所述数据采用所述第一非缓冲环状网络的专用slot进行数据传输。
可选地,上述逻辑电路用于实现如图7中由第一交换节点所需要执行的步骤。
此外,控制逻辑电路23可以由多个逻辑电路组合实现,如移位寄存器、计数器、逻辑门电路等。
本领域技术人员可以理解,图6中所示出的第一交换节点120的结构并不构成对第一交换节点的限定,可以包括比图示更多或更少的部件或组合某些部件,或者不同的部件布置。
参见图7,其示出了本发明实施例提供的另一种数据传输方法,由图6示出的第一交换节点120执行,该方法包括:
S201:第一交换节点判断第一交换节点是否具有所在的第一非缓冲环状网络中的专用slot的使用权。
其中,步骤201可以包括:
第一交换节点根据第一交换节点的权限模块判断是否具有专用slot的使用权,权限模块用于指示第一交换节点是否具有专用slot的使用权。
在本发明实施例中,第一交换节点根据权限模块的值确定是否具有专用slot的使用权。当权限模块的值为设定值时,具有专用slot的使用权;当权限模块的值不为设定值时,不具有专用slot的使用权。
可选地,专用slot包括第二标识,该方法还可以包括:
第一交换节点根据第二标识的值判断是否对权限模块的值进行变更,每个非缓冲环状网络中的所有所述slot或者部分slot包括所述第二标识,第二标识用于指示是否对权限模块的值进行变更。例如,当处于第一交换节点的slot的第二标识的值为第一值时,对权限模块的值进行变更,当第二标识的值为第二值时,保持权限模块的值不变,权限模块的值用于标识交换节点是否具有专用slot的使用权。
进一步地,该方法还可以包括:
在具有专用slot的使用权时,对第二标识的值进行设置。
S202:第一交换节点判断专用slot是否移动到第一交换节点。
在本发明实施例中,非缓冲环状网络中的所有slot或者部分slot包括第一标识,第一标识用于指示slot是否为专用slot,或者指示专用slot与slot的相对位置关系。
第一交换节点根据第一标识判断专用slot是否移动到第一交换节点。
在一种实现方式中,第一标识用于指示对应的slot是否为专用slot,在这种实现方式中,可以只在专用slot中设置第一标识,以指示该solt为专用slot。
在另一种实现方式中,第一标识用于指示下一个slot是否为专用slot。下一个slot是指在slot的移动方向上位于该slot后的一个slot。指示下一个slot是否为专用slot,使得交换节点可以提前预知专用slot到达时间,为数据传输做准备。在这种实现方式中,可以只在专用slot前的一个slot中设置第一标识。
当然,在上述两种实现方式中,也可以在每个slot中均设置第一标识。
S203:在第一交换节点具有专用slot的使用权且专用slot移动到第一交换节点时,采用专用slot进行数据传输。
实现时,步骤S203包括:在具有第一非缓冲环状网络的专用slot的使用权,第一非缓冲环状网络的专用slot移动到第一交换节点,且与第一交换节点连接的第二非缓冲环状网络中的第二交换节点有数据需要传输到第一非缓冲环状网络时,第一交换节点获取第二交换节点的数据,并采用第一非缓冲环状网络的专用slot进行传输,第一非缓冲环状网络和第二非缓冲环状网络为片上网络中的相交的任意两个非缓冲环状网络。
进一步地,该方法还可以包括:在第一交换节点具有专用slot的使用权且专用slot移动到第一交换节点时,判断专用slot是否为空。当专用slot为空时,第一交换节点采用专用slot进行数据传输。当专用slot不为空时,第一交换节点不采用专用slot进行数据传输。
slot还包括用于表示该slot是否为空的标识,第一交换节点根据该标识判断专用slot是否为空。在该方法实施例中,步骤S203为可选步骤。
进一步地,该方法还可以包括:
第一交换节点判断第二交换节点是否具有第二非缓冲环状网络的专用slot的使用权;
第一交换节点判断第二非缓冲环状网络的专用slot是否移动到第二交换节点;
在第二交换节点具有第二非缓冲环状网络的专用slot的使用权,第二非缓冲环状网络的专用slot移动到第二交换节点,且第一交换节点有数据需要传输到第二非缓冲环状网络时,第一交换节点将数据传输至第二交换节点。
其中,第一交换节点可以根据第二交换节点发送的指示信息,确定第二交换节点是否具有第二非缓冲环状网络的专用slot的使用权,以及第二非缓冲环状网络的专用slot是否移动到第二交换节点。指示信息用于指示交换节点是否具有该交换节点所在的非缓冲环状网络的专用slot的使用权,以及交换节点所在的非缓冲环状网络的专用slot是否移动到该交换节点
以下为本发明实施例的装置实施例,对于装置实施例中未详细描述的细节,请参考上述对应的方法实施例。
图8示出了本发明实施例提供的通信装置的框图。该通信装置可以通过专用硬件电路,或者,软硬件的结合实现成为第一交换节点的全部或一部分。该第一交换节点包括:第一判断单元301、第二判断单元302和处理单元303。其中,第一判断单元301,用于判断第一交换节点是否具有所在的第一非缓冲环状网络中的专用slot的使用权;第二判断单元302,用于判断专用slot是否移动到第一交换节点;处理单元303,用于在具有第一非缓冲环状网络的专用slot的使用权,第一非缓冲环状网络的专用slot移动到第一交换节点,且与第一交换节点连接的第二非缓冲环状网络中的第二交换节点有数据需要传输到第一非缓冲环状网络时,获取第二交换节点的数据,并采用第一非缓冲环状网络的专用slot进行传输。
在本发明实施例中,slot可以包括第一标识和第二标识,第一标识和第二标识的设置方式可以参见图7对应的方法实施例。
在一种可能的实施例中,第一交换节点还可以包括权限单元,权限单元用于指示第一交换节点是否具有专用slot的使用权。
在一种可能的实施例中,第一交换节点还包括权限控制单元,用于根据第二标识的值判断是否对权限单元的值进行变更。
进一步地,权限控制单元,还用于在具有专用slot的使用权时,对第二标识的值进行设置。
进一步地,第一判断单元301、第二判断单元302和处理单元303,还用于执行图7对应的将数据传输至第二交换节点的流程。
相关细节可结合参考图7的方法实施例。
需要说明的是,上述第一判断单元301、第二判断单元302和处理单元303可以由逻辑电路搭建而成;当然第一判断单元301、第二判断单元302和处理单元303也可以由处理器实现或者,处理器执行存储器中的程序指令来实现。
以上所述仅为本发明的示例性实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (22)

1.一种片上网络,所述片上网络为二维片上网络或多维片上网络,所述片上网络的每个维度包括至少一个非缓冲环状网络,每个所述非缓冲环状网络包括多个路由节点,每个所述非缓冲环状网络中的所述多个路由节点串连成环状,每个所述非缓冲环状网络中的所述多个路由节点中的至少一个路由节点为交换节点;
所述片上网络包括第一非缓冲环状网络和第二非缓冲环状网络,所述第一非缓冲环状网络和所述第二非缓冲环状网络为所述片上网络中的相交的任意两个非缓冲环状网络,所述第一非缓冲环状网络和第二非缓冲环状网络处于不同的维度,所述第一非缓冲环状网络包括第一交换节点,所述第二非缓冲环状网络包括第二交换节点,所述第一交换节点和所述第二交换节点相互连接以进行数据交换;
每个所述非缓冲环状网络中均配置有用于承载数据的N个时隙槽slot,N为非缓冲环状网络的路由节点数量,每个slot在所属的所述非缓冲环状网络中循环传输,且在同一时刻一个路由节点上仅存在一个slot,其特征在于,
所述N个slot包括a个专用slot和N-a个公用slot,所述a为正整数,且N>a≥1;在同一时刻每个所述非缓冲环状网络中仅一个交换节点具有专用slot的使用权,且所述专用slot的使用权在所属的所述非缓冲环状网络的交换节点间依次变换,所述专用slot的使用权在所述专用slot内的数据完成传输后变换;
所述第一交换节点用于,在具有所述第一非缓冲环状网络的专用slot的使用权,所述第一非缓冲环状网络的专用slot移动到所述第一交换节点,且所述第二交换节点有数据需要传输到所述第一非缓冲环状网络时,获取所述第二交换节点的数据,并将获取到的所述数据采用所述第一非缓冲环状网络的专用slot进行数据传输。
2.根据权利要求1所述的片上网络,其特征在于,每个所述非缓冲环状网络中的所有所述slot或者部分所述slot包括第一标识,所述第一标识用于指示所述slot是否为专用slot,或者指示专用slot与所述slot的相对位置关系。
3.根据权利要求1或2所述的片上网络,其特征在于,所述第一交换节点包括权限模块,所述权限模块用于指示所述第一交换节点是否具有专用slot的使用权。
4.根据权利要求3所述的片上网络,其特征在于,每个所述非缓冲环状网络中的所有所述slot或者部分所述slot包括第二标识,所述第二标识用于指示是否对所述权限模块的值进行变更,所述第一交换节点还用于根据所述第二标识的值判断是否对所述权限模块的值进行变更。
5.根据权利要求4所述的片上网络,其特征在于,所述第一交换节点还用于在具有专用slot的使用权时,对所述第二标识的值进行设置。
6.根据权利要求3所述的片上网络,其特征在于,所述权限模块为移位寄存器或计数器,当所述移位寄存器或计数器的值为设定值时,所述第一交换节点具有专用slot的使用权。
7.根据权利要求1或2所述的片上网络,其特征在于,所述第一交换节点和所述第二交换节点直接连接。
8.根据权利要求7所述的片上网络,其特征在于,所述第一交换节点还用于:在所述第二交换节点具有所述第二非缓冲环状网络的专用slot的使用权,所述第二非缓冲环状网络的专用slot移动到所述第二交换节点,且所述第一交换节点有数据需要传输到所述第二非缓冲环状网络时,将数据传输至所述第二交换节点。
9.根据权利要求7所述的片上网络,其特征在于,所述第一非缓冲环状网络的路由节点数量和所述第二非缓冲环状网络的路由节点数量不相等。
10.根据权利要求1或2所述的片上网络,其特征在于,所述第一交换节点和所述第二交换节点之间还设有数据交换缓存,用于存储需要从所述第一交换节点传输到所述第二非缓冲环状网络的数据,或者存储需要从所述第二交换节点传输到所述第一非缓冲环状网络的数据。
11.一种数据传输方法,其特征在于,所述方法包括:
第一交换节点判断所述第一交换节点是否具有所在的第一非缓冲环状网络中的专用slot的使用权,所述第一非缓冲环状网络包括多个路由节点,所述第一非缓冲环状网络中的所述多个路由节点串连成环状,所述第一非缓冲环状网络中的所述多个路由节点中的至少一个路由节点为交换节点,至少一个交换节点包括所述第一交换节点,所述第一非缓冲环状网络中配置有用于承载数据的N个时隙槽slot,N为所述第一非缓冲环状网络的路由节点数量,每个slot在所述第一非缓冲环状网络中循环传输,且在同一时刻一个路由节点上仅存在一个slot,所述N个slot包括a个专用slot和N-a个公用slot,所述a为正整数,且N>a≥1;在同一时刻所述第一非缓冲环状网络中仅一个交换节点具有专用slot的使用权,且所述专用slot的使用权在所述第一非缓冲环状网络的交换节点间依次变换,所述专用slot的使用权在所述专用slot内的数据完成传输后变换;
所述第一交换节点判断所述专用slot是否移动到所述第一交换节点;
在具有所述第一非缓冲环状网络的专用slot的使用权,所述第一非缓冲环状网络的专用slot移动到所述第一交换节点,且与所述第一交换节点连接的第二非缓冲环状网络中的第二交换节点有数据需要传输到所述第一非缓冲环状网络时,所述第一交换节点获取所述第二交换节点的数据,并采用所述第一非缓冲环状网络的专用slot进行传输,所述第一非缓冲环状网络和所述第二非缓冲环状网络为片上网络中的相交的任意两个非缓冲环状网络,所述第一非缓冲环状网络和第二非缓冲环状网络处于不同的维度。
12.根据权利要求11所述的方法,其特征在于,所述非缓冲环状网络中的所有所述slot或者部分所述slot包括第一标识,所述第一标识用于指示所述slot是否为专用slot,或者指示专用slot与所述slot的相对位置关系。
13.根据权利要求11或12所述的方法,其特征在于,所述第一交换节点判断所述第一交换节点是否具有所在的第一非缓冲环状网络中的专用slot的使用权,包括:
所述第一交换节点根据所述第一交换节点的权限模块判断是否具有专用slot的使用权,所述权限模块用于指示所述第一交换节点是否具有专用slot的使用权。
14.根据权利要求13所述的方法,其特征在于,所述方法还包括:
所述第一交换节点根据第二标识的值判断是否对权限模块的值进行变更,每个所述非缓冲环状网络中的所有所述slot或者部分所述slot包括所述第二标识,所述第二标识用于指示是否对所述权限模块的值进行变更。
15.根据权利要求14所述的方法,其特征在于,所述方法还包括:
在所述第一交换节点具有专用slot的使用权时,所述第一交换节点对所述第二标识的值进行设置。
16.根据权利要求11或12所述的方法,其特征在于,所述方法还包括:
所述第一交换节点判断所述第二交换节点是否具有所述第二非缓冲环状网络的专用slot的使用权;
所述第一交换节点判断所述第二非缓冲环状网络的专用slot是否移动到所述第二交换节点;
在所述第二交换节点具有所述第二非缓冲环状网络的专用slot的使用权,所述第二非缓冲环状网络的专用slot移动到所述第二交换节点,且所述第一交换节点有数据需要传输到所述第二非缓冲环状网络时,所述第一交换节点将数据传输至所述第二交换节点。
17.一种第一交换节点,其特征在于,所述第一交换节点包括:
第一判断单元,用于判断所述第一交换节点是否具有所在的第一非缓冲环状网络中的专用slot的使用权,所述第一非缓冲环状网络包括多个路由节点,所述第一非缓冲环状网络中的所述多个路由节点串连成环状,所述第一非缓冲环状网络中的所述多个路由节点中的至少一个路由节点为交换节点,至少一个交换节点包括所述第一交换节点,所述第一非缓冲环状网络中配置有用于承载数据的N个时隙槽slot,N为所述第一非缓冲环状网络的路由节点数量,每个slot在所述第一非缓冲环状网络中循环传输,且在同一时刻一个路由节点上仅存在一个slot,所述N个slot包括a个专用slot和N-a个公用slot,所述a为正整数,且N>a≥1;在同一时刻所述第一非缓冲环状网络中仅一个交换节点具有专用slot的使用权,且所述专用slot的使用权在所述第一非缓冲环状网络的交换节点间依次变换,所述专用slot的使用权在所述专用slot内的数据完成传输后变换;
第二判断单元,用于判断所述专用slot是否移动到所述第一交换节点;
处理单元,用于在具有所述第一非缓冲环状网络的专用slot的使用权,所述第一非缓冲环状网络的专用slot移动到所述第一交换节点,且与所述第一交换节点连接的第二非缓冲环状网络中的第二交换节点有数据需要传输到所述第一非缓冲环状网络时,获取所述第二交换节点的数据,并采用所述第一非缓冲环状网络的专用slot进行传输,所述第一非缓冲环状网络和所述第二非缓冲环状网络为片上网络中的相交的任意两个非缓冲环状网络,所述第一非缓冲环状网络和第二非缓冲环状网络处于不同的维度。
18.根据权利要求17所述的第一交换节点,其特征在于,所述非缓冲环状网络中的所有所述slot或者部分所述slot包括第一标识,所述第一标识用于指示所述slot是否为专用slot,或者指示专用slot与所述slot的相对位置关系。
19.根据权利要求17或18所述的第一交换节点,其特征在于,所述第一交换节点还包括权限单元,所述权限单元用于指示所述第一交换节点是否具有专用slot的使用权。
20.根据权利要求17所述的第一交换节点,其特征在于,每个所述非缓冲环状网络中的所有所述slot或者部分所述slot包括第二标识,所述第二标识用于指示是否对所述权限单元的值进行变更,所述第一交换节点还包括权限控制单元,用于根据所述第二标识的值判断是否对所述权限单元的值进行变更。
21.根据权利要求20所述的第一交换节点,其特征在于,所述权限控制单元,还用于在具有专用slot的使用权时,对所述第二标识的值进行设置。
22.根据权利要求17或18所述的第一交换节点,其特征在于,所述第一判断单元还用于判断所述第二交换节点是否具有所述第二非缓冲环状网络的专用slot的使用权;
第二判断单元,还用于判断所述第二非缓冲环状网络的专用slot是否移动到所述第二交换节点;
处理单元,还用于在所述第二交换节点具有所述第二非缓冲环状网络的专用slot的使用权,所述第二非缓冲环状网络的专用slot移动到所述第二交换节点,且所述第一交换节点有数据需要传输到所述第二非缓冲环状网络时,所述第一交换节点将数据传输至所述第二交换节点。
CN201710067251.5A 2017-02-07 2017-02-07 片上网络、数据传输方法和第一交换节点 Active CN108400880B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201710067251.5A CN108400880B (zh) 2017-02-07 2017-02-07 片上网络、数据传输方法和第一交换节点
US15/890,856 US10476697B2 (en) 2017-02-07 2018-02-07 Network-on-chip, data transmission method, and first switching node

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710067251.5A CN108400880B (zh) 2017-02-07 2017-02-07 片上网络、数据传输方法和第一交换节点

Publications (2)

Publication Number Publication Date
CN108400880A true CN108400880A (zh) 2018-08-14
CN108400880B CN108400880B (zh) 2020-11-03

Family

ID=63038073

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710067251.5A Active CN108400880B (zh) 2017-02-07 2017-02-07 片上网络、数据传输方法和第一交换节点

Country Status (2)

Country Link
US (1) US10476697B2 (zh)
CN (1) CN108400880B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108512735A (zh) * 2017-02-25 2018-09-07 华为技术有限公司 一种数据传输方法和装置
CN109039846A (zh) * 2018-09-27 2018-12-18 贵州华芯通半导体技术有限公司 环形互联总线的避免死锁的方法、系统和跨环装置
CN114615208A (zh) * 2022-03-09 2022-06-10 新华三半导体技术有限公司 一种反压信息传递、请求发送方法、装置及网络芯片
WO2022246761A1 (zh) * 2021-05-27 2022-12-01 华为技术有限公司 死锁解除的方法和片上系统
CN116760783A (zh) * 2023-08-16 2023-09-15 沐曦集成电路(上海)有限公司 一种均衡读数据的系统

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SG11202106270UA (en) * 2018-12-12 2021-07-29 Interactic Holdings Llc Method and apparatus for improved data transfer between processor cores
CN111382114B (zh) * 2018-12-28 2022-05-03 北京灵汐科技有限公司 一种用于片上网络的数据传输方法、装置及电子设备
US11544009B2 (en) * 2019-04-11 2023-01-03 Black Sesame Technologies Inc. Heterogeneous computation and hierarchical memory image sensing pipeline
US20220021519A1 (en) * 2019-06-11 2022-01-20 Integrity Security Services Llc Device update transmission using a filter structure
US11082209B2 (en) * 2019-06-11 2021-08-03 Integrity Security Services Llc Device update transmission using a filter structure
US10666427B1 (en) * 2019-06-11 2020-05-26 Integrity Security Services Llc Device update transmission using a bloom filter
US20230325091A1 (en) * 2022-02-04 2023-10-12 Chronos Tech Llc Devices and methods for synchronous and asynchronous interface using a circular fifo

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140052923A1 (en) * 2012-08-16 2014-02-20 Fujitsu Limited Processor and control method for processor
US20140334818A1 (en) * 2013-05-10 2014-11-13 Futurewei Technologies, Inc. System and Method for Photonic Switching
CN104583991A (zh) * 2012-09-29 2015-04-29 英特尔公司 用于二维无缓冲器互连的防饥饿及回弹减少机制
CN105450555A (zh) * 2014-09-26 2016-03-30 杭州华为数字技术有限公司 一种片上网络系统,及片上网络通信链路的建立方法
US20160134482A1 (en) * 2014-11-10 2016-05-12 Maged E. Beshai Distributed Determination OF Routes in a Vast Communication Network
CN106302209A (zh) * 2015-06-12 2017-01-04 华为技术有限公司 一种片上网络NoC及数据传输的方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8693319B2 (en) 2008-09-25 2014-04-08 Intel Corporation Scheme for avoiding deadlock in multi-ring interconnect, with additional application to congestion control
US8593960B2 (en) 2010-06-30 2013-11-26 Intel Corporation Providing a bufferless transport method for multi-dimensional mesh topology
WO2015157993A1 (zh) * 2014-04-18 2015-10-22 华为技术有限公司 互连系统、装置和数据传输方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140052923A1 (en) * 2012-08-16 2014-02-20 Fujitsu Limited Processor and control method for processor
CN104583991A (zh) * 2012-09-29 2015-04-29 英特尔公司 用于二维无缓冲器互连的防饥饿及回弹减少机制
US20140334818A1 (en) * 2013-05-10 2014-11-13 Futurewei Technologies, Inc. System and Method for Photonic Switching
CN105450555A (zh) * 2014-09-26 2016-03-30 杭州华为数字技术有限公司 一种片上网络系统,及片上网络通信链路的建立方法
US20160134482A1 (en) * 2014-11-10 2016-05-12 Maged E. Beshai Distributed Determination OF Routes in a Vast Communication Network
CN106302209A (zh) * 2015-06-12 2017-01-04 华为技术有限公司 一种片上网络NoC及数据传输的方法

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108512735A (zh) * 2017-02-25 2018-09-07 华为技术有限公司 一种数据传输方法和装置
CN108512735B (zh) * 2017-02-25 2021-04-20 华为技术有限公司 一种数据传输方法和装置
CN109039846A (zh) * 2018-09-27 2018-12-18 贵州华芯通半导体技术有限公司 环形互联总线的避免死锁的方法、系统和跨环装置
CN109039846B (zh) * 2018-09-27 2021-05-04 贵州华芯通半导体技术有限公司 环形互联总线的避免死锁的方法、系统和跨环装置
WO2022246761A1 (zh) * 2021-05-27 2022-12-01 华为技术有限公司 死锁解除的方法和片上系统
CN114615208A (zh) * 2022-03-09 2022-06-10 新华三半导体技术有限公司 一种反压信息传递、请求发送方法、装置及网络芯片
CN114615208B (zh) * 2022-03-09 2024-02-23 新华三半导体技术有限公司 一种反压信息传递、请求发送方法、装置及网络芯片
CN116760783A (zh) * 2023-08-16 2023-09-15 沐曦集成电路(上海)有限公司 一种均衡读数据的系统
CN116760783B (zh) * 2023-08-16 2023-10-27 沐曦集成电路(上海)有限公司 一种均衡读数据的系统

Also Published As

Publication number Publication date
US20180227146A1 (en) 2018-08-09
US10476697B2 (en) 2019-11-12
CN108400880B (zh) 2020-11-03

Similar Documents

Publication Publication Date Title
CN108400880A (zh) 片上网络、数据传输方法和第一交换节点
CN104158738B (zh) 一种低缓冲区片上网络路由器及路由方法
CN103353861B (zh) 实现分布式i/o资源池化的方法及装置
CN103729331B (zh) 片上网络通信死锁避免方法、路由器及通信网络
US10936525B2 (en) Flexible routing of network data within a programmable integrated circuit
EP3014821A1 (en) Mechanism to control resource utilization with adaptive routing
CN102685017A (zh) 一种基于fpga的片上网络路由器
CN101739241A (zh) 一种片上多核dsp簇和应用扩展方法
CN102035723A (zh) 一种片上网络路由及实现方法
CN103106173A (zh) 多核处理器核间互联的方法
CN105306382B (zh) 一种无缓存noc数据处理方法及noc电子元件
CN105281433A (zh) 一种配电终端通信系统
CN104683242A (zh) 一种二维片上网络的拓扑结构以及路由方法
US11615051B2 (en) Processing of ethernet packets at a programmable integrated circuit
CN104796343A (zh) 一种基于片上网络的通信结构
CN103377170B (zh) 异构处理器间spi高速双向对等数据通信系统
CN105530206A (zh) 一种基于Torus网络的双接入结构及其工作方式
CN102013984B (zh) 二维网状片上网络系统
CN105049362A (zh) 一种二维环绕网格片上网络的拓扑结构以及路由方法
CN107276920A (zh) 一种应用于混合三维片上网络的分布式流控系统及机制
KR20130007063A (ko) 하이브리드 광학 네트워크-온-칩 시스템 및 그의 라우팅 방법
CN103744817B (zh) 用于Avalon总线向Crossbar总线的通讯转换桥设备及其通讯转换方法
CN117561507A (zh) 可编程集成电路中的以太网分组处理
CN113672549A (zh) 一种基于非共享存储多核处理器的微系统架构
WO2020087248A1 (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