"第1の動作モード中に作業用記憶手段に作成されたデータを、第2の動作モード中に保持する退避データ記憶手段を有する情報処理装置であって、第2の動作モードの動作クロックと、第2の動作モードの動作クロックよりも大きい第1の動作モードの動作クロックとを生成するクロック生成手段と、第2の動作モードから復帰する際、前記クロック生成手段が第1の動作モードの動作クロックに上昇させる前に、当該情報処理装置の状態を示す情報処理装置ステータスデータを前記退避データ記憶手段から前記作業用記憶手段に復帰させる第1のデータ復帰手段と、前記クロック生成手段が第1の動作モードの動作クロックに上昇させた後、第1の動作モード中に作成されたデータを前記退避データ記憶手段から前記作業用記憶手段に復帰させる第2のデータ復帰手段と、を有する情報処理装置。前記第1のデータ復帰手段は、前記クロック生成手段が第1の動作モードの動作クロックに上昇させる前に、予め定められた早期復帰データを前記退避データ記憶手段から前記作業用記憶手段に復帰させる、ことを特徴とする請求項1記載の情報処理装置。前記情報処理装置ステータスフラグは、当該情報処理装置の状態が第2の動作モードからの復帰であるかリセットからの起動であるかの情報を有する、ことを特徴とする請求項1又は2記載の情報処理装置。前記早期復帰データは、第1の動作モードの動作クロックを指示するデータである、ことを特徴とする請求項2記載の情報処理装置。前記情報処理装置ステータスフラグに、当該情報処理装置の状態が第2の動作モードからの復帰であるという情報が含まれている場合にのみ、前記第1のデータ復帰手段は情報処理装置ステータスデータを前記退避データ記憶手段から前記作業用記憶手段に復帰させ、前記第2のデータ復帰手段は第1の動作モード中に作成されたデータを前記退避データ記憶手段から前記作業用記憶手段に復帰させる、ことを特徴とする請求項3記載の情報処理装置。前記退避データ記憶手段は、当該情報処理装置が有するプロセッサとのみ接続されている、ことを特徴とする請求項1~5いずれか1項記載の情報処理装置。前記退避データ記憶手段が不揮発メモリの場合、第2の動作モードにおいて前記退避データ記憶手段への電源が遮断される、ことを特徴とする請求項6記載の情報処理装置。プログラムを実行する第1の動作モード中に作業用記憶手段に作成されたデータを、第2の動作モード中に保持する退避データ記憶手段を有する情報処理装置のデータ復帰方法であって、クロック生成手段が第2の動作モードの動作クロックを生成するステップと、前記クロック生成手段が第1の動作モードの動作クロックに上昇させる前に、第1のデータ復帰手段が、当該情報処理装置の状態を示す情報処理装置ステータスデータを前記退避データ記憶手段から前記作業用記憶手段に復帰させるステップと、クロック生成手段が、第2の動作モードより大きい第1の動作モードの動作クロックを生成するステップと、前記クロック生成手段が第1の動作モードの動作クロックに上昇させた後、第2のデータ復帰手段が、第1の動作モード中に作成されたデータを前記退避データ記憶手段から前記作業用記憶手段に復帰させるステップと、を有するデータ復帰方法。しかしながら、特許文献1に開示されているように、マイコンの回路を異なる製造プロセスで製造することは、1つのマイコンが異なる製造プロセスで製造されることを意味する。このため、製造プロセスの微細化によるコスト低減効果を小さくしてしまうという問題がある。本発明は、上記課題に鑑み、製造プロセスの影響を抑制してスリープ時の消費電力を低減できる情報処理装置を提供することを目的とする。本発明は、第1の動作モード中に作業用記憶手段に作成されたデータを、第2の動作モード中に保持する退避データ記憶手段を有する情報処理装置であって、第2の動作モードの動作クロックと、第2の動作モードの動作クロックよりも大きい第1の動作モードの動作クロックとを生成するクロック生成手段と、第2の動作モードから復帰する際、前記クロック生成手段が第1の動作モードの動作クロックに上昇させる前に、当該情報処理装置の状態を示す情報処理装置ステータスデータを前記退避データ記憶手段から前記作業用記憶手段に復帰させる第1のデータ復帰手段と、前記クロック生成手段が第1の動作モードの動作クロックに上昇させた後、第1の動作モード中に作成されたデータを前記退避データ記憶手段から前記作業用記憶手段に復帰させる第2のデータ復帰手段と、を有することを特徴とする。製造プロセスの影響を抑制してスリープ時の消費電力を低減できる情報処理装置を提供することができる。以下、本発明を実施するための形態について図面を参照しながら実施例を挙げて説明する。図2は、本実施例のマイコンの特徴部を概略的に説明する図の一例である。図はスリープ状態のマイコン100を示し、斜線部のブロック図ではCPUに電源とクロックが供給されている。本実施例のマイコン100は新たにスリープ中にレジスタ11やRAM13のデータを保持しておくバックアップRAM17を有している。バックアップRAM17は、CPU12とのみ接続されている。換言すると、CPU12と1対1で接続されており、CPU12のみがバックアップRAM17にアクセスすることができる。スリープ前にレジスタ11とRAM13のデータはバックアップRAM17に退避されているので、スリープ中、電源と動作クロックをレジスタ11、RAM13、及び、バックアップRAM17バックアップRAMが不揮発メモリの場合へ供給する必要はない。このため、従来と比べてスリープ中の消費電力を大きく低減できる。また、バックアップRAM17は他の回路と同様の製造プロセス例えば、90nm以下で作成されている。マイコン100の全体を同じ製造プロセスで製造できるのでコストを低減しやすい。また、バックアップRAM17はCPU以外の回路と接続されていないので、製造プロセスが微細でもスリープ中のリーク電流を大きく低減できる。すなわち、バックアップRAM17が揮発性メモリの場合、スリープ中、CPU12とバックアップRAM17に電源とクロックが供給される。しかし、バックアップRAM17はCPU12としか接続されていないので、バックアップRAM17から他の回路に電流がリークすることがほとんど生じない。したがって、バックアップRAM17が揮発性メモリでもスリープ中の消費電力を低減できる。構成例図2のマイコン100について説明する。マイコン100は、レジスタ11、CPU12、RAM13、CANコントローラ14、A/Dコンバータ15、タイマ16、及び、バックアップRAM17を有する。また、スリープモードと関係する発振器18、メインクロック発生回路19、PLL回路20、及び、電源回路21を図示した。この他、プログラムを記憶したROM、キャッシュメモリ、DMAC、割り込みコントローラ、IPマイコンによって異なるが、例えばDSP、画像処理回路等は省略した。CPU12は、レジスタ11、RAM13、CANコントローラ14、A/Dコンバータ15、及び、タイマ16とメインバスや周辺バスを介して接続されている。また、レジスタ11とRAM13も、CANコントローラ14、A/Dコンバータ15、及び、タイマ16からアクセスされるため、これらの回路と接続されている。これに対し、バックアップRAM17はCPU12とのみ接続されている。なお、CPU12は不図示のROMに記憶されたプログラムを実行して、目的とする演算結果が得られるように他の回路を制御する。レジスタ11には、CPU12が演算に使用する値が格納された汎用レジスタ、次に実行する命令のアドレスを記憶するプログラムカウンタ、マイコン100の状態を示すマイコンステータスレジスタ、割り込み制御レジスタ、その他、各種のレジスタが含まれる。RAM13は、プログラムの実行途中のデータやルックアップ用データ等が記憶される作業メモリである。マイコン100によってはプログラムをRAM13にコピーしてから実行される場合がある。CANコントローラ14は、CANバスを介して接続された他のマイコン例えば、ECU:ElectronicControlUnitと通信するための通信装置である。CANコントローラ14はCPU12からの指示によりCANフレームを生成しCANバス上に送信する。また、CANバス上を流れるCANフレームを監視しCANIDに応じて受信すると共にCPU12に通知する。A/Dコンバータ15は、センサ等が検出したアナログ値をデジタルデータに変換してRAM13に記憶させCPU12に通知する。タイマ16は、CPU12が設定した時間の経過をCPU12に通知する。タイマ16には例えばWDTがある。なお、これらの周辺回路はCPU12との通信にレジスタ11やRAM13を使用するようになっている。バックアップRAM17は不揮発メモリとして説明するが、揮発性メモリでもよい。不揮発メモリであれば、例えば、フラッシュメモリ、磁気抵抗RAM、強誘電体メモリ、PCM相変化メモリ、ReRAM抵抗変化型メモリなどを記憶素子に採用できる。揮発性メモリであれば、SRAM、SDRAM、DRAMなどを記憶素子に採用できる。バックアップRAM17はCPU12と対であるが、複数のコアを備えたマルチコアプロセッサの場合、マルチコアプロセッサに1つのバックアップRAM17を配置してもよいし、コア毎に1つのバックアップRAM17を配置してもよい。コア毎にバックアップRAM17を設ければ、コア単位のスリープが可能になり、マルチコアプロセッサに1つのバックアップRAM17を設ければコスト低減が容易になる。本実施例のマイコン100は、主に車両のECUに搭載されることを想定している。車載されるECUには、その主要な機能により、エンジンECU、ブレーキECU、ボディECU、ナビゲーションECUAV情報処理ECU、ゲートウェイECU等がある。本実施例のマイコン100はECUの機能の違いに影響されず搭載されることが可能である。マイコン100の消費電力は、およそ動作クロックに比例しかつ電圧の二乗に比例すると言われている。したがって、スリープ時には動作クロックと電圧を低減することが有効であるが、いずれか一方のみを低減してもよい。動作クロックは、発振器18、メインクロック発生回路19及びPLL回路20により生成される。発振器18は例えば基準クロックを生成する水晶振動子であり、メインクロック発生回路19は基準クロックを指示された周波数に低倍する回路、PLL回路20は指示された分周比によりメインクロックをPLLクロックまで増大させる回路である。CPU12は、起動時及びウェイクアップ時に所定のレジスタ11に周波数の指示値を設定することで、メインクロックとPLLクロックを制御する。なお、メインクロックとPLLクロックが固定のマイコン100もあり、この場合、CPU12が周波数を制御しなくてもよい。電源回路21は、バッテリ電圧を降圧して、いくつかの回路グループ毎に数種類の電源電圧を生成しCPU等の回路に供給する。電源回路21は、少なくともグループ毎に電源をON/OFFすることができる。CPU12は、スリープモードに移行する場合、スリープモード用の動作クロックの指示値をメインクロック発生回路19とPLL回路20に設定すると共に、電源回路21にCPU以外の電源をOFFにするよう要求する。こうすることで、スリープモード時、クロック周波数は通常動作モードスリープモード以外の動作モードを通常動作モードというよりも低減され、電源が供給される回路もCPU12のみに制限できる。スリープモード時の動作クロックは基準クロック程度とする。なお、メインクロックやPLLクロックの指示値を変えることで、スリープモード及び通常動作モードの動作クロックを可変にすることができる。図3aは、バックアップRAM17が不揮発メモリの場合の電源供給状態の一例を示す。斜線部が、電源が供給されている回路を示す。左側は通常動作モードの電源供給状態を示すが、図3aでは全ての回路に電源が供給されている。また、右側はスリープモードの電源供給状態を示すが、CPU12を除き電源が供給されてない。このように、CPU以外の回路の電源をOFFにすることでスリープ中の消費電力を低減できる。図3bは、バックアップRAM17が揮発性メモリの場合の電源供給状態を示す。同様に左側は通常動作モードの電源供給状態を示す。また、右側はスリープモードの電源供給状態を示すが、CPU12とバックアップRAM17に電源が供給されている。バックアップRAM17に電源が供給されても、レジスタ11とRAM13に電源が供給されるようは消費電力を低減できる。仮に消費電力の低減効果が小さくても、CPU12とのみ接続されたバックアップRAM17はスリープ中のリーク電流が小さいので、従来よりもスリープ中の消費電力を低減できる。スリープモードへの移行図4は、マイコン100の機能ブロック図の一例を示す。マイコン100はECUに必要な制御や処理のために固有の処理を行うタスクA31以下、単にタスクAという、タスクB32以下、単にタスクBという、マイコン100の状態を判定する状態判定部33、電源回路21を制御する電源回路制御部34、スリープ処理を行うスリープモード実行部35、及び、ウェイクアップ処理を行うウェイクアップ実行部41を有している。各機能ブロックは、CPU12がハードウェアと協働しながらプログラムを実行することで実現される。OSや基本ソフトなどのタスク管理機能はタスクの優先順位にしたがって、CPU12に割り当てるタスクを切り替える。タスク管理機能は、例えば、1つのタスクが終わる毎又は定期的にタスクのスケジューリングを行い、例えば、タスクA,タスクB及び状態判定部33がそれぞれ所定の頻度で実行されるようにタスクを実行する。状態判定部33は、タスクA、タスクBの実行状態を確認しスリープモードに移行するか否かを判定する。例えば、タスクA、タスクBが最後に実行された時間を記録しておき、所定時間が経過したことによりスリープモードに移行すると判定してもよいし、タスクA及びタスクBがそれぞれ生成したスリープモード移行要求の有無を判定してもよい。また、さらに他のマイコン100からスリープへの移行許可を取得したか否かを判定してもよい。状態判定部33がスリープモードに移行すると判定すると、スリープモード実行部35がスリープモードへの移行処理を行う。スリープモード実行部35は、データ退避部36、及び、動作クロック設定部37を有する。データ退避部36は、レジスタ11とRAM13のデータをバックアップRAM17に退避する。また、退避が終了すると、スリープモード実行部35は、動作クロック設定部37にスリープモード用の動作クロックを設定させ、また、電源回路制御部34に電源制御を要求する。これにより、マイコン100はスリープモードに移行する。ウェイクアップ実行部41は、マイコン100をウェイクアップさせるイベントが生じると実行が開始される。このようなイベントには様々なものがありまたマイコン100によって異なるが、例えば、所定の部品のスイッチオン、CAN通信の開始、一定時間の経過、等が挙げられる。また、ウェイクアップ実行部41はマイコン100が、IG-ONハイブリッド車や電気自動車ではメインシステムのスイッチがONとなることをいう等によりリセットされた場合も実行が開始される。イベントの発生は、スリープモード中の例えばタスク管理機能が定期的に特定のレジスタ11を参照することで検出する。イベントの発生を検出したタスク管理機能はウェイクアップ実行部41をCPU12に割り当てる。マイコンがリセットされた場合、マイコン100はスリープモードからの復帰でなく通常起動するので、リセット割込みによりCPU12は所定のアドレスの命令を実行することでウェイクアップ実行部41の実行を開始する。ウェイクアップ実行部41は、第1データ復帰部41、ウェイクアップ要因判定部43、ウェイクアップブートフック部44、及び、第2データ復帰部46を有する。第1データ復帰部41は後述するデータ復帰処理Aを行い、第2データ復帰部46は後述するデータ復帰処理Bを行う。ウェイクアップ要因判定部43は、ウェイクアップの要因がスリープモードから復帰したためのウェイクアップか、そうでないかを判定する。この判定を行うのは、本実施例のマイコン100はスリープモードからの復帰が、リセットからの復帰として扱われるため、ソフト的にスリープモードからの復帰か、リセットによる起動かを区別する必要があるためである。スリープモードからの復帰か、リセットからの起動かによって初期処理が変わってくる。例えば、スリープモードからの復帰でない場合、バックアップRAM17からのデータ復帰も不要になる。ウェイクアップブートフック部44は、ウェイクアップ時のフック処理プログラムの特定の箇所で呼び出される処理を行う。本実施例では代表的な処理として動作クロック設定部45が動作クロックを上昇させるものとする。図5は、マイコン100の動作モードの遷移を説明するフローチャート図の一例である。図5の手順はマイコン100が起動するとスタートする。起動後、まず、ウェイクアップ実行部41がウェイクアップブート処理を行うS10。ウェイクアップブート処理については実施例2にて説明する。ウェイクアップブート処理には、リセットからの起動処理とスリープモードからの復帰処理が含まれている。ウェイクアップ実行部41は、ウェイクアップブート処理を完了するとプログラムを実行するS20。このプログラムは、例えばmain関数の開始を意味しC言語の場合、以降、main関数が繰り返し実行される。上記のタスクA、B、状態判定部33はmain関数から実行される関数やルーチンなどである。状態判定部33は、例えば定期的にスリープ条件が成立したか否かを判定するS30。スリープ条件が成立しない場合S30のNo、CPU12は継続的にプログラムを実行する。スリープ条件が成立した場合S30のYes、スリープモード実行部35はスリープモードへの移行処理を行うS40。まず、スリープモード実行部35はマイコンステータスレジスタにスリープモードへ移行したことを記録する。具体的には、マイコンステータスレジスタのスリープ検出リセットフラグを1に設定する。したがって、ウェイクアップ時にはCPU12がバックアップRAM17からマイコンステータスレジスタを読み出すことで、スリープモードからの復帰か、リセットからの起動かを判定できる。なお、フラグの10がフラグのON/OFFのどちらを示すかは設計事項である。また、マイコンステータスレジスタには、この他、リセット原因を示すフラグが含まれている。リセット原因には、IG-ON、異常の発生やWDTによる外部リセット、バッテリ低電圧、内部低電圧などがある。データ退避部36は、RAM13のデータを予め決まったセクション毎にバックアップRAM17に退避する。セクションとは、RAM13やバックアップRAM17の領域アドレス範囲やブロックであり、重複しないセクション名を指定することで、バックアップRAM17とRAM13の領域を指定できる。また、データ退避部36は、レジスタ名を指定して全てのレジスタ11のデータをバックアップRAM17に退避する。バックアップRAM17のどのセクションに、RAM13及びレジスタ11のデータが記憶されているかは、第1データ復帰部41と第2データ復帰部46にとって明らかになっている。退避されるレジスタ11の1つにはマイコンステータスレジスタも含まれる。なお、RAM13については全領域のデータをバックアップRAM17に退避しなくてもよい。復帰後にプログラムが必要とするデータは、タスクA、Bなどのプログラムが作成したデータや制御を最適化するためのパラメータなどである。このような演算により得られたデータのみを退避することで、退避時間も復帰時間も短縮できる。この場合、データ退避部36は予め指定されたセクション名や変数名のみをRAM13から退避するなどして、退避するデータを選択する。データの退避後、動作クロック設定部37は動作クロックを低減し、電源回路制御部34がCPU12以外の回路への電源をOFFにする。これにより、マイコン100はスリープモードに移行する。スリープモードに移行すると、CPU12はウェイクアップのイベントが検出されるまで待機するS50。そして、ウェイクアップのイベントが検出されるとS50のYes、ステップS10のウェイクアップブート処理が実行される。以上説明したように、本実施例のマイコン100は、CPU12とのみ接続されたバックアップRAM17にデータを退避するので、レジスタ11とRAM13の電源をOFFにでき、また、リーク電流を低減できるのでスリープモード中の消費電力を低減できる。実施例1では、バックアップRAM17をマイコン100に設けた。しかし、このようなマイコン100では、ウェイクアップ時にバックアップRAM17からレジスタ11やRAM13へのデータの復帰処理が必要になるため、ウェイクアップを開始してからタスクA,Bなどの実行が開始されるまでの時間が長くなるおそれがある。そこで、本実施例では、バックアップRAM17を備えたマイコン100のウェイクアップ時間を短縮するウェイクアップ方法について説明する。図6は、本実施例のウェイクアップ手順を模式的に説明する図の一例である。図6では時間の経過順に、マイコン起動、レジスタ初期化、データ復帰処理Aウェイクアップ判断、ウェイクアップブートフック、メインクロック発振設定、メインクロック発振安定待ち、PLLクロック発振設定、PLLクロック発振安定待ち、データ復帰処理Bとなっている。このうち、データ復帰処理Aウェイクアップ判断とデータ復帰処理BがバックアップRAM17を搭載したことによる処理である。図示するように、ウェイクアップ時は動作クロックの発振や安定に時間がかかる。マイコン100によって大きく異なるが、図では、CRクロック発振期間500~750kHz程度、メインクロック発振期間1M~4MHz程度、PLLクロック発振期間8M~128MHzのように徐々に動作クロックが上昇する。なお、3段階に動作クロックが上昇するとは限らず、上昇時の動作クロックのステップ数はマイコン100に依存する。また、CRクロックはスリープモード中の動作クロックである。したがって、動作クロックの低いうちに処理を開始すれば、バックアップRAM17を搭載したことによる復帰時間の増大を、動作クロックの発振安定時間である程度吸収することができる。データ復帰処理Aウェイクアップ判断及びデータ復帰処理Bをどのタイミングで実行するかは適宜設計できる。本実施例では、動作クロックが最も低いスリープ中のCRクロックのままデータ復帰処理Aウェイクアップ判断を行い、最も高いPLLクロックに安定したらデータ復帰処理Bを実行するものとする。データ復帰処理Aでは必要最小限のデータのみを復帰させ、大部分のデータをデータ復帰処理Bで復帰させるのでウェイクアップ時間の遅延を最小限にすることができる。なお、動作クロックがCRクロックのままデータ復帰処理Bを開始してもよい。また、メインクロックに安定した段階でデータ復帰処理Aを開始し、PLLクロックに安定したらデータ復帰処理Bを開始してもよいし、メインクロックに安定した段階でデータ復帰処理Aデータ復帰処理Bを開始してもよい。データ復帰処理A必須処理:マイコンステータスレジスタをバックアップRAM17から読み出すマイコンステータスレジスタのスリープ検出リセットフラグによりスリープモードからの復帰か否かを判定するためである。また、データ復旧処理Aにはこのスリープモードからの復帰か否かのウェイクアップ判断が含まれる。オプション処理1:メインクロック発振設定、PLLクロック発振設定に必要なデータ動作クロックの指示値をバックアップRAM17から読み出すこの処理がオプションなのは、マイコン100によってはメインクロック発振設定、PLLクロックの設定値が固定であるため、バックアップRAM17から読み出す必要がないためである。オプション処理2:その他、早期に必要なデータをバックアップRAM17から読み出す早期に必要なデータはマイコン100やマイコン100が実行するプログラムによって異なるので、開発者が第一データ復帰部41に予め設定している。データ復帰処理B必須処理:スリープ前にバックアップRAM17に保持されたRAM13レジスタ11のデータをRAM13、レジスタ11に書き込むなお、マイコン100によっては、RAM13やレジスタ11に復帰が必要なデータ上記の演算により得られたデータなどを書き込まない仕様のものも存在する。そのようなマイコン100にとっては、データ復帰処理Bの必須処理が不要になる。データ復帰処理Bが不要な場合、プログラムのリンク時にデータ復帰処理Bを行う第2のデータ復帰部をリンクしなければよい。動作手順図7~9は、ウェイクアップ手順を説明するフローチャート図の一例である。図7の手順は、マイコン100をウェイクアップさせるイベントが検出されるか、又は、マイコン100のリセット起動によりスタートする。図7の処理は図5のステップS10の処理に相当する。なお、ウェイクアップにより電源回路制御部34が、電源回路21から全ての回路に電源を供給している。動作クロックは、スリープモードからの復帰であればCRクロックに安定しており、リセットからの起動であればCRクロックが安定してからウェイクアップ処理が実行される。まず、ウェイクアップ実行部41は、プロセッサを割込み禁止に設定するS101。割込み禁止にすることで、ウェイクアップ中に割込みが入り別の処理が実行されることを防止できる。なお、割込み禁止に設定するには割込み禁止レジスタに所定値を設定する。次に、ウェイクアップ実行部41はウェイクアップ時の専用レジスタを初期化するS102。専用レジスタは、ポインタやアドレスのインデックスを格納するレジスタである。そして、動作クロックを上昇させる前に、データ復帰処理Aウェイクアップ判断が実行されるS200。この処理については図8にて説明する。次に、ウェイクアップブートフック部44はウェイクアップ時のフック処理を行うS103。上記のように、このフック処理では、動作クロックの上昇処理が行われる。まず、動作クロック設定部45は、データ復帰処理Aで取得したメインクロックの指示値をメインクロック発生回路19に設定するS104。これにより動作クロックはメインクロックまで上昇する。動作クロック設定部45は、動作クロックがメインクロックで安定するまで、予め定められた時間、待機するS105。次に、動作クロック設定部45は、データ復帰処理Aで取得したPLLクロックの指示値をPLL回路20に設定するS106。これにより動作クロックはPLLクロックまで上昇する。動作クロック設定部45は、動作クロックがPLLクロックで安定するまで、予め定められた時間、待機するS107。次に、第2データ復帰部46は、データ復帰処理BのためにRAM13などを初期化する。まず、第2データ復帰部46はRAM13におけるスタック領域を初期化するS108。RAM13の全部でなく必ず使用する領域のみを初期化することで復帰処理の時間を短縮できる。次に、第2データ復帰部46は汎用レジスタを初期化するS109。そして、第2データ復帰部46はデータ復帰処理Bを実行するS300。この処理については図9にて説明する。データ復帰処理Bが完了すると、CPU12はメインスクA、Bなどのプログラムを実行するS110。すなわち、図5のステップS20に処理が以降する。図8は、データ復帰処理Aウェイクアップ判断の実行手順を説明するフローチャート図の一例である。第1データ復帰部41は、CPU12からマイコンステータスレジスタのデータを読み出すS201。この処理は上記のデータ復帰処理Aの必須処理に相当する。以降、ウェイクアップ要因判定部43がウェイクアップ要因を判定する。ウェイクアップ要因判定部43は、マイコンステータスレジスタのデータと所定のMASK値を論理演算してパワーオン検出リセットフラグを取り出す。そして、ウェイクアップ要因判定部43はパワーオン検出リセットフラグがONか否かを判定するS202。パワーオン検出リセットフラグがONであることはウェイクアップ処理がスリープモードからの復帰でなくIG-ONによるリセットを要因とすることになる。よって、パワーオン検出リセットフラグがONの場合S202のYes、処理はステップS210に進む。パワーオン検出リセットフラグがONでない場合S202のNo、ウェイクアップ要因判定部43は、外部リセット検出フラグがONか否かを判定するS203。すなわち、マイコンステータスレジスタのデータと所定のMASK値を論理演算して外部リセット検出フラグを取り出す。外部リセット検出トフラグがONであることはウェイクアップ処理がスリープモードからの復帰でなく外部からのリセットを要因とすることになる。よって、外部リセット検出フラグがONの場合S203のYes、処理はステップS210に進む。外部リセット検出フラグがONでない場合S203のNo、ウェイクアップ要因判定部43は、外部低電圧リセット検出フラグがONか否かを判定するS204。すなわち、マイコンステータスレジスタのデータと所定のMASK値を論理演算して外部低電圧リセット検出フラグを取り出す。外部低電圧リセット検出トフラグがONであることはウェイクアップ処理がスリープモードからの復帰でなくバッテリ電圧が閾値以下であることをリセット要因とすることになる。よって、外部低電圧リセット検出フラグがONの場合S204のYes、処理はステップS210に進む。外部低電圧リセット検出リセットフラグがONでない場合S204のNo、ウェイクアップ要因判定部43は、内部低電圧リセット検出フラグがONか否かを判定するS205。すなわち、マイコンステータスレジスタのデータと所定のMASK値を論理演算して内部低電圧リセット検出フラグを取り出す。内部低電圧リセット検出トフラグがONであることはウェイクアップ処理がスリープモードからの復帰でなく電源回路21の電圧が閾値以下であることをリセット要因とすることになる。よって、内部低電圧リセット検出フラグがONの場合S205のYes、処理はステップS210に進む。内部低電圧リセット検出リセットフラグがONでない場合S205のNo、ウェイクアップ要因判定部43は、スリープからの復帰か否かを同様に判定するS206。すなわち、マイコンステータスレジスタのデータと所定のMASK値を論理演算してスリープ検出フラグを取り出す。スリープ検出フラグがONでない場合にはS206のNo、同様に、処理はステップS210に進む。スリープ検出フラグがONの場合S206のYes、ウェイクアップ要因はスリープモードからの復帰と判定される。よって、第1データ復帰部41は、データ復帰処理Aのオプション処理を実行する。本実施例のマイコン100のオプション処理は、動作クロックの設定に必要なメインクロックとPLLクロックの指示値をバックアップRAM17から読み出すことである。第1データ復帰部41は、バックアップRAM17からメインクロックやPLLクロックの指示値を読み出すS207。この後、処理は図7のS103に戻る。処理がステップS210に遷移した場合、データ復帰を行わず、リセットからの起動処理が行われる。リセットからの起動処理後は、タスクA、Bなどのプログラムが実行される。図9は、データ復帰処理Bの実行手順S300を説明するフローチャート図の一例である。図7にてステップS300を含めステップS103~S110が実行されるのは、ステップS200でスリープモードからの復帰と判定された場合である。このため、第2データ復帰部46は、バックアップRAM17からRAM13とレジスタ11のデータを復帰すればよい。第2データ復帰部46はバックアップRAM17から読み出したデータをRAM13とレジスタ11にそれぞれ書き込むS301。この処理がデータ復帰処理Bの必須処理に相当する。また、第2データ復帰部46はその他、必要なデータがあれば復帰したり、周辺回路にデータを設定したりするS302。この後、処理は図7のS110に戻る。以上説明したように本実施例のマイコンは、動作クロックの遅い間は最小限のデータを復帰させ、動作クロックが速くなってから大部分のデータを復帰させる。このため、スリープ中のデータを保持するバックアップRAM17を備えたマイコン100のウェイクアップ時間を短縮できる。"