CN105378590B - 用于片上多处理器系统中的空闲状态优化的系统和方法 - Google Patents

用于片上多处理器系统中的空闲状态优化的系统和方法 Download PDF

Info

Publication number
CN105378590B
CN105378590B CN201480040069.5A CN201480040069A CN105378590B CN 105378590 B CN105378590 B CN 105378590B CN 201480040069 A CN201480040069 A CN 201480040069A CN 105378590 B CN105378590 B CN 105378590B
Authority
CN
China
Prior art keywords
idle state
kernel
state
power consumption
idle
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201480040069.5A
Other languages
English (en)
Other versions
CN105378590A (zh
Inventor
A·贾殷
U·瓦达坎马鲁韦杜
V·米特
H·贝让
P·奇丹巴拉姆
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN105378590A publication Critical patent/CN105378590A/zh
Application granted granted Critical
Publication of CN105378590B publication Critical patent/CN105378590B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3243Power saving in microcontroller unit
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Power Sources (AREA)
  • Telephone Function (AREA)

Abstract

公开了用于便携式计算设备(“PCD”)中的空闲状态优化的方法和系统的各个实施例。示例性的方法包括将所述PCD中的所有处理内核的总计功耗水平与功率预算进行比较,以及如果在所述功率预算中存在可用余量,那么将操作在第一空闲状态的内核转变到不同的空闲状态。通过这样做,如果出现需求,那么可以减小与将所转变的内核带出空闲状态并且带入到活动状态相关联的延时值。结果是可以改善用户体验和QoS,因为可以更好地放置否则处于具有长延时时间的空闲状态的空闲内核,以快速地转变到活动状态并且处理工作负荷。

Description

用于片上多处理器系统中的空闲状态优化的系统和方法
背景技术
便携式计算设备(“PCD”)正在成为人们在个人和职业层面上的必需品。这些设备可以包括蜂窝电话、便携式数字助理(“PDA”)、便携式游戏控制台、掌上计算机以及其它便携式电子设备。市场上的大多数PCD包括多核处理器,取决于特定的使用情况,所述多核处理器可以以变化的频率和活动的内核配置来操作。
PCD的一个独特的方面是其典型地不具有有源冷却设备,例如风扇(经常可以在较大的计算设备(诸如,膝上型计算机和台式计算机)中发现它们)。从而,经常通过各种热管理技术的应用来在PCD中管理热能生成,所述各种热管理技术可以包括基于实时、或接近实时、工作负荷需求来在活动处理状态和空闲状态之间转变处理内核。当内核不需要被用于处理工作负荷时,通过将内核从活动处理状态转变到空闲状态可以避免与活动状态相关联的功耗。
但是,将内核置于空闲状态可能负面地影响PCD提供给其用户的服务质量(“QoS”)。例如,许多PCD使用情况生成“突发负荷”,并且如果内核没有处于准备好快速地处理突发负荷的活动状态,那么用户体验将不可避免地收到损害。从而,如果目标是省电,那么将内核置于具有转变回活动状态的高延时的空闲状态可能是理想的,但是同时,如果目标是优化在突发负荷期间的QoS,那么这是不理想的。
因此,本领域所需要的是用于鉴于PCD中总体功率预算来优化内核空闲状态的选择的方法和系统,使得当将内核转变回活动状态时最小化延时时间。
发明内容
公开了用于在便携式计算设备(“PCD”)中的空闲状态优化的方法和系统的各个实施例。用于PCD中的空闲状态优化的示例性方法包括确定用于PCD的功率预算。值得注意的是,因为PCD的形状因子不同,所以本领域普通技术人员将认识到的是,可允许的或最大功率预算可以根据PCD的特定的形状因子变化。其次,可以将针对所有处理内核的总计功耗水平与所述功率预算比较,并且如果比所述功率预算小,那么可以将操作在空闲状态中的内核识别为有资格转变到不同的空闲状态。
如果将所述合格的内核中的一个或多个合格的内核从第一空闲状态(例如,功率崩溃空闲状态)转变到第二空闲状态(例如,“等待中断”空闲状态),那么基于合格的内核的操作温度,可以确定对总计功耗的可能影响。如果将所述一个或多个内核转变到不同的空闲没有将总计功耗增加到功率预算以上,那么可以转变所述一个或多个内核。通过这样做,如果产生需求,那么可以减小与将所转变的内核带出空闲状态并且带入到活动状态相关联的延时值。结果是可以改善用户体验和QoS,因为可以更好地放置否则处于具有长延时时间的空闲状态的空闲内核,以快速地转变到活动状态并且处理工作负荷。
附图说明
在附图中,除非另外指示,否则遍及各个视图,相似的附图标记指代相似的部分。对于具有诸如“102A”或“102B”的字母字符标记的附图标记,字母字符标记可以区分出现在同一附图中的两个相似的部分或元素。当旨在使附图标记涵盖在所有附图中具有相同附图标记的所有部分时,可以省略附图标记的字母字符标记。
图1是示出了对于给定的空闲状态和结温度,与便携式计算设备(“PCD”)的给定四核芯片集中的示例性内核0、1、2和3相关联的延时和泄漏速率的图。
图2是示出了用于多核PCD中的空闲状态优化的片上系统的实施例的功能性框图。
图3是用于实现用于空闲状态优化的方法和系统的、无线电话的形式的PCD的示例性、非限制性方面的功能性框图。
图4是示出了用于支持空闲状态优化的图3的PCD的示例性软件架构的示意图。
图5是示出了用于图3的PCD中的空闲状态优化的方法的实施例的逻辑流程图。
具体实施方式
本文使用的词语“示例性”意味着“作为例子、实例或说明”。本文中描述为“示例性”的任何方面不必被解释为排它的、优选于其它方面或者比其它方面有优势。
在本描述中,术语“应用”还可以包括具有可执行内容(诸如:对象代码、脚本、字节代码、标记语言文件以及补丁)的文件。另外,本文中所引用的“应用”还可以包括本质上不可执行的文件(诸如可能需要被打开的文档或需要被访问的其它数据文件)。
如在本描述中使用的,术语“组件”、“数据库”、“模块”、“系统”、“热能生成组件”、“处理组件”、“处理引擎”、“应用处理器”等旨在指代计算机相关的实体,要么是硬件、固件、硬件和软件的组合、软件,要么是执行中的软件,并且表示提供功能以及执行在本说明书中描述的过程或过程流中的某些步骤的示例性单元。例如,组件可以是,但不限于是:在处理器上运行的过程、处理器、对象、可执行文件、执行的线程、程序和/或计算机。通过说明的方式,在计算设备运行上的应用和计算设备二者可以是组件。一个或多个组件可以存在于过程和/或执行的线程中,并且组件可以位于一个计算机中和/或分布在两个或更多计算机之间。此外,这些组件能够从具有在其上存储的各种数据结构的各种计算机可读介质中执行。组件可以诸如根据具有一个或多个数据分组(例如,来自与本地系统、分布式系统中的另一个组件进行交互,和/或跨诸如互联网的网络通过信号的方式与其他系统进行交互的一个组件的数据)的信号通过本地和/或远程过程进行通信。
在本描述中,术语“中央处理单元(“CPU”)”、“数字信号处理器(“DSP”)”、“芯片”和“芯片集”是可以存在于PCD中的处理组件的非限制性示例,并且可以被可互换地使用,除非当另外指示时。此外,如在本描述中区分的,CPU、DSP或芯片或芯片集可以由一个或多个本文中通常被称为“内核”的独特的处理组件组成。
在本描述中,将要理解的是,可以与能够生成或消散可以以“温度”为单位来测量的能量的设备或组件相关联地使用术语“热”或“热能”。从而,将进一步理解的是,参照某个标准值的术语“温度”预见可以指示“热能”生成设备或组件的相对温暖或热缺乏的任何测量。例如,当两个组件处于“热”平衡时,两个组件的“温度”相同。
在本描述中,术语“工作负荷”、“过程负荷”以及“过程工作负荷”被可互换地使用,并且通常被引向与给定实施例中的给定处理组件相关联、或者可以被分配给给定实施例中的给定处理组件的处理负担或处理负担百分比。相似地,术语“突发负荷”用于指示要求优先于其它排队的工作负荷的工作负荷,并且因此应当被立即处理以优化用户体验。突发负荷还可以表示不仅要求立即的处理,还要求相对高的处理容量的相对大的工作负荷。
进一步限定上文所限定的,“处理组件”可以是,当不限于是:中央处理单元、图形处理单元、内核、主内核、子内核、处理区域、硬件引擎等,或存在于便携式计算设备中的集成电路中或在便携式计算设备中的集成电路外部的任何组件。此外,从某种程度上说,术语“热负荷”、“热分布”、“热签名”、“热处理负荷”等是可以在处理组件上运行的工作负荷的指示,本领域普通技术人员将认同本公开内容中的这些“热”术语的使用可以与处理负荷分布、工作负荷负担以及功耗相关。
在本描述中,术语“热减轻技术”、“热策略”、“热管理”以及“热减轻测量”被可互换地使用。
在本描述中,术语“便携式计算设备”(“PCD”)用于描述在有限容量电源(诸如电池)上操作的任何设备。尽管电池操作的PCD已经被使用了几十年,但是在可再充电电池方面的技术进步结合第三代(“3G”)和第四代(“4G”)无线技术的到来实现了许多具有多种能力的PCD。因此,PCD可以是蜂窝电话、卫星电话、寻呼机、PDA、智能电话、导航设备、平板计算机、智能本或阅读器、媒体播放器、上述设备的组合、具有无线连接的膝上型计算机等等。
在本描述中,术语“延时”通常用于指代给定的处理组件从某个空闲状态转变到用于处理工作负荷(诸如突发工作负荷)的活动状态所花费的时间。多个空闲状态可以是可用于给定的示例性内核的,并且可以基于针对每个空闲状态的内核的延时和泄漏功率来彼此区分。通常来说,与某个空闲状态相关联的延时越高,泄漏速率就越低(即,功耗就越低)。因此,如本领域普通技术人员将理解的是,当要求PCD中的额外的处理能力时,与可以提供更好的QoS的与高泄漏速率相关联的空闲状态相比,与高延时相关联的空闲状态可以提供更好的功率节省。
为了描述示例性实施例的方便,本描述描述了三个空闲状态,即:“等待中断”(“WFI”)空闲状态、保持空闲状态和功率崩溃空闲状态。即便如此,系统和方法的实施例不限于仅三个空闲状态或空闲状态的任意特定的组合。如本领域普通技术人员将理解的是,任意数量的空闲状态可以在是可用的并且用在PCD中,每个这样的状态提供变化的延时水平和功率节省水平。有优势地,用于空闲状态优化的系统和方法的实施例识别与可用的空闲状态相关联的不同的延时和功率节省,并且使用这些差异来优化QoS和用户体验。各个实施例通过将各个内核有策略地分配到各个空闲状态以及在空闲状态和活动处理状态之间转变来优化QoS和用户体验。通过空闲状态优化算法的应用来确定到空闲和活动状态的分配以及在空闲和活动状态间的转变,当权衡功率节省目标(即,热减轻目标)和QoS/用户体验目标(即,工作负荷(尤其是突发负荷)的有效处理)时,所述空闲状态优化算法考虑特定PCD的整体功率预算。
当处理内核进入WFI空闲状态时,其处理器时钟停止,或“被断开”,直到发生中断或调试事件。这样,内核不再处于用于处理工作负荷的活动状态(因此节省功耗),但是仍然准备好在检测到中断的情况下快速地转变回活动状态(诸如用于处理突发负荷)。即使当内核处于WFI空闲状态时,其不消耗功率用于处理工作负荷,但是仍然向内核提供电压,并且可测量的电流以泄漏电流的形式不可避免地保留在内核的电源导轨上。值得注意的是,泄漏电流可以与内核的温度(即,结温度)直接关联,并且因此本领域普通技术人员将认识到的是,对内核的温度的测量可以用于计算其正在进行的功耗速率(不考虑内核可能处于的空闲状态)。
保持空闲状态与WFI空闲状态相似,因为处于保持状态的处理内核被时钟门控。但是,此外,当处于保持状态时,提供到处理内核的电源电压也被减小。保持状态相对于WFI状态的优势在于较小的泄漏电流与保持状态相关联,并且因此,处于保持状态的功率节省相对于WFI状态被提高。但是,值得注意的是,与从WFI状态转变相比,处理器从保持空闲状态返回到活动状态的延时增加了。
第三示例性空闲状态是功率崩溃空闲状态。与保持空闲状态相比,进入功率崩溃空闲状态的处理内核被充分计时,并且全部功率被从电源导轨移除。从而,与功率崩溃空闲状态相关联的功率节省相对于WFI和保持状态被提高;但是,与功率崩溃空闲状态相关联的延时是所有三个示例性状态中持续时间最长的,因为内核必须通过暖启动序列以便转变回活动状态。
再一次地,对于示例性处理组件可以是可用的以上三种空闲状态的一般描述和参考仅被提供用于说明性的目的,并且不意味着暗示或建议系统和方法的实施例仅适用于三种空闲状态。可以预见的是,本系统和方法的实施例可以使用任意数量的空闲状态。某些空闲状态可以经由软件来时钟门控处理器和/或减小其电源,而其它空闲状态可以经由硬件来这样做。相似地,除了时钟门控以及减小到处理组件的功率之外,某些空闲状态还可以关闭存储器、驱动器、总线硬件等。但是通常,处于给定的空闲状态为保存功率所采取的措施越极端,处于该空闲状态的处理器返回到活动处理状态所花费的时间将越长。
值得注意的是,可以预见的是,当操作在给定的温度和给定的空闲状态中时,不是所有处理内核将展示出等同的功率节省和延时。本领域普通技术人员将认识到的是,各种处理内核当在相同的空闲状态以及以相同的操作温度时的性能特性可能因任意数量的原因而不同,所述原因包括但不限于不同的硅等级、设计差异等。此外,本领域普通技术人员将认识到的是,与任何给定的处理内核相关联的性能特性可以随该处理内核的操作温度、根据空闲状态提供给该处理组件的功率等变化。
例如,考虑示例性异构多核处理器,其包括通常性能容量范围从低到高的多个不同的处理内核(值得注意的是,本领域普通技术人员将认识到的是,还可以考虑示例性异构片上多处理器系统(“SoC”),其可以包括多个不同的处理组件、包含一个或多个内核的高速缓存)。如本领域普通技术人员会理解的,异构处理器中低容量到中等容量处理内核在给定的空闲状态中与处于相同空闲状态的具有相对高的性能容量的处理内核相比,将展示出较低的功率泄漏速率,以及从而较低的热能生成速率。由于这些原因,本领域普通技术人员将认识到的是,即使高容量内核在处理突发负荷方面可能是最理想的,但是低容量内核在指定到WFI空闲状态的某些场景中可能是更理想的,这是由于其较低的泄漏速率可能不会引起超过整体功率预算。
图1是示出了对于给定的空闲状态和结温度,与PCD的给定的四核芯片集中的示例性内核0、1、2和3相关联的延时和泄漏速率的图。值得注意的是,尽管本文关于四核芯片集来描述各个实施例的某些特征和方面,但是本领域普通技术人员将认识到的是,实施例可以应用到任何多核或单核芯片中。
在示例性说明中,对于给定的结温度和空闲状态,内核中的每一个内核在延时和功耗方面展现出独特的性能特性。内核0能够相对快速地转变回活动处理状态(内核0延时),但是其还具有相对高的泄漏功率水平(内核0泄漏)。与内核0和内核3相比,内核1会相对较慢地返回到活动处理状态,但是不会跟内核2一样慢。内核1的IDDq等级(内核1泄漏)还使其成为在泄漏速率方面内核中第二最有效的内核。
有优势地,内核与内核在延时和静止泄漏速率方面的差异可以被空闲状态选择(“ISS”)模块用于选择最适用于转变到各个空闲状态的处理组件,使得在不需要不必要地延长用于处理突发负荷的延时时段的情况下管理PCD中的功耗。例如,如果图1中的图表所表示的给定的空闲状态是WFI空闲状态,以及内核3目前处于功率崩溃空闲状态,那么ISS模块可以选择将内核3从功率崩溃空闲状态转变到WFI空闲状态,使得在突发负荷需要处理的情况下最小化内核3的延时。深化该示例,在做出将内核3从功率崩溃状态转变到WFI空闲状态的选择的过程中,ISS可以识别的是,与内核3相关联的增加的泄漏速率将影响PCD的整体功率预算。即便如此,如果内核3的处理能力在短时间内被需要,那么减小内核3的延时的好处远超过由将内核3置于WFI空闲状态所表示的所增加的功耗。以这种方式,ISS模块工作以有效地为不用于活跃地处理工作负荷的每个内核(不只是内核3)选择空闲状态,使得在不超过整体功率预算的情况下优化用户体验(可以以延时来测量)。
图2是示出了用于异构、多核PCD100中的空闲状态选择和优化的片上系统102的实施例的功能性框图。如上文所解释的,可以预见的是,用于空闲状态优化的系统和方法的实施例可以用在可以是或不是异构的具有一个或多个处理内核的任何SoC中。但是,可以进一步预见的是,系统和方法的实施例在异构、多核PCD中可能是尤其有用的,因为内核在不同的操作温度和在不同的空闲状态内的不同的性能特性可以在鉴于管理PCD的整体功率预算最小化延时呈现出显著的灵活性。由于这个原因,主要在异构、多核PCD的上下文中描述了本描述中的示例性实施例;但是,本领域普通技术人员将认识到的是,空闲状态优化系统或方法的实施例不限于包括异构、多核处理组件的PCD。
转向图2说明,空闲状态选择(“ISS”)模块101与异构、多核处理器110、监测器模块114、调度器207以及空闲状态查找表(“LUT”)24相通信。在操作中,监测器模块114监测温度传感器157等,可以单独地放置温度传感器157以监测与内核222、224、226和228中的每一个内核相关联的结温度。所监测的温度可以被视为内核的操作温度,并且如上文所解释的,与内核222、224、226和228中的每一个内核所消耗的功率关联。
ISS模块101经由监测模块114来接收由温度传感器157测量的温度,并且可以基于那些温度和每个内核的当前的状态(活动状态还是空闲状态)来查询LUT 24。对于每个内核,取决于其温度和特定的状态,ISS模块101可以查询与图1所示的图表相似的数据。此外,对于给定的内核,如果其被转变到不同于其当前操作状态的操作状态,那么ISS模块101可以查询LUT 24以确定内核的性能特性。ISS模块101还可以与调度器207进行通信,以识别或确定经排队的工作负荷,所述经排队的工作负荷可能要求当前通过处于活动操作状态中的内核222、224、226和228中的任何一个内核是不可获得的处理容量。
根据各个查询和所监测的数据,ISS模块101可以计算所有内核222、224、226、228的当前功耗,并且将其与和PCD 100相关联的整体功率预算相比较。如果超过整体功率预算(或超过与整体功率预算相关联的阈值),那么ISS模块101可以选择将内核222、224、226、228中的一个或多个内核从活动状态转变到空闲状态、或者从空闲状态转变到不同的空闲状态,意识到与转变相关联的功率节省作为与所增加的延时(如果所转变的内核被要求回到线上作为活动内核)的交易。但是,如果在整体功率预算中存在余量,那么ISS模块101可以选择内核222、224、226、228中的一个或多个内核以转变到与较低延时相关联的活动状态或空闲状态。通过这样做,ISS模块101可以意识到的是,如果需要所转变的内核快速地处理突发的工作负荷增加(或即将到来的经排队的工作负荷增加),那么延时的减小相对于与转变到“更准备好的”空闲状态(诸如从保持空闲状态到WFI空闲状态)相关联的所增加的功耗会是优选的。
关于ISS模块101选择内核222、224、226、228以从一个状态转变到另一个状态,可以预见的是,选择可以基于PCD 100的整体功率预算与预期从转变产生的功耗水平的比较。为了进行比较,ISS模块101可以比较针对给定的内核、在该内核的当前的操作温度、并与多个空闲状态相关联的存储在LUT 24中的操作特性。再一次地,意识到内核的功耗与其操作温度关联,ISS模块101可以比较与在给定操作温度当处于不同的操作状态时的给定的内核相关联的功耗水平,以确定如果将给定的内核从一个操作状态转变到另一个操作状态(例如,从功率崩溃状态到WFI空闲状态),那么对PCD 100的整体功耗的可能影响。
值得注意的是,尽管图2的说明描绘了空闲状态优化系统和方法的实施例,所述实施例查询LUT 24以确定如果将内核从一个操作状态转变到另一个操作状态,那么对延时和功耗的可能影响,但是可以预见的是,其它实施例可以不使用LUT 24,并且替代地,可以使用数学函数以计算影响。如本领域普通技术人员将认识到的是,因为当内核处于给定的操作状态时,可以根据内核的所测量的操作温度来确定内核的功耗,所以系统和方法的实施例可以简单地计算对延时和功耗的可能影响。
值得注意的是,可以根据本领域那些普通技术人员理解的台架实验和平台表征来关于内核222、224、226、228中每一个内核经验地收集LUT 24的内容。实质上,对于每个操作温度和操作状态组合,可以“在工厂”针对处理组件222、224、226、228中每一个处理组件测量包括延时和IDDq泄漏速率的性能特性,并且将所述性能特性存储在LUT 24中(或用于生成函数)。根据数据,ISS模块101可以确定可以将内核222、224、226、228中的哪个内核从一个操作状态转变到另一个操作状态,使得在不超过PCD 100或芯片102的整体功率预算的情况下最小化延时。如本领域普通技术人员理解的,LUT 24可以以硬件和/或软件的形式存在,这取决于特定的实施例。此外,如本领域普通技术人员理解的,硬件中的LUT 24可以被熔合到硅里面,而以软件形式的LUT 24可以被存储在固件中。
图3是用于实现用于空闲状态优化的方法和系统的、无线电话的形式的PCD的示例性、非限制性方面的功能性框图。如图所示,PCD 100包括片上系统102,其包括耦合到一起的模拟信号处理器126和异构、多核中央处理单元(“CPU”)110。如本领域普通技术人员理解的,CPU 110可以包括第零内核222、第一内核224以及第N内核230。此外,如本领域普通技术人员理解的,替代CPU 110,还可以采用数字信号处理器(“DSP”)。此外,如异构多核处理器领域所理解的,内核222、224、230中的每一个内核可以以不同的最大电压频率处理工作负荷、在给定的温度和操作状态处展现不同的IDDq泄漏速率、具有从给定的空闲状态转变到活动状态的不同的延时等。
通常,ISS模块101可以负责监测并且应用空闲状态优化策略,其中该策略包括在空闲状态之间转变内核,使得回到线上以处理工作负荷的延时被最小化,同时考虑芯片102的整体功率预算。空闲状态优化策略的应用可以帮助PCD 100管理热状况和/或热负荷以及避免在使额外的处理容量可用时(诸如,例如,当突发负荷被调度用于处理时)的不必要的延时。ISS模块101可以从监测器模块114接收温度数据以及其它状况指示符,并且使用该数据确定可能从将内核222、224、230中的一个或多个内核转变到不同的操作状态产生的对延时和功耗的影响。通过这种方式,ISS模块101可以通过放置一个或多个内核以在不需要将一个或多个内核留在高功耗操作状态(诸如活动状态)中的情况下快速地适应突发工作负荷来优化用户体验。
监测器模块114与多个操作的传感器(例如,热传感器157)和遍及片上系统102分布的组件并且与PCD 100的CPU 110以及与ISS模块101进行通信。值得注意的是,监测器模块114还可以与片外组件进行通信和/或监测片外组件,所述片外组件诸如但不限于电源188、触摸屏132、RF交换器170等。ISS模块101可以与监测器模块114一起工作,以识别PCD中的呈现用于优化一个或多个处理组件的空闲状态的机会的状况。
如图3所示,显示控制器128和触摸屏控制器130耦合到CPU 110。在片上系统102外部的触摸屏显示器132耦合到显示控制器128和触摸屏控制器130。PCD 100还可以包括视频解码器134,例如,相交替行(“PAL”)解码器、顺序存储彩色(“SECAM”)解码器、国家电视系统委员会(“NTSC”)解码器或任何其它类型的视频解码器134。视频解码器134耦合到多核中央处理单元(“CPU”)110。视频放大器136耦合到视频解码器134和触摸屏显示器132。视频端口138耦合到视频放大器136。如在图4中描绘的,通用串行总线(“USB”)控制器140耦合到CPU110。此外,USB端口142耦合到USB控制器140。存储器112和用户标识模块(SIM)卡146也可以耦合到CPU 110。此外,如图3所示,数字相机148可以耦合到CPU 110。在示例性方面中,数字相机148是电荷耦合器件(“CCD”)相机或互补金属氧化物半导体(“CMOS”)相机。
如图3进一步所示的,立体声音频编解码器150可以耦合到模拟信号处理器126。此外,音频放大器152可以耦合到立体声音频编解码器150。在示例性方面中,第一立体声扬声器154和第二立体声扬声器156耦合到音频放大器152。图3示出麦克风放大器158也可以耦合到立体声音频编解码器150。另外,麦克风160可以耦合到麦克风放大器158。在一特殊的方面中,调频(“FM”)无线电调谐器162可以耦合到立体声音频编解码器150。此外,FM天线164耦合到FM无线电调谐器162。此外,立体声耳机166可以耦合到立体声音频编解码器150。
图3还指示射频(“RF”)收发器168可以耦合到模拟信号处理器126。RF开关170可以耦合到RF收发器168和RF天线172。如图3所示,小键盘174可以耦合到模拟信号处理器126。此外,具有麦克风的单声道耳麦176可以耦合到模拟信号处理器126。此外,振动器设备178可以耦合到模拟信号处理器126。图3还示出电源188(例如电池)经由功率管理集成电路(“PMIC”)180耦合到片上系统102。在一特殊的方面中,电源188包括可再充电DC电池或者从交流(“AC”)到连接到AC电源的DC变压器得到的DC电源。
CPU 110还可以耦合到一个或多个内部、片上热传感器157A和157B以及一个或多个外部、片外热传感器157C。片上热传感器157A、157B可以包括一个或多个与绝对温度成比例(“PTAT”)的温度传感器,其中该一个或多个与绝对温度成比例(“PTAT”)的温度传感器基于垂直PNP结构并且通常专用于互补金属氧化物半导体(“CMOS”)超大规模集成(“VLST”)电路。片外热传感器157C可以包括一个或多个热敏电阻器。热传感器157可以产生压降,利用模数转换器(“ADC”)控制器(未示出)将压降转换为数字信号。但是,可以在不脱离本发明的范围的情况下采用其它类型的热传感器157。
热传感器157除了由ADC控制器来控制和监测之外,还可以由一个或多个ISS模块101和/或监测器模块114来控制和监测。ISS模块101和/或监测器模块114可以包括由CPU110执行的软件。但是,在不脱离本发明的范围的情况下,ISS模块101和/或监测器模块114还可以由硬件和/或固件构成。ISS模块101可以负责监测和应用空闲状态优化策略,所述空闲状态优化策略可以帮助PCD 100避免临界温度,同时维持高水平的功能性准备。
返回到图3,触摸屏显示器132、视频端口138、USB端口142、相机148、,第一立体声扬声器154、第二立体声扬声器156、麦克风160、FM天线164、立体声耳机166、RF开关170、RF天线172、小键盘174、单声道耳麦176、振动器178、热传感器157C、PMIC 180以及电源188在片上系统102外部。但是,应当理解的是,监测器模块114还可以从这些外部设备中的一个或多个设备经由模拟信号处理器126和CPU 110来接收一个或多个指示或信号,以辅助对在PCD 100上可操作的资源的实时管理。
在一特殊的方面中,本文所描述的方法步骤中的一个或多个方法步骤可以由存储在存储器112中的构成一个或多个ISS模块101的可执行指令和参数来实现。除了ADC控制器103之外,构成ISS模块101的这些指令还可以由CPU 110、模拟信号处理器126、GPU 182或另一个处理器来执行,以执行本文所描述的方法。此外,处理器110、126、存储器112、存储在其中的指令、或其组合可以作为用于执行文所描述的方法步骤中的一个或多个方法步骤的单元。
图4是示出了用于支持空闲状态优化技术的图3的PCD的示例性软件架构200的示意图。任意数量的算法可以构成空闲状态优化方法或为其的一部分,所述空闲状态优化方法可以当被一个或多个内核的温度状况、延时值以及泄漏速率批准时由ISS模块101来应用。
如图4中所示,CPU或数字信号处理器110经由总线211耦合到存储器112。如上文提及的,CPU 110可以是具有N核处理器的多核异构处理器。即,CPU 110包括第一内核222、第二内核224以及第N内核230。如本领域普通技术人员已知的,第一内核222、第二内核224以及第N内核230中的每一个内核可用于支持专门的应用或程序,并且作为异构内核的一部分,取决于其操作状态,可以展现不同的延时水平和不同的IDDq电流泄漏水平。可替代地,一个或多个应用或程序可以被分布用于在可用的异构内核中的两个或更多个异构内核上处理。
CPU可以从ISS模块101接收命令,所述ISS模块101可以包括软件和/或硬件。如果被具体实现为软件,那么ISS模块101包括由CPU 110执行的指令,所述CPU 110向由CPU 110和其它处理器执行的其它应用程序发出命令。
可以将CPU 110的第一内核222、第二内核224至第N内核230集成在单个集成电路管芯上,或者可以将它们集成或耦合在多电路封装中的不同的管芯上。设计者可以经由一个或多个共享高速缓存来耦合第一内核222、第二内核224至第N内核230,并且设计者可以经由网络拓扑(诸如总线、环、网格以及交叉开关拓扑)来实现消息或指令传送。
如本领域已知的,总线211可以包括经由一个或多个有线或无线连接的多个通信路径。总线211可以具有额外的元件(为了简单起见将其省略,诸如控制器、缓冲器(高速缓存)、驱动器、转发器以及接收器)来启用通信。此外,总线211可以包括地址、控制和/或数据连接以启用上述组件之间的合适的通信。
当在软件中实现PCD 100使用的逻辑单元时,如图4中所示,应当注意的是,可以将启动逻辑单元250、管理逻辑单元260、空闲状态优化接口逻辑单元270、应用存储单元280中的应用以及文件系统290的各部分中的一个或多个存储在任何计算机可读介质上,以供或结合任何计算机相关系统或方法使用。
在本文档的上下文中,计算机可读介质是电、磁、光或可以包含或存储计算机程序和数据以供或结合计算机相关系统或方法使用的其它物理设备或单元。各个逻辑元素和数据存储单元可以体现在任何计算机可读介质中,以供或结合指令执行系统、装置或设备(诸如基于计算机的系统,包含处理器的系统,或者可以从指令执行系统、装置或设备取得指令并且执行指令的其它系统)使用。在本文档的上下文中,“计算机可读介质”可以是可以存储、传送、传播或传输程序以供或结合指令执行系统、装置或设备使用的任何单元。
计算机可读介质可以是例如,但不限于:电、磁、光、电磁、红外或者半导体系统、装置、设备或传播介质。计算机可读介质的更具体的示例(非穷尽列表)会包括以下各项:具有一条或多条导线的电气连接(电)、便携式计算机磁盘(磁)、随机存取存储器(RAM)(电)、只读存储器(ROM)(电)、可擦除可编程只读存储器(EPROM、EEPROM或闪速存储器)(电)、光纤(光)以及便携式压缩光盘只读存储器(CDROM)(光)。注意,计算机可读介质可以甚至是在其上打印程序的纸或另一种适当的介质,因为可以例如经由对纸或其它介质的光扫描来电气地捕获程序,程序随后被编译、解译或者以适当的方式被处理(如必要),并且随后被存储在计算机存储器中。
在替代的实施例中,其中,在硬件中实现启动逻辑单元250、管理逻辑单元260以及或许空闲状态优化接口逻辑单元270中的一个或多个,可以利用下面的技术中的任何技术或其组合来实现各个逻辑单元,所述技术均为本领域所公知的:具有用于对数据信号执行逻辑功能的逻辑门的分立逻辑电路、具有适当的组合逻辑门的专用集成电路(ASIC)、可编程门阵列(PGA)、现场可编程门阵列(FPGA)等。
存储器112是非易失性数据存储设备,诸如闪速存储器或固态存储器设备。尽管存储器112被描述为单个设备,但是其可以是具有耦合到数字信号处理器110(或额外的处理器内核)的不同的数据存储单元的分布式存储器设备。
启动逻辑单元250包括一个或多个可执行指令,所述可执行指令用于选择性地识别、装载以及执行选择程序,所述选择程序用于确定操作状态以及选择可用的内核(诸如第一内核222、第二内核224至第N内核230)中的一个或多个内核以转变到不同的操作状态。管理逻辑单元260包括一个或多个可执行指令,所述可执行指令用于终止空闲状态优化程序,以及选择性地识别、装载以及执行更适当的替代程序。管理逻辑单元260被布置为在运行时间或当PCD 100通电并被设备的操作者使用时执行这些功能。可以在嵌入式文件系统290的程序存储单元296中发现替代程序。
替代程序当被数字信号处理器中的内核处理器中的一个或多个内核处理器执行时,可以根据由ISS模块101和/或监测器模块114提供的一个或多个信号来操作。在这点上,模块114可以响应于源自ISS模块101的控制信号来提供结温度的一个或多个指示符。
接口逻辑单元270包括一个或多个可执行指令,所述可执行指令用于呈现、管理外部输入以及与外部输入交互,以观察、配置或者更新存储在嵌入式文件系统290中的信息。在一个实施例中,接口逻辑单元270可以结合经由USB端口142接收的制造商输入来操作。这些输入可以包括将从程序存储单元296中删除或添加到程序存储单元296中的一个或多个程序。可替代地,输入可以包括对程序存储单元296中的一个多个程序进行编辑或改变。此外,输入可以识别对启动逻辑单元250和/或管理逻辑单元260的一个或多个改变、或者对启动逻辑单元250和/或管理逻辑单元260的整个替代。举例而言,输入可以包括对管理逻辑单元260的改变,当PCD 100的外壳温度在某个阈值以下时,所述改变可以指令ISS模块101识别经增加的整体功率预算。
接口逻辑单元2701使制造商能够根据PCD 100上定义的操作状况来可控地配置并且调整最终用户的体验。当存储器112是闪速存储器时,可以编辑、替代或者修改启动逻辑单元250、管理逻辑单元260、接口逻辑单元270、应用存储单元280中的应用或嵌入式文件系统290中的信息中的一个或多个。在某些实施例中,接口逻辑单元270可以允许最终用户或PCD 100的操作者搜索、定位、修改或替代启动逻辑单元250、管理逻辑单元260、应用存储单元280中的应用以及嵌入式文件系统290中的信息。操作者可以使用所得到的接口来做出将在PCD 100的下一次启动时被实现的改变。可替代地,操作者可以使用所得到的接口来做出在运行时间期间被实现的改变。
嵌入式文件系统290包括分层布置的空闲状态查找表24。在这点上,文件系统290可以包括其用于存储与各个内核222、224、226、228当在某个操作温度并根据某个操作状态(诸如保持空闲状态或WFI空闲状态)操作时的性能特性相关联的信息的总文件系统容量的经保留的部分。
图5是示出了用于图3的PCD 100中的空闲状态优化的方法500的实施例的逻辑流程图。在图5的实施例中,ISS模块101意识到与PCD 100、芯片102、处理器110等相关联的整体功率预算。如本领域普通技术人员会理解的是,功率预算表示内核222、224、226、228的集合的功耗理想地不超过的目标功耗水平。值得注意的是,通过选择内核222、224、226、228中的一个或多个内核用于从一个操作状态转变到另一个可操作状态(例如,诸如从功率崩溃状态到WFI状态),ISS模块101可以对内核222、224、226、228的整体功耗具有直接影响,以及对如果内核222、224、226、228中处于空闲状态的一个或多个内核需要处理工作负荷时会经历的延时具有直接影响。因此,在方法500的框505处,确定了最大功率预算。
在框510处,与内核222、224、226、228的结温度(即,操作温度)相关联的温度可以由监测器模块114来监测,并且被提供给ISS模块101。在框515处,所监测的温度用于查询LUT 24。如上所述,LUT 24可以包含针对每个内核222、224、226、228的数据,所述数据表示内核当其在某个温度并以某个操作模式操作时的功能特性。根据查询,可以确定每个内核的功率泄漏水平。例如,短暂地返回参照图1,如果内核处于由表表示的操作状态和操作温度,那么可以确定内核0、1、2和3中的任何内核的泄漏速率。此外,如上文所解释的,可以预见的是,替代查询LUT 24,某些实施例将基于内核的操作温度使用函数来简单地计算内核的功耗水平。
在框520处,将所有内核222、224、226、228的活动泄漏速率相加并且与功率预算相比较。在决定框525处,如果活动泄漏速率的和几乎满足或超过在框505处确定的功率预算,那么跟着“否”分支回到框510,并且方法500从那里继续。但是,如果在决定框525处,活动泄漏速率的和相对地小于功率预算,那么方法500可以跟着“是”分支到框530。
如果方法500已行进到块530,那么ISS模块101可能有机会调整内核222、224、226、228中的一个或多个内核的操作状态,使得在不超过功率预算的情况下减小延时值。因而,在框530处,针对内核222、224、226、228中的每一个内核的活动设置。活动设置可以包括,但不限于:当前操作状态(即,内核是活动的还是处于空闲状态)和操作温度。根据在框530处确定的当前设置,ISS模块101可以识别有资格转变到不同的操作状态的一个或多个内核。作为示例,ISS模块101可以确定内核222在活跃地处理工作负荷,但是内核224和226处于功率崩溃空闲状态,以及内核228处于保持空闲状态。在这样的场景中,ISS模块101可以断定内核224、226和226全部有资格转变到不同的空闲状态。
返回方法500,在框535处,ISS模块101针对每个合格的内核来查询LUT 24(或者使用与每个合格的内核相关联的函数),并且确定如果将合格的内核中的一个或多个内核转变到不同的操作状态,那么可以实现的对功耗和延时的影响。在框540处,ISS模块101可以对转变的各个组合的功耗水平求和。返回参照上文给出的示例,其中,ISS模块101确定内核224和226处于功率崩溃空闲状态,以及内核228处于保持空闲状态,转变组合可以包括:内核224转变到保持状态,以及内核228转变到WFI状态,其中内核226保持功率崩溃。值得注意的是,通过进行转变,可以改善内核224和228转变到准备好处理突发负荷的活动状态所需要的延时。
对于各种组合,在决定框545处,将可能从空闲状态转变产生的对功耗的可能影响与功率预算相比较。如果所识别的转变组合的所有总和超过功率预算,那么在功率预算中可能不存在用于将任何内核转变到与经减小的延时相关联的空闲状态的足够的余量,并且因此跟着“否”分支回到框510。关于决定框545,可以预见的是,方法500可以“循环”通过各种组合,直到识别出最佳变换组合。还预见的是,组合可以包括仅针对单个处理内核的操作状态的转变,或者组合可以包括针对多个内核的转变。
返回方法500,在决定框545处,如果确定特定组合内核转变的功耗水平的经预期的总和小于功率预算,那么跟着“是”分支到框550,并且ISS模块101实现所识别的空闲状态转变。通过这种方式,ISS模块101可以优化一个或多个内核222、224、226、228的空闲状态,使得在不过度地影响PCD 100的功耗和热能水平的情况下最小化将空闲内核带到线上以处理工作负荷所需要的延时。有优势地,通过这样做,ISS模块101通过放置各个内核的状态以快速地适应工作负荷处理需求来优化用户体验。
在本说明书中描述的过程或过程流中的某些步骤自然地先于其它步骤,以使本发明如所描述的运作。但是,本发明不限于所描述的步骤的次序,如果这样的次序或顺序不改变本发明的功能的话。即,认识到的是,在不脱离本发明的范围和精神的情况下,某些步骤可以在其它步骤之前、之后或与其它步骤并行地(大体同时地)执行。在某些实例中,可以在不脱离本发明的情况下省略或不执行某些步骤。此外,诸如“其后”、“随后”、“接下来”等的词语不旨在限制步骤的次序。这些词语仅用于引导读者完成示例性方法的描述。
另外,编程领域的普通技术人员能够基于例如在本说明书中的流程图和相关联的描述,在没有困难的情况下编写计算机代码或识别适当的硬件和/或电路以实现所公开的发明。因此,对程序代码指令的特定集合或详细的硬件设备的公开不被认为是获得对如何实现以及使用本发明的足够的理解所必须的。在上文描述中并且结合附图更加详细地解释了所要求的计算机实现过程的发明性功能,所述附图可以说明各个过程流。
在一个或多个示例性的方面中,所描述的功能可以在硬件、软件、固件或其任意组合中实现。如果在软件中实现,则所述功能可以作为一个或多个指令或代码存储在计算机可读介质中或者通过其进行传输。计算机可读介质包括计算机存储介质和通信介质两者,所述通信介质包括促进计算机程序从一个地方传送到另一个地方的任何介质。存储介质可以是可由计算机存取的任何可用的介质。通过举例而非限制性的方式,这样的计算机可读介质可以包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储、磁盘存储介质或其它磁存储设备、或者可以用于以指令或数据结构的形式携带或存储期望的程序代码单元以及可以由计算机来存取的任何其它介质。
此外,任何连接可以适当地称为计算机可读介质。例如,如果使用同轴电缆、光纤光缆、双绞线、数字用户线(“DSL”)或无线技术(例如红外、无线和微波)从网站、服务器或其它远程源发送软件,则同轴电缆、光纤光缆、双绞线、DSL或无线技术(例如红外、无线和微波)包括在介质的定义中。
如本文所使用的,磁盘和光盘包括压缩光盘(“CD”)、激光光盘、光盘、数字多功能光盘(“DVD”)、软盘和蓝光光盘,其中磁盘通常磁性地复制数据,而光盘则利用激光来光学地复制数据。上述的组合也应当包括在计算机可读介质的范围内。
因此,尽管详细地说明和描述了所选择的方面,但是将理解的是,如下面的权利要求书所限定的,可以在不脱离本发明的精神和范围的情况下在其中做出各种替代和改变。

Claims (20)

1.一种用于便携式计算设备中的空闲状态优化的方法,所述方法包括:
确定功率预算,其中,所述功率预算表示多个处理内核的最大总计功耗水平;
确定所述多个处理内核的当前总计功耗水平;
将所述当前总计功耗水平与所述功率预算进行比较;以及
如果所述当前总计功耗水平小于所述功率预算,那么将至少一个合格的处理内核从第一空闲状态转变到第二空闲状态,其中,由于从所述第一空闲状态到所述第二空闲状态的所述转变,减小了与所述至少一个合格的处理内核相关联的延时值。
2.根据权利要求1所述的方法,其中,所述当前总计功耗水平是基于所述多个处理内核的操作温度来确定的。
3.根据权利要求2所述的方法,其中,所述当前总计功耗水平是根据查找表来确定的。
4.根据权利要求2所述的方法,其中,所述当前总计功耗水平是根据与所述多个处理内核中的每一个处理内核相关联的数学函数来确定的。
5.根据权利要求1所述的方法,其中,所述第一空闲状态是功率崩溃状态,以及所述第二空闲状态是等待中断状态。
6.根据权利要求1所述的方法,其中,所述第一空闲状态是功率崩溃状态,以及所述第二空闲状态是保持状态。
7.根据权利要求1所述的方法,其中,所述第一空闲状态是保持状态,以及所述第二空闲状态是“等待中断”状态。
8.根据权利要求1所述的方法,其中,所述至少一个合格的处理内核是有资格进行转变的,因为其当前处于空闲操作状态。
9.根据权利要求1所述的方法,还包括:接收要被处理的工作负荷,以及将所述至少一个合格的处理内核从所述第二空闲状态转变到活动状态。
10.根据权利要求1所述的方法,其中,所述便携式计算设备包括蜂窝电话、卫星电话、个人数字助理、智能电话、导航设备、平板计算机、智能本、媒体播放器以及膝上型计算机中的至少一个。
11.一种用于便携式计算设备中的空闲状态优化的计算机系统,所述系统包括:
空闲状态选择模块,其被配置为:
确定功率预算,其中,所述功率预算表示多个处理内核的最大总计功耗水平;
确定所述多个处理内核的当前总计功耗水平;
将所述当前总计功耗水平与所述功率预算进行比较;以及
如果所述当前总计功耗水平小于所述功率预算,那么将至少一个合格的处理内核从第一空闲状态转变到第二空闲状态,其中,由于从所述第一空闲状态到所述第二空闲状态的所述转变,减小了与所述至少一个合格的处理内核相关联的延时值。
12.根据权利要求11所述的计算机系统,其中,所述当前总计功耗水平是基于所述多个处理内核的操作温度来确定的。
13.根据权利要求12所述的计算机系统,其中,所述当前总计功耗水平是根据查找表来确定的。
14.根据权利要求12所述的计算机系统,其中,所述当前总计功耗水平是根据与所述多个处理内核中的每一个处理内核相关联的数学函数来确定的。
15.根据权利要求11所述的计算机系统,其中,所述第一空闲状态是功率崩溃状态,以及所述第二空闲状态是等待中断状态。
16.根据权利要求11所述的计算机系统,其中,所述第一空闲状态是功率崩溃状态,以及所述第二空闲状态是保持状态。
17.根据权利要求11所述的计算机系统,其中,所述第一空闲状态是保持状态,以及所述第二空闲状态是“等待中断”状态。
18.根据权利要求11所述的计算机系统,其中,所述至少一个合格的处理内核是有资格进行转变的,因为其当前处于空闲操作状态。
19.根据权利要求11所述的计算机系统,其中,所述空闲状态选择模块还被配置为:识别要被处理的工作负荷,以及将所述至少一个合格的处理内核从所述第二空闲状态转变到活动状态。
20.根据权利要求11所述的计算机系统,其中,所述便携式计算设备包括蜂窝电话、卫星电话、个人数字助理、智能电话、导航设备、平板计算机、智能本、媒体播放器以及膝上型计算机中的至少一个。
CN201480040069.5A 2013-07-18 2014-07-18 用于片上多处理器系统中的空闲状态优化的系统和方法 Active CN105378590B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/945,181 US9430014B2 (en) 2013-07-18 2013-07-18 System and method for idle state optimization in a multi-processor system on a chip
US13/945,181 2013-07-18
PCT/US2014/047231 WO2015010044A1 (en) 2013-07-18 2014-07-18 System and method for idle state optimization in a multi-processor system on a chip

Publications (2)

Publication Number Publication Date
CN105378590A CN105378590A (zh) 2016-03-02
CN105378590B true CN105378590B (zh) 2018-10-09

Family

ID=51399756

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480040069.5A Active CN105378590B (zh) 2013-07-18 2014-07-18 用于片上多处理器系统中的空闲状态优化的系统和方法

Country Status (5)

Country Link
US (1) US9430014B2 (zh)
EP (1) EP3022627B1 (zh)
JP (1) JP6591971B2 (zh)
CN (1) CN105378590B (zh)
WO (1) WO2015010044A1 (zh)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9256274B2 (en) 2013-08-01 2016-02-09 Texas Instruments Incorporated Dynamic low power states characterization
US20150355942A1 (en) * 2014-06-04 2015-12-10 Texas Instruments Incorporated Energy-efficient real-time task scheduler
KR102218699B1 (ko) * 2014-09-15 2021-02-22 삼성전자주식회사 스마트 카드의 동작 방법 및 이를 포함하는 스마트 카드 시스템의 동작 방법
US20160091957A1 (en) * 2014-09-26 2016-03-31 Suketu R. Partiwala Power management for memory accesses in a system-on-chip
KR102325453B1 (ko) * 2014-12-04 2021-11-11 삼성전자주식회사 반도체 장치의 동작 방법
US20160266629A1 (en) * 2015-03-09 2016-09-15 Advanced Micro Devices, Inc. Changing power limits based on device state
US9958921B2 (en) 2015-03-09 2018-05-01 Advanced Micro Devices, Inc. Power management to change power limits based on device skin temperature
CN105068872B (zh) 2015-07-28 2018-11-23 深圳市万普拉斯科技有限公司 运算单元的控制方法和系统
CN105786160B (zh) * 2016-03-22 2019-07-16 上海斐讯数据通信技术有限公司 多处理器电源管理系统、方法及智能终端
US20170300101A1 (en) * 2016-04-14 2017-10-19 Advanced Micro Devices, Inc. Redirecting messages from idle compute units of a processor
CN107844152B (zh) * 2016-09-20 2020-06-02 华为技术有限公司 负载监控器、基于多核心架构的供电系统和电压调整方法
US10423209B2 (en) * 2017-02-13 2019-09-24 Apple Inc. Systems and methods for coherent power management
US10884811B2 (en) 2017-06-04 2021-01-05 Apple Inc. Scheduler for AMP architecture with closed loop performance controller using static and dynamic thread grouping
US11054883B2 (en) * 2017-06-19 2021-07-06 Advanced Micro Devices, Inc. Power efficiency optimization in throughput-based workloads
US10565079B2 (en) * 2017-09-28 2020-02-18 Intel Corporation Determination of idle power state
US11113074B2 (en) * 2019-06-28 2021-09-07 Qualcomm Incorporated System and method for modem-directed application processor boot flow
CN113891434A (zh) * 2020-07-02 2022-01-04 大唐移动通信设备有限公司 一种基站节能处理方法、装置、基站、设备及存储介质
US20240028396A1 (en) * 2020-11-24 2024-01-25 Raytheon Company Run-time schedulers for field programmable gate arrays or other logic devices
US11844188B2 (en) * 2021-12-13 2023-12-12 Dell Products, L.P. Distribution of available power to devices in a group

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102934045A (zh) * 2009-12-16 2013-02-13 高通股份有限公司 用于以保证的瞬时期限来控制中央处理单元功率的系统和方法

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6470289B1 (en) 1999-08-05 2002-10-22 Compaq Information Technologies Group, L.P. Independently controlling passive and active cooling in a computer system
US6909922B2 (en) 2001-09-10 2005-06-21 Intel Corporation Apparatus, method and computer system for reducing power consumption of a processor or processors upon occurrence of a failure condition affecting the processor or processors
US7197654B2 (en) 2002-04-11 2007-03-27 International Business Machines Corporation Method and apparatus for managing low power processor states
JP3914230B2 (ja) 2004-11-04 2007-05-16 株式会社東芝 プロセッサシステム及びその制御方法
US7337339B1 (en) * 2005-09-15 2008-02-26 Azul Systems, Inc. Multi-level power monitoring, filtering and throttling at local blocks and globally
JP4920995B2 (ja) * 2006-03-03 2012-04-18 エヌイーシーコンピュータテクノ株式会社 コンピュータシステム
JP4794370B2 (ja) * 2006-06-20 2011-10-19 株式会社日立製作所 省電力とパフォーマンスを両立したストレージシステム及び記憶制御方法
US7584369B2 (en) 2006-07-26 2009-09-01 International Business Machines Corporation Method and apparatus for monitoring and controlling heat generation in a multi-core processor
US8117478B2 (en) 2006-12-29 2012-02-14 Intel Corporation Optimizing power usage by processor cores based on architectural events
US20080184044A1 (en) * 2007-01-31 2008-07-31 Leech Phillip A Method of managing power consumption for collections of computer systems
US20080234953A1 (en) * 2007-03-22 2008-09-25 Ignowski James S Power estimation for a semiconductor device
WO2009110290A1 (ja) * 2008-03-04 2009-09-11 日本電気株式会社 半導体デバイス
US9047360B2 (en) * 2008-12-08 2015-06-02 Fujitsu Technology Solutions Intellectual Property Gmbh Apparatus and method for controlling a computer system with at least two power supply units
US8954977B2 (en) * 2008-12-09 2015-02-10 Intel Corporation Software-based thread remapping for power savings
US8775830B2 (en) * 2009-12-16 2014-07-08 Qualcomm Incorporated System and method for dynamically controlling a plurality of cores in a multicore central processing unit based on temperature
US8370665B2 (en) * 2010-01-11 2013-02-05 Qualcomm Incorporated System and method of sampling data within a central processing unit
US9235251B2 (en) 2010-01-11 2016-01-12 Qualcomm Incorporated Dynamic low power mode implementation for computing devices
JP5187776B2 (ja) * 2010-04-13 2013-04-24 日本電気株式会社 電気機器
CN103348324A (zh) * 2011-02-10 2013-10-09 富士通株式会社 调度方法、设计辅助方法以及系统
JP2013012003A (ja) * 2011-06-29 2013-01-17 Renesas Electronics Corp データ処理装置及びデータ処理システム
US9383804B2 (en) 2011-07-14 2016-07-05 Qualcomm Incorporated Method and system for reducing thermal load by forced power collapse
US8230247B2 (en) * 2011-12-30 2012-07-24 Intel Corporation Transferring architectural functions of a processor to a platform control hub responsive to the processor entering a deep sleep state
US9436245B2 (en) * 2012-03-13 2016-09-06 Intel Corporation Dynamically computing an electrical design point (EDP) for a multicore processor
US9098282B2 (en) * 2012-12-27 2015-08-04 Intel Corporation Methods, systems and apparatus to manage power consumption of a graphics engine

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102934045A (zh) * 2009-12-16 2013-02-13 高通股份有限公司 用于以保证的瞬时期限来控制中央处理单元功率的系统和方法

Also Published As

Publication number Publication date
EP3022627B1 (en) 2019-06-19
US9430014B2 (en) 2016-08-30
JP2016527630A (ja) 2016-09-08
JP6591971B2 (ja) 2019-10-16
CN105378590A (zh) 2016-03-02
WO2015010044A1 (en) 2015-01-22
EP3022627A1 (en) 2016-05-25
US20150026495A1 (en) 2015-01-22

Similar Documents

Publication Publication Date Title
CN105378590B (zh) 用于片上多处理器系统中的空闲状态优化的系统和方法
CN108780349A (zh) 用于在具有异构集群架构的片上系统中进行智能热管理的系统和方法
CN105009021B (zh) 用于使用热阻值预测最佳功率电平以实现便携式计算设备中的热管理的系统和方法
CN106170743B (zh) 多处理器片上系统中的能效感知热管理的方法和系统
KR101833601B1 (ko) 휴대용 컴퓨팅 디바이스로부터 주위 온도를 추정하기 위한 시스템 및 방법
CN107111350A (zh) 用于便携式计算设备中的峰值动态功率管理的系统和方法
US9703336B2 (en) System and method for thermal management in a multi-functional portable computing device
CN106133641B (zh) 用于共享的功率域中的异构处理器之间的动态功率管理的装置、系统和方法
US8996902B2 (en) Modal workload scheduling in a heterogeneous multi-processor system on a chip
US9158358B2 (en) System and method for intelligent multimedia-based thermal power management in a portable computing device
CN110637271B (zh) 用于对便携式计算设备中的沉浸式多媒体工作负载的智能调整的系统和方法
CN105745590A (zh) 用于在片上系统中进行操作频率调整和工作负荷调度的系统和方法
US10187282B2 (en) System and method for modem management based on key performance indicators
WO2015095016A1 (en) Multi-core dynamic workload management
US20160291665A1 (en) Method for controlling circuit modules within chip and associated system on chip
US20150143148A1 (en) Method and system for optimizing a core voltage level and enhancing frequency performance of individual subcomponents for reducing power consumption within a pcd
JP6240225B2 (ja) ポータブルコンピューティングデバイスにおける電圧モードの温度駆動型選択のためのシステムおよび方法
CN108700919A (zh) 用于确定包含多个热力源的持续热功率包络的系统和方法
CN110214298A (zh) 用于便携式计算设备中的情境感知热管理和工作负荷调度的系统和方法
US20160224080A1 (en) Calibration margin optimization in a multi-processor system on a chip
US20170139469A1 (en) Power-minimizing voltage rail selection in a portable computing device
EP3172637B1 (en) Method and system for optimizing power usage by individual subsystems of a portable computing device

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant