CN1629774A - 信息处理装置以及操作系统 - Google Patents

信息处理装置以及操作系统 Download PDF

Info

Publication number
CN1629774A
CN1629774A CNA2004100048806A CN200410004880A CN1629774A CN 1629774 A CN1629774 A CN 1629774A CN A2004100048806 A CNA2004100048806 A CN A2004100048806A CN 200410004880 A CN200410004880 A CN 200410004880A CN 1629774 A CN1629774 A CN 1629774A
Authority
CN
China
Prior art keywords
mentioned
task
application program
standby condition
processor
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
Application number
CNA2004100048806A
Other languages
English (en)
Other versions
CN100535833C (zh
Inventor
三坂智
入江直彥
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.)
Maxell Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Publication of CN1629774A publication Critical patent/CN1629774A/zh
Application granted granted Critical
Publication of CN100535833C publication Critical patent/CN100535833C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • G06F9/4893Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues taking into account power or heat criteria
    • 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
    • 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
    • G06F1/3228Monitoring task completion, e.g. by use of idle timers, stop commands or wait commands
    • 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/329Power saving characterised by the action undertaken by task scheduling
    • 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/3296Power saving characterised by the action undertaken by lowering the supply or operating voltage
    • 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)
  • Power Sources (AREA)

Abstract

本发明提供一种通过在抢先/例外处理发生时也可以进行更充分的电力控制,来实现低消耗电力的信息处理装置。用RTOS或者执行准备状态监视任务监视执行准备状态的任务数,当完全没有执行准备状态的任务的情况下,用RTOS或者执行准备状态监视任务实施降低电力的控制,而执行中的任务用预先设定的各应用程序片段的WCET进行电力控制,反之当有执行准备状态的任务的情况下,实施提高电力的控制,而执行中的任务用比各应用程序片段的WCET时间快的假想WCET进行电力控制,进而当没有执行准备状态的任务并且执行中的任务不存在的情况下,RTOS或者执行准备状态监视任务和睡眠任务降低电力。由此可以实现提高信息处理装置的低消耗电力化。

Description

信息处理装置以及操作系统
技术领域
本发明涉及信息处理装置以及安装在上述信息处理装置中的软件。
背景技术
图18是展示专利文献1的图5记载的以往的电力控制装置及其电力控制方法以及其程序的构成图。上述电力控制装置,是实现电池驱动并且安装有处理器的便携机器,例如手机、便携式音响、便携式摄象机、笔记本型个人电脑、PDA(Personal Digital Assistant:个人数字助理)的消耗电力的最佳化的技术。
如图18所示在以往的电力控制装置中,安装有靠软件(25)工作的中央处理装置CPU(以下,称为处理器)(21)以及电力控制电路(22)。电力控制电路(22),由电源电压/阈值电压控制电路、时钟频率发生器、定时器构成。上述电源电压/阈值电压控制电路(以下,称为可变DC/DC转换电路),具有控制对处理器(21)施加的电源电压或者阈值电压的功能。
上述时钟频率发生器(以下,称为CPG:Clock PulseGenerator),产生提供给处理器(21)的时钟脉冲,具有控制上述时钟脉冲的时间宽度,即动作频率的功能。定时器对软件(25)提供一定时间间隔的计数数,即时间信息。上述定时器和从上述CPG向处理器(21)提供的上述时钟脉冲不同,从上述CPG中接收定时器用时钟脉冲,在预先靠软件(25)设定的上述一定时间间隔进行计数动作。
软件(25)由操作系统(以下,称为RTOS)(23)和单个或者多个任务(24)等构成。RTOS(23)从单个或者多个任务(24)中按照任务起动时间顺序,或者按照任务优先权高的顺序,保持可以执行的执行准备状态的任务(24)。进而RTOS(23)具有向现在执行中的任务(24)提供最初起动的任务(24)的上述任务起动时间的功能。单个或者多个任务(24),例如除了相当于应用程序和中间件程序等的用户程序外,其构成还包含电力控制程序。
上述电力控制程序具有对于执行中的任务(24),累计从分配到处理器(21)中的起动时间开始到现在时刻的执行时间,根据该累计执行时间和预先确定的上述应用程序或者上述中间件程序的应用程序片段的最差执行时间(以下,称为WCET:Worst Case Execution Time),计算执行中任务(24)中的时间富裕的功能。应用程序片段是指把任务分成N个程序片段1、2、3、…N的程序片段,可以通过解析和测定取得片段1、2、3、…、N的各个WCET和从各片段到片段N的WCET。如果有时间富裕则从图18的执行中的任务(24)向RTOS(23)发行用于设定规定的电源电压、动作频率的系统调用SC。而后,在进行了RTOS(23)的内部处理后,用软件(25)从处理器(21)对上述可变DC/DC转换电路发送图2的指令C。接收到上述指令C的上述可变DC/DC电路设定软件(25)所希望的电源电压、动作频率,把上述控制信号CS从上述DC/DC转换电路发送到处理器(21)。接收到上述控制信号CS的处理器(21)以所希望的上述电源电压以及上述动作频率驱动。
以下,说明RTOS(23)上的任务(24)的动作状态。图19是RTOS的任务状态转移图。在任务(24)的状态中有执行状态(Run状态)(31)、待机状态(Wait状态)(32)、执行准备状态(Ready状态)(33)、初始状态(34)。初始状态(34)是某一任务(24)生成以前的状态,根据已生成的任务(24a)开始发行RTOS(23)提供的任务生成用系统调用,生成任务(24c)并转移到执行准备状态(33)。执行状态(31)是某一任务(24)占用处理器(21)的处理执行中的状态。待机状态(32)是结束了规定处理的任务(24d)发行RTOS(23)提供的事件接收等待用系统调用,从执行状态(31)转移,向其他任务(24)让出处理器(21)的占用变为事件等待的状态。待机状态(32)的任务(24d)如果接收到对自己的起动用事件则转移到执行准备状态(33)。
执行准备状态(33)是可以执行的任务(24a)、任务(24b)、任务(24c)按照任务优先权高的顺序等待占用处理器(21)的机会的状态。而后,从执行准备状态(33)的任务(24a)、任务(24b)、(24c)内,调度(35)此时上述任务优先权最高的任务(24a)进入执行状态(31)。另外,例如当接收到上述起动用事件而从待机状态(32)转移到执行准备状态(33)的任务(24d)的上述任务优先权比现在执行中的任务(24a)的上述任务优先权的优先顺序还高时,现在执行中的任务(24a)向上述转移的任务(24d)让出CPU的占用,在执行准备状态(33)下被预处理(36),同时等待按照上述任务优先权顺序进入执行状态(31)的机会。
[专利文件1]特开2003-140787号公报
本申请人等在本申请之前,以在手机、PDA、便携式数字照相机、便携式数字视频播放器、便携式数字摄象机、便携式数字音频录音机以及播放器等中有代表性的电池驱动的信息处理装置为对象,研究了专利文献1的上述电力控制装置的以往技术。
图20是本申请人等在使用专利文献1所述的电力控制装置时作成的电力控制方法的概念图。并且,图20未被记载在专利文献1中。纵轴表示在应用程序中的应用程序片段的处理经过,横轴表示应用程序的处理经过时刻。在此,将应用程序片段的数设置为K个。输出时间(11)是必须结束上述应用程序的、或者必须输出上述应用程序的处理结果的预先知道的时刻。
专利文献1中的电力控制是控制电源电压和动作频率的技术。因而,为了尽可能实现电力的最佳化,即低消耗电力化,需要在使电源电压下降的同时也使动作频率下降。使上述动作频率下降相当于缓慢地进行应用程序的处理。为了更好地进行低消耗电力化,理想的是在输出时间(11)以内的极限时刻前以低动作频率缓慢地进行上述应用程序的处理。因而,本申请人等提出,根据线性规划法在各应用程序片段中分配同时间间隔的子输出时间(13),使得从任务起动时刻(12)开始使上述应用程序的处理与输出时间(11)一致。另外,对于各应用程序片段,预先分配从任务起动时刻(12)开始的各子输出时间的整数倍的时间间隔的WCET(14)。例如,根据上述线性规划法设定的第k个应用程序片段的WCET(14c),相当于在子输出时间(13)上乘以k的累计估算时间。
而后,在电力控制检测点(6),比较从任务起动时刻(12)开始的处理器(21)的累计执行时间(15)和各应用程序片段(4)的WCET(14),逐渐进行上述电源电压以及上述动作频率数的控制。例如,假设使用通过高电源电压以及高动作频率、低电源电压以及低动作频率这2个电力组合可以控制的上述电力控制装置。当在从应用程序片段(4d)的第(k+1)个处理的WCET(14d)中减去从任务起动时刻(12)开始到应用程序片段(4c)的第k个处理结束时刻(16)的累计执行时间(15)的时间差,比在应用程序片段(4d)的第(k+1)个处理的WCET(14d)和应用程序片段(4c)的第k个处理的WCET(14c)的时间差上,即,从第k个开始到第(k+1)个期间的子输出时间(13)上,乘以相对上述低动作频率的上述高动作频率的倍数的时间值还大的情况下,在第k个处理结束时刻(16)降低电力。即使使上述电源电压以及前期动作频率下降,因为也可以预测收敛在第(k+1)个电力控制检测点(6)时的WCET(14d)内,所以可以严格遵守输出时间(11)。相反在小的情况下如果不提高上述电力,即如果不提高上述电源电压以及上述动作频率,则不能满足严格遵守输出时间(11)。
根据如上述那样研究的结果知道,当在上述信息处理装置中适用了图18的上述电力控制装置的情况下,对于消耗电力的最佳化(省电力化)的效果存在2个问题。
第1个问题是,对于执行中的任务(24a),当发生了抢先处理的情况下,因为在起动的高优先权的任务(24d)中花费的执行时间中,被抢先的执行准备状态(33)的任务(24a)的处理延迟,所以在相对到输出时间(11)为止的绝对时间的富裕时间中产生偏差,出现偏离电力控制的定时的现象。以下,用图21说明该现象。
图21是说明被抢先的任务的处理延迟的图。例如当在处理第k个应用程序片段(4c)的过程中被高优先权的任务(24d)抢先的情况下,被抢先的任务(24a)在执行准备状态(33)中被预处理(36)而处于处理停止状态。如果抢先的高优先权的任务(24d)的处理结束,则被抢先的任务(24a)被调度(35)为执行状态(31)。
但是,被抢先的任务(24a)即使在上述处理停止状态中也因为经过了绝对时间,所以预先分配的第(k+1)的WCET(14d)中的绝对时间延迟抢先的任务(24d)的执行时间(37)。
因而,在第(k+1)中的处理结束时刻(16)为包含执行时间(37)的结果,在绝对时间上,在错误的WCET(14)中的电力控制检测点(6)进行电力控制。另外输出时间(11)也一样,延迟了执行时间(37)。因而,也知道还不能保证节省输出时间(11),致使介质品质劣化。
第2个问题是,当在RTOS(23)的执行准备状态(33)中存在许多可以执行的任务(24)的情况下,因为在可以执行的任务(24)中产生不稳定(Jitter),所以处理开始时刻以及WCET延迟,没有时间富裕,不能保证输出时间。以下用图22说明该现象。
图22是说明在转移到执行状态之后的任务起动时刻的延迟的图。被高优先权的任务(24d)抢先后,在执行准备状态(33)中被预处理(36)的任务(24a)、由任务(24a)生成的执行准备状态(33)的任务(24c)在应该立即占用处理器(21)的执行准备状态(33)下等待。但是,任务(24a)、任务(24c)等那样任务优先权越低的任务(24),直至占用处理器(21)的执行准备状态的待机时间(38)越长。原本存在这样的问题,虽然任务(24a)、任务(24c)等各自接收到上述起动用事件的时刻是起动时刻(12),但实际的起动时刻是从延迟了待机时间(38)的延迟起动时刻(39)开始处理,只有从延迟起动时刻(39)到输出时间(11)的处理时间。进而,WCET(14)因为各应用程序/中间件程序正在进行管理,所以如果应用程序/中间件程序的开始时间延迟,则成为延迟待机时间(38)而出现偏离的延迟WCET(40),存在最后的延迟WCET(40)也超过输出时间(11)的问题。因而已知,在上述累计估算时间中包含不确定因素,节能效果并不明显。
发明内容
在本申请中揭示的主要发明的要点如下。
其构成是具有:处理器、被内置在上述处理器中或者被设置在上述处理器外部的硬件定时器、向上述处理器以及硬件定时器提供时钟的时钟脉冲发生器,上述硬件定时器计量从应用程序任务开始到现在时刻的处理时间,上述应用程序任务被分割成多个处理单位,上述处理器比较上述应用程序任务的上述多个处理单位的在处理规定的处理单位时所需要的时间和上述处理单位的最差执行时间,根据上述比较结果,改变从上述时钟脉冲发生器输出的动作频率,上述处理器在因上述应用程序片段的处理中的抢先而起动的其它应用程序占用了上述处理器的计算资源时,计数处于准备状态的应用程序任务数,当在上述要执行的其它应用程序任务以外存在上述执行准备状态的应用程序任务时,由上述执行准备状态监视任务,提高上述动作频率和上述电源电压,在不存在的情况下,由上述执行准备状态监视任务降低上述动作频率和上述电源电压。
进而理想的是,处理器在执行上述应用程序任务时,当知道了在上述应用程序任务以外存在上述执行准备状态的其它应用程序任务的情况下,上述应用程序任务比较比上述最差执行时间还快的假想最差执行时间和处理上述规定的处理单位所需要的时间。
进而理想的是,上述处理器比较比上述最差执行时间或者上述假想最差执行时间和处理上述规定的处理单位所需要的时间,当上述最差执行时间或者上述假想最差执行时间和处理上述规定的处理单位所需要的时间的差比规定时间大时,降低用于执行现在执行处理中的上述应用程序任务的上述动作频率和上述电源电压,当上述时间的差比规定时间小的情况下,提高上述动作频率和上述电源电压。
如果是另一形态,则具有处理器、定时器、时钟发生电路、动作电压提供电路,上述定时器计量由处理器执行的应用程序任务的执行时间,上述应用程序任务被分割成多个处理单位,信息处理装置管理处于执行准备状态的应用程序任务的数,上述信息处理装置在用上述处理器执行上述第1应用程序任务时,当处于执行准备状态的应用程序任务比规定数小时,针对上述多个处理单位的每个管理对应的处理单位的处理要结束的最差执行时间,在使用上述处理器执行上述第1应用程序任务时,当处于执行准备状态的应用程序任务数比规定数大的情况下,针对上述多个处理单位的每个管理比对应的上述最差执行时间短的假想最差执行时间。
通过实施本申请,可以提高信息处理装置的低消耗电力化。
附图说明
图1是说明本发明的代表例子的图。
图2是说明用于实现本发明的软件构成的实施例的图。
图3是说明信息格式的图。
图4是本发明的概念图。
图5是应用程序片段的概念图。
图6是说明MPEG-4视频解码器程序的应用程序片段的图。
图7是说明执行准备状态监视任务动作的流程的图。
图8是说明执行准备状态掌握处理的流程的图。
图9是说明低电力模式处理以及高电力模式处理的流程的图。
图10是说明视频处理任务以及音频处理任务动作的流程的图。
图11是说明在任务内部进行的电力控制算法的流程的图。
图12是说明输出时间管理任务动作的流程的图。
图13是说明睡眠(sleep)任务动作的流程的图。
图14是说明本发明的信息处理装置的电力控制动作的一实施例的图。
图15是说明本发明的实施例2的概念图。
图16是说明实施本发明的由1个处理器构成的信息处理装置的一实施例的图。
图17是说明实施本发明的由2个处理器构成的信息处理装置的一
实施例的图。
图18是专利文献1的代表图。
图19是RTOS的任务状态转移图。
图20是在专利文献1中记载的电力控制检测点上的电力控制程序的概念图。
图21是说明被抢先的任务的处理延迟的图。
图22是说明转移到执行状态之后的任务起动时刻延迟的图。
具体实施方式
以下说明实现本申请发明的实施例。
图1是说明本发明的代表例子的图,是说明本发明的硬件构成的实施例的图。在此把用电池驱动并且内置于处理器的信息处理装置作为实施例说明。
在本说明书中,用使用了PLL(相位锁定循环)电路的时钟脉冲发生器(51)(以下,称为CPG)以及内置有定时器TMU(52)的处理器CPU(21)进行说明。即使在CPG(51)或者TMU(52)的处理器外挂安装的实施中也可以实施本申请发明。CPG(51)把处理器(21)用于同步动作的时钟脉冲提供给处理器(21)。处理器(21)具备在CPG(51)的设定下能够以需要的动作频率动作的功能。另外,处理器(21)具备发送向可变DC/DC转换电路VC(22)提供所希望的电源电压的控制信号(57)的功能。进而,处理器(21)通过总线(53)和处理器(54)和输入器以及输出器(以下,称为I/O)(55)连接。处理器(21)按照存储在储器器(54)中的软件的命令顺序动作。上述软件由RTOS(23)、执行准备状态监视程序模块(56)、电力/能量控制程序模块(57)、应用程序/中间件程序模块(58)等构成。
可变DC/DC转换电路(22)把电池BAT(59)的电池电压变换为处理器(21)、存储器(54)、I/O(55)等各器件需要的电源电压,通过电源系统(60)向上述各器件提供电力。另外,可变DC/DC转换电路(22)具备接收来自处理器(21)的端口(62)的控制信号(61)的功能、以及针对处理器(21)可变地控制处理器(21)所希望的电源电压的功能。I/O(55)例如相当于显示静止画面以及运动图像的显示器和拍照的照相机、输入声音的麦克风和输出声音的扬声器等。
图2是说明用于实现本发明的软件构成的实施例的图。RTOS(23)管理处理器CPU(21)的运算器等计算资源以及存储器(54)的存储资源。即,分配由针对处理器(21)的外部事件和来自TMU(52)的定时器事件起动的线程(thread)或者作为被称为进程(process)等的处理单位的任务(64),并且,分配任务(64)所需要的存储器容量。进而,在各任务(64)期间把可以同步、非同步动作的信息通信功能提供给各任务(64)。在此,所谓同步是指一个任务向另一个任务传递信息,和向另一任务交接处理器的处理的动作,所谓非同步动作是指一个任务向另一个任务传递信息,但占用处理器的处理,不向其他任务交接处理的动作。
执行准备状态监视程序模块(56)掌握在RTOS(23)中现在时刻处于执行准备状态(33)的任务(64)的数量。如果可以安装通过系统调用等得到执行准备状态(33)的任务(64)的数量或其存在与否的RTOS(23),则可以代替执行准备状态监视程序模块(56),而在本说明书中使用执行准备状态监视程序模块(56)说明本申请发明。
电力/能量控制程序模块(57)从端口(62)向可变DC/DC转换电路(22)发送控制信号(61),把施加在处理器(21)上的电压设定为希望的电源电压。进而,同时向CPG(51)发出命令,设定为所需要的动作频率。例如,当电力/能源控制程序模块(57)用高电力模式、低电力模式这2个模式实施电力控制的情况下,在高电力模式下向可变DC/DC转换电路(22)发送设定为高电源电压的控制信号(61),向CPG(51)发出设定为高动作频率的命令。相反在低电力模式中,向可变DC/DC转换电路(22)发送设定为低电源电压的控制信号(61),向CPG(51)发出设定为低动作频率的命令。进而,当具有用于选择CPG(51)的频率的寄存器的情况下,可以设置成不使用命令而写入寄存器的构成。
应用程序/中间件程序模块(58)实际上是想在处理器(21)中进行处理的希望的程序,是本申请发明中的电力控制的控制对象。
RTOS(23)在执行准备状态监视程序模块(56)、电力/能量控制程序模块(57)、以及应用程序/中间件程序模块(58)中分别设置调用各种功能用的软件接口,即程序函数群。
在本说明书中,把RTOS(23)的程序函数群称为系统调用(System Call)(65),把执行准备状态监视程序模块(56)的程序函数群称为就绪监视接口(Ready Watcher Interface)(以下,称为RWI)(66),把电力/能量控制程序模块(57)的程序函数群称为功率/能量控制接口(Power/Energy Control Interface)(以下,称为PECI)(67),以及把应用程序/中间件程序模块(58)的程序函数群称为应用程序接口(Application Interface)(以下,称为API)(68)。RTOS(23)以及电力/能量控制程序模块(57)直接操作处理器(21)的状态寄存器、控制寄存器以及内部存储器等。执行准备状态监视程序模块(56)通过系统调用(65)使用RTOS(23)的功能。RWI(66)在任务(64)期间,为了进行同步、非同步通信,提供信息接收等待处理,以及信息发送处理。特别是信息接收等待处理,提供把任务(64)转移到待机状态(32)的功能。
应用程序/中间件程序模块(58)通过系统调用(65)和PECI(67),使用RTOS(23)以及电力/能量控制程序模块(57)的功能。电力/能量控制程序模块(57)在应用程序/中间件程序的应用程序片段之后的电力控制检测点(6)中被使用。任务(64)调用系统调用(65)、RWI(66)、PECI(67)、API(68)来实施所希望的处理。
在本说明书中,为了容易区分说明本申请发明的软件动作,假设用待机状态监视任务(64a)、输出时间管理任务(64b)、图像显示任务(64c)、PCM输出任务(64d)、视频处理任务(64e)、音频处理任务(64f)以及睡眠(sleep)任务(64g)这7个任务构成的AV播放器进行说明。执行准备状态监视任务(64a)是用于监视执行准备状态(33)的任务数量的任务,是用于判定系统繁忙程度(发行执行开始命令后必须立即处理的任务数量)的任务。输出时间管理任务(64b)是用图像显示任务(64c)和PCM输出任务(64d)管理必须从显示器或者扬声器进行图像显示、声音输出的输出时间(截止期(Dead line)),在该RTOS(23)中掌握其输出时间,在输出时间来临时用于从RTOS向图像显示任务(64c)或者PCM输出任务(64d)发送起动事件的任务。图像显示任务(64c)是用于在显示器等上显示图像的任务。PCM输出任务(64d)是用于从扬声器等输出声音的任务。进而,视频处理任务(64e)例如是用于解压缩与MPEG等的图像有关的压缩数据的任务,音频处理任务(64f)是用于解压缩例如与MP3等的声音有关的压缩数据的任务。睡眠任务(64g)是用于在系统全体处于执行准备状态时进入睡眠状态的任务。
对于任务的优先权,按照执行准备状态监视任务(64a)、输出时间管理任务(64b)、PCM输出任务(64d)、图像显示任务(64c)、音频处理任务(64f)、视频处理任务(64e)、睡眠任务(64g)的顺序分配高优先权。
另外,各任务(64)间的同步、非同步通信使用信息(71)。执行准备状态监视程序模块(56)根据预先定义的存储格式,从RTOS(23)使用的存储器(54)区域向各任务(64)提供信息(71)用存储块。
图3是说明信息格式的图。信息格式的信息内容由相当于接收任务ID的发送目标TO-ID(72)、相当于发送任务ID的发送源至源FR-ID(73)、发送内容(74)构成。各任务(64)为了进行所希望的处理,根据上述信息格式把上述信息内容写入与信息(71)相当的上述存储块中。而后,各任务(64)一边发送接收信息(71)一边进行所希望的处理。
以下,说明与作为本申请发明的多任务处理对应的电力控制方法。图4是本发明的概念图。在此,为了简单,说明有高电力模式和低电力模式的2个模式的方法。首先,设定假想输出时间(41),设定假想最差输出时间(以下,称为假想WCET)(42)。假想输出时间(41)被设定得比输出时间(11)短。在此,预先把假想输出时间(41)作为输出时间(11)的一半时间进行设定,用上述线性规划法,设定假想WCET(42)。假想WCET相对于相同的应用程序片段(4)是WCET(14)一半的时刻,假想子输出时间(43)也是子输出时间(13)的一半的时间。
RTOS(23)或者执行准备状态监视任务(64e)计数处于执行准备状态(33)的任务(24)的数量。RTOS(23)或者最高任务优先权的执行准备状态监视任务(64e)监视执行准备状态的任务(24)的结果,当执行准备状态(33)的任务(24)除了睡眠任务(64g)以外完全没有的情况下,设置为低电源电压、低动作频率。由此,可以谋求信息处理装置的低电力化。另外,当可以进入睡眠状态的情况下,执行睡眠任务(64g)转移到睡眠状态。
反之,当执行准备状态(33)的任务(24)在睡眠任务(64g)以外存在1个的情况下,为了降低消耗电力而设置成低电力模式地执行任务。当处于执行准备状态(33)中的任务存在2个以上的情况下,设定成尽快结束执行中的任务,为了向在执行准备状态(33)中任务尽快交接处理,设定为高电力模式。
执行中的任务(24)在各电力控制检测点(6)中首先询问RTOS(23)或者执行准备状态监视任务(24e),在现在时刻判断是否存在执行准备状态(33)的任务(24)。当判断的结果是执行准备状态(33)的任务(24)存在的情况下,与假想WCET(42)比较在时间上是否来得及实施电力控制,当不存在的情况下与WECT(14)比较在时间上是否来得及实施电力控制。即,在时间上来不及的情况下转移到高电力模式,在时间来得及的情况下转移到低电力模式。这是为了使处理近早结束,向在执行准备状态中的任务(24)交接处理。当这样处于执行准备状态(33)的任务的情况下,通过与假想WECT进行比较,可以尽快结束执行中的任务,可以把执行准备状态的任务交给CPU。
进而,在本实施例中,确定WCET以及假想WCET与输出时间一致,但当然并不限于此。例如,也可以与比实际的输出时间早的时间一致地确定WCET以及假想WCET。通过这样构成,取得到实际的输出时间为止的安全系数,可以提高品质保持的可靠性。
在此,说明图5的应用程序片段。任务(24)执行从应用程序开始点(1)经过初始化处理(2),到应用程序结束点(3)的处理。初始化处理(2)是在应用程序、中间件程序、设备驱动程序等中使用的存储区域的确保和初始化,进而是在处理器(21)中使用的电源电压、动作频率以及各寄存器值的设定等,是为了在处理器(21)上运行应用程序所需要的前处理。
进行多媒体处理的应用程序以及中间件程序具有重复进行同样处理的性质。把重复进行的上述同样处理的单位称为应用程序片段(4)。从图5的应用程序片段(4a)到(4e)的值表示应用程序片段(4)的重复处理数量,上述值在应用程序以及中间件程序内部执行的应用程序片段处理经过管理单元(7)中依次被存储。
另外,在重复判别处理(5)中判别应用程序片段(4)的上述重复处理数,如果全部的应用程序片段处理结束了,则在应用程序结束点(3)应用程序结束。
图6是说明MPEG-4视频解码程序的应用程序片段的图。例如如果对被称为QCIF的纵144象素、横176象素的图像格式(8)实施MPEG-4视频解码处理,则MPEG-4视频解码程序实施把图像格式(8)向被称为微块(9)的纵16象素、横16象素的每一象素块进行译码的图像处理。因而,MPEG-4视频解码程序的应用程序片段处理相当于每一微块的图像译码处理,应用程序片段(4)的重复处理数是和QCIF的图像格式(8)中的微块数相同的99次,重复判别处理(5)判别是否进行了99次应用程序处理。
当图像格式(8)是纵96象素、横144象素的SubQCIF的情况下,因为微块数是48个,所以应用程序片段数是48。
另外,当是上述MP3解码程序的情况下,应用程序片段(4)的上述重复处理数相当于频道数。如果进行立体声再生则上述重复处理数是2次。换句话说,当是声音音响译码处理的MP3解码程序的情况下,重复频道单位的解码处理,变成应用程序片段(4)。
图7是说明执行准备状态监视任务动作的流程图。用RTOS(23)提供的系统调用(65)生成的执行准备状态监视任务(64a),在初始状态(81)下把执行准备状态监视变量单元(82)初始化为0后,从RWI(66)中调用信息接收等待判定处理(83)。
信息接收等待判定处理(83)判别针对执行准备状态监视任务(64a)的作为任意起动事件的信息(71a)是否到达,如果到达则进行作为执行准备状态监视任务(64a)所希望的处理的执行准备状态掌握处理(84),如果没有到达则在接受到信息(71a)之前把执行准备状态监视任务(64a)设置为准备状态。
图8是说明执行准备状态掌握处理的流程图。执行状态掌握处理(84)从执行准备状态监视开始点(91)开始处理,进行对执行准备状态监视任务(64a)发送的信息(71a)的信息判别处理(92)。
在信息判别处理(92)中,判别已接收到的信息(71a),是执行准备状态转移用信息,还是待机状态转移用信息。
上述执行准备状态转移用信息,例如,在图8的信息格式参数A的位置上写入在发送内容(74a)中表示对执行准备状态的转移的1,相反上述待机状态转移用信息,预先确定为写入了表示向待机状态转移的0。
因而,信息判别处理(92)判别已接收到的信息(71a)的参数A的发送内容(74a)是1还是0。如果是1,则进行执行准备状态加法处理(93),如果是0则进行执行准备状态减法处理(94)。执行准备状态加法处理(93)在执行准备状态监视程序模块(56)内的执行准备状态监视变量单元(82)中加算1,如果记载了已接收到的信息(71a)的发送目标(72)则向发送目标(72)再发送,如果没有记载则废弃已接收到的信息(71a),即返还到存储器。相反执行准备状态减法处理(94)在执行准备状态监视变量单元(82)中减去1,废弃已接收到的信息(71a),即返还到存储器。
其后,其处理前进到执行准备状态监视变量判别处理(95)。如果在执行准备状态监视变量判别处理(95)中执行准备状态监视变量单元(82)是0或者1,则从PECI(67)调用作为电力/能量控制程序模块(57)功能的低电力模式处理(96),除此以外的情况同样调用高电力模式处理(97)。
图9是说明低电力模式处理以及高电力模式处理的流程图。低电力模式处理(96)从低电力模式处理开始点(101)开始,按照顺序处理低动作频率变更处理(102)、低电源电压变更处理(103)。低动作频率变更处理(102)从CPG(51)中变更发生的时钟脉冲,使得设定低的提供给处理器(21)的动作频率。低电源电压变更处理(103)从处理器(21)向可变DC/DC转换电路(22)发送降低提供给处理器(21)的电源电压的控制信号(61)。如果可变DC/DC转换电路(22)接收到控制信号(61)则降低上述电源电压。
高电力模式处理(97)从高电力模式处理开始点(104)开始,按照顺序处理高电源电压变更处理(105)、高动作频率变更处理(106)。高电源电压变更处理(105)从处理器(21)向可变DC/DC转换电路(22)发送提高提供给处理器(21)的电源电压的控制信号(61)。如果可变DC/DC转换电路(22)接收控制信号(61)则提高上述电源电压。高动作频率变更处理(106)从CPG(51)变更发生的时钟脉冲,使得设定高的提供给处理器(21)的动作频率。
图10是说明视频处理任务以及音频处理任务动作的流程图。在RTOS(23)提供的系统调用(65)中生成的视频处理任务(64e),首先从视频处理初始化开始点(111)开始动作,从RWI(66)中调出信息接收等待判别处理(83)。
信息接收等待判别处理(83)判别对视频处理任务(64e)的作为起动事件的信息(71e)是否到达,如果到达则进行视频译码处理(112e),如果没有到达则在信息(71e)到达之前把视频处理任务(64e)转移到等待状态(32)。
视频译码处理(112e)进行图4、图5、图6所示的每一微块处理的应用程序片段(4)的重复处理(5)和在电力控制检测点(6)中的电力控制。在视频译码处理(112e)后,从RWI(66)中调用待机状态转移处理(113)。待机状态转移处理(113)在此因为在执行准备状态监视任务(64a)中已知视频译码处理(112e)已结束,所以把作为上述待机状态转移用信息的信息(71a)发送到执行准备状态监视任务(64a),最后使视频处理任务(64e)转移到待机状态(32)。
另外在RTOS(23)的系统调用(65)中生成的视频处理任务(64c)相当于把视频译码处理(112e)置换为音频译码处理(112f)的任务。因而,在立体声或者每一频道处理的应用程序片段(4)的重复处理(5)结束后,在电力控制检测点(6)进行电力控制。
图11是说明在任务内部进行的电力控制算法的流程图。在本说明书中,在视频译码处理(112e)以及音频译码处理(112f)的内部有应用程序片段(4),在电力控制检测点(6)中嵌入电力控制算法软件。
首先,从任务内电力控制开始点(121)开始处理,对于执行准备状态监视变量单元(82),进行执行准备状态监视变量判别处理(122)。在执行准备状态监视变量判别处理(122)中,判别执行准备状态监视变量单元(82)是否是1。如果是1则进行WCET比较处理(123),如果是1以外则进行假想WCET比较处理(124)。WCET比较处理(123)例如从视频处理任务(64e)或者音频处理任务(64f)的任务起动时刻(12)开始,比较从应用程序片段(4d)的第(k+1)个处理WCET(14d)中减去应用程序片段(4c)的第k个处理结束时刻(16)的累计时间(15)的时间差、和上述应用程序片段(4d)的第(k+1)个处理的WCET(14d)和上述应用程序片段(4c)的第k个处理的WECT(14c)的时间差,即在从第k个到第(k+1)个期间的子输出时间(13)上乘以相对上述低动作频率的上述高动作频率的倍数的时间值。累计时间(15)利用TMU(52)计数累计时间。
如果从WCET(14d)中减去累计执行时间(15)的值的一方比乘以上述倍数的时间还大的情况下,把电力/能量控制程序模块(57)内部管理的电力控制模式单元(125)设置为1。相反在小的情况下设置为0。进而,在应用程序/中间件程序模块(58)内部管理的WCET存储单元(126)的值上加上子输出时间(13)的值。进而,WCET(14)是WCET存储单元(126)的值。另外,WCET存储单元(126)在初始化处理(2)中假设是子输出时间(13)。
另一方面,假想WCET比较处理(124)和上述一样,例如,比较从应用程序片段(4d)的第(k+1)个处理的假想WCET(42d)中减去从视频处理任务(64e)或者音频处理任务(64f)的任务起动时刻(12)开始到应用程序片段(4c)的第k个处理结束时刻(16)的累计时间(15)的时间差、和上述应用程序片段(4d)的第(k+1)个处理的假想WCET(42d)与上述应用程序片段(4c)的第k个处理的假想WECT(42c)的时间差,即在从第k个到第(k+1)个期间的假想子输出时间(43)上乘以相对上述低动作频率的上述高动作频率的倍率的时间值。同样累计执行时间(15)使用TMU(52)计数累计时间。
在从假想WCET(43d)中减去累计执行时间(15)的值的一方比乘以上述倍率的时间还大的情况下,把电力/能量控制程序模块(57)内部管理的电力控制模式单元(125)设置为1。相反在小的情况下设置为0。进而在应用程序/中间件程序模块(58)内部管理的假想WCET存储单元(127)的值上加上子假想输出时间(13)的值。进而,假想WCET(42)是假想WCET存储单元(127)的值。另外,假想WCET存储单元(127)在初始化处理(2)中是假想子输出时间(43)。
电力控制模式判别处理(128)判别电力控制模式单元(125)。如果电力控制模式单元(125)是1,则进入低电力模式处理(96),如果是0则进入高电力模式处理(97)。
图12是说明输出时间管理任务动作的流程图。输出时间管理任务(64b)从输出时间管理开始点(131)开始处理。在输出时间管理开始点(131b)中,作为初始化处理向输出时间管理任务(64b)自身再次发送作为起动时间的信息(71b)。
信息接收等待判别处理(83)判别作为对输出时间管理任务(64b)的起动事件的信息(71b)是否到达,如果到达则进行输出时间管理处理(132),如果没有到达则在接收到信息(71b)前把输出时间管理处理任务(64b)设定为等待状态(32)。
输出时间管理处理(132b)预先使RTOS(23)识别1帧的视频显示时刻或者1帧的音频输出时刻。此后,从RWI(66)中调用等待状态转移处理(113)。在调用等待状态转移处理(113)的时刻,输出时间管理处理任务(64b)转移到待机状态(32)。
如果成为了上述视频显示时刻或者上述音频输出时刻,则作为从RTOS(23)起动的定时器事件把信息(71c)发送到图像显示任务(64c),或者把信息(71d)发送到PCM输出任务(64d)。
图像显示任务(64c)以及PCM输出任务(64d)的流程和用图12说明的输出时间管理任务(64b)一样。但是,输出时间管理处理(132b)的部分在图像显示任务(64c)中为图像显示处理(132c),在PCM输出任务(64d)为PCM输出处理(132d)。而后,在输出时间管理开始点(131d)中作为初始化处理向输出时间管理任务(64b)自身发送信息(71b),在图像显示开始点(131c)、PCM输出开始点(131d)不发送信息(71)。
图像显示处理(132c)把在视频处理任务(64e)中处理的图像显示在显示器上。而后,对于执行准备状态监视任务(64a)发送记载有视频处理任务(64e)的发送目标(72)的上述执行准备状态转移用信息(71e),进而把在执行准备状态监视任务(64a)中接受到的发送目标(72)是视频处理任务(64e)的执行准备状态转移用信息(71e)发送到视频处理任务(64e)。
PCM输出处理(132d)把在音频处理任务(64f)中处理的PCM信号在扬声器中表现。而后对执行准备状态监视任务(64a)发送记载有音频处理任务(64f)的发送目标(72)的上述执行准备状态转移用信息(71f),进而把在执行准备状态监视任务(64a)中接收到的发送目标(72)是音频处理任务(64f)的执行准备状态转移用信息(71f)发送到音频处理任务(64f)。
图13是说明睡眠任务动作的流程图。从睡眠任务(64g)的睡眠程序开始点(141)开始,进入睡眠处理(142)。睡眠处理(142)在CPG(51)中设定为停止向处理器(21)供给时钟脉冲,使处理器(21)停止。因为睡眠任务(64g)为最低优先权任务,所以睡眠任务(64g)以外的全部任务如果处于待机状态,即处于等待状态则处理器停止。另外如果来自TMU(52)或者I/O(55)的抢先发生,则从等待状态恢复到通常的动作状态。
如果进行以上的执行,则即使在执行中的任务进入抢先以及例外处理,也可以进行抑制任务处理的延迟的控制,在电力最佳化方面有效。
图14是说明本发明的信息处理装置的电力控制动作的一实施例的图。纵轴为任务(64)的消耗电力,横轴为时间,表示各任务的处理经过。因而,每一任务的面积相当于各任务的消耗能量。
例如视频处理任务(64e)的处理在任务起动时刻(12e)中开始,在视频处理任务(64e)的截止输出时间(11e)前进行。这时,执行准备状态监视任务(64a)的初始化处理(2)把执行准备状态监视变量单元(82)设置为1,把任务起动时刻(12e)的信息处理装置的电力设定为低电力。在视频处理任务(64e)的处理结束前的过程中,对应用程序片段(4)的每一处理进行电力控制。例如,在第3应用程序片段的处理结束的阶段,与WECT进行比较,因为处理延迟所以转移到高电力模式。
如果成为预先设定的PCM输出任务(64d)的起动时刻(12d),则优先权高的PCM输出任务(64d)起动。另外,在执行准备状态监视变量单元(82)上加1变为2。因为执行准备状态监视变量单元(82)变为2,所以执行准备状态监视任务(64a),把信息处理装置设置为高电力模式。而后视频处理任务(64e)被设置为预处理(36),变为执行准备状态(33)。PCM输出任务(64d)变为执行准备状态(31),把预先在译码处理中生成的音频的PCM信号输出到扬声器。如果结束输出则通过向音频处理任务(64f)发送信息(71f),把音频处理任务设置为执行准备状态,虽然未图示,但在执行准备状态监视变量单元(82)上加算1变为3。
PCM输出任务(64d)在结束之前把信息(71a)发送到执行准备状态监视入任务(64a)中,在执行准备状态监视变量单元(82)中减去1设置为2。
从音频处理任务(64f)的起动时刻(12f)开始,音频处理任务(64f)的处理开始,但因为执行准备状态监视变量单元(82)为2,所以音频处理任务(64f)的起动时的信息处理装置的电力仍是高电力模式。
另外,音频处理任务(64f)因为执行准备状态监视变量单元(82)变为2,所以不是音频处理任务(64)的输出时间(11f),在音频处理任务(64f)的假想输出时间(41f)中,对应用程序片段(4)的每一处理进行电力控制。音频处理任务(64f)在结束之前把信息(71a)发送到执行准备状态监视任务(64a)中,在执行准备状态监视变量单元(82)中减去1设置为1。
如果音频处理任务(64f)结束,则在此前被预处理(36)处于执行准备状态的视频处理任务(64e)恢复到执行状态(31),开始下面的处理。因为恢复时的执行准备状态监视变量单元(82)是1,所以执行准备状态监视任务(64a)把信息处理装置的电力设定为低电力。
视频处理任务(64e)因为执行准备状态监视变量单元(82)是1,所以不是视频处理任务(64e)的假想输出时间(41e),在输出时间(11e)对每一应用程序片段(4)进行电力控制。
如果视频处理任务(64e)在视频处理任务(64e)的输出时间(11e)结束,则在结束之前把信息(71a)发送到执行准备状态监视任务(64a),在执行准备状态监视变量单元(82)上减1设置为0。
因为执行准备状态监视变量单元(82)是0,所以执行准备状态监视任务(64a)把信息处理装置的电力模式设定为低电力。
如果成为预先设定的图像显示任务(64c)的起动时刻(12c),则图像显示任务(64c)起动,在执行准备状态监视变量单元(82)上加算1变为1。因为执行准备状态监视变量单元(82)是1,所以执行准备状态监视任务(64a)仍设置为低电力。
图像显示任务(64c)在把图像显示在显示器上后,把信息(71a)发送到执行准备状态监视任务(64a)中,在执行准备状态监视变量单元(82)中减去1设置为0。
在音频处理任务(64f)的输出时间(11f)后,如果变为预先设定的PCM输出任务(64d)的起动时刻(12d),则在执行准备状态监视变量单元(82)上加上1变为1。
通过上述控制的效果,可以把电源电压以及动作频率的控制切换时刻设置为最佳。并且已知一般情况下消耗电力与电源电压的平方和动作频率的乘积成比例。例如,当把电源电压以及动作频率数的组合设置为1.25[V]、60[MHz]、和1.5[V]、120[MHz]的2个电力模式进行电力控制的情况下,因为电源电压的比率是0.83,动作频率的比例为一定数值,所以和通常在1.5[V]、120[MHz]下动作的消耗电力相比,可以使消耗电力下降约65%。另外因为消耗能量与电源电压的平方和在低电源电压下的执行周期的乘积成比例,所以如果把低电源电压控制和高电源电压控制的执行周期比假设为从50%至90%,则和通常在1.5[V]、120[MHz]下动作的消耗能量相比,可以节省约15%到25%的消耗能量。
图15是展示本发明的实施例2的概念图。和图4不同之处是设置有多个假想WCET(42)。在实施例1中,为了简单,确定是否有执行准备状态(33)的任务(24)使用WCET(14)或使用假想WCET(42)。与此相反,在本实施例中,设置多个假想WCET,当处于执行准备状态(33)的任务(24)的个数多的情况下,控制为在更短的时间内结束。例如,当执行准备状态的任务有3个的情况下(R=3),从右开始和第3个假想WCET比较。通过这样设置多个假想WCET(42),与处于执行准备状态(33)中的任务(24)的个数对应地进行选择,可以进行更细致的电力控制。另外,处于执行准备状态(33)的任务(24)的个数多,相当于处理器(21)必须处理的任务(24)多。在本实施例中,因为通过控制电力模式使得处于执行准备状态(33)的任务(24)越多,则越尽快结束处理,所以可以提供可靠性高的电力控制系统。
图16是说明实施本发明的由1个处理器构成的信息处理装置的一实施例的图。特别假设把1个处理器的构成适用于手机。
相当于图1的处理器CPU(21)的部分是基带处理器BB-CPU(21b)。基带处理器(21b)主要实施数字通信处理以及通信协议处理,而不进行通信处理时也进行应用程序处理。基带处理器(21b)的端子直接与和天线(151)连接的模拟无线电路(以下,称为RF)(152)、用于通话的微型麦克风(153)、用于重放通话和音乐的扬声器(154)以及总线(53)连接。
相当于图1的I/O(55)的部分,在图16中只要置换为CMOS或者CCD照相机CAM(155)和液晶或者有机EL显示器DPY(156)即可。
另外存储器(54)使用在闪存中有代表性的非易失性存储器FLMEM(54a)和在SRAM中有代表性的易失性存储器SRAM(54b)。
在非易失性存储器(54a)中,存储程序命令的主体和固定变量等的静态程序数据。即,安装RTOS(23)、执行准备状态监视程序模块(56)、电力/能量控制程序模块(57)、应用程序/中间件程序模块(58)。
另一方面,为了实现用程序命令读写的动态变量而使用易失性存储器(54b)。即易失性存储器(54b)具备:RTOS(23)的动态存储区域(157a)、执行准备状态监视程序模块(56)的动态存储区域(157b)、电力/能量控制程序模块(57)的动态存储区域(157c)、应用程序/中间件程序模块(58)的动态存储区域(157d)。
图17是说明实施本发明的由2个处理器构成的信息处理装置的一实施例的图。在图16的信息处理装置中,当需要同时实施通信信号处理以及通信协议处理和多媒体处理的情况下,在基带处理器BB-CPU(21b)中的负荷非常重。因而,把通信处理用途的基带处理器(21b)和多媒体处理用途的应用程序处理器AP-CPU(21a)安装在信息处理装置中。这里也可以在基带处理器(21b)和应用程序处理器(21a)的两者中适用本申请发明。
以上,根据实施例进行了说明,但只要不脱离本发明的主旨就可以有各种变更。例如,虽然使用低电力模式和高电力模式2种说明了电力模式,但并不限于此。即,也可以设置成多种电力模式,根据WCET或者假想WCET和各应用程序片段的处理结束时的累计执行时间的差,即时间富裕,从多种电力模式中选择一个电力模式。通过这种构成,可以更细致地进行电力控制。另外,电力模式虽然是用模式改变动作频率和电源电压,但例如电源电压不改变,而只改变动作频率也可以。
本发明在信息处理装置中,特别是在信息处理通信装置中适用有效。

Claims (17)

1.一种信息处理装置,是具有处理器、内置在上述处理器中或者被设置在上述处理器的外部的硬件定时器、向上述处理器以及硬件定时器提供时钟的时钟脉冲发生器的信息处理装置,其特征在于:
上述硬件定时器计量从应用程序任务的开始到现在时刻为止的处理时间;
上述应用程序任务被分割为多个处理单位;
上述处理器比较在上述应用程序任务的上述多个处理单位中处理规定的处理单位所需要的时间和上述处理单位的最差执行时间,根据上述比较结果,改变从上述时钟脉冲发生器输出的动作频率;
上述处理器当通过上述应用程序任务的处理过程中的中断而起动的其它应用程序任务占用了上述处理器的计算资源时,计数处于执行准备状态的应用程序任务数,当在上述要执行的其它应用程序任务以外存在上述处于执行准备状态的应用程序任务的情况下,通过上述执行准备状态监视任务,提高上述动作频率和上述电源电压,当不存在的情况下,通过上述执行准备状态监视任务降低上述动作频率和上述电源电压。
2.根据权利要求1所述的信息处理装置,其特征在于:
上述处理器,在执行上述应用程序任务时,当已知在上述应用程序任务以外存在上述处于执行准备状态的其它应用程序任务的情况下,上述应用程序任务比较比上述最差执行时间快的假想最差执行时间和处理上述规定的处理单位所需要的时间。
3.根据权利要求2所述的信息处理装置,其特征在于:
上述处理器当比较上述最差执行时间或者上述假想最差执行时间和处理上述规定的处理单位所需要的时间的结果,即上述最差执行时间或者上述假想最差执行时间和处理上述规定处理单位所需要的时间的差比规定时间大的情况下,降低用于执行现在正在执行处理中的上述应用程序任务的上述动作频率和上述电源电压,当上述时间的差比规定时间小的情况下,提高上述动作频率和上述电源电压。
4.根据权利要求1所述的信息处理装置,其特征在于:
上述处理器当通过询问上述执行准备状态监视任务,知道了在上述其它应用程序任务以外存在上述处于执行准备状态的应用程序任务的情况下,在知道了上述其它应用程序任务不存在比上述最差执行时间快的预先设定的假想最差执行时间的情况下,根据原最差执行时间计量时间富裕的程度。
5.根据权利要求4所述的信息处理装置,其特征在于:
上述处理器当根据上述最差执行时间或者上述假想最差执行时间计量的时间富裕程度比预先决定的时间富裕大的情况下,降低用于执行现在正在执行处理中的上述应用程序任务的上述动作频率和上述电源电压,当小的情况下,提高上述动作频率和上述电源电压。
6.根据权利要求2所述的信息处理装置,其特征在于:
上述处理器,根据上述处于执行准备状态的应用程序任务的个数,改变加快上述假想最差执行时间的上述最差执行时间的程度。
7.权利要求4所述的信息处理装置,其特征在于:
上述处理器,针对上述其它应用程序任务的询问,计数上述处于执行准备状态的应用程序任务数,用系统调用通知上述处于执行准备状态的上述应用程序任务数或者有无。
8.权利要求4所述的信息处理装置,其特征在于:
上述处理器基于操作系统动作。
9.一种信息处理装置,是具备处理器、定时器、时钟发生电路、动作电压提供电路的信息处理装置,其特征在于:
上述定时器计量由上述处理器执行的应用程序任务的执行时间,
上述应用程序任务被分割为多个处理单位;
上述信息处理装置管理处于执行准备状态中的应用程序任务的个数;
上述信息处理装置在使用上述处理器执行上述第1应用程序任务时,当处于执行准备状态的应用程序任务比规定数少的情况下,针对上述多个处理单位的每个,管理对应的处理单位的处理应该结束的最差执行时间,在使用上述处理器执行上述第1应用程序任务时,当处于执行准备状态的应用程序的个数比规定数多的情况下,针对上述多个处理单位的每个,管理比对应的上述最差执行时间短的假想最差执行时间。
10.根据权利要求9所述的信息处理装置,其特征在于:
上述信息处理装置具有第1电力模式和比上述第1电力模式消耗电力小的第2电力模式,在上述第1应用程序任务的规定的处理单位结束的时刻,比较由上述定时器计量的上述规定的处理单位的执行时间和与上述规定的处理单位对应的上述最差执行时间或上述假想最差执行时间,
上述信息处理装置当与上述规定的处理单位对应的上述最差执行时间或上述假想最差执行时间与上述规定的处理单位的执行时间的差比规定时间大的情况下,在上述第2电力模式下动作,当比上述规定时间小的情况下,在上述第1电力模式下动作。
11.根据权利要求10所述的信息处理装置,其特征在于:
对于上述处理器的动作频率,上述第2电力模式比上述第1电力模式小,
对于上述处理器的动作电压,上述第2电力模式比上述第1电力模式小。
12.根据权利要求11所述的信息处理装置,其特征在于:
上述信息处理装置在上述第2电力模式下动作的状态下,当上述第1应用程序任务的规定的处理单位结束时,当处于执行准备状态的应用程序任务数比规定数大的情况下,转移到上述第1电力模式。
13.一种操作系统,是控制具有处理器、定时器的信息处理装置的动作的操作系统,其特征在于:
上述操作系统,
把由上述处理器执行的应用程序任务分割为多个处理单位,管理处于执行准备状态的应用程序任务的个数,
在使用上述处理器执行第1应用程序任务时,当处于执行准备状态的应用程序任务比规定数少的情况下,针对上述多个处理单位的每个,管理各个处理单位的处理应该结束的最差执行时间,在用上述处理器执行上述第1应用程序任务时,当处于执行准备状态的应用程序任务数比规定数多的情况下,针对上述多个处理单位的每个,管理比对应的上述最差执行时间短的假想最差执行时间。
14.根据权利要求13所述的操作系统,其特征在于:
上述信息处理装置具有第1电力模式和比上述第1电力模式消耗电力小的第2电力模式,
上述操作系统在上述第1应用程序任务的规定的处理单位结束的时刻,比较由上述定时器计量的上述规定的处理单位的执行时间和与上述规定的处理单位对应的上述最差执行时间或上述假想最差执行时间,当与上述规定的处理单位对应的上述最差执行时间或上述假想最差执行时间与上述规定的处理单位的执行时间的差比规定时间大的情况下,使上述信息处理装置在上述第2电力模式下动作,当比上述规定时间小的情况下,使上述信息处理装置在上述第1电力模式下动作。
15.根据权利要求14所述的操作系统,其特征在于:
上述操作系统在上述信息处理装置在上述第2电力模式下动作的状态下,当上述第1应用程序任务的规定的处理单位结束时,当处于执行准备状态的应用程序任务数比规定数多的情况下,使上述信息处理装置转移到上述第1电力模式。
16.根据权利要求13所述的操作系统,其特征在于:
上述操作系统起动管理处于执行准备状态的应用程序任务数的执行准备状态监视任务,通过由上述处理器对上述多个处理单位的每个执行上述执行准备状态监视任务,来管理处于执行准备状态的应用程序的个数。
17.一种信息处理装置,在控制具有处理器、定时器的信息处理装置的动作的操作系统,其特征在于:
具备用于输出上述处于执行准备状态的应用程序任务数的系统调用,
当在上述应该执行的其它应用程序任务以外存在上述处于执行准备状态的应用程序任务的情况下,提高上述动作频率和上述电源电压,当不存在的情况下,通过上述执行准备状态监视任务降低上述动作频率和上述电源电压。
CNB2004100048806A 2003-12-17 2004-02-10 信息处理装置以及操作系统 Expired - Lifetime CN100535833C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP418908/2003 2003-12-17
JP2003418908A JP4433782B2 (ja) 2003-12-17 2003-12-17 情報処理装置及びオペレーティングシステム

Publications (2)

Publication Number Publication Date
CN1629774A true CN1629774A (zh) 2005-06-22
CN100535833C CN100535833C (zh) 2009-09-02

Family

ID=34510626

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2004100048806A Expired - Lifetime CN100535833C (zh) 2003-12-17 2004-02-10 信息处理装置以及操作系统

Country Status (4)

Country Link
US (1) US7146513B2 (zh)
EP (1) EP1544716B1 (zh)
JP (1) JP4433782B2 (zh)
CN (1) CN100535833C (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102981405A (zh) * 2011-09-06 2013-03-20 空中客车运营简化股份公司 具有短执行时限的鲁棒系统控制方法
CN104020835A (zh) * 2013-02-28 2014-09-03 株式会社东芝 信息处理设备和操作状态控制方法

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005011166A (ja) * 2003-06-20 2005-01-13 Renesas Technology Corp 情報処理装置
US7565562B2 (en) * 2004-09-03 2009-07-21 Intel Corporation Context based power management
US8108863B2 (en) * 2005-12-30 2012-01-31 Intel Corporation Load balancing for multi-threaded applications via asymmetric power throttling
WO2007077516A1 (en) * 2006-01-06 2007-07-12 Koninklijke Philips Electronics, N.V. Power aware dynamic scheduling in multiprocessor system employing voltage islands
TW200736915A (en) * 2006-02-09 2007-10-01 Ziep Software Inc A method for driving a peripheral device
US20100005323A1 (en) * 2006-06-07 2010-01-07 Yuki Kuroda Semiconductor integrated circuit
JP4808108B2 (ja) * 2006-08-29 2011-11-02 パナソニック株式会社 プロセッサシステム
US9395786B2 (en) * 2007-11-20 2016-07-19 Hewlett Packard Enterprise Development Lp Cross-layer power management in a multi-layer system
JP2009220459A (ja) 2008-03-17 2009-10-01 Ricoh Co Ltd 機器の制御装置、画像形成装置、プログラム
US8661443B2 (en) 2009-04-17 2014-02-25 Empire Technology Development, Llc Scheduling and/or organizing task execution for a target computing platform
CN102754080B (zh) * 2010-02-23 2015-05-13 富士通株式会社 多核处理器系统、中断程序、以及中断方法
FR2969776B1 (fr) 2010-12-23 2013-01-11 Thales Sa Procede de gestion de la consommation energetique d'une application executable dans differents environnements et architecture logicielle mettant en oeuvre un tel procede
EP2482147B1 (de) * 2011-01-31 2013-10-16 Siemens Aktiengesellschaft Verfahren zur Anpassung der Taktfrequenz eines Mikroprozessors einer industriellen Automatisierungskomponente, und Automatisierungskomponente mit einem Mikroprozessor mit veränderlicher Taktfrequenz
WO2012104900A1 (ja) * 2011-01-31 2012-08-09 トヨタ自動車株式会社 安全制御装置および安全制御方法
KR20130004737A (ko) * 2011-07-04 2013-01-14 삼성전자주식회사 영상 표시 방법 및 장치
JP5794010B2 (ja) * 2011-07-19 2015-10-14 富士通株式会社 情報処理装置、制御プログラムおよび制御方法
KR101901587B1 (ko) 2011-12-13 2018-10-01 삼성전자주식회사 연성 실시간 운영체제의 실시간성을 확보하는 방법 및 장치
KR102002899B1 (ko) 2012-12-18 2019-07-23 삼성전자 주식회사 시스템-온 칩, 이의 동작 방법, 및 이를 포함하는 장치
US10409353B2 (en) 2013-04-17 2019-09-10 Qualcomm Incorporated Dynamic clock voltage scaling (DCVS) based on application performance in a system-on-a-chip (SOC), and related methods and processor-based systems
US9541985B2 (en) 2013-12-12 2017-01-10 International Business Machines Corporation Energy efficient optimization in multicore processors under quality of service (QoS)/performance constraints
JP5867630B2 (ja) * 2015-01-05 2016-02-24 富士通株式会社 マルチコアプロセッサシステム、マルチコアプロセッサシステムの制御方法、およびマルチコアプロセッサシステムの制御プログラム
KR101918364B1 (ko) 2016-12-07 2018-11-13 강원대학교산학협력단 컴포넌트 기반 시스템에 대한 실시간 적합성 검사 방법 및 장치 및 컴퓨터 판독 가능한 저장 매체

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4145735A (en) * 1977-02-02 1979-03-20 Nippon Steel Corporation Monitor for priority level of task in information processing system
US4408273A (en) * 1980-05-27 1983-10-04 International Business Machines Corporation Method and means for cataloging data sets using dual keyed data sets and direct pointers
US4951189A (en) * 1987-10-03 1990-08-21 Nissan Motor Company, Limited Sequence control system and method
JPH04257010A (ja) * 1991-02-08 1992-09-11 Nec Corp システムクロック切り替え機構
DE69532596T2 (de) * 1994-05-09 2004-08-05 Canon K.K. Verfahren zur Steuerung der Stromversorgung in einer Mehrprozessbetriebsumgebung
JP2974950B2 (ja) * 1995-10-26 1999-11-10 インターナショナル・ビジネス・マシーンズ・コーポレイション 情報処理システム
US6298448B1 (en) * 1998-12-21 2001-10-02 Siemens Information And Communication Networks, Inc. Apparatus and method for automatic CPU speed control based on application-specific criteria
JP2001256067A (ja) * 2000-03-08 2001-09-21 Mitsubishi Electric Corp プロセッサ省電力制御方法、記憶媒体、およびプロセッサ省電力制御装置
JP2002318646A (ja) * 2001-04-24 2002-10-31 Sony Corp 情報処理装置および方法
JP4139579B2 (ja) 2001-06-19 2008-08-27 株式会社ルネサステクノロジ 半導体装置および半導体装置の動作モード制御方法
JP3610930B2 (ja) * 2001-07-12 2005-01-19 株式会社デンソー オペレーティングシステム、プログラム、車両用電子制御装置
JP3830133B2 (ja) 2001-11-06 2006-10-04 株式会社日立製作所 電力制御装置及び方法並びに電力制御プログラム
US7036032B2 (en) * 2002-01-04 2006-04-25 Ati Technologies, Inc. System for reduced power consumption by phase locked loop and method thereof
WO2009000049A1 (en) * 2007-06-28 2008-12-31 Crc Smartprint Pty Ltd Intrinsically conducting polymers

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102981405A (zh) * 2011-09-06 2013-03-20 空中客车运营简化股份公司 具有短执行时限的鲁棒系统控制方法
CN104020835A (zh) * 2013-02-28 2014-09-03 株式会社东芝 信息处理设备和操作状态控制方法

Also Published As

Publication number Publication date
JP4433782B2 (ja) 2010-03-17
US7146513B2 (en) 2006-12-05
EP1544716A3 (en) 2012-01-04
EP1544716A2 (en) 2005-06-22
CN100535833C (zh) 2009-09-02
EP1544716B1 (en) 2014-08-13
US20050138452A1 (en) 2005-06-23
JP2005182223A (ja) 2005-07-07

Similar Documents

Publication Publication Date Title
CN1629774A (zh) 信息处理装置以及操作系统
TWI260543B (en) Performance scheduling method and system, and computer readable medium
CN103782272B (zh) 在异构核之间切换任务
Yuan et al. Grace-1: Cross-layer adaptation for multimedia quality and battery energy
CN101040241A (zh) 基于情境的功率管理
Mesarina et al. Reduced energy decoding of MPEG streams
US8452997B2 (en) Method and system for suspending video processor and saving processor state in SDRAM utilizing a core processor
CN102017647A (zh) 在多媒体装置中协调功率管理功能
CN1641614A (zh) 处理器系统,dma控制电路,dma控制方法,dma控制器用控制方法,图形处理方法和图形处理电路
JP2013527507A (ja) 保証された遷移期限で中央処理装置電力を制御するためのシステムおよび方法
JP2008077563A (ja) 電子機器およびcpu動作環境制御プログラム
CN1896946A (zh) 一种多显示屏并行显示的电子设备设计方案
Raghunathan et al. Adaptive power-fidelity in energy-aware wireless embedded systems
CN1447543A (zh) 无线通信装置以及无线通信方法
US20090164810A1 (en) Methods, apparatuses, and computer program products for managing power usage in mobile devices
CN1774929A (zh) 动态图像编码或解码处理系统以及动态图像编码或解码处理方法
US20140089694A1 (en) Dynamically controlling power based on work-loop performance
CN1229719C (zh) 运算器的功率控制方法
US20090077290A1 (en) Controller for processing apparatus
JP3830133B2 (ja) 電力制御装置及び方法並びに電力制御プログラム
CN114363593A (zh) 显示设备的运行方法、装置、计算机可读介质及显示设备
TWI770516B (zh) 操作頻率調整方法及電腦程式產品及裝置
TW202009698A (zh) 操作頻率調整方法及電腦程式產品及裝置
CN1301005C (zh) 信息处理装置及使用它的电子设备
KR100951564B1 (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
ASS Succession or assignment of patent right

Owner name: HITACHI LTD.

Free format text: FORMER OWNER: HITACHI,LTD.

Effective date: 20111117

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20111117

Address after: Tokyo, Japan

Patentee after: HITACHI CONSUMER ELECTRONICS Co.,Ltd.

Address before: Tokyo, Japan

Patentee before: Hitachi, Ltd.

ASS Succession or assignment of patent right

Owner name: HITACHI MAXELL LTD.

Free format text: FORMER OWNER: HITACHI LTD.

Effective date: 20150407

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150407

Address after: Osaka, Japan

Patentee after: Hitachi Maxell, Ltd.

Address before: Tokyo, Japan

Patentee before: Hitachi Consumer Electronics Co.,Ltd.

TR01 Transfer of patent right

Effective date of registration: 20171214

Address after: Kyoto Japan

Patentee after: MAXELL, Ltd.

Address before: Osaka, Japan

Patentee before: Hitachi Maxell, Ltd.

TR01 Transfer of patent right
CP01 Change in the name or title of a patent holder

Address after: Kyoto Japan

Patentee after: MAXELL, Ltd.

Address before: Kyoto Japan

Patentee before: MAXELL HOLDINGS, Ltd.

CP01 Change in the name or title of a patent holder
TR01 Transfer of patent right

Effective date of registration: 20220606

Address after: Kyoto Japan

Patentee after: MAXELL HOLDINGS, Ltd.

Address before: Kyoto, Japan

Patentee before: MAXELL, Ltd.

TR01 Transfer of patent right
CX01 Expiry of patent term

Granted publication date: 20090902

CX01 Expiry of patent term