(57)【要約】【課題】本発明は、回路外部に退避されたデータの復帰時にいきなりデータ退避前の動作が再開されて、ユーザが対処不能となることを防止することが可能なデータ制御回路、及び、これを用いたデータ処理装置を提供することを目的とする。【解決手段】本発明に係るデータ制御回路は、電子回路に接続され、前記電子回路のデータを回路外部に退避するデータ退避制御機能と、回路外部に退避されたデータを前記電子回路に復帰するデータ復帰制御機能と、を備えて成るデータ制御回路であって、回路外部に退避されたデータの復帰に際して、前記電子回路がデータの退避前に行っていた処理を再開するよりも先に、これとは異なる特定の処理を実行させる構成（図２０（ａ）のステップＳ２４や、図２０（ｂ）のステップＳ３３を参照）とされている。【選択図】図２０
2008262349.tif 000002
【特許請求の範囲】
【請求項１】
電子回路に接続され、前記電子回路のデータを回路外部に退避するデータ退避制御機能と、回路外部に退避されたデータを前記電子回路に復帰するデータ復帰制御機能と、を備えて成るデータ制御回路であって、
回路外部に退避されたデータの復帰に際して、前記電子回路がデータの退避前に行っていた処理を再開するよりも先に、これとは異なる特定の処理を実行させることを特徴とするデータ制御回路。
【請求項２】
前記特定の処理は、ユーザに対してデータの退避／復帰が行われたことを報知する処理であることを特徴とする請求項１に記載のデータ制御回路。
【請求項３】
回路外部に退避されたデータを前記電子回路に復帰した後、前記電子回路に対してデータの退避／復帰が行われたことを通知することで、前記電子回路に前記特定の処理を実行させることを特徴とする請求項１または請求項２に記載のデータ制御回路。
【請求項４】
前記電子回路に対してデータの退避／復帰が行われたことを通知する処理として、所定の割り込み処理を行うことを特徴とする請求項３に記載のデータ制御回路。
【請求項５】
回路外部に退避されたデータに代えて、所定のプログラムを前記電子回路に入力することで、前記電子回路に前記特定の処理を実行させ、当該特定の処理が完了された後に、前記所定のプログラムと退避データとの入れ替え処理を行うことを特徴とする請求項１または請求項２に記載のデータ制御回路。
【請求項６】
前記電子回路のデータ退避時／データ復帰時には、前記電子回路の駆動クロックを遮断することを特徴とする請求項１〜請求項５のいずれかに記載のデータ制御回路。
【請求項７】
前記電子回路のデータ退避からデータ復帰までの期間に応じて、前記特定の処理を実行させるか否かを判断することを特徴とする請求項１〜請求項６のいずれかに記載のデータ制御回路。
【請求項８】
電子回路と、請求項１〜請求項７のいずれかに記載のデータ制御回路と、データの退避先となる記憶回路と、を有して成ることを特徴とするデータ処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子回路部を備えたデータ処理装置（マイクロプロセッサ、画像処理プロセッサ、マルチメディアプロセッサ、ＩＰコア、パーソナルコンピュータ、ネットワークサーバ、モバイル機器、ゲーム機、ＰＤＡ［Personal Digital/Data Assistants］など）、並びに、これに用いるデータ制御回路に関するものであり、特に、そのデータ退避／復帰技術に関するものである。
【背景技術】
【０００２】
従来より、データ処理装置に備えられた電子回路部のレジスタデータ等の一時的な記憶データは、電源遮断と同時に消失し、電源回復後も元の状態へ復帰することはできなかった。そのため、従来のデータ処理装置では、停電等の意図しない電源遮断が生じた場合、作業データ消失等の損害が招かれていた。
【０００３】
また、パーソナルコンピュータなどのソフトウェア制御を必要とするデータ処理装置の場合、電源の再投入時にソフトウェアのリロードが必要であることから、電源オン／オフ（ハードウェア立上げ）に長時間を必要とし、ユーザに無駄なストレスを与えていた。そのため、従来のデータ処理装置では、電子回路部が処理待ちの状態であっても、電子回路部への電源供給を安易に遮断することができないため、無駄な消費電力が増大していた。
【０００４】
なお、上記に関連する従来技術としては、特許文献１〜５などを挙げることができる。
【０００５】
特許文献１には、電源オフが発生したとき処理中のプログラムの走行状態を記憶し、電源復旧時に該プログラムを継続的に実行するようにデータ処理装置（すなわち、電源断が発生してもバッテリ等によりそのプログラムを保持できるような装置）において、電源がオフになったことを検出するオフ状態検出手段と、電源オフ時のプログラム走行状態を格納する複数のスタック区域と、該スタック区域に格納された走行プログラムが電源オフ時に動作する電源断プログラムであるか否かを識別する識別手段を設け、電源断状態のときに前記複数のスタック区域に順次プログラム走行状態を格納するとともに、電源復旧状態にはその逆に順次プログラム走行状態を読み出してその読出しプログラムが電源断プログラムでなくなるまでこれを読み出すようにしたことを特徴とする電源断復旧方式が開示・提案されている。
【０００６】
特許文献２には、一定時間毎にバッファメモリの各領域が退避条件を満足させているか否かを判定し、退避条件を満足させている領域のデータを磁気ディスク装置に退避させ、また、バッファメモリにバッファメモリに障害が発生した場合は、無効領域判定手段を用いて、有効なデータが退避されている領域と無効なデータが退避されている領域とを区別し、有効なデータが退避されている領域は磁気ディスク装置に退避されているデータを用いて復旧を行い、無効なデータが退避されている領域は更新履歴情報に基づいて復旧を行うデータ退避復元方式が開示・提案されている。
【０００７】
特許文献３には、データラッチ時に、第１及び第２のインバータ回路をループ状に接続することによりデータを保持するデータ保持回路と、データ書き込み時に、前記第１のインバータ回路の入力ノードにその一端を接続した状態で、前記データ保持回路に存するデータに対応した不揮発的状態を記憶し、データ復元時に、前記第１のインバータ回路の入力ノードに前記一端を接続するとともに、他端に読み出し用信号を付与することで、前記記憶していた不揮発的状態に対応した電荷であって、前記第１のインバータ回路のしきい値電圧より高いまたは低い電圧を前記第１のインバータ回路の入力ノードに発生させる電荷を、前記第１のインバータ回路の入力ノードに放出するよう構成された不揮発性記憶素子と、を備え、前記データ保持回路は、前記第１のインバータ回路の入力ノードと前記不揮発性記憶素子の一端との接続ノードとして定義される不揮発性記憶素子接続ノードと、前記第２のインバータ回路の出力ノードと、の間に挿入され、データラッチ時及びデータ書き込み時に継状態となるよう継断制御されるとともに、データ復元時には、前記読み出し用信号の付与時に断状態であり、その後、所定期間経過後に継状態となるよう継断制御されるループ継断用ゲート、を備えているデータ保持装置が本願出願人によって開示・提案されている。
【０００８】
特許文献４には、命令を実行するための処理装置であって、複数の組み合わせ論理回路とそれらと組み合わされて順序回路を構成するための複数の記憶素子とから成る順序回路を有するものと、退避用のメモリと、上記複数の記憶素子に保持された複数の内部データを読み出し、上記退避用のメモリに退避し、上記退避用のメモリから上記退避された複数の内部データを読み出し、上記複数の記憶素子に回復する退避回復回路と、上記退避回復回路によって上記複数の内部データが退避された後に、上記処理装置に待機状態用の電源電圧を供給し、上記退避回復回路によって上記退避された複数の内部データが回復される前に、上記処理装置に通常動作用の電源電圧を供給するように、上記処理装置に供給する電源電圧を切り換えるための電源供給切り替え回路と、を有するデータ処理装置が開示・提案されている。
【０００９】
特許文献５には、少なくとも主記憶メモリを有する中央処理装置、及び、必要に応じて外部記憶装置を備えて成るコンピュータシステムにおけるプログラムのウォーム・ブート方法において、前記コンピュータシステムの電源が断する直前に電源断を示す停電割込みを発生し、前記停電割込みが発生すると、その時の前記中央処理装置のレジスタと周辺集積回路の状態を前記主記憶メモリの特定のアドレスに退避すると共に、停電を示すフラグをセットして前記コンピュータシステムの電源が断するまで待機し、前記コンピュータシステムの電源が断すると同時に前記主記憶メモリへの電源供給を電源から電池に切り替えてバックアップし、次に前記コンピュータシステムの電源が投入されると同時に前記主記憶メモリへの電源供給を電池から電源に切り替え、前記停電を示すフラグがセットされている場合には、前記停電割込み発生により退避したレジスタと周辺集積回路の状態を戻すと共に当該停電を示すフラグをリセットし、前記停電を示すフラグがセットされていない場合には、前記外部記憶装置から制御プログラム、処理プログラムをロードするようにしたことを特徴とするコンピュータシステムにおけるプログラムのウォーム・ブート方法が開示・提案されている。
【特許文献１】特開昭５８−１６９２１８号公報
【特許文献２】特開平４−１０７７２５号公報
【特許文献３】特開２００４−１８６８７４号公報
【特許文献４】特開平１０−７８８３６号公報
【特許文献５】特開平３−１６３６１７号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
確かに、特許文献１〜５の従来技術であれば、電子回路部のデータを退避／復帰させたり、或いは、保持したりすることが可能である。
【００１１】
しかしながら、特許文献１の従来技術では、無停電源装置（ＵＰＳ［Uninterruptible Power Supply］）やバッテリバックアップなど、メイン電源とは別にサブ電源を設ける必要があるため、データ処理装置の規模拡大やコストアップを招く要因となっていた。
【００１２】
また、特許文献２の従来技術では、通常動作中にデータバックアップ動作を実施する必要があるため、データ処理装置の能力を少なからず低下させる要因となっており、また、データバックアップの頻度を下げるとデータの消失量が大きくなるという課題があった。
【００１３】
また、特許文献３の従来技術は、あくまで、電子回路内のデータ記憶回路に用いられるレジスタを、電源供給がなくともデータ保持できるようにするための技術であり、データを退避／復帰させる技術ではなかった。
【００１４】
また、特許文献４の従来技術は、あくまで、データ退避の前後で電源電圧を切り換えることにより、待機時のリーク電流を削減して消費電力を下げるための技術であって、電源供給が遮断されたときのデータ退避／復帰については何ら想定されていなかった。
【００１５】
また、特許文献５の従来技術は、あくまで、中央処理装置上で実行されるプログラムにより、中央処理装置のレジスタや周辺集積回路の状態を退避／復帰する技術であった。そのため、データ復帰毎に復帰用プログラムのリロードが必要であり、電源オン／オフ（ハードウェア起動）に長時間が必要であった。また、既存システムにデータ退避／復帰機能を持たせる場合には、プログラムの互換性を保つことができないため、プログラムを修正する必要があった。また、ソフトウェア処理によるデータ退避／復帰処理では、当該処理自体にも長時間を要していた。
【００１６】
また、上記に挙げた従来技術において、電子回路のデータ退避／復帰中に駆動クロックを遮断した場合、電子回路自身ではデータ退避／復帰が行われたかどうかを判別することができず、データ復帰完了後には、あたかも何事もなかったようにデータ退避前の動作を再開しようとするが、例えば、ユーザ操作を常時要求するようなアプリケーション（例えばゲーム機）の停電時にデータ退避が行われた場合には、データ復帰後にいきなりデータ退避前の動作が再開されることになるため、ユーザが対処不能となるおそれがあった。
【００１７】
本発明は、上記の問題点に鑑み、回路外部に退避されたデータの復帰時にいきなりデータ退避前の動作が再開されて、ユーザが対処不能となることを防止することが可能なデータ制御回路、及び、これを用いたデータ処理装置を提供することを目的とする。
【課題を解決するための手段】
【００１８】
上記目的を達成するために、本発明に係るデータ制御回路は、電子回路に接続され、前記電子回路のデータを回路外部に退避するデータ退避制御機能と、回路外部に退避されたデータを前記電子回路に復帰するデータ復帰制御機能と、を備えて成るデータ制御回路であって、回路外部に退避されたデータの復帰に際して、前記電子回路がデータの退避前に行っていた処理を再開するよりも先に、これとは異なる特定の処理を実行させる構成（第１の構成）とされている。
【００１９】
なお、上記第１の構成から成るデータ制御回路において、前記特定の処理は、ユーザに対してデータの退避／復帰が行われたことを報知する処理である構成（第２の構成）にするとよい。
【００２０】
また、上記第１または第２の構成から成るデータ制御回路は、回路外部に退避されたデータを前記電子回路に復帰した後、前記電子回路に対してデータの退避／復帰が行われたことを通知することで、前記電子回路に前記特定の処理を実行させる構成（第３の構成）にするとよい。
【００２１】
また、上記第３の構成から成るデータ制御回路は、前記電子回路に対してデータの退避／復帰が行われたことを通知する処理として、所定の割り込み処理を行う構成（第４の構成）にするとよい。
【００２２】
また、上記第１または第２の構成から成るデータ制御回路は、回路外部に退避されたデータに代えて、所定のプログラムを前記電子回路に入力することで、前記電子回路に前記特定の処理を実行させ、当該特定の処理が完了された後に、前記所定のプログラムと退避データとの入れ替え処理を行う構成（第５の構成）としてもよい。
【００２３】
また、上記第１〜第５いずれかの構成から成るデータ制御回路は、前記電子回路のデータ退避時／データ復帰時には前記電子回路の駆動クロックを遮断する構成（第６の構成）にするとよい。
【００２４】
また、上記第１〜第６いずれかの構成から成るデータ制御回路は、前記電子回路のデータ退避からデータ復帰までの期間に応じて、前記特定の処理を実行させるか否かを判断する構成（第７の構成）にするとよい。
【００２５】
また、本発明に係るデータ処理装置は、電子回路と、上記第１〜第７いずれかの構成から成るデータ制御回路と、データの退避先となる記憶回路と、を有して成る構成（第８の構成）とされている。
【発明の効果】
【００２６】
本発明に係るデータ制御回路、及び、これを用いたデータ処理装置であれば、回路外部に退避されたデータの復帰時にいきなりデータ退避前の動作が再開されて、ユーザが対処不能となることを防止することが可能となる。
【発明を実施するための最良の形態】
【００２７】
図１は、本発明に係るデータ処理装置の一実施形態を示すブロック図である。
【００２８】
本図に示すように、本実施形態のデータ処理装置は、電子回路部１と、データ退避／復帰制御部２と、不揮発性メモリ３と、を有して成る。
【００２９】
電子回路部１は、複数のレジスタ１１〜１３を用いて、データの演算処理を行うＣＭＯＳロジック回路（ＣＰＵ［Central Procesing Unit］など）である。なお、電子回路部１の通常動作時には、レジスタ１１〜１３を介して、各々８ビットのパラレル信号（ＰＩ／ＰＯ）が入出力される。また、レジスタ数や入出力ビット数については、これに限定されるものではない。
【００３０】
一方、本実施形態の電子回路部１は、上記通常時の第１信号経路（パラレル信号ＰＩ／ＰＯの入出力経路）とは別に、レジスタ１１〜１３を各々形成するフリップフロップＦＦをシフトレジスタ構造に切り換えるための第２信号経路（シリアル信号ＳＩ／ＳＯの入出力経路、いわゆるスキャンパス）も備えている。このスキャンパスについては、数多くのレジスタを備えたＣＭＯＳロジック回路のデバッグ用として広く搭載されている周知の技術であるため、それ自体の詳細な説明は割愛するが、本実施形態の電子回路部１では、上記のスキャンパスをレジスタデータの退避／復帰時に流用することで、レジスタデータをシリアル信号（ＳＩ／ＳＯ）として入出力する構成とされている。すなわち、本実施形態の演算処理部１は、データ退避／復帰制御部２から入力されるノーマルイネーブル信号ＮＥ（通常時にはイネーブル、データ退避／復帰時にはディセーブル）に基づいて、フリップフロップＦＦをシフトレジスタ構造に切り換えるか否かを制御する構成とされている。
【００３１】
データ退避／復帰制御部２は、電源投入／電源遮断を検出するためのリセット信号ＲＳＴに基づいて、電源遮断時、電源電圧ＶＤＤの降下が検知されてから、電源電圧ＶＤＤが装置の動作保証下限電圧（装置の正常動作が保証される電源電圧ＶＤＤの下限値、例えば通常電圧値の９０％）に達するまでの間に、電子回路部１のレジスタデータを不揮発性メモリ３に退避するデータ退避制御手段、並びに、電源投入時、電源電圧ＶＤＤが装置の動作保証下限電圧に達してから、電子回路部１が動作を開始するまでの間に、不揮発性メモリ３に退避されたレジスタデータを電子回路部１に復帰するデータ復帰制御手段である。
【００３２】
図２は、データ退避期間及びデータ復帰期間を説明するための波形図である。
【００３３】
本図に示すように、データ退避期間及びデータ復帰期間は、いずれも、電源遮断直後、或いは、電源投入直後の極めて短い期間（数百［μｓ］）であり、本実施形態のデータ処理装置では、当該期間内にレジスタデータの退避／復帰が完了されることになる。このような構成であれば、サブ電源や通常動作中のデータバックアップ動作を要することなく、電子回路部１のレジスタデータを電源のオン／オフに応じて適切に退避／復帰させることができるので、電子回路部１のレジスタデータが実質的に不揮発化されたシステムを実現することが可能となる。
【００３４】
なお、本実施形態のデータ退避／復帰制御部２は、動作モード制御部２１と、シーケンス制御部２２と、データスキャン制御部２３と、シリアル／パラレル変換部２４と、アドレス生成部２５と、リード／ライト制御部２６と、を有して成る。
【００３５】
また、上記のシリアル／パラレル変換部２４は、ＳＩＰＯ［Serial-In-Parallel-Out］レジスタ２４ａと、ＰＩＳＯ［Parallel-In-Serial-Out］レジスタ２４ｂと、双方向Ｉ／Ｏ［Input/Output］バッファ（３ステートＩ／Ｏバッファ）２４ｃと、を有して成る。
【００３６】
上記構成から成るデータ退避／復帰制御部２の各部動作、並びに、これを用いたレジスタデータの退避／復帰動作については、後ほど詳細な説明を行う。
【００３７】
不揮発性メモリ３は、電源が遮断された場合でも記憶内容を保持することが可能な記憶手段であり、本実施形態のデータ処理装置では、強誘電体のヒステリシス特性を利用してレジスタデータを不揮発的に格納するＦｅＲＡＭ［Ferroelectric RAM］（２５６Ｋｂ＝３２Ｋｂ×８）が用いられている。
【００３８】
次に、上記構成から成るデータ処理装置におけるレジスタデータの退避動作について、図３を参照しながら、詳細に説明する。
【００３９】
図３は、レジスタデータの退避動作を説明するためのタイミングチャートである。
【００４０】
電源遮断時、先出の図２で示したように、電源電圧ＶＤＤの降下を検知してリセット信号ＲＳＴがハイレベルに立ち上がると、動作モード制御部２１は、電子回路部１のレジスタ１１〜１３をシフトレジスタ構造に切り換えるべく、ノーマルイネーブル信号ＮＥ（図３では不図示）をディセーブルとする一方、シーケンス制御部２２に対して、データ退避を指示する。具体的に述べると、動作モード制御部２１は、シーケンス制御部２２に対して、レジスタデータの書込み先アドレスを指示するアドレス信号ＡＤＤＲを入力するとともに、不揮発性メモリ３に対するレジスタデータの書込み動作を指示するライト信号ＷＲＩＴＥをイネーブル（本実施形態ではハイレベル）とする。
【００４１】
データ退避の指示を受けたシーケンス制御部２２の内部では、不揮発性メモリ３に対するレジスタデータの書込み動作が指示されていることを示す書込み動作フラグＷＲＩＴＥＳＴが立てられる。なお、書込み動作フラグＷＲＩＴＥＳＴが立っているとき、アドレス生成部２５は、レジスタデータの書込み先アドレスを生成する状態となり、リード／ライト制御部２６は、不揮発性メモリ３への書込み動作を行う状態となる。
【００４２】
また、シーケンス制御部２２の内部では、クロック信号ＣＬＫのポジティブエッジに同期して、電子回路部１からのデータ読出し動作や不揮発性メモリ３へのデータ書込み動作のタイミング制御に用いられるシーケンス制御カウンタＣＯＵＮＴがカウントアップされる。すなわち、本実施形態のデータ処理装置は、シーケンス制御カウンタＣＯＵＮＴのカウント値に応じたステートマシンとして、レジスタデータの退避動作が制御される。
【００４３】
さらに、シーケンス制御部２２は、データスキャン制御部２３に対して、スキャンパスによるレジスタ１１〜１３のデータスキャン（レジスタデータの読み出し）を実行するように指示する。具体的に述べると、シーケンス制御部２２は、データスキャン制御部２３の動作可否を指示するデータスキャン制御信号ＳＣＡＮをイネーブル（本実施形態ではハイレベル）とする。なお、上記のデータスキャン制御信号ＳＣＡＮは、シーケンス制御カウンタＣＯＵＮＴが０〜７カウントを示す期間中、イネーブルとされる。
【００４４】
スキャンパスによるデータスキャン実行の指示を受けたデータスキャン制御部２３は、スキャンイネーブル信号ＳＥを８回叩き、ＳＩＰＯレジスタ２４ａに対して、８ビットずつレジスタ１１〜１３のデータを読むように指示する。これにより、ＳＩＰＯレジスタ２４ａには、８ビット分（本実施形態ではレジスタ１個分）のデータが蓄積される形となる（図中のＳＩＰＯ入力データＲＥＧＩＮを参照）。
【００４５】
一方、シーケンス制御カウンタＣＯＵＮＴの６カウント目では、ロード信号ＦＬＯＡＤが立ち上げられ、ＳＩＰＯレジスタ２４ａに蓄積されたレジスタデータを読み出すための準備作業が開始される。
【００４６】
このようにして、ＳＩＰＯレジスタ２４ａにデータの蓄積が完了された後は、チップイネーブル信号ＦＣＥ、アウトプットイネーブル信号ＦＯＥ、及び、ライトイネーブル信号ＦＷＥに基づいて、不揮発性メモリ３に対するレジスタデータの書込み制御に移行する。
【００４７】
チップイネーブル信号ＦＣＥは、不揮発性メモリ３へのアクセスを許可するときにイネーブルとされ、不揮発性メモリ３へのアクセスを禁止するときにディセーブルとされる。なお、チップイネーブル信号ＦＣＥは、ネガティブエッジをトリガとしてイネーブルに遷移し、ポジティブエッジをトリガとしてディセーブルに遷移する。図３の場合、チップイネーブル信号ＦＣＥは、シーケンス制御カウンタＣＯＵＮＴの９カウント目でハイレベルに立ち上げられて、ネガティブエッジ（イネーブル遷移）の準備状態となり、１０カウント目でローレベルに立ち下げられてイネーブルとなる。
【００４８】
アウトプットイネーブル信号ＦＯＥは、不揮発性メモリ３からレジスタデータを読み出す際にイネーブルとされ、不揮発性メモリ３へレジスタデータを書き込む際にディセーブルとされる。図３の場合、アウトプットイネーブル信号ＦＯＥは、常にディセーブル（本実施形態ではローレベル）に維持される。
【００４９】
ライトイネーブル信号ＦＷＥは、アウトプットイネーブル信号ＦＷＥとは逆に、不揮発性メモリ３からレジスタデータを読み出す際にディセーブルとされ、不揮発性メモリ３へレジスタデータを書き込む際にイネーブルとされる。図３の場合、ライトイネーブル信号ＦＷＥは、シーケンス制御カウンタＣＯＵＮＴが８〜１５カウントを示す期間中、イネーブル（本実施形態ではハイレベル）とされる。
【００５０】
メモリ入出力信号ＦＩＯは、双方向Ｉ／Ｏバッファ２４ｃと不揮発性メモリ３との間でやり取りされる８ビットのパラレル信号であり、チップイネーブル信号ＦＣＥのネガティブエッジ（イネーブル遷移）をトリガとして、ＳＩＰＯレジスタ２４ａの蓄積データが取り込まれる。なお、本実施形態のデータ処理装置では、シーケンス制御カウンタＣＯＵＮＴの１０カウント目で、８ビット分のレジスタデータが双方向Ｉ／Ｏバッファ２４ｃを介して、不揮発性メモリ３にパラレル転送される。
【００５１】
その後、チップイネーブル信号ＦＣＥは、シーケンス制御カウンタＣＯＵＮＴの２カウント分だけローレベルに維持された後でハイレベルとされ、１５カウント目で、再びデフォルトのローレベルに戻される。なお、レジスタデータの書込み処理後におけるメモリ入出力信号ＦＩＯの論理状態は、図３に示すように、不定であっても構わない。
【００５２】
最終的に、シーケンス制御カウンタＣＯＵＮＴの１５カウント目で、アクセス終了信号ＯＰＥＮが立ち上げられ、１ワード分のデータ退避が終了したことが認識される。
【００５３】
上記で説明したように、本実施形態のデータ処理装置では、シーケンス制御カウンタＣＯＵＴのカウント値に基づいて、最初の８カウント（０〜７カウント）で８ビット分のレジスタデータを電子回路部１から読み出し、次の８カウント（８〜１５カウント）で読み出されたレジスタデータを不揮発性メモリ３に書き込むという動作が繰り返される。
【００５４】
なお、上記のように、スキャンパスによる電子回路部１のデータスキャンを行うと、レジスタ１１〜１３には不要データが順次上書きされていくことになるが、このような不要データは電源遮断時に消失するので、データ復帰時に支障が生じることはない。
【００５５】
次に、上記構成から成るデータ処理装置におけるレジスタデータの復帰動作について、図４を参照しながら、詳細に説明する。
【００５６】
図４は、レジスタデータの復帰動作を説明するためのタイミングチャートである。
【００５７】
電源投入時、先出の図２で示したように、電源電圧ＶＤＤの上昇を検知してリセット信号ＲＳＴがローレベルに立ち上がると、動作モード制御部２１は、電子回路部１のレジスタ１１〜１３をシフトレジスタ構造に切り換えるべく、ノーマルイネーブル信号ＮＥ（図４では不図示）をディセーブルとする一方、シーケンス制御部２２に対して、データ復帰を指示する。具体的に述べると、動作モード制御部２１は、シーケンス制御部２２に対して、レジスタデータの読出し先アドレスを指示するアドレス信号ＡＤＤＲを入力するとともに、不揮発性メモリ３に対するレジスタデータの読出し動作を指示するリード信号ＲＥＡＤをイネーブル（本実施形態ではハイレベル）とする。
【００５８】
データ復帰の指示を受けたシーケンス制御部２２の内部では、不揮発性メモリ３に対するレジスタデータの読出し動作が指示されていることを示す読出し動作フラグＲＥＡＤＳＴが立てられる。なお、読出し動作フラグＲＥＡＤＳＴが立っているとき、アドレス生成部２５は、レジスタデータの読出し先アドレスを生成する状態となり、リード／ライト制御部２６は、不揮発性メモリ３からの読出し動作を行う状態となる。
【００５９】
また、シーケンス制御部２２の内部では、クロック信号ＣＬＫのポジティブエッジに同期して、不揮発性メモリ３からのデータ読出し動作や電子回路部１へのデータ書込み動作のタイミング制御に用いられるシーケンス制御カウンタＣＯＵＮＴがカウントアップされる。すなわち、本実施形態のデータ処理装置は、シーケンス制御カウンタＣＯＵＮＴのカウント値に応じたステートマシンとして、レジスタデータの復帰動作が制御される。
【００６０】
不揮発性メモリ３からレジスタデータを読み出す準備が整うと、チップイネーブル信号ＦＣＥ、アウトプットイネーブル信号ＦＯＥ、及び、ライトイネーブル信号ＦＷＥに基づいて、不揮発性メモリ３に対するレジスタデータの読出し制御が行われる。
【００６１】
図４の場合、チップイネーブル信号ＦＣＥは、シーケンス制御カウンタＣＯＵＮＴの１カウント目でハイレベルに立ち上げられて、ネガティブエッジ（イネーブル遷移）の準備状態となり、２カウント目でローレベルに立ち下げられてイネーブルとなる。また、アウトプットイネーブル信号ＦＯＥは、シーケンス制御カウンタＣＯＵＮＴが０〜７カウントを示す期間中、イネーブル（本実施形態ではハイレベル）とされる。一方、ライトイネーブル信号ＦＷＥは、常にディセーブル（本実施形態ではローレベル）に維持される。従って、本実施形態のデータ処理装置では、シーケンス制御カウンタＣＯＵＮＴの２カウント目で、８ビット分のレジスタデータが双方向Ｉ／Ｏバッファ２４ｃを介して、不揮発性メモリ３からパラレル転送されることになる。
【００６２】
そして、シーケンス制御カウンタＣＯＵＮＴの６カウント目では、ロード信号ＦＬＯＡＤが立ち上げられ、ＰＩＳＯレジスタ２４ｂに対するレジスタデータの蓄積が行われる。
【００６３】
その後、チップイネーブル信号ＦＣＥは、シーケンス制御カウンタＣＯＵＮＴの２カウント分だけローレベルに維持された後でハイレベルとされ、７カウント目で、再びデフォルトのローレベルに戻される。なお、レジスタデータの読出し処理後におけるメモリ入出力信号ＦＩＯの論理状態は、図４に示すように、不定であっても構わない。
【００６４】
このようにして、ＰＩＳＯレジスタ２４ｂにデータの蓄積が完了された後、シーケンス制御部２２は、データスキャン制御部２３に対して、スキャンパスによるレジスタ１１〜１３のデータスキャン（退避しておいたレジスタデータの書き込み）を実行するように指示する。具体的に述べると、シーケンス制御部２２は、データスキャン制御部２３の動作可否を指示するデータスキャン制御信号ＳＣＡＮをイネーブル（本実施形態ではハイレベル）とする。なお、上記のデータスキャン制御信号ＳＣＡＮは、シーケンス制御カウンタＣＯＵＮＴが８〜１５カウントを示す期間中、イネーブルとされる。
【００６５】
スキャンパスによるデータスキャン実行の指示を受けたデータスキャン制御部２３は、スキャンイネーブル信号ＳＥを８回叩き、ＰＩＳＯレジスタ２４ｂに対して、１ビットずつシリアルにデータを出力するように指示する。これにより、レジスタ１１〜１３には、８ビット分（本実施形態ではレジスタ１個分）のデータが復帰される形となる（図中のＰＩＳＯ出力データＲＥＧＯＵＴを参照）。
【００６６】
最終的に、シーケンス制御カウンタＣＯＵＮＴの１５カウント目で、アクセス終了信号ＯＰＥＮが立ち上げられ、１ワード分のデータ復帰が終了したことが認識される。
【００６７】
上記で説明したように、本実施形態のデータ処理装置では、先に説明した退避動作と逆の手順で、レジスタデータの復帰動作が行われる。すなわち、シーケンス制御カウンタＣＯＵＴのカウント値に基づいて、最初の８カウント（０〜７カウント）で不揮発性メモリ３からレジスタデータを８ビット分読み出し、次の８カウント（８〜１５カウント）でレジスタデータを電子回路部１に書き込むという動作が繰り返される。
【００６８】
続いて、大規模な電子回路部の不揮発化を実現する上での工夫について、図５〜図７を参照しながら詳細に説明する。
【００６９】
図５は、全配線引出し型（ａ）とシフトレジスタ活用型（ｂ）の概略構成を示すブロック図である。図６は、レジスタ数と配線長との関係を示す図である。図７は、演算処理部及び不揮発性メモリのデータ転送速度を示す図である。
【００７０】
図５（ａ）で示したように、複数のレジスタから各個にデータ退避用の配線を引き出した形式（全配線引出し型）を採用すると、高速にレジスタデータの退避を行うことが可能となる。ただし、当該形式を採用した場合には、レジスタと同数の配線や出力ポートが必要となるため、図６（ａ）で示したように、電子回路部の大規模化に伴って、データ退避用の配線長が大きくなり、大規模な電子回路部への適用が困難となる。
【００７１】
これに対して、図５（ｂ）で示したように、複数のレジスタをシリアルに接続し、最終段のレジスタからデータ退避用の配線を引き出した形式（シフトレジスタ活用型）を採用すれば、レジスタ数に依ることなく、隣接レジスタ間の配線と単一の出力ポートを追加するのみで足りるので、図６（ｂ）で示すように、レジスタ数を増加させても配線長の増大はほとんどなく、大規模な電子回路部への適用が容易となる。
【００７２】
例えば、１［ｍｍ］角のロジックブロック内に等間隔でレジスタを配置した場合、全配線引き出し型では、配線長が５００［ｍｍ］程度となるのに対して、シフトレジスタ活用型であれば、配線長を上記の１／１０以下（３０［ｍｍ］程度）に抑えることができる。
【００７３】
特に、スキャンパス機能を搭載するＣＰＵなどは、シリアル出力ポートを有しているため、これを流用すれば既存ロジックに何ら影響を与えることなく、本発明を適用することが可能となる。
【００７４】
なお、データ転送速度について見ると、全配線引出し型の方がシフトレジスタ活用型よりも高速である。例えば、５０［ＭＨｚ］で駆動するＣＰＵ（Ｚ８０）のデータ転送速度は、図７で示すように、全配線引出し型で４００［Ｍｂｐｓ］程度となり、シフトレジスタ活用型で５０［Ｍｂｐｓ］程度となる。
【００７５】
しかしながら、例えば、ＣＰＵ（Ｚ８０）に用いられる２５０個分のレジスタデータを図２に示したデータ退避期間内（数百［μｓ］）に全て退避するために必要なデータ転送速度は、１［Ｍｂｐｓ］程度で足りるため、シフトレジスタ活用型を採用した場合でも充分なマージンが確保されており、特段問題が生じることはない。
【００７６】
一方、不揮発性メモリ３としては、できるだけデータ転送速度の速いものを用いる必要があり、８０［Ｋｂｐｓ］程度のデータ転送速度しか持たないＥＥＰＲＯＭなどは、大規模な電子回路部の不揮発化を実現する上で不適当である。そこで、本実施形態のデータ処理装置では、不揮発性メモリ３として、１６［Ｍｂｐｓ］のデータ転送速度を有するＦｅＲＡＭを用いている。このような構成とすることにより、上記のデータ退避期間内に電子回路部のレジスタデータを全て退避させることが可能となる。
【００７７】
ただし、不揮発性メモリ３としてＦｅＲＡＭを用いた場合でも、そのデータ転送速度は演算処理部１のデータ転送速度よりもかなり遅いので、電子回路部１から不揮発性メモリ３へのデータ転送を一貫してシリアルで行うと、レジスタデータの退避能力が不揮発性メモリ３のデータ転送速度に律速される形となってしまう。
【００７８】
そこで、本実施形態のデータ処理装置は、データ退避時には、電子回路部１からシリアル入力されるレジスタデータをパラレル変換して不揮発性メモリ３に出力する一方、データ復帰時には、不揮発性３メモリからパラレル入力されるレジスタデータをシリアル変換して電子回路部１に出力するシリアル／パラレル変換部２４を有して成る。
【００７９】
このような構成とすることにより、不揮発性メモリ３に対して１回アクセスする間に、電子回路部１から複数のレジスタデータを読む出すことができるので、上記の律速状態を解消することが可能となる。
【００８０】
以上で説明したように、本実施形態のデータ処理装置は、電源遮断直後、或いは、電源投入直後の極めて短い期間内（数百［μｓ］）にレジスタデータ（電子回路部１で処理されるデータを格納する手段として揮発性メモリを用いないデータ処理装置に関して言えば電子回路部１の状態復帰に必要な全データ）の退避／復帰を行うことで、電子回路部１のレジスタデータを実質的に不揮発化する構成とされている。
【００８１】
このような構成とすることにより、サブ電源や通常動作中のデータバックアップ動作を要することなく、停電等の突発的な電源遮断が生じた場合でも、レジスタデータの消失を防止することができるので、作業時間のロスといった被害を抑制することが可能となる。
【００８２】
例えば、本発明をネットワークサーバ（ネットワーク管理システム）に適用すれば、停電中も処理状態を維持し、電源回復後に処理を再開することができるので、不意の停電が生じた場合にも、その影響を受けることがなくなる。
【００８３】
また、パーソナルコンピュータなどのソフトウェア制御を必要とするデータ処理装置の場合、電源投入時に電子回路部のレジスタデータを電源遮断時の状態に復帰することができるため、ソフトウェアのリロード等に伴うハードウェアの立上げ時間を大幅に短縮することが可能となる。従って、テレビなどの家電製品を取り扱う感覚で、気軽にパーソナルコンピュータを使用することが可能な環境をユーザに提供することができる。さらに、本実施形態のデータ処理装置であれば、数秒程度の短い間隔で電源をオン／オフさせても、ユーザにストレスを与えることがないので、電子回路部が処理待ちの状態となったことを検知してこまめに電源を遮断することで、消費電力の低減を図ることが可能となる。
【００８４】
例えば、本発明をデスクトップパソコンや据え置き型のゲーム機に適用すれば、瞬時に電源の立上げや起動が可能となり、データの保存や起動待ちが不要となるので、ストレスフリーなＩＴ環境を提供することが可能となる。
【００８５】
また、本発明をノートパソコンやモバイル機器に適用すれば、バッテリバックアップが不要となり、バッテリの残量がなくても、数ヶ月間にわたって何ら問題なくデータを保持することが可能となる。
【００８６】
なお、本発明の構成は、上記実施形態のほか、発明の主旨を逸脱しない範囲で種々の変更を加えることが可能である。
【００８７】
例えば、上記実施形態では、不揮発性メモリ３としてＦｅＲＡＭを用いた構成を例に挙げて説明を行ったが、本発明の構成はこれに限定されるものではなく、不揮発性メモリ３として、磁性体の磁気抵抗効果を利用してレジスタデータを不揮発的に格納するＭＲＡＭ［Magnetroresistive RAM］、若しくは、素子の相変化を利用してレジスタデータを不揮発的に格納するＰＲＡＭ［Phase change RAM］を用いても構わない。
【００８８】
なお、ＭＲＡＭは、データ転送速度がＦｅＲＡＭよりも高速（８倍程度）である反面、消費電力がＦｅＲＡＭよりも大きく、電源電圧ＶＤＤがより速く低下するため、不揮発性メモリ３としてＭＲＡＭを用いる場合には、データ退避に割くことのできる時間が短くなることに留意すべきである。
【００８９】
一方、ＰＲＡＭは、ＦｅＲＡＭと同等或いはやや遅い程度のデータ転送速度を有しているが、データ書換え回数の制限がＦｅＲＡＭよりも厳しいため、不揮発性メモリ３としてＰＲＡＭを用いる場合には、その耐用期間が短くなることに留意すべきである。
【００９０】
次に、上記で説明した本発明の応用例として、既存の電子回路（市場投入実績があるＩＣ、ＬＳＩ、ＩＰコアなど）とは別に、レジスタデータの退避／復帰制御機能を備えたデータ制御回路を搭載することにより、容易かつ低コストで、電子回路の利便性向上や待機時における消費電力削減を実現するシステムの構築技術について、図８を参照しながら、詳細に説明する。
【００９１】
図８は、本発明に係るデータ制御回路を搭載したシステム構成の一例を示すブロック図である。なお、図８（ａ）は、ＳｏＣ［System-on-Chip］構成の一例を示しており、図８（ｂ）は、オンボードシステム構成の一例を示している。
【００９２】
図８（ａ）に示したＳｏＣ構成のデータ処理装置において、システムＬＳＩ（ＳｏＣ）１００は、電子回路１００ａ（ＣＰＵコアなど）と、データ制御回路１００ｂと、混載メモリ１００ｃと、を同一のチップ内に集積化して成る。
【００９３】
電子回路１００ａは、図１の電子回路部１に相当するものであり、回路外部から回路内部のレジスタにアクセスするためのレジスタデータ入力ポート及びレジスタデータ出力ポート（スキャンパスなどのデバッグ用ポート）を備えて成る。
【００９４】
データ制御回路１００ｂは、図１のデータ退避／復帰制御部２に相当するものであり、電子回路１００ａのレジスタデータ出力ポートを介して、電子回路１００ａのレジスタデータを回路外部に退避するデータ退避制御機能を備えて成る。また、データ制御回路１００ｂは、電子回路１００ａのレジスタデータ入力ポートを介して、電子回路１００ａの外部に退避されたレジスタデータを回路内部のレジスタに復帰するデータ復帰制御機能を備えて成る。
【００９５】
混載メモリ１００ｃは、図１の不揮発性メモリ３に相当するものであり、電子回路１００ａから読み出されたレジスタデータの退避先となる記憶回路である。
【００９６】
なお、図８（ａ）において、符号Ｘ１は、データ制御回路１００ｂからレジスタデータ入力ポートを介して電子回路１００ａのレジスタに与えられるシリアル信号（図１のシリアル信号ＳＩに相当）を示している。符号Ｘ２は、電子回路１００ａのレジスタからレジスタデータ出力ポートを介してデータ制御回路１００ｂに読み出されるシリアル信号（図１のシリアル信号ＳＯに相当）を示している。符号Ｘ３は、電子回路１００ａにおけるシリアル信号の入出力経路（スキャンパスなどのデバッグ線）を示している。なお、スキャンパスについては、ＣＭＯＳコアの回路合成時にオプションとして形成すればよい。符号Ｘ４は、スキャンパスイネーブル信号（図１のスキャンパスイネーブル信号ＳＥに相当）を示している。符号Ｘ５は、データ制御回路１００ｂと混載メモリ１００ｃとの間でレジスタデータの入出力を行うための内部メモリバスを示している。符号Ｘ６は、データ制御回路１００ｂと別ＬＳＩや外付けメモリなどとの間でレジスタデータの入出力を行うための外部バスを示している。符号Ｘ７は、電源制御回路などから入力されるデータ制御信号（レジスタデータの退避／復帰を制御するためのトリガ信号）を示している。
【００９７】
一方、図８（ｂ）に示したオンボードシステム構成のデータ処理装置において、電子回路１１０（ＣＰＵなど）、データ制御回路１２０、及び、メモリ１３０は、それぞれ、別個のチップ内に集積化されて成り、マザーボード上に個別に搭載されている。
【００９８】
電子回路１１０は、図１の電子回路部１に相当するものであり、回路外部から回路内部のレジスタにアクセスするためのレジスタデータ入力ポート及びレジスタデータ出力ポートを備えて成る。
【００９９】
データ制御回路１２０は、図１のデータ退避／復帰制御部２に相当するものであり、電子回路１１０のレジスタデータ出力ポートを介して、電子回路１１０のレジスタデータを回路外部に退避するデータ退避制御機能を備えて成る。また、データ制御回路１２０は、電子回路１１０のレジスタデータ入力ポートを介して、電子回路１１０の外部に退避されたレジスタデータを回路内部のレジスタに復帰するデータ復帰制御機能を備えて成る。
【０１００】
メモリ１３０は、図１の不揮発性メモリ３に相当するものであり、電子回路１１０から読み出されたレジスタデータの退避先となる記憶回路である。
【０１０１】
なお、図８（ｂ）において、符号Ｙ１は、データ制御回路１２０からレジスタデータ入力ポートを介して電子回路１１０のレジスタに与えられるシリアル信号（図１のシリアル信号ＳＩに相当）を示している。符号Ｙ２は、電子回路１１０のレジスタからレジスタデータ出力ポートを介してデータ制御回路１２０に読み出されるシリアル信号（図１のシリアル信号ＳＯに相当）を示している。符号Ｙ３は、電子回路１１０におけるシリアル信号の入出力経路（スキャンパスやＪＴＡＧなどのデバッグ線）を示している。符号Ｙ４は、スキャンパスイネーブル信号やＪＴＡＧ制御信号（図１のスキャンパスイネーブル信号ＳＥに相当）を示している。符号Ｙ５は、データ制御回路１２０とメモリ１３０との間でレジスタデータの入出力を行うためのメモリバスを示している。符号Ｙ６は、データ制御回路１２０と別ＬＳＩなどとの間でレジスタデータの入出力を行うためのデータバスを示している。符号Ｙ７は、電源制御回路などから入力されるデータ制御信号（レジスタデータの退避／復帰を制御するためのトリガ信号）を示している。
【０１０２】
上記のように、既存の電子回路１００ａ、１１０（市場投入実績があるＩＣ、ＬＳＩ、ＩＰコアなど）とは別に、レジスタデータの退避／復帰制御機能を備えたデータ制御回路１００ｂ、１２０を搭載し、電子回路１００ａ、１１０には何ら変更を加えることなく、その設計資産を有効に活用することにより、短い開発期間で低コストに、電子回路１００ａ、１１０の利便性向上や待機時における消費電力削減を実現することが可能となる。
【０１０３】
次に、電源投入／遮断時のデータ保持に関する応用例について、図９及び図１０を参照しながら、詳細に説明する。
【０１０４】
図９は、電源投入／遮断時のデータ保持を実現するための一構成例を示すブロック図であり、図１０は、データ保持動作の一例を示すタイムチャートである。
【０１０５】
データ制御回路１２０は、電子回路１１０に対する電源の投入／遮断（図９の例では、電源制御回路１４０を介して外部から入力される電源制御信号）を監視し、電源オフが指示されたときには、電子回路１１０のレジスタデータを退避し、電源オンが指示されたときには、前記レジスタデータを電子回路１１０のレジスタに復帰することで、電子回路１１０を元の状態に戻す構成とされている。
【０１０６】
従って、通常動作時に電源オフが指示された場合には、まず、電子回路１１０のレジスタデータがメモリ１３０に退避されてから電源が遮断され、その後、電源オンが指示された場合には、まず、メモリ１３０に退避されたレジスタデータが電子回路１１０に復帰されてから、電子回路１１０が通常動作を開始する形となる（図１０を参照）。
【０１０７】
このような構成とすることにより、電源遮断によるレジスタデータの消失を回避することができるので、電源を再投入した直後から、遅滞なく電子回路１１０を電源遮断前の状態に復帰させることができ、ソフトウェアのリロード等に伴うハードウェアの起動時間を短縮することが可能となる。従って、テレビなどの家電製品を取り扱う感覚で、気軽にパーソナルコンピュータを使用することが可能な環境をユーザに提供することができる。
【０１０８】
なお、先述したように、電源電圧の降下が検知されてから装置の動作保証下限電圧に達するまでの間に、電源電圧の放電時間を活用して電子回路１１０のレジスタデータをメモリ１３０に退避する構成とすれば、データ退避時のサブ電源（ＵＰＳやバッテリバックアップなど）が不要となるので、不意の停電にも対応することが可能となる。また、通常動作時にレジスタデータのバックアップ処理を行う構成と異なり、電子回路１１０の処理速度に影響を及ぼすことはない。
【０１０９】
次に、待機時電源遮断による低消費電力化に関する応用例について、詳細に説明する。
【０１１０】
図１１は、待機時電源遮断による低消費電力化を実現するための一構成例を示すブロック図である。
【０１１１】
図１１（ａ）、（ｂ）に示すように、本構成例のデータ制御回路１２０は、電子回路１１０に対する電源の投入／遮断を制御する電源制御部１２０ａと、電子回路１１０の動作状態を監視する状態監視部１２０ｂとを有し、電子回路１１０が待機状態となったときには、レジスタデータの退避と電子回路１１０に対する電源の遮断を行い、電子回路１１０を待機状態から復帰すべきときには、電子回路１１０に対する電源の投入とレジスタデータの復帰を行う構成とされている。
【０１１２】
このような構成とすることにより、電子回路１１０のレジスタデータを保持しつつ、その稼働状況に合わせて、電源の投入／遮断を自動的に制御することができるので、待機中に消費されるリーク電力を抑制することが可能となる。
【０１１３】
図１２は、状態監視部１２０ｂで電子回路１１０の動作状態を検出するための一構成例を示すブロック図である。
【０１１４】
図１２（ａ）、（ｂ）に示すように、本構成例のデータ制御回路１２０において、状態監視部１２０ｂは、電子回路１１０と周辺回路１５０との間でやり取りされる入出力信号を監視して、電子回路１１０の動作状態を判断する構成とされている。
【０１１５】
より具体的に述べると、状態監視部１２０ｂは、電子回路１１０から周辺回路１５０に対してデータ要求信号が送出されたときに、電子回路１１０が待機状態（周辺回路１５０からの外部情報待ち受け状態）となったことを検出する一方、周辺回路１５０から電子回路１１０に対して応答信号（データ信号）が送出されたときに、電子回路１１０を待機状態から復帰すべきことを検出する構成とされている。
【０１１６】
このような構成とすることにより、高速なデータ転送中にも、電子回路１１０の待機時間が数ミリ秒でもあれば、レジスタデータを退避して電源供給を遮断することができるので、頻繁に電源のオン／オフを行い、消費電力の低減を図ることが可能となる。
【０１１７】
図１３は、本発明によるリーク電力の抑制効果を説明するための図である。なお、本図（ａ）は、本発明の消費電力挙動を示しており、本図（ｂ）は、従来構成の消費電力挙動を示している。また、本図（ａ）、（ｂ）の縦軸は、いずれも消費電力を示しており、横軸は、いずれも時間を示している。
【０１１８】
図１３（ｂ）で示すように、従来構成では、動作中だけでなく待機中においても、リーク電力が消費されていた（図中のハッチング部分を参照）。これに対して、本発明の構成であれば、待機時にレジスタデータを退避して電源供給を遮断することができるので、消費電力の低減を図ることが可能となる。
【０１１９】
特に、総消費電力に占めるリーク電力の割合は、デバイスのテクノロジーノード（ＩＴＲＳ［International Technology Roadmap for Semiconductors］で規定されている半導体プロセスの基本ルール）が小さくなるにつれて増大する傾向があるため、待機時のリーク電力削減は、デバイスの小型化を図る上で非常に重要であると言える。
【０１２０】
図１４は、本発明によるデバイス全体の消費電力削減効果を説明するための図である。なお、本図の縦軸はデバイスの消費電力（規格化）を示しており、横軸はデバイスの稼働率（％）を示している。また、本図は、総消費電力に占めるリーク電力の割合が３０％である場合を示している。
【０１２１】
実線Ｌ１（本発明：ノーマリーオフ）と破線Ｌ２（従来構成：常時オン）とを比較参照すれば明らかなように、稼働率が低いデバイスほど、待機時のリーク電力抑制効果が大きく、稼働率２０％の場合では、総消費電力を約５０％も削減することが可能となる。
【０１２２】
次に、レジスタデータの入れ替えによる処理切替に関する応用例について、詳細に説明する。
【０１２３】
図１５は、レジスタデータの入れ替えによる処理切替を実現するための一構成例を示すブロック図である。
【０１２４】
本図に示すように、本構成例のデータ制御回路１２０は、電子回路１１０で実行される処理に応じて、レジスタデータの入れ替えを行う構成とされている。より具体的に述べると、電子回路１１０で実行される処理をＡからＢに切り替える場合には、処理Ａを実行中の電子回路１１０に格納されているレジスタデータ（処理Ａデータ）を電子回路１１０からメモリ１３０に一時的に退避する一方、処理Ｂを実行していた際にメモリ１３０に退避しておいたレジスタデータ（処理Ｂデータ）を電子回路１１０に復帰させて、電子回路１１０のレジスタデータを全て入れ替えることにより、電子回路１１０を初期化することなく、実行すべき処理を切り替える構成とされている。また、電子回路１１０で実行される処理をＢからＡに切り替える場合も、上記と逆の動作で実現可能である。
【０１２５】
このような構成とすることにより、ある処理を途中で中断し、別処理を途中から再開する必要がある場合でも、ハードウェアのみで動作の切り替えを行うことができるので、ソフトウェアよりも切替を高速に実現することが可能となる。
【０１２６】
なお、上記構成例のデータ制御回路１２０は、図１６で示すように、レジスタデータの入れ替えに際して、データ退避動作とデータ復帰動作とを同時に実行する構成にするとよい。より具体的に述べると、電子回路１１０で実行される処理をＡからＢに切り替える場合には、処理Ｂを実行していた際に第１メモリ１３０ａに退避しておいたレジスタデータ（処理Ｂデータ）を１ビットずつ電子回路１１０にシリアル入力して復帰させる一方、処理Ｂデータの復帰に応じて、１ビットずつ出力される電子回路１１０内のレジスタデータ（処理Ａデータ）を第２メモリ１３０ｂに退避することで、電子回路１１０のレジスタデータを全て入れ替える構成とされている。図１６では、復帰データがグレーボックス並びに実線矢印で表現され、退避データが白抜きボックス並びに破線矢印で表現されている。
【０１２７】
このような構成とすることにより、レジスタデータの入替動作、延いては、処理の切替動作を迅速に完了することが可能となる。
【０１２８】
なお、上記の第１、第２メモリ１３０ａ、１３０ｂについては、別チップとしてもよいし、デュアルポートメモリの格納領域を分割し、第１、第２メモリ領域１３０ａ、１３０ｂとして用いても構わない。
【０１２９】
次に、使用メモリとデータ転送量について、図１７を参照しながら詳細に説明する。
【０１３０】
図１７は、使用メモリとデータ転送量との関係を示した図である。なお、本図の縦軸は退避データ量を示しており、横軸はデータ書込時のデータ転送レートを示している。
【０１３１】
例えば、数百［ｂｉｔ］のレジスタデータ（Ｚ８０系のレジスタデータなど）を退避するために１０［ｍｓ］以上の退避時間を確保することができるのであれば、データ退避先のメモリとしてＥＥＰＲＯＭを用いることもできるが、数［Ｋｂｉｔ］のレジスタデータ（ＡＲＭ７系のレジスタデータなど）をより短時間（１［ｍｓ］程度）で退避する必要がある場合には、ＥＥＰＲＯＭよりも高速の記憶回路（フラッシュやＦｅＲＡＭなど）を使用する必要がある。
【０１３２】
すなわち、本発明に係るデータ処理装置において、レジスタデータの退避先としては、退避データ量と退避時間との関係を考慮して、電子回路から全てのレジスタデータを退避し得るだけのデータ転送レートを備えた記憶回路（ＳＲＡＭ、ＤＲＡＭ、ＥＥＰＲＯＭ、フラッシュメモリ、ＦｅＲＡＭ、ＭＲＡＭ、ＰＲＡＭ、ＲＲＡＭ、ＮＶＳＲＡＭ、ＢＢＳＲＡＭ、及び、これに類するメモリ、若しくは、ラッチ、レジスタ、及び、これに類する記憶素子）を適切に用いればよい。
【０１３３】
次に、電子回路のレジスタデータのみならず、電子回路で処理されるデータを格納する揮発性メモリのデータ退避／データ復帰もハードウェアで実現する応用例について、図１８を参照しながら詳細に説明する。
【０１３４】
図１８は、電子回路で処理されるデータを格納する揮発性メモリのデータ退避／データ復帰をハードウェアで実現するための一構成例を示すブロック図である。なお、図中の実線矢印は、データの退避経路／復帰経路を示しており、破線矢印は、制御信号の伝達経路を示している。
【０１３５】
図１８で示すように、本構成例のデータ処理装置は、大規模ＣＰＵなどの電子回路２１０と、データ制御回路２２０と、不揮発性メモリ２３０と、を有して成る。なお、上記した電子回路２１０、データ制御回路２２０、及び、不揮発性メモリ２３０は、いずれもデータバス２４０に接続されている。
【０１３６】
電子回路２１０は、図８（ｂ）の電子回路１１０（ないしは、図８（ａ）の電子回路１００からデータ制御回路１００ｂを除いたもの）に相当するものであり、ＣＰＵコア２１０ａのほかに、混載メモリ２１０ｂ、キャッシュメモリ２１０ｃ、デバッグ線制御回路２１０ｄ、並びに、ＤＭＡ［Direct Memory Access］コントローラ２１０ｅを有して成る。
【０１３７】
ＣＰＵコア２１０ａ、混載メモリ２１０ｂ、及び、キャッシュメモリ２１０ｃは、いずれも、回路外部から回路内部の記憶素子にアクセスするためのデータ入力ポート及びデータ出力ポート（スキャンパスやＪＴＡＧなどのデバッグ用ポート）を備えて成る。このようなデバッグ用ポートについては、回路合成を行う際にオプションとして設ければよい。
【０１３８】
混載メモリ２１０ｂ、及び、キャッシュメモリ２１０ｃは、電子回路２１０で処理されるデータを格納する揮発性メモリである。なお、図１８の例では、混載メモリ２１０ｂ、及び、キャッシュメモリ２１０ｃをいずれも電子回路２１０に内蔵する構成を例に挙げて説明を行うが、本発明の構成はこれに限定されるものではなく、各々を外付けとしても構わない。
【０１３９】
デバッグ線制御回路２１０ｄは、ＣＰＵコア２１０ａ、混載メモリ２１０ｂ及びキャッシュメモリ２１０ｃとデータ制御回路２２０との間で、デバッグ用ポートを介したデータの退避／復帰制御や、データバス２４０を介したデータの退避／復帰制御を行うほか、デバッグ用ポートを介した退避データ／復帰データの入出力経路となる手段である。
【０１４０】
ＤＭＡコントローラ２１０ｅは、データ制御回路２２０からの指示に基づき、混載メモリ２１０ｂのＤＭＡ転送制御を行う手段である。なお、ＤＭＡコントローラ２１０ｅは、データ制御回路２２０に内蔵しても構わない。
【０１４１】
データ制御回路２２０は、図８（ｂ）のデータ制御回路１２０に相当するものであり、電子回路２１０を構成するＣＰＵコア２１０ａのレジスタデータのみならず、電子回路２１０で処理されるデータを格納する揮発性メモリ（図１８では、混載メモリ２１０ｂとキャッシュメモリ２１０ｃ）のデータ退避／データ復帰をハードウェアで実現する機能（図１８では、デバッグ用ポートを介したＣＰＵコア２１０ａ、混載メモリ２１０ｂ、キャッシュメモリ２１０ｃへのアクセス機能と、ＤＭＡコントローラ２１０ｅに対する混載メモリ２１０ｂのＤＭＡ転送指示機能）を備えて成る。なお、データ制御回路２２０は、図８（ａ）と同様、電子回路２１０に内蔵することも可能である。
【０１４２】
不揮発性メモリ２３０は、図８（ｂ）のメモリ１３０に相当するものであり、電子回路２１０から読み出された各種データ（レジスタデータ、メモリデータ、及び、キャッシュデータ）の退避先となる記憶回路である。なお、不揮発性メモリ２３０は、図８（ａ）と同様、電子回路２１０に内蔵することも可能である。
【０１４３】
また、不揮発性メモリ２３０としては、先にも述べたように、ＳＲＡＭ、ＤＲＡＭ、ＥＥＰＲＯＭ、フラッシュメモリ、ＦｅＲＡＭ、ＭＲＡＭ、ＰＲＡＭ、ＲＲＡＭ、ＮＶＳＲＡＭ、ＢＢＳＲＡＭ、及び、これに類するメモリ、若しくは、ラッチ、レジスタ、及び、これに類する記憶素子を用いればよい。
【０１４４】
また、デバッグ線を介したデータの退避先と成る不揮発性メモリと、データバス２４０を介したデータの退避先となる不揮発性メモリとを個別に有する構成としても構わない。
【０１４５】
上記構成から成るデータ処理装置のデータ退避処理について、先出の図１８とともに、図１９を参照しながら説明する。
【０１４６】
図１９は、データ退避処理の一例を示すフローチャートである。なお、図１９では、電源オフが指示されたことをトリガとして、電子回路２１０のデータ退避処理を行う場合を例に挙げて説明を行うが、本発明の適用対象はこれに限定されるものではなく、先にも述べたように、電子回路２１０の待機状態が検出されたことや、処理切替が検出されたことをトリガとして、電子回路２１０のデータ退避処理を行うことも当然に可能である。
【０１４７】
まず、ステップＳ１０にて、電源オフを指示する信号が検知されると、ステップＳ１１にて、データ制御回路２２０から電子回路２１０に対する割り込み処理が行われ、電子回路２１０で実行中の処理が中断される。その後、ステップＳ１２、Ｓ１３では、データ制御回路２２０により、デバッグ線、或いは、データバス２４０を介して、キャッシュメモリ２１０ｃのデータ退避、及び、混載メモリ２１０ｂのデータ退避が実施される。また、ステップＳ１４では、データ制御回路２２０によって、電子回路２１０の駆動クロックが遮断され、ＣＰＵコア２１０ａの動作停止後に、ステップＳ１５にて、デバッグ線を介したレジスタデータの退避が行われる。そして、全データの退避が完了した後、ステップＳ１６にて、電子回路２１０の電源がオフされる。
【０１４８】
なお、ステップＳ１２におけるキャッシュメモリ２１０ｃのデータ退避や、ステップＳ１３における混載メモリ２１０ｂのデータ退避に関しては、ＣＰＵコア２１０ａのレジスタデータを退避する場合と同様、デバッグ線を介してキャッシュメモリ２１０ｃや混載メモリ２１０ｂを制御し、デバッグ線やデータバス２４０を介してデータの退避を行えばよい。なお、デバッグ線を介してデータの退避を行う場合、データ制御回路２２０から不揮発性メモリ２３０へのデータ退避経路については、データバス２４０を介する経路を用いてもよいし、不揮発性メモリ２３０に退避データを直接書き込む経路を用いてもよい。
【０１４９】
また、ステップＳ１３における混載メモリ２１０ｂのデータ退避に関しては、上記した手法のほか、データ制御回路２２０によって、電子回路２１０に搭載されたＤＭＡコントローラ２１０ｅを制御し、データバス２４０を介して、混載メモリ２１０ｂの格納データを不揮発性メモリ２３０にＤＭＡ転送することも可能である。
【０１５０】
また、ＣＰＵコア２１０ａやＤＭＡコントローラ２１０ｅ以外に、混載メモリ２１０ｂの制御主体（例えばメモリコントローラ）が存在するのであれば、これを制御することにより、データバス２４０を介して、混載メモリ２１０ｂの格納データを不揮発性メモリ２３０に転送させることも可能である。
【０１５１】
上記で説明した通り、図１８に示す構成であれば、電子回路２１０を構成するＣＰＵコア２１０ａのレジスタデータのみならず、電子回路２１０で処理されるデータを格納する揮発性メモリ（図１８では混載メモリ２１０ｂとキャッシュメモリ２１０ｃ）のデータ退避／データ復帰もハードウェアで実現することができるので、ＣＰＵコア２１０ａでデータ退避プログラムを実行し、ソフトウェア処理によるデータの退避制御を行う構成に比べて、データの退避／復帰（延いては電源のオン／オフ）を高速に行うことが可能となる。
【０１５２】
なお、上記のデータ退避制御に際して、混載メモリ２１０ｂの格納データは、電子回路２１０の状態復帰に必須であるため、これを退避せずに破棄することはできないが、キャッシュメモリ２１０ｃの格納データについては、混載メモリ２１０ｂの格納データと重複しており、電子回路２１０の状態復帰後にキャッシュデータが存在しなくても、混載メモリ２１０ｂの格納データを再度読み出せば足りる。そのため、キャッシュメモリ２１０ｃの格納データについては、これを退避させずに破棄しても構わない。
【０１５３】
ただし、ＣＰＵコア２１０ａがキャッシュデータを使用しているタイミングで、電子回路２１０のデータ退避が行われた場合、電子回路２１０の復帰時にキャッシュデータが破棄されていると、ＣＰＵコア２１０ａにとっては、使用中のキャッシュデータが突然消失してしまったように見えるため、その動作に支障を生じるおそれがある。そこで、キャッシュデータを破棄する上記構成を採用する場合には、電子回路２１０のマシンサイクルを監視し、ＣＰＵコア２１０ａでキャッシュデータが使用されていないときを見計らって、電子回路２１０のデータ退避を行う構成とすることが望ましい。
【０１５４】
また、図１９では、ＣＰＵコア２１０ａのレジスタデータ退避、混載メモリ２１０ｂのデータ退避、及び、キャッシュメモリ２１０ｃのデータ退避を直列的に処理する構成を例示して説明を行ったが、本発明の構成はこれに限定されるものではなく、例えば、混載メモリ２１０ｂの格納データは、データバス２４０を介するＤＭＡ転送によって退避させ、ＣＰＵコア２１０ａのレジスタデータは、デバッグ線を介して退避させ、キャッシュメモリ２１０ｃの格納データは破棄するという具合に、並列的に処理する構成としてもよい。このような構成とすることにより、データの退避／復帰（延いては電源のオン／オフ）をより高速に実行することが可能となる。
【０１５５】
また、上記のデバッグ線制御回路２１０ｄやＤＭＡコントローラ２１０ｅを有しておらず、ＣＰＵコア２１０ａを用いてソフトウェア処理によるデータの退避制御を行わざるを得ない場合には、先出の図１５で説明したレジスタデータの入れ替え処理によって、迅速にデータ退避プログラムへの移行を行い、データバス２４０を介して、混載メモリ２１０ｂやキャッシュメモリ２１０ｃの格納データを不揮発性メモリ２４０に退避すればよい。
【０１５６】
次に、上記構成から成るデータ処理装置のデータ復帰処理について、先出の図１８とともに、図２０を参照しながら説明する。
【０１５７】
図２０は、データ復帰処理の一例を示すフローチャートである。なお、図２０（ａ）、（ｂ）のフローチャートには、それぞれ、電子回路２１０のデータ復帰に際して、電子回路２１０に特定の処理（ウェイト処理やユーザへの報知処理など）を実行させるステップが含まれている。
【０１５８】
まず、図２０（ａ）のフローチャート（データ制御回路２２０による割込み制御によって、上記特定の処理を実現する手法）について説明する。
【０１５９】
ステップＳ２０で電源がオンされると、続くステップＳ２１では、不揮発性メモリ２３０に退避されていたデータが電子回路２１０に復帰される。なお、ステップＳ２１におけるデータ復帰のうち、混載メモリ２１０ｂやキャッシュメモリ２１０ｃのデータ復帰に関しては、ＣＰＵコア２１０ａのレジスタデータを復帰する場合と同様、デバッグ線を介して混載メモリ２１０ｂやキャッシュメモリ２１０ｃを制御し、デバッグ線やデータバス２４０を介してデータの復帰を行えばよい。なお、デバッグ線を介してデータの退避を行う場合、不揮発性メモリ２３０からデータ制御回路２２０へのデータ復帰経路については、データバス２４０を介する経路を用いてもよいし、不揮発性メモリ２３０から復帰データを直接読み込む経路を用いてもよい。
【０１６０】
また、ステップＳ２１における混載メモリ２１０ｂのデータ復帰に関しては、上記した手法のほか、データ制御回路２２０によって、電子回路２１０に搭載されたＤＭＡコントローラ２１０ｅを制御し、データバス２４０を介して、不揮発性メモリ２３０の退避データを混載メモリ２１０ｂにＤＭＡ転送することも可能である。
【０１６１】
また、ＣＰＵコア２１０ａやＤＭＡコントローラ２１０ｅ以外に、混載メモリ２１０ｂの制御主体（例えばメモリコントローラ）が存在するのであれば、これを制御することにより、データバス２４０を介して、不揮発性メモリ２３０の退避データを混載メモリ２１０ｂに転送させることも可能である。
【０１６２】
ステップＳ２１におけるデータの復帰が完了すると、ステップＳ２２では、データ制御回路２２０によって、電子回路２１０の駆動クロックが供給され、ＣＰＵコア２１０ａが起動される。
【０１６３】
そして、ステップＳ２３では、電子回路２１０にデータの退避／復帰が行われたことを通知する処理として、データ制御回路２２０から所定の割り込み処理が行われ、続くステップＳ２４にて、上記特定の処理を実現するために事前に準備しておいたプログラム（以下では、特定プログラムと呼ぶ）が実行される。
【０１６４】
ステップＳ２４における特定の処理が完了すると、ステップＳ２５では、電子回路２１０の通常動作（データ退避前に行われていた動作）が再開される。
【０１６５】
次に、図２０（ｂ）のフローチャート（データ制御回路２２０によるデータの入れ替え処理によって、上記特定の処理を実現する手法）について説明する。
【０１６６】
ステップＳ３０で電源がオンされると、続くステップＳ３１では、不揮発性メモリ２３０の退避データではなく、先述の特定プログラムが電子回路２１０に入力される。
【０１６７】
ステップＳ３１における特定プログラムの入力が完了すると、ステップＳ３２では、データ制御回路２２０によって電子回路２１０の駆動クロックが供給され、ＣＰＵコア２１０ａが起動される。そして、ステップＳ３３では、上記の特定プログラムが実行される。
【０１６８】
その後、ステップＳ３３における特定の処理が完了すると、ステップＳ３４では、先出の図１５で説明したレジスタデータの入れ替え処理を応用して、不揮発性メモリ２３０の退避データが電子回路２１０に復帰される。
【０１６９】
そして、ステップＳ３５では、電子回路２１０の通常動作（データ退避前に行われていた動作）が再開される。
【０１７０】
上記で説明したように、不揮発性メモリ２３０に退避されたデータの復帰に際して、電子回路２１０がデータの退避前に行っていた処理を再開するよりも先に、これとは異なる特定の処理を実行させる構成であれば、電子回路２１０の通常動作を再開するに先立ち、ユーザに対してデータの退避／復帰が行われた旨を通知し、通常動作の再開準備を促すようなメッセージを表示したり、当該処理内容を維持するか破棄するかを選択させたりすることができるので、利便性を向上することが可能となる。
【０１７１】
すなわち、電子回路２１０は、そのデータ退避／復帰中に駆動クロックが遮断されるため、自身ではデータ退避／復帰が行われたかどうかを判別することができず、データ復帰完了後には、あたかも何事もなかったようにデータ退避前の動作を再開しようとするが、その動作再開に先立って、上記特定の処理を行うことにより、例えば、ユーザ操作を常時要求するようなアプリケーション（例えばゲーム機）の停電時にデータ退避が行われた場合であっても、データ復帰後には、ユーザに対して通常動作の再開準備を促すようなメッセージを出すことができるので、いきなりデータ退避前の動作が再開されて、ユーザが対処不能となることを防止することが可能となる。
【０１７２】
なお、図２０（ａ）、（ｂ）では、上記特定の処理を実現する手法として、割込み制御を行うフローと、データの入れ替え処理を行うフローを別個に描写して説明を行ったが、これらのフローについては、いずれか一のフローのみを実施してもよいし、両方のフローを併用しても構わない。
【０１７３】
例えば、図２０（ａ）の割り込み制御を行うフローは、大容量のプログラムに対応しやすいが、ＣＰＵコア２１０ａを用いたソフトウェア処理となるので、処理速度の面では不利である。これに対して、図２０（ｂ）のデータ入れ替え処理を行うフローは、ハードウェア処理によって特定プログラムをいち早く実行することができるが、大容量のプログラムには対応しにくい。従って、両方のフローを併用する場合には、特定プログラムの内容（処理の軽重）に応じて、いずれか一方のフローを選択的に用いればよい。
【０１７４】
また、電子回路２１０にデータ退避／復帰を通知する手段としては、上記の割り込み制御以外にも、データバス２４０を介して、データ退避／復帰を通知する所定の通知データを流し、電子回路２１０で当該通知データが検出されたときに、先述の特定プログラムを実行させる構成が考えられる。ただし、当該構成を採用する場合には、ＣＰＵコア２１０ａによってデータバス２４０を常時監視しておくプログラムが必要となる。
【０１７５】
また、上記の構成は、突発的な停電時など、比較的長期に亘って電源が遮断された後にデータ復帰が行われる場合を想定した構成であるが、電子回路２１０の待機時に電源遮断を行う場合など、短期間に高頻度でデータ退避／復帰が行われる場合については、上記の特定プログラムを実行させることなく、通常動作を遅滞なく再開する構成としてもよい。
【０１７６】
次に、複数存在するデータ処理装置の同時復帰に関する応用例について、図２１と図２２を参照しながら詳細に説明する。
【０１７７】
図２１は、複数存在するデータ処理装置の同時復帰を実現するための一構成例を示すブロック図である。なお、図２１では、３つのデータ処理装置２００Ａ、２００Ｂ、２００Ｃを備えたシステムを例に挙げて説明を行うが、データ処理装置の個数については、これに限定されるものではない。
【０１７８】
図２１に示すように、データ処理装置２００Ａは、電子回路２１０Ａと、データ制御回路２２０Ａと、不揮発性メモリ２３０Ａと、を有して成る。データ処理装置２００Ｂは、電子回路２１０Ｂと、データ制御回路２２０Ｂと、不揮発性メモリ２３０Ｂと、を有して成る。データ処理装置２００Ｃは、電子回路２１０Ｃと、データ制御回路２２０Ｃと、不揮発性メモリ２３０Ｃと、を有して成る。
【０１７９】
なお、電子回路２１０Ａ、２１０Ｂ、２１０Ｃは、図１８の電子回路２１０に相当するものであり、データ制御回路２２０Ａ、２２０Ｂ、２２０Ｃは、図１８のデータ制御回路２２０に相当するものであり、不揮発性メモリ２３０Ａ、２３０Ｂ、２３０Ｃは、図１８の不揮発性メモリ２３０に相当するものである。
【０１８０】
図２２は、データ制御回路２２０Ａの内部構成を示すブロック図である。なお、データ制御回路２２０Ｂ、２２０Ｃについても、これと同様の構成とする。
【０１８１】
図２２に示すように、データ制御回路２２０Ａは、電子回路２１０Ａのデータを不揮発性メモリ２３０Ａに退避するデータ退避制御部Ａ１と、不揮発性メモリ２３０Ａに退避されたデータを電子回路２１０Ａに復帰するとともに、電子回路２１０Ａのデータ復帰が完了したときに、その旨を示すデータ復帰完了通知信号ＳＡを送出するデータ復帰制御部Ａ２と、他のデータ処理装置２００Ｂ、２００Ｃにおけるデータ復帰状態（図２１及び図２２の構成例では、データ復帰完了検出信号ＳＤ）を監視する復帰監視制御部Ａ３と、全てのデータ処理装置２００Ａ、２００Ｂ、２００Ｃにおけるデータ復帰が完了されるまで、電子回路２１０Ａの動作を停止させておく動作再開制御部Ａ４と、を備えて成る構成とされている。データ制御回路２２０Ｂ、２２０Ｃについても、これと同様の構成とする。
【０１８２】
すなわち、データ制御回路２２０Ａ、２２０Ｂ、２２０Ｃは、先述したデータ退避／復帰機能のほか、それぞれ、データ復帰完了通知信号ＳＡ、ＳＢ、ＳＣの送出機能と、データ復帰完了検出信号ＳＤに応じた同時復帰機能と、を備えている。
【０１８３】
なお、上記のデータ復帰完了通知信号ＳＡ、ＳＢ、ＳＣは、例えば、データ復帰中にはローレベルとなり、データ復帰完了後にはハイレベルとなる２値の論理信号であり、図２１の構成例では、いずれも論理積演算器２５０に入力されている。
【０１８４】
また、データ復帰完了検出信号ＳＤは、論理積演算器２５０の出力信号（データ復帰完了通知信号ＳＡ、ＳＢ、ＳＣの論理積演算信号）であり、データ復帰完了通知信号ＳＡ、ＳＢ、ＳＣがいずれもハイレベルであるとき（データ処理装置２００Ａ、２００Ｂ、２００Ｃのデータ復帰がいずれも完了しているとき）にのみハイレベルとなり、その余の場合にはローレベルとなる。
【０１８５】
このように、データ復帰完了通知信号ＳＡ、ＳＢ、ＳＣからデータ復帰完了検出信号ＳＤを生成する手段として、データ処理装置２００Ａ、２００Ｂ、２００Ｃとは別に、論理積演算器２５０を設けた構成であれば、データ処理装置の増設時にも容易に対応することが可能となる。ただし、本発明の構成はこれに限定されるものではなく、例えば、データ制御回路２２０Ａ、２２０Ｂ、２２０Ｃ相互間で、データ復帰完了通知信号ＳＡ、ＳＢ、ＳＣを直接監視し合う構成としても構わない。或いは、データ処理装置２００Ａ、２００Ｂ、２００Ｃの動作再開に支障が生じない範囲であれば、論理積演算器２５０に代えて、他の論理演算回路（多数決演算器など）を用いても構わない。
【０１８６】
また、先述したように、データ制御回路２２０Ａ、２２０Ｂ、２２０Ｃは、復帰監視制御部Ａ３と、動作再開制御部Ａ４と、を有して成り、それぞれのデータ復帰処理が完了した後も、データ復帰完了検出信号ＳＤがハイレベルとなるまで、電子回路２１０Ａ、２１０Ｂ、２１０Ｃの駆動クロックを停止させておき、データ復帰完了検出信号ＳＤがハイレベルとなった時点で、上記駆動クロックの供給を再開する構成とされている。
【０１８７】
このように、データ制御回路２２０Ａ、２２０Ｂ、２２０Ｃに、それぞれ、互いのデータ復帰状況を監視し合う機能を設け、全てのデータ処理装置２００Ａ、２００Ｂ、２００Ｃのデータ復帰が完了した時点で、各々の動作を再開させる構成とすることにより、データ処理装置２００Ａ、２００Ｂ、２００Ｃ毎にデータ復帰の完了タイミングがばらついたとしても、各々の動作再開タイミングについては、これを一致させることが可能となる。
【０１８８】
すなわち、上記構成であれば、最先にデータ復帰を完了したデータ処理装置がその余のデータ処理装置のデータ復帰中（処理停止中）に動作を再開してしまうことがないので、誤動作を防止することが可能となる。
【０１８９】
なお、電子回路２１０Ａ、２１０Ｂ、２１０Ｃの待機時に電源を遮断することで低消費電力化を実現する場合、データ制御回路２２０Ａ、２２０Ｂ、２２０Ｃでは、電子回路２１０Ａ、２１０Ｂ、２１０Ｃの動作状態（待機状態であるか否か）を検出する必要があるが、その検出手段としては、先出の図１２で示した構成と同様、電子回路２１０Ａ、２１０Ｂ、２１０Ｃから周辺回路（図２１では不図示）に対してデータ要求信号が送出されたときに、電子回路２１０Ａ、２１０Ｂ、２１０Ｃが待機状態となったことを検出し、前記周辺回路から応答信号が送出されたときに、電子回路２１０Ａ、２１０Ｂ、２１０Ｃを待機状態から復帰すべきことを検出する状態監視部を設ければよい。
【０１９０】
このように、電子回路２１０Ａ、２１０Ｂ、２１０Ｃの既存信号端子を監視することで各々の待機状態を検出する構成であれば、電子回路２１０Ａ、２１０Ｂ、２１０Ｃに何ら変更を加えることなく、その設計資産を有効に活用することができるので、短い開発期間で低コストに、電子回路２１０Ａ、２１０Ｂ、２１０Ｃの利便性向上や待機時における消費電力削減を実現することが可能となる。
【０１９１】
ただし、電子回路２１０Ａ、２１０Ｂ、２１０Ｃの動作状態（待機状態であるか否か）を検出する手段は、上記に限定されるものではなく、いかなる構成を用いても構わない。
【０１９２】
例えば、電子回路２１０Ａ、２１０Ｂ、２１０Ｃが処理停止信号（例えば、ＣＰＵのハングアップ時など、何らかのトラブルによって強制的に処理が停止された場合にフラグが立つＨＡＬＴ信号）の出力端子を有する場合であれば、当該信号端子を監視する構成としても構わない。
【０１９３】
また、電子回路２１０Ａ、２１０Ｂ、２１０Ｃが各々の待機状態を示す専用信号端子を有する場合であれば、当該信号端子を監視する構成としても構わない。
【０１９４】
或いは、電子回路２１０Ａ、２１０Ｂ、２１０Ｃが汎用のデータ入出力ポート（図２１ではデータバス２４０）を介して、各々が待機状態であることを示すデータを送出する機能を有する場合であれば、当該データを監視する構成としても構わない。
【産業上の利用可能性】
【０１９５】
本発明は、マイクロプロセッサ、画像処理プロセッサ、マルチメディアプロセッサ、ＩＰコア、パーソナルコンピュータ、ネットワークサーバ、モバイル機器、ゲーム機、ＰＤＡなどの利便性向上（電池消耗時のデータ保護や処理切替速度の高速化）や待機時における消費電力削減（バッテリ機器における駆動時間の延長や電池寿命の延長）を図る上で有用な技術である。
【図面の簡単な説明】
【０１９６】
【図１】は、本発明に係るデータ処理装置の一実施形態を示すブロック図である。
【図２】は、データ退避期間及びデータ復帰期間を説明するための波形図である。
【図３】は、データ退避動作を説明するためのタイミングチャートである。
【図４】は、データ復帰動作を説明するためのタイミングチャートである。
【図５】は、全配線引出し型（ａ）とシフトレジスタ活用型（ｂ）の概略構成を示すブロック図である。
【図６】は、レジスタ数と配線長との関係を示す図である。
【図７】は、演算処理部及び不揮発性メモリのデータ転送速度を示す図である。
【図８】は、本発明に係るデータ制御回路を搭載したシステム構成の一例を示すブロック図である。
【図９】は、電源投入／遮断時のデータ保持を実現するための一構成例を示すブロック図である。
【図１０】は、データ保持動作の一例を示すタイムチャートである。
【図１１】は、待機時電源遮断による低消費電力化を実現するための一構成例を示すブロック図である。
【図１２】は、状態監視部１２０ｂで電子回路１１０の動作状態を検出するための一構成例を示すブロック図である。
【図１３】は、本発明によるリーク電力の抑制効果を説明するための図である。
【図１４】は、本発明によるデバイス全体の消費電力削減効果を説明するための図である。
【図１５】は、レジスタデータの入れ替えによる処理切替を実現するための一構成例を示すブロック図である。
【図１６】は、データ退避／データ復帰の同時実行を実現するための一構成例を示すブロック図である。
【図１７】は、使用メモリとデータ転送量との関係を示した図である。
【図１８】は、電子回路で処理されるデータを格納する揮発性メモリのデータ退避／データ復帰を実現するための一構成例を示すブロック図である。
【図１９】は、データ退避処理の一例を示すフローチャートである。
【図２０】は、データ復帰処理の一例を示すフローチャートである。
【図２１】は、複数存在するデータ処理装置の同時復帰を実現するための一構成例を示すブロック図である。
【図２２】は、データ制御回路２２０Ａの内部構成を示すブロック図である。
【符号の説明】
【０１９７】
１    電子回路部
２    データ退避／復帰制御部
３    不揮発性メモリ（ＦｅＲＡＭ）
１１、１２、１３    レジスタ
２１    動作モード制御部
２２    シーケンス制御部
２３    データスキャン制御部
２４    シリアル／パラレル変換部
２４ａ    ＳＩＰＯレジスタ
２４ｂ    ＰＩＳＯレジスタ
２４ｃ    双方向Ｉ／Ｏバッファ
２５    アドレス生成部
２６    リード／ライト制御部
１００    システムＬＳＩ（ＳｏＣ）
１００ａ    電子回路（ＣＰＵコアなど）
１００ｂ    データ制御回路
１００ｃ    混載メモリ
１１０    電子回路（ＣＰＵなど）
１２０    データ制御回路
１２０ａ    電源制御部
１２０ｂ    状態監視部
１３０    メモリ
１３０ａ    第１メモリ（第１格納領域）
１３０ｂ    第２メモリ（第２格納領域）
１４０    電源制御回路
１５０    周辺回路
２００Ａ、２００Ｂ、２００Ｃ    データ処理装置
２１０、２１０Ａ、２１０Ｂ、２１０Ｃ    電子回路（ＣＰＵなど）
２１０ａ    ＣＰＵコア
２１０ｂ    混載メモリ（揮発性）
２１０ｃ    キャッシュメモリ（揮発性）
２１０ｄ    デバッグ線制御回路
２１０ｅ    ＤＭＡコントローラ
２２０、２２０Ａ、２２０Ｂ、２２０Ｃ    データ制御回路
２３０、２３０Ａ、２３０Ｂ、２３０Ｃ    不揮発性メモリ
２４０    データバス
２５０    論理積演算器
Ａ１    データ退避制御部
Ａ２    データ復帰制御部
Ａ３    復帰監視制御部
Ａ４    動作再開制御部
【図１】
2008262349.tif 000003
【図２】
2008262349.tif 000004
【図３】
2008262349.tif 000005
【図４】
2008262349.tif 000006
【図５】
2008262349.tif 000007
【図６】
2008262349.tif 000008
【図７】
2008262349.tif 000009
【図８】
2008262349.tif 000010
【図９】
2008262349.tif 000011
【図１０】
2008262349.tif 000012
【図１１】
2008262349.tif 000013
【図１２】
2008262349.tif 000014
【図１３】
2008262349.tif 000015
【図１４】
2008262349.tif 000016
【図１５】
2008262349.tif 000017
【図１６】
2008262349.tif 000018
【図１７】
2008262349.tif 000019
【図１８】
2008262349.tif 000020
【図１９】
2008262349.tif 000021
【図２０】
2008262349.tif 000022
【図２１】
2008262349.tif 000023
【図２２】
2008262349.tif 000024