闭环动态功率管理的制作方法

文档序号:6655353阅读:94来源:国知局
专利名称:闭环动态功率管理的制作方法
相关申请本发明申请要求2004年11月1日提交的序列号为10/978,950的美国专利申请以及2004年3月18日提交的序列号为60/554,236的美国临时专利申请的优先权,上述申请全文结合在此作为参考。
背景技术
本发明涉及功率管理领域,尤其涉及闭环动态功率管理。
任何功率管理方案都以使用最小可能功率并仍能满足处理器的计算要求为目标。深亚微米CMOS工艺的一个特征是在工艺拐点(process corner)中功率变化很大。功率依据工艺在各部分间有所不同,并且功率变化通常可达40%。传统的功率管理技术不是针对此类变化来优化的,并且通常是为诸如工艺和环境等最差情况而设计的。
传统的功率管理方案以最差情况工艺和环境条件为基础来使用查找表。虽然有用,但是深亚微米功率变化对此种功率管理方案的有效性来说还是过大。
如下的表1示出了以查找表为基础的传统功率管理实现。

表1核心和系统时钟要求-ADSP-DM901在这一功率管理实现中没有对特定部分调谐电压,而且这些部分通常以比所需的更高的电压运行以确保必需的处理性能。因此就需要一种健壮的功率管理系统,其中基于要求的性能(诸如时钟速率)来调谐电源电压以确保对于工艺/环境变化的恰当操作。
无论这些现有技术的功率管理系统有什么精确的价值、特征和优点,它们都无法完成或实现本发明的目的。

发明内容
本发明提供一种动态功率管理系统和方法。该闭环动态功率管理系统包括在芯片内执行测试代码以检验芯片操作的通过/未通过检测器,以及在调节环路内与通过/未通过检测器一起工作以通过为该芯片将Vdd设置成最小值来调节功率的电压调节器。如果芯片通过测试,就通过减小Vdd并执行测试代码直到芯片执行该测试代码失败来调节功率。当芯片未通过测试时,就在将Vdd设置为最小要求的Vdd之前增加Vdd。
本发明的闭环动态功率管理方法包括如下步骤(a)为一芯片设置最大允许Vdd;(b)执行测试代码以检验芯片是否通过测试;以及(c)基于测试代码的迭代执行来调节功率并将Vdd减小至最小允许值,其中如果芯片通过测试,则通过减小Vdd并迭代地执行测试代码直到该芯片执行该测试代码失败来调节功率;一旦未通过,就在将Vdd设置为最小允许Vdd之前增加Vdd。
本发明还提供实现上述用于闭环动态功率管理的方法的计算机可读程序代码。


图1示出了以“通过/未通过”检测器为基础的闭环动态功率管理。
图2示出了本发明一个示例性方法的流程图。
图3和图4示出了显示本发明的控制环路功率管理方法和基于现有技术方法的查找表之间的比较的图表。
发明详细描述虽然本发明是参考了若干较佳实施例来示出并描述的,但仍能对本发明的形式和细节作出各种改变、省略和添加而不背离其精神和范围。
本发明提供一种健壮的功率管理系统,其中基于要求的性能(诸如时钟速率)调谐电源电压以确保对于工艺/环境变化的合适操作。这一公开技术对给定MIPS要求,提供了对每一个别的处理器芯片使用最小可能功率Vdd的闭环功率控制。这一公开技术还对最小可能功率进行额外的调整以考虑到制造工艺和环境条件。对最小允许Vdd的使用同时降低了开关电流和漏电流两者。
图1示出了本发明的系统100的一个示例性实施例。系统100包括PLL/MIPS控制单元101、MIPS通过/未通过检测器102和电压调节器103。MIPS通过/未通过检测器102对个别的芯片和环境条件将电压调节器103调整为最小Vdd最小。例如,甚快处理材料将在以比慢工艺产品更低的Vdd处稳定。
使用固定的输入时钟,PLL/MIPS控制单元101生成其频率为用户可编程的输出时钟。PLL/MIPS输出时钟用于驱动核心和片上外围设备。通过/未通过检测器102在芯片内执行测试代码(例如,一组算术和逻辑单元(ALU)运算或一组指令)操作以检验芯片的操作。这些操作代码执行操作(诸如ALU运算)经诸如速度路径等参数表征了芯片的速度操作,其中速度路径是在芯片内执行代码/操作所花费的时间。
电压调节器103在调节环路内与通过/未通过检测器102一起工作,以基于测试代码的迭代执行并将Vdd降低到(对于该芯片的)最小允许值来调节功率。如果芯片(通过成功地执行测试代码)通过了测试,则通过降低Vdd并迭代执行测试代码直到该芯片执行这一代码失败来对功率进行调节。例如,通过设备(ADI-BackFin)中的一个步骤使Vdd降低约50mV。当芯片未通过测试时,Vdd在被设置为最小允许Vdd之前被增加。例如,通过设备(ADI-BackFin)中的一个步骤使Vdd增加约50mV。
图1中的系统100通过设置确保所要求的处理性能的最小工作电压而为特定的部分(例如,芯片)调谐电压。通过将Vdd设置为最小值,就能同时减小开关电流和漏电流两者。同样在这一系统中,每MIP功率对各部分都是常数(因而设置是工艺不相关的)。
图2示出了基于本发明的一个示例性闭环动态功率管理方法200。在步骤202,为一特定芯片设置最大允许Vdd。接着,在步骤204,执行测试代码(例如,一组算术和逻辑单元(ALU)运算或一组指令)以检验芯片是否通过(成功执行)该测试代码。在芯片未通过这一测试的情况下,记录一不可恢复的错误。
在步骤206至214中,循环执行该代码执行操作,并且通过将Vdd设置为最小值来基于这一执行结果调节功率。在步骤208,执行检查以了解该芯片是否成功执行了测试。如果该芯片通过测试(“是”-209),则如步骤214所示,通过减小Vdd,并且执行测试代码直到该芯片执行该测试代码失败来调节功率。此外,也在步骤212执行检查以了解该最小电压是否用于实际频率。当芯片未通过测试时(“否”-207),则在将Vdd设置为最小允许Vdd之前增加Vdd。在步骤216,如果达到用于实际频率的最小电压或者如果Vdd在步骤210中被增加,则启动安全带步骤,并且该过程退出。一旦给定频率由(例如,用户)设置并且处于给定的环境温度下,则功率管理环路就达到稳态。安全带步骤通过增加Vdd值来补偿环境温度变化。调节环路可以被禁用,直到新的频率由(例如,用户)设定。
图3和图4示出了显示本发明的控制环路功率管理方法和现有技术的查找表方法之间的比较的图表。图3和图4中所示的结果显示了有改良测试量的约50%的功率减小。
图3的曲线图表示从来自不同生产批次的189个部分(许多值被重叠)的数据的集合。在该图的左侧是来自工艺的最慢拐点的样本;而在该图的右侧则是来自工艺的最快拐点的样本。曲线306表示使部分在600MHz下充分工作所需的Vdd的最小值。曲线302表示使用传统查找表方法时这189个样本的功耗(在此情况下,对所有部分都Vdd值设为1.2伏,以确保600MHz处的功能)。曲线302示出了来自该工艺的较快拐点的部分比来自该工艺的较慢拐点的部分(在相同的频率/电压下工作)消耗更高功率。
曲线304表示对功率调节使用闭环时这189个样本的功耗。在此情况下的工作电压由通过/未通过检测器确定。在给定的工作频率处,来自最快工艺拐点的部分需要更低的工作电压(Vdd),而来自最慢工艺拐点的部分需要更高的工作电压(Vdd)。
闭环功率调节方法的一个优点是功耗的降低,尤其对于来自快和标称工艺拐点批量的部分而言。另一个优点是功耗对于工艺变化(它依据工作频率,因而依据电压来变化)而言是可预测的(常数),但是在各部分之间是恒定的。
图4示出了各现有技术查找表方法与本发明的闭环方法相比较的功率-频率图。图4的图表示出了使用闭环功率调节方法(由实线表示)和传统的查找表方法(由虚线表示)的功耗(W)-核心频率(MHz)图。由曲线402可见,本发明的控制环路方法与其他的传统方法相比,提供了更易预测的、始终更低功率的实现。测量是在环境温度下并对具有不同工艺偏差的若干批次进行的(FF=快快,SS=慢慢,并且LOT#表示一随机批次)。例如,FF/#8表示来自批次FF的标记为#8的部分。如前所述,闭环方法的某些优点包括但不限于减小的功耗以及各部分间可预测/恒定的功耗。
此外,本发明包括以计算机程序代码为基础的产品,该产品是其中存储了用于指示计算机执行与本发明相关联的任何方法的程序代码的存储介质。计算机存储介质包括但不限于以下任一个CD-ROM、DVD、磁带、光盘、硬盘驱动器、软盘、铁电存储器、闪存、铁磁存储器、光学存储、电荷耦合器件、磁性或光学卡、智能卡、EEPROM、EPROM、RAM、ROM、DRAM、SRAM、SDRAM和/或任何其他任何合适的静态或动态存储器和数据存储设备。
在以计算机程序代码为基础的产品中实现的有用于执行以下动作的软件模块为芯片设置最大允许Vdd;执行测试代码以检验芯片是否通过测试;并且基于该代码的迭代执行并将Vdd降低至最小允许值来调节功率,其中如果芯片通过测试,则通过降低Vdd并且执行测试代码直到该芯片执行该测试代码失败来调节功率;一旦未通过,则在将Vdd设置为最小允许Vdd之前增加Vdd。
权利要求
1.一种闭环动态功率管理系统,所述系统包括通过/未通过检测器,在芯片内执行测试代码以检验所述芯片是否通过测试;电压调节器,在调节环路内与所述通过/未通过检测器一起工作以通过将Vdd设置成为所述芯片的最小允许值来调节功率。
2.如权利要求1所述的闭环动态功率管理系统,其特征在于,如果所述芯片通过所述测试,则基于所述测试代码的迭代执行并将Vdd减小至最小允许值来调节功率,其中通过降低Vdd并且执行所述测试代码直到所述芯片执行所述测试代码失败;并且一旦失败,在将Vdd设置为最小Vdd值之前增加Vdd。
3.如权利要求2所述的闭环动态功率管理系统,其特征在于,如果Vdd小于给定频率的最小电压,则降低Vdd。
4.一种闭环动态功率管理方法,所述方法包括为芯片设置最大允许Vdd;执行测试代码以检验所述芯片是否通过所述测试;以及通过迭代地执行所述测试代码直到所述芯片未通过所述测试并将Vdd设置为最小允许值来调节功率,其中如果所述芯片通过所述测试,则通过减小Vdd来调节功率;并且一旦未通过,在Vdd被设置为最小允许Vdd值之前增加Vdd。
5.如权利要求4所述的闭环动态功率管理方法,其特征在于,如果Vdd小于给定频率的最小电压,则降低Vdd。
6.一种含有计算机可用介质的制品,所述介质中包含实现一种闭环动态功率管理方法的计算机可读程序代码,所述介质包括为芯片设置最大允许Vdd的计算机可读程序代码;执行测试代码以检验所述芯片是否通过所述测试的计算机可读程序代码;以及通过迭代地执行所述测试代码直到所述芯片未通过所述测试并将Vdd设置为最小允许值来调节功率的计算机可读程序代码,其中如果所述芯片通过所述测试,则通过减小Vdd来调节功率;并且一旦未通过,在Vdd被设置为最小允许Vdd值之前增加Vdd。
7.一种用于减小开关和漏电流的闭环动态功率管理系统,所述系统包括PLL/MIPS控制单元,它接收时钟速率作为用于设置核心频率的输入;通过/未通过检测器,它在芯片内执行测试代码以检验所述芯片的操作;电压调节器,它在调节环路内与所述通过/未通过检测器一起工作,通过将Vdd设置成为所述芯片的最小允许值来基于所述时钟速率调谐提供给芯片的电压,从而确保对于工艺和环境变化的适当操作。
8.如权利要求7所述的闭环动态功率管理系统,其特征在于,如果所述芯片通过所述测试,则基于对所述测试代码的迭代执行并将Vdd减小至最小允许值来调节功率,其中通过降低Vdd并且执行所述测试代码直到所述芯片执行所述测试代码失败;并且一旦失败,则在将Vdd设置为最小Vdd值之前增加Vdd。
9.如权利要求8所述的闭环动态功率管理系统,其特征在于,如果Vdd小于给定频率的最小电压,则降低Vdd。
10.一种实现减小开关和漏电流的闭环动态功率管理系统的集成电路,所述集成电路包括PLL/MIPS控制电路,它接收时钟速率作为用于设置核心频率的输入;通过/未通过检测器电路,它在芯片内执行测试代码以检验所述芯片操作;电压调节器电路,它在调节环路内与所述通过/未通过检测器一起工作,以通过将Vdd设置成为所述芯片的最小允许值来基于所述时钟频率调谐提供给芯片的电压,从而确保对于工艺和环境变化的适当操作。
11.如权利要求10所述的集成电路,其特征在于,如果所述芯片通过所述测试则基于对所述测试代码的迭代执行并将Vdd减小至最小允许值来调节功率,其中通过降低Vdd并且执行所述测试代码直到所述芯片执行所述测试代码失败;并且一旦失败,则在将Vdd设置为最小Vdd值之前增加Vdd。
12.如权利要求10所述的集成电路,其特征在于,如果Vdd小于给定频率的最小电压,则降低Vdd。
全文摘要
通过在芯片内执行测试代码以检验芯片的操作的通过/未通过检测器、以及在调节环路内与该通过/未通过检测器一起工作以通过为该芯片将Vdd设置成最小允许值来调节功率的电压调节器,实现了闭环动态功率管理。如果芯片通过了测试,则降低Vdd并执行该测试代码直到该芯片执行测试代码失败。当该芯片未通过测试时,在Vdd被设置成最小允许值之前增加Vdd。
文档编号G06F1/32GK1934522SQ200580008493
公开日2007年3月21日 申请日期2005年2月1日 优先权日2004年3月18日
发明者A·科马施, T·多德 申请人:模拟设备股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1