CN108780349B - 用于在具有异构集群架构的片上系统中进行智能热管理的系统和方法 - Google Patents
用于在具有异构集群架构的片上系统中进行智能热管理的系统和方法 Download PDFInfo
- Publication number
- CN108780349B CN108780349B CN201780017457.5A CN201780017457A CN108780349B CN 108780349 B CN108780349 B CN 108780349B CN 201780017457 A CN201780017457 A CN 201780017457A CN 108780349 B CN108780349 B CN 108780349B
- Authority
- CN
- China
- Prior art keywords
- processing cores
- subset
- cluster
- determining
- large cluster
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 68
- 238000012545 processing Methods 0.000 claims abstract description 187
- 230000005012 migration Effects 0.000 claims abstract description 23
- 238000013508 migration Methods 0.000 claims abstract description 23
- 238000012544 monitoring process Methods 0.000 claims description 27
- 230000004044 response Effects 0.000 claims description 23
- 238000004590 computer program Methods 0.000 claims description 3
- 230000000116 mitigating effect Effects 0.000 abstract description 16
- 238000007726 management method Methods 0.000 description 47
- 238000010586 diagram Methods 0.000 description 11
- 230000003287 optical effect Effects 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 238000005259 measurement Methods 0.000 description 4
- 230000000295 complement effect Effects 0.000 description 3
- 238000001816 cooling Methods 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 238000009529 body temperature measurement Methods 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 229910044991 metal oxide Inorganic materials 0.000 description 2
- 150000004706 metal oxides Chemical class 0.000 description 2
- 229920001690 polydopamine Polymers 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 239000000872 buffer Substances 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003090 exacerbative effect Effects 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 230000003116 impacting effect Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000013515 script Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/16—Constructional details or arrangements
- G06F1/20—Cooling means
- G06F1/206—Cooling means comprising thermal management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3243—Power saving in microcontroller unit
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3287—Power saving characterised by the action undertaken by switching off individual functional units in the computer system
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy 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)
- Human Computer Interaction (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Power Sources (AREA)
- Stored Programmes (AREA)
- Control Of Temperature (AREA)
Abstract
公开了用于在便携式计算设备(“PCD”)中实现的智能热功率管理的方法和系统的各种实施例。为了减轻或缓解可能加剧在具有异构处理内核集群的处理组件中的热能产生事件的不需要的工作负荷迁移,解决方案的实施例在对小型集群应用任何热缓解措施之前,以预先确定的顺序对大型集群应用缓解措施。
Description
背景技术
便携式计算设备(“PCD”)正在成为在个人和专业层面上对于人们的必需品。这些设备可以包括蜂窝电话、便携式数字助理(“PDA”)、便携式游戏控制台、掌上型计算机和其它便携式电子设备。
PCD的一个独特方面是它们典型地不具有如风扇之类的主动冷却设备,主动冷却设备经常存在于诸如膝上型计算机和桌面型计算机之类的较大计算设备中。不使用风扇,PCD可以依靠电子封装的空间布置以使得两个或更多个活动的和产生热量的组件不会位于彼此很接近的位置。许多PCD还可以依靠诸如散热器之类的被动冷却设备,来管理在共同地形成各自PCD的电子组件之中的热能。
现实是,PCD典型地在大小上受到限制,以及因此,针对在PCD内的组件的空间通常变得非常宝贵。照此,在PCD内部很少有足够的空间供工程师和设计人员通过使用被动冷却组件的巧妙空间布置或策略性布局来缓解热降级或者处理组件的故障。因此,系统和方法可以依靠嵌入在PCD芯片上和在其它地方的各个温度传感器来监测热能的耗散,以及然后使用测量值来触发对调整工作负荷分配、处理速度等等的热功率管理技术的应用以减少热能产生。
在具有利用同构架构的处理器集群的PCD芯片上使用的热功率管理技术相对简单,因为可以使用单一温度门限来触发热管理技术对整个处理器集群的应用。但是,当PCD芯片具有利用异构架构的处理器集群时,可能更难以实现有效的热管理。例如,当对具有异构处理器集群的PCD芯片应用本领域已知的热管理技术时,可能导致工作负荷从一个集群到另一个集群的非预期迁移,这继而可能加剧最初触发对热技术的应用的那个热事件。
因此,本领域需要用于在具有异构处理器架构的PCD中对温度进行智能热管理的系统和方法。具体而言,本领域需要用于在不导致工作负荷在处理器集群之间的非预期迁移的情况下,在具有异构处理器架构的PCD中管理温度的系统和方法。
发明内容
公开了用于在便携式计算设备(“PCD”)中实现的智能热管理技术的方法和系统的各种实施例。用于进行智能热管理的方法的示例性实施例包括定义处理内核的大型集群和处理内核的小型集群,使得小型集群具有比大型集群的峰值性能容量要低的峰值性能容量。对由目标温度传感器产生的温度读数进行监测并将其与温度门限相比较。在某些实施例中,温度门限可以与PCD的表皮温度相关联。
如果该方法确定温度读数超过温度门限,则可以将大型集群处理内核的第一子集脱机,使得针对大型集群的峰值性能容量被减少到由保持联机的大型集群处理内核的第二子集所定义的峰值性能容量。随后,如果该方法确定温度读数低于温度门限(即,将大型集群处理内核的第一子集脱机工作,以充分地减少热能产生和耗散),那么可以将大型处理内核的第一子集恢复联机。
如果在将大型集群处理内核的第一子集脱机之后,该方法确定温度读数仍然超过温度门限,那么可以节流大型集群处理内核的第二子集的性能。随后,如果该方法确定温度读数低于温度门限(即,节流的大型集群处理内核的第二子集工作以充分地减少热能产生和耗散),那么可以停止节流大型处理内核的第二子集(以及如果在停止节流第二子集之后,温度仍然保持低于门限,则使大型集群处理内核的第一子集恢复联机)。
如果该方法确定在将大型集群处理内核的第二子集节流到最低性能底限之后,温度读数仍然超过温度门限,则该方法可以将大型集群处理内核的第二子集脱机。随后,如果该方法确定温度读数低于温度门限(即,将大型集群处理内核的第二子集脱机工作,以充分地减少热能产生和耗散),那么可以将大型处理内核的第二子集恢复联机(以及如果需要的话,则进行节流)。
如果在将大型集群处理内核的第二子集脱机之后,该方法确定温度读数仍然超过温度门限,那么可以节流小型集群处理内核的性能。随后,如果该方法确定温度读数低于温度门限(即,节流的小型集群处理内核工作以充分地减少热能产生和耗散),则可以停止节流小型处理内核(以及如果温度保持低于门限,则将大型集群处理内核的第二子集恢复联机并且节流)。
附图说明
在附图中,除非另外指出,否则遍及各个视图的相同附图标记指代相同的部件。对于具有诸如“102A”或“102B”之类的字母字符名称的附图标记,字母字符名称可以区分在同一附图中出现的两个类似部件或者元素。当预期附图标记涵盖在所有附图之中具有相同附图标记的所有组件时,可以省略用于附图标记的字母字符名称。
图1是示出用于在具有异构处理器集群架构的便携式计算设备(“PCD”)中实现温度的智能热管理的片上系统的实施例的功能方块图;
图2是以无线电话的形式示出实现用于在具有异构处理器集群架构的片上系统(“SoC”)中进行智能热管理的方法和系统的图1的PCD的示例性、非限制性方面的功能方块图;
图3是示出用于智能热管理的图2的PCD的示例性软件架构的示意图;
图4描绘了示出用于在具有异构处理器集群架构的片上系统(“SoC”)中进行智能热管理的方法的逻辑流程图;
图5是示出针对经历现有技术的热缓解技术的具有集群架构的同构处理器的功率消耗与性能之间的示例性关系的曲线图;以及
图6是示出针对经历用于智能热管理的解决方案的实施例的异构处理器集群架构的功率消耗与性能之间的示例性关系的曲线图。
具体实施方式
本文使用“示例性的”一词意味着“用作示例、实例或说明”。本文中描述为“示例性”的任何方面不一定要被解释为是排他性的、比其它方面更优选或更具优势。
在本说明书中,术语“应用”还可以包括具有可执行内容的文件,诸如:目标代码、脚本、字节代码、标记语言文件和补丁。此外,本文所提及的“应用”还可以包括在本质上不可执行的文件,例如,需要被打开的文档或者需要进行存取的其它数据文件。
如本说明书中所使用的,术语“组件”、“数据库”、“模块”、“系统”、“热能量产生组件”、“处理组件”、“热干扰源”等等旨在指代与计算机相关的实体,无论其是硬件、固件、硬件和软件的组合、软件或执行中的软件。例如,组件可以是,但不限于是在处理器上运行的过程、处理器、对象、可执行文件、执行线程、程序和/或计算机。举例而言,在计算设备上运行的应用和该计算设备都可以是组件。一个或多个组件可以存在于进程和/或执行线程中,以及组件可以位于一个计算机中和/或分布在两个或更多个计算机之间。此外,这些组件可以从具有其上存储的各种数据结构的各种计算机可读介质来执行。组件可以诸如根据具有一个或多个数据分组的信号(例如,来自与在本地系统、分布式系统中的另一个组件进行交互和/或以信号的方式跨越诸如互联网之类的网络与其它系统进行交互的一个组件的数据)通过本地和/或远程过程的方式进行通信。
在本说明书中,术语“中央处理单元(“CPU”)”、“数字信号处理器(“DSP”)”、“图形处理单元(“GPU”)”和“芯片”可互换地使用。此外,CPU、DSP、GPU或芯片可以包括本文通常称为“内核”的一个或多个有区别的处理组件。另外,就CPU、DSP、GPU、芯片或内核是在PCD内消耗各种电平的功率以在各种功能效率水平下操作的功能组件而言,本领域普通技术人员将认识到,这些术语的使用不将所公开的实施例或者其等效物的应用限制于在PCD内的处理组件的上下文。
在本说明书中,除非另外说明,否则对CPU等等的引用是指具有异构架构的多个处理集群的处理器。出于说明的目的,在具有处理内核的“大型集群”和“小型集群”的CPU的上下文中描述解决方案的示例性实施例。即使如此,设想的是,解决方案的实施例可以应用于具有包括多于两个不同集群的异构处理器架构的片上系统内,照此,解决方案的保护范围不仅限于只包括大型集群和小型集群的异构处理器架构。
在本说明书中,术语“每周期指令”或“IPC”是指可以由给定处理器集群针对单个时钟周期执行的平均数量的指令。照此,针对给定处理器集群的IPC取决于集群的架构。通常,“大型”集群将具有超过“小型”集群的IPC评级的IPC评级。进一步地,在本文中使用术语“CPU容量”来表示针对给定的处理器集群相对于该集群的IPC和最大允许的功率频率的可能的峰值性能。此外,可以鉴于与在给定集群中性能最差的内核相关联的IPC,来定义针对给定集群的CPU容量。
在本说明书中,将理解的是,术语“热”和“热能”可以与能够产生或耗散能量的设备或组件相关联地使用,其中能量可以是以“温度”为单位进行测量的。因此,将进一步理解的是,参照一些标准值,术语“温度”预想可以表明“热能”产生装置或组件(即,“热干扰源”)的相对温暖的或者缺乏热量的任何测量值。例如,当两个组件处于“热”平衡时,两个组件的“温度”相同。
在本说明书中,术语“工作负荷”、“处理负荷”、“处理工作负荷”、“用例工作负荷”等等可互换地使用,并通常针对与在给定的实施例中的给定处理组件或处理组件的集群相关联的处理负担或者处理负担的百分比。进一步地,本文使用“工作负荷迁移”来指代针对当第二处理组件的操作参数更有利于处理工作负荷时,将工作负荷从第一处理组件转移到第二处理组件的趋势。
在本说明书中,术语“热缓解技术”、“热策略”、“热功率管理”、“热缓解措施”、“节流”等等可互换地使用。值得注意的是,本领域普通技术人员将认识到,取决于特定的使用上下文,在此段落中列出的术语中的任何术语可以用于描述可操作来以热能产生为代价来提高性能、以性能为代价来减少热能产生、或者在这样的目标之间交替变化的硬件和/或软件。解决方案的实施例可以包括在具有异构处理器集群架构的SoC内可应用,并且可用于防止工作负荷从一个处理器集群向另一个处理器集群不需要的迁移的特定热缓解技术或方法。
在本说明书中,术语“性能底限”指代动态电压和频率缩放(“DVFS”)模块可以将给定处理器和/或处理器集群节流到的最低可允许的性能水平或处理速度。解决方案的实施例可以根据各种参数来动态地调整性能底限,并防止工作负荷从一个处理器集群向另一个处理器集群不需要的迁移。
在本说明书中,使用术语“便携式计算设备(“PCD”)”来描述借助诸如电池的有限容量电源供应来操作的任何设备。虽然电池供电的PCD已经使用了数十年,但随着第三代(“3G”)和第四代(“4G”)无线技术的出现所带来的在可再充电电池上的技术进步,已经使众多的PCD能够具有多种能力。因此,除了别的之外,PCD可以是蜂窝电话、卫星电话、寻呼机、PDA、智能电话、导航设备、智能本或阅读器、媒体播放器、上述设备的组合、具有无线连接的膝上型计算机。
通过监测与PCD的外壳温度(即,“表皮”温度)相关的一个或多个传感器测量值,可以在不会不必要地影响服务质量(“QoS”)的情况下,实现在具有异构处理器集群架构的PCD中对热能产生的管理。通过紧密地监测表皮温度,在PCD中的智能热管理解决方案可以系统地调整在异构集群中的活动处理组件的性能设置,试图要优化用户体验同时管理热能产生。有利的是,通过智能地调整针对与不同和异构处理器集群相关联的热干扰性处理组件的性能设置,智能热管理系统和方法可以在不导致超过临界温度测量(诸如,PCD外壳温度)的情况下优化QoS。
值得注意的是,虽然本文在管理PCD的“表皮温度”或“外壳温度”的上下文中描述智能热管理方法的示例性实施例,但是根据该解决方案的智能热管理方法的应用并不限于表皮温度应用。设想的是,例如,智能热管理方法的实施例可以扩展到在片上系统(“SoC”)内的任何温度/温度传感器,诸如但不限于内核接合点温度。
解决方案的实施例智能地节流不同的处理器集群,以避免从较小集群向较大集群的非预期工作负荷迁移。解决方案的某些实施例通过保持提供给较小集群的功率频率高于提供给较大集群的功率频率,来避免从较小处理器集群到较大处理器集群的非预期工作负荷迁移。根据以下的附图、说明书和权利要求,智能热管理解决方案的实施例的其它方面和优点将是显而易见的。
图1是示出用于在具有异构处理器集群架构110的便携式计算设备(“PCD”)100中实现对温度的智能热管理的片上系统102的实施例的功能方块图。有利的是,通过鉴于应用于大型处理器集群的热缓解步骤来节流小型处理器集群,智能热管理系统和方法的实施例可以解决影响PCD 100的表皮温度的过多热能产生,而不会过度影响整体用户体验(“Ux”)或者通过非预期的工作负荷迁移而加剧热事件。
通常,该系统采用三个主要模块,在一些实施例中,其可以被包含在一个或两个模块中:(1)动态频率和电压缩放(“DVFS”)模块26,其用于节流在包括不同的活动CPU容量的多个处理器集群的异构CPU 110中的处理组件的性能水平;(2)监测模块114,其用于监测来自目标温度传感器的温度读数和性能设置;(3)热管理(“TM”)模块101,其用于确定热缓解措施,以及与DVFS模块26一起工作以根据解决方案来节流热干扰处理组件。有利的是,包括三个主要模块的系统和方法的实施例优化整体的Ux而无论用例工作负荷如何,同时将表皮温度保持在可接受的门限以下。
在图1的示例性实施例中,监测模块114监测与热干扰处理组件CPU 110相关联的各种性能水平和设置。如图1示图中所描绘的,CPU 110是异构处理组件,其包括被组织成小型集群(222A、224A、226A、228A)和大型集群(222B、224B、226B、228B)的多个内核222、224、226、228。内核222、224、226、228中的任何一个或多个内核可以产生过量的热能,当这些热能耗散时,影响PCD外壳24的外表面温度(即,表皮温度)。此外,监测模块114监测与外壳24相关联的温度传感器157C。监测模块114可以将指示CPU 110的活动性能水平设置和/或由传感器157C测量的表皮温度的数据中继给TM模块101和/或DVFS模块26。
注意的是,在由传感器157C测量的外壳24温度上的变化(或者以其它方式从CPU110的功率消耗来计算)可以由监测模块114识别,并中继到TM模块101。TM模块101可以继而调整在CPU 110中的各个集群的操作参数,以确保如由传感器157C测量的PCD外壳温度24(即,表皮温度)保持在给定门限以下。
从由监测模块114所提供的数据,TM模块101可以识别出已经或可能超过了热温度门限,以及确定应当调整与活动的热干扰处理组件(例如,图1示图中的CPU 110)相关联的操作参数,以便缓解进行中的热能产生,同时避免从小型处理器集群向大型处理器集群的工作负荷迁移。鉴于先前采取的热缓解措施,TM模块101可以命令DVFS模块26确定对在CPU110的单独集群中的内核的性能水平设置的适当调整。类似地,如果TM模块101确定存在提高CPU 110的性能水平的可用余量,即可以通过在不会导致超过表皮温度门限或表皮温度继续上升的功率消耗上进行增加来改善用户体验,则TM模块101可以与DVFS模块26一起工作来确定对各个集群的操作参数的适当调整。
注意的是,虽然在图1中所示出的示例性实施例提供了异构的多集群CPU 110作为可以根据智能热管理解决方案的实施例来节流的热干扰源,但将理解的是,解决方案的实施例可以适用于需要进行节流以影响如由温度传感器测量的温度读数的任何热干扰异构处理组件。照此,虽然示例性实施例示出了鉴于PCD 110的外壳温度来节流的CPU 110,但设想的是,解决方案的实施例适用于传感器和异构的多集群处理组件的其它组合。因此,本公开内容的保护范围并不限于本文所描述的特定应用。
图2是以无线电话的形式示出用于实现用于在具有异构处理器集群架构110的片上系统(“SoC”)中进行智能热管理的方法和系统的、图1的PCD 100的示例性非限制性方面的功能方块图。如图所示,PCD 100包括片上系统102,所述片上系统102包括耦合在一起的多内核、多集群中央处理单元(“CPU”)110和模拟信号处理器126。如本领域普通技术人员理解的,CPU 110可以包括第零内核222、第一内核224和第N内核230。可以将CPU 110的内核关联到具有不同容量的集群,诸如小型集群和大型集群。此外,代替CPU 110,还可以采用数字信号处理器(“DSP”),如本领域普通技术人员理解的。
通常,监测模块114、DVFS模块26和TM模块101可以共同负责监测温度传感器读数,确定热缓解措施顺序,以及调整处理组件集群性能水平,使得对热能产生进行管理并优化用户体验。监测模块114可以与遍及片上系统102分布的多个操作传感器(例如,热传感器157A、157B)以及与PCD 100的CPU 110以及与DVFS模块26和TM模块101进行通信。在一些实施例中,监测模块114可以针对与PCD 100的触摸温度相关联的温度读数来监测表皮温度传感器157C。在其它实施例中,监测模块114可以基于功率消耗测量值来推断触摸温度。TM模块101可以与监测模块114一起工作以识别已经被超过的温度门限和/或功率预算,确定应用于不同的处理组件集群的热缓解措施,以及命令DVFS模块26进行与在芯片102上的集群内的功率消耗组件相关联的性能设置调整,试图要在不通过非预期工作负荷迁移来不必要地影响用户体验的情况下将触摸温度维持在门限以下。
如在图2中所示,显示控制器128和触摸屏控制器130耦合到数字信号处理器110。在片上系统102之外的触摸屏显示器132耦合到显示控制器128和触摸屏控制器130。PCD100可以进一步包括视频编码器134,例如,逐行倒相(“PAL”)编码器、顺序与存储彩色电视(“SECAM”)编码器、国家电视系统委员会(“NTSC”)编码器或者任何其它类型的视频编码器134。视频编码器134耦合到多核中央处理单元(“CPU”)110。视频放大器136耦合到视频编码器134和触摸屏显示器132。视频端口138耦合到视频放大器136。如在图2中所描绘的,通用串行总线(“USB”)控制器140耦合到CPU 110。此外,USB端口142耦合到USB控制器140。存储器112和用户身份模块(SIM)卡146也可以耦合到CPU 110。此外,如在图2中所示,数码照相机148可以耦合到CPU 110。在示例性方面中,数码照相机148是电荷耦合器件(“CCD”)照相机或者互补金属氧化半导体(“CMOS”)照相机。
如在图2中进一步示出的,立体声音频CODEC 150可以耦合到模拟信号处理器126。此外,音频放大器152可以耦合到立体声音频CODEC 150。在示例性方面中,第一立体声扬声器154和第二立体声扬声器156耦合到音频放大器152。图2示出麦克风放大器158还可以耦合到立体声音频CODEC 150。另外,麦克风160可以耦合到麦克风放大器158。在特定的方面中,频率调制(“FM”)无线调谐器162可以耦合到立体声音频CODEC 150。此外,FM天线164耦合到FM无线电调谐器162。进一步地,立体声耳机166可以耦合到立体声音频CODEC 150。
图2进一步指示射频(“RF”)收发机168可以耦合到模拟信号处理器126。RF开关170可以耦合到RF收发机168和RF天线172。如在图2中所示,键盘174可以耦合到模拟信号处理器126。此外,具有麦克风的单声道耳机176可以耦合到模拟信号处理器126。进一步地,振动器设备178可以耦合到模拟信号处理器126。图2还示出电源供应188(例如,电池)通过功率管理集成电路(“PMIC”)180耦合到片上系统102。在特定的方面中,电源供应包括可充电DC电池或者从连接到交流电(“AC”)电源的AC至DC变压器导出的DC电源供应。
CPU 110还可以耦合到一个或多个内部的、片上的热传感器157A,以及一个或多个外部的、片外的热传感器157C。片上热传感器157A可以包括基于垂直PNP结构并通常专用于互补金属氧化物半导体(“CMOS”)超大规模集成(“VLSI”)电路的、一个或多个与绝对温度成比例(“PTAT”)的温度传感器。片外热传感器157C可以包括一个或多个热敏电阻。热传感器157C可以产生电压下降,利用模数转换器(“ADC”)控制器103将该电压下降转换成数字信号。但是,也可以在不背离本发明的保护范围的情况下采用其它类型的热传感器157A、157B、157C。
TM模块101可以包括由CPU 110来执行的软件。但是,在不背离本发明的保护范围的情况下,TM模块101还可以是由硬件和/或固件来形成的。TM模块101可以负责与监测模块114和DVFS模块26一起工作,以基于温度读数和先前的调整来动态地设置和调整处理器集群的性能参数。
触摸屏显示器132、视频端口138、USB端口142、照相机148、第一立体声扬声器154、第二立体声扬声器156、麦克风160、FM天线164、立体声耳机166、RF开关170、RF天线172、键盘174、单声道耳机176、振动器178、电源供应188、PMIC 180和热传感器157C是在片上系统102之外的。但是,应当理解的是,监测模块114还可以通过模拟信号处理器126和CPU 110从这些外部设备中的一个或多个外部设备接收一个或多个指示或信号,以帮助实时管理在PCD 100上可操作的资源。
在特定的方面中,本文所描述的方法步骤中的一个或多个方法步骤可以由在存储器112中存储的、形成一个或多个DVFS模块26、监测模块114和/或TM模块101的可执行指令和参数来实现。形成模块101、26、114的这些指令可以由CPU 110、模拟信号处理器126或者另一个处理器还有ADC控制器103来执行,以执行本文所描述的方法。此外,处理器110、126、存储器112、在其中存储的指令或者其组合可以充当用于执行本文所描述的方法步骤中的一个或多个方法步骤的单元。
图3是示出用于智能热管理的图2的PCD 100的示例性软件架构的示意图。任意数量的算法可以形成当满足某些热条件时可以由DVFS模块26、监测模块114和/或TM模块101应用的至少一个智能热功率管理策略,或者是所述至少一个智能热功率管理策略的一部分,但是,在优选的实施例中,DVFS模块26、监测模块114和/或TM模块101一起工作来调整在异构集群中组织的活动处理组件的性能水平设置。鉴于表皮温度测量值和先前对互补集群的调整来调整性能水平设置。
如在图3中所示,CPU或数字信号处理器110是经由总线211耦合到存储器112的。如上所述,CPU 110是具有N个内核处理器的多内核处理器。也就是说,CPU 110包括第一内核222、第二内核224和第N内核230。如本领域普通技术人员所知道的,第一内核222、第二内核224和第N内核230中的每个内核都可用于支持专用的应用或程序。或者,一个或多个应用或程序可以跨越可用内核中的两个或更多个内核来分布用于处理。
CPU 110可以从可以包括软件和/或硬件的DVFS模块26和/或TM模块101接收命令。如果被体现为软件,则模块26、模块101包括由CPU 110执行的指令,该CPU 110向由CPU 110和其它处理器执行的其它应用程序发出命令。
可以将CPU 110的第一内核222、第二内核224至第N内核230整合在单个集成电路管芯上,或者可以将它们整合在或耦合在多电路封装中的分开的管芯上。设计人员可以经由一个或多个共享高速缓存来耦合第一内核222、第二内核224至第N内核230,并且设计人员可以经由诸如总线、环状、网状和交叉拓扑之类的网络拓扑来实现消息或指令传送。
总线211可以包括经由一个或多个有线或无线连接的多个通信路径,如本领域所已知的。总线211可以具有诸如控制器、缓冲器(高速缓存)、驱动器、转发器和接收机的另外的元件以实现通信,但为了简单省略了这些元件。进一步地,总线211可以包括地址、控制和/或数据连接以实现在前述的组件之间的适当的通信。
当PCD 100使用的逻辑在软件中来实现时,如在图3中所示,则应当注意,启动逻辑250、管理逻辑260、异构集群热管理接口逻辑270、应用存储280中的应用以及文件系统290的部分中的一项或多项可以存储在任何计算机可读介质(或设备)上,以用于由任何与计算机相关的系统或方法来使用,或者结合任何与计算机相关的系统或方法来使用。
在本文档的上下文中,计算机可读介质是能够包含或存储计算机程序和数据以用于由与计算机相关系统或方法来使用或者结合与计算机相关系统或方法来使用的电子的、磁性的、光学的或其它物理器件或单元。各种逻辑元素和数据存储可以在任何计算机可读介质中体现,以用于由指令执行系统、装置或设备来使用,或者结合指令执行系统、装置或设备来使用,该指令执行系统、装置或设备诸如基于计算机的系统、包含处理器的系统、或者是可以从该指令执行系统、装置或设备取来指令并执行这些指令的其它系统。在本文档的上下文中,“计算机可读介质”可以是能够存储、传送、传播或者传输程序以用于由指令执行系统、装置或设备来使用或者结合指令执行系统、装置或设备来使用的任何单元。
计算机可读介质可以是例如但不限于电子、磁性、光学、电磁、红外或半导体系统、装置、设备或传播介质。计算机可读介质的更具体示例(非详尽列表)会包括下面的各项:具有一个或多个电线的电连接(电子)、便携式计算机磁盘(磁性)、随机存取存储器(RAM)(电子)、只读存储器(ROM)(电子)、可擦除可编程只读存储器(EPROM、EEPROM或闪存)(电子)、光纤(光学)和便携式压缩光盘只读存储器(CDROM)(光学)。注意的是,计算机可读介质可以甚至是纸或者在其上打印程序的另外的适当介质,这是由于如果必要的话可以例如经由对纸或其它介质的光扫描来电子地捕获该程序,随后以适当的方式进行编译、解译或者以其它方式处理,并随后存储在计算机存储器中。
在替代的实施例中,其中在硬件中实现启动逻辑250、管理逻辑260以及可能的热管理接口逻辑270中的一项或多项,可以利用下列技术中的任何技术或者组合来实现各种逻辑,这些技术均是本领域公知的:具有用于在数据信号上实现逻辑功能的逻辑门的分立逻辑电路、具有适当组合逻辑门的专用集成电路(ASIC)、可编程门阵列(PGA)、现场可编程门阵列(FPGA)等等。
存储器112是诸如闪存或固态存储设备之类的非易失性数据存储设备。虽然被描绘成单一设备,但存储器112可以是具有耦合到数字信号处理器110(或者另外的处理器内核)的分开的数据存储的分布式存储器设备。
启动逻辑250包括用于选择性地识别、装载和执行用于管理或控制可用内核(诸如,第一内核222、第二内核224到第N内核230)中的一个或多个内核的性能的选择程序的一个或多个可执行指令。启动逻辑250可以识别、装载和执行选择程序,以用于对异构处理器集群的智能热管理。示例性选择程序可以存在于嵌入式文件系统290的程序存储296中,以及是通过智能热管理算法297与参数298的集合的特定组合来定义的。当该示例性选择程序由在CPU 110中的内核处理器中的一个或多个内核处理器执行时,其可以根据由监测模块114所提供的一个或多个信号与由一个或多个DVFS模块26和/或TM模块101所提供的控制信号的结合进行操作,以调整与特定活动组件“向上”或“向下”或使脱机(例如,通过功率塌陷)相关联的性能设置。
管理逻辑260包括用于终止智能热管理程序,以及选择性地识别、装载和执行更适当的替换程序的一个或多个可执行指令。管理逻辑260被安排为,在运行时执行这些功能,或者当PCD 100加电并由设备的操作者使用时执行这些功能。替换程序可以存在于嵌入式文件系统290的程序存储296中,以及在一些实施例中可以是通过智能热管理算法297与参数298的集合的特定组合来定义的。
当该替换程序由数字信号处理器中的内核处理器中的一个或多个内核处理器执行时,其可以根据由监测模块114所提供的一个或多个信号或者在各个处理器内核的各自的控制输入上提供的一个或多个信号来操作,以调整用于在异构集群中安排的处理组件的一个或多个性能参数的设置。
接口逻辑270包括用于呈现、管理以及与外部输入进行交互以观测、配置或以其它方式更新在嵌入式文件系统290中存储的信息的一个或多个可执行指令。在一个实施例中,接口逻辑270可以结合经由USB端口142接收的制造商输入来操作。这些输入可以包括要从程序存储296中删除或者增加到程序存储296中的一个或多个程序。或者,输入可以包括对在程序存储296中的程序中的一个或多个程序进行的编辑或改变。此外,输入可以识别对启动逻辑250和管理逻辑260中的一者或二者进行的一个或多个改变或者完全替换。举例而言,输入可以包括对与节流在给定的集群中的特定热干扰组件相关联的参数的改变。
接口逻辑270使制造商能够在PCD 100上的定义的操作状况之下,可控地配置和调整终端用户的体验。当存储器112是闪存时,启动逻辑250、管理逻辑260、接口逻辑270、在应用存储280中的应用程序或者在嵌入式文件系统290中的信息中的一项或多项可以被编辑、替换或者以其它方式修改。在一些实施例中,接口逻辑270可以准许PCD 100的终端用户或者操作者来搜索、定位、修改或者替换启动逻辑250、管理逻辑260、在应用存储280中的应用和在嵌入式文件系统290中的信息。操作者可以使用所产生的接口来做出改变,所述改变将是在PCD 100的下一次启动时实现的。或者,操作者可以使用所产生的接口来做出在运行时期间实现的改变。
嵌入式文件系统290包括分层地布置的热技术存储292。在该方面,文件系统290可以包括其总的文件系统容量的保留部分,以便存储用于配置和管理由PCD 100使用的各个参数298和算法297的信息。如图3中所示,存储292包括组件存储294,所述组件存储294包括程序存储296,程序存储296包括一个或多个智能热管理程序。
图4描绘了用于在具有异构处理器集群架构的片上系统(“SoC”)中的智能热管理的方法400的逻辑流程图。开始于方块405,在CPU 110中的处理内核可以被组织以及定义成一对异构集群—大型集群和小型集群。在方块410处,监测由诸如放置以用于测量PCD 100的表皮温度的PCB热敏电阻的目标传感器产生的温度读数,以便检测对目标温度门限的任何违背。在决策方块415处,如果所测量的温度没有超过目标温度,则沿着“否”分支返回到方块410,以及继续监测目标传感器测量值。但是,如果在决策方块415处确定所测量的温度读数超过目标温度(诸如表皮温度门限),则沿着“是”分支至方块420。
在方块420处,为了缓解过量的热能的产生而不导致从小型集群向大型集群的非预期工作负荷迁移,方法400可以诸如通过使内核的子集功率塌陷,将与大型集群相关联的处理内核的子集脱机。有利的是,通过在不节流小型集群的情况下将在大型集群中的内核的子集脱机,方法400有效地减少了大型集群的CPU容量,以便避免针对当前在小型集群上执行的工作负荷的迁移的任何趋势。随后,在方块425处,目标传感器可以被监测达一段时间,以确定在方块420处采取的动作是否有助于充分地减少热能产生。如果在决策方块430处,所测量的温度低于目标门限,则沿着“否”分支至方块435,以及在方法400返回到410之前,可以将先前在方块420处脱机的内核的子集恢复联机。但是,如果在决策方块430处,所测量的温度已经爬升或保持在目标门限之上,则沿着“是”分支至方块440。
在方块440处,方法400可以针对在大型集群中仍然联机的内核的子集设置性能水平底限,并随后进行一次一个频段设置地节流联机内核的性能,直到达到性能水平底限为止。值得注意的是,可以鉴于小型集群中的内核的最大性能水平,来设置针对大型集群的性能水平底限;即,可以设置针对在大型集群中的联机内核的子集的性能水平底限,使得大型集群的CPU容量保持比小型集群的CPU容量要大,从而防止工作负荷从小型集群向大型集群的任何迁移。
在方块440处进行的操作参数调整之后,在方块445处,目标传感器可以被监测达一段时间,以确定在方块440处采取的动作是否有助于充分地减少热能产生。在决策方块455处,如果所测量的温度低于目标门限,则沿着“否”分支至方块460,以及在方法400返回到425之前,可以允许先前在方块440处向下节流的内核的子集以最大性能水平(即,未节流)运行。但是,在决策方块455处,如果所测量的温度已经爬升或保持在目标门限之上,则沿着“是”分支至决策方块465。在决策方块465处,如果在大型集群中的联机内核的当前性能水平高于先前在方块440处设置的性能水平底限,则沿着“否”分支至方块450,以及在方法400继续回到决策方块455之前,对联机内核进行进一步节流。但是,在决策方块465处,如果确定在大型集群中的联机内核不能在不到性能水平底限以下的情况下被进一步节流,则沿着“是”分支至方块470。
在方块470处,可以将大型集群中的联机内核脱机。随后,在方块475处,目标传感器可以被监测达一段时间,以确定在方块470处采取的动作是否有助于充分地减少热能产生。在决策方块480处,如果所测量的温度低于目标温度,则沿着“否”分支至方块485,以及在方法返回到440之前,可以将先前在方块470处脱机的大型集群中的内核的子集恢复联机。但是,在决策方块480处,如果确定所测量的温度保持在目标温度之上,则沿着“是”分支至方块490。在方块490处,方法400继续向上和向下动态地节流小型集群内核,直到热事件清除为止,并且在方块485处,将在方块470处使脱机的大型集群中的内核的子集恢复联机。
图5是示出针对经历现有技术的热缓解技术的具有集群架构的同构处理器的功率消耗与性能之间的示例性关系的曲线图500。如在曲线图500中所见的,同构集群的性能(即,频率)被线性地节流。也就是说,对于高于门限(通过在x轴上的“0”来表示的门限)的每个温度样本,内核的性能是通过步进或频段设置来降低的,如本领域普通技术人员将理解的。只要所测量的温度保持在门限以上,该技术就继续线性地向下缩放内核的性能,直到在所有集群中的所有内核达到在点505处的最小允许的性能为止。值得注意的是,虽然针对同构集群的频率已经被向下节流到性能曲线上的点505处的最小值,但在功率曲线上的点510和超过其的点指示了尽管处于最小频率,但是由于与保持每个内核联机相关联的固有功率开销导致内核的功率消耗保持相对高。
图6是示出针对经历用于智能热管理的解决方案的实施例的异构处理器集群架构的功率消耗与性能之间的示例性关系的曲线图600。不同于只对频率进行节流的由图5曲线图500所示出的现有技术方法,根据解决方案的实施例的智能热管理技术将内核组织成异构集群,以及鉴于功率和性能(即,频率)两者来应用热缓解措施。
查看曲线图600,示出了针对经历解决方案的实施例的异构集群CPU的示例性功率和性能曲线。当超过温度门限(通过在x轴上的“0”来表示的门限)时,由解决方案的实施例进行的第一响应可以是将在“大型”集群中的内核的子集脱机,以降低在CPU中的总功率消耗,如通过点605所指示的。如果温度保持在门限以上,使得批准采取另外的热缓解措施,则示例性实施例可以开始动态地节流在大型集群中的保持联机的内核的性能,如通过点610所指示的。该示例性实施例可以继续节流大型集群中的剩余联机内核,直到达到针对大型集群的性能底限为止,如通过点615所指示的。由该示例性实施例采取的下一个缓解措施可以是移除或者将大型集群中剩余的活动内核脱机,如通过在功率曲线上的点620所指示的。
值得注意的是,因为由该示例性实施例到此刻为止所采取的每个缓解措施都已经应用于大型集群,所以已经允许内核的小型集群继续以最高性能水平来运行。由于该原因,避免了工作负荷从小型集群向大型集群的迁移,这是因为大型集群对另外的工作负荷分配的吸引力越来越小。仅在大型集群已经完全脱机之后,该示例性方法才将节流措施应用于小型集群,如通过在性能曲线上的点625所指示的。有利的是,当与通过曲线图500所指示的现有技术方法相比时,通过曲线图600所示出的智能热管理方法的示例性实施例工作以在不过度牺牲性能而损害QoS的情况下使功率消耗最小化。
在本说明书中所描述的在过程或者过程流程中的某些步骤自然地在其它步骤之前以用于本发明如所描述地运行。但是,本发明并不限于所描述的步骤的顺序,如果这样的顺序或者序列不改变本发明的功能的话。也就是说,认识到的是,在不背离本发明的保护范围或者精神的情况下,一些步骤可以在其它步骤之前执行、之后执行或者与其它步骤并行地执行(实质上同时地执行)。在一些实例中,在不背离本发明的情况下,可以省略或者不执行某些步骤。进一步地,诸如“其后”、“然后”、“下一个”等等的词语并不旨在限制步骤的顺序。这些词语仅仅是用于引导读者通读对该示例性方法的描述。
另外,编程领域的普通技术人员能够例如基于在本说明书中的流程图和相关联的描述,来没有困难地写计算机代码或者辨认出合适的硬件和/或电路来实现所公开的发明。因此,对特定程序代码指令集或者详细的硬件设备的公开,对于充分理解如何实现和使用本发明不被认为是必要的。在上文说明书中并结合可以示出各种过程流程的图示,更详细地解释了要求保护的计算机实现的过程的发明性功能。
在一个或多个示例性方面中,描述的功能可以在硬件、软件、固件或其任何组合中实现。如果在软件中实现,则功能可以存储于计算机可读介质上,或在计算机可读介质上作为一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质二者,通信介质包括促进计算机程序从一个地方转移到另一个地方的任何介质。存储介质可以是可以由计算机存取的任何可用介质。通过举例而非限制的方式,这样的计算机可读介质可以包括RAM、ROM、EEPROM、CD-ROM或者其它光盘存储、磁盘存储或其它磁存储设备,或者可以用于携带或存储具有指令或数据结构形式的并且可以由计算机存取的期望的程序代码的任何其它介质。
此外,可以将任何连接恰当地称作计算机可读介质。举例而言,如果软件是使用同轴电缆、光纤光缆、双绞线、数字用户线(“DSL”)或者诸如红外线、无线电和微波之类的无线技术从网站、服务器或其它远程源发送的,那么同轴电缆、光纤光缆、双绞线、DSL或者诸如红外线、无线和微波之类的无线技术包括在所述介质的定义中。
如本文所使用的,磁盘和光盘包括压缩光盘(“CD”)、激光光盘、光盘、数字通用光盘(“DVD”)、软盘和蓝光光盘,其中磁盘通常磁性地复制数据,而光盘则利用激光来光学地复制数据。上述的组合也应当包括在计算机可读介质的保护范围之内。
因此,虽然已经详细地说明和描述了所选择的方面,但将理解的是,可以在不背离本发明的精神和保护范围的情况下,在其中做出各种替代和改变,如所附权利要求书所限定的。
Claims (18)
1.一种用于在便携式计算设备(“PCD”)中进行智能热管理的方法,所述便携式计算设备包括在集成电路上的处理内核的大型集群和处理内核的小型集群,所述处理内核的小型集群具有比所述处理内核的大型集群的峰值性能容量要小的峰值性能容量,所述处理内核的大型集群包括处理内核的第一子集和处理内核的第二子集,所述方法包括:
监测由目标温度传感器生成的温度读数;
确定所述温度读数超过温度门限;
响应于确定所述温度读数超过所述温度门限,通过以下操作来控制所述集成电路的操作:将所述处理内核的大型集群的所述第一子集脱机,同时使所述处理内核的大型集群的所述第二子集保持联机,保持所述处理内核的小型集群的性能水平,并且避免从所述处理内核的小型集群到所述处理内核的大型集群的所述第二子集的工作负荷迁移;
在将所述处理内核的大型集群的所述第一子集脱机之后,确定所述温度读数仍然超过所述温度门限;
响应于在将所述处理内核的大型集群的所述第一子集脱机之后确定所述温度读数仍然超过所述温度门限,节流所述处理内核的大型集群的所述第二子集的性能,同时避免节流所述处理内核的小型集群的性能水平;
在节流所述处理内核的大型集群的所述第二子集的性能之后,确定所述温度读数是否低于所述温度门限;
响应于在节流所述处理内核的大型集群的所述第二子集的性能之后确定所述温度读数低于所述温度门限,停止节流所述处理内核的大型集群的所述第二子集的性能,同时保持所述处理内核的小型集群的性能水平;以及
响应于在所述处理内核的大型集群的所述第二子集被节流到低至为了避免从所述处理内核的小型集群的工作负荷迁移而选择的最小性能底限之后确定所述温度读数仍然高于所述温度门限,将所述处理内核的大型集群的所述第二子集脱机,同时在所述处理内核的大型集群的所述第一子集和所述第二子集二者都脱机之前避免节流所述处理内核的小型集群的性能水平。
2.根据权利要求1所述的方法,还包括:
确定所述温度读数低于所述温度门限;以及
响应于确定所述温度读数低于所述温度门限,将所述处理内核的大型集群的所述第一子集恢复联机。
3.根据权利要求1所述的方法,还包括:
确定所述温度读数低于所述温度门限;以及
响应于确定所述温度读数低于所述温度门限,将所述处理内核的大型集群的所述第二子集恢复联机。
4.根据权利要求1所述的方法,还包括:
在将所述处理内核的大型集群的所述第二子集脱机之后,确定所述温度读数仍然超过所述温度门限;以及
响应于在将所述处理内核的大型集群的所述第二子集脱机之后确定所述温度读数仍然超过所述温度门限,节流所述处理内核的小型集群的性能水平,其中,避免节流所述处理内核的小型集群的性能水平直到在所述处理内核的大型集群的所述第一子集和所述第二子集二者都脱机为止。
5.根据权利要求1所述的方法,其中,所述温度读数是指示所述PCD的表皮温度的。
6.一种用于在便携式计算设备(“PCD”)中进行智能热管理的计算机系统,所述便携式计算设备包括在集成电路上的处理内核的大型集群和处理内核的小型集群,所述处理内核的小型集群具有比所述处理内核的大型集群的峰值性能容量要小的峰值性能容量,所述处理内核的大型集群包括处理内核的第一子集和处理内核的第二子集,所述系统包括:
监测模块、动态电压和频率模块以及热管理器模块,其共同地被配置为:
监测由目标温度传感器生成的温度读数;
确定所述温度读数超过温度门限;
响应于确定所述温度读数超过所述温度门限,通过以下操作来控制所述集成电路的操作:将所述处理内核的大型集群的所述第一子集脱机,同时使所述处理内核的大型集群的所述第二子集保持联机,保持所述处理内核的小型集群的性能水平,并且避免从所述处理内核的小型集群到所述处理内核的大型集群的所述第二子集的工作负荷迁移;
在将所述处理内核的大型集群的所述第一子集脱机之后,确定所述温度读数仍然超过所述温度门限;
响应于在将所述处理内核的大型集群的所述第一子集脱机之后确定所述温度读数仍然超过所述温度门限,节流所述处理内核的大型集群的所述第二子集的性能,同时避免节流所述处理内核的小型集群的性能水平;
在节流所述处理内核的大型集群的所述第二子集的性能之后,确定所述温度读数是否低于所述温度门限;
响应于在节流所述处理内核的大型集群的所述第二子集的性能之后确定所述温度读数低于所述温度门限,停止节流所述处理内核的大型集群的所述第二子集的性能,同时保持所述处理内核的小型集群的性能水平;以及
响应于在所述处理内核的大型集群的所述第二子集被节流到低至为了避免从所述处理内核的小型集群的工作负荷迁移而选择的最小性能底限之后确定所述温度读数仍然高于所述温度门限,将所述处理内核的大型集群的所述第二子集脱机,同时在所述处理内核的大型集群的所述第一子集和所述第二子集二者都脱机之前避免节流所述处理内核的小型集群的性能水平。
7.根据权利要求6所述的系统,还包括:
确定所述温度读数低于所述温度门限;以及
响应于确定所述温度读数低于所述温度门限,将所述处理内核的大型集群的所述第一子集恢复联机。
8.根据权利要求6所述的系统,还包括:
确定所述温度读数低于所述温度门限;以及
响应于确定所述温度读数低于所述温度门限,将所述处理内核的大型集群的所述第二子集恢复联机。
9.根据权利要求6所述的系统,还包括:
在将所述处理内核的大型集群的所述第二子集脱机之后,确定所述温度读数仍然超过所述温度门限;以及
响应于在将所述处理内核的大型集群的所述第二子集脱机之后确定所述温度读数仍然超过所述温度门限,节流所述处理内核的小型集群的性能水平,其中,避免节流所述处理内核的小型集群的性能水平直到在所述处理内核的大型集群的所述第一子集和所述第二子集二者都脱机为止。
10.根据权利要求6所述的系统,其中,所述温度读数是指示所述PCD的表皮温度的。
11.一种用于在便携式计算设备(“PCD”)中进行智能热管理的计算机系统,所述便携式计算设备包括在集成电路上的处理内核的大型集群和处理内核的小型集群,所述处理内核的小型集群具有比所述处理内核的大型集群的峰值性能容量要小的峰值性能容量,所述处理内核的大型集群包括处理内核的第一子集和处理内核的第二子集,所述系统包括:
用于监测由目标温度传感器生成的温度读数的单元;
用于确定所述温度读数超过温度门限的单元;
响应于确定所述温度读数超过所述温度门限,用于通过以下操作来控制所述集成电路的单元:将所述处理内核的大型集群的所述第一子集脱机,同时使所述处理内核的大型集群的所述第二子集保持联机,保持所述处理内核的小型集群的性能水平,并且避免从所述处理内核的小型集群到所述处理内核的大型集群的所述第二子集的工作负荷迁移;
用于在将所述处理内核的大型集群的所述第一子集脱机之后,确定所述温度读数仍然超过所述温度门限的单元;
用于响应于在将所述处理内核的大型集群的所述第一子集脱机之后确定所述温度读数仍然超过所述温度门限,节流所述处理内核的大型集群的所述第二子集的性能,同时避免节流所述处理内核的小型集群的性能水平的单元;
用于在节流所述处理内核的大型集群的所述第二子集的性能之后,确定所述温度读数是否低于所述温度门限的单元;
用于响应于在节流所述处理内核的大型集群的所述第二子集的性能之后确定所述温度读数低于所述温度门限,停止节流所述处理内核的大型集群的所述第二子集的性能,同时保持所述处理内核的小型集群的性能水平的单元;以及
用于进行以下操作的单元:响应于在所述处理内核的大型集群的所述第二子集被节流到低至为了避免从所述处理内核的小型集群的工作负荷迁移而选择的最小性能底限之后确定所述温度读数仍然高于所述温度门限,将所述处理内核的大型集群的所述第二子集脱机,同时在所述处理内核的大型集群的所述第一子集和所述第二子集二者都脱机之前避免节流所述处理内核的小型集群的性能水平。
12.根据权利要求11所述的计算机系统,还包括:
用于确定所述温度读数低于所述温度门限的单元;以及
响应于确定所述温度读数低于所述温度门限,用于将所述处理内核的大型集群的所述第一子集恢复联机的单元。
13.根据权利要求11所述的计算机系统,还包括:
用于确定所述温度读数低于所述温度门限的单元;以及
响应于确定所述温度读数低于所述温度门限,用于将所述处理内核的大型集群的所述第二子集恢复联机的单元。
14.根据权利要求11所述的计算机系统,还包括:
用于在将所述处理内核的大型集群的所述第二子集脱机之后确定所述温度读数仍然超过所述温度门限的单元;以及
响应于确定在将所述处理内核的大型集群的所述第二子集脱机之后,所述温度读数仍然超过所述温度门限,用于节流所述处理内核的小型集群的性能水平的单元,其中,避免节流所述处理内核的小型集群的性能水平直到在所述处理内核的大型集群的所述第一子集和所述第二子集二者都脱机为止。
15.一种具有在其上存储的计算机程序的非暂时性计算机可读存储介质,所述计算机程序可被处理器执行以实现用于在便携式计算设备中进行智能热管理的方法,所述便携式计算设备包括在集成电路上的处理内核的大型集群和处理内核的小型集群,所述处理内核的小型集群具有比所述处理内核的大型集群的峰值性能容量要小的峰值性能容量,所述处理内核的大型集群包括处理内核的第一子集和处理内核的第二子集,所述方法包括:
监测由目标温度传感器生成的温度读数;
确定所述温度读数超过温度门限;
响应于确定所述温度读数超过所述温度门限,通过以下操作来控制所述集成电路的操作:将所述处理内核的大型集群的所述第一子集脱机,同时使所述处理内核的大型集群的所述第二子集保持联机,保持所述处理内核的小型集群的性能水平,并且避免从所述处理内核的小型集群到所述处理内核的大型集群的所述第二子集的工作负荷迁移;
在将所述处理内核的大型集群的所述第一子集脱机之后,确定所述温度读数仍然超过所述温度门限;
响应于在将所述处理内核的大型集群的所述第一子集脱机之后确定所述温度读数仍然超过所述温度门限,节流所述处理内核的大型集群的所述第二子集的性能,同时避免节流所述处理内核的小型集群的性能水平;
在节流所述处理内核的大型集群的所述第二子集的性能之后,确定所述温度读数是否低于所述温度门限;
响应于在节流所述处理内核的大型集群的所述第二子集的性能之后确定所述温度读数低于所述温度门限,停止节流所述处理内核的大型集群的所述第二子集的性能,同时保持所述处理内核的小型集群的性能水平;以及
响应于在所述处理内核的大型集群的所述第二子集被节流到低至为了避免从所述处理内核的小型集群的工作负荷迁移而选择的最小性能底限之后确定所述温度读数仍然高于所述温度门限,将所述处理内核的大型集群的所述第二子集脱机,同时在所述处理内核的大型集群的所述第一子集和所述第二子集二者都脱机之前避免节流所述处理内核的小型集群的性能水平。
16.根据权利要求15所述的非暂时性计算机可读存储介质,还包括:
确定所述温度读数低于所述温度门限;以及
响应于确定所述温度读数低于所述温度门限,将所述处理内核的大型集群的所述第一子集恢复联机。
17.根据权利要求15所述的非暂时性计算机可读存储介质,还包括:
确定所述温度读数低于所述温度门限;以及
响应于确定所述温度读数低于所述温度门限,将所述处理内核的大型集群的所述第二子集恢复联机。
18.根据权利要求15所述的非暂时性计算机可读存储介质,还包括:
在将所述处理内核的大型集群的所述第二子集脱机之后,确定所述温度读数仍然超过所述温度门限;以及
响应于在使所述处理内核的大型集群的所述第二子集脱机之后确定所述温度读数仍然超过所述温度门限,节流所述处理内核的小型集群的性能水平,其中,避免节流所述处理内核的小型集群的性能水平直到在所述处理内核的大型集群的所述第一子集和所述第二子集二者都脱机为止。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/073,431 US10496141B2 (en) | 2016-03-17 | 2016-03-17 | System and method for intelligent thermal management in a system on a chip having a heterogeneous cluster architecture |
US15/073,431 | 2016-03-17 | ||
PCT/US2017/018227 WO2017160463A2 (en) | 2016-03-17 | 2017-02-16 | System and method for intelligent thermal management in a system on a chip having a heterogeneous cluster architecture |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108780349A CN108780349A (zh) | 2018-11-09 |
CN108780349B true CN108780349B (zh) | 2021-07-06 |
Family
ID=58191669
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780017457.5A Active CN108780349B (zh) | 2016-03-17 | 2017-02-16 | 用于在具有异构集群架构的片上系统中进行智能热管理的系统和方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10496141B2 (zh) |
EP (1) | EP3430496B1 (zh) |
CN (1) | CN108780349B (zh) |
WO (1) | WO2017160463A2 (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10534417B1 (en) * | 2015-03-10 | 2020-01-14 | Amazon Technologies, Inc. | Mass storage device electrical power consumption monitoring |
CN108738312A (zh) | 2015-12-23 | 2018-11-02 | 辉瑞公司 | Rsv f蛋白突变体 |
US10423209B2 (en) * | 2017-02-13 | 2019-09-24 | Apple Inc. | Systems and methods for coherent power management |
US10891773B2 (en) * | 2017-04-07 | 2021-01-12 | Intel Corporation | Apparatus and method for efficient graphics virtualization |
US20180329465A1 (en) * | 2017-05-11 | 2018-11-15 | Qualcomm Incorporated | System and method for intelligent adjustment of an immersive multimedia workload in a portable computing device |
US10884811B2 (en) | 2017-06-04 | 2021-01-05 | Apple Inc. | Scheduler for AMP architecture with closed loop performance controller using static and dynamic thread grouping |
US11245520B2 (en) | 2018-02-14 | 2022-02-08 | Lucid Circuit, Inc. | Systems and methods for generating identifying information based on semiconductor manufacturing process variations |
US10755201B2 (en) | 2018-02-14 | 2020-08-25 | Lucid Circuit, Inc. | Systems and methods for data collection and analysis at the edge |
WO2019241084A1 (en) * | 2018-06-11 | 2019-12-19 | Lucid Circuit, Inc. | Systems and methods for autonomous hardware compute resiliency |
RU2685969C1 (ru) * | 2018-08-07 | 2019-04-23 | Акционерное общество Научно-производственный центр "Электронные вычислительно-информационные системы" (АО НПЦ "ЭЛВИС") | Способ управления энергопотреблением в гетерогенной системе на кристалле |
US11126232B2 (en) * | 2018-11-28 | 2021-09-21 | Intel Corporation | Battery heat balancing during peak power mode |
US11054891B2 (en) * | 2019-05-09 | 2021-07-06 | Google Llc | Resonance aware performance management |
JP2024504524A (ja) | 2021-12-27 | 2024-02-01 | 寧徳時代新能源科技股▲分▼有限公司 | パワーモジュールのパワー割り当て制御方法、装置及びパワーモジュール装置 |
CN115833548A (zh) * | 2021-12-27 | 2023-03-21 | 宁德时代新能源科技股份有限公司 | 功率模块的功率分配控制方法、装置和功率模块设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104679586A (zh) * | 2013-10-31 | 2015-06-03 | 三星电子株式会社 | 包括异构多核处理器的电子系统及其操作方法 |
CN105009021A (zh) * | 2013-02-27 | 2015-10-28 | 高通股份有限公司 | 用于使用热阻值预测最佳功率电平以实现便携式计算设备中的热管理的系统和方法 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
US20080005591A1 (en) | 2006-06-28 | 2008-01-03 | Trautman Mark A | Method, system, and apparatus for dynamic thermal management |
US7962774B2 (en) * | 2007-10-04 | 2011-06-14 | Wisconsin Alumni Research Foundation | Over-provisioned multicore processor |
US20100073068A1 (en) * | 2008-09-22 | 2010-03-25 | Hanwoo Cho | Functional block level thermal control |
US8595731B2 (en) | 2010-02-02 | 2013-11-26 | International Business Machines Corporation | Low overhead dynamic thermal management in many-core cluster architecture |
US8874941B2 (en) | 2011-06-14 | 2014-10-28 | Utah State University | Apparatus and method for designing an architecturally homogeneous power-performance heterogeneous multicore processor using simulated annealing optimization |
US8972759B2 (en) * | 2012-06-29 | 2015-03-03 | Qualcomm Incorporated | Adaptive thermal management in a portable computing device including monitoring a temperature signal and holding a performance level during a penalty period |
KR102005765B1 (ko) * | 2012-12-17 | 2019-07-31 | 삼성전자주식회사 | 시스템-온 칩과, 이의 동작 방법 |
US9342135B2 (en) * | 2013-10-11 | 2016-05-17 | Qualcomm Incorporated | Accelerated thermal mitigation for multi-core processors |
KR102189115B1 (ko) | 2013-11-11 | 2020-12-09 | 삼성전자주식회사 | 대칭형 다중 프로세서를 구비한 시스템 온-칩 및 이를 위한 최대 동작 클럭 주파수 결정 방법 |
US9582052B2 (en) * | 2014-10-30 | 2017-02-28 | Qualcomm Incorporated | Thermal mitigation of multi-core processor |
-
2016
- 2016-03-17 US US15/073,431 patent/US10496141B2/en active Active
-
2017
- 2017-02-16 CN CN201780017457.5A patent/CN108780349B/zh active Active
- 2017-02-16 WO PCT/US2017/018227 patent/WO2017160463A2/en active Application Filing
- 2017-02-16 EP EP17708102.3A patent/EP3430496B1/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105009021A (zh) * | 2013-02-27 | 2015-10-28 | 高通股份有限公司 | 用于使用热阻值预测最佳功率电平以实现便携式计算设备中的热管理的系统和方法 |
CN104679586A (zh) * | 2013-10-31 | 2015-06-03 | 三星电子株式会社 | 包括异构多核处理器的电子系统及其操作方法 |
Also Published As
Publication number | Publication date |
---|---|
EP3430496C0 (en) | 2024-01-10 |
EP3430496B1 (en) | 2024-01-10 |
EP3430496A2 (en) | 2019-01-23 |
US20170269652A1 (en) | 2017-09-21 |
WO2017160463A3 (en) | 2018-03-29 |
CN108780349A (zh) | 2018-11-09 |
WO2017160463A2 (en) | 2017-09-21 |
US10496141B2 (en) | 2019-12-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108780349B (zh) | 用于在具有异构集群架构的片上系统中进行智能热管理的系统和方法 | |
JP6162262B2 (ja) | 最適な電力レベルを予測するために熱抵抗値を使用したポータブルコンピューティングデバイスにおける熱管理のためのシステムおよび方法 | |
US9703336B2 (en) | System and method for thermal management in a multi-functional portable computing device | |
KR101833601B1 (ko) | 휴대용 컴퓨팅 디바이스로부터 주위 온도를 추정하기 위한 시스템 및 방법 | |
JP6591971B2 (ja) | チップ上のマルチプロセッサシステムにおけるアイドル状態最適化のためのシステムおよび方法 | |
US10037258B2 (en) | System and method for intelligent thermal management using dynamic performance floors in a portable computing device | |
EP3570162B1 (en) | System and method for thermally aware device booting | |
KR101534450B1 (ko) | 누설 전류 측정으로부터 열 관리 폴리시를 결정하는 시스템 및 방법 | |
US8996902B2 (en) | Modal workload scheduling in a heterogeneous multi-processor system on a chip | |
US20130090888A1 (en) | System and method for proximity based thermal management of mobile device | |
US20150148981A1 (en) | System and method for multi-correlative learning thermal management of a system on a chip in a portable computing device | |
CN110214298B (zh) | 用于便携式计算设备中的情境感知热管理和工作负荷调度的系统和方法 | |
US20140245028A1 (en) | System and method for temperature driven selection of voltage modes in a portable computing device | |
US20160224080A1 (en) | Calibration margin optimization in a multi-processor system on a chip |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |