功率分配网络(PDN)跌落/过冲的缓解的制作方法

文档序号:14187303阅读:224来源:国知局

相关申请的交叉引用

本申请要求于2015年8月3日向美国专利商标局提交的非临时申请no.14/817,178的优先权和权益,其全部内容通过援引纳入于此。



背景技术:

领域

本公开的各方面一般涉及功率分配网络(pdn),尤其涉及pdn跌落/过冲的缓解。

背景

芯片可包括管理一个或多个片上处理器的功率的功率管理器。例如,当片上的处理器未被用于节省功率时,功率管理器可将该处理器置于空闲模式。当稍后需要处理器时,功率管理器可唤醒处理器以将该处理器置于活跃模式。

概述

以下给出对一个或多个实施例的简化概述以提供对此类实施例的基本理解。此概述不是所有构想到的实施例的详尽综览,并且既非旨在标识所有实施例的关键性或决定性要素亦非试图界定任何或所有实施例的范围。其唯一的目的是要以简化形式给出一个或多个实施例的一些概念以作为稍后给出的更加具体的说明之序。

根据一方面,本文描述了一种处理系统。该处理系统包括多个处理器,时钟设备,其被配置为生成输入时钟信号,以及频率调节器,其被配置为从时钟设备接收输入时钟信号并且基于输入时钟信号将输出时钟信号输出到多个处理器。该处理系统还包括功率管理器,其被配置为接收信号以激活处理器中的一者或多者,其中响应于该信号,功率管理器被配置为指令频率调节器:将输出时钟信号的频率从第一时钟频率降低到第二时钟频率,当输出时钟信号的频率处于第二时钟频率时激活处理器中的该一者或多者,以及指令频率调节器在处理器中的该一者或多者被激活之后,将输出时钟信号的频率从第二时钟频率增加到第一时钟频率。

第二方面涉及用于激活一个或多个处理器的方法。该方法包括将时钟信号的频率从第一时钟频率降低到第二时钟频率,其中时钟信号被输出到包括一个或多个处理器的多个处理器。该方法还包括在时钟信号的频率被降低之后激活该一个或多个处理器,以及在该一个或多个处理器被激活之后将时钟信号从第二时钟频率增加到第一时钟频率。

第三方面涉及用于激活一个或多个处理器的装备。该装备包括用于将时钟信号的频率从第一时钟频率降低到第二时钟频率的装置,其中时钟信号被输出到包括一个或多个处理器的多个处理器。该装备还包括用于在时钟信号的频率被降低之后激活该一个或多个处理器的装置,以及用于在该一个或多个处理器被激活之后将时钟信号从第二时钟频率增加到第一时钟频率的装置。

为能达成前述及相关目的,这一个或多个实施例包括在下文中充分描述并在权利要求中特别指出的特征。以下说明和所附插图详细阐述了这一个或多个实施例的某些解说性方面。但是,这些方面仅仅是指示了可采用各个实施例的原理的各种方式中的若干种,并且所描述的实施例旨在涵盖所有此类方面及其等效方案。

附图简述

图1示出了具有功率管理的示例性多核处理系统。

图2示出了根据本公开的实施例的具有功率管理的示例性多核处理系统。

图3a示出了根据本公开的实施例的在一个或多个处理器的激活期间的示例性时钟信号。

图3b示出了根据本公开的实施例的随着时间推移在图3a中的时钟信号之一的频率。

图4示出了根据本公开的实施例的频率斜坡下降的示例。

图5示出了根据本公开的实施例的频率斜坡上升的示例。

图6示出了根据本公开的实施例的频率斜坡下降和频率斜坡上升的示例。

图7示出了根据本公开的实施例的耦合到功率管理器的定时器的示例。

图8示出了根据本公开的实施例的温度控制器和电流控制器的示例。

图9示出了根据本公开的实施例的包括多个时钟源的时钟设备的示例。

图10示出了根据本公开的实施例的其中一个或多个处理器被激活的示例性时间线。

图11示出了根据本公开的实施例的能够输出多个时钟信号的时钟设备的示例。

图12示出了根据本公开的实施例的示例性时钟门控电路。

图13是解说根据本公开的实施例的用于激活一个或多个处理器的方法的流程图。

详细描述

以下结合附图阐述的详细描述旨在作为各种配置的描述,而无意表示可实践本文中所描述的概念的仅有的配置。本详细描述包括具体细节以便提供对各种概念的透彻理解。然而,对于本领域技术人员将显而易见的是,没有这些具体细节也可实践这些概念。在一些实例中,以框图形式示出众所周知的结构和组件以避免湮没此类概念。

图1示出了多核处理系统105(例如,四核处理系统)的示例包括:第一处理器115(1),第二处理器115(2),第三处理器115(3)和第四处理器115(4)。每个处理器也可被称为处理器核心、处理单元或其他术语。处理系统105还包括生成时钟信号(被表示为“clk”)并将其输出到处理器115(1)-115(4)的时钟设备110。时钟设备110可例如包括通过将参考时钟信号(例如,来自晶体振荡器)的频率乘以期望量来生成时钟信号clk的锁相环(pll)。每个处理器可将时钟信号clk用于切换处理器中的逻辑门(例如,晶体管)。

处理器115(1)-115(4)可以经由pdn(未示出)从外部功率源(未示出)接收功率。外部功率源可包括功率管理集成电路(pmic)或其他源。其他设备(例如,逻辑设备、i/o接口、调制解调器、存储器等)也可被耦合到pdn以从外部功率源接收功率。例如,处理系统105可被包括在也包括其他设备的移动设备中。

处理系统105进一步包括被配置为为处理系统105管理功率的功率管理器120。就此而言,当处理器未被用于节约功率时,功率管理器120可将处理器115(1)-115(4)中的任何一者置于空闲模式(也称为睡眠模式)。当稍后需要处理器时,功率管理器120可将该处理器置于活跃模式。在给定时间,任何数量(例如,从零到全部)的处理器115(1)-115(4)可处于空闲模式。因此,功率管理器120通过管理处理器115(1)-115(4)的空闲/活跃模式来管理处理系统105的功率。

当处理器处于空闲模式时,门控处理器的内部时钟路径,这防止时钟信号clk经由内部时钟路径传播到处理器中的逻辑门。这停止了由逻辑门进行的切换活动,从而显著地降低了处理器的动态功耗。当处理器处于活跃模式时,内部时钟路径被去门控,从而允许时钟信号clk传播到处理器中的逻辑门。在活跃模式下,处理器可提取、解码和/或执行指令。

在一示例中,处理器可向功率管理器120发送信号,请求功率管理器120将处理器置于空闲模式。处理器可例如在执行等待中断(wfi)或等待事件(wfe)指令之际发送该信号。当处理器没有当前等待执行的任务时,处理器也可发送该信号。响应于该信号,功率管理器120可将处理器从活跃模式转变到空闲模式。当功率管理器120收到中断信号或特定事件发生时,功率管理器120可稍后将处理器转变回到活跃模式。

图1中处理系统105的问题在于,当处理器从空闲模式转变到活跃模式时,处理器可以全时钟频率(即,时钟信号clk的频率)立即恢复切换活动。这会突然地改变由处理器115(1)-115(4)共享的pdn上的电流负载,从而导致pdn上的电源电压跌落。如果电压跌落足够大,则电压跌落可能导致其他处理器发生故障和/或耦合到pdn的其他设备(未示出)发生故障。如果两个或多个处理器几乎同时从空闲模式转变到活跃模式,则电压跌落可能会更糟。因此,需要缓解由一个或多个处理器的激活引起的pdn上的电压跌落。

图2示出了根据本公开的实施例的多核处理系统205。处理系统205进一步包括时钟频率调节器210,其被配置为在功率管理器220的控制下将时钟信号clk的频率降低可调节的量。在一示例中,时钟频率调节器210可包括脉冲吞除器,其通过选择性地吞除时钟信号clk的脉冲来降低时钟信号clk的频率。例如,脉冲吞除器可通过吞除时钟信号clk的每隔一个脉冲而将时钟信号clk的频率降低50%。在另一示例中,时钟频率调节器210可包括分频器(例如,分数分频器),其通过将时钟信号clk的频率除以可调节的量(除数)来降低时钟信号clk的频率。例如,分频器可通过将时钟信号clk的频率除以2来将时钟信号clk的频率降低50%。

在一实施例中,功率管理器220可被配置为当处理器115(1)-115(4)中的至少一者处于活跃模式,并且处理器115(1)-115(4)中没有一个处理器处于在空闲模式和活跃模式之间转变的过程中时,指令频率调节器210传递时钟信号clk,如以下进一步所讨论。在此情形中,由频率调节器210输出到处理器115(1)-115(4)的时钟信号(被表示为“clk_out”)与来自时钟设备110的时钟信号clk相同。

当处理器115(1)-115(4)中的一者或多者要从空闲模式转变到活跃模式(例如,响应于中断信号或事件),并且处理器115(1)-115(4)中的一个或多个其他处理器已经处于活跃模式时,功率管理器220可指令频率调节器210将时钟信号clk_out的频率降低预定的量。如以下所讨论,当一个或多个处理器被激活时,时钟频率中的这种降低减少了pdn上的电压跌落。

在时钟频率被降低之后,功率管理器220将该一个或多个处理器的内部时钟路径去门控以激活该一个或多个处理器。这导致在该一个或多个处理器中的逻辑门开始使用时钟信号clk_out进行切换。在一时间段已经流逝之后,功率管理器220指令频率调节器210将时钟信号clk_out的频率增加回到全时钟频率(即,来自时钟设备110的时钟信号clk的频率)。该时间段可基于以下进一步所讨论的一个或多个因素。

因此,在激活一个或多个处理器之前,功率管理器220降低到处理器115(1)-115(4)的时钟信号clk_out的频率。在时钟频率被降低之后,功率管理器220将该一个或多个处理器的内部时钟路径去门控以激活该一个或多个处理器。在一时间段已经流逝之后,功率管理器120指令频率调节器210将时钟信号clk_out的频率增加回到全时钟频率。时钟频率中的暂时降低减少了在一个或多个处理器被激活时电流负载的变化率。这进而减少了在一个或多个处理器被激活时pdn上的电压跌落。

图3a示出了根据本公开的实施例的来自时钟设备110的时钟信号clk和由频率调节器210输出的时钟信号clk_out的示例性时间线。在此示例中,处理器中的一者或多者从空闲模式转变到活跃模式,而其他处理器中的一者或多者已经处于活跃模式。最初,时钟信号clk_out处于全时钟频率(即,来自时钟设备110的时钟信号clk的频率)。在时间t1处,功率管理器220指令频率调节器210将时钟信号clk_out的频率降低25%,以达到几乎等于全时钟频率75%的频率。功率管理器220可响应于例如中断信号或事件来这样做,如以下进一步所讨论。在如图3a所示的示例中,频率调节器210通过吞除来自时钟设备110的时钟信号clk的每四个脉冲中的一个脉冲,将时钟信号clk_out的频率降低到全时钟频率的75%。

在频率被降低之后,功率管理器220在时间t2处将该一个或多个处理器的内部时钟路径去门控,以激活该一个或多个处理器。这导致该一个或多个处理器中的逻辑门开始使用时钟信号clk_out进行切换。功率管理器220在等待一时间段(在图3a中标记为“等待时间”)后,于时间t3处指令频率调节器210将时钟信号clk_out的频率增加回到全时钟频率。

图3b针对图3a中的示例示出了作为全时钟频率的百分比的时钟信号clk_out的频率。如图3b所示,在一个或多个处理器的激活之前,时钟信号clk_out的频率在时间t1处被降低到全时钟频率的75%。在一个或多个处理器的内部时钟路径被去门控之后,时钟信号clk_out的频率在时间t3处恢复到全时钟频率。

应领会,图3a中的等待时间可以跨越比图3a所示更多的时钟信号clk的循环(周期)。进一步地,尽管图3a示出了使用时钟脉冲吞除来降低时钟信号clk_out的频率的示例,但是应领会,也可通过对时钟信号clk的频率进行分频来降低时钟信号clk_out的频率。还应领会,本公开不限于其中时钟信号clk_out被降低到全时钟频率的75%的示例,并且还应领会时钟信号clk_out的频率可被降低到全时钟频率的其他百分比。例如,时钟信号clk_out的频率可被降低到全时钟频率的20%和80%之间的频率、或者全时钟频率的50%到80%。

在一实施例中,取决于将被激活的处理器的数目和/或已经处于活跃模式的处理器的数目,功率管理器220可将时钟信号clk_out的频率降低不同的量。例如,功率管理器220可包括列出不同场景的存储器中的表格,其中每个场景对应于将被激活的一个或多个处理器和/或已经处于活跃模式的一个或多个其他处理器。对于每个场景,该表格可指示时钟信号clk_out的对应所降低的频率(例如,全时钟频率的75%)。

在此示例中,当一个或多个处理器将被激活时,功率管理器220可基于将被激活的一个或多个处理器和/或已经处于活跃模式下的一个或多个其他处理器来确定应用表格中的哪个场景。在确定可应用的场景之后,功率管理器220可在表格中查找对应的所降低的频率(例如,全时钟频率的75%),并且指令频率调节器210将时钟信号clk_out的频率降低到表格中对应的所降低的频率。

该表格可以凭经验生成。例如,对于每个场景,可针对不同的所降低的频率(例如,通过测试环境中的外部测量设备)测量pdn上的电压跌落。然后可将每个所测量的电压跌落与电压跌落限制(例如,可由耦合到pdn的没有发生故障的处理器和/或其他设备容忍的电压跌落量)进行比较。在此示例中,可为该场景选择所降低的频率中导致电压跌落限制内的电压跌落的一个所降低的频率,并将其存储在表格中。在一方面,可为该场景选择所降低的频率中导致电压跌落限制内的电压跌落的最大一个所降低的频率,并将其存储在表格中。这样做可以在时钟信号clk_out的频率被降低时使性能损失最小化。因此,每个场景的所降低的频率可以凭经验确定,并存储在表格中供功率管理器220稍后使用。

在一实施例中,当时钟信号clk_out的频率将被降低到所降低的频率时,功率管理器220可指令频率调节器210将时钟信号clk_out的频率从全时钟频率斜坡下降到对应的所降低的频率,而不是从全时钟频率跳变到对应的所降低的频率。这样做可以缓解pdn上的电压过冲,如以下进一步所讨论。

降低时钟信号clk_out的频率减少了pdn上来自处于活跃模式的一个或多个处理器的电流负载。电流负载的减少导致pdn上的电压过冲,其中过冲的量取决于电流负载减少的速率,较高的速率通常对应于较大的过冲。通过斜坡下降时钟信号clk的频率,功率管理器220降低电流负载减少的速率,从而减少了过冲。

就此而言,图4针对其中时钟信号clk_out的频率被降低到全时钟频率的50%的示例随时间示出了作为全时钟频率的百分比的时钟信号clk_out的频率。在此示例中,当一个或多个处理器将被激活且一个或多个其它处理器已处于活跃模式时,功率管理器220可降低时钟信号clk_out。如图4所示,时钟信号clk_out的频率在多个步骤中被斜坡下降,其中时钟信号clk_out的频率在每个后续步骤中被降低到一更低的频率。在此示例中的一个或多个处理器被激活之前,时钟信号clk_out的频率被斜坡下降到全时钟频率的50%。

在第一步骤中,时钟信号clk_out的频率被降低到全时钟频率的87.5%。这可例如通过吞除时钟信号clk的每八个脉冲中的一个脉冲来完成。在第二步骤中,时钟信号clk_out的频率被降低到全时钟频率的75%。在第三步骤中,时钟信号clk_out的频率被降低到全时钟频率的67.5%。这可例如通过吞除时钟信号clk的每八个脉冲中的三个脉冲来完成。最终,在第四步骤中,时钟信号clk_out的频率被降低到全时钟频率的50%。每个步骤的时间历时可是预定的。在时钟信号clk_out的频率被降低到全时钟频率的50%之后,功率管理器220可将该一个或多个处理器的内部时钟路径去门控以激活该一个或多个处理器。

因此,时钟信号clk_out的频率通过多个步骤上被斜坡下降,其中时钟信号clk_out的频率在每个后续步骤中被降低到一更低的频率。虽然以上图4的讨论使用了时钟脉冲吞除的示例,但是应领会,本公开不限于该示例。例如,时钟信号clk_out的频率可使用分频器来斜坡下降。在此示例中,时钟信号clk_out的频率可通过将时钟信号clk的频率除以递增量(除数)来斜坡下降。

如上所讨论,功率管理器220可包括列出不同场景的存储器中的表格,其中每个场景对应于将被激活的一个或多个处理器和/或已经处于活跃模式的一个或多个其他处理器。对于每个场景,该表格可指示时钟信号clk_out的对应所降低的频率(例如,全时钟频率的50%)。对于每个场景,该表格还可指示对应的斜坡下降序列,其用于将时钟信号clk_out的频率从全时钟频率斜坡下降到对应的所降低的频率。斜坡下降序列可指定全时钟频率和对应的所降低的频率之间的中间频率序列,其中该中间频率可以从最高到最低进行排序。

在此示例中,当一个或多个处理器将被激活时,功率管理器220可确定应用表格中的哪个场景。在确定可应用的场景之后,功率管理器220可在表格中查找对应的所降低的频率和斜坡下降序列。功率管理器220随后可指令频率调节器210按照最高到最低的顺序,顺序地将时钟信号clk_out的频率降低到斜坡下降序列中的中间频率中的每一者。在每个中间频率上花费的时间量可以是预定的。在达到最后的中间频率之后,功率管理器220可指令频率调节器210将时钟信号clk_out的频率降低到对应的所降低的频率(例如,全时钟频率的50%)。功率管理器220随后可激活在该情形下将被激活的一个或多个处理器。

用于表格中的不同场景的斜坡下降序列可以凭经验生成。例如,对于每个场景,可针对不同的斜坡下降序列测量pdn上的电压过冲。然后可将每个所测量的电压过冲与电压过冲限制(例如,可由耦合到pdn的没有发生故障的处理器和/或其他设备容忍的电压过冲量)进行比较。在此示例中,可为该场景选择斜坡下降序列中导致电压过冲限制内的电压过冲的一个斜坡下降序列,并将其存储在表格中。

在一实施例中,在一个或多个处理器的激活之后,时钟信号clk_out的频率恢复到全时钟频率时,功率管理器220可指令频率调节器210将时钟信号clk_out的频率从对应的所降低的频率斜坡上升到全时钟频率,而不是从对应的所降低的频率跳变到全时钟频率。这样做可以缓解pdn上的电压跌落,如以下进一步所讨论。

增加时钟信号clk_out的频率增加了pdn上来自一个或多个活跃处理器的电流负载。电流负载的增加导致pdn上的电压跌落,其中跌落的量取决于电流负载增加的速率,较高的速率通常对应于较大的下降。通过斜坡上升时钟信号clk的频率,功率管理器220降低电流负载增加的速率,从而减少了跌落。

就此而言,图5针对其中时钟信号clk_out的频率从全时钟频率的50%增加到全时钟频率的示例随时间示出了作为全时钟频率的百分比的时钟信号clk_out的频率。在此示例中,功率管理器220可在一个或多个处理器已经被激活之后增加时钟信号clk_out的频率以恢复全时钟频率。如图5所示,时钟信号clk_out的频率在多个步骤中被斜坡上升,其中时钟信号clk_out的频率在每个后续步骤中被增加到一更高的频率。在此示例中的一个或多个处理器已经被激活之后,时钟信号clk_out的频率可以被斜坡上升。

在第一步骤中,时钟信号clk_out的频率被增加到全时钟频率的67.5%。在第二步骤中,时钟信号clk_out的频率被增加到全时钟频率的75%。在第三步骤中,时钟信号clk_out的频率被增加到全时钟频率的87.5%。最后,在第四步骤中,时钟信号clk_out的频率被增加到全时钟频率,从而恢复至处理器的全时钟频率。每个步骤的时间历时可以是预定的。

因此,时钟信号clk_out的频率通过多个步骤被斜坡上升,其中时钟信号clk_out的频率在每个后续步骤中被增加到一更高的频率。在一示例中,时钟信号clk_out的频率可使用时钟吞除器来斜坡上升。在此示例中,时钟信号clk_out的频率通过吞除时钟脉冲的减少的百分比而斜坡上升。在另一示例中,时钟信号clk_out的频率可使用分频器来斜坡上升。在此示例中,时钟信号clk_out的频率可通过将时钟信号clk的频率除以递减量(除数)而斜坡上升。

如上所讨论,功率管理器220可包括列出不同场景的存储器中的表格,其中每个场景对应于将被激活的一个或多个处理器和/或已经处于活跃模式的一个或多个其他处理器。对于每个场景,该表格可指示时钟信号clk_out的对应所降低的频率(例如,全时钟频率的50%)和/或斜坡下降序列。对于每个场景,该表格还可指示对应的斜坡上升序列,其用于在该场景下激活一个或多个处理器之后将时钟信号clk_out的频率斜坡上升回到全时钟频率。斜坡上升序列可指定对应的所降低的频率和全时钟频率之间的中间频率序列,其中该中间频率可以从最低到最高进行排序。

在此示例中,当一个或多个处理器将被激活时,功率管理器220可确定应用表格中的哪个场景。在确定可应用的场景之后,功率管理器220可在表格中查找对应的所降低的频率和斜坡上升序列。功率管理器220随后可将时钟信号clk_out的频率降低到对应的所降低的频率。如上所讨论,这可能涉及斜坡下降时钟信号clk_out的频率。在时钟信号clk_out的频率被降低之后,功率管理器220可激活在该场景下将被激活的一个或多个处理器。在一个或多个处理器被激活之后,功率管理器220可指令频率调节器210按照最低到最高的顺序,顺序地将时钟信号clk_out的频率增加到斜坡上升序列中的中间频率中的每一个中间频率。在每个中间频率上花费的时间量可以是预定的。在达到最后的中间频率之后,功率管理器220可指令频率调节器210将时钟信号clk_out的频率增加到全时钟频率。

用于表格中的不同场景的斜坡上升序列可以凭经验生成。例如,对于每个场景,可针对不同的斜坡上升序列测量pdn上的电压跌落。随后可将每个所测量的电压跌落与电压跌落限制进行比较。在此示例中,可为该场景选择斜坡上升序列中导致电压跌落限制内的电压跌落的一个斜坡上升序列,并将其存储在表格中。

图6针对其中一个或多个处理器被激活(例如,响应于中断信号或事件)而一个或多个其它处理器已经处于活跃模式的示例随时间示出了作为全时钟频率的百分比的时钟信号clk_out的频率。最初,到处理器的时钟信号clk_out处于全时钟频率(即,来自时钟设备110的时钟信号clk的频率)。在时间t1处,功率管理器220指令频率调节器210将时钟信号clk_out的频率斜坡下降,以达到等于全时钟频率50%的所降低的频率。在时间t2处,时钟信号clk_out的频率达到所降低的频率。功率管理器220随后在时间t3处将该一个或多个处理器的内部时钟路径去门控以激活该一个或多个处理器。在等待时段(在图6中标记为“等待时间”)之后,功率管理器220指令频率调节器210在时间t4处将时钟信号clk_out的频率斜坡上升回到全时钟频率。在时间t5处,时钟信号clk_out的频率恢复到全频率。应领会,时钟信号clk_out的频率可被降低到除全时钟频率的50%以外的其他频率,并且因此不限于全时钟频率的50%的示例。

如上所讨论,在将一个或多个处理器的内部时钟路径去门控之后,功率管理器220可在将时钟信号clk_out的频率增加回到全时钟频率之前等待一等待时段。在一示例中,该等待时段可取决于在一个或多个处理器的内部时钟路径被去门控之后用于pdn的电压稳定时间,如下所讨论的。

由于pdn上来自一个或多个处理器的电流负载的增加,将该一个或多个处理器的内部时钟路径去门控导致pdn上的电压跌落。如上所讨论,在将该一个或多个处理器的内部时钟路径去门控之前,通过降低时钟信号clk_out的频率来降低该电压跌落。在电压跌落之后,pdn的电压逐渐稳定到与pdn的标称电源电压近似相等的电压。在此示例中,等待时间可由pdn的电压稳定在pdn的标称电源电压的一定范围内(例如,5%或更小以内)所花费的时间来确定。稳定时间可以凭经验确定,如以下进一步所讨论。

如上所讨论,功率管理器220可包括列出不同场景的存储器中的表格,其中每个场景对应于将被激活的一个或多个处理器和/或已经处于活跃模式的一个或多个其他处理器。对于每个场景,该表格可包括对应的所降低的频率和对应的等待时间。在此示例中,当一个或多个处理器将被激活时,功率管理器220可确定应用表格中的哪个场景。在确定可应用的场景之后,功率管理器220可在表格中查找对应的所降低的频率和对应的等待时间。功率管理器220随后可将时钟信号clk_out的频率降低到对应的所降低的频率。在时钟信号clk_out的频率被降低之后,功率管理器220可将在该场景下将被激活的一个或多个处理器的内部时钟路径去门控。在将时钟路径去门控之后,在将时钟信号clk_out的频率增加回到全时钟频率之前,功率管理器220等待对应的等待时间。在此示例中,功率管理器220可使用定时器来确定何时等待时间已经流逝。

用于表格中的不同场景的等待时间可以凭经验生成。例如,对于每个场景,当在该场景下将要激活的一个或多个处理器的内部时钟路径去门控时,可测量pdn的电压波形。随后可分析电压波形以确定pdn的电压稳定在pdn的标称电源电压的一定范围内的时间。所确定的时间(稳定时间)可被用于确定该场景的等待时间,并且所确定的等待时间可被存储在表中以供功率管理器220稍后使用。

如上所讨论,当处理器执行等待中断(wfi)指令、等待事件(wfe)指令、或指示处理器将被置于空闲模式的另一指令时,功率管理器220可将处理器115(1)-115(4)之一置于空闲模式。在执行该指令之际,处理器可向功率管理器220发信令通知以将该处理器置于空闲模式。在该处理器被置于空闲模式之后,当功率管理器220接收了中断信号或某个事件发生时,功率管理器220可将该处理器转变回活跃模式。中断信号可来自需要该处理器(例如,用于处理数据)的设备(例如,外围设备)。

在另一示例中,中断信号可以来自定时器。就此而言,图7示出了其中处理系统705包括耦合到功率管理器220的定时器710的示例。在此示例中,响应于接收信号以将处理器置于空闲模式,功率管理器220可触发定时器710。在被触发之后,定时器710可在预定时间段流逝之后将中断信号发送到功率管理器220。定时器710可使用内部计数器或另一电路来跟踪时间。响应于来自定时器710的中断信号,功率管理器220可激活处理器,如上所讨论。

功率管理器220可将预定的时间段编程到定时器710中。预定时间段可基于直到再次需要处理器的时间量的估计。例如,处理器可用于处理时间帧中的数据。在此示例中,处理器可在接收到下一个时间帧的数据之前完成对当前时间帧的数据的处理。在此情形中,当处理器完成了对当前时间帧的数据的处理时,处理器可向功率管理器220发信令通知以将处理器置于空闲模式。作为响应,功率管理器220可将处理器置于空闲模式以节省功率。功率管理器220还可确定直到下一个时间帧开始的时间量以及根据所确定的时间量来对定时器710进行编程,使得定时器710恰好在下一帧开始之前发送中断信号。替换地,处理器可确定直到下一帧的时间量,并且将所确定的时间量发送给功率管理器220以相应地对定时器710进行编程。

在另一示例中,当某个事件发生时,功率管理器220可将处理器转变回活跃模式。在此示例中,当事件发生时,功率管理器220可从设备(例如,外围设备)接收指示事件已经发生的事件信号。响应于事件信号,功率管理器220可激活处理器,如上所讨论。

事件可以是设备(例如,外围设备)需要使用处理器。在此示例中,当设备需要使用处理器(例如,用于数据处理)时,设备可向功率管理器220发送事件信号以激活处理器。设备(例如,照相机)可在被激活和/或连接到包括处理系统205或705的移动设备(例如,智能电话)之后,立即将事件信号发送到功率管理器220。应领会,如果设备需要多于一个处理器,该设备还可发送事件信号来激活两个或多个处理器。

在上面的示例中,频率调节器210用于在激活处理器115(1)-115(4)中的一者或多者之前降低时钟信号clk_out的频率。然而,应领会,频率调节器210也可用于在其他应用中降低时钟信号clk_out的频率。例如,温度控制器可在温度缓解期间使用频率调节器210来降低时钟信号clk_out的频率。就此而言,图8示出了处理系统805的实例,其中温度控制器810使用一个或多个片上温度传感器820监视处理器系统805驻留于其上的芯片的温度。如果所监测的温度升高到热阈值以上,则温度控制器810可指令频率调节器210降低时钟信号clk_out的频率以降低温度。所降低的频率通过减少活跃处理器的动态功耗来降低温度。

在另一示例中,电流控制器830可使用频率调节器210来防止pdn上的电流超过电流限制。在此示例中,电流控制器830可使用一个或多个片上电流传感器840监测pdn上的电流。如果所监测的电流超过电流限制,则电流控制器830可指令频率调节器210降低时钟信号clk_out的频率以降低温度。所降低的频率通过减小活跃处理器的电流负载来降低电流。

因此,当一个或多个处理器将被激活时,时钟信号clk_out的频率可能已经处于比时钟信号clk的频率低的频率(例如,由于温度缓解)。在此情形中,功率管理器220可在确定将时钟信号clk_out的频率降低多少时将时钟信号clk_out的当前频率纳入考虑。

就此而言,功率管理器220可包括列出不同场景的存储器中的表格,其中每个场景对应于将被激活的一个或多个处理器、已经处于活跃模式的一个或多个其他处理器、和/或时钟信号clk_out的当前频率。对于每个场景,表格可指示对应的所降低的频率、斜坡下降序列,斜坡上升序列和/或等待时间。

在此示例中,当一个或多个处理器将被激活时,功率管理器220可基于将被激活的一个或多个处理器、已经处于活跃模式的一个或多个其他处理器、和/或时钟信号clk_out的当前频率,来确定应用表格中的哪个场景。由于当前频率(其可以低于时钟信号clk的频率)是一个或多个处理器被激活之前的频率,所以当前时钟频率可以被称为“初始频率”。

在确定可应用的场景之后,功率管理器220可在表格中查找对应的所降低的频率、斜坡下降序列、斜坡上升序列、和/或等待时间。功率管理器220随后可指令频率调节器210将时钟信号clk_out的频率从初始频率降低到对应的所降低的频率。如果表格包括该场景对应的斜坡下降序列,则功率管理器220可指令频率调节器210根据对应的斜坡下降序列将时钟信号clk_out的频率从初始频率降低到对应的所降低的频率。在时钟信号clk_out的频率被降低之后,功率管理器220可激活在该场景下将被激活的一个或多个处理器。功率管理器220随后可在将时钟信号clk_out的频率增加回初始时钟频率之前等待对应的等待时间。如果表格包括该场景对应的斜坡上升序列,则功率管理器220可指令频率调节器210根据对应的斜坡上升序列将时钟信号clk_out的频率斜坡上升回到初始时钟频率。

该表格可使用上面所讨论的技术凭经验生成。更具体地,对于每个场景,可使用上面所讨论的技术来确定将pdn的电压保持在跌落限度和/或过冲限度内的所降低的频率、斜坡下降序列、斜坡上升序列和/或等待时间。

替代在一个或多个处理器被激活之后返回到初始时钟频率,功率管理器220可指令频率调节器210将时钟信号clk_out的频率从所降低的频率增加到所降低的频率和初始时钟频率之间的频率。例如,如果初始时钟频率由于温度控制器810的温度缓解而低于全时钟频率,则可以这样做。这是因为一个或多个处理器的激活导致该一个或多个处理器对处理系统的总动态功耗有贡献,其可能会增加温度。将时钟信号clk_out的频率从所降低的频率增加到低于初始频率的频率可补偿来自该一个或多个处理器的增加的动态功耗。替换地,功率管理器220可指令频率调节器210将时钟信号clk_out的频率增加回到初始频率,并且基于一个或多个处理器的激活而导致的任何温度增加,依靠温度控制器810来重新调节时钟信号clk_out的频率。

在一实施例中,时钟设备110可被配置为取决于处理器115(1)至115(4)中的一者或多者的所期望的处理速度,来输出多个不同时钟频率之一。就此而言,图9示出了处理系统905的示例,其中时钟设备110包括第一时钟源915、第二时钟源920和多路复用器930。时钟源915和920中的每一者可包括锁相环(pll)或另一类型的电路。第一时钟源915向多路复用器930提供第一输入时钟信号(被表示为“clk_a”),而第二时钟源920向多路复用器930提供第二输入时钟信号(被表示为“clk_b”),其中第一输入时钟信号clk_a具有比第二输入时钟信号clk_b更高的频率。尽管在图9的示例中的时钟设备110包括两个时钟源,应领会,时钟设备110可包括两个以上时钟源。

多路复用器930被配置为接收输入时钟信号clk_a和clk_b,以及在时钟控制器935的控制下选择性地输出输入时钟信号clk_a和clk_b中的一者。输入时钟信号clk_a和clk_b中所选择的一者提供时钟设备110的输出时钟信号clk。

时钟控制器935可被配置为取决于使用情形通过控制由多路复用器930选择的输入时钟信号clk_a和clk_b中的哪一者,来动态地改变时钟信号clk的频率。例如,如果处理器115(1)-115(4)中的一者或多者正在运行一个或多个需要高处理速度的应用,则时钟控制器935可指令多路复用器930选择第一输入时钟信号clk_a。在此情形中,时钟信号clk由第一输入时钟信号clk_a供源,并且因此具有第一输入时钟信号clk_a的频率。在另一示例中,如果处理器115(1)-115(4)中的一者或多者正在运行一个或多个不需要高处理速度的应用,则时钟控制器935可指令多路复用器930选择第二输入时钟信号clk_b以节约功率。在此情形中,时钟信号clk由第二输入时钟信号clk_b供源,并且因此具有低于第一输入时钟信号clk_a的频率的第二时钟信号clk_b的频率。

在一方面,处理器115(1)-115(4)中的每一者可被配置为基于处理器的处理需求向时钟控制器935发送请求以改变时钟信号clk的频率。例如,如果处理器正在运行计算密集型应用,则处理器可向时钟控制器935发送请求以增加时钟信号clk的频率。响应于该请求,如果当前选择了第二输入时钟信号clk_b,则时钟控制器935可指令多路复用器930选择第一输入时钟信号clk_a。在另一示例中,时钟控制器935可选择第二输入时钟信号clk_b,除非一个或多个处理器请求较高的时钟频率。

功率管理器220还可指令时钟控制器935选择输入时钟信号clk_a至clk_b中的哪一者。例如,如果给处理系统905供电的电池电量运行低以节省功率,则功率管理器220可指令时钟控制器935选择第二输入时钟信号clk_b。在此情形中,来自功率管理器220的指令可优先于来自处理器的增加时钟频率的请求。在一方面,时钟控制器935可通知功率管理器220当前选择输入时钟信号clk_a和clk_b中的哪一者,如以下进一步所讨论。

如上所讨论,当要激活一个或多个处理器时,功率管理器220可在确定将时钟信号clk_out的频率降低多少时将时钟信号clk_out的当前频率纳入考虑。在此实施例中,时钟信号clk_out的当前频率至少部分地取决于多路复用器930选择输入时钟信号clk_a和clk_b中的哪一者。因此,功率管理器220使用的表格中的场景可包括对应于输入时钟信号clk_a和clk_b中的每一者的场景。

在此示例中,当一个或多个处理器将被激活时,功率管理器220可基于将被激活的一个或多个处理器、已经处于活跃模式下的一个或多个其他处理器、和/或时钟信号clk_out的当前频率,来确定应用表格中的哪个场景。当前时钟频率至少部分取决于当前选择输入时钟信号clk_a和clk_b中的哪一者。如上所讨论,由于当前频率是一个或多个处理器被激活之前的频率,所以当前频率可被称为“初始频率”。

在确定可应用的场景之后,功率管理器220可在表格中查找对应的所降低的频率、斜坡下降序列、斜坡上升序列、和/或等待时间。功率管理器220随后可指令频率调节器210将时钟信号clk_out的频率从初始频率降低到对应的所降低的频率。如果表格包括该场景对应的斜坡下降序列,则功率管理器220可指令频率调节器210根据对应的斜坡下降序列将时钟信号clk_out的频率从初始频率降低到对应的所降低的频率。在时钟信号clk_out的频率被降低之后,功率管理器220可激活在该场景下将被激活的一个或多个处理器。功率管理器220随后可在将时钟信号clk_out的频率增加回初始频率之前等待对应的等待时间。如果表格包括该场景对应的斜坡上升序列,则功率管理器220可指令频率调节器210根据对应的斜坡上升序列将时钟信号clk_out的频率斜坡上升回到初始频率。

该表格可使用上面所讨论的技术凭经验生成。更具体地,对于每个场景,可使用上面所讨论的技术来确定将pdn的电压保持在跌落限度和/或过冲限度内的所降低的频率、斜坡下降序列、斜坡上升序列和/或等待时间。

在一实施例中,功率管理器220可被配置为当所有的处理器115(1)-115(4)都处于空闲模式以节省功率时禁用时钟信号clk。例如,功率管理器220可通过关闭时钟设备110中的时钟源915和920(例如,pll)来禁用时钟信号clk。在此示例中,时钟控制器935可被配置为在电源管理器220的控制下关闭时钟源915和920。在另一示例中,功率管理器220可通过禁用多路复用器930来禁用时钟信号clk。

在此实施例中,当一个或多个处理器将被激活并且所有的处理器115(1)-115(4)初始都处于空闲模式时,功率管理器220可首先启用时钟信号clk。例如,功率管理器220可指令时钟控制器935以打开时钟源915和920,和/或启用多路复用器930。功率管理器220还可指令时钟控制器935选择输入时钟信号clk_a至clk_b中的哪一者以对时钟信号clk供源。例如,功率管理器220可指令时钟控制器935初始选择第二输入时钟信号clk_b。在另一示例中,功率管理器220可指令时钟控制器935选择在所有的处理器115(1)-115(4)都被置于空闲模式之前被最后所选择过的输入时钟信号。

当时钟信号clk被启用时,功率管理器220可指令频率调节器210以期望的所降低的频率(即,低于时钟信号clk的频率的频率)输出时钟信号clk_out。当一个或多个处理器被激活时,所降低的频率减少pdn上的电压跌落,如以下进一步所讨论。当时钟信号clk_out的频率处于所降低的频率时,功率管理器220可激活该一个或多个处理器(例如,通过将该一个或多个处理器的内部时钟路径去门控)。功率管理器220随后可等待一等待时段,并且在等待时段已经流逝之后,将时钟信号clk_out的频率增加到全时钟频率。在一方面,功率管理器220可将时钟信号的频率从所降低的频率斜坡上升到全时钟频率。

因此,以所降低的时钟频率激活该一个或多个处理器而不是以全时钟频率(即,时钟信号clk的频率)。当一个或多个处理器被激活时,所降低的频率降低了在pdn上的电流负载的变化率,从而减少pdn上的电压跌落。

如以上所讨论,功率管理器220可包括列出不同场景的存储器中的表格。表格中的场景可包括其中所有的处理器115(1)-115(4)初始都处于空闲模式的多个场景。这些场景中的每一个场景可对应于将被激活的一个或多个处理器,和/或时钟信号clk的频率(例如,选择输入时钟信号clk_a和clk_b中的一者)。对于这些场景中的每一个场景,该表格可指示针对时钟信号clk_out的对应的所降低的频率、斜坡上升序列、和/或等待时间。

在此示例中,当一个或多个处理器将被激活并且所有的处理器115(1)-115(4)初始都处于空闲模式时,功率管理器220可基于要被激活的一个或多个处理器、和/或时钟信号clk的频率(例如,输入时钟信号clk_a和clk_b中所选择一者的频率)来确定应用表格中的多个场景中的哪一者。在确定可应用的场景之后,功率管理器220可在表格中查找对应的所降低的频率、斜坡上升序列和/或等待时间。功率管理器220随后可启用时钟信号clk并指令频率调节器210以处于对应的所降低的频率的频率输出时钟信号clk_out。功率管理器220随后可激活在该情形下将被激活的一个或多个处理器,并且在将时钟信号clk_out的频率增加到全时钟频率(即,时钟信号clk的频率)之前等待对应的等待时间。如果表格包括该场景对应的斜坡上升序列,则功率管理器220可指令频率调节器210根据对应的斜坡上升序列将时钟信号clk_out的频率斜坡上升到全时钟频率。

该表格可使用上面所讨论的技术凭经验生成。更具体地,对于每个场景,可使用上面所讨论的技术来确定将pdn的电压保持在跌落限度和/或过冲限度内的所降低的频率、斜坡上升序列和/或等待时间。

图10针对其中一个或多个处理器被激活(例如,响应于中断信号或事件)以及所有的处理器初始都处于活跃模式的示例随时间示出了作为全时钟频率的百分比的时钟信号clk_out的频率。在时间t1处,功率管理器220启用时钟信号clk,并且频率调节器210以等于全时钟频率的50%的所降低的频率输出时钟信号clk_out。此时,所有的处理器都可能处于空闲模式。功率管理器220随后在时间t2处将一个或多个处理器的内部时钟路径去门控以激活该一个或多个处理器。在等待时段(在图10中标记为“等待时间”)之后,功率管理器220指令频率调节器210在时间t4处将时钟信号clk_out的频率斜坡上升到全时钟频率。在时间t5处,时钟信号clk_out的频率达到全频率。应领会,可使用除了全时钟频率的50%之外的其他所降低的频率,并且因此本公开不限于全时钟频率的50%的示例。进一步地,虽然未在图10中示出,应领会,当时钟信号clk被启用时,时钟信号clk_out可从几乎零赫兹斜坡上升到所降低的频率。

在一实施例中,时钟设备可向处理器115(1)-115(4)输出多于一个时钟信号。就此而言,图11示出了处理系统1105的一示例,其中时钟设备1110向第一和第二处理器115(1)和115(2)输出第一时钟信号(被表示为“clk1”),以及向第三和第四处理器115(3)和115(4)输出第二时钟信号(被表示为“clk2”)。这允许第一和第二处理器115(1)和115(2)以与第三和第四处理器115(3)和115(4)不同的时钟速度操作,如以下进一步所讨论。

在此示例中,时钟设备1110包括第一多路复用器930(1)和第二多路复用器930(2)。第一多路复用器930(1)被配置为分别从第一和第二时钟源915和920接收输入时钟信号clk_a和clk_b,并且在时钟控制器935的控制下将输入时钟信号clk_a和clk_b之一选择性地输出到第一和第二处理器115(1)和115(2)。第二多路复用器930(2)被配置为分别从第一和第二时钟源915和920接收输入时钟信号clk_a和clk_b,并且在时钟控制器935的控制下将输入时钟信号clk_a和clk_b之一选择性地输出到第三和第四处理器115(3)和115(4)。此布置允许取决于第一和第二多路复用器930(1)和930(2)的选择,处理器115(1)-115(4)接收输入时钟信号clk_a和clk_b中的相同一者,或者第一和第二处理器115(1)和115(2)接收输入时钟信号clk_a和clk_b中与第三和第四处理器115(3)和115(4)不同的一者。

时钟控制器935可被配置为通过控制由相应的多路复用器选择输入时钟信号clk_a和clk_b中的哪一者,来动态地改变第一和第二输出时钟信号clk1和clk2中的每一者的频率。例如,如果第一和第二处理器115(1)和115(2)中的一者或两者都需要高处理速度(例如,第一和第二处理器115(1)和115(2)中的一者或两者都请求高时钟速度)时,则时钟控制器935可指令第一多路复用器930(1)选择第一输入时钟信号clk_a。在此情形中,第一输出时钟信号clk1由第一输入时钟信号clk_a供源。类似地,如果第三和第四处理器115(2)和115(3)中的一者或两者都需要高处理速度(例如,第三和第四处理器115(3)和115(4)中的一者或两者都请求高时钟速度)时,则时钟控制器935可指令第二多路复用器930(2)选择第一输入时钟信号clk_a。在此情形中,第二输出时钟信号clk2由第一输入时钟信号clk_a供源。

在另一示例中,如果第一和第二处理器115(1)和115(2)中的一者或两者都不需要高处理速度,则时钟控制器935可指令第一多路复用器930(1)选择第二输入时钟信号clk_b以节省功率。在此情形中,第一输出时钟信号clk1由具有低于第一输入时钟信号clk_a的频率的第二输入时钟信号clk_b供源。类似地,如果第三和第四处理器115(3)和115(4)中的一者或两者都不需要高处理速度,则时钟控制器935可指令第二多路复用器930(2)选择第二输入时钟信号clk_b以节省功率。在此情形中,第二输出时钟信号clk2由第一输入时钟信号clk_b供源。

在图11的示例中,处理系统1105包括第一频率调节器210(1)和第二频率调节器210(2)。第一频率调节器210(1)被配置为在功率管理器220的控制下将第一时钟信号clk1的频率降低可调整的量,以及将得到的时钟信号(被表示为“clk_out1”)输出到第一和第二处理器115(1)和115(2)。

第二频率调节器210(2)被配置为在功率管理器220的控制下将第二时钟信号clk2的频率降低可调整的量,以及将得到的时钟信号(被表示为“clk_out2”)输出到第三和第四处理器115(3)和115(4)。这允许功率管理器220独立地调整第一和第二输出时钟信号clk_out1和clk_out2的频率。

在此示例中,功率管理器220可在各种场景下激活处理器115(1)-115(4)中的一者或多者。例如,在一示例性场景中,功率管理器220可激活第一处理器115(1)和/或第二处理器115(2),而其他处理器中的一者或多者已经处于活跃模式。在此场景中,功率管理器220可在激活第一和/或第二处理器之前降低第一输出时钟信号clk_out1的频率。在另一示例性场景中,功率管理器220可激活第三处理器115(3)和/或第四处理器115(4),而其他处理器中的一者或多者已经处于活跃模式。在此场景中,功率管理器220可在激活第三和/或第四处理器之前降低第二输出时钟信号clk_out2的频率。在又一示例性场景中,功率管理器220可激活第一处理器115(1)和/或第三处理器115(3),而第二处理器和第四处理器中的一者或两者都已经处于活跃模式。在此场景中,功率管理器220可在激活第一和第三处理器之前降低第一输出时钟信号clk_out1的频率和第二输出时钟信号clk_out2的频率。

为了在不同场景下激活处理器115(1)-115(4)中的一者或多者,功率管理器220可包括列出不同场景的存储器中的表格。这些场景中的每一个场景可对应于将被激活的一个或多个处理器、处于活跃模式的一个或多个其他处理器、第一输出时钟clk_out1的频率和/或第二输出的频率时钟clk_out2。对于这些场景中的每一个场景,该表格可包括用于第一输出时钟信号clk_out1的参数集(例如,对应的所降低的频率、斜坡下降序列、斜坡上升序列和/或等待时间),和/或用于第二输出时钟信号clk_out2的参数集(例如,对应的所降低的频率、斜坡下降序列、斜坡上升序列和/或等待时间)。

对于一些场景(例如,其中只有一个处理器将被激活的场景),该表格可仅包括用于第一输出时钟信号clk_out1和第二输出时钟信号clk_out2之一的参数集。在这些情形中,功率管理器220可不管另一个输出时钟信号。对于其他场景(例如,其中第一和第三处理器将被激活的场景),该表格可包括用于第一和第二输出时钟信号clk_out1和clk_out2中的每一者的参数集。

当一个或多个处理器将被激活时,功率管理器220可基于将要激活的一个或多个处理器、已经处于活跃模式的一个或多个其他处理器,第一输出时钟信号clk_out1的当前频率和/或第二输出时钟信号clk_out2的当前频率,来确定应用表格中的多个场景中的哪一者。在确定可应用的场景之后,功率管理器220可查找在表格中用于第一输出时钟信号clk_out1的参数集(例如,对应的所降低的频率、斜坡下降序列、斜坡上升序列和/或等待时间),和/或在表格中用于第二输出时钟信号clk_out2的参数集(例如,对应的所降低的频率、斜坡下降序列、斜坡上升序列和/或等待时间)。

功率管理器220随后可将第一输出时钟信号clk_out1的频率降低到对应的所降低的频率,和/或将第二输出时钟信号clk_out2的频率降低到对应的所降低的频率。如果输出时钟信号clk_out1和clk_out2两者的频率都被斜坡下降,则各频率斜坡下降可能在时间上交叠。替换地,功率管理器220可在将输出时钟信号中一者的频率斜坡下降之前,斜坡下降输出时钟信号中的另一者的频率。

在第一输出时钟信号clk_out1的频率和/或第二输出时钟信号clk_out2的频率被降低之后,功率管理器220可激活在该场景下将被激活的一个或多个处理器。功率管理器220随后可在对应的等待时间之后将第一输出时钟信号clk_out1的频率增加,和/或在对应的等待时间之后将第二输出时钟信号clk_out2的频率增加。如果输出时钟信号clk_out1和clk_out2的频率两者都被斜坡上升,则各频率斜坡上升可能在时间上交叠。替换地,功率管理器220可在将输出时钟信号中一者的频率斜坡上升之前,斜坡上升输出时钟信号中另一者的频率。在此情形中,用于第一和第二输出时钟信号的等待时间可能不同。

在此示例中的表格可使用上面所讨论的技术凭经验生成。更具体地,针对每种不同的场景,可为第一输出时钟信号clk_out1确定参数集和/或可为第二输出时钟信号clk_out2确定参数集,这些参数集将pdn上的电压保持在如上所讨论的过冲限制和/或跌落限制之内。

尽管以上使用包括四个处理器的处理系统的示例描述了本公开的实施例,但是应理解,本公开的实施例不限于该示例。例如,本公开的实施例可用在包括两个处理器的处理系统、包括八个处理器的处理系统等的处理系统中。

图12示出了根据本公开的实施例的示例性时钟门控电路1210。处理器115(1)-115(4)中的每一者可包括时钟门控电路1210以选择性地门控由处理器接收的时钟信号clk_out。时钟门控电路1210包括时钟门控逻辑1220和时钟门1225。时钟门控逻辑1220被配置为在功率管理器220的控制下启用或禁用时钟门1225,如以下进一步所讨论。

在图12的示例中,时钟门1225包括“and(与)”门,其具有耦合到时钟信号clk_out的第一输入、耦合到时钟门控逻辑1220的第二输入、以及耦合到相应处理器的逻辑门的时钟输出1230。时钟输出1230可分支成多个时钟路径(未示出),以将时钟信号提供给逻辑门1240的各个门。逻辑门1240可被配置为获取、解码和执行指令和/或执行其他使用时钟信号clk_out的操作。在该示例中,当时钟门控电路1220向时钟门1225输出逻辑0时,时钟门1225被禁用(即,阻止时钟信号clk_out),而当时钟门控电路1220向时钟门1225输出逻辑1时,时钟门1225被启用(即,允许时钟信号clk_out通过)。

时钟门控逻辑1220可被配置为在从功率管理器220接收信号以进入空闲模式之际,禁用时钟门1225(即,门控时钟信号clk_out)。时钟门控逻辑1220可在禁用时钟门1225之前验证逻辑门已经完成了一个或多个未完结的指令。时钟门控逻辑1220还可被配置为在从功率管理器220接收信号以退出空闲模式(例如,转变到活跃模式)之际,启用时钟门1225。时钟门控逻辑1220可由时钟信号clk_out或另一个时钟信号(未示出)进行时钟定时。

图13是解说根据本公开的实施例的用于激活一个或多个处理器的方法1300的流程图。该一个或多个处理器可以是多核处理系统的多个处理器(例如,处理器115(1)-115(4))中的一者或多者。在该示例中,该一个或多个处理器可被激活,而多核处理系统的一个或多个其他处理器已经处于活跃模式。

在步骤1310中,将时钟信号的频率从第一时钟频率降低到第二时钟频率。例如,时钟信号(例如,时钟信号clk_out)可被提供给多核处理系统的处理器。在一示例中,频率降低可以由接收输入时钟信号(例如,时钟信号clk)并且将时钟信号(例如,时钟信号clk_out)输出到处理器的频率调节器(例如,频率调节器210)执行。在此示例中,频率调节器可以通过吞除脉冲和/或对输入时钟信号(例如,时钟信号clk)的频率进行分频来降低时钟信号(例如,时钟信号clk_out)的频率。此外,在该示例中,第一时钟频率可近似等于输入时钟信号(例如,时钟信号clk)的频率,而第二时钟频率可低于输入时钟信号的频率。

在步骤1320中,在时钟信号的频率被降低之后,激活该一个或多个处理器。这可以通过将该一个或多个处理器的内部时钟路径去门控来完成,以使时钟信号能够传播到该一个或多个处理器中的逻辑门,从而导致逻辑门开始切换。

在步骤1330中,在该一个或多个处理器的激活之后,时钟信号的频率被增加回到第一时钟频率。例如,第一时钟频率可具有近似等于上面所讨论的输入时钟信号(例如时钟信号clk)的频率。

尽管以上使用其中一个或多个处理器从空闲模式转变到活跃模式的示例描述了本公开的实施例,但是应理解,本公开的实施例也可以用于一个或多个处理器从活跃模式切变到空闲模式时。在此情形中,可在将一个或多个处理器从活跃模式转变到空闲模式之前降低时钟信号clk_out的频率,以减少pdn上的电压过冲。当一个或多个处理器转变到空闲模式时,所降低的频率通过降低电流负载减少的速率来减少过冲。在一个或多个处理器处于空闲模式之后,时钟信号clk_out的频率可以被增加回到全时钟频率。

应当领会,根据上文讨论的任何实施例的时钟控制器和功率管理器可用设计成执行本文描述的功能的通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或其他可编程逻辑器件、分立的门或晶体管逻辑、分立的硬件组件、或其任何组合来实现。通用处理器可以是微处理器,但在替换方案中,处理器可以是任何常规的处理器、控制器、微控制器、或状态机。处理器可以通过执行包括用于执行本文描述的延迟控制器的功能的代码的软件来执行本文描述的延迟控制器的功能。软件可以存储在计算机可读存储介质中,诸如ram、rom、eeprom、光盘、和/或磁盘。

提供对本公开的先前描述是为使得本领域任何技术人员皆能够制作或使用本公开。对本公开的各种修改对本领域技术人员而言将容易是显而易见的,并且本文中所定义的普适原理可被应用到其他变型而不会脱离本公开的精神或范围。由此,本公开并非旨在被限定于本文中所描述的示例,而是应被授予与本文中所公开的原理和新颖特征相一致的最广范围。

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