多运算芯片的多链式通信系统的制作方法

文档序号:17475096发布日期:2019-04-20 06:04阅读:162来源:国知局
多运算芯片的多链式通信系统的制作方法

本发明涉及多运算芯片通信技术领域,尤其涉及一种多运算芯片的多链式通信系统。



背景技术:

对于一个运算量巨大的复杂运算系统来说,其通常是由一个控制芯片和众多的运算芯片组成。在该系统中,控制芯片负责配置各个运算芯片,并分发运算任务给各个运算芯片。各个运算芯片负责处理运算数据,并返回运算结果给控制芯片。这种通过控制芯片直接控制各个运算芯片,且各个运算芯片相互独立的方式,由于控制芯片和运算芯片的连线太多,限制了运算芯片的数量,也会导致系统运算性能不够,不能满足对运算性能的要求越来越高的需求,并且由于复杂线路的设计会带来制造成本上升。



技术实现要素:

本发明提供的多运算芯片的多链式通信系统,其主要目的在于克服现有复杂运算系统不仅限制了运算芯片的数量,也会导致系统运算性能不够,不能满足对运算性能的要求越来越高的需求,并且由于复杂线路的设计会带来制造成本上升的缺陷。

为解决上述技术问题,本发明采用如下技术方案:

一种多运算芯片的多链式通信系统,包括一个控制芯片和若干通信链路;

所述控制芯片包括与所述通信链路对应连接的通信通道,每个所述通信通道均包括数据发送端dntx和数据接收端dnrx;

每个所述通信链路包括若干相互串联的运算芯片;每个所述运算芯片包括上行数据发送端uptx,上行数据接收端uprx,下行数据发送端dntx,下行数据接收端dnrx;

在每个所述运算芯片中:

其上行数据发送端uptx连接于前一级运算芯片的下行数据接收端dnrx;

其上行数据接收端uprx连接于前一级运算芯片的下行数据发送端dntx;

其下行数据发送端dntx连接于后一级运算芯片的上行数据接收端uprx;

其下行数据接收端dnrx连接于后一级运算芯片的上行数据发送端uptx;

所述运算芯片为距离所述控制芯片最近的第一级运算芯片:

其上行数据发送端uptx连接于对应所述通信通道的数据接收端dnrx;

其上行数据接收端uprx连接于对应所述通信通道的数据发送端dntx;

其下行数据发送端dntx连接于后一级运算芯片的上行数据接收端uprx;

其下行数据接收端dnrx连接于后一级运算芯片的上行数据发送端uptx;

所述运算芯片为距离所述控制芯片最远的第m级运算芯片:

其上行数据发送端uptx连接于前一级运算芯片的下行数据接收端dnrx;

其上行数据接收端uprx连接于前一级运算芯片的下行数据发送端dntx;

其下行数据发送端dntx悬空;

其下行数据接收端dnrx为无效;

所述控制芯片通过数据发送端dntx基于预设下行通信协议发出下行通信数据,对每个通信链路的任务进行分配;

所述控制芯片通过数据接收端dnrx,接收对应通信链路上的每个运算芯片发出的基于预设上行通信协议的上行通信数据。

作为一种可实施方式,所述控制芯片发出的下行通信数据,通过通信链路中相互串联运算芯片的下行数据发送端dntx和上行数据接收端uprx发送至指定的运算芯片中。

作为一种可实施方式,所述控制芯片通过通信链路中相互串联运算芯片的上行数据发送端uptx和下行数据接收端dnrx,完成上行通信数据的接收。

作为一种可实施方式,所述下行通信协议格式包括通信命令类型commandtype、运算芯片地址destinationchipid、偏移地址offsetaddress、命令长度commandlength、命令内容以及crc校验值。

作为一种可实施方式,所述下行通信协议包括单播模式和广播模式;

所述单播模式为向指定运算芯片发出的下行通信;

所述广播模式为向所有运算芯片同时发出的下行通信。

作为一种可实施方式,当下行通信命令commandtype为cmd0时,表示为寄存器写命令;当下行通信命令commandtype为cmd1时,表示为寄存器读命令;

当下行通信命令为寄存器读命令时,下行通信协议格式包括下行通信命令commandtype、运算芯片地址destinationchipid、偏移地址offsetaddress以及crc校验值。

作为一种可实施方式,所述上行通信协议格式包括通信数据包类型returntype、运算芯片地址sourcechipid、偏移地址offsetaddress、返回数据包长度datalength、返回数据包内容以及crc校验值。

作为一种可实施方式,所述上行通信协议中的通信数据包的格式分为三种:

pkt_type0:返回寄存器读值;

pkt_type1:中断返回;

以及pkt_type2:返回计算目标值。

作为一种可实施方式,所述通信链路中的任意运算芯片,同时接收并缓存其下行发送给该运算芯片的通信数据和本运算芯片产生的运算数据,并按照预设顺序机制发送到上行的运算芯片中。

作为一种可实施方式,所述控制芯片识别来自不同通信通道的通信数据,并控制运算任务均匀的发往各个通信链路。

与现有技术相比,本技术方案具有以下优点:

本发明提供的多运算芯片的多链式通信系统,利用控制芯片控制多个通信链路,且每个通信链路包括若干相互串联的运算芯片的相互独立的串联通信结构;使得控制芯片基于下行通信协议协调各通信链路的任务分配,并且基于上行通信协议接收各通信链路中的每个运算芯片的上行通信数据;从而具有的通信链路结构简单设计难度低,从而降低生产成本;同时依靠上下行通信协议,消除了单条通信链路中各个运算芯片的上下行通信数据的相互干扰,保证了每个运算芯片都能正确接收和发送数据,不同通信链路之间相互不影响,进一步增大了运算芯片的数量,提高系统运算性能。

附图说明

图1为本发明实施例一提供的多运算芯片的多链式通信系统的结构布局示意图。

图中:1、控制芯片;11、通信通道;2、通信链路;21、运算芯片。

具体实施方式

以下结合附图,对本发明上述的和另外的技术特征和优点进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的部分实施例,而不是全部实施例。

请参阅图1,本发明实施例一提供的多运算芯片的多链式通信系统,包括一个控制芯片1和若干通信链路2;

控制芯片1包括与通信链路2对应连接的通信通道11,每个通信通道11均包括数据发送端dntx和数据接收端dnrx;

每个通信链路2包括若干相互串联的运算芯片21;每个运算芯片21包括上行数据发送端uptx,上行数据接收端uprx,下行数据发送端dntx,下行数据接收端dnrx;

在每个运算芯片21中:

其上行数据发送端uptx连接于前一级运算芯片21的下行数据接收端dnrx;

其上行数据接收端uprx连接于前一级运算芯片21的下行数据发送端dntx;

其下行数据发送端dntx连接于后一级运算芯片21的上行数据接收端uprx;

其下行数据接收端dnrx连接于后一级运算芯片21的上行数据发送端uptx;

运算芯片21为距离控制芯片1最近的第一级运算芯片:

其上行数据发送端uptx连接于对应通信通道11的数据接收端dnrx;

其上行数据接收端uprx连接于对应通信通道11的数据发送端dntx;

其下行数据发送端dntx连接于后一级运算芯片21的上行数据接收端uprx;

其下行数据接收端dnrx连接于后一级运算芯片21的上行数据发送端uptx;

运算芯片21为距离控制芯片1最远的第m级运算芯片:

其上行数据发送端uptx连接于前一级运算芯片21的下行数据接收端dnrx;

其上行数据接收端uprx连接于前一级运算芯片21的下行数据发送端dntx;

其下行数据发送端dntx悬空;

其下行数据接收端dnrx为无效;

控制芯片1通过数据发送端dntx基于预设下行通信协议发出下行通信数据,对每个通信链路2的任务进行分配;

控制芯片1通过数据接收端dnrx,接收对应通信链路2上的每个运算芯片21发出的基于预设上行通信协议的上行通信数据。

需要说明的是,控制芯片1包括n(n=0,1,2...n)个通信通道11,而通信链路2的数量可以和通信通道11的数量相同。每个通信链路2中具有m(m=0,1,2...m)个相互串联的运算芯片21;将距离控制芯片1最近的运算芯片21定义为第一级运算芯片,将距离控制芯片1最远的运算芯片21定义为第m级运算芯片。也就是说,在每个通信链路2中,第一级运算芯片和通过通信通道11和控制芯片1相连,中间的第二级运算芯片至第m-1级运算芯片均为相互串联,第m级运算芯片的下行数据接收端dnrx固定接”1”(即无效),下行数据发送端dntx悬空。多通信链路2的结构,能够使不同通信链路2之间相互不影响,可以随着运算量的需求增加通信链路2,即增加了运算芯片21,从而提高系统运算性能。

控制芯片1通过通信通道11完成对所有通信链路2上运算芯片21的任务分配和结果接收。控制芯片1通过数据发送端dntx基于预设下行通信协议发出下行通信数据,而下行通信协议格式包括通信命令类型commandtype、运算芯片地址destinationchipid、偏移地址offsetaddress、命令长度commandlength、命令内容以及crc校验值。控制芯片1通过数据接收端dnrx接收每个运算芯片21发出的基于预设上行通信协议的上行通信数据。上行通信协议格式包括通信数据包类型returntype、运算芯片地址sourcechipid、偏移地址offsetaddress、返回数据包长度datalength、返回数据包内容以及crc校验值。且上行通信协议中的通信数据包的格式分为三种:pkt_type0:返回寄存器读值;pkt_type1:中断返回;以及pkt_type2:返回计算目标值。利用预设的下行通信协议和上行通信协议,协调各个运算芯片21,降低下行通信数据在相互串联的运算芯片21之间的干扰,增强鲁棒性,从而保证了每个运算芯片21都能正确接收和发送数据。

本发明提供的多运算芯片的多链式通信系统,利用控制芯片1控制多个通信链路2,且每个通信链路2包括若干相互串联的运算芯片21的相互独立的串联通信结构;使得控制芯片1基于下行通信协议协调各通信链路2的任务分配,并且基于上行通信协议接收各通信链路2中的每个运算芯片21的上行通信数据;从而具有的通信链路2结构简单设计难度低,从而降低生产成本;同时依靠上下行通信协议,消除了单条通信链路2中各个运算芯片21的上下行通信数据的相互干扰,保证了每个运算芯片21都能正确接收和发送数据,不同通信链路2之间相互不影响,进一步增大了运算芯片21的数量,提高系统运算性能。

对于下行通信数据的发送;控制芯片1发出的下行通信数据,通过通信链路2中相互串联运算芯片21的下行数据发送端dntx和上行数据接收端uprx发送至指定的运算芯片21中。降低在单条通讯链路中各个运算芯片21对下行通信数据传输的干扰。

对于上行通信数据的接收;控制芯片1通过通信链路2中相互串联运算芯片21的上行数据发送端uptx和下行数据接收端dnrx,完成上行通信数据的接收。降低在单条通讯链路中各个运算芯片21对上行通信数据传输的干扰。

为了兼顾高效和灵活,同时提高运算能力;下行通信协议包括单播模式和广播模式;单播模式为向指定运算芯片21发出的下行通信;广播模式为向所有运算芯片21同时发出的下行通信。广播模式和单播模式由下行通信协议中的运算芯片地址决定,对通讯链路上所有的运算芯片21发出带有ff的运算芯片地址destinationchipid时,则为广播模式,表示该通讯链路上所有的运算芯片21都要接收并处理该命令。只对指定的运算芯片21发出带有ff的运算芯片地址destinationchipid,而对其他运算芯片21发出不带ff的运算芯片地址destinationchipid时,则为单播模式,表示只需要指定的运算芯片21处理该命令。也就是说,运算芯片21接收所有命令,仅当是广播命令或者命令中的芯片地址和本芯片匹配时,才处理该命令。

进一步的,当下行通信命令commandtype为cmd0时,表示为寄存器写命令;当下行通信命令commandtype为cmd1时,表示为寄存器读命令。当下行通信命令为寄存器读命令时,下行通信协议格式包括下行通信命令commandtype、运算芯片地址destinationchipid、偏移地址offsetaddress以及crc校验值。寄存器写命令为对寄存器进行写操作的命令。寄存器读命令为对寄存器进行读操作的命令进一步的,通信链路2中的任意运算芯片21,同时接收并缓存其下行发送给该运算芯片21的通信数据和本运算芯片21产生的运算数据,并按照预设顺序机制发送到上行的运算芯片21中;从而协调各运算芯片21中数据传输的协调性,以提高运算性能。

进一步的,控制芯片1识别来自不同通信通道11的通信数据,并控制运算任务均匀的发往各个通信链路2。从而均匀分配任务至各个通信链路2,避免单个通信链路2或运算芯片21处理量过大的情况。

本发明虽然已以较佳实施例公开如上,但其并不是用来限定本发明,任何本领域技术人员在不脱离本发明的精神和范围内,都可以利用上述揭示的方法和技术内容对本发明技术方案做出可能的变动和修改,因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化及修饰,均属于本发明技术方案的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1