CN106537285A - 处理器温度的平衡控制 - Google Patents

处理器温度的平衡控制 Download PDF

Info

Publication number
CN106537285A
CN106537285A CN201580038586.3A CN201580038586A CN106537285A CN 106537285 A CN106537285 A CN 106537285A CN 201580038586 A CN201580038586 A CN 201580038586A CN 106537285 A CN106537285 A CN 106537285A
Authority
CN
China
Prior art keywords
temperature
processor
domain
instruction
value
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
Application number
CN201580038586.3A
Other languages
English (en)
Other versions
CN106537285B (zh
Inventor
N.罗森斯维希
D.拉万
D.沙皮拉
N.舒尔曼
T.齐夫
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of CN106537285A publication Critical patent/CN106537285A/zh
Application granted granted Critical
Publication of CN106537285B publication Critical patent/CN106537285B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/20Cooling means
    • G06F1/206Cooling means comprising thermal management
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01KMEASURING TEMPERATURE; MEASURING QUANTITY OF HEAT; THERMALLY-SENSITIVE ELEMENTS NOT OTHERWISE PROVIDED FOR
    • G01K1/00Details of thermometers not specially adapted for particular types of thermometer
    • G01K1/02Means for indicating or recording specially adapted for thermometers
    • G01K1/026Means for indicating or recording specially adapted for thermometers arrangements for monitoring a plurality of temperatures, e.g. by multiplexing
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01KMEASURING TEMPERATURE; MEASURING QUANTITY OF HEAT; THERMALLY-SENSITIVE ELEMENTS NOT OTHERWISE PROVIDED FOR
    • G01K13/00Thermometers specially adapted for specific purposes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/324Power saving characterised by the action undertaken by lowering clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5094Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Power Sources (AREA)
  • Microcomputers (AREA)

Abstract

在实施例中,一种处理器包括多个核和多个温度传感器,其中每个核接近至少一个温度传感器。所述处理器还包括功率控制单元(PCU),所述PCU包括从每一个温度传感器接收包括对应温度值的温度数据的温度逻辑。响应于温度数据的最高温度值超过阈值的指示,所述温度逻辑要根据基于多个核中的至少两个核的指令执行特性确定的策略来调整多个域频率。每个域频率与对应域相关联,所述对应域包括多个核中至少一个,并且每个域频率是可独立地调整的。描述并要求保护其他实施例。

Description

处理器温度的平衡控制
技术领域
实施例涉及处理器温度的平衡控制。
背景技术
半导体处理和逻辑设计中的发展已经准许可以存在于集成电路设备上的逻辑的量方面的增长。结果,计算机***配置已经从***中的单个或多个集成电路演进到单独的集成电路上的多个硬件线程、多个核、多个设备和/或完整***。另外,随着集成电路的密度已经增长,针对计算***(从嵌入式***到服务器)的功率要求也已经增加。此外,软件低效及其硬件的要求也已经引起计算设备能量消耗方面的增加。事实上,一些研究表明计算设备消耗针对国家(诸如***合众国)的整个电力供应的相当大百分比。结果,存在对于与集成电路相关联的能量效率和节省的至关重要的需要。这些需要将随着服务器、台式计算机、笔记本、Ultrabooks™、平板电脑、移动电话、处理器、嵌入式***等变得甚至更加普遍(从包括在典型计算机、汽车和电视中到生物技术)而增加。
附图说明
图1是根据本发明的实施例的***的一部分的框图。
图2是根据本发明的实施例的处理器的框图。
图3是根据本发明的另一个实施例的多域处理器的框图。
图4是包括多个核的处理器的实施例。
图5是根据本发明的一个实施例的处理器核的微架构的框图。
图6是根据另一个实施例的处理器核的微架构的框图。
图7是根据又另一个实施例的处理器核的微架构的框图。
图8是根据再一个实施例的处理器核的微架构的框图。
图9是根据本发明的另一个实施例的处理器的框图。
图10是根据本发明的实施例的代表性SoC的框图。
图11是根据本发明的实施例的另一个示例SoC的框图。
图12是实施例可以与其一起使用的示例***的框图。
图13是实施例可以与其一起使用的另一个示例***的框图。
图14是代表性计算机***的框图。
图15是根据本发明的实施例的***的框图。
图16是根据本发明的实施例的***的框图。
图17是根据本发明的实施例的处理器的框图。
图18是根据本发明的实施例的方法的流程图。
图19是根据本发明的实施例的***的框图。
具体实施方式
尽管参考特定集成电路中(诸如计算平台或处理器中)的能量节省和能量效率来描述以下实施例,但其他实施例可应用于其他类型的集成电路和逻辑设备。本文描述的实施例的类似技术和教导可以应用于其他类型的电路或半导体设备,其还可受益于更好的能量效率和能量节省。例如,所公开的实施例不限于任何特定类型的计算机***。也就是说,所公开的实施例可以用于许多不同的***类型,范围从服务器计算机(例如,塔、机架、刀片、微服务器等等)、通信***、存储***、任何配置的台式计算机、膝上型计算机、笔记本和平板计算机(包括2:1平板电脑、平板手机等等),并且还可以在诸如手持设备、片上***(SoC)和嵌入式应用之类的其他设备中使用。手持设备的一些示例包括诸如智能电话之类的蜂窝电话、互联网协议设备、数字摄像机、个人数字助理(PDA)和手持PC。嵌入式应用典型地可以包括微控制器、数字信号处理器(DSP)、网络计算机(NetPC)、机顶盒、网络集线器、广域网(WAN)交换机、可穿戴设备或可以执行以下教导的功能和操作的任何其他***。更是这样,实施例可以在具有标准语音功能的移动终端(诸如移动电话、智能电话和平板手机)中和/或在没有标准无线语音功能通信能力的非移动终端(诸如,许多可穿戴装置、平板电脑、笔记本、台式机、微服务器、服务器等等)中实现。此外,本文描述的装置、方法和***不限于物理计算设备,但还可以涉及用于能量节省和效率的软件优化。如在以下描述中将容易地明显的,本文描述的方法、装置和***的实施例(无论是否参考硬件、固件、软件或其组合)是对“绿色技术”未来至关重要的,诸如对涵盖大部分美国经济的产品中的功率节省和能量效率而言。
诸如多核处理器之类的处理器在操作中时生成热量。为了处理器有效地操作,可以管理所生成的热量。处理器热量的管理可以降低过热,所述过热可以导致处理器的故障或效率方面的降低。
在一些实施例中,处理器所产生的热量可以通过节流来管理,例如降低处理器的吞吐量,诸如通过降低处理器内的时钟域(本文“域”)的时钟频率,所述处理器可以包括互连、一个或多个处理实体(例如,一个或多个核、图形处理单元(GPU)等)。处理器热量管理的一个方法是识别“热点”(例如正在高温度操作的处理器内的核(或GPU))以及降低热点的域的时钟频率。降低时钟频率(本文中还是“频率”)使核节流,例如降低核的指令执行速率,并且导致由热点所生成的热量的降低以及处理器的较低操作温度。
根据本发明的实施例,节流可以根据平衡(本文中也是“被平衡的”)策略来实现,其中响应于检测到处理器内的高温而调整多个域的频率。多于一个处理实体的节流提供对处理器中的热量降低的更全局的解决方案,以使得被标识为热点的特定处理单元的节流不太剧烈,例如热点的时钟频率(本文也是域频率)可以在与它是要被降低的唯一时钟频率的情况下相比更小的程度上被降低,同时其他频率也被调整以降低由处理器所生成的总体热量。
平衡策略可以指定时钟频率的加权调整,其可以导致处理器所生成的热量的降低而同时减轻有害的副作用(例如,降低处理器的总体吞吐量),与关联于只有单个时钟频率的降低以实现所生成的热量的相同降低的副作用相比。
平衡策略可以至少部分基于每个执行单元的执行特性来确定。例如,一个或多个核可以迅速执行指令(高吞吐率)并且一个或多个核的输出可以被输入到图形处理单元,所述图形处理单元的吞吐率可以小于一个或多个核的吞吐率。平衡策略可以指定响应于检测到热点而核要在比GPU更大的程度上被节流,例如,核的时钟频率要在与GPU的时钟频率的降低相比更大的程度上被降低,以使得从其他核到GPU的输入不“备份”(例如,形成要被输入到GPU的队列)。
在另一个示例中,如果GPU具有比馈送GPU的任何核更快的吞吐率,可以应用不同的平衡策略。在这样的情况下,为了避免GPU的“饥饿”,平衡策略可以指定GPU的时钟频率要按与馈送GPU的一个或多个核的时钟频率的降低相比更小的因子被降低。在一些实施例中,互连频率可以被近似设置成等于馈送GPU的核的频率。在其他实施例中,平衡策略可以指示互连频率与另一个域频率具有指定函数关系。又其他实施例可以包括上述示例的任何组合。注意到实施例不限于本文所述的那些。
现在参考图1,其示出了根据本发明的实施例的***的一部分的框图。如图1中所示,***100可以包括各种组件,所述组件包括如示出为多核处理器的处理器110。处理器110可以经由外部电压调节器160耦合到电源供应150,所述外部电压调节器160可以执行第一电压变换以向处理器110提供主调节电压。
如所见,处理器110可以是包括多个核120a-120n的单管芯处理器。此外,每个核可以与集成电压调节器(IVR)125a-125n相关联,所述集成电压调节器125a-125n接收主调节电压并且生成要被提供到与IVR相关联的处理器的一个或多个代理的操作电压。同样,IVR实现方式可以被提供以允许电压以及从而每个单独的核的功率和性能的精细粒度控制。这样,每个核可以以独立的电压和频率操作,这使得能够实现大灵活性并且提供用于平衡功率消耗与性能的广泛机会。在一些实施例中,多个IVR的使用使得能够将组件分组成单独的功率平面,以使得功率被IVR调节并供应到分组中的仅那些组件。在功率管理期间,一个IVR的给定功率平面可以被降低动力消耗或断电,当处理器被置于某个低功率状态时,而另一个IVR的另一个功率平面保持活动,或完全供电。
又参考图1,可以在处理器内存在附加组件,所述附加组件包括输入/输出接口132、另一个接口134和集成存储器控制器136。如所见,这些组件中的每一个可以由另一个集成电压调节器125x供电。在一个实施例中,接口132可以根据Intel®快速路径互连(QPI)协议,所述快速路径互连协议提供包括多个层的高速缓存一致协议中的点对点(PtP)链路,所述多个层包括物理层、链路层和协议层。继而,接口134可以根据快速***组件互连(PCIe™)规范,例如,快速PCI™规范基本规范版本2.0(2007年1月17日公开)。
还示出了功率控制单元(PCU)138,其可以包括执行关于处理器110的功率管理操作的硬件、软件和/或固件。如所见,PCU 138经由数字接口向外部电压调节器160提供控制信息以使电压调节器生成适当的调节电压。PCU 138还经由另一个数字接口向IVR 125提供控制信息以控制所生成的操作电压(或者使对应IVR要在低功率模式中被禁用)。在各种实施例中,PCU 138可以包括各种各样的功率管理逻辑单元以执行基于硬件的功率管理。这样的功率管理可以是完全处理器控制的(例如,通过各种处理器硬件,并且其可以由工作负载和/或功率、热或其他处理器约束来触发)以及/或者功率管理可以响应于外部源(诸如平台或管理功率管理源或***软件)来执行。
虽然为了易于图示而未示出,要理解的是在处理器110内可以存在附加组件,诸如非核逻辑和诸如内部存储器(例如,高速缓存存储器层级的一个或多个级等等)之类的其他组件。此外,虽然在图1的实现方式中以集成电压调节器示出,但实施例并不被如此限制。
注意到本文描述的功率管理技术可以独立于和补充于基于操作***(OS)的机制,诸如高级配置和平台接口(ACPI)标准(例如,2006年10月10日公开的版本3.0b)。根据ACPI,处理器可以以各种性能状态或级别(所谓的P状态,即从P0到PN)操作。通常,P1性能状态可以对应于可被OS请求的最高保证性能状态。除了该P1状态之外,OS还可以请求较高性能状态,即P0状态。该P0状态可以从而是机会或涡轮(turbo)模式状态,其中当功率和/或热量预算可用时,处理器硬件可以将处理器或至少其部分配置成以比保证频率更高的频率操作。在许多实现方式中,处理器可以包括高于P1保证最大频率的多个所谓的箱(bin)频率,所述箱频率超过如在制造期间被熔断或以其他方式写入到处理器中的特定处理器的最大峰值频率。此外,根据ACPI,处理器可以以各种功率状态或级别操作。关于功率状态,ACPI指定不同功率消耗状态,通常称为C状态,C0、C1到Cn状态。当核是活动的时,其以C0状态运行,并且当核是空闲的时,它可以被置于核低功率状态,也称为核非零C状态(例如,C1-C6状态),其中每个C状态处于较低功率消耗级别(以使得C6是比C1更深的低功率状态,等等)。
要理解的是在不同实施例中可以单独地或组合地使用许多不同类型的功率管理技术。作为代表性示例,功率控制器可以控制处理器以通过某个形式的动态电压频率调节(DVFS)进行功率管理,其中一个或多个核或其他处理器逻辑的操作电压和/或操作频率可以被动态控制成降低某些情形中的功率消耗。在示例中,可以使用可从加利福尼亚州圣克拉拉的Intel公司得到的Enhanced Intel SpeedStep™技术来执行DVFS以提供最低功率消耗等级处的最优性能。在另一个示例中,可以使用Intel TurboBoost™技术来执行DVFS以使得一个或多个核或其他计算引擎能够基于条件(例如,工作负载和可用性)而以比保证操作频率更高的频率来操作。
可以在某些示例中使用的另一个功率管理技术是不同计算引擎之间的工作负载的动态交换。例如,处理器可以包括以不同功率消耗级别来操作的非对称核或其他处理引擎,以使得在功率受限情形中,一个或多个工作负载可以被动态切换到在较低功率核或其他计算引擎上执行。另一个示例性功率管理技术是硬件工作循环(HDC),其可以使核和/或其他计算引擎根据工作循环而周期性地被启用和禁用,以使得可以使一个或多个核在工作循环的不活动时段期间不活动并且使其在工作循环的活动时段期间活动。尽管利用这些特定示例进行描述,但要理解的是在特定实施例中可以使用许多其他功率管理技术。
实施例可以在包括服务器处理器、台式处理器、移动处理器等的针对各种市场的处理器中实现。现在参考图2,示出了根据本发明的实施例的处理器的框图。如图2中所示,处理器200可以是包括多个核210a-210n的多核处理器。在一个实施例中,每个这样的核可以具有独立功率域,并且可以被配置成基于工作负载而进入和离开活动状态和/或最大性能状态。各种核可以经由互连215耦合到包括各种组件的***代理或非核220。如所见的,非核220可以包括共享高速缓存230,所述共享高速缓存230可以是最后一级高速缓存。此外,非核可以包括集成存储器控制器240以例如经由存储器总线与***存储器(在图2中未示出)通信。非核220还包括各种接口250和功率控制单元255,所述功率控制单元255可以包括执行本文所述的功率管理技术的逻辑。
此外,通过接口250a-250n,可以做出到各种芯片外组件(诸如,***设备、大容量储存器等)的连接。虽然在图2的实施例中以该特定实现方式示出,但本发明的范围在这方面不被限制。
现在参考图3,示出了根据本发明的另一实施例的多域处理器的框图。如图3的实施例中所示,处理器300包括多个域。具体地,核域310可以包括多个核3100-310n,图形域320可以包括一个或多个图形引擎,并且还可以存在***代理域350。在一些实施例中,***代理域350可以以与核域独立的频率来执行,并且可以总是保持通电以处理功率控制事件和功率管理,以使得域310和320可以被控制成动态进入和离开高功率和低功率状态。域310和320中的每一个可以以不同的电压和/或功率操作。注意到虽然仅示出有三个域,但要理解的是本发明的范围在这方面不被限制,并且在其他实施例中可以存在附加的域。例如,可以存在多个核域,每一个核域包括至少一个核。
通常,除了各种执行单元和附加处理元件之外,每个核310还可以包括低级高速缓存。继而,各种核可以耦合到彼此,并且耦合到由最后一级高速缓存(LLC) 3400-340n的多个单元形成的共享高速缓存存储器。在各种实施例中,LLC 340可以在核和图形引擎以及各种媒体处理电路之间共享。如所见的,环互连330因而将核耦合在一起,并且提供核、图形域320和***代理电路350之间的互连。在一个实施例中,互连330可以是核域的部分。然而,在其他实施例中,环互连可以具有其自己的域。
如进一步所见的,***代理域350可以包括显示器控制器352,其可以提供关联的显示器的控制和到关联的显示器的接口。如进一步所见的,***代理域350可以包括功率控制单元355,所述功率控制单元355可以包括执行本文所述的功率管理技术的逻辑。
如图3中进一步所见的,处理器300还可以包括集成存储器控制器(IMC)370,其可以提供到***存储器(诸如,动态随机存取存储器(DRAM))的接口。多个接口3800-380n可以存在以使得能够实现处理器与其他电路之间的互连。例如,在一个实施例中,可以提供至少一个直接媒体接口(DMI)接口以及一个或多个PCIe™接口。又进一步,为了提供诸如附加处理器或其他电路之类的其他代理之间的通信,还可以提供根据Intel®快速路径互连(QPI)协议的一个或多个接口。尽管在图3的实施例中以该高级示出,但要理解的是本发明的范围在这方面不被限制。
参考图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环境中,甚至更多设备(诸如网络接口、协处理器、存储器、图形处理器和任何其他已知的计算机设备/接口)可以集成在单个管芯或集成电路上以在高功能性和低功率消耗的情况下提供小形状因子。
现在参考图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的处理器中可以实现其他实施例。
现在参考图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。这样的动态核交换可以以对用户应用(并且可能地也对内核)透明的方式来执行。
参考图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中的流水线的一个或多个核设计的处理器可以以从移动设备扩展到服务器***的许多不同最终产品来实现。
参考图8,示出了根据再一个实施例的处理器核的微架构的框图。如图8中所图示的,核800可以包括以非常高性能级别执行的多级多发布无序流水线(其可以以比图7的核700更高的功率消耗级别发生)。作为一个这样的示例,处理器800可以具有根据ARM CortexA57设计的微架构。在实现方式中,可提供被配置成执行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。这样的动态核交换可以以对用户应用(并且可能地也对内核透明)的方式来执行。
使用具有如在图5-8中的一个或多个中的流水线的一个或多个核设计的处理器可以以从移动设备扩展到服务器***的许多不同最终产品来实现。现在参考图9,示出了根据本发明的另一个实施例的处理器的框图。在图9的实施例中,处理器900可以是包括多个域的SoC,其中的每一个可以被控制成以独立的操作电压和操作频率来操作。作为特定说明性示例,处理器900可以是基于Intel®Architecture CoreTM的处理器,诸如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的实施例中以该高级示出,但要理解的是本发明的范围在这方面不被限制。
现在参考图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(网络)服务、网络处理、切换等)的优化的硬件支持的一个或多个加速器。此外,可以存在输入/输出接口以将这样的加速器耦合到芯片外组件。
现在参考图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)、无线局域技术(诸如Bluetooth™、IEEE 802.11)等。
又进一步,多媒体处理器1150可以用于执行高清晰度视频和音频内容的捕获和回放,包括用户手势的处理。传感器单元1160可以包括多个传感器和/或传感器控制器以对接到在给定平台中存在的各种芯片外传感器。图像信号处理器1170可以被提供有一个或多个单独的ISP以执行关于从平台的一个或多个摄像机(包括静止和视频摄像机)捕获的内容的图像处理。
显示器处理器1180可以提供对到给定像素密度的高清晰度显示器的连接的支持,包括无线传送内容以供在这样的显示器上回放的能力。又进一步,位置单元1190可以包括GPS接收器,其具有对多个GPS星座的支持以为应用提供使用这样的GPS接收器获得的高准确的定位信息。要理解的是虽然在图11的示例中以该特定组件集合示出,但许多变型和替换方案是可能的。
现在参考图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.11a/b/g/n)。
现在参考图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协议、Bluetooth™协议或任何其他无线协议)的通信。
如进一步图示的,多个传感器1360可以耦合到SoC 1310。这些传感器可以包括各种加速度计、环境和其他传感器,其包括用户手势传感器。最终,音频编解码器1365耦合到SoC 1310以提供到音频输出设备1370的接口。当然,要理解的是虽然在图13中以该特定实现方式示出,但许多变型和替换方案是可能的。
现在参考图14,代表性计算机***(诸如,笔记本、Ultrabook™或其他小形状因子***)的框图。在一个实施例中,处理器1410包括微处理器、多核处理器、多线程处理器、超低电压处理器、嵌入式处理器或其他已知的处理元件。在所图示的实现方式中,处理器1410充当用于与***1400的各种组件中的许多组件通信的主处理单元和中央中心。作为一个示例,处理器1400被实现为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的实施例中以这些特定组件示出,但要理解的是本发明的范围在这方面不被限制。
可以以许多不同的***类型来实现实施例。现在参考图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™等。
图16是根据本发明的实施例的***1600的框图。***1600包括处理器1602、电源供应1640和动态随机存取存储器1614。
处理器1602包括多个核16040-1604N、图形处理单元(GPU)1610、互连1606、高速缓存存储器1608和功率控制单元(PCU)1620。PCU 1620包括温度逻辑1630以根据可编程平衡策略1632并基于从多个温度传感器16600-1660N和1662接收的温度数据来调整多个时钟频率中的两个或更多时钟频率,其中多个时钟频率中的每一个时钟频率由对应锁相环(PLL)16500-1650N、1652和1654来生成。在一些实施例中,存在感测单个核的温度的两个或更多温度传感器,由于在核内可能存在温度变化。每一个温度传感器可以例如在持续的基础上生成数据,并且温度逻辑1630可以周期地接收温度数据并确定时钟频率是否基于接收到的温度数据而被调整。在其他实施例(未示出)中,多个核可以在相同的域内(例如,根据由相同PLL确定的相同时钟频率来操作),并且特定频率的调整可以影响相同域内的多核的吞吐量。
图17是根据本发明的实施例的处理器1700的框图。处理器1700包括一个或多个执行单元(例如核和/或图形处理单元17010-1701M)以及功率控制单元(PCU)1704。处理器1700可以包括未示出的其他组件,例如高速缓存存储器、非核等。热传感器17020-1702M测量执行单元的温度。在实施例中,每个热传感器位于接近对应执行单元(例如与对应执行单元物理接触),以便测量对应执行单元的温度。在其他实施例中,两个或更多热传感器可以被采用以测量单个执行单元的不同部分的温度。
来自热传感器17020-1702M的温度数据可以被传送到PCU 1704,并且被温度逻辑1706接收。在温度逻辑1706中包括温度评定逻辑1708,所述温度评定逻辑1708要确定从热传感器17020-1702M接收的温度数据的最大温度Tunit max。Tunit max与多个执行单元17010-1701M中的具有最高温度的执行单元相关联。
Tunit max可以被发送到低通滤波器1710,所述低通滤波器1710确定针对第n时间间隔Δt(例如,总流逝时间=)的温度误差信号Err(n)。 低通滤波器1710可以已经存储可配置偏移Tcc offset1712,所述可配置偏移在计算误差信号Err(n)中使用。在实施例中,低通滤波器1710将Err(n+1)计算为
其中Tjmax是执行单元的最大可操作温度,并且是可编程时间常数1714。Err[0]典型地具有0的值。Tjmax表示最大晶体管结点温度值,其可以在操作之前被确定并被存储在处理器中,例如在熔丝阵列中。
针对第N时间间隔的温度误差信号Err[N]可以被输出到控制逻辑1716,其基于Err[n]的连续值而确定控制信号的值。在实施例中,控制逻辑包括确定控制信号的比例积分微分控制器(PID)控制器。
在实施例中,针对第N时间间隔的控制信号被计算为:
其中是Err[n]的所有值的求和,n=1到N。Kp、Ki和Kd是例如通过实验室测试所确定的常数。
控制信号Control(N)被发送到平衡逻辑1722,所述平衡逻辑1722要确定针对每个域的经调整的域频率,并且每个经调整的域频率可以被发送到生成对应域频率的对应PLL。平衡逻辑基于Control(N)的值并基于可编程策略1724而确定每一个经调整域频率。例如,在实施例中,经调整的域频率fx可以针对每个域而如下确定:
其中Policymin是针对所有域的最小时钟频率乘数(由策略确定),并且PolicydomianX是针对每个域X的预设参数,例如由策略所确定的。平衡逻辑1722将经调整的域频率值发送到域频率调整逻辑1726,所述域频率调整逻辑1726可以将经调整的域频率命令发送到每一个对应锁相环(PLL)。
响应于检测到热点,至少一些域频率的经调整的频率fx典型地从其先前值降低。作为示例,在一个策略中,第一多个核可以将数据馈送到GPU中,并且第一多个核中的每一个可以具有近似相同的指令执行速率,并且是具有第一域频率的第一域的部分。GPU可以具有比第一多个核中的每个核更慢的执行速率,并且GPU在具有第二域频率的第二域内。适当的策略可以指定在比第二域频率的降低更大的程度上的第一域频率的降低,其可以在降低由处理器所生成的热量从而降低包括热点的温度的感测温度的同时具有对总体吞吐量的最小影响。
其他策略可以指定针对三个或更多域中的每一个的不同的频率乘数(PolicydomainX),例如每个域可以在具有其自己的操作频率的其自己的域中。确定平衡策略的准则可以包括吞吐率、每个域的热特性、处理单元之间的协同效应、处理单元(核和/或GPU)之间的互相依赖性等。在一些实施例中,平衡策略可以指定域频率之间的关系。例如,一个平衡策略可以指定互连域的互连频率要至少与包括高速缓存存储器的域的域频率一样大。在另一个实施例中,平衡策略可以指定互连域的互连频率在处于另一个域频率(例如,包括一个或多个核的域)的固定比。其他实施例可以指定频率比的启发式确定。注意到平衡策略不限于以上提供的示例中的任一个,并且可以包括其任何组合或其他平衡策略规范。
因而,使用随时间推移的每个执行单元的监视的温度,可以响应于检测到一个或多个热点(例如具有升高的温度的执行单元)而确定每个域频率的经调整的值。在实施例中,响应于检测到处理器内的本地化升高的温度(例如超过确定值的测量温度)而改变域频率中的两个或更多个。若干域频率的调整可以降低由处理器1700所生成的热量,同时避免对单个热点的剧烈节流。与仅节流热点相比,若干域的频率降低可以增强总体处理性能。
图18是根据本发明的实施例的方法1800的流程图。在块1802处,处理器的功率控制单元(PCU)内的温度逻辑从多个温度传感器接收温度数据。温度传感器可以监视多个执行单元(例如,核、GPU等)中的每一个的温度。在一些实施例中,可以存在每个核一个温度传感器。在其他实施例中,核中的一个或多个可以由若干温度传感器监视。继续到块1804,根据所接收的温度数据而确定最大温度Tunit max。前进到块1806,低通滤波器应用于最大温度Tunit max。低通滤波器可以具有可调整时间常数,并且低通滤波器可以消除对温度尖峰的响应。低通滤波器确定针对当前时间间隔n的温度误差函数值Err(n)。
进行到块1808,PCU的温度逻辑内的控制逻辑基于温度误差函数值而确定控制函数值。继续到块1810,PCU内的平衡逻辑可以接收控制函数值,并且可以基于控制函数值根据可编程的平衡策略来确定域频率改变。基于例如每一个执行单元的吞吐量特性、执行单元之间的互相依赖性、一个或多个执行单元的热特性以及其他因素而确定可编程的平衡策略。前进到块1812,PCU内的域频率调整逻辑可以发送调整命令(例如,到PLL)以根据基于控制函数值和平衡策略确定的域频率改变而调整多个时钟频率。方法1800可以被重复,由于可以继续监视温度,并且可以由PCU温度逻辑例如周期地从温度传感器接收温度信息。
注意到如本文所述的根据用于降低处理器中生成的热量的可编程策略的多个域频率的调整可以独立于和补充于基于操作***(OS)的机制,诸如高级配置和平台接口(ACPI)标准(例如,2006年10月10日公开的版本3.0b)。根据ACPI,处理器可以以各种性能状态或级别,所谓的P状态,即从P0到PN操作。通常,P1性能状态可以对应于可被OS请求的最高保证性能状态。除了该P1状态之外,OS还可以请求较高性能状态,即P0状态。该P0状态可以从而是机会或涡轮模式状态,其中当功率和/或热预算可用时,处理器硬件可以将处理器或至少其部分配置成以比保证频率更高的频率操作。在许多实现方式中,处理器可以包括高于P1保证最大频率的多个所谓的箱频率,所述箱频率超过如在制造期间被熔断或以其他方式写入到处理器中的特定处理器的最大峰值频率。此外,根据ACPI,处理器可以以各种功率状态或级别操作。关于功率状态,ACPI指定不同功率消耗状态,通常称为C状态,C0、C1到Cn状态。当核是活动的时,其以C0状态运行,并且当核是空闲的时,它可以被置于核低功率状态,也称为核非零C状态(例如,C1-C6状态),其中每个C状态处于较低功率消耗级别(以使得C6是比C1更深的低功率状态,等等)。
实施例可以被合并到其他类型的***中,所述其他类型的***包括移动设备,诸如蜂窝电话。现在参考图19,示出了根据本发明的另一个实施例的***的框图。如图19中所示,***1900可以是移动设备,并且可以包括各种组件。如图19的高级视图中所示,可以是设备的中央处理单元的应用处理器1910与包括储存器1915的各种组件通信。在各种实施例中,储存器1915可以包括程序和数据储存部分二者。
应用处理器1910还可以耦合到输入/输出***1920,所述输入/输出***1920在各种实施例中可以包括显示器以及一个或多个输入设备,诸如触摸小键盘,其本身可以在被处理时出现在显示器上。***1900还可以包括集成传感器中心(ISH)1960,其可以从一个或多个传感器1970接收数据。应用处理器1910可以包括一个或多个核,并且可以可选地包括图形处理单元。应用处理器1910包括功率控制单元(PCU)1912,其包括温度逻辑1914,其根据本发明的实施例的响应于应用处理器1910内的热点的指示而根据可编程平衡策略来调整处理器1910的多个域频率。
应用处理器1910还可以耦合到基带处理器1930,所述基带处理器1930可以调节诸如语音和数据通信之类的信号以供输出,以及调节传入电话和其他信号。如所见的,基带处理器1930耦合到收发器1940,所述收发器1940可以使得能够实现接收和传送能力二者。继而,收发器1940可以与天线1950(例如任何类型的天线)通信,所述天线能够经由一个或多个通信协议(诸如经由无线广域网(例如3G或4G网络)和/或无线局域网(诸如BLUETOOTH™或根据电气和电子工程师协会802.11标准的所谓的WI-FI™网络))传送和接收语音和数据信号。如所见的,***1900还可以包括可再充电电源供应1925,其具有使得能够实现在移动环境中的操作的可再充电电池。虽然在图19的实施例中以该特定实现方式示出,但本发明的范围在这方面不被限制。
以下示例关于另外的实施例。
在第一示例中,一种处理器包括多个核;多个温度传感器,其中每个核接近至少一个温度传感器;以及功率控制单元(PCU)。所述PCU包括从每一个温度传感器接收包括对应温度值的温度数据的温度逻辑。响应于温度数据的最高温度值超过阈值的指示,所述PCU要根据基于多个核中的至少两个核的指令执行特性的比较确定的策略来调整多个域频率,其中每个域频率与对应域相关联,所述对应域包括多个核中至少一个,并且每个域频率是可独立地调整的。
第二示例包括第一示例的特征。此外,所述温度逻辑包括标识从温度传感器接收的温度值中的最高温度值的温度评定逻辑。
第三示例包括第二示例的特征。所述温度逻辑还包括基于最高温度值与温度偏移值的比较而确定温度误差信号的低通滤波器。
第四示例包括第三示例的特征,并且此外所述温度逻辑包括至少部分地基于温度误差信号而确定控制值的控制逻辑。域频率的调整是至少部分地基于控制值的。
第五示例包括第四示例的特征。此外,所述控制逻辑包括比例积分微分(PID)逻辑,其根据基于温度误差信号的PID计算来计算控制值。
第六示例包括第四示例的特征。所述温度逻辑还包括平衡逻辑,其通过将控制值乘以确定的策略的对应权重因子来确定多个经调整的域频率中的每一个。
第七示例包括第一到第六示例中的任一个的特征。此外,确定的策略包括多个权重因子,每一个域具有对应权重因子。每个域的权重因子是至少部分地基于域中的至少一个核的对应指令吞吐率的。
在第八示例中,一种处理器包括多个执行单元和多个温度传感器,每个温度传感器提供处理器内的对应位置的对应温度值。所述处理器还包括功率控制单元(PCU),所述PCU包括从每一个温度传感器接收对应温度值的温度逻辑。响应于从温度传感器之一接收的特定温度值超过阈值的指示,所述PCU要根据至少部分地基于多个执行单元中的至少两个执行单元的指令执行特性确定的策略来调整至少两个域频率,其中每个域频率与执行单元中的至少一个执行单元相关联。
在包括第八示例的元素的第九示例中,调整至少两个域频率包括响应于所述指示而降低至少两个域频率中的至少一个。
在包括第八示例的元素的第十示例中,确定的策略是可编程的。
在包括第八示例的元素的第11示例中,所述温度逻辑包括根据温度误差函数来调整至少两个域频率的域频率调整逻辑,所述温度误差函数至少部分地基于特定温度值与所述阈值之间的差。
在包括第11示例的元素的第12示例中,所述特定温度值是从多个温度传感器接收的温度值中的最大的。
在包括第11示例的元素的第13示例中,所述温度逻辑包括确定温度误差函数的值的低通滤波器。所述阈值与多个执行单元的最大操作温度相关联。
在包括第11示例的元素的第14示例中,所述温度误差函数值还基于可选时间常数。
在包括第8到第14示例中的任一个的元素的第15示例中,确定的策略包括多个权重因子,每一个域频率与相应的权重因子相关联。至少两个域频率中的每一个要响应于特定温度值超过所述阈值的指示而至少部分地根据相应权重因子来调整。
第16示例是存储可执行指令的计算机可读介质,所述可执行指令当被机器执行时使所述机器:监视多个温度,其中每一个温度与处理器内的对应指令执行单元相关联,所述处理器包括多个域,每个域具有对应域频率,并且每个域包括至少一个指令执行单元;以及基于多个监视的温度以及根据平衡策略来调整多个域频率,所述平衡策略至少部分地基于指令执行单元的指令吞吐量特性。
在包括第16示例的元素的第17示例中,所述平衡策略是可编程的。
包括第16示例的元素的第18示例还包括指令以:确定多个温度中的最高温度;将低通滤波器应用于最高温度以基于最高温度和基于可编程时间常数而确定温度误差值,以及基于温度误差值来确定控制值;以及基于控制值来确定经调整的频率。
在包括第18示例的元素的第19示例中,所述温度误差值进一步是基于温度偏移而确定的。
在包括第16到第19示例中的任一个的元素的第20示例中,所述平衡策略包括多个权重因子,每一个权重因子与对应域相关联。此外,计算机可读介质包括指令以:通过将控制值乘以对应域的对应权重因子而确定每个域的经调整的频率。
在第21示例中,一种方法包括:监视多个温度,其中每个温度与处理器内的对应指令执行单元相关联,所述处理器包括多个域,每个域具有对应域频率,并且每个域包括至少一个指令执行单元。所述方法还包括基于多个监视的温度以及根据平衡策略来调整多个域频率,所述平衡策略至少部分地基于指令执行单元的指令吞吐量特性。
在包括第21示例的元素的第22示例中,所述平衡策略是可编程的。
在包括第22示例的元素的第23示例中,所述方法包括:确定多个温度中的最高温度;将低通滤波器应用于最高温度以基于最高温度和基于可编程时间常数而确定温度误差值,以及基于温度误差值来确定控制值;以及基于控制值来确定经调整的频率。
在包括第23示例的元素的第24示例中,所述温度误差值进一步是基于温度偏移而确定的。
在包括第21示例的元素的第25示例中,所述平衡策略包括多个权重因子,每个权重因子与对应域相关联,并且所述方法包括通过将控制值乘以对应域的对应权重因子而确定每个域的经调整的频率。
第26示例包括执行第21到第25示例中的任一个的方法的装置。
第27示例包括装置,所述设备包括用于执行第21到第25示例中的任一个的方法的部件。
尽管参考特定集成电路中(诸如计算平台或处理器中)的能量节省和能量效率来描述前述实施例,但其他实施例可应用于其他类型的集成电路和逻辑设备。本文描述的实施例的类似技术和教导可以应用于其他类型的电路或半导体设备,其还可受益于更好的能量效率和能量节省。例如,所公开的实施例不限于任何特定类型的计算机***,并且还可以在诸如手持设备、芯片上***(SoC)和嵌入式应用之类的其他设备中使用。手持设备的一些示例包括蜂窝电话、互联网协议设备、数字摄像机、个人数字助理(PDA)和手持PC。嵌入式应用典型地包括微控制器、数字信号处理器(DSP)、网络计算机(NetPC)、机顶盒、网络集线器、广域网(WAN)交换机或可以执行以下教导的功能和操作的任何其他***。此外,本文描述的装置、方法和***不限于物理计算设备,但还可以涉及用于能量节省和效率的软件优化。本文描述的方法、装置和***的实施例(无论是否参考硬件、固件、软件或其组合)是对“绿色技术”未来至关重要的,诸如对涵盖大部分美国经济的产品中的功率节省和能量效率而言。
实施例可以用于许多不同类型的***中。例如,在一个实施例中,通信设备可以被布置成执行本文所述的各种方法和技术。当然,本发明的范围不限于通信设备,并且代替地其他实施例可以针对用于处理指令的其他类型的装置或包括指令的一个或多个机器可读介质,所述指令响应于在计算设备上运行而使设备执行本文所述的方法和技术中的一个或多个。
实施例可以以代码来实现,并且可以被存储在非临时性存储介质上,所述非临时性存储介质具有存储在其上的指令,所述指令可以用于将***编程为执行所述指令。所述存储介质可以包括但不限于任何类型的盘(包括软盘、光盘、固态驱动器(SSD)、压缩盘只读存储器(CD-ROM)、压缩盘可重写器(CD-RW)和磁光盘)、半导体设备(诸如只读存储器(ROM)、诸如动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)之类的随机存取存储器(RAM)、可擦除可编程只读存储器(EPROM)、闪速存储器、电可擦除可编程只读存储器(EEPROM)、磁卡或光卡)或者适合于存储电子指令的任何其他类型的介质。
虽然已经关于有限数目的实施例描述了本发明,但本领域技术人员将领会到各种修改及根据其的变型。意图在于随附权利要求涵盖如落入该本发明的真实精神和范围内的所有这样的修改和变型。

Claims (25)

1.一种处理器,包括:
多个核;
多个温度传感器,其中每个核接近至少一个温度传感器;以及
功率控制单元(PCU),所述PCU包括从每一个温度传感器接收包括对应温度值的温度数据的温度逻辑,以及响应于温度数据的最高温度值超过阈值的指示而根据基于多个核中的至少两个核的指令执行特性的比较确定的策略来调整多个域频率,其中每个域频率与对应域相关联,所述对应域包括多个核中至少一个,并且每个域频率是可独立地调整的。
2.根据权利要求1所述的处理器,其中所述温度逻辑包括标识从温度传感器接收的温度值中的最高温度值的温度评定逻辑。
3.根据权利要求2所述的处理器,其中所述温度逻辑还包括基于最高温度值与温度偏移值的比较而确定温度误差信号的低通滤波器。
4.根据权利要求3所述的处理器,其中所述温度逻辑包括至少部分地基于温度误差信号而确定控制值的控制逻辑,其中域频率的调整是至少部分地基于控制值的。
5.根据权利要求4所述的处理器,其中所述控制逻辑包括比例积分微分(PID)逻辑,其根据基于温度误差信号的PID计算来计算控制值。
6.根据权利要求4所述的处理器,其中所述温度逻辑还包括平衡逻辑,其通过将控制值乘以确定的策略的对应权重因子来确定多个经调整的域频率中的每一个。
7.根据权利要求1到6中任一项所述的处理器,其中确定的策略包括多个权重因子,每一个域具有对应权重因子,其中每个域的权重因子是至少部分地基于域中的至少一个核的对应指令吞吐率的。
8.一种处理器,包括:
多个执行单元;
多个温度传感器,每个温度传感器提供处理器内的对应位置的对应温度值;以及
功率控制单元(PCU),所述PCU包括从每一个温度传感器接收对应温度值的温度逻辑,以及
响应于从温度传感器之一接收的特定温度值超过阈值的指示,而根据至少部分地基于多个执行单元中的至少两个执行单元的指令执行特性确定的策略来调整至少两个域频率,其中每个域频率与执行单元中的至少一个执行单元相关联。
9.根据权利要求8所述的处理器,其中调整至少两个域频率包括响应于所述指示而降低至少两个域频率中的至少一个。
10.根据权利要求8所述的处理器,其中所述温度逻辑包括根据温度误差函数来调整至少两个域频率的域频率调整逻辑,所述温度误差函数至少部分地基于特定温度值与所述阈值之间的差。
11.根据权利要求10所述的处理器,其中所述特定温度值是从多个温度传感器接收的温度值中的最大的。
12.根据权利要求10所述的处理器,其中所述温度逻辑包括确定温度误差函数的值的低通滤波器,其中所述阈值与多个执行单元的最大操作温度相关联。
13.根据权利要求10所述的处理器,其中所述温度误差函数值还基于可选时间常数。
14.根据权利要求8到13中任一项所述的处理器,其中确定的策略包括多个权重因子,每一个域频率与相应的权重因子相关联,其中至少两个域频率中的每一个要响应于特定温度值超过所述阈值的指示而至少部分地根据相应权重因子来调整。
15.一种存储可执行指令的计算机可读介质,所述可执行指令当被机器执行时使所述机器:
监视多个温度,其中每一个温度与处理器内的对应指令执行单元相关联,所述处理器包括多个域,每个域具有对应域频率,并且每个域包括至少一个指令执行单元;以及
基于多个监视的温度以及根据平衡策略来调整多个域频率,所述平衡策略至少部分地基于指令执行单元的指令吞吐量特性。
16.根据权利要求15所述的计算机可读介质,其中所述平衡策略是可编程的。
17.根据权利要求15所述的计算机可读介质,还包括指令以:
确定多个温度中的最高温度;
将低通滤波器应用于最高温度以基于最高温度和基于可编程时间常数而确定温度误差值,以及基于温度误差值来确定控制值;以及
基于控制值来确定经调整的频率。
18.根据权利要求17所述的计算机可读介质,其中所述温度误差值是进一步基于温度偏移而确定的。
19.根据权利要求16到18中任一项所述的计算机可读介质,其中所述平衡策略包括多个权重因子,每一个权重因子与对应域相关联,并且其中计算机可读介质还包括指令以通过将控制值乘以对应域的对应权重因子而确定每个域的经调整的频率。
20.一种方法,包括:
监视多个温度,其中每个温度与处理器内的对应指令执行单元相关联,所述处理器包括多个域,每个域具有对应域频率,并且每个域包括至少一个指令执行单元;以及
基于多个监视的温度以及根据平衡策略来调整多个域频率,所述平衡策略至少部分地基于指令执行单元的指令吞吐量特性。
21.根据权利要求20所述的方法,其中所述平衡策略是可编程的。
22.根据权利要求20所述的方法,还包括:
确定多个温度中的最高温度;
将低通滤波器应用于最高温度以基于最高温度和基于可编程时间常数而确定温度误差值,以及
基于温度误差值来确定控制值;以及
基于控制值来确定经调整的频率。
23.根据权利要求22所述的方法,其中所述温度误差值是进一步基于温度偏移而确定的。
24.根据权利要求20所述的方法,其中所述平衡策略包括多个权重因子,每个权重因子与对应域相关联,并且其中所述方法包括通过将控制值乘以对应域的对应权重因子而确定每个域的经调整的频率。
25.包括用于执行权利要求20到24中任一项所述的方法的部件的装置。
CN201580038586.3A 2014-08-15 2015-06-26 处理器温度的平衡控制 Active CN106537285B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/461,039 US9791904B2 (en) 2014-08-15 2014-08-15 Balanced control of processor temperature
US14/461039 2014-08-15
PCT/US2015/038125 WO2016025095A1 (en) 2014-08-15 2015-06-26 Balanced control of processor temperature

Publications (2)

Publication Number Publication Date
CN106537285A true CN106537285A (zh) 2017-03-22
CN106537285B CN106537285B (zh) 2020-03-20

Family

ID=55302143

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580038586.3A Active CN106537285B (zh) 2014-08-15 2015-06-26 处理器温度的平衡控制

Country Status (6)

Country Link
US (2) US9791904B2 (zh)
EP (1) EP3180671B1 (zh)
KR (1) KR101872231B1 (zh)
CN (1) CN106537285B (zh)
TW (1) TWI610161B (zh)
WO (1) WO2016025095A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108509018A (zh) * 2018-03-27 2018-09-07 联想(北京)有限公司 一种控制方法及电子设备、存储介质
CN109213300A (zh) * 2017-07-07 2019-01-15 慧与发展有限责任合伙企业 处理器功率调整
CN110764605A (zh) * 2019-10-30 2020-02-07 Oppo广东移动通信有限公司 多核处理器控制方法、装置、电子设备及存储介质
CN112764509A (zh) * 2021-02-03 2021-05-07 北京灵汐科技有限公司 计算核、计算核温度调整方法、设备、介质、芯片和***

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9811355B2 (en) * 2014-07-23 2017-11-07 Intel Corporation Method and apparatus for selecting an interconnect frequency in a computing system
US10037068B2 (en) * 2014-09-09 2018-07-31 Infineon Technologies Austria Ag Configurable digital interface for switching voltage regulators
US10698459B2 (en) * 2015-02-17 2020-06-30 Apple Inc. Electronic devices and method of controlling an electronic device
US9958921B2 (en) * 2015-03-09 2018-05-01 Advanced Micro Devices, Inc. Power management to change power limits based on device skin temperature
US10503222B2 (en) * 2015-09-21 2019-12-10 Qualcomm Incorporated Circuits and methods providing temperature mitigation for computing devices using estimated skin temperature
KR102599653B1 (ko) * 2015-11-20 2023-11-08 삼성전자주식회사 냉각 알고리즘을 수행하는 집적 회로와 이를 포함하는 모바일 장치
US9612880B1 (en) * 2015-11-30 2017-04-04 Amazon Technologies, Inc. Media device temperature management
RU170883U1 (ru) * 2017-03-22 2017-05-12 Акционерное общество "МЦСТ" Процессорный модуль (МОНОКУБ)
JP6712060B2 (ja) * 2017-04-18 2020-06-17 富士通クライアントコンピューティング株式会社 電子機器および管理プログラム
WO2019216917A1 (en) * 2018-05-11 2019-11-14 Hewlett-Packard Development Company, L.P. Status of a temperature sensor of a printing device
CN115048214A (zh) * 2018-06-06 2022-09-13 北京嘉楠捷思信息技术有限公司 计算设备的芯片调频方法、装置、算力板、计算设备及存储介质
KR102317838B1 (ko) * 2018-11-16 2021-10-26 주식회사 케이티앤지 에어로졸 생성장치의 히터의 전력을 제어하는 방법 및 그 에어로졸 생성장치
US11113216B2 (en) * 2019-03-20 2021-09-07 Mediatek Inc. Dispatching interrupts in a multi-processor system based on power and performance factors
TWI774320B (zh) * 2021-04-14 2022-08-11 新唐科技股份有限公司 晶片結構及晶片功能控制方法
KR20230000209A (ko) 2021-06-24 2023-01-02 삼성전자주식회사 Dvfs 동작을 수행하는 집적 회로 및 이의 동작 방법
WO2024019280A1 (ko) * 2022-07-19 2024-01-25 삼성전자주식회사 Pid 제어기에 기초하여 전자 장치의 발열을 제어하는 방법 및 장치

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1692326A (zh) * 2002-08-23 2005-11-02 英特尔公司 用于多核心微处理器热管理的装置
CN101351759A (zh) * 2006-01-03 2009-01-21 先进微装置公司 用于在独立的频率及/或电压操作集成电路的组件的***及方法
US20130080804A1 (en) * 2011-09-28 2013-03-28 Avinash N. Ananthakrishan Controlling Temperature Of Multiple Domains Of A Multi-Domain Processor
US20130117590A1 (en) * 2011-11-03 2013-05-09 International Business Machines Corporation Minimizing Aggregate Cooling and Leakage Power with Fast Convergence
CN103189814A (zh) * 2010-10-29 2013-07-03 超威半导体公司 用于处理节点的热控制的方法和装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW567408B (en) 2002-03-29 2003-12-21 Uniwill Comp Corp Apparatus and method for controlling power and clock speed of electronic system
JP2007148952A (ja) 2005-11-30 2007-06-14 Renesas Technology Corp 半導体集積回路
US7734942B2 (en) 2006-12-28 2010-06-08 Intel Corporation Enabling idle states for a component associated with an interconnect
US8943334B2 (en) * 2010-09-23 2015-01-27 Intel Corporation Providing per core voltage and frequency control
US8769316B2 (en) 2011-09-06 2014-07-01 Intel Corporation Dynamically allocating a power budget over multiple domains of a processor
US20130228632A1 (en) 2012-03-02 2013-09-05 Apple Inc. Controlling a cooling system for a computer system
CN103376859B (zh) * 2012-04-26 2016-12-14 华为技术有限公司 芯片性能的控制方法及装置
US9063727B2 (en) 2012-08-31 2015-06-23 Intel Corporation Performing cross-domain thermal control in a processor
US10082847B2 (en) * 2014-04-01 2018-09-25 Qualcomm Incorporated Method and system for optimizing performance of a PCD while mitigating thermal generation

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1692326A (zh) * 2002-08-23 2005-11-02 英特尔公司 用于多核心微处理器热管理的装置
CN101351759A (zh) * 2006-01-03 2009-01-21 先进微装置公司 用于在独立的频率及/或电压操作集成电路的组件的***及方法
CN103189814A (zh) * 2010-10-29 2013-07-03 超威半导体公司 用于处理节点的热控制的方法和装置
US20130080804A1 (en) * 2011-09-28 2013-03-28 Avinash N. Ananthakrishan Controlling Temperature Of Multiple Domains Of A Multi-Domain Processor
US20130117590A1 (en) * 2011-11-03 2013-05-09 International Business Machines Corporation Minimizing Aggregate Cooling and Leakage Power with Fast Convergence

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109213300A (zh) * 2017-07-07 2019-01-15 慧与发展有限责任合伙企业 处理器功率调整
CN108509018A (zh) * 2018-03-27 2018-09-07 联想(北京)有限公司 一种控制方法及电子设备、存储介质
CN110764605A (zh) * 2019-10-30 2020-02-07 Oppo广东移动通信有限公司 多核处理器控制方法、装置、电子设备及存储介质
CN110764605B (zh) * 2019-10-30 2021-11-02 Oppo广东移动通信有限公司 多核处理器控制方法、装置、电子设备及存储介质
CN112764509A (zh) * 2021-02-03 2021-05-07 北京灵汐科技有限公司 计算核、计算核温度调整方法、设备、介质、芯片和***
WO2022166679A1 (zh) * 2021-02-03 2022-08-11 北京灵汐科技有限公司 计算核、计算核温度调整方法、设备、介质、芯片和***
CN112764509B (zh) * 2021-02-03 2024-03-01 北京灵汐科技有限公司 计算核、计算核温度调整方法、设备、介质、芯片和***

Also Published As

Publication number Publication date
CN106537285B (zh) 2020-03-20
US9791904B2 (en) 2017-10-17
TWI610161B (zh) 2018-01-01
TW201626146A (zh) 2016-07-16
KR20170019454A (ko) 2017-02-21
WO2016025095A1 (en) 2016-02-18
US20180059748A1 (en) 2018-03-01
KR101872231B1 (ko) 2018-06-29
EP3180671B1 (en) 2021-04-07
US20160048181A1 (en) 2016-02-18
EP3180671A1 (en) 2017-06-21
EP3180671A4 (en) 2018-04-04

Similar Documents

Publication Publication Date Title
CN106537285A (zh) 处理器温度的平衡控制
CN106489108B (zh) 控制***存储器的温度
US20180335831A1 (en) Apparatus and method for thermal management in a multi-chip package
CN107077175B (zh) 提供针对多芯片封装的热参数报告的装置和方法
US11409560B2 (en) System, apparatus and method for power license control of a processor
US11481013B2 (en) Multi-level loops for computer processor control
US11442529B2 (en) System, apparatus and method for dynamically controlling current consumption of processing circuits of a processor
US10289188B2 (en) Processor having concurrent core and fabric exit from a low power state
US10719326B2 (en) Communicating via a mailbox interface of a processor
US20180314289A1 (en) Modifying an operating frequency in a processor
US20220206549A1 (en) System, Apparatus And Method For Dynamic Power State Scaling Of A Voltage Regulator For 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
CN109791427B (zh) 使用滑动平均值的处理器电压控制
CN107077180B (zh) 基于功率状态而调整电压调节器
CN109564460A (zh) 在处理器中提供用于降级控制信息的接口
US11016916B2 (en) Generation of processor interrupts using averaged data
WO2020123034A1 (en) System, apparatus and method for dynamic thermal distribution of a system on chip
US11921564B2 (en) Saving and restoring configuration and status information with reduced latency

Legal Events

Date Code Title Description
C06 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