用于处理器的功率估算器件、功率估算系统及相关方法与流程

文档序号:13137180阅读:157来源:国知局
用于处理器的功率估算器件、功率估算系统及相关方法与流程

本发明的实施例涉及用于处理器的功率估算器件、功率估算系统及相关方法。



背景技术:

经过研发,例如包括中央处理单元(cpu)、图形处理单元(gpu)或片上系统集成电路在内的处理器具有越来越多的功能和特征。这些具有高操作性能的处理器也导致了功耗的较高负载。



技术实现要素:

根据本发明的实施例,提供了用于处理器的功率估算器件,包括:与处理单元模型连接的功率状态转换器,其中,功率状态转换器被构造成为在处理单元模型内执行的性能活动计数,并且功率状态转换器被构造成根据性能活动的计数值确定处理单元模型的功率状态。

根据本发明的实施例,提供了用于处理器的功率估算系统,包括:处理单元模型,被构造成执行来自主机处理单元的处理任务;以及功率估算适配器,连接在主机处理单元与处理单元模型之间,其中,功率估算适配器被构造成确定并生成处理单元模型的功率状态,功率估算适配器包括:功率状态转换器,被构造成为在处理单元模型内执行的性能活动计数并根据性能活动的计数值确定处理单元模型的功率状态,功率状态转换器被构造成将功率状态传输给主机处理单元。

根据本发明的实施例,提供了用于处理器的功率估算方法,包括:为在处理单元模型内执行的性能活动计数;根据性能活动的计数值确定处理单元模型的功率状态;以及根据功率状态生成处理单元模型的估算功耗读数。

附图说明

结合附图阅读以下详细说明,可更好地理解本公开的各方面。应注意到,根据本行业中的标准惯例,各种功能件未按比例绘制。实际上,为论述清楚,各种功能件的尺寸可随意放大或缩小。

图1为示出根据本公开的一些实施例的系统的示意图。

图2为示出根据本公开的一些实施例的图1所示的功率估算适配器和gpu模型的进一步细节的示意图。

图3为示出根据本公开的一些实施例的通过图2中的事务处理界面在gpu模型和内存模型间执行的读取过程的示意图。

图4为示出根据本公开的一些实施例的图1所示的功率估算适配器和gpu模型的进一步细节的示意图。

图5为示出根据本公开的一些实施例的用于估算处理单元模型的功耗的方法的流程图。

图6为示出根据本公开的一些实施例的图1所示的功率估算适配器和gpu模型的进一步细节的示意图。

图7为示出根据本公开的一些实施例的由图6所示的功率数学建模器122b执行的方法的流程图。

具体实施方式

在以下说明书中,显示了特定细节以提供对本公开的实施例的全面了解。然而,本领域技术人员将意识到,本公开可在没有上述一个或多个特定细节的情况下或与其他部件结合实施。为避免模糊本公开的各种实施例的各方面,本文未展示或描述已知的实施方式或操作。

本说明书中使用的术语通常具有其在本领域中以及在使用每一个术语的具体的内容中的普通含义。本说明书中使用的实例,包括本文所讨论的任何术语的实例,仅是示例性的,并且绝不是限制本发明的或任何示例性术语的范围和意义。同样,本发明不限于本说明书中给出的各个实施例。

应当理解,尽管本文可以使用术语“第一”、“第二”等以描述各个元件,但是这些元件不应被这些术语限制。这些术语用于将一个元件与另一个元件区别开。例如,在不背离本发明的范围的情况下,可以将第一元件叫做第二元件,并且类似地,可以将第二元件叫做第一元件。如本文所使用的,术语“和/或”包括一个或多个所列的相关联项目的任何以及所有的组合。

如本文所使用的,术语“包含”、“包括”、“具有”、“容纳”、“关于”等应该被理解为开放式的,即,意味着包括但不限于。

整篇说明书中提及“一个实施例”或“实施例”,意味着结合该实施例所描述的特别的部件、结构、实施方式或特征包括在本发明的至少一个实施例中。因此,整篇说明书的多个地方使用的短语“在一个实施例中”或“在实施例中”无须全部涉及相同的实施例。此外,特别的部件、结构、实施方式或特征可以在一个或多个实施例中以任何合适的方式结合。

图1是示出根据本公开的一些实施例的系统100的示意图。在图1所示的一些实施例中,系统100包括图形处理单元(gpu)模型210、主机中央处理单元(cpu)220和器件200。器件200连接在gpu模型210和主机cpu220之间。在一些实施例中,系统100为被构造为描述gpu功耗的部件。

在一些实施例中,gpu模型210为用于模拟物理gpu的功能和特征的模型。在一些实施例中,gpu模型210为由gpu供应商提供的软件模型和/或固件模型,gpu供应商包括诸如nvidia、ati、intel、imaginationtechnologies等。在一些实施例中,gpu模型210被设置用于展示、模拟和/或验证基于硬件的gpu电路的功能和/或特征。

在一些实施例中,主机cpu220被构造成为gpu模型210分配一些图形处理任务,并在gpu模型210处理图形处理任务时获取gpu模型210的参数。在进一步的实施例中,图形处理任务包括播放视频、绘制2d屏幕、绘制3d对象等。在一些实施例中,前述参数包括gpu模型210的功耗信息,其包括,例如,有关gpu模型210在执行图形处理任务时消耗的功率的信息。

如图1所示,器件200连接在gpu模型210和主机cpu220之间。在一些实施例中,器件200为gpu模型210和主机cpu220之间的互连接口。器件200向主机cpu220提供gpu模型210的功率状态ps,从而使主机cpu220能够估算gpu模型210的功耗。

在一些实施例中,器件200包括功率估算适配器120、内存模型140、存储单元160和总线接口180。主机cpu220被构造成经由总线接口180向gpu模型210发送执行图形处理任务的命令。gpu模型210通过总线接口180向cpu220反馈图形处理任务的结果,或将结果输出到显示器上(图1中未示出)。执行图形处理任务时,基于主机cpu220的负载、配置和/或性能,主机cpu220会消耗一定的功率。在一些实施例中,功率估算适配器120被构造成在gpu模型210处理图形处理任务时,确定gpu模型210的功率状态ps。

在一些实施例中,功率估算适配器120包括功率状态转换器122和事务处理界面(transactioninterface)124。功率状态转换器122被构造成确定gpu模型210的功率状态ps。在一些实施例中,功率状态转换器122向主机cpu220提供gpu模型210的功率状态ps。因此,主机cpu220能够根据gpu模型210的功率状态ps分析估算的功耗读数。在一些实施例中,事务处理界面124用于在内存模型140和gpu模型210之间传输访问命令、数据和/或传输信号。在一些实施例中,内存模型140被用于模拟并作为基于硬件的存储器操作。gpu模型210能够通过事务处理界面124访问内存模型140。

在一些实施例中,图1所示的存储单元160被构造成存储由功率状态转换器122使用的功率状态查找表162。在一些实施例中,功率状态查找表162包括对应于gpu模型210的可供选择和使用的候选功率状态。在一些实施例中,对应于gpu模型210的候选功率状态包括活动状态、空闲状态、2d处理状态、3d处理状态、控制状态和主机状态等。

在一些实施例中,功率状态查找表162与数据结构执行。在各种实施例中,功率状态查找表162存储技术参数和性能参数。在一些实施例中,技术参数包括器件参数和不同候选功率状态的可变拐角参数(cornerparameter)。在一些实施例中,器件参数被用于实现基于硬件的gpu电路(未示出),而可变拐角参数被用于检测基于硬件的gpu电路的可靠性。在一些实施例中,性能参数包括不同候选功率状态的工作频率、速度、功率、最大过渡时间、rc拐角和/或时序路径。

功率状态查找表162的前述实施的给出是出于说明目的。功率状态查找表162的各种实施均在本公开的设想范围之内。

还参考图2,其是示出根据本公开的一些实施例的图1所示的功率估算适配器120和gpu模型210的进一步细节的示意图。相对于图1所示的实施例,图2中的类似元件指代相同的参考标号以便于理解。

如图2所示,在一些实施例中,gpu模型210包括处理部件212、214、216和218。处理部件212、214、216和218被构造成执行性能活动,其包括,例如,分配给gpu模型210的图形处理任务。在一些实施例中,处理部件212、214、216和218包括gpu模型210的着色器、纹理处理器、光栅化处理器、像素处理器、系统缓存和/或纹理缓存。如图2所示,处理部件212为着色器,处理部件214为纹理处理器,处理部件216为光栅化处理器,并且处理部件218为gpu模型210的像素处理器。

在一些实施例中,gpu模型210还包括寄存器reg1-reg3。寄存器reg1-reg3被构造成存储和/或缓冲处理部件212、214、216和218的数据。

如图2所示,存储在寄存器reg1中的数据包括由处理部件212输出的数据,且包括将要输入给处理部件214的数据。如图2所示,存储在寄存器reg2中的数据包括由处理部件214输出的数据,且包括将要输入给处理部件216的数据。如图2所示,存储在寄存器reg3中的数据包括由处理部件218输出的数据。寄存器reg1-reg3和处理部件212、214、216和218的前述配置和操作的给出仅出于说明目的。寄存器reg1-reg3和处理部件212、214、216和218的各种配置和操作均在本公开的设想范围之内。

图2所示的gpu模型210中的寄存器数量以及处理部件的数量是出于说明目的。各种数量的寄存器以及各种数量的处理部件均能够在gpu模型210中实施,且在本公开的设想范围之内。

在一些实施例中,如图2所示,功率状态转换器122包括四个计数器cnt1-cnt4以及功率状态选择器122a。功率状态选择器122a连接至计数器cnt1-cnt4。各计数器cnt1-cnt4被构造成计算对应于处理部件212、214、216和218中的一个的计数值。在一些实施例中,计数器cnt1-cnt4被构造成根据由处理部件212、214、216和218在测试期间分别执行的性能活动的数量计算计数值。例如,计数器cnt1被构造成计算有关处理部件212在测试期间(诸如约5毫秒的时间)被激活以计算图形对象的形状或计算图形对象的顶点坐标的次数的计数值。例如,计数器cnt2被构造成计算有关处理部件214在测试期间被激活以计算灰阶或计算图形对象的像素纹理的次数的计数值。在这种设置下,计数器cnt1-cnt4能够计算在测试期间由gpu模型210中的处理部件212、214、216和218执行的性能活动的总数。

在其他一些实施例中,计数器cnt1-cnt4被构造成根据寄存器reg1-reg3中的数据被更新或重写的次数计算计数值。例如,当寄存器reg1中的数据被更新和/或重写时,计数器cnt1的计数值增加。

在一些实施例中,功率状态转换器122被构造成根据计数器cnt1-cnt4计算的性能活动的计数值,确定gpu模型210的功率状态ps。在一些实施例中,功率状态选择器122a被构造成根据计数器cnt1-cnt4有关gpu模型210执行的性能活动的计数值,从功率状态查找表162中的候选功率状态中选择一个功率状态ps。例如,当计数器cnt1-cnt4的计数值大于上限值时,功率状态选择器122a从候选功率状态中选择活动状态。再例如,当计数器cnt1-cnt4的计数值小于下限值时,功率状态选择器122a从候选功率状态中选择空闲状态。

如图2所示,在一些实施例中,功率状态选择器122a进一步连接到gpu模型210的寄存器reg1-reg3。在一些实施例中,功率状态选择器122a被进一步构造成检查存储在寄存器reg1-reg3中的数据的变化。如果存储在寄存器reg1-reg3中的一个数据发生变化和/或被重写,功率状态选择器122a将确认数据的该变化。

在一些实施例中,功率状态选择器122a根据计数值以及存储在寄存器reg1-reg3中的数据的变化的组合,从功率状态查找表162中的候选功率状态中选择一个功率状态ps。例如,当计数器cnt1-cnt4的计数值大于上限值和/或寄存器reg1-reg3中的数据在上限频率以上变化时,功率状态选择器122a从候选功率状态中选择活动状态。例如,当计数器cnt1-cnt4的计数值小于下限值和/或寄存器reg1-reg3中的数据在下限频率以下变化时,功率状态选择器122a从候选功率状态中选择空闲状态。

在一些实施例中,当gpu模型210执行性能活动时,gpu模型210将一些内存访问命令传导至内存模块(未示出)。例如,gpu模型210向内存模块发送读取命令,以获取存储在内存模块中的3d对象数据、纹理或像素数据,或可替代地,gpu模型210向内存模块发送写入命令,以记录gpu模型210生成的一些图像数据或缓冲数据。

还参考图3,其是示出根据本公开的一些实施例的通过图2中的事务处理界面124在gpu模型210和内存模型140之间执行的读取过程的示意图。为便于理解,下面将参考图2对图3进行讨论。

如图2和图3所示,当gpu模型210意欲从内存模型140中读取数据时,读取操作的请求阶段开始。在读取操作期间,gpu模型210向事务处理界面124发送请求有效载荷reqpl。事务处理界面124上的线程被唤醒以排列请求有效载荷reqpl。在一些实施例中,事务处理界面124被构造成记录线程被唤醒时的第一时间戳ts1。事务处理界面124将请求req传输给内存模型140。接着,事务处理界面124向gpu模型210反馈确认信息ack,请求阶段结束。

为响应读取请求,内存模型140将开始响应阶段。内存模型140向事务处理界面124反馈响应有效载荷resppl。事务处理界面124上的另一线程被唤醒以排列响应有效载荷reqpl。在一些实施例中,事务处理界面124被构造成记录该线程被唤醒时的第二时间戳ts2。响应于请求req,内存模型140经由事务处理界面124被访问。内存模型140向事务处理界面124反馈内存数据mem。事务处理界面124将内存数据mem传输给gpu模型210,并且然后读取操作的响应阶段结束。

在一些实施例中,事务处理界面124被构造成记录访问命令的请求阶段与访问命令的响应阶段之间的持续时间。如图3所示,事务处理界面124记录第一时间戳ts1和第二时间戳ts2之间的持续时间tsd,并且事务处理界面124向功率状态转换器122提供持续时间tsd。换言之,持续时间tsd能被表示为tsd=(ts2-ts1)。在这些实施例中,持续时间tsd表示gpu模型210能够等待来自于内存模型140的访问命令的响应信息的时间段。换言之,持续时间tsd提供了gpu模型210被唤醒的时长的表示。在各种实施例中,持续时间tsd为访问命令的过渡时间。

在一些实施例中,图2所示的功率状态转换器122的功率状态选择器122a被构造成根据计数器cnt1-cnt4的计数值以及上述持续时间tsd,从功率状态查找表162中的候选功率状态中选择一个功率状态ps。例如,当计数器cnt1-cnt4的计数值大于上限值和/或访问操作的持续时间tsd持续预定时间间隔时,功率状态选择器122a从候选功率状态中选择主机状态。

在一些实施例中,功率状态转换器122的功率状态选择器122a被构造成根据计数器cnt1-cnt4的计数值、存储在寄存器reg1-reg3中的数据的变化以及持续时间tsd的组合,从功率状态查找表162中的候选功率状态中选择一个功率状态ps。计数器cnt1-cnt4的计数值表示gpu模型210内的性能活动的数量。功率状态转换器122向主机cpu220提供gpu模型210的功率状态ps,从而使得主机cpu220能够分析gpu模型210的估算功耗读数。

还参考图4,其是示出根据本公开的一些其他实施例的图1所示的功率估算适配器120和gpu模型210的进一步细节的示意图。相对于图1和图2所示的实施例,图4中的类似元件指代相同的参考标号以便于理解。

与图1和图2所示的实施例相比,图4所示的功率估算适配器120还包括功率分析器126。在一些实施例中。功率分析器126被构造成分析选择的功率状态ps,并根据选择的功率状态ps生成gpu模型210的估算功耗读数estp。功率分析器126向主机cpu220提供gpu模型210的估算功耗读数estp以对其进行进一步的处理和/或监测。

在一些实施例中,gpu模型210内的功耗信息与选择的功率状态ps和/或估算功耗读数estp相关。因此,基于估算功耗读数estp,主机cpu220能够监测gpu模型210内的功耗的信息。

还参考图5,其是示出根据本公开的一些实施例的用于估算图4所示的gpu模型210的功耗的方法300的流程图。为便于理解,下面将参考图4中的实施例解释方法300。方法300的应用并非局限于图4所示的实施例中。采用方法300的各种实施例均在本公开的设想范围之内。

在操作s301中,计数器cnt1-cnt4根据处理部件212、214、216和218在测试期间分别执行的性能活动的数量计算计数值。

在操作s302中,功率状态选择器122a根据图4所示的计数器cnt1-cnt4的计数值的组合从功率状态查找表162中的候选功率状态中选择一个功率状态ps。如上所述,在其他一些实施例中,根据计数器cnt1-cnt4的计数值以及存储在图4所示的寄存器reg1-reg3中的数据的变化选择功率状态ps。如上所述,在一些替代实施例中,根据计数器cnt1-cnt4的计数值、存储在寄存器reg1-reg3中的数据的变化以及如图3中论述的持续时间tsd选择功率状态ps。

在操作s303中,功率分析器126根据选择的功率状态ps,生成并向主机cpu220提供gpu模型210的估算功耗读数estp。因此,在一些实施例中,主机cpu220能够在没有附加检测程序的情况下监测gpu模型210内的功耗的信息。在这些设置下,即使gpu模型210被替换(例如,将其更新至新版本或者将gpu模型210的供应商换成另一供应商),主机cpu220的这种设置依然能够在没有进一步修改的情况下通过功率状态转换器122确认gpu模型210的功耗的信息。

还参考图6,其是示出根据本公开的一些实施例的图1所示的功率估算适配器120和gpu模型210的进一步细节的示意图。相对于图1和图2所示的实施例,图6中的类似元件指代相同的参考标号以便于理解。

与图2所示的实施例相比,图6所示的功率估算适配器122除了功率状态选择器122a,还包括功率数学建模器122b。功率数学建模器122b连接在计数器cnt1-cnt4和功率状态选择器122a之间。在一些实施例中,功率数学建模器122b被构造成根据计数器cnt1-cnt4的计数值以数学模型计算估算功率pgpu。在一些实施例中,功率状态选择器122a被构造成根据估算功率pgpu选择gpu模型210的功率状态ps。下面将参考图7进一步论述用于计算估算功率pgpu以及用于选择功率状态ps的操作。

图7为示出根据本公开的一些实施例的由图6所示的功率数学建模器122b执行的方法500的流程图。例如,方法500包括操作s501-s503,下面将参考图6中的实施例对其进行进一步的论述。

在操作s501中,功率数学建模器122b选择所有的计数器,诸如图6中的计数器cnt1-cnt4。在操作s502中,功率数学建模器122b构建功率估算模型。在操作s503中,功率数学建模器122b利用功率估算模型计算gpu模型210的估算功率pgpu。下面给出的一些实施例和/或实例是为了进一步说明操作s501-s503。

出于说明目的,可设想gpu模型210包括n个处理部件,其中,n为正整数(如n=4),并且存在n个计数器,用于为由n个处理部件执行的性能活动计数。出于说明目的,选择对应于图6中的gpu模型210内的处理部件212、214、216和218的所有计数器cnt1-cnt4。根据它们的本地活动计数器基于功率估算模型,估算n个处理部件的各单个处理部件的功耗。各处理部件的功耗通过功率估算模型测得,其在一些实施例中表示为等式(1):

其中,pk为第k个处理部件的估算功耗,nk为第k个处理部件的计数器数,ck,j为计数值,wk,j为功耗参数。使用多元线性回归以通过利用包括一组计数值和对应于n个处理部件中的每一个的测得功率在内的训练数据(trainingdata)来估算权值wk,j。

在一些实施例中,通过利用功率估算模型以及等式(1),将n个处理部件的功耗集合为gpu模型210的估算功率pgpu。估算功率pgpu能够用等式(2)推导得出:

其中,

例如,gpu模型210的估算功率pgpu由pgpu=p1+p2+p3+p4集合。其中,p1为处理部件212的估算功耗。p2为处理部件214的估算功耗。其中,p3为处理部件216的估算功耗。其中,p4为处理部件218的估算功耗。

在图6所示的一些实施例中,可通过功率数学建模器122b计算得到估算功率pgpu,并将其提供给功率状态选择器122a。根据估算功率pgpu,功率状态选择器122a被构造成从存储在功率状态查找表162中的候选功率状态中选择一个功率状态ps。在一些实施例中,由功率状态选择器122a选择候选功率状态中的一个作为功率状态ps。选择的候选功率状态的一个表示最接近估算功率pgpu的功耗。在这些设置下,功率状态转换器122向主机cpu220提供gpu模型210的功率状态ps。因此,主机cpu220能够根据gpu模型210的功率状态ps分析估算的功耗读数。在这些设置下,主机cpu220能有效地在没有附加检测程序的情况下监测gpu模型210内的数据。

在一些实施例中,器件200和/或gpu模型210的部件由计算机系统(未示出)中的处理器(未示出)执行的软件代码实现。出于说明目的,功率估算适配器120、内存模型140、存储单元160、总线接口180、处理部件212、214、216和218和/或寄存器reg1-reg3均通过软件代码实现。在一些实施例中,gpu模型210为基于软件的模型,其被用于模拟并作为gpu集成电路的物理硬件操作,并且器件200为基于软件的平台,其被用于在gpu模型210和主机cpu220之间提供互连接口。基于软件的器件200和gpu模型210适于在电子系统层级(esl)阶段验证gpu模型210的功耗。如果gpu模型210的功耗不匹配功耗要求,能够在电子系统层级(esl)阶段对gpu模型210进行重新设计。因此,当gpu模型210经过调节以匹配功耗要求时,可基于调节的gpu模型210制造或调节基于硬件的物理gpu电路。在一些实施例中,在制造基于硬件的物理gpu电路之前,能够通过设置gpu模型210对基于硬件的物理gpu电路的功能和性能进行有效的测试和验证。

在其他一些实施例中,器件200和gpu模型210的部件通过可编程电路实现,可编程电路包括例如现场可编程门阵列(fpga)。当为gpu模型210分配一些处理任务时,主机cpu220能够通过实现在fpga中的器件200确认gpu模型210的功率状态和/或估算的功耗读数。

在一些实施例中,公开了一种器件,其包括功率状态转换器。功率状态转换器被构造成为在处理单元模型内执行的性能活动计数。功率状态转换器被构造成根据性能活动的计数值确定处理单元模型的功率状态。

在一些实施例中,还公开了一种系统,其包括处理单元模型和功率估算适配器。处理单元模型被构造成执行来自主机处理单元的处理任务。功率估算适配器连接在主机处理单元与处理单元模型之间。功率估算适配器被构造成确定并生成处理单元模型的功率状态。功率估算适配器包括功率状态转换器。功率状态转换器被构造成为在处理单元模型内执行的性能活动计数并根据性能活动的计数值确定处理单元模型的功率状态。功率状态转换器被构造成将功率状态传输给主机处理单元。

在一些实施例中,公开了一种方法,其包括以下操作。性能活动在处理单元模型中执行。根据性能活动的计数值确定处理单元模型的功率状态。根据功率状态生成处理单元模型的估算功耗读数。

根据本发明的实施例,提供了用于处理器的功率估算器件,包括:与处理单元模型连接的功率状态转换器,其中,功率状态转换器被构造成为在处理单元模型内执行的性能活动计数,并且功率状态转换器被构造成根据性能活动的计数值确定处理单元模型的功率状态。

根据本发明的实施例,处理单元模型包括用于执行性能活动的多个处理部件,功率状态转换器包括多个计数器,并且每个计数器被构造成计算由处理部件中的一个执行的性能活动的计数值。

根据本发明的实施例,处理单元模型为图形处理单元模型,处理部件包括着色器、纹理处理器、光栅化处理器和像素处理器中的至少一个。

根据本发明的实施例,处理单元模型包括用于存储数据的多个寄存器,并且功率状态转换器被构造成根据计数值和存储在寄存器中的数据的变化的两者,确定处理单元模型的功率状态。

根据本发明的实施例,还包括:内存模型;以及事务处理界面,被构造成将由处理单元模型传输的访问命令传递至内存模型,其中,事务处理界面被构造成记录访问命令的请求阶段与访问命令的响应阶段之间的持续时间。

根据本发明的实施例,功率状态转换器被构造为基于所有的计数值、数据的变化和持续时间,确定处理单元模型的功率状态。

根据本发明的实施例,还包括:内存模型;以及事务处理界面,被构造成将来自处理单元模型的访问命令传递至内存模型,事务处理界面被构造成记录访问命令的请求阶段与访问命令的响应阶段之间的持续时间。

根据本发明的实施例,功率状态转换器被构造为基于计数值和持续时间两者,确定处理单元模型的功率状态。

根据本发明的实施例,事务处理界面被构造成:记录访问命令的请求阶段开始后的第一时间戳、记录访问命令的响应阶段开始后的第二时间戳、以及记录第二时间戳与第一时间戳之间的时间差作为持续时间。

根据本发明的实施例,还包括:存储单元,被构造成存储功率状态查找表,其中,功率状态查找表包括对应于处理单元模型的多个候选功率状态,其中,功率状态转换器包括功率状态选择器,功率状态选择器被构造成从候选功率状态中选择处理单元模型的功率状态。

根据本发明的实施例,功率状态转换器被构造成将处理单元模型的功率状态传输给主机处理单元,用于计算处理单元模型的估算功耗读数。

根据本发明的实施例,还包括:存储单元,被构造成存储功率状态查找表,功率状态查找表包括对应于处理单元模型的多个候选功率状态,其中,功率状态转换器包括功率数学建模器和功率状态选择器,功率数学建模器被构造成根据计数值计算估算功率,并且功率状态选择器被构造成由估算功率选择处理单元模型的功率状态。

根据本发明的实施例,功率状态转换器被构造成将处理单元模型的功率状态传输给主机处理单元,用于计算处理单元模型的估算功耗读数。

根据本发明的实施例,提供了用于处理器的功率估算系统,包括:处理单元模型,被构造成执行来自主机处理单元的处理任务;以及功率估算适配器,连接在主机处理单元与处理单元模型之间,其中,功率估算适配器被构造成确定并生成处理单元模型的功率状态,功率估算适配器包括:功率状态转换器,被构造成为在处理单元模型内执行的性能活动计数并根据性能活动的计数值确定处理单元模型的功率状态,功率状态转换器被构造成将功率状态传输给主机处理单元。

根据本发明的实施例,处理单元模型包括用于执行所述性能活动的多个处理部件,功率状态转换器包括多个计数器,每个计数器被构造成为一个处理部件计算计数值,处理部件包括着色器、纹理处理器、光栅化处理器和像素处理器中的至少一个。

根据本发明的实施例,处理单元模型包括用于存储数据的多个寄存器,功率状态转换器被构造成根据计数值和存储在寄存器中的数据的变化的两者,确定处理单元模型的功率状态。

根据本发明的实施例,功率估算适配器还包括:内存模型;以及事务处理界面,被构造成将来自处理单元模型的访问命令传递给内存模型、记录访问命令的请求阶段与访问命令的响应阶段之间的持续时间、以及将时间提供给功率状态转换器,处理单元模型的功率状态根据计数值和持续时间两者由功率状态转换器确定。

根据本发明的实施例,提供了用于处理器的功率估算方法,包括:为在处理单元模型内执行的性能活动计数;根据性能活动的计数值确定处理单元模型的功率状态;以及根据功率状态生成处理单元模型的估算功耗读数。

根据本发明的实施例,还包括:监测存储在处理单元模型的寄存器内的数据的变化,其中,根据计数值和数据的变化的两者确定处理单元模型的功率状态。

根据本发明的实施例,还包括:由事务处理界面记录访问命令的持续时间,事务处理界面被构造成处理处理单元模型与内存模型之间的访问命令以及在访问命令的请求阶段与访问命令的响应阶段间之间记录的持续时间,其中,根据计数值和访问命令的持续时间的两者,确定处理单元模型的功率状态。

前面概述了若干实施例的特征,使得本领域的技术人员可以更好地理解本公开的各个方面。本领域的技术人员应该理解,他们可以容易地使用本公开作为用于设计或修改用于执行与本公开相同或类似的目的和/或实现相同或类似优点的其它工艺和结构的基础。本领域的技术人员还应该意识到,这种等效结构不背离本公开的精神和范围,并且可以进行各种改变、替换和变更而不背离本公开的精神和范围。

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