[发明专利]一种无锁的处理器间通信的方法和系统在审
申请号: | 202111591989.4 | 申请日: | 2021-12-23 |
公开(公告)号: | CN114356834A | 公开(公告)日: | 2022-04-15 |
发明(设计)人: | 郝继锋;任晓瑞;周霆;虞保忠;尹超;朱晓宁 | 申请(专利权)人: | 中国航空工业集团公司西安航空计算技术研究所 |
主分类号: | G06F15/163 | 分类号: | G06F15/163;G06F9/54 |
代理公司: | 中国航空专利中心 11008 | 代理人: | 王世磊 |
地址: | 710000 *** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 处理器 通信 方法 系统 | ||
1.一种无锁的处理器间通信的方法,其特征在于,应用于发送处理器,包括:
步骤1:向接收处理器发送消息;
步骤2:接收接收处理器对所述发送消息的回复;
步骤3:收到所述回复之后,从指令列表上读取未处理的指令并返回步骤1。
2.根据权利要求1所述的方法,其特征在于,步骤1,具体包括:
监控共享内存,直到一个内存块被标记为“空闲”状态,并在标记为“空闲”状态之后选择一个适当的内存块;
发送处理器把要发送给接收处理器的消息写入所选择的内存块;
将内存块的状态从“空闲”状态更改为“已发送”状态;
将要发送给接收处理器的消息对应的指令添加到指令列表的末尾;
发送处理器确定是否还要给接收处理器发送消息,在确定不再向接收处理器发送消息的情况下,发送处理器更新指令列表的头指针,使其指向接收处理器等待处理的第一条指令;
向接收处理器发送处理器间中断。
3.根据权利要求1所述的方法,其特征在于,指令列表中的表项包含对共享内存中内存块位置的索引。
4.根据权利要求1所述的方法,其特征在于,步骤3,具体包括:
接收接收处理器发送的处理器间中断;
检查共享内存,并删除指令列表中标记为“已处理”的指令;
把“已处理”的指令对应的内存块的状态从“已处理”变成“空闲”;
更新指针的位置。
5.一种无锁的处理器间通信的方法,其特征在于,应用于接收处理器,包括:
步骤1:接收发送处理器发送的消息;
步骤2:对接收到的消息进行处理并回复。
6.根据权利要求5所述的方法,其特征在于,步骤1,具体包括:
接收到发送处理器发送的处理器间中断;
接收处理器把其指针指向指令列表中第一个待发送的指令;
根据共享内存中的内存块的内容执行指令列表中的下一指令;
将包含第一个待发送的指令的内存块从“已发送”状态更改为“已处理”状态;
确定是否完成了所有指令的接收,如果指令列表中不包含待处理项,则更新指针指向第一个没有被处理的表项并进行处理,如果所有的表项都处理完成,向发送处理器发送处理器间中断。
7.根据权利要求6所述的方法,其特征在于,更新指针指向第一个没有被处理的表项,具体包括:
在没有找到第一个没有被处理的表项的情况下,指向一个空指针。
8.一种无锁的处理器间通信的系统,其特征在于,包括:发送处理器、接收处理器、共享内存,发送处理器与接收处理器和共享内存通过总线连接;
发送处理器向接收处理器发送消息;接收处理器接收发送处理器发送的消息,以及对接收到的消息进行处理并回复;发送处理器接收接收处理器对所述发送消息的回复;以及发送处理器在收到所述回复之后,从指令列表上读取未处理的指令并继续向接收处理器发送消息;所述消息和指令列表存储在共享内存中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国航空工业集团公司西安航空计算技术研究所,未经中国航空工业集团公司西安航空计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111591989.4/1.html,转载请声明来源钻瓜专利网。