基于众核系统的同步控制方法、装置和处理核与流程

未命名 07-14 阅读:80 评论:0


1.本公开涉及计算机技术领域,特别涉及一种基于众核系统的同步控制方法、同步控制装置、处理核、众核系统、电子设备、计算机可读介质。


背景技术:

2.在相关技术中,完成人脑的基本功能需要数百万的神经元共同活动,要想精准地模拟脑功能就要求脑仿真过程中对于延迟小于单时间拍的运算也要及时处理。但是,当前脑仿真过程中一般通过时钟驱动进行同步控制,使得延迟小于单个时间拍的运算无法在当前时间拍中进行处理。


技术实现要素:

3.本公开提供一种基于众核系统的同步控制方法、同步控制装置、处理核、控制装置、电子设备、计算机可读介质。
4.第一方面,本公开提供了一种基于众核系统的同步控制方法,该基于众核系统的同步控制方法包括:
5.在当前同步周期内,响应于各所述处理核将对应的所述传统缓冲区中存储的第一事件处理完成,检测各所述处理核对应的所述事件缓冲区中是否存储有第二事件;所述第一事件为配置在当前同步周期内处理的遵循时间驱动机制的事件;所述第二事件为所述处理核在当前同步周期内接收到的遵循事件驱动机制的事件;
6.在检测出存在至少一个所述处理核对应的事件缓冲区中存储有第二事件的情况下,控制该至少一个所述处理核中的各所述处理核处理各自对应的事件缓冲区中的所述第二事件;
7.在检测出所有所述事件缓冲区中均未存储有任何待处理的第二事件,且各所述处理核对应的路由单元均处于空闲状态的情况下,将所述当前同步周期切换为下一个同步周期。
8.在一些实施例中,每个处理核包括多个类脑轴突,每个所述类脑轴突对应连接至少一个处理神经元,至少部分所述处理核包括的所述多个类脑轴突中包括至少一个特殊类脑轴突;所述同步控制方法还包括:
9.对所述特殊类脑轴突进行标记,被标记的类脑轴突的轴突标识包含特殊标识;所述特殊类脑轴突用于传输遵循事件驱动机制的事件
10.在一些实施例中,每个所述处理核包括多个处理神经元;所述控制该至少一个所述处理核中的各所述处理核处理各自对应的事件缓冲区中的所述第二事件的步骤,包括:
11.针对对应的事件缓冲区中存储有第二事件的每个处理核,控制该处理核执行以下计算过程:
12.该处理核根据所述第二事件对应的轴突标识,确定该轴突标识对应的至少一个所述处理神经元和该至少一个所述处理神经元对应的权重;
13.该处理核基于所述第二事件和对应的各所述处理神经元所对应的权重,确定对应的各所述处理神经元的当前膜电位;
14.针对该至少一个所述处理神经元,该处理核在该处理神经元的当前膜电位超过预设膜电位阈值的情况下,生成该处理神经元对应的待处理事件;
15.在该处理核不是所述待处理事件对应的目的处理核的情况下,该处理核向目的处理核发送所述待处理事件。
16.在一些实施例中,所述待处理事件包括对应的轴突标识,在对应的所述轴突标识包括特殊标识的情况下,所述待处理事件为第二事件,在该处理核不是所述待处理事件对应的目的处理核的情况下,所述该处理核向所述待处理事件对应的处理核发送所述待处理事件,包括:
17.该处理核通过对应的路由单元向目的处理核发送所述待处理事件,以供所述目的处理核将轴突标识包含所述特殊标识的待处理事件作为所述第二事件存入自身的事件缓冲区和/或将轴突标识不包含特殊标识的待处理事件作为需在未来同步周期内处理的事件存入自身的传统缓冲区。
18.在一些实施例中,所述待处理事件包括对应的轴突标识,在对应的所述轴突标识包括特殊标识的情况下,所述待处理事件为第二事件;在所述生成该处理神经元对应的待处理事件之后,还包括:
19.在该处理核为所述待处理事件对应的目的处理核、且所述待处理事件对应的轴突标识包含特殊标识的情况下,将该待处理事件作为所述第二事件存入该处理核的事件缓冲区;
20.在该处理核为所述待处理事件对应的目的处理核、且所述待处理事件对应的轴突标识不包含特殊标识的情况下,将待处理事件作为需在未来同步周期内处理的事件,并存入该处理核的传统缓冲区。
21.在一些实施例中,所述待处理事件包括对应的轴突标识,在对应的所述轴突标识包括特殊标识的情况下,所述待处理事件为第二事件,在所述生成该处理神经元对应的待处理事件之后,还包括:
22.在该处理核为所述待处理事件对应的目的处理核、且所述待处理事件对应的轴突标识包含特殊标识的情况下,将该待处理事件作为所述第二事件存入该处理核的事件缓冲区;
23.在该处理核为所述待处理事件对应的目的处理核、且所述待处理事件对应的轴突标识不包含特殊标识的情况下,将待处理事件作为需在未来同步周期内处理的事件,并存入该处理核的传统缓冲区。
24.在一些实施例中,每个所述处理核包括多个处理神经元;在检测各所述处理核对应的事件缓冲区中是否存储有第二事件之前,还包括:
25.针对每个所述处理核,该处理核将对应的传统缓冲区内的第一事件进行处理的过程,包括:
26.该处理核根据所述第一事件对应的轴突标识,确定该轴突标识对应的至少一个所述处理神经元和该至少一个所述处理神经元对应的权重;
27.该处理核基于所述第一事件和对应的各所述处理神经元所对应的权重,确定对应
的各所述处理神经元的当前膜电位;
28.针对该至少一个所述处理神经元,该处理核在该处理神经元的当前膜电位超过预设膜电位阈值的情况下,生成该处理神经元对应的待处理事件;
29.在该处理核不是所述待处理事件对应的目的处理核的情况下,该处理核向所述目的处理核发送所述待处理事件。
30.在一些实施例中,待处理事件包括对应的轴突标识,在所述轴突标识包括特殊标识的情况下,所述待处理事件为第二事件;在该处理核不是所述待处理事件对应的目的处理核的情况下,所述该处理核向所述待处理事件对应的处理核发送所述待处理事件,包括:
31.该处理核通过对应的路由单元向该目的处理核发送所述待处理事件,以供所述目的处理核将轴突标识包含所述特殊标识的待处理事件作为所述第二事件存入自身的事件缓冲区和/或将轴突标识不包含特殊标识的待处理事件作为需在未来同步周期内处理的事件存入自身的传统缓冲区。
32.在一些实施例中,所述待处理事件包括对应的轴突标识,在对应的所述轴突标识包括特殊标识的情况下,所述待处理事件为第二事件;在所述生成该处理神经元对应的待处理事件之后,所述同步控制方法还包括:
33.在该处理核为所述待处理事件对应的目的处理核、且所述待处理事件对应的轴突标识包含特殊标识的情况下,将该待处理事件作为所述第二事件存入该处理核的事件缓冲区;
34.在该处理核为所述待处理事件对应的目的处理核、且所述待处理事件对应的轴突标识不包含特殊标识的情况下,将待处理事件作为需在未来同步周期内处理的事件,并存入该处理核的传统缓冲区
35.在一些实施例中,所述在检测出所有所述事件缓冲区中均未存储有任何待处理的第二事件,且各所述处理核对应的路由单元均处于空闲状态的情况下,将所述当前同步周期切换为下一个同步周期之前,还包括:
36.在检测出所有所述事件缓冲区中均未存储有任何待处理的第二事件的情况下,检测各所述处理核对应的路由单元是否处于空闲状态。
37.在一些实施例中,其中,所述检测各所述处理核对应的路由单元是否处于空闲状态之后,还包括:
38.在检测出至少一个所述处理核对应的路由单元处于非空闲状态的情况下,等待处于非空闲状态的各路由单元将各自对应的待处理事件全部路由完成;
39.在处于非空闲状态的各路由单元将各自对应的待处理事件全部路由完成的情况下,跳转至所述检测各所述处理核对应的所述事件缓冲区中是否存储有第二事件的步骤。
40.在一些实施例中,在所述控制该至少一个所述处理核中的各所述处理核处理各自对应的事件缓冲区中的所述第二事件之后,还包括:
41.检查该至少一个所述处理核是否处理完成对应的事件缓冲区中的所述第二事件;
42.在该至少一个处理核处理完成对应的事件缓冲区中的所述第二事件的情况下,重新执行所述检测各所述处理核对应的事件缓冲区中是否存储有第二事件的步骤。
43.在一些实施例中,所述方法还包括:
44.在所述当前同步周期的持续时长超过预设时长阈值的情况下,将所述当前同步周
期切换为下一个同步周期;并且
45.在任意一个所述处理核对应的事件缓冲区中仍存储有第二事件的情况下,控制该处理核将对应的所述事件缓冲区中剩余的所述第二事件从对应的所述事件缓冲区中清除。
46.在一些实施例中,所述控制该处理核将对应的所述事件缓冲区中剩余的所述第二事件从对应的所述事件缓冲区中清除之前,还包括:
47.控制该处理核将对应的所述事件缓冲区中剩余的所述第二事件写入对应的所述传统缓冲区中。
48.第二方面,本公开提供了一种同步控制装置,应用于众核系统,该同步控制装置包括:
49.处理模块,用于在当前同步周期内,响应于各所述处理核将对应的所述传统缓冲区中存储的第一事件处理完成,检测各所述处理核对应的所述事件缓冲区中是否存储有第二事件;所述第一事件为配置在当前同步周期内处理的遵循时间驱动机制的事件;所述第二事件为所述处理核在当前同步周期内接收到的遵循事件驱动机制的事件;在检测出存在至少一个所述处理核对应的事件缓冲区中存储有第二事件的情况下,控制该至少一个所述处理核中的各所述处理核处理各自对应的事件缓冲区中的所述第二事件;
50.全局控制模块,用于在检测出所有所述事件缓冲区中均未存储有任何待处理的第二事件,且各所述处理核对应的路由单元均处于空闲状态的情况下,将所述当前同步周期切换为下一个同步周期。
51.第三方面,本公开提供了一种处理核,包括上述同步控制装置。
52.第四方面,本公开提供了一种众核系统,包括多个处理核和片上网络,所述片上网络包括与各所述处理核对应的路由单元,每个所述处理核包括传统缓冲区和预先设置的事件缓冲区;
53.其中,至少一个所述处理核包括如本公开第三方面提供的处理核。
54.第五方面,本公开提供了一种电子设备,包括:
55.多个处理核;以及
56.片上网络,被配置为交互所述多个处理核间的数据和外部数据;
57.所述片上网络包括与各处理核对应的路由单元;
58.一个或多个所述处理核中存储有一个或多个指令,一个或多个所述指令被一个或多个所述处理核执行,以使一个或多个所述处理核能够执行上述同步控制方法。
59.第六方面,本公开提供了一种计算机可读介质,其上存储有计算机程序,其中,所述计算机程序在被处理核执行时实现上述同步控制方法。
60.应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
61.附图用来提供对本公开的进一步理解,并且构成说明书的一部分,与本公开的实施例一起用于解释本公开,并不构成对本公开的限制。通过参考附图对详细示例实施例进行描述,以上和其他特征和优点对本领域技术人员将变得更加显而易见,在附图中:
62.图1为本公开实施例提供的一种基于众核系统的同步控制方法的流程图;
63.图2为本公开实施例提供的另一种基于众核系统的同步控制方法的流程图;
64.图3为本公开实施例提供的又一种基于众核系统的同步控制方法的流程图;
65.图4为本公开实施例提供的再一种基于众核系统的同步控制方法的流程图;
66.图5为本公开实施例提供的一种同步控制装置的组成框图;
67.图6为本公开实施例提供的一种众核系统的组成框图;
68.图7为本公开实施例提供的一种电子设备的组成框图。
具体实施方式
69.为使本领域的技术人员更好地理解本公开的技术方案,以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
70.在不冲突的情况下,本公开各实施例及实施例中的各特征可相互组合。
71.如本文所使用的,术语“和/或”包括一个或多个相关列举条目的任何和所有组合。
72.本文所使用的术语仅用于描述特定实施例,且不意欲限制本公开。如本文所使用的,单数形式“一个”和“该”也意欲包括复数形式,除非上下文另外清楚指出。还将理解的是,当本说明书中使用术语“包括”和/或“由
……
制成”时,指定存在所述特征、整体、步骤、操作、元件和/或组件,但不排除存在或添加一个或多个其它特征、整体、步骤、操作、元件、组件和/或其群组。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。
73.除非另外限定,否则本文所用的所有术语(包括技术和科学术语)的含义与本领域普通技术人员通常理解的含义相同。还将理解,诸如那些在常用字典中限定的那些术语应当被解释为具有与其在相关技术以及本公开的背景下的含义一致的含义,且将不解释为具有理想化或过度形式上的含义,除非本文明确如此限定。
74.图1为本公开实施例提供的一种基于众核系统的同步控制方法的流程图。其中,众核系统包括多个处理核和片上网络,该片上网络包括与各处理核对应的路由单元,每个处理核包括传统缓冲区和事件缓冲区。
75.参照图1,本公开实施例提供一种基于众核系统的同步控制方法,应用于同步控制装置,该基于众核系统的同步控制方法包括以下步骤:
76.步骤s101、在当前同步周期内,响应于各处理核将对应的传统缓冲区中存储的第一事件处理完成,检测各处理核对应的事件缓冲区中是否存储有第二事件。
77.其中,同步周期可也以称为同步节拍、时钟节拍或时间拍,是指众核系统相邻两次全局同步之间的时间间隔。
78.传统缓冲区是各处理核中用于存储遵循时间驱动机制的事件的缓冲区。其中,遵循时间驱动机制的事件可以包括第一事件,也可以包括需要在当前同步周期之后的未来同步周期内进行处理的事件。
79.第一事件是配置在当前同步周期内处理的遵循时间驱动机制的事件,即该第一事件是处理核在历史同步周期内接收到的本处理核或其他处理核在该历史同步周期内发送
的、且需要在当前同步周期内处理的事件。该其他处理核指的是众核系统包括的多个处理核中除本处理核之外的处理核,该历史同步周期为当前同步周期之前的任意一个同步周期。遵循时间驱动机制的事件指的是在一个同步周期中生成,并需在该同步周期之后的另一个同步周期中进行处理的事件。
80.其中,“另一个同步周期”可以由遵循时间驱动机制的事件的事件延迟决定。例如,事件延迟大于或等于一个同步周期,且小于两个同步周期,则“另一个同步周期”是该同步周期的下一个同步周期。本实施例中,该第一事件需要在当前同步周期内进行处理,例如,第一事件可以是处理核在当前同步周期的上一同步周期接收的遵循时间驱动机制的事件,且该事件的事件延迟为一个当前同步周期。
81.在另一些实施例中,该另一个同步周期也可以由遵循时间驱动机制的事件所包括的同步周期序号进行标识。该同步周期序号可以用于表示“另一个同步周期”是同步控制方法中的第几个同步周期,例如,遵循时间驱动机制的事件包括的同步周期序号为12,则处理该事件的“另一个同步周期”为本同步控制方法中的第12个同步周期。该同步周期序号也可以用于表示另一个同步周期是当前同步周期之后的第几个同步周期,例如,遵循时间驱动机制的事件包括的同步周期序号为1,则处理该事件的“另一个同步周期”为当前同步周期之后的第1个同步周期,即当前同步周期的下一个同步周期。
82.事件缓冲区是预先设置的各处理核中用于存储第二事件的缓冲区。
83.第二事件为本处理核在当前同步周期内接收到本处理核或其他处理核在当前同步周期内发送的遵循事件驱动机制的事件。该遵循事件驱动机制的事件指的是在当前同步周期内接收就需要在当前同步周期内被处理的事件,该遵循事件驱动机制的事件的事件延迟小于其所处的当前同步周期。
84.在一个实施方式中,上述第一事件和第二事件均可以以脉冲的形式表示。
85.步骤s102、在检测出存在至少一个处理核对应的事件缓冲区中存储有第二事件的情况下,控制该至少一个处理核中的各处理核处理各自对应的事件缓冲区中的第二事件。
86.在本步骤中,由于第二事件为处理核在当前同步周期内接收到的遵循事件驱动机制的事件,因此,该第二事件是需要在当前同步周期内被处理的事件。在检测出存在至少一个处理核对应的事件缓冲区中存储有第二事件的情况下,同步控制装置控制该至少一个处理核中的各处理核处理各自对应的事件缓冲区中的第二事件,即可使该第二事件在当前同步周期内被处理。步骤s103、在检测出所有事件缓冲区中均未存储有任何待处理的第二事件,且各处理核对应的路由单元均处于空闲状态的情况下,将当前同步周期切换为下一个同步周期。
87.其中,处理核对应的路由单元是用于接收其他处理核向该处理核路由的数据或者将该处理核输出的数据向其他处理核进行路由的路由单元。
88.在该步骤s103中,所有事件缓冲区中均未存储有任何待处理的第二事件,说明众核系统的各处理核中没有存储需要在当前同步周期内被处理的事件;各处理核对应的路由单元均处于空闲状态,说明众核系统的各处理核在当前同步周期内不会接收到第二事件,即各处理核不会接收到需要在当前同步周期内被处理的事件。因此,在所有事件缓冲区中未存储有任何待处理的第二事件,且各处理核对应的路由单元均处于空闲状态的情况下,说明各处理核此时已经没有需要处理的事件,同步控制装置可以将当前同步周期切换为下
一个同步周期,进入下一个同步周期,实现基于时钟驱动的同步控制。
89.本公开实施例所提供的基于众核系统的同步控制方法,在当前同步周期内,响应于各处理核将对应的传统缓冲区中存储的第一事件处理完成,检测各处理核对应的事件缓冲区中是否存储有第二事件,其中,第一事件为配置在当前同步周期内处理的遵循时间驱动机制的事件,第二事件为处理核在当前同步周期内接收到的遵循事件驱动机制的事件;在检测出存在至少一个处理核对应的事件缓冲区中存储有第二事件的情况下,控制该至少一个处理核中的各处理核处理各自对应的事件缓冲区中的第二事件,能够基于事件驱动实现的对众核系统中各处理核的控制;在检测出所有事件缓冲区中均未存储有任何待处理的第二事件,且各处理核对应的路由单元均处于空闲状态的情况下,将当前同步周期切换为下一个同步周期,能够基于时钟驱动实现的对众核系统中各处理核的控制。因此,本公开实施例所提供的基于众核系统的同步控制方法,实现了时钟驱动和事件驱动相结合的同步控制,使得遵循事件驱动机制的事件也能够在当前同步周期内被处理。
90.在一个实施场景中,本公开实施例所提供的基于众核系统的同步控制方法可以应用于脑仿真过程。通过上述步骤s101-步骤s103,实现时钟驱动和事件驱动相结合的同步控制,使得脑仿真过程中遵循事件驱动机制事件能够在当前同步周期内被处理。因此,本公开实施例所提供的基于众核系统的同步控制方法能够提高脑仿真的仿真效率,为脑仿真过程精准模拟脑功能提供技术支持。
91.在一个实施方式中,上述步骤s102中,该至少一个处理核中的各处理核各自对应的事件缓冲区中存储有多个第二事件的情况下,该控制该至少一个处理核中的各处理核处理各自对应的事件缓冲区中的第二事件的步骤,包括:控制该至少一个处理核中的各处理核按照接收第二事件的接收时间先后顺序,依次处理各自对应的事件缓冲区中的第二事件。
92.在一个实施方式中,每个处理核包括多个类脑轴突,不同的类脑轴突通过不同的轴突标识进行标示。每个类脑轴突对应连接至少一个处理神经元。类脑轴突用于传输本核或其他处理核的处理神经元发放的事件(脉冲)给对应连接的至少一个处理神经元。至少部分处理核包括的多个类脑轴突中包括至少一个特殊类脑轴突,该特殊类脑轴突用于传输遵循事件驱动机制的事件。
93.在该实施方式中,上述同步控制方法还包括:对所述特殊类脑轴突进行标记。其中,被标记的类脑轴突的轴突标识包含特殊标识。
94.在本实施例中,类脑轴突被标记之后,该类脑轴突传输的待处理事件所对应的轴突标识均包含有特殊标识。则接收该待处理事件的目的处理核在识别该待处理事件对应的轴突标识包含特殊标识的情况下,会将该待处理事件作为第二事件存入自身的事件缓冲区。因此,本实施例中对特殊类脑轴突进行标记,能够协助各处理核确认待处理事件中的第二事件,提高处理核处理待处理事件的效率。
95.需要说明的是,对所述特殊类脑轴突进行标记可以是分别对每个同步周期内的特殊类脑轴突进行标记,不同同步周期的特殊类脑轴突可以不完全相同。对所述特殊类脑轴突进行标记也可以是对适用于所有同步周期的特殊类脑轴突进行标记,本公开对对所述特殊类脑轴突进行标记的方式不作限制。
96.上述步骤s102中,控制该至少一个处理核中的各处理核处理各自对应的事件缓冲
区中的第二事件的步骤,包括:
97.针对对应的事件缓冲区中存储有第二事件的每个处理核,控制该处理核执行以下计算过程(1)-(4):
98.(1)该处理核根据第二事件对应的轴突标识,确定该轴突标识对应的至少一个处理神经元和该至少一个处理神经元对应的权重。
99.其中,第二事件对应的轴突标识是指接收该第二事件的类脑轴突所对应的轴突标识。
100.在一些实施例中,各处理核中均预存有轴突标识、处理神经元的标识和处理神经元对应的权重三者的对应关系表。处理核根据第二事件对应的轴突标识,从预存的对应关系表中确定该轴突标识对应的至少一个处理神经元的标识,进而确定该至少一个处理神经元对应的权重。
101.(2)该处理核基于第二事件和对应的各处理神经元所对应的权重,确定对应的各处理神经元的当前膜电位。
102.其中,该处理核基于第二事件和对应的各处理神经元所对应的权重,确定对应的各处理神经元的当前膜电位的步骤,包括:该处理核首先基于第二事件和对应的各处理神经元所对应的权重进行积分运算,确定对应的各处理神经元的外部激励电位,然后将对应的各处理神经元的外部激励电位与各自的历史膜电位分别进行求和运算,确定对应的各处理神经元的当前膜电位。
103.(3)针对该至少一个处理神经元,在该处理核在该处理神经元的当前膜电位超过预设膜电位阈值的情况下,生成该处理神经元对应的待处理事件。
104.其中,预设膜电位阈值可以根据具体实施场景进行限定。待处理事件是需要发送到其他处理核并由其他处理核进行处理的事件,该待处理事件可以以脉冲的形式表示,待处理事件也可以称为待发放脉冲。该待处理事件可以为一个或多个。
105.(4)在该处理核不是待处理事件对应的目的处理核的情况下,该处理核向目的处理核发送待处理事件。
106.其中,该待处理事件对应的目的处理核,是指预先编译确定的需要对该待处理事件进行处理的处理神经元所在的处理核。该待处理事件对应的目的处理核可以为一个或多个,目的处理核可以包括生成待处理事件的处理核和/或其他处理核。
107.在一个实施方式中,上述计算过程(4)中,待处理事件包括对应的轴突标识,对应的轴突标识包括特殊标识的情况下,该待处理事件为第二事件。在该处理核不是待处理事件对应的目的处理核的情况下,该处理核向目的处理核发送待处理事件的步骤,包括:该处理核通过对应的路由单元向目的处理核发送待处理事件。
108.在一个实施方式中,处理核对应的路由单元以路由包的形式向该待处理事件对应的目的处理核路由该待处理事件,其中,该路由包至少包括该待处理事件和该待处理事件对应的轴突标识,待处理事件对应的轴突标识是接收该待处理事件的类脑轴突的轴突标识。该路由包还可以包括目的处理核的标识、目的处理核中的目的处理神经元的标识等,目的处理神经元即为目的处理核中用于处理该待处理事件的神经元。
109.在一个实施方式中,目的处理核通过路由单元接收待处理事件之后,识别该待处理事件对应的轴突标识,在识别该待处理事件对应的轴突标识包含特殊标识的情况下,将
该待处理事件作为第二事件存入自身的事件缓冲区;在识别该待处理事件对应的轴突标识不包含特殊标识的情况下,将该待处理事件作为需在未来同步周期内处理的事件,并存入自身的传统缓冲区。
110.在一些实施例中,待处理事件包括对应的轴突标识,对应的轴突标识包括特殊标识的情况下,该待处理事件为第二事件。在上述过程(3)之后,还包括下述步骤一或二:
111.步骤一、在该处理核为待处理事件对应的目的处理核、且待处理事件对应的轴突标识包含特殊标识的情况下,将该待处理事件作为第二事件存入该处理核的事件缓冲区。
112.步骤二、在该处理核为待处理事件对应的目的处理核、且待处理事件对应的轴突标识不包含特殊标识的情况下,将待处理事件作为需在未来同步周期内处理的事件,并存入该处理核的传统缓冲区。
113.其中,未来同步周期是当前同步周期之后的任意一个同步周期。由于该待处理事件遵循时间驱动机制,因此,该待处理事件不在当前同步周期中处理,而是在当前同步周期之后的另一个同步周期中进行处理,该另一个同步周期由该待处理事件对应的事件延迟决定,在当前同步周期之后的同步周期在本公开实施例中被定义为未来同步周期。
114.本实施例中,在该处理核为待处理事件对应的目的处理核的情况下,根据待处理事件遵循事件驱动机制或时间驱动机制,将该待处理事件存储到相应的缓冲区中,既能够避免在当前周期生成、且需自身处理的第二事件被遗漏处理,又能够加快处理效率。
115.图2为本发明实施例提供的另一种基于众核系统的同步控制方法的流程图。在一个实施方式中,如图2所示,上述在检测出存在至少一个处理核对应的事件缓冲区中存储有第二事件的情况下,控制该至少一个处理核中的各处理核处理各自对应的事件缓冲区中的第二事件(步骤s102)之后,还包括:
116.步骤s104、检查该至少一个处理核是否处理完成对应的事件缓冲区中的第二事件。
117.其中,检查该至少一个处理核是否处理完成对应的事件缓冲区中的第二事件的方式可以包括多种,例如,检查是否接收到该至少一个处理核中各处理核处理发送的事件处理完成提醒,或者通过相关指令实时监测该至少一个处理核是否处理完成对应的事件缓冲区中的第二事件等。该检查该至少一个处理核是否处理完成对应的事件缓冲区中的第二事件的方式可以根据实际应用场景进行设置,本实施例中不进行具体限定。
118.本实施方式中,在该至少一个处理核处理完成对应的事件缓冲区中的第二事件的情况下,可以重新跳转执行上述步骤s101中检测各处理核对应的事件缓冲区中是否存储有第二事件的步骤。
119.需要说明的是,由于该至少一个处理核在当前同步周期处理对应的事件缓冲区中的第二事件时,也可能会生成并发放新的第二事件。因此,上述重新跳转执行步骤s101中检测各处理核对应的事件缓冲区中是否存储有第二事件的步骤,能够检测出当前同步周期中各处理核是否接收到了新的第二事件。在检测出存在至少一个处理核对应的事件缓冲区中存储有第二事件的情况下,说明存在处理核接收到了新的第二事件,此时执行控制该至少一个处理核中的各处理核处理各自对应的事件缓冲区中的第二事件的步骤(上述步骤s102),能够避免在当前同步周期中生成并发放的该新的第二事件被遗漏处理。在检测出所有事件缓冲区中均未存储有任何待处理的第二事件,且各处理核对应的路由单元均处于空
闲状态的情况下,说明各处理核没有接收到需要处理的新的第二事件,且路由单元中也没有正在路由的新的第二事件。换言之,各处理核均已经处理完成需要在当前周期中处理的事件、且各处理核不会再接收到需要在当前同步周期中处理的事件,此时,可以执行将当前同步周期切换为下一个同步周期的步骤(上述步骤s103)。
120.本实施方式中,在该至少一个处理核未处理完成对应的事件缓冲区中的第二事件的情况下,等待该至少一个处理核处理完成对应的事件缓冲区中的第二事件,或者,重新执行检查该至少一个处理核是否处理完成对应的事件缓冲区中的第二事件的步骤。
121.通过本实施方式提供的同步控制方法,可以避免在当前同步周期中生成并发放的第二事件被遗漏处理,还可以在保证当前同步在周期中各处理核均已经处理完成接收到的第二事件、且各处理核不会再接收到第二事件的情况下进行同步周期的切换,进一步优化了时钟驱动和事件驱动相结合的同步控制。
122.在一个实施方式中,在当前同步周期内,上述步骤s101之前,各处理核处理对应的传统缓冲区中存储的第一事件。在传统缓冲区包括多个第一事件的情况下,各处理核按照各自接收第一事件的接收时间先后顺序,依次处理对应的传统缓冲区中存储的第一事件。其中,各处理核处理该第一事件的步骤与各处理核处理第二事件的步骤类似。
123.在该实施方式中,在检测各处理核对应的事件缓冲区中是否存储有第二事件(步骤s101)之前,还包括:
124.针对每个处理核,该处理核将对应的传统缓冲区内的第一事件进行处理的过程,包括:该处理核根据第一事件对应的轴突标识,确定该轴突标识对应的至少一个处理神经元和该至少一个所述处理神经元对应的权重,该处理核基于第一事件和对应的各处理神经元所对应的权重,确定对应的各处理神经元的当前膜电位;针对该至少一个处理神经元,该处理核在该处理神经元的当前膜电位超过预设膜电位阈值的情况下,生成该处理神经元对应的待处理事件;在该处理核不是待处理事件对应的目的处理核的情况下,该处理核向目的处理核发送待处理事件。其中,待处理事件可以为一个或多个,待处理事件对应的目的处理核可以为一个或多个,目的处理核可以包括生成待处理事件的处理核和/或其他处理核。
125.在一个实施方式中,待处理事件包括对应的轴突标识,对应的轴突标识包括特殊标识的情况下,该待处理事件为第二事件。上述处理核将对应的传统缓冲区内的第一事件进行处理的过程中,在该处理核不是待处理事件对应的目的处理核的情况下,该处理核向目的处理核发送待处理事件,包括:
126.该处理核通过对应的路由单元向目的处理核发送待处理事件,以供目的处理核将轴突标识包含特殊标识的待处理事件作为第二事件存入自身的事件缓冲区和/或将轴突标识不包含特殊标识的待处理事件作为需在未来同步周期内处理的事件存入自身的传统缓冲区。
127.在一个实施方式中,待处理事件包括对应的轴突标识,对应的轴突标识包括特殊标识的情况下,该待处理事件为第二事件。在上述处理核将对应的传统缓冲区内的第一事件进行处理的过程中,在生成该处理神经元对应的待处理事件之后,还包括以下步骤一或步骤二:
128.步骤一、在该处理核为待处理事件对应的目的处理核、且待处理事件对应的轴突标识包含特殊标识的情况下,将该待处理事件作为第二事件存入该处理核的事件缓冲区。
129.步骤二、在该处理核为待处理事件对应的目的处理核、且待处理事件对应的轴突标识不包含特殊标识的情况下,将待处理事件作为需在未来同步周期内处理的第一事件,并存入该处理核的传统缓冲区。
130.本实施例中,在该处理核为待处理事件对应的目的处理核的情况下,根据待处理事件遵循事件驱动机制或时间驱动机制,将该待处理事件存储到相应的缓冲区中,既能够避免在当前周期生成、且需自身处理的第二事件被遗漏处理,又能够加快处理效率。
131.图3为本公开实施例提供的又一种基于众核系统的同步控制方法的流程图。在一个实施方式中,在检测出所有事件缓冲区中均未存储有任何待处理的第二事件,且各处理核对应的路由单元均处于空闲状态的情况下,将当前同步周期切换为下一个同步周期(即步骤s103)之前,参照图3,该基于众核系统的同步控制方法,还包括以下步骤:
132.步骤s201、在检测出所有事件缓冲区中均未存储有任何待处理的第二事件的情况下,检测各处理核对应的路由单元是否处于空闲状态。
133.其中,路由单元处于空闲状态指的是路由单元中没有需要路由的待处理事件;路由单元处于非空闲状态指的是路由单元中有需要路由的待处理事件。
134.本实施例中通过步骤s201检测各处理核对应的路由单元是否处于空闲状态是为了检测众核系统中是否存在未发放完成的待处理事件,进而避免该待处理事件作为第二事件的情况下,众核系统在当前同步周期内遗漏处理该作为第二事件的待处理事件。
135.具体而言,通过步骤s201检测出各处理核对应的路由单元均处于空闲状态的情况下,说明众核系统中不存在未发放完成的待处理事件,换言之,众核系统的各处理核也不会在当前同步周期接收到作为第二事件的待处理事件,同步控制装置可以通过执行上述步骤s103,将当前同步周期切换为下一个同步周期。
136.通过步骤s201检测出至少一个处理核对应的路由单元处于非空闲状态的情况下,说明众核系统中存在未发放完成的待处理事件,执行下述步骤s202,以等待未发放完成的待处理事件完成发放。
137.步骤s202、在检测出至少一个处理核对应的路由单元处于非空闲状态的情况下,等待处于非空闲状态的各路由单元将各自对应的待处理事件全部路由完成。
138.其中,处于非空闲状态的各路由单元将各自对应的待处理事件全部路由完成,表示此时众核系统中所有的待处理事件均已发放完成,即该待处理事件已经被该待处理事件的目的处理核接收并存储。在该待处理事件作为第二事件的情况下,目的处理核对应的事件缓冲区中将存储该作为第二事件的待处理事件,在该情况下,为了防止在当前同步周期内遗漏处理该作为第二事件的待处理事件,执行下述步骤s203。
139.步骤s203、在处于非空闲状态的各路由单元将各自对应的待处理事件全部路由完成的情况下,跳转至检测各处理核对应的事件缓冲区中是否存储有第二事件的步骤(步骤s101中)。
140.需要说明的是,在步骤s202中,若处于非空闲状态的各路由单元所路由的待处理事件中,不存在作为第二事件的待处理事件。则在步骤s203中,跳转至检测各处理核对应的事件缓冲区中是否存储有第二事件的步骤之后,将检测出所有事件缓冲区中均未存储有任何待处理的第二事件。此时,执行上述在检测出所有事件缓冲区中均未存储有任何待处理的第二事件,且各处理核对应的路由单元均处于空闲状态的情况下,将当前同步周期切换
为下一个同步周期的步骤(上述步骤s103)。
141.在步骤s202中,若处于非空闲状态的各路由单元所路由的待处理事件中,存在作为第二事件的待处理事件。则在步骤s203中,跳转至检测各处理核对应的事件缓冲区中是否存储有第二事件的步骤之后,将检测出存在至少一个处理核对应的事件缓冲区中存储有第二事件。此时,执行上述检测出存在至少一个处理核对应的事件缓冲区中存储有第二事件的情况下,控制该至少一个处理核中的各处理核处理各自对应的事件缓冲区中的第二事件(上述步骤s102)。
142.图4为本公开实施例提供的再一种基于众核系统的同步控制方法的流程图。在一个实施方式中,为了避免当前同步周期持续时间过长对众核系统性能造成影响,如图4所示,基于众核系统的同步控制方法,还包括以下步骤:
143.步骤s301、在当前同步周期的持续时长超过预设时长阈值的情况下,将当前同步周期切换为下一个同步周期。
144.步骤s302、在任意一个处理核对应的事件缓冲区中仍存储有第二事件的情况下,控制该处理核将对应的事件缓冲区中剩余的第二事件从对应的事件缓冲区中清除。
145.其中,预设时长阈值可以根据具体实施场景进行设置,例如0.1ms。
146.需要说明的是,本公开实施例中对于步骤进行描述的先后顺序不构成对于步骤执行先后顺序的限定,例如,步骤s301与步骤s302可以同时执行,步骤s302也可以在步骤s301之前执行。
147.在一个实施方式中,控制该处理核将对应的事件缓冲区中剩余的第二事件从对应的所述事件缓冲区中清除之前,还包括:控制该处理核将对应的事件缓冲区中剩余的第二事件写入该处理核对应的传统缓冲区中。在该实施方式中,写入对应的传统缓冲区中该剩余的第二事件能够在切换后的同步周期内被处理,以避免众核系统因事件缺失造成的响应缺失。
148.在一个实施场景中,在上述控制该至少一个处理核中的各处理核处理各自对应的事件缓冲区中的第二事件的过程中(步骤s102中),存在“自回环”的情况:即两个处理核循环生成与对方处理核对应的作为第二事件的待处理事件。例如,第一处理核生成第一待处理事件之后,向该第一待处理事件对应的第二处理核发送该第一待处理事件,该第二处理核处理该第一待处理事件生成第二待处理事件,并向该第二待处理事件对应的第一处理核发送该第二待处理事件,第一处理核处理该第二待处理事件生成第三待处理事件,并向该第三待处理事件对应的第二处理核发送该第三待处理事件
……
在该实施场景中,可以预先设置预设时长阈值,并执行上述步骤s301,以避免当前同步周期持续的时间过长。
149.图5为本公开实施例提供的一种同步控制装置的组成框图。
150.参照图5,本公开实施例提供了一种同步控制装置40,该同步控制装置40应用于众核系统,其中,众核系统包括至少一个处理核和片上网络,该片上网络包括与各处理核对应的路由单元,每个处理核包括传统缓冲区和预先设置的事件缓冲区。该同步控制装置40包括:处理模块41和全局控制模块42。
151.其中,处理模块41,用于在当前同步周期内,响应于各处理核将对应的传统缓冲区中存储的第一事件处理完成,检测各处理核对应的事件缓冲区中是否存储有第二事件,其中,第一事件为配置在当前同步周期内处理的的遵循时间驱动机制的事件;第二事件为处
理核在当前同步周期内接收到的遵循事件驱动机制的事件;还用于在检测出存在至少一个处理核对应的事件缓冲区中存储有第二事件的情况下,控制该至少一个处理核中的各处理核处理各自对应的事件缓冲区中的所述第二事件。
152.其中,第一事件是配置在当前同步周期内处理的遵循时间驱动机制的事件,即该第一事件是处理核在历史同步周期内接收到的本处理核或其他处理核在该历史同步周期内发送的、且需要在当前同步周期内处理的事件。该第一事件和第二事件均可以以脉冲的形式表示。
153.传统缓冲区是各处理核中用于存储遵循时间驱动机制的事件的缓冲区。其中,遵循时间驱动机制的事件可以包括第一事件,也可以包括需要在当前同步周期之后的未来同步周期内进行处理的事件。
154.事件缓冲区是预先设置的各处理核中用于存储第二事件的缓冲区。
155.同步周期可也以称为同步节拍、时钟节拍或时间拍,是指众核系统相邻两次全局同步之间的时间间隔。
156.全局控制模块42,用于在检测出所有事件缓冲区中未存储有任何待处理的第二事件,且各处理核对应的路由单元均处于空闲状态的情况下,将当前同步周期切换为下一个同步周期。
157.在一个实施方式中,同步控制装置还包括路由检测模块。其中,路由检测模块用于在所有事件缓冲区中未存储有任何待处理的第二事件的情况下,检测各处理核对应的路由单元是否处于空闲状态。
158.在一个实施方式中,上述处理模块41,还用于在检测模块检测出至少一个处理核对应的路由单元处于非空闲状态的情况下,等待处于非空闲状态的各路由单元将各自对应的待处理事件全部路由完成。在处于非空闲状态的各路由单元将各自对应的待处理事件全部路由完成的情况下,上述处理模块41还用于跳转至检测各处理核对应的事件缓冲区中是否存储有第二事件的步骤。
159.在一个实施方式中,上述全局控制模块42还用于在当前同步周期的持续时长超过预设时长阈值的情况下,将当前同步周期切换为下一个同步周期;并且,在任意一个处理核对应的事件缓冲区中仍存储有第二事件的情况下,控制该处理核将对应的事件缓冲区中剩余的第二事件从对应的所述事件缓冲区中清除。
160.在一个实施方式中,上述全局控制模块42还用于在控制该处理核将对应的事件缓冲区中剩余的第二事件从对应的所述事件缓冲区中清除之前,控制该处理核将对应的事件缓冲区中剩余的第二事件写入对应的传统缓冲区中。
161.本公开实施例提供的同步控制装置与基于众核系统的同步控制方法中各步骤对应,因此,同步控制装置中各模块的详细工作方式可参见本实施例提供的基于众核系统的同步控制方法。
162.本公开实施例所提供的基于众核系统的同步控制装置,在众核系统包括至少一个处理核和片上网络,每个处理核包括传统缓冲区和预先设置的事件缓冲区的场景下,处理模块用于在当前同步周期内,响应于各处理核将对应的传统缓冲区中存储的第一事件处理完成,检测各处理核对应的事件缓冲区中是否存储有第二事件,其中,第一事件为配置在当前同步周期内处理的遵循时间驱动机制的事件;第二事件为所述处理核在当前同步周期内
接收到的遵循事件驱动机制的事件;还用于在检测出存在至少一个处理核对应的事件缓冲区中存储有第二事件的情况下,控制该至少一个处理核中的各处理核处理各自对应的事件缓冲区中的第二事件,能够基于事件驱动实现的对众核系统中各处理核的控制。全局控制模块用于在检测出所有事件缓冲区中均未存储有任何待处理的第二事件,且各处理核对应的路由单元均处于空闲状态的情况下,将当前同步周期切换为下一个同步周期,能够基于时钟驱动实现的对众核系统中各处理核的控制。因此,本公开实施例所提供的基于众核系统的同步控制装置,能够实现时钟驱动和事件驱动相结合的同步控制,使得遵循事件驱动机制的事件在当前同步周期内被处理。
163.本公开实施例还提供了一种处理核,该处理核包括上述的同步控制装置。
164.图6为本公开实施例提供的一种众核系统的组成框图。
165.参照图6,为本公开实施例提供了一种众核系统50,该众核系统50包括多个处理核51和片上网络52,该片上网络包括与各处理核对应的路由单元521。每个处理核包括传统缓冲区511、预先设置的事件缓冲区512和多个处理神经元513。
166.其中,至少一个处理核包括本公开实施例提供的包括上述的同步控制装置的处理核。
167.图7为本公开实施例提供的一种电子设备的组成框图。
168.参照图7,本公开实施例提供了一种电子设备,该电子设备包括多个处理核61以及片上网络62,其中,多个处理核61均与片上网络62连接,片上网络62被配置为交互多个处理核61间的数据和外部数据。该片上网络还包括与各处理核对应的路由单元
169.其中,一个或多个处理核61中存储有一个或多个指令,一个或多个指令被一个或多个处理核61执行,以使一个或多个处理核61能够执行上述的基于众核系统的同步控制方法。
170.此外,本公开实施例还提供了一种计算机可读介质,其上存储有计算机程序,其中,该计算机程序在被处理核执行时实现上述的基于众核系统的同步控制方法。
171.本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于ram、rom、eeprom、闪存或其他存储器技术、cd-rom、数字多功能盘(dvd)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
172.本文已经公开了示例实施例,并且虽然采用了具体术语,但它们仅用于并仅应当被解释为一般说明性含义,并且不用于限制的目的。在一些实例中,对本领域技术人员显而易见的是,除非另外明确指出,否则可单独使用与特定实施例相结合描述的特征、特性和/或元素,或可与其他实施例相结合描述的特征、特性和/或元件组合使用。因此,本领域技术人员将理解,在不脱离由所附的权利要求阐明的本公开的范围的情况下,可进行各种形式和细节上的改变。

技术特征:
1.一种基于众核系统的同步控制方法,包括:在当前同步周期内,响应于各处理核将对应的传统缓冲区中存储的第一事件处理完成,检测各所述处理核对应的事件缓冲区中是否存储有第二事件;所述第一事件为配置在当前同步周期内处理的遵循时间驱动机制的事件;所述第二事件为所述处理核在当前同步周期内接收到的遵循事件驱动机制的事件;在检测出存在至少一个所述处理核对应的事件缓冲区中存储有第二事件的情况下,控制该至少一个所述处理核中的各所述处理核处理各自对应的事件缓冲区中的所述第二事件;在检测出所有所述事件缓冲区中均未存储有任何待处理的第二事件,且各所述处理核对应的路由单元均处于空闲状态的情况下,将所述当前同步周期切换为下一个同步周期。2.根据权利要求1所述的同步控制方法,其中,每个处理核包括多个类脑轴突,每个所述类脑轴突对应连接至少一个处理神经元,至少部分所述处理核包括的所述多个类脑轴突中包括至少一个特殊类脑轴突;所述同步控制方法还包括:对所述特殊类脑轴突进行标记,被标记的类脑轴突的轴突标识包含特殊标识;所述特殊类脑轴突用于传输遵循事件驱动机制的事件。3.根据权利要求1所述的同步控制方法,其中,每个所述处理核包括多个处理神经元;所述控制该至少一个所述处理核中的各所述处理核处理各自对应的事件缓冲区中的所述第二事件的步骤,包括:针对对应的事件缓冲区中存储有第二事件的每个处理核,控制该处理核执行以下计算过程:该处理核根据所述第二事件对应的轴突标识,确定该轴突标识对应的至少一个所述处理神经元和该至少一个所述处理神经元对应的权重;该处理核基于所述第二事件和对应的各所述处理神经元所对应的权重,确定对应的各所述处理神经元的当前膜电位;针对该至少一个所述处理神经元,该处理核在该处理神经元的当前膜电位超过预设膜电位阈值的情况下,生成该处理神经元对应的待处理事件;在该处理核不是所述待处理事件对应的目的处理核的情况下,该处理核向所述目的处理核发送所述待处理事件。4.根据权利要求3所述的同步控制方法,其中,所述待处理事件包括对应的轴突标识,在对应的所述轴突标识包括特殊标识的情况下,所述待处理事件为第二事件,其中,在该处理核不是所述待处理事件对应的目的处理核的情况下,该处理核向所述目的处理核发送所述待处理事件,包括:该处理核通过对应的路由单元向所述目的处理核发送所述待处理事件,以供所述目的处理核将轴突标识包含特殊标识的待处理事件作为所述第二事件存入自身的事件缓冲区和/或将轴突标识不包含特殊标识的待处理事件作为需在未来同步周期内处理的事件存入自身的传统缓冲区。5.根据权利要求3所述的同步控制方法,其中,所述待处理事件包括对应的轴突标识,在对应的所述轴突标识包括特殊标识的情况下,所述待处理事件为第二事件,在所述生成该处理神经元对应的待处理事件之后,还包括:
在该处理核为所述待处理事件对应的目的处理核、且所述待处理事件对应的轴突标识包含特殊标识的情况下,将该待处理事件作为所述第二事件存入该处理核的事件缓冲区;在该处理核为所述待处理事件对应的目的处理核、且所述待处理事件对应的轴突标识不包含特殊标识的情况下,将待处理事件作为需在未来同步周期内处理的事件,并存入该处理核的传统缓冲区。6.根据权利要求1所述的同步控制方法,其中,每个所述处理核包括多个处理神经元;在检测各所述处理核对应的事件缓冲区中是否存储有第二事件之前,还包括:针对每个所述处理核,该处理核将对应的传统缓冲区内的第一事件进行处理的过程,包括:该处理核根据所述第一事件对应的轴突标识,确定该轴突标识对应的至少一个所述处理神经元和该至少一个所述处理神经元对应的权重;该处理核基于所述第一事件和对应的各所述处理神经元所对应的权重,确定对应的各所述处理神经元的当前膜电位;针对该至少一个所述处理神经元,该处理核在该处理神经元的当前膜电位超过预设膜电位阈值的情况下,生成该处理神经元对应的待处理事件;在该处理核不是所述待处理事件对应的目的处理核的情况下,该处理核向所述目的处理核发送所述待处理事件。7.根据权利要求6所述的同步控制方法,其中,所述待处理事件包括对应的轴突标识,在对应的所述轴突标识包括特殊标识的情况下,所述待处理事件为第二事件;其中,在该处理核不是所述待处理事件对应的目的处理核的情况下,该处理核向所述目的处理核发送所述待处理事件,包括:该处理核通过对应的路由单元向目的处理核发送所述待处理事件,以供所述目的处理核将轴突标识包含特殊标识的待处理事件作为所述第二事件存入自身的事件缓冲区和/或将轴突标识不包含特殊标识的待处理事件作为需在未来同步周期内处理的事件存入自身的传统缓冲区。8.根据权利要求6所述的同步控制方法,其中,所述待处理事件包括对应的轴突标识,在对应的所述轴突标识包括特殊标识的情况下,所述待处理事件为第二事件;在所述生成该处理神经元对应的待处理事件之后,所述同步控制方法还包括:在该处理核为所述待处理事件对应的目的处理核、且所述待处理事件对应的轴突标识包含特殊标识的情况下,将该待处理事件作为所述第二事件存入该处理核的事件缓冲区;在该处理核为所述待处理事件对应的目的处理核、且所述待处理事件对应的轴突标识不包含特殊标识的情况下,将待处理事件作为需在未来同步周期内处理的事件,并存入该处理核的传统缓冲区。9.根据权利要求1所述的同步控制方法,其中,所述在检测出所有所述事件缓冲区中均未存储有任何待处理的第二事件,且各所述处理核对应的路由单元均处于空闲状态的情况下,将所述当前同步周期切换为下一个同步周期之前,还包括:在检测出所有所述事件缓冲区中均未存储有任何待处理的第二事件的情况下,检测各所述处理核对应的路由单元是否处于空闲状态。10.根据权利要求9所述的同步控制方法,其中,所述检测各所述处理核对应的路由单
元是否处于空闲状态之后,还包括:在检测出至少一个所述处理核对应的路由单元处于非空闲状态的情况下,等待处于非空闲状态的各路由单元将各自对应的待处理事件全部路由完成;在处于非空闲状态的各路由单元将各自对应的待处理事件全部路由完成的情况下,跳转至所述检测各所述处理核对应的所述事件缓冲区中是否存储有第二事件的步骤。11.根据权利要求1所述的同步控制方法,其中,在所述控制该至少一个所述处理核中的各所述处理核处理各自对应的事件缓冲区中的所述第二事件之后,还包括:检查该至少一个所述处理核是否处理完成对应的事件缓冲区中的所述第二事件;在该至少一个处理核处理完成对应的事件缓冲区中的所述第二事件的情况下,重新执行所述检测各所述处理核对应的事件缓冲区中是否存储有第二事件的步骤。12.根据权利要求1-11任意一项所述的同步控制方法,其中,所述方法还包括:在所述当前同步周期的持续时长超过预设时长阈值的情况下,将所述当前同步周期切换为下一个同步周期;并且在任意一个所述处理核对应的事件缓冲区中仍存储有第二事件的情况下,控制该处理核将对应的所述事件缓冲区中剩余的所述第二事件从对应的所述事件缓冲区中清除。13.根据权利要求12所述的同步控制方法,其中,所述控制该处理核将对应的所述事件缓冲区中剩余的所述第二事件从对应的所述事件缓冲区中清除之前,还包括:控制该处理核将对应的所述事件缓冲区中剩余的所述第二事件写入对应的所述传统缓冲区中。14.一种同步控制装置,应用于众核系统,所述装置包括:处理模块,用于在当前同步周期内,响应于各处理核将对应的传统缓冲区中存储的第一事件处理完成,检测各所述处理核对应的事件缓冲区中是否存储有第二事件;所述第一事件为配置在当前同步周期内处理的遵循时间驱动机制的事件;所述第二事件为所述处理核在当前同步周期内接收到的遵循事件驱动机制的事件;在检测出存在至少一个所述处理核对应的事件缓冲区中存储有第二事件的情况下,控制该至少一个所述处理核中的各所述处理核处理各自对应的事件缓冲区中的所述第二事件;全局控制模块,用于在检测出所有所述事件缓冲区中均未存储有任何待处理的第二事件,且各所述处理核对应的路由单元均处于空闲状态的情况下,将所述当前同步周期切换为下一个同步周期。15.一种处理核,包括权利要求14所述的同步控制装置。16.一种众核系统,包括多个处理核和片上网络,所述片上网络包括与各所述处理核对应的路由单元,每个所述处理核包括传统缓冲区和预先设置的事件缓冲区;其中,至少一个所述处理核包括如权利要求15所述的处理核。17.一种电子设备,包括:多个处理核;以及片上网络,被配置为交互所述多个处理核间的数据和外部数据;所述片上网络包括与各处理核对应的路由单元;一个或多个所述处理核中存储有一个或多个指令,一个或多个所述指令被一个或多个所述处理核执行,以使一个或多个所述处理核能够执行权利要求1-11中任一项所述的基于
众核系统的同步控制方法。18.一种计算机可读介质,其上存储有计算机程序,其中,所述计算机程序在被处理核执行时实现如权利要求1-14中任一项所述的基于众核系统的同步控制方法。

技术总结
本公开提供了一种同步控制方法,该方法包括:在当前同步周期内,响应于各处理核将对应的传统缓冲区中存储的第一事件处理完成,检测各处理核对应的事件缓冲区中是否存储有第二事件,该第二事件为所述处理核在当前同步周期内接收到的遵循事件驱动机制的事件;在检测出存在至少一个处理核对应的事件缓冲区中存储有第二事件的情况下,控制该至少一个处理核中的各处理核处理各自对应的事件缓冲区中的第二事件;在检测出所有事件缓冲区中均未存储有任何待处理的第二事件,且各处理核对应的路由单元均处于空闲状态的情况下,将当前同步周期切换为下一个同步周期。本公开还提供了一种同步控制装置、处理核、众核系统、电子设备、计算机可读介质。机可读介质。机可读介质。


技术研发人员:吴臻志 祝夭龙
受保护的技术使用者:北京灵汐科技有限公司
技术研发日:2021.12.28
技术公布日:2023/7/13
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐