动态电压转变 【技术领域】
本发明涉及集成电路。更具体地说,本发明涉及动态改变工作电压电平的技术。
背景技术
由于电路的能耗与电路电源电压的平方有关(E ∝ CVdd2,式中Vdd为电源电压),因此适当降低电源电压就可显著节约电能。因此,复杂的集成电路,例如微处理器,都用越来越低的电源电压进行设计。但低电源电压的一个缺点通常是增加了延迟时间(D∝Vdd(Vdd-VT)α,]]>式中VT为阈电压,α则与晶体管中电子迁移率的下降密切相关)。
一种先有的解决方案是对处理器关键路径上的电路使用高电源电压,对不在处理器关键路径上的电路使用较低的电压。由于不在处理器关键路径上的电路可以以增加的延迟时间工作而不会对处理器的整体运行造成不利影响,这种解决方案可以节约电能。这种解决方案的进一步分析可参阅:D.Marculeus,“Power EfficientProcessors Using Multiple Supply Voltages,”Workshop onCompilers and Operating Systems for Low Power,2000以及M.C.Johnson,et al.,“Datapath Scheduling with Multiple SupplyVoltages and Level Converters,”Proceedings of the IEEEInternational Symposium on Circuitsa nd Systems,1997(HongKong)。但这些解决方案仅对处理器的一部分提供较低的电源电压(因而节约电能)。
【发明内容】
本发明地目的是提供用于动态改变集成电路的工作电压电平的方法和装置。
根据本发明的第一方面,提供一种方法,所述方法包括:利用第一电源电压电平使集成电路工作;从集成电路向稳压电源发送向集成电路提供第二电源电压电平的指示;从稳压电源接收第二电源电压电平;以及利用第二电源电压电平使集成电路工作,其中,集成电路在转变于第一电源电压电平下的工作和第二电源电压电平下的工作之间时不改变工作方式。
所述方法还包括:从集成电路向稳压电源发送向集成电路提供第三电源电压电平的指示;从稳压电源接收第三电源电压电平;以及利用第三电源电压电平使集成电路工作,其中,集成电路在转变于第二电源电压电平下的工作和第三电源电压电平下的工作之间时不改变工作方式。
所述方法还包括:在从第一电源电压电平转变到第二电源电压电平之间以及从第二电源电压电平转变到第三电源电压电平之间至少等待一段预定的时间段。
所述稳压电源在第一电源电压电平和第二电源电压电平之间提供多个中间电源电压。
第一电源电压电平高于或低于第二电源电压电平。
根据本发明的第二方面,提供一种方法,所述方法包括:利用稳压电源向集成电路提供第一电源电压;从集成电路接收由稳压电源向集成电路提供第二电源电压电平的指示;利用稳压电源向集成电路提供第二电源电压,其中,集成电路在转变于第一电源电压电平下的工作和第二电源电压电平下的工作之间时不改变工作方式。
所述方法还包括:从集成电路接收由稳压电源向集成电路提供第三电源电压电平的指示;利用稳压电源向集成电路提供第三电源电压,其中,集成电路在转变于第二电源电压电平下的工作和第三电源电压电平下的工作之间时不改变工作方式。
根据本发明的第三方面,提供一种装置,所述装置包括:具有控制电路和连接到控制电路的稳压电源控制器的集成电路;连接到稳压电源控制器的稳压电源,其中,稳压电源向集成电路提供第一电源电压,稳压电源控制器向集成电路发送向集成电路提供第二电源电压的指示,稳压电源对接收指示作出响应而向集成电路提供第二电源电压,以及集成电路在转变于第一电源电压和第二电源电压下的工作之间时不改变工作方式。
所述控制电路包括一个或多个状态机。
所述集成电路包括处理器。
根据本发明的第四方面,提供一种装置,所述装置包括:用于利用第一电源电压电平使集成电路工作的装置;用于从集成电路向稳压电源发送向集成电路提供第二电源电压电平的指示的装置;用于从稳压电源接收第二电源电压电平的装置;以及用于利用第二电源电压电平使集成电路工作的装置,其中,集成电路在转变于第一电源电压电平下的工作和第二电源电压电平下的工作之间时不改变工作方式。
根据本发明的第五方面,提供一种装置,所述装置包括:用于利用稳压电源向集成电路提供第一电源电压的装置;用于从集成电路接收由稳压电源向集成电路提供第二电源电压电平的指示的装置;用于利用稳压电源向集成电路提供第二电源电压的装置,其中,集成电路在转变于第一电源电压电平下的工作和第二电源电压电平下的工作之间时不改变工作方式。
【附图说明】
附图中作为实例而非限制图解说明本发明,附图中相同的标号指的是相同的元件。
图1是支持集成电路动态工作电压转变的体系结构的一个实施例的方框图。
图2是电压与频率关系曲线的一个实施例,从概念上说明有效和无效的电压/频率组合。
图3是提高电源电压电平时VID代码和电源电压之间的概念关系的图解说明。
图4是降低电源电压电平时VID代码和电源电压之间的概念关系的图解说明。
图5示出存储与动态电压转变相关联的参数的寄存器的一个实施例。
图6是动态电源电压转变实例的定时图。
图7是电源电压动态转变的一个实施例的流程图。
【具体实施方式】
现说明动态改变集成电路的工作电压的技术。在以下的说明中,为了进行解释,提出了许多具体细节,以便对本发明有透彻的理解。但对本专业的技术人员来说,显然没有这些细节也可实施本发明。在其它例子中,以方框图的形式表示结构和装置,以免使本发明模糊不清。
在说明书中提到的“一个实施例”是指与所述实施例有关的特定特征、结构或特性包括在本发明的至少一个实施例中。在说明书中不同地方出现的“在一个实施例中”不一定指同一个实施例。
集成电路(例如处理器)的工作电压随一个或多个条件而改变(例如袖珍计算机连接到AC电源或集成电路的温度达到预定的最大值)。在一个实施例中,随着工作电压下降,工作频率也下降。使向集成电路提供工作电压的稳压电源利用一个或多个中间步骤在各电压电平之间转变。中间步骤用来使稳压电源从第一工作电压转变到第二工作电压,因为突然的电压改变会导致噪声、反馈或其它不利的影响。集成电路在新电压下以及在整个电压转变过程中继续以正常方式工作(即,集成电路不改变工作方式)。
在一个实施例中,电压斜坡率取决于稳压电源的容量和集成电路的工作环境。有可能斜坡下降率不同于斜坡上升率。例如,具有大去耦电容的环境,或具有较低峰值电流容量的稳压电源,就会导致斜坡率低于具有较小去耦电容的环境和/或具有较高峰值电流容量的稳压电源的斜坡率。也有可能具有较高工作频率的环境所要求的斜坡率不同于具有较低工作频率的环境的要求。这是因为对稳压电源的峰值电流的需求取决于工作频率以及在转变过程中必需充电或放电的去耦电容。
图1是支持集成电路动态工作电压转变的体系结构的一个实施例的方框图。集成电路110可以是从稳压电源120接受电源电压的任何类型的集成电路,例如集成电路110可以是处理器。
在一个实施例中,集成电路110包括状态机130、稳压电源控制器140、任选的VID表150以及其它电路、例如处理器核心和/或缓存器(为使说明简明图1中未示出)。这些部件中的一个或多个也可以在集成电路110的外部。稳压电源控制器140连接到状态机130和稳压电源120。如以下的详细说明中所述,状态机130使稳压电源控制器140向稳压电源120发送电源电压识别符(VID)信号。稳压电源120解释所述VID信号并改变向集成电路110提供的电源电压。
VID信号可以是二进制信号、或者VID信号可以是多个信号。在一个实施例中,VID信号通过六线总线以六位代码的形式传送。VID代码的位数根据例如稳压电源120可以提供的电压电平数目以及稳压电源120的工作特性而定。
任选的VID表150可由稳压电源控制器140用来在状态机130提供的代码和所用稳压电源类型的相应代码之间进行转变。这样可以使稳压电源控制器140用于多种稳压电源和状态机/控制电路。例如,状态机130或稳压电源控制器140可以接受来自处理器核心的指示所需电源电压的代码或其它信号。可以利用VID表150转变所述代码,以产生适当的VID代码使稳压电源120提供所需的电压。
工作电压可以因许多原因而改变。例如,移动计算机在连接到电脑坞时以第一电压(和相应的频率)工作,而从电脑坞中取出后以较低的电压工作。如上所述,电压(和频率)转变可以动态完成,在电压转变过程中无需改变工作方式。就是说,在工作电压电平之间转变时集成电路不需要进入不活动状态。
如以下更详细地说明的那样,集成电路110将VID代码发送到稳压电源120,稳压电源120转变成对应于所述VID代码的电压。状态机130可以使稳压电源控制器140选择性地发送VID代码,以使工作电压改变的幅度和定时都在适合于集成电路110的参数范围之内。
图2示出电压与频率的关系曲线的一个实施例,从概念上说明有效和无效的电压/频率组合。在一个实施例中,集成电路可接受的工作范围由电压/频率对来限定。图2示出一个实施例的有效电压/频率对集和无效电压/频率对集。
如以下将更详细地说明的那样,可以这样控制由稳压电源(对VID代码作出响应)提供的电源电压以及提供电源电压的定时、使得集成电路维持在可接受的工作范围内。
有效电压/频率对是专用的。因此,通过向要使用的VID代码以及VID代码的定时两者提供可编程能力,本文中所说明的技术就可用于多种集成电路应用。
图3是提高电源电压电平时VID代码和电源电压之间的概念关系。水平虚线代表对应于各种VID代码(例如VID1,VID2,VID3)的目标电源电压。实曲线代表电源电压电平实例。
图3还示出与动态电压转变相关联的参数。在一个实施例中,各种参数都可编程。各种参数的定时可以根据例如所用稳压电源的容量而定。
在图3的实例中,Tstep代表发出各VID代码之间的时间。每一步骤的Tstep可以不相同,或一个或多个步骤的Tstep可以相同。VIDstep代表与随后的各VID代码对应的各电压之间的电压差。和Tstep一样,每一步骤的VIDstep可以不相同,或一个或多个步骤的VIDstep可以相同。
Dwell time(停留时间Tdwell)是到达所需电压后工作频率改变之前的延迟时间。PLL relock时间是锁相回路锁定到对应于新电压的频率所允许有的时间。
图4是当降低电源电压电平时VID代码和电源电压之间的概念关系。在图4的实例中,Tstep代表发出各VID代码之间的时间。每一步骤的Tstep可以不相同,或一个或多个步骤的Tstep可以相同。VIDstep代表与随后的VID代码对应的各电压之间的电压差。和Tstep一样,每一步骤的VIDstep可以不相同,或一个或多个步骤的VIDstep可以相同。
图5示出存储与动态电压转变相关联的参数的寄存器的实施例。图5的寄存器是单个64位寄存器,但可以使用任何数量的寄存器来存储所述参数。而且,用于存储各种参数的位数也可不同于图5所示的。
在图5所示的实施例中,56-63位保留,暂不使用。48-55位存储电压转变的停留时间。在一个实施例中,当集成电路改变到较高工作电压时,在发送最后的VID代码和集成电路改变到新工作频率的时间之间有一个附加延迟。所述时间段由存储在Dwell Time字段中的数值定义。
下降步骤时间字段(40-47位)存储当电源电压转变到新的较低电平时控制插入到连续各VID更新之间的时间的数值。在一个实施例中,状态机这样补偿所选频率、使得转变时间与下降步骤时间字段中的数值相匹配。
上升步骤时间字段(32-39位)存储当电源电压在转变到新的较高电平时控制插入到连续的各VID更新之间的时间的数值。在一个实施例中,和下降步骤时间字段一样,状态机这样补偿所选频率、使得转变时间与上升步骤时间字段中的数值相匹配。
在一个实施例中,16-31位保留用作特定模型调试状态报告。在正常工作时,软件在读出寄存器时不用所述字段,并且在对寄存器进行读-改-写操作时屏蔽这些位。保留状态位是任选的,并且不要求所述保留状态位提供动态工作电压转变。
下降步骤大小字段(8-15位)确定当电源电压转变到新的较低电平时在单一VID步骤中电源电压减小的数量。例如,所述字段可代表增量为12.5mV的电压变化,这样,下降步骤大小字段中的数值2就会使下一个VID代码比当前的VID代码低25mV。如果所述步骤大小大于当前和最终电压目标之间的差,则使用目标VID代码。
上升步骤大小字段(0-7位)确定当电源电压转变到新的较高电平时在单一VID步骤中电源电压增加的数量。例如,所述字段可代表增量为15mV的电压变化,这样,上升步骤大小字段中的数值2就会使下一个VID代码比当前的VID代码高30mV。如果所述步骤大小大于当前和最终电压目标之间的差,则使用目标VID代码。
当由于集成电路向稳压电源发送VID代码而转变电源电压时,集成电路继续正常工作。就是说,集成电路不进入睡眠(或其它低电能)状态来完成电源电压转变。这样集成电路仍以正常方式工作(例如,执行指令、对事件作响应)。于是,电流需求随时间的改变(i/t)就类似于没有电压转变时的情况。结果,稳压电源和供电网络符合正常工作的同样电压规范。
图6示出动态电源电压转变实例的定时图。图6的实例示出从高电压到低电压再回到高电压的转变。对较低的工作电压,总线比(或时钟频率)下降,转变回到高电源电压电平后总线比提高。
操作开始于高电源电压和高总线比(时钟频率)。总线比下降到对应于要使用的较低电源电压的总线比。在一个实施例中,在PLL锁定到新的总线比期间处理器核心的频率可以下降到低于(或可能中止)总线比的相应频率。
总线比转变之后,电源电压斜坡下降到低电源电压,集成电路以低电源电压和低总线比工作。在一段时间工作在低电源电压后并对预定事件(例如工作条件改变)作出响应,电源电压上升到高电源电压电平。在电压转变后由停留时间决定的时间段结束时,总线比从低总线比转变到高总线比。
图7示出电源电压动态转变的一个实施例的流程图。在700,提供当前电源电压。当前电源电压可以是初始的启动电源电压电平,或当前电源电压可以是用VID代码选择的所选电压电平。提供当前电源电压直到接收到新的VID代码,710。
当接收到新的VID代码时(710),系统转变到新VID代码指示的新电源电压(720)。在一个实施例中,VID代码由接收电源电压的集成电路发送到向集成电路提供电压的稳压电源。稳压电源解释所述VID代码并提供对应于所接收的VID代码的电压电平。
如果对应于Tstep的时间段尚未过完(730),则系统等待(740)。当Tstep的这段时间结束(730),就可处理新VID代码(750)。如果接收到新VID代码(750),则稳压电源转变到对应于新VID代码的电压,如上所述。如果没有接收到新VID代码(750),则稳压电源继续提供新电源电压,所述电压现在是当前电源电压(700)。
在前述说明书中,参考具体实施例对本发明作了说明。但显然可以对它们作各种改动和变更而不会背离本发明的广义精神和范围。所以,说明书和附图应认为是说明性的而非限制性的。