JP3093928B2 - 情報処理方法とその装置 - Google Patents

情報処理方法とその装置

Info

Publication number
JP3093928B2
JP3093928B2 JP06136953A JP13695394A JP3093928B2 JP 3093928 B2 JP3093928 B2 JP 3093928B2 JP 06136953 A JP06136953 A JP 06136953A JP 13695394 A JP13695394 A JP 13695394A JP 3093928 B2 JP3093928 B2 JP 3093928B2
Authority
JP
Japan
Prior art keywords
task
information processing
unit
power
power consumption
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
JP06136953A
Other languages
English (en)
Other versions
JPH086803A (ja
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.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP06136953A priority Critical patent/JP3093928B2/ja
Priority to DE69532596T priority patent/DE69532596T2/de
Priority to EP95106933A priority patent/EP0683451B1/en
Priority to KR1019950011233A priority patent/KR0177536B1/ko
Publication of JPH086803A publication Critical patent/JPH086803A/ja
Priority to US08/932,466 priority patent/US5828568A/en
Application granted granted Critical
Publication of JP3093928B2 publication Critical patent/JP3093928B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、複数の時分割で実行可
能な情報処理装置に関するものである。
【0002】
【従来の技術】従来より、この種の装置として、ワーク
ステーション、パーソナルコンピュータなどが知られて
いる。
【0003】これらの情報処理装置では、複数の処理を
時分割で実行するマルチタスク処理を行うことで、見か
け上は複数の処理を並行して実行できるようになってい
る。こうした処理によって、一人のユーザが複数の応用
プログラムを同時に実行させることができる。また、端
末機を複数接続すれば、複数のユーザが同時に情報処理
装置を利用することができる。
【0004】以上に述べたようなマルチタスク処理を行
うオペレーティングシステムでは、スケジューラと呼ば
れる処理部が存在する。スケジューラは、複数のタスク
が実行可能である時に、どのタスクを実行するかを決定
する。割当が行われなかったタスクは、次回に割り当て
られるまでの時間は、実行待ち状態となり、処理がおこ
なわれない。このスケジューリングの方式として、ラウ
ンドロビン方式、優先度スケジューリング方式等が実現
されている。
【0005】ラウンドロビン方式は、待ちタスクを先入
先出しのリストで管理し、リストの順に実行する方式で
ある。CPU割当時間が終了したタスクは、リストの最
後尾に入れられる。
【0006】優先度スケジューリング方式では、以下の
ような方法が実現されている。
【0007】まず、タスクの実行レベルに応じて優先度
を決定する方法がある。ユーザの作成したプログラムの
動作するユーザレベルと、OSの動作する特権レベルが
あった場合、特権レベルのタスクに高い優先度を与える
よう処理する。また、動画再生のような実行時間の制限
の厳しいタスクに、高い優先度を与える方法もある。ユ
ーザIDの資格に従って、優先度を決定する方法もあ
る。さらに、前のCPU割当時間中の使用時間の割合に
より、優先度を決定する方法もある。
【0008】一般的には、同一優先度のタスクをひとつ
のランクにまとめ、各ランク間においては優先度スケジ
ューリングを行い、各ランク内ではラウンドロビン法を
行う方式が実現されることが多い。
【0009】一方で、これらの情報処理装置では、複数
の処理を並列的に処理するために、処理回路を高速に動
作させねばならず、消費電力が増加するため、動作中は
非常に高温となる。また、多くのI/O装置が内蔵され
ているため、これらI/O装置によっても大量の熱が発
生する。この発熱は、装置の誤動作等による信頼性を低
下させる原因となるため、消費電力を低減させて発熱を
押さえることが重要な課題となっている。
【0010】そこで、パーソナルコンピュータ等で実現
されている消費電力の低減の方法について説明する。一
般的には、以下の4つの方法が広く実現されている。
【0011】(1)直流分の電力が印加されている回路
を減らす。
【0012】(2)回路の動作電圧を下げる。
【0013】(3)回路の動作周波数を下げる。
【0014】(4)使用されていない回路の動作を停止
する。
【0015】ここで、(4)の方法について説明する。
まず、回路が最後に操作されてからの経過時間を計測す
る。再操作が一定の時間ない場合は、その回路は使用さ
れていないと判断し、回路の動作停止や電力遮断を行
う。以上の動作により、不要部分の消費電力の低減する
ことができる。
【0016】しかし、ユーザが使用している間にも、た
びたび動作が停止してしまうために、操作性の低下を招
くことがある。一方で、経過時間の閾値を長く設定した
場合は、操作性は低下しないが、消費電力低減の効果は
少なくなってしまう。そこで、通常、この設定時間は操
作性と消費電力のトレードオフで決定されている。
【0017】
【発明が解決しようとする課題】しかしながら、上記従
来例においては、以下に説明するような問題点があっ
た。
【0018】同時に実行されているタスク数が多い場
合、タスクの待ち時間は長くなり、一タスクの見かけの
実行時間が長くなることがある。タスクの獲得している
I/O資源にとっては、この待ち時間は使用されない待
機時間となる。しかし、これらの待機時間はきわめて短
く、タスク時間が積算されたものであるので、従来例で
述べた省電力制御が行えず、この時間の動作は無駄な電
力消費となる。すなわち、タスク数が多い場合は、I/
O資源の待機時間が増えて、無駄な電力消費が生じるこ
とがある。
【0019】上記従来例においては、こうしたスケジュ
ーラ制御は、I/O資源の消費電力とは全く関係なく、
一律に制御されていた。そのため、大電力を要するI/
O資源を獲得したタスクが長時間待ち状態となる場合が
生じ、非常に大きな電力が無駄に消費されてしまうとい
う問題点があった。
【0020】また、複数のデバイスの再起動が重なる
と、一時的に大きなピーク電流が流れていた。そのた
め、装置電源の容量を非常に大きく設計しなければなら
ず、装置の大型化コストアップを招いてしまうという問
題点があった。
【0021】本発明は上記の問題に鑑みてなされたもの
であり、消費電力を低減することが可能な情報処理方法
及びその装置を提供することを目的とする。
【0022】
【課題を解決するための手段】上記の目的を達成するた
めの本発明の一態様による情報処理装置はたとえば以下
の構成を備える。すなわち、複数のタスクを時分割で実
行する情報処理装置であって、各タスクがアクセスする
デバイスの合計消費電力を、各タスク毎に記憶する記憶
手段と、前記記憶手段に記憶されたタスク毎の合計消費
電力に基づき、該合計消費電力が多いタスクが少ないタ
スクより処理の実行頻度が高くなるようにタスクの実行
順序を決定する決定手段と、前記決定手段により決定さ
れた実行順序に基づき、各タスクの処理を実行する実行
手段とを備える。
【0023】また、上記の目的を達成するための本発明
の他の態様によれば、以下の工程を備える情報処理方法
が提供される。すなわち、複数のタスクを時分割で実行
する情報処理方法であって、各タスクがアクセスするデ
バイスの合計消費電力を、各タスク毎に記憶する記憶工
程と、前記記憶工程によって記憶されたタスク毎の合計
消費電力に基づき、該合計消費電力が多いタスクが少な
いタスクより処理の実行頻度が高くなるようにタスクの
実行順序を決定する決定工程と、前記決定工程により決
定された実行順序に基づき、各タスクの処理を実行する
実行工程とを備える。
【0024】
【作用】上記の構成によれば、複数のタスクを時分割で
実行する情報処理装置において各タスクがアクセスする
デバイスの合計消費電力が、各タスク毎に記憶される。
そして、記憶されたタスク毎の合計消費電力に基づい
、該合計消費電力が多いタスクが少ないタスクより処
理の実行頻度が高くなるようにタスクの実行順序が決定
され、この決定された実行順序に基づいて各タスクの処
理が実行される。
【0025】
【実施例】上記目的を達成するための本発明に係る情報
処理方法並びにその装置の一実施例について以下説明す
る。始めに、本実施例の情報処理装置のポイントについ
て要約する。
【0026】複数の処理を時分割で実行可能な情報処理
装置において、各タスクの使用するハードウェア資源の
全電力を検知し、その全電力に基づいて、各タスクの動
作属性を決定する。即ち、タスクが獲得しているハード
ウェア資源とその消費電力を検出して、獲得したハード
ウェア資源のトータル電力が大きいタスクの実行優先度
を高く設定して、オペレーテイングシステムのスケジュ
ーラが、高い実行優先度のタスクを選択して、実行権を
与える。
【0027】また、複数のハードウェア資源の起動が重
なった時は、新たなデバイスの起動を要求するタスクの
実行を保留させる情報処理方法とその装置を提供する。
【0028】これらの処理によって、消費電力を最小に
してマルチタスク処理を高速に実行できる情報処理方法
と装置を提供する。
【0029】以下、添付図面を参照して、本発明にかか
る好適な一実施例を詳細に説明する。<情報処理装置構
成の説明>まず、図3を用いて本実施例の情報処理装置
の概略構成を説明する。
【0030】本実施例の情報処理装置は、複数の端末機
からアクセスが可能であって、周辺入出力デバイスを内
蔵したワークステーションである。
【0031】図3を参照して、1は情報処理装置全体の
制御を行うCPUであり、メインメモリ3に格納された
プログラムに従って、演算、I/O制御等の処理を実行
する。CPU周辺回路2は、リアルタイムクロック発生
部1001、タイマー1002、割込み制御回路100
3、DMA制御回路等の周辺機器を制御するのに必要な
処理回路を含み、CPU1の制御下に各ユニットを制御
する。CPU周辺回路2の構成を図15に示す。図15
を参照して、タイマー1002が所定の時間経過を検出
すると、割り込み要求信号1006を割込み制御回路1
003に出力し、割込み制御回路1003は、この入力
信号に基づいて、CPU割り込み要求信号1004をC
PU1に出力する。
【0032】図3に戻り、メインメモリ3は、DRA
M、キャッシュRAM、ROM等のメモリを含む。メイ
ンメモリ3は、本装置が使用されていない時にも、バッ
テリ等により電力が供給されており、記憶内容が保持さ
れる。4は、CPU1の指示によって電源のオンオフを
行う電源制御部である。
【0033】詳細は後述するが、本実施例の情報処理装
置は、電源がユニット毎に独立して供給されており、ユ
ニット単位で電源のオンオフが可能である。本実施例で
のユニット構成は、31は表示ユニット、32はFDD
ユニット、33はHDDユニットである。また、34は
CD−ROMユニット、35はプリンタユニット、36
は通信ユニットである。
【0034】表示ユニット31において、5は表示制御
部であり、内蔵するVRAM(図示せず)から表示デー
タを順次読み出し、階調変換等を行いながら、表示部6
へデータを転送する。また、表示制御部5は、CPU1
からVRAMへのアクセスと、VRAMから表示部6へ
データ転送する。また、表示制御部5は、CPU1から
VRAMへのアクセスと、VRAMから表示部6へデー
タ転送するアクセスが衝突しないようにバス調停も行
う。さらには、VRAMの内容に対してあらかじめ設定
されたパタンとの論理積(AND)、論理和(OR)、
排他的論理和(EXOR)等の論理演算を行うこともで
きる。6は表示部であり、CRT、液晶パネル(LC
D)等によって構成される。FDDユニット32におい
て、7はFDD制御部であり、8はフロッピーディスク
ドライブである。HDDユニット33において、9はH
DD制御部であり、12はCD―ROMドライブであ
る。CD−ROMユニット34において、11はCD−
ROM制御部であり、10はハードディスクドライブで
ある。プリンタユニット35において、13はプリンタ
制御部であり、14はプリンタ部である。15は、高速
シリアル形式で通信を行うための通信インターフェイス
である。16〜18は、通信インターフェイス15と接
続して、各ユーザが情報の入出力を行う端末装置であ
る。
【0035】次に、図7を用いて、本実施例の電源構成
について説明する。
【0036】スイッチング電源27は、ACプラグ28
を介して入力される商用電源の交流電圧を、本体内で使
用する電圧(例えば、デジタル回路用に+5V、表示部
駆動用に−24V、各ドライブのモータドライバ用に+
20V)に変換する。
【0037】本実施例の情報処理装置は、ユニット毎に
独立して動作電力を供給し、ユニット単位で電源のオン
オフを行うことで消費電力の低下を図る。また、一部の
ユニットでは、内部クロックを停止させたり、低下させ
ることで省電力モードを実現する。本実施例でのユニッ
ト構成は、前述したユニットの他に、CPU1、CPU
周辺回路2、メインメモリ3から構成されるCPUメモ
リユニット30、及び、通信インターフェイス15から
構成される通信ユニット36がある。
【0038】ただし、CPUメモリユニット30は、オ
ンオフ(ON/OFF)出来ず、電源の投入で常にオン
(ON)状態である。表示ユニット31は、表示制御部
5、表示部6を含む。FDDユニット32は、FDD制
御部7、FDD8を含む。HDDユニット33は、HD
D制御部9、HDD10を含み、CD−ROMユニット
34は、CD−ROM制御部11、CD−ROMドライ
ブ12を含む。プリンタユニット35は、プリンタ制御
部13、プリンタ14を含む。
【0039】これらの機能ユニットへの電力の供給は、
電源制御部4に含まれるスイッチ21〜26を通じて行
う。スイッチ21〜26は、それぞれがユニットに1対
1で対応している。対応するスイッチをオフすること
で、ユニットに対する電力供給を停止し、処理を停止さ
せる。スイッチの制御は、CPU周辺回路2を通じて、
CPU1が行う。
【0040】尚、スイッチは、電磁リレーやリードスイ
ッチのようなメカ電気素子でも、また、MOS−FET
のような半導体のスイッチであっても良い。
【0041】続いて、図8の(a)、(b)を用いて、
各デバイスユニットの電力モードの制御について説明す
る。
【0042】本実施例においては、ユニットが最後にア
クセスされてからの経過時間を計測し、再アクセスが一
定の時間内に行われない場合は使用されていないものと
判断し、ユニットを省電力モードに切り換える。そのた
めに、各ユニットの制御回路には、経過時間計測用のタ
イマーが用意されており、カウント終了で、CPU10
に割込み信号を発生する。省電力モード時にアクセスが
あった場合は、各ユニットの制御回路がこれを検出し
て、動作停止していた部分の機能を復帰させる処理を行
う。
【0043】尚、ここでは、各ユニットの制御回路に、
経過時間計測用のタイマーが用意されている例について
述べたが、別の方法として、タイマー1002(図15
参照)を用いて、オペレーテイングシステムが、そのタ
イマー1002でのリアルタイムの時間値を定期的に参
照して、各I/Oユニットに対応する実行時間をメモリ
3に記憶することによって時間計測してもよい。
【0044】次に、いづれかのI/Oユニットをアクセ
スする必要のあるタスクが、オペレーテイングシステム
のスケジューラによって、実行権を与えられ、所用のI
/Oユニットに対するアクセスする処理手順について、
以下詳細に説明する。
【0045】始めに、図9を参照して、本情報処理装置
でのポイントであるタスクスケジューリング方法と、そ
の効果について説明する。
【0046】以下では、図9のタイミングチャートを用
いて、本実施例の動作について説明する。
【0047】まず、図9の(a)は、本実施例のタスク
スケジューリング方法を用いなかった場合での各タスク
の実行状態と、あるタスクが排他的に使用しているI/
Oユニットの動作モード(通常動作モード、省電力モー
ド)の関係について述べている。
【0048】図9の(a)を参照して、ここでは、仮想
的に同時に実行するタスクが3つ、即ち、タスクA、タ
スクB、タスクCがある場合についての動作状態をしめ
す。ここでは、タスクCがあるI/Oユニット(I/O
ユニットCと呼ぶことにする)を関係処理が終了するま
で排他的に占有している場合を示す。スケジューラは、
各タスクの実行スケジューリングを、各タスクに対し同
一優先度で実行権を割り当てているとする。実行権を割
り当てられたタスクは、CPUマシンサイクルを占有し
て所定の処理を実行する。図9の横軸900は、時間軸
であり左から右に時間が進むとする。90はタスクA、
91はタスクB、92はタスクCの実行タイミングを示
す。90〜92のチャートにおいて、ハイ(H)レベル
のタイミングで各タスクは実行され、ロウ(L)レベル
で実行待ちとなる。尚、同チャートでは、スケジューラ
によるタスク切り替え時間等のシステム側でのオーバヘ
ッド時間は省略している。また、93は、装置に内蔵さ
れているI/OユニットCの電力モードの変化を示して
いる。93がHレベルの時は、I/OユニットCが通常
動作を行う通常動作モードであり、アクセスのない時に
は動作待ち状態を続ける。Lレベルの時は、I/Oユニ
ットCの一部回路が動作停止となり、いわゆる省電力モ
ードとなる。I/OユニットCの制御回路には、アイド
ルタイマーCが内蔵されているとする。このアイドルタ
イマーCは、タスクCによるアクセスが終了するごと
に、時間計測、即ち、アイドル時間の計測を開始する。
【0049】そして、もし、そのアイドル時間が、所定
の閾値であるt(アイドル時間) となると、I/Oユニッ
トCを省電力モードに切り換えるよう制御する。
【0050】タスクCは、I/OユニットCを排他的に
獲得して処理を行っており、チャートでは、5回の実行
割当での処理でI/OユニットCに対するアクセスが終
了することを示している。チャートでは、時刻t1にお
いて5回目(最後)の処理が終了し、タスクCは、I/
OユニットCを解放して処理を終了する。そして、時刻
t1には、I/OユニットCのアイドルタイマーCがカ
ウントを開始する。時刻t1からt(アイドル時間) が経
過すると、アイドルタイマーがカウントを終了し、I/
OユニットCを省電力モードに切り換える(時刻t
2)。もし、アイドルタイマーCのカウント中に、他の
タスクがI/OユニットCをアクセスした場合は、その
たび毎にアイドルタイマーCがリセットされることにな
る。
【0051】次に、図9の(b)を参照して、本実施例
の各タスクが使用している各I/Oユニットの全電力に
基づくタスクスケジューリングを行った場合の、各タス
クの動作タイミングと、タスクCに排他制御されたI/
OユニットCの動作モードの遷移について説明する。
【0052】同図において、タスクの構成や各チャート
の表し方は、図9の(a)と同様である。
【0053】このタスクスケジューリング方法では、各
タスクが使用している各I/Oユニットの全電力を計算
して、各タスクごとの全電力を比較し、大きい電力値を
もつタスクに実行優先権をあたえるという方法で、タス
クスケジューリングを行う。図9の(b)の例では、タ
スクCが使用する各I/Oユニットの全電力値が、他の
タスクに比べて大きい場合を示しており、そのため、タ
スクスケジューラによって、タスクCに最高の優先権が
与えられるため、タスクA,タスクBにくらべて実行頻
度が高くなっている。
【0054】チャートでは、時刻t3において、タスク
Cの5回目の実行が終了し、タスクCはI/Oユニット
Cを解放して処理を終了する。また、時刻t3には、I
/OユニットCのアイドルタイマーCがアイドル時間の
カウントを開始する。時刻t3からt(アイドル時間)が
経過すると、アイドルタイマーCがカウントを終了し、
I/OユニットCが省電力モードに切り換わる(時刻t
4)。
【0055】ここで、図9の(a)と(b)を参照し
て、I/OユニットCが省電力モードに切り換えるまで
の時間を比較すると、図9の(b)では、時刻t4に省
電力モードに切り換える制御がなされるが、図9の
(a)ではそれより遅い時刻t2になって初めて省電力
モードに切り換える制御が行われている。
【0056】すなわち、本実施例の制御により、時間t
2−t4だけ早く制御を行うことができる。そこで、この
時間間隔に消費されるデバイスの消費電力が低減できる
ことになる。
【0057】図8の(a)は、実行権をスケジューラに
よって与えられたタスクが、各I/Oユニット(以下、
単にデバイスと呼ぶ)の入出力を行うデバイスドライバ
の処理の流れを示すフローチャートである。
【0058】ステップS120では、所定のデバイスと
のデータの入出力を行う。
【0059】ステップS121では、所定のデバイスに
対応するアイドルタイマーを初期化して、カウントを開
始させる。そして、処理を終了して本ルーチンをコール
した上位処理プログラムの処理ステップに戻る。
【0060】一方、図8(b)は、アイドルタイマーの
カウント終了で起動される割込み処理ルーチンの処理の
流れを示す図である。
【0061】ステップS122では、アイドルタイマー
がカウント終了したデバイスを、省電力モードに切り換
える。
【0062】ステップS123では、アイドルタイマー
の停止を行う。そして、処理を終了して本ルーチンをコ
ールした上位処理プログラムの処理ステップに戻る。
【0063】以上の制御によって、ユニットの電力モー
ドを切り換えることができる。 <オペレーティングシステムの構成の説明>以下では、
本実施例の情報処理装置のオペレーティングシステムの
構成について説明する。
【0064】まず、マルチタスクスケジューリングを実
現するスケジューラについて図4を参照して説明する。
図4は、本実施例のスケジューラの構成を説明する図で
ある。
【0065】スケジューラは、タイマーによって、例え
ば、100μsといった一定時間毎に起動され、実行す
るタスクの切り換えを行う。本実施例のスケジュール制
御は、タスクの優先度を4レベルに分け、優先度スケジ
ューリングを行う。さらに、同一の優先度内では、ラウ
ンドロビン法によって制御を行う。
【0066】50〜53は、各優先レベルのキューヘッ
ダである。優先度4のキューヘッダ50が最高の優先度
を持ち、キューヘッダ53が最低の優先度となる。各優
先レベルのキューヘッダ50〜53には、実行待ちのタ
スクがリスト構造で連結される。54〜57は、それぞ
れの優先度における最後尾に接続された実行待ちのタス
クである。
【0067】本実施例の各タスクの動作は、それぞれの
タスクがタスクコントローラブロック(TCB)と呼ば
れるテーブルを持ち、これに従って制御される。ここの
TCBは双方向リストによって結合される。また、スケ
ジューリングに用いる実行待ちタスクのキューイング
も、TCBの双方向リストによって実現される。
【0068】次に、TCBの内容を、図5を用いて説明
する。
【0069】70は、タスクの識別を行うために、オペ
レーテイングシステムから設定されるタスクIDであ
る。71は、TCB相互を結合するTCBリンクデータ
である。72は、実行待ちタスクを結合するための実行
キューリンクである。73は、タスク間のセマフォを制
御するためのリンクデータである。74は、タスクの待
ち優先度データである。75は、現在のタスクの状態を
表すタスクステータスである。タスクステータス75に
は、実行の可能/不可能、サスペンド/実行中等のフラ
グが集められている。76は、タスク自身とその子タス
クの獲得したデバイスを示すデバイスリストである。7
7は、タスクの獲得したデバイスの合計消費電力が書き
込まれている。
【0070】続いて、TCBのさらに具体的な構成につ
いて図6の(a)〜(c)を用いて説明する。
【0071】図6の(a)は、デバイスリスト76の構
成を示す図である。デバイスリスト76は、各タスクの
獲得したデバイス情報を格納し、デバイス獲得時に更新
が行われる。図6中、80は、獲得したデバイスを識別
するデバイスIDである。81は、各デバイスの消費電
力である。82は、デバイスを獲得した時刻が格納され
る。83は、デバイスを獲得したタスクのタスクIDで
ある。子タスクの獲得したデバイスは、自身のデバイス
リストと共に、親タスクのデバイスリストにも記録され
る。
【0072】図6の(b)は、合計消費電力の格納状態
を示す図である。84は、合計消費電力の格納領域であ
り、デバイスリストのデバイス消費電力81を合計した
ものが格納される。
【0073】図6の(c)は、優先度の変数の格納状態
を示す図である。本実施例では、各タスクの優先度の初
期値は、オペレーテイングシステムが設定を行う。そし
て、タスクの使用するデバイスの消費電力に応じて、優
先度の補正を行う。スケジューリングに用いる補正優先
度は以下の式で計算する。 補正優先度=設定値+電力補正値 (式1) 格納状態について説明すると、85は、オペレーテイン
グシステムの定める設定値である。86は、デバイス消
費電力による補正値である。88には、(式1)の補正
が行われた優先度が格納される。 <処理動作の説明(図1、図2参照)>以下では、本実
施例の処理の流れをフローチャートを用いて説明する。
【0074】本実施例においては、デバイスの使用権獲
得時に、TCB内のデバイスリストの追加と合計消費電
力の計算を行う。さらに、合計電力に従って優先度の変
更を行う、という処理を行う。
【0075】次に、図1を参照して、各デバイスの獲得
を行うデバイスドライバの処理の流れを示すフローチャ
ートである。
【0076】ステップS100では、デバイスの獲得処
理を行う。即ち、タスクがアクセスしたいデバイスが使
用可能であるかどうかの各種情報をチェックする。
【0077】ステップS101では、デバイス獲得がで
きたかどうか判定し、獲得できれば、ステップS102
へ、できなければ処理を終了する。
【0078】ステップS102では、獲得を依頼したタ
スクのTCBのデバイスリストに、新たに獲得したデバ
イスの追加を行う。
【0079】ステップS103では、合計電力変数84
に新デバイスの消費電力を加算する。
【0080】ステップS104では、優先度の補正値を
計算し、電力補正値87に格納する。
【0081】そして、処理を終了して本ルーチンをコー
ルした上位処理プログラムの処理ステップに戻る。
【0082】優先度補正値の計算方法としては、例え
ば、以下の式で計算される。 優先度補正値=合計電力×k(k:定数) (式2) また、この計算方法は2次関数であってもよいし、任意
の関数式を用いることができる。
【0083】さらに、消費電力を複数のランクに分け、
別に設けられた表を参照することで補正値を求めてもよ
い。ここで、大電力のものにより大きな優先度を与える
ように定数を設定することで、大電力のものほど動作時
間を短縮することができる。
【0084】次に、図2のフローチャートを用いて、タ
スクが所定のデバイスに対するアクセスを終了して、そ
のデバイスの排他的占有を解除するデバイスドライバの
処理の流れを説明する。
【0085】ステップS110では、デバイスの解放処
理を行う。
【0086】ステップS111では、タスクのTCBの
デバイスリストから、デバイス情報の削除を行う。
【0087】ステップS112では、合計電力数84か
らデバイスの消費電力の減算を行う。
【0088】ステップS113では、ステップS104
と同様に優先度の補正値を計算して格納する。
【0089】そして、処理を終了して本ルーチンをコー
ルした上位処理プログラムの処理ステップに戻る。
【0090】以上の処理によって、タスクの使用するデ
バイスの消費電力に応じて、タスクの実行優先度を変更
することができる。以上、説明したように本実施例によ
れば、タスクの使用デバイスの消費電力に応じて実行優
先度を変更するにより、大電力デバイスの使用時間を短
縮することができる。
【0091】また、その結果として、大電力デバイスは
より早く省電力制御を行うことができるので、操作性を
低下することなしに消費電力を低減することが可能とな
る。
【0092】また、本実施例では、ラウンドロビン方式
の優先度制御に補正を行う例について説明したが、その
他の優先度処理、例えば動的に優先度を変更するアルゴ
リズムと併用してもよいことは言うまでもない。 (実施例2)実施例1では、タスクの使用するデバイス
の電力に応じて実行優先度を変更することにより、省電
力制御を行うまで時間を短縮する例について説明を行っ
た。
【0093】本実施例では、デバイスが省電力モードか
ら復帰する時の例について説明を行う。
【0094】デバイスを起動する時には、一時的に大き
な突入電流が流れる。マルチタスクの環境では、大電力
デバイスの再起動が重なることもあり、この場合、非常
に大きな電力消費となってしまう。そこで、本実施例に
おいては、各I/O装置の動作状態を検出して、デバイ
スの立ち上げが重なる場合は、新たに起動を要求するタ
スクを待機状態にするという動作を行う。
【0095】本実施例の情報処理装置の構成は、実施例
1における構成と同様であり、説明を省略する。 <処理動作の説明>まず、全体の処理の流れについて説
明する。
【0096】本実施例では、省電力モードのデバイスに
アクセスがあったときは、装置の消費電力を検出して、
デバイスの起動が可能か判定し、可能であれば起動す
る。同時にタイマーをスタートさせて、デバイスの動作
が安定するまでの時間、待機を行う。タイマーのカウン
トが終了したら、コマンドの実行を行う。
【0097】一方で、デバイスの起動が不可能であった
場合は、タスクの状態を待機状態に変更し、先行するデ
バイスの使用が終わるまで待機する。先行デバイスの使
用終了により、デバイスの再起動ルーチンが呼び出さ
れ、立ち上げが開始される。
【0098】以上の処理を行うために、メインメモリ3
内には図13に示す以下のような領域を設ける。
【0099】まず、共通のメモリ領域内には、装置の消
費電力を記録する合計電力レジスタを設ける。合計電力
レジスタは、各デバイスドライバが状態の変化に応じて
更新を行うことで、リアルタイムの消費電力を示すよう
にする。さらに、装置電源の供給可能な電力を示す最大
電力レジスタを設ける。また、起動待ちのデバイスを管
理するために、デバイス起動待ちリストを設ける。デバ
イス起動待ちリストには、起動待ちを行うデバイスのI
Dと要求するタスクID、再起動ルーチンのエントリ等
が記されている。
【0100】また、各デバイスドライバのメモリ領域内
には、図14に示すように、省電力モード時に受けた命
令を一時的に保存するコマンドバッファを設ける。ま
た、デバイスの平常動作、起動時の消費電力を格納する
テーブルを持つ。
【0101】さらに、各デバイスの制御部には、起動時
にデバイスが安定するまでの時間をカウントする安定待
ちタイマーを設ける。
【0102】以下では、図10〜12のフローチャート
を用いて、本実施例の処理動作について説明を行う。
【0103】図10は、省電力モードにあるデバイス
に、タスクがアクセスを行った時に起動される、I/O
トラップ処理の流れを示すフローチャートである。
【0104】ステップS200では、所望のデバイスに
対するアクセス要求の内容をコマンドバッファ領域に格
納する。
【0105】ステップS201では、装置全体の使用電
力を示す合計電力レジスタの値を、CPU1内に読み込
む。
【0106】ステップS202では、合計電力レジスタ
の値にデバイスの電力を加算した結果が最大電力レジス
タの値を越えるか判定し、越えればステップS206
へ、越えなければステップS203へ進む。
【0107】ステップS203では、デバイスの起動が
可能であると判定し、合計電力レジスタの値にデバイス
の起動時の電力の値を加算する。
【0108】ステップS204では、電源制御部4と該
当デバイスの制御部に指示を行い、デバイスに電源を投
入する。
【0109】ステップS205では、デバイスの安定待
ちタイマーをリセットし、カウントをスタートさせて処
理を終了する。
【0110】ステップS206では、デバイスの起動が
不可能となったので、起動を要求したタスクの動作状態
を「イベント待ち」の状態に切り換える。
【0111】ステップS207では、タスクをデバイス
起動待ちのリストに追加し、処理を終了する。
【0112】次に、図11を参照して、デバイスの安定
待ちタイマーのカウントが終了した時に発生する割込み
処理の流れを示すフローチャートである。
【0113】ステップS210では、コマンドバッファ
から、所要のデバイスに対する命令を取り出す。
【0114】ステップS211では、ステップS210
で取り出した命令に従って、デバイスの入出力処理を行
う。
【0115】ステップS212では、合計電力レジスタ
の値から、デバイスの起動時電力を減算し、平常動作時
に電力値を加算する。
【0116】ステップS213では、デバイス起動待ち
リストの先頭を読み込む。ステップS214では、デバ
イス起動待ちリストに登録があるか判定し、あれステッ
プS215へ進み、なければ処理を終了する。
【0117】ステップS215では、デバイス起動待ち
リストに登録されたデバイスの再起動ルーチンを呼び出
して処理を終了する。
【0118】次に、図12は、起動待ちリストに登録さ
れたデバイスを再起動する時の、処理の流れを示すフロ
ーチャートである。
【0119】ステップS220では、デバイス起動待ち
リストから当該デバイスのID等の削除を行う。
【0120】ステップS221では、合計電力レジスタ
の値にデバイスの起動時電力値を加算する。
【0121】ステップS222では、タスクの動作状態
を「実行可能」に変更する。
【0122】ステップS223では、電源制御部4と該
当デバイスの制御部に指示を行って、デバイスに電源を
投入する。
【0123】ステップS224では、デバイスの安定待
ちタイマーをリセットし、カウントをスタートさせて処
理を終了する。
【0124】以上の処理により、複数のデバイスが同時
に起動され、装置の最大電力を越えるのを防ぐことが可
能となる。
【0125】以上、説明したように本実施例によれば、
各タスクの使用するデバイスの電力を検出することで、
複数のデバイスが同時に起動されて装置の最大電力を越
えるのを防ぐことが可能となる。これによって、装置の
ピーク電流を低く抑えることができるので、電源、及び
装置の小型化、コスト低減することが可能となる。
【0126】尚、本発明は、複数の情報処理装置から構
成されるシステムに適用しても1つの情報処理装置から
成る装置に適用しても良い。また、本発明は、システム
或は装置にプログラムを供給することによって達成され
る場合にも適用できることはいうまでもない。
【0127】以上、説明したように本発明によれば、各
タスクの使用するハードウェア資源の全電力を検出し
て、各ハードウェア資源の待機時間が最小になるよう
に、タスクのスケジューリングを行うので、操作性を低
下することなく、消費電力を最小にできるという効果が
ある。
【0128】さらに、各ハードウェア資源の大電力タイ
ミングを分散させて装置全体の電力を平均化するように
制御できるので、小容量の電源が使用できる様になり、
装置の小型化、低コスト化を図れるという効果がある。
【0129】
【発明の効果】以上説明したように本発明によれば、消
費電力を低減する情報処理を行うことができる。
【0130】
【図面の簡単な説明】
【図1】実施例1における情報処理装置での、タスクの
I/Oデバイス獲得処理の制御を示すフローチャートで
ある。
【図2】実施例1における情報処理装置での、タスクの
I/Oデバイス解放処理の制御を示すフローチャートで
ある。
【図3】本実施例における情報処理装置の概略構成を示
すブロック図である。
【図4】本実施例における情報処理装置のタスクスケジ
ューラの優先度制御を説明する図である。
【図5】本実施例における情報処理装置のタスクコント
ロールブロックの構成を示す図である。
【図6】本実施例における情報処理装置のタスクコント
ロールブロックの内容を説明する図である。
【図7】本実施例における情報処理装置の各IOユニッ
トに対する電力供給制御構成を示すブロック図である。
【図8】本実施例における情報処理装置のデバイス入出
力制御を示すフローチャートと、タイマー終了時の割込
み制御を示すフローチャートである。
【図9】本実施例における情報処理装置の省電力制御の
様子を説明するタイミングチャートである。
【図10】実施例2における情報処理装置のデバイスの
起動制御を示すフローチャートである。
【図11】実施例2における情報処理装置のタイマー終
了時の制御を示すフローチャートである。
【図12】実施例2における情報処理装置の待機デバイ
スの再起動制御を示すフローチャートである。
【図13】実施例2における情報処理装置のタスクスケ
ジューラで用いるスケジューリングのための各種基本パ
ラメータを示す。
【図14】実施例2における情報処理装置の各デバイス
ドライバの管理領域を示す図である。
【図15】本実施例の情報処理装置のCPU周辺回路2
の構成を示す図である。
【符号の説明】
1 CPU 2 CPU周辺回路 3 メインメモリ 4 電源制御部 5 表示制御部 6 表示部 7 FDD制御部 8 FDD 9 HDD制御部 10 HDD 11 CD−ROM制御部 12 CD−ROMドライブ 13 プリンタ制御部 14 内蔵プリンタ 15 デジタイザ制御部 15 通信インターフェイス 16〜18 端末機 21〜26 スイッチ 27 スイッチング電源 28 ACプラグ 30 CPUメモリユニット 31 表示ユニット 32 FDDユニット 33 HDDユニット 34 CD−ROMユニット 35 プリンタユニット 36 通信ユニット
───────────────────────────────────────────────────── フロントページの続き (72)発明者 巽 栄作 東京都大田区下丸子3丁目30番2号 キ ヤノン株式会社内 (72)発明者 森 重樹 東京都大田区下丸子3丁目30番2号 キ ヤノン株式会社内 (72)発明者 長崎 克彦 東京都大田区下丸子3丁目30番2号 キ ヤノン株式会社内 (72)発明者 福田 亮治 東京都大田区下丸子3丁目30番2号 キ ヤノン株式会社内 (72)発明者 原田 隆史 東京都大田区下丸子3丁目30番2号 キ ヤノン株式会社内 (56)参考文献 特開 平7−168726(JP,A) 特開 平1−118915(JP,A) 特開 平4−316115(JP,A) 特開 平4−288610(JP,A) 特開 平4−169919(JP,A) 特開 平1−59413(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 9/46 G06F 1/32 JICSTファイル(JOIS) CSDB(日本国特許庁)

Claims (8)

    (57)【特許請求の範囲】
  1. 【請求項1】 複数のタスクを時分割で実行する情報処
    理装置であって、 各タスクがアクセスするデバイスの合計消費電力を、各
    タスク毎に記憶する記憶手段と、 前記記憶手段に記憶されたタスク毎の合計消費電力に基
    づき、該合計消費電力が多いタスクが少ないタスクより
    処理の実行頻度が高くなるようにタスクの実行順序を決
    定する決定手段と、 前記決定手段により決定された実行順序に基づき、各タ
    スクの処理を実行する実行手段とを備えることを特徴と
    する情報処理装置。
  2. 【請求項2】 所定時間以上アクセスされないデバイス
    に供給する電力を低下させる電力制御手段を更に備える
    ことを特徴とする請求項1に記載の情報処理装置。
  3. 【請求項3】 前記電力制御手段により電力供給が低下
    させられたデバイスにタスクによりアクセス要求がある
    と、電力供給の低下を解除する解除手段を更に備えるこ
    とを特徴とする請求項に記載の情報処理装置。
  4. 【請求項4】 実行されるタスクにより使用されないデ
    バイスへの電力を低下させる電力制御手段を更に備える
    ことを特徴とする請求項1に記載の情報処理装置。
  5. 【請求項5】 複数のタスクを時分割で実行する情報処
    理方法であって、 各タスクがアクセスするデバイスの合計消費電力を、各
    タスク毎に記憶する記憶工程と、 前記記憶工程によって記憶されたタスク毎の合計消費電
    力に基づき、該合計消費電力が多いタスクが少ないタス
    クより処理の実行頻度が高くなるようにタスクの実行順
    序を決定する決定工程と、 前記決定工程により決定された実行順序に基づき、各タ
    スクの処理を実行する実行工程とを備えることを特徴と
    する情報処理方法。
  6. 【請求項6】 所定時間以上アクセスされないデバイス
    に供給する電力を低下させる電力制御工程を更に備える
    ことを特徴とする請求項に記載の情報処理方法。
  7. 【請求項7】 前記電力制御工程により電力供給が低下
    させられたデバイスにタスクによりアクセス要求がある
    と、電力供給の低下を解除する解除工程を更に備えるこ
    とを特徴とする請求項に記載の情報処理方法。
  8. 【請求項8】 実行されるタスクにより使用されないデ
    バイスへの電力を低下させる電力制御工程を更に備える
    ことを特徴とする請求項に記載の情報処理方法。
JP06136953A 1994-05-09 1994-06-20 情報処理方法とその装置 Expired - Fee Related JP3093928B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP06136953A JP3093928B2 (ja) 1994-06-20 1994-06-20 情報処理方法とその装置
DE69532596T DE69532596T2 (de) 1994-05-09 1995-05-08 Verfahren zur Steuerung der Stromversorgung in einer Mehrprozessbetriebsumgebung
EP95106933A EP0683451B1 (en) 1994-05-09 1995-05-08 Power supply control method in multi-task environment
KR1019950011233A KR0177536B1 (ko) 1994-05-09 1995-05-09 정보 처리 장치, 그 처리 방법 및 전원 제어 방법
US08/932,466 US5828568A (en) 1994-05-09 1997-09-18 Information processing apparatus, processing method thereof, and power supply control method therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP06136953A JP3093928B2 (ja) 1994-06-20 1994-06-20 情報処理方法とその装置

Publications (2)

Publication Number Publication Date
JPH086803A JPH086803A (ja) 1996-01-12
JP3093928B2 true JP3093928B2 (ja) 2000-10-03

Family

ID=15187372

Family Applications (1)

Application Number Title Priority Date Filing Date
JP06136953A Expired - Fee Related JP3093928B2 (ja) 1994-05-09 1994-06-20 情報処理方法とその装置

Country Status (1)

Country Link
JP (1) JP3093928B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7474849B2 (en) 2005-11-30 2009-01-06 Hitachi, Ltd. Camera having power-saving mode

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3686780B2 (ja) * 1999-04-20 2005-08-24 日本電気株式会社 電源接続指示システムおよび電源接続指示方法
US7146511B2 (en) * 2003-10-07 2006-12-05 Hewlett-Packard Development Company, L.P. Rack equipment application performance modification system and method
JP2006195945A (ja) * 2004-12-14 2006-07-27 Matsushita Electric Ind Co Ltd 電子装置及びそのピーク電力制御方法
JP4727370B2 (ja) * 2005-09-29 2011-07-20 京セラ株式会社 無線通信端末およびその制御方法
US7934107B2 (en) * 2007-01-24 2011-04-26 Hewlett-Packard Development Company, L.P. Power management system and method
JP5256925B2 (ja) * 2008-08-12 2013-08-07 富士通モバイルコミュニケーションズ株式会社 携帯端末装置
JP5929216B2 (ja) * 2012-01-17 2016-06-01 富士ゼロックス株式会社 画像処理装置、デバイス、画像処理システム、画像処理プログラム、及びデバイスプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7474849B2 (en) 2005-11-30 2009-01-06 Hitachi, Ltd. Camera having power-saving mode

Also Published As

Publication number Publication date
JPH086803A (ja) 1996-01-12

Similar Documents

Publication Publication Date Title
KR0177536B1 (ko) 정보 처리 장치, 그 처리 방법 및 전원 제어 방법
US10649935B2 (en) Deferred inter-processor interrupts
JP4413924B2 (ja) マルチコアプロセッサのパフォーマンス改善のための方法、システムおよび装置
US6885374B2 (en) Apparatus, method and system with a graphics-rendering engine having a time allocator
US8181047B2 (en) Apparatus and method for controlling power management by comparing tick idle time data to power management state resume time data
JP5312478B2 (ja) データ・プロセッサのパフォーマンス予測
US6092209A (en) Method and apparatus for managing power consumption of peripheral devices of personal computers
US20020007387A1 (en) Dynamically variable idle time thread scheduling
JP4490298B2 (ja) プロセッサ電力制御装置及びプロセッサ電力制御方法
JP2002099433A (ja) 演算処理システム及び演算処理制御方法、タスク管理システム及びタスク管理方法、並びに記憶媒体
JPH0969017A (ja) コンピュータ・システムの電力管理方法及び装置
US20030001848A1 (en) Apparatus, method and system with a graphics-rendering engine having a graphics context manager
JP2002099432A (ja) 演算処理システム及び演算処理制御方法、タスク管理システム及びタスク管理方法、並びに記憶媒体
JP2003298599A (ja) 分散制御方法及び装置
JPH07230347A (ja) Scsiディスクドライブパワーダウン装置
JP2002091638A (ja) 消費電力削減方式および消費電力削減方法
JPWO2005106623A1 (ja) Cpuクロック制御装置、cpuクロック制御方法、cpuクロック制御プログラム、記録媒体、及び伝送媒体
JP3093928B2 (ja) 情報処理方法とその装置
JP2000039937A (ja) コンピュータシステムおよびそのパワーセーブ制御方法
JP2010160565A (ja) タスクスケジューリング装置、タスクスケジューリング制御方法、及びタスクスケジューリング制御プログラム
JP3343346B2 (ja) 消費電力制御方式、情報処理装置および複合部品
EP1652056A1 (en) Flexible power reduction for embedded components
WO2012001776A1 (ja) マルチコアシステム、スケジューリング方法およびスケジューリングプログラム
JP2002529850A (ja) システムにおける要求のスケジューリング
JP2008165318A (ja) 計算機システム

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20000623

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

Free format text: PAYMENT UNTIL: 20080728

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20080728

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20090728

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20090728

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20100728

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20100728

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20110728

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20120728

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20120728

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20130728

Year of fee payment: 13

LAPS Cancellation because of no payment of annual fees