互连电路的数据处理装置以及方法制造方法及图纸

技术编号:24171299 阅读:19 留言:0更新日期:2020-05-16 03:02
本申请提供了一种互连电路的数据处理装置,所述互连电路的数据处理装置连接多个计算装置。

【技术实现步骤摘要】
互连电路的数据处理装置以及方法
本申请属于神经网络运算领域,尤其涉及一种互连电路的数据处理装置以及方法。
技术介绍
数据处理是大部分算法需要经过的步骤或阶段,在计算机引入数据处理领域后,越来越多的数据处理通过计算机来实现,现有的算法中有计算设备在进行神经网络的数据计算时速度慢,效率低。申请内容有鉴于此,本申请提供一种互连电路的数据处理装置以及方法,能够提高计算速度,并且运算性能高效。本申请提供一种互连电路的数据处理装置,所述互连电路的数据处理装置连接多个计算装置,其特征在于,所述数据处理装置包括:至少一个输入端和至少一个输出端,每个所述输入端包含多个输入端口、输出端口、至少两个复用器、和至少一个缓冲存储器;连接于所述复用器的缓冲存储分配电路,用于控制所述复用器为输入的事务数据根据所述缓冲存储器的当前状态分配临时存储位置;连接于所述缓冲存储器的路由选择电路,用于为缓冲队列的事务数据选择输出端;仲裁电路,用于裁决出具有优先传输权的所述缓冲队列,并使竞争同一输出端的多个事务数据传输按照预设的仲裁策略依次获得输出通路占用权;多路选择器电路,连接所述输出端口和所述输出端,用于中转所述互连电路中的数据传输;所述计算装置包括:存储器、寄存器单元、互联模块、运算单元、控制单元和数据访问单元;其中,寄存器单元,用于存储运算指令、数据块的在存储介质的地址,运算指令对应的计算拓扑结构;控制单元,用于从寄存器单元内提取运算指令,该运算指令对应的操作域以及该运算指令对应的第一计算拓扑结构,将该运算指令译码成执行指令,该执行指令用于控制运算单元执行运算操作,将该操作域传输至数据访问单元;数据访问单元,用于提取该操作域对应的数据块,并将该数据块传输至互联模块;互联模块、用于接收数据块,将该数据块发送至运算单元;运算单元,用于该执行指令调用运算单元的计算器对该数据块执行运算操作得到运算结果。附图说明图1-1是本申请实施例提供的计算装置的另一种结构示意图。图1-2是本申请实施例提供的卷积计算指令的流程示意图。图2-1示意示出了包括数据处理装置的互连电路;图2-2是根据本专利技术的一个实施例的数据处理装置的框图;图2-3是本专利技术的互连电路的数据处理的流程图;图2-4是根据本专利技术的一个实施例示出的事务数据从到达数据处理装置到获得传输通道占用权并输出至下游节点的流程图。附图标记说明11、12、13输入端1050、1100、1150输出端51、52、53输入端的输入端口54、55、56输入端的输出端口23、25、27缓冲存储分配电路41、42、43路由选择电路22、24、26、28、30、32缓冲存储器30、35、40、45、50、60复用器36冲裁电路38多路选择电路具体实施方式参阅图1-1,图1-1提供了一种计算装置,该计算装置包括:存储器611(可选的)、寄存器单元612、互联模块613、运算单元614、控制单元615和数据访问单元616;其中,运算单元614包括:加法计算器、乘法计算器、比较器、激活运算器中至少二种。互联模块613,用于控制运算单元614中计算器的连接关系使得该至少二种计算器组成不同的计算拓扑结构。指令存储单元(可以是寄存器单元,指令缓存,高速暂存存储器)612,用于存储该运算指令、数据块的在存储介质的地址、运算指令对应的计算拓扑结构。该运算指令可以包括:操作域以及操作码,以卷积计算指令为例,如下表所示,其中,寄存器0、寄存器1、寄存器堆2、寄存器3、寄存器4可以为操作域。其中,每个寄存器0、寄存器1、寄存器2、寄存器3、寄存器4可以是一个或者多个寄存器。存储器611可以为片外存储器,当然在实际应用中,参见图1-1,当为片内存储器时,该片内存储器可以为缓存,具体的,可以为高速暂存缓存,用于存储数据块,该数据块具体可以为n维数据,n为大于等于1的整数,例如,n=1时,为1维数据,即向量,如n=2时,为2维数据,即矩阵,如n=3或3以上时,为多维数据。控制单元615,用于从寄存器单元612内提取运算指令、该运算指令对应的操作域以及该运算指令对应的第一计算拓扑结构,将该运算指令译码成执行指令,该执行指令用于控制运算单元执行运算操作,将该操作域传输至数据访问单元616,。数据访问单元616,用于从存储器611中提取该操作域对应的数据块,并将该数据块传输至互联模块613。互联模块613、用于接收数据块,将该数据块发送至运算单元614。运算单元614,用于该执行指令调用运算单元614的计算器对该数据块执行运算操作得到运算结果,将该运算结果传输至数据访问单元存储在存储器内。一个实施例里,运算单元614,用于按第一计算拓扑结构以及该执行指令调用计算器对数据块执行运算操作得到运算结果,将该运算结果传输至数据访问单元存储在存储器内。在一种可选的实施例中,上述第一计算拓扑结构可以为:乘法运算器-加法运算器-加法运算器-激活运算器。下面通过不同的运算指令来说明如图1-1所示的计算装置的具体计算方法,这里的运算指令以卷积计算指令为例,该卷积计算指令可以应用在神经网络中,所以该卷积计算指令也可以称为卷积神经网络。对于卷积计算指令来说,其实际需要执行的公式可以为:s=s(∑wxi+b),其中,即将卷积核w乘以输入数据xi,进行求和,然后加上偏置b后做激活运算,得到最终的输出结果s。依据该公式即可以得到该计算拓扑结构为,乘法运算器-加法运算器-(可选的)激活运算器。上述运算指令可以包括指令集,该指令集包括:卷积神经网络指令,有不同功能的卷积神经网络COMPUTE指令以及CONFIG指令、IO指令、NOP指令、JUMP指令和MOVE指令。在一种实施例中,COMPUTE指令包括:卷积神经网络指令,根据该指令,装置分别从存储器(优选的高速暂存存储器或者标量寄存器堆)的指定地址取出指定大小的输入数据和卷积核,在卷积运算部件中做卷积运算直接得到输出结果。即该指令不执行后续的操作,直接做卷积运算得到输出结果。卷积神经网络sigmoid指令,根据该指令,装置分别从存储器(优选的高速暂存存储器或者标量寄存器堆)的指定地址取出指定大小的输入数据和卷积核,在卷积运算部件中做卷积操作,优选的,然后将输出结果做sigmoid激活;卷积神经网络TanH指令,根据该指令,装置分别从存储器(优选的高速暂存存储器)的指定地址取出指定大小的输入数据和卷积核,在卷积运算部件中做卷积操作,优选的,然后将输出结果做TanH激活;卷积神经网络ReLU指令,根据该指令,装置分别从存储器(优选的高速暂存存储器)的指定地址取出指定大小的输入数据和卷积核,在卷积运算部件中做卷积操作,优选的,然后将输出结果做ReLU激活;以及...

【技术保护点】
1.一种互连电路的数据处理装置,所述互连电路的数据处理装置连接多个计算装置,其特征在于,所述数据处理装置包括:/n至少一个输入端和至少一个输出端,每个所述输入端包含多个输入端口、输出端口、至少两个复用器、和至少一个缓冲存储器;/n连接于所述复用器的缓冲存储分配电路,用于控制所述复用器为输入的事务数据根据所述缓冲存储器的当前状态分配临时存储位置;/n连接于所述缓冲存储器的路由选择电路,用于为缓冲队列的事务数据选择输出端;/n仲裁电路,用于裁决出具有优先传输权的所述缓冲队列,并使竞争同一输出端的多个事务数据传输按照预设的仲裁策略依次获得输出通路占用权;/n多路选择器电路,连接所述输出端口和所述输出端,用于中转所述互连电路中的数据传输;/n所述计算装置包括:存储器、寄存器单元、互联模块、运算单元、控制单元和数据访问单元;其中,/n寄存器单元,用于存储运算指令、数据块的在存储介质的地址,运算指令对应的计算拓扑结构;/n控制单元,用于从寄存器单元内提取运算指令,该运算指令对应的操作域以及该运算指令对应的第一计算拓扑结构,将该运算指令译码成执行指令,该执行指令用于控制运算单元执行运算操作,将该操作域传输至数据访问单元;/n数据访问单元,用于提取该操作域对应的数据块,并将该数据块传输至互联模块;/n互联模块、用于接收数据块,将该数据块发送至运算单元;/n运算单元,用于该执行指令调用运算单元的计算器对该数据块执行运算操作得到运算结果。/n...

【技术特征摘要】
20171030 CN 20171103637491.一种互连电路的数据处理装置,所述互连电路的数据处理装置连接多个计算装置,其特征在于,所述数据处理装置包括:
至少一个输入端和至少一个输出端,每个所述输入端包含多个输入端口、输出端口、至少两个复用器、和至少一个缓冲存储器;
连接于所述复用器的缓冲存储分配电路,用于控制所述复用器为输入的事务数据根据所述缓冲存储器的当前状态分配临时存储位置;
连接于所述缓冲存储器的路由选择电路,用于为缓冲队列的事务数据选择输出端;
仲裁电路,用于裁决出具有优先传输权的所述缓冲队列,并使竞争同一输出端的多个事务数据传输按照预设的仲裁策略依次获得输出通路占用权;
多路选择器电路,连接所述输出端口和所述输出端,用于中转所述互连电路中的数据传输;
所述计算装置包括:存储器、寄存器单元、互联模块、运算单元、控制单元和数据访问单元;其中,
寄存器单元,用于存储运算指令、数据块的在存储介质的地址,运算指令对应的计算拓扑结构;
控制单元,用于从寄存器单元内提取运算指令,该运算指令对应的操作域以及该运算指令对应的第一计算拓扑结构,将该运算指令译码成执行指令,该执行指令用于控制运算单元执行运算操作,将该操作域传输至数据访问单元;
数据访问单元,用于提取该操作域对应的数据块,并将该数据块传输至互联模块;
互联模块、用于接收数据块,将该数据块发送至运算单元;
运算单元,用于该执行指令调用运算单元的计算器对该数据块执行运算操作得到运算结果。


2.根据权利要求1所述的互连电路的数据处理装置,其特征在于,
所述缓冲存储器,包括多个存储位置,每个存储位置与每个所述输入端口相关联,使事务数据在到达所述输入端口且转发到相应的输出端口前,临时存放在相应的存储位置;
所述存储位置包含至少一个存储部分,由所述缓冲存储分配电路分配事务数据的所述存储位置。


3.根据权利要求2所述的互连电路的数据处理装置,其特征在于,
所述路由选择电路,根据所述存储位置中待发送事务数据的地址信息,判断与目的源相关联的输出端。


4.根据权利要求2所述的互连电路的数据处理装置,其特征在于,
所述多路选择器电路,将所述存储部分与输出端相连,为获得输出通路占用权的事务数据建立传输通路。


5.根据权利要求1所述的互连电路的数据处理装置,其特征在于,
所述仲裁电路还包括优先权寄存器,所述优先权寄存器存储有获得所述优先传输权的缓冲队列标号;
所述仲裁电路检查所述优先权寄存器,判决所述缓冲队列是否获得所述输出通路占用权;
所述仲裁电路允许所述事务数据获得所述输出通路占用权后,查询所述输出端是否正在被占用,并在所述输出端空闲时让获得所述通路占用权的事务数据完成传输。


6.根据权利要求1所述的计算装置,其特征在于,
所述运算单元包括:一个主运算单元和多个从运算单元,所述互联模块连接所述主运算单元和多个从运算单元,所述互联模块为:树状结构、环状结构、网格状结构、分级互连或总线结构;
所述运算指令为卷积计算指令,所述计算指令包括:操作域和操作码;
所述卷积计算指令包括:卷积神经网络sigmoid指令,根据该指令,装置分别从存储器的指定地址取出指定大小的输入数据和卷积核,在卷积运算部件中做卷积操作,然后将输出结果做sigmoid激活;
卷积神经网络TanH指令,根据该指令,装置分别从存储器的指定地址取出指定大小的输入数据和卷积核,在卷积运算部件中做卷积操作,然后将输出结果做TanH激活;
卷积神经网络ReLU指令,根据该指令,装置分别从存储器的指定地址取出指定大小的输入数据和卷积核,在卷积运算...

【专利技术属性】
技术研发人员:不公告发明人
申请(专利权)人:上海寒武纪信息科技有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1