异构多核核间通信调度方法技术

技术编号:37802797 阅读:8 留言:0更新日期:2023-06-09 09:32
本发明专利技术公开了异构多核核间通信调度方法,主核系统应用程序将其所产生不同优先级消息经过RPMsg设备驱动模块封装后,通过息调度模块进行调度并写入共享内存中,RPMsg通信组件模块对共享内存中主核系统所产生的消息进行读取解析后发送至从核系统应用程序;从核系统应用程序将其所产生的消息经过RPMsg通信组件模块封装后,写入共享内存中,RPMsg设备驱动模块对共享内存中从核系统所产生的消息进行读取解析后发送至主核系统应用程序。本发明专利技术能够满足工业现场并发的强实时、高算力、富运行环境等需求;核间通信效率高,能够减小实时消息的时延。的时延。的时延。

【技术实现步骤摘要】
异构多核核间通信调度方法


[0001]本专利技术属于嵌入式异构多核处理器核间通信
,具体涉及一种异构多核核间通信调度方法。

技术介绍

[0002]随着工业现场各种复杂业务需求的不断提高,传统嵌入式设备采用单核处理器在性能上已经很难满足要求。为提高性能,嵌入式设备正面临从单核处理器走向多核处理器的转变。半导体技术的不断发展,使得在一个芯片上集成多个处理器成为可能,设备能够同时处理多个业务,极大地提升了性能。常见的异构多核构架,通常在芯片内部集成微处理器(Micro Processor Unit,MPU)和微控制器(Mirco Controller Unit,MCU),MPU性能高,一般运行通用操作系统,提供富运行环境,处理人机交互等图像显示业务;而MCU专注于控制,一般运行实时操作系统或者裸机程序,处理实时的控制以及信号处理业务。针对工业现场中需要嵌入式设备支持强实时.高算力.富运行环境等,通过异构多核设备即在芯片上集成MPU和MCU能够满足要求。
[0003]异构多核架构设备支持同时运行不同的系统,各从系统协助主系统完成工作,因此系统之间存在通信的需求,然而各个内核相互独立,使得操作系统核间通信比较复杂。两个系统可以通过建立Socket完成通信,但是实时系统一般不持支Socket,需要额外添加协议栈组件,实现步骤相对复杂。为实现对异构多核设备核间通信的统一管理,Mentor Graphics与Xilinx提出了一种开放式非对称多处理(Open Asymmetric Multi

Processing,OpenAMP)框架,使用远程处理器消息传递(Remote Processor Messaging,RPMsg)组件完成核间通信,同时NXP公司提出RPMsg

Lite组件,能够适用于小型MCU。RPMsg组件基于共享内存完成通信,操作系统将消息以RPMsg协议规范进行封装,写入共享内存后触发硬件核间中断,通知对方进行读取。
[0004]RPMsg组件为异构多核架构下的主从核系统提供统一的接口,实现对核间通信的管理。核间通信需要使用硬件中断资源,并且此资源是唯一的,因此多个业务进行核间通信时存在竞争。RPMsg组件可以使用先进先出的方法对消息进行调度,虽然此方案能保证公平性,但是无法保证关键消息的实时性;采用优先级调度可以保证高优先级消息最快得到响应,然而同优先级之间采用先进先出方式调度,当消息长度不一致时将会导致同优先级消息的实时性无法得到保证。

技术实现思路

[0005]本专利技术提供一种异构多核核间通信调度方法,通过添加调度模块实现消息的调度,能够保证关键消息的实时性。
[0006]本专利技术所采用的技术方案是,异构多核核间通信调度方法,包括以下步骤:
[0007]步骤1.主核系统应用程序将其所产生的主核系统消息发送至消息调度模块;
[0008]步骤2.消息调度模块对主核系统消息进行调度并发送至RPMsg设备驱动模块;
[0009]步骤3.RPMsg设备驱动模块按照RPMsg协议规范对主核系统消息进行封装,生成主核系统RPMsg消息;
[0010]步骤4.RPMsg设备驱动模块将其生成主核系统RPMsg消息写入共享内存中;
[0011]步骤5.RPMsg设备驱动模块发起核间中断,通知RPMsg通信组件模块对共享内存中的主核系统RPMsg消息进行读取;
[0012]步骤6.RPMsg通信组件模块对共享内存中的主核系统RPMsg消息进行读取;解析后发送至从核系统应用程序;
[0013]步骤7.从核系统应用程序对解析后的主核系统RPMsg消息进行处理,生成从核系统消息;
[0014]步骤8.从核系统应用程序将其所产生的从核系统消息发送至RPMsg通信组件模块,RPMsg通信组件模块按照RPMsg协议规范对从核系统消息进行封装,生成从核系统RPMsg消息;
[0015]步骤9.RPMsg通信组件模块将其生成的从核系统RPMsg消息写入共享内存中;RPMsg通信组件模块发起核间中断,通知RPMsg设备驱动模块对共享内存中的从核系统RPMsg消息进行读取;
[0016]步骤10.RPMsg设备驱动模块对共享内存中的从核系统RPMsg消息进行读取解析后发送至主核系统应用程序,从核系统应用程序对解析后的从核系统RPMsg消息进行处理。
[0017]本专利技术的特点还在于:
[0018]主核系统消息包括高优先级消息、中优先级消息和低优先级消息。
[0019]消息调度模块包括一个高优先级队列、若干个中优先级队列和一个第优先级队列;高优先级队列、中优先级队列和低优先级队列用于缓存高优先级消息、中优先级消息和低优先级消息。
[0020]高优先级消息、中优先级消息和低优先级消息分别以链表结构存储缓存在高优先级队列、中优先级队列和低优先级队列中。
[0021]消息调度模块还包括调度器,用于对主核系统高优先级消息、中优先级消息和低优先级消息进行调度,并将其发送至RPMsg设备驱动模块。
[0022]高优先级消息、中优先级消息和低优先级消息按照先进先出方式进行调度;主核系统中优先级消息按照赤字轮询方式进行调度。
[0023]消息调度模块按照以下步骤进行调度:
[0024]步骤A1.调度器判断高优先级队列是否为空,若队列为空,进入步骤A2;若队列不为空,则将高优先级队列队首的消息输出,写入共享内存中,并重新进入步骤A1;
[0025]步骤A2.调度器判断中优先级队列是否为空,若队列为空,进入步骤A3;若队列不为空,则使用赤字轮询方式,将相应队列的首个消息输出,写入共享内存中,并重新进入步骤A1;
[0026]步骤A3.调度器判断低优先级队列是否为空,若队列为空,进入步骤A1,若队列不为空,则将低优先级队列队首的消息输出,写入共享内存中,并重新进入步骤A1。
[0027]步骤A2中赤字轮询方式进行调度流程按照以下步骤进行:
[0028]步骤B1.调度器获取本次轮询对应队列的下标i;
[0029]步骤B2.调度器根据更新标志判断是否需要更新赤字D
i
,若设置更新标志,则赤字
D
i
需要加上设置的常量Q
i

[0030]步骤B3.调度器判断当前中优先级队列是否为空,若中优先级队列为空,将赤字D
i
清零,更新队列下标i,并设置赤字D
i
更新标志,重新进入步骤B2;若中优先级队列不为空,则进入步骤B4;
[0031]步骤B4.调度器判断当前队列赤字是否大于队首消息长度,若大于消息长度,对消息进行出队处理,并更新队列赤字,即D
i
减去消息长度,并结束此次轮询;若当前队列赤字小于消息长度,则进入步骤B5;
[0032]步骤B5.调度器更新队列下标i,设置赤字D
i
更新标志,并结束此次轮询。本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.异构多核核间通信调度方法,其特征在于,包括以下步骤:步骤1.主核系统应用程序将其所产生的主核系统消息发送至消息调度模块;步骤2.消息调度模块对所述主核系统消息进行调度并发送至RPMsg设备驱动模块;步骤3.所述RPMsg设备驱动模块按照RPMsg协议规范对所述主核系统消息进行封装,生成主核系统RPMsg消息;步骤4.所述RPMsg设备驱动模块将其生成主核系统RPMsg消息写入共享内存中;步骤5.所述RPMsg设备驱动模块发起核间中断,通知RPMsg通信组件模块对共享内存中的主核系统RPMsg消息进行读取;步骤6.所述RPMsg通信组件模块对共享内存中的主核系统RPMsg消息进行读取;解析后发送至从核系统应用程序;步骤7.所述从核系统应用程序对所述解析后的主核系统RPMsg消息进行处理,生成从核系统消息;步骤8.从核系统应用程序将其所产生的从核系统消息发送至RPMsg通信组件模块,所述RPMsg通信组件模块按照RPMsg协议规范对所述从核系统消息进行封装,生成从核系统RPMsg消息;步骤9.所述RPMsg通信组件模块将其生成的从核系统RPMsg消息写入共享内存中;所述RPMsg通信组件模块发起核间中断,通知RPMsg设备驱动模块对共享内存中的从核系统RPMsg消息进行读取;步骤10.所述RPMsg设备驱动模块对共享内存中的从核系统RPMsg消息进行读取解析后发送至主核系统应用程序,所述从核系统应用程序对解析后的从核系统RPMsg消息进行处理。2.根据权利要求1所述的异构多核核间通信调度方法,其特征在于,所述主核系统消息包括高优先级消息、中优先级消息和低优先级消息。3.根据权利要求2所述的异构多核核间通信调度方法,其特征在于,所述消息调度模块包括一个高优先级队列、若干个中优先级队列和一个第优先级队列;所述高优先级队列、中优先级队列和低优先级队列用于缓存所述高优先级消息、中优先级消息和低优先级消息。4.根据权利要求3所述的异构多核核间通信调度方法,其特征在于,所述高优先级消息、中优先级消息和低优先级消息分别以链表结构存储缓存在所述高优先级队列、中优先级队列和低优先级队列中。5.根据权利要求4所述的异构多核核间通信调度方法,其特征在于,所述消息调度模块还包括调度器,用于对...

【专利技术属性】
技术研发人员:刘佳宜刘憶杨清海
申请(专利权)人:西安电子科技大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1