掌桥专利:专业的专利平台
掌桥专利
首页

基于消息的处理器、基于消息的处理方法和记录载体

文献发布时间:2024-04-18 20:01:23


基于消息的处理器、基于消息的处理方法和记录载体

背景技术

本申请涉及一种基于消息的处理器、一种基于消息的处理方法和一种包括计算机程序的记录载体,所述计算机程序在由可编程处理器执行时使可编程处理器执行所述方法。

基于消息的处理器解决了大量的计算任务。基于消息的处理器包括通过事件消息进行通信的多个处理器元件。这种方法与神经元通过突触相互连接的脑具有一些相似性,使得它们能够在它们的膜电位(它们的状态)超过预定阈值时作为尖峰传输数据。由神经元传输的尖峰可导致接收方神经元的膜电位的增加或降低。当在基于消息的处理器中模拟这种神经网络时,大量互连的神经元被实现为基于消息的处理器中的大量互连的基于消息的处理元件。一旦接收到输入消息,则处理器元件改变其状态。在没有附加措施的情况下,每次处理器集群元件接收输入消息时,它将向其接收方处理器集群元件传输状态改变消息,并且接收方处理器集群元件转而将经历状态改变并且向其接收方传输状态改变消息。这潜在地会带来任何改变导致消息过载的风险,这将严重抑制计算性能。

在一种纯朴的方法中,通过为每个处理器元件保持双态来减轻这种风险。双态包括先前状态和当前状态。当前状态是每次输入消息被处理时产生的最近状态。先前状态用作参考状态。只有当输入消息的效果累积到当前状态与先前状态相差大于阈值的程度时,处理元件才能传输状态改变消息,并且当前状态替代作为参考状态的先前状态。尽管这种纯朴的方法确实提供了消息数量的减少,但是这种方法的缺点在于,它要求处理器元件的状态存储空间加倍,因为除了当前状态的存储空间之外,它还要求先前状态的存储空间。

发明内容

因此,本申请的一个目的是提供防止消息过载的措施,其仅需要适度数量的额外存储空间。

此目的在如权利要求1所述的基于消息的处理器实现。其中,暂时禁用针对处理器集群元件的输出消息的传输。一旦禁止处理器集群元件的消息传输,则要被延迟地传递的第二类型的消息被引导到所述处理器集群元件。一旦接收到延迟的第二类型的消息,则所述处理器集群元件被重新启用以传输输出消息。在针对处理器集群元件的消息传输被禁止的时间段期间,其状态值继续响应于输入消息而被更新。只需要适度的存储空间扩展。即,每个处理器集群元件的状态位需要一个比特位的存储空间来指示消息传输当前是启用还是禁用。尽管需要额外的存储空间来临时缓冲第二类型的消息直到它们被递送,但是与为每个处理器集群元件存储双态所需的额外存储空间相比,对于缓冲器和状态位的存储空间的总要求是适度的。

这是因为第二类型的消息仅为经受显著状态改变的处理器集群元件生成。例如,在处理器集群元件表示神经元的情况下,仅对于已经越过阈值的那些神经元,第二类型的消息需要被排队。在实践中,这仅是处理器集群元件的总数量的一小部分(例如,<10%)。

根据第一选项,在将处理器集群元件设置为传输禁用操作模式之前,传输针对所述处理器集群元件的输出消息。根据第二选项,不直接传输针对以其传输启用操作模式操作的处理器集群元件的输出消息。相反,通过首先将处理器集群元件设置为传输禁用操作模式并禁用输出消息的传输直到处理器集群元件接收到重新启用控制消息来推迟传输。

在实施方式中,重新启用控制消息在由处理器集群元件传输时传送处理器集群元件的状态值,并且其中,如果处理器集群元件的状态值相对于接收到的重新启用控制消息所传送的状态值发生了显著变化,则处理器集群元件仅执行用于生成输出消息的准备步骤。在其示例中,处理器集群元件包括用于存储状态值改变指示符的二进制值的附加状态寄存器,所述状态值改变指示符指示超过阈值的先前状态改变的方向,其中选择性地生成输出事件消息还依据所述指示符的值。

在基于消息的处理器的实施方式中,公共消息处理工具包括第一消息处理工具和消息缓冲器单元,第一消息处理工具处理更新消息以更新指定的处理器集群元件的状态,消息缓冲器单元传递重新启用控制消息。在此实施方式的示例中,消息缓冲器单元包括FIFO消息缓冲器和时钟单元,时钟单元将当天的当前时间与所述缓冲器中的最早消息的时间戳进行比较,消息缓冲器单元配置成如果时钟单元指示从由所述时间戳指示的时间点起已过去了预定时间段,则传递所述最早消息。在示例中,如果FIFO消息缓冲器已满,则消息缓冲器单元将最早消息传递到指定的处理集群单元,而不管所述预定时间段是否已过。

附图说明

参考附图更详细地描述这些和其它方面。在附图中:

图1示意性地示出了包括至少一个处理器集群的基于消息的处理器;

图2和图3更详细地示出了示例性处理器集群;

图3更详细地示出了示例性处理器集群;

图4A、图4B示出了在传送传输重新启用消息中所涉及的消息处理工具(utility)的示例;

图5示出了本文中所公开的方法的第一示例;

图6示出了本文中所公开的方法的第二示例;

图7示出了处理器集群的实施方式的一部分的更详细的示例;

图8示出了该方法的其它实施方式的各方面。

具体实施方式

用于描述特定实施方式的术语不旨在限制本发明。如本文中所使用的,单数形式“一个”、“一种”和“所述”旨在也包括复数形式,除非上下文另外清楚地指示。术语“和/或”包括一个或更多个相关所列项目的任何和所有组合。应当理解,术语“包括”和/或“包含”指定所陈述的特征的存在,但不排除一个或更多个其它特征的存在或添加。还应理解,当方法的特定步骤被称为在另一个步骤之后时,其可以直接跟随所述另一个步骤,或者可以在进行特定步骤之前进行一个或更多个中间步骤,除非另有说明。同样,应当理解,当描述结构或部件之间的连接时,所述连接可以直接建立或通过中间结构或部件建立,除非另有说明。

在下文中参考附图更全面地描述本发明,在附图中示出了本发明的实施方式。在附图中,为了清楚起见,可以夸大系统、部件、层和区域的绝对和相对尺寸。参考可能理想化的实施方式和本发明的中间结构的示意性和/或截面图示来描述实施方式。在说明书和附图中,相同的附图标记始终表示相同的元件。相对术语及其派生词应被解释为是指随后将描述的定向或如讨论中的附图所示的定向。这些相对术语是为了便于描述并且不需要系统以特定的定向构造或操作,除非另有说明。

图1示意性地示出了基于消息的处理器1,基于消息的处理器1包括至少一个处理器集群10,这里也包括处理器集群10a、…、10h。处理器集群中的每个具有多个处理器集群元件a、…、j、…、n。

通过示例的方式,在图2中更详细地示出了处理器集群10。如图2中所示,处理器集群元件a、…、j、…、n具有各自的可寻址存储空间110a、…、110j、…、110n以存储指示其状态的状态值Xj。此外,在处理器集群10中提供公共控制工具(utility)、计算工具140和消息处理工具20、25、120、130。在此实施方式中,公共控制工具和公共计算工具由通用处理器140提供。可替代地,可以存在单独的装置,诸如用作公共控制工具的定序器和用作公共计算工具的信号处理器。这种信号处理器例如可以是通用处理器,但是也可以是专用于执行特定信号计算的处理器,例如在专用硬件中实现。

公共计算工具140配置成例如一旦接收到对处理器集群元件j进行寻址的消息Mj则检索存储在其可寻址存储空间110j中的处理器集群元件j的先前状态X

消息处理工具包括网络接口25,网络接口25通过链路20连接到处理器集群10、10a、…、10h彼此通信所使用的网络。消息处理工具还包括接收输入消息Min的消息输入单元120和传输输出消息Mout的消息输出单元130。此外,消息处理工具包括用于每个处理器集群10、10a、…、10h的相应的专用消息传送线27、27a、…、27h。如果基于消息的处理器1仅包括一个处理器集群10,或者如果消息交换仅需要在一个处理器集群10内进行,则网络可以不存在,并且消息可以直接从消息输出单元130传送到消息输入单元120。

消息输入单元120配置成接收输入消息Min,输入消息Min指定多个处理器集群元件中的特定处理器集群元件,并且计算工具140配置成更新存储在指定的处理器集群元件的相应存储元件中的状态值。

每个处理器集群元件的可寻址存储空间(例如,用于处理器集群元件j的存储空间110j)还存储操作模式指示符OMj,操作模式指示符OMj指示所述处理器集群元件j的当前占主导地位的操作模式。操作模式OMj选自第一操作模式OME和第二操作模式OMD中的至少之一,在第一操作模式OME中启用传输,在第二操作模式OMD中禁用传输。消息输出单元130配置成根据其操作模式选择性地将针对处理器集群元件的输出消息传输到一个或更多个处理器集群元件(例如,传输到其自身和/或传输到同一处理器集群或另一处理器集群中的处理器集群元件)。

传输禁用模式OMD是临时操作模式,因为一旦将处理器集群元件设置为传输禁用模式,则公共控制工具还延迟地向所述处理器集群元件传输重新启用控制消息。一旦接收到重新启用控制消息,则处理器集群元件重新采取传输启用模式OME。

在图2的实施方式中,消息处理工具120、130、20、25都用于处理更新消息,以更新其中指定的处理器集群元件的状态和重新启用控制消息。图3示出了可替代的实施方式,其中提供了单独的消息缓冲器单元27来传递重新启用控制消息。在操作中,消息缓冲器单元27通过消息输出单元130从处理器集群元件(例如,j)接收指定其自身的重新启用控制消息,并以预定延迟将其传递到消息输入单元120。注意,计算与控制工具140可以例如基于指示网络负载的输入数据和所需的精度指示符利用控制信号Ct来控制延迟的持续时间ΔT。

图4A示出了消息缓冲器单元27的第一示例。消息缓冲器单元27包括FIFO缓冲器270、FIFO缓冲器控制器271和时间戳部分272。在所示的示例中,FIFO缓冲器270包含缓冲的重新启用控制消息,其中具有时间戳T2

实际上,FIFO缓冲器270中可用的缓冲器空间可以被设计成足以将重新启用消息保持预定的延迟时间。然而,在图4B中提供了替代的实施方式,其为FIFO缓冲器270被完全占用的例外情况提供了应对的操作。在此替代的实施方式中,如果最早消息的时间戳具有等于当前时间的值或者如果FIFO缓冲器指示它充满信号F

图5示意性地示出了用于操作基于消息的处理器的方法的实施方式,基于消息的处理器包括至少一个处理器集群,至少一个处理器集群具有多个处理器集群元件和用于处理器集群元件的公共控制工具、计算工具和消息处理工具。利用该方法操作的基于消息的处理器例如是如上所述的基于消息的处理器的实施方式之一。

如图5中所示,所述方法包括步骤S1A或S1B,例如利用消息输入单元120接收指定多个处理器集群元件中的特定处理器集群元件的输入消息。在步骤S1A中,接收到的消息是更新消息M1。更新消息M1除了指定处理器集群元件之外还可以包括其它数据,诸如指示要应用的操作和指示一个或更多个操作数值。然而,这不是强制性的。可替代地,在步骤S1B中,可以接收重新启用消息M2。如将在下面更详细地描述的,消息的接收具有以下效果:公共计算工具更新所指定的处理器集群元件的存储的状态值X。如上所述,处理器集群10具有多个处理器集群元件a、…、j、…、n。因此,对于这些处理器集群元件中的每个,存储相应的状态值。为简单起见,由消息M1或M2指定的处理器集群元件j的状态值Xj被表示为X。一旦步骤S1A中接收到消息M1,则公共计算工具140首先计算存储在共享寄存器中的初始更新状态值X'。所述计算可以由控制数据(例如,消息M1中的操作码和一个或更多个操作数)控制,但这不是必需的。可以设想一个实施方式,其中更新消息M1仅包含处理器集群元件的指定并且总是具有相同的效果,例如将预定值添加到状态值。

一旦接收到重新启用消息M2,则指定的处理器集群元件的状态值X被存储为初始更新状态值X',并且随后,状态值X被分配由消息M2传送的值(M2.StatVal)。

在随后的步骤S3至S5中,按如下所述计算量化的状态改变值O。在步骤S3中,从作为指定的处理器集群元件的当前状态值存储的值X计算量化状态值Xq。在这个示例中,这是通过利用THR比特位进行右移操作并返回结果的整数值来实现的。在步骤S4中对初始更新状态值X'执行相同的操作,以获得量化的初始更新状态值Xq'。在步骤S5中,将量化的状态改变值O计算为针对量化的初始更新状态值Xq'的激活函数值AF(X'q)与针对量化的状态值Xq的激活函数值AF(Xq)之间的差。

在步骤S6中,确定量化的状态改变值O是否与0不同。如果量化的状态改变值O等于0,则随后在步骤S7中检查指定的处理器集群元件的操作状态OM。每个处理器集群元件具有用于其操作状态的适当存储空间。所需的存储空间是单个比特位,除非需要从两个以上的潜在操作模式中选择处理器集群元件的操作模式。用于存储操作模式指示符OM的存储空间可以例如是为状态值X保留的存储空间的一部分,例如用于处理器集群元件j的可寻址存储器条目110j。一旦确定出操作模式OM是启用操作模式OME,则所述方法继续步骤S10,其中初始更新状态值X'被存储为指定处理器元件的状态值X。在操作模式OM是禁用操作模式OMD并且在步骤S8中确认出所接收的消息不是重新启用消息的情况下,所述方法也继续到步骤S10。如果在禁用操作模式中,在步骤S8中确定出所接收的消息是重新启用消息,则在步骤S9中将所指定的处理器元件的操作模式设置为启用操作模式,并且过程继续到步骤S10。

如果在步骤S6中确定出量化的状态改变值O与0不同,则随后在步骤S11中检查指定的处理器集群元件的操作模式OM。如果所述操作模式是禁用操作模式OMD并且在步骤S12中确定出所接收的消息不是重新启用消息,则所述方法继续步骤S10。如果操作模式是启用操作模式OME,或者如果在步骤S12中确定出所接收的消息是重新启用消息并且在步骤S13中重新启用,则所述方法继续步骤S14,其中由指定的处理器元件将指示量化的状态改变值O的更新消息M1O传输到一个或更多个目的地处理器集群元件,所述一个或更多个目的地处理器集群元件可以包括其自身、同一集群中或另一集群中的一个或更多个其它处理器集群元件。所述消息可以例如由消息输出单元130传输。在所述传输之后,在步骤S15中,公共控制工具140将指定的处理器集群元件的操作状态复位为禁用的OMD。此外,在步骤S16中,重新启用控制消息M2延迟ΔT被传输到指定的处理器集群元件,如图5中的虚线箭头示意性地所示,并且所述方法继续到步骤S10。如上所述,例如在步骤S9中或者在步骤S13中,由指定的处理器元件接收消息M2使得它能够重新采取传输启用模式OME。□

图6示出了上述方法的替代的实施方式。图6中的与图5的步骤对应的步骤具有相同的附图标记。从图6中可以明显看出,在此替代的实施方式中遵循的过程对应于直到步骤S17的过程。在步骤S17中,检查是否符合以下条件的组合:

O≠0(量化的状态改变值O与0不同)

OM=OME(传输启用模式)

如果满足这两个条件,则在步骤S15中将传输启用模式OM设置为禁用(OMD),并且在步骤S16中传输携带当前状态值X的传输重新启用消息M2O(X)。

在步骤S16之后或者在步骤S17之后,如果在其中确定出以上条件的组合不符合,则在步骤S12中验证是否接收到传输重新启用消息M2。如果不是这种情况,则所述方法继续到步骤S10。如果确实接收到传输重新启用消息M2,则在步骤S13中将操作模式OM切换到OME。于是,假定在步骤S6中确定出量化的状态改变值O与0不同,则在步骤S14中使处理器元件启用以传输更新消息M1O。

图7示意性地示出了可以执行图6的方法的公共工具的可能实现。通过示例的方式,公共更新与控制工具对于具有存储在存储器110的可寻址条目110j(表示为双壁框)中的其状态指示符X和其操作模式指示符OM的处理器集群元件j是当前有效的。在所示的示例中,公共消息处理工具包括具有第一控制模块120M1和第二控制模块120M2的消息接收工具120。一旦由消息接收工具接收到输入消息M1,则第一控制模块120M1利用控制信号L1激活更新模块1402以根据由条目110j中的状态指示符X所指示的值和由消息所指示的值来计算更新的状态值X'。例如,更新模块1402可以计算:

X'=X+W*V,其中,

W是当前分配给处理器集群元件j的权重,并且V是由消息M1传达的值。可替代地,更新模块1402可以执行其它更新功能,例如添加固定值。

由更新模块1402计算的值(临时)存储在寄存器1404中。利用第二控制信号L2,第一控制模块120M1激活计算模块1406以例如根据图5和图6中的步骤S3、S4、S5计算量化的状态改变值O。响应于计算模块1406已经计算了用于量化的状态改变值O的值,比较器1408确定值O是否与0不同。另外,另一比较器1410确定存储在条目110j中的操作模式指示符OM是否指示启用传输(OME)。如果与门1412的输出指示符合这两个条件,则禁用模块1414将条目110j中的传输启用指示符OM中的指示符复位为传输禁用(OMD)。同样在那种情况下,传输模块130M2传输具有存储在条目110j中的状态值X的消息M2(X)。然后,来自控制模块120M1的控制信号L3使存储模块1409将更新的值X'保存在为处理器集群元件j保留的存储条目110j中。

一旦预定延迟之后由消息处理工具120接收到消息M2(X),则控制模块120M2启动以下操作。利用信号RF1,其使模块1416将存储在条目110j中的当前状态值X复制到寄存器1404中。然后,利用信号RF2,其将由消息M2传送的状态值存储到所述条目110j中。利用控制信号RF3,其使计算工具1406基于现在存储在条目110j中的由消息M2传送的值和存储在寄存器1404中的值来计算量化的状态改变值O。响应于计算模块1406已经计算了量化的状态改变值O的值,比较器1408确定值O是否与0不同。控制模块120M2还向与门1418提供控制信号RF4。此控制信号指示“接收到的消息M2=真(TRUE)”。如果进一步地比较器1408已经确定出用于量化的状态改变值O的值与0不同,则与门使信号处理工具130的信号传输模块130M1发出传送量化的状态改变值O的消息M1(O)。所述消息可以由指定的处理器元件传输到一个或更多个目的地处理器集群元件,目的地处理器集群元件可包括所述指定的处理器元件自身、同一集群中或另一集群中的一个或更多个其它处理器集群元件。最后,控制模块120M2向存储模块1409发出信号RF4,以将临时更新的状态值X'写入到相关集群处理器元件j的可寻址存储空间110j中。

图5和图6中描述的方法可以被扩展以响应其它消息类型和另外的消息参数。其示例在图8中给出。图8中与图5和图6的步骤对应的步骤具有相同的附图标记。因此,一旦接收到消息M2,则执行与图5和图6中相同的步骤S2B,并且所述方法从图5或图6中的点A向前进行。

如果接收到消息M1,则执行步骤S2A,其中计算临时更新的状态值X'。然后,作为附加步骤S20,确定由消息M1传送的控制参数“触发(Trig)”是否为真(TRUE)。如果不是这种情况,则所述方法照常从图5或图6中的点A向前进行。然而,如果控制参数“触发(Trig)”是真,则在步骤S21中复位量化的状态值Xq,并且从图5或图6中的点B继续。这意味着量化的状态改变值O实际上是在步骤S2A中计算的更新值的量化状态值O。于是,由消息M1寻址的处理器集群元件将传送其状态的绝对指示符而不是其状态的相对指示符。

还如图8中所示,所述方法可以配置成处理例如与单独的输入端口相关联的第三类型的消息M3。一旦接收到消息M3,则所述方法可以例如执行特定操作,诸如复位操作S23或泄漏操作S24。在所示的示例中,可以根据参数“触发”的值来执行这些操作中的任一个。对于此参数的一个值(0),执行操作复位。于是,将状态值复位为偏置值。然后,所述方法在图5或图6中的点C处继续,其中将所计算的偏置值存储到状态寄存器(例如,处理器集群元件j的110j)中。在参数“触发”具有另一个值(1)的情况下,执行泄漏操作。此操作模拟在没有输入的情况下其激励状态逐渐下降到0的神经元的行为。

在实施方式中,步骤S2A、S23、S24中的操作可以基于标度函数。

即,按如下计算:

在步骤S2A中:X’=X+Scale((W-ZP)*V,SC)=X+SC*V(W-ZP)

在步骤S23中:X’=Scale((W-ZP),SC)=SC*(W-ZP)

在步骤S24中:X’=X-Scale((X-W),SC)=X–SC*(X-W)

以这种方式,可以通过选择参数ZP和SC的值来使集群的动态范围适应于输入。

在解释所附权利要求时,应当理解的是,词语“包括”不排除在给定权利要求中列出的元件或动作之外的其它元件或动作的存在;在元件之前的词语“一”或“一个”不排除多个这样的元件的存在;权利要求中的任何附图标记不限制其范围;几个“装置”可以由相同或不同的项目或实现的结构或功能来表示;所公开的装置或其部分中的任一个可以组合在一起或分成另外的部分,除非另有具体说明。当一个权利要求引用另一个权利要求时,这可以指示通过它们各自的特征的组合实现的协同优点。但是,仅仅在相互不同的权利要求中陈述某些措施的事实并不表示这些措施的组合也不能被有利地使用。因此,所呈现的实施方式可以包括权利要求的所有工作组合,其中每个权利要求原则上可以指任何前述权利要求,除非上下文清楚地排除。

相关技术
  • 一种改性富锂锰基正极材料及其制备方法
  • 一种磷酸钛锂包覆富锂锰基正极材料的制备方法
  • 一种核壳结构的富锂锰基正极材料的制备方法
  • 一种富锂锰基正极材料表面改性方法及富锂锰基正极材料
  • 锰空位调控富锂锰基正极材料改性方法及材料的应用
技术分类

06120116550226