(57)【要約】【課題】  プロセッサによる電力管理の処理負荷を低減して処理能力の低下を抑制できるマイクロコンピュータ及びコンピュータシステムを提供する。【解決手段】  周辺マクロや周辺装置の消費電力に相当する重みの値を保持する複数の重み格納部、動作中の周辺マクロや周辺装置毎の重みの値を積算した積算値が格納される、プロセッサによるデータの読み出しが可能な加算値レジスタ、及びプロセッサからの指示にしたがって周辺マクロや周辺装置の動作／停止をそれぞれ制御する複数の動作許可／停止部を備えた電力管理モジュールを有する構成とする。重み格納部及び動作許可／停止部は、プロセッサからのアクセスが可能な、同一のアドレスまたは連続するアドレスにマッピングされたレジスタで構成する。【選択図】  図１
2005284871.tif 000002
【特許請求の範囲】
【請求項１】
複数の周辺マクロを内蔵するマイクロコンピュータであって、
プロセッサと、
前記周辺マクロの消費電力に相当する重みの値を保持する複数の重み格納部、動作中の前記周辺マクロ毎の重みの値を積算した積算値が格納される、前記プロセッサによるデータの読み出しが可能な加算値レジスタ、及び前記プロセッサからの指示にしたがって前記周辺マクロの動作／停止をそれぞれ制御する複数の動作許可／停止部を備えた電力管理モジュールと、
を有するマイクロコンピュータ。
【請求項２】
前記電力管理モジュールは、
予め設定された前記マイクロコンピュータの最大許容電力に相当する重みの値である許容値を保持する許容値レジスタと、
前記積算値と前記許容値との比較結果を出力する比較回路と、
を有し、
前記プロセッサは、
実行中の処理に不要な周辺マクロの動作を停止させると共に、前記比較回路の比較結果により前記積算値が前記許容値を越えることを検知した場合は、直前に動作させた周辺マクロまたは優先度の低い周辺マクロの動作を停止させる指示を、該周辺マクロの動作／停止を制御する動作許可／停止部に出力する請求項１記載のマイクロコンピュータ。
【請求項３】
前記重み格納部は、
前記プロセッサによるデータの読み出しが可能な、同一のアドレスまたは連続するアドレスにマッピングされたレジスタである請求項１または２記載のマイクロコンピュータ。
【請求項４】
前記動作許可／停止部は、
前記プロセッサによるデータの読み出し／書き込みが可能な、同一のアドレスまたは連続するアドレスにマッピングされたレジスタである請求項１乃至３のいずれか１項記載のマイクロコンピュータ。
【請求項５】
前記電力管理モジュールは、
前記周辺マクロが消費電力の異なる複数の動作モードで動作する場合、該周辺マクロに対応して、前記動作モード毎の消費電力に相当する重みの値を保持する、該動作モードの数に等しい重み保持部を備えた請求項１乃至４のいずれか１項記載のマイクロコンピュータ。
【請求項６】
前記動作許可／停止部は、
停止中の周辺マクロを動作させる際に、前記比較回路の比較結果から前記積算値が前記許容値を越えることを検知した場合は、前記プロセッサからの停止指示を待たずに該周辺マクロの動作を停止させる請求項１乃至５のいずれか１項記載のマイクロコンピュータ。
【請求項７】
複数の周辺装置を備えたコンピュータシステムであって、
プロセッサと、
前記周辺装置毎の消費電力に相当する重みの値を保持する複数の重み格納部、動作中の前記周辺装置毎の重みの値を積算した積算値が格納される、前記プロセッサによるデータの読み出しが可能な加算値レジスタ、及び前記プロセッサからの指示にしたがって前記周辺装置の動作／停止をそれぞれ制御する複数の動作許可／停止部を備えた電力管理モジュールと、
前記周辺装置と前記電力管理モジュールを接続すると共に、前記周辺装置と前記プロセッサとを互いにデータの送受信が可能に接続するインタフェース部と、
を有するコンピュータシステム。
【請求項８】
前記電力管理モジュールは、
予め設定された前記コンピュータシステムの最大許容電力に相当する重みの値である許容値を保持する許容値レジスタと、
前記積算値と前記許容値との比較結果を出力する比較回路と、
を有し、
前記プロセッサは、
実行中の処理に不要な周辺装置の動作を停止させると共に、前記比較回路の比較結果により前記積算値が前記許容値を越えることを検知した場合は、直前に動作させた周辺装置または優先度の低い周辺装置の動作を停止させる指示を、該周辺装置の動作／停止を制御する動作許可／停止部に出力する請求項７記載のコンピュータシステム。
【請求項９】
前記重み格納部は、
前記プロセッサによるデータの読み出しが可能な、同一のアドレスまたは連続するアドレスにマッピングされたレジスタである請求項７または８記載のコンピュータシステム。
【請求項１０】
前記動作許可／停止部は、
前記プロセッサによるデータの読み出し／書き込みが可能な、同一のアドレスまたは連続するアドレスにマッピングされたレジスタである請求項７乃至９のいずれか１項記載のコンピュータシステム。
【請求項１１】
前記電力管理モジュールは、
前記周辺装置が消費電力の異なる複数の動作モードで動作する場合、該周辺装置に対応して、前記動作モード毎の消費電力に相当する重みの値を保持する、該動作モードの数に等しい重み保持部を備えた請求項７乃至１０のいずれか１項記載のコンピュータシステム。
【請求項１２】
前記動作許可／停止部は、
停止中の周辺装置を動作させる際に、前記比較回路の比較結果から前記積算値が前記許容値を越えることを検知した場合は、前記プロセッサからの停止指示を待たずに該周辺装置の動作を停止させる請求項７乃至１１のいずれか１項記載のコンピュータシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は各種機能を実現する複数の周辺マクロを内蔵するマイクロコンピュータ及び複数の周辺装置を備えたコンピュータシステムに関する。
【背景技術】
【０００２】
近年、各種機能を実現する複数の周辺マクロ（タイマーや通信制御部等）を内蔵するマイクロコンピュータが搭載される電子機器、あるいは各種の周辺装置（ハードディスク装置や表示装置等）を備えたコンピュータシステムは、バッテリーを備えることで様々な場所での利用が可能になってきている。これらバッテリーで動作するマイクロコンピュータやコンピュータシステムは、移動先における長時間の利用を可能にするために消費電力はできるだけ少ないことが要求される。
【０００３】
マイクロコンピュータやコンピュータシステムで必要な電力容量は、全ての周辺装置や周辺マクロが動作しているときの消費電力をピーク電力と想定すれば比較的容易に算定できる。しかしながら、そのような場合を想定してバッテリーの選定や電源回路の設計を行うと、バッテリー容量及び電源回路の規模が大きくなるためにマイクロコンピュータを含む電子機器やコンピュータシステムのコストが増大する。また、装置体積や重量が増大するため可搬性が低下する。そこで、各周辺マクロや周辺装置が実際に動作する時間や動作頻度を予め見積もり、バッテリー容量や電源回路の規模を実使用に合わせて縮小することが望ましい。しかしながら、周辺マクロや周辺装置の動作時間及び動作頻度の正確な見積もりは困難な場合が多く、これらの見積もり作業に設計時間を要することで設計効率が低下する。
【０００４】
そこで、各周辺マクロや周辺装置が動作しているか否かをリアルタイムにチェックし、処理を待機させたり不要な周辺マクロや周辺装置の動作を停止することでピーク電力を抑制する電力管理が重要になる。
【０００５】
例えば特許文献１には、各周辺装置で実行する制御プログラムを管理するキュー制御プログラム及び制御プログラムの実行を要求するリクエストを保存するためのＦＩＦＯバッファを備え、ＣＰＵによるプログラム制御にしたがって、新たなリクエストがＦＩＦＯバッファに格納された場合、該リクエストに対応する制御プログラムの処理に要する消費電力と現在実行中の制御プログラムの処理に要する消費電力の合計値を求め、その値が利用可能な最大消費電力（ピーク電力）よりも大きい場合は、新たなリクエストに対応する制御プログラムの処理を待機させる技術が開示されている。
【特許文献１】特開平９−２３７１３８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら上記したような従来の電力管理技術では、例えばＣＰＵやＤＳＰ等のプロセッサから周辺マクロや周辺装置に個別にアクセスすることで周辺マクロや周辺装置の動作をそれぞれ確認し、動作中の周辺マクロや周辺装置による消費電力の総和を求める演算処理を行う必要がある。したがって、プロセッサによる電力管理の処理負荷が増大してマイクロコンピュータやコンピュータシステムの処理能力が低下する問題がある。
【０００７】
また、マイクロコンピュータやコンピュータシステムの処理能力の低下を最小限に抑制しようとすると、そのために複雑なプログラムを開発しなければならないため、プログラムの開発時間が増大する場合があった。
【０００８】
本発明は上記したような従来の技術が有する問題点を解決するためになされたものであり、プロセッサによる電力管理の処理負荷を低減して処理能力の低下を抑制できるマイクロコンピュータ及びコンピュータシステムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するため本発明のマイクロコンピュータは、複数の周辺マクロを内蔵するマイクロコンピュータであって、
プロセッサと、
前記周辺マクロの消費電力に相当する重みの値を保持する複数の重み格納部、動作中の前記周辺マクロ毎の重みの値を積算した積算値が格納される、前記プロセッサによるデータの読み出しが可能な加算値レジスタ、及び前記プロセッサからの指示にしたがって前記周辺マクロの動作／停止をそれぞれ制御する複数の動作許可／停止部を備えた電力管理モジュールと、
を有する構成である。
【００１０】
このとき、前記電力管理モジュールは、
予め設定された前記マイクロコンピュータの最大許容電力に相当する重みの値である許容値を保持する許容値レジスタと、
前記積算値と前記許容値との比較結果を出力する比較回路と、
を有し、
前記プロセッサは、
実行中の処理に不要な周辺マクロの動作を停止させると共に、前記比較回路の比較結果により前記積算値が前記許容値を越えることを検知した場合は、直前に動作させた周辺マクロまたは優先度の低い周辺マクロの動作を停止させる指示を、該周辺マクロの動作／停止を制御する動作許可／停止部に出力してもよい。
【００１１】
また、前記重み格納部は、
前記プロセッサによるデータの読み出しが可能な、同一のアドレスまたは連続するアドレスにマッピングされたレジスタであってもよく、
前記動作許可／停止部は、
前記プロセッサによるデータの読み出し／書き込みが可能な、同一のアドレスまたは連続するアドレスにマッピングされたレジスタであってもよい。
【００１２】
さらに、前記電力管理モジュールは、
前記周辺マクロが消費電力の異なる複数の動作モードで動作する場合、該周辺マクロに対応して、前記動作モード毎の消費電力に相当する重みの値を保持する、該動作モードの数に等しい重み保持部を備えていてもよく、
前記動作許可／停止部は、
停止中の周辺マクロを動作させる際に、前記比較回路の比較結果から前記積算値が前記許容値を越えることを検知した場合は、前記プロセッサからの停止指示を待たずに該周辺マクロの動作を停止させてもよい。
【００１３】
一方、本発明のコンピュータシステムは、複数の周辺装置を備えたコンピュータシステムであって、
プロセッサと、
前記周辺装置毎の消費電力に相当する重みの値を保持する複数の重み格納部、動作中の前記周辺装置毎の重みの値を積算した積算値が格納される、前記プロセッサによるデータの読み出しが可能な加算値レジスタ、及び前記プロセッサからの指示にしたがって前記周辺装置の動作／停止をそれぞれ制御する複数の動作許可／停止部を備えた電力管理モジュールと、
前記周辺装置と前記電力管理モジュールを接続すると共に、前記周辺装置と前記プロセッサとを互いにデータの送受信が可能に接続するインタフェース部と、
を有する構成である。
【００１４】
このとき、前記電力管理モジュールは、
予め設定された前記コンピュータシステムの最大許容電力に相当する重みの値である許容値を保持する許容値レジスタと、
前記積算値と前記許容値との比較結果を出力する比較回路と、
を有し、
前記プロセッサは、
実行中の処理に不要な周辺装置の動作を停止させると共に、前記比較回路の比較結果により前記積算値が前記許容値を越えることを検知した場合は、直前に動作させた周辺装置または優先度の低い周辺装置の動作を停止させる指示を、該周辺装置の動作／停止を制御する動作許可／停止部に出力してもよい。
【００１５】
また、前記重み格納部は、
前記プロセッサによるデータの読み出しが可能な、同一のアドレスまたは連続するアドレスにマッピングされたレジスタであってもよく、
前記動作許可／停止部は、
前記プロセッサによるデータの読み出し／書き込みが可能な、同一のアドレスまたは連続するアドレスにマッピングされたレジスタであってもよい。
【００１６】
さらに、前記電力管理モジュールは、
前記周辺装置が消費電力の異なる複数の動作モードで動作する場合、該周辺装置に対応して、前記動作モード毎の消費電力に相当する重みの値を保持する、該動作モードの数に等しい重み保持部を備えていてもよく、
前記動作許可／停止部は、
停止中の周辺装置を動作させる際に、前記比較回路の比較結果から前記積算値が前記許容値を越えることを検知した場合は、前記プロセッサからの停止指示を待たずに該周辺装置の動作を停止させてもよい。
【発明の効果】
【００１７】
上記のように構成されたマイクロコンピュータ及びコンピュータシステムでは、動作中の周辺マクロや周辺装置毎の重みの値を積算した積算値が格納される加算値レジスタを備えることで、プロセッサは、周辺マクロや周辺装置の総消費電力が最大許容電力を越えたか否か、または越えそうか否かを直ちに知ることができる。また、プロセッサは、加算値レジスタに格納された積算値を参照することで、例えば、現在実行中の処理で不要な周辺マクロや周辺装置、あるいは優先度の低い周辺マクロや周辺装置の動作を停止させ、処理の終了後に動作を再開させる等の制御も可能になる。したがって、プロセッサによる処理能力を低下させることなく周辺マクロや周辺装置の総消費電力を容易に管理することができる。
【００１８】
特に、動作制御部の重み格納部をレジスタで構成し、同一または連続するアドレスにマッピングすることで、プロセッサは、各周辺マクロや周辺装置が動作中であるか停止中であるかを容易に判別できるため、情報を効率良く入手できる。また、動作許可／停止部をレジスタで構成し、同一または連続するアドレスにマッピングすることで、プロセッサは、各周辺マクロや周辺装置の動作または停止を効率良く制御できる。
【００１９】
また、動作モード毎の消費電力に相当する重みの値を保持する、該動作モードの数に等しい重み保持部を備えることで、周辺マクロが消費電力の異なる複数のモードで動作する場合でも、動作モードに応じた最適な重みの値を選択することで重みの積算値の精度を維持できるため、周辺マクロや周辺装置の総消費電力を正確に知ることができる。
【００２０】
さらに、比較回路の比較結果から積算値が許容値を越えることを検知した場合は、プロセッサからの停止指示を待たずに該周辺装置の動作を停止させることで、周辺マクロや周辺装置の総消費電力（電流）が許容値を一瞬でも越えてはならない構成にも適用できる。
【発明を実施するための最良の形態】
【００２１】
次に本発明について図面を参照して説明する。
【００２２】
なお、以下では複数の周辺マクロを備えたマイクロコンピュータを例にして、該マイクロコンピュータが備える本発明の電力管理モジュールについて説明する。
【００２３】
（第１の実施の形態）
図１は本発明のマイクロコンピュータが備える電力管理モジュールの第１の実施の形態の構成を示すブロック図である。
【００２４】
図１に示すように、第１の実施の形態の電力管理モジュール３は、対応する周辺マクロの消費電力に相当する重みの値を保持すると共に、該周辺マクロの動作／停止を制御する、周辺マクロ２0〜２N（Ｎは正の整数）毎に設けられた複数の動作制御部４0〜４Nと、動作制御部４0〜４Nから得られる重みを積算した、動作中の周辺マクロの総消費電力に相当する積算値を保持する加算値レジスタ（Σ）５と、予め設定されたマイクロコンピュータの最大許容電力に相当する重みの値である許容値を保持する許容値レジスタ６と、加算値レジスタ５に保持された積算値と許容値レジスタ６に格納された許容値との比較結果を出力する比較回路７とを有する構成である。動作制御部４0〜４N、加算値レジスタ５、許容値レジスタ６、及び周辺マクロ２0〜２Nはバス８を介してそれぞれＣＰＵ１と接続される。
【００２５】
ＣＰＵ１は、バス８を介して電力管理モジュール３の加算値レジスタ５及び許容値レジスタ６にアクセスすることで、加算値レジスタ５に格納された積算値の読み出し、及び許容値レジスタ６に対する許容値の書き込み／読み出しが可能である。
【００２６】
動作制御部４0〜４Nは、対応する周辺マクロの消費電力に相当する重みの値を保持する重み格納部４１と、ＣＰＵ１からの指示にしたがって対応する周辺マクロに対して動作許可あるいは動作停止を指示するための動作許可フラグを出力する動作許可／停止部４２と、重み格納部４１で保持された重みの値と隣接する動作制御部４から供給される重みの値とを加算する加算回路４３と、対応する周辺マクロの動作許可時に重み格納部４１に保持された重みの値を加算回路４３へ供給するゲート回路４４とをそれぞれ有する構成である。
【００２７】
動作制御部４0〜４Nが有する各加算回路４３は直列に接続され、各加算回路４３の演算結果は隣接する後段の動作制御部４の加算回路４３に順次出力される。最終段の動作制御部４N（図１のＣｈＮ）が有する加算回路４３の演算結果は、上記積算値として加算値レジスタ５に格納される。なお、初段の動作制御部４0（図１のＣｈ０）が有する加算回路４３には、隣接する前段の加算回路４３の演算結果に代えて“０”が入力される。
【００２８】
重み格納部４１で保持される重みの値は、対応する周辺マクロの動作時の消費電力に相当する指標値であり、例えば重みの値が＋２の周辺マクロは、重みの値が＋１の周辺マクロの約２倍の電力を消費することを意味する。これら重み格納部４１で保持される重みの値は、対応する周辺マクロが動作時のみゲート回路４４を通して加算回路４３へ供給される。動作許可／停止部４２からの指示にしたがって周辺マクロの動作が停止している場合、対応する動作制御部４の加算回路４３にはゲート回路４４から“０”が供給される。
【００２９】
このように周辺マクロ２0〜２Nの消費電力の値を重みに置き換えて保持することで、重み格納部４１で保持するデータ量（ビット数）を低減できる。また、本実施形態では、この重み格納部４１で保持する重みの値をゲート回路４４及びバス８を通してＣＰＵ１により読み出し可能とする。さらに、動作制御部４0〜４Nが有する各重み格納部４１を、例えばＣＰＵ１から見て同一のアドレスまたは連続するアドレスにマッピングしたレジスタで構成する。このようにすると、ＣＰＵ１は１回または２回程度のレジスタ（重み格納部４１）からのデータ読み出し処理で、どの周辺マクロが動作しているか停止しているかを容易に判別できる。
【００３０】
比較回路７から出力される積算値と許容値との比較結果は割込制御回路９に供給され、割込制御回路９は積算値が許容値を越えたときにＣＰＵ１へその旨を割込み信号として通知する。ＣＰＵ１は、実行中の処理に必要な周辺マクロを動作させるための制御信号を各動作制御部４0〜４Nの動作許可／停止部４２にそれぞれ送出すると共に、停止中の任意の周辺マクロの動作を許可することで積算値が許容値を越えた場合は、直前に動作を許可した周辺マクロ、あるいは優先度の低い周辺マクロの動作許可／停止部４２に、動作を停止させるための制御信号を送出する。
【００３１】
本実施形態の動作許可／停止部４２は、例えばＣＰＵ１によりバスを介して読み出し／書き込みが可能なレジスタによって構成される。動作許可／停止部４２から周辺マクロには、例えば、動作許可時に“１”となり、動作停止時に“０”となる動作許可フラグが出力される。また、動作許可／停止部４２を構成するレジスタは、ＣＰＵ１から見て同一アドレスまたは連続するアドレスにマッピングする。このようにすると、ＣＰＵ１は１回または２回程度のレジスタ（動作許可／停止部４２）に対するデータの書き込み処理で、周辺マクロ２0〜２Nの動作または停止を容易に制御できる。
【００３２】
次に、第１の実施の形態の電力管理モジュールの動作について説明する。
【００３３】
上述したように、通常動作時、ＣＰＵ１は、各動作制御部４0〜４Nの動作許可／停止部４２にそれぞれ所定の制御信号を出力することで、実行中の処理に必要な周辺マクロを動作させ、不要な周辺マクロを停止させている。
【００３４】
このような状態において、動作停止中の任意の周辺マクロを利用する処理が要求されると、ＣＰＵ１は該周辺マクロに対応する動作制御部４に動作を許可する制御信号を送出する。
【００３５】
動作制御部４は、該制御信号を受信すると、動作許可／停止部４２を用いて周辺マクロ２に送出する動作許可フラグを“１”に設定する。動作許可フラグが“１”に設定されると、重み格納部４１に格納された重みの値がゲート回路４４を通して加算回路４３に供給され、該加算回路４３の演算結果が該重みの値を加算した値に更新される。その結果、後段の動作制御部４が有する各加算回路４３の演算結果、及び加算値レジスタ５に格納される積算値の値もそれぞれ更新される。
【００３６】
比較回路７は、更新後の積算値と許容値との比較結果を割り込み制御回路９に出力し、割込制御回路９は積算値が許容値を越える場合はＣＰＵ１に割込み信号を送出する。ＣＰＵ１は、割込制御回路から積算値が許容値を越えたことを示す割り込み信号を受け取ると、直前に動作を許可した周辺マクロ、あるいは優先度の低い周辺マクロの動作許可を取り消し、該周辺マクロに対応する動作制御部４の動作許可／停止部４２に動作の停止を指示する制御信号を送出する。該制御信号を受け取った動作許可／停止部４２は、周辺マクロに出力する動作許可フラグを“０”に切り替え、該周辺マクロによる処理を停止させる。
【００３７】
第１の実施の形態によれば、バス８を介して読み出し可能な加算値レジスタ５を備えることで、ＣＰＵ１は、周辺マクロの総消費電力が最大許容電力を越えたか否か、または越えそうか否かを直ちに知ることができる。また、ＣＰＵ１は、加算値レジスタ５に格納された積算値を参照することで、例えば、現在実行中の処理で不要な周辺マクロや優先度の低い周辺マクロの動作を停止させ、処理の終了後に動作を再開させる等の制御も可能になる。したがって、プロセッサによる処理能力を低下させることなく周辺マクロや周辺装置の総消費電力を容易に管理することができる。
【００３８】
特に、動作制御部４0〜４Nの重み格納部４１をレジスタで構成し、同一または連続するアドレスにマッピングすることで、ＣＰＵ１は周辺マクロが動作中であるか停止中であるかを容易に判別できるため、情報を効率良く入手できる。また、各動作制御部４の動作許可／停止部４２をレジスタで構成し、同一または連続するアドレスにマッピングすることで、ＣＰＵ１は各周辺マクロ２0〜２Nの動作または停止を効率良く制御できる。
【００３９】
（第２の実施の形態）
図２は本発明のマイクロコンピュータが備える電力管理モジュールの第２の実施の形態の構成を示すブロック図である。
【００４０】
第２の実施の形態のマイクロコンピュータは、周辺マクロ２Nが消費電力の異なる複数のモードで動作する例であり、図２に示すように本実施形態の動作制御部４Nは、対応する周辺マクロ２Nの各動作モードの消費電力に相当する重みの値を保持する複数の重み格納部（図２では４１1、４１2）と、周辺マクロ２Nから出力される、該周辺マクロ２Nの動作モードを示すモード信号にしたがって、動作モードに対応した重みの値を選択・出力するセレクタ４５とを図１に示した動作制御部に追加した構成である。その他の構成は第１の実施の形態と同様であるため、その説明は省略する。
【００４１】
本実施形態の動作制御部４Nが有する重み格納部４１1、４１2は、対応する周辺マクロ２Nが複数のモードで動作する場合に、動作モード毎の消費電力に相当する重みの値（図２では、＋ｍ、＋ｋ：ｍ、ｋは正の整数）をそれぞれ個別に保持する。セレクタ４５には対応する周辺マクロ２Nから現在の動作モードを示すモード信号が入力され、セレクタ４５は、該モード信号にしたがって複数の重みの値のなかから動作モードに対応する重みの値を選択し、ゲート回路４４に供給する。
【００４２】
本実施形態の構成によれば、周辺マクロが消費電力の異なる複数のモードで動作する場合でも、動作モードに応じた最適な重みの値を選択することで重みの積算値の精度を維持できるため、周辺マクロや周辺装置の総消費電力を正確に知ることができる。したがって、本実施形態の構成も第１の実施の形態と同様の効果を得ることができる。
【００４３】
なお、図２では動作制御部４Nに２つの重み格納部４１1、４１2を備えた構成を示しているが、重み格納部４１は、対応する周辺マクロの動作モード数に応じた数だけ備えていればよい。
【００４４】
（第３の実施の形態）
図３は本発明のマイクロコンピュータが備える電力管理モジュールの第３の実施の形態の構成を示すブロック図であり、図４は図３に示した動作許可／停止部の動作を示すタイミングチャートである。なお、図３には、１つの動作制御部４、加算値レジスタ５、許容値レジスタ６、比較回路７及び割込制御回路９のみを記載し、周辺マクロ２0〜２N、ＣＰＵ１、及びバス８をそれぞれ省略した様子を示している。動作制御部は、第１、２の実施の形態と同様に各周辺マクロ２0〜２Nに対応して設けられている。
【００４５】
図３に示すように、第３の実施の形態の電力管理モジュールが備える動作制御部４は、動作許可／停止部４２の構成が第１、２の実施の形態と異なっている。
【００４６】
本実施形態の動作許可／停止部４２は、ＣＰＵ１から送出された周辺マクロの動作／停止を指示する制御信号をラッチする第１のレベルセンシティブラッチ（Ｆ／Ｆ１）４２１及び第２のレベルセンシティブラッチ（Ｆ／Ｆ２）４２２と、第２のレベルセンシティブラッチ４２２に対するクロック（WriteCLK）入力をマスクする論理和ゲート回路４２３と、第２のレベルセンシティブラッチに対するクロック入力のマスク条件を検出する論理積ゲート回路４２４とを有する構成である。第１のレベルセンシティブラッチ４２１にはマイクロコンピュータが有する不図示の内部回路から書き込みクロック（WriteCLK）が供給され、第２のレベルセンシティブラッチ４２２には論理和ゲート回路４２３を通して書き込みクロックが供給される。
【００４７】
第１のレベルセンシティブラッチ４２１及び第２のレベルセンシティブラッチ４２２は書き込みクロックのタイミングでバス８を介してＣＰＵ１から送出される周辺マクロの動作／停止を指示する制御信号をラッチする。但し、第２のレベルセンシティブラッチ４２２に供給される書き込みクロックは、対応する周辺マクロが動作停止中であり、ＣＰＵ１から動作許可を示す制御信号が新たに出力され、かつ該動作許可により積算値が許容値を越えた場合にマスクされる。
【００４８】
本実施形態の電力管理モジュールは、停止中の周辺マクロを動作させる際に、重みの積算値が許容値を越える場合はＣＰＵ１からの停止指示を待たずに電力管理モジュールの制御により該周辺マクロの動作を停止させる。その際、ＣＰＵ１には比較回路７の比較結果により割込制御回路９を通して積算値が許容値を越えたことが通知される。
【００４９】
このような構成において、本実施形態では、ＣＰＵ１から停止中任意の周辺マクロに対する動作許可を示す制御信号が出力されると、対応する動作制御部の第１のレベルセンシティブラッチ４２１は書き込みクロック（WriteCLK）の立上りに同期して該制御信号をラッチする。
【００５０】
ゲート回路４４は、第１のレベルセンシティブラッチ４２１のラッチ出力を受けて、重み格納部４１に格納された重みの値を加算回路４３に供給する。よって、該加算回路４３の演算結果及び加算値レジスタ５に格納される積算値が該重みの値を加えた値に更新される。更新後の積算値が許容値を越える場合、比較回路７からは積算値が許容値を越えたことを示す“１”が出力される（図４のＡ）。
【００５１】
比較回路７から“１”が出力されると、動作許可／停止部４２の論理積ゲート４２４は論理和ゲート４２３へ“１”を出力し（図４のＢ）、論理和ゲート４２３は第２のレベルセンシティブラッチ４２２に供給する書き込みクロックを“１”で固定する（図４のＣ）。
【００５２】
この場合、第２のレベルセンシティブラッチ４２２は、ＣＰＵ１から動作許可を示す制御信号が送出されているにも拘わらず、周辺マクロに出力する動作許可フラグを“０”（動作停止指示）で維持する。
【００５３】
一方、加算値レジスタ５に格納される更新後の積算値が許容値を越えない場合、動作許可／停止部４２の論理積ゲート４２４は論理和ゲート４２３へ“０”を出力し、論理和ゲート４２３は書き込みクロックを第２のレベルセンシティブラッチに供給する。この場合、第２のレベルセンシティブラッチ４２２は書き込みクロックの立上りに同期して第１のレベルセンシティブラッチ４２１の出力信号をラッチし、周辺マクロに出力する動作許可フラグを“１”に設定する。
【００５４】
本実施形態の構成によれば、停止中の周辺マクロを動作させる際に、重みの積算値が許容値を越える場合はＣＰＵ１からの停止指示を待たずに電力管理モジュール４の制御により該周辺マクロの動作を停止させるため、周辺マクロの総消費電力（電流）が許容値を一瞬でも越えてはならない構成に適用できる。
【００５５】
なお、上述した第１〜第３の実施の形態で示した電力管理モジュールは、複数の周辺装置を備えたコンピュータシステムに適用しても上述したマイクロコンピュータと同様の効果を得ることができる。コンピュータシステムは、図１〜図３に示した周辺マクロに代えて複数の周辺装置を設け、該周辺装置とバス及び電力管理モジュール間を、例えば周知のＩ／Ｏインタフェース部を介して接続した構成とすればよい。
【図面の簡単な説明】
【００５６】
【図１】本発明のマイクロコンピュータが備える電力管理モジュールの第１の実施の形態の構成を示すブロック図である。
【図２】本発明のマイクロコンピュータが備える電力管理モジュールの第２の実施の形態の構成を示すブロック図である。
【図３】本発明のマイクロコンピュータが備える電力管理モジュールの第３の実施の形態の構成を示すブロック図である。
【図４】図３に示した動作許可／停止部の動作を示すタイミングチャートである。
【符号の説明】
【００５７】
１    ＣＰＵ
２0〜２N    周辺マクロ
３    電力管理モジュール
４、４0〜４N    動作制御部
５    加算値レジスタ
６    許容値レジスタ
７    比較回
８    バス
９    割込制御回路
４１、４１1、４１2    重み格納部
４２    動作許可／停止部
４３    加算回路
４４    ゲート回路
４５    セレクタ
４２１    第１のレベルセンシティブラッチ
４２２    第２のレベルセンシティブラッチ
４２３    論理和ゲート回路
４２４    論理積ゲート回路
【図１】
2005284871.tif 000003
【図２】
2005284871.tif 000004
【図３】
2005284871.tif 000005
【図４】
2005284871.tif 000006