CN1568450A - 控制无线通信系统中正向信道上数据速率的方法和装置 - Google Patents
控制无线通信系统中正向信道上数据速率的方法和装置 Download PDFInfo
- Publication number
- CN1568450A CN1568450A CNA028202910A CN02820291A CN1568450A CN 1568450 A CN1568450 A CN 1568450A CN A028202910 A CNA028202910 A CN A028202910A CN 02820291 A CN02820291 A CN 02820291A CN 1568450 A CN1568450 A CN 1568450A
- Authority
- CN
- China
- Prior art keywords
- power
- instruction
- performance element
- data
- execution
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 62
- 238000004891 communication Methods 0.000 title description 2
- 238000012545 processing Methods 0.000 claims abstract description 37
- 230000008014 freezing Effects 0.000 claims abstract description 12
- 238000007710 freezing Methods 0.000 claims abstract description 12
- 238000006243 chemical reaction Methods 0.000 claims description 30
- 230000008569 process Effects 0.000 claims description 19
- 238000004088 simulation Methods 0.000 claims description 15
- 230000008901 benefit Effects 0.000 claims description 4
- 238000004364 calculation method Methods 0.000 claims 7
- 238000010586 diagram Methods 0.000 description 11
- 230000000694 effects Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000013519 translation Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000003442 weekly effect Effects 0.000 description 2
- QDZOEBFLNHCSSF-PFFBOGFISA-N (2S)-2-[[(2R)-2-[[(2S)-1-[(2S)-6-amino-2-[[(2S)-1-[(2R)-2-amino-5-carbamimidamidopentanoyl]pyrrolidine-2-carbonyl]amino]hexanoyl]pyrrolidine-2-carbonyl]amino]-3-(1H-indol-3-yl)propanoyl]amino]-N-[(2R)-1-[[(2S)-1-[[(2R)-1-[[(2S)-1-[[(2S)-1-amino-4-methyl-1-oxopentan-2-yl]amino]-4-methyl-1-oxopentan-2-yl]amino]-3-(1H-indol-3-yl)-1-oxopropan-2-yl]amino]-1-oxo-3-phenylpropan-2-yl]amino]-3-(1H-indol-3-yl)-1-oxopropan-2-yl]pentanediamide Chemical compound C([C@@H](C(=O)N[C@H](CC=1C2=CC=CC=C2NC=1)C(=O)N[C@@H](CC(C)C)C(=O)N[C@@H](CC(C)C)C(N)=O)NC(=O)[C@@H](CC=1C2=CC=CC=C2NC=1)NC(=O)[C@H](CCC(N)=O)NC(=O)[C@@H](CC=1C2=CC=CC=C2NC=1)NC(=O)[C@H]1N(CCC1)C(=O)[C@H](CCCCN)NC(=O)[C@H]1N(CCC1)C(=O)[C@H](N)CCCNC(N)=N)C1=CC=CC=C1 QDZOEBFLNHCSSF-PFFBOGFISA-N 0.000 description 1
- 102100024304 Protachykinin-1 Human genes 0.000 description 1
- 101800003906 Substance P Proteins 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- GOLXNESZZPUPJE-UHFFFAOYSA-N spiromesifen Chemical compound CC1=CC(C)=CC(C)=C1C(C(O1)=O)=C(OC(=O)CC(C)(C)C)C11CCCC1 GOLXNESZZPUPJE-UHFFFAOYSA-N 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Computer Hardware Design (AREA)
- Geometry (AREA)
- Power Sources (AREA)
- Mobile Radio Communication Systems (AREA)
- Transceivers (AREA)
- Logic Circuits (AREA)
- Microcomputers (AREA)
Abstract
在第一方面,本发明提供了一种节省处理集成电路功率的方法。该方法包括步骤:计算(401-408)执行指令及对应于该指令的数据的功耗;及如果该执行不会超过预定功率水平则执行(409、410)该指令。在第二方面,本发明提供了一种节省处理集成电路功率的方法,该处理集成电路使用了多个执行单元。该方法包括下列步骤:将处理集成电路所消耗的总功率与处理集成电路的功率预算进行比较(301、302);及如果该总功率超出功率预算则冻结(304)多个执行单元中一个单元的指令执行,从而允许该指令执行在稍后某个时间从执行冻结的地方继续进行。本发明的许多其它方面是作为系统和装置来提供的。
Description
技术领域
本发明涉及执行数据处理的集成电路,如微处理器、微控制器、逻辑电路等,更具体地说,涉及降低此类集成电路的功耗的方法和装置。
背景技术
如今的微处理器、微控制器、逻辑电路等(即,处理集成电路)在AC工作期间(例如,当电路工作并正在处理指令和/或数据时)消耗其大部分功率预算。尽管存在很多试图降低处理集成电路未使用部分(例如,处理集成电路的不工作部分)功耗的功率管理技术,但维持此类电路工作部分的功率预算还是很困难。
大多数预算处理集成电路工作部分的功耗的传统技术依赖于通过使用复用器来减少逻辑触发或减少由控制逻辑执行的逻辑触发。例如,美国专利6,054,877(其作为整体在此引入作为参考)公开了一种可以防止对无效数据的复用器(MUX)输出转换并降低由于此类“无效”MUX输出转换所造成的AC功耗的“一次转换MUX”。同样,美国专利6,237,101(其作为整体在此引入作为参考)也公开了一种通过如果没有必要为执行当前指令而改变控制信号的值/电平则将控制信号保持在解码前一指令期间所确定的值/电平来降低当前指令解码期间微处理器功耗的技术。
另一种控制便携式个人计算机功耗的传统技术在美国专利6,167,524(其作为整体在此引入作为参考)中被公开。该美国专利6,167,524公开了,例如,将工作执行单元的期望功耗值求和以便确定期望的总功耗是否超出了最佳电池功效值。如果超出,则对执行单元的活动量限量(例如,从而功耗保持在最佳电池/变换器效率范围之内)(第6栏第47-61行)。每个执行单元的期望功耗值可以基于通过模拟计算出的与该执行单元关联的平均触发功率(第5栏第60行-第6栏第3行)。
这些和其它功率管理技术都没有考虑当前时钟周期内要操作的实际数据,和/或没有考虑到尤其是一旦指令被分配到执行单元中后实时的功率平衡。因此,维持处理集成电路工作部分的功率预算还是很困难。
发明内容
根据本发明的第一方面,提供了一种节省处理集成电路功率的方法。该方法包括步骤:(1)计算执行指令及与该指令对应的数据的功耗;和(2)如果该执行不会超出预定功率水平则执行该指令。
根据本发明的第二方面,提供了一种节省处理集成电路功率的方法,该处理集成电路使用了多个执行单元。该方法包括下列步骤:(1)将处理集成电路所消耗的总功率与该处理集成电路的功率预算进行比较;和(2)如果总功率超出了功率预算,则冻结多个执行单元中一个单元对指令的执行,以便允许该指令在稍后某个时间从执行被冻结的地方继续执行。本发明的许多其它方面是作为系统和装置来提供的。
根据以下详细描述、所附的权利要求书和附图,本发明的其它目的、特征和优点将变得更加显而易见。
附图说明
图1是根据本发明配置的新颖的数据处理系统的示意图;
图2是与图1的局部功率控制器代表性实施方案通信的图1的全局功率控制器代表性实施方案的示意图;
图3是可以由图1和2中有创造性的数据处理系统的全局功率控制器执行的节省功率的代表性方法的流程图;
图4A和4B是可以由图1和2中有创造性的数据处理系统执行单元的局部功率控制器执行的节省功率的代表性方法的流程图;
图5是图1和2中一个局部功率控制器更详细的、有代表性的实施方案;
图6是可以与图5的局部功率控制器一起使用的图1和2中的全局功率控制器更详细的、有代表性的实施方案;
图7是图1中一个执行单元逻辑电路的代表性实施方案,它对说明图1数据处理系统的工作很有帮助;及
图8是对说明图7执行单元的工作很有帮助的时序图。
具体实施方式
图1是根据本发明配置的新颖的数据处理系统100的示意图。数据处理系统100包括耦合到指令分配单元104的存储器102及多个执行单元106a-n。指令分配单元104包括全局功率控制器108,而每个执行单元106a-n都包括局部功率控制器110a-n。存储器102、指令分配单元104、执行单元106a-n及全局和/或局部功率控制器108、110a-n都配置成如下面进一步所描述的那样交换各种数据(例如,操作数)、指令和/或其它控制信号。
存储器102和指令分配单元104可以是本领域中已知的传统数据处理系统部件。全局和局部功率控制器108、110a-n的代表性实施方案在下面参考图2-6进行描述。一个执行单元106a-n的代表性实施方案在下面参考图7和8进行描述。
图2是与图1中局部功率控制器110a的代表性实施方案通信的全局功率控制器108的代表性实施方案的示意图。局部功率控制器110b-n可以类似地进行配置。
参考图2,全局功率控制器108包括适于存储数据处理系统100的总功率预算的寄存器204。在本发明的一种实施方案中,寄存器204包括可编程寄存器,如随机存取存储器(RAM),虽然其它的传统寄存器也可以使用。数据处理系统100的总功率预算可以表示,例如,前面引入的美国专利6,167,254中所述靠电池工作的系统中最大功效所要求的功率,或任何其它本领域中已知的预定功率水平。
局部功率控制器110a包括ROM 206、RAM 208、第一寄存器210、第二寄存器212和加法器电路214。ROM 206代表一个或多个ROM,适于为每条可执行指令存储(1)执行单元106a(图1)执行该指令所需功率的平均值或其它代表性值;和/或(2)该指令类型的“典型”或其它代表性操作数(如下面进一步描述的)。这种平均功率和典型操作数可以基于模拟(例如,基于利用基于物理容量的模拟工具或者利用任何其它已知的技术运行应用程序代码,该模拟工具如前面引入的美国专利6,167,524所述确定每个执行单元每个周期所消耗的功率,)。
RAM 208代表一个或多个RAM,适于为执行单元106a所执行的每条指令存储(1)执行单元106a执行该指令所需的实际功率;和/或(2)该指令操作的操作数。第一寄存器210适于存储执行单元106a的功率预算,可以包括如RAM的任何传统寄存器。功率预算可以利用任何传统技术来确定。如下面参考图3-8所进一步描述的,第二寄存器212适于存储完成先前暂停或“冻结”指令的执行所需的功率。类似地,第二寄存器212也可以包括如RAM的任何传统寄存器。
图3是可以由图1和2中有创造性的数据处理系统100的全局功率控制器108执行的节省功率的代表性方法300的流程图。参考图3,方法300从步骤301开始。在步骤302中,全局功率控制器108计算当前时钟周期数据处理系统100要消耗的总功率(“Total_Chip_Power”)。Total_Chip_Power是根据当前时钟周期内各执行单元106a-n所消耗的实际功率计算的(例如,通过对当前时钟周期内各执行单元106a-n所消耗的实际功率求和)。例如,如下面参考图4所描述的,当前时钟周期内各执行单元106a-n所消耗的实际功率可以确定并提供给全局功率控制器108。
在步骤303中,全局功率控制器108确定Total_Chip_Power是否超出了数据处理系统100的功率预算(“Chip_Power_Budget”)。例如,Chip_Power_Budget可以存储在前述图2的寄存器204中。如果在步骤304中Total_Chip_Power超出Chip_Power_Budget,则全局功率控制器108暂停或“冻结”执行单元106a-n中的一个或多个单元(例如,以便防止在当前周期内Total_Chip_Power实际超过Chip_Power_Budget)。如下面参考图4所描述的,每个执行单元106a-n都配置成可以在指令执行过程中被暂停或“冻结”,而且稍后在执行被暂停的同一位置重新启动。以这种方式,完成由该冻结的执行单元执行指令所需的功率可以在数据处理系统100不超预算的稍后某个时间消耗。例如,如果在步骤303中确定Total_Chip_Power没有超出Chip_Power_Budget,则在步骤305中全局功率控制器108可以重新启动一个或多个先前冻结的执行单元106a-n。从而,数据处理系统100可以使用动态、实时的功率管理。
图4A和4B是可以由图1和2中有创造性的数据处理系统100执行单元106a-n的局部功率控制器110a-n执行的节省功率的代表性方法400的流程图。为了方便,方法400参考图1和2的局部功率控制器110a进行描述。应当理解,局部功率控制器110b-n中的一个或多个可以执行相似的方法。
参考图4A和4B,方法400从步骤401开始。在步骤402中,局部功率控制器110a确定执行单元106a是否从指令分配单元104收到了新指令并正在解码(或已经解码)该新指令。如果是这样,则方法400前进到步骤403;否则,局部功率控制器110a重新检查执行单元106a是否收到了新指令(步骤402)。
在步骤403中,局部功率控制器110a确定执行单元106a收到的新指令是否先前已经收到(例如,根据该指令的操作码或“opcode”)。如果先前已经收到,则方法400前进到步骤404;否则,方法400前进到步骤405。
在步骤404中,局部功率控制器110a根据执行单元106a上次执行该指令来确定执行该新指令所需的预测功率(“Predicted_Power”)。例如,RAM 208(图2)可以存储先前执行该指令所需的功率。局部功率控制器110a还确定上次该指令执行时所使用的操作数(“Last_Operands”)。Last_Operands也可以存储在RAM 208中。然后方法400前进到步骤406。
如果在步骤403中执行单元106a收到的新指令先前没有被执行单元106a收到过,则在步骤405中局部功率控制器110a根据模拟数据(例如,存储在图2的ROM 206中)确定Predicted_Power和Last_Operands。例如,Predicted_Power可以是根据模拟的平均功率,而Last_Operands可以是模拟过程中所使用的典型操作数。如在先前引入的美国专利No.6,167,524中所描述的任何合适的模拟技术都可以使用。然后方法400前进到步骤406。
在步骤406中,局部功率控制器110a根据Predicted_Power计算执行该新指令所需的实际功率(“True_Power”)。在本发明的至少一种实施方案中,True_Power是通过用转换系数(“Transition_Factor”)乘Predicted_Power来计算的,其中转换系数表示如下面进一步所描述的对与新指令关联的实际操作数(“New_Operands”)和Last_Operands执行XNOR或其它XOR类运算的结果。在步骤407中,局部功率控制器110a将True_Power和New_Operands存储在RAM 208中,供执行单元106a下次执行该指令时使用。
在步骤408中,局部功率控制器110a计算在当前时钟周期内执行单元106a可以使用的可用功率(“Avail_Power”)。在本发明的至少一种实施方案中,Avail_Power等于执行单元106a的功率预算(例如,存储在局部功率控制器110a的寄存器210中的“EX_Power_Budget”)减去完成由全局功率控制器108或由局部功率控制器110a冻结的以前时钟周期内的指令所需的任何功率(如下面进一步描述的)。
在步骤409中,局部功率控制器110a确定True_Power(执行单元106a执行指令所需的功率)是否大于Avail_Power(执行单元106a可用的功率)。即,局部功率控制器110a确定如果执行新指令则执行单元106a是否会超出其功率预算。如果不会超出,则在步骤410中局部功率控制器110a允许执行单元106a继续执行该指令;否则,在步骤411中局部功率控制器110a阻止执行单元106a执行该指令(如下所述)。指令的执行可以在执行前或执行中暂停(冻结)。在至少一种实施方案中,局部功率控制器110a存储完成该指令执行所需的功率值(例如,在图2的寄存器212中)。该存储的功率值可以在计算以后的执行单元106a的Avail_Power时使用(步骤408)。
图5是图1和2中局部功率控制器110a更详细的、代表性的实施方案。参考图5,局部功率控制器110a包括(1)耦合到RAM 503的第一寄存器501;(2)耦合到RAM 503、第一ROM 507和乘法器509的第一复用器505;(3)耦合到乘法器509、第二复用器513和第二寄存器515的XOR类逻辑电路511;及(4)耦合到第二复用器513的第二ROM 517和第三寄存器519。局部功率控制器110a还包括(1)耦合到乘法器509、比较器523和第四寄存器525的第一加法器521;及(2)耦合到比较器523和第五寄存器529的第二加法器527。寄存器501、515、519、525和529可以包括一个或多个传统寄存器,如一个或多个RAM。XOR类逻辑电路511可以包括任何传统的比较电路,如XNOR逻辑电路,如比较器523可能是的那样。复用器505和513、乘法器509及加法器521和527可以包括任何已知的合适逻辑电路。
在工作中,当执行单元106a接收到指令时,该指令存储到第一寄存器501中,局部功率控制器110a如前所述确定用于由执行单元106a执行该指令的Predicted_Power。在图5的实施方案中,Predicted_Power是以下述两种方式之一确定的:(1)通过利用上次执行该指令时执行单元106a所消耗的功率;或(2)通过利用根据模拟确定的功率(如前所述)。具体地说,局部功率控制器110a确定执行单元106a收到的指令先前是否已被执行单元106a收到过。如果收到过,则局部功率控制器110a通过利用该指令的操作码作为第一RAM 503地址来确定用于该指令的Predicted_Power(上次执行该指令时执行单元所消耗的功率存储在由该操作码标识的地址的RAM503中);否则,Predicted_Power是根据存储在第一ROM 507中的模拟功率数据提供的。第一复用器505用来选择适当的Predicted_Power并将其传送到乘法器509。
在局部功率控制器110a确定Predicted_Power之前、期间或之后,局部功率控制器110a还确定用于伴随执行单元106a所接收指令的操作数的Transition_Factor。Transition_Factor是通过在伴随指令的操作数和上次该指令执行时所使用的操作数(例如,存储在寄存器519中的Last_Operands)或模拟过程中所使用的典型操作数(例如,存储在ROM517中的Last_Operands)之间执行XOR类函数,如XNOR或其它比较运算,来计算的。第二复用器513用来选择适当的Last_Operands并将其传送到XOR类电路511。然后,XOR类电路511将其XOR类运算结果(Transition_Factor)输出到乘法器509。
乘法器509基于Predicted_Power通过用Transition_Factor乘Predicted_Power来计算执行该指令所需的实际功率(“True_Power”)。局部功率控制器110a将True_Power存储在RAM 503中并将用于当前指令的操作数存储在寄存器519中,以便执行单元106a下次执行该指令时使用。乘法器509将True_Power输出到第一加法器521、全局功率控制器108、比较器523及RAM 503。
局部功率控制器110a还通过从执行单元106a的功率预算(存储在寄存器529中)中减去完成由全局功率控制器108或由局部功率控制器110a暂停或冻结的以前时钟周期内的指令所需的任何功率(存储在寄存器525中)来计算当前时钟周期内执行单元106a可以使用的可用功率(Avail_Power)。减法运算是通过加法器527执行的,其结果Avail_Power由加法器527提供给比较器523。如果比较器523确定True_Power(执行当前指令所需的功率)超出Avail_Power(执行单元的功率预算,利用完成任何冻结的指令执行所需的功率来校正),则局部功率控制器110a冻结执行单元106a的工作。局部功率控制器110a可以通知全局功率控制器108,而全局功率控制器108可以将该指令重新分配给另一执行单元。或者,局部功率控制器110a可以将完成该指令执行所需的功率值存储在寄存器525中。如果True_Power没有超出Avail_Power,则局部功率控制器110a允许执行单元106a执行该指令(并通知全局功率控制器108这一情况)。冻结执行单元指令的执行的一种实施方案在下面参考图7进行描述。
加法器521通过将True_Power加上完成任何冻结指令所需的功率(存储在寄存器525中)来确定执行单元106a执行指令所消耗的实际功率(“Actual Power Dissipated”)。如下面参考图6所描述的,Actual PowerDissipated提供给全局功率控制器108。局部功率控制器110b-n可以类似于图5的局部功率控制器110a配置。实现上述功能所需的控制逻辑可以由相关领域普通技术人员来开发,在此不进行详细描述。
图6是可以与图5的局部功率控制器110a一起使用的图1和2中的全局功率控制器108的更详细的、代表性的实施方案。参考图6,全局功率控制器108包括耦合到第一加法器603和比较器605的第一寄存器601。比较器605还耦合到第二加法器607和选择电路609。寄存器601、加法器603和607、比较器605及选择电路609可以包括任何已知的合适逻辑电路。
在工作中,全局功率控制器108通过利用第二加法器607将从各局部功率控制器110a-n收到的“Actual Power Dissipated”信息(例如,如前所述由各执行单元106a-n所消耗的功率)加在一起来计算当前时钟周期内数据处理系统100要消耗的总功率。该总功率表示数据处理系统100的Total_Chip_Power。然后比较器605将数据处理系统100的功率预算(存储在寄存器601中的Chip_Power_Budget)与Total_Chip_Power进行比较。如果Total_Chip_Power小于Chip_Power_Budget,则全局功率控制器108允许各执行单元106a-n执行指令,而不会受全局功率控制器108的干扰。任何“剩余”功率(例如,Chip_Power_Budget超出Total_Chip_Power的量)都通过加法器603加到Chip_Power_Budget上(例如,增加下一时钟周期内数据处理系统100的功率预算)。全局功率控制器108也可以不将剩余功率加到Chip_Power_Budget,而是重新启动先前冻结的一个或多个执行单元106a-n。
如果Total_Chip_Power大于Chip_Power_Budget(如由比较器605确定的),则全局功率控制器108(通过选择电路609)选择一个或多个执行单元106a-n并冻结所选执行单元的指令执行。要冻结的特定执行单元的选择可以根据任何相关因素。在至少一种实施方案中,选择电路609根据当前时钟周期内各执行单元106a-n要消耗的功率(例如,根据各执行单元106a-n的True_Power)来选择冻结的执行单元的适当组合。其它因素包括要冻结的执行单元个数、执行单元所执行指令的类型等。例如,全局功率控制器108可以选择只冻结推理性执行单元(如在先前引入的美国专利No.6,167,524中所描述的)。实现上述功能所需的控制逻辑可以由相关领域普通技术人员来开发,在此不进行详细描述。
图7是图1中的执行单元106a逻辑电路的代表性实施方案,它对说明图1的数据处理系统100的工作很有帮助。应当理解,其它逻辑电路也可以由任何执行单元106a-n使用,图7的逻辑电路仅仅是代表性的。
参考图7,执行单元106a包括四个逻辑单元702、704、706和708。每个逻辑单元都可以包括适于处理数据处理系统100所使用的指令和操作数的任何传统逻辑电路。在图7的实施方案中,第一逻辑单元702消耗执行单元106a总功率的大约10%,第二逻辑单元704消耗执行单元106a总功率的大约40%,第三逻辑单元706消耗执行单元106a总功率的大约30%,而第四逻辑单元708消耗执行单元106a总功率的大约20%。这些百分比仅仅是代表性的。局部功率控制器110a可以利用对这些百分比的了解进行预编程。这些信息可以存储在例如ROM中。
在各逻辑单元702-708前面分别加上“一次转换”缓冲器或复用器(“一次转换逻辑”)710、712、714和716。一次转换复用器在先前引入的美国专利No.6,054,877中进行了详细描述。一次转换缓冲器可以类似地进行配置(例如,没有在多个输入之间进行选择所需的附加逻辑)。假定一次转换逻辑710、712、714和716中每个都包括一次转换缓冲器,且每个一次转换缓冲器710-714都提供有低速选择输入和当没有被低速选择输入选中时(例如,当低速选择输入是“无效的”时)保持其值的选通门/锁存器(未示出)。
在工作中,响应由局部功率控制器110a(例如,在图4方法400的步骤411中)或由全局功率控制器108(例如,在图3方法300的步骤304中)产生的“冻结”信号,局部功率控制器110a禁止一次转换逻辑710、712、714和716的低速选择输入的一个或多个。例如,如果局部功率控制器110a打算阻止执行单元106a消耗任何功率,则所有一次转换逻辑710-716的低速选择输入都应该禁止。以这种方式,提供给执行单元106a的任何指令和操作数都由一次转换逻辑710“保持”。通过启用一次转换逻辑710-716的低速选择输入,可以允许这些指令和操作数在随后的任何时间通过执行单元106a。全局功率控制器108可以提供有对一次转换逻辑710-716的低速选择输入的直接控制。
作为另一种实例,假定已经通过适当选择一次转换逻辑710和712的低速选择输入,允许指令和操作数通过逻辑单元702和逻辑单元704。如果局部功率控制器110a随后冻结了执行单元106a的工作(例如,响应来自局部或全局功率控制器110a、108的冻结信号),则没有“有效的”低速选择输入提供给一次转换逻辑714和716。例如,这在图8的时序图中进行了说明,该图示出了参考时钟信号(CLK)、加到一次转换逻辑710的低速选择输入(slow_select A)、加到一次转换逻辑712的低速选择输入(slow_select B)、加到一次转换逻辑714的低速选择输入(slow_selectC)及加到一次转换逻辑716的低速选择输入(slow_select D)。通过保持一次转换逻辑714和716的低速选择输入无效,加到执行单元106a的指令和操作数只通过逻辑单元702和704。逻辑单元704的结果输出由一次转换逻辑714保持。通过适当地激活一次转换逻辑714和716的低速选择输入,指令和操作数的处理可以在随后某个时间继续进行。注意,指令和操作数的执行可以从执行冻结的地方开始,而不需要通过逻辑单元702和704重新处理。从而可以实现显著的功率节省。
在上述实例中,消耗了执行单元106a处理指令和操作数所需功率的大约50%。在本发明的至少一种实施方案中,这个信息存储在图5的寄存器525中。例如,假定执行单元106a执行一条指令所消耗的总功率是0.2W。如果只有一次转换逻辑710和712的低速选择输入是有效的,则局部功率控制器110a可以确定执行单元106a消耗了大约0.1W功率,而另外的0.1W功率将是执行单元106a完成其指令处理所需要的。
应当理解,通过使用本发明,由于指令和操作数的功耗都可以在每个时钟周期内监视并根据期望进行调节(例如,为了维持电源的稳定耗用电流),因此数据处理系统100的功耗可以非常快速并精确地调节。例如,在本发明的至少一种实施方案中,全局功率控制器108计算所有执行单元106a-n消耗的(例如,由局部功率控制器110a-n所提供的)总功率并试图维持该总功率恒定。例如,这可以通过以下方式实现:(1)临时暂停向一个或多个执行单元106a-n分配新指令;和/或(2)临时冻结一个或多个执行单元106a-n的指令执行(例如,在图3方法300的步骤304)。当暂停/冻结指令的执行恢复时,该执行从执行暂停的地方恢复(例如,先前参考图7和8所描述的)。因此,指令执行几乎可以在执行过程中的任何时刻“暂停”和重新开始。
如上所述,每个局部功率控制器110a-n都可以“预测”各指令和操作数要消耗的每周期功率,并可将该每周期功率与相关执行单元106a-n的功率预算进行比较。在本发明的至少一种实施方案中,如果特定指令的执行将超过执行单元的功率预算,则相关的局部功率控制器110a-n从执行单元流水线中除去该指令。该执行单元的指令执行可暂停(例如,通过禁止该执行单元的低速选择输入),而全局功率控制器108将得到该执行单元在这个周期内不能执行指令的通知。全局功率控制器108可以将该指令重新分配给另一执行单元,而且可以重新启动该暂停的执行单元处理后续指令。在本发明的一种实施方案中,所有计算和/或数据处理(例如,Predicted_Power、Last_Operands、True_Power、Avail_Power的计算/确定,它们之间的各种比较等)都发生在一个时钟周期内,从而可以很快作出是否允许指令执行的决定。在另一种实施方案中,每个局部功率控制器110a-n只可以在时钟周期开始时冻结执行单元的指令执行,而全局功率控制器108则可以在时钟周期中部冻结指令的执行(例如,如果全局功率控制器108确定如果允许指令的执行继续进行,则数据处理系统100的功率预算将被超出)。从而向数据处理系统100提供了动态、实时的功率控制。
以上所述仅公开了本发明的代表性实施方案;对本领域的技术人员而言,在本发明范围内对以上所公开的装置和方法的修改是显而易见的。例如,如果需要,执行单元中多级模拟或实际功耗数据可以由局部功率控制器110a-n来存储。
因此,尽管已经结合其代表性实施方案公开了本发明,但应当理解,其它实施方案也可落在由所附权利要求所定义的本发明精神和范围之内。
Claims (30)
1、一种节省处理集成电路功率的方法,该方法包括下列步骤:
计算(401-408)执行指令及对应于该指令的数据的功耗;及
如果该执行不会超出预定功率水平,则执行(409、410)该指令。
2、根据权利要求1的方法,其中计算功耗包括根据该指令先前执行时所消耗的功率量来计算功耗。
3、根据权利要求2的方法,其中计算功耗包括:
根据所述指令先前执行时所消耗的功率量来确定预测功率;
确定对应于先前执行的指令的数据;及
根据预测功率和对应于先前执行的指令的数据来计算要执行的指令的功耗。
4、根据权利要求3的方法,其中计算功耗包括:
将对应于要执行指令的数据与对应于先前执行的指令的数据进行比较,从而产生转换系数;及
利用所述转换系数调节预测功率。
5、根据权利要求4的方法,其中调节预测功率包括用转换系数乘预测功率。
6、根据权利要求3的方法,还包括存储计算出的功耗及对应于所述指令的数据。
7、根据权利要求1的方法,其中计算功耗包括根据从对指令执行的模拟中获得的功率量来计算功耗。
8、根据权利要求7的方法,其中计算功耗包括:
根据从对指令执行的模拟中获得的功率量来确定预测功率;
确定在模拟过程中所使用的数据;及
根据预测功率和在模拟过程中所使用的数据来计算要执行的指令的功耗。
9、根据权利要求8的方法,其中计算功耗包括:
将对应于要执行的指令的数据与在模拟过程中所使用的数据进行比较,从而产生转换系数;及
利用所述转换系数调节预测功率。
10、根据权利要求1的方法,其中如果该执行不会超出预定功率水平则执行所述指令包括:
确定要执行该指令和数据的执行单元的可用功率;
将所述执行单元的可用功率与计算出的执行该指令和数据的功耗进行比较;及
如果所述执行单元的可用功率大于计算出的执行该指令和数据的功耗,则利用所述执行单元执行该指令和数据。
11、根据权利要求10的方法,其中确定执行单元的可用功率包括:
确定执行单元的功率预算;
确定完成执行由该执行单元部分执行的指令和数据所需的功率量;及
通过从执行单元的功率预算中减去完成执行该部分执行的指令和数据所需的功率量来计算执行单元的可用功率。
12、一种节省处理集成电路功率的方法,该方法包括下列步骤:
计算(301、302)执行指令及对应于该指令的数据的功耗;
确定(303)执行单元(106a)的功率预算;
确定(401、402)完成执行由该执行单元部分执行的指令和数据所需的功率量;
根据完成执行该部分执行的指令和数据所需的功率量和执行单元的功率预算来计算(408)执行单元的可用功率;
将执行单元的可用功率与计算出的执行该指令和数据的功耗进行比较(409);及
如果执行单元的可用功率大于计算出的执行该指令和数据的功耗,则利用该执行单元执行(410)所述指令和数据。
13、一种节省处理集成电路功率的方法,该处理集成电路使用了多个执行单元(106n),该方法包括下列步骤:
将处理集成电路所要消耗的总功率与处理集成电路的功率预算(303)进行比较(301、302);及
如果所述总功率超出功率预算,则冻结(304)多个执行单元中的一个单元的指令执行,从而允许所述指令的执行在稍后某个时间从执行冻结的地方继续。
14、根据权利要求13的方法,其中将处理集成电路所消耗的总功率与该集成电路的功率预算进行比较包括:
确定一个时钟周期内所述处理集成电路所要消耗的总功率;及
确定所述处理集成电路的功率预算。
15、根据权利要求14的方法,其中确定总功率包括:
从每个执行单元接收关于所述执行单元在此时钟周期内所消耗功率的信息;及
根据从执行单元收到的信息确定总功率。
16、根据权利要求13的方法,其中冻结多个执行单元中的一个单元的指令执行包括保持至少一个该执行单元的一次转换逻辑电路的低速选择输入无效。
17、一种用于数据处理系统的执行单元(106n),包括:
局部功率控制器(110n),适于:
计算(401-408)执行指令及对应于该指令的数据的功耗;及
如果该执行不会超出预定功率水平,则允许(409、410)执行单元执行该指令。
18、根据权利要求17的执行单元,其中局部功率控制器包括适于根据以下所述计算执行所述指令和对应于所述指令的数据的功耗的第一计算逻辑电路:
先前执行单元执行所述指令时所消耗的功率量;及
先前执行单元执行所述指令时指令的操作数。
19、根据权利要求18的执行单元,其中局部功率控制器还包括:
适于存储关于先前执行单元执行所述指令时所消耗功率量的第一信息的第一寄存器;及
适于存储关于先前执行单元执行所述指令时的指令操作数的第二信息的第二寄存器;
其中第一计算逻辑电路适于根据第一和第二寄存器的内容计算执行所述指令及对应于所述指令的数据的功耗。
20、根据权利要求17的执行单元,其中局部功率控制器包括适于根据以下所述计算执行所述指令及对应于所述指令的数据的功耗的第一计算逻辑电路:
从对指令执行的模拟中获得的功率量;及
在模拟中所使用的操作数。
21、根据权利要求18的执行单元,其中局部功率控制器还包括适于计算可用于执行所述指令和数据的功率的第二计算逻辑电路。
22、根据权利要求21的执行单元,其中局部功率控制器还包括:
适于存储执行单元的功率预算的第一寄存器;及
适于存储完成先前指令的执行所需功率的第二寄存器;
其中第二计算逻辑电路适于根据第一和第二寄存器的内容计算可用于执行所述指令和数据的功率。
23、根据权利要求21的执行单元,其中局部功率控制器包括比较电路,该比较电路适于:
将执行该指令及对应于所述指令的数据的功耗与可用于执行所述指令和数据的功率进行比较;及
如果执行所述指令及对应于所述指令的数据的功耗超出了可用于执行所述指令和数据的功率,则冻结所述指令和数据的执行。
24、根据权利要求21的执行单元,还包括具有至少一个低速选择输入的一次转换逻辑电路,其中局部功率控制器适于在执行所述指令及对应于该指令的数据的功耗超出可用于执行该指令和数据的功率的情况下保持至少一个低速选择输入无效。
25、一种节省处理集成电路功率的全局功率控制器(108),该处理集成电路具有多个执行单元(106n),该全局功率控制器包括:
适于将处理集成电路要消耗的总功率与处理集成电路的功率预算进行比较的比较器电路(605);及
适于在该总功率超出功率预算的情况下,选择要冻结其指令执行的执行单元,从而允许该指令执行在稍后某个时间从执行冻结的地方继续进行的选择电路(609)。
26、根据权利要求25的全局功率控制器,还包括适于接收有关一个时钟周期内来自多个执行单元中的每个单元的所消耗的实际功率的信息,及根据所收到的信息计算该处理集成电路所消耗的总功率的加法器电路。
27、根据权利要求25的全局功率控制器,还包括适于将功率预算超出总功率的任何功率量都加到功率预算的加法器电路。
28、根据权利要求25的全局功率控制器,其中选择电路还适于在所述总功率小于功率预算的情况下选择先前冻结的执行单元继续执行。
29、一种数据处理系统,包括:
全局功率控制器(108),包括:
适于将处理集成电路所消耗的总功率与处理集成电路的功率预算进行比较的比较器电路(605);及
适于在所述总功率超过功率预算的情况下,选择要冻结其指令执行的执行单元,从而允许该指令执行在稍后某个时间从执行冻结的地方继续进行的选择电路(609);
多个执行单元(106n),每个执行单元都包括:
与全局功率控制器通信的局部功率控制器(110n),适于:
计算(401-408)执行指令及对应于所述指令的数据的功耗;
将功耗信息传送(509、521)到全局功率控制器;及
如果该执行不会超过预定功率水平而且执行单元的执行没有被全局功率控制器冻结,则允许(503、507、525、529、527、523)执行单元执行该指令。
30、根据权利要求29的系统,其中全局功率控制器适于在指令和数据分配到的第一执行单元的执行被第一执行单元的局部功率控制器冻结的情况下,将指令和数据的执行重新分配到另一执行单元。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/682,816 | 2001-10-22 | ||
US09/682,816 US6834353B2 (en) | 2001-10-22 | 2001-10-22 | Method and apparatus for reducing power consumption of a processing integrated circuit |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2006101077044A Division CN100407108C (zh) | 2001-10-22 | 2002-10-22 | 节省处理集成电路功率的方法及其全局功率控制器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1568450A true CN1568450A (zh) | 2005-01-19 |
CN1315020C CN1315020C (zh) | 2007-05-09 |
Family
ID=24741260
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB028202910A Expired - Fee Related CN1315020C (zh) | 2001-10-22 | 2002-10-22 | 控制无线通信系统中正向信道上数据速率的方法和装置 |
CN2006101077044A Expired - Fee Related CN100407108C (zh) | 2001-10-22 | 2002-10-22 | 节省处理集成电路功率的方法及其全局功率控制器 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2006101077044A Expired - Fee Related CN100407108C (zh) | 2001-10-22 | 2002-10-22 | 节省处理集成电路功率的方法及其全局功率控制器 |
Country Status (7)
Country | Link |
---|---|
US (1) | US6834353B2 (zh) |
EP (1) | EP1444563B1 (zh) |
JP (1) | JP4567972B2 (zh) |
KR (1) | KR100690423B1 (zh) |
CN (2) | CN1315020C (zh) |
AT (1) | ATE543130T1 (zh) |
WO (1) | WO2003036449A1 (zh) |
Families Citing this family (67)
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 |
EP1363179A1 (en) * | 2002-05-17 | 2003-11-19 | STMicroelectronics S.A. | Architecture for controlling dissipated power in a system on a chip and related system |
US7152169B2 (en) * | 2002-11-29 | 2006-12-19 | Intel Corporation | Method for providing power management on multi-threaded processor by using SMM mode to place a physical processor into lower power state |
US7219241B2 (en) * | 2002-11-30 | 2007-05-15 | Intel Corporation | Method for managing virtual and actual performance states of logical processors in a multithreaded processor using system management mode |
US20040128663A1 (en) * | 2002-12-31 | 2004-07-01 | Efraim Rotem | Method and apparatus for thermally managed resource allocation |
US20050046400A1 (en) * | 2003-05-21 | 2005-03-03 | Efraim Rotem | Controlling operation of a voltage supply according to the activity of a multi-core integrated circuit component or of multiple IC components |
US20040268159A1 (en) * | 2003-06-30 | 2004-12-30 | Microsoft Corporation | Power profiling |
US7373559B2 (en) * | 2003-09-11 | 2008-05-13 | Copan Systems, Inc. | Method and system for proactive drive replacement for high availability storage systems |
US20060090098A1 (en) * | 2003-09-11 | 2006-04-27 | Copan Systems, Inc. | Proactive data reliability in a power-managed storage system |
KR101106836B1 (ko) * | 2003-11-12 | 2012-01-19 | 엔엑스피 비 브이 | 전자 회로 및 데이터 요소 프로세싱 방법 |
US7752470B2 (en) * | 2003-12-03 | 2010-07-06 | International Business Machines Corporation | Method and system for power management including device controller-based device use evaluation and power-state control |
US7155623B2 (en) * | 2003-12-03 | 2006-12-26 | International Business Machines Corporation | Method and system for power management including local bounding of device group power consumption |
US20050125701A1 (en) * | 2003-12-03 | 2005-06-09 | International Business Machines Corporation | Method and system for energy management via energy-aware process scheduling |
US7296168B2 (en) * | 2003-12-13 | 2007-11-13 | Texas Instruments Incorporated | Method and apparatus to minimize power and ground bounce in a logic device |
US7356665B2 (en) | 2003-12-17 | 2008-04-08 | International Business Machines Corporation | Method and system for machine memory power and availability management in a processing system supporting multiple virtual machines |
EP1700189A1 (en) * | 2003-12-22 | 2006-09-13 | Koninklijke Philips Electronics N.V. | Method and apparatus for rendering multimedia data objects |
US7197652B2 (en) * | 2003-12-22 | 2007-03-27 | International Business Machines Corporation | Method and system for energy management in a simultaneous multi-threaded (SMT) processing system including per-thread device usage monitoring |
US7529947B2 (en) * | 2004-03-31 | 2009-05-05 | Marvell International Ltd. | Determining power consumption of an application |
JP4359186B2 (ja) * | 2004-05-25 | 2009-11-04 | 株式会社日立製作所 | データ処理装置、および、半導体装置 |
US7519837B2 (en) * | 2004-06-15 | 2009-04-14 | Hewlett-Packard Development Company, L.P. | Power controller |
US7330988B2 (en) | 2004-06-30 | 2008-02-12 | Sun Microsystems, Inc. | Method and apparatus for power throttling in a multi-thread processor |
US7383451B2 (en) * | 2005-02-18 | 2008-06-03 | Lenovo (Singapore) Pte. Ltd. | Controlling power usage of computing device components in holistic manner |
US7340618B2 (en) * | 2005-03-16 | 2008-03-04 | International Business Machines Corporation | System and method for regulating system power by controlling memory usage based on an overall system power measurement |
US7340619B2 (en) | 2005-03-16 | 2008-03-04 | International Business Machines Corporation | System and method for circulating power usage information on a closed ring communication path within a multi-node computer system |
US8201004B2 (en) * | 2006-09-14 | 2012-06-12 | Texas Instruments Incorporated | Entry/exit control to/from a low power state in a complex multi level memory system |
US20070124607A1 (en) * | 2005-11-30 | 2007-05-31 | Samsung Electronics Co., Ltd. | System and method for semi-automatic power control in component architecture systems |
CN101371213B (zh) * | 2005-12-06 | 2012-03-14 | Arm有限公司 | 能量管理 |
US7421601B2 (en) * | 2006-02-17 | 2008-09-02 | International Business Machines Corporation | Method and system for controlling power in a chip through a power-performance monitor and control unit |
US7669071B2 (en) * | 2006-05-05 | 2010-02-23 | Dell Products L.P. | Power allocation management in an information handling system |
CN100438440C (zh) * | 2006-06-20 | 2008-11-26 | 华为技术有限公司 | 一种单板及控制其上电的方法 |
US7793117B2 (en) * | 2006-10-12 | 2010-09-07 | Hewlett-Packard Development Company, L.P. | Method, apparatus and system for determining power supply to a load |
US7895454B2 (en) * | 2007-02-06 | 2011-02-22 | International Business Machines Corporation | Instruction dependent dynamic voltage compensation |
US7779235B2 (en) * | 2007-02-06 | 2010-08-17 | International Business Machines Corporation | Using performance data for instruction thread direction |
US8022685B2 (en) * | 2007-02-06 | 2011-09-20 | International Business Machines Corporation | Temperature dependent voltage source compensation |
US7865750B2 (en) | 2007-02-06 | 2011-01-04 | International Business Machines Corporation | Fan speed control from adaptive voltage supply |
US7971035B2 (en) * | 2007-02-06 | 2011-06-28 | International Business Machines Corporation | Using temperature data for instruction thread direction |
US8615767B2 (en) * | 2007-02-06 | 2013-12-24 | International Business Machines Corporation | Using IR drop data for instruction thread direction |
US7936153B2 (en) * | 2007-02-06 | 2011-05-03 | International Business Machines Corporation | On-chip adaptive voltage compensation |
US8122273B2 (en) * | 2007-07-18 | 2012-02-21 | International Business Machines Corporation | Structure and method to optimize computational efficiency in low-power environments |
US8055925B2 (en) * | 2007-07-18 | 2011-11-08 | International Business Machines Corporation | Structure and method to optimize computational efficiency in low-power environments |
US8185572B2 (en) * | 2007-08-24 | 2012-05-22 | International Business Machines Corporation | Data correction circuit |
US8005880B2 (en) * | 2007-08-24 | 2011-08-23 | International Business Machines Corporation | Half width counting leading zero circuit |
US7797131B2 (en) * | 2007-08-24 | 2010-09-14 | International Business Machines Corporation | On-chip frequency response measurement |
JP5029823B2 (ja) * | 2007-09-06 | 2012-09-19 | コニカミノルタビジネステクノロジーズ株式会社 | 画像形成装置、消費電力管理システム、消費電力管理方法およびプログラム |
US8080769B2 (en) * | 2008-01-10 | 2011-12-20 | Hewlett-Packard Development Company, L.P. | Characterization of AC mains circuit parameters |
US7757233B2 (en) * | 2008-07-10 | 2010-07-13 | International Business Machines Corporation | Controlling a computer system having a processor including a plurality of cores |
KR101501156B1 (ko) * | 2008-11-12 | 2015-03-11 | 삼성전자주식회사 | 멀티 모뎀 시스템에서 전력 소모 제어 방법 및 장치 |
US8880908B2 (en) * | 2009-05-19 | 2014-11-04 | International Business Machines Corporation | Computing system with power requirement evaluation |
US8549330B2 (en) * | 2009-12-18 | 2013-10-01 | International Business Machines Corporation | Dynamic energy management |
US8356194B2 (en) | 2010-01-28 | 2013-01-15 | Cavium, Inc. | Method and apparatus for estimating overshoot power after estimating power of executing events |
US8312305B2 (en) * | 2010-02-04 | 2012-11-13 | International Business Machines Corporation | Power management for systems on a chip |
JP5647062B2 (ja) * | 2011-04-28 | 2014-12-24 | 富士通フロンテック株式会社 | 最大消費電力軽減装置 |
US8645723B2 (en) | 2011-05-11 | 2014-02-04 | Apple Inc. | Asynchronous management of access requests to control power consumption |
US8806410B2 (en) * | 2011-10-28 | 2014-08-12 | The Board Of Trustees Of The University Of Illinois | Power balanced pipelines |
US9009451B2 (en) * | 2011-10-31 | 2015-04-14 | Apple Inc. | Instruction type issue throttling upon reaching threshold by adjusting counter increment amount for issued cycle and decrement amount for not issued cycle |
US9229507B1 (en) * | 2012-03-20 | 2016-01-05 | Google Inc. | Managing data center power usage |
US9298247B2 (en) * | 2012-11-27 | 2016-03-29 | International Business Machines Corporation | Distributed power budgeting |
US9690353B2 (en) | 2013-03-13 | 2017-06-27 | Intel Corporation | System and method for initiating a reduced power mode for one or more functional blocks of a processor based on various types of mode request |
US9671844B2 (en) | 2013-09-26 | 2017-06-06 | Cavium, Inc. | Method and apparatus for managing global chip power on a multicore system on chip |
US10747289B2 (en) * | 2013-10-28 | 2020-08-18 | Virtual Power Systems, Inc. | Data center power manipulation |
KR102154080B1 (ko) * | 2014-07-25 | 2020-09-09 | 삼성전자주식회사 | 전력 관리 시스템, 이를 포함하는 시스템 온 칩 및 모바일 기기 |
US9652026B2 (en) * | 2014-12-21 | 2017-05-16 | Qualcomm Incorporated | System and method for peak dynamic power management in a portable computing device |
JP6123832B2 (ja) | 2015-03-30 | 2017-05-10 | 日本電気株式会社 | マルチコアプロセッサ、電力制御方法、プログラム |
JP6123831B2 (ja) * | 2015-03-30 | 2017-05-10 | 日本電気株式会社 | 電子回路、演算処理制御方法、プログラム、マルチコアプロセッサ |
JP6214056B2 (ja) * | 2015-03-30 | 2017-10-18 | 日本電気株式会社 | マルチコアプロセッサ、情報処理方法、プログラム |
US10452117B1 (en) * | 2016-09-22 | 2019-10-22 | Apple Inc. | Processor energy management system |
US11609623B2 (en) * | 2017-09-01 | 2023-03-21 | Qualcomm Incorporated | Ultra-low power neuromorphic artificial intelligence computing accelerator |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3626427A (en) | 1967-01-13 | 1971-12-07 | Ibm | Large-scale data processing system |
US3859755A (en) | 1973-05-04 | 1975-01-14 | Sundstrand Syracuse | Power programming system for a centerless grinder |
JP3497516B2 (ja) | 1992-02-20 | 2004-02-16 | 株式会社ルネサステクノロジ | データプロセッサ |
US5452434A (en) | 1992-07-14 | 1995-09-19 | Advanced Micro Devices, Inc. | Clock control for power savings in high performance central processing units |
US5339445A (en) * | 1992-11-16 | 1994-08-16 | Harris Corporation | Method of autonomously reducing power consumption in a computer sytem by compiling a history of power consumption |
US5469399A (en) | 1993-03-16 | 1995-11-21 | Kabushiki Kaisha Toshiba | Semiconductor memory, memory card, and method of driving power supply for EEPROM |
KR0157129B1 (ko) | 1995-03-28 | 1998-11-16 | 김광호 | 확장장치와 휴대용 컴퓨터간의 신호 연결 제어장치 및 이를 포함한 확장장치 |
US5742833A (en) | 1995-11-30 | 1998-04-21 | International Business Machines Corporation | Programmable power management system and method for network computer stations |
US5815724A (en) | 1996-03-29 | 1998-09-29 | Intel Corporation | Method and apparatus for controlling power consumption in a microprocessor |
JP3494813B2 (ja) * | 1996-07-19 | 2004-02-09 | 株式会社東芝 | マイクロプロセッサの消費電力見積もり方法 |
US5991884A (en) * | 1996-09-30 | 1999-11-23 | Intel Corporation | Method for reducing peak power in dispatching instructions to multiple execution units |
US6025741A (en) | 1996-12-23 | 2000-02-15 | International Business Machines Corporation | Conditional restore for execution unit |
US5951689A (en) | 1996-12-31 | 1999-09-14 | Vlsi Technology, Inc. | Microprocessor power control system |
JP3013825B2 (ja) * | 1997-12-02 | 2000-02-28 | 日本電気株式会社 | 情報端末装置、入出力制御方法及び記録媒体 |
US5903894A (en) | 1997-03-03 | 1999-05-11 | Microsoft Corporation | System and method for using a hierarchical data structure to control and identify devices and represent connections between the devices |
US6002878A (en) | 1997-07-01 | 1999-12-14 | Motorola, Inc. | Processor power consumption estimator that using instruction and action formulas which having average static and dynamic power coefficients |
CN1157641C (zh) | 1997-09-03 | 2004-07-14 | 松下电器产业株式会社 | 处理器 |
US6079008A (en) | 1998-04-03 | 2000-06-20 | Patton Electronics Co. | Multiple thread multiple data predictive coded parallel processing system and method |
US6167524A (en) | 1998-04-06 | 2000-12-26 | International Business Machines Corporation | Apparatus and method for efficient battery utilization in portable personal computers |
US6054877A (en) | 1998-06-03 | 2000-04-25 | International Business Machines Corporation | Low power multiplexer circuit |
US6237101B1 (en) | 1998-08-03 | 2001-05-22 | International Business Machines Corporation | Microprocessor including controller for reduced power consumption and method therefor |
US6205518B1 (en) | 1998-08-05 | 2001-03-20 | International Business Machines Corporation | Apparatus and method for reducing power consumption in a data processor executing an application code |
JP2000242676A (ja) * | 1999-02-18 | 2000-09-08 | Nec Corp | 論理回路の消費電力計算方法及び計算装置 |
JP2000305671A (ja) | 1999-04-22 | 2000-11-02 | Mitsubishi Electric Corp | 省電力制御方式 |
US6651176B1 (en) * | 1999-12-08 | 2003-11-18 | Hewlett-Packard Development Company, L.P. | Systems and methods for variable control of power dissipation in a pipelined processor |
US6564328B1 (en) * | 1999-12-23 | 2003-05-13 | Intel Corporation | Microprocessor with digital power throttle |
-
2001
- 2001-10-22 US US09/682,816 patent/US6834353B2/en not_active Expired - Fee Related
-
2002
- 2002-10-22 KR KR1020047004164A patent/KR100690423B1/ko not_active IP Right Cessation
- 2002-10-22 CN CNB028202910A patent/CN1315020C/zh not_active Expired - Fee Related
- 2002-10-22 EP EP02780516A patent/EP1444563B1/en not_active Expired - Lifetime
- 2002-10-22 AT AT02780516T patent/ATE543130T1/de active
- 2002-10-22 JP JP2003538871A patent/JP4567972B2/ja not_active Expired - Fee Related
- 2002-10-22 WO PCT/US2002/033833 patent/WO2003036449A1/en active Application Filing
- 2002-10-22 CN CN2006101077044A patent/CN100407108C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN100407108C (zh) | 2008-07-30 |
CN1892536A (zh) | 2007-01-10 |
JP4567972B2 (ja) | 2010-10-27 |
WO2003036449A8 (en) | 2004-08-26 |
KR20040044973A (ko) | 2004-05-31 |
EP1444563A1 (en) | 2004-08-11 |
JP2005527010A (ja) | 2005-09-08 |
CN1315020C (zh) | 2007-05-09 |
EP1444563B1 (en) | 2012-01-25 |
ATE543130T1 (de) | 2012-02-15 |
KR100690423B1 (ko) | 2007-03-09 |
EP1444563A4 (en) | 2009-03-11 |
WO2003036449A1 (en) | 2003-05-01 |
US20030079150A1 (en) | 2003-04-24 |
US6834353B2 (en) | 2004-12-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1568450A (zh) | 控制无线通信系统中正向信道上数据速率的方法和装置 | |
US8448002B2 (en) | Clock-gated series-coupled data processing modules | |
Constantinou et al. | Performance implications of single thread migration on a chip multi-core | |
US9606797B2 (en) | Compressing execution cycles for divergent execution in a single instruction multiple data (SIMD) processor | |
US8219834B2 (en) | Predictive power gating with optional guard mechanism | |
CN100346268C (zh) | 信息安全SoC中基于门控时钟的动态功耗管理方法 | |
TWI516909B (zh) | 包括在裝置中自主的硬體式深度省電之能源效率及能源節約的方法、設備及系統 | |
US20140189704A1 (en) | Hetergeneous processor apparatus and method | |
EP1956465B1 (en) | Power aware software pipelining for hardware accelerators | |
MX2008011653A (es) | Manejo de energia adaptable. | |
US20140189377A1 (en) | Apparatus and method for intelligently powering hetergeneou processor components | |
US20140189297A1 (en) | Hetergeneous processor apparatus and method | |
CN112486312A (zh) | 一种低功耗的处理器 | |
Chéour et al. | Microcontrollers for IoT: optimizations, computing paradigms, and future directions | |
US20210166114A1 (en) | Techniques for Accelerating Neural Networks | |
US9639372B2 (en) | Apparatus and method for heterogeneous processors mapping to virtual cores | |
Watanabe et al. | Task scheduling under performance constraints for reducing the energy consumption of the GALS multi-processor SoC | |
Jang et al. | Zero and narrow-width value-aware compression for quantized convolutional neural networks | |
CN1758186A (zh) | 在一微处理器中减少电力消耗的电路与方法 | |
Yazdanpanah et al. | EREER: Energy-aware register file and execution unit using exploiting redundancy in GPGPUs | |
Hakenes et al. | A novel low-power microprocessor architecture | |
Rybczynski et al. | Expecting the unexpected: adaptation for predictive energy conservation | |
Liu et al. | Design and implementation of low power Android mobile sink based on load prediction | |
Chang et al. | Optimization of power consumption for an ARM7-based multimedia handheld device | |
CN116245149A (zh) | 一种基于risc-v指令集拓展的加速计算装置及方法 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20070509 Termination date: 20181022 |
|
CF01 | Termination of patent right due to non-payment of annual fee |