【技术实现步骤摘要】
多处理器间的通信方法、装置、系统及存储介质
本申请涉及芯片通信
,尤其涉及一种多处理器间的通信方法、装置、系统及存储介质。
技术介绍
为应对越来越丰富的应用场景,处理器设计越来越复杂,在一个指甲大小的芯片上集成多个核心(也即处理器)变得非常普遍。为了完成系统任务,多核之间的通信是不可避免的,核间通信是芯片设计中不可缺少的一部分。目前,比较常见的核间通信主要是采用共享内存+中断同步的方式,即提前预留出专门用于核间通信的共享内存,并采用中断模式确保多个核心之间的信息是同步的,但是这种核间通信模式需要开发复杂的软件并遵循RPMSG(RemoteProcessorMessaging)协议或者移植协议,通信效率不高,且共享内存无法被其他程序使用,占用系统资源。
技术实现思路
本申请实施例提供一种多处理器间的通信方法、装置、系统及存储介质,能基于硬件实现核间通信,无需开发复杂软件和设置共享内存,通信效率高,系统资源占用少。本申请实施例提供了一种多处理器间的通信方法,应用于第一处理器,所述第一处理器中设置有第一邮箱寄存器,所述第一邮箱寄存器包括第一控制模块、第一命令FIFO先进先出队列模块和第一数据FIFO模块,所述通信方法包括:当所述第一处理器中存在需要向第二处理器传输的待传送数据时,通过所述第一控制模块关闭发送中断服务,所述第二处理器中设有第二邮箱寄存器,所述第二邮箱寄存器包括第二控制模块、第二命令FIFO模块和第二数据FIFO模块;在所述发送中断服务关闭之后,向所述第 ...
【技术保护点】
1.一种多处理器间的通信方法,应用于第一处理器,其特征在于,所述第一处理器中设置有第一邮箱寄存器,所述第一邮箱寄存器包括第一控制模块、第一命令FIFO先进先出队列模块和第一数据FIFO模块,所述通信方法包括:/n当所述第一处理器中存在需要向第二处理器传输的待传送数据时,通过所述第一控制模块关闭发送中断服务,所述第二处理器中设有第二邮箱寄存器,所述第二邮箱寄存器包括第二控制模块、第二命令FIFO模块和第二数据FIFO模块;/n在所述发送中断服务关闭之后,向所述第一命令FIFO模块写入写命令,并向所述第一数据FIFO模块写入所述待传送数据;/n通过所述第一命令FIFO模块与所述第二命令FIFO模块之间的通信通道,将所述写命令和中断通知发送至所述第二命令FIFO模块,并通过所述第一数据FIFO模块和所述第二数据FIFO模块之间的通信通道,将所述待传送数据发送至所述第二数据FIFO模块,以在所述第二控制模块根据所述中断通知打开接收中断服务之后,所述第二处理器根据所述写命令,从所述第二数据FIFO模块中读取所述待传送数据进行存储。/n
【技术特征摘要】
1.一种多处理器间的通信方法,应用于第一处理器,其特征在于,所述第一处理器中设置有第一邮箱寄存器,所述第一邮箱寄存器包括第一控制模块、第一命令FIFO先进先出队列模块和第一数据FIFO模块,所述通信方法包括:
当所述第一处理器中存在需要向第二处理器传输的待传送数据时,通过所述第一控制模块关闭发送中断服务,所述第二处理器中设有第二邮箱寄存器,所述第二邮箱寄存器包括第二控制模块、第二命令FIFO模块和第二数据FIFO模块;
在所述发送中断服务关闭之后,向所述第一命令FIFO模块写入写命令,并向所述第一数据FIFO模块写入所述待传送数据;
通过所述第一命令FIFO模块与所述第二命令FIFO模块之间的通信通道,将所述写命令和中断通知发送至所述第二命令FIFO模块,并通过所述第一数据FIFO模块和所述第二数据FIFO模块之间的通信通道,将所述待传送数据发送至所述第二数据FIFO模块,以在所述第二控制模块根据所述中断通知打开接收中断服务之后,所述第二处理器根据所述写命令,从所述第二数据FIFO模块中读取所述待传送数据进行存储。
2.根据权利要求1所述的多处理器间的通信方法,其特征在于,所述通过所述第一数据FIFO模块和所述第二数据FIFO模块之间的通信通道,将所述待传送数据发送至所述第二数据FIFO模块,包括:
获取所述第一处理器的第一标识和所述第二处理器的第二标识;
根据所述第一标识和所述第二标识,对所述第一数据FIFO模块中的所述待传送数据进行加密,得到加密数据;
通过所述第一数据FIFO模块与所述第二数据FIFO模块之间的通信通道,将所述加密数据传送至所述第二数据FIFO模块。
3.根据权利要求2所述的多处理器间的通信方法,其特征在于,所述根据所述第一标识和所述第二标识,对所述第一数据FIFO模块中的所述待传送数据进行加密,包括:
对所述第一标识和所述第二标识进行异或,得到第一数据;
对所述第一数据和所述待传送数据进行异或,得到第二数据;
将所述第二数据中的每个字符沿预设方向循环移动预设位,得到加密数据。
4.根据权利要求1所述的多处理器间的通信方法,其特征在于,在通过所述第一控制模块关闭发送中断服务之前,还包括:
检测所述第一数据FIFO模块和所述第一命令FIFO模块中是否存在未发送完的数据;
若是,则清空所述第一数据FIFO模块和所述第一命令FIFO模块中的数据。
5.根据权利要求1所述的多处理器间的通信方法,其特征在于,还包括:
在所述第一命令FIFO模块中写入用于指示通道连接的打开命令;
根据所述打开命令,连通所述第一数据FIFO模块与所述第二数据FIFO模块之间的通信通道,以及连通所述第一命令FIFO模块和所述第二命令FIFO模块之间的通信通道。
6.一种多处理器间的通信方法,应用于第二处理器,其特征在于,所述第二处理器中设有第二邮箱寄存器,所述第二邮箱寄存器包括第二控制模块、第二命令FIFO模块和第二数据FIFO模块,所述通信方法包括:
当所述第二命令FIFO模块接收到第一处理器发送的中断通知时,通过所述第二控制模块打开接收中断服务,所述第一处理器中设置有第一邮箱寄存器,所述第一邮箱寄存器包括第一控制模块、第一命令FIFO模块和第一数据FIFO模块;
在所述接收中断服务打开之后,读取所述第二命令FIFO模块中当前存储的命令进行解析,得到解析命令;
当所述解析命令为写命令时,读取所述第二数据FIFO模块中当前存储的数据到所述第二处理器中的预设缓存区。
7.根据权利要求6所述的多处理器间的通信方法,其特征在于,所述第二处理器中还设有读取接口,还包括:
获取目标应用发送的读取指令,所述读取指令携带目标数据长度;
根据所述应用读取指令确定当前的接口传输模式;
若所述当前的接口传输模式为阻塞模式,则获取预设的传输属性参数;根据所述传输属性参数确定所述预设缓存区中的目标数据,并通过所述读取接口将所述目标数据传输至所述目标应用;
若所述当前的接口传输模式为非阻塞模式,则利用所述读取接口,从所述预设缓存区中读取等于...
【专利技术属性】
技术研发人员:于永庆,
申请(专利权)人:湖北芯擎科技有限公司,
类型:发明
国别省市:湖北;42
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。