集成电路芯片装置及相关产品制造方法及图纸

技术编号:22022937 阅读:33 留言:0更新日期:2019-09-04 01:31
本披露提供一种集成电路芯片装置及相关产品,所述集成电路芯片装置包括:主处理电路以及多个基础处理电路;所述主处理电路包括第一映射电路,所述多个基础处理电路中至少一个电路包括第二映射电路,所述第一映射电路以及所述第二映射电路均用于执行神经网络运算中的各个数据的压缩处理;所述多个基础处理电路呈阵列分布;每个基础处理电路与相邻的其他基础处理电路连接,所述主处理电路连接第1行的n个基础处理电路、第m行的n个基础处理电路以及第1列的m个基础处理电路。本披露提供的技术方案具有计算量小,功耗低的优点。

【技术实现步骤摘要】
集成电路芯片装置及相关产品
本披露涉及神经网络领域,尤其涉及一种集成电路芯片装置及相关产品。
技术介绍
人工神经网络(ArtificialNeuralNetwork,即ANN),是20世纪80年代以来人工智能领域兴起的研究热点。它从信息处理角度对人脑神经元网络进行抽象,建立某种简单模型,按不同的连接方式组成不同的网络。在工程与学术界也常直接简称为神经网络或类神经网络。神经网络是一种运算模型,由大量的节点(或称神经元)之间相互联接构成。现有的神经网络的运算基于CPU(CentralProcessingUnit,中央处理器)或GPU(英文:GraphicsProcessingUnit,图形处理器)来实现神经网络的运算,此种运算的计算量大,功耗高。
技术实现思路
本披露实施例提供了一种集成电路芯片装置及相关产品,可提升计算装置的处理速度,提高效率。第一方面,提供一种集成电路芯片装置,所述集成电路芯片装置包括:主处理电路以及多个基础处理电路;所述主处理电路包括第一映射电路,所述多个基础处理电路中至少一个电路(即部分或全部基础处理电路)包括第二映射电路,所述第一映射电路以及所述第二映射电路均用于执行神经网络运算中的各个数据的压缩处理;所述多个基础处理电路呈阵列分布;每个基础处理电路与相邻的其他基础处理电路连接,所述主处理电路连接第1行的n个基础处理电路、第m行的n个基础处理电路以及第1列的m个基础处理电路;所述主处理电路,用于获取输入数据块、权值数据块以及乘法指令,依据所述乘法指令将所述输入数据块划分成横向数据块,将所述权值数据块划分成竖向数据块;依据所述乘法指令的运算控制确定启动第一映射电路对第一数据块进行处理,得到处理后的第一数据块;所述第一数据块包括所述横向数据块和/或所述竖向数据块;依据所述乘法指令将处理后的第一数据块发送至与所述主处理电路相连的基础处理电路中的至少一个基础处理电路;所述多个基础处理电路,用于依据所述乘法指令的运算控制确定是否启动第二映射电路对第二数据块进行处理,依据处理后的第二数据块以并行方式执行神经网络中的运算得到运算结果,并将该运算结果通过与所述主处理电路连接的基础处理电路传输给所述主处理电路;所述第二数据块为所述基础处理电路确定的接收所述主处理电路发送的数据块,所述第二数据块与所述处理后的第一数据块关联;所述主处理电路,用于将所述运算结果处理得到所述乘法指令的指令结果。第二方面,提供一种神经网络运算装置,所述神经网络运算装置包括一个或多个第一方面提供的集成电路芯片装置。第三方面,提供一种组合处理装置,所述组合处理装置包括:第二方面提供的神经网络运算装置、通用互联接口和通用处理装置;所述神经网络运算装置通过所述通用互联接口与所述通用处理装置连接。第四方面,提供一种芯片,所述芯片集成第一方面的装置、第二方面的装置或第三方面的装置。第五方面,提供一种电子设备,所述电子设备包括第四方面的芯片。第六方面,提供一种神经网络的运算方法,所述方法应用在集成电路芯片装置内,所述集成电路芯片装置包括:第一方面所述的集成电路芯片装置,所述集成电路芯片装置用于执行神经网络的运算。可以看出,通过本披露实施例,提供映射电路将数据块压缩处理后再进行运算,节省了传输资源以及计算资源,所以其具有功耗低,计算量小的优点。附图说明图1a是一种集成电路芯片装置结构示意图。图1b是另一种集成电路芯片装置结构示意图。图1c是一种基础处理电路的结构示意图。图1d是一种主处理电路的结构示意图。图2a是一种基础处理电路的使用方法示意图。图2b是一种主处理电路传输数据示意图。图2c是矩阵乘以向量的示意图。图2d是一种集成电路芯片装置结构示意图。图2e是又一种集成电路芯片装置结构示意图。图2f是矩阵乘以矩阵的示意图。图3为本披露实施例流提供的一种神经网络芯片的结构示意图;图4a-图4b为本申请实施例提供的两种映射电路的结构示意图。具体实施方式为了使本
的人员更好地理解本披露方案,下面将结合本披露实施例中的附图,对本披露实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本披露一部分实施例,而不是全部的实施例。基于本披露中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本披露保护的范围。在第一方面提供的装置中,所述主处理电路,用于获取输入数据块、权值数据块以及乘法指令,依据所述乘法指令将所述输入数据块划分成横向数据块,将所述权值数据块划分成竖向数据块;依据所述乘法指令的运算控制确定启动第一映射电路对第一数据块进行处理,得到处理后的第一数据块;所述第一数据块包括所述横向数据块和/或所述竖向数据块;依据所述乘法指令将处理后的第一数据块发送至与所述主处理电路相连的基础处理电路中的至少一个基础处理电路;所述多个基础处理电路,用于依据所述乘法指令的运算控制确定是否启动第二映射电路对第二数据块进行处理,依据处理后的第二数据块以并行方式执行神经网络中的运算得到运算结果,并将该运算结果通过与所述主处理电路连接的基础处理电路传输给所述主处理电路;所述第二数据块为所述基础处理电路确定的接收所述主处理电路发送的数据块,所述第二数据块与所述处理后的第一数据块关联;所述主处理电路,用于将所述运算结果处理得到所述乘法指令的指令结果。在第一方面提供的装置中,当所述第一数据块包括横向数据块和竖向数据块时,所述主处理电路,具体用于启动所述第一映射电路对所述横向数据块和所述竖向数据块进行处理得到处理后的横向数据块以及该横向数据块关联的标识数据块,处理后的竖向数据块以及该竖向数据块关联的标识数据块;将所述处理后的横向数据块以及该横向数据块关联的标识数据块进行拆分处理得到多个基本数据块以及所述基本数据块各自关联的标识数据块,将所述多个基本数据块以及所述多个基本数据块各自关联的标识数据块分发至与其连接的基础处理电路,将所述处理后的竖向数据块以及该竖向数据块关联的标识数据块广播至与其连接的基础处理电路;其中,所述标识数据块具体可用直接索引或者步长索引的方式来表示,可选的还可用列表的列表(ListofLists,LIL)、坐标列表(Coordinatelist,COO)、压缩稀疏行(CompressedSparseRow,CSR)、压缩稀疏列(CompressedSparseColumn,CSC)、(ELLPack,ELL)以及混合(Hybird,HYB)等方式表示,本申请不做限定。以所述标识数据块用直接索引的方式表示为例,所述标识数据块具体可为是由0和1构成的数据块,其中,0表示数据块中包含的数据(如权值或输入神经元)的绝对值小于或等于第一阈值,1表示数据块中包含的数据(如权值或输入神经元)的绝对值大于第一阈值,第一阈值为用户侧或装置侧自定义随机设置的,例如0.05、0等等。为节省数据传输量、提高数据传输效率,在所述主处理电路向所述基础处理电路发送数据的过程中,具体可将所述多个基本数据块中的目标数据以及所述多个基本数据块各自关联的标识数据块分发至与其连接的基础处理电路;可选,还可将所述处理后的竖向数据块中的目标数据以及该竖向数据块关联的标识数据块广播至与其连接的基础处理电路。其中,所述目标数据是指数据块中绝对值大本文档来自技高网
...

【技术保护点】
1.一种集成电路芯片装置,其特征在于,所述集成电路芯片装置包括:主处理电路以及多个基础处理电路;所述主处理电路包括第一映射电路,所述多个基础处理电路中至少一个电路包括第二映射电路,所述第一映射电路以及所述第二映射电路均用于执行神经网络运算中的各个数据的压缩处理;所述多个基础处理电路呈阵列分布;每个基础处理电路与相邻的其他基础处理电路连接,所述主处理电路连接第1行的n个基础处理电路、第m行的n个基础处理电路以及第1列的m个基础处理电路;所述主处理电路,用于获取输入数据块、权值数据块以及乘法指令,依据所述乘法指令将所述输入数据块划分成横向数据块,将所述权值数据块划分成竖向数据块;依据所述乘法指令的运算控制确定启动第一映射电路对第一数据块进行处理,得到处理后的第一数据块;所述第一数据块包括所述横向数据块和/或所述竖向数据块;依据所述乘法指令将处理后的第一数据块发送至与所述主处理电路相连的基础处理电路中的至少一个基础处理电路;所述多个基础处理电路,用于依据所述乘法指令的运算控制确定是否启动第二映射电路对第二数据块进行处理,依据处理后的第二数据块以并行方式执行神经网络中的运算得到运算结果,并将该运算结果通过与所述主处理电路连接的基础处理电路传输给所述主处理电路;所述第二数据块为所述基础处理电路确定的接收所述主处理电路发送的数据块,所述第二数据块与所述处理后的第一数据块关联;所述主处理电路,用于将所述运算结果处理得到所述乘法指令的指令结果。...

【技术特征摘要】
1.一种集成电路芯片装置,其特征在于,所述集成电路芯片装置包括:主处理电路以及多个基础处理电路;所述主处理电路包括第一映射电路,所述多个基础处理电路中至少一个电路包括第二映射电路,所述第一映射电路以及所述第二映射电路均用于执行神经网络运算中的各个数据的压缩处理;所述多个基础处理电路呈阵列分布;每个基础处理电路与相邻的其他基础处理电路连接,所述主处理电路连接第1行的n个基础处理电路、第m行的n个基础处理电路以及第1列的m个基础处理电路;所述主处理电路,用于获取输入数据块、权值数据块以及乘法指令,依据所述乘法指令将所述输入数据块划分成横向数据块,将所述权值数据块划分成竖向数据块;依据所述乘法指令的运算控制确定启动第一映射电路对第一数据块进行处理,得到处理后的第一数据块;所述第一数据块包括所述横向数据块和/或所述竖向数据块;依据所述乘法指令将处理后的第一数据块发送至与所述主处理电路相连的基础处理电路中的至少一个基础处理电路;所述多个基础处理电路,用于依据所述乘法指令的运算控制确定是否启动第二映射电路对第二数据块进行处理,依据处理后的第二数据块以并行方式执行神经网络中的运算得到运算结果,并将该运算结果通过与所述主处理电路连接的基础处理电路传输给所述主处理电路;所述第二数据块为所述基础处理电路确定的接收所述主处理电路发送的数据块,所述第二数据块与所述处理后的第一数据块关联;所述主处理电路,用于将所述运算结果处理得到所述乘法指令的指令结果。2.根据权利要求1所述的集成电路芯片装置,其特征在于,当所述第一数据块包括横向数据块和竖向数据块时,所述主处理电路,具体用于启动所述第一映射电路对所述横向数据块和所述竖向数据块进行处理得到处理后的横向数据块以及该横向数据块关联的标识数据块,处理后的竖向数据块以及该竖向数据块关联的标识数据块;将所述处理后的横向数据块以及该横向数据块关联的标识数据块进行拆分处理得到多个基本数据块以及所述基本数据块各自关联的标识数据块,将所述多个基本数据块以及所述多个基本数据块各自关联的标识数据块分发至与其连接的基础处理电路,将所述处理后的竖向数据块以及该竖向数据块关联的标识数据块广播至与其连接的基础处理电路;所述基础处理电路,具体用于启动所述第二映射电路根据所述竖向数据块关联的标识数据块和所述基本数据块关联的标识数据获得连接标识数据块,并根据所述连接标识数据块对所述竖向数据块和所述基本数据块进行处理得到处理后的竖向数据块和基本数据块;对所述处理后的竖向数据块和基本数据块执行乘法运算得到运算结果,将所述运算结果发送至所述主处理电路。3.根据权利要求1所述的集成电路芯片装置,其特征在于,当所述第一数据块包括横向数据块时,所述主处理电路,具体用于启动所述第一映射电路对所述横向数据块进行处理得到处理后的横向数据块以及该横向数据块关联的标识数据块,或者启动所述第一映射电路根据预存的所述横向数据块关联的标识数据块对所述横向数据块进行处理得到处理后的横向数据块;将所述处理后的横向数据块以及该横向数据块关联的标识数据块进行拆分处理得到多个基本数据块以及所述基本数据块各自关联的标识数据块,将所述多个基本数据块以及所述多个基本数据块各自关联的标识数据块分发至与其连接的基础处理电路,将所述竖向数据块广播至与其连接的基础处理电路;所述基础处理电路,具体用于启动所述第二映射电路根据所述基本数据块关联的标识数据块对所述竖向数据块进行处理,得到处理后的竖向数据块;对所述处理后的竖向数据块和所述处理后的基本数据块执行乘法运算得到运算结果,将所述运算结果发送至所述主处理电路。4.根据权利要求1所述的集成电路芯片装置,其特征在于,当所述第一数据块包括竖向数据块时,所述主处理电路,具体用于启动所述第一映射电路对所述竖向数据块进行处理,得到处理后的竖向数...

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

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

1