CN112532527A - 路由控制方法及人工智能处理器 - Google Patents

路由控制方法及人工智能处理器 Download PDF

Info

Publication number
CN112532527A
CN112532527A CN202011438444.5A CN202011438444A CN112532527A CN 112532527 A CN112532527 A CN 112532527A CN 202011438444 A CN202011438444 A CN 202011438444A CN 112532527 A CN112532527 A CN 112532527A
Authority
CN
China
Prior art keywords
routing
routing packet
packet
processing
processing core
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
CN202011438444.5A
Other languages
English (en)
Other versions
CN112532527B (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.)
Tsinghua University
Original Assignee
Tsinghua University
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 Tsinghua University filed Critical Tsinghua University
Priority to CN202011438444.5A priority Critical patent/CN112532527B/zh
Publication of CN112532527A publication Critical patent/CN112532527A/zh
Application granted granted Critical
Publication of CN112532527B publication Critical patent/CN112532527B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本公开涉及路由控制方法及人工智能处理器。该路由控制方法应用于人工智能处理器的处理核心,包括:在接收到第一路由包的情况下,判断第一路由包的第一目的地址与处理核心的本地地址是否相同;在地址相同的情况下,判断第一路由包的标志位是否有效;在标志位有效且处理核心本地的控制信息有效的情况下,根据控制信息确定第二目的地址;根据第一路由包及第二目的地址,生成并向与第二目的地址对应的处理核心发送第二路由包。本公开实施例可基于路由包中的标志位和处理核心自身的控制信息,实现不同路由包的混合传输,提高网络资源的有效利用率。

Description

路由控制方法及人工智能处理器
技术领域
本公开涉及片上系统技术领域,尤其涉及路由控制方法及人工智能处理器。
背景技术
二维网格(2D mesh)网络是片上网络中应用最为广泛的一种网络结构,其优点在于网络具有很强的对称性和可扩展能力,路由算法简单易于分析和实现。鉴于2D mesh网络的诸多优点和广泛应用基础,这种网络结构被应用于神经形态计算领域。
2D mesh网络的路由包多播是一个广受关注的问题,寻找一种实现简单、硬件开销小,对网络带宽占用少、高效的路由多播方法是片上网络设计者的目标。
发明内容
有鉴于此,本公开提出了一种路由控制方法及人工智能处理器,能够实现路由包的混合传输,提高网络资源的有效利用率。
根据本公开的一方面,提供了一种路由控制方法,所述方法应用于人工智能处理器的处理核心,所述人工智能处理器包括多个处理核心,各处理核心之间通过路由包进行数据交换,所述路由包包括标志位、目的地址及有效数据,其中,所述方法包括:在接收到第一路由包的情况下,判断所述第一路由包的第一目的地址与所述处理核心的本地地址是否相同;在所述第一目的地址与所述本地地址相同的情况下,判断所述第一路由包的标志位是否有效;在所述第一路由包的标志位有效,且所述处理核心本地的控制信息有效的情况下,根据所述控制信息,确定第二目的地址;根据所述第一路由包及所述第二目的地址,生成第二路由包,并向与所述第二目的地址对应的处理核心发送所述第二路由包。
根据本公开的另一方面,提供了一种人工智能处理器,所述人工智能处理器包括多个处理核心,各处理核心之间通过路由包进行数据交换,所述处理核心包括路由模块,用于接收和/或发送路由包,所述路由包包括标志位、目的地址及有效数据,其中,所述路由模块被配置为:在接收到第一路由包的情况下,判断所述第一路由包的第一目的地址与所述处理核心的本地地址是否相同;在所述第一目的地址与所述本地地址相同的情况下,判断所述第一路由包的标志位是否有效;在所述第一路由包的标志位有效,且所述处理核心本地的控制信息有效的情况下,根据所述控制信息,确定第二目的地址;根据所述第一路由包及所述第二目的地址,生成第二路由包,并向与所述第二目的地址对应的处理核心发送所述第二路由包。
根据本公开的实施例,能够在路由包到达目的地址时启动路由类别的判断;在路由包中的标志位及处理核心自身的控制信息有效时,确定新目的地址;生成并向新目的地址发送路由包,并通过处理模块对路由包的有效数据进行处理,从而实现不同路由类别的路由包的混合传输,提高网络资源的有效利用率。
根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。
附图说明
包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本公开的示例性实施例、特征和方面,并且用于解释本公开的原理。
图1示出本公开实施例的人工智能处理器的示意图。
图2示出本公开实施例的路由包格式的示意图。
图3示出本公开实施例的路由控制方法的流程图。
图4示出本公开实施例的人工智能处理器的示意图。
图5示出本公开实施例的路由控制方法的流程图。
图6示出本公开实施例的路由控制方法的路由过程的示意图。
具体实施方式
以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
另外,为了更好的说明本公开,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本公开同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本公开的主旨。
相关技术的路由控制方法主要有基于源节点的多路由包并发式多播、基于包匹配的传输路径上的多播、基于路由包储存多播信息的多播和基于目标节点寄存器储存多播信息的多播,但上述四种路由多播方法在应用过程存在各自的限制和缺点。
基于源节点的多路由包并发式多播需要在源节点处产生等同于目标节点个数的多个路由包,由于这些路由包中含有大量相同信息,因此会出现网络资源有效利用率低的问题,且在多播路由包较多时尤为明显。
基于包匹配的传输路径上的多播需要路由节点具有包过滤功能,同时传输路径需要包含所有目标节点,此过程对于路由算法的制定有较高的要求。
基于路由包储存多播信息的多播通过在路由包中储存相应的多播路由信息来实现路由包的多播,对于一个路由节点与多个神经形态处理单元连接的2D mesh网络来说,每个神经形态处理单元在产生一个路由包时都需要在该路由包中配置相应的多播路由信息,这种实现路由包多播的方式不仅繁琐,且增加了每个路由包含有的信息,路由包在网络资源中路由时对网络资源的占用较高,不利于网络资源的有效利用。
基于目标节点寄存器储存多播信息的多播通过在目标节点寄存器储存相应的多播信息来实现路由包的多播,该方式以核为多播单位,当一个核被配置为能够进行多播的核,所有经过该核的路由包均会被多播,传输具有局限性,不利于网络资源的有效利用。
有鉴于此,本公开提出了一种路由控制方法及人工智能处理器,能够实现路由包的混合传输,提高网络资源的有效利用率。
根据本公开实施例的人工智能处理器可包括神经形态芯片,处理核心可包括神经形态芯片的功能核,神经形态芯片可以按照功能核进行组织。本领域技术人员应当理解的是,本公开对于神经形态芯片和功能核的描述是示例性的,本公开对于人工智能处理器以及处理核心的具体类型并不限定。
图1示出本公开实施例的人工智能处理器的示意图。如图1所示,人工智能处理器100可包括多个处理核心110,多个处理核心110按照二维网状结构进行排列,组成二维网格网络。其中,各处理核心之间通过路由包进行数据交换,每个处理核心都是一个路由节点。
图2示出本公开实施例的路由包格式的示意图。在一种可能的实现方式中,如图2所示,路由包可包括标志位21、目的地址22及有效数据23,均可在生成路由包时进行配置。
其中,标志位用于指示路由包的类别,例如标志位有效,指示该路由包为中继路由或多播路由;标志位无效,指示该路由包为常规路由;目的地址用于指示路由包将要路由到的处理核心的地址;有效数据包括处理核心之间待交换的数据。应当理解,路由包的各组成部分的组成顺序以及各组成部分占用的存储空间可以灵活配置,本公开对此不作限制。
图3示出本公开实施例的路由控制方法的流程图。该方法可以应用于人工智能处理器的处理核心,如图3所示,该方法可以包括以下步骤:
S31,在接收到第一路由包的情况下,判断所述第一路由包的第一目的地址与所述处理核心的本地地址是否相同。
S32,在所述第一目的地址与所述本地地址相同的情况下,判断所述第一路由包的标志位是否有效。
S33,在所述第一路由包的标志位有效,且所述处理核心本地的控制信息有效的情况下,根据所述控制信息,确定第二目的地址。
S34,根据所述第一路由包及所述第二目的地址,生成第二路由包,并向与所述第二目的地址对应的处理核心发送所述第二路由包。
在一种可能的实现方式中,针对人工智能处理器的任一个处理核心A,当该处理核心A要传输数据时,可生成路由包(称为第一路由包)。如果该第一路由包在能够直接传输到的范围内,且仅有一个目的地,则可将第一路由包的标志位设置为无效;反之,如果该第一路由包不在能够直接传输到的范围内,或具有多个目的地,则可将第一路由包的标志位设置为有效,以使与第一路由包的目的地址对应的处理核心进行中继路由或多播路由。
在一种可能的实现方式中,该处理核心A可生成第一路由包,并根据预设的传输方向(例如行方向或列方向)将第一路由包发送给相邻的处理核心,以便向目的地址传输第一路由包。本公开对具体的传输方式不作限制。
在一种可能的实现方式中,针对与处理核心A不同的任一个处理核心,当该处理核心接收到第一路由包时,可在步骤S31中判断第一路由包的第一目的地址与该处理核心的本地地址是否相同。如果第一目的地址与本地地址不同,则说明该处理核心不是第一路由包的目的地。在该情况下,可根据第一目的地址与本地地址之间的差异,按预设的传输方向继续传输第一路由包。本公开对具体的传输方式不作限制。
在一种可能的实现方式中,如果第一目的地址与本地地址相同,则说明该处理核心是第一路由包的目的地,第一路由包已到达目的地址。在该情况下,可启动路由类别的判断,在步骤S32中,判断第一路由包的标志位是否有效。如果标志位无效,则说明第一路由包为常规路由,处理核心可获取第一路由包中的有效数据并进行处理,结束第一路由包的传输。
在一种可能的实现方式中,如果标志位有效,则说明第一路由包可能进行中继路由或多播路由,可进一步判断处理核心本地的预设的控制信息是否有效。
其中,处理核心本地的寄存器中可寄存有预先配置的控制信息(也可称为原语参数),用于指示该处理核心是否能够实现中继或多播路由。该控制信息可包括路由类别信息及步长信息。路由类别信息用于指示支持的路由类别,例如常规路由、中继路由及多播路由中的一种;步长信息用于指示中继或多播路由时路由包的传输距离。
在一种可能的实现方式中,2D mesh网络中包括多个路由节点,路由包在单个路由节点的传输距离受限于该路由节点配置的步长信息以及其他硬件上的因素。因此,如果想让路由包的数据进行远距离传输,有必要引入中继,即当路由包传输至能够进行中继的路由节点时,可以将该路由节点作为新的源路由节点进行数据的传输,同时保证数据的传输速度和完整性。理论上,2D mesh网络可以借由中继进行任意距离远的数据传输。
在一种可能的实现方式中,如果处理核心本地的控制信息有效,例如路由类别指示为中继或多播路由,且步长不为零,则可在步骤S33中根据控制信息,确定第二目的地址。例如,根据该处理核心本地地址及控制信息中的步长信息,确定对路由包进行中继或多播的目的地址。
在一种可能的实现方式中,在步骤S34中,可根据第一路由包及第二目的地址,生成第二路由包。第二路由包的目的地址即为第二目的地址;第二路由包的有效数据为第一路由包中的有效数据;第二路由包的标志位可根据预设的配置设定为有效或无效。
在一种可能的实现方式中,该处理核心可向与第二目的地址对应的处理核心发送第二路由包。第二路由包的发送方式与处理核心A发送第一路由包的方式类似,此处不再重复描述。
根据本公开实施例的路由控制方法,能够在路由包到达目的地址时启动路由类别的判断;在路由包中的标志位及处理核心自身的控制信息有效时,确定新目的地址;生成并向新目的地址发送路由包,从而提高路由包的中继或多播路由的传输效率,使得路由包的传输距离更远并能够发送给多个目的地,提高了路由传输的灵活性。
图4示出本公开实施例的人工智能处理器的示意图。在一种可能的实现方式中,如图4所示,每个处理核心110可包括路由模块111、处理模块112及路由模块113。路由模块111用于接收和/或发送路由包;处理模块112用于进行数据处理;寄存模块113用于寄存处理核心本地的控制信息。其中,根据本公开实施例的路由控制方法可应用于处理核心110的路由模块111。
在一种可能的实现方式中,针对发送第一路由包的处理核心,当处理核心要传输数据时,可通过该处理核心的路由模块生成第一路由包。其中,可在第一路由包的包头配置一个1位(即1bit)的标识Q作为标志位。例如,当标志位的值为1时,标志位有效,表示路由包到达目的地址后还需进行中继或者多播过程;当标志位的值为0时,标志位无效,表示路由包到达目的地址后不进行中继或者多播过程,路由结束。
其中,如果标志位存储在处理核心中,则所有经过该处理核心的路由包都会被中继或多播。因此将标志位存储在路由包而非处理核心中,可以实现常规路由、中继路由及多播路由的混合传输,即该处理核心既可以进行常规路由,也可以中继路由及多播路由,使得路由方式更加灵活。
在一种可能的实现方式中,针对接收到第一路由包的处理核心,可通过该处理核心的路由模块接收第一路由包,并在步骤S31中判断第一路由包的第一目的地址与该处理核心的本地地址是否相同。
在一种可能的实现方式中,根据本公开实施例的路由控制方法还可包括:在所述第一目的地址与所述本地地址不同的情况下,向与所述第一目的地址对应的处理核心发送所述第一路由包。
在一个示例中,如果第一目的地址与本地地址不同,则说明该处理核心不是第一路由包的目的地。在该情况下,路由模块可根据第一目的地址与本地地址之间的差异,按预设的传输方式继续传输第一路由包。通过这种方式,可实现路由包的正常传输,以使路由包能够到达目的地址。
在一种可能的实现方式中,如果第一目的地址与本地地址相同,则说明该处理核心是第一路由包的目的地,第一路由包已到达目的地址。在该情况下,路由模块可启动路由类别的判断,在步骤S32中,判断第一路由包的标志位是否有效。
在一种可能的实现方式中,根据本公开实施例的路由控制方法还可包括:在所述第一路由包的标志位无效的情况下,获取所述第一路由包的有效数据,并通过所述处理模块对所述有效数据进行处理。
在一个示例中,如果标志位无效,则说明第一路由包为常规路由,路由模块可获取第一路由包中的有效数据,并结束第一路由包的传输。路由模块可将有效数据发送给该处理核心的处理模块,通过处理模块对有效数据进行处理,例如进行人工智能运算等,本公开对此不作限制。通过这种方式,可实现常规路由包的处理过程。
在一种可能的实现方式中,如果标志位有效,则说明第一路由包可能进行中继路由或多播路由,路由模块可判断本地预设的控制信息是否有效。
在一种可能的实现方式中,所述寄存模块可包括一个或多个寄存器,用于寄存控制信息,包括路由类别信息及步长信息。例如,可配置一个2bit的寄存器CXY[1:0],存储路由类别信息。其中,路由类别信息包括常规路由、中继路由及多播路由中的一种。表1示出了标志位Q和路由类别信息CXY的配置。
表1
Figure BDA0002821516650000081
如表1所示,当路由类别信息CXY的值为01时,路由类别信息有效,表示该路由节点被配置为多播,即路由包到达该路由节点后还需进行多播过程,为多播路由包;当路由类别信息CXY的值为10时,路由类别信息有效,表示该路由节点被配置为中继,即路由包到达该路由节点后还需进行中继过程,为中继路由包;当路由类别信息CXY的值为00或11时,表示路由类别信息无效,该路由节点既没有多播也没有中继过程,即路由包仍为常规路由包。
在一种可能的实现方式中,寄存模块可配置两个8bit的寄存器Nx[7:0]、Ny[7:0],分别存储X方向和Y方向的步长信息。寄存器Nx[7:0]、Ny[7:0]的步长值为8位有符号数,即步长值既可以为正值,也可以为负值,这样可实现-128至127步长范围的路由传输。当步长值为正值时,表示该路由节点将要路由的方向和预先设定的方向一致。当步长值为负值时,表示该路由节点将要路由的方向和预先设定的方向相反。
本领域技术人员应当理解,本公开对于路由类别信息的限定及步长的配置是示例性的,路由类别信息还可包括广播路由,步长的位数也可以任意配置等。本公开对于路由类别信息的类别范围及步长的范围均不作限制。
在一种可能的实现方式中,根据本公开实施例的路由控制方法还可包括:在所述路由类别信息为常规路由的情况下,确定所述处理核心本地的控制信息无效;在所述第一路由包的标志位有效,且所述处理核心本地的控制信息无效的情况下,获取所述第一路由包的有效数据,并通过所述处理模块对所述有效数据进行处理。
在一个示例中,路由模块可读取寄存器CXY[1:0]的值,如果该值为00或11,则路由类别信息为常规路由,说明第一路由包仍为常规路由包,路由模块可认为控制信息无效,没有多播或中继过程。
在第一路由包的标志位有效,处理核心本地的控制信息无效的情况下,可与标志位无效的处理方式相同。也即,路由模块获取第一路由包中的有效数据,并结束第一路由包的传输。路由模块将有效数据发送给该处理核心的处理模块,通过处理模块对有效数据进行处理。通过这种方式,可在路由包的标志位有效,但处理核心本地的控制信息无效的情况下,实现常规路由包的处理过程。
在一种可能的实现方式中,根据本公开实施例的路由控制方法还可包括:在所述路由类别信息为中继路由或多播路由,且所述步长信息不为零的情况下,确定所述处理核心本地的控制信息有效。
在一个示例中,如果路由模块读取到的CXY[1:0]的值为10或01,则路由类别信息为中继路由或多播路由;路由模块可继续读取寄存器Nx[7:0]、Ny[7:0]中的步长信息。如果寄存器Nx[7:0]、Ny[7:0]的步长值均为零,则说明无法进行中继或多播路由过程,控制信息无效。在该情况下,路由模块可执行第一路由包的标志位有效,且控制信息无效的情况下的处理,此处不再重复描述。
在一种可能的实现方式中,如果寄存器Nx[7:0]、Ny[7:0]的步长值至少一个不为零,则步长信息不为零,能够进行中继或多播路由过程。
这样,在路由类别信息为中继路由或多播路由,且步长信息不为零的情况下,路由模块可确定处理核心本地的控制信息有效,进而在步骤S33中根据处理核心的本地地址及控制信息中的步长信息,确定对路由包进行中继或多播的目的地址,即第二目的地址。通过这种方式,能够实现控制信息有效性的判定,以便执行相应的处理,提高中继或多播路由的传输效率。
将路由类别信息和步长信息都存储在2D mesh网络的处理核心中,相当于中继或多播过程以处理核心为单位进行,而无需在路由包中分配存储路由类别信息和步长信息的存储区域,即路由包中不含有与中继或多播过程相关的信息,这样可以减少路由包中包含的信息,能够有效提高路由包进行混合传输的效率,降低路由过程对2D mesh网络资源的占用,提高2D mesh网络资源的利用率。同时,对于一个处理核心与多个处理核心连接的2Dmesh网络,可以简单地实现以处理核心为单位的路由包中有效数据的复制,路由过程简单方便。
在一种可能的实现方式中,可在2D mesh网络的全部处理核心中配置路由类别信息和步长信息,也可在部分处理核心中配置路由类别信息和步长信息。本公开对此不作限制。
在一种可能的实现方式中,路由模块在步骤S33中确定第二目的地址后,可在步骤S34中,根据第一路由包及第二目的地址生成第二路由包。第二路由包的目的地址即为第二目的地址;第二路由包的有效数据为第一路由包中的有效数据;第二路由包的标志位可根据预设的配置设定为有效或无效。
在一种可能的实现方式中,生成第二路由包后,路由模块可向与第二目的地址对应的处理核心发送第二路由包。第二路由包的发送方式与第一路由包的发送方式类似,此处不再重复描述。
在一种可能的实现方式中,根据本公开实施例的路由控制方法还可包括:在所述路由类别信息为多播路由的情况下,获取所述第一路由包的有效数据,并通过所述处理模块对所述有效数据进行处理。
如表1所示,如果路由模块读取到的CXY[1:0]的值为10,则路由类别信息为中继路由,说明该路由模块仅将第一路由包路由到新的目的地,不获取第一路由包的有效数据。在该情况下,路由模块可仅执行步骤S34,即生成并发送第二路由包。
在一种可能的实现方式中,如果路由模块读取到的CXY[1:0]的值为01,则路由类别信息为多播路由,说明该路由模块既要获取第一路由包的有效数据,又要将第一路由包路由到新的目的地。在该情况下,路由模块在执行步骤S34同时,还可获取第一路由包中的有效数据。路由模块将该有效数据发送给该处理核心的处理模块,通过处理模块对有效数据进行处理。通过这种方式,可分别实现中继路由包和多播路由包的处理过程。
图5示出本公开实施例的路由控制方法的流程图。如图5所示,所述方法可以包括:
S41,接收第一路由包。
S42,判断所述第一路由包的第一目的地址与所述处理核心的本地地址是否相同。若是,则执行步骤S43;若否,则执行步骤S47,控制路由包继续路由。
S43,判断所述第一路由包的标志位是否有效。若是,则执行步骤S44;若否,则执行步骤S48,控制路由包结束路由。
S44,判断所述处理核心本地的控制信息是否有效。若是,则执行步骤S45;若否,则执行步骤S48,控制路由包结束路由。
S45,根据所述控制信息,确定第二目的地址以及是否需要获取所述第一路由包的有效数据并通过所述处理模块对所述有效数据进行处理。例如,在所述控制信息中的路由类别信息为常规路由或者多播路由的情况下,获取所述第一路由包的有效数据并通过所述处理模块对所述有效数据进行处理;在路由类别信息为中继路由的情况下,不需要获取所述第一路由包的有效数据并通过所述处理模块对所述有效数据进行处理。
S46,根据所述第一路由包及所述第二目的地址,生成第二路由包,并向与所述第二目的地址对应的处理核心发送所述第二路由包。
在一种可能的实现方式中,步骤S43和步骤S44可以同时进行,也可以彼此交换顺序执行。本公开对于所述路由控制方法的执行顺序并不限定。
图6示出本公开实施例的路由控制方法的路由过程的示意图。
在一种可能的实现方式中,如图6所示,路由节点可以按2D mesh网络结构排列。每个路由节点可以通过四对输入输出通道与相邻的路由节点相连构成2D mesh网络。每个路由节点可以接收路由包中的有效数据进行处理。可以预先设定水平向右为X轴正方向,竖直向下为Y轴正方向,左上处路由节点的路由坐标为(0,0)。
参见图6,在源路由节点(0,0)向第一目的地址对应的路由节点(3,1)发送第一路由包时,源路由节点向路由节点(3,1)(即,第一目的地址)发送路由包时需实时判断路由包是否到达路由节点(3,1)。如果当前到达的处理核心的本地地址不是第一目的地址,说明路由包没有到达第一目的地址,则需要继续向下一路由节点发送路由包;如果当前到达的处理核心的本地地址和第一目的地址相同,说明路由包到达第一目的地址,此时需要进一步判断是否进行中继或者多播过程。
如图6所示,路由包的标志位可以配置为1,路由节点(3,1)的存储路由类别信息的寄存器CXY可以配置为01,寄存器Nx可以配置为0x00,寄存器Ny可以配置为0x02,则所有以(3,1)为第一目的地址的路由包到达节点(3,1)后,执行以下过程:
步骤S51,将路由包中的有效数据发送给路由节点(3,1)进行处理。
步骤S52,提取路由包中的标志位、路由节点自身存储的所述路由类别信息和所述步长信息。此时标志位为1,表示该路由包需要继续进行路由(例如,中继或多播);存储路由类别信息的寄存器的值为01,表示该路由包需要进行多播;Nx寄存器的值为0x00,表示不需要在X方向中继,Ny寄存器的值为0x02,表示需要在正的Y方向进行多播,且多播步长为2。提取所述路由包中的标志位、路由节点自身存储的所述路由类别信息和所述步长信息后,则产生一个正X方向步长为0以及正Y方向步长为2的路由包,然后重新通过仲裁分配输出通道进行路由。
步骤S53,根据所述步长信息确定路由包进行多播的第二目的地址为(3,3),将路由包路由至路由节点(3,3),并将路由包中的有效数据发送给与路由节点(3,3)进行处理。如果路由节点(3,3)中的控制信息不再有效,则路由包路由到该路由节点结束路由。
值得注意的是,如果路由节点(3,1)的寄存器CXY被配置为10,表示路由包路由到该路由节点时需要进行中继过程,此时不需要将路由包中的有效数据发送给路由节点(3,1)的处理模块进行处理,即步骤S51可以省略;如果路由节点(3,1)的寄存器CXY被配置为00或11,则表示该路由包是常规路由包,即该路由包路由到该路由节点,将路由包中的有效数据发送给路由节点(3,1)的处理模块进行处理,整个路由过程结束。
本领域常规技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。
根据本公开的实施例,还提供了一种人工智能处理器,所述人工智能处理器可以包括多个处理核心,各处理核心之间可以通过路由包进行数据交换,所述处理核心包括路由模块,用于接收和/或发送路由包,所述路由包包括标志位、目的地址及有效数据,其中,所述路由模块被配置为:
在接收到第一路由包的情况下,判断所述第一路由包的第一目的地址与所述处理核心的本地地址是否相同;在所述第一目的地址与所述本地地址相同的情况下,判断所述第一路由包的标志位是否有效;在所述第一路由包的标志位有效,且所述处理核心本地的控制信息有效的情况下,根据所述控制信息,确定第二目的地址;根据所述第一路由包及所述第二目的地址,生成第二路由包,并向与所述第二目的地址对应的处理核心发送所述第二路由包。
在一种可能的实现方式中,所述处理核心还包括寄存模块,用于寄存所述处理核心本地的控制信息,所述处理核心本地的控制信息包括路由类别信息及步长信息,所述路由类别信息包括常规路由、中继路由及多播路由中的一种,其中,所述路由模块还被配置为:
从所述寄存模块读取所述路由类别信息及所述步长信息;在所述路由类别信息为中继路由或多播路由,且所述步长信息不为零的情况下,确定所述处理核心本地的控制信息有效。
在一种可能的实现方式中,所述处理核心还包括处理模块,用于进行数据处理,其中,所述路由模块还被配置为:
在所述路由类别信息为多播路由的情况下,读取所述第一路由包的有效数据;将所述有效数据发送到所述处理模块,以使所述处理模块对所述有效数据进行处理。
将所述控制信息存储在路由节点中,能够减少路由包中的信息量,有效提高路由包的路由效率,减少路由包在路由过程对网络资源的占用,且所述控制信息无需在每个生成的路由包中配置,避免了在每个路由包中配置所述控制信息的繁琐。
需要说明的是,尽管以2D mesh网络作为示例介绍了以上的路由控制方法及人工智能处理器,但本领域技术人员应当理解,本公开应不限于此。事实上,用户完全可根据个人喜好和/或实际应用场景灵活设定,只要能够基于所述路由控制方法及人工智能处理器实现路由混合传输即可。
通过在路由包到达目的地址时启动路由类别的判断;在路由包中的标志位及处理核心自身的控制信息有效时,确定新目的地址;生成并向新目的地址发送路由包,并通过处理模块对路由包的有效数据进行处理,所述路由控制方法及人工智能处理器能够实现不同路由类别的路由包的混合传输,提高网络资源的有效利用率。
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的常规技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它常规技术人员能理解本文披露的各实施例。

Claims (10)

1.一种路由控制方法,其特征在于,所述方法应用于人工智能处理器的处理核心,所述人工智能处理器包括多个处理核心,各处理核心之间通过路由包进行数据交换,所述路由包包括标志位、目的地址及有效数据,
其中,所述方法包括:
在接收到第一路由包的情况下,判断所述第一路由包的第一目的地址与所述处理核心的本地地址是否相同;
在所述第一目的地址与所述本地地址相同的情况下,判断所述第一路由包的标志位是否有效;
在所述第一路由包的标志位有效,且所述处理核心本地的控制信息有效的情况下,根据所述控制信息,确定第二目的地址;
根据所述第一路由包及所述第二目的地址,生成第二路由包,并向与所述第二目的地址对应的处理核心发送所述第二路由包。
2.根据权利要求1所述方法,其特征在于,所述处理核心本地的控制信息包括路由类别信息及步长信息,所述路由类别信息包括常规路由、中继路由及多播路由中的一种,其中,所述方法还包括:
在所述路由类别信息为中继路由或多播路由,且所述步长信息不为零的情况下,确定所述处理核心本地的控制信息有效。
3.根据权利要求2所述方法,其特征在于,每个处理核心包括处理模块,用于进行数据处理,其中,所述方法还包括:
在所述路由类别信息为多播路由的情况下,获取所述第一路由包的有效数据,并通过所述处理模块对所述有效数据进行处理。
4.根据权利要求2所述方法,其特征在于,所述方法还包括:
在所述路由类别信息为常规路由的情况下,确定所述处理核心本地的控制信息无效;
在所述第一路由包的标志位有效,且所述处理核心本地的控制信息无效的情况下,获取所述第一路由包的有效数据,并通过所述处理模块对所述有效数据进行处理。
5.根据权利要求1所述方法,其特征在于,每个处理核心包括处理模块,用于进行数据处理,所述方法还包括:
在所述第一路由包的标志位无效的情况下,获取所述第一路由包的有效数据,并通过所述处理模块对所述有效数据进行处理。
6.根据权利要求1所述方法,其特征在于,所述方法还包括:
在所述第一目的地址与所述本地地址不同的情况下,向与所述第一目的地址对应的处理核心发送所述第一路由包。
7.根据权利要求2所述方法,其特征在于,所述处理核心还包括路由模块及寄存模块,所述路由模块用于接收和/或发送路由包,所述寄存模块用于寄存所述处理核心本地的控制信息。
8.一种人工智能处理器,其特征在于,所述人工智能处理器包括多个处理核心,各处理核心之间通过路由包进行数据交换,
所述处理核心包括路由模块,用于接收和/或发送路由包,所述路由包包括标志位、目的地址及有效数据,
其中,所述路由模块被配置为:
在接收到第一路由包的情况下,判断所述第一路由包的第一目的地址与所述处理核心的本地地址是否相同;
在所述第一目的地址与所述本地地址相同的情况下,判断所述第一路由包的标志位是否有效;
在所述第一路由包的标志位有效,且所述处理核心本地的控制信息有效的情况下,根据所述控制信息,确定第二目的地址;
根据所述第一路由包及所述第二目的地址,生成第二路由包,并向与所述第二目的地址对应的处理核心发送所述第二路由包。
9.根据权利要求8所述的人工智能处理器,其特征在于,所述处理核心还包括寄存模块,用于寄存所述处理核心本地的控制信息,
所述处理核心本地的控制信息包括路由类别信息及步长信息,所述路由类别信息包括常规路由、中继路由及多播路由中的一种,
其中,所述路由模块还被配置为:
从所述寄存模块读取所述路由类别信息及所述步长信息;
在所述路由类别信息为中继路由或多播路由,且所述步长信息不为零的情况下,确定所述处理核心本地的控制信息有效。
10.根据权利要求8所述的人工智能处理器,所述处理核心还包括处理模块,用于进行数据处理,
其中,所述路由模块还被配置为:
在所述路由类别信息为多播路由的情况下,读取所述第一路由包的有效数据;
将所述有效数据发送到所述处理模块,以使所述处理模块对所述有效数据进行处理。
CN202011438444.5A 2020-12-07 2020-12-07 路由控制方法及人工智能处理器 Active CN112532527B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011438444.5A CN112532527B (zh) 2020-12-07 2020-12-07 路由控制方法及人工智能处理器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011438444.5A CN112532527B (zh) 2020-12-07 2020-12-07 路由控制方法及人工智能处理器

Publications (2)

Publication Number Publication Date
CN112532527A true CN112532527A (zh) 2021-03-19
CN112532527B CN112532527B (zh) 2022-03-25

Family

ID=74999404

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011438444.5A Active CN112532527B (zh) 2020-12-07 2020-12-07 路由控制方法及人工智能处理器

Country Status (1)

Country Link
CN (1) CN112532527B (zh)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050163117A1 (en) * 2004-01-28 2005-07-28 Samsung Electronics Co., Ltd System-on-chip establishing paths between routers and method therefor
CN101692740A (zh) * 2009-09-30 2010-04-07 西安电子科技大学 无线网络多路路由网络传输方法
CN102594650A (zh) * 2011-01-10 2012-07-18 中兴通讯股份有限公司 处理多播报文的方法和交换接入装置
CN102752207A (zh) * 2012-07-06 2012-10-24 哈尔滨工业大学 可重配置的2D mesh片上网络结构及其重配置方法
CN103339988A (zh) * 2011-01-31 2013-10-02 英迪股份有限公司 网络系统
CN103595627A (zh) * 2013-11-28 2014-02-19 合肥工业大学 基于多播维序路由算法的NoC路由器及其路由算法
CN103761211A (zh) * 2014-02-14 2014-04-30 河南城建学院 面向片上网络结构多核芯片组的路由地址变换方法
CN104754649A (zh) * 2015-03-06 2015-07-01 广州杰赛科技股份有限公司 一种数据传输方法与无线Mesh节点
CN106789675A (zh) * 2016-12-05 2017-05-31 清华大学 基于2D mesh网络的路由多播方法及系统
US20180013665A1 (en) * 2016-07-05 2018-01-11 Mediatek Inc. Hybrid flood-relaying and routing mesh networks

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050163117A1 (en) * 2004-01-28 2005-07-28 Samsung Electronics Co., Ltd System-on-chip establishing paths between routers and method therefor
CN101692740A (zh) * 2009-09-30 2010-04-07 西安电子科技大学 无线网络多路路由网络传输方法
CN102594650A (zh) * 2011-01-10 2012-07-18 中兴通讯股份有限公司 处理多播报文的方法和交换接入装置
CN103339988A (zh) * 2011-01-31 2013-10-02 英迪股份有限公司 网络系统
CN102752207A (zh) * 2012-07-06 2012-10-24 哈尔滨工业大学 可重配置的2D mesh片上网络结构及其重配置方法
CN103595627A (zh) * 2013-11-28 2014-02-19 合肥工业大学 基于多播维序路由算法的NoC路由器及其路由算法
CN103761211A (zh) * 2014-02-14 2014-04-30 河南城建学院 面向片上网络结构多核芯片组的路由地址变换方法
CN104754649A (zh) * 2015-03-06 2015-07-01 广州杰赛科技股份有限公司 一种数据传输方法与无线Mesh节点
US20180013665A1 (en) * 2016-07-05 2018-01-11 Mediatek Inc. Hybrid flood-relaying and routing mesh networks
CN106789675A (zh) * 2016-12-05 2017-05-31 清华大学 基于2D mesh网络的路由多播方法及系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
张方爽: "基于MESH的多路径高效容错路由算法研究", 《中国优秀硕士学位论文全文数据库》 *
耿男,杨芫,徐明伟: "基于二维路由的流量工程解决方案", 《重庆邮电大学学报(自然科学版)》 *

Also Published As

Publication number Publication date
CN112532527B (zh) 2022-03-25

Similar Documents

Publication Publication Date Title
US11640362B2 (en) Procedures for improving efficiency of an interconnect fabric on a system on chip
US8228916B2 (en) Method and apparatus for direct frame switching using frame contained destination information
CN105450555B (zh) 一种片上网络系统,及片上网络通信链路的建立方法
Scheideler Universal routing strategies for interconnection networks
US20090274157A1 (en) Method and apparatus for hierarchical routing in multiprocessor mesh-based systems
CN110324263A (zh) 传输组播报文的方法、设备和系统
JPH0851454A (ja) ローカルエリアネットワーク相互接続システム及びネットワーク相互接続装置の相互接続部
US8953497B2 (en) Modified tree-based multicast routing schema
US7940755B2 (en) Lookup engine with programmable memory topology
CN112532527B (zh) 路由控制方法及人工智能处理器
CN112039777A (zh) 一种集合通信的方法、装置及系统
CN112650705A (zh) 路由控制方法及人工智能处理器
CN110995609A (zh) 报文发送方法、装置、电子设备及存储介质
CN116915708A (zh) 路由数据包的方法、处理器及可读存储介质
CN106789675A (zh) 基于2D mesh网络的路由多播方法及系统
CN100499564C (zh) 分组处理引擎
CN115529266A (zh) 一种路由选择方法、装置及设备
JP2976675B2 (ja) アレイプロセッサのルーティング方法
US11233730B2 (en) Network routing using aggregated links
CN100420236C (zh) 用于WiMAX流交换的交换系统
CN110825689B (zh) 电子芯片的实现方法及电子芯片
JP2005515670A (ja) Ieee1394ブリッジシリアルバスネットワークにおける効率的なタイムアウトメッセージ管理
CN114363246A (zh) 众核的片上网络数据传输方法、装置、设备及介质
US7050398B1 (en) Scalable multidimensional ring networks
CN114095289B (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