CN112579323A - 一种异构多核的异步通信方法及装置 - Google Patents
一种异构多核的异步通信方法及装置 Download PDFInfo
- Publication number
- CN112579323A CN112579323A CN202011564294.2A CN202011564294A CN112579323A CN 112579323 A CN112579323 A CN 112579323A CN 202011564294 A CN202011564294 A CN 202011564294A CN 112579323 A CN112579323 A CN 112579323A
- Authority
- CN
- China
- Prior art keywords
- data
- communication
- communication terminal
- target data
- target
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
- G06F15/17306—Intercommunication techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5011—Pool
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明公开了一种异构多核的异步通信方法及装置,该方法通过将需要发送的数据自动存放在数据中转端的共享信息池中,并通过数据中转端将中断信号发送至需要该数据的至少一个通信端,以使得需要该数据的至少一个通信端在接收到中断信号后自动在该共享信息池中读取所需的数据,能够实现异构多核之间的通信,以及通过将需要该数据的至少一个通信端对应的标识信息一并存放于共享消息池中,以便于需要该数据的至少一个通信端根据该标识信息读取所需的数据,能够实现异构多核之间的高效协同通讯,以及能够提高共享消息池的资源利用率,以及有利于在不增加硬件成本的情况下,根据需求增加通信端的数量,以便于实现更多异构多核之间的通信。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种异构多核的异步通信方法及装置。
背景技术
随着智能物联网技术的快速发展,“云管端”的生态结构中“管”会得到直接增强,数据的传输延迟变小、吞吐量变大,从而带来另一个变化是,端侧(应用端的简称)的算法持续在丰富和优化,复杂算法不断前移,相应的硬件层面算力也在向端侧移动,而端侧要满足不同应用的算力需求,其SoC(片上系统)架构必须要考虑异构多核之间的高效协同。
然而,目前大部分的多核处理器间的通信及数据交互方式一般为:采用主CPU运行操作系统,负责总调度,而异构从CPU则一般是直接运行工程程度,且在通信交互的过程中,仅支持一个主CPU与一个从CPU,即仅支持一对一的通信方式,无法实现一对多的高效协同通讯,即无法实现异构多核之间的高效协同通讯。
发明内容
本发明所要解决的技术问题在于,提供一种异构多核的异步通信方法及装置,能够实现异构多核之间的高效协同通讯。
为了解决上述技术问题,本发明实施例第一方面公开了一种异构多核的异步通信方法,所述方法包括:
当确定需要存放数据时,第一通信端将需要发送的目标数据存放于数据中转端的共享消息池,所述目标数据包括需要接收所述目标数据的第二通信端对应的标识信息和需要所述第二通信端接收的其他数据;
在所述目标数据存放于所述共享消息池之后,所述第一通信端通过所述数据中转端向除所述第一通信端之外的通信端发送中断信号,除所述第一通信端之外的通信端包括所述第二通信端,且所述第二通信端的数量大于等于1;
其中,所述中断信号用于提示每个所述第二通信端根据所述目标数据包括的所述标识信息从所述共享消息池中读取所述目标数据包括的所述其他数据。
本发明实施例第二方面公开了一种异构多核的异步通信装置,所述装置应用于第一通信端中,且所述装置包括:
存放模块,用于当确定需要存放数据时,将需要发送的目标数据存放于数据中转端的共享消息池,所述目标数据包括需要接收所述目标数据的第二通信端对应的标识信息和需要所述第二通信端接收的其他数据;
发送模块,用于在所述目标数据存放于所述共享消息池之后,通过所述数据中转端向除所述第一通信端之外的通信端发送中断信号,除所述第一通信端之外的通信端包括所述第二通信端,且所述第二通信端的数量大于等于1;
其中,所述中断信号用于提示每个所述第二通信端根据所述目标数据包括的所述标识信息从所述共享消息池中读取所述目标数据包括的所述其他数据。
本发明实施例第三方面公开了一种异构多核的异步通信方法,所述方法包括:
第二通信端接收第一通信端通过数据中转端发送的中断信号,所述数据中转端的共享消息池中存放有所述第一通信端需要发送给所述第二通信端的目标数据,所述目标数据包括所述第二通信端对应的标识信息和需要所述第二通信端接收的其他数据,且所述中断信号用于提示所述第二通信端根据所述目标数据包括的所述标识信息从所述共享消息池中读取所述目标数据包括的所述其他数据;
所述第二通信端根据所述目标数据包括的所述标识信息从所述共享消息池中读取所述目标数据包括的所述其他数据。
本发明实施例第四方面公开了一种异构多核的异步通信装置,所述装置应用于第二通信端中,且所述装置包括:
接收模块,用于接收第一通信端通过数据中转端发送的中断信号,所述数据中转端的共享消息池中存放有所述第一通信端需要发送给所述第二通信端的目标数据,所述目标数据包括所述第二通信端对应的标识信息和需要所述第二通信端接收的其他数据,且所述中断信号用于提示所述第二通信端根据所述目标数据包括的所述标识信息从所述共享消息池中读取所述目标数据包括的所述其他数据;
读取模块,用于根据所述目标数据包括的所述标识信息从所述共享消息池中读取所述目标数据包括的所述其他数据。
本发明第五方面公开了一种异构多核的异步通信方法,所述方法包括:
当确定需要存放数据时,第一通信端将需要发送的目标数据存放于数据中转端的共享消息池,所述目标数据包括需要接收所述目标数据的第二通信端对应的标识信息和需要所述第二通信端接收的其他数据;
在检测到所述目标数据存放于所述共享消息池之后,所述数据中转端向除所述第一通信端之外的通信端发送中断信号,除所述第一通信端之外的通信端包括所述第二通信端,且所述第二通信端的数量大于等于1;
针对每一所述第二通信端,所述第二通信端接收所述数据中转端发送的所述中断信号,所述中断信号用于提示所述第二通信端根据所述目标数据包括的所述标识信息从所述共享消息池中读取所述目标数据包括的所述其他数据,并根据所述目标数据包括的所述标识信息从所述共享消息池中读取所述目标数据包括的所述其他数据。
本发明第六方面公开了一种异构多核的异步通信装置,所述装置包括:
第一通信端,用于当确定需要存放数据时,将需要发送的目标数据存放于数据中转端的共享消息池,所述目标数据包括需要接收所述目标数据的第二通信端对应的标识信息和需要所述第二通信端接收的其他数据;
所述数据中转端,用于在所述第一通信端检测到所述目标数据存放于所述共享消息池之后,向除所述第一通信端之外的通信端发送中断信号,除所述第一通信端之外的通信端包括所述第二通信端,且所述第二通信端的数量大于等于1;
每个所述第二通信端,用于接收所述数据中转端发送的所述中断信号,所述中断信号用于提示所述第二通信端根据所述目标数据包括的所述标识信息从所述共享消息池中读取所述目标数据包括的所述其他数据,并根据所述目标数据包括的所述标识信息从所述共享消息池中读取所述目标数据包括的所述其他数据。
本发明第七方面公开了一种异构多核的异步通信方法,所述方法包括:
当确定需要存放数据时,第一通信端将需要发送的目标数据存放于数据中转端的共享消息池,所述目标数据包括需要接收所述目标数据的第二通信端对应的标识信息和需要所述第二通信端接收的其他数据;
在所述目标数据存放于所述共享消息池之后,所述第一通信端通过所述数据中转端向除所述第一通信端之外的通信端发送中断信号,除所述第一通信端之外的通信端包括所述第二通信端,且所述第二通信端的数量大于等于1,所述中断信号用于提示每个所述第二通信端根据所述目标数据包括的所述标识信息从所述共享消息池中读取所述目标数据包括的所述其他数据;
每个所述第二通信端接收所述第一通信端通过所述数据中转端发送的所述中断信号,并根据所述目标数据包括的所述标识信息从所述共享消息池中读取所述目标数据包括的所述其他数据。
本发明第八方面公开了一种异构多核的异步通信装置,所述装置包括:
第一通信端,用于当确定需要存放数据时,将需要发送的目标数据存放于数据中转端的共享消息池,所述目标数据包括需要接收所述目标数据的第二通信端对应的标识信息和需要所述第二通信端接收的其他数据;
所述第一通信端,还用于在所述目标数据存放于所述共享消息池之后,通过所述数据中转端向除所述第一通信端之外的通信端发送中断信号,除所述第一通信端之外的通信端包括所述第二通信端,且所述第二通信端的数量大于等于1,所述中断信号用于提示每个所述第二通信端根据所述目标数据包括的所述标识信息从所述共享消息池中读取所述目标数据包括的所述其他数据;
每个所述第二通信端,用于接收所述第一通信端通过所述数据中转端发送的所述中断信号,并根据所述目标数据包括的所述标识信息从所述共享消息池中读取所述目标数据包括的所述其他数据。
与现有技术相比,本发明实施例具有以下有益效果:
本发明实施例中,公开了一种异构多核的异步通信方法及装置,该方法包括:当确定需要存放数据时,第一通信端将需要发送的目标数据存放于数据中转端的共享消息池,该目标数据包括需要接收目标数据的第二通信端对应的标识信息和需要第二通信端接收的其他数据;在目标数据存放于共享消息池之后,第一通信端通过数据中转端向除第一通信端之外的通信端发送中断信号,除第一通信端之外的通信端包括第二通信端,且第二通信端的数量大于等于1;其中,该中断信号用于提示每个第二通信端根据目标数据包括的标识信息从共享消息池中读取目标数据包括的其他数据。可见,本发明实施例通过将需要发送的数据自动存放在数据中转端的共享信息池中,并通过数据中转端将中断信号发送至需要该数据的至少一个通信端,以使得需要该数据的至少一个通信端在接收到中断信号后自动在该共享信息池中读取所需的数据,能够实现异构多核之间的通信,以及通过将需要该数据的至少一个通信端对应的标识信息一并存放于共享消息池中,以便于需要该数据的至少一个通信端根据该标识信息读取所需的数据,能够实现异构多核之间的高效协同通讯,以及能够提高共享消息池的资源利用率,以及有利于在不增加硬件成本的情况下,根据需求增加通信端的数量,以便于实现更多异构多核之间的通信。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例公开的一种场景架构的架构示意图;
图2是本发明实施例公开的一种异构多核的异步通信方法的流程示意图;
图3是本发明实施例公开的另一种异构多核的异步通信方法的流程示意图;
图4是本发明实施例公开的又一种异构多核的异步通信方法的流程示意图;
图5是本发明实施例公开的又一种异构多核的异步通信方法的流程示意图;
图6是本发明实施例公开的又一种异构多核的异步通信方法的流程示意图;
图7是本发明实施例公开的一种异构多核的异步通信装置的结构示意图;
图8是本发明实施例公开的另一种异构多核的异步通信装置的结构示意图;
图9是本发明实施例公开的又一种异构多核的异步通信装置的结构示意图;
图10是本发明实施例公开的又一种异构多核的异步通信装置的结构示意图;
图11是本发明实施例公开的又一种异构多核的异步通信装置的结构示意图;
图12是本发明实施例公开的又一种异构多核的异步通信装置的结构示意图;
图13是本发明实施例公开的又一种异构多核的异步通信装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、装置、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本发明的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
本发明公开了一种异构多核的异步通信方法及装置,能够通过将需要发送的数据自动存放在数据中转端的共享信息池中,并通过数据中转端将中断信号发送至需要该数据的至少一个通信端,以使得需要该数据的至少一个通信端在接收到中断信号后自动在该共享信息池中读取所需的数据,能够实现异构多核之间的通信,以及通过将需要该数据的至少一个通信端对应的标识信息一并存放于共享消息池中,以便于需要该数据的至少一个通信端根据该标识信息读取所需的数据,能够实现异构多核之间的高效协同通讯,以及能够提高共享消息池的资源利用率,以及有利于在不增加硬件成本的情况下,根据需求增加通信端的数量,以便于实现更多异构多核之间的通信。以下分别进行详细说明。
为了更好的理解本发明所描述的一种异构多核的异步通信方法及装置,首先对异构多核的异步通信方法对应的场景架构(也即异构多核的异步通信的系统架构)加以描述,具体的,该场景架构可以如图1所示,图1是本发明实施例公开的一种场景架构的架构示意图。如图1所示,该场景架构可以包括数据中转端、至少一个第一通信端(图1中以至少四个进行示例)、至少一个第二通信端(图1中以至少四个进行示例),其中,数据中转端(例如:具有存储功能的端,如:邮箱)包括共享消息池、中断控制器以及锁,其中,该共享消息池可以为虚拟共享消息池和/或实体共享消息池,其中,实体共享消息池包括但不限于REGISTER寄存器、SRAM寄存器以及DRAM寄存器中的任意一种。其中,中断控制器包括配置寄存器、驱动寄存器、状态寄存器以及使能寄存器。其中,每个通信端均存在唯一对应的驱动寄存器。其中,该场景架构适用于任何需要进行多核异构的异步通信的场景中。其中,根据不同需求,所有第一通信端和所有第二通信端既可以是通信发送端(也称数据存放端),也可以是通信接收端(也称数据读取端),但同一时刻不能即是通信发送端又是通信接收端。且所有第一通信端以及所有第二通信端均为带操作系统的通信端。其中:
共享消息池用于存放通信发送端需要发送的数据且用于供需要数据的通信接收端从共享消息池中读取所需的数据;配置寄存器用于配置一对一通信或者一对多通信,例如:一个第一通信端与一个第二通信端通信,或者,一个第一通信端与多个第二通信端通信,当为一个第一通信端与一个第二通信端通信时,将第二通信端唯一对应的标识信息写入配置寄存器中,当为一个第一通信端与多个第二通信端通信时,将确定出的标识信息(例如:0xFF)写入配置寄存器中;状态寄存器用于当通信发送端将需要发送的数据存放于共享消息池后存储数据所存放的位置标识(也即数据在共享消息池中的位置),其中,当数据写入数据结构体之后,该位置标识也称为数据结构体唯一对应的标识;驱动寄存器用于当通信发送端将需要发送的数据存放于共享消息池后产生中断信号;使能寄存器用于当需要发送的数据存放于共享消息池且中断信号产生后通过改变其使能位告知或者不告知通信接收端;锁用于当需要发送的数据存放于共享消息池之后将数据所存放位置的锁的空闲状态切换为占用状态,当数据写入数据结构体之后,该数据所存放位置的锁也称为数据结构体唯一对应的锁,每个数据结构体均存在唯一对应的锁。
以上对异构多核的异步通信方法所适用的场景架构做了描述,下面对异构多核的异步通信方法及装置进行详细的描述。
实施例一
请参阅图2,图2是本发明实施例公开的一种异构多核的异步通信方法的流程示意图。如图2所示,该异构多核的异步通信方法可以包括以下操作:
101、当确定需要存放数据时,第一通信端将需要发送的目标数据存放于数据中转端的共享消息池,该目标数据包括需要接收目标数据的第二通信端对应的标识信息和需要第二通信端接收的其他数据。
本发明实施例中,可选的,当检测到需要和第二通信端进行通讯时,表示确定需要存放数据;当检测到需要将数据暂存在数据中转端的共享消息池时,表示确定需要存放数据。
本发明实施例中,其他数据为任意需要发送的数据,本发明实施例不做限定。
本发明实施例中,目标数据的第二通信端对应的标识信息包括第二通信端唯一对应的标识(例如:第二通信端的ID)和/或确定出的广播标识(例如:0xFF),其中,需要说明的是,当第二通信端的数量为1时,目标数据的第二通信端对应的标识信息优先选择第二通信端唯一对应的标识;当第二通信端的数量为1时,目标数据的第二通信端对应的标识信息优先选择确定出的广播标识。
102、在目标数据存放于共享消息池之后,第一通信端通过数据中转端向除第一通信端之外的通信端发送中断信号。
本发明实施例中,其中,中断信号用于提示每个第二通信端根据目标数据包括的标识信息从共享消息池中读取目标数据包括的其他数据。其中,除第一通信端之外的通信端包括第二通信端,且第二通信端的数量大于等于1。
本发明实施例中,可选的,第一通信端通过数据中转端向除第一通信端之外的通信端发送中断信号,可以理解为:第一通信端可以直接向第二通信端发送中断信号,通知第二通信端第一通信端已经将目标数据存放至数据中转端的共享消息池中,第二通信端可以去数据中转端的共享消息池中获取目标数据;或者,第一通信端产生中断信号并该将中断信号发送至数据中转端,再由数据中转端将该中断信号发送至除第一通信端之外的通信端,通知除第一通信端之外的通信端第一通信端已经将目标数据存放至数据中转端的共享消息池中,第一通信端之外的通信端可以去数据中转端的共享消息池中获取目标数据;或者,数据中转端检测到目标数据已经存放至共享消息池后,数据中转端自己产生中断信号,并将该中断信号发送至除第一通信端之外的通信端,通知除第一通信端之外的通信端第一通信端已经将目标数据存放至数据中转端的共享消息池中,除第一通信端之外的通信端可以去数据中转端的共享消息池中获取目标数据。
本发明实施例中,进一步可选的,在执行步骤102之前,第一通信端在数据中转端的配置寄存地址(例如:配置寄存器或者虚拟配置寄存地址)中写入第二通信端对应的标识信息。举例来说,当需要将目标数据发送至一个第二通信端时,将该第一通信端的ID写入数据中转端的配置寄存地址中,以实现一对一的高效通讯;当需要将目标数据发送至多个第二通信端时,可以将所有第一通信端的ID写入数据中转端的配置寄存地址中,或者,将特定字符0xFF写入数据中转端的配置寄存地址中。这样当某个通信端需要将数据发送给多个其他通信端时,不需要进行多次一对一的通信,而是一步到位地和多个其他通信端通讯,实现了一对多的广播高效通讯。
本发明实施例中,在目标数据存放于共享消息池之后,进一步可选的,第一通信端对应的驱动寄存器转换到打开状态,并通过其对应的使能寄存器启动,以及通过数据中转端向除第一通信端之外的通信端发送中断信号。这样通过控制驱动寄存器以及使能寄存器启动,有利于确保目标数据顺利发送至其他通信端。
可见,实施图1所描述的异构多核的异步通信方法通过将需要发送的数据自动存放在数据中转端的共享信息池中,并通过数据中转端将中断信号发送至需要该数据的至少一个通信端,以使得需要该数据的至少一个通信端在接收到中断信号后自动在该共享信息池中读取所需的数据,能够实现异构多核之间的通信,以及通过将需要该数据的至少一个通信端对应的标识信息一并存放于共享消息池中,以便于需要该数据的至少一个通信端根据该标识信息读取所需的数据,能够实现异构多核之间的高效协同通讯,以及能够提高共享消息池的资源利用率,以及有利于在不增加硬件成本的情况下,根据需求增加通信端的数量,以便于实现更多异构多核之间的通信。
在一个可选的实施例中,第一通信端将需要发送的目标数据存放于数据中转端的共享消息池,包括:
第一通信端从数据中转端的共享消息池中获取处于空闲状态的数据结构体,并按照确定出的数据写入方式将需要发送的目标数据写入数据结构体中,得到目标数据结构体;
第一通信端将目标数据结构体存储于共享消息池。
该可选的实施例中,可选的,数据中转端的共享消息池用于存储至少一个数据结构体。进一步可选的,共享消息池可以包括多个子共享消息池,其中,每个子共享消息池用于存储至少一个数据结构体。又进一步可选的,每个子共享消息池均存在唯一对应的标识,例如:编号。又进一步可选的,所有子共享消息池可以以行排列方式或者列排列方式或者其他排列方式中的任意一种排列方式进行排列,本发明实施例不做限定。又进一步可选的,共享消息池中的子共享消息池的数量可以为n倍通信端的数量,其中,n大于等于1,优先n=2。这样通过将子共享消息池的数量设置为n倍通信端的数量,能够为通信端提供足够的存储空间。
该可选的实施例中,可选的,每个数据结构体存在对应的报文结构,且每个数据结构体对应的报文结构可以是固定的,也可以是根据具体需要进行自定义的。其中,每个数据结构体对应的报文结构中包括的内容至少包括通信接收端对应的标识信息以及该数据结构体的数据有效位的状态,其中,每个数据结构体的数据有效位的状态用于表示该数据结构体的当前状态处于占用状态或者空闲状态。进一步可选的,每个数据结构体对应的报文结构中包括的内容还包括通信发送端对应的标识信息。又进一步的可选的,每个数据结构体对应的报文结构中包括的内容还包括该数据结构体的可访问次数,尤其对于多个通信接收端时,每当检测到一个通信接收端读取一次数据结构体中的数据,则表示该数据结构体的可访问次数递减1,这样能够准确知晓一对多通讯情况。又进一步可选的,每个数据结构体对应的报文结构中包括的内容还包括该数据结构体的数据类型、会话标识以及其他数据信息,其中,每个数据结构体的数据类型用于确定当通信接收端读取该数据结构体的数据时,给通信发送端反馈用于表示所读取的数据确认无误。这样通过自定义数据结构体对应的报文结构,有利于适应复杂的应用场景。
可见,该可选的实施例在确定需要存放数据时,通过将所需存放的数据写入数据中转端的共享消息池中处于空闲状态的数据结构体,能够实现将数据存放在数据中转端的共享消息池,以及通过按照对应的报文结构将数据写入数据结构体中,能够提高数据写入的准确性以及效率,从而有利于提高一对多的数据通讯的高效协同性。
该可选的实施例中,进一步可选的,数据中转端的共享消息池中所存储的数据结构体的类型包括至少一个数据结构体类型,其中,每个数据结构体类型包括至少一个数据结构体。可选的,第一通信端从数据中转端的共享消息池中获取处于空闲状态的数据结构体,包括:
第一通信端根据目标数据包括的内容从数据中转端的共享消息池中确定与目标数据的内容匹配的数据结构体类型,并从与目标数据的内容匹配的数据结构体类型包括的所有数据结构体中获取处于空闲状态的数据结构体;或者,
第一通信端根据目标数据包括的内容从数据中转端的共享消息池中确定任意一个处于空闲状态的数据结构体。
可见,该可选的实施例还能够确定与所存放的数据匹配的且处于空闲状态的数据结构体,或者确定任意一个处于空闲状态的数据结构体,能够实现所需数据结构体的确定,丰富了所需数据结构体的确定方式,提高了所需数据结构体的确定可能性;以及确定与所存放的数据匹配的且处于空闲状态的数据结构体,能够提高所需数据结构体的确定准确性以及效率,从而提高数据的存放准确性以及效率,进而有利于提高通信接收端读取到所需数据的准确性以及效率,进一步提高一对多的异构多核之间通信的协同性。
需要说明的是,第一通信端从与目标数据的内容匹配的数据结构体类型包括的所有数据结构体中获取处于空闲状态的数据结构体,或者,第一通信端根据目标数据包括的内容从数据中转端的共享消息池中确定任意一个处于空闲状态的数据结构体的具体内容可以参考下一个实施例的具体描述,在此不再赘述。
在另一个可选的实施例中,第一通信端从数据中转端中获取处于空闲状态的数据结构体,包括:
第一通信端从数据中转端的共享消息池中获取处于空闲状态的目标锁;
第一通信端根据确定出的锁-数据结构体的对应关系在共享消息池的所有数据结构体中查询目标锁对应的数据结构体,并确定目标锁对应的数据结构体作为处于空闲状态的数据结构体。
该可选的实施例中,可选的,每个数据结构体均存在唯一对应的锁,且每个数据结构体与该数据结构体唯一对应的锁预先建立对应关系。其中,所有锁之间相互互斥,也即每个锁之间相互不干扰。
可见,该可选的实施例通过根据锁-数据结构体的对应关系将处于空闲状态的锁对应的数据结构体确定为处于空闲状态的数据结构体,能够实现所需数据结构体的确定,以及提高所需数据结构体的确定准确性以及效率,从而提高数据的存放准确性以及效率;以及为每个数据结构体设置唯一对应的锁,以便于通信端通过锁来实现直接单独访问数据结构体,减少数据结构体被错用而导致数据被擦除或者存放混乱的发生情况,以及进一步提高了数据的存放准确性、可靠性以及灵活性;以及通过充分利用每个数据结构体的资源,也即充分利用共享消息池的资源,能够减少现有的因为通信端之间的交互频繁程度有差异而导致通信信道有些是空闲的有些是超负荷的发生情况,提高了共享消息池的资源利用率,以及进一步提高了多个通信端之间的通讯协同性以及效率。
在又一个可选的实施例中,第一通信端根据确定出的锁-数据结构体的对应关系在共享消息池的所有数据结构体中查询目标锁对应的数据结构体之后,以及第一通信端确定目标锁对应的数据结构体作为处于空闲状态的数据结构体之前,该方法还可以包括以下步骤:
第一通信端获取目标锁对应的数据结构体的数据有效位,并判断数据有效位是否用于表示目标锁对应的数据结构体处于空闲状态;
当判断出数据有效位用于表示目标锁对应的数据结构体处于空闲状态时,第一通信端触发执行上述的确定目标锁对应的数据结构体作为处于空闲状态的数据结构体的操作。
该可选的实施例中,可选的,当根据数据有效位判断出目标锁对应的数据结构体不处于空闲状态时,重新执行上述的从数据中转端的共享消息池中获取处于空闲状态的数据结构体的操作。此时,数据中转端的共享消息池中的数据结构体不包括上一次根据数据有效位判断出目标锁对应的数据结构体不处于空闲状态的数据结构体。
可见,该可选的实施例在查询到目标锁对应的数据结构体之后,进一步判断数据有效位是否用于表示目标锁对应的数据结构体处于空闲状态,若是,则继续执行后续的操作,能够提高后续操作的执行准确性以及可靠性。
实施例二
请参阅图3,图3是本发明实施例公开的另一种异构多核的异步通信方法的流程示意图。如图3所示,该异构多核的异步通信方法可以包括以下操作:
201、当确定需要存放数据时,第一通信端将需要发送的目标数据存放于数据中转端的共享消息池,该目标数据包括需要接收目标数据的第二通信端对应的标识信息和需要第二通信端接收的其他数据。
202、在目标数据存放于共享消息池之后,第一通信端在数据中转端的所有状态寄存地址中确定与每个第二通信端匹配的目标状态寄存地址。
本发明实施例中,数据中转端的所有状态寄存地址包括虚拟状态寄存地址和/或实体状态寄存地址,例如:status寄存器。其中,每个通信端均存在对应的状态寄存地址。
203、第一通信端将目标数据唯一对应的标识信息写入每个目标状态寄存地址中。
本发明实施例中,可选的,目标数据唯一对应的标识信息可以包括每个第二通信端唯一对应的标识和/或确定出的广播标识。进一步可选的,当目标数据存放于空闲状态的数据结构体,得到目标数据结构体之后,目标数据唯一对应的标识信息可以包括目标数据结构体唯一对应的标识,其中,目标数据结构体唯一对应的标识为目标数据结构体所在子共享消息池均存在唯一对应的标识。这样提供多种目标数据唯一对应的标识信息,有利于提高第二通信端读取到目标数据的准确性以及效率,也即提高第一通信端与每个第二通信端之间的通讯协同性、准确性以及效率。
204、第一通信端通过数据中转端向除第一通信端之外的通信端发送中断信号。
本发明实施例中,针对步骤201、步骤204的相关描述请参照实施例一中针对步骤101-步骤102的详细描述,本发明实施例不再赘述。
可见,本发明实施例在数据存放于共享消息池之后,进一步先将数据唯一对应的标识信息存放在与通信接收端匹配的状态寄存地址中,以便于通信接收端从其匹配的状态寄存地址中获取数据唯一对应的标识信息,进而读取数据,能够提高数据的读取准确性以及效率,也即提高通信发送端与每个通信接收端之间的通讯协同性、准确性以及效率。
在一个可选的实施例中,第一通信端将需要发送的目标数据存放于数据中转端的共享消息池之后,该异构多核的异步通信方法可以包括以下操作:
第一通信端将目标数据所在的目标数据结构体的目标锁的空闲状态切换为占用状态。
进一步的,第一通信端将目标数据唯一对应的标识信息写入每个目标状态寄存地址中之后,该异构多核的异步通信方法可以包括以下操作:
第一通信端将目标数据结构体的目标锁的占用状态切换为空闲状态。
可见,该可选的实施例在数据存放于共享消息池之后,进一步将数据所在的数据结构体的锁的空闲状态切换为占用状态,能够减少数据结构体中的数据被擦除或者发生错误的发生情况,对数据进行保护;当将数据唯一对应的标识信息写入态寄存地址之后,进一步将数据所在的数据结构体的锁的占用状态切换为空闲状态,便于通信接收端获取数据结构体中的数据。
在另一个可选的实施例中,第一通信端将目标数据结构体的目标锁的占用状态切换为空闲状态之后,该异构多核的异步通信方法可以包括以下操作:
第一通信端在数据中转端的配置寄存地址中写入第二通信端对应的标识信息,并触发执行上述的第一通信端通过数据中转端向除第一通信端之外的通信端发送中断信号的操作。其中,配置寄存地址包括实体配置寄存地址(例如:配置寄存器)和/或虚拟配置寄存地址。
举例来说,当需要将目标数据发送至一个第二通信端时,将该第一通信端的ID写入数据中转端的配置寄存地址中,以实现一对一的高效通讯;当需要将目标数据发送至多个第二通信端时,可以将所有第一通信端的ID写入数据中转端的配置寄存地址中,或者,将特定字符0xFF写入数据中转端的配置寄存地址中。通过这样当某个通信端需要将数据发送给多个其他通信端时,不需要进行多次一对一的通信,而是一步到位地和多个其他通信端通讯,实现了一对多的广播高效通讯。
可见,该可选的实施例在将数据所在的数据结构体的锁的占用状态切换为空闲状态之后,进一步在数据中转端的配置寄存地址中写入通信接收端对应的标识信息,以便于对应的通信接收端接收数据,提高数据的传输准确性以及效率,从而提供通信端之间的通信协同性、准确性以及效率。
可见,实施图3所描述的异构多核的异步通信方法能够通过将需要发送的数据自动存放在数据中转端的共享信息池中,并通过数据中转端将中断信号发送至需要该数据的至少一个通信端,以使得需要该数据的至少一个通信端在接收到中断信号后自动在该共享信息池中读取所需的数据,能够实现异构多核之间的通信,以及通过将需要该数据的至少一个通信端对应的标识信息一并存放于共享消息池中,以便于需要该数据的至少一个通信端根据该标识信息读取所需的数据,能够实现异构多核之间的高效协同通讯,以及能够提高共享消息池的资源利用率,以及有利于在不增加硬件成本的情况下,根据需求增加通信端的数量,以便于实现更多异构多核之间的通信;还能够提高数据的读取准确性以及效率,也即提高通信发送端与每个通信接收端之间的通讯协同性、准确性以及效率。
实施例三
请参阅图4,图4是本发明实施例公开的一种异构多核的异步通信方法的流程示意图。如图4所示,该异构多核的异步通信方法可以包括以下操作:
301、第二通信端接收第一通信端通过数据中转端发送的中断信号,该中断信号用于提示第二通信端根据目标数据包括的标识信息从共享消息池中读取目标数据包括的其他数据。
本发明实施例中,该数据中转端的共享消息池中存放有第一通信端需要发送给第二通信端的目标数据,该目标数据包括第二通信端对应的标识信息和需要第二通信端接收的其他数据。其中,针对目标数据的有关描述请参阅实施例一中的相关描述,在此不再赘述。
需要说明的是,第二通信端接收第一通信端通过数据中转端发送的中断信号,可以理解为:第二通信端直接与第一通信端通信,接收第一通信端发送的中断信号;或者,第一通信端产生中断信号并该将中断信号发送至数据中转端,再由数据中转端将该中断信号发送至除第一通信端之外的通信端,通知除第一通信端之外的通信端第一通信端已经将目标数据存放至数据中转端的共享消息池中,第一通信端之外的通信端可以去数据中转端的共享消息池中获取目标数据;或者,数据中转端检测到目标数据已经存放至共享消息池后,数据中转端自己产生中断信号,并将该中断信号发送至除第一通信端之外的通信端,通知除第一通信端之外的通信端第一通信端已经将目标数据存放至数据中转端的共享消息池中,除第一通信端之外的通信端可以去数据中转端的共享消息池中获取目标数据;或者,第二通信端主动访问数据中转端,数据中转端接收到第二通信端的访问后,向第二通信端发送的中断信号。其中,除第一通信端之外的通信端包括多个第二通信端。每个第二通信端均执行本发明实施例中的步骤。
302、第二通信端根据目标数据包括的标识信息从共享消息池中读取目标数据包括的其他数据。
可见,实施图4所描述的异构多核的异步通信方法能够在接收到中断信号之后,通过在数据中转端的共享信息池中读取所需的数据,能够实现异构多核之间的通信,以及通过将至少一个通信接收端对应的标识信息一并存放于共享消息池中,能够提高共享消息池的资源利用率,以及有利于在不增加硬件成本的情况下,根据需求增加通信端的数量,以便于实现更多异构多核之间的通信。
在一个可选的实施例中,第二通信端根据目标数据包括的标识信息从共享消息池中读取目标数据包括的其他数据,包括:
第二通信端判断第二通信端的目标状态寄存地址中是否存放有目标数据唯一对应的标识信息,该目标状态寄存地址存放在数据中转端中;
当判断出目标状态寄存地址存放有目标数据唯一对应的标识信息时,第二通信端从目标状态寄存地址中读取目标数据唯一对应的标识信息,并根据目标数据唯一对应的标识信息在共享消息池中读取目标数据包括的其他数据。
该可选的实施例中,针对目标数据唯一对应的标识信息的描述请参阅上述实施例二中的相关描述,在此不再赘述。
可见,该可选的实施例在接收到中断信号之后,进一步通过判断所在的状态寄存地址是否存放有数据唯一对应的标识信息,若存在,直接根据数据唯一对应的标识信息在共享消息池读取数据,能够提高数据的读取准确性以及效率,也即提高通信发送端与每个通信接收端之间的通讯协同性、准确性以及效率。
在另一个可选的实施例中,该异构多核的异步通信方法可以包括以下操作:
当判断出目标状态寄存地址未存放有目标数据唯一对应的标识信息时,第二通信端根据目标数据包括的标识信息遍历共享消息池中的所有数据,直至遍历到目标数据包括的其他数据。
该可选的实施例中,需要说明的是,在接收到中断信号之后,也可以直接根据中断信号包括的目标数据包括的标识信息,从共享消息池中读取数据。
可见,该可选的实施例在判断出通信接收端所在的状态寄存地址未存放有数据唯一对应的标识信息时,进一步根据中断信号包括的目标数据包括的标识信息,从共享消息池中读取数据,能够实现数据的读取,以及丰富了数据的读取方式,也即实现多个通信端之间通讯的高效协同性。
在又一个可选的实施例中,第二通信端从目标状态寄存地址中读取目标数据唯一对应的标识信息之后,以及第二通信端根据目标数据唯一对应的标识信息在共享消息池中读取目标数据包括的其他数据之前,该异构多核的异步通信方法可以包括以下操作:
第二通信端根据目标数据唯一对应的标识信息判断目标数据所在数据结构体中的数据有效位是否用于表示目标数据为有效数据;
当判断出数据有效位用于表示目标数据为有效数据时,第二通信端触发执行上述的根据目标数据唯一对应的标识信息在共享消息池中读取目标数据包括的其他数据的操作。
该可选的实施例中,可选的,当判断出数据有效位用于表示目标数据为无效数据时,第二通信端结束本次流程,或者,通过数据中转端向第一通信端反馈数据无效的提示,或者重新执行上述的根据目标数据包括的标识信息从共享消息池中读取目标数据包括的其他数据的操作。
可见,该可选的实施例在读取到数据唯一对应的标识信息之后,进一步根据该标识信息判断数据所在数据结构体中的数据有效位是否用于表示数据为有效数据,若是,则触发执行后续的根据数据唯一对应的标识信息读取数据的操作,能够减少读取到被篡改的数据的发生情况,提高数据读取到有效数据的准确性以及可靠性,实现多个通信端之间通讯的高效协同性。
在又一个可选的实施例中,第二通信端从目标状态寄存地址中读取目标数据唯一对应的标识信息之后,第二通信端根据目标数据唯一对应的标识信息判断目标数据所在数据结构体中的数据有效位是否用于表示目标数据为有效数据之前,该异构多核的异步通信方法可以包括以下操作:
第二通信端根据目标数据唯一对应的标识信息获取目标数据所在目标数据结构体的目标锁,并将该目标锁的空闲状态切换为占用状态,以及触发执行上述的根据目标数据唯一对应的标识信息判断目标数据所在数据结构体中的数据有效位是否用于表示目标数据为有效数据的操作。
该可选的实施例中,针对目标锁的详细描述请参阅上述实施例一、二的有关描述,在此不再赘述。
可见,该可选的实施例通在获取到数据唯一对应的标识信息之后,进一步将数据所在数据结构体的锁的空闲状态切换为占用状态,再执行后续的判断数据所在数据结构体中的数据有效位是否用于表示该数据为有效数据的操作,能够减少在判断数据是否为有效数据的过程中被其他数据干扰的发生情况,尤其当接收多个通信发送端发来的数据时,提高数据是否为有效数据的判断稳定性以及准确性。
实施例四
请参阅图5,图5是本发明实施例公开的另一种异构多核的异步通信方法的流程示意图。如图5所示,该异构多核的异步通信方法可以包括以下操作:
401、第二通信端接收第一通信端通过数据中转端发送的中断信号,该中断信号用于提示第二通信端根据目标数据包括的标识信息从共享消息池中读取目标数据包括的其他数据。
本发明实施例中,该数据中转端的共享消息池中存放有第一通信端需要发送给第二通信端的目标数据,该目标数据包括第二通信端对应的标识信息和需要第二通信端接收的其他数据。
402、第二通信端判断第二通信端的当前状态是否处于空闲状态,当判断出第二通信端的当前状态未处于空闲状态时,可以触发执行步骤403;当判断出第二通信端的当前状态处于空闲状态时,可以触发执行步骤405。
403、第二通信端判断中断信号对应的重要程度是否大于当前处理事件的重要程度,当判断出大于当前处理事件的重要程度,触发执行步骤404;当判断出未大于当前处理事件的重要程度,可以结束本次流程,或者,等待当前处理事件结束之后,再触发执行步骤405。
404、中断当前处理事件,并触发执行步骤405。
405、第二通信端根据目标数据包括的标识信息从共享消息池中读取目标数据包括的其他数据。
本发明实施例中,可选的,当接收到中断信号之后,将目标数据对应的驱动寄存器转换到关闭状态,以告知第一通信端,第二通信端已接收到目标数据,无需一直发送中断信号,以空出通信信道便于其他通信端使用,以及有利于减少系统的功耗。
本发明实施例中,针对步骤401、步骤405的相关描述请参照实施例一中针对步骤301、步骤302的详细描述,本发明实施例不再赘述。
可见,本发明实施例还能够在接收到中断信号之后,进一步判断通信接收端的当前状态是否处于空闲状态,若是,则直接执行后续的根据数据包括的标识信息从数据中转端的共享消息池中读取数据的操作;若未处于空闲状态,则在判断出中断信号对应的重要程度大于当前处理事件时,触发执行后续的根据数据包括的标识信息从数据中转端的共享消息池中读取数据的操作,能够在不影响数据读取的情况下,根据通信接收端的当前状态灵活处理事件,提高通信端之间通讯的灵活性。
在一个可选的实施例中,该异构多核的异步通信方法可以包括以下操作:
在根据目标数据包括的标识信息从共享消息池中读取目标数据包括的其他数据的过程中,第二通信端关闭其他通道的中断。
可见,该可选的实施例在响应中断的过程中,关闭其他通道的中断,能够减少通信过程中发生嵌套干扰的发生情况,提高通信端之间的通信稳定性以及协同性。
在另一个可选的实施例中,该异构多核的异步通信方法可以包括以下操作:
当一个第二通信端根据目标数据唯一对应的标识信息在共享消息池中读取目标数据包括的其他数据之后,将数据结构体中的数据有效位的状态切换为无效状态。进一步可选的,在将数据结构体中的数据有效位的状态切换为无效状态之前,该异构多核的异步通信方法可以包括以下操作:判断目标数据所在的目标数据结构体的报文结构是否包括可访问次数,当判断出存在可访问次数时,判断该可访问次数是否已经递减为0,若为0,则触发执行上述的将数据结构体中的数据有效位的状态切换为无效状态的操作,若不为0,则直到递减为0时,再触发执行上述的将数据结构体中的数据有效位的状态切换为无效状态的操作。其中,目标数据所在的目标数据结构体被访问一次,其可访问次数就递减1。
可见,该可选的实施例在数据被读取之后,将该数据所在数据结构体中的数据有效位的状态切换为无效状态,以便于该数据结构体被其他通信端使用,进一步提高共享消息池的资源利用率;进一步的,在将数据有效位的状态切换为无效状态之前,先判断数据结构体的报文结构包括可访问次是否递减为0,能够保证每个通信端均能读取到所需的数据,提高数据结构体中的数据有效位的状态切换的准确性,进一步提高异构多核之间的高效协同性、准确性以及可靠性。
可见,实施图5所描述的异构多核的异步通信方法能够在接收到中断信号之后,通过在数据中转端的共享信息池中读取所需的数据,能够实现异构多核之间的通信,以及通过将至少一个通信接收端对应的标识信息一并存放于共享消息池中,能够提高共享消息池的资源利用率,以及有利于在不增加硬件成本的情况下,根据需求增加通信端的数量,以便于实现更多异构多核之间的通信;还能够在不影响数据读取的情况下,根据通信接收端的当前状态灵活处理事件,提高通信端之间通讯的灵活性。
实施例五
请参阅图6,图6是本发明实施例公开的一种异构多核的异步通信方法的流程示意图。如图6所示,该异构多核的异步通信方法可以包括以下操作:
501、当确定需要存放数据时,第一通信端将需要发送的目标数据存放于数据中转端的共享消息池,该目标数据包括需要接收目标数据的第二通信端对应的标识信息和需要第二通信端接收的其他数据。
502、在目标数据存放于共享消息池之后,第一通信端通过数据中转端向除第一通信端之外的通信端发送中断信号,除第一通信端之外的通信端包括第二通信端,且第二通信端的数量大于等于1,该中断信号用于提示每个第二通信端根据目标数据包括的标识信息从共享消息池中读取目标数据包括的其他数据。
503、每个第二通信端接收第一通信端通过数据中转端发送的中断信号,并根据目标数据包括的标识信息从共享消息池中读取目标数据包括的其他数据。
本发明实施例中,针对第一通信端、第二通信端以及数据中转端的有关描述请参阅上述实施例一-实施例四的详细描述,在此不再赘述。
可见,实施图6所描述的异构多核的异步通信方法能够通过将需要发送的数据自动存放在数据中转端的共享信息池中,并通过数据中转端将中断信号发送至需要该数据的至少一个通信端,以使得需要该数据的至少一个通信端在接收到中断信号后自动在该共享信息池中读取所需的数据,能够实现异构多核之间的通信,以及通过将需要该数据的至少一个通信端对应的标识信息一并存放于共享消息池中,以便于需要该数据的至少一个通信端根据该标识信息读取所需的数据,能够实现异构多核之间的高效协同通讯,以及能够提高共享消息池的资源利用率,以及有利于在不增加硬件成本的情况下,根据需求增加通信端的数量,以便于实现更多异构多核之间的通信。
实施例六
本发明实施例公开的又一种异构多核的异步通信方法的流程示意图,该异构多核的异步通信方法可以包括以下操作:
步骤一、当确定需要存放数据时,第一通信端将需要发送的目标数据存放于数据中转端的共享消息池,该目标数据包括需要接收目标数据的第二通信端对应的标识信息和需要第二通信端接收的其他数据。
步骤二、在检测到目标数据存放于共享消息池之后,数据中转端向除第一通信端之外的通信端发送中断信号,除第一通信端之外的通信端包括第二通信端,且第二通信端的数量大于等于1。
步骤三、每个第二通信端接收数据中转端发送的中断信号,该中断信号用于提示第二通信端根据目标数据包括的标识信息从共享消息池中读取目标数据包括的其他数据,并根据目标数据包括的标识信息从共享消息池中读取目标数据包括的其他数据。
本发明实施例中,针对第一通信端、第二通信端以及数据中转端的有关描述请参阅上述实施例一-实施例四的详细描述,在此不再赘述。
可见,实施本发明实施例异构多核的异步通信方法能够通过将需要发送的数据自动存放在数据中转端的共享信息池中,并通过数据中转端将中断信号发送至需要该数据的至少一个通信端,以使得需要该数据的至少一个通信端在接收到中断信号后自动在该共享信息池中读取所需的数据,能够实现异构多核之间的通信,以及通过将需要该数据的至少一个通信端对应的标识信息一并存放于共享消息池中,以便于需要该数据的至少一个通信端根据该标识信息读取所需的数据,能够实现异构多核之间的高效协同通讯,以及能够提高共享消息池的资源利用率,以及有利于在不增加硬件成本的情况下,根据需求增加通信端的数量,以便于实现更多异构多核之间的通信。
实施例七
请参阅图7,图7是本发明实施例公开的一种异构多核的异步通信装置的结构示意图。如图7所示,该异构多核的异步通信装置可以包括存放模块601以及发送模块602,其中:
存放模块601,用于当确定需要存放数据时,将需要发送的目标数据存放于数据中转端的共享消息池,该目标数据包括需要接收目标数据的第二通信端对应的标识信息和需要第二通信端接收的其他数据。
发送模块602,用于在目标数据存放于共享消息池之后,通过数据中转端向除第一通信端之外的通信端发送中断信号,除第一通信端之外的通信端包括第二通信端,且第二通信端的数量大于等于1。
其中,该中断信号用于提示每个第二通信端根据目标数据包括的标识信息从共享消息池中读取目标数据包括的其他数据。
可见,实施图6所描述的异构多核的异步通信装置能够通过将需要发送的数据自动存放在数据中转端的共享信息池中,并通过数据中转端将中断信号发送至需要该数据的至少一个通信端,以使得需要该数据的至少一个通信端在接收到中断信号后自动在该共享信息池中读取所需的数据,能够实现异构多核之间的通信,以及通过将需要该数据的至少一个通信端对应的标识信息一并存放于共享消息池中,以便于需要该数据的至少一个通信端根据该标识信息读取所需的数据,能够实现异构多核之间的高效协同通讯,以及能够提高共享消息池的资源利用率,以及有利于在不增加硬件成本的情况下,根据需求增加通信端的数量,以便于实现更多异构多核之间的通信。
在另一个可选的实施例中,如图8所示,存放模块601包括:获取子模块6011、写入子模块6012以及存放子模块6013,其中:
获取子模块6011,用于从数据中转端的共享消息池中获取处于空闲状态的数据结构体。
写入子模块6012,用于将需要发送的目标数据写入数据结构体中,得到目标数据结构体。
存放子模块6013,用于将目标数据结构体存储于共享消息池。
可见,实施图8所描述的异构多核的异步通信装置能够在确定需要存放数据时,通过将所需存放的数据写入数据中转端的共享消息池中处于空闲状态的数据结构体,能够实现将数据存放在数据中转端的共享消息池,以及通过按照对应的报文结构将数据写入数据结构体中,能够提高数据写入的准确性以及效率,从而有利于提高一对多的数据通讯的高效协同性。
在另一个可选的实施例中,如图8所示,获取子模块6011包括:获取单元60111、查询单元60112以及确定单元60113,其中:
获取单元60111,用于从数据中转端的共享消息池中获取处于空闲状态的目标锁。
查询单元60112,用于根据确定出的锁-数据结构体的对应关系在共享消息池的所有数据结构体中查询目标锁对应的数据结构体。
确定单元60113,用于确定目标锁对应的数据结构体作为处于空闲状态的数据结构体。
可见,实施图8所描述的异构多核的异步通信装置能够根据锁-数据结构体的对应关系将处于空闲状态的锁对应的数据结构体确定为处于空闲状态的数据结构体,能够实现所需数据结构体的确定,以及提高所需数据结构体的确定准确性以及效率,从而提高数据的存放准确性以及效率;以及为每个数据结构体设置唯一对应的锁,以便于通信端通过锁来实现直接单独访问数据结构体,减少数据结构体被错用而导致数据被擦除或者存放混乱的发生情况,以及进一步提高了数据的存放准确性、可靠性以及灵活性;以及通过充分利用每个数据结构体的资源,也即充分利用共享消息池的资源,能够减少现有的因为通信端之间的交互频繁程度有差异而导致通信信道有些是空闲的有些是超负荷的发生情况,提高了共享消息池的资源利用率,以及进一步提高了多个通信端之间的通讯协同性以及效率。
在又一个可选的实施例中,如图8所示,获取子模块6011还包括:判断单元60114,其中:
获取单元60111,还用于在查询单元60112根据确定出的锁-数据结构体的对应关系在共享消息池的所有数据结构体中查询目标锁对应的数据结构体之后,以及在确定单元60113确定目标锁对应的数据结构体作为处于空闲状态的数据结构体之前,获取目标锁对应的数据结构体的数据有效位。
判断单元60114,用于判断数据有效位是否用于表示目标锁对应的数据结构体是否处于空闲状态。
确定单元60113,具体用于:
当判断单元60114判断出数据有效位用于表示目标锁对应的数据结构体处于空闲状态时,确定目标锁对应的数据结构体作为处于空闲状态的数据结构体。
可见,实施图8所描述的异构多核的异步通信装置在查询到目标锁对应的数据结构体之后,进一步判断数据有效位是否用于表示目标锁对应的数据结构体处于空闲状态,若是,则继续执行后续的操作,能够提高后续操作的执行准确性以及可靠性。
在又一个可选的实施例中,如图8所示,该装置还包括:确定模块603以及写入模块604,其中:
确定模块603,用于在存放模块601将目标数据存放于共享消息池之后,以及在发送模块602通过数据中转端向除第一通信端之外的通信端发送中断信号之前,在数据中转端的所有状态寄存地址中确定与每个第二通信端匹配的目标状态寄存地址。
写入模块604,用于将目标数据唯一对应的标识信息写入每个目标状态寄存地址中,并触发发送模块602执行上述的通过数据中转端向除第一通信端之外的通信端发送中断信号的操作。
可见,实施图8所描述的异构多核的异步通信装置在数据存放于共享消息池之后,进一步先将数据唯一对应的标识信息存放在与通信接收端匹配的状态寄存地址中,以便于通信接收端从其匹配的状态寄存地址中获取数据唯一对应的标识信息,进而读取数据,能够提高数据的读取准确性以及效率,也即提高通信发送端与每个通信接收端之间的通讯协同性、准确性以及效率。
实施例八
请参阅图9,图9是本发明实施例公开的另一种异构多核的异步通信装置的结构示意图。如图9所示,该异构多核的异步通信装置可以包括接收模块801以及读取模块802,其中:
接收模块801,用于接收第一通信端通过数据中转端发送的中断信号,该数据中转端的共享消息池中存放有第一通信端需要发送给第二通信端的目标数据,该目标数据包括第二通信端对应的标识信息和需要第二通信端接收的其他数据,且中断信号用于提示第二通信端根据目标数据包括的标识信息从共享消息池中读取目标数据包括的其他数据。
读取模块802,用于根据目标数据包括的标识信息从共享消息池中读取目标数据包括的所其他数据。
可见,实施图9所描述的异构多核的异步通信装置能够在接收到中断信号之后,通过在数据中转端的共享信息池中读取所需的数据,能够实现异构多核之间的通信,以及通过将至少一个通信接收端对应的标识信息一并存放于共享消息池中,能够提高共享消息池的资源利用率,以及有利于在不增加硬件成本的情况下,根据需求增加通信端的数量,以便于实现更多异构多核之间的通信。
在另一个可选的实施例中,如图10所示,读取模块802包括:判断子模块8021以及读取子模块8022,其中:
判断子模块8021,用于判断第二通信端的目标状态寄存地址中是否存放有目标数据唯一对应的标识信息,该目标状态寄存地址存放在数据中转端中。
读取子模块8022,用于当判断子模块8021判断出目标状态寄存地址存放有目标数据唯一对应的标识信息时,从目标状态寄存地址中读取目标数据唯一对应的标识信息。
读取子模块8022,还用于根据目标数据唯一对应的标识信息在共享消息池中读取目标数据包括的其他数据。
可见,实施图10所描述的异构多核的异步通信装置能够在接收到中断信号之后,进一步通过判断所在的状态寄存地址是否存放有数据唯一对应的标识信息,若存在,直接根据数据唯一对应的标识信息在共享消息池读取数据,能够提高数据的读取准确性以及效率,也即提高通信发送端与每个通信接收端之间的通讯协同性、准确性以及效率。
在另一个可选的实施例中,如图10所示,读取模块802还包括:遍历子模块8023,其中:
遍历子模块8023,用于当判断子模块8021判断出目标状态寄存地址未存放有目标数据唯一对应的标识信息时,根据目标数据包括的标识信息遍历共享消息池中的所有数据,直至遍历到目标数据包括的其他数据。
可见,实施图10所描述的异构多核的异步通信装置在判断出通信接收端所在的状态寄存地址未存放有数据唯一对应的标识信息时,进一步根据中断信号包括的目标数据包括的标识信息,从共享消息池中读取数据,能够实现数据的读取,以及丰富了数据的读取方式,也即实现多个通信端之间通讯的高效协同性。
在又一个可选的实施例中,如图10所示,判断子模块8021,还用于在读取子模块8022从目标状态寄存地址中读取目标数据唯一对应的标识信息之后,以及在读取子模块8022根据目标数据唯一对应的标识信息在共享消息池中读取目标数据包括的其他数据之前,根据目标数据唯一对应的标识信息判断目标数据所在数据结构体中的数据有效位是否用于表示目标数据为有效数据;当判断出数据有效位用于表示目标数据为有效数据时,触发读取子模块8022执行上述的根据目标数据唯一对应的标识信息在共享消息池中读取目标数据包括的其他数据的操作。
可见,实施图10所描述的异构多核的异步通信装置在读取到数据唯一对应的标识信息之后,进一步根据该标识信息判断数据所在数据结构体中的数据有效位是否用于表示数据为有效数据,若是,则触发执行后续的根据数据唯一对应的标识信息读取数据的操作,能够减少读取到被篡改的数据的发生情况,提高数据读取到有效数据的准确性以及可靠性,实现多个通信端之间通讯的高效协同性。
在又一个可选的实施例中,如图10所示,该装置还包括:判断模块803以及中断模块804,其中:
判断模块803,用于在接收模块801接收第一通信端通过数据中转端发送的中断信号之后,以及在读取模块802根据目标数据包括的标识信息从共享消息池中读取目标数据包括的其他数据之前,判断第二通信端的当前状态是否处于空闲状态;当判断出第二通信端的当前状态处于空闲状态时,触发读取模块802执行上述的根据目标数据包括的标识信息从共享消息池中读取目标数据包括的其他数据的操作。
判断模块803,还用于当判断出第二通信端的当前状态未处于空闲状态时,判断中断信号对应的重要程度是否大于当前处理事件的重要程度。
中断模块804,用于当判断模块803判断出大于当前处理事件的重要程度,中断当前处理事件,并触发读取模块802执行上述的根据目标数据包括的标识信息从共享消息池中读取目标数据包括的其他数据的操作。
可见,实施图10所描述的异构多核的异步通信装置在接收到中断信号之后,进一步判断通信接收端的当前状态是否处于空闲状态,若是,则直接执行后续的根据数据包括的标识信息从数据中转端的共享消息池中读取数据的操作;若未处于空闲状态,则在判断出中断信号对应的重要程度大于当前处理事件时,触发执行后续的根据数据包括的标识信息从数据中转端的共享消息池中读取数据的操作,能够在不影响数据读取的情况下,根据通信接收端的当前状态灵活处理事件,提高通信端之间通讯的灵活性。
实施例九
请参阅图11,图11是本发明实施例公开的又一种异构多核的异步通信装置的结构示意图。如图11所示,该异构多核的异步通信装置可以包括第一通信端1101以及第二通信端1102,其中:
第一通信端1101,当确定需要存放数据时,用于将需要发送的目标数据存放于数据中转端的共享消息池,该目标数据包括需要接收目标数据的第二通信端对应的标识信息和需要第二通信端接收的其他数据。
第一通信端1101,在目标数据存放于共享消息池之后,用于通过数据中转端向除第一通信端之外的通信端发送中断信号,除第一通信端之外的通信端包括第二通信端,且第二通信端的数量大于等于1,该中断信号用于提示每个第二通信端根据目标数据包括的标识信息从共享消息池中读取目标数据包括的其他数据。
每个第二通信端1102,用于接收第一通信端通过数据中转端发送的中断信号,并根据目标数据包括的标识信息从共享消息池中读取目标数据包括的其他数据。
可见,实施图11所描述的异构多核的异步通信装置能够通过将需要发送的数据自动存放在数据中转端的共享信息池中,并通过数据中转端将中断信号发送至需要该数据的至少一个通信端,以使得需要该数据的至少一个通信端在接收到中断信号后自动在该共享信息池中读取所需的数据,能够实现异构多核之间的通信,以及通过将需要该数据的至少一个通信端对应的标识信息一并存放于共享消息池中,以便于需要该数据的至少一个通信端根据该标识信息读取所需的数据,能够实现异构多核之间的高效协同通讯,以及能够提高共享消息池的资源利用率,以及有利于在不增加硬件成本的情况下,根据需求增加通信端的数量,以便于实现更多异构多核之间的通信。
实施例十
本发明实施例公开了的又一种异构多核的异步通信装置,该异构多核的异步通信装置可以包括第一通信端、数据中转端以及第二通信端,其中:
第一通信端,用于当确定需要存放数据时,将需要发送的目标数据存放于数据中转端的共享消息池,该目标数据包括需要接收目标数据的第二通信端对应的标识信息和需要第二通信端接收的其他数据。
数据中转端,用于在第一通信端检测到目标数据存放于共享消息池之后,向除第一通信端之外的通信端发送中断信号,除第一通信端之外的通信端包括第二通信端,且第二通信端的数量大于等于1。
每个第二通信端,用于接收数据中转端发送的中断信号,该中断信号用于提示第二通信端根据目标数据包括的标识信息从共享消息池中读取目标数据包括的其他数据,并根据目标数据包括的标识信息从共享消息池中读取目标数据包括的其他数据。
可见,实施异构多核的异步通信装置能够通过将需要发送的数据自动存放在数据中转端的共享信息池中,并通过数据中转端将中断信号发送至需要该数据的至少一个通信端,以使得需要该数据的至少一个通信端在接收到中断信号后自动在该共享信息池中读取所需的数据,能够实现异构多核之间的通信,以及通过将需要该数据的至少一个通信端对应的标识信息一并存放于共享消息池中,以便于需要该数据的至少一个通信端根据该标识信息读取所需的数据,能够实现异构多核之间的高效协同通讯,以及能够提高共享消息池的资源利用率,以及有利于在不增加硬件成本的情况下,根据需求增加通信端的数量,以便于实现更多异构多核之间的通信。
实施例十一
请参阅图12,图12是本发明实施例公开的又一种异构多核的异步通信装置。如图12所示,该异构多核的异步通信装置可以包括:
存储有可执行程序代码的存储器1201;
与存储器1201耦合的处理器1202;
进一步的,还可以包括与处理器1202耦合的输入接口1203和输出接口1204;
其中,处理器1202调用存储器1201中存储的可执行程序代码,用于执行实施例一或实施例二所描述的异构多核的异步通信方法的步骤。
实施例十二
本发明实施例公开了一种计算机读存储介质,其存储用于电子数据交换的计算机程序,其中,该计算机程序使得计算机执行实施例一或实施例二所描述的异构多核的异步通信方法的步骤。
实施例十三
本发明实施例公开了一种计算机程序产品,该计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,且该计算机程序可操作来使计算机执行实施例一或实施例二所描述的异构多核的异步通信方法的步骤。
实施例十四
请参阅图13,图13是本发明实施例公开的又一种异构多核的异步通信装置。如图13所示,该异构多核的异步通信装置可以包括:
存储有可执行程序代码的存储器1301;
与存储器1301耦合的处理器1302;
进一步的,还可以包括与处理器1302耦合的输入接口1303和输出接口1304;
其中,处理器1302调用存储器1301中存储的可执行程序代码,用于执行实施例三或实施例四所描述的异构多核的异步通信方法的步骤。
实施例十五
本发明实施例公开了一种计算机读存储介质,其存储用于电子数据交换的计算机程序,其中,该计算机程序使得计算机执行实施例三或实施例四所描述的异构多核的异步通信方法的步骤。
实施例十六
本发明实施例公开了一种计算机程序产品,该计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,且该计算机程序可操作来使计算机执行实施例三或实施例四所描述的异构多核的异步通信方法的步骤。
以上所描述的装置实施例仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施例的具体描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,存储介质包括只读存储器(Read-Only Memory,ROM)、随机存储器(Random Access Memory,RAM)、可编程只读存储器(Programmable Read-only Memory,PROM)、可擦除可编程只读存储器(ErasableProgrammable Read Only Memory,EPROM)、一次可编程只读存储器(One-timeProgrammable Read-Only Memory,OTPROM)、电子抹除式可复写只读存储器(Electrically-Erasable Programmable Read-Only Memory,EEPROM)、只读光盘(CompactDisc Read-Only Memory,CD-ROM)或其他光盘存储器、磁盘存储器、磁带存储器、或者能够用于携带或存储数据的计算机可读的任何其他介质。
最后应说明的是:本发明实施例公开的一种异构多核的异步通信方法及装置所揭露的仅为本发明较佳实施例而已,仅用于说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解;其依然可以对前述各项实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或替换,并不使相应的技术方案的本质脱离本发明各项实施例技术方案的精神和范围。
Claims (18)
1.一种异构多核的异步通信方法,其特征在于,所述方法包括:
当确定需要存放数据时,第一通信端将需要发送的目标数据存放于数据中转端的共享消息池,所述目标数据包括需要接收所述目标数据的第二通信端对应的标识信息和需要所述第二通信端接收的其他数据;
在所述目标数据存放于所述共享消息池之后,所述第一通信端通过所述数据中转端向除所述第一通信端之外的通信端发送中断信号,除所述第一通信端之外的通信端包括所述第二通信端,且所述第二通信端的数量大于等于1;
其中,所述中断信号用于提示每个所述第二通信端根据所述目标数据包括的所述标识信息从所述共享消息池中读取所述目标数据包括的所述其他数据。
2.根据权利要求1所述的异构多核的异步通信方法,其特征在于,所述第一通信端将需要发送的目标数据存放于数据中转端的共享消息池,包括:
第一通信端从数据中转端的共享消息池中获取处于空闲状态的数据结构体,并将需要发送的目标数据写入所述数据结构体中,得到目标数据结构体;
所述第一通信端将所述目标数据结构体存储于所述共享消息池。
3.根据权利要求2所述的异构多核的异步通信方法,其特征在于,所述第一通信端从数据中转端中获取处于空闲状态的数据结构体,包括:
第一通信端从数据中转端的共享消息池中获取处于空闲状态的目标锁;
所述第一通信端根据确定出的锁-数据结构体的对应关系在所述共享消息池的所有数据结构体中查询所述目标锁对应的数据结构体,并确定所述目标锁对应的数据结构体作为处于空闲状态的数据结构体。
4.根据权利要求3所述的异构多核的异步通信方法,其特征在于,所述第一通信端根据确定出的锁-数据结构体的对应关系在所述共享消息池的所有数据结构体中查询所述目标锁对应的数据结构体之后,以及所述第一通信端确定所述目标锁对应的数据结构体作为处于空闲状态的数据结构体之前,所述方法还包括:
所述第一通信端获取所述目标锁对应的数据结构体的数据有效位,并判断所述数据有效位是否用于表示所述目标锁对应的数据结构体是否处于空闲状态;
当判断出所述数据有效位用于表示所述目标锁对应的数据结构体处于空闲状态时,所述第一通信端触发执行所述的确定所述目标锁对应的数据结构体作为处于空闲状态的数据结构体的操作。
5.根据权利要求1-4任一项所述的异构多核的异步通信方法,其特征在于,在所述目标数据存放于所述共享消息池之后,以及所述第一通信端通过所述数据中转端向除所述第一通信端之外的通信端发送中断信号之前,所述方法包括:
所述第一通信端在所述数据中转端的所有状态寄存地址中确定与每个所述第二通信端匹配的目标状态寄存地址;
所述第一通信端将所述目标数据唯一对应的标识信息写入每个所述目标状态寄存地址中,并触发执行所述的通过所述数据中转端向除所述第一通信端之外的通信端发送中断信号的操作。
6.一种异构多核的异步通信方法,其特征在于,所述方法包括:
第二通信端接收第一通信端通过数据中转端发送的中断信号,所述数据中转端的共享消息池中存放有所述第一通信端需要发送给所述第二通信端的目标数据,所述目标数据包括所述第二通信端对应的标识信息和需要所述第二通信端接收的其他数据,且所述中断信号用于提示所述第二通信端根据所述目标数据包括的所述标识信息从所述共享消息池中读取所述目标数据包括的所述其他数据;
所述第二通信端根据所述目标数据包括的所述标识信息从所述共享消息池中读取所述目标数据包括的所述其他数据。
7.根据权利要求6所述的异构多核的异步通信方法,其特征在于,所述第二通信端根据所述目标数据包括的所述标识信息从所述共享消息池中读取所述目标数据包括的所述其他数据,包括:
所述第二通信端判断所述第二通信端的目标状态寄存地址中是否存放有所述目标数据唯一对应的标识信息,所述目标状态寄存地址存放在所述数据中转端中;
当判断出所述目标状态寄存地址存放有所述目标数据唯一对应的标识信息时,所述第二通信端从所述目标状态寄存地址中读取所述目标数据唯一对应的标识信息,并根据所述目标数据唯一对应的标识信息在所述共享消息池中读取所述目标数据包括的所述其他数据。
8.根据权利要求7所述的异构多核的异步通信方法,其特征在于,所述方法还包括:
当判断出所述目标状态寄存地址未存放有所述目标数据唯一对应的标识信息时,所述第二通信端根据所述目标数据包括的所述标识信息遍历所述共享消息池中的所有数据,直至遍历到所述目标数据包括的所述其他数据。
9.根据权利要求7或8所述的异构多核的异步通信方法,其特征在于,所述第二通信端从所述目标状态寄存地址中读取所述目标数据唯一对应的标识信息之后,以及所述第二通信端根据所述目标数据唯一对应的标识信息在所述共享消息池中读取所述目标数据包括的所述其他数据之前,所述方法还包括:
所述第二通信端根据所述目标数据唯一对应的标识信息判断所述目标数据所在数据结构体中的数据有效位是否用于表示所述目标数据为有效数据;
当判断出所述数据有效位用于表示所述目标数据为有效数据时,所述第二通信端触发执行所述的根据所述目标数据唯一对应的标识信息在所述共享消息池中读取所述目标数据包括的所述其他数据的操作。
10.根据权利要求6-9任一项所述的异构多核的异步通信方法,其特征在于,所述第二通信端接收第一通信端通过数据中转端发送的中断信号之后,以及所述第二通信端根据所述目标数据包括的所述标识信息从所述共享消息池中读取所述目标数据包括的所述其他数据之前,所述方法还包括:
所述第二通信端判断所述第二通信端的当前状态是否处于空闲状态,当判断出所述第二通信端的当前状态处于空闲状态时,触发执行所述的根据所述目标数据包括的所述标识信息从所述共享消息池中读取所述目标数据包括的所述其他数据的操作;
当判断出所述第二通信端的当前状态未处于空闲状态时,所述第二通信端判断所述中断信号对应的重要程度是否大于当前处理事件的重要程度,当判断出大于所述当前处理事件的重要程度,中断所述当前处理事件,并触发执行所述的根据所述目标数据包括的所述标识信息从所述共享消息池中读取所述目标数据包括的所述其他数据的操作。
11.一种异构多核的异步通信方法,其特征在于,所述方法包括:
当确定需要存放数据时,第一通信端将需要发送的目标数据存放于数据中转端的共享消息池,所述目标数据包括需要接收所述目标数据的第二通信端对应的标识信息和需要所述第二通信端接收的其他数据;
在所述目标数据存放于所述共享消息池之后,所述第一通信端通过所述数据中转端向除所述第一通信端之外的通信端发送中断信号,除所述第一通信端之外的通信端包括所述第二通信端,且所述第二通信端的数量大于等于1,所述中断信号用于提示每个所述第二通信端根据所述目标数据包括的所述标识信息从所述共享消息池中读取所述目标数据包括的所述其他数据;
每个所述第二通信端接收所述第一通信端通过所述数据中转端发送的所述中断信号,并根据所述目标数据包括的所述标识信息从所述共享消息池中读取所述目标数据包括的所述其他数据。
12.一种异构多核的异步通信方法,其特征在于,所述方法包括:
当确定需要存放数据时,第一通信端将需要发送的目标数据存放于数据中转端的共享消息池,所述目标数据包括需要接收所述目标数据的第二通信端对应的标识信息和需要所述第二通信端接收的其他数据;
在检测到所述目标数据存放于所述共享消息池之后,所述数据中转端向除所述第一通信端之外的通信端发送中断信号,除所述第一通信端之外的通信端包括所述第二通信端,且所述第二通信端的数量大于等于1;
针对每一所述第二通信端,所述第二通信端接收所述数据中转端发送的所述中断信号,所述中断信号用于提示所述第二通信端根据所述目标数据包括的所述标识信息从所述共享消息池中读取所述目标数据包括的所述其他数据,并根据所述目标数据包括的所述标识信息从所述共享消息池中读取所述目标数据包括的所述其他数据。
13.一种异构多核的异步通信装置,其特征在于,所述装置应用于第一通信端中,且所述装置包括:
存放模块,用于当确定需要存放数据时,将需要发送的目标数据存放于数据中转端的共享消息池,所述目标数据包括需要接收所述目标数据的第二通信端对应的标识信息和需要所述第二通信端接收的其他数据;
发送模块,用于在所述目标数据存放于所述共享消息池之后,通过所述数据中转端向除所述第一通信端之外的通信端发送中断信号,除所述第一通信端之外的通信端包括所述第二通信端,且所述第二通信端的数量大于等于1;
其中,所述中断信号用于提示每个所述第二通信端根据所述目标数据包括的所述标识信息从所述共享消息池中读取所述目标数据包括的所述其他数据。
14.一种异构多核的异步通信装置,其特征在于,所述装置应用于第二通信端中,且所述装置包括:
接收模块,用于接收第一通信端通过数据中转端发送的中断信号,所述数据中转端的共享消息池中存放有所述第一通信端需要发送给所述第二通信端的目标数据,所述目标数据包括所述第二通信端对应的标识信息和需要所述第二通信端接收的其他数据,且所述中断信号用于提示所述第二通信端根据所述目标数据包括的所述标识信息从所述共享消息池中读取所述目标数据包括的所述其他数据;
读取模块,用于根据所述目标数据包括的所述标识信息从所述共享消息池中读取所述目标数据包括的所述其他数据。
15.一种异构多核的异步通信装置,其特征在于,所述方法包括:
第一通信端,用于当确定需要存放数据时,将需要发送的目标数据存放于数据中转端的共享消息池,所述目标数据包括需要接收所述目标数据的第二通信端对应的标识信息和需要所述第二通信端接收的其他数据;
所述第一通信端,还用于在所述目标数据存放于所述共享消息池之后,通过所述数据中转端向除所述第一通信端之外的通信端发送中断信号,除所述第一通信端之外的通信端包括所述第二通信端,且所述第二通信端的数量大于等于1,所述中断信号用于提示每个所述第二通信端根据所述目标数据包括的所述标识信息从所述共享消息池中读取所述目标数据包括的所述其他数据;
每个所述第二通信端,用于接收所述第一通信端通过所述数据中转端发送的所述中断信号,并根据所述目标数据包括的所述标识信息从所述共享消息池中读取所述目标数据包括的所述其他数据。
16.一种异构多核的异步通信装置,其特征在于,所述装置包括:
第一通信端,用于当确定需要存放数据时,将需要发送的目标数据存放于数据中转端的共享消息池,所述目标数据包括需要接收所述目标数据的第二通信端对应的标识信息和需要所述第二通信端接收的其他数据;
所述数据中转端,用于在检测到所述第一通信端将所述目标数据存放于所述共享消息池之后,向除所述第一通信端之外的通信端发送中断信号,除所述第一通信端之外的通信端包括所述第二通信端,且所述第二通信端的数量大于等于1;
每个所述第二通信端,用于接收所述数据中转端发送的所述中断信号,所述中断信号用于提示所述第二通信端根据所述目标数据包括的所述标识信息从所述共享消息池中读取所述目标数据包括的所述其他数据,并根据所述目标数据包括的所述标识信息从所述共享消息池中读取所述目标数据包括的所述其他数据。
17.一种异构多核的异步通信装置,其特征在于,所述装置应用于第一通信端中,且所述装置包括:
存储有可执行程序代码的存储器;
与所述存储器耦合的处理器;
所述处理器调用所述存储器中存储的所述可执行程序代码,执行如权利要求1-5任一项所述的异构多核的异步通信方法。
18.一种异构多核的异步通信装置,其特征在于,所述装置应用于第二通信端中,且所述装置包括:
存储有可执行程序代码的存储器;
与所述存储器耦合的处理器;
所述处理器调用所述存储器中存储的所述可执行程序代码,执行如权利要求6-10任一项所述的异构多核的异步通信方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011564294.2A CN112579323A (zh) | 2020-12-25 | 2020-12-25 | 一种异构多核的异步通信方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011564294.2A CN112579323A (zh) | 2020-12-25 | 2020-12-25 | 一种异构多核的异步通信方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112579323A true CN112579323A (zh) | 2021-03-30 |
Family
ID=75140557
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011564294.2A Pending CN112579323A (zh) | 2020-12-25 | 2020-12-25 | 一种异构多核的异步通信方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112579323A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113778705A (zh) * | 2021-08-18 | 2021-12-10 | 北京自动化控制设备研究所 | 一种基于amp架构的多核通信方法 |
CN117077115A (zh) * | 2023-10-13 | 2023-11-17 | 沐曦集成电路(上海)有限公司 | 芯片验证阶段跨语言多进程交互方法、电子设备和介质 |
-
2020
- 2020-12-25 CN CN202011564294.2A patent/CN112579323A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113778705A (zh) * | 2021-08-18 | 2021-12-10 | 北京自动化控制设备研究所 | 一种基于amp架构的多核通信方法 |
CN117077115A (zh) * | 2023-10-13 | 2023-11-17 | 沐曦集成电路(上海)有限公司 | 芯片验证阶段跨语言多进程交互方法、电子设备和介质 |
CN117077115B (zh) * | 2023-10-13 | 2023-12-15 | 沐曦集成电路(上海)有限公司 | 芯片验证阶段跨语言多进程交互方法、电子设备和介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112579323A (zh) | 一种异构多核的异步通信方法及装置 | |
JPH0650493B2 (ja) | データ処理装置 | |
CN111190854B (zh) | 通信数据处理方法、装置、设备、系统和存储介质 | |
CN112685148A (zh) | 海量终端的异步通信方法、装置、计算机设备和存储介质 | |
CN114461371B (zh) | 一种服务器系统中断优化方法、装置、设备及介质 | |
CN112947857A (zh) | 一种数据搬移方法、装置、设备及计算机可读存储介质 | |
CN115827524A (zh) | 一种数据传输方法以及装置 | |
CN112799723A (zh) | 一种数据读取方法、装置及电子设备 | |
CN115114042A (zh) | 存储数据访问方法、装置、电子设备和存储介质 | |
CN110597643B (zh) | 核间通信方法、处理器以及电子设备 | |
CN110995817B (zh) | 请求回调方法、装置及客户端设备 | |
CN109992539B (zh) | 双主机协同工作装置 | |
CN111831408A (zh) | 异步任务处理方法、装置、电子设备及介质 | |
KR20170117326A (ko) | 랜덤 액세스 메모리를 포함하는 하나 이상의 처리 유닛을 위한 직접 메모리 액세스 제어 장치 | |
CN113452737A (zh) | 一种传输会话请求的方法、装置和电子设备 | |
CN114817107B (zh) | Pcie设备切换系统、方法、装置、计算机设备和存储介质 | |
CN115480934A (zh) | 一种分布式数据处理的方法、装置、设备及储存介质 | |
CN116185630A (zh) | 系统集群的业务处理方法、装置、电子设备及介质 | |
CN111258653B (zh) | 原子访存方法、存储介质、计算机设备、装置和系统 | |
JPS5926158B2 (ja) | 過負荷制御方式 | |
CN110780999A (zh) | 一种多核cpu的调度系统和方法 | |
CN111651123B (zh) | 一种并发io请求的处理方法、装置、设备 | |
CN115277842B (zh) | 一种多分区网管下沉通信方法 | |
CN114827016B (zh) | 切换链路聚合方案的方法、装置、设备及存储介质 | |
CN116016539B (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 |