基于活动处理器的动态电压和频率管理的制作方法

文档序号:9553220阅读:339来源:国知局
基于活动处理器的动态电压和频率管理的制作方法
【技术领域】
[0001]本发明涉及处理器中的功率管理。
【背景技术】
[0002]能够结合在给定半导体衬底上以形成集成电路的晶体管的数量一直在增大。同时,操作集成电路的时钟频率(“操作频率”)也持续增大。尽管电源电压大小随着时间在降低,但集成电路的功耗一直在增大。在将集成电路用于能量存储有限的设备中时(例如,依靠电池操作的移动设备),功耗是必须对设备重新充电之前设备能够使用多长时间的一个因素。此外,功耗产生的热量可能是移动设备和非移动设备中都有的问题。
[0003]包括处理器以执行软件的设备能够管理处理器中的功耗。典型地,如果当前需要在处理器上执行软件,可以停止给定的处理器。停止处理器可以包括时钟门控和功率门控,在时钟门控中停止时钟,但处理器保持加电并准备好在重新启动时钟时执行指令,在功率门控中,使处理器断电,并在执行指令之前加电重置。
[0004]很多设备包括多个处理器,包括移动设备。处理器还可能是大功率消耗者,尤其是在特定工作负荷下。因此,可能有一些这样的操作点(电源电压大小和操作频率的组合),在这些操作点处,如果所有处理器都活动地执行,则设备处于超过设备中功率源容量的风险。亦即,电源能够输出最大量的电流。如果所有处理器都在某些操作点活动地执行功率密集型工作负荷,则造成的电流消耗可能超过功率源能够提供的电流量。超过功率源容量可能导致错误的操作(例如,电源电压大小可能下降到集成电路在该操作频率下不再正常工作的点)。

【发明内容】

[0005]在实施例中,一种系统可以包括多个处理器和被配置成在各操作点之间切换处理器的自动功率状态控制器(APSC)。可以由编写到APSC中的数据来描述操作点,并且APSC可以包括寄存器,该寄存器可以利用目标操作点请求来编程,该请求用于标识所描述操作点中用于处理器的目标操作点。描述操作点的数据还可以包括在操作点可以同时活动的处理器数量是否受到限制的指示。基于该指示和活动处理器的数量,APSC可以利用降低的操作点覆盖请求的操作点。降低的操作点可以是该数量的活动处理器可以安全工作(例如,不会超过电源的容量)的操作点。在一些实施例中,数字功率估计器(DPE)可以监测处理器的操作,并可以在检测到高功耗时抑制处理器。在包括DPE的实施例中,依赖于DPE抑制以控制最大功耗情形,降低的操作点可以稍微高于处理器可以安全工作的操作点。
【附图说明】
[0006]现在对附图进行简要说明,下面的具体说明将参照附图进行描述。
[0007]图1是包括中央处理单元(CPU)复合体的片上系统的一个实施例的框图。
[0008]图2是图1所示的自动功率状态控制器(APSC)的一个实施例的框图。
[0009]图3是示出了图2所示APSC的一个实施例的操作的流程图。
[0010]图4是示出了图1所示数字功率估计器(DPE)的一个实施例结合APSC的操作的流程图。
[0011 ] 图5是CPU复合体中的DPE的实施例方框图。
[0012]图6是示出了选择性启用DPE的一个实施例的流程图。
[0013]图7是示出了在启用DPE时图5中部件的一个实施例的操作的流程图。
[0014]图8是系统的一个实施例的框图。
[0015]尽管本发明易受各种修改形式和替代形式的影响,但附图中以举例的方式示出了其具体实施例并将在本文详细描述。然而,应当理解,本文的附图和详细描述并非旨在将本发明限制于所公开的特定形式,而正相反,其目的在于覆盖落在由所附权利要求所限定的本发明的实质和范围内的所有修改形式、等同形式和替代形式。本文所使用的标题仅用于组织的目的,并非意在用于限制说明书的范围。如在整个专利申请中所使用的那样,以允许的意义(即,意味着具有可能性)而不是强制的意义(即,意味着必须)来使用“可以”一词。类似地,词语“包括” (“include'“including”,和“includes”)是指包括但不限于。
[0016]各种单元、电路或其他部件可被描述为“被配置成”执行一项或多项任务。在此类情境中,“被配置成”是对一般意味着“具有”在操作期间执行这一项或多项任务的“电路”的结构的宽泛表述。如此,单元/电路/部件可被配置成即使在单元/电路/部件当前未接通时也执行所述任务。一般来讲,形成对应于“被配置成”的结构的电路可包括硬件电路和/或存储可执行以实现该操作的程序指令的存储器。存储器可包括易失性存储器(诸如静态随机存取存储器或动态随机存取存储器)和/或非易失性存储器(诸如光学存储装置或磁盘存储装置、闪存存储器、可编程只读存储器等)。类似地,为了描述中的方便,可将各种单元/电路/部件描述为执行一项或多项任务。此类描述应当被解释成包括短语“被配置成”。表述被配置成执行一项或多项任务的单元/电路/部件明确地旨在对该单元/电路/部件不援引35U.S.C.§112,第六段的解释。
[0017]该说明书包括参考“一个实施例”或“实施例”。出现短语“在一个实施例中”或“在实施例中”未必是指同一个实施例,尽管除非本文明确声明,一般会想到包括特征的任意组合的实施例。特定特征、结构或特性能够以任何与本公开相容的适当方式结合。
【具体实施方式】
[0018]现在转向图1,示出了 S0C 10的一个实施例的框图,该S0C 10耦接到存储器12和功率管理单元(PMU) 156。顾名思义,可以将S0C 10的部件集成到单个半导体衬底上作为集成电路“芯片”。在一些实施例中,可以在系统中的两个或更多个芯片上实现各个部件。然而,在本文中将把S0C 10用作实例。在例示的实施例中,S0C 10的部件包括中央处理单元(CPU)复合体14、外围部件18A-18B(简称“外围设备”)、存储器控制器22、功率管理器(PMGR) 32和通信结构27。部件14、18A_18B、22和32可以全部耦接到通信结构27。存储器控制器22在使用期间可以耦接到存储器12。在例示的实施例中,CPU复合体14包括一个或多个处理器28、二级(L2)高速缓存30、自动功率状态控制器16和数字功率估计器(DPE)电路20。
[0019]CPU复合体14可以包括用作S0C 10的CPU的一个或多个CPU处理器28。系统的CPU包括执行系统的主要控制软件诸如操作系统的处理器。通常,在使用期间由CPU执行的软件可以控制系统的其他部件以实现系统的期望功能。处理器28也可以执行其他软件诸如应用程序。应用程序可以提供用户功能,并可以依赖于用于低级设备控制的操作系统。因此,处理器28也可以被称为应用处理器。CPU复合体14还可以包括其他硬件,例如L2高速缓存30和/或与系统其他部件的接口(例如,与通信结构27的接口 )。
[0020]APSC 16可被配置成监测活动处理器28,并可被配置成基于当前操作点和活动处理器的数量动态地修改CPU复合体14的操作点。具体而言,在一些操作点处,如果超过最大数量的处理器在活动,则消耗的总功率可能超过在每个处理器中最坏情况功耗下PMU 156能够提供的功率能力。APSC 16可被配置成监测何时有超过最大数量的处理器活动,并可被配置成降低操作点以防止消耗的功率超过PMU 156的能力。降低的操作点可以是即使所有活动处理器28都在消耗最坏情况功率时,消耗的总功率也可以不超过PMU156的能力的操作点。
[0021]处理器28的最大数量可以比处理器的总数量少超过一个。例如,处理器28的总数量可以是N,并且针对给定操作点的处理器最大数量可以是N-M,其中N和Μ为整数,Ν大于Μ。针对给定操作点可以定义Μ个降低的操作点,可以基于活动处理器的数量选择Μ个降低操作点之一。即,如果活动处理器的数量比最大数量大一个,则可以选择Μ个降低操作点之一;如果活动处理器的数量比最大数量大两个,则可以选择Μ个降低操作点的另一个;等等。或者,可以有一个降低的操作点是充分降低的,以使Ν个处理器在最坏功耗下活动。处理器的最大数量可以是特定于操作点的。即,一个操作点可以具有Ν-Ml作为最大数量,并且另一个操作点可以具有Ν-Μ2作为最大数量,其中Ml和M2是不相同的整数。一些操作点可以没有最大数量(即,所有N个处理器可以都是活动的)。
[0022]例如,在处理器28中反复执行包含最高功耗指令的代码时,可能发生最坏功耗。哪些指令是最高功耗指令可能在处理器28的实施方式之间有所不同。在一些情况下,最高功耗指令可以是特定类型的指令(例如,浮点指令可能比媒体或整数指令消耗更多功率,或者媒体指令可以是最高功耗的,等等)。该类型指令内的特定指令可以比其他指令功耗更高(例如,乘-加浮点指令可能比其他浮点指令消耗更高功率)。
[0023]每个活动
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1