本发明专利技术涉及通信技术领域,主要提供一种消息传递方法及通信系统,应用于至少两个硬件模块,所述至少两个硬件模块串联。所述方法通过获取硬件队列管理模块发送的控制命令,其中,所述控制命令包括节点信息,根据节点信息确定执行所述控制命令的硬件模块,并获取所述硬件模块的缓存空间,基于所述硬件模块的缓存空间或控制命令的接收情况,确定控制命令的执行结果,并通过所述至少两个硬件模块的末尾硬件模块将所述执行结果传递至硬件队列管理模块,以使硬件队列管理模块基于所述执行结果确定是否重传所述控制命令。基于此,通过至少两个硬件模块来传递控制命令,即可减少硬件队列管理模块与至少两个硬件模块中的绕线,从而降低了通信过程中的开销。通信过程中的开销。通信过程中的开销。
【技术实现步骤摘要】
一种消息传递方法及通信系统
[0001]本专利技术涉及通信
,尤其涉及一种消息传递方法及通信系统。
技术介绍
[0002]传统芯片内部CPU(central processing unit,中央处理器)与各个模块间的控制流信息通信通常采用寄存器操作或队列操作。在通过寄存器通信时,往往由于访问延迟较大导致CPU经常被阻塞,影响CPU运行效率。故在CPU需要经常下发指令给系统中的模块时,通常是通过队列形式批量下发命令,以此来提高CPU并行的运行效率。而通过这种方式下发命令时,需要在CPU和模块之间增加一个硬件队列管理模块(Queue management),以降低CPU对外访问延迟和数据量。此时,所有通信消息的组装和发送都由队列管理模块完成,而CPU只需要要管理硬件队列模块。
[0003]现有技术中,为了避免QM和模块通信的过程中,因一个模块发生通信阻塞而导致其它模块无法及时通信的情况发生,会在QM与各个模块上设计独立的硬件互联接口,使得即使其中一个接口被阻塞,其它接口仍然能正常通信。但是通过这种方式,在系统越来越复杂时,QM与各个模块之间的接口也越来越多,不仅导致系统互联和后端设计的绕线越来越复杂,而且会导致系统模块接口控制逻辑资源开销增大。
技术实现思路
[0004]本专利技术实施例主要提供一种消息传递方法及通信系统,旨在解决现有技术中QM与各模块通信时绕线复杂、开销大的技术问题。
[0005]为解决上述技术问题,本专利技术实施方式采用的一个技术方案是:提供一种消息传递方法,应用于硬件模块,所述硬件模块至少包括两个,所述至少两个硬件模块串联,所述消息传递方法包括:获取硬件队列管理模块发送的控制命令,其中,所述控制命令包括节点信息;根据所述节点信息,确定执行所述控制命令的硬件模块,并获取所述硬件模块的缓存空间;基于所述硬件模块的缓存空间或所述控制命令的接收情况,确定所述控制命令的执行结果,并通过所述至少两个硬件模块的末尾硬件模块将所述执行结果传递至所述硬件队列管理模块,以使所述硬件队列管理模块基于所述执行结果确定是否重传所述控制命令。
[0006]可选的,所述基于所述硬件模块的缓存空间,确定所述控制命令的执行结果,并通过所述至少两个硬件模块中的末尾硬件模块将所述执行结果传递至所述硬件队列管理模块,包括:获取所述硬件模块的缓存空间,并判断所述缓存空间是否存满;当所述缓存空间存满时,屏蔽所述硬件队列管理模块发送的控制命令,并输出NACK消息至所述硬件模块的下一硬件模块,以通过所述末尾硬件模块传递所述NACK消息至所述硬件队列管理模块;当所述缓存空间未存满时,接收所述硬件队列管理模块发送的控制命令,并输出ACK消息至所述硬件模块的下一硬件模块,以通过所述末尾硬件模块传递所述ACK消息至所述硬件队列管理模块。
[0007]可选的,所述基于所述硬件模块的缓存空间,确定所述控制命令的执行结果,还包
括:当所述硬件模块接收所述控制命令后,通过所述硬件模块执行所述控制命令,并输出执行消息至所述硬件模块的下一硬件模块,以通过所述末尾硬件模块传递所述执行消息至所述硬件队列管理模块。
[0008]可选的,所述根据所述节点信息,确定执行所述控制命令的硬件模块,包括:获取所述控制命令的节点信息,以及所述至少两个硬件模块中的节点所对应的信息;将所述节点信息与所述至少两个硬件模块中的节点所对应的信息进行比较,以确定执行所述控制命令的硬件模块;基于所述至少两个硬件模块,将所述控制命令传递至所述硬件模块,以使所述对应的硬件模块执行所述控制命令。
[0009]可选的,所述方法还包括:获取所述硬件模块的缓存空间,并获取所述缓存空间中空闲状态的字节;基于所述空闲状态的字节,输出请求消息,并通过所述至少两个硬件模块将所述请求消息传递至所述硬件队列管理模块,以使所述硬件队列管理模块根据所述请求消息发送对应字节的控制命令。
[0010]可选的,所述方法还包括:当接收所述硬件队列管理模块连续发送的控制命令时,顺序获取所述控制命令所对应的字节;获取执行所述控制命令的硬件模块的缓存空间中空闲状态的字节;判断所述缓存空间中空闲状态的字节数量是否小于所述控制命令所对应的字节;当所述空闲状态的字节小于所述控制命令所对应的字节时,屏蔽所述控制命令及所述控制命令的后续控制命令,并基于所屏蔽的控制命令输出NACK消息至所述硬件队列管理模块,以使所述硬件队列管理模块基于所述NACK消息对所述连续的控制命令进行重传操作。
[0011]为解决上述技术问题,本专利技术实施方式采用的另一个技术方案是:提供一种消息传递方法,应用于硬件队列管理模块,所述方法包括:发送包含节点信息的控制命令至至少两个硬件模块中的首位硬件模块,以使所述至少两个硬件模块根据所述节点信息,将所述控制命令传递至对应的硬件模块;接收所述至少两个硬件模块中末尾硬件模块传递的执行结果,并基于所述执行结果,确定是否重传所述控制命令至所述首位硬件模块。
[0012]可选的,所述接收所述至少两个硬件模块中末尾硬件模块传递的执行结果,并基于所述执行结果,确定是否重传所述控制命令至所述首位硬件模块,包括:接收所述末尾硬件模块传递的执行结果;当所述执行结果为ACK消息时,确定所述控制命令被所述至少两个硬件模块接收,则继续传递控制列表中下一控制命令;当所述执行结果为NACK消息时,确定所述控制命令未被所述至少两个硬件模块接收,则将所述控制命令添加至所述控制列表的首位,以重新传递所述控制命令。
[0013]可选的,所述方法还包括:获取所述硬件队列管理模块的缓存空间,并判断所述缓存空间是否存满;当所述硬件队列管理模块的缓存空间存满时,则屏蔽所述至少两个硬件模块中末尾硬件模块传递的执行结果,并将屏蔽消息反馈至所述至少两个硬件模块,以使所述至少两个硬件管理模块根据所述屏蔽消息中的节点信息重传所述执行结果。
[0014]为解决上述技术问题,本专利技术实施方式采用的又一个技术方案是:提供一种通信系统,所述通信系统包括:至少两个硬件模块;硬件队列管理模块;以及控制器;其中,所述控制器包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上所述的方法。
[0015]区别于相关技术的情况,本专利技术实施例提供一种消息传递方法及通信系统,应用于硬件模块,其中,所述硬件模块至少包括两个,所述至少两个硬件模块串联。所述方法通过获取硬件队列管理模块发送的控制命令,其中,所述控制命令包括节点信息,根据所述节点信息,确定执行所述控制命令的硬件模块,并获取所述硬件模块的缓存空间,基于所述硬件模块的缓存空间或所述控制命令的接收情况,确定所述控制命令的执行结果,并通过所述至少两个硬件模块的末尾硬件模块将所述执行结果传递至所述硬件队列管理模块,以使所述硬件队列管理模块基于所述执行结果确定是否重传所述控制命令。基于此,通过至少两个硬件模块来传递控制命令,即可减少硬件队列管理模块与本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种消息传递方法,应用于硬件模块,其特征在于,所述硬件模块至少包括两个,所述至少两个硬件模块串联,所述消息传递方法包括:获取硬件队列管理模块发送的控制命令,其中,所述控制命令包括节点信息;根据所述节点信息,确定执行所述控制命令的硬件模块,并获取所述硬件模块的缓存空间;基于所述硬件模块的缓存空间或所述控制命令的接收情况,确定所述控制命令的执行结果,并通过所述至少两个硬件模块的末尾硬件模块将所述执行结果传递至所述硬件队列管理模块,以使所述硬件队列管理模块基于所述执行结果确定是否重传所述控制命令。2.根据权利要求1所述的方法,其特征在于,所述基于所述硬件模块的缓存空间,确定所述控制命令的执行结果,并通过所述至少两个硬件模块中的末尾硬件模块将所述执行结果传递至所述硬件队列管理模块,包括:获取所述硬件模块的缓存空间,并判断所述缓存空间是否存满;当所述缓存空间存满时,屏蔽所述硬件队列管理模块发送的控制命令,并输出NACK消息至所述硬件模块的下一硬件模块,以通过所述末尾硬件模块传递所述NACK消息至所述硬件队列管理模块;当所述缓存空间未存满时,接收所述硬件队列管理模块发送的控制命令,并输出ACK消息至所述硬件模块的下一硬件模块,以通过所述末尾硬件模块传递所述ACK消息至所述硬件队列管理模块。3.根据权利要求2所述的方法,其特征在于,所述基于所述硬件模块的缓存空间,确定所述控制命令的执行结果,还包括:当所述硬件模块接收所述控制命令后,通过所述硬件模块执行所述控制命令,并输出执行消息至所述硬件模块的下一硬件模块,以通过所述末尾硬件模块传递所述执行消息至所述硬件队列管理模块。4.根据权利要求1所述的方法,其特征在于,所述根据所述节点信息,确定执行所述控制命令的硬件模块,包括:获取所述控制命令的节点信息,以及所述至少两个硬件模块中的节点所对应的信息;将所述节点信息与所述至少两个硬件模块中的节点所对应的信息进行比较,以确定执行所述控制命令的硬件模块;基于所述至少两个硬件模块,将所述控制命令传递至所述硬件模块,以使所述对应的硬件模块执行所述控制命令。5.根据权利要求1
‑
4任一项所述的方法,其特征在于,所述方法还包括:获取所述硬件模块的缓存空间,并获取所述缓存空间中空闲状态的字节;基于所述空闲状态的字节,输出请求消息,并通过所述至少两个硬件模块将所述请求消息传递至所述硬件队列管理模块,以使所述硬件队列管理模块根...
【专利技术属性】
技术研发人员:孟鹏涛,杨亚飞,
申请(专利权)人:深圳大普微电子科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。