用于低功率定序器的高级直通机制

文档序号:1676842 发布日期:2019-12-31 浏览:11次 >En<

阅读说明:本技术 用于低功率定序器的高级直通机制 (Advanced pass-through mechanism for low power sequencers ) 是由 S·班纳吉 M·辛格 V·贾因 V·德瓦拉赛蒂 于 2018-03-26 设计创作,主要内容包括:本公开的各方面涉及DC功率管理。定序器可以被配置为执行第一命令,其中第一命令与唯一组标签相关联;将唯一组标签与主组标签进行比较;确定是否检测到中断;锁定主组标签以产生锁定的主组标签;执行第二命令,其中第二命令与锁定的主组标签相关联;确定到达锁定的主组标签中的命令的结尾,并且执行序列跳转命令以使处理器回到常规功率状态。(Aspects of the present disclosure relate to DC power management. The sequencer may be configured to execute a first command, wherein the first command is associated with a unique group tag; comparing the unique group tag to the master group tag; determining whether an interrupt is detected; locking the master group tag to produce a locked master group tag; executing a second command, wherein the second command is associated with the locked master group tag; it is determined that the end of the command in the locked main group tag is reached and a sequence jump command is executed to return the processor to a normal power state.)

用于低功率定序器的高级直通机制

相关申请的交叉引用

本申请要求于2017年4月11日向美国专利商标局提交的非临时申请No.15/484,669的优先权和权益,其全部内容通过引用并入本文,如同在下面完整地出于所有适用目的进行了完整阐述。

技术领域

本公开总体上涉及功率管理领域,并且特别地涉及例如与用于功率定序器的直通(fall through)机制相关的功率管理逻辑。

背景技术

处理器系统(例如,多处理器系统)维持不同的功率状态以优化DC功率节省。处理器系统可以包含DC功率管理系统,该DC功率管理系统在计算需求高(即,常规功率状态)时激活处理器总数中的大部分或全部。而且,DC功率管理系统在计算需求低时可以使处理器总数的子集空闲(即,停用),以最小化能耗(即,空闲功率状态)。但是,如果需要在处理器系统进入深低功率状态时唤醒处理器系统,则传统DC功率管理系统往往会具有较大的延时。因此,传统DC功率管理系统包含DC功耗低效率,并且当出现需要DC功率状态改变时增加了延时。

发明内容

下面给出了本公开的一个或多个方面的简化概述,以便提供对这些方面的基本理解。该概述不是本公开的所有预期特征的广泛概述,并且既不旨在标识本公开的所有方面的关键或重要元素,也不旨在界定本公开的任何或所有方面的范围。其唯一目的是以简化的形式呈现本公开的一个或多个方面的一些概念,作为稍后呈现的更详细描述的序言。

在一个方面,本公开提供了一种用于DC功率管理的方法,该方法包括执行第一命令,其中第一命令与唯一组标签相关联;将唯一组标签与主组标签进行比较;确定是否检测到中断;锁定主组标签以产生锁定的主组标签;执行第二命令,其中第二命令与锁定的主组标签相关联;确定已经到达锁定的主组标签中的命令的结尾,并且执行序列跳转命令以使处理器回到常规功率状态。在一个示例中,该方法还包括以下中的一项或多项:将多个命令组织成多个顺序排列的命令;将多个顺序排列的命令分组为多个组,其中多个顺序排列的命令中的每个命令与多个组中的组相关联;将唯一组标签分配给多个组中的一个组,其中第一命令是一个组中的命令;确定处理器处于常规功率状态;测量处理器处于常规功率状态的持续时间;确定持续时间是否大于持续时间阈值和/或执行第三命令以将处理器从常规功率状态转变到空闲功率状态。

本公开的另一方面提供了一种被配置用于DC功率管理的装置,包括至少一个处理器;耦合到至少一个处理器的存储器;耦合到至少一个处理器的时间计数器,其中至少一个处理器被配置为:执行第一命令,其中第一命令与唯一组标签相关联;将唯一组标签与主组标签进行比较;确定是否检测到中断;锁定主组标签以产生锁定的主组标签;执行第二命令,其中第二命令与锁定的主组标签相关联;确定已经到达锁定的主组标签中的命令的结尾,以及执行序列跳转命令以使中央处理单元(CPU)回到常规功率状态。在一个方面,至少一个处理器还被配置为执行以下中的一项或多项:将多个命令组织成多个顺序排列的命令;将多个顺序排列的命令分组为多个组,其中多个顺序排列的命令中的每个命令与多个组中的组相关联;将唯一组标签分配给多个组中的一个组,其中第一命令是一个组中的命令;确定CPU处于常规功率状态;测量CPU处于常规功率状态的持续时间;确定持续时间是否大于持续时间阈值;和/或如果持续时间大于持续时间阈值,则执行第三命令以将CPU从常规功率状态转变到空闲功率状态,空闲功率状态具有比常规功率状态更少的功耗(即,更低的功耗)。

本公开的另一方面提供了一种被配置用于DC功率管理的装置,包括:至少一个时间计数器;耦合到时间计数器的至少一个定序器;用于执行第一命令的装置,其中第一命令与唯一组标签相关联;用于将唯一组标签与主组标签进行比较的装置;用于确定是否检测到中断的装置;用于锁定主组标签以产生锁定的主组标签的装置;用于执行第二命令的装置,其中第二命令与锁定的主组标签相关联;用于确定已经到达锁定的主组标签中的命令的结尾的装置;以及用于执行序列跳转命令以使处理器回到常规功率状态的装置。在一个方面,该装置还包括以下中的一项或多项:用于将多个命令组织成多个顺序排列的命令的装置;用于将多个顺序排列的命令分组为多个组的装置,其中多个顺序排列的命令中的每个命令与多个组中的组相关联;用于将唯一组标签分配给多个组中的一个组的装置,其中第一命令是一个组中的命令;用于确定处理器处于常规功率状态的装置;用于测量处理器处于常规功率状态的持续时间的装置;用于确定持续时间是否大于持续时间阈值的装置;和/或用于执行第三命令以将处理器从常规功率状态转变到空闲功率状态的装置。

本公开的另一方面提供了一种存储计算机可执行代码的计算机可读介质,计算机可执行代码在设备上可操作,设备包括至少一个处理器和耦合到至少一个处理器的至少一个存储器,并且至少一个处理器被配置为管理DC电源,该计算机可执行代码包括:用于引起计算机执行第一命令的指令,其中第一命令与唯一组标签相关联;用于引起计算机将唯一组标签与主组标签进行比较的指令;用于引起计算机确定是否检测到中断的指令;用于引起计算机锁定主组标签以产生锁定的主组标签的指令;用于引起计算机执行第二命令的指令,其中第二命令与锁定的主组标签相关联;用于引起计算机确定已经到达锁定的主组标签中的命令的结尾的指令;以及用于引起计算机执行序列跳转命令以使处理器回到常规功率状态的指令。在一个方面,计算机可执行代码还包括以下中的一项或多项:用于引起计算机将多个命令组织成多个顺序排列的命令的指令;用于引起计算机将多个顺序排列的命令分组为多个组的指令,其中多个顺序排列的命令中的每个命令与多个组中的组相关联;用于引起计算机将唯一组标签分配给多个组中的一个组的指令,其中第一命令是一个组中的命令;用于引起计算机确定处理器处于常规功率状态的指令;用于引起计算机测量处理器处于常规功率状态的持续时间的指令;用于引起计算机确定持续时间是否大于持续时间阈值的指令;和/或用于引起计算机执行第三命令以将处理器从常规功率状态转变到空闲功率状态的指令。

通过阅读下面的详细描述,将能够更加充分地理解本发明的这些和其他方面。在结合附图阅读以下对本发明的具体示例性实施例的描述之后,本发明的其他方面、特征和实施例对于本领域技术人员将变得很清楚。尽管可以关于下面的某些实施例和附图讨论本发明的特征,但是本发明的所有实施例可以包括本文中讨论的一个或多个有利特征。换言之,尽管可以将一个或多个实施例讨论为具有某些有利特征,但是根据本文中讨论的本发明的各个实施例,也可以使用一个或多个这样的特征。以类似的方式,虽然下面可以将示例性实施例作为设备、系统或方法实施例进行讨论,但是应当理解,这样的示例性实施例可以在各种设备、系统和方法中实现。

附图说明

图1示出了DC功率管理系统的示例框图。

图2示出了传统功率分布与使用本公开的DC功率管理系统的处理器系统的第一示例功率分布的比较。

图3示出了使用本公开的DC功率管理系统的处理器系统的第二示例功率分布。

图4示出了针对不同DC功率状态的示例低功率状态信息表。

图5示出了示例命令布置。

图6示出了根据图5的示例命令布置的示例执行流程。

图7示出了具有组标签的示例命令序列。

图8示出了示例直通算法流程图。

图9示出了针对不同DC功率状态的低功率进入的示例时序。

图10示出了根据本公开的各个方面的用于执行DC功率管理的示例方法的流程图。

图11是根据本公开的各个方面的说明性硬件配置的示例框图,说明性硬件配置用于包括耦合到存储器的处理器以用于执行DC功率管理的装置。

具体实施方式

以下结合附图阐述的详细描述旨在作为对各种配置的描述,而非旨在表示可以实践本文中描述的概念的唯一配置。详细描述包括特定细节,以提供对各种概念的透彻理解。然而,对于本领域技术人员将很清楚的是,可以在没有这些具体细节的情况下实践这些概念。在某些情况下,以框图形式示出了众所周知的结构和组件,以避免使这些概念模糊。

本公开的各个方面涉及用于功率管理的系统和方法。在特定方面,处理器系统(例如,多处理器系统)可以维持不同的功率状态以优化DC功率节省。例如,处理器系统可以包含DC功率管理系统,该DC功率管理系统在计算需求低时使处理器总数的子集空闲(即,停用)以最小化能耗(即,空闲功率状态)。在一个示例中,空闲功率状态可以包括深低功率状态或浅低功率状态。对于特定的处理器系统,浅低功率状态被定义为具有大于深低功率状态的功耗。换言之,当处理器系统处于深低功率状态时,其功耗将小于处理器系统处于浅低功率状态时的功耗。也就是说,深低功率状态比浅低功率状态消耗更少的功率(具有更低的功耗)。例如,可以通过每秒操作数或每秒指令数来量化计算需求。DC功率管理系统可以旨在平衡电池寿命(即,最小化能耗)与处理器性能。

DC功率管理系统可以包含多个顺序逻辑阶段以进入深低功率状态,这是空闲功率状态的一个示例。在一个示例中,深低功率状态可能增加延时。一旦启动了用于进入深低功率状态的序列,除非中断发生,否则该序列可以继续直到达到深低功率状态。中断是对处理器系统回到常规功率状态的计划外请求。当在用于进入深低功率状态的序列内异步地发生中断时,DC功率管理系统可以通过中止该序列进入深低功率状态,来返回并且开始用于将处理器系统恢复到其常规功率状态的过程。在一个示例中,例如,如果进入深低功率状态的序列处于其最后阶段,则DC功率管理系统可以屏蔽(即,忽略)该中断直到达到深低功率状态。

如果进入深低功率状态不是在其最后阶段,则在恢复常规功率状态之前继续朝着深低功率状态继续顺序前进将增加效率低下和延时。延时定义为回到常规功率状态的时间延迟。而且,DC功率管理系统可以试图通过使处理器系统处于浅低功率状态来改善延时。浅低功率状态比常规功率状态具有更好的DC功耗效率,因为浅低功率状态比常规功率状态消耗更少的DC功率。也就是说,浅低功率状态比常规功率状态消耗更少的功率(具有更低的功耗)。但是,浅低功率状态确实比深低功率状态消耗更多的DC功率。如果DC功率管理系统指示处理器系统进入浅低功率状态以减少延时,以更快地恢复到常规功率状态,则会不必要地增加DC功耗。因此,仅使处理器系统处于浅低功率状态可能并不总是理想的功耗解决方案。

图1示出了DC功率管理系统100的示例框图。如图1所示,DC功率管理系统100包括时间计数器110和定序器120。处理器系统(例如,CPU)150c1、150c2、150c3……150cn的多集群150被示出为连接到DC功率管理系统100。DC功率管理系统100可以管理处理器系统150c1、150c2、150c3……150cn中的一个或多个的功耗。

在一个示例中,时间计数器110用于帮助确定何时从一种功率状态转变到另一功率状态;即功率状态转变(例如,从常规功率状态转变到深低功率状态)。在一个示例中,定序器120执行从一种功率状态转变到另一功率状态所需要的命令。

在一个方面,改进的DC功率管理系统定序器在第一持续时间T1到期时实现功率状态转变。第一持续时间T1由时间计数器110测量。时间计数器110可以由时钟来实现。时钟例如可以包括振荡器和计数器。在一个示例中,时间计数器110可以是振荡器和计数器。在一个方面,时间计数器110可以最初被设置为与第一持续时间T1相对应的计数器值,并且可以递减计数器值直到其达到零。计数器值可以是预定的,或者可以根据应用(例如,由用户)来调节。

在一个方面,定序器120包括中断处理过程,该中断处理过程包括命令的组。例如,定序器包括用于为功率状态转变设置预编程的时间限制的定序器逻辑。在一个示例中,定序器逻辑由与处理器系统中的处理器分离的组件执行。在另一示例中,定序器逻辑由处理器系统中的处理器中的一个处理器执行。而且,定序器120可以是来自处理器系统的外部组件。或者,定序器120可以是处理器系统中的处理器中的一个处理器。

在一个示例中,定序器120采用直通机制130以改善从空闲功率状态的唤醒性能。在一个示例中,直通机制130包括用于减少转变功率状态转变中的延时的命令序列。唤醒性能可以通过从空闲功率状态转变到常规功率状态所需要的时间量来测量。例如,用于从一种功率状态转变到另一功率状态(例如,从常规功率状态转变到可能是深低功率状态的空闲功率状态)的命令可以被分组为两个或更多个组。例如,每个组(即,命令组)中的命令序列可以与标签相关联。每个命令组包括一个或多个命令。命令组可以按顺序放置,并且可以按顺序执行。在一个示例中,命令组的顺序可以是预定的。在另一示例中,命令组的顺序可以根据特定应用、根据处理器系统的特定功率状态或者由用户确定来调节。

在一个示例中,随着每个命令组被执行,执行中断检查。如果检测到中断,则定序器120继续执行在发生中断时正在执行的特定命令组(即,中断命令组)中的命令。一旦执行了该中断命令组内的所有命令,定序器120就可以执行序列跳转命令以使处理器系统回到常规功率状态。序列跳转命令是用于执行与将处理器系统从检测到中断时的功率状态转变到常规功率状态相关联的一个或多个命令的命令。通过执行序列跳转命令,当检测到中断时并且在执行了中断命令组中的命令之后,处理器系统回到返回其常规功率状态的轨迹。因此,由于一旦检测到中断就避免完成向空闲功率状态(例如,深低功率状态)的转换,因此通过序列跳转命令将延时最小化,并且处理器系统回到其常规功率状态而无需首先达到空闲功率状态(例如,深低功率状态)。

在一个方面,DC功率管理系统100跟踪在功率转变之前、在唤醒时或在处于常规功率状态时执行的进入序列命令。DC功率管理系统100还选择性地触发最小数目的恢复序列命令,以使处理器系统恢复到常规功率状态,以执行命令组中的命令。进入序列命令是在处理器系统处于非活动状态(即,在唤醒之前)或常规功率状态的时间直到检测到中断之间执行的命令集合。恢复序列命令是使处理器系统从当前所处的任何状态恢复到常规功率状态所需要执行的命令集合。在一个示例中,定序器120(其是DC功率管理系统100的一部分)是跟踪进入序列命令并且触发恢复序列命令的组件。

在一个方面,一旦检测到中断,DC功率管理系统100(诸如定序器120)可以指示处理器系统回到常规功率状态。在返回到常规功率状态时,可以激活时间计数器110。在一个示例中,可以通过在时间计数器的状态元素(例如,寄存器或存储器位置)中设置时间限制来实现计时激活。在第一持续时间T1到期时,并且如果没有附加条件指示保持在常规功率状态,则DC功率管理系统100(诸如定序器120)可以继续使处理器系统从常规功率状态转变回到空闲功率状态(例如,浅低功率状态或深低功率状态)。

在另一方面,在从常规功率状态到深低功率状态的转变期间,DC功率管理系统100(诸如定序器120)可以在浅低功率状态下保持空闲达第二持续时间T2。第二持续时间T2可以由时间计数器110测量。在第二持续时间T2到期时,并且如果没有附加条件指示处理器系统保持在浅低功率状态或返回到常规功率状态,则DC功率管理系统100(诸如定序器120)可以继续转变到深低功率状态。具有第一持续时间和/或第二持续时间以帮助实现功率状态之间的转变的定时特征可以改善DC功率管理效率并且可以减少延时。

在一个示例中,时间计数器110的持续时间可以基于逻辑直通的数量。在一个示例中,逻辑直通是如下这样的事件:其中在执行序列的同时发生中断,并且需要中止或旁路某些序列步骤以尽快恢复常规功率状态。例如,逻辑直通的数量可以与命令序列中的命令组的数目有关。在一个示例中,第一持续时间T1和/或第二持续时间T2可以与命令序列中的命令组的数目成比例。在另一示例中,第一持续时间T1和/或第二持续时间T2可以与命令序列中的命令组的数目单调相关。

图2示出了传统功率分布210与使用本公开的DC功率管理系统的处理器系统的第一示例功率分布220的比较200。在图2中,归一化DC功耗在纵轴上示出,并且时间在横轴上示出。在图2的示例中,当处理器系统处于常规功率状态时,归一化DC功耗具有单位1(“1”)数值。在图2中,归一化DC功耗相对于常规功率状态下的DC功率以DC功率的归一化单位表示。时间表示为序列索引,其中每个命令序列可以具有随时间单调增加的唯一序列索引。如图2所示,即使检测到中断250,传统系统仍然继续从其常规功率状态(其归一化DC功耗为1)向深低功率状态(其归一化DC功耗为0)的转变。在使用本公开的DC功率管理系统的处理器系统的功率分布220中,一旦检测到中断250,就采取步骤以回到常规功率状态。如功率分布220中所示,一旦检测到中断250,就会有使得功率分布220在0.6归一化DC功耗(在该示例中)下保持平坦的很短的持续时间,并且然后是功率分布220的倾斜,直到它达到作为常规功率状态的值1。在一个示例中,其中功率分布220在0.6归一化DC功耗下平坦的短持续时间可以指示:当中断命令组中的其余命令被执行时的持续时间。并且,直到其回到第五序列索引处的值1的功率分布220中的倾斜可以指示:当执行恢复序列命令以使处理器系统恢复到常规功率状态的持续时间。

图3示出了使用本公开的DC功率管理系统的处理器系统的第二示例功率分布300。在图3中,所示的功率分布300被归一化。纵轴上示出了归一化DC功耗,并且横轴上示出了时间。在图3中,功率分布300包括两个分支:中断功率分布350和无中断功率分布330。中断功率分布350示出了:当检测到中断310(即,中断场景)时针对低功率切换的归一化功耗相对于时间的关系。无中断功率分布330示出了:当没有检测到中断310(即,无中断场景)时针对低功率切换的归一化功耗相对于时间的关系。

如功率分布300所示,如果没有中断,则在前进到深低功率状态之前,首先将处理器系统置于第五序列索引下的浅低功率状态。在图3中,归一化DC功耗在常规功率状态下时具有单位1数值。在该示例中,归一化DC功耗相对于常规功率状态下的DC功率以DC功率的归一化单位表示。时间表示为序列索引,其中每个命令序列可以具有随时间单调增加的唯一序列索引。在该示例中,中断功率分布350和无中断功率分布330都以归一化DC功耗为单位1(“1”)的常规功率状态开始。然后,在该示例中,在第四序列索引中,功率分布(中断功率分布350和无中断功率分布330)转变到浅低功率状态,其归一化DC功耗在该示例中为0.6。在第七序列索引中,两个功率分布(中断功率分布350和无中断功率分布330)发散。

对于其中在第七序列索引下检测到中断310(即,中断场景)的中断功率分布350,中断功率分布350回到归一化DC功耗为单位1(“1”)的常规功率状态,直到持续时间结束。持续时间可以由时间计数器110测量。在一个示例中,持续时间320可以被编程或预定。在持续时间到期时,中断功率分布350然后转变到深低功率状态,由此,图3示出了在该示例中,第十五序列索引达到了深低功率状态。超过第十五序列索引,图3还示出了处理器系统处于深低功率状态。

对于其中没有检测到中断(即,无中断场景)的无中断功率分布330,无中断功率分布330在第七序列索引下继续其到由第十一序列索引达到的深低功率状态的转变。超过第十一序列索引,图3还示出了处理器系统处于深低功率状态。

图4示出了针对不同DC功率状态的示例低功率状态信息表400。图4中示出了五个DC功率状态,即,C0为常规功率状态,以及C1至C4为空闲功率状态,其范围从浅低功率状态到深低功率状态。在图4的示例中,C1是最浅低功率状态,而C4是最深低功率状态。示例低功率状态信息表400示出了随着功率状态依次从C0转变到C4而增加唤醒时间、增加目标驻留时间以及减少DC功耗的趋势。在图4的示例中,目标驻留时间是用于DC功率状态的目标持续时间。本领域技术人员将知道,这五个不同的功耗不是排他性的,并且处理器系统可以在图4中未示出的其他不同DC功率状态下操作并且仍然在本公开的范围和精神内。

图5示出了示例命令布置500。在图5中,命令布置500示出了在处理器寄存器内以顺序组织的命令序列。在图5的示例中,处理器寄存器是32位AHB(AMBA高性能总线)寄存器。AMBA代表ARM高级微控制器总线架构,其中缩写词“ARM”是商品名。本领域技术人员将理解,尽管本领域中的很多技术人员可以使用AMBA高性能总线寄存器(即,AHB寄存器),但是本公开不排除其他类型的寄存器。因此,其他类型的寄存器的使用也在本公开的范围和精神内。在一个示例中,命令序列包括互补命令对CMDx和CMDx'集合,其中CMDx是用于组件x的掉电命令,而CMDx'是用于组件x的互补掉电命令。在该示例中,加电序列是加电序列的逆。

图6示出了根据图5的示例命令布置500的示例执行流程600。执行流程600以触发事件开始。在框610中,处理器系统(例如,CPU)触发命令“standbywfi”以使处理器系统进入空闲功率状态(也称为待机功率状态)。在框620中,DC功率管理系统执行第一进入序列命令(cmd1),以使处理器系统(例如,CPU)进入睡眠模式。在一个示例中,睡眠模式可以是浅低功率状态。在一个示例中,睡眠模式可以是深低功率状态。在框620之后,在框630中,DC功率管理系统执行第二进入序列命令(cmd2),以使处理器系统(例如,CPU)进入睡眠模式(例如,浅低功率状态)。在框640中,处理器系统(例如,CPU)处于睡眠模式(例如,浅低功率状态或深低功率状态)。

在框620中,确定是否检测到一个或多个唤醒触发615。在一个示例中,中断是唤醒触发。如果在框620中检测到一个或多个唤醒触发615,则通过第一旁路路径625前进到框660,而不是前进到框630。类似地,在框630中,确定是否检测到一个或多个唤醒触发615。如果在框630中检测到一个或多个唤醒触发615,则通过第二旁路路径635前进到框650,而不是前进到框640。

在框650中,DC功率管理系统执行第三进入序列命令(cmd3)以使处理器系统(例如,CPU)向任务模式进入。在一个示例中,任务模式是常规功率状态。在框660中,DC功率管理系统执行第四进入序列命令(cmd4)以使处理器系统(例如,CPU)进入任务模式。在框670中,处理器系统(例如,CPU)处于任务模式中(例如,常规功率状态)。

图7示出了具有组标签的示例命令序列700。命令序列700包括例如进入序列命令动作列表710和退出序列命令动作列表720。进入序列命令动作列表710包括多个进入序列命令,其中每个进入序列命令呈现为进入序列命令动作列表710中的行。如图7所示,每个进入序列命令包括三个组件:命令操作码、进入序列命令动作和组标签。本领域技术人员将理解,为进入序列命令示出的三个组件不是排他性或强制性的。也就是说,示出的三个组件中的任何一个都不必包括在内,并且其他组件也可以被包括在内并且在本公开的范围和精神内。

类似地,退出序列命令动作列表720包括多个退出序列命令,其中每个退出序列命令呈现为退出序列命令动作列表720中的行。如图7所示,每个退出序列命令包括三个组件:命令操作码、退出序列命令动作和组标签。本领域技术人员将理解,为退出序列命令示出的三个组件不是排他性或强制性的。也就是说,示出的三个组件中的任何一个都不必包括在内,并且其他组件也可以被包括在内并且在本公开的范围和精神内。在一个方面,退出序列命令是恢复序列命令。

在一个方面,将所有命令序列划分为组,使得如果执行来自组的任何命令以进入空闲功率状态,则必须执行该组中的所有命令以使处理器硬件正常工作。例如,打开复位和关闭复位被分配相同的组。也就是说,如果打开复位以进入空闲功率状态,则必须关闭复位以退出。作为另一示例,如果存在用于触发打开磁头开关的第一命令和用于等待其确认的第二命令,则第一命令和第二命令一起执行并且因此被分配同一组。对应地,关闭磁头开关并且等待其确认被一起执行并且被分配同一组。另外,完成对命令的分组以使得能够最小化每组命令的数量。在另一方面,命令分组可以由软件动态配置。另外,每个组被分配组标签。在一个示例中,每个组标签是唯一的。

在示例命令序列700中,每个命令操作码可以包括两个十六进制数字。在一个示例中,组标签标识命令组。在一个示例中,当检测到中断时,在处理中断之前(也就是说,在执行其他命令(例如,恢复序列命令)以使处理器系统恢复到常规功率状态之前),具有的组标签与当前正在执行的特定进入序列命令动作相同的所有序列命令动作(例如,进入序列命令动作)被允许执行。在图7中,具体地标识了具有组标签6的进入序列命令动作中的命令组。类似地,具体地标识了具有组标签6的退出序列命令动作中的命令组。

图8示出了示例直通算法流程图800。在框810中,开始低功率进入序列。在一个示例中,执行低功率进入序列以进入空闲功率状态。空闲功率状态可以是浅低功率状态、深低功率状态、或功耗小于常规功率状态的任何空闲功率状态。例如,图4中示出了具有不同DC功率状态C0、C1、C2、C3、C4的不同功耗的程度。本领域技术人员将知道,不同功耗不仅限于图4所示的五个DC功率状态。

在框820中,执行命令。在一个示例中,命令是图7所示的命令动作中的一个命令动作。在框830中,确定与正在执行的命令相关联的组标签(也称为命令标签值)是否超过主组标签(又称为主组标签值)。在一个示例中,主组标签是参考标签值。在一个方面,主组标签还表示用于当前正在执行的命令集合的组。如果否,则前进到框835以保持主组标签。在框835之后,前进到框850。如果是,则前进到框840以更新主组标签。在一个示例中,更新表示使主组标签递增例如诸如“1”的数值。本领域技术人员将理解,递增单位可以是设计选择或应用选择,并且可以是预定的或由用户调节的。在框840之后,前进到框850。

在框850中,检查中断。如果没有检测到中断,则返回到框820。如果检测到中断,则前进到框860。在框860,锁定主组标签。在一个示例中,锁定主组标签表示不允许主组标签递增。在框870中,前进到下一命令,并且确定下一命令标签值是否超过主组标签。如果否,则前进到框875。在框875中,执行下一命令。在框875之后,前进到框890。如果是,则前进到框880并且忽略下一命令(即,执行无操作“NOP”)。在框880之后,前进到框890。在框890中,确定下一命令是否是结束命令。如果否,则前进到框870。如果是,则前进到框895。在框895中,结束低功率进入序列。

图9示出了不同DC功率状态的低功率输入的示例时序900。在示例时序900中,针对从最浅到最深低功率状态排序的四个空闲功率状态C1、C2、C3、C4,示出了标准化DC功耗随时间的变化。C0是常规功率状态。在图9中,在纵轴上示出了归一化DC功耗,在横轴上示出了时间。时间表示为序列索引,其中每个命令序列可以具有随时间单调增加的唯一序列索引。在一个示例中,图9所示的功率状态(空闲功率状态C1、C2、C3、C4和常规功率状态C0)具有与图4所示的相同功率状态的唤醒时间、目标驻留时间和功耗值。

图10示出了根据本公开的各个方面的用于执行DC功率管理的示例性方法的流程图1000。

在框1010中,将多个命令组织成多个顺序排列的命令。在一个示例中,多个命令以顺序组织以用于执行。这些命令是进入序列命令。进入序列命令可以包括用于将处理器系统置于空闲功率状态的命令。空闲功率状态例如可以是浅低功率状态或深低功率状态。

在框1015中,将多个顺序排列的命令分组为多个组,其中多个顺序排列的命令中的每个命令与多个组中的组相关联。也就是说,多个顺序排列的命令中的每个命令属于多个组中的一个组。并且,分组保留了多个命令的顺序。

在框1020中,向多个组中的一个组分配唯一组标签。也就是说,多个组中的每个组与对该组唯一的组标签相关联。

在框1025中,将一个组中的每个命令与唯一组标签相关联。

在框1030中,执行一个组中的多个顺序排列的命令中的命令(例如,第一命令)。第一命令是按一个组中的命令的顺序被排序为要执行的下一命令的命令。在框1035中,确定是否执行了当前组中的所有命令。如果是,则前进到框1040。如果否,则前进到框1045。

在框1040中,将唯一组标签与主组标签进行比较。如果唯一组标签大于主组标签,则更新主组标签。在一个示例中,更新主组标签是使主组标签的值递增预定数目。如果唯一组标签不大于主组标签,则不采取任何动作(即,不更新主组标签)。在可选示例中,框1040包括确定第一持续时间是否大于第一持续时间阈值。在一个示例中,第一持续时间是在浅低功率状态下继续转变到另一空闲功率状态(例如,深低功率状态)之前的等待时间量。第一持续时间阈值可以根据应用、设计或用户选择来预先确定或调节。如果第一持续时间不大于第一持续时间阈值,则不采取其他动作。如果第一持续时间大于第一持续时间阈值,则前进到框1045。在一个示例中,时间计数器110可以用于测量第一持续时间。在一个示例中,时间计数器110可以用于确定第一持续时间是否大于第一持续时间阈值。

在框1045中,确定是否检测到中断。如果否,则前进到框1030。如果是,则前进到框1050。在框1050中,锁定主组标签以产生锁定的主组标签。在一个示例中,锁定主组标签表示不允许主组标签更新(即,值不递增)。

在框1055中,将第二命令的组标签与锁定的主组标签进行比较。如果第二命令的组标签大于锁定的主组标签,则前进到框1060,并且不执行第二命令。如果第二命令的组标签不大于锁定的主组标签,则前进到框1065。

在框1060中,忽略第二命令并且前进到框1070。通过忽略第二命令,不执行第二命令。也就是说,执行无操作“NOP”。

在框1065中,执行第二命令。第二命令是与锁定的主组标签相关联的组中被排序为要执行的下一命令的命令。在一个示例中,与锁定的主组标签相关联的组是在框1035中提及的当前组。

在框1070中,确定是否到达与锁定的主组标签相关联的组中的命令的结尾。如果否,则返回框1055。如果是,则前进到框1075。

在框1075中,执行序列跳转命令以使处理器系统回到常规功率状态。序列跳转命令是用于执行与将处理器系统从检测到中断时的功率状态转变到常规功率状态相关联的一个或多个命令的命令。

在框1080中,确定处理器处于常规功率状态,并且测量处理器处于常规功率状态的第二持续时间。在一个示例中,使用时间计数器来测量第二持续时间。在一个示例中,时间计数器110可以用于测量第二持续时间。

在框1085中,确定第二持续时间是否大于第二持续时间阈值。在一个示例中,第二持续时间是在返回到常规功率状态之后、在转变到空闲功率状态之前的等待时间量。第二持续时间阈值可以根据应用、设计或用户选择来预定或调节。如果第二持续时间不大于第二持续时间阈值,则前进到框1080。如果第二持续时间大于第二持续时间阈值,则前进到框1090。在一个示例中,可以使用时间计数器110来确定第二持续时间是否大于第二持续时间阈值。

在框1090中,执行第三命令以将处理器置于(即,转变到)空闲功率状态。空闲功率状态可以是浅低功率状态、深低功率状态或功耗小于常规功率状态的任何空闲功率状态。在一个方面,图10的每个框中的每个步骤可以通过以下中的一项或多项来实现:DC功率管理系统(例如,图1的DC功率管理系统100);定序器(例如,图1的定序器120或采用如图1所示的直通机构130的定序器120);软件算法(例如,软件1150;处理器1100;或耦合到存储器的处理器(例如,图11的处理器1110和存储器1120))。

图11是根据本公开的各个方面的说明性硬件配置的示例框图,说明性硬件配置用于包括耦合到存储器1120的处理器1110以用于执行DC功率管理的装置1100。在该示例中,处理器1110可以用总体上由总线1130表示的总线架构来实现。取决于装置1100的特定应用和总体设计约束,总线1130可以包括任何数目的互连总线和桥。总线1130可以将包括计算机可读介质1140在内的其他电路(未示出)链接到处理器1110和存储器1120。尽管本文中描述了计算机可读介质,但是本领域技术人员将理解,单个计算机可读介质也在本公开的范围和精神内。总线1140还可以链接本领域众所周知的并且因此将不再赘述的各种其他电路,诸如定时源、***设备和电压调节器。

在一个示例中,存储器1120可以用于存储数据或信息。例如,存储器1120可以存储命令和/或与命令有关的参数(诸如但不限于命令代码、组标签等)。

在一个示例中,处理器1110可以管理总线1130和通用处理,包括执行存储在计算机可读介质1140和/或存储器1120上的软件1150。在一个方面,处理器1110可以包括多个处理器,并且可以包括微处理器、微控制器、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、可编程逻辑设备(PLD)、状态机、门控逻辑、分立硬件电路、以及被配置为执行在整个本公开中描述的各种功能的其他合适硬件。

处理器1110可以执行软件1150。软件应当广义地解释为指代指令、指令集、代码、代码段、程序代码、程序、子程序、软件模块、应用、软件应用、软件包、例程、子例程、对象、可执行文件、执行线程、过程、函数等,而无论是否称为软件、固件、中间件、微代码、硬件描述语言等。该软件可以驻留在计算机可读介质1140上。计算机可读介质1140可以是非暂态计算机可读介质。作为示例,非暂态计算机可读介质例如包括磁存储设备(例如,硬盘、软盘、磁条)、光学盘(例如,光盘(CD)或数字通用盘(DVD))、智能卡、闪存设备(例如,卡、棒或键驱动器)、随机存取存储器(RAM)、只读存储器(ROM)、可编程ROM(PROM)、可擦除PROM(EPROM)、电可擦除PROM(EEPROM)、寄存器、可移动磁盘以及用于存储可以由计算机访问和读取的软件和/或指令的任何其他合适的介质。

作为示例,计算机可读介质还可以包括载波、传输线以及用于传输可以由计算机访问和读取的软件和/或指令的任何其他合适的介质。在一个示例中,计算机可读介质1140可以驻留在处理器1110中。在另一示例中,计算机可读介质1140可以在处理器1110外部(如图11所示)。在又一示例中,计算机可读介质1140可以分布在包括处理器系统1110在内的多个实体上。计算机可读介质1140可以包含计算机程序产品中。作为示例,计算机程序产品可以包括包装材料中的计算机可读介质。本领域技术人员将认识到如何取决于特定应用和强加于整个系统的总体设计约束来最佳地实现贯穿本公开呈现的所描述的功能。

根据本公开的各方面,图6、8和10中的步骤可以由图11中描述的一个或多个电路系统来执行。在以上示例中,提供装置1100中包括的电路系统仅作为示例,并且用于执行所描述的各种功能的其他手段可以被包括在本公开的各个方面内,包括但不限于存储在计算机可读介质1140中的指令、或者在任何一个图中描述的并且利用例如本文中关于图6、8和10所述的过程和/或算法的任何其他合适的装置或手段。

已经提出了DC功率管理的几个方面。如本领域技术人员将容易理解的,贯穿本公开描述的各个方面可以扩展到各种类型的电路、组件或装置上的各种类型的DC功率管理。

在本公开内容内,单词“示例性”用于表示“用作示例、实例或说明”。本文中描述为“示例性”的任何实现或方面都不必被解释为相对于本公开的其他方面是优选或有利的。同样,术语“方面”并不要求本公开的所有方面都包括所讨论的特征、优点或操作模式。本文中使用术语“耦合”来指是两个对象之间的直接或间接耦合。例如,如果对象A物理触摸对象B,而对象B触摸对象C,则即使对象A和C彼此之间没有直接物理触摸,它们仍然可以视为彼此耦合。例如,即使第一管芯从不与第二管芯直接物理接触,第一管芯也可以耦合到封装中的第二管芯。术语“电路”和“电路系统”被广泛地使用,并且旨在包括电气设备和导体的硬件实现(其在被连接和配置时能够实现本公开中描述的功能,而不受电子电路的类型的限制)以及信息和指令的软件实现(其在由处理器执行时能够实现本公开中描述的功能)。

图中所示的一个或多个组件、步骤、特征和/或功能可以重新布置和/或组合成单个组件、步骤、特征或功能,或者实现为几个组件、步骤或功能。在不脱离本文中公开的新颖特征的情况下,还可以添加附加的元件、组件、步骤和/或功能。图中所示的装置、设备和/或组件可以被配置为执行本文中描述的方法、特征或步骤中的一个或多个。本文中描述的新颖算法也可以有效地以软件实现,和/或嵌入在硬件中。

应当理解,所公开的方法中的步骤的特定顺序或层次是示例性过程的图示。应当理解,基于设计偏好,可以重新布置方法中步骤的特定顺序或层次。随附的方法权利要求以示例顺序呈现了各个步骤的要素,而非表示限于所呈现的特定顺序或层次,除非在其中具体叙述。

提供先前的描述以使得本领域的任何技术人员能够实践本文中描述的各个方面。对这些方面的各种修改对于本领域技术人员将是很清楚的,并且本文中定义的一般原理可以应用于其他方面。因此,权利要求书不旨在限于本文中示出的方面,而是应当被赋予与权利要求书的语言相一致的完整范围,其中除非特别说明,否则以单数形式提及元件并非意指“一个且仅一个”,而是表示“一个或多个”。除非另外特别说明,否则术语“一些”是指一个或多个。提及项目列表中的“至少一个”的短语是指这些项目的任何组合,包括单个成员。例如,“a、b或c中的至少一个”旨在涵盖:a;b;c;a和b;a和c;b和c;以及a、b和c。本领域普通技术人员已知或以后将知道的,贯穿本公开所描述的各个方面的元件的所有结构和功能等同物均通过引用明确地并入本文,并且旨在由权利要求书涵盖。而且,无论在权利要求书中是否明确叙述了本文中公开的内容,都不打算将其公开给公众。没有任何权利要求元素应当根据35U.S.C.§112第六段的规定来解释,除非使用短语“用于……的手段”明确叙述该元素,或者在方法权利要求的情况下使用短语“用于……的手段”叙述该元素。

27页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种用于在现场设备上部署和执行机器学习模型的方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!