CN104737094B - 芯片上的异构的多处理器系统中的模态工作负载调度 - Google Patents

芯片上的异构的多处理器系统中的模态工作负载调度 Download PDF

Info

Publication number
CN104737094B
CN104737094B CN201380055032.5A CN201380055032A CN104737094B CN 104737094 B CN104737094 B CN 104737094B CN 201380055032 A CN201380055032 A CN 201380055032A CN 104737094 B CN104737094 B CN 104737094B
Authority
CN
China
Prior art keywords
patterns
process assembly
mode decision
hpp
decision condition
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
CN201380055032.5A
Other languages
English (en)
Other versions
CN104737094A (zh
Inventor
A·K·杜
T·A·莫里森
H-J·朴
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 CN104737094A publication Critical patent/CN104737094A/zh
Application granted granted Critical
Publication of CN104737094B publication Critical patent/CN104737094B/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/16Constructional details or arrangements
    • G06F1/20Cooling means
    • G06F1/206Cooling means comprising thermal management
    • 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/329Power saving characterised by the action undertaken by task scheduling
    • 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/3293Power saving characterised by the action undertaken by switching to a less power-consuming processor, e.g. sub-CPU
    • 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

Abstract

公开了用于包含异构的多处理器片上系统(“SoC”)的便携式计算设备(“PCD”)中基于模式的工作负载重新分配的方法和系统的各个实施例。因为异构的多处理器SoC中的个体处理组件可以展示不同的性能能力或强度,并且因为这些处理组件中的一个以上的处理组件可能能够处理给定的代码块,因此,可以通过以满足操作模式的性能目标的方式,实时或接近实时地向最能够处理代码块的处理组件分配工作负载,利用基于模式的重新分配系统和方法来优化服务质量(“QoS”)。操作模式可以通过PCD中的一个或多个模式决策条件的识别来确定。

Description

芯片上的异构的多处理器系统中的模态工作负载调度
背景技术
便携式计算设备(“PCD”)在个人和专业层次上正在变成人们的必需品。这些设备可以包括蜂窝电话、便携式数字助理(“PDA”)、便携式游戏控制台、掌上计算机以及其它便携式电子设备。
PCD的一个独特之处在于:它们通常不具有往往在较大的计算设备(诸如笔记本电脑和台式电脑中)能找到的像风扇那样的主动散热设备。因此,热能产生在PCD中通常通过各种热管理技术的应用来管理,这些热管理技术可以包括以处理性能的为代价来衰弱或关闭电子元件。在PCD中使用热管理技术力争在减轻热能生成和影响由PCD提供的服务质量(“QoS”)之间寻求平衡。然而,当过量的热能产生不是问题时,可以通过以最大频率等级在PCD中运行处理组件来使QoS最大。
在具有异构的处理组件的PCD中,各个处理组件不是平等的。因此,当热能产生在异构的处理器中不是问题时,以由最慢处理组件指示的最大频率等级来运行所有处理组件会使得没有充分利用PCD中可用的实际处理能力。类似地,当异构PCD中的情况指示功率节省优先于处理速度时(例如当热能生成是问题时),假设所有的处理组件以给定的降低的处理速度等同地运行会导致消耗超过必要功率的工作负载分配。
因此,本领域中需要用于在考虑个体处理组件的已知性能特性的前提下,在异构的处理组件之间分配PCD中的工作负载,以满足与PCD的操作模式相关联的性能目标的方法和系统。
发明内容
公开了用于包含异构的多处理器片上系统(“SoC”)的便携式计算设备中基于模式的工作负载重新分配的方法和系统的各个实施例。因为异构的多处理器SoC中的个体处理组件可以展示不同的性能能力或强度,并且因为这些处理组件中的一个以上的处理组件可能能够处理给定的代码块,因此,可以通过以满足操作模式的性能目标的方式,实时或接近实时地向最能够处理代码块的处理组件分配工作负载,利用基于模式的重新分配系统和方法来优化服务质量(“QoS”)。
一种这样的方法涉及:确定异构的多处理器SoC中的多个个体处理组件中的每个处理组件的性能能力。性能能力可以包括最大处理频率以及由每个处理组件表现出的静态电源电流。值得注意的是,本领域普通技术人员会认识到:那些具有相对较高的最大处理频率的处理组件可能最适合于在PCD处于高性能处理(“HPP”)模式时来处理工作负载,而表现出相对较低的静态电源电流的那些处理组件可能最适合于在PCD处于功率节省(“PS”)模式时来处理工作负载。
监测PCD中的一个或多个模式决策条件的指示符。基于识别出的模式决策条件中的任意一个或多个模式决策条件的存在,确定与PCD的某些性能目标相关联的操作模式。例如,电池充电器已经插入PCD从而提供基本上无限的功率源的指示可以触发HPP操作模式,所述HPP操作模式具有以最快可能的速度对工作负载进行处理的相关联的性能目标。类似地,电池容量已经下降到低于预先确定的门限从而造成PCD可能断电的风险的指示可以触发PS操作模式,所述PS操作模式具有以最低量的功率开销对工作负载进行处理的相关联的性能目标。
基于操作模式和相关联的性能目标,可以基于每个处理组件的个体性能能力在处理组件之间重新分配处理组件的活动工作负载。以这种方式,对被最佳地安置为以满足操作模式的性能目标的方式来处理工作负载的那些处理组件被区分优先次序用于工作负载的分配。
附图说明
在附图中,除非另有指示,否则相同的参考标号在各个图中指代相同的部分。对于具有字母字符标示的参考标号,例如“102A”或“102B”,字母字符标示可以区分同一附图中出现的两个相同的部分或元件。当参考标号旨在涵盖所有附图中具有相同参考标号的所有部分时,可以省略参考标号的字母字符标示。
图1是示出与便携式计算设备(“PCD”)的给定四核芯片组中的示例性内核0、1、2和3相关联的处理能力和泄漏率的图表。
图2是示出可以指示PCD的操作模式的示例性条件或触发的图。
图3是示出用于异构的多核PCD中基于模式的工作负载重新分配的片上系统的实施例的功能框图。
图4是用于实现用于基于模式的工作负载重新分配的方法和系统的无线电话形式的PCD的示例性非限制方面的功能框图。
图5A是示出图4中示出的芯片的硬件的示例性空间布置的功能框图。
图5B是示出用于支持基于模式的工作负载重新分配的图4的PCD的示例性软件架构的示意图。
图6是示出用于图4的PCD中的异构的处理组件之间的基于模式的工作负载重新分配的方法的实施例的逻辑流程图。
图7是示出基于模式的工作负载重新分配子例程的实施例的逻辑流程图。
具体实施方式
本文中使用的“示例性的”一词意指“用作示例、实例或说明”。在本文中被描述为“示例性的”的任何方面不一定被解释为排他的、优选的或者比其它方面更有优势的。
在本说明书中,术语“应用”还可以包括具有可执行内容的文件,诸如:对象代码、脚本、字节代码、标记语言文件和补丁。此外,“应用”在本文中还可以包括在性质上不可执行的文件,诸如需要被打开的文档或需要被访问的其它数据文件。
如本说明书中所使用的,术语“组件”、“数据库”、“模块”、“系统”、“热能产生组件”、“处理组件”、“处理引擎”、“应用处理器”等旨在指代计算机相关的实体,它们是硬件、固件、硬件和软件的组合、软件、或者执行中的软件,并且表示用于提供功能并在本说明中描述的过程或过程流中执行某些步骤的示例性模块。例如,组件可以是但不限于是运行在处理器上的过程、处理器、对象、可执行程序,所执行的线程、程序、和/或计算机。通过说明的方式,在计算设备上运行的应用和计算设备都可以是组件。一个或多个组件可以位于过程和/或所执行的线程之内,并且组件可以位于一台计算机上和/或分布在两台或更多台计算机之间。此外,这些组件可以从具有各种数据结构存储在其上的各种计算机可读介质执行。组件可以诸如根据具有一个或多个数据分组通过本地和/或远程过程进行通信(例如,来自与本地系统、分布式系统和/或跨越例如互联网的网络中的另一个组件进行交互、通过信号的方式与其他系统进行交互的一个组件的数据)。
在本说明书中,术语“中央处理单元(‘CPU’)”、“数字信号处理器’(‘DSP’)”、“芯片”和“芯片组”是可位于PCD中的处理组件的非限制性示例,并且除非另有指示否则可互换使用。此外,如同本文中所区分的,CPU、DSP或者芯片或芯片组可以包括通常在本文中被称为“内核”和“子核”的一个或多个不同的处理组件。
在本说明书中,将理解的是:术语“热”和“热能”可以与能够产生或消耗可以以“温度”为单位测量的能量的设备或组件关联使用。因此,还将理解的是:术语“温度”,参考某个标准值,设想可以指示“热能”产生设备或组件的相对温度或缺少热的任何测量。例如,当两个组件处于“热”平衡时,两个组件的“温度”相同。
在本说明书中,术语“工作负载”、“处理负载”、“处理工作负载”和“代码块”可互换使用,并通常指向处理负荷,或者处理负荷的百分比,其与给定实施例中的给定处理组件相关联,或者分配给给定实施例中的给定处理组件。相对于上文所定义的更进一步,“处理组件”可以是但不限于:中央处理单元、图形处理单元、内核、主核、子核、处理区域、硬件引擎等,或者位于便携式计算设备内的集成电路中或在其之外的任何组件。此外,在某种程度上,术语“热负载”、“热分布”、“热信号”、“热处理负载”等表示可以在处理组件上运行的工作负载负荷,本领域普通技术人员将认识到:本公开内容中这些“热”术语的使用可与处理负载分布、工作负载负荷和功耗有关。
在本说明书中,术语“热减轻技术”、“热策略”、“热管理”和“热减轻措施”可以互换使用。
本领域普通技术人员将认识到:术语“DMIPS”表示每秒要处理给定数量的几百万条指令的整数运算(Dhrystone)迭代的数量。在本说明书中,术语被用作测量的一般单位来指示示例性实施例中处理器性能的相对水平,并将不会被解释为暗示落入本公开内容的范围之内的任何给定的实施例必须包括或必须不包括具有任何特定的整数运算等级的处理器。
在本说明书中,术语“分配”和“重新分配”通常可互换使用。术语“分配”的使用不局限于初始分配,并且因此固有地包括重新分配。
在本说明书中,术语“便携式计算设备”(“PCD”)用于描述靠有限容量电源(例如电池)来起作用的任何设备。虽然靠电池来起作用的PCD已经使用了几十年,但可充电电池技术的进步加上第三代(“3G”)和第四代(“4G”)无线技术的到来已经使得大量PCD具有多种能力。因此,除了别的之外,PCD可以是蜂窝电话、卫星电话、寻呼机、PDA、智能电话、导航设备、智能本或阅读器、媒体播放器、上述设备的组合、具有无线连接的膝上型计算机。
在本说明书中,术语“性能”通常用于指代一个处理组件与另一个处理组件相比较的效率,并且因此可以根据其使用的上下文用各种单位来进行量化。例如,当上下文是以内核可以处理给定工作负载的MHz为单位的速度时,高容量内核可以表现出比低容量内核更好的性能。类似地,当上下文是在处理给定的工作负载时与内核相关联的静态电源电流(“IDDq”),即,以mA为单位的功耗时,低容量内核可以表现出比高容量内核要好的性能。
对具有异构的处理组件的PCD中的用于QoS优化的处理性能进行管理可以通过利用可用于工作负载分配的个体处理引擎的不同性能特性来实现。关于可以包括在异构的处理组件中的各个处理引擎的不同性能特性,本领域普通技术人员将认识到:性能差异可归因于任何数量的原因,这些原因包括但不限于不同级别的硅,设计变化等。此外,本领域普通技术人员将认识到:与给定处理组件相关联的性能特性可以根据该处理组件的操作温度、向该处理组件提供的功率等而不同。
例如,考虑可以包括在性能容量上通常从低到高评级的多个不同处理内核的示例性异构的多核处理器(值得注意的是,本领域普通技术人员将认识到:也可以考虑可以包括多个不同处理组件(每个处理组件包含一个或多个内核)的示例性异构多处理器片上系统(“SoC”))。本领域普通技术人员将理解:异构的处理器中的低容量至中等容量处理内核将在给定工作负载容量处表现出低功率泄漏率,并且因此与具有相对较高性能容量的处理内核相比表现出较低速率的热能生成。与较低容量的内核相比,较高容量的内核能够在较短量的时间内处理给定数量的DMIP。出于这些原因,本领域普通技术人员将认识到:当PCD处于“高性能”模式时,会更期望高容量内核用于工作负载分配,而当PCD处于“功率节省”模式时,会更期望低容量内核(其具有较低的电流泄漏等级)用于工作负载分配。
认识到当PCD处于某些操作模式时,异构的处理器中的某些内核比其它内核更适合于处理给定的工作负载,可以利用基于模式的工作负载重新分配算法来向在给定模式的上下文中提供最佳性能的处理内核或一些内核重新分配工作负载。例如,PCD中的某些条件可以指示PCD处于高性能模式,在其中,性能是以处理速度为单位测量的。因此,通过认识到PCD处于高性能模式,基于模式的工作负载重新分配算法可以指示工作负载由表现出最高处理速度的异构的处理器中的那些某些内核来处理。相反,如果PCD中的条件指示PCD处于功率节省模式,在其中,性能是以与电流泄漏相关联的单位测得的,那么基于模式的工作负载重新分配算法可以指示工作负载由表现出最低IDDq等级的异构的处理器中的那些某些内核来处理。
作为非限制性示例,特定的代码块可由示例性PCD中的中央处理单元(“CPU”)或图形处理单元(“GPU”)中的任一个来处理。优选地,示例性实施例可以基于与给定模式相关联的PCD中的条件的识别来选择处理组件中的哪个处理组件将被分配处理代码块的任务,而不是预先确定特定代码块将由CPU或GPU中的一个来处理。也就是说,基于PCD的操作模式,向被装备得最好的用于高效地处理代码块的处理器分配工作负载。值得注意的是,将理解:当PCD的操作模式变化时,用于随后的工作负载的重新分配的随后的处理器选择可以实时或接近实时地进行。以这种方式,模态分配管理器(“MAM”)模块可以利用与异构的处理器中的个体内核相关联的性能特性,通过基于与PCD的操作模式相关联的性能优先级对处理内核进行选择来优化QoS。
图1是示出与PCD的给定四核(quad)芯片组中的示例性内核0、1、2和3相关联的处理能力和泄漏率的图表。值得注意的是,虽然相对于四核芯片组在本文中描述了各个实施例的某些特征和方面,但本领域普通技术人员将认识到:实施例可以应用于任何多核芯片。在示例性图示中,内核0表示具有最高处理能力的内核(内核0最大频率),并且因此会是当PCD处于“高性能”模式时最期望用于工作负载分配的内核。相反,内核3表示具有最低电流泄漏等级的内核(内核3泄漏),并且因此会是当PCD处于“功率节省”模式时最期望用于工作负载分配的内核。这些内核可以位于能够处理给定代码块的任何处理引擎中,这些处理引擎包括但不限于CPU、GPU、DSP、可编程阵列等。
可以从图1的图示看出,这些内核中的每个内核在处理速度和功耗方面表现出独特的性能特性。内核0能够以相对高的处理速度(内核0最大频率)来处理工作负载,然而其也具有相对高的IDDq(内核0泄漏)。内核1能够以比内核2和内核3高的速度来处理工作负载,但其速度不像内核0那么快。因此,内核1在处理速度方面是这些内核中第二高效的。内核1的IDDq等级(内核1泄漏)也使其在泄漏率方面是这些内核中第二高效的。内核2表现出相对较慢的处理速度(内核2最大频率)和相对较高的IDDq等级(仅被内核1的IDDq等级超过)。并且内核3表现出这些内核中最慢的处理速度,但有利的是,其也在所有的内核之中消耗最少量的功率(内核3泄漏)。
优选地,最大处理频率中的内核到内核的变化以及静态泄漏率可由MAM模块利用来选择当PCD处于给定操作模式时被最佳地安置为高效处理给定代码块的处理组件。例如,当PCD处于功率节省模式时,MAM模块可以首先向内核3,然后向内核1,接下来向内核2并最后向内核0分配或重新分配工作负载,从而使得电流泄漏最小化。类似地,但PCD处于高性能模式时,MAM模块可以根据需要首先向内核0,然后向内核1,接下来向内核2并最后向内核3分配或重新分配工作负载,以便使工作负载被处理的速度最大化。
本领域普通技术人员将认识到:上面概述的工作负载调度的各种场景并不表示性能特性的比较分析可以有利于异构的多核处理器和/或异构的多处理器SoC中的工作负载分配的场景的穷举数量。因此,将理解的是:可以设想可操作为对异构的多核处理器或异构的多处理器SoC(视情况而定)中的两个或更多个处理内核的性能特性进行比较,以确定工作负载分配或重新分配的任何工作负载分配组件或模块。根据各个实施例的处理组件性能特性的比较分析可用于基于根据操作模式可用的最高效处理组件的识别,来在多个处理组件之间分配工作负载。
图2是示出可以指示PCD的操作模式的示例性条件或触发的图。基于触发中一个或多个触发的识别,MAM模块可以确定操作模式,并且随后基于与给定的操作模式相关联的性能目标向处理内核来分配或重新分配工作负载。
例如,电池充电器向PCD的连接可以触发MAM模块将操作模式指定为高性能处理(“HPP”)模式。因此,可以向具有最高处理频率的那些一个或多个处理组件(例如图1的内核0)分配工作负载。作为另一个示例,识别出PCD中的电池容量较低可以导致MAM模块将操作模式指定为功率节省(“PS”)模式。因此,因为与功率节省模式相关联的性能目标包括节约功率,所以可以离开高频率内核而向表现出更高效的功耗特性的较低频率内核(例如,图1的内核3)重新分配工作负载。
值得注意的是,设想MAM模块的一些实施例可以识别多个模式决策条件的出现。就识别出的条件指向不同操作模式来说,某些实施例可以对这些条件排列优先级或以其它方式协调这些条件以便确定最佳操作模式。例如,假设PCD的用户预先将模式设置为HPP模式,并且还插入在电池充电器中,但同时热策略管理器(“TPM”)模块活跃地参与热减轻措施的应用。在这样的场景中,MAM模块可以将正在进行的热减轻的优先级排列为高于用户设置和充电器的可用性,从而确定操作模式应该是PS模式。
图2中示出的作为HPP模式的可能触发的其它示例性模式决策条件包括:性能基准的检测、内核利用率大于某个门限(例如,>90%)、用户接口响应时间大于某个门限(例如,>100msec(毫秒))、对接状态的识别、以及具有高处理速度需求的用例(例如,游戏用例)。值得注意的是,图2的图表中概述的HPP模式决策条件并不是作为可以用于将MAM模块指向HPP模式的触发的穷举列表提供的,并且因此,本领域普通技术人员将认识到:PCD中的其它触发或条件可以用于指示应该向具有高频率处理能力的处理组件分配或重新分配工作负载。此外,本领域普通技术人员将认识到:HPP模式决策条件可以与需要更多处理能力的场景相关联,以便优化QoS和/或可用功率充足的场景。
图2中示出的作为PS模式的可能触发的其它示例性模式决策条件包括:电池容量低于某个门限(例如,<10%剩余)的识别、向PS模式的用户设置、一个或多个热减轻技术的应用、相对高的片上温度读数的检测、低处理能力用例(例如,从待机模式苏醒、OS背景任务、工作负载要求低于与最慢处理组件相关联的最大频率、所有内核正在以相对于低的频率运行以便处理活动工作负载等等)。值得注意的是,图2的图表中概述的PS模式决策条件并不是作为可以用于将MAM模块指向PS模式的触发的穷举列表提供的,并且因此,本领域普通技术人员将认识到:PCD中的其它触发或条件可用于指示应该向具有低功耗特性的处理组件分配或重新分配工作负载。此外,本领域普通技术人员将认识到:PS模式决策条件可以与不需要高处理能力的场景相关联,以便优化QoS和/或可用功率有限的场景。
图3是示出用于异构的多核PCD 100中基于模式的工作负载重新分配的片上系统102的实施例的功能框图。如同上文中针对图1和图2的图示解释的,处理组件222、224、226、228之间的工作负载重新分配可以基于操作模式的确定。取决于给定操作模式的性能目标,模态分配管理器(“MAM”)模块207可以导致工作负载将在各个处理组件222、224、226、228之间重新分配,从而达到与给定操作模式相关联的性能目标。值得注意的是,本领域普通技术人员将认识到:处理组件110被描绘为一组异构的处理引擎222、224、226、228仅是出于说明的目的,并且可以表示具有多个异构内核222、224、226、228的单个处理组件或多个异构的处理器222、224、226、228,其中的每一个可以包括或者可以不包括多个内核和/或子核。因此,本文中将处理引擎222、224、226和228称为“内核”将被理解为在性质上是示例性的,并且将不限制本公开内容的范围。
片上系统可以监测温度传感器157,例如,这些温度传感器各自与具有监测器模块114的内核22、224、226、228相关联,监测器模块114与热策略管理器(“TPM”)模块101和模态分配管理器(“MAM”)模块207相通信。如上所述,温度测量可以表示MAM模块207可以依据其做出模式决定的条件。此外,虽然没有在图3的图示中明确地描绘出,但将理解的是:监测器模块114还可以对可用作用于从一种操作模式切换到另一种操作模式的触发的PCD中的其它组件或条件进行监测。
TPM模块101可以从监测器模块114接收温度测量,并使用该测量来确定和应用热管理策略。由TPM模块101应用的热管理策略可以通过工作负载从一个处理组件向另一个处理组件的重新分配、处理器时钟速度的衰弱或变化等来管理热能产生。值得注意的是,通过热管理策略的应用,TPM模块101可以以QoS为代价来降低或减少热能的过度产生。
在一些实施例中设想由TPM模块101指示的工作负载分配可以在本质上“胜过”由MAM模块207驱动的工作负载重新分配。返回上面提供的示例,假设PCD 100的用户预先将模式设置为HPP模式,并且还插入在电池充电器中,但同时TPM模块101活跃地参与热减轻措施的应用。在这样的场景中,MAM模块207可以将正在进行的热减轻的优先级排列为高于用户设置和充电器的可用性,从而确定操作模式应该是PS模式而不是与触发相关联的HPP模式。或者,在相同的示例性场景下,MAM模块207的其它实施例可以不考虑模式决策条件而简单地推迟向TPM模块101的工作负载分配。
随着模式决策条件变化或变得明显,监测器模块114识别出这些条件并发送向MAM模块207指示这些条件的数据。各个模式决策条件中的一个或多个条件的出现可以触发MAM模块207参考内核特性(“CC”)数据存储24来查询内核222、224、226、228中的一个或多个内核的性能特性。随后,MAM模块207可以选择在查询的时刻被装备得最好的用于根据与识别出的模式决策条件相关联的操作模式的性能目标来高效处理给定代码块的内核222、224、226、228。例如,如果PS模式的性能目标是使电流泄漏最小化,那么MAM模块207将向所查询的具有最高效IDDq等级的特定内核222、224、226、228分配代码块。类似地,如果HPP模式的性能目标是以可能的最快速度处理工作负载,那么MAM模块207将向所查询的具有最高处理频率的特定可用内核222、224、226、228分配代码块。值得注意的是,针对需要一个以上处理组件的代码块,设想实施例将向最能够满足特定操作模式的性能目标的可用处理器的组合分配工作负载。
返回图3的图示,可以根据本领域的普通技术人员所理解的基准测试和平台表征,在内核222、224、226、228中的每个内核上凭经验收集CC数据存储24的内容。本质上,性能特性包括:可以针对处理组件222、224、226、228中的每个处理组件“在工厂”测得并存储在CC数据存储24中的最大操作频率和IDDq泄漏率。根据该数据,MAM模块207可以确定内核222、224、226、228中的哪个内核是被装备得最好的用于根据给定操作模式的性能目标来处理给定的工作负载。本领域普通技术人员将理解的是:CC数据存储24可以以硬件和/或软件形式存在,这取决于特定实施例。此外,本领域普通技术人员将理解的是:硬件中的CC数据存储24可以融合在硅内部,而软件形式的CC数据存储24可以存储在固件中。
图4是用于实现用于基于模式的工作负载重新分配的方法和系统的无线电话形式的PCD 100的示例性非限制方面的功能框图。如图所示,PCD 100包括:包括耦合在一起的异构的多核中央处理单元(“CPU”)110和模拟信号处理器126的片上系统102。本领域普通技术人员将理解:CPU 110可以包括第零内核222、第一内核224、以及第N内核230。此外,本领域普通技术人员将理解:还可以使用数字信号处理器(“DSP”)而不使用CPU 110。此外,如同在异构的多核处理器领域中所理解的:内核222、224、230中的每个内核可以用不同的最大电压频率来处理工作负载并表现出不同的IDDq泄漏率。
总的来说,TPM模块101可以负责监测和应用包括一种或多种热减轻技术的热策略。热减轻技术的应用可以帮助PCD 100来管理热条件和/或热负载,并在保持高水平功能的同时避免经历不利的热条件(诸如,例如,达到临界温度)。模态分配管理器(“MAM”)模块207可以接收与TPM模块101相同或相似的温度数据,以及其它条件指示符,并利用该数据来限定操作模式。基于操作模式,MAM模块207可以根据与各个内核222、224、230相关联的性能特性来分配或重新分配工作负载。以这种方式,MAM模块207可以使得工作负载将由那些最能以满足与给定操作模式相关联的性能目标的方式处理工作负载的一个或多个内核来处理。
图4还示出了PCD 100可以包括监测器模块114。监测器模块114与分布在整个片上系统102上的多个操作传感器(例如,热传感器157)和组件通信,并且与PCD 100的CPU 110以及与TPM模块101和/或MAM模块207通信。值得注意的是,监测器模块114还可以与片外组件通信和/或监测片外组件,片外组件诸如但不限于电源188、触摸屏132、RF开关170等。MAM模块207可以与监测器模块114一起工作以便识别可以触发操作模式切换并影响工作负载分配和/或重新分配的模式决策条件。
如图4中所示,显示控制器128和触摸屏控制器130耦合到CPU 110。在片上系统102外部的触摸屏显示器132耦合到显示控制器128和触摸屏控制器130。
PCD 100还可以包括:视频解码器134,例如,相位交替行(“PAL”)解码器、顺序存储彩电制式(sequential couleur avec memoire,“SECAM”)解码器、国家电视系统委员会(“NTSC”)解码器或任何其它类型的视频解码器134。视频解码器134耦合到多核中央处理单元(“CPU”)110。视频放大器136耦合到视频解码器134和触摸屏显示器132。视频端口138耦合到视频放大器136。如图4中所描绘的,通用串行总线(“USB”)控制器140耦合到CPU 110。此外,USB端口142耦合到USB控制器140。存储器112和用户身份模块(SIM)卡146也可以耦合到CPU 110。此外,如图4中所示,数字摄像头148可以耦合到CPU 110。在示例性方面中,数字摄像头148是电荷耦合设备(“CCD”)摄像头或互补金属氧化物半导体(“CMOS”)摄像头。
如图4中进一步所示,立体声音频编解码器150可以耦合到模拟信号处理器126。此外,音频放大器152可以耦合到立体声音频编解码器150。在示例性方面中,第一立体声扬声器154和第二立体声扬声器156耦合到音频放大器152。图4示出了麦克风放大器158也可以耦合到立体声音频编解码器150。另外,麦克风160也可以耦合到麦克风放大器158。在特定方面中,频率调制(“FM”)无线电调谐器162可以耦合到立体声音频编解码器150。此外,FM天线164耦合到FM无线电调谐器162。此外,立体声耳机166可以耦合到立体声音频编解码器150。
图4还指示射频(“RF”)收发机168可以耦合到模拟信号处理器126。RF开关170可以耦合到RF收发机168和RF天线172。如图4中所示,键区174可以耦合到模拟信号处理器126。此外,具有麦克风176的单声道耳机可以耦合到模拟信号处理器126。此外,振动器设备178可以耦合到模拟信号处理器126。图4还示出了电源188(例如,电池)经由功率管理集成电路(“PMIC”)180耦合到片上系统102。在特定方面中,电源188包括可再充电的DC电池或DC电源,其是从去往连接到交流电流(“AC”)电源的DC变压器的AC得到的。
CPU 110还可以耦合到一个或多个内部的片上热传感器157A和157B以及一个或多个外部的片外热传感器157C。片上热传感器157A、157B可以包括一个或多个与绝对温度成比例(“PTAT”)的温度传感器,其基于垂直PNP结构,并通常专用于互补金属氧化物半导体(“CMOS”)超大规模集成(“VLSI”)电路。片外热传感器157C可以包括一个或多个热敏电阻。热传感器157可以产生压降,使用模数转换(“ADC”)控制器103(见图5A)将该压降转换成数字信号。然而,可以在不脱离本发明的范围的前提下使用其它类型的热传感器157。
热传感器157除了受控于ADC控制器103并由ADC控制器103监测之外,还可以受控于一个或多个TPM模块101、监测器模块114和/或MAM模块207并由它们监测。TPM模块101、监测器模块114和/或MAM模块207可以包括由CPU 110执行的软件。然而,在不脱离本发明的范围的前提下,TPM模块101、监测器模块114和/或MAM模块207还可以由硬件和/或固件形成。TPM模块101可以负责监测和应用热策略,热策略包括可以在保持高水平功能的同时帮助PCD 100避免临界温度的一种或多种热减轻技术。MAM模块207可以负责查询处理器性能特性,并基于操作模式的识别来向最能够高效处理代码的处理器分配代码块。
返回图4,触摸屏显示器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上可操作的资源的实时管理的方式,从这些外部设备中的一个或多个设备接收一个或多个指示或信号。
在特定方面中,本文中描述的方法步骤中的一个或多个方法步骤可以由形成一个或多个TPM模块101以及和/或MAM模块207的、存储在存储器112中的可执行指令和参数来实现。除了用于执行本文中描述的方法的ADC控制器103之外,形成TPM模块101以及和/或MAM模块207的这些指令可以由CPU 110、模拟信号处理器126、GPU 182或其它处理器来执行。此外,处理器110、126、存储器112、存储在其中的指令、或者它们的组合可以用作用于执行本文中描述的方法步骤中的一个或多个方法步骤的单元。
图5A是示出图4中示出的芯片102的硬件的示例性空间布置的功能框图。根据该示例性实施例,应用CPU 110位于芯片102的最左侧区域,而调制解调器CPU 168、126位于芯片102的最右侧区域。应用CPU 110可以包括:包括第零内核222、第一内核224和第N内核230的异构的多核处理器。应用CPU 110可以在执行TPM模块101A和/或MAM模块207A(当以软件实现时),或者其可以包括TPM模块101A和/或MAM模块207A(当以硬件实现时)。应用CPU 110还被示为包括操作系统(“O/S”)模块208和监测器模块114。
应用CPU 110可以耦合到一个或多个锁相环(“PLL”)209A、209B,这些锁相环可以与应用CPU 110相邻,并在芯片102的左侧区域。与PLL 209A、209B相邻并且在应用CPU 110的下方可以包括模拟-数字(“ADC”)控制器103,其可以包括其自己的热策略管理器101B和/或结合应用CPU 110的主模块101A、207A工作的MAM模块207B。
ADC控制器103的热策略管理器101B可以负责监测和跟踪可以在“片上”102和“片外”102提供的多个热传感器157。片上或内部热传感器157A可以置于不同的位置。
作为非限制性示例,第一内部热传感器157A1可以置于芯片102的顶部中心区域,在应用CPU 110与调制解调器CPU 168、126之间并与内部存储器112相邻。第二内部热传感器157A2可以置于芯片102的右侧区域上调制解调器CPU 168、126的下方。第二内部热传感器157A2还可以置于高级精简指令集计算机(“RISC”)指令集机器(“ARM”)177与第一图形处理器135A之间。数字-模拟控制器(“DAC”)173可以置于第二内部热传感器157A2与调制解调器CPU 168、126之间。
第三内部热传感器157A3可以置于芯片102的最右侧区域中第二图形处理器135B与第三图形处理器135C之间。第四内部热传感器157A4可以置于芯片102的最右侧区域中,并且在第四图形处理器135D下方。第五内部热传感器157A5可以置于芯片102的最左侧区域中,并且与PLL 209和ADC控制器103相邻。
一个或多个外部热传感器157C还可以耦合到ADC控制器103。第一外部热传感器157C1可以置于片外,并与可以包括调制解调器CPU 168、126、ARM 177和DAC 173的芯片102的右上象限相邻。第二外部热传感器157C2可以置于片外,并与可以包括第三和第四图形处理器135C、135D的芯片102的右下象限相邻。
本领域普通技术人员将认识到:可以在不脱离本发明的范围的前提下提供图5A中示出的硬件的各种其它空间布置。图5A示出了一种示例性空间布置以及主TPM和MAM模块101A、207A和具有其TPM和MAM模块101B、207B的ADC控制器103可以怎样识别作为图5A中示出的示例性空间布置的函数的热条件,确定操作模式并分配工作负载,以便管理热条件和/或满足与给定操作模式相关联的性能目标。
图5B是示出用于支持基于模式的工作负载重新分配的图4和图5A的PCD 100的示例性软件架构200的示意图。任何数量的算法可以形成在识别出PCD 100中的某些模式决策条件时可由MAM模块207应用的基于模式的工作负载重新分配方法或作为该方法的一部分。
如图5B中所示,CPU或数字信号处理器110经由总线211耦合到存储器112。如上所述,CPU 110是具有N核处理器的多核、异构的处理器。也就是说,CPU 110包括第一内核222、第二内核224和第N内核230。如同本领域普通技术人员已知的,第一内核222、第二内核224和第N内核230中的每个内核可用于支持专用应用或程序,并且作为异构内核的一部分可以表现出不同的最大处理频率和不同的IDDq电流泄漏水平。或者,可以在可用异构内核中的两个或更多个内核之间分配用于进行处理的一个或多个应用或程序。
CPU 110可以从可包括软件和/或硬件的TPM模块101和/或MAM模块207接收命令。如果体现为软件,TPM模块101和/或MAM模块207包括由向由CPU 110执行的指令,CPU 110向由CPU 110和其它处理器执行的其它应用程序发布命令。
CPU 110的第一内核222、第二内核224至第N内核230可以集成在单个集成电路裸片(die)上,或者它们可以集成或耦合在多个电路封装中的单独的裸片上。设计者可以经由一个或多个共享高速缓冲存储器来耦合第一内核222、第二内核224至第N内核230,并且它们可以经由诸如总线、环、网(mesh)和交叉开关(crossbar)拓扑结构的网络拓扑结构来实现消息或指令传送。
如本领域中已知的:总线211可以包括经由一个或多个有线或无线连接的多个通信路径。总线211可以具有能够用来进行通信的额外的单元(为了简单起见而省略了),诸如控制器、缓冲器(高速缓冲存储器)、驱动器、转发器和接收机。此外,总线211可以包括能够在上述组件之间进行合适的通信的地址、控制和/或数据连接。
当由PCD 100使用的逻辑单元在软件中实现时(如图5B中所示),应该指出的是:启动逻辑单元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中找到替代程序。
当替代程序由数字信号处理器中的内核处理器中的一个或多个内核处理器执行时,其可以根据由TPM模块101、MAM模块207和监测器模块114提供的一个或多个信号来操作。在这一方面,模块114可以响应于源自TPM 101或MAM模块207的控制信号来提供事件、过程、应用、资源状态条件、流逝时间、温度等的一个或多个指示符。
接口逻辑单元270包括用于呈现、管理外部输入以及与外部输入进行交互,以便对存储在嵌入式文件系统290中的信息进行观察、配置或以其它方式更新的一个或多个可执行指令。在一个实施例中,接口逻辑单元270可以结合经由USB端口142接收的制造商输入来进行操作。这些输入可以包括将要从程序存储296删除或向程序存储296添加的一个或多个程序。或者,这些输入可以包括对程序存储296中的程序中的一个或多个程序的编辑或改变。此外,这些输入可以标识对启动逻辑单元250和管理逻辑单元260中的一个或二者的一个或多个改变,或者对其的整体替换。通过举例的方式,输入可以包括对管理逻辑单元260的改变,所述管理逻辑单元260在视频编解码器134活动时指示MAM模块207将操作模式识别为HPP模式。
接口逻辑单元270使得制造商能够在PCD 100上定义的操作条件下对端用户的体验进行可控的配置和调整。当存储器112是闪存器时,可以对下列各项中的一个或多个进行编辑、替换或其它方式的修改:启动逻辑单元250、管理逻辑单元260、接口逻辑单元270、应用存储280中的应用程序或嵌入式文件系统290中的信息。在一些实施例中,接口逻辑单元270可以允许PCD 100的端用户或运营商对启动逻辑单元250、管理逻辑单元260、应用存储280中的应用程序和嵌入式文件系统290中的信息进行搜索、定位、修改或替换。运营商可以使用所得到的接口进行将在PCD 100的下一次启动时实现的改变。或者,运营商可以使用所得到的接口进行在运行时间期间所实现的改变。
嵌入式文件系统290包括分层排列的内核特性数据存储24。在这一方面,文件系统290可以包括用于与各个内核222、224、226、228的性能特性相关联的信息的存储的其总文件系统容量的保留的部分。
图6是示出用于PCD 100中的异构的处理组件之间的基于模式的工作负载重新分配的方法600的实施例的逻辑流程图。在图6的实施例中,每个个体处理组件(诸如内核222、224、226、228)的性能特性在框605处表征并存储在CC数据存储24中。值得注意的是,如上所述,多核、异构SoC中的各个处理组件的个体性能特性是独特的。也就是说,某些处理组件可以表现出比相同SoC中的其它处理组件要高的处理频率。此外,某些其它处理组件可以表现出比其它处理组件要低的功率泄漏率。优选地,运行并实现基于模式的重新分配算法的MAM模块207可以利用异构的处理组件的性能特性的固有差异来向被装备得最好的用于处理与操作目标(诸如功率节省或高处理速度)一致的工作负载的特定处理组件分配或重新分配工作负载。
一旦确定了各个处理内核222、224、226、228的性能特性,在框610处可以对这些内核评级,并针对它们各自的性能强度来对其进行识别。例如,再次参考图1和图3,可以将内核226识别为具有最快处理频率的内核(例如图1的内核0)。类似地,可以将内核222识别为具有最低泄漏率的内核(例如图1的内核3)。以这种方式,可以根据性能特性对这些内核中的每个内核相对于其对等体来进行评级。
在框615处,MAM模块207结合监测器模块114来跟踪异构内核222、224、226、228之间的活动工作负载分配。在框620处,监测器模块114对各个模式决策条件(诸如但不限于图2中概述的条件)进行轮询。基于在框620处对模式决策条件的轮询,识别出的条件由监测器模块114和/或MAM模块207基于优先级来进行协调。随后,在决策框630处,利用经协调的模式决策条件来确定PCD 110的操作模式。操作模式继而可以触发MAM模块207来在子例程635处在异构内核222、224、226、228之间重新分配工作负载。如上所述,MAM模块207对工作负载的重新分配是基于在框605和610处确定的性能特性的评级的。在工作负载重新分配之后,该过程返回框615,并且活动工作负载受到监测直到活动工作负载的变化或操作模式的变化使随后的重新分配成为必需。
转到图7,基于模式的工作负载重新分配子例程635在决策框630之后开始。如果决策框630确定PCD 110处于高性能处理模式,那么接下来进行“HPP”分支。然而,如果决策框630确定PCD 110处于功率节省模式,那么接下来进行“PS”分支。
跟随着在决策框630之后的HPP分支,子例程635移动到框640。在框640处,识别出在框605和610处确定的表现出最高处理频率能力的内核。例如,暂时地参考回图1的图示,这些内核根据最高处理频率性能的评级顺序将是内核0和内核1,随后是内核2,然后是内核3。接下来,在框645处,按照来自MAM模块207的指示对处理内核222、224、226、228上的活动工作负载进行重新分配,从而使得向具有最高最大处理频率的内核分配工作负载任务。该过程返回图6的框615。
跟随着在决策框630之后的PS分支,子例程635移动到框650。在框650处,识别出在框605和610处确定的表现出最低功率泄漏特性的内核。例如,暂时地参考回图1的图示,这些内核根据最低功率泄漏性能的评级顺序将是内核3和内核1,随后是内核2,然后是内核0。接下来,在框655处,按照来自MAM模块207的指示对处理内核222、224、226、228上的活动工作负载进行重新分配,从而使得向具有最低功率泄漏的内核分配工作负载任务。该过程返回图6的框615。
为了本发明如所述那样运作,本说明中描述的过程或过程流中的某些步骤自然地先于其它步骤。然而,本发明并不局限于所描述的步骤的次序,如果这种次序或顺序并不改变本发明的功能的话。也就是说,应该认识到:在不脱离本发明的范围和精神的前提下,一些步骤可以在其它步骤之前、之后或与其它步骤并行(基本上同时)执行。在某些情况下,可以在不脱离本发明的情况下省略或不执行某些步骤。此外,诸如“此后”、“然后”、“接下来”等等的词并不旨在限制这些步骤的次序。这些词语只是用于通过示例性方法的描述来引导读者。
另外,编程领域的普通技术人员能够写计算机代码或识别合适的硬件和/或电路,以便例如基于本说明中的流程图和相关联的描述没有困难地实现所公开的发明。因此,特定集合的程序代码指令或详细硬件设备的公开不应该被认为是要充分理解怎样实现和使用本发明所必要的。在上文的描述中并且结合可以示出各个处理流的附图更详细地解释了所要求保护的计算机实现的过程的创造性功能。
在一个或多个示例性方面中,本文中所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。如果用软件实现,则功能可以存储在计算机可读介质上或者作为计算机可读介质上的一个或多个指令或代码发送。计算机可读介质包括计算机存储介质和通信介质二者,通信介质包括有助于将计算机程序从一个地点传输到另一个地点的任意介质。存储介质可以是可以由计算机访问的任何可用介质。通过举例而非限制的方式,这种计算机可读介质可以包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储、磁盘存储或其它磁存储设备、或者可以用于携带或存储具有指令或数据结构形式的所期望的程序代码并可以由计算机访问的任何其它介质。
此外,任何连接可以被适当地称为计算机可读介质。例如,如果使用同轴电缆、光纤光缆、双绞线、数字用户线(“DSL”)、或者诸如红外线、无线电和微波的无线技术,从网站、服务器、或其它远程源发送软件,那么同轴电缆、光纤光缆、双绞线、DSL、或者诸如红外线、无线电和微波的无线技术包含在介质的定义中。
如本文中所使用的,磁盘(disk)和光盘(disc)包括压缩光盘(“CD”)、激光光盘、光盘、数字多功能光盘(“DVD”)、软盘和蓝光光盘,其中磁盘通常磁性地复制数据,而光盘则用激光来光学地复制数据。上述各项的组合也应该包括在计算机可读介质的范围之内。
因此,虽然已经示出并详细描述了所选择的方面,但将理解的是:如同所附权利要求所限定的,可以在不脱离本发明的精神和范围的前提下进行各种替换和改变。

Claims (40)

1.一种用于具有异构的多处理器片上系统(SoC)的便携式计算设备(PCD)中的基于模式的工作负载重新分配的方法,所述方法包括:
确定所述异构的多处理器SoC中的多个个体处理组件中的每个处理组件的性能能力,其中,所述性能能力包括最大处理频率和静态电源电流;
根据所述多个处理组件中的每个处理组件的最大处理频率来对所述多个处理组件进行评级,以及根据所述多个处理组件中的每个处理组件的静态电源电流来对所述多个处理组件进行评级;
识别所述PCD中出现的一个或多个模式决策条件,其中,模式决策条件与高性能处理(HPP)模式或功率节省(PS)模式相关联;
基于优先级来对所述一个或多个模式决策条件进行协调,并且基于经协调的一个或多个模式决策条件,选择所述HPP模式或所述PS模式;以及
基于所选择的模式,在所述处理组件之间基于每个处理组件的性能能力来重新分配工作负载,其中:
如果所选择的模式是所述HPP模式,则重新分配包括:基于对每个处理组件的最大处理频率的评级,来在所述多个处理组件之间分配所述工作负载;并且
如果所选择的模式是所述PS模式,则重新分配包括:基于对每个处理组件的静态电源电流的评级,来在所述多个处理组件之间分配所述工作负载。
2.根据权利要求1所述的方法,其中,识别出的模式决策条件包括用户设置。
3.根据权利要求1所述的方法,其中,识别出的模式决策条件与所述HPP模式相关联,并且包括用户接口响应时间。
4.根据权利要求3所述的方法,其中,所述用户接口响应时间大于100毫秒。
5.根据权利要求1所述的方法,其中,识别出的模式决策条件与所述HPP模式相关联,并且包括到电池充电器的连接。
6.根据权利要求1所述的方法,其中,识别出的模式决策条件与所述HPP模式相关联,并且包括特定用例。
7.根据权利要求1所述的方法,其中,识别出的模式决策条件与所述PS模式相关联,并且包括电池容量。
8.根据权利要求7所述的方法,其中,所述电池容量小于最大电池容量的百分之十。
9.根据权利要求1所述的方法,其中,识别出的模式决策条件与所述PS模式相关联,并且包括超过了预先确定的门限的片上温度读数。
10.根据权利要求1所述的方法,其中,第一识别出的模式决策条件与所述HPP模式相关联,第二识别出的模式决策条件与热管理策略相关联,并且其中,选择所述HPP模式或所述PS模式还包括:基于所述热管理策略来选择所述PS模式。
11.一种用于具有异构的多处理器片上系统(SoC)的便携式计算设备(PCD)中的基于模式的工作负载重新分配的计算机系统,所述系统包括:
监测器模块,其被配置为:
识别所述PCD中出现的一个或多个模式决策条件,其中,模式决策条件与高性能处理(HPP)模式或功率节省(PS)模式相关联;以及
模态分配管理器模块,其被配置为:
确定所述异构的多处理器SoC中的多个个体处理组件中的每个处理组件的性能能力,其中,所述性能能力包括最大处理频率和静态电源电流;
根据所述多个处理组件中的每个处理组件的最大处理频率来对所述多个处理组件进行评级,以及根据所述多个处理组件中的每个处理组件的静态电源电流来对所述多个处理组件进行评级;
基于优先级来对所述一个或多个模式决策条件进行协调;
基于经协调的一个或多个模式决策条件,选择所述HPP模式或所述PS模式;以及
基于所选择的模式,在所述处理组件之间基于每个处理组件的性能能力来重新分配工作负载,其中:
如果所选择的模式是所述HPP模式,则基于对每个处理组件的最大处理频率的评级,来在所述多个处理组件之间重新分配所述工作负载;并且
如果所选择的模式是所述PS模式,则基于对每个处理组件的静态电源电流的评级,来在所述多个处理组件之间重新分配所述工作负载。
12.根据权利要求11所述的计算机系统,其中,识别出的模式决策条件包括用户设置。
13.根据权利要求11所述的计算机系统,其中,识别出的模式决策条件与所述HPP模式相关联,并且包括用户接口响应时间。
14.根据权利要求13所述的计算机系统,其中,所述用户接口响应时间大于100毫秒。
15.根据权利要求11所述的计算机系统,其中,识别出的模式决策条件与所述HPP模式相关联,并且包括到电池充电器的连接。
16.根据权利要求11所述的计算机系统,其中,识别出的模式决策条件与所述HPP模式相关联,并且包括特定用例。
17.根据权利要求11所述的计算机系统,其中,识别出的模式决策条件与所述PS模式相关联,并且包括电池容量。
18.根据权利要求17所述的计算机系统,其中,所述电池容量小于最大电池容量的百分之十。
19.根据权利要求11所述的计算机系统,其中,识别出的模式决策条件与所述PS模式相关联,并且包括超过了预先确定的门限的片上温度读数。
20.根据权利要求11所述的计算机系统,其中,第一识别出的模式决策条件与所述HPP模式相关联,第二识别出的模式决策条件与热管理策略相关联,并且其中,选择所述HPP模式或所述PS模式还包括:基于所述热管理策略来选择所述PS模式。
21.一种用于具有异构的多处理器片上系统(SoC)的便携式计算设备(PCD)中的基于模式的工作负载重新分配的计算机系统,所述系统包括:
用于确定所述异构的多处理器SoC中的多个个体处理组件中的每个处理组件的性能能力的单元,其中,所述性能能力包括最大处理频率和静态电源电流;
用于根据所述多个处理组件中的每个处理组件的最大处理频率来对所述多个处理组件进行评级,以及根据所述多个处理组件中的每个处理组件的静态电源电流来对所述多个处理组件进行评级的单元;
用于识别所述PCD中出现的一个或多个模式决策条件的单元,其中,模式决策条件与高性能处理(HPP)模式或功率节省(PS)模式相关联;
用于基于优先级来对所述一个或多个模式决策条件进行协调的单元;
用于基于所述一个或多个经协调的模式决策条件来选择所述HPP模式或所述PS模式的单元;以及
用于基于所选择的模式,在所述处理组件之间基于每个处理组件的性能能力来重新分配工作负载的单元,其中:
如果所选择的模式是所述HPP模式,则重新分配包括:基于对每个处理组件的最大处理频率的评级,来在所述多个处理组件之间分配所述工作负载;并且
如果所选择的模式是所述PS模式,则重新分配包括:基于对每个处理组件的静态电源电流的评级,来在所述多个处理组件之间分配所述工作负载。
22.根据权利要求21所述的计算机系统,其中,识别出的模式决策条件包括用户设置。
23.根据权利要求21所述的计算机系统,其中,识别出的模式决策条件与所述HPP模式相关联,并且包括用户接口响应时间。
24.根据权利要求23所述的计算机系统,其中,所述用户接口响应时间大于100毫秒。
25.根据权利要求21所述的计算机系统,其中,识别出的模式决策条件与所述HPP模式相关联,并且包括到电池充电器的连接。
26.根据权利要求21所述的计算机系统,其中,识别出的模式决策条件与所述HPP模式相关联,并且包括特定用例。
27.根据权利要求21所述的计算机系统,其中,识别出的模式决策条件与所述PS模式相关联,并且包括电池容量。
28.根据权利要求27所述的计算机系统,其中,所述电池容量小于最大电池容量的百分之十。
29.根据权利要求21所述的计算机系统,其中,识别出的模式决策条件与所述PS模式相关联,并且包括超过了预先确定的门限的片上温度读数。
30.根据权利要求21所述的计算机系统,其中,第一识别出的模式决策条件与所述HPP模式相关联,第二识别出的模式决策条件与热管理策略相关联,并且其中,所述用于选择所述HPP模式或所述PS模式的单元还包括:用于基于所述热管理策略来选择所述PS模式的单元。
31.一种用于具有异构的多处理器片上系统(SoC)的便携式计算设备(PCD)中的基于模式的工作负载重新分配的计算机系统,所述计算机系统包括处理器,其被配置为进行以下操作:
确定所述异构的多处理器SoC中的多个个体处理组件中的每个处理组件的性能能力,其中,所述性能能力包括最大处理频率和静态电源电流;
根据所述多个处理组件中的每个处理组件的最大处理频率来对所述多个处理组件进行评级,以及根据所述多个处理组件中的每个处理组件的静态电源电流来对所述多个处理组件进行评级;
识别所述PCD中出现的一个或多个模式决策条件,其中,模式决策条件与高性能处理(HPP)模式或功率节省(PS)模式相关联;
基于优先级来对所述一个或多个模式决策条件进行协调;
基于经协调的一个或多个模式决策条件,选择所述HPP模式或所述PS模式;以及
基于所选择的模式,在所述处理组件之间基于每个处理组件的性能能力来重新分配工作负载,其中:
如果所选择的模式是所述HPP模式,则重新分配包括:基于对每个处理组件的最大处理频率的评级,来在所述多个处理组件之间分配所述工作负载;并且
如果所选择的模式是所述PS模式,则重新分配包括:基于对每个处理组件的静态电源电流的评级,来在所述多个处理组件之间分配所述工作负载;以及
存储器,其耦合至所述处理器。
32.根据权利要求31所述的计算机系统,其中,识别出的模式决策条件包括用户设置。
33.根据权利要求31所述的计算机系统,其中,识别出的模式决策条件与所述HPP模式相关联,并且包括用户接口响应时间。
34.根据权利要求33所述的计算机系统,其中,所述用户接口响应时间大于100毫秒。
35.根据权利要求31所述的计算机系统,其中,识别出的模式决策条件与所述HPP模式相关联,并且包括到电池充电器的连接。
36.根据权利要求31所述的计算机系统,其中,识别出的模式决策条件与所述HPP模式相关联,并且包括特定用例。
37.根据权利要求31所述的计算机系统,其中,识别出的模式决策条件与所述PS模式相关联,并且包括电池容量。
38.根据权利要求37所述的计算机系统,其中,所述电池容量小于最大电池容量的百分之十。
39.根据权利要求31所述的计算机系统,其中,识别出的模式决策条件与所述PS模式相关联,并且包括超过了预先确定的门限的片上温度读数。
40.根据权利要求31所述的计算机系统,其中,第一识别出的模式决策条件与所述HPP模式相关联,第二识别出的模式决策条件与热管理策略相关联,并且其中,选择所述HPP模式或所述PS模式还包括:基于所述热管理策略来选择所述PS模式。
CN201380055032.5A 2012-10-23 2013-09-24 芯片上的异构的多处理器系统中的模态工作负载调度 Active CN104737094B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/658,229 US8996902B2 (en) 2012-10-23 2012-10-23 Modal workload scheduling in a heterogeneous multi-processor system on a chip
US13/658,229 2012-10-23
PCT/US2013/061334 WO2014065970A1 (en) 2012-10-23 2013-09-24 Modal workload scheduling in a hetergeneous multi-processor system on a chip

Publications (2)

Publication Number Publication Date
CN104737094A CN104737094A (zh) 2015-06-24
CN104737094B true CN104737094B (zh) 2017-04-05

Family

ID=49354901

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380055032.5A Active CN104737094B (zh) 2012-10-23 2013-09-24 芯片上的异构的多处理器系统中的模态工作负载调度

Country Status (8)

Country Link
US (1) US8996902B2 (zh)
EP (1) EP2912534A1 (zh)
CN (1) CN104737094B (zh)
AP (1) AP2015008392A0 (zh)
EC (1) ECSP15020377A (zh)
MA (1) MA38014B1 (zh)
SA (1) SA515360318B1 (zh)
WO (1) WO2014065970A1 (zh)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5665777B2 (ja) * 2012-01-20 2015-02-04 株式会社東芝 制御装置、システムおよびプログラム
DE102012222215A1 (de) * 2012-12-04 2014-06-05 Robert Bosch Gmbh Verfahren zum Betreiben einer echtzeitkritischen Anwendung auf einem Steuergerät
WO2014136405A1 (ja) * 2013-03-04 2014-09-12 Necカシオモバイルコミュニケーションズ株式会社 電子機器、電源供給制御方法、及びプログラム
US9170854B2 (en) * 2013-06-04 2015-10-27 Advanced Micro Devices, Inc. Thread assignment for power and performance efficiency using multiple power states
KR20140145748A (ko) * 2013-06-14 2014-12-24 한국전자통신연구원 다중 코어 환경에서 프로세스의 할당 방법 및 장치
US9304689B2 (en) * 2014-03-27 2016-04-05 International Business Machines Corporation Modeling workload information for a primary storage and a secondary storage
US9557797B2 (en) 2014-05-20 2017-01-31 Qualcomm Incorporated Algorithm for preferred core sequencing to maximize performance and reduce chip temperature and power
US10891255B2 (en) * 2015-03-18 2021-01-12 Intel Corporation Heterogeneous multiprocessor including scalar and SIMD processors in a ratio defined by execution time and consumed die area
US10234932B2 (en) * 2015-07-22 2019-03-19 Futurewei Technologies, Inc. Method and apparatus for a multiple-processor system
US10281975B2 (en) 2016-06-23 2019-05-07 Intel Corporation Processor having accelerated user responsiveness in constrained environment
EP3264268A1 (en) * 2016-06-29 2018-01-03 Intel Corporation Distributed processing qos algorithm for system performance optimization under thermal constraints
US10296074B2 (en) * 2016-08-12 2019-05-21 Qualcomm Incorporated Fine-grained power optimization for heterogeneous parallel constructs
KR102552954B1 (ko) * 2018-11-07 2023-07-06 삼성전자주식회사 컴퓨팅 시스템 및 컴퓨팅 시스템의 동작 방법
US11126232B2 (en) * 2018-11-28 2021-09-21 Intel Corporation Battery heat balancing during peak power mode
CN111459653B (zh) * 2019-01-22 2023-05-05 阿里巴巴集团控股有限公司 集群调度方法、装置和系统以及电子设备
US11494238B2 (en) * 2019-07-09 2022-11-08 Qualcomm Incorporated Run-time neural network re-allocation across heterogeneous processors
US11886315B2 (en) * 2020-12-10 2024-01-30 Amazon Technologies, Inc. Managing computing capacity in radio-based networks
CN115936080A (zh) * 2021-10-01 2023-04-07 三星电子株式会社 用于大规模计算的设备和方法
KR20240022908A (ko) * 2022-08-12 2024-02-20 삼성전자주식회사 컴퓨팅 시스템 제어 장치 및 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6631474B1 (en) * 1999-12-31 2003-10-07 Intel Corporation System to coordinate switching between first and second processors and to coordinate cache coherency between first and second processors during switching
EP1555595A3 (en) * 2004-01-13 2011-11-23 LG Electronics, Inc. Apparatus for controlling power of processor having a plurality of cores and control method of the same

Family Cites Families (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4071740A (en) 1976-05-26 1978-01-31 Paul Gogulski Mobile automated shopping system
US4471218A (en) 1982-05-19 1984-09-11 Msi Data Corporation Self-contained, portable data entry terminal
KR100188087B1 (ko) 1993-04-21 1999-06-01 김광호 휴대용 정보처리기기의 전원공급 제어장치 및 그의 구동방법
US5596735A (en) 1996-02-23 1997-01-21 Cyrix Corporation Circuit and method for addressing segment descriptor tables
WO2000013082A1 (en) 1998-09-02 2000-03-09 Diversified Dynamics, Inc. Direct vote recording system
US6327663B2 (en) 1998-10-21 2001-12-04 Advanced Micro Devices, Inc. System and method for processor dual voltage detection and over stress protection
US6681336B1 (en) 1999-06-18 2004-01-20 Kabushiki Kaisha Toshiba System and method for implementing a user specified processing speed in a computer system and for overriding the user specified processing speed during a startup and shutdown process
US6445580B1 (en) 2000-06-09 2002-09-03 International Business Machines Corporation Adaptable heat dissipation device for a personal computer
US7596709B2 (en) * 2000-12-30 2009-09-29 Intel Corporation CPU power management based on utilization with lowest performance mode at the mid-utilization range
JP3888070B2 (ja) 2001-02-23 2007-02-28 株式会社ルネサステクノロジ 消費電力制御インタフェースを有する論理回路モジュール及び該モジュールを記憶した記憶媒体
US6900798B2 (en) 2001-08-31 2005-05-31 Nokia Corporation Power-conservation feature for liquid crystal display
US6804632B2 (en) 2001-12-06 2004-10-12 Intel Corporation Distribution of processing activity across processing hardware based on power consumption considerations
US6889332B2 (en) 2001-12-11 2005-05-03 Advanced Micro Devices, Inc. Variable maximum die temperature based on performance state
US6714891B2 (en) 2001-12-14 2004-03-30 Intel Corporation Method and apparatus for thermal management of a power supply to a high performance processor in a computer system
US7032116B2 (en) 2001-12-21 2006-04-18 Intel Corporation Thermal management for computer systems running legacy or thermal management operating systems
US7210054B2 (en) 2002-06-25 2007-04-24 Intel Corporation Maintaining processor execution during frequency transitioning
US20050044429A1 (en) 2003-08-22 2005-02-24 Ip-First Llc Resource utilization mechanism for microprocessor power management
US7698583B2 (en) 2002-10-03 2010-04-13 Via Technologies, Inc. Microprocessor capable of dynamically reducing its power consumption in response to varying operating temperature
TW575803B (en) 2002-10-17 2004-02-11 Uniwill Comp Corp The method of managing portable computer power cord
TW200410255A (en) 2002-12-10 2004-06-16 Comax Semiconductor Inc A memory device with power-saving mode and an electrics device with the memory device
US7093147B2 (en) 2003-04-25 2006-08-15 Hewlett-Packard Development Company, L.P. Dynamically selecting processor cores for overall power efficiency
US7363208B2 (en) 2003-07-10 2008-04-22 Freescale Semiconductor, Inc. Power consumption estimation
US7249268B2 (en) 2004-06-29 2007-07-24 Intel Corporation Method for performing performance optimization operations for a processor having a plurality of processor cores in response to a stall condition
US7091693B2 (en) 2004-06-29 2006-08-15 M/A-Com, Inc. Battery with non-volatile memory for LMR portable radio applications
US20060085653A1 (en) 2004-10-08 2006-04-20 Apple Computer, Inc. Method and system for transferring data with respect to a portable electronic device
JP4764144B2 (ja) 2005-11-18 2011-08-31 株式会社東芝 情報処理装置およびプロセッサ制御方法
DE112005003788T5 (de) 2005-12-30 2008-09-25 Intel Corp., Santa Clara Dynamische Abschätzung der Lebensdauer einer Halbleitereinrichtung
US7263457B2 (en) 2006-01-03 2007-08-28 Advanced Micro Devices, Inc. System and method for operating components of an integrated circuit at independent frequencies and/or voltages
CN101390067B (zh) 2006-02-28 2012-12-05 英特尔公司 增强众核处理器的可靠性
US20070288738A1 (en) 2006-06-09 2007-12-13 Dale Jason N System and method for selecting a random processor to boot on a multiprocessor system
US8214660B2 (en) 2006-07-26 2012-07-03 International Business Machines Corporation Structure for an apparatus for monitoring and controlling heat generation in a multi-core processor
US20080263324A1 (en) 2006-08-10 2008-10-23 Sehat Sutardja Dynamic core switching
US20080126748A1 (en) 2006-09-01 2008-05-29 Capps Louis B Multiple-Core Processor
JP2008153415A (ja) 2006-12-18 2008-07-03 Renesas Technology Corp 半導体集積回路およびその製造方法
JP2008152594A (ja) 2006-12-19 2008-07-03 Hitachi Ltd マルチコアプロセッサ計算機の高信頼化方法
US8412981B2 (en) 2006-12-29 2013-04-02 Intel Corporation Core sparing on multi-core platforms
US7962774B2 (en) 2007-10-04 2011-06-14 Wisconsin Alumni Research Foundation Over-provisioned multicore processor
US8302098B2 (en) 2007-12-06 2012-10-30 Oracle America, Inc. Hardware utilization-aware thread management in multithreaded computer systems
US7962771B2 (en) 2007-12-31 2011-06-14 Intel Corporation Method, system, and apparatus for rerouting interrupts in a multi-core processor
US7941699B2 (en) 2008-03-24 2011-05-10 Intel Corporation Determining a set of processor cores to boot
US20090288092A1 (en) 2008-05-15 2009-11-19 Hiroaki Yamaoka Systems and Methods for Improving the Reliability of a Multi-Core Processor
US20110213998A1 (en) 2008-06-11 2011-09-01 John George Mathieson System and Method for Power Optimization
US20090309243A1 (en) 2008-06-11 2009-12-17 Nvidia Corporation Multi-core integrated circuits having asymmetric performance between cores
US20110213950A1 (en) 2008-06-11 2011-09-01 John George Mathieson System and Method for Power Optimization
EP2313830B1 (en) 2008-08-13 2013-10-02 Hewlett-Packard Development Company, L.P. Dynamic utilization of power-down modes in multi-core memory modules
US9043795B2 (en) 2008-12-11 2015-05-26 Qualcomm Incorporated Apparatus and methods for adaptive thread scheduling on asymmetric multiprocessor
US8495342B2 (en) 2008-12-16 2013-07-23 International Business Machines Corporation Configuring plural cores to perform an instruction having a multi-core characteristic
US8549363B2 (en) 2010-01-08 2013-10-01 International Business Machines Corporation Reliability and performance of a system-on-a-chip by predictive wear-out based activation of functional components
US20110265090A1 (en) 2010-04-22 2011-10-27 Moyer William C Multiple core data processor with usage monitoring
WO2012058786A1 (en) 2010-11-03 2012-05-10 Telefonaktiebolaget L M Ericsson (Publ) Conserving the power of a node in a wireless communication system
US8627128B2 (en) 2010-11-09 2014-01-07 International Business Machines Corporation Power management for processing capacity upgrade on demand
US8683243B2 (en) * 2011-03-11 2014-03-25 Intel Corporation Dynamic core selection for heterogeneous multi-core systems
US8954017B2 (en) 2011-08-17 2015-02-10 Broadcom Corporation Clock signal multiplication to reduce noise coupled onto a transmission communication signal of a communications device
US20130086395A1 (en) 2011-09-30 2013-04-04 Qualcomm Incorporated Multi-Core Microprocessor Reliability Optimization
US9239611B2 (en) * 2011-12-05 2016-01-19 Intel Corporation Method, apparatus, and system for energy efficiency and energy conservation including balancing power among multi-frequency domains of a processor based on efficiency rating scheme

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6631474B1 (en) * 1999-12-31 2003-10-07 Intel Corporation System to coordinate switching between first and second processors and to coordinate cache coherency between first and second processors during switching
EP1555595A3 (en) * 2004-01-13 2011-11-23 LG Electronics, Inc. Apparatus for controlling power of processor having a plurality of cores and control method of the same

Also Published As

Publication number Publication date
US8996902B2 (en) 2015-03-31
CN104737094A (zh) 2015-06-24
AP2015008392A0 (en) 2015-04-30
EP2912534A1 (en) 2015-09-02
WO2014065970A1 (en) 2014-05-01
MA38014A1 (fr) 2016-01-29
SA515360318B1 (ar) 2016-10-31
US20140115363A1 (en) 2014-04-24
ECSP15020377A (es) 2015-12-31
MA38014B1 (fr) 2016-09-30

Similar Documents

Publication Publication Date Title
CN104737094B (zh) 芯片上的异构的多处理器系统中的模态工作负载调度
CN104067199B (zh) 在异构多处理器片上系统中进行热驱动的工作负荷调度的方法和系统
CN106170743A (zh) 多处理器片上系统中的能效感知热管理
JP5922778B2 (ja) ヘテロジニアスマルチコアプロセッサにおける熱エネルギーの発生を管理するためのシステムおよび方法
CN106716365A (zh) 异构线程调度
CN105960620B (zh) 动态电压裕度恢复
CN103688230B (zh) 以主动负载转向预先取得热负载的方法和系统
CN103582857B (zh) 便携式计算设备中的热负载管理
CN108780349A (zh) 用于在具有异构集群架构的片上系统中进行智能热管理的系统和方法
US9552046B2 (en) Performance management methods for electronic devices with multiple central processing units
US8595525B2 (en) On-chip thermal management techniques using inter-processor time dependent power density data for indentification of thermal aggressors
CN110249287A (zh) 用于基于到用户的接近度对可穿戴计算设备进行热管理的系统和方法
CN107223298A (zh) 异构电池单元切换
US20180167878A1 (en) Core frequency/count decision-based thermal mitigation optimization for a multi-core integrated circuit
KR20130108658A (ko) 휴대용 컴퓨팅 디바이스에서 인터럽트 제어기들의 슬립 상태들을 관리하는 방법 및 시스템
CN107209736A (zh) 用于提供对易失性存储器维护事件的内核调度的系统和方法
US20150052410A1 (en) System on chip for debugging a cluster regardless of power state of the cluster, method of operating the same, and system having the same
CN107209737A (zh) 用于提供对易失性存储器维护事件的内核调度的系统和方法
US20220300421A1 (en) Memory Sharing
CN117407891A (zh) 权限管理方法、装置、存储介质及电子设备

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