CN101165635A - 用于计算机处理器系统的功率管理的系统和方法 - Google Patents
用于计算机处理器系统的功率管理的系统和方法 Download PDFInfo
- Publication number
- CN101165635A CN101165635A CNA2007101496288A CN200710149628A CN101165635A CN 101165635 A CN101165635 A CN 101165635A CN A2007101496288 A CNA2007101496288 A CN A2007101496288A CN 200710149628 A CN200710149628 A CN 200710149628A CN 101165635 A CN101165635 A CN 101165635A
- Authority
- CN
- China
- Prior art keywords
- power
- instruction
- measurement
- address
- pht
- 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 40
- 238000005259 measurement Methods 0.000 claims description 57
- 238000012545 processing Methods 0.000 claims description 6
- 238000012544 monitoring process Methods 0.000 abstract 1
- 238000007726 management method Methods 0.000 description 29
- 230000015654 memory Effects 0.000 description 19
- 238000004590 computer program Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 239000000284 extract Substances 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000013500 data storage Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000000266 injurious effect Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011022 operating instruction Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 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
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3287—Power saving characterised by the action undertaken by switching off individual functional units in the computer system
-
- 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
-
- 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
- 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
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
- G06F1/3228—Monitoring task completion, e.g. by use of idle timers, stop commands or wait commands
-
- 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
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/329—Power saving characterised by the action undertaken by task scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline, look ahead
- G06F9/3802—Instruction prefetching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline, look ahead
- G06F9/3802—Instruction prefetching
- G06F9/3804—Instruction prefetching for branches, e.g. hedging, branch folding
- G06F9/3806—Instruction prefetching for branches, e.g. hedging, branch folding using address prediction, e.g. return stack, branch history buffer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline, look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline, look ahead
- G06F9/3867—Concurrent instruction execution, e.g. pipeline, look ahead using instruction pipelines
- G06F9/3869—Implementation aspects, e.g. pipeline latches; pipeline synchronisation and clocking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline, look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units
-
- 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
Abstract
一种用于计算机处理器系统的功率管理的系统和方法,所述方法包括:测量功率使用;监视用于完成指令的指令执行;确定用于完成指令的完成指令地址;确定用于完成指令的测量的功率使用;以及将与测量的功率使用相关联的完成指令地址存储在功率历史表(PHT)中。存储在PHT中的信息能够使用来管理由计算机处理器系统使用的功率。
Description
技术领域
本公开的技术领域是计算机处理器系统,具体来说是用于计算机处理器系统的功率管理。
背景技术
计算机处理器系统持续变快,并且各组件的密度持续增加。这呈现峰值功率和平均功率使用的计算机处理器系统的功率管理的问题。高的峰值功率使用需要更大的电源,并且能增加数字电路中的噪声。例如,同时的组件切换能够引起高峰值功率使用,这能够引起电源/地跳动(bounce)。由于各引脚和各组件的固有电感和电容,电源/地跳动分别导致电源或地总线上的噪声,并且引起逻辑错误。高的平均功率使用增加功耗并产生热量,这能够降低操作可靠性。
目前对功率管理的解决方案对于计算机处理器系统具有显著有害的影响。一种解决方案是更慢地运行计算机处理器系统,其增加了计算时间。另一种解决方案是执行较少的推测性操作,即减少在知道将需要这些操作的结果之前执行的操作的次数。另一种解决方案是执行较少的并行(同时)操作。其它解决方案包括减少晶体管尺寸,这使得它们更慢并且减少了噪声余量,并且增加了氧化层厚度,这又降低了晶体管速度。目前对于功率管理的解决方案实质上削弱了计算机处理器系统的操作。
期望有一种将克服上面缺点的计算机处理器系统的功率管理的系统和方法。
发明内容
本发明的用于计算机处理器系统的功率管理的系统和方法提供了功率历史表(PHT),其存储用于指令的相关联地址的测量功率使用。在计算机处理器系统的操作期间确定测量的功率使用。当具有相关联地址的指令运行时,所述计算机处理器系统能够基于在先测量的功率使用管理功率使用。这允许计算机处理器系统对要求高功率的指令调整,同时最小化对总体性能的负面影响。
本发明的一个方面提供了一种用于计算机处理器系统的功率管理方法,包括:测量功率使用;监视用于完成(finishing)指令的指令执行;确定用于完成指令的完成指令地址;确定用于完成指令的测量的功率使用;以及将与测量的功率使用相关联的完成指令地址存储在功率历史表(PHT)中。
本发明的另一个方面在计算机可使用的介质中、提供了用于计算机处理器系统的功率管理计算机程序产品,包括:用于测量功率使用的计算机程序代码;用于监视完成指令的指令执行的计算机程序代码;用于确定完成指令的完成指令地址的计算机程序代码;用于确定完成指令的测量的功率使用的计算机程序代码;以及用于将与测量的功率使用相关联的完成指令地址存储在功率历史表(PHT)中的计算机程序代码。
本发明的另一个方面提供了一种信息处理系统,包括:处理器;耦合到所述处理器的存储器,用于存储由数字处理装置可执行的指令,所述数字处理装置用于执行操作以对计算机处理器系统提供功率管理。所述操作包括:测量功率使用;监视完成指令的指令执行;确定完成指令的测量功率使用;及将与测量的功率使用相关联的完成指令地址存储在功率历史表(PHT)中。
本发明的另一个方面提供了一种具有功率管理的计算机处理器系统,其包括:指令提取控制单元,所述指令提取控制单元具有功率历史表(PHT);指令分派控制单元;指令执行单元,所述指令执行单元具有功率控制单元;以及程序状态和数据单元。所述指令分派控制单元将指令从指令提取控制单元分派到指令执行单元用于执行,所述功率控制单元监视用于测量的功率使用的指令的执行,并且所述程序状态和数据单元监视用于完成指令地址的指令的执行,所述测量的功率使用存储在与完成指令地址相关联的功率历史表(PHT)中。
结合附图阅读,从下面的目前优选实施例的详细描述中,本发明的前面和其它的特征和优点将变得进一步明显。详细的描述和附图仅仅说明本发明,而不是限制由权利要求及其等效定义的本发明的范围。
附图说明
图1是用于使用本发明的计算机处理器系统的方框图;
图2是按照本发明执行的功率管理的方法的功率历史表管理的流程图;
图3是按照本发明执行的使用功率历史表的功率管理的方法的流程图;以及
图4是按照本发明执行的功率管理的方法的信息处理系统的方框图。
具体实施方式
图1是用于使用本发明的计算机处理器系统的方框图。计算机处理器系统100包括:指令存储器单元110、指令提取控制单元120、指令分派控制单元130、指令执行单元140、数据交换总线150、程序状态和数据单元160、数据存储器单元170和输入/输出设备180。指令提取控制单元120中的功率历史表(PHT)为各指令按地址存储测量的功率使用历史,使得计算机处理器系统100能够适应特定指令的功率使用。
指令提取控制单元120提取存储在指令存储器单元110中的指令,并且将该指令提供给指令分派控制单元130。指令分派控制单元130在指令提取控制单元120的指导下控制指令流。指令执行单元140执行指令并且对数据操作。指令执行单元140还测量功率使用,并且将该信息提供给PHT124。程序状态和数据单元160跟踪指令执行,并且将该信息提供给PHT124。
指令提取控制单元120提取存储在指令存储器单元110中的指令,并且将各指令提供给指令分派控制单元130。在一个实施例中,一次提取一条指令。在另一个实施例中,按组(如5条指令的示例性组)提取指令。指令提取控制单元120包括:分支历史表(BHT)122、功率历史表(PHT)124和指令高速缓冲存储器126。BHT122和PHT124通过完成指令地址,分别存储用于各指令的分支和功率的历史。指令高速缓冲存储器126保持从指令存储器单元110调用的单个指令或成组指令,直到它们在指令分派控制单元130的指导下转移出指令存储器单元110。在一个实施例中,BHT122和PHT124是分开的表格。在另一个实施例中,BHT122和PHT124组合为单个表格。典型地,BHT122和PHT124具有相同数量的地址。本领域技术人员将意识到,用在BHT122和PHT124中的地址数量取决于特定应用,示例性范围是从64到2,000个地址。各地址能够按部分的或截短的地址存储以节约BHT122和/或PHT124中的空间。在指令已经完成后,分支和功率历史能够保持在程序状态和数据单元160中的完成表163中,使得分支和功率历史能够分别被发送到BHT122和/或PHT124。
BHT122是通过完成指令地址对各指令索引的分支历史值的表。分支历史值能够在计算机处理器系统100的操作期间确定,同时程序状态和数据单元160将由在特定地址的指令采用或不采用的分支,提供到BHT122用于存储。例如,具有地址#10的指令可以跟随分支B一次,接下来的4次跟随分支A。每次具有#10的指令运行,由程序状态和数据单元160将跟随的分支提供给BHT122。基于该历史,具有地址#10的指令80%的时间跟随分支A,并且20%的时间跟随分支B。跟随的分支A的可能性能够在BHT122中存储为高,并且跟随分支B的可能性能够在BHT122中存储为低。当调用具有地址#10的指令为将来运行时,指令提取控制单元122能够从BHT122查询被跟随的可能分支,并且沿着可能的分支开始推测性执行。在该示例性情形中,推测性执行能够沿着分支A开始,因为它是比分支B更可能的分支。因此,推测性执行能够先于实际执行进行以节约处理时间。当可能的分支不是跟随的分支时,推测性执行的结果能够被放弃。
PHT124是通过完成指令地址为各指令索引的测量功率使用值的表格。该测量的功率使用值能够在计算机处理器系统100的操作期间确定,并且存储在PHT124中,同时程序状态和数据单元160提供在特定地址的指令,并且指令执行单元140中的功率控制单元142提供测量的功率使用。例如,具有地址#10的指令可能正要完成,并且功率控制单元142检测到该完成并且将地址#10提供给PHT124。功率控制单元142将具有地址#10的指令正在运行时测量的所述测量功率使用(如高、中、低等),提供给PHT124。能够为地址#10将功率使用存储在PHT124中。当调用具有地址#10的指令用于将来执行时,指令提取控制单元120能够从PHT124查询测量的功率使用,以及适当地管理计算机处理器系统100的功率使用,如指导指令分派控制单元130如何分派指令。
PHT124的地址部分存储各指令的地址,并且功率使用部分存储特定地址的测量功率使用。在一个实施例中,功率使用部分是单个比特宽,并且测量功率使用存储为高或低。在另一个实施例中,功率使用部分是两个比特宽,并且测量功率使用能够存储为高、中、低或未知。在其它实施例中,功率使用部分能够大于两个比特宽,并且能够存储测量功率使用的更精细的增量。在一个实施例中,PHT124和BHT122组合在单个表格中,使得所述地址仅仅需要为两者存储在单个列中。本领域技术人员将意识到,PHT124对于特定应用能够按需要确定大小。
指令高速缓冲存储器126保持各指令或指令组,其在指令提取控制单元120处从指令存储器单元110接收,并且提供给指令分派控制单元130。指令分派控制单元130能够在指令提取控制单元120的指导下,控制来自指令高速缓冲存储器126的指令或指令组的流,所述指令提取控制单元120能够控制执行和/或功率管理的流。
指令执行单元140包括功率控制单元142和执行单元(EU)144。指令执行单元140从指令分派控制单元130接收指令,从数据交换总线150接收数据,在EU 144中执行各指令,并且将数据返回到数据交换总线150。当目前的指令执行不需要EU 144时,在功率控制单元142的指导下,一个或多个EU 144能够被关闭以减少功率使用。功率控制单元142测量功率使用并且将测量的功率使用提供给PHT124。
数据交换总线150在指令执行单元140、程序状态和数据单元160、数据存储器单元170和输入/输出设备180之间传递数据。数据存储器单元170存储数据,并且输入/输出设备180允许将数据和指令输入和输出到计算机处理器系统100。程序状态和数据单元160包括数据高速缓冲存储器162,其将数据暂时高速缓存到指令执行单元140和数据存储器单元170之间。程序状态和数据单元160跟踪完成的指令,并将该完成的指令地址提供给PHT124。程序状态和数据单元160还使用完成表163跟踪运行指令和分支历史,并且将它们提供给BHT122。
本领域技术人员将意识到,图示的计算机处理器系统100仅仅是一个示例,并且其它配置是可能的。例如,程序状态和数据单元160能够放置在计算机处理器系统100中的其它地方,并且不限于连接到数据交换总线150。
图2是按照本发明执行的功率管理的方法的功率历史表管理的流程图。功率历史表管理方法200用测量的功率使用值填充功率历史表(PHT),该测量的功率使用值能够用于管理计算机处理器系统的功率。
所述方法200从初始化PHT203开始。测量计算机处理器系统中的功率使用204。为完成指令监视指令的执行206,并且确定指令是否完成208。当没有指令完成时,方法200继续监视指令执行206。当指令完成时,为完成指令确定该完成指令的地址210,并为完成指令确定测量的功率使用212。完成指令地址和测量的功率使用存储到与彼此相关联的PHT214。重置功率使用216,以允许跟踪执行下一指令的功率使用。在一个实施例中,所述方法200能够继续初始化PHT 203。在另一个实施例中,所述方法200能够继续测量功率使用204。
所述方法200还能够包括如图2中所示的可选的重置例程(routine)。可选的重置例程考虑使用随时间不同地不同地址的不同计算机应用。例如,一个应用(如电子数据表(spreadsheet)),可以对于给定地址使用低功率,而另一稍后运行的程序可以使用高功率。在预定数量的操作或时间量之后重置PHT,允许PHT考虑不同应用的不同功率使用。
可选的重置例程确定应用重置计数器是否大于或等于定义预定间隔的应用重置限度218。当应用重置计数器大于或等于应用重置限度时,应用重置计数器增加220,并且所述方法200继续测量功率使用204。当应用重置计数器不大于或等于应用重置限度时,重置PHT222并且重置应用重置计数器224。在一个实施例中,方法200能够继续初始化PHT203。在另一个实施例中,方法200能够继续测量功率使用204。本领域技术人员将意识到,对特定应用能够按需要选择应用重置限度的值。在一个示例中,应用重置限度是一百万。
初始化PHT203以将PHT中的测量功率使用的值设置到预定的功率使用值。典型地,测量功率使用值被初始化到低或未知值。在一个示例中,当PHT的功率使用部分是单个比特宽并且测量功率使用存储为高或低时,预定功率使用值是低。在另一个示例中,当PHT的功率使用部分是两个比特宽并且测量功率使用能够存储为高、中、低或未知时,预定功率使用值未知。然后如果由在相关联的指令的执行期间测量的功率使用保证,则测量的功率使用能够增加到更高的值。
在测量计算机处理器系统中的功率使用时204,能够选择测量技术以对特定的计算机处理器系统设计给出最佳结果。在一个实施例中,在执行特定指令时,关闭执行所述特定指令不需要的执行单元(EU)。在一个实施例中,每个EU能够考虑集成电路的时钟选通区域。为了测量功率使用,时钟能够与每个EU相关联,并且在打开相关联的EU时每个时钟能够运行,以跟踪每个执行单元的接通时间(on-time)。当指令完成时,所有时钟的接通时间能够求和以确定测量的功率使用。更精确的功率使用测量能够通过考虑各EU的相对面积获得。当指令完成时,所有时钟的接通时间能够通过每个EU的部分面积用加权求和,以确定测量的功率使用。例如,所有EU的总面积的一半的EU,将按所有EU的总面积的四分之一的EU的两倍加权。通过部分区域的加权允许功率使用与EU的面积成比例。本领域技术人员将意识到,单个EU能够拆开为几个或许多的时钟选通区域,并且这些时钟选通区域中的每个对功率使用测量计数。在另一个实施例中,测量计算机处理器系统中的功率使用204包括测量功率轨(rail)的温度作为功率使用的指示。
将完成指令的地址和测量的功率使用存储到PHT214,即将完成指令的地址与测量功率使用相关联地存储。该地址可以按部分的或截短的地址存储以节约PHT中的空间。在一个实施例中,将为指令确定的最近的测量功率使用存储到PHT,使得存储的值总是最近的值。在另一个实施例值中,将为指令确定的最高测量功率使用存储到PHT,使得存储的值是最大的测量值。将重新确定的测量的功率使用与目前存储的测量的功率使用相比,并且当重新确定的测量功率使用大于目前存储的测量功率使用时,仅仅将重新确定的测量功率使用存储在PHT中。例如,当目前存储的测量功率使用低时,当重新确定的测量功率使用是中或高时,仅仅将重新确定的测量功率使用存储在PHT中。在另一个实施例中,每次重新确定的测量功率使用超过目前存储的测量功率使用时,增加存储到PHT的测量功率使用,使得存储在PHT中的测量功率使用逐渐增加。例如,当目前存储的测量功率使用低时,当重新确定的测量功率使用是中或高时,将测量功率使用按中存储在PHT中。本领域技术人员将意识到,对于特定应用,能够按需要选择将测量功率使用存储到PHT。
图3是按照本发明执行的使用功率历史表的功率管理的方法的流程图。功率历史表管理使用方法300,使用按地址存储在功率历史表(PHT)中的测量功率使用值,以管理计算机处理器系统的功率。
所述方法300从监视分派指令的指令分派开始304。确定指令是否被分派306。当没有指令分派时,所述方法300继续监视指令分派304。当指令在分派时,获得分派指令的分派指令地址308。为从分派指令获得的分派指令地址,从PHT查找测量功率使用310。确定分派指令地址的测量功率使用是否大于或等于功率使用限度312。当测量功率使用不大于或等于功率使用限度时,执行指令的正常分派316,并且所述方法300能够继续监视指令分派304。当测量功率使用大于或等于功率使用限度时,执行指令的功率节约分派作为功率节约措施314,并且所述方法300结束318。所述方法300能够继续监视指令分派304。
在确定测量功率使用是否大于或等于功率使用限度312中使用的功率使用限度,能够是预定的限度或单独选择的限度。预定限度是固定的。例如,当功率使用限度是中等的预定限度时,在测量功率使用是中或高时,执行指令的功率节约分派的执行314。单独选择的限度能够由用户输入或在程序控制下调整。在一个示例中,用户可以发现:当功率使用限度设置为低而不是中时,计算机处理器系统节约了更多功率并且符合运行时间要求,使得用户将功率使用限度设置为低。在另一个示例中,计算机处理器系统可以检测在功率使用限度设置为低时运行时间太慢,并且在程序控制下将功率使用限度设置为中。
当测量功率使用大于或等于功率使用限度时,执行指令的功率节约分派作为功率节约措施314。功率节约措施的示例包括以较慢速度发送用于执行的指令,并且在用于执行的指令之间发送中断(break)。通过调整将指令分派到指令执行单元的途径,能够降低指令的执行速度以减少功率使用。在一个实施例中,能够降低各指令或指令组的分派速度以降低在指令执行单元的执行速度。对于指令组,能够一次分派一条指令而不是立即分派整个组。在另一个实施例中,能够在指令之间插入中断,以降低在指令执行单元的执行速度。能够选择中断的数量和/或持续时间,以根据功率管理需要提供期望的执行速度。当地址的指令具有高的测量功率使用时能够提供更多中断。
能够调整(tailor)功率管理的指令的功率节约分派,以考虑存储在PHT中的测量功率使用。例如,具有高值的测量功率使用的地址与具有中值的测量功率使用的地址相比,能够实现更大的功率节约。较慢的分派速度能够用于高值地址。调整的控制的精细度能够适于测量功率使用数据存储的精细度,例如,提供16种可能的测量功率使用增量的4比特测量功率使用数据存储,与提供4种可能的测量功率使用增量的2比特测量功率使用数据存储相比,能够提供对功率节约的更精细控制。
本领域技术人员将意识到,功率使用限度和功率管理的指令,能够基于操作目标和特定的计算机处理器系统的特征选择。当操作目标是为了降低峰值功率时,一个功率使用限度可能是最佳的。当操作目的是为了降低平均功率时,不同的功率使用限度可能是最佳的。例如,高功率使用限度经常适于控制峰值功率,并且较低的功率使用限度适于控制平均功率。
图4是按照本发明执行的功率管理的方法的信息处理系统的方框图。信息处理系统401是能够执行在此描述的操作的计算机系统的简化示例。信息处理系统401包括处理器400,其耦合到主机总线405。2级(L2)高速缓冲存储器410也耦合到主机总线405。主机至PCI桥415耦合到主存储器420,包括高速缓冲存储器和主存储器控制功能,并且提供总线控制以处理在PCI总线425、处理器400、L2高速缓冲存储器410、主存储器420和主机总线405之间的传递。PCI总线425提供了各种设备包括例如LAN卡430和/或视频卡432的接口。视频卡432可操作连接到显示设备490,如液晶显示器(LCD)、阴极射线管(CRT)显示器、投影显示器等。本领域技术人员将意识到,根据特定的应用需要,视频卡432能够附接到其它类型的总线,如AGP或PCI直接(express)总线。
PCI至ISA桥435提供总线控制以处理在PCI总线425和ISA总线440、通用串行总线(USB)功能445、IDE设备功能450、功率管理功能455之间的传递,并且能够包括未示出的其它功能元件,如实时时钟(RTC)、DMA控制、中断支持以及系统管理总线支持。外围设备和输入/输出(I/O)设备能够附接到耦合到ISA总线440的各种接口460(例如,并行接口462、串行接口464、红外(IR)接口466、键盘接口468、鼠标接口470和硬盘(HDD)472)。可替换地,超级I/O控制器(未示出)能够附接到ISA总线440以容纳许多I/O设备。本领域技术人员将意识到,特定的I/O设备能够用于测量功率使用和/或调整计算机处理器系统的指令分派,在该计算机处理器系统中采用了功率管理方法。
BIOS 480耦合到ISA总线440,并且并入了必要的用于各种低级别系统功能和系统引导功能的处理器可执行的代码。BIOS 480能够存储在任何计算机可读的介质中,包括磁存储介质、光存储介质、快闪存储器、随机存取存储器、只读存储器和转发对指令编码的信号(例如来自网络的信号)的通信介质。为了将信息处理系统401附接到另一个计算机系统以在网络上复制文件,LAN卡430耦合到PCI总线425和PCI至ISA桥435。类似地,为了将计算机系统401连接到ISP以使用电话线连接连接到因特网,调制解调器475连接到串行端口464和PCI至ISA桥435。
尽管在图4中描述的计算机系统能够执行在此描述的本发明,但是该计算机系统仅仅是计算机系统的一个示例。本领域技术人员将意识到,许多其它计算机系统设计能够执行在此描述的本发明。
本发明的优选实现之一是应用程序,即在代码模块中的一组指令(程序代码),该代码模块可以例如驻留在计算机的随机存取存储器中。直到由计算机请求,该组指令可以存储在另一个计算机存储器中,例如在硬盘驱动器上或在可移除的存储体如光盘(例如用在CD ROM中)或软盘(例如用在软盘驱动器)中,或者经由因特网或其它计算机网络下载。因此,本发明可以实现为在计算机可读的介质上存储的计算机程序,并且由数字处理装置可执行以执行操作来显示数据。此外,尽管描述的各种方法通常在由软件选择性启动或重新配置的通用计算机中实现,然而本领域普通技术人员也将认识到,这样的方法可以以硬件、以固件或以构成来执行要求的方法步骤的专用装置实现。
尽管在此公开的本发明的实施例目前认为是优选的,但是,能够进行各种改变和修改,而不偏离本发明的精神和范围。本发明的范围在权利要求中指示,并且落入等效的含义和范围的所有的改变意图在于被包括在其中。
Claims (14)
1.一种用于计算机处理器系统的功率管理的方法,该方法包括:
测量功率使用;
监视用于完成指令的指令执行;
确定用于完成指令的完成指令地址;
确定用于完成指令的测量的功率使用;以及
将与测量的功率使用相关联的完成指令地址存储在功率历史表PHT中。
2.如权利要求1所述的方法,其中测量功率使用包括:
确定每个执行单元的接通时间;以及
对全部执行单元的接通时间求和。
3.如权利要求1所述的方法,其中测量功率使用包括:
确定每个执行单元的接通时间;以及
对通过每个执行单元的部分区域加权的全部执行单元的接通时间求和。
4.如权利要求1所述的方法,还包括按预定间隔重置存储在功率历史表中的测量的功率使用。
5.如权利要求1所述的方法,还包括:
监视用于分派指令的指令分派;
确定用于分派指令的分派指令地址;
从功率历史表PHT确定用于分派指令地址的测量的功率使用;
确定用于分派指令地址的测量的功率使用是否大于或等于功率使用限度;以及
当用于分派指令地址的测量的功率使用超过功率使用限度时,执行功率节约措施。
6.如权利要求5所述的方法,其中从由发送以较慢速度执行的指令和发送在执行的指令之间的中断组成的组中,选择功率节约措施。
7.一种信息处理系统,包括:
处理器;
耦合到所述处理器的存储器,用于存储由数字处理装置可执行的指令,所述数字处理装置用于执行操作以为计算机处理器系统提供功率管理,所述操作包括:
测量功率使用;
监视用于完成指令的指令执行;
确定用于完成指令的指令执行;
确定用于完成指令的测量的功率使用;以及
将与测量的功率使用相关联的完成指令地址存储在功率历史表PHT中。
8.如权利要求7所述的系统,其中测量功率使用包括:
确定每个时钟选通区域的接通时间;以及
对全部时钟选通区域的接通时间求和。
9.如权利要求7所述的系统,所述操作还包括按预定间隔重置存储在功率历史表中的测量的功率使用。
10.如权利要求7所述的系统,所述操作还包括:
监视用于分派指令的指令分派;
确定用于分派指令的分派指令地址;
从功率历史表PHT确定用于分派指令地址的测量的功率使用;
确定用于分派指令地址的测量的功率使用是否大于或等于功率使用限度;以及
当用于分派指令地址的测量的功率使用超过功率使用限度时,执行功率节约措施。
11.如权利要求10所述的系统,其中从由发送以较慢速度执行的指令和发送在执行的指令之间的中断组成的组中,选择功率节约措施。
12.一种具有功率管理的计算机处理器系统,包括:
指令提取控制单元,所述指令提取控制单元具有功率历史表PHT;指令分派控制单元;
指令执行单元,所述指令执行单元具有功率控制单元;以及程序状态和数据单元;
其中指令分派控制单元将指令从指令提取控制单元分派到指令执行单元用于执行,所述功率控制单元监视用于测量的功率使用的指令的执行,并且所述程序状态和数据单元监视用于完成指令地址的指令执行,所述测量的功率使用存储在与完成指令地址相关联的功率历史表PHT中。
13.如权利要求12所述的系统,其中所述指令提取控制单元具有分支历史表BHT,并且所述指令提取控制单元监视用于分支历史的指令的执行,所述分支历史存储在与完成指令地址相关联的分支历史表BHT中。
14.如权利要求13所述的系统,其中所述功率历史表PHT和分支历史表BHT是单个表格。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/551,007 | 2006-10-19 | ||
US11/551,007 US7673160B2 (en) | 2006-10-19 | 2006-10-19 | System and method of power management for computer processor systems |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101165635A true CN101165635A (zh) | 2008-04-23 |
CN101165635B CN101165635B (zh) | 2010-12-01 |
Family
ID=39319464
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007101496288A Expired - Fee Related CN101165635B (zh) | 2006-10-19 | 2007-09-10 | 用于计算机处理器系统的功率管理的系统和方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US7673160B2 (zh) |
JP (1) | JP5164096B2 (zh) |
KR (1) | KR101020008B1 (zh) |
CN (1) | CN101165635B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105786152A (zh) * | 2014-12-26 | 2016-07-20 | 联想(北京)有限公司 | 一种控制方法及电子设备 |
CN107430422A (zh) * | 2015-04-15 | 2017-12-01 | 高通股份有限公司 | 在基于处理器的系统中将功率轨选择性耦合到存储器域 |
US10684671B2 (en) | 2016-05-27 | 2020-06-16 | Qualcomm Incorporated | Adaptively controlling drive strength of multiplexed power from supply power rails in a power multiplexing system to a powered circuit |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5243304B2 (ja) | 2008-04-10 | 2013-07-24 | 株式会社ニフコ | 物品固定具 |
US8010824B2 (en) * | 2008-04-11 | 2011-08-30 | Advanced Micro Devices , Inc. | Sampling chip activity for real time power estimation |
US8245065B2 (en) * | 2009-03-04 | 2012-08-14 | International Business Machines Corporation | Power gating processor execution units when number of instructions issued per cycle falls below threshold and are independent until instruction queue is full |
US8365175B2 (en) * | 2009-03-10 | 2013-01-29 | International Business Machines Corporation | Power management using dynamic application scheduling |
US8442786B2 (en) | 2010-06-02 | 2013-05-14 | Advanced Micro Devices, Inc. | Flexible power reporting in a computing system |
US8504854B2 (en) | 2010-06-21 | 2013-08-06 | Advanced Micro Devices, Inc. | Managing multiple operating points for stable virtual frequencies |
US8510582B2 (en) | 2010-07-21 | 2013-08-13 | Advanced Micro Devices, Inc. | Managing current and power in a computing system |
US8555095B2 (en) | 2010-07-26 | 2013-10-08 | Apple Inc. | Methods and systems for dynamically controlling operations in a non-volatile memory to limit power consumption |
US8756442B2 (en) * | 2010-12-16 | 2014-06-17 | Advanced Micro Devices, Inc. | System for processor power limit management |
US8806254B2 (en) * | 2011-02-01 | 2014-08-12 | Dell Products L.P. | System and method for creating and dynamically maintaining system power inventories |
US9069555B2 (en) * | 2011-03-21 | 2015-06-30 | Intel Corporation | Managing power consumption in a multi-core processor |
US8650428B2 (en) | 2011-07-19 | 2014-02-11 | Ati Technologies Ulc | Dynamic weight calculation in a digital power estimation and management system |
US8810584B2 (en) * | 2011-09-13 | 2014-08-19 | Nvidia Corporation | Smart power management in graphics processing unit (GPU) based cluster computing during predictably occurring idle time |
US8904208B2 (en) * | 2011-11-04 | 2014-12-02 | International Business Machines Corporation | Run-time task-level dynamic energy management |
US8862909B2 (en) | 2011-12-02 | 2014-10-14 | Advanced Micro Devices, Inc. | System and method for determining a power estimate for an I/O controller based on monitored activity levels and adjusting power limit of processing units by comparing the power estimate with an assigned power limit for the I/O controller |
US8924758B2 (en) | 2011-12-13 | 2014-12-30 | Advanced Micro Devices, Inc. | Method for SOC performance and power optimization |
CN102902346B (zh) * | 2012-09-27 | 2015-07-08 | 中国科学院声学研究所 | 降低指令高速缓冲存储器功耗的方法及装置 |
JP2015097080A (ja) * | 2013-10-08 | 2015-05-21 | 株式会社東芝 | 画像形成装置の管理装置及び管理プログラム |
US20150220128A1 (en) * | 2014-02-04 | 2015-08-06 | Infineon Technologies Ag | Method and Apparatus for Use in a Data Processing System |
US9847662B2 (en) | 2014-10-27 | 2017-12-19 | Sandisk Technologies Llc | Voltage slew rate throttling for reduction of anomalous charging current |
US9916087B2 (en) | 2014-10-27 | 2018-03-13 | Sandisk Technologies Llc | Method and system for throttling bandwidth based on temperature |
US9880605B2 (en) * | 2014-10-27 | 2018-01-30 | Sandisk Technologies Llc | Method and system for throttling power consumption |
CN104461395A (zh) * | 2014-12-15 | 2015-03-25 | 长安大学 | 一种新型计算机存储系统及计算机系统 |
US11836031B2 (en) | 2020-11-10 | 2023-12-05 | Advanced Micro Devices, Inc. | Application override of power estimation mechanism |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3058986B2 (ja) * | 1992-04-02 | 2000-07-04 | ダイヤセミコンシステムズ株式会社 | コンピュータシステムの節電制御装置 |
JP3618442B2 (ja) * | 1996-02-08 | 2005-02-09 | 株式会社東芝 | マイクロプロセッサのパワーエスティメータ装置 |
US5887179A (en) * | 1996-06-11 | 1999-03-23 | Motorola, Inc. | System power saving means and method |
JPH11161692A (ja) * | 1997-11-28 | 1999-06-18 | Matsushita Electric Ind Co Ltd | 消費電力のシミュレーション方法 |
JP3573957B2 (ja) | 1998-05-20 | 2004-10-06 | インターナショナル・ビジネス・マシーンズ・コーポレーション | コンピュータ内のプロセッサの動作速度制御方法及びコンピュータ |
JP2000322257A (ja) * | 1999-05-10 | 2000-11-24 | Nec Corp | 条件分岐命令の投機的実行制御方法 |
JP3877518B2 (ja) * | 2000-12-13 | 2007-02-07 | 松下電器産業株式会社 | プロセッサの電力制御装置 |
US6826704B1 (en) * | 2001-03-08 | 2004-11-30 | Advanced Micro Devices, Inc. | Microprocessor employing a performance throttling mechanism for power management |
EP1611498B1 (en) * | 2003-03-27 | 2010-03-10 | Nxp B.V. | Branch based activity monitoring |
CN1202425C (zh) * | 2003-04-22 | 2005-05-18 | 李学湖 | 电能管理网设备 |
US7134028B2 (en) * | 2003-05-01 | 2006-11-07 | International Business Machines Corporation | Processor with low overhead predictive supply voltage gating for leakage power reduction |
JP2006059068A (ja) * | 2004-08-19 | 2006-03-02 | Matsushita Electric Ind Co Ltd | プロセッサ装置 |
US7987393B2 (en) * | 2005-05-16 | 2011-07-26 | Texas Instruments Incorporated | Determining operating context of an executed instruction |
-
2006
- 2006-10-19 US US11/551,007 patent/US7673160B2/en not_active Expired - Fee Related
-
2007
- 2007-09-10 CN CN2007101496288A patent/CN101165635B/zh not_active Expired - Fee Related
- 2007-10-11 KR KR1020070102710A patent/KR101020008B1/ko not_active IP Right Cessation
- 2007-10-12 JP JP2007266120A patent/JP5164096B2/ja not_active Expired - Fee Related
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105786152A (zh) * | 2014-12-26 | 2016-07-20 | 联想(北京)有限公司 | 一种控制方法及电子设备 |
CN105786152B (zh) * | 2014-12-26 | 2019-03-29 | 联想(北京)有限公司 | 一种控制方法及电子设备 |
CN107430422A (zh) * | 2015-04-15 | 2017-12-01 | 高通股份有限公司 | 在基于处理器的系统中将功率轨选择性耦合到存储器域 |
CN107430422B (zh) * | 2015-04-15 | 2020-06-23 | 高通股份有限公司 | 在基于处理器的系统中将功率轨选择性耦合到存储器域 |
US10684671B2 (en) | 2016-05-27 | 2020-06-16 | Qualcomm Incorporated | Adaptively controlling drive strength of multiplexed power from supply power rails in a power multiplexing system to a powered circuit |
Also Published As
Publication number | Publication date |
---|---|
KR20080035461A (ko) | 2008-04-23 |
US20080098242A1 (en) | 2008-04-24 |
US7673160B2 (en) | 2010-03-02 |
CN101165635B (zh) | 2010-12-01 |
JP2008102927A (ja) | 2008-05-01 |
JP5164096B2 (ja) | 2013-03-13 |
KR101020008B1 (ko) | 2011-03-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101165635B (zh) | 用于计算机处理器系统的功率管理的系统和方法 | |
CN102103516B (zh) | 基于虚拟cpu的频率和电压调节 | |
US8417973B2 (en) | Using a control policy to implement power saving features | |
JP3933027B2 (ja) | ディスクアレイ装置におけるキャッシュメモリ分割管理方式 | |
US6954824B2 (en) | Method, system, and program for determining a configuration of a logical array including a plurality of storage devices | |
US6608729B1 (en) | Intelligent power management of disc drives | |
US7568076B2 (en) | Variable store gather window | |
EP1918809A2 (en) | Storage system and method of controlling of feeding power to storage system | |
CN101311912B (zh) | 计算机系统、其控制方法以及系统管理装置 | |
KR20130002046A (ko) | 멀티 코어를 포함하는 저장 장치의 전력 관리 방법 | |
JP2006040026A (ja) | 負荷分散コンピュータシステム、経路設定プログラム及びその方法 | |
US10860260B2 (en) | Method, apparatus and computer program product for managing storage system | |
JPH0772888B2 (ja) | ダイナミックポーリング装置、機械処理方法、コントローラ及びデータ処理システム | |
CN103179048A (zh) | 云数据中心的主机QoS策略变换方法及系统 | |
CN103399781A (zh) | 云服务器及其虚拟机管理方法 | |
KR100460009B1 (ko) | 이미지 리소스를 로딩하는 방법 및 이미지 리소스 로딩시스템 | |
CN102096606A (zh) | 虚拟机迁移方法、装置和系统 | |
KR20170047468A (ko) | 메모리 동작을 모니터링하는 메모리 모듈 및 그것의 전력 관리 방법 | |
CN108306912A (zh) | 虚拟网络功能管理方法及其装置、网络功能虚拟化系统 | |
CN105242955A (zh) | 一种虚拟机磁盘输入输出调度方法及系统 | |
US20180217875A1 (en) | Data processing system and data processing method | |
CN101763032A (zh) | 调整逻辑单元号的控制器的方法及装置 | |
CN103164171A (zh) | 存储装置和命令执行控制方法 | |
US7058758B2 (en) | Load balancing to support tape and disk subsystems on shared fibre channel adapters | |
KR20050122046A (ko) | 이미지 리소스를 로딩하는 방법 및 이미지 리소스 로딩시스템 |
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: 20101201 Termination date: 20200910 |
|
CF01 | Termination of patent right due to non-payment of annual fee |