卷积运算装置和方法制造方法及图纸

技术编号:21060272 阅读:18 留言:0更新日期:2019-05-08 07:01
本发明专利技术公开了一种动态调压调频装置,卷积运算装置中的动态调压调频装置实时采集获取上述卷积运算及其内部其他单元/模块的工作状态信息,并根据根据卷积运算装置及其内部其他单元/模块的工作状态信息来调整卷积运算装置及其内部单元/模块的工作频率或者工作电压,以达到降低卷积运算装置在进行卷积运算过程中的整体运行功耗。

【技术实现步骤摘要】
卷积运算装置和方法
本专利技术涉及电子领域,尤其涉及一种卷积运算装置和方法。
技术介绍
随着工作频率的提高和半导体工艺的不断发展,芯片的功耗问题已成为深亚纳米集成电路中的一个重要的考虑因素,动态电压频率调节(DynamicVoltageFrequencyscaling,简称DVFS)为目前在半导体领域被广泛采用的一种动态电压频率调节技术,DVFS技术具体是在动态调节芯片的运行频率和电压(对于同一芯片,频率越高,需要的电压也越高),从而达到节能的目的。但是现有技术中,缺乏应用到智能芯片比如卷积运算装置的动态调压调频方法和相应的装置的设计。
技术实现思路
本专利技术实施例提供一种动态调压调频装置及方法,实现了芯片级的工作电压和工作频率的动态调节,降低了芯片的功耗。第一方面,本专利技术实施例提供一种卷积运算装置,包括动态调压调频装置、指令存储单元、控制器单元、数据访问单元、互连模块、主运算模块以及N个从运算模块,所述N为大于1的整数,其中:所述指令存储单元,用于存储所述数据访问单元读入的指令;所述控制器单元,用于从所述指令存储单元中读取指令,将该指令译成控制其他模块行为的控制信号,所述其他模块包括所述数据访问单元、所述主运算模块和所述N个从运算模块;所述数据访问单元,用于执行外部地址空间与所述卷积运算装置之间的数据或指令读写操作;所述N个从运算模块,用于实现卷积神经网络算法中的输入数据和卷积核的卷积运算;所述互连模块,用于所述主运算模块和所述从运算模块之间的数据传输;所述主运算模块,用于将所有输入数据的中间向量拼接成中间结果,并对所述中间结果执行后续运算;所述动态调压调频装置,用于采集所述卷积运算装置的工作状态信息;根据所述卷积运算装置的工作状态信息向所述卷积运算装置发送电压频率调控信息,所述电压频率调控信息用于指示所述卷积运算装置调整其工作电压或者工作频率。在一种可行的实施例中,所述主运算模块还用于将中间结果与偏置数据相加,然后执行激活操作。在一种可行的实施例中,所述N个从运算模块具体用于利用相同的输入数据和各自的卷积核,并行地计算出各自的输出标量。在一种可行的实施例中,所述主运算模块使用的激活函数active是非线性函数sigmoid,tanh,relu,softmax中的任一个或线性函数。在一种可行的实施例中,所述互连模块构成所述主运算模块和所述N个从运算模块之间的连续或离散化数据的数据通路,所述互连模块为树状结构、环状结构、网格状结构、分级互连和总线结构中的任一种结构。在一种可行的实施例中,所述主运算模块包括:第一存储单元,用于缓存所述主运算模块在计算过程中用到的输入数据和输出数据;第一运算单元,用于完成所述主运算模块的各种运算功能;第一数据依赖关系判定单元,是第一运算单元读写第一存储单元的端口,用于保证对所述第一存储单元的数据读写的一致性,并且从所述第一存储单元读取输入的神经元向量,并通过所述互连模块发送给所述N个从运算模块;以及将来自所述互连模块的中间结果向量被发送到第一运算单元。在一种可行的实施例中,所述N个从运算模块中的每个从运算模块包括:第二运算单元,用于接收所述控制器单元发出的控制信号并进行算数逻辑运算;第二数据依赖关系判定单元,用于在计算过程中对第二存储单元和第三存储单元的读写操作,以保证对第二存储单元和第三存储单元的读写一致性;第二存储单元,用于缓存输入数据以及该从运算模块计算得到的输出标量;第三存储单元,用于缓存该从运算模块在计算过程中需要的卷积核。在一种可行的实施例中,所述第一数据依赖关系判定单元和所述第二数据依赖关系判定单元通过以下方式保证读写一致性:判断尚未执行的控制信号与正在执行过程中的控制信号的数据之间是否存在依赖关系,如果不存在,允许该条控制信号立即发射,否则需要等到该条控制信号所依赖的所有控制信号全部执行完成后该条控制信号才允许被发射。在一种可行的实施例中,所述数据访问单元从外部地址空间读入输入数据、偏置数据和卷积核中的至少一个。在一种可行的实施例中,所述动态调压调频装置包括:信息采集单元,用于实时采集所述卷积运算装置的工作状态信息;调压调频单元,用于根据所述卷积运算装置的工作状态信息向所述卷积运算装置发送电压频率调控信息,所述电压频率调控信息用于指示所述卷积运算装置调整其工作电压或者工作频率。在一种可行的实施例中,所述卷积运算装置的工作状态信息包括所述卷积运算装置的运行速度,所述电压频率调控信息包括第一电压频率调控信息,所述调压调频单元用于:当所述卷积运算装置的运行速度大于目标速度时,向所述卷积运算装置发送所述第一电压频率调控信息,所述第一电压频率调控信息用于指示所述卷积运算装置降低其工作频率或者工作电压,所述目标速度为满足用户需求时所述卷积运算装置的运行速度。在一种可行的实施例中,所述卷积运算装置的工作状态信息包括所述数据访问单元的运行速度和主运算模块的运行速度,所述电压频率调控信息包括第二电压频率调控信息,所述调频调压单元还用于:所述电压频率调控信息包括第三电压频率调控信息,所述调频调压单元还用于:当根据所述数据访问单元的运行速度和所述主运算模块的运行速度确定所述数据访问单元的运行时间超过所述主运算模块的运行时间时,向所述主运算模块发送所述第二电压频率调控信息,所述第二电压频率调控信息用于指示所述主运算模块降低其工作频率或者工作电压。在一种可行的实施例中,所述电压频率调控信息包括第三电压频率调控信息,所述调频调压单元还用于:当根据所述数据访问单元的运行速度和所述主运算模块的运行速度确定所述主运算模块的运行时间超过所述数据访问单元的运行时间时,向所述数据访问单元发送所述第三电压频率调控信息,所述第三电压频率调控信息用于指示所述数据访问单元降低其工作频率或者工作电压。在一种可行的实施例中,所述卷积运算装置的工作状态信息包括指令存储单元、控制器单元、数据访问单元、互连模块、主运算模块及N个从运算模块中至少S个单元/模块的工作状态信息,所述S为大于1且小于或等于N+5的整数,所述电压频率调控信息包括第四电压频率调控信息,所述调压调频单元用于:根据所述单元A的工作状态信息确定所述单元A处于空闲状态时,向所述单元A发送所述第四电压频率调控信息,所述第四电压频率调控信息用于指示所述单元A降低其工作频率或者工作电压,其中,所述单元A为所述至少S个单元/模块中的任意一个。在一种可行的实施例中,所述电压频率调控信息包括第五电压频率调控信息,所述调压调频单元还用于:根据所述单元A的工作状态信息确定所述单元A重新处于工作状态时,向所述单元A发送所述第五电压频率调控信息,所述第五电压频率调控信息用于指示所述单元A升高其工作电压或者工作频率。第二方面,本专利技术实施例提供了一种神经网络处理器,该神经网络处理器包括如第一方面所述的卷积运算装置。第三方面,本专利技术实施例提供了一种电子装置,该电子装置包括如第二方面所述的神经网络处理器。第四方面,本专利技术实施例还提供了一种用于执行单层卷积神经网络正向运算的方法,应用于如第一方面所述的卷积运算装置中,包括:在指令存储单元的首地址处预先存入一条输入输出IO指令;运算开始,控制器单元从所述指令存储单元的首地址读取所述IO指令,根据译出的控制信号,数据访问单元从外本文档来自技高网...

【技术保护点】
1.一种卷积运算装置,其特征在于,包括动态调压调频装置、指令存储单元、控制器单元、数据访问单元、互连模块、主运算模块以及N个从运算模块,所述N为大于1的整数,其中:所述指令存储单元,用于存储所述数据访问单元读入的指令;所述控制器单元,用于从所述指令存储单元中读取指令,将该指令译成控制其他模块行为的控制信号,所述其他模块包括所述数据访问单元、所述主运算模块和所述N个从运算模块;所述数据访问单元,用于执行外部地址空间与所述卷积运算装置之间的数据或指令读写操作;所述N个从运算模块,用于实现卷积神经网络算法中的输入数据和卷积核的卷积运算;所述互连模块,用于所述主运算模块和所述从运算模块之间的数据传输;所述主运算模块,用于将所有输入数据的中间向量拼接成中间结果,并对所述中间结果执行后续运算;所述动态调压调频装置,用于采集所述卷积运算装置的工作状态信息;根据所述卷积运算装置的工作状态信息向所述卷积运算装置发送电压频率调控信息,所述电压频率调控信息用于指示所述卷积运算装置调整其工作电压或者工作频率。

【技术特征摘要】
1.一种卷积运算装置,其特征在于,包括动态调压调频装置、指令存储单元、控制器单元、数据访问单元、互连模块、主运算模块以及N个从运算模块,所述N为大于1的整数,其中:所述指令存储单元,用于存储所述数据访问单元读入的指令;所述控制器单元,用于从所述指令存储单元中读取指令,将该指令译成控制其他模块行为的控制信号,所述其他模块包括所述数据访问单元、所述主运算模块和所述N个从运算模块;所述数据访问单元,用于执行外部地址空间与所述卷积运算装置之间的数据或指令读写操作;所述N个从运算模块,用于实现卷积神经网络算法中的输入数据和卷积核的卷积运算;所述互连模块,用于所述主运算模块和所述从运算模块之间的数据传输;所述主运算模块,用于将所有输入数据的中间向量拼接成中间结果,并对所述中间结果执行后续运算;所述动态调压调频装置,用于采集所述卷积运算装置的工作状态信息;根据所述卷积运算装置的工作状态信息向所述卷积运算装置发送电压频率调控信息,所述电压频率调控信息用于指示所述卷积运算装置调整其工作电压或者工作频率。2.根据权利要求1所述的卷积运算装置,其特征在于,所述主运算模块还用于:将中间结果与偏置数据相加,然后执行激活操作。3.根据权利要求1所述的卷积运算装置,其特征在于,所述N个从运算模块具体用于:利用相同的输入数据和各自的卷积核,并行地计算出各自的输出标量。4.根据权利要求1所述的卷积运算装置,其特征在于,所述主运算模块使用的激活函数active是非线性函数sigmoid,tanh,relu,softmax中的任一个或线性函数。5.根据权利要求1所述的卷积运算装置,其特征在于,所述互连模块构成所述主运算模块和所述N个从运算模块之间的连续或离散化数据的数据通路,所述互连模块为树状结构、环状结构、网格状结构、分级互连和总线结构中的任一种结构。6.根据权利要求1所述的卷积运算装置,其特征在于,所述主运算模块包括:第一存储单元,用于缓存所述主运算模块在计算过程中用到的输入数据和输出数据;第一运算单元,用于完成所述主运算模块的各种运算功能;第一数据依赖关系判定单元,是第一运算单元读写第一存储单元的端口,用于保证对所述第一存储单元的数据读写的一致性,并且从所述第一存储单元读取输入的神经元向量,并通过所述互连模块发送给所述N个从运算模块;以及将来自所述互连模块的中间结果向量被发送到所述第一运算单元。7.根据权利要求1所述的卷积运算装置,其特征在于,所述N个从运算模块中的每个从运算模块包括:第二运算单元,用于接收所述控制器单元发出的控制信号并进行算数逻辑运算;第二数据依赖关系判定单元,用于在计算过程中对第二存储单元和第三存储单元的读写操作,以保证对所述第二存储单元和所述第三存储单元的读写一致性;所述第二存储单元,用于缓存输入数据以及该从运算模块计算得到的输出标量;所述第三存储单元,用于缓存该从运算模块在计算过程中需要的卷积核。8.根据权利要求6或7所述的卷积运算装置,其特征在于,所述第一数据依赖关系判定单元和所述第二数据依赖关系判定单元通过以下方式保证读写一致性:判断尚未执行的控制信号与正在执行过程中的控制信号的数据之间是否存在依赖关系,如果不存在,允许该条控制信号立即发射,否则需要等到该条控制信号所依赖的所有控制信号全部执行完成后该条控制信号才允许被发射。9.根据权利要求1所述的卷积运算装置,其特征在于,所述数据访问单元从外部地址空间读入输入数据、偏置数据和卷积核中的至少一个。10.根据权利要求1所述的卷积运算装置,其特征在于,所述动态调压调频装置包括:信息采集单元,用于实时采集所述卷积运算装置的工作状态信息;调压调频单元,用于根据所述卷积运算装置的工作状态信息向所述卷积运算装置发送电压频率调控信息,所述电压频率调控信息用于指示所述卷积运算装置调整其工作电压或者工作频率。11.根据权利要求10所述的卷积运算装置,其特征在于,所述卷积运算装置的工作状态信息包括所述卷积运算装置的运行速度,所述电压频率调控信息包括第一电压频率调控信息,所述调压调频单元用于:当所述卷积运算装置的运行速度大于目标速度时,向所述卷积运算装置发送所述第一电压频率调控信息,所述第一电压频率调控信息用于指示所述卷积运算装置降低其工作频率或者工作电压,所述目标速度为满足用户需求时所述卷积运算装置的运行速度。12.根据权利要求10所述的卷积运算装置,其特征在于,所述卷积运算装置的工作状态信息包括所述数据访问单元的运行速度和主运算单元的运行速度,所述电压频率调控信息包括第二电压频率调控信息,所述调频调压单元还用于:当根据所述数据访问单元的运行速度和所述主运算单元的运行速度确定所述数据访问单元的运行时间超过所述主运算单元的运行时间时,向所述主运算单元发送所述第二电压频率调控信息,所述第二电压频率调控信息用于指示所述主运算单元降低其工作频率或者工作电压。13.根据权利要求12所述的卷积运算装置,其特征在于,所述电压频率调控信息包括第三电压频率调控信息,所述调频调压单元还用于:当根据所述数据访问单元的运行速度和所述主运算单元的运行速度确定所述主运算单元的运行时间超过所述数据访问单元的运行时间时,向所述数据访问单元发送所述第三电压频率调控信息,所述第三电压频率调控信息用于指示所述数据访问单元降低其工作频率或者工作电压。14.根据权利要求12或13所述的卷积运算装置,其特征在于,所述卷积运算装置的工作状态信息包括指令存储单元、控制器单元、数据访问单元、互连模块、主运算模块及N个从运算模块中至少S个单元/模块的工作状态信息,所述S为大于1且小于或等于N+5的整数,所述电压频率调控信息包括第四电压频率调控信息,所述调压调频单元用于:根据所述单元A的工作状态信息确定所述单元A处于空闲状态时,向所述单元A发送所述第四电压频率调控信息,所述第四电压频率调控信息用于指示所述单元A降低其工作频率或者工作电压,其中,所述单元A为所述至少S个单元/模块中的任意一个。15.根据权利要求14所述的卷积运算装置,其特...

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

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

1