动态调压调频装置和方法与流程

文档序号:17599896发布日期:2019-05-07 20:07阅读:399来源:国知局
动态调压调频装置和方法与流程

本发明涉及电子领域,尤其涉及一种动态调压调频装置和方法。



背景技术:

随着工作频率的提高和半导体工艺的不断发展,芯片的功耗问题已成为深亚纳米集成电路中的一个重要的考虑因素,动态电压频率调节(dynamicvoltagefrequencyscaling,简称dvfs)为目前在半导体领域被广泛采用的一种动态电压频率调节技术,dvfs技术具体是在动态调节芯片的运行频率和电压(对于同一芯片,频率越高,需要的电压也越高),从而达到节能的目的。但是现有技术中,缺乏应用到智能芯片的动态调压调频方法和相应的装置的设计,以及无法应用场景信息完成对芯片的电压频率的提前调整。



技术实现要素:

本发明实施例提供一种动态调压调频装置及方法,实现了芯片级的工作电压和工作频率的动态调节,降低了芯片的功耗。

第一方面,本发明实施例提供一种动态调压调频装置,包括:

信息采集单元,用于实时采集与所述动态调压调频相连接的芯片的工作状态信息或应用场景信息,所述应用场景信息为所述芯片通过神经网络运算得到的或者与所述芯片相连接的传感器采集的信息;

调压调频单元,用于根据所述芯片的工作状态信息或应用场景信息向所述芯片发送电压频率调控信息,所述电压频率调控信息用于指示所述芯片调整其工作电压或者工作频率。

在一种可行的实施例中,所述芯片的工作状态信息包括所述芯片的运行速度,所述电压频率调控信息包括第一电压频率调控信息,所述调压调频单元用于:

当所述芯片的运行速度大于目标速度时,向所述芯片发送所述第一电压频率调控信息,所述第一电压频率调控信息用于指示所述芯片降低其工作频率或者工作电压,所述目标速度为满足用户需求时所述芯片的运行速度。

在一种可行的实施例中,所述芯片至少包括第一单元和第二单元,所述第一单元的输出数据为所述第二单元的输入数据,所述芯片的工作状态信息包括所述第一单元的运行速度和第二单元的运行速度,所述电压频率调控信息包括第二电压频率调控信息,所述调频调压单元还用于:

当根据所述第一单元的运行速度和所述第二单元的运行速度确定所述第一单元的运行时间超过所述第二单元的运行时间时,向所述第二单元发送所述第二电压频率调控信息,所述第二电压频率调控信息用于指示所述第二单元降低其工作频率或者工作电压。

在一种可行的实施例中,所述电压频率调控信息包括第三电压频率调控信息,所述调频调压单元还用于:

当根据所述第一单元的运行速度和所述第二单元的运行速度确定所述第二单元的运行时间超过所述第一单元的运行时间时,向所述第一单元发送所述第三电压频率调控信息,所述第三电压频率调控信息用于指示所述第一单元降低其工作频率或者工作电压。

在一种可行的实施例中,所述芯片包括至少n个单元,所述芯片的工作状态信息包括所述至少s个单元的工作状态信息,所述n为大于1的整数,所述s为小于或者小于n的整数,所述电压频率调控信息包括第四电压频率调控信息,所述调压调频单元用于:

根据所述单元a的工作状态信息确定所述单元a处于空闲状态时,向所述单元a发送所述第四电压频率调控信息,所述第四电压频率调控信息用于指示所述单元a降低其工作频率或者工作电压,

其中,所述单元a为所述至少s个单元中的任意一个。

在一种可行的实施例中,所述电压频率调控信息包括第五电压频率调控信息,所述调压调频单元还用于:

根据所述单元a的工作状态信息确定所述单元a重新处于工作状态时,向所述单元a发送所述第五电压频率调控信息,所述第五电压频率调控信息用于指示所述单元a升高其工作电压或者工作频率。

在一种可行的实施例中,所述芯片的应用场景为图像识别,所述应用场景信息为待识别图像中物体的个数,所述电压频率调控信息包括第六电压频率调控信息,所述调压调频单元还用于:

当确定所述待识别图像中物体的个数小于第一阈值时,向所述芯片发送所述第六电压频率调控信息,所述第六电压频率调控信息用于指示所述芯片降低其工作电压或者工作频率。

在一种可行的实施例中,所述应用场景信息为物体标签信息,所述电压频率调控信息包括第七电压频率调控信息,所述调压调频单元还用于:

当确定所述物体标签信息属于预设物体标签集时,向所述芯片发送所述第七电压频率调控信息,所述第七电压频率调控信息用于指示所述芯片升高其工作电压或者工作频率。

在一种可行的实施例中,所述芯片应用于语音识别,所述应用场景信息为语音输入速率,所述电压频率调控信息包括第八电压频率调控信息,所述调压调频单元还用于:

当所述语音输入速率小于第二阈值时,向所述芯片发送第八电压频率调控信息,所述第八电压频率调控信息用于指示所述芯片降低其工作电压或者工作频率。

在一种可行的实施例中,所述应用场景信息为所述芯片进行语音识别得到的关键词,所述电压频率调控信息包括第九电压频率调控信息,所述调频调压单元还用于:

当所述关键词属于预设关键词集时,向所述芯片发送所述第九电压频率调控信息,所述第九电压频率调控信息用于指示所述芯片升高其工作电压或者工作频率。

在一种可行的实施例中,所述芯片应用于机器翻译,所述应用场景信息为文字输入的速度或者待翻译图像中文字的数量,所述电压频率调控信息包括第十电压频率调控信息,所述调压调频单元还用于:

当所述文字输入速度小于第三阈值或者待翻译图像中文字的数量小于第四阈值时,向所述芯片发送所述第十电压频率调控信息,所述第十电压频率调控信息用于指示所述芯片降低其工作电压或者工作频率。

在一种可行的实施例中,所述应用场景信息为外界的光照强度,所述电压频率调控信息包括第十一电压频率调控信息,所述调压调频单元还用于:

当所述外界的光照强度小于第五阈值时,向所述芯片发送所述第十一电压频率调控信息,所述第十一电压频率调控信息用于指示所述芯片降低其工作电压或者工作频率。

在一种可行的实施例中,所述芯片应用于图像美颜,所述电压频率调控信息包括第十二电压频率调控信息和第十三电压频偏调控信息,所述调压调频单元还用于:

当所述应用场景信息为人脸图像时,向所述芯片发送所述第十二电压频率调控信息,所述第十二电压频率调控信息用于指示所述芯片降低其工作电压;

当所述应用场景信息不为人脸图像时,向所述芯片所述发送第十三电压频率调控信息,所述第十三电压频率调控信息用于指示所述芯片降低其工作电压或者工作频率。

第二方面,本发明实施例还提供了一种动态调压调频方法,包括:

实时采集与所述动态调压调频相连接的芯片的工作状态信息或应用场景信息,所述应用场景信息为所述芯片通过神经网络运算得到的或者与所述芯片相连接的传感器采集的信息;

根据所述芯片的工作状态信息或应用场景信息向所述芯片发送电压频率调控信息,所述电压频率调控信息用于指示所述芯片调整其工作电压或者工作频率。

在一种可行的实施例中,所述芯片的工作状态信息包括所述芯片的运行速度,所述电压频率调控信息包括第一电压频率调控信息,所述根据所述芯片的工作状态信息或应用场景信息向所述芯片发送电压频率调控信息包括:

当所述芯片的运行速度大于目标速度时,向所述芯片发送所述第一电压频率调控信息,所述第一电压频率调控信息用于指示所述芯片降低其工作频率或者工作电压,所述目标速度为满足用户需求时所述芯片的运行速度。

在一种可行的实施例中,所述芯片至少包括第一单元和第二单元,所述第一单元的输出数据为所述第二单元的输入数据,所述芯片的工作状态信息包括所述第一单元的运行速度和第二单元的运行速度,所述电压频率调控信息包括第二电压频率调控信息,所述根据所述芯片的工作状态信息或应用场景信息向所述芯片发送电压频率调控信息还包括:

当根据所述第一单元的运行速度和所述第二单元的运行速度确定所述第一单元的运行时间超过所述第二单元的运行时间时,向所述第二单元发送所述第二电压频率调控信息,所述第二电压频率调控信息用于指示所述第二单元降低其工作频率或者工作电压。

在一种可行的实施例中,所述电压频率调控信息包括第二电压频率调控信息,所述根据所述芯片的工作状态信息或应用场景信息向所述芯片发送电压频率调控信息还包括:

当根据所述第一单元的运行速度和所述第二单元的运行速度确定所述第二单元的运行时间超过所述第一单元的运行时间时,向所述第一单元发送所述第三电压频率调控信息,所述第三电压频率调控信息用于指示所述第一单元降低其工作频率或者工作电压。

在一种可行的实施例中,所述芯片包括至少n个单元,所述芯片的工作状态信息包括所述至少s个单元的工作状态信息,所述n为大于1的整数,所述s为小于或者小于n的整数,所述电压频率调控信息包括第二电压频率调控信息,所述根据所述芯片的工作状态信息或应用场景信息向所述芯片发送电压频率调控信息还包括:

根据所述单元a的工作状态信息确定所述单元a处于空闲状态时,向所述单元a发送所述第四电压频率调控信息,所述第四电压频率调控信息用于指示所述单元a降低其工作频率或者工作电压,

其中,所述单元a为所述至少s个单元中的任意一个。

在一种可行的实施例中,所述电压频率调控信息包括第五电压频率调控信息,所述根据所述芯片的工作状态信息或应用场景信息向所述芯片发送电压频率调控信息还包括:

根据所述单元a的工作状态信息确定所述单元a重新处于工作状态时,向所述单元a发送所述第五电压频率调控信息,所述第五电压频率调控信息用于指示所述单元a升高其工作电压或者工作频率。

在一种可行的实施例中,所述芯片的应用场景为图像识别,所述应用场景信息为待识别图像中物体的个数,所述电压频率调控信息包括第六电压频率调控信息,所述根据所述芯片的工作状态信息或应用场景信息向所述芯片发送电压频率调控信息还包括:

当确定所述待识别图像中物体的个数小于第一阈值时,向所述芯片发送所述第六电压频率调控信息,所述第六电压频率调控信息用于指示所述芯片降低其工作电压或者工作频率。

在一种可行的实施例中,所述应用场景信息为物体标签信息,所述电压频率调控信息包括第七电压频率调控信息,所述根据所述芯片的工作状态信息或应用场景信息向所述芯片发送电压频率调控信息还包括:

当确定所述物体标签信息属于预设物体标签集时,向所述芯片发送所述第七电压频率调控信息,所述第七电压频率调控信息用于指示所述芯片升高其工作电压或者工作频率。

在一种可行的实施例中,所述芯片应用于语音识别,所述应用场景信息为语音输入速率,所述电压频率调控信息包括第八电压频率调控信息,所述根据所述芯片的工作状态信息或应用场景信息向所述芯片发送电压频率调控信息还包括:

当所述语音输入速率小于第二阈值时,向所述芯片发送所述第八电压频率调控信息,所述第八电压频率调控信息用于指示所述芯片降低其工作电压或者工作频率。

在一种可行的实施例中,所述应用场景信息为所述芯片进行语音识别得到的关键词,所述电压频率调控信息包括第九电压频率调控信息,所述根据所述芯片的工作状态信息或应用场景信息向所述芯片发送电压频率调控信息还包括:

当所述关键词属于预设关键词集时,向所述芯片发送所述第九电压频率调控信息,所述第九电压频率调控信息用于指示所述芯片升高其工作电压或者工作频率。

在一种可行的实施例中,所述芯片应用于机器翻译,所述应用场景信息为文字输入的速度或者待翻译图像中文字的数量,所述电压频率调控信息包括第十电压频率调控信息,所述根据所述芯片的工作状态信息或应用场景信息向所述芯片发送电压频率调控信息还包括:

当所述文字输入速度小于第三阈值或者待翻译图像中文字的数量小于第四阈值时,向所述芯片发送所述第十电压频率调控信息,所述第十电压频率调控信息用于指示所述芯片降低其工作电压或者工作频率。

在一种可行的实施例中,所述应用场景信息为外界的光照强度,所述电压频率调控信息包括第十一电压频率调控信息,所述根据所述芯片的工作状态信息或应用场景信息向所述芯片发送电压频率调控信息还包括:

当所述外界的光照强度小于第五阈值时,向所述芯片发送所述第十一电压频率调控信息,所述第十一电压频率调控信息用于指示所述芯片降低其工作电压或者工作频率。

在一种可行的实施例中,所述芯片应用于图像美颜,所述电压频率调控信息包括第十二电压频率调控信息和第十三电压频偏调控信息,所述根据所述芯片的工作状态信息或应用场景信息向所述芯片发送电压频率调控信息还包括:

当所述应用场景信息为人脸图像时,向所述芯片发送所述第十二电压频率调控信息,所述第十二电压频率调控信息用于指示所述芯片降低其工作电压;

当所述应用场景信息不为人脸图像时,向所述芯片发送所述第十三电压频率调控信息,所述第十三电压频率调控信息用于指示所述芯片降低其工作电压或者工作频率。

可以看出,在本发明实施例的方案中,动态调压调频装置实时与其连接的芯片及其内部各单元的工作状态信息或芯片的应用场景信息,根据芯片及其内部各单元的工作状态信息或者芯片的应用场景信息来调整芯片或者其内部各单元的工作频率或者工作电压,以达到降低芯片的整体运行功耗。

本发明的这些方面或其他方面在以下实施例的描述中会更加简明易懂。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种动态调压调频装置的结构示意图;

图2为本发明实施例提供的一种动态调压调频应用场景示意图;

图3为本发明实施例提供的另一种动态调压调频应用场景示意图;

图4是本发明实施例提供的另一种动态调压调频应用场景示意图;

图5示意性示出了互连模块4的一种实施方式的示意图;

图6为本发明实施例的用于执行卷积神经网络正向运算的装置中主运算模块5的结构的示例框图;

图7为本发明实施例的用于执行卷积神经网络正向运算的装置中从运算模块6的结构的示例框图;

图8为本发明实施例提供的一种动态调压调频方法的流程示意图。

具体实施方式

以下分别进行详细说明。

本发明的说明书和权利要求书及所述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。

在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本发明的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。

请参见图1,图1为本发明实施例提供的一种动态调压调频装置的结构示意图。如图1所示,该动态调压调频装置100包括:

信息采集单元101,用于实时采集与所述动态调压调频相连接的芯片的工作状态信息或应用场景信息,所述应用场景信息为所述芯片通过神经网络运算得到的或者与所述芯片相连接的传感器采集的信息;

调压调频单元102,用于根据所述芯片的工作状态信息或应用场景信息向所述芯片发送电压频率调控信息,所述电压频率调控信息用于指示所述芯片调整其工作电压或者工作频率。

在一种可行的实施例中,所述芯片的工作状态信息包括所述芯片的运行速度,所述电压频率调控信息包括第一电压频率调控信息,所述调压调频单元102用于:

当所述芯片的运行速度大于目标速度时,向所述芯片发送所述第一电压频率调控信息,所述第一电压频率调控信息用于指示所述芯片降低其工作频率或者工作电压,所述目标速度为满足用户需求时所述芯片的运行速度。

具体地,上述信息采集单元101实时采集与其连接的芯片的运行速度。该芯片的运行速度根据上述芯片执行任务的不同可为不同类型的速度。当该芯片进行的操作为视频图像处理时,则上述芯片的运行速度可为上述芯片进行视频图像处理的帧率;当上述芯片进行的操作为语音识别时,则上述芯片的运行速度为上述信息进行语音识别的速度。上述调压调频单元102确定上述芯片的运行速度大于上述目标速度即上述芯片的运行速度达到满足用户需求时该芯片的运行速度时,向该芯片发送第一电压频率调控信息,以指示该芯片降低其工作电压或者工作频率,以降低芯片的功耗。

举例说明,假设上述芯片进行的操作为视频图像处理,且上述目标速度为24帧/秒。上述信息采集单元实时采集上述芯片进行视频图像处理的帧率,且当前上述芯片进行视频图像处理的帧率为54帧/秒。上述调压调频单元确定当前上述芯片进行视频图像处理的帧率大于上述目标速度时,向芯片发送第一电压频率调控信息,以指示该芯片降低其工作电压或者工作频率,以降低芯片的功耗。

在一种可行的实施例中,所述芯片至少包括第一单元和第二单元,所述第一单元的输出数据为所述第二单元的输入数据,所述芯片的工作状态信息包括所述第一单元的运行速度和第二单元的运行速度,所述电压频率调控信息包括第二电压频率调控信息,所述调频调压单元102还用于:

当根据所述第一单元的运行速度和所述第二单元的运行速度确定所述第一单元的运行时间超过所述第二单元的运行时间时,向所述第二单元发送所述第二电压频率调控信息,所述第二电压频率调控信息用于指示所述第二单元降低其工作频率或者工作电压。

具体地,上述芯片执行任务需要上述第一单元和上述第二单元的配合,并且上述第一单元的输出数据为上述第二单元的输入数据。上述信息采集单元101实时采集上述第一单元和上述第二单元的运行速度。当确定上述第一单元的运行速度小于上述第二单元的运行速度即上述第一单元的运行时间超过上述第二单元的运行时间时,上述调压调频单元102向上述第二单元发送上述第二电压频率调控信息,以指示上述第二单元降低其工作电压或者工作频率,达到在不影响芯片整体的运行速度的前提下,达到降低芯片整体的功耗。

在一种可行的实施例中,所述电压频率调控信息包括第三电压频率调控信息,所述调频调压单元102还用于:

当根据所述第一单元的运行速度和所述第二单元的运行速度确定所述第二单元的运行时间超过所述第一单元的运行时间时,向所述第一单元发送所述第三电压频率调控信息,所述第三电压频率调控信息用于指示所述第一单元降低其工作频率或者工作电压。

具体地,上述芯片执行任务需要上述第一单元和上述第二单元的配合,并且上述第一单元的输出数据为上述第二单元的输入数据。上述信息采集单元101实时采集上述第一单元和上述第二单元的运行速度。当确定上述第一单元的运行速度大于上述第二单元的运行速度即上述第二单元的运行时间超过上述第一单元的运行时间时,上述调压调频单元102向上述第一单元发送上述第三电压频率调控信息,以指示上述第一单元降低其工作电压或者工作频率,达到在不影响芯片整体的运行速度的前提下,达到降低芯片整体的功耗。

在一种可行的实施例中,所述芯片包括至少n个单元,所述芯片的工作状态信息包括所述至少s个单元的工作状态信息,所述n为大于1的整数,所述s为小于或者小于n的整数,所述电压频率调控信息包括第四电压频率调控信息,所述调压调频单元102用于:

根据所述单元a的工作状态信息确定所述单元a处于空闲状态时,向所述单元a发送所述第四电压频率调控信息,所述第四电压频率调控信息用于指示所述单元a降低其工作频率或者工作电压,

其中,所述单元a为所述至少s个单元中的任意一个。

在一种可行的实施例中,所述电压频率调控信息包括第五电压频率调控信息,所述调压调频单元102还用于:

根据所述单元a的工作状态信息确定所述单元a重新处于工作状态时,向所述单元a发送所述第五电压频率调控信息,所述第五电压频率调控信息用于指示所述单元a升高其工作电压或者工作频率。

具体地,在上述芯片工作过程中,上述信息采集单元101实时采集上述芯片内部至少s个单元的工作状态信息。当根据上述单元a的工作状态信息确定该单元a处于空闲状态时,上述调压调频单元102向上述单元a发送第四电压频率调控信息,以指示该单元a降低其工作频率或者工作电压,以降低该单元a的功耗;当根据上述单元a的工作状态信息确定该单元a重新处于工作状态时,上述调压调频单元102向上述单元a发送第五电压频率调控信息,以指示该单元a升高其工作频率或者工作电压,以使该单元a的运行速度满足工作的需求。

在一种可行的实施例中,所述芯片的应用场景为图像识别,所述应用场景信息为待识别图像中物体的个数,所述电压频率调控信息包括第六电压频率调控信息,所述调压调频单元102还用于:

当确定所述待识别图像中物体的个数小于第一阈值时,向所述芯片发送所述第六电压频率调控信息,所述第六电压频率调控信息用于指示所述芯片降低其工作电压或者工作频率。

具体地,上述芯片应用于图像识别,上述待识别图像中物体的个数为上述芯片通过神经网络算法得到,上述信息采集单元101从上述芯片中获取上述待识别图像中物体的个数(即上述应用场景信息)后,当上述调压调频单元102确定上述待识别图像中物体的个数小于第一阈值时,该调压调频单元102向上述芯片发送上述第六电压频率调控信息,以指示上述芯片降低其工作电压或者工作频率;当确定上述待识别图像中物体的个数大于第一阈值时,该调压调频单元102向上述芯片发送用于指示上述芯片升高其工作电压或者工作频率的电压频率调控信息。

在一种可行的实施例中,所述应用场景信息为物体标签信息,所述电压频率调控信息包括第七电压频率调控信息,所述调压调频单元102还用于:

当确定所述物体标签信息属于预设物体标签集时,向所述芯片发送所述第七电压频率调控信息,所述第七电压频率调控信息用于指示所述芯片升高其工作电压或者工作频率。

举例说明,上述预设物体标签集包括多个物体标签,该物体标签可为“人”、“狗”、“树”和“花”。当上述芯片通过神经网络算法确定当前应用场景中包括狗时,该芯片将该包括“狗”这个物体标签信息传输至上述信息采集单元101后,当上述调频调压单元102确定上述物体标签信息包括“狗”时,向上述芯片发送第七电压频率调控信息,以指示上述芯片升高其工作电压或者工作频率;当确定上述物体标签信息不属于上述预设物体标签集时,该调压调频单元102向上述芯片发送用于指示上述芯片降低其工作电压或者工作频率的电压频率调控信息。

在一种可行的实施例中,所述芯片应用于语音识别,所述应用场景信息为语音输入速率,所述电压频率调控信息包括第八电压频率调控信息,所述调压调频单元还用于:

当所述语音输入速率小于第二阈值时,向所述芯片发送第八电压频率调控信息,所述第八电压频率调控信息用于指示所述芯片降低其工作电压或者工作频率。

具体地,上述芯片的应用场景为语音识别,该芯片的输入单元按照一定的速率向芯片输入语音。上述信息采集单元101实时采集语音输入速率,并将该语音输入速率信息发送至上述调压调频单元102。当该调压调频单元102确定上述语音输入速率小于第二阈值时,向上述芯片发送第八电压频率调控信息,以指示上述芯片降低其工作电压或者工作频率。当该调压调频单元102确定上述语音输入速率大于第二阈值时,向上述芯片发送用于指示上述芯片升高其工作电压的电压频率调控信息。

在一种可行的实施例中,所述应用场景信息为所述芯片进行语音识别得到的关键词,所述电压频率调控信息包括第九电压频率调控信息,所述调频调压单元还用于:

当所述关键词属于预设关键词集时,向所述芯片发送所述第九电压频率调控信息,所述第九电压频率调控信息用于指示所述芯片升高其工作电压或者工作频率。

进一步地,当上述关键词不属于上述关键词集时,上述调频调压单元102向上述芯片发送用于指示上述芯片降低其工作电压或者工作频率的调压调频信息。

举例说明,上述芯片的应用场景为语音识别,上述预设关键词集包括“图像美颜”、“神经网络算法”、“图像处理”和“支付宝”等等关键词。假设上述应用场景信息为“图像美颜”,上述调频调压单元102向上述发送上述第九电压频率调控信息,以用于指示上述芯片升高其工作电压或者工作频率;假设上述应用场景信息为“拍照”时,上述调频调压单元102向上述芯片发送用于指示上述芯片降低其工作电压或者工作频率的调压调频信息。

在一种可行的实施例中,所述芯片应用于机器翻译,所述应用场景信息为文字输入的速度或者待翻译图像中文字的数量,所述电压频率调控信息包括第十电压频率调控信息,所述调压调频单元还用于:

当所述文字输入速度小于第三阈值或者待翻译图像中文字的数量小于第四阈值时,向所述芯片发送所述第十电压频率调控信息,所述第十电压频率调控信息用于指示所述芯片降低其工作电压或者工作频率。

具体地,上述芯片应用于机器翻译,上述信息采集单元101采集的应用场景信息为文字输入的速度或者待翻译图像中文字的数量,并将该应用场景信息传输至上述调压调频单元102。当确定上述文字输入速度小于第三阈值或者待翻译图像中文字的数量小于第四阈值时,上述调压调频单元102向上述芯片发送第十电压频率调控信息,以用于指示上述芯片降低其工作电压;当确定上述文字输入速度大于第三阈值或者待翻译图像中文字的数量大于第四阈值时,上述调压调频单元102向上述芯片发送用于指示上述芯片升高其工作电压的电压频率调控信息。

在一种可行的实施例中,所述应用场景信息为外界的光照强度,所述电压频率调控信息包括第十一电压频率调控信息,所述调压调频单元还用于:

当所述外界的光照强度小于第五阈值时,向所述芯片发送所述第十一电压频率调控信息,所述第十一电压频率调控信息用于指示所述芯片降低其工作电压或者工作频率。

具体地,上述外界的光照强度为与上述芯片连接的光照传感器采集获取的。上述信息采集单元101获取上述光照强度后,将该光照强度传输至上述调压调频单元102。当确定上述光照强度小于第五阈值时,上述调压调频单元102向上述芯片发送上述第十一电压频率调控信息,以指示所述芯片降低其工作电压;当确定上述光照强度大于第五阈值时,上述调压调频单元102向上述芯片发送用于指示所述芯片升高其工作电压或者工作频率的电压频率调控信息。

在一种可行的实施例中,所述芯片应用于图像美颜,所述电压频率调控信息包括第十二电压频率调控信息和第十三电压频偏调控信息,所述调压调频单元还用于:

当所述应用场景信息为人脸图像时,向所述芯片发送所述第十二电压频率调控信息,所述第十二电压频率调控信息用于指示所述芯片升高其工作电压或者工作频率;

当所述应用场景信息不为人脸图像时,向所述芯片所述发送第十三电压频率调控信息,所述第十三电压频率调控信息用于指示所述芯片降低其工作电压或者工作频率。

在一种可行的实施例中,上述芯片应用于语音识别,上述应用场景信息为语音强度,当上述语音强度大于第六阈值时,上述调压调频单元102向上述芯片发送用于指示上述芯片降低其工作电压或者工作频率的电压频率调控信息;当上述语音强度小于第六阈值时,上述调压调频单元102向上述芯片发送用于指示上述芯片升高其工作电压或者工作频率的电压频率调控信息。

需要说明的是,上述场景信息可以是传感器采集到的外部场景的信息如光照强度,语音强度等。上述应用场景信息也可以是根据人工智能算法计算出的信息,例如在物体识别任务中,芯片的实时计算结果信息将反馈给信息采集单元,所述信息包括场景中物体个数、人脸图像、物体标签关键词等信息。

可选地,上述人工智能算法包括但不限于神经网络算法。

可以看出,在本发明实施例的方案中,动态调压调频装置实时与其连接的芯片及其内部各单元的工作状态信息或芯片的应用场景信息,根据芯片及其内部各单元的工作状态信息或芯片的应用场景信息来调整芯片或者其内部各单元的工作频率或者工作电压,以达到降低芯片的整体运行功耗。

请参见图2,图2为本发明实施例提供的一种动态调压调频应用场景示意图。如图2所示,运算装置包括动态调压调频装置210、和与该动态调压调频装置相连接的芯片220。

其中,上述芯片220包括控制单元221、存储单元222和运算单元223。上述芯片220可用于进行图像处理、处理语音等任务。

其中,上述动态调压调频装置210实时采集上述芯片220的工作状态信息。该芯片220的工作状态信息包括该芯片220的运行速度、上述控制单元221的运行速度、上述存储单元222的运行速度和上述运算单元223的运行速度。

在一种可行的实施例中,上述芯片220在执行一次任务时,当上述动态调压调频装置210根据上述存储单元222的运行速度和上述运算单元223的运行速度确定上述存储单元222的运行时间超过上述运算单元223的运行时间,上述动态调压调频装置210可确定在执行此次任务过程中,上述存储单元222成为了瓶颈,上述运算单元223执行完当前的运算操作后,需要等待上述存储单元222执行完读取任务并将其读取的数据传输至上述运算单元223,该运算单元223才能根据此次上述存储单元222传输过来的数据进行运算操作。上述动态调压调频装置210向上述运算单元223发送第一电压频率调控信息,该第一电压频率调控信息用于指示上述运算单元223降低其工作电压或者工作频率,以降低该运算单元223的运行速度,使得在不影响任务的完成时间的情况下,降低了上述芯片220整体的运行功耗。

在一种可行的实施例中,上述芯片220在执行一次任务时,当上述动态调压调频装置210根据上述存储单元222的运行速度和上述运算单元223的运行速度确定上述存储单元222的运行时间低于上述运算单元223的运行时间时,上述动态调压调频装置210可确定在执行此次任务过程中,上述运算单元223成为了瓶颈。在上述存储单元222在完成数据读取后,上述运算单元223还未完成当前的运算操作,上述存储单元222需要等待该运算单元223完成当前的运算操作后,才将读取的数据传输至上述运算单元223。上述动态调压调频装置210向上述存储单元222发送第二电压频率调控信息,该第二电压频率调控信息用于指示上述存储单元222降低其工作电压或者工作频率,以降低该存储单元222的运行速度,使得在不影响任务的完成时间的情况下,降低了上述芯片220整体的运行功耗。

在一种可行的实施例中,上述动态调压调频装置210实时获取上述芯片220的运行速度。当上述动态调压调频装置210确定上述芯片220的运行速度大于目标运行速度时,该目标运行速度为能够满足用户需求的运行速度,上述动态调压调频装置210向上述芯片220发送第三电压频率调控信息,该第三电压频率调控信息用于指示上述芯片220降低其工作电压或者工作频率,以降低上述芯片220的运行功耗。

举例说明,上述芯片220用于进行视频处理,比如在正常情况下的用户要求视频处理的帧率不低于30帧,假设此时上述芯片220实际进行视频处理的帧率是100,上述动态调压调频装置向上述芯片220发送电压频率调控信息,该电压频率调控信息用于指示上述芯片220降低工作电压或者工作频率,以使视频处理的帧率降低到30帧左右。

在一种可行的实施例中,上述动态调压调频装置210实时监控上述芯片220中各单元(包括控制单元221、存储单元222和运算单元223)的工作状态。当面上述动态调压调频装置220确定上述各单元中任一单元处于空闲状态时,向该单元发送第四电压频率调控信息,该第四电压频率调控信息用于指示该降低该单元工作电压或者工作频率,从而降低上述芯片220的功耗。当该单元重新处于工作状态时,上述动态调压调频装置向该单元或者模块发送第五电压频率调控信息,以升高该单元或者模块的工作电压或者工作频率,以使该单元的运行速度满足工作需求。

可以看出,在发明实施例的方案中,上述动态调压调频装置实时采集芯片及其内部各单元的运行速度信息,根据芯片及其内部各单元的运行速度信息降低芯片或者其内部各单元的工作频率或者工作电压,以达到降低芯片的整体运行功耗。

参见图3,图3为本发明实施例提供的另一种动态调压调频应用场景示意图。如图3所示,该卷积运算装置包括动态调压调频装置317寄存器单元312、互连模块313、运算单元314、控制单元315和数据访问单元316。

其中,运算单元314包括加法计算器、乘法计算器、比较器和激活运算器中的至少二种。

互连模块313,用于控制运算单元314中计算器的连接关系使得该至少二种计算器组成不同的计算拓扑结构。

寄存器单元312(可以是寄存器单元,指令缓存,高速暂存存储器),用于存储该运算指令、数据块的在存储介质的地址、运算指令对应的计算拓扑结构。

可选地,上述卷积运算装置还包括存储介质311。

存储介质311可以为片外存储器,当然在实际应用中,也可以为片内存储器,用于存储数据块,该数据块具体可以为n维数据,n为大于等于1的整数,例如,n=1时,为1维数据,即向量,如n=2时,为2维数据,即矩阵,如n=3或3以上时,为多维数据。

控制单元315,用于从寄存器单元312内提取运算指令、该运算指令对应的操作域以及该运算指令对应的第一计算拓扑结构,将该运算指令译码成执行指令,该执行指令用于控制运算单元314执行运算操作,将该操作域传输至数据访问单元316,将该计算拓扑结构传输至互连模块313。

数据访问单元316,用于从存储介质311中提取该操作域对应的数据块,并将该数据块传输至互连模块313。

互连模块313、用于接收第一计算拓扑结构的数据块。

在一种可行的实施例中,上述互连模块313还根据第一计算拓扑结构对数据块重新摆放。

运算单元314,用于该执行指令调用运算单元314的计算器对该数据块执行运算操作得到运算结果,将该运算结果传输至数据访问单元316并存储在存储介质312内。

在一种可行的实施例中,上述运算单元314还用于按第一计算拓扑结构以及该执行指令调用计算器对重新摆放的数据块执行运算操作得到运算结果,将该运算结果传输至数据访问单元316并存储在存储介质312内。

在另一种可行的实施例中,上述互连模块313还用于依据控制运算单元314中计算器的连接关系形成第一计算拓扑结构。

动态调压调频装置317用于监控整个卷积运算装置的工作状态并对其电压和频率进行动态调控。

下面通过不同的运算指令来说明上述卷积运算装置的具体计算方法,这里的运算指令以卷积计算指令为例,该卷积计算指令可以应用在神经网络中,所以该卷积计算指令也可以称为卷积神经网络。对于卷积计算指令来说,其实际需要执行的公式可以为:

s=s(∑wxi+b)

其中,即将卷积核w(可包括多个数据)乘以输入数据xi,进行求和,然后可选地可加上偏置b,然后可选地还可做激活运算s(h),得到最终的输出结果s。依据该公式即可以得到该计算拓扑结构为,乘法运算器-加法运算器-(可选的)激活运算器。上述卷积计算指令可以包括指令集,该指令集包含有不同功能的卷积神经网络compute指令以及config指令、io指令、nop指令、jump指令和move指令。在一种实施例中,compute指令包括:

卷积运算指令,根据该指令,装置分别从存储器(优选的高速暂存存储器或者标量寄存器堆)的指定地址取出指定大小的输入数据和卷积核,在卷积运算部件中做卷积操作。

卷积神经网络sigmoid指令,根据该指令,装置分别从存储器(优选的高速暂存存储器或者标量寄存器堆)的指定地址取出指定大小的输入数据和卷积核,在卷积运算部件中做卷积操作,然后将输出结果做sigmoid激活;

卷积神经网络tanh指令,根据该指令,装置分别从存储器(优选的高速暂存存储器)的指定地址取出指定大小的输入数据和卷积核,在卷积运算部件中做卷积操作,然后将输出结果做tanh激活;

卷积神经网络relu指令,根据该指令,装置分别从存储器(优选的高速暂存存储器)的指定地址取出指定大小的输入数据和卷积核,在卷积运算部件中做卷积操作,然后将输出结果做relu激活;以及

卷积神经网络group指令,根据该指令,装置分别从存储器(优选的高速暂存存储器)的指定地址取出指定大小的输入数据和卷积核,划分group之后,在卷积运算部件中做卷积操作,优选的,然后将输出结果做激活。

config指令在每层人工神经网络计算开始前配置当前层计算需要的各种常数。

io指令实现从外部存储空间读入计算需要的输入数据以及在计算完成后将数据存回至外部空间。

nop指令负责清空当前装置内部所有控制信号缓存队列中的控制信号,保证nop指令之前的所有指令全部指令完毕。nop指令本身不包含任何操作;

jump指令负责控制将要从指令存储单元读取的下一条指令地址的跳转,用来实现控制流的跳转;

move指令负责将装置内部地址空间某一地址的数据搬运至装置内部地址空间的另一地址,该过程独立于运算单元,在执行过程中不占用运算单元的资源。

上述卷积运算装置执行卷积计算指令的方法具体可以为:

控制单元315从寄存器单元312内提取卷积计算指令、卷积计算指令对应的操作域以及卷积计算指令对应的第一计算拓扑结构(乘法运算器-加法运算器-加法运算器-激活运算器),控制单元将该操作域传输至数据访问单元,将该第一计算拓扑结构传输至互联模块。

数据访问单元316从存储介质311内提取该操作域对应的卷积核w和偏置b(当b为0时,不需要提取偏置b),将卷积核w和偏置b传输至运算单元314。

运算单元314的乘法运算器将卷积核w与输入数据xi执行乘法运算以后得到第一结果,将第一结果输入到加法运算器执行加法运算得到第二结果,将第二结果和偏置b执行加法运算得到第三结果,将第三结果输到激活运算器执行激活运算得到输出结果s,将输出结果s传输至数据访问单元存储至存储介质内。其中,每个步骤后都可以直接输出结果传输到数据访问存储至存储介质内,无需下面的步骤。另外,将第二结果和偏置b执行加法运算得到第三结果这一步骤可选,即当b为0时,不需要这个步骤。另外,加法运算和乘法运算的顺序可以调换。

可选地,上述第一结果可包括多个乘法运算的结果。

在一种可行的实施例中,本发明实施例提供了一种神经网络处理器,其包括了上述卷积运算装置。

上述神经网络处理器用于执行人工神经网络运算,实现语音识别,图像识别,翻译等人工智能的应用。

在这个卷积计算任务中,上述动态调压调频装置317的工作过程如下:

情形一、上述神经网络处理器在执行卷积运算过程中,上述动态调压调频装置317实时获取上述神经网络处理器的数据访问单元316和运算单元314的运行速度。当上述动态调压调频装置317根据上述数据访问单元316和运算单元314的运行速度确定上述数据访问单元316的运行时间超过上述运算单元314的运行时间,上述动态调压调频装置317可确定在进行卷积运算过程中,上述数据访问单元316成为了瓶颈,上述运算单元314执行完当前的卷积运算操作后,需要等待上述数据访问单元316执行完读取任务并将其读取的数据传输至上述运算单元314,该运算单元314才能根据此次上述数据访问单元316传输过来的数据进行卷积运算操作。上述动态调压调频装置317向上述运算单元314发送第一电压频率调控信息,该第一电压频率调控信息用于指示上述运算单元314降低其工作电压或者工作频率,以降低该运算单元314的运行速度,使得上述运算单元314的运行速度与上述数据访问单元316的运行速度相匹配,降低了上述运算单元314的功耗,避免运算单元314空闲的情况发生,最终使得在不影响任务的完成时间的情况下,降低了上述神经网络处理器整体的运行功耗。

情形二、上述神经网络处理器在执行卷积运算过程中,上述动态调压调频装置317实时获取上述神经网络处理器的数据访问单元316和运算单元314的运行速度。当上述动态调压调频装置317根据上述数据访问单元316和运算单元314的运行速度确定上述运算单元314的运行时间超过上述数据访问单元316的运行时间,上述动态调压调频装置317可确定在进行卷积运算过程中,上述运算单元314成为了瓶颈,上述数据访问单元316执行完当前的数据读取操作后,需要等待上运算单元314执行当前的卷积运算操作后,上述数据访问单元316才将其读取的数据传输至上述运算单元314。上述动态调压调频装置317向上述数据访问单元316发送第二电压频率调控信息,该第二电压频率调控信息用于指示上述数据访问单元316降低其工作电压或者工作频率,以降低该数据访问单元316的运行速度,使得上述数据访问单元316的运行速度与上述预算单元314的运行速度相匹配,降低了上述数据访问单元316的功耗,并避免数据访问单元316空闲的情况发生,最终使得在不影响任务的完成时间的情况下,降低了上述神经网络处理器整体的运行功耗。

上述神经网络处理器执行人工神经网络运算,进行人工智能应用的时候,上述动态调压调频装置317实时采集上述神经网络处理器进行人工智能应用的的工作参数,并根据该工作参数调整上述神经网络处理器的工作电压或工作频率。

具体地,上述人工智能应用可以是视频图像处理,物体识别、机器翻译、语音识别和图像美颜等等。

情形三、上述神经网络处理器进行视频图像处理时,上述动态调压调频装置317实时采集上述神经网络处理器进行视频图像处理的帧率。当该视频图像处理的帧率超过目标帧率时,该目标帧率为用户正常需求的视频图像处理帧率,上述动态调压调频装置317向上述神经网络处理器发送第三电压频率调控信息,该第三电压频率调控信息用于指示上述神经网络处理器降低其工作电压或者工作频率,在满足了用户正常视频图像处理需求的同时也降低了上述神经网络处理器的功耗。

情形四、上述神经网络处理器进行语音识别时,上述动态调压调频装置317实时采集上述神经网络处理器的语音识别速度。当上述神经网络处理器的语音识别速度超过用户实际语音识别速度时,上述动态调压调频装置317向上述神经网络处理器发送第四电压频率调控信息,该第四电压频率调控信息用于指示上述神经网络处理器降低其工作电压或者工作频率,在满足了用户正常语音识别需求的同时也降低了上述神经网络处理器的功耗。

情形五、上述动态调压调频装置317实时监控上述神经网络处理器中各单元或者模块(包括存储介质311、寄存器单元312、互连模块313、运算单元314、控制器单元315、数据访问单元316)的工作状态。当上述神经网络处理器中各单元或者模块任一单元或者模块处于空闲状态时,上述动态调压调频装置向该单元或者模块发送第五电压频率调控信息,以降低该单元或者模块的工作电压或者工作频率,以进而降低该单元或者模块的功耗。当该单元或者模块重新处于工作状态时,上述动态调压调频装置向该单元或者模块发送第六电压频率调控信息,以升高该单元或者模块的工作电压或者工作频率,以使该单元或者模块的运行速度满足工作需求。

图4是本发明实施例提供的另一种动态调压调频应用场景示意图。如图4所示,该卷积运算装置包括动态调压调频装置7、指令存储单元1、控制器单元2、数据访问单元3、互连模块4、主运算模块5和多个从运算模块6。指令存储单元1、控制器单元2、数据访问单元3、互连模块4、主运算模块5和从运算模块6均可以通过硬件电路(例如包括但不限于fpga、cgra、专用集成电路asic、模拟电路和忆阻器等)实现。

指令存储单元1通过数据访问单元3读入指令并存储读入的指令。

控制器单元2从指令存储单元1中读取指令,将指令译成控制其他模块行为的控制信号并发送给其他模块如数据访问单元3、主运算模块5和从运算模块6等。

数据访问单元3能够访问外部地址空间,直接向装置内部的各个存储单元读写数据,完成数据的加载和存储。

互连模块4用于连接主运算模块和从运算模块,可以实现成不同的互连拓扑(如树状结构、环状结构、网格状结构、分级互连,总线结构等)。

动态调压调频装置7,用于实时获取上述数据访问单元3和上述主运算单元5的工作状态信息,并根据上述数据访问单元3和上述主运算单元5的工作状态信息来调整上述数据访问单元3和上述主运算模块5的工作电压或者工作频率。

在一种可行的实施例中,本发明实施例提供了一种神经网络处理器,其包括了上述卷积运算装置。

上述神经网络处理器用于执行人工神经网络运算,实现语音识别,图像识别,翻译等人工智能的应用。

在这个卷积计算任务中,上述动态调压调频装置7的工作过程如下:

情形一、上述卷积神经网络处理器在执行卷积运算过程中,上述动态调压调频装置7实时获取上述神经网络处理器的数据访问单元3和主运算模块5的运行速度。当上述动态调压调频装置7根据上述数据访问单元3和主运算模块5的运行速度确定上述数据访问单元3的运行时间超过上述主运算模块5的运行时间,上述动态调压调频装置7可确定在进行卷积运算过程中,上述数据访问单元3成为了瓶颈,上述主运算模块5执行完当前的卷积运算操作后,需要等待上述数据访问单元3执行完读取任务并将其读取的数据传输至上述主运算模块5,该主运算模块5才能根据此次上述数据访问单元3传输过来的数据进行卷积运算操作。上述动态调压调频装置7向上述主运算模块5发送第一电压频率调控信息,该第一电压频率调控信息用于指示上述主运算模块5降低其工作电压或者工作频率,以降低该主运算模块5的运行速度,使得上述主运算模块5的运行速度与上述数据访问单元3的运行速度相匹配,降低了上述主运算模块5的功耗,避免主运算模块5空闲的情况发生,最终使得在不影响任务的完成时间的情况下,降低了上述神经网络处理器整体的运行功耗。

情形二、上述神经网络处理器在执行卷积运算过程中,上述动态调压调频装置7实时获取上述神经网络处理器的数据访问单元3和主运算模块5的运行速度。当上述动态调压调频装置3根据上述数据访问单元3和主运算模块5的运行速度确定上述主运算模块5的运行时间超过上述数据访问单元3的运行时间,上述动态调压调频装置7可确定在进行卷积运算过程中,上述主运算模块5成为了瓶颈,上述数据访问单元3执行完当前的数据读取操作后,需要等待上主运算模块5执行当前的卷积运算操作后,上述数据访问单元3才将其读取的数据传输至上述主运算模块5。上述动态调压调频装置7向上述数据访问单元3发送第二电压频率调控信息,该第二电压频率调控信息用于指示上述数据访问单元316降低其工作电压或者工作频率,以降低该数据访问单元3的运行速度,使得上述数据访问单元3的运行速度与上述主运算模块5的运行速度相匹配,降低了上述数据访问单元3的功耗,并避免数据访问单元3空闲的情况发生,最终使得在不影响任务的完成时间的情况下,降低了上述神经网络处理器整体的运行功耗。

上述神经网络处理器执行人工神经网络运算,进行人工智能应用的时候,上述动态调压调频装置317实时采集上述神经网络处理器进行人工智能应用的的工作参数并根据该工作参数调整上述神经网络处理器的工作电压或工作频率。

具体地,上述人工智能应用可以是视频图像处理,物体识别、机器翻译、语音识别和图像美颜等等。

情形三、上述神经网络处理器进行视频图像处理时,上述动态调压调频装置7实时采集上述神经网络处理器进行视频图像处理的帧率。当该视频图像处理的帧率超过目标帧率时,该目标帧率为用户正常需求的视频图像处理帧率,上述动态调压调频装置7向上述神经网络处理器发送第三电压频率调控信息,该第三电压频率调控信息用于指示上述神经网络处理器降低其工作电压或者工作频率,在满足了用户正常视频图像处理需求的同时也降低了上述神经网络处理器的功耗。

情形四、上述神经网络处理器进行语音识别时,上述动态调压调频装置7实时采集上述神经网络处理器的语音识别速度。当上述神经网络处理器的语音识别速度超过用户实际语音识别速度时,上述动态调压调频装置7向上述神经网络处理器发送第四电压频率调控信息,该第四电压频率调控信息用于指示上述神经网络处理器降低其工作电压或者工作频率,在满足了用户正常语音识别需求的同时也降低了上述神经网络处理器的功耗。

情形五、上述动态调压调频装置7实时监控并获取上述神经网络处理器中各单元或者模块(包括指令1、控制器单元2、数据访问单元3、互连模块4、主运算模块5和从运算模块6)的工作状态信息。当上述神经网络处理器中各单元或者模块任一单元或者模块处于空闲状态时,上述动态调压调频装置向该单元或者模块发送第五电压频率调控信息,以降低该单元或者模块的工作电压或者工作频率,以进而降低该单元或者模块的功耗。当该单元或者模块重新处于工作状态时,上述动态调压调频装置向该单元或者模块发送第六电压频率调控信息,以升高该单元或者模块的工作电压或者工作频率,以使该单元或者模块的运行速度满足工作需求。

图5示意性示出了互连模块4的一种实施方式:h树模块。互连模块4构成主运算模块5和多个从运算模块6之间的数据通路,是由多个节点构成的二叉树通路,每个节点将上游的数据同样地发给下游的两个节点,将下游的两个节点返回的数据进行合并,并返回给上游的节点。例如,在卷积神经网络开始计算阶段,主运算模块5内的神经元数据通过互连模块4发送给各个从运算模块6;当从运算模块6的计算过程完成后,当从运算模块的计算过程完成后,每个从运算模块输出的神经元的值会在互连模块中逐级拼成一个完整的由神经元组成的向量。举例说明,假设装置中共有n个从运算模块,则输入数据xi被发送到n个从运算模块,每个从运算模块将输入数据xi与该从运算模块相应的卷积核做卷积运算,得到一标量数据,各从运算模块的标量数据被互连模块4合并成一个含有n个元素的中间向量。假设卷积窗口总共遍历得到a*b个(x方向为a个,y方向为b个,x、y为三维正交坐标系的坐标轴)输入数据xi,则对a*b个xi执行上述卷积操作,得到的所有向量在主运算模块中合并得到a*b*n的三维中间结果。

图6示出了根据本发明实施例的用于执行卷积神经网络正向运算的装置中主运算模块5的结构的示例框图。如图6所示,主运算模块5包括第一运算单元51、第一数据依赖关系判定单元52和第一存储单元53。

其中,第一运算单元51包括向量加法单元511以及激活单元512。第一运算单元51接收来自控制器单元的控制信号,完成主运算模块5的各种运算功能,向量加法单元511用于实现卷积神经网络正向计算中的加偏置操作,该部件将偏置数据与所述中间结果对位相加得到偏置结果,激活运算单元512对偏置结果执行激活函数操作。所述偏置数据可以是从外部地址空间读入的,也可以是存储在本地的。

第一数据依赖关系判定单元52是第一运算单元51读写第一存储单元53的端口,保证第一存储单元53中数据的读写一致性。同时,第一数据依赖关系判定单元52也负责将从第一存储单元53读取的数据通过互连模块4发送给从运算模块,而从运算模块6的输出数据通过互连模块4直接发送给第一运算单元51。控制器单元2输出的指令发送给计算单元51和第一数据依赖关系判定单元52,来控制其行为。

存储单元53用于缓存主运算模块5在计算过程中用到的输入数据和输出数据。

图7示出了根据本发明实施例的用于执行卷积神经网络正向运算的装置中从运算模块6的结构的示例框图。如图7所示,每个从运算模块6包括第二运算单元61、数据依赖关系判定单元62、第二存储单元63和第三存储单元64。

第二运算单元61接收控制器单元2发出的控制信号并进行卷积运算。第二运算单元包括向量乘单元611和累加单元612,分别负责卷积运算中的向量乘运算和累加运算。

第二数据依赖关系判定单元62负责计算过程中对第二存储单元63的读写操作。第二数据依赖关系判定单元62执行读写操作之前会首先保证指令之间所用的数据不存在读写一致性冲突。例如,所有发往数据依赖关系单元62的控制信号都会被存入数据依赖关系单元62内部的指令队列里,在该队列中,读指令的读取数据的范围如果与队列位置靠前的写指令写数据的范围发生冲突,则该指令必须等到所依赖的写指令被执行后才能够执行。

第二存储单元63缓存该从运算模块6的输入数据和输出标量数据。

第三存储单元64缓存该从运算模块6在计算过程中需要的卷积核数据。

可以看出,在本发明实施例的方案中,上述动态调压调频装置实时采集上述神经网络处理器及其内部各单元和模块的运行速度,当根据神经网络处理器及其内部各单元和模块的运行速度确定降低神经网络处理器或者其内部各单元的工作频率或者工作电压,在满足实际工作中用户的需求的同时也可以达到降低芯片的整体运行功耗的目的。

需要说明的是,上述各单元或者模块都可以是电路,包括数字电路,模拟电路等等。上述各单元或者模块结构的物理实现包括但不局限于物理器件,物理器件包括但不局限于晶体管,忆阻器等等。上述芯片或上述神经网络处理器可以是任何适当的硬件处理器,比如cpu、gpu、fpga、dsp和asic等等。所述存储单元可以是任何适当的磁存储介质或者磁光存储介质,比如阻变式随机存取存储器(resistiverandomaccessmemory,rram)、动态随机存取存储器(dynamicrandomaccessmemory,dram)、静态随机存取存储器(staticrandomaccessmemory,sram)、增强动态随机存取存储器(enhanceddynamicrandomaccessmemory,edram)、高宽带存储器(highbandwidthmemory,hbm)、混合存储器立方(hybridmemorycube,hmc)等等

在一种可行的实施例中,本发明实施例提供了一种封装结构,其包括了上述神经网络处理器。

在一种可行的实施例中,本发明实施例提供了一种板卡,其包括了上述芯片封装结构。

在一种可行的实施例中,本发明实施例提供了一种电子装置,其包括了上述板卡。

上述电子装置包括数据处理装置、机器人、电脑、打印机、扫描仪、平板电脑、智能终端、手机、行车记录仪、导航仪、传感器、摄像头、云端服务器、相机、摄像机、投影仪、手表、耳机、移动存储、可穿戴设备交通工具、家用电器、和/或医疗设备。

上述交通工具包括飞机、轮船和/或车辆;上述家用电器包括电视、空调、微波炉、冰箱、电饭煲、加湿器、洗衣机、电灯、燃气灶、油烟机;上述医疗设备包括核磁共振仪、b超仪和/或心电图仪。

参见图8,图8为本发明实施例提供的一种动态调压调频方法的流程示意图。如图8所示,该方法包括:

s801、动态调压调频装置实时采集与所述动态调压调频相连接的芯片的工作状态信息或应用场景信息,所述应用场景信息为所述芯片通过神经网络运算得到的或者与所述芯片相连接的传感器采集的信息。

s802、动态调压调频装置根据所述芯片的工作状态信息或应用场景信息向所述芯片发送电压频率调控信息,所述电压频率调控信息用于指示所述芯片调整其工作电压或者工作频率。

其中,所述芯片的工作状态信息包括所述芯片的运行速度,所述电压频率调控信息包括第一电压频率调控信息,所述根据所述芯片的工作状态信息或应用场景信息向所述芯片发送电压频率调控信息包括:

当所述芯片的运行速度大于目标速度时,向所述芯片发送所述第一电压频率调控信息,所述第一电压频率调控信息用于指示所述芯片降低其工作频率或者工作电压,所述目标速度为满足用户需求时所述芯片的运行速度。

进一步地,所述芯片至少包括第一单元和第二单元,所述第一单元的输出数据为所述第二单元的输入数据,所述芯片的工作状态信息包括所述第一单元的运行速度和第二单元的运行速度,所述电压频率调控信息包括第二电压频率调控信息,所述根据所述芯片的工作状态信息或应用场景信息向所述芯片发送电压频率调控信息还包括:

当根据所述第一单元的运行速度和所述第二单元的运行速度确定所述第一单元的运行时间超过所述第二单元的运行时间时,向所述第二单元发送所述第二电压频率调控信息,所述第二电压频率调控信息用于指示所述第二单元降低其工作频率或者工作电压。

进一步地,所述电压频率调控信息包括第三电压频率调控信息,所述根据所述芯片的工作状态信息或应用场景信息向所述芯片发送电压频率调控信息还包括:

当根据所述第一单元的运行速度和所述第二单元的运行速度确定所述第二单元的运行时间超过所述第一单元的运行时间时,向所述第一单元发送所述第三电压频率调控信息,所述第三电压频率调控信息用于指示所述第一单元降低其工作频率或者工作电压。

可选地,所述芯片包括至少n个单元,所述芯片的工作状态信息包括所述至少s个单元的工作状态信息,所述n为大于1的整数,所述s为小于或者小于n的整数,所述电压频率调控信息包括第四电压频率调控信息,所述根据所述芯片的工作状态信息向所述芯片发送电压频率调控信息还包括:

根据所述单元a的工作状态信息确定所述单元a处于空闲状态时,向所述单元a发送所述第四电压频率调控信息,所述第四电压频率调控信息用于指示所述单元a降低其工作频率或者工作电压,

其中,所述单元a为所述至少s个单元中的任意一个。

可选地,所述电压频率调控信息包括第五电压频率调控信息,所述根据所述芯片的工作状态信息或应用场景信息向所述芯片发送电压频率调控信息还包括:

根据所述单元a的工作状态信息确定所述单元a重新处于工作状态时,向所述单元a发送第五电压频率调控信息,所述第五电压频率调控信息用于指示所述单元a升高其工作电压或者工作频率。

可选地,所述芯片的应用场景为图像识别,所述应用场景信息为待识别图像中物体的个数,所述电压频率调控信息包括第六电压频率调控信息,所述调压调频单元还用于:

当确定所述待识别图像中物体的个数小于第一阈值时,向所述芯片发送所述第六电压频率调控信息,所述第六电压频率调控信息用于指示所述芯片降低其工作电压或者工作频率。

可选地,所述应用场景信息为物体标签信息,所述电压频率调控信息包括第七电压频率调控信息,所述调压调频单元还用于:

当确定所述物体标签信息属于预设物体标签集时,向所述芯片发送所述第七电压频率调控信息,所述第七电压频率调控信息用于指示所述芯片升高其工作电压或者工作频率。

可选地,所述芯片应用于语音识别,所述应用场景信息为语音输入速率,所述电压频率调控信息包括第八电压频率调控信息,所述调压调频单元还用于:

当所述语音输入速率小于第二阈值时,向所述芯片发送第八电压频率调控信息,所述第八电压频率调控信息用于指示所述芯片降低其工作电压或者工作频率。

可选地,所述应用场景信息为所述芯片进行语音识别得到的关键词,所述电压频率调控信息包括第九电压频率调控信息,所述调频调压单元还用于:

当所述关键词属于预设关键词集时,向所述芯片发送所述第九电压频率调控信息,所述第九电压频率调控信息用于指示所述芯片升高其工作电压或者工作频率。

可选地,所述芯片应用于机器翻译,所述应用场景信息为文字输入的速度或者待翻译图像中文字的数量,所述电压频率调控信息包括第十电压频率调控信息,所述调压调频单元还用于:

当所述文字输入速度小于第三阈值或者待翻译图像中文字的数量小于第四阈值时,向所述芯片发送所述第十电压频率调控信息,所述第十电压频率调控信息用于指示所述芯片降低其工作电压或者工作频率。

可选地,所述应用场景信息为外界的光照强度,所述电压频率调控信息包括第十一电压频率调控信息,所述调压调频单元还用于:

当所述外界的光照强度小于第五阈值时,向所述芯片发送所述第十一电压频率调控信息,所述第十一电压频率调控信息用于指示所述芯片降低其工作电压或者工作频率。

可选地,所述芯片应用于图像美颜,所述电压频率调控信息包括第十二电压频率调控信息和第十三电压频偏调控信息,所述调压调频单元还用于:

当所述应用场景信息为人脸图像时,向所述芯片发送所述第十二电压频率调控信息,所述第十二电压频率调控信息用于指示所述芯片降低其工作电压;

当所述应用场景信息不为人脸图像时,向所述芯片所述发送第十三电压频率调控信息,所述第十三电压频率调控信息用于指示所述芯片降低其工作电压或者工作频率。

需要说明的是,上述方法实施例的具体实现过程可参见图1所示实施例的相关描述,在此不再叙述。

可以看出,在本发明实施例的方案中,上述动态调压调频装置实时采集芯片及其内部各单元的运行速度信息,根据芯片及其内部各单元的运行速度信息降低芯片或者其内部各单元的工作频率或者工作电压,以达到降低芯片的整体运行功耗。

需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元可以采用硬件的形式实现。

以上对本发明实施例进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上上述,本说明书内容不应理解为对本发明的限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1