[发明专利]一种使用处理器实现多处理器间通信的方法有效
申请号: | 201810925318.9 | 申请日: | 2018-08-14 |
公开(公告)号: | CN109144749B | 公开(公告)日: | 2021-07-27 |
发明(设计)人: | 葛松芬 | 申请(专利权)人: | 苏州硅岛信息科技有限公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54;G06F9/52 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 215000 江苏省苏州市相城*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明涉及一种使用处理器实现多处理器间通信的方法,包括:使用一个处理器和一个存储器来搭建通信队列实现各处理器间的通信。所述存储器必须能被系统中参与通信的各个处理器都能访问到。所述通信队列由队列控制字和队列中存放消息的消息存储区构成,所述队列控制字存放于队列控制字存储区;当系统集成多个通信队列时,将多个通信队列组成队列堆;队列控制字存储区第一个单元存放队列新建锁,第二个单元存放队列个数;本发明的有益效果是:通用性强;更加灵活;对队列的种类没有限制,包括但不限于先入先出队列,先入后出队列;对多核系统架构限制较小;各个处理器都可通过总线或网络对队列读写,队列本身没有规定方向性。 | ||
搜索关键词: | 一种 使用 处理器 实现 通信 方法 | ||
【主权项】:
1.一种使用处理器实现多处理器间通信的方法,包括:使用一个处理器和一个存储器来搭建通信队列实现各处理器间的通信;所述存储器必须能被系统中参与通信的各个处理器都能访问到;所述通信队列由队列控制字和队列中存放消息的消息存储区构成,所述队列控制字存放于队列控制字存储区;当系统集成多个通信队列时,将多个通信队列组成队列堆;队列控制字存储区第一个单元存放队列新建锁,第二个单元存放队列个数;一个队列控制字包括7个:(1)队列状态字STATE:存放本队列运行状态的说明信息,包括队列状态ST,队列编号ID;ST、ID的位宽可以根据实际情况灵活设定;队列状态ST指示本队列的状态,用于队列需求方和通信处理器之间的握手和通信;(2)写指针控制字WPTR:记录消息写入方当前在存储器中的写入地址,此地址是下一个要写的单元地址;每当写入方完成写操作后会更新此寄存器;(3)读指针控制字RPTR:记录消息读取方当前在存储器中的读取地址,此地址是下一个要读的单元地址;每当读取方完成读操作后会更新此控制字;(4)有效单元数控制字VALIDNUM:记录当前已经写入但还未被读取的单元个数;此控制字的数值是由消息控制器内部逻辑电路计算完成,不需要外部处理器干预;此控制字可供消息写入方和读取方读取;(5)中断上报控制控制字INTCTRL:控制是否要向消息读取方发出中断,以及有效单元数达到多少时才会向消息读取方发出中断;(6)存储器基址控制字QBASE:队列中存放的消息数据是存放在一块存储器中的;存储器基址控制字QBASE用于记录此存储器在系统存储空间中的首地址;(7)队列容量控制字QSIZE:记录消息存放存储区域的容量;写入方在写入时要计算“WVALID=QSIZE‑VALIDNUM”,WVALID即为最多能写入的队列单元个数,判断WVALID数值是否大于等于本次要写入的数据量,如果大于等于则可写入,并更新WPTR,否则则不能写入,继续等待;读取方可以通过设置中断上报控制字,通过中断引发中断处理程序完成消息读取操作,可以通过直接查询的方式;当通过查询的方式时,要判断VALIDNUM是否大于等于本次要读取的数据量,如果大于等于则读取,并更新RPTR,否则继续等待。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州硅岛信息科技有限公司,未经苏州硅岛信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201810925318.9/,转载请声明来源钻瓜专利网。