买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】基于共享内存的核间通信方法、装置、存储介质及终端_芯原科技(上海)有限公司;芯原微电子(海南)有限公司;芯原微电子(上海)股份有限公司;芯原微电子(南京)有限公司_202311717325.7 

申请/专利权人:芯原科技(上海)有限公司;芯原微电子(海南)有限公司;芯原微电子(上海)股份有限公司;芯原微电子(南京)有限公司

申请日:2023-12-14

公开(公告)日:2024-04-16

公开(公告)号:CN117407356B

主分类号:G06F15/167

分类号:G06F15/167;G06F9/52

优先权:

专利状态码:有效-授权

法律状态:2024.04.16#授权;2024.02.02#实质审查的生效;2024.01.16#公开

摘要:本申请提供基于共享内存的核间通信方法、装置、终端及介质。通过使用循环队列、读写信号量以及互斥锁的方法对共享内存进行管理,以适配于实时操作系统。同时将信号量个数与资源量个数进行绑定,使得可以从读写位置索引对对应位置直接进行读写操作,以避免读写过程中遍历所有的内存块,从而占用大量CPU内存的问题。针对线程阻塞设置超时时间,以避免频繁报错降低通信效率,本发明还针对不同的内存大小及相应数据块的个数设置相应的通信方式,以在不同内存大小下均可以实现全双工通信,在通信过程中,还可同时对多个数据块进行读写操作,以避免频发中断而影响CPU的处理效率。

主权项:1.一种基于共享内存的核间通信方法,其特征在于,基于第一核心处理器和第二核心处理器进行读写操作,其中,所述第一核心处理器和第二核心处理器同时作为发送者和接收者,当所述第一核心处理器为发送者,第二核心处理器为接收者时,所述方法包括:将共享内存区域划分为多块子内存区域;每块子内存区域中存储有循环队列;所述循环队列中排布有一或多个数据块;对所述多块子内存区域中的任意两个子内存区域进行读写配合操作,其包括:第一核心处理器基于第一子内存区域所对应的第一预设信号量及预设写入数量,执行写入操作以触发中断请求,更新写位置索引并发送至第二核心处理器;所述第二核心处理器响应于所述中断请求,基于第二子内存区域所对应的第二预设资源数量及预设读取数量,执行读取操作,更新读位置索引并返回至所述第一核心处理器;所述第一核心处理器执行写入操作的过程包括:基于所述第一子内存区域的数据块个数,所述第一核心处理器将写信号量初始化,并获取互斥锁;提取所述第一子内存区域所对应的第一预设资源数量及预设写入数量中的较小值作为写入数据的个数,所述第一核心处理器基于所述写入数据的个数更新所述写信号量;基于更新后的所述写信号量,执行写入操作,并在写入操作完成后释放互斥锁;所述第一核心处理器生成第一消息数据,更新所述第一消息数据中包含的第一子内存区域的写位置索引,并将所述写位置索引同步至本地内存,其中,所述第一消息数据的低位表示所述第一子内存区域的写位置索引,所述第一消息数据的高位表示所述第二子内存区域的读位置索引;所述第一核心处理器触发中断请求,将所述第一消息数据发送至所述第二核心处理器;所述第二核心处理器响应于中断请求,基于所述写位置索引,释放预设数量的读信号量,并将所述第一消息数据中所包含的第一子内存区域的写位置索引保存至本地内存;所述第二核心处理器响应于中断请求,执行读取操作的过程包括:基于所述第二子内存区域的数据块个数,第二核心处理器将读信号量初始化;提取所述第二子内存区域所对应的第二预设资源数量及预设读取数量中的较小值作为读取数据的个数,所述第二核心处理器基于所述读取数据的个数更新所述读信号量;基于更新后的所述读信号量,执行读取操作;所述第二核心处理器生成第二消息数据,更新所述第二消息数据中包含的所述第一子内存区域的读位置索引,并将所述读位置索引更新至所述本地内存,其中,所述第二消息数据的低位表示所述第二子内存区域的写位置索引,所述第二消息数据的高位表示所述第一子内存区域的读位置索引;所述第二核心处理器触发中断请求,将所述第二消息数据发送至所述第一核心处理器;所述第一核心处理器响应于中断请求,基于读位置索引,释放预设数量的写信号量,并将所述第二消息数据中包含的所述第一子内存区域的读位置索引保存至本地内存。

全文数据:

权利要求:

百度查询: 芯原科技(上海)有限公司;芯原微电子(海南)有限公司;芯原微电子(上海)股份有限公司;芯原微电子(南京)有限公司 基于共享内存的核间通信方法、装置、存储介质及终端

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。