複数の動作モードでの動作が可能な半導体装置であって、通常モード、CGモード、DCGモード、および電源遮断モードのいずれかで動作する複数の回路ブロックと、前記通常モードは、クロックが供給され、第1の電源電圧が供給される動作モードであり、前記CGモードは、クロックの供給が停止され、第1の電源電圧が供給される動作モードであり、前記DCGモードは、クロックの供給が停止され、前記第1の電源電圧よりも低い第2の電源電圧が供給される動作モードであり、前記電源遮断モードは、クロックおよび電源電圧の供給が停止した動作モードであり、前記管理部は、外部からの割込み、ユーザプログラム、およびハードウエア資源の利用状況に基づいて、前記複数の回路ブロックの動作モードの切替えを制御する、半導体装置。前記管理部は、前記回路ブロックごとの動作モードを表わすモードフラグを記憶するレジスタを含む、請求項1記載の半導体装置。前記半導体装置は、前記複数の回路ブロックの要素としてタッチパネルコントローラを含み、前記管理部は、前記外部からの割込みとして前記タッチパネルコントローラへ入力がなされたときに、前記タッチパネルコントローラの動作モードをDCGモードに設定する、請求項1記載の半導体装置。前記半導体装置は、前記複数の回路ブロックの要素として、さらにキーボードコントローラおよびマウスコントローラのいずれか一つを備え、前記管理部は、前記タッチパネルコントローラの動作モードをDCGモードに設定するとともに、前記キーボードコントローラまたは前記マウスコントローラの動作モードを電源遮断モードに設定する、請求項3記載の半導体装置。前記ユーザプログラムは、モード設定コマンドを含み、前記モード設定コマンドは、動作モードの設定対象の回路ブロックと、動作モードとを指定し、前記管理部は、前記ユーザプログラムに含まれるモード設定コマンドに基づいて、前記回路ブロックの動作モードを設定する、請求項1記載の半導体装置。前記半導体装置は、前記複数の回路ブロックの要素として、命令キューを備えたCPUと、コプロセッサとを備え、前記命令キュー内に前記コプロセッサを使用する命令が存在しない場合に、前記管理部は、前記命令キュー内のすべての命令の実行に要する時間だけ、前記コプロセッサの動作モードをDCGモードに設定する、請求項1記載の半導体装置。前記半導体装置は、前記複数の回路ブロックの要素として、命令キューを備えたCPUと、コプロセッサとを備え、前記CPUが命令をフェッチしたときに、フェッチした命令が前記コプロセッサを使用する命令でなく、前記コプロセッサの現在の動作モードがDCGモードでなく、前記命令キュー内に前記コプロセッサを使用する命令が存在しない場合に、前記管理部は、前記コプロセッサの動作モードをDCGモードに設定し、前記CPUが命令をフェッチしたときに、フェッチした命令が前記コプロセッサを使用する命令であり、前記コプロセッサの現在の動作モードがDCGモードの場合に、前記管理部は、前記コプロセッサの動作モードを通常モードに設定する、請求項1記載の半導体装置。前記半導体装置は、前記複数の回路ブロックの要素として、命令キューを備えたCPUと、MACmultiplyandaccumulate命令を実行する第1のコプロセッサと、浮動小数点命令を実行する第2のコプロセッサとを備え、前記CPUが命令をフェッチしたときに、フェッチした命令が前記第1のコプロセッサを使用する命令でなく、前記第1のコプロセッサの現在の動作モードがDCGモードでなく、前記命令キュー内に前記第1のコプロセッサを使用する命令が存在しない場合に、前記管理部は、前記第1のコプロセッサの動作モードをDCGモードに設定し、前記CPUが命令をフェッチしたときに、フェッチした命令が前記第2のコプロセッサを使用する命令でなく、前記第2のコプロセッサの現在の動作モードがDCGモードでなく、前記命令キュー内に前記第2のコプロセッサを使用する命令が存在しない場合に、前記管理部は、前記第2のコプロセッサの動作モードをDCGモードに設定し、前記CPUが命令をフェッチしたときに、フェッチした命令が前記第1のコプロセッサを使用する命令であり、前記第1のコプロセッサの現在の動作モードがDCGモードの場合に、前記管理部は、前記第1のコプロセッサの動作モードを通常モードに設定し、前記CPUが命令をフェッチしたときに、フェッチした命令が前記第2のコプロセッサを使用する命令であり、前記第2のコプロセッサの現在の動作モードがDCGモードの場合に、前記管理部は、前記第2のコプロセッサの動作モードを通常モードに設定する、請求項1記載の半導体装置。前記半導体装置は、前記複数の回路ブロックの要素として、CPUと、複数の外部インタフェース回路と、前記CPUを介さずに、データの直接転送を制御するDMAコントローラを備え、前記管理部は、前記DMAコントローラによる直接転送の転送元または転送先でない外部インタフェース回路の動作モードをDCGモードに設定する、請求項1記載の半導体装置。前記半導体装置は、前記複数の回路ブロックの要素として、外部インタフェース回路を備え、前記管理部は、前記外部インタフェース回路の動作が継続して停止する停止時間をカウントするタイマを含み、前記管理部は、前記外部インタフェース回路の動作モードが通常モード時に、前記外部インタフェース回路の停止時間が第1の時間を経過したときに、前記外部インタフェース回路の動作モードをDCGモードに設定する、請求項1記載の半導体装置。前記半導体装置は、前記複数の回路ブロックの要素として、外部インタフェース回路を備え、前記管理部は、外部インタフェース回路の動作が継続して停止する停止時間をカウントするタイマを含み、前記管理部は、前記外部インタフェース回路の動作モードがDCGモード時に、前記外部インタフェース回路の停止時間が第2の時間を経過したときに、前記外部インタフェース回路の動作モードを電源遮断モードに設定する、請求項1記載の半導体装置。前記レジスタは、さらに、前記回路ブロックごとに、前記ハードウエア資源の利用状況に基づく動作モードの切替えを許可するか否かを定める許可フラグを記憶し、前記許可フラグが許可を表わすときに、前記ハードウエア資源の利用状況に基づく前記回路ブロックの動作モードの切替えが可能となる、請求項2記載の半導体装置。しかしながら、特許文献1~特許文献5には、ヒューマンインタフェースやセンサなどの外部からの割込みによって、動作モードを切替えることが記載されていない。一方、特許文献6には、キーボードからの入力が一定期間ないことに応じて、低消費電力状態に移行させることが記載されているものの、その他の要因によって動作モードを切替えることが記載されていない。それゆえに、本発明の目的は、外部からの割込みを含む複数の要因に応じて、複数の動作モード間の切替えが可能な半導体装置を提供することである。本発明の一実施形態の半導体装置は、複数の動作モードでの動作が可能な半導体装置であって、通常モード、CGモード、DCGモード、および電源遮断モードのいずれかで動作する複数の回路ブロックと、通常モードは、クロックが供給され、第1の電源電圧が供給される動作モードであり、CGモードは、クロックの供給が停止され、第1の電源電圧が供給される動作モードであり、DCGモードは、クロックの供給が停止され、第1の電源電圧よりも低い第2の電源電圧が供給される動作モードであり、電源遮断モードは、クロックおよび電源電圧の供給が停止した動作モードであり、管理部は、外部からの割込み、ユーザプログラム、およびハードウエア資源の利用状況に基づいて、複数の回路ブロックの動作モードの切替えを制御する。本発明の一実施形態の半導体装置によれば、外部からの割込みを含む複数の要因に応じて、複数の動作モード間の切替えが可能となる。以下、本発明の実施形態について図面を参照して説明する。[第1の実施形態]動作モードについて図1は、本発明の実施形態における動作モードおよび動作モードの遷移の例を表わす図である。この動作モードは、半導体装置の各機能ブロックCPUなどごとに設定することができる。通常モードは、通常の動作に必要な電源電圧が供給され、クロックが供給されるモードである。電源遮断モードは、電源電圧およびクロックの供給が停止されたモードである。電力削減のためには、電源遮断モードが有利である。しかし、一度電源を遮断してしまうと、電源復帰後に電源が安定するまでの復帰時間を要するという問題がある。また、電源遮断時に、データが全て失われてしまうため、復帰後にレジスタやRAMへ必要なデータを書き戻すためのシーケンスが必要となるという問題がある。CGクロックゲーティングモードは、通常の動作に必要な電源電圧が供給されるが、クロックの供給が停止されたモードである。CGモードでは、定格電圧が供給され続けるため、リーク電力の削減効果は少ないという問題がある。また、定格電圧によるストレスも継続し、信頼性が低下するという問題がある。しかし、DCGモードや電源遮断モードのように、通常モードに復帰するために電源安定のための復帰時間がかかるというような問題は生じない。DCGディープクロックゲーティングモードでは、クロックの供給が停止される。このモードでは、通常動作に必要な電源電圧をデータリテンション可能な大きさまで降圧した電圧が供給される。これによって、リーク電力削減が可能となるので、CGモードよりも電力消費を少なくすることができる。これによって、充電式バッテリや電池で動作するノート型パーソナルコンピュータや、モバイルコンピュータ、PDAPersonalDigitalAssistantのような携帯用電子機器に使用した場合の稼働時間を増大させることができる。また、電源遮断モードのように電源電圧の供給をしないため、復帰時の電源安定待ち時間も短くすることができる。また、CGモードのように定格電圧がかけられている場合に比べてストレスも軽減される。動作モードの切替えは、ユーザプログラム要因、外部要因、またはハードウエア要因によって行われる。ユーザプログラム要因による切替えでは、ユーザプログラムに含まれるモード設定コマンドによって動作モードが切替えられる。外部要因による切替えでは、外部インタフェース回路に外部からの割込みが入力されたことによって動作モードが切替えられる。ハードウエア要因による切替えでは、ハードウエア資源の利用状況に基づいて、マイクロプロセッサが自律的に動作モードを切替える。電源Off状態から外部要因によって通常モードへ移行する。通常モードとCGモード間の遷移は、外部要因、ユーザプログラム要因、またはハードウエア要因によって行われる。通常モードとDCGモード間の遷移は、外部要因、ユーザプログラム要因、またはハードウエア要因によって行われる。通常モードと電源遮断モード間の遷移は、外部要因、ユーザプログラム要因、またはハードウエア要因によって行われる。CGモードと電源遮断モード間の遷移は、外部要因、ユーザプログラム要因、またはハードウエア要因によって行われる。DCGモードと電源遮断モード間の遷移は、外部要因、ユーザプログラム要因、またはハードウエア要因によって行われる。通常モードからCGモードおよびDCGモード、電源遮断モードへはレイテンシオーバーヘッドなしで遷移可能である。一方、DCGモードおよび電源遮断モードから通常モードへは電圧が安定するまでの間、クロックの復帰を遅らせなければならない。マイクロコンピュータ図2は、本発明の実施形態のマイクロコンピュータ半導体装置の構成を表わす図である。内部バス99には、回路ブロックとして、命令キューを有するCPU3、キャッシュ4、メモリ管理ユニット2、割り込みコントローラINTC6、クロック信号を供給するクロックパルス発生器CPG13が接続される。クロックパルス発生器CPG13は、半導体装置1の基準クロック信号となり、クロック信号はクロック信号配線図示せずを通じて、各回路ブロックに供給される。内部バス99には、さらに、回路ブロックとして、ROMReadOnlyMemory7、RAMRandomAccessMemory8、ハードウェアの異常を検出するためのウォッチドッグタイマ11、およびDMAコントローラ5、コプロセッサCo-Pro19、コプロセッサCo-Pro210とが接続される。Co-Pro1は、MACmultiplyandaccumulate命令を実行する。Co-Pro2は、浮動小数点命令を実行する。DMAC5は、CPU3を介さずに、データの直接転送を制御する。外部バス98には、回路ブロックとして、IP1~IP4と、IP1~IP4の周辺回路20~23、電源制御ユニットPMU14、リセット回路Reset15が接続される。IP1~IP4は、それぞれ外部との信号の授受のための外部インタフェース回路である。IP1~IP4は、たとえば、タッチパネルコントローラ、キーボードコントローラ、ディスプレイコントローラ、データ通信コントローラ、グラフィクスコントローラである。内部バス99と外部バス98の間は、データインタフェースのためのブリッジ回路Bridge12で接続されている。図3は、図2におけるIP1とブリッジ回路12との間のデータ転送に着目した詳細な回路の構成を表わす図である。他のIPについてもこれと同様である。図3に示すように、IP116は、電源制御回路33と、ロジック領域34と、メモリ領域35とを備える。IP1周辺回路20は、制御回路31と、論理積回路32と、論理積回路ANDと、イネーブル付きレベルシフタELSと、ラッチ回路Latchとを備える。ブリッジ回路12は、ロジック領域36を備える。PMU14は、IP1~IP4のモードフラグを記憶するためのレジスタ95を備える。図4は、モードフラグの例を表わす図である。図4に示すように、モードフラグは2ビットで表わされる。通常モードでは、CGモード、DCGモード、電源遮断モードにおいて、モードフラグは、それぞれ00、01、10、11となる。図5は、レジスタ95に記憶されているIP1~IP4のモードフラグの例を表わす図である。IP1のモードフラグは00通常モード、IP2のモードフラグは11電源遮断モード、IP3のモードフラグは11電源遮断モード、IP4のモードフラグは10DCGモードである。PMU14は、IP1のモードフラグに基づいて、ウエイト信号Waitおよびモード信号Modeを制御回路31へ出力する。制御回路31は、CPU3からの指示信号と、PMU14からのウエイト信号Waitおよびモード信号Modeに従って、イネーブル信号Enableを出力する。論理積回路32は、基準クロックRefClkとEnable信号の論理積を内部クロックCLK1として、電源制御回路33、ロジック領域34およびメモリ領域35に出力する。電源制御回路33は、たとえば、PMOSスイッチ、ダイオードまたはレギュレータを含み、通常電圧定格電圧、降圧電圧を供給するか、あるいは電源電圧の供給を遮断するかの切替えが可能である。以下、第1の実施形態では、外部要因によるモードの移行制御について説明する。動作手順図6は、第1の実施形態におけるモード設定手順を表わすフローチャートである。図6を参照して、IP1~IP4のいずれに外部入力があると、外部入力のあったIPは、INTC6に割込要求を送るステップ101。INTC6は、割込要求を受け付けて、CPU3に外部入力のあったIPと割込要因を通知するステップS102。CPU3は、RAM8内に記憶されている割込みハンドラを参照して、通知されたIPの通知された割込要因に対する処理を調べるステップS103。通知されたIPの通知された割込要因に対する処理が通常モードへの移行の場合にはステップS104でYES、CPU3は、レジスタ95内の外部入力のあったIPのモードフラグを通常モードに設定するステップS105。PMU14は、通知されたIPの電源制御回路33を制御して、通知されたIPのロジック領域34およびメモリ領域35に通常電圧を供給させるステップS106。PMU14は、通知されたIP周辺回路を制御して、通知されたIPへのクロックの供給を再開させるステップS107。通知されたIPの通知された割込要因に対する処理がCGモードへの移行の場合にはステップS108でYES、CPU3は、レジスタ95内の外部入力のあったIPのモードフラグをCGモードに設定するステップS109。PMU14は、通知されたIP周辺回路を制御して、通知されたIPへのクロックの供給を停止させるステップS110。PMU14は、通知されたIPの電源制御回路33を制御して、通知されたIPのロジック領域34およびメモリ領域35に通常電圧を供給させるステップS111。通知されたIPの通知された割込要因に対する処理がDCGモードへの移行の場合にはステップS112でYES、CPU3は、レジスタ95内の外部入力のあったIPのモードフラグをDCGモードに設定するステップS113。PMU14は、通知されたIP周辺回路を制御して、通知されたIPへのクロックの供給を停止させるステップS114。PMU14は、通知されたIPの電源制御回路33を制御して、通知されたIPのロジック領域34およびメモリ領域35に通常電圧よりも低い降圧電圧を供給させるステップS115。通知されたIPの通知された割込要因に対する処理が電源遮断モードへの移行の場合にはステップS116でYES、CPU3は、レジスタ95内の外部入力のあったIPのモードフラグを電源遮断モードに設定するステップS117。PMU14は、通知されたIP周辺回路を制御して、通知されたIPへのクロックの供給を停止させるステップS118。PMU14は、通知されたIPの電源制御回路33を制御して、通知されたIPのロジック領域34およびメモリ領域35への電源電圧の供給を停止させるステップS119。通常モード図7は、IP1が通常モードのときの、IP1への電源電圧およびクロックの供給を説明するための図である。通常モードでは、PMU14は、00のモード信号Modeを制御回路31へ出力する。制御回路31は、00のモード信号Modeを受けると、ハイレベルのイネーブル信号Enableを出力する。その結果、論理積回路32は、基準クロックRefClkと同じ位相および周期の内部クロックCLK1をIP1へ供給する。また、PMU14は、00のモード信号Modeを電源制御回路33へ出力する。電源制御回路33は、00のモード信号Modeを受けると、通常電圧VN1をロジック領域34に供給し、通常電圧VN2をメモリ領域35に供給する。たとえば、通常電圧VN1、VN2として、それぞれ1.0V、0.9Vとすることができる。CGモード図8は、IP1がCGモードのときの、IP1への電源電圧およびクロックの供給を説明するための図である。CGモードでは、PMU14は、01のモード信号Modeを制御回路31へ出力する。制御回路31は、01のモード信号Modeを受けると、ロウレベルのイネーブル信号Enableを出力する。その結果、論理積回路32は、内部クロックCLK1のIP1への供給を停止する。また、PMU14は、01のモード信号Modeを電源制御回路33へ出力する。電源制御回路33は、01のモード信号Modeを受けると、通常電圧VN1をロジック領域34に供給し、通常電圧VN2をメモリ領域35に供給する。DCGモード図9は、IP1がDCGモードのときの、IP1への電源電圧およびクロックの供給を説明するための図である。DCGモードでは、PMU14は、10のモード信号Modeを制御回路31へ出力する。制御回路31は、10のモード信号Modeを受けると、ロウレベルのイネーブル信号Enableを出力する。その結果、論理積回路32は、内部クロックCLK1のIP1への供給を停止する。また、PMU14は、10のモード信号Modeを電源制御回路33へ出力する。電源制御回路33は、10のモード信号Modeを受けると、降圧電圧a×VN1をロジック領域34に供給し、降圧電圧b×VN2をメモリ領域35に供給する。ただし、aは0<a<1、bは0<b<1を満たす数である。たとえば、a、bとして、0.6、0.5とすることができる。降圧電圧a×VN1は、ロジック領域でデータリテンション可能な最低限の電圧であり、降圧電圧b×VN2は、メモリ領域でデータリテンション可能な最低限の電圧である。電源遮断モード図10は、IP1が電源遮断モードのときの、IP1への電源電圧およびクロックの供給を説明するための図である。電源遮断モードでは、PMU14は、11のモード信号Modeを制御回路31へ出力する。制御回路31は、11のモード信号Modeを受けると、ロウレベルのイネーブル信号Enableを出力する。その結果、論理積回路32は、内部クロックCLK1のIP1への供給を停止する。また、PMU14は、11のモード信号Modeを電源制御回路33へ出力する。電源制御回路33は、11のモード信号Modeを受けると、ロジック領域34およびメモリ領域35への電源電圧の供給を停止する。モード移行時の制御図11は、通常モードから各モードへの移行時の信号および電圧の変化を表わす図である。図11aは、通常モードからCGモードへの移行時の信号および電圧の変化を表わす図である。図11aに示すように、通常モードでは、内部クロックCLK1が供給され、ロジック領域34への電圧Vxの大きさが通常電圧VN1であり、メモリ領域35への電圧Vyの大きさが通常電圧VN2である。CGモードへ移行すると、イネーブル信号Enableがロウレベルとなるため、内部クロックCLK1の供給が停止する。図11bは、通常モードからDCGモードへの移行時の信号および電圧の変化を表わす図である。図11bに示すように、通常モードでは、内部クロックCLK1が供給され、ロジック領域34への電圧Vxの大きさが通常電圧VN1であり、メモリ領域35への電圧Vyの大きさが通常電圧VN2である。CGモードへ移行すると、イネーブル信号Enableがロウレベルとなるため、内部クロックCLK1の供給が停止する。また、ロジック領域34への電圧Vxの大きさが降圧電圧a×VN1であり、メモリ領域35への電圧Vyの大きさが降圧電圧b×VN2となる。図11cは、通常モードから電源遮断モードへの移行時の信号および電圧の変化を表わす図である。図11cに示すように、通常モードでは、内部クロックCLK1が供給され、ロジック領域34への電圧Vxの大きさが通常電圧VN1であり、メモリ領域35への電圧Vyの大きさが通常電圧VN2である。電源遮断モードへ移行すると、イネーブル信号Enableがロウレベルとなるため、内部クロックCLK1の供給が停止する。また、ロジック領域34へおよびメモリ領域35への電圧の供給は停止する。図12は、各モードから通常モードへの移行時の信号および電圧の変化を表わす図である。図12aは、CGモードから通常モードへの移行時の信号および電圧の変化を表わす図である。図12aに示すように、CGモードでは、イネーブル信号Enableがロウレベルであるため、内部クロックCLK1の供給が停止している。通常モードへ移行すると、イネーブル信号Enableがハイレベルであるため、内部クロックCLK1の供給が再開する。図12bは、DCGモードから通常モードへの移行時の信号および電圧の変化を表わす図である。図12bに示すように、DCGモードでは、イネーブル信号Enableがロウレベルであるため、内部クロックCLK1の供給が停止し、ロジック領域34への電圧Vxの大きさが降圧電圧a×VN1であり、メモリ領域35への電圧Vyの大きさが降圧電圧b×VN2である。通常モードへ移行すると、PMU14は、ウエイト信号Waitを一定期間図12bでは3クロック分だけハイレベルに設定する。この一定期間において、ロジック領域34への電圧Vxの大きさが降圧電圧a×VN1から通常電圧VN1へ遷移し、メモリ領域35への電圧Vyの大きさが降圧電圧b×VN2から通常電圧VN2へ遷移する。一定期間終了後に、ウエイト信号Waitがロウレベルとなるため、イネーブル信号Enableがハイレベルとなり、内部クロックCLK1の供給が再開する。図12cは、電源遮断モードから通常モードへの移行時の信号および電圧の変化を表わす図である。図12cに示すように、電源遮断モードでは、イネーブル信号Enableがロウレベルであるため、内部クロックCLK1の供給が停止し、ロジック領域34およびメモリ領域35へ電圧が供給されていない。通常モードへ移行すると、PMU14は、ウエイト信号Waitを一定期間図12cでは3クロック分だけハイレベルに設定する。この一定期間において、ロジック領域34への電圧Vxの大きさが0Vから通常電圧VN1へ遷移し、メモリ領域35への電圧Vyの大きさが0Vから通常電圧VN2へ遷移する。一定期間終了後に、ウエイト信号Waitがロウレベルとなるため、イネーブル信号Enableがハイレベルとなり、内部クロックCLK1の供給が再開する。以上のように、本実施の形態によれば、外部要因に従って、4つの動作モードのうちのいずれかに切替えることができる。第1の実施形態の変形例本変形例では、外部入力のあったIPとともに、外部入力のあったIP以外の動作モードも切替える。ここでは、IP1としてマウスコントローラ、IP2としてキーボードコントローラ、IP3としてタッチパネルコントローラ、IP4として音声入力認識コントローラとする。IP3タッチパネルコントローラへの入力があると、タッチパネル入力の動作レートは速くても数回秒であり、入力間に電源遮断するには復帰にかかるオーバーヘッドが大きすぎるため、PMU14は、IP3タッチパネルコントローラをDCGモードへ移行させる。この際、PMU14は、タッチパネルコントローラと併用して使用されないことが予想されるIP1マウスコントローラ、IP2キーボードコントローラを電源遮断モードへ移行させる。一方、タッチパネルと併用可能なIP4をDCGモードへ移行させる。[第2の実施形態]第2の実施形態では、ユーザプログラムによるモードの移行制御について説明する。第2の実施形態では、ユーザプログラムに含まれるモード設定コマンドに従って、モードを切替える。モード設定コマンドは、動作モードの設定対象の回路ブロックIP1~IP4およびその他の回路と、設定するモードとを指定する。マイクロコンピュータを使用するユーザプログラムは、マイクロコンピュータに実装されているIPを認識している。また、これらのIPに供給される電源を遮断したり、電圧低減するためのレジスタ設定はマニュアルによって公開されているものとする。したがって、プログラマは、ユーザプログラムにおいて一定サイクル使用しないIPに対して、リテンション電圧まで低減することができる。DCGモードに設定される停止時間は停止サイクルとクロック周期から算出可能である。たとえば、周波数が10MHzで、平均命令実行時間が10サイクルだとすると、100ns×10サイクル×123命令=123μsの間はCo-Pro1およびCo-Pro2を使用する必要はない。そこで、PMU14は、命令キュー内のすべての命令の実行に要する時間すなわち、123μsだけ、Co-Pro1およびCo-Pro2の動作モードをDCGモードに設定する。また、命令フェッチ時に命令キューにMAC命令と浮動小数点命令の一方のみが存在する場合では、Co-Pro1およびCo-Pro2のうち、存在しない命令を実行するコプロセッサのみをDCGモードへ移行させることとしてもよい。[第4の実施形態]第4の実施形態では、第2のハードウエア要因によるモードの移行制御について説明する。一例として、データ転送要求により、外部バスに接続されているIP1のデータを内部バス経由でRAM8へ転送する場合を想定する。この場合、DMAC5が内部バス99、ブリッジ回路12および外部バス98を経由してIP1へアクセスする。この間、IP2~IP4へのアクセスは不可となる。したがって、データ転送に要する時間が数秒におよぶ場合、IP2~IP4をDCGモードへ移行させることで電力消費を低減できる。したがって、PMU14は、DMAC5による直接転送の転送元または転送先でないIP1~IP4外部インタフェース回路の動作モードをDCGモードに設定する。動作図17は、第4の実施形態におけるモード設定手順を表わすフローチャートである。図17を参照して、CPU3は、命令キューから命令をフェッチするステッS401。CPU3は、フェッチした命令がDMA転送命令の場合にはステップS402でYES、転送に要する時間を見積もる。CPU3は、転送に要する時間が所定時間THを越える場合にはステップS403でYES、DMA転送命令の対象以外のIPのモードフラグがDCGモードでない場合にはステップS404でNO、DMA転送命令の対象以外のIPのモードフラグをDCGモードに設定するステップS405。PMU14は、モードフラグがDCGモードへ設定されたIPへのクロックの供給を停止させるステップS406。PMU14は、モードフラグがDCGモードへ設定されたIPの電源制御回路33を制御して、モードフラグがDCGモードへ設定されたIPのロジック領域34およびメモリ領域35に通常電圧よりも低い降圧電圧を供給させるステップS407。以上のように、本実施の形態によれば、DMA転送時におけるハードウエア資源であるIP1~IP4の利用状況に基づいて、IP1~IP4の動作モードを設定することができる。[第5の実施形態]第5の実施形態では、第3のハードウエア要因によるモードの移行制御について説明する。図18は、第5の実施形態のPMUの構成を表わす図である。このPMU114は、タイマ81と、制御回路82と、レジスタ83とを備える。レジスタ83は、IP1~IP4について、モードフラグに加えて、第1の制限時間、および第2の制限時間を記憶する。図19は、IP1~IP4について、モードフラグ、第1の制限時間、第2の制限時間の例を表わす図である。レジスタ83には、IPiについてi=1~4、モードフラグmodei、第1の制限時間TH1i、第2の制限時間TH2iが設定される。タイマ81は、IP1~IP4の動作が継続して停止する停止時間をカウントする。制御回路82は、IPiの動作モードが通常モード時に、停止時間が第1の制限時間TH1iを経過したときに、IPiの動作モードをDCGモードに設定する。制御回路82は、IPiの動作モードがDCGモード時に、停止時間が第2の制限時間TH2iを経過したときに、IPiの動作モードを電源遮断モードに設定する。動作図20は、第5の実施形態におけるモード設定手順を表わすフローチャートである。IPごとに以下の処理を行なわれる。図20を参照して、IPiのモードフラグに設定された現在のモードが通常モードの場合にはステップS501でYES、タイマによるカウント値つまりIPiの停止時間がTH1iを超えた場合にはステップS502でYES、IPiのモードフラグをDCGモードに設定するステップ504。PMU14は、IPiへのクロックの供給を停止させるステップS504。PMU14は、IPiの電源制御回路33を制御して、IPiのロジック領域34およびメモリ領域35に通常電圧よりも低い降圧電圧を供給させるステップS505。IPiのモードフラグに設定された現在のモードがDCGモードの場合にはステップS506でYES、タイマによるカウント値つまりIPiの停止時間がTH2iを超えた場合にはステップS507でYES、IPiのモードフラグを電源遮断モードに設定するステップ508。PMU14は、IPiの電源制御回路33を制御して、IPiのロジック領域34およびメモリ領域35への電源電圧の供給を停止させるステップS509。以上のように、本実施の形態によれば、ハードウエア資源であるIP1~IP4の利用状況に基づいて、IP1~IP4の動作モードを設定することができる。[第6の実施形態]第6の実施形態では、PMU114内のレジスタ83は、IP1~IP4について、モードフラグ、第1の制限時間、第2の制限時間に加えて、第3~第5の実施形態で説明したハードウエア資源の利用状況に基づく動作モードの切替えを許可するか否かを定める許可フラグを記憶する。ハードウエア資源の利用状況に基づく動作モードの切替は、ユーザの意図に関係なく行われるので、ユーザの意図に反して行われる場合がある。これを避けるために、許可フラグをレジスタで設定することによって、ハードウエア資源の利用状況に基づく動作モードの切替を許可するか否かを設定することができるようにする。図21は、IP1~IP4について、モードフラグ、第1の制限時間、第2の制限時間、許可フラグの例を表わす図である。レジスタには、IPiについて、モードフラグmodei、第1の制限時間TH1i、第2の制限時間TH2i、許可フラグPMiが設定される。許可フラグが許可を表わすときに、第3~第5の実施形態で説明したハードウエア資源の利用状況に基づく動作モードの切り替えが可能となる。PM114は、許可フラグが許可を表わさないときには、ハードウエア資源の利用状況に基づいて動作モードを切替えない。以上のように、本実施の形態によれば、ハードウエア資源の利用状況に基づいて、動作モードの切替えを許可するかをレジスタで設定することができる。[第6の実施形態の変形例]第6の実施形態の変形例では、PMU114内のレジスタ83は、IP1~IP4について、モードフラグ、第1の制限時間、第2の制限時間に加えて、優先度フラグを記憶する。図22は、IP1~IP4について、モードフラグ、第1の制限時間、第2の制限時間、優先度フラグの例を表わす図である。レジスタには、IPiについて、モードフラグmodei、第1の制限時間TH1i、第2の制限時間TH2i、優先度フラグPRiが設定される。優先度フラグは、外部からの割込み、ユーザプログラム、およびハードウエア資源の利用状況により動作モードの切替えが競合したときに、いずれの要因を優先するかを定める。図23は、優先度フラグの例を表わす図である。優先度フラグが000のときには、最も優先する切替要因がユーザプログラム、次に優先する切替要因がハードウエア資源の利用状況、最も優先しない切替要因が外部からの割込みであることを表わす。優先度フラグが001のときには、最も優先する切替要因がユーザプログラム、次に優先する切替要因が外部からの割込み、最も優先しない切替要因がハードウエア資源の利用状況であることを表わす。優先度フラグが010のときには、最も優先する切替要因がハードウエア資源の利用状況、次に優先する切替要因がユーザプログラム、最も優先しない切替要因が外部からの割込みであることを表わす。優先度フラグが011のときには、最も優先する切替要因がハードウエア資源の利用状況、次に優先する切替要因が外部からの割込み、最も優先しない切替要因がユーザプログラムであることを表わす。優先度フラグが100のときには、最も優先する切替要因が外部からの割込み、次に優先する切替要因がハードウエア資源の利用状況、最も優先しない切替要因がユーザプログラムであることを表わす。優先度フラグが101のときには、最も優先する切替要因が外部からの割込み、次に優先する切替要因がユーザプログラム、最も優先しない切替要因がハードウエア資源の利用状況であることを表わす。以上のように、本実施の形態によれば、ハードウエア要因ハードウエア資源の利用状況、ユーザプログラム要因、外部要因外部からの割込みによる動作モードの切替えの優先順序をレジスタによって設定することができる。今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。