[发明专利]通过代理进行队列通信的方法与消息系统有效
申请号: | 202010461036.5 | 申请日: | 2017-04-01 |
公开(公告)号: | CN111625376B | 公开(公告)日: | 2023-08-04 |
发明(设计)人: | 沈飞;蔡金池;徐晓画 | 申请(专利权)人: | 北京忆芯科技有限公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54;G06F15/78 |
代理公司: | 北京卓特专利代理事务所(普通合伙) 11572 | 代理人: | 陈变花 |
地址: | 100094 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 通过 代理 进行 队列 通信 方法 消息 系统 | ||
1.一种通过代理进行队列通信的方法,其特征在于,包括:
第一CPU访问第一CPU代理的队列TX模块的寄存器,获取队列状态;
响应于队列未满,第一CPU向第一存储器中的队列的队尾写入队列条目;
第一CPU将新的队尾位置写入第一CPU代理的队列TX模块;
第二CPU从第二CPU代理的队列RX模块获取队列状态;
响应于队列非空,第二CPU依据队列队头位置从第二存储器中获取队列条目;
第二CPU将新的队头位置写入第二CPU代理的队列RX模块;其中,
所述第一CPU代理的队列TX模块从所述第一存储器获取队列条目,并将所述队列条目发送给第二CPU代理的队列RX模块;所述第二CPU代理的队列RX模块响应于收到所述队列条目,将所述队列条目存储到第二存储器中的队列。
2.如权利要求1所述的方法,其特征在于,第一CPU和第二CPU之间通过多条队列通信,所述多条队列具有不同的队列深度。
3.如权利要求2所述的方法,其特征在于,第一CPU代理的队列TX模块响应于队列的队尾指针于队头指针超前,依据队列的队头指针从第一存储器获取队列条目,将队列条目发送给第二CPU代理的队列RX模块。
4.如权利要求1-3中任一项所述的方法,其特征在于,所述方法还包括:第二CPU访问第二CPU代理的队列TX模块的寄存器,获取队列状态;响应于队列未满,第二CPU向第二存储器中的队列的队尾写入队列条目;第二CPU将新的队尾位置写入第二CPU代理的队列TX模块。
5.如权利要求1-3中任一项所述的方法,其特征在于,所述方法还包括:响应于队列非空,第一CPU依据队列队头位置从第一存储器中获取队列条目;第一CPU将新的队头位置写入第一CPU代理的队列RX模块。
6.如权利要求5所述的方法,其特征在于,所述方法还包括:第一CPU获取队列中被写入的队列条目,并更新第一CPU代理的队列RX模块所维护的队列的队头指针。
7.一种消息系统,其特征在于,包括第一CPU代理、第二CPU代理、缓存代理、消息代理和消息总线,消息总线耦合到第一CPU代理、第二CP U代理和消息代理,缓存代理与消息代理相耦合;第一CPU代理和第二CP U代理均包括队列TX模块和队列RX模块;第一CPU代理与第一CPU和第一存储器相耦合,第二CPU代理与第二CPU和第二存储器相耦合,缓存代理与片外存储器相耦合;其中,
第一CPU向第一存储器写入或者读取队列条目,第二CPU向第二存储器写入或者读取队列条目;所述第一CPU代理与第二CPU代理之间通过TX模块和队列RX模块交互队列条目,使得队列条目在第一存储器与第二存储器之间搬移。
8.如权利要求7所述的消息系统,其特征在于,若第二存储器的队列未满,第一CPU代理的队列的接收方为第二CPU代理,第一CPU代理的队列TX模块发出的数据报文被消息总线转发给第二CPU代理的队列RX模块。
9.如权利要求7或8所述的消息系统,其特征在于,若第一存储器的队列未满,第二CPU代理的队列的接收方为第一CPU代理,第二CPU代理的队列TX模块发出的数据报文被消息总线转发给第一CPU代理的队列RX模块;
若第一存储器的队列已满,第二CPU代理将队列的接收方设置为消息代理,第二CPU代理的队列TX模块发出的数据报文被消息总线转发给消息代理。
10.如权利要求7或8所述的消息系统,其特征在于,对各代理之间消息通路的更改,由消息接收方根据自身的队列的状态来设置。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京忆芯科技有限公司,未经北京忆芯科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010461036.5/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种标签展示方法、装置、设备和存储介质
- 下一篇:代理及向队列添加条目的方法