System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请实施例涉及计算机领域,具体而言,涉及一种消息的发送方法及装置、存储介质及电子装置。
技术介绍
1、随着电子信息技术的发展,对芯片的功能要求越来越高。过去单核心的处理器在日益复杂的应用场景下,显得力不从心,逐渐被多核处理器所替代。多核心处理器中每个核心负责专项的工作,比如逻辑运算、外设调度或者算法加速等。伴随核数的增加,核间通信的协同变得困难复杂。
2、相关技术中的系统级(system on a chip,简称为soc)芯片内部可能包含多个中央处理器(central processing unit,简称为cpu)核,各cpu核拥有私有的缓存cache,中断管理等硬件资源,以及共享的随机存取存储器(random access memory,简称为ram),寄存器等硬件资源。但多个cpu核本身硬件架构不同,可能运行不同的程序代码,很难共享程序代码,会导致不同cpu间通信困难,很难相互协调工作,需要提供一套协商通信协议来保证。
3、目前的实现方式主要有两种,一种是基于mailbox中断,每个cpu有一个相应的32bit的mailbox寄存器,每一位可被单独地设置或清零。任意cpu可直接通过其它cpu的mailbox对其它cpu发出中断。当mailbox被置位时,相应cpu的中断寄存器也同时被置位,软件可实现其中断处理。
4、一种是基于共享内存的核间通信方式,比如软件框架openamp,为通用系统、实时系统和裸机程序开发提供统一接口,使用rpmsg组件进行系统间的通信,而恩智浦公司对rpmsg进行
5、虽然上述两种方法均可以在实现核间通信,但方法一传递的消息数量单一,方法二可以发送多条消息,但其方式为纯软件实现,通信速度方面容易受限于芯片多核架构设计以及软件系统调度的影响,并且增加了硬件资源的占用。且上述两种方法均无法实现优先级传输(插队传输),可能会导致后发送的重要的消息被之前发送的低优先级消息堵塞,影响核间通信效果。
6、针对相关技术中,soc芯片中的多个cpu核之间的通信无法实现优先级传输的问题,尚未提出有效的解决方案。
技术实现思路
1、本申请实施例提供了一种消息的发送方法及装置、存储介质及电子装置,以至少解决相关技术中soc芯片中的多个cpu核之间的通信无法实现优先级传输的问题。
2、根据本申请的一个实施例,提供了一种消息的发送方法,包括:在每个内核对应的消息发送队列中获取待发送消息,以获取多个待发送消息;对所述多个待发送消息进行排序,以得到排列顺序和排序后的多个待发送消息;根据所述排列顺序将排序后的多个待发送消息发送至对应的目标消息接收队列中,以使目标内核获取所述目标消息接收队列中的待发送消息,其中,所述目标消息接收队列为所述目标内核对应的消息接收队列。
3、在一个示例性实施例中,对所述多个待发送消息进行排序,以得到排序后的多个待发送消息,包括:获取每个所述待发送消息中携带的待接收所述待发送消息的内核的标识信息;根据所述内核的标识信息对所述多个待发送消息进行分组,以得到多个分组,其中,每个分组中的待发送消息中携带的内核的标识信息一致;分别对所述多个分组中的待发送消息进行排序,以得到每个分组分别对应的排序后的多个待发送消息。
4、在一个示例性实施例中,分别对所述多个分组中的待发送消息进行排序,包括:确定所述多个分组对应的内核,以及确定每个内核的第一目标优先级;根据所述每个内核的第一目标优先级确定所述每个内核对应的分组的第二目标优先级;根据所述第二目标优先级依次对所述多个分组中的待发送消息进行排序。
5、在一个示例性实施例中,根据所述第二目标优先级依次对所述多个分组中的待发送消息进行排序之后,所述方法还包括:根据预设方式调整所述每个内核的第一目标优先级,其中,所述预设方式包括:在内核的个数为n,且所述第一目标优先级为第a优先级的情况下,将所述第一目标优先级调整为第a-1优先级;在所述内核的个数为n,且所述第一目标优先级为第一优先级的情况下,将所述第一目标优先级调整为第n优先级,其中,所述n为大于1的正整数,a为大于1且小于n的正整数,所述第一优先级为最高优先级,所述第n优先级为最低优先级。
6、在一个示例性实施例中,根据所述第二目标优先级依次对所述多个分组中的待发送消息进行排序,包括:根据所述第二目标优先级依次获取所述每个分组中的每个待发送消息的第三目标优先级;根据所述第三目标优先级对所述每个分组中的待发送消息进行排序。
7、在一个示例性实施例中,获取所述每个分组中的每个待发送消息的第三目标优先级,至少包括以下之一:获取所述每个分组中的每个待发送消息的消息内容,根据所述消息内容确定所述每个分组中的每个待发送消息的第三目标优先级;获取所述每个分组中的每个待发送消息的消息类型,根据所述消息类型确定所述每个分组中的每个待发送消息的第三目标优先级;获取所述每个分组中的每个待发送消息的消息发送方,根据所述消息发送方的优先级确定所述每个分组中的每个待发送消息的第三目标优先级。
8、在一个示例性实施例中,根据所述第三目标优先级对所述每个分组中的待发送消息进行排序,包括:确定多个所述第三目标优先级中是否存在优先级一致的第三目标优先级;在所述多个所述第三目标优先级中存在优先级一致的第四目标优先级的情况下,确定所述第四目标优先级对应的待发送消息;确定获取所述第四目标优先级对应的待发送消息的时间戳;根据所述时间戳对所述第四目标优先级对应的待发送消息进行排序。
9、在一个示例性实施例中,根据所述排列顺序将排序后的多个待发送消息发送至对应的目标消息接收队列中之后,所述方法还包括:确定所述目标消息接收队列中的待发送消息的第五目标优先级;确定所述第五目标优先级与优先级阈值的第一大小关系,其中,所述优先级阈值为所述目标消息接收队列对应的目标内核预先设定的优先级阈值;根据所述第一大小关系确定是否触发所述目标内核执行中断服务程序。
10、在一个示例性实施例中,根据所述第一大小关系确定是否触发所述目标内核执行中断服务程序,包括:在所述第一大小关系指示所述第五目标优先级高于或者等于所述优先级阈值的情况下,触发所述目标内核执行中断服务程序;在所述第一大小关系指示所述第五目标优先级低于所述优先级阈值的情况下,禁止触发所述目标内核执行中断服务程序。
11、在一个示例性实施例中,触发所述目标内核执行中断服务程序之后,所述方法还包括:接收所述目标内核发送的用于获取所述第五目标优先级对应的待发送消息的第一请求信息;响应所述第一请求信息,以将所述第五目标优先级对应的待发送消息发送至所述目标内核;禁止触发所述目标内核执行中断服务程序之后,所述方法还包括:接收所述目标内核发送的用于获取所述目标消息接收队列中的本文档来自技高网...
【技术保护点】
1.一种消息的发送方法,其特征在于,
2.根据权利要求1所述的方法,其特征在于,
3.根据权利要求2所述的方法,其特征在于,
4.根据权利要求3所述的方法,其特征在于,
5.根据权利要求3所述的方法,其特征在于,
6.根据权利要求5所述的方法,其特征在于,
7.根据权利要求5所述的方法,其特征在于,
8.根据权利要求1所述的方法,其特征在于,
9.根据权利要求8所述的方法,其特征在于,
10.根据权利要求9所述的方法,其特征在于,
11.根据权利要求1所述的方法,其特征在于,
12.根据权利要求11所述的方法,其特征在于,
13.根据权利要求12所述的方法,其特征在于,
14.根据权利要求1所述的方法,其特征在于,
15.一种消息的发送装置,其特征在于,
16.一种计算机可读存储介质,其特征在于,
17.一种电子设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序
...【技术特征摘要】
1.一种消息的发送方法,其特征在于,
2.根据权利要求1所述的方法,其特征在于,
3.根据权利要求2所述的方法,其特征在于,
4.根据权利要求3所述的方法,其特征在于,
5.根据权利要求3所述的方法,其特征在于,
6.根据权利要求5所述的方法,其特征在于,
7.根据权利要求5所述的方法,其特征在于,
8.根据权利要求1所述的方法,其特征在于,
9.根据权利要求8所述的方法,其特征在于,
10....
【专利技术属性】
技术研发人员:程希光,刘奇浩,孟凡兴,颜港,
申请(专利权)人:苏州元脑智能科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。