一种基于高速差分信号的芯片级联方法与流程

文档序号:27753328发布日期:2021-12-03 20:25阅读:344来源:国知局
一种基于高速差分信号的芯片级联方法与流程

1.本发明涉及并行计算技术领域,特别涉及一种基于高速差分信号的芯片级联方法。


背景技术:

2.当今社会是一个高度数字化的社会,特别是随着移动通信技术的不断发展和演进。mipi/dvp/bt所传送的一般是普通视频流,它们也可以作为高速数据端口使用。现有技术中的常用术语包括:
3.pci-express(peripheral component interconnect express)是一种高速串行计算机扩展总线标准,pcie属于高速串行点对点双通道高带宽传输,所连接的设备分配独享通道带宽,不共享总线带宽,主要支持主动电源管理,错误报告,端对端的可靠性传输,热插拔以及服务质量(qos)等功能。
4.移动产业处理器接口(mobile industry processor interface简称mipi)是mipi联盟发起的为移动应用处理器制定的开放标准。mipi是专门在高速(数据传输)模式下采用低振幅信号摆幅,针对功率敏感型应用而量身定做的。mipi联盟定义了一套接口标准,把移动设备内部的接口如摄像头、显示屏、基带、射频接口等标准化,从而增加设计灵活性,同时降低成本、设计复杂度、功耗和emi。由于mipi是采用差分信号传输的,所以在设计上需要按照差分设计的一般规则进行严格的设计,关键是需要实现差分阻抗的匹配,mipi协议规定传输线差分阻抗值为80-125欧姆。
5.如何有效的提高效率,有效利用差分高速数据传输实现数据在芯片级联并行计算中的作用成为亟待解决的问题。


技术实现要素:

6.为了解决上述现有技术中存在的问题,本发明的目的在于:通过本发明的方法可以用来加速深度神经网络计算,语音智能算法计算,数学计算以及区块链计算。
7.为了实现上述目的,本技术提供了一种基于高速差分信号的芯片级联方法,所述方法包括:
8.通过差分高速输入接口的高速差分总线将数据输入到总线仲裁模块,由总线仲裁模块判断数据流中的某一部分或者全部是否进入计算单元的存储模块,没有进入本计算单元的继续从差分高速输出接口发出,流向下一个计算单元;
9.进入本计算单元的数据,交由计算引擎模块计算结果,结果数据返回存储模块中,再从差分高速输出接口发送到下一个计算单元;
10.当计算引擎处于计算状态中并没有到达输出结果的这段时间里,该计算单元处于忙碌状态;否则处于空闲状态。
11.所述的差分高速差分总线中的数据会同时包含下列任意一种或多种类型:
12.1)该数据包是计算数据,其中明确标志了接收本数据包的计算单元的id信息,则
该数据包只会被包含该id的计算单元总线仲裁模块接收,其他计算单元对此数据包只执行过顶传输操作;如果没有符合条件的计算单元,该数据包会传递返回计算控制模块;
13.2)该数据包是计算数据,但没有标志接收本数据包的计算单元的id信息,则该数据包会被第一个空闲状态的计算单元接收,处于忙碌状态的计算单元对此数据包只执行过顶传输操作;如果没有符合条件的计算单元,该数据包会传递返回计算控制模块;
14.3)该数据包是结果数据;则所有计算单元对此数据包只执行过顶传输操作。
15.每个所述的计算单元就是一颗独立的soc/asic芯片,所述芯片内置计算单元。
16.所述的计算单元支持mipi/lvds接口和spi/i2c/uart接口。
17.所述的差分高速总线为mipi总线,也可以为lvds/bt1120高速总线。
18.所述方法利用高速总线协议来统一传输计算数据和结果数据,并不需要分开两条数据通路。
19.所述的计算控制模块由fpga或者asic芯片实现。
20.本发明的优势在于:采用本方法,以深度神经网络计算为例,计算单元中内置cnn加速引擎,每个计算单元提供8tops的算力,通过16单元的级联,就可以达到共计整板128t的算力。用这种方式,比gpgpu或者fpga有更好的灵活性、更高的性价比和更好的能耗比。
附图说明
21.此处所说明的附图用来提供对本发明的进一步理解,构成本技术的一部分,并不构成对本发明的限定。
22.图1是本发明方法应有于的系统的结构示意图。
23.图2是本发明方法涉及的环型数据通路的图示。
24.图3是本发明方法的流程框图。
具体实施方式
25.本发明的系统结构,如图1所示。该系统由以下几个部分组成:计算控制模块,计算阵列,环型数据通路和星型数据通路。
26.计算控制模块:由fpga或者asic芯片实现,该模块支持pcie接口,mipi/lvds等接口,spi/i2c/uart等接口。该模块的流程是:1.通过星型数据通路,2.给计算阵列的每个计算单元配置工作模式,3.从pcie接收待计算数据,4.通过环型数据接口把数据发送到计算阵列的第一个计算单元,5.从技术阵列的最后一个技术单元的环型数据接口接收计算结果数据,6.通过pcie把结果数据和反馈数据输出到系统外
27.计算阵列:计算阵列是若干个计算单元的集合。每个计算单元就是一颗独立的soc/asic芯片,该芯片内置高性能的计算单元,并支持mipi/lvds等接口和spi/i2c/uart等接口。计算单元之间,用高速串行差分接口相连,统一接口传输数据,输入数据和输出数据都通过该接口总线传输。计算阵列内包含计算单元的数量根据应用的强度可以灵活选择,例如:4个计算单元组成一个技术阵列,16个计算单元组成一个技术阵列,32个计算单元组成一个技术阵列等。但在板卡的实现上,由于pcb面积的限制,同一个计算阵列无法无限量增加计算单元。
28.环型数据通路:环型数据通路是连接计算控制模块与每个计算单元的高速数据接
口。计算模块内部,每个计算单元之间的接口连接属于环型数据通路的一部分;计算控制模块与第一个计算单元之间的接口连接属于环型数据通路的一部分;计算控制模块与最后一个计算单元之间的接口连接也属于环型数据通路的一部分。环型数据通路的数据吞吐速率很高,其中一些实现技术是通过mipi或者ldvs等差分高速接口。以mipi接口为例,环型数据通路的技术细节如图2所示。
29.该结构中,mipi-input高速差分总线数据输入仲裁模块,由仲裁模块判断数据流中的某一部分或者全部是否进入本单元的memory,没有进入本单元的继续从mipi-output中发出,流向下一个计算单元。进入本单元的数据,交由计算引擎计算结果,结果数据返回memory中,再从mipi-output发送到下一个计算单元。当计算引擎处于计算状态中并没有到达输出结果的这段时间里,该计算单元处于busy状态;否则处于idle状态。
30.在该实例中,mipi高速差分总线中的数据会同时包含下列任意一种或多种类型:
31.1.该数据包是计算数据,其中明确标志了接收本数据包的计算单元的id信息。则该数据包只会被包含该id的计算单元总线仲裁模块接收,其他计算单元对此数据包只执行过顶传输操作;如果没有符合条件的计算单元,该数据包会传递返回计算控制模块。
32.2.该数据包是计算数据,但没有标志接收本数据包的计算单元的id信息。则该数据包会被第一个idle状态的计算单元接收,处于busy状态的计算单元对此数据包只执行过顶传输操作;如果没有符合条件的计算单元,该数据包会传递返回计算控制模块。
33.3.该数据包是结果数据。则所有计算单元对此数据包只执行过顶传输操作。
34.以上控制逻辑,主要通过每个计算单元内部的总线仲裁模块联动来实现,也就是说,上述的逻辑就是计算单元内部的总线仲裁模块的主要工作模式。
35.一般情况下,计算控制模块只会向环型数据通路中发送计算数据包;而计算单元既可能向发出环型数据通路中发送计算数据包,也可能向发出环型数据通路中发送结果数据包,以实现接力计算的功能。
36.以上只是该环型数据通路用mipi总线协议来实现的一个实例,除了mipi总线,也可以用其他类似lvds/bt1120等高速总线。该环型数据通路最大的特点是利用了高速总线协议来统一传输计算数据和结果数据,并不需要分开两条数据通路。
37.星型数据通路:星型数据通路的主要作用是,对每个计算单元进行差异化配置,如设置每个计算单元的身份信息,配置总线仲裁模块的工作方式,配置计算任务,启停计算等等。该星型数据通路有别于环型数据通路,是低速的,差异化的点对点通讯链路。所以只需要spi/i2c/uart等常用接口即可实现。
38.以上模块的有机组合,形成一个芯片级联并行计算系统。
39.具体地,如图3所示,一种基于高速差分信号的芯片级联方法,所述方法包括:
40.通过差分高速输入接口的高速差分总线将数据输入到总线仲裁模块,由总线仲裁模块判断数据流中的某一部分或者全部是否进入计算单元的存储模块,没有进入本计算单元的继续从差分高速输出接口发出,流向下一个计算单元;
41.进入本计算单元的数据,交由计算引擎模块计算结果,结果数据返回存储模块中,再从差分高速输出接口发送到下一个计算单元;
42.当计算引擎处于计算状态中并没有到达输出结果的这段时间里,该计算单元处于忙碌状态;否则处于空闲状态。
43.以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明实施例可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1