JP4490298B2 - Processor power control apparatus and processor power control method - Google Patents

Processor power control apparatus and processor power control method Download PDF

Info

Publication number
JP4490298B2
JP4490298B2 JP2005017643A JP2005017643A JP4490298B2 JP 4490298 B2 JP4490298 B2 JP 4490298B2 JP 2005017643 A JP2005017643 A JP 2005017643A JP 2005017643 A JP2005017643 A JP 2005017643A JP 4490298 B2 JP4490298 B2 JP 4490298B2
Authority
JP
Japan
Prior art keywords
task
required performance
processor
processing
performance value
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.)
Expired - Fee Related
Application number
JP2005017643A
Other languages
Japanese (ja)
Other versions
JP2005285093A (en
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2005017643A priority Critical patent/JP4490298B2/en
Publication of JP2005285093A publication Critical patent/JP2005285093A/en
Application granted granted Critical
Publication of JP4490298B2 publication Critical patent/JP4490298B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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

  • Power Sources (AREA)

Description

この発明は、プロセッサを用いた装置において、要求動作を行うプロセッサへの電力を低消費電力に抑えた、電力制御に関するものである。   The present invention relates to power control in an apparatus using a processor in which power to a processor performing a requested operation is suppressed to low power consumption.

モバイル機器に代表されるバッテリ駆動式の情報機器においては、バッテリ持続時間を出来るだけ延長するという観点において、消費電力の削減が大きな課題となっている。またそれだけでなく、商用電源を利用する情報機器においても、環境保全という観点から低消費電力化が推奨されている。
情報機器において、機器のメインコントローラであるCPU(Central Processing Unit)の消費電力が、機器全体の消費電力に占める割合は高い。従って、CPUの消費電力を削減することが装置全体の低消費電力化につながる。
CPUの消費電力は、一般に以下の式(1)により表される。
P∝fV (1)
ここで、f:動作周波数,V:動作電圧である。
In battery-driven information devices typified by mobile devices, reduction of power consumption is a major issue in terms of extending battery duration as much as possible. In addition, low power consumption is also recommended for information devices that use commercial power sources from the viewpoint of environmental protection.
In information equipment, the power consumption of a CPU (Central Processing Unit), which is the main controller of the equipment, accounts for a large percentage of the power consumption of the entire equipment. Therefore, reducing the power consumption of the CPU leads to lower power consumption of the entire apparatus.
The power consumption of the CPU is generally expressed by the following formula (1).
P∝fV 2 (1)
Here, f: operating frequency and V: operating voltage.

一般的なリアルタイムシステムにおいて、動作電圧fは、同時に起こり得る全てのイベントが、同時に発生した場合に、全てのイベントに対する処理が規定時間以内に終了するように設定される。すなわち、ワーストケースを考慮して決定される。また、動作電圧Vは、上記の動作周波数fでCPUが動作するように設定される。
従って、動作周波数fと動作電圧Vは、システムのワーストケースを考慮して設定されるため、通常のケースでは、動作周波数fと動作電圧Vは、より低い値に設定することが可能である。
このような観点により、システム動作中に動的に動作周波数や動作電圧を変更することが、CPUの低電力化に有効である。
In a general real-time system, the operating voltage f is set so that processing for all events is completed within a specified time when all events that can occur simultaneously occur at the same time. That is, it is determined in consideration of the worst case. The operating voltage V is set so that the CPU operates at the operating frequency f.
Therefore, since the operating frequency f and the operating voltage V are set in consideration of the worst case of the system, the operating frequency f and the operating voltage V can be set to lower values in a normal case.
From this point of view, dynamically changing the operating frequency and operating voltage during system operation is effective for reducing the power consumption of the CPU.

リアルタイムシステムにおいては、イベントに対する処理をタスクという実行単位で実行する。複数のイベントに対処するためには、リアルタイムOSが複数のタスクの中から1つのタスクを選択してCPUを割り当てる。
例えば、特許文献1においては、CPUの省電力化の目的で動的に動作周波数と動作電圧を制御する方式を採用し、周期性を持ったタスクのリアルタイム性を保証する制御方式を開示している。同公報で開示された制御方式では、周期性を持ったタスクを対象としており、動作周波数と動作電圧の算出手段に、次にタスクが起動される時刻が既知であることを利用している。
しかしながら、一般のリアルタイムシステムでは、必ずしもイベントに周期性が無い場合が少なくない。例えば、キーボードの入力を一定時間以内に画面に表示するアプリケーションにおいて、キーボードの入力に周期性は無い。このような観点から、周期性の無いイベントに対してもリアルタイム性を保証することが求められている。もしこの周期性がないキーボードの入力も調べようとすると、定期的にキーボード入力を調べる動作となり、そのための時間的に余分な動作が必要であり、またそのために余分な電力も要る。
In a real-time system, processing for an event is executed in units of execution called tasks. In order to deal with a plurality of events, the real-time OS selects one task from a plurality of tasks and assigns a CPU.
For example, Patent Document 1 discloses a control method that employs a method of dynamically controlling an operating frequency and an operating voltage for the purpose of power saving of a CPU, and guarantees a real-time property of a task having periodicity. Yes. In the control method disclosed in the publication, a task having periodicity is targeted, and the fact that the time when the task is activated next is known to the operating frequency and operating voltage calculation means.
However, in a general real-time system, there are many cases where events do not necessarily have periodicity. For example, in an application that displays keyboard input on a screen within a certain time, keyboard input has no periodicity. From such a viewpoint, it is required to guarantee real-time characteristics even for events having no periodicity. If an attempt is made to check the keyboard input without this periodicity, the keyboard input is periodically checked, and an extra time is required for that purpose, and extra power is also required.

また、特許文献2では、CPUの省電力化のために、システムを構成するタスクの1つ1つにCPU使用量を定義し、実行中のタスクと、実行待ちのタスクのCPU使用量を加算することで、CPUの総使用量を算出し、それに基づいてCPUの動作周波数を決定する制御装置について開示している。
同公報による制御装置は、1つ以上のタスクが実行中もしくは実行待ちの状態で、新たなタスクが起動された場合は、CPUの処理性能を上げてタスク状態に適合し、2つ以上のタスクが実行中もしくは実行待ちの状態で、タスクが終了した場合は、CPU処理性能を下げて適合しようとする。
しかしながらリアルタイムシステムにおいて、上記構成ではタスクが終了した場合の処理に不都合が生じる場合がある。具体例を示すと、時刻T0にタスクAが起動され、タスクAが終了する前の時刻T1にタスクBが起動されたケースでは、時刻T0から時刻T1までの期間、CPUはタスクAのCPU使用量に応じた動作周波数に設定される。次に時刻T1からタスクAの処理が終了する時刻T2までの期間は、タスクAとタスクBのCPU使用量を加算した総CPU使用量に応じて動作周波数が設定される。そして、タスクBの処理が開始される時刻T2以後は、タスクBのCPU使用量に応じて動作周波数が設定される。
即ち、タスクBは、時刻T1に起動されたにもかかわらず、時刻T2に処理が開始され、時刻T2からタスクBのCPU使用量に応じた動作周波数で処理されることになる。このことは、タスクBは、T2−T1時間だけ遅れて終了することを意味し、リアルタイム性が保証されたとは言えないことになる。
Further, in Patent Document 2, in order to save CPU power, CPU usage is defined for each task constituting the system, and the CPU usage of tasks being executed and tasks waiting to be added is added. Thus, a control device is disclosed that calculates the total usage of the CPU and determines the operating frequency of the CPU based thereon.
When one or more tasks are being executed or are waiting to be executed and a new task is activated, the control device according to this publication increases the processing performance of the CPU and adapts to the task state, so that two or more tasks Is running or waiting to be executed, it tries to adapt by lowering the CPU processing performance.
However, in the real-time system, the above configuration may cause inconvenience in processing when a task is completed. As a specific example, in a case where task A is activated at time T0 and task B is activated at time T1 before task A ends, the CPU uses the CPU of task A during the period from time T0 to time T1. The operating frequency is set according to the amount. Next, during a period from time T1 to time T2 when the processing of task A ends, the operating frequency is set according to the total CPU usage amount obtained by adding the CPU usage amounts of task A and task B. Then, after time T2 when the processing of task B is started, the operating frequency is set according to the CPU usage of task B.
That is, the task B is started at the time T1, although the task B is started at the time T1, and is processed at the operating frequency corresponding to the CPU usage amount of the task B from the time T2. This means that task B ends with a delay of T2-T1 time, and it cannot be said that real-time performance is guaranteed.

また特許文献3では、CPUの省電力化のために、タスク処理時間をタスク毎に算出し、タスク処理要求時間と比較することで、動作周波数と動作電圧を最適化するシステムクロック決定装置が開示されている。
本技術は、タスクの起動と停止の度に、タスク毎に処理時間を算出することを特長とするが、この算出処理は、除算の商や余りを利用するといった複雑で時間がかかり、電力を必要とする。このような計算を、タスクの数だけ行う必要がある。
リアルタイム性能や低電力化を目的とする場合、動作周波数や動作電圧の算出は、短時間で、それにかかる電力も小さくなくてはならない。
特開2002−99432号公報 特開平10−143274号公報 特開平9−297688号公報
Patent Document 3 discloses a system clock determination device that optimizes the operating frequency and the operating voltage by calculating task processing time for each task and comparing it with the task processing request time for power saving of the CPU. Has been.
This technology is characterized in that the processing time is calculated for each task each time the task is started and stopped, but this calculation process is complicated and time consuming, such as using the quotient or remainder of division, and power consumption is reduced. I need. It is necessary to perform such calculation for the number of tasks.
For the purpose of real-time performance and low power consumption, the calculation of the operating frequency and operating voltage must be done in a short time and the power applied to it must be small.
JP 2002-99432 A JP 10-143274 A JP-A-9-297688

従来のCPU省電力化制御装置は上記のように構成されており、以下の不具合がある。
即ち、特許文献1に示される、リアルタイム性を保証しつつ、動的に動作周波数と動作電圧を制御する電力制御方式では、タスクに周期性を持たせるという条件がつく。
また特許文献2に示される、単純に残存タスクのみで動作を決める方式では、リアルタイム性を保証できない場合があるという課題がある。
また特許文献3に示される方式では、動作電圧と動作周波数を決めるための計算に、高いコスト(時間、電力)がかかるといった課題がある。
The conventional CPU power saving control device is configured as described above and has the following problems.
In other words, the power control method disclosed in Patent Document 1 that dynamically controls the operating frequency and the operating voltage while guaranteeing the real-time property requires the task to have periodicity.
Further, the method of simply determining the operation with only the remaining task shown in Patent Document 2 has a problem that real-time performance may not be guaranteed.
In addition, the method disclosed in Patent Document 3 has a problem that high cost (time and power) is required for calculation for determining the operating voltage and the operating frequency.

本発明は、これらの課題を解決するためのものであり、複数のタスクを扱うリアルタイムシステムにおいて、イベント処理に対するリアルタイム性を保証しつつ、低コストでCPUの動作周波数と動作電圧を最適に制御する方式を得ることを目的とする。   The present invention is for solving these problems, and in a real-time system that handles a plurality of tasks, the CPU operating frequency and operating voltage are optimally controlled at low cost while guaranteeing real-time performance for event processing. The purpose is to obtain a method.

この発明に係るプロセッサ電力制御装置は、複数のタスクを順次制御するプロセッサへの電力を供給する構成において、
上記タスクを単独で処理し終えるために要求されるシステム要求性能値を記憶するタスク要求性能テーブルと、
上記タスクから処理要求があると、上記タスク要求性能テーブルを参照してシステム要求性能値を求め、更に新たなタスクから処理要求があると、該新たな処理要求時点において同時に処理要求を行っている各タスクの合計で決まる新たなシステム要求性能値を求めるシステム要求性能算出ブロックと、
上記求められたシステム要求性能値に基いてプロセッサの動作周波数を設定し、上記要求されたタスクの処理を終えると、残存タスクがあれば動作周波数の設定を続行し、残存タスクがなければ省電力の動作周波数を設定する電力モード判定ブロック、とを備えた。
The processor power control apparatus according to the present invention is configured to supply power to a processor that sequentially controls a plurality of tasks.
A task requirement performance table that stores system requirement performance values required to finish processing the task alone;
When there is a processing request from the task, the system required performance value is obtained by referring to the task request performance table, and when there is a processing request from a new task, the processing request is simultaneously made at the time of the new processing request. System requirement performance calculation block for obtaining a new system requirement performance value determined by the total of each task,
Set the operating frequency of the processor based on the calculated system required performance value, and when the requested task has been processed, continue setting the operating frequency if there are remaining tasks, and save power if there are no remaining tasks. And a power mode determination block for setting the operating frequency.

タスク要求テーブルと電力モードテーブルとシステム要求性能算出ブロックとリアルタイム性を保証する電力モード判定ブロックとを備えたので、リアルタイム性を保証しつつ容易にCPUを省電力動作させられる効果がある。   Since the task request table, the power mode table, the system required performance calculation block, and the power mode determination block that guarantees real-time performance are provided, there is an effect that the CPU can easily operate to save power while guaranteeing real-time performance.

実施の形態1.
図1は、実施の形態1のシステム構成を示したものである。
図において、OS10は、複数のタスクから1つのタスクを選択してCPU30に割り付ける一般的なタスクスケジューリング機能に加えて、タスクの起動/停止11cを電力制御ブロック20に通知する機能を備えたタスクスケジューラ11を含む。また、タスクスケジューラ11は、外部からタスク状態を参照する要求に応えて、タスク状態11bを出力することができる。
電力制御ブロック20は、個々のタスクの要求性能をタスク要求性能テーブル22に管理する。電力制御ブロック20は、タスクスケジューラ11が出力するタスク状態11bとタスクの要求性能から、タスクのリアルタイム性を保証するために必要なシステムの要求性能をシステム要求性能算出ブロック21で計算する。そして、このシステムの要求性能を満たし、かつ、最も消費電力が小さくなるように、CPU33の電力モードを選択する電力モード判定ブロック23を有する。この判定は複雑な計算を必要とせず、例えばテーブル参照のみで電力モードを決めることができる。このとき以下に詳述するように、この電力モード判定ブロックは、あるタスクを終了した場合にも、残存タスクの処理リアルタイム性を保証するように電力モードを選択する。電力モードは、動作周波数と動作電圧の組み合わせを指定するもので、図1中の電力モードテーブル25は、その詳細例として図2の電力モードテーブル25で表すことができる。
以上の、CPU33の電力モードを決定するプロセスは、スケジューラ11が通知するタスクの起動/停止11cを通知する度に行う。
Embodiment 1 FIG.
FIG. 1 shows the system configuration of the first embodiment.
In the figure, the OS 10 is a task scheduler having a function of notifying the power control block 20 of a task start / stop 11c in addition to a general task scheduling function that selects one task from a plurality of tasks and assigns it to the CPU 30. 11 is included. Further, the task scheduler 11 can output the task state 11b in response to a request to refer to the task state from the outside.
The power control block 20 manages the required performance of each task in the task required performance table 22. The power control block 20 calculates the required system performance necessary for guaranteeing the real-time property of the task by the system required performance calculation block 21 from the task state 11b output from the task scheduler 11 and the required performance of the task. And it has the electric power mode determination block 23 which selects the electric power mode of CPU33 so that the required performance of this system may be satisfy | filled and power consumption may become the smallest. This determination does not require complicated calculation. For example, the power mode can be determined only by referring to the table. At this time, as will be described in detail below, the power mode determination block selects a power mode so as to guarantee the processing real-time property of the remaining task even when a certain task is terminated. The power mode designates a combination of the operating frequency and the operating voltage, and the power mode table 25 in FIG. 1 can be represented by the power mode table 25 in FIG. 2 as a detailed example.
The process for determining the power mode of the CPU 33 is performed every time the task start / stop 11c notified by the scheduler 11 is notified.

クロック生成部31は、電力制御ブロック20が算出した電力モードが指定する動作周波数のクロックの生成を行いCPU33に供給する。
電圧生成部32は、電力制御ブロック20が算出した電力モードが指定する動作電圧による電源電圧を生成し、CPU33に供給する。
個々のタスクの要求性能をLDtskと表記する。LDtskは、タスクを要求処理時間以内に処理するために必要なCPUの動作周波数を、CPUの最大動作周波数に対してパーセンテージで表現したものであり、以下の式(2)により算出する。
LDtsk=そのタスクをCPUの最大周波数で処理させた時の処理時間/そのタスクの要求処理時間×100 (2)
個々のタスク性能を規定する方法は他にもあるが、上記(2)式に基づいて設定することは重要である。
The clock generation unit 31 generates a clock having an operating frequency specified by the power mode calculated by the power control block 20 and supplies the generated clock to the CPU 33.
The voltage generator 32 generates a power supply voltage based on the operating voltage specified by the power mode calculated by the power control block 20 and supplies the power supply voltage to the CPU 33.
The required performance of each task is expressed as LDtsk. LDtsk expresses the CPU operating frequency required to process a task within the requested processing time as a percentage of the maximum CPU operating frequency, and is calculated by the following equation (2).
LDtsk = processing time when the task is processed at the maximum frequency of the CPU / required processing time of the task × 100 (2)
There are other methods for defining individual task performances, but it is important to set them based on the above equation (2).

あるタスクを処理するのに要するクロック数は、CPUの動作周波数が高い場合の方が多くなる。その理由は、多くのCPUのクロック周期は、I/O(入出力装置)やメモリのアクセス時間に対して充分短いことが多い。このため、I/Oやメモリのアクセスを行うための、CPUのクロック数は、高い周波数でCPUを動作させた場合の方が多くなり、同じタスクを処理する場合でも、動作周波数が高い方がクロック数も多くなる。
このような理由により、リアルタイム性を保証するためには、ワーストケースを考慮する意味において、CPUの最大動作周波数を基準にして、個々のタスクの要求性能を算出する必要がある。
本実施の形態において、システムの要求性能をLDsysとする。LDsysは、タスクの起動と停止11cを出す度に、以下により算出する。
1)タスクが新たに起動された場合は、タスク起動前のLDsysに起動されたタスクのLDtskを加算した値を新たなLDsysとする。
2)タスクが終了した場合で、かつ、実行中、もしくは実行待ちのタスクがある場合は、LDsysを変更しない。
3)タスクが終了した場合で、かつ、実行中、もしくは実行待ちのタスクが無くなった場合は、LDsysを0とする。
The number of clocks required to process a certain task increases when the operating frequency of the CPU is high. The reason for this is that the clock cycle of many CPUs is often short enough for I / O (input / output device) and memory access time. For this reason, the number of CPU clocks for I / O and memory access increases when the CPU is operated at a high frequency, and even when the same task is processed, the operating frequency is higher. The number of clocks also increases.
For these reasons, in order to guarantee real-time performance, it is necessary to calculate the required performance of each task on the basis of the maximum operating frequency of the CPU in the sense of considering the worst case.
In the present embodiment, the required performance of the system is assumed to be LDsys. LDsys is calculated as follows each time the task is started and stopped 11c.
1) When a task is newly activated, a value obtained by adding the LDtsk of the activated task to the LDsys before the task activation is set as a new LDsys.
2) When the task is completed and there is a task being executed or waiting to be executed, LDsys is not changed.
3) LDsys is set to 0 when the task is completed and there is no task being executed or waiting for execution.

上記の1)は、新たなタスクが起動された場合に、その時点で実行中および実行待ち状態にある全てのタスクのリアルタイム性を保証するのに充分な動作周波数と動作電圧を供給する役目を果たす。
上記の2)は、1)により計算された動作周波数と動作電圧を保持することで、全ての実行待ちのタスクにも適用できるようにする。
しかし、1)、2)による処理は、実際に必要となる最低限の動作周波数と動作電圧に対して、少し高い動作周波数と動作電圧を供給することになるかもしれない。
これを、3)により解決する。1)、2)により、動作周波数と動作電圧が少し高く設定されることは、言い換えると、実行中、もしくは実行待ちのタスクが、要求処理時間に対して少し短い時間で処理される結果となる。3)により、LDsysがリセットされる。
上記1)、2)、3)のサイクルにより、CPU33の動作周波数と動作電圧を最適に維持する。
The above 1) serves to supply an operating frequency and an operating voltage sufficient to guarantee the real-time property of all the tasks that are being executed and waiting for execution when a new task is activated. Fulfill.
The above 2) can be applied to all tasks waiting for execution by holding the operating frequency and operating voltage calculated in 1).
However, the processing according to 1) and 2) may provide a slightly higher operating frequency and operating voltage than the minimum operating frequency and operating voltage actually required.
This is solved by 3). In 1) and 2), setting the operating frequency and operating voltage to be slightly higher results in that the task being executed or waiting to be executed is processed in a slightly shorter time than the requested processing time. . By 3), LDsys is reset.
The operating frequency and operating voltage of the CPU 33 are optimally maintained by the above cycles 1), 2) and 3).

次に、以下に示す、3つのタスクを処理する場合の具体的な動作を、CPU33がタスクを処理してゆく時間経過を示す図3を用いて説明する。
ここで各タスクの要求性能を以下の通りとする。
TASK[A]:要求処理時間80μs、LDtsk=20
TASK[B]:要求処理時間100μs、LDtsk=20
TASK[C]:要求処理時間60μs、LDtsk=40
またこの例で使用するCPUの最大動作周波数は100MHzとし、電力モードは、図2に示す6段階とする。
Next, a specific operation in the case of processing the three tasks shown below will be described with reference to FIG. 3 showing the passage of time over which the CPU 33 processes the task.
Here, the required performance of each task is as follows.
TASK [A]: Request processing time 80 μs, LDtsk = 20
TASK [B]: Request processing time 100 μs, LDtsk = 20
TASK [C]: Request processing time 60 μs, LDtsk = 40
Further, the maximum operating frequency of the CPU used in this example is 100 MHz, and the power mode has six stages shown in FIG.

先ず、時刻Ta以前においては、実行中、もしくは実行待ちのタスクが無く、LDsys=0であり、図2により電力モードがPM0である。これに応じて、クロック生成部31は、CPU33に1MHzのクロックを供給し、電圧生成部32は、電圧2.0Vを供給している。
この状態から、図3に示すように、時刻TaにTASK[A]が起動されたとする。
電力制御ブロック20は、TASK[A]のLDtsk=20をLDsysとして、図2の電力モードテーブル25により電力モードをPM1に設定する。これに応じて、クロック生成部31は、CPUに20MHzのクロックを供給し、電圧生成部32は、電圧2.2Vを供給する。この時点で、TASK[A]の終了時刻は、Ta+80μsとなる。
次に、図3に示すように、CPUがTASK[A]を実行中の時刻Tb=Ta+20μsに、TASK[B]が起動されたとする。
電力制御ブロック20は、TASK[B]のLDtsk=20をLDsysに加算して新たなLDsys=40を算出し、図2に基づいて電力モードをPM2に変更する。これに応じて、クロック生成部31は、CPUに40MHzのクロックを供給し、電圧生成部32は、電圧2.4Vを供給する。
First, before the time Ta, there is no task being executed or waiting for execution, LDsys = 0, and the power mode is PM0 according to FIG. In response to this, the clock generator 31 supplies a 1 MHz clock to the CPU 33, and the voltage generator 32 supplies a voltage of 2.0V.
Assume that TASK [A] is activated from this state at time Ta as shown in FIG.
The power control block 20 sets LDtsk = 20 of TASK [A] as LDsys, and sets the power mode to PM1 by the power mode table 25 of FIG. In response to this, the clock generator 31 supplies a 20 MHz clock to the CPU, and the voltage generator 32 supplies a voltage of 2.2V. At this time, the end time of TASK [A] is Ta + 80 μs.
Next, as shown in FIG. 3, it is assumed that TASK [B] is activated at time Tb = Ta + 20 μs while the CPU is executing TASK [A].
The power control block 20 adds LDtsk = 20 of TASK [B] to LDsys to calculate a new LDsys = 40, and changes the power mode to PM2 based on FIG. In response to this, the clock generator 31 supplies a 40 MHz clock to the CPU, and the voltage generator 32 supplies a voltage of 2.4V.

CPUの動作周波数が20MHzから40MHzに変化して、TASK[A]とTASK[B]の終了時刻は、以下と算出される。
TASK[A]は、時刻Taから20μsの期間は20MHzで処理されているので、この時点Tbで、全処理の1/4が終わっている。残りの3/4の処理は、40MHzで処理されるので、これにかかる時間は30μsである。従って、TASK[A]の終了時刻は、Ta+50μsとなる。この時間は、TASK[A]の要求処理時間80μsを満たす。
TASK[B]は、TASK[A]の終了時刻Ta+50μs(=Tb+30μs)に処理が開始され、40MHzで処理される。TASK[B]の40MHzでの処理時間は、50μsであるから、TASK[B]の終了時刻はTb+80μs、すなわち、TASK[B]が起動されてから80μs後となりTASK[B]の要求処理時間100μsを満たす。
時刻Ta+50μsにTASK[A]が終了すると、スケジューラ11は、TASK[B]にCPUを割り付ける。電力制御ブロック20は、実行すべきタスクが存在するので、電力モードを先のPM2のまま維持する。
When the CPU operating frequency changes from 20 MHz to 40 MHz, the end times of TASK [A] and TASK [B] are calculated as follows.
Since TASK [A] is processed at 20 MHz during a period of 20 μs from time Ta, 1/4 of all the processes is completed at this time Tb. Since the remaining 3/4 processing is performed at 40 MHz, the time required for this processing is 30 μs. Therefore, the end time of TASK [A] is Ta + 50 μs. This time satisfies the TASK [A] request processing time of 80 μs.
TASK [B] starts processing at TASK [A] end time Ta + 50 μs (= Tb + 30 μs) and is processed at 40 MHz. Since the TASK [B] processing time at 40 MHz is 50 μs, the TASK [B] end time is Tb + 80 μs, that is, 80 μs after the TASK [B] is activated, and the TASK [B] required processing time is 100 μs. Meet.
When TASK [A] ends at time Ta + 50 μs, the scheduler 11 assigns a CPU to TASK [B]. Since there is a task to be executed, the power control block 20 maintains the power mode as the previous PM2.

図3に示すように、CPUがTASK[B]を実行中の時刻Tc(=Ta+80μs)に、TASK[C]が起動されたとする。
電力制御ブロック20は、TASK[C]のLDtsk=40をそれまでの維持しているLDsys=40に加算して新たなLDsys=80を算出する。この値により、図2の電力モードテーブル25から電力モードをPM4に変更する。これに応じて、クロック生成部31は、CPUに80MHzのクロックを供給し、電圧生成部32は、電圧2.8Vを供給する。
CPUの動作周波数が40MHzから80MHzに変化したことで、TASK[B]とTASK[C]の終了時刻は、以下のように算出される。
TASK[B]は、その処理の開始から30μsの期間は、40MHzで処理されているので、この時点Tcで、全処理の3/5が終わっている。残りの2/5を80MHzで処理するのにかかる時間は、10μsである。従って、TASK[B]の終了時刻は、Tb+70μsとなり、TASK[B]の要求処理時間100μsを満たす。
As shown in FIG. 3, it is assumed that TASK [C] is activated at time Tc (= Ta + 80 μs) when the CPU is executing TASK [B].
The power control block 20 adds LDtsk = 40 of TASK [C] to the LDsys = 40 maintained so far, and calculates a new LDsys = 80. Based on this value, the power mode is changed to PM4 from the power mode table 25 of FIG. In response to this, the clock generation unit 31 supplies an 80 MHz clock to the CPU, and the voltage generation unit 32 supplies a voltage of 2.8V.
Since the operating frequency of the CPU has changed from 40 MHz to 80 MHz, the end times of TASK [B] and TASK [C] are calculated as follows.
Since TASK [B] is processed at 40 MHz for a period of 30 μs from the start of the processing, 3/5 of the entire processing is completed at this time Tc. The time taken to process the remaining 2/5 at 80 MHz is 10 μs. Therefore, the end time of TASK [B] is Tb + 70 μs, which satisfies the required processing time of 100 μs for TASK [B].

TASK[C]は、TASK[B]の終了時刻Tb+70μs(=Tc+10μs)に処理が開始され、80MHzで処理される。TASK[C]の80MHzでの処理時間は、30μsであるから、TASK[C]の終了時刻はTc+40μs、すなわち、TASK[C]が起動されてから40μs後となりTASK[C]の要求処理時間60μsを満たす。
時刻、Tb+40μsにTASK[B]が終了すると、スケジューラは、TASK[C]にCPUを割り付ける。電力制御ブロック20は、実行すべきタスクが存在するので、電力モードをPM4に維持する。
最後に、時刻Tc+40μsにTASK[C]が終了すると、電力制御ブロック20は、他に実行中、もしくは実行待ちのタスクが無いので、LDsys=0とする。この状態では、図2の電力モードテーブル25により電力モードをPM0と設定する。これに応じて、クロック生成部31は、CPUに1MHzのクロックを供給し、電圧生成部32は、電圧2.0Vを供給し、省電力動作となる。
TASK [C] starts processing at TASK [B] end time Tb + 70 μs (= Tc + 10 μs) and is processed at 80 MHz. Since the processing time of TASK [C] at 80 MHz is 30 μs, the end time of TASK [C] is Tc + 40 μs, that is, 40 μs after TASK [C] is activated, and the required processing time of TASK [C] is 60 μs. Meet.
When TASK [B] ends at time Tb + 40 μs, the scheduler assigns the CPU to TASK [C]. Since there is a task to be executed, the power control block 20 maintains the power mode at PM4.
Finally, when TASK [C] ends at time Tc + 40 μs, the power control block 20 sets LDsys = 0 because there is no other task being executed or waiting to be executed. In this state, the power mode is set to PM0 by the power mode table 25 of FIG. In response to this, the clock generation unit 31 supplies a 1 MHz clock to the CPU, and the voltage generation unit 32 supplies a voltage of 2.0 V to perform a power saving operation.

実施の形態2.
本実施の形態では、電力制御ブロックの具体的な構成と動作を説明する。
図4は、本実施の形態における電力制御ブロック20bをハードウェアで構成した場合のブロック図を示したものである。図において、実施の形態1におけるシステム要求性能算出ブロック21をハードウェアの加算器27とLDsysレジスタ26で構成する。また電力モード判定ブロック23と周波数/電圧判定ブロック24を、それぞれハードウェアの電力モード判定回路23bと周波数/電圧判定回路24bで構成する。
Embodiment 2. FIG.
In the present embodiment, a specific configuration and operation of the power control block will be described.
FIG. 4 shows a block diagram when the power control block 20b in the present embodiment is configured by hardware. In the figure, the system required performance calculation block 21 in the first embodiment is constituted by a hardware adder 27 and an LDsys register 26. The power mode determination block 23 and the frequency / voltage determination block 24 are configured by a hardware power mode determination circuit 23b and a frequency / voltage determination circuit 24b, respectively.

この電力制御ブロック20bの動作は、以下のようになる。
先ずタスクの起動にあたっては、スケジューラ11からタスク識別子11dとタスク起動通知11c信号を出力するようにする。電力制御ブロック20bは、個々のタスクのLDtskをタスク要求性能レジスタ22bに保持している。またその実行時のシステム要求性能をLDsysレジスタ26に保持している。そして新たなタスクから処理要求があると、対応してタスク要求性能レジスタ22bからタスク識別子11dで指定されたLDtskを選択して加算器27に出力する。
加算器27は、これらのLDtskとLDsysレジスタ26の内容を加算する回路であり、この結果を、LDsysレジスタ26に、タスク起動通知11c信号を用いてラッチして新たなシステム要求性能に更新する。
The operation of the power control block 20b is as follows.
First, when starting a task, the scheduler 11 outputs a task identifier 11d and a task start notification 11c signal. The power control block 20b holds the LDtsk of each task in the task request performance register 22b. The system required performance at the time of execution is held in the LDsys register 26. When there is a processing request from a new task, the corresponding LDtsk designated by the task identifier 11d is selected from the task request performance register 22b and output to the adder 27.
The adder 27 is a circuit that adds the contents of the LDtsk and the LDsys register 26. The adder 27 latches the result in the LDsys register 26 by using the task activation notification 11c signal and updates it to a new system required performance.

電力モード判定回路23bは、LDsysレジスタ26の出力に応じて、例えば、図2の電力モードテーブル25に基づいて、所定の電力モードを出力する。
周波数/電圧判定回路24bは、例えば、図2のような電力モードに対応した周波数と電圧を指定する信号を出力する。
以下のタスクに対応したCPU33の動作は、実施の形態1で説明した通りである。
本実施の形態に示すように、電力制御ブロックをハードウェアで実装した場合は、非常に高速に電力モードが切り替えられるだけでなく、LDsysの計算や電力モードの決定および切り替えに際してCPUを使わないため、ソフトウェアのリアルタイム性能に関わる設計に影響を与えない、という効果がある。
The power mode determination circuit 23b outputs a predetermined power mode based on the output of the LDsys register 26, for example, based on the power mode table 25 of FIG.
For example, the frequency / voltage determination circuit 24b outputs a signal designating a frequency and a voltage corresponding to the power mode as shown in FIG.
The operation of the CPU 33 corresponding to the following tasks is as described in the first embodiment.
As shown in the present embodiment, when the power control block is implemented by hardware, not only the power mode can be switched at a very high speed but also the CPU is not used for the calculation of LDsys and the determination and switching of the power mode. This has the effect of not affecting the design related to the real-time performance of the software.

実施の形態3.
本実施の形態では、電力制御ブロックとしてソフトウェアを用いた構成と動作を説明する。
図5は、本発明の電力制御ブロック20cをソフトウェアで構成した場合の動作をフローチャートにより示した図である。即ち、電力制御方法として構成したものである。図5を用いて動作を説明すると、本ソフトウェアは、先ずスケジューラ11もしくは、タスクの状態変化をモニタしているソフトウェアがタスク状態の変化に応じて電力制御ブロック20cをコール(エンター)する。
まず、ステップ(以下、Sと略記する)51で、タスクの起動/終了であるかという、状態変化の種類を判定する。タスクの起動である場合とタスクの終了の場合で処理が分かれる。なお、この2つの処理を別々の関数として実装してもよい。
Embodiment 3 FIG.
In the present embodiment, a configuration and operation using software as a power control block will be described.
FIG. 5 is a flowchart showing the operation when the power control block 20c of the present invention is configured by software. That is, it is configured as a power control method. The operation will be described with reference to FIG. 5. In the software, first, the scheduler 11 or the software that monitors the task state change calls (enters) the power control block 20c according to the task state change.
First, in step (hereinafter abbreviated as S) 51, the type of state change, ie, whether the task is started / finished is determined. Processing is divided according to task start and task end. Note that these two processes may be implemented as separate functions.

・タスク起動の場合の処理
タスク起動の場合は、S52で、起動されたタスクの識別子を取得し、S53で、識別子からそのタスクのLDtskを読み出す。そしてS54で、読み出したLDtskとその時点でのLDsysを加算して、新たなLdsysを算出する。
次にS55で、算出したLDsysに対して、例えば、図2の電力モードテーブル25に基づいて電力モードを選択する。そして、S56の動作周波数指示、電圧指示ステップで、電力モードに対応する動作周波数をクロック生成部31に指示し、動作電圧を、電圧生成部32に指示する。なお、クロック生成部31と電圧生成部32はハードウェアにより構成される。
Processing in Task Activation In the case of task activation, the identifier of the activated task is acquired in S52, and the LDtsk of the task is read from the identifier in S53. In step S54, the read LDtsk and the LDsys at that time are added to calculate a new Ldsys.
Next, in S55, for the calculated LDsys, for example, a power mode is selected based on the power mode table 25 of FIG. In the operation frequency instruction and voltage instruction step of S56, the clock generation unit 31 is instructed the operation frequency corresponding to the power mode, and the operation voltage is instructed to the voltage generation unit 32. The clock generation unit 31 and the voltage generation unit 32 are configured by hardware.

・タスク終了の場合
S52でタスクが終了する場合であると、S57で、終了するタスク以外に、実行中もしくは実行待ちのタスクが存在するかどうかを調べる。もし実行中か、もしくは実行待ちのタスクが無い場合はS58で、LDsys=0を設定して、S55に移って、これに対応する電力モードを選択する。以降のS56における電力モードに対応する動作周波数の指示と、動作電圧の指示は、タスク起動の場合と同様である。 S57で、終了するタスク以外に、実行中もしくは実行待ちのタスクが有る場合は、何もしないでリターンする。
In the case of task termination If the task is terminated in S52, it is checked in S57 whether there is a task being executed or waiting for execution in addition to the task to be terminated. If the task is being executed or there is no task waiting to be executed, LDsys = 0 is set in S58, and the process proceeds to S55 to select a power mode corresponding to this. The operation frequency instruction and the operation voltage instruction corresponding to the power mode in S56 are the same as those in task activation. If there is a task being executed or waiting for execution in addition to the task to be ended in S57, the process returns without doing anything.

なお、電力制御ブロック20cをソフトウェアで構成する場合は、割り込み処理にともなうタスク状態の変化による影響を受けないようにする。即ち、割り込みをマスクした状態で処理するか、ソフトウェア割り込みのような、ハードウェア割り込みよりも優先度の高いソフトウェアとして実装する必要がある。その理由は、LDsysを計算している途中で、割り込み処理により、タスクの状態が変化してしまうことを防ぐためである。
電力制御ブロック20cをソフトウェアで実装すると、電力モードの切り替えにオーバーヘッドは生じるために、ハードウェアで処理する場合に比べて、動作時間がかかり、従って若干のリアルタイム性が劣化するが、電力制御にかかるオーバーヘッドを考慮することで、リアルタイム性は保証できる。他方、特別なハードウェアを必要としないため、機器開発や製造にかかるコストを低く抑えられる効果がある。
When the power control block 20c is configured by software, the power control block 20c is not affected by a change in task state accompanying interrupt processing. That is, it is necessary to process in a state where the interrupt is masked, or to be implemented as software having a higher priority than the hardware interrupt, such as a software interrupt. The reason for this is to prevent the task state from being changed by interrupt processing during the calculation of LDsys.
When the power control block 20c is implemented by software, an overhead is generated in switching the power mode, so that it takes longer operation time than that in the case of processing by hardware. Real-time performance can be guaranteed by considering overhead. On the other hand, since no special hardware is required, there is an effect that costs for device development and manufacturing can be kept low.

実施の形態4.
本実施の形態では、電力制御ブロックの他の具体的な構成として、モードの選択に割り込みも考慮する場合を説明する。
図6は、本実施の形態における電力制御ブロック20dをハードウェアで構成した場合のブロック図を示したものである。この構成は、実施の形態1の構成に加えて、電力モードを決定する条件に割り込み状態を加味したものである。即ち電力モード判定ブロック23dに電力モードテーブル25の他に、新たに割り込み期間中電力モード・レジスタ28を備える。この割り込み期間中電力モード・レジスタ28では、例えば最高速度で動作周波数が設定されている。もちろんシステムにより、この値を変えるようにしてもよい。更にセレクタ29を設けて、割り込み期間中は通常の電力モードテーブル25によらず、割り込み期間中電力モード・レジスタ28を選択する構成とする。
割り込みは、例えば、タイマー割り込みなどがあり、ハードウェアが直接CPU33に通知し、CPU33はOS10のスケジューラ11の管理によらず、一般的に割り込みハンドラと呼ばれるプログラムに割り付けられる。このCPUが割り込みハンドラに割り付けられている期間を割り込み処理期間30と呼ぶ。
Embodiment 4 FIG.
In the present embodiment, as another specific configuration of the power control block, a case will be described in which an interrupt is also considered in mode selection.
FIG. 6 shows a block diagram when the power control block 20d in the present embodiment is configured by hardware. In this configuration, in addition to the configuration of the first embodiment, the interrupt state is added to the condition for determining the power mode. In other words, in addition to the power mode table 25, the power mode determination block 23d is newly provided with a power mode register 28 during the interruption period. In the power mode register 28 during the interruption period, for example, the operating frequency is set at the maximum speed. Of course, this value may be changed depending on the system. Further, a selector 29 is provided so that the power mode register 28 is selected during the interruption period regardless of the normal power mode table 25 during the interruption period.
Interrupts include, for example, timer interrupts, and the hardware directly notifies the CPU 33. The CPU 33 is generally assigned to a program called an interrupt handler regardless of the management of the scheduler 11 of the OS 10. A period in which the CPU is allocated to the interrupt handler is referred to as an interrupt processing period 30.

リアルタイムシステムでは、タスクの実行時間は、割り込み処理期間30を考慮して設計される。例えば、TASK[A]は起動から100μs以内に処理されなくてはならないというタスク仕様である場合は、TASK[A]がCPU33を占有できる時間は、100μsではなく、この100μsの間に発生し得る割り込み処理期間の時間を差し引いた時間である。
上記の通り、割り込みはOSのスケジューラ11による管理ではなく、非同期に発生する。従って、動的に動作周波数を変更する電力制御方式においては、動作周波数が遅い電力モードで動作している場合にも発生しうる。しかし、リアルタイムシステムにおけるタスクの実行時間を考えると、割り込み処理期間は極力短時間であることが望ましい。
更に、割り込みが終了すると、セレクタ29が電力モードテーブル25を参考する接続となり、かつ、割り込み期間中に発生したタスクも含めて、タスクの起動11Cを受け付けて、実施の形態1の動作に戻る。
In the real-time system, the task execution time is designed in consideration of the interrupt processing period 30. For example, if TASK [A] has a task specification that must be processed within 100 μs after activation, the time that TASK [A] can occupy CPU 33 is not 100 μs, but may occur during this 100 μs. This is the time after subtracting the time of the interrupt processing period.
As described above, the interrupt is generated asynchronously, not managed by the scheduler 11 of the OS. Therefore, in the power control system that dynamically changes the operating frequency, it may occur even when operating in a power mode with a low operating frequency. However, considering the task execution time in the real-time system, it is desirable that the interrupt processing period be as short as possible.
Further, when the interruption is completed, the selector 29 is connected with reference to the power mode table 25, and the task activation 11C including the task generated during the interruption period is accepted, and the operation returns to the operation of the first embodiment.

本実施の形態では、この割り込み処理期間は、CPUが最大周波数で動作するようにし、割り込みハンドラで新たなタスクが起動された場合は、割り込み状態が終了したときに、新たに起動されたタスクを考慮した電力モードに設定されるようにした。
本実施の形態における割り込み処理期間も考慮した電力モードの制御をソフトウェアで実施する場合は、割り込みハンドラの先頭で無条件に最高の動作周波数を供給する電力モードに設定する。そして割り込みハンドラから復帰する直前に、図5に示すフローを実施する。ソフトウェアによる構成は、開発コストや製造コストを抑えるのに好適な方式である。
In this embodiment, during this interrupt processing period, the CPU operates at the maximum frequency, and when a new task is started by the interrupt handler, the newly started task is displayed when the interrupt state ends. The power mode was set to take into account.
When the control of the power mode in consideration of the interrupt processing period in the present embodiment is performed by software, the power mode is set to supply the highest operating frequency unconditionally at the head of the interrupt handler. Then, immediately before returning from the interrupt handler, the flow shown in FIG. 5 is performed. The configuration by software is a method suitable for suppressing development cost and manufacturing cost.

一方、本実施の形態に示す割り込み処理期間における電力モードの制御をハードウェアで実施する場合は、電力モード判定ブロック23dに割り込み処理期間30中であることを示す信号を入力し、これによりセレクタ29がモードを選択する構成とする。
この割り込み処理期間30信号は、ハードウェアの割り込みリクエスト信号のアサートにより出力が開始され、割り込みハンドラから復帰することで、ディアサートされる。
電力モード判定ブロック23dは、割り込み処理期間中を示す信号がアサートされている期間だけ、セレクタ29により最高の動作周波数を供給する電力モードを選択する。そして、この信号がディアサートされている期間は、本来のLDsysに応じた電力モードを選択する。
On the other hand, when the control of the power mode in the interrupt processing period shown in the present embodiment is performed by hardware, a signal indicating that the interrupt processing period 30 is in progress is input to the power mode determination block 23d. Is configured to select a mode.
The interrupt processing period 30 signal starts to be output when the hardware interrupt request signal is asserted, and is deasserted when returning from the interrupt handler.
The power mode determination block 23d selects the power mode for supplying the highest operating frequency by the selector 29 only during the period when the signal indicating that the interrupt processing period is being asserted. Then, during the period when this signal is deasserted, the power mode corresponding to the original LDsys is selected.

本実施の形態に示す割り込み処理期間に関する電力モードの制御をハードウェアで実施する場合は、実行中もしくは実行待ちのタスクが無いようなアイドル状態の場合は、PM0の電力モードにおいて、CPU33の動作周波数を0MHzに設定している。しかし、割り込みの発生に付随して、CPUにクロック供給が再開される。即ちアイドル状態では省電力であり、割り込みがあると最短期間で割り込み処理を終える。   When the power mode control related to the interrupt processing period shown in the present embodiment is implemented by hardware, the CPU 33 operates at the operating frequency of the power mode PM0 in the idle mode where there is no task being executed or waiting for execution. Is set to 0 MHz. However, accompanying the occurrence of the interrupt, the clock supply to the CPU is resumed. That is, power is saved in the idle state, and interrupt processing is completed in the shortest period when there is an interrupt.

実施の形態5.
本発明による電力制御方式では、個々のタスクの要求性能(LDtsk)をタスク毎に設定する必要がある。LDtskは、ヘッダファイルに定義してコンパイル時に生成するようにする方法や、コンフィギュレーション・ファイルに設定し、システム起動後に読み込む方法により設定が可能である。即ち、図7に示すように、具体的には、読取部41を備えて、図1におけるタスク要求性能テーブルの各タスクの要求性能LDtskを、上記コンフィギュレーション・ファイルから初期設定時に読取部41により読出し、この値をタスク要求性能テーブル22に設定する。またはヘッダファイルに定義されていればコンフィギュレーション・ファイルの代わりにヘッダファイルからタスクの要求性能LDtskを読み出して、タスク要求性能テーブル22に設定する。
本方式によらずに設計されたソフトウェアを移植する場合に、上記の方法を選択することで、移植対象のソフトウェアを修正しなくてもよい。
Embodiment 5 FIG.
In the power control method according to the present invention, it is necessary to set the required performance (LDtsk) of each task for each task. LDtsk can be set by defining it in a header file and generating it at the time of compilation, or by setting it in a configuration file and reading it after starting the system. Specifically, as shown in FIG. 7, the reader 41 is provided, and the required performance LDtsk of each task in the task required performance table in FIG. 1 is read from the configuration file by the reader 41 at the initial setting. Read and set this value in the task required performance table 22. Alternatively, if it is defined in the header file, the required performance LDtsk of the task is read from the header file instead of the configuration file and set in the task required performance table 22.
When porting software designed without using this method, it is not necessary to modify the porting target software by selecting the above method.

また、これとは別に、図7の他のインタフェースとして示すように、アプリケーション・プログラム・インタフェース(APIまたはApplication Program Interface)により設定することも可能である。APIを用いた設定では、LDtskを動的に変更することが可能となる。
例えば、ネットワーク経由で受信したデータに対して何らかの処理を行うようなタスクでは、受信するデータ量によって処理負荷が変動する場合がある。このようなケースでは、LDtskを動的に変更することで、その時々の電力モードを最適化することが可能となる。
Apart from this, as shown as another interface in FIG. 7, it is also possible to set by an application program interface (API or Application Program Interface). In the setting using the API, the LDtsk can be dynamically changed.
For example, in a task that performs some processing on data received via a network, the processing load may vary depending on the amount of data received. In such a case, it is possible to optimize the current power mode by dynamically changing LDtsk.

データ量は、タスクを起動する時点ですでに判明している場合と、タスクが起動されてから判明するケースがある。
前者の場合は、タスクを起動するソフトウェアが最適なLDtskを変更してから、タスクを起動する。
後者のようなケースでは、タスクを起動するソフトウェアがLDtskを最も負荷が高い処理を想定して設定しておいて、タスクが起動されてから、最適なLDtskに変更する。後者でこのようなステップを踏む理由は、このタスクを起動してから、タスクがCPUに割り付けられるまでに時間差があり、この期間は、他のタスクがCPUに割り付けられているため、このタスクのLDtskを実際よりも低く設定してしまうと、リアルタイム性が保証できなくなるためである。
There are cases where the amount of data is already known at the time of starting the task and cases where the amount of data is found after the task is started.
In the former case, the task is activated after the software that activates the task changes the optimal LDtsk.
In the latter case, the task activation software sets LDtsk assuming the processing with the highest load, and changes to the optimum LDtsk after the task is activated. The reason for taking these steps in the latter is that there is a time lag from the start of this task until the task is assigned to the CPU, and during this period other tasks are assigned to the CPU. This is because if LDtsk is set lower than the actual value, real-time performance cannot be guaranteed.

従って、LDtskを動的に変更するために、以下の2種類のAPIを備える必要がある。
11)静的要求性能更新API:タスク起動前に静的にLDtskを変更するAPI
12)動的要求性能更新API:タスク起動中に動的に自身のLDtskを変更するAPI
11)は、単純にそのタスクのLDtsk値を変更するだけである。
12)は、LDsysの再計算を伴う。動的にLDtskを変更するケースでは、電力制御ブロックは、変更される前のLDtskと変更後のLDtskの差を取って、以下の式(3)により、LDsysを再計算する。
NewLDsys=oldLDsys−oldLDtsk+newLDtsk (3)
NewLDsys:LDtskを変更した後のシステム要求性能
OldLDsys:LDtskを変更する前のシステム要求性能
NewLDtsk:変更後のそのタスクの要求性能
OldLDtsk:変更前のそのタスクの要求性能
Therefore, in order to dynamically change LDtsk, it is necessary to provide the following two types of APIs.
11) Static required performance update API: API that statically changes LDtsk before starting a task
12) Dynamic required performance update API: API that dynamically changes its own LDtsk during task activation
11) simply changes the LDtsk value of the task.
12) involves recalculation of LDsys. In the case of dynamically changing LDtsk, the power control block takes the difference between LDtsk before the change and LDtsk after the change, and recalculates LDsys by the following equation (3).
NewLDsys = oldLDsys-oldLDtsk + newLDtsk (3)
NewLDsys: System required performance after changing LDtsk OldLDsys: System required performance before changing LDtsk NewLDtsk: Required performance of the task after change OldLDtsk: Required performance of the task before change

図7は、実施の形態5における電力制御ブロック20eの構造を示した図である。新たな構成要素として、アプリケーション・プログラム・インタフェース(API)40を設けている。
図7を用いて、動的要求性能更新APIにより、TASK[B]のLDtskが40から20に変更された場合の処理について説明する。
TASK[B]は、処理すべきデータ量に応じて負荷が変動するタスクであり、処理すべきデータ量は、タスクが起動されると判別が可能になる。TASK[B]の起動は、データ受信割り込みハンドラにより行われる。TASK[B]のLDtskは、起動前に静的要求性能更新APIを用いて40に設定されている。
TASK[B]が起動されると、TASK[B]はデータ量を判定して、自身のLDtskを、動的要求性能更新APIを用いて20に更新する。
動的要求性能変更APIは、変更前のLDtsk値40と変更後のLDtsk値20の差をとり、更新要求とその差分20をシステム要求性能算出ブロック21に通知する。これを受けたシステム要求性能算出ブロック21は、LDsysから差分20を引き算し、新たなLDsysを計算する。
これ以後は、実施の形態1に示す方法で、動作周波数と動作電圧を生成する。
FIG. 7 is a diagram showing the structure of the power control block 20e in the fifth embodiment. An application program interface (API) 40 is provided as a new component.
A process when the LDtsk of TASK [B] is changed from 40 to 20 by the dynamic required performance update API will be described with reference to FIG.
TASK [B] is a task whose load varies depending on the amount of data to be processed, and the amount of data to be processed can be determined when the task is activated. TASK [B] is activated by the data reception interrupt handler. The LDtsk of TASK [B] is set to 40 using the static required performance update API before activation.
When TASK [B] is activated, TASK [B] determines the amount of data and updates its own LDtsk to 20 using the dynamic required performance update API.
The dynamic required performance change API takes the difference between the LDtsk value 40 before the change and the LDtsk value 20 after the change, and notifies the system request performance calculation block 21 of the update request and the difference 20. Receiving this, the system required performance calculation block 21 subtracts the difference 20 from the LDsys to calculate a new LDsys.
Thereafter, the operating frequency and operating voltage are generated by the method shown in the first embodiment.

実施の形態6.
本実施の形態では、実施の形態1で示したプロセッサ電力制御装置と比べて、電力制御ブロックでの計算を木目細かく行い、より精度よく電力モードを最適に調整する装置とした構成と動作について述べる。先ず構成は図1と同じ構成とする。
しかし本実施の形態では、電力制御ブロック(電力制御回路)20fにおいて、システム要求性能LDsysを、以下の手順により算出する。
21)タスクが新たに起動された場合は、タスク起動前のLDsysに起動されたタスクのLDtskを加算した値を新たなLDsysとする。
22)タスクが終了した時点で、他に実行中、実行待ちのタスクがある場合は、終了したタスクの消費性能量Ecと、終了したタスクが実行中もしくは、実行待ちの状態において要求した性能量(Er)の差を算出し、これをLDtskで除算した時間Tzだけ、LDsysを維持する。即ち次の式(4)を設定する。
Tz=(Ec−Er)/LDtsk (4)
ここで、Tz:タスク終了後に性能要求を継続する時間、
Ec:タスクの消費性能量、
Er:タスクの要求した性能量である。
23)上記22)により計算したTzが経過したら、上記22)で終了したタスクのLDtskをLDsysより減算し、新たなLDsysを算出する。
24)タスクが終了した時点で、他に実行中、実行待ちのタスクが無い場合は、LDsysを0とする。
Embodiment 6 FIG.
In this embodiment, as compared with the processor power control apparatus shown in the first embodiment, the configuration and operation of an apparatus that performs fine calculation in the power control block and optimally adjusts the power mode more accurately will be described. . First, the configuration is the same as in FIG.
However, in the present embodiment, in the power control block (power control circuit) 20f, the system required performance LDsys is calculated by the following procedure.
21) When a task is newly activated, a value obtained by adding the LDtsk of the activated task to the LDsys before the task activation is set as a new LDsys.
22) When there is another task that is being executed or is waiting to be executed when the task is finished, the consumed performance amount Ec of the finished task and the amount of performance requested when the finished task is being executed or waiting to be executed The difference of (Er) is calculated, and LDsys is maintained for a time Tz obtained by dividing this difference by LDtsk. That is, the following equation (4) is set.
Tz = (Ec−Er) / LDtsk (4)
Here, Tz: time to continue the performance request after the task is finished,
Ec: Task consumption performance amount,
Er: The amount of performance requested by the task.
23) When the Tz calculated in the above 22) has elapsed, the LDtsk of the task completed in the above 22) is subtracted from the LDsys to calculate a new LDsys.
24) When there is no other task being executed or waiting for execution when the task is completed, LDsys is set to 0.

上記において、タスクの消費性能量Ecは、システム要求性能LDsysをタスクがCPUに割り付けられている時間で積分した値であり、具体的には、周期タイマーを用いて定期的に、実行中のタスクのEcにLDsysを加算することで得ることができる。なお、一般的には、図2に示すように、1つの電力モードがLDsysに対して幅を持っている。この場合は、そのLDsysが属する電力モードで供給できる最大性能に対して、タスクがCPUに割り付けられている時間で積分した値となる。例えば、図2において、LDsys=15の場合、電力モードはPM1が設定される。この場合は、PM1で供給し得る最大性能は20である。
タスクの要求した性能量Erは、タスク要求性能を、タスクが実行中もしくは実行待ち状態の時間で積分した値であり、具体的には、周期タイマーを用いて定期的に、実行中もしくは実行待ちのタスクのErにLDtskを加算することで得ることができる。
In the above, the task consumption performance amount Ec is a value obtained by integrating the system required performance LDsys by the time when the task is allocated to the CPU. Specifically, the task is being executed periodically using a periodic timer. This can be obtained by adding LDsys to Ec. In general, as shown in FIG. 2, one power mode has a width with respect to LDsys. In this case, the maximum performance that can be supplied in the power mode to which the LDsys belongs is a value obtained by integrating the task with the time allocated to the CPU. For example, in FIG. 2, when LDsys = 15, PM1 is set as the power mode. In this case, the maximum performance that can be supplied by PM1 is 20.
The performance amount Er requested by the task is a value obtained by integrating the task required performance with the time during which the task is being executed or waiting for execution. Specifically, the task is performing periodically or waiting for execution using a periodic timer. It can be obtained by adding LDtsk to Er of the task.

上記手順のうち、22)および23)は、残存タスクのリアルタイム性を保証する。その理由は、Ecは終了したタスクがタスク実行に要した性能量であり、Erはそのタスクが要求していた性能量であるから、その差は、他のタスクが要求していた性能量であると言える。言い換えれば、上記終了したタスクは、Ec−Erで計算される分だけ他のタスクが要求していた性能量を消費してしまったことにほかならない。従って、タスクが終了後に、上記性能量を残存タスクが利用できるようにして、残存タスクは要求した性能を消費できるため、リアルタイム性を保証できる。
なお、22)および23)は、本実施の形態における残存タスクのリアルタイム性を保証する必要条件である。すなわち、残存タスクのリアルタイムを保証する十分条件は、タスク終了後Tz以内にEc−Er以上の性能量を、残存タスクが利用できるするようにすることである。
本方式は、実施の形態1に示した電力制御ブロック20に比べて、システム要求性能を算出する手順が多くなる分オーバーヘッドが増加するものの、全てのタスクの終了を待たずに電力モードを調整できるため、より低電力化した電力モードを提供することが可能となる。本実施の形態で示される電力制御ブロック20fは、比較的処理時間の長い、すなわち、システム性能算出にかかるオーバーヘッドが、システム全体に占める割合の小さい場合には、実施の形態1に示した装置、方法に比べて低電力化できる。
Among the above procedures, 22) and 23) guarantee the real-time property of the remaining tasks. The reason is that Ec is the performance amount required for task execution by the completed task, and Er is the performance amount requested by the task, so the difference is the performance amount requested by other tasks. It can be said that there is. In other words, the finished task is nothing more than the amount of performance required by other tasks consumed by the amount calculated by Ec-Er. Therefore, after the task is completed, the remaining task can use the above performance amount, and the remaining task can consume the requested performance, so that real-time performance can be guaranteed.
Note that 22) and 23) are necessary conditions for guaranteeing the real-time property of the remaining tasks in the present embodiment. That is, a sufficient condition for guaranteeing the real time of the remaining task is to allow the remaining task to use a performance amount equal to or higher than Ec-Er within Tz after the task ends.
Compared with the power control block 20 shown in the first embodiment, this method increases the overhead because the number of procedures for calculating the system required performance increases, but can adjust the power mode without waiting for the end of all tasks. Therefore, it is possible to provide a power mode with lower power. The power control block 20f shown in the present embodiment has a relatively long processing time, that is, the apparatus shown in the first embodiment when the overhead for system performance calculation is small in the entire system, The power can be reduced compared to the method.

以上の手順を踏まえて、以下に示す、2つタスクを処理する場合の具体的な動作を、CPUがタスクを処理してゆく時間経過を示す図8を用いて説明する。ここで、
TASK[A]:要求処理時間80ms、LDtsk=20
TASK[B]:要求処理時間100ms、LDtsk=20
であるとする。
この例で使用するCPUの最大動作周波数は100MHzとして、電力モードは、図2に示す6段階とする。また、Ec、Erを得るための周期タイマーは1ms周期で割り込みを発生させるものとする。
まず、時刻Ta以前においては、実行中、もしくは実行待ちのタスクが無く、LDsys=0であり、図2により電力モードがPM0である。これに応じて、クロック生成部31は、CPU33に1MHzのクロックを供給し、電圧生成部32は、電圧2.0Vを供給している。
Based on the above procedure, a specific operation in the case of processing two tasks as described below will be described with reference to FIG. 8 showing a time course over which the CPU processes a task. here,
TASK [A]: Request processing time 80 ms, LDtsk = 20
TASK [B]: Request processing time 100 ms, LDtsk = 20
Suppose that
The maximum operating frequency of the CPU used in this example is 100 MHz, and the power mode has six stages shown in FIG. The period timer for obtaining Ec and Er is assumed to generate an interrupt at a period of 1 ms.
First, before the time Ta, there is no task being executed or waiting for execution, LDsys = 0, and the power mode is PM0 according to FIG. In response to this, the clock generator 31 supplies a 1 MHz clock to the CPU 33, and the voltage generator 32 supplies a voltage of 2.0V.

この状態から、図8に示すように、時刻TaにTASK[A]が起動されたとする。電力制御ブロックは、TASK[A]のLDtsk=20をLDsysとして、図2の電力モードテーブル25により電力モードをPM1に設定する。これに応じて、クロック生成部31は、CPUに20MHzのクロックを供給し、電圧生成部32は、電圧2.2Vを供給する。この時点でTASK[A]の終了時刻は、Ta+80msとなる。同時に、Ec=LDsys=20,Er=LDtsk=20を設定し、1ms周期タイマーを起動する。以後、周期タイマーの割り込みが発生する度に、TASK[A]のEcにはLDsysが加算され、ErにはTASK[A]のLDtskが加算される。
次に、図8に示すように、CPUがTASK[A]を実行中の時刻Tb=Ta+20msにTASK[B]が起動されたとする。
電力制御ブロック20fは、TASK[B]のLDtsk=20をLDsysに加算して、新たなLDsys=40を算出し、図2に基づいて電力モードをPM2に変更する。これに応じて、クロック生成部31は、CPUに40MHzのクロックを供給し、電圧生成部32は、2.4Vを供給する。
Assume that TASK [A] is activated from this state at time Ta as shown in FIG. The power control block sets LDtsk = 20 of TASK [A] as LDsys, and sets the power mode to PM1 by the power mode table 25 of FIG. In response to this, the clock generator 31 supplies a 20 MHz clock to the CPU, and the voltage generator 32 supplies a voltage of 2.2V. At this time, the end time of TASK [A] is Ta + 80 ms. At the same time, Ec = LDsys = 20 and Er = LDtsk = 20 are set, and a 1 ms period timer is started. Thereafter, every time a periodic timer interrupt occurs, LDsys is added to Ec of TASK [A], and LDtsk of TASK [A] is added to Er.
Next, as shown in FIG. 8, it is assumed that TASK [B] is activated at time Tb = Ta + 20 ms when the CPU is executing TASK [A].
The power control block 20f adds LDtsk = 20 of TASK [B] to LDsys to calculate a new LDsys = 40, and changes the power mode to PM2 based on FIG. In response to this, the clock generator 31 supplies a 40 MHz clock to the CPU, and the voltage generator 32 supplies 2.4V.

CPUの動作周波数が20MHzから40MHzに変化して、TASK[A]の終了時刻は、以下と算出される。
TASK[A]は、時刻Taから20msの期間は、20MHzで処理されているので、この時点で、全処理の1/4が終わっている。残りの3/4の処理は、40MHzで処理されるので、これにかかる時間は、30msである。従って、TASK[A]の終了時刻は、Ta+50msとなる。この時間は、TASK[A]の要求処理時間80msを満たす。
また、TASK[B]は、起動されただけで、CPUを割り付けられていないので、Ec=0,Er=LDtsk=20を設定し、以後、周期タイマー割り込みが発生する度に、TASK[B]のErには、TASK[B]のLDtskが加算される。
Ta+50msにTASK[A]が終了した時点で、周期タイマー割り込みは、TASK[B]が起動される前、すなわちLDsysが20の時に20回、TASK[B]が起動された後、すなわちLDsysが40の時に30回発生しているので、TASK[A]のEcは1620であり、TASK[A]のErは1020である。
The operating frequency of the CPU changes from 20 MHz to 40 MHz, and the end time of TASK [A] is calculated as follows.
Since TASK [A] is processed at 20 MHz during a period of 20 ms from time Ta, 1/4 of all the processing is completed at this point. Since the remaining 3/4 processing is performed at 40 MHz, the time required for this processing is 30 ms. Therefore, the end time of TASK [A] is Ta + 50 ms. This time satisfies the TASK [A] request processing time of 80 ms.
Since TASK [B] is only activated and no CPU is allocated, Ec = 0 and Er = LDtsk = 20 are set. Thereafter, every time a periodic timer interrupt occurs, TASK [B] The LDtsk of TASK [B] is added to Er of.
When TASK [A] ends at Ta + 50 ms, the periodic timer interrupt is performed 20 times before TASK [B] is started, that is, when LDsys is 20, after TASK [B] is started, that is, LDsys is 40 Since this occurs 30 times, the Ec of TASK [A] is 1620 and the Er of TASK [A] is 1020.

TASK[A]がタスク終了後に性能要求を継続する時間は以下の式(5)により計算される。
Tz=(Ec−Er)/LDtsk=(1620−1020)/20=30 (5)
Tzは以後、周期タイマー割り込みが発生する度に−1され、30ms後にTASK[A]は要求を停止する。
Ta+50msの時刻でTASK[A]が終了したので、スケジューラはTASK[B]にCPUを割り付ける。TASK[A]がタスク終了後も性能要求を継続しているので、LDsysは40のままであり、電力モードにも変更がない。
TASK[A]が終了してから30ms後、すなわち、TASK[B]が起動されてから60ms後に、TASK[A]のTzが0になると、電力制御ブロック20fは、LDsysは40からTASK[A]の要求性能LDsys=20を差し引いくことにより新たなシステム要求性能20を算出し、図2に基づいて電力モードをPM1に変更する。これに応じて、クロック生成部31は、CPUに20MHzのクロックを供給し、電圧生成部32は、電圧2.2Vを供給する。
The time for which TASK [A] continues the performance request after the task is finished is calculated by the following equation (5).
Tz = (Ec-Er) / LDtsk = (1620-1020) / 20 = 30 (5)
Thereafter, Tz is decremented by 1 every time a periodic timer interrupt occurs, and after 30 ms, TASK [A] stops the request.
Since TASK [A] is completed at the time of Ta + 50 ms, the scheduler assigns the CPU to TASK [B]. Since TASK [A] continues the performance request even after the task is finished, LDsys remains 40 and the power mode is not changed.
When TSK of TASK [A] becomes 0 after 30 ms from the end of TASK [A], that is, 60 ms after TASK [B] is activated, the power control block 20f causes the LDsys to change from 40 to TASK [A. ], A new system required performance 20 is calculated by subtracting the required performance LDsys = 20, and the power mode is changed to PM1 based on FIG. In response to this, the clock generator 31 supplies a 20 MHz clock to the CPU, and the voltage generator 32 supplies a voltage of 2.2V.

TASK[A]が終了してから30msの期間は、TASK[B]は40MHzで処理されるため、時刻Ta+80msの時点では全体の3/5の処理を完了することになり、残り2/5の処理は、20MHzで40msの時間を要することになる。すなわち、時刻Tb+100msにTASK[B]の処理が完了するため、要求処理時間を満足する。
最後に、TASK[B]がTb+100msに処理を終了すると、電力制御ブロック20fは、他に実行中、もしくは実行待ちのタスクが無いので、LDsys=0とする。この状態では、図2の電力モードテーブルにより電力モードをPM0と設定する。これに応じて、クロック生成部31は、CPUに1MHzのクロックを供給し、電圧生成部32は、電圧2.0Vを供給する。
なお、上記ではタスクの優先度が2種類の場合を説明したが、優先度をもっと細かく分類してそれぞれにシステム要求性能算出ブロックを設け、これに基いて電力モード判定ブロックが周波数等を設定するようにしてもよい。更に電力制御制御ブロックとして、図8で説明した周波数等のモード設定の詳細計算を、電力モード判定ブロックに代えてシステム要求性能算出ブロックで行うようにしてもよい。
Since TASK [B] is processed at 40 MHz during the period of 30 ms after TASK [A] ends, the entire 3/5 processing is completed at time Ta + 80 ms, and the remaining 2/5. Processing takes 40 ms at 20 MHz. That is, since the TASK [B] process is completed at time Tb + 100 ms, the requested processing time is satisfied.
Finally, when TASK [B] finishes processing at Tb + 100 ms, the power control block 20f sets LDsys = 0 because there is no other task being executed or waiting to be executed. In this state, the power mode is set to PM0 according to the power mode table of FIG. In response to this, the clock generation unit 31 supplies a 1 MHz clock to the CPU, and the voltage generation unit 32 supplies a voltage of 2.0V.
In the above description, the case where there are two types of task priorities has been described. However, priorities are classified more finely, and system required performance calculation blocks are provided for each. Based on this, the power mode determination block sets the frequency and the like. You may do it. Further, as the power control control block, the detailed calculation of the mode setting such as the frequency described in FIG. 8 may be performed by the system required performance calculation block instead of the power mode determination block.

実施の形態7.
実施の形態1に示したシステム要求性能算出ブロックは、システム要求性能を算出するための、オーバーヘッドが非常に小さくという特長を持つ。一方、実施の形態6に示したシステム要求性能算出ブロックが行う処理は、オーバーヘッドは実施の形態1のシステム要求性能算出ブロックより大きいものの、システム性能に精度良く適合して、しかも低電力化が期待できるという特長を持つ。
そこで、本実施の形態では、双方の利点を生かしたハイブリット型のシステム要求性能算出ブロックを持つ装置、方法について説明する。
図9は、システムに実装されるタスクを、実施の形態1に示したシステム要求性能算出ブロック21を用いて計算されるタスクと、実施の形態6に示した要求性能算出ブロック21fを用いて計算されるタスクに分類したものである。
リアルタイムシステムでは、要求処理時間が短くリアルタイム性が要求されるタスクはタスク優先度が高く、要求処理時間が長くても良いタスクはタスク優先度が低く設定される。すなわち、タスク優先度は、要求処理時間に応じて設定される。そこで、要求処理時間がある一定時間以内のタスク、すなわちタスク優先度がある一定の優先度(Pr)以上のタスクについては、実施の形態1に示したシステム要求性能算出ブロック21を適用し、ある一定の優先度(Pr)未満のタスクについては、実施の形態6に示したシステム要求性能算出ブロック21fを適用する。図9においては、要求処理時間が1msを境界にしてタスクを分類した場合の例である。
Embodiment 7 FIG.
The system required performance calculation block shown in the first embodiment has a feature that the overhead for calculating the system required performance is very small. On the other hand, although the processing performed by the system required performance calculation block shown in the sixth embodiment is larger in overhead than the system required performance calculation block of the first embodiment, it is suitable for the system performance and is expected to reduce power consumption. It has the feature that it can.
Therefore, in this embodiment, an apparatus and a method having a hybrid system required performance calculation block that takes advantage of both advantages will be described.
FIG. 9 shows the tasks implemented in the system using the task calculated using the system required performance calculation block 21 shown in the first embodiment and the required performance calculation block 21f shown in the sixth embodiment. Are classified into tasks to be performed.
In a real-time system, a task whose request processing time is short and a real-time property is required has a high task priority, and a task whose request processing time may be long is set to a low task priority. That is, the task priority is set according to the request processing time. Therefore, the system required performance calculation block 21 shown in the first embodiment is applied to a task within a certain period of request processing time, that is, a task with a task priority of a certain priority (Pr) or higher. The system required performance calculation block 21f shown in the sixth embodiment is applied to a task with a certain priority (Pr) less than that. FIG. 9 shows an example in which tasks are classified with a request processing time of 1 ms as a boundary.

なお、ここで優先度(Pr)以上のタスクは、優先度(Pr)未満のタスクに対して一定時間以上CPU割り当て時間を保障するものとし、優先度(Pr)以上のタスクは、前記割り当て時間を保障するようにタスク要求性能を決定し、優先度(Pr)未満のタスクは、前記割り当て時間内で要求処理時間を満たすように、タスク要求性能を決定するものとする。
図10は、本実施の形態のシステム構成を示したものである。
図10において、システム要求性能算出ブロックA21は、優先度(Pr)以上のタスクについて、システム要求性能の算出を行い、システム要求性能算出ブロックB21fは、優先度(Pr)未満のタスクについて、システム要求性能の算出を行う。これらのシステム要求性能算出ブロックは、タスクの起動と停止の度に、該当タスクの優先度に従っていずれかのシステム要求性能算出ブロックが起動され、各々のシステム要求性能が更新される。
Here, a task having a priority (Pr) or higher guarantees a CPU allocation time for a certain time or more with respect to a task having a priority (Pr) or lower, and a task having a priority (Pr) or higher is assigned to the allocation time. The task request performance is determined so as to guarantee the task, and the task request performance is determined so that a task having a priority less than (Pr) satisfies the request processing time within the allocated time.
FIG. 10 shows the system configuration of the present embodiment.
In FIG. 10, a system required performance calculation block A21 calculates system required performance for tasks with a priority (Pr) or higher, and a system required performance calculation block B21f calculates system requests for tasks with a priority lower than (Pr). Calculate the performance. Each of these system required performance calculation blocks is activated according to the priority of the corresponding task each time the task is started and stopped, and each system required performance is updated.

電力モードは、その時点で実行されているタスクの優先度がPr以上であれば、システム要求性能算出ブロックAの出力を用い、その時点で実行されているタスクの優先度がPr未満であれば、システム要求性能算出ブロックBの出力を用いて、電力モードテーブルより選択される。
電力モードが選択されてからの動作は、既に説明した各実施の形態における動作と同等なので、ここでの詳細記述は省略する。
本実施の形態に示した方法を、一般的なリアルタイムシステムにおいて、デバイス・ドライバやOSに付随するサービス等のプラットフォーム・ソフトウェアを優先度(Pr)が高い、つまり要求処理時間が短いタスクとして分類し、アプリケーション・プログラムを優先度(Pr)が低い、つまり要求処理時間が長くてもよいタスクのように分類した場合、リアルタイム性が要求されるプラットフォーム・ソフトウェアに対してはオーバーヘッドが少なく、多くの時間CPUを占有するアプリケーション・プログラムに対しては、省電力化が優先する構成をとることができる。
In the power mode, if the priority of the task being executed at that time is equal to or higher than Pr, the output of the system required performance calculation block A is used, and if the priority of the task being executed at that time is less than Pr. Using the output of the system required performance calculation block B, it is selected from the power mode table.
Since the operation after the power mode is selected is the same as the operation in each of the embodiments described above, detailed description thereof is omitted here.
In the general real-time system, the method shown in this embodiment is classified as a task having a high priority (Pr), that is, a short request processing time, for platform software such as a device driver and a service attached to an OS. When the application program is classified as a task with a low priority (Pr), that is, a request processing time may be long, there is little overhead for platform software that requires real-time processing, and a lot of time For application programs that occupy the CPU, it is possible to adopt a configuration in which power saving is prioritized.

実施の形態8.
実施の形態6に示したタスク優先度(Pr)が高いタスクのCPUの占有率が非常に低い場合、つまり要求動作頻度が低い場合は、タスク優先度(Pr)が高いタスクについては、システム要求性能を算出しないで一定の値を出力するようにし、タスク優先度(Pr)が低いタスクについてだけシステム要求性能を算出する。すなわち、図10におけるシステム要求性能算出ブロックA21の出力を固定値とする。
上記とする理由は、タスク優先度(Pr)が高いタスクのCPU占有率が非常に低い場合は、システム要求性能を算出することによる低電力効果を得難いことと、システム要求性能を算出しないことで、オーバーヘッドを削減できるためリアルタイム性を向上させることが可能であることに加えて、システムを簡略化できるためである。
Embodiment 8 FIG.
When the CPU occupancy rate of a task with a high task priority (Pr) shown in the sixth embodiment is very low, that is, when the required operation frequency is low, a system request is made for a task with a high task priority (Pr). A constant value is output without calculating the performance, and the system required performance is calculated only for a task with a low task priority (Pr). That is, the output of the system required performance calculation block A21 in FIG. 10 is a fixed value.
The reason for the above is that, when the CPU occupancy rate of a task with a high task priority (Pr) is very low, it is difficult to obtain the low power effect by calculating the system required performance, and the system required performance is not calculated. This is because the overhead can be reduced and the real-time performance can be improved, and the system can be simplified.

この発明の実施の形態1におけるプロセッサ電力制御装置の構成ブロック図である。It is a block diagram of the configuration of the processor power control apparatus according to Embodiment 1 of the present invention. 実施の形態1における電力モードテーブルを示す図である。FIG. 3 is a diagram showing a power mode table in the first embodiment. 実施の形態1におけるCPUがタスクを処理してゆく時間経過を示す図である。It is a figure which shows the time passage which CPU in Embodiment 1 processes a task. 実施の形態2におけるプロセッサ電力制御装置の構成ブロック図である。FIG. 6 is a block diagram illustrating a configuration of a processor power control apparatus according to a second embodiment. 実施の形態3における電力制御ブロックの動作を示すフロー図である。FIG. 10 is a flowchart showing an operation of a power control block in the third embodiment. 実施の形態4におけるプロセッサ電力制御装置の構成ブロック図である。FIG. 10 is a configuration block diagram of a processor power control apparatus in a fourth embodiment. 実施の形態5におけるプロセッサ電力制御装置の構成ブロック図である。FIG. 10 is a block diagram illustrating a configuration of a processor power control apparatus according to a fifth embodiment. 実施の形態7におけるCPUがタスクを処理して行く時間経過を示す図である。FIG. 20 is a diagram illustrating a lapse of time over which a CPU in the seventh embodiment processes a task. 実施の形態8におけるタスクと優先度、要求処理時間の関係を示す図である。FIG. 20 is a diagram illustrating a relationship among tasks, priorities, and request processing times in the eighth embodiment. 実施の形態8におけるプロセッサ電力制御装置の構成ブロック図である。FIG. 10 is a configuration block diagram of a processor power control apparatus in an eighth embodiment.

符号の説明Explanation of symbols

10 OS、11 (タスク)スケジューラ、12 タスクA、13 タスクB、14 タスクC、20,20b,20d,20e,20f,20g 電力制御ブロック、21〜21f システム要求性能算出ブロック、22,22e タスク要求性能テーブル、22b タスク要求性能レジスタ、23,23d 電力モード判定ブロック、23b 電力モード判定回路、24 周波数/電圧判定ブロック、24b 周波数/電圧判定回路、25 電力モードテーブル、26 LDsysレジスタ、27 加算器、28 割り込み期間中電力モード・レジスタ、29 セレクタ、31 クロック生成部、32 電圧生成部、33 CPU、40 アプリケーション・プログラム・インタフェース(API)、S51 タスクの起動/終了判定ステップ、S53 起動タスクのLDtsk取得ステップ、S54 新たなLDsys算出ステップ、S55 対応する電力モード選択ステップ、S57 実行中または実行待ちタスク調査ステップ、S58 LDsysとして0設定ステップ。   10 OS, 11 (task) scheduler, 12 task A, 13 task B, 14 task C, 20, 20b, 20d, 20e, 20f, 20g power control block, 21-21f system required performance calculation block, 22, 22e task request Performance table, 22b task required performance register, 23, 23d power mode determination block, 23b power mode determination circuit, 24 frequency / voltage determination block, 24b frequency / voltage determination circuit, 25 power mode table, 26 LDsys register, 27 adder, 28 power mode register during interrupt period, 29 selector, 31 clock generator, 32 voltage generator, 33 CPU, 40 application program interface (API), S51 task start / end determination step, S53 LDtsk acquisition step of activated task, S54 new LDsys calculation step, S55 corresponding power mode selection step, S57 executing / waiting task checking step, S58 LDsys 0 setting step.

Claims (18)

複数のタスクを順次制御するプロセッサへの電力を供給する構成において、
上記タスクを単独で処理し終えるために要求されるシステム要求性能値を記憶するタスク要求性能テーブルと、
上記タスクから処理要求があると、上記タスク要求性能テーブルを参照してシステム要求性能値を求め、更に新たなタスクから処理要求があると、該新たな処理要求時点において同時に処理要求を行っている各タスクの合計で決まる新たなシステム要求性能値を求めるシステム要求性能算出ブロックと、
上記求められたシステム要求性能値に基いてプロセッサの動作周波数を設定し、上記要求されたタスクの処理を終えると、残存タスクがあれば動作周波数の設定を続行し、残存タスクがなければ省電力の動作周波数を設定する電力モード判定ブロック、とを備えたことを特徴とするプロセッサ電力制御装置。
In a configuration for supplying power to a processor that sequentially controls a plurality of tasks,
A task requirement performance table that stores system requirement performance values required to finish processing the task alone;
When there is a processing request from the task, the system required performance value is obtained by referring to the task request performance table, and when there is a processing request from a new task, the processing request is simultaneously made at the time of the new processing request. System requirement performance calculation block for obtaining a new system requirement performance value determined by the total of each task,
Set the operating frequency of the processor based on the calculated system required performance value, and when the requested task has been processed, continue setting the operating frequency if there are remaining tasks, and save power if there are no remaining tasks. And a power mode determination block for setting the operating frequency of the processor.
システムが必要とする動作速度を実現するためのプロセッサ動作周波数と印加電圧とを定めた電力モードテーブルを設けて、電力モード判定ブロックは、上記電力モードテーブルを参照して動作周波数と印加電圧とを設定することを特徴とする請求項1記載のプロセッサ電力制御装置。   A power mode table defining processor operating frequency and applied voltage for realizing the operating speed required by the system is provided, and the power mode determination block refers to the power mode table to determine the operating frequency and applied voltage. 2. The processor power control apparatus according to claim 1, wherein the processor power control apparatus is set. 単独のタスクの処理を終えるために要求されるシステム要求性能値として、該タスクを最大周波数で動作させた場合の処理時間と、該タスクの要求処理時間との比で得ることを特徴とする請求項1記載のプロセッサ電力制御装置。   The system required performance value required for finishing the processing of a single task is obtained by a ratio between the processing time when the task is operated at the maximum frequency and the required processing time of the task. Item 4. The processor power control device according to Item 1. システム要求性能算出ブロックは、それまでのシステム要求性能値を保持するシステム要求性能値保持レジスタと、新たなタスクから処理要求を受けた場合に該タスクのシステム要求性能値と、上記それまでのシステム要求性能値とで決まる値に上記保持レジスタの値を更新する加算器、とで構成することを特徴とする請求項1記載のプロセッサ電力制御装置。   The system required performance calculation block includes a system required performance value holding register for holding the system required performance value so far, a system required performance value of the task when a processing request is received from a new task, and the system so far 2. The processor power control apparatus according to claim 1, further comprising: an adder that updates the value of the holding register to a value determined by a required performance value. システム要求性能算出ブロックは、プロセッサで実行可能なプログラムのステップで構成して、
新たなタスクから起動要求があると、該タスクのシステム要求性能値を取得するステップと、
上記取得した新たなタスクのシステム要求性能値とそれまでのシステム要求性能値とで新たなシステム要求性能値を算出するステップと、
上記得た新たなシステム要求性能値に基いてプロセッサの動作周波数を指示するステップ、とを備えた構成としたことを特徴とする請求項1記載のプロセッサ電力制御装置。
The system required performance calculation block consists of program steps that can be executed by the processor.
When there is an activation request from a new task, a step of acquiring a system required performance value of the task;
Calculating a new system required performance value from the system required performance value of the acquired new task and the system required performance value so far;
2. The processor power control apparatus according to claim 1, further comprising a step of instructing an operating frequency of the processor based on the obtained new system required performance value.
電力モード判定ブロックは、割り込み期間中は所定の電力モードで動作するよう設定した割り込み期間中電力モード設定部と、
割り込みが発生している期間を表す信号を受けて、該割り込み発生期間中は上記割り込み期間中電力モード設定部が設定する電力モードを選択するセレクタ、とを備えて、
電力モード判定ブロックは、上記割り込みが発生している期間中は、上記割り込み期間中電力モード設定部が設定した電力モードで動作指示することを特徴とする請求項1記載のプロセッサ電力制御装置。
The power mode determination block includes an interrupt mode power mode setting unit configured to operate in a predetermined power mode during an interrupt period,
A selector that receives a signal indicating a period in which an interrupt is generated and selects a power mode set by the power mode setting unit during the interrupt period during the interrupt generation period;
2. The processor power control apparatus according to claim 1, wherein the power mode determination block issues an operation instruction in the power mode set by the power mode setting unit during the interrupt period during the interrupt period.
電力モード判定ブロックは、発生した割り込みが終了して、該終了時点で未処置のタスクがあると、該未処理のタスクのシステム要求性能値を勘案したシステム要求性能値に従ってプロセッサの動作周波数を設定することを特徴とする請求項6記載のプロセッサ電力制御装置。   The power mode determination block sets the operating frequency of the processor according to the system required performance value considering the system required performance value of the unprocessed task when the interrupt that has occurred is completed and there is an unprocessed task at the end 7. The processor power control apparatus according to claim 6, wherein: 所定のファイルまたはヘッダを読み込む読取部を備えて、
該読取部により読み込んだタスクが単独で処理を終えるための性能をタスク性能要求テーブルに設定することを特徴とする請求項1記載のプロセッサ電力制御装置。
A reading unit that reads a predetermined file or header,
2. The processor power control apparatus according to claim 1, wherein the task read by the reading unit is set in a task performance request table with a performance for completing the processing independently.
新たなタスクからの実タスク要求性能値を受け取るアプリケーション・プログラム・インタフェースを備えて、
新たにタスクから処理要求を受けると、対応するタスク要求性能テーブルに基いてシステム要求性能値を設定し、上記新たなタスクが起動後に上記新たなタスクからの実タスク要求性能値を受け取り、該受け取った実タスク要求性能値に基いてシステム要求性能を算出して更新することを特徴とする請求項1記載のプロセッサ電力制御装置。
With an application program interface that receives actual task request performance values from new tasks,
When a processing request is newly received from a task, a system required performance value is set based on the corresponding task required performance table, and after the new task is activated, an actual task required performance value from the new task is received and received. 2. The processor power control apparatus according to claim 1, wherein the system required performance is calculated and updated based on the actual task required performance value.
複数のタスクを順次処理するプロセッサの動作状態を制御する方法において、
各タスクを単独で処理を終えるために要求されるシステム要求性能値をタスク要求性能テーブルとして記憶しておき、
上記タスクから処理要求があると、上記タスク要求性能テーブルを参照してシステム要求性能値を取得するステップと、
新たなタスクから処理要求があると、該新たな処理要求時点において同時に処理要求を行っている各タスクの合計で決まる新たなシステム要求性能値を算出するステップと、
上記新たなシステム要求性能値に基いてプロセッサの動作周波数を指示する動作周波数指示ステップと、
上記要求されたタスクの処理を終えると、残存タスクがあれば動作周波数の設定を続行し、残存タスクがなければ省電力の動作周波数を設定するステップ、とを備えたことを特徴とするプロセッサ電力制御方法。
In a method for controlling an operating state of a processor that sequentially processes a plurality of tasks,
Store the system required performance value required to finish each task independently as a task required performance table,
When there is a processing request from the task, a step of obtaining a system required performance value with reference to the task required performance table;
When there is a processing request from a new task, a step of calculating a new system required performance value determined by the total of each task that requests processing simultaneously at the time of the new processing request;
An operating frequency indicating step for indicating the operating frequency of the processor based on the new system required performance value;
When the processing of the requested task is completed, the setting of the operating frequency is continued if there is a remaining task, and the step of setting the power-saving operating frequency if there is no remaining task. Control method.
動作周波数指示ステップは、新たなシステム要求性能に基づきプロセッサの電力モードを選択して動作周波数と電圧とを指示する動作周波数指示・電圧指示ステップとした、ことを特徴とする請求項10記載のプロセッサ電力制御方法。   11. The processor according to claim 10, wherein the operation frequency instruction step is an operation frequency instruction / voltage instruction step of selecting an operation frequency and a voltage by selecting a power mode of the processor based on new system performance requirements. Power control method. 割り込みハンドラが動作すると、割り込み期間中は所定の動作周波数となるようプロセッサに動作指示するステップを設けて、
上記割り込みハンドラから復帰する直前に、システム要求性能を算出するステップの前に戻るようにしたことを特徴とする請求項10記載のプロセッサ電力制御方法。
When the interrupt handler operates, a step is provided for instructing the processor to operate at a predetermined operating frequency during the interrupt period.
11. The processor power control method according to claim 10, wherein the process returns to the step before calculating the system required performance immediately before returning from the interrupt handler.
複数のタスクを順次制御するプロセッサへの電力を供給する構成において、
上記タスクを単独で処理し終えるために要求される性能をシステム要求性能値として記憶しておき、上記タスクから処理要求があると上記記憶したシステム要求性能値を求めて指示し、更に新たなタスクから処理要求があると、該新たな処理要求があった時点で同時に処理要求を行っている各タスクの合計で決まる新たなシステム要求性能値を算出して指示し、タスクの処理を終えると、残存タスクがあれば、当該処理を終えたタスクを実行するために消費した消費性能量と当該処理を終えたタスクが要求した性能量との差と、当該処理を終えたタスクのシステム要求性能値とにより所定期間を算出し、算出した所定期間は直前のシステム要求性能値を指示し、算出した所定期間が経過すると残存タスクの合計で決まるシステム要求性能値を算出して指示するシステム要求性能算出ブロックと、
上記指示されたシステム要求性能値に基いてプロセッサの動作周波数を設定し、残存タスクがなくなると、省電力となるプロセッサの動作周波数を設定する電力判定ブロック、とを備えたことを特徴とするプロセッサ電力制御装置。
In a configuration for supplying power to a processor that sequentially controls a plurality of tasks,
The performance required to finish processing the above task alone is stored as a system required performance value. When there is a processing request from the task, the stored system required performance value is obtained and instructed, and a new task When there is a processing request from, when a new processing request is issued, a new system required performance value determined by the total of the tasks that are simultaneously requesting processing is calculated and instructed. If there are remaining tasks , the difference between the consumption performance amount consumed to execute the task that has completed the processing and the performance amount requested by the task that has completed the processing, and the system required performance value of the task that has completed the processing and by calculating a predetermined time period, calculated predetermined time period indicates the required system performance value immediately before, and calculates the predetermined period of time has elapses system required performance value determined by the sum of the remaining tasks And system performance requirements calculation block instructing out,
A power determination block that sets the operating frequency of the processor based on the instructed system required performance value and sets the operating frequency of the processor to save power when there are no remaining tasks. Power control device.
タスクを要求処理時間に基づいて分類し、該要求処理時間毎にシステム要求性能算出ブロックを設けてそれぞれシステム要求性能値を算出し、電力判定ブロックは、タスク対応の上記システム要求性能値に基いて周波数を設定することを特徴とする請求項13記載のプロセッサ電力制御装置。   The tasks are classified based on the required processing time, and a system required performance calculation block is provided for each required processing time to calculate a system required performance value. The power determination block is based on the system required performance value corresponding to the task. 14. The processor power control apparatus according to claim 13, wherein the frequency is set. 要求処理時間が一定時間未満であるタスクに対しては、該タスク対応のシステム要求性能算出ブロックを省いて固定値を指示する構成としたことを特徴とする請求項13記載のプロセッサ電力制御装置。   14. The processor power control apparatus according to claim 13, wherein for a task whose request processing time is less than a predetermined time, a fixed value is indicated by omitting a system required performance calculation block corresponding to the task. システムが必要とする動作性能を実現するためのプロセッサ動作周波数と印加電圧とを定めた電力モードテーブルを設けて、電力モード判定ブロックは、上記電力モードテーブルを参照して動作周波数と印加電圧とを設定することを特徴とする請求項13記載のプロセッサ電力制御装置。   A power mode table that defines processor operating frequency and applied voltage for realizing the operating performance required by the system is provided, and the power mode determination block refers to the power mode table to determine the operating frequency and applied voltage. 14. The processor power control apparatus according to claim 13, wherein the processor power control apparatus is set. 複数のタスクを順次処理するプロセッサの動作状態を制御する方法において、
上記タスクを単独で処理し終えるために要求されるシステム要求性能値を記憶しておき、
上記タスクから処理要求があると、上記記憶したシステム要求性能値を取得するステップと、
新たなタスクから処理要求があると、該新たな処理要求があった時点で同時に処理要求を行っている各タスクの合計で決まる新たなシステム要求性能値を算出するステップと、
タスクの処理を終えると、残存タスクがあれば、当該処理を終えたタスクを実行するために消費した消費性能量と当該処理を終えたタスクが要求した性能量との差と、当該処理を終えたタスクのシステム要求性能値とにより所定期間を算出し、算出した所定期間は直前のシステム要求性能値を指示するステップと、
上記所定期間が経過すると残存タスクの合計で決まるシステム要求性能値を算出するステップと、
上記システム要求性能値に基いてプロセッサの動作周波数を指示する動作周波数指示ステップと、
残存タスクがなくなると、省電力となるプロセッサの動作周波数を設定するステップ、とを備えたことを特徴とするプロセッサ電力制御方法。
In a method for controlling an operating state of a processor that sequentially processes a plurality of tasks,
Store the system required performance value required to complete the above task alone,
When there is a processing request from the task, obtaining the stored system required performance value;
When there is a processing request from a new task, a step of calculating a new system required performance value determined by the total of the tasks that are simultaneously requesting processing when the new processing request occurs;
When the task processing is completed, if there are remaining tasks , the difference between the consumption performance amount consumed to execute the task that has completed the processing and the performance amount requested by the task that has completed the processing is completed. Calculating a predetermined period based on the system required performance value of the task, and instructing the immediately preceding system required performance value for the calculated predetermined period ;
Calculating a required system performance value determined by a total of remaining tasks after the predetermined period has elapsed;
An operating frequency indicating step for indicating the operating frequency of the processor based on the system required performance value;
A processor power control method comprising: setting an operating frequency of a processor that saves power when there are no remaining tasks.
タスクを要求処理時間に基づいて分類し、該要求処理時間毎にシステム要求性能を得て、動作周波数指示ステップは、上記タスクの優先度対応で周波数を設定することを特徴とする請求項17記載のプロセッサ電力制御方法。 Classified based on the task to request processing time to obtain the required system performance for each said request processing time, the operating frequency instruction steps according to claim 17, wherein the frequency setting priority corresponding the task Processor power control method.
JP2005017643A 2004-03-02 2005-01-26 Processor power control apparatus and processor power control method Expired - Fee Related JP4490298B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005017643A JP4490298B2 (en) 2004-03-02 2005-01-26 Processor power control apparatus and processor power control method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004057670 2004-03-02
JP2005017643A JP4490298B2 (en) 2004-03-02 2005-01-26 Processor power control apparatus and processor power control method

Publications (2)

Publication Number Publication Date
JP2005285093A JP2005285093A (en) 2005-10-13
JP4490298B2 true JP4490298B2 (en) 2010-06-23

Family

ID=35183355

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005017643A Expired - Fee Related JP4490298B2 (en) 2004-03-02 2005-01-26 Processor power control apparatus and processor power control method

Country Status (1)

Country Link
JP (1) JP4490298B2 (en)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8799902B2 (en) * 2007-04-09 2014-08-05 Intel Corporation Priority based throttling for power/performance quality of service
KR101466399B1 (en) * 2008-05-06 2014-11-27 엘지전자 주식회사 Data processing device and method for controlling the operating period thereof
US20100257529A1 (en) * 2009-04-06 2010-10-07 Christopher Wilkerson Efficient systems and methods for consuming and providing power
US9483746B2 (en) * 2009-11-02 2016-11-01 International Business Machines Corporation Comparing utility and warranty of services
EP2600245A4 (en) 2010-07-30 2013-11-06 Fujitsu Ltd Multi-core processor system, allocation program, control program, allocation method and control method
JPWO2012067211A1 (en) * 2010-11-16 2014-05-19 日本電気株式会社 Information processing apparatus, electronic device, computer program, and performance and power control method
JP5621613B2 (en) * 2011-01-19 2014-11-12 富士通株式会社 Information processing apparatus, control method, and program
JPWO2012098683A1 (en) * 2011-01-21 2014-06-09 富士通株式会社 Scheduling method and scheduling system
KR101851614B1 (en) * 2011-12-12 2018-06-12 삼성전자주식회사 Method of clock control of system on chip including functional block, system on chip of the same and semicondutor system including the same
JP5942416B2 (en) 2011-12-21 2016-06-29 富士通株式会社 Information processing apparatus control program, control method, and information processing apparatus
JP6042217B2 (en) 2013-01-28 2016-12-14 ルネサスエレクトロニクス株式会社 Semiconductor device, electronic device, and control method of semiconductor device
JP6060756B2 (en) * 2013-03-18 2017-01-18 富士通株式会社 Frequency control device, frequency control method, and frequency control program
US9436265B2 (en) 2013-10-24 2016-09-06 Fujitsu Limited Information processing apparatus and load control method
KR101513398B1 (en) 2014-07-02 2015-04-17 연세대학교 산학협력단 Terminal device for reducing power consumption and Method for controlling the same

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0876874A (en) * 1994-09-06 1996-03-22 Hitachi Ltd Device and method for controlling clock of central processing unit
JPH09297688A (en) * 1996-03-06 1997-11-18 Mitsubishi Electric Corp System clock determining device
JPH11212662A (en) * 1998-01-28 1999-08-06 Sony Corp Clock control method and its controller
WO2002021245A1 (en) * 2000-09-08 2002-03-14 Fujitsu Limited Clock control method, device therefor, and medium
JP2002182776A (en) * 2000-12-18 2002-06-26 Kenwood Corp System and method for controlling operating frequency
JP2003108260A (en) * 2001-09-28 2003-04-11 Hitachi Ltd Information processer and controlling method therefor
JP2003256067A (en) * 2002-03-01 2003-09-10 Mitsubishi Electric Corp Power saving control system, power saving control method, program and recording medium

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0876874A (en) * 1994-09-06 1996-03-22 Hitachi Ltd Device and method for controlling clock of central processing unit
JPH09297688A (en) * 1996-03-06 1997-11-18 Mitsubishi Electric Corp System clock determining device
JPH11212662A (en) * 1998-01-28 1999-08-06 Sony Corp Clock control method and its controller
WO2002021245A1 (en) * 2000-09-08 2002-03-14 Fujitsu Limited Clock control method, device therefor, and medium
JP2002182776A (en) * 2000-12-18 2002-06-26 Kenwood Corp System and method for controlling operating frequency
JP2003108260A (en) * 2001-09-28 2003-04-11 Hitachi Ltd Information processer and controlling method therefor
JP2003256067A (en) * 2002-03-01 2003-09-10 Mitsubishi Electric Corp Power saving control system, power saving control method, program and recording medium

Also Published As

Publication number Publication date
JP2005285093A (en) 2005-10-13

Similar Documents

Publication Publication Date Title
JP4490298B2 (en) Processor power control apparatus and processor power control method
US6986068B2 (en) Arithmetic processing system and arithmetic processing control method, task management system and task management method
RU2503987C2 (en) Power-saving stream scheduling and dynamic use of processors
US9292068B2 (en) Controlling a turbo mode frequency of a processor
JP4370336B2 (en) Low power consumption job management method and computer system
JP5433837B2 (en) Virtual computer system, virtual computer control method, and program
JP2008165798A (en) Performance management of processor in data processor
EP2115550B1 (en) Methods and systems for power management in a data processing system
JP4123640B2 (en) Information processing system and control method thereof, task allocation control method and control apparatus, and program providing medium
JPWO2005106623A1 (en) CPU clock control device, CPU clock control method, CPU clock control program, recording medium, and transmission medium
JP5090569B2 (en) Processor power consumption control and voltage drop by bandwidth throttling of microarchitecture
JP2002099433A (en) System of computing processing, control method system for task control, method therefor and record medium
US20020194509A1 (en) Method and system for using idle threads to adaptively throttle a computer
EP0683451A2 (en) Power supply control method in multi-task environment
JP4697805B2 (en) Data processing device
US20080141265A1 (en) Power Management Method for Platform and that Platform
JP2008257578A (en) Information processor, scheduler, and schedule control method of information processor
JPH09185589A (en) Information processing system and power saving method for the system
US20100138837A1 (en) Energy based time scheduler for parallel computing system
CN110795238B (en) Load calculation method and device, storage medium and electronic equipment
US9632566B2 (en) Dynamically controlling power based on work-loop performance
JP5585651B2 (en) Multi-core system, scheduling method and scheduling program
JP2019109600A (en) Information processing device, computer control method, and computer control program
KR102613979B1 (en) Apparatus and method for managing power of multi-core processor
Senapati et al. ERS: Energy-efficient Real-time DAG Scheduling on Uniform Multiprocessor Embedded Systems

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071112

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100202

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100309

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100330

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100401

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130409

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees