(57)【要約】【課題】タスクの状態が頻繁に変更されても、処理効率を低下させることなくペリフェラルデバイスの電力消費を削減することのできる消費電力制御方法を提供する。【解決手段】実施形態の消費電力制御方法を実行するオペレーティングシステム１０は、タスク情報登録部１が、タスクごとに、ペリフェラルデバイス使用情報Ｊ１を登録し、ディスパッチャ２が、タスク実行要求時のタスクの起動、およびタスクの切り替えを制御し、セマフォ３が、ペリフェラルデバイス１０１〜１０３の使用権獲得状況を示す。また、オペレーティングシステム１０の電力消費管理部４が、タスク２０１〜２０３の実行状況に応じて、ペリフェラルデバイス使用情報Ｊ１およびセマフォ３を参照して、ペリフェラルデバイス１０１〜１０３へのクロック供給を制御するクロック供給制御回路１１１〜１１３へ、クロックの供給または遮断を指示する。【選択図】  図１
2012133687.tif 000002
【特許請求の範囲】
【請求項１】
複数のペリフェラルデバイスと、前記複数のペリフェラルデバイスへのクロック供給をペリフェラルデバイス単位で制御するクロック制御回路とを備え、タスクの実行がオペレーティングシステムにより制御される半導体集積回路の消費電力制御方法であって、
前記オペレーティングシステムが、
それぞれのタスクごとに、前記ペリフェラルデバイスの使用の有無を示すペリフェラルデバイス使用情報をタスク情報の１つとして登録するタスク情報登録部と、
タスク実行要求を受けたときのタスクの起動、および複数のタスク間での実行の切り替えを制御するディスパッチャと、
それぞれのペリフェラルデバイスの使用権獲得状況をそれぞれに示すセマフォと、
前記クロック供給制御回路を制御する電力消費管理部と
を備え、
前記電力消費管理部が、タスクの実行状況に応じて、前記ペリフェラルデバイス使用情報および前記セマフォを参照して前記クロック供給制御回路へクロックの供給または遮断を指示する
ことを特徴とする消費電力制御方法。
【請求項２】
前記電力消費管理部が、
セマフォ解放中のペリフェラルデバイスを使用する予定のタスクが起動したときは、使用予定のペリフェラルデバイスへのクロック供給を制御するクロック供給制御回路に対して、
そのタスクの起動時にクロックの供給開始を指示し、
タスクの切り替わりがあってもセマフォが獲得されている間は、クロックの供給継続を指示し、
セマフォが解放された後にタスクが切り替わるときに、クロックの供給遮断を指示する
ことを特徴とする請求項１に記載の消費電力制御方法。
【請求項３】
前記オペレーティングシステムが、それぞれのペリフェラルデバイスへのクロック供給の開始をタスク起動時に行うか、前記セマフォの獲得時に行うかを示す管理テーブルを有し、
前記電力消費管理部が、
セマフォ解放中のペリフェラルデバイスを使用する予定のタスクが起動したときは、そのタスクの起動時に、前記管理テーブルを参照して使用予定のペリフェラルデバイスへのクロック供給開始時期を決定し、
使用予定のペリフェラルデバイスへのクロック供給を制御するクロック供給制御回路に対して、
前記決定したクロック供給開始時期にクロックの供給開始を指示し、
タスクの切り替わりがあってもセマフォが獲得されている間は、クロックの供給継続を指示し、
セマフォが解放された後にタスクが切り替わるときに、クロックの供給遮断を指示する
ことを特徴とする請求項１に記載の消費電力制御方法。
【請求項４】
複数のペリフェラルデバイスと、前記複数のペリフェラルデバイスへのクロック供給をペリフェラルデバイス単位で制御するクロック供給制御回路と、前記複数のペリフェラルデバイスの中で電源供給制御対象のペリフェラルデバイスに対しては電源の供給をペリフェラルデバイス単位で制御する電源供給制御回路とを備え、タスクの実行がオペレーティングシステムにより制御される半導体集積回路の消費電力制御方法であって、
前記オペレーティングシステムが、
それぞれのタスクごとに、前記ペリフェラルデバイスの使用の有無を示すペリフェラルデバイス使用情報をタスク情報の１つとして登録するタスク情報登録部と、
タスク実行要求を受けたときのタスクの起動、および複数のタスク間での実行の切り替えを制御するディスパッチャと、
それぞれのペリフェラルデバイスの使用権獲得状況をそれぞれに示すセマフォと、
前記クロック供給制御回路および前記電源供給制御回路を制御する電力消費管理部と、
それぞれのペリフェラルデバイスへのクロック供給の開始、および、前記電源供給制御対象のペリフェラルデバイスへの電源供給の開始を、タスク切り替え時に行うか前記セマフォの獲得時に行うか、を示す管理テーブルと
を備え、
前記電力消費管理部が、タスクの実行状況に応じて、前記ペリフェラルデバイス使用情報、前記管理テーブルおよび前記セマフォを参照して、前記クロック供給制御回路へクロックの供給または遮断を指示し、前記電源供給制御回路へ電源の供給または遮断を指示する
ことを特徴とする消費電力制御方法。
【請求項５】
前記電力消費管理部が、
セマフォ解放中のペリフェラルデバイスを使用する予定のタスクが起動したときは、そのタスクの起動時に、前記管理テーブルを参照して、使用予定のペリフェラルデバイスへのクロック供給開始時期、および、前記使用予定のペリフェラルデバイスが電源供給制御対象であるときは電源供給開始時期を決定し、
使用予定のペリフェラルデバイスへのクロック供給を制御するクロック供給制御回路に対して、
前記決定したクロック供給開始時期にクロックの供給開始を指示し、
タスクの切り替わりがあってもセマフォが獲得されている間は、クロックの供給継続を指示し、
セマフォが解放された後にタスクが切り替わるときに、クロックの供給遮断を指示し、
前記使用予定のペリフェラルデバイスが電源供給制御対象であるときはそのペリフェラルデバイスへの電源供給を制御する電源供給制御回路に対して、
前記決定した電源供給開始時期に電源の供給開始を指示し、
タスクの切り替わりがあってもセマフォが獲得されている間は、電源の供給継続を指示し、
セマフォが解放された後にタスクが切り替わるときに、電源の供給遮断を指示する
ことを特徴とする請求項４に記載の消費電力制御方法。
【請求項６】
複数のペリフェラルデバイスと、前記ペリフェラルデバイスへのクロック供給をペリフェラルデバイス単位で制御するクロック制御回路とを備える半導体集積回路の消費電力制御方法であって、
前記ペリフェラルデバイスを使用するタスクからの使用要求をキューで受け付け、それぞれのペリフェラルデバイスの使用順を制御するマネージャタスクが、
各タスクからのキューイングおよびデキューイングの際に、前記ペリフェラルデバイスの使用予定を示すペリフェラルデバイス使用情報を更新し、
前記ペリフェラルデバイス使用情報にもとづいて前記クロック制御回路へクロックの供給または遮断を指示する
ことを特徴とする消費電力制御方法。
【請求項７】
前記マネージャタスクが、
前記ペリフェラルデバイス使用情報が使用予定ありを示すときは前記クロック制御回路へクロックの供給を指示し、
前記ペリフェラルデバイス使用情報が使用予定なしを示すときは前記クロック制御回路へクロックの遮断を指示する
ことを特徴とする請求項６に記載の消費電力制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、消費電力制御方法に関する。
【背景技術】
【０００２】
半導体集積回路の集積化が進み、ＣＰＵコアの周辺に、ＬＣＤコントローラ、ＪＰＥＧ処理モジュール、タイマなどのペリフェラルデバイスが配置された半導体集積回路が実用化されている。このような半導体集積回路の中には、オペレーティングシステムを搭載し、タスク実行中のペリフェラルデバイスの動作を、オペレーティングシステムにより制御するものがある。このような大規模化した半導体集積回路では、消費電力を如何にして低減させるかが重要な課題である。
【０００３】
従来、ＣＰＵコアの消費電力については、オペレーティングシステムの動作における実行タスクがなくなったときに低電圧動作のスタンバイモードへ移行し、低消費電力化を図ることなどが行われている。また、ペリフェラルデバイスについては、その使用が想定されるときにのみクロックを供給するクロックゲーティング手法や、使用が想定されるときにのみ電源に接続する電源遮断法などが用いられている。
【０００４】
このうち、クロックゲーティング手法では、ペリフェラルデバイスの使用要求を受けてからクロックの供給を開始すると、実際にペリフェラルデバイスが使用可能になるまでの待ち時間が発生する、という問題が生じる。そこで、従来、複数のタスクの実行状態および実行優先度を管理するタスクリストを作成し、ペリフェラルデバイスを使用するタスクが実行可能状態になった時点でクロックの供給を開始し、ペリフェラルデバイスが使用可能になるまでの待ち時間を削減することが行われている。
【０００５】
しかし、組み込みシステムのように、外部イベントで頻繁にタスク状態が変更されるシステムでは、上述のタスクリストの作成は困難であり、上述の手法が有効に機能しない。また、ペリフェラルデバイスの使用中に他のタスクが起動されて、ペリフェラルデバイスを使用中のタスクが待ち状態に入るような場合、その使用中のペリフェラルデバイスへのクロックを維持する仕組みが無く、ペリフェラルデバイスの処理が停止し、処理中のデータが無効になるという問題が発生していた。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００８−１３９９１３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
そこで、本発明の目的は、タスクの状態が頻繁に変更されても、処理効率を低下させることなくペリフェラルデバイスの電力消費を削減することのできる消費電力制御方法を提供することにある。
【課題を解決するための手段】
【０００８】
実施形態の消費電力制御方法を実行するオペレーティングシステムは、タスク情報登録部が、タスクごとに、ペリフェラルデバイス使用情報を登録し、ディスパッチャが、タスク実行要求時のタスクの起動、およびタスクの切り替えを制御し、セマフォが、ペリフェラルデバイスの使用権獲得状況を示す。また、前記オペレーティングシステムの電力消費管理部が、前記タスクの実行状況に応じて、前記ペリフェラルデバイス使用情報および前記セマフォを参照して、前記ペリフェラルデバイスへのクロック供給を制御するクロック供給制御回路へ、クロックの供給または遮断を指示する。
【図面の簡単な説明】
【０００９】
【図１】本発明の第１の実施形態に係る消費電力制御方法を実行するオペレーティングシステムの構成の例を示すブロック図。
【図２】本発明の第１の実施形態の消費電力制御方法の処理の流れの例を示すフロー図。
【図３】本発明の第１の実施形態の消費電力制御方法で用いられるペリフェラルデバイス使用情報の例を示す図。
【図４】本発明の第１の実施形態の消費電力制御方法によるクロック供給制御の例を示すタイムチャート図。
【図５】本発明の第２の実施形態に係る消費電力制御方法を実行するオペレーティングシステムの構成の例を示すブロック図。
【図６】本発明の第２の実施形態の消費電力制御方法で用いられる管理テーブルの例を示す図。
【図７】本発明の第２の実施形態の消費電力制御方法の処理の流れの例を示すフロー図。
【図８】本発明の第２の実施形態の消費電力制御方法によるクロック供給制御の例を示すタイムチャート図。
【図９】本発明の第３の実施形態に係る消費電力制御方法を実行するオペレーティングシステムの構成の例を示すブロック図。
【図１０】本発明の第３の実施形態の消費電力制御方法の処理の流れの例を示すフロー図。
【図１１】本発明の第３の実施形態の消費電力制御方法による電源供給制御およびクロック供給制御の例を示すタイムチャート図。
【図１２】本発明の第４の実施形態に係る消費電力制御方法を実行するマネージャタスクの構成の例を示すブロック図。
【図１３】本発明の第４の実施形態の消費電力制御方法の処理の流れの例を示すフロー図。
【発明を実施するための形態】
【００１０】
以下、本発明の実施の形態について図面を参照して説明する。なお、図中、同一または相当部分には同一の符号を付して、その説明は繰り返さない。
【００１１】
（第１の実施形態）
本実施形態の消費電力制御方法は、複数のペリフェラルデバイスと、それぞれのペリフェラルデバイスへのクロック供給を制御するクロック制御回路とを備えるとともにタスクの実行がオペレーティングシステムにより制御される半導体集積回路の消費電力制御方法である。
【００１２】
本実施形態では、上述のオペレーティングシステムがクロック制御回路を制御し、各ペリフェラルデバイスの電力消費の削減を図る方法を示す。なお、ここでは、ペリフェラルデバイス１０１〜１０３およびクロック制御回路１１１〜１１３を備える半導体集積回路において、タスク２０１〜２０３が実行される場合を例にとって説明するが、それぞれの個数は、ここに示す例に限られるものではない。
【００１３】
図１は、本発明の第１の実施形態に係る消費電力制御方法を実行するオペレーティングシステム１０の構成の例を示すブロック図である。
【００１４】
オペレーティングシステム１０は、タスク２０１〜２０３のそれぞれについて、ペリフェラルデバイス１０１〜１０３の使用の有無を示すペリフェラルデバイス使用情報Ｊ１をタスク情報の１つとして登録するタスク情報登録部１と、タスク実行要求を受けたときのタスク２０１〜２０３の起動、およびタスク２０１〜２０３間での実行の切り替えを制御するディスパッチャ２と、ペリフェラルデバイス１０１〜１０３の使用権獲得状況をそれぞれに示すセマフォ３と、クロック供給制御回路１１１〜１１３を制御する電力消費管理部４と、を備える。
【００１５】
タスク情報登録部１は、タスク２０１〜２０３の初期登録を行う際に必要な情報の１つとして、タスク２０１〜２０３が、ペリフェラルデバイス１０１〜１０３を使用するか、しないか、を示すペリフェラルデバイス使用情報Ｊ１を登録する。ペリフェラルデバイス使用情報Ｊ１は、例えば、ペリフェラルデバイス１０１〜１０３の使用の有無を示すビットデータを有しており、各ビットに対応するペリフェラルデバイスに対して、ビット値‘１’は「使用」を示し、ビット値‘０’は「不使用」を示すものとする。
【００１６】
ディスパッチャ２は、繰り返し動作し、その度に次に実行するタスクを決定する。これにより、タスク実行要求を受けたときは新たなタスクが起動し、また、起動済みの複数のタスクの間で実行タスクの切り替えが行われる。
【００１７】
セマフォ３は、ペリフェラルデバイス１０１〜１０３の使用権獲得状況をそれぞれに示すセマフォＳ１〜Ｓ３を有する。タスク２０１〜２０３は、ペリフェラルデバイス１０１〜１０３の使用に先立って、それぞれのペリフェラルデバイスに対応するセマフォＳ１〜Ｓ３へセマフォ獲得要求を送出する。タスク２０１〜２０３は、対応するセマフォＳ１〜Ｓ３が解放中であるときは、そのセマフォを獲得し、ペリフェラルデバイス１０１〜１０３の処理を実行する。一方、他のタスクによってセマフォが獲得されているときは、獲得されたセマフォが解放された後、セマフォが獲得できるまでペリフェラルデバイス１０１〜１０３の処理の実行を待たされる。ペリフェラルデバイス１０１〜１０３の処理終了後、割り込みを通じてセマフォが解放され、オペレーティングシステム１０は、セマフォ解放をセマフォ解放待ちしているタスクへ伝達する。
【００１８】
電力消費管理部４は、ディスパッチャ２によって制御されるタスクの実行状況に応じて、ペリフェラルデバイス使用情報Ｊ１およびセマフォＳ１〜Ｓ３を参照して、ペリフェラルデバイス１０１〜１０３へクロックを供給するかしないかを決定し、クロック制御信号Ｇ１〜Ｇ３を介して、クロック供給制御回路１１１〜１１３へクロックの供給または遮断を指示する。
【００１９】
次に、図２に示すフロー図を用いて、本実施形態の消費電力制御方法の処理の流れについて説明する。
【００２０】
まず、タスク情報登録部１が、タスク２０１〜２０３の初期登録に際し、各タスクのペリフェラルデバイス使用情報Ｊ１を登録する（ステップＳ０１）。
【００２１】
その後、半導体集積回路が動作し、タスク実行要求を受けると、ディスパッチャ２の制御により、実行要求を受けたタスクが起動する（ステップＳ０２）。
【００２２】
タスクの起動後、実行状態に遷移する際、電力消費管理部４が、ペリフェラルデバイス使用情報Ｊ１を検索し（ステップＳ０３）、そのタスクがどのペリフェラルデバイス１０１〜１０３を使用するか、をチェックする（ステップＳ０４）。
【００２３】
電力消費管理部４は、このチェックにもとづいて、そのタスクで使用されない（ＮＯ）ペリフェラルデバイスのクロック供給制御回路に対してはクロック供給の遮断を指示し（ステップＳ１３）、使用される（ＹＥＳ）ペリフェラルデバイスのクロック供給制御回路に対してはクロック供給の開始を指示する（ステップＳ０５）。
【００２４】
その後、タスクの実行が開始され（ステップＳ０６）、実行中のタスクは、ペリフェラルデバイスの使用に先立って、セマフォ獲得要求をセマフォ３へ送出する（ステップＳ０７）。
【００２５】
このとき、セマフォの状態に応じて（ステップＳ０８）、セマフォが解放中でなければ（ＮＯ）、セマフォが解放されるまで待ち、セマフォが解放中であれば（ＹＥＳ）、タスクはセマフォを獲得し（ステップＳ０９）、ペリフェラルデバイスの処理を実行する（ステップＳ１０）。
【００２６】
このペリフェラルデバイスの処理の実行中、場合によっては、ディスパッチャ２によるタスクの切り替えが発生することがある。その場合、本実施形態では、ステップＳ１０１〜ステップＳ１０４に示すフローが実行される。
【００２７】
すなわち、ペリフェラルデバイスの処理の実行中にタスクの切り替えが行われると（ステップＳ１０１）、タスクはペリフェラルデバイスの処理を待つために、その実行権を放棄して処理を中断する。場合によっては、外部イベントにより動作する優先度の高いタスクに実行権を奪われることもある（ステップＳ１０２）。しかし、セマフォは獲得されたままなので、そのペリフェラルデバイスへのクロック供給は継続され、ペリフェラルデバイスの処理は継続される（ステップＳ１０３）。その後、優先度の高いタスクの実行の中断やペリフェラルデバイス終了時に発行されるイベント通知等により、再びタスクの切り替えが行われ、タスクの実行が再開する（ステップＳ１０４）。
【００２８】
さらにタスクの切り替えがあれば、ステップＳ１０１〜ステップＳ１０４に示すフローが繰り返される。
【００２９】
その後、ペリフェラルデバイスの処理が終了すると、タスクは、セマフォ３を解放する（ステップＳ１１）。
【００３０】
セマフォ解放中にタスクの切り替えが行われたとき（ステップＳ１２）、電力消費管理部４は、切り替える先のタスクにおけるペリフェラルデバイスの使用情報を判断し、クロック供給の継続の必要がない場合、タスクによる使用が終了したペリフェラルデバイスのクロック供給制御回路に対して、クロック供給の遮断を指示する（ステップＳ１３）。
【００３１】
このように、本フローの処理では、タスクの起動時に、そのタスクで使用されるペリフェラルデバイスにのみクロックを供給し、そのタスクで使用されないペリフェラルデバイスに対しては、クロック供給を遮断する。これにより、クロック動作に伴う電力消費を削減することができる。その一方で、セマフォ獲得中はペリフェラルデバイスへのクロック供給を継続しておくので、タスクの切り替えによりタスクの実行が中断しても、ペリフェラルデバイスの処理は継続することができる。これにより、切り替え先タスクとペリフェラルデバイスの並列実行が可能となり、効率的な電源管理を実現することができる。
【００３２】
次に、タスク切り替えに伴うクロック供給制御の具体的な例を図３および図４を用いて説明する。
【００３３】
図３は、ペリフェラルデバイス使用情報Ｊ１の例である。図３に示す例では、タスク２０１はペリフェラルデバイス１０１、１０３を使用し、タスク２０２はペリフェラルデバイス１０１を使用し、タスク２０３はペリフェラルデバイス１０２、１０３を使用する。
【００３４】
図４は、タスク情報の１つとして図３に示すペリフェラルデバイス使用情報Ｊ１が登録されたタスク２０１〜２０３の実行時の、ペリフェラルデバイス１０１〜１０３のクロック供給制御の様子を示すタイムチャートである。ここで、時刻Ｔ１〜Ｔ２５は、ディスパッチャ２の作動によりタスクの起動あるいはタスクの切り替えが行われた時刻、または、ペリフェラルデバイス１０１〜１０３がセマフォ獲得要求を送出した時刻を示す。また、クロック制御信号Ｇ１〜Ｇ３は、‘Ｈ’レベルがクロック供給を示し、‘Ｌ’レベルがクロック遮断を示す。
【００３５】
本例では、まず、時刻Ｔ１でタスク２０１が起動する。そこで、電力消費管理部４は、ペリフェラルデバイス使用情報Ｊ１を検索し、タスク２０１が使用するペリフェラルデバイス１０１、１０３へクロックを供給すべく、クロック制御信号Ｇ１、Ｇ３を‘Ｈ’レベルにして、クロック供給制御回路１１１、１１３へクロックの供給を指示する。この指示を受けて、クロック供給制御回路１１１、１１３を通して、ペリフェラルデバイス１０１、１０３へのクロックの供給が開始された後、タスク２０１の実行が開始される。
【００３６】
次に、時刻Ｔ２で、タスク２０１は、セマフォＳ１へセマフォ獲得要求を送出する。このとき、セマフォＳ１が解放状態（‘０’）であったので、タスク２０１はセマフォＳ１を獲得する。
【００３７】
続いて、時刻Ｔ３で、タスク２０１は、ペリフェラルデバイス１０１の処理を開始する。しかし、その後、時刻Ｔ４でタスクの切り替えがあり、タスク２０２が起動したため、タスク２０１は、ペリフェラルデバイス１０１の処理を継続したまま、タスクの実行を中断する。このとき、電力消費管理部４は、セマフォＳ１の状態を確認し、セマフォＳ１が獲得状態であるので、ペリフェラルデバイス１０１へのクロックの供給を継続する。ここで、タスク２０１がペリフェラルデバイス１０１に投入した処理の継続と、タスク２０２の実行が効率的に実現されている。
【００３８】
また、時刻Ｔ４でタスク２０２が起動したので、電力消費管理部４は、ペリフェラルデバイス使用情報Ｊ１を検索し、タスク２０２が使用するペリフェラルデバイスをチェックする。本例では、タスク２０２はペリフェラルデバイス１０１を使用するが、ペリフェラルデバイス１０１へは既にクロックを供給しているので、そのままクロック供給を継続する。一方、タスク２０２ではペリフェラルデバイス１０３が使用されないので、電力消費管理部４は、クロック制御信号Ｇ３を‘Ｌ’レベルにして、ペリフェラルデバイス１０３へのクロック供給を遮断する指示を行う。
【００３９】
次に、時刻Ｔ５で、タスク２０２は、セマフォＳ１の獲得要求を送出する。しかし、このとき、セマフォＳ１はタスク２０１により獲得された状態であるので、タスク２０２は、セマフォＳ１を獲得することができず、セマフォＳ１の解放を待つことになる。
【００４０】
その後、時刻Ｔ６で、タスク２０１へのタスクの切り替えがある。このとき、電力消費管理部４は、クロック制御信号Ｇ３を‘Ｈ’レベルにし、タスク２０１が使用するペリフェラルデバイス１０３へのクロック供給開始を指示する。タスク２０１は、ペリフェラルデバイス１０３へのクロックの供給が開始された後、タスクの実行を再開する。
【００４１】
時刻Ｔ７で、ペリフェラルデバイス１０１の処理が終了すると、その割り込み処理を通じて、セマフォＳ１の解放が行われる。
【００４２】
続いて、時刻Ｔ８で、タスク２０１は、セマフォＳ３の獲得要求を送出する。このとき、セマフォＳ３が解放状態であったので、タスク２０１はセマフォＳ３を獲得する。
【００４３】
次に、時刻Ｔ９で、タスク２０２へのタスクの切り替えがある。このタスク２０２はペリフェラルデバイス１０１を使用するタスクであるので、電力消費管理部４は、ペリフェラルデバイス１０１へのクロックの供給を継続するが、セマフォＳ３が獲得されている状態であるため、ペリフェラルデバイス１０３へのクロック供給を継続する指示を行うことは同様である。
【００４４】
時刻Ｔ９でタスク実行を再開したタスク２０２は、時刻Ｔ１０で、セマフォＳ１の獲得要求を送出する。このとき、セマフォＳ１は解放状態であるので、タスク２０１はセマフォＳ１を獲得し、時刻Ｔ１１で、ペリフェラルデバイス１０１の処理を開始する。
【００４５】
その後、時刻Ｔ１２で、ペリフェラルデバイス１０１の処理が終了すると、その終了割り込みを通して、オペレーティングシステム１０へセマフォＳ１の解放が伝達される。これにより、セマフォＳ１は解放状態になる。
【００４６】
その後、時刻Ｔ１３で、タスク２０２の終了およびタスク２０３の起動というタスクの切り替えが行われる。そこで、電力消費管理部４は、セマフォＳ１の状態を確認し、セマフォＳ１が解放状態であるので、クロック制御信号Ｇ１を‘Ｌ’レベルにして、クロック供給制御回路１１１へクロック供給の遮断を指示する。この指示を受けて、クロック供給制御回路１１１は、ペリフェラルデバイス１０１へのクロックの供給を遮断する。
【００４７】
また、時刻Ｔ１３で、タスク２０３が起動するので、電力消費管理部４は、ペリフェラルデバイス使用情報Ｊ１を検索し、タスク２０３が使用するペリフェラルデバイスをチェックする。本例では、タスク２０３は、ペリフェラルデバイス１０２、１０３を使用する。そのうち、ペリフェラルデバイス１０３へは既にクロックを供給しているので、電力消費管理部４は、ここでは、クロック制御信号Ｇ２を‘Ｈ’レベルにして、クロック供給制御回路１１２へクロックの供給を指示する。この指示を受けて、クロック供給制御回路１１２は、ペリフェラルデバイス１０２へのクロックの供給を開始する。
【００４８】
続いて、時刻Ｔ１４で、タスク２０３は、セマフォＳ２へセマフォ獲得要求を送出する。このとき、セマフォＳ２が解放状態であったので、タスク２０３はセマフォＳ２を獲得する。タスク２０３は、時刻Ｔ１５でペリフェラルデバイス１０２の処理を開始する。その後、時刻Ｔ１６で、ペリフェラルデバイス１０２の処理が終了すると、その割り込み処理を通じて、タスク２０３は、オペレーティングシステム１０へセマフォＳ２の解放を伝達する。これにより、セマフォＳ２は解放状態になる。
【００４９】
その後、時刻Ｔ１７で、タスク２０３は、セマフォＳ３の獲得要求を送出する。しかし、このとき、セマフォＳ３はタスク２０１により獲得された状態であるので、タスク２０３は、セマフォＳ３を獲得することができず、セマフォＳ３の解放を待つことになる。
【００５０】
次に、時刻Ｔ１８で、タスク２０１へのタスクの切り替えがある。電力消費管理部４は、ペリフェラルデバイス使用情報Ｊ１を検索し、タスク２０１が使用するペリフェラルデバイスへクロック供給を指示する。このとき、ペリフェラルデバイス１０３へは、すでにクロックを供給しているので、電力消費管理部４は、クロック制御信号Ｇ１を‘Ｈ’レベルにして、クロック供給制御回路１１１へクロックの供給開始を指示する。
【００５１】
また、電力消費管理部４は、セマフォＳ２の状態を確認し、セマフォＳ２が解放状態であるので、クロック制御信号Ｇ２を‘Ｌ’レベルにして、クロック供給制御回路１１２へクロック供給の遮断を指示する。この指示を受けて、クロック供給制御回路１１２は、ペリフェラルデバイス１０２へのクロックの供給を遮断する。
【００５２】
また、時刻Ｔ１８でタスク実行を再開したタスク２０１は、時刻Ｔ１９でペリフェラルデバイス１０３の処理を開始する。その後、時刻Ｔ２０で、ペリフェラルデバイス１０３の処理が終了すると、その終了割り込みを通して、オペレーティングシステム１０へセマフォＳ３の解放が伝達される。これにより、セマフォＳ３は解放状態になる。
【００５３】
その後、時刻Ｔ２１で、タスク２０１の終了およびタスク２０３の再開というタスクの切り替えが行われる。タスク２０３はペリフェラルデバイス１０３を使用するタスクであるので、電力消費管理部４は、ペリフェラルデバイス１０３へのクロックの供給を継続する。また、セマフォＳ１の状態を確認し、セマフォＳ１が解放状態であるので、クロック制御信号Ｇ１を‘Ｌ’レベルにして、クロック供給制御回路１１１へクロック供給の遮断を指示する。さらに、クロック制御信号Ｇ２を‘Ｈ’レベルに変更し、タスク２０３で使用ペリフェラルデバイス１０２へのクロック供給を開始する指示を行う。
【００５４】
時刻Ｔ２１でタスク実行を再開したタスク２０３は、時刻Ｔ２２で、セマフォＳ３の獲得要求を送出する。このとき、セマフォＳ３は解放状態であるので、タスク２０３はセマフォＳ３を獲得し、時刻Ｔ２３で、ペリフェラルデバイス１０３の処理を開始する。
【００５５】
その後、時刻Ｔ２４で、ペリフェラルデバイス１０３の処理が終了すると、その終了割り込みを通じてオペレーティングシステム１０へセマフォＳ３の解放が伝達される。これにより、セマフォＳ３は解放状態になる。
【００５６】
その後、時刻Ｔ２５で、タスク２０３が終了する。そこで、電力消費管理部４は、セマフォＳ２およびＳ３の状態を確認し、ともに解放状態であるので、クロック制御信号Ｇ２およびＧ３を‘Ｌ’レベルにして、クロック供給制御回路１１２および１１３へクロック供給の遮断を指示する。この指示を受けて、クロック供給制御回路１１２、１１３は、それぞれペリフェラルデバイス１０２、１０３へのクロックの供給を遮断する。
【００５７】
このような本実施形態によれば、オペレーティングシステム１０が、タスク登録時にペリフェラルデバイス使用情報Ｊ１をタスク情報の１つとして登録し、タスクの起動時に、ペリフェラルデバイス使用情報Ｊ１を検索して、そのタスクで使用されるペリフェラルデバイスにのみクロックを供給し、そのタスクで使用されないペリフェラルデバイスに対してはクロック供給を遮断する。これにより、クロック動作に伴う電力消費を削減することができる。また、オペレーティングシステム１０は、不要な電力消費は削減する一方で、セマフォが獲得されているペリフェラルデバイスへは、セマフォの獲得期間中、継続してクロックを供給する。そのため、ペリフェラルデバイスは、タスクの切り替えによる処理の中断があっても、ペリフェラルデバイスの処理が停止することがない。これにより、ペリフェラルデバイスの処理効率が低下することを防止することができる。
【００５８】
（第２の実施形態）
第１の実施形態では、タスクの起動時にクロックの供給を開始する例を示した。タスクの起動時にクロックの供給を開始するため、クロック供給開始から処理開始可能になるまでの起動時間が長いペリフェラルデバイスでも、十分な余裕を持って処理準備を行うことができる。その反面、タスクの起動後にタスクの切り替えが行われて長時間の待機が発生した場合、余計な待機電力を発生することになる。また、ペリフェラルデバイスによっては、起動時間の短いものもある。そのような起動時間の短いペリフェラルデバイスは、セマフォ獲得時にクロック供給を開始しても、処理準備が間に合う。そこで、本実施の形態では、ペリフェラルデバイスの起動時間の長短もしくは待機電力の大小に応じてクロックの供給開始時期を異ならせることのできる消費電力制御方法の例を示す。
【００５９】
図５は、本発明の第２の実施形態に係る消費電力制御方法を実行するオペレーティングシステム１０Ａの構成の例を示すブロック図である。なお、ここでも、第１の実施形態と同様、ペリフェラルデバイス１０１〜１０３およびクロック制御回路１１１〜１１３を備える半導体集積回路において、タスク２０１〜２０３が実行される場合を例にとる。
【００６０】
本実施形態のオペレーティングシステム１０Ａは、第１の実施形態の構成に加えて、それぞれのペリフェラルデバイスへのクロック供給の開始を、タスク起動時に行うか、セマフォの獲得時に行うかを示す管理テーブルＪ２を有している。
【００６１】
図６に、管理テーブルＪ２の例を示す。図５に示す例では、値‘１０’が、タスク起動時にクロック供給を開始することを表し、値‘０１’が、セマフォの獲得時にクロック供給を開始することを表すものとする。すなわち、図５の管理テーブルＪ２は、ペリフェラルデバイス１０２へはタスク起動時にクロック供給を開始し、ペリフェラルデバイス１０１、１０３へは、セマフォの獲得時にクロック供給を開始することを示している。
【００６２】
本実施形態のオペレーティングシステム１０Ａでは、電力消費管理部４Ａが、ペリフェラルデバイス使用情報Ｊ１および管理テーブルＪ２にもとづいて、ペリフェラルデバイス１０１〜１０３へのクロックの供給を制御する。
【００６３】
次に、図７に示すフロー図を用いて、本実施形態の消費電力制御方法の処理の流れについて説明する。
【００６４】
本実施形態においても第１の実施形態と同様、タスクの起動時に（ステップＳ２１）、ペリフェラルデバイス使用情報Ｊ１の検索を行い（ステップＳ２２）、そのタスクがどのペリフェラルデバイス１０１〜１０３を使用するか、をチェックする（ステップＳ２３）。
【００６５】
電力消費管理部４Ａは、このチェックにもとづいて、そのタスクで使用されない（ＮＯ）ペリフェラルデバイスのクロック供給制御回路に対してはクロック供給の遮断を指示する。
【００６６】
一方、使用される（ＹＥＳ）ペリフェラルデバイスについては管理テーブルの検索を行い（ステップＳ２４）、クロック供給開始時期が、タスク起動時であるか、セマフォ獲得時であるか、をチェックする（ステップＳ２５）。
【００６７】
本実施形態では、このチェックの結果により、以降のフローが異なってくる。すなわち、クロック供給開始時期がタスク起動時である場合は、ステップＳ２５以降が、実線で示すフローとなり、クロック供給開始時期がセマフォ獲得時である場合は、ステップＳ２５以降が、点線で示すフローとなる。このうち、実線で示すフローは、第１の実施形態と同じフローであるので、ここではその説明を省略する。
【００６８】
一方、点線で示すフローの場合、起動したタスクは、その実行を開始し（ステップＳ２７）、ペリフェラルデバイスの使用に先立って、セマフォ獲得要求をオペレーティングシステム１０Ａへ送出する（ステップＳ２８）。
【００６９】
このとき、セマフォが解放中でなければ（ステップＳ２９のＮＯ）、タスクはセマフォ獲得要求を繰り返し、セマフォが解放中であれば（ステップＳ２９のＹＥＳ）、タスクはセマフォを獲得する（ステップＳ３０）。
【００７０】
このセマフォの獲得を受けて、電力消費管理部４Ａは、セマフォが獲得されたペリフェラルデバイスのクロック供給制御回路に対してクロック供給の開始を指示する（ステップＳ３２）。
【００７１】
その後、タスクは、ペリフェラルデバイスの処理を実行する（ステップＳ３１）。これ以降の処理は第１の実施形態と同じであるので、ここではその説明を省略する。
【００７２】
このように、本フローの処理では、タスクの起動時に、そのタスクで使用されるペリフェラルデバイスについて管理テーブルＪ２の検索を行い、その時点でクロック供給を開始するか、セマフォ獲得時にクロック供給を開始するかを決定する。これにより、セマフォ獲得時にクロック供給が開始されるペリフェラルデバイスの電力消費を削減することができる。
【００７３】
次に、図８に、タスク切り替えの際、図３に示すペリフェラルデバイス使用情報Ｊ１および図５に示す管理テーブルＪ２を参照して、クロック供給の制御を行う具体的な例を示す。この例におけるタスクの切り替え自体は図４に示した例と同じであるので、ここでは、全体の処理の進行についての説明は省略し、各ペリフェラルデバイスへのクロック供給開始時期についてのみ、図４と比較しながら説明する。
【００７４】
ペリフェラルデバイス１０２は、管理テーブルＪ２に‘１０’（タスク起動時にクロック供給開始）と記載されている。したがって、クロック制御信号Ｇ２は、図４と同じく、タスク２０３の起動時の時刻Ｔ１３で‘Ｈ’レベルに変化する。
【００７５】
これに対して、ペリフェラルデバイス１０１は、管理テーブルＪ２に‘０１’（セマフォ獲得時にクロック供給開始）と記載されている。したがって、クロック制御信号Ｇ１は、図４ではタスク２０１の起動時の時刻Ｔ１で‘Ｈ’レベルに変化していたのに対して、図８ではセマフォＳ１獲得時の時刻Ｔ２で‘Ｈ’レベルに変化する。
【００７６】
また、時刻Ｔ７でペリフェラルデバイス１０１の処理が終了し、セマフォＳ１が解放されると、タスクの切り替えが行われる時刻Ｔ９で、クロック制御信号Ｇ１は、‘Ｌ’レベルへ変化する。その後、時刻Ｔ１０でタスク２０２がセマフォＳ１を獲得すると、クロック制御信号Ｇ１は、再び‘Ｈ’レベルに変化する。
【００７７】
同様に、ペリフェラルデバイス１０３も、管理テーブルＪ２に‘０１’（セマフォ獲得時にクロック供給開始）と記載されている。したがって、クロック制御信号Ｇ３は、図４ではタスク２０１の起動時の時刻Ｔ１で‘Ｈ’レベルに変化していたのに対して、図８ではセマフォＳ３獲得時の時刻Ｔ８で‘Ｈ’レベルに変化する。
【００７８】
また、時刻Ｔ２０でペリフェラルデバイス１０３の処理が終了し、セマフォＳ３が解放されると、タスクの切り替えが行われる時刻Ｔ２１で、クロック制御信号Ｇ３は、‘Ｌ’レベルへ変化する。その後、時刻Ｔ２２でタスク２０２がセマフォＳ３を獲得すると、クロック制御信号Ｇ３は、再び‘Ｈ’レベルに変化する。
【００７９】
このような本実施形態によれば、ペリフェラルデバイスへのクロックの供給開始時期をタスク起動時とするか、セマフォ獲得時とするかを、管理テーブルＪ２にて指定することができる。そこで、例えば、起動時間の短いペリフェラルデバイスあるいは待機電力の大きいペリフェラルデバイスは、クロックの供給開始時期をセマフォ獲得時と指定することにより、そのペリフェラルデバイスの待機電力を削減することができる。
【００８０】
（第３の実施形態）
近年、半導体集積回路の低電圧駆動化に伴い、半導体集積回路を構成するトランジスタの閾値も低くなり、リーク電流が増加する傾向にある。リーク電流による消費電力増加を防止する方法の１つとして、非動作の回路ブロックへの電源の供給を停止することが行われる。そこで、本実施形態では、そのような電源供給制御回路が設けられたペリフェラルデバイスを有する半導体集積回路における消費電流制御方法の例を示す。
【００８１】
図９は、本発明の第３の実施形態に係る消費電力制御方法を実行するオペレーティングシステム１０Ｂの構成の例を示すブロック図である。なお、ここでは、ペリフェラルデバイス１０１、１０２に電源供給制御回路１２１、１２２が設けられているものとし、ペリフェラルデバイス１０３へは、割り込み処理対応などのため、常時、電源ＶＤＤが供給されているものとする。
【００８２】
本実施形態のオペレーティングシステム１０Ｂの構成は、基本的に、第２の実施形態のオペレーティングシステム１０Ａと同じである。オペレーティングシステム１０Ａと異なる点は、本実施形態の電力消費管理部４Ｂが、クロック供給制御回路１１１〜１１３へクロック制御信号Ｇ１〜Ｇ３を出力するほかに、電源供給制御回路１２１、１２２へ電源供給制御信号Ｐ１、Ｐ２を出力する点である。
【００８３】
ここで、電力消費管理部４Ｂのクロック制御信号Ｇ１〜Ｇ３の出力に関する処理は、第２の実施形態の電力消費管理部４Ａと同じであるので、ここではその説明を省略し、電源供給制御信号Ｐ１、Ｐ２の出力に関する処理のみ説明する。
【００８４】
電力消費管理部４Ｂは、電源供給制御信号Ｐ１、Ｐ２の出力に関する処理を次のように行う。まず、タスクが起動したときに、電力消費管理部４Ｂは、ペリフェラルデバイス情報Ｊ１を検索して、そのタスクが、電源供給制御対象のペリフェラルデバイス１０１、１０２を使用するかどうかをチェックする。その結果、起動したタスクが、ペリフェラルデバイス１０１、１０２のいずれかを使用することが判明した場合は、続いて、管理テーブルＪ２のチェックを行う。管理テーブルＪ２には、第２の実施形態で説明したように、ペリフェラルデバイスへのクロック供給の開始時期が規定されているが、ここでは、その規定を、電源供給開始時期の規定としても使用する。すなわち、電力消費管理部４Ｂは、電源供給制御対象のペリフェラルデバイスへの電源供給開始時期を、タスク起動時とするか、セマフォの獲得時とするかを、管理テーブルＪ２にもとづいて決定する。
【００８５】
電力消費管理部４Ｂは、この決定した電源供給開始時期に、電源供給制御回路１２１、１２２に対して、電源供給制御信号Ｐ１、Ｐ２を介して、電源の供給開始を指示する。また、電力消費管理部４Ｂは、セマフォ３を参照して、そのタスクがセマフォ獲得中は電源の供給を継続し、セマフォ解放後にタスクが切り替わるときに電源供給を遮断するよう、電源供給制御回路１２１、１２２へ指示する。
【００８６】
次に、図１０に示すフロー図を用いて、本実施形態の電源供給制御の処理の流れについて説明する。
【００８７】
電源供給制御に関しては、タスクが起動すると（ステップＳ４１）、電力消費管理部４Ｂが、ペリフェラルデバイス使用情報Ｊ１を検索し（ステップＳ４２）、そのタスクがペリフェラルデバイス１０１、１０２を使用するか、どうかをチェックする（ステップＳ４３）。
【００８８】
電力消費管理部４Ｂは、このチェックにもとづいて、そのタスクで使用されない（ＮＯ）ペリフェラルデバイスの電源供給制御回路に対しては電源供給の遮断を指示する（ステップＳ５１）。
【００８９】
一方、そのタスクで使用される（ＹＥＳ）ペリフェラルデバイスについては、管理テーブルＪ２を参照して、電源供給開始時期のチェックを行う（ステップＳ４４）。
【００９０】
このチェックの結果により、以降のフローが異なってくる。すなわち、電源供給開始時期がタスク起動時である場合は、ステップＳ４４以降が、実線で示すフローとなり、クロック供給開始時期がセマフォ獲得時である場合は、ステップＳ４４以降が、点線で示すフローとなる。
【００９１】
実線で示すフロー（電源供給開始時期がタスク起動時）の場合、電力消費管理部４Ｂは、直ちに、電源供給制御回路に対して電源供給の開始を指示する（ステップＳ４５）。
【００９２】
その後、タスクの実行が開始され（ステップＳ４６）、実行中のタスクは、セマフォを獲得して（ステップＳ４７）、ペリフェラルデバイスの処理を実行し（ステップＳ４８）、その処理が終了すると、セマフォを解放する（ステップＳ４９）。
【００９３】
このセマフォの解放後に、タスクの切り替えが行われたときに（ステップＳ５０）、電力消費管理部４Ｂは、タスクによる使用が終了し、切り替え先のタスクで使用されないペリフェラルデバイスの電源供給制御回路に対して、電源供給の遮断を指示する（ステップＳ５１）。
【００９４】
一方、点線で示すフロー（電源供給開始時期がセマフォ獲得時）の場合、タスクの実行が開始され（ステップＳ４６）、実行中のタスクがセマフォを獲得したときに（ステップＳ４７）、電力消費管理部４Ｂは、電源供給制御回路に対して電源供給の開始を指示する（ステップＳ５２）。
【００９５】
電源の供給を受けて、ペリフェラルデバイスの処理が実行され（ステップＳ４８）、以降、上述のステップ４９〜ステップ５１のフローが実行される。
【００９６】
このように、本フローの処理では、タスクの起動時に、電源供給制御が行われるペリフェラルデバイス１０１、１０２のうち、そのタスクで使用されないペリフェラルデバイスに対しては電源供給を遮断する。これにより、不使用のペリフェラルデバイスにリーク電流が流れることを防止でき、より一層の電力消費の削減を図ることができる。
【００９７】
また、そのタスクで使用されるペリフェラルデバイスに対しては、その電源供給開始時期を、タスク起動時とするか、セマフォの獲得時とするか、を管理テーブルＪ２によって変更することができる。これにより、ペリフェラルデバイスの消費電力を、よりきめ細かく管理することができる。
【００９８】
次に、図１１に、タスク切り替えに伴う電源供給制御およびクロック供給制御の具体的な例を示す。なお、この例におけるタスクの切り替え自体は図８に示した例と同じであるので、ここでは、クロック供給制御についての説明は省略する。
【００９９】
時刻Ｔ１でタスク２０１が起動すると、電力消費管理部４Ｂは、ペリフェラルデバイス使用情報Ｊ１を検索する。その結果、タスク２０１が、電源供給制御対象のペリフェラルデバイス１０１を使用することが判明する。そこで、電力消費管理部４Ｂは、管理テーブルＪ２を参照して、ペリフェラルデバイス１０１の電源供給開始時期をチェックする。
【０１００】
図６に示す管理テーブルＪ２では、ペリフェラルデバイス１０１は‘０１’（セマフォ獲得時に電源供給開始）である。そこで、電力消費管理部４Ｂは、タスク２０１がセマフォ獲得した時点、すなわち時刻Ｔ２で、ペリフェラルデバイス１０１へ電源を供給すべく、電源制御信号Ｐ１を‘Ｈ’レベルにして、電源供給制御回路１２１へ電源の供給を指示する。この指示を受けて、電源供給制御回路１２１は、ペリフェラルデバイス１０１への電源供給を開始する。
【０１０１】
その後、時刻Ｔ７で、タスク２０１によるペリフェラルデバイス１０１の使用が終了したため、時刻Ｔ９でタスクの切り替えが起こると、電力消費管理部４は、電源制御信号Ｐ１を‘Ｌ’レベルにして、電源供給制御回路１２１へ電源の遮断を指示し、ペリフェラルデバイス１０１への電源供給を遮断する。
【０１０２】
その後、時刻Ｔ１０で、起動しているタスク２０２が実行を開始し、セマフォＳ１を獲得すると、電力消費管理部４は、ペリフェラルデバイス１０１への電源供給を開始する。
【０１０３】
その後、時刻Ｔ１２で、タスク２０２によるペリフェラルデバイス１０１の使用が終了し、セマフォＳ１が解放される。そこで、電力消費管理部４Ｂは、タスクの切り替えが行われた時刻Ｔ１３で、ペリフェラルデバイス１０１の電源を遮断すべく、電源制御信号Ｐ１を‘Ｌ’レベルにして、電源供給制御回路１２１へ電源の遮断を指示する。この指示を受けて、電源供給制御回路１２１は、ペリフェラルデバイス１０１への電源供給を遮断する。
【０１０４】
また、時刻Ｔ１３で、タスク２０３が起動するので、電力消費管理部４Ｂは、再び、ペリフェラルデバイス使用情報Ｊ１を検索する。その結果、タスク２０３が、電源供給制御対象のペリフェラルデバイス１０２を使用することが判明する。そこで、電力消費管理部４Ｂは、管理テーブルＪ２を参照して、ペリフェラルデバイス１０２の電源供給開始時期をチェックする。
【０１０５】
図６に示す管理テーブルＪ２では、ペリフェラルデバイス１０２は‘１０’（タスク起動時に電源供給開始）であるので、電力消費管理部４Ｂは、時刻Ｔ１３で、電源制御信号Ｐ２を‘Ｈ’レベルにして、電源供給制御回路１２２へ電源の供給を指示する。この指示を受けて、電源供給制御回路１２２は、ペリフェラルデバイス１０２への電源供給を開始する。
【０１０６】
その後、時刻Ｔ１６で、タスク２０３によるペリフェラルデバイス１０２の使用が終了し、セマフォＳ２が解放される。そこで、電力消費管理部４Ｂは、タスクの切り替えが行われた時刻Ｔ１８で、ペリフェラルデバイス１０２の電源を遮断すべく、電源制御信号Ｐ２を‘Ｌ’レベルにして、電源供給制御回路１２２へ電源の遮断を指示する。この指示を受けて、電源供給制御回路１２２は、ペリフェラルデバイス１０２への電源供給を遮断する。
【０１０７】
その後、時刻Ｔ２１でタスクの切り替えがあり、タスク２０３の実行が再開すると、電力消費管理部４Ｂは、電源制御信号Ｐ２を‘Ｈ’レベルにして、電源供給制御回路１２２へ、ペリフェラルデバイス１０２への電源供給を指示する。
【０１０８】
このような本実施形態によれば、クロック供給制御に加えて、電源供給制御も行うことができるため、ペリフェラルデバイスの消費電力をより一層削減することができる。
【０１０９】
また、電源供給制御対象のペリフェラルデバイスごとに、電源供給開始時期を設定できるので、ペリフェラルデバイスの消費電力をよりきめ細かく管理することができる。
【０１１０】
（第４の実施形態）
上述の各実施形態では、オペレーティングシステムによりペリフェラルデバイスの消費電力を削減する方法を示したが、本実施形態では、オペレーティングシステムによらずにペリフェラルデバイスの消費電力を削減する方法を示す。
【０１１１】
本実施形態では、ペリフェラルデバイス１０１〜１０３を使用するタスク２０１〜２０３からの使用要求を受け付け、それぞれのペリフェラルデバイスの使用順を制御するマネージャタスク３０が、クロック供給制御回路１１１〜１１３を制御する。
【０１１２】
図１２は、本発明の第４の実施形態に係る消費電力制御方法を実行するマネージャタスク２０の構成の例を示すブロック図である。
【０１１３】
マネージャタスク２０は、キュー５と、ペリフェラルデバイス使用情報Ｊ１１と、を有している。
【０１１４】
マネージャタスク２０は、タスク１０１〜１０３からのペリフェラルデバイス１０１〜１０３の使用要求をキュー５で受け付け、ペリフェラルデバイス１０１〜１０３それぞれの使用順を制御する。また、マネージャタスク２０は、タスク１０１〜１０３からのキューイングおよびデキューイングの際に、ペリフェラルデバイス１０１〜１０３の使用予定を示すペリフェラルデバイス使用情報Ｊ１１を更新する。
【０１１５】
マネージャタスク２０は、このペリフェラルデバイス使用情報Ｊ１１にもとづいて、クロック制御信号Ｇ１〜Ｇ３を介して、クロック制御回路１１１〜１１３へクロックの供給または遮断を指示する。
【０１１６】
すなわち、マネージャタスク２０は、ペリフェラルデバイス使用情報Ｊ１１が「使用予定あり」を示すときはクロック制御回路１１１〜１１３へクロックの供給を指示し、ペリフェラルデバイス使用情報Ｊ１１が「使用予定なし」を示すときはクロック制御回路１１１〜１１３へクロックの遮断を指示する。
【０１１７】
次に、図１３に示すフロー図を用いて、本実施形態の消費電力制御方法の処理の流れについて説明する。
【０１１８】
各タスクからのペリフェラルデバイス１０１〜１０３の使用要求のキューイングあるいはデキューイングの際（ステップＳ６１）、マネージャタスク２０は、キュー５の更新を行い（ステップＳ６２）、ペリフェラルデバイス使用情報Ｊ１１を更新する（ステップＳ６３）。
【０１１９】
続いて、マネージャタスク２０は、更新されたペリフェラルデバイス使用情報Ｊ１１をチェックし（ステップＳ６４）、ペリフェラルデバイス使用情報Ｊ１１が「使用予定あり」を示すときは（ＹＥＳ）、クロック制御回路１１１〜１１３へクロックの供給を指示する（ステップＳ６５）。
【０１２０】
一方、ペリフェラルデバイス使用情報Ｊ１１が「使用予定なし」を示すときは（ＮＯ）、マネージャタスク２０は、クロック制御回路１１１〜１１３へクロックの遮断を指示する（ステップＳ６６）。
【０１２１】
その後、ステップＳ５１へ戻って、上述の一連のフローを繰り返し実行する。
【０１２２】
このような本実施形態によれば、マネージャタスク３０によりペリフェラルデバイスの消費電力制御を行う。そのため、専用のオペレーティングシステムを用意する必要がなく、汎用的なオペレーティングシステムを用いても、ペリフェラルデバイスの消費電力を削減することができる。
【０１２３】
以上説明した少なくとも１つの実施形態の消費電力制御方法によれば、タスクの状態が頻繁に変更されても、処理効率を低下させることなくペリフェラルデバイスの電力消費を削減することができる。
【０１２４】
また、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０１２５】
１  タスク情報登録部
２  ディスパッチャ
３、Ｓ１〜Ｓ３  セマフォ
４、４Ａ、４Ｂ  電力消費管理部
５  キュー
１０、１０Ａ、１０Ｂ  オペレーティングシステム
２０  マネージャタスク
Ｊ１、Ｊ１１  ペリフェラルデバイス使用情報
Ｊ２  管理テーブル
【図１】
2012133687.tif 000003
【図２】
2012133687.tif 000004
【図３】
2012133687.tif 000005
【図４】
2012133687.tif 000006
【図５】
2012133687.tif 000007
【図６】
2012133687.tif 000008
【図７】
2012133687.tif 000009
【図８】
2012133687.tif 000010
【図９】
2012133687.tif 000011
【図１０】
2012133687.tif 000012
【図１１】
2012133687.tif 000013
【図１２】
2012133687.tif 000014
【図１３】
2012133687.tif 000015