CN111427816A - 一种amp系统核间通讯方法、计算机设备及存储介质 - Google Patents
一种amp系统核间通讯方法、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN111427816A CN111427816A CN202010141503.6A CN202010141503A CN111427816A CN 111427816 A CN111427816 A CN 111427816A CN 202010141503 A CN202010141503 A CN 202010141503A CN 111427816 A CN111427816 A CN 111427816A
- Authority
- CN
- China
- Prior art keywords
- core
- message block
- dma channel
- slave
- master
- 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
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- 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/17—Interprocessor communication using an input/output type connection, e.g. channel, I/O port
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Multi Processors (AREA)
Abstract
本发明提供了一种AMP系统核间通讯方法、计算机设备及存储介质,所述方法包括:主核设置第一DMA通道的第一参数后,通过第一DMA通道向从核发送第一消息块;从核设置第二DMA通道的第二参数后,通过第二DMA通道向主核发送第二消息块。本发明主从核之间通过第一DMA通道和第二DMA通道进行第一数据块和第二数据块的传输,第一数据块和第二数据块可以直接在从核和主核之间进行传输,主从核系统不需要进行内存拷贝且不参与数据块的传输,大大降低了主从核系统的负荷。
Description
技术领域
本发明涉及嵌入式驱动技术领域,尤其涉及的是一种AMP系统核间通讯方法、计算机设备及存储介质。
背景技术
在嵌入式多核系统领域,存在两种技术,一种是非对称多核处理(Asymmetric-Multi-Processing,AMP),另一种是对称多核处理(Symmetrical Multi-Processing,SMP)。SMP系统上的每个CPU共享系统所有资源,包括串口在内,SMP系统只需要一个控制台;而AMP系统每个CPU有独立的运行代码,任务的调度也是独立的,对整个系统资源的访问也是互斥的,每个CPU上运行的操作系统(OS)甚至完全不一样。
对于AMP系统,一个硬件CPU上的两个内核,各自运行自己的操作系统和应用软件,虽然两个核运行各自独立的系统,但是两个核必然有通讯的需求,这就是核间通讯。为了实现核间通讯,人们通常用到几种常用方法,第一种为主从核共享内存,如图1所示,即分配一片共享内存11,主核12和从核13都可以访问,主核12或从核13把要通讯的数据即数据块14或数据块15写入共享内存11,从核13或主核12从共享内存11中读取数据块14或数据块15即可。第二种为借助网络协议,主从核作为独立的网络主机节点互相通讯,如图2所示,主核21和从核22均创建用于通讯的socket23,主核21或从核22要发送消息块24或消息块25时,只需要将消息块24或消息块25写入socket23,从核22或主核21即可通过socket23接收数据块24或数据块25。以上两种方法,都存在内存拷贝若干次的问题,并且主从双核系统均需要内存拷贝,在要求性能的系统中,这两种方法均不可取。
因此,现有技术有待于进一步的改进。
发明内容
鉴于上述现有技术中的不足之处,本发明的目的在于提供一种AMP系统核间通讯方法、计算机设备及存储介质,克服现有技术中AMP系统核间通讯的方法存在内存拷贝若干次,主从核双核系统均需要内存拷贝,在要求性能的系统中,传统的核间通讯方法不适用的缺陷。
本发明所公开的第一实施例为一种AMP系统核间通讯方法,其中,所述AMP系统包括第一DMA通道和第二DMA通道;所述方法包括步骤:
主核设置所述第一DMA通道的第一参数后,通过所述第一DMA通道向从核发送第一消息块;其中,所述第一参数包括第一源地址、第一目标地址以及第一发送长度;
所述从核设置所述第二DMA通道的第二参数后,通过所述第二DMA通道向所述主核发送第二消息块;其中,所述第二参数包括第二源地址、第二目标地址以及第二发送长度。
所述的AMP系统核间通讯方法,其中,所述主核设置所述第一DMA通道的第一参数后,通过所述第一DMA通道向从核发送第一消息块的步骤具体包括:
主核将所述第一DMA通道的第一源地址设置为所述第一消息块的内存物理地址,第一目标地址设置为所述从核中预先设置的从核消息块存储地址以及第一发送长度设置为所述第一消息块的长度;
启动所述第一DMA通道将所述第一消息块发送至所述从核消息块存储地址。
所述的AMP系统核间通讯方法,其中,所述主核设置所述第一DMA通道的参数的步骤之前还包括:
判断所述第一消息块的长度是否小于预设的长度阈值;
若否,则返回所述第一消息块发送失败的消息。
所述的AMP系统核间通讯方法,其中,所述启动所述第一DMA通道将所述第一消息块发送至所述从核消息块存储地址的步骤之后还包括:
从核判断所述从核消息块存储地址中的所述第一消息块的长度是否为0;
若否,则解析出所述第一消息块中的从核指令,并执行所述从核指令对应的操作。
所述的AMP系统核间通讯方法,其中,所述解析出所述第一消息块中的从核指令的步骤之后还包括;
对所述从核消息块存储地址中的第一消息块清零。
所述的AMP系统核间通讯方法,其中,所述从核设置所述第二DMA通道的第二参数后,通过所述第二DMA通道向所述主核发送第二消息块的步骤具体包括:
所述从核将所述第二DMA通道的第二源地址设置为所述第二消息块的内存物理地址,第二目标地址设置为所述主核中预先设置的主核消息块存储地址以及第二发送长度设置为所述第二消息块的长度;
启动所述第二DMA通道将所述第二消息块发送至所述主核消息块存储地址。
所述的AMP系统核间通讯方法,其中,所述从核设置所述第二DMA通道的第二参数的步骤之前还包括:
判断所述第二消息块的长度是否小于预设的长度阈值;
若否,则返回所述第二消息块发送失败的消息。
所述的AMP系统核间通讯方法,其中,所述启动所述第二DMA通道将所述第二消息块发送至所述主核消息块存储地址的步骤之后还包括:
主核判断所述主核消息块存储地址中的所述第二消息块的长度是否为0;
若否,则解析出所述第二消息块中的主核指令,并执行所述主核指令对应的操作。
一种计算机设备,其中,包括:处理器、与处理器通信连接的存储介质,所述存储介质适于存储多条指令;所述处理器适于调用所述存储介质中的指令,以执行实现上述任一项所述的AMP系统核间通讯方法的步骤。
一种存储介质,其中,所述存储介质上存储有AMP系统核间通讯方法的控制程序,所述AMP系统核间通讯方法的控制程序被处理器执行时实现任一项所述的AMP系统核间通讯方法的步骤。
有益效果,本发明提供了一种AMP系统核间通讯方法、计算机设备及存储介质,当主核向从核发送第一消息块时,核设置第一DMA通道的第一参数后,通过第一DMA通道向从核发送第一消息块;当从核向主核发送第二消息块时,从核设置第二DMA通道的第二参数后,通过第二DMA通道向主核发送第二消息块。本发明所述的方法、计算机设备及存储介质,主从核之间通过第一DMA通道和第二DMA通道进行第一数据块和第二数据块的传输,第一数据块和第二数据块可以直接在从核和主核之间进行传输,主从核系统不需要进行内存拷贝且不参与数据块的传输,大大降低了主从核系统的负荷。
附图说明
图1是现有AMP系统主从核共享内存的核间通讯方法的结构示意图;
图2是现有AMP系统借助网络协议的核间通讯方法的结构示意图;
图3是本发明所提供的AMP系统核间通讯方法的较佳实施例的流程图;
图4是本发明所提供的AMP系统核间通讯方法中主核向从核发送第一消息块的结构示意图;
图5是本发明所提供的AMP系统核间通讯方法的具体应用实施例的主核向从核发送第一消息块的流程图;
图6是本发明所提供的AMP系统核间通讯方法的具体应用实施例的从核获取第一消息块的流程图;
图7是本发明所提供的AMP系统核间通讯方法中从核向主核发送第二消息块的结构示意图;
图8是本发明所提供的AMP系统核间通讯方法的具体应用实施例的从核向主核发送第二消息块的流程图;
图9是本发明所提供的AMP系统核间通讯方法的具体应用实施例的从核获取第一消息块的流程图;
图10是本发明的计算机设备的功能原理图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供的一种AMP系统核间通讯方法,可以应用于终端中。其中,终端可以但不限于是各种个人计算机、笔记本电脑、手机、平板电脑、车载电脑和便携式可穿戴设备。本发明的终端采用多核处理器。其中,终端的处理器可以为中央处理器(Central ProcessingUnit,CPU),图形处理器(Graphics Processing Unit,GPU)、视频处理单元(VideoProcessing Unit,VPU)等中的至少一种。
为了解决现有AMP系统核间通讯的方法存在内存拷贝若干次,主从核双核系统均需要内存拷贝,在要求性能的系统中,传统的核间通讯方法不适用的问题。本发明提供了一种AMP系统核间通讯方法。
请参照图3,图3是本发明提供的一种AMP系统核间通讯方法的较佳实施例的流程图。
在实施例一中,所述AMP系统包括第一DMA通道和第二DMA通道;所述AMP系统核间通讯方法有两个步骤:
S100、主核设置所述第一DMA通道的第一参数后,通过所述第一DMA通道向从核发送第一消息块;
S200、所述从核设置所述第二DMA通道的第二参数后,通过所述第二DMA通道向所述主核发送第二消息块。
现有AMP系统核间通讯方法主要有两种,一种为主从核共享内存,主核或从核将需要通讯的数据写入共享内存中,从核或主核从共享内存中读取要通讯的数据;另一种为主核和从核创建用于通讯的socket,主核或从核将要发送的消息块写入socket中,从核或主核通过socket接收数据,无论上述哪种方法都存在内存拷贝若干次,主从双核均需要内存拷贝,不适用于要求性能的系统。因此,本实施例中预先在AMP系统中建立第一DMA通道和第二DMA通道,所述第一DMA通道由主核控制,用于主核将第一消息块发送至从核,所述第二DMA通道由从核控制,用于从核将第二消息块发送至主核。当主核需要向从核发送第一消息块时,主核通过控制第一DMA通道,设置第一DMA通道的第一参数即第一源地址、第一目标地址及第一发送长度后,启动第一DMA通道向从核发送第一消息块。类似地,当从核需要向主核发送第二消息块时,从核通过控制第二DMA通道,设置第二DMA通道的第二参数即第二源地址、第二目标地址及第二发送长度后,启动第二DMA通道向主核发送第二消息块,从而实现AMP系统核间通讯。本实施例中,由于主从核之间通过第一DMA通道和第二DMA通道进行第一数据块和第二数据块的传输,第一数据块和第二数据块可以直接在从核和主核之间进行传输,主从核系统不需要进行内存拷贝且不参与数据块的传输,大大降低了主从核系统的负荷。
在一具体实施方式中,所述步骤S100具体包括:
S110、主核将所述第一DMA通道的第一源地址设置为所述第一消息块的内存物理地址,第一目标地址设置为所述从核中预先设置的从核消息块存储地址以及第一发送长度设置为所述第一消息块的长度;
S120、启动所述第一DMA通道将所述第一消息块发送至所述从核消息块存储地址。
具体实施时,本实施例中预先在从核系统中自定义一块内存空间作为从核消息块存储地址,由于DMA通道要求物理地址连续,因此所述从核消息块存储地址为一块连续的内存空间,用来存放主核发送的消息块即第一消息块。如图4所示,当主核41需要与从核42进行通讯发送第一消息块时,主核41设置第一DMA通道43的第一参数,将第一DMA通道43的第一源地址设置为主核41要发送的消息块的物理地址即第一消息块的内存物理地址44,将第一目标地址设置为从核消息块存储地址45,将第一发送长度设置为第一消息块的长度;然后启动第一DMA通道44进行数据传输。例如假设从核消息块存储地址45为m_SlaverMsgBufPtr,当主核41需要向从核42发送第一消息块时,将第一DMA通道43的第一源地址设置为第一消息块的内存物理地址44,将第一DMA通道43的第一目标地址设置为m_SlaverMsgBufPtr,由于第一DMA通道43的源地址为第一消息块的内存物理地址44,而第一DMA通道43的目标地址为从核消息块存储地址45,第一DMA通道44能够直接将第一消息块由第一消息块的内存物理地址44发送至从核消息块存储地址45,主从核系统不需要进行内存拷贝且不参与消息块的传输,大大降低了主从核系统的负荷。
在一具体实施方式中,步骤S100中所述主核设置所述第一DMA通道的第一参数的步骤之前还包括:
S001、判断所述第一消息块的长度是否小于预设的长度阈值;
S002、若否,则返回所述第一消息块发送失败的消息。
具体实施时,所述第一消息块的长度一般不会太长,若太长则说明主核发送的第一消息块为误传的或者主核发送的第一消息块中存在错误,为了避免第一消息块被误传或者传输的第一消息块存在错误,本实施例中限制主核传输给从核的第一消息块的长度只能在预设的长度范围内,在主核向从核发送第一消息块之前,先判断第一消息块的长度是否在预设的长度范围内,若是,则继续发送第一消息块;若否,则停止向从核发送第一消息块,并返回第一消息块传输失败的消息。在一具体实施例中,所述第一消息块的预设长度范围为1M。
本发明还提供了一种AMP系统核间通讯方法的具体应用实施例的主核向从核发送第一消息块的流程图,如图5所示,包括以下步骤:
步骤S11、判断第一消息块的长度是否大于1M;若是,则执行步骤S12;若否,则执行步骤S13
步骤S12、返回第一消息块发送失败的消息;
步骤S13、设置第一DMA通道的第一源地址为第一消息块的内存物理地址,第一目标地址为从核消息块存储地址,第一发送长度为第一消息块的长度;
步骤S14、启动第一DMA通道进行第一消息块的传输;
步骤S15、返回第一DMA通道的第一消息块的传输结果。
在一具体实施方式中,所述步骤S100之后还包括:
S101、从核判断所述从核消息块存储地址中的所述第一消息块的长度是否为0;
S102、若否,则解析出所述第一消息块中的从核指令,并执行所述从核指令对应的操作。
具体实施时,从核创建一个任务Task_CheckMsgFromMaster用于从从核消息块存储地址中获取主核发送的第一消息块,并判断所述第一消息块的长度是否为0,若是,则表明从核没有接收到主核发送的第一消息块,等待预设时长后继续从从核消息块存储地址中获取主核发送的第一消息块;若否,则从第一消息块中解析出从核指令,并执行所述从核指令对应的操作。
在一具体实施方式中,所述步骤S102之后还包括:
S103、对所述从核消息块存储地址中的第一消息块清零。
具体实施时,若从核消息块存储地址中存储的消息块太多,从核系统负荷太大,影响从核系统的运行。本实施例中在从核解析出第一消息块中的从核指令后,将从核消息块存储地址中的第一消息块清零以便继续接收主核通过第一DMA通道发送的第一消息块。
本发明还提供了一种AMP系统核间通讯方法的具体应用实施例的从核获取第一消息块的流程图,如图6所示,包括以下步骤:
步骤S21、从从核消息块存储地址中获取第一消息块;
步骤S22、判断第一消息块的长度是否为0;若是,则执行步骤S26;若否,则执行步骤S23;
步骤S23、解析第一消息块中的从核指令;
步骤S24、将从核指令发送到对应的模块中执行;
步骤S25、对从核消息块存储地址中的第一消息块清零;
步骤S26、睡眠10毫秒。
在一具体实施方式中,所述步骤S200具体包括:
S210、所述从核将所述第二DMA通道的第二源地址设置为所述第二消息块的内存物理地址,第二目标地址设置为所述主核中预先设置的主核消息块存储地址以及第二发送长度设置为所述第二消息块的长度;
S220、启动所述第二DMA通道将所述第二消息块发送至所述主核消息块存储地址。
具体实施时,本实施例中预先在主核系统中自定义一块内存空间作为主核消息块存储地址,由于DMA通道要求物理地址连续,因此所述主核消息块存储地址为一块连续的内存空间,用来存放从核发送的消息块即第二消息块。为了使主核和从核能够互相知道对端的消息块存储地址,本实施例中将主核消息块存储地址和从核消息块存储地址设置为固定一端的内存地址,例如假设主核消息块存储地址为m_MasterMsgBufPtr,从核消息块存储地址为m_SlaverMsgBufPtr,将主核消息块存储地址定义为volatile ulong m_MasterMsgBufPtr=510M,将从核消息块存储地址定义为volatile ulong m_SlaverMsgBufPtr=1023M。
具体实施时,如图7所示,当从核71需要与主核72进行通讯发送第二消息块时,从核71设置第二DMA通道73的第二参数,将第二DMA通道73的第二源地址设置为从核71要发送的消息块的物理地址即第二消息块的内存物理地址74,将第二目标地址设置为主核消息块存储地址75,将第二发送长度设置为第二消息块的长度;然后启动第二DMA通道73进行数据传输。例如假设从核消息块存储地址为m_MasterMsgBufPtr,当从核71需要向主核72发送第二消息块时,将第二DMA通道73的第二源地址设置为第二消息块的内存物理地址74,将第二DMA通道73的第二目标地址设置为m_MasterMsgBufPtr,由于第二DMA通道73的源地址为第二消息块的内存物理地址74,而第二DMA通道73的目标地址为主核消息块存储地址75,第二DMA通道73能够直接将第二消息块由第二消息块的内存物理地址74发送至主核消息块存储地址75,主从核系统不需要进行内存拷贝且不参与消息块的传输,大大降低了主从核系统的负荷。
在一具体实施方式中,步骤S200中所述从核设置所述第二DMA通道的第二参数的步骤之前还包括:
S003、判断所述第二消息块的长度是否小于预设的长度阈值;
S004、若否,则返回所述第二消息块发送失败的消息。
具体实施时,所述第二消息块的长度一般不会太长,若太长则说明从核发送的第二消息块为误传的或者从核发送的第二消息块中存在错误,为了避免第二消息块被误传或者传输的第二消息块存在错误,本实施例中限制从核传输给主核的第二消息块的长度只能在预设的长度范围内,在从核向主核发送第二消息块之前,先判断第二消息块的长度是否在预设的长度范围内,若是,则继续发送第二消息块;若否,则停止向主核发送第二消息块,并返回第二消息块传输失败的消息。在一具体实施例中,所述第二消息块的预设长度范围为1M。
本发明还提供了一种AMP系统核间通讯方法的具体应用实施例的从核向主核发送第二消息块的流程图,如图8所示,包括以下步骤:
步骤S31、判断第二消息块的长度是否大于1M;若是,则执行步骤S32;若否,则执行步骤S33
步骤S32、返回第二消息块发送失败的消息;
步骤S33、设置第二DMA通道的第二源地址为第二消息块的内存物理地址,第二目标地址为主核消息块存储地址,第二发送长度为第二消息块的长度;
步骤S34、启动第二DMA通道进行第二消息块的传输;
步骤S35、返回第二DMA通道的第二消息块的传输结果。
在一具体实施方式中,所述步骤S200之后还包括:
S201、主核判断所述主核消息块存储地址中的所述第二消息块的长度是否为0;
S202、若否,则解析出所述第二消息块中的主核指令,并执行所述主核指令对应的操作。
具体实施时,主核创建一个任务Task_CheckMsgFromSlaver用于从主核消息块存储地址中获取从核发送的第二消息块,并判断所述第二消息块的长度是否为0,若是,则表明主核没有接收到从核发送的第二消息块,等待预设时长后继续从主核消息块存储地址中获取从核发送的第二消息块;若否,则从第二消息块中解析出主核指令,并执行所述主核指令对应的操作。
在一具体实施方式中,所述步骤S202之后还包括:
S203、对所述主核消息块存储地址中的第二消息块清零。
具体实施时,若主核消息块存储地址中存储的消息块太多,主核系统负荷太大,影响主核系统的运行。本实施例中在主核解析出第二消息块中的主核指令后,将主核消息块存储地址中的第二消息块清零以便继续接收从核通过第二DMA通道发送的第二消息块。
本发明还提供了一种AMP系统核间通讯方法的具体应用实施例的主核获取第二消息块的流程图,如图9所示,包括以下步骤:
步骤S41、从主核消息块存储地址中获取第二消息块;
步骤S42、判断第二消息块的长度是否为0;若是,则执行步骤S46;若否,则执行步骤S43;
步骤S43、解析第二消息块中的主核指令;
步骤S44、将主核指令发送到对应的模块中执行;
步骤S45、对主核消息块存储地址中的第二消息块清零;
步骤S46、睡眠10毫秒。
基于上述实施例,本发明还提供了一种计算机设备,其原理框图可以如图10所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和温度传感器。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现AMP系统核间通讯方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的温度传感器是预先在计算机设备内部设置,用于检测内部设备的当前运行温度。
本领域技术人员可以理解,图10中示出的原理框图,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所述系统应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时至少可以实现以下步骤:
主核设置所述第一DMA通道的第一参数后,通过所述第一DMA通道向从核发送第一消息块;其中,所述第一参数包括第一源地址、第一目标地址以及第一发送长度;
所述从核设置所述第二DMA通道的第二参数后,通过所述第二DMA通道向所述主核发送第二消息块;其中,所述第二参数包括第二源地址、第二目标地址以及第二发送长度。
在其中的一个实施例中,该处理器执行计算机程序时还可以实现:主核将所述第一DMA通道的第一源地址设置为所述第一消息块的内存物理地址,第一目标地址设置为所述从核中预先设置的从核消息块存储地址以及第一发送长度设置为所述第一消息块的长度;启动所述第一DMA通道将所述第一消息块发送至所述从核消息块存储地址。
在其中的一个实施例中,该处理器执行计算机程序时还可以实现:判断所述第一消息块的长度是否小于预设的长度阈值;若否,则返回所述第一消息块发送失败的消息。
在其中的一个实施例中,该处理器执行计算机程序时还可以实现:从核判断所述从核消息块存储地址中的所述第一消息块的长度是否为0;若否,则解析出所述第一消息块中的从核指令,并执行所述从核指令对应的操作。
在其中的一个实施例中,该处理器执行计算机程序时还可以实现:对所述从核消息块存储地址中的第一消息块清零。
在其中的一个实施例中,该处理器执行计算机程序时还可以实现:从核将所述第二DMA通道的第二源地址设置为所述第二消息块的内存物理地址,第二目标地址设置为所述主核中预先设置的主核消息块存储地址以及第二发送长度设置为所述第二消息块的长度;启动所述第二DMA通道将所述第二消息块发送至所述主核消息块存储地址。
在其中的一个实施例中,该处理器执行计算机程序时还可以实现:判断所述第二消息块的长度是否小于预设的长度阈值;若否,则返回所述第二消息块发送失败的消息。
在其中的一个实施例中,该处理器执行计算机程序时还可以实现:主核判断所述主核消息块存储地址中的所述第二消息块的长度是否为0;若否,则解析出所述第二消息块中的主核指令,并执行所述主核指令对应的操作。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本发明所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
综上所述,本发明提供了一种AMP系统核间通讯方法、计算机设备及存储介质,所述方法包括:主核设置第一DMA通道的第一参数后,通过第一DMA通道向从核发送第一消息块;从核设置第二DMA通道的第二参数后,通过第二DMA通道向主核发送第二消息块。本发明主从核之间通过第一DMA通道和第二DMA通道进行第一数据块和第二数据块的传输,第一数据块和第二数据块可以直接在从核和主核之间进行传输,主从核系统不需要进行内存拷贝且不参与数据块的传输,大大降低了主从核系统的负荷。
应当理解的是,本发明的系统应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。
Claims (10)
1.一种AMP系统核间通讯方法,其特征在于,所述AMP系统包括第一DMA通道和第二DMA通道;所述方法包括步骤:
主核设置所述第一DMA通道的第一参数后,通过所述第一DMA通道向从核发送第一消息块;其中,所述第一参数包括第一源地址、第一目标地址以及第一发送长度;
所述从核设置所述第二DMA通道的第二参数后,通过所述第二DMA通道向所述主核发送第二消息块;其中,所述第二参数包括第二源地址、第二目标地址以及第二发送长度。
2.根据权利要求1所述的AMP系统核间通讯方法,其特征在于,所述主核设置所述第一DMA通道的第一参数后,通过所述第一DMA通道向从核发送第一消息块的步骤具体包括:
主核将所述第一DMA通道的第一源地址设置为所述第一消息块的内存物理地址,第一目标地址设置为所述从核中预先设置的从核消息块存储地址以及第一发送长度设置为所述第一消息块的长度;
启动所述第一DMA通道将所述第一消息块发送至所述从核消息块存储地址。
3.根据权利要求2所述的AMP系统核间通讯方法,其特征在于,所述主核设置所述第一DMA通道的参数的步骤之前还包括:
判断所述第一消息块的长度是否小于预设的长度阈值;
若否,则返回所述第一消息块发送失败的消息。
4.根据权利要求3所述的AMP系统核间通讯方法,其特征在于,所述启动所述第一DMA通道将所述第一消息块发送至所述从核消息块存储地址的步骤之后还包括:
从核判断所述从核消息块存储地址中的所述第一消息块的长度是否为0;
若否,则解析出所述第一消息块中的从核指令,并执行所述从核指令对应的操作。
5.根据权利要求4所述的AMP系统核间通讯方法,其特征在于,所述解析出所述第一消息块中的从核指令的步骤之后还包括;
对所述从核消息块存储地址中的第一消息块清零。
6.根据权利要求1所述的AMP系统核间通讯方法,其特征在于,所述从核设置所述第二DMA通道的第二参数后,通过所述第二DMA通道向所述主核发送第二消息块的步骤具体包括:
所述从核将所述第二DMA通道的第二源地址设置为所述第二消息块的内存物理地址,第二目标地址设置为所述主核中预先设置的主核消息块存储地址以及第二发送长度设置为所述第二消息块的长度;
启动所述第二DMA通道将所述第二消息块发送至所述主核消息块存储地址。
7.根据权利要求6所述的AMP系统核间通讯方法,其特征在于,所述从核设置所述第二DMA通道的第二参数的步骤之前还包括:
判断所述第二消息块的长度是否小于预设的长度阈值;
若否,则返回所述第二消息块发送失败的消息。
8.根据权利要求7所述的AMP系统核间通讯方法,其特征在于,所述启动所述第二DMA通道将所述第二消息块发送至所述主核消息块存储地址的步骤之后还包括:
主核判断所述主核消息块存储地址中的所述第二消息块的长度是否为0;
若否,则解析出所述第二消息块中的主核指令,并执行所述主核指令对应的操作。
9.一种计算机设备,其特征在于,包括:处理器、与处理器通信连接的存储介质,所述存储介质适于存储多条指令;所述处理器适于调用所述存储介质中的指令,以执行实现上述权利要求1-8任一项所述的AMP系统核间通讯方法的步骤。
10.一种存储介质,其特征在于,所述存储介质上存储有AMP系统核间通讯方法的控制程序,所述AMP系统核间通讯方法的控制程序被处理器执行时实现如权利要求1-8中任一项所述的AMP系统核间通讯方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010141503.6A CN111427816A (zh) | 2020-03-04 | 2020-03-04 | 一种amp系统核间通讯方法、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010141503.6A CN111427816A (zh) | 2020-03-04 | 2020-03-04 | 一种amp系统核间通讯方法、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111427816A true CN111427816A (zh) | 2020-07-17 |
Family
ID=71547632
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010141503.6A Pending CN111427816A (zh) | 2020-03-04 | 2020-03-04 | 一种amp系统核间通讯方法、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111427816A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114253741A (zh) * | 2021-12-02 | 2022-03-29 | 国汽智控(北京)科技有限公司 | 多核微处理器的核间通信方法和多核微处理器 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1688986A (zh) * | 2002-07-23 | 2005-10-26 | 皇家飞利浦电子股份有限公司 | 用于处理器之间的通信的改进的处理器间通信系统 |
CN101529391A (zh) * | 2006-10-24 | 2009-09-09 | Arm有限公司 | 在非对称多处理器设备上执行诊断操作 |
CN102831015A (zh) * | 2012-08-01 | 2012-12-19 | 华为技术有限公司 | 多核处理器的调度方法和设备 |
CN102929724A (zh) * | 2012-11-06 | 2013-02-13 | 无锡江南计算技术研究所 | 基于异构众核处理器的多级访存方法、离散访存方法 |
US8831145B2 (en) * | 2010-05-18 | 2014-09-09 | Texas Instruments Incorporated | Hart transmitter/receiver systems |
CN106951388A (zh) * | 2017-03-16 | 2017-07-14 | 湖南博匠信息科技有限公司 | 一种基于PCIe的DMA数据传输方法及系统 |
CN109491791A (zh) * | 2018-11-09 | 2019-03-19 | 华东师范大学 | 基于申威众核处理器的nsga-ii的主从增强式运行方法及装置 |
-
2020
- 2020-03-04 CN CN202010141503.6A patent/CN111427816A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1688986A (zh) * | 2002-07-23 | 2005-10-26 | 皇家飞利浦电子股份有限公司 | 用于处理器之间的通信的改进的处理器间通信系统 |
CN101529391A (zh) * | 2006-10-24 | 2009-09-09 | Arm有限公司 | 在非对称多处理器设备上执行诊断操作 |
US8831145B2 (en) * | 2010-05-18 | 2014-09-09 | Texas Instruments Incorporated | Hart transmitter/receiver systems |
CN102831015A (zh) * | 2012-08-01 | 2012-12-19 | 华为技术有限公司 | 多核处理器的调度方法和设备 |
CN102929724A (zh) * | 2012-11-06 | 2013-02-13 | 无锡江南计算技术研究所 | 基于异构众核处理器的多级访存方法、离散访存方法 |
CN106951388A (zh) * | 2017-03-16 | 2017-07-14 | 湖南博匠信息科技有限公司 | 一种基于PCIe的DMA数据传输方法及系统 |
CN109491791A (zh) * | 2018-11-09 | 2019-03-19 | 华东师范大学 | 基于申威众核处理器的nsga-ii的主从增强式运行方法及装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114253741A (zh) * | 2021-12-02 | 2022-03-29 | 国汽智控(北京)科技有限公司 | 多核微处理器的核间通信方法和多核微处理器 |
CN114253741B (zh) * | 2021-12-02 | 2022-11-08 | 国汽智控(北京)科技有限公司 | 多核微处理器的核间通信方法和多核微处理器 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101539878B1 (ko) | 컴퓨터 시스템, pci 익스프레스 엔드포인트 디바이스에 액세스하는 방법 및 장치 | |
EP3103018B1 (en) | Method for debugging computer program | |
US8478926B1 (en) | Co-processing acceleration method, apparatus, and system | |
US20070214307A1 (en) | Dynamically setting routing information to transfer input output data directly into processor caches in a multi processor system | |
US9560116B2 (en) | Network device, system, method, and storage medium | |
CN108989432B (zh) | 用户态的文件发送方法、文件接收方法和文件收发装置 | |
CN111427821B (zh) | 双核amp系统共用spi接口的方法、系统及存储介质 | |
CN111427816A (zh) | 一种amp系统核间通讯方法、计算机设备及存储介质 | |
CN111339000B (zh) | Amp系统内存文件传输方法及装置 | |
CN111427806A (zh) | 一种双核amp系统共用串口的方法、存储介质及智能终端 | |
US9690619B2 (en) | Thread processing method and thread processing system for setting for each thread priority level of access right to access shared memory | |
CN111338998B (zh) | 基于amp系统的flash访问处理方法及装置 | |
KR20180065882A (ko) | 멀티 코어 프로세서 및 그것의 동작 방법 | |
CN111427817A (zh) | 一种amp系统双核共用i2c接口的方法、存储介质及智能终端 | |
CN111427815A (zh) | 一种基于spi接口的核间通讯方法、终端及存储介质 | |
JP2010231295A (ja) | 解析システム | |
CN111427813A (zh) | 一种基于串口的核间通讯方法、终端及存储介质 | |
JPWO2014087654A1 (ja) | データ送信装置、データ送信方法、及び記録媒体 | |
US9460013B2 (en) | Method and system for removal of a cache agent | |
CN115904602B (zh) | 一种应用于多操作系统的多窗口投射方法、系统和车机 | |
CN117539802B (zh) | 一种缓存操作方法、系统以及相关装置 | |
US20220269546A1 (en) | Control device, method, program, and vehicle | |
CN115437811A (zh) | 进程间通信方法、装置、设备及存储介质 | |
CN118035143A (zh) | 一种dma地址的分配方法、设备及存储介质 | |
CN108108243B (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200717 |