基于异构多核处理器的核间通信方法和系统与流程
未命名
08-22
阅读:135
评论:0
1.本技术涉及通信领域,尤其涉及一种基于异构多核处理器的核间通信方法和系统。
背景技术:
2.随着嵌入式技术的不断发展,异构多核处理器(heterogeneous multi-processor unit,hmpu)的应用越来越多。异构多核处理器包括通用处理器、数字信号处理器、媒体处理器、网络处理器等,每个内核针对不同的需求设定的,从而提高应用的计算性能或实时性能。
3.多核处理器中,不同核(core)需要协同工作,即需要高效的核间通信机制。目前,轻量级核间通信数据可由邮箱处理控制单元(mailbox)传输,由信源核发送到邮箱处理控制单元,邮箱处理控制单元对信宿核产生中断并通过寄存器传输数据。大量核间通信数据传输时,信宿核识别邮箱处理控制单元传递的数据后,再读取共享内存的数据。
4.采用邮箱处理控制单元和共享内存(sharememory)协同方式完成核间通信的方式,虽然在一定程度上能够满足通信的基本要求,但在部署协议栈时,无法适配具有时钟总线或时钟同步特性的全双工协议栈,无法满足全双工通信要求。
技术实现要素:
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.图1为本技术一实施例提供的基于异构多核处理器的核间通信方法的流程示意
图;
46.图2为本技术一实施例提供的基于异构多核处理器的核间通信方法的流程示意图;
47.图3为本技术一实施例提供的基于异构多核处理器的核间通信方法的流程示意图;
48.图4为本技术一实施例提供的基于异构多核处理器的核间通信系统的结构示意图;
49.图5为本技术另一实施例提供的基于异构多核处理器的核间通信方法的流程示意图;
50.图6为本技术另一实施例提供的基于异构多核处理器的核间通信方法的流程示意图;
51.图7为本技术另一实施例提供的基于异构多核处理器的核间通信系统的结构示意图;
52.图8为本技术一实施例提供的电子设备的硬件结构示意图。
具体实施方式
53.为使本技术的目的、技术方案和优点更加清楚,下面将结合本技术中的附图,对本技术中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
54.伴随着物联网的迅猛发展,嵌入式系统逐步成为信息社会的核心基础。在结构设计方面,由于芯片工艺限制,传统芯片通过提高单核主频已无法适配“摩尔定律”的2n值,同时,由于市场时刻面对新型应用的多态特性,只能以愈加复杂的应用为导向,在此背景下,异构多核处理器系统应运而生。
55.多核处理器中,不同核需要协同工作,即需要高效的核间通信机制。同时,为了完善通信机制,符合开放式系统互联通信参考(open system interconnection reference model,osi)模型,隔离不同类型的数据通道,或考虑功能安全的角度下,开发人员会在核间通信的上层架设相关协议栈。
56.目前,轻量级核间通信数据可由邮箱处理控制单元传输,由信源核发送到邮箱处理控制单元,邮箱处理控制单元对信宿核产生中断并通过寄存器传输数据。大量核间通信数据传输时,信宿核识别邮箱处理控制单元传递的数据后,再读取共享内存的数据。
57.采用邮箱处理控制单元和共享内存协同方式完成核间通信的方式,虽然在一定程度上能够满足通信的基本要求,但在部署协议栈时,无法适配具有时钟总线或时钟同步特性的全双工协议栈,无法满足全双工通信要求。
58.针对上述问题,本技术提出了一种基于异构多核处理器的核间通信方法,第二通信核将第二数据写入第二共享内存,第一通信核在发送时钟信号之前,将第一数据写入第一共享内存,从第二共享内存中读取第二数据,而后将时钟信号发送至邮箱处理控制单元,邮箱处理控制单元接收到时钟信号时,生成中断信号,将中断信号发送至第二通信核,第二通信核在接收到中断信号时,从第一共享内存中读取第一数据。因此,第一通信核能够在发
送时钟信号之前,将第一数据写入第一共享内存,并从第二共享内存中读取第二数据,实现数据的收发,第二通信核能够在接收到中断信号之前,将第二数据写入第二共享内存,并在接收到中断信号后,从第一共享内存中读取第一数据,完成数据的收发,并且由于中断信号是邮箱处理控制单元在接收到第一通信核发送的时钟信号后生成的,因此在第一通信核和第二通信核能够在一个时钟周期内,同步完成一次数据交互,满足全双工通信要求。
59.下面以具体地实施例对本技术的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
60.图1示出了本技术一实施例提供的一种通信方法的流程图。如图1所示,以第二通信核为执行主体,本实施例的方法可以包括如下步骤:
61.s101、将第二数据写入第二共享内存。
62.第二通信核在接收到邮箱处理控制单元发送的中断之前,将第二数据写入第二共享内存,也即,第二通信核在第一通信核发送时钟信号之前,将第二数据写入第二共享内存。
63.s102、接收到邮箱处理控制单元发送的中断信号时,从第一共享内存中读取第一数据。
64.中断信号是邮箱处理控制单元在接收到第一通信核发送的时钟信号后生成的,时钟信号是第一通信核将第一数据写入第一共享内存,并从第二共享内存中读取第二数据后,发送至邮箱处理控制单元的。
65.第一通信核将期望发送的数据写入第一共享内存,然后从第二共享内存中读取第二数据,完成数据的接收和发送。而后,第一通信核向邮箱处理控制单元发送时钟信号(sync request),以通过邮箱处理控制单元向第二通信核发送时钟信号,邮箱处理控制单元在接收到时钟信号后,生成中断信号(sync interrupt),并将中断信号发送至第二通信核。第二通信核在接收到邮箱处理控制单元发送的中断信号时,从第一共享内存中读取第一数据。
66.需要说明,将时钟信号作为信息同步交互的触发信号,协议栈同时发送并接收数据。可以选择通信核中的一个作为协议栈master,即本方案中的第一通信核,定周期或通过事件触发的方式发送时钟信号到slave,即本方案中的第二通信核。
67.本技术提供的基于异构多核处理器的核间通信方法,第二通信核将第二数据写入第二共享内存,并在接收到邮箱处理控制单元发送的中断信号时,从第一共享内存中读取第一数据,完成数据的收发。第一通信核在发送时钟信号之前,将第一数据写入第一共享内存并从第二共享内存中读取第二数据,完成数据的收发。并且,由于中断信号是邮箱处理控制单元在接收到第一通信核发送的时钟信号后生成的,因此在第一通信核和第二通信核能够在一个时钟周期内,同步完成一次数据交互,满足全双工通信要求。
68.需要说明,在当前周期第一通信核和第二通信核实现数据交互之后,在下一周期,第二通信核可以将下一周期的第二数据写入第二共享内存,第一通信核可以将下一周期的第一数据写入第一共享内存,并从第二共享内存中获取下一周期的第二数据,而后第一通信核可以向邮箱处理控制单元发送时钟信号,使得邮箱处理控制单元能够生成下一周期的中断信号并发送至第一通信核,使得第一通信核从第一共享内存中获取下一周期的第一数据,则第一通信核和第二通信核能够在下一周期实现数据交互。
69.图2示出了本技术一实施例提供的一种通信方法的流程图。如图2所示,以第二通信核为执行主体,本实施例的方法可以包括如下步骤:
70.s201、第一通信核运行时钟程序或事件触发程序。
71.当时钟信号的触发源为周期触发时,运行时钟程序;当时钟信号的触发源为其他进程时,运行事件触发程序。
72.s202、第二通信核运行时钟信号监控程序。
73.时钟信号监控程序能够对邮箱处理控制单元发送的中断信号及时响应。
74.s203、第一通信核的时钟计数满足或事件被唤醒时,触发时钟信号发送进程。
75.第一通信核运行时钟程序时,若时钟计数满足,触发时钟信号发送进程;第一通信核运行事件触发程序时,若事件被唤起,触发时钟信号发送进程。时钟信号发送进程能够向邮箱处理控制单元发送时钟信号。
76.s204、第二通信核在时钟信号监控程序启动后,将第二数据写入第二共享内存。
77.第二通信核在时钟信号监控程序启动后,优先将数据写入第二共享内存。
78.s205、第一通信核将第一数据写入第一共享内存中,并从第二共享内存中读取第二数据。
79.第一通信核将期望发送的数据写入第一共享内存,然后从第二共享内存中读取数据。执行至此,第一通信核已经读取到第二通信核发送的数据,完成数据的同步收发。
80.s206、第一通信核向邮箱处理控制单元发送时钟信号。
81.时钟信号的数据内容可以自行定义,与其他核间通信逻辑不冲突集合。执行至此,第一通信核已经完成当前周期下的所有动作。
82.s207、邮箱处理控制单元根据时钟信号生成中断信号,将中断信号发送至第二通信核。
83.邮箱处理控制单元用于处理各通信核之间的消息发送、分发以及接收等。邮箱处理控制单元通过一个专门的先入先出(first in first out,fifo)队列,管理和保存各通信核之间的通信消息,且每个通信核均存在相应的fifo队列来管理和接收消息。
84.s208、第二通信核接收到邮箱处理控制单元发送的中断信号后,判断中断信号的中断源是否是邮箱处理控制单元。
85.若是,执行步骤s209,若否,进行其他中断处理。
86.s209、第二通信核判断中断信号是否为时钟处理数据。
87.若是,执行步骤s210,若否,进行其他核间通信处理。
88.s210、第二通信核从第一共享内存中读取第一数据。
89.执行至此,第二通信核读取到第一通信核发送的数据,第一通信核和第二通信核完成一次时钟周期内的数据交互。第一通信核或第二通信核均能够同时发送并接收数据,满足全双工要素。第一通信核和第二通信核完成当前时钟周期下的所有动作后,可以等待下次时钟信号,在下一时钟周期内继续执行本方案。
90.本技术提供的基于异构多核处理器的核间通信方法,第二通信核在接收到中断信号之前,将第二数据写入第二共享内存。第一通信核在发送时钟信号之前,将第一数据写入第一共享内存,并从第二共享内存中读取第二数据,而后通过邮箱处理控制单元向第二通信核发送时钟信号,即邮箱处理控制单元发送的中断信号,第二通信核在接收到中断信号
时,从第一共享内存中读取第一数据,此时,第一通信核和第二通信核完成一次通信核的数据交互,满足全双工的通信要求。
91.图3示出了本技术一实施例提供的一种基于异构多核处理器的核间通信方法的流程图。如图3所示,以第一通信核为执行主体,本实施例的方法可以包括如下步骤:
92.s301、将第一数据写入第一共享内存,从第二共享内存中读取第二数据。
93.第一通信核运行时钟程序或事件触发程序,当时钟信号的触发源为周期触发时,运行时钟程序;当时钟信号的触发源为其他进程时,运行事件触发程序。
94.第一通信核运行时钟程序时,若时钟计数满足,触发时钟信号发送进程;第一通信核运行事件触发程序时,若事件被唤起,触发时钟信号发送进程。时钟信号发送进程触发后,将第一数据写入第一共享内存,从第二共享内存中读取第二数据,而后向邮箱处理控制单元发送时钟信号。
95.第二共享内存中的第二数据是第二通信核在接收到中断信号之前写入的。
96.s302、向邮箱处理控制单元发送时钟信号,邮箱处理控制单元用于在接收到时钟信号时生成中断信号,并将中断信号发送至第二通信核,以使第二通信核在接收到中断信号时,从第一共享内存中读取第一数据。
97.本技术提供的基于异构多核处理器的核间通信方法,第一通信核在发送时钟信号之前,将第一数据写入第一共享内存,从第二共享内存中读取第二数据,完成数据的收发。第二通信核在接收到中断信号之前,将第二数据写入第二共享内存,在接收到中断信号时,从第一共享内存中读取第一数据,完成数据的收发。此时,第一通信核和第二通信核完成一次通信核的数据交互,满足全双工的通信要求。
98.图4示出了本技术一实施例提供的一种基于异构多核处理器的核间通信系统的组件图,如图4所示,本实施例的基于异构多核处理器的核间通信系统包括:第一通信核101、第二通信核102、第一共享内存201、第二共享内存202和邮箱处理控制单元301。
99.第二通信核102用于将第二数据写入第二共享内存202,第一通信核101用于将第一数据写入第一共享内存201,从第二共享内存202中读取数据,并向邮箱处理控制单元301发送时钟信号。邮箱处理控制单元301在接收到第一通信核101发送的时钟信号时生成中断信号,将中断信号发送至第二通信核102。第二通信核102在接收到邮箱处理控制单元301发送的中断信号时,从第一共享内存101中读取第一数据。
100.本技术提供的基于异构多核处理器的核间通信系统,第二通信核在接收到中断信号之前,将第二数据写入第二共享内存。第一通信核在发送时钟信号之前,将第一数据写入第一共享内存,并从第二共享内存中读取第二数据,而后通过邮箱处理控制单元向第二通信核发送时钟信号,即邮箱处理控制单元发送的中断信号,第二通信核在接收到中断信号时,从第一共享内存中读取第一数据。此时,第一通信核和第二通信核完成一次通信核的数据交互,满足全双工的通信要求。
101.图5示出了本技术一实施例提供的一种基于异构多核处理器的核间通信方法的流程图。如图5所示,以第一通信核为执行主体,本实施例的方法可以包括如下步骤:
102.s501、将第一数据写入第一共享内存。
103.第一通信核和第二通信核在接收到中断信号之前,先将需要发送的数据分别写入第一共享内存和第二共享内存。即,在当前时钟周期内,时钟信号未触发时,第一通信核和
第二通信核将需要发送的数据分别写入第一共享内存和第二共享内存。
104.s502、接收到邮箱处理控制单元发送的中断信号时,从第二共享内存中读取第二数据。
105.中断信号是邮箱处理控制单元在接收到时钟核发送的时钟信号时周期性生成的。邮箱处理控制单元根据时钟信号生成中断信号后,将中断信号发送至第一通信核和第二通信核。
106.第一通信核和第二通信核分别启动时钟信号监控程序,时钟信号监控程序能够对邮箱处理控制单元发送的中断信号进行监控,以及时响应中断信号。
107.第一通信核在接收到邮箱处理控制单元发送的中断信号时,从第二共享内存中读取第二数据,将第二数据写入第一共享内存。第二通信核在接收到邮箱处理控制单元发送的中断信号时,从第一共享内存中读取第一数据。
108.需要说明,将时钟信号作为定周期数据采样信号,需要发送时钟信号的时钟核与通信核相互独立,以保证时钟信号的在两个通信核上的触发时间相同,同步发生时钟震荡。采用同步时钟震荡设计,能够提高时钟精度,适用于对时钟精度要求较高的协议栈。
109.本技术提供的基于异构多核处理器的核间通信方法,第一通信核和第二通信核在接收到中断信号之前,分别将第一数据和第二数据写入第一共享内存和第二共享内存,在接收到中断信号时,第一通信核从第二共享内存中读取第二数据,第二通信核从第一共享内存中读取第一数据。第一通信核和第二通信核在一个震荡周期内能够完成数据的发送和接收,满足全双工通信要求。并且由于振荡周期精度较高,稳定性强,可作为核间通信的单位,通信核能够连续快速地触发多个震荡周期。
110.图6示出了本技术一实施例提供的一种基于异构多核处理器的核间通信方法的流程图。如图6所示,本实施例的方法可以包括如下步骤:
111.s601、时钟核启动时钟定时进程。
112.时钟核作为同步时钟振荡设计的时钟源,正常启动时钟定时进程。
113.s6021、第一通信核启动时钟监控程序。
114.第一通信核启动时钟监控程序,对邮箱处理控制单元触发的中断进行监控,即对邮箱处理控制单元发送的中断信号进行监控。
115.s6022、第二通信核启动时钟监控程序。
116.第二通信核启动时钟监控程序,对邮箱处理控制单元触发的中断进行监控,即对邮箱处理控制单元发送的中断信号进行监控。
117.s603、时钟核计数满足,触发时钟信号发送进程,向邮箱处理控制单元发送时钟信号。
118.时钟信号发送进程能够向邮箱处理控制单元发送时钟信号,向邮箱处理控制单元发送。
119.s6041、第一通信核将第一数据写入第一共享内存。
120.在当前时钟周期内,接收到中断信号之前,此时时钟信号未触发,第一通信核将需要发送的数据写入第一共享内存。
121.s6042、第二通信核将第二数据写入第二共享内存。
122.在当前时钟周期内,接收到中断信号之前,第二通信核将需要发送的数据写入第
二共享内存。将第一数据写入第一共享内存,第二数据写入第二共享内存,能够防止不同通信核的数据在同一块共享内存中覆盖。
123.s605、邮箱处理控制单元根据时钟信号生成中断信号,将中断信号发送至第一通信核和第二通信核。
124.时钟信号的数据内容可以自行定义,与其他核间通信逻辑不冲突即可,邮箱处理控制单元触发通信核中断,改变通信核执行的指令顺序。
125.s6061、第一通信核接收到邮箱处理控制单元发送的中断信号时,判断中断信号的中断源是否是邮箱处理控制单元。
126.若是,执行步骤s6071,若否,进行其他中断处理。
127.s6062、第二通信核接收到邮箱处理控制单元发送的中断信号时,判断中断信号的中断源是否是邮箱处理控制单元。
128.若是,执行步骤s6072,若否,进行其他中断处理。
129.s6071、第一通信核判断中断信号是否为时钟处理数据。
130.若是,执行步骤s6081。若否,进行其他核间通信处理。
131.s6072、第二通信核判断中断信号是否为时钟处理数据。
132.若是,执行步骤s6082。若否,进行其他核间通信处理。
133.s6081、第一通信核从第二共享内存中读取第二数据。
134.s6082、第二通信核从第一共享内存中读取第一数据。
135.本技术提供的基于异构多个处理器的核间通信方法,第一通信核和第二通信核在一个震荡周期内能够完成数据的发送和接收,满足全双工通信要求。
136.图7示出了本技术一实施例提供的一种基于异构多核处理器的核间通信系统的组件图,如图7所示,本实施例的基于异构多核处理器的核间通信系统包括:第一通信核101、第二通信核102、第一共享内存201、第二共享内存202、邮箱处理控制单元301和时钟核401。
137.第一通信核101用于将第一数据写入第一共享内存201,第二通信核102用于将第二数据写入第二共享内存202。邮箱处理控制单元301用于在接收到时钟核401发送的时钟信号时,生成中断信号,将中断信号发送至第一通信核101和第二通信核102。第一通信核101用于在接收到中断信号时,从第二共享内存202中读取第二数据。第二通信核102用于在接收到中断信号时,从第一共享内存201中读取第一数据。
138.可选的,第一通信核101具体用于在接收到中断信号时,判断中断信号的中断源是否是所述邮箱处理控制单元301,若是,判断中断信号是否是时钟处理数据,若是,从第二共享内存202中读取第二数据。
139.第二通信核102具体用于在接收到中断信号时,判断中断信号的中断源是否是邮箱处理控制单元301,若是,判断中断信号是否是时钟处理数据,若是,从第一共享内存201中读取第一数据。
140.本技术提供的基于异构多核处理器的核间通信系统,第一通信核和第二通信核在接收到中断信号之前,分别将第一数据和第二数据写入第一共享内存和第二共享内存。第一通信核在接收到中断信号时,从第二共享内存中读取第二数据,第二通信核在接收到中断信号时,从第一共享内存中读取第一数据。第一通信核和第二通信核在一个震荡周期内能够完成数据的发送和接收,满足全双工通信要求。
141.图8示出了本技术实施例提供的一种电子设备的硬件结构示意图。如图8所示,该电子设备20,用于实现上述任一方法实施例中的操作,本实施例的电子设备20可以包括:存储器21,处理器22和通信接口23。
142.存储器21,用于存储计算机指令。该存储器21可能包含高速随机存取存储器(random access memory,ram),也可能还包括非易失性存储(non-volatile memory,nvm),例如至少一个磁盘存储器,还可以为u盘、移动硬盘、只读存储器、磁盘或光盘等。
143.处理器22,用于执行存储器存储的计算机指令,以实现上述实施例中的基于异构多核处理器的核间通信方法。具体可以参见前述方法实施例中的相关描述。该处理器22可以是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
144.可选地,存储器21既可以是独立的,也可以跟处理器22集成在一起。
145.通信接口23,可以与处理器22连接。处理器22可以控制通信接口23来实现信号的接收和发送的功能。
146.本实施例提供的电子设备可用于执行上述的基于异构多核处理器的核间通信方法,其实现方式和技术效果类似,本实施例此处不再赘述。
147.本技术还提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机指令,计算机指令被处理器执行时用于实现上述的各种实施方式提供的方法。
148.本技术还提供一种计算机程序产品,该计算机程序产品包括计算机指令,该计算机指令存储在计算机可读存储介质中。设备的至少一个处理器可以从计算机可读存储介质中读取该计算机指令,至少一个处理器执行该计算机指令使得设备实施上述的各种实施方式提供的方法。
149.本技术实施例还提供一种芯片,该芯片包括存储器和处理器,所述存储器用于存储计算机指令,所述处理器用于从所述存储器中调用并运行所述计算机指令,使得安装有所述芯片的设备执行如上各种可能的实施方式中所述的方法。
150.最后应说明的是:以上各实施例仅用以说明本技术的技术方案,而非对其限制。尽管参照前述各实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换。而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的范围。
技术特征:
1.一种基于异构多核处理器的核间通信方法,其特征在于,通信系统包括:第一通信核、第二通信核、第一共享内存、第二共享内存和邮箱处理控制单元,所述方法用于所述第二通信核,所述方法包括:将第二数据写入所述第二共享内存;接收到所述邮箱处理控制单元发送的中断信号时,从所述第一共享内存中读取第一数据;其中,所述中断信号是所述邮箱处理控制单元在接收到所述第一通信核发送的时钟信号时生成的,所述时钟信号是所述第一通信核将第一数据写入所述第一共享内存,并从所述第二共享内存中读取第二数据后,发送至所述邮箱处理控制单元的。2.根据权利要求1所述的方法,其特征在于,接收到所述邮箱处理控制单元发送的中断信号时,从所述第一共享内存中读取第一数据,具体包括:接收到所述邮箱处理控制单元发送的中断信号时,判断所述中断信号的中断源是否是所述邮箱处理控制单元,若是,判断所述中断信号是否是时钟处理数据,若是,从所述第一共享内存中读取所述第一数据。3.根据权利要求1或2所述的方法,其特征在于,所述将第二数据写入所述第二共享内存,具体包括:启动时钟信号监控程序后,将第二数据写入所述第二共享内存。4.一种基于异构多核处理器的核间通信方法,其特征在于,通信系统包括:第一通信核、第二通信核、第一共享内存、第二共享内存和邮箱处理控制单元,所述方法用于所述第一通信核,所述方法包括:将第一数据写入所述第一共享内存,从所述第二共享内存中读取第二数据,所述第二共享内存中的第二数据是所述第二通信核在接收到中断信号之前写入的;向所述邮箱处理控制单元发送时钟信号,所述邮箱处理控制单元用于在接收到所述时钟信号时生成所述中断信号,将所述中断信号发送至所述第二通信核,以使所述第二通信核在接收到所述中断信号时,从所述第一共享内存中读取第一数据。5.根据权利要求4所述的方法,其特征在于,所述将第一数据写入所述第一共享内存,从所述第二共享内存中读取第二数据,具体包括:运行时钟程序,在时钟计数满足时,触发时钟信号发送程序,将第一数据写入所述第一共享内存,从所述第二共享内存中读取第二数据;或,运行事件触发程序,在事件被唤起时,触发时钟信号发送程序,将第一数据写入所述第一共享内存,从所述第二共享内存中读取第二数据。6.一种基于异构多核处理器的核间通信系统,其特征在于,包括:第一通信核、第二通信核、第一共享内存、第二共享内存和邮箱处理控制单元;所述第二通信核用于将第二数据写入所述第二共享内存;所述第一通信核用于将第一数据写入所述第一共享内存,从所述第二共享内存中读取第二数据,并向所述邮箱处理控制单元发送时钟信号;所述邮箱处理控制单元用于在接收到所述时钟信号时生成中断信号,将所述中断信号发送至所述第二通信核;所述第二通信核还用于在接收到所述中断信号时,从所述第一共享内存中读取所述第
一数据。7.一种基于异构多核处理器的核间通信方法,其特征在于,通信系统包括:第一通信核、第二通信核、第一共享内存、第二共享内存、邮箱处理控制单元和时钟核,所述方法用于所述第一通信核,所述方法包括:将第一数据写入所述第一共享内存;接收到所述邮箱处理控制单元发送的中断信号时,从所述第二共享内存中读取第二数据;其中,所述中断信号是所述邮箱处理控制单元在接收到所述时钟核发送的时钟信号时周期性生成的,所述第二共享内存中的第二数据是所述第二通信核在接收到所述邮箱处理控制单元发送的所述中断信号之前写入的,所述第二通信核还用于在接收到所述邮箱处理控制单元发送的中断信号时,从所述第一共享内存中读取所述第一数据。8.根据权利要求7所述的方法,其特征在于,所述接收到所述邮箱处理控制单元发送的中断信号时,从所述第二共享内存中读取第二数据,具体包括:接收到所述邮箱处理控制单元发送的中断信号时,判断所述中断信号的中断源是否是所述邮箱处理控制单元,若是,判断所述中断信号是否是时钟处理数据,若是,从所述第二共享内存中读取第二数据。9.一种基于异构多核处理器的核间通信系统,其特征在于,包括:第一通信核、第二通信核、第一共享内存、第二共享内存、邮箱处理控制单元和时钟核;所述第一通信核用于将第一数据写入所述第一共享内存;所述第二通信核用于将第二数据写入所述第二共享内存;所述邮箱处理控制单元用于在接收到所述时钟核发送的时钟信号时,周期性生成中断信号,将所述中断信号发送至所述第一通信核和所述第二通信核;所述第一通信核还用于在接收到所述中断信号时,从所述第二共享内存中读取所述第二数据;所述第二通信核还用于在接收到所述中断信号时,从所述第一共享内存中读取所述第一数据。10.根据权利要求9所述的系统,其特征在于,所述第一通信核具体用于在接收到所述中断信号时,判断所述中断信号的中断源是否是所述邮箱处理控制单元,若是,判断所述中断信号是否是时钟处理数据,若是,从所述第二共享内存中读取所述第二数据;所述第二通信核具体用于在接收到所述中断信号时,判断所述中断信号的中断源是否是所述邮箱处理控制单元,若是,判断所述中断信号是否是时钟处理数据,若是,从所述第一共享内存中读取所述第一数据。
技术总结
本申请提供一种基于异构多核处理器的核间通信方法和系统,第二通信核将第二数据写入第二共享内存,并在接收到邮箱处理控制单元发送的中断信号时,从第一共享内存中读取第一数据,其中,中断信号是邮箱处理控制单元在接收到第一通信核发送的时钟信号后生成的,时钟信号是第一通信核将第一数据写入第一共享内存并从第二共享内存中读取第二数据后,发送至邮箱处理控制单元的。第一通信核能够在发送时钟信号之前,实现数据的收发,第二通信核能够在接收到中断信号之前,写入第二数据,并在接收到中断信号后,读取第一数据,完成数据的收发,因此通信核能够在一个时钟周期内,同步完成一次数据交互,满足全双工通信要求。满足全双工通信要求。满足全双工通信要求。
技术研发人员:刘少伟 李恒 刘力华
受保护的技术使用者:亿咖通(湖北)技术有限公司
技术研发日:2023.06.01
技术公布日:2023/8/21
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/
