CN109478086B - 至少部分地基于平台电容来控制处理器的电流消耗 - Google Patents
至少部分地基于平台电容来控制处理器的电流消耗 Download PDFInfo
- Publication number
- CN109478086B CN109478086B CN201780046655.4A CN201780046655A CN109478086B CN 109478086 B CN109478086 B CN 109478086B CN 201780046655 A CN201780046655 A CN 201780046655A CN 109478086 B CN109478086 B CN 109478086B
- Authority
- CN
- China
- Prior art keywords
- processor
- duration
- current
- power
- peak
- 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
- 230000015654 memory Effects 0.000 claims abstract description 72
- 238000000034 method Methods 0.000 claims description 58
- 238000003860 storage Methods 0.000 claims description 54
- 238000004519 manufacturing process Methods 0.000 claims description 27
- 238000012512 characterization method Methods 0.000 claims description 15
- 230000004044 response Effects 0.000 claims description 13
- 230000008859 change Effects 0.000 claims description 8
- 238000007726 management method Methods 0.000 description 42
- 238000013461 design Methods 0.000 description 36
- 238000010586 diagram Methods 0.000 description 36
- 238000012545 processing Methods 0.000 description 30
- 238000004891 communication Methods 0.000 description 28
- 239000000872 buffer Substances 0.000 description 17
- 238000007667 floating Methods 0.000 description 15
- 230000006870 function Effects 0.000 description 12
- 239000003990 capacitor Substances 0.000 description 10
- 239000003795 chemical substances by application Substances 0.000 description 9
- 230000002093 peripheral effect Effects 0.000 description 7
- 230000001105 regulatory effect Effects 0.000 description 7
- 230000008569 process Effects 0.000 description 6
- 239000004065 semiconductor Substances 0.000 description 6
- 238000012360 testing method Methods 0.000 description 6
- 230000001276 controlling effect Effects 0.000 description 5
- 230000007613 environmental effect Effects 0.000 description 5
- 230000001052 transient effect Effects 0.000 description 5
- 238000013519 translation Methods 0.000 description 5
- 230000014616 translation Effects 0.000 description 5
- 238000010348 incorporation Methods 0.000 description 4
- 230000007704 transition Effects 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 239000007795 chemical reaction product Substances 0.000 description 2
- 230000001427 coherent effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000004134 energy conservation Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000004744 fabric Substances 0.000 description 2
- 230000002045 lasting effect Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- UHDGCWIWMRVCDJ-UHFFFAOYSA-N 1-beta-D-Xylofuranosyl-NH-Cytosine Natural products O=C1N=C(N)C=CN1C1C(O)C(O)C(CO)O1 UHDGCWIWMRVCDJ-UHFFFAOYSA-N 0.000 description 1
- 241001522296 Erithacus rubecula Species 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 210000005100 blood-tumour barrier Anatomy 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000009249 intrinsic sympathomimetic activity Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 229910052754 neon Inorganic materials 0.000 description 1
- GKAOGPIIYCISHV-UHFFFAOYSA-N neon atom Chemical compound [Ne] GKAOGPIIYCISHV-UHFFFAOYSA-N 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 239000000047 product Substances 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000004043 responsiveness Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000002459 sustained effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
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/266—Arrangements to supply power to external peripherals either directly from the computer or under computer control, e.g. supply of power through the communication port, computer controlled power-strips
-
- 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
-
- 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
-
- 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)
- Power Sources (AREA)
- Microcomputers (AREA)
Abstract
在一个实施例中,处理器包括:至少一个核,用于执行指令;功率控制器,用于控制处理器的功耗;以及存储,用于存储多个条目,所述多个条目用于将动态电容与电流尖峰将暴露至功率递送组件所持续的持续时间相关联。描述并要求保护其他实施例。
Description
技术领域
实施例涉及对系统的功率管理,并且更具体地涉及对多核处理器的功率管理。
背景技术
现代处理器将各种不同的计算组件集成到单个半导体管芯中,并且可被并入日益缩小的形状因子的计算设备。在这些小形状因子计算设备中,期望处理器提供与传统的较大形状因子计算设备相同水平的性能和快捷性(snappiness)。由于形状因子限制,功率递送组件的尺寸和能力受到挑战,功率递送组件像电压调节器、电感器和其他无源功率递送组件。为了确保改善的性能,处理器可理想地尽可能快地退出空闲状态而到活动的高性能状态。退出空闲状态时常包括许多不同的任务,这些任务包括增加去往连接至处理器的一个或多个组件的电压。然而,以快速率增加电压对功率递送组件施加了额外负担或要求增加的组件能力,这会不利地影响性能、成本和/或尺寸。
现代处理器将多个计算组件集成到单个管芯中,并且给定的处理器设计目标可以是并入大量不同形状因子的计算设备中。每个单独形状因子的计算设备伴随着不同的功率递送能力和成本考虑。极小形状因子的设备可能不具有用于将大量电容器容纳为功率递送解决方案的部分的电路板面积,因此可能具有有限的瞬态响应能力。大形状因子设备可具有附加的电容器,但是将大量电容器添加到电压调节器的输出端导致对该大电容充电和放电的较大的浪涌电流,这对于下游的功率递送组件是功率负担。此外,更大电容导致成本增加。
原始设备制造商(OEM)可选择不同的权衡,使得在不同系统中功率递送能力广泛变化。然而,处理器向特定的功率递送能力提供管理中的有限的灵活性。由此,在寻求递送水平增加的性能时,未主张的性能丢失或导致附加的成本/复杂度。
附图说明
图1是根据本发明的实施例的系统的部分的框图。
图2是根据本发明的实施例的处理器的框图。
图3是根据本发明的另一实施例的多域处理器的框图。
图4是包括多个核的处理器的实施例。
图5是根据本发明的一个实施例的处理器核的微架构的框图。
图6是根据另一实施例的处理器核的微架构的框图。
图7是根据又一实施例的处理器核的微架构的框图。
图8是根据更进一步的实施例的处理器核的微架构的框图。
图9是根据本发明的另一实施例的处理器的框图。
图10是根据本发明的实施例的代表性SoC的框图。
图11是根据本发明的实施例的另一示例SoC的框图。
图12是可以与实施例一起使用的示例系统的框图。
图13是可与实施例一起使用的另一示例系统的框图。
图14是代表性计算机系统的框图。
图15是根据本发明的实施例的系统的框图。
图16是图示出根据实施例的用于制造集成电路以执行操作的IP核开发系统的框图。
图17是根据本发明的实施例的处理器的动态电容随各时间间隔变化的图形图示。
图18是根据本发明的实施例的方法的流程图。
图19是根据实施例的用于设计计算平台的方法的流程图。
图20是根据本发明的又一实施例的方法的流程图。
具体实施方式
在各实施例中,处理器可配置成维持对于多个不同时间间隔的动态电容表征信息。此类动态电容和对应的时间间隔可存储在处理器的非易失性存储中。当此类处理器将被并入特定的平台设计中时,OEM或其他设计方可指定电压调节器(例如,第一级电压调节器)的峰值电流递送能力(其中,该峰值电流被称为IccMax)以及对应的持续时间,在该持续时间期间,高达该水平的电流尖峰将暴露至该电压调节器。此类信息可例如在初始化期间被提供给处理器。
基于该信息,处理器可使用所提供的持续时间和从非易失性存储访问的表征信息来确定动态电容的合适值。根据此信息,处理器可确定该处理器能够以其在峰值电流递送能力内操作给定平台的峰值频率。以此方式,处理器能启用更高频率下的操作。
相比之下,大多数处理器将有限的信息暴露至OEM,用于将处理器配置为处于特定系统的功率递送能力内。例如,一些处理器提供IccMax的所指定的值。由此,系统设计有第一级电压调节器以支持该特定的峰值电流限值,或者下游功率递送组件被配置成支持特定的最大功率限值(Pmax)。典型的处理器经由软件暴露的寄存器来暴露有限的OEM可配置性,以限制处理器将汲取的最大电流或最大功率。该信息允许OEM将处理器配置为处于由OEM预设的功率递送能力内。
然而,实际上,平台的IccMax(和Pmax)能力是时间的函数。取决于电压调节器的带宽和平台上的电容量,平台能够处置的峰值电流将有所不同。持续小于几纳秒(ns)的瞬时电流尖峰典型地在处理器自身内部由管芯上功率递送网络和内置电容处置。持续显著地长于例如500纳秒(ns)至1微秒(μs)的电流尖峰使该处置离开处理器而到第一级电压调节器。甚至更长持续时间(例如,大于5μs)的电流尖峰使该处置向外去往下游功率递送组件(像电池)。
但是,典型的处理器仅允许独立于电流尖峰的持续时间来管理IccMax或Pmax。由此,处理器管理频率,使得最短时间间隔的电流尖峰不离开处理器。如果OEM选择在第一级电压调节器的输出端使用较大的电容器,则(相比如果存在较小的输出电容)较长持续时间的电流尖峰被电容性网络滤除,并且仅未经过滤的电流尖峰由电压调节器源送。
虽然参考在诸如计算平台或处理器之类的特定集成电路中的节能和能效描述了以下多个实施例,但是其他实施例也适用于其他类型的集成电路和逻辑器件。可将本文中所描述的实施例的类似技术和教导应用于也可受益于更佳的能效和节能的其他类型的电路或半导体器件。例如,所公开的实施例不限于任何特定类型的计算机系统。也就是说,所公开的实施例可以在许多不同的系统类型中使用,这些系统类型范围包括服务器计算机(例如,塔式、机架式、刀片式、微服务器等等)、通信系统、存储系统、任何配置的台式计算机、膝上型计算机、笔记本和平板计算机(包括2:1平板、平板电话等等),并且所公开的实施例还可以在其他设备中使用,这些设备诸如手持式设备、芯片上系统(SoC)和嵌入式应用。手持式设备的一些示例包括:诸如智能电话之类的蜂窝电话、网际协议设备、数码相机、个人数字助理(PDA)和手持式PC。嵌入式应用典型地可包括:微控制器、数字信号处理器(DSP)、网络计算机(NetPC)、机顶盒、网络集线器、广域网(WAN)交换机、可穿戴设备、或能够执行下文所教导的功能和操作的任何其他系统。此外,实施例可以在具有标准语音功能的移动终端中实现,诸如移动电话、智能电话和平板电话,和/或在不具有标准无线语音功能通信能力的非移动终端中实现,诸如许多可穿戴设备、平板、笔记本、台式机、微服务器、服务器等等。此外,本文中描述的装置、方法和系统不限于物理计算设备,而是还可涉及用于节能和能效的软件优化。如将下文描述中显而易见地看出,本文中所描述的方法、装置和系统的实施例(无论引用硬件、固件、软件或其组合)对于未来的“绿色技术”是不可缺少的,诸如,用于涵盖美国经济的大部分的产品中的功率节省和能效。
现在参考图1,所示的是根据本发明的实施例的系统的部分的框图。如图1中所示,系统100可以包括各种组件,这些组件包括所示为多核处理器的处理器110。处理器110可经由外部电压调节器160耦合至电源150,该外部电压调节器160可执行第一电压转换以将经调节的主电压Vreg提供给处理器110。
正如所见,处理器110可以是包括多个核120a-120n的单管芯处理器。另外,每个核可与集成的电压调节器(IVR)125a-125n相关联,这些集成的电压调节器125a-125n接收经调节的主电压并生成操作电压,以提供给与该IVR相关联的处理器的一个或多个代理。相应地,可提供IVR实现方式以允许对每个单独核的电压进而对其功率和性能进行细粒度的控制。由此,每个核都能以独立的电压和频率操作,从而实现极大的灵活性,并提供平衡功耗与性能的广泛机会。在一些实施例中,对多个IVR的使用实现将组件分组到分开的功率层中,使得功率由IVR调节并且由IVR将功率仅提供给组中的那些组件。在功率管理期间,当处理器被置于某个低功率状态时,可使一个IVR的给定的功率层掉电或断电,而另一IVR的另一功率层保持为活动的或完全供电的。类似地,核120可包括诸如一个或多个锁相环(PLL)的独立的时钟发生电路或与其相关联以独立地控制每个核120的操作频率。
仍参考图1,附加的组件可存在于处理器内,包括输入/输出接口(IF)132、另一接口134以及集成存储器控制器(IMC)136。正如所见,这些组件中的每一个都可由另一集成的电压调节器125X来供电。在一个实施例中,接口132可启用用于快速路径互连(QPI)互连的操作,该互连在包括多个层的高速缓存一致性协议中提供点对点(PtP)链路,所述多个层包括物理层、链路层和协议层。接口134可进而经由外围组件互连快速(PCIeTM)协议来通信。
还示出了功率控制单元(PCU)138,该PCU 138可包括用于针对处理器110执行功率管理操作的电路,该电路包括硬件、软件和/或固件。正如所见,PCU 138经由数字接口162将控制信息提供给外部电压调节器160以使该电压调节器生成合适的经调节的电压。PCU 138也经由另一数字接口163将控制信息提供给多个IVR 125以控制所生成的操作电压(或使对应的IVR在低功率模式下被禁用)。在各实施例中,PCU 138可包括用于执行基于硬件的功率管理的各种功率管理逻辑单元。例如,如本文中所述,PCU 138可包括用于基于所存储的值的集合以及为其中实现处理器100的特定平台而接收的配置信息来动态地确定针对该处理器的合适的Cdyn(动态电容)值。此类功率管理可以完全由处理器控制(例如,由各种处理器硬件控制,并且其可以由工作负荷和/或功率、热约束或其他处理器约束触发),并且/或者功率管理可以响应于外部源(诸如,平台或管理功率源或系统软件)而被执行。
在图1中,PCU 138被图示为作为处理器的分开的逻辑而存在。在其他情况下,PCU逻辑138可在核120中给定的一个或多个核上执行。在一些情况下,可将PCU 138实现为被配置成用于执行其自身的专用功率管理代码(有时被称为P代码)的(专用的或通用的)微控制器或其他控制逻辑。在另外的其他实施例中,将由PCU 138执行的功率管理操作可在处理器外部实现,诸如,通过分开的功率管理集成电路(PMIC)或处理器外部的其他组件的方式。在另外的其他实施例中,将由PCU 138执行的功率管理操作可在BIOS或其他系统软件内实现。
实施例尤其可适合于多核处理器,在多核处理器中,多个核中的每一个能以独立的电压和频率点进行操作。如本文中所使用的术语“域”用于意指以同一电压和频率点进行操作的硬件和/或逻辑的集合。另外,多核处理器可以进一步包括其他非核处理引擎,诸如,固定功能单元、图形引擎等等。此类处理器可包括除核以外的独立的域,诸如,与图形引擎相关联的一个或多个域(本文中被称为图形域)以及与非核电路相关联的一个或多个域(本文中被称为非核(uncore)或系统代理)。虽然多域处理器的许多实现方式可以在单个半导体管芯上形成,但其他实现方式可以由多芯片封装来实现,在多芯片封装中,不同的域可以存在于单个封装的不同半导体管芯上。
尽管为了易于说明没有示出,但应理解,附加的组件可存在于处理器110内,这些附加的组件诸如非核逻辑和其他组件,其他组件诸如内部存储器,例如,一个或多个层级的高速缓存存储器层级结构等。此外,尽管在图1的实现方式中示出为具有集成的电压调节器,但是,实施例不限于此。例如,可以将其他经调节的电压从外部电压调节器160或经调节的电压的一个或多个附加的外部源提供给芯片上资源,预定持续时间的电流尖峰可被安全地源送至该外部电压调节器160或经调节的电压的一个或多个附加的外部源。
注意,本文中所描述的功率管理技术可以独立于基于操作系统(OS)的功率管理(OSPM)机制,并与其互补。根据一种示例OSPM技术,处理器能以各种性能状态或水平(所谓的P状态,即从P0到PN)来操作。一般而言,P1性能状态可对应于可由OS请求的最高保证的性能状态。除此P1状态之外,OS可进一步请求更高的性能状态,即,P0状态。该P0状态因此可以是伺机的时钟超频(overclocking)或超频(turbo)模式状态,在该状态下,当功率和/或热预算可用时,处理器硬件可将处理器或该处理器的至少多个部分配置成以高于保证频率的频率进行操作。在许多实现方式中,处理器可包括如在制造期间被融合或以其他方式写入到处理器中的、高于P1保证的最大频率的、超出特定处理器的最大峰值频率的多个所谓的元(bin)频率。此外,根据一种OSPM机制,处理器能以各种功率状态或水平进行操作。对于功率状态,OSPM机制可以指定不同的功耗状态,一般将其称为C状态(C0、C1到Cn状态)。当核是活动的时,它以C0状态运行,而当该核是空闲的时,它可被置于核低功率状态,该核低功率状态也被称为核非零C状态(例如,C1-C6状态),每一个C状态都处于更低的功耗水平(使得C6是比C1更深的低功率状态,等等)。
应理解,在不同实施例中,可单独地或组合地使用许多不同类型的功率管理技术。作为代表性示例,功率控制器可以控制处理器以由某种形式的动态电压频率缩放(DVFS)来对该处理器进行功率管理,在DVFS中,一个或多个核或其他处理器逻辑的操作电压和/或操作频率可被动态地控制以在某些情形下减少功耗。在示例中,可以使用可从加利福尼亚州圣克拉拉市的英特尔公司得到的增强型Intel SpeedStepTM技术来执行DVFS,以在最低功耗水平提供最优性能。在另一示例中,可以使用Intel TurboBoostTM技术来执行DVFS以使得一个或多个核或其他计算引擎能基于条件(例如,工作负荷和可用性)以高于保证操作频率的频率进行操作。
可以在某些示例中使用的另一功率管理技术是在不同计算引擎之间动态地交换工作负荷。例如,处理器可以包括以不同功耗水平操作的非对称核或其他处理引擎,使得在功率受约束的情形下,一个或多个工作负荷可以被动态地切换以在较低功率的核或其他计算引擎上执行。另一示例性功率管理技术是硬件轮停(HDC),该HDC可以使核和/或其他计算引擎根据工作周期被周期性地启用和禁用,使得一个或多个核在工作周期的不活动时段变为不活动的,而在工作周期的活动时段变为活动的。
当操作环境中存在约束时,也可以使用功率管理技术。例如,当遭遇功率和/或热约束时,可以通过降低操作频率和/或电压来减小功率。其他功率管理技术包括扼制指令执行速率或限制对指令的调度。更进一步地,使给定指令集架构的指令包括关于功率管理操作的显式的或隐式的指示是可能的。虽然以这些特定示例描述,但应理解,许多其他功率管理技术可以在特定实施例中使用。
可在用于各种市场的处理器(包括服务器处理器、台式机处理器、移动处理器等)中实现多个实施例。现在参考图2,所示出的是根据本发明的实施例的处理器的框图。如图2中所示,处理器200可以是包括多个核210a–210n的多核处理器。在一个实施例中,每一个此类核可以具有独立的功率域,并且可被配置成基于工作负荷进入和退出活动状态和/或最大性能状态。一个或多个核210相对于其他核可以是异构的,例如,具有不同的微架构、指令集架构、流水线深度、功率和性能能力。可经由互连215将各个核耦合到包括各种组件的系统代理或非核220。正如所见,非核220可包括共享高速缓存230,该共享高速缓存230可以是末级高速缓存。此外,非核可以包括集成存储器控制器240,用于例如经由存储器总线与系统存储器(图2中未示出)通信。非核220还包括各种接口250和功率控制单元255,该功率控制单元255可包括用于执行本文中所述的功率管理技术的逻辑,这些功率管理技术包括动态地确定包括处理器200的特定平台的动态电容。该动态电容可进一步由功率控制单元255使用以确定处理器能以其进行操作的峰值操作频率而同时将操作维持在所配置的最大电流消耗水平(例如,IccMax)或低于该所配置的最大电流消耗水平。为了动态地确定该动态电容,功率控制单元255可访问非易失性存储265,该非易失性存储265可存储条目表,其中的每个条目都将给定的动态电容值与电流尖峰暴露至外部电压调节器所按照的时间间隔相关联。
此外,通过接口250a-250n,可完成到诸如外围设备、大容量存储等之类的各种芯片外组件的连接。尽管在图2的实施例中以此特定实现方式示出,但是本发明的范围不限于此方面。
现在参考图3,所示出的是根据本发明的另一实施例的多域处理器的框图。如图3的实施例中所示,处理器300包括多个域。具体而言,核域310可包括多个核310a–310n,图形域320可包括一个或多个图形引擎,并且还可以存在系统代理域350。在一些实施例中,系统代理域350能以独立于核域的独立频率执行,并且可在所有时刻保持被供电以处置功率控制事件和功率管理,使得可以控制域310和320动态地进入和退出高功率状态和低功率状态。域310和320中的每一个能以不同的电压和/或功率操作。注意,虽然仅以三个域示出,但是应理解,本发明的范围不限于此方面,并且附加的域可存在于其他实施例中。例如,多个核域可存在,每一个核域包括至少一个核。
一般而言,除各种执行单元和附加的处理元件之外,每个核310还可包括多个低层级高速缓存。各种核进而可彼此耦合,并且耦合到共享高速缓存存储器,该共享高速缓存存储器由末级高速缓存(LLC)340a–340n的多个单元形成。在各实施例中,可在多个核与图形引擎以及各种媒体处理电路之间共享LLC 340。正如所见,环形互连330由此将多个核耦合到一起,并且在多个核、图形域320和系统代理电路350之间提供互连。在一个实施例中,互连330可以是核域的部分。然而,在其他实施例中,该环形互连可以是其自身域中的。
如进一步所见,系统代理域350可包括显示控制器352,该显示控制器352可提供对相关联的显示器的控制以及至该相关联的显示器的接口。如进一步所见,系统代理域350可包括功率控制单元355,该功率控制单元355可包括用于执行本文中所述的功率管理技术的逻辑,这些功率管理技术包括如本文中所述的动态电容确定以及使用该值来确定峰值操作频率。
如在图3中进一步所见,处理器300可进一步包括集成存储器控制器(IMC)370,该IMC 370可提供至诸如动态随机存取存储器(DRAM)之类的系统存储器的接口。可以存在多个接口380a–380n以实现处理器与其他电路之间的互连。例如,在一个实施例中,可提供至少一个直接媒体接口(DMI)接口以及一个或多个PCIeTM接口。更进一步地,为了提供诸如附加的处理器或其他电路之类的其他代理之间的通信,还可以提供一个或多个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)中的每一个可被称为处理元件、线程槽或线程单元,如上文所述。如所图示,架构状态寄存器401a被复制在架构状态寄存器401b中,因此能够为逻辑处理器401a和逻辑处理器401b存储各个架构状态/上下文。在核401中,也可复制用于线程401a和401b的其他较小资源,诸如,指令指针以及分配器和重命名器块430中的重命名逻辑。可通过分区操作来共享诸如重排序/引退单元435中的重排序缓冲器、分支目标缓冲器和指令转换后备缓冲器(BTB和I-TLB)420、加载/存储缓冲器和队列之类的一些资源。可潜在地完全共享诸如通用内部寄存器、(多个)页表基寄存器、低层级数据高速缓存和数据TLB 450、(多个)执行单元440和乱序单元435的多个部分之类的其他资源。
处理器400通常包括其他资源,它们可被完全共享,可通过分区操作被共享,或可由处理元件专用/专用于处理元件。在图4中,图示出具有处理器的说明性逻辑单元/资源的纯示例性处理器的实施例。注意,处理器可包括或省略这些功能单元中的任何单元,并包括未描绘出的任何其他已知的功能单元、逻辑或固件。如所图示,核401包括简化的、代表性的乱序(OOO)处理器核。但是,在不同实施例中,可利用有序处理器。OOO核包括用于预测将被执行/进行的分支的分支目标缓冲器420以及用于存储指令的地址转换条目的指令转换缓冲器(I-TLB)420。
核401进一步包括耦合至取出单元以用于解码所取出的元素的解码模块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还包括总线接口模块405和功率控制单元460,该功率控制单元460可执行根据本发明的实施例的功率管理。在该场景中,总线接口405用于与在处理器400外部的设备(诸如,系统存储器和其他组件)通信。
存储器控制器470可以与诸如一个或多个存储器之类的其他设备对接。在示例中,总线接口405包括环形互连,该环形互连具有用于与存储器对接的存储器控制器和用于与图形处理器对接的图形控制器。在SoC环境中,诸如网络接口、协处理器、存储器、图形处理器以及任何其他已知的计算机设备/接口之类的甚至更多的设备可被集成在单个管芯或集成电路上,以提供具有高功能性和低功耗的小形状因子。
现在参考图5,所示出的是根据本发明的一个实施例的处理器核的微架构的框图。如图5中所示,处理器核500可以是多级流水线化的乱序处理器。核500可以基于所接收的操作电压以各种电压进行操作,所接收的操作电压可以从集成电压调节器或外部电压调节器接收。
如图5中所见,核500包括前端单元510,前端单元510可用于取出将被执行的指令,并将这些指令准备好以供稍后在处理器流水线中使用。例如,前端单元510可包括取出单元501、指令高速缓存503以及指令解码器505。在一些实现中,前端单元510可进一步包括追踪高速缓存、微代码存储以及微操作存储。取出单元501可(例如,从存储器或指令高速缓存503)取出宏指令,并将它们馈送至指令解码器505,以将它们解码为基元(primitive),即,供处理器执行的微操作。
乱序(OOO)引擎515耦合在前端单元510与执行单元520之间,该乱序引擎515可用于接收微指令,并将它们准备好以供执行。更具体地,OOO引擎515可包括各种缓冲器,这些缓冲器用于对微指令流重排序并分配执行所需的各种资源,并且提供将逻辑寄存器重命名到各种寄存器堆(例如,寄存器堆530和扩展寄存器堆535)内的存储位置上。寄存器堆530可包括用于整数操作和浮点操作的单独的寄存器堆。出于配置、控制和附加操作的目的,机器专用寄存器(MSR)的集合538也可存在,并且可由核500内(以及核外部)的各种逻辑来访问。
在执行单元520中可存在各种资源,包括例如,各种整数、浮点和单指令多数据(SIMD)逻辑单元以及其他专业化硬件。例如,此类执行单元可包括一个或多个算术逻辑单元(ALU)522和一个或多个向量执行单元524,等等此类执行单元。
来自执行单元的结果可被提供至引退逻辑,即重排序缓冲器(ROB)540。更具体地,ROB 540可包括用于接收与被执行的指令相关联的信息的各种阵列和逻辑。随后,该信息被ROB 540检查以判定指令是否可以有效地引退并且结果数据是否被提交至处理器的架构状态,或判定阻止指令的适当引退的一个或多个异常是否发生。当然,ROB 540可处置与引退相关联的其他操作。
如图5中所示,ROB 540耦合至高速缓存550,在一个实施例中,该高速缓存550可以是低层级高速缓存(例如,L1高速缓存),但是本发明的范围不限于此。而且,执行单元520可直接耦合至高速缓存550。从高速缓存550,可发生与更高层级的高速缓存、系统存储器等等的数据通信。虽然在图5的实施例中以此高层级示出,但应理解,本发明的范围不限于此方面。例如,虽然图5的实现方式涉及诸如具有x86指令集架构(ISA)的乱序机器,但本发明的范围不限于此方面。也就是说,其他实施例可在以下处理器中实现:有序处理器;诸如基于ARM的处理器的精简指令集计算(RISC)处理器;或具有另一类型ISA的处理器,该另一类型的ISA可经由仿真引擎和相关联的逻辑电路来仿真不同ISA的指令和操作。
现在参考图6,所示出的是根据另一实施例的处理器核的微架构的框图。在图6的实施例中,核600可以是具有不同的微架构的低功率核,诸如,具有为降低功耗而设计的相对受限制的流水线深度的基于凌动TM(AtomTM)的处理器。正如所见,核600包括经耦合以将指令提供给指令解码器615的指令高速缓存610。分支预测器605可以耦合到指令高速缓存610。注意,指令高速缓存610可以进一步被耦合到另一层级的高速缓存存储器,诸如,L2高速缓存(为了易于说明,图6中未示出)。指令解码器615进而将经解码的指令提供给发布队列(IQ)620以供存储和递送到给定的执行流水线。微代码ROM 618被耦合到指令解码器615。
浮点流水线630包括浮点(FP)寄存器堆632,其可包括具有给定的位宽度(诸如,128位、256位或512位)的多个架构寄存器。流水线630包括用于调度指令供在流水线的多个执行单元之一上执行的浮点调度器634。在所示的实施例中,此类执行单元包括ALU 635、混洗单元636和浮点加法器638。在这些执行单元中生成的结果进而可被往回提供给缓冲器和/或寄存器堆632的寄存器。当然,应理解,虽然以这几个示例执行单元示出,但是在另一实施例中,可以存在附加的或不同的浮点执行单元。
还可以提供整数流水线640。在所示的实施例中,流水线640包括整数(INT)寄存器堆642,其可包括具有给定的位宽度(诸如,128位或256位)的多个架构寄存器。流水线640包括整数执行(IE)调度器644,该IE调度器644用于调度指令供在流水线的多个执行单元之一上执行。在所示的实施例中,此类执行单元包括ALU 645、移位器单元646和跳转执行单元(JEU)648。在这些执行单元中生成的结果进而可被往回提供给缓冲器和/或寄存器堆642的寄存器。当然,应理解,虽然以这几个示例执行单元示出,但是在另一实施例中,可以存在附加的或不同的整数执行单元。
存储器执行(ME)调度器650可以调度存储器操作供在地址生成单元(AGU)652中执行,该AGU 652还耦合至TLB 654。正如所见,这些结构可以耦合到数据高速缓存660,该数据高速缓存660可以是L0和/或L1数据高速缓存,其进而耦合到附加层级的高速缓存存储器层级结构,包括L2高速缓存存储器。
为了提供对乱序执行的支持,除重排序缓冲器680之外还可以提供分配器/重命名器670,该重排序缓冲器680被配置为对被乱序地执行的指令进行重排序以供有序引退。虽然以图6的图示中的该特定流水线架构示出,但是应理解,许多变型和替代是可能的。
注意,在具有非对称核的处理器中,诸如,根据图5和图6的微架构,出于功率管理的原因,可以在核之间动态地交换工作负荷,因为这些核虽然具有不同的流水线设计和深度,但是可以具有相同或相关的ISA。能以对用户应用(并且也可能对内核)透明的方式来执行此类动态的核交换。
参考图7,所示为根据又一实施例的处理器核的微架构的框图。如图7中所图示,核700可包括多级有序流水线以便以非常低的功耗水平执行。作为一个此类示例,处理器700可以具有根据可从加利福尼亚州桑尼威尔市的ARM控股有限公司得到的ARM Cortex A53设计的微架构。在实现方式中,可以提供被配置为执行32位和64位两种代码的8级流水线。核700包括取出单元710,该取出单元710被配置为取出指令,并将这些指令提供给解码单元715,该解码单元715可以对指令解码,该指令例如是具有给定ISA(诸如,ARMv8ISA)的宏指令。进一步注意,队列730可以耦合至解码单元715以存储经解码的指令。经解码的指令被提供给发布逻辑725,其中可以将经解码的指令发布到多个执行单元中的给定的一个。
进一步参考图7,发布逻辑725可以将指令发布到多个执行单元中的一个。在所示的实施例中,这些执行单元包括整数单元735、乘法单元740、浮点/向量单元750、双发布单元760以及加载/存储单元770。可以将这些不同的执行单元的结果提供给写回(WB)单元780。应理解,虽然为了易于说明示出单个写回单元,但是在一些实现方式中,多个分开的写回单元可以与执行单元中的每一个相关联。此外,应理解,虽然图7中示出的单元中的每一个和逻辑以高层级表示,但是特定实现可以包括更多结构或不同结构。可以在许多不同的最终产品(从移动设备扩展到服务器系统)中实现使用一个或多个具有如图7中的流水线的核来设计的处理器。
参考图8,所示出的是根据又一实施例的处理器核的微架构的框图。如图8中所图示,核800可以包括多级多发布乱序流水线以便以非常高的性能水平执行(其能以高于图7的核700的功耗水平发生)。作为一个此类示例,处理器800可以具有根据ARM Cortex A57设计的微架构。在实现方式中,可以提供被配置为执行32位和64位两者的15(或更大)级流水线。此外,流水线可以提供3路(或更大)宽度和3路(或更大)发布操作。核800包括取出单元810,该取出单元810配置为取出指令,并将指令提供给耦合到高速缓存820的解码器/重命名器/分派器单元815。单元815可对指令(例如具有ARMv8指令集架构的宏指令)解码,对指令内的寄存器引用重命名,并(最终)将指令分派到所选择的执行单元。经解码的指令可被存储在队列825中。注意,虽然为了易于说明在图8中示出单个队列结构,但是应理解,多个分开的队列可以被提供给多个不同类型的执行单元中的每一个。
在图8中还示出发布逻辑830,存储在队列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可以是基于架构酷睿TM(CoreTM)的处理器(诸如,i3、i5、i7)或可从英特尔公司得到的另一个此类处理器。然而,诸如可从加利福尼亚州桑尼威尔的超微半导体有限公司(AMD)得到的、来自ARM控股有限公司或其被许可方的基于ARM的设计的、或来自加利福尼亚州桑尼威尔的MIPS技术公司或其被许可方或采用者的基于MIPS的设计之类的其他低功率处理器可替代地存在于其他实施例中,诸如苹果A7处理器、高通骁龙处理器或德州仪器OMAP处理器。此类SoC可用于诸如智能电话、平板计算机、平板手机计算机、超级本TM计算机或其他便携式计算设备之类的低功率系统中,其可包含具有基于异构系统架构的处理器设计的异构系统架构。
在图9中示出的高层级视图中,处理器900包括多个核单元910a-910n。每一个核单元都可包括一个或多个处理器核、一个或多个高速缓存存储器和其他电路。每一个核单元910都可支持一个或多个指令集(例如,x86指令集(具有与较新版本一起添加的一些扩展);MIPS指令集;ARM指令集(具有诸如NEON的任选的附加扩展))或其他指令集或其组合。注意,核单元中的一些可以是(例如,具有不同设计的)异构资源。此外,每一个此类核可耦合至高速缓存存储器(未示出),在实施例中,该高速缓存存储器可以是共享的第二级(L2)高速缓存存储器。可使用非易失性存储930来存储各种程序和其他数据。例如,可以使用该存储来存储微代码的至少多个部分、诸如BIOS之类的引导信息、其他系统软件等。
每一个核单元910还可包括诸如总线接口单元之类的接口,该总线接口单元用于实现向处理器的附加电路的互连。在实施例中,每一个核单元910都耦合至一致性结构,该一致性结构可充当进而耦合到存储器控制器935的主高速缓存一致性管芯上互连。存储器控制器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。在不同的实施例中,这些核可以基于架构TM核设计或ARM架构设计。在另一些实施例中,可在给定的SoC中实现英特尔核和ARM核的混合。
如图10中所见,SoC 1000包括具有多个第一核1012a–1012d的第一核域1010。在示例中,这些核可以是诸如有序核之类的低功率核。在一个实施例中,可将这些第一核实现为ARM Cortex A53核。这些核进而耦合到核域1010的高速缓存存储器1015。此外,SoC 1000包括第二核域1020。在图10的示图中,第二核域1020具有多个第二核1022a–1022d。在示例中,这些核可以是比第一核1012消耗更高功耗的核。在实施例中,这些第二核可以是可实现为ARM Cortex A57核的乱序核。这些核进而耦合到核域1020的高速缓存存储器1025。注意,虽然图10中所示的示例在每个域中包括4个核,但是会理解,在其他示例中,更多或更少的核可存在于给定的域中。
进一步参考图10,也提供图形域1030,该图形域1030可包括一个或多个图形处理单元(GPU),这些图形处理单元配置成用于独立地执行例如由核域1010和1020的一个或多个核提供的图形工作负荷。作为示例,除了提供图形和显示渲染操作之外,GPU域1030还可用于提供对各种屏幕尺寸的显示支持。
正如所见,各种域耦合至一致性互连1040,在实施例中,该一致性互连1040可以是进而耦合至集成存储器控制器1050的高速缓存一致性互连结构。在一些示例中,一致性互连1040可包括共享高速缓存存储器,诸如,L3高速缓存。在实施例中,存储器控制器1050可以是直接存储器控制器,该直接存储器控制器用于提供与芯片外存储器的通信的多个信道,诸如,DRAM的多个信道(在图10中为了易于说明而未示出)。
在不同的示例中,核域的数量可以有所不同。例如,对于适于并入移动计算设备的低功率SoC,可以存在诸如图10中所示的有限数量的核域。更进一步地,在此类低功率SoC中,包括较高功率核的核域1020可具有较少数量的此类核。例如,在一种实现方式中,可提供两个核1022以允许以降低的功耗水平进行的操作。此外,也可将不同的核域耦合至中断控制器以实现工作负荷在不同域之间的动态交换。
在另一些实施例中,可以存在更大量的核域以及附加任选的IP逻辑,这体现在可按比例将SoC放大到更高的性能(和功率)水平,以便并入诸如台式机、服务器、高性能计算系统、基站等的其他计算设备中。作为一个此类示例,可提供各自具有给定数量的乱序核的4个核域。更进一步地,除了任选的GPU支持(作为示例,其可采取GPGPU的形式)之外,还可提供用于对特定功能(例如,web服务、网络处理、交换等)提供优化的硬件支持的一个或多个加速器。此外,可以存在输入/输出接口以将此类加速器耦合到多个芯片外组件。
现在参考图11,所示出的是另一示例SoC的框图。在图11的实施例中,SoC 1100可包括用于允许多媒体应用、通信和其他功能的高性能的各种电路。由此,SoC 1100适于并入各种各样的便携式和其他设备,诸如,智能电话、平板计算机、智能电视等。在所示示例中,SoC 1100包括中央处理器单元(CPU)域1110。在实施例中,多个单独的处理器核可存在于CPU域1110中。作为一个示例,CPU域1110可以是具有4个多线程核的四核处理器。此类处理器可以是同构或异构处理器,例如,低功率处理器核和高功率处理器核的混合。
进而提供GPU域1120以在一个或多个GPU中执行高级图形处理,从而处置图形并计算API。DSP单元1130可提供一个或多个低功率DSP,这些低功率DSP除了处置可在多媒体指令的执行期间发生的高级计算之外,还处置诸如音乐回放、音频/视频等的低功率多媒体应用。通信单元1140进而可包括用于经由各种无线协议来提供连接性的各种组件,各种无线协议诸如蜂窝通信(包括3G/4G LTE)、诸如蓝牙TM和IEEE 802.11之类的无线局域协议等。
更进一步地,可使用多媒体处理器1150来执行对高清晰度视频和音频内容的捕捉和回放,包括对用户姿势的处理。传感器单元1160可包括多个传感器和/或用于对接到存在于给定平台中的各种芯片外传感器的传感器控制器。可向图像信号处理器1170提供一个或多个分开的ISP,这一个或多个分开的ISP用于参照从平台的一个或多个相机(包括静止相机和视频相机)捕捉到的内容来执行图像处理。
显示处理器1180可为到给定像素密度的高清晰度显示器的连接提供支持,包括无线地传递内容以在此类显示器上回放的能力。更进一步地,定位单元1190可包括具有对多个GPS星座图的支持的GPS接收机,以便向应用提供使用此类GPS接收机所获取的高精度定位信息。会理解,虽然在图11的示例中以该特定的组件集合示出,但是许多变型和替代是可能的。
现在参考图12,所示出的是可与多个实施例一起使用的示例系统的框图。正如所见,系统1200可以是智能电话或其他无线通信器。基带处理器1205配置成执行关于将从该系统发送或由该系统接收的通信信号的各种信号处理。基带处理器1205进而被耦合至应用处理器1210,该应用处理器1210可以是系统的主CPU,用于除了执行诸如许多公知的社交媒体与多媒体应用的用户应用之外还执行OS以及其他系统软件。应用处理器1210可以进一步被配置成为该设备执行各种其他计算操作。
应用处理器1210进而可耦合至用户接口/显示器1220,例如,触摸屏显示器。此外,应用处理器1210可耦合至存储器系统,该存储器系统包括非易失性存储器(即,闪存1230)和系统存储器(即,动态随机存取存储器(DRAM)1235)。如进一步所见,应用处理器1210进一步耦合至捕捉设备1240,该捕捉设备1240诸如可记录视频和/或静止图像的一个或多个图像捕捉设备。
仍然参考图12,包括订户身份模块并且可能包括安全存储和加密处理器的通用集成电路卡(UICC)1240也被耦合至应用处理器1210。系统1200可进一步包括可以耦合至应用处理器1210的安全处理器1250。多个传感器1225可以耦合至应用处理器1210以实现诸如加速度计与其他环境信息之类的各种感测到的信息的输入。音频输出设备1295可提供接口,以便例如以语音通信、播放的或流式音频数据等的形式输出声音。
如进一步所图示,提供近场通信(NFC)非接触式接口1260,其经由NFC天线1265在NFC近场中通信。尽管在图12中示出分开的天线,但是应理解,在一些实现方式中,可以提供一根天线或不同组的天线以实现各种无线功能。
功率管理集成电路(PMIC)1215耦合至应用处理器1210以执行平台级功率管理。为此,PMIC 1215可以根据需要将进入某些低功率状态的功率管理请求发布到应用处理器1210。此外,基于平台约束,PMIC 1215还可控制系统1200的其他组件的功率水平。
为了使通信能够被传送和接收,可以在基带处理器1205与天线1290之间耦合各种电路。具体而言,可以存在射频(RF)收发机1270与无线局域网(WLAN)收发机1275。一般而言,可以根据诸如3G或4G无线通信协议(诸如,根据码分多址(CDMA)、全球移动通信系统(GSM)、长期演进(LTE)或其他协议)的给定的无线通信协议,使用RF收发机1270来接收并传送无线数据和呼叫。此外,可以存在GPS传感器1280。也可以提供其他无线通信,诸如,无线电信号(例如,AM/FM和其他信号)的接收或传送。此外,也可以经由WLAN收发机1275实现本地无线通信。
现在参考图13,所示出的是可与多个实施例一起使用的另一示例系统的框图。在图13的示图中,系统1300可以是诸如平板计算机、2:1平板、平板手机或其他可转换或独立式平板系统之类的移动低功率系统。如所图示,SoC 1310存在,并且可配置成作为设备的应用处理器进行操作。
各种设备可耦合至SoC 1310。在所示示图中,存储器子系统包括耦合至SoC 1310的闪存1340和DRAM 1345。此外,触摸面板1320耦合至SoC 1310以提供显示能力和经由触摸的用户输入,包括在触摸面板1320的显示器上提供虚拟键盘。为了提供有线网络连接性,SoC 1310耦合至以太网接口1330。外围中枢1325耦合至SoC 1310以启用与各种外围设备的对接,诸如,可通过各种端口或其他连接器中的任何一个而被耦合至系统1300。
除了SoC 1310内的内部功率管理电路和功能之外,PMIC 1380还耦合至SoC 1310以提供基于平台的功率管理,例如,基于该系统是由电池1390供电还是经由交流适配器1395由交流电供电。为了易于在图13中说明,附图标记1380进一步指示电压调节器,该电压调节器可以是用于将经调节的电压提供给SoC 1310的外部第一级电压调节器。如本文中所述,实施例实现对操作频率的适当控制,使得可能到达电压调节器1380的电流尖峰受控而持续不长于OEM提供的持续时间。除了该基于功率源的功率管理之外,PMIC 1380可进一步基于环境和使用条件执行平台功率管理活动。更进一步地,PMIC 1380可将控制和状态信息传递给SoC 1310,以引起SoC 1310内的各种功率管理动作。
仍然参考图13,为了提供无线能力,WLAN单元1350被耦合至SoC 1310,并进而耦合至天线1355。在各种实现方式中,WLAN单元1350可以根据一种或多种无线协议提供通信。
如进一步所图示,多个传感器1360可耦合至SoC 1310。这些传感器可包括各种加速度计、环境和其他传感器,包括用户姿势传感器。最后,音频编解码器1365被耦合至SoC1310以向音频输出设备1370提供接口。当然会理解的是,虽然以图13中的该特定实现方式示出,但是许多变型和替代是可能的。
现在参考图14,所示为诸如笔记本、超级本TM或其他小形状因子系统的代表性计算机系统的框图。在一个实施例中,处理器1410包括微处理器、多核处理器、多线程处理器、超低电压处理器、嵌入式处理器,或其他已知的处理元件。在所图示的实现中,处理器1410充当主处理单元以及用于与系统1400的各种组件中的许多组件进行通信的中央枢纽,并且处理器1410可包括如本文中所述的功率管理电路。作为一个示例,处理器1410被实现为SoC。
在一个实施例中,处理器1410与系统存储器1415通信。作为说明性示例,系统存储器1415经由多个存储器设备或模块来实现以提供给定量的系统存储器。
为提供对诸如数据、应用、一个或多个操作系统等之类的信息的持续性存储,大容量存储1420还可耦合到处理器1410。在各种实施例中,为了实现更薄且更轻的系统设计并且为了改善系统响应性,该大容量存储可以经由SSD来实现,或者该大容量存储可以主要使用具有较小量的SSD存储的硬盘驱动器(HDD)来实现,该较小量的SSD存储充当SSD高速缓存,以在掉电事件期间实现对上下文状态和其他此类信息的非易失性存储,从而在重新启动系统活动时,快速上电可以发生。图14中还示出闪存设备1422可以例如经由串行外围接口(SPI)被耦合至处理器1410。该闪存设备可以提供对系统软件的非易失性存储,该系统软件包括基本输入/输出软件(BIOS)以及系统的其他固件。
系统1400内可以存在各种输入/输出(I/O)设备。图14的实施例中具体示出显示器1424,该显示器1424可以是进一步提供触摸屏1425的高清晰度LCD或LED面板。在一个实施例中,显示器1424可以经由显示互连被耦合至处理器1410,该显示互连可被实现为高性能图形互连。触摸屏1425可以经由另一互连被耦合至处理器1410,在实施例中,该另一互连可以是I2C互连。如图14中进一步所示,除触摸屏1425之外,通过触摸进行的用户输入也可以经由触板1430发生,触板1430可以配置在机架内,并且还可以耦合到与触摸屏1425相同的I2C互连。
出于感知性计算和其他目的,各种传感器可以存在于系统内,并且能以不同的方式被耦合到处理器1410。某些惯性传感器和环境传感器可通过传感器中枢1440(例如经由I2C互连)耦合到处理器1410。在图14中示出的实施例中,这些传感器可以包括加速度计1441、环境光传感器(ALS)1442、罗盘1443以及陀螺仪1444。其他环境传感器可包括一个或多个热传感器1446,在一些实施例中,这些热传感器1446经由系统管理总线(SM总线)总线耦合至处理器1410。
图14中还可见,各种外围设备可以经由低引脚计数(LPC)互连耦合至处理器1410。在所示的实施例中,可以通过嵌入式控制器1435来耦合各个组件。此类组件可包括(例如,经由PS2接口耦合的)键盘1436、风扇1437以及热传感器1439。在一些实施例中,触板1430还可以经由PS2接口耦合至EC 1435。此外,诸如可信平台模块(TPM)1438之类的安全处理器也可经由该LPC互连耦合至处理器1410。
系统1400能以各种方式(包括以无线方式)与外部设备通信。在图14中示出的实施例中,存在各种无线模块,其中的每一个无线模块都可以对应于针对特定的无线通信协议而配置的无线电装置。用于在短距离(诸如,近场)内进行无线通信的一种方式可以经由NFC单元1445,在一个实施例中,该NFC单元1445可以经由SM总线与处理器1410进行通信。注意,经由该NFC单元1445,彼此紧邻的设备可以进行通信。
如图14中进一步所见,附加的无线单元可包括其他短距离无线引擎,包括WLAN单元1450和蓝牙TM单元1452。通过使用WLAN单元1450,可以实现Wi-FiTM通信,而通过蓝牙TM单元1452,可以发生短距离蓝牙TM通信。这些单元可以经由给定的链路与处理器1410通信。
另外,(例如,根据蜂窝式或其他无线广域协议的)无线广域通信可以经由WWAN单元1456进行,该WWAN单元1456进而可以耦合至订户身份模块(SIM)1457。另外,为了允许接收并使用位置信息,还可以存在GPS模块1455。注意,在图14中示出的实施例中,WWAN单元1456和诸如相机模块1454之类的集成捕捉设备可以经由给定的链路进行通信。
为了提供音频输入和输出,可以经由数字信号处理器(DSP)1460来实现音频处理器,该DSP 1460可以经由高清晰度音频(HDA)链路来耦合至处理器1410。类似地,DSP 1460可以与集成的编码器/解码器(CODEC)和放大器1462进行通信,该集成的编解码器和放大器1462进而可以耦合至可以在机架内实现的输出扬声器1463。类似地,放大器和CODEC 1462可被耦合以从话筒1465接收音频输入,在实施例中,该话筒1465可以经由双阵列话筒(诸如,数字话筒阵列)来实现,以提供高质量音频输入从而实现对系统内的各种操作的语音激活的控制。另外注意,可以将音频输出从放大器/CODEC 1462提供到头戴式耳机插孔1464。
如图14中进一步所图示,对于电池操作的便携式计算设备,电池1402耦合至外部电压调节器1404,该外部电压调节器1404进而可经由电容器网络1406耦合至处理器1410。取决于处理器1410引发的电流尖峰的长度和持续时间,此类电流尖峰要么可在处理器内部由电容器网络1406处置,要么可汇聚到(sink to)电压调节器1404(和/或电池1402)。使用本发明的实施例,利用对于特定系统1400的动态确定的动态电容,处理器操作能以所确定的峰值操作频率或以低于所确定的峰值操作频率的频率发生,以确保不违反最大电流约束,而同时确保延伸超出处理器1410的任何电流尖峰持续不长于所配置长度的时间。虽然在图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,该存储器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和总线桥接器1518可被耦合至第一总线1516,该总线桥接器1518将第一总线1516耦合至第二总线1520。在一个实施例中,各种设备可被耦合至第二总线1520,这些设备包括例如,键盘/鼠标1522、通信设备1526以及数据存储单元1528,该数据存储单元1528诸如可包括代码1530的盘驱动器或者他大容量存储设备。此外,音频I/O 1524可被耦合至第二总线1520。可将多个实施例并入其他类型的系统中,其他类型的系统包括诸如智能蜂窝电话、平板计算机、上网本、超级本TM等之类的移动设备。
至少一个实施例的一个或多个方面可由存储在机器可读介质上的代表性代码实现,该代表性代码表示和/或定义诸如处理器的集成电路内的逻辑。例如,机器可读介质可包括表示处理器内的各种逻辑的指令。当由机器读取时,指令可使机器制造逻辑以执行本文中所述的技术。被称为“IP核”的此类表示是集成电路的逻辑的可重用单元,这些可重用单元可被存储在有形的机器可读介质上作为描述集成电路的结构的硬件模型。可将硬件模型提供给各个客户或生产设施,这些客户或生产设施将硬件模型加载在制造集成电路的制造机器上。集成电路可以被制造使得该电路执行与本文中所述的实施例中的任一个相关联地描述的操作。
图16是图示出根据实施例的可用于制造集成电路以执行操作的IP核开发系统1600的框图。IP核开发系统1600可用于生成可并入较大的设计中或用于构建整个集成电路(例如,SoC集成电路)的模块化的、可重复使用的设计。设计设施1630可以用高级编程语言(例如,C/C++)生成IP核设计的软件仿真1610。软件仿真1610可用于设计、测试或验证IP核的行为。随后可以从仿真模型1600创建或合成寄存器传送级(RTL)设计。RTL设计1615是对硬件寄存器之间的数字信号的流建模的集成电路的行为的抽象,包括使用建模的数字信号来执行的相关联的逻辑。除了RTL设计1615之外,还可创建、设计或合成在逻辑级或晶体管级的较低层级的设计。因此,初始设计和仿真的特定细节可以有所不同。
可通过设计设施进一步将RTL设计1615或等价物合成到硬件模型1620中,该硬件模型1620可以按照硬件描述语言(HDL)或物理设计数据的某种其他表示。可进一步仿真或测试HDL以验证IP核设计。可使用非易失性存储器1640(例如,硬盘、闪存、或任何非易失性存储介质)存储IP核设计以递送到第三方制造设施1665。替代地,可以通过有线连接1650或无线连接1660(例如,经由因特网)传送IP核设计。制造设施1665随后可以制造至少部分地基于该IP核设计的集成电路。所制造的集成电路可配置为执行根据本文中所述的至少一个实施例的操作。
注意,由处理器汲取的峰值电流是漏电流和动态电流之和。漏电流是电压和温度的函数,使得对于给定的操作频率、电压和温度,漏电流保持恒定。动态电流可根据下式确定:
Iccdyn=Cdyn*V2*f[等式1]
其中,V是处理器的操作电压,f是处理器的操作频率,并且Cdyn(C动态)是处理器的动态电容。
在实施例中,Cdyn可以是处理器中可从0转变到1或从1转变到0的门的数量的度量。可转变其状态的门的数量是时间的函数。处理器的架构确定在给定时间点多少百分比的门可转变状态。此外,对于不同时间间隔可连续地转变状态的门的平均百分比有所不同。
现在参考图17,所示为根据实施例的处理器的动态电容随各时间间隔的图形图示。如图17中所图示,存在多个评估点A-E,其中每个点具有动态电容和相关联的持续时间。此类信息可在制造表征期间,诸如响应于制造测试期间执行测试工作负荷而被获取。如图17中所图示,示图1700根据这些不同的表征点形成曲线1710。此类曲线1710可用于使处理器能够基于电流尖峰将暴露至电压调节器所持续的所配置的持续时间来执行内插或其他曲线拟合过程,从而标识针对特定处理器的合适的动态电容。应理解,虽然图17中的示图包括五个表征点,但是特定实施例可存储更多或更少的此类表征点作为处理器的非易失性存储内的单独条目。
如图17中可见,处理器中大百分比的门瞬时切换状态是可能的,因此最坏情况的瞬时Cdyn存在于点A。然而,随着时间窗口的增加,并发地切换的门的百分比下降。这是由于处理器中的固有的架构限制。例如,可能存在数据依赖关系,其中,在可恢复高峰指令执行之前,处理器流水线等待来自高速缓存或存储器的加载完成。或者,指令对于导致节点中的大多数门在每个时钟周期都切换的最坏情况的操作数集可能无法操作,等等此类理由。
同样在图17中可见,随着峰值可持续Cdyn随不同的时间间隔变化,峰值可持续电流也随不同的时间间隔变化。对于较长的时间间隔,峰值可持续Cdyn比对于较短的(或瞬时)时间间隔的情况更低。相应地,对于较长时间间隔的峰值电流汲取比对于较短时间间隔的峰值电流汲取更低。给定特定的Cdyn值,处理器通过以下方式管理编程的IccMax限值:估计任何时刻给定频率下的峰值电流,并且降低频率,直到识别出所估计的峰值电流低于平台通告的IccMax能力所处于的点。
使用实施例,可在制造过程期间使用经验测量来表征Cdyn,并且可将Cdyn编程到处理器的非易失性存储器中。参考图17,例如多个(Cdyn,时间)元组可被写入到非易失性存储中。相比之下,常规处理器仅表征瞬时峰值Cdyn,并且使用该单个固定值来确定给定的IccMax约束下的操作频率。
取决于OEM设计中预设的电容,由电容性网络滤除小时间间隔上的电流尖峰,并且第一级电压调节器(VR)暴露于未经过滤的电流。对于给定的VR能力,OEM可在更大电容被包括在平台中以处置较短持续时间的电流尖峰的情况下允许以较高的电流水平运行,并且OEM可允许将VR仅暴露于未经过滤的、持续的、较长持续时间的电流尖峰。然而,这伴随着先前提及的成本和面积的权衡。实施例实现用于利用功率递送网络中的附加电容的技术。换言之,与无论平台上的电容量如何都将处理器固定为对于给定的IccMax约束以固定的较低操作频率操作形成对照,可使用实施例实现增加的操作。以此方式,实施例可通过控制处理器以准确地运行至特定OEM设计的限值来改善处理器性能。通过暴露寄存器接口,OEM/平台设计方可指定峰值电流约束以及在其期间处理器将维持该约束的持续时间。
当处理器被集成到给定的OEM平台设计中时,OEM基于性能、成本和其他考量来决定设计可支持多少电容,并且表征在其期间电容网络将滤除电流尖峰的持续时间。使用实施例,OEM可对电压调节器的峰值电流递送能力以及在其期间电流尖峰将未经过滤地通过电容性网络并到达电压调节器的持续时间进行编程,例如,通过将该信息并入系统固件中来这样做。
给定该输入,处理器可配置成例如通过使用存储的值进行的内插过程来标识处理器对于编程的窗口时间可维持的峰值Cdyn。此后,在使用该内插的Cdyn的动态操作期间,处理器可确定在给定平台IccMax约束的情况下该处理器能以其操作的峰值频率。实施例因此允许处理器以更高频率操作并获得更高性能,从而利用电流瞬变中的一些将由电容性网络过滤这一事实。
现在参考图18,所示为根据本发明的实施例的方法的流程图。方法1800可在制造处理器期间执行。如图18中所示,方法1800可通过提供配置寄存器而开始(框1810)。此类配置寄存器可以是处理器的许多不同的配置寄存器中的一个。可针对IccMax和对应的持续时间的规范来指定该配置寄存器(或部分)。更具体地,该配置寄存器可暴露于OEM和/或其他平台设计方,以允许为处理器指定特定的IccMax和对应的持续时间,该特定的IccMax和对应的持续时间将被并入其功率递送解决方案和平台电容已知的给定的平台设计中。以下表1是用于存储该信息的配置寄存器的示例结构。应理解,虽然以该特定布置示出,但是其他示例是可能的。
表1
接下来,控制传递到框1820,在框1820处,表征Cdyn。更具体地,可对于多个不同的时间间隔来表征该Cdyn。作为示例,(例如,在制造测试期间)可在处理器上执行一个或多个测试工作负荷以对于不同的时间间隔表征Cdyn。由此,可获取具有对应时间间隔的多个Cdyn值。此类信息可存储到处理器的非易失性存储中。虽然本发明的范围不限于此方面,但是在实施例中,非易失性存储可以是熔丝存储、闪存等。例如,可用包括Cydn值和对应时间间隔的元组的每个条目来写入此类存储中的多个条目。由此,提供多个值,而不是为处理器提供单个最坏情况的Cdyn值。此外,与不向该单个最坏情况的Cdyn值提供时间信息不同,每个写入的Cdyn值具有与之相关联的时间间隔。通过存储在这些多个条目中的信息,可确立Cdyn相对于不同时间间隔的曲线。
此刻,处理器在制造期间被完全配置,并且可用于销售给不同的消费者,诸如,不同的OEM和/或其他平台设计方。应理解,利用该经配置的信息,可实现细粒度控制,该经配置的信息根据在特定处理器上执行的实际制造测试逐处理器地被提供。以此方式,诸如通过实现增加的频率,改善的性能可发生。通过使用实施例,处理器可能能够执行直至给定的Iccmax值的任何值。
现在参考图19,所示出的是根据实施例的用于设计计算平台的方法的流程图。如图19中所示,方法1900可例如由OEM或其他平台制造商执行。更具体地,方法1900可开始于框1910:设计给定的平台。如很好理解的那样,平台设计涵盖许多步骤,并且包括标识要包括在平台中的功能集以及用于实现该功能的对应组件。注意,标识组件包括标识一个或多个功率递送组件以及一个或多个功率源,该一个或多个功率递送组件诸如一个或多个外部电压调节器,该一个或多个功率源诸如用于便携式设备的特定电池源。此外,应理解,功率递送组件还可包括功率递送电容器的集合,该功率递送电容器的集合可包括适配在电池和/或其他功率源与一个或多个电压调节器之间的一个或多个电容器、以及适配在此类一个或多个电压调节器与处理器(以及潜在地,系统的其他组件)之间的一个或多个电容器。在标识了组件之后,进行平台设计,并且使用平台设计以实现系统的制造。
在完成该设计的情况下,OEM知晓可用于滤除电流尖峰以免这些电流尖峰到达至少某些功率递送组件的可用的芯片外电容的总量,至少某些功率递送组件包括一个或多个外部电压调节器以及一个或多个外部功率源。利用此信息,方法1900继续进行至框1920,在框1920处,可确立平台的峰值电流能力以及在其期间该峰值电流能力将受控的对应持续时间。在实施例中,该峰值电流能力与IccMax值对应,该IccMax值因此标识被允许在处理器或其他SoC的操作期间发生的最大电流尖峰。此外,持续时间标识该电流尖峰可暴露至诸如一个或多个外部电压调节器之类的一个或多个功率递送组件的时长。可提供所确立的该峰值电流能力和对应的持续时间用于存储在用于暴露于OEM/平台设计方的给定的一个或多个配置寄存器中。在一个实施例中,通过将该信息包含在基本输入/输出系统(BIOS)或其他平台固件内的平台配置信息中,可将该信息预设到配置存储中,从而在系统上电时启用配置寄存器内的该信息的存储。应理解,虽然在图19的实施例中以该高层级示出,但是许多变型和替换方案是可能的。
现在参考图20,示出的是根据本发明的又一实施例的方法的流程图。如图20中所示,方法2000是根据本发明的实施例的用于在操作期间对处理器中的电流消耗进行动态控制的方法。方法2000开始于:在处理器内接收平台的给定峰值电流能力以及对应的持续时间,并且将该信息存储在配置寄存器中(框2010)。注意,该接收和存储可发生在包括处理器的平台的引导期间。作为示例,该存储可在BIOS控制下发生,在BIOS控制下,该信息与其他配置信息一起被写入一个或多个合适的配置存储中。在一些情况下,可提供多对信息,使得例如取决于系统由交流电供电还是由电池供电来使用不同值。例如在其中平台修改导致电容和/或功率递送能力的改变的情况下,提供经更新的值也是可能的。
仍然参考图20,此后,控制传递至框2020。在框2020处,可访问非易失性存储的一个或多个条目。更具体地,可将对应的Cdyn值和持续时间值的表或其他集合存储在非易失性存储的条目中,如上文所讨论,该条目在制造操作期间已被写入处理器。
控制随后传递至框2030,在框2030处,可确定Cdyn值。更具体地,基于多个条目的一个或多个Cdyn/时间间隔值以及给定的OEM提供的持续时间,确立针对处理器的特定的Cdyn值。如果对于所提供的持续时间存在条目,则该特定的Cdyn值可以是表的多个条目中的所选择的一个条目。否则,可使用所存储的信息执行内插或其他曲线拟合过程以生成Cdyn值。注意,该Cdyn值可被存储在可由例如功率控制器访问的位置中,该功率控制器诸如处理器的PCU。
此后,控制传递至框2040,在框2040处,在动态的处理器操作期间,该Cdyn值可用于确保处理器以所配置的IccMax值的水平或低于所配置的IccMax值的水平操作。在一个实施例中,峰值频率的确定可根据等式1,其中,频率是未知值(而IccMax、Cdyn和电压是已知的)。通过在制造时为给定处理器提供该特定的Cdyn值(适应给定处理器的各种工艺考量和/或其他制造公差),处理器能以潜在更高的操作频率(以及潜在更高的操作电压)操作,而不是使用常规的最坏情况的Cdyn值。应理解,虽然在图20的实施例中以该高层级示出,但是许多变型和替换方案是可能的。
因此,凭借对Cdyn/时间间隔关系进行制造时表征并编程到处理器中,可允许OEM或其他平台设计方指定峰值电流限值以及在其期间将控制到电流限值的持续时间。利用此信息,处理器可配置成估计该处理器对于编程的时间间隔可维持的峰值Cdyn,且随后使用该估计的Cdyn来动态地确定峰值操作频率。由此,通过将峰值电流估计为不同时间间隔的函数并利用在特定电容性网络内发生的电流过滤,可实现改善的处理器频率和性能。
可使用根据实施例的接口来配置针对峰值电流或功率控制的持续时间。给定的处理器可配置成因此在功率递送网络的电容发生变化时以不同的操作点进行操作。
以下示例关于进一步的实施例。
在一个示例中,一种处理器包括:至少一个核,用于执行指令;功率控制器,耦合至至少一个核,用于控制处理器的功耗;以及存储,用于存储多个条目,多个条目用于将动态电容与电流尖峰将暴露至功率递送组件所持续的持续时间相关联。
在示例中,处理器进一步包括配置存储,该配置存储用于存储功率递送组件的峰值电流递送能力和对应的持续时间,该配置存储能够由OEM编程。
在示例中,配置存储用于:在处理器的重置之后,存储峰值电流递送能力和对应的持续时间;以及响应于包括处理器的系统的改变,更新峰值电流递送能力和对应的持续时间中的至少一项。
在示例中,功率递送组件包括外部电压调节器,并且对应的持续时间至少部分地基于包括处理器的系统的外部电容。
在示例中,功率控制器用于基于对应的持续时间以及存储的多个条目中的一个或多个条目来确定可持续峰值动态电容。
在示例中,功率控制器用于至少部分地基于存储的多个条目中的至少两个条目之间的内插来确定可持续峰值动态电容。
在示例中,功率控制器用于至少部分地基于可持续峰值动态电容来确定用于处理器的峰值频率。
在示例中,功率控制器用于进一步至少部分地基于功率递送组件的峰值电流递送能力来确定峰值频率。
在示例中,存储包括用于在处理器的制造期间被写入的非易失性存储。
在示例中,多个条目基于处理器的制造表征。
注意,可使用各种手段来实现上述处理器。
在示例中,处理器包括被并入启用用户装备触摸的设备中的SoC。
在另一示例中,系统包括显示器和存储器,并且包括以上示例中的一个或多个示例中的处理器。
在又一示例中,一种方法包括:获取将由处理器引发的电流尖峰的最大电流以及该电流尖峰将暴露至电压调节器所持续的持续时间;访问具有多个条目的存储,这多个条目用于将动态电容与电流尖峰将暴露至(包括电压调节器的)功率递送网络所持续的持续时间;以及至少部分地基于所获取的持续时间和多个条目中的至少两个条目的持续时间来确定用于处理器的可持续峰值动态电容。
在示例中,该方法进一步包括:根据多个条目中的至少两个条目的内插来确定可持续峰值动态电容。
在示例中,该方法进一步包括:从BIOS获取最大电流和持续时间,其中,该最大电流和持续时间由包括处理器的系统的OEM包括在该BIOS中。
在示例中,该方法进一步包括:至少部分地基于可持续峰值动态电容来确定用于处理器的峰值频率。
在示例中,该方法进一步包括:进一步基于最大电流来确定峰值频率。
在示例中,访问存储包括访问用于在处理器的制造期间被写入的非易失性存储。
在另一示例中,包括指令的计算机可读介质用于执行上述示例中的任一示例所述的方法。
在另一示例中,包括数据的计算机可读介质用于由至少一个机器使用以制造至少一个集成电路来执行上述示例中的任一示例所述的方法。
在另一示例中,一种设备包括用于执行上述示例中的任一示例所述的方法的装置。
在又一示例中,一种系统包括:处理器,该处理器具有至少一个核、非易失性存储、配置存储和功率控制器,该非易失性存储用于存储具有表征信息的多个条目,该多个条目用于将动态电容与电流尖峰将暴露至电压调节器所持续的持续时间相关联,该配置存储用于存储电流尖峰的最大电流以及最大电流将暴露至电压调节器所持续的平台持续时间,该功率控制器用于至少部分地基于平台持续时间和多个条目中的一个或多个条目的表征信息来确定用于处理器的特定动态电容。该系统可进一步包括耦合至处理器的一个或多个电压调节器以及耦合至处理器的平台电容。
在示例中,功率控制器用于至少部分地基于特定动态电容和最大电流来动态地确定频率。
在示例中,配置存储用于:在处理器的重置之后,存储最大电流和平台持续时间;以及响应于电压调节器和平台电容中的至少一者的改变而更新最大电流和平台持续时间中的至少一项。
在示例中,功率控制器用于至少部分地基于非易失性存储的多个条目中的至少两个条目的表征信息之间的内插来确定特定动态电容。
在更进一步的示例中,一种设备包括:至少一个核装置,用于执行指令;控制装置,用于控制设备的功耗;以及用于存储多个条目的装置,多个条目用于将动态电容与电流尖峰将暴露至功率递送装置所持续的持续时间相关联。
在示例中,该设备进一步包括配置存储装置,该配置存储装置用于存储功率递送装置的峰值电流递送能力和对应的持续时间,该配置存储装置能够由OEM编程。
在示例中,配置存储装置用于:在设备的重置之后,存储峰值电流递送能力和对应的持续时间;以及响应于包括设备的系统的改变,更新峰值电流递送能力和对应的持续时间中的至少一项。
在示例中,控制装置用于基于对应的持续时间以及用于存储的装置的多个条目中的一个或多个条目来确定可持续峰值动态电容。
应理解,以上示例的各种组合是可能的。
注意,术语“电路”和“电路系统”在本文中可互换地使用。如本文中所示用,这些术语以及术语“逻辑”用于单独地或以任何组合指模拟电路、数字电路、硬连线电路、可编程电路、处理器电路、微控制器电路、硬件逻辑电路、状态机电路和/或任何其他类型的物理硬件组件。实施例可在许多不同类型的系统中使用。例如,在一个实施例中,可以将通信设备布置为用于执行本文中所描述的各种方法和技术。当然,本发明的范围不限于通信设备,并且相反,其他实施例可以涉及用于处理指令的其他类型的装置、或者一种或多种机器可读介质,该机器可读介质包括指令,响应于在计算设备上执行这些指令,这些指令使该设备实行本文中所描述的方法与技术中的一者或多者。
实施例可实现在代码中,并且可存储在非暂态存储介质上,该非暂态存储介质具有存储于其上的指令,该指令可以用于将系统编程为用于执行指令。实施例还可实现在数据中,并且可存储在非暂态存储介质上,该非暂态存储介质如果被至少一个机器使用,则使得该至少一个机器制造至少一个集成电路以执行一个或多个操作。更进一步的实施例可实现在计算机可读存储介质中,该计算机可读存储介质包括信息,该信息当被制造到SoC或其他处理器中时,用于配置该SoC或其他处理器以执行一个或多个操作。该存储介质可包括但不限于:任何类型的盘,包括软盘、光盘、固态驱动器(SSD)、紧致盘只读存储器(CD-ROM)、紧致盘可重写(CD-RW)以及磁光盘;半导体器件,诸如,只读存储器(ROM)、诸如动态随机存取存储器(DRAM)与静态随机存取存储器(SRAM)的随机存取存储器(RAM)、可擦除可编程只读存储器(EPROM)、闪存、电可擦除可编程只读存储器(EEPROM);磁卡或光卡;或适用于存储电子指令的任何其他类型的介质。
虽然已参照有限数量的实施例描述了本发明,但是本领域技术人员将从中领会很多修改和变型。所附权利要求旨在涵盖落入本发明的真实精神与范围的所有此类修改与变型。
Claims (27)
1.一种用于控制电流尖峰的处理器,包括:
至少一个核,用于执行指令;
功率控制器,耦合至所述至少一个核,所述功率控制器用于控制所述处理器的功耗;以及
存储,用于存储多个条目,所述多个条目用于将动态电容与电流尖峰将暴露至功率递送组件所持续的持续时间相关联,
其中,所述功率控制器用于基于对应的持续时间以及所述存储的所述多个条目中的一个或多个条目来确定可持续峰值动态电容。
2.如权利要求1所述的处理器,进一步包括配置存储,所述配置存储用于存储所述功率递送组件的峰值电流递送能力和对应的持续时间,所述配置存储能够由原始设备制造商(OEM)编程。
3.如权利要求2所述的处理器,其中,所述配置存储用于:在所述处理器的重置之后,存储所述峰值电流递送能力和所述对应的持续时间;以及响应于包括所述处理器的系统的改变,更新所述峰值电流递送能力和所述对应的持续时间中的至少一项。
4.如权利要求2所述的处理器,其中,所述功率递送组件包括外部电压调节器,并且所述对应的持续时间至少部分地基于包括所述处理器的系统的外部电容。
5.如权利要求1所述的处理器,其中,所述功率控制器用于至少部分地基于所述存储的所述多个条目中的至少两个条目之间的内插来确定所述可持续峰值动态电容。
6.如权利要求1所述的处理器,其中,所述功率控制器用于至少部分地基于所述可持续峰值动态电容来确定用于所述处理器的峰值频率。
7.如权利要求6所述的处理器,其中,所述功率控制器用于进一步基于所述功率递送组件的峰值电流递送能力来确定所述峰值频率。
8.如权利要求1所述的处理器,其中,所述存储包括用于在所述处理器的制造期间被写入的非易失性存储。
9.如权利要求8所述的处理器,其中,所述多个条目基于所述处理器的制造表征。
10.一种用于控制电流尖峰的处理器,包括:
至少一个核,用于执行指令;
功率控制器,耦合至所述至少一个核,所述功率控制器用于控制所述处理器的功耗;
存储,用于存储多个条目,所述多个条目用于将动态电容与电流尖峰将暴露至功率递送组件所持续的持续时间相关联;以及
配置存储,所述配置存储用于存储所述功率递送组件的峰值电流递送能力和对应的持续时间,其中,所述配置存储用于:在所述处理器的重置之后,存储所述峰值电流递送能力和所述对应的持续时间;以及响应于包括所述处理器的系统的改变,更新所述峰值电流递送能力和所述对应的持续时间中的至少一项。
11.一种用于控制电流尖峰的处理器,包括:
至少一个核,用于执行指令;
功率控制器,耦合至所述至少一个核,所述功率控制器用于控制所述处理器的功耗;
存储,用于存储多个条目,所述多个条目用于将动态电容与电流尖峰将暴露至功率递送组件所持续的持续时间相关联;以及
配置存储,所述配置存储用于存储所述功率递送组件的峰值电流递送能力和对应的持续时间,
其中,所述功率递送组件包括外部电压调节器,并且所述对应的持续时间至少部分地基于包括所述处理器的系统的外部电容,其中,所述功率控制器用于基于所述对应的持续时间以及所述存储的所述多个条目中的一个或多个条目来确定可持续峰值动态电容。
12.一种用于控制电流尖峰的处理器,包括:
至少一个核,用于执行指令;
功率控制器,耦合至所述至少一个核,所述功率控制器用于控制所述处理器的功耗;以及
存储,用于存储多个条目,所述多个条目用于将动态电容与电流尖峰将暴露至功率递送组件所持续的持续时间相关联,其中,所述存储包括用于在所述处理器的制造期间被写入的非易失性存储,其中,所述多个条目基于所述处理器的制造表征,其中,所述功率控制器用于基于对应的持续时间以及所述存储的所述多个条目中的一个或多个条目来确定可持续峰值动态电容。
13.一种用于控制电流尖峰的方法,包括:
获取将由处理器引发的电流尖峰的最大电流以及所述电流尖峰将暴露至电压调节器所持续的持续时间;
访问具有多个条目的存储,所述多个条目用于将动态电容与所述电流尖峰将暴露至功率递送网络所持续的持续时间相关联,所述功率递送网络包括所述电压调节器;以及
至少部分地基于所获取的持续时间和所述多个条目中的至少两个条目的持续时间来确定用于所述处理器的可持续峰值动态电容。
14.如权利要求13所述的方法,进一步包括:根据所述多个条目中的至少两个条目的内插来确定所述可持续峰值动态电容。
15.如权利要求14所述的方法,进一步包括:从基本输入/输出系统获取所述最大电流和所述持续时间,其中,所述最大电流和所述持续时间由包括所述处理器的系统的原始设备制造商包括在所述基本输入/输出系统中。
16.如权利要求13所述的方法,进一步包括:至少部分地基于所述可持续峰值动态电容来确定用于所述处理器的峰值频率。
17.如权利要求16所述的方法,进一步包括:进一步基于所述最大电流来确定所述峰值频率。
18.如权利要求13所述的方法,其中,访问所述存储包括:访问在所述处理器的制造期间被写入的非易失性存储。
19.一种包括计算机可读指令的计算机可读存储介质,所述计算机可读指令当被执行时,用于实现如权利要求13至18中的任一项所述的方法。
20.一种用于控制电流尖峰的系统,包括:
处理器,所述处理器具有至少一个核、非易失性存储、配置存储和功率控制器,所述非易失性存储用于存储具有表征信息的多个条目,所述多个条目用于将动态电容与电流尖峰将暴露至电压调节器所持续的持续时间相关联,所述配置存储用于存储所述电流尖峰的最大电流以及所述最大电流将暴露至所述电压调节器所持续的平台持续时间,所述功率控制器用于至少部分地基于所述平台持续时间和所述多个条目中的一个或多个条目的表征信息来确定用于所述处理器的特定动态电容;
所述电压调节器,耦合至所述处理器;以及
平台电容,耦合至所述处理器。
21.如权利要求20所述的系统,其中,所述功率控制器用于至少部分地基于所述特定动态电容和所述最大电流来动态地确定频率。
22.如权利要求20所述的系统,其中,所述配置存储用于:在所述处理器的重置之后,存储所述最大电流和所述平台持续时间;以及响应于所述电压调节器和所述平台电容中的至少一者的改变而更新所述最大电流和所述平台持续时间中的至少一项。
23.如权利要求20所述的系统,其中,所述功率控制器用于至少部分地基于所述非易失性存储的所述多个条目中的至少两个条目的表征信息之间的内插来确定所述特定动态电容。
24.一种用于控制电流尖峰的设备,包括:
至少一个核装置,用于执行指令;
控制装置,用于控制所述设备的功耗;以及
用于存储多个条目的装置,所述多个条目用于将动态电容与电流尖峰将暴露至功率递送装置所持续的持续时间相关联,
其中,所述控制装置用于基于对应的持续时间以及用于存储的装置的所述多个条目中的一个或多个条目来确定可持续峰值动态电容。
25.如权利要求24所述的设备,进一步包括配置存储装置,所述配置存储装置用于存储所述功率递送装置的峰值电流递送能力和对应的持续时间,所述配置存储装置能够由原始设备制造商(OEM)编程。
26.如权利要求25所述的设备,其中,所述配置存储装置用于:在所述设备的重置之后,存储所述峰值电流递送能力和所述对应的持续时间;以及响应于包括所述设备的系统的改变,更新所述峰值电流递送能力和所述对应的持续时间中的至少一项。
27.一种用于控制电流尖峰的设备,包括:
至少一个核装置,用于执行指令;
控制装置,用于控制所述设备的功耗;
用于存储多个条目的装置,所述多个条目用于将动态电容与电流尖峰将暴露至功率递送装置所持续的持续时间相关联;以及
配置存储装置,所述配置存储装置用于存储所述功率递送装置的峰值电流递送能力和对应的持续时间,其中,所述配置存储装置用于:在所述设备的重置之后,存储所述峰值电流递送能力和所述对应的持续时间;以及响应于包括所述设备的系统的改变,更新所述峰值电流递送能力和所述对应的持续时间中的至少一项。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/252,543 | 2016-08-31 | ||
US15/252,543 US10234920B2 (en) | 2016-08-31 | 2016-08-31 | Controlling current consumption of a processor based at least in part on platform capacitance |
PCT/US2017/045252 WO2018044490A1 (en) | 2016-08-31 | 2017-08-03 | Controlling current consumption of a processor based at least in part on platform capacitance |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109478086A CN109478086A (zh) | 2019-03-15 |
CN109478086B true CN109478086B (zh) | 2024-03-08 |
Family
ID=61242501
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780046655.4A Active CN109478086B (zh) | 2016-08-31 | 2017-08-03 | 至少部分地基于平台电容来控制处理器的电流消耗 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10234920B2 (zh) |
CN (1) | CN109478086B (zh) |
WO (1) | WO2018044490A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11042681B1 (en) * | 2017-03-24 | 2021-06-22 | Ansys, Inc. | Integrated circuit composite test generation |
CN113359935B (zh) * | 2021-06-10 | 2022-09-09 | 海光信息技术股份有限公司 | Soc电源域的电压调节方法、装置及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5163153A (en) * | 1989-06-12 | 1992-11-10 | Grid Systems Corporation | Low-power, standby mode computer |
US7440316B1 (en) * | 2007-04-30 | 2008-10-21 | Super Talent Electronics, Inc | 8/9 and 8/10-bit encoding to reduce peak surge currents when writing phase-change memory |
CN104205000A (zh) * | 2012-03-30 | 2014-12-10 | 英特尔公司 | 基于电路的动态电容控制功率门电路 |
CN104798008A (zh) * | 2012-12-21 | 2015-07-22 | 英特尔公司 | 控制处理器的可配置的峰值性能极限 |
US9189730B1 (en) * | 2012-09-20 | 2015-11-17 | Brain Corporation | Modulated stochasticity spiking neuron network controller apparatus and methods |
Family Cites Families (84)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
US7100061B2 (en) | 2000-01-18 | 2006-08-29 | Transmeta Corporation | Adaptive power control |
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 |
US7035785B2 (en) | 2001-12-28 | 2006-04-25 | Intel Corporation | Mechanism for estimating and controlling di/dt-induced power supply voltage variations |
US6714605B2 (en) * | 2002-04-22 | 2004-03-30 | Cognio, Inc. | System and method for real-time spectrum analysis in a communication device |
US6996728B2 (en) | 2002-04-26 | 2006-02-07 | Hewlett-Packard Development Company, L.P. | Managing power consumption based on utilization statistics |
US7051227B2 (en) | 2002-09-30 | 2006-05-23 | Intel Corporation | Method and apparatus for reducing clock frequency during low workload periods |
US6898689B2 (en) | 2002-11-15 | 2005-05-24 | Silicon Labs Cp, Inc. | Paging scheme for a microcontroller for extending available register space |
US7043649B2 (en) | 2002-11-20 | 2006-05-09 | Portalplayer, Inc. | System clock power management for chips with multiple processing modules |
US6971033B2 (en) | 2003-01-10 | 2005-11-29 | Broadcom Corporation | Method and apparatus for improving bus master performance |
KR20050115227A (ko) | 2003-01-23 | 2005-12-07 | 유니버시티 오브 로체스터 | 다중 클록 도메인 마이크로프로세서 |
JP4061492B2 (ja) | 2003-02-10 | 2008-03-19 | ソニー株式会社 | 情報処理装置および消費電力制御方法 |
US7093147B2 (en) | 2003-04-25 | 2006-08-15 | Hewlett-Packard Development Company, L.P. | Dynamically selecting processor cores for overall power efficiency |
US7272732B2 (en) | 2003-06-30 | 2007-09-18 | Hewlett-Packard Development Company, L.P. | Controlling power consumption of at least one computer system |
TW200502847A (en) | 2003-07-08 | 2005-01-16 | Benq Corp | Control device and method for reducing number of interrupts in a processor |
US7146514B2 (en) | 2003-07-23 | 2006-12-05 | Intel Corporation | Determining target operating frequencies for a multiprocessor system |
US7272730B1 (en) | 2003-07-31 | 2007-09-18 | Hewlett-Packard Development Company, L.P. | Application-driven method and apparatus for limiting power consumption in a processor-controlled hardware platform |
US7194643B2 (en) | 2003-09-29 | 2007-03-20 | Intel Corporation | Apparatus and method for an energy efficient clustered micro-architecture |
US7770034B2 (en) | 2003-12-16 | 2010-08-03 | Intel Corporation | Performance monitoring based dynamic voltage and frequency scaling |
US20070156992A1 (en) | 2005-12-30 | 2007-07-05 | Intel Corporation | Method and system for optimizing latency of dynamic memory sizing |
US7451333B2 (en) | 2004-09-03 | 2008-11-11 | Intel Corporation | Coordinating idle state transitions in multi-core processors |
US9001801B2 (en) | 2004-09-07 | 2015-04-07 | Broadcom Corporation | Method and system for low power mode management for complex Bluetooth devices |
US7941585B2 (en) | 2004-09-10 | 2011-05-10 | Cavium Networks, Inc. | Local scratchpad and data caching system |
US7426648B2 (en) | 2004-09-30 | 2008-09-16 | Intel Corporation | Global and pseudo power state management for multiple processing elements |
US7434073B2 (en) | 2004-11-29 | 2008-10-07 | Intel Corporation | Frequency and voltage scaling architecture |
US7502948B2 (en) | 2004-12-30 | 2009-03-10 | Intel Corporation | Method, system, and apparatus for selecting a maximum operation point based on number of active cores and performance level of each of the active cores |
US8041967B2 (en) | 2005-02-15 | 2011-10-18 | Hewlett-Packard Development Company, L.P. | System and method for controlling power to resources based on historical utilization data |
US7454632B2 (en) | 2005-06-16 | 2008-11-18 | Intel Corporation | Reducing computing system power through idle synchronization |
US7430673B2 (en) | 2005-06-30 | 2008-09-30 | Intel Corporation | Power management system for computing platform |
US8301868B2 (en) | 2005-09-23 | 2012-10-30 | Intel Corporation | System to profile and optimize user software in a managed run-time environment |
US20070079294A1 (en) | 2005-09-30 | 2007-04-05 | Robert Knight | Profiling using a user-level control mechanism |
US20070106827A1 (en) | 2005-11-08 | 2007-05-10 | Boatright Bryan D | Centralized interrupt controller |
US20070245163A1 (en) | 2006-03-03 | 2007-10-18 | Yung-Hsiang Lu | Power management in computer operating systems |
US7437270B2 (en) | 2006-03-30 | 2008-10-14 | Intel Corporation | Performance state management |
US7685441B2 (en) | 2006-05-12 | 2010-03-23 | Intel Corporation | Power control unit with digitally supplied system parameters |
US7752468B2 (en) | 2006-06-06 | 2010-07-06 | Intel Corporation | Predict computing platform memory power utilization |
US7529956B2 (en) | 2006-07-17 | 2009-05-05 | Microsoft Corporation | Granular reduction in power consumption |
US7930564B2 (en) | 2006-07-31 | 2011-04-19 | Intel Corporation | System and method for controlling processor low power states |
US7730340B2 (en) | 2007-02-16 | 2010-06-01 | Intel Corporation | Method and apparatus for dynamic voltage and frequency scaling |
US8510581B2 (en) | 2007-03-26 | 2013-08-13 | Freescale Semiconductor, Inc. | Anticipation of power on of a mobile device |
JP2008257578A (ja) | 2007-04-06 | 2008-10-23 | Toshiba Corp | 情報処理装置、スケジューラおよび情報処理置のスケジュール制御方法 |
US7971074B2 (en) | 2007-06-28 | 2011-06-28 | Intel Corporation | Method, system, and apparatus for a core activity detector to facilitate dynamic power management in a distributed system |
US8024590B2 (en) | 2007-12-10 | 2011-09-20 | Intel Corporation | Predicting future power level states for processor cores |
US20090150696A1 (en) | 2007-12-10 | 2009-06-11 | Justin Song | Transitioning a processor package to a low power state |
US7966506B2 (en) | 2007-12-12 | 2011-06-21 | Intel Corporation | Saving power in a computer system |
US8442697B2 (en) | 2007-12-18 | 2013-05-14 | Packet Digital | Method and apparatus for on-demand power management |
KR101459140B1 (ko) | 2007-12-26 | 2014-11-07 | 엘지전자 주식회사 | 전원관리 제어 장치 및 방법 |
US8156362B2 (en) | 2008-03-11 | 2012-04-10 | Globalfoundries Inc. | Hardware monitoring and decision making for transitioning in and out of low-power state |
US8954977B2 (en) | 2008-12-09 | 2015-02-10 | Intel Corporation | Software-based thread remapping for power savings |
US8700943B2 (en) | 2009-12-22 | 2014-04-15 | Intel Corporation | Controlling time stamp counter (TSC) offsets for mulitple cores and threads |
US8943334B2 (en) | 2010-09-23 | 2015-01-27 | Intel Corporation | Providing per core voltage and frequency control |
US9069555B2 (en) | 2011-03-21 | 2015-06-30 | Intel Corporation | Managing power consumption in a multi-core processor |
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 |
US8943340B2 (en) | 2011-10-31 | 2015-01-27 | Intel Corporation | Controlling a turbo mode frequency of a processor |
US9158693B2 (en) | 2011-10-31 | 2015-10-13 | Intel Corporation | Dynamically controlling cache size to maximize energy efficiency |
CN104115091B (zh) * | 2011-12-30 | 2017-12-26 | 英特尔公司 | 多层级cpu高电流保护 |
WO2013137862A1 (en) | 2012-03-13 | 2013-09-19 | Intel Corporation | Dynamically controlling interconnect frequency in a processor |
WO2013137860A1 (en) | 2012-03-13 | 2013-09-19 | Intel Corporation | Dynamically computing an electrical design point (edp) for a multicore processor |
WO2013137859A1 (en) | 2012-03-13 | 2013-09-19 | Intel Corporation | Providing energy efficient turbo operation of a processor |
US9218045B2 (en) * | 2012-06-30 | 2015-12-22 | Intel Corporation | Operating processor element based on maximum sustainable dynamic capacitance associated with the 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 |
US20140237272A1 (en) | 2013-02-19 | 2014-08-21 | Advanced Micro Devices, Inc. | Power control for data processor |
US9335813B2 (en) | 2013-05-28 | 2016-05-10 | Intel Corporation | Method and system for run-time reallocation of leakage current and dynamic power supply current |
US9405345B2 (en) * | 2013-09-27 | 2016-08-02 | Intel Corporation | Constraining processor operation based on power envelope information |
US20160070327A1 (en) * | 2014-09-08 | 2016-03-10 | Qualcomm Incorporated | System and method for peak current management to a system on a chip |
US9477243B2 (en) * | 2014-12-22 | 2016-10-25 | Intel Corporation | System maximum current protection |
-
2016
- 2016-08-31 US US15/252,543 patent/US10234920B2/en active Active
-
2017
- 2017-08-03 CN CN201780046655.4A patent/CN109478086B/zh active Active
- 2017-08-03 WO PCT/US2017/045252 patent/WO2018044490A1/en active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5163153A (en) * | 1989-06-12 | 1992-11-10 | Grid Systems Corporation | Low-power, standby mode computer |
US7440316B1 (en) * | 2007-04-30 | 2008-10-21 | Super Talent Electronics, Inc | 8/9 and 8/10-bit encoding to reduce peak surge currents when writing phase-change memory |
CN104205000A (zh) * | 2012-03-30 | 2014-12-10 | 英特尔公司 | 基于电路的动态电容控制功率门电路 |
US9189730B1 (en) * | 2012-09-20 | 2015-11-17 | Brain Corporation | Modulated stochasticity spiking neuron network controller apparatus and methods |
CN104798008A (zh) * | 2012-12-21 | 2015-07-22 | 英特尔公司 | 控制处理器的可配置的峰值性能极限 |
Non-Patent Citations (2)
Title |
---|
晶闸管峰值压降瞬态波形测量装置;王益成;王莹;;电气应用(第03期);全文 * |
管网智能终端产品中超低功耗设计与实现;肖迁等;《计算机系统应用》;20110915(第09期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN109478086A (zh) | 2019-03-15 |
US20180059757A1 (en) | 2018-03-01 |
WO2018044490A1 (en) | 2018-03-08 |
US10234920B2 (en) | 2019-03-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11782492B2 (en) | Techniques to enable communication between a processor and voltage regulator | |
US11435816B2 (en) | Processor having accelerated user responsiveness in constrained environment | |
CN107533354B (zh) | 控制处理器的处理引擎的性能状态 | |
CN109564526B (zh) | 使用封装和线程提示信息的组合来控制处理器的性能状态 | |
US11481013B2 (en) | Multi-level loops for computer processor control | |
KR20210134322A (ko) | 프로세서의 전력 라이센스 제어를 위한 시스템, 장치 및 방법 | |
CN109564460B (zh) | 在处理器中提供用于降级控制信息的接口 | |
US11669146B2 (en) | System, apparatus and method for responsive autonomous hardware performance state control of a processor | |
CN109661637B (zh) | 用于可变功率轨的补偿控制 | |
CN109791427B (zh) | 使用滑动平均值的处理器电压控制 | |
EP3340039A1 (en) | Processor prefetch throttling based on short streams | |
JP7495422B2 (ja) | 適応的な相互接続ルーティングのためのシステム、装置及び方法 | |
US11016916B2 (en) | Generation of processor interrupts using averaged data | |
CN109478086B (zh) | 至少部分地基于平台电容来控制处理器的电流消耗 | |
CN108694154B (zh) | 用于选择数据元素的硬件加速器 | |
US11593544B2 (en) | System, apparatus and method for adaptive operating voltage in a field programmable gate array (FPGA) | |
CN108228484B (zh) | 针对处理器中的高速缓存利用的无效读取 |
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 |