CN103279183B - 在运行状态下藉由减少每个时钟的指令率的省电操作 - Google Patents

在运行状态下藉由减少每个时钟的指令率的省电操作 Download PDF

Info

Publication number
CN103279183B
CN103279183B CN201310087006.2A CN201310087006A CN103279183B CN 103279183 B CN103279183 B CN 103279183B CN 201310087006 A CN201310087006 A CN 201310087006A CN 103279183 B CN103279183 B CN 103279183B
Authority
CN
China
Prior art keywords
mentioned
instruction
microprocessor
clock
performance mode
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.)
Active
Application number
CN201310087006.2A
Other languages
English (en)
Other versions
CN103279183A (zh
Inventor
G.G.亨利
泰瑞.派克斯
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.)
Via Technologies Inc
Original Assignee
Via Technologies Inc
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 Via Technologies Inc filed Critical Via Technologies Inc
Publication of CN103279183A publication Critical patent/CN103279183A/zh
Application granted granted Critical
Publication of CN103279183B publication Critical patent/CN103279183B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30181Instruction operation extension or modification
    • G06F9/30189Instruction operation extension or modification according to execution mode, e.g. mode flag
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/324Power saving characterised by the action undertaken by lowering clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3243Power saving in microcontroller unit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3275Power saving in memory, e.g. RAM, cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/329Power saving characterised by the action undertaken by task scheduling
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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)
  • Software Systems (AREA)
  • Microcomputers (AREA)
  • Executing Machine-Instructions (AREA)
  • Power Sources (AREA)
  • Advance Control (AREA)

Abstract

本发明涉及在运行状态下藉由减少每个时钟的指令率的省电操作。其中一种微处理器包括多个功能性单元以及多个控制暂存器。控制暂存器可进行写入以致使功能性单元启动至少一动作,其中动作是当微处理器操作于一最低性能操作状态时,降低每一时钟的指令率,包括切换依序执行与非依序、串行存取与并行存取、发送单一指令与多个指令、退回单一指令与退回多个指令、转译单一指令与多个指令和/或格式化多个指令与单一指令。另外,当至少一情况满足时,动作被致能:执行在最低性能操作状态超过一既定时间、执行在一较高性能操作状态不超过一既定时间、使用者没有禁能动作以及微处理器与操作系统支持多个操作状态。

Description

在运行状态下藉由减少每个时钟的指令率的省电操作
技术领域
本发明涉及一种省电方法,特别是涉及一种应用于微处理器的省电方法。
背景技术
操作系统可以控制一微处理器在各种性能状态(通常称为P-states)运行。虽然通过桌上型(desktop)或者伺服器系统(server systems)可以减少电力以及所伴随的消耗,但当只有电池供电给装置时,利用操作系统来控制微处理器的性能状态以延长电池的时间成为一个重要的议题。举例而言,当操作系统检测到工作量相对低时(例如,使用者仅在观看DVD时,微处理所需的操作电量即相对的较小),操作系统可要求微处理器操作在一低性能状态(performance-reduced state)。一般而言,低性能状态包括将微处理器执行于一较低的时钟频率(reduced clock frequency),以及一较低的操作电压(reduced operatingvoltage level)。再举例而言,当操作系统需要操作在最低的性能操作状态时(lowestperformance running state),微处理器会降低其操作频率至微处理器仍可进行操作的处理器总线(processor bus)的时钟频率的最低倍频(Ratio),并且要求电源供应器将供应电源降低至微处理器仍可进行操作在最低倍频的最低操作电压。又举例而言,微处理器可包括一相锁回路(phase-locked loop,PLL)用以接收总线时钟讯号,并且相应地产生核心时钟讯号(core clock signal)以作为总线时钟频率的倍频。另外,相锁回路所能产生的倍频数目有限,因此具有一最低倍频。
无论如何,就算在最低的性能操作状态下,执行软件所施加在微处理器上的工作量(例如,工作系统以及应用程序所施加的工作量)仍然相对的较小,微处理器亦会因此造成长时间的闲置,导致电源的浪费。举例而言,软件可能仅处于藉由一计时器(occasionaltimer)计时以等待使用者输入的状态(例如,鼠标或者键盘的点击)。一般而言,为了从最低性能操作状态更近一步地降低其电力消耗,微处理器必须自正常工作状态(runningstate)转换至一睡眠状态(sleeping state)或者一电源状态(power state,一般称为C-states),其中微处理器停止执行指令并且执行其他节电措施(power saving measures),例如禁能(disable)微处理器的时钟讯号或者移除微处理器中的部分电源(例如移除快取存储器的电源),如图1所示。图1是用性能状态(performance states)以及电源状态(powerstates)为函数所绘制的微处理器的电源消耗图。然而,除非操作系统的指令要求微处理器进入睡眠状态,否则微处理器无法进入睡眠状态。因此,当微处理器仍然处于一操作状态无法降低其操作频率时,需要一种可以降低电源消耗的方法。
发明内容
本发明的一实施例中提供一种微处理器包括多个功能性单元以及多个控制暂存器。控制暂存器可进行写入以致使功能性单元启动一个或者多个动作,其中动作是用以当微处理器操作于一最低性能操作状态时,降低每一时钟的指令率,以减少微处理器的电源消耗。其中,最低性能操作状态包括一非睡眠状态,并且微处理器在非睡眠状态中操作于微处理器所支持的最低时钟频率。
本发明的另一实施例中提供一种省电方法,其中省电方法适用于一微处理器。省电方法包括接收用以致使微处理器进入一最低性能操作状态的一命令,其中最低性能操作状态包括一非睡眠状态,并且微处理器在非睡眠状态中操作于微处理器所支持的最低时钟频率。省电方法还包括启动用以减少电源消耗的一个或者多个动作,其中动作是当微处理器相应于所接收用以进入最低性能操作状态的命令而操作于最低性能操作状态时,降低微处理器每一时钟的指令率。
附图说明
图1是以一微处理器的性能状态以及电源状态为函数的电源消耗的示意图。
图2是本发明一微处理器的方块图。
图3是本发明图2所示的微处理器的操作流程图。
附图符号说明
102 指令快取存储器
104 指令格式器
106 格式化指令缓冲器
108 指令翻译器
112 暂存器别名表
114 指令发送单元
116A~116N 执行单元
118 指令退回单元
122 特别模块暂存器
124 熔丝
126 控制暂存器
128 性能状态切换计数器
132 使用者禁能标志
134 计数器
138 存储器子系统
142 微码
144 快取存储器
146 快取存储器
具体实施方式
以下将详细讨论本发明各种实施例的装置及使用方法。然而值得注意的是,本发明所提供的许多可行的发明概念可实施在各种特定范围中。这些特定实施例仅用于举例说明本发明的装置及使用方法,但非用于限定本发明的范围。
当微处理器为了减少电源消耗而操作在所支持的最低核心时钟频率时,本发明的实施例中所提供的微处理器可选择性并且有效率地藉由一个或者多个不同的动作,来减少微处理器的每一时钟的指令(instructions per clock,IPC)率。如下所述,但本发明不限于此:
(1)虽然微处理器通常可能不根据程序顺序执行指令(out-of-order),但致使指令根据程序顺序执行(in-order execution)。让指令根据程序顺序执行的动作可减少推测所执行的指令(speculatively executed instructions)的数量、减少之后必须取消或者重复执行的指令的数量,并且减少因执行随后被取消或者被重复执行的指令所造成的电源浪费。值得注意的是,上述的随后会被取消或者被重复执行的指令并不会对完成目前所执行的程序提供任何帮助。
(2)虽然微处理通常可能在每一时钟周期会发送多个(例如,3个)指令(上述动作称为superscalar issue),但使得每一时钟周期(per clock cycle)仅发送(issue)一个指令(上述动作称为scalar issue)。让每一时钟周期仅发送一个指令的动作可减少执行单元的使用率,并且节省电源消耗。
(3)虽然微处理器通常可能在每一时钟周期会格式化多个(例如,4个)指令,但在每一时钟周期仅格式化一个由从一指令快取存储器(instruction cache)所撷取的一可变长度指令串流(variable-length instruction stream)的指令。在一个可变长度指令集(variable-length instruction set)的架构(architecture)中,一字节串流(stream ofinstruction bytes)是从指令快取存储器中撷取而来的,并且所撷取的字节串流必须被格式化为多个离散指令(discrete instructions),使得个别的指令可被解码并且可被转译为更简单的微指令(microinstructions),以传送至执行单元加以执行。因此,微处理器必须决定字节串流中指令与指令间的边界(boundaries)。举例而言,在每一时钟周期仅格式化一个指令相较于在每一时钟周期格式化三个指令简单许多,并且每一时钟周期仅格式化一个指令所需的电力相较于在每一时钟周期格式化三个指令所需要的电力少。再者,在每一时钟周期仅格式化一个指令会使得等待发送至执行单元的指令减少,使得执行单元的使用量减少,以节省电源。
(4)虽然微处理器通常可能是以平行方式(parallel fashion)在快取层次结构中存取各种快取存储器,但在快取层次结构(cache hierarchy)中(例如,L1以及L2快取存储器),以串行方式(serial fashion)存取各种快取存储器,可增进效能。举例而言,L1快取存储器以及L2快取存储器是同时以平行方式进行存取,可减少在存取的遗漏事件中的数据访问延迟(data access latency),其中遗漏事件的存取遗漏是在其中一个快取存储器,而命中令一个快取存储器。但是,为了节省电源,当在存取L1快取存储器中发生一个遗漏(miss)时,才会对L2快取存储器进行存取。在快取层次结构中以串行方式存取快取存储器的动作可减少快取存储器的使用率,并且节省电源消耗。
(5)即使指令转译器可在每一时钟周期转译多个巨集指令,但在每一时钟周期中仅转译一个巨集指令(macroinstruction)(例如,x86指令)。指令转译器可进行指令熔断(instruction fusing),但在本发明中会被禁能。在每一时钟周期仅转译一个巨集指令会使得等待发送至执行单元的指令减少,使得执行单元的使用量减少,以节省电源消耗。
(6)虽然指令退回单元可在一个时钟周期中退回多个指令,但在一个时钟周期中仅退回一个指令。当指令备份在指令退回单元时,延滞的指令(stalls)可被导入微处理器100的管线(pipeline),因此在一个时钟周期中仅退回一个指令会减少每一时钟周期的指令率,以节省电源消耗。
广义而言,藉由避免那些不必要、但通常因推测而执行用以增进效能的工作量,可以减少每一时钟的指令率以降低电源浪费,例如,依序执行相较于非依序执行省电;串行存取相较于并行存取省电。或者,藉由一较大的时间帧(time frame)对串流(given streamof instruction)进行分散执行(spread execution),可以减少每一时钟的指令率以降低电源浪费,例如,纯量发送(scalar issue)相较于超纯量发送(superscalar issue)省电;每一时钟执行一个指令相较于每一时钟进行多个指令省电。更进一步来说,由本发明可知,藉由一较大的时间帧对串流进行分散执行,而非一突发方式(bursty manner)执行,具有更有效地提升动态电源管理的第二个益处,特别是在一多核心微处理的架构中,可使闲置的核心进入睡眠状态。
微处理器有时可能不会执行减少每一时钟的指令率的动作,即使当微处理器被下达转换至最低性能操作状态。因此,在本发明的实施例中,微处理器当一个或者多个既定情况存在时,才会发启减少每一时钟的指令率的动作,如下所述,但本发明不限于此:
(1)最近一次转换到上述最低性能操作状态前,微处理器操作于一最高性能操作状态的时间是否不超过一既定时间周期?在此条件下可以实现更复杂的变化。举例而言,每一较高性能操作状态可分别具有不同的既定时间周期。另外,先前所执行的N个性能操作状态可被检验,并且根据每一N个性能操作状态所花费的时间计算一加权平均,以获得一计算分数。当计算分数小于一既定分数时,才满足条件。微处理器包括多个计数器,用以提供各种性能操作状态所花费的时间的信息。
(2)微处理器操作于最低性能操作状态的时间,是否超过最近的一既定时间周期至少一既定百分比?
(3)微处理器是否支持多个性能操作状态(multiple performance states)?在一实施例中,部分微处理器可在制造时,经由熔丝被编程,以致使微处理器可支持多个性能操作状态。例如,一部份可被编程为支持多个性能操作状态,如应用于笔记型计算机或者移动电话的移动系统(mobile system),另一部份可被编程为不支持多个性能操作状态,例如,应用在桌上型计算机。
(4)操作系统是否支持多个性能操作状态?某些操作系统或者操作环境不支持多个性能操作状态,因此无法与微处理器沟通工作量是大或者是小;因此,无法减少微处理器的性能。在本发明的一实施例中,从操作系统启动(booted)或者从微处理器被重置后,微处理器可保留一标志用以指出操作系统是否要求切换至少一性能操作状态。或者,从操作系统启动(booted)或者从微处理器被重置后,微处理器可保留一计数器用以指出操作系统要求切换至少一性能操作状态的次数,并且当计数器的数值大于一既定数值时,微处理器才会启动减少每一时钟的指令率的动作。
(5)使用者是否禁能藉由减少每一时钟的指令率以节省电源的动作,例如,经由一基本输出输入系统(BIOS)所设定的选项。
本发明中藉由减少每一时钟的指令率以节省电源的动作以及既定情况不限于上述的部分。其它藉由减少每一时钟的指令率以节省电源的动作,以及其他为了满足省电功能的必要条件皆为本发明的范畴。
图2所示为本发明所提供的一种微处理器的方块图。微处理器100包括可写入数值的控制暂存器126或者多个标志,用以当微处理器操作在最低核心时钟频率(lowest coreclock frequency)时,指出是否应该启动减少每一时钟的指令率的动作,以减少电源消耗。在一实施例中,微处理器100的微码142将数值写入控制暂存器126以致使微处理器100自减少每一时钟的指令率的模式切换回正常操作模式,反之亦然。
微处理器100亦包括多个执行单元116用以执行指令。执行单元116可包括但不限于多个整数单元(integer units)、浮点单元(floating point units)、媒体单元(mediaunits)、单指令流多数据流单元(Single Instruction Multiple Data,SIMD units)以及分支单元(branch units)。微处理器100可藉由超纯量方式(superscalar fashion)发送指令至执行单元116,例如,在每一时钟周期发送多个指令至执行单元116。较佳的是,微处理器100操作在减少每一时钟的指令率的模式,藉由纯量方式(scalar fashion)发送指令来减少电源消耗,例如,在每一时钟周期发送仅发送一个指示至执行单元116。
微处理器100亦包括一指令快取存储器102用以自系统存储器(未图示)中快取(cache)指令。如上所述,指令是可变长度的,例如指令包括许多复杂指令(complexinstruction set computer,CISC)的结构,例如x86指令集架构。举例而言,指令集中的不同指令可具有不同的长度,例如,长度可在1至13字节(bytes)之间,其不同于需要固定长度指令的精简指令级计算(reduced instruction set computer,RISC)架构,例如,指令集中的不同指令具有相同的长度,例如32位(bits)。
微处理器100亦包括一指令格式器104用以自指令快取存储器102接收具有可变长度指令的一字节串流,并且格式化所接收的字节串流为可区别的多个指令。因此,微处理器还用以决定字节串流中不同指令间的边界,以指出串流中连续的字节分别属于哪个指令。指令格式器104自一控制暂存器126接收一输入讯号。输入讯号用以指出指令格式器104是在哪一种性能下进行格式化。例如,在一高性能操作状态模式下进行格式化,可在每一时钟周期中格式化其可格式化的一个或多个指令。或者,在一低电源模式下,指令格式器104仅在每一时钟周期中格式化一个指令。另外,已格式化的指令存放在一格式化指令缓冲器106中。
微处理器100亦包括一指令转译器108用以自格式化指令缓冲器106接收已格式化的指令,并且将所接收的已格式化的指令转译为更简单可被执行单元116所执行的微指令。指令转译器108自控制暂存器126接收自一输入讯号,输入讯号用以指出指令转译器108是在一高性能操作状态下转译或是在低电源状态下转译。在一高性能操作状态下,指令转译器108在每一时钟周期其可转译一个或多个指令;在一低电源状态下,指令转译器108在每一时钟周期仅转译一个指令。另外,已转译的微指令用以提供至一暂存器别名表112(register alias table,RAT)。
暂存器别名表112用以根据程序顺序接收已转译的微指令,并且产生每一微指令的附属信息(dependency information)。当有即时指令(instant instruction)依附以被允许发送至一执行单元116执行时,附属信息可用以区别早期指令(older instructions)。举例而言,指令可要求一早期指令的结果作为一源操作数(source operand)。暂存器别名表112亦用以自微码142(microcode)接收微指令。当指令转译器108遇到无法转译为一既定数量(例如,3个)微指令的一复杂指令时,指令转译器108可调用(invoke)微码142。举例而言,可调用微码142以回应于致使微处理器100切换至一新的性能操作状态或者电源状态的一指令。另外,相应于其他事件,微码142亦可被调用,例如,中断(interrupt)或者其它例外情况。
微处理器100亦包括一指令退回单元118(instruction retire unit)用以使用暂存器别名表112所产生的附属信息,决定何时发送指令至执行单元116执行。指令退回单元118用以自控制暂存器126接收一输入讯号,其中控制暂存器126的输入讯号用以指出指令退回单元118应该在一超纯量(superscalar)的高性能操作状态或者一低电源状态下,发送指令至执行单元116。在超纯量的高性能操作状态下,可在每一时钟周期发送其可发送的一个或多个指令;在低电源状态下,在每一时钟周期仅发送一个指令。
微处理器100还包括执行单元116产生读取或者写入要求的存储器子系统138(memory subsystem)。在一实施例中,存储器子系统138包括一第一级快取存储器144(level-1cache)以及一第二级快取存储器146(level-2cache),其中亦可包括其它级的快取存储器。存储器子系统138用以回应于执行单元116的存储器存取要求,存取快取存储器144/146。另外,存储器子系统138可自行产生存储器存取要求至快取存储器144/146,例如监听要求(snoop request)、虚拟存储器表的查核(virtual memory table walk)、快取线消除(cache line eviction)或者快取线定位(cache line allocation)。存储器子系统138用以自控制暂存器126接收一输入讯号,其中控制暂存器126的输入讯号用以指出存储器子系统138应该在哪一种性能下进行存取。在一高性能操作状态下,是以平行方式存取快取存储器144/146以减少存取的延迟。在一低电源状态下,以并行方式存取快取存储器144/146,例如,先对第一级快取存储器144进行存取,并仅在第一级快取存储器144的存取发生遗漏时,再对第二级存储器进行存取。
微处理器100还包括一指令退回单元118用以依照程序顺序退回指令。在某些情况下,指令退回单元118不依照程序顺序退回指令。换言之,指令退回单元118根据依照程序顺序执行指令所产生的结果,更新微处理器100的状态(architectural state)。指令退回单元118用以自控制暂存器126接收一输入讯号,其中控制暂存器126的输入讯号用以指出指令退回单元118是否应该在一高性能操作状态下以平行方式存取快取存储器144/146以减少存取的延迟;或者,在一低电源状态下以串行方式存取快取存储器144/146,例如,先对第一级快取存储器144进行存取,并仅在第一级快取存储器144的存取发生遗漏时,再对第二级存储器进行存取。
微处理器100亦包括多个特别模块暂存器122(model specific registers,MSR)。特别模块暂存器122可被系统软件写入以及读取用以控制或者决定微处理器100的各种特征的状态。系统软件例如是基本输出输入系统(BIOS)或者操作系统。微处理器100的各种特征的状态包括藉由减少每一时钟的指令率以节省电源的动作。举例而言,基本输入输出系统可回应于被更新的一使用者禁能标志132,允许使用者对特别模块暂存器122进行写入,以禁能藉由减少每一时钟的指令率以节省电源的动作。
微处理器100亦包括多个熔丝124用以在微处理器100生产时被烧断,以致能或者禁能各种特征以及各种配置值(configuration value),包括致能或者禁能藉由减少每一时钟的指令率以节省电源的动作以及各种相关的参数。例如,哪一个藉由减少每一时钟的指令率以节省电源的动作会被启动。另外,熔丝124可在微处理器100生产时被烧断,以指出微处理器100是否支持多个性能操作状态或者仅支持单一性能操作状态。
微处理器100亦包括多个性能状态切换计数器128(performance statechangerequest counters)用以计算微处理器被系统软件要求改变不同性能操作状态的次数。另外,微处理器100包括多个计数器134用以在微处理器100操作在每一其可支持的性能操作状态下的一最近的既定时间周期(例如,最近的100,000个核心时钟周期),计算时间量(例如.,核心时钟周期量)。
图3是本发明图2所示的微处理器100的操作流程图。流程开始于步骤302。
在步骤302中,微处理器100被命令进入其最低性能操作状态,其中进入最低性能操作状态的指令是系统软件在微处理器100仍操作在正常操作状态下希望微处理器100操作于其最低电源消耗的阶级的指示,其中正常操作状态可为非睡眠状态或者操作相关于电源节省动作的睡眠状态。在一实施例中,最低性能操作状态表示将微处理器100操作在其支持的最低核心时钟频率。另外,该命令可来自于系统软件,例如,当对特别模块暂存器122进行写入时,微处理器100调用微码142以回应此写入。另外,该命令可来自于微处理器100本身。例如,微码142可检测到将微处理器操作于其所支持的最低核心时钟频率的一原因。流程进行至步骤304。
在步骤304中,微处理器100测试多个既定条件中的至少一个是否存在,以决定是否启动藉由减少每一时钟的指令率以节省电源的动作,例如一个或者多个如上所述的既定情况。举例而言:(1)微处理器100可检验性能状态切换计数器128以决定工作系统是否支持多个性能操作状态。在一实施例中,微处理器100可检验熔丝124和/或特别模块暂存器122,以判断微处器100是否支持多个性能操作状态。(2)微处理器检验操作系统是否支持多个性能操作状态。(3)微处理器100可检验使用者禁能标志132,已决定使用者是否禁能藉由减少每一时钟的指令数以节省电源的动作。(4)微处理器100可检验计数器134所计算的性能状态操作的时间(或者其它微处理器100的指标),以决定微处理器100操作于一较高性能操作状态的时间是否不超过在步骤302接收到要求之前的一既定时间周期,以将微处理器100切换至其最低性能操作状态,其中每一较高性能操作状态可分别具有不同的既定时间周期。在另一实施例中,微处理器100可检验计数器134所计算的性能操作状态操作的时间(或者其它微处理器100的指标),并且根据每一性能操作状态所花费的时间计算一加权平均,以获得一计算分数,以判断该计算分数是否小于一既定分数。(5)检验微处理器操作于最低性能操作状态的时间,是否超过最近的一既定时间周期至少一既定百分比。在一实施例中,只要有一个既定情况存在,即可启动藉由减少每一时钟的指令率以节省电源的动作。在另一实施例中,两个或者更多的既定情况存在,也可启动藉由减少每一时钟的指令率以节省电源的动作。其它可判断何时发启藉由减少每一时钟的指令率以节省电源的动作的既定条件的组合的其他实施例,皆为本发明的范畴。各种既定情况的组合可经由熔丝124和/或微码142设置;再者,上述的既定情况的组合可经由写入特别模块暂存器122覆盖。在一实施例中,微码142在步骤304中执行。流程进行至步骤306。
在判断步骤306中,微处理器100使用在步骤304中所获得的信息,判断是否有足够的既定情况存在,以启动藉由减少每一时钟的指令率以节省电源的动作。当微处理器100判断既定情况足够时,流程进行至步骤308;否则,流程结束于步骤306。
在步骤308中,微处理器100启动一个或者多个藉由减少每一时钟的指令率以节省电源的动作,例如上述的动作。在一实施例中,微码142写入控制暂存器126,以提供各种功能性单元的控制输入,例如,指令格式器104、指令转译器108、暂存器别名表112、指令发送单元114、执行单元116、存储器子系统138以及指令退回单元118。举例而言,微处理器100可有以下的动作。(1)微处理器100藉由执行单元122根据程序顺序执行指令,取代原本的不根据程序顺序执行。(2)微处理器100藉由指令发送单元114发送单一指令,取代原本的多个指令的发送。(3)微处理器100藉由指令格式器104在一个时钟周期仅格式化一个指令,取代原本在一个时钟周期格式化多个指令。(4)微处理器100以串行方式存取快取存储器144/146,取代原本以平行方式进行存取。(5)微处理器100藉由指令转译器108在每一时钟周期仅转译一个巨集指令,取代原本在每一时钟周期转译多个巨集指令。(6)微处理器100藉由指令退回单元118在每一时钟周期仅退回一个指令,取代原本在每一时钟周期退回多个指令。在一实施例中,在步骤308,微处理器100是以逐步方式(step-wise fashion)启动藉由减少每一时钟的指令率以节省电源的动作。换言之,微处理器100启动一个或者多个藉由减少每一时钟的指令率以节省电源的动作一段时间后,再开启其它另外的藉由减少每一时钟的指令率以节省电源的动作,依此类推,直到所有藉由减少每一时钟的指令率以节省电源的动作都已启动或者系统软件命令微处理器100进入非最低性能操作状态外的其它状态为止。其中,非最低性能操作状态外的其它状态可为一睡眠状态或者一较高性能操作状态,而较高性能操作状态的性能表现状态优于最低性能操作状态。流程结束于步骤308。
虽然本发明已经由数个实施例揭示如上,但其仅用以作为例子,并非用以限定本发明。本领域技术人员应能理解,在不脱离本发明的精神的前提下,可对本发明作些许更动。举例而言,软件能够致能本发明的装置和方法的功能、制造、模型建立、模拟、各种性质,和/或测试。其能够藉由不同的程序语言而达成,例如程序语言(如C、C++)、硬件描述语言(hardware description language,HDL,如Verilog HDL、VHDL),或是其他可能的程序语言。上述软件能够设置于任何已知的计算机可读取储存媒体(computer usable medium),例如半导体、磁盘,或光盘(如CD-ROM、DVD-ROM)。本发明的装置和方法可能包括于任何半导体知识产权核心(semiconductor IP core)之内,例如(以HDL嵌入的)微处理器核心,或是当集成电路制造时,转移至硬件。此外,本发明可能藉由硬件和软件的组合而实现。因此,本发明不应被此处所述的任何实施例所限制,本发明应该是根据本发明的权利要求与其等效的装置/方法而被定义。特别的是,本发明能够设置于一般用途计算机的微处理器装置内。最后,本领域的技术人员应能理解到:在不脱离由本发明权利要求定义的本发明范畴的前提下,其能够以本发明揭示的概念和特定的实施例作为基础,用以设计或修改其他架构来执行与本发明相同的目的。

Claims (22)

1.一种微处理器,包括:
多个功能性单元;以及
多个控制暂存器,可进行写入以致使上述功能性单元启动一个或者多个动作,其中上述动作是用以当上述微处理器操作于一最低性能操作状态并且多个既定情况中的至少一个存在时,降低每一时钟的指令率,以减少上述微处理器的电源消耗;
其中,上述最低性能操作状态包括一非睡眠状态,并且上述微处理器在上述非睡眠状态中操作于上述微处理器所支持的最低时钟频率,
其中上述功能性单元包括一指令格式器,其中用以减少电源消耗的上述一个或者多个动作包括:
上述指令格式器由每一时钟周期格式化由从一指令快取存储器所撷取的字节串流的多个指令,切换为每一时钟周期格式化由从上述指令快取存储器所撷取的字节串流的一个指令,其中从上述指令快取存储器所撷取的字节串流包括多个可变长度指令,其中上述格式化的步骤包括决定从上述指令快取存储器所撷取的字节串流中的上述可变长度指令间的边界,
其中上述多个既定情况包括:
一计算分数小于一既定分数,其中上述计算分数是根据多个较高性能操作状态中的每一个所花费的时间的一加权平均所计算获得的,每一较高性能操作状态分别具有不同的既定时间周期,
其中上述多个既定情况包括:
最近一次转换到上述最低性能操作状态前,上述微处理器操作于上述多个较高性能操作状态中的一最高性能操作状态的时间不超过一既定时间周期。
2.根据权利要求1所述的微处理器,其中上述一个或者多个动作包括:
上述功能性单元由不根据程序顺序执行指令,切换为根据程序顺序执行指令。
3.根据权利要求1所述的微处理器,其中上述功能性单元包括一指令发送单元,其中用以减少电源消耗的上述一个或者多个动作包括:
上述指令发送单元由每一时钟周期发送多个指令,切换为每一时钟周期发送一个指令。
4.根据权利要求1所述的微处理器,其中上述功能性单元包括一指令退回单元,其中用以减少电源消耗的上述一个或者多个动作包括:
上述指令退回单元由每一时钟周期退回多个指令,切换为每一时钟周期退回一个指令。
5.根据权利要求1所述的微处理器,其中上述功能性单元包括一存储器子系统,其中用以减少电源消耗的上述一个或者多个动作包括:
上述存储器子系统由以平行方式存取上述微处理器的多个快取存储器,切换为由串行方式存取上述微处理器的上述快取存储器。
6.根据权利要求1所述的微处理器,其中上述功能性单元包括一指令转译器,其中用以减少电源消耗的上述一个或者多个动作包括:
上述指令转译器由每一时钟周期将多个巨集指令转译为多个微指令,转换为每一时钟周期将一个巨集指令转译为多个微指令。
7.根据权利要求6所述的微处理器,其中用以减少电源消耗的上述一个或者多个动作包括:
上述指令转译器在将上述巨集指令转译为多个微指令的过程中,禁能指令熔断。
8.根据权利要求1所述的微处理器,其中上述多个既定情况包括:
上述微处理器操作于上述最低性能操作状态的时间,超过最近的一既定时间周期至少一既定百分比。
9.根据权利要求1所述的微处理器,其中上述多个既定情况包括:
上述微处理器支持多个性能操作状态。
10.根据权利要求1所述的微处理器,其中上述多个既定情况包括:
上述微处理器检测到操作于上述微处理器的一操作系统支持多个性能操作状态。
11.根据权利要求1所述的微处理器,其中上述多个既定情况包括:
上述微处理器的一使用者没有相应于所接收用以进入上述最低性能操作状态的命令,禁能用以降低上述微处理器的每一时钟的指令率的上述一个或者多个动作。
12.一种省电方法,其中上述省电方法适用于一微处理器,包括:
接收用以致使上述微处理器进入一最低性能操作状态的一命令,其中上述最低性能操作状态包括一非睡眠状态,并且上述微处理器在上述非睡眠状态中操作于上述微处理器所支持的最低时钟频率;
决定多个既定情况中的至少一个是否存在;以及
当上述既定情况中的至少一个存在时,启动用以减少电源消耗的一个或者多个动作,其中上述动作是当上述微处理器相应于所接收用以进入上述最低性能操作状态的上述命令而操作于上述最低性能操作状态时,降低上述微处理器每一时钟的指令率,
其中用以减少电源消耗的上述一个或者多个动作还包括:
由每一时钟周期格式化从一指令快取存储器所撷取的字节串流的多个指令,切换为每一时钟周期格式化从上述指令快取存储器所撷取的字节串流的一个指令,其中从一指令快取存储器所撷取的字节串流包括多个可变长度指令,其中上述格式化的步骤还包括决定从一指令快取存储器所撷取的字节串流中的上述可变长度指令间的边界,
其中上述多个既定情况包括:
一计算分数小于一既定分数,其中上述计算分数是根据多个较高性能操作状态中的每一个所花费的时间的一加权平均所计算获得的,每一较高性能操作状态分别具有不同的既定时间周期,
其中上述多个既定情况包括:
最近一次转换到上述最低性能操作状态前,上述微处理器操作于上述多个较高性能操作状态中的一最高性能操作状态的时间不超过一既定时间周期。
13.根据权利要求12所述的省电方法,其中用以减少电源消耗的上述一个或者多个动作包括:
由不根据程序顺序执行指令,切换为根据程序顺序执行指令。
14.根据权利要求12所述的省电方法,其中用以减少电源消耗的上述一个或者多个动作包括:
由每一时钟周期发送多个指令,切换为每一时钟周期发送一个指令。
15.根据权利要求12所述的省电方法,其中用以减少电源消耗的上述一个或者多个动作包括:
由每一时钟周期退回多个指令,切换为每一时钟周期退回一个指令。
16.根据权利要求12所述的省电方法,其中用以减少电源消耗的上述一个或者多个动作包括:
由以平行方式存取上述微处理器的多个快取存储器,切换为由串行方式存取上述微处理器的上述快取存储器。
17.根据权利要求12所述的省电方法,其中用以减少电源消耗的上述一个或者多个动作还包括:
每一时钟周期将多个巨集指令转译为多个微指令,转换为每一时钟周期将一个巨集指令转译为多个微指令。
18.根据权利要求17所述的省电方法,其中用以减少电源消耗的上述一个或者多个动作还包括:
在将上述巨集指令转译为多个微指令的过程中,禁能指令熔断。
19.根据权利要求12所述的省电方法,其中上述多个既定情况包括:
上述微处理器操作于上述最低性能操作状态的时间,超过最近的一既定时间周期至少一既定百分比。
20.根据权利要求12所述的省电方法,其中上述多个既定情况包括:
上述微处理器支持多个性能操作状态。
21.根据权利要求12所述的省电方法,其中上述多个既定情况包括:
上述微处理器检测到操作于上述微处理器的一操作系统支持多个性能操作状态。
22.根据权利要求12所述的省电方法,其中上述多个既定情况包括:
上述微处理器的一使用者没有相应于所接收用以进入上述最低性能操作状态的命令,禁能用以降低上述微处理器的每一时钟的指令率的上述一个或者多个动作。
CN201310087006.2A 2012-03-19 2013-03-19 在运行状态下藉由减少每个时钟的指令率的省电操作 Active CN103279183B (zh)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US201261612437P 2012-03-19 2012-03-19
US61/612,437 2012-03-19
US201361755697P 2013-01-23 2013-01-23
US61/755,697 2013-01-23
US13/777,104 2013-02-26
US13/777,104 US9442732B2 (en) 2012-03-19 2013-02-26 Running state power saving via reduced instructions per clock operation

Publications (2)

Publication Number Publication Date
CN103279183A CN103279183A (zh) 2013-09-04
CN103279183B true CN103279183B (zh) 2017-06-06

Family

ID=48082844

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310087006.2A Active CN103279183B (zh) 2012-03-19 2013-03-19 在运行状态下藉由减少每个时钟的指令率的省电操作

Country Status (4)

Country Link
US (1) US9442732B2 (zh)
EP (1) EP2642368B1 (zh)
CN (1) CN103279183B (zh)
TW (1) TWI597600B (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10019260B2 (en) 2013-09-20 2018-07-10 Via Alliance Semiconductor Co., Ltd Fingerprint units comparing stored static fingerprints with dynamically generated fingerprints and reconfiguring processor settings upon a fingerprint match
US9330011B2 (en) 2013-09-20 2016-05-03 Via Alliance Semiconductor Co., Ltd. Microprocessor with integrated NOP slide detector
US9436265B2 (en) * 2013-10-24 2016-09-06 Fujitsu Limited Information processing apparatus and load control method
US9575778B2 (en) 2014-05-20 2017-02-21 Via Alliance Semiconductor Co., Ltd. Dynamically configurable system based on cloud-collaborative experimentation
US9755902B2 (en) 2014-05-20 2017-09-05 Via Alliance Semiconductor Co., Ltd. Dynamic system configuration based on cloud-collaborative experimentation
US9529727B2 (en) 2014-05-27 2016-12-27 Qualcomm Incorporated Reconfigurable fetch pipeline
KR102165265B1 (ko) * 2014-09-02 2020-10-13 삼성전자 주식회사 하드웨어 전력 관리 유닛을 이용하여 클락 신호를 조절할 수 있는 애플리케이션 프로세서와 이를 포함하는 장치들
WO2016097800A1 (en) * 2014-12-14 2016-06-23 Via Alliance Semiconductor Co., Ltd. Power saving mechanism to reduce load replays in out-of-order processor
GB2537852B (en) * 2015-04-28 2019-07-17 Advanced Risc Mach Ltd Controlling transitions of devices between normal state and quiescent state
CN106304293B (zh) * 2016-08-30 2019-08-30 广东美的制冷设备有限公司 WiFi模块的单片机控制方法和装置
US11281468B2 (en) * 2019-06-12 2022-03-22 Shanghai Zhaoxin Semiconductor Co., Ltd. Instruction execution method and instruction execution device
CN114253385A (zh) * 2020-09-25 2022-03-29 北京小米移动软件有限公司 移动终端的功耗管理方法、装置及计算机可读存储介质
US11460879B1 (en) 2021-06-25 2022-10-04 Advanced Micro Devices, Inc. System and method for controlling electrical current supply in a multi-processor core system via instruction per cycle reduction

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6275948B1 (en) * 1997-11-14 2001-08-14 Agere Systems Guardian Corp. Processor powerdown operation using intermittent bursts of instruction clock
CN1630845A (zh) * 2001-03-08 2005-06-22 先进微装置公司 采用耗电控制用功能节制机构的微处理器
CN101048722A (zh) * 2004-11-05 2007-10-03 国际商业机器公司 用于高性能微处理器的具有热操作码的指令集、微处理器和由此的方法
CN101652739A (zh) * 2007-04-10 2010-02-17 国际商业机器公司 在信息处理系统中当处理器遇到低置信度分支时通过对指令取回节流来节约功率的方法和装置

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6948050B1 (en) 1989-11-17 2005-09-20 Texas Instruments Incorporated Single integrated circuit embodying a dual heterogenous processors with separate instruction handling hardware
EP0610677A3 (en) 1993-02-12 1995-08-02 Ibm Communication device management module operating in two modes.
US6289396B1 (en) 1995-11-21 2001-09-11 Diamond Multimedia Systems, Inc. Dynamic programmable mode switching device driver architecture
US6240468B1 (en) 1998-12-18 2001-05-29 International Business Machines Corporation Interposed graphics device driver module processing function requests within module in standard mode, and passing function requests to specialized mode device driver in specialized mode
US6438557B1 (en) 1999-06-23 2002-08-20 Ericsson Inc. System and method for performing context switching and rescheduling of a processor
US6957437B1 (en) 1999-12-23 2005-10-18 Intel Corporation Selecting a device driver for a peripheral device adapted to operate on a network and simplifying secondary printer installation
US6732263B1 (en) 2000-06-12 2004-05-04 Altera Corporation Configuring both a programmable logic device and its embedded logic with a single serialized configuration bit stream
US8051301B2 (en) 2001-11-13 2011-11-01 Advanced Micro Devices, Inc. Memory management system and method providing linear address based memory access security
US20050044429A1 (en) * 2003-08-22 2005-02-24 Ip-First Llc Resource utilization mechanism for microprocessor power management
GB2396930B (en) 2002-11-18 2005-09-07 Advanced Risc Mach Ltd Apparatus and method for managing access to a memory
EP1460519B1 (en) * 2003-03-18 2014-05-07 Panasonic Corporation Processor, driving method thereof, and information processing device
US7240223B2 (en) * 2003-05-07 2007-07-03 Apple Inc. Method and apparatus for dynamic power management in a processor system
US7085942B2 (en) * 2003-05-21 2006-08-01 Agilent Technologies, Inc. Method and apparatus for defining an input state vector that achieves low power consumption in a digital circuit in an idle state
US7558723B2 (en) 2003-12-12 2009-07-07 Microsoft Corporation Systems and methods for bimodal device virtualization of actual and idealized hardware-based devices
US7167992B2 (en) 2003-12-18 2007-01-23 Lenovo Singapore Pte, Ltd. Method for controlling the switching of operating modes of an information processor according to the time of switching of the operating modes
US7987453B2 (en) 2004-03-18 2011-07-26 International Business Machines Corporation Method and apparatus for determining computer program flows autonomically using hardware assisted thread stack tracking and cataloged symbolic data
US7478388B1 (en) 2004-04-21 2009-01-13 Vmware, Inc. Switching between multiple software entities using different operating modes of a processor in a computer system
US7418582B1 (en) 2004-05-13 2008-08-26 Sun Microsystems, Inc. Versatile register file design for a multi-threaded processor utilizing different modes and register windows
US7779238B2 (en) 2004-06-30 2010-08-17 Oracle America, Inc. Method and apparatus for precisely identifying effective addresses associated with hardware events
US7366891B2 (en) 2004-12-30 2008-04-29 Intel Corporation Methods and apparatus to provide dual-mode drivers in processor systems
US7581037B2 (en) 2005-03-15 2009-08-25 Intel Corporation Effecting a processor operating mode change to execute device code
US7774531B1 (en) 2005-09-13 2010-08-10 Oracle America, Inc. Allocating processor resources during speculative execution using a temporal ordering policy
US20070226795A1 (en) 2006-02-09 2007-09-27 Texas Instruments Incorporated Virtual cores and hardware-supported hypervisor integrated circuits, systems, methods and processes of manufacture
US7636832B2 (en) 2006-10-26 2009-12-22 Intel Corporation I/O translation lookaside buffer performance
US8719807B2 (en) 2006-12-28 2014-05-06 Intel Corporation Handling precompiled binaries in a hardware accelerated software transactional memory system
US20080163212A1 (en) 2006-12-29 2008-07-03 Zimmer Vincent J Paralleled management mode integrity checks
US7962770B2 (en) 2007-12-19 2011-06-14 International Business Machines Corporation Dynamic processor reconfiguration for low power without reducing performance based on workload execution characteristics
US8566565B2 (en) * 2008-07-10 2013-10-22 Via Technologies, Inc. Microprocessor with multiple operating modes dynamically configurable by a device driver based on currently running applications
US20100058086A1 (en) * 2008-08-28 2010-03-04 Industry Academic Cooperation Foundation, Hallym University Energy-efficient multi-core processor
US8028181B2 (en) * 2008-09-19 2011-09-27 Intel Corporation Processor power consumption control and voltage drop via micro-architectural bandwidth throttling
US8219831B2 (en) 2009-01-28 2012-07-10 Oracle America, Inc. Reducing temperature and power by instruction throttling at decode stage of processor pipeline in time constant duration steps
US8321656B2 (en) 2009-06-13 2012-11-27 Phoenix Technologies Ltd. Timer use in extensible firmware interface compliant systems
US8332618B2 (en) 2009-08-07 2012-12-11 Via Technologies, Inc. Out-of-order X86 microprocessor with fast shift-by-zero handling
US8719510B2 (en) 2010-03-29 2014-05-06 Via Technologies, Inc. Bounding box prefetcher with reduced warm-up penalty on memory block crossings
US8504854B2 (en) * 2010-06-21 2013-08-06 Advanced Micro Devices, Inc. Managing multiple operating points for stable virtual frequencies
KR101510028B1 (ko) * 2010-12-21 2015-04-08 인텔 코포레이션 전력 관리를 위한 시스템 및 방법
US8972707B2 (en) 2010-12-22 2015-03-03 Via Technologies, Inc. Multi-core processor with core selectively disabled by kill instruction of system software and resettable only via external pin
US9372524B2 (en) * 2011-12-15 2016-06-21 Intel Corporation Dynamically modifying a power/performance tradeoff based on processor utilization

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6275948B1 (en) * 1997-11-14 2001-08-14 Agere Systems Guardian Corp. Processor powerdown operation using intermittent bursts of instruction clock
CN1630845A (zh) * 2001-03-08 2005-06-22 先进微装置公司 采用耗电控制用功能节制机构的微处理器
CN101048722A (zh) * 2004-11-05 2007-10-03 国际商业机器公司 用于高性能微处理器的具有热操作码的指令集、微处理器和由此的方法
CN101652739A (zh) * 2007-04-10 2010-02-17 国际商业机器公司 在信息处理系统中当处理器遇到低置信度分支时通过对指令取回节流来节约功率的方法和装置

Also Published As

Publication number Publication date
TWI597600B (zh) 2017-09-01
EP2642368A2 (en) 2013-09-25
CN103279183A (zh) 2013-09-04
EP2642368B1 (en) 2018-05-09
TW201342036A (zh) 2013-10-16
US20130311755A1 (en) 2013-11-21
EP2642368A3 (en) 2014-09-17
US9442732B2 (en) 2016-09-13

Similar Documents

Publication Publication Date Title
CN103279183B (zh) 在运行状态下藉由减少每个时钟的指令率的省电操作
TWI613593B (zh) 在微處理器中至多核心的微碼傳播
CN106155265B (zh) 有功率效率的处理器体系结构
CN105843362B (zh) 用于异构多核心系统的动态核心选择
TWI637316B (zh) 多核心微處理器動態重新配置
KR101451898B1 (ko) 지능형 전력 제어기
RU2520411C2 (ru) Устройство обработки данных и способ переключения рабочей нагрузки между первой и второй компоновкой схем обработки
CN102163072B (zh) 用于节能的基于软件的线程重映射
TW201510860A (zh) 多核心同步機制
Moura et al. Mining energy-aware commits
US7774626B2 (en) Method to control core duty cycles using low power modes
CN102057344A (zh) 睡眠处理器
CN104081315A (zh) 包括线程合并的用于能效和节能的方法、装置和系统
WO2006113067A2 (en) Apparatus and method for software specified power management performance using low power virtual threads
CN104077106A (zh) 具有原生切换机制的非对称多核心处理器
KR102372786B1 (ko) 아키텍처화된 상태 유지
EP2972826B1 (en) Multi-core binary translation task processing
WO2006024325A1 (en) Method for estimating power consumption
Pasha et al. System-level synthesis for wireless sensor node controllers: A complete design flow
Raval et al. Low-power TinyOS tuned processor platform for wireless sensor network motes
CN106020424B (zh) 有功率效率的处理器体系结构
Joo et al. Energy and performance optimization of demand paging with OneNAND flash
Bandri Anand Design and implementation of a sensor hub interface using an ARM cortex m0 processor
Anand Design and implementation of a sensor hub interface using an ARM cortex m0 processor
Mukherjee et al. Autonomous Power Management in Embedded Multi-Cores

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant