专利名称:用于在运行条件极限内运行的系统和方法
技术领域:
本发明涉及用于在运行条件极限内运行的系统和方法。
背景技术:
硅片设计(例如处理器)具有在特定运行条件极限(例如电压、温度、频率)内正常运行的核心功能。如果一个设计在允许的运行极限以外运行,则将无法实现核心功能。同样,设计行为可以直接影响运行极限。例如,增加硅设计核心功能的活动将增加功率消耗,这将给电压及温度控制系统增加附加压力,导致核心功能的电压更低而温度更高,二者都会降低运行条件。此外,抖动和频率误差也会使核心功能的电路运行频率比期望的高,这会降低可用于设计的运行容限。正常情况下,外力和寿命会使运行条件随时间降级,导致硅设计的最终失败。
发明内容
根据本发明,用于在运行条件极限内运行的系统包括容限(margin)检测器,其产生作为与核心电路相关的多个运行系数的函数的规格值,并将所述规格值与预定阈值相比较,以确定核心电路是否在运行条件极限以下运行;以及运行条件控制器,如果核心电路在运行条件极限以上运行,则所述运行条件控制器调整所述核心电路的活动等级。
图1显示了用于在运行条件极限内运行的系统实施例的框图。
图2显示了振荡器实施例的示意性框图。
图3显示了容限检测器实施例的示意性框图。
图4显示了用于将运行条件保持在处理器的运行条件极限以下的系统的框图。
图5显示了处理器的指令通过量部分的实施例。
图6显示了用于在运行条件极限内运行的方法的实施例。
图7示出将运行条件保持在运行条件极限内的方法实施例。
具体实施例方式
本公开一般涉及用于在运行条件极限内运行的系统和方法。该系统和方法监控与集成电路运行条件相关的运行系数。该运行系数用于确定总运行规格(specification)值,其与集成电路的运行条件相对应。总规格值与预定阈值相比较,以确定集成电路是在集成电路运行条件极限内(以下)还是在运行条件极限外(以上)运行。如果集成电路在运行条件极限外运行,则采取校正措施(例如减少指令通过量)来调整运行条件(例如活动等级),以使运行条件在运行条件极限以下。运行条件极限以及预定阈值设置在与最大允许运行条件相关的最大规格值以下的运行条件点,以保持运行条件和最大规格值之间的容限,来试图保持运行在最大允许运行条件以下。
图1显示了使用用于在运行条件极限内运行的系统20的集成电路。集成电路10(例如硅片)包括核心电路12,该核心电路12包括与集成电路10相关的核心功能。核心电路12可以是与例如具有指令控制通过量部分的处理器相关的电路。核心电路12还包括时钟发生器16,该时钟发生器产生具有内部频率(例如核心频率)的内部时钟,该内部频率从外部频率(例如系统总线时钟)获得。核心电路12以基于DC电压的DC电压电平运行,并受运行温度、集成电路10的功率耗散能力以及核心电路12的活动等级的影响,该运行温度是冷却系统(例如风扇、散热器、导流板、气流)以及集成电路10外环境温度的函数。核心电路12具有能够以给定频率运行的最大允许温度和最小允许电压。如果频率超过最大允许频率、温度超过最大允许温度或者电压低于最小允许电压,则系统20使核心电路12可继续以降低的性能指标(例如频率)运行。同样,降低运行电压包括降低最大允许温度。
系统20包括容限检测器14和与核心电路12相关的运行条件控制器18。容限检测器14制造在同一集成电路材料(例如同一硅片)上,并受同一制造工艺的影响,以使容限检测器14具有与核心电路12相似的固有特性及生产变化,其与核心电路12以相同速率老化。此外,容限检测器14受到与核心电路12相同的运行温度的影响,使用与核心电路12相同的DC电压电平以及与核心电路12相同的内部频率。因而,容限检测器14对核心电路12的电压、频率、温度和寿命进行编码,以产生与核心电路12的运行条件相对应的总规格值。
总规格值与预定阈值进行比较,以确定核心电路12是在核心电路12的运行条件极限之内还是在运行条件极限以外运行。预定阈值设置在与核心电路12的最大允许运行条件相关的最大规格值以下的运行条件点,以保持运行条件和最大规格值之间的容限。如果核心电路12在运行条件极限以外运行,则向运行条件控制器18提供超阈值(overthreshold)指示。运行条件控制器18调整核心电路12的运行条件(例如活动等级),以将运行条件降低到运行条件极限以下。例如,调整核心电路12的活动等级使得降低功率耗散和降低核心电路的温度。
图2显示了与容限检测器相关联的振荡器30。振荡器30将核心频率、核心电压以及核心温度编码到编码振荡器信号内。可对振荡器周期进行计数,以确定提供核心电路运行条件的总体测量的总规格值。振荡器30包括计数器32,该计数器基于核心时钟发生器16的内部频率在预定时钟周期计数时间间隔内产生振荡器启动线。例如,振荡器启动线可在65,536个时钟周期内是激活的。因而,振荡器将振荡与核心电路的内部频率相关的65,536个时钟周期。这允许振荡器对核心电路的内部时钟频率进行编码。振荡器30包括第一“与”门34,该“与”门接收振荡器启动线作为第一输入并接收振荡器选择线作为第二输入。振荡器选择线用于从多个振荡器中选择一个振荡器,以便可以选择与核心电路的电特性最匹配的振荡器。
振荡器30包括第二“与”门36、可变延迟元件38以及输出反相器40。第二“与”门36接收第一“与”门34的输出作为第一输入,并接收来自可变延迟元件38输出的反馈信号作为第二输入。对可变延迟元件38的输出进行反相,以使输入到第二“与”门36的反馈信号使可变延迟元件38的输出响应于第二“与”门36的第一输入处于激活状态进行振荡。可变延迟元件38包括以核心DC电压运行并受核心运行温度影响的电路(例如反相器、缓冲器)。因而,可变延迟元件38以对应于核心频率、核心电压以及核心温度的编码频率进行振荡。可变延迟元件38还受到与核心电路相同的老化的影响。可变延迟元件38的输出经反相器40提供给计数器,以便提供预定时钟周期计数时间间隔上的计数值,该计数值提供与核心电路的运行条件相对应的总体测量或计数。该计数值将随核心频率的增加、核心温度的增加或核心电压的减小而减小。如果该计数值下降到阈值计数值以下,则核心电路将超过其运行条件极限。
图3显示了容限检测器50的实施例。容限检测器50包括振荡器部分52,该振荡器部分52包括多个振荡器54,标记为振荡器#1到振荡器#N,其中N是大于或等于1的整数。各振荡器54呈现模拟核心电路的给定关键路径(例如通过门所需时间)的不同特性。可以使用模拟与核心电路运行相关的给定关键或最长路径(例如给定加载指令、给定存储指令)的电特性的可变延迟元件。可变延迟元件可由晶体管、晶体管和线、线控制或面电阻控制(area resistor dominated)元件制造,以呈现与核心电路的不同电关键路径特性相对应的不同延迟特性。可以选择与核心电路的关键路径最对应的延迟元件,以便在受到与关键路径相同频率、温度和电压影响时呈现与核心电路的关键路径相同的电特性。因而,在测试时选择代表核心电路的电特性或关键路径的振荡器54。
选择线(SEL1-SELN)选择最代表核心电路的运行特性或关键路径的给定振荡器54。振荡器启动线被提供给所选振荡器54,其在与核心时钟相关的预定时钟周期计数时间间隔(例如65,536个时钟周期)内是激活的。在预定时钟周期计数时间间隔期间,振荡器54以与延迟元件(或关键路径)的延迟相对应的频率进行振荡,其中核心频率、核心温度以及核心电压编码到振荡器频率内,如图2所示。多个振荡器中每个振荡器的输出作为输入提供给多输入“或”门56。所选振荡器54的振荡器输出信号作为输入提供到高速计数器58。高速计数器58确定预定时钟周期计数时间间隔上的计数值(例如40,000-100,000个计数),其与核心电路运行条件的总体测量相对应。
在预定时钟周期时间间隔的末端,通过将计数器值通过触发器60时钟输入(clocking in)到比较器62,而经计数器更新信号来更新计数值。计数器值或总规格计数值与预定阈值计数值进行比较,以确定核心电路是在核心电路的运行条件极限内还是极限外运行。预定阈值计数指示核心电路的运行条件极限,并且能在制造测试时确定,并设置为正常运行。预定阈值和运行条件极限设置在与最大允许运行条件相关的最大规格值以下的运行条件点,以便保持运行条件和最大规格值之间的容限。如果计数值低于预定阈值计数,则核心电路在运行条件极限外运行,并且生成超阈值指示信号。否则,核心电路在运行条件极限内运行,并且不生成超阈值指示信号。计数器58然后复位,并重复上述过程。计数器更新、比较以及计数器复位可历时几个时钟周期,但与预定时钟周期时间间隔相比可相对小。
图4显示了用于将运行条件保持在处理器78的运行条件极限以下的系统70。该系统70包括容限检测器72,该容限检测器制造在与处理器78相同的硅片材料上,并受到与处理器78相同的固有特性和运行条件的影响。容限检测器72对处理器的电压、频率以及寿命进行编码,以便产生与处理器78的运行条件相对应的总规格计数值。通过比较器74将总规格计数值与预定阈值计数值进行比较,以确定处理器78是在处理器78的运行条件极限内还是极限外运行。预定阈值计数值设置在与处理器78的最大允许运行条件相关的最大规格值以下的运行条件点。比较器74向分步加载管理器76提供阈值指示。分步加载管理器76产生指示处理器78调整处理器78活动等级的节流控制信号,以将运行条件保持在运行条件极限内。
节流控制信号指示处理器78进行保持指令通过量、增加或逐步升高指令通过量或者减少或逐步降低指令通过量中的一项。处理器78通过保持指令通过量、逐步降低指令通过量或逐步升高指令通过量来进行响应。如果规格计数值在阈值计数值之上并且处理器78以正常指令通过量模式运行,则处理器在处理器的运行条件极限以下运行。因而,向处理器78提供保持指令,用于保持处理器78的指令通过量。如果规格计数值低于阈值计数值并且处理器78以正常指令通过量模式运行,那么处理器78在处理器的运行条件极限以外运行。因而,向处理器78提供逐步降低指令,用于降低处理器78的指令通过量。指令通过量的降低使处理器的活动降低,降低了处理器78的功率耗散和运行温度。
例如,如果在与处理器相关的冷却系统中出现错误,例如风扇不工作,则处理器78的温度可升到处理器正常运行无法接受的最大温度极限之上。同样,电路负载的突然增加也可使处理器的电压下降到处理器正常运行无法接受的最小允许电压极限以下。因而,如果处理器以每个周期4个指令执行,则处理器可响应于逐步降低指令而逐步降低到每4个时钟周期1个指令,以确保处理器能够在不停止工作的情况下继续以降低的性能运行。
如果规格计数值充分在阈值计数值之上并且处理器78以降低的指令通过量模式执行,则处理器78充分在处理器78的运行条件极限以下运行。因而,向处理器78提供逐步升高指令,以便增加处理器78的指令通过量。指令通过量的增加使处理器78的活动增加,提高了处理器78的性能。例如,如果校正了与处理器78相关的冷却系统中的错误,例如重启风扇,则当处理器78以降低的指令通过量模式运行时,处理器78的温度将降到充分低于最大温度极限的水平。处理器78可提高到允许以每个周期4个指令执行,以确保处理器78恢复到其正常性能能力。
图5显示了处理器的示范性指令通过量部分80。指令通过量部分80包括与第一加载/存储单元88和第二加载/存储单元90相关联的第一发射控制84和第一回收时间控制96。指令通过量部分80包括与第一执行单元92和第二执行单元94相关联的第二发射控制86和第二回收时间控制98。第一和第二执行单元92和94可以是浮点单元、整数单元或分支指令单元。第一发射控制84、第一回收时间控制96以及第一加载/存储单元88形成第一指令流水线,并且第一发射控制84、第一回收时间控制96以及第二加载/存储单元90形成第二指令流水线。第二发射控制86、第二回收时间控制98以及第一执行单元92形成第三指令流水线,并且第二发射控制86、第二回收时间控制98以及第二执行单元94形成第四指令流水线。因而,指令通过量部分80包括4个指令流水线,并且能够每个时钟周期执行4个指令。
第一和第二发射控制84和86可包括与从指令高速缓存82取指令、排定要执行的指令、发出指令以及通过相关流水线经传输寄存器向给定执行单元传输指令相关联的控制。与第一和第二发射控制84和86相关联的取控制、排定控制、发出控制以及传输控制中的一个或多个可操作为基于节流控制信号(TC)通过控制通过各个流水线的指令发射来调整通过各流水线中一个或多个的指令通过量。第一和第二回收时间控制96和98可包括与从相关流水线回收指令相关的控制。第一和第二回收时间控制96和98可操作为基于节流控制信号(TC)通过控制从各个流水线的指令回收来调整通过各流水线中一个或多个的指令通过量。
考虑上述结构性及功能性特征,参照图6-7将更好地理解特定方法。应该理解并认识到,在其它实施例中,所示的操作可以不同的顺序和/或与其它操作同时发生。此外,并不是所有所示特征都是实现某一方法所必需的。
图6显示了用于将核心电路的运行条件保持在运行条件极限以下的方法。在100,在预定时钟周期时间间隔内启动振荡器,以产生作为多个运行系数例如核心电路的运行温度、运行电压、运行频率以及寿命的函数的编码振荡器信号。在110,在预定时钟周期时间间隔期间基于振荡器的振荡器周期数递增计数器,以提供与核心电路运行条件的总体测量相对应的总规格计数值。在120,总规格计数值与预定阈值计数值相比较,以确定核心电路是否在核心电路的运行条件极限内运行。预定计数值设置在与核心电路的最大允许运行条件相关的最大规格值以下的运行条件点。在130,在比较的基础上,产生节流控制信号,以指示保持、增加或减少指令通过量中的一项。
例如,如果核心电路在运行条件极限外运行并且处理器以正常指令通过量模式运行,则阈值控制信号指示核心电路逐步降低或减少指令通过量。如果核心电路在运行条件极限内运行并且处理器以正常指令通过量模式运行,则阈值控制信号指示核心电路保持指令通过量。如果核心电路充分低于运行条件极限运行并且处理器以降低的指令通过量模式运行,则阈值控制信号指示核心电路逐步升高或增加指令通过量。在140,基于节流控制信号控制指令通过量。随后方法返回到100以重复块100-140。
图7显示用于将核心电路的运行条件保持在运行条件极限以下的方法。在200,在预定的时钟周期时间间隔内启动振荡器,以产生振荡器信号,该振荡器信号是核心电路运行条件的函数。在210,在预定的时钟周期时间间隔内对振荡器周期进行计数,以产生表示核心电路运行条件的规格计数值。在220,如果规格计数值低于表示核心电路运行条件极限的预定阈值计数值,则调整核心电路的活动等级。
上文所描述的是本发明的实例。当然,为了描述本发明,不可能描述每个可想到的元件或方法的组合,但本领域技术人员将认识到,本发明的许多进一步组合和置换是可能的。因而,本发明意欲含盖落在所附权利要求书精神及范围内的所有这种改变、修改及变化。
权利要求
1.一种用于在运行条件极限内运行的系统(10,70),所述系统(10,70)包括容限检测器(14,50,72),其产生作为与核心电路(12)相关的多个运行系数的函数的规格值,并将所述规格值与预定阈值相比较,以确定所述核心电路(12)是否在运行条件极限以下运行;以及运行条件控制器(18),如果所述核心电路(12)在运行条件极限以上运行,则所述运行条件控制器(18)调整所述核心电路(12)的活动等级。
2.如权利要求1所述的系统(10,70),其中所述多个运行系数包括核心电压、核心频率、核心温度以及核心寿命。
3.如权利要求1所述的系统(10,70),其中所述运行条件极限与所述预定阈值设置在与所述核心电路(12)的最大允许运行条件相关联的最大规格值以下的运行条件点。
4.如权利要求1所述的系统(10,70),其中所述核心电路(12)包括处理器(78),并且如果所述核心电路(12)的运行条件超出运行条件极限,则所述运行条件控制器(18)调整所述处理器(78)的指令通过量。
5.如权利要求4所述的系统(10,70),其中如果所述核心电路(12)的运行条件超出运行条件极限,则所述运行条件控制器(18)通过减小指令发射速率和回收速率之一来减小所述处理器(78)的所述指令通过量。
6.如权利要求1所述的系统(10,70),其中所述容限检测器(14,50,72)包括振荡器(30,54),其产生作为所述核心频率、核心电压以及核心温度的函数的编码振荡器信号;计数器(58),其基于与核心时钟(16)相关的核心频率在预定时钟周期时间间隔上对所述编码振荡器信号的振荡周期进行计数,以产生总规格计数值;以及比较器(62,74),其将所述总规格计数值和表示与所述核心电路(12)相关的运行条件极限的预定阈值计数值相比较。
7.如权利要求6所述的系统(10,70),其中如果所述总规格计数值低于所述预定阈值计数值,则所述比较器(62,74)产生超阈值指示。
8.如权利要求6所述的系统(10,70),其中通过在所述预定时钟周期时间间隔内启动所述振荡器(30,54)而将所述核心频率编码到所述编码振荡器信号中,通过使所述振荡器(30,54)受到所述核心温度的影响而将所述温度编码到所述编码振荡器信号中,并通过将所述核心电压施加到与所述振荡器(30,54)相关联的电路而将所述核心电压编码到所述编码振荡器信号中。
9.如权利要求6所述的系统(10,70),其中所述振荡器(30,54)包括可变延迟元件(38),所述可变延迟元件模拟与所述核心电路(12)的关键电路径相关联的电特性。
10.如权利要求9所述的系统(10,70),还包括多个附加振荡器(54),所述多个附加振荡器具有模拟与所述核心电路(12)的不同可能关键电路径相关联的电特性的相应可变延迟元件,其中所述振荡器(54)模拟所述核心电路(12)的关键电路径比所述多个附加振荡器(54)更接近。
全文摘要
公开了用于在运行条件极限内运行的系统(10,70)和方法。系统(10,70)的一个实施例可包括容限检测器(14,50,72),该容限检测器产生作为与核心电路(12)相关的多个运行系数的函数的规格值,并将该规格值与预定阈值相比较,以确定核心电路(12)是否在运行条件极限以下运行。系统(10,70)还可包括运行条件控制器(18),如果核心电路(12)在运行条件极限以上运行,则该运行条件控制器调整核心电路(12)的活动等级。
文档编号G06F11/00GK1838081SQ200610074148
公开日2006年9月27日 申请日期2006年3月21日 优先权日2005年3月22日
发明者K·A·赫德 申请人:惠普开发有限公司