CN1731313A - 用于控制元件的活动的方法、***和处理器 - Google Patents
用于控制元件的活动的方法、***和处理器 Download PDFInfo
- Publication number
- CN1731313A CN1731313A CN200510065785.1A CN200510065785A CN1731313A CN 1731313 A CN1731313 A CN 1731313A CN 200510065785 A CN200510065785 A CN 200510065785A CN 1731313 A CN1731313 A CN 1731313A
- Authority
- CN
- China
- Prior art keywords
- activity
- software
- state
- control
- control command
- 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
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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Power Sources (AREA)
Abstract
公开了用于控制元件的活动的方法、***和处理器。本发明可以控制元件的功率消耗。由软件为元件发出第一功率控制命令。判断功率控制命令是否对应于如硬件所定义的该元件的允许的功率控制状态。如果功率控制命令不是该元件的允许的功率控制状态,则硬件将功率控制设置到比软件发出的功率控制状态更高的级别。软件是实时软件,软件还设置最低可以接受的活动控制状态。由软件为芯片的不同的元件定义功率消耗的层次结构,软件提供芯片上的任何元件或子元件的功率消耗的最低级别。
Description
技术领域
一般来说,本发明涉及功率消耗,具体来说,涉及对多处理器***中的处理器和子***的功率消耗相对于它们的实时功率消耗进行个体化的控制。
背景
在常规技术中,有多种控制处理芯片的功率耗散的方式。例如,引入了诸如on full、on slower、clock off和chip off之类的状态。示例有PowerPC体系结构的实现方式中的“nap、doze、sleep和suspend”状态,以及处理器的增强的Intel SpeedStep功率管理中的“sleep”和“deeper sleep”状态。
然而,常规技术在应用于多处理器***时会存在许多问题。首先,在现有的***中,功率管理模式无法通过软件进行访问。在典型的实现方式中,由***控制器负责使用芯片的功率管理功能来进行功率管理。这是不利的,因为尽管***控制器能够响应诸如芯片或模块温度之类的***方面,但是***控制器拥有的有关处理器执行的任务的信息却很有限。在某些进行模拟的微处理器中,通过向硬件模拟层提供功率管理接口,可以部分地克服此问题。Transmeta公司在处理器中完成了这项工作。由于模拟层能够观察软件活动的级别,可以响应诸如芯片温度之类的外部测量值和由模拟软件监视的软件活动来进行功率管理。这能使这样的处理器在只执行诸如DVD播放之类的比较轻的任务时节省更多的电能。
然而,由于功率管理状态对操作***或管理程序不可用,更多的功率管理机会,比如通过计划任务和多个任务的活动的级别来管理功率不会被执行。此功能在多处理器***中特别重要,其中,操作***或管理程序能够自由地跨多个处理器重新平衡任务(线程),以便改善整个芯片或***中的总的功率或功率和热分布。在对称多处理器***中,甚至存在更大的布置任务或迁移的机会,因此,存在功率平衡的机会。
此外,常规技术也没有成功地实现分别针对多处理器***的单个处理器的控制***。虽然创建了允许在锁定步骤中用微处理芯片对整个***进行外部控制的“全***的”实现方式,但是,也没有针对多处理器***中的单个处理器的控制。
此外,将处理器与诸如存储器控制器和总线控制器之类的单元的芯片***(system-on-chip)设计需要将功率管理技术扩展到处理器本身之外。此外,现代的微处理器可以允许对单处理器核心内的单元进行比较详细的功率管理。因此,需要有层次性更强的方法,其中,功率管理状态可以适用于包括处理器、和处理器的子单元的单元的集合。
因此,需要一种结构化的功率控制接口,该接口可以被多处理环境中的管理程序或操作***使用,该接口至少解决与多处理器和芯片***(system-on-chip)环境中的常规功率管理控制关联的某些问题。进一步需要实时操作***或管理程序,为多处理器***内的各种设备设置最小的活动级别,以便至少解决与常规多处理器***关联的某些问题。
发明内容
本发明可以控制多处理器或芯片***环境中的元件的功率消耗。由软件为元件发出第一功率控制命令。判断功率控制命令是否对应于如硬件所定义的该元件的允许的功率控制状态。如果功率控制命令不是该元件的允许的功率控制状态,则硬件将功率控制设置到比软件发出的功率控制状态更高的级别。软件是实时软件,软件还设置最低可以接受的活动控制状态。
附图说明
为对本发明、它的优点有一个比较完整的了解,现在将参考下面结合附图进行的详细说明,其中:
图1概要描述了其中进行了功率控制的多处理环境;
图2A概要描述了单个元件控制的功率状态的过渡;
图2B概要描述了功率消耗和被控制的元件的各种状态之间的关系;
图3概要显示了与图1关联的多处理环境的功率层次结构;以及
图4概要显示了使用实时操作***或实时管理程序来为多处理器***内的设备设置最小功率消耗的方法。
具体实施方式
在下面的讨论中,阐述了许多具体的细节以提供对本发明的全面的了解。然而,那些本领域技术人员将理解,本发明可以不用这样的具体细节来实施。在其他情况下,以示意图或方框图的形式说明了已知的元素,以便不致以不必要的细节使本发明变得模糊。此外,在很大程度上,涉及网络通信、电磁信号技术等等的细节基本上也被省略,因为这样的细节对于对本发明的完整的了解没有必要,不会妨碍对精通相关技术的人的理解。
在此说明书的剩余部分,处理单元(PU)可以是设备中的计算的单独的处理器。在这样的情况下,PU通常被称为MPU(主处理单元)。处理单元也可以是根据为给定计算设备开发的某种方法或算法分担计算负载的许多处理单元中的某一个单元。在此说明书的剩余部分,除非另有陈述,所有对处理器的引用都应该使用术语MPU,不论MPU是设备中的单独的计算元件,还是与其他MPU分担计算负载。
需要进一步指出的是,除非特别指明,否则这里描述的所有功能都可以以硬件或软件或者两者的组合来实施。然而,在优选的实施例中,除非特别指明,功能是由诸如计算机或电子数据处理器之类的处理器根据诸如计算机程序代码、软件之类的代码执行的,和/或被编码以执行这样的功能的集成电路执行的。
现在请看图1,该图说明了可以在其中对处理器中的单个元件进行功率控制的环境100。有一个连接到处理器单元120的存储器流量控制器(MFC)105,连接到本地存储器130的SPU 125,以及SMF 140。MFC 105和PU 120构成了PPC 101。
通常,每一个元件都有其自己的子元件,每一个子元件在功率状态寄存器150中都有其自己的关联的功率状态的标志。如果没有子元件,诸如SPU 125之类的元件在功率状态寄存器150内都有其自己的功率状态。在功率状态寄存器150内,存在软件值,以便确保给定元件至少在支持软件所要求的***功能所需的功率级别运行。
例如,MFC 105具有L2高速缓存106、存储器管理单元(MMU)107、非可缓存的单元(NCU)108、总线接口单元109,以及微处理器接口单元(CIU)110。PU 120具有也连接到其自己的功率状态寄存器150的PPC核心121和L1高速缓存122。SPU 125和本地存储器130也连接到功率状态寄存器150。这些元件或子元件中的每一个都连接到功率状态寄存器150。
同样,SMF 140具有直接存储器存取控制器(DMAC)141、存储器管理单元(MMU)142、原子存储器单元(ATO)143和总线接口单元(BIU)144。这些元件141-144中的每一个也都连接到功率状态寄存器150。MFC 105和高速缓存140连接到宽带引擎总线160。BEB 160也连接到I/O总线180、宽带接口(BEI)170、以及存储器接口控制器(MIC)190。这两者的活动或功率消耗级别都由功率控制寄存器185进行控制,而功率控制寄存器185又由功率状态寄存器150进行编程。
子元件105、120、140等等读取寄存器150中的值,并判断是处于完全活跃状态、慢状态、暂停状态、保留状态和隔离状态,或丢失状态和隔离状态,还是处于另一个功率消耗状态,作为软件写入的值的函数。对于单个单元106-110等等,这些单个软件指定的状态中的每一个状态都对应于功率消耗的增大或缩小。
然而,指定的并存储在每一个寄存器150内的供***100内的每一个元件、子元件或单元使用的功率状态,在某些实现方式中,对于要求的硬件状态,可能不会具体实现。换句话说,只有功率状态的子集会被实现。例如,L2高速缓存106的“暂停”状态可能是未定义的,虽然这是软件要求的功率状态,但不直接实现。因此,诸如L2高速缓存106、L1高速缓存122、本地存储器130等等之类的每一个元件,将配置其本身在为该元件实现的次较高功率状态下工作,以便支持软件所要求的功能和响应度。
因此,元件在软件所要求的功率级别或在实现的次较高功率级别下工作,从而确保了软件所需的功能可用。因此,每一个子元件106-110、121-122、元件125、130等等,被软件编程,以至少执行支持***功能所需的功率级别。然而,如果元件不能或不支持该级别的功率状态,则选择次较高级别的活动(如paused requested对slowed-implemented)。然而,软件取决于建立的功率层次结构,元件将在所要求的功率级别指定的功能级别工作,如果该级别不可用,则在可用的次较高的功能级别工作。如此,单个元件的功能特点至少是软件所要求的功能特点。
在另一个实施例中,与***100一起使用的操作***或管理程序是实时操作***(RTOS)。一般来说,在RTOS中,RTOS***根据涉及各个任何期限的信息,即,应该完成任务的截止时间以及预期的运行时间,确定各个任务的时间表。
在***100的多处理器***中,操作***或管理程序对分层的功率设置拥有控制权。此外,实时OS为各个任务设计了时间表,包括在按期限完成的情况下,执行每一个任务所需要的层次结构的各个元件的活动的最低级别。此外,与***100关联的操作***进一步通过将功率级别设置到最低级别的功率消耗的机制来优化功率耗散,所述最低级别的功率消耗满足作为硬件所支持的每一个设备的功率状态的函数的要求。
如此,在特定***中,也许在SPU 125上实现“慢”模式,以便以半速度运行,SPU 125将消耗1/4的全功率。那么,如果在全速度下每一个任务都需要花半秒的两个任务将在一个一秒的窗口执行,从功率消耗标准来看,任务安排在两个SPU 125比较有利,每一个任务都以半速度运行。相比之下,如果在特定SPU 125内没有实现慢模式,则在一个SPU 125上依次运行两个任务并关闭第二个SPU125比较有利。这将是“丢失状态和隔离状态”。
现在请参看图2A,该图说明了***100的各个单元的活动状态的状态转移图。每一个子元件106-110在其自己的寄存器150内都有一个软件写入的值,该值表示该元件、子元件、或单元的所要求的最低活动级别。最高活动/最高功率状态是活跃状态240。在此状态下,处理器或其他子元件的性能不受功率管理的限制。在活跃状态240中,元件、子元件、或单元消耗最大的电力量,否则就在最活跃的状态下。元件、子元件或单元可以从活跃状态240过渡(根据软件请求)到已经实现的图2A中的任何其他状态。
图2A中的次低活动状态是“慢”状态(slowed state)250。在“慢”状态250,性能降低,以降低功率消耗。除了作为接收到的周期的函数的处理速度降低之外,元件、子元件、或单元功能都类似于活跃状态。
次最低活动状态是“暂停”状态(paused state)210。在“暂停”状态下,不保证元件、子元件或单元在提供其功能方面取得向前的进展。然而,当前处理的信息状态被保留。单元也对其他单元的检索或更新其当前状态下的数据的请求保持响应。此状态通常会根据另一个单元的请求转回到“慢”或“活跃”状态。
次最低状态是状态“保留和隔离状态”(state retained andisolated)220。在“保留和隔离状态”220,禁止从任何其他单元对元件、子元件或单元进行访问。然而,内部存储在元件、子元件、或单元中的信息被保留。在“保留和隔离状态”220期间,不会取得向前的功能进展,并且内部数据也不能被其他单元访问或更新。
最后,还有“丢失和隔离状态”(state lost and isolated)230。在状态“丢失和隔离状态”230中,元件、子元件,或单元在逻辑上从多处理器***中删除。换句话说,元件、子元件或单元不保留关于其状态的任何内部信息,元件、子元件或单元不能被其他单元进行访问,因此,也不能***作***、管理程序或应用程序进行访问。在状态“丢失和隔离状态”230,元件、子元件或单元处于活动的最低级别,因此,功率消耗也最低。一般来说,在给定元件、单元或子单元的较低活动级别和功率消耗的较低级别之间存在关联。
在图2A中,分别在软件指示下并在硬件操作的支持下,状态210到250被应用于每一个元件106-110,及***100的其他元件或子元件。这为对单个处理器或子元件的控制提供了更大的灵活性。此外,至少由于在软件选择的功率级别未定义的情况下对单个组件软件设置的硬件覆盖,这将有助于确保,对任何数据的处理或任何指令的执行至少执行到管理程序、操作***、应用程序等等所选择的功能级别。在图2A中,在再一个实施例中,状态由实时操作***作为最低功率级别进行设置,然后,设置与***100关联的功率层次结构。
现在请参看图2B,该图显示了功率箭头,该箭头显示了相对功率消耗,从最高的“活跃”状态开始到“隔离和丢失”状态。此状态可能为任何单个元件进行了定义,也可能没有定义。如果状态没有为由软件选择的元件进行定义,那么,该元件的功率状态被硬件转到次最高的可用功率状态。换句话说,在图2B中,如功率状态寄存器150和功率控制寄存器185中注册的功率状态,由每一个元件、子元件或单元至少实现到由软件命令的级别,次高实现的可用功率状态,如图2B的功率层次结构图表上向左移动所描述的。
接受指定的软件功率管理状态,然后,当软件请求的状态不可用时支持设置下一个较高的实现的功率状态的一个方面是,它允许软件与不同的硬件功率实现方式一起使用。例如,硬件的一个版本可能不支持一个单元的给定活动级别,而硬件的另一个版本却支持该单元的该活动级别。然而,如在上面的层次结构中建议的这些不同启用级别将允许同一个软件分层次地对于硬件的元件使用不同的使用启用情况。在图2B中,在再一个实施例中,状态由实时操作***作为最低功率级别进行设置,然后,设置与***100关联的功率层次结构。
现在请看图3,该图显示了用于管理***100的典型的功率层次结构300。在最高级别是宽带引擎(“BE”)310,对应于图1的BE160。BE 310设置***的最高物理功率要求。换句话说,在层次结构中没有低于BE的单元具有比BE更高的硬件功率状态,除非由于对于特定单元、元件或子元件未定义指定的功率状态,而需要这样做。例如,如果BE 310处于“sleep”状态,对应于PPC 101的Power PC(PPC)315,对应于SMF 140的协同处理器(SPC)350,BE总线(BEB)360,总线接口逻辑(BEI)370,以及输入输出端口(IO)380都具有不高于该元件所依赖的元件的功率状态作为它们的物理功率状态。这是默认条件。例如,BEI 370将不高于BE 310(不比其更活跃)。这些元件和子元件可以分别对应于I/O 180、BEI 170、SPU 125。
然而,在图3中,物理元件可以被软件设置为比它上面的元件较低的功率消耗状态。例如,存储器流量控制器(MFC)320和处理器单元(PU)335将与默认位置中的PPC 315共享同一个物理功率状态。在一个说明性示例中,总线接口单元(BIU)322和L2高速缓存326可以被设置为较低的状态,诸如隔离和保留的状态(isolatedand state retained)。然而,高速缓存接口单元(CIU)324和非可缓存的单元(NCU)330可以与MFC 320设置为同一个功率消耗状态。
或者,如果BE 310被软件设置为活跃状态,此功率消耗状态通常将被SPU 352、本地存储器354和SMF 355继承。然而,原子高速缓存356、总线接口单元(BIU)357、直接存储器存取控制器(DMAC)358,以及存储器管理单元(MMU)359可以被设置为诸如“暂停”、“隔离和保留”,或“隔离和丢失”之类的较低的状态。
换句话说,在***100中,软件控制(即,***的“结构化的状态”)用于控制电源***。软件控制用于将不同的功率消耗级别设置到层次结构的不同状态。例如,可以使用软件将BE设置到功率消耗的最高的“活跃”级别,将PPC设置到功率消耗的第二“暂停”级别,将L2高速缓存设置到功率消耗的第三“暂停”级别。
然而,层次结构中的某一给定单元可能不支持由软件所选择的功率级别。例如,如果L1高速缓存337或PPC核心338被设置为“隔离和保留的状态”功率状态,则***100的特定实现方式的硬件可能不支持此特定元件的此特定功率状态,因为所支持的功率状态可能是实现方式特定的。因此,***100的硬件获取所选择的元件,如L1高速缓存,并将它放在次最高定义的能源消耗状态。作出示例,可以是“暂停”状态、“慢”状态,或“活跃”状态,并以该顺序排列,取决于是否定义了这些状态。
换句话说,在***100中,软件不采用高于体系结构状态所保证的任何单元的活动级别,硬件至少提供体系结构所指定的活动级别。换句话说,软件为诸如BIU 322、SMF 355、DMAC 358等等指定某一功率消耗状态。在没有相反的软件指令的情况下,在层次结构中的另一个元件下面的每一个元件都与层次结构中它紧上面的元件共享同一个功率状态。
然而,如果为元件(也许是***100的物理布局不支持的MMU 328)定义了活动状态级别,则硬件将MMU设置到次最高功率消耗级别。然而,软件本身在诸如MMU 328之类的物理设备不执行功率消耗的假设下运行,换句话说,不快于由软件指定的功率消耗。这样一来,软件确保了层次结构的各个组件在最低级别,该级别可以由软件和硬件的其他组件依赖。在图3中,在再一个实施例中,层次结构由实时操作***作为最低功率级别进行设置,然后,设置与***100关联的功率层次结构。
现在请参看图4,该图显示了由实时操作***或管理程序设置最小功率级别的方法400。在步骤410中,在操作***上运行的应用程序和/或在***上运行的管理程序100通知有关各个调度限制的操作***或管理程序。在步骤420中,实时操作***或实时管理程序确定满足调度限制的必需的活动级别的级别。在步骤430中,实时操作***或管理程序为多处理器***中的各个设备设置活动的级别。
应该理解,本发明可以采取许多形式和实施例。相应地,在不偏离本发明的精神或范围的情况下,对上面的实施例进行各种修改。这里概括的能力可以产生各种编程模式。本说明书不应该被理解为优选任何特定的编程模式,相反,而应作为可以构建这些编程模式的基础机制。
通过参考本发明的某些优选的实施例对本发明进行描述之后,值得注意的是,所说明的实施例只是说明性的,而在本质上不作任何限制,在前述的说明书中可以作出各种各样的变化、修改、更改和替换,在有些情况下,可以使用本发明的某些特点,而不使用其他特点。那些本领域技术人员在阅读优选的实施例的前述的描述之后可以容易地实现许多这样的变化和修改。相应地,对所附权利要求进行广泛的并以与本发明的范围一致的方式解释是合理的。
Claims (25)
1.一种控制元件的活动的方法,包括:
由软件为***的元件发出活动控制命令;
判断活动控制命令是否对应于如硬件所定义的该元件的允许的活动控制状态,如果是,则将活动级别设置为由软件所定义的级别;
如果活动控制命令不是该元件的允许的活动控制状态,则通过硬件将活动控制设置为比软件发出的活动控制状态级别高的下一个允许的较高的级别,其中,软件是实时软件,软件还设置最低可以接受的活动控制状态。
2.根据权利要求1所述的方法,其中,将活动控制设置到比由软件发出的活动控制命令级别高的较高级别的步骤是由硬件来执行的。
3.根据权利要求1所述的方法,其中,发出第一活动控制命令的操作进一步包括设置活动级别。
4.根据权利要求1所述的方法,其中,将活动控制设置在比由软件发出的活动控制命令级别高的较高级别的步骤进一步包括将活动控制设置到次最高级别。
5.根据权利要求1所述的方法,进一步包括在活动层次结构内定义元件。
6.根据权利要求5所述的方法,进一步包括为活动层次结构内的元件选择活动状态。
7.根据权利要求6所述的方法,进一步包括从层次结构中的一个元件将活动状态继承到层次结构的第二元件。
8.根据权利要求1所述的方法,进一步包括发出对多处理器***的元件的活动控制命令,以分别控制多处理器***的每一个元件。
9.根据权利要求1所述的方法,其中,活动控制命令包括“活跃状态”活动命令。
10.根据权利要求1所述的方法,其中,活动控制命令包括“慢状态”活动命令。
11.根据权利要求1所述的方法,其中,活动控制命令包括“暂停状态”活动命令。
12.根据权利要求1所述的方法,其中,活动控制命令包括“保留和隔离状态”活动命令。
13.根据权利要求1所述的方法,其中,活动控制命令包括“丢失和隔离状态”活动命令。
14.根据权利要求1所述的方法,其中,由软件发出活动控制命令进一步包括由实时操作***发出活动控制命令。
15.根据权利要求1所述的方法,其中,由软件发出活动控制命令进一步包括由实时管理程序发出活动控制命令。
16.一种***,包括:
第一元件;以及
连接到第一元件的寄存器,该寄存器被配置为接收由软件生成的多个活动状态中的一个活动状态的标志,其中,如果元件不被配置为在由活动状态的标志表明的活动级别工作,则每一个元件被配置为在更为活跃的活动状态工作,其中,元件被进一步配置为由实时软件设置为最低的活动状态。
17.根据权利要求16所述的***,其中,实时软件进一步包括实时操作***。
18.根据权利要求16所述的***,其中,实时软件进一步包括管理程序。
19.根据权利要求16所述的***,其中,第一元件包括存储器流量控制器。
20.根据权利要求16所述的***,其中,第一元件包括本地存储器。
21.根据权利要求16所述的***,其中,第一元件在层次结构上与第二元件关联。
22.根据权利要求21所述的***,其中,第二元件继承第一元件的活动状态。
23.根据权利要求21所述的***,其中,第二元件被软件设置为比第一活动状态较低的活动状态。
24.一种用于控制元件的活动的计算机程序产品,该计算机程序产品具有在其上包含了计算机程序的介质,计算机程序包括:
用于由软件为***的元件发出活动控制命令的计算机代码;
计算机代码,用于判断活动控制命令是否对应于如硬件所定义的该元件的允许的活动控制状态,如果是,则将活动级别设置为由软件所定义的级别;
计算机代码,用于,如果活动控制命令不是该元件的允许的活动控制状态,则通过硬件将活动控制设置为比软件发出的活动控制状态级别高的下一个允许的较高的级别,其中,软件是实时软件,软件还设置最低可以接受的活动控制状态。
25.用于控制元件的活动的处理器,处理器包括计算机程序,其中,计算机程序包括:
用于由软件为***的元件发出活动控制命令的计算机代码;
计算机代码,用于判断活动控制命令是否对应于如硬件所定义的该元件的允许的活动控制状态,如果是,则将活动级别设置为由软件所定义的级别;
计算机代码,用于,如果活动控制命令不是该元件的允许的活动控制状态,则通过硬件将活动控制设置为比软件发出的活动控制状态级别高的下一个允许的较高的级别,其中,软件是实时软件,软件还设置最低可以接受的活动控制状态。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/912,481 | 2004-08-05 | ||
US10/912,481 US7299372B2 (en) | 2004-08-05 | 2004-08-05 | Hierarchical management for multiprocessor system with real-time attributes |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1731313A true CN1731313A (zh) | 2006-02-08 |
CN100381977C CN100381977C (zh) | 2008-04-16 |
Family
ID=35758989
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005100657851A Expired - Fee Related CN100381977C (zh) | 2004-08-05 | 2005-04-15 | 用于控制元件的活动的方法、***和处理器 |
Country Status (3)
Country | Link |
---|---|
US (1) | US7299372B2 (zh) |
CN (1) | CN100381977C (zh) |
TW (1) | TW200627285A (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7299371B2 (en) * | 2004-08-05 | 2007-11-20 | International Business Machines Corporation | Hierarchical management for multiprocessor system |
US7512513B2 (en) * | 2005-11-29 | 2009-03-31 | International Business Machines Corporation | Thermal throttling control for testing of real-time software |
US7848901B2 (en) | 2005-11-29 | 2010-12-07 | International Business Machines Corporation | Tracing thermal data via performance monitoring |
US7681051B2 (en) * | 2006-08-30 | 2010-03-16 | Agere Systems Inc. | Transitioning of a port in a communications system from an active state to a standby state |
US7647483B2 (en) * | 2007-02-20 | 2010-01-12 | Sony Computer Entertainment Inc. | Multi-threaded parallel processor methods and apparatus |
US7818592B2 (en) * | 2007-04-18 | 2010-10-19 | Globalfoundries Inc. | Token based power control mechanism |
US9043553B2 (en) * | 2007-06-27 | 2015-05-26 | Microsoft Technology Licensing, Llc | Leveraging transactional memory hardware to accelerate virtualization and emulation |
US7886172B2 (en) * | 2007-08-27 | 2011-02-08 | International Business Machines Corporation | Method of virtualization and OS-level thermal management and multithreaded processor with virtualization and OS-level thermal management |
US8027798B2 (en) * | 2007-11-08 | 2011-09-27 | International Business Machines Corporation | Digital thermal sensor test implementation without using main core voltage supply |
US9459685B1 (en) | 2012-12-10 | 2016-10-04 | Arizona Board Of Regents On Behalf Of Northern Arizona University | System and methods for optimizing energy efficiency in programmable devices |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5396635A (en) * | 1990-06-01 | 1995-03-07 | Vadem Corporation | Power conservation apparatus having multiple power reduction levels dependent upon the activity of the computer system |
US6230273B1 (en) * | 1993-08-09 | 2001-05-08 | Ncr Corporation | Hardware and software controlled on/off circuit for computers |
US5996083A (en) * | 1995-08-11 | 1999-11-30 | Hewlett-Packard Company | Microprocessor having software controllable power consumption |
US5638541A (en) * | 1995-08-25 | 1997-06-10 | Intel Corporation | System and method for managing power on desktop systems |
US6330639B1 (en) * | 1999-06-29 | 2001-12-11 | Intel Corporation | Method and apparatus for dynamically changing the sizes of pools that control the power consumption levels of memory devices |
US20030065497A1 (en) * | 2001-09-28 | 2003-04-03 | Rhoads Monte J. | Power management system to select a power state for a network computer system based on load |
US6931559B2 (en) * | 2001-12-28 | 2005-08-16 | Intel Corporation | Multiple mode power throttle mechanism |
US6775787B2 (en) * | 2002-01-02 | 2004-08-10 | Intel Corporation | Instruction scheduling based on power estimation |
US7055046B2 (en) * | 2002-06-28 | 2006-05-30 | Microsoft Corporation | Power management architecture for defining component power states under a global power state and applying a new component power state when a new component power state is greater than a registered power state floor |
US7299371B2 (en) | 2004-08-05 | 2007-11-20 | International Business Machines Corporation | Hierarchical management for multiprocessor system |
-
2004
- 2004-08-05 US US10/912,481 patent/US7299372B2/en not_active Expired - Fee Related
-
2005
- 2005-04-15 CN CNB2005100657851A patent/CN100381977C/zh not_active Expired - Fee Related
- 2005-08-02 TW TW094126133A patent/TW200627285A/zh unknown
Also Published As
Publication number | Publication date |
---|---|
CN100381977C (zh) | 2008-04-16 |
US20060031836A1 (en) | 2006-02-09 |
TW200627285A (en) | 2006-08-01 |
US7299372B2 (en) | 2007-11-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100381977C (zh) | 用于控制元件的活动的方法、***和处理器 | |
Lefurgy et al. | Energy management for commercial servers | |
Srivastava et al. | Predictive system shutdown and other architectural techniques for energy efficient programmable computation | |
Papathanasiou et al. | Energy efficient prefetching and caching | |
KR100831460B1 (ko) | 다중 스레드 프로세서의 성능 제어를 위한 장치 및 방법 | |
CN103597449B (zh) | 操作***解耦的异构计算 | |
US5535401A (en) | Method and system of power and thermal management for a data processing system using object-oriented program design | |
US6631474B1 (en) | System to coordinate switching between first and second processors and to coordinate cache coherency between first and second processors during switching | |
US7500126B2 (en) | Arrangement and method for controlling power modes of hardware resources | |
US8762692B2 (en) | Single instruction for specifying and saving a subset of registers, specifying a pointer to a work-monitoring function to be executed after waking, and entering a low-power mode | |
KR100663864B1 (ko) | 멀티-코어 프로세서의 프로세서 모드 제어장치 및 방법 | |
Mittal | A survey of techniques for architecting and managing GPU register file | |
JP2016076268A (ja) | 利用可能な並列性の量に従って1命令当たりのエネルギーを変化させるための方法及び装置 | |
CN101346701A (zh) | 降低正在被供电的存储体的数量 | |
KR20090069618A (ko) | 전원관리 제어 장치 및 방법 | |
WO2006014254A1 (en) | An apparatus and method for heterogenous chip multiprocessors via resource allocation and restriction | |
TWI224728B (en) | Method and related apparatus for maintaining stored data of a dynamic random access memory | |
Shafique et al. | Agent-based distributed power management for Kilo-core processors: Special session:“Keeping Kilo-core chips cool: New directions and emerging solutions” | |
Bahn et al. | Evolution-based real-time job scheduling for co-optimizing processor and memory power savings | |
EP3770727A1 (en) | Technology for managing per-core performance states | |
JP2008243049A (ja) | 情報処理装置および同装置のメモリ制御方法 | |
CN110968180B (zh) | 一种通过减少数据传输实现gpu降耗的方法及*** | |
US7299371B2 (en) | Hierarchical management for multiprocessor system | |
Chi et al. | Cache leakage control mechanism for hard real-time systems | |
Bousias et al. | The challenges of massive on-chip concurrency |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20080416 Termination date: 20160415 |