CN103229123A - 在多核处理器内管理功率的方法及装置 - Google Patents

在多核处理器内管理功率的方法及装置 Download PDF

Info

Publication number
CN103229123A
CN103229123A CN2010800703365A CN201080070336A CN103229123A CN 103229123 A CN103229123 A CN 103229123A CN 2010800703365 A CN2010800703365 A CN 2010800703365A CN 201080070336 A CN201080070336 A CN 201080070336A CN 103229123 A CN103229123 A CN 103229123A
Authority
CN
China
Prior art keywords
core
enabling
data handling
handling system
operating
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.)
Granted
Application number
CN2010800703365A
Other languages
English (en)
Other versions
CN103229123B (zh
Inventor
迈克尔·普里尔
安东·罗森
列昂尼德·斯莫良斯基
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.)
NXP USA Inc
Original Assignee
Freescale Semiconductor 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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=46145419&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=CN103229123(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Freescale Semiconductor Inc filed Critical Freescale Semiconductor Inc
Publication of CN103229123A publication Critical patent/CN103229123A/zh
Application granted granted Critical
Publication of CN103229123B publication Critical patent/CN103229123B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • 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/324Power saving characterised by the action undertaken by lowering clock frequency
    • 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/3296Power saving characterised by the action undertaken by lowering the supply or operating voltage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5094Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Power Sources (AREA)

Abstract

本发明提供了一种在具有两个或更多个处理核心的多核数据处理系统中管理功率的方法,包括为所述多核处理单元内的所述两个或多个处理核心确定使用特性,以及取决于所述确定的使用特性,调整提供给所述两个或更多个处理核心中的每一个的频率或电压,和/或调整提供给所述两个或更多个处理核心中的每一个的启用信号。还提供了一种执行公开的方法的装置。

Description

在多核处理器内管理功率的方法及装置
技术领域
本发明通常涉及数据处理系统,具体是在多核处理器内管理功率的改进装置及方法。
背景技术
例如PC、移动平板电脑、智能手机等等的数据处理系统常常包括多核设计,通常是以多核处理器的形式存在。多核也可以被形成为片上系统(SoC)的一部分。
高频多核设计都面临着一些需要克服的技术问题。这些包括当所有核心都以全速运行的时候遭受高功率利用(消耗)以及由为多核环境优化的软件和非为多核环境优化的软件两者的运行引起的问题。
发明内容
如所附权利要求中所描述的,本发明提供了一种在具有两个或更多个处理核心的多核数据处理系统内管理功率的方法及装置。
本发明的具体实施例在从属权利要求中被阐述。
参考下文中描述的实施例,本发明的这些或其它方面将会很明显并且被阐述。
附图说明
参考附图,仅仅通过示例的方式,将描述本发明的进一步细节、方面和实施例。在附图中,类似的符号被用于表示相同的或功能相似的元件。为了简便以及清晰,附图中的元件不一定按比例绘制。
图1示意性地示出了根据本发明的实施例的具有多核处理器的数据处理系统的第一示例的方框图;
图2示意性地示出了根据本发明的实施例的具有SoC多核处理器的数据处理系统的第二示例的方框图;
图3图形地示出了多核系统内的核心的功率损耗根据启用的核心数量是如何变化的简化图;
图4图形地示出了在示范性高泄露电流情况下多核系统内的核心的功率损耗根据启用的核心数量是如何变化的;
图5图形地示出了在示范性低分裂能力的应用程序情况下多核系统内的核心功率损耗根据启用的核心数量是如何变化的;
图6示出了根据本发明的实施例的方法的高级别示范性流程图。
具体实施方式
由于所示出的本发明的实施例可能大部分是通过使用本领域技术人员所熟知的电子元件和电路来实施的,细节不会在理解和评价本发明的基本概念认为有必要的程度大的任何程度上进行解释。以不混淆或偏离本发明的教导。
图1示意性地示出了本发明的实施例可以应用于的数据处理系统100a的第一示例。它是典型台式计算机配置的简化示意图,所述配置具有有4个独立的处理核心114的多核中央处理器(CPU)110,并且包括2级高速缓冲存储器113和核心管理实体112。如下面更详细地讨论的,关于所使用的硬件和软件的操作特性,核心管理实体112在数据处理期间指引核心的利用,包括但不限于单独调整每一个核心的操作频率/功率、单独启用/禁用核心等等。
多核CPU110通过接口125连接到北/南桥芯片组120。所述北/南桥芯片组120充当中心集线器以将整个数据处理系统100a的不同电子组件连接到一起,所述不同电子组件例如主外部系统存储器130、离散图形处理单元(GPU)140、以及例如通用串行总线(USB)121、音频输入/输出(I/O)122、IEEE1394b123、系统互连(例如,PCIe等等)124的外部连接,具体是将它们全部连接到所述CPU110。
在图1中所示出的示例中,主外部系统存储器130(例如,DDR随机存取存储器)可以通过外部存储器接口135连接到所述北/南桥芯片组120,或者CPU110可以进一步包括集成的高速外部存储器控制器111,用于向主外部系统存储器130提供高速外部存储器接口135b。在这种情况下,主外部系统存储器130可以不使用至北/南桥芯片组120的标准外部存储器接口135。将外部存储器控制器111集成到CPU110本身被看作是一种增加整个系统的数据吞吐量的方式,也减少了组件数量和制造成本同时提高了可靠性等等。
离散图形处理单元(GPU)140可以通过专用图形接口145(例如,高级图形端口-AGP)连接到北/南桥芯片组120,以及通过显示互连155(例如,数字视频接口(DVI)、高清晰度多媒体接口(HDMI)、D-sub(模拟)等等)连接到显示器150。在其它示例中,离散GPU140可以通过某个非专用接口/互连连接到北/南桥芯片组120,非专用接口/互连例如外围连接接口(PCI-建立的并行接口标准)或PCI Express(PCIe—较新的、更快的串行接口标准)、或其它类似功能接口(标准或非标准的)。
其它外围设备可以通过其它专用外部连接接口,例如USB121、音频输入/输出接口122、IEEE1394a/b接口123、以太网接口(未示出)、主互连124(例如,PCIe)等等被连接。本发明的不同示例可以存在有不同组的外部连接接口,即本发明不限于外部连接接口(或实际上内部连接接口)的任何特定选择。
先前见到的将在北/南桥芯片组120内的接口(或整个系统的其它离散部分)集成到中央处理单元110本身已经有一种增加的趋势(产生了所谓的片上(SoC)设计)。这是因为将更传统的离散组件集成到主CPU110降低了制造成本、故障率、功率使用、终端设备的大小等等。
图2示意性地示出了本发明可以应用于的数据处理系统100b的第二、更集成的示例。在这个示例中,所述数据处理系统与图1相比更简化些,并且它代表了商品化的移动数据处理系统,例如平板计算设备。
图2的所述移动数据处理系统100b包括SoC多核CPU110b,所述SoC多核CPU110b具有4个处理核心114,并且包括集成的高速缓冲存储器113、集成的核心管理实体112(以与图1非常类似的方式操作)、集成的GPU141、集成的外部存储器接口111、以及其它集成的外部接口115。在这种情况下,所述系统的所有其它部分直接连接到所述集成的CPU110b,例如主外部系统存储器130通过接口连接135、触摸显示器151通过双向接口155、以及无线模块通过USB接口121。双向触摸接口155可操作以允许显示信息被发送到触摸显示器151,同时也允许来自触摸显示器151的触摸控制输入通过集成的GPU141被发送回CPU110b。
所述无线模块还包括天线165,用于接收和发射无线通信信号。移动数据处理系统100b,具体是外部接口115,还可以包括任何其它标准化的内部或外部连接接口(例如,图1的IEEE1394b、以太网、音频输入/输出接口)。具体地,移动设备还可以包括一些非标准的外部连接接口(例如,专有对接站接口)。这都是说,本发明并不限于由移动数据处理系统100b提供的内部/外部连接接口的类型或提供给移动数据处理系统100b的内部/外部连接接口的类型。
通常,在这样的消费/商品化数据处理系统中,供全球使用的单一设备100b可以被开发,只有某些部分根据预期销售地区(即,地方、联邦政府、州政府或其它限制或需求)的需要/需求被改变。例如,在图2的移动数据处理系统100b中,无线模块可以根据地方/国家的需求被互换。例如,IEEE802.11n和通用移动电信系统(UMTS)无线模块160可以在欧洲使用,而IEEE802.11n和码分多址(CDMA)无线模块可以在美国使用。在任何一种情况下,各自的无线模块160通过相同的外部连接接口连接,在这种情况下,是通过标准化的USB连接121连接。
不管数据处理系统(100a或100b)的形式怎么样,多核处理器操作的方式是大致相似的。在操作中,数据处理系统(100a/b)通过跨越多核处理核心114执行多个数据处理指令(即,程序代码和内容数据)起到实现各种数据处理功能的作用。高速缓冲存储器113是用于中央处理单元110/b的多处理核心所需的频繁使用的信息的临时数据存储。所述多个数据处理指令常常分成单独的执行任务、或线程,它们彼此作用以执行在所述多核数据处理系统上执行的应用/程序的整体功能。这些任务可以取决于整个数据处理系统的工作负荷在单独的核心上执行。单一应用可以由多个任务/线程形成。同样,多个单个任务应用可以被同时执行。所描述的方法和装置可以适用于上述任何一种情况或两者的结合,因此,对应用、程序、线程或任务中的任何一个的引用参考大体上可以被理解为在适用的情况下对计算机代码的任何这些形式的引用。
多核数据处理系统的一般使用情况(即,用例)往往不需要完全使用多核心CPU的所有可用性能。因此,执行应用/程序/线程/任务跨越多核可以被分离和负载平衡。通常,可以有两个或更多个对核间负载平衡可用的选项,包括:
在较低数量的核心上运行应用,但每一个以较高的负载操作,例如,以高频率和高电压操作的单核心;
在较高数量的核心上运行应用,但每一个以较低的负载操作,例如,以低频率和低电压操作的多个核心。
图3示出了多核系统内的核心的功率损耗根据启用的核心数量是如何变化的简化图300。图中示出了三种使用情况:单一操作核心301;两个操作核心302;以及三个操作核心303。
在多核环境中,如果启用了更多处理核心,则得到预定数量的计算量允许每一个处理核心降低其操作频率。在同质多核系统中,频率降低可以通过与核心的数量成反比的因数在所有处理核心上同样地进行操作,即它们每一个具有相同的可用相对降低因数。这是因为每一个处理核心每时间单位执行较少的计算,但也有更多的计算单元(即,处理核心)一起工作以提供总处理量。在基本的示例中,如果有两倍可用处理核心,处理频率可以减半,而如果有三个处理核心,处理频率可按因数3来减少。这在图3被示出为当和两个核心版本302的两个理论功率条水平306、以及与三个核心版本303的三个理论功率条水平312进行比较的时候,单一处理器核心情况301的功率条水平304的高度之间的差异。在异质多核环境中,类似的方法适用,但允许的频率中的相对变化根据提供的处理资源(即,核心)的相关类型有变化。
此外,至少部分地由于集成电路的物理性质,集成电路的功耗与其操作频率和其操作电压的平方成正比。因此,随着处理核心降低其操作频率,它们每一个执行必要计算实际需要的功率量成比例下降。因此,处理核心所需要的功率降低(即,省电)与处理核心的数量和它们的操作频率相关,并且随着使用的处理核心的数量增加,可以逐步变好。由于所使用的处理核心的数量,该操作电压功率降低和在功率的降低导致了双核示例(功率条水平305)和三核示例(功率条水平309)内的较低的组合的总功率条水平。
基于这个理解,可以看出由于功耗在低电压最有效(因为功耗与电压的平方成比例,请参阅下面的公式),在较低的功率包络情况下,使用更多的在较低频率和电压下操作的处理核心是合理的,否则将会是这种情况:
单核功率(301)P1=C*V2*F
双核功率(302)P2=2*(C*(V/a)2*F/2)=C*V2*F*(1/a)2=P1*(1/a)2
N-核功率P1=n*(C*(V/b)2*F/n)=C*V2*F*(1/b)2=P1*(1/b)2
其中C=多核处理器的所有组件的寄生电容;
V=操作电压;
F=操作频率;
a=由于相应的频率降低对于2核情况可用的相对电压降低;
b=由于相应的频率降低对于n-核情况可用的相对电压降低。
上面的等式示出了由于有较多处理核心进行操作,频率可以降低,从而需要更少的电压,从而加倍地降低了整体功耗。因此,可以理解,“人为地”跨越多个处理核心散布应用可以优选于在单一处理核心上运行相同的应用。
然而,在现实情况下,采取这样的直截了当的方法可能会导致相反的结果—即实际上使用/浪费更多的功率。发生这种情况的原因之一是因为被执行/使用的特定应用在多个处理核心上可能没有被很好地分裂开。也就是说,它是不容易被并行化的应用。
另一个原因可能是由于多核集成电路的泄漏电流,可以通过电压/频率减少被保存在特定处理核心,具体是在该处理核心/处理核心的类型,中功率的量有理论极限。泄漏电流可能会导致处理核心内的功率浪费,并在相同的特定核心结构在同质多核环境中被多次使用,对于每处理核心,泄漏电流大致相同。因此,泄漏电流损失和操作中的处理核心的数量成比例增加。
当与某些构造中的处理核心的动态功率(即,取决于核心处理负荷的动态变化功率负荷)使用需求进行比较的时候,处理核心的泄漏可以被考虑,具体是在较高的工作温度。
此外,也提供了首要的限制以确保多核处理器不会超过预定晶体管结温度(Tj),其是实际晶体管硅结温度允许的最大值,以避免穿过离子/电子造成的晶体管退化。
图4示出了多核集成电路内的高泄漏电流的影响400,具体是它是如何影响同质多核处理器内的每一个启用的处理核心的功率使用。
单一处理核心情况401的总功耗是动态功率部分P1和泄漏功率部分L1的和(即,Σ1=P1+L1)。
双核情况402的总功耗是动态功率部分P2和泄漏功率部分L2的和的两倍(即,Σ2=2*(P2+L2))。
n核多核情况403的总功耗是动态功率部分Pn和泄漏功率部分Ln的和的n倍(即,Σn=n*(Pn+Ln))。
可以看出,每一个启用的处理核心导致了泄漏电流,因此导致了泄漏功耗,并且该泄漏功率耗小于动态功耗缩放。
图5示出了多核系统内的处理核心的功耗500是如何根据在示范性低分裂能力应用情况下启用的处理核心的数量进行变化的。具体地,示出了单一处理核心(501)、两个处理核心(502)和多个(n)的处理核心(503)的情况。
“低分裂能力”是应用在多个处理核心上没有被很好地分裂开,例如是由于具有低水平固有并行性的应用。在这类情况下,高负荷可以会在主处理核心(即,通常是第一编号的处理核心,它首先被任何应用所使用。然而,“主核”的任何其它选择也可以被使用)上发生。这可能会阻止共同的频率和电压水平被分配到多核处理器,因为每一个处理核心所需的操作水平有差异—尤其从示例502和503可以看到。从以上的图中我们了解每一个启用的处理核心导致了泄漏电流,从而增加了总的泄漏功耗。
因此,提出关于施加在多核处理器的频率/电压缩放的决定(包括对特定处理核心的启用/禁用状态的任何决定)可能考虑下列附加新的参数中的一个或多个:
—在多核处理器上运行/执行的特定应用程序的分裂能力,是指相应程序在多个处理核心上被分裂开以执行的能力(即,它是可实现的/潜在并行的程序水平)。一种确定“分裂能力”的方法是在单核心启用的处理器上运行程序并且然后分析什么样的任务和多少数量的任务在所述单一处理核心上执行。如果只有少数(或甚至一个)任务在所述单核心上运行,那么该程序固有的分裂能力很低。然而,如果有许多单独任务在所述单核心上运行,在程序中则有高程度的“分裂能力”。该分析阶段可能在实际的单核心处理器上执行,或在禁用了一个外的所有处理核心的多核处理器上执行。在这种情况下,如果处理核心同质,该方法还进一步通过执行多个分析阶段来改进,对于分析阶段中的一个,每种类型的处理核心至少使用一次,以便每种类型的处理核心的所有能力的完整画面是众所周知的。“分裂能力”分析阶段可以离线或在线执行,即,在编译期间,或在实际执行相应应用的“运行”期间不断执行。然而,越早确定应用程序的分裂能力,响应可以越好。类似的“分裂能力”分析可以在一组同时被执行的应用上执行。在这种情况下,多核处理器是否是异质或同质可能更受影响,因为特定核心在执行某些任务时可能会更好或更坏。
—多核处理器的单独的(例如,在异质多核处理器环境)或多核心(例如,在同质多核处理器环境)的动态功率特性的估计。这就是说,估计单一处理核心使用多少功率对多处理核心使用多少功率将根据动态功率使用进行,如参照图3—5所解释的。
—用于特定处理核心(例如,在异质多核处理器环境)或所有核心(例如,在同质多核处理器环境)的热结点限制Tj
——多核处理器的单独的(例如,在异质多核处理器环境)或多核心(例如,在同质多核处理器环境)的泄漏功率特性的估计,即,单一处理核心使用多少功率对多处理核心使用多少功率将根据泄漏功率使用进行,如参照图3–5所解释的。
—泄漏功率可以与特定部分(即,整个多核处理器)相关,或与单独的处理核心、生产参数/特性以及温度(具体地,(预期的)操作温度)相关。
图6示出了根据本发明的实施例的在多核处理环境中管理功率的方法的简化高级别示范性流程图600。具体地,该图是一种状态转变图,频率在Y轴上,所使用的核心的数量在X轴上。如在下面将更详细描述的,根据影响多核处理器的受测参数,功率管理实体可以然后在不同状态之间移动多核处理器。
在这个简化示例中,存在多核处理器可以位于的四个主状态:“单核启用,低性能”状态620;“单核启用,高性能”状态630;“N核启用,高性能”状态640和“N核启用,低性能”状态650。每一个状态中启用的核心数量是不证自明的。同时,“低性能”指以低频率/功率使用水平运行核心,“高性能”指以高频率/功率使用水平运行核心。
采用状态620(有单一处理核心被启用,在低性能操作)的任意起点,核心管理实体112可以确定没有足够的整体性能被提供。因此,需要更多的性能,并且可以通过增加单个处理核心性能,或通过简单地启用多个处理核心被提供(正如上文中更详细讨论的)。
然而,如果每一个处理核心具有相对高的泄漏电流特性,通过简单地启用/操作多个(高泄漏)处理核心提供增加的性能是不现实的,因为增加的高泄漏电流(并且因此高功率损耗)将会抑制多核同时运行。
因此,状态转变601到单一处理核心被启用的状态,但以(非常)高的性能(状态630)操作。
在相反的情况下,即,已经有太多可用的性能(并且有高泄漏电流),该方法于是可以通过“需要低性能”转变602从“启用的单核,高性能”状态630转变到“启用单核,低性能”状态620。
替选地,当在状态620的时候(“单核,低性能”),如果类似的“需要高性能”转变发生,但是相应的处理核心没有高泄漏电流问题(即,转变603),通过启用更多处理核心而不是使单一处理核心单独地以高性能操作可以是有益的。因此,可以会有到“启用N核,高性能”状态650的转变。当只需要低性能的时候,相反转变604可能发生,使得没有必要保持很多数量的运行处理核心。
当在状态650的时候(“启用N核,低性能”),如果随后发生了被执行/将要执行的应用是低分裂能力(即,不容易被并行)或每一个启用的处理核心的泄漏电流是高(例如,多核处理器在高于预期的温度操作)的情形,那么核心管理实体112可以替代地将多核处理器中的核心605转变到状态630,其中只有单一处理核心被启用,但是以高性能。如果例如结温度(Tj)落回到低于目标水平的温度,指示单一高性能处理核心可能足够用,这也可能发生。如果例如达到最大值结温度(Tj)并且仍然需要高(更高)的性能,相反的转变606可能发生,即从“启用单核,高性能”状态630转变到“启用N核,低性能”状态650。这可能会在存在低泄漏电流的地方定期地发生。如果还检测到一致的负荷,“启用n核,低性能”状态650可以被保持。
当在状态650的时候,提供更多性能(尤其是当检测到某种形式的超负荷的时候-转变607)的替选方法是转变到状态640(“启用N核,高性能”),尤其是当处理核心的单个泄漏电流是低以及被执行/将要执行的应用是更加一致并且很容易被并行的时候。在通过多核处理器已经达到了最大规定结温度(Tj)的情况下,这种提供更多性能的方式特别有用。在需要降低结温度(Tj),同时保持或增加性能的情况下,不可能使用单个处理核心性能水平中的增加,并且通常增加的性能只能通过增加操作的处理核心的数量被增加。
启用更多处理核心有附加的益处,因为形成多核处理器的集成电路上的热点可以被避免或均匀地散布在集成电路的物理表面上。也可能使用多核处理器自身内的集成温度传感器来检测结温度(Tj),以及定位热点以便它们可以被避免(例如,通过将负荷散布到多核处理器内的其它处理核心)。而且,如果原始处理核心变得太热的话,例如,如果它是直接相邻的另一个操作处理核心,处理可以移动到不同等效的处理核心(即,将处理从启用的处理核心移动到当前被禁用的但是相同的处理核心,并且禁用原始处理核心)。
在相反的方向上,即,从状态640到状态650,类似的一致的负荷,低泄漏和结温度考虑适用,如转变608示出的。
当在状态640的时候(“启用N核,高性能”),可以需要朝着状态630(“启用单核,高性能”)的转变,例如,当检测到非一致的负荷的时候,或每一个启用的处理核心有高泄漏的时候—转变610。在相反的方向上,例如当超负荷发生的时候,从状态630到状态640的转变可能发生(在需要超出单核物理上能够提供的的处理功率的情况下—609)。
由于通常优选采取慎重的步骤来将多核处理器的功率使用匹配到处理需求负荷,两个极端状态620和640(即,“启用单核,低性能”以及“启用N核,高性能”)之间的转变通常通过其它两个、更多中间状态630和650中的一个发生并且不是直接地进行。然而,当处理功率需要是极其悬殊的时候,直接的转变(未示出)可能同样地被使用。
当决定哪些处理核心启用/禁用,以及什么功率和频率水平应用于启用的核心的时候,上述图6描述示出了并且解释了功率管理实体的主要考虑。应用于处理核心的功率选项的准确选择根据一起使用的硬件和软件的固有特性以及它们操作的环境来变化。通过仿真或演习来预测试这些特性对于最佳的多核功率管理可能是需要的。
因此,示例示出了在多核处理环境,具体是在具有多核处理器的数据处理系统内,管理功率的方法。
上述描述的方法及装置可以例如通过调整数据处理系统的结构/操作,特别是多核处理器内的核心功率管理实体112来完成。
本发明也可以在计算机程序中被实现。该程序用于在计算机系统上运行,计算机系统至少包括用于当在诸如计算机系统或启动可编程的装置以执行根据本发明的设备或系统的功能的可编程的装置上运行时,执行根据本发明的方法的步骤的代码部分。
计算机程序是一系列指令,例如特定应用程序和/或操作系统。计算机程序可能例如包括以下中的一个或多个:子程序、函数、程序、对象方法、对象实现、可执行的应用、小程序、小服务程序、源代码、对象代码、共享库/动态装载库和/或设计用于在计算机系统上的执行的其它指令序列。
计算机程序可以在计算机可读存储介质上被内部地存储或通过计算机可读传输介质传输到计算机系统。或者一些计算机程序可以被永久地、可移除地提供在计算机可读介质或远程地耦合于信息处理系统。计算机可读介质可以包括,例如但不限于以下的任何数量:磁存储介质,包括磁盘和磁带存储介质;光学存储介质,例如光盘介质(例如,CD-ROM、CD-R等等)以及数字视盘存储介质;非易失性存储器存储介质,包括半导体存储单元,例如FLASH存储、EEPROM、EPROM、ROM;铁磁数字存储;MRAM;易失性存储介质,包括寄存器、缓冲或缓存、主存储器、等等;以及数字传输介质,包括计算机网络、点对点通信设备、以及载波传输介质,仅举几例。
计算机过程通常地包括执行(运行)程序或程序的部分,现有的程序值和状态信息,以及操作系统用于管理过程的执行的资源。操作系统(OS)是管理管理计算机的资源共享以及提供给程序员用于访问这些资源的接口的软件。操作系统处理系统数据和用户输入,以及通过作为服务向系统的用户和程序分配和管理任务以及内部系统资源来进行响应。
计算机系统可能例如包括至少处理单元、关联内存和大量的输入/输出(I/O)设备。当执行计算机程序时,计算机系统根据计算机程序处理信息并且通过I/O设备生产作为结果的输出信息。
计算机可读媒介可以永久地、可移动地或远程地耦合于信息处理系统,例如数据处理系统100a/b。
本发明实施例的一些上述示例在应用时可以在各种不同的信息/数据处理系统内被实施。例如,虽然附图以及其中的讨论描述了示例信息处理架构,这些示例架构被陈述仅仅是为了在讨论本发明各个方面提供有用的参考。当然,架构的描述已经被简化以便于讨论,并且其仅仅是根据本发明可以被使用的多种不同类型合适架构中的一个。本领域技术人员将认识到逻辑块之间的界限仅仅是说明性的并且替选实施例可能合并逻辑块或电路元素或在各种逻辑块或电路元素上施加替代的分解功能。
因此,应了解本发明描述的架构仅仅是示范性的,并且事实上实现相同功能的很多其它架构可以被实现。从一种抽象的,但仍确定的意义上来说,为实现相同功能的任何元件的排列是有效地“关联”以便所需的功能得以实现。因此,为实现特定功能,本发明中结合在一起的任何两个元件可以被看作彼此“相关联”以便所需的功能得以实现,不论架构还是中间元件。同样地,如此关联的任何两个元件还可以被认为是彼此被“可操作连接”或“可操作耦合”以实现所需的功能。
此外,本领域技术人员将认识到上述描述的操作之间的界限只是说明性的。多个操作可以组合成单一的操作,单一的操作可以分布在附加操作中,并且操作可以至少在时间上部分重叠被执行。而且,替代实施例可能包括特定操作的多个实例,并且操作的顺序在各种其它实施例中会改变。
又如,在一些实施例中,数据处理系统100a/b的所说明的元件是位于单一集成芯片或电路或相同设备内的电路。替选地,数据处理系统100a/b可能包括任何数量的彼此互联的单独集成电路或单独设备。例如,功率管理实体112可以位于与CPU110相同的集成电路上或位于单独集成电路上或位于另一个离散地从数据处理系统100a/b分离出来的外围或从属设备内。还例如,数据处理系统100a/b或其中的一部分可能作为物理电路的软或代码表征,或作为能够转化成物理电路的逻辑表征。同样地,数据处理系统100a/b可以用任何合适类型的硬件描述语言实现。
然而,其它修改、变化和替代也是可能的。说明书和附图相应地被认为是从说明性的而不是严格意义上来讲的。
如所讨论的,在实施例中,数据处理系统是计算机系统,例如个人计算机系统100a。其它实施例可能包括不同类型的计算机系统,例如移动数据处理系统100b。数据处理系统是可以被设计以向一个或多个用户提供独立的计算功率的信息处理系统。数据处理系统可以是多种形式包括但不限定于主机、微型计算机、服务器、工作站、个人电脑、笔记本、个人数字助理、电子游戏、汽车和其它嵌入式系统、手机和其它无线设备。典型的计算机系统包括至少处理单元、关联内存和大量的输入/输出(I/O)设备。
数据处理系统根据程序(即,应用)处理信息并且通过I/O设备生产作为结果的输出信息。程序是一系列指令,例如特定应用程序和/或操作系统。计算机程序通常在计算机可读存储介质上被内部地存储或通过计算机可读传输介质,例如无线模块160传输到计算机系统。计算机处理通常包括执行(运行)程序或程序的一部分、当前程序值和状态信息、以及通过操作系统用于管理处理的执行的资源。母过程可能产生其它子过程以有助于执行母过程的所有功能。因为母过程明确地产生子过程以执行母过程的所有功能的一部分,子过程执行的功能(以及子孙过程等等)可能有时被描述为通过木过程执行。
本发明所使用的术语“耦合”不旨在限定为直接耦合或机械耦合。
在权利要求中,放置在括号之间的任何参考符号不应被解释为限定权利要求。单词“包括”不排除其它元件或然后在权利要求中列出的那些步骤的存在。此外,本发明所用的“a”或“an”被定义为一个或多个。并且,在权利要求中的例如“至少一个”以及“一个或多个”的引入词语不应该被解释为暗示通过不定冠词“a”或“an”引入的其它权利要求元素限定任何其它特定权利要求。所述特定权利要求包括这些所介绍的对发明的权利元件,所述权利元件不仅仅包括这样的元件。即使当同一权利要求中包括引入短语“一个或一组多个”或“至少一个”以及不定冠词,例如“a”或“an”。使用定冠词也是如此。除非另有说明,使用术语如“第一”以及“第二”是用于任意区分这些术语描述的元件的。因此,这些术语不一定表示时间或这些元件的其它优先次序。某些措施在相互不同的权利要求中被列举的事实并不表示这些措施的组合不能被用于获取优势。
在前面的说明中,参照本发明实施例的特定示例已经对本发明进行了描述。然而,很明显各种修改和变化可以在不脱离附属权利要求中所陈述的本发明的宽范围精神及范围的情况下被做出。

Claims (15)

1.一种在具有两个或更多个处理核心的多核数据处理系统中管理功率的方法,包括:
为所述多核处理单元内的所述两个或更多个处理核心确定使用特性;以及
取决于所确定的使用特性:
调整提供给所述两个或更多个处理核心中的每一个的频率或电压;和/或
调整提供给所述两个或更多个处理核心中的每一个的启用信号。
2.根据权利要求1所述的方法,其中所述使用特性依赖于以下中的任何一个或多个:
将或当前被所述多核数据处理系统执行的应用或应用组跨越多处理核心分裂开的能力;
所述多核数据处理系统的动态功率估计;
预确定的结温度;
所述多核数据处理系统的泄漏功率估计;以及
所需要的性能水平。
3.根据权利要求1或2所述的方法,其中所述泄漏功率估计是基于所述多核数据处理系统的生产参数或所述多核数据处理系统的操作温度。
4.根据权利要求1至3中的任何一项所述的方法,其中调整提供给所述两个或更多个处理核心中的每一个的频率或电压包括:
增加提供给所述多核数据处理系统内的所述两个或更多个处理核心中的相应一个或多个的操作频率和操作电压;或
降低提供给所述多核数据处理系统内的所述两个或更多个处理核心中的相应一个或多个的所述操作频率和所述操作电压。
5.根据权利要求1至4中的任何一项所述的方法,其中调整提供给所述两个或更多个处理核心中的每一个的启用信号包括:
启用所述多核数据处理系统内的一个或多个处理核心;或
禁用所述多核数据处理系统内的一个或多个处理核心。
6.根据权利要求5所述的方法,进一步包括将线程从先前启用的处理核心移动到先前禁用的、新启用的处理核心以及禁用所述先前启用的处理核心。
7.根据权利要求4至6中的任何一项所述的方法,其中调整提供给所述两个或更多个处理核心中的每一个的操作频率和操作电压以及调整提供给所述两个或更多个处理核心中的每一个的启用信号包括图6中所示的转变中的任何一个或多个。
8.根据权利要求7所述的方法,其中,响应于存在以下的确定,减少启用的处理核心的数目:
将或当前被所述多核数据处理系统执行的应用或应用组跨越多处理核心分裂开的低能力;和/或
高处理核心泄漏电流;和/或
过度的可用性能水平。
9.根据权利要求7所述的方法,其中,响应于存在以下的确定,增加启用的处理核心的数目:
将或当前被所述多核数据处理系统执行的应用或应用组跨越多处理核心分裂开的高能力;和/或
低处理核心泄漏电流;和/或
不足的可用性能水平;和/或
已达到最大晶体管结温度Tj。
10.根据权利要求8或9所述的方法,其中,响应于不足性能水平的确定,所述启用的处理核心的所述操作频率和操作电压能够被增加。
11.根据权利要求8或9所述的方法,其中,响应于过度性能水平的确定,所述启用的处理核心的所述操作频率和操作电压能够被减少。
12.根据权利要求4至11中的任何一项所述的方法,其中增加的性能通过增加所述启用的处理核心的数目和增加所述启用的核心的操作频率以及操作电压的合适组合被实现。
13.根据权利要求4至12中的任何一项所述的方法,其中降低性能通过减少所述启用的处理核心的数目和减少所述启用的核心的操作频率以及操作电压的合适组合被实现。
14.根据权利要求12或13所述的方法,其中启用的处理核心的数目和所述启用的处理核心的操作频率以及操作电压倾向于维持所需的性能水平的最小值。
15.一种装置,包括:
多核处理单元,具有两个或更多个处理核心;以及
功率管理实体,可操作地耦合于所述两个或更多个处理核心;
其中,所述功率管理实体被布置为执行方法权利要求1至14中的任何一个。
CN201080070336.5A 2010-11-25 2010-11-25 在多核处理器内管理功率的方法及装置 Active CN103229123B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/IB2010/055416 WO2012069881A1 (en) 2010-11-25 2010-11-25 Method and apparatus for managing power in a multi-core processor

Publications (2)

Publication Number Publication Date
CN103229123A true CN103229123A (zh) 2013-07-31
CN103229123B CN103229123B (zh) 2016-08-31

Family

ID=46145419

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201080070336.5A Active CN103229123B (zh) 2010-11-25 2010-11-25 在多核处理器内管理功率的方法及装置

Country Status (4)

Country Link
US (1) US9335805B2 (zh)
EP (1) EP2643741A4 (zh)
CN (1) CN103229123B (zh)
WO (1) WO2012069881A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106293927A (zh) * 2015-06-01 2017-01-04 联想(北京)有限公司 控制方法和电子设备
CN107479666A (zh) * 2017-06-30 2017-12-15 广东欧珀移动通信有限公司 终端设备、温升控制方法、控制装置及存储介质
CN108255283A (zh) * 2016-12-28 2018-07-06 瑞萨电子株式会社 半导体器件、操作条件控制方法及非暂时性计算机可读介质
WO2021081813A1 (zh) * 2019-10-30 2021-05-06 阿里巴巴集团控股有限公司 多核处理器及其调度方法、设备及存储介质

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9086883B2 (en) * 2011-06-10 2015-07-21 Qualcomm Incorporated System and apparatus for consolidated dynamic frequency/voltage control
CN103348333B (zh) * 2011-12-23 2017-03-29 英特尔公司 用于分级高速缓存设计中的高速缓存之间的高效通信的方法和装置
WO2014006450A1 (en) * 2012-07-03 2014-01-09 Freescale Semiconductor, Inc. Method and apparatus for managing a thermal budget of at least a part of a processing system
US9569279B2 (en) * 2012-07-31 2017-02-14 Nvidia Corporation Heterogeneous multiprocessor design for power-efficient and area-efficient computing
US9552046B2 (en) 2012-09-21 2017-01-24 Htc Corporation Performance management methods for electronic devices with multiple central processing units
US9037889B2 (en) * 2012-09-28 2015-05-19 Intel Corporation Apparatus and method for determining the number of execution cores to keep active in a processor
WO2014061141A1 (ja) * 2012-10-18 2014-04-24 トヨタ自動車株式会社 並列計算装置
US9110670B2 (en) 2012-10-19 2015-08-18 Microsoft Technology Licensing, Llc Energy management by dynamic functionality partitioning
US9417925B2 (en) 2012-10-19 2016-08-16 Microsoft Technology Licensing, Llc Dynamic functionality partitioning
US8884906B2 (en) * 2012-12-21 2014-11-11 Intel Corporation Offloading touch processing to a graphics processor
JP6051924B2 (ja) * 2013-02-21 2016-12-27 富士通株式会社 情報処理装置の制御方法、制御プログラム、情報処理装置
US9304573B2 (en) * 2013-06-21 2016-04-05 Apple Inc. Dynamic voltage and frequency management based on active processors
US9471132B2 (en) * 2013-09-27 2016-10-18 Intel Corporation Techniques for putting platform subsystems into a lower power state in parallel
US9563724B2 (en) * 2013-09-28 2017-02-07 International Business Machines Corporation Virtual power management multiprocessor system simulation
US9553822B2 (en) 2013-11-12 2017-01-24 Microsoft Technology Licensing, Llc Constructing virtual motherboards and virtual storage devices
US9541985B2 (en) 2013-12-12 2017-01-10 International Business Machines Corporation Energy efficient optimization in multicore processors under quality of service (QoS)/performance constraints
US8972760B1 (en) * 2013-12-20 2015-03-03 Futurewei Technologies, Inc. Method and apparatus for reducing power consumption in a mobile electronic device using a second launcher
US9606605B2 (en) 2014-03-07 2017-03-28 Apple Inc. Dynamic voltage margin recovery
KR102169692B1 (ko) * 2014-07-08 2020-10-26 삼성전자주식회사 멀티-코어 프로세서를 포함하는 시스템 온 칩 및 그것의 동적 전력 관리 방법
US10542233B2 (en) * 2014-10-22 2020-01-21 Genetec Inc. System to dispatch video decoding to dedicated hardware resources
US10459759B2 (en) * 2015-08-26 2019-10-29 Netapp, Inc. Migration between CPU cores
US9910700B2 (en) * 2015-08-26 2018-03-06 Netapp, Inc. Migration between CPU cores
US10831620B2 (en) * 2016-06-15 2020-11-10 International Business Machines Corporation Core pairing in multicore systems
US10503238B2 (en) 2016-11-01 2019-12-10 Microsoft Technology Licensing, Llc Thread importance based processor core parking and frequency selection
US10372494B2 (en) 2016-11-04 2019-08-06 Microsoft Technology Licensing, Llc Thread importance based processor core partitioning
KR20180098904A (ko) * 2017-02-27 2018-09-05 삼성전자주식회사 컴퓨팅 장치 및 컴퓨팅 장치에 포함된 복수의 코어들에 전력을 할당하는 방법
US11989005B2 (en) * 2021-04-15 2024-05-21 Mediatek Inc. Adaptive thermal ceiling control system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1877492A (zh) * 2005-06-10 2006-12-13 乐金电子(昆山)电脑有限公司 多核处理器的电源控制装置及其方法
US20070180279A1 (en) * 2006-01-31 2007-08-02 Bert Sullam Independent control of core system blocks for power optimization
CN101403944A (zh) * 2006-11-01 2009-04-08 英特尔公司 处理核心的独立功率控制
US20090138737A1 (en) * 2007-11-28 2009-05-28 International Business Machines Corporation Apparatus, method and program product for adaptive real-time power and perfomance optimization of multi-core processors

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6804632B2 (en) 2001-12-06 2004-10-12 Intel Corporation Distribution of processing activity across processing hardware based on power consumption considerations
US7502948B2 (en) * 2004-12-30 2009-03-10 Intel Corporation Method, system, and apparatus for selecting a maximum operation point based on number of active cores and performance level of each of the active cores
US7636864B2 (en) 2006-05-03 2009-12-22 Intel Corporation Mechanism for adaptively adjusting a direct current loadline in a multi-core processor
US8051276B2 (en) * 2006-07-07 2011-11-01 International Business Machines Corporation Operating system thread scheduling for optimal heat dissipation
US7865751B2 (en) * 2007-06-18 2011-01-04 Intel Corporation Microarchitecture controller for thin-film thermoelectric cooling
US8555283B2 (en) * 2007-10-12 2013-10-08 Oracle America, Inc. Temperature-aware and energy-aware scheduling in a computer system
US8024590B2 (en) 2007-12-10 2011-09-20 Intel Corporation Predicting future power level states for processor cores
US8010822B2 (en) * 2008-03-28 2011-08-30 Microsoft Corporation Power-aware thread scheduling and dynamic use of processors
US8296773B2 (en) * 2008-06-30 2012-10-23 International Business Machines Corporation Systems and methods for thread assignment and core turn-off for integrated circuit energy efficiency and high-performance
US8402290B2 (en) * 2008-10-31 2013-03-19 Intel Corporation Power management for multiple processor cores
US9043795B2 (en) * 2008-12-11 2015-05-26 Qualcomm Incorporated Apparatus and methods for adaptive thread scheduling on asymmetric multiprocessor
US20110191602A1 (en) * 2010-01-29 2011-08-04 Bearden David R Processor with selectable longevity
US8942932B2 (en) * 2010-08-31 2015-01-27 Advanced Micro Devices, Inc. Determining transistor leakage for an integrated circuit

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1877492A (zh) * 2005-06-10 2006-12-13 乐金电子(昆山)电脑有限公司 多核处理器的电源控制装置及其方法
US20070180279A1 (en) * 2006-01-31 2007-08-02 Bert Sullam Independent control of core system blocks for power optimization
CN101403944A (zh) * 2006-11-01 2009-04-08 英特尔公司 处理核心的独立功率控制
US20090138737A1 (en) * 2007-11-28 2009-05-28 International Business Machines Corporation Apparatus, method and program product for adaptive real-time power and perfomance optimization of multi-core processors

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106293927A (zh) * 2015-06-01 2017-01-04 联想(北京)有限公司 控制方法和电子设备
CN108255283A (zh) * 2016-12-28 2018-07-06 瑞萨电子株式会社 半导体器件、操作条件控制方法及非暂时性计算机可读介质
CN107479666A (zh) * 2017-06-30 2017-12-15 广东欧珀移动通信有限公司 终端设备、温升控制方法、控制装置及存储介质
CN107479666B (zh) * 2017-06-30 2020-11-27 Oppo广东移动通信有限公司 终端设备、温升控制方法、控制装置及存储介质
WO2021081813A1 (zh) * 2019-10-30 2021-05-06 阿里巴巴集团控股有限公司 多核处理器及其调度方法、设备及存储介质

Also Published As

Publication number Publication date
WO2012069881A1 (en) 2012-05-31
EP2643741A1 (en) 2013-10-02
US9335805B2 (en) 2016-05-10
US20130238912A1 (en) 2013-09-12
EP2643741A4 (en) 2016-08-24
CN103229123B (zh) 2016-08-31

Similar Documents

Publication Publication Date Title
CN103229123A (zh) 在多核处理器内管理功率的方法及装置
US9223383B2 (en) Guardband reduction for multi-core data processor
US20140040532A1 (en) Stacked memory device with helper processor
US9429966B2 (en) Integrated circuit device, voltage regulation circuitry and method for regulating a voltage supply signal
US20110023047A1 (en) Core selection for applications running on multiprocessor systems based on core and application characteristics
RU2417412C2 (ru) Стандартный аналоговый интерфейс для многоядерных процессоров
US8825922B2 (en) Arrangement for processing trace data information, integrated circuits and a method for processing trace data information
CN104508593A (zh) 在处理器中执行跨域热控制
US8843874B2 (en) Power and timing optimization for an integrated circuit by voltage modification across various ranges of temperatures
WO2017112149A1 (en) Thread and/or virtual machine scheduling for cores with diverse capabilities
JP5866488B1 (ja) インテリジェントデュアルデータレート(ddr)メモリコントローラ
TWI557541B (zh) 虛擬化行動平台中之細粒電源管理技術
CN102934072A (zh) 信息处理设备及方法
CN111857669A (zh) 软硬件解耦合软件化雷达系统、实时性设计方法和服务器
US10345884B2 (en) Mechanism to provide workload and configuration-aware deterministic performance for microprocessors
US20220107773A1 (en) Methods and apparatus for external display power loss detection
US9697163B2 (en) Data path configuration component, signal processing device and method therefor
CN103026351A (zh) 降低处理器延迟的装置和方法
RU2406106C2 (ru) Способ снижения шума за счет реализации некоторой задержки от порта к порту
US10649484B2 (en) Dynamic adaptive clocking for non-common-clock interfaces
US20190207607A1 (en) Using Islands to Control Operating Parameters for Functional Blocks in an Electronic Device
US20220291733A1 (en) Methods and apparatus to reduce display connection latency
US20240056448A1 (en) Translation Circuitry for Access Control Identifier Mechanisms
CN113678376A (zh) 具有完全扫描覆盖的基于三态和通过栅极的电路
US20190235606A1 (en) Hybrid Powering Off Of Storage Component Memory Cells

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: Texas in the United States

Patentee after: NXP America Co Ltd

Address before: Texas in the United States

Patentee before: Fisical Semiconductor Inc.