CN114144746A - 数字协调的动态可调适时钟和电压供应装置及方法 - Google Patents
数字协调的动态可调适时钟和电压供应装置及方法 Download PDFInfo
- Publication number
- CN114144746A CN114144746A CN202080053196.4A CN202080053196A CN114144746A CN 114144746 A CN114144746 A CN 114144746A CN 202080053196 A CN202080053196 A CN 202080053196A CN 114144746 A CN114144746 A CN 114144746A
- Authority
- CN
- China
- Prior art keywords
- power supply
- clock
- voltage
- processor core
- coupled
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 21
- 230000015654 memory Effects 0.000 claims description 75
- 239000003990 capacitor Substances 0.000 claims description 69
- 230000009467 reduction Effects 0.000 claims description 10
- 238000012546 transfer Methods 0.000 claims description 9
- 230000008878 coupling Effects 0.000 claims description 5
- 238000010168 coupling process Methods 0.000 claims description 5
- 238000005859 coupling reaction Methods 0.000 claims description 5
- 238000013473 artificial intelligence Methods 0.000 claims description 3
- 230000003111 delayed effect Effects 0.000 claims description 2
- 238000012544 monitoring process Methods 0.000 claims 1
- 238000011084 recovery Methods 0.000 abstract description 5
- 230000003044 adaptive effect Effects 0.000 description 19
- 238000007726 management method Methods 0.000 description 17
- 238000012545 processing Methods 0.000 description 13
- 230000006870 function Effects 0.000 description 11
- 230000008569 process Effects 0.000 description 10
- 230000000694 effects Effects 0.000 description 8
- 230000002093 peripheral effect Effects 0.000 description 8
- 230000004044 response Effects 0.000 description 8
- 230000007704 transition Effects 0.000 description 7
- 230000001413 cellular effect Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 238000005259 measurement Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 230000003068 static effect Effects 0.000 description 5
- 238000009529 body temperature measurement Methods 0.000 description 4
- 230000001276 controlling effect Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000007774 longterm Effects 0.000 description 3
- 239000000872 buffer Substances 0.000 description 2
- 230000001934 delay Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000003032 molecular docking Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000001105 regulatory effect Effects 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 239000002041 carbon nanotube Substances 0.000 description 1
- 229910021393 carbon nanotube Inorganic materials 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- GVVPGTZRZFNKDS-JXMROGBWSA-N geranyl diphosphate Chemical compound CC(C)=CCC\C(C)=C\CO[P@](O)(=O)OP(O)(O)=O GVVPGTZRZFNKDS-JXMROGBWSA-N 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- APTZNLHMIGJTEW-UHFFFAOYSA-N pyraflufen-ethyl Chemical compound C1=C(Cl)C(OCC(=O)OCC)=CC(C=2C(=C(OC(F)F)N(C)N=2)Cl)=C1F APTZNLHMIGJTEW-UHFFFAOYSA-N 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000005641 tunneling Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/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/3243—Power saving in microcontroller unit
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3296—Power saving characterised by the action undertaken by lowering the supply or operating voltage
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
- G06F8/443—Optimisation
- G06F8/4441—Reducing the execution time required by the program code
- G06F8/4442—Reducing the number of cache misses; Data prefetching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3004—Arrangements for executing specific machine instructions to perform operations on memory
- G06F9/30047—Prefetch instructions; cache control instructions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3824—Operand accessing
-
- H—ELECTRICITY
- H02—GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
- H02M—APPARATUS FOR CONVERSION BETWEEN AC AND AC, BETWEEN AC AND DC, OR BETWEEN DC AND DC, AND FOR USE WITH MAINS OR SIMILAR POWER SUPPLY SYSTEMS; CONVERSION OF DC OR AC INPUT POWER INTO SURGE OUTPUT POWER; CONTROL OR REGULATION THEREOF
- H02M1/00—Details of apparatus for conversion
- H02M1/0003—Details of control, feedback or regulation circuits
- H02M1/0016—Control circuits providing compensation of output voltage deviations using feedforward of disturbance parameters
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03L—AUTOMATIC CONTROL, STARTING, SYNCHRONISATION OR STABILISATION OF GENERATORS OF ELECTRONIC OSCILLATIONS OR PULSES
- H03L7/00—Automatic control of frequency or phase; Synchronisation
- H03L7/06—Automatic control of frequency or phase; Synchronisation using a reference signal applied to a frequency- or phase-locked loop
- H03L7/08—Details of the phase-locked loop
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03L—AUTOMATIC CONTROL, STARTING, SYNCHRONISATION OR STABILISATION OF GENERATORS OF ELECTRONIC OSCILLATIONS OR PULSES
- H03L7/00—Automatic control of frequency or phase; Synchronisation
- H03L7/06—Automatic control of frequency or phase; Synchronisation using a reference signal applied to a frequency- or phase-locked loop
- H03L7/08—Details of the phase-locked loop
- H03L7/085—Details of the phase-locked loop concerning mainly the frequency- or phase-detection arrangement including the filtering or amplification of its output signal
- H03L7/087—Details of the phase-locked loop concerning mainly the frequency- or phase-detection arrangement including the filtering or amplification of its output signal using at least two phase detectors or a frequency and phase detector in the loop
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03L—AUTOMATIC CONTROL, STARTING, SYNCHRONISATION OR STABILISATION OF GENERATORS OF ELECTRONIC OSCILLATIONS OR PULSES
- H03L7/00—Automatic control of frequency or phase; Synchronisation
- H03L7/06—Automatic control of frequency or phase; Synchronisation using a reference signal applied to a frequency- or phase-locked loop
- H03L7/08—Details of the phase-locked loop
- H03L7/10—Details of the phase-locked loop for assuring initial synchronisation or for broadening the capture range
- H03L7/104—Details of the phase-locked loop for assuring initial synchronisation or for broadening the capture range using an additional signal from outside the loop for setting or controlling a parameter in the loop
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F2015/761—Indexing scheme relating to architectures of general purpose stored programme computers
- G06F2015/765—Cache
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03L—AUTOMATIC CONTROL, STARTING, SYNCHRONISATION OR STABILISATION OF GENERATORS OF ELECTRONIC OSCILLATIONS OR PULSES
- H03L7/00—Automatic control of frequency or phase; Synchronisation
- H03L7/06—Automatic control of frequency or phase; Synchronisation using a reference signal applied to a frequency- or phase-locked loop
- H03L7/08—Details of the phase-locked loop
- H03L7/085—Details of the phase-locked loop concerning mainly the frequency- or phase-detection arrangement including the filtering or amplification of its output signal
- H03L7/093—Details of the phase-locked loop concerning mainly the frequency- or phase-detection arrangement including the filtering or amplification of its output signal using special filtering or amplification characteristics in the loop
-
- 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)
- Software Systems (AREA)
- Power Engineering (AREA)
- Power Sources (AREA)
Abstract
描述了一种装置和方法,其数字地协调动态可调适的时钟和电压供应以显著降低处理器消耗的能量,而不影响其性能或时延。生成指示出长时延操作的信号。这个信号被用于降低电力供应电压和可调适时钟的频率。在正常操作即将恢复之前的几纳秒,生成早期恢复指示符。这个早期恢复信号被用来给被断电的电压调节器加电,和/或可以在正常处理器操作即将恢复之前将频率和/或供应电压增大回到正常水平。
Description
优先权要求
本申请要求2019年8月23日提交的标题为“Digitally Coordinated DynamicallyAdaptable Clock and Voltage Supply Apparatus and Method”的美国专利申请第16/550,134号的优先权权益,该美国申请的全部内容被通过引用并入。
背景技术
功率消耗是处理器的一个重要性能度量。虽然现代处理器包括大量的功率降低技术,但仍有机会进一步动态地降低功率,以进一步提高处理器的性能。
附图说明
通过以下给出的详细描述并且通过本公开的各种实施例的附图,将更充分理解本公开的实施例,然而详细描述和附图不应当被理解为将本公开限制到特定实施例,而只是用于说明和理解的。
图1根据一些实施例图示了响应于操作的时延而数字地协调适应性时钟和电压的装置。
图2A图示了如下图线,该图线示出长时延(例如,缓存错失)期间微处理器的功率分布。
图2B根据一些实施例图示了如下图线,该图线示出在长时延期间使用适应性时钟和电压的数字协调的功率分布。
图3根据一些实施例图示了响应于操作的时延而数字地协调适应性时钟和电压的缓存的微体系结构。
图4A根据一些实施例图示了适应性电压调节器。
图4B根据一些实施例图示了可切换电容性网络来调整适应性电压调节器的负载电容。
图5A根据一些实施例图示了锁相环(PLL)或锁频环(FLL),其可以依据操作的时延而在闭环或开环中生成时钟。
图5B根据一些实施例图示了PLL/FLL输出时钟频率扼制的定时图。
图6根据本公开的一些实施例图示了具有响应于操作的时延而数字地协调适应性时钟和电压的装置的智能设备或者计算机系统或者SoC(片上系统)。
具体实施方式
现代处理器包括集成的时钟生成和电压调节,它们被设计来提供高质量的稳定电压和频率供应,使得无论处理器的负载条件如何都能够实现高频率的操作。对这些工作负载概况的理解和技术发展的进步,使得能够实现反应更快的集成电压调节器和时钟生成,允许了在精细的粒度上协调这三者(电压调节器、时钟生成源和工作负载)。以细粒度动态管理这些的一个原因是通过提供程序所需的恰到好处的电压和频率来在每个时钟周期在性能水平内操作,从而降低功率消耗。
长时延事件在处理器中生成空闲时段。在一些实施例中,提供的装置扼制一个或多个时钟的频率和电力供应电压,以减少在这些活动减少时段期间扩大的能量。这些活动减少的时段可持续数十纳秒。在一些实施例中,在正常操作即将恢复之前的几纳秒,会生成早期恢复指示符。这个早期恢复信号被用来给被断电的调节器加电,和/或可以在正常处理器操作即将恢复之前将频率和/或供应电压提高回到正常水平。一种类型的长时延事件是最后一级缓存错失和不可缓存的数据请求,其中数据将花费数十纳秒的时间从主存储器返回到处理器。典型的微处理器体系结构提供了足够早的通知,指出数据正从存储器返回。在一些实施例中,提供了一种时钟生成器,它使得能够实现非常快的频率转换,从而能够实现能量减少。
各种实施例有许多技术效果。例如,各种实施例的装置和方法允许了在不影响处理器性能的情况下大幅减少(例如,3倍至4倍)处理器消耗的能量。其他技术效果将从各种实施例和附图中清楚显现。
在接下来的描述中,论述了许多细节以提供对本公开的实施例的更透彻说明。然而,本领域技术人员将会清楚,没有这些具体细节也可以实现本公开的实施例。在其他情况下,以框图形式而不是详细示出公知的结构和设备,以避免模糊本公开的实施例。
注意,在实施例的相应附图中,以线条来表示信号。一些线条可能更粗,以指示更多的构成信号路径,和/或在一端或多端具有箭头,以指示主信息流方向。这种指示并不打算是限制性的。更确切地说,这些线条与一个或多个示范性实施例被联合使用来帮助更容易理解电路或逻辑单元。由设计需要或偏好决定的任何所表示的信号可实际上包括可在任一方向上行进并且可利用任何适当类型的信号方案来实现的一个或多个信号。
在整个说明书各处,以及在权利要求中,术语“连接”的意思是直接连接,例如连接的事物之间的电连接、机械连接或磁连接,没有任何中间设备。
这里,术语“模拟信号”是任何这样的连续信号:对于该连续信号,该信号的时变特征(变量)是某个其他时变量的表示,即,类似于另一时变信号。
这里,术语“数字信号”是这样的物理信号:其是例如任意比特流的或者数字化的(采样并且模数转换的)模拟信号的离散值(量化离散时间信号)的序列的表示。
术语“耦合”的意思是直接或间接连接,例如连接的事物之间的直接电连接、机械连接或磁连接,或者通过一个或多个无源或有源中间设备的间接连接。
这里的术语“邻近”一般指的是一事物的位置与另一事物挨着(例如,紧挨着或者接近并且其间有一个或多个事物)或者毗邻(例如,与其邻接)。
术语“电路”或“模块”可以指被布置为与彼此合作来提供期望的功能的一个或多个无源和/或有源组件。
术语“信号”可以指至少一个电流信号、电压信号、磁信号、或者数据/时钟信号。“一”和“该”的含义包括多数指代。“在……中”的含义包括“在……中”和“在……上”。
术语“缩放”一般是指将某个设计(图解和布局)从一个工艺技术转换到另一个工艺技术并随后减小布局面积。术语“缩放”一般也指在同一技术节点内减小布局和器件的大小。术语“缩放”还可以指相对于另一参数(例如,电力供应水平)调整信号频率(例如,减慢或加速,即分别是缩小或放大)。术语“基本上”、“接近”、“大致”、“近似”和“大约”一般指在目标值的+/-10%内。
除非另有指明,否则使用序数形容词“第一”、“第二”和“第三”等等来描述共同对象只是表明相似对象的不同实例被引用,而并不打算暗示这样描述的对象必须在时间上、空间上、排名上或者以任何其他方式处于给定的序列中。
对于本公开而言,短语“A和/或B”和“A或B”的意思是(A)、(B)或者(A和B)。对于本公开而言,短语“A、B和/或C”的意思是(A)、(B)、(C)、(A和B)、(A和C)、(B和C)或者(A、B和C)。
说明书中和权利要求中的术语“左”、“右”、“前”、“后”、“顶”、“底”、“上”、“下”等等(如果有的话)是用于描述性目的的,而并不一定用于描述永久的相对位置。
要指出,附图的具有与任何其他附图的元素相同的标号(或名称)的那些元素可按与所描述的相似的任何方式来操作或工作,但不限于此。
对于实施例而言,这里描述的各种电路和逻辑块中的晶体管是金属氧化物半导体(metal oxide semiconductor,MOS)晶体管或其衍生物,其中MOS晶体管包括漏极、源极、栅极和体端子。晶体管和/或MOS晶体管衍生物也包括三栅和FinFET晶体管、全包围栅圆柱体晶体管、隧道效应FET(Tunneling FET,TFET)、方形线晶体管、矩形带状晶体管、铁电FET(ferroelectric FET,FeFET)或者像碳纳米管或自旋器件之类的实现晶体管功能的其他器件。MOSFET对称源极和漏极端子是相同的端子并且在这里可被互换使用。另一方面,TFET器件具有非对称源极和漏极端子。本领域技术人员将会明白,在不脱离本公开的范围的情况下,可以使用其他晶体管,例如双极结晶体管(BJT PNP/NPN)、BiCMOS、CMOS等等。
图1根据一些实施例图示了响应于操作的时延而数字地协调适应性时钟和电压的装置100。装置100包括计算块101、电压调节器(voltage regulator,VR)102、时钟源103、电路104、缓存105、存储器控制器106、和存储器107。装置100的一些或所有组件可以在单个管芯(例如,片上系统)上、具有多个管芯的单个封装上、或者多个封装上的多个管芯上。在一些实施例中,计算块101是处理器核心(例如,包括算术逻辑单元(arithmetic logic unit,ALU)、执行单元(execution unit,EU)、调度器、寄存器等等的逻辑块),它在由VR 102控制的一个电力域上操作。在一些实施例中,计算块101包括多个电力域,其中一单独的调节器控制每个电力域。例如,单独的调节器控制到电力域的电力供应轨的电压水平(和/或电流水平)。在一些实施例中,计算块101包括用于人工智能(artificial intelligence,AI)处理的加速器。例如,计算块101包括多个乘法器阵列,它们耦合来执行大数字的乘法。在一些实施例中,计算块101包括微处理器或图形处理器的处理器核心。在一些实施例中,计算块101是现场可编程门阵列(Field Programmable Gate Array,FPGA)的核心逻辑。在一些实施例中,计算块101是数字信号处理器(digital signal processor,DSP)的核心逻辑。
在一些实施例中,VR 102包括开关DC-DC电压调节器。例如,VR102是降压转换器、升压转换器、降压-升压转换器中的一种。在一些实施例中,VR 102包括低压差(lowdropout,LDO)调节器。任何适当的调节器都可被用于VR 102,它可以被动态地控制以在其输出电力供应轨上生成不同的电压水平。这里的术语“动态”一般是指在很少或没有干预的情况下实时执行的自动功能。例如,当系统或进程处于操作中时,可以适应性地改变某个参数,而不要求加电序列或重启动。
在一些实施例中,时钟源103是适应性时钟源,它可以动态地生成具有可变时钟频率的时钟。在一些实施例中,时钟源103包括锁相环(phase locked loop,PLL)。在一些实施例中,时钟源103包括锁频环(frequency locked loop,FLL)。
在一些实施例中,电路104处理某些控制信号,这些信号指示出操作的长时延时间、缓存错失(错失信号)、正从存储器107中取回数据的早期指示(例如,早期指示)、正在缓存105中找到数据的信息(例如,早期返回),等等。然后,电路104为VR 102和/或时钟源103生成控制信号,以适应性地改变电压和/或时钟频率,从而适时降低计算系统的功率。例如,电路104生成ControlClk信号以调整时钟的频率。在一些实施例中,电路104生成ControlVR以控制(例如,降低)电力供应轨上的电压和/或VR 102的电流输出。在一些实施例中,电路104基于始终开启电力供应或者即使在计算块101被断电时也保持电路104通电的电力供应来进行操作。在一些实施例中,电路104是非核心逻辑区域的一部分。在一些实施例中,电路104是功率控制单元(power control unit,PCU)的一部分。
在一些实施例中,缓存105包括一个或多个较低级缓存,例如L1缓存、L2缓存、L3缓存。缓存105可包括任何适当的存储器,例如动态随机访问存储器(dynamic random accessmemory,DRAM)、磁随机访问存储器(magnetic random access memory,MRAM)、铁电随机访问存储器(ferroelectric random access memory,FeRAM)、电阻式RAM(resistive RAM,ReRAM)、静态RAM(static RAM,SRAM),等等。计算块101在执行指令时可能需要数据来处理。该数据可能在缓存105中可用。为了寻址或取得该数据,计算块101发出查找操作以从缓存105取得数据。如果不能从缓存105获得数据,则断言错失信号,并且计算块101向存储器控制器106发出请求,以从存储器107中找到数据。存储器控制器106随后发出一个或多个命令(例如,读取命令)以在存储器107中找到数据。存储器107可以是任何适当的存储器,例如动态随机访问存储器(DRAM)、磁随机访问存储器(MRAM)、铁电随机访问存储器(FeRAM)、电阻式RAM(ReRAM)、静态RAM(SRAM),等等。一旦从存储器107中定位到数据,就将它传播到计算块101。
对于长时延事件,例如最后一级缓存(LLC)错失或不可缓存的请求,一旦存储器控制器106发送请求,数据从存储器107返回通常可能要花数十纳秒(例如,从30到数百纳秒)。由于较深的无序缓冲器,现代无序微处理器通常可以在没有请求的数据的情况下继续执行指令一段时间。然而,在绝大多数情况下,计算块101在数据从存储器107返回之前很久,就耗尽了可以无序执行的独立工作。
在一个可能持续达数百纳秒的时段期间,取决于对存储器的访问的类型,包括计算块101的处理器将基本上是清醒的,但却是空闲的。为了避免引入唤醒时延并且一旦数据从存储器107返回就重启操作,当前的处理器(计算块101)没有被断电。随着数据返回并且执行恢复,预期会有一个大的电流尖峰,因为在数据返回的前几个周期中可能会有大量的并行工作发生。
图2A图示了图线200,其示出长时延(例如,缓存错失)期间微处理器的功率分布。这里,x轴是时间,并且y轴是核心功率,单位是瓦特(例如,计算块101的功率)。在处理器的正常操作期间,计算块101消耗的功率包括动态功率和泄漏(或静态功率)。动态功率是由节点的切换引起的切换功率,这通常与时钟信号的翻转相关联。在指示缓存错失时,计算块101大多是空闲的,这导致了动态或切换功率的降低。一旦计算块101耗尽了要执行的指令,动态功率就被浪费了,并且没有生产性输出,因为计算块101在等待来自存储器107的数据。在从存储器107接收到数据时,随着计算块101从空闲状态唤醒到正常操作状态,预期会有一个大的电流尖峰。
返回参考图1,各种实施例应用钟控方案,以实现更快和更细粒度的时钟频率转变,并且将这些方案与允许快速和精确的电压管理的集成电力供应输送的进步相结合,使它们与预示微处理器中的活动降低的体系结构事件同步。各种实施例的装置以纳秒粒度同步控制包括计算块101的处理器的操作的频率和电压。
在一些实施例中,一旦知道最后一条指令的调遣在主存储器访问附近,处理器计算块101的时钟频率就可被显著降低,因为处理器可能只是需要处理以低频率发生的异步事件。在一些实施例中,经由数字控制的时钟源FLL或PLL 103实现功率的这种降低,并且预期的频率下降在5x-20x的范围中,以例如实现显著的动态功率节省。并行地,随着操作的频率显著下降,操作的电压也可以被降低到以处理器刚刚转变到的极低时钟频率继续所要求的最小值。这个最小操作电压被称为Vmin,它是如下电力供应电压的最低电压水平:在这个电压下,计算块101可以正常操作,并且不会从其寄存器中丢失数据。在这样做的同时,在一些实施例中,存在于电路中的电荷被回收并存储在集成电压调节器的输入处。例如,来自VR102的负载电容器的电荷被存储在VR 102的输入电容器处,以避免通过泄漏浪费该电荷。在一些实施例中,电力供应轨(与VR 102的输出相耦合)上的电荷被移动或转移到输入电力供应轨(与VR 102的输入相耦合)。这个技术允许了进一步减少电压和频率的操作状态之间的转变能量,这超过了当前集成电压调节所能实现的。
这种更低的操作电压有助于显著减少处理器(例如,计算块101)的晶体管泄漏所浪费的能量。由于电路中和嵌入式电容器上的残余电荷相当高,并且如果不被主动强制降低,则电压可能只是缓慢降低,因此在一些实施例中,使用电荷泵、降压-升压转换器或类似设备来将该电荷移回到位于处理器的电压调节器的输入处的电容器。之后一旦恢复高电流操作,能量就会被回收。
在一些实施例中,生成早期信号以允许VR 102在电力供应轨上回升到其初始输出电压,然后在数据从存储器107返回时,时钟频率回到其原始点。高级信号被用于允许在数据返回触发正常活动的恢复之前发生转变,这样在恢复操作时就不会有时间损失。在数据从存储器107返回的情况下,这样的早期指示信号是在存储器控制器106向存储器107发出命令时非常早被发出的。早期指示信号的生成是因为从存储器107的数据返回的及时性是高度可预测的,并且允许有足够的时间让电力供应轨上的电压回升。在一些实施例中,通过一个非常快斜升的VR 102,有可能截获关于数据返回的确定性信息,以便仍然有足够的时间来唤醒,而不依赖于存储器控制器107中的这种预测器。
在一些实施例中,在稳定状态中,时钟源FLL(或PLL)103在闭环中操作,其中FLL时钟被计数并且被与目标进行比较,然后数字代码根据需要被调整。一旦扼制触发(或ControlClk)断言,存储在查找表中的预校准代码(例如,当前的数模转换器(digital-to-analog converter,DAC)和/或电容性调谐代码)就被应用以降低时钟频率。在解除断言时,时钟源FLL 103恢复先前的闭环代码并且闭合环路。
图2B根据一些实施例图示了图线220,其示出在长时延期间使用适应性时钟和电压的数字协调的功率分布。与图线200相比,这里在缓存错失和确定计算块101不再有指令要调遣或执行时,电路104发送ControlClk和/或ControlVR信号以分别扼制时钟频率和降低电力供应轨上的电压。因此,VR 102和时钟源103降低电压,然后降低频率以降低处理器的功率消耗。这由核心功率曲线在其下降到虚线以下时示出,这是图线200中的核心功率基线。当电路104接收到指出来自存储器107的数据即将返回的早期指示时,它通知VR 102和时钟源103将输出电压水平和时钟频率提高回到扼制前的水平。然后,VR 102和时钟源103将输出电压水平和时钟频率提高回到扼制前的水平,正好赶上数据被计算块101接收到来执行。核心或计算块随后唤醒,并且正常操作继续。
虽然一些实施例使用在既观察到LLC(较低级缓存)错失又不再有指令要调遣或执行时现有的触发信号,但这种机制可以用其他触发来实现。例如,与较长的连续不活动时段相关的其他触发可被用来表示既确认了长时延操作在进行中,又没有什么还要执行。
在一些实施例中,当电力供应轨上的电压接近或靠近Vmin水平时,VR 102可以开启或倾倒其输出电容节点上的电荷。这确保了计算块101的寄存器中的数据保持不被更改。在一些实施例中,滞后占空比监视器VR102在处理器核心正在等待长时延数据返回的时间期间可能根本不需要切换。在一个这样的实施例中,滞后DCM VR停止切换,并且其功率损失变得微乎其微。
在各种实施例中,在节能模式中,首先降低或扼制时钟的频率,然后减少对计算块101和其他电路例如缓存105的电力供应。当离开节能模式并且进入正常操作模式时,该过程是相反的。例如,当从低节能模式进入正常模式时,首先提高电力供应电压,然后增大时钟的频率。虽然电力供应电压被描述为在节能模式中被降低到Vmin水平,但该水平可以由硬件(例如,熔丝、寄存器)或软件(例如,操作系统)来编程。例如,来自VR 102的电压可以被设置在1/2Vdd(电力供应水平)、2/3Vdd、3/4Vdd、Vmin,等等。
图3根据一些实施例图示了响应于操作的时延而数字地协调适应性时钟和电压的缓存的微体系结构300。微体系结构300图示了一种情况,即,由计算块101执行指令,并且从缓存105查询负载。在这个示例中,缓存具有三个级别:L1、L2和L3。在第一级缓存L1的查找是最快的。例如,在L1中查找数据要花1-2ns(纳秒),如标记(A)所示。如果在L1缓存中没有找到数据,则指示出缓存错失,并且在第二级缓存L2中查找数据。L2缓存要花大约2-3ns来查找数据,如标记(B)所示。如果在L2缓存中没有找到数据,则指示另一次缓存错失,并且在第三级缓存L3(即最后一级缓存(last-level cache,LLC))中查找数据,等等依此类推。在这个示例中,L3缓存要花大约5-10nS来查找数据,如标记(C)所示。如果在L3缓存中没有找到数据,则缓存错失信号被断言,并且LLC_MISS信号被发送回到计算块101,如(D)所示。在这个示例中,从初始查找到计算块101接收LLC_MISS的时延约为5-10nS。
在接收到错失信号后,电路104或计算块101指示存储器控制器106从存储器107查找数据。然后,LLC_MISS信号被发送到存储器控制器106。存储器控制器106命令存储器107取得并最终接收数据是要花费时间的。这个时间增加了处理器的整体时延和性能。例如,如(E)所示,数据从存储器控制器106回来要花大约30至100nS。垂直的虚线表示各种时钟域。计算块101以及L1和L2缓存都在处理器核心(例如,CPU)时钟域上。L3缓存和存储器控制器106在非核心时钟频率域上,而存储器107在存储器时钟频率域上。
在操作(A)、(B)、(C)和(D)期间,处理器核心或计算块101不断调遣独立的指令。到LLC_MISS信号回来的时候,大部分程序(例如,99%的程序)已耗尽了要调遣的指令。在一些实施例中,当LLC_MISS信号被断言时,那么装置就会切换到节能模式,在该模式中电路104指示VR 102和/或时钟源103降低电压供应水平并且扼制频率。
在节能模式中,时钟的频率可被降低。例如,可以实时地调整时钟源103的分频器比率,或者可以为时钟源103的振荡器提供新的振荡器代码。在一些实施例中,在节能模式中,可以降低电力供应轨上的电压的电压水平。例如,电路104指示VR 102降低其控制VR102的高侧和低侧开关的切换活动的脉冲宽度调制(pulse width modulation,PWW)信号的占空比。在一些实施例中,电路104指示VR 102将电荷从其输出负载电容器转移到输入电力供应轨的输入电容器。这样做是为了使电荷不至于泄漏出去。在一些实施例中,电路104指示VR 102将其输出电容器从并联电容器配置配置为串联耦合电容器。在一些实施例中,VR102监视电力供应轨的电压水平,并且将其与阈值(该阈值是Vmin或者接近Vmin电压水平)进行比较,并且将电压水平维持在Vmin。如果电力供应轨上的电压下降到低于阈值,则VR102可将电荷泵入到电力供应轨中。
在一些实施例中,电路104接收到早期指示,指出正从存储器107中取回数据。这个早期指示允许了电路104让VR 102和/或时钟源103分别增大它们的输出电压和提高它们的时钟频率到扼制前水平,以便计算块101被通电来处理从存储器107传入的数据。例如,当接收到早期指示信号时,计算块101在持续时间(G)和(F)之前被唤醒信号唤醒,并且VR 102和时钟源103也被适应性地配置到扼制前水平。
图4A根据一些实施例图示了适应性VR 400(例如,102)。在这个示例中,VR 400被图示为开关DC-DC调节器。数字地调适电力供应轨的电压水平的概念可以由任何适当的调节器实现。VR 400包括调节器核心402(例如,高侧开关、低侧开关、PWM、比较器等等),它经由Vin供应轨接收输入供应Vin,并且向Vout供应轨提供经调节的电压。调节器核心的高侧和低侧开关耦合到如图所示的输出电感器L和电容器COut。
在一些实施例中,电路104可以使用一个或多个方案来调整VR 102的电力供应输出。例如,在节能模式期间,电路104断言一个或多个ControlVR信号以调整Vout的电压水平。在一个示例中,ControlVR信号被用来调整调节器核心402的PWM信号的占空比。通过改变PWM信号的占空比,Vout的电压水平可以被降低或提高。
在另一示例中,来自电路104的ControlVR信号被用来将电荷从电容器COut转移到与输入Vin供应轨耦合的输入电容器Cin。在一些实施例中,电荷泵、降压调节器和/或存储电路被用来存储和转移从输出电容器COut到输入电容器Cin的电荷。在一些实施例中,在节能模式中,来自Vout供应轨的电荷被转移到输入电容器Cin。当接收到指出正从存储器107取回数据的早期指示时,此电荷被泵回到输出供应轨。在另一示例中,来自电路104的ControlVR信号被用来通过配置输出电容器COut的电容来调整COut的电容。图4B图示了一个这样的可配置电路。
图4B根据一些实施例图示了可切换电容性网络420来调整适应性电压调节器的负载电容。网络420包括电容器C1和C2,以及晶体管MN1、MN2和MN3,它们如图所示那样耦合。晶体管MN1由控制1(ctrl1)控制,晶体管MN2由控制2(ctrl2)控制,并且晶体管MN3由控制3(ctrl3)控制。虽然示出了n型晶体管,但可以用p型晶体管或n型和p型晶体管的组合来替代n型晶体管。在一些实施例中,电路104控制信号ctrl1、ctrl2和ctrl3以配置电容器C1和C2,以使得它们并联或串联耦合。在一些实施例中,在节能模式期间,电路104将输出电容器COut的电容器C1和C2配置为并联耦合。在一些实施例中,在从节能模式退出时,电路104将输出电容器COut的电容器C1和C2重配置为串联耦合。
图5A根据一些实施例图示了PLL 500,其可以依据操作的时延而在闭环或开环中生成时钟。虽然图5A的实施例图示了PLL,但可以为FLL实现使用开环和闭环配置的相同概念。PLL可以是数字的、模拟的或混合的信号。
PLL 500包括相位频率检测器(phase frequency detector,PFD)或时间到数字转换器(time-to-digital converter,TDC)501、控制器502、数字滤波器503、多路复用器(Mux)504、振荡器505、分频器506、以及查找表507。
在一些实施例中,PFD 501比较参考时钟(RefClk)与反馈时钟(FBClk),并且生成向上和/或向下(Dn)信号。控制器502接收这些信号以更新数字代码CodeCL,该数字代码经由数字滤波器503控制振荡器505的频率。数字滤波器503的输出是代码CLF。这个代码可以在FLL或PLL进入节能模式之前被存储。控制器502或数字滤波器503在接收到早期指示信号时接收该代码。在一些实施例中,取代PDF,使用TDC。
TDC 501接收RefClk和FBClk,并且提供数字流作为输出TDCOut,该输出指示出RefClk和FbClk之间的相位差的数字表示。TDC可包括具有多个延迟级(例如,缓冲器或反相器)的延迟线,并且每个延迟级的输出(以及第一延迟级的输入)被使用参考时钟作为采样时钟的触发器采样。延迟线中的第一延迟级的输入是FBClk。因此,RefClk定期对FbClk进行采样。然后,触发器的输出被组合以提供数字流TDCOut(TDC代码)。DLF 503接收TDC的输出(TDCOut)。DFL 503使用滤波器方程来过滤TDCOut中的任何噪声。在一些实施例中,控制器502功能是在数字滤波器503中实现的。滤波器503是使用任何适当的数字滤波器来实现的,例如有限冲激响应(finite impulse response,FIR)、无限冲激响应(infinite impulseresponse,IIR)滤波器。在一些实施例中,控制器502生成粗码和细码,这些粗码和细码是控制码,用于以大量或小量来改变来自振荡器505的时钟的频率。
振荡器505可以是数字控制振荡器(digitally-controlled oscillator,DCO)。DCO 505可以是任何适当的数字振荡器,例如在延迟线的每个延迟级的输出处具有可调整的负载(例如,电容性负载)的延迟线。粗码和/或细码可以控制这些可调整的负载(例如,添加到负载或从负载中减去)。在一些实施例中,DCO 505是电感器-电容器(LC)振荡器(inductor-capacitor oscillator,LCO)。在LCO中,通过使用粗码和/或细码在可变数目的较小的电容器中切换,来调整时钟的频率。
分频器506接收时钟的输出,并且将其频率除以某个比率,以生成反馈时钟FBClk。在一些实施例中,该比率是整数。在一些实施例中,该比率是分数。在一些实施例中,分频器506是整数分频器。在一些实施例中,三角积分(sigma-delta)调制器实现了分数分频器。
在节能模式中,FLL 500或PLL 500在开环中操作。在一个这样的实施例中,基于时钟的目标频率,查找表507为振荡器505选择代码,该代码设置其频率以生成时钟的目标频率。在这个示例中,多路复用器504选择查找表507的输出作为其代码的输出。在一些实施例中,电路104经由ControlClk信号控制多路复用器504。在从节能模式退出后,当电路104接收到指出正从存储器107接收数据的早期指示时,ControlClk选择来自数字滤波器503的输出CodeCLF并且允许PLL或FLL 500在闭环中操作。在一些实施例中,保存在非易失性存储器或在Vmin下操作(因此其不会丢失数据)的存储器中的CodeCLF的先前值,被保存回到数字滤波器503中,因此PLL或FLL 500可以保持锁定。Vmin是最小的操作电压,低于这个电压,逻辑或电路就不能正常或可靠地工作。
图5B根据一些实施例图示了PLL输出时钟频率扼制的定时图520。定时图520以图形的形式描述了FLL或PLL 500的功能。在节能模式期间,通过在开环中操作FLL或PLL,FLL或PLL时钟频率被扼制。当系统离开节能模式时,开环配置被改变为闭环配置,如图5A中所述。
图6根据本公开的一些实施例图示了具有响应于操作的时延而数字地协调适应性时钟和电压的装置的智能设备或者计算机系统或者SoC(片上系统)。
在一些实施例中,设备2400表示适当的计算设备,例如计算平板、移动电话或智能电话、膝上型电脑、桌面型电脑、物联网(Internet-of-Things,IOT)设备、服务器、可穿戴设备、机顶盒、具备无线能力的电子阅读器,等等。将会理解,某些组件被概括示出,并且在设备2400中没有示出这种设备的所有组件。
在一示例中,设备2400包括SoC(片上系统)2401。SOC 2401的示例边界在图6中利用虚线图示,其中一些示例组件被图示为包括在SOC 2401内,然而,SOC 2401可包括设备2400的任何适当组件。
在一些实施例中,设备2400包括处理器2404。处理器2404可包括一个或多个物理设备,例如微处理器、应用处理器、微控制器、可编程逻辑器件、处理核心、或者其他处理装置。处理器2404执行的处理操作包括对其上执行应用和/或设备功能的操作平台或操作系统的执行。处理操作包括关于与人类用户或与其他设备的I/O(输入/输出)的操作、关于功率管理的操作、关于将计算设备2400连接到另一设备的操作,等等。处理操作还可包括与音频I/O和/或显示I/O有关的操作。
在一些实施例中,处理器2404包括多个处理核心(也称为核心)2408a、2408b、2408c。虽然在图6中只图示了三个核心2408a、2408b、2408c,但处理器2404可包括任何其他适当数目的处理核心,例如数十个或者甚至数百个处理核心。处理器核心2408a、2408b、2408c可被实现在单个集成电路(IC)芯片上。此外,芯片可包括一个或多个共享的和/或私有的缓存、总线或互连、图形和/或存储器控制器,或者其他组件。
在一些实施例中,处理器2404包括缓存2406。在一示例中,缓存2406的一些部分可专用于个体核心2408(例如,缓存2406的第一部分专用于核心2408a,缓存2406的第二部分专用于核心2408b,等等依此类推)。在一示例中,缓存2406的一个或多个部分可以是两个或更多个核心2408之间共享的。缓存2406可被分割成不同的级别,例如第1级(L1)缓存、第2级(L2)缓存、第3级(L3)缓存,等等。
在一些实施例中,处理器核心2404可包括取得单元来取得指令(包括具有条件分支的指令)来供核心2404执行。可以从诸如存储器2430之类的任何存储设备取得指令。处理器核心2404也可包括解码单元来对取得的指令进行解码。例如,解码单元可将取得的指令解码成多个微操作。处理器核心2404可包括调度单元来执行与存储经解码的指令相关联的各种操作。例如,调度单元可保存来自解码单元的数据,直到指令准备好调谴为止,例如,直到解码的指令的所有源值变得可用为止。在一个实施例中,调度单元可调度和/或发出(或调谴)解码的指令到执行单元以便执行。
执行单元可在调谴的指令被解码(例如,被解码单元解码)和派谴(例如,被调度单元调谴)之后执行这些指令。在一实施例中,执行单元可包括多于一个执行单元(例如成像计算单元、图形计算单元、通用计算单元,等等)。执行单元也可执行各种算术操作,例如加法、减法、乘法和/或除法,并且可包括一个或多个算术逻辑单元(arithmetic logic unit,ALU)。在一实施例中,协处理器(未示出)可联合执行单元来执行各种算术操作。
另外,执行单元可无序地执行指令。因此,处理器核心2404在一个实施例中可以是无序处理器核心。处理器核心2404也可包括引退单元。引退单元可在执行的指令被提交之后引退这些指令。在一实施例中,执行的指令的引退可导致处理器状态被从指令的执行提交、指令使用的物理寄存器被解除分配,等等。处理器核心2404还可包括总线单元来使能处理器核心2404的组件和其他组件之间经由一个或多个总线的通信。处理器核心2404还可包括一个或多个寄存器来存储被核心2404的各种组件访问的数据(例如与指派的app优先级和/或子系统状态(模式)关联有关的值)。
在一些实施例中,设备2400包括连通性电路2431。例如,连通性电路2431包括硬件设备(例如,无线和/或有线连接器和通信硬件)和/或软件组件(例如,驱动器、协议栈),来例如使得设备2400能够与外部设备通信。设备2400可与诸如其他计算设备、无线接入点或基站等等之类的外部设备相分离。
在一示例中,连通性电路2431可包括多种不同类型的连通性。概括而言,连通性电路2431可包括蜂窝连通性电路、无线连通性电路,等等。连通性电路2431的蜂窝连通性电路一般指的是由无线运营商提供的蜂窝网络连通性,例如经由以下所列项来提供:GSM(global system for mobile communications,全球移动通信系统)或者变体或衍生物,CDMA(code division multiple access,码分多址接入)或者变体或衍生物,TDM(timedivision multiplexing,时分复用)或者变体或衍生物,第3代合作伙伴计划(3rdGeneration Partnership Project,3GPP)通用移动电信系统(Universal MobileTelecommunications Systems,UMTS)系统或者变体或衍生物,3GPP长期演进(Long-TermEvolution,LTE)系统或者变体或衍生物,3GPP LTE高级版(LTE-Advanced,LTE-A)系统或者变体或衍生物,第五代(5G)无线系统或者变体或衍生物,5G移动网络系统或者变体或衍生物,5G新无线电(New Radio,NR)系统或者变体或衍生物,或者其他蜂窝服务标准。连通性电路2431的无线连通性电路(或无线接口)指的是非蜂窝的无线连通性,并且可包括个人区域网(例如蓝牙、近场等等)、局域网(例如Wi-Fi)和/或广域网(例如WiMax),和/或其他无线通信。在一示例中,连通性电路2431可包括网络接口,例如有线或无线接口,例如,使得系统实施例可被包含到无线设备中,例如,蜂窝电话或个人数字助理。
在一些实施例中,设备2400包括控制中枢2432,该控制中枢表示关于与一个或多个I/O设备的交互的硬件设备和/或软件组件。例如,处理器2404可经由控制中枢2432与显示器2422、一个或多个外围设备2424、存储设备2428、一个或多个其他外部设备2429等等中的一个或多个进行通信。控制中枢2432可以是芯片组、平台控制中枢(Platform ControlHub,PCH),等等。
例如,控制中枢2432说明了连接到设备2400的附加设备的一个或多个连接点,例如,通过这些附加设备用户可与系统交互。例如,可附接到设备2400的设备(例如,设备2429)包括麦克风设备、扬声器或立体声系统、音频设备、视频系统或其他显示设备、键盘或小键盘设备、或者用于特定应用的其他I/O设备,例如读卡器或其他设备。
如上所述,控制中枢2432可与音频设备、显示器2422等等交互。例如,通过麦克风或其他音频设备的输入可为设备2400的一个或多个应用或功能提供输入或命令。此外,取代显示输出,或者除了显示输出以外,还可提供音频输出。在另一示例中,如果显示器2422包括触摸屏,则显示器2422也充当输入设备,该输入设备可至少部分由控制中枢2432来管理。在计算设备2400上也可以有额外的按钮或开关来提供由控制中枢2432管理的I/O功能。在一个实施例中,控制中枢2432管理诸如加速度计、相机、光传感器或其他环境传感器之类的设备,或者可被包括在设备2400中的其他硬件。输入可以是直接用户交互的一部分,以及向系统提供环境输入以影响其操作(例如对噪声的过滤,调整显示器以进行亮度检测,对相机应用闪光灯,或者其他特征)。
在一些实施例中,控制中枢2432可利用任何适当的通信协议耦合到各种设备,例如PCIe(Peripheral Component Interconnect Express,快速外围组件互连)、USB(Universal Serial Bus,通用串行总线)、Thunderbolt、高清晰度多媒体接口(HighDefinition Multimedia Interface,HDMI)、Firewire,等等。
在一些实施例中,显示器2422表示提供视觉和/或触觉显示来供用户与设备2400交互的硬件(例如,显示设备)和软件(例如,驱动器)组件。显示器2422可包括显示接口、显示屏、和/或用于向用户提供显示器的硬件设备。在一些实施例中,显示器2422包括向用户提供输出和输入两者的触摸屏(或触摸板)设备。在一示例中,显示器2422可直接与处理器2404通信。显示器2422可以是像在移动电子设备或膝上型电脑设备中那样的内部显示设备或者经由显示接口(例如,DisplayPort等等)附接的外部显示设备中的一个或多个。在一个实施例中,显示器2422可以是头戴式显示器(head mounted display,HMD),例如立体显示设备,来用于虚拟现实(virtual reality,VR)应用或增强现实(augmented reality,AR)应用中。
在一些实施例中,虽然在附图中没有图示,但除了处理器2404以外(或者取代处理器2004),设备2400还可包括图形处理单元(Graphics Processing Unit,GPU),该图形处理单元包括一个或多个图形处理核心,其可控制在显示器2422上显示内容的一个或多个方面。
控制中枢2432(或者平台控制器中枢)可包括硬件接口和连接器,以及软件组件(例如,驱动器、协议栈),来进行例如到外围设备2424的外围连接。
将会理解,设备2400既可以是其他计算设备的外围设备,也可以有外围设备连接到它。设备2400可具有“坞接(docking)”连接器来连接到其他计算设备,以便例如管理设备2400上的内容(例如,下载和/或上传、改变、同步)。此外,坞接连接器可允许设备2400连接到某些外设,这些外设允许计算设备2400控制例如到视听或其他系统的内容输出。
除了专属坞接连接器或其他专属连接硬件以外,设备2400还可经由常见的或者基于标准的连接器来进行外围连接。常见类型可包括通用串行总线(Universal Serial Bus,USB)连接器(其可包括若干种不同硬件接口中的任何一种)、包括MiniDisplayPort(MDP)的DisplayPort,高清晰度多媒体接口(High Definition Multimedia Interface,HDMI)、Firewire、或者其他类型。
在一些实施例中,连通性电路2431可耦合到控制中枢2432,例如除了直接耦合到处理器2404以外或者取代直接耦合到处理器2404。在一些实施例中,显示器2422可耦合到控制中枢2432,例如除了直接耦合到处理器2404以外或者取代直接耦合到处理器2404。
在一些实施例中,设备2400包括存储器2430,其经由存储器接口2434耦合到处理器2404。存储器2430包括用于存储设备2400中的信息的存储器设备。存储器可包括非易失性存储器设备(如果到存储器设备的电力中断,状态不会变化)和/或易失性存储器设备(如果到存储器设备的电力中断,则状态不确定)。存储器设备2430可以是动态随机访问存储器(dynamic random access memory,DRAM)设备、静态随机访问存储器(static randomaccess memory,SRAM)设备、闪存设备、相变存储器设备、或者具有适当的性能来用作进程存储器的某种其他存储器设备。在一个实施例中,存储器2430可充当设备2400的系统存储器,以存储数据和指令来在一个或多个处理器2404执行应用或进程时使用。存储器2430可存储应用数据、用户数据、音乐、照片、文档或其他数据,以及与设备2400的应用和功能的执行有关的系统数据(无论是长期的还是暂时的)。
各种实施例和示例的元素也可以以用于存储计算机可执行指令(例如,实现本文论述的任何其他过程的指令)的机器可读介质(例如,存储器2430)的形式提供。机器可读介质(例如,存储器2430)可包括,但不限于,闪存、光盘、CD-ROM、DVD ROM、RAM、EPROM、EEPROM、磁卡或光卡、相变存储器(phase change memory,PCM)、或者适合用于存储电子或计算机可执行指令的其他类型的机器可读介质。例如,本公开的实施例可作为计算机程序(例如,BIOS)被下载,该计算机程序可经由通信链路(例如,调制解调器或网络连接)借由数据信号被从远程计算机(例如,服务器)传送到作出请求的计算机(例如,客户端)。
在一些实施例中,设备2400包括温度测量电路2440,例如用于测量设备2400的各种组件的温度。在一示例中,温度测量电路2440可被嵌入,或者耦合或附接到其温度要被测量和监视的各种组件。例如,温度测量电路2440可测量核心2408a、2408b、2408c、电压调节器2414、存储器2430、SoC 2401的主板和/或设备2400的任何适当组件中的一个或多个的温度(或者其内的温度)。
在一些实施例中,设备2400包括功率测量电路2442,例如用于测量设备2400的一个或多个组件消耗的功率。在一示例中,除了测量功率以外,或者取代测量功率,功率测量电路2442还可测量电压和/或电流。在一示例中,功率测量电路2442可被嵌入,或者耦合或附接到其功率、电压和/或电流消耗要被测量和监视的各种组件。例如,功率测量电路2442可测量由一个或多个电压调节器2414供应的功率、电流和/或电压、供应到SOC2401的功率、供应到设备2400的功率、由设备2400的处理器2404(或任何其他组件)消耗的功率,等等。
在一些实施例中,设备2400包括一个或多个电压调节器电路,统称为电压调节器(voltage regulator,VR)2414。VR 2414按适当的电压水平生成信号,这些信号可被供应来操作设备2400的任何适当组件。仅作为示例,VR 2414被图示为向设备2400的处理器2404供应信号。在一些实施例中,VR 2414接收一个或多个电压标识(Voltage Identification,VID)信号,并且基于VID信号生成处于适当水平的电压信号。对于VR 2414可利用各种类型的VR。例如,VR 2414可包括“降压”VR、“升压”VR、降压和升压VR的组合、低压差(lowdropout,LDO)调节器、开关DC-DC调节器,等等。降压VR一般被用于其中输入电压需要被以小于单位一的比率变换成输出电压的电力输送应用中。升压VR一般被用于其中输入电压需要被以大于单位一的比率变换成输出电压的电力输送应用中。在一些实施例中,每个处理器核心具有其自己的VR,该VR被PCU 2410a/b和/或PMIC 2412控制。在一些实施例中,每个核心具有分布式LDO的网络来提供对功率管理的高效控制。LDO可以是数字的、模拟的或者是数字或模拟LDO的组合。VR是可如参考各种实施例所述提供自适应电压输出的自适应VR。
在一些实施例中,设备2400包括一个或多个时钟生成器电路,统称为时钟生成器2416。时钟生成器2416可按适当的频率水平生成时钟信号,这些信号可被供应给设备2400的任何适当组件。仅作为示例,时钟生成器2416被图示为向设备2400的处理器2404供应时钟信号。在一些实施例中,时钟生成器2416接收一个或多个频率标识(FrequencyIdentification,FID)信号,并且基于FID信号以适当的频率生成时钟信号。时钟生成器2416是可如参考各种实施例所述提供自适应频率输出的自适应时钟源。
在一些实施例中,设备2400包括向设备2400的各种组件供应电力的电池2418。仅作为示例,电池2418被图示为在向处理器2404供应电力。虽然在附图中没有图示,但设备2400可包括充电电路,以例如基于从交流电(Alternating Current,AC)适配器接收的AC电力供应来对电池再充电。
在一些实施例中,设备2400包括功率控制单元(Power Control Unit,PCU)2410(也称为功率管理单元(Power Management Unit,PMU)、功率控制器,等等)。在一示例中,PCU 2410的一些部分可由一个或多个处理核心2408实现,并且PCU 2410的这些部分被利用虚线框来象征性图示并且被标注为PCU 2410a。在一示例中,PCU 2410的一些其他部分可在处理核心2408外部实现,并且PCU 2410的这些部分被利用虚线框来象征性图示并且被标注为PCU 2410b。PCU 2410可为设备2400实现各种功率管理操作。PCU 2410可包括硬件接口、硬件电路、连接器、寄存器等等,以及软件组件(例如,驱动器、协议栈),来为设备2400实现各种功率管理操作。
在一些实施例中,设备2400包括功率管理集成电路(Power ManagementIntegrated Circuit,PMIC)2412,以例如为设备2400实现各种功率管理操作。在一些实施例中,PMIC 2412是可重配置功率管理IC(Reconfigurable Power Management IC,RPMIC)和/或IMVP(Mobile Voltage Positioning,移动电压定位)。在一示例中,PMIC在与处理器2404分离的IC芯片内。这可为设备2400实现各种功率管理操作。PMIC 2412可包括硬件接口、硬件电路、连接器、寄存器,等等,以及软件组件(例如,驱动器、协议栈),来为设备2400实现各种功率管理操作。
在一示例中,设备2400包括PCU 2410或PMIC 2412中的一者或两者。在一示例中,PCU 2410或者PMIC 2412中的任何一者可在设备2400中不存在,因此这些组件是利用虚线来图示的。
设备2400的各种功率管理操作可由PCU 2410、由PMIC 2412或者由PCU 2410和PMIC 2412的组合来执行。例如,PCU 2410和/或PMIC 2412可为设备2400的各种组件选择功率状态(例如,P状态)。例如,PCU2410和/或PMIC 2412可为设备2400的各种组件选择功率状态(例如,根据ACPI(Advanced Configuration and Power Interface,高级配置和电力接口)规范)。仅作为示例,PCU 2410和/或PMIC 2412可使得设备2400的各种组件转变到休眠状态、转变到活跃状态、转变到适当的C状态(例如,C0状态,或者另一适当的C状态,根据ACPI规范),等等。在一示例中,PCU 2410和/或PMIC 2412可控制由VR 2414输出的电压和/或由时钟生成器输出的时钟信号的频率,例如分别通过输出VID信号和/或FID信号。在一示例中,PCU 2410和/或PMIC 2412可控制电池功率使用、电池2418的充电、以及与省电操作有关的特征。
时钟生成器2416可包括锁相环(phase locked loop,PLL)、锁频环(frequencylocked loop,FLL)、或者任何适当的时钟源。在一些实施例中,处理器2404的每个核心具有其自己的时钟源。这样,每个核心可按独立于其他核心的操作频率的频率来进行操作。在一些实施例中,PCU 2410和/或PMIC 2412执行适应性的或者动态的频率缩放或调整。例如,如果核心没有在以其最大功率消耗阈值或限度进行操作,则可增大该处理器核心的时钟频率。在一些实施例中,PCU 2410和/或PMIC 2412确定处理器的每个核心的操作条件,并且当PCU 2410和/或PMIC 2412确定核心在以低于目标性能水平操作时,机会主义地调整该核心的频率和/或供电电压,而核心钟控源(例如,该核心的PLL)不会失去锁定。例如,如果核心在从电力供应轨汲取电流,该电流小于为该核心或处理器2404分配的总电流,则PCU 2410和/或PMIC 2412可临时增大对于该核心或处理器2404的功率汲取(例如,通过增大时钟频率和/或电力供应电压水平),使得该核心或处理器2404可以按更高的性能水平来运转。这样,可以为处理器2404临时增大电压和/或频率,而不会违反产品可靠性。
在一示例中,PCU 2410和/或PMIC 2412可例如至少部分基于从功率测量电路2442、温度测量电路2440接收测量、接收电池2418的充电水平、和/或接收可用于功率管理的任何其他适当的信息,来执行功率管理操作。为此,PMIC 2412通信地耦合到一个或多个传感器来感测/检测对于系统/平台的功率/热行为具有影响的一个或多个因素中的各种值/变化。一个或多个因素的示例包括电流、电压垂落、温度、操作频率、操作电压、功率消耗、核心间通信活动,等等。这些传感器中的一个或多个可被设在计算系统的一个或多个组件或者逻辑/IP块的物理近邻(和/或与其热接触/耦合)。此外,(一个或多个)传感器在至少一个实施例中可直接耦合到PCU 2410和/或PMIC 2412以允许PCU 2410和/或PMIC 2412至少部分基于由这些传感器中的一个或多个检测到的(一个或多个)值来管理处理器核心能量。
还图示了设备2400的示例软件栈(虽然没有图示该软件栈的所有元素)。仅作为示例,处理器2404可执行应用程序2450、操作系统2452、一个或多个功率管理(PowerManagement,PM)特定应用程序(例如,统称为PM应用2458),等等。PM应用2458也可被PCU2410和/或PMIC2412执行。OS 2452也可包括一个或多个PM应用2456a、2456b、2456c。OS2452也可包括各种驱动器2454a、2454b、2454c等等,其中一些可专用于功率管理目的。在一些实施例中,设备2400还可包括基本输入/输出系统(Basic Input/Output System,BIOS)2420。BIOS 2420可以与OS 2452通信(例如,经由一个或多个驱动器2454),与处理器2404通信,等等。
例如,PM应用2458、2456、驱动器2454、BIOS 2420等等中的一个或多个可用于实现功率管理特定任务,例如控制设备2400的各种组件的电压和/或频率,控制设备2400的各种组件的唤醒状态、休眠状态和/或任何其他适当的功率状态,控制电池功率使用、电池2418的充电、与功率节省操作有关的特征,等等。
说明书中提及“一实施例”、“一个实施例”、“一些实施例”或者“其他实施例”的意思是联系这些实施例描述的特定特征、结构或特性被包括在至少一些实施例中,但不一定包括在所有实施例中。“一实施例”、“一个实施例”或“一些实施例”的各种出现不一定全都指的是相同实施例。如果说明书陈述“可”、“可能”或者“可以”包括某一组件、特征、结构或特性,那么并不是必须要包括该特定组件、特征、结构或特性。如果说明书或权利要求提及“一”元素,那么并不意味着只有一个该元素。如果说明书或权利要求提及“一额外”元素,那么并不排除有多于一个该额外元素。
此外,在一个或多个实施例中可按任何适当的方式来组合特定的特征、结构、功能或特性。例如,在与两个实施例相关联的特定特征、结构、功能或特性不互斥的任何地方,可将第一实施例与第二实施例相组合。
虽然已结合其特定实施例描述了本公开,但本领域普通技术人员根据前述描述将清楚这种实施例的许多替换、修改和变化。本公开的实施例打算包含落在所附权利要求的宽广范围内的所有这种替换、修改和变化。
此外,为了图示和论述的简单,并且为了不模糊本公开,在给出的附图中可能示出或不示出到集成电路(IC)芯片和其他组件的公知电力/地连接。另外,可能以框图形式示出布置以避免模糊本公开,并且同时也考虑到了如下事实:关于这种框图布置的实现的具体细节是高度取决于要在其内实现本公开的平台的(即,这种具体细节应当完全在本领域技术人员的视野内)。在阐述具体细节(例如,电路)以便描述本公开的示例实施例的情况下,本领域技术人员应当清楚,没有这些具体细节,或者利用这些具体细节的变体,也可实现本公开。从而说明书应当被认为是说明性的,而不是限制性的。
提供以下示例来说明各种实施例。这些示例可按任何适当的方式从属于彼此。
示例1:一种装置,包括:处理器核心,用于执行一个或多个指令;与所述处理器核心相耦合的电压调节器,其中所述电压调节器用于向所述处理器核心提供可调整电力供应电压;与所述处理器核心相耦合的时钟生成器,其中所述时钟生成器用于向所述处理器核心提供可调整时钟;与所述处理器核心相耦合的缓存;以及电路,用于确定是否能从所述缓存获得用于执行所述一个或多个指令的数据,并且如果不能从所述缓存获得数据,则指示出缓存错失,其中所述电路用于:指示所述时钟生成器降低所述时钟的频率;并且指示所述电压调节器降低所述可调整电力供应的电压水平,其中所述时钟的频率在所述可调整电力供应的电压水平被降低之前被降低。
示例2:如示例1所述的装置,其中所述电路指示所述电压调节器将所述可调整电力供应的电压水平降低到最低操作电压水平(Vmin)。
示例3:如示例2所述的装置,其中所述电压调节器监视其可调整电力供应电压,并且当所述可调整电力供应的电压水平下降到低于Vmin时,增大所述电压水平。
示例4:如示例1所述的装置,其中所述电压调节器包括:输出电容器,与电力供应轨相耦合,所述电力供应轨向所述处理器核心提供可调整电力供应电压;以及输入电容器,与输入电力供应轨相耦合,所述输入电力供应轨向所述电压调节器提供输入电力供应,其中所述电压调节器在缓存错失指示的时段内将电荷从所述输出电容器转移到所述输入电容器。
示例5:如示例1所述的装置,其中:所述电压调节器包括具有开关的电容器网络,所述电容器网络与电力供应轨相耦合,所述电力供应轨向处理器核心提供可调整电力供应电压,所述电容器网络根据所述开关的控制和耦合提供串联电容或并联电容,并且如果所述电路指示出缓存错失,则所述电容器网络向所述电力供应轨提供并联耦合的电容器,否则所述电容器网络向所述电力供应轨提供串联耦合的电容器。
示例6:如示例1所述的装置,其中所述电压调节器在缓存错失指示的时段内将电荷从输出电容器临时转移到电感器或电容器,输出电容器与电力供应轨相耦合,所述电力供应轨向所述处理器核心提供可调整电力供应电压。
示例7:如示例1所述的装置,其中所述时钟生成器包括锁频环(FLL)或锁相环(PLL),其中如果所述电路指示出缓存错失,则所述FLL或PLL在开环中操作,否则所述FLL或PLL在闭环中操作。
示例8:如示例1所述的装置,其中所述电压调节器和所述时钟生成器在缓存错失指示的时段内同步地分别调整所述可调整电力供应电压的电压水平和所述可调整时钟的频率。
示例9:如示例1所述的装置,其中所述电路用于:提供能从存储器获得数据的早期指示;指示所述时钟生成器将所述时钟的频率增大回到正常水平;并且指示所述电压调节器增大所述可调整电力供应的电压水平,其中所述可调整电力供应的电压水平在所述时钟的频率增大之前被增大。
示例10:如示例9所述的装置,其中所述早期指示充分地早,以便所述电压调节器和时钟生成器分别将所述电压水平和频率调整到预期水平以供所述处理器核心执行所述一个或多个指令。
示例11:如示例9所述的装置,其中:所述电压调节器包括具有开关的电容器网络并与电力供应轨相耦合,所述电力供应轨向处理器核心提供可调整电力供应电压,所述电容器网络根据所述开关的控制和耦合提供串联电容或并联电容,并且如果所述电路提供所述早期指示,则所述电容器网络向所述电力供应轨提供串联耦合的电容器。
示例12:如示例1所述的装置,包括与所述缓存相耦合的存储器控制器。
示例13:如示例12所述的装置,包括与所述存储器控制器相耦合的存储器。
示例14:一种装置,包括:电压调节器,用于生成供应电压;时钟源,用于生成时钟;与所述电压调节器和所述时钟源相耦合的计算块,其中所述计算块用于接收供应电压和时钟;以及电路,用于在信号的小于100纳秒的时段内降低供应电压和时钟频率,所述信号指示出比正常情况时延更长的操作。
示例15:如示例14所述的装置,其中所述电路用于:提供能从存储器获得数据的早期指示;指示所述时钟源将所述时钟的频率增大回到降低前水平;并且指示所述电压调节器将所述供应电压的电压水平增大到预先存在的供应电压水平,其中所述供应电压的电压水平在所述时钟的频率增大之前被增大。
示例16:如示例14所述的装置,其中所述计算块包括以下各项中的一项或多项:FPGA、处理器核心、图形处理器核心、加速器、专用集成电路、人工智能处理器、或者数字信号处理器。
示例17:如示例14所述的装置,其中所述电压调节器在对表示比正常情况时延更长的操作的所述信号的指示的时段内将电荷从输出电容器临时转移到电感器或电容器,所述输出电容器与电力供应轨相耦合,所述电力供应轨向所述计算块提供供应电压。
示例18:如示例14所述的装置,其中所述时钟生成器包括锁频环(FLL)或锁相环(PLL),其中如果所述电路指示出表示比正常情况时延更长的操作的所述信号,则所述FLL或PLL在开环中操作,否则所述FLL或PLL在闭环中操作。
示例19:一种系统,包括:处理器核心,用于执行一个或多个指令;与所述处理器核心相耦合的缓存;与所述处理器核心相耦合的存储器控制器;与所述存储器控制器相耦合的存储器;与所述处理器核心相耦合的电压调节器,其中所述电压调节器用于向处理器核心提供可调整电力供应电压;与所述处理器核心相耦合的时钟生成器,其中所述时钟生成器用于向所述处理器核心提供可调整时钟;与所述处理器核心相耦合的缓存;以及电路,来确定是否能从所述缓存获得用于执行所述一个或多个指令的数据,并且如果不能从所述缓存获得数据,则指示出缓存错失,其中所述电路用于:指示所述时钟生成器降低所述时钟的频率;并且指示所述电压调节器降低所述可调整电力供应的电压水平,其中所述时钟的频率在所述可调整电力供应的电压水平被降低之前被降低;无线接口,用于允许所述处理器核心与另一设备通信。
示例20:如示例19所述的系统,其中所述电路指示所述电压调节器将所述可调整电力供应的电压水平降低到最低操作电压水平(Vmin),并且其中所述电压调节器监视其可调整电力供应电压,并且当所述可调整电力供应的电压水平下降到低于Vmin时,增大所述电压水平。
提供了摘要,它将允许读者确定本技术公开的性质和主旨。摘要是带着如下理解提交的:它不会被用于限制权利要求的范围或含义。特此将所附权利要求纳入到详细描述中,其中每个权利要求独立作为一个单独的实施例。
Claims (25)
1.一种装置,包括:
处理器核心,用于执行一个或多个指令;
电压调节器,与所述处理器核心相耦合,其中所述电压调节器用于向所述处理器核心提供可调整电力供应电压;
时钟生成器,与所述处理器核心相耦合,其中所述时钟生成器用于向所述处理器核心提供可调整时钟;
缓存,与所述处理器核心相耦合;以及
电路,用于确定是否能从所述缓存获得用于执行所述一个或多个指令的数据,并且如果不能从所述缓存获得数据,则指示出缓存错失,其中所述电路用于:
指示所述时钟生成器降低所述时钟的频率;并且
指示所述电压调节器降低所述可调整电力供应的电压水平,其中所述时钟的频率在所述可调整电力供应的电压水平被降低之前被降低。
2.如权利要求1所述的装置,其中所述电路指示所述电压调节器将所述可调整电力供应的电压水平降低到最低操作电压水平(Vmin)。
3.如权利要求2所述的装置,其中所述电压调节器监视其可调整电力供应电压,并且当所述可调整电力供应的电压水平下降到低于Vmin时,增大所述电压水平。
4.如权利要求1所述的装置,其中所述电压调节器包括:
输出电容器,与电力供应轨相耦合,所述电力供应轨向所述处理器核心提供可调整电力供应电压;
输入电容器,与输入电力供应轨相耦合,所述输入电力供应轨向所述电压调节器提供输入电力供应;以及
电路,用于在缓存错失指示的时段内将电荷从所述输出电容器转移到所述输入电容器。
5.如权利要求1所述的装置,其中:
所述电压调节器包括具有开关的电容器网络,所述电容器网络与电力供应轨相耦合,所述电力供应轨向处理器核心提供可调整电力供应电压,
所述电容器网络根据所述开关的控制和耦合提供串联耦合的电容器或者并联耦合的电容器,并且
如果所述电路指示出缓存错失,则所述电容器网络向所述电力供应轨提供所述并联耦合的电容器,否则所述电容器网络向所述电力供应轨提供所述串联耦合的电容器。
6.如权利要求1所述的装置,其中,与所述电压调节器相耦合的电路在缓存错失指示的时段内将电荷从输出电容器临时转移到电感器或电容器,所述输出电容器与电力供应轨相耦合,所述电力供应轨向所述处理器核心提供可调整电力供应电压。
7.如权利要求1所述的装置,其中所述时钟生成器包括锁频环(FLL)或锁相环(PLL),其中如果所述电路指示出缓存错失,则所述FLL或PLL在开环中操作,否则所述FLL或PLL在闭环中操作。
8.如权利要求1至7中的任一项所述的装置,其中所述电压调节器和所述时钟生成器在缓存错失指示的时段内同步地分别调整所述可调整电力供应电压的电压水平和所述可调整时钟的频率。
9.如权利要求1所述的装置,其中所述电路用于:
提供能从存储器获得数据的早期指示;
指示所述时钟生成器将所述时钟的频率增大回到正常水平;并且
指示所述电压调节器增大所述可调整电力供应的电压水平,其中所述可调整电力供应的电压水平在所述时钟的频率增大之前被增大。
10.如权利要求9所述的装置,其中所述早期指示充分地早,以便所述电压调节器和所述时钟生成器分别将所述电压水平和频率调整到预期水平以供所述处理器核心执行所述一个或多个指令。
11.如权利要求9所述的装置,其中:
所述电压调节器包括电容器网络,该电容器网络包括开关并与电力供应轨相耦合,所述电力供应轨向所述处理器核心提供可调整电力供应电压;
所述电容器网络根据所述开关的控制和耦合提供串联电容或并联电容;并且
如果所述电路提供所述早期指示,则所述电容器网络向所述电力供应轨提供串联耦合的电容器。
12.如权利要求1所述的装置,包括:存储器控制器,与所述缓存相耦合。
13.如权利要求12所述的装置,包括:存储器,与所述存储器控制器相耦合。
14.一种装置,包括:
电压调节器,用于生成供应电压;
时钟源,用于生成时钟;
计算块,与所述电压调节器和所述时钟源相耦合,其中所述计算块用于接收供应电压和时钟;以及
电路,用于在信号的小于100纳秒的时段内降低供应电压和时钟频率,所述信号指示出比正常情况时延更长的操作。
15.如权利要求14所述的装置,其中所述电路用于:
提供能从存储器获得数据的早期指示;
指示所述时钟源将所述时钟的频率增大回到降低前水平;并且
指示所述电压调节器将所述供应电压的电压水平增大到预先存在的供应电压水平,其中所述供应电压的电压水平在所述时钟的频率增大之前被增大。
16.如权利要求14所述的装置,其中所述计算块包括以下各项中的一项或多项:FPGA、处理器核心、图形处理器核心、加速器、专用集成电路、人工智能处理器、或者数字信号处理器。
17.如权利要求14所述的装置,其中所述电压调节器在表示比正常情况时延更长的操作的所述信号的指示的时段内将电荷从输出电容器临时转移到电感器或电容器,所述输出电容器与电力供应轨相耦合,所述电力供应轨向所述计算块提供供应电压。
18.如权利要求14至17中的任一项所述的装置,其中所述时钟生成器包括锁频环(FLL)或锁相环(PLL),其中如果所述电路指示出表示比正常情况时延更长的操作的所述信号,则所述FLL或PLL在开环中操作,否则所述FLL或PLL在闭环中操作。
19.一种系统,包括:
处理器核心,用于执行一个或多个指令;
存储器控制器,与所述处理器核心相耦合;
存储器,与所述存储器控制器相耦合;
电压调节器,与所述处理器核心相耦合,其中所述电压调节器用于向所述处理器核心提供可调整电力供应电压;
时钟生成器,与所述处理器核心相耦合,其中所述时钟生成器用于向所述处理器核心提供可调整时钟;
缓存,与所述处理器核心相耦合;以及
电路,用于确定是否能从所述缓存获得用于执行所述一个或多个指令的数据,并且如果不能从所述缓存获得数据,则指示出缓存错失,其中所述电路用于:
指示所述时钟生成器降低所述时钟的频率;并且
指示所述电压调节器降低所述可调整电力供应的电压水平,其中所述时钟的频率在所述可调整电力供应的电压水平被降低之前被降低;
无线接口,用于允许所述处理器核心与另一设备通信。
20.如权利要求19所述的系统,根据权利要求1至13中的任一项所述。
21.一种方法,包括:
由与处理器核心相耦合的电压调节器向所述处理器核心提供可调整电力供应电压;
由与所述处理器核心相耦合的时钟生成器向所述处理器核心提供可调整时钟;
由电路确定是否能从缓存获得用于执行一个或多个指令的数据;
如果不能从所述缓存获得数据,则指示出缓存错失;
指示所述时钟生成器降低所述时钟的频率;并且
指示所述电压调节器降低所述可调整电力供应的电压水平,其中所述时钟的频率在所述可调整电力供应的电压水平被降低之前被降低。
22.如权利要求21所述的方法,其中所述电路指示所述电压调节器将所述可调整电力供应的电压水平降低到最低操作电压水平(Vmin)。
23.如权利要求22所述的方法,包括:
监视可调整电力供应电压,并且
当所述可调整电力供应的电压水平下降到低于Vmin时,增大所述电压水平。
24.如权利要求22所述的方法,包括:在缓存错失指示的时段内将电荷从输出电容器临时转移到电感器或电容器,所述输出电容器与电力供应轨相耦合,所述电力供应轨向所述处理器核心提供可调整电力供应电压。
25.如权利要求21和24中的任一项所述的方法,包括:
提供能从存储器获得数据的早期指示;
指示所述时钟生成器将所述时钟的频率增大回到正常水平;并且
指示所述电压调节器增大所述可调整电力供应的电压水平,其中所述可调整电力供应的电压水平在所述时钟的频率增大之前被增大。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/550,134 US11537375B2 (en) | 2019-08-23 | 2019-08-23 | Digitally coordinated dynamically adaptable clock and voltage supply apparatus and method |
US16/550,134 | 2019-08-23 | ||
PCT/US2020/040511 WO2021040885A1 (en) | 2019-08-23 | 2020-07-01 | Digitally coordinated dynamically adaptable clock and voltage supply apparatus and method |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114144746A true CN114144746A (zh) | 2022-03-04 |
Family
ID=74645905
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080053196.4A Pending CN114144746A (zh) | 2019-08-23 | 2020-07-01 | 数字协调的动态可调适时钟和电压供应装置及方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11537375B2 (zh) |
EP (1) | EP4018287A4 (zh) |
KR (1) | KR20220051159A (zh) |
CN (1) | CN114144746A (zh) |
WO (1) | WO2021040885A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10928886B2 (en) * | 2019-02-25 | 2021-02-23 | Intel Corporation | Frequency overshoot and voltage droop mitigation apparatus and method |
US11493986B2 (en) * | 2019-12-22 | 2022-11-08 | Qualcomm Incorporated | Method and system for improving rock bottom sleep current of processor memories |
US10784874B1 (en) * | 2020-02-05 | 2020-09-22 | Intel Corporation | All-digital voltage monitor (ADVM) with single-cycle latency |
US11340673B1 (en) * | 2020-04-30 | 2022-05-24 | Marvell Asia Pte Ltd | System and method to manage power throttling |
US20240146316A1 (en) * | 2022-10-28 | 2024-05-02 | Mediatek Inc. | Dynamic Configuration of an Oscillator Using Adaptive Voltage and Code Scaling to Follow a Target Frequency |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6941480B1 (en) | 2000-09-30 | 2005-09-06 | Intel Corporation | Method and apparatus for transitioning a processor state from a first performance mode to a second performance mode |
US7028196B2 (en) | 2002-12-13 | 2006-04-11 | Hewlett-Packard Development Company, L.P. | System, method and apparatus for conserving power consumed by a system having a processor integrated circuit |
US20060280019A1 (en) | 2005-06-13 | 2006-12-14 | Burton Edward A | Error based supply regulation |
US20150355700A1 (en) * | 2014-06-10 | 2015-12-10 | Qualcomm Incorporated | Systems and methods of managing processor device power consumption |
US9634676B2 (en) * | 2015-07-01 | 2017-04-25 | Qualcomm Incorporated | Circuits and methods providing clock frequency adjustment in response to supply voltage changes |
US9857859B2 (en) | 2015-12-21 | 2018-01-02 | Intel Corporation | Techniques to power down output power rails for a storage device |
US10296076B2 (en) | 2016-05-16 | 2019-05-21 | Qualcomm Incorporated | Supply voltage droop management circuits for reducing or avoiding supply voltage droops |
-
2019
- 2019-08-23 US US16/550,134 patent/US11537375B2/en active Active
-
2020
- 2020-07-01 CN CN202080053196.4A patent/CN114144746A/zh active Pending
- 2020-07-01 WO PCT/US2020/040511 patent/WO2021040885A1/en unknown
- 2020-07-01 KR KR1020227002164A patent/KR20220051159A/ko unknown
- 2020-07-01 EP EP20856699.2A patent/EP4018287A4/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20210055921A1 (en) | 2021-02-25 |
US11537375B2 (en) | 2022-12-27 |
EP4018287A4 (en) | 2023-09-20 |
KR20220051159A (ko) | 2022-04-26 |
WO2021040885A1 (en) | 2021-03-04 |
EP4018287A1 (en) | 2022-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11537375B2 (en) | Digitally coordinated dynamically adaptable clock and voltage supply apparatus and method | |
US11658570B2 (en) | Seamless non-linear voltage regulation control to linear control apparatus and method | |
US11444532B2 (en) | Non-linear clamp strength tuning method and apparatus | |
US11774919B2 (en) | Distributed and scalable all-digital low dropout integrated voltage regulator | |
US11742754B2 (en) | Enhanced constant-on-time buck intellectual property apparatus and method | |
US20220197321A1 (en) | Dual loop voltage regulator | |
US20220197519A1 (en) | Multi-level memory system power management apparatus and method | |
US11353914B2 (en) | Workload based adaptive voltage and frequency control apparatus and method | |
US12051976B2 (en) | Dual-folded boot-strap based buck-boost converter | |
CN114253382A (zh) | 统一保留和唤醒夹钳装置和方法 | |
US11205995B2 (en) | Fast start-up crystal oscillator | |
US20220091644A1 (en) | Thermally optimized power delivery | |
CN115378253A (zh) | 计算型电流传感器 | |
CN114253902A (zh) | 处理器峰值电流控制装置和方法 | |
CN113835517A (zh) | 快速动态电容、频率、和/或电压节流装置和方法 | |
US11954501B2 (en) | Apparatus and method for restoring a password-protected endpoint device to an operational state from a low power state | |
US20220393688A1 (en) | Phase locked loop assisted fast start-up apparatus and method | |
US11429172B2 (en) | Digital linear regulator clamping method and apparatus | |
US10944411B1 (en) | PLL capacitor swap technique and low jitter dynamic Digital Controlled Oscillator band select | |
CN113093581A (zh) | 双边沿触发mux-d扫描触发器 | |
US20240154526A1 (en) | Maximum frequency adjustment control for a switched capacitor power converter | |
CN115373505A (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 |