CN112771470A - 用于对多个知识产权主体和共享电源轨进行共同功率控制的***、装置及方法 - Google Patents
用于对多个知识产权主体和共享电源轨进行共同功率控制的***、装置及方法 Download PDFInfo
- Publication number
- CN112771470A CN112771470A CN201980043146.5A CN201980043146A CN112771470A CN 112771470 A CN112771470 A CN 112771470A CN 201980043146 A CN201980043146 A CN 201980043146A CN 112771470 A CN112771470 A CN 112771470A
- Authority
- CN
- China
- Prior art keywords
- power
- bodies
- soc
- shared
- core
- 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
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/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
-
- 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
- G06F1/3228—Monitoring task completion, e.g. by use of idle timers, stop commands or wait commands
-
- 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/3296—Power saving characterised by the action undertaken by lowering the supply or operating voltage
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
-
- 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
-
- 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
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Power Sources (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
Abstract
在一个实施例中,片上***包括:至少一个核心;耦合至该至少一个核心的多个知识产权(IP)主体;向多个IP主体提供工作电压的共享电源轨;以及功率控制器,该功率控制器用于响应于对多个IP主体处于空闲状态并且至少一个核心处于活动状态的指示,在至少一个核心保持活动状态的同时使共享电源轨掉电。其他实施例被描述并被要求保护。
Description
技术领域
实施例涉及集成电路中的功率控制。
背景技术
在现代片上***(SoC)和处理器中,常见若干知识产权(IP)主体共享电源轨。尽管这些IP主体中的每个都能够被单独进行功率控制,但由于至少部分这样的IP主体仍有可能从软件被访问,因此即使在它们不忙碌时,通常也仍需保持通电。即使对单个IP主体进行功率门控,也会因为泄漏而发生功率损耗。
半导体处理和逻辑设计的进步已经允许集成电路设备中可能存在的逻辑数量的增加。其结果是,计算机***配置已经从***中的单个或多个集成电路发展到单独集成电路上的多个硬件线程、多个核心、多个设备、和/或各完整***。此外,随着集成电路密度的增长,对计算***(从嵌入式***到服务器)的功率要求也不断升级。此外,软件的低效率及其对硬件的要求也导致计算设备能耗的增加。实际上,一些研究表明,计算设备消耗了一个国家(诸如美国)全部电力供应的相当大的百分比。其结果是,迫切需要与集成电路相关联的能量效率和节约。随着服务器、台式计算机、笔记本电脑、UltrabooksTM(超极本)、平板电脑、移动电话、处理器、嵌入式***等变得愈加普及(从传统计算机、汽车、和电视涵盖到生物技术),这些需求将不断增加。
附图说明
图1是根据本发明实施例的片上***(SoC)的框图。
图2是根据本发明一个实施例的方法的流程图。
图3是根据本发明另一实施例的方法的流程图。
图4是根据本发明又一个实施例的方法的流程图。
图5是图示出根据实施例的针对共享电源轨的掉电次序的示图。
图6是图示出根据实施例的针对共享电源轨的上电次序的示图。
图7是根据本发明实施例的***的一部分的框图。
图8是根据本发明实施例的处理器的框图。
图9是根据本发明另一实施例的多域处理器的框图。
图10是根据本发明另一实施例的处理器的框图。
图11是根据本发明实施例的代表性SoC的框图。
图12是根据本发明实施例的另一示例SoC的框图。
图13是可以与实施例一起使用的示例***的框图。
图14是可以与实施例一起使用的另一示例***的框图。
图15是代表性计算机***的框图。
图16是根据本发明实施例的***的框图。
图17是图示出根据实施例的用于制造集成电路以执行操作的IP核心开发***的框图。
具体实施方式
在各种实施例中,具有一个或多个处理单元(例如,一个或多个通用处理器核心)的SoC或其他处理器还可以包括多个知识产权(IP)主体。在不同实施例中可以存在许多不同类型的IP主体。示例IP主体包括各种片上专用处理单元、接口电路等,尽管本发明的范围不限于此。例如,IP主体可以包括媒体处理器、固定功能处理器、许多不同种类的传感器、接口电路等等。
利用本文描述的SoC,多个IP主体可以耦合到共享电源轨。实施例提供了使这样的多个IP主体除了被独立地功率控制之外还能够作为组被共同地功率控制的技术。以这种方式,可以通过对耦合至共享电源轨的IP主体以及共享电源轨自身(以及还有其潜在电源)二者进行掉电,来实现更大的功率节省。即使当SoC的其他部分保持处于活动、运行状态时,实施例也可以实现IP主体和共享电源轨的这样的共同功率控制和掉电。例如,当SoC处于所谓的封装C0状态,并且确定耦合到特定共享电源轨的所有IP主体处于至少给定的低功率状态时,可以对这些IP主体和共享电源轨进行掉电。并且可选地,针对这些组件已分配的任何功率预算可以被重新分配给SoC中运行的组件,诸如一个或多个通用处理器核心。
在实施例中,功率控制器可以被配置为当确定耦合到特定共享电源轨的所有IP主体处于空闲状态时执行这样的组IP主体/电源轨掉电。为此,功率控制器可以使每个IP主体在空闲时转换为功率门控状态,在该功率门控状态下通过功率门电路使该IP主体与从共享电源轨接收工作电压解耦。然后,当功率控制器确定耦合到共享电源轨的所有IP主体处于至少特定的低功率状态(例如,所谓的设备低功耗状态,诸如设备D3低功率状态)时,可以阻止经由任何共享总线对这些IP主体进行的所有访问。更进一步,功率控制器可以使IP主体和共享电源轨二者掉电。一旦处于此状态,如果软件主体寻求对处于掉电状态的这些IP主体中的任何主体的访问,则功率控制器可以执行低功率状态退出协议,以使共享电源轨和这些IP主体中的至少一者退出空闲状态并且通电。
在实施例中,可以使共享电源轨和多个IP主体二者处于低功率状态的这种共同空闲状态例如经由功率控制器对于***软件是可视的。在特定实施例中,当已经进入该状态时,功率控制器可以向操作***或其他***软件通传确认消息,在此该状态可以被OS标识为TC Cold(TC冷)状态。利用这个指示,操作***或其他***软件可以防止请求者访问这样的IP主体,至少直到通电协议完成为止。
现在参照图1,示出了片上***(SoC)的框图。如图所示,SoC 100包括各种不同的组件。如图所示,SoC 100包括中央处理单元(CPU)110,该中央处理单元(CPU)110又可以耦合到多个知识产权(IP)主体1300-130n。尽管为了便于图示示出了CPU 110和IP主体130之间的直接耦合,但是应理解,在一些情况下,***控制器或其他集线器电路可以接口连接在CPU 110和IP主体130之间。在一些情况下,这样的电路可以在CPU 110自身内实现。
本文特别感兴趣的是,应注意IP主体130耦合到公共或共享电源轨127。更具体地,共享电源轨127将向IP主体130提供工作电压。在所示的实施例中,该工作电压是从集成电压调整器(IVR)125接收到的调整电压。IVR 125又从片外源(诸如电源、外部电压调整器等)接收输入电压。尽管以图1中的该特定实施方式示出,但是应理解,在一些情况下,共享电源轨127可以从片外源直接接收工作电压。
在本文的实施例中,由于IP主体130全部耦合到共享电源轨,所以当所有IP主体处于空闲功率状态时,可以通过使共享电源轨127掉电(并且在一些情况下还使IVR 125掉电)来实现更大的功率节省。
如图1进一步所示,可以由功率管理单元(PMU)120来执行对SoC 100内的IP主体130、CPU 110和其他组件的功率控制。如图所示,PMU 120可以控制IVR 125和为CPU 110提供调整电压的另一IVR 105。PMU 120可以被构造为对共享电源轨127执行有序的掉电和上电,并且进一步控制共享总线128上的功率行为,该共享总线128充当IP主体130和CPU 110之间的共享通信总线。
为了实现在SoC 100的其余部分上电(例如,处于封装C0或其他活动功率状态)的情况下动态地使共享电源轨127断电的能力,PMU 120可以与诸如在CPU 110上执行的操作***(OS)的软件进行交互。为此,该OS可以维护列出耦合到共享电源轨的IP主体的功率状态的表。如图1所示,在一个实施例中,可以在随机存取存储器150中维护表155以存储该信息。在实施例中,表155可以包括多个条目,每个条目标识相应IP主体和相关联的功率状态。为此,每个条目可以包括至少两个字段,一个字段标识相应IP主体并且第二个字段标识其功率状态(例如,活动、空闲、或诸如完全活动状态和空闲状态(诸如功率门状态)之间的中间功率状态之类的过渡功率状态)。当OS确定耦合到共享电源轨的所有IP主体处于非活动状态时,OS可以向PMU 120发送指示以使其将共享电源轨断电,例如共享电源轨127。以这种方式,可以在正常SoC操作期间实现降低的功耗。更进一步,当在这种情况下,当IP主体130和相应共享电源轨127被掉电时,PMU 120可以利用原本会被分配给IP主体130的功率预算来为诸如CPU 110之类的其他组件提供附加的功率预算。
如进一步示出的,SoC 110还包括只读存储器140,其可以存储诸如BIOS或其他固件代码之类的固件。在本文的实施例中,这样的固件可以向OS提供声明145,该声明145标识了存在于给定共享电源轨上的IP主体,使得可以进行本文描述的功率管理操作。
当然,SoC 100可以包括附加组件。在所示的实施例中,可以存在一个或多个通信电路160。这样的通信电路160可以包括有线和无线通信电路二者,使得能够使用有线或无线技术与其他设备进行交互。还如图所示,接口电路170可以提供到诸如其他类型的处理器、***设备之类的其他芯片组件的接口。应理解,尽管以这种高级别示出了图1的实施例,但是许多变型和替代是可行的。
现在参照图2,示出了根据本发明一个实施例的方法的流程图。如图2所示,方法200是如本文描述的用于对共享电源轨进行功率控制的方法。为此,方法200可以由诸如PMU或其他控制电路之类的功率控制器执行。同样地,方法200可以由硬件电路、固件软件和/或其组合来执行。如图所示,方法200开始于接收针对IP主体进入空闲状态的请求(框210)。在一个实施例中,可以从IP主体的驱动器接收这样的请求。应理解,这种驱动器自身可以在主机处理器(诸如,CPU)上执行,并且可以基于其对IP主体的活动或非活动的知识(例如,该IP主体当前未被使用并且预计在例如当前引导周期期间、阈值持续时间内等时间段上不被使用),来请求空闲状态。
接下来,控制转到框220,在框220处,使IP主体进入空闲状态并对其进行功率门控。为此,PMU可以发起行动以使IP主体进入低功率状态。这样的行动可以包括向IP主体发送低功率状态命令,以使其执行断电协议,该协议可以包括将IP主体中存在的任何状态存储到另一位置(例如,片上存储装置)。响应于完成掉电行动,应注意,IP主体可以向PMU回送确认,以指示其已准备好进行掉电。此时,为了降低功耗,PMU可以例如通过激活功率门电路(IP主体通过该电路接收其工作电压)来对IP主体进行功率门控。尽管这可以降低功耗,但是仍然可能存在泄漏。
同样地,实施例可以在确定共享电源轨上的所有IP主体处于低功率状态时实现附加的功率节省。相应地,如图2进一步所示,在菱形框230处,可以确定共享电源轨上的所有IP主体是否都处于空闲状态。在实施例中,PMU可以响应于接收到例如来自OS的、指示共享电源轨的所有IP主体处于空闲的消息而做出该确定。因此,共享电源轨(以及可选的共享通信总线)可以被掉电。同样地,可以响应于接受从例如固件接收到的电源轨断电消息而做出菱形框230处的该确定,该固件又在确定耦合到特定共享电源轨的所有IP主体处于空闲状态时从OS接收掉电请求。
仍然参照图2,如果没有接收到这样的消息,则菱形框230的该确定是并非共享电源轨上所有的IP主体都处于空闲状态。因此,没有针对方法200的进一步操作发生。如果确定所有IP主体处于空闲状态,则控制转到框240,在框240处可以使共享电源轨关断。为此,在实施例中,PMU可以向针对共享电源轨生成调整电压的IVR发送掉电消息,以既停止IVR输出调整电压并且在一些情况下并根据IVR进一步提供什么调整电压还使IVR自身也掉电,从而进一步降低功耗。
接下来,在框250处,还可以可选地使共享总线掉电。例如,当共享总线仅耦合到处于空闲状态的IP主体(或其他端点主体)时,该共享总线可被掉电。即使一个或多个设备,诸如耦合到该共享总线的接口电路或CPU仍处于通电状态。
现在参照图3,示出了根据本发明另一实施例的方法的流程图。更具体地,如图3所示,方法300是一种用于使共享电源轨以及耦合到共享电源轨的一个或多个IP主体通电的方法。同样地,方法300可以由诸如PMU之类的、可被实现为硬件电路、固件软件和/或其组合的功率控制器或其他控制电路来执行。
如图所示,方法300开始于接收针对IP主体从空闲状态开始进行通电的请求(框310)。在一个实施例中,可以从OS接收这样的请求。接下来,控制进行到框320,在框320处PMU可以使共享电源轨(以及关断状态下的共享通信总线)通电。接下来在框330,使IP主体进入活动状态。
如图3进一步所示,在菱形框340处,确定是否已经接收到对IP主体处于活动状态的确认。在一个特定实施例中,可以响应于接受到例如在OS中接收到的来自IP主体的确认而进行该确定。此后,在框350处,可以启用对IP主体的访问。例如,OS可以通传该通电状态,使得与该IP主体相关联的一个或多个驱动器可以访问该主体。应理解,尽管以这种高级别示出了图3的实施例,但是许多变型和替代是可行的。
现在参照图4,示出了根据本发明又一实施例的方法的流程图。如图4所示,方法400是根据实施例的用于控制SoC中的功耗的方法。同样地,方法400可以由诸如PMU或其他控制电路的、可被实现为硬件电路、固件软件和/或其组合的功率控制器来执行。
如图所示,方法400开始于接收共享电源轨被掉电的指示(框410)。该指示可以在PMU中例如从OS中接收,该OS经由BIOS或其他固件来报告耦合到共享电源轨的所有IP主体处于空闲状态,使得共享电源轨自身可被掉电。
在对轨的掉电行为发生之后,该指示因此是肯定的,使得控制接下来进行到框420。在框420处,PMU可以更新用于SoC的可用功率预算。也就是说,SoC可以具有给定分配的功率预算,其中SoC的每个组件被提供有总功率预算的一部分。当共享电源轨上的多个IP主体处于掉电状态时,针对这些组件已分配的功率预算变得可用于提供给其他组件。可照此来更新可用功率预算。例如,假设SoC具有15瓦(W)的总功率预算,并且具有3个IP主体的共享电源轨消耗总功率预算中的2W。在实施例中,当共享电源轨和IP主体被掉电时,该2W成为SoC的附加可用功率预算。在不是实施例的情况下,假设为核心分配了仅8W,这使得核心能够以2GHz运行。作为代替,在共享电源轨上的3个IP主体被掉电的实施例中,核心可以接收附加的2瓦功率,并且通过使用10W来以2.2GHz(作为示例)运行,实现了性能提升。
同样地,在框430处可以基于更新后的可用功率预算为例如SoC的一个或多个CPU分配这种附加功率。随着这种附加功率增加,这样的一个或多个CPU可以以更高频率和/或更高电压运行。当然,在不同情况下,SoC的其他组件可以被分配在这种情况下增加的功率预算。还应理解,如果请求进行对共享电源轨和一个或多个IP主体通电,则发生功率预算的重新分配,使得存在可用功率预算来为共享电源轨和一个或多个IP主体供电。应理解,尽管以这种高级别示出了图4的实施例,但是许多变型和替代是可行的。
现在参照图5,示出了例示根据实施例的共享电源轨的掉电次序的示图。如图5所示,状态图500开始于相应IP主体向OS通传它们处于空闲状态。更具体地,对空闲状态的这些通传可以由主体的驱动器(其自身可以在通用核心上执行)来发送。
OS接下来可以确定给定共享电源轨上的所有IP主体处于空闲状态。可以参照标识出公共电源轨上的所有主体处于空闲功率状态的表来做出该确定。同样地,OS可以向BIOS或其他固件发送掉电消息,该BIOS或其他固件又向功率管理控制器(PMC)发起掉电启用信号,以使适当的硬件掉电。在这种情况下,PMC可以向各个IP主体(如果它们尚未被适当掉电)、以及共享电源轨和/或向该共享电源轨提供工作电压的IVR发送掉电消息。响应于该行为,PMC可以向BIOS发送共享电源轨已掉电的确认消息,BIOS又可以可选地向OS确认共享电源轨已掉电。此时,可选地,共享总线也可被掉电。应注意,在其中共享电源轨(和共享通信总线)上的所有这种IP主体被掉电的这种情况下,SoC的其余部分(诸如一个或多个CPU)可以继续以活动状态运行(并且可以接收附加功率分配)。
现在参照图6,示出了图示出根据实施例的共享电源轨的上电次序的示图。如图6所示,状态图600开始于发送针对子***(即,共享电源轨和耦合到该共享电源轨的一个或多个IP主体)的唤醒消息。在实施例中,该唤醒消息可以在OS中发起,例如响应于共享电源轨的一个或多个IP主体要被通电以执行一些操作的一些触发。如图所示,该通传可以经由BIOS被发送至PMC。接下来,PMC可以使各种硬件通电。例如,PMC可以使IVR和所存储的电源轨被供电,以向一个或多个IP主体提供工作电压,并且因此使给定的IP主体自身能够通电。当该操作完成时,PMC可以经由BIOS向OS通传对通电操作的确认。此后,OS可以启用相应IP主体的驱动器,使得能够访问IP主体。应理解,尽管以这种高级别示出了图6的实施例,但是许多变型和替代是可行的。
例如,应注意,例如由于新设备连接或其他原因,PC或其他硬件也可以发起共享电源轨和一个或多个IP主体的通电。或者在IP主体之一是USB接口的情况下,用户移动基于USB的鼠标,以使该鼠标和整个***脱离空闲。在这样的情况下,功率控制器可以通过到OS的、进而触发新供电的IP主体的驱动器的中断来使该驱动器被唤醒。
利用实施例,大量IP主体或IP主体组可以集成在SoC上,使得在确定耦合到共享电源轨的一组IP主体全部处于适当的低功率状态时,不会引起附加泄漏或者封装C0状态下的空闲功率。更进一步,利用实施例,在SoC处于活动状态的同时,功率控制器可以选择性地使IP主体和相关联的共享电源轨掉电。换句话说,功率控制器在进行该组掉电之前无需等待SoC的完全空闲状态(在该状态下OS和所有其他通用处理器核心以及其他处理单元都变为空闲)。作为代替,当确定出一个组中的所有IP主体处于空闲并且OS指示该组IP主体处于适当的空闲状态(例如,给定的设备低功率状态)时,功率控制器可以执行本文描述的掉电行为。在实施例中,只要一组中的IP主体处于空闲并且OS通知功率控制器这些主体处于D3状态并且该操作***将不允许软件访问这些IP主体中的任何主体(直到已经完成适当的低功率状态退出过程为止),则功率控制器可以对该组进行门控/掉电。
相反,在不利用实施例的情况下,如本文所描述,IP主体和共享电源轨二者进入低功率状态的能力可能显著降低。也就是说,在不利用实施例的情况下,如果在引导时间启用了IP主体,则软件主体可以在任何时间潜在地访问IP主体,从而IP主体在空闲时不会在软件/核心活动时被功率门控。作为代替,利用实施例,技术被提供以:在其他组件(诸如一个或多个核心和软件)处于活动状态时,对一组IP主体和共享电源轨进行掉电。实施例可以适用于所有平台(例如,客户端/设备/服务器),并且当软件运行时(即使处于封装C0状态)也可以实现部分供电的SoC,并重新分配功率预算至SoC中真正正在进行活动工作的部分。
实施例可以用在不同的***类型中。现在参照图7,示出了根据本发明实施例的***的一部分的框图。如图7所示,***700可以包括各个组件,包括被示多核处理器的处理器710。处理器710可以经由外部电压调整器760耦合到电源750,该外部电压调整器760可以执行第一电压转换以向处理器710提供初级调整电压Vreg。
如图所示,处理器710可以是包括多个核心720a-720n的单晶片处理器。此外,每个核心可以与IVR 725a–725n相关联,这些IVR 725a–725n接收初级调整电压并生成要被提供给与IVR相关的处理器的一个或多个主体的工作电压。因此,可以提供IVR实现以允许对电压的细粒度控制,并且由此进行对每个单独核心的功率和性能的细粒度控制。同样地,每个核心可以以独立电压和频率运行,从而实现了极大的灵活性,并为平衡功耗与性能提供了广泛的机会。在一些实施例中,多个IVR的使用使得能够将组件分组至单独的功率面(powerplane)中,使得IVR仅为组中的那些组件调整功率并供电。在功率管理期间,当处理器被置于某低功率状态时,一个IVR的给定功率面可以被掉电或关断,而另一IVR的另一功率平面保持活动或完全供电。类似地,核心720可以包括独立的时钟生成电路(诸如,一个或多个锁相环(PLL))或与独立的时钟生成电路相关联,以独立地控制每个核心720的工作频率。
仍然参照图7,处理器内可以存在附加组件,包括输入/输出接口(IF)732、另一接口734、以及集成存储器控制器(IMC)736。如图所示,这些组件中的每一者可以由另一集成电压调整器725x供电。这些各种组件(即,接口732、734和IMC 736)经由共享电源轨耦合到IVR 725x。同样地,在所有这些组件(以及耦合到此共享电源轨的任何其他IP主体)处于空闲状态的情况下,共享电源轨和潜在地还有IVR 725x也可被掉电,从而降低功耗并使得任何相关联的功率预算能够被重新分配给例如核心720。在一个实施例中,接口732可以实现Quick Path Interconnect(快速路径互连:QPI)互连的操作,该互连提供包括多个层(包括物理层、链路层和协议层)的缓存一致性协议中的点对点(PtP)链路。接口734又可以经由***组件快速互连(PCIeTM)协议进行通信。
还示出了功率控制单元(PCU)738,其可以包括包含硬件、软件和/或固件的电路,以执行关于处理器710的功率管理操作。如图所示,PCU 738经由数字接口762向外部电压调整器760提供控制信息,以使该电压调整器生成适当的调整电压。PCU 738还经由另一数字接口763向IVR 725提供控制信息,以控制所生成的工作电压(或者使相应IVR在低功率模式下被禁用)。并且如本文描述的,当耦合到这样的电源轨的组件处于空闲状态时,该控制可以包括对共享电源轨和IVR二者进行掉电。在这种情况下,如本文描述的,PCU 738可以进一步将来自这些掉电组件的任何功率预算重新分配给其他活动组件(诸如,核心720)。在各种实施例中,PCU 738可以包括各种功率管理逻辑单元或电路,以执行基于硬件的功率管理。这样的功率管理可以是完全处理器控制式的(例如,由各种处理器硬件来控制,并且可以由工作负载和/或功率、热或其他处理器约束来触发),和/或功率管理可以响应于外部源(例如,平台或功率管理源或***软件)被执行。
在图7中,PCU 738被示为作为单独于处理器的电路存在。在其他情况下,PCU 738可以在核心720中给定的一者或多者上执行。在一些情况下,PCU 738可以实现为被配置为微控制器(专用或通用)或执行其自己的专用功率管理代码(有时称为P码)的其他控制逻辑。在又一些其他实施例中,可以在处理器外部实现要由PCU 738执行的功率管理操作,诸如借助于单独的功率管理集成电路(PMIC)或处理器外部的其他组件。在又一些其他实施例中,可以在BIOS或其他***软件内实现要由PCU 738执行的功率管理操作。
实施例可以特别适用于其中多个核心中的每一者可以以独立电压和频率点运行的多核处理器。如本文使用的,术语“域”用于表示以相同电压和频率点运行的硬件和/或逻辑的集合。此外,多核处理器还可以包括其他非核心处理引擎,诸如固定功能单元、图形引擎等。这样的处理器可以包括除核心之外的独立域,诸如与图形引擎相关联的一个或多个域(在此称为图形域)以及与非核心电路相关联的一个或多个域(在本文中称为非核心或***主体)。尽管存在可以在单个半导体晶片上形成多域处理器的许多实施方式,但是可以通过多芯片封装(其中不同域可以存在于单个封装的不同半导体晶片上)来实现其他实施方式。
尽管为了便于图示而未示出,但是应理解,处理器710内可以存在附加组件,诸如附加控制电路,以及诸如内部存储器(例如,一级或多级缓存存储器层次等)之类的其他组件。此外,尽管在图7的实施方式中示出了集成的电压调整器,但是实施例不限于此。例如,其他调整电压可以从外部电压调整器760或一个或多个附加外部调整电压源提供至片上资源。
应注意,本文描述的功率管理技术可以独立于基于操作***(OS)的功率管理(OSPM)机制并与之互补。根据一种示例OSPM技术,处理器可以在各种性能状态或水平(所谓的P状态,即从P0到PN)下运行。通常,P1性能状态可以对应于可由OS请求的最高保证性能状态。除了此P1状态之外,OS还能够请求更高性能的状态,即P0状态。因此,该P0状态可以是伺机、超频、或狂飙(Turbo)模式状态,其中,在功率和/或热预算可用时,处理器硬件可以将处理器或其至少一部分配置为以高于保证频率的频率运行。在许多实施方式中,处理器可以包括在制造期间被熔接或以其他方式写入到处理器中的多个所谓的箱频率(binfrequency),这些箱频率在P1保证的最大频率之上,超过特定处理器的最大频率峰值。此外,根据一种OSPM机制,处理器可以在各种功率状态或级别下运行。关于功率状态,OSPM机制可以指定不同的功耗状态,通常称为C状态,C0、C1至Cn状态。当核心活动时,其在C0状态下运行,而当核心空闲时,其可以被置于核心低功耗状态(也称为核心非零C状态(例如,C1-C6状态)),每个C状态处于更低的功耗水平(使得C6是比C1更深度的低功率状态等等)。
应理解,在不同的实施例中可以单独或组合地使用许多不同类型的功率管理技术。作为代表性示例,功率控制器可以控制处理器通过某一形式的动态电压频率缩放(DVFS)进行功率管理,其中可以动态地控制一个或多个核心或其他处理器逻辑的工作电压和/或工作频率,以在某些情况下降低功耗。在示例中,可以使用可从Intel Corporation,Santa Clara,CA(加利福尼亚州圣塔克拉拉市的英特尔公司)获得的Enhanced IntelSpeedStepTM(增强型英特尔SpeedStepTM)技术来执行DVFS,以在最低功耗水平下提供最佳性能。在另一示例中,可以使用英特尔TurboBoostTM技术来执行DVFS,以使得一个或多个核心或其他计算引擎能够基于状况(例如,工作负载和可用性)来以高于保证工作频率运行。
在某些示例中可以使用的另一功率管理技术是不同计算引擎之间工作负载的动态交换。例如,处理器可以包括以不同的功耗水平运行的非对称核心或其他处理引擎,使得在功率受限的情况下,可以动态地切换一个或多个工作负载以在较低功率的核心或其他计算引擎上执行。另一示例性功率管理技术是硬件工作周期(HDC),其可以根据工作周期周期性地启用和禁用核心和/或其他计算引擎,使得一个或多个核心可以在工作周期的不活动时段期间不活动,并且在工作周期的活动时段期间活动。
也可以在运行环境中存在约束时使用功率管理技术。例如,当遇到功率和/或热约束时,可以通过降低工作频率和/或电压来降低功率。其他功率管理技术包括对指令执行速率进行节流或限制指令的调度。更进一步,对于给定指令集架构的指令可行的是,包括表示或隐含关于功率管理操作的方向。尽管用这些特定示例进行了描述,但是应理解,在特定实施例中可以使用许多其他功率管理技术。
实施例可以在包括服务器处理器、台式机处理器、移动处理器等的针对各种市场的处理器中实现。现在参照图8,示出了根据本发明实施例的处理器的框图。如图8所示,处理器800可以是包括多个核心810a-810n的多核处理器。在一个实施例中,每个这样的核心可以是独立功率域,并且可以被配置为基于工作负载进入和退出活动状态和/或最大性能状态。一个或多个核心810可以与其他核心异构,例如具有不同的微架构、指令集架构、流水线深度、功率和性能能力。各种核心可以经由互连815耦合到包括各种组件的***主体820。如图所示,***主体820可以包括共享缓存830,该共享缓存830可以是最后一级缓存。此外,***主体可以包括集成存储器控制器840,以例如经由存储器总线与***存储器(图8中未示出)通信。***主体820还包括各种接口850和功率控制单元855,该功率控制单元855可以包括执行本文描述的功率管理技术的逻辑。为此,PCU 855可以包括共享电源轨控制电路856,其可以在耦合到共享电源轨的所有IP主体(诸如各种非核心电路)在不活动时要进行掉电的情况下,使共享电源轨和相关联的IVR掉电。
此外,通过接口850a-850n,可以建立到诸如***设备、大容量存储装置之类的各种片外组件的连接。尽管以图8的实施例中的该特定实施方式示出,但是本发明的范围不限于此。
现在参照图9,示出了根据本发明另一实施例的多域处理器的框图。如图9的实施例中所示,处理器900包括多个域。具体而言,核心域910可以包括多个核心910a-910n、图形域920,该图形域920可以包括一个或多个图形引擎,并且可以进一步存在***主体域950。在一些实施例中,***主体域950可以以与核心域相比独立的频率执行,并且可以始终保持通电以处理功率控制事件和功率管理,使得域910和920可被控制以动态地进入和退出高功率和低功率状态。域910和920中的每一者可以以不同的电压和/或功率运行。应注意,尽管仅示出了具有三个域,但是应理解,本发明的范围不限于此,并且在其他实施例中可以存在附加域。例如,可以存在每个核心域包括至少一个核心的多个核心域。
通常,除了各种执行单元和附加处理元件之外,每个核心910还可以包括低级缓存。各种核心又可以彼此耦合并且耦合到由最后一级缓存(LLC)940a-940n的多个单元形成的共享缓存存储器。在各种实施例中,LLC 940可以在核心和图形引擎以及各种媒体处理电路之间共享。如图所示,环形互连930因此将核心耦合在一起,并在核心、图形域920和***主体电路950之间提供互连。在一个实施例中,互连930可以是核心域的一部分。然而,在其他实施例中,环形互连可以具有其自己的域。
如图进一步所示,***主体域950可以包括显示控制器952,其可以提供对相关联显示器的控制和与相关联显示器的界面。如图进一步所示,***主体域950可以包括功率控制单元955,其可以包括执行本文描述的功率管理技术的逻辑。为此,PCU 955可以包括共享电源轨控制电路956,其可以在耦合至共享电源轨的所有IP主体在不活动时要进行掉电的情况下使该共享电源轨和相关联IVR掉电。
如在图9中进一步所示,处理器900还可以包括集成存储器控制器(IMC)970,其可以提供到***存储器(诸如,动态随机存取存储器(DRAM))的接口。可以存在多个接口980a-980n,以实现处理器和其他电路之间的互连。例如,在一个实施例中,可以提供至少一个直接媒体接口(DMI)接口以及一个或多个PCIeTM接口。更进一步,为了提供诸如附加处理器或其他电路之类的其他主体之间的通信,还可以提供一个或多个QPI接口。尽管以这种高级别示出了图9的实施例,但是应理解,本发明的范围不限于此。
现在参照图10,示出了根据本发明另一实施例的处理器的框图。在图10的实施例中,处理器1000可以是包括多个域的SoC,这些域中的每个域可被控制以独立工作电压和工作频率运行。作为特定的说明性示例,处理器1000可以是可从Intel Corporation(英特尔公司)获得的基于Architecture CoreTM的处理器,诸如i3、i5、i7或另一此类处理器。但是,其他低功率处理器,诸如可从Sunny vale,CA(加利福尼亚州森尼韦尔)的Advanced Micro Devices,Inc.(AMD)获得的处理器、来自ARM Holdings,Ltd.或其被许可方的基于ARM的设计或者来自Sunny vale,CA(加利福尼亚州森尼韦尔)的MIPSTechnologies,Inc.(美普思科技公司)或其被许可方或采用者的基于MIPS的设计可以存在于其他实施例中,诸如Apple(苹果)A7处理器、Qualcomm(高通)Snapdragon处理器或TexasInstruments(德州仪器)OMAP处理器。这样的SoC可以用在低功率***中,诸如智能电话、平板计算机、平板手机计算机、UltrabookTM计算机或其他便携式计算设备,其可以结合具有基于异构***架构的处理器设计的异构***架构。
在图10所示的高级视图中,处理器1000包括多个核心单元1010a-1010n。每个核心单元可以包括一个或多个处理器核心、一个或多个缓存存储器以及其他电路。每个核心单元1010可以支持一个或多个指令集(例如,x86指令集(具有较新版本中已经添加的一些扩展);MIPS指令集;ARM指令集(具有可选的附加扩展,诸如NEON))或其他指令集或其组合。应注意,一些核心单元可以是异构资源(例如,具有不同的设计)。此外,每个这样的核心可以耦合到缓存存储器(未示出),该缓存存储器在一个实施例中可以是共享二级(L2)缓存存储器。非易失性存储装置1030可以用于存储各种程序和其他数据。例如,该存储装置可用于存储微代码、引导信息(诸如BIOS)、其他***软件等的至少一部分。
每个核心单元1010还可以包括诸如总线接口单元之类的接口,以实现到处理器的附加电路的互连。在实施例中,每个核心单元1010耦合至可充当主缓存一致性晶片上互连的一致性结构,该一致性结构又耦合至存储器控制器1035。存储器控制器1035又控制与诸如DRAM之类的存储器(在图10中为了便于图示而未示出)的通信。
除了核心单元之外,处理器内还存在附加处理引擎,包括至少一个图形单元1020,这些图形单元1020可以包括一个或多个图形处理单元(GPU),以执行图形处理以及可能执行图形处理器上的通用操作(所谓的GPGPU操作)。此外,可以存在至少一个图像信号处理器1025。信号处理器1025可以被配置为处理从一个或多个捕获设备(位于SoC内部或者片外)接收的输入图像数据。
也可以存在其他加速器。在图10的图示中,视频编码器1050可以执行编码操作,包括对视频信息进行的编码和解码,例如,为高清视频内容提供硬件加速支持。可以进一步提供显示控制器1055以加速显示操作,包括提供对***的内部和外部显示的支持。此外,可以存在安全处理器1045以执行诸如安全引导操作、各种密码操作之类的安全操作。
这些单元中的每一者的功耗可以经由功率管理器1040控制,功率管理器1040可以包括执行本文描述的各种功率管理技术的控制逻辑。为此,功率管理器1040可以包括控制电路,以使得在耦合到共享电源轨的所有组件都处于空闲或其他低功率状态的情况下能够使该共享电源轨及其耦合至其的组件掉电。在这种情况下,功率管理器1040还可以将这些组件的可用功率预算重新分配给SoC 1000内的其他组件,包括核心单元1010和/或图形单元1020。
在一些实施例中,SoC 1000还可以包括非一致性结构,该非一致性结构耦合至各种***设备可以耦合到的一致性结构。一个或多个接口1060a-1060d使得能够与一个或多个片外设备进行通信。这样的通信可以经由各种通信协议进行,诸如PCIeTM、GPIO、USB、I2C、UART、MIPI、SDIO、DDR、SPI、HDMI以及其他类型的通信协议。尽管以这种高级别示出了图10的实施例,但是应理解本发明的范围不限于此。
现在参照图11,示出了代表性SoC的框图。在所示的实施例中,SoC 1100可以是被配置用于低功率操作的、被优化以合并到智能电话或其他低功率设备(诸如平板计算机或其他便携式计算设备)中的多核SoC。作为示例,可以使用非对称或不同类型的核心(诸如,更高功率(例如,无序核心)和/或更低功率核心(例如,有序核心)的组合)来实现SoC 1100。在不同的实施例中,这些核心可以基于ArchitectureTM核心设计或ARM架构设计。在又一些其他实施例中,可以在给定SoC中实现Intel和ARM核心的混合。
如图11所示,SoC 1100包括具有多个第一核心1112a-1112d的第一核心域1110。在示例中,这些核心可以是低功率核心,诸如有序核心。在一个实施例中,这些第一核心可以被实现为ARM Cortex A53核心。这些核心又耦合到核心域1110的缓存存储器1115。此外,SoC 1100包括第二核心域1120。在图11的图示中,第二核心域1120具有多个第二核心1122a-1122d。在示例中,这些核心可以是比第一核心1112功耗更高的核心。在实施例中,第二核心可以是可以被实现为ARM Cortex A57核心的无序核心。这些核心又耦合到核心域1120的缓存存储器1125。应注意,尽管图11中示出的示例在每个域中包括4个核心,但是,应理解,在其他示例中,在给定域中可以存在更多或更少的核心。
进一步参照图11,还提供了图形域1130,其可以包括一个或多个图形处理单元(GPU),这些图形处理单元(GPU)被配置为独立地执行例如由核心域1110和1120中的一个或多个核心提供的图形工作负载。作为示例,除了提供图形和显示渲染操作之外,图形域1130还可用于为各种屏幕尺寸提供显示支持。
如图所示,各个域耦合到一致性互连1140,该一致性互连140在实施例中可以是缓存一致性互连结构,该缓存一致性互连结构又耦合到集成存储器控制器1150。在某些示例中,一致性互连1140可以包括共享缓存存储器,诸如L3缓存。在实施例中,存储器控制器1150可以是直接存储器控制器,用以提供与片外存储器通信的多个通道,诸如DRAM的多个通道(在图11中为了便于图示而未示出)。
在不同的示例中,核心域的数量可以不同。例如,对于适合于合并到移动计算设备中的低功率SoC,可以存在诸如图11所示的有限数量的核心域。更进一步,在这样的低功率SoC中,包括更高功率核心的核心域1120可以具有更少数量的这样的核心。例如,在一个实施方式中,可以提供两个核心1122以使得能够以降低的功耗水平运行。此外,不同的核心域也可以耦合到中断控制器,以实现不同域之间工作负载的动态交换。
在又一些其他实施例中,可以存在更大数量的核心域以及附加的可选IP逻辑,因为SoC可被缩放到更高的性能(和功率)水平,以便合并到其他计算设备(诸如台式机、服务器、高性能计算***、基站等)中。作为一个这样的示例,可以提供4个核心域,每个核心域具有给定数量的无序核心。更进一步,除了可选的GPU支持(作为示例可以采取GPGPU的形式)之外,还可以提供一个或多个加速器,以针对特定功能(例如,网络服务、网络处理、切换等)提供优化的硬件支持。此外,可以存在输入/输出接口以将这样的加速器耦合到片外组件。
现在参照图12,示出了另一示例SoC的框图。在图12的实施例中,SoC 1200可以包括各种电路,用以实现用于多媒体应用、通信和其他功能的高性能。同样地,SoC 1200适用于合并到诸如智能电话、平板计算机、智能电视等的各种各样便携式设备和其他设备中。在所示的示例中,SoC 1200包括中央处理器单元(CPU)域1210。在实施例中,CPU域1210中可以存在多个单独的处理器核心。作为一个示例,CPU域1210可以是具有4个多线程核心的四核处理器。这样的处理器可以是同构处理器或异构处理器,例如,低功率和高功率处理器核心的混合。
GPU域1220又被提供以在一个或多个GPU中执行高级图形处理以处理图形和计算API。DSP单元1230可以提供一个或多个低功率DSP,用于处理除在执行多媒体指令期间可能发生的高级计算以外的、诸如音乐播放、音频/视频之类的低功率多媒体应用。通信单元1240又可以包括经由诸如蜂窝通信(包括3G/4G LTE)、无线局域网协议(诸如,BluetoothTM、IEEE 802.11等)之类的各种无线协议来提供连接的各种组件。
更进一步,多媒体处理器1250可以用于执行高清晰度视频和音频内容的捕获和播放,包括用户姿势的处理。传感器单元1260可以包括多个传感器和/或传感器控制器,用以与存在于给定平台中的各种芯片外传感器接口连接。图像信号处理器1270可以配备有一个或多个单独的ISP,以针对来自平台的一个或多个相机(包括静态相机和视频相机)的捕获内容执行图像处理。
显示处理器1280可以提供对与给定像素密度的高清晰显示器的连接的支持,包括无线地通信用于在这样的显示器上播放的内容的能力。更进一步,位置单元1290可以包括支持多个GPS星座的GPS接收器,用以为应用提供使用这样的GPS接收器获得的高准确性定位信息。应理解,尽管以该特定的组件集示出了图12的示例,但是许多变型和替代是可行的。
现在参照图13,示出了可以与实施例一起使用的示例***的框图。如图所示,***1300可以是智能电话或其他无线通信器。基带处理器1305被配置为针对要从***发送的或由***接收的通信信号执行各种信号处理。基带处理器1305又耦合到应用处理器1310,该应用处理器1310可以是***的主CPU,用于执行OS和除诸如许多众所周知的社交媒体和多媒体应用之类的用户应用之外的其他***软件。应用处理器1310还可被配置为执行设备的各种其他计算操作。
应用处理器1310又可以耦合到用户接口/显示器1320,例如触摸屏显示器。此外,应用处理器1310可以耦合到包括非易失性存储器(即,闪存存储器1330)和***存储器(即,动态随机存取存储器(DRAM)1335)的存储器***。如图进一步所示,应用处理器1310还耦合至诸如可以记录视频和/或静止图像的一个或多个图像捕获设备之类的捕获设备1340。
仍然参照图13,包括订户身份模块以及可能的安全存储装置和密码处理器的通用集成电路卡(UICC)1340也耦合到应用处理器1310。***1300还可包括可以耦合到应用处理器1310的安全处理器1350。多个传感器1325可以耦合到应用处理器1310,以使得能够输入各种感测到的信息,诸如加速度计和其他环境信息。音频输出设备1395可以提供用以输出声音(例如以语音通信、播放的或流送音频数据等形式的声音)的接口。
如图进一步所示,提供了近场通信(NFC)非接触接口1360,其经由NFC天线1365在NFC近场中进行通信。尽管在图13中示出了单独的天线,但是应理解,在一些实施方式中,可以提供一个天线或不同的天线集合,以实现各种无线功能。
功率管理集成电路(PMIC)1315耦合到应用处理器1310以执行平台级功率管理。为此,PMIC 1315可以向应用处理器1310发出功率管理请求以根据需要进入特定低功率状态。此外,基于平台约束,PMIC 1315还可以控制***1300的其他组件的功率水平。
为了实现通信的发送和接收,各种电路可以耦合在基带处理器1305和天线1390之间。具体地,可以存在射频(RF)收发器1370和无线局域网(WLAN)收发器1375。通常,RF收发器1370可以用于根据给定的无线通信协议(例如,诸如根据码分多址(CDMA)、全球移动***通信(GSM)、长期演进(LTE)或其他协议之类的3G或4G无线通信协议)来接收和发送无线数据和呼叫。此外,可以存在GPS传感器1380。还可以提供其他无线通信,诸如接收或发送无线电信号(例如AM/FM)和其他信号。此外,经由WLAN收发器1375,也可以实现本地无线通信。
现在参照图14,示出了可以与实施例一起使用的另一示例***的框图。在图14的图示中,***1400可以是移动低功率***,诸如平板计算机、2:1平板电脑、平板手机或其他可转换或独立的平板***。如图所示,存在SoC 1410并且SoC 1410可以被配置为作为设备的应用处理器运行。
各种设备可以耦合至SoC1410。在所示的图示中,存储器子***包括耦合至SoC1410的闪存存储器1440和DRAM 1445。此外,触摸面板1420耦合至SoC 1410以提供显示能力并经由触摸提供用户输入,包括在触摸面板1420的显示器上提供虚拟键盘。为了提供有线网络连接性,SoC 1410耦合到以太网接口1430。***集线器1425耦合到SoC 1410以实现与各种***设备的接口连接,诸如可以通过各种端口或其他连接器中的任何一种而耦合到***1400。
除了SoC 1410内的内部功率管理电路和功能性之外,PMIC 1480还耦合到SoC1410,以例如基于***是由电池1490供电还是经由AC适配器1495进行AC供电,来提供基于平台的功率管理。除了这种基于电源的功率管理之外,PMIC 1480还可以基于环境和使用状况来执行平台功率管理行动。更进一步,PMIC 1480可以向SoC 1410通传控制和状态信息以在SoC 1410内引起各种功率管理动作。
仍然参照图14,为了提供无线能力,WLAN单元1450耦合至SoC 1410,并且又耦合至天线1455。在各种实施方式中,WLAN单元1450可以提供根据一个或多个无线协议的通信。
如进一步所示的,多个传感器1460可以耦合到SoC1410。这些传感器可以包括各种加速度计、环境传感器和其他传感器,包括用户姿势传感器。最终,音频编解码器1465耦合到SoC 1410以提供到音频输出设备1470的接口。当然,应理解,尽管以图14中的这种特定实施方式示出,但是许多变型和替代是可行的。
现在参照图15,示出了诸如笔记本电脑、UltrabookTM或其他小形状因子***之类的代表性计算机***的框图。在一个实施例中,处理器1510包括微处理器、多核处理器、多线程处理器、超低压处理器、嵌入式处理器、或其他已知的处理元件。在所示的实施方式中,处理器1510充当用于与***1500的许多各种组件进行通信的主处理单元和中央集线器,并且可以包括如本文描述的功率管理。作为一个示例,处理器1510被实现为SoC。
在一个实施例中,处理器1510与***存储器1515通信。作为说明性示例,***存储器1515经由多个存储器设备或模块来实现以提供给定的***存储器量。
为了提供诸如数据、应用程序、一个或多个操作***之类的信息的持久存储,大容量存储装置1520还可以耦合到处理器1510。在各种实施例中,为了实现更薄、更轻的***设计以及改进***响应性,这种大容量存储装置可以经由SSD来实现,或者大容量存储装置可以主要使用硬盘驱动器(HDD)(具有较少SSD存储装置量用作SSD缓存)来实现,以实现在掉电事件期间对上下文状态以及其他这样的信息的非易失性存储,使得在***行动重新发起时可以快速上电。还如图15中所示,闪存设备1522可以例如经由串行***接口(SPI)耦合到处理器1510。这种闪存设备可以提供包括BIOS在内的***软件的非易失性存储,该BIOS可以提供共享电源轨及其附接的IP主体的定义。闪存设备1522还可以存储***的其他固件。
各种输入/输出(I/O)设备可以存在于***1500内。在图15的实施例中具体示出了显示器1524,该显示器1524可以是进一步提供触摸屏1525的高清晰LCD或LED面板。在一个实施例中,显示器1524可以经由可被实现为高性能图形互连的显示器互连耦合到处理器1510。触摸屏1525可以经由另一互连耦合到处理器1510,该另一互连在实施例中可以是I2C互连。如图15进一步所示,除了触摸屏1525之外,通过触摸方式的用户输入还可以经由触摸板1530发生,该触摸板1530可以被配置在机箱内并且也可以被耦合到与触摸屏1525相同的I2C互连。
为了感知计算和其他目的,各种传感器可以存在于***内并且可以以不同的方式耦合到处理器1510。某些惯性传感器和环境传感器可以例如经由I2C互连通过传感器集线器1540耦合到处理器1510。在图15所示的实施例中,这些传感器可以包括加速度计1541、环境光传感器(ALS)1542、指南针1543和陀螺仪1544。其他环境传感器可以包括一个或多个热传感器1546,这些热传感器1546在一些实施例中经由***管理总线(SMBus)总线耦合到处理器1510。
还如图15所示,各种***设备可以经由低引脚数(LPC)互连耦合到处理器1510。在所示的实施例中,各种组件可以通过嵌入式控制器1535耦合。这样的组件可以包括键盘1536(例如,经由PS2接口耦合)、风扇1537以及热传感器1539。在一些实施例中,触摸板1530也可以经由PS2接口耦合到EC 1535。此外,诸如可信平台模块(TPM)1538之类的安全处理器也可以经由该LPC互连耦合到处理器1510。
***1500可以以各种方式(包括无线地)与外部设备通信。在图15所示的实施例中,存在各种无线模块,每个无线模块可以对应于针对特定无线通信协议配置的无线电。在诸如近场的短距离中进行无线通信的一种方式可以是经由NFC单元1545,NFC单元1545在一个实施例中可以经由SMBus与处理器1510通信。应注意,经由该NFC单元1545,彼此接近的设备可以通信。
如图15中进一步所示,附加的无线单元可以包括其他短距离无线引擎,包括WLAN单元1550和BluetoothTM单元1552。使用WLAN单元1550,可以实现Wi-FiTM通信,而经由BluetoothTM单元1552,可以发生短距离BluetoothTM通信。这些单元可以经由给定的链路与处理器1510通信。
此外,经由WWAN单元1556可以发生例如根据蜂窝或其他无线广域协议的无线广域通信,该WWAN单元1556又可以耦合到订户身份模块(SIM)1557。此外,为了实现位置信息的接受和使用,也可以存在GPS模块1555。应注意,在图15所示的实施例中,WWAN单元1556和诸如相机模块1554之类的集成捕获设备可以经由给定链路进行通信。
为了提供音频输入和输出,可以经由数字信号处理器(DSP)1560来实现音频处理器,该数字信号处理器1560可以经由高清晰音频(HDA)链路耦合到处理器1510。类似地,DSP1560可以与集成编码器/解码器(CODEC)和放大器1562通信,后者又可以耦合至可以在机箱内实现的输出扬声器1563。类似地,放大器和CODEC 1562可以耦合以从麦克风1565接收音频输入,麦克风1565在一个实施例中可以经由双阵列麦克风(例如,数字麦克风阵列)来实现,以提供高质量的音频输入,以便实现对***内的各种操作进行语音激活控制。还应注意,可以从放大器/CODEC 1562向耳机插孔1564提供音频输出。尽管以图15的实施例中的这些特定组件示出,但是应理解,本发明的范围不限于此。
实施例可以用许多不同的***类型来实现。现在参照图16,示出了根据本发明实施例的***的框图。如图16所示,多处理器***1600是点对点互连***,并且包括经由点对点互连1650耦合的第一处理器1670和第二处理器1680。如图16所示,处理器1670和1680中的每一者可以是包括第一和第二处理器核心(即,处理器核心1674a和1674b以及处理器核心1684a和1684b)的多核处理器,但是在处理器中可能存在更多核心。每个处理器可以包括PCU(1675、1685)或其他功率管理逻辑,以执行如本文描述的基于处理器的功率管理。
仍然参照图16,第一处理器1670还包括存储器控制器集线器(MCH)1672和点对点(P-P)接口1676和1678。类似地,第二处理器1680包括MCH 1682和P-P接口1686和1688。如图16所示,MCH 1672和1682将处理器耦合到相应存储器,即存储器1632和存储器1634,存储器1632和存储器1634可以是本地附接到各个处理器的***存储器(例如,DRAM)的部分。第一处理器1670和第二处理器1680可以分别经由P-P互连1662和1664耦合到芯片组1690。如图16所示,芯片组1690包括P-P接口1694和1698。
此外,芯片组1690包括接口1692,以通过P-P互连1639将芯片组1690与高性能图形引擎1638耦合。芯片组1690又可以经由接口1696耦合到第一总线1616。如图16所示,各种输入/输出(I/O)设备1614可以与总线桥1618一起耦合到第一总线1616,总线桥1618将第一总线1616耦合到第二总线1620。在一个实施例中,各种设备可以耦合到第二总线1620,这些设备包括例如键盘/鼠标1622、通信设备1626和数据存储单元1628(诸如,磁盘驱动器或可以包括代码1630的其他大容量存储装置)。此外,音频I/O 1624可以耦合到第二总线1620。实施例可以合并到其他类型的***中,包括诸如智能蜂窝电话、平板计算机、上网本、UltrabookTM之类的移动设备。
至少一个实施例的一个或多个方面可以通过存储在机器可读介质上的代表性代码来实现,该代表性代码表示和/或定义诸如处理器之类的集成电路内的逻辑。例如,机器可读介质可以包括表示处理器内的各种逻辑的指令。当由机器读取时,指令可以使机器制造逻辑以执行本文描述的技术。这样的被称为“IP核心”的表示是集成电路的可重用逻辑单元,这些逻辑单元可以作为描述集成电路结构的硬件模型被存储在有形的机器可读介质中。硬件模型可以提供给各种客户或制造工具,其将硬件模型加载到制造集成电路的制造机器上。可以制造集成电路,使得该电路执行结合本文描述的任何实施例描述的操作。
图17是图示出根据实施例的可用于制造集成电路以执行操作的IP核心开发***1700的框图。IP核心开发***1700可以用于生成模块化的、可重复使用的设计,其可以被并入更大的设计中或者用于构建整个集成电路(例如,SoC集成电路)。设计工具1730可以以高级编程语言(例如,C/C++)生成IP核心设计的软件仿真1710。软件仿真1710可以用于设计、测试、并验证IP核心的行为。然后可以从仿真模型创建或合成寄存器传输级别(RTL)设计。RTL设计1715是对硬件寄存器之间的数字信号流进行建模的集成电路(包括使用建模的数字信号执行的相关联逻辑)的行为的抽象概念。除了RTL设计1715之外,还可以创建、设计、或合成逻辑级或晶体管级的较低级别设计。因此,初始设计和仿真的特定细节可能有所不同。
可以由设计工具将RTL设计1715或等同物进一步合成到硬件模型1720中,硬件模型1720可以采用硬件描述语言(HDL)或某一其他物理设计数据表示。可以进一步仿真或测试HDL以验证IP核心设计。可以使用非易失性存储器1740(例如,硬盘、闪存存储器、或任何非易失性存储介质)来存储IP核心设计,以传递给第三方制造工具1765。替代地,可以经由有线连接1750或无线连接1760(例如,经由因特网)来传递IP核心设计。然后,制造工具1765可以制造至少部分基于IP核心设计的集成电路。制造出的集成电路可以被配置为执行根据本文描述的至少一个实施例的操作。
以下示例涉及进一步的实施例。
在一个示例中,SoC包括:至少一个核心;耦合至至少一个核心的多个IP主体;向多个IP主体提供工作电压的共享电源轨;以及功率控制器,该功率控制器用于响应于对多个IP主体处于空闲状态并且至少一个核心处于活动状态的指示,在至少一个核心保持活动状态的同时使共享电源轨掉电。
在一个示例中,第一软件主体向OS通知第一IP主体进入空闲状态,OS维护包括多个条目的表,每个条目与多个IP主体中的一者相关联。
在示例中,OS更新表的第一条目以指示第一IP主体处于空闲状态。
在示例中,功率控制器从OS接收响应于对多个IP主体中的至少一个已经进入空闲状态的确定的掉电消息,掉电消息包括该指示。
在示例中,功率控制器用于响应于对第一IP主体通电的请求而使共享电源轨通电,此后使第一IP主体通电,并且此后向OS指示第一IP主体被通电,此后OS向第一软件主体指示第一IP主体被通电。
在示例中,OS从BIOS接收多个IP主体与共享电源轨相关联的定义,并且响应于此,建立表。
在示例中,SoC还包括耦合到多个IP主体的共享总线。
在示例中,功率控制器还:在多个IP主体处于空闲状态时,阻止对多个IP主体的访问并禁用共享总线。
在示例中,空闲状态至少包括设备D3低功率状态。
在示例中,响应于指示,功率控制器在SoC的引导周期中保持共享电源轨掉电。
在另一示例中,一种方法包括:在SoC的功率控制器中接收耦合到SoC的公共电源轨的多个IP主体处于空闲状态的指示;响应于该指示,关断公共电源轨;并且将分配给多个IP主体的功率预算中的至少一部分分配给SoC的至少一个其他组件。
在示例中,该方法还包括:接收唤醒多个IP主体中的至少一个的请求;响应请求,使公共电源轨通电;并且此后使至少一个IP主体通电。
在示例中,该方法还包括:接收指示多个IP主体中的第一IP主体进入空闲状态的第一掉电指示;并且更新表以标识第一IP主体处于空闲状态。
在示例中,该方法还包括:响应于表标识多个IP主体处于空闲状态,向功率控制器发送指示。
在示例中,该方法还包括:从SoC的固件接收多个IP主体耦合到公共电源轨的声明;并且响应于声明来设置表。
在示例中,该方法还包括:响应于表标识多个主体处于空闲状态,并且进一步基于声明,向功率控制器发送该指示。
在另一示例中,一种计算机可读介质,包括用于执行以上示例中的任何示例的方法的指令。
在另一示例中,一种计算机可读介质包括数据,该数据要由至少一台机器用来制造至少一个集成电路以执行以上示例中的任何一个的方法。
在另一示例中,一种设备包括用于执行以上示例中的任何示例的方法的装置。
在另一示例中,一种***包括:集成电路,该集成电路包括:至少一个核心;耦合至至少一个核心的多个IP主体;向多个IP主体的第一子集提供工作电压的共享电源轨;以及功率控制器,该功率控制器用于响应于对多个IP主体的第一子集处于空闲状态的指示,在至少一个核心保持活动状态的同时使共享电源轨掉电。该***还包括:非易失性存储装置,该非易失性存储装置耦合到集成电路以存储***的固件,固件包括标识多个IP主体的第一子集耦合到共享电源轨的定义;以及易失性存储器,该易失性存储器存储OS的至少一部分,其中,OS接收定义并在易失性存储器中建立一表,该表包括多个条目,每个条目标识多个IP主体中的第一子集中的一个IP主体以及该IP主体的相应功率状态。
在示例中,OS响应于来自第一软件主体的掉电消息而更新表的第一条目,以指示多个IP主体的第一子集中的第一IP主体处于空闲状态。
在示例中,功率控制器接收唤醒第一IP主体的请求,响应于请求而使共享电源线通电,并且此后使第一IP主体通电。
在示例中,当共享电源轨掉电时,功率控制器将分配给多个IP主体的第一子集的功率预算中的至少一部分分配给至少一个核心。
应理解,以上示例的各种组合是可能的。
应注意,术语“电路(circuit)”和“电路(circuitry)”在本文中可互换地使用。如本文所使用的,这些术语和术语“逻辑”用于单独或以任何组合指代模拟电路、数字电路、硬接线电路、可编程电路、处理器电路、微控制器电路、硬件逻辑电路、状态机电路和/或任何其他类型的物理硬件组件。实施例可以用在许多不同类型的***中。例如,在一个实施例中,通信设备可被布置为执行本文描述的各种方法和技术。当然,本发明的范围不限于通信设备,而是相反,其他实施例可以涉及用于处理指令的其他类型的装置,或者包括下述指令的一种或多种机器可读介质:响应于在计算设备上被执行而使该设备实现本文描述的方法和技术中的一种或多种的指令。
实施例可以用代码实现,并且可以存储在其上存储有指令的非暂态存储介质上,该代码可以用于对***进行编程以执行指令。实施例还可以用数据实现并且可以存储在非暂态存储介质上,该数据如果由至少一个机器使用则使这些机器制造至少一个集成电路以执行一个或多个操作。更进一步的实施例可以在包括如下信息的计算机可读存储介质中实现:在被制造到SoC或其他处理器中时用于配置SoC或其他处理器以执行一个或多个操作的信息。该存储介质可以包括但不限于任何类型的盘片(包括软盘、光盘、固态驱动器(SSD)、光盘只读存储器(CD-ROM)、可重写光盘(CD-RW)、以及磁光盘)、半导体器件(诸如,只读存储器(ROM),诸如动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)之类的随机存取存储器(RAM),可擦除可编程只读存储器(EPROM),闪存存储器,电可擦除可编程只读存储器(EEPROM),磁卡或光卡,或适于存储电子指令的任何其他类型的介质)。
尽管已经针对有限数量的实施例描述了本发明,但是本领域技术人员将从中意识到许多修改和变型。所附权利要求旨在覆盖落入本发明的真实精神和范围内的所有这样的修改和变型。
Claims (25)
1.一种片上***(SoC),包括:
至少一个核心;
多个知识产权(IP)主体,所述多个IP主体耦合至所述至少一个核心;
共享电源轨,所述共享电源轨用于向所述多个IP主体提供工作电压;以及
功率控制器,所述功率控制器用于响应于对所述多个IP主体处于空闲状态并且所述至少一个核心处于活动状态的指示,在所述至少一个核心保持活动状态的同时使所述共享电源轨掉电。
2.如权利要求1所述的SoC,其中,第一软件主体向操作***(OS)通知第一IP主体进入所述空闲状态,所述OS维护包括多个条目的表,每个条目与所述多个IP主体中的一者相关联。
3.如权利要求2所述的SoC,其中,所述OS更新所述表的第一条目以指示所述第一IP主体处于所述空闲状态。
4.如权利要求2所述的SoC,其中,所述功率控制器从所述OS接收响应于对所述多个IP主体中的至少一者已经进入所述空闲状态的确定的掉电消息,所述掉电消息包括所述指示。
5.如权利要求2所述的SoC,其中,所述功率控制器响应于对所述第一IP主体通电的请求而使所述共享电源轨通电,此后使所述第一IP主体通电,并且此后向所述OS指示所述第一IP主体被通电,此后所述OS向所述第一软件主体指示所述第一IP主体被通电。
6.如权利要求2所述的SoC,其中,所述OS从基本输入/输出***(BIOS)接收所述多个IP主体与所述共享电源轨相关联的定义,并且响应于此,建立所述表。
7.如权利要求1所述的SoC,还包括耦合到所述多个IP主体的共享总线。
8.如权利要求7所述的SoC,其中,所述功率控制器还在所述多个IP主体处于所述空闲状态时,阻止对所述多个IP主体的访问并禁用所述共享总线。
9.如权利要求1所述的SoC,其中,所述空闲状态至少包括设备D3低功率状态。
10.如权利要求1所述的SoC,其中,响应于所述指示,所述功率控制器在所述SoC的引导周期中保持所述共享电源轨掉电。
11.一种方法,包括:
在片上***(SoC)的功率控制器中,接收对耦合到所述SoC的公共电源轨的多个知识产权(IP)主体处于空闲状态的指示;
响应于所述指示,使所述公共电源轨关断;并且
将分配给所述多个IP主体的功率预算中的至少一部分分配给所述SoC的至少一个其他组件。
12.如权利要求11所述的方法,还包括:
接收唤醒所述多个IP主体中的至少一者的请求;
响应所述请求,使所述公共电源轨通电;并且
此后使所述至少一个IP主体通电。
13.如权利要求11所述的方法,还包括:
接收指示所述多个IP主体中的第一IP主体进入所述空闲状态的第一掉电指示;并且
更新表以标识所述第一IP主体处于所述空闲状态。
14.如权利要求11所述的方法,还包括:响应于所述表标识所述多个IP主体处于所述空闲状态,向所述功率控制器发送所述指示。
15.如权利要求14所述的方法,还包括:
从所述SoC的固件接收所述多个IP主体耦合到所述公共电源轨的声明;并且
响应于所述声明来设置所述表。
16.如权利要求15所述的方法,还包括:响应于所述表标识所述多个主体处于所述空闲状态,并且进一步基于所述声明,向所述功率控制器发送所述指示。
17.一种包括计算机可读指令的计算机可读存储介质,这些计算机可读指令在被执行时实现如权利要求11至16中任一项所述的方法。
18.一种装置,包括执行如权利要求11至16中任一项所述的方法的装置。
19.一种***,包括:
集成电路,包括:
至少一个核心;
多个知识产权(IP)主体,所述多个IP主体耦合至所述至少一个核心;
共享电源轨,所述共享电源轨用于向所述多个IP主体的第一子集提供工作电压;以及
功率控制器,所述功率控制器用于响应于对所述多个IP主体的所述第一子集处于空闲状态的指示,在所述至少一个核心保持活动状态的同时使所述共享电源轨掉电;
非易失性存储装置,所述非易失性存储装置耦合到所述集成电路以存储所述***的固件,所述固件包括标识所述多个IP主体的所述第一子集耦合到所述共享电源轨的定义;以及
易失性存储器,所述易失性存储器存储操作***(OS)的至少一部分,其中,所述OS接收所述定义并在所述易失性存储器中建立一表,该表包括多个条目,每个条目标识所述多个IP主体中的所述第一子集中的一个IP主体以及该IP主体的相应功率状态。
20.如权利要求19所述的***,其中,所述OS响应于来自第一软件主体的掉电消息而更新所述表的第一条目,以指示所述多个IP主体的所述第一子集中的第一IP主体处于所述空闲状态。
21.如权利要求19所述的***,其中,所述功率控制器接收唤醒所述第一IP主体的请求,响应于所述请求而使所述共享电源线通电,并且此后使所述第一IP主体通电。
22.如权利要求19所述的***,其中,当所述共享电源轨掉电时,所述功率控制器将分配给所述多个IP主体的所述第一子集的功率预算中的至少一部分分配给所述至少一个核心。
23.一种装置,包括:
至少一个核心装置;
多个知识产权(IP)装置,所述多个IP装置耦合至所述至少一个核心;
共享电源轨,所述共享电源轨用于向所述多个IP装置提供工作电压;以及
功率控制装置,所述功率控制装置用于响应于对所述多个IP装置处于空闲状态并且所述至少一个核心装置处于活动状态的指示,在所述至少一个核心装置保持活动状态的同时使所述共享电源轨掉电。
24.如权利要求23所述的装置,其中,第一软件主体向操作***(OS)通知第一IP装置进入所述空闲状态,所述OS维护包括多个条目的表装置,每个条目与所述多个IP装置中的一者相关联。
25.如权利要求24所述的装置,其中,所述OS更新所述表装置的第一条目以指示所述第一IP装置处于所述空闲状态。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/142,320 | 2018-09-26 | ||
US16/142,320 US10860083B2 (en) | 2018-09-26 | 2018-09-26 | System, apparatus and method for collective power control of multiple intellectual property agents and a shared power rail |
PCT/US2019/047620 WO2020068319A1 (en) | 2018-09-26 | 2019-08-22 | System, apparatus and method for collective power control of multiple intellectual property agents and a shared power rail |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112771470A true CN112771470A (zh) | 2021-05-07 |
Family
ID=65229529
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980043146.5A Pending CN112771470A (zh) | 2018-09-26 | 2019-08-22 | 用于对多个知识产权主体和共享电源轨进行共同功率控制的***、装置及方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10860083B2 (zh) |
EP (1) | EP3857336A4 (zh) |
CN (1) | CN112771470A (zh) |
WO (1) | WO2020068319A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113359935A (zh) * | 2021-06-10 | 2021-09-07 | 海光信息技术股份有限公司 | Soc电源域的电压调节方法、装置及存储介质 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11513576B2 (en) | 2019-06-01 | 2022-11-29 | Apple Inc. | Coherent power management system for managing clients of varying power usage adaptability |
Family Cites Families (87)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5163153A (en) | 1989-06-12 | 1992-11-10 | Grid Systems Corporation | Low-power, standby mode computer |
JPH05324130A (ja) | 1992-01-16 | 1993-12-07 | Intel Corp | リセット回路 |
US5522087A (en) | 1994-03-22 | 1996-05-28 | Verifone Inc. | System for selectively operating in different modes depending upon receiving signal from a host computer within a time window upon power up |
US5590341A (en) | 1994-09-30 | 1996-12-31 | Intel Corporation | Method and apparatus for reducing power consumption in a computer system using ready delay |
US5621250A (en) | 1995-07-31 | 1997-04-15 | Ford Motor Company | Wake-up interface and method for awakening an automotive electronics module |
US5931950A (en) | 1997-06-17 | 1999-08-03 | Pc-Tel, Inc. | Wake-up-on-ring power conservation for host signal processing communication system |
US6823516B1 (en) | 1999-08-10 | 2004-11-23 | Intel Corporation | System and method for dynamically adjusting to CPU performance changes |
US7539885B2 (en) | 2000-01-13 | 2009-05-26 | Broadcom Corporation | Method and apparatus for adaptive CPU power management |
US7010708B2 (en) | 2002-05-15 | 2006-03-07 | Broadcom Corporation | Method and apparatus for adaptive CPU power management |
JP2001318742A (ja) | 2000-05-08 | 2001-11-16 | Mitsubishi Electric Corp | コンピュータシステムおよびコンピュータ読み取り可能な記録媒体 |
KR100361340B1 (ko) | 2000-05-15 | 2002-12-05 | 엘지전자 주식회사 | 씨피유 클럭 제어 방법 |
US6792392B1 (en) | 2000-06-30 | 2004-09-14 | Intel Corporation | Method and apparatus for configuring and collecting performance counter data |
US6748546B1 (en) | 2000-09-26 | 2004-06-08 | Sun Microsystems, Inc. | Method and apparatus for reducing power consumption |
US6829713B2 (en) | 2000-12-30 | 2004-12-07 | Intel Corporation | CPU power management based on utilization with lowest performance mode at the mid-utilization range |
US7058824B2 (en) | 2001-06-15 | 2006-06-06 | Microsoft Corporation | Method and system for using idle threads to adaptively throttle a computer |
US20030061383A1 (en) | 2001-09-25 | 2003-03-27 | Zilka Anthony M. | Predicting processor inactivity for a controlled transition of power states |
US7111179B1 (en) | 2001-10-11 | 2006-09-19 | In-Hand Electronics, Inc. | Method and apparatus for optimizing performance and battery life of electronic devices based on system and application parameters |
US6996728B2 (en) | 2002-04-26 | 2006-02-07 | Hewlett-Packard Development Company, L.P. | Managing power consumption based on utilization statistics |
US7051227B2 (en) | 2002-09-30 | 2006-05-23 | Intel Corporation | Method and apparatus for reducing clock frequency during low workload periods |
US6898689B2 (en) | 2002-11-15 | 2005-05-24 | Silicon Labs Cp, Inc. | Paging scheme for a microcontroller for extending available register space |
US7043649B2 (en) | 2002-11-20 | 2006-05-09 | Portalplayer, Inc. | System clock power management for chips with multiple processing modules |
US6971033B2 (en) | 2003-01-10 | 2005-11-29 | Broadcom Corporation | Method and apparatus for improving bus master performance |
KR20050115227A (ko) | 2003-01-23 | 2005-12-07 | 유니버시티 오브 로체스터 | 다중 클록 도메인 마이크로프로세서 |
JP4061492B2 (ja) | 2003-02-10 | 2008-03-19 | ソニー株式会社 | 情報処理装置および消費電力制御方法 |
US7093147B2 (en) | 2003-04-25 | 2006-08-15 | Hewlett-Packard Development Company, L.P. | Dynamically selecting processor cores for overall power efficiency |
US7272732B2 (en) | 2003-06-30 | 2007-09-18 | Hewlett-Packard Development Company, L.P. | Controlling power consumption of at least one computer system |
TW200502847A (en) | 2003-07-08 | 2005-01-16 | Benq Corp | Control device and method for reducing number of interrupts in a processor |
US7146514B2 (en) | 2003-07-23 | 2006-12-05 | Intel Corporation | Determining target operating frequencies for a multiprocessor system |
US7272730B1 (en) | 2003-07-31 | 2007-09-18 | Hewlett-Packard Development Company, L.P. | Application-driven method and apparatus for limiting power consumption in a processor-controlled hardware platform |
US7194643B2 (en) | 2003-09-29 | 2007-03-20 | Intel Corporation | Apparatus and method for an energy efficient clustered micro-architecture |
US7770034B2 (en) | 2003-12-16 | 2010-08-03 | Intel Corporation | Performance monitoring based dynamic voltage and frequency scaling |
US20070156992A1 (en) | 2005-12-30 | 2007-07-05 | Intel Corporation | Method and system for optimizing latency of dynamic memory sizing |
US7451333B2 (en) | 2004-09-03 | 2008-11-11 | Intel Corporation | Coordinating idle state transitions in multi-core processors |
US9001801B2 (en) | 2004-09-07 | 2015-04-07 | Broadcom Corporation | Method and system for low power mode management for complex Bluetooth devices |
US7941585B2 (en) | 2004-09-10 | 2011-05-10 | Cavium Networks, Inc. | Local scratchpad and data caching system |
US7426648B2 (en) | 2004-09-30 | 2008-09-16 | Intel Corporation | Global and pseudo power state management for multiple processing elements |
US7434073B2 (en) | 2004-11-29 | 2008-10-07 | Intel Corporation | Frequency and voltage scaling architecture |
US7502948B2 (en) | 2004-12-30 | 2009-03-10 | Intel Corporation | Method, system, and apparatus for selecting a maximum operation point based on number of active cores and performance level of each of the active cores |
US20060149977A1 (en) * | 2004-12-31 | 2006-07-06 | Barnes Cooper | Power managing point-to-point AC coupled peripheral device |
US8041967B2 (en) | 2005-02-15 | 2011-10-18 | Hewlett-Packard Development Company, L.P. | System and method for controlling power to resources based on historical utilization data |
US7454632B2 (en) | 2005-06-16 | 2008-11-18 | Intel Corporation | Reducing computing system power through idle synchronization |
US7454639B2 (en) * | 2005-06-30 | 2008-11-18 | Intel Corporation | Various apparatuses and methods for reduced power states in system memory |
US7430673B2 (en) | 2005-06-30 | 2008-09-30 | Intel Corporation | Power management system for computing platform |
US8301868B2 (en) | 2005-09-23 | 2012-10-30 | Intel Corporation | System to profile and optimize user software in a managed run-time environment |
US20070079294A1 (en) | 2005-09-30 | 2007-04-05 | Robert Knight | Profiling using a user-level control mechanism |
US20070106827A1 (en) | 2005-11-08 | 2007-05-10 | Boatright Bryan D | Centralized interrupt controller |
US20070245163A1 (en) | 2006-03-03 | 2007-10-18 | Yung-Hsiang Lu | Power management in computer operating systems |
US7437270B2 (en) | 2006-03-30 | 2008-10-14 | Intel Corporation | Performance state management |
US7752468B2 (en) | 2006-06-06 | 2010-07-06 | Intel Corporation | Predict computing platform memory power utilization |
US7529956B2 (en) | 2006-07-17 | 2009-05-05 | Microsoft Corporation | Granular reduction in power consumption |
US7930564B2 (en) | 2006-07-31 | 2011-04-19 | Intel Corporation | System and method for controlling processor low power states |
US7730340B2 (en) | 2007-02-16 | 2010-06-01 | Intel Corporation | Method and apparatus for dynamic voltage and frequency scaling |
US8510581B2 (en) | 2007-03-26 | 2013-08-13 | Freescale Semiconductor, Inc. | Anticipation of power on of a mobile device |
JP2008257578A (ja) | 2007-04-06 | 2008-10-23 | Toshiba Corp | 情報処理装置、スケジューラおよび情報処理置のスケジュール制御方法 |
US7971074B2 (en) | 2007-06-28 | 2011-06-28 | Intel Corporation | Method, system, and apparatus for a core activity detector to facilitate dynamic power management in a distributed system |
US8024590B2 (en) | 2007-12-10 | 2011-09-20 | Intel Corporation | Predicting future power level states for processor cores |
US20090150696A1 (en) | 2007-12-10 | 2009-06-11 | Justin Song | Transitioning a processor package to a low power state |
US7966506B2 (en) | 2007-12-12 | 2011-06-21 | Intel Corporation | Saving power in a computer system |
US8442697B2 (en) | 2007-12-18 | 2013-05-14 | Packet Digital | Method and apparatus for on-demand power management |
KR101459140B1 (ko) | 2007-12-26 | 2014-11-07 | 엘지전자 주식회사 | 전원관리 제어 장치 및 방법 |
US9411390B2 (en) * | 2008-02-11 | 2016-08-09 | Nvidia Corporation | Integrated circuit device having power domains and partitions based on use case power optimization |
TW200939009A (en) * | 2008-03-06 | 2009-09-16 | Asustek Comp Inc | Power saving system and method |
US8156362B2 (en) | 2008-03-11 | 2012-04-10 | Globalfoundries Inc. | Hardware monitoring and decision making for transitioning in and out of low-power state |
US8954977B2 (en) | 2008-12-09 | 2015-02-10 | Intel Corporation | Software-based thread remapping for power savings |
US8443209B2 (en) * | 2009-07-24 | 2013-05-14 | Advanced Micro Devices, Inc. | Throttling computational units according to performance sensitivity |
US8700943B2 (en) | 2009-12-22 | 2014-04-15 | Intel Corporation | Controlling time stamp counter (TSC) offsets for mulitple cores and threads |
US8943334B2 (en) | 2010-09-23 | 2015-01-27 | Intel Corporation | Providing per core voltage and frequency control |
US8949637B2 (en) | 2011-03-24 | 2015-02-03 | Intel Corporation | Obtaining power profile information with low overhead |
US8769316B2 (en) | 2011-09-06 | 2014-07-01 | Intel Corporation | Dynamically allocating a power budget over multiple domains of a processor |
US9074947B2 (en) | 2011-09-28 | 2015-07-07 | Intel Corporation | Estimating temperature of a processor core in a low power state without thermal sensor information |
US8954770B2 (en) | 2011-09-28 | 2015-02-10 | Intel Corporation | Controlling temperature of multiple domains of a multi-domain processor using a cross domain margin |
US9026815B2 (en) | 2011-10-27 | 2015-05-05 | Intel Corporation | Controlling operating frequency of a core domain via a non-core domain of a multi-domain processor |
US8832478B2 (en) | 2011-10-27 | 2014-09-09 | Intel Corporation | Enabling a non-core domain to control memory bandwidth in a processor |
US9158693B2 (en) | 2011-10-31 | 2015-10-13 | Intel Corporation | Dynamically controlling cache size to maximize energy efficiency |
US8943340B2 (en) | 2011-10-31 | 2015-01-27 | Intel Corporation | Controlling a turbo mode frequency of a processor |
WO2013137859A1 (en) | 2012-03-13 | 2013-09-19 | Intel Corporation | Providing energy efficient turbo operation of a processor |
WO2013137862A1 (en) | 2012-03-13 | 2013-09-19 | Intel Corporation | Dynamically controlling interconnect frequency in a processor |
US9436245B2 (en) | 2012-03-13 | 2016-09-06 | Intel Corporation | Dynamically computing an electrical design point (EDP) for a multicore processor |
US8984313B2 (en) | 2012-08-31 | 2015-03-17 | Intel Corporation | Configuring power management functionality in a processor including a plurality of cores by utilizing a register to store a power domain indicator |
US9823719B2 (en) | 2013-05-31 | 2017-11-21 | Intel Corporation | Controlling power delivery to a processor via a bypass |
US20150067356A1 (en) * | 2013-08-30 | 2015-03-05 | Advanced Micro Devices, Inc. | Power manager for multi-threaded data processor |
KR102325453B1 (ko) | 2014-12-04 | 2021-11-11 | 삼성전자주식회사 | 반도체 장치의 동작 방법 |
US20170139469A1 (en) * | 2015-11-12 | 2017-05-18 | Qualcomm Incorporated | Power-minimizing voltage rail selection in a portable computing device |
US20170177068A1 (en) | 2015-12-17 | 2017-06-22 | Intel Corporation | Systems, methods and devices for standby power savings |
US10042729B2 (en) | 2016-04-01 | 2018-08-07 | Intel Corporation | Apparatus and method for a scalable test engine |
US10754404B2 (en) * | 2016-09-30 | 2020-08-25 | Intel Corporation | Compensation control for variable power rails |
US10146288B2 (en) | 2017-02-15 | 2018-12-04 | Vigyanlabs Innovations Private Limited | Adaptive power consumption management in smart devices |
-
2018
- 2018-09-26 US US16/142,320 patent/US10860083B2/en active Active
-
2019
- 2019-08-22 CN CN201980043146.5A patent/CN112771470A/zh active Pending
- 2019-08-22 EP EP19867302.2A patent/EP3857336A4/en active Pending
- 2019-08-22 WO PCT/US2019/047620 patent/WO2020068319A1/en unknown
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113359935A (zh) * | 2021-06-10 | 2021-09-07 | 海光信息技术股份有限公司 | Soc电源域的电压调节方法、装置及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US20190041970A1 (en) | 2019-02-07 |
EP3857336A1 (en) | 2021-08-04 |
EP3857336A4 (en) | 2022-06-22 |
WO2020068319A1 (en) | 2020-04-02 |
US10860083B2 (en) | 2020-12-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11782492B2 (en) | Techniques to enable communication between a processor and voltage regulator | |
TWI630476B (zh) | 執行平台裝置之動態功率控制的處理器、機器可讀取媒體及系統 | |
CN108885483B (zh) | 确定多管芯处理器中的热余量 | |
CN107077175B (zh) | 提供针对多芯片封装的热参数报告的装置和方法 | |
US11119555B2 (en) | Processor to pre-empt voltage ramps for exit latency reductions | |
US9081577B2 (en) | Independent control of processor core retention states | |
US11481013B2 (en) | Multi-level loops for computer processor control | |
US10289188B2 (en) | Processor having concurrent core and fabric exit from a low power state | |
US10719326B2 (en) | Communicating via a mailbox interface of a processor | |
CN111512267A (zh) | 基于性能监测信息进行数据驱动低功率状态控制的***、装置和方法 | |
CN113748397A (zh) | 用于动态控制处理器的处理电路的电流消耗的***、装置和方法 | |
US11314299B2 (en) | System, apparatus and method for dynamic power state scaling of a voltage regulator for a processor | |
US11669146B2 (en) | System, apparatus and method for responsive autonomous hardware performance state control of a processor | |
US20240028101A1 (en) | System, apparatus and method for globally aware reactive local power control in a processor | |
US20160224090A1 (en) | Performing context save and restore operations in a processor | |
US10860083B2 (en) | System, apparatus and method for collective power control of multiple intellectual property agents and a shared power rail |
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 |