CN1126013C - 控制集成电路功耗的方法和器件 - Google Patents

控制集成电路功耗的方法和器件 Download PDF

Info

Publication number
CN1126013C
CN1126013C CN 97182454 CN97182454A CN1126013C CN 1126013 C CN1126013 C CN 1126013C CN 97182454 CN97182454 CN 97182454 CN 97182454 A CN97182454 A CN 97182454A CN 1126013 C CN1126013 C CN 1126013C
Authority
CN
China
Prior art keywords
functional unit
coupled
unit
mode
integrated circuit
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.)
Expired - Lifetime
Application number
CN 97182454
Other languages
English (en)
Other versions
CN1276070A (zh
Inventor
M·米塔尔
R·瓦伦丁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Priority to CN 97182454 priority Critical patent/CN1126013C/zh
Publication of CN1276070A publication Critical patent/CN1276070A/zh
Application granted granted Critical
Publication of CN1126013C publication Critical patent/CN1126013C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Power Sources (AREA)

Abstract

在一集成电路(IC)中的功耗是由调节在IC中的特定功能单元(105)的性能而降低的。在一IC中的特定功能单元的最近利用量级是例如通过计算整个它的最近操作历史的每一功能单元的平均工作周期来监视的(106)。如果它的活动级(109)大于一阈值,则该功能单元可工作在一降低功率模式(110)。该阈值被设置得足够大以允许出现短的高利用的脉冲串。当它的利用超过一可维持值时通过调节功能单元的性能,一IC可动态地在高速操作和低功率操作之间取得折衷。在一IC中的多个功能单元之间或在一功能系统的多个IC之中这种动态功率/速率的折衷可以是最佳的。这种动态功率/速率折衷可以通过提供对调节参量的软件控制而变化。

Description

控制集成电路功耗的方法和器件
技术领域
本发明通常涉及减小集成电路(IC)的功耗,特别是涉及超大规模(VLSI)集成电路的功耗。更详细地说,本发明涉及用来调节IC需要控制最坏情况功耗的特定功能单元的性能的方法和装置。
背景技术
减小由一IC所消耗的功率具有明显的优点:(1)减小了必须提供给IC的功率;和(2)减小了必须由IC和IC周围器件所耗散的热。当IC准备用于诸如手持或笔记本型数字装置之类的便携式计算装置中时,降低功耗尤为重要。
为了延长时间周期,便携式装置常常仅仅使用由内部电池所提供的电源来工作。由于便携式电池的尺寸、重量和存贮容量非常有限,所以在便携式装置中保存功率是关键的。在没有对它的电池充电或放电情况下减小它的IC的功耗可使该便携装置工作时间更长。
另外,在没有机械散热片或散热器以及可以容易地用在一台面或架装式计算机系统的风扇来辅助散热的情况下,便携装置通常必须耗散它的各个元器件的热量。当在便携装置中的IC的功耗小时,它工作在低温状态。在计算装置中温度升高可使它的元器件工作不可靠或使其寿命减短。
由IC所损耗的功率可通过降低它的工作速率来减小。对于使用支配商用IC制造的CMOS技术的制造的IC,IC功耗正比于它的时钟速率和它的工作电压。如果时钟速率或者电压降低,则该功耗减小。除非在该制造技术中进行了补偿改进,否则降低该电压还需降低该时钟速率。
由于通常执行一特定操作需要一固定的时钟周期数,所以降低时钟速率来减小IC功耗也带来性能下降的遗憾。因此,存在降低IC功耗而不使它的性能下降的需求。
对于许多复杂的IC来说,随着它们所执行的任务功耗的变化范围很宽。如在该IC中从1变为0或者从0变为1的电路节点越多,则功耗就越大。因此为了规定一特定IC的典型功耗,必须规定构成它的典型使用的工作顺序基准。由于计算装置设计成交互使用方式,要花费大量时间等待用户输入,所以这种基准很可能包括空闲时间量基准。一旦这种适合典型操作的基准被规定,则可测量或估算执行这些操作中的IC的功耗。这种典型的功耗值例如在对正常使用下的便携计算装置的电池寿命进行估算是有用的。最好是在功能单元中的IC在一特定的工作顺序期间不被使用而在功能单元中减少或限制节点转变来减小IC所消耗的功率。如果当它们未被使用时IC关闭功能单元,则典型功耗可明显减小而对性能只有很小或甚至没有影响。
但是,关闭功能单元很可能使得最坏情况的功耗受到一点冲击,当IC执行利用IC中很多功能单元的操作序列时这种情况经常会发生。最坏情况功耗有可能比典型功耗明显地要高。
一个IC中的特定功能单元或逻辑块经常被识别出它消耗了不成比例的IC功率份额,例如在一微处理器中执行浮点算术运算的电路就是如此。如果它不被调用去执行多个浮点运算则由微处理器所消耗的功率明显降低。
微处理器的最坏情况功耗可能包括在数据值操作的浮点运算序列选择了从1到0或从0到1转变的最大量节点,并且使用在该微处理器中的高速缓冲存贮器反复执行浮点运算而避免对主存贮器读或写的情况。因此,如果根据所予示的将要进行的一转移操作的那种方式该微处理器执行即将到来的推理评价操作,则随着用于该微处理器的予示是准确的转移操作的百分比的增加功耗也随之增加。这是因为一不准确的予示充溢该指令执行流水线,因而剩余一些空闲功能单元作为该流水线的新补充。
该系统的设计者在使用该IC时必须知道由该IC所消耗的最大功率将是针对任何可能的操作序列的。为了使得包含有一IC的系统做得坚固耐用,必须了解和规定该IC的最大的最坏情况功率。为了可靠性目的、为了热耗散目的和为了电源容量目的降低IC的最坏情况功耗是非常重要的。因此,存在有一降低IC的最坏情况功耗而不致其性能下降的需求。
如上所述,一操作序列的最坏情况对于估价用于上述目的的最坏情况功耗是重要的。但是这样的一序列可认为是人为的,即它可以不是一微处理器的实际应用。例如,在评价在一便携计算装置中所使用的频繁使用浮点运算的一微处理中,人为地使用一基于多次浮点运算的最坏情况功率序列。在以最大速率执行长序列的浮点算术运算的便携计算装置的典型应用中它可能是不重要的。
如果保持典型操作性能,为了减小功率,调回少量典型或人工操作顺序的性能是可接受的。因此,存在有减小IC的最坏情况功耗而不降低用于正常应用的性能的需求。
发明内容
一种用于控制IC内功耗的新方法和装置减少了最坏情况功耗而基本上没有降低一般应用的性能。最坏情况功耗是通过将高功率操作的长持续序列的活动级向下调节来降低的。
在任何IC中,许多功能单元所消耗的功率可以是无规律的。例如,浮点算术运算单元和高速缓冲存贮器是二种类型的功能单元,其中一微处理器IC可消耗基本相同的功率量。本发明允许IC设计者将许多其中有所设计的IC的这种高功率功能单元视为相同的,并且在它自己的功率控制器控制之下安置每一单元。另外,本发明允许IC设计者在一全面功率控制器的控制之下将它们设计的IC作为一整体来安置。在一微处理器IC的情况中,功耗作为一整体通过降低该指令退出速率或指令发出速率可有效调节该功耗。
在一实施例中,该功率控制器包括一活动监视器和一模式控制器。该活动监视器跟踪一特定功能单元的最近利用电平,其中该IC例如计算整个它的最近工作历史的平均工作周期。如果该有效电平大于一阈值,则该模式控制器接通该功能单元以工作在降低功率模式。该阈值设置得足够大以允许出现高利用的短脉冲串而不影响性能。
本发明的实施例对所设计的IC仅增加了有限的成本和复杂性,例如一些控制每一功能单元的控制电路和一增减计数器。另一方面,为了监视不同功能单元的利用、为了降低它们消耗的功率和为了设置它们的调节参量本发明适应包含一宽的各种技术的情况。
根据本发明的另一方面,在其中有一IC或多个IC的多个功能单元的一系统中本发明的动态功率/速率折衷方案可为最佳化。本发明包括其中由一特定功能单元所消耗的最大功率可根据在相同IC或相同系统中其它IC在另一处所消耗的功率来增大或减小的最佳方案。
根据本发明的另一方面,本发明的动态功率/速率折衷方案可由诸如在系统引导程序时间执行的平台软件、或操作系统软件或甚至可能为应用软件之类的软件所控制。
附图说明
本发明按下面附图予以说明,为了清楚将已知电路表示为框图形式。这些附图和后面的说明是为了解释和为了有助于读者了解,但本发明决不限于这里所给出的最佳实施例和设计。
图1(a)示出了本发明逻辑电路的框图;
图1(b)示出了根据本发明的一功能单元从它的正常模式或状态向它的减小功率状态以及从减小功率模式到它的正常模式变换的一状态图;
图2示出了在本发明的一实施例中在一浮点功能单元中实施一50%最大可承受工作周期的逻辑电路的框图;
图3示出了在本发明的一实施例中在一高速缓冲存贮器中实施一可编程最大可承受工作周期的逻辑电路框图;
图4示出了在本发明的一实施例中根据该数据高速缓冲存贮器的最近利用电平。
图5示出了在本发明的一实施例中一功率协调程序读取其中有一IC的各个功能单元的有效电平并且根据这些有效电平改变其它功能单元的调节参量以动态地最佳化该功率/速率折衷方案的逻辑电路的框图。
具体实施方式
概述
本发明允许一IC当它的最近利用超过一可承受值时通过调节返回一功能单元的功能而在高速操作和低速操作之间动态折衷。因此,本发明允许该IC动态地调节返回操作顺序的最大最坏情况功耗的执行速率,从而不超过所允许的最坏情况功耗,因此避免了稳定性、热耗散或电源问题。
同时,这种现实的操作顺序的调节使任何性能影响降至最小程序。这种功率降低是以不会对典型工作的IC的性能产生实质性影响的方式来进行的。局域控制和阈值值使本发明提供了最小限度的性能影响。另外,对于本发明做了调节的这些操作顺序来说,该性能影响是可予测和可重复的。
一IC的用途并不是高性能地进行某种人为的、不真实的最大最坏情况功耗操作顺序的运行。相反,它是高性能地进行真实的或典型的操作顺序。在某些情况中,在这种典型的最坏情况功耗和人为的最坏情况功耗之间在功耗方面可以存在有实质的差别。根据设计的人为的最坏情况功耗和它的典型最坏情况功耗之间的差数增添了本发明对一特定IC设计的效果。
查看典型最坏情况功耗的最佳方式是查看通常用来执行实际工作并从这些顺序之中识别最大功耗的该特定顺序的真实操作顺序。这种一顺序可以通过以各种流行软件程序画出操作顺序的功耗的轮廓图来确定,并且从这些顺序之中选择具有最高功耗的顺序。
根据本发明,对于比一阈值要长的保持高功率功能单元的人为操作顺序是以低功率模式执行的。因此,本发明防止了IC消耗的功率超过它的规定的最大值而不考虑它所执行的操作顺序。在通过导致过量功耗可能审慎地试图破一微处理器IC或包括有该微处理器的系统的诸如病毒之类恶意软件的情况下这是很关键的。
本发明不依赖于通过降低电压和/或时钟速率来降低总的功耗的技术。它可以连同这种方法使用,或者替代这种方法。例如,一IC除了在这个速率超过最坏情况功耗之外还工作在100MHz时,则(i)该时钟速率将降低以减小最坏情况功耗;(ii)将使用本发明以减小最坏情况功耗;或(iii)将使用这二种技术的组合。对于某些限制功率的设计,使用本发明不管一特定目标时钟差别如何都可满足。
图1(a)是本发明一实施例的框图。功能单元105向活动监视器106提供当前有效信息108。当前有效信息108表明功能单元105当前执行的是什么任务或操作,或者指明当前它是空闲的。根据这个当前有效信息108,活动监视器106产生活动级109,并将它提供给模式控制器107。活动级109可以是一数、每一个指明该活动级是在一所规定范围内的一组信号或甚至是一单个比特。根据活动级109,模式控制器107产生模式控制信号110,该信号被加到功能单元单元105。
模式控制器107在一正常工作模式101(通常具有高性能和高功耗的工作模式)和一降低功率模式102(通常具有较低性能和较低功耗的模式)之间转换功能单元105。
活动监视器106通过活动级109监视功能单元105的最近利用。活动级109可以是由功能单元105产生的一特定信号,或者它可以仅仅是功能单元105接收和响应的指令。监视该最近利用可以包括例如计算在整个前面千余周期的该功能单元的平均空闲周期。如果这个活动级超过一阈值,则模式控制器107将功能单元105置于降低功率模式。另外,如果它期望监视一IC的整个功耗,则它的衬底温度可被测量并且这个值用作本发明的活动级。
图1(b)是本发明操作的一状态转换图。它示出了模式控制器107如何使得功能单元105在正常模式101和降低功率模式102之间转换。当该功能单元是正常模式101并且该最近利用大于该阈值时,则出现转换103,在该转换103中模式控制器将该功能单元置于降低功率模式102。类似地,当在降低功率模式102中并且最近利用小于该阈值时,则该模式控制器获取转换104以恢复该功能单元将它控制为正常模式101。
最好是,该阈值值是根据在设计这个特定IC中所使用的画出的真实最坏情况功耗基准的轮廓来设置的。该阈值最好设置得足够大,以使在这个基准中所现的所有或大多数高有效脉冲都比这个阈值要短,因而可以在很少或没有调节情况下被快速执行。
在热耗散是多少功率可被消耗的主要因素的情况中,该阈值可以是在100,000次操作的量级。从一热点来看在一毫秒(1ms)的功耗中的一尖峰信号是可容忍的。如果该IC被定时在100MHz,则1ms尖峰信号是100,000个时钟周期。可以在100,000个时钟周期的高功率脉冲中执行高速计算的一实质的数量。因此,本发明允许高有效的脉冲串,除非它们的持续时间超过该阈值。用于监视利用的设计替换物
本发明在包含很宽的用于监控活动级的方法和装置范围内都是适应的。这些设计替换物的范围是从非常简单的替换物到极复杂的替换物。事实上,每一功能单元可由一不同的监视技术所控制以得到最佳的适配。
一特别简单的监视技术是使用一增/减计数器作为一活动级寄存器,其内容指明了被监视的该功能单元的当前利用。在一简单的执行过程中,该功能单元是有效的则在每一时钟周期期间该增/减计数器的内容递增1而该功能单元是无效的则对于每一时钟周期该增/减计数器递减1。稍复杂的设计替换物不是针对每一时钟周期递增或递减,而相反一旦该功能单元执行每一复杂操作并且对于每一相应的周期而递减则该功能单元是无效的。另一设计替换物是对于该活动监视器由除1之外的值递增、由除1之外的值递减或二者均有。
如果在每一有效周期期间该活动级寄存器的内容被增加的值等于在每一无效周期期间该活动级寄存器被减小的值,则该活动监视器实施百分之五十(50%)的一最大可维持工作周期的操作。在一增/减计数器执行过程中,必须注意的是该活动级寄存器的内容决不能低于0,或者换句话说一页数作为该活动级寄存器中的值不同于在其中该值在正方向上变得过大的roll-over条件。
该活动级寄存器的当前值再与一阈值相比较。该阈值与最大可维持工作周期无关。它被设置得足够的大从而使高有效的短脉冲串可以最大限度速度执行。最好是,该阈值通过画出被选择作为真实的最坏情况功耗基准的操作顺序的轮廓来设置。该阈值可以是在它的速率没有向下调节的情况下限制该功能单元不超过该速率的思想。类似地,该活动级寄存器的当前值可以是它的当前功率缺乏的思想。
如果期望除百分之五十(50%)之外的最大可维持工作周期,则它必须使活动增量值不同于无效减量值。例如,增量值为2和减量值为1产生百分之三十三(33%)最大可维持工作周期。该可维持工作周期由公式1得到:
公式1:SDC=ID/(ID+AI)SDC表示可维持工作周期,A1表示活动增量数和ID表示无效减量数。在公式1中,A1和ID均为正表示实际使用的增量值和减量值的绝对值。最好是该活动增量值为正而无效减量值为负。
如果活动增量A1值选择为1,则可以是有效的该功能单元的连续周期的最大值等于该阈值。通常,最大脉冲长度由公式2给出:
公式2:MBL=TH/AIMBL表示在该最大脉冲长度中的功能单元周期数和TH表示用来与该当前有效值相比较的阈值。
许多改进的有效监视方案都可能在本发明的范围之内。例如由一相关特定有效增益的活动监视器可执行监视要求的该功能单元的操作类型带有每一可能的操作类型。在这种方案中,该活动级寄存器的内容可仅仅以一固定比率减量。减小功率的可选择设计方案
本发明在包含用来降低它所控制的功能单元的功率的一宽的设计变化范围内是适应的。这些设计变化可以是从很简单到极复杂的范围。事实上,每一功能单元可由一不同的功率减小技术来控制以得到最大的适配。
一减小由该功能单元消耗的功率的最简单的方法是减小它的时钟速率。这可通过将正常接收的该时钟以2分隔,或者通过每隔一个时钟脉冲去掉一个时钟脉冲来实施。在最大可维持工作周期是50%的情况中,当该阈值被迫使超过这个最大工作周期时提供给该功能单元的时钟被2分割。另外,该时钟速率可由一除2之外的系数来降低。
许多IC在内部保持有高速缓冲存贮器,因此可迅速评定在某些外部存贮器类型中可利用在较低速率的数据的拷贝。使用高速缓冲存贮器是为了性能的原因。从一在芯片上的高速缓冲存贮器中访问该信息比从在IC外部的一装置对该信息的访问的延迟要小很多。
高速缓冲存贮器是IC中功率的主要的消耗者。因此,安置在芯片上的高速缓冲存贮器最好是在本发明的控制之下。当由于该高速缓冲存贮器的最大可维持工作周期被超过而必须降低功耗时,一个简单的方案是实施对外部存贮器的访问(即使该数据的拷贝是出现在芯片上的高速缓冲存贮器中也是如此)。
本领域的普通技术人员应当清楚,一IC可以具有另外的在芯片上的功能单元,这些功能可由不在芯片上的电路以较低速率来执行。这就存在用作高速缓冲存贮器的用于相同功率降低技术的选择物,即,当需要降低在芯片上的功耗时利用不在芯片上的电路来执行该操作。
在很少的有效利用成本的情况中包括在一IC的二种完成一特定功能单元的实施,一种是高速率和高功率,另一种是低速率和低功率。在这种情况中,本发明的模式控制器根据该功能单元的当前利用和它的阈值参量的当前值来选择使用哪一种。
在一执行推理指令的微处理器的情况中,这些指令通过予先处理将接收(或将不接收)的一有条件的转移指令的指令评价流水线而被启动。如果有关是否接受了该转移的予测是正确的,则完成了一重要的性能加速。但是有时该转移予测出现了错误并且很快就知道,则该推理评价的结果被丢弃并且通过该指令评价流水线启动正确指令。对于一微处理器执行推理指令的一优选降低功率模式可执行降低或消除推理指令的消除。
推理操作的另一例子是高速缓冲存贮器予取。许多IC具有予先处理按顺序访问的指令或数据存贮器的在芯片上的高速缓冲存贮器。为了提高性能,它们予取该指令或数据高速缓冲存贮器邻近于当前请求的指令或数据地址的某些字数。用于一高速缓冲存贮器的优选降低功率模式可包括禁它的推理予取的部分或全部。通常,用于任何功能单元的一优选的降低功率模式可降低或消除它的推理有效性。利用增/减计数器控制浮点算术运算
图2示出了本发明的在浮点单元206中实施百分之五十(50%)的一最大可维持工作周期的一实施例。在它的正常操作模式中,多路转换器203将系统时钟201传送给浮点单元206的时钟输入端。在它的降低功率模式中,多路转换器203将除二电路的输出传送给浮点单元206的时钟输入端,因此将它的速率和功耗分为两半。
浮点单元206将有效信号207提供给增/减计数器205的增/减控制输入端。对于每一系统时钟201的周期并且有效信号207为真时,增/减计数器205的内容递增1。对于每一系统时钟201的周期并且有效信号207为假时,增/减计数器205的内容递减1。如果递减使得它的内容降低为0时,则增/减计数器205在0处中止。
多路转换器203的选择输入端由来增/减计数器205的最高有效位输出204驱动。该位提供反馈以控制本发明所置的浮点单元206是否进入降低功率模式。因此在这个实施例中,该阈值被予置并且必须是2的某次幂。使用2的哪次幂是由在增/减计数器205中的位数来选择的。当增/减计数器205的内容足够地大它的最高有效位为1时,则进入降低功率模式并且多路转换器203选择除2电路202的输出以计时浮点单元206。
在降低功率模式期间,即在最高有效位204为1的期间,在实施百分之五十(50%)最大工作周期有效的一半频率处对浮点单元206计时。在这期间,对于系统时钟201的每隔一周期浮点单元有效信号207为真。
在本发明的这个实施例中所使用的增量幅值和减量幅值是相等的;也就是增/减计数器205的内容不是递增1就是递减1。因此,允许用于浮点单元206的最大可维持工作周期为50%。因而,如果由IC所执行的操作顺序为了长于由该予置阈值允许的脉冲而试图维持大于50%的一浮点工作周期时,则该浮点单元的性能被下调以停留在50%工作周期之内。用可编程活动监视器控制高速缓冲存贮器
图3示出了本发明的一实施例,在该实施例中一高速缓冲存贮器的功耗以一可编程方法所控制。本发明的这个实施例中该活动监视器有如下功能:来自在芯片上的高速缓冲存贮器的高速缓冲存贮器有效信号316被提供给多路转换器307的选择输入端。根据高速缓冲存贮器的当前状态,在活动增量寄存器304中的值或在无效减量寄存器305中的值作为所呈现的第一操作数输入到加法器308中。从活动级寄存器309的当前值所提供的第二操作数输入到加法器308。加法器308将这二个输入的操作数的值相加并且将相加结果作为新的当前值提供给活动级寄存器309并存贮在其中。
在本发明的这个实施例中的模式控制器有如下功能:不可利用高速缓冲存贮器控制信号312是比较器确定活动级寄存器309的内容大于阈值寄存器306的内容的结果。当它断言为不可利用高速缓冲存贮器控制信号312时,该高速缓冲存贮器进入它的降低功率模式,即,拒绝对它的访问。当高速缓冲存贮器不可利用312被确定时如果试图涉及该高速缓冲存贮器则最好是迫使该处理器进入空闲或等待状态。
在阈值寄存器306、无效减量寄存器305和有效增益寄存器304中的值可由图3中未示出的各种机构进行可编程。这些值是与被控制的功能单元相关联的调节参量。在活动增量寄存器304和无效减量寄存器中的值必须是相反符号的值——一个值必须为正而另一值为负。
如像结合图1进行的上述说明,可对活动增量寄存器304和无效减量寄存器305的值进行选择以在该在芯片上的高速缓冲存贮器实施宽范围的最大工作周期。另外,阈值寄存器306的值可被编程以改变高速缓冲存贮器的脉冲的最大持续时间。这就使得在需要高速缓冲存贮器访问的脉冲—至少这些脉冲是在可允许功耗限制之内的持续时间的操作顺序是高性能的。编程能力的可选择设计方案
本发明在包括用于与一特定功能单元,即阈值寄存器306、无效减量寄存器305和活动增量寄存器304的相关调节参量的内容编码或设置的一宽的设计替换范围中是适应的。它们可以是通过改变一个或二个用来制造该IC的掩模层编程为如像只读存贮器(ROM)的所期望值的只读值。它们可以是通过诸如烧断用于每一位的可熔断线之类的一次只写处理编程如像一可编程只读存贮器(PROM)的可编程只读值。这些设计替换允许具有不同功耗和性能规格的不同型式IC。
另外,对该调节参量值的编程可以在软件控制下进行——或者在系统引导程序或上电自检验(POST)时间在平台软件或基本输入/输出系统(BIOS)的控制下、或者动态地在操作系统的控制之下、或者也许在通过应用软件有限的动态控制之下。如果在系统引导程序时间被编程,则选择的值反映在所使用的IC中该系统的电源和热耗散特性。例如,相对于一台式装置一例便携装置可使用基本不同的值。如果由应用软件来编程,则选择的值可反映在浮点操作中该软件将它本身功耗置为丰富而在高速缓冲存贮器访问中置为贪乏,或反之亦然。最好是该硬件被强制在由软件所设置的任何调节参量上,从而将整个功耗保持在技术要求范围之内,例如对一参量的增加可能迫使另一参量自动减小。
另外,如下所述那样作为穿越多个功能单的协调功耗的部分随着IC工作该值可自动地变化。在这种情况下,活动级寄存器309的当前值可认为是可被降低以给出它的相关功能单元-一次性能升高的值或者是可被增加以给出它一在功耗方面暂时限制的值。协调越过多个功能单元的功耗
图4是本发明一实施例的框图,用于一包括有一数据高速缓冲存贮器和一指令高速缓冲存贮器的微处理器或另一IC,将执行的推理予取到该指令高速缓冲存贮器中,并且根据数据高速缓冲存贮器的最近利用禁止指令高速存贮器予取推理。
活动级监视器和模式控制器在对一数据高速缓冲存贮器(未示出)的访问中实施一最大可维持工作周期。框和信号301至316与图3相应标号的框和信号的功能是相同的。因此,当用于数据高速缓冲存贮器访问的最大可维持工作周期大于阈值持续时间时,则进入降低功率模式并且如果它试图涉及该数据高速缓冲存贮器时该处理器可对一周期或更多周期为空闲。
另外,比较器402将在活动级寄存器309中的当前值与在予取阈值寄存器401中的值进行比较。根据比较结果,如果活动级超过这个阈值则产生控制信号调节指令高速缓冲存贮器予取403。这个控制信号限制推理予取到指令高速缓冲存贮器(未示出),即,它禁止所有的予取或者至少降低了它的速率。
本实施例的前提是只要在该数据高速缓冲存贮器中的活动级低于一阈值,则将执行将推理予取到指令高速缓冲存贮器中。它们可以快速执行并且在功耗方面它们通常是可承受的。但是如果数据高速缓冲存贮器活动级超过这个阈值,则将不执行将推理予取到指令高速缓冲存贮器。它们损耗的功率通常是不可承受的。另外,当在一特定操作顺序中碰巧该指令访问是不按顺序时由于推理予取没有好处,所以高速执行将使性能处于边缘状态。
图5示出了本发明一实施例的框图,它包括一功率协调器,用来在多个功能单元之间动态地使由本发明所允许的功率/速率折衷方案最佳化。通常,功率协调器503可以读取与在集成电路#1内的一个或多个功能单元501相关的活动级并且改变它的调节参量,即它们的相关的有效增益、无效减量、阈值或活动级值。
集成电路#1可以包括多个另外的功能单元,例如功能单元#4,它的功耗不被监视——也许因为它是恒定的、或比较小、或者它是被调节的最佳功能单元。一具有最小性能影响的高功率功能单元可能是对于调节为第一功能单元的最佳的选择物。
集成电路#1可以包括多个另外的功能单元,例如功能单元#3,它的功耗不被监视——也许因为其功耗相对地小、或不存在有用来控制它的功耗的的有效利用成本的技术、或者存在降低它的功耗而对性能有实质影响而使它不可能用于这种控制的选择物。
根据任何一个或所有的被监视的功能单元,功率协调器503可以改变与一特定单元501相关的活动增量和/或无效减量。
类似地,功率协调器503可以改变与一特定功能单元501相关的阈值。这样做可允许在该特定功能单元中的较长的高有效的脉冲串。另外,如在上面结合图2所讨论的那样,为了保持最大高功率脉冲长度恒定,这样做改变了这些单元的活动增量值。
类似地,功率协调器503可以改变与一特定功能单元501相关的当前活动级,因而给出该功能单元一次性能提升或功率回缩。
如图5所示IC#1,功能单元#1和#2具有一相关的活动监视器和模式控制器502。功能单元#3具有一相关的活动监视器504,但没有模式控制器。功能单元#4具有一相应的模式控制器505,但没有活动监视器。活动监视器和模式控制器502、活动监视器504和模式控制器505是不同类型的本地功率控制器,它们的操作是通过功率协调器503改变它的调节参量而协调的。
例如,功能单元#1可以是一指令高速缓冲存贮器和功能单元#2可以是一数据高速缓冲器,每一个都与类似于图3所示的活动监视器和功率控制器相关。功能单元#3可以是一浮点算术运算单元。功能单元#4是如图4所讨论的执行指令高速缓冲存贮器予取的单元。
在这个例子中,根据总的当前活动级值是否是在每一活动监视器和模式控制器502中并每一活动监视器504是否超过一阈值,功率协调器503可调节或禁止指令高速缓冲存贮器予取。因为与另外的功能单元相比该性能的损失要较小,所以假定这里推理指令取出是向下调节的第一有效。
另外在这个例子中,根据与浮点功能单元#3相关的当前有效值是否超过一阈值,功率协调器503可以提高或降低用于每一指令高速缓冲存贮器功能单元#1和数据高速缓冲存贮器功能单元#2的最大可维持工作周期。因为与在该高速缓冲存贮器的最大工作周期通过反馈所付出的代价相比性能的损失较大,所以这里假定浮点功能单元#3不再被调节。在实际中对于执行某些类型应用的构成来说这个假设是正确的,而对其它构成或应用类型来说它将用另外的相反的方式。本发明的监视和控制方案足以适应容纳这种变化的一宽的范围。
另外在这个例子中,根据与另外高速缓冲存贮器相关的该当前活动级是否超过一阈值,功率协调器503可提高或降低用于该指令高速缓冲存贮器功能单元#1和数据高速缓冲存贮器功能单元#2的最大可维持工作周期。这里假定如果该单元是相对地无效,则在另一单元中可提供较高的可维持工作周期。
有关对于在最坏情况功率保存的最佳性能的最佳技术的这些和任何其它假设的正确性最好是通过如上所述那样画出真实的最坏情况功率基准的轮廓来确定。根据这样画出的轮廓,可在由本发明所控制的每一功能单元的正常模式和降低功率模式之间进行估价和性能折衷。每一个这样的假设都可以通过对真实的最坏情况功率基准的模拟而得以证实。
在图5中还示出了系统功率协调器506和集成电路#2,示出了本发明的动态功率/速率折衷方案如何分层地延伸到多个IC系统。每一集成电路500都向系统功率协调器506提供功耗信息507。系统功率协调器506向每一集成电路500提供功耗指令507。在系统功率协调器506和每一功率协调器503之间可能有相互影响,其中每一IC500在功率协调器503和活动监视器/模式控制器502、504和505之间有类似于上述的相互影响。
例如,一个人计算机系统可以包括有一微处理器IC和一个或多个外围控制器IC——显示控制器IC、一调制解调通信IC、一盘控制器IC等。根据外围控制器IC的最近利用该系统功率协调器可对微处理器当前消耗的功率升高或降低。
本发明的最佳实施例和各种变化的实施例以及各种设计方案。尽管如此,在不违背本发明的精神和范围或下面权利要求的前提下可作各种形式和细节的变化。

Claims (28)

1、一种具有被控制功耗的微处理器,包括:
一构制成用来存贮动态可变化活动阈值的存贮单元;
一在正常模式和降低功率模式中可进行浮点算术运算的浮点单元;
一耦合到所述浮点单元可对所述浮点单元的利用进行监视的活动监视器;和
一耦合到所述存贮单元和所述活动监视器当所述利用超过所述活动阈值时可将所述浮点单元置于所述降低功率模式的模式控制器。
2、如权利要求1的微处理器,其特征在于进一步包括:
一耦合到所述浮点单元并响应于来自所述模式控制器的一功率降低信号当所述浮点单元是在所述降低功率模式时降低在被计时的所述浮点单元的速率的单元。
3、一种具有被控制功耗的微处理器,包括:
一构制成用来存贮一动态可变阈值的活动阈值存贮器;
一用于存贮也存贮在一外部存贮器中的信息和可工作在一正常模式和一降低功率模式的高速缓冲存贮器;
一耦合到所述高速缓冲存贮器用于产生一指示所述高速缓冲存贮器的利用的活动级的活动监视器;和
一耦合到所述活动阈值存贮器和所述活动监视器用来当所述活动级大于所述活动阈值时将所述高速缓冲存贮器置于所述降低功率模式的模式控制器。
4、如权利要求3的微处理器,其特征在于进一步包括:
一耦合到所述高速缓冲存贮器并且响应于来自所述模式控制器的功率降低信号、当所述高速缓冲存贮器是在所述降低功率模式时用来访问所述外部存贮器的单元。
5、如权利要求3的微处理器,其特征在于进一步包括:
一耦合到所述高速缓冲存贮器并且响应于来自所述模式控制器的功率降低信号、当所述高速缓冲存贮器是在所述降低功率模式时用来将所述信息的预取调节到所述高速缓冲存贮器中的单元。
6、如权利要求3的微处理器,其特征在于所述被存贮的信息包括指令,并且所述微处理器进一步包括:
一耦合到所述高速缓冲存贮器的用来执行所述指令的指令执行单元。
7、如权利要求3的微处理器,其特征在于所述信息包括数据,并且所述微处理器进一步包括:
一耦合到所述高速缓冲存贮器用来对所述数据执行运算的数据运算单元。
8、一种具有被控制功耗的微处理器,包括:
一数据运算单元,用来对存贮在一外部存贮器的数据执行运算;
一数据高速缓冲存贮器,与所述数据运算单元和所述外部存贮器相耦合,用来存贮所述数据;
一活动监视器,耦合到所述数据高速缓冲存贮器,用来指明所述数据高速缓冲存贮器的最近利用;
一指令执行单元,用来执行来自所述外部存贮器的指令;
一指令高速缓冲存贮器,耦合到所述指令执行单元和所述外部存贮器,用来存贮所述指令和可工作在一正常模式和一降低功率模式;和
一模式控制器,耦合到所述指令高速缓冲存贮器和所述活动监视器,当所述最近利用超过一阈值时用来将所述指令高速缓冲存贮器置于降低功率模式。
9、一种具有被控制功耗的微处理器,包括:
一指令执行单元,用来推理地执行指令;
一活动监视器,耦合到所述指令执行单元,用来指明所述指令执行单元的最近利用;和
一模式控制器,耦合到所述指令执行单元和所述活动监视器,用来当所述最近利用超过一阈值时调节所述推理指令执行,而不调节非推理指令执行。
10、一具有被控制功耗的集成电路,包括:
一可工作在一正常模式和一降低功率模式的功能单元;
一活动监视器,耦合到所述功能单元,用来指明所述功能单元的利用;和
一模式控制器,耦合到所述功能单元和所述活动监视器,用来当所述利用超过一阈值时将所述功能单元置于所述降低功率模式,所述阈值由与所述功能单元相关的调节参量所指明,所述调节参量可动态调整以改变所述阈值。
11、如权利要求10的集成电路,其特征在于进一步包括:
一耦合到所述功能单元并响应于所述模式控制器的单元,当所述功能单元是在所述降低功率模式时用来降低被计时的所述功能单元的速率。
12、如权利要求10的集成电路,其特征在于所述功能单元包括存贮也在一外部存贮器中已被存贮信息的高速缓冲存贮器,并且所述集成电路进一步包括:
一耦合到所述功能单元并且响应于所述模式控制器的单元,用来当所述功能单元是在所述降低功率模式时访问外部存贮器。
13、如权利要求10的集成电路,其中所述功能单元包括一存贮来自一外部存贮器的信息的高速缓冲存贮器,并且所述集成电路进一步包括:
一耦合到所述功能单元并且响应于所述模式控制器的单元,用来当所述功能单元是在所述降低功率模式时将来自所述外部存贮器的预取调节到所述高速缓冲存贮器中。
14、如权利要求10的集成电路,其特征在于所述功能单元可执行推理操作,并且所述集成电路进一步包括:
一耦合到所述功能单元并且响应于所述模式控制器的单元,用来当所述功能单元是在所述降低功率模式时调节所述推理操作。
15、如权利要求10的集成电路,其特征在于:
所述功能单元可工作在周期状态;
所述活动监视器指明通过由所述功能单元有效的每一所述周期的第一数量所改变的一活动级的所述功能单元的利用和由所述功能单元无效的每一所述周期的第二数量所改变的所述活动级的所述功能单元的利用,所述调节参量包括所述活动级。
16、如权利要求15的集成电路,其特征在于进一步包括:
一用来动态地改变所述调节参量的功率协调器。
17、一种具有被控制功耗的集成电路,包括:
一用来在正常模式和降低功率模式中执行一功能的功能装置;
一监视装置,耦合到所述功能装置,用来计算指明所述功能装置的利用的一活动级;
一控制装置,耦合到所述功能装置和所述监视装置,用来当所述活动级大于一预定阈值时将所述功能装置置于降低功率模式;和
阈值调节装置,耦合到所述控制装置,以便动态调节所述的预定阈值。
18、一种控制一集成电路内的功耗的方法,包括:
监视所述集成电路内的一功能单元的利用;
动态调整与该功能单元相关的一活动阈值;
将所述利用与所述活动阈值相比较;
当所述利用小于所述活动阈值时将所述功能单元置为正常模式;和
当所述利用大于所述活动阈值时将所述功能单元置为降低功率模式。
19、如权利要求18的方法,其特征在于所述降低功率模式包括降低被计时的所述功能单元的速率。
20、如权利要求18的方法,其特征在于所述功能单元包括一高速缓冲存贮器,所述将所述功能单元置为所述降低功率模式的步骤包括将对该高速缓冲存贮器的访问转移到对一外部存贮器的访问。
21、如权利要求18的方法,其特征在于所述功能单元执行推理操作,所述将所述功能单元置为降低功率模式的步骤包括调节所述推理操作的执行。
22、如权利要求18的方法,其特征在于所述监视包括由所述功能单元有效的每一周期的第一数量改变一活动级和由用于所述功能单元无效的每一周期的第二数量改变所述活动级。
23、如权利要求22的方法,其特征在于进一步包括:
动态地确定所述第一数量。
24、如权利要求22的方法,其特征在于进一步包括:
动态地确定所述第二数量。
25、一种具有被控制功耗的集成电路,包括:
在所述集成电路之中的第一功能单元;
在所述集成电路之中的第二功能单元,所述第二功能单元可工作在一正常模式和一降低功率模式并且具有一涉及第一功能单元的活动级的一活动级;
在所述集成电路之中的一活动监视器,耦合到所述第一功能单元,用于产生指明所述第一功能单元的活动级的一活动级;和
在所述集成电路之中的一控制器,耦合到所述第二功能单元和所述活动监视器,用来当所述第一功能单元的活动级大于一阈值时将所述第二功能单元置于所述降低功率模式。
26、一种具有被控制功耗的集成电路,包括:
多个功能单元,每一个可工作于正常模式和降低功率模式;
多个本地功率控制器,每一个与至少一个所述功能单元相关并且每一个具有调节参量,根据所述调节参量的当前值用来控制所述相关功能单元的功耗;和
一功率协调器,耦合到至少二个所述本地功率控制器,用来读取在所述被耦合的本地功率控制器的第一本地功率控制器中的调节参量,并且基于其用来改变在所述被耦合的本地功率控制器的第二本地功率控制器中的调节参量。
27、一种控制一集成电路的功耗的方法,包括下列步骤:
监视在所述集成电路中的第一功能单元的利用以产生第一活动级;和
控制在所述集成电路中的第二功能单元的操作模式,所述第二功能单元具有与所述第一功能单元的第一活动级相关的第二活动级,并且当所述第一活动级大于一阈值时将可工作在正常模式和降低功率模式的第二功能单元置为降低功率模式。
28、一种具有由一处理器可控制的功耗的集成电路,包括:
一可工作在正常模式和降低功率模式的功能单元;
一耦合到所述功能单元的具有一调节参量的活动监视器,用来产生指明所述功能单元的利用的一活动级;
一用来存贮所述调节参量的存贮单元,所述调节参量是由所述处理器可动态地改变;和
一耦合到所述功能单元和所述活动监视器的模式控制器,用来响应于所述活动级和所述调节参量控制所述功能单元的模式。
CN 97182454 1997-09-29 1997-09-29 控制集成电路功耗的方法和器件 Expired - Lifetime CN1126013C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 97182454 CN1126013C (zh) 1997-09-29 1997-09-29 控制集成电路功耗的方法和器件

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 97182454 CN1126013C (zh) 1997-09-29 1997-09-29 控制集成电路功耗的方法和器件

Publications (2)

Publication Number Publication Date
CN1276070A CN1276070A (zh) 2000-12-06
CN1126013C true CN1126013C (zh) 2003-10-29

Family

ID=5178501

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 97182454 Expired - Lifetime CN1126013C (zh) 1997-09-29 1997-09-29 控制集成电路功耗的方法和器件

Country Status (1)

Country Link
CN (1) CN1126013C (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6826704B1 (en) * 2001-03-08 2004-11-30 Advanced Micro Devices, Inc. Microprocessor employing a performance throttling mechanism for power management
US6931559B2 (en) * 2001-12-28 2005-08-16 Intel Corporation Multiple mode power throttle mechanism
US7200186B2 (en) * 2002-03-14 2007-04-03 Intel Corporation Methods and apparatus for reducing power usage of a transmitter and receiver coupled via a differential serial data link
US7205684B2 (en) * 2002-11-18 2007-04-17 Matsushita Electric Industrial Co., Ltd. Semiconductor integrated circuit device and method for designing the same
CN100407102C (zh) * 2002-12-04 2008-07-30 Nxp股份有限公司 基于软件的微处理器功率损耗控制
US7783905B2 (en) * 2006-06-13 2010-08-24 Via Technologies Inc. Method for reducing power consumption of a computer system in the working state
US8362645B2 (en) * 2010-03-29 2013-01-29 Intel Corporation Method to reduce system idle power through system VR output adjustments during S0ix states
US9195285B2 (en) * 2012-12-27 2015-11-24 Intel Corporation Techniques for platform duty cycling
US9811142B2 (en) * 2014-09-29 2017-11-07 Apple Inc. Low energy processor for controlling operating states of a computer system

Also Published As

Publication number Publication date
CN1276070A (zh) 2000-12-06

Similar Documents

Publication Publication Date Title
US9715397B2 (en) Methods and apparatuses for controlling thread contention
CN1024226C (zh) 便携式计算机实时的功率储存
EP2250542B1 (en) Forced idle of a data processing system
CN100401232C (zh) 多核处理器的处理器模式自动控制装置及其方法
US9229525B2 (en) Adaptive latency tolerance for power management of memory bus interfaces
JP4476876B2 (ja) 並列計算装置
JP5437077B2 (ja) プロセッサと電力システムとを備えるシステム及びこれの動作方法
US8225121B2 (en) Forced idle of a data processing system
CN101198933A (zh) 基于差错的电源调节
CN1126013C (zh) 控制集成电路功耗的方法和器件
US20120102349A1 (en) System and method for controlling processor low power states
EP2887181B1 (en) Method and apparatus to control current transients in a processor
KR20010099880A (ko) 자동 cpu 속도 제어를 위한 장치 및 방법
CN1549961A (zh) 动态电压控制方法与设备
CN1809823A (zh) 建立、报告和调整系统存储器使用的方法和装置
CN101379453A (zh) 使用动态工作负载特征来控制cpu频率和电压调节的方法和装置
CN101529361A (zh) 计算机设备功率管理系统和方法
KR20110043193A (ko) 멀티 코어 시스템에서 중앙 처리 장치의 전력 제어 장치 및 방법
CN106762765A (zh) 针对不同类型板卡配置下的服务器风扇调控方法及系统
CN103782269A (zh) 有效频率加速操作
CN1478224A (zh) Java加速器环境中能力管理的系统和方法
US10739835B2 (en) Power management for electronic devices
Gupta et al. Formal methods for dynamic power management
CN1293443C (zh) 在微电路中限制电流变化所感应的电压变化的方法和设备
GB2538942A (en) Multiple heterogeneous energy stores

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CX01 Expiry of patent term

Granted publication date: 20031029

CX01 Expiry of patent term