CN104094191B - 实时系统中的动态功率管理 - Google Patents

实时系统中的动态功率管理 Download PDF

Info

Publication number
CN104094191B
CN104094191B CN201380007629.2A CN201380007629A CN104094191B CN 104094191 B CN104094191 B CN 104094191B CN 201380007629 A CN201380007629 A CN 201380007629A CN 104094191 B CN104094191 B CN 104094191B
Authority
CN
China
Prior art keywords
processor
token
wake
task
time
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
CN201380007629.2A
Other languages
English (en)
Other versions
CN104094191A (zh
Inventor
S·李
S-H·崔
X·陆
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.)
Texas Instruments Inc
Original Assignee
Texas Instruments 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 Texas Instruments Inc filed Critical Texas Instruments Inc
Publication of CN104094191A publication Critical patent/CN104094191A/zh
Application granted granted Critical
Publication of CN104094191B publication Critical patent/CN104094191B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • 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/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • 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
    • 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
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Power Sources (AREA)

Abstract

一种动态睡眠控制器(220),其通过确定在处理器针对令牌时间段执行任务时的令牌时间段期间,处理器(CPU202)被置于低功率模式之后能够引起启动延迟的最大次数(令牌计数),降低计算机系统中的处理器(CPU202)的功耗。在处理器(CPU202)执行任务时,仅在分配给所述任务的令牌计数的当前值大于0时,响应于空闲指示符,处理器(CPU202)可以由发送到功率和时钟控制器(230)的睡眠请求信号(222)置于低功率模式。在每次响应于处理器从低功率模式唤醒,处理器引起启动延迟时,令牌计数的当前值递减。当前令牌计数被重置以在每个令牌时间段结束时匹配所分配的令牌计数。此外,唤醒可以预期以允许处理器(CPU202)被发送到中断控制器(210)的抢先唤醒信号(224)抢先唤醒,所述中断处理器将唤醒请求(214)发送到功率和时钟控制器(230)。

Description

实时系统中的动态功率管理
技术领域
本发明通常涉及用于实时控制系统的微控制器,并且具体地涉及降低微处理器使用的功率。
背景技术
实时控制系统中使用的计算机处理器通常使用互补型金属氧化物半导体(CMOS)工艺制造。在CMOS电路中,功耗与频率和电源电压的平方的乘积成比例。降低处理器的工作频率和/或其电源电压能够获得显著的能耗和热量消散的节省。在实时系统中,在没有执行任务的空闲时间段期间,处理器可以被置于低功率模式(LPM)。在LPM中时,处理器消耗较少功率。如果处理器接收请求恢复执行,处理器可以从LPM中唤醒,并且处理器将返回到正常功率状态并恢复处理。
附图说明
图1A-1C比较具有常规和动态功率管理的CPU活动;
图2示出基于动态睡眠控制器(DSC)的CPU功率管理的方框图;
图3A-3C示出用于动态功率管理的令牌使用的时序图;
图4是睡眠决策映射的示意图;
图5是唤醒时隙决策映射的示意图;
图6示出唤醒请求直方图的形式;
图7示出图2的微处理器可以包括有性能监测单元的方框图;
图8是包括动态功率管理的示例性SoC的方框图;以及
图9示出动态功率管理的操作的流程图。
具体实施方式
在此描述的一种方法有效地利用处理器的低功率模式(LPM)以降低处理器的功耗。当处理器空闲时,处理器可以进入LPM,在此期间,处理器提供低性能或甚至零性能,并消耗较少功率。当处理器接收请求恢复执行时,处理器从LPM唤醒,并且处理器将返回正常功率状态并恢复处理。
使用LPM的一个问题在于它需要一些时间将处理器从LPM唤醒到正常状态。这种延迟引起正由处理器执行的任务的处理延迟。在具有硬性任务截止期限的实时系统中,所述处理延迟能够对整个系统性能产生不利影响。
现将描述一种方法,其限定总的处理延迟以限制性能降低并最大化处理器的LPM使用。在此描述一种动态功率管理系统,其允许使用LPM,即使在实时任务活跃运行时。使用令牌方案能够通过唤醒延迟以限定性能降低,以使CPU中正运行的任务仍然满足它们的截止期限。也可以使用预测方案,其能够通过监测CPU的活动图案(pattern,模式/图案)而最大化LPM的使用。
使用低功率模式(LPM)涉及状态转换开销。通过将状态从LPM转换到正常状态所花费的延迟被称为唤醒延迟。唤醒延迟基于LPM中所用的机制类型。例如,如果LPM仅使用时钟门控特征件,则唤醒过程涉及释放时钟门控信号;因此,唤醒延迟能够低至几个时钟周期。另一方面,如果LPM使用功率门控,其中,在从正常状态转换到LPM期间,处理器在另一个安全或非易失性存储器中保存内部上下文(context),则唤醒延迟包括会花费几毫秒的上下文恢复时间。通常,消耗较少功率的LPM需要更长的唤醒延迟。
如果LPM的唤醒延迟可忽略,则每当处理器空闲时处理器可以进入LPM,并在唤醒请求(诸如,唤醒中断)事件中将其唤醒。然而,通常唤醒延迟不可忽略,并且该延迟能够不利影响系统的整体性能,因为该延迟使处理器的任务执行时间延迟。
因此,先前的功率节省典型案例仅在处理器中的应用程序运行在显然能够在唤醒请求的时间上容许的唤醒延迟的这种状态时,才将处理器置于LPM。换句话说,仅当实时任务没有活跃运行时才使用LPM。
图1A-1C比较具有常规和动态功率管理的CPU活动。图1A示出示例性实时任务的执行图案。在空闲时间段102、106期间,CPU没有执行活动任务。在活动时间段104期间,CPU执行任务,但在活动时间段104期间仍然可以存在空闲时间段。
图1B示出LPM的常规使用实例,其中,仅当应用程序明显不活动时(诸如在空闲时间段102、106期间)才使用LPM。当任务活动时,处理器保持在正常功率状态114。
图1C示出即使应用程序在处理器中活跃运行时使用LPM模式的方法,如124处一般示出的。
图2示出本发明的示例性实施例的方框图。动态睡眠控制器(DSC)220,其能够在软件或硬件中实施,在CPU 202空闲时,其监测被断言的cpu_idle信号204。当处理器执行空闲指令时,通常该信号被断言,所述空闲指令包括在正在执行的任务中或由操作系统执行(其是调度任务执行)。当断言cpu_idle(cpu空闲)时,DSC 220确定是否是进入LPM的好时机或是最好停留在正常状态。如果DSC 220确定是进入LPM的好时机,则断言睡眠请求(sleep_req)信号222。然后,功率和时钟控制器230将相应地通过改变时钟信号232和/或电源234电压电平将CPU置于LPM。
如果中断控制器210检测到任何非屏蔽的功能性中断212,则其断言唤醒请求(wakeup_req)信号214,并且功率和时钟控制器230通过恢复时钟信号232和/或电源电平234将CPU 202返回到正常功率状态。如早前提及的,CPU 202在返回执行任务之前还需要执行上下文恢复或其它内部管理任务。CPU 202还可以由DSC 220抢先唤醒。DSC 220能够通过断言抢先wakeup_int信号224唤醒CPU 202。如果通过抢先唤醒中断224唤醒CPU,以及如果在那之后其接着接收另一个功能性中断212,则CPU将能够处理功能性中断而不引起任何唤醒延迟,因为在接收功能性唤醒请求之前,响应于抢先唤醒请求,已经发生唤醒延迟。DSC在期望功能性中断很快发生时可以使用这种主动式唤醒机制。
DSC 220可以执行若干动态功率管理功能。当cpu_idle 204被断言时,DSC确定是否进入LPM。如果DSC确定选择LPM,则其也可以确定何时唤醒CPU。如果功能性中断212发生在断言抢先wakeup_int 224之前,则由于唤醒延迟,CPU将经历处理延迟,但是如果功能性中断212发生在抢先wakeup_int 224之后,则CPU将不经历唤醒延迟。
DSC 220管理唤醒延迟引起的处理延迟的累积,以使唤醒延迟不超过指定阈值。以这种方式,处理器中运行的任务满足它们的截止期限。可用于DSC 220的服务质量(QoS)策略226包含针对应用程序的信息。
DSC也可以尝试最大化LPM的使用。最小能量策略228包含一组指令,只要满足QoS策略,该组指令就试图尽可能多的使用LPM。如上面所讨论的,指令可以在下一个功能性唤醒请求之前抢先唤醒CPU,以消除唤醒延迟。此外,指令可以尝试尽可能晚地唤醒CPU,以最大化睡眠时间。最小能量策略在运行时间期间基于CPU的活动图案和QoS策略产生。
图2示出DSC仅管理一个CPU的一个实施例。在其它实施例中,只要DSC具有足够的带宽和资源处理许多CPU,就可以管理多个CPU。在一些多CPU结构中,它可以有助于使用通过总线互连件而不是专用硬线信号传递的总线事务命令实施信号(诸如sleep_req(睡眠请求)222、抢先wakeup_int 224和cpu_idle 204),以最小化信号路由并提供更好的可伸缩性。
服务质量策略
现在将详细描述QoS策略和最小能量策略的一个实施例。CPU处于LPM中并由功能性中断而不是抢先wake_int唤醒的情形在此处将被称为错误预测。在每个错误预测事件中,DSC未能预测正确的唤醒时间并且DSC未及时唤醒CPU。当错误预测发生时,任务处理将被延迟一定量的唤醒延迟。QoS策略描述系统能够容许这种错误预测多少次以及多长时间一次。
表1示出QoS策略226的一个实例。它包括多令牌约束。令牌约束包括两个参数:令牌数量和时间段。一个令牌意味着,CPU中运行的应用程序能够容许在每个指定时间段期间一次唤醒延迟发生引起的处理延迟。例如,表2中的令牌约束1指示系统能够容许每1毫秒令牌时间段两次唤醒延迟发生。因此,如果系统在1毫秒内已经经历两次唤醒延迟发生,DSC将在令牌时间段期间不再使用LPM,以避免任何附加的处理延迟。在下1毫秒令牌时间段期间,DSC可以再次使用LPM。然而,由于令牌约束2,在下1毫秒令牌时间段期间,它只能容许一次唤醒延迟的发生。因此,针对较长时间段(诸如10毫秒),分层令牌约束策略允许有待指定的若干唤醒延迟,并防止在短时间段中引发所有可允许的唤醒延迟。
令牌约束ID 令牌数量 令牌时间段
1 2 1毫秒
2 3 2毫秒
... ... ...
N 5 10毫秒
表1令牌约束
上述基于令牌的QoS策略有效地限定因使用LPM引起的性能降低。软实时应用程序(其具有吞吐量要求)能够使用基于令牌的QoS策略并保持高于某一阈值的性能。
基于令牌的QoS策略也非常有效地保证实时任务的截止期限。在实时系统中,任务Ti通常由(C,T,D)参数建模,其中C是最坏情况执行时间,T是任务时间段,并且D是相应Ti的相对截止期限。可以使用已知模拟和分析技术完成这种建模。
一旦确定每个任务的C、T和D参数,通过分析每个任务的延缓时间,可以计算每个任务的令牌约束。延缓时间是在最坏情况执行时间之后剩下的时间量。每个任务的延缓时间能够通过延缓时间除以LPM唤醒延迟被直接转化成令牌数量。如先前讨论的,LPM唤醒延迟基于处理器进入睡眠有多深。令牌时间段可以被选择以与任务的T参数相同。每个任务将产生一个令牌约束。在分析给定任务组之后,获得一组元组(TKi,Ti),其中TKi=任务i的令牌数量,并且Ti=任务i的参数T。如果TKi≤TKj以及Ti≥Tj,(TKi,Ti)是比(TKj,Tj)更严格的约束,那么(TKj,Tj)可以忽略。
最小能量策略
图3A-3C示出用于动态功率管理的令牌使用的时序图。最小能量策略228描述使用LPM的最优时序,以最大化CPU 202的睡眠时间。针对此实例,假设令牌约束(3,10毫秒)。图3A示出任务执行的一个10毫秒的令牌时间段。在该令牌时间段期间,存在四个突发任务执行活动301-304(插入有空闲时间段311-313)。在截止期限时间320之前,必须完成该任务活动。延缓时间314是任务处理304结束时和截止期限时间320之间的空闲时间段。在该实例中,唤醒延迟能够至少发生三次而不超过截止期限时间320。
在图3B中,三次唤醒延迟事件331-333在10毫秒的令牌时间段的中间发生,因此,CPU在该令牌时间段期间不能再次被置于LPM中,并因此在10毫秒持续时间的剩余时间335期间,保持在正常功率状态。
另一方面,图3C示出使用LPM的另一种方式,其中DSC能够使用LPM较长时间,从而节省额外的功率。在该实例中,当完成第一活动突发301时,DSC确定停留在正常状态。结果,第二活动突发302没有引起唤醒延迟。因此,在第二活动突发结束时,剩余令牌数仍然为两个,这是因为在活动图案301的唤醒期间使用了一个令牌。在第三活动图案303的唤醒期间,使用343第二令牌。
DSC 220在第四活动突发304之前成功地唤醒344CPU。因此,唤醒延迟未引起处理延迟。这意味着剩余令牌数仍然是一个。
当第四活动突发304完成时,DSC 220仍然具有一个剩余令牌。结果,它在10毫秒时间段345的剩余时间期间能够使用LPM。
因此,如图3B所示,能够看到,在任何令牌时间段期间,单独使用令牌以监控CPU能够被置于LPM中的频率使得功率节省。然而,如图3C所示,当最小能量策略也指定选择进入LPM的最优时序并基于剩余令牌数唤醒时,会使得增加能量节省。最小能量策略可以定义如下:
对于给定的剩余令牌计数,在每次CPU变成空闲时,最小能量策略告知是停留在正常功率状态还是进入LPM;
如果最小能量策略告知CPU进入LPM,则它也可以告知何时唤醒CPU。
在一个实施例中,最小能量策略可以使用两个表实施,其被称为图4所示的“睡眠决策映射(SDM)”400和图5所示的“唤醒时隙决策映射(wakeup_time_slot,WDM)”500。SDM和WDM将令牌时间段划分成较小的持续时间段(被称为时隙)。SDM描述每个时隙进入LPM的条件。该条件是令牌剩余的数量。例如,如果在时隙2(402)和Min_token[2]=3期间,CPU变成空闲,则DSC可以仅在令牌剩余数等于或大于3时才决定进入LPM。
DSC 220使用WDM 500决定每个时隙何时唤醒CPU。一旦DSC基于SDM 400决定进入LPM,其参考WDM 500以便决定何时唤醒CPU。WDM 500是二维阵列。对于阵列中的每项,wakeup_time_slot[w][x]是如果DSC在时隙x处决定使用LPM并且剩余令牌数是(w+1)则DSC在该时隙处应该唤醒CPU。
基于时隙的CPU活动监测
包括SDM 400和WDM 500的最小能量策略基于已知CPU活动图案。图6示出监测活动图案和收集统计数据的过程。在图6的实例中,监测CPU的空闲-活动事件。这是如果CPU处于LPM模式则唤醒CPU的事件,其是唤醒请求214,参考图2。
预定义令牌时间段530,并将该时间段划分成时隙。如果在某一时隙上出现唤醒请求,对应于时隙的计数器递增。例如,如在517a处所示,记录唤醒请求545用于时隙17。应注意,更精细的时隙意味着DSC操作的更精细分辨率。
针对每个时间段重复计数过程以形成指定数量的时间段上的直方图。例如,在下一个令牌时间段531期间,通过将计数递增到2,唤醒事件550被记录用于时隙17,如在517b处所示。在一定量的时间之后,计数过程停止,并且每个时隙的最终计数器值被转化成那个时隙中发生的唤醒请求的概率。所生产的针对该时隙的唤醒概率组在此被称为唤醒概率映射。
注意唤醒概率映射表示任务活动图案的历史,并且假设过去活动图案的这种统计将在某种程度上有效预测系统在不久的将来的行为。
应该选择唤醒概率映射的时间段,以使该时间段在某种程度上同步唤醒请求,否则,唤醒请求的概率分布可以是平坦的。
在具有不同时间段的多令牌约束的情况下,可以针对每个令牌约束建立唤醒概率映射。在这种情况下,不同的令牌约束可以关联到在处理器上正在执行的不同任务。任务ID可以由处理器提供给DSC以识别当前正在执行的是什么任务,如图2中的任务ID信号206所示。可替换地,例如,处理器202可以通过总线互连件将任务ID写入DSC 220。
在另一个实施例中,只要单个唤醒概率映射同步地捕获唤醒请求,就可以建立所述映射。例如,可以使用令牌时间段的最小公倍数。
SDM和WDM确定
如果DSC在时隙x将CPU置于LPM,并设置时隙x+a时唤醒,则能够预期的能量节省通过方程(1)给出。
能量节省期望值=
ELPM*(1-Px)+
ELPM*(1-Px)*(1-Px+1)+
ELPM*(1-Px)*(1-Px+1)*(1-Px+2)+...+
ELPM*(1-Px)*(1-Px+1)*(1-Px+2)*...*(1-Px+a-1)
(1)
其中:
ELPM=在一个时隙期间将CPU置于LPM的能量节省
Pk=时隙k中的唤醒请求概率
令牌未被消耗以使其能够在以后使用直到所述时间段结束的概率P由方程(2)给出。
P=(1-Px)*(1-Px+1)*(1-Px+2)*...*(1-Px+a-1) (2)
当多个令牌可用时,最终用完所有令牌并最大化睡眠时间的各种不同预案是可能的。
考虑所有可能的预案和与所述预案关联的概率,当CPU在时隙x时被置于LPM并且针对时隙x+a设置唤醒时隙时,能够计算能量节省的期望值。可以确定MinToken[x]和Wakeup_time_slot[w][x],从而最大化能量节省期望值。
更新统计数据
基于唤醒概率映射计算SDM和WDM。如上面提及的,唤醒概率映射表示任务活动图案的历史,假设这种历史图案可以在某种程度上有效地预测系统不久将来的行为。根据系统行为的动态,这种历史在长或短时间段期间可以是有效的。
随后的概率映射和随之发生的SDM和WDM能够连续建立,以表示系统行为的最新特性。然而,这种连续更新计算工作将使用额外能量,因此在实际功率节省和试图最大化功率节省之间会存在权衡。
图7是图2的系统可以包括有性能监测单元440的方框图。为了更新概率映射,可以期望具有性能监测单元440以监测DSC 220执行的情况。如果DSC 220没有执行良好,监测单元440可以触发重复建立概率映射和随之发生的SDM和WDM。
性能监测单元可以监测若干参数以评估DSC的性能。可以监测在DSC唤醒CPU 202之前CPU 202接收中断的平均次数。这表示DSC的唤醒机制工作的状况。可以监测CPU在LPM中花费的总睡眠时间相对CPU的总空闲时间。这表示DSC的睡眠决策机制和唤醒机制的工作状况。
性能监测单元可以通过断言警报信号442以提醒DSC,以便如果上述参数低于所选择的阈值时重复概率映射。
图8示出具有CPU 802的示例性专用集成电路片上系统(SOC)800的方框图。为了本公开的目的,有些通用术语“微处理器”(MCU)可用于应用到片上系统(SOC)上的任何复杂数字系统,所述片上系统可以包括一个或更多个处理模块802、存储器150和外部设备和/或DMA(直接存储器存取)控制器860。存储器模块150的至少一部分可以是非易失性的并保存由处理模块(一个或更多个)802执行的指令程序以执行系统应用。CPU 802也可以耦合到数据缓存和指令缓存,未示出。CPU 802耦合到系统总线852以存取大容量存储器150。外部设备860也耦合到系统总线852以允许CPU 802访问和控制。
SOC 800的拓扑和配置严格地旨在作为实例。本发明的其它实施例可以包括各种总线配置以用于互连存储器模块的各种组合、外部设备模块的各种组合及其多个处理器等。CPU 802可以是现在已知或以后开发的微处理器或微控制器的各种类型中的任何一种。例如,CPU 802可以是数字信号处理器、常规处理器或精简指令集处理器。如在此所用的,术语“微处理器”或CPU旨在指代片上系统内包括的任何处理器。
SOC 800耦合到实时子系统(RTS)870。RTS 870可以是电动机,例如,在这种情况下,SOC 800通过控制施加到多组定子绕组的电压而基于转子位置控制电动机速度和方向。在另一个实例中,RTS 870可以是用于播放由SOC 800从数字流转换的音频或音乐的扬声器。用于本文描述的目的,RTS 870是需要一些形式的硬件实时控制的现在已知的或以后开发的任何类型的设备或组件。
外部设备860的一个或更多个可以将控制信号或数据信号提供给RTS 870并且可以从RTS 870接收状态或其它信息。例如,如果RTS 870是电动机,则外部设备860可以从RTS870接收转子位置数据,所述RTS 870产生用于新的定子控制设置的中断。例如,SOC 800可以是汽车发动机控制系统的部分,并可以接收发动机位置和转速信息以及提供燃料和火花点火控制信号。
如另一个实例,如果RTS 870是扬声器,外部设备860可以将模拟声音信号提供给RTS 870。另一个外部设备模块可以存取音频数据的数字流,并在音频数据的新的帧可用时产生中断。例如,SOC 800可以是移动手机的部分,并经由蜂窝电话网络接收声音和音乐数字信号。
DSC 820可以如上述详细描述的那样操作,以控制到每个CPU 802的时钟和电压电平830。在一个实施例中,可以存在16个CPU 802,其通过DSC 820而提供有动态功率管理。在该示例中,DSC 820经由事务交叉总线852从各个CPU 802接收空闲指示。类似地,DSC 820经由事务交叉总线852将抢先唤醒中断发送到各个CPU 802。DSC 820可以实施为硬线逻辑、软件控制微处理器、状态机或执行如上述更详细描述的动态功率管理功能的其它类型的逻辑。
性能监测单元840也可以耦合到DSC 820以监测各个CPU 802的每个的DSC 820的性能,如上面更详细的描述。
图9示出用于动态降低计算机系统中的处理器的功耗的动态功率管理的操作流程图。902确定在处理器针对令牌时间段执行任务的令牌时间段期间被置于低功率模式之后能够引起启动延迟的最大次数。这通常在通过确定截止期限时间之前任务的延缓时间以及通过基于所选择的低功率模式的级别确定将要引发的唤醒延迟而设计并配置系统时完成。在一些实施例中,可以存在超过一种类型的低功率模式可以被选择。
根据所确定的针对所述任务处理器能够引起的启动延迟的最大次数,分配904任务的令牌计数。这通过任务的延缓时间除以唤醒延迟时间来完成。如先前描述的,启动延迟时间可以根据处理器被置于何种级别的低功率模式而改变。
执行906任务直到达到空闲点。在这一点,处理器将断言空闲信号以指示有用的处理已停止。如上面提及的,这可以响应于执行空闲指令,所述空闲指令是该任务的部分或是控制任务调度的操作系统的部分。
处理器在执行任务时,仅当分配给任务的令牌计数的当前值大于0时908才响应于空闲指示符,被置于低功率模式910。实际阈值数可以不同于零,这取决于直方图930捕获的处理器的活动图案。阈值也可以基于已经检测到空闲点的当前时隙值。图4是这种阈值策略的一个实例,其中时隙x的每个Min_token[x]基于直方图确定。
通过将处理器从低功率模式唤醒916而恢复任务的执行。例如,这通常作为系统内的设备或外部设备或计数器或定时器产生功能性中断的结果而发生。
在每次处理器响应于从低功率模式唤醒而引起启动延迟时,确定918任务的令牌计数的当前值。
当前令牌计数被重置924以在每个令牌时间段结束922时匹配所分配的令牌计数。
可以预期912处理器可能被唤醒的时间,并且接着处理器可以由动态睡眠控制器在所预期的时间之前抢先唤醒914,从而不引起启动延迟。在这种情况下,在处理器启动处理而未引起启动延迟时,保持915令牌计数器的当前值。即使处理器可能被唤醒,如果根据处理器可能未被唤醒的小概率,所预期的能量节省可能是值得使用令牌的,那么动态睡眠控制器可以决定不抢先唤醒处理器。
断言916唤醒中断信号以在处理器处于低功率模式时将处理器从低功率模式唤醒,并在处理器未进入低功率模式时重启任务执行920。
在令牌时间段期间,唤醒中断事件的直方图可以针对多个时隙被偶尔创建930。例如,直方图的每次重复可以响应于来自监测单元440的性能警报而完成。监测单元440可以确定在时间段期间,低功率模式中的总睡眠时间与处理器的总空闲时间的睡眠比,并且当睡眠比小于睡眠比阈值时,可以重置直方图。监测单元可以确定,在时间段期间,在抢先唤醒处理器之前接收到唤醒中断的次数的唤醒比(称为预测故障),然后在唤醒比大于唤醒比阈值时重置直方图。当监测单元计数预测故障时,可以忽略动态睡眠控制器故意不唤醒处理器912的情形,因为这不值得保存令牌。
可替换地,例如,直方图可以以系统设计期间确定的周期性速度重置。通常情况下,直方图将排除动态睡眠控制器产生的抢先唤醒请求。
具有高于阈值的直方图值的时隙可以被选为处理器可能被唤醒时912的预期时间。
在创建直方图930之后,DSC可以针对直方图的每个时隙确定潜在能量节省,所述能量节省可通过保存用于以后使用的令牌来实现。例如,当处理器处于低功率模式时,如果直方图指示处理器在时隙期间可能由唤醒中断唤醒以及如果通过保存用于以后使用的令牌能够实现的潜在能量节省很可能高于通过在时隙上继续睡眠可能实现的能量节省,所述时隙可以被选为912抢先唤醒时隙,并且动态睡眠控制器断言914抢先唤醒请求,如关于方程(1)和(2)通过使用SDM 400和WDM 500所详细解释的。
其它实施例
尽管已经参考说明性实施例描述了本发明,但是这种描述并不旨在被解释为限制含义。对于本领域的技术人员而言,在参考本描述之后,本发明的各种其它实施例将是明显的。例如,单个DSC可以为单个处理器或片上系统内的多处理器内核提供动态功率控制。
在此描述的动态睡眠管理器和方法的实施例可以提供给任意若干类型的数字系统:数字信号处理器(DSP)、通用可编程处理器、专用电路或片上系统(SoC),诸如DSP和精简指令集(RISC)处理器以及各种专用加速器的组合。板载或外部(闪存EEP)ROM或FRAM中存储的程序可用于实施动态功率管理的各个方面。
本公开所述的技术可以以硬件、软件、固件或其任何组合实施。如果以软件实施,则可以在一个或更多个处理器(诸如,微处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或数字信号处理器(DSP))中执行该软件。执行这种技术的软件可以初始存储在计算机可读介质(诸如光盘(CD)、磁盘、磁带、文件、存储器或任何其它计算机可读存储设备)中,并在处理器中加载和执行。在一些情况下,软件还可以以计算机程序产品的形式出售,所述计算机程序产品包括计算机可读介质和用于计算机可读介质的封装材料。在一些情况下,软件指令可经由可移动计算机可读介质(例如,软盘、光盘、闪存存储器、USB密钥)分发、经由来自另一个数字系统上的计算机可读介质的传输路径等分发。
本领域的技术人员将认识到,在所要求保护的本发明的范围内,可以对所述实施例进行修改,并且许多其它实施例也是可能的。

Claims (10)

1.一种用于动态降低计算机系统中的处理器的功耗的方法,所述方法包括:
在所述处理器针对令牌时间段执行任务时的所述令牌时间段期间,确定所述处理器在被置于低功率模式中之后能够引起启动延迟的最大次数;
根据所确定的所述处理器针对所述任务能够引起启动延迟的最大次数,为所述任务分配令牌计数;
执行所述任务直到到达空闲点;
在所述处理器执行所述任务时,仅在分配给所述任务的所述令牌计数的当前值大于零时,才响应于空闲指示符将所述处理器置于所述低功率模式中;
通过将所述处理器从所述低功率模式唤醒以恢复所述任务的执行;
在每次所述处理器响应于从所述低功率模式唤醒而引起启动延迟时,递减所述任务的所述令牌计数的所述当前值;以及
重置所述令牌计数的所述当前值以在每个令牌时间段结束时匹配所分配的令牌计数;
断言唤醒中断信号以在所述处理器处于低功率模式时将所述处理器从所述低功率模式唤醒;
在多个时隙的所述令牌时间段期间,创建唤醒中断事件的直方图;
针对所述直方图的每个时隙,确定通过保存用于以后使用的令牌能够实现的潜在能量节省;以及
其中当所述处理器处于低功率模式时,如果所述直方图指示在一个时隙期间所述处理器将由唤醒中断唤醒,以及如果通过保存用于以后使用的令牌能够实现的潜在能量节省高于通过在所述时隙上继续睡眠可能实现的能量节省,则所述时隙被选为抢先唤醒时隙,并且由动态睡眠控制器断言抢先唤醒请求。
2.根据权利要求1所述的方法,其中所述直方图排除所述动态睡眠控制器产生的抢先唤醒请求。
3.根据权利要求1所述的方法,其中延缓时间分析用于确定所述处理器针对所述任务能够引起启动延迟的所述最大次数。
4.根据权利要求1所述的方法,其中所述计算机系统包括耦合到单个动态睡眠控制器的多个处理器内核,其中所述动态睡眠控制器负责在所述多个处理器内核执行相应任务时,将所述多个处理器内核的每个置于低功率模式。
5.一种计算机系统,其包括:
处理器,其耦合到存储器,其中所述处理器经配置以执行存储在所述存储器中的软件任务;
中断控制器,其耦合到所述处理器,其中所述中断控制器经配置以将唤醒请求信号提供给功率控制器,其中所述功率控制器经配置以将所述处理器置于低功率模式;和
动态睡眠控制器,其被耦合以接收来自所述处理器的空闲信号,其中所述动态睡眠控制器经配置以:
将信号发送到所述功率控制器,从而仅当分配给所述任务的令牌计数的当前值大于零时,才响应于空闲指示符将所述处理器置于所述低功率模式,其中所述令牌计数指示,在所述处理器针对令牌时间段执行任务时的所述令牌时间段期间,被置于低功率模式之后所述处理器能够引起启动延迟的最大次数;
在每次所述处理器响应于从所述低功率模式唤醒而引起启动延迟时,递减所述任务的所述令牌计数的所述当前值;以及
重置所述令牌计数的所述当前值以在每个令牌时间段结束时匹配所分配的令牌计数,其中所述动态睡眠控制器进一步经配置以:
在多个时隙的所述令牌时间段期间,创建唤醒中断事件的直方图;
针对所述直方图的每个时隙,确定通过保存用于以后使用的令牌能够实现的潜在能量节省;以及
其中当所述处理器处于低功率模式时,如果所述直方图指示在一个时隙期间所述处理器将由唤醒中断唤醒,以及如果通过保存用于以后使用的令牌能够实现的潜在能量节省高于通过在所述时隙上继续睡眠可能实现的能量节省,则所述时隙被选为抢先唤醒时隙并且由动态睡眠控制器断言抢先唤醒请求。
6.根据权利要求5所述的系统,其中所述动态睡眠控制器进一步经配置以在创建所述直方图时排除所述动态睡眠控制器产生的抢先唤醒请求。
7.根据权利要求5所述的系统,其中所述动态睡眠控制器进一步经配置以确定在令牌时间段期间所述低功率模式中的总睡眠时间与所述处理器的总空闲时间的睡眠比;以及当所述睡眠比小于睡眠比阈值时重置所述直方图。
8.根据权利要求5所述的系统,其中所述动态睡眠控制器进一步经配置以确定在令牌时间段期间,在抢先唤醒所述处理器之前,接收到多少次唤醒中断的唤醒比;以及当所述唤醒比大于唤醒比阈值时重置所述直方图。
9.根据权利要求5所述的系统,其中,多个处理器耦合到所述动态睡眠控制器用于动态功率控制。
10.根据权利要求5所述的系统,进一步包括实时子系统,其耦合到所述处理器,其中,处理器正在执行的所述任务启动用于所述实时子系统的实时控制信号。
CN201380007629.2A 2012-02-01 2013-02-01 实时系统中的动态功率管理 Active CN104094191B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/363,949 US8775838B2 (en) 2012-02-01 2012-02-01 Limiting the number of unexpected wakeups in a computer system implementing a power-saving preemptive wakeup method from historical data
US13/363,949 2012-02-01
PCT/US2013/024474 WO2013116751A1 (en) 2012-02-01 2013-02-01 Dynamic power management in real-time systems

Publications (2)

Publication Number Publication Date
CN104094191A CN104094191A (zh) 2014-10-08
CN104094191B true CN104094191B (zh) 2017-06-23

Family

ID=48871380

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380007629.2A Active CN104094191B (zh) 2012-02-01 2013-02-01 实时系统中的动态功率管理

Country Status (4)

Country Link
US (1) US8775838B2 (zh)
JP (1) JP6125539B2 (zh)
CN (1) CN104094191B (zh)
WO (1) WO2013116751A1 (zh)

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8812761B2 (en) * 2011-10-28 2014-08-19 Apple Inc. System and method for adjusting power usage to reduce interrupt latency
US9104423B2 (en) * 2012-05-16 2015-08-11 Nvidia Corporation Method and system for advance wakeup from low-power sleep states
US9015510B2 (en) * 2012-06-29 2015-04-21 Intel Corporation Optimizing energy efficiency using device idle duration information and latency tolerance based on a pre-wake configuration of a platform associated to the device
US9395799B2 (en) 2012-08-09 2016-07-19 Nvidia Corporation Power management techniques for USB interfaces
US9760150B2 (en) 2012-11-27 2017-09-12 Nvidia Corporation Low-power states for a computer system with integrated baseband
CN103857019B (zh) 2012-11-30 2018-01-02 辉达公司 一种在移动终端中用于省电的方法
US9213390B2 (en) * 2012-12-28 2015-12-15 Intel Corporation Periodic activity alignment
JP6175980B2 (ja) * 2013-08-23 2017-08-09 富士通株式会社 Cpuの制御方法、制御プログラム、情報処理装置
US9459683B2 (en) * 2013-09-27 2016-10-04 Intel Corporation Techniques for entering a low power state
CN103577736B (zh) * 2013-11-07 2017-02-15 上海动联信息技术股份有限公司 一种低功耗的动态令牌以及动态口令生成方法
US9510283B2 (en) * 2014-01-24 2016-11-29 Starkey Laboratories, Inc. Systems and methods for managing power consumption in a wireless network
US20150355942A1 (en) * 2014-06-04 2015-12-10 Texas Instruments Incorporated Energy-efficient real-time task scheduler
US20160187958A1 (en) * 2014-12-24 2016-06-30 Intel Corporation Techniques for managing power and performance for a networking device
US10261569B2 (en) * 2015-05-01 2019-04-16 Qualcomm Incorporated Universal serial bus (USB) host and client devices for supporting scheduled low-power operations
US9465664B1 (en) 2015-09-09 2016-10-11 Honeywell International Inc. Systems and methods for allocation of environmentally regulated slack
US10379560B2 (en) * 2015-10-05 2019-08-13 Savant Systems, Llc Home automation system device power optimization
US20170168853A1 (en) * 2015-12-14 2017-06-15 Qualcomm Incorporated Dynamic predictive wake-up techniques
US20170177068A1 (en) * 2015-12-17 2017-06-22 Intel Corporation Systems, methods and devices for standby power savings
CN106055079B (zh) * 2016-05-31 2017-11-24 广东欧珀移动通信有限公司 一种中央处理器的管理方法、及装置
CN107515662B (zh) * 2016-06-15 2020-05-15 深圳市博巨兴微电子科技有限公司 一种面向键控类应用的mcu芯片中低功耗管理方法
US10275008B2 (en) * 2016-09-22 2019-04-30 Intel Corporation Methods and apparatus to reduce computing device power consumption
US10462059B2 (en) 2016-10-19 2019-10-29 Intel Corporation Hash table entries insertion method and apparatus using virtual buckets
CN106534175B (zh) * 2016-12-07 2019-06-21 西安电子科技大学 基于OAuth协议的开放平台授权认证系统及方法
WO2018112925A1 (zh) * 2016-12-23 2018-06-28 北京金山安全软件有限公司 信息显示方法、装置及终端设备
KR102576707B1 (ko) * 2016-12-26 2023-09-08 삼성전자주식회사 전자 시스템 및 그 동작 방법
CN106708246A (zh) * 2017-01-18 2017-05-24 深圳市博巨兴实业发展有限公司 一种基于dsp的soc低功耗控制方案
US10423209B2 (en) 2017-02-13 2019-09-24 Apple Inc. Systems and methods for coherent power management
US10747298B2 (en) * 2017-11-29 2020-08-18 Advanced Micro Devices, Inc. Dynamic interrupt rate control in computing system
CN107943746A (zh) * 2017-12-08 2018-04-20 建荣半导体(深圳)有限公司 可编辑的电源管理方法、电源管理模块及片上系统
KR102453689B1 (ko) * 2017-12-13 2022-10-11 삼성전자주식회사 주기적 프로세스 처리 시스템 및 시스템 온 칩
US10613619B2 (en) * 2017-12-15 2020-04-07 Google Llc Ultra-low power mode for a low-cost force-sensing device
JP6793316B2 (ja) * 2018-03-30 2020-12-02 パナソニックIpマネジメント株式会社 電子機器、制御方法、及び、プログラム
US11201739B2 (en) * 2019-05-02 2021-12-14 Shopify Inc. Systems and methods for tying token validity to a task executed in a computing system
US11567527B2 (en) * 2019-07-23 2023-01-31 Texas Instruments Incorporated Preemptive wakeup circuit for wakeup from low power modes
CN110912794B (zh) * 2019-11-15 2021-07-16 国网安徽省电力有限公司安庆供电公司 基于令牌集的近似匹配策略
WO2024013831A1 (ja) * 2022-07-11 2024-01-18 日本電信電話株式会社 タスクスケジューラ装置、計算システム、タスクスケジューリング方法およびプログラム
CN117632521B (zh) * 2024-01-26 2024-05-03 中电云计算技术有限公司 后台任务的cpu利用率控制方法、装置、设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1054496A (zh) * 1989-10-30 1991-09-11 德克萨斯仪器股份有限公司 便携式计算机实时的功率储存
US6748546B1 (en) * 2000-09-26 2004-06-08 Sun Microsystems, Inc. Method and apparatus for reducing power consumption
US7962314B2 (en) * 2007-12-18 2011-06-14 Global Foundries Inc. Mechanism for profiling program software running on a processor

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR0174356B1 (ko) 1996-03-13 1999-04-01 이정식 퍼스널컴퓨터의 전력제어방법 및 그 장치
US6085325A (en) 1996-12-16 2000-07-04 Intel Corporation Method and apparatus for supporting power conservation operation modes
JP2004528613A (ja) * 2000-09-26 2004-09-16 サン・マイクロシステムズ・インコーポレイテッド 電力消費を減らす方法および装置
JP4095501B2 (ja) 2003-06-25 2008-06-04 インターナショナル・ビジネス・マシーンズ・コーポレーション コンピュータ装置、無線アクセスポイント、無線ネットワークを介した電源投入方法、フレーム聴取方法、フレーム送信方法、およびプログラム
KR100932920B1 (ko) 2007-12-17 2009-12-21 한국전자통신연구원 센서노드의 웨이크업 장치 및 방법
US7949889B2 (en) * 2008-01-07 2011-05-24 Apple Inc. Forced idle of a data processing system
US8468377B2 (en) * 2008-10-22 2013-06-18 Microsoft Corporation Conserving power using predictive modelling and signaling
JP2010267561A (ja) * 2009-05-18 2010-11-25 Panasonic Corp 熱電併給装置とその制御方法
US20100332877A1 (en) 2009-06-30 2010-12-30 Yarch Mark A Method and apparatus for reducing power consumption
US9235251B2 (en) * 2010-01-11 2016-01-12 Qualcomm Incorporated Dynamic low power mode implementation for computing devices
US8504855B2 (en) * 2010-01-11 2013-08-06 Qualcomm Incorporated Domain specific language, compiler and JIT for dynamic power management
US20110252252A1 (en) * 2010-04-12 2011-10-13 Xerox Corporation System and method for identifying and reducing power consumption based on an inactivity period
US8612786B1 (en) * 2010-09-24 2013-12-17 Amazon Technologies, Inc. Deep idle mode

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1054496A (zh) * 1989-10-30 1991-09-11 德克萨斯仪器股份有限公司 便携式计算机实时的功率储存
US6748546B1 (en) * 2000-09-26 2004-06-08 Sun Microsystems, Inc. Method and apparatus for reducing power consumption
US7962314B2 (en) * 2007-12-18 2011-06-14 Global Foundries Inc. Mechanism for profiling program software running on a processor

Also Published As

Publication number Publication date
CN104094191A (zh) 2014-10-08
US8775838B2 (en) 2014-07-08
JP2015513336A (ja) 2015-05-07
WO2013116751A1 (en) 2013-08-08
JP6125539B2 (ja) 2017-05-10
US20130198540A1 (en) 2013-08-01

Similar Documents

Publication Publication Date Title
CN104094191B (zh) 实时系统中的动态功率管理
CA2741088C (en) Methods of achieving cognizant power management
US8286014B2 (en) Power management for a system on a chip (SoC)
US7337334B2 (en) Network processor power management
CN102918474B (zh) 功率管理锁优化
US20090150696A1 (en) Transitioning a processor package to a low power state
CN102597912B (zh) 用于平台功率节省的协调设备和应用程序中断事件
CN104871114A (zh) 用于集成电路的空闲阶段预测
US20120166731A1 (en) Computing platform power management with adaptive cache flush
US20140157033A1 (en) Reducing power grid noise in a processor while minimizing performance loss
CN101635650B (zh) 管理省电模式的方法及设备
CN103890694A (zh) 基于任务紧急性来管理时钟速率的系统和方法
CN104156050B (zh) 任务监控的方法和电子设备
CN105955444A (zh) 对齐唤醒方法及装置
EP2798436B1 (en) Power management using reward-based sleep state selection
TW201428479A (zh) 用於電源及效能之適應性停用及啓用睡眠狀態之技術
EP4160379A1 (en) Storage system and energy-saving control method
CN108491311A (zh) 一种实时操作系统的看门狗监测方法及终端
CN101964724A (zh) 通信单板的节能方法和一种通信单板
CN106455024A (zh) 通信频率的自动调节方法及终端设备
CN113923137A (zh) 一种整车总线网络异常监控方法和系统
US20150286271A1 (en) System and method for predicting a central processing unit idle pattern for power saving in a modem system on chip
JP2024512468A (ja) アイドル持続期間履歴に基づく低電力状態選択
Cho et al. A battery lifetime guarantee scheme for selective applications in smart mobile devices
CN116010143A (zh) 一种休眠下自动喂狗的方法和储能系统

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