进入低功率状态的技术的制作方法
【专利摘要】各种实施例通常涉及用于启动到更低功率状态的转变,确定某个装置过程阻止平台处理装置完成到更低功率状态的转变,以及从中间功率状态中断处理组件以便在定义的事件的执行前处理该过程的装置、方法和其它技术。
【专利说明】进入低功率状态的技术
【技术领域】
[0001]本文中所述实施例一般涉及用于计算装置的低功率状态。具体地说,实施例涉及计算装置和组件从正常功率状态到低功率状态的转变。
【背景技术】
[0002]移动装置的普及性在继续增大,并且这些装置的处理能力也在继续增大。相应地,越来越多的任务在移动装置上执行。为确保移动装置的继续大量普及,必需延长用于为移动装置供电的电池的寿命。现有计算机平台以各种方式包括用于管理此类平台的组件的功率分配或功率使用的一个或更多个特征。此类特征可实现各种功率状态,例如,响应用户启动的平台暂停或休眠请求。移动装置随后可基于请求转变到某个功率状态。然而,转变期间可占用相当长的时间,由于不允许移动装置和平台处理装置及时进入低功率状态而降低了节能的优点。
【专利附图】
【附图说明】
[0003]图1不出第一系统的一实施例。
[0004]图2示出第一逻辑流程的一实施例。
[0005]图3A示出第一活动级图的一实施例。
[0006]图3B示出第二活动级图的一实施例。
[0007]图3C示出第三活动级图的一实施例。
[0008]图3D示出第四活动级图的一实施例。
[0009]图4示出第二逻辑流程的一实施例。
[0010]图5示出计算装置的一实施例。
[0011]图6示出计算体系结构的一实施例。
【具体实施方式】
[0012]各种实施例一般涉及用于将计算系统和平台处理装置转变到低功率状态以延长电池寿命和为计算系统降低功耗的设备、方法和其它技术。在一些实施例中,诸如操作系统等的软件可将信息发送到平台处理装置,并且功率管理组件可指示计算系统可进入低功率状态。
[0013]功率管理组件可通过将硬件自主过程和软件过程转变到低功率状态,启动到低功率状态的转变。在一些实施例中,在这些硬件自主过程和软件过程已完成处理前,平台处理装置可不进入低功率状态。平台处理装置和组件可进入中间状态以等待硬件自主过程和软件过程完成。
[0014]在一些实施例中,平台处理装置可保持在中间功率状态,直至所有过程已完成处理,或者直至定义的事件发生,如预定义的中断或已调度计时器的截止。然而,等待过程完成或直至定义的事件发生可占用相当长的时间,如数秒或数分钟,并且由于未及时进入低功率状态,任何相当大的电池寿命增加可能失去。
[0015]通过在定义的事件之前中断一个或更多个处理器组件,以便允许一个或更多个处理器组件处理一个或更多个软件过程,功率管理组件可降低转变到低功率状态所需的时间。在一些实施例中,功率管理组件可等待平台特定时间期以允许自主硬件过程完成并且确定平台处理装置是否已进入低功率状态。在一些实施例中,平台处理装置可在平台特定时间期截止后不进入低功率状态,这是因为自主硬件过程和/或软件过程尚未结束处理。功率管理组件随后可中断一个或更多个处理器组件以处理软件过程。通过等待平台特定时间期以确定平台处理装置是否已进入低功率状态,功率管理组件允许自主硬件过程完成,并且消除将平台特定功率相关性硬编码到操作系统中的需要。
[0016]在一些实施例中,功率管理组件可从一个或更多个软件过程接收软件就绪时间,指示软件过程将何时准备就绪,可以进行处理。例如,在处理前可要求软件过程等待,直至计时器截止。在这些实施例中,在确定平台处理装置是否已转变到低功率状态和/或中断或唤醒功率组件以处理软件过程前,功率管理组件可等待平台特定时间期和软件就绪时间期的最短时间期中更长的时间期。通过唤醒处理器组件以处理软件过程,可实现大幅降低转变到低功率状态的时间。另外,通过等待直至平台特定时间期和软件就绪时间期中更长的时间期,功率管理组件可避免太快以及在软件过程可准备就绪以进行处理前就唤醒处理器组件。
[0017]通过一般性参照本文中使用的符号和术语,可根据在计算机或计算机网络上执行的程序过程介绍以下详细描述。这些过程描述和表示由本领域技术人员用于最有效地将其工作内容传达给本领域其它技术人员。
[0018]过程在此处且一般被视为产生所需结果的自洽的操作序列。这些操作是那些需要物理量的物理操控的操作。这些量通常但不一定采用能够存储、传输、组合、比较及以其它方式操控的电、磁或光信号的形式。将这些信号称为比特、值、元素、符号、字符、项、数字或诸如此类有时证明是方便的,主要是常见用法的原因。但应注意的是,所有这些和类似的术语要与适当的物理量相关联,并且只是应用到那些量的方便标志。
[0019]此外,执行的操控经常称为诸如添加或比较等术语,这些术语通常与操作人员执行的心理操作相关联。在大多数情况下,在形成一个或更多个实施例的一部分的本文中所述的任何操作中,操作人员的此类能力不是必需或所希望的。相反,操作是机器操作。用于执行各种实施例的操作的有用机器包括通用数字计算机或类似装置。
[0020]各种实施例也涉及用于执行这些操作的设备或系统。此设备可为所需目的而专门构建,或者它可包括如由计算机中存储的计算机程序选择性地激活或重新配置的通用计算机。本文中介绍的过程并未在本质上涉及特定计算机或其它设备。各种通用机器可与根据本文中的教导编写的程序一起使用,或者可证明构建更专业化设备以执行所需方法步骤是方便的。用于多个这些机器的要求的结构将出现在给出的描述中。
[0021]现在参照图形,其中,类似的标号用于在通篇指类似的元素。在下面的描述中,为便于解释,陈述了许多细节以便提供其详尽理解。然而,可明白的是,实践新颖的实施例能够不需要这些特定细节。在其它情况下,熟知的结构和装置以框图形式示出以便有利于其描述。目的是包括与所述主题一致的所有修改、等效物和备选。
[0022]图1示出适合用于实现如本文中所述各种实施例的示范计算系统105的一实施例。在各种实施例中,计算机系统105包括平台处理装置110、控制器120、存储器装置130和输入/输出(I/O)装置140。平台处理装置110可以是任何类型的计算元素,诸如但不限于微处理器、处理器、中央处理单元、数字信号处理单元、双核处理器、移动装置处理器、台式机处理器、单核处理器、芯片上系统(SoC)装置、复杂指令集计算(CISC)微处理器、精简指令集(RISC)微处理器、超长指令字(VLIW)微处理器或单芯片或集成电路上的任何其它类型的处理器或处理电路。平台处理装置110可分别经互连122、132和142连接到控制器120、存储器装置130和I/O装置140,并且与其进行通信。另外,控制器120、存储器装置130和I/O装置140可与平台处理装置110的所有组件进行通信。
[0023]虽然在此方面不受限,但平台处理装置110可包括功率管理组件115、一个或更多个处理器组件112、图形处理单元114、平台I/O装置116、平台存储器装置118及任何其它核外(非核)组件(未示出)。核外组件可包括其它存储器、高速缓存、流水线、I/O装置及控制器。在一些实施例中,平台处理装置110例如可具有不止两个处理核。一个或更多个处理器组件112可具有不止一个处理单元或处理核。一个或更多个处理器组件112包括但不限于获取指令的预取逻辑、将指令解码的解码逻辑、执行指令的执行逻辑及诸如此类。
[0024]在一些实施例中,平台处理装置110包括图形处理单元114。图形处理单元114可充当管理图形和/或视频操作和/或处理的附属处理器。
[0025]在一些实施例中,平台处理装置110包括平台I/O装置116和平台存储器装置118。平台I/O装置116提供用于平台处理装置110到计算机系统105内其它装置的外部接口。另外,平台存储器装置118存储平台处理装置110的指令和/或数据,并且具体而言,一个或更多个处理器组件112的指令和/或数据。而平台处理装置110和一个或更多个处理器组件112在执行指令的同时,平台存储器装置118也可存储临时变量或其它中间信息。在另一实施例中,平台存储器装置118包括但不限于一级、二级和三级高速缓存存储器或平台处理装置110内的高速缓存存储器的任何其它配置。处理器组件112、图形处理单元114、平台I/O装置116和平台存储器装置118可经互连(未示出)相互进行通信。
[0026]功率管理组件115可用于管理计算系统105的功率状态,并且具体而言,平台处理装置110和组件的功率状态。在一些实施例中,功率管理组件115可用于为平台处理装置110启动进入低功率状态的转变。低功率状态能够是如2011年12月6日公布的高级配置和功率接口规范,第 5.0 版(Advanced Configurat1n and Power Interface Specificat1n,Revis1n 5.0)或以后或更早公布中定义的任何高级配置和功率接口(ACPI)状态。在一些实施例中,低功率状态可以是闲置状态,如SOix。
[0027]在一些实施例中,功率管理组件115可接收来自诸如操作系统或任何其它程序等软件的指令或信息,指示平台处理装置110可进入低功率状态。在一个示例中,通过启动到诸如对应于ACPI C3状态的Mwait C状态等中间功率状态的进入,操作系统可向平台处理装置110和功率管理组件115指示它可进入低功率状态。ACPI C3状态通常称为睡眠状态,并且提供比Cl和C2状态改进的节能。在C3状态中的同时,削减来自处理核的所有内部时钟信号。然而,一个或更多个处理核高速缓存得以保持。操作系统负责确保高速缓存保持相干性。
[0028]一旦所有硬件自主组件过程和软件过程完成,处理平台处理装置110便可进入低功率状态。硬件自主组件过程可以是由诸如寄存器、存储器、高速缓存、晶体管、时钟、处理核、控制器、I/O组件等平台处理装置的硬件组件执行的不要求软件处理信息的过程。软件过程可以是在存储器或高速缓存中存储的要求由硬件组件处理的任何过程。在一些实施例中,硬件自主组件过程和软件过程可以是为使硬件组件和软件过程转变到低功率状态而生成的过程。
[0029]在一些实施例中,这些硬件自主过程和软件过程可不立即完成处理,并且可阻止平台处理装置110转变到目标低功率状态。一些情况下,平台装置110可处在中间功率状态,在该状态未实现低功率状态的最大效率。平台处理装置I1可保持在此中间功率状态,直至所有硬件自主组件过程和软件过程结束处理。在一些实施例中,在发生预定义的中断或已调度计时器的截止等定义的事件,从中间状态唤醒平台处理装置110和组件并且处理一个或更多个软件过程前,处理可以不结束。预定义中断可以是在启动到低功率状态前由硬件或软件调度的任何中断。已调度计时器可以是调度成在计时器截止时由核生成中断或启动处理的任何硬件或软件计时器或时钟。
[0030]在一些实施例中,功率管理组件115可确定自主硬件组件处理、软件处理或两者何时阻止平台处理装置110进入低功率状态。功率管理组件115可基于在预定义的时间期截止已截止后,平台处理装置110是否已进入低功率状态而做出确定。预定义时间期可以是任何时间期,如使平台处理装置110进入低功率状态所用的平均时间。功率管理组件也可监视自主组件和软件过程以确定这些组件和过程是否要求另外的处理。另外,功率管理组件115可通过从处理器组件112收到的指示平台处理装置110处于低功率状态的信号,确定平台处理装置110是否处在低功率状态。
[0031]如果功率管理组件115确定一个或更多个自主硬件组件或软件过程在阻止平台处理装置110进入低功率状态,则功率管理组件115等待某个时间期,如平台特定时间期或软件就绪时间期,并且随后做出有关平台处理组件110是否处在低功率状态的确定。在一些实施例中,功率管理组件115可在做出确定前等待平台特定时间期和软件就绪时间期中更长的时间期。
[0032]平台特定时间期可以是平台处理装置110设置以允许自主硬件组件结束处理信息的预定义时间。在一些实施例中,一个或更多个自主硬件组件可将指示结束处理所要求的时间量的时间信息发送到功率管理组件115。在此示例中,平台时间期可以是功率管理组件115收到的最长时间。
[0033]软件就绪时间期是指示下一软件事件何时准备就绪以进行处理的时间期。在各种实施例中,一个或更多个软件过程可将软件就绪时间信息发送到功率管理组件115,并且软件就绪时间期可以是功率管理组件115收到的软件就绪时间期中最短的时间期。
[0034]在各种实施例中,在功率管理组件115确定平台处理装置在平台特定时间期和软件就绪时间期中更长的时间期后尚未进入低功率状态时,功率管理组件115可生成中断或唤醒事件以从Mwait或C3状态,即中间功率状态唤醒诸如处理器组件112等的处理组件,以处理一个或更多个软件过程。中断或唤醒事件可在定义的事件前生成。通过生成非调度的中断或唤醒事件以处理软件过程,平台处理装置110可在更短得多的时间内进入低功率状态。
[0035]在一些实施例中,平台处理装置110和功率管理组件115可接收在处理软件过程完成后,平台处理装置110准备就绪以进入低功率状态的另一指示。平台处理装置110随后可进入低功率状态。然而,在一些实施例中,在平台处理装置I1能够进入低功率状态前,另外的自主硬件组件和软件过程可要求处理。例如,另外的过程可一直依赖其它过程结束,之后可对它们进行处理。功率管理组件115可如上及在图2中更详细所述完成相同过程,以处理所有自主硬件组件处理和软件处理。在所有自主硬件组件处理和软件处理完成前,此过程可重复多次迭代。
[0036]计算装置105也可包括控制器120,控制器120可包括微控制器或其它类型的处理电路、存储器和接口逻辑。在一些实施例中,控制器120可监视和控制计算机系统105的操作,包括但不限于监视和控制存储器装置130和I/O装置140的操作。控制器120也可监视和控制平台处理装置110的各种方面,包括但不限于在计算机系统105和平台处理装置110的各种组件之间的通信。在各种实施例中,控制器可经互连122与平台处理装置110耦八口 ο
[0037]存储器装置130存储计算机系统105的指令和/或数据。计算机系统105在执行指令时,存储器装置130也可存储临时变量或其它中间信息。I/O装置140是在计算机系统105与外部系统或装置之间的接口。I/O装置140可经连接144与外部系统或装置进行通信。连接144可以是本领域技术人员熟知的有线或无线或任何其它方式。在一个实施例中,I/O装置140可通过平台I/O装置116,经互连142与平台处理装置110进行通信。功率管理组件115、存储器装置130和I/O装置140也可经互连(未示出)相互进行通信。
[0038]计算机系统105中所示组件无意于限制,并且其陈述是为了便于说明。在其它实施例中,计算机系统105的配置包括与图1所示不同的(更多或更少)组件。相关领域技术人员将领会,计算机系统105的其它配置能够被使用而不影响本文中所述实施例的效果。
[0039]图2包括示出平台处理装置进入低功率状态的一个示例的逻辑流程图。为清晰起见,参照图1的计算机系统105讨论逻辑流程。在框201,可启动到低功率状态的转变。例如,功率管理组件115可接收来自诸如操作系统或任何其它程序等软件的指令或信息,指示平台处理装置110可进入低功率状态。在一个示例中,通过将平台处理装置110和/或处理器组件112置于诸如对应于ACPI C3状态的Mwait C状态等的中间功率状态,操作系统可向平台处理装置110和功率管理组件115指示它可进入低功率状态。
[0040]在判定框203,可做出有关平台处理装置110的所有组件是否在低功率状态的确定。例如,功率管理组件115可确定在预定义的时间期截止后,是否所有组件在低功率状态。在另一示例中,功率管理组件115可监视组件、组件过程和软件过程以确定平台处理装置110是否在低功率状态。在第三示例中,功率管理组件115可通过检查应用到处理器组件112和其它平台处理装置110组件的电压和存储器的硬件上下文,确定平台处理装置110是否在低功率状态。
[0041]如果在框203确定平台处理装置110处在目标低功率状态,则平台处理装置110可保持在此状态,直至事件或中断将平台处理装置I1从该状态唤醒。然而,如果在框203确定平台处理装置110未处在目标低功率状态,则在框205,功率管理组件115可等待自主硬件组件处理和/或软件处理完成。
[0042]在各种实施例中,功率管理组件115可等待平台特定时间期和软件就绪时间期中更长的时间期以允许自主硬件组件处理完成。在一些实施例中,功率管理组件115可如上所述不接收来自软件过程的软件就绪时间信息,并且可在判定框207做出有关平台处理装置110是否已进入低功率状态的确定前,只等待平台特定时间期。
[0043]如果在判定框207功率管理组件115确定平台处理装置115处在低功率状态,则在框209,逻辑流程可结束。然而,如果在判定框207功率管理组件115确定平台处理装置110未处在低功率状态,则功率管理组件115可生成中断或唤醒事件以从Mwait或C3状态,即中间功率状态唤醒诸如处理器组件112等处理组件,以处理一个或更多个软件过程。中断或唤醒事件可在定义的事件前生成。通过生成非调度的中断或唤醒事件以处理软件过程,平台处理装置110可在更短得多的时间内进入低功率状态。在框213,一个或更多个处理器组件112可处理软件过程,并且逻辑流程200可重复进行。例如,自主过程和其它软件过程可依赖软件过程完成,之后可对它们进行处理。在各种实施例中,在平台处理装置110和组件处在低功率状态前,逻辑流程200可重复迭代多次。
[0044]图3A示出用于将平台处理装置转变到低功率状态的第一活动级图300的一示范实施例。第一活动级图300示出正常功率状态级别301、中间功率状态级303和低功率状态级305。正常功率状态是平台处理装置110和组件完全通电并且在处理信息时。中间功率状态可以是Mwait状态和/或ACPI C3状态,在该状态中,处理器组件112未在处理,但其它自主组件和软件过程尚未转变到低功率状态。低功率状态级305可以是平台处理装置110和组件处在诸如SOix等闲置状态时。
[0045]活动级图300在点307示出功率管理组件115接收平台处理装置110可进入更低功率状态的指示。在一个示例中,通过将平台处理装置I1和/或处理器组件112置于诸如对应于ACPI C3状态的Mwait C状态等中间功率状态,操作系统可向平台处理装置110和功率管理组件115指示它可进入低功率状态,如活动级图300所示。
[0046]在活动级图300的点309,平台处理装置可基于线条315指示的定义的事件,转变回正常功率状态。一旦在正常功率状态,平台处理装置115和核可处理阻止平台处理装置115进入低功率状态的任何软件过程。一旦软件过程已处理,平台处理装置110和功率管理组件115便可接收到更低功率状态的转变的另一指示,并且到低功率状态的转变可在点311开始。此外,平台处理装置110可在点313进入低功率状态,并且保持在该状态,直至事件或中断将平台处理装置110从低功率状态唤醒。
[0047]图3B/3C示出用于转变到低功率状态的第二活动级图325和第三活动级图350的一实施例。在这些实施例中,平台处理装置I1和组件可在定义的事件315前退出中间功率状态303以处理软件过程,以便转变到低功率状态。例如,可从中间功率状态303中断或唤醒处理组件以处理阻止转变到更低功率状态的一个或更多个自主硬件过程或软件过程。在点307,平台处理装置110可接收平台处理装置110可进入低功率状态的指示,并且到低功率状态305的转变可启动。如前面所述,平台处理装置110可进入中间功率状态303,直至平台特定时间期或软件就绪时间期中的更长的时间期截止。
[0048]在一些实施例中,平台处理装置110和功率管理组件115可在线条315指示的定义的事件前退出中间功率状态303。线条317和319分别示出平台特定时间期和软件就绪时间期何时截止。在图3B中,软件就绪时间期在平台特定时间期后截止,并且功率管理组件115可等待,直至软件就绪时间期截止才在点309启动回到正常功率状态303的转变。然而,如图3C所示,平台特定时间期可如线条317所示在软件就绪时间后出现。在此示例中,在回到正常功率状态301以处理软件过程的转变前,功率管理组件115可等待,直至平台特定时间期截止。
[0049]平台处理装置110可进入正常功率状态301并且处理要求完成以转变到低功率状态305的任何软件过程。平台处理装置110和核可在点311完成处理这些软件过程,并且到低功率状态311的另一转变可由平台处理装置110启动,或者由操作系统通过使平台处理装置110进入中间功率状态303而启动。在一些实施例中,所有硬件自主处理和软件处理可已完成,并且平台处理装置110可被允许在点313进入低功率状态。
[0050]图3D示出用于将平台处理装置转变到低功率状态的第四活动级图375的一实施例。第四活动级图375类似于活动级图350,并且在线条317指示的平台特定时间期截止时转变回正常功率状态301。然而,在此实施例中,在平台处理装置110接收进入低功率状态的指示时,并非所有硬件自主过程和软件过程在点311已完成。例如,一些硬件自主过程和/或软件过程可依赖其它软件过程的完成。平台处理装置110和组件可回到中间功率状态303,并且在退出中间功率状态303并且处理另外的软件过程前,等待平台特定时间期和软件就绪时间期中更长的时间期。
[0051]在一个示例中,软件就绪时间期可如在线条327后出现的线条329所示在平台特定时间期后出现。平台处理装置I1随后可在点321转变回正常处理状态301以处理另外的软件过程。在点323,平台处理装置110可结束处理这些软件过程,并且接收进入低功率状态303的指示。平台处理装置325随后可在点325进入低功率状态。各种实施例不限于上述示例,在一些实施例中,平台特定时间期可在软件就绪时间期后截止。
[0052]另外,如前面相对于图2所述,在平台特定时间期和软件就绪时间期中更长的时间期截止时,功率管理组件115可确定是否所有自主过程和软件过程已完成,并且如果是,则可将平台处理装置110转变到低功率状态305。更具体地说,平台处理装置110和组件可不回到正常功率状态301,而是将转变到低功率状态305。
[0053]图4示出第二逻辑流程400的一个实施例。逻辑流程400可表示本文中所述一个或多个实施例执行的一些或所有操作。例如,逻辑流程400可示出由系统100,并且更具体地说,由系统100的计算机系统105执行的操作。在图4示出的所示实施例中,逻辑流程400可包括在框402启动到低功率状态的转变。更具体地说,功率管理组件115可接收来自诸如操作系统等的软件的使平台处理装置110置于低功率状态的指示。在一个示例中,指示可以是包括将平台处理装置置于诸如对应于ACPI C3状态的Mwait C状态等中间功率状态的指令的信息。功率管理组件随后可通过将平台处理装置110置于中间功率状态,启动到低功率状态的转变。
[0054]在框404,逻辑流程400可包括确定过程何时阻止系统完成到更低功率状态的转变。在各种实施例中,过程可以是自主硬件过程或软件过程,并且由于过程未能完成处理,因此,过程阻止平台处理装置110进入低功率状态。在一些实施例中,不止一个过程可阻止平台处理装置110进入低功率状态。
[0055]逻辑流程400也可包括从中间功率状态中断处理器以便在定义的事件的执行前处理该过程。具体而言,平台处理装置I1的功率管理组件115可等待平台特定时间期或软件就绪时间期中更长的时间期,并且随后中断诸如处理器组件112等处理器以处理或计算阻止平台处理装置110进入低功率状态的该过程(或几个过程)。在一些实施例中,平台处理装置110可进入低功率而不处理一个或更多个过程,这是因为硬件自主过程能够在平台特定时间期截止前完成。
[0056]图5示出可实施系统100的计算装置500的实施例。在实施例中,例如,装置500可实现为具有无线功能的移动计算装置。移动计算装置例如可指具有处理系统和如一个或几个电池等移动功率源或电源的任何装置。
[0057]如上所述,移动计算装置的示例可包括个人计算机(PO、膝上型计算机、超级膝上型计算机、平板、触摸板、便携式计算机、手持式计算机、掌上型计算机、个人数字助理(PDA)、蜂窝电话、组合蜂窝电话/PDA、电视、智能装置(例如,智能电话、智能平板或智能电视)、移动因特网装置(MID)、消息传递装置、数据通信装置等等。
[0058]移动计算装置的示例也可包括布置成由人佩戴的计算机,如腕部计算机、手指计算机、指环计算机、眼镜计算机、带夹计算机、臂带计算机、鞋计算机、衣服计算机及其它可穿戴计算机。在实施例中,例如,移动计算装置可实现为能够执行计算机应用程序及话音通信和/或数据通信的智能电话。虽然一些实施例可通过示例,借助于实现为智能电话的移动计算装置进行描述,但可理解,其它实施例也可使用其它无线移动计算装置实现。实施例不限于此上下文。
[0059]如图5所示,装置500可包括显示器554、导航控制器550、用户接口 553、外壳555、I/O装置556及天线557。显示器554可包括用于显示对移动计算装置适当的信息的任何适合的显示单元。导航控制器550可包括可用于与用户接口 553交互的一个或更多个导航特征。I/O装置556可包括用于将信息输入移动计算装置中的任何合适的I/O装置。I/O装置556的示例可包括字母数字键盘、数字小键盘、触摸板、输入键、按钮、开关、摇臂开关、麦克风、扬声器、话音识别装置和软件等等。信息也可通过麦克风输入装置500中。此类信息可由话音识别装置进行数字化。实施例不限于此上下文。
[0060]图6示出适合用于实现如前面所述各种实施例的示范计算体系结构600的一实施例。在一个实施例中,计算体系结构600可包括或实现为计算装置115的一部分。
[0061]在本申请中使用时,术语“系统”和“组件”要指计算机有关实体,是硬件、硬件和软件的组合、软件或在执行中的软件,其示例由示范计算体系结构600提供。例如,组件能够但不限于是在处理器上运行的进程、处理器、硬盘驱动器、(光学和/或磁性存储介质的)多个存储驱动器、对象、可执行文件、执行的线程、程序和/或计算机。作为说明,在服务器上运行的应用程序和服务器均能够是组件。一个或多个组件能够驻留在执行的进程和/或线程内,并且组件能够位于一个计算机上和/或分布在两个或更多个计算机之间。此外,组件可通过各种类型的通信介质以通信方式相互耦合以协调操作。协调可涉及信息的单向或双向交换。例如,组件可以通过通信介质传递的信号形式传递信息。信息能够实现为分配到各种信号线路的信号。在此类分配中,每个消息是信号。然而,其它实施例可备选采用数据消息。此类数据消息可跨各种连接发送。示范连接包括并行接口、串行接口和总线接口。
[0062]计算体系结构600包括各种普通计算元素,如一个或多个处理器、多核处理器、协处理器、存储器单元、芯片集、控制器、外设、接口、振荡器、定时装置、视频卡、音频卡、多媒体输入/输出(I/o)组件、功率等等。然而,实施例不限于通过计算体系结构600的实现。
[0063]如图6所示,计算体系结构600包括处理单元604、系统存储器606和系统总线608。处理单元604能够是各种市场上有售的处理器的任何处理器,如参照图1所示平台处理装置110所述的那些处理器。
[0064]系统总线608提供用于系统组件的接口,系统组件包括但不限于系统存储器606和处理单元604。系统总线608能够是几种类型的总线结构的任何总线结构,总线结构还可使用多种市场有售总线体系结构的任何体系结构,互连到存储器总线(带有或无存储器控制器)、外设总线和本地总线。接口适配器可经插槽体系结构连接到系统总线608。示例插槽体系结构可包括但不限于加速图形端口(AGP)、卡总线、(扩展)工业标准体系结构((E)ISA)、微信道体系结构(MCA)、NuBus、外设组件互连(扩展)(PCI (X))、PCI Express、个人计算机存储卡国际协会(PCMCIA)及诸如此类。
[0065]计算体系结构600可包括或实现各种制品。制品可包括计算机可读存储介质以存储逻辑。计算机可读存储介质的示例可包括能够存储电子数据的任何有形介质,包括易失性存储器或非易失性存储器、可拆卸或非可拆卸存储器、可擦除或非可擦除存储器、可写或可重写存储器等。逻辑的示例可包括使用任何适合类型的代码实现的可执行计算机程序指令,如源码、编译码、解释程序代码、可执行代码、静态码、动态码、面向对象码、可视码及诸如此类。实施例也可至少部分实现为在有形非暂时性计算机可读介质中或其上包含的指令,可由一个或多个处理器读取和执行以能够执行本文中所述操作。
[0066]系统存储器606可包括一个或多个更高速存储器单元形式的各种类型的计算机可读存储介质,如只读存储器(ROM)、随机存取存储器(RAM)、动态RAM (DRAM)、双数据率DRAM (DDRAM)、同步DRAM (SDRAM)、静态RAM (SRAM)、可编程ROM (PROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM (EEPROM)、闪存、聚合物存储器,如铁电聚合物存储器、奥氏存储器、相变或铁电存储器、硅氧化氮氧化硅(SONOS)存储器、磁卡或光学卡、诸如独立盘冗余阵列(RAID)驱动器、固态存储器装置(例如,USB存储器、固态驱动器(SSD))及适合存储信息的任何其它类型的存储介质。在图6示出的所示实施例中,系统存储器606能够包括非易失性存储器610和/或易失性存储器612。基本输入/输出系统(B1S)能够存储在非易失性存储器610中。
[0067]计算机602可包括一个或多个更低速度存储器形式的各种类型的计算机可读存储介质,包括内部(或外部)硬盘驱动器(HDD) 614、从可拆卸磁盘618读取或写入其中的磁性软盘驱动器(FDD) 616及从可拆卸光盘622 (例如,⑶-ROM或DVD)读取或写入其中的光盘驱动器620。HDD 614、FDD 616和光盘驱动器620能够分别通过HDD接口 624、FDD接口626和光学驱动器接口 628连接到系统总线608。用于外部驱动器实现的HDD接口 624能够包括通用串行总线(USB)和IEEE 1394接口技术至少之一或两者。
[0068]驱动器和相关联计算机可读介质提供数据、数据结构、计算机可执行指令等的易失性和/或非易失性存储。例如,多个程序模块能够存储在驱动器和存储器单元610、612中,包括操作系统630、一个或多个应用程序632、其它程序模块634及程序数据636。在一个实施例中,一个或更多个应用程序632、其它程序模块634和程序数据636能够例如包括系统105的各种应用和/或组件。
[0069]用户能够通过例如键盘638和诸如鼠标640等指点装置等一个或多个有线/无线输入装置,将命令和信息输入计算机602中。其它输入装置可包括麦克风、红外(IR)遥控器、射频(RF)遥控器、游戏手柄、手写笔、读卡器、加密解密器、指纹读取器、手套、图形输入板、操纵杆、键盘、视网膜阅读器、触摸屏(例如,电容型、电阻型等)、轨迹球、触控板、传感器、触控笔及诸如此类。这些和其它输入装置经常通过耦合到系统总线608的输入装置接口 642连接到处理单元604,但能够由诸如并行端口、IEEE 1394串行端口、游戏端口、USB端口、IR接口等其它接口连接。
[0070]监视器644或其它类型的显示装置也经诸如视频适配器646等接口连接到系统总线608。监视器644可在计算机602的内部或外部。除监视器644外,计算机一般情况下包括其它外设输出装置,如扬声器、打印机等。
[0071]计算机602可经到诸如远程计算机648等一个或多个远程计算机的有线和/或无线通信,使用逻辑连接在连网的环境中操作。远程计算机648能够是工作站、服务器计算机、路由器、个人计算机、便携式计算机、基于微处理器的娱乐家电、对等装置或其它普通网络节点,并且一般情况下包括相对于计算机602所述的许多或所有元素,但为简明起见,只示出了存储器/存储装置650。示出的逻辑连接包括到局域网(LAN) 652和/或诸如宽域网(WAN) 654等更大网络的有线/无线连接。此类LAN和WAN连网环境常见于办公室和公司中,并且有利于诸如内联网等企业范围的计算机网络,所有网络可连接到全球通信网络,例如,因特网。
[0072]在LAN连网环境中使用时,计算机602通过有线和/或无线通信网络接口或适配器656连接到LAN 652。适配器656能够有利于到LAN 652的有线和/或无线通信,LAN552也可包括在其上面部署以便与适配器656的无线功能进行通信的无线接入点。
[0073]在WAN连网环境中使用时,计算机602能够包括调制解调器658,或者连接到WAN654上的通信服务器,或者具有用于通过WAN 654建立通信的其它部件,如借助于因特网。能够在内部或外部并且是有线和/或无线装置的调制解调器658经输入装置接口 642连接到系统总线608。在连网的环境中,相对于计算机602所示的程序模块或其部分能够存储在远程存储器/存储装置650中。将领会的是,所示网络连接是用于示范,并且在计算机之间能够使用其它方式建立通信链路。
[0074]计算机602用于与使用IEEE 802标准系列的有线和无线装置或实体进行通信,如在无线通信中操作部署的无线装置(例如,IEEE 802.11空中调制技术)。除其它之外,这至少包括WiFi (或无线保真)、WiMax和Bluetooth?无线技术、3G、4G、LTE无线技术。因此,通信能够是如通过常规网络一样的预定义结构,或者只是在至少两个装置之间的自组织通信。WiFi网络使用称为IEEE 802.1lx (a、b、g、η等)的无线电技术提供安全、可靠、快速的无线连接。WiFi网络能够用于将计算机相互连接,连接到因特网以及到有线网络(使用IEEE 802.3有关的介质和功能)。
[0075]如前面参照图1-6的计算机系统105的各种元素可包括各种硬件元素、软件元素或两者的组合。硬件元素的示例可包括装置、逻辑装置、组件、处理器、微处理器、电路、处理器、电路元素(例如,晶体管、电阻器、电容器、电感器等等)、集成电路、专用集成电路(ASIC)、可编程逻辑器件(PLD)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、存储器单元、逻辑门、寄存器、半导体装置、芯片、微芯片、芯片集等等。软件元素的示例可包括软件组件、程序、应用程序、计算机程序、系统程序、软件开发程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、功能、方法、过程、软件接口、应用程序接口(API)、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号或其任何组合。然而,确定实施例是否使用硬件元素和/或软件元素实现可根据给定实现的需要,根据任何数量的因素而变化,如所需的计算速率、功率电平、耐热度、处理周期预算、输入数据率、输出数据率、存储器资源、数据总线速度及其它设计或性能约束。
[0076]详细公开内容现在转到提供涉及其它实施例的示例。下面提供的示例一到三十一(1-31)旨在示范而非限制。
[0077]在第一示例中,设备或计算装置可包括平台处理装置,平台处理装置包括处理器组件和功率管理组件,功率管理组件启动到更低功率状态的转变,并且确定某个装置过程阻止平台处理装置完成到更低功率状态的转变,功率管理组件从中间功率状态中断处理器组件以便在定义的事件的执行前计算或执行过程。
[0078]在第二示例中以及在第一示例的进一步深化中,装置过程包括软件过程或自主硬件过程,并且功率管理组件确定软件过程或自主硬件过程何时阻止平台处理装置转变到更低功率状态。
[0079]在第三示例中以及在任何前面示例的进一步深化中,设备或计算装置可包括功率管理组件以便在中断处理器组件前等待平台特定计时器期。
[0080]在第四示例中以及在任何前面示例的进一步深化中,设备或计算装置可包括功率管理组件以确定平台特定时间期或软件就绪时间期中的哪个时间期更长,并且在中断处理器组件前等待平台特定时间期或软件就绪时间期中更长的时间期。
[0081]在第五示例中以及在任何前面示例的进一步深化中,定义的事件包括定义的中断和计时器的截止,定义的事件在平台特定时间期和软件就绪时间期截止后发生。
[0082]在第六示例中以及在任何前面示例的进一步深化中,软件就绪时间期指示软件过程何时能够处理任务,并且平台特定时间期指示自主硬件过程何时完成。
[0083]在第七示例中以及在任何前面示例的进一步深化中,设备或计算装置可包括功率管理组件等待一个或更多个自主硬件过程完成并且在一个或更多个自主硬件过程完成时将平台处理装置转变到更低功率状态。
[0084]在第八示例中以及在任何前面示例的进一步深化中,设备或计算装置可包括处理器组件执行阻止设备进入更低功率状态的过程,并且通知平台处理装置在执行完成时进入更低功率状态。
[0085]在第九示例中以及在任何前面示例的进一步深化中,设备或计算装置可包括功率管理组件确定过程何时阻止进入更低功率状态以及在平台特定时间期截止或者一个或更多个自主硬件过程的处理完成时,平台处理装置何时未进入所述低功率状态。。
[0086]在第十示例中以及在任何前面示例的进一步深化中,设备或计算装置可包括存储器、图形处理单元和输入/输出(I/o)装置。
[0087]在第十一示例中以及在任何前面示例的进一步深化中,包括计算机可读存储介质的制品包含多个指令,指令在执行时允许处理器启动到更低功率状态的转变,并且确定某个装置过程阻止系统完成到更低功率状态的转变,以及从中间功率状态中断处理器以便在定义的事件的执行前处理过程。
[0088]在第十二示例中以及在任何前面示例的进一步深化中,装置过程包括软件过程或自主硬件过程和多个指令,指令在由处理器执行时,允许系统确定软件过程或自主硬件过程何时阻止系统转变到低功率状态。
[0089]在第十三示例中以及在任何前面示例的进一步深化中,制品可包括计算机可读存储介质,介质包含多个指令,指令在执行时允许处理器在中断处理器组件前等待平台特定计时器期间。
[0090]在第十四示例中以及在任何前面示例的进一步深化中,制品可包括计算机可读存储介质,介质包含多个指令,指令在执行时允许处理器确定平台特定时间期或软件就绪时间期中的哪个时间期更长,并且在中断处理器组件前等待平台特定时间期或软件就绪时间期中更长的时间期。
[0091]在第十五示例中以及在任何前面示例的进一步深化中,软件就绪时间期指示软件过程何时能够处理任务,并且平台特定时间期指示自主硬件过程何时完成。
[0092]在第十六示例中以及在任何前面示例的进一步深化中,定义的事件包括定义的中断和计时器的截止,定义的事件在平台特定时间期和软件就绪时间期截止后发生。
[0093]在第十七示例中以及在任何前面示例的进一步深化中,制品可包括计算机可读存储介质,介质包含多个指令,指令在执行时允许处理器等待一个或更多个自主硬件过程完成并且在一个或更多个自主硬件过程完成时将平台处理装置转变到更低功率状态。
[0094]在第十八示例中以及在任何前面示例的进一步深化中,制品可包括计算机可读存储介质,介质包含多个指令,指令在执行时允许处理器执行阻止系统进入更低功率状态的过程以及在过程完成时进入更低功率状态。
[0095]在第十九示例中以及在任何前面示例的进一步深化中,制品可包括计算机可读存储介质,介质包含多个指令,指令在执行时允许处理器确定过程何时阻止进入更低功率状态以及在平台特定时间期截止或者一个或更多个自主硬件过程的处理完成时,系统何时未进入低功率状态。
[0096]在第二十示例中以及在任何前面示例的进一步深化中,方法可包括启动到更低功率状态的转变,确定某个装置过程阻止平台处理装置完成到更低功率状态的转变,以及从中间功率状态中断处理组件以便在定义的事件的执行前处理该过程。
[0097]在第二 i^一示例中以及在任何前面示例的进一步深化中,方法可包括确定软件过程或自主硬件过程何时阻止平台处理装置转变到低功率状态。
[0098]在第二十二示例中以及在任何前面示例的进一步深化中,方法可包括确定平台特定时间期或软件就绪时间期中的哪个时间期更长,并且在中断处理器组件前等待平台特定时间期或软件就绪时间期中更长的时间期。
[0099]在第二十三示例中以及在任何前面示例的进一步深化中,方法可包括等待一个或更多个自主硬件过程完成并且在一个或更多个自主硬件过程完成时将平台处理装置转变到低功率状态。
[0100]在第二十四示例中以及在任何前面示例的进一步深化中,方法可包括执行阻止系统进入更低功率状态的过程以及在过程完成时进入更低功率状态。
[0101]在第二十五示例中以及在任何前面示例的进一步深化中,方法可包括确定过程何时阻止进入更低功率状态以及在平台特定时间期截止或者一个或更多个自主硬件过程的处理完成时,系统何时未进入低功率状态。
[0102]在第二十六示例中以及在任何前面示例的进一步深化中,控制器可包括其至少一部分是在硬件中的逻辑,逻辑启动到更低功率状态的转变,并且确定某个装置过程阻止平台处理装置完成到更低功率状态的转变,以及从中间功率状态中断处理器组件以便在定义的事件的执行前处理该过程。
[0103]在第二十七示例中以及在任何前面示例的进一步深化中,控制器可包括其至少一部分是在硬件中的逻辑,逻辑在中断处理器组件前等待平台特定计时器期间。
[0104]在第二十八示例中以及在任何前面示例的进一步深化中,控制器可包括其至少一部分是在硬件中的逻辑,逻辑确定平台特定时间期或软件就绪时间期中的哪个时间期更长,并且逻辑在中断处理器组件前等待平台特定时间期或软件就绪时间期中更长的时间期。
[0105]在第二十九示例中以及在任何前面示例的进一步深化中,控制器可包括其至少一部分是在硬件中的逻辑,逻辑等待一个或更多个自主硬件过程完成并且在一个或更多个自主硬件过程完成时将平台处理装置转变到更低功率状态。
[0106]在第三十示例中以及在任何前面示例的进一步深化中,控制器可包括其至少一部分是在硬件中的逻辑,逻辑执行阻止设备进入更低功率状态的过程,并且通知平台处理装置在执行完成时进入更低功率状态。
[0107]在第三十一示例中以及在任何前面示例的进一步深化中,控制器可包括其至少一部分是在硬件中的逻辑,逻辑确定过程何时阻止进入更低功率状态以及在平台特定时间期截止或者一个或更多个自主硬件过程的处理完成时,平台处理装置何时未进入低功率状态。
[0108]一些实施例可使用表述“一个实施例”或“一实施例”及其派生词进行描述。这些术语表示结合实施例描述的特定特征、结构或特性包括在至少一个实施例中。在说明书中各个位置出现的“在一个实施例中”词语不一定全部指同一实施例。此外,一些实施例可使用表述“耦合”和“连接”及其派生词描述。这些术语不一定是彼此的同义词。例如,一些实施例可使用术语“连接”和/或“耦合”描述,以指示两个或更多个元素相互的直接物理或电接触。然而,术语“耦合”也可指两个或更多个元素相互不直接接触,但仍相互合作或交互。
[0109]要强调的是,本公开内容的摘要部分提供用于允许读者快速确定本技术公开内容的本质。它是在将不用于解释或限制权利要求书范围或含意的理解下提交。另外,在上述【具体实施方式】中,可看到各种特性在单个实施例中组合在一起以便简化公开内容。此公开方法不可解释为反映要求保护的实施方式需要比每个权利要求项明确所述更多特征的用意。相反,如下述权利要求书所反映的一样,发明的主题依赖比单个公开实施方式所有特征更少的特征。因此,下述权利要求书在此结合到【具体实施方式】中,其是每个权利要求项本身保持为单独的实施方式。在随附权利要求中,术语“包括”和“其中”分别用作相应术语“包含”和“之中”的等效物。另外,术语“第一”、“第二”、“第三”等只用作标签,并无意对其物体强加数字要求。
[0110]上述内容包括公开的体系结构的示例。当然,不可能描述组件和/或方法的每种可想到的组合,但本领域技术人员可认识到其它组合和置换是可能的。相应地,新颖的体系结构是要将在随附权利要求书精神和范围内的所有此类备选、修改和变化包涵在内。
【权利要求】
1.一种设备,包括: 平台处理装置,包括处理器组件和功率管理组件,所述功率管理组件启动到更低功率状态的转变,并且确定装置过程阻止平台处理装置完成到所述更低功率状态的所述转变,所述功率管理组件从中间功率状态中断所述处理器组件以便在定义的事件的执行前执行所述装置过程。
2.如权利要求1所述的设备,所述装置过程包括软件过程或自主硬件过程,并且所述功率管理组件确定所述软件过程或自主硬件过程何时阻止所述平台处理装置转变到所述低功率状态。
3.如权利要求1所述的设备,所述功率管理组件在中断所述处理器组件前等待平台特定计时器期间。
4.如权利要求1所述的设备,所述功率管理组件确定平台特定时间期或软件就绪时间期中的哪个时间期更长,并且在中断所述处理器组件前等待所述平台特定时间期或所述软件就绪时间期中所述更长的时间期。
5.如权利要求4所述的设备,所述定义的事件包括定义的中断或计时器的截止,所述定义的事件在所述平台特定时间期和所述软件就绪时间期截止后发生。
6.如权利要求4所述的设备,所述软件就绪时间期指示软件过程何时能够处理任务,并且所述平台特定时间期指示自主硬件过程何时完成。
7.如权利要求1所述的设备,所述功率管理组件等待一个或更多个自主硬件过程完成并且在所述一个或更多个自主硬件过程完成时将所述平台处理装置转变到所述更低功率状态。
8.如权利要求1所述的设备,所述处理器组件执行阻止所述设备进入所述更低功率状态的所述过程,并且通知所述平台处理装置在执行完成时进入所述更低功率状态。
9.如权利要求1所述的设备,所述功率管理组件确定所述过程何时阻止进入所述更低功率状态以及在平台特定时间期截止或者一个或更多个自主硬件过程的处理完成时,所述平台处理装置何时未进入所述低功率状态。
10.如权利要求1所述的设备,包括: 存储器; 控制器;以及 输入/输出(I/o)装置。
11.一种计算机实现的方法,包括: 启动到更低功率状态的转变; 确定装置过程阻止所述系统完成到所述更低功率状态的所述转变;以及 从中间功率状态中断所述处理器以便在定义的事件的执行前处理所述装置过程。
12.如权利要求11所述的计算机实现的方法,所述装置过程包括软件过程或自主硬件过程,并且所述方法包括确定所述软件过程或自主硬件过程何时阻止所述系统转变到所述低功率状态。
13.如权利要求11或权利要求12所述的计算机实现的方法,包括: 在中断所述处理器组件前等待平台特定计时器期间。
14.如权利要求11或权利要求12所述的计算机实现的方法,包括: 确定平台特定时间期或软件就绪时间期中的哪个时间期更长;以及在中断所述处理组件前等待所述平台特定时间期或所述软件就绪时间期中所述更长的时间期。
15.如权利要求14所述的计算机实现的方法,所述软件就绪时间期指示所述软件过程何时能够处理任务,并且所述平台特定时间期指示自主硬件过程何时完成。
16.如权利要求11或权利要求12所述的计算机实现的方法,所述定义的事件包括定义的中断或计时器的截止,所述定义的事件在所述平台特定时间期和所述软件就绪时间期截止后发生。
17.如权利要求11或权利要求12所述的计算机实现的方法,包括: 等待一个或更多个自主硬件过程完成;以及 在所述一个或更多个自主硬件过程完成时将所述平台处理装置转变到所述更低功率状态。
18.如权利要求11或权利要求12所述的计算机实现的方法,包括: 执行阻止所述系统进入所述更低功率状态的所述过程;以及 在所述过程完成时进入所述更低功率状态。
19.如权利要求11或权利要求12所述的计算机实现的方法,包括: 确定所述过程何时阻止进入所述更低功率状态以及在平台特定时间期截止或者一个或更多个自主硬件过程的处理完成时,所述系统何时未进入所述低功率状态。
20.—种设备,包括: 用于启动到更低功率状态的转变的部件; 用于确定装置过程阻止平台处理装置完成到所述更低功率状态的转变的部件;以及用于从中间功率状态中断处理组件以便在定义的事件的执行前处理所述装置过程的部件。
21.如权利要求20所述的设备,包括 用于确定所述软件过程或自主硬件过程何时阻止所述平台处理装置转变到所述低功率状态的部件。
22.如权利要求20或权利要求21所述的设备,包括: 用于确定平台特定时间期或软件就绪时间期中的哪个时间期更长的部件;以及用于在中断所述处理组件前等待所述平台特定时间期或所述软件就绪时间期中所述更长的时间期的部件。
23.如权利要求20或权利要求21所述的设备,包括: 用于等待一个或更多个自主硬件过程完成的部件;以及 用于在所述一个或更多个自主硬件过程完成时将所述平台处理装置转变到所述低功率状态的部件。
24.如权利要求20或权利要求21所述的设备,包括: 用于执行阻止所述系统进入所述更低功率状态的所述过程的部件;以及 用于在所述过程完成时进入所述更低功率状态的部件。
25.如权利要求20或权利要求21所述的设备,包括: 用于确定所述过程何时阻止进入所述更低功率状态以及在平台特定时间期截止或者一个或更多个自主硬件过程的处理完成时,所述系统何时未进入所述低功率状态的部件。
【文档编号】G06F1/32GK104516477SQ201410502483
【公开日】2015年4月15日 申请日期:2014年9月26日 优先权日:2013年9月27日
【发明者】L.K.普蒂耶达斯, A.阿加瓦, 陆庆达, R.塞斯, M.C.瓦兹 申请人:英特尔公司