【技术实现步骤摘要】
神经网络运算装置及方法
本披露涉及一种神经网络运算装置及方法。
技术介绍
数据处理是大部分算法需要经过的步骤或阶段,在计算机引入数据处理领域后,越来越多的数据处理通过计算机来实现,现有的算法中有计算设备在进行神经网络的数据计算时速度慢,效率低。披露内容本披露实施例提供了一种神经网络运算装置及方法,可提升计算装置的处理速度,提高效率。第一方面,提供一种神经网络运算装置,包括:第一幂次转换单元,用于将神经网络输入数据中的非幂次数据转换为幂次数据;运算单元,用于接收神经网络运算的数据和指令并根据运算指令对其接收的神经元数据及权值数据执行神经网络运算;其中,所述运算单元接收的所述数据包括经第一幂次转换单元转换的幂次数据;所述指令为矩阵运算指令,包括:操作码和操作域;所述操作码,用于识别不同的矩阵运算指令;所述操作域,用于指示所述矩阵运算指令的数据信息,所述数据信息为指定大小的立即数或指定大小的数据对应的寄存器号。可选的,还包括:存储单元,用于存储数据和指令;其中,该存储单元与所述第一幂次转换单元连接以接收所述幂次数据。可选的,还包括:控制单元及输出神经元缓存单元;其中所述 ...
【技术保护点】
1.一种神经网络运算装置,其特征在于,包括:第一幂次转换单元,用于将神经网络输入数据中的非幂次数据转换为幂次数据;运算单元,用于接收神经网络运算的数据和指令并根据运算指令对其接收的神经元数据及权值数据执行神经网络运算;其中,所述运算单元接收的所述数据包括经第一幂次转换单元转换的幂次数据;所述指令为矩阵运算指令,包括:操作码和操作域;所述操作码,用于识别不同的矩阵运算指令;所述操作域,用于指示所述矩阵运算指令的数据信息,所述数据信息为指定大小的立即数或指定大小的数据对应的寄存器号。
【技术特征摘要】
1.一种神经网络运算装置,其特征在于,包括:第一幂次转换单元,用于将神经网络输入数据中的非幂次数据转换为幂次数据;运算单元,用于接收神经网络运算的数据和指令并根据运算指令对其接收的神经元数据及权值数据执行神经网络运算;其中,所述运算单元接收的所述数据包括经第一幂次转换单元转换的幂次数据;所述指令为矩阵运算指令,包括:操作码和操作域;所述操作码,用于识别不同的矩阵运算指令;所述操作域,用于指示所述矩阵运算指令的数据信息,所述数据信息为指定大小的立即数或指定大小的数据对应的寄存器号。2.根据权利要求1所述的神经网络运算装置,其特征在于,还包括:存储单元,用于存储数据和指令;其中,该存储单元与所述第一幂次转换单元连接以接收所述幂次数据。3.根据权利要求1或2所述的神经网络运算装置,其特征在于,还包括:控制单元及输出神经元缓存单元;其中所述控制单元,与所述存储单元连接,用于控制数据和指令的交互,其接收该存储单元发送的数据和指令,并将指令译码成运算指令;所述运算单元,与所述控制单元连接,接收该控制单元发送的数据和运算指令,并根据运算指令对其接收的神经元数据及权值数据执行神经网络运算;以及所述输出神经元缓存单元,与所述运算单元连接,用于接收运算单元输出的神经元数据并发送至所述控制单元作为下一层神经网络运算的输入数据。4.根据权利要求3所述的神经网络运算装置,其特征在于,所述控制单元,包括:数据控制模块,与所述存储单元连接,用于实现存储单元和各缓存模块之间的数据和指令交互;指令缓存模块,与所述数据控制模块连接,用于接收该数据控制模块发送的指令;译码模块,与所述指令缓存模块连接,用于从指令缓存模块中读取指令,并将其译码成运算指令;输入神经元缓存模块,与所述数据控制模块连接,用于从该数据控制模块获取相应的输入神经元数据;权值缓存模块,与所述数据控制模块连接,用于从数据控制模块获取相应的权值数据;其中,所述运算单元,分别与所述译码模块、输入神经元缓存模块及权值缓存模块连接,接收各运算指令、神经元数据及权值数据,根据运算指令对其接收的神经元数据和权值数据执行相应的神经网络运算。5.根据权利要求1至4中任一项所述的神经网络运算装置,其特征在于,所述第一幂次转换单元用于将神经网络输入数据中的非幂次权值数据转换为幂次权值数据。6.根据权利要求4中任一项所述的神经网络运算装置,其特征在于,还包括:第二幂次转换单元;其中,所述第一幂次转换单元用于将神经网络输入数据中的非幂次神经元数据及非幂次权值数据分别转换为幂次神经元数据及幂次权值数据,并发送至所述存储单元;所述第二幂次转换单元与所述输出神经元缓存单元连接,用于将其接收的神经元数据转换为幂次神经元数据并发送至所述控制单元作为下一层神经网络运算的输入数据。7.根据权利要求1至6中任一项所述的神经网络运算装置,其特征在于,若神经网络输入数据为幂次数据则直接存入神经网络运算装置。8.根据权利要求1至7中任一项所述的神经网络运算装置,其特征在于,幂次数据包括幂次神经元数据、幂次权值数据;其中,所述幂次神经元数据表示神经元数据的数值采用其幂指数值形式表示,其中,所述幂次神经元数据包括符号位和幂次位,符号位采用一位或多位比特位表示神经元数据的符号,幂次位采用m位比特位表示神经元数据的幂次位数据,m为大于1的正整数;所述幂次权值数据表示权值数据的数值采用其幂指数值形式表示,其中,所述幂次权值数据包括符号位和幂次位,符号位采用一位或多位比特位表示权值数据的符号,幂次位采用m位比特位表示权值数据的幂次位数据,m为大于1的正整数。9.根据权利要求8所述的神经网络运算装置,其特征在于,该神经网络运算装置的存储单元预存有编码表,用于提供幂次神经元数据及幂次权值数据的每个幂次位数据对应的指数数值。10.根据权利要求9所述的神经网络运算装置,其特征在于,所述编码表设置一个或者多个幂次位数据为置零幂次位数据,其对应的幂次神经元数据及幂次权值数据为0。11.根据权利要求1所述的装置,其特征在于,所述矩阵运算指令为:矩阵乘向量指令MMV、向量乘矩阵指令VMM、矩阵乘标量指令VMS、张量运算指令TENS、矩阵加法指令MA、矩阵减法指令MS、矩阵检索指令MR、矩阵加载指令ML或矩阵搬运指令MMOVE中的一个或任意组合;所述操作域存储所述MMV的矩阵数据和向量数据的立即数或寄存器号;所述MMV,用于从存储器的指定地址取出指定大小的矩阵数据和向量数据,并将该矩阵数据和向量数据执行矩阵乘向量计算,将该计算结果写回至所述存储器;或所述操作域存储所述MMV的矩阵数据和向量数据;所述VMM,用于从存储器的指定地址取出指定长度的向量数据和矩阵数据,进行向量乘矩阵的乘法运算,将该计算结果写回至存储器;或所述操作域存储所述VMS的矩阵数据;所述VMS,用于从存储器的指定地址取出指定长度的矩阵数据,从标量寄存器堆的指定地址中取出标量数据,进行标量乘矩阵数据的乘法运算,将计算结果写回存储器;或所述操作域存储所述TENS的两块矩阵数据,所述TENS,用于从存储器的两个指定地址分别取出指定大小的两块矩阵数据,对两矩阵数据进行张量运算,并将计算结果写回至存储器;或所述操作域存储两块矩阵数据;所述MA,用于从存储器的两个指定地址取出分别取出指定大小的两块矩阵数据,对两矩阵进行加法运算,并将计算结果写回至存储器;或所述操作域存储两块矩阵数据;所述MS,用于从存...
【专利技术属性】
技术研发人员:陈天石,刘少礼,王在,胡帅,
申请(专利权)人:上海寒武纪信息科技有限公司,
类型:发明
国别省市:上海,31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。