CN106502962A - 电子装置及电子装置中控制处理器核心的操作的方法 - Google Patents

电子装置及电子装置中控制处理器核心的操作的方法 Download PDF

Info

Publication number
CN106502962A
CN106502962A CN201610719268.XA CN201610719268A CN106502962A CN 106502962 A CN106502962 A CN 106502962A CN 201610719268 A CN201610719268 A CN 201610719268A CN 106502962 A CN106502962 A CN 106502962A
Authority
CN
China
Prior art keywords
core
processor core
frequency
electric power
application program
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.)
Withdrawn
Application number
CN201610719268.XA
Other languages
English (en)
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.)
MediaTek Inc
Original Assignee
MediaTek 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 MediaTek Inc filed Critical MediaTek Inc
Publication of CN106502962A publication Critical patent/CN106502962A/zh
Withdrawn legal-status Critical Current

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
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • 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/3243Power saving in microcontroller unit
    • 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/3287Power saving characterised by the action undertaken by switching off individual functional units in the computer system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • 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)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Power Sources (AREA)

Abstract

本发明提供了一种电子装置以及于电子装置中控制处理器核心的操作的方法,方法包括:监测运行于处理器核心的应用程序的并行度;根据处理器核心的利用率确定处理器核心的频率或处理器核心的电源开启数量是否需被改变;当确定处理器核心的频率或处理器核心的电源开启数量需被改变时,根据应用程序的并行度选择处理器核心的频率以及处理器核心的电源开启数量中的至少一个以提供选择结果;以及基于选择结果改变处理器核心的频率以及处理器核心的电源开启数量中的至少一个。本发明提供的电子装置以及于电子装置中控制处理器核心的操作的方法能够稳定且有效地管理多核心的操作频率及开启/关闭。

Description

电子装置及电子装置中控制处理器核心的操作的方法
【技术领域】
本发明涉及处理器核心控制,更特别地,涉及电子装置及电子装置中控制处理器核心的操作的方法。
【背景技术】
由于计算复杂性的增加,利用多个处理器来执行在不同处理器上并行的一个或多个计算机程序的不同部分变得日益普遍。为此,与单个核心微处理器作为规则的若干年前相比,目前的微处理器通常集成多个处理核心。
虽然多核心处理(multi-core processing)的有益效果是公知的,但是有时多核心的有效管理是一项非常复杂的工作。所面临的挑战在于如何确定有多少核心将被开启以利用并行的适当程度,且这些开启的核心将以什么样的时钟频率来操作。在开启的核心的数量以及其给出有限功率预算的工作频率之间需要作出权衡。前者在理论上能得到更多的计算能力,但是缺乏最佳性能,而后者能提升其最佳性能但是会导致散热问题,因此这限制了可被开启的核心的数量。因此,希望能提供一种稳定且有效率的方法来管理多核心的操作频率以及开启/关闭。
【发明内容】
为了稳定且有效地管理多核心的操作频率及开启/关闭,本发明提供了一种电子装置以及电子装置中控制处理器核心的操作的方法。
根据本发明的一个方面,提供一种电子装置,其特征在于,包括:多个处理器核心,用于执行应用程序;核心控制器,用于:监测所述应用程序的并行度;根据所述处理器核心的利用率确定所述处理器核心的频率或所述处理器核心的电源开启数量是否需被改变;以及当确定所述处理器核心的所述频率或所述处理器核心的所述电源开启数量需被改变时,根据所述应用程序的所述并行度选择所述处理器核心的所述频率以及所述处理器核心的所述电源开启数量中的至少一个以提供选择结果;以及核心设置模块,用于基于所述选择结果改变所述处理器核心的所述频率以及所述处理器核心的所述电源开启数量中的至少一个。
根据本发明的另一个方面,提供一种电子装置中控制处理器核心的操作的方法,其特征在于,所述方法包括:监测运行于所述处理器核心的应用程序的并行度;根据所述处理器核心的利用率确定所述处理器核心的频率或所述处理器核心的电源开启数量是否需被改变;当确定所述处理器核心的所述频率或所述处理器核心的所述电源开启数量需被改变时,根据所述应用程序的所述并行度选择所述处理器核心的所述频率以及所述处理器核心的所述电源开启数量中的至少一个以提供选择结果;以及基于所述选择结果改变所述处理器核心的所述频率以及所述处理器核心的所述电源开启数量中的至少一个。
本发明提供的电子装置以及于电子装置中控制处理器核心的操作的方法能够稳定且有效地管理多核心的操作频率及开启/关闭。
【附图说明】
图1所示为根据本发明实施例的包括多核心的电子装置的配置的框图;
图2所示为根据本发明某些实施例的可被改变的多核心频率及开启/关闭的示意图;
图3A、图3B、以及图3C所示为根据本发明某些实施例的可被改变的多核心频率及开启/关闭的示意图;
图4为根据本发明的另一实施例的核心控制器以及核心设置模块的软件实现的示意图;
图5所示为根据本发明某些其它实施例的用于控制电子装置中多个处理器核心的操作的方法流程图。
【具体实施方式】
下面的描述是实施本发明的较佳预期模式。这种描述是为了说明本发明的一般原理的目的,而不应被理解成具有限制性的意义。但是应当理解,实施例可以利用软件、硬件、固件、或其任何组合来实现。
本发明涉及用于控制电子装置中多个处理器核心操作的方法及装置,更特别地,涉及控制电子装置中处理器核心操作频率及开启/关闭的方法及其装置。
根据本发明实施例的电子装置可实施为包括多核心的终端,包括:个人数字助理、智能电话、平板电脑、便携式多媒体播放器、电子书终端、笔记本电脑、上网本电脑、以及超级移动个人电脑(UltraMobile Personal Computer,UMPC)。
图1所示为根据本发明实施例的包括多核心的电子装置的配置的框图;图2至图3C所示为根据本发明某些实施例的可被改变的多核心频率及开启/关闭的示意图。根据本发明的实施例,以下的描述是以四核心处理器的电子装置作为一个示例,但本发明不限于此,本发明可适用于包括多个CPU核心、GPU核心、或任何其组合的电子装置,例如:异构计算装置(heterogeneous computing device)。
请参考图1,根据本发明实施例的电子装置100包括:多个处理器核心110、核心设置模块120、核心控制器130、存储器140、以及用户界面150。应用程序160被加载到存储器140以由处理器核心110来执行,处理器核心110包括四个核心10、20、30、以及40。应用程序160可包含但不限于:无线电话呼叫应用、全球定位卫星(global positioning satellite,GPS)应用、电子邮件应用、日历应用、支持音频和/或视频的娱乐应用等。于实践中,一个或多个应用程序可同时由四个核心10、20、30、以及40中的一个或多个来执行。
用户界面150显示用户以及各种菜单的信息。即,用户界面150提供各种屏幕,例如:空闲屏幕(主页)、菜单屏幕、消息创建屏幕、呼叫屏幕、时间表管理屏幕、地址簿屏幕、以及网页输出屏幕。用户界面150可以是液晶显示器,有机发光二极管(Organic LightEmitted Diode,OLED),或有源矩阵有机发光二极管(Active Matrix Organic LightEmitted Diode,AMOLED),也可被配置为触摸屏的形式以接收来自用户的输入。
在一个实施例中,核心控制器130与核心设置模块120一起工作以控制处理器核心110的操作。核心控制器130执行变频调速(frequency governor)以及热插拔模块的功能以确定处理器核心110的操作频率以及电源开启数量(power-on number)(即,核心10、20、30、以及40中有几个将被开启)。据此,核心设置模块120设置处理器核心110以及排程(schedule)从应用程序160中接收的工作任务并发送给处理器核心110执行。
核心控制器130与核心设置模块120中的每一个可包括由处理器核心110执行的软件以监测和控制核心10、20、30、以及40的工作流。然而,核心控制器130与核心设置模块120中的每一个还可由本领域的普通技术人员知晓的硬件和/或固件来形成。虽然示例中的核心控制器130是与核心设置模块120有关的一个单独的模块,但是,核心控制器130与核心设置模块120也可以形成于一个单个的整体模块中。
核心控制器130监测应用程序160的并行度(degree of parallelism,DOP)。于执行之前或执行期间,应用程序160可以指示利用并行(例如,同时使用多个线程来进行程序执行)的能力。如本领域所公知的,并行度表示基本单独地排程并由处理器核心110的不同核心独立地执行的应用程序160的部分的数量。例如,当并行度为4时,表示应用程序160被分为四个独立的任务,以由处理器核心110的四个不同核心同时执行。核心控制器130可通过从储存应用程序160的部分的运行序列采样数据来监测并行度。或者,核心控制器130可以向应用程序160发出一个询问(inquiry)来获取并行度。
核心控制器130进一步确定处理器核心110的频率或处理器核心110的电源开启数量是否需要根据处理器核心110的利用率(utilization)来改变。通常,核心利用率通过侦测当平台上的周期性定时器中断被发射时,核心是否被停止来计算。对于类似处理器核心110的多核心,利用率可以是所有电源开启的核心的平均利用率。在一个实施例中,处理器核心110的利用率是由核心设置模块120来获取,其接着将利用率传送(图中未示出)到核心控制器130。
在一个实施例中,当处理器核心110的利用率高于预定义的阈值(例如90%)时,核心控制器130确定处理器核心110的频率或处理器核心110的电源开启数量将增加(例如,为了增强***性能)。在另一实施例中,当处理器核心110的利用率低于预定义的阈值(例如50%),核心控制器130确定处理器核心110的频率或处理器核心110的电源开启数量将减少(例如,为了避免计算资源的浪费)。在又一实施例中,如果处理器核心110的利用率位于特定区间(particular region),核心控制器130确定处理器核心110的频率或处理器核心110的电源开启数量不改变。
当核心控制器130确定处理器核心110的频率或处理器核心110的电源开启数量需要改变时,核心控制器130根据应用程序160的并行度选择处理器核心110的频率以及处理器核心110的电源开启数量的至少一个,以提供选择结果(selection result)SR。选择结果SR指示处理器核心110的频率以及处理器核心110的电源开启数量中的哪一个或两个将被改变且如何改变。对于一个示例,选择结果SR指示处理器核心110的频率将增加100MHz,但处理器核心110的电源开启数量保持不变。对于另一示例,选择结果SR指示处理器核心110的电源开启数量将从1增加到3(即多开启两个核心),而处理器核心110的频率保持不变。
图2以及图3A到图3C给出了多个示例来说明选择结果SR是如何由核心控制器130提供的。于这些示例中,假设处理器核心110开始于一个核心(即核心10)被开启且操作频率为F1。此外,一个隐含的假设是用于所有开启核心的操作频率是相同的。这些假设的目的仅为了便于说明本发明,而非对本发明的限制。
请结合图3A来说明图2的路径1。路径1显示了当并行度高于或等于4时,用于提供选择结果SR的核心控制器130的策略。在此情况下,核心控制器130于调整处理器核心110的频率之前调整处理器核心110的电源开启数量。例如,核心控制器130可提供选择结果SR来指示需要再开启3个核心,其等效于路径1上从S到A的移动。接着,如图3A的转变(transition)T1所示,核心设置模块120开启核心20、30以及40。
对于并行度等于或高于4来说,一个细微的不同在于核心控制器130将首先开启核心20以及30,接着确定是否需要开启更多核心(例如:根据核心10、20以及30的利用率),且如果需要,则开启核心40,其对应于路径1上从S到A’(图3A的T2)且接着从A’到A(图3A的T3)的移动。
核心控制器130还可确定操作点(operating point)A是否适用于处理器核心110(例如:于操作点A的处理器核心110的利用率不会过高也不会过低)。如果是,则处理器核心110的频率保持为F1且处理器核心110的电源开启数量保持为4。相反的(例如:于操作点A的处理器核心110的利用率仍然过高),则核心控制器130可通过将处理器核心110的频率从F1增加到最多F5来选择路径1上的其它操作点,其中,达到操作点M时,处理器核心110可发挥最大性能。
请结合图3B来说明图2的路径2。路径2显示了当并行度于特定范围内(即,当并行度为2或3时)用于提供选择结果SR的核心控制器130的另一策略。在此情况下,核心控制器130将于调整处理器核心110的频率之前调整处理器核心110的电源开启数量,反之亦然。例如,核心控制器130可提供选择结果SR以指示具有从F1增加到F3的操作频率的一个或多个核心将被开启,其等效于路径2上从S到B的移动。接着,如图3B的转变T4所示,核心设置模块120开启核心20,且将核心10以及20的操作频率设置为F3。
如果用于处理器核心110的操作点B不足以顺利地执行应用程序160,核心控制器130可提供选择结果SR以再开启一个核心(即,核心30),而核心10、20以及30的操作频率保持于F3,其对应于路径2上从B到B’的移动,也由图3B的转变T5所示。类似于与路径1相关的描述,处理器核心110的操作点还可沿着路径2从B’移动,直到达到最大性能操作点M。
图2的路径3以及图3C描述了用于提供选择结果SR的核心控制器130的又一场景。当应用程序160的并行度为1时,核心控制器130可采用路径3作为选择结果生成策略。
于此场景下,核心控制器130于调整处理器核心110的电源开启数量之前调整处理器核心110的频率。例如,核心控制器130可提供选择结果SR以指示核心10的操作频率将从F1增加到F4,其等效于路径3上从S到C的移动。作为响应,如图3C的转变T6所示,核心设置模块120将核心10的操作频率设置为F4。在一个实施例中,操作点C适用于处理器核心110以运行应用程序160,且处理过程可于此处停止。如关于路径1以及路径2的类似描述,如果增加的操作频率不足以将核心10的利用率保持于合适的区间,则核心控制器130可沿着路径3“勉强(reluctantly)”开启额外的核心,直到达到最大性能操作点M。
当选择结果SR被提供给核心设置模块130时,核心设置模块130基于选择结果SR改变处理器核心110的频率以及处理器核心110的电源开启数量中的至少一个。例如,如果选择结果SR指派B为操作点,则核心设置模块130开启核心10以及核心20,且将这两个核心的操作频率设置为F3。
因此,以下所示为本发明的某些实施例。当确定处理器核心110的频率或处理器核心110的电源开启数量需要被改变时,核心控制器130根据应用程序160的并行度选择处理器核心110的频率以及处理器核心110的电源开启数量中的至少一个以提供选择结果SR。核心控制器130通过如下步骤提供选择结果SR。首先:根据应用程序160的并行度于2维(2D)坐标上获取控制路径(例如路径1,路径2或路径3),其中,2D坐标(图2的y轴)的第一轴表示处理器核心110的频率,且2D坐标(图2的x轴)的第二轴表示处理器核心110的电源开启数量。第二,基于控制路径提供选择结果SR,其中,因为应用程序160的并行度的增加,控制路径沿着2D坐标的第二轴(从路径3转移(shift)至路径1)转移。核心设置模块120以对应于沿着控制路径(例如:从路径1的S到A)移动的方式,改变处理器核心110的频率以及处理器核心110的电源开启数量中的至少一个。当处理器核心的当前电源开启数量比应用程序160的并行度小N(例如:并行度为4且当前只有核心10为电源开启)时,核心设置模块120增加的处理器核心110的电源开启数量最多为N(例如3),其中,N为大于1的正整数。
与传统的通常核心被一个接一个开启(即,每次调整只有一个额外的核心被开启)的多核心管理方案相比较,本发明提供的以上实施例提供了用于多核心管理的更加灵活和战略的方式。
图4所示为根据本发明实施例的核心控制器130以及核心设置模块120的软件实现的示意图。参考图4,其示出了以上所描述的与图1相关的电子装置100的软件实现。电子装置100可包含多个硬件元件,例如:处理器核心110、存储器140、以及用户界面150。运行于电子装置100上的可以是一个或多个软件元件,例如:操作***410、核心控制器130、以及应用程序160。
处理器核心110可包括一个或多个中央处理单元(central processing unit,CPU)核心,其可***作以通过执行算术、逻辑的、以及输入/输出操作来执行程序的指令或应用。操作处理器核心110的频率以及处理器核心110的开启/关闭数量都可被动态调整。
存储器140可包括一个或多个存储器电路,例如:一个或多个动态随机存取存储器(dynamic random access memory,DRAM)、静态随机存取存储器(static random accessmemory,SRAM)、双数据率同步DRAM(double data rate synchronous DRAM,DDR SDRAM)、和/或其它类型的存储器电路。存储器140可通过一个或多个存储器总线与其它硬件元件(例如:处理器核心110以及用户界面150)相连。软件元件(例如:操作***410以及应用程序160)运行于存储器140。
操作***410可包括用于管理电子装置100的各种硬件资源的软件。操作***410还可被用于为计算机程序(例如:应用程序160)提供公共服务。操作***410倾向于充当硬件元件和应用程序160之间的中介。
应用程序160可包括一个或多个帮助用户执行特定任务的软件应用。为了执行任务(例如:网页浏览、视频播放),应用程序160可通过操作***410访问处理器核心110。
核心控制器130可以是包含某些用于调整处理器核心110的功率和性能的指令的软件程序。具体地,核心控制器130监测应用程序160的并行度。接着,核心控制器130根据处理器核心110的利用率确定处理器核心110的频率或处理器核心110的电源开启数量是否需要被改变。当确定处理器核心110的频率或处理器核心110的电源开启数量要被改变时,核心控制器130根据应用程序160的并行度提供选择结果SR,其中,选择结果SR建议处理器核心110的频率以及处理器核心110的电源开启数量中的至少一个如何被调整。
选择结果SR被发送到核心设置模块120,核心设置模块120可以是操作***410的一部分。核心设置模块120根据选择结果SR改变处理器核心110的频率以及处理器核心110的电源开启数量中的至少一个。
在一个实施例中,核心设置模块120为操作***410的内核(kernel)的一部分。换句话说,核心设置模块120位于内核空间,内核空间的计算机程序是不能由用户来改变的。与此相反,核心控制器130可以是用户空间的计算机程序,如果必要,用户空间是用户能够通过编码改变的。因此,由于程序可以根据需要被重新配置,核心控制器130从编程的角度更加灵活。
图5为根据本发明实施例的用于控制多个处理器核心的操作的方法流程图。应用程序运行于处理器核心。于步骤S501中,监测应用程序的并行度。于步骤S503中,根据处理器核心的利用率确定处理器核心的频率或处理器核心的电源开启数量是否需要被改变。如果不需要,则于特定时间段后再次执行步骤S503。如果需要,则执行步骤S505,根据应用程序的并行度选择处理器核心的频率以及处理器核心的电源开启数量中的至少一个以提供选择结果。于步骤S507中,基于选择结果改变处理器核心的频率以及处理器核心的电源开启数量中的至少一个。
图5所示的方法可以由硬件(例如:电路、专用逻辑、可编程逻辑、微码、专用集成电路(application specific integrated circuits,ASIC)、现场可编程门阵列(field-programmable gate array,FPGA)等)、软件(例如:运行于处理装置的指令)、或其组合来执行。在一个实施例中,此方法可由图1以及图4中所示的电子装置100中的核心控制器130以及核心设置模块120来执行。
图5的流程图的操作已经参考图1以及图4的示范性实施例被描述。然而,应该理解图5的流程图的操作可由非图1以及图4中所讨论的本发明的其他实施例来执行,且参考图1以及图4所描述的实施例可以与流程图所讨论的不同的操作来执行。虽然图5的流程图显示了由本发明某些实施例执行的特定操作顺序,应该理解这样的顺序仅为示范性的(例如,可选实施例可以不同的顺序执行操作、合并特定操作、重叠特定操作等)。
根据上述实施例的方法可被记录在包括程序指令的非暂时性计算机可读媒体中,以实现由计算机实施的各种操作。媒体也可包括程序指令、数据文件、数据结构等中的一种或其组合。记录在媒体上的程序指令可以被特别设计和构建,以用于实施例的目,或它们可以是那种公知的,并可提供给那些在计算机软件领域的技术人员。非暂时性计算机可读介质的例子包括:磁性媒体(例如:硬盘、软盘、和磁带)、光学媒体(例如:CD ROM和DVD);磁光媒体(例如:光盘)、以及专门配置来存储和执行程序指令的硬件设备(例如:只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、闪存、和类似物)。计算机可读媒体也可以是分布式网络,以使程序指令以分布方式被存储和执行。此程序指令可以由一个或多个处理器来执行。计算机可读媒体也可嵌入ASIC或FPGA中的至少一个,其执行(类似处理器的的进程)的程序指令。程序指令的示例包括机器代码(例如:由编译器产生)以及包含更高级代码的文件,更高级代码可由计算机使用解释器来执行。
本发明虽以较佳实施例揭露如上,然其并非用以限定本发明的范围。任何本领域技术人员,在不脱离本发明的精神和范围内,当可做些许的更动与润饰。因此本发明的保护范围当视权利要求所界定者为准。

Claims (14)

1.一种电子装置,其特征在于,包括:
多个处理器核心,用于执行应用程序;
核心控制器,用于:
监测所述应用程序的并行度;
根据所述处理器核心的利用率确定所述处理器核心的频率或所述处理器核心的电源开启数量是否需被改变;以及
当确定所述处理器核心的所述频率或所述处理器核心的所述电源开启数量需被改变时,根据所述应用程序的所述并行度选择所述处理器核心的所述频率以及所述处理器核心的所述电源开启数量中的至少一个以提供选择结果;以及
核心设置模块,用于基于所述选择结果改变所述处理器核心的所述频率以及所述处理器核心的所述电源开启数量中的至少一个。
2.如权利要求1所述的电子装置,其特征在于,所述核心控制器通过以下步骤提供所述选择结果:
根据所述应用程序的所述并行度获取2D坐标上的控制路径,其中,所述2D坐标的第一轴表示所述处理器核心的所述频率以及所述2D坐标的第二轴表示所述处理器核心的所述电源开启数量;以及
基于所述控制路径提供所述选择结果。
3.如权利要求2所述的电子装置,其特征在于,所述核心设置模块改变所述处理器核心的所述频率以及所述处理器核心的所述电源开启数量中的至少一个对应于沿着所述控制路径的移动。
4.如权利要求2所述的电子装置,其特征在于,所述控制路径根据所述应用程序的所述并行度的增加沿所述2D坐标的所述第二轴转移。
5.如权利要求1所述的电子装置,其特征在于,于所述处理器核心的当前电源开启数量比所述应用程序的所述并行度小N时,所述核心设置模块增加的所述处理器核心的所述电源开启数量最多为N,其中,N为大于1的正整数。
6.如权利要求1所述的电子装置,其特征在于,当所述处理器核心的所述利用率大于预定义阈值时,所述核心控制器确定所述处理器核心的所述频率或所述处理器核心的所述电源开启数量需被改变。
7.如权利要求1所述的电子装置,其特征在于,所述核心控制器为用户空间的程序。
8.如权利要求7所述的电子装置,其特征在于,所述核心设置模块为内核空间的程序。
9.一种电子装置中控制处理器核心的操作的方法,其特征在于,所述方法包括:
监测运行于所述处理器核心的应用程序的并行度;
根据所述处理器核心的利用率确定所述处理器核心的频率或所述处理器核心的电源开启数量是否需被改变;
当确定所述处理器核心的所述频率或所述处理器核心的所述电源开启数量需被改变时,根据所述应用程序的所述并行度选择所述处理器核心的所述频率以及所述处理器核心的所述电源开启数量中的至少一个以提供选择结果;以及
基于所述选择结果改变所述处理器核心的所述频率以及所述处理器核心的所述电源开启数量中的至少一个。
10.如权利要求9所述的电子装置中控制处理器核心的操作的方法,其特征在于,所述处理器核心的所述频率以及所述处理器核心的所述电源开启数量中的至少一个是通过以下步骤根据所述应用程序的所述并行度来选择以提供所述选择结果:
根据所述应用程序的所述并行度获取2D坐标上的控制路径,其中,所述2D坐标的第一轴表示所述处理器核心的所述频率以及所述2D坐标的第二轴表示所述处理器核心的所述电源开启数量;以及
基于所述控制路径提供所述选择结果。
11.如权利要求10所述的电子装置中控制处理器核心的操作的方法,其特征在于,改变所述处理器核心的所述频率以及所述处理器核心的所述电源开启数量中的至少一个对应于沿着所述控制路径的移动。
12.如权利要求10所述的电子装置中控制处理器核心的操作的方法,其特征在于,所述控制路径根据所述应用程序的所述并行度的增加沿所述2D坐标的所述第二轴转移。
13.如权利要求9所述的电子装置中控制处理器核心的操作的方法,其特征在于,当所述处理器核心的当前电源开启数量比所述应用程序的所述并行度小N时,所述处理器核心的所述电源开启数量的增加最多为N,其中,N为大于1的正整数。
14.如权利要求9所述的电子装置中控制处理器核心的操作的方法,其特征在于,当所述处理器核心的所述利用率大于预定义阈值时,确定所述处理器核心的所述频率或所述处理器核心的所述电源开启数量需被改变。
CN201610719268.XA 2015-09-04 2016-08-25 电子装置及电子装置中控制处理器核心的操作的方法 Withdrawn CN106502962A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/845,922 2015-09-04
US14/845,922 US9740266B2 (en) 2015-09-04 2015-09-04 Apparatus and method for controlling multi-core of electronic device

Publications (1)

Publication Number Publication Date
CN106502962A true CN106502962A (zh) 2017-03-15

Family

ID=58190530

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610719268.XA Withdrawn CN106502962A (zh) 2015-09-04 2016-08-25 电子装置及电子装置中控制处理器核心的操作的方法

Country Status (2)

Country Link
US (1) US9740266B2 (zh)
CN (1) CN106502962A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107239348A (zh) * 2017-06-23 2017-10-10 厦门美图移动科技有限公司 一种多核处理器调度方法、装置及移动终端
CN109669778A (zh) * 2018-12-21 2019-04-23 北京奇虎科技有限公司 一种用于为运行单元确定并行进程数量的方法及***
CN111538382A (zh) * 2020-04-16 2020-08-14 深圳比特微电子科技有限公司 一种数字货币矿机的启动方法、装置和数字货币矿机
CN113805689A (zh) * 2020-06-12 2021-12-17 华为技术有限公司 处理***及处理方法、信号生成器及信号生成方法

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9760404B2 (en) 2015-09-01 2017-09-12 Intel Corporation Dynamic tuning of multiprocessor/multicore computing systems
US10629161B2 (en) * 2017-08-28 2020-04-21 National Instruments Corporation Automatic multi-clock circuit generation
US10572748B2 (en) * 2017-12-06 2020-02-25 GM Global Technology Operations LLC Autonomous vehicle adaptive parallel image processing system
CN111522420B (zh) * 2019-01-17 2023-03-14 电子科技大学 一种基于功率预算的多核芯片动态热管理方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103502946A (zh) * 2011-04-05 2014-01-08 高通股份有限公司 用于动态控制到便携式计算装置的多核心处理器中的多个核心的电力的方法和***
US8904211B2 (en) * 2012-04-27 2014-12-02 Qualcomm Innovation Center, Inc. Frequency reduction of mobile device cores based on application processing requirements

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7401240B2 (en) * 2004-06-03 2008-07-15 International Business Machines Corporation Method for dynamically managing power in microprocessor chips according to present processing demands
US7437581B2 (en) * 2004-09-28 2008-10-14 Intel Corporation Method and apparatus for varying energy per instruction according to the amount of available parallelism
US20060101464A1 (en) * 2004-11-09 2006-05-11 Dohrmann Stephen H Determining a number of processors to execute a task
US8191062B2 (en) 2006-03-31 2012-05-29 Intel Corporation System for processor frequency governors to govern a processor frequency by deriving CPU utilization information based on the state of virtual machine monitor
JP5091912B2 (ja) * 2009-05-21 2012-12-05 株式会社東芝 マルチコアプロセッサシステム
US8984523B2 (en) * 2009-05-26 2015-03-17 Telefonaktiebolaget L M Ericsson (Publ) Method for executing sequential code on the scalable processor at increased frequency while switching off the non-scalable processor core of a multicore chip
US9195296B2 (en) * 2009-09-24 2015-11-24 Qualcomm Incorporated Apparatus and methods for optimizing power consumption in a wireless device
US8650426B2 (en) * 2009-12-16 2014-02-11 Qualcomm Incorporated System and method for controlling central processing unit power in a virtualized system
KR101155202B1 (ko) * 2009-12-24 2012-06-13 포항공과대학교 산학협력단 멀티 코어 프로세서의 전력 관리 방법, 멀티 코어 프로세서의 전력 관리 방법이 기록된 기록매체 및 이를 실행하는 멀티 코어 프로세서 시스템
KR101661111B1 (ko) * 2010-11-23 2016-09-30 한국전자통신연구원 멀티 코어 프로세서의 전력 제어 장치 및 방법
KR101930752B1 (ko) * 2012-02-24 2018-12-19 삼성전자 주식회사 멀티 코어를 포함하는 전자 기기의 전력 제어 방법 및 장치
JP6051924B2 (ja) * 2013-02-21 2016-12-27 富士通株式会社 情報処理装置の制御方法、制御プログラム、情報処理装置
US9354943B2 (en) * 2014-03-19 2016-05-31 International Business Machines Corporation Power management for multi-core processing systems

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103502946A (zh) * 2011-04-05 2014-01-08 高通股份有限公司 用于动态控制到便携式计算装置的多核心处理器中的多个核心的电力的方法和***
US8904211B2 (en) * 2012-04-27 2014-12-02 Qualcomm Innovation Center, Inc. Frequency reduction of mobile device cores based on application processing requirements

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107239348A (zh) * 2017-06-23 2017-10-10 厦门美图移动科技有限公司 一种多核处理器调度方法、装置及移动终端
CN109669778A (zh) * 2018-12-21 2019-04-23 北京奇虎科技有限公司 一种用于为运行单元确定并行进程数量的方法及***
CN109669778B (zh) * 2018-12-21 2023-09-01 北京奇虎科技有限公司 一种用于为运行单元确定并行进程数量的方法及***
CN111538382A (zh) * 2020-04-16 2020-08-14 深圳比特微电子科技有限公司 一种数字货币矿机的启动方法、装置和数字货币矿机
US12007819B2 (en) 2020-04-16 2024-06-11 Shenzhen Microbt Electronics Technology Co., Ltd. Method and apparatus for starting up digital currency data processing device, and digital currency data processing device
CN113805689A (zh) * 2020-06-12 2021-12-17 华为技术有限公司 处理***及处理方法、信号生成器及信号生成方法

Also Published As

Publication number Publication date
US9740266B2 (en) 2017-08-22
US20170068297A1 (en) 2017-03-09

Similar Documents

Publication Publication Date Title
CN106502962A (zh) 电子装置及电子装置中控制处理器核心的操作的方法
US8140876B2 (en) Reducing power consumption of components based on criticality of running tasks independent of scheduling priority in multitask computer
TWI599960B (zh) 在多核心處理器中執行電源管理
US8799902B2 (en) Priority based throttling for power/performance quality of service
US9396009B2 (en) Optimized global capacity management in a virtualized computing environment
EP2891980A1 (en) Adjustment and control method and system for multi-core central processing unit
CN103631655B (zh) 大核和小核中的任务调度
KR102222752B1 (ko) 프로세서의 동적 전압 주파수 스케일링 방법
JP2018500673A (ja) ホリスティックグローバルなパフォーマンス及び電力管理
JP2008117397A (ja) プロセシング・コアの独立電力制御
CN104081449A (zh) 用于图形并行处理单元的缓冲器管理
CN103677654A (zh) 一种存储数据的方法及电子设备
KR20130097505A (ko) 멀티 코어를 포함하는 전자 기기의 전력 제어 방법 및 장치
US9983907B2 (en) Resource-aware backfill job scheduling
CN106462827A (zh) 基于用户计划和目标的上下文理解的资源的平台自我管理
JP2013222321A (ja) メモリ制御装置、メモリ制御方法、情報処理装置、およびプログラム
Cannella et al. Adaptivity support for MPSoCs based on process migration in polyhedral process networks
US20140159785A1 (en) Method and apparatus for atomic frequency and voltage changes
CN111930428A (zh) 一种条件分支指令的融合方法、装置及计算机存储介质
CN108604106A (zh) 侧信道感知的自动布局和布线
CN108614697B (zh) 后台Dex编译管控的方法及装置
US20140373027A1 (en) Application lifetime management
Christobel et al. Efficient scheduling of scientific workflows with energy reduction using novel discrete particle swarm optimization and dynamic voltage scaling for computational grids
EP3401784A1 (en) Multicore processing system
CN110383241B (zh) 用于基于应用程序状态降低硬件能耗的装置和方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WW01 Invention patent application withdrawn after publication

Application publication date: 20170315

WW01 Invention patent application withdrawn after publication