CN111026697A - 核间通信方法、系统、电子器件以及电子设备 - Google Patents

核间通信方法、系统、电子器件以及电子设备 Download PDF

Info

Publication number
CN111026697A
CN111026697A CN201911150895.6A CN201911150895A CN111026697A CN 111026697 A CN111026697 A CN 111026697A CN 201911150895 A CN201911150895 A CN 201911150895A CN 111026697 A CN111026697 A CN 111026697A
Authority
CN
China
Prior art keywords
communication
data
core
target
module
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
Application number
CN201911150895.6A
Other languages
English (en)
Inventor
陈岩
薛江
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangdong Oppo Mobile Telecommunications Corp Ltd
Original Assignee
Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Guangdong Oppo Mobile Telecommunications Corp Ltd filed Critical Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority to CN201911150895.6A priority Critical patent/CN111026697A/zh
Publication of CN111026697A publication Critical patent/CN111026697A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations 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/163Interprocessor communication
    • G06F15/167Interprocessor communication using a common memory, e.g. mailbox
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues

Abstract

本申请实施例公开了一种核间通信方法、系统、电子器件以及电子设备。所述方法包括:接口模块接收通信数据,所述接口模块将所述通信数据发送给目标通信模块,以便所述目标通信模块将所述通信数据写入对应的存储区域,所述目标通信模块为所述通信数据传输目标的目标核对应的通信模块,所述目标通信模块产生中断信号给所述目标核,以用于触发所述目标核发送数据读取指令,当所述目标通信模块接收到所述目标核发送的数据读取指令时,从所述存储区域读取所述通信数据通过所述接口模块发送给所述目标核。从而实现在需要进行处理器或者核的扩展时,仅需要线性增加通信模块即可,而不用对应于原本的核都单独增加一个通信模块,提升了硬件扩展的便利性,同时也降低了扩展成本。

Description

核间通信方法、系统、电子器件以及电子设备
技术领域
本申请涉及电子技术领域,更具体地,涉及一种核间通信方法、系统、电子 器件以及电子设备。
背景技术
随着电子设备对于数据处理的需要,逐渐配置了包括多个核的处理器进 行数据处理。在相关的方式中,处理器的任意两个核之间通信需要分配专门 的通信模块。但是,这种通信方式不利于与核间通信相关的硬件器件的扩展。
发明内容
鉴于上述问题,本申请提出了一种核间通信方法、系统、电子器件以及电子 设备,以改善上述问题。
第一方面,本申请提供了一种核间通信方法,应用于电子器件,所述电 子器件至少包括接口模块以及多个通信模块,所述多个通信模块各自对应于 不同的核,所述多个通信模块用于传输各自对应核的数据;所述方法包括: 所述接口模块接收通信数据;所述接口模块将所述通信数据发送给目标通信 模块,以便所述目标通信模块将所述通信数据写入对应的存储区域,所述目 标通信模块为所述通信数据传输目标的目标核对应的通信模块;所述目标通 信模块产生中断信号给所述目标核,以用于触发所述目标核发送数据读取指 令;当所述目标通信模块接收到所述目标核发送的数据读取指令时,从所述 存储区域读取所述通信数据通过所述接口模块发送给所述目标核。
第二方面,本申请提供了一种核间通信系统,至少包括多个核以及电子 器件,所述电子器件至少包括接口模块以及多个通信模块,所述多个通信模 块各自对应于所述多个核中不同的核,所述多个通信模块用于传输各自对应 核的数据;所述接口模块,用于接收通信数据,将所述通信数据发送给目标 通信模块,以便所述目标通信模块将所述通信数据写入对应的存储区域,所 述目标通信模块为所述通信数据传输目标的目标核对应的通信模块;所述目 标通信模块,用于产生中断信号给所述目标核,以用于触发所述目标核发送 数据读取指令,并在当所述目标通信模块接收到所述目标核发送的数据读取 指令时,从所述存储区域读取所述通信数据通过所述接口模块发送给所述目 标核。
第三方面,本申请提供了一种电子设备,所述电子设备至少包括多个核、 总线模块以及前述电子器件,其中,所述多个核分别通过所述总线模块与所 述接口模块通信。
第四方面,本申请提供了一种计算机可读存储介质,所述计算机可读存 储介质中存储有程序代码,其中,在所述程序代码被处理器运行时执行上述 的方法。
本申请提供的一种核间通信方法、系统、电子器件以及电子设备,在所 述电子器件至少包括接口模块以及多个通信模块,所述多个通信模块各自对 应于不同的核,所述多个通信模块用于传输各自对应核的数据的情况下,在 所述接口模块接收通信数据后,将所述通信数据发送给目标通信模块,以便 所述目标通信模块将所述通信数据写入对应的存储区域;对于接收到通信数 据的所述目标通信模块产生中断信号给所述目标核,以用于触发所述目标核 发送数据读取指令,而当所述目标通信模块接收到所述目标核发送的数据读 取指令时,从所述存储区域读取所述通信数据通过所述接口模块发送给所述 目标核。从而通过给每个核都在电子器件中配置一个所属的专用通信模块, 使得该专用的通信模块可以集中收集发送给所属核的通信数据,继而实现在 需要进行处理器或者核的扩展时,仅需要线性增加通信模块即可,而不用对 应于原本的核都单独增加一个通信模块,提升了硬件扩展的便利性,同时也 降低了扩展成本。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所 需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申 请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下, 还可以根据这些附图获得其他的附图。
图1示出了一种相关核间通信方法中多核通信方式的示意图;
图2示出了本申请实施例提出的核间通信方法中应用环境的示意图;
图3示出了本申请一实施例提出的一种核间通信方法的流程图;
图4示出了本申请另一实施例提出的一种核间通信方法的流程图;
图5示出了本申请实施例提出的一种核间通信方法中一次通信数据的数 据结构的示意图;
图6示出了本申请再一实施例提出的一种核间通信方法的流程图;
图7示出了本申请再一实施例提出的一种核间通信方法中的转换为串行 数据的示意图;
图8示出了本申请的用于执行根据本申请实施例的核间通信方法的另一 种电子设备的结构框图;
图9示出了本申请实施例提供的一种计算机可读存储介质的结构框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行 清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而 不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作 出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
随着电子设备功能的日益丰富,更多的电子设备会配置多个处理器来处理 不同功能所需的数据,或者配置多核处理器来处理不同功能所需的数据。例如, 电子设备中的应用程序的相关数据可以配置由一个处理器来进行处理,而对于 电子设备中的音频数据或者图像数据可以由单独配置一个处理器来执行。再例 如,电子设备中的应用程序的相关数据可以配置由多核处理器中的一个核来处 理,而对于电子设备中的音频数据或者图像数据可以由多核处理器中的其他核 来进行处理。
可以理解的是,电子设备中的很多数据都是相互关联的,那么在电子设备 会配置多个处理器来处理不同功能所需的数据,或者配置多核处理器来处理不 同功能所需的数据的情况下,同一个处理器的不同核或者不同处理器的核之间 就可能需要进行通信以便来实现数据交互。
发明人在研究相关的核间通信的过程中发现,在相关的涉及核间通信的硬 件中,还存在一定的扩展性较差,且成本较高的问题。例如,如图1所示,在有 核A、核B以及核C的情况下,基于相关的核间通信方式,那么核A和核B之 间需要单独配置一个负责数据传输的邮箱模块,核B和核C之间需要单独配置 一个负责信息传输的邮箱模块,类似的,核A和核C之间也需要单独配置一个 负责信息传输的邮箱模块。而在这种情况下,若需要增加1个核(例如,核D), 那么为了实现核D与核A、核B以及核B均可以通信,那么需要再增加3个负 责数据传输的邮箱模块。即若一共有N个核进行相互的核间数据传输,那么一 共需要C2 N个负责数据传输的邮箱模块。从前述实例看出,在相关的核间通信方 式中负责数据传输的邮箱模块的增加并不是线性的,所以扩展性较差,且成本较 高。还有每个邮箱模块所存储数据一般不能太大,需要及时交互。原因是如果存 储数据设计太大,即需要多个寄存器地址(邮箱模块是通过寄存器实现),会造 成设计代码十分冗长。
因此,发明人在研究中发现上述问题后,提出了本申请中可以改善上述问 题的核间通信方法、系统、电子器件以及电子设备。从而通过给每个核都在电子 器件中配置一个所属的专用通信模块,使得该专用的通信模块可以集中收集发 送给所属核的通信数据,继而实现在需要进行处理器或者核的扩展时,仅需要线 性增加通信模块即可,而不用对应于原本的核都单独增加一个通信模块,提升了 硬件扩展的便利性,同时也降低了扩展成本。
下面先对本申请实施例中所涉及的一种运行环境的进行介绍。
如图2所示,在图2所示的运行环境中,电子设备200包括有第一核210、 第二核220以及第三核230。此外,还包括数据处理模块240以及电子器件250。 其中电子器件250包括接口模块251、第一通信模块252、第二通信模块253、 第三通信模块254。第一核210、第二核220以及第三核230与接口模块251之 间可以基于总线的方式进行数据通信。例如,可以基于AHB(Advanced High performance Bus)总线方式进行通信。
其中,第一通信模块252为与第一核210对应的通信模块,第二通信模块 253为与第二核220对应的通信模块,第三通信模块254为与第三核230对应的 通信模块。在通信模块负责收集发送给对应核的通信数据的情况下,接口模块 251会将发送给第一核210的通信数据发送给第一通信模块252,接口模块251 会将发送给第一核220的通信数据发送给第一通信模块253,接口模块251会将 发送给第三核230的通信数据发送给第一通信模块254。而当某个通信模块接收 到通信数据后会产生中断信号给自身所对应的核,以便来读取通信数据。
可选的,其中的第一通信模块252、第二通信模块253、第三通信模块254 都各自包括有存储以及读取通信数据的控制器以及存储区域,该存储区域可以 为SRAM(StaticRandom-Access Memory)存储器中动态划分的一个存储区域。
需要说明的是,图2只是示例性的介绍,在本申请实施例中,电子设备200 还可以包括除了第一核210、第二核220以及第三核230以外更多的核,也可以 仅包括第一核210、第二核220以及第三核230中的任意两个核。
下面将结合附图具体描述本申请的各实施例。
请参阅图3,本申请实施例提供的一种核间通信方法,应用于电子器件,所 述电子器件至少包括接口模块以及多个通信模块,所述多个通信模块各自对应 于不同的核,所述多个通信模块用于传输各自对应核的数据;所述方法包括:
步骤S110:所述接口模块接收通信数据。
作为一种方式,多个核与接口模块之间均是基于总线的方式进行的通信。例 如,可以是基于前述所示的AHB协议进行通信,那么在这种情况下,每个核都 可以作为AHB协议中的主设备,而接口模块则可以作为AHB协议中的从设备 (即AHB slave)。
可以理解的是,在在电子器件所在的电子设备的运行过程中一些任务可以 由本实施例中的多个核来完成。以第一核以及第二核共同来完成。那么为了顺利 的完成该任务,第一核和第二核在运行过程中可能就会进行数据的通信。例如, 电子设备将某一任务拆分为主任务以及多个子任务,其中,主任务由第一核来负 责进行数据处理,而多个子任务的由第二核来进行数据处理,而对于子任务在被 处理的过程中所产生的数据是存储在第二核对应的存储器中的,那么为了第一 核完整的完成任务,第二核就需要将自身处理的数据发送给第一核,以实现得到 完整的任务的数据。
例如,示例性的,若电子设备当前受控运行一应用程序,该应用程序在运行 过程中会涉及到对界面的渲染构建,其中,该渲染构建包括界面框架数据的渲染 以及对界面填充内容(例如,图片)的渲染。那么在这种情况下,电子设备可以 将该框架数据的渲染作为主任务配置为由第一核来完成,而将界面填充内容的 渲染作为子任务而配置为由第二核来完成,而对于第二核进行界面填充内容的 渲染过程中所产生的数据则可以存放到对应的存储器中,在这种情况下,第一核 为了实现完整界面的渲染,就需要第二核将进行界面填充内容的渲染过程中所 产生的数据发送给第一核,以便第一核完成整体界面的渲染绘制。
步骤S120:所述接口模块将所述通信数据发送给目标通信模块,以便所述 目标通信模块将所述通信数据写入对应的存储区域,所述目标通信模块为所述 通信数据传输目标的目标核对应的通信模块。
步骤S130:所述目标通信模块产生中断信号给所述目标核,以用于触发所 述目标核发送数据读取指令。
需要说明的是,如果通信的两个核在一个片上系统内,由该片上系统内连线 将中断信号发送到对应的核(即目标核)的中断入口,如果通信的两个核在两个 不同的片上系统内,可以通过GPIO(General-purpose input/output)将中断信号 发送给另一个片上系统,连到另一个片上系统的核的中断入口。
步骤S140:当所述目标通信模块接收到所述目标核发送的数据读取指令时, 从所述存储区域读取所述通信数据通过所述接口模块发送给所述目标核。
本申请提供的一种核间通信方法,在所述电子器件至少包括接口模块以及 多个通信模块,所述多个通信模块各自对应于不同的核,所述多个通信模块用于 传输各自对应核的数据的情况下,在所述接口模块接收通信数据后,将所述通信 数据发送给目标通信模块,以便所述目标通信模块将所述通信数据写入对应的 存储区域;对于接收到通信数据的所述目标通信模块产生中断信号给所述目标 核,以用于触发所述目标核发送数据读取指令,而当所述目标通信模块接收到所 述目标核发送的数据读取指令时,从所述存储区域读取所述通信数据通过所述 接口模块发送给所述目标核。
从而通过给每个核都在电子器件中配置一个所属的专用通信模块,使得该 专用的通信模块可以集中收集发送给所属核的通信数据,继而实现在需要进行 处理器或者核的扩展时,仅需要线性增加通信模块即可,而不用对应于原本的核 都单独增加一个通信模块,提升了硬件扩展的便利性,同时也降低了扩展成本。
请参阅图4,本申请实施例提供的一种核间通信方法,应用于电子器件, 所述电子器件至少包括接口模块以及多个通信模块,所述多个通信模块各自 对应于不同的核,所述多个通信模块用于传输各自对应核的数据;所述方法 包括:
步骤S210:所述接口模块接收通信数据,所述通信数据包括多个数据块, 且所述多个数据块由不同的核发送。
需要说明的是,每个核的所发送的通信数据可以由多个部分组成,而其 中的单独一个部分可以作为一个数据块。示例性的,如图5所示,图5示出 了核所发送的一次通信数据所包括的两个部分,其中一个部分为指令部分包 括11个数据位,另一个部分为数据部分包括4个数据位。对于其中的指令部 分,bit7表征数据是同步还是异步,bit6表征这次数据是主动发送,还是回复 其他核发送的数据,bit5表征开始或者结束,bit4-0表征指令标识,Byte2-0 表征发送数据或者返回值。对于数据部分,Byte3-0表征地址或者数据,其中 若指令部分的Byte2-0表征发送数据的字段不大于4,数据部分Byte3-0表征 数据,若指令部分的Byte2-0表征发送数据的字段大于4,数据部分Byte3-0 表征地址。
步骤S220:所述接口模块依次对所述多个数据块进行译码,以获取每个数 据块各自对应的目标通信模块。
需要说明的是,因为一次通信过程所发送的通信数据由多个部分组成,而 为了实现每个部分可以最终被发送到目标通信模块,那么每个数据块都携带有 所对应的目标通信模块的地址,进而实现接口模块依次对所述多个数据块进行 译码,可以获取到每个数据块对应的目标通信模块。
步骤S230:将所述多个数据块发送给各自对应的目标通信模块,以便所述 目标通信模块将接收到的数据块写入对应的存储区域,所述目标通信模块为 所述多个数据块传输目标的目标核对应的通信模块。
步骤S240:所述目标通信模块产生中断信号给所述目标核,以用于触发 所述目标核发送数据读取指令。
需要说明的是,对于不同的数据块所对应的目标通信模块可能是不同的。 那么步骤S240中只要接收到有数据块的通信模块都可以被理解为在步骤230中 被确定为目标通信模块的通信模块。
步骤S250:当所述目标通信模块接收到所述目标核发送的数据读取指令 时,从所述存储区域读取所存储的数据块通过所述接口模块发送给所述目标 核。
作为一种方式,所述多个通信模块均采用先入先出(FIFO)的方式对各 自对应的所述存储区域中的数据进行传输。在这种方式下,通信模块仅需要 配置1个存储地址即可,即发送通信数据的核将发送的通信数据依次往这个 地址发送,而接口模块接收到通信数据后即向该地址写入通信数据,而目标 进而核也直接从该地址读出该通信数据,从而有效的减少地址映射,保证了 操作的简洁性。
本申请提供的一种核间通信方法,该方法通过给每个核都在电子器件中配 置一个所属的专用通信模块,使得该专用的通信模块可以集中收集发送给所属 核的通信数据,继而实现在需要进行处理器或者核的扩展时,仅需要线性增加通 信模块即可,而不用对应于原本的核都单独增加一个通信模块,提升了硬件扩展 的便利性,同时也降低了扩展成本。并且,在本申请实施例中,在接口模块所接 收到的通信数据包括不同核发送的多个数据块的情况下,可以通过对每个数据 块依次进行译码的情况下,实现不同数据块的分发,进而实现每个核都可以将一 次发送的通信数据换分为多个数据块进行发送,提升了整体通信过程中的灵活 性。
请参阅图6,本申请实施例提供的一种核间通信方法,应用于电子器件, 所述电子器件至少包括接口模块以及多个通信模块,所述多个通信模块各自 对应于不同的核,所述多个通信模块用于传输各自对应核的数据;所述方法 包括:
步骤S310:所述数据处理模块将所述多个核发送的待处理通信数据转换 为串行数据。
作为一种方式,若同时接收到多个核发送的通信数据,所述数据处理模 块对所述多个核的通信数据发送顺序进行仲裁;基于仲裁的多个核的通信数 据发送顺序,生成串行数据,其中,对应的发送顺序越优先的通信数据在所 述串行数据中越配置在前。
其中,在本申请实施例中,数据处理模块有多种方式对同时发送通信数 据的核进行仲裁。
作为一种方式,数据处理模块可以基于多个核本身的数据处理优先级进 行仲裁。例如,在有多个核的情况下,其中的有的核可以为电子设备的应用 处理器的核,而有的核可以为协处理器的核(例如,进行图像数据处理或者 音频数据处理的处理器),在这种方式下,可以配置应用处理器的核的数据 处理优先级高于协处理器的核的数据处理优先级。
作为另外一种方式,数据处理模块可以基于每个核当前所处理数据的优 先级来进行仲裁。示例性的,因为涉及到实时的进行界面显示,那么对于前 台类型的应用程序的数据则需要较为优先处理,因此若某个核所发送的通信 数据为携带前台类型的应用程序相关的界面数据时,该某个核对应的数据处 理优先级高于其他核的数据处理优先级。
步骤S320:将所述串行数据作为通信数据发送给所述接口模块。
步骤S330:所述接口模块接收通信数据。
步骤S340:所述接口模块将所述通信数据发送给目标通信模块,以便所 述目标通信模块将所述通信数据写入对应的存储区域,所述目标通信模块为 所述通信数据传输目标的目标核对应的通信模块。
示例性的,如图7所示第一核210发送的通信数据包括C01、D01、C02 以及D02这几个数据块。其中,C01以及D01为第一核210发送给第二核 220的一次通信数据,C02以及D02为第一核210发送给第三核230的一次 通信数据。类似的,第二核210发送的通信数据包括C10、D10、C12以及 D12这几个数据块,C10以及D10为第二核220发送给第一核210的一次通信数据,C12以及D12为第二核220发送给第三核230的一次通信数据。第 三核220发送的通信数据包括C20、D20、C21以及D21这几个数据块,C20 以及D20为第三核230发送给第一核210的一次通信数据,C21以及D21为 第三核230发送给第二核220的一次通信数据。
那么在这种情况下,数据处理模块240仲裁数据发送优先级依次为第一 核210、第二核220以及第三核230的情况下,所生成的串行数据中C01、 D01、C02以及D02会排序最靠前,C10、D10、C12以及D12会在后,而 C20、D20、C21以及D21会在最后。
进而发送给第一核的通信数据C10、D10、C20以及D20,会被第一通信 模块252写入到对应的存储区域310中,C01、D01、C21以及D21,会被第 二通信模块253写入到对应的存储区域320中,C02、D02、C12以及D12, 会被第三通信模块254写入到对应的存储区域330中。
而作为另外一种生成串行数据的方式,可以集中将多个核发送的通信数 据的指令部分集中配置在串行数据前部,而将多个核发送的通信数据的数据 部分集中配置在串行数据后部,从而实现更加灵活的数据发送方式。示例性 的,在这种方式下,所生成的串行数据中的数据块的依次排序为C02、C01、 C12、C10、C21、C20、D02、D01、D12、D10、D21以及D20。
而在再一种生成串行数据的方式中,可以将指令部分和数据部分打乱排 序,在这种方式下,所生成的串行数据中的数据块的依次排序为C02、C01、 C12、C10、D02、D01、C21、C20、D12、D10、D21以及D20。
步骤S350:所述目标通信模块产生中断信号给所述目标核,以用于触发 所述目标核发送数据读取指令。
步骤S360:当所述目标通信模块接收到所述目标核发送的数据读取指令 时,从所述存储区域读取所述通信数据通过所述接口模块发送给所述目标核。
作为一种方式,所述电子器件还包括存储空间管理模块,所述方法,还 包括:所述储空间管理模块根据指定条件,调节多个通信模块各自对应的存 储区域存储数据的容量。
其中,可选的,所述储空间管理模块根据指定条件,调节多个通信模块 各自对应的存储区域存储数据的容量的步骤包括:所述储空间管理模块获取 满足所述指定条件的待调节通信模块,所述指定条件包括所对应的核的通信 数据量不大于指定阈值的通信模块;降低所述待调节通信模块对应的存储区 域存储数据的容量。
作为一种方式,所述降低所述待调节通信模块对应的存储区域存储数据 的容量的步骤包括:获取所述待调节通信模块在指定时间段内的通信数据量 与所述指定阈值的差值;获取与所述差值对应的第一值;将所述待调节通信 模块对应的存储区域存储数据的容量降低所述第一值。
本申请提供的一种核间通信方法,该方法通过给每个核都在电子器件中配 置一个所属的专用通信模块,使得该专用的通信模块可以集中收集发送给所属 核的通信数据,继而实现在需要进行处理器或者核的扩展时,仅需要线性增加通 信模块即可,而不用对应于原本的核都单独增加一个通信模块,提升了硬件扩展 的便利性,同时也降低了扩展成本。
并且,在本申请实施例中,还包括可以对多个核的发送通信数据的权限进 行仲裁的数据处理模块,进而在检测到有多个核同时发送数据的情况下,可以通 过仲裁的方式确定多个核发送数据的现有顺序,进而在依据该先后顺序生成包 括多个核发送的通信数据的串行数据,以便避免多个核同时发起通信状况下出 现数据错误。并且,通过生成并行数据的方式,可以保证多个核的数据都可以即 时进行发送,提升了发送效率。
本申请提供的一种核间通信系统,通过给每个核都在电子器件中配置一 个所属的专用通信模块,使得该专用的通信模块可以集中收集发送给所属核 的通信数据,继而实现在需要进行处理器或者核的扩展时,仅需要线性增加 通信模块即可,而不用对应于原本的核都单独增加一个通信模块,提升了硬 件扩展的便利性,同时也降低了扩展成本。
本申请实施例提供的一种核间通信系统,至少包括多个核以及电子器件, 所述电子器件至少包括接口模块以及多个通信模块,所述多个通信模块各自对 应于所述多个核中不同的核,所述多个通信模块用于传输各自对应核的数据;
所述接口模块,用于接收通信数据,将所述通信数据发送给目标通信模块, 以便所述目标通信模块将所述通信数据写入对应的存储区域,所述目标通信模 块为所述通信数据传输目标的目标核对应的通信模块;
所述目标通信模块,用于产生中断信号给所述目标核,以用于触发所述目 标核发送数据读取指令,并在当所述目标通信模块接收到所述目标核发送的数 据读取指令时,从所述存储区域读取所述通信数据通过所述接口模块发送给所 述目标核
需要说明的是,本申请中核间通信系统的实施例与前述方法实施例是相互 对应的,核间通信系统实施例中具体的原理可以参见前述方法实施例中的内容, 此处不再赘述。
下面将结合图8对本申请提供的一种电子设备进行说明。
请参阅图8,基于上述的核间通信方法,本申请实施例还提供的另一种包括 可以执行前述核间通信方法的电子设备200。电子设备200包括处理器102、存 储器104、网络模块106以及片上系统108。其中,该存储器104中存储有可以 执行前述实施例中内容的程序。其中,片上系统108的内部结构可以如图2所 示。且需要说明的是,片上系统108中的每个通信模块各自对应的存储区域可 以直接配置在该存储器102中。此外,片上系统108中的每个通信模块各自对 应的存储区域可以为片上系统中的SRAM存储器中。
其中,处理器102可以包括一个或者多个用于处理数据的核,而其中的某 一个核可以为前述实施例中的第一核,在这种情况下,处理器102中的核可以 执行通过所述命令传输模块向所述第二核发送第一命令,所述第一命令表征 所述第一核准备执行与目标地址对应的数据处理操作,所述目标地址位于所 述第二核所对应存储器中,以及响应于所述第二命令通过所述总线模块执行 与所述目标地址对应的数据处理操作的操作。处理器102利用各种接口和线路 连接整个电子设备200内的各个部分,通过运行或执行存储在存储器104内的 指令、程序、代码集或指令集,以及调用存储在存储器104内的数据,执行电子 设备200的各种功能和处理数据。可选地,处理器102可以采用数字信号处理(Digital SignalProcessing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable Logic Array,PLA)中的至少 一种硬件形式来实现。处理器102可集成中央处理器(Central Processing Unit, CPU)、图像处理器(Graphics ProcessingUnit,GPU)和调制解调器等中的一种 或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU 用于负责显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是, 上述调制解调器也可以不集成到处理器102中,单独通过一块通信芯片进行实 现。
存储器104可以包括随机存储器(Random Access Memory,RAM),也可 以包括只读存储器(Read-Only Memory)。存储器104可用于存储指令、程序、 代码、代码集或指令集。存储器104可包括存储程序区和存储数据区,其中,存 储程序区可存储用于实现操作系统的指令、用于实现至少一个功能的指令(比如 触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的 指令等。存储数据区还可以存储终端100在使用中所创建的数据(比如电话本、 音视频数据、聊天记录数据)等。
所述网络模块106用于接收以及发送电磁波,实现电磁波与电信号的相互 转换,从而与通讯网络或者其他设备进行通讯,例如和音频播放设备进行通讯。 所述网络模块106可包括各种现有的用于执行这些功能的电路元件,例如,天 线、射频收发器、数字信号处理器、加密/解密芯片、用户身份模块(SIM)卡、 存储器等等。所述网络模块106可与各种网络如互联网、企业内部网、无线网络 进行通讯或者通过无线网络与其他设备进行通讯。上述的无线网络可包括蜂窝 式电话网、无线局域网或者城域网。例如,网络模块106可以与基站进行信息交 互。
片上系统108,可以为在单个芯片上集成一个完整的系统,对所有或部分 必要的电子电路进行包分组的技术。所谓完整的系统一般包括中央处理器 (CPU)、存储器、以及外围电路等(可以理解的是,这里的中央处理器(CPU)、
请参考图9,其示出了本申请实施例提供的一种计算机可读存储介质的结构 框图。该计算机可读介质1100中存储有程序代码,所述程序代码可被处理器调 用执行上述方法实施例中所描述的方法。
计算机可读存储介质1100可以是诸如闪存、EEPROM(电可擦除可编程只 读存储器)、EPROM、硬盘或者ROM之类的电子存储器。可选地,计算机可 读存储介质1100包括非易失性计算机可读介质(non-transitory computer-readable storage medium)。计算机可读存储介质1100具有执行上述方法中的任何方法步 骤的程序代码810的存储空间。这些程序代码可以从一个或者多个计算机程序 产品中读出或者写入到这一个或者多个计算机程序产品中。程序代码1110可以 例如以适当形式进行压缩。
综上所述,本申请提供的一种核间通信方法、系统、电子器件以及电子设备, 在所述电子器件至少包括接口模块以及多个通信模块,所述多个通信模块各自 对应于不同的核,所述多个通信模块用于传输各自对应核的数据的情况下,在所 述接口模块接收通信数据后,将所述通信数据发送给目标通信模块,以便所述目 标通信模块将所述通信数据写入对应的存储区域;对于接收到通信数据的所述 目标通信模块产生中断信号给所述目标核,以用于触发所述目标核发送数据读 取指令,而当所述目标通信模块接收到所述目标核发送的数据读取指令时,从所 述存储区域读取所述通信数据通过所述接口模块发送给所述目标核。从而通过 给每个核都在电子器件中配置一个所属的专用通信模块,使得该专用的通信模 块可以集中收集发送给所属核的通信数据,继而实现在需要进行处理器或者核 的扩展时,仅需要线性增加通信模块即可,而不用对应于原本的核都单独增加一 个通信模块,提升了硬件扩展的便利性,同时也降低了扩展成本。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制; 尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员当理 解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技 术特征进行等同替换;而这些修改或者替换,并不驱使相应技术方案的本质脱离 本申请各实施例技术方案的精神和范围。

Claims (11)

1.一种核间通信方法,其特征在于,应用于电子器件,所述电子器件至少包括接口模块以及多个通信模块,所述多个通信模块各自对应于不同的核,所述多个通信模块用于传输各自对应核的数据;所述方法包括:
所述接口模块接收通信数据;
所述接口模块将所述通信数据发送给目标通信模块,以便所述目标通信模块将所述通信数据写入对应的存储区域,所述目标通信模块为所述通信数据传输目标的目标核对应的通信模块;
所述目标通信模块产生中断信号给所述目标核,以用于触发所述目标核发送数据读取指令;
当所述目标通信模块接收到所述目标核发送的数据读取指令时,从所述存储区域读取所述通信数据通过所述接口模块发送给所述目标核。
2.根据权利要求1所述的方法,其特征在于,所述通信数据包括多个数据块,且所述多个数据块由不同的核发送;所述接口模块将所述通信数据发送给目标通信模块的步骤包括:
所述接口模块依次对所述多个数据块进行译码,以获取每个数据块各自对应的目标通信模块;
将所述多个数据块发送给各自对应的目标通信模块。
3.根据权利要求1所述的方法,其特征在于,所述电子器件还包括数据处理模块;所述方法,还包括:
所述数据处理模块将所述多个核发送的待处理通信数据转换为串行数据;
将所述串行数据作为通信数据发送给所述接口模块。
4.根据权利要求3所述的方法,其特征在于,所述数据处理模块将所述多个核发送的通信数据转换为串行数据的步骤包括:
若同时接收到多个核发送的通信数据,所述数据处理模块对所述多个核的通信数据发送顺序进行仲裁;
基于仲裁的多个核的通信数据发送顺序,生成串行数据,其中,对应的发送顺序越优先的通信数据在所述串行数据中越配置在前。
5.根据权利要求1所述的方法,其特征在于,所述多个通信模块均采用先入先出的方式对各自对应的所述存储区域中的数据进行传输。
6.根据权利要求1-5任一所述的方法,其特征在于,所述电子器件还包括存储空间管理模块,所述方法,还包括:
所述储空间管理模块根据指定条件,调节多个通信模块各自对应的存储区域存储数据的容量。
7.根据权利要求6所述的方法,其特征在于,所述储空间管理模块根据指定条件,调节多个通信模块各自对应的存储区域存储数据的容量的步骤包括:
所述储空间管理模块获取满足所述指定条件的待调节通信模块,所述指定条件包括所对应的核的通信数据量不大于指定阈值的通信模块;
降低所述待调节通信模块对应的存储区域存储数据的容量。
8.根据权利要求7所述的方法,其特征在于,所述降低所述待调节通信模块对应的存储区域存储数据的容量的步骤包括:
获取所述待调节通信模块在指定时间段内的通信数据量与所述指定阈值的差值;
获取与所述差值对应的第一值;
将所述待调节通信模块对应的存储区域存储数据的容量降低所述第一值。
9.一种核间通信系统,其特征在于,至少包括多个核以及电子器件,所述电子器件至少包括接口模块以及多个通信模块,所述多个通信模块各自对应于所述多个核中不同的核,所述多个通信模块用于传输各自对应核的数据;
所述接口模块,用于接收通信数据,将所述通信数据发送给目标通信模块,以便所述目标通信模块将所述通信数据写入对应的存储区域,所述目标通信模块为所述通信数据传输目标的目标核对应的通信模块;
所述目标通信模块,用于产生中断信号给所述目标核,以用于触发所述目标核发送数据读取指令,并在当所述目标通信模块接收到所述目标核发送的数据读取指令时,从所述存储区域读取所述通信数据通过所述接口模块发送给所述目标核。
10.一种电子设备,其特征在于,所述电子设备至少包括多个核、总线模块以及如权利要求1-8任一所述的电子器件,其中,所述多个核分别通过所述总线模块与所述接口模块通信。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有程序代码,其中,在所述程序代码被处理器运行时执行权利要求1-8任一所述的方法。
CN201911150895.6A 2019-11-21 2019-11-21 核间通信方法、系统、电子器件以及电子设备 Pending CN111026697A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911150895.6A CN111026697A (zh) 2019-11-21 2019-11-21 核间通信方法、系统、电子器件以及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911150895.6A CN111026697A (zh) 2019-11-21 2019-11-21 核间通信方法、系统、电子器件以及电子设备

Publications (1)

Publication Number Publication Date
CN111026697A true CN111026697A (zh) 2020-04-17

Family

ID=70201905

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911150895.6A Pending CN111026697A (zh) 2019-11-21 2019-11-21 核间通信方法、系统、电子器件以及电子设备

Country Status (1)

Country Link
CN (1) CN111026697A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112768444A (zh) * 2020-12-31 2021-05-07 海光信息技术股份有限公司 集成电路芯片、数据分析系统及电子设备
CN112817898A (zh) * 2021-02-08 2021-05-18 清华大学 数据传输方法、处理器、芯片及电子设备
CN113704006A (zh) * 2021-08-31 2021-11-26 上海阵量智能科技有限公司 通信方法、装置、电子设备、存储介质及片上系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013156783A (ja) * 2012-01-27 2013-08-15 Tops Systems:Kk プロセッサ・コア、およびマルチコア・プロセッサ・システム
CN103729329A (zh) * 2012-10-12 2014-04-16 深圳市中兴微电子技术有限公司 核间通信装置及方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013156783A (ja) * 2012-01-27 2013-08-15 Tops Systems:Kk プロセッサ・コア、およびマルチコア・プロセッサ・システム
CN103729329A (zh) * 2012-10-12 2014-04-16 深圳市中兴微电子技术有限公司 核间通信装置及方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112768444A (zh) * 2020-12-31 2021-05-07 海光信息技术股份有限公司 集成电路芯片、数据分析系统及电子设备
CN112768444B (zh) * 2020-12-31 2023-06-13 成都海光集成电路设计有限公司 集成电路芯片、数据分析系统及电子设备
CN112817898A (zh) * 2021-02-08 2021-05-18 清华大学 数据传输方法、处理器、芯片及电子设备
CN113704006A (zh) * 2021-08-31 2021-11-26 上海阵量智能科技有限公司 通信方法、装置、电子设备、存储介质及片上系统
CN113704006B (zh) * 2021-08-31 2023-11-03 上海阵量智能科技有限公司 通信方法、装置、电子设备、存储介质及片上系统

Similar Documents

Publication Publication Date Title
CN111026697A (zh) 核间通信方法、系统、电子器件以及电子设备
CN110738015B (zh) 片上系统及其fpga内核信息处理方法
CN110750341A (zh) 任务调度方法、装置、系统、终端设备及存储介质
CN111177025B (zh) 数据存储方法、装置及终端设备
EP3979088A1 (en) Inter-core data processing method and system, system on chip and electronic device
CN112463651A (zh) Qspi控制器,图像处理器及闪存访问方法
WO2022037176A1 (zh) 核间通信方法、装置、电子组件以及电子设备
CN111209244B (zh) 数据处理装置及相关产品
CN110597643B (zh) 核间通信方法、处理器以及电子设备
CN108345564A (zh) 中断矩阵模块、芯片及电子设备
CN112068965A (zh) 数据处理方法、装置、电子设备和可读存储介质
CN112445735A (zh) 一种联邦学习数据传输方法、计算机设备、系统及存储介质
CN112165572A (zh) 图像处理方法、装置、终端及存储介质
CN114125936B (zh) 一种资源调度方法、装置和存储介质
CN111274193A (zh) 数据处理装置及方法
CN110704201A (zh) 多媒体数据共享方法及终端设备
CN111444129B (zh) Mdb数据传输的方法及终端设备
CN113656343A (zh) 现场可编程门阵列电路、数据传输方法、芯片及系统
CN109144578B (zh) 一种基于龙芯计算机的显卡资源配置方法及装置
CN102033808B (zh) Dsp中的数据存储方法和存储控制装置
CN113849951A (zh) 芯片仿真方法、装置、设备、系统及存储介质
CN104850517A (zh) 一种dma传输报文数据的方法及装置
CN111475437A (zh) 固态硬盘soc芯片fpga原型验证ddr的装置、方法、计算机设备及存储介质
CN205247274U (zh) 一种工控机主板
CN111078619A (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