一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

片上功耗控制电路、芯片以及功耗控制方法与流程

2022-07-09 21:59:50 来源:中国专利 TAG:


1.本公开涉及电学技术领域,具体地,涉及一种片上功耗控制电路,以及还涉及一种包括该片上功耗控制电路的芯片以及可应用于该片上功耗控制电路的功耗控制方法。


背景技术:

2.随着电子技术的发展,不论是数据中心、工作站、还是个人电脑或移动计算设备,对诸如gpu/cpu的芯片的功耗管理一直是产品设计上需要不断完善和提升的重要方面。一般而言,电子系统的功耗与其主要功能模块的工作电压和时钟频率直接相关,因此,动态电压频率调整(dynamic voltage and frequency scaling,即dvfs)是系统级功耗管理的主要途径。dvfs的基本思路是根据应用程序的计算需求,动态调整芯片的工作电压和时钟频率,在运算负荷较大、需要高性能时,提高电压和时钟频率,以保证性能得到满足,在运算负荷较小,不需要高性能时,最大程度的降低电压和时钟频率,以降低功耗,由此,能够实现确保系统性能的同时,又尽可能节省功耗的目的。
3.然而,对于现有的功耗控制系统而言,一方面其主要依赖于软件进行控制(例如对相关控制值的计算等),而软件指令的执行存在一定的执行延时,另一方面其可能包括多个存在高延时的环节,例如,功耗检测、功耗比较等等。因此,现有的功耗控制系统无法使功耗控制快速地逼近功耗目标,使得实际系统上的功耗控制常常出现振荡,继而导致系统的性能不够稳定。


技术实现要素:

4.根据本公开的第一个方面,提供了一种片上功耗控制电路,其包括:电压控制信号生成电路,其被配置成:响应于接收到的pwm控制信息,生成pwm信号和pwm信息;时钟信号生成电路,其被配置成:响应于接收到的频率控制信息,生成时钟信号和频率信息;控制信息生成电路,其被配置成:响应于接收到的所述pwm信息、所述频率信息以及至少一个信号翻转比率,更新所述pwm控制信息和所述频率控制信息。
5.根据一些示例性实施例,所述控制信息生成电路还接收温度测量值,并且被配置成:响应于接收到的所述pwm信息、所述频率信息、所述温度测量值以及至少一个信号翻转比率,更新所述pwm控制信息和所述频率控制信息。
6.根据一些示例性实施例,所述控制信息生成电路包括:状态信息更新电路,其被配置成:响应于接收到的所述pwm信息、所述频率信息和所述温度测量值,生成当前电压值、当前频率值和当前温度值;功耗计算电路,其被配置成:响应于接收到的所述当前电压值、所述当前频率值、所述当前温度值、以及所述至少一个信号翻转比率,计算当前功耗估计值;电压频率计算电路,其被配置成:响应于接收到的所述当前功耗估计值,生成电压频率控制值;电压频率协调控制电路,其被配置成:响应于接收到的所述电压频率控制值,更新所述pwm控制信息和所述频率控制信息。
7.根据一些示例性实施例,所述状态信息更新电路包括:电压值更新电路,其被配置
成:响应于接收到的所述pwm信息,生成所述当前电压值;频率值更新电路,其被配置成:响应于接收到的所述频率信息,生成所述当前频率值;温度值更新电路,其被配置成:响应于所述温度测量值,生成所述当前温度值。
8.根据一些示例性实施例,所述电压值更新电路包括:pwm信息延时电路,其被配置成:响应于接收到的所述pwm信息,生成延时pwm信息;电压查找表电路,其被配置成:响应于接收到的所述延时pwm信息,查表生成所述当前电压值。
9.根据一些示例性实施例,pwm信息延时电路的延时时间是基于所述pwm信息可动态调整的。
10.根据一些示例性实施例,所述pwm信息延时电路包括:第一寄存器,其被配置成:响应于接收到的所述pwm信息,生成先前pwm信息;第一减法器,其被配置成:基于所述pwm信息和所述先前pwm信息,生成pwm信息差值;第一乘法器,其被配置成:将所述pwm信息差值乘以pwm信息差值调整系数,以生成延时时间值。第一延时器,其被配置成:响应于接收到的所述pwm信息和所述延时时间值,将所述pwm信息延时,以生成所述延时pwm信息。
11.根据一些示例性实施例,所述先前pwm信息是前一次pwm信息。
12.根据一些示例性实施例,所述频率值更新电路包括:第二延时器,其被配置成:响应于接收到的所述频率信息,生成延时频率信息;频率查找表电路,其被配置成:响应于接收到的所述延时频率信息,查表生成所述当前频率值。
13.根据一些示例性实施例,所述第二延时器的延时时间是可配置的。
14.根据一些示例性实施例,所述温度值更新电路包括:第二乘法器,其被配置成:将所述温度测量值乘以第一温度值调整系数,并输出运算结果;第一加法器,其被配置成:将所述第二乘法器的运算结果加上第二温度值调整系数,以生成所述当前温度值。
15.根据一些示例性实施例,所述温度值更新电路包括温度查找表电路,其被配置成:响应于接收到的所述温度测量值,查表生成所述当前温度值。
16.根据一些示例性实施例,所述功耗计算电路包括:总体信号翻转比率计算电路,其被配置成:基于接收到的所述至少一个信号翻转比率,生成总体信号翻转比率;当前功耗估计电路,其被配置成:基于接收到的所述总体信号翻转比率、所述当前电压值、所述当前频率值以及所述当前温度值,生成所述当前功耗估计值。
17.根据一些示例性实施例,所述总体信号翻转比率计算电路包括:与所述至少一个信号翻转比率一一对应的至少一个乘法器,其中,所述至少一个乘法器中的每一个乘法器被配置成将对应的信号翻转比率乘以对应的信号翻转比率调整系数,并且输出运算结果;第二加法器,其被配置成:对所述至少一个乘法器的运算结果求和,并且输出运算结果;第二寄存器,其被配置成:保存接收到的所述第二加法器的运算结果,并且将所述第二加法器的运算结果作为所述总体信号翻转比率输出。
18.根据一些示例性实施例,所述当前功耗估计电路包括:第三乘法器,其被配置成:将所述当前温度值乘以第一功耗计算系数,并且输出运算结果;第三加法器,其被配置成:将所述第三乘法器的运算结果加1,并且输出运算结果;第四乘法器,其被配置成:将所述第三加法器的运算结果乘以第二功耗计算系数,并且输出运算结果;第五乘法器,其被配置成:将所述总体信号翻转比率乘以所述当前电压值,并且输出运算结果;第六乘法器,其被配置成:将所述当前频率值乘以第三功耗计算系数,并且输出运算结果;第七乘法器,其被
配置成:将所述第五乘法器的运算结果乘以所述第六乘法器的运算结果,并且输出运算结果;第四加法器,其被配置成:对所述第四乘法器的运算结果和所述第七乘法器的运算结果求和,并且输出运算结果;第八乘法器,其被配置成:将所述第四加法器的运算结果乘以所述当前电压值,并且输出运算结果;第三寄存器,其被配置成:保存接收到的所述第八乘法器的运算结果,并且将所述第八乘法器的运算结果作为所述当前功耗估计值输出。
19.根据一些示例性实施例,所述电压频率计算电路包括:第一选择器,其被配置成:响应于接收到的模式信息,从接收到的当前功耗估计值和预设的旁路模式功耗估计值中选择一个输出为功耗输入值;电压频率控制值查找表电路,其被配置成:响应于接收到的电压频率计算值,查表生成所述电压频率控制值;运算电路,其被配置成:响应于接收到的所述功耗输入值和所述电压频率计算值,生成第一运算结果和第二运算结果;第一比较器,其被配置成:响应于接收到的所述功耗输入值大于或等于第一功耗阈值,使输出的第一功耗超标信号有效;以及,响应于接收到的所述功耗输入值小于第一功耗阈值,使所述第一功耗超标信号无效;第二比较器,其被配置成:响应于接收到的所述功耗输入值大于或等于第二功耗阈值,使输出的第二功耗超标信号有效;以及,响应于接收到的所述功耗输入值小于第二功耗阈值,使所述第二功耗超标信号无效;第二选择器,其被配置成:响应于接收到的所述第一功耗超标信号有效,选择预设运算结果输出为所述电压频率计算值,响应于仅接收到的所述第二功耗超标信号有效,选择接收到的所述第二运算结果输出为所述电压-频率计算值,以及响应于所述第一功耗超标信号和所述第二功耗超标信号都无效时,选择接收到的所述第一运算结果输出为所述电压频率计算值。
20.根据一些示例性实施例,所述运算电路包括:第二减法器,其被配置成:生成接收到的所述功耗输入值与预设的目标功耗值之间的功耗差值,并输出所述功耗差值;第九乘法器,其被配置成:将接收到的所述功耗差值乘以第一计算系数,并且输出运算结果;第四寄存器,其被配置成:响应于接收到的所述功耗差值,生成前一次功耗差值;第十乘法器,其被配置成:将接收到的所述前一次功耗差值乘以第二计算系数,并且输出运算结果;第五寄存器,其被配置成:响应于接收到的所述前一次功耗差值,生成前两次功耗差值;第十一乘法器,其被配置成:将接收到的所述前两次功耗差值乘以第三计算系数,并且输出运算结果;第六寄存器,其被配置成:响应于接收到的所述电压频率计算值,生成前一次电压频率计算值;第十二乘法器,其被配置成:将接收到的所述前一次电压频率计算值乘以第一反馈系数,并且输出运算结果;第七寄存器,其被配置成:响应于接收到的所述前一次电压频率计算值,生成前两次电压频率计算值;第十三乘法器,其被配置成:将接收到的所述前两次电压频率计算值乘以所述第二反馈系数,并且输出运算结果;第五加法器,其被配置成:对所述第九乘法器的运算结果、所述第十乘法器的运算结果、所述第十一乘法器的运算结果、所述第十二乘法器的运算结果以及所述第十三乘法器的运算结果求和,以生成所述第一运算结果;以及移位器,其被配置成,响应于接收到的所述第一运算结果,将所述第一运算结果向右移位,以生成所述第二运算结果。
21.根据一些示例性实施例,所述电压频率协调控制电路包括:电压频率取值电路,其被配置成:响应于接收到的所述电压频率控制值,生成当前电压控制值和当前频率控制值;第三延时器,其被配置成:响应于接收到的所述当前电压控制值,生成延时电压控制值;第八寄存器,其被配置成:响应于接收到的所述pwm控制信息,生成先前电压控制值息;第三比
较器,其被配置成:响应于接收到的所述当前电压控制值大于或等于接收到的所述先前电压控制值,使输出的第一条件信号有效,以及响应于接收到的所述当前电压控制值小于接收到的所述先前电压控制值,使输出的所述第一条件信号无效;第三选择器,其被配置成:响应于接收到的所述第一条件信号有效,将接收到的所述当前电压控制值输出为所述pwm控制信息,以及响应于接收到的所述第一条件信号无效,将接收到的所述延时电压控制值输出为所述pwm控制信息;第四比较器,其被配置成:响应于接收到的所述当前电压控制值小于或等于接收到的所述先前电压控制值,使输出的第二条件信号有效,以及响应于接收到的所述当前电压控制值大于接收到的所述先前电压控制值,使输出的所述第二条件信号无效;第九寄存器,其被配置成:响应于接收到的所述当前频率控制值,生成先前频率控制值;第五比较器,其被配置成:响应于接收到的所述当前频率控制值小于或等于接收到的所述先前频率控制值,使输出的第三条件信号有效,以及响应于接收到的所述当前频率控制值大于接收到的所述先前频率控制值,使输出的所述第三条件信号无效;或门电路,其被配置成:响应于接收到的所述第二条件信号和所述第三条件信号,生成第四条件信号;第四延时器,其被配置成:响应于接收到的所述当前频率控制值,生成延时频率控制值;第四选择器,其被配置成:响应于接收到的所述第四条件信号有效,将接收到的当前频率控制值输出为所述频率控制信息,以及响应于接收到的所述第四条件信号无效,将接收到的所述延时频率控制值输出为所述pwm控制信息。
22.根据一些示例性实施例,所述第三延时器和所述第四延时器的延时时间均是可配置的。
23.根据一些示例性实施例,所述电压控制信号生成电路包括:第五选择器,其被配置成:响应于接收到的模式信号,从接收到的所述pwm控制信息和预设的旁路模式pwm控制信息中选择一个输出,并且生成所述pwm信息;pwm信号生成器,其被配置成:响应于所述第五选择器的输出,生成所述pwm信号。
24.根据一些示例性实施例,所述时钟信号生成电路包括:第六选择器,其被配置成:响应于接收到的模式信号,从接收到的所述频率控制信息和预设的旁路模式频率控制信息中选择一个输出,以生成所述频率信息;频率信息取值电路,其被配置成:响应于所述第六选择器的输出,生成第一控制值和第二控制值;锁相环,其被配置成生成原始时钟信号;分频器,其被配置成:响应于接收到的所述第一控制值,对所述原始时钟信号进行分频,以生成分频时钟信号;门控电路,其被配置成:响应于接收到的所述第二控制值和所述分频时钟信号,生成门控信号;与门电路,其被配置成:响应于接收到的所述门控信号和所述分频时钟信号,生成所述时钟信号。
25.根据一些示例性实施例,所述时钟信号生成电路被配置成使所述时钟信号的频率为:其中,f
clock
是所述时钟信号的频率,f
vco
是所述原始时钟信号的频率,freq_n是所述第一控制值,freq_i是所述第二控制值,m为预设的门控调整参数,其中,freq_n、freq_i和m均为大于0的整数,且freq_i小于m。
26.根据本公开的第二个方面,提供了一种芯片,所述芯片包括至少一个根据本公开
的第一个方面的各示例性实施例所述的片上功耗控制电路。
27.根据一些示例性实施例,所述芯片是gpu芯片。
28.根据本公开的第三个方面,提供了一种功耗控制方法,其应用于根据本公开的第一个方面的各示例性实施例所述的片上功耗控制电路,该功耗控制方法包括:基于接收到的pwm控制信息,生成pwm信号和pwm信息;基于接收到的频率控制信息,生成时钟信号和频率信息;获取至少一个信号翻转比率;基于所述pwm信息、所述频率信息以及所述至少一个信号翻转比率,更新所述pwm控制信息和所述频率控制信息。
29.根据本公开提供的片上功耗控制电路全部以可配置的硬件电路的形式实现于芯片内部,去除了传统技术方案中的低速片外通信和模数转换环节,并且在片上实现了快速精细的闭环控制回路,使得控制系统状态的更新周期可以做到微秒量级甚至以下。而传统级的控制系统依据板上反馈回路和基于软件的控制,控制周期常常在毫秒量级。因此,根据本公开提供的片上功耗控制电路的实时性具有明显提升,由此使得功耗控制性能也具有明显提升,并且还节省了片外功耗检测芯片成本。
30.根据本公开提供的片上功耗控制电路的时钟信号生成电路,基于动态时钟分频和时钟脉冲门控相结合的方式,可以在几个时钟周期之内完成时钟频率的切换。根据本公开提供的时钟信号生成电路,与传统的锁相环调节相比,动态调节更为迅速,与分层的多个分频器的方法相比,时钟控制更为精细,并且结构上更为简洁成本更低。因此,根据本公开提供的时钟信号生成电路通过快速和精细的控制来完成电源和时钟曲线的平滑过渡,有助于更快、更精确地调整到最优功耗状态。
31.根据本公开提供的片上功耗控制电路的多个硬件环节均是可参数配置或者查找表可配置的,由此提供了线下参数训练和调整的接口。而且,各硬件环节都支持旁路模式,使得能够通过软件方式进行开发调试。
32.此外,根据本公开提供的片上功耗控制电路能够以功耗值为控制目标,从而支持最大性能模式下的功耗封顶,同时支持非最大性能模式下的被动和主动预测模式的动态功耗控制,并且还能够兼顾基于定时事件驱动的精细调节和异常事件的紧急控制。
附图说明
33.下面将结合附图对本公开的具体实施例进行详细的描述,以便能够对本公开的更多细节、特征和优点具有更加充分的认识和理解;在附图中:图1以框图的形式示意性地示出了相关技术中的一种用于gpu芯片的功耗控制系统的结构;图2a以框图的形式示意性地示出了根据本公开一些示例性实施例的片上功耗控制电路的结构;图2b以框图的形式示意性地示出了根据本公开另一些示例性实施例的片上功耗控制电路的结构;图3以框图的形式示意性地示出了图2a所示的片上功耗控制电路中的控制信息生成电路的结构;图4以框图的形式示意性地示出了图3所示的控制信息生成电路中的状态信息更新电路的结构;
图5示意性地示出了图4所示的电压值更新电路中的pwm信息延时电路的结构;图6以框图的形式示意性地示出了图3所示的控制信息生成电路中的功耗计算电路的结构;图7示意性地示出了图6所示的功耗计算电路中的总体信号翻转比率计算电路的结构;图8示意性地示出了图6所示的功耗计算电路中的当前功耗估计电路的结构;图9以框图的形式示意性地示出了图3所示的控制信息生成电路中的电压频率计算电路的结构;图10示意性地示出了图9所示的电压频率计算电路中的运算电路的结构;图11示意性地示出了图3所示的控制信息生成电路中的电压频率协调控制电路的结构;图12示意性地示出了图11所示的电压频率协调控制电路中的电压频率取值电路的结构;图13示意性地示出了图2a和2b所示的片上功耗控制电路中的电压控制信号生成电路的结构;图14示意性地示出了图2a和2b所示的片上功耗控制电路中的时钟信号生成电路的结构;图15示意性地示出了图14所示的时钟信号生成电路中的部分信号的时序;图16以框图的形式示意性地示出了根据本公开一些示例性实施例的芯片的结构;图17以流程图的形式示意性地示出了根据本公开一些示例性实施例一种功耗控制方法。
34.应理解的是,附图中显示的内容都仅仅是示意性的,因此其不必按照比例进行绘制。此外,在全部附图中,相同或相似的特征由相同或相似的附图标记指示。
具体实施方式
35.下面的描述提供了本公开的各示例性实施例的特定细节,以便本领域的技术人员能够充分理解和实施根据本公开的技术方案。
36.首先,对本公开的实施例中涉及的部分术语进行说明,以便于本领域技术人员理解:片上系统(system-on-a-chip,即soc):指的是在单个芯片上集成一个完整的系统。完整的soc一般包括芯片内核(例如,中央处理单元(cpu))、存储器、以及外围电路等。由于空前的高效集成性能,soc是替代集成电路的主要解决方案,并且已经成为当前微电子芯片发展的必然趋势。
37.信号翻转比率:在一定时长的时间段内,信号发生翻转的时长与该时间段的时长的比值。在芯片中,可以基于各个功能模块处的信号的信号翻转比率来估计各个功能模块的功耗。一般而言,信号翻转比率越高,则该功能模块的功耗越大,信号翻转比率越低,则该功能模块的功耗越小。作为示例,一个信号的信号翻转比率可以通过下述公式计算得到:
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
式1
上式中,act是信号翻转比率,t是用于确定信号翻转比率的时间段的总体时长,t是发生翻转的信号的一个翻转周期的时长,n是发生翻转的翻转周期的个数。
38.参见图1,其以框图的形式示意性地示出了相关技术中的一种用于gpu芯片的功耗控制系统的结构。如图1所示,功耗控制系统100包括gpu芯片110、电压检测芯片120、电源控制芯片130以及精密电阻140。gpu芯片110包括gpu内核111、时钟生成器112、微控制器单元(micro control unit,即mcu)113、i2c接口114、脉冲宽度调制(pulse width modulation,即pwm)生成器115。电源控制芯片130接收来自pwm生成器115的pwm信号,并且基于该pwm信号生成提供给gpu内核111的内核电压。时钟生成器112生成具有特定时钟频率的时钟信号,并且将该时钟信号提供给gpu内核111。电压检测芯片120可以对精密电阻140两端的电位进行测量,由此对电源控制芯片130提供的内核电压和对应的电流进行测量,以生成电压测量值和电流测量值。mcu 113运行功耗控制软件,监控gpu芯片110的工况。mcu 113可以通过i2c接口114与电压检测芯片120通信,以获取电压测量值和电流测量值。由此,mcu 113基于获取的电压测量值和电流测量值能够计算得到gpu芯片110的当前功耗。为了使当前功耗达到预设功耗,mcu 113可以将gpu芯片110的当前功耗与预设功耗进行比较,基于两者之间的差异,mcu 113可以计算出需要调整的内核电压和时钟频率,并且将相应的电压控制信号和时钟控制信号分别发送给pwm生成器115和时钟生成器112。pwm生成器115基于接收到的电压控制信号,重新生成pwm信号并将其发送给电源控制芯片130。由此,电源控制芯片130可以生成更新的内核电压,并将其提供给gpu内核111。此外,时钟生成器112可以基于接收到的时钟控制信号,重新生成具有更新的时钟频率的时钟信号,并将其提供给gpu内核111。
39.然而,功耗控制系统100是采用软件主控的控制系统,系统调节的实时性和精确度不高。功耗控制系统100的高延时可能来自于功耗检测、功耗比较、控制计算和控制时延等环节。例如,对于功耗检测环节而言,一方面片外的电压检测芯片120需要对精密电阻140处的电位进行测量和模数转换,另一方面,mcu 113需要通过慢速接口(例如,i2c接口114)与电压检测芯片120通信,以获得测量结果。这些方面都导致了功耗检测环节处的时延。此外,mcu 113上运行的功耗控制软件需要进行各种功耗相关的计算并进行相应的控制,而计算和控制本身是基于一定的时间间隔,并且存在一定的执行延时,因此,其时间间隔难以减小。由上述分析可知,功耗控制系统100可能存在下述问题:功耗控制不能快速地逼近功耗目标,使得实际系统上的功耗控制常常出现振荡,导致系统性能不够稳定。另外,电压检测芯片120可能会增加功耗控制系统100的成本,并且会导致功耗控制系统100的结构变得复杂。
40.参见图2a,其以框图的形式示意性地示出了根据本公开一些示例性实施例的片上功耗控制电路的结构。如图2a所示,片上功耗控制电路200包括控制信息生成电路210、电压控制信号生成电路220以及时钟信号生成电路230。电压控制信号生成电路220被配置成:响应于接收到的pwm控制信息pwm_ctrl,生成pwm信号pwm和pwm信息pwm_hw。pwm信号pwm被传递给片外相应的电源芯片,以生成提供给芯片内核的相应电压信号。pwm信息pwm_hw包括与所生成的pwm信号pwm相关的特征数据,因此被作为反馈信息提供给控制信息生成电路210。时钟信号生成电路230被配置成:响应于接收到的频率控制信息freq_ctrl,生成时钟信号core_clock和频率信息freq_hw。时钟信号core_clock具有特定的时钟频率,并且被传递给芯片内核。类似地,频率信息freq_hw包括与所生成的时钟信号core_clock相关的特征数
据,并且也作为反馈信息被提供给控制信息生成电路210。控制信息生成电路210被配置成:响应于接收到的pwm信息pwm_hw、频率信息freq_hw、温度测量值temp以及至少一个信号翻转比率act_1至act_i,更新pwm控制信息pwm_ctrl和频率控制信息freq_ctrl。
41.片上功耗控制电路200的各个组成部分,即控制信息生成电路210、电压控制信号生成电路220以及时钟信号生成电路230,均以硬件电路的形式实现在芯片内部,例如,可以实现在相应的gpu或cpu芯片的内部,用于对该芯片的功耗进行控制。然而,应理解的是,片上功耗控制电路200也可以被实现在任何其他合适的芯片上,本公开对此不作限制。如上所述,片上功耗控制电路200在电压控制信号和时钟信号的生成环节(即,电压控制信号生成电路220和时钟信号生成电路230)获取相应的反馈信息(即,pwm信息pwm_hw和频率信息freq_hw),并非将这些反馈信息提供给控制信息生成电路210。由此,片上功耗控制电路200能够实现片上闭环控制,从而消除了对片外的低速环节(例如,电压检测芯片以及模数转换环节等)的需求。因此,片上功耗控制电路200能够在芯片的系统时钟的量级上完成数据的更新以及各个控制信息的计算和更新,从而能够极大地减小采样和控制周期。
42.如上所述,根据本公开的功耗控制电路200还接收温度测量值temp,并将该信息随后用于生成pwm控制信息pwm_ctrl和频率控制信息freq_ctrl。一般而言,在芯片的工作过程中,相比于电压控制信号和时钟信号,芯片温度的变化非常缓慢,使得其不会对芯片的动态功耗带来明显影响,因此,片上功耗控制电路200中通过传感器测量温度值的方式不会对各个控制信息的采样和控制周期造成延迟。相反,由于对温度因素的考虑,功耗控制电路200能够实现对芯片的功耗的更加周全的考虑和更加准确的控制。
43.参见图2b,其以框图的形式示意性地示出了根据本公开另一些示例性实施例的片上功耗控制电路的结构。如图2b所示,片上功耗控制电路201与图2a所示的片上功耗控制电路200相比,其差异在于片上功耗控制电路201中的控制信息生成电路210'不接收温度测量值。如上文中已经提到的,相比于电压控制信号和时钟信号,芯片温度的变化非常缓慢,使得其不会对芯片的动态功耗带来明显影响,因此,在一些应用场景中,可以仅考虑电压控制信号和时钟信号的变化来对功耗进行控制,而不必考虑温度的影响。由此,片上功耗控制电路201的结构可以相对更加简单。片上功耗控制电路201中的其余电路结构和功能均与片上功耗控制电路200中对应的部分相同,在此不再赘述。
44.参见图3,其根据本公开的一些示例性实施例,以框图的形式示意性地示出了图2a所示的片上功耗控制电路中的控制信息生成电路的结构。如图3所示,控制信息生成电路210包括状态信息更新电路211、功耗计算电路212、电压频率计算电路213和电压频率协调控制电路214。状态信息更新电路211被配置成:响应于接收到的pwm信息pwm_hw、频率信息freq_hw和温度测量值temp,生成当前电压值curr_v、当前频率值curr_f和当前温度值curr_t。功耗计算电路212被配置成:响应于接收到的当前电压值curr_v、当前频率值curr_f、当前温度值curr_t、以及至少一个信号翻转比率act_1至act_i,计算当前功耗估计值pwr_hw。电压频率计算电路213被配置成:响应于接收到的当前功耗估计值pwr_hw,生成电压频率控制值vf_ctrl。电压频率协调控制电路214,其被配置成:响应于接收到的电压频率控制值vf_ctrl,更新pwm控制信息pwm_ctrl和频率控制信息freq_ctrl。随后,如上所述,电压控制信号生成电路220和时钟信号生成电路230分别基于更新的pwm控制信息pwm_ctrl生成pwm信号pwm和pwm信息pwm_hw以及基于更新的频率控制信息freq_ctrl生成时钟信号
core_clock和频率信息freq_hw。
45.应理解的是,图3所示的控制信息生成电路的结构仅仅是根据本公开的一些示例性实施例提供的示例性电路,并非是将本公开局限于此。下面将针对图3所示的各个电路分别进行说明。
46.参见图4,其根据本公开的一些示例性实施例,以框图的形式示意性地示出了图3所示的控制信息生成电路中的状态信息更新电路的结构。如图4所示,状态信息更新电路211包括电压值更新电路211a、频率值更新电路211b和温度值更新电路211c。电压值更新电路211a被配置成:响应于接收到的pwm信息pwm_hw,生成当前电压值curr_v。频率值更新电路211b被配置成:响应于接收到的频率信息freq_hw,生成当前频率值curr_f。温度值更新电路211c被配置成:响应于温度测量值temp,生成当前温度值curr_t。
47.继续参见图4,电压值更新电路211a还包括pwm信息延时电路211-1和电压查找表电路211-2。pwm信息延时电路211-1被配置成:响应于接收到的pwm信息pwm_hw,生成延时pwm信息pwm_de。电压查找表电路211-2被配置成:响应于接收到的延时pwm信息pwm_de,查表生成当前电压值curr_v。应理解的是,对接收到的pwm信息pwm_hw进行延时操作的原因在于,片外的电源芯片在接收到pwm信号后需要一定的时间来生成相应的电压信号并提供给芯片,所以,如果不对接收到的pwm信息pwm_hw进行延时,则可能导致电压值更新电路211a确定的当前电压值curr_v没有准确地反映当前被施加到芯片上的电压。因此,为了使电压值更新电路211a确定的当前电压值curr_v能够准确地反映当前施加到芯片上的电压,需要对接收到的pwm信息pwm_hw进行相应的延时操作。此外,根据本公开的一些示例性实施例,pwm信息延时电路211-1对接收到的pwm信息pwm_hw进行延时操作的延时时间,可以是基于接收到的pwm信息pwm_hw可动态调整的。此外,根据本公开的另一些示例性实施例,电压值更新电路可以对延时pwm信息进行相应的计算,以确定当前电压值,从而可以无需查找表电路。
48.参见图5,其根据本公开的一些示例性实施例,示意性地示出了图4所示的电压值更新电路中的pwm信息延时电路的结构。如图5所示,pwm信息延时电路211-1包括第一寄存器211-11、第一减法器211-12、第一乘法器211-13以及第一延时器211-14。第一寄存器211-11被配置成:响应于接收到的pwm信息pwm_hw,生成先前pwm信息pwm_old。第一减法器211-12被配置成:基于pwm信息pwm_hw和先前pwm信息pwm_old,生成pwm信息差值。第一乘法器211-13被配置成:将pwm信息差值乘以pwm信息差值调整系数d0,以生成延时时间值。第一延时器211-14被配置成:响应于接收到的pwm信息pwm_hw和延时时间值,将pwm信息pwm_hw延时,以生成延时pwm信息pwm_de。由此可见,图5所示的pwm信息延时电路211-1能够基于pwm信息pwm_hw与先前pwm信息pwm_old之间的差值,动态地调整第一延时器211-14的延时时间值,由此,使得电压值更新电路211a确定的当前电压值curr_v能够更加准确地反映施加在芯片上的当前电压。此外,pwm信息差值调整系数d0可以基于经验或试验数据来确定,并且能够通过软件预先进行设置。
49.应理解的是,在本公开的上下文中,对信号或信息进行延时是指在一个控制周期内将该信号或信息延迟一个或多个时钟脉冲,而诸如术语“先前”则是指相应的信息或数据在时间上,是位于当前控制周期之前的控制周期中的信息或数据。因此,在本公开中,“延时”和“先前”具有不同的含义并且对应不同的操作,例如,延时操作可利用延时器来实现,
而先前的信息通常利用寄存器来生成。还应理解的是,术语“先前”可以包括多种情形,具体而言,前一次信息是指位于当前控制周期之前且紧邻当前控制周期的一个控制周期中的信息,前两次信息是指位于当前控制周期之前且从当前控制周期往前的第二个控制周期。例如,如果t(n)表示当前控制周期,那么t(n-1)就表示前一次控制周期,t(n-2)表示前两次控制周期,以此类推。因此,图5所示的pwm信息延时电路211-1中,先前pwm信息pwm_old表示的是pwm信息pwm_hw在当前控制周期之前的控制周期中的pwm信息,其可以是前一次pwm信息,也可以是前两次pwm信息。在根据本公开的一些示例性实施例中,先前pwm信息pwm_old可以是指前一次pwm信息。此外,作为非限制示例,第一寄存器211-11可以是先进先出(first input first output,即fifo)寄存器,因此,其在每个控制周期中可以响应于接收到的pwm信息,输出先前pwm信息。
50.返回参见图4,频率值更新电路211b包括第二延时器211-3和频率查找表电路211-4。第二延时器211-3被配置成:响应于接收到的频率信息freq_hw,生成延时频率信息freq_de。频率查找表电路211-4被配置成:响应于接收到的延时频率信息freq_de,查表生成当前频率值curr_f。类似地,对接收到的频率信息freq_hw进行延时操作的原因在于,时钟信号电路230在接收到频率控制信息freq_ctrl后也需要一定的时间来生成相应的时钟信号并提供给芯片,所以,如果不对接收到的频率信息freq_hw进行延时,则可能导致频率值更新电路211b确定的当前频率值curr_f没有准确地反映当前被施加到芯片上的时钟信号的频率。因此,为了使频率值更新电路211b确定的当前频率值curr_f能够准确地反映当前被施加到芯片上的时钟信号的频率,需要对接收到的频率信息freq_hw进行相应的延时操作。在本公开的一些示例性实施例中,第二延时器211-3的延时时间是可配置的,其能够通过软件预先进行设置,以方便进行调试。根据本公开的另一些示例性实施例,频率值更新电路可以对延时频率信息进行相应的计算,以确定当前频率值,从而可以无需查找表电路。
51.温度值更新电路211c包括第二乘法器211-5和第一加法器211-6。第二乘法器211-5被配置成:将温度测量值temp乘以第一温度值调整系数t1,并输出运算结果。第一加法器211-6被配置成:将第二乘法器211-5的运算结果加上第二温度值调整系数t2,以生成当前温度值curr_t。应理解的是,第一温度值调整系数t1和第二温度值调整系数t2都可以基于经验或试验数据来确定,并且都能够通过软件预先进行设置,以方便进行调试。此外,根据本公开的另一些示例性实施例,温度值更新电路可以包括温度查找表电路,其被配置成:响应于接收到的温度测量值,查表生成当前温度值。
52.参见图6,其根据本公开的一些示例性实施例,以框图的形式示意性地示出了图3所示的控制信息生成电路中的功耗计算电路的结构。如图6所示,功耗计算电路212包括总体信号翻转比率计算电路212a和当前功耗估计电路212b。总体信号翻转比率计算电路212a被配置成:基于接收到的至少一个信号翻转比率act_1至act_i,生成总体信号翻转比率alpha。当前功耗估计电路212b被配置成:基于接收到的总体信号翻转比率alpha、当前电压值curr_v、当前频率值curr_f以及当前温度值curr_t,确定当前功耗估计值pwr_hw。信号翻转比率act_1至act_i是芯片上各功能模块处的关键信号的信号翻转比率,其反映了各功能模块的当前工况,因此可用于确定芯片的动态功耗。信号翻转比率act_1至act_i可以通过相应的采集电路从各功能模块定期采集,或者可以由各功能模块定期提供。在本公开的一些示例性实施例中,总体信号翻转比率计算电路212a可以对接收到的至少一个信号翻转比
率act_1至act_i进行线性拟合,以生成总体信号翻转比率alpha。
53.参见图7,其根据本公开的一些示例性实施例,示意性地示出了图6所示的总体信号翻转比率计算电路的结构。如图7所示,总体信号翻转比率计算电路212a包括:至少一个乘法器212-01至212-0i、第二加法器212-1以及第二寄存器212-2。至少一个乘法器212-01至212-0i与至少一个信号翻转比率act_1至act_i一一对应,并且其中每一个乘法器被配置成将对应的信号翻转比率乘以对应的信号翻转比率调整系数,并且输出运算结果。也就是说,至少一个乘法器212-01至212-0i用于将至少一个信号翻转比率act_1至act_i分别与至少一个信号翻转比率调整系数q1至qi中对应的一个相乘,并且输出运算结果。第二加法器212-1被配置成:对至少一个乘法器212-01至212-0i的运算结果求和,并且输出运算结果。第二寄存器212-2被配置成:保存接收到的第二加法器212-1的运算结果,并且将第二加法器212-1的运算结果作为总体信号翻转比率alpha输出。因此,图7所示的示例性的总体信号翻转比率计算电路212a对至少一个信号翻转比率act_1至act_i进行线性拟合以生成总体信号翻转比率alpha的过程可表示为下式:alpha=q1
×
act_1 q2
×
act_2 ... qi
×
act_i。此外,还应理解的是,至少一个信号翻转比率调整系数q1至qi可以基于经验或试验数据来确定,并且都能够通过软件预先进行设置,以方便进行调试。
54.参见图8,其根据本公开的一些示例性实施例,示意性地示出了图6所示的功耗计算电路中的当前功耗估计电路的结构。如图8所示,当前功耗估计电路212b包括:第三乘法器212-3、第三加法器212-4、第四乘法器212-5、第五乘法器212-7、第六乘法器212-10、第七乘法器212-8、第四加法器212-6、第八乘法器212-11以及第三寄存器212-12。第三乘法器212-3被配置成:将当前温度值curr_t乘以第一功耗计算系数p1,并且输出运算结果。第三加法器212-4被配置成:将第三乘法器212-3的运算结果加1,并且输出运算结果。第四乘法器212-5被配置成:将第三加法器212-4的运算结果乘以第二功耗计算系数p2,并且输出运算结果。第五乘法器212-7被配置成:将总体信号翻转比率alpha乘以当前电压值curr_v,并且输出运算结果。第六乘法器212-10被配置成:将当前频率值curr_f乘以第三功耗计算系数p3,并且输出运算结果。第七乘法器212-8被配置成:将第五乘法器212-7的运算结果乘以第六乘法器212-10的运算结果,并且输出运算结果。第四加法器212-6被配置成:对第四乘法器212-5的运算结果和第七乘法器212-8的运算结果求和,并且输出运算结果。第八乘法器212-11被配置成:将第四加法器212-6的运算结果乘以当前电压值curr_v,并且输出运算结果。第三寄存器212-12被配置成:保存接收到的第八乘法器212-11的运算结果,并且将第八乘法器212-11的运算结果作为当前功耗估计值pwr_hw输出。
55.由此可见,如图8所示的当前功耗估计电路212b按照下式计算当前功耗估计值pwr_hw:pwr_hw = curr_v
×
(p2
×
(1 p1
×
curr_t) (curr_f
×
curr_v
×
alpha
×
p3))
ꢀꢀꢀꢀ
式2上式中,curr_v
×
p2
×
(1 p1
×
curr_t)表示芯片的静态功耗,其反映了芯片在一定的电压和温度情况下的基本功耗情况;curr_v
×
curr_f
×
curr_v
×
alpha
×
p3)则表示芯片的动态功耗,其反映了由于各功能模块在执行相应功能时的功耗情况,例如在执行各种计算时的功耗情况。因此,根据本公开的片上功耗控制电路能够针对芯片的不同功耗情况,实施动态的功耗控制。
56.应理解的是,第一、第二、第三功耗计算系数p1、p2和p3可以基于经验或试验数据
来确定,并且都能够通过软件预先进行设置,以方便进行调试。此外,在本公开的一些示例性实施例中,第二寄存器212-2和第三寄存器212-12可以被配置成按照系统工作时钟(例如,提供给芯片的时钟信号)来进行更新,而不是按照控制周期来进行更新,由此,能够为复杂计算优化实现上的时序。
57.参见图9,其根据本公开的一些示例性实施例,以框图的形式示意性地示出了图3所示的控制信息生成电路中的电压频率计算电路的结构。如图9所示,电压频率计算电路213包括:第一选择器213a、运算电路213b、第一比较器213c、第二比较器213d、第二选择器213e以及电压频率控制值查找表电路213f。第一选择器213a被配置成:响应于接收到的模式信息mode,从接收到的当前功耗估计值pwr_hw和预设的旁路模式功耗估计值pwr_sw中选择一个输出为功耗输入值pwr_in。电压频率控制值查找表电路213f被配置成:响应于接收到的电压频率计算值y[n],查表生成电压频率控制值vf_ctrl。运算电路213b被配置成:响应于接收到的功耗输入值pwr_in和电压频率计算值y[n],生成第一运算结果y1和第二运算结果y2。第一比较器213c被配置成:响应于接收到的功耗输入值pwr_in大于或等于第一功耗阈值cap1,使输出的第一功耗超标信号sel-1有效,以及响应于接收到的功耗输入值pwr_in小于第一功耗阈值cap1,使输出的第一功耗超标信号sel-1无效。第二比较器213d被配置成:响应于接收到的功耗输入值pwr_in大于或等于第二功耗阈值cap2,使输出的第二功耗超标信号sel-2有效,以及响应于接收到的功耗输入值pwr_in小于第二功耗阈值cap2,使输出的第二功耗超标信号sel-2无效。第二选择器213e被配置成:响应于接收到的第一功耗超标信号sel-1有效,选择预设运算结果y0输出为电压频率计算值y[n],响应于仅接收到的第二功耗超标信号sel-2有效,选择接收到的第二运算结果y2输出为电压频率计算值y[n],以及响应于第一功耗超标信号sel-1和第二功耗超标信号sel-2都无效时,选择接收到的第一运算结果y1输出为电压频率计算值y[n]。
[0058]
工作模式信息mode指示了片上功耗控制电路200所处的工况,其可以通过软件预先配置。当工作模式信息mode指示片上功耗控制电路200处于例如调试工况中时,第一选择器213a选择旁路模式功耗估计值pwr_sw输出为功耗输入值pwr_in,以方便对片上功耗控制电路200进行调试。当工作模式信息mode指示片上功耗控制电路200处于正常工况时,第一选择器213a选择当前功耗估计值pwr_hw输出为功耗输入值pwr_in。应理解的是,工作模式信息mode可以是具有任何合适形式的信号,只要其能够具有两种不同的状态,以分别指示调试工况和正常工况,并且足以使第一选择器213a作出相应的选择便可,本公开对此不作限制。作为非限制性示例,工作模式信息mode可以以逻辑状态“1”或者高电位信号表示调试工况,以逻辑状态“0”或低电位信号表示正常工况,反之亦然。
[0059]
图9所示的电压频率计算电路213中,通过电压频率控制值查找表电路213f,响应于接收到的电压频率计算值y[n],查表生成电压频率控制值vf_ctrl。在本公开的另一些示例性实施例中,也可以通过对电压频率计算值y[n]进行相应的计算,从而计算生成电压频率控制值vf_ctrl。本公开对于从电压频率计算值y[n]获得对应的电压频率控制值vf_ctrl的方式不作限制。还应指出的是,在本公开的技术方案中,电压频率控制值vf_ctrl包括涉及电压控制值和频率控制值两者的控制信息。作为非限制性示例,电压频率控制值vf_ctrl中的高字节或高半字节的值可以是电压控制值,低字节或低半字节的值可以是频率控制值,反之亦然。
[0060]
第一功耗阈值cap1和第二功耗阈值cap2都是可由软件预先设置的功耗阈值,以便使得根据本公开的片上功耗控制电路200能够支持对功耗异常状况的处理。并且,第一功耗阈值cap1和第二功耗阈值cap2都可通过软件进行设置的,以方便进行调试。作为非限制性示例,第一功耗阈值cap1可以是紧急门限,第二功耗阈值cap2可以是次紧急门限。因此,如果当前功耗超过第一功耗阈值cap1,则表示芯片进入非常紧急的功率消耗状态,因此,必须采取特别干预,以使芯片功耗尽快降低;如果当前功耗超过第二功耗阈值cap2并且没有超过第一功耗阈值cap1,则可以只在常规控制的基础上再施加一定的干预,以降低芯片功耗。例如,在图9所示的电路中,如果当前功耗在第一功耗阈值cap1以上,则第二选择器213e直接将预设运算结果y0输出作为电压频率计算值y[n],如果当前功耗在第二功耗阈值cap2以上,但小于第一功耗阈值cap1,则第二选择器213e将第二运算结果y2输出作为电压频率计算值y[n],第二运算结果y2小于正常情况下计算得到的第一运算结果y1。应理解的是,第一比较器213c和第二比较器213d可以是任何合适的比较器,本公开对此不作限制。
[0061]
作为非限制性示例,第二选择器213e可以是具有双选择端的选择器,其响应于第一功耗超标信号sel-1和第二功耗超标信号sel-2的状况而进行相应的选择。应理解的是,在上述非限制性实施例中,第一功耗超标信号sel-1的优先级高于第二功耗超标信号sel-2。具体而言,只要第一功耗超标信号sel-1有效,则第二选择器213e就会对涉及紧急门限的功耗异常状况进行处理,例如将预设运算结果y0输出作为电压频率计算值y[n]。而对于第二功耗超标信号sel-2有效的情况,只有在第一功耗超标信号sel-1同时是无效时,第二选择器213e才会以涉及次紧急门限的功耗异常状况进行处理,例如将第二运算结果y2输出作为电压频率计算值y[n]。当第一功耗超标信号sel-1和第二功耗超标信号sel-2都无效时,第一运算结果y1被输出为电压频率计算值y[n]。此外,还应理解的是,在本公开的上下文中,信号的有效是指该信号处于逻辑状态“1”或者高电位,信号的无效是指该信号处于逻辑状态“0”或低电位。
[0062]
参见图10,其根据本公开的一些示例性实施例,示意性地示出了图9所示的电压频率计算电路中的运算电路的结构。如图10所示,运算电路213b包括:第二减法器213-1、第九乘法器213-4、第四寄存器213-2、第十乘法器213-5、第五寄存器213-3、第十一乘法器213-6、第六寄存器213-7、第十二乘法器213-9、第七寄存器213-8、第十三乘法器213-10、第五加法器213-11以及移位器213-12。第二减法器213-1被配置成:生成接收到的功耗输入值pwr_in与预设的目标功耗值pwr_obj之间的功耗差值e[n],并输出功耗差值e[n]。第九乘法器213-4被配置成:将接收到的功耗差值e[n]乘以第一计算系数b0,并且输出运算结果。第四寄存器213-2被配置成:响应于接收到的功耗差值e[n],生成前一次功耗差值e[n-1]。第十乘法器213-5被配置成:将接收到的前一次功耗差值e[n-1]乘以第二计算系数b1,并且输出运算结果。第五寄存器213-3被配置成:响应于接收到的前一次功耗差值e[n-1],生成前两次功耗差值e[n-2]。第十一乘法器213-6被配置成:将接收到的前两次功耗差值e[n-2]乘以第三计算系数b2,并且输出运算结果。第六寄存器213-7被配置成:响应于接收到的电压频率计算值y[n],生成前一次电压频率计算值y[n-1]。第十二乘法器213-9被配置成:将接收到的前一次电压频率计算值y[n-1]乘以第一反馈系数a1,并且输出运算结果。第七寄存器213-8被配置成:响应于接收到的前一次电压频率计算值y[n-1],生成前两次电压-频率计算值y[n-2]。第十三乘法器213-10被配置成:将接收到的前两次电压频率计算值y[n-2]乘
以第五计算系数a2,并且输出运算结果。第五加法器213-11被配置成:对第九乘法器213-4的运算结果、第十乘法器213-5的运算结果、第十一乘法器213-6的运算结果、第十二乘法器213-9的运算结果以及第十三乘法器213-10的运算结果求和,以生成第一运算结果y1。移位器213-12被配置成:响应于接收到的第一运算结果y1,将第一运算结果y1向右移位sft个数位,以生成第二运算结果y2。移位数位的数量sft是可软件配置的,以方便进行调试。
[0063]
应理解的是,移位器213-12的向右移位操作等同于对接收到的第一运算结果y1进行除法操作,即,y2 = y1/(2
sft
)。然而,在本公开的另一些示例性实施例中,也可以用乘法器来代替移位器,将接收到的第一运算结果y1乘以相应的系数,以获得第二运算结果y2。还应理解的是,运算电路213b在生成第一运算结果y1和第二运算结果y2的运算过程中除了利用第一选择器213a输出的功耗输入值pwr_in作为输入,还利用了第二选择器213e输出的电压频率计算值y[n]作为输入。因此,运算电路213b将电压频率计算值y[n]作为反馈信息用于运算过程中,从而使得在电压频率计算电路213中能够实现闭环控制,其能够生成更加准确的计算结果。还应理解的是,此处的n、n-1和n-2应理解为是当前控制周期、前一次控制周期以及前两次控制周期。此外,预设的目标功耗值pwr_obj为当前系统的功耗目标设置值,其可以通过软件预先设置。作为非限制性示例,软件可以周期性地基于芯片内核(例如,gpu芯片内核)的历史性能统计和接下来新负载预估信息,得出的新的性能需求的新功耗估计,然后,软件可以将新功耗估计与系统允许的最大功耗值进行比较,将两者中较小的一个作为预设的目标功耗值pwr_obj并将其预先设置在片上功耗控制电路中。
[0064]
因此,基于根据本公开的电压频率计算电路213,当芯片系统运行在最大性能和功耗之下时,可以将功耗目标计算并设定为刚好满足芯片系统性能需要的功耗目标,从而可以避免功耗的浪费,而当芯片系统运行需要的功耗超过允许的最大功耗值时,可以将实际功耗钳位于最大功耗值。
[0065]
参见图11,其根据本公开的一些示例性实施例,以框图的形式示意性地示出了图3所示的控制信息生成电路中的电压频率协调控制电路的结构。如图11所示,电压频率协调控制电路214包括:电压频率取值电路214a、第三延时器214-1、第三比较器214-2、第三选择器214-3、第八寄存器214-4、第四比较器214-5、或门电路214-6、第五比较器214-7、第九寄存器214-8、第四选择器214-9以及第四延时器214-10。电压频率取值电路214a被配置成:响应于接收到的电压频率控制值vf_ctrl,生成当前电压控制值curr_volt和当前频率控制值curr_freq。第三延时器214-1被配置成:响应于接收到的当前电压控制值curr_volt,生成延时电压控制值volt_de。第八寄存器214-4被配置成:响应于接收到的pwm控制信息pwm_ctrl,生成先前电压控制值息prev_volt。第三比较器214-2被配置成:响应于接收到的当前电压控制值curr_volt大于或等于接收到的先前电压控制值prev_volt,使输出的第一条件信号cond0有效,以及响应于接收到的当前电压控制值curr_volt小于接收到的先前电压控制值prev_volt,使输出的第一条件信号cond0无效。第三选择器214-3被配置成:响应于接收到的第一条件信号cond0有效,将接收到的当前电压控制值curr_volt输出为pwm控制信息pwm_ctrl,以及响应于接收到的第一条件信号cond0无效,将接收到的延时电压控制值volt_de输出为pwm控制信息pwm_ctrl。第四比较器214-5被配置成:响应于接收到的当前电压控制值curr_volt小于或等于接收到的先前电压控制值prev_volt,使输出的第二条件信号cond1有效,以及响应于接收到的当前电压控制值curr_volt大于接收到的先前电压控制
值prev_volt,使输出的第二条件信号cond1无效。第九寄存器214-8被配置成:响应于接收到的当前频率控制值curr_freq,生成先前频率控制值prev_freq。第五比较器214-7被配置成:响应于接收到的当前频率控制值curr_freq小于或等于接收到的先前频率控制值prev_freq,使输出的第三条件信号cond2有效,以及响应于接收到的当前频率控制值curr_freq大于接收到的先前频率控制值prev_freq,使输出的第三条件信号cond2无效。或门电路214-6被配置成:响应于接收到的第二条件信号cond1和第三条件信号cond2,生成第四条件信号cond3。第四延时器214-10被配置成:响应于接收到的当前频率控制值curr_freq,生成延时的频率控制值freq_de。第四选择器214-9被配置成:响应于接收到的第四条件信号cond3有效,将接收到的当前频率控制值curr_freq输出为频率控制信息freq_ctrl,以及响应于接收到的第四条件信号cond3无效,将接收到的延时频率控制值freq_de输出为pwm控制信息pwm_ctrl。
[0066]
应理解的是,第三延时器214-1和第四延时器214-10分别用于将当前电压控制值curr_volt和当前频率控制值curr_freq延时若干个时钟周期的时间。第三延时器214-1和第四延时器214-10的延时时间不必相同,但都是可软件设置的,以方便进行调试。
[0067]
通过上述电路,电压频率协调控制电路214能够将从电压频率控制值vf_ctrl中取得的分别与电压和频率相关的控制值按一定的时序进行协调,以便分别生成所需的pwm控制信息pwm_ctrl和频率控制信息freq_ctrl。
[0068]
参见图12,其根据本公开的一些示例性实施例,示意性地示出了图11所示的电压频率协调控制电路中的一种电压频率取值电路的结构。如图12所示,电压频率取值电路214a包括取值与门电路214-01和取值移位器214-02。取值与门电路214-01被配置成:将接收到的电压频率控制值vf_ctrl与取值系数lowbits进行逻辑“与”操作,以生成当前电压控制值curr_volt。取值移位器214-02被配置成:将接收到的电压频率控制值vf_ctrl进行移位操作,以生成当前频率控制器curr_freq。作为非限制性示例,假设电压频率控制值vf_ctrl的位数为8位,则取值与门电路214-01用于将电压频率控制值vf_ctrl低四位的值作为当前电压控制值curr_volt输出,因此取值系数lowbits的值可以为“0f”,并且取值移位器214-02将电压频率控制值vf_ctrl向右移动的位数highbits为4位,由此将电压频率控制值vf_ctrl高四位的值作为当前频率控制值curr_freq输出。应理解的是,图12显示的电压频率取值电路仅仅是示例,因此,将电压频率控制值vf_ctrl低半字节的值作为当前频率控制值curr_freq输出,并且将电压频率控制值vf_ctrl高半字节的值作为当前电压控制值curr_volt输出,这种设置也是可能的。
[0069]
参见图13,其根据本公开的一些示意性实施例,示意性地示出了图2a和2b所示的片上功耗控制电路中的电压控制信号生成电路的结构。如图13所示,电压控制信号生成电路220包括第五选择器220a和pwm信号生成器220b。第五选择器220a被配置成:响应于接收到的模式信号mode,从接收到的pwm控制信息pwm_ctrl和预设的旁路模式pwm控制信息pwm_sw中选择一个输出,并且生成pwm信息pwm_hw。pwm信号生成器220b被配置成:响应于第五选择器220a的输出,生成pwm信号pwm。pwm信号pwm随后可以提供给相应的电源芯片以生成合适的电压信号。如前所述,工作模式信息mode指示了片上功耗控制电路200所处的工况,其可以通过软件预先配置。应理解的是,工作模式信息mode可以是具有任何合适形式的信号,只要其能够具有两种不同的状态,以分别指示调试工况和正常工况,并且足以使第五选择
器220a作出相应的选择便可,本公开对此不作限制。此外,还应理解的是,pwm信号生成器220b可以是本领域已知的任何合适的pwm生成装置,本公开对此不作限制。
[0070]
参见图14,其根据本公开的一些示意性实施例,示意性地示出了图2a和2b所示的片上功耗控制电路中的时钟信号生成电路的结构。如图14所示,时钟信号生成电路230包括第六选择器230a、频率信息取值电路230b、锁相环230c、分频器230d、门控电路230e以及与门电路230f。第六选择器230a被配置成:响应于接收到的模式信号mode,从接收到的频率控制信息freq_ctrl和预设的旁路模式频率控制信息freq_sw中选择一个输出,以生成频率信息freq_hw。频率信息取值电路230b被配置成:响应于第六选择器230a的输出,生成第一控制值freq_n和第二控制值freq_i。锁相环230c被配置成生成原始时钟信号vco。分频器230d被配置成:响应于接收到的第一控制值freq_n,对原始时钟信号vco进行分频,以生成分频时钟信号clock_div。门控电路230e被配置成:响应于接收到的第二控制值freq_i和分频时钟信号clock_div,生成门控信号gate。与门电路230f被配置成:响应于接收到的门控信号gate和分频时钟信号clock_div,生成时钟信号core_clock。
[0071]
应理解的是,第一控制值freq_n和第二控制值freq_i分别用于对时钟信号core_clock的频率实现粗粒度控制和细粒度控制。具体地,第一控制值freq_n被提供给分频器230d,用于实现对锁相环230c生成的原始时钟信号vco的分频,第二控制值freq_i被提供给门控电路230e,用于实现对经过分频的时钟信号clock_div进行时钟脉冲的门控。因此,最终生成的时钟信号core_clock的频率如下:
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
式3上式中,f
clock
是最终生成的时钟信号core_clock的频率,f
vco
是原始时钟信号vco的频率,freq_n是第一控制值,freq_i是第二控制值,m为预设的调整参数。freq_n可以为整数,如4, 5, 6, 7, 8, 9, 10,
ꢀ…
等等;m也可以为整数,如64, 128, 256,
ꢀ…
等等,m代表可以调整的最小步长,值越大则步长越小;freq_i的取值可以为m-1, m-2, m-3,
ꢀ…
,m-m等等,m为整数。一般而言,由于考虑到锁相环230c输出的原始时钟信号vco的频率不能过大,因此,freq_n不能将值取得非常大,以直接达到精细的频率控制,而freq_i也不能取得非常小(即,m不能很大),否则会有可能造成低频下面时钟脉冲宽度相对较小,导致在低压下的时序问题。通过第一控制值freq_n和第二控制值freq_i的相互补充,可以实现细分的时钟频率的快速控制。此外,在实践中,参数m的选择通常是为了在相邻的粗粒度的分频数之间进行平稳的过渡,如下面的降频序列:f
vco
/freq_n, f
vco
/m*(m-1)/freq_n, f
vco
/m*(m-2)/freq_n, f
vco
/m*(m-3)/freq_n,
ꢀ…
, f
vco
/m*(m-m)/freq_n, f
vco
/(freq_n 1),f
vco
/m*(m-1)/(freq_n 1),f
vco
/m*(m-2)/(freq_n 1),
ꢀ…
等等。
[0072]
门控电路230e可以采用基于计数的状态机控制,均匀控制门控时钟的脉冲,以平滑瞬态电流。例如,f
vco
/m*(m-1)/freq_n为每m个时钟周期,门控掉1个时钟脉冲;f
vco
/m*(m-2)/freq_n为每m/2个时钟周期,门控掉1个时钟脉冲;f
vco
/m*(m-3)/freq_n为每m/3个时钟周期,门控掉1个时钟脉冲;f
vco
/m*(m-4)/freq_n为每m/4个时钟周期,门控掉1个时钟脉冲,余者可以此类推。
[0073]
参见图15,其根据本公开的一些示意性实施例,示意性地示出了门控信号gate、分频时钟信号clock_div以及时钟信号core_clock的时序。如图15所示,在该示例中,调整参
数m被设置为64,第二控制值freq_i被设置为63。因此,在门控信号gate的作用下,分频时钟信号clock_div的每64个时钟脉冲中会有一个时钟信号被门控掉,从而获得时钟信号core_clock中对应的63个时钟脉冲。以此方式,通过第二控制值freq_i,可以实现对时钟信号core_clock的频率的精细控制。
[0074]
参见图16,其以框图的形式示意性地示出了根据本公开一些示例性实施例的芯片的结构。如图16所示,芯片300可以包括如前面各示例性实施例中描述的片上功耗控制电路200。在本公开的另一些示例性实施例中,芯片300可以包括至少一个如前面各示例性实施例中描述的片上功耗控制电路200,由此,使得能够通过软件根据性能要求来分配各个子系统或功能模块的功耗目标指标。此外,应理解的是,芯片300可以是任何合适的芯片,例如gpu芯片,cpu芯片,等等,只要其能够应用根据本公开的功耗控制电路便可。本公开对芯片的类型不作限制。
[0075]
参见图17,其以流程图的形式示意性地示出了根据本公开一些示例性实施例一种功耗控制方法。应理解的是,图17所示的功耗控制方法500能够被应用于根据本公开的示例性实施例描述的片上功耗控制电路201。如图17所示,功耗控制方法500包括步骤510、520、530和540:在步骤510,基于接收到的pwm控制信息,生成pwm信号和pwm信息;在步骤520,基于接收到的频率控制信息,生成时钟信号和频率信息;在步骤530,获取至少一个信号翻转比率;在步骤540,基于所述pwm信息、所述频率信息以及所述至少一个信号翻转比率,更新pwm控制信息和频率控制信息。
[0076]
功耗控制方法500在pwm信号和时钟信号的生成步骤(即,步骤510和步骤520)获取相应的反馈信息(即,pwm信息和频率信息),由此,能够在芯片内部实现片上闭环控制,从而消除了对片外的低速环节(例如,电压检测芯片以及模数转换环节等)的需求。因此,功耗控制方法500能够在芯片的系统时钟的量级上完成数据的更新以及各个控制信息的计算和更新,从而极大地减小了采样和控制周期。还需要说明的是,功耗控制方法500还接收至少一个信号翻转比率,以重新生成pwm控制信息和频率控制信息。至少一个信号翻转比率是芯片的各功能模块处的信号的信号翻转比率,其反映了各功能模块在当前工况下的功耗情况,有利于确定芯片的动态功耗。由此,基于对温度因素和至少一个信号翻转比率的考虑,根据本公开的功耗控制方法500能够实现对芯片的功耗的更加准确的控制。
[0077]
此外,在本公开的另一些示例性实施例中,功耗控制方法500在步骤530中获取至少一个信号翻转比率以及温度测量值,并且在步骤540中,基于所述pwm信息、所述频率信息、所述温度测量值以及所述至少一个信号翻转比率,更新pwm控制信息和频率控制信息。在对温度因素加以考虑的情况下,功耗控制方法500能够实现对芯片的功耗的更加周全的考虑和更加准确的控制。根据该示例性实施例的功耗控制方法能够被应用于根据本公开的各示例性实施例描述的片上功耗控制电路200。
[0078]
本公开中使用的术语仅用于描述本公开中的实施例,并不意图限制本公开。如本文中使用的,单数形式“一个”、“一”和“该”旨在也包括复数形式,除非上下文清楚地另有指示。还要理解的是,术语“包括”和“包含”当在本公开中使用时,是指所述及的特征的存在,但不排除一个或多个其他特征的存在或者添加一个或多个其他特征。如本文中使用的,术
语“和/或”包括相关联的列出项目中的一个或多个的任意和全部组合。将理解的是,尽管术语“第一”、“第二”、“第三”等在本文中可以用来描述各种特征,但是这些特征不应当由这些术语限制。这些术语仅用来将一个特征与另一个特征相区分。
[0079]
除非另有定义,本公开中使用的所有术语(包括技术术语和科学术语)具有与本公开所属领域的普通技术人员所通常理解的相同含义。还要理解的是,诸如那些在通常使用的字典中定义的之类的术语应当被解释为具有与其在相关领域和/或本说明书上下文中的含义相一致的含义,并且将不在理想化或过于正式的意义上进行解释,除非本公开中明确地如此定义。
[0080]
在本说明书的描述中,术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点被包含于本公开的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
[0081]
应理解的是,本公开中描述的加法器、减法器、乘法器、比较器、移位器、选择器、寄存器、延时器等等,是能够以本领域已知的任何合适的技术来实现的硬件电路,例如但不限于,具有合适的组合逻辑门电路的专用集成电路、可编程门阵列、现场可编程门阵列等等。本公开对此不作限制。
[0082]
应理解的是,在流程图中表示或在此以其他方式描述的方法的各个步骤仅仅示例性的,并不意味着所图示或描述的方法的步骤必须按照所示或所述的步骤执行。相反,在流程图中表示或在此以其他方式描述的方法的各个步骤可以按照与本公开中不同的顺序被执行,或者可以同时被执行。此外,根据需要,在流程图中表示或在此以其他方式描述的方法还可以包括其他附加的步骤。
[0083]
尽管已经结合一些示例性实施例详细地描述了本公开,但是其不旨在被限制于在本文中所阐述的特定形式。相反,本公开的范围仅由所附权利要求来限定。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献