用于通过动态电压脉冲方案来改善功率输送性能的装置、方法和系统的制作方法

文档序号:6362469阅读:178来源:国知局
专利名称:用于通过动态电压脉冲方案来改善功率输送性能的装置、方法和系统的制作方法
用于通过动态电压脉冲方案来改善功率输送性能的装置、方法和系统领域本发明涉及集成电路领域,具体涉及改善功率输送。
背景技术
半导体处理和逻辑设计领域的进步已经允许增加集成电路器件上可存在的逻辑数量。因此,诸如微处理器之类的集成电路的功率需求已急剧增加。作为补救,许多处理器现在支持多种功率/操作状态。当处理器的电流需求类似地波动时,性能状态之间的转换通常导致电压源的较大变化。作为示例,在非常短的时段内,由于这些操作/性能状态转变,处理器电流需求可能从I倍转变到50倍。在此,电压源由于电流需求转变而严重降级——从标称电压的大的过冲和下冲。

典型地,已存在解决该电压源降级的两种途径。在一种设计后情形中,将大量的解耦电容器添加至处理器封装和/或母板以减少电压下降。然而,添加电容器既在金钱上昂贵又在实体上昂贵(电容器占据附加的关键信号路由/布置空间)。在第二种设计前情形中,处理器设计者通过添加保护带(处理器仍能适当工作的容限带)来考虑电压源问题。然而,保护带的增加既导致附加功率损失又导致性能降级,因为设计者受到设计到最坏情况情形的约束。例如,图2示出电流需求变化的实施例。在205,出现处理器的电流需求增加。因此,作为电流需求增加的回应,电压源在210下冲(或下降)。在此,处理器的工作电压被降低。处理器的性能也相似地降低。此外,在215,电流需求减少,这导致过冲220。下冲210与过冲220之间的大小变化通常称为保护带225。如上所述,当保护带225增加时,电容器或最坏情况设计的使用增加,这潜在地导致成本更高、路由空间更少、性能降级以及功耗更大。


本发明通过示例进行说明,而且不旨在受限于附图的各示图。图1示出多处理元件处理器的逻辑表示的实施例。图2示出电流需求对电压源的影响的实施例。图3示出用于补偿处理器的瞬态电流变化的动态电压源脉冲方案的逻辑表示的实施例。图4示出在利用动态电压源脉冲方案的情况下,电流需求对电压源的影响的实施例。图5示出用于补偿处理器的瞬态电流变化的动态电压源脉冲方案的逻辑表示的
另一实施例。图6示出用于补偿处理器的瞬态电流变化的动态电压源脉冲方案的逻辑表示的
另一实施例。
图7示出在所提供的电压中产生临时脉冲的方法的流程图的实施例。图8示出在所提供的电压中产生临时脉冲的方法的流程图的另一实施例。图9示出在所提供的电压中产生临时脉冲的方法的流程图的另一实施例。
具体实施例方式在以下描述中,陈述了诸如特定类型的特定处理器配置、特定功率状态、特定硬件结构、特定表格式、特定电压等等之类的多个特定细节以提供对本发明的透彻理解。然而,对本领域普通技术人员显而易见的是,不一定要采用这些特定细节来实施本发明。在其它实例中,未详细描述公知的组件或方法,诸如特定或替代的处理器体系结构、用于所描述算法的特定逻辑电路/代码、特定电压调节器细节以及处理器的其它特定操作细节,以避免不必要地模糊本发明。本文中描述的方法和装置用于提供动态电压脉冲方案以改善功率输送性能。特定地,关于向微处理器提供电压来讨论该动态脉冲方案。然而,本文中描述的装置和方法不限于此,因为它们可连同用于装置或其部分的任何电源来实现。例如,可遍及功率分配网络在处理器芯片上利用该动态脉冲方案,以改善对该处理器的特定单元或核而不是整个处理器的功率输送。或者,可在嵌入式的小形状因数装置(诸如PDA和手机)中利用该动态脉冲方案。参考图1,示出了包括多个核的处理器的实施例。处理器100包括任何处理器,诸如微处理器、嵌入式处理器、数字信号处理器(DSP)、网络处理器或用于执行代码的其它装置。在一个实施例中,处理器100包括至少两个核——核101和102,它们可包括非对称核或对称核(所示实施例)。然而,处理器100可包括可以是对称的或非对称的任何数量的处理元件。在一个实施例中,处理元件指的是线程单元、线程槽、处理单元、上下文、逻辑处理器、硬件线程、核和/或任何其它元件,这些元件能够保持处理器的状态,诸如执行状态或体系结构状态。换言之,在一个实施例中,处理元件指的是能够独立地与代码(诸如软件线程、操作系统、应用或其它代码)相关联的任何硬件。典型地,物理处理器指的是集成电路,该集成电路潜在地包括任何数量的其它处理元件(诸如核或硬件线程)。核通常指的是位于集成电路上的能够维持独立体系结构状态的逻辑,其中每个独立维持的体系结构状态与至少一些专用的执行资源相关联。与核相比,硬件线程典型地表示位于集成电路上的能够维持独立体系结构状态的任何逻辑,其中被独立维持的体系结构状态共享对执行资源的访问。如可以看到,当某些资源被共享而其它资源专属于体系结构状态时,硬件线程与核的命名之间的界限交迭。不过,核和硬件线程通常被操作系统视为单独的逻辑处理器,其中操作系统能够单独地调度每个逻辑处理器上的操作。如图1所示的物理处理器100包括两个核,即核101和102。在此,核101和102被视为对称核,即这些核具有相同的配置、功能单元和/或逻辑。在另一个实施例中,核101包括无序处理器核,而核102包括有序处理器核。然而,核101和102可从任何类型的核中单独地选择,诸如原生核、受软件管理的核、适于执行原生指令集体系结构(ISA)的核、适于执行转换指令集体系结构(ISA)的核、协同 设计的核或其它已知核。不过,为进一步讨论,以下将进一步详细描述在核101中示出的功能单元,因为核102中的单元以类似方式操作。
如所描绘,核101包括两个硬件线程IOla和101b,两个硬件线程IOla和IOlb也可称为硬件线程槽IOla和101b。因此,在一个实施例中,诸如操作系统之类的软件实体潜在地将处理器100视为四个独立的处理器,即能够并发地执行四个软件线程的四个逻辑处理器或处理元件。此外,第一线程与体系结构状态寄存器IOla相关联,第二线程与体系结构状态寄存器IOlb相关联,第三线程可与体系结构状态寄存器102a相关联,并且第四线程可与体系结构状态寄存器102b相关联。如图所示,体系结构状态寄存器IOla在体系结构状态寄存器IOlb中被复制,因此能够针对逻辑处理器IOla和逻辑处理器IOlb存储单独的体系结构状态/上下文。在核101中,也可复制用于线程IOla和IOlb的其它较小资源,诸如指令指针和重命名分配器逻辑130中的重命名逻辑。诸如重排序器/隐退单元135中的重排序缓冲器、ILTB 120、载入/存储缓冲器、以及队列之类的一些资源可通过分区来共享。诸如通用内部寄存器、页表基本寄存器、低级数据缓存、数据TLB 115、执行单元140、以及无序单元135的部分之类的其它资源潜在地被完全共享。处理器100通常包括其它资源,其它资源可被完全共享、通过分区被共享、或由处理元件指定/专属于处理元件。在图1中,示出了具有处理器的说明性的逻辑单元/资源的纯示例性处理器的实施例。注意,处理器可包括或省去这些功能单元中的任意功能单元,且可包括未描绘的任何其它已知的功能单元、逻辑或固件。如图所示,核101包括简化的、代表性的无序(000)处理器核。000核包括用于预测要被执行/进行的分支的分支目标缓冲器120以及用于存储指令的地址转换条目的指令转换缓冲器(1-TLB) 120。核101进一步包括耦合至取出单元120以用于解码所取出的元素的解码模块125。在一个实施例中,取出逻辑包括分别与线程槽IOlaUOlb相关联的单独定序器。通常,核101与第一指令集体系结构(ISA)相关联,该第一指令集体系结构(ISA)定义/指定能在处理器100上执行的指令。在此,通常作为第一 ISA —部分的机器码指令包括该指令的一部分(称为操作码),该指令引用/指定待 执行的指令或操作。解码逻辑125包括由这些指令的操作码来识别这些指令并在流水线上传递所解码的指令以进行如第一 ISA所定义的处理的电路。例如,在一个实施例中,如以下将更详细讨论的,解码器125包括被设计成或适于识别诸如条件提交指令和/或推测检查点指令之类的特定新指令的逻辑。作为解码器125识别的结果,体系结构或核101采取特定的、预定的动作以执行与适当指令相关联的任务。在一个示例中,分配器和重命名器块130包括分配器,分配器用于保留资源(诸如用于存储指令处理结果的寄存器文件)。然而,线程IOla和IOlb潜在地能够进行无序执行,其中分配器和重命名块130还保留其它资源(诸如用于跟踪指令结果的重排序缓冲器)。单元130还可包括寄存器重命名器,用于将程序/指令引用寄存器重命名为处理器100内部的其它寄存器。重排序/隐退单元135包括诸如上述的重排序缓冲器、加载缓冲器和存储缓冲器之类的组件,以支持无序执行的指令的无序执行和稍后的有序隐退。在一个实施例中,调度器和执行单元块140包括调度器单元,用于调度执行单元上的指令/操作。例如,在具有可用浮点执行单元的执行单元的端口上调度浮点指令。也可包括与执行单元相关联的寄存器文件,以存储信息指令处理结果。示例性的执行单元包括:浮点执行单元、整数执行单元、跳跃执行单元、加载执行单元、存储执行单元以及其它已知的执行单元。较低级的数据高速缓存和数据转换缓冲器(D-TLB) 150耦合至执行单元140。数据高速缓存用于存储最近使用/操作的元素(诸如数据操作数),这些元素在存储器一致性状态下潜在地被保持。D-TLB用于存储最近的虚拟到物理地址转换/线性到物理地址转换。作为特定示例,处理器可包括页表结构,用于将物理存储器分割成多个虚拟页。在此,核101和102共享对较高级或进一步的高速缓存110的访问,较高级或进一步的高速缓存110用于缓存最近取出的元素。注意,较高级或进一步指的是高速缓存级增加或进一步远离执行单元。在一个实施例中,较高级高速缓存110是最后级数据高速缓存一处理器100上的存储器层次中的最后高速缓存,诸如第二或第三级数据高速缓存。然而,较高级高速缓存110不限于此,因为它可与指令高速缓存相关联或包括指令高速缓存。替代地,跟踪高速缓存——一种类型的指令高速缓存——可耦合在解码器125之后,用于存储最近解码的踪迹。

在所描绘的配置中,处理器100还包括总线接口模块105,用于与处理器100外部的设备(诸如系统存储器175、芯片组、北桥或其它集成电路)通信。存储器175可专属于处理器100或与系统中的其它设备共享。存储器175的类型的常见示例包括:动态随机存取存储器(DRAM)、静态RAM (SRAM)、非易失性存储器(NV存储器)以及其它已知的存储设备。如图所示,电源180用于向处理器100提供电压(有时也称为功率或电流)。而且在一个实施例中,因为处理器100的电流需求变化(通过工作负载改变、功率状态改变或负载需求的其他改变),电源180连同动态脉冲逻辑185用于在所提供的电压中提供动态脉冲以补偿电流需求的变化。例如,当检测到瞬态负载事件(电流需求改变的指示器)时,动态脉冲逻辑185向电源180提供脉冲的规范。并且电源180根据所提供的规范产生脉冲以补偿电流需求转变的影响。注意,在一个实施例中,诸如瞬态脉冲之类的脉冲指的是所提供电压电平在短暂时间量内偏离标称(正常、基准)电压;这与所提供电压中的非短暂变化相区别,非短暂变化将改变标称或基准电压(即趋于不变直至标称电压的下一变化的变化)。例如,当处理器100的负载需求从低变为高时,提供幅度高于标称电压电平的脉冲。作为特定说明性示例,如果提供给处理器100的标称或基准电压是IV,则幅度高于标称电压电平(诸如IOOmv)的脉冲导致所提供的总电压在该脉冲持续时间内为1.1V。可按照将电压电平从IV升高至1.1V的任何已知方式来获得1.1V总电压。但作为示例,在使用电压标识符(VID)位来设定标称电压的场合,在该脉冲的持续时间内改变VID位来表示1.1V的标称电压。然后根据正常VID协议使VID位返回至标称IV配置,而无需任何正式的返回请求。因此,当下冲由于电流需求的改变而出现时,它从临时升高的电压电平出现,这导致比先前的非脉冲方案更接近标称电压电平的电压电平。基本上,被提供给该过程的电压电平基于从处理器到电压源的负载需求反馈环而被动态和临时地调整。如图1所描绘,动态脉冲逻辑185跨越了处理器100的逻辑边界。在此,动态脉冲逻辑185可具有处理器100内的多个部分(诸如用于检测/预测电流需求变化的逻辑),而处理器外部的其他部分(诸如用于向电压源180提供脉冲规范的逻辑)可位于处理器100之夕卜。然而,反馈环的任何部分可被放置在任何位置(处理器100之上、处理器100之外或如上所述的组合)。此外,上文和下文的讨论主要集中在处理器的电压源的动态脉冲。然而,在另一实施例中,处理器100可包括用于核或其单元的相似的动态脉冲方案。例如,核101和102可能能够在独立的功率状态下操作或具有不同的工作负载。因此,可在对独立核的电压分配中利用如本文所描述的相似的脉冲方案。此外,因为诸如跟踪高速缓存或分支预测器之类的各个单元被停止供电,所以也在单元或逻辑层面利用动态脉冲以补偿电流需求的此类局部改变。图1示出示例性处理器的抽象、逻辑视图,其具有不同模块、单元和/或逻辑的表示。然而,注意,利用本文中描述的方法和装置的处理器不一定需要包括所示出的单元。而且,处理器可省去所示单元中的一些或全部。此外,图1仅描绘两个核;然而,处理器可包括任何数量的核,诸如同一类型的多个核以及类型各不相同的两个以上核。图1示出以点对点方式通过接口耦合至外部存储器控制器(控制器中枢170)的处理器的实施例。然而,许多现有处理器已经开始包括具有用于互连多个核的环形配置的处理器上存储器接口模块(芯片上模块),以及共享的高速缓存和其它接口。虽然未示出,但在一个实施例中,处理器100包括将核、高速缓存以及存储器控制器组件相耦合的环形互连。在此,利用高速缓存代理来管理物理分布式高速缓存片。作为示例,每个高速缓存组件管理用于并置核(高速缓存代理出于管理分布式高速缓存片的目的而与其相关联的核)的高速缓存片。很大程度上类似于高速缓存代理处理环形互连上的业务量并与高速缓存片对接,核代理/组件用于处理业务量并与核对接。附加地,环形互连可耦合存储器控制器接口逻辑(MCIL)和/或其它控制器以与其它模块(诸如存储器和/或图形处理器)对接。转到图3,示出了用于提供动态脉冲以补偿处理器的电流需求变化的模块的逻辑表示的实施例。电压源305用于将电压310提供给处理器315。电压源305包括能够提供电压的任何已知的硬件、模块或电子组件,诸如电源、电压调节器、功率分配模块、功率选通模块、电压轨、电压标识单元、用于调节供应给负载的输出电压的闭环反馈控制单元等等。在一个特定说明性实施例中,电压源305包括电压调节器(VR)以将多个电压中的任一个电压提供给处理器315。通常,该设计利用电压标识数字(VID)位来标识多个电压中将被提供给处理器的电压。因此,当存储元件被更新为新VID位时(通常被处理器或其他功率单元更新),电压源将所提供电压310相应地更新。例如,当利用八个VID位(或数字信号线)时,256个独特电压电·平中的一个可通过VID位来标识。因此,在本示例中,如果电压范围从O到1.5V,则电压电平可被分成6mV间隔。注意,对VR305和处理器315的描述是说明性实施例。在另一情形下,处理器315被处理器的核或单元替代。而且,电压源305包括用于将电压/功率分配给核/单元的逻辑。在一个实施例中,瞬态逻辑325用于提供处理器315与电压源305之间的反馈环(320、325、330),其中电压源305产生动态脉冲以补偿由该反馈环指示的处理器315中的负载需求改变。作为示例,瞬态控制逻辑325适于接收来自处理器315的瞬态负载事件指示器(影响供电电压的任何改变的任何指示器,诸如负载/电流需求改变)。这样的瞬态事件的示例包括由该设备测得的电流需求变化、该设备的功率状态转变的指示、以及该设备的电流需求将要改变的指示(预测)。在第一示例性情形(测得的电流需求变化)下,负载/电流需求的改变可表示设备内的任意数量的改变,诸如处理器315。作为示例,处理器的电流需求的改变可表示功率状态的改变、工作负载的改变、或电流使用的任何其它改变。因此,可利用用于测量电流(负载)需求的改变的任何已知装置或方法。例如,利用传感器来测量与处理器相关联的任何点处的电流或电压的改变。实际上,虽然示出反馈环从处理器315开始,但可替代地通过测量处理器315的需求改变对由电压源305提供的实际电压的影响,在电压源305处测量处理器315的需求改变。在本示例中,尽管电流需求不是在处理器315处直接测得然后从处理器315发出信号,但反馈环在逻辑上仍始于处理器315处,因为电压源305处的测量结果是源自处理器315的负载改变的影响的表不。如上所述,在一些实施例中,逐单元/逐核地施加动态脉冲方案。然而,在针对整个处理器(处理器315)测得/确定电流需求的改变的情况下,动态脉冲方案潜在地是更全面的实现方式。作为示例,如果八核处理器的一个核从深度睡眠状态进入活动/工作功率状态,则电流需求增加。在此,在该核处产生动态脉冲以补偿需求改变。然而,根据处理器工作负载的余下部分,该处理器的整个电流需求可能或可能不改变。因此,如果整个工作负载保持不变,则在整体电压源中不产生下冲。也就不会出现整个处理器的性能降级。因此,根据实现方式,动态脉冲方案(测量和产生)可能在处理器的任何粒度(整个处理器、逐核、逐线程、逐单元、逐逻辑模块、逐晶体管、等等)下实现。在瞬态事件的第二示例性情形(功率状态转变的指示)下,可利用用于检测或预测功率状态转变的任何已知装置或方法。在一个实施例中,软件实体(操作系统或用户程序)请求处理器315 (或其部分)在功率状态之间转变。高级配置和电源接口(ACPI)规范当前定义了多个不同的功率状态级别,诸如全局功率状态、设备状态以及处理器状态。而且当诸如处理器315之类的设备在这些功率状态之间转变时,处理器315的需求通常也改变。在一个实施例中,这样的改变通过处理器功率管理/控制单元受到控制和/或协调。因此,该瞬态事件可包括从发出或检测来自软件实体的请求到包括功率状态之间的实际转变的任何事件。虽然上文刚刚讨论了功率状态转变的软件请求,但硬件发起的功率状态之间的转变也可类似地被视为瞬态事件。一旦检测到瞬态事件(瞬态逻辑325接收到瞬态事件指示器),则瞬态事件逻辑325将用于动态脉冲的适当规范提供给电压源305作为该瞬态事件的补偿。用于脉冲的规范的范围可包括从脉冲大小/幅度到持续时间、开始时间、延迟、周期、其它波形特性或以上的组合。在一个实施例中,瞬态逻辑325响应于相同的瞬态事件提供相同的脉冲规范。例如,瞬态逻辑325适于保 持脉冲表,该脉冲表具有通过瞬态事件索引的条目。在本示例中,瞬态事件中的每一个与将被提供给电压源305的脉冲的规范相关联。因此,当瞬态逻辑325接收到引用瞬态事件的瞬态事件指示器时,则定位引用该瞬态事件的相应条目。此外,将相关联的用于脉冲的规范提供给电压源305。为了提供说明性示例,查找表的条目可包括与脉冲电压电平(脉冲幅度)、维持该脉冲的时间量(脉冲持续时间)、脉冲开始时间、脉冲的延迟量或以上的组合相关联的瞬态事件。注意,用于脉冲的规范可以是绝对的(诸如脉冲的总电压幅度),或者是相对的(诸如递增地加至标称电压或其它条目)。为了提供更具说明性的细节,假定处理器315存在七种功率状态。并且处理器315可从任何单个功率状态转变至任何其它功率状态。在此,在该表中可能存在具有用于规范的绝对值(诸如幅度)的5040个条目(每个可能的转变有一个条目)。替代地,对于每个功率状态可能存在具有相对幅度值的7个条目。并且当功率状态转变通过每个功率状态条目时,将这些幅度求和。例如,如果每个功率状态与20mV幅度相关联,则从最高功率状态到最低功率状态的转变将导致140mV的脉冲幅度(7状态X20mV)。注意,甚至该求和幅度也可能相对于标称电压。因此,如果所提供的电压是IV,则该脉冲幅度导致在该脉冲的持续时间内的所提供的总电压310为1.14V。如可从这些示例中看出,瞬态逻辑325可使用任何已知的幅度表示,这些幅度表示可用于通过电压源305产生绝对脉冲电压。而且每个单独功率状态或电流需求转变可包括不同的相对或绝对规范。类似地,脉冲的持续时间不仅限于提供给电压源305的时间段。在一个实施例中,电压源305仅仅是提供通过VID位标识的电压的电压调节器。在该示例中,将持续时间的表示提供给电压源305将不会有任何作用。替代地,瞬态逻辑325可保持用于脉冲/电压幅度以及持续时间的VID位(绝对或相对)。继续上述示例,电压源305最初基于VID位产生IV的电压310。处理器315检测到瞬态事件。瞬态事件指示器320被提供给瞬态逻辑325。在本示例中,瞬态逻辑325查找与该瞬态事件相关联的条目,并确定高于标称值140mV的脉冲将被提供达100个循环。基于该条目,瞬态逻辑325将新的VID位提供给电压源305,使电压源305提供1.14V的电压310。经过100个循环之后(在计数器或其他逻辑指示100个循环过去之后),瞬态逻辑325提供原始VID位以使电压310返回至标称的IV。除该脉冲的持续时间之外,该脉冲的开始时间可与瞬态事件相关联。在此,可预测电流需求的改变(瞬态事件),使得在一个实施例中,产生供电电压的改变(脉冲)以与该瞬态事件的开始重合。例如,当接收到功率状态转变的请求时,在接收请求与实际功率状态转变之间可能存在延迟时间量。因此,可将用于补偿负载需求改变的脉冲相似地延迟。注意,开始时间可能指的是绝对值、相对延迟时间或与相应的事件相关联。刚才的讨论已参考了对于每个瞬态事件产生一致的动态脉冲(相同输入、相同输出)。然而,在一个实施例中,动态地调谐电压310中的脉冲以补偿负载的改变。在一个实施例中,在多个脉冲上调谐用于脉冲的规范。在此,最初可产生用于具体瞬态事件的默认或基准脉冲。并确定在脉冲和瞬态事件期间对电压310的影响。基于所确定的影响来更新动态脉冲规范。一旦随后遇到相同的瞬态事件,就将用于该脉冲的新的经过更新的规范提供给电压源。作为说明,可在确定对所提供电压310的影响之后更新来自上述示例的表中的用于脉冲的规范 。在另一实施例中,在该脉冲时间动态地调谐该脉冲。在此,可连续动态地增大/减小该脉冲直到实现对所提供电压的所需影响。参考图4,示出了说明动态脉冲方案的效果的曲线图的实施例。以下讨论可适用于任何版本的动态脉冲方案。然而,为了进一步说明,本说明书集中于图3的示例。在此,由电压源提供所提供电压(电压310)作为标称电压401 (例如IV)。在事件405,出现处理器315的电流需求的增加(瞬态事件)。作为对瞬态逻辑325确定该瞬态事件将要发生(通过预测或实际测量)的响应,通过电压源305提供高于标称电压410 (例如高IOOmV)的动态脉冲410 (例如总电压1.1V),以补偿处理器315的电流需求的增加。如图所示,动态脉冲410高于原始标称电压401。然而,在另一实施例中,瞬态事件可包括功率状态转变,其中标称电压电平(例如0V)将步阶提高,例如从OV到IV。注意,该步阶不是瞬态的、动态的脉冲,而是标称电压的长久改变。在此,该脉冲可以不是高于原始标称电压(例如OV),而是高于新的标称电压(例如IV),以获得所提供的总电压(例如1.1V)。根据图示可以看出,在415,经过增大的高于标称电压的脉冲410减小了所提供的实际电压中的下降/下冲。相似地,当电流需求在420处降低时,在425处产生低于标称401的脉冲。在430,过冲降低。因此,旧的保护带440被显著减小至新的保护带435。随着保护带的减小,上述的大保护带的所有劣势(昂贵电容器的增加、提高的功耗以及降低的性能)也通过动态脉冲方案而显著改善。转到图5,示出用于补偿处理器的瞬态电流变化的动态电压源脉冲方案的逻辑表不的另一实施例。如上所述(图3),电压源505用于将电压510提供给处理器515。在一个实施例中,瞬态控制535适于使电压源505产生动态脉冲以补偿瞬态负载传感器525所检测到的处理器515的负载改变。瞬态负载传感器525包括已知用于检测负载/电流改变的任何已知逻辑和/或方法。作为第一示例,瞬态负载传感器525测量电流需求随时间的改变。在另一示例中,传感器525通过电压510的改变测量需求的改变。换言之,处理器315的需求改变影响电压510 (下冲和过冲)。而且,对电压510的影响表示需求的改变。一旦瞬态负载传感器525测得处理器515的负载改变,瞬态控制535就使电压源505产生动态脉冲,该动态脉冲基于测得的负载改变。作为示例,瞬态控制535和电压源505的组合基于处理器515的负载来动态地调谐所产生的脉冲,以更高效地补偿负载的改变。在另一示例中,在传感器525测量需求随时间的改变(例如电流的改变)的情况下,瞬态控制535使电压源505在电压510中产生脉冲,该脉冲是测得的电流随时间的改变的函数。如上所述,在一个实施例中,瞬态控制逻辑535适于保持查找表。在该场景下,查找表可保持与脉冲规范(振幅/幅度、持续时间等等)相关联的负载/电流需求的改变。注意,电流改变的检测和脉冲产生可立即发生。换言之,当瞬态负载传感器525首先检测到电流需求改变的开始时,在电压510中产生脉冲。当电流需求的改变增大/减小时,脉冲幅度也增大/减小。作为具体示例,假定功率状态转变使处理器515提高电流需求。在测量电流需求改变的开始(例如X电流量的初始改变)处,在电压510中产生初始脉冲。随着电流需求继续增大(增大至超过Y电流量),产生另一更高幅度的脉冲。基本上,随着需求改变不断发生,需求阈值的多个改变使得逐步提高的脉冲被动态地产生。然而,产生动态脉冲不限于立即产生(计入通过用于信号传播和计算的逻辑/单元的正常延迟,尽可能快地产生脉冲)。替代地,可能存在添加的关联延迟。或者,可测量电流需求随时间的改变,并将其用于预测电流需求在未来的改变,如接下来的下文所述。现参考图6,示出用于补偿处理器的瞬态电流变化的动态电压源脉冲方案的逻辑表示的另一实施例。参考图5的讨论主要是参考实际测量需求的改变并通过动态脉冲产生来补偿该需求。然而, 在一个实施例中,采取用于动态脉冲产生的主动方法。在此,负载预测器625用于预测处理器615的负载需求的改变。负载需求改变的预测可通过用于确定电流改变将出现的任何已知方法来实现。例如,代码或执行概况分析可指示将要导致处理器需求改变的工作负载改变;实际上,软件自身可提供用于此用途的提示。作为另一示例,如预测器625进行概况分析的处理器615的实际过往电流需求改变被用于预测未来的电流需求改变。此外,预测可包括更直接的途径。例如,当接收到来自软件实体的请求处理器615在功率状态之间转变的请求时,在一个实施例中,该请求的检测可被视为对当处理器实际在功率状态之间转变时的需求改变的预测。继续此示例,图6描绘了基于功率状态改变的请求的这种预测的一个实施例。在此,功率控制单元617用于接收用于功率状态转变的请求616。该请求可以是硬件产生的请求(中断等等)或软件实体(操作系统、内核、虚拟机控制结构(VMCS)、应用或其他软件实体)的请求。当收到时,P⑶617将该请求告知瞬态负载预测器625。注意,可由P⑶617通过显式信号/指示器来告知预测器625。或者预测器625可监测对P⑶617的请求,从而不传输额外的信号。不论如何,一旦检测到请求,环625、635以及605就采取步骤以产生动态瞬态脉冲以补偿功率状态改变。瞬态控制逻辑625可按照如上所述的相似方式操作。由于预测器625正在预测未来的电流需求改变,因此在一个实施例中,用于保持用于脉冲的规范的任何表或其他存储结构包括该脉冲开始的开始时间(或从当前时间的延迟)。在此,可包括时间、事件或其组合的该开始时间理想地近似电流需求改变的开始,因此该脉冲与电流需求的改变重合。为了进一步讨论瞬态控制625的操作,在上述的一个实施例中,动态地调谐瞬态脉冲以提供对于电流需求改变的最优补偿。在以上讨论中,曾参考随着电流需求改变的脉冲动态改变来讨论调谐。然而,在另一实施例中,可基于瞬态脉冲补偿过去的电流需求改变的效率来调谐瞬态脉冲的规范。在此,基于它们在电流需求改变期间标准化电压610的效率来产生不同幅度的脉冲。通过随时间调节规范(幅度、持续时间、开始时间等等),可获得用于动态脉冲的最优规范。作为示例,假定在从C3 (睡眠功率状态)到CO (完全工作状态)的转变期间,产生IOOmV的动态脉冲(例如高于标称IV的1.1V)达100个循环以补偿功率状态转变。然而,尽管有该动态脉冲,在实际功率状态转变期间仍在电压610中检测到50mV的下冲(例如
0.95V,相比于IV的预期标称电压)。在随后从C3转变至CO的相似转变中,则产生150mV的动态脉冲。未检测到下冲。规范(脉冲幅度)已经经过动态地调谐/调节,以确定最优瞬态脉冲。该示例适用于脉冲幅度的动态调谐,不过相同的调谐也可适用于瞬态脉冲的任何特性(持续时间、开始时间等等)。虽然已经分别讨论了图5和6,但重要的是,预测器和传感器可一起使用。作为示例,可将预测器用于功率状态改变和预测的电流需求改变,同时将传感器全面地用于预测器未能准确地预测电流需求改变的情况。此外,预测器可基于请求来预测功率状态转变。此夕卜,通过电流需求改变的实际传感器测量,可增强功率状态转变的预测开始。转到图7,示出了产生临时脉冲的方法的流程图的实施例。在框705,确定处理器的电流需求改变将要出现。如上所讨论,确定处理器的电流需求的改变将要出现可通过对电流需求改变的开始的实际测量、对电流需求的改变将要出现的预测或其组合来完成。例如,预测包括检测功率状态转变的请求。然而,可通过电流需求的实际改变来测量这样的功率状态转变,同时也可相似地测量其他电流需求改变。在流程710,在被提供给处理器的电压中产生临时脉冲。在一个实施例中,该临时脉冲基于处理器的电流需求的改变。在此,如果电流需求增大,则产生高于标称的临时脉冲。如果电流需求增大,则临时脉冲低于标称。在一个实施例中,临时脉冲的规范与电流需求改变相关/基于电流需求改变。例如,功率状态转变越大(即电流需求改变越大),则临时脉冲大小越大。换言之,为了补偿更大的电流改变,提供更大的临时电压脉冲。用于电流改变的规范与临时脉冲之间的实际关系可基于任何函数或算法。迅速参考图8-9,描绘了用于产生临时脉冲的方法的流程图的说明性实施例。在流程805,测量处理器的电流需求改变的开始。例如,当功率状态转变正在发生或工作负载正在改变时,测量/检测电流 需求的初始改变。为了确定电流需求改变的影响被尽可能地减轻,在流程810,在提供给处理器的电压中产生临时(瞬态)脉冲以补偿处理器的电流需求的改变。代替图8中描述的减轻实施例,图9示出了在功率状态转变时主动提供脉冲的方法的流程图。在流程905,检测到对处理器的功率状态转变请求,诸如来自软件实体的功率状态转变请求。在流程910,确定与功率状态转变相关联的瞬态脉冲表中的条目。作为示例,瞬态脉冲表是通过可能的功率状态转变的表示来索引的查找表。利用任何已知的搜索算法来确定通过该请求引用的当前功率状态转变来索引的条目。在流程915,一旦被标识,就将与该条目中的瞬态事件相关联的规范(脉冲幅度、脉冲持续时间、脉冲开始时间等等)提供给用于处理器的电压源。在流程920,电压源利用那些规范在电压中产生脉冲。作为结果,功率状态转变对电压源的不利影响(性能降低、功耗浪费以及昂贵电容器的使用)被临时改变的电压源减轻。在本文中使用的模块指的是任何硬件、软件、固件、或它们的组合。通常,被示为分开的模块边界一般不同而且有可能重叠。例如,第一和第二模块可共享硬件、软件、固件、或它们的组合,同时可能保留某些独立的硬件、软件或固件。在一个实施例中,术语“逻辑”的使用包括诸如晶体管、寄存器之类的硬件或诸如可编程逻辑器件之类的其它硬件。然而,在另一实施例中,逻辑还包括诸如固件或微代码之类的与硬件集成的软件或代码。如在本文中所使用的值包括数字、状态、逻辑状态、或二进制逻辑状态的任何已知表示。通常,逻辑电平、逻辑值、或多个逻辑值的使用也被称为I和0,这简单地表示了二进制逻辑状态。例如,I指的是逻辑高电平,O指的是逻辑低电平。在一个实施例中,诸如晶体管或闪存单元之类的存储单元能够保持单个逻辑值或多个逻辑值。不过,也使用了计算机系统中的值的其它表示。例如,十进制数字10也可被表示为二进制值1010和十六进制字母A。因此,值包括能保持在计算机系统中的信息的任何表示。而且,状态也可由值或值的部分来表示。作为示例,诸如逻辑I之类的第一值可表示默认或初始状态,而诸如逻辑O之类的第二值可表示非默认状态。此外,在一个实施例中,术语重置和置位分别指的 是默认和已更新的值或状态。例如,默认值可能包括高逻辑值,即重置,而已更新的值可能包括低逻辑值,即置位。注意,值的任何组合可用来表示任意数量的状态。上述方法、硬件、软件、固件或代码的实施例可通过存储在机器可存取或机器可读介质上可由处理元件执行的指令或代码来实现。机器可存取/可读介质包括提供(即存储和/或发送)诸如计算机或电子系统之类的机器可读的形式的信息的任何机制。例如,机器可存取介质包括:诸如静态RAM (SRAM)或动态RAM (DRAM)之类的随机存取存储器(RAM);ROM ;磁或光存储介质;闪存设备;电气存储设备;光存储设备;声存储设备;或其它形式的用于保持传播信号(例如载波、红外信号、数字信号)的存储设备;等等。贯穿本说明书,对“一个实施例”或“一实施例”的引用意味着结合该实施例描述的特定特征、结构或特性被包括在本发明的至少一个实施例中。因此,在本说明书通篇中各处出现的短语“在一个实施例中”或“在实施例中”不一定全部指的是同一实施例。而且,特定特征、结构、或特性可按照任何合适的方式在一个或多个实施例中组合。在上述说明书中,已经参考特定示例性实施例给出了详细描述。然而,显然可对这些实施例作出各种修改和改变,而不背离如所附权利要求所述的本发明的更宽泛精神和范围。因此,说明书和附图应被认为是说明性而非限制性意义。而且,实施例和其它示例性语言的上述使用不一定指的是同一实施例或同一示例,而可能指的是不同和独特的实施例,也有可能是同一实 施例。
权利要求
1.一种装置,包括: 电压源,适于向设备提供多个电压电平;以及 耦合至所述电压源的瞬态控制逻辑,所述瞬态控制逻辑适于接收引用所述设备的瞬态事件的瞬态负载事件指示器,并且作为接收所述瞬态负载事件指示器的响应,使所述电压源在一时间量内提供偏离所述多个电压电平的标称电压的脉冲。
2.如权利要求1所述的装置,其特征在于,还包括瞬态事件逻辑,所述瞬态事件逻辑适于响应于所述设备的瞬态事件产生所述瞬态负载事件指示器,其中所述瞬态事件从由以下项组成的组中选择:测得的所述设备的电流需求的变化;所述设备的功率状态转变的指示;以及所述设备的电流需求将要改变的指示。
3.如权利要求1所述的装置,其特征在于,偏离所述标称电压的脉冲包括响应于包括所述设备的电流需求增大的瞬态事件的高于所述标称电压的脉冲,且包括响应于包括所述设备的电流需求减小的瞬态事件的低于所述标称电压的脉冲。
4.如权利要求1所述的装置,其特征在于,所述瞬态控制逻辑适于使所述电压源在一时间量内提供偏离标称电压的脉冲包括: 所述瞬态控制逻辑适于:保持瞬态脉冲表,所述瞬态脉冲表包括保持与脉冲电压电平和时间量相关联的瞬态事件的条目;响应于接收到所述瞬态负载事件指示器,定位保持在所述瞬态脉冲表中的与所述瞬态事件相对应的条目;以及将脉冲电压电平和时间量的表示提供给所述电压源;以及 响应于从所述瞬态控制逻辑接收所述脉冲电压电平和所述时间量,所述电压源将处于偏离所述标称电压的电压电平的脉冲提供给所述设备。
5.如权利要求1所述的装置,其特征在于,所述瞬态事件包括所述设备的功率状态转变,并且其中所述条目 进一步保持所述脉冲的开始时间的表示,所述开始时间对应于所述设备的功率状态转变。
6.一种装置,包括: 电压源,适于向处理器提供电压; 瞬态负载传感器,适于检测所述处理器的负载的改变;以及 瞬态控制逻辑,适于响应于所述瞬态负载传感器检测到所述处理器的负载的改变,使所述电压源在所述电压中产生动态脉冲以补偿所述处理器的负载的改变。
7.如权利要求6所述的装置,其特征在于,所述动态脉冲振幅和持续时间基于所述处理器的负载的改变。
8.如权利要求7所述的装置,其特征在于,所述动态脉冲振幅和持续时间基于所述处理器的负载的改变包括:所述瞬态控制逻辑进一步适于将与所述处理器的负载的改变的幅度相关联的动态脉冲振幅和持续时间保持在查找表中,并且其中所述瞬态控制逻辑适于使所述电压源在所述电压中产生动态脉冲包括:所述瞬态控制逻辑适于,响应于所述瞬态负载传感器检测到所述处理器的负载的改变的幅度,将所述动态脉冲振幅和持续时间提供给所述电压源。
9.如权利要求6所述的装置,其特征在于,所述动态脉冲振幅和持续时间基于所述处理器的负载的改变包括:所述瞬态控制逻辑进一步适于,基于过去对所述处理器的负载的相同幅度改变的概况分析和先前的脉冲振幅和持续时间对输入处理器的电压的影响,动态地调谐所述动态脉冲振幅和持续时间。
10.如权利要求6所述的装置,其特征在于,所述瞬态负载传感器用于检测所述处理器的负载的改变包括:所述瞬态负载传感器用于检测所述处理器的电流需求的改变的幅度和所述处理器的电流需求的改变的测得持续时间,并且其中所述动态脉冲振幅和持续时间基于所述处理器的负载的改变包括:所述动态脉冲振幅是所述处理器的电流需求的改变的幅度的函数,并且所述持续时间是所述处理器的电流需求的改变的测得持续时间的函数。
11.如权利要求6所述的装置,其特征在于,所述瞬态负载传感器适于检测所述处理器的负载的改变包括:所述瞬态负载传感器适于检测由于所述处理器的负载的改变引起的提供给所述处理器的电压的改变,并且其中所述瞬态控制逻辑适于在所述瞬态负载传感器检测到提供给所述处理器的电压中的改变开始时立即使所述电压源在所述电压中产生动态脉冲。
12.一种装置,包括: 电压源,适于向处理器的至少一部分提供电压; 负载预测器,适于预测所述处理器的所述至少一部分的负载的改变;以及 耦合至所述负载预测器和所述电压源的瞬态控制逻辑,所述瞬态控制逻辑适于使所述电压源在所述电压中产生动态脉冲以补偿所述处理器的负载的改变。
13.如权利要求6所述的装置,其特征在于,所述负载预测器适于预测所述处理器的所述至少一部分的负载的改变包括:所述负载预测器适于检测对所述处理器的功率状态转变的请求,并基于对所述功率状态转变的请求来预测所述处理器的所述至少一部分的负载的改变。
14.如权利要求6所述的装置,其`特征在于,所述瞬态控制逻辑适于使所述电压源在所述电压中产生动态脉冲以补偿所述处理器的负载的改变包括:所述瞬态控制逻辑适于 保持查找表,所述查找表包括将所述处理器的功率状态转变与用于所述电压中的动态脉冲的规范相关联的条目,以及 响应于所述负载预测器检测到对所述处理器的功率状态转变的所述请求,将来自所述查找表中的条目的用于动态脉冲的规范提供给所述电压源。
15.如权利要求6所述的装置,其特征在于,用于所述动态脉冲的规范包括幅度、持续时间以及开始时间。
16.如权利要求6所述的装置,其特征在于,所述负载预测器适于预测所述处理器的所述至少一部分的负载的改变包括:所述负载预测器适于动态地跟踪所述处理器的所述至少一部分的电流需求的概况,并基于所述电流需求的概况来预测所述处理器的所述至少一部分的负载的改变。
17.如权利要求6所述的装置,其特征在于,所述瞬态控制逻辑适于使所述电压源在所述电压中产生动态脉冲以补偿所述处理器的负载的改变包括:所述瞬态控制逻辑适于随时间调谐所述动态脉冲。
18.如权利要求6所述的装置,其特征在于,所述瞬态控制逻辑适于随时间调谐所述动态脉冲包括:所述瞬态控制逻辑适于: 使所述电压源针对所述处理器的负载的改变随时间产生具有不同幅度和持续时间的动态脉冲;确定所述不同幅度和持续时间中的每一个随时间对所述电压的影响; 基于所述不同幅度和持续时间中的每一个随时间对所述电压的影响,确定所述不同幅度和持续时间的最优幅度和持续时间;以及 使所述电压源产生具有所述不同幅度和持续时间的最优幅度和持续时间的所述动态脉冲。
19.一种系统,包括: 处理器,包括功率控制单元,所述功率控制单元适于指示所述处理器将在功率状态之间转变; 电压源,适于向处理器 提供电压;以及 耦合至所述功率控制单元和所述电压源的瞬态控制逻辑,所述瞬态控制逻辑适于,响应于所述功率控制单元指示所述处理器将在功率状态之间转变,使所述电压源在提供给所述处理器的电压中提供动态脉冲。
20.如权利要求19所述的系统,其特征在于,所述功率控制单元适于指示所述处理器将在功率状态之间转变包括:所述功率控制单元适于接收来自软件实体的使所述处理器在功率状态之间转变的请求,并响应于所述功率控制单元基于来自软件实体的所述请求确定所述处理器将在功率状态之间转变,指示所述处理器将在功率状态之间转变。
21.如权利要求19所述的系统,其特征在于,所述瞬态控制逻辑适于响应于所述功率控制单元指示所述处理器将在功率状态之间转变,使所述电压源在提供给所述处理器的电压中提供动态脉冲包括:所述瞬态控制逻辑适于保持用于与功率状态之间的转变相关联的动态脉冲的规范,并响应于所述功率控制单元指示所述处理器将在功率状态之间转变,将用于动态脉冲的所述规范提供给所述电压源。
22.如权利要求19所述的系统,其特征在于,所述功率状态之间的转变包括从深度睡眠功率状态到工作功率状态的转变。
23.—种方法,包括: 确定处理器的负载的改变将出现; 响应于确定所述处理器的负载的改变将出现,在提供给所述处理器的电压中产生临时脉冲,其中所提供电压中的临时脉冲的大小和持续时间基于所述处理器的负载的改变。
24.如权利要求23所述的方法,其特征在于,所提供电压中的临时脉冲的大小和持续时间基于所述处理器的负载的改变包括:所述临时脉冲的大小和持续时间与所述处理器的负载电流的改变成比例。
25.如权利要求23所述的方法,其特征在于,确定处理器的负载的改变将出现包括:检测对所述处理器的功率状态转变的请求;以及响应于检测到所述处理器的功率状态转变的请求,确定所述处理器的负载的改变将出现。
26.如权利要求23所述的方法,其特征在于,响应于确定所述处理器的负载的改变将出现,在提供给所述处理器的电压中产生临时脉冲,其中所述临时脉冲的大小和持续时间基于所述处理器的负载的改变包括: 响应于所述功率状态转变从低功率到高功率状态,在所述电压中产生具有高于提供给所述处理器的电压的闻幅度的闻临时脉冲,其中所述闻幅度对应于所述功率状态转变的闻大小;以及响应于所述功率状态转变从高功率到低功率状态,在所述电压中产生具有低于提供给所述处理器的电压的低幅度的低临时脉冲,其中所述低幅度对应于所述功率状态转变的低大小。
27.如权利要求23所述的方法,其特征在于,确定处理器的负载的改变将出现包括:测量所述处理器的负载的改变的开始;以及响应于测量所述处理器的负载的改变的开始,确定所述处理器的负载的改变将出现。
28.如权利要求23所述的方法,其特征在于,响应于确定所述处理器的负载的改变将出现,在提供给所述处理器的电压中产生临时脉冲,其中所述临时脉冲的大小和持续时间基于所述处理器的负载的改变包括: 在测得所述处理器的电流需求增大的开始时,立即在所述电压中产生具有高于提供给所述处理器的电压的高幅度的高临时脉冲,其中高于所述电压的高幅度对应于所述处理器的电流需求的增大的测得大小;以及 在测得所述处理器的电流需求减小的开始时,立即在所述电压中产生具有低于提供给所述处理器的电压的低幅度的低临时脉冲,其中低于所述电压的低幅度对应于所述处理器的电流需求的减小的测得大小。
29.如权利要求23所述的方法,其特征在于,所述电压中的临时脉冲的大小和持续时间基于所述处理器的负载的改变包括:所述临时脉冲的大小和持续时间被动态地调谐以补偿所述处理器的负 载电流的改变。
全文摘要
本申请描述了用于给电压源提供动态脉冲方案的装置和方法。预测和/或检测处理器的负载(电流)需求事件。响应于该电流需求事件(诸如电流需求的改变),通过电压源产生瞬态电压脉冲以补偿该电流瞬态需求。作为结果,基于该负载电流或该负载电流需求的预测产生的动态电压源脉冲提高了性能、降低了功耗,并且节省了昂贵补偿组件(诸如处理器封装的电容器)的添加。
文档编号G06F1/26GK103250117SQ201180059375
公开日2013年8月14日 申请日期2011年11月28日 优先权日2010年12月9日
发明者L·黄, K·拉维钱德兰 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1