CN104169832A - 提供处理器的能源高效的超频操作 - Google Patents
提供处理器的能源高效的超频操作 Download PDFInfo
- Publication number
- CN104169832A CN104169832A CN201280071418.0A CN201280071418A CN104169832A CN 104169832 A CN104169832 A CN 104169832A CN 201280071418 A CN201280071418 A CN 201280071418A CN 104169832 A CN104169832 A CN 104169832A
- Authority
- CN
- China
- Prior art keywords
- core
- processor
- performance state
- overclocking
- frequency
- 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.)
- Granted
Links
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
-
- 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/324—Power saving characterised by the action undertaken by lowering clock frequency
-
- 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
Abstract
在一种实施例中,多核心处理器包括可以独立地执行指令的核心,每一核心处于独立的电压和频率。该处理器可以包括功率控制器,该功率控制器具有一种逻辑,如果第一核心具有大于第一停止阈值的停止率,则所述逻辑防止第一核心以所请求的超频模式频率执行,并且如果第二核心具有少于第二停止阈值的停止率,则所述逻辑同时允许第二核心以所请求的超频模式频率执行。描述并要求保护其他实施例。
Description
技术领域
各实施例涉及集成电路的功率管理。
背景
半导体加工和逻辑设计的发展已允许可存在于集成电路器件上的逻辑的量增加。因此,计算机系统配置已经从系统中的单个或多个集成电路进化至各个集成电路上的多个硬件线程、多个核、多个设备和/或完整的系统。此外,随着集成电路密度增长,计算系统(从嵌入式系统到服务器)的功率需求也逐步提高。此外,软件低效率及其对硬件的要求也已造成了计算设备能耗的提高。事实上,一些研究表明,计算设备消耗了国家(例如美国)的整个电力供应中的显著百分比。因此,存在对与集成电路相关联的能效和节能的重大需求。当服务器、桌面型计算机、笔记本、超级本、平板电脑、移动电话、处理器、嵌入式系统等变得甚至更为盛行时(从包括在典型计算机、汽车和电视机中到包括在生物技术中),这些需求将增加。
在基于计算机的系统的所有部分中都考虑功率和热管理问题。尽管在服务器领域,电力成本驱动了对低功率系统的需要,而在移动系统中,电池寿命和热限制使得这些问题变得相关。通常通过使用操作系统(OS)或系统软件来控制硬件元件来实现优化系统以便以最小功率消耗得到最大性能。在这些领域中,大多数现代OS使用了高级配置和功率接口(ACPI)标准(例如,2006年10月10公布的修订版3.0b)以便优化系统。
ACPI实现允许处理器核心处于不同的节能状态(也称为低功率或空闲状态),通常称为所谓的C1到Cn状态。除了节能状态之外,ACPI中也提供性能状态,即所谓的P状态。这些性能状态可允许对处于活动(C0)状态中的核心的性能功率级别进行控制。通常,可以获得从P0到PN的多个P状态。可以存在通常被称为超频(Turbo)模式的更高频率/性能状态的范围。
一些处理器呈现处大的超频范围。在核心寻求超频时,通常批准它们全都得到最大可能超频频率。出于各种原因,并非所有应用都可以以相同的程度有效地使用所增加的核心频率。这样的差异要么是由于各个应用的存储器访问模式引起,要么归因于由于工作量组合引起的共享高速缓存争用。假定超频范围内的负载线是非线性的,允许所有核心处于超频模式的最高水平可以不必要地消耗功率。
附图简述
图1是根据本发明一种实施例的系统的框图。
图2是根据本发明的一种实施例的方法的流程图。
图3是根据本发明的一种实施例的超频模式递增和递减的控制的图解说明。
图4是根据本发明的一种实施例的停止(stall)阈值的图解说明。
图5是根据本发明的一种实施例的处理器的框图。
图6是根据本发明的实施例的处理器核的框图。
图7是根据本发明的另一实施例的处理器的框图。
图8是根据本发明一种实施例的系统的框图。
详细描述
各实施例提供高效地允许一个或多个核心以所选择的超频模式频率独立地操作的技术。各实施例尤其适用于其中多个核心中的每一个可以以独立的电压和频率点操作的多核心处理器。在此所使用的术语“域”是用来意指以相同的电压和频率点操作的硬件和/或逻辑的集合。另外,多核心处理器还可以包括其他非核心处理引擎,例如固定功能单元、图形引擎等等。这样的处理器可以包括不同于核心的独立域,例如与图形引擎相关联的一个或多个域(在此称为图形域)以及与非核心电路相关联的一个或多个域(在此称为非核心或系统代理)。尽管可以在单个半导体管芯上形成多域处理器的许多实现,但可以由多芯片封装实现其他实现,多芯片封装中,不同的域可以出现在单个封装的不同半导体管芯上。
根据基于OS的ACPI机制,处理器可以以各种功率和性能状态或级别操作。对于功率状态,ACPI指定不同的功率消耗状态,通常称为C1到Cn状态。在核心活动时,它以C0状态运行,且在核心空闲时,可以将其置于核心低功率状态,也称为核心非零C状态(例如,C1-C6状态)。在多核心处理器的所有核心处于核心低功率状态时,可以将处理器置于封装低功率状态,例如封装C6低功率状态。
除了这些功率状态之外,处理器还可以被配置为以从P0到PN的多个性能状态中的一个操作。一般地,P1性能状态可以对应于OS能够请求的最高保证性能状态。除了这种P1状态之外,OS还可以请求更高的性能状态,即P0状态。因而,这种P0状态可以是机会模式状态,其中,在功率和/或热预算可用时,处理器硬件可以把处理器或至少其部分配置为以高于保证频率的频率操作。在多种实现中,处理器可以包括高于这种P1频率的多个所谓的点频率(bin frequency),在此也称为超频模式频率。最高的这样的频率可以对应于最大的超频频率(P01),它是一个域可以操作的最高频率。因而,这种最大超频频率是大于P1频率的多个超频模式频率的最高端,且对应于可以取得的最大非保证最高性能水平。注意,可以可互换地使用术语“性能状态”或“P状态”,且术语“操作频率”(或更一般地“频率”)用作核心所操作的、与其性能直接相关的频率。因而,在此所使用的较高的性能状态与较高的操作频率相关。
如在此所描述的,各实施例可以提供所谓的能源高效超频(EET)算法,该算法寻求把寻求超频的核心指引到可以忍受其因存储器引起的停止的频率,如可配置阈值所确定的,该频率高效地操作,所消耗的功率与所获得的性能成比例。该算法也考虑任何用户/OS指定的能量性能偏置(EPB)。在一种实施例中,EPB可以基于对基于OS的用户偏好菜单的用户输入以便指示用户关于功率/性能折衷的偏好。对于性能偏置,在不停止的核心上运行的应用可以获批最大的超频频率,但对于能量偏置,核心可以使得其频率按单步递增。注意,当在单元上执行的所有逻辑线程等待存储器负载/存储时,在此所使用的诸如核心等的逻辑单元停止。
为了实现EET算法,各实施例可以检测核心停止和核心活动循环。在一种实施例中,核心本身可以配置有一个或多个传感器,例如核心活动传感器和核心停止传感器。如下面将描述的,在一种实施例中,这些传感器可以用来确定核心停止的循环相比于核心活动的循环的比例,这称为核心中央非生产时间(core-centricunproductive time)。不考虑实际的核心和非核心互连操作频率,这种核心中央非生产时间是有意义的和可靠的,且因而很好地用于把核心分类成停止或不使用单个阈值。在各种实施例中,这种阈值可以是可配置的,且可以是系统EPB的函数。
EET算法周期性地分析获批超频模式的所有核心,以便基于在观察间隔内核心是否已经被分类为停止来判断它们的频率是否应当增加、减少或保持不变。在相继的观察循环内运行安排在各核心的私有高速缓存中的应用的核心(只要其中存在功率预算且不违反电、热或其他约束)将达到最大的超频频率。在其中工作量组合改变且存在增大的高速缓存争用的场景中,随着时间的推移,如果系统被配置为能量偏置,则受影响的核心的超频频率将例如陡峭地减少,或者如果配置了性能偏置则较缓慢地减少。
各实施例可以在固件中实现EET算法,例如处理器的功率控制单元(PCU)的固件。这种算法可以把关于核心停止和核心活动循环的硬件传感器数据以及任何用户/操作系统配置的能量性能偏置用作输入,以便适应核心操作点。
根据本发明的一种实施例的处理器可以包括全集成电压调节(FIVR),以便可以提供每个核心的P状态(PCPS)。以这种方式,核心可以相互独立地以一种频率操作。因而,各实施例组合了这种灵活性、关于核心停止和活动的传感器数据的信息以及所配置的EPB,以便判断超频范围内的核心的操作点,从而获得能量性能益处。
尽管参照例如计算平台或处理器的特定集成电路中的节能和能效来描述了下面的实施例,然而其他实施例适用于其他类型的集成电路和逻辑器件。在此描述的实施例的相似的技术和教导可应用于也可受益于更好的能效和节能的其他类型的电路或半导体器件。例如,所披露的实施例不限于任何具体类型的计算机系统,并也可用于其他设备,例如手持设备、芯片上系统(SoC)以及嵌入式应用。手持设备的一些例子包括蜂窝电话、互联网协议设备、数码相机、个人数字助理(PDA)和手持式PC。嵌入式应用一般包括微控制器、数字信号处理器(DSP)、网络计算机(NetPC)、机顶盒、网络集线器、广域网(WAN)交换机或能执行下面教示的功能和操作的任何其他系统。此外,在此描述的装置、方法和系统不限于物理计算设备,而是也涉及用于节能和能效的软件优化。如将在以下描述中变得显而易见的,本文描述的方法、装置和系统的实施例(无论是关于硬件、固件、软件还是它们的组合)对于“绿色技术”未来是至关重要的,例如对于包含美国经济大部分的产品的节能和能量效率是至关重要的。
现在参考图1,所示出的是根据本发明的实施例的系统的一部分的框图。如图1中所示出的,系统100可以包括各种组件,包括处理器110,如所示出的,处理器110是多核心处理器。处理器110可以经由外部电压调节器160耦合到电源150,外部电压调节器160可以执行第一电压转换以便向处理器110提供主要经调节电压。
如图可见,处理器110可以是包括多个核心120a–120n的单管芯处理器。另外,每一核心可以与各个电压调节器125a–125n相关联。因此,可以提供FIVR实现以便允许电压的细粒度控制,且因而允许每一个核心的功率和性能的细粒度控制。因而,每一核心可以以独立的电压和频率操作,这允许更大的灵活性,且为平衡功率消耗和性能提供更广泛的机会。
仍然参见图1,每一核心可以包括可以提供信息以便用于执行根据本发明的一种实施例的EET算法的各种硬件传感器和其他电路。更具体地,如图1中所示出,每一核心可以包括核心活动传感器122和核心停止传感器124。
在一种实施例中,核心停止传感器124可以被配置为确定对应于等待存储/负载的度量的核心的停止率。可以以各种方式确定这种停止率,这些方式的范围从核心停止的循环的简单计数到更复杂的方式。表1示出根据本发明的一种实施例的核心停止传感器的伪代码。
表1
在一种实施例中,核心活动传感器122可以被配置为确定核心的活动率。可以以各种方式确定这种活动率,这些方式的范围从核心活动的循环的简单计数到更复杂的方式。在一种实施例中,核心活动传感器122可以被配置为计数其中核心上的一个或多个线程处于活动的C0状态的循环。不失一般性,假设物理核心与两个逻辑处理器或硬件线程相关联,那么,该核心具有活动的值或C0值,该值等于在观察窗口期间一个或多个关联的逻辑核心是活动C0状态时的时间。
仍然参见图1,附加的组件可以出现在处理器内,这些组件间包括输入/输出接口132、另一接口134和集成存储器控制器136。如图可见,这些组件中的每一种都可以由另一集成电压调节器125x供电。在一种实施例中,接口132可以按照快速通道互连(QPI)协议,该协议提供高速缓存相干协议中的点对点(PtP)链路,其包括多个层,包括物理层、链接层和协议层。接口134又可以按照高速外围组件互连(PCIeTM)规范,例如,PCI ExpressTM规范基本规范2.0版(2007年1月17日公布)。尽管为便于阐释未示出,但应理解,附加的组件可以出现在处理器110内,例如非核心逻辑、功率控制单元和其他组件,例如内部存储器,例如一个或多个级别的高速缓存存储器分层等等。此外,尽管在图1的实现中借助于集成电压调节器示出,但各实施例不限于此。
现在参见图2,所示出的是根据本发明的一种实施例的用于执行能源高效的超频分析的方法的流程图。如图2中可见,方法200可以通过判断给定核心是否处于超频模式(菱形210)来开始。尽管本发明的范围不限于此,但在一种实施例中,可以由诸如PCU的超频模式控制逻辑等的逻辑做出这种判断。这种判断可以基于给定核心当前是否处于超频模式或者已经获得进入到超频模式的许可。如果不给予该核心超频模式,则对于该核心不执行该算法,且控制立即循环回到菱形210。
相反,对于超频模式核心,控制转到菱形215,菱形215中可以判断在最后观察间隔内核心活动循环的数量是否大于最小阈值。尽管本发明的范围不限于此,但在一种实施例中,这种数量可以是在大约20-40%之间。因而,如果在大部分时间内核心睡眠,则不值得突然升高/降低超频频率。由于核心被功率门控,无论如何都发生了功率节省。进一步,如果核心保持相对不活动,则核心可以失去其超频状态。因而,如果活动循环的数量低于这种阈值,这就指示核心要么是处于低功率状态,要么是已经执行非常少的操作。因而,与算法做出判定相关联的成本和时间是不值得的,且因而对于这样的核心不执行进一步的分析。因而,如在针对以其最低频率操作的非核心互连运行的最低核心操作频率下所确定的,当且仅当核心高于活动循环的最小百分比数量时,出于在EET算法下分析核心的目的,认为核心是活动的。使用最低频率允许使用跨越核心和非核心的操作频率的范围都有意义的单个阈值。
仍然参见图2,控制转到框220,框220中,可以获得的核心的当前性能状态,以及核心停止计数和核心的能量性能偏置值。在一些实施例中,所有这种信息可以出现在PCU内的存储中,例如存储关于每一核心的当前P状态信息的P状态掩码、存储核心的核心停止信息的停止存储以及存储能量性能偏置的能量性能存储,这在一种实施例中可以以每个核心为基础。
在一种实施例中,该算法可以接收(或可以计算)偏置值,该偏置值可以基于能量性能偏置,能量性能偏置可以包括与物理核心相关联的每一逻辑核心的各个偏置值。在一种实施例中,这些偏置值可以是由操作系统动态配置的4比特值。为了获得偏置值以供用于EET算法,可以获得跨越与物理核心相关联的所有逻辑核心的偏置值的最小值,例如根据下面的表2。
表2
if(偏置<=3)→性能偏置
else if(偏置>11)→能量偏置
else→平衡偏置
仍然参见图2,控制转到菱形230,菱形230中,可以判断核心停止计数是否大于或等于第一停止阈值,在此也称为拒绝阈值。这种停止阈值可以被设定在相对高的水平,以便指示在最后观察间隔期间已经发生了相对高的数量的停止。在一些实施例中,这种第一停止阈值可以被设定在大约50%和60%之间。如果核心停止计数大于或等于这种阈值,则控制转到框240,框240中,基于能量性能偏置可以减少核心的当前性能状态,以便因而获得这一核心的候选性能状态。注意,这种候选性能状态可以处于根据EET算法确定给的水平,但不把它提交(如果真的会发生的话)给核心,直到执行了图2的算法的进一步操作。因而,如果停止超过停止拒绝阈值,则可以把核心控制为以离开当前性能状态的减少的频率操作。
注意,可以基于能量性能偏置确定性能状态的不同的减少量。即是说,如图3中所示出,图3是根据本发明的一种实施例用于增加和减少操作频率的控制函数的图解说明,在系统被配置为得到性能时,可以做出性能状态的相对小的减少。相反,在系统被配置为得到节能时,可以发生性能状态的相对大的改变。当然,寻求实现在这两个政策之间的平衡的平衡政策可以提供减少的中间措施。
仍然参见图2,如果在菱形230改为判断核心停止计数不大于或等于这种第一停止阈值,则控制转到菱形250,菱形250中,可以判断核心停止计数是否少于或等于第二停止阈值,在此也称为停止准予阈值。这种第二停止阈值可以处于较低的水平,例如,在大约10%和20%之间。如果是这样,则这意味着在核心上发生相对少的停止,且因而该核心正在高效地使用其功率消耗。相应地,控制转到框260,框260中,可以基于能量偏置增加当前性能状态,以便获得候选性能状态。因而,在各种实施例中,如果核心的停止少于停止准予阈值,则可以把核心控制为以离开当前性能状态的增加的频率操作。
如上所述,也如图3可见,随着性能状态递减,这些增量可以不同程度地依赖于能量性能偏置。因而,在核心被设置为得到性能偏置时,可以快速选择较大的性能状态,并且相反在核心被设置为得到能量偏置时,可以发生候选性能状态的较慢的增加。
因而,各实施例不仅判断是否递增/递减/维持核心频率,而且也判断按多少来修改频率。在一种实施例中,这由用户/操作系统所配置的能量性能偏置来控制。如果该偏置是性能,则频率增加较为积极,而对于能量偏置,频率增加较为保守。如图3中可见,对于能量偏置,增加是向上一个步进,其中步进是任何经定义的量,而在性能模式中,增量改变因而立即变化(急速移动)到最大的可能频率。在平衡模式中,该增加以几何方式连接在当前的操作点(当前频率)和最大的可能频率之间的差距。如图3中可见,在应用了减少这种推理的镜像时,用最小可能值替换最大可能值。
如图4中可见,图4是根据本发明的一种实施例的阈值的图解说明,第一高阈值可以对应于停止拒绝阈值,以使得在观察间隔期间如果发生了大于这种阈值数量的停止(或停止率),则可以减少核心频率。相反,当在观察循环期间发生的停止的数量(或停止率)低于第二较低阈值(在此也称为停止准予阈值)时,该核心可以被准予增加的频率。在其他条件下,即在停止的数量是在这两个阈值之间时,这对应于滞后范围,不执行频率更新。
返回参见图2,如果当前核心停止计数不是大于或等于这种第二停止阈值,则控制从菱形250传递到框270,框270中可以把候选性能状态设置为等于当前性能状态。
离开全部框240、260和270,控制转到框280,框280中可以确定经更新的性能状态。更具体地,这种经更新性能状态可以基于候选物功率状态以及处理器上的各种约束。尽管本发明的范围不限于此,但这些约束可以包括热约束、电设计点约束和基于库存单元(stock keeping unit,SKU)的约束,以及其他。在一种实施例中,可以通过选择所有基于约束的性能状态和新近确定候选性能状态中的最小值来实现这种判断。
然后,基于这种判断,控制转到框290,框290中可以把经更新性能状态应用到给定的核心。注意,如果不存在性能状态改变,则此时在PCU和核心之间可以不发生通信。如图可见,对于每一活动核心可以迭代地执行方法200。此外,可以根据给定的观察间隔执行这种算法,该给定的观察间隔可以例如由固件可控制地选择。尽管在图2的实施例中用高级框图示出,但应理解,本发明的范围不限于此。
因而,使用图2的EET算法,多核心处理器的功率控制器可以独立地在核心的超频范围内控制操作频率。例如,如果一个核心具有大于停止拒绝阈值的停止率,则该控制器可以防止它以所请求的超频模式频率执行,同时,如果第二核心具有少于停止准予阈值的停止率,则同时允许第二核心以所请求的超频模式频率执行。
还应理解,EET算法可以具有广泛的灵活性,这是由于它把可配置的值用于阈值以及它再次访问准予超频的核心的周期。进一步,该配置可以是所指定的能量性能偏置的函数。用来适应核心频率的运算表达式可以核心停止的函数。只要函数满足下列告诫就是合理的:核心频率在适宜的停止条件下单调上升且在不适宜的停止条件下单调下降。
关于阈值,假设消费者具有包括根据本发明的一种实施例的处理器的计算机系统,且给定的OS运行它们的自己的应用且具有它们自己的功率、性能和服务品质需求。这些值将是用户/OS控制的EPB的函数。在一些实施例中,可以存在图形用户界面(例如,仪表板)或其他挂钩(hook)以便基于EPB设置这些阈值。注意,每一物理核心可以具有对应于其逻辑核心EPB的最小值的EPB。现在参见表3,示出不同EPB的示例阈值。注意,可以在硅工艺后使用基准测试来对这些值进行调整。
表3
EPB值 | 活动阈值 | 拒绝阈值(第一) | 准予阈值(第二) |
能量 | 20 | 50 | 10 |
平衡 | 20 | 50 | 10 |
性能 | 20 | 60 | 20 |
在一些实施例中,处理器可以为性能、平衡和能量性能偏置提供预先确定的值。在一些实施例中,第二(准予)阈值可以比第一(拒绝)阈值小2到8倍或更多。在一种实施例中,这些是实数,表示观察窗口时间的一部分。
不失一般性,表4下面是根据本发明的一种实施例的EET算法的实现的伪代码。
表4
注意,表4中,在确定候选性能状态(new_pstate)之后,应用了最小值函数,其包括电设计点考虑,最后应用电设计点考虑是因为它依赖于寻求超频的核心的数量和它们的超频度。最小值函数的另一参数是热约束,这是由于过去的活动和环境影响处理器温度且从而影响核心可以超频多少而不会熔化。
现在参见图5,所示出的是根据本发明的一种实施例的处理器的框图。如图5中所示出,处理器400可以是包括多个核心410a–410n的多核心处理器。在一种实施例中,每一个这样的核心可以被配置为以多种电压和/或频率操作。另外,如以上所描述的,可以独立控制每一核心以便以所选择的电压和/或频率操作。为此,每一核心可以与相应的电压调节器412a–412n相关联。尽管为便于阐释未示出,但应理解,每一核心410可以包括核心活动传感器和核心停止传感器。各种核心可以经由互连415耦合到包括各种组件的非核心或系统代理逻辑420。如可见,非核心420可以包括共享高速缓存430,它可以是末级高速缓存。另外,非核心可以包括集成存储器控制器440、各种接口450和功率控制单元455。
在各种实施例中,功率控制单元455可以与通过OS写入到机器专用寄存器(MSR)来实现的OS功率管理代码通信,每个逻辑处理器有一个机器专用寄存器(MSR)。例如,基于从OS接收到的请求和关于核心正在处理的工作量的信息,功率控制单元455可以使用所包括的超频控制逻辑457,在一种实施例中,超频控制逻辑457可以执行实现图2中所陈述的算法的固件。以这种方式,超频控制逻辑457可以确定以超频模式操作各核心中的每一个的电压和频率的适当组合,包括基于核心活动水平控制处于超频模式的核心的超频频率。注意,非超频核心可以以OS选择的P状态操作。基于以上所描述的信息,功率控制单元455可以按照核心的活动水平动态地和独立地控制一个或多个核心的频率和/或电压。
进一步参见图5,处理器400可经由例如存储器总线与系统存储器460通信。另外,通过接口450可对诸如外围设备、大容量存储器等多种芯片外组件做出连接。虽然在图5的实施例中示出具有该特定实现,但本发明的范围不限于此方面。
现在参见图6,所示出的是根据本发明的一种实施例的处理器核心的框图。如图6中所示出,处理核500可以是多级流水线类型的无序处理器。如图6中所示出,作为集成电压调节器509的结果,核心500可以以各种电压和频率操作。在各种实施例中,这种调节器可以例如从外部电压调节器接收传入的电压信号,且还可以例如从耦合到核心500的非核心逻辑接收一个或多个控制信号。
如图6中所示出,核心500包括前端单元510,前端单元510可用于获取将要执行的指令并将这些指令准备好以供以后在处理器中使用。例如,前端单元510可以包括获取单元501、指令高速缓存503和指令解码器505。在一些实现中,前端单元510还可以包括跟踪高速缓存、微码存储以及微操作存储。获取单元501可以例如从存储器或指令高速缓存503取出宏指令,并将它们馈送到指令解码器505以便把它们解码成原语,即用于由处理器执行的微操作。
耦合在前端单元510和执行单元520之间的是无序(OOO)引擎515,无序引擎515可以被用来接收微指令并将它们准备好以供执行。更具体地,OOO引擎515可包括多个缓冲器,这些缓冲器用于重排序微指令流并分配执行所需的多个资源,以及提供对多个寄存器组(例如,寄存器组530和扩展寄存器组535)中的存储位置上的逻辑寄存器的重命名。寄存器组530可以包括用于整数和浮点操作的单独的寄存器组。扩展寄存器组535可以为矢量尺寸单元提供存储,例如,每个寄存器256或512比特。
在执行单元520中可存在各种资源,包括例如多种整数、浮点和单指令多数据(SIMD)逻辑单元以及其他专门硬件。例如,这样的执行单元可以包括一个或多个运算逻辑单元(ALU)522以及其他这样的执行单元。
可以把来自执行单元的结果提供给退役逻辑,即重新排序缓冲器(ROB)540。更具体地,ROB 540可包括多种阵列和逻辑以接收与所执行的指令相关联的信息。然后,由ROB 540检查这种信息,以便判断指令是否可以有效退役,以及是把结果数据提交至处理器的体系结构状态,或者阻止指令的正常退役的一个或多个异常是否发生。当然,ROB 540可处理与退役相关联的其他操作。
如图6中所示出,ROB 540耦合到高速缓存550,在一种实施例中,高速缓存550可以是低级高速缓存(例如,L1高速缓存),但本发明的范围不限于此。而且,执行单元520可直接耦合至高速缓存550。从高速缓存550,可以发生与更高级的高速缓存、系统存储器等等的数据通信。尽管在图6的实施例中用高级框图示出,但应理解,本发明的范围不限于此。例如,虽然图6的实现方式涉及了诸如所谓的x86指令集架构(ISA)之类的无序机,但本发明的范围不限于此。即是说,其他实施例可在以下处理器中实现:顺序处理器;诸如基于ARM的处理器之类的精简指令集计算(RISC)处理器;或具有另一类型ISA的处理器,该另一类型的ISA可经由仿真引擎和相关联的逻辑电路来仿真不同ISA的指令和操作。
现在参见图7,所示出的是根据本发明的另一实施例的多核心处理器的框图。如图7的实施例所示,处理器600包括多个域。具体地说,核心域610可包括多个核6100–610n,图形域620可包括一个或多个图形引擎,并且可进一步存在系统代理域650。在各种实施例中,系统代理域650可以处理功率控制事件和功率管理,以使得可以把诸如核心和/或图形引擎等的域610和620的各个单元控制为根据给定单元中发生的活动(或非活动)以适当的超频模式频率独立地动态操作。域610和620中的每一个可以以不同的电压和/或功率操作,且此外在各域内的各个单元均可以以独立的频率和电压操作。注意,尽管仅示出了三个域,但应理解,本发明的范围不限于这个方面并且其他实施例中可存在附加的域。
一般地说,除了各执行单元和附加的处理元件外,每个核610可进一步包括低级高速缓存。进而,各核可彼此耦合并耦合至由末级高速缓存(LLC)6400–640n的多个单元形成的共享高速缓存存储器。在各实施例中,LLC 640可在核心和图形引擎以及多种媒体处理电路之中共享。如图可见,环形互连630因此将各个核心耦合在一起,并且提供各个核心、图形域620和系统代理电路系统650之间的互连。在一种实施例中,互连630可以是核心域的一部分。然而,在其他实施例中,环形互连可以属于其自己的域。
进一步可见,系统代理域650可以包括显示器控制器652,它可以提供对关联的显示器的控制和到关联的显示器的接口。如图可见,系统代理域650可以包括功率控制单元655,它可以包括根据本发明的一种实施例的超频控制逻辑659,以便基于相应的核心的活动信息个别地控制各核心的超频模式频率。在各种实施例中,这种逻辑可以执行以上在图2中所描述的算法。
如图7中进一步所见的,处理器600可进一步包括集成存储器控制器(IMC)670,它可提供到例如动态随机存取存储器(DRAM)之类的系统存储器的接口。可以存在多个接口6800–680n以便允许在处理器和其他电路之间的互连。例如,在一种实施例中,可提供至少一个直接媒体接口(DMI)接口以及一个或多个高速外设组件互连(PCIeTM)接口。更进一步,为了提供诸如附加处理器或其他电路的其他代理之间的通信,也可提供根据快速通道互连(QPI)协议的一个或多个接口。尽管在图7的实施例中以这样的高级框图表示,但应理解,本发明的范围不限于此方面。
可以在多种不同的系统类型中实现各实施例。现在参见图8,所示出的是根据本发明的一种实施例的系统的框图。如图8中所示出,多处理器系统700是点对点互连系统,且包括经由点对点互连750耦合的第一处理器770和第二处理器780。如图8中所示出,处理器770和780中的每一个可以是多核心处理器,包括第一和第二处理器核心(即,处理器核心774a和774b以及处理器核心784a和784b),但处理器中也可能存在更多核心。如在此所描述的,各处理器中的每一个可以包括PCU或其他逻辑,以便基于核心活动的发生执行大于保证操作频率的准许操作频率的动态控制,以便高效地消耗能量。
仍然参见图8,第一处理器770还包括存储器控制器中枢(MCH)772和点对点(P-P)接口776和778。类似地,第二处理器780包括MCH 782和P-P接口786和788。如图8中所示出,MCH 772和782把各处理器耦合到各自的存储器,即存储器732和存储器734,这些存储器可以是本地附连到相应处理器的系统存储器(例如,DRAM)的各个部分。第一处理器770和第二处理器780可以分别经由P-P互连752和754耦合到芯片组790。如图8中所示出,芯片组790包括P-P接口794和798。
此外,芯片组790包括接口792以便通过P-P互连739把芯片组790与高性能图形引擎738耦合起来。芯片集790又可以通过接口796耦合到第一总线716。如图8中所示出,各种输入/输出(I/O)设备714以及总线桥718可以耦合到第一总线716,总线桥718把第一总线716耦合到第二总线720。在一种实施例中,各种设备可以耦合到第二总线720,包括例如键盘/鼠标722、通信设备726和数据存储单元728,例如可以包括代码730的盘驱动器或其他大容量存储设备。进一步,音频I/O 724可以耦合到第二总线720。各实施例可以合并到其他类型的系统中,包括诸如智能蜂窝式电话、平板计算机、上网本、超极本等等的移动设备。
因而,各实施例允许基于每个核心更有效地在超频范围内分配功率。当超频范围功率是非线性时尤其如此,且使用所考虑的操作点选择可以取得更好的功率性能足迹。各实施例也可以提供可扩展性,这是由于它可以与增加核心数量和增加每个核心的线程的数量一起使用。因而,根据本发明的一种实施例的处理器可以更有效地使用其超频预算,择优地把它分配给各核心,相比于不能更有效利用它的其他核心,这些核心可以更有效地利用它,且因而促进更大的单个线程化性能。
各实施例也基于核心停止计数指标寻求使得核心以被视为对在该核心上运行的应用有用的频率运行。根据本发明的一种实施例的频率适配器可以接收用户/操作系统所指定的关于每一活动线程的能量性能偏置作为其参数中的一个,允许数据中心和高性能需要的自定义行为,因而改善总体产品能量性能指标。
根据一个方面,本发明包括带有处理器以及诸如耦合到处理器的动态随机存取存储器(DRAM)等的存储器的系统,该处理器包括多个核心和电压调节器,电压调节器都独立地向各核心中的至少一个提供电压。处理器中所包括的或者耦合到处理器的可以是PCU,PCU控制电压调节器以便向各核心中的至少一些提供独立电压。另外,PCU可以包括用于独立地控制核心频率的装置。在一个这样的实施例中,这种装置可以被实现为超频模式控制逻辑。另外,如果处于当前超频模式频率(低于增加的超频模式频率)的核心的核心停止指标少于停止阈值,则各装置还可以允许给定核心以增加的超频模式频率操作。
另外,这种PCU逻辑还可以执行高效地控制处理器的超频模式的各种方法。作为示例,该方法可以包括获得核心的当前性能状态、在观察间隔期间的核心的核心停止计数以及核心的能量性能偏置,然后,判断核心停止计数是否至少等于停止阈值,且如果是这样,则基于能量性能偏置减少核心的当前性能状态,以便获得候选性能状态。从这种信息可以确定经更新性能状态并将其应用到核心。
各实施例可在许多不同类型的系统中使用。例如,在一种实施例中,通信设备可以被安排为执行在此描述的各种方法和技术。当然,本发明的范围不限于通信设备,并且相反,其他实施例可以针对用于处理指令的其他类型的装置,或者包括指令的一个或多个机器可读介质,所述指令响应于在计算设备上执行,引起该设备执行在此描述的方法和技术种的一种或多种。
各实施例可以以代码的形式实现,而且可存储在其上存储有可用于对系统编程以执行这些指令的非暂态存储介质上。存储介质可包括但不限于:包括软盘、光盘、固态驱动器(SSD)、压缩盘只读存储器(CD-ROM)、可重写压缩盘(CD-RW)以及磁光盘的任何类型的磁盘;诸如只读存储器(ROM)、诸如动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)之类的随机存取存储器(RAM)、可擦写可编程只读存储器(EPROM)、闪存、电可擦写可编程只读存储器(EEPROM)之类的半导体器件;磁卡或光卡,或适合于存储电子指令的任何其他类型的介质。
虽然已经针对有限数量的实施例描述了本发明,但本领域技术人员将会理解从中得出的多种修改和变化。预期所附权利要求覆盖落入本发明的真实精神和范围中的所有这样的修改和变更。
Claims (24)
1.一种处理器,包括:
多个核心,其独立地执行指令;以及
功率控制器,其控制所述处理器操作的频率,所述功率控制器包括第一逻辑,如果所述第一核心具有大于第一停止阈值的停止率,则第一逻辑防止所述多个核心中的第一核心以所请求的超频模式频率执行,并且如果所述第二核心具有小于第二停止阈值的停止率,则所述第一逻辑同时允许所述多个核心中的第二核心以所请求的超频模式频率执行。
2.如权利要求1所述的处理器,其特征在于,如果所述第一核心的停止率大于所述第一停止阈值,则所述第一逻辑基于能量性能偏置值减少所述第一核心的当前性能状态以便生成候选性能状态。
3.如权利要求2所述的处理器,其特征在于,如果所述能量性能偏置值处于能量偏置,所述第一逻辑以第一较低频率生成所述候选性能状态,且如果所述能量性能偏置值处于性能偏置,则所述第一逻辑以第二较低频率生成所述候选性能状态,所述第二较低频率大于所述第一较低频率。
4.如权利要求2所述的处理器,其特征在于,所述第一逻辑基于所述候选性能状态和所述处理器上的多种约束判断所述第一核心的经更新性能状态。
5.如权利要求4所述的处理器,其特征在于,所述第一逻辑把所述经更新性能状态应用到所述第一核心。
6.如权利要求2所述的处理器,其特征在于,如果所述第二核心的停止率少于所述第二停止阈值,则所述第一逻辑基于能量性能偏置值增加第二核心的当前性能状态以便生成候选性能状态。
7.如权利要求1-6中的任何一项所述的处理器,其特征在于,如果所述停止率是在所述第一停止阈值和第二停止阈值之间,则所述第一逻辑维持所述第一核心的当前超频模式频率。
8.一种方法,包括:
获得多核心处理器中的第一核心的当前性能状态、在第一观察间隔期间所述第一核心的核心停止计数和所述第一核心的能量性能偏置;
确定所述核心停止计数是否至少等于第一停止阈值;以及
如果是这样,则基于所述能量性能偏置减少所述第一核心的所述当前性能状态以便获得候选性能状态。
9.如权利要求8所述的方法,进一步包括基于所述候选性能状态和多个处理器约束参数确定经更新性能状态。
10.如权利要求9所述的方法,进一步包括把所述经更新性能状态应用到所述第一核心。
11.如权利要求8所述的方法,进一步包括判断在所述第一观察间隔期间所述第一核心的核心活动循环是否少于最小阈值,且如果是这样则无需进一步分析就在下一观察间隔内维持所述第一核心的所述当前性能状态。
12.如权利要求8所述的方法,进一步包括确定所述第一核心的所述当前性能状态不处于超频模式或未准予超频模式,且如果是这样则无需进一步分析就在下一观察间隔内维持所述第一核心的所述当前性能状态。
13.如权利要求8所述的方法,进一步包括,如果所述核心停止计数不是至少等于所述第一停止阈值,则确定所述核心停止计数是否小于或等于第二停止阈值,且如果是这样,则基于所述能量性能偏置增加所述第一核心的所述当前性能状态以便获得所述候选性能状态。
14.如权利要求13所述的方法,进一步包括如果所述核心停止计数是在所述第一停止阈值和第二停止阈值之间,则从所述第一核心的所述当前性能状态获取所述候选性能状态。
15.一种系统,包括:
一种处理器,其包括多个核心、多个电压调节器以及功率控制单元(PCU),每一电压调节器向所述多个核心中的至少一个独立地提供电压,所述功率控制单元(PCU)控制所述多个电压调节器以便向所述多个核心中的至少一些提供独立电压,所述PCU包括超频模式控制逻辑,所述超频模式控制逻辑独立地控制所述多个核心的频率,且如果处于低于增加的超频模式频率的当前超频模式频率的所述多个核心中的第一核心的核心停止指标小于第二停止阈值,则允许所述第一核心以所述增加的超频模式频率操作;以及
动态随机存取存储器(DRAM),其耦合到所述处理器。
16.如权利要求15所述的系统,其特征在于,如果处于高于所述减小的超频模式频率的当前超频模式频率的所述多个核心中的第二核心的核心停止指标至少等于第一停止阈值,则所述超频模式控制逻辑允许所述第二核心以减小的超频模式频率操作,其中,所述第一停止阈值大于所述第二停止阈值。
17.如权利要求15或16所述的系统,其特征在于,所述PCU从所述第一核心的停止传感器接收所述第一核心的所述核心停止指标。
18.如权利要求15或16所述的系统,其特征在于,在所述处理器处于性能模式时,所述超频模式控制逻辑以比在所述处理器处于能量模式时更快的速度增加所述第一核心的超频模式频率。
19.如权利要求18所述的系统,其特征在于,在所述处理器处于所述能量模式时,所述超频模式控制逻辑以比在所述处理器处于所述性能模式时更快的速度减小所述第一核心的所述超频模式频率。
20.如权利要求15或16所述的系统,其特征在于,基于所述核心停止指标和多个处理器约束参数,使用候选性能状态,所述超频模式控制逻辑判断经更新性能状态,并把所述经更新性能状态应用到所述第一核心。
21.一种通信设备,其被安排为执行如权利要求8到14中的任何一项所述的方法。
22.至少一种机器可读介质,其包括多个指令,响应于在计算设备上执行,所述指令引起所述计算设备执行如权利要求8到14中的任何一项所述的方法。
23.一种用于处理指令的装置,其被配置为如权利要求8到14中的任何一项所述的方法。
24.一种设备,其包括用于执行如权利要求8到14中的任何一项所述的方法的装置。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2012/028865 WO2013137859A1 (en) | 2012-03-13 | 2012-03-13 | Providing energy efficient turbo operation of a processor |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104169832A true CN104169832A (zh) | 2014-11-26 |
CN104169832B CN104169832B (zh) | 2017-04-19 |
Family
ID=49161599
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201280071418.0A Active CN104169832B (zh) | 2012-03-13 | 2012-03-13 | 提供处理器的能源高效的超频操作 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9354689B2 (zh) |
CN (1) | CN104169832B (zh) |
WO (1) | WO2013137859A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018018372A1 (zh) * | 2016-07-25 | 2018-02-01 | 张升泽 | 电子芯片内的电流计算方法及系统 |
CN109564460A (zh) * | 2016-08-03 | 2019-04-02 | 英特尔公司 | 在处理器中提供用于降级控制信息的接口 |
Families Citing this family (73)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8943334B2 (en) | 2010-09-23 | 2015-01-27 | Intel Corporation | Providing per core voltage and frequency control |
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 |
US9372524B2 (en) | 2011-12-15 | 2016-06-21 | Intel Corporation | Dynamically modifying a power/performance tradeoff based on processor utilization |
US9436245B2 (en) | 2012-03-13 | 2016-09-06 | Intel Corporation | Dynamically computing an electrical design point (EDP) for a multicore processor |
WO2013137862A1 (en) | 2012-03-13 | 2013-09-19 | Intel Corporation | Dynamically controlling interconnect frequency in a processor |
WO2013147906A1 (en) * | 2012-03-31 | 2013-10-03 | Intel Corporation | Controlling power consumption in multi-core environments |
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 |
US20140089699A1 (en) * | 2012-09-27 | 2014-03-27 | Advanced Micro Devices | Power management system and method for a processor |
US9367114B2 (en) | 2013-03-11 | 2016-06-14 | Intel Corporation | Controlling operating voltage of a processor |
US9823719B2 (en) | 2013-05-31 | 2017-11-21 | Intel Corporation | Controlling power delivery to a processor via a bypass |
US9495001B2 (en) | 2013-08-21 | 2016-11-15 | Intel Corporation | Forcing core low power states in a processor |
US9459689B2 (en) * | 2013-12-23 | 2016-10-04 | Intel Corporation | Dyanamically adapting a voltage of a clock generation circuit |
US9665153B2 (en) | 2014-03-21 | 2017-05-30 | Intel Corporation | Selecting a low power state based on cache flush latency determination |
US9829957B2 (en) * | 2014-03-26 | 2017-11-28 | Intel Corporation | Performance scalability prediction |
US9983648B2 (en) | 2014-03-31 | 2018-05-29 | Hewlett-Packard Development Company, L.P. | Regulation of processor states |
US9760158B2 (en) | 2014-06-06 | 2017-09-12 | Intel Corporation | Forcing a processor into a low power state |
US9501299B2 (en) * | 2014-06-16 | 2016-11-22 | Intel Corporation | Minimizing performance loss on workloads that exhibit frequent core wake-up activity |
US9513689B2 (en) | 2014-06-30 | 2016-12-06 | Intel Corporation | Controlling processor performance scaling based on context |
US9606602B2 (en) | 2014-06-30 | 2017-03-28 | Intel Corporation | Method and apparatus to prevent voltage droop in a computer |
US9575537B2 (en) | 2014-07-25 | 2017-02-21 | Intel Corporation | Adaptive algorithm for thermal throttling of multi-core processors with non-homogeneous performance states |
US9760136B2 (en) | 2014-08-15 | 2017-09-12 | Intel Corporation | Controlling temperature of a system memory |
US9671853B2 (en) | 2014-09-12 | 2017-06-06 | Intel Corporation | Processor operating by selecting smaller of requested frequency and an energy performance gain (EPG) frequency |
US9703358B2 (en) | 2014-11-24 | 2017-07-11 | Intel Corporation | Controlling turbo mode frequency operation in a processor |
US10048744B2 (en) | 2014-11-26 | 2018-08-14 | Intel Corporation | Apparatus and method for thermal management in a multi-chip package |
US10877530B2 (en) | 2014-12-23 | 2020-12-29 | Intel Corporation | Apparatus and method to provide a thermal parameter report for a multi-chip package |
US20160224098A1 (en) | 2015-01-30 | 2016-08-04 | Alexander Gendler | Communicating via a mailbox interface of a processor |
US9639134B2 (en) | 2015-02-05 | 2017-05-02 | Intel Corporation | Method and apparatus to provide telemetry data to a power controller of a processor |
US10234930B2 (en) | 2015-02-13 | 2019-03-19 | Intel Corporation | Performing power management in a multicore processor |
US9910481B2 (en) | 2015-02-13 | 2018-03-06 | Intel Corporation | Performing power management in a multicore processor |
US9874922B2 (en) | 2015-02-17 | 2018-01-23 | Intel Corporation | Performing dynamic power control of platform devices |
US9842082B2 (en) | 2015-02-27 | 2017-12-12 | Intel Corporation | Dynamically updating logical identifiers of cores of a processor |
US9710054B2 (en) | 2015-02-28 | 2017-07-18 | Intel Corporation | Programmable power management agent |
US9760160B2 (en) | 2015-05-27 | 2017-09-12 | Intel Corporation | Controlling performance states of processing engines of a processor |
US9710041B2 (en) | 2015-07-29 | 2017-07-18 | Intel Corporation | Masking a power state of a core of a processor |
US10001822B2 (en) | 2015-09-22 | 2018-06-19 | Intel Corporation | Integrating a power arbiter in a processor |
US9983644B2 (en) | 2015-11-10 | 2018-05-29 | Intel Corporation | Dynamically updating at least one power management operational parameter pertaining to a turbo mode of a processor for increased performance |
US20170168541A1 (en) * | 2015-12-15 | 2017-06-15 | Intel Corporation | Processor core energy management |
US9910470B2 (en) | 2015-12-16 | 2018-03-06 | Intel Corporation | Controlling telemetry data communication in a processor |
US10331198B2 (en) * | 2015-12-31 | 2019-06-25 | Facebook, Inc. | Dynamically adapting to demand for server computing resources |
US10146286B2 (en) | 2016-01-14 | 2018-12-04 | Intel Corporation | Dynamically updating a power management policy of a processor |
US10437313B2 (en) | 2016-06-10 | 2019-10-08 | Apple Inc. | Processor unit efficiency control |
US10289188B2 (en) | 2016-06-21 | 2019-05-14 | Intel Corporation | Processor having concurrent core and fabric exit from a low power state |
US10324519B2 (en) | 2016-06-23 | 2019-06-18 | Intel Corporation | Controlling forced idle state operation in a processor |
US10281975B2 (en) | 2016-06-23 | 2019-05-07 | Intel Corporation | Processor having accelerated user responsiveness in constrained environment |
WO2018018371A1 (zh) * | 2016-07-25 | 2018-02-01 | 张升泽 | 多核芯片电压计算方法及系统 |
US10234920B2 (en) | 2016-08-31 | 2019-03-19 | Intel Corporation | Controlling current consumption of a processor based at least in part on platform capacitance |
US10379904B2 (en) | 2016-08-31 | 2019-08-13 | Intel Corporation | Controlling a performance state of a processor using a combination of package and thread hint information |
US10423206B2 (en) | 2016-08-31 | 2019-09-24 | Intel Corporation | Processor to pre-empt voltage ramps for exit latency reductions |
US10120430B2 (en) * | 2016-09-07 | 2018-11-06 | Advanced Micro Devices, Inc. | Dynamic reliability quality monitoring |
US10168758B2 (en) | 2016-09-29 | 2019-01-01 | Intel Corporation | Techniques to enable communication between a processor and voltage regulator |
US10318363B2 (en) | 2016-10-28 | 2019-06-11 | Advanced Micro Devices, Inc. | System and method for energy reduction based on history of reliability of a system |
KR20180076840A (ko) | 2016-12-28 | 2018-07-06 | 삼성전자주식회사 | Dvfs 동작을 수행하는 어플리케이션 프로세서, 이를 포함하는 컴퓨팅 시스템 및 이의 동작 방법 |
US10429919B2 (en) | 2017-06-28 | 2019-10-01 | Intel Corporation | System, apparatus and method for loose lock-step redundancy power management |
US11593544B2 (en) | 2017-08-23 | 2023-02-28 | Intel Corporation | System, apparatus and method for adaptive operating voltage in a field programmable gate array (FPGA) |
US10620266B2 (en) | 2017-11-29 | 2020-04-14 | Intel Corporation | System, apparatus and method for in-field self testing in a diagnostic sleep state |
US10719120B2 (en) | 2017-12-05 | 2020-07-21 | Facebook, Inc. | Efficient utilization of spare datacenter capacity |
US10620682B2 (en) | 2017-12-21 | 2020-04-14 | Intel Corporation | System, apparatus and method for processor-external override of hardware performance state control of a processor |
US11029744B2 (en) * | 2017-12-29 | 2021-06-08 | Intel Corporation | System, apparatus and method for controlling a processor based on effective stress information |
US10620969B2 (en) | 2018-03-27 | 2020-04-14 | Intel Corporation | System, apparatus and method for providing hardware feedback information in a processor |
US10739844B2 (en) | 2018-05-02 | 2020-08-11 | Intel Corporation | System, apparatus and method for optimized throttling of a processor |
US10955899B2 (en) | 2018-06-20 | 2021-03-23 | Intel Corporation | System, apparatus and method for responsive autonomous hardware performance state control of a processor |
CN112074793A (zh) | 2018-06-21 | 2020-12-11 | 惠普发展公司,有限责任合伙企业 | 增加cpu时钟速度以改善系统性能 |
US10976801B2 (en) | 2018-09-20 | 2021-04-13 | Intel Corporation | System, apparatus and method for power budget distribution for a plurality of virtual machines to execute on a processor |
US10860083B2 (en) | 2018-09-26 | 2020-12-08 | Intel Corporation | System, apparatus and method for collective power control of multiple intellectual property agents and a shared power rail |
US11656676B2 (en) | 2018-12-12 | 2023-05-23 | Intel Corporation | System, apparatus and method for dynamic thermal distribution of a system on chip |
US11256657B2 (en) | 2019-03-26 | 2022-02-22 | Intel Corporation | System, apparatus and method for adaptive interconnect routing |
US11442529B2 (en) | 2019-05-15 | 2022-09-13 | Intel Corporation | System, apparatus and method for dynamically controlling current consumption of processing circuits of a processor |
US11698812B2 (en) | 2019-08-29 | 2023-07-11 | Intel Corporation | System, apparatus and method for providing hardware state feedback to an operating system in a heterogeneous processor |
US11366506B2 (en) | 2019-11-22 | 2022-06-21 | Intel Corporation | System, apparatus and method for globally aware reactive local power control in a processor |
US11132201B2 (en) | 2019-12-23 | 2021-09-28 | Intel Corporation | System, apparatus and method for dynamic pipeline stage control of data path dominant circuitry of an integrated circuit |
US11921564B2 (en) | 2022-02-28 | 2024-03-05 | Intel Corporation | Saving and restoring configuration and status information with reduced latency |
US20240094796A1 (en) * | 2022-06-10 | 2024-03-21 | Nvidia Corporation | Techniques to modify processor performance |
US20240004444A1 (en) * | 2022-06-30 | 2024-01-04 | Advanced Micro Devices, Inc. | Rest-of-chip power optimization through data fabric performance state management |
Family Cites Families (88)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5163153A (en) | 1989-06-12 | 1992-11-10 | Grid Systems Corporation | Low-power, standby mode computer |
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 |
US7010708B2 (en) | 2002-05-15 | 2006-03-07 | Broadcom Corporation | Method and apparatus for adaptive CPU power management |
US7539885B2 (en) | 2000-01-13 | 2009-05-26 | 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 |
US7155617B2 (en) | 2002-08-01 | 2006-12-26 | Texas Instruments Incorporated | Methods and systems for performing dynamic power management via frequency and voltage scaling |
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 |
US7451333B2 (en) | 2004-09-03 | 2008-11-11 | Intel Corporation | Coordinating idle state transitions in multi-core processors |
US20070156992A1 (en) | 2005-12-30 | 2007-07-05 | Intel Corporation | Method and system for optimizing latency of dynamic memory sizing |
US7664970B2 (en) | 2005-12-30 | 2010-02-16 | Intel Corporation | Method and apparatus for a zero voltage processor sleep state |
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 |
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 |
US7412611B2 (en) | 2005-06-13 | 2008-08-12 | Hewlett-Packard Development Company, L.P. | Power management with low power processes |
KR100663864B1 (ko) | 2005-06-16 | 2007-01-03 | 엘지전자 주식회사 | 멀티-코어 프로세서의 프로세서 모드 제어장치 및 방법 |
US7454632B2 (en) | 2005-06-16 | 2008-11-18 | Intel Corporation | Reducing computing system power through idle synchronization |
US7430673B2 (en) | 2005-06-30 | 2008-09-30 | Intel Corporation | Power management system for computing platform |
US7490254B2 (en) * | 2005-08-02 | 2009-02-10 | Advanced Micro Devices, Inc. | Increasing workload performance of one or more cores on multiple core processors |
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 |
US7650518B2 (en) | 2006-06-28 | 2010-01-19 | Intel Corporation | Method, apparatus, and system for increasing single core performance in a multi-core microprocessor |
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 |
US8117478B2 (en) | 2006-12-29 | 2012-02-14 | Intel Corporation | Optimizing power usage by processor cores based on architectural events |
US7730340B2 (en) | 2007-02-16 | 2010-06-01 | Intel Corporation | Method and apparatus for dynamic voltage and frequency scaling |
JP5224498B2 (ja) | 2007-02-28 | 2013-07-03 | 学校法人早稲田大学 | メモリ管理方法、情報処理装置、プログラムの作成方法及びプログラム |
US8510581B2 (en) | 2007-03-26 | 2013-08-13 | Freescale Semiconductor, Inc. | Anticipation of power on of a mobile device |
US7900069B2 (en) | 2007-03-29 | 2011-03-01 | Intel Corporation | Dynamic power reduction |
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 | 엘지전자 주식회사 | 전원관리 제어 장치 및 방법 |
US8156362B2 (en) | 2008-03-11 | 2012-04-10 | Globalfoundries Inc. | Hardware monitoring and decision making for transitioning in and out of low-power state |
US9032223B2 (en) | 2008-09-05 | 2015-05-12 | Intel Corporation | Techniques to manage operational parameters for a processor |
US8402290B2 (en) | 2008-10-31 | 2013-03-19 | Intel Corporation | Power management for multiple processor cores |
US20100138675A1 (en) | 2008-11-30 | 2010-06-03 | Dell Products L.P. | Methods and Systems for Managing Power to Multiple Processors |
US8954977B2 (en) | 2008-12-09 | 2015-02-10 | Intel Corporation | Software-based thread remapping for power savings |
US9098274B2 (en) * | 2009-12-03 | 2015-08-04 | Intel Corporation | Methods and apparatuses to improve turbo performance for events handling |
US8700943B2 (en) | 2009-12-22 | 2014-04-15 | Intel Corporation | Controlling time stamp counter (TSC) offsets for mulitple cores and threads |
US8990591B2 (en) | 2009-12-31 | 2015-03-24 | Intel Corporation | Power management system for selectively changing the power state of devices using an OS power management framework and non-OS power management framework |
US8429441B2 (en) | 2010-04-19 | 2013-04-23 | International Business Machines Corporation | Operating processor below maximum turbo mode frequency by sending higher than actual current amount signal to monitor |
US8463973B2 (en) | 2010-08-31 | 2013-06-11 | Advanced Micro Devices, Inc. | Mechanism for voltage regulator load line compensation using multiple voltage settings per operating state |
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 |
US9436245B2 (en) | 2012-03-13 | 2016-09-06 | Intel Corporation | Dynamically computing an electrical design point (EDP) for a multicore processor |
WO2013137862A1 (en) | 2012-03-13 | 2013-09-19 | Intel Corporation | Dynamically controlling interconnect frequency in a 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 |
-
2012
- 2012-03-13 WO PCT/US2012/028865 patent/WO2013137859A1/en active Application Filing
- 2012-03-13 CN CN201280071418.0A patent/CN104169832B/zh active Active
- 2012-03-13 US US13/997,288 patent/US9354689B2/en not_active Expired - Fee Related
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018018372A1 (zh) * | 2016-07-25 | 2018-02-01 | 张升泽 | 电子芯片内的电流计算方法及系统 |
CN109564460A (zh) * | 2016-08-03 | 2019-04-02 | 英特尔公司 | 在处理器中提供用于降级控制信息的接口 |
CN109564460B (zh) * | 2016-08-03 | 2024-02-02 | 英特尔公司 | 在处理器中提供用于降级控制信息的接口 |
Also Published As
Publication number | Publication date |
---|---|
US20130346774A1 (en) | 2013-12-26 |
US9354689B2 (en) | 2016-05-31 |
WO2013137859A1 (en) | 2013-09-19 |
CN104169832B (zh) | 2017-04-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104169832A (zh) | 提供处理器的能源高效的超频操作 | |
US11237614B2 (en) | Multicore processor with a control register storing an indicator that two or more cores are to operate at independent performance states | |
US10664039B2 (en) | Power efficient processor architecture | |
US9235252B2 (en) | Dynamic balancing of power across a plurality of processor domains according to power policy control bias | |
US10613876B2 (en) | Methods and apparatuses for controlling thread contention | |
US9904346B2 (en) | Methods and apparatus to improve turbo performance for events handling | |
KR101476568B1 (ko) | 코어 마다의 전압 및 주파수 제어 제공 | |
CN103995577B (zh) | 动态控制处理器的最大工作电压 | |
US20130111226A1 (en) | Controlling A Turbo Mode Frequency Of A Processor | |
US9335804B2 (en) | Distributing power to heterogeneous compute elements of a processor | |
US20140325247A1 (en) | Controlling power and performance in a system agent of a processor | |
CN105183128A (zh) | 强制处理器进入低功率状态 | |
TW201346507A (zh) | 根據處理器的使用動態修改電力/效能權衡的技術 | |
CN104798034B (zh) | 用于协调频率的方法、处理器以及系统 | |
Muralidhar et al. | Energy efficient computing systems: Architectures, abstractions and modeling to techniques and standards | |
CN117546121A (zh) | 用于通过减少每周期指令数来控制多处理器核心系统中的电流供应的系统和方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |