基于国产多核DSP芯片实现多片—多核稳定传输数据的通信方法与流程

专利2024-04-21  9


基于国产多核dsp芯片实现多片

多核稳定传输数据的通信方法
技术领域
1.本发明涉及dsp芯片通信协议领域,具体涉及基于国产多核dsp芯片实现多片—多核稳定传输数据的通信方法。


背景技术:

2.随着电子信息技术的发展,对图像数据处理提出了更高的要求,如今已进入大数据时代,数据处理的可靠性、快速性越不越成为人们追求的目标。目前dsp芯片由于其具有专门的硬件乘法器,广泛采用流水线操作,提供特殊的dsp指令,因此用来实现各种数字信号处理算法,已经广泛应用于国防、无人驾驶、人脸识别等场景,目前行业中使用的dsp通信方法组件主要由一片ti进口dsp芯片来实现,进口芯片使用功能受限,一片芯片并行处理缩短的时间有限,不能满足大数据时代的实时处理的要求,因此需要搭建一套完整的基于国产dsp芯片的多片—多核稳定通信方法。


技术实现要素:

3.本发明需要解决的技术问题有两个,一个是解决dsp芯片通信方法去进口化,实现国产化的要求,另一个是解决的目前大数据时代,数据量大,计算时间要求短的问题,特别是互联网行业,实时性要求高,因此需要做并行处理。本方案提供了一种基于国产dsp芯片实现多片多核稳定传输数据的通信方法,设计了一套完整的多片多核的通信协议,使用国产ft-6678芯片平替原有进口的dsp芯片,同时支持多片ft-6678芯片在线通信,在没有进口芯片的情况下,依然能够实现dsp芯片之间的稳定通信和大数据量的并行计算,有助于提高大数据高复杂度的计算时间。
4.本发明通过下述技术方案实现:基于国产dsp芯片实现多片—多核稳定传输数据的通信方法,包括片间通信协议和核间通信协议两部分组成;片间通信协议是指多片国产dsp芯片之间进行数据或者信息的交互需要搭建的通信方法,多片国产dsp芯片之间采用高速总线进行数据的传输;核间通信协议是指在一片国产dsp芯片内核之间进行数据交互需要搭建的通信方法,一片国产dsp芯片内核之间利用sm共享内存或者ddr3存储区进行核间通信。片间通信方法是,当存在多片国产dsp芯片时,选定任意一片国产dsp芯片作为整个通信的主控芯片,其余国产dsp芯片作为从片,主片的作用是用来获取前端的指令,按照主片与前端的通信协议解析前端指令并按照通信协议验证指令的正确性,如果正确就按照通信协定发送相应的指令指挥从片进行相应的算法计算或者图像处理,否则上报通信失败信息。从片的作用是获取主片的指令,按照通信协定解析主片指令并按照通信协议验证指令的正确性,如果正确就按照主片指令进行相应的算法计算或者图像处理,然后将处理后的结果,按照通信协定传输给主片使用,否则上报给主片通信失败信息。高速总线为连接在国产dsp芯片之间的srio高速总线,srio高速总线的通信速率采用3.125gbps模式,srio高
速总线的事务类型使用nwrite和doorbell。核间通信方法是,在一颗国产dsp芯片内部进行数据交互,一般选定国产dsp芯片的0核作为一颗芯片的主控内核,其余内核作为从核。具体的通信协议内容为准备、开始、结束、接收完成、退出和不退出的具体指令设计。任何两个内核之间的任何两次正常流程(准备、识别、收图、返回流程)的通信,都可以看成是若干次基本通信流程的组合。主片的主核起收发数据、获取指令、分配主核任务的作用,从片的主核起收发数据、获取指令、汇总从核结果并兼顾部分数据量的算法执行的作用。主片的从核起获取主片主核的任务指令、下发从片任务指令以及任务数据并完成部分可执行的主核任务的作用,从片的从核起按照任务进行算法并行计算的作用。核间通信是主核置位从核的开始标志位,触发从核的ipc中断,从核从每个内核的标志位处查询到开始标志后,开始启用算法计算,然后从核计算完成后,将计算结果按照协议放置到共享区域对应每个核的所属区域,然后在每个从核的完成标志位处置位,标志着该从核的计算结束,触发主核的ipc中断,主核查询到所有从核完成标志位后,将计算结果汇总按照片间通信协议传输到主片。片间通信流程主要包括通信协议、相应标志(ack/nak)以及doorbell确认信息。具体的通信协议内容为发送数据包的帧头、帧尾和数据包。数据包包括数据类型,数据大小以及相应数据。相应数据分为指令数据和图像数据。核间通信的具体的通信协议内容为准备、开始、结束、接收完成、退出和不退出的具体指令设计。
附图说明
5.图1是本发明的总体架构图
6.图2是本发明中片间通信发送流程图
7.图3是本发明中片间通信接收流程图
8.图4是本发明中核间通信主控核流程图
9.图5是本发明中核间通信从核流程图
具体实施方式
10.为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本发明作进一步的详细说明,本发明的示意性实施方式及其说明仅用于解释本发明,并不作为对本发明的限定。在以下描述中,为了提供对本发明的透彻理解阐述了大量特定细节。然而,对于本领域普通技术人员显而易见的是:不必采用这些特定细节来实行本发明。
11.实施例如图1所示,本实施例中多片多核通信方法,包括两片ft-6678芯片,以零号芯片作为主控芯片,一号芯片作为从片,以零号芯片的零核作为主片的主核,以主片的四到七核作为从片的控制核,以下发主片的任务给从片,以从片的零核作为从片的主核,负责任务的获取以及结果汇报。
12.本实例中片间通信流程为:如图2所示,发送方dsp将数据按照协议打包,记录当前发送次数并通过srio发送数据包,在一定的延时内等待接收dsp的回执,如果超时未收到回执,则发送次数自加并重发;如果收到回执为ack,则发送成功,退成流程;而收到回执为nak,则发送次数自加并重
发。无论因为哪种方式重发,只要重发次数达到上限3次,则认为发送失败,上报错误信息并结束发送流程。如图3所示,接收方dsp在代码执行到需要接收数据的时候,例如算法起始阶段时或者数据有误等需要重新接收数据时,进入等待数据循环直到开始接收数据包,开始接收后如果在规定的时间内仍未接收到数据,则回执nak并且重新开始接收直到成功接收数据或不满足接收条件为止;如果成功接收数据,在接受完成后经行数据校验,校验无误则回执ack,有误则回执nak并等待接收数据直到成功接收数据或不满足接收条件为止。具体的通信协议内容为发送数据包的帧头帧尾和数据包内部的格式,内部格式,包括数据类型,数据大小或长度,具体的信息为指令信息的意义和数据信息的意义。最终还有校验ack和nak的设计。在总体地址设计中,0核装订的数据存放在81000000h~810fffffh内,最大空间1mb,所以发送到最大为1mb加包头包尾以及长度,数据类型等,所以需要上述的最大地址开辟数据区作为发送数据缓冲区,设计暂定包位置为0核程序临时空间末尾8fe00000h~8fffffffh内大小为2mb的空间为发送数据缓冲区。表1数据包设计本实例的数据包的设计如上表所示,暂定数据和指令的区分为00和ff,发送数据包的长度应该有限制,发送数据的链路决定,如使用srio的发送方式一般为最大1mb,所以在所发送数据包大于1mb时要进行数据包的分割。
13.本实例中核间通信流程为:从核在专门为1-7核设计好的各自地址区的初始指令为等待标志,主控核将为1-7核共有的退出标志区置为不退出指令,指令区置为准备标志;从核一直查询自己的地址区是否为准备标志,查到准备标志后将准备标志置为接受成功标志,随后继续等待;主核在给从核置完位之后,随后一直查询1-7核的标志位是否已经为接受成功标志位,直到7个从核都查询到后将1-7核的指令区设置为开始标志;从核在置位接受成功标志后一直查询自己的地址区是否为开始标志,查询到后开始执行对应算法,执行完成后将自己的指令区设置为结束标志,随后一直查询退出指令区,直到指令区为退出标志时退出交互,从核通信完成;主核在给从核置完位之后,经行自身核的运算,随后一直查询1-7核的标志位是否已经为结束标志,直到所有核都为结束标志时,将从核1-7位置位为等待标志,将退出指令区置
为退出指令,结束整个分核代码的运行;以上主控核查询从核置位都应有规定的延时,若在规定的时间内无法查到对应标志,则退出通信并上报错误信息。如图4所示,主控核执行的流程为:在需要核间通信时,置位准备标志和不退出标志,不退出内加入步骤号表示当前执行代码的流程,随后延时等待从核的接收完成标志,超时则上报错误退出;成功则置位开始标志,运行主核算法,同时延时等待从核的结束标志,超时则上报错误退出;成功则置退出标志,并判断从核返回的退出步骤号,从而判断分核部分代码运行情况,如果退出标识号匹配则正常执行,否则上报流程错误信息并退出。如图5所示,从核执行的流程为:等待主核的准备标志,收到后记录退出标签并置位接收完成标志,随后等待主核的开始标志,收到后完成算法开始通信,运行从核算法,运算完成后置位结束标志,等待主核的退出标志,收到后上报退出标签,完成算法结束通信,返回等待准备标志的状态。具体的通信协议内容为准备、开始、结束、接收完成、退出和不退出的具体指令设计。表2具体指令设计

技术特征:
1.基于国产dsp芯片实现多片—多核稳定传输数据的通信方法,其特征在于,存在多片国产dsp芯片的板卡时,为了节省算法运行时间,采用多片多核并行处理数据的方式,因此建立起一套稳定可靠的通信方法,主要包括片间通信方法和核间通信方法两部分组成;片间通信方法是指多片国产dsp芯片之间进行数据或者信息的交互需要搭建的通信方法,多片国产dsp芯片之间采用高速总线进行数据的传输,数据传输完成触发片间通信中断,表征一次通信的完成;核间通信方法是指在一片国产dsp芯片内核之间进行数据交互需要搭建的通信方法,一片国产dsp芯片内核之间利用sm共享内存或者ddr3存储区进行核间通信。2.根据权力要求1所述的片间通信方法,特征在于,当存在多片国产dsp芯片时,选定任意一片国产dsp芯片作为整个方法的主控芯片,其余国产dsp芯片作为从片,主片的作用是用来获取前端的指令,按照主片与前端的通信协议解析前端指令并按照通信协议验证指令的正确性,如果正确就按照通信协定发送相应的指令指挥从片进行相应的算法计算或者图像处理,否则上报通信失败信息。从片的作用是获取主片的指令,按照通信协定解析主片指令并按照通信协议验证指令的正确性,如果正确就按照主片指令进行相应的算法计算或者图像处理,然后将处理后的结果,按照通信协定传输给主片使用,否则上报给主片通信失败信息。3.根据权力要求1所述的基于国产dsp芯片实现多片—多核稳定传输数据的通信方法,其特征在于,国产dsp芯片采用银河飞腾公司的ft-m6678芯片。4.根据权力要求2所述的片间通信方法,其特征在于,所述高速总线为连接在国dsp芯片之间的srio高速总线,srio高速总线的通信速率采用3.125gbps模式,srio高速总线的事务类型使用nwrite和doorbell。5.根据权力要求1所述的核间通信方法,特征在于,在一颗国产dsp芯片内部进行数据交互,一般选定国产dsp芯片的0核作为整个方法的主控内核,其余内核作为从核。主片的主核起收发数据、获取指令、分配主核任务的作用,从片的主核起收发数据、获取指令、汇总从核结果并兼顾部分数据量的算法执行的作用。主片的从核起获取主片主核的任务指令、下发从片任务指令以及任务数据并完成部分可执行的主核任务的作用,从片的从核起按照任务进行算法并行计算的作用。6.根据权力要求1所述的核间通信方法,特征在于,在片内通信中,ft-6678芯片共有8个内核可供使用,sm共享内存的地址区和ddr3存储的地址去均可被所有的内核都能读写访问,故利用这一点进行核间通信。7.根据权力要求1所述的片间通信中断和核间中断,特征在于,片间通信中断为srio的doorbell中断,标志着一次片间数据传输的完成。8.根据权力要求1所述的基于国产dsp芯片实现多片—多核稳定传输数据的通信方法,其特征在于,在一块拥有n颗ft-6678dsp芯片的板卡上,在确定一片ft-6678dsp芯片作为主控芯片后,其余芯片被默认为从片,这样的并行处理方法在理论上,一个算法的运行时间仅为原来串行处理时间的1/8*(n-1)。

技术总结
本发明设计了一套基于国产DSP芯片采用多个内核并行处理的通信方法,采用多个内核同时运算,根据具体参数信息配置SRIO并进行数据的发送和接收,大大提升算法的运算效率。指令部分是发送方为接收方提供数据接收、传输方向、数据大小、控制命令等参数的信息,它采用固定的大小,利于接收方按照默认指令模式进行接收;数据部分主要包括图像数据、运算中间量等信息,数据部分的接收是通过对指令部分的参数解析,然后对接收的SRIO数据进行数据解析,最终完成数据信息的接收。DSP内核的核间通信,有一个主控核,根据硬件的限制和算法的需要,有一到多个从核,并且由主核来控制从核。本设计处理速度快,稳定性好,且通用性好。且通用性好。且通用性好。


技术研发人员:董澍 史学鹏 张愉娇 李凤伟
受保护的技术使用者:北京艾思航科技服务有限公司
技术研发日:2022.05.11
技术公布日:2022/11/1
转载请注明原文地址: https://tieba.8miu.com/read-7909.html

最新回复(0)