【技术实现步骤摘要】
一种计算装置及方法
本申请涉及信息处理
,具体涉及一种计算装置及方法。
技术介绍
随着信息技术的不断发展和人们日益增长的需求,人们对信息及时性的要求越来越高了。目前,终端对信息的获取以及处理均是基于通用处理器获得的。在实践中发现,这种基于通用处理器运行软件程序来处理信息的方式,受限于通用处理器的运行速率,特别是在通用处理器负荷较大的情况下,信息处理效率较低、时延较大,对于信息处理的计算模型例如训练模型来说,训练运算的计算量更大,通用的处理器完成训练运算的时间长,效率低。申请内容本申请实施例提供了一种计算装置及方法,可提升运算的处理速度,提高效率。第一方面,本专利技术实施例提供了在一种计算装置,所述计算装置用于执行网络模型的计算,所述网络模型包括:神经网络模型和/或非神经网络模型;所述计算装置包括:运算单元、控制器单元以及存储单元,所述存储单元包括:数据输入输出单元;所述数据输入输出单元,用于获取至少一个输入数据、网络模型以及计算指令,所述至少一个输入数据为定点数据;所述控制器单元,用于从所述存储单元提取所述计算指令,对该计算指令进行译码以得到一个或多个运算指令;将所述一个或多个运算指令以及所述至少一个输入数据发送给所述运算单元;所述运算单元,用于根据所述一个或多个运算指令对所述至少一个输入数据执行计算得到计算指令的结果,所述计算指令的结果为浮点数据。在一种可行的实施例中,所述存储单元还包括:存储介质,用于存储所述网络模型和所述至少一个输入数据;标量数据存储单元,用于存储标量数据。在一种可行的实施例中,所述控制器单元包括:指令缓存单元,用于存储与所述网 ...
【技术保护点】
1.一种计算装置,其特征在于,所述计算装置用于执行网络模型的计算,所述网络模型包括:神经网络模型和/或非神经网络模型;所述计算装置包括:运算单元、控制器单元以及存储单元,所述存储单元包括:数据输入输出单元;所述数据输入输出单元,用于获取至少一个输入数据、网络模型以及计算指令,所述至少一个输入数据为定点数据;所述控制器单元,用于从所述存储单元提取所述计算指令,对该计算指令进行译码以得到一个或多个运算指令;将所述一个或多个运算指令以及所述至少一个输入数据发送给所述运算单元;所述运算单元,用于根据所述一个或多个运算指令对所述至少一个输入数据执行计算得到计算指令的结果,所述计算指令的结果为浮点数据。
【技术特征摘要】
1.一种计算装置,其特征在于,所述计算装置用于执行网络模型的计算,所述网络模型包括:神经网络模型和/或非神经网络模型;所述计算装置包括:运算单元、控制器单元以及存储单元,所述存储单元包括:数据输入输出单元;所述数据输入输出单元,用于获取至少一个输入数据、网络模型以及计算指令,所述至少一个输入数据为定点数据;所述控制器单元,用于从所述存储单元提取所述计算指令,对该计算指令进行译码以得到一个或多个运算指令;将所述一个或多个运算指令以及所述至少一个输入数据发送给所述运算单元;所述运算单元,用于根据所述一个或多个运算指令对所述至少一个输入数据执行计算得到计算指令的结果,所述计算指令的结果为浮点数据。2.根据权利要求1所述的装置,其特征在于,所述存储单元还包括:存储介质,用于存储所述网络模型和所述至少一个输入数据;标量数据存储单元,用于存储标量数据。3.根据权利要求1所述的装置,其特征在于,所述控制器单元包括:指令缓存单元,用于存储与所述网络模型关联的计算指令;指令处理单元,用于对所述计算指令对进行译码,以得到所述一个或多个运算指令;存储队列单元,用于存储指令队列,该指令队列包括按该队列的前后顺序待执行的一个或多个运算指令或计算指令。4.根据权利要求3所述的装置,其特征在于,所述数据输入输出单元还获取数据转换指令,所述数据转换指令包括操作域和操作码,该操作码用于指示所述数据转换指令的功能,所述数据转换指令的操作域包括输入数据的小数点位置和数据类型的转换方式标识;所述控制器单元还包括:所述指令处理单元,还用于当所述至少一个输入数据为浮点数据时,对所述数据转换指令进行解析,以得到所述输入数据的小数点位置和所述数据类型的转换方式标识;数据转换单元,用于根据所述输入数据的小数点位置和所述数据类型的转换方式标识将所述至少一个输入数据转换为定点数据。5.根据权利要求3或4所述的装置,其特征在于,所述运算单元包括:依赖关系处理单元,用于确定第一运算指令与所述第一运算指令之前的第零运算指令是否存在关联关系,如所述第一运算指令与所述第零运算指令存在关联关系,将所述第一运算指令缓存在所述指令存储单元内,在所述第零运算指令执行完毕后,从所述指令存储单元提取所述第一运算指令传输至所述运算单元;所述确定该第一运算指令与第一运算指令之前的第零运算指令是否存在关联关系包括:依据所述第一运算指令提取所述第一运算指令中所需数据的第一存储地址区间,依据所述第零运算指令提取所述第零运算指令中所需数据的第零存储地址区间,如所述第一存储地址区间与所述第零存储地址区间具有重叠的区域,确定所述第一运算指令与所述第零运算指令具有关联关系,如所述第一存储地址区间与所述第零存储地址区间不具有重叠的区域,确定所述第一运算指令与所述第零运算指令不具有关联关系;其中,所述第一运算指令和所述第零运算指令为所述多个运算指令中的任意两个。6.根据权利要求1-3任一项所述的装置,其特征在于,所述运算单元包括:多个运算模块,所述多个运算模块用于执行n个流水级的计算;所述运算单元,具体用于对所述至少一个输入数据执行第一流水级的计算得到第一中间结果,将所述第一中间结果输入到第二流水级执行第二流水级的计算得到第二中间结果,…,将第n-1中间结果输入到第n流水级执行第n流水级的计算得到第n中间结果,将所述第n中间结果输入到所述存储单元,所述n为大于或等于3的整数。7.根据权利要求6所述的装置,其特征在于,所述控制器单元将所述至少一个输入数据的小数点位置发送至所述运算单元,所述运算单元还包括:推导单元,根据所述至少一个输入数据的小数点位置推导得到一个或者多个中间结果的小数点位置。8.根据权利要求7所述的装置,其特征在于,所述运算单元还包括:数据缓存单元,用于缓存所述一个或者多个中间结果。9.根据权利要求1-5任一项所述的装置,其特征在于,所述运算单元包括一个主处理电路、分支处理电路以及多个从处理电路,所述主处理电路,用于将输入数据A分配成多个数据块,将所述多个数据块中的至少一个数据块以及所述输入数据A参与运算的运算指令发送给所述分支处理电路,所述输入数据A为所述至少一个输入数据中的任意一个;所述分支处理电路,用于转发所述主处理电路与所述多个从处理电路之间的数据;所述多个从处理电路,用于依据该运算指令对接收到的数据块执行运算得到至少一个中间结果,并将所述至少一个中间结果传输给所述分支处理电路;所述主处理电路,用于将分支处理电路发送的至少一个中间结果进行处理得到该计算指令的结果,将该计算指令的结果发送给所述控制器单元;其中,所述至少一个中间结果为浮点数据。10.根据权利要求1-5任一项所述的装置,其特征在于,所述运算单元包括一个主处理电路以及多个从处理电路;所述多个从处理电路呈阵列分布;每个从处理电路与相邻的其他从处理电路连接,所述主处理电路连接所述多个从处理电路中的K个从处理电路,所述K个从处理电路为:第1行的n个从处理电路、第m行的n个从处理电路以及第1列的...
【专利技术属性】
技术研发人员:不公告发明人,
申请(专利权)人:上海寒武纪信息科技有限公司,
类型:发明
国别省市:上海,31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。