(57)【要約】【課題】ＤＭＡ転送処理の完了時点等において無駄な電力消費を発生させることなく動作モードを変更可能な情報処理装置を提供する【解決手段】情報処理装置は、データ処理動作を実行すると共に、第１の動作モード信号を生成する中央処理装置と、複数のＤＭＡデータ転送動作を実行すると共に、第２の動作モード信号を生成するＤＭＡユニットと、１つ又は複数の周辺ユニットと、中央処理装置、ＤＭＡユニット、及び１つ又は複数の周辺ユニットを含む複数の制御対象に対して動作モードを設定する管理ユニットと、第１の動作モード信号が示す動作モードと第２の動作モード信号が示す動作モードとのうちの消費電力が大きい方の１つの動作モードを選択し、複数の制御対象のうちの少なくとも１つの制御対象に対しては、選択された動作モードを設定するように管理ユニットに指示する動作モード決定部とを含む。【選択図】図１
2016024781.tif 000002
【特許請求の範囲】
【請求項１】
データ処理動作を実行すると共に、消費電力の異なる複数の動作モードのうちの１つの動作モードを指定する第１の動作モード信号を生成する中央処理装置と、
複数のＤＭＡデータ転送動作を実行すると共に、前記複数の動作モードのうちの１つの動作モードを指定する第２の動作モード信号を生成するＤＭＡユニットと、
１つ又は複数の周辺ユニットと、
前記中央処理装置、前記ＤＭＡユニット、及び前記１つ又は複数の周辺ユニットを含む複数の制御対象に対して動作モードを設定する管理ユニットと、
前記第１の動作モード信号が示す動作モードと前記第２の動作モード信号が示す動作モードとのうちの消費電力が大きい方の１つの動作モードを選択し、前記複数の制御対象のうちの少なくとも１つの制御対象に対しては、前記選択された動作モードを設定するように前記管理ユニットに指示する動作モード決定部と
を含む情報処理装置。
【請求項２】
前記動作モード決定部は、前記複数の制御対象の全てに対して、前記選択された動作モードを設定するように前記管理ユニットに指示することを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記動作モード決定部は、前記少なくとも１つの制御対象に対しては、前記選択された動作モードを設定するように前記管理ユニットに指示し、前記少なくとも１つの制御対象以外の前記制御対象に対しては、前記第１の動作モード信号が示す動作モードと前記第２の動作モード信号が示す動作モードとのうちの消費電力が小さい方の１つの動作モードを設定するように前記管理ユニットに指示することを特徴とする請求項１記載の情報処理装置。
【請求項４】
前記１つ又は複数の周辺ユニットのうちの少なくとも１つの周辺ユニットは、当該少なくとも１つの周辺ユニットに設定可能な最も消費電力が小さい動作モードを示す第３の動作モード信号を出力し、前記動作モード決定部は、前記第３の動作モード信号が存在する場合には、前記第１の動作モード信号、前記第２の動作モード信号、及び前記第３の動作モード信号のそれぞれが示す動作モードのうちで最も消費電力が大きい動作モードを、前記第１の動作モード信号又は前記第２の動作モード信号の変化に応答して選択することを特徴とする請求項１乃至３いずれか一項記載の情報処理装置。
【請求項５】
現在の動作モードから前記第３の動作モード信号が示す動作モードに現在時刻において遷移し、前記少なくとも１つの周辺ユニットが指定する所定の時刻に設定すべき動作モードに前記第３の動作モード信号が示す動作モードから当該所定の時刻において遷移した場合に第１の消費電力が発生すると予測され、現在の動作モードから前記第３の動作モード信号が示す動作モードより小さな消費電力の動作モードに現在時刻において遷移し、前記所定の時刻に設定すべき動作モードに前記第３の動作モード信号が示す動作モードより小さな消費電力の前記動作モードから当該所定の時刻において遷移した場合に第２の消費電力が発生すると予測され、前記第１の消費電力よりも前記第２の消費電力の方が大きいことを特徴とする請求項４記載の情報処理装置。
【請求項６】
前記第３の動作モード信号が示す動作モードは、前記現在の動作モード以下の消費電力であり且つ前記所定の時刻に設定すべき動作モード以下の消費電力であることを特徴とする請求項５記載の情報処理装置。
【請求項７】
データ処理動作を実行すると共に、消費電力の異なる複数の動作モードのうちの１つの動作モードを指定する第１の動作モード信号を生成する中央処理装置と、
複数のＤＭＡデータ転送動作を実行すると共に、前記複数の動作モードのうちの１つの動作モードを指定する第２の動作モード信号を生成するＤＭＡユニットと、
１つ又は複数の周辺ユニットと、
前記中央処理装置、前記ＤＭＡユニット、及び前記１つ又は複数の周辺ユニットを含む複数の制御対象に対して動作モードを設定する管理ユニットと、
前記第１の動作モード信号が示す動作モードと前記第２の動作モード信号が示す動作モードとのうちで直近に指定された動作モードを選択し、前記複数の制御対象のうちの指定された制御対象以外の制御対象に対して前記選択された動作モードを設定し、前記指定された制御対象に対しては動作モードを変更しないように前記管理ユニットに指示する動作モード決定部と
を含む情報処理装置。
【請求項８】
前記１つ又は複数の周辺ユニットのうちの少なくとも１つの周辺ユニットは、当該少なくとも１つの周辺ユニットに設定可能な最も消費電力が小さい動作モードを示す第３の動作モード信号を出力し、前記動作モード決定部は、前記第３の動作モード信号が存在する場合には、前記直近に指定された動作モードが前記第３の動作モード信号の示す動作モード以上の消費電力を有する場合にのみ前記直近に指定された動作モードを選択することを特徴とする請求項７記載の情報処理装置。
【請求項９】
データ処理動作を実行する中央処理装置から、消費電力の異なる複数の動作モードのうちの１つの動作モードを指定する第１の動作モード信号を受け取り、
複数のＤＭＡデータ転送動作を実行するＤＭＡユニットから、前記複数の動作モードのうちの１つの動作モードを指定する第２の動作モード信号を受け取り、
前記第１の動作モード信号が示す動作モードと前記第２の動作モード信号が示す動作モードとのうちの消費電力が大きい方の１つの動作モードを選択し、複数の制御対象のうちの少なくとも１つの制御対象に対しては、前記選択された動作モードを設定する
各段階を含む情報処理装置の制御方法。
【請求項１０】
データ処理動作を実行する中央処理装置から、消費電力の異なる複数の動作モードのうちの１つの動作モードを指定する第１の動作モード信号を受け取り、
複数のＤＭＡデータ転送動作を実行するＤＭＡユニットから、前記複数の動作モードのうちの１つの動作モードを指定する第２の動作モード信号を受け取り、
前記第１の動作モード信号が示す動作モードと前記第２の動作モード信号が示す動作モードとのうちで直近に指定された動作モードを選択し、複数の制御対象のうちの指定された制御対象以外の制御対象に対して前記選択された動作モードを設定し、前記指定された制御対象に対しては動作モードを変更しない
各段階を含む情報処理装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本願開示は、情報処理装置及び情報処理装置の制御方法に関する。
【背景技術】
【０００２】
情報処理装置においては、その設置場所や使用形態に関わらず、消費電力を削減することが一般に求められる。電源供給が困難な設置場所に配置され、環境から取得した電力を蓄電器に蓄えて使用するエナジーハーベスト技術で動作するセンサーノードや、バッテリーで動作する携帯装置等では、消費電力削減が重要な課題となる。
【０００３】
センサノード等の情報処理装置の全体制御部には、一般的にはＭＣＵ（Micro Controller Unit）が用いられる。ＭＣＵにはＣＰＵ（Central Processing Unit）コアが搭載されており、ＣＰＵによる条件分岐処理などを用いた柔軟な制御が可能である。
【０００４】
定常状態において、センサノード等の情報処理装置は定型処理を繰り返し実行することになるため、それほど複雑な制御を実行する必要がない。そのような定常状態の制御には、ＣＰＵコアは役不足である。また一方で、ＣＰＵが占める消費電力の割合は大きいため、不要な場合にはＣＰＵを使用しないことが望ましい。従って、定常状態においてはＣＰＵ以外のブロックが制御を行い、ＣＰＵが動作を停止すれば、センサノードの消費電力を削減することができる。
【０００５】
定型処理の制御は、ＤＭＡ(Direct Memory Access)のシーケンサ機能により実行することができる。例えば、一部のＤＭＡに採用されているシーケンサ機能では、転送元と転送先がそれぞれ異なる複数の転送要求を連続で実行することができるため、制御対象の制御レジスタやデータレジスタに制御内容を順番に設定することができる。例えば、それぞれのチャネルレジスタを有する複数のチャネルを設け、各チャネルのチャネルレジスタに対してそれぞれのＤＭＡ転送を設定してよい。チャネルレジスタは例えば、転送要求レジスタ、転送モードレジスタ、転送幅レジスタ、転送回数レジスタ、転送元アドレスレジスタ、及び転送先アドレスレジスタ等のレジスタを含んでよい。シーケンサは、各チャネルの転送要求レジスタを参照し、転送要求が有りの場合、転送要求有りの複数のチャネルのうちで、実際にＤＭＡ転送を実行するチャネルを所定の優先順位に従って１つ選択し、選択されたチャネルのＤＭＡ転送を実行してよい。
【０００６】
シーケンス処理においては、あるＤＭＡ転送処理が完了した時点等において、不要になった機能の動作を停止させるなど、消費電力の抑制のためにＭＣＵの動作モードを変更したい場合がある。従来、ＭＣＵの動作モードを変更するためには、ＣＰＵが動作モードを変更するモード信号を出力し、モード信号を受けたＣＭＵ（Clock Management Unit）やＰＭＵ（Power Management Unit）が、動作モードに応じたクロックや電源の状態を設定する。このように、ＤＭＡでシーケンス処理を行っている場合、動作モードを変更するためにはＣＰＵが動作する必要があり、大きな電力消費が発生してしまっている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００８−２６２３１５号公報
【特許文献２】国際公開第ＷＯ２０１２／０６６６２１号パンフレット
【発明の概要】
【発明が解決しようとする課題】
【０００８】
以上を鑑みると、情報処理装置において、ＤＭＡ転送処理の完了時点等において無駄な電力消費を発生させることなく動作モードを変更可能とすることが望まれる。
【課題を解決するための手段】
【０００９】
情報処理装置は、データ処理動作を実行すると共に、消費電力の異なる複数の動作モードのうちの１つの動作モードを指定する第１の動作モード信号を生成する中央処理装置と、複数のＤＭＡデータ転送動作を実行すると共に、前記複数の動作モードのうちの１つの動作モードを指定する第２の動作モード信号を生成するＤＭＡユニットと、１つ又は複数の周辺ユニットと、前記中央処理装置、前記ＤＭＡユニット、及び前記１つ又は複数の周辺ユニットを含む複数の制御対象に対して動作モードを設定する管理ユニットと、前記第１の動作モード信号が示す動作モードと前記第２の動作モード信号が示す動作モードとのうちの消費電力が大きい方の１つの動作モードを選択し、前記複数の制御対象のうちの少なくとも１つの制御対象に対しては、前記選択された動作モードを設定するように前記管理ユニットに指示する動作モード決定部とを含む。
【００１０】
情報処理装置は、データ処理動作を実行すると共に、消費電力の異なる複数の動作モードのうちの１つの動作モードを指定する第１の動作モード信号を生成する中央処理装置と、複数のＤＭＡデータ転送動作を実行すると共に、前記複数の動作モードのうちの１つの動作モードを指定する第２の動作モード信号を生成するＤＭＡユニットと、１つ又は複数の周辺ユニットと、前記中央処理装置、前記ＤＭＡユニット、及び前記１つ又は複数の周辺ユニットを含む複数の制御対象に対して動作モードを設定する管理ユニットと、前記第１の動作モード信号が示す動作モードと前記第２の動作モード信号が示す動作モードとのうちで直近に指定された動作モードを選択し、前記複数の制御対象のうちの指定された制御対象以外の制御対象に対して前記選択された動作モードを設定し、前記指定された制御対象に対しては動作モードを変更しないように前記管理ユニットに指示する動作モード決定部とを含む。
【発明の効果】
【００１１】
少なくとも１つの実施例によれば、情報処理装置において、ＤＭＡ転送処理の完了時点等において無駄な電力消費を発生させることなく動作モードを変更することができる。
【図面の簡単な説明】
【００１２】
【図１】情報処理装置の実施例の構成の一例を示す図である。
【図２】ＣＰＵの要求する動作モード、ＤＭＡユニットの要求する動作モード、及び動作モード決定部の出力の関係の一例を示すタイミング図である。
【図３】動作モード遷移の際にＣＰＵを起動する場合とＣＰＵを起動しない場合との消費電力の比較を示す図である。
【図４】ＣＰＵの要求する動作モード、ＤＭＡユニットの要求する動作モード、推奨動作モード、及び動作モード決定部の出力の関係の一例を示すタイミング図である。
【図５】動作モード決定部の構成の一例を示す図である。
【図６】最上モード選択器の動作の一例を示すフローチャートである。
【図７】推奨動作モード信号を出力するタイマの構成の一例を示す図である。
【図８】テーブルの構成の一例を示す図である。
【図９】テーブルの１つの行と１つの列との交点に存在する１つのエントリの内容の一例を示す図である。
【図１０】推奨モード決定器の構成の一例を示す図である。
【図１１】出力決定器の入出力関係の一例を示す図である。
【図１２】動作モード切り替え時の電力消費について説明するための図である。
【図１３】ＣＰＵの要求する動作モード、ＤＭＡユニットの要求する動作モード、推奨動作モード、及び動作モード決定部の出力の関係の一例を示すタイミング図である。
【図１４】ＣＰＵの要求する動作モード、ＤＭＡユニットの要求する動作モード、推奨動作モード、及び動作モード決定部の出力の関係の一例を示すタイミング図である。
【図１５】動作モード決定部の構成の別の一例を示す図である。
【発明を実施するための形態】
【００１３】
以下に、本発明の実施例を添付の図面を用いて詳細に説明する。なお以下の各図において、同一又は対応する構成要素は同一又は対応する番号で参照し、その説明は適宜省略する。
【００１４】
図１は、情報処理装置の実施例の構成の一例を示す図である。図１に示す情報処理装置は、動作モード決定部１０、ＰＭＵ（Power Management Unit）１１、ＣＭＵ（Clock Management Unit）１２、ＣＰＵ（Central Processing Unit）１３、及びＤＭＡ（Direct Memory Access）ユニット１４を含む。情報処理装置は更に、ＲＡＭ（Random Access Memory）１５、周辺ユニット１６−１乃至１６−４、及びバス１７を含む。動作モード決定部１０、ＰＭＵ１１、ＣＭＵ１２、ＣＰＵ１３、ＤＭＡユニット１４、ＲＡＭ１５、及び周辺ユニット１６−１乃至１６−４は、バス１７に接続され、バス１７を介してデータのやり取りを行う。図１において、各ボックスで示される各回路又は機能ブロックと他の回路又は機能ブロックとの境界は、基本的には機能的な境界を示すものであり、物理的な位置の分離、電気的な信号の分離、制御論理的な分離等に対応するとは限らない。各回路又は機能ブロックは、他のブロックと物理的にある程度分離された１つのハードウェアモジュールであってもよいし、或いは他のブロックと物理的に一体となったハードウェアモジュール中の１つの機能を示したものであってもよい。
【００１５】
ＣＰＵ１３は、ＲＡＭ１５に格納されるプログラム及びデータに基づいて各種のデータ処理動作を実行すると共に、消費電力の異なる複数の動作モードのうちの１つの動作モードを指定する第１の動作モード信号Ｍ１を生成する。ＤＭＡユニット１４は、ＣＰＵ１３からの設定に応じ、ＲＡＭ１５及び周辺ユニット１６−１乃至１６−４に対するＤＭＡによるデータ転送動作を実行すると共に、複数の動作モードのうちの１つの動作モードを指定する第２の動作モード信号Ｍ２を生成する。より具体的にはＤＭＡユニット１４のシーケンサ１４Ｂが第２の動作モード信号Ｍ２を生成してよい。
【００１６】
ＤＭＡユニット１４は、ＤＭＡ部１４Ａとシーケンサ１４Ｂを含む。ＤＭＡ部１４Ａは、シーケンサ１４Ｂの制御のもとで動作し、ＤＭＡ転送を実行する。シーケンサ１４Ｂの制御レジスタやデータレジスタに対してＣＰＵ１３から制御内容を順番に設定し、その設定内容に従いシーケンサ１４ＢがＤＭＡ部１４Ａを制御することで、データの転送元及び転送先がそれぞれ異なる複数のＤＭＡ転送要求を連続で実行する。例えば、それぞれのチャネルレジスタを有する複数のチャネルを設け、各チャネルのチャネルレジスタに対してそれぞれのＤＭＡ転送を設定してよい。チャネルレジスタは例えば、転送要求レジスタ、転送モードレジスタ、転送幅レジスタ、転送回数レジスタ、転送元アドレスレジスタ、及び転送先アドレスレジスタ等のレジスタを含んでよい。シーケンサ１４Ｂは、各チャネルの転送要求レジスタを参照し、転送要求が有りの場合、転送要求有りの複数のチャネルのうちで、実際にＤＭＡ転送を実行するチャネルを所定の優先順位に従って１つ選択し、選択されたチャネルのＤＭＡ転送を実行してよい。
【００１７】
図１では４個の周辺ユニット１６−１乃至１６−４が示されているが、周辺ユニット１６−１乃至１６−４の数は４個に限られるものではなく、任意の数であってよい。例えば、個数は一つであってもよい。周辺ユニット１６−１乃至１６−４は、周辺機器の制御や周辺機器との通信のために設けられていてよいし、或いは、独立で何らかの処理を行うユニット（例えばタイマ）等であってもよい。
【００１８】
ＰＭＵ１１は、情報処理装置の電源電圧を制御するユニットである。ＰＭＵ１１が生成した電源電圧制御信号ＰＣＴＬは、ＣＰＵ１３、ＤＭＡユニット１４、ＲＡＭ１５、及び周辺ユニット１６−１乃至１６−４に供給される。電源電圧制御信号ＰＣＴＬを供給された各制御対象のデバイスは、電源電圧制御信号ＰＣＴＬに応じた電源電圧で駆動する。電源電圧制御信号ＰＣＴＬによる指定により、各制御対象の駆動電圧を変化させたり、各制御対象に供給する電源を遮断したりする。ＣＭＵ１２は、情報処理装置の動作周波数を制御するユニットである。ＣＭＵ１２が生成したクロック制御信号ＣＣＴＬは、ＣＰＵ１３、ＤＭＡユニット１４、ＲＡＭ１５、周辺ユニット１６−１乃至１６−４、及びバス１７に供給される。クロック制御信号ＣＣＴＬを供給された各制御対象のデバイスは、クロック制御信号ＣＣＴＬに応じた周波数のクロック信号に同期して動作する。クロック制御信号ＣＣＴＬによる指定により、各制御対象の動作周波数を変化させたり、各制御対象に供給するクロック信号を停止したりする。なおＰＭＵ１１及びＣＭＵ１２の両方が設けられていることは必ずしも必要ではなく、どちらか一方のみが設けられていてもよい。
【００１９】
なおＰＭＵ１１が出力する信号は、電源電圧を制御するための信号ＰＣＴＬではなく、電源電圧そのものであってもよい。即ち、ＰＭＵ１１が出力する電源電圧が各制御対象に印可されるのであってもよい。またＣＭＵ１２が出力する信号は、クロックを制御するための信号ＣＣＴＬではなく、クロック信号そのものであってもよい。即ち、ＣＭＵ１２が出力するクロック信号が各制御対象に印可されるのであってもよい。
【００２０】
上記のようにして、ＰＭＵ１１及び／又はＣＭＵ１２が管理ユニットとして機能し、ＣＰＵ１３、ＤＭＡユニット１４、及び周辺ユニット１６−１乃至１６−４を含む複数の制御対象に対して動作モードを設定する。例えば動作モード０では、電源電圧が一番高く、クロック周波数が一番高い動作モードであってよく、各制御対象による消費電力は一番大きい。また例えば動作モード１では、電源電圧が２番目に高く、クロック周波数が２番目に高い動作モードであってよく、各制御対象による消費電力は２番目に大きい。また例えば動作モード２では、電源電圧が３番目に高く、クロック周波数が３番目に高い動作モードであってよく、各制御対象による消費電力は３番目に大きい。また例えば動作モード３では、電源電圧が４番目に高く、クロック周波数が４番目に高い動作モードであってよく、各制御対象による消費電力は４番目に大きい。以下の説明では、説明の便宜上、動作モード１乃至動作モード４の４個の動作モードが存在するものとするが、動作モードの数は４個に限られるものではなく、複数個であれば任意の数であってよい。またより一般的には、モードによって電圧や周波数を変えるのではなく、動作させる周辺ユニットの数を変えるような制御動作を実行してよい。即ち、動作モード０においては全ての周辺ユニットが動作し、動作モードを下げると動作するユニットの数が減っていくような制御動作を実行してよい。
【００２１】
動作モード決定部１０は、ＣＰＵ１３から第１の動作モード信号Ｍ１を受け取り、ＤＭＡ部１４Ａから第２の動作モード信号Ｍ２を受け取る。動作モード決定部１０は、一般的な動作として、第１の動作モード信号Ｍ１が示す動作モードと第２の動作モード信号Ｍ２が示す動作モードとのうちの消費電力が大きい方の１つの動作モード（例えば、より多くのユニットが動作できる動作モード）を選択してよい。なお両方の動作モードが同一であれば、任意の一方の動作モードを選択してよい。動作モード決定部１０は、選択した動作モードを指定するモード信号ＭＤをＰＭＵ１１及びＣＭＵ１２に供給することにより、ＰＭＵ１１及びＣＭＵ１２に上記の選択された動作モードを設定するように指示する。
【００２２】
ＰＭＵ１１及びＣＭＵ１２は、全ての制御対象に対して同一の動作モードを設定するように設計されていてもよいし、異なる制御対象に対してそれぞれ別個に動作モードを設定可能に設計されていてもよい。一般に、全ての制御対象に対して同一の動作モードを設定する場合の方が、異なる制御対象に対してそれぞれ別個に動作モードを設定する場合よりも、動作モード決定部１０並びにＰＭＵ１１及びＣＭＵ１２の構成及び制御動作は単純になる。
【００２３】
上記のようにして、ＤＭＡユニット１４からも所望の動作モードを要求可能とする。ＤＭＡユニット１４のシーケンサ１４Ｂのシーケンス処理においては、あるＤＭＡ転送処理が完了した時点で、不要になった機能の動作を停止させるなど、消費電力の抑制のために情報処理装置の動作モードを変更したい場合がある。図１に示す情報処理装置では、ＤＭＡユニット１４から出力する第２の動作モード信号Ｍ２により、ＤＭＡユニット１４が所望する動作モードを要求可能とする。これにより、ＤＭＡユニット１４の処理の結果として情報処理装置の動作モードを変更したい場合等に、ＣＰＵ１３が起動して動作モード変更処理を実行することなく、ＤＭＡユニット１４からの要求により適宜動作モードを変更することが可能となる。従って、ＣＰＵ１３を起動して無駄な電力を消費することなく、適切なモード変更を実現することができる。
【００２４】
なお、ＣＰＵ１３及びＤＭＡユニット１４からそれぞれの所望の動作モードを要求する２つの動作モード信号Ｍ１及びＭ２が出力されるので、２つの異なる動作モードが要求された場合に何れの動作モードに設定するかを決定する必要がある。動作モード決定部１０は、上記説明したように、第１の動作モード信号Ｍ１が示す動作モードと第２の動作モード信号Ｍ２が示す動作モードとのうちの消費電力が大きい方の１つの動作モードを選択し、情報処理装置の動作とする。
【００２５】
全ての制御対象に対して同一の動作モードを設定する場合であれば、動作モード決定部１０は、複数の制御対象の全てに対して、上記の選択された動作モードを設定するようにＰＭＵ１１及びＣＭＵ１２に指示する。また異なる制御対象に対してそれぞれ別個に動作モードを設定可能な場合であれば、動作モード決定部１０は、少なくとも１つの制御対象に対しては、上記の選択された動作モードを設定するようにＰＭＵ１１及びＣＭＵ１２に指示する。動作モード決定部１０は更に、上記の少なくとも１つの制御対象以外の制御対象に対しては、第１の動作モード信号Ｍ１が示す動作モードと第２の動作モード信号Ｍ２が示す動作モードとのうちの消費電力が小さい方の１つの動作モードを設定してよい。ここで上記の少なくとも１つの制御対象は、現在設定されている動作モード以下に動作モードが変化しては問題が生じるような制御対象である。例えばＣＰＵ１３にとって周辺ユニット（例えばタイマ）が動作モード２未満（即ち例えば動作モード３）に変更されては問題が生じるときには、ＤＭＡユニット１４が例えば動作モード３を要求しても、少なくともタイマは動作モード２に維持されてよい。このとき、当該周辺ユニット以外の制御対象については動作モード３に遷移しても問題がないのであれば、それらの制御対象については動作モード３を設定してよい。
【００２６】
図２は、ＣＰＵの要求する動作モード、ＤＭＡユニットの要求する動作モード、及び動作モード決定部の出力の関係の一例を示すタイミング図である。図２に示す例では、動作モード決定部１０が出力するモード信号が指定する１つの動作モードが、全ての制御対象に設定されるものとする。
【００２７】
時刻ｔ１以前においては、ＣＰＵ１３はタイマが動作可能な動作モード２の状態を要求しており、ＤＭＡユニット１４はデータ転送可能な動作モード１の状態を要求している。このとき、動作モード決定部１０は、動作モード１と動作モード２とのうちで上位の動作モード（即ち消費電力がより大きな方の動作モード）である動作モード１を選択して、動作モード１を指示するモード信号を出力する。これにより、ＣＰＵ１３及びＤＭＡユニット１４を含む全ての制御対象は動作モード１の状態となる。
【００２８】
時刻ｔ１において、ＤＭＡユニット１４はＤＭＡ転送を終了し、アドレス一致待ちの状態即ち動作モード３に遷移可能であるので、動作モード３を要求する。このときＣＰＵ１３はタイマが動作可能な動作モード２の状態を要求している。なお動作モード３ではタイマは動作できないとする。このとき動作モード決定部１０は、動作モード２と動作モード３とのうちで上位の動作モード（即ち消費電力がより大きな方の動作モード）である動作モード２を選択して、動作モード２を指示するモード信号を出力する。従って、タイマはＣＰＵ１３の要求通りそのまま動作することができる。
【００２９】
時刻ｔ２において、ＣＰＵ１３はタイマによるトリガに応答して動作モード０の状態で動作する必要があるため、動作モード０を要求する。このときＤＭＡユニット１４は、アドレス一致待ちの状態即ち動作モード３に遷移可能であるので、動作モード３を要求している。動作モード決定部１０は、動作モード０と動作モード３とのうちで上位の動作モード（即ち消費電力がより大きな方の動作モード）である動作モード０を選択して、動作モード０を指示するモード信号を出力する。従って、ＣＰＵ１３は動作モード０での動作が可能となる。
【００３０】
時刻ｔ３において、ＣＰＵ１３は処理を終了し、タイマを起動してトリガを待つ状態である動作モード２に遷移可能であるので、動作モード２を要求する。このときＤＭＡユニット１４は、アドレス一致待ちの状態即ち動作モード３に遷移可能であるので、動作モード３を要求している。動作モード決定部１０は、動作モード２と動作モード３とのうちで上位の動作モード（即ち消費電力がより大きな方の動作モード）である動作モード２を選択して、動作モード２を指示するモード信号を出力する。従って、ＣＰＵ１３及びＤＭＡユニット１４を含む全ての制御対象は動作モード２の状態となる。
【００３１】
図３は、動作モード遷移の際にＣＰＵを起動する場合とＣＰＵを起動しない場合との消費電力の比較を示す図である。図３において、横軸は時間であり縦軸は消費電力であり、動作モード１から動作モード２に状態が遷移する場合の消費電力の推移が示されている。消費電力特性２１は、動作モードを要求する主体はＣＰＵのみである従来の構成における消費電力の推移を示し、そのような構成においては、動作モードを変更するためにはＣＰＵが動作する必要がある。消費電力特性２１に示されるように、動作モード１から動作モード０に変更してＣＰＵが動作し、ＣＰＵの制御に基づいて動作モード２を指定することにより、動作モード２に状態変化する。
【００３２】
消費電力特性２０は、動作モードを要求する主体がＣＰＵ１３とＤＭＡユニット１４とである図１の構成における消費電力の推移を示し、そのような構成においては、動作モードを変更するために必ずしもＣＰＵが動作する必要はない。ＤＭＡユニット１４からの要求により、消費電力特性２０に示されるように、動作モード１から動作モード２に直接に状態変化することが可能である。図１の構成の場合において状態遷移に必要な消費電力は、消費電力特性２０の下の領域Ａ１の面積に相当する。従来の構成の場合において状態遷移に必要な消費電力は、消費電力特性２１と消費電力特性２０との間の領域Ａ２の面積と領域Ａ１の面積との和に等しい。
【００３３】
図１を再び参照し、１つ又は複数の周辺ユニット１６−１乃至１６−４のうちの少なくとも１つの周辺ユニットは、当該少なくとも１つの周辺ユニットに設定可能な最も消費電力が小さい動作モードを示す推奨動作モード信号を出力する。図１の例では、周辺ユニット１６−１及び１６−２が、それぞれ推奨動作モード信号ＲＭ１及びＲＭ２を出力している。動作モード決定部１０は、推奨動作モード信号が供給されている場合には、第１の動作モード信号Ｍ１、第２の動作モード信号Ｍ２、及び推奨動作モード信号のそれぞれが示す動作モードのうちで最も消費電力が大きい動作モードを選択してよい。より詳しくは、動作モード決定部１０は、第１の動作モード信号Ｍ１又は第２の動作モード信号Ｍ２の変化に応答して、上記の最も消費電力が大きい動作モードを選択してよい。
【００３４】
上記の推奨動作モード信号の技術的意義は以下のとおりである。ある周辺ユニットに起因して既知の所定時間後に所定の動作モードへの遷移を要求することが分かっているとする。この場合、現在の時刻における動作モードから上記所定の動作モードに遷移する前に、何らかの動作モードに遷移することが消費電力削減の観点から好ましいか否かが問題となる。例えば現在の動作モードが動作モード１であり、上記所定の動作モードが動作モード０であるとする。また現在の時刻において例えばＤＭＡユニット１４の要求する動作モードが動作モード１から動作モード３に変化し、一方ＣＰＵ１３は動作モード２を継続的に要求しているとする。
【００３５】
このとき、単純に考えれば、現在の動作モード１から動作モード２に遷移させ、所定の時間後に動作モード０に遷移させることが好ましい。何故なら、現時刻から所定の時間後までの間においては、動作モード１を維持しておくよりも動作モード２にした方が消費電力が小さいからである。しかしながら動作モード間の遷移は一瞬では完了しないので、動作モードを遷移している最中に電力を消費することになる。動作モード２に滞在する時間が短いと、動作モード２に落とすことで削減できた消費電力を、動作モード切り替えに要する消費電力が上回ってしまい、動作モード２に遷移しなかった場合よりも消費電力がむしろ増大してしまう。従って、現在時刻と所定の時間後との間の時間の長さに応じて、何れの遷移パターンの方が消費電力が小さいかが変わってくることになる。
【００３６】
図４は、ＣＰＵの要求する動作モード、ＤＭＡユニットの要求する動作モード、推奨動作モード、及び動作モード決定部の出力の関係の一例を示すタイミング図である。図４に示す例では、動作モード決定部１０が出力するモード信号が指定する１つの動作モードが、全ての制御対象に設定されるものとする。
【００３７】
周辺ユニットであるタイマの出力する推奨モードは、時刻ｔ１から時刻ｔ２の間は動作モード３であり、時刻ｔ２から時刻ｔ３の間は動作モード２であり、時刻ｔ３から時刻ｔ５の間は動作モード１である。周辺ユニットであるタイマは、時刻ｔ５においてＣＰＵ１３に割り込みをかけるよう設定されており、時刻ｔ５以降においてＣＰＵ１３が動作モード０で動作することを分かっている。
【００３８】
推奨モードが時刻ｔ１から時刻ｔ２の間において動作モード３であることは、時刻ｔ１から時刻ｔ２の間に現在の動作モード１から推奨動作モード３に遷移させ、所定の時間後に動作モード０に遷移させることが、消費電力の観点から好ましいことを示している。即ち、現在の時刻から割り込み時刻ｔ５までは長い時間があるので、一番低い動作モード３まで落とすことが消費電力が最も小さくなる。
【００３９】
推奨モードが時刻ｔ２から時刻ｔ３の間において動作モード２であることは、時刻ｔ２から時刻ｔ３の間に現在の動作モード１から推奨動作モード２に遷移させ、所定の時間後に動作モード０に遷移させることが、消費電力の観点から好ましいことを示している。即ち、現在の時刻から割り込み時刻ｔ５までの時間の長さを考慮した場合、動作モード２まで落とすことが消費電力が最も小さくなる。但し、動作モード３まで落としてしまうと、動作モード遷移での消費電力が大きいために、動作モード２まで落とす場合と比較してかえって消費電力が増大してしまう。
【００４０】
推奨モードが時刻ｔ３から時刻ｔ５の間において動作モード１であることは、時刻ｔ３から時刻ｔ５の間に現在の動作モード１を維持し、所定の時間後に動作モード０に遷移させることが、消費電力の観点から好ましいことを示している。即ち、現在の時刻から割り込み時刻ｔ５までは時間が短いので、動作モード１に維持すると消費電力が最も小さくなる。動作モード１未満の動作モードに落としてしまうと、動作モード遷移時に発生する電力消費により、動作モード１を維持する場合よりもかえって消費電力が増大してしまう。
【００４１】
時刻ｔ４以前においては、ＣＰＵ１３はタイマが動作可能な動作モード２の状態を要求しており、ＤＭＡユニット１４はデータ転送可能な動作モード１の状態を要求している。このとき、動作モード決定部１０は、動作モード１と動作モード２とのうちで上位の動作モード（即ち消費電力がより大きな方の動作モード）である動作モード１を選択して、動作モード１を指示するモード信号を出力する。これにより、ＣＰＵ１３及びＤＭＡユニット１４を含む全ての制御対象は動作モード１の状態となる。
【００４２】
時刻ｔ４において、ＤＭＡユニット１４はＤＭＡ転送を終了し、アドレス一致待ちの状態即ち動作モード３に遷移可能であるので、動作モード３を要求する。このときＣＰＵ１３はタイマが動作可能な動作モード２の状態を要求している。なお動作モード３ではタイマは動作できないとする。このとき動作モード決定部１０は、動作モード２、動作モード３、及び推奨動作モード１のうちで最上位の動作モード（即ち消費電力が最も大きな動作モード）である動作モード１を選択して、動作モード１を指示するモード信号を出力する。従って、制御対象全体の動作モードは、動作モード２に落ちることなく動作モード１に維持される。
【００４３】
時刻ｔ５において、ＣＰＵ１３はタイマによるトリガに応答して動作モード０の状態で動作する必要があるため、動作モード０を要求する。このときＤＭＡユニット１４は、アドレス一致待ちの状態即ち動作モード３に遷移可能であるので、動作モード３を要求している。動作モード決定部１０は、動作モード０、動作モード３、及び推奨動作モードのうちで最上位の動作モード（即ち消費電力が最も大きな動作モード）である動作モード０を選択して、動作モード０を指示するモード信号を出力する。従って、ＣＰＵ１３は動作モード０での動作が可能となる。
【００４４】
時刻ｔ６において、ＣＰＵ１３は処理を終了し、タイマを起動してトリガを待つ状態である動作モード２に遷移可能であるので、動作モード２を要求する。このときＤＭＡユニット１４は、アドレス一致待ちの状態即ち動作モード３に遷移可能であるので、動作モード３を要求している。動作モード決定部１０は、動作モード２、動作モード３、及び推奨動作モード（指定なし又は最低モード）とのうちで最上位の動作モード（即ち消費電力が最も大きな動作モード）である動作モード２を選択して、動作モード２を指示するモード信号を出力する。従って、ＣＰＵ１３及びＤＭＡユニット１４を含む全ての制御対象は動作モード２の状態となる。
【００４５】
上述のように、現在の動作モードから推奨動作モード信号が示す動作モードに現在時刻において遷移し、少なくとも１つの周辺ユニットが指定する所定の時刻に設定すべき動作モードに推奨動作モード信号が示す動作モードから所定の時刻において遷移したとする。この場合に発生する消費電力を第１の消費電力とする。また現在の動作モードから推奨動作モード信号が示す動作モードより小さな消費電力の動作モードに現在時刻において遷移し、所定の時刻に設定すべき動作モードに当該小さな消費電力の動作モードから所定の時刻において遷移したとする。この場合に発生する消費電力を第２の消費電力とする。このとき、推奨動作モードは、第１の消費電力よりも第２の消費電力の方が大きくなるような動作モードである。より好ましくは、推奨動作モードは、第１の消費電力よりも第２の消費電力の方が大きくなるような動作モードのうちで、最も消費電力の小さな動作モードであってよい。なお推奨動作モードは、現在の動作モード以下の消費電力であり且つ所定の時刻に設定すべき動作モード以下の消費電力の動作モードであってよい。
【００４６】
図５は、動作モード決定部１０の第１の実施例の構成の一例を示す図である。図５に示す動作モード決定部１０は、ＣＰＵ要求モードレジスタ３０、ＤＭＡ要求モードレジスタ３１、推奨モードレジスタ３２−１及び３２−２、最上モード選択器３３、及びモード信号レジスタ３４を含む。図５では、２個の推奨モードレジスタ３２−１及び３２−２のみが明示的に示されるが、推奨モードレジスタの数は２個に限られることなく、任意の数であってよい。
【００４７】
ＣＰＵ要求モードレジスタ３０は、ＣＰＵ１３からの第１の動作モード信号Ｍ１を受け取り、ＣＰＵ１３が要求する動作モードを示すデータを格納する。ＤＭＡ要求モードレジスタ３１は、ＤＭＡユニット１４からの第２の動作モード信号Ｍ２を受け取り、ＤＭＡユニット１４が要求する動作モードを示すデータを格納する。推奨モードレジスタ３２−１は、周辺ユニット１６−１からの推奨動作モード信号ＲＭ１を受け取り、周辺ユニット１６−１が推奨する動作モードを示すデータを格納する。推奨モードレジスタ３２−２は、周辺ユニット１６−２からの推奨動作モード信号ＲＭ２を受け取り、周辺ユニット１６−２が推奨する動作モードを示すデータを格納する。
【００４８】
最上モード選択器３３は、ＣＰＵ要求モードレジスタ３０、ＤＭＡ要求モードレジスタ３１、及び推奨モードレジスタ３２−１及び３２−２のそれぞれの格納データが示す動作モードのうちで、最上位の動作モードを選択する。より詳しくは、最上モード選択器３３は、ＣＰＵ要求モードレジスタ３０又はＤＭＡ要求モードレジスタ３１の格納データが変化すると、その変化に応答して、上記の最上位の動作モードを選択して出力する。推奨モードレジスタに有効データが格納されてない場合、即ち推奨モードが指定されてない場合、最上モード選択器３３は、ＣＰＵ要求モードレジスタ３０及びＤＭＡ要求モードレジスタ３１の格納データが示す動作モードのうち上位の方の動作モードを選択する。
【００４９】
最上モード選択器３３が選択した動作モードを示すデータは、モード信号レジスタ３４に供給され格納される。モード信号レジスタ３４に格納される選択動作モードを示すデータは、モード信号として、ＰＭＵ１１、ＣＭＵ１２、周辺ユニット１６−１、及び１６−２に供給される。
【００５０】
図６は、最上モード選択器３３の動作の一例を示すフローチャートである。なお図６において、フローチャートに記載された各ステップの実行順序は一例にすぎず、本願の意図する技術範囲が、記載された実行順番に限定されるものではない。例えば、Ａステップの次にＢステップが実行されるように本願に説明されていたとしても、Ａステップの次にＢステップを実行することが可能なだけでなく、Ｂステップの次にＡステップを実行することが、物理的且つ論理的に可能である場合がある。この場合、どちらの順番でステップを実行しても、当該フローチャートの処理に影響する全ての結果が同一であるならば、本願に開示の技術の目的のためには、Ｂステップの次にＡステップが実行されてもよいことは自明である。Ａステップの次にＢステップが実行されるように本願に説明されていたとしても、上記のような自明な場合を本願の意図する技術範囲から除外することを意図するものではなく、そのような自明な場合は、当然に本願の意図する技術範囲内に属する。
【００５１】
ステップＳ１で、最上モード選択器３３は、ＣＰＵ要求モードの遷移又はＤＭＡ要求モードの遷移の何れかが発生したか否かを判断する。何れも発生していない場合には、ステップＳ１の処理を繰り返す。
【００５２】
ステップＳ２で、最上モード選択器３３は、ＣＰＵ要求モード、ＤＭＡ要求モード、及び推奨モードのうち、一番高いモード（最も消費電力が大きい動作モード）を選択する。ステップＳ３で、最上モード選択器３３は、選択した動作モードを示すデータ信号を出力する。
【００５３】
図７は、推奨動作モード信号を出力するタイマの構成の一例を示す図である。なお図７に示されるのは、タイマの構成のうちで推奨動作モード信号を出力する部分であり、通常のタイマ動作、即ち設定された時間後に割り込み信号出力をアサートする動作を実行する部分の構成については示されていない。
【００５４】
周辺ユニット１６−１の一例であるタイマ１６−１は、テーブル４０、レジスタ４１、推奨モード決定器４３、及びカウンタレジスタ４２を含む。テーブル４０は、ＰＭＵ１１及び／又はＣＭＵ１２から現在の動作モードを示すデータ、当該タイマ１６−１による割り込み発生時に実行する割り込みハンドラーを示すデータである割り込みベクトルデータ、及びクロック周波数を示すデータを受け取る。ここで割り込みベクトルデータは、タイマ１６−１の割り込みにより実行されるＣＰＵ１３又はＤＭＡユニット１４の動作を示すデータであり、何れの動作モードに遷移する予定かを示すデータである。これらのデータに基づいて、テーブル４０から複数の推奨動作モード間の切り替わりタイミングを示すデータが読み出され、レジスタ４１に格納される。
【００５５】
カウンタレジスタ４２には、クロック信号が供給され、タイマの割り込み時刻にカウント値がゼロになるようにカウントダウンするカウント値を出力する。推奨モード決定器４３は、カウンタレジスタ４２から供給されるカウント値と、レジスタ４１から供給されるタイミングデータとを比較し、その比較結果に基づいて推奨動作モードを示す信号を出力する。
【００５６】
図８は、テーブル４０の構成の一例を示す図である。図８に示すテーブル４０には、４個の現在動作モードに対応する４行と４個の割り込み後動作モードに対応する４列が設けられており、合計で４×４＝１６個のエントリが記録されている。ＰＭＵ１１及び／又はＣＭＵ１２から現在の動作モードを示すデータを受け取ると、当該データに対応する１つの行が選択される。また割り込みベクトルのデータが示す割り込み後動作モードが指定されると、当該割り込み後動作モードに対応する１つの列が選択される。
【００５７】
図９は、テーブル４０の１つの行と１つの列との交点に存在する１つのエントリの内容の一例を示す図である。テーブル４０の１つのエントリには、複数の異なる周波数ｆ１、ｆ２、ｆ３に対する複数のタイミングデータがカウンタ値換算の値として格納されている。テーブル４０では、選択された行と選択された列との交点において、クロック周波数データが示す周波数に対応する複数のタイミングデータが読み出される。例えば、現在動作モードが動作モード２、割り込み後動作モードが動作モード０、周波数ｆ２である場合、図８の「２」の行と「０」の列との交点において、周波数ｆ２に対応するタイミングデータＴ１，２、Ｔ２，２、及びＴ３，２が読み出される。これらのタイミングデータＴ１，２、Ｔ２，２、及びＴ３，２は、例えば図４の時刻ｔ３、ｔ２、及びｔ１にそれぞれ相当するカウント値換算の値であり、複数の推奨動作モードの切り替わりのタイミングに相当する。タイミングデータＴ１，２、Ｔ２，２、及びＴ３，２は、レジスタ４１にそれぞれカウント値換算の値Ｔ１、Ｔ２、及びＴ３として格納される。
【００５８】
図１０は、推奨モード決定器４３の構成の一例を示す図である。推奨モード決定器４３は、出力決定器５０及び大小比較器５１乃至５３を含む。大小比較器５１、５２、及び５３は、割り込み時刻に向かいカウントダウンするカウント値とタイミングデータＴ１、Ｔ２、及びＴ３とをそれぞれ比較する。その比較結果に基づいて、出力決定器５０は推奨動作モードを示す信号を出力する。
【００５９】
図１１は、出力決定器５０の入出力関係の一例を示す図である。図１１において、「Ｙ」は最上行の対応する列に記載される条件が満たされることを意味し、「Ｎ」は当該条件が満たされないことを意味し、「Ｘ」はドントケアである。図１０に示される大小比較器５１はＴ１とカウンタ値とを比較し、その比較結果が図１１のテーブルの左から１番目の列に相当する。同様に大小比較器５２はＴ２とカウンタ値とを比較し、その比較結果が図１１のテーブルの左から２番目の列に相当する。大小比較器５３はＴ３とカウンタ値とを比較し、その比較結果が図１１のテーブルの左から３番目の列に相当する。
【００６０】
図１１に示すテーブルでは、ある行の全ての条件が満たされるときその行に記載される動作モードが選択される。例えばカウント値がＴ１より小さい場合には、「カウント値＜Ｔ１」の条件は真（Ｙ）であり、テーブルの第１行に記載される動作モード１が選択される。また例えばカウント値がＴ１以上でＴ２より小さい場合には、「カウント値＜Ｔ１」の条件は偽（Ｎ）で且つ「カウント値＜Ｔ２」の条件は真（Ｙ）であり、テーブルの第２行に記載される動作モード２が選択される。
【００６１】
なお図１１に示されるのは、一例に過ぎず、現在の動作モード及び割り込み後の動作モードのうち消費電力が低い方の動作モードが動作モード１である場合の入出力表である。例えば現在の動作モード及び割り込み後の動作モードのうち消費電力が低い方の動作モードが動作モード２である場合、図１１のテーブル中で第１行から第３行には「動作モード２」、「動作モード３」、及び「指定なし」が記載されることになる。
【００６２】
図１２は、動作モード切り替え時の電力消費について説明するための図である。図１２を用いて、現在の動作モード１から割り込み後の動作モード０に遷移する場合に、現在の動作モード１を維持すべきか或いは動作モード２に一時的に遷移すべきかの境目となる時刻の計算方法について説明する。図１２において、横軸は時間であり縦軸は消費電力である。
【００６３】
動作モードｎのときの消費電力をＰｎ、動作モードｍから動作モードｎに遷移するのに要する電力及び時間をそれぞれＥｍｎ及びｔｒｍｎとする。図１２の例においては、動作モード１の処理が時刻ｔ１において終了した後、時刻ｔ２において割り込みが発生して動作モード０に遷移する。
【００６４】
まず、時刻ｔ１と時刻ｔ２との間の期間において動作モード２に一時的に遷移した場合の消費電力について計算する。この場合、消費電力の推移は消費電力特性６１で示されるものとなる。時刻ｔ１から消費電力が減少していき、時刻ｔ２の直前では動作モード２の場合の消費電力となり、時刻ｔ２での割り込みにより時刻ｔ３までの時間をかけて動作モード０に到達するまで消費電力が増加していく。この場合の消費電力の合計は、消費電力特性６１の曲線の下に囲まれる領域Ｂ２の面積に相当する量となる。動作モード１の処理終了時刻ｔ１から割り込み時刻ｔ２までの時間間隔をｔとすると、消費電力特性６１の場合の総消費電力は、
【００６５】
【数１】
2016024781.tif 000003
となる。
【００６６】
次に、時刻ｔ１と時刻ｔ２との間の期間において動作モード１を維持した場合の消費電力について計算する。この場合、消費電力の推移は消費電力特性６０で示されるものとなる。時刻ｔ２での割り込みにより動作モード０に到達するまで消費電力が増加していく。この場合の消費電力の合計は、消費電力特性６０の曲線の下に囲まれる領域Ｂ１の面積に相当する量となる。この消費電力特性６０の場合の総消費電力は、
【００６７】
【数２】
2016024781.tif 000004
となる。
【００６８】
上記の式（１）で表される消費電力と式（２）で表される消費電力とが等しいとした式を、時間ｔについて解くと、
【００６９】
【数３】
2016024781.tif 000005
となる。但し、ｔ＞０である。式（３）で表される時間ｔよりも時刻ｔ１と時刻ｔ２との間の間隔が短い場合、消費電力特性６１よりも消費電力特性６０の方が総消費電力は小さくなる。上記のｔは時間であるので、これに動作周波数を掛ければカウンタ値換算の値として、図９乃至図１１に示されるタイミングデータＴ１が得られる。
【００７０】
一般的に、現在動作モードｍ、遷移先の動作モードｎとしたとき、動作モードｓ以下の動作モードへの遷移を制限する時間ｔｓ−１は、以下の式のようにして求めてよい。
【００７１】
【数４】
2016024781.tif 000006
このようにして予め求めておいたタイミングデータをカウンタ値換算で表した値が、図８及び図９に示されるテーブル４０に格納されてよい。なお式（４）は、動作モードｍを維持するか或いは動作モードｍから動作モードｓに一時的に遷移するかの選択肢について計算する式である。動作モードｍから動作モードｓに一時的に遷移するか或いは動作モードｍから動作モードｕに一時的に遷移するかの選択肢について計算する式については、それぞれの遷移についての上記式（１）を互いに等しいとおき、その等式を時間ｔについて解けばよい。
【００７２】
図１３は、ＣＰＵの要求する動作モード、ＤＭＡユニットの要求する動作モード、推奨動作モード、及び動作モード決定部の出力の関係の一例を示すタイミング図である。図１３は基本的に図４と同等の図であるが、図１３においては、推奨動作モードの切り替えタイミングの計算について説明する。なお周辺ユニットであるタイマは、時刻ｔ５においてＣＰＵ１３に割り込みをかけるよう設定されており、時刻ｔ５以降においてＣＰＵ１３が動作モード０で動作することを分かっている。
【００７３】
時刻ｔ３から時刻ｔ５までの期間は、タイマの出力する推奨モードが動作モード１となっており、消費電力が比較的小さな動作モード２に遷移するよりは消費電力が比較的大きな動作モード１に維持した方が総消費電力が比較的小さくてすむ。ここで時刻ｔ３から時刻ｔ５までの期間の長さは、上記の式（４）において、ｍが１、ｎが０、ｓが２としたときに求められる時間ｔｓ−１に等しくなる。更に前述のような計算を適宜行うことにより、時刻ｔ２から時刻ｔ５までの期間の長さを求めることができる。
【００７４】
図１４は、ＣＰＵの要求する動作モード、ＤＭＡユニットの要求する動作モード、推奨動作モード、及び動作モード決定部の出力の関係の別の一例を示すタイミング図である。
【００７５】
周辺ユニットであるタイマの出力する推奨モードは、時刻ｔ１から時刻ｔ２の間は動作モード３であり、時刻ｔ２から時刻ｔ３の間は動作モード２であり、時刻ｔ３から時刻ｔ５の間は動作モード１である。周辺ユニットであるタイマは、時刻ｔ５においてＤＭＡユニット１４に割り込みをかけるよう設定されており、時刻ｔ５以降においてＤＭＡユニット１４が動作モード１で動作することを分かっている。
【００７６】
推奨モードが時刻ｔ３から時刻ｔ５の間において動作モード１であることは、時刻ｔ３から時刻ｔ５の間に現在の動作モード０から動作モード１に落とすことが、消費電力の観点から好ましいことを示している。即ち、現在の時刻から割り込み時刻ｔ５までは時間が短いので、動作モード１に落として割り込み後に動作モード１をそのまま維持すると、消費電力が最も小さくなる。動作モード１未満の動作モードに落としてしまうと、動作モード遷移時に発生する電力消費により、動作モード１に落とす場合よりもかえって消費電力が増大してしまう。なお現在の動作モード０と割り込み後の動作モード１とのうち消費電力が小さい方の動作モードは動作モード１であるので、現在の動作モード０を割り込み時刻ｔ５まで維持するよりは、なるべく早く動作モード１に落とした方が、消費電力を小さくすることができる。
【００７７】
時刻ｔ４以前においては、ＣＰＵ１３は動作モード０の処理を実行しており、ＤＭＡユニット１４はタイマが動作可能な動作モード２の状態を要求している。このとき、動作モード決定部１０は、動作モード０と動作モード２とのうちで上位の動作モード（即ち消費電力がより大きな方の動作モード）である動作モード０を選択して、動作モード０を指示するモード信号を出力する。これにより、ＣＰＵ１３及びＤＭＡユニット１４を含む全ての制御対象は動作モード０の状態となる。
【００７８】
時刻ｔ４において、ＣＰＵ１３は処理を終了し、タイマが動作可能な動作モード２に遷移可能であるので、動作モード２を要求する。このときＤＭＡユニット１４は依然として動作モード２の状態を要求している。このとき動作モード決定部１０は、ＣＰＵ要求の動作モード２、ＤＭＡ要求の動作モード２、及び推奨動作モード１のうちで最上位の動作モード（即ち消費電力が最も大きな動作モード）である動作モード１を選択して、動作モード１を指示するモード信号を出力する。従って、制御対象全体の動作モードは、動作モード０から動作モード１に遷移される。
【００７９】
時刻ｔ５において、ＤＭＡユニット１４はタイマによるトリガに応答して動作モード１の状態で動作する必要があるため、動作モード１を要求する。このときＣＰＵ１３は、依然として動作モード２の状態を要求している。動作モード決定部１０は、動作モード１、動作モード２、及び推奨動作モードのうちで最上位の動作モード（即ち消費電力が最も大きな動作モード）である動作モード１を選択して、動作モード１を指示するモード信号を出力する。従って、ＤＭＡユニット１４は動作モード１での動作が可能である。
【００８０】
図１５は、動作モード決定部の第２の実施例の構成の一例を示す図である。図１５に示す動作モード決定部１０は、要求フィルタ７０、最上モード選択器７１、推奨モードレジスタ７２−１及び７２−２、モード変更禁止レジスタ７３、変更禁止マスク７４、及びモード信号レジスタ７５を含む。図１５では、２個の推奨モードレジスタ７２−１及び７２−２のみが明示的に示されるが、推奨モードレジスタの数は２個に限られることなく、任意の数であってよい。
【００８１】
推奨モードレジスタ７２−１は、周辺ユニット１６−２からの推奨動作モード信号ＲＭ２を受け取り、周辺ユニット１６−２が推奨する動作モードを示すデータを格納する。推奨モードレジスタ７２−２は、周辺ユニット１６−１からの推奨動作モード信号ＲＭ１を受け取り、周辺ユニット１６−１が推奨する動作モードを示すデータを格納する。最上モード選択器７１は、推奨モードレジスタ７２−１及び７２−２のそれぞれの格納データが示す動作モードのうちで、最上位の動作モードを選択して出力する。
【００８２】
要求フィルタ７０は、ＣＰＵ１３からの第１の動作モード信号Ｍ１を受け取るとともに、ＤＭＡユニット１４からの第２の動作モード信号Ｍ２を受け取る。なおここで各動作モード信号Ｍ１及びＭ２は、常時アサートされている信号ではなく、例えば動作モードを指示する信号とその有効期間を示すパルス信号とが同時に一定期間だけアサートされるような信号を想定している。ＣＰＵ１３及びＤＭＡユニット１４は、要求する動作モードを変更するときにのみ、変更後の動作モードを示す動作モード信号Ｍ１及びＭ２をアサートしてよい。
【００８３】
要求フィルタ７０は、推奨モードレジスタ７２−１及び７２−２に推奨動作モードが設定されていない場合、ＣＰＵ１３或いはＤＭＡユニット１４から動作モード信号が到来すると、当該動作モード信号を出力する。即ち、要求フィルタ７０は、第１の動作モード信号が示す動作モードと第２の動作モード信号が示す動作モードとのうちで直近に指定された動作モードを選択する。
【００８４】
推奨モードレジスタ７２−１及び７２−２に推奨動作モードが設定されている場合、要求フィルタ７０は、最上モード選択器７１が示す最上位の推奨動作モード以上の動作モード信号のみを通過させる。即ち、要求フィルタ７０は、ＣＰＵ１３或いはＤＭＡユニット１４から動作モード信号が到来すると、当該動作モード信号が示す動作モードが最上位の推奨動作モード以上であれば、当該動作モード信号を出力する。要求フィルタ７０が出力する動作モード信号は変更禁止マスク７４に供給される。このようにして要求フィルタ７０は、推奨動作モード信号が存在する場合には、直近に指定された動作モードが最上位の推奨動作モード信号の示す動作モード以上の消費電力を有する場合にのみ、上記直近に指定された動作モードを選択する。直近に指定された動作モードが、最上位の推奨動作モード信号の示す動作モード以上の消費電力を有さない場合、要求フィルタ７０から動作モード信号は出力されない。
【００８５】
モード変更禁止レジスタ７３には、バス１７からの信号に基づき、動作モードの変更が禁止である制御対象を指定するデータが格納される。例えばＣＰＵ１３にとっては、ＤＭＡユニット１４からの要求により、自らの要求している動作モードよりも低い動作モードに遷移してしまうことが問題である場合がある。そのような場合、ＣＰＵ１３は、バス１７を介して、モード変更禁止レジスタ７３にＣＰＵ１３の動作モード変更禁止を示すデータを格納する。また例えばＣＰＵ１３にとっては、タイマの動作可能な動作モードを自らが要求している場合において、当該動作モード以下の動作モードにタイマが遷移してしまってはタイマの動作を確保するうえで問題が生じる場合がある。そのような場合、ＣＰＵ１３は、バス１７を介してモード変更禁止レジスタ７３にタイマの動作モード変更禁止を示すデータを格納する。
【００８６】
変更禁止マスク７４は、要求フィルタ７０からの動作モード信号を受け取るとともに、モード変更禁止レジスタ７３からｎビットのモード変更禁止信号を受け取る。ここでｎは、動作モードを制御する制御対象の数と同じであってよい。ｎビットのモード変更禁止信号の各ビットは、各制御対象に一対一に対応しており、動作モード変更を禁止する制御対象に対応するビットは例えば０に設定され、残りのビットは例えば１に設定されてよい。変更禁止マスク７４は、要求フィルタ７０からの動作モード信号をｎ個の経路に分岐し、各経路において、モード変更禁止信号の対応する１ビットによりマスク動作の有無を制御する。変更禁止マスク７４は、モード変更禁止信号の対応する１ビットが１のときには動作モード信号を通過させ、モード変更禁止信号の対応する１ビットが０のときには動作モード信号をマスクする（遮断する）。
【００８７】
このようにして生成されたｎ個の動作モード信号が変更禁止マスク７４からモード信号レジスタ７５に供給され、モード信号レジスタ７５に格納される。モード信号レジスタ７５は、ｎ個の制御対象に一対一に対応するｎ個の動作モード信号を、ＰＭＵ１１及びＣＭＵ１２に供給する。ＰＭＵ１１及びＣＭＵ１２は、ｎ個の動作モード信号に基づいて、ｎ個の制御対象に個別に動作モードを設定する。この際、モード変更禁止信号により変更禁止と指定されている制御対象に対する動作モード信号は、無効な値に設定されていてよいし、或いは動作モード信号の有効期間を示す有効信号がアサートされないように設定されていてもよい。信号の構造に関わらず、モード変更禁止信号により変更禁止と指定されている制御対象に対しては、動作モードの変更が行われないような設定となっている。
【００８８】
このようにして動作モード決定部１０は、複数の制御対象のうちの指定された制御対象（マスク対象の制御対象）以外の制御対象に対しては、要求フィルタ７０で選択した動作モードを設定する。動作モード決定部１０は更に、上記の指定された制御対象（マスク対象の制御対象）に対しては動作モードを変更しないようにＰＭＵ１１及びＣＭＵ１２に指示する。
【００８９】
以上、本発明を実施例に基づいて説明したが、本発明は上記実施例に限定されるものではなく、特許請求の範囲に記載の範囲内で様々な変形が可能である。
【符号の説明】
【００９０】
１０  動作モード決定部
１１  ＰＭＵ
１２  ＣＭＵ
１３  ＣＰＵ
１４  ＤＭＡ
１５  ＲＡＭ
１６−１乃至１６−４  周辺ユニット
１７  バス
【図１】
2016024781.tif 000007
【図２】
2016024781.tif 000008
【図３】
2016024781.tif 000009
【図４】
2016024781.tif 000010
【図５】
2016024781.tif 000011
【図６】
2016024781.tif 000012
【図７】
2016024781.tif 000013
【図８】
2016024781.tif 000014
【図９】
2016024781.tif 000015
【図１０】
2016024781.tif 000016
【図１１】
2016024781.tif 000017
【図１２】
2016024781.tif 000018
【図１３】
2016024781.tif 000019
【図１４】
2016024781.tif 000020
【図１５】
2016024781.tif 000021