CN109964198A - 基于与微处理器相关联的电压的时钟控制 - Google Patents
基于与微处理器相关联的电压的时钟控制 Download PDFInfo
- Publication number
- CN109964198A CN109964198A CN201780066882.3A CN201780066882A CN109964198A CN 109964198 A CN109964198 A CN 109964198A CN 201780066882 A CN201780066882 A CN 201780066882A CN 109964198 A CN109964198 A CN 109964198A
- Authority
- CN
- China
- Prior art keywords
- frequency
- clock
- voltage
- definition
- controller
- 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
- 230000007423 decrease Effects 0.000 claims abstract description 34
- 230000004044 response Effects 0.000 claims description 56
- 238000000034 method Methods 0.000 claims description 42
- 238000012544 monitoring process Methods 0.000 claims description 5
- 230000008859 change Effects 0.000 claims description 3
- 230000001186 cumulative effect Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 45
- 238000004891 communication Methods 0.000 description 21
- 238000003860 storage Methods 0.000 description 18
- 230000008569 process Effects 0.000 description 17
- 230000006870 function Effects 0.000 description 13
- 230000005611 electricity Effects 0.000 description 11
- 230000000116 mitigating effect Effects 0.000 description 11
- 238000012545 processing Methods 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 6
- 238000001514 detection method Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 238000004519 manufacturing process Methods 0.000 description 5
- 230000009467 reduction Effects 0.000 description 4
- 238000001914 filtration Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000014759 maintenance of location Effects 0.000 description 2
- 230000007257 malfunction Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K5/00—Manipulating of pulses not covered by one of the other main groups of this subclass
- H03K5/125—Discriminating pulses
- H03K5/1252—Suppression or limitation of noise or interference
-
- 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/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/08—Clock generators with changeable or programmable 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/30—Means for acting in the event of power-supply failure or interruption, e.g. power-supply fluctuations
- G06F1/305—Means for acting in the event of power-supply failure or interruption, e.g. power-supply fluctuations in the event of power-supply fluctuations
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/003—Modifications for increasing the reliability for protection
- H03K19/00346—Modifications for eliminating interference or parasitic voltages or currents
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/003—Modifications for increasing the reliability for protection
- H03K19/00369—Modifications for compensating variations of temperature, supply voltage or other physical 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Nonlinear Science (AREA)
- Power Sources (AREA)
- Microcomputers (AREA)
Abstract
各方面提供用于(例如,通过控制与微处理器相关联的时钟)减轻与微处理器相关联的电压下降。例如,系统能够包括微处理器和控制器。微处理器能够接收由时钟缓冲器提供的时钟。控制器能够基于与微处理器相关联的电压来控制由时钟缓冲器提供的时钟的频率。一方面,控制器能够响应于确定电压满足定义的条件而降低时钟频率。另外,控制器能够响应于在电压满足该定义的条件后又确定电压满足另一定义的条件,而逐渐增加时钟频率。
Description
技术领域
本公开一般地涉及微处理器系统,更具体地说,涉及基于与微处理器相关联的电压来控制时钟。
背景技术
微处理器的电压供应必须保持在一定的工作范围内,以防止微处理器出现故障和/或性能下降。但是在微处理器中,电路切换事件中的突然变化(例如,在接收到中断命令时从空闲状态转换出来,等等)是常见的。电流的这种快速变化常常导致提供给微处理器的晶体管的电压水平中的噪声。通常,在这种情况下,微处理器的电压水平会保持一定的裕度。在一个示例中,微处理器能够在较高的电压下运行,以补偿这样的情况。但是,在较高电压下运行微处理器通常会降低微处理器的性能。
上述描述仅用于提供现有微处理器系统的背景概述,并不是详尽无遗的。
发明内容
在示例实施例中,系统包括微处理器和控制器。微处理器配置成接收由时钟缓冲器提供的时钟。控制器配置成:基于与微处理器相关联的电压来控制由时钟缓冲器提供的时钟的频率。一方面,控制器配置成响应于确定电压低于定义的阈值而降低时钟的频率。另一方面,控制器配置成响应于在电压低于定义的阈值后又确定电压等于或高于定义的阈值,而逐渐增加时钟的频率。
在另一示例实施例中,系统包括电压检测器电路和控制器。电压检测器电路配置成监测与微处理器相关联的电压。控制器配置成响应于确定电压满足定义的条件而降低与微处理器相关联的时钟的频率,并响应于在电压满足该定义的条件后满足另一定义的条件,而逐渐增加时钟的频率。
在又一示例实施例中,方法包括:监测与微处理器相关联的电压;响应于检测到电压下降事件,降低提供给微处理器的时钟的频率;以及响应于又确定电压下降事件已结束,逐渐增加时钟的频率。
附图说明
图1是示出根据本文描述的各个方面的微处理器系统的非限制性示例实施例的框图。
图2是示出根据本文描述的各个方面的微处理器系统中包括的控制器的非限制性示例实施例的框图。
图3是示出根据本文描述各个方面的微处理器系统中包括的控制器的另一非限制性示例实施例的框图。
图4是示出根据本文描述的各个方面的微处理器系统中包括的控制器的又一非限制性示例实施例的框图。
图5是示出根据本文描述的各个方面的微处理器系统的另一非限制性示例实施例的框图。
图6是示出了根据本文描述的各个方面的系统的非限制性示例实施例的框图,该系统包括下降减轻逻辑。
图7示出了根据本文描述的各个方面的电压下降减轻的状态图的非限制性示例实施例。
图8示出了减轻与微处理器相关联的电压下降的方法的非限制性示例实施例的流程图。
图9示出了减轻与微处理器相关联的电压下降的方法的非限制性示例实施例的另一流程图。
图10示出了减轻与微处理器相关联的电压下降的方法的非限制性示例实施例的又一流程图。
图11示出了能够根据本文描述的一个或更多个方面实施的示例电子计算环境的框图。
图12示出了能够根据本文描述的各个方面操作的示例数据通信网络的框图。
具体实施方式
现在参考附图描述本公开,其中相同的附图标记始终表示相同的元件。在下面的描述中,出于解释的目的,阐明了许多具体细节以便提供对本发明的详尽的理解。显然,在没有这些具体细节的情况下,也能够实践所公开的各个方面。在其他情况下,熟知的结构和设备以框图版本显示以便于描述本发明。
本公开的各个方面提供用于(例如,通过控制与微处理器相关联的时钟)减轻与微处理器相关联的电压下降。例如,能够由电压检测器电路检测与微处理器相关联的电压下降事件。响应于电压检测器电路检测到电压下降事件,能够将提供给微处理器的时钟切换到比该时钟的正常频率(例如,电流频率)慢的定义的时钟频率。一旦电压下降事件结束(例如,提供给微处理器的电压回到电压下降事件之前提供给微处理器的电压水平),能够逐渐增加时钟的定义的时钟频率,直到时钟的时钟频率回到电压下降事件之前时钟的正常频率。一方面,当电压下降事件发生时,控制器能够降低提供给微处理器的时钟的频率。另外,一旦电压下降事件结束(例如,一旦提供给微处理器的电压回到正常电压水平),控制器能够逐渐增加时钟的频率。因此,可以降低与微处理器相关联的电压下降,并且/或者提高对微处理器系统中电压供应噪声的容限。因此,能够提高避免微处理器故障所需的电压裕度。此外,可以降低微处理器的工作电压(例如,以节约能源)和/或提高微处理器的工作频率(例如,以提高微处理器的性能)。
现在转向图1,其示出了根据本文描述的各个方面的系统100的非限制性示例实施例的框图。系统100能够是包括微处理器102的微处理器系统。在一个示例中,系统100能够与系统级芯片(SoC)相关联。微处理器102能够接收与时钟缓冲器104相关联(例如,由其提供)的时钟(例如,图1中所示的时钟)。例如,提供给微处理器102的时钟能够由时钟缓冲器104驱动。时钟缓冲器104能够是例如微处理器时钟缓冲器。一方面,时钟缓冲器104能够从一组时钟(例如,一组预定义的时钟值)中选择时钟(例如,提供给微处理器102的时钟)。例如,微处理器102能够至少基于提供给微处理器102的时钟(例如,时钟)产生输出(例如,图1中所示的输出)。
系统100还包括控制器106。控制器106能够用于减轻系统100中的电压下降。例如,控制器106能够包括电压下降减轻逻辑,该电压下降减轻逻辑配置成检测和/或响应系统100中的电压下降。控制器106能够基于与微处理器102相关联的电压(例如,图1中示出的电压)控制时钟缓冲器104。例如,控制器106能够提供控制信号(例如图1中示出的控制)给时钟缓冲器104。提供给时钟缓冲器104的控制信号是至少部分基于电压(例如,与微处理器102相关联的电压)(例如,由控制器106)配置的。因此,控制器106能够响应于检测到与电压电压下降(例如,与微处理器102相关联的电压)相关联的电压下降,控制时钟缓冲器104(例如,时钟缓冲器104提供的时钟频率)。在一个示例中,电压(例如,与微处理器102相关联的电压)能够是由微处理器102接收的供应电压(例如,电源供应电压、集成电路供应电压等)。另外或可选地,控制器106能够基于与电压(例如,与微处理器102相关的电压)相关联的噪声的级别来控制时钟缓冲器104。例如,与控制器106通信的电路(未示出)能配置成通过一种或更多种噪声检测技术检测与电压相关联的噪声的级别。因此,控制器106能够检测系统100中的电压噪声(例如,电压供应噪声)。
在实施例中,时钟缓冲器104能够接收输入时钟(例如图1中示出的输入时钟)。时钟缓冲器104能够基于由控制器106生成的控制信号将输入时钟转换为时钟(例如,微处理器102接收的时钟)。例如,时钟缓冲器104能根据控制器106响应于电压而提供的信息,将输入时钟转换为时钟(例如,微处理器102接收的时钟)。控制器106能够基于同步时钟分频修改输入时钟和/或由时钟缓冲器104提供的时钟的频率。一方面,控制器106能够响应于确定电压(例如,与微处理器相关联的电压)满足定义的检测条件,降低输入时钟的频率(例如,时钟缓冲器104提供的时钟能够低于输入时钟)和/或降低时钟缓冲器104提供的时钟的频率。控制器106能够响应于确定电压(例如,与微处理器相关联的电压)低于定义的阈值,降低输入时钟的频率和/或以较低的频率提供时钟。时钟的频率(例如,输入时钟的频率)能够对应于时钟的速度。定义的阈值能够是与某个电压幅值(例如,与噪声相关联的电压幅值)相关联的电压阈值。因此,当电压低于定义的阈值时,控制器106能够控制时钟缓冲器104,以便将时钟缓冲器104提供的时钟切换到较慢的时钟频率(例如,控制器106能够响应于确定电压低于定义的阈值,暂时降低时钟缓冲器104提供的时钟)。另外,低于定义的阈值的电压值能够与电压下降事件相关联。电压下降事件能够与一定量(如不期望的量)的电压噪声相关联。因此,控制器106能够响应于电压下降事件而降低时钟(例如,时钟缓冲器104提供的时钟)的频率。在另一实施方式中,控制器106能够响应于确定电压(例如,与微处理器相关联的电压)满足与电压的时间平均版本相关联的定义的条件(例如,定义的阈值)而降低输入时钟的频率和/或降低由时钟缓冲器104提供的时钟的频率。在又一实施方式中,控制器106能够响应于确定电压(例如,与微处理器相关联的电压)满足与滤波参考电压相关联的定义的条件(例如,定义的阈值),降低输入时钟的频率和/或降低时钟缓冲器104提供的时钟的频率。在又一实施方式中,控制器106能够响应于确定与电压(例如,与微处理器相关联的电压)相关联的电压下降斜率满足定义的条件,降低输入时钟的频率和/或降低由时钟缓冲器104提供的时钟的频率。因此,控制器106能够被配置成响应于快速电压下降事件或缓慢电压下降事件,降低输入时钟的频率和/或降低由时钟缓冲器104提供的时钟的频率。另一方面,除了降低输入时钟的频率和/或由时钟缓冲器104提供的时钟的频率外,控制器106能够响应于确定电压满足定义的检测条件而修改输入时钟和/或由时钟缓冲器104提供的时钟的高时钟相位。另外,控制器106能够响应于确定电压满足定义的检测条件而修改输入时钟和/或由时钟缓冲器104提供的时钟的低时钟相位。因此,控制器106能够增加输入时钟和/或时钟缓冲器104提供的时钟的高时钟相位和低时钟相位。
控制器106能够响应于确定电压(例如,与微处理器相关联的电压)低于定义的阈值而将输入时钟和/或由时钟缓冲器104提供的时钟的频率降低到定义的频率值(例如,第一频率)。在一个示例中,控制器106能够通过对输入时钟频率进行分频来降低输入时钟和/或由时钟缓冲器104提供的时钟的频率(例如,控制器106能够通过将时钟的频率分成一半来降低输入时钟的频率等)。例如,控制器106能够包括时钟分频器逻辑,该时钟分频器逻辑能够被配置成对输入时钟的频率进行分频(例如,降低输入时钟的速度)。在另一示例中,控制器106能够响应于确定电压低于定义的阈值而产生用于时钟缓冲器104的控制信号(例如,控制)。在又一示例中,控制器106能够控制时钟缓冲器104在与第一时钟频率(例如,全频时钟)相关联的第一时钟值和与第二时钟频率(例如,较慢时钟)相关的第二时钟值之间进行选择。第一时钟频率能够对应于降低前(例如,电压下降事件之前)的时钟的频率值。第二时钟频率能够对应于在确定电压(例如,与微处理器相关联的电压)低于定义的阈值之后的降低的频率值。在实施方式中,控制器106能够响应于确定电压(例如,与微处理器相关联的电压)低于定义的阈值,将输入时钟和/或由时钟缓冲器104提供的时钟的频率逐渐降低到定义的频率值(例如,第一频率)。
另外,控制器106能够响应于在电压低于所定义的阈值后又确定电压等于或高于所定义的阈值而逐渐增加输入时钟和/或由时钟缓冲器104提供的时钟的频率。例如,响应于在电压低于定义的阈值之后又确定电压等于或高于定义的阈值,控制器106能够逐渐增加输入时钟和/或由时钟缓冲器104提供的时钟的频率,直到频率达到定义的频率水平。该定义的频率水平能够对应于输入时钟和/或由时钟缓冲器104提供的时钟的在降低之前(例如,电压下降事件之前)的频率。例如,控制器106能够响应于在电压低于定义的阈值之后等于或高于定义的阈值,而重复地逐渐增加时钟频率,直到达到时钟的原始频率。在一个示例中,等于或高于定义的阈值的电压值能够与正常电压水平(例如,与电压下降事件无关的电压水平)相关。例如,定义的频率水平能够是正常频率,其中,时钟缓冲器104的时钟在电压下降事件之前正在运行。
应了解,控制器106能够响应于确定电压(例如,与微处理器相关联的电压)高于定义的阈值而选择性地降低输入时钟和/或由时钟缓冲器104提供的时钟的频率。因此,控制器106能够响应于在电压高于所定义的阈值又确定电压等于或低于所定义的阈值而选择性地增加输入时钟和/或由时钟缓冲器104提供的时钟的频率。
在一个示例中,控制器106能够基于计时器逐渐增加输入时钟和/或由时钟缓冲器104提供的时钟的频率。通过逐渐增加输入时钟和/或由时钟缓冲器104提供的时钟的频率,能够降低与电压相关联的重复电压下降的可能性。一方面,控制器106能包括计数器,用于监测与提供给微处理器的电压相关联的电压下降事件的频率和/或平均长度。例如,控制器106能够响应于确定电压低于定义的阈值而使计数器增加。另外,该控制器能够在返回等于或高于所定义阈值的电压值之前确定电压低于定义的阈值的时间量。
在实施方式中,控制器106能够响应于确定电压低于定义的阈值,将由时钟缓冲器104提供的时钟的频率降低到小于时钟的频率的第一频率。另外,控制器106能够响应于在电压低于定义的阈值后又确定电压等于或高于所定义的阈值,将时钟缓冲器104提供的时钟的第一频率增加到大于第一频率的第二频率。然后,控制器106能够响应于在电压低于所定义的阈值之后又确定电压等于或高于所定义的阈值,将时钟的第二频率增加到大于第二频率的第三频率。在一个示例中,控制器106能够在定义的时间段后将时钟的第二频率增加到大于第二频率的第三频率。例如,计时器能设定该定义的时间段。应了解,控制器还能将第三频率增加到第四频率,等等,直到达到电压下降之前的时钟的频率。
在非限制性示例中,在电压下降事件之前提供给微处理器102的时钟频率(例如,时钟的正常频率)能够等于S。响应于确定提供给微处理器102的电压低于定义的电压阈值,控制器106能够将时钟的频率降低到等于S/2的时钟频率。但是,应了解,时钟的频率(例如,时钟的速度)能够减小到不同的值。然后,响应于又确定电压增加到等于或高于定义的电压阈值,控制器106能够逐渐增加时钟频率,直到时钟频率再次等于S。例如,控制器106最初能够将时钟频率增加到5S/8。然后,控制器106能将时钟频率增加到6S/8,进而增加到7S/8,最后增加到S。然而,应了解,时钟的频率(例如时钟的速度)能够以不同的量逐渐增加。在一个示例中,时钟的频率(例如时钟的速度)能够等量逐渐增加。在另一示例中,时钟的频率(例如时钟的速度)能够不等量地逐渐增加。
因此,系统100能够提供与微处理器(例如,微处理器102)相关联的电压噪声(例如,电压供应噪声)的改善的容限。并且,利用系统100,可以改善避免微处理器故障(例如,微处理器102故障、与微处理器102相关的设置时间冲突、与微处理器102相关的电路故障等)所需的电压裕度(例如,频率/电压保护带)。此外,使用系统100,能够降低微处理器(例如,微处理器102)的工作电压(例如,以节约能源)和/或能够提高微处理器(例如,微处理器102)的工作频率(例如,以提高微处理器的性能)。
现在参考图2,示出了根据本文描述的各个方面的系统200的非限制性示例实施例的框图。系统200包括微处理器102、时钟缓冲器104和控制器106。控制器106包括电压检测器202。在另一实施方式中,电压检测器202能够与控制器106分离和/或与控制器106通信。
电压检测器202能够是电压检测器电路。在一个示例中,电压检测器202能够是硬件电压检测器电路(例如,模拟电压检测器电路)。在另一示例中,电压检测器202能够包括用于检测电压的软件功能。在又一示例中,电压检测器202能够是硬件电压检测器电路和用于检测电压的软件功能的组合。在实施方式中,电压检测器202能够与一组电压检测器电路(例如,一组模拟电压检测器电路)相关联。例如,电压检测器202能够与第一电压检测器电路(例如,第一下降检测器电路)和第二电压检测器电路(例如,第二下降检测器电路)相关。第一电压检测器电路能够连接到与微处理器102接收的电压相关联的通信线路。另外,第一电压检测器电路能够测量与微处理器102接收的电压相关联的噪声。第二电压检测器电路能够接收参考电压,该参考电压与微处理器102接收到的电压不同。另外,第二电压检测器电路能够提供与微处理器102接收的电压相关联的电压下降(例如,绝对电压下降)的指示。
电压检测器202能够监测(例如,连续监测)与微处理器102相关联的电压(例如,提供给微处理器102的电压)。在一个示例中,电压检测器202能够监测与微处理器102接收的电压相关联的通信线路。因此,控制器106能够响应于确定电压检测器202监测的电压低于定义的阈值,降低提供给微处理器102的时钟的频率(例如,时钟的速度)。另外,控制器106能够响应于在电压低于定义的阈值后又确定电压检测器202监测的电压等于或高于定义的阈值,而逐渐增加提供给微处理器102的时钟的频率(例如,时钟的速度)。
一方面,响应于在电压低于定义的阈值之后又确定电压检测器202监测到的电压等于或高于定义的阈值,控制器106能够逐渐增加提供给微处理器102的时钟的频率(例如,时钟的速度),直到频率达到之前设置的降低之前的时钟频率(例如,以前设置的时钟速度)。另一方面,响应于确定电压检测器202监测到的电压低于定义的阈值,控制器106能够将时钟的频率(例如,时钟的速度)降低到小于时钟的频率(例如,时钟的速度)的第一频率(例如,第一速度)。另外,响应于在电压低于所定义的阈值之后又确定由电压检测器202监测的电压等于或高于所定义的阈值,控制器106能够将(例如,提供给微处理器102的)时钟的第一频率(例如,第一速度)增加到大于第一频率(例如,第一速度)的第二频率(例如,第二速度)。然后,控制器106能够将时钟的第二频率(例如,第二速度)增加到大于第二频率(例如,第二速度)的第三频率(例如,第三速度)。
现在参考图3,示出了根据本文描述的各个方面的系统300的非限制性示例实施例的框图。系统300包括微处理器102、时钟缓冲器104和控制器106。控制器106包括电压检测器202和/或时钟逻辑302。
时钟逻辑302能够基于与电压检测器202相关联的信息,配置提供给时钟缓冲器104的控制信号和/或配置由时钟缓冲器104提供的时钟。例如,时钟逻辑302能够响应于确定电压检测器202监测到的电压低于定义的阈值,而降低提供给微处理器102的时钟的频率(例如,时钟的速度),如本文更充分地公开的。另外,时钟逻辑302能够响应于在电压低于定义的阈值之后又确定由电压检测器202监测的电压等于或高于定义的阈值,而逐渐增加提供给微处理器102的时钟的频率(例如,时钟的速度),如本文更充分地公开的。一方面,时钟逻辑302能够与(例如图7中所示的)状态图相关联。例如,时钟逻辑302能够基于与状态图相关联的逻辑逐渐增加提供给微处理器102的时钟的频率(例如,时钟的速度)。
现在参考图4,示出了根据本文所述的各个方面的系统400的非限制性示例实施例的框图。系统400包括微处理器102、时钟缓冲器104和控制器106。控制器106包括电压检测器202、时钟逻辑302和/或计时器402。
另外地或可选地,控制器106(例如,时钟逻辑302)能够基于定时器402逐渐增加提供给微处理器102的时钟的频率(例如,时钟的速度)。例如,定时器402能够确定与逐渐增加时钟频率相关的定义的时间段。在一个示例中,响应于确定电压检测器202监测到的电压低于定义的阈值,控制器106(例如,时钟逻辑302)能够将由时钟缓冲器104提供的时钟的频率(例如,时钟的速度)降低到小于时钟的频率(例如,时钟的速度)的第一频率(例如,第一速度)。此外,响应于在电压低于定义的阈值之后又确定由电压检测器202监测的电压等于或高于所定义的阈值,控制器106(例如,时钟逻辑302)能够将由时钟缓冲器104提供的时钟的第一频率(例如,第一速度)增加到大于第一频率(例如,第一速度)的第二频率(例如,第二速度)。然后,控制器106(例如,时钟逻辑302)能够将由时钟缓冲器104提供的时钟的第二频率(例如,第二速度)增加到大于第二频率(例如,第二速度)的第三频率(例如,第三速度)。控制器106(例如,时钟逻辑302)能够在由计时器402定义和/或管理的定义的时间段后,将第二频率增加到第三频率。在具体实施方式中,控制器106(例如,时钟逻辑302)还能够在计时器402定义和/或管理的另一定义的时间段之后,将第三频率增加到第四频率。该另一定义的时间段可以等于定义的时间段。或者,该另一定义的时间段可以不同于定义的时间段。在一个示例中,能够调整定义的时间段,以匹配与系统400相关联的设备(例如芯片、电路、封装器、管芯等)的频率响应。在另一个示例中,计时器402能够与状态图(例如,如图7中所示的状态图)相关联。
现在参考图5,示出了根据本文描述的各个方面的系统500的非限制性示例实施例的框图。系统500包括微处理器102、时钟缓冲器104和控制器106。控制器106包括时钟逻辑302和/或计时器402。电压检测器202能够耦合到控制器106和与微处理器102接收的电压(例如电压)相关联的通信线路。在一个示例中,电压检测器202能够是硬件电压检测器电路(例如,模拟电压检测器电路)。在另一个示例中,电压检测器202能包括用于检测电压的软件功能。在又一个示例中,电压检测器202能够是硬件电压检测器电路和用于检测电压的软件功能的组合。
现在参考图6,示出了根据本文描述的各个方面的系统600的非限制性示例实施例的框图。系统600包括时钟缓冲器104、控制器106、第一电压检测器602和第二电压检测器604。在实施方式中,第一电压检测器602和第二电压检测器604能够与电压检测器202关联和/或包括在电压检测器202中。
时钟缓冲器104能够包括第一时钟缓冲器组件606和第二时钟缓冲器组件608。第一时钟缓冲器组件606能够接收第一输入时钟(例如,如图6中所示的CLK_PLL)和第二输入时钟(例如,如图6中所示的CLK_SCAN)。第一输入时钟(例如,CLK_PLL)能够是从芯片外接收的输入时钟(例如,从不包括在与时钟缓冲器104相关联的芯片上的设备接收的输入时钟)。第二输入时钟(例如,CLK_SCAN)能够是从锁相环(PLL)接收的输入时钟。
第一电压检测器602和第二电压检测器604能配置成检测与电压(例如电压)相关联的电压异常。例如,第一电压检测器602和第二电压检测器604能接收相同的电压供应。一方面,第一电压检测器602和第二电压检测器604能够连接至与电压和/或微处理器102相关联的通信线路。能够使第一电压检测器602和第二电压检测器604偏压,以便第一电压检测器602检测到与第二电压检测器602不同的响应于电压(例如,相同的供应电压)的电压事件。第一电压检测器602能够被配置成检测与电压(例如,电压)相关联的相对电压下降。在一个示例中,第一电压检测器602能够将电压(例如,电压)与电压的经滤波的版本(例如,电压的经低通滤波的版本等)进行比较。例如,第一电压检测器602能够包括滤波器(例如,低通滤波器),该滤波器能够产生电压的经滤波的版本。在另一示例中,第一电压检测器602能够耦合到滤波器(例如,低通滤波器),该滤波器能够产生电压的经滤波的版本。
第二电压检测器604能够配置成观察与第一电压检测器604不同的电压分布(例如,不同的噪声分布)。第二电压检测器604能够配置成检测与电压(例如,电压)相关联的绝对电压下降。在一个示例中,第二电压检测器604能够比较电压(例如,电压)与参考电压(例如,从管芯外等接收的参考电压)。例如,第二电压检测器604能够接收参考电压。或者,第二电压检测器604能存储参考电压的值。
控制器106能包括下降减轻逻辑610。例如,下降减轻逻辑601能够与时钟逻辑302和/或计时器402相关联和/或能够包括时钟逻辑302和/或计时器402。下降减轻逻辑610能够通过第一电压检测器602和/或第二电压检测器604检测电压下降事件。另外,下降减轻逻辑610能够对电压下降事件做出响应。例如,基于来自第一电压检测器602和/或第二电压检测器604的反馈,下降减轻逻辑610能够生成用于第一时钟缓冲器部件606的第一控制信号(例如,图6中所示的第一控制)和/或用于第二时钟缓冲器组件608的第二控制信号(例如,图6中所示的第二控制)。第一控制信号能够是与由时钟缓冲器104生成的时钟值的配置相关联的控制信号。第二控制信号能够是用于控制与第二时钟缓冲器组件608相关联的多路复用器功能的控制信号。
第一时钟缓冲器组件606能够基于第一输入时钟(例如,CLK_PLL)、第二输入时钟(例如,CLK_SCAN)和/或第一控制信号(例如,第一控制信号)生成第一定义时钟(例如,如图6中所示的CLK_SLOW)和第二定义时钟(例如,如图6中所示的CLK_FAST)。第一定义时钟(例如,CLK_SLOW)能够与比第二定义时钟慢的时钟频率相关联。第二定义时钟(例如,CLK_FAST)能够是例如提供给微处理器102的正常时钟频率。第二时钟缓冲器组件608能够基于第二控制信号(例如,第二控制)选择第一定义时钟(例如,CLK_SLOW)或第二定义时钟(例如,CLK_FAST)。因此,第一定义时钟(例如,CLK_SLOW)或第二定义时钟(例如,CLK_FAST)能够输出为提供给微处理器102的时钟(例如,时钟)。一方面,第二输入时钟(例如,CLK_SCAN)和/或第二定义时钟(例如,CLK_FAST)能够作为反馈提供给控制器106。
图7示出了根据本文描述的各个方面的状态图700的非限制性示例实施例。状态图700能够促进电压下降减轻。一方面,状态图700能够与控制器106、时钟逻辑302、定时器402和/或下降减轻逻辑610相关联。状态图700包括空闲状态702(例如,图7中所示的空闲)、第一状态704(例如,如图7中所示的状态1)、第二状态706(例如,如图7中所示的状态2)、第三状态708(例如,如图7中所示的状态3)和第四状态710(例如,如图7中所示的状态4)。
空闲状态702能够与提供给微处理器102的电压的正常电压水平相关联。例如,空闲状态702能够与等于或高于定义的阈值的电压水平(例如,与电压下降事件无关的电压水平)相关联。响应于与电压相关联的事件(例如,电压下降事件),状态图700能够退出空闲状态702,并能够经由路径712进入第一状态704。例如,响应于确定电压低于定义的阈值,状态图700能够退出空闲状态702,并能够经由路径712进入第一状态704。在第一状态704,与时钟缓冲器104相关联的时钟能够被设置为第一值(例如,如图7中所示的时钟=VALUE_1)。例如,与时钟缓冲器104相关联的时钟频率能够被降低(例如,降低到第一频率,到图6的第一定义时钟等等)。响应于确定电压不再与事件(例如,电压下降事件)相关联,状态图700能够退出第一状态704,并能够经由路径714进入第二状态706。例如,响应于确定电压等于或高于定义的阈值,状态图700能够退出第一状态704,并能够经由路径714进入第二状态706。
在第二状态706,与第一状态704相关联的时钟的第一值能够增加到第二值(例如,如图7中所示的时钟=VALUE_2)。时钟的第二值能够大于时钟的第一值,但小于与空闲状态702相关联的时钟的值。例如,在第二状态706中,与第一状态704相关联的时钟频率能够增加一定的量,使得时钟频率的当前值小于处于空闲状态702时的时钟频率的值。状态图700能够处于第二状态706(例如,由计时器402确定的)第一定义时间段。响应于确定电压仍不与事件(例如电压下降事件)相关联并且已达到第一定义时间段,状态图700能够退出第二状态706,并能够经由路径716进入第三状态708。例如,响应于确定电压仍等于或高于定义的阈值并且已达到第一定义时间段,状态图700能够退出第二状态706,并且能够经由路径716进入第三状态708。另外或可选地,响应于确定电压仍不与事件(例如,电压下降事件)相关联并且未达到第一定义时间段,状态图700能够通过路径718保持到第二状态706。但是,响应于确定电压再次与事件(例如,电压下降事件)相关联,状态图700能够退出第二状态706,并且能够经由路径720返回到第一状态704。例如,响应于确定电压低于定义的阈值,状态图700能够退出第二状态706,并且能够通过路径720返回到第一状态704。
在第三状态708,与第二状态706相关联的时钟的第二值能够增加到第三值(例如,如图7中所示的时钟=VALUE_3)。时钟的第三值能够大于时钟的第二值,但小于与空闲状态702相关联的时钟的值。例如,在第三状态708中,与第二状态706相关联的时钟的频率能够增加一定的量,使得时钟频率的当前值小于处于空闲状态702时的时钟频率的值。状态图700能够处于第三状态708(例如,由计时器402确定的)第二定义时间段。在一个示例中,第二定义时间段能够与第一定义时间段相同。在另一个示例中,第二定义时间段能够不同于第一定义时间段。响应于确定电压仍不与事件(例如电压下降事件)相关联并且已达到第二定义时间段,状态图700能够退出第三状态708,并能够经由路径722进入第四状态710。例如,响应于确定电压仍等于或高于定义的阈值且已达到第二定义时间段,状态图700能够退出第三状态708,并能够经由路径718进入第四状态710。另外或可选地,响应于确定电压仍不与事件(例如,电压下降事件)相关联且未达到第二定义时间段,状态图700能够经由路径724保持到第三状态708。但是,响应于确定电压再次与事件(例如,电压下降事件)相关联,状态图700能够退出第三状态708,并且能够经由路径720返回到第一状态704。例如,响应于确定电压低于定义的阈值,状态图700能够退出第三状态708,并且能够经由路径720返回到第一状态704。
在第四状态710,与第三状态708相关联的时钟的第三值能够增加到第四值(例如,如图7中所示的时钟=VALUE_4)。时钟的第四值能够大于时钟的第三值,但小于与空闲状态702相关联的时钟的值。例如,在第四状态710中,与第三状态708相关联的时钟的频率能够增加一定的量,使得时钟频率的当前值小于处于空闲状态702时的时钟频率的值。状态图700能够处于第四状态710(例如,由计时器402确定的)第三定义时间段。在一个示例中,第三定义时间段能够与第一定义时间段和/或第二定义时间段相同。在另一示例中,第三定义时间段能够与第一定义时间段和/或第二定义时间段不同。响应于确定电压仍不与事件(例如,电压下降事件)相关联并且已达到第三定义时间段,状态图700能够退出第四状态710,并能够经由路径726进入空闲状态702。例如,响应于确定电压仍等于或高于定义的阈值且已达到第三定义时间段,状态图700能够退出第四状态710,并能够经由路径724进入空闲状态702。此外或可选地,响应于确定电压仍然不再与事件(例如,电压下降事件)相关联且未达到第三定义时间段,状态图700能够经由路径728保持到第四个状态710。但是,响应于确定电压再次与事件(例如电压下降事件)相关联,状态图700能够退出第四状态710,并能够经由路径720返回到第一状态704。例如,响应于确定电压低于定义的阈值,状态图700能够退出第四状态710,并能够经由路径720返回到第一状态704。当状态图700回到空闲状态702时,与第四状态710相关联的时钟的第四值能够增加到进入第一状态704之前(例如,电压下降事件之前)的原始时钟值。
在某些时限方式中,本公开中解释的系统、装置或过程的各个方面能够构成机器可执行组件,该机器可执行组件体现在机器中的,例如,体现在与一台或更多台机器关联的一个或更多个计算机可读介质(或介质)中。当由一台或更多台机器(如计算机、计算设备、虚拟机等)执行时,这样的组件可导致该机器执行所描述的操作。例如,系统可以包括用于存储计算机可执行组件和指令的存储器。另外,系统可以包括处理器,以便于系统执行指令(例如,计算机可执行的组件和指令)。
鉴于上文所述的示例系统,可参考图8-10的流程图更好地理解可根据所描述的主题实现的方法。虽然为了简化说明将方法示出和描述为一系列的框,但是应当理解和领会的是,所要求保护的主题不受框的顺序限制,因为一些框可以与本文所描绘和描述的其他框以不同的顺序和/或同时发生。此外,实现下文描述的方法可能不需要所有示出的框。
现在参考图8,示出了一种减轻与微处理器相关联的电压下降的方法的非限制性示例实施例的流程图。方法800能够从块802开始,在块802中检测到与微处理器相关联的电压下降事件。例如,当提供给微处理器的电压(例如,供应电压)低于定义的阈值(例如,定义的电压水平)时,可以检测到电压下降事件。在块804处,响应于电压下降事件,降低提供给微处理器的时钟的频率。例如,能够将提供给微处理器的时钟的频率降低到定义的时钟频率,该定义的时钟频率低于电压下降事件前时钟的频率。在另一个示例中,时钟频率能够通过降低输入时钟来降低。在块806处,响应于确定电压下降事件已结束,将时钟的频率逐渐增加到电压下降事件之前的时钟的值。例如,提供给微处理器的时钟的频率能够逐渐增加,直到时钟频率达到与电压下降事件前时钟的频率相对应的定义的时钟频率。
现在参考图9,示出了减轻与微处理器相关联的电压下降的方法的非限制性示例实施例的另一流程图。方法900能够从块902开始,在块902处,监测提供给微处理器的电压。例如,一个或更多个电压检测电路能够连续监测提供给微处理器的电压和/或与提供给微处理器的电压相关联的通信线路。
在块904处,响应于确定电压低于定义的阈值,降低提供给微处理器的时钟的频率。例如,能够将提供给微处理器的时钟频率降低到定义的时钟频率,该定义的时钟频率低于电压达到定义的阈值前的时钟的频率。一个或更多个电压检测电路能够确定电压低于定义的阈值。
在块906处,响应于确定电压恢复到或高于定义的阈值,逐渐增加时钟的频率。例如,能够逐渐增加提供给微处理器的时钟频率,直到时钟频率达到与电压达到定义的阈值前的时钟的频率相对应的定义的时钟频率。一个或更多个电压检测电路能够确定电压已恢复到或高于定义的阈值。
在另一种实施方式中,在块904处,能够响应于确定电压高于定义的阈值而降低提供给微处理器的时钟的频率。因此,在块906处,响应于确定电压恢复到或低于定义的阈值,能够逐渐增加时钟的频率。
现在参考图10,示出了减轻与微处理器相关联的电压下降的方法的又一非限制性示例实施例的流程图。方法1000能够在块1002处开始,在块1002中,监测提供给微处理器的电压。例如,一个或更多个电压检测电路能够连续监测提供给微处理器的电压和/或与提供给微处理器的电压相关联的通信线路。
在块1004处,响应于确定电压低于定义的阈值,降低提供给微处理器的时钟的频率。例如,能够将时钟的频率降低到低于时钟的频率的第一频率。一方面,能够将时钟的频率进行分频,以降低时钟的频率。一个或更多个电压检测电路能够确定电压低于定义的阈值。
在块1006处,响应于在电压低于定义的阈值后又确定电压等于或高于定义的阈值,逐渐增加时钟的频率,直到时钟频率等于定义的频率值。例如,能够逐渐增加时钟的频率,直到频率达到与电压达到定义的阈值之前的时钟频率相对应的频率水平。一方面,能够将时钟的第一频率增加到大于第一频率的第二频率,其中该第一频率小于在电压达到定义的阈值之前的时钟频率。另外,在定义的时间段后,能够将时钟的第二频率增加到第三频率,该第三频率大于第二频率。如果第三频率不对应于电压达到定义的阈值之前的时钟的频率,则能够将第三频率增加到大于第三频率的第四频率,等等,直到频率达到与电压达到定义的阈值前的时钟频率相对应的频率水平。一个或更多个电压检测电路能够确定电压已恢复到或高于定义的阈值。
在另一种实施方式中,在块1004处,能够响应于确定电压高于定义的阈值,降低提供给微处理器的时钟的频率。因此,在块1006处,响应于在电压高于定义的阈值后又确定电压等于或低于定义的阈值,能够逐渐增加时钟的频率,直到时钟的频率等于定义的频率值。
示例计算环境
如前所述,有利的是,本文所述技术能够应用于任何需要减轻与微处理器相关联的电压下降和/或电压噪声的设备。因此应当理解,手持、便携式和其他计算设备以及各种计算对象预期与各个非限制性实施例结合使用,即结合用于设备可能希望减轻与微处理器相关联的电压下降和/或电压噪声的任何地方。因此,下面描述的图11中的通用远程计算机只是一个示例,所公开的主题能够与任何具有网络/总线互操作性和交互的客户端实现。因此,公开的主题能够在网络化托管服务的环境中实现,在该环境中,牵涉很少或最少的客户端资源,例如,这样的一种网络环境,其中,客户端设备仅充当到网络/总线的接口,比如设置在设备中的对象。
尽管不是必需的,但是公开的主题能够部分地经由操作系统来实现以供服务设备或对象的服务的开发者使用,和/或包括所结合公开主题的组件来运行的应用软件内。软件可以在计算机可执行指令(比如程序模块或组件)的一般语境中描述,该指令由一个或更多个计算机来执行,比如投影显示设备、观看设备或其他设备。本领域技术人员会理解所公开的主题可以与其他计算机系统配置和协议一起使用。
图11因此示出了能够在其中实现本文公开的主题的一个或更多个方面的合适的计算系统环境1100的示例,但是如上面明确的,计算系统环境1100仅是用于设备的合适的计算环境的一个示例,而不旨在暗示对所公开主体的用途或功能的任何限制。计算环境1100也不应解释为具有与示例性操作环境1100中所示的组件的任一个或其组合相关的任何依赖或要求。
参考图11,一种用于实现所公开主题的示例性设备,包括计算机1110版本的通用计算设备。计算机1110的组件可以包括但不限于处理单元1120、系统存储器1130和系统总线1121,该系统总线1121将包括系统存储器的各系统组件耦合到处理单元1120。系统总线1121可以是几种总线结构中的任意一种,包括存储器总线或存储器控制器、外围总线和使用各种总线结构的本地总线。
计算机1110典型地包括各种计算机可读介质。计算机可读介质能够是计算机1110能够访问的任何可用介质。举例来说,但不限于此,计算机可读介质能够包括计算机存储介质和通信介质。计算机存储介质包括以任何用于存储例如计算机可读指令、数据结构、程序模块或其他数据等信息的方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储技术、CD-ROM、数字多功能磁盘(DVD)或其他光盘存储、盒式磁带、磁带、磁盘存储或其他磁存储设备,或任何其他可用于存储所需信息以及可由计算机1110访问的介质。通信介质通常包含计算机可读指令、数据结构、程序模块或调制数据信号中的其他数据,如载波或其他传输机制,并包括任何信息传递介质。
系统存储器1130能够包括易失性和/或非易失性存储器版本的计算机存储介质,比如只读存储器(ROM)和/或随机存取存储器(RAM)。基本输入输出系统(BIOS),包括例如在启动期间帮助计算机1110中的元件之间传输信息的基本例程,可以存储在存储器1130中。存储器1130通常还包含数据和/或程序模块,这些数据和/或程序模块可立即被处理单元1120访问和/或操作。举例来说,但不限于此,存储器1130还能够包括操作系统、应用程序、其他程序模块和程序数据。
计算机1110还可以包括其他可移动/不可移动、易失性/非易失性计算机存储介质。例如,计算机1110能够包括从不可移动非易失性磁介质读取或向其写入的硬盘驱动器、从可移动非易失性磁盘读取或向其写入的磁盘驱动器和/或从可移动易失性光盘(例如CD-ROM或其他光介质)读取或写入的光盘驱动器。能够用于该示性例操作环境的其他可移动/不可移动、易失性/非易失性计算机存储介质包括,但不限于:磁带盒、闪存卡、数字多功能磁盘、数字录像带、固态RAM、固态ROM等。硬盘驱动器通常通过不可移动存储器接口(如接口)连接到系统总线1121,而磁盘驱动器或光盘驱动器通常通过可移动存储器接口(如接口)连接到系统总线1121。
用户可以通过键盘和指向设备(通常称为鼠标、轨迹球或触摸板)等输入设备将命令和信息输入计算机1110。其他输入设备能够包括麦克风、操纵杆、游戏板、卫星天线、扫描仪、无线设备键盘、语音命令等。这些和其他输入设备通常通过耦合到系统总线1121的用户输入1140和相关接口连接到处理单元1120,但可以通过其他接口和总线结构连接,例如并行端口、游戏端口或通用串行总线(USB)。图形子系统也能够连接到系统总线1121。投影显示设备中的投影单元或观看设备或其他类型显示设备中的HUD也能够通过接口(例如输出接口1150)连接到系统总线1121,该接口进而可以与视频存储器通信。除监视器外,计算机还能够包括其他外围输出设备,如扬声器,这些设备可以通过输出接口1150连接。
利用与一台或更多台远程计算机(如远程计算机1170)的逻辑连接,计算机1110能够在联网或分布式环境中运行,而远程计算机1170能够具有与计算机1110不同的媒介功能。远程计算机1170能够是个人计算机、服务器、路由器、网络PC、对等设备、个人数字助理(PDA)、手机、手持计算设备、投影显示设备、观看设备或其他公共网络节点或者任何其他远程媒体消耗或传输设备,可以包括以上相对计算机1110描述的任何或所有元件。图11中所示的逻辑连接包括网络1171,例如局域网(LAN)或广域网(WAN),但也能够包括有线或无线的其他网络/总线。这种网络环境在家庭、办公室、企业范围的计算机网络、内部网和互联网中很常见。
当在LAN联网环境中使用时,计算机1110能够通过网络接口或适配器连接到LAN1171。当在WAN联网环境中使用时,计算机1110通常能够包括通信组件,例如调制解调器或用于在广域网上建立通信的其他工具,例如因特网。通信组件,例如无线通信组件、调制解调器等,能够是内部的或外部的,能够通过输入1140的用户输入接口或其他适当的机制连接到系统总线1121。在联网环境中,相对于计算机1110或其部分描述的程序模块可以存储在远程存储器存储设备中。应认识到,所示和描述的网络连接是示例性的,并且能够使用在计算机之间建立通信链路的其他方法。
示例网络环境
图12提供了示例性的联网或分布式计算环境的示意图。分布式计算环境包括计算对象1210、1212等以及计算对象或设备1220、1222、1224、1226、1228等,这些计算对象或设备可以包括由应用1230、1232、1234、1236、1238和数据存储1240表示的程序、方法、数据存储、可编程逻辑等。可以理解的是,计算对象1210、1212等和计算对象或设备1220、1222、1224、1226、1228等可以包括不同的设备,包括:多媒体显示设备或附图中描述的类似设备;或其他设备,例如移动电话、个人数字助理(PDA)、音频/视频设备,MP3播放器、个人电脑、笔记本电脑等。还应理解,数据存储1240能够包括本文所公开的存储器或其他类似数据存储。
每个计算对象1210、1212等以及计算对象或设备1220、1222、1224、1226、1228等能够直接或间接地通过通信网络1242与一个或更多个其他计算对象1210、1212等以及计算对象或设备1220、1222、1224、1226、1228等通信。虽然在图12中示出为单个元件,但是通信网络1242可以包括向图12的系统提供服务的其他计算对象和计算设备,和/或可以表示多个未示出的互联网络。每个计算对象1210、1212等或计算对象或设备1220、1222、1224、1226、1228等还能够包含能够利用API或适于与本公开的技术和实施例通信或实现本文公开的技术或实施例的其他对象、软件、固件和/或硬件的应用,比如应用1230、1232、1234、1236、1238。
存在支持分布式计算环境的各种系统、组件和网络配置。例如,计算系统能够通过本地网络或广泛分布的网络由有线或无线系统连接在一起。当前,许多网络耦合到提供用于广泛分布式计算的基础设施并且包括许多不同网络的因特网,但是任何网络基础设施都能够用于在本文的各个实施例中描述的示例性通信。
因此,能够使用网络拓扑和网络基础设施的主机,比如客户端/服务器、对等网络或混合架构等的主机。“客户端”是一个类或组的成员,该类或组使用与其无关的另一个类或组的服务。客户端能够是进程,即大致一组指令或任务,其请求由另一程序或进程提供的服务。客户端进程使用所请求的服务,在某些情况下,不必“知道”有关其他程序或服务本身的任何工作细节。
在客户端/服务器架构中,特别是联网系统中,客户端通常是访问由另一台计算机(如服务器)提供的共享网络资源的计算机。在图12中,作为非限制性示例,计算对象或设备1220、1222、1224、1226、1228等能够被看作客户端,而计算对象1210、1212等能够被看作服务器,其中,用作服务器的计算对象1210、1212等提供数据服务,比如从客户端计算对象或设备1220、1222、1224、1226、1228等接收数据、存储数据、处理数据、向客户端计算对象或设备1220、1222、1224、1226、1228等传输数据,但是任何计算机都能够根据情况而被认为是客户端、服务器或二者。
服务器通常是可通过远程或本地网络(例如因特网或无线网络基础设施)访问的远程计算机系统。客户端进程可以在第一计算机系统中活动,服务器进程可以在第二计算机系统中活动,其通过通信介质彼此通信,从而提供分布式功能并允许多个客户端使用服务器的信息收集能力。根据本文所描述的技术而使用的任何软件对象都能够被独立地提供,或者分布在多个计算设备或对象上。
例如,在通信网络1242或总线是因特网的网络环境中,计算对象1210、1212等能够是Web服务器,其他计算对象或设备1220、1222、1224、1226、1228等通过许多已知协议中的任何一种(例如超文本传输协议(HTTP))与之进行通信。作为服务器的计算对象1210、1212等也可以用作客户端,例如计算对象或设备1220、1222、1224、1226、1228等,这可以是分布式计算环境的特征。
在本说明书中,对“一个实施例”、“实施例”、“示例”、“公开的方面”或“方面”的引用意味着针对该实施例或方面描述的特定特征、结构或特性包括在本公开的至少一个实施例或方面中。因此,本说明书中各个地方出现的短语“在一个实施例中”、“一方面”或“在实施例中”不一定都指同一实施例。另外,在各种公开的实施例中,特定特征、结构或特性可以任何适当的方式组合。
本文所用的术语“组件”、“系统”、“引擎”、“架构”等旨在指计算机或电子相关实体,硬件、硬件和软件的组合、软件(例如,在执行中)或固件。例如,组件能够是一个或更多个晶体管、存储单元、晶体管或存储单元的排列、栅极阵列、可编程栅极阵列、特定于应用的集成电路、控制器、处理器、处理器上运行的进程、对象、可执行文件、访问或连接半导体存储器的程序或应用、计算机等或其适当组合。组件能够包括可擦除编程(例如,至少部分存储在可擦除存储器中的过程指令)或硬编程(例如,在制造时烧录到不可擦除存储器中的过程指令)。
举例说明,在存储器和处理器上运行的进程都能够是组件。作为另一个示例,架构能够包括电子硬件(例如,并联或串联晶体管)、处理指令和处理器的排列,它们以适合于电子硬件排列的方式实现处理指令。另外,一种架构能够包括单个组件(例如晶体管、栅极阵列等)或元件的排列(例如,晶体管、与程序电路连接的栅极阵列、电源线、电气接地、输入信号线和输出信号线的串联或并联排列等)。系统能够包括一个或更多个组件以及一个或更多个架构。示例系统能够包括交叉输入/输出线和通栅晶体管的开关块结构,以及电源、信号发生器、通信总线、控制器、I/O接口、地址寄存器等。应该认识到,在定义上会有一些重叠,架构或系统能够是独立的组件,或者是另一架构、系统等的组件。
除上述外,公开的主题还能够是使用典型的制造、编程或工程技术制造硬件、固件、软件或其任何适当组合来控制电子设备以实现所公开的主题的方法、装置或制造物品。本文中使用的术语“装置”和“制造物品”旨在包括电子设备、半导体设备、计算机或可从任何计算机可读装置、载体或介质访问的计算机程序。计算机可读介质能够包括硬件介质或软件介质。另外,介质能够包括非暂时性介质或传输介质。在一个示例中,非暂时性介质能够包括计算机可读硬件介质。计算机可读硬件介质的具体示例能够包括但不限于磁存储设备(例如,硬盘、软盘、磁条…)、光盘(例如,压缩磁盘(CD)、数字多功能磁盘(DVD)…)、智能卡和闪存设备(例如,卡、棒、键驱动器…)。计算机可读传输介质能够包括载波等。当然,本领域技术人员将认识到,在不偏离所公开主题的范围或精神的情况下,可以对该配置进行许多修改。
上述内容包括本发明的示例。当然不可能为了描述本发明而描述组件或方法的每种可设想的组合,但本领域的普通技术人员可以认识到本发明的许多进一步组合和排列是可能的。因此,所公开的主题旨在涵盖落入本公开精神和范围内的所有此类变更、修改和变型。另外,在具体实施方式或权利要求中使用的术语“包括”、“包含”或“具有”及其变体的范围内,这种术语旨在是非排他性的,类似于权利要求中的“包括”在用作过渡词时被解释成的“包括”的方式。
另外,单词“示例性”在本文中用于表示用作示例、实例或说明。本文中描述为“示例性”的任何方面或设计不一定被解释成比其他方面或设计优选或有利。相反,使用示例性一词是为了以具体的方式呈现概念。如本申请中所用的,“或”一词的意思是包括性的“或”而非排他的“或”。也就是说,除非另有定义的,或者从上下文中明确可见的,否则“X使用A或B”是指任何自然的包括性组合。也就是说,如果X使用A;X使用B;或X同时使用A和B,则“X使用A或B”满足上述任何情况。另外,除非另有定义的或上下文明确指向单数版本,否则本申请和所附权利要求书中使用的冠词“一个”和“一”一般应理解为“一个或更多个”版本。
另外,具体实施方式的某些部分已呈现为对电子存储器中的数据比特的处理操作或算法。这些过程描述或表示是本领域技术人员用来有效地将其工作的实质传达给其他具有同等技术的人的机制。一般来说,在这里,过程被设想成产生期望的结果的自洽的动作序列。这些动作需要对物理量进行物理操作。通常,尽管不一定,这些量的版本是能够被存储、传输、组合、比较和/或以其他方式操作的电信号和/或磁信号。
事实证明,主要出于常用的原因,将这些信号称为位、值、元素、符号、字符、术语、数字等是方便的。然而,应记住,所有这些术语和类似术语都与适当的物理量相关联,并且仅是适用于这些量的方便标签。除非上述讨论中另有明确说明或明显可见,否则在所公开的主题中,利用诸如处理、计算、确定或显示等术语的讨论指的是处理系统和/或类似的消费者或工业电子设备或机器的动作或过程,其将电子设备的寄存器或存储器内以物理(电气和/或电子)量表示的数据操作或转换成以机器和/或计算机系统存储器或寄存器或其他此类信息存储、传输和/或显示设备内类似地表示为物理量的其他数据。
关于上述组件、架构、电路、过程等执行的各种功能,用于描述这些组件的术语(包括对“手段”的引用)旨在对应于执行所描述的组件的特定功能的任何组件,(例如,功能等效物),即使在结构上不等同于所公开执行所述实施例的示例性方面的功能的结构,另有说明的除外。另外,虽然可能仅针对几个实施方式中的一个公开了一个特定的特征,但由于对于任何给定的或特定的应用是期望的或有利的,该特征可以与其他实施方式中的一个或更多个其他特征结合起来。还应认识到,实施例包括系统以及具有计算机可执行指令的计算机可读介质,用于执行各种过程的动作和/或事件。
Claims (15)
1.一种用于与电压下降相关联地控制时钟缓冲器的频率的系统,包括:
微处理器,其配置成接收由时钟缓冲器提供的时钟;以及
控制器,其配置成基于与微处理器相关联的电压来控制由时钟缓冲器提供的时钟的频率,控制器进一步配置成响应于满足与电压相关联的定义的条件而降低时钟的频率,并且响应于满足与电压相关联的另一定义的条件而逐渐增加时钟的频率。
2.根据权利要求1所述的系统,其中,控制器配置成控制对时钟缓冲器接收的输入信号的更改。
3.根据权利要求1所述的系统,其中,控制器配置成响应于确定电压低于定义的阈值而降低时钟的频率,以及响应于在电压低于所述定义的阈值之后又确定电压等于或高于所述定义的阈值而逐渐增加时钟的频率。
4.根据权利要求3所述的系统,其中,控制器配置成响应于在电压低于所述定义的阈值之后又确定电压等于或高于所述定义的阈值而逐渐增加时钟的频率,直到所述频率达到定义的频率水平。
5.根据权利要求3所述的系统,其中,控制器配置成响应于在低于所述定义的阈值之后电压等于或高于所述定义的阈值而重复地逐渐增加时钟的频率,直到达到时钟的原始频率。
6.根据权利要求1所述的系统,其中,控制器配置成:响应于确定电压低于定义的阈值而将时钟的频率降低到小于时钟的频率的第一频率,并且
其中,控制器配置成:响应于在电压低于所述定义的阈值之后又确定电压等于或高于所述定义的阈值,将时钟的第一频率增加到大于第一频率的第二频率,并在定义的时间段后将时钟的第二频率增加到大于第二频率的第三频率。
7.根据权利要求1所述的系统,其中,控制器配置成通过对时钟的频率进行分频来降低时钟的频率。
8.根据权利要求1所述的系统,其中,控制器配置成基于计时器逐渐增加时钟的频率。
9.一种提高对电压供应噪声的容限的系统,包括:
电压检测器电路,其配置成监测与微处理器相关联的电压;以及
控制器,其配置成:响应于确定电压满足定义的条件而降低与微处理器相关联的时钟的频率,以及响应于在电压满足所述定义的条件后又确定电压满足另一个定义的条件而逐渐增加时钟的频率。
10.根据权利要求9所述的系统,其中,控制器配置成:响应于电压低于定义的阈值而降低时钟的频率,以及响应于在电压低于定义的阈值后又确定电压等于或高于所述定义的阈值而逐渐增加时钟的频率。
11.根据权利要求9所述的系统,其中,控制器配置成:响应于确定电压低于定义的阈值而将时钟的频率降低到小于时钟的频率的第一频率,并且
其中,控制器配置成:响应于在电压低于所述定义的阈值之后又确定电压等于或高于所述定义的阈值,而将时钟的第一频率增加到大于第一频率的第二频率,将时钟的第二频率增加到大于第二频率的第三频率。
12.一种提高对电压供应噪声的容限的方法,包括:
监测与微处理器相关联的电压;
响应于检测到电压下降事件,降低提供给微处理器的时钟的频率;以及
响应于又确定电压下降事件已结束,逐渐增加时钟的频率。
13.根据权利要求12所述的方法,其中,所述逐渐增加时钟的频率包括:逐渐增加时钟的频率,直至该频率达到定义的频率水平或直至达到时钟的原始频率为止。
14.根据权利要求12所述的方法,其中,所述降低时钟的频率包括:将时钟的频率降低到小于时钟的频率的第一频率,并且
其中,所述增加时钟的频率包括:将时钟的第一频率增加到大于第一频率的第二频率,并在定义的时间段后将时钟的第二频率增加到大于第二频率的第三频率。
15.根据权利要求12所述的方法,其中,所述降低时钟的频率包括对时钟的频率进行分频。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/256,787 US10348281B1 (en) | 2016-09-06 | 2016-09-06 | Clock control based on voltage associated with a microprocessor |
US15/256,787 | 2016-09-06 | ||
PCT/US2017/045825 WO2018048550A1 (en) | 2016-09-06 | 2017-08-08 | Clock control based on voltage associated with a microprocessor |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109964198A true CN109964198A (zh) | 2019-07-02 |
Family
ID=61562834
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780066882.3A Pending CN109964198A (zh) | 2016-09-06 | 2017-08-08 | 基于与微处理器相关联的电压的时钟控制 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10348281B1 (zh) |
EP (1) | EP3510468A4 (zh) |
JP (1) | JP6739652B2 (zh) |
CN (1) | CN109964198A (zh) |
WO (1) | WO2018048550A1 (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10860051B2 (en) * | 2018-09-10 | 2020-12-08 | Qualcomm Incorporated | Proactive clock gating system to mitigate supply voltage droops |
JP7187267B2 (ja) * | 2018-10-31 | 2022-12-12 | キヤノン株式会社 | 情報処理装置及びその制御方法 |
US10901018B2 (en) | 2018-12-18 | 2021-01-26 | Marvell Asia Pte, Ltd. | System and method for droop detection |
US10996738B2 (en) * | 2018-12-18 | 2021-05-04 | Marvell Asia Pte, Ltd. | System and method for compensating for a droop event |
US10686582B1 (en) * | 2019-02-25 | 2020-06-16 | Intel Corporation | Clock phase compensation apparatus and method |
US11209886B2 (en) * | 2019-09-16 | 2021-12-28 | Microsoft Technology Licensing, Llc | Clock frequency adjustment for workload changes in integrated circuit devices |
GB2590660B (en) * | 2019-12-23 | 2022-01-05 | Graphcore Ltd | Reactive droop limiter |
US11442082B2 (en) | 2019-12-23 | 2022-09-13 | Graphcore Limited | Droop detection |
JP2022168364A (ja) * | 2021-04-26 | 2022-11-08 | 富士通株式会社 | 半導体装置及びクロック制御方法 |
US11239846B1 (en) * | 2021-06-01 | 2022-02-01 | SambaNova Systems, Inc. | Variable-length clock stretcher with correction for glitches due to phase detector offset |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6311287B1 (en) * | 1994-10-11 | 2001-10-30 | Compaq Computer Corporation | Variable frequency clock control for microprocessor-based computer systems |
US20020130712A1 (en) * | 2001-03-16 | 2002-09-19 | Naffziger Samuel D. | System and method utilizing on-chip voltage monitoring to manage power consumption |
US6675301B1 (en) * | 1999-10-26 | 2004-01-06 | Mitsubishi Denki Kabushiki Kaisha | Microcomputer malfunction preventive apparatus and microcomputer malfunction preventive method |
US20090063065A1 (en) * | 2007-08-31 | 2009-03-05 | Weekly Roger D | Application of Multiple Voltage Droop Detection and Instruction Throttling Instances with Customized Thresholds Across a Semiconductor Chip |
US20120187991A1 (en) * | 2011-01-25 | 2012-07-26 | Advanced Micro Devices, Inc. | Clock stretcher for voltage droop mitigation |
US20150002197A1 (en) * | 2013-06-28 | 2015-01-01 | Stmicroelectronics International N.V. | System and method for variable frequency clock generation |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6532574B1 (en) | 2000-08-17 | 2003-03-11 | International Business Machines Corporation | Post-manufacture signal delay adjustment to solve noise-induced delay variations |
JP2002202829A (ja) * | 2000-12-28 | 2002-07-19 | Fujitsu Ltd | マイクロコンピュータ |
US6876239B2 (en) | 2001-07-11 | 2005-04-05 | Micron Technology, Inc. | Delay locked loop “ACTIVE command” reactor |
US6922111B2 (en) | 2002-12-20 | 2005-07-26 | Intel Corporation | Adaptive frequency clock signal |
US7225349B2 (en) | 2003-07-25 | 2007-05-29 | Intel Corporation | Power supply voltage droop compensated clock modulation for microprocessors |
US7712111B2 (en) | 2004-06-08 | 2010-05-04 | Covia Labs, Inc. | Method and system for linear tasking among a plurality of processing units |
US7772889B2 (en) | 2008-04-09 | 2010-08-10 | Globalfoundries Inc. | Programmable sample clock for empirical setup time selection |
US7937563B2 (en) | 2008-05-27 | 2011-05-03 | Advanced Micro Devices, Inc. | Voltage droop mitigation through instruction issue throttling |
US8949666B2 (en) | 2009-02-12 | 2015-02-03 | President And Fellows Of Harvard College | Adaptive event-guided system and method for avoiding voltage emergencies |
US8060766B2 (en) | 2009-03-06 | 2011-11-15 | Oracle America, Inc. | Microprocessor performance and power optimization through inductive voltage droop monitoring and correction |
US8775854B2 (en) * | 2009-11-13 | 2014-07-08 | Marvell World Trade Ltd. | Clock turn-on strategy for power management |
US8497694B2 (en) | 2010-02-10 | 2013-07-30 | Qualcomm Incorporated | On-chip sensor for measuring dynamic power supply noise of the semiconductor chip |
US8648645B2 (en) | 2010-05-25 | 2014-02-11 | Oracle International Corporation | Microprocessor performance and power optimization through self calibrated inductive voltage droop monitoring and correction |
US8510582B2 (en) | 2010-07-21 | 2013-08-13 | Advanced Micro Devices, Inc. | Managing current and power in a computing system |
US8892922B2 (en) * | 2010-11-30 | 2014-11-18 | Apple Inc. | Voltage detection |
US8587357B2 (en) | 2011-08-25 | 2013-11-19 | International Business Machines Corporation | AC supply noise reduction in a 3D stack with voltage sensing and clock shifting |
US8862909B2 (en) | 2011-12-02 | 2014-10-14 | Advanced Micro Devices, Inc. | System and method for determining a power estimate for an I/O controller based on monitored activity levels and adjusting power limit of processing units by comparing the power estimate with an assigned power limit for the I/O controller |
US8924758B2 (en) | 2011-12-13 | 2014-12-30 | Advanced Micro Devices, Inc. | Method for SOC performance and power optimization |
TWI470906B (zh) * | 2012-07-04 | 2015-01-21 | Leadtrend Tech Corp | 適用於一次側控制之定電流控制單元以及相關之控制方法 |
US10020931B2 (en) | 2013-03-07 | 2018-07-10 | Intel Corporation | Apparatus for dynamically adapting a clock generator with respect to changes in power supply |
US9298250B2 (en) | 2013-08-06 | 2016-03-29 | Globalfoundries Inc. | Reconfigurable circuit to emulate system critical paths |
US9772375B2 (en) | 2014-08-01 | 2017-09-26 | Oracle International Corporation | High sensitivity digital voltage droop monitor for integrated circuits |
US9413344B2 (en) | 2014-09-08 | 2016-08-09 | Qualcomm Incorporated | Automatic calibration circuits for operational calibration of critical-path time delays in adaptive clock distribution systems, and related methods and systems |
US9634676B2 (en) * | 2015-07-01 | 2017-04-25 | Qualcomm Incorporated | Circuits and methods providing clock frequency adjustment in response to supply voltage changes |
-
2016
- 2016-09-06 US US15/256,787 patent/US10348281B1/en active Active
-
2017
- 2017-08-08 CN CN201780066882.3A patent/CN109964198A/zh active Pending
- 2017-08-08 JP JP2019534635A patent/JP6739652B2/ja active Active
- 2017-08-08 WO PCT/US2017/045825 patent/WO2018048550A1/en active Search and Examination
- 2017-08-08 EP EP17849269.0A patent/EP3510468A4/en active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6311287B1 (en) * | 1994-10-11 | 2001-10-30 | Compaq Computer Corporation | Variable frequency clock control for microprocessor-based computer systems |
US6675301B1 (en) * | 1999-10-26 | 2004-01-06 | Mitsubishi Denki Kabushiki Kaisha | Microcomputer malfunction preventive apparatus and microcomputer malfunction preventive method |
US20020130712A1 (en) * | 2001-03-16 | 2002-09-19 | Naffziger Samuel D. | System and method utilizing on-chip voltage monitoring to manage power consumption |
US20090063065A1 (en) * | 2007-08-31 | 2009-03-05 | Weekly Roger D | Application of Multiple Voltage Droop Detection and Instruction Throttling Instances with Customized Thresholds Across a Semiconductor Chip |
US20120187991A1 (en) * | 2011-01-25 | 2012-07-26 | Advanced Micro Devices, Inc. | Clock stretcher for voltage droop mitigation |
US20150002197A1 (en) * | 2013-06-28 | 2015-01-01 | Stmicroelectronics International N.V. | System and method for variable frequency clock generation |
Also Published As
Publication number | Publication date |
---|---|
JP2019532448A (ja) | 2019-11-07 |
WO2018048550A1 (en) | 2018-03-15 |
EP3510468A1 (en) | 2019-07-17 |
US10348281B1 (en) | 2019-07-09 |
JP6739652B2 (ja) | 2020-08-12 |
EP3510468A4 (en) | 2020-04-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109964198A (zh) | 基于与微处理器相关联的电压的时钟控制 | |
US10969851B2 (en) | Power management on an electronic device | |
CN104156171B (zh) | 防止移动终端横屏状态下触摸按键误操作的方法及装置 | |
CN106020990A (zh) | 一种中央处理器的控制方法及终端设备 | |
CN108776599B (zh) | 预加载应用的管理方法、装置、存储介质及智能终端 | |
US20180129537A1 (en) | Managing memory usage using soft memory targets | |
CN104461746B (zh) | 一种基于Android系统的内存空间优化方法及系统 | |
CN102801649A (zh) | 建立即时通信交互界面快捷方式的方法及客户端 | |
CN104239139A (zh) | 一种处理开机自启动项目的方法、装置及终端 | |
CN106471518B (zh) | 基于用户相关信号在两种电源状态之间的转换 | |
WO2012091704A1 (en) | Environment-dependent dynamic range control for gesture recognition | |
CN106060909A (zh) | 一种网络连接方法及移动终端 | |
US10356030B2 (en) | Battery efficient synchronization of communications using a token bucket | |
CN107463435A (zh) | 应用进程优先级管理方法、装置、存储介质及电子设备 | |
CN111625195B (zh) | 用于服务器扩容的方法及装置 | |
CN107463445A (zh) | 应用进程优先级管理方法、装置、存储介质及电子设备 | |
CN103870319B (zh) | 信息处理方法、装置及电子设备 | |
CN101873217A (zh) | 一种以太网供电设备重启控制方法及其装置 | |
US11508395B1 (en) | Intelligent selection of audio signatures based upon contextual information to perform management actions | |
TWI625613B (zh) | 控制系統及控制方法 | |
CN108762786A (zh) | 一种服务器机柜的固件更新方法、服务器机柜及主机 | |
CN110413153A (zh) | 一种防误触方法、装置及存储介质 | |
CN103744741A (zh) | 一种解决终端运行故障的方法及终端 | |
CN105117323B (zh) | 一种终端及其cpu或内存的状态检测方法 | |
CN109844688A (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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20190702 |