动态功率计量器电路及其操作方法

文档序号:10652498阅读:556来源:国知局
动态功率计量器电路及其操作方法
【专利摘要】本发明提供一种动态功率计量器电路,其接收一组时钟信号。时钟总和加法器对这些时钟信号进行求和,从而生成时钟总和值。然后,基于时钟总和值的至少部分从而生成动态功率计量器输出值。在一具体实施例中,动态功率计量器电路接收时钟信号并基于这些时钟信号生成时钟总和模型子值。动态功率计量器电路也可接收事件信号,并基于这些事件信号生成架构事件模型子值。之后,将相应的一对时钟总和模型子值和架构事件模型子值按照比率进行结合,从而生成动态功率计量器输出值。由于同时使用了事件信号数据和时钟信号总和数据,因此所生成的动态功率计量器输出值的数据流可更加密切地追踪被监控电路的实际动态功率。
【专利说明】
动态功率计量器电路及其操作方法
技术领域
[0001 ]本发明涉及一种动态功率计量器,尤其涉及一种动态功率计量器电路及其操作方法。
【背景技术】
[0002]运行时动态功率(run time dynamic power)测定对于功率限制及热量限制的应用而言已经变得至关重要。动态功率是指由于运行应用程序而引起的信号变换(signaltransit1n)所消耗的功率。可靠的动态功率估算可使电路在功率、热量和电源的限制范围之内运行的同时提供最高性能。被称为动态功率计量器(dynamic power meter,DPM)的电路,可随着动态功率消耗待确定的电路一起被提供。该动态功率计量器电路和其所监控的电路可以是同一大型的综合集成电路的部分。举例而言,若被监控的电路是处理器,则该处理器可能包括所谓的事件计数器(event counter)或事件寄存器(event register)。在动态功率计量器技术中,事件计数器也可指性能计数器(performance counter)或硬件性能计数器(hardware performance counter,HPC)或性能监控计数器(performancemonitoring counter,PMC)。本发明在这里使用技术术语-事件计数器和事件寄存器。
[0003]当处理器执行具体任务或以其他方式运行,致使具体“事件”发生时,则该事件的发生记录将被捕获至相应的事件计数器或事件寄存器。举例而言,执行指令的处理器可具有多个硬件事件计数器。例如,每当处理器执行一条具体类型的复杂指令(如,浮点乘法)时,则一个硬件事件计数器可执行一次增量操作。再如,每当另一类型事件(如,高速缓存缺失(cache miss))发生时,则另一事件计数器可执行一次增量操作。又如,每当总线事项(bus transact1n)发生时,则另一事件计数器可执行一次增量操作。处理器可具有许多这样的事件计数器或寄存器。被监控和记录的事件通常是指微架构事件(microarchitectural event)。这些微架构事件的发生和/或发生频率可用作处理器消耗的动态功率的间接度量。例如,若处理器处于闲置状态且并未执行指令或仅执行轻度处理负荷时,则可知该处理器的实际功率为低;反之,若该相同处理器正在进行繁重的计算工作、进行大量的浮点乘法、并经历很多的高速缓存缺失和总线事项以及其他的微架构事件时,则可知该处理器的实际功率为高。动态功率计量器电路随即读取或以其他方式访问事件计数器和寄存器,并基于事件计数器和寄存器的数值而对该处理器消耗的动态功率作出间接判定或估算,随后输出指明电路的动态功率消耗的数字值。然而,这些传统方法的精确度和时间分辨率往往不尽如人意,尤其是对于关键应用而言,例如,电源过流保护应用以及用以减弱突加负载电流增加所引发的电压下降的应用。

【发明内容】

[0004]本发明公开一种动态功率计量器电路及其操作方法,以此在被监控电路上实现更佳的功率和电流管理。在一实施例中,一种新颖的动态功率计量器从被监控电路接收一组时钟信号(clock signal)。时钟总和加法器(clock sum adder)电路对该组时钟信号进行求和,从而生成时钟总和值(clock sum value)。可对被监控电路上若干不同区域中每个区域生成这样的时钟总和值,而这些用以生成时钟总和值的时钟信号全部源自同一区域。此夕卜,可仅生成一个时钟总和值,而用以生成该单个时钟总和值的时钟信号源自相当均匀地分布在整个被监控电路的多个位置。随后,可基于单个或多个时钟总和值的至少部分从而生成动态功率计量器输出值(dynamic power meter output value)。
[0005]在一具体实施例中,动态功率计量器电路接收时钟信号并基于这些时钟信号生成一个或多个时钟总和值,进而基于所生成的单个或多个时钟总和值生成时钟总和模型子值(clock sum model sub-value)。动态功率计量器电路也可接收事件信号(event signal),并基于这些事件信号生成架构事件模型子值(architectural event model sub-value) ο随后,可将相应的每对时钟总和模型子值和架构事件模型子值按照比率进行结合,从而生成动态功率计量器输出值数据流。由于在动态功率计量器输出值的生成中同时使用了事件信号数据和时钟信号总和数据,因此所生成的动态功率计量器输出值数据流可更加密切地追踪被监控电路的实际动态功率。
[0006]以下详细说明中将对进一步的细节、实施例和方法进行更加详尽的描述。以上
【发明内容】
并非限制本发明。本发明通过所附权利要求进行限定。
【附图说明】
[0007]本发明的附图用以揭示本发明的实施例,附图中相同的数字代表相同的元件。
[0008]图1为本发明一新颖方面所揭示的包括动态功率计量器电路的系统示意图;
[0009]图2为图1所示集成电路中存在的两种类型信号的示意图,该两种类型信号亦即时钟信号和事件信号;
[0010]图3为被监控电路中时钟信号和事件信号可能的存在位置的电路图;
[0011 ]图4为多种类型的时钟信号以及一种事件信号的波形图;
[0012]图5为揭示时钟总和加法器电路何时对输入的未选通(ungated)时钟信号的值进行采样的示意图;
[0013]图6为揭示时钟总和加法器电路何时对输入的选通(gated)时钟信号的值进行采样的不意图;
[0014]图7为图1所示的集成电路2中的动态功率计量器电路4的电路图;
[0015]图8为揭示图7所示的动态功率计量器电路4的控制寄存器48中存储的值的示意图;
[0016]图9为图7所示的动态功率计量器电路4的其中一个时钟总和加法器电路的具体电路图;
[0017]图10为图9所不的移位和求和多级加法器(shift and add mult1-staged adder)的具体电路图;
[0018]图11为图7所示的动态功率计量器电路4的数字求和电路(digital summercircuit)55的电路图;
[0019]图12为图7所示的动态功率计量器电路4的平均电路(averagingcircuit)57的电路图;
[0020]图13为揭示图12所示的平均电路57的操作的波形图;[OO21 ]图14A为图14所揭示的较大流程图的第一部分;
[0022]图14B为图14所揭示的较大流程图的第二部分;图14为本发明所揭示的一种包括图7所示的动态功率计量器电路4的方法200的流程图;
[0023]图15为一组波形图,其揭示了对比于仅使用事件信号数据的动态功率计量器电路,图7所示的将时钟总和数据和事件信号数据按照比率进行结合的动态功率计量器电路4在追踪实际动态功率方面如何具有更加优越的性能。
【具体实施方式】
[0024]以下将参照背景实例和本发明的一些实施例进行详细描述,本发明的实施例将结合附图进行说明。
[0025]图1为本发明所揭示的新颖的包括动态功率计量器电路的系统I的示意图。系统I包括集成电路2和电源电路3。集成电路2包括动态功率计量器电路4、处理器5、锁相环(phase-locked loop,PLL)电路6、功率管理电路7和其他电路。动态功率计量器电路4用以监控集成电路的剩余部分(包括处理器5),并对剩余部分的动态功率消耗进行估算,从而生成动态功率计量器输出值。由于动态功率计量器电路4在工作,其输出动态功率计量器输出值的数据流。每个动态功率计量器输出值均为多比特数字值,用于指明集成电路的剩余部分在对应的大致时间内的功耗水平。集成电路2包括九个区域,分别标示为区域#1至区域#
9。可对动态功率计量器电路4进行控制使其分别监控这些区域中每个区域的动态功率消耗,或使其对这些区域中的所有或者选中的子集的动态功率消耗进行监控。
[0026]在系统I的第一实施例中,可至少部分地基于动态功率计量器输出值生成中断信号8。例如,若判定动态功率计量器输出值数据流的其中一个动态功率计量器输出值超出预定阈值,则主张该中断信号8,否则,不主张该中断信号。对中断信号的主张将致使处理器被中断。在系统I的第二实施例中,处理器基带时钟信号CLK 9对处理器5进行时钟驱动。处理器基带时钟信号由锁相环6生成并提供至处理器5。可对锁相环6进行控制,从而通过锁相环控制信号10来改变处理器基带时钟信号CLK的频率。锁相环控制信号10至少部分地基于动态功率计量器输出值而生成。例如,若动态功率计量器输出值数据流的其中一个动态功率计量器输出值超出预定阈值,则提供至锁相环的锁相环控制信号10可致使该锁相环降低处理器基带时钟信号CLK的频率。在系统I的第三实施例中,集成电路2由电源电路3进行供电。电源电路3通过供电导体12而输出电源电压VSUP 11至集成电路2。导体13为接地导体。集成电路2的功率管理电路7接收动态功率计量器输出值的数据流。功率管理电路7至少部分地基于动态功率计量器输出值数据流生成电源控制信号14。例如,若动态功率计量器输出值数据流的其中一个动态功率计量器输出值超出预定阈值,则通过导体15提供至电源电路3的电源控制信号14可致使电源电路3改变该电源电路的电流限制的设置。电流限制的设置仅是可被改变的电源设置的一个实例。其他实例可包括供给至集成电路的电压、过压保护设置或过流保护设置。基于动态功率计量器输出值数据可控制电源电路3的开启或关闭。功率管理电路7也可在不控制任何外部电源的情况下而控制集成电路2进入断电睡眠模式,或可使该集成电路的某些部分断电。因此,动态功率计量器电路4可提供信息至动态功率消耗正在被监控的电路、和/或至控制如何向被监控电路进行供电的功率管理电路、和/或至控制如何对被监控电路进行时钟驱动的电路。
[0027]图2为集成电路2中存在的两种类型信号的示意图。其中一种类型的信号为所谓的“时钟信号”。另外一种类型的信号为所谓的“事件信号”。处理器基带时钟CLK 9是时钟信号的一个实例。处理器基带时钟CLK 9如位于图2最上端的波形所示。该信号的最小变化间隔为TCLK除以2,其中,TCLK是基带时钟信号的周期。在当前实施例中,TCLK为一纳秒,基带时钟CLK的频率为I千兆赫(GHz)。此即为对处理器5进行时钟驱动的时钟信号。时钟信号的另一实例为基带时钟信号的选通版本。选通时钟信号16如图2中部波形所示。从基带时钟信号9衍生的选通时钟信号16与基带时钟信号9 一样,其最小变化间隔同样也为TCLK除以2。通常,针对一个时间段的周期,选通时钟信号与基带时钟信号一样在相同的频率下按照相同的方式切换,随后该选通时钟信号的切换即被阻断(gated off),这使得该选通时钟信号在另一数量的时钟周期内根本不进行切换。在图2所示实施例中,选通时钟信号16在时间段17和19进行切换,并且不被阻断,而该选通时钟信号在时间段18和20则被阻断。图2中未显示的另一类型的时钟信号是选通时钟信号的缓冲版本。选通时钟信号的缓冲版本与其衍生所依据的选通时钟信号相比,除了缓冲版的选通时钟信号被延迟了一定量以外,两者具有相同的波形,这是由于缓冲版的选通时钟信号是由具有传播延迟的缓冲电路基于选通时钟信号而生成。从给定时间内的时钟信号的值可被处理器上执行的软件读取的意义上讲,这些时钟信号均不是软件可获取(software accessible)信号。这些时钟信号均不是多比特的数字信号,而是单比特的信号。通常,这些信号中的每一个可驱动一个或多个时序逻辑元件(sequential logic element)(例如,数字逻辑R](digital logic latch)或数字逻辑触发器(digital logic flip-flop))的一个或多个时钟端输入(clock terminal input)。
[0028]图2所揭示的另一类型信号的实例,亦即所谓的“事件信号”21如图2中最底端的波形所示。事件信号的一个实例为由事件计数器或事件寄存器输出的多比特的数字值。虽然事件信号理论上可响应基带时钟信号的第一次上升沿从而发生一次变化,并可响应基带时钟信号的下一次上升沿从而再次发生变化,但是在多个周期内,事件信号并非以这种快速的速率而重复变化。相反地,通常,事件信号是以更低的速率发生变化。事件信号的最小变化间隔等于或大于TCLK。例如,若事件信号是对处理器完成具体类型指令的执行次数进行计数的事件计数器的输出,则该事件信号将以相比处理器基带信号更低的速率而执行增量操作。与单比特的时钟信号相反,事件信号可以是比特的数字信号。与时钟信号的值是非软件可获取的相反,事件信号的多比特的数字值通常是软件可获取的,这是因为事件信号的值可以被软件读取。在图2所示实例中,事件信号的多比特的数字值在第一数量的基带时钟周期内是“0010”,之后在第二数量的基带时钟信号内是“0011”,而后在第三数量的基带时钟信号内是“0101”。
[0029]图3为存在有时钟信号和事件信号的电路的示意图。图4为图3所示电路中存在的信号的波形图。第一级选通时钟信号Ll-CLK[0..nl]由门22基于基带时钟信号CLK而生成。选通信号ENl[0..nl]对此选通(gating)进行控制。这些第一级(LI)选通时钟信号中的每一个直接对多个触发器(flip-flop)进行时钟驱动,触发器符号23代表这些触发器。选通时钟信号L2-CLK[0..n2]由门24基于第一级选通时钟信号Ll-CLK[0..nl]而依次生成。选通信号EN2[0..n2]对此选通进行控制。所生成的第二级选通时钟信号中的每一个直接对多个触发器进行时钟驱动,触发器符号25代表这些触发器。类似地,第三级选通时钟信号L3-CLK[0..n3]由门26基于第二级选通时钟信号L2-CLK[0..n2]而依次生成。选通信号EN3[0..n3]对此选通进行控制。所生成的第三级选通时钟信号中的每一个直接对多个触发器进行时钟驱动,触发器符号27-29代表这些触发器。如以下进一步细节中所揭示的,在图3所揭示的各种类型时钟信号中所选定的信号被作为输入提供至动态功率计量器电路的时钟求和电路30。应当注意,触发器27-29所输出信号的最小变化间隔为TCLK,而时钟信号的最小变化间隔为TCLK除以2。
[0030]本发明一个新颖之处在于,动态功率计量器电路包括输出时钟总和值的时钟总和加法器电路,其中,时钟总和值是对在基带时钟信号的一个时钟周期的预定部分具有预定数字逻辑值(数字逻辑“高”)的输入时钟信号的数量进行计数的多比特的数字值。例如,若时钟总和加法器电路接收到72个输入时钟信号,且这些信号中有25个信号在基带时钟信号的第一时钟周期的特定时间具有数字“逻辑高”值,则该时钟总和加法器电路可输出时钟总和值为25。又如,若该72个输入时钟信号中仅有12个信号在基带时钟信号的第二时钟周期的特定时间具有数字“逻辑高”值,则该时钟总和加法器电路可输出时钟总和值为12。
[0031]图5为时钟总和加法器电路何时对输入时钟信号31的值进行采样的示意图。在该实施例中,时钟信号为有效时钟信号(active clock signal),且在所揭示的时间段内未被阻断。因此,时钟信号在时钟周期内进行切换。时钟总和加法器电路在箭头32所表示的位于时钟信号周期内的时间点上对时钟信号的值进行采样或检测。假定时钟信号正在切换,则该采样时间点大致位于时钟信号值为高的前一半周期的中间。
[0032]图6为时钟总和加法器电路何时对输入的选通时钟信号33的值进行采样的示意图。在该实施例中,时钟信号在所揭示的时间段内被阻断(亦即,非有效)。因此,该时钟信号在所揭示的时钟周期内并不进行切换,而是保持在数字逻辑低值。时钟总和加法器电路在箭头34所表示的位于时钟信号周期内的时间点上对时钟信号的值进行采样或检测。假定时钟信号正在切换,则该采样时间点大致位于时钟的第一半段的中间,其中,所述时钟的第一半段的时钟信号值为高。虚线35表示假定选通时钟信号在所揭示的时钟周期内未被阻断的情况下会如何进行切换的情形。
[0033]图7为图1所示的动态功率计量器电路4的具体电路图。动态功率计量器电路4接收多个事件信号。图中揭示了两个实例。事件信号36由事件计数器37输出。事件信号38由事件寄存器39输出。除开事件信号外,动态功率计量器电路4还接收许多单比特的时钟信号40。这些时钟信号即为以上结合图2、图3和图4所描述的时钟信号、缓冲时钟信号、选通时钟信号和缓冲版选通时钟信号。箭头41代表这些时钟信号的其中一个。这些时钟信号中的第一组时钟信号通过第一时钟总和加法器电路42而被接收至动态功率计量器电路4。在所揭示的实施例中具有九组这样的时钟信号,每组时钟信号由九个时钟总和加法器电路中对应的一个进行接收。图7揭示了第九时钟总和加法器电路43。此外,动态功率计量器电路4通过输入端和导体44而接收基带时钟信号9。对动态功率计量器电路的操作进行控制的多个控制值通过数据导体45、地址导体46和写入选通导体(write strobe conductor)47而被加载至动态功率计量器电路4。这些具有多比特数字值的控制值被写入并存储至一组控制寄存器48中。从控制寄存器48输出的控制值49被提供至动态功率计量器电路4的剩余部分。这些控制值对动态功率计量器电路的各个子电路进行控制和配置。
[0034]每个时钟总和加法器电路(例如,时钟总和加法器电路42)输出多比特的数字值,该多比特的数字值指明时钟总和加法器电路所接收的并在基带时钟信号的特定时间段内具有数字逻辑高值的输入时钟信号的数量。时钟总和加法器电路42所输出的时钟总和值以符号50标示。在本实例中,此值50为1比特的数字值。
[0035]时钟总和加法器电路所输出的每个1比特的时钟总和值将与多个权重值中的对应一个权重值相乘,从而生成对应的加权时钟总和值。当前的实例中具有九个时钟总和加法器电路,因此便有九个权重值。在此提供乘法器用以执行每一个这样的加权乘法操作。在图7所示实施例中,第一加权乘法器51将第一时钟总和加法器42输出的第一个10比特的时钟总和值50与第一个16比特的权重值WCSl相乘,从而生成第一个10比特的加权时钟总和值52。类似地,第九加权乘法器53将时钟总和加法器43输出的10比特的时钟总和值与第九个16比特的权重值WCS9相乘,从而生成第九个10比特的加权时钟总和值54。所生成的九个10比特的加权时钟总和值被提供至数字求和电路55。
[0036]数字求和电路55通过控制值TCS进行控制,以此对上述九个10比特的加权时钟总和值进行求和。例如,当控制值TCS具有某个特定值时,则数字求和器55输出10比特的总和值56,该总和值56为全部的九个输入的1比特的加权时钟总和值的直接总和。该1比特的总和值56被提供至累加和分割或运行平均电路(accumulate and divide or runningaverage circuit)57。在当前实施例中,电路57对三十二个连续总和值进行求和,并将生成的总和除以三十二,从而生成最后的三十二个总和值的平均值。电路57每隔三十二个基带时钟周期便输出一个这样的平均值。这些由电路57输出的平均值被称为“时钟总和模型子值”。标号58代表一个这样的“时钟总和模型子值”。
[0037]每个事件信号与对应的权重值相乘,从而生成对应的加权事件信号。例如,乘法器59将事件信号36与16比特的权重值WESl相乘,从而生成加权事件信号60。每个事件信号具有与之对应的乘法器和与之对应的权重值,从而生成对应的加权事件信号。这些加权事件信号被提供至数字求和电路61。数字求和电路61通过控制值TES进行控制,以此对这些加权事件信号值进行求和。例如,当控制值TES具有某个特定值时,则数字求和器61输出总和值62,该总和值62为全部的加权事件信号值的直接总和。该总和值62被提供至累加和分割或运行平均电路63。在当前实施例中,电路63对三十二个连续的“加权事件信号总和值”进行求和,并将所生成的累加总和除以三十二,从而生成上述三十二个“加权事件信号总和值”的平均值。电路63每隔三十二个基带时钟周期便输出一个这样的平均值。这些平均值被称为“架构事件模型子值”。标号64代表一个这样的“架构事件模型子值”。
[0038]随后比率结合器电路65将相应的每对时钟总和模型子值和架构事件模型子值按照比率进行结合,从而生成比率结合值。在图7所示实施例中,“时钟总和模型子值”58与“架构事件模型子值” 64按照比率进行结合,从而生成比率结合值66。随后,将偏移值添加至比率结合值66,从而生成动态功率计量器输出值67。
[0039 ] 更具体地,控制寄存器48中存储有比率值K ο乘法器68以比率值K对“时钟总和模型子值”58进行加权计算,从而生成加权“时钟总和模型子值”。类似地,乘法器69以值α-Κ)对“架构事件模型子值”64进行加权计算,从而生成加权“架构事件模型子值”。随后,求和电路70对该加权“时钟总和模型子值”和加权“架构事件模型子值”进行求和,从而生成比率总和值(比率结合值)66。之后,第二求和电路71将偏移值添加至比率总和值(比率结合值)66,其结果即是寄存于输出寄存器72中的DPM(动态功率计量器)输出值67。
[0040]图8为揭示图7所示的控制寄存器48中存储的值的示意图。3比特的值TCS决定将要使用的对时钟总和进行筛选的类型。基于TCS的一个设置,数字求和器55输出全部九个输入加权时钟总和值的直接总和。然而,基于TCS的另一设置,则将在九个加权时钟总和值中所选定的加权时钟总和值作为总和的一部分,因此,实际上其他的加权时钟总和值将被忽略,从而不包括至“时钟总和模型子值”中。此外,在一实施例中,分别提供至每个对应的时钟总和加法器电路的时钟信号均源自集成电路的多个区域的其中一个区域。因此,集成电路的九个区域中的每个区域均具有自己的加权时钟总和值。通过控制TCS设置,便可对九个区域中特定区域的动态功率进行监控和估算,并与其他区域独立并分隔开来。类似地,TES控制值同样具有不同的设置。通过改变TES控制值,不同的事件信号可以从其他的事件信号中分离并独立出来,进而包括至架构事件模型子值中。通过对源自集成电路特定区域的时钟信号和事件信号进行监控,并忽略源自其他区域的时钟信号和事件信号,便可生成该集成电路的选定区域的动态功率计量器输出值。
[0041]在一具体实施例中,偏移值为定点16比特的值,其可为正数或者负数。另一方面,比率值K为16比特的定点值,且不能为负。本实施例中仅具有一个时钟总和加法器电路,且该时钟总和加法器电路42接收源自集成电路的多个位置的时钟信号,这些位置相当均匀地分布在集成电路的几乎整个区域。该单独的时钟总和加法器电路42接收七十二个这样的时钟信号。因此,仅具有一个权重值WCSl,并且仅生成一个加权时钟总和值。在此具体实施例中,并没有单独的乘法器68和69用来执行乘法操作以进行比率求和,实际上,这里已对权重值WCSl和事件信号的权重值进行缩放,使得电路57和63按照加权的情况输出“时钟总和模型子值”58和“架构事件模型子值”64,仿佛他们已经分别与K和(1-K)相乘。因此,并不需要单独的乘法器68和69。在一些实施例中,总和值和权重值为普通的定点数字值,而在其他实施例中,总和值和权重值包括带符号的整数部分和小数部分。控制值无需存储在图7所示的控制寄存器中,实际上,这些值可被硬连接(hardwired),或可存储在反恪丝(ant1-fuse)中,或可存储在其他的一次性可编程(one-time progra_able,0ΤΡ)元件中。
[0042]图9为图7所示的时钟总和加法器电路42的具体电路图。图9所示的移位和求和多级加法器电路73的进一步细节将在图10中揭示。在图9所示电路图的左边,示出七十二个输入的单比特的时钟信号。每组的三个输入时钟信号由二十四个加法器电路中对应的一个加法器电路进行接收,这些加法器电路分别标示为#1_1到#1_24。图中示出了二十四个加法器电路的其中六个,亦即74-79。另外还有第二列的十六个加法器电路,分别标示为#2_1到#2_16,图中示出了其中的六个,亦即,80-85。还有第三列的九个加法器电路,分别标示为#3_1至lj#3_9,图中示出了其中的六个,亦即,86-90。这些加法器电路均彼此相同。其中一个加法器电路接收三个时钟信号,并输出2比特的数字值。该2比特的数字值是该三个输入时钟信号中数字值在一个时钟周期内为数字逻辑高的输入时钟信号的数量。Xl输出比特是最低有效位。X2输出比特是最高有效位。移位和求和多级加法器7 3的1比特的输出被寄存至1比特的寄存器91中。
[0043]在图10中,#1_X1加法器92为输出6比特的数字值的求和器,该6比特的数字值用来指明具有数字“逻辑高”值的四个输入信号的数量。类似地,#2_X2加法器93为输出6比特的数字值的求和器,该6比特的数字值指明具有数字“逻辑高”值的八个输入信号的数量。类似地,#3_X4加法器94为输出6比特的数字值的求和器,该6比特的数字值指明具有数字“逻辑高”值的九个输入信号的数量。类似地,#4_X8加法器95为输出6比特的数字值的求和器,该6比特的数字值指明具有数字“逻辑高”值的两个输入信号的数量。这些6比特的总和值被寄存在一组6比特的寄存器96-99中。移位和加法电路100接收这些寄存的6比特的值,并将X8值向左平移三位,将X4值向左平移两位,并将X2值向左平移一位。不对Xl值进行平移。然后对所生成的值进行求和,从而生成10比特的总和值。
[0044]图11为图7所示的数字求和电路55的具体电路图。九个1比特的加权时钟总和值中的每一个被九组的十个2:1与门中对应的一组选择性阻断并阻挡。例如,十个2:1与门101可选择性地阻挡10比特的加权时钟总和值52到达加法器101。存在九组这样的2:1与门和三个加法器102-104。这些十个2:1与门中每一个的其中一条输入引线均连接在一起,并同时连接至解码器110对应的输出引线。为了保持数字求和电路55完全同步,加法器102-104的第一级的总和输出值被寄存在寄存器105-107中,随后,加法器108对这三个总和输出值进行求和。所生成的由加法器108输出的1比特的总和随后被寄存至1比特的寄存器109中。解码器110对输入的TCS控制值进行解码,如此,各个加权时钟总和值将被上述多组2:1与门选择性阻挡,而这取决于TCS控制值为何值。例如,若加权时钟总和值52要被阻挡且不被包括至数字求和电路55所输出的总和值中,则解码器110将输出数字逻辑“O”值至输出引线和导体111。源于导体111上的数字“O”,与门101将输出逻辑“I”值,而无论输入的10比特的加权时钟总和值52为何值。否则,若不对加权时钟总和值52进行阻挡,而其要被包括至数字求和电路55所输出的总和值中,则解码器110将输出数字逻辑“I”值至输出引线和导体111。
[0045]图12为图7所示的平均电路57实例的具体电路图。图13为图12所示的平均电路57的操作的波形图。平均电路57包括翻转计数器112、一组十个2:1与门113、10比特的求和器114、10比特的寄存器115、10比特的寄存器116和移位电路117。计数器112从“O”计数至“31”,然后返回至“O”,再接着向上计数至“31”,以此类推。当该计数器输出计数“31”时,则认定导体118上的“31”信号为数字“逻辑高”。因此,在计数周期“31”的末尾,与门113便阻止返回值119到达求和器114的A输入。因此,在计数周期“O”的初始,输入值120是提供至求和器114的唯一值。于是,该经过求和器的第一值在“O”计数周期的初始被记录至寄存器115中。在下一计数周期“I”的初始,寄存在寄存器115中的第一计数被提供至求和器的A输入,因为在“O”计数周期内,不再认定“31”信号。在下一周期“I”的开始,第二输入值被提供至求和器的B输入。因此,在下一计数周期“I”的初始,第一和第二计数的总和被记录至寄存器115中。随着计数器112的递增,每个后续的输入值被累加至总和中,并被记录至寄存器115。一旦已经累加了三十二个输入值,则所累加的结果将出现在寄存器115中。在“31”计数周期的末尾,由于寄存器116的使能输入端认定了 “31”信号,因此,寄存器116被使能。在“O”计数周期的初始,则对寄存器116进行时钟驱动,并从寄存器115处加载所累加的值。移位器117所进行的五位的移位操作,实际上使得寄存器116所输出的累加值随后被三十二除。以这种方式,每个连续的三十二个输入值进行求和,将最终的总和除以三十二,并将所得到的平均值作为“时钟总和模型子值”122输出至引线121。而在每个“O”计数周期的初始将在引线121上出现一个新值。因此,平均电路57即输出“时钟总和模型子值”的数据流。
[0046]图14A和图14B共同组成图14所揭示的流程图。该流程图揭示一种对图1所示的动态功率计量器电路4进行设计和操作的方法200。最初,对电路中要被监控的时钟信号进行分析,并对驱动超过四十个负载(例如,触发器时钟输入端)的时钟信号进行选取(步骤201)。在九个区域#1至区域#9中的每个区域,对这些信号中具有最重负荷的七十二个信号进行选取。若经过该程序,一个区域已经选取少于七十二个时钟信号,则减少对该区域进行选取所需要的负载数量(步骤202),直到有72个合格的时钟信号为止。第一区域中所选定的时钟信号被分至一组并作为输入提供至图7所示的第一时钟总和加法器42。第二区域中所选定的时钟信号被分至一组并作为输入提供至图7所示的第二时钟总和加法器,以此类推。九组时钟信号中每组的时钟信号被作为输入提供至位于图7左上方的九个时钟加法器的其中对应一个。步骤210、202和203在对动态功率计量器电路和图1所示的集成电路2进行设计的过程中执行。
[0047]随后,位于图7左上方的时钟总和加法器的其中对应一个对每组时钟信号进行求和,从而生成一组九个时钟总和值(步骤204)。随后将每个时钟总和值与九个权重值的其中对应一个相乘以对其进行加权计算,从而生成一组九个加权时钟总和值。在一实施例中,应用至时钟总和值的权重值大致上与该组时钟信号所驱动的负载数量成正比。接下来,图7所示的数字求和器55对选定数量的加权时钟总和值进行求和(步骤206)。对九个加权时钟总和值中的哪些值进行求和以及如何进行求和均是可编程并由控制值TCS进行控制和确定的。之后,为从图7所示的数字求和器55中输出的加权时钟总和值生成平均值(步骤207)。在一实施例中,平均分别对每三十二个总和值求均值,以此生成平均值。每个这样的平均值被称为“时钟总和模型子值”。因为平均电路57对数字求和器56所输出的每三十二个总和值便输出一个这样的平均值,因此,可认为从平均电路57输出了 “时钟总和模型子值”的数据流。
[0048]在图7所示的平均电路57输出该串“时钟总和模型子值”的同时,图7所示的平均电路63还输出“架构事件模型子值”的数据流。在集成电路2的设计过程中,基于对被监控电路的设计的理解,从而选取代表时间均值模式下动态功率的架构事件信号(步骤208)。所选取的事件信号被提供至位于图7所示电路图左下方的动态功率计量器电路4。每个事件信号与对应的权重值相乘。在图7所示电路图中,权重值标示为WESl至WESN。每个权重值通过线性回归(Iinear regress1n)程序确定。并对生成的加权事件信号进行求和,从而生成加权事件信号总和值(步骤210)。对加权事件信号中的哪些信号进行求和以及如何进行求和是可编程并由控制值TES确定的。随后为每连续三十二个总和值生成平均值(步骤211)。在图7所示实施例中,这些平均值被称为“架构事件模型子值”。平均电路63输出架构事件模型子值的数据流。
[0049]随后将连续每对“时钟总和模型子值”和“架构事件模型子值”按照比率进行结合,从而生成线性总和值(步骤212)。在图7所示电路图中,参考标识符66代表这样的线性总和值。随后,将偏移值添加至每个线性总和值,从而生成动态功率计量器输出值(步骤213)。因此,动态功率计量器电路4便生成并输出动态功率计量器输出值数据流。在图7所示实施例中,动态功率计量器输出值数据流通过导体123输出。
[0050]如以上结合图1所描述的,这些动态功率计量器输出值可按照各种方式使用在集成电路2上。例如,在发生了涉及动态功率计量器输出值的具体情况时,可对处理器5进行中断。又如,功率管理电路可使用动态功率计量器输出值以决定发送控制信号至片外电源电路。再如,若动态功率计量器输出值指明发生了特定情况,则可发送锁相环控制信号至锁相环电路以改变该锁相环电路的操作。动态功率计量器输出值是通用值,其可被集成电路2上的各种电路和程序使用以作出多种决定。这里所列举的涉及功率管理电路、锁相环和中断信号的实例仅为阐述性实例。
[0051]图15是揭示图7所示的新颖且具体的动态功率计量器电路4的优点的示意图。在图15所示波形图的最上端,DPM(动态功率计量)输出波形300代表由图7所示的动态功率计量器电路输出的动态功率计量器输出值,此处源于所设置的权重值,时钟总和被忽略,仅考虑了事件信号数据用以确定动态功率计量器输出值。标有“实际动态功率”的波形301被认为是被监控电路的实际动态功率。应当注意,在波形的早期亦即时间周期250附近,动态功率计量器所指明的动态功率并不能很好地追踪实际动态功率,但是在时间周期850附近,动态功率计量器所指明的动态功率能够相当好地追踪实际动态功率。
[0052]在图15所示波形图的中间,DPM输出波形302代表由图7所示的动态功率计量器电路输出的动态功率计量器输出值,此处源于所设置的权重值,事件信号被忽略,仅考虑了时钟信号总和数据用以确定动态功率计量器输出值。标有“实际动态功率”的波形303被认为是被监控电路的实际动态功率。应当注意,在波形的早期亦即周期250附近,动态功率计量器所指明的动态功率能够相当好地追踪实际动态功率,但是随后的波形在时间周期850附近,动态功率计量器所指明的动态功率并不能很好地追踪实际动态功率。
[0053]在图15所示波形图的下部,DPM输出波形304代表从图7所示的动态功率计量器电路4输出的动态功率计量器输出值,此处,对权重值的设置使得事件信号和时钟信号均被使用以确定动态功率计量器输出值。标有“实际动态功率”的波形305被认为是被监控电路的实际动态功率。应当注意,对比上部波形中的波形300,波形304在周期250附近更加紧密地匹配实际动态功率,同时还应当注意到,对比于中间波形中的波形302,波形304在周期850附近更加紧密地匹配实际动态功率。因此,在该实施例中,对比仅考虑事件信号数据的传统电路而言,可认为由图7所示电路所执行的对“架构事件信号模型子值”和“时钟总和模型子值”按照比率进行结合具有更加优越的性能。
[0054]应该注意,基于时钟总和模型子值的动态功率计量器输出值以基带时钟周期分辨率对实际动态功率进行追踪。这是因为图9和图10所示的时钟求和电路以每个基带时钟周期对总和值进行更新。
[0055]虽然以上出于教学性目的描述了特定的具体实施例,但是,本专利文件的教导内容具有普遍适用性,而并不限于以上所描述的具体实施例。因此,可在不脱离权利要求书所列举的本发明范畴的情况下,对所描述实施例的各种特征实施各种修改、适应和组合。
【主权项】
1.一种动态功率计量器电路的操作方法,其特征在于,所述电路通过基带时钟信号进行时钟驱动,所述方法包括: (a)接收多个时钟信号,其中,每个所述时钟信号为单比特信号,并驱动时序逻辑元件的时钟输入端,所述多个时钟信号中至少有一个时钟信号是所述基带时钟信号的选通版本,所述基带时钟信号的选通版本通过一个或多个缓冲器而驱动多个时序逻辑元件;以及 (b)基于所述多个时钟信号而生成时钟总和值,其中,所述时钟总和值为多比特值,所述多比特值对(a)中在所述多个时钟信号的一个时钟周期的预定部分具有预定数字逻辑值的多个时钟信号的数量进行计数。2.根据权利要求1所述的方法,其特征在于,每个所述时钟信号相对于其他每个时钟信号彼此同步。3.根据权利要求1所述的方法,其特征在于,所述方法包括,判定所述时钟信号是否在所述时钟信号的一个周期的一部分的大致中间的时间上具有预定的数字逻辑值,其中,若假定所述时钟信号在所述周期内是有效的并正在计时,则所述时钟信号在所述时间将为数字“逻辑高”值。4.根据权利要求1所述的方法,其特征在于,(b)中的所述预定数字逻辑值为数字“逻辑高”值,其中,(a)中的所述多个时钟信号中包括超过十个时钟信号,且(a)中所接收的大多数时钟信号中的每个时钟信号均具有大于十的扇出(fanout)。5.根据权利要求1所述的方法,其特征在于,(a)中所接收的所有时钟信号均为选通时钟信号。6.根据权利要求1所述的方法,其特征在于,所述方法进一步包括: (C)基于所述时钟总和值的至少部分从而生成控制信号。7.根据权利要求1所述的方法,其特征在于,所述电路是集成电路的一部分,且所述方法进一步包括: (C)利用所述时钟总和值来控制片外电源,其中,所述片外电源向所述集成电路提供电力。8.根据权利要求1所述的方法,其特征在于,所述电路是集成电路的一部分,且所述方法进一步包括: (C)将所述时钟总和值提供至片上节电模式控制器,其中,所述片上节电模式控制器是所述集成电路的一部分。9.根据权利要求1所述的方法,其特征在于,所述电路是处理器,且所述方法进一步包括: (C)基于所述时钟总和值的至少部分从而确定对所述处理器进行中断。10.一种动态功率计量器电路的操作方法,其特征在于,所述方法包括: (a)接收多个时钟信号,其中,每个所述时钟信号为单比特信号,并具有最小变化间隔约为处理器基带时钟信号的周期TCLK的一半,其中,所述处理器基带时钟信号对处理器进行时钟驱动,且所述处理器是集成电路的一部分; (b)基于所述多个时钟信号从而生成时钟总和值; (C)对所述时钟总和值进行加权计算从而生成加权时钟总和值; (d)基于(c)中生成的加权时钟总和值的至少部分从而生成时钟总和模型子值; (e)接收多个事件信号,其中,每个所述事件信号具有事件信号值,每个所述事件信号具有的最小变化间隔大于TCLK/2,每个所述事件信号值为多比特数字值,且每个所述事件信号值是可被所述处理器读取的软件可获取值; (f)对每个所述事件信号值进行加权计算,从而生成对应的多个加权事件信号值; (g)对(f)中生成的所述多个加权事件信号值进行求和,从而生成加权事件信号总和值; (h)基于(g)中生成的所述加权事件信号总和值的至少部分从而生成事件模型子值;以及 (i)将(d)中生成的所述时钟总和模型子值和(h)中生成的所述事件模型子值按照比率进行结合,从而生成动态功率计量器输出值,其中,(a)至(i)由动态功率计量器电路执行,所述动态功率计量器电路是所述集成电路的一部分。11.根据权利要求10所述的方法,其特征在于,(i)中将所述时钟总和模型子值和事件模型子值按照所述比率进行结合并生成所述动态功率计量器输出值的步骤包括: (11)将(d)中生成的所述时钟总和模型子值和(h)中生成的所述事件模型子值按照所述比率进行结合,从而生成比率总和值;以及 (12)将偏移值添加至所述比率总和值,从而生成所述动态功率计量器输出值。12.根据权利要求10所述的方法,其特征在于,(a)中所接收的所述多个时钟信号中至少有一些时钟信号是所述处理器基带时钟信号的选通版本。13.根据权利要求10所述的方法,其特征在于,(a)中所接收的大多数时钟信号中的每个时钟信号均具有大于十的扇出。14.根据权利要求10所述的方法,其特征在于,(a)中所接收的大多数时钟信号中的每个时钟信号均直接驱动超过十个时序逻辑元件。15.根据权利要求10所述的方法,其特征在于,(a)中所接收的所述多个时钟信号均是非软件可获取信号。16.根据权利要求10所述的方法,其特征在于,(d)中所生成的所述时钟总和模型子值是多个所述加权时钟总和值的平均值。17.根据权利要求10所述的方法,其特征在于,所述方法进一步包括: (a2)接收第二组多个时钟信号; (b2)基于所述第二组多个时钟信号生成第二时钟总和值;以及(c2)对所述第二时钟总和值进行加权计算,从而生成第二加权时钟总和值,其中,(d)中生成的所述时钟总和模型子值是基于所述第二加权时钟总和值的至少部分而生成。18.根据权利要求17所述的方法,其特征在于,(d)中生成的所述时钟总和模型子值是多个加权时钟总和值的总和,所述多个加权时钟总和值包括(c)中生成的所述加权时钟总和值和(c2)中生成的所述第二加权时钟总和值。19.根据权利要求17所述的方法,其特征在于,可按照多种方式对(c)中生成的所述加权时钟总和值和(c2)中生成的所述第二加权时钟总和值进行求和,以生成(d)中的所述时钟总和模型子值,所述方法进一步包括: (m)将总和筛选类型值存储至所述集成电路中,其中,所述总和筛选类型值确定对(c)中生成的所述加权时钟总和值和(c2)中生成的所述第二加权时钟总和值进行求和用以生成(d)中的所述时钟总和模型子值的方式。20.根据权利要求10所述的方法,其特征在于,(h)中生成的所述事件模型子值是多个加权事件信号总和值的平均值。21.根据权利要求10所述的方法,其特征在于,所述方法进一步包括: (j)将时钟总和权重值存储至所述集成电路中,其中,在(c)中应用所述时钟总和权重值用以生成所述加权时钟总和值; (k)将第一事件权重值存储至所述集成电路中,其中,在(f)中应用所述第一事件权重值以生成所述多个加权事件信号值中的第一个;以及 (I)将第二事件权重值存储至所述集成电路中,其中,在(f)中使用所述第二事件权重值以生成所述多个加权事件信号值中的第二个。22.根据权利要求21所述的方法,其特征在于,所述方法进一步包括: (m)将比率值K存储至所述集成电路中,其中,在(i)的按比率结合中应用所述比率值K。23.根据权利要求10所述的方法,其特征在于,所述方法进一步包括: (j)将比率结合控制信息存储至所述集成电路中,其中,所述比率结合控制信息确定如何在(i)中对(d)中生成的所述时钟总和模型子值和(h)中生成的事件模型子值进行按比率?士么云口 口 ο24.根据权利要求10所述的方法,其特征在于,所述时钟总和值在(b)中由寄存加法器电路生成,其中,(a)中所述多个时钟信号被接收至所述寄存加法器电路。25.一种动态功率计量器电路的操作方法,其特征在于,所述方法包括: (a)接收多个时钟信号,其中,每个所述时钟信号均为非软件可获取的单比特信号,且不能被集成电路的处理器读取; (b)基于所述多个时钟信号生成时钟总和值; (C)基于(b)中生成的所述时钟总和值的至少部分从而生成时钟总和模型子值; (d)接收事件信号,其中,所述事件信号是多比特软件可获取信号,其值可被所述处理器读取; (e)基于(d)中接收的所述事件信号的至少部分从而生成事件模型子值;以及 (f)将(C)中生成的所述时钟总和模型子值和(e)中生成的事件模型子值按照比率进行结合,从而生成动态功率计量器输出值,其中,(a)至(f)由动态功率计量器电路执行,所述动态功率计量器电路是所述集成电路的一部分。26.根据权利要求25所述的方法,其特征在于,所述处理器通过处理器基带时钟信号CLK进行时钟驱动,其中,(a)中接收的每个所述时钟信号具有的最小变化间隔不大于所述处理器基带时钟信号CLK的周期TCLK的两倍。27.根据权利要求25所述的方法,其特征在于,所述处理器通过处理器基带时钟信号CLK进行时钟驱动,其中,(a)中接收的每个所述时钟信号具有的最小变化间隔大致等于所述处理器基带时钟信号CLK的周期TCLK的一半。28.根据权利要求25所述的方法,其特征在于,所述处理器通过处理器基带时钟信号CLK进行时钟驱动,其中,(a)中接收的所述多个时钟信号中有一些是所述处理器基带时钟信号的缓冲版本,且(a)中接收的所述多个时钟信号中有一些是所述处理器基带时钟信号的选通版本。29.一种动态功率计量器电路,其特征在于,包括: 加法器电路,用以接收多个时钟信号并输出时钟总和值,其中,每个所述时钟信号为单比特信号; 第一权算电路,用以从所述加法器电路接收所述时钟总和值并输出加权时钟总和值;时钟总和模型电路,用以接收所述加权时钟总和值并基于所述加权时钟总和值的至少部分从而生成时钟总和模型子值; 第二权算电路,用以接收事件信号值并输出加权事件信号值,其中,每个所述事件信号值均是多比特值; 事件模型电路,用以接收所述加权事件信号值并基于所述加权事件信号值的至少部分从而输出事件模型子值;以及 比率结合电路,用以接收所述时钟总和模型子值和所示事件模型子值并输出动态功率计量器输出值。30.根据权利要求29所述的电路,其特征在于,所述时钟总和模型电路包括: 数字求和电路,用以接收所述加权时钟总和值并输出总和值;以及 平均电路,用以从所述数字求和电路接收所述总和值并输出所述时钟总和模型子值。31.根据权利要求29所述的电路,其特征在于,所述事件模型电路包括: 数字求和电路,用以接收所述加权事件信号值并输出总和值; 平均电路,用以从所述数字求和电路接收所述总和值并输出所述事件模型子值。32.根据权利要求29所述的电路,其特征在于,所述比率结合电路包括: 第一权算电路,其接收所述时钟总和模型子值并输出所述时钟总和模型子值的加权版本; 第二权算电路,其接收所述事件模型子值并输出所述事件模型子值的加权版本;以及数字求和电路,其对所述时钟总和模型子值的加权版本、所述事件模型的加权版本、以及偏移值进行求和。
【文档编号】G01R21/133GK106018945SQ201610099075
【公开日】2016年10月12日
【申请日】2016年2月23日
【发明人】闻华君, 休托马斯梅尔, 陈信成, 布莱恩·金恩·弗莱斯
【申请人】联发科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1