CN107077180B - 基于功率状态而调整电压调节器 - Google Patents
基于功率状态而调整电压调节器 Download PDFInfo
- Publication number
- CN107077180B CN107077180B CN201580063851.3A CN201580063851A CN107077180B CN 107077180 B CN107077180 B CN 107077180B CN 201580063851 A CN201580063851 A CN 201580063851A CN 107077180 B CN107077180 B CN 107077180B
- Authority
- CN
- China
- Prior art keywords
- voltage regulator
- power state
- processor
- ivr
- 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.)
- Active
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
-
- 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
- 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)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Power Sources (AREA)
Abstract
在实施例中,一种处理器,包括:多个核;多个集成电压调节器(IVR),以及电压调节器逻辑。每一个IVR可以唯一地与多个处理核中的一个关联并且包括多个桥晶体管。所述电压调节器逻辑可以用于:监视核的功率状态信息;基于功率状态信息而确定核是否已经从第一功率状态转变到第二功率状态;以及响应于确定核已经从第一功率状态转变到第二功率状态,至少基于第二功率状态来调整IVR的桥激活级别和IVR的开关频率中的至少一个。描述并要求保护其他实施例。
Description
技术领域
实施例一般涉及系统的功率管理。更特别地,一些实施例涉及多核处理器的功率管理。
背景技术
半导体处理和逻辑设计中的发展已经准许可以存在于集成电路设备上的逻辑的量方面的增长。结果,计算机系统配置已经从系统中的单个或多个集成电路演进到单独的集成电路上的多个硬件线程、多个核、多个设备和/或完整系统。另外,随着集成电路的密度已经增长,针对计算系统(从嵌入式系统到服务器)的功率要求也已经增加。此外,软件低效及其硬件的要求也已经引起计算设备能量消耗方面的增加。事实上,一些研究表明计算设备消耗针对国家(诸如美利坚合众国)的整个电力供应的相当大百分比。结果,存在对于与集成电路相关联的能量效率和节省的至关重要的需要。这些需要将随着服务器、台式计算机、笔记本、Ultrabooks™、平板电脑、移动电话、处理器、嵌入式系统等变得甚至更加普遍(从包括在典型计算机、汽车和电视中到生物技术)而增加。
附图说明
图1A是根据一个或多个实施例的系统的框图。
图1B是根据一个或多个实施例的示例电压调节器的框图。
图2A是根据一个或多个实施例的序列。
图2B是根据一个或多个实施例的序列。
图3A是根据一个或多个实施例的系统的一部分的框图。
图3B是根据一个或多个实施例的多域处理器的框图。
图3C是根据一个或多个实施例的处理器的框图。
图4是根据一个或多个实施例的包括多个核的处理器的框图。
图5是根据一个或多个实施例的处理器核的微架构的框图。
图6是根据一个或多个实施例的处理器核的微架构的框图。
图7是根据一个或多个实施例的处理器核的微架构的框图。
图8是根据一个或多个实施例的处理器核的微架构的框图。
图9是根据一个或多个实施例的处理器的框图。
图10是根据一个或多个实施例的代表性SoC的框图。
图11是根据一个或多个实施例的另一个示例SoC的框图。
图12是一个或多个实施例可以与其一起使用的示例系统的框图。
图13是一个或多个实施例可以与其一起使用的另一个示例系统的框图。
图14是根据一个或多个实施例的计算机系统的框图。
图15是根据一个或多个实施例的系统的框图。
具体实施方式
一些电子设备包括一个或多个域,其中每个域包括一组组件,所述组件共享特定操作特性(例如,功率状态、时钟频率、电压电平等)。例如,多核处理器可以包括多个核,其中每一个核能够以与其他核不同的功率状态操作。
每个域可以包括专用电源供应组件。例如,域可以包括专用电压调节器来独立地控制供应到域的电功率。在一些情况下,域的功率状态中的改变可以使电压调节器的效率下降。例如,当域转变至较低功率状态时,关联的电压调节器可能由于以较低电流级别操作而引起损耗。
根据一些实施例,电压调节器的设置可以基于关联的域或系统的功率状态而调整。在一些实施例中,响应于到较低功率状态的转变,电压调节器的开关频率可以增加,和/或电压调节器的桥激活级别可以降低。另外,在一些实施例中,响应于到较高功率状态的转变,电压调节器的开关频率可以降低,和/或电压调节器的桥激活级别可以增加。在一些实施例中,这些调整中的一个或多个可以用于降低不同电流负载处的电压调节器损耗。
尽管参考特定集成电路中(诸如计算平台或处理器中)的能量节省和能量效率来描述以下实施例,但其他实施例可应用于其他类型的集成电路和逻辑设备。本文描述的实施例的类似技术和教导可以应用于其他类型的电路或半导体设备,其还可受益于更好的能量效率和能量节省。例如,所公开的实施例不限于任何特定类型的计算机系统。也就是说,所公开的实施例可以用于许多不同的系统类型,范围从服务器计算机(例如,塔、机架、刀片、微服务器等等)、通信系统、存储系统、任何配置的台式计算机、膝上型计算机、笔记本和平板计算机(包括2:1平板电脑、平板手机等等)。
此外,所公开的实施例还可以在诸如手持设备、片上系统(SoC)和嵌入式应用之类的其他设备中使用。手持设备的一些示例包括诸如智能电话之类的蜂窝电话、互联网协议设备、数字摄像机、个人数字助理(PDA)和手持PC。嵌入式应用典型地可以包括微控制器、数字信号处理器(DSP)、网络计算机(NetPC)、机顶盒、网络集线器、广域网(WAN)交换机、可穿戴设备或可以执行以下教导的功能和操作的任何其他系统。另外,实施例可以在具有标准语音功能的移动终端(诸如移动电话、智能电话和平板手机)中和/或在没有标准无线语音功能通信能力的非移动终端(诸如,许多可穿戴装置、平板电脑、笔记本、台式机、微服务器、服务器等等)中实现。
此外,本文描述的装置、方法和系统不限于物理计算设备,但还可以涉及用于能量节省和效率的软件优化。如在以下描述中将容易地明显的,本文描述的方法、装置和系统的实施例(无论是否参考硬件、固件、软件或其组合)是对“绿色技术”未来至关重要的,诸如对涵盖大部分美国经济的产品中的功率节省和能量效率而言。
注意到本文描述的功率管理技术可以独立于和补充于基于操作系统(OS)的机制,诸如高级配置和平台接口(ACPI)标准(例如,2006年10月10日公开的版本3.0b)。根据ACPI,处理器可以以各种性能状态或级别(所谓的P状态,即从P0到PN)操作。通常,P1性能状态可以对应于可被OS请求的最高保证性能状态。除了该P1状态之外,OS还可以请求较高性能状态,即P0状态。该P0状态可以从而是机会或涡轮(turbo)模式状态,其中当功率和/或热量预算可用时,处理器硬件可以将处理器或至少其部分配置成以比保证频率更高的频率操作。在许多实现方式中,处理器可以包括高于P1保证最大频率的多个所谓的箱频率,所述箱频率超过如在制造期间被熔断或以其他方式写入到处理器中的特定处理器的最大峰值频率。此外,根据ACPI,处理器可以以各种功率状态或级别操作。关于功率状态,ACPI指定不同功率消耗状态,通常称为C状态,C0、C1到Cn状态。当核是活动的时,其以C0状态运行,并且当核是空闲的时,它可以被置于核低功率状态,也称为核非零C状态(例如,C1-C6状态),其中每个C状态处于较低功率消耗级别(以使得C6是比C1更深的低功率状态,等等)。
要理解的是在不同实施例中可以单独地或组合地使用许多不同类型的功率管理技术。作为代表性示例,功率控制器可以控制处理器以通过某个形式的动态电压频率调节(DVFS)进行功率管理,其中一个或多个核或其他处理器逻辑的操作电压和/或操作频率可以被动态控制成降低某些情形中的功率消耗。在示例中,可以使用可从加利福尼亚州圣克拉拉的Intel公司得到的Enhanced Intel SpeedStepTM技术来执行DVFS以提供最低功率消耗级别处的最优性能。在另一个示例中,可以使用Intel TurboBoostTM技术来执行DVFS以使得一个或多个核或其他计算引擎能够基于条件(例如,工作负载和可用性)而以比保证操作频率更高的频率来操作。
可以在某些示例中使用的另一个功率管理技术是不同计算引擎之间的工作负载的动态交换。例如,处理器可以包括以不同功率消耗级别来操作的非对称核或其他处理引擎,以使得在功率受限情形中,一个或多个工作负载可以被动态切换到在较低功率核或其他计算引擎上执行。另一个示例性功率管理技术是硬件工作循环(HDC),其可以使核和/或其他计算引擎根据工作循环而周期性地被启用和禁用,以使得可以使一个或多个核在工作循环的不活动时段期间不活动并且使其在工作循环的活动时段期间活动。尽管利用这些特定示例进行描述,但要理解的是在特定实施例中可以使用许多其他功率管理技术。
现在参考图1A,示出根据一个或多个实施例的系统100的框图。在一些实施例中,系统100可以是电子设备或组件的全部或一部分。例如,系统100可以是蜂窝电话、计算机、服务器、网络设备、处理器、片上系统(SoC)、控制器、无线收发器、电源供应单元等。此外,在一些实施例中,系统100可以是相关或互连设备的任何组,诸如数据中心、计算集群、对等(P2P)网络、局域网(LAN)、广域网(WAN)、无线自组网等。
如图1A中所示,系统100可以包括系统电压调节器(VR)140以及任何数目的域120A-120N(一般称为“域120”)。在其中系统100是设备的全部或一部分的实施例中,每一个域120包括一个或多个域组件125,所述域组件125被配置成执行(一个或多个)指定功能。例如,域120A-120N可以表示被包括在片上系统(SoC)中的知识产权(IP)块、被包括在计算机中的硬件模块、被包括在处理器中的处理核、被包括在无线通信设备中的无线电接口模块、被包括在底架中的插入卡等。另外,域组件125可以包括逻辑单元、存储器/存储组件、接口单元、功率组件、处理核、图形引擎等。
在一些实施例中,每一个域120还可以包括域VR 130。每一个域VR 130控制供应到对应域组件125的功率。另外,系统VR 140整体上可以控制供应到系统100的电功率。例如,系统VR 140和/或域VR 130可以使用动态电压频率调节(DVFS),其中域120或系统100的操作电压和/或操作频率可以被动态控制成降低某些情形中的功率消耗。在其中域120对应于处理器核的实施例中,域VR 130可以是唯一与处理器核关联的完全集成的电压调节器(FIVR)。另外,在其中系统100是多核处理器的实施例中,系统VR 140可以位于处理器的非核区域中,或者可以位于处理器外部。
在一些实施例中,VR的设置可以基于对应域或系统的功率状态而调整。VR的设置可以包括开关频率和桥激活级别。这些设置可以被调整以降低不同电流负载处的VR损耗。在一些实施例中,开关频率可以是VR的脉冲宽度调制器(PWM)频率。另外,在一些实施例中,可以通过控制VR中激活的桥晶体管的数目而调整桥激活级别。
在一些实施例中,VR的开关频率可以响应于到较低功率状态(即,与相对较低的能量消耗关联的功率状态)的转变而增加。另外,在一些实施例中,VR的桥激活级别可以响应于到较低功率状态的转变而降低。例如,假定域120A从C0状态转变到C1状态。如以上所解释的,在ACPI标准下,C1状态是比C0状态更低的功率状态。因而,在一些实施例中,域VR 130可以降低桥激活级别和/或增加开关频率。例如,域VR 130可以通过将桥激活级别降低某个量或比例(例如,25%、75%等)以及将开关频率增加某个量或比例(例如,25%、50%、二倍、三倍等)对从C0到C1的转变进行响应。
在一些实施例中,IVR的开关频率可以响应于到较高功率状态(即,与相对较高的能量消耗关联的功率状态)的转变而降低。另外,在一些实施例中,VR的桥激活级别可以响应于到较高功率状态的转变而增加。例如,假定域120A从C1状态转变到C0状态。在该示例中,域VR 130可以增加桥激活级别和/或降低开关频率。
现在参考图1B,示出根据一个或多个实施例的示例VR 150。更具体地,VR 150通常可以对应于图1A中示出的系统VR 140和/或域VR 130。
如所示出的,VR 150可以包括VR逻辑170,脉冲宽度调制器180以及任何数目的桥晶体管1660A-160N(一般称为“桥晶体管160”)。在一个或多个实施例中,VR逻辑170可以接收功率状态信息175。例如,功率状态信息175可以包括关于与VR 150关联的域或系统的功率状态的信息。
在一些实施例中,VR逻辑170可以基于功率状态信息175而调整VR 150的控制设置。控制设置可以包括VR 150的开关频率和桥激活级别。例如,VR逻辑170可以通过激活或去激活(deactivate)任何数目或比例的桥晶体管160而调整VR 150的桥激活级别。在另一个示例中,VR逻辑170可以通过调整脉冲宽度调制器180的频率而调整VR 150的开关频率。至少部分地以硬件来实现VR逻辑170。注意到,虽然图1B将VR逻辑170示出为包括在VR 160中,但实施例在这方面不被限制。例如,预计到VR逻辑170可以位于处理器的非核区域中、在核中、在芯片组中等等。
现在参考图2A,示出根据一个或多个实施例的序列200。在一些实施例中,序列200可以是图1B中示出的VR逻辑170的部分。序列200可以以硬件、软件和/或固件来实现。在固件和软件实施例中,其可以通过计算机执行的指令来实现,所述计算机执行的指令被存储在非暂时性机器可读介质(诸如,光学、半导体或磁性存储设备)中。机器可读介质可以存储数据,所述数据如果被至少一个机器使用则使至少一个机器制造至少一个集成电路来执行方法。为了图示的缘故,以下可以参考图1A-1B来描述序列200中涉及的步骤,所述图1A-1B示出根据一些实施例的示例。然而,本文讨论的各种实施例的范围在这方面不被限制。
在块210处,可以监视关于功率状态的信息。例如,参考图1B,VR逻辑170可以接收关于关联的域或系统的当前功率状态的信息175。
在块220处,做出关于是否已经发生功率状态中的转变的确定。例如,参考图1B,VR逻辑170可以确定关联的域或系统是否已经转变到新的功率状态(例如,从C0状态到C1状态)。如果不是,则过程返回到块210以继续监视关于功率状态的信息。然而,如果确定已经发生功率状态中的转变,则过程在块230处继续。
在块230处,可以执行VR桥激活级别和VR开关频率中的至少一个的调整。例如,在域120A已经从C0状态转变到C1状态的情况下,域VR 130A的开关频率可以增加,以及/或者域VR 130A的桥激活级别可以降低。这些改变可以由于C1状态中的较低电流负载而降低域VR 130A中的损耗。在另一个示例中,在域120A已经从C1状态转变到C0状态的情况下,域VR130A的开关频率可以降低,以及/或者域VR 130A的桥激活级别可以增加。这些改变可以由于C1状态中的较高电流负载而降低域VR 130A中的损耗。在块230之后,过程返回到块210以继续监视关于功率状态的信息。
现在参考图2B,示出根据一个或多个实施例的序列240。在一些实施例中,序列240可以是图1B中示出的VR逻辑170的部分。序列240可以以硬件、软件和/或固件来实现。在固件和软件实施例中,其可以通过计算机执行的指令来实现,所述计算机执行的指令被存储在非暂时性机器可读介质(诸如,光学、半导体或磁性存储设备)中。机器可读介质可以存储数据,所述数据如果被至少一个机器使用则使至少一个机器制造至少一个集成电路来执行方法。为了图示的缘故,以下可以参考图1A-1B来描述序列240中涉及的步骤,所述图1A-1B示出根据一些实施例的示例。然而,本文讨论的各种实施例的范围在这方面不被限制。
在块250处,可以监视关于功率状态的信息。例如,参考图1B,VR逻辑170可以接收关于与VR 150关联的域或系统的功率状态的功率状态信息175。
在块260处,做出关于是否已经发生到较低功率状态的转变的确定。例如,参考图1B,VR逻辑170可以确定域是否已经转变到较低功率状态(例如,从C0状态到C1状态)。如果确定已经发生到较低功率状态的转变,则在块270处,VR的桥激活级别降低。例如,VR逻辑170可以通过降低VR 150中的激活的桥晶体管160的数目而降低桥激活级别。在块275处,增加IVR的开关频率。例如,参考图1B,VR逻辑170可以通过增加PWM 180的PWM频率而增加VR150的开关频率。在块275之后,过程返回到块250以继续监视关于功率状态的信息。
然而,如果在块260处确定尚未发生到较低功率状态的转变,则在块280处,做出关于是否已经发生到较高功率状态的转变的确定。例如,参考图1B,VR逻辑170可以确定域是否已经转变到较高功率状态(例如,从C1状态到C0状态)。
如果在块280处确定尚未发生到较高功率状态的转变,则过程返回到块250以继续监视关于功率状态的信息。然而,如果在块280处确定已经发生到较高功率状态的转变,则在块290处,IVR的桥激活级别增加。例如,参考图1B,VR逻辑170可以通过增加VR 150中的激活的桥晶体管160的数目而增加桥激活级别。在块295处,可以降低IVR的开关频率。例如,参考图1B,VR逻辑170可以通过降低PWM 180的PWM频率而降低VR 150的开关频率。在块295之后,过程返回到块250以继续监视关于功率状态的信息。
注意到图1A-1B和2A-2B中示出的示例出于图示的缘故而被提供,并且不意图于限制任何实施例。预计到在图1A-1B和2A-2B中示出的示例中的细节可以在一个或多个实施例中的任何位置使用。
现在参考图3A,示出了根据本发明的实施例的系统300的框图。如图3A中所示,系统300可以包括各种组件,所述组件包括示出为多核处理器的处理器303。处理器303可以经由外部电压调节器316耦合到电源供应317,所述外部电压调节器316可以执行第一电压变换以向处理器303提供主调节电压。
如所见,处理器303可以是包括多个核304a-304n的单管芯处理器。此外,每个核304可以与集成电压调节器(IVR)308a-308n相关联,所述集成电压调节器308a-308n接收主调节电压并且生成要被提供到与IVR 308相关联的处理器的一个或多个代理的操作电压。因此,IVR实现方式可以被提供以允许电压以及从而每个单独的核304的功率和性能的精细粒度控制。这样,每个核304可以以独立的电压和频率操作,这使得能够实现大灵活性并且提供用于平衡功率消耗与性能的广泛机会。在一些实施例中,多个IVR 308的使用使得能够将组件分组成单独的功率平面,以使得功率被IVR 308调节并供应到分组中的仅那些组件。在功率管理期间,一个IVR 308的给定功率平面可以被降低动力消耗或断电,当处理器被置于某个低功率状态时,而另一个IVR 308的另一个功率平面保持活动,或完全供电。
在一些实施例中,处理器303可以包括VR逻辑318。VR逻辑318可以包括以上参考(图1B中示出的)VR逻辑170描述的功能的一些或全部。例如,VR逻辑318可以基于处理器303的功率状态而调整外部VR 316的桥激活级别和/或开关频率。在另一个示例中,VR逻辑318可以基于对应核304的功率状态而调整IVR 308的桥激活级别和/或开关频率。
又参考图3A,可以在处理器内存在附加组件,所述附加组件包括输入/输出接口313、另一个接口314和集成存储器控制器315。如所见,这些组件中的每一个可以由另一个集成电压调节器308x供电。在一个实施例中,接口313可以根据Intel®快速路径互连(QPI)协议,所述快速路径互连协议提供包括多个层的高速缓存一致性协议中的点对点(PtP)链路,所述多个层包括物理层、链路层和协议层。继而,接口314可以根据快速外围组件互连(PCIeTM)规范,例如,PCI ExpressTM规范基本规范版本2.0(2007年1月17日公开)。
还示出了功率控制单元(PCU)312,其可以包括执行关于处理器303的功率管理操作的硬件、软件和/或固件。如所见,PCU 312经由数字接口向外部电压调节器316提供控制信息以使外部电压调节器316生成适当的调节电压。PCU 312还经由另一个数字接口向IVR308提供控制信息以控制所生成的操作电压(或者使对应IVR 308要在低功率模式中被禁用)。在一些实施例中,提供到IVR 308的控制信息可以包括对应核304的功率状态。
在各种实施例中,PCU 312可以包括各种各样的功率管理逻辑单元以执行基于硬件的功率管理。这样的功率管理可以是完全处理器控制的(例如,通过各种处理器硬件,并且其可以由工作负载和/或功率、热或其他处理器约束来触发)以及/或者功率管理可以响应于外部源(诸如平台或管理功率管理源或系统软件)来执行。在一些实施例中,PCU 312可以包括以上参考(图1B中示出的)VR逻辑170描述的功能的一些或全部。例如,在一些实施例中,PCU 312可以基于处理器303和/或核304的功率状态信息而调整外部电压调节器316和/或IVR 308的设置。
虽然为了易于图示而未示出,要理解的是在处理器303内可以存在附加组件,诸如非核逻辑和诸如内部存储器(例如,高速缓存存储器层级的一个或多个级等等)之类的其他组件。此外,虽然在图3A的实现方式中以外部电压调节器示出,但实施例并不被如此限制。
实施例可以在包括服务器处理器、台式处理器、移动处理器等的针对各种市场的处理器中实现。现在参考图3B,示出了根据一个或多个实施例的多域处理器301的框图。如图3B的实施例中所示,处理器301包括多个域。具体地,核域321可以包括多个核3200-320n,图形域324可以包括一个或多个图形引擎,并且还可以存在系统代理域330。在一些实施例中,系统代理域330可以以与核域独立的频率来执行,并且可以总是保持通电以处理功率控制事件和功率管理,以使得域321和324可以被控制成动态进入和离开高功率和低功率状态。域321和324中的每一个可以以不同的电压和/或功率操作。注意到虽然仅示出有三个域,但要理解的是本发明的范围在这方面不被限制,并且在其他实施例中可以存在附加的域。例如,可以存在多个核域,其中每一个核域包括至少一个核。
通常,除了各种执行单元和附加处理元件之外,每个核320还可以包括低级高速缓存。继而,各种核可以耦合到彼此,并且耦合到由最后一级高速缓存(LLC)3220-322n的多个单元形成的共享高速缓存存储器。在各种实施例中,LLC 322可以在核和图形引擎以及各种媒体处理电路之间共享。如所见的,环互连323因而将核耦合在一起,并且提供核320、图形域324和系统代理域330之间的互连。在一个实施例中,互连323可以是核域321的部分。然而,在其他实施例中,环互连323可以具有其自己的域。
如进一步所见的,系统代理域330可以包括显示器控制器332,其可以提供关联的显示器的控制和到关联的显示器的接口。此外,系统代理域330可以包括功率控制单元335以执行功率管理。
如图3B中进一步所见的,处理器301还可以包括集成存储器控制器(IMC)342,其可以提供到系统存储器(诸如,动态随机存取存储器(DRAM))的接口。多个接口3400-340n可以存在以使得能够实现处理器与其他电路之间的互连。例如,在一个实施例中,可以提供至少一个直接媒体接口(DMI)接口以及一个或多个PCIe™接口。又进一步,为了提供诸如附加处理器或其他电路之类的其他代理之间的通信,还可以提供根据Intel®快速路径互连(QPI)协议的一个或多个接口。尽管在图3B的实施例中以该高级示出,但要理解的是本发明的范围在这方面不被限制。
尽管在图3B中为了易于图示而未示出,但是在一些实施例中,处理器301、核320、图形域324、系统代理域330和/或核域321可以包括以上参考图1B描述的电压调节器150的组件和/或功能的一些或全部。
现在参考图3C,示出了根据本发明的实施例的处理器302的框图。如图3C中所示,处理器302可以是包括多个核370a-370n的多核处理器。在一个实施例中,每个这样的核可以具有独立功率域,并且可以被配置成基于工作负载而进入和离开活动状态和/或最大性能状态。各种核可以经由互连375耦合到包括各种组件的系统代理或非核380。如所见的,非核380可以包括共享高速缓存382,所述共享高速缓存382可以是最后一级高速缓存。此外,非核380可以包括集成存储器控制器384以例如经由存储器总线与系统存储器(在图3C中未示出)通信。非核380还包括各种接口386a-386n和功率控制单元388,所述功率控制单元388可以包括执行本文所述的功率管理技术的逻辑。
此外,通过接口386a-386n,可以做出到各种芯片外组件(诸如,外围设备、大容量储存器等)的连接。虽然在图3C的实施例中以该特定实现方式示出,但本发明的范围在这方面不被限制。
尽管在图3C中为了易于图示而未示出,但是在一些实施例中,处理器302可以包括以上参考图1B描述的电压调节器150的组件和/或功能的一些或全部。
参考图4,图示了包括多个核的处理器的实施例。处理器400包括任何处理器或处理设备,诸如微处理器、嵌入式处理器、数字信号处理器(DSP)、网络处理器、手持处理器、应用处理器、协处理器、片上系统(SoC)或执行代码的其他设备。在一个实施例中,处理器400包括至少两个核——核401和402,其可以包括非对称核或对称核(所图示的实施例)。然而,处理器400可以包括可以是对称的或非对称的任何数目的处理元件。
在一个实施例中,处理元件指的是支持软件线程的硬件或逻辑。硬件处理元件的示例包括:线程单元、线程槽、线程、处理单元、上下文、上下文单元、逻辑处理器、硬件线程、核和/或任何其他元件,其能够保持针对处理器的状态,诸如执行状态或架构状态。换言之,在一个实施例中,处理元件指的是能够独立地与代码(诸如软件线程、操作系统、应用或其他代码)关联的任何硬件。物理处理器典型地指的是集成电路,其潜在地包括任何数目的其他处理元件,诸如核或硬件线程。
核经常指的是位于集成电路上的能够维持独立架构状态的逻辑,其中每个独立维持的架构状态与至少一些专用执行资源相关联。与核相比,硬件线程典型地指的是位于集成电路上的能够维持独立架构状态的任何逻辑,其中独立维持的架构状态共享对执行资源的访问。如可以看到的,当某些资源被共享并且其他资源专用于架构状态时,硬件线程和核的命名之间的界限重叠。又经常,核和硬件线程被操作系统视为单独的逻辑处理器,其中操作系统能够单独地调度每个逻辑处理器上的操作。
如在图4中所图示的,物理处理器400包括两个核,核401和402。此处,核401和402被视为对称核,即具有相同配置、功能单元和/或逻辑的核。在另一个实施例中,核401包括无序处理器核,而核402包括有序处理器核。然而,核401和402可以单独地从任何类型的核中选择,诸如原生核、软件管理的核、适配成执行原生指令集架构(ISA)的核、适配成执行翻译的ISA的核、共同设计的核或其他已知核。又进一步讨论的,以下进一步详细描述核401中图示的功能单元,因为核402中的单元以类似的方式操作。
如所描绘的,核401包括两个硬件线程401a和401b,其还可以被称为硬件线程槽401a和401b。因此,在一个实施例中,诸如操作系统之类的软件实体潜在地将处理器400视为四个分离的处理器,即能够同时执行四个软件线程的四个逻辑处理器或处理元件。如以上提到的,第一线程与架构状态寄存器401a相关联,第二线程与架构状态寄存器401b相关联,第三线程可以与架构状态寄存器402a相关联,并且第四线程可以与架构状态寄存器402b相关联。此处,架构状态寄存器(401a、401b、402a和402b)中的每一个可以被称为处理元件、线程槽或线程单元,如上所述。如所图示的,在架构状态寄存器401b中复制架构状态寄存器401a,因此单独的架构状态/上下文能够被存储以用于逻辑处理器401a和逻辑处理器401b。在核401中,诸如分配器和重命名器块430中的指令指针和重命名逻辑之类的其他较小资源也可以针对线程401a和401b复制。诸如重排序/退役单元435中的重排序缓冲器、ILTB 420、加载/存储缓冲器和队列之类的一些资源可以通过划分而被共享。诸如通用内部寄存器、(一个或多个)页表基址寄存器、低级数据高速缓存和数据TLB 415、(一个或多个)执行单元440和无序单元435的部分之类的其他资源潜在地是完全共享的。
处理器400经常包括其他资源,所述其他资源可以完全被共享、通过划分而被共享、或由处理元件专用/专用于处理元件。在图4中,图示了具有处理器的说明性逻辑单元/资源的纯粹示例性的处理器的实施例。注意到,处理器可以包括或省略这些功能单元中的任一个,以及包括未描绘的任何其他已知功能单元、逻辑或固件。如所图示的,核401包括简化的代表性无序(OOO)处理器核。但是,在不同实施例中可以利用有序处理器。OOO核包括预测要被执行/获取的分支的分支目标缓冲器420以及存储针对指令的地址翻译条目的指令翻译缓冲器(I-TLB)420。
核401还包括耦合到取出单元420以对所取出的元素进行解码的解码模块425。在一个实施例中,取出逻辑包括分别与线程槽401a、401b相关联的单独的定序器。核401经常与第一ISA相关联,第一ISA定义/指定在处理器400上可执行的指令。作为第一ISA的一部分的机器代码指令经常包括指令的一部分(称为操作码),其引用/指定要执行的指令或操作。解码逻辑425包括电路,所述电路从其操作码中识别出这些指令并将所解码的指令传递到流水线中以用于如由第一ISA定义的处理。例如,在一个实施例中,解码器425包括被设计或适配成识别诸如事务指令之类的特定指令。作为由解码器425的识别的结果,架构或核401采取特定、预定义的动作以执行与适当指令相关联的任务。重要的是要注意,本文所述的任务、块、操作和方法中的任一个可以响应于单个或多个指令来执行;其中的一些可以是新的或旧的指令。
在一个示例中,分配器和重命名器块430包括保留资源(诸如存储指令处理结果的寄存器文件)的分配器。然而,线程401a和401b潜在地能够无序执行,其中分配器和重命名器块430还保留其他资源,诸如跟踪指令结果的重排序缓冲器。单元430还可以包括寄存器重命名器以将程序/指令引用寄存器重命名到处理器400外部的其他寄存器。重排序/退役单元435包括诸如以上提及的重排序缓冲器、加载缓冲器和存储缓冲器之类的组件以支持无序执行和稍后对无序执行的指令的有序退役。
在一个实施例中,调度器和(一个或多个)执行单元块440包括调度在执行单元上的指令/操作的调度器单元。例如,在具有可用浮点执行单元的执行单元的端口上调度浮点指令。与执行单元相关联的寄存器文件还被包括以存储信息指令处理结果。示例性执行单元包括浮点执行单元、整数执行单元、跳转执行单元、加载执行单元、存储执行单元和其他已知的执行单元。
较低级数据高速缓存和数据翻译缓冲器(D-TLB)450耦合到(一个或多个)执行单元440。数据高速缓存要存储近来使用的/操作的元素(诸如数据操作数),其潜在地在存储器一致性状态中保存。D-TLB要存储近来虚拟/线性到物理地址翻译。作为特定示例,处理器可以包括页表结构以将物理存储器分割成多个虚拟页面。
此处,核401和402共享对较高级或较远高速缓存410的访问,所述较高级或较远高速缓存410要对近来取出的元素进行高速缓存。注意到较高级或较远指的是越来越远离或变得远离(一个或多个)执行单元的高速缓存级。在一个实施例中,较高级高速缓存410是最后一级数据高速缓存(在处理器400上的存储器层级中的最后高速缓存),诸如第二或第三级数据高速缓存。然而,较高级高速缓存410不如此受限,由于它可以与指令高速缓存相关联或包括指令高速缓存。代替地,追踪高速缓存(一种类型的指令高速缓存)可以耦合在解码器425之后以存储近来解码的追踪。
在所描绘的配置中,处理器400还包括总线接口模块425和功率控制器460,其可以执行根据本发明的实施例的功率管理。在该场景下,总线接口405与处理器400外部的设备(诸如系统存储器和其他组件)通信。
存储器控制器470可以与诸如一个或许多存储器之类的其他设备对接。在示例中,总线接口405包括与用于与存储器对接的存储器控制器以及用于与图形处理器对接的图形控制器的环互连。在SoC环境中,甚至更多设备(诸如网络接口、协处理器、存储器、图形处理器和任何其他已知的计算机设备/接口)可以集成在单个管芯或集成电路上以在高功能性和低功率消耗的情况下提供小形状因子。
尽管在图4中为了易于图示而未示出,但是在一些实施例中,处理器400可以包括以上参考图1B描述的电压调节器150的组件和/或功能的一些或全部。
现在参考图5,示出了根据本发明的一个实施例的处理器核的微架构的框图。如图5中所示,处理器核500可以是多级流水线无序处理器。核500可以基于接收的操作电压而以各种电压操作,所述接收的操作电压可以是从集成电压调节器或外部电压调节器接收的。
如图5中所见,核500包括前端单元510,其可以用于取出要被执行的指令并准备好它们以供稍后在处理器流水线中使用。例如,前端单元510可以包括取出单元501、指令高速缓存503以及指令解码器505。在一些实现方式中,前端单元510还可以包括追踪高速缓存连同微代码储存器以及微操作储存器。取出单元501可以例如从存储器或指令高速缓存503取出宏指令并将其馈送到指令解码器505以将其解码成原语(primitive)(即微操作)以供处理器执行。
在前端单元510和执行单元520之间耦合无序(OOO)引擎515,所述OOO引擎515可以用于接收微指令并准备好它们以供执行。更具体地,OOO引擎515可以包括各种缓冲器以对微指令流重排序并分配对于执行所需的各种资源以及提供逻辑寄存器到各种寄存器文件(诸如寄存器文件530和扩展寄存器文件535)内的存储位置上的重命名。寄存器文件530可以包括用于整数和浮点操作的单独的寄存器文件。扩展寄存器文件535可以提供针对矢量大小单元(例如每寄存器256或512位)的储存器。
各种资源可以存在于执行单元520中,所述执行单元520除其他专用硬件之外尤其包括例如各种整数、浮点和单指令多数据(SIMD)逻辑单元。例如,这样的执行单元除其他这样的执行单元外尤其可以包括一个或多个算术逻辑单元(ALU)522以及一个或多个矢量执行单元524。
来自执行单元的结果可以被提供到退役逻辑,即重排序缓冲器(ROB)540。更具体地,ROB 540可以包括接收与被执行的指令相关联的信息的各种阵列和逻辑。该信息然后被ROB 540审查以确定是否指令被有效退役以及结果数据被提交到处理器的架构状态,或者是否发生阻止指令的适当退役的一个或多个异常。当然,ROB 540可以处理与退役相关联的其他操作。
如图5中所示,ROB 540耦合到高速缓存550,在一个实施例中所述高速缓存550可以是低级高速缓存(例如L1高速缓存),尽管本发明的范围在此方面不被限制。执行单元520还可以直接耦合到高速缓存550。来自高速缓存550的数据通信可以与较高级高速缓存、系统存储器等一起发生。虽然在图5的实施例中以该高级示出,但要理解的是本发明的范围在这方面不被限制。例如,虽然图5的实现方式关于无序机器,诸如Intel®x86指令集架构(ISA)的无序机器,但本发明的范围在这方面不被限制。也就是说,在有序处理器、诸如基于ARM的处理器之类的精简指令集计算(RISC)处理器或可以经由仿真引擎和关联的逻辑电路仿真不同ISA的指令和操作的另一个类型的ISA的处理器中可以实现其他实施例。
尽管在图5中为了易于图示而未示出,但是在一些实施例中,核500可以包括以上参考图1B描述的电压调节器150的组件和/或功能的一些或全部。
现在参考图6,示出了根据另一个实施例的处理器核的微架构的框图。在图6的实施例中,核600可以是不同微架构的低功率核,诸如基于Intel®AtomTM的处理器,其具有被设计成降低功率消耗的相对有限的流水线深度。如所见的,核600包括指令高速缓存610,所述指令高速缓存610被耦合以向指令解码器615提供指令。分支预测器605可以耦合到指令高速缓存610。注意到指令高速缓存610还可以耦合到另一级高速缓存存储器,诸如L2高速缓存(在图6中为了易于图示而未示出)。继而,指令解码器615将经解码的指令提供到发布队列620以供存储和递送到给定执行流水线。微代码ROM 618耦合到指令解码器615。
浮点流水线630包括浮点寄存器文件632,所述浮点寄存器文件632可以包括具有诸如128、256或512位的给定位的多个架构寄存器。流水线630包括调度指令以供在流水线的多个执行单元之一上执行的浮点调度器634。在所示的实施例中,这样的执行单元包括ALU 635、置乱(shuffle)单元636和浮点加法器638。继而,在这些执行单元中所生成的结果可以被提供回到缓冲器和/或寄存器文件632的寄存器。当然要理解的是,虽然以这几个示例执行单元示出,但在另一个实施例中可以存在附加的或不同的浮点执行单元。
还可以提供整数流水线640。在所示的实施例中,流水线640包括整数寄存器文件642,所述整数寄存器文件642可以包括具有诸如128或256位的给定位的多个架构寄存器。流水线640包括调度指令以供在流水线的多个执行单元之一上执行的整数调度器644。在所示的实施例中,这样的执行单元包括ALU 645、置乱单元646和跳转执行单元648。继而,在这些执行单元中所生成的结果可以被提供回到缓冲器和/或寄存器文件642的寄存器。当然要理解的是,虽然以这几个示例执行单元示出,但在另一个实施例中可以存在附加的或不同的整数执行单元。
存储器执行调度器650可以调度存储器操作以供在地址生成单元652中执行,所述地址生成单元652还耦合到TLB 654。如所见的,这些结构可以耦合到数据高速缓存660,所述数据高速缓存660可以是L0和/或L1数据高速缓存,其继而耦合到高速缓存存储器层级的附加级,包括L2高速缓存存储器。
为了提供对无序执行的支持,除了重排序缓冲器680之外,还可以提供分配器/重命名器670,所述重排序缓冲器680被配置成对无序执行的指令进行重排序以供有序退役。尽管在图6的图示中以该特定流水线架构示出,但要理解的是许多变型和替换方案是可能的。
注意到,在具有非对称核的处理器中,诸如根据图5和6的微架构,工作负载可以出于功率管理原因而在核之间动态地交换,由于这些核尽管具有不同的流水线设计和深度但可以具有相同或相关的ISA。这样的动态核交换可以以对用户应用(并且可能地也对内核)透明的方式来执行。
尽管在图6中为了易于图示而未示出,但是在一些实施例中,核600可以包括以上参考图1B描述的电压调节器150的组件和/或功能的一些或全部。
参考图7,示出了根据又另一个实施例的处理器核的微架构的框图。如图7中所图示的,核700可以包括以非常低功率消耗级别执行的多级有序流水线。作为一个这样的示例,处理器700可以具有根据可从加利福尼亚州森尼维尔的ARM控股有限公司得到的ARMCortex A53的微架构。在实现方式中,可提供被配置成执行32位和64位代码二者的8级流水线。核700包括取出单元710,所述取出单元710被配置成取出指令并将其提供到解码单元715,所述解码单元715可以对指令(例如诸如ARMv8 ISA之类的给定ISA的宏指令)进行解码。还注意到,队列730可以耦合到解码单元715以存储经解码的指令。经解码的指令被提供到发布逻辑725,其中经解码的指令可以被发布到多个执行单元中的给定的一个执行单元。
进一步参考图7,发布逻辑725可以将指令发布到多个执行单元之一。在所示的实施例中,这些执行单元包括整数单元735、乘法单元740、浮点/矢量单元750、双发布单元760和加载/存储单元770。这些不同执行单元的结果可以被提供到写回单元780。要理解的是,虽然为了易于图示而示出单个写回单元,但在一些实现方式中不同的写回单元可以与每一个执行单元相关联。此外,要理解的是虽然在图7中示出的每个单元和逻辑以高级别来表示,但特定实现方式可以包括更多或不同的结构。使用具有如图7中的流水线的一个或多个核设计的处理器可以以从移动设备扩展到服务器系统的许多不同最终产品来实现。
尽管在图7中为了易于图示而未示出,但是在一些实施例中,核700可以包括以上参考图1B描述的电压调节器150的组件和/或功能的一些或全部。
现在参考图8,示出了根据再一个实施例的处理器核的微架构的框图。如图8中所图示的,核800可以包括以非常高性能级别执行的多级多发布无序流水线(其可以以比图7的核700更高的功率消耗级别发生)。作为一个这样的示例,处理器800可以具有根据ARMCortex A57设计的微架构。在实现方式中,可提供被配置成执行32位和64位代码二者的15(或更多)级流水线。此外,流水线可以提供3(或更多)宽和3(或更多)发布操作。核800包括取出单元810,所述取出单元810被配置成取出指令并将其提供到解码器/重命名器/分派器815,其可以对指令(例如ARMv8指令集架构的宏指令)进行解码、重命名指令内的寄存器引用和将指令(最终)分派到所选执行单元。经解码的指令可以被存储在队列825中。注意到虽然在图8中为了易于图示而示出单个队列结构,但要理解的是可以针对多个不同类型的执行单元中的每一个而提供单独的队列。
在图8中还示出了存储在队列825中的经解码的指令可以从其发布到所选执行单元的发布逻辑830。发布逻辑830还可以在特定的实施例中实现,其中针对发布逻辑830耦合到的多个不同类型的执行单元中的每一个有单独的发布逻辑。
经解码的指令可以被发布到多个执行单元中的给定的一个。在所示的实施例中,这些执行单元包括一个或多个整数单元835、乘法单元840、浮点/矢量单元850、分支单元860和加载/存储单元870。在实施例中,浮点/矢量单元850可以被配置成处理128或256位的SIMD或矢量数据。又进一步,浮点/矢量执行单元850可以执行IEEE-754双精度浮点操作。这些不同执行单元的结果可以被提供到写回单元880。注意到,在一些实现方式中,不同的写回单元可以与执行单元中的每一个相关联。此外,要理解的是虽然在图8中示出的每个单元和逻辑以高级别来表示,但特定实现方式可以包括更多或不同的结构。
注意到,在具有非对称核的处理器中,诸如根据图7和8的微架构,工作负载可以出于功率管理原因而动态地交换,由于这些核尽管具有不同的流水线设计和深度但可以具有相同或相关的ISA。这样的动态核交换可以以对用户应用(并且可能地也对内核透明)的方式来执行。
尽管在图8中为了易于图示而未示出,但是在一些实施例中,核800可以包括以上参考图1B描述的电压调节器150的组件和/或功能的一些或全部。
使用具有如在图5-8中的任何一个或多个中的流水线的一个或多个核设计的处理器可以以从移动设备扩展到服务器系统的许多不同最终产品来实现。现在参考图9,示出了根据本发明的另一个实施例的处理器的框图。在图9的实施例中,处理器900可以是包括多个域的SoC,其中的每一个可以被控制成以独立的操作电压和操作频率来操作。作为特定说明性示例,处理器900可以是基于Intel®Architecture Core™的处理器(诸如i3、i5、i7或从Intel公司可得到的另一个这样的处理器)。然而,诸如从加利福尼亚州森尼维尔的超威半导体公司(AMD)可得到的、来自ARM控股公司或其被许可方的基于ARM的设计或来自加利福尼亚州森尼维尔的MIPS技术公司或其被许可方或采纳方的基于MIPS的设计之类的其他低功率处理器可以代替地存在于其他实施例中,诸如苹果A7处理器、高通Snapdragon处理器、或德克萨斯州仪器OMAP处理器。这样的SoC可以用于低功率系统中,诸如智能电话、平板计算机、平板手机计算机、UltrabookTM计算机或其他便携式计算设备。
在图9中所示的高级视图中,处理器900包括多个核单元9100-910n。每个核单元可以包括一个或多个处理器核、一个或多个高速缓存存储器和其他电路。每个核单元910可以支持一个或多个指令集(例如,x86指令集(具有已经添加有较新版本的一些扩展);MIPS指令集;ARM指令集(具有诸如NEON之类的可选附加扩展))或其他指令集或其组合。注意到核单元中的一些可以是(例如,不同设计的)异构资源。此外,每个这样的核可以耦合到高速缓存存储器(未示出),在实施例中所述高速缓存存储器可以是共享级(L2)高速缓存存储器。非易失性储存器930可以用于存储各种程序和其他数据。例如,该储存器可以用于存储微代码、引导信息(诸如BIOS)、其他系统软件等的至少部分。
每个核单元910还可以包括使得能够实现到处理器的附加电路的互连的诸如总线接口单元之类的接口。在实施例中,每个核单元910耦合到一致性结构,所述一致性结构可以充当主高速缓存一致性管芯上互连,其继而耦合到存储器控制器930。继而,存储器控制器935控制与诸如DRAM之类的存储器(在图9中为了易于图示而未示出)的通信。
除了核单元之外,在处理器内存在附加处理引擎,包括至少一个图形单元920,所述至少一个图形单元920可以包括执行图形处理以及可能地执行图形处理器上的通用操作(所谓的GPGPU操作)的一个或多个图形处理单元(GPU)。此外,可以存在至少一个图像信号处理器925。信号处理器925可以被配置成处理从(SoC内部的或芯片外的)一个或多个捕获设备接收的传入图像数据。
还可以存在其他加速器。在图9的图示中,视频编码器950可以执行编码操作,包括针对视频信息而编码和解码,例如提供对高清晰度视频内容的硬件加速支持。显示器控制器955还可以被提供以对显示器操作进行加速,包括提供对系统的内部和外部显示器的支持。此外,安全处理器945可以存在以执行安全性操作,诸如安全引导操作、各种密码操作等。
每一个单元可以使其功率消耗经由功率管理器940来控制,所述功率管理器940可以包括执行本文所述的各种功率管理技术的控制逻辑。
在一些实施例中,SoC 900还可以包括非一致性结构,其耦合到各种外围设备可以耦合到的一致性结构。一个或多个接口960a-960d使得能够实现与一个或多个芯片外设备的通信。这样的通信可以根据各种各样的通信协议,除其他类型的通信协议之外尤其诸如PCIeTM、GPIO、USB、I2C、UART、MIPI、SDIO、DDR、SPI、HDMI。尽管在图9的实施例中以该高级示出,但要理解的是本发明的范围在这方面不被限制。
尽管在图9中为了易于图示而未示出,但是在一些实施例中,SoC 900可以包括以上参考图1B描述的电压调节器150的组件和/或功能的一些或全部。另外,在一些实施例中,SoC 900的各种域(例如,核单元9100-910n、图形单元920、图像信号处理器925、视频编码器950、显示器控制器955、安全处理器945等)可以均包括以上参考图1A描述的域VR 130中的一些或全部。
现在参考图10,示出了代表性SoC的框图。在所示的实施例中,SoC 1000可以是多核SoC,所述多核SoC被配置用于为了合并到智能电话或其他低功率设备(诸如平板计算机或其他便携式计算设备)中而要被优化的低功率操作。作为示例,SoC 1000可以使用诸如较高功率和/或低功率核(例如无序核和有序核)的组合之类的非对称或不同类型的核来实现。在不同实施例中,这些核可以基于Inte®ArchitectureTM核设计或ARM架构设计。在又其他实施例中,可以在给定SoC中实现Intel和ARM核的混合。
如图10中所见,SoC 1000包括具有多个第一核10120-10123的第一核域1010。在实施例中,这些核可以是低功率核,诸如有序核。在一个实施例中,这些第一核可以被实现为ARM Cortex A53核。继而,这些核耦合到核域1010的高速缓存存储器1015。此外,SoC 1000包括第二核域1020。在图10的图示中,第二核域1020具有多个第二核10220-10223。在示例中,这些核可以是与第一核1012相比的更高功率消耗的核。在实施例中,第二核可以是无序核,其可以被实现为ARM Cortex A57核。继而,这些核耦合到核域1020的高速缓存存储器1025。注意到虽然在图10中示出的示例包括每个域中的4个核,但要理解的是在其他实施例中在给定域中可以存在更多或更少的核。
进一步参考图10,还提供了图形域1030,其可以包括被配置成独立地执行例如由核域1010和1020的一个或多个核提供的图形工作负载的一个或多个图形处理单元(GPU)。作为示例,除了提供图形和显示再现操作之外,GPU域1030还可以用于提供对各种各样的屏幕大小的显示支持。
如所见的,各种域耦合到一致性互连1040,其在实施例中可以是高速缓存一致性互连结构,其继而耦合到集成存储器控制器1050。一致性互连1040可以包括共享高速缓存存储器,诸如L3高速缓存,一些示例。在实施例中,存储器控制器1050可以是提供与芯片外存储器的通信的多个通道(诸如(在图10中为了易于图示而未示出的)DRAM的多个通道)的直接存储器控制器。
在不同的示例中,核域的数目可以变化。例如,对于适合于合并到移动计算设备中的低功率SoC而言,可以存在诸如图10中示出的有限数目的核域。又进一步,在这样的低功率SoC中,包括较高功率核的核域1020可以具有较少数目的这样的核。例如,在一个实现方式中,两个核1022可以被提供以使得能够实现以降低的功率消耗级别的操作。此外,不同的核域还可以耦合到中断控制器以使得能够实现不同域之间的工作负载的动态交换。
在又其他实施例中,可以存在较大数目的核域以及附加可选IP逻辑,因为SoC可以缩放到用于合并到其他计算设备(诸如台式机、服务器、高性能计算系统、基站等)中的较高性能(和功率)级别。作为一个这样的示例,可以提供均具有给定数目的无序核的4个核域。又进一步,除了可选GPU支持(其作为示例可以采取GPGPU的形式)之外,还可以提供用于提供对特定功能(例如,web(网络)服务、网络处理、切换等)的优化的硬件支持的一个或多个加速器。此外,可以存在输入/输出接口以将这样的加速器耦合到芯片外组件。
尽管在图10中为了易于图示而未示出,但是在一些实施例中,SoC 1000可以包括以上参考图1B描述的电压调节器150的组件和/或功能的一些或全部。另外,在一些实施例中,SoC 1000的各种域(例如,第一核域1010、第二核域1020、图形域1030等)可以均包括以上参考图1A描述的域VR 130中的一些或全部。
现在参考图11,示出了另一个示例SoC的框图。在图11的实施例中,SoC 1100可以包括使得能够实现针对多媒体应用、通信和其他功能的高性能的各种电路。同样,SoC 1100适合于合并到各种各样的便携式和其他设备,诸如智能电话、平板计算机、智能TV等。在所示的示例中,SoC 1100包括中央处理器单元(CPU)域1110。在实施例中,多个单独的处理器核可以存在于CPU域1110中。作为一个示例,CPU域1110可以是具有4个多线程核的四核处理器。这样的处理器可以是同构或异构处理器,例如,低功率和高功率处理器核的混合。
继而,GPU域1120被提供以执行一个或多个GPU中的高级图形处理以处理图形和计算API。DSP单元1130可以提供一个或多个低功率DSP以用于除了可以在多媒体指令的执行期间发生的高级计算之外处理低功率多媒体应用,诸如音乐回放、音频/视频等。继而,通信单元1140可以包括经由各种无线协议提供连接性的各种组件,所述各种无线协议诸如蜂窝通信(包括3G/4G LTE)、无线局域技术(诸如BluetoothTM、IEEE 802.11)等。
又进一步,多媒体处理器1150可以用于执行高清晰度视频和音频内容的捕获和回放,包括用户手势的处理。传感器单元1160可以包括多个传感器和/或传感器控制器以对接到在给定平台中存在的各种芯片外传感器。图像信号处理器1170可以被提供有一个或多个单独的ISP以执行关于从平台的一个或多个摄像机(包括静止和视频摄像机)捕获的内容的图像处理。
显示器处理器1180可以提供对到给定像素密度的高清晰度显示器的连接的支持,包括无线传送内容以供在这样的显示器上回放的能力。又进一步,位置单元1190可以包括GPS接收器,其具有对多个GPS星座的支持以为应用提供使用这样的GPS接收器获得的高准确的定位信息。要理解的是虽然在图11的示例中以该特定组件集合示出,但许多变型和替换方案是可能的。
尽管在图11中为了易于图示而未示出,但是在一些实施例中,SoC 1100可以包括以上参考图1B描述的电压调节器150的组件和/或功能的一些或全部。另外,在一些实施例中,SoC 1100的各种域(例如,CPU域1110、GPU域1120、DSP单元1130等)可以均包括以上参考图1A描述的域VR 130中的一些或全部。
现在参考图12,示出了实施例可以与其一起使用的示例系统的框图。如所见的,系统1200可以是智能电话或其他无线通信器。基带处理器1205被配置成执行关于要从系统传送或由系统接收的通信信号的各种信号处理。继而,基带处理器1205耦合到应用处理器1210,其可以是执行除了用户应用(诸如许多公知的社交媒体和多媒体应用)之外的OS和其他系统软件的系统的主CPU。应用处理器1210还可以被配置成执行针对设备的各种其他计算操作。
继而,应用处理器1210可以耦合到用户接口/显示器1220,例如触摸屏显示器。此外,应用处理器1210可以耦合到存储器系统,所述存储器系统包括非易失性存储器(即闪速存储器1230)和系统存储器(即动态随机存取存储器(DRAM)1235)。如进一步所见的,应用处理器1210还耦合到捕获设备1240,诸如可以记录视频和/或静止图像的一个或多个图像捕获设备。
又参考图12,包括订户身份模块和可能地安全存储和密码处理器的通用集成电路卡(UICC)1240也耦合到应用处理器1210。系统1200还可以包括安全处理器1250,所述安全处理器1250可以耦合到应用处理器1210。多个传感器1225可以耦合到应用处理器1210以使得能够实现各种感测到的信息(诸如,加速度计和其他环境信息)的输入。音频输出设备1295可以提供接口以输出声音,例如以语音通信、播放或流式传输音频数据等的形式。
如进一步图示的,提供了近场通信(NFC)无接触接口1260,其经由NFC天线1265在NFC近场中进行通信。虽然在图12中示出了分离的天线,但要理解的是在一些实现方式中,可以提供一个天线或不同的天线集以使得能够实现各种无线功能。
功率管理集成电路(PMIC)1215耦合到应用处理器1210以执行平台级功率管理。为此,PMIC 1215可以向应用处理器1210发布功率管理请求以进入某些低功率状态,如期望的那样。此外,基于平台约束,PMIC 1215还可以控制系统1200的其他组件的功率级。
为了使得通信能够被传送和接收,各种电路可以耦合在基带处理器1205和天线1290之间。具体地,可以存在射频(RF)收发器1270和无线局域网(WLAN)收发器1275。通常,RF收发器1270可以用于根据诸如3G或4G无线通信协议(诸如根据码分多址(CDMA)、全球移动通信系统(GSM)、长期演进(LTE)或其他协议)之类的给定无线通信协议接收和传送无线数据和呼叫。此外,可以存在GPS传感器1280。还可以提供诸如无线电信号(例如AM/FM和其他信号)的接收或传送之类的其他无线通信。此外,还可以经由WLAN收发器1275来实现局部无线通信,诸如根据Bluetooth™标准或IEEE 802.11标准(诸如IEEE 802.11 a/b/g/n)。
尽管在图11中为了易于图示而未示出,但是在一些实施例中,系统1200可以包括以上参考图1B描述的电压调节器150的组件和/或功能的一些或全部。
现在参考图13,示出了实施例可以与其一起使用的另一个示例系统的框图。在图13的图示中,系统1300可以是移动低功率系统,诸如平板计算机,2:1平板电脑、平板手机或其他可转换或独立平板系统。 如所图示的,SoC 1310存在,并且可以被配置成操作为针对该设备的应用处理器。
各种设备可以耦合到SoC 1310。在所示的图示中,存储器子系统包括耦合到SoC1310的闪速存储器1340和DRAM 1345。此外,触摸面板1320耦合到SoC 1310以提供显示能力和经由触摸的用户输入,包括在触摸面板1320的显示器上供应虚拟键盘。为了提供有线网络连接性,SoC 1310耦合到以太网接口1330。外围中心1325耦合到SoC 1310以使得能够实现与各种外围设备对接,诸如可以通过各种端口或其他连接器中的任一个而耦合到系统1300。
除了SoC 1310内的内部功率管理电路和功能之外,PMIC 1380耦合到SoC 1310以提供基于平台的功率管理,例如基于系统是由电池1390还是由经由AC适配器1395的AC功率供电。除了该基于功率源的功率管理之外,PMIC 1380还可以执行基于环境和使用条件的平台功率管理活动。又进一步,PMIC 1380可以向SoC 1310传送控制和状态信息以引起SoC1310内的各种功率管理动作。
又参考图13,为了提供无线能力,WLAN单元1350耦合到SoC 1310并继而到天线1355。在各种实现方式中,WLAN单元1350可以提供根据一个或多个无线协议(包括IEEE802.11协议、BluetoothTM协议或任何其他无线协议)的通信。
如进一步图示的,多个传感器1360可以耦合到SoC 1310。这些传感器可以包括各种加速度计、环境和其他传感器,其包括用户手势传感器。最终,音频编解码器1365耦合到SoC 1310以提供到音频输出设备1370的接口。当然,要理解的是虽然在图13中以该特定实现方式示出,但许多变型和替换方案是可能的。
尽管在图13中为了易于图示而未示出,但是在一些实施例中,系统1300可以包括以上参考图1B描述的电压调节器150的组件和/或功能的一些或全部。
现在参考图14,代表性计算机系统1400(诸如,笔记本、UltrabookTM或其他小形状因子系统)的框图。在一个实施例中,处理器1410包括微处理器、多核处理器、多线程处理器、超低电压处理器、嵌入式处理器或其他已知的处理元件。在所图示的实现方式中,处理器1410充当用于与系统1400的各种组件中的许多组件通信的主处理单元和中央中心。作为一个示例,处理器1410被实现为SoC。
在一个实施例中,处理器1410与系统存储器1415通信。作为说明性示例,系统存储器1415经由多个存储器设备或模块来实现以提供给定量的系统存储器。
为了提供诸如数据、应用、一个或多个操作系统等之类的信息的持久性存储,大容量储存器1420还可以耦合到处理器1410。在各种实施例中,为了使得能够实现较薄和较轻系统设计以及为了改进系统响应性,该大容量储存器可以经由SSD来实现,或者大容量储存器可以主要使用具有较小量SSD储存器充当SSD高速缓存的硬盘驱动器(HDD)来实现以使得能够实现在断电事件期间的上下文状态和其他这样的信息的非易失性存储,以使得在系统活动的重新初始化时可以发生快速上电。在图14中还示出了,闪速设备1422可以例如经由串行外围接口(SPI)耦合到处理器1410。该闪速设备可以提供系统软件的非易失性存储,所述系统软件包括基本输入/输出软件(BIOS)以及系统的其他固件。
在系统1400内可以存在各种输入/输出(I/O)设备。具体地在图14的实施例中示出了显示器1424,所述显示器1424可以是高清晰度LCD或LED面板,其可以进一步提供触摸屏1425。在一个实施例中,显示器1424可以经由显示器互连耦合到处理器1410,所述显示器互连可以被实现为高性能图形互连。触摸屏1425可以经由另一个互连耦合到处理器1410,所述另一个互连在实施例中可以是I2C互连。如图14中进一步所示的,除了触摸屏1425之外,通过触摸的方式的用户输入还可以经由触摸板1430而发生,所述触摸板1430可以被配置在底架内并且还可以与触摸屏1425耦合到相同的I2C互连。
为了感知计算和其他目的,各种传感器可以存在于系统内,并且可以以不同的方式耦合到处理器1410。某些惯性和环境传感器可以通过传感器中心1440(例如经由I2C互连)耦合到处理器1410。在图14中所示的实施例中,这些传感器可以包括加速度计1441、环境光传感器(ALS)1442、罗盘1443和陀螺仪1444。其他环境传感器可以包括一个或多个热传感器1446,在一些实施例中,所述热传感器1446经由系统管理总线(SMBus)总线耦合到处理器1410。
在图14中还看到,各种外围设备可以经由低引脚计数(LPC)互连耦合到处理器1410。在所示的实施例中,可以通过嵌入式控制器1435来耦合各种组件。这样的组件可以包括键盘1436(例如,经由PS2接口耦合)、风扇1437和热传感器1439。在一些实施例中,触摸板1430还可以经由PS2接口耦合到EC 1435。此外,诸如根据日期2003年10月2日的可信计算组(TCG)TPM规范版本1.2的可信平台模块(TPM)1438之类的安全处理器还可以经由该LPC互连耦合到处理器1410。
系统1400可以以各种各样的方式(包括无线地)与外部设备通信。在图14中所示的实施例中,存在各种无线模块,其中的每一个可以对应于被配置用于特定无线通信协议的无线电。用于在短距离(诸如近场)中的无线通信的一个方式可以是经由NFC单元1445,所述NFC单元1445在一个实施例中可以经由SMBus与处理器1410通信。注意到,经由该NFC单元1445,与彼此紧密接近的设备可以通信。
如图14中进一步所见,附加无线单元可以包括其他短距离无线引擎,包括WLAN单元1450和蓝牙单元1452。使用WLAN单元1450,可以实现根据给定IEEE 802.11标准的Wi-Fi™通信,而经由蓝牙单元1452,可以发生经由蓝牙协议的短距离通信。这些单元可以经由例如USB链路或通用异步接收器发射器(UART)链路与处理器1410通信。或者这些单元可以经由根据PCIe™协议或另一个这样的协议(诸如串行数据输入/输出(SDIO)标准)的互连耦合到处理器1410。
此外,例如根据蜂窝或其他无线广域协议的无线广域通信可以经由WWAN单元1456发生,所述WWAN单元1456继而可以耦合到订户身份模块(SIM)1457。此外,为了使得能够实现位置信息的接收和使用,还可以存在GPS模块1455。注意到,在图14中所示的实施例中,WWAN单元1456和集成的捕获设备(诸如摄像机模块1454)可以经由给定USB协议(诸如USB2.0或3.0链路)或UART或I2C协议进行通信。
集成的摄像机模块1454可以合并在盖中。为了提供音频输入和输出,音频处理器可以经由数字信号处理器(DSP)1460来实现,所述DSP 1460可以经由高清晰度音频(HDA)链路耦合到处理器1410。类似地,DSP 1460可以与集成编码器/解码器(CODEC)和放大器1462通信,其继而可以耦合到输出扬声器1463,所述输出扬声器1463可以在底架内实现。类似地,放大器和编解码器1462可以被耦合以从麦克风1465接收音频输入,所述麦克风1465在实施例中可以经由双阵列麦克风(诸如数字麦克风阵列)来实现以提供高质量音频输入以使得能够实现系统内的各种操作的语音激活的控制。还注意到,可以将音频输出从放大器/编解码器1462提供到耳机插口1464。尽管在图14的实施例中以这些特定组件示出,但要理解的是本发明的范围在这方面不被限制。
尽管在图14中为了易于图示而未示出,但是在一些实施例中,系统1400可以包括以上参考图1B描述的电压调节器150的组件和/或功能的一些或全部。
可以以许多不同的系统类型来实现实施例。现在参考图15,示出了根据本发明的实施例的系统的框图。如图15中所示,多处理器系统1500是点对点互连系统,并且包括经由点对点互连1550耦合的第一处理器1570和第二处理器1580。如图15中所示,处理器1570和1580中的每一个可以是多核处理器,其包括第一和第二处理器核(即,处理器核1574a和1574b以及处理器核1584a和1584b),尽管在处理器中潜在地可以存在更多的核。每一个处理器可以包括PCU或其他功率管理逻辑以执行如本文所述的基于处理器的功率管理。
又参考图15,第一处理器1570还包括存储器控制器中心(MCH)1572和点对点(P-P)接口1576和1578。类似地,第二处理器1580包括MCH 1582以及P-P接口1586和1588。如图15中所示,MCH 1572和1582将处理器耦合到相应的存储器,即存储器1532和存储器1534,所述存储器可以是本地附接到相应处理器的系统存储器(例如,DRAM)的部分。第一处理器1570和第二处理器1580可以分别经由P-P互连1562和1564耦合到芯片组1590。如图15中所示,芯片组1590包括P-P接口1594和1598。
此外,芯片组1590包括通过P-P互连1539将芯片组1590与高性能图形引擎1538耦合的接口1592。继而,芯片组1590可以经由接口1596耦合到第一总线1516。如图15中所示,各种输入/输出(I/O)设备1514可以耦合到第一总线1516连同总线桥1518,所述总线桥1518将第一总线1516耦合到第二总线1520。在一个实施例中,各种设备可以耦合到第二总线1520,所述各种设备包括例如键盘/鼠标1522、通信设备1526和可以包括代码1530的数据存储单元1528(诸如盘驱动器或其他大容量存储设备)。另外,音频I/O 1524可以耦合到第二总线1520。实施例可以被合并到其他类型的系统中,所述其他类型的系统包括移动设备,诸如智能蜂窝电话、平板计算机、笔记本、Ultrabook™等。
尽管在图15中为了易于图示而未示出,但是在一些实施例中,系统1500可以包括以上参考图1B描述的电压调节器150的组件和/或功能的一些或全部。
实施例可以以代码来实现,并且可以被存储在非临时性存储介质上,所述非临时性存储介质具有存储在其上的指令,所述指令可以用于将系统编程为执行所述指令。所述存储介质可以包括但不限于任何类型的盘(包括软盘、光盘、固态驱动器(SSD)、压缩盘只读存储器(CD-ROM)、压缩盘可重写器(CD-RW)和磁光盘)、半导体设备(诸如只读存储器(ROM)、诸如动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)之类的随机存取存储器(RAM)、可擦除可编程只读存储器(EPROM)、闪速存储器、电可擦除可编程只读存储器(EEPROM)、磁卡或光卡)或者适合于存储电子指令的任何其他类型的介质。
以下条款和/或示例关于另外的实施例。
在一个示例中,一种用于执行电压调节的处理器包括:多个处理核;多个集成电压调节器(IVR),每一个IVR唯一地与多个处理核中的一个关联并且包括多个桥晶体管;以及电压调节器逻辑。所述电压调节器逻辑可以用于:监视核的功率状态信息;基于功率状态信息而确定核是否已经从第一功率状态转变到第二功率状态;以及响应于确定核已经从第一功率状态转变到第二功率状态,至少基于第二功率状态来调整IVR的桥激活级别和IVR的开关频率中的至少一个。
在示例中,第二功率状态低于第一功率状态,并且所述电压调节器逻辑用于降低IVR的桥激活级别。在示例中,所述电压调节器逻辑用于通过降低IVR中的激活的桥晶体管的数目而降低IVR的桥激活级别。
在示例中,第二功率状态低于第一功率状态,并且所述电压调节器逻辑用于增加IVR的开关频率。在示例中,所述电压调节器逻辑用于通过增加IVR中的脉冲宽度调制器(PWM)频率而增加IVR的开关频率。
在示例中,第二功率状态高于第一功率状态,并且所述电压调节器逻辑用于增加IVR的桥激活级别。
在示例中,第二功率状态高于第一功率状态,并且所述电压调节器逻辑用于降低IVR的开关频率。
在示例中,每一个IVR用于向关联的处理核供应电功率。
在另一个示例中,一种用于执行电压调节的方法,包括:由硬件电压调节器逻辑确定计算设备的功率域是否从第一功率状态改变到第二功率状态。所述方法还包括响应于确定功率域从第一功率状态改变到第二功率状态:由硬件电压调节器逻辑基于第二功率状态而调整电压调节器的桥激活级别;以及由硬件电压调节器逻辑基于第二功率状态而调整电压调节器的开关频率,其中所述电压调节器用于向功率域供应功率。
在示例中,第二功率状态低于第一功率状态,调整电压调节器的桥激活级别包括降低电压调节器的桥激活级别,并且调整电压调节器的开关频率包括增加电压调节器的开关频率。
在示例中,第二功率状态高于第一功率状态,调整电压调节器的桥激活级别包括增加电压调节器的桥激活级别,并且调整电压调节器的开关频率包括降低电压调节器的开关频率。
在示例中,所述方法还包括在硬件电压调节器逻辑处接收用于功率域的功率状态信息。
在示例中,所述方法还包括使用电压调节器来向功率域供应电功率。
在另一个示例中,一种其上存储有数据的机器可读介质,所述数据如果被至少一个机器使用则使至少一个机器制造至少一个集成电路来执行以上示例中的任一个的方法。
在另一个示例中,一种用于处理指令的装置被配置成执行以上示例中的任一个的方法。
在另一个示例中,一种用于执行电压调节的系统,包括多核处理器和耦合到多核处理器的动态随机存取存储器(DRAM)。所述多核处理器包括:非核域;核域,其包括多个核;多个核集成电压调节器(IVR),每一个核IVR唯一地与所述多个核中的核关联并且包括多个桥晶体管,每一个核IVR用于向关联的核提供独立的功率供应;以及电压调节器逻辑。所述电压调节器逻辑用于:监视所述多个核的功率状态;以及响应于确定第一核的功率状态已经从第一功率状态转变到第二功率状态,调整与第一核关联的第一核IVR的桥激活级别和开关频率中的至少一个。
在示例中,第二功率状态低于第一功率状态,并且所述电压调节器逻辑用于降低第一核IVR的桥激活级别。
在示例中,第二功率状态低于第一功率状态,并且所述电压调节器逻辑用于增加第一核IVR的开关频率。
在示例中,第二功率状态高于第一功率状态,并且所述电压调节器逻辑用于增加第一核IVR的桥激活级别。
在示例中,第二功率状态高于第一功率状态,并且所述电压调节器逻辑用于降低第一核IVR的开关频率。
在示例中,所述非核域包括非核IVR以向处理器提供功率供应。
在示例中,所述电压调节器逻辑用于响应于确定所述处理器已经转变到较低功率状态:降低非核IVR的桥激活等级,以及增加非核IVR的开关频率。
在示例中,所述电压调节器逻辑用于响应于确定所述处理器已经转变到较高功率状态:增加非核IVR的桥激活等级,以及降低非核IVR的开关频率。
在示例中,所述电压调节器逻辑用于通过增加非核IVR中的激活的桥晶体管的数目而增加非核IVR的桥激活级别。
在示例中,所述电压调节器逻辑用于通过降低非核IVR的脉冲宽度调制器(PWM)频率而降低非核IVR的开关频率。
要理解的是,以上示例的各种组合是可能的。
实施例可以用于许多不同类型的系统中。例如,在一个实施例中,通信设备可以被布置成执行本文所述的各种方法和技术。当然,本发明的范围不限于通信设备,并且代替地其他实施例可以针对用于处理指令的其他类型的装置或包括指令的一个或多个机器可读介质,所述指令响应于在计算设备上运行而使设备执行本文所述的方法和技术中的一个或多个。
贯穿本说明书对“一个实施例”或“实施例”的引用意味着结合实施例描述的特定特征、结构或特性被包括在本发明内包含的至少一个实现方式中。因而,短语“一个实施例”或“在实施例中”的出现不一定指的是相同的实施例。此外,特定特征、结构或特性可以以除了所图示的特定实施例之外的其他合适形式被替换,并且所有这样的形式可以被包含在本申请的权利要求内。
虽然已经关于有限数目的实施例描述了本发明,但本领域技术人员将领会到各种修改及根据其的变型。意图在于随附权利要求涵盖如落入该本发明的真实精神和范围内的所有这样的修改和变型。
Claims (24)
1.一种用于执行电压调节的处理器,包括:
多个处理核;
多个集成电压调节器IVR,每一个IVR唯一地与多个处理核中的一个关联并且包括多个桥晶体管和脉冲宽度调制器;以及
电压调节器逻辑,用于:
监视核的功率状态信息;
基于功率状态信息而确定核是否已经从第一功率状态转变到第二功率状态;以及
响应于确定核已经从第一功率状态转变到第二功率状态,至少基于第二功率状态来调整IVR的桥激活级别和IVR的开关频率中的至少一个;
所述处理器经由外部电压调节器耦合到电源供应;
其中所述电压调节器逻辑还基于所述处理器的功率状态通过激活或去激活任何数目或比例的桥晶体管而调整外部电压调节器的桥激活级别和/或基于所述处理器的功率状态通过调整脉冲宽度调制器的频率而调整外部电压调节器的开关频率;
功率控制单元,其经由数字接口向所述外部电压调节器提供控制信息以使外部电压调节器生成调节的电压;以及经由另一个数字接口向IVR 提供控制信息以控制所述处理器的操作电压。
2.根据权利要求1所述的处理器,其中第二功率状态低于第一功率状态,并且其中所述电压调节器逻辑用于降低IVR的桥激活级别。
3.根据权利要求2所述的处理器,其中所述电压调节器逻辑用于通过降低IVR中的激活的桥晶体管的数目而降低IVR的桥激活级别。
4.根据权利要求1所述的处理器,其中第二功率状态低于第一功率状态,并且其中所述电压调节器逻辑用于增加IVR的开关频率。
5.根据权利要求4所述的处理器,其中所述电压调节器逻辑用于通过增加IVR中的脉冲宽度调制器(PWM)频率而增加IVR的开关频率。
6.根据权利要求1所述的处理器,其中第二功率状态高于第一功率状态,并且其中所述电压调节器逻辑用于增加IVR的桥激活级别。
7.根据权利要求1所述的处理器,其中第二功率状态高于第一功率状态,并且其中所述电压调节器逻辑用于降低IVR的开关频率。
8.根据权利要求1所述的处理器,其中每一个IVR用于向关联的处理核供应电功率。
9.一种用于执行电压调节的方法,包括:
由硬件电压调节器逻辑确定计算设备的功率域是否从第一功率状态改变到第二功率状态;
响应于确定功率域从第一功率状态改变到第二功率状态:
由硬件电压调节器逻辑基于第二功率状态而调整电压调节器的桥激活级别;以及
由硬件电压调节器逻辑基于第二功率状态而调整电压调节器的开关频率,其中所述电压调节器用于向功率域供应功率;
所述方法还包括:
由硬件电压调节器逻辑基于处理器的功率状态通过激活或去激活任何数目或比例的桥晶体管而调整外部电压调节器的桥激活级别和/或基于所述处理器的功率状态通过调整脉冲宽度调制器的频率而调整外部电压调节器的开关频率;
通过功率控制单元经由数字接口向所述外部电压调节器提供控制信息以使外部电压调节器生成调节的电压;以及
通过功率控制单元经由另一个数字接口向集成电压调节器IVR 提供控制信息以控制所述处理器的操作电压。
10.根据权利要求9所述的方法,其中第二功率状态低于第一功率状态,其中调整电压调节器的桥激活级别包括降低电压调节器的桥激活级别,并且其中调整电压调节器的开关频率包括增加电压调节器的开关频率。
11.根据权利要求9所述的方法,其中第二功率状态高于第一功率状态,其中调整电压调节器的桥激活级别包括增加电压调节器的桥激活级别,并且其中调整电压调节器的开关频率包括降低电压调节器的开关频率。
12.根据权利要求9所述的方法,还包括:
在硬件电压调节器逻辑处接收用于功率域的功率状态信息。
13.一种其上存储有数据的机器可读介质,所述数据如果被至少一个机器使用则使至少一个机器制造至少一个集成电路来执行根据权利要求9至12中的任一项的方法。
14.一种用于处理指令的装置,被配置成执行权利要求9至12中的任一项的方法。
15.一种用于执行电压调节的系统,包括:
多核处理器,包括:
非核域;
核域,其包括多个核;
多个核集成电压调节器IVR,每一个核IVR唯一地与所述多个核中的核关联并且包括多个桥晶体管和脉冲宽度调制器,每一个核IVR用于向关联的核提供独立的电源供应;
电压调节器逻辑,用于:
监视所述多个核的功率状态;
响应于确定第一核的功率状态已经从第一功率状态转变到第二功率状态,调整与第一核关联的第一核IVR的桥激活级别和开关频率中的至少一个;以及
动态随机存取存储器(DRAM),其耦合到多核处理器;
所述多核处理器经由外部电压调节器耦合到电源供应;
所述电压调节器逻辑还基于所述处理器的功率状态通过激活或去激活任何数目或比例的桥晶体管而调整外部电压调节器的桥激活级别和/或基于所述处理器的功率状态通过调整脉冲宽度调制器的频率而调整外部电压调节器的开关频率;
功率控制单元,其经由数字接口向所述外部电压调节器提供控制信息以使外部电压调节器生成调节的电压;以及经由另一个数字接口向IVR 提供控制信息以控制所述处理器的操作电压。
16.根据权利要求15所述的系统,其中第二功率状态低于第一功率状态,并且其中所述电压调节器逻辑用于降低第一核IVR的桥激活级别。
17.根据权利要求15所述的系统,其中第二功率状态低于第一功率状态,并且其中所述电压调节器逻辑用于增加第一核IVR的开关频率。
18.根据权利要求15所述的系统,其中第二功率状态高于第一功率状态,并且其中所述电压调节器逻辑用于增加第一核IVR的桥激活级别。
19.根据权利要求15所述的系统,其中第二功率状态高于第一功率状态,并且其中所述电压调节器逻辑用于降低第一核IVR的开关频率。
20.根据权利要求15所述的系统,其中所述非核域包括非核IVR以向处理器提供电源供应。
21.根据权利要求20所述的系统,其中所述电压调节器逻辑用于响应于确定所述处理器已经转变到较低功率状态:
降低非核IVR的桥激活级别,以及
增加非核IVR的开关频率。
22.根据权利要求20所述的系统,其中所述电压调节器逻辑用于响应于确定所述处理器已经转变到较高功率状态:
增加非核IVR的桥激活级别,以及
降低非核IVR的开关频率。
23.根据权利要求22所述的系统,其中所述电压调节器逻辑用于通过增加非核IVR中的激活的桥晶体管的数目而增加非核IVR的桥激活级别。
24.根据权利要求22所述的系统,其中所述电压调节器逻辑用于通过降低非核IVR的脉冲宽度调制器(PWM)频率而降低非核IVR的开关频率。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
IN6511CH2014 | 2014-12-23 | ||
IN6511/CHE/2014 | 2014-12-23 | ||
PCT/US2015/066319 WO2016106070A1 (en) | 2014-12-23 | 2015-12-17 | Adjustment of voltage regulator based on power state |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107077180A CN107077180A (zh) | 2017-08-18 |
CN107077180B true CN107077180B (zh) | 2021-11-19 |
Family
ID=56151439
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580063851.3A Active CN107077180B (zh) | 2014-12-23 | 2015-12-17 | 基于功率状态而调整电压调节器 |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP3238006A4 (zh) |
CN (1) | CN107077180B (zh) |
WO (1) | WO2016106070A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11054878B2 (en) * | 2017-08-29 | 2021-07-06 | Texas Instruments Incorporated | Synchronous power state control scheme for multi-chip integrated power management solution in embedded systems |
KR102539044B1 (ko) * | 2017-10-30 | 2023-06-01 | 삼성전자주식회사 | 시스템 온 칩의 구동 방법, 이를 수행하는 시스템 온 칩 및 이를 포함하는 전자 시스템 |
CN109918319B (zh) * | 2019-03-22 | 2021-03-05 | 深圳忆联信息系统有限公司 | 一种固态硬盘控制器加速方法及其系统 |
US11567557B2 (en) * | 2019-12-30 | 2023-01-31 | Advanced Micro Devices, Inc. | Electrical power operating states for core logic in a memory physical layer |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7822967B2 (en) * | 2000-09-27 | 2010-10-26 | Huron Ip Llc | Apparatus, architecture, and method for integrated modular server system providing dynamically power-managed and work-load managed network devices |
US20120166832A1 (en) * | 2010-12-22 | 2012-06-28 | Via Technologies, Inc. | Distributed management of a shared power source to a multi-core microprocessor |
CN103229122A (zh) * | 2010-09-23 | 2013-07-31 | 英特尔公司 | 提供每内核电压和频率控制 |
CN103635883A (zh) * | 2011-06-30 | 2014-03-12 | 桑迪士克科技股份有限公司 | 用于存储器核的智能桥接器 |
CN203800810U (zh) * | 2012-06-27 | 2014-08-27 | 英特尔公司 | 电压调节装置、电压调节器和包括电压调节装置或电压调节器的系统 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101108397B1 (ko) * | 2005-06-10 | 2012-01-30 | 엘지전자 주식회사 | 멀티-코어 프로세서의 전원 제어 장치 및 방법 |
US8635470B1 (en) * | 2009-12-16 | 2014-01-21 | Applied Micro Circuits Corporation | System-on-chip with management module for controlling processor core internal voltages |
US9069555B2 (en) * | 2011-03-21 | 2015-06-30 | Intel Corporation | Managing power consumption in a multi-core processor |
US9003209B2 (en) * | 2012-06-29 | 2015-04-07 | Intel Corporation | Efficient integrated switching voltage regulator comprising switches coupled to bridge drivers to provide regulated power supply to power domains |
US9081577B2 (en) * | 2012-12-28 | 2015-07-14 | Intel Corporation | Independent control of processor core retention states |
-
2015
- 2015-12-17 CN CN201580063851.3A patent/CN107077180B/zh active Active
- 2015-12-17 EP EP15874157.9A patent/EP3238006A4/en not_active Withdrawn
- 2015-12-17 WO PCT/US2015/066319 patent/WO2016106070A1/en active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7822967B2 (en) * | 2000-09-27 | 2010-10-26 | Huron Ip Llc | Apparatus, architecture, and method for integrated modular server system providing dynamically power-managed and work-load managed network devices |
CN103229122A (zh) * | 2010-09-23 | 2013-07-31 | 英特尔公司 | 提供每内核电压和频率控制 |
US20120166832A1 (en) * | 2010-12-22 | 2012-06-28 | Via Technologies, Inc. | Distributed management of a shared power source to a multi-core microprocessor |
CN103635883A (zh) * | 2011-06-30 | 2014-03-12 | 桑迪士克科技股份有限公司 | 用于存储器核的智能桥接器 |
CN203800810U (zh) * | 2012-06-27 | 2014-08-27 | 英特尔公司 | 电压调节装置、电压调节器和包括电压调节装置或电压调节器的系统 |
Also Published As
Publication number | Publication date |
---|---|
EP3238006A1 (en) | 2017-11-01 |
CN107077180A (zh) | 2017-08-18 |
WO2016106070A1 (en) | 2016-06-30 |
EP3238006A4 (en) | 2018-07-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107250946B (zh) | 执行对平台装置的动态功率控制 | |
CN106537285B (zh) | 处理器温度的平衡控制 | |
CN107077175B (zh) | 提供针对多芯片封装的热参数报告的装置和方法 | |
US9710043B2 (en) | Controlling a guaranteed frequency of a processor | |
US11481013B2 (en) | Multi-level loops for computer processor control | |
US10379904B2 (en) | Controlling a performance state of a processor using a combination of package and thread hint information | |
US10289188B2 (en) | Processor having concurrent core and fabric exit from a low power state | |
US9541949B2 (en) | Synchronization of domain counters | |
US9933845B2 (en) | Apparatus and method to provide multiple domain clock frequencies in a processor | |
US10719326B2 (en) | Communicating via a mailbox interface of a processor | |
US10429918B2 (en) | Controlling turbo mode frequency operation in a processor | |
US10761594B2 (en) | Programmable power management agent | |
WO2020060709A1 (en) | System, apparatus and method for power budget distribution for a plurality of virtual machines to execute on a processor | |
US20160224090A1 (en) | Performing context save and restore operations in a processor | |
CN107077180B (zh) | 基于功率状态而调整电压调节器 | |
US10228755B2 (en) | Processor voltage control using running average value | |
WO2019245634A1 (en) | System, apparatus and method for responsive autonomous hardware performance state control of a processor |
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 |