CN114153783B - 多核通信机制的实现方法、系统、计算机设备及存储介质 - Google Patents
多核通信机制的实现方法、系统、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN114153783B CN114153783B CN202111397400.7A CN202111397400A CN114153783B CN 114153783 B CN114153783 B CN 114153783B CN 202111397400 A CN202111397400 A CN 202111397400A CN 114153783 B CN114153783 B CN 114153783B
- Authority
- CN
- China
- Prior art keywords
- cpu
- processor
- parameter
- executed
- message
- 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.)
- Active
Links
Images
Classifications
-
- 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
-
- 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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
- Communication Control (AREA)
Abstract
本发明属于电子通信技术领域,公开了一种多核通信机制的实现方法、系统、计算机设备及存储介质,将具有不同优先级的多个处理器作为函数调用的载体,利用所述多个处理器中的一个处理器进行函数的同步和异步调用,实现多个处理器之间的协作。本发明实现了高效的多核通信协议,在硬件层面使得多核之间通信如同内部IP,直接通过配置寄存器驱动,任务做完后产生中断。在软件层面上使得多核协同进行函数调用,等待或立即返回,大大提高了通信效率。函数调用分为同步和异步,实现了一个核实现两种类型函数调用的功能。同时本发明实现了将多个CPU作为函数调用的载体来实现多核之间高效的协作。
Description
技术领域
本发明属于电子通信技术领域,尤其涉及一种多核通信机制的实现方法、系统、计算机设备及存储介质。
背景技术
目前,随着当代电子技术的不断发展及普及,同步多核的发展使得CPU功耗越来越大,所以异步多核的发展越来越受到欢迎,但也使得多核之间的协同工作成为了关键问题。
现在市面上有开源的异步多核通信标准,如mcapi;但这些标准使用起来就像tcp/ip协议一样,优点是协议标准化,使得开发人员不必去了解通信流程本身,只需要关注业务逻辑即可;缺点是效率低下。
现有技术一:多核处理器核间通信技术研究硕士学位论文。本文首先介绍了核间通信的发展现状、多核处理器的引入以及多核处理器的分类。随后对进程的概念、进程间通信的工作原理以及进程间主要的三种通信方式进行了较为深入研究的基础上,针对目前已有两种通信结构的优缺点,提出了一种基于任务分类的核间通信模型,核与核之间通过共享内存来进行通信。该模型根据CPU处理任务的不同,将所处理的任务分成控制任务和计算任务,同时将多核分成计算核和控制核两类。其中,控制核的功能主要是控制计算机系统,处理服务器应用程序以及I/0存取;计算核的功能主要是计算和处理大量数据,例如多媒体数据处理,数据库数据处理,科学计算等。利用内核的亲和性,将要处理应用程序的I/O部分由控制核处理,而计算部分则由计算核来处理,两种处理核同时运行,来处理应用程序。同时,根据多核处理器之间通信的不同需求,基于该模型提出了三种不同的通信通道,包括:核与核之间通信、控制核与IO设备通信、计算核与I/O设备通信。最后,利用多核模拟器软件GEMS,对系统进行了测试。实验结果证明,本文提出的基于任务分类的核间通信模型,减少了核与核之间的通信延迟,提高了多核处理器的性能。
现有技术二:CN201210126637.6多核通信系统中检测数据核故障的方法及装置,本发明涉及多核CPU管理技术,其公开了一种多核通信系统中检测数据核故障的方法,解决传统技术中检测数据核故障需要依赖于报文接收和核间通信,增加了故障检测复杂性的问题。本发明通过在数据核上循环运行自定义任务并同时对运行次数进行统计,在控制核上周期性的运行监控任务,对自定义任务的运行次数的统计状态进行检测,根据前后两次的检测情况对比从而判断是否出现数据核故障,该方式不依赖于报文接收和核间通信,检测方法简单、消耗系统资源少。此外,本发明还公开了一种多核通信系统中检测数据核故障的装置,适用于具备多核CPU的通信系统。
现有技术三:CN202110270991.5多核通信方法、装置、电子设备及存储介质。本公开是关于多核通信方法、装置、电子设备及存储介质。所述方法包括:控制多核运行;基于所述通信层建立多核中发布核与接收核的通信连接;所述多核中的发布核通过所述发布订阅层调用通信层的预设接口,发布主题消息或广播主题消息的主题名称;响应于所述接收核调用发布订阅层的设定接口,订阅或获取所述主题消息。使用本公开的方法,可基于相配合的发布订阅层和通信层,实现多核间的通信连接,以及主题消息在多核间的传递。建立了有效的多核间消息的订阅和发布机制,使得多核间的共享数据更方便快捷。
现在市面上有开源的异步多核通信标准,如mcapi;但这些标准使用起来就像tcp/ip协议一样,优点是协议标准化,使得开发人员不必去了解通信流程本身,只需要关注业务逻辑即可,存在的缺点和问题是效率低下。
通过上述分析,现有技术存在的问题及缺陷为:
(1)现有技术中,需要设计多核通信协议或使用标准的mcapi协议,协议本身比较复杂,使得通信效率低下。
(2)现有技术中,需要多核之间互相发消息,并做消息管理,方案设计起来流程变得复杂,使得成本增加。
(3)硬件设计的目标是多核之间相互发消息,没有软件函数设计理念,使得设备运行效率差。
解决以上问题及缺陷的意义为:本发明是为了实现高效的多核通信协议;在硬件层面使得多核之间通信像是内部的IP一样,直接通过配置寄存器驱动,做完了任务产生中断;在软件层面上使得多核协同就像是函数调用一样,可以等待也可以立即返回,大大提高了通信效率。此外,本发明设计软硬件模块使得通信相当于函数调用,效率高并且协议简单。
发明内容
针对现有技术存在的问题,本发明提供了一种多核通信机制的实现方法、系统、计算机设备及存储介质。
本发明是这样实现的,一种多核通信机制的实现方法,所述多核通信机制的实现方法将具有不同优先级的一个或多个处理器作为函数调用的载体,利用多个处理器中的某一个处理器进行函数的同步和异步调用,实现多个处理器之间的协作。
进一步,所述多核通信机制的实现方法具体包括:
(1)CPU-A和CPU-B上电后,各自执行各自的程序;
(2)CPU-A在执行业务流程时,需要用到CPU-B包括的业务逻辑时,执行消息触发程序;
(3)CPU-B接收到消息中断;
(4)CPU-B取出消息触发程序的控制参数判断业务逻辑执行时的机制并执行,执行完成后向CPU-A发送Callback中断;
(5)CPU-A收到callback中断后取出消息触发程序的数据参数,并调用callback函数并传递数据参数1报告此次业务逻辑处理结果;
(6)CPU-A中调用业务逻辑的进程获得执行结果。
进一步,所述步骤(2)消息触发程序获取MSG-BOX-A中空闲的channel,填充channel参数,所述channel参数包括:
控制参数1:业务逻辑执行时的机制,执行机制包括中断机制执行,task机制执行及相应的优先级;
控制参数2:业务逻辑执行的次数,执行1次或循环执行;
控制参数3:业务逻辑执行的间隔时间;
控制参数4:业务逻辑执行完毕后callback函数指针,callback函数在CPU-A中执行的函数;
控制参数5:函数指针,由CPU-B执行的业务逻辑;
数据参数1:函数指针参数1,CPU-B执行的业务逻辑的参数;
数据参数2:函数指针参数2,CPU-B执行的业务逻辑的参数;
数据参数3:函数指针参数3,CPU-B执行的业务逻辑的参数;
数据参数4:函数指针参数4,CPU-B执行的业务逻辑的参数。
进一步,所述步骤(4)具体包括:
(4.1)取出消息触发程序的控制参数1,判断业务逻辑执行的机制为中断时;
(4.2)取出消息触发程序的控制参数1,判断业务逻辑执行的机制为Task时。
进一步,所述步骤(4.1)具体包括:
判断是否执行的次数大于1,大于1则创建一个循环Timer执行业务逻辑,Timer的间隔时间为控制参数3,并传递参数:数据参数1、数据参数2、数据参数3、数据参数4、数据参数5以及控制参数4;
在中断中调用第一次业务逻辑,第一次业务逻辑为控制参数5,并传递参数:数据参数1、数据参数2、数据参数3、数据参数4以及控制参数4;如果是循环调用,则第二次在timer中调用;
每一次业务逻辑处理完后把此次执行的结果填充到数据参数1中,并触发一次MSG-BOX callback中断到CPU-A;执行结果表示为0:成功,1:失败。
进一步,所述步骤(4.2)具体包括:
根据控制参数1的Task优先级创建相应Task;
取出控制参数2,如果执行业务逻辑的次于大于1,则设置Task的sleep时间为控制参数3;
运行Task;
每一次业务逻辑处理完后把此次执行的结果填充到数据参数1中,并触发一次MSG-BOX callback中断到CPU-A;
执行结果表示为0:成功;1:失败。
进一步,CPU-B请求执行CPU-A业务逻辑时步骤同CPU-A请求B业务逻辑相同;
所述步骤(6)业务逻辑包括:
判断消息的优先级,如果是中断处理,把消息中的参数赋值给参数寄存器并直接调用消息中指定的函数;
如果是Task处理,则发送消息到相应优先级的Task进行处理;
所述判断消息的优先级并执行业务逻辑功能后,则调用通信回调处理,填充返回值并触发第一处理器中断。
本发明的另一目的在于提供一种实现上述多核通信机制的实现方法的多核通信机制的实现系统,其特征在于,所述多核通信机制的实现系统包括:
第一处理器,用于接收来自第二处理器的中断和消息;
第二处理器,用于接收来自第一处理器的中断和消息;
第一通信模块,用于第一处理器与第二处理器进行消息通信;
第二通信模块,用于第二处理器同第一处理器进行消息通信;
总存储模块,用于存储第一处理器、第二处理器执行时指令时所需要的数据或指令;
第一存储模块,用于提供第一处理器独有访问的区域;
第二存储模块,用于提供第二处理器独有访问的区域;
所述第一处理器、第二处理器、第一通信模块、第二通信模块、总存储模块、第一存储模块、第二存储模块均搭载在系统级芯片上;
所述总存储模块为易失或非易失存储介质,还用于多个处理器共同访问。
本发明的另一目的在于提供一种计算机设备,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行上述多核通信机制的实现方法的步骤。
本发明的另一目的在于提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行上述多核通信机制的实现方法的步骤。
结合上述的所有技术方案,本发明所具备的优点及积极效果为:本发明实现了高效的多核通信协议,在硬件层面使得多核之间通信如同内部IP,直接通过配置寄存器驱动,做完任务后产生中断。在软件层面上使得多核协同进行函数调用,调用业务逻辑一方可以等待也可以立即返回,大大提高了通信效率。
本发明的函数调用分为同步和异步,实现了一个核实现两种类型函数调用的功能;同时本发明实现了将多个CPU作为函数调用的载体来实现多核之间高效的协作。
附图说明
图1是本发明实施例提供的多核通信机制的实现方法流程图。
图2是本发明实施例提供的SOC(系统级芯片)原理图。
图3是本发明实施例提供的集成在SOC(系统级芯片)各模块通信原理图。
图2-图3中:1、系统级芯片(SOC);2、第一处理器(CPU-A);3、第二处理器(CPU-B);4、第一通信模块(MSG-BOX-A);5、第二通信模块(MSG-BOX-B);6、总存储模块(ShareMemory);7、第一存储模块(CPU-A-Memory);8、第二存储模块(CPU-B-Memory)。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
针对现有技术存在的问题,本发明提供了一种多核通信机制的实现方法,下面结合附图对本发明作详细的描述。
本发明可通过搜索进行了Mailbox的理解、Channel(通信)实现、CPU及寄存器的理解、函数及参数的理解、中断的理解,进而提出了本发明的多核通信机制的实现方法。
在本发明一实施例中,如图1所示,提供的多核通信机制的实现方法包括:
(1)CPU-A和CPU-B上电后,各自执行各自的程序。
(2)CPU-A在执行业务流程时,当需要用到CPU-B包括的业务逻辑时,执行以下消息触发流程:
(2.1)获取MSG-BOX-A中空闲的channel;
(2.2)填充channel参数,主要包括:
->控制参数1:业务逻辑执行时的机制(中断机制执行,task机制执行及其相应的优先级);
->控制参数2:业务逻辑执行的次数,执行1次或循环执行;
->控制参数3:业务逻辑执行的间隔时间(执行次数为循环执行时);
->控制参数4:业务逻辑执行完毕后callback函数指针(在CPU-A中执行的函数);
->控制参数5:函数指针,即由CPU-B执行的业务逻辑;
->数据参数1:函数指针参数1,CPU-B执行的业务逻辑(函数)的参数;
->数据参数2:函数指针参数2,CPU-B执行的业务逻辑(函数)的参数;
->数据参数3:函数指针参数3,CPU-B执行的业务逻辑(函数)的参数;
->数据参数4:函数指针参数4,CPU-B执行的业务逻辑(函数)的参数。
(2.3)发送消息。
(3)CPU-B接收到消息中断。
(4)CPU-B取出控制参数1判断业务逻辑执行时的机制并执行,执行完成后向CPU-A发送Callback中断:
(4.1)取出控制参数1,判断业务逻辑执行的机制为中断时:(4.1.1)判断是否执行的次数大于1,大于1则创建一个循环Timer来执行业务逻辑,Timer的间隔时间为控制参数3,并传递参数:数据参数1、数据参数2、数据参数3、数据参数4、数据参数5以及控制参数4;
(4.1.2)在中断中调用第一次业务逻辑(控制参数5),并传递参数:数据参数1/2/3/4以及控制参数4。(如果是循环调用,则第二次在timer中调用);
(4.1.3)每一次业务逻辑处理完后把此次执行的结果(0:成功,1:失败)填充到数据参数1中,并触发一次MSG-BOX callback中断到CPU-A;
(4.2)取出控制参数1,判断业务逻辑执行的机制为Task时;
(4.2.1)根据控制参数1的Task优先级创建相应Task;
(4.2.2)取出控制参数2,如果执行业务逻辑的次于大于1,则设置Task的sleep时间为控制参数3;
(4.2.3)运行Task;
(4.2.4)每一次业务逻辑处理完后把此次执行的结果(0:成功,1:失败)填充到数据参数1中,并触发一次MSG-BOX callback中断到CPU-A。
(5)CPU-A收到callback中断后取出数据参数1,并调用callback函数并传递数据参数1报告此次业务逻辑处理结果。
(6)CPU-A中调用业务逻辑的进程获得执行结果。
在附图1中:
CPU-A/B:多核中其中的两个核。
Init MSG-BOX:Initialize MSG-BOX(初始化MSG-BOX功能,不需要保护)。
执行方案流程:每个产品即是一种方案,这是产品的方案流程(不需要保护)。
调用函数接口:即函数可能会是一个业务逻辑,如果被执行的ID是另外一个CPU的话。
获取空闲MSG-BOX channel:MSB-BOX有多个channel,每个都可用来和另一个CPU进行通讯。
配置channel参数:配置MSG-BOX channel参数,发送给CPU-B的数据信息(控制参数/数据参数)。
发送消息:触发CPU-B中断。
消息中断处理:CPU-B中断发生。
获取channel参数:从MSG-BOX channel中取出参数信息。
中断中调用函数:根据参数信息来判定使用中断执行业务逻辑。
Task中调用函数:根据参数信息来判定使用Task来执行业务逻辑。
Channel callback:执行完业务逻辑向CPU-A触发callback中断。
Channel callback中断:CPU-A收到来自CPU-B的callback中断,调用相应的callback处理结束此次业务逻辑。
在本发明中,CPU-B请求执行CPU-A业务逻辑时步骤同CPU-A请求B业务逻辑相同。
业务逻辑:实现形式是可由CPU执行的函数。所述业务逻辑包括:
判断消息的优先级,如果是中断处理,把消息中的参数赋值给参数寄存器并直接调用消息中指定的函数;
如果是异步操作,则发送消息到相应优先级异步操作进行处理;
所述判断消息的优先级后,则调用通信回调处理,填充返回值并触发第一处理器中断。
本发明提供的多核通信机制的实现方法,业内的普通技术人员还可以采用其他的步骤实施,图1的本发明提供的多核通信机制的实现方法仅仅是一个具体实施例而已。
如图2-图3所示,本发明提供的核通信机制的实现系统包括:
系统级芯片(SOC)1,用于集成各模块;
第一处理器(CPU-A)2,多核中其中某一个CPU,可以接收来自另一个CPU即第二处理器3的中断和消息。
第二处理器(CPU-B)3,多核中其中某一个CPU,可以接收来自另一个CPU的中断和消息。
第一通信模块(MSG-BOX-A)4,用于第一处理器(CPU-A)2同第二处理器(CPU-B)3进行消息通信。
第二通信模块(MSG-BOX-B)5,用于第二处理器(CPU-B)3同第一处理器(CPU-A)2进行消息通信。
总存储模块(Share Memory)6,多核之间可以共同访问,可由易失或非易失存储介质实现,用于存储第一处理器(CPU-A)2、第二处理器(CPU-B)3执行时指令时所需要的数据或指令。
第一存储模块(CPU-A-Memory)7,用于第一处理器(CPU-A)2独有访问的区域,在需要安全性的情况下可作为可选项。
第二存储模块(CPU-B-Memory)8,用于第二处理器(CPU-B)3独有访问的区域,在需要安全性的情况下可作为可选项。
下面结合本发明与现有技术的效果对比对本发明的技术方案作进一步描述。
本发明提供的多核通信机制的实现方法中,多核作为函数的执行体并具备不同机制和Task优先级方式,即多核之间的协同像函数一样简单;而不是通过互相发送消息,解析消息,并执行相应的流程,等一系列复杂的流程。
相对传统的相关应用,本发明的优点是高效的实现多核的协作,省略了复杂的通信协议流程。而现有技术中使用MAILBOXE及协议解析的方法实现的通信效率低,流程复杂。
应当注意,本发明的实施方式可以通过硬件、软件或者软件和硬件的结合来实现。硬件部分可以利用专用逻辑来实现;软件部分可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域的普通技术人员可以理解上述的设备和方法可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CD或DVD-ROM的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本发明的设备及其模块可以由诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用由各种类型的处理器执行的软件实现,也可以由上述硬件电路和软件的结合例如固件来实现。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,都应涵盖在本发明的保护范围之内。
Claims (8)
1.一种多核通信机制的实现方法,其特征在于,所述多核通信机制的实现方法将一个或多个处理器作为具有不同优先级的函数调用的载体,利用多个处理器中的某一个处理器进行函数的同步和异步调用,实现多个处理器之间的协作;
所述多核通信机制的实现方法具体包括:
(1)CPU-A和CPU-B上电后,各自执行各自的程序;
(2)CPU-A在执行业务流程时,需要用到CPU-B包括的业务逻辑时,执行消息触发程序;
(3)CPU-B接收到消息中断;
(4)CPU-B取出消息触发程序的控制参数判断业务逻辑执行时的机制并执行,执行完成后向CPU-A发送Callback中断;
(5)CPU-A收到callback中断后取出消息触发程序的数据参数,并调用callback函数并传递数据参数1报告此次业务逻辑处理结果;
(6)CPU-A中调用业务逻辑的进程获得执行结果;
所述步骤(2)消息触发程序获取MSG-BOX-A中空闲的channel,填充channel参数,所述channel参数包括:
控制参数1:业务逻辑执行时的机制,执行机制包括中断机制执行,task机制执行及相应的优先级;
控制参数2:业务逻辑执行的次数,执行1次或循环执行;
控制参数3:执行次数大于1时,业务逻辑执行的间隔时间;
控制参数4:业务逻辑执行完毕后callback函数指针,callback函数在CPU-A中执行的函数;
控制参数5:函数指针,由CPU-B执行的业务逻辑;
数据参数1:函数指针参数1,CPU-B执行的业务逻辑的参数;
数据参数2:函数指针参数2,CPU-B执行的业务逻辑的参数;
数据参数3:函数指针参数3,CPU-B执行的业务逻辑的参数;
数据参数4:函数指针参数4,CPU-B执行的业务逻辑的参数。
2.如权利要求1所述的多核通信机制的实现方法,其特征在于,所述步骤(4)具体包括:
(4.1)取出消息触发程序的控制参数1,判断业务逻辑执行的机制为中断时;
(4.2)取出消息触发程序的控制参数1,判断业务逻辑执行的机制为Task时。
3.如权利要求2所述的多核通信机制的实现方法,其特征在于,所述步骤(4.1)具体包括:
判断是否执行的次数大于1,大于1则创建一个循环Timer执行业务逻辑,Timer的间隔时间为控制参数3,并传递参数:数据参数1、数据参数2、数据参数3、数据参数4;
在中断中调用第一次业务逻辑,第一次业务逻辑为控制参数5,并传递参数:数据参数1、数据参数2、数据参数3、数据参数4;如果是循环调用,则第二次在timer中调用,并在timer中记录次数,当达到次数时Destroy Timer;
每一次业务逻辑处理完后把此次执行的结果填充到数据参数1中,并触发一次MSG-BOXcallback中断到CPU-A;执行结果表示为0:成功,1:失败。
4.如权利要求2所述的多核通信机制的实现方法,其特征在于,所述步骤(4.2)具体包括:
根据控制参数1的Task优先级创建相应Task;
取出控制参数2,如果执行业务逻辑的次于大于1,则设置Task的sleep时间为控制参数3,在Task中记录次数,当达到次数时Destroy Task;
运行Task;
每一次业务逻辑处理完后把此次执行的结果填充到数据参数1中,并触发一次MSG-BOXcallback中断到CPU-A;
执行结果表示为0:成功;1:失败。
5.如权利要求1所述的多核通信机制的实现方法,其特征在于,CPU-B请求执行CPU-A业务逻辑时步骤同CPU-A请求B业务逻辑相同;
所述步骤(6)业务逻辑包括:
判断消息的优先级,如果是中断处理,把消息中的参数赋值给参数寄存器并直接调用消息中指定的函数;
如果是Task处理,则发送消息到相应优先级的Task进行处理;
所述判断消息的优先级后,执行业务逻辑功能,调用通信回调处理,填充返回值并触发第一处理器中断。
6.一种实现权利要求1~5任意一项所述多核通信机制的实现方法的多核通信机制的实现系统,其特征在于,所述多核通信机制的实现系统包括:
第一处理器,用于接收来自第二处理器的中断和消息;第二处理器,用于接收来自第一处理器的中断和消息;
第一通信模块,用于第一处理器与第二处理器进行消息通信;第二通信模块,用于第二处理器同第一处理器进行消息通信;
总存储模块,用于存储第一处理器、第二处理器执行时指令时所需要的数据或指令;
第一存储模块,用于提供第一处理器独有访问的区域;第二存储模块,用于提供第二处理器独有访问的区域;
所述第一处理器、第二处理器、第一通信模块、第二通信模块、总存储模块、第一存储模块、第二存储模块均搭载在系统级芯片上;
所述总存储模块为易失或非易失存储介质,还用于多个处理器共同访问。
7.一种计算机设备,其特征在于,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行权利要求1~5任意一项所述多核通信机制的实现方法的步骤。
8.一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行权利要求1~5任意一项所述多核通信机制的实现方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111397400.7A CN114153783B (zh) | 2021-11-23 | 2021-11-23 | 多核通信机制的实现方法、系统、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111397400.7A CN114153783B (zh) | 2021-11-23 | 2021-11-23 | 多核通信机制的实现方法、系统、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114153783A CN114153783A (zh) | 2022-03-08 |
CN114153783B true CN114153783B (zh) | 2022-11-08 |
Family
ID=80457475
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111397400.7A Active CN114153783B (zh) | 2021-11-23 | 2021-11-23 | 多核通信机制的实现方法、系统、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114153783B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115509342B (zh) * | 2022-10-31 | 2023-03-10 | 南京芯驰半导体科技有限公司 | 一种多核集群之间的切换方法及系统 |
CN116938379B (zh) * | 2023-09-18 | 2023-12-15 | 湖北芯擎科技有限公司 | 时间同步的方法、装置、电子设备及计算机可读存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1975680A (zh) * | 2006-11-27 | 2007-06-06 | 浙江大学 | 基于Java的进程间异步通信的实现方法 |
CN102770853A (zh) * | 2009-12-23 | 2012-11-07 | 思杰系统有限公司 | 用于在多核系统中管理大型高速缓存服务的系统和方法 |
CN105893320A (zh) * | 2016-03-29 | 2016-08-24 | 浙江大学 | 一种面向多核处理器的远程任务函数调用方法 |
CN112068970A (zh) * | 2020-08-10 | 2020-12-11 | 珠海全志科技股份有限公司 | 基于异构多核处理器的rpc实现方法及介质 |
CN112882987A (zh) * | 2021-03-12 | 2021-06-01 | 北京小米移动软件有限公司 | 多核通信方法、装置、电子设备及存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016183028A2 (en) * | 2015-05-10 | 2016-11-17 | Apl Software Inc. | Methods and architecture for enhanced computer performance |
CN105183698B (zh) * | 2015-09-23 | 2019-03-08 | 上海无线电设备研究所 | 一种基于多核dsp的控制处理系统和方法 |
-
2021
- 2021-11-23 CN CN202111397400.7A patent/CN114153783B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1975680A (zh) * | 2006-11-27 | 2007-06-06 | 浙江大学 | 基于Java的进程间异步通信的实现方法 |
CN102770853A (zh) * | 2009-12-23 | 2012-11-07 | 思杰系统有限公司 | 用于在多核系统中管理大型高速缓存服务的系统和方法 |
CN105893320A (zh) * | 2016-03-29 | 2016-08-24 | 浙江大学 | 一种面向多核处理器的远程任务函数调用方法 |
CN112068970A (zh) * | 2020-08-10 | 2020-12-11 | 珠海全志科技股份有限公司 | 基于异构多核处理器的rpc实现方法及介质 |
CN112882987A (zh) * | 2021-03-12 | 2021-06-01 | 北京小米移动软件有限公司 | 多核通信方法、装置、电子设备及存储介质 |
Non-Patent Citations (3)
Title |
---|
"DM8168异构多核处理器的协同工作机制关键技术研究与应用";国常义;《中国优秀博硕士学位论文全文数据库(硕士) 信息科技辑》;20160615(第06期);I137-10 * |
"HMMC: A memory controller for heterogeneous Multi-core System";Tassadaq Hussain;《Microprocessors and Microsystems》;20151024;第39卷(第8期);第752-766页 * |
"基于DM3730异构多核处理器的嵌入式操作系统设计与实现";许斌;《中国优秀博硕士学位论文全文数据库(硕士) 信息科技辑》;20140115(第01期);I137-21 * |
Also Published As
Publication number | Publication date |
---|---|
CN114153783A (zh) | 2022-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114153783B (zh) | 多核通信机制的实现方法、系统、计算机设备及存储介质 | |
US8874681B2 (en) | Remote direct memory access (‘RDMA’) in a parallel computer | |
US8490113B2 (en) | Messaging in a parallel computer using remote direct memory access (‘RDMA’) | |
US7552312B2 (en) | Identifying messaging completion in a parallel computer by checking for change in message received and transmitted count at each node | |
CN110750592B (zh) | 数据同步的方法、装置和终端设备 | |
US20070242611A1 (en) | Computer Hardware Fault Diagnosis | |
US20060268967A1 (en) | Supplying instruction to operational stations | |
US9720676B2 (en) | Implementing updates to source code executing on a plurality of compute nodes | |
US20070260909A1 (en) | Computer Hardware Fault Administration | |
US8275979B2 (en) | Initialization of a data processing system | |
US20120185230A1 (en) | Distributed Hardware Device Simulation | |
CN102693162A (zh) | 基于共享内存和核间中断的多核平台上多个虚拟机之间进程通信方法 | |
US20210334228A1 (en) | Managing network interface controller-generated interrupts | |
US20120331270A1 (en) | Compressing Result Data For A Compute Node In A Parallel Computer | |
CN114564435A (zh) | 异构多核芯片的核间通信方法、装置及介质 | |
CN111966189A (zh) | 一种灵活配置的多计算节点服务器主板结构和程序 | |
CN115878301A (zh) | 一种数据库网络负载性能的加速框架、加速方法及设备 | |
CN116541227A (zh) | 故障诊断方法、装置、存储介质、电子装置及bmc芯片 | |
CN110231931A (zh) | 一种电源实时控制模块和系统 | |
CN111443898A (zh) | 基于优先级队列与有限状态机的流程式控制软件设计方法 | |
CN114398179B (zh) | 一种跟踪标识的获取方法、装置、服务器及存储介质 | |
CN115617407A (zh) | 一种嵌入式操作系统的硬件驱动方法 | |
US20130103926A1 (en) | Establishing a data communications connection between a lightweight kernel in a compute node of a parallel computer and an input-output ('i/o') node of the parallel computer | |
CN115098173B (zh) | 一种基于双核amp架构的敌我识别信号高速识别的方法 | |
CN115599563B (zh) | 串行i/o访问的并行i/o控制方法、装置及设备 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |