CN117957510A - 处理器集群内的动态电压和频率调整(dvfs) - Google Patents
处理器集群内的动态电压和频率调整(dvfs) Download PDFInfo
- Publication number
- CN117957510A CN117957510A CN202280062050.5A CN202280062050A CN117957510A CN 117957510 A CN117957510 A CN 117957510A CN 202280062050 A CN202280062050 A CN 202280062050A CN 117957510 A CN117957510 A CN 117957510A
- Authority
- CN
- China
- Prior art keywords
- processors
- processor
- performance
- state
- performance state
- 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.)
- Pending
Links
- 238000012545 processing Methods 0.000 claims abstract description 177
- 230000007704 transition Effects 0.000 claims abstract description 49
- 238000000034 method Methods 0.000 claims description 57
- 230000004044 response Effects 0.000 claims description 17
- 238000004891 communication Methods 0.000 claims description 13
- 230000000694 effects Effects 0.000 claims description 6
- 238000005265 energy consumption Methods 0.000 claims description 5
- 238000009529 body temperature measurement Methods 0.000 claims description 4
- 238000007726 management method Methods 0.000 description 120
- 239000000758 substrate Substances 0.000 description 36
- 239000004065 semiconductor Substances 0.000 description 15
- 238000010586 diagram Methods 0.000 description 6
- 230000007423 decrease Effects 0.000 description 4
- 238000013500 data storage Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 239000010410 layer Substances 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000003071 parasitic effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000002459 sustained effect Effects 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 239000000853 adhesive Substances 0.000 description 1
- 230000001070 adhesive effect Effects 0.000 description 1
- 239000012790 adhesive layer Substances 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000012620 biological material Substances 0.000 description 1
- 239000002041 carbon nanotube Substances 0.000 description 1
- 229910021393 carbon nanotube Inorganic materials 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000002070 nanowire Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- 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
- Power Sources (AREA)
Abstract
电子系统具有包括第一处理集群的多个处理集群。该第一处理集群还包括功率管理处理器和多个处理器。该功率管理处理器获得关于该多个处理器的性能信息;执行功率指令以将该多个处理器中的第一处理器从第一性能状态转变到不同于该第一性能状态的第二性能状态;以及执行一个或多个调试指令以对该多个处理器中的相应处理器进行调试。根据所获得的性能信息并且独立于该第一处理集群的该多个处理器中的其他处理器的相应性能状态来执行该功率指令。在一些具体实施中,该功率管理处理器从该多个处理集群外部的系统控制器接收用于该第一处理集群的第一功率分配。
Description
相关申请
本申请要求提交于2021年9月22日的名称为“处理器集群内的动态电压和频率调整(DVFS)(Dynamic Voltage and Frequency Scaling(DVFS)within ProcessorClusters)”的美国临时专利申请63/247,225号的优先权,该美国临时专利申请据此全文以引用方式并入。
本申请还要求提交于2022年2月7日的名称为“处理器集群内的动态电压和频率调整(DVFS)(Dynamic Voltage and Frequency Scaling(DVFS)within ProcessorClusters)”的美国专利申请17/666,420号的优先权,该美国专利申请据此全文以引用方式并入。
技术领域
本申请整体涉及电子设备(例如,具有片上系统(SoC))的功率管理,并且具体地涉及用于基于动态电压和频率调整(DVFS)来控制基于SoC的电子设备的功率消耗和设备性能的方法、系统和非暂态计算机可读介质。
背景技术
电子设备通常将片上系统(SoC)与功率管理集成电路(PMIC)、通信端口、外部存储器或存储装置以及其他外围功能模块集成在主逻辑板上。SoC在单个封装件中包括一个或多个微处理器或中央处理单元(CPU)核心、存储器、输入/输出端口以及辅助存储装置。PMIC通常与SoC相邻地设置在主逻辑板上并经由形成在主逻辑板上的导电线提供到SoC的多个直流(DC)供电轨。PMIC提供多个功率轨,该多个功率轨被配置为驱动SoC的操作。针对每个功率轨以及SOC的对应部分监测并控制功率特性(例如,功率消耗、电流和电压)。在SoC中采用高效和灵活的功率管理机制来管理由PMIC提供的功率将是有益的。
发明内容
为了解决基于SoC的电子设备的功率管理问题,将高度期望提供具有多个处理器集群、集群存储器或高速缓存、PMIC和系统存储器的半导体器件或系统,其中功率管理处理器在每个处理器集群内部。所附权利要求书的范围内的系统、方法和设备的各种具体实施各自具有若干方面,这些方面中没有任何单一方面唯一地负责本文所述的属性。在不限制所附权利要求书的范围的情况下,在考虑本公开之后并且特别是在考虑标题为“具体实施方式”的部分之后,将理解如何使用各种具体实施的各方面来向半导体器件提供一个或多个处理器集群,该一个或多个处理器集群中的每一者具有相应功率管理处理器。对于每个处理器集群,相应功率管理处理器耦接到相应集群中的每个处理器,并且被配置为控制集群中的处理器的相应性能状态(例如,电压和/或频率)并且/或者对这些处理器进行调试。在一些具体实施中,每个处理器集群的相应功率管理处理器进一步耦接到一个或多个处理器集群外部的系统控制器。通过这些方式,相应功率管理处理器在固件层面上针对每个处理器集群执行功率、电压、电流和热管理,而系统控制器在系统层面上(例如,使用性能控制软件回路)对不同的处理器集群执行功率分配。
在一个方面,在具有第一处理集群的电子设备处实施功率管理方法。该第一处理集群包括多个处理器和不同于该多个处理器的功率管理处理器。该方法包括通过功率管理处理器获得关于多个处理器的性能信息。该方法还包括:根据所获得的性能信息,独立于多个处理器中的其他处理器的相应性能状态,执行第一指令以将多个处理器中的第一处理器从第一性能状态转变到不同于第一性能状态的第二性能状态。该方法还包括执行一个或多个调试指令以对多个处理器中的相应处理器进行调试。在一些实施方案中,当第一处理器在第二性能状态下操作时,执行一个或多个调试指令以对第一处理器进行调试。
在一些具体实施中,功率管理处理器被配置为根据所获得的性能信息,独立于多个处理器中的其他处理器的相应性能状态,执行第二指令以将多个处理器中的第二处理器从第三性能状态转变到第四性能状态。在一些具体实施中,根据指示多个处理器中的不同于第一处理器的第三处理器从关断状态转变到接通状态的性能信息,第二性能状态是与比第一性能状态低的功率消耗相关联的状态。在一些具体实施中,根据指示多个处理器中的不同于第一处理器的第四处理器从接通状态转变到关断状态的性能信息,第二性能状态是与比第一性能状态高的功率消耗相关联的状态。
在另一方面,电子设备包括第一处理集群,该第一处理集群具有多个处理器和不同于该多个处理器的功率管理处理器。该功率管理处理器被配置为实施上述方法中的任一种方法。另选地,在另一方面,电子设备包括第一处理集群,该第一处理集群具有多个处理器、功率管理处理器和其上存储有指令的存储器,该指令在由功率管理处理器执行时致使该功率管理处理器执行上述方法中的任一种方法。
提及这些例示性实施方案和具体实施不在于限制或定义本公开的范围,而是提供用于有助于理解本公开的示例。具体实施方式中讨论了附加实施方案,并且在那里提供了进一步描述。根据本说明书中的描述和附图,其他具体实施和优点对于本领域技术人员来说可以是显而易见的。
附图说明
图1A是根据一些具体实施的典型电子设备中的示例系统模块的框图,并且图1B是根据一些具体实施的集成了SoC和PMIC的集成半导体器件的剖视图。
图2是根据一些具体实施的图1所示的电子设备的功率管理系统的框图。
图3是根据一些具体实施的包括功率管理处理器和一个或多个处理器的第一处理集群的框图。
图4是根据一些具体实施的功率管理环境,其中第一处理集群耦接到系统控制器。
图5A和图5B是根据一些具体实施的第一处理集群和系统控制器中的功率管理数据的结构。
图6A和图6B示出了根据一些具体实施的管理基于SoC的电子设备的功率消耗的方法的流程图。
为了更好地理解各种描述的具体实施,应当结合以下附图参考以下具体实施方式,在附图中,相似的参考标号贯穿附图指代对应的部分。相似的参考标号贯穿附图指代对应的部分。
具体实施方式
现在将详细地参考具体实施方案,这些实施方案的示例在附图中示出。在以下详细描述中,阐述了许多非限制性具体细节以便有助于理解本文呈现的主题。然而,将对本领域普通技术人员显而易见的是,可在不脱离权利要求书的范围的情况下使用各种另选方案,并且可在没有这些具体细节的情况下实践本主题。
图1A是根据一些具体实施的典型电子设备中的示例系统模块100的框图。该电子设备中的系统模块100至少包括具有一个或多个处理器的片上系统(SoC)102、用于存储程序、指令和数据的存储器模块104、输入/输出(I/O)控制器106、一个或多个通信接口(诸如网络接口108)以及用于将这些部件互连的一个或多个通信总线150。在一些具体实施中,I/O控制器106允许SoC 102经由通用串行总线接口与I/O设备(例如,键盘、鼠标或触摸屏)通信。在一些具体实施中,网络接口108包括用于Wi-Fi、以太网和蓝牙网络的一个或多个接口,每个接口允许电子设备与外部源(例如,服务器或另一电子设备)交换数据。在一些具体实施中,通信总线150包括将系统模块100中包括的各种系统部件互连并控制这些系统部件之间的通信的电路(有时被称为芯片集)。
在一些具体实施中,存储器模块104包括高速随机存取存储器,诸如DRAM、SRAM、DDR RAM或其他随机存取固态存储器设备。在一些具体实施中,存储器模块104包括非易失性存储器,诸如一个或多个磁盘存储设备、光盘存储设备、闪存存储器设备或其他非易失性固态存储设备。在一些具体实施中,存储器模块104或另选地存储器模块104内的非易失性存储器设备包括非暂态计算机可读存储介质。在一些具体实施中,系统模块100上预留了存储器插槽以用于接收存储器模块104。一旦被插入存储器插槽中,存储器模块104就集成到系统模块100中。
在一些具体实施中,系统模块100还包括选自以下项的一个或多个部件:
·存储器控制器110,其在电子设备中控制SoC 102与存储器部件(包括存储器模块104)之间的通信;
·固态驱动器(SSD)112,其应用集成电路组件以将数据存储在电子设备中,并且在许多具体实施中,基于NAND或NOR存储器配置;
·硬盘驱动器114,其是用于基于机电磁盘来存储并检索数字信息的常规数据存储设备;
·电源连接器116,其包括一个或多个直流(DC)供电接口,该一个或多个DC供电接口中的每个DC供电接口被配置为接收不同DC供电电压;
·功率管理集成电路(PMIC)118,其将经由DC供电接口接收的不同DC供电电压调制到其他期望内部供电电压,例如5V、3.3V或1.8V,如电子设备内的各种部件或电路(例如,SoC 102中的处理器核心)所要求的;
·图形模块120,其根据一个或多个显示设备的期望图像/视频格式生成输出图像到该一个或多个显示设备的馈送;以及
·声音模块122,其促进在计算机程序的控制下向电子设备输入以及从电子设备输出音频信号。
需注意,通信总线150还将包括部件110至122的各种系统部件互连并控制这些系统部件之间的通信。
本领域技术人员知道,可使用其他非暂态计算机可读存储介质,因为新的数据存储技术被开发用于将信息存储在存储器模块104中的非暂态计算机可读存储介质中以及SSD 112中。这些新的非暂态计算机可读存储介质包括但不限于由生物材料、纳米线、碳纳米管和单独分子制造的那些非暂态计算机可读存储介质,即使相应数据存储技术当前正在开发并仍有待商业化。
在一些具体实施中,SoC 102被实现在包括一个或多个集成电路的半导体封装件中,并且每个集成电路将以下项的子集集成在单个基板上:一个或多个微处理器或CPU核心、存储器、输入/输出端口和辅助存储装置。PMIC 118还被实施在包括一个或多个集成电路的半导体封装件中,该一个或多个集成电路中的每个集成电路形成在单个基板上。SoC102被配置为接收由PMIC 118经由一个或多个功率轨提供的一个或多个内部供电电压(也被称为轨电压)。在一些具体实施中,SoC 102和PMIC 118两者安装在主逻辑板上,例如安装在主逻辑板的两个不同区域上,并且经由形成在主逻辑板中的导电线彼此电耦接。该布置引入寄生效应和电噪声,该寄生效应和电噪声可能折损SoC的性能,例如导致在内部供电电压处的电压降。另选地,根据下文所述的各种具体实施,SoC 102和PMIC 118的半导体管芯被竖直地封装在集成半导体器件150中(例如,在图1B中),使得它们经由未形成在主逻辑板中的电连接彼此电耦接。SoC 102和PMIC 118的半导体管芯的这种竖直布置减小了SoC 102与PMIC 118之间的电连接的长度并避免了由在主逻辑板上布设导电线而导致的性能退化。
在一些具体实施中,通用PMIC 118被配置为驱动不同类型的电子设备中的不同类型的SoC 102。不管PMIC 118和SoC 102是并排布置还是竖直布置,PMIC 118占据了相对于主电路板相同的覆盖区,而SoC 102可基于集成在其中的电子模块而具有不同的覆盖区。PMIC 118包括以现场可编程阵列布置的多个电压调节器单元。多个电压调节器单元彼此相同,或者包括多于一种类型的电压调节器单元。在特定电子设备中,基于为SOC 102和其他电子模块(如果有的话)供电所需的功率轨的轨电压和轨电流来确定控制信号。对于这些功率轨中的每个功率轨,使用对应控制信号来选择PMIC 118的现场可编程阵列中的电压调节器单元的子集,并且所选择的电压调节器单元共同地将处于轨电压的轨电流提供到相应功率轨。因此,PMIC 118由这些控制信号重新配置为将轨电压和轨电流提供到SoC 102的功率轨,并且PMIC 118中的多个可配置电压调节器中的每个电压调节器单元是冗余的或经选择以通过控制信号中的一个控制信号驱动功率轨中的一个功率轨。
图1B是根据一些具体实施的集成了SoC管芯102和PMIC管芯118的集成半导体器件150的剖视图。半导体器件150将至少一个SoC管芯102和至少一个PMIC管芯118集成在半导体封装件中,并且至少包括具有第一表面124A和与第一表面124A相对的第二表面124B的封装件基板124。SoC管芯102设置在封装件基板124的第一表面124A上,并且PMIC管芯118耦接到封装件基板124的第二表面124B。在一些具体实施中,第一内插器126设置在SoC管芯102与封装件基板124的第一表面124A之间。在一些具体实施中,第二内插器128设置在PMIC管芯220与封装件基板124的第二表面124B之间。
封装件基板124还包括多个第一过孔互连件130,并且PMIC管芯118经由封装件基板124的多个第一过孔互连件130电耦接到SoC管芯102。具体地,PMIC管芯118包括多个DC连接件132,该多个DC连接件被配置为输出提供到功率轨的多个轨电压。当PMIC管芯118安装在封装件基板124的第二表面124B上时,DC连接件132电耦接到封装件基板124的多个第一过孔互连件130。在一些具体实施中,SoC管芯102包括多个功率连接件134,该多个功率连接件被配置为经由封装件基板124的多个第一过孔互连件130来接收多个轨电压。因此,PMIC管芯118被配置为经由PMIC管芯118的DC连接件132、SoC管芯102的功率连接件134和封装件基板124的第一过孔互连件130将DC功率(即,功率轨的轨电压和轨电流)提供到SoC管芯102。另外,通过使用极低阻抗DC连接件132,相对于其中PMIC管芯118和SoC管芯102被单独地封装以及并排定位在主电路板上的系统大幅地改进了提供给PMIC管芯118至SoC管芯102的DC功率的质量。
在一些具体实施中,PMIC管芯118上的功率管理接口由SoC管芯102的主功率管理接口控制,例如,其包括图2和图4中的系统控制器204,并且被配置为从SoC管芯102接收数字功率控制信号。第一过孔互连件130的子集被配置为将数字功率控制信号从SoC管芯102传送到PMIC管芯118。
在一些具体实施中,集成半导体器件150还包括耦接到封装件基板124的第一表面124A的覆盖件136。覆盖件136被配置为隐藏SoC管芯102以及封装件基板124的第一表面124A的至少一部分,由此保护SoC管芯102以及第一表面124A的至少一部分。在一些具体实施中,半导体器件150还包括插口基板138。插口基板138具有面向封装件基板124的第二表面124B的第三表面138A。封装件基板124经由多个电连接器140电耦接到插口基板138。具体地,封装件基板124的第二表面124B包括PMIC管芯118机械地耦接到的第一区域(例如,中心区域)和多个电连接器140所在的第二区域(例如,外围区域)。在一些具体实施中,插口基板138的第三表面138A是基本上平坦的,并且PMIC管芯118设置在封装件基板124的第二表面124B与插口基板138的第三表面138A之间。另选地,在一些具体实施中,插口基板138包括凹陷部分142,该凹陷部分形成在第三表面138A上并被配置为当PMIC管芯118机械地以及电耦接到封装件基板124的第二表面124B时接收PMIC管芯118。在一些情景中,PMIC管芯118悬置在凹陷部分142中,即通过气隙与凹陷部分142的底表面分离。另选地,在一些情景中,PMIC管芯118直接地或经由中间层(例如,粘合剂层、热扩散器层或既是粘合剂又是热扩散器的层)与凹陷部分142的底表面接触。
在一些具体实施中,SoC管芯102和PMIC管芯118竖直地布置在半导体器件150中。SoC管芯102的功率连接件134和PMIC管芯118的DC连接件132彼此接近地对准和定位,由此减小耦接到向SoC管芯102提供轨电压的每个功率轨的寄生电阻和电容。需注意,在一些具体实施中,多个PMIC管芯118可设置在插口基板138的凹陷部分142中并电耦接到设置在封装件基板124的第一表面124A上的一个或多个SoC管芯102。例如,两个PMIC管芯118设置在插口基板138的凹陷部分142中以共同地为四个SoC管芯102供电。SoC管芯102中的一个SoC管芯任选地对应于微处理器或CPU核心或者微处理器集群或CPU核心集群(例如,图2中的处理器210或处理集群202)。
另外,在本申请的一些具体实施中,PMIC管芯118包括能够由控制信号配置以驱动不同类型的SoC管芯102的电压调节器的现场可编程阵列。在一些情景中,使用相同PMIC管芯118、封装件基板124和插口基板138来支持不同类型的SoC管芯102。形成在插口基板138上的凹陷部分142具有固定大小以适应相同PMIC管芯118,并且穿过封装件基板124的主体的第一过孔互连件130具有固定位置。另选地,在一些情景中,虽然封装件基板124和插口基板138的覆盖区大小针对不同类型的SoC管芯而变化,但是相同PMIC管芯118允许凹陷部分142和封装件基板124的第一过孔互连件130保持不变,由此避免针对每种单独类型的SoC管芯102定制设计PMIC管芯118和整个封装件。因此,应用PMIC管芯118中的电压调节器的现场可编程阵列简化了组装过程并提高了半导体器件150的成本效率。
图2是根据一些具体实施的具有一个或多个处理集群202(例如,第一处理集群202-1、第M处理集群202-M)的示例电子设备200的框图。电子设备200包括SoC 102、存储器104和PMIC 118。SoC 102包括一个或多个处理集群202、系统控制器204、系统高速缓存206和SoC接口208。SoC接口208是促进跨所有链接部件的数据和控制传输(即,处理集群202的子集、系统控制器204、系统高速缓存206、存储器104和PMIC 118之间的通信)的互连架构。SoC接口208具有共享总线配置或点对点结构配置。
每个处理集群202包括一个或多个处理器(也称为处理核心)210、集群高速缓存212、总线接口214和功率管理处理器216。集群高速缓存212耦接到一个或多个处理器210,并且维护用于一个或多个处理器210的一个或多个请求队列。在一些具体实施中,每个处理器210还包括核心高速缓存(图2中未示出),该核心高速缓存任选地分为指令高速缓存和数据高速缓存,并且核心高速缓存存储可立即由相应处理器210执行的指令和数据。在示例中,第一处理集群202-1包括第一处理器210-1、……、第N处理器210-N和第一集群高速缓存212-1,其中N是大于1的整数。在一些具体实施中,SOC 102仅包括单个处理集群202-1。另选地,在一些具体实施中,SOC 102至少包括附加处理集群202,例如第M处理集群202-M。第M处理集群202-M包括第一处理器、……、第N'处理器和第M集群高速缓存,其中N'是大于1的整数。
在一些具体实施中,一个或多个处理集群202被配置为向电子设备提供中央处理单元并与高速缓存分级结构相关联。例如,高速缓存分级结构包括三个级,这三个级基于它们的不同操作速度和大小来区分。出于本申请的目的,对存储器(包括高速缓存存储器)的“速度”的引用涉及向存储器写入数据或从存储器读取数据所需的时间(例如,更快的存储器与更慢的存储器相比具有更短的写入和/或读取时间),并且对存储器的“大小”的引用涉及存储器的存储容量(例如,更小的存储器与更大的存储器相比提供更少的存储空间)。核心高速缓存、集群高速缓存212和系统高速缓存206分别对应于第一级(L1)高速缓存、第二级(L2)高速缓存和第三级(L3)高速缓存。每个核心高速缓存保存将直接地由相应处理器210执行的指令和数据,并且在三个存储器级之间具有最快的操作速度和最小的大小。对于每个处理集群202,集群高速缓存212与核心高速缓存相比在操作上更慢并且在大小上更大,并且保存更可能被相应处理集群202的处理器210访问的数据。高速缓存206由多个处理集群202共享,并且与每个核心高速缓存和集群高速缓存212相比在大小上更大并且在速度上更慢。
处理集群202发出预取请求以从集群高速缓存212、高速缓存206或存储器104提取将由每个核心高速缓存保存的指令和数据。如果预取请求被集群高速缓存212满足,则集群高速缓存212向相应核心高速缓存提供指令和数据以供处理器210执行。相反,如果预取请求未被集群高速缓存212满足,则经由总线接口214将预取请求发送到高速缓存206以提取指令和数据。如果预取请求被高速缓存206满足,则高速缓存206经由总线接口214向集群高速缓存212提供指令和数据,该集群高速缓存进一步将指令和数据传递到相应核心高速缓存以供处理器210执行。相反,如果预取请求未被高速缓存206满足,则将预取请求发送到在SoC 102外部的存储器104以提取指令和数据。存储器104向高速缓存206提供指令和数据,该高速缓存将指令和数据传递到集群高速缓存212并且然后传递到相应核心高速缓存。
另外,在每个处理集群202的正常操作期间,处理集群202发出存储器访问请求以向集群高速缓存212、高速缓存206或存储器104写入数据以及从该集群高速缓存、该高速缓存或该存储器读取数据。每个存储器访问请求顺序地从集群高速缓存212、高速缓存206和存储器104传递,直到相应存储器访问请求到达目标高速缓存或存储器。要写入目标高速缓存或存储器的数据顺序地从集群高速缓存212、高速缓存206和存储器104传递,直到相应数据到达目标高速缓存或存储器。相比之下,从目标高速缓存或存储器读取的数据被直接地提供给相应核心高速缓存以供处理器210使用。
对于每个处理集群202,功率管理处理器216管理相应处理集群202的功率消耗并且对相应处理集群202进行调试。处理集群202、PMIC 118、高速缓存206和存储器104的操作消耗功率并且在电子设备200上产生热量。应用功率管理处理器216以从固件层面管理电子设备200的功率消耗。具体地,对于每个相应处理集群202,功率管理处理器216被配置为:获得关于一个或多个处理器210的性能信息;执行功率指令以将第一处理器210-1从第一性能状态(也称为P状态)PS1转变到第二性能状态PS2;以及执行一个或多个调试指令以对相应处理集群202的一个或多个处理器210中的相应处理器(例如,第一处理器210-1或不同处理器)进行调试。根据所获得的性能信息并且独立于一个或多个处理器210中的其他处理器210的相应性能状态来执行功率指令。在一些实施方案中,当第一处理器210-1在第二性能状态S2下操作时,执行一个或多个调试指令以对该第一处理器进行调试。
在一些具体实施中,功率管理处理器216与系统控制器204共同地管理功率性能,该系统控制器被配置为定义一个或多个处理集群202的功率分配。任选地,系统控制器204在电子设备的一个或多个处理集群202中的任何处理集群(例如,第一处理集群202-1)的外部。任选地,系统控制器204定义所有处理集群202的功率分配,并且然而,其被设置在一个或多个处理集群202中的一个处理集群(例如,第一处理集群202-1)的内部。SoC 102进一步耦接到PMIC 118。每个处理集群202的功率管理处理器216被配置为与具有一个或多个电压调节器的PMIC 118通信,从而使得相应处理集群202能够由通过PMIC 118的电压调节器驱动的一个或多个功率轨供电。通过这些方式,功率管理处理器216和系统控制器204形成分级功率管理系统,该分级功率管理系统被配置为从固件层面和系统层面两者管理多处理器电子设备200的功率消耗。
图3是根据一些具体实施的包括一个或多个处理器210和功率管理处理器216的第一处理集群202-1的框图。任选地,一个或多个处理器210仅包括单个处理器210-1。任选地,一个或多个处理器210包括两个或更多个处理器210-1、……、和210-N,其中N是大于1的正整数。功率管理处理器216耦接到一个或多个处理器210,并且被配置为管理第一处理集群202-1的每个处理器210的功率消耗并且/或者对这些处理器进行调试。集群高速缓存212耦接到一个或多个处理器210,并且被配置为:维持用于一个或多个处理器210的一个或多个请求队列;向每个处理器210的相应核心高速缓存提供指令和数据以供相应处理器210执行;以及从系统高速缓存206和/或存储器104获取丢失的指令或数据。总线接口214耦接到集群高速缓存212、功率管理处理器216、一个或多个处理器210中的一者或多者,并且被配置为至少促进与外部部件(例如,不同的处理集群202、系统控制器204、系统高速缓存206、存储器104和PMIC 118)的通信。
在一些具体实施中,功率管理处理器216获得关于多个处理器210-1、……、和210-N的性能信息302。性能信息302包括用于多个处理器210中的一个或多个处理器的活动水平(例如,每个时钟周期的指令)、能量消耗、温度测量、性能限制违反计数和/或节制指令(例如,时钟节制指令)。在一些具体实施中,性能限制违反计数被定义为在相应时间窗口中违反相应性能限制的次数,诸如处理器210违反过电流限制的次数。例如,以1000Hz对处理器210-1的电流进行采样,并且电流限制违反计数对应于每100毫秒达到相应电流限制的样本的数量。过电流限制为每100毫秒80%。因此,如果电流限制违反计数超过80个样本,则违反过电流限制,并且处理器210被确定为在过电流条件下操作。
根据从不同处理器210收集的性能信息302,独立于多个处理器210中的其他处理器的相应性能状态,功率管理处理器216执行第一指令304-1以将多个处理器210中的第一处理器210-1从第一性能状态PS1转变到第二性能状态PS2。第二性能状态PS2不同于第一性能状态PS1。在一些具体实施中,其他处理器210的性能状态不响应于第一指令304-1而改变,但其他处理器210的性能状态可与改变第一处理器210-1的性能状态相协调地改变以优化跨多个处理器210的性能状态,例如以满足第一处理集群202-1的总功率分配。在一些具体实施中,用于转变多个处理器210中的相应处理器的性能状态的任何指令304由第一处理集群202-1的功率管理处理器216执行,而非由多个处理器210中的任何处理器210执行。
在一些具体实施中,所获得的性能信息302包括一个或多个处理器210(例如,第一处理器210-1)的温度。根据指示第一处理器210-1的温度增加的性能信息,功率管理处理器216降低第一处理器210的功率消耗,从而降低第一处理器210-1的温度。换句话讲,在当前时间,第一处理器210-1的温度被测量为高于先前接收的第一处理器210-1的温度、高于预定义温度阈值,或以比预定义温度增加速率快的速率增加。作为响应,功率管理处理器216控制第一处理器210-1转变到与比第一性能状态PS1低的功率消耗相关联的第二性能状态PS2。在一个示例中,第二性能状态PS2与较低时钟频率308-1和/或较低供电电压306-1相关联。相反,在一些具体实施中,根据指示第一处理器210-1的温度下降(例如,温度低于相同或较低预定义温度阈值)的性能信息,功率管理处理器216通过启用与比第一性能状态PS1高的时钟频率308-1和/或供电电压306-1相关联的第二性能状态PS2来增加第一处理器210-1的功率消耗。
在与性能违反相关联的一些具体实施中,根据指示在相应时间段中相应性能限制违反次数超过该相应时间段的阈值性能限制违反次数的性能信息302,第二性能状态PS2是与比第一性能状态PS1低的功率消耗相关联的状态。例如,如果确定电流限制违反计数在100毫秒内超过第一过电流限制(例如,所有样本的80%),则功率管理处理器216通过启用与比第一性能状态PS1低的时钟频率308-1和/或供电电压306-1相关联的第二性能状态PS2来减少第一处理器210-1的功率消耗。相反,在一些具体实施中,根据指示在相应时间段中相应性能限制违反次数下降到低于该相应时间段的相同或不同阈值性能限制违反次数的性能信息302,第二性能状态PS2是与比第一性能状态PS1高的功率消耗相关联的状态。例如,如果确定电流限制违反计数在一分钟内下降到低于第二过电流限制(例如,所有样本的5%),则功率管理处理器216通过启用与比第一性能状态PS1高的时钟频率308-1和/或供电电压306-1相关联的第二性能状态PS2来增加第一处理器210-1的功率消耗。
另外,功率管理处理器216被配置为例如基于所获得的性能信息302执行一个或多个调试指令以对多个处理器210中的相应处理器进行调试。相应处理器210任选地为执行第一指令304-1的第一处理器210-1或不同于第一处理器210-1的任何其他处理器210。具体地,在一些实施方案中,当第一处理器210-1在第二性能状态S2下操作时,执行一个或多个调试指令以对该第一处理器进行调试。在一些情景中,功率管理处理器216-1在相应处理器210正在执行应用时对相应处理器210进行调试。在一些具体实施中,功率管理处理器216包括调试模块310,该调试模块专用于执行用于调试多个处理器210中的任何处理器的调试指令。每个处理器210任选地包括相应调试单元312,该相应调试单元被配置为根据一个或多个对应调试指令与功率管理处理器216的调试模块310共同地对相应处理器210进行调试。
在一些具体实施中,将第一处理器204-1从第一性能状态PS1转变到第二性能状态PS2包括:独立于提供到多个处理器210中的其他处理器210的相应电压306,修改提供到第一处理器210-1的供电电压306-1。附加地或另选地,在一些具体实施中,将第一处理器204-1从第一性能状态PS1转变到第二性能状态PS2包括:独立于多个处理器210中的其他处理器210的相应时钟频率308,修改第一处理器210-1的时钟频率308-1。
在一些具体实施中,功率管理处理器216被配置为根据所获得的性能信息302,独立于多个处理器210中的其他处理器的相应性能状态PS,执行第二指令304-2以将多个处理器210中的第二处理器210-2从第三性能状态PS3转变到第四性能状态PS4。第二处理器210-2不同于第一处理器210-1。第二指令304-2不同于第一指令304-1,并且第三性能状态PS3不同于第四性能状态PS4。在一些场景中,第三性能状态PS3不同于第一性能状态PS1。在一些场景中,第四性能状态PS4不同于第二性能状态PS2。
在一些具体实施中,每个处理器210能够在多个P状态下操作,该多个P状态中的每一者对应于一组预定义的功率和性能设置(例如,电压供应、时钟频率)。例如,假定理想条件,处理器210的高性能P状态反映处理器210可达到的绝对最大性能。该P状态不持续很长时间并可仅通过迫使其他处理器210或存储器104进入特定状态(例如,空闲状态、待机状态)来实现。假定理想操作条件,处理器210的标称P状态反映处理器210的最大持续性能水平。在缺少外部约束(功率、热等)的情况下,这是基于SoC的电子设备持续地维持的性能水平。在一些具体实施中,所有处理器210同时地持续其标称P状态。考虑到所有已知外部约束(功率预算、热约束、DC或AC电源等),处理器210的保证P状态反映处理器210的当前最大持续性能水平。在一些具体实施中,所有处理器210同时地持续其保证P状态。要求保证P状态落入最低性能水平与对应于标称P状态的标称性能水平之间(包括最低性能水平和标称性能水平)的性能范围内。在一些情景中,保证P状态每秒更新一次以反映热约束和功率约束。
在一些具体实施中,性能信息302指示多个处理器210中不同于第一处理器210-1的第三处理器210-3从关断状态转变到接通状态。功率管理处理器216执行第一指令304-1以减少第一处理器210-1的功率消耗从而适应第三处理器210-3的功率消耗的增加。第二性能状态PS2是与比第一性能状态PS1低的功率消耗相关联的状态。在一个示例中,第一性能状态PS1是活动功率状态,并且第二性能状态PS2是待机或空闲功率状态。在另一示例中,性能状态PS1和PS2两者均为活动功率状态,并且第二性能状态PS2是比第一性能状态PS1低的功率状态,例如,其具有比第一性能状态PS1低的时钟频率308-1和/或供电电压306-1。
相反,在一些具体实施中,性能信息302指示多个处理器210中不同于第一处理器210-1的第四处理器210-N从接通状态转变到关断状态。功率管理处理器216执行第一指令304-1以增加第一处理器210-1的功率消耗从而平衡第四处理器210-N的功率消耗的减少。第二性能状态PS2是与比第一性能状态PS1高的功率消耗相关联的状态。在一个示例中,第一性能状态PS1是待机或空闲功率状态,并且第二性能状态PS2是活动功率状态。在另一示例中,性能状态PS1和PS2两者均为活动功率状态,并且第二性能状态PS2是比第一性能状态PS1高的功率状态,例如,其具有比第一性能状态PS1高的时钟频率308-1和/或供电电压306-1。
图4是根据一些具体实施的功率管理环境400,其中第一处理集群202-1耦接到系统控制器204。如图2所示,电子设备200包括一个或多个处理集群,该一个或多个处理集群包括第一处理集群202-1。第一处理集群202-1包括多个处理器210、集群高速缓存212、功率管理处理器216和总线接口214。系统控制器204例如经由总线接口214耦接到第一处理集群202-1的功率管理处理器216,并且被配置为管理功率消耗并与第一处理集群202-1的功率管理处理器216共同地对第一处理集群202-1进行调试。任选地,系统控制器204在电子设备的一个或多个处理集群202中的任何处理集群(即图4中的该第一处理集群202-1)的外部。任选地,系统控制器204定义所有处理集群202的功率分配,并且然而,其被设置在一个或多个处理集群202中的一个处理集群(例如,第一处理集群202-1)的内部。
具体地,在一些具体实施中,功率管理处理器216被配置为向系统控制器204提供集群性能信息402,并且从系统控制器204接收用于第一处理集群202-1的第一功率分配404A。第一功率分配404A任选地由系统控制器204基于集群性能信息402和来自其他处理集群202的类似信息来确定。在一些情景中,集群性能信息402包括关于第一处理集群202-1的多个处理器210的性能信息302的子集或全部。另选地,在一些情景中,基于关于第一处理集群202-1的多个处理器210的性能信息302来导出集群性能信息402的子集。根据第一处理集群202-1的第一功率分配404A,功率管理处理器216将相应第二性能状态PS分配给多个处理器210,例如,将第一性能状态P1或第二性能状态P2分配给图2中的第一处理单元210-1。只要第一处理集群202-1分配有第一功率分配404A,则第一处理集群202-1中的多个处理器210的总功率消耗不超过第一功率分配404A。例如,第一处理器210-1到第二性能状态PS2的转变受制于第一功率分配404A。
系统控制器204通过将相应功率分配404分配给多个处理集群202中的每个处理集群来管理系统范围的性能和功率消耗。对于每个处理集群202,相应功率分配404有时被称为功率预算,并且指定给定处理集群能够消耗的最大功率量。在一些具体实施中,将多个处理集群202、高速缓存206和存储器104分组为多个功率域,并且系统控制器204向该多个功率域中的每个功率域分配相应的功率分配。对于包括第一处理集群202-1的功率域,向该功率域的相应功率分配任选地被划分并分配给第一处理集群202-1,或者其在该功率域内被利用并且至少部分地经受包括在该功率域中的第一处理集群202-1的功率管理处理器216的控制。
在一些具体实施中,在由第一处理集群202-1的功率管理处理器216收集性能信息302之后,功率管理处理器216和系统控制器204共同地控制第一处理集群202-1内的第一处理器210-1的功率性能状态。对于功率管理处理器216,在对应于功率管理处理器216获得性能信息302的时间与对应于第一处理器210-1响应于功率管理处理器216执行第一指令304-1以转变第一处理器210-1的性能状态而从第一性能状态P1转变到第二性能状态P2的时间之间检测第一时间量。对于系统控制器204,在对应于系统控制器204获得性能信息302(例如,在集群性能信息402中提交)的时间与对应于第一处理器210-1响应于系统控制器204执行指令以转变第一处理器210-1的性能状态而从第一性能状态PS1转变到第二性能状态PS2的时间之间检测第二时间量。第一时间量小于第二时间量。换句话讲,功率管理处理器216以比系统控制器204更快的速率来控制存在于相同第一处理集群202-1中的第一处理器210-1的性能状态转变。
在一些示例中,响应于来自包括处理器210的第一处理集群202-1本地的功率管理处理器216的指令而转变处理器210的性能状态比响应于来自系统控制器204的指令而转变相同处理器210的性能状态快至少2倍、3倍、4倍、5倍、7倍、10倍或更多倍。这至少部分地归因于第一处理集群202-1中的处理器210与本地功率管理处理器216之间的通信比第一处理集群202-1中的处理器210与系统控制器204之间的通信更快。
在一些具体实施中,功率管理处理器216从系统控制器204接收用于第一处理集群202-1的第二功率分配404B,例如,在接收到第一功率分配404A之后且在将第一处理器210-1转变到第二性能状态PS2之后。第二功率分配404B不同于第一功率分配404A。功率管理处理器216根据第二功率分配404B来确定第一处理集群202-1的多个处理器210的相应性能状态。第一处理器210-1的所确定的相应性能状态不同于第二性能状态PS2。例如,对于其所确定的相应性能状态不同于其当前性能状态的相应处理器210的子集,功率管理处理器216执行指令304'以将多个处理器210转变到相应性能状态。执行指令304'以将第一处理器210-1从第二性能状态PS2转变到所确定的相应性能状态。在一些情景中,系统控制器204向第一处理集群202-1分配较低功率分配,该较低功率分配小于第一处理集群202-1中的处理器210基于其当前分配的性能状态的总功率消耗。作为响应,功率管理处理器216通过将较低功率性能状态分配给第一处理集群202-1中的至少一些处理器210来减少第一处理集群202-1的总功率消耗。
图5A和图5B分别是根据一些具体实施的第一处理集群202-1和系统控制器204中的功率管理数据500和550的结构。功率管理数据500与在第一处理集群202-1内部并且被配置为管理第一处理集群202-1的功率消耗并对其进行调试的功率管理处理器216的操作相关联。功率管理数据500包括第一处理集群202-1的子集的每个处理器210的功率状态信息和性能信息302。在一些具体实施中,功率管理数据500还包括第一处理集群202-1的相应功率分配404和综合性能信息502,并且综合性能信息502是从第一处理集群202-1的处理器的性能信息302导出的。示例综合性能信息502包括处理器210的温度增加速率。
对于每个处理器210,功率状态包括一个或多个功率供应306和时钟频率308的信息。在一些具体实施中,功率状态选自多个预定义的P状态,该多个预定义的P状态中的每一者对应于一组预定义的功率和性能设置(例如,电压供应、时钟频率)。所定义的P状态的示例包括但不限于高性能P状态、标称P状态、保证P状态、以及待机或空闲P状态。在一些具体实施中,基于一个或多个功率供应306和时钟频率308的组合来定义功率状态。每个功率供应306基于性能信息302动态地选自预定数量的电压电平(例如,1.8V、2V、2.2V和2.4V)或者在电压电平的范围(例如,1.8V-2.4V)中定义。每个时钟频率308基于性能信息302动态地选自预定数量的频率(例如,1GHz、1.2GHz和1.4GHz)或者在频率范围(例如,1GHz-1.4GHz)中定义。在DVFS中,动态地调整电压供应306和时钟频率308以针对不同的处理器操作来优化资源利用并节省功率消耗。
对于每个处理器210,性能信息302包括以下各项中的一项或多项:一个或多个活动水平504、能量消耗506、温度508、一个或多个性能违反计数510、一个或多个性能违反限制512、峰值功率节制设置514和DVFS设置516。活动水平504被定义为由相应处理器210在每个时钟周期期间执行的指令的数量。性能限制违反计数510被定义为在相应时间段内达到相应性能违反限制的次数,例如,相应处理器210违反过电流限制的次数。在一个示例中,节制设置514定义在其下发出节制指令(例如,时钟节制指令)的条件。
在一些具体实施中,根据指示第一处理器210-1的温度增加的性能信息302,第二性能状态PS2是与比第一性能状态PS1低的功率消耗相关联的状态。性能信息302包括比先前接收到的第一处理器210-1的温度508高的第一处理器210-1的温度508。在一些情景中,当温度增加超过预定义温度阈值或者以比预定义温度增加速率快的速率增加时,功率管理处理器216执行第一指令304-1以将第一处理器210-1从第一性能状态PS1转变到具有比第一性能状态PS1低的时钟频率和/或电压的第二性能状态PS2。
在一些具体实施中,根据指示第一处理器的温度508降低的性能信息302,第二性能状态PS2是与比第一性能状态PS1高的功率消耗相关联的状态。第一处理器210-1的温度508低于先前接收到的第一处理器的温度508。在一些情景中,当温度508降低超过相同或不同的预定义温度阈值时,功率管理处理器216执行第一指令304-1以将第一处理器210-1从第一性能状态PS1转变到具有比第一性能状态PS1高的时钟频率和/或电压的第二性能状态PS2。
在一些具体实施中,根据指示在相应时间段中相应性能限制违反次数510超过该相应时间段的阈值性能限制违反次数的性能信息302,第二性能状态PS2是与比第一性能状态PS1低的功率消耗相关联的状态,从而设置更低的时钟频率和/或更低的电压。功率管理处理器216标识其中第一处理器210-1被过度驱动的过电流、过电压、过功率或过温度状况,并且通过减少第一处理器210-1的功率消耗来避免此类状况。相反,在一些具体实施中,根据指示在相应时间段中相应性能限制违反次数510降低超过该相应时间段的不同阈值性能限制违反次数的性能信息302,第二性能状态PS2是与比第一性能状态PS1高的功率消耗相关联的状态,从而设置更高的时钟频率和/或更高的电压。功率管理处理器216标识其中第一处理器210-1被不充分地驱动的欠电流、欠电压、欠功率或欠温度状况,并且通过增加第一处理器210-1的功率消耗来补偿此类状况。
在一些具体实施中,功率管理处理器216被配置为通过在多个处理器210中的任何处理器执行应用的应用指令之前修改电子设备200的默认硬件状态(例如,DVFS设置516的默认硬件状态)来初始化用于多个处理器的一个或多个设置。例如,如果第一处理器210-1的默认硬件状态不同于优选操作状态,则功率管理处理器216能够被配置为执行软件指令,以在初始化多个处理器210的过程期间、在多个处理器210执行任何应用指令之前将默认硬件状态(例如,DVFS设置516的默认硬件状态)更改为第一处理器210-1的优选操作状态。这防止多个处理器210在第一处理器210-1存在不正确默认硬件状态时执行指令。由功率管理处理器216对第一处理集群202-1的多个处理器210的初始化通常比由系统控制器204或第一处理集群202-1外部的其他控制器(例如,SoC)进行的初始化更快(通常显著如此)。
参考图5B,功率管理数据550与在第一处理集群202-1外部并且被配置为管理功率消耗且在系统层面上对多个处理集群202进行调试的系统控制器204的操作相关联。功率管理数据550包括从多个处理集群202收集的集群性能信息402和对多个处理集群202的功率分配404。在一些情景中,集群性能信息402包括关于第一处理集群202-1的多个处理器210的性能信息302的子集或全部。另外,在一些情景中,集群性能信息402还包括基于关于第一处理集群202-1的多个处理器210的性能信息302的子集或全部而导出的综合性能数据502。
系统控制器204管理系统范围的性能和功率消耗,并且将功率分配404提供或分配给多个处理集群202中的一者或多者(例如,每个处理集群202、包括一个或多个处理集群202的每个功率域)。功率分配404指定给定处理集群202能够消耗的最大功率量,并且也称为功率预算。对于第一处理集群202-1,只要第一功率分配404A被分配给第一处理集群202-1,则第一处理集群202-1中的多个处理器210的总功率消耗不超过到第一处理集群202-1的该第一功率分配404A。例如,第一处理集群202-1的第一处理器210-1到第二性能状态PS2的转变受制于到第一处理集群202-1的第一功率分配404A。
系统控制器204与每个处理集群202的功率管理处理器216协作,以管理功率管理并且共同地对相应处理集群202的处理器210进行调试。在一些具体实施中,当第一处理集群202-1具有第一功率分配404A并且在第一处理器210-1已转变到第二性能状态PS2之后,处理集群202-1的功率管理处理器216从系统控制器204接收用于第一处理集群202-1的第二功率分配404B。第二功率分配404B不同于第一功率分配404A。功率管理处理器216根据第二功率分配404B来确定多个处理器210的相应性能状态。第一处理器210-1的所确定的相应性能状态不同于第二性能状态PS2。处理集群202-1的功率管理处理器216执行指令以将处理集群202-1的多个处理器210转变到相应性能状态,对于其所确定的相应性能状态不同于其当前性能状态的相应处理器210尤为如此。例如,执行附加指令304以将第一处理器210-1从第二性能状态PS2转变到所确定的相应性能状态。例如,系统控制器204向第一处理集群202-1分配较低功率分配,并且该较低功率分配小于第一处理集群202-1中的处理器210基于其当前分配的性能状态的总功率消耗。功率管理处理器216通过将较低功率性能状态分配给第一处理集群202-1中的至少一些处理器210来减少第一处理集群202-1的总功率消耗。
图6A和图6B示出了根据一些具体实施的管理基于SoC的电子设备200的功率消耗的方法600的流程图。电子设备200包括多个处理集群202,该多个处理集群包括第一处理集群202-1。第一处理集群202-1包括多个处理器210和不同于多个处理器210的功率管理处理器216。方法600由功率管理处理器216实施以管理功率消耗并且对第一处理集群202-1进行调试。功率管理处理器216获得(602)关于多个处理器210的性能信息302。在一些具体实施中,性能信息302包括(604)用于多个处理器210中的一个或多个处理器的活动水平504、能量消耗506、温度测量508、性能限制违反计数510和/或节制指令(例如,峰值功率节制设置512)。
根据所获得的性能信息,独立于多个处理器210中的其他处理器210的相应性能状态,功率管理处理器216执行(606)第一指令以将多个处理器210中的第一处理器210-1从第一性能状态PS1转变到不同于第一性能状态PS1的第二性能状态PS2。在一些具体实施中,将第一处理器210-1从第一性能状态PS1转变到第二性能状态PS2包括(608):独立于提供到多个处理器210中的其他处理器210的相应电压306,修改提供到第一处理器210-1的供电电压306-1。附加地或另选地,在一些具体实施中,将第一处理器210-1从第一性能状态PS1转变到第二性能状态PS2包括(610):独立于多个处理器210中的其他处理器210的相应时钟频率308,修改第一处理器210-1的时钟频率308-1。在一些具体实施中,根据指示(612)第一处理器210-1的温度增加的性能信息,第二性能状态PS2是与比第一性能状态PS1低的功率消耗相关联的状态。在一些具体实施中,根据指示(614)在相应时间段中相应性能限制违反次数超过该相应时间段的阈值性能限制违反次数的性能信息,第二性能状态PS2是与比第一性能状态PS1低的功率消耗相关联的状态。
另外,功率管理处理器216执行(616)一个或多个调试指令以对多个处理器210中的相应处理器210进行调试。在一些具体实施中,功率管理处理器216执行(618)一个或多个调试指令以在多个处理器210中的相应处理器执行应用指令的同时对该相应处理器进行调试。在一些实施方案中,当第一处理器210-1在第二性能状态S2下操作时,执行一个或多个调试指令以对该第一处理器进行调试。在一些具体实施中,第一处理集群202-1包括(620)耦接到第一处理集群202-1中的多个处理器210中的一个或多个处理器的集群高速缓存212,并且功率管理处理器216使用第一处理集群202-1的集群高速缓存212对相应处理器进行调试。
在一些具体实施中,根据所获得的性能信息302,独立于多个处理器210中的其他处理器210的相应性能状态,功率管理处理器216执行(622)第二指令304-2以将多个处理器210中的第二处理器210-2从第三性能状态PS3转变到第四性能状态PS4。
在一些具体实施中,根据指示多个处理器210中的不同于第一处理器210-1的第三处理器210-3的性能信息,功率管理处理器216从关断状态转变(624)到接通状态,第二性能状态PS2是与比第一性能状态PS1低的功率消耗相关联的状态。在一些具体实施中,根据指示多个处理器210中的不同于第一处理器210-1的第四处理器210-4的性能信息,功率管理处理器216从接通状态转变(626)到关断状态,第二性能状态PS2是与比第一性能状态PS1高的功率消耗相关联的状态。
在一些具体实施中,设备200包括多个处理集群202,该多个处理集群包括第一处理集群202-1。功率管理处理器216从不同于多个处理集群202的系统控制器204接收(628A)用于第一处理集群202-1的第一功率分配404A,并且根据用于第一处理集群202-1的第一功率分配404A将相应性能状态分配(628B)给多个处理器210(包括第一处理器210-1)。另外,在一些具体实施中,功率管理处理器216根据第一功率分配404A将相应性能状态分配(630)给多个处理器210,使得第一处理集群202-1中的多个处理器210的合计功率消耗不超过第一功率分配404A。
另外,在一些具体实施中,第一时间量介于对应于功率管理处理器216获得性能信息302的时间与对应于第一处理器210-1响应于功率管理处理器216执行第一指令304-1以转变第一处理器210-1的性能状态而从第一性能状态PS1转变到第二性能状态PS2的时间之间。第二时间量介于对应于系统控制器204获得性能信息302的时间与对应于第一处理器210-1响应于系统控制器204执行指令以转变第一处理器210-1的性能状态而从第一性能状态PS1转变到第二性能状态PS2的时间之间。第一时间量小于第二时间量。
在一些具体实施中,功率管理处理器216从系统控制器204接收用于第一处理集群202-1的第二功率分配404B,并且根据第二功率分配404B来确定多个处理器210的相应性能状态。第二功率分配404B不同于第一功率分配404A,并且第一处理器210-1的所确定的相应性能状态不同于第二性能状态PS2。功率管理处理器216执行指令以将多个处理器210转变到相应性能状态,包括执行指令以将第一处理器210-1从第二性能状态PS2转变到所确定的相应性能状态。
在一些具体实施中,功率管理处理器216与(例如,PMIC 118中的)功率管理电路通信(632),该功率管理电路具有向设备200供电的一个或多个电压调节器。在一些具体实施中,功率管理处理器216通过在多个处理器210执行应用指令之前修改电子设备200的默认硬件状态来初始化用于多个处理器210的一个或多个设置。
应当理解,描述图6A和图6B中的操作的特定次序仅是示例性的并且不旨在指示所述的次序是可执行操作的唯一次序。本领域普通技术人员将认识到管理如本文所述的基于SoC的电子设备200的功率消耗的各种方式。另外,应当注意,上文关于图1A至图5B所述的其他过程的细节也可以类似方式适用于上文关于图6A和图6B所述的方法600。为了简洁起见,这里不再重复这些细节。
在至少以下经编号条款中描述了具体实施示例:
条款1.一种方法,包括:在具有多个处理器和不同于所述多个处理器的功率管理控制器的第一处理集群处,所述第一处理集群被包括在电子设备中:获得关于所述多个处理器的性能信息;根据所获得的性能信息,独立于所述多个处理器中的其他处理器的相应性能状态,执行第一指令以将所述多个处理器中的第一处理器从第一性能状态转变到不同于所述第一性能状态的第二性能状态;以及执行一个或多个调试指令以对所述多个处理器中的相应处理器进行调试。
条款2.根据条款1所述的方法,其中将所述第一处理器从所述第一性能状态转变到所述第二性能状态包括:独立于提供到所述多个处理器中的其他处理器的相应电压,修改提供到所述第一处理器的电压。
条款3.根据条款1或2所述的方法,其中将所述第一处理器从所述第一性能状态转变到所述第二性能状态包括:独立于所述多个处理器中的其他处理器的相应时钟频率,修改所述第一处理器的时钟频率。
条款4.根据条款1至3中任一项所述的方法,还包括:根据所获得的性能信息,独立于所述多个处理器中的其他处理器的相应性能状态,执行第二指令以将所述多个处理器中的第二处理器从第三性能状态转变到第四性能状态。
条款5.根据条款1至4中任一项所述的方法,其中所述电子设备包括多个处理集群,所述多个处理集群包括所述第一处理集群,所述方法还包括:从不同于所述多个处理集群的系统控制器接收用于所述第一处理集群的第一功率分配;以及根据用于所述第一处理集群的所述第一功率分配,将相应性能状态分配给包括所述第一处理器的所述多个处理器。
条款6.根据条款5所述的方法,还包括:根据所述第一功率分配,将所述相应性能状态分配给所述多个处理器,使得所述第一处理集群中的所述多个处理器的合计功率消耗不超过所述第一功率分配。
条款7.根据条款5或6所述的方法,其中:第一时间量介于对应于所述功率管理处理器获得所述性能信息的时间与对应于所述第一处理器响应于所述功率管理处理器执行所述第一指令以转变所述第一处理器的性能状态而从所述第一性能状态转变到所述第二性能状态的时间之间;第二时间量介于对应于所述系统控制器获得所述性能信息的时间与对应于所述第一处理器响应于所述系统控制器执行指令以转变所述第一处理器的性能状态而从所述第一性能状态转变到所述第二性能状态的时间之间;并且所述第一时间量小于所述第二时间量。
条款8.根据条款5至7中任一项所述的方法,还包括:从所述系统控制器接收用于所述第一处理集群的第二功率分配,其中所述第二功率分配不同于所述第一功率分配;根据所述第二功率分配来确定所述多个处理器的相应性能状态,其中所述第一处理器的所确定的相应性能状态不同于所述第二性能状态;以及执行指令以将所述多个处理器转变到所述相应性能状态,包括执行指令以将所述第一处理器从所述第二性能状态转变到所确定的相应性能状态。
条款9.根据条款1至8中任一项所述的方法,其中所述性能信息包括用于所述多个处理器中的一个或多个处理器的活动水平、能量消耗、温度测量、性能限制违反计数和/或节制指令。
条款10.根据条款1至9中任一项所述的方法,其中,根据指示所述第一处理器的温度增加的所述性能信息,所述第二性能状态是与比所述第一性能状态低的功率消耗相关联的状态。
条款11.根据条款1至10中任一项所述的方法,其中,根据指示在相应时间段中相应性能限制违反次数超过所述相应时间段的阈值性能限制违反次数的所述性能信息,所述第二性能状态是与比所述第一性能状态低的功率消耗相关联的状态。
条款12.根据条款1至11中任一项所述的方法,其中,根据指示所述多个处理器中的不同于所述第一处理器的第三处理器从关断状态转变到接通状态的所述性能信息,所述第二性能状态是与比所述第一性能状态低的功率消耗相关联的状态。
条款13.根据条款1至9中任一项所述的方法,其中,根据指示所述多个处理器中的不同于所述第一处理器的第四处理器从接通状态转变到关断状态的所述性能信息,所述第二性能状态是与比所述第一性能状态高的功率消耗相关联的状态。
条款14.根据条款1至13中任一项所述的方法,还包括:执行所述一个或多个调试指令以在所述多个处理器中的所述相应处理器执行应用指令的同时对所述相应处理器进行调试。
条款15.根据条款1至13中任一项所述的方法,其中当所述第一处理器在所述第二性能状态下操作时,执行所述一个或多个调试指令以对所述第一处理器进行调试。
条款16.根据条款1至14中任一项所述的方法,还包括:通过在所述多个处理器执行应用指令之前修改所述设备的默认硬件状态来初始化用于所述多个处理器的一个或多个设置。
条款17.根据条款1至16中任一项所述的方法,其中所述第一处理集群包括耦接到所述第一处理集群中的所述多个处理器中的一个或多个处理器的高速缓存,所述方法还包括:使用所述第一处理集群的所述高速缓存对所述相应处理器进行调试。
条款18.根据条款1至17中任一项所述的方法,还包括:与功率管理电路通信,所述功率管理电路具有向所述设备供电的一个或多个电压调节器。
条款19.一种电子设备,包括:第一处理集群,所述第一处理集群包括:多个处理器;和功率管理处理器,所述功率管理处理器不同于所述多个处理器;其中所述功率管理处理器被配置为执行根据条款1至18中任一项所述的方法。
条款20.一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质具有存储在其上的指令,所述指令当由第一处理集群的功率管理处理器执行时致使所述功率管理处理器执行根据条款1至18中任一项所述的方法。
条款21.一种用于管理第一处理集群处的功率的装置,所述第一处理集群具有多个处理器和不同于所述多个处理器的功率管理控制器,其中所述第一处理集群被包括在电子设备中,所述装置包括用于执行根据条款1至18中任一项所述的操作的构件。
本文的各种所述的具体实施的描述中使用的术语仅出于描述特定具体实施的目的,而不旨在进行限制。如在各种所述的具体实施的描述和所附权利要求中所用,单数形式的“一个”、“一种”和“该”旨在也包括复数形式,除非上下文另有明确指示。还将理解,如本文所用的术语“和/或”是指并且涵盖相关联的所列项中的一项或多项的任何和所有可能组合。将进一步理解,术语“包括”、“包含”当在本说明书中使用时指定所陈述的特征、整体、步骤、操作、元件和/或部件的存在,但是不排除一个或多个其他特征、整体、步骤、操作、元件、部件和/或它们的组的存在或添加。另外,将理解,尽管术语“第一”、“第二”等可在本文中用于描述各种元件,但是这些元件不应当受这些术语限制。这些术语仅用于区分一个元件与另一个元件。
如本文所用,术语“如果”任选地被解释为意指“当……时”或“在……时”或“响应于确定……”或“响应于检测到……”或“根据确定……”,这取决于上下文。类似地,短语“如果确定……”或“如果检测到[所陈述的条件或事件]”任选地被解释为意指“在确定……时”或“响应于确定……”或“在检测到[所陈述的条件或事件]时”或“响应于检测到[所陈述的条件或事件]”或“根据确定检测到[所陈述的条件或事件]”,这取决于上下文。
出于解释的目的,前述描述已经参考具体实施方案进行描述。然而,以上例示性讨论不旨在是详尽的或将权利要求限制于所公开的精确形式。鉴于以上教导内容,许多修改和变化是可能的。实施方案经选择和描述以便最佳地解释操作原理和实际应用,由此使得本领域其他技术人员能够进行实现。
虽然各个附图以特定次序例示多个逻辑阶段,但是可将不依赖于次序的阶段重新排序并可组合或拆分其他阶段。虽然具体地提及一些重新排序或其他分组,但是其他重新排序或其他分组将对本领域普通技术人员显而易见,因此本文呈现的排序和分组不是另选方案的详尽列表。此外,应当认识到,阶段可实现在硬件、固件、软件或它们的任何组合中。
Claims (21)
1.一种方法,包括:
在具有多个处理器和不同于所述多个处理器的功率管理控制器的第一处理集群处,所述第一处理集群被包括在电子设备中:
获得关于所述多个处理器的性能信息;
根据所获得的性能信息,独立于所述多个处理器中的其他处理器的相应性能状态,执行第一指令以将所述多个处理器中的第一处理器从第一性能状态转变到不同于所述第一性能状态的第二性能状态;以及
执行一个或多个调试指令以对所述多个处理器中的相应处理器进行调试。
2.根据权利要求1所述的方法,其中将所述第一处理器从所述第一性能状态转变到所述第二性能状态包括:独立于提供到所述多个处理器中的其他处理器的相应电压,修改提供到所述第一处理器的电压。
3.根据权利要求1所述的方法,其中将所述第一处理器从所述第一性能状态转变到所述第二性能状态包括:独立于所述多个处理器中的其他处理器的相应时钟频率,修改所述第一处理器的时钟频率。
4.根据权利要求1所述的方法,还包括:
根据所获得的性能信息,独立于所述多个处理器中的其他处理器的相应性能状态,执行第二指令以将所述多个处理器中的第二处理器从第三性能状态转变到第四性能状态。
5.根据权利要求1所述的方法,其中所述电子设备包括多个处理集群,所述多个处理集群包括所述第一处理集群,所述方法还包括:
从不同于所述多个处理集群的系统控制器接收用于所述第一处理集群的第一功率分配;以及
根据用于所述第一处理集群的所述第一功率分配,将相应性能状态分配给包括所述第一处理器的所述多个处理器。
6.根据权利要求5所述的方法,还包括:
根据所述第一功率分配,将所述相应性能状态分配给所述多个处理器,使得所述第一处理集群中的所述多个处理器的合计功率消耗不超过所述第一功率分配。
7.根据权利要求5所述的方法,其中:
第一时间量介于对应于所述功率管理处理器获得所述性能信息的时间与对应于所述第一处理器响应于所述功率管理处理器执行所述第一指令以转变所述第一处理器的性能状态而从所述第一性能状态转变到所述第二性能状态的时间之间;
第二时间量介于对应于所述系统控制器获得所述性能信息的时间与对应于所述第一处理器响应于所述系统控制器执行指令以转变所述第一处理器的性能状态而从所述第一性能状态转变到所述第二性能状态的时间之间;并且
所述第一时间量小于所述第二时间量。
8.根据权利要求5所述的方法,还包括:
从所述系统控制器接收用于所述第一处理集群的第二功率分配,其中所述第二功率分配不同于所述第一功率分配;
根据所述第二功率分配来确定所述多个处理器的相应性能状态,其中所述第一处理器的所确定的相应性能状态不同于所述第二性能状态;以及
执行指令以将所述多个处理器转变到所述相应性能状态,包括执行指令以将所述第一处理器从所述第二性能状态转变到所确定的相应性能状态。
9.根据权利要求1所述的方法,其中所述性能信息包括用于所述多个处理器中的一个或多个处理器的活动水平、能量消耗、温度测量、性能限制违反计数和/或节制指令。
10.根据权利要求1所述的方法,其中,根据指示所述第一处理器的温度增加的所述性能信息,所述第二性能状态是与比所述第一性能状态低的功率消耗相关联的状态。
11.根据权利要求1所述的方法,其中,根据指示在相应时间段中相应性能限制违反次数超过所述相应时间段的阈值性能限制违反次数的所述性能信息,所述第二性能状态是与比所述第一性能状态低的功率消耗相关联的状态。
12.根据权利要求1所述的方法,其中,根据指示所述多个处理器中的不同于所述第一处理器的第三处理器从关断状态转变到接通状态的所述性能信息,所述第二性能状态是与比所述第一性能状态低的功率消耗相关联的状态。
13.根据权利要求1所述的方法,其中,根据指示所述多个处理器中的不同于所述第一处理器的第四处理器从接通状态转变到关断状态的所述性能信息,所述第二性能状态是与比所述第一性能状态高的功率消耗相关联的状态。
14.根据权利要求1所述的方法,还包括:
执行所述一个或多个调试指令以在所述多个处理器中的所述相应处理器执行应用指令的同时对所述相应处理器进行调试。
15.根据权利要求1所述的方法,其中当所述第一处理器在所述第二性能状态下操作时,执行所述一个或多个调试指令以对所述第一处理器进行调试。
16.根据权利要求1所述的方法,还包括:
通过在所述多个处理器执行应用指令之前修改所述设备的默认硬件状态来初始化用于所述多个处理器的一个或多个设置。
17.根据权利要求1所述的方法,其中所述第一处理集群包括耦接到所述第一处理集群中的所述多个处理器中的一个或多个处理器的高速缓存,所述方法还包括:
使用所述第一处理集群的所述高速缓存对所述相应处理器进行调试。
18.根据权利要求1所述的方法,还包括:
与功率管理电路通信,所述功率管理电路具有向所述设备供电的一个或多个电压调节器。
19.一种电子设备,包括:
第一处理集群,所述第一处理集群包括:
多个处理器;和
功率管理处理器,所述功率管理处理器不同于所述多个处理器;
其中所述功率管理处理器被配置为:
获得关于所述多个处理器的性能信息;
根据所获得的性能信息,独立于所述多个处理器中的其他处理器的相应性能状态,执行第一指令以将所述多个处理器中的第一处理器从第一性能状态转变到不同于所述第一性能状态的第二性能状态;以及
执行一个或多个调试指令以对所述多个处理器中的相应处理器进行调试。
20.一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质具有存储在其上的指令,所述指令当由第一处理集群的功率管理处理器执行时致使所述功率管理处理器执行包括以下各项的操作:
获得关于所述第一处理集群的多个处理器的性能信息;
根据所获得的性能信息,独立于所述多个处理器中的其他处理器的相应性能状态,执行第一指令以将所述多个处理器中的第一处理器从第一性能状态转变到不同于所述第一性能状态的第二性能状态;以及
执行一个或多个调试指令以对所述多个处理器中的相应处理器进行调试。
21.一种用于管理第一处理集群处的功率的装置,所述第一处理集群具有多个处理器和不同于所述多个处理器的功率管理控制器,其中所述第一处理集群被包括在电子设备中,所述装置包括:
用于获得关于所述多个处理器的性能信息的构件;
用于根据所获得的性能信息,独立于所述多个处理器中的其他处理器的相应性能状态,执行第一指令以将所述多个处理器中的第一处理器从第一性能状态转变到不同于所述第一性能状态的第二性能状态的构件;以及
用于执行一个或多个调试指令以对所述多个处理器中的相应处理器进行调试的构件。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US63/247,225 | 2021-09-22 | ||
US17/666,420 US11797045B2 (en) | 2021-09-22 | 2022-02-07 | Dynamic voltage and frequency scaling (DVFS) within processor clusters |
US17/666,420 | 2022-02-07 | ||
PCT/US2022/075566 WO2023049605A1 (en) | 2021-09-22 | 2022-08-29 | Dynamic voltage and frequency scaling (dvfs) within processor clusters |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117957510A true CN117957510A (zh) | 2024-04-30 |
Family
ID=90796619
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280062050.5A Pending CN117957510A (zh) | 2021-09-22 | 2022-08-29 | 处理器集群内的动态电压和频率调整(dvfs) |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117957510A (zh) |
-
2022
- 2022-08-29 CN CN202280062050.5A patent/CN117957510A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7752470B2 (en) | Method and system for power management including device controller-based device use evaluation and power-state control | |
US7197652B2 (en) | Method and system for energy management in a simultaneous multi-threaded (SMT) processing system including per-thread device usage monitoring | |
TWI628665B (zh) | 記憶體裝置電力管理器及其方法 | |
US7392411B2 (en) | Systems and methods for dynamic voltage scaling of communication bus to provide bandwidth based on whether an application is active | |
US7155623B2 (en) | Method and system for power management including local bounding of device group power consumption | |
US8924758B2 (en) | Method for SOC performance and power optimization | |
US20170115712A1 (en) | Server on a Chip and Node Cards Comprising One or More of Same | |
Haj-Yahya et al. | SysScale: Exploiting multi-domain dynamic voltage and frequency scaling for energy efficient mobile processors | |
EP2894542B1 (en) | Estimating scalability of a workload | |
EP2853984A2 (en) | Constraining processor operation based on power envelope information | |
US20070043965A1 (en) | Dynamic memory sizing for power reduction | |
US20120023345A1 (en) | Managing current and power in a computing system | |
TW202109235A (zh) | 透過連接器向裝置提供電力之系統以及方法 | |
US11733757B2 (en) | Hierarchical power management architecture for SoC-based electronic devices | |
US10452117B1 (en) | Processor energy management system | |
US10572183B2 (en) | Power efficient retraining of memory accesses | |
US10732697B2 (en) | Voltage rail coupling sequencing based on upstream voltage rail coupling status | |
JP2022036904A (ja) | エネルギー効率の良いコア電圧選択装置及び方法 | |
WO2023081054A1 (en) | Performance management during power supply voltage droop | |
CN117957510A (zh) | 处理器集群内的动态电压和频率调整(dvfs) | |
US11797045B2 (en) | Dynamic voltage and frequency scaling (DVFS) within processor clusters | |
KR20240042126A (ko) | 프로세서 클러스터들 내의 동적 전압 및 주파수 스케일링 (dvfs) | |
TW202324034A (zh) | 用於基於SoC的電子設備的分層級電源管理架構 | |
CN117461011A (zh) | 用于基于SoC的电子设备的分级功率管理架构 | |
WO2022272213A1 (en) | Dynamic power management for soc-based electronic devices |
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 |