(57)【要約】【課題】  通常動作時、時間及び負荷のかかる処理を要することなく、転送データ量を抑える情報処理装置とそのデータ退避方法を提供することにある。【解決手段】  電源遮断可能な第１の電源網を有する第１のドメインと第２のドメインとを有し、第１のドメインは、データと電源遮断時にデータが退避対象であるか否かを示すフラグとを記憶するフラグ付きメモリと、フラグ付きメモリにデータに加えて退避対象を示すフラグを書き込む第１の命令を含む複数の命令を実行するＣＰＵと、フラグ付きメモリを制御するメモリコントローラとを有し、第２のドメインは退避メモリを有し、メモリコントローラは、第１の命令の実行時にデータに加えてフラグをフラグ付きメモリに書き込み、第１のドメインの電源遮断直前に退避対象データとその退避対象データアドレスを退避メモリに書き込む。【選択図】    図４
2012103967.tif 000002
【特許請求の範囲】
【請求項１】
電源遮断可能な第１の電源網を有する第１のドメインと、
前記第１の電源網とは異なる第２の電源網を有する第２のドメインとを有し、
前記第１のドメインは、
データと電源遮断時に前記データが退避対象であるか否かを示すフラグとを記憶するフラグ付きメモリと、
前記フラグ付きメモリに前記データに加えて退避対象を示す前記フラグを書き込む第１の命令を含む複数の命令を実行するＣＰＵと、
前記フラグ付きメモリを制御するメモリコントローラとを有し、
前記第２のドメインは、
退避メモリを有し、
前記メモリコントローラは、前記第１の命令の実行時に前記データに加えて前記フラグを前記フラグ付きメモリに書き込み、前記第１のドメインの電源遮断直前に、前記フラグ付きメモリ内の前記退避対象を示す前記フラグに対応する退避対象データとその退避対象データアドレスを前記退避メモリに書き込む情報処理装置。
【請求項２】
請求項１において、
前記メモリコントローラは、電源遮断された前記第１のドメインへの電源復帰時、前記第２のドメインの前記退避メモリから前記退避対象データと前記退避対象アドレスとを読み出し、前記フラグ付きメモリにおける前記退避対象アドレスに前記退避対象データを書き込む情報処理装置。
【請求項３】
請求項２において、
前記メモリコントローラは、前記第１のドメインへの電源復帰時、前記フラグ付きメモリの前記退避対象アドレスに、前記退避対象データに加えて前記退避対象を示すフラグを書き込む情報処理装置。
【請求項４】
請求項１乃至３のいずれかにおいて、
前記複数の命令は、前記フラグ付きメモリに前記フラグを書き込まずに前記データを書き込む第２の命令を有する情報処理装置。
【請求項５】
電源遮断可能な第１の電源網を有する第１のドメインと、前記第１の電源網とは異なる第２の電源網を有する第２のドメインとを備える情報処理装置のデータ退避方法であって、
データと電源遮断時に前記データが退避対象であるか否かを示すフラグとを記憶するフラグ付きメモリに、前記データに加えて退避対象を示す前記フラグを書き込む第１の命令を実行する第１のメモリ書き込み工程と、
前記第１のドメインの電源遮断直前に、前記フラグ付きメモリ内の前記退避対象を示す前記フラグに対応する前記退避対象データとその退避対象データアドレスを前記退避メモリに書き込むデータ退避工程と、
を有する情報処理装置のデータ退避方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置及びそのデータ退避方法に関する。
【背景技術】
【０００２】
近年の情報処理装置は、消費電力を抑えるためにスタンバイモードを備え、電源の浪費防止及び駆動時間の長期化を図っている。具体的に、例えば、情報処理装置は、複数のドメインを有し、スタンバイモードでは複数ドメインのうち動作していないドメインの電源を遮断することによってその消費電力を抑えている。
【０００３】
このようなスタンバイモードでは、情報処理装置は、スタンバイモードからの復帰時にスタンバイモード移行前の状態を再現する。そのため、情報処理装置は、電源遮断対象のドメインにＳＲＡＭを搭載している場合、スタンバイモード移行時、ＳＲＡＭのデータを電源が遮断されないドメインに搭載されたバックアップ用メモリに転送して退避する。そして、情報処理装置は、スタンバイモードからの復帰時に、バックアップ用メモリからデータを電源遮断ドメインのＳＲＡＭに転送することによって、モード移行前の状態を再現する。
【０００４】
このような情報処理装置では、スタンバイモード移行時の退避対象のデータ量を抑えることにより、データ転送時間の短縮とバックアップ用メモリのサイズの節約に伴う低消費電力化及びコストダウンを実現できる。そこで、例えば、特許文献１のような情報処理装置が提案されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−２８２１３７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来の情報処理装置は、転送データ量を抑えるために、退避対象のデータのアドレスを記録したアドレステーブルを有し、通常動作時、アドレステーブルの初期処理及び更新処理に加え、アドレステーブルの各アドレスと処理対象のデータの照合処理を行う。このため、通常動作時、アドレステーブルに係る処理を要し時間及び負荷がかかっていた。
【０００７】
そこで、本発明は、通常動作時、時間及び負荷のかかる処理を要することなく、転送データ量を抑える情報処理装置とそのデータ退避方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
情報処理装置の第１の側面は、電源遮断可能な第１の電源網を有する第１のドメインと、
前記第１の電源網とは異なる第２の電源網を有する第２のドメインとを有し、
前記第１のドメインは、
データと電源遮断時に前記データが退避対象であるか否かを示すフラグとを記憶するフラグ付きメモリと、
前記フラグ付きメモリに前記データに加えて退避対象を示す前記フラグを書き込む第１の命令を含む複数の命令を実行するＣＰＵと、
前記フラグ付きメモリを制御するメモリコントローラとを有し、
前記第２のドメインは、
退避メモリを有し、
前記メモリコントローラは、前記第１の命令の実行時に前記データに加えて前記フラグを前記フラグ付きメモリに書き込み、前記第１のドメインの電源遮断直前に、前記フラグ付きメモリ内の前記退避対象を示す前記フラグに対応する退避対象データとその退避対象データアドレスを前記退避メモリに書き込む情報処理装置。
【発明の効果】
【０００９】
第１の側面によれば、通常動作時、時間及び負荷のかかる処理を要することなく、転送データ量を抑えることができる。
【図面の簡単な説明】
【００１０】
【図１】スタンバイモードを備える一般的な情報処理装置の構成の一例を表す図である。
【図２】アドレステーブルを有する情報処理装置の構成を表す図である。
【図３】本実施の形態例における情報処理装置の構成の一例を表す図である。
【図４】本実施の形態例におけるフラグ付きＳＲＡＭの構成の一例を表す図である。
【図５】ＳＴＢＵ命令とその処理を表す図である。
【図６】スタンバイモード移行／復帰時におけるフラグ付きＳＲＡＭとＢ−ＳＲＡＭとのデータ変移を説明する図である。
【図７】ＳＲＡＭインタフェースの回路の一例を表す図である。
【図８】通常処理時のＳＲＡＭ（フラグ付きＳＲＡＭ）に係る処理を説明する図である。
【発明を実施するための形態】
【００１１】
以下、図面にしたがって本発明の実施の形態について説明する。ただし、本発明の技術的範囲はこれらの実施の形態に限定されず、特許請求の範囲に記載された事項とその均等物まで及ぶものである。
【００１２】
図１は、スタンバイモードを備える一般的な情報処理装置３０の構成の一例を表す図である。このような情報処理装置３０の一例として、システムＬＳＩ（Large Scale Integration）がある。同図の情報処理装置３０は、例えば、電源装置（Regulator）８とパワースイッチ（ＰＳＷ）１０、電源遮断対象のドメイン（以下、ＣＰＵ−Ｄ）３１、バックアップ用のドメイン（以下、ＢＵＰ−Ｄ）３２を有し、各ドメイン内の電源網が電源線９を介して電源装置８に接続されている。
【００１３】
また、図１のＣＰＵ−Ｄ３１は、例えば、ＣＰＵ１１、ＲＯＭ（Read Only Memory）１２、ＳＲＡＭ（Static Random Access Memory）１３、タイマーやリソース等の周辺機器（Peripheral）１４を有し、それぞれがバス１５を介して接続されている。一方、ＢＵＰ−Ｄ３２は、例えば、パワーマネジメントユニット（ＰＭＵ）２１と、スタンバイモード移行時におけるＣＰＵ−Ｄ３１のＳＲＡＭ１３のデータ退避先であるバックアップ用ＳＲＡＭ（Ｂ−ＳＲＡＭ）２２を有する。そして、同様にして、それぞれがバス２３を介して接続されている。
【００１４】
そして、図１の情報処理装置３０は、ＢＵＰ−Ｄ３２のパワーマネジメントユニット２１によってパワースイッチ１０を制御し、ＢＵＰ−Ｄ３２の電源網とは異なるＣＰＵ−Ｄ３１の電源網への電源供給を遮断することによって、通常動作モードからスタンバイモード移行する。一方、情報処理装置３０は、パワーマネジメントユニット２１によってパワースイッチ１０を制御し、ＣＰＵ−Ｄ３１の電源網への電源供給が復帰することにより、スタンバイモードから通常動作モード移行する。このような情報処理装置３０は、スタンバイモード移行時に、ＣＰＵ−Ｄ３１の電源供給が遮断される直前に、ＣＰＵ−Ｄ３１のＳＲＡＭ１３のデータをＢＵＰ−Ｄ３２のＢ−ＳＲＡＭ２２に退避する。この際、退避対象のデータが少ない程、データ転送時間の短縮と、Ｂ−ＳＲＡＭ２２の容量の節約につながる。
【００１５】
一方、図２は、アドレステーブルＡＴを有する情報処理装置４０の構成を表す図である。同図の情報処理装置４０は、図１の情報処理装置３０に対し退避対象のデータ量を抑えたものであり、ＢＵＰ−Ｄ４１にアドレステーブルＡＴを有する。アドレステーブルＡＴには、ＳＲＡＭ１３におけるＢＵＰ−Ｄ４１への退避対象のデータのアドレスが保持される。このような情報処理装置４０は、通常動作時、ＳＲＡＭ１３への書き込み処理及び読み出し処理に加えて、例えば、アドレステーブルＡＴの初期設定及び更新処理、処理対象アドレスとアドレステーブルＡＴの各アドレスとを照合する判定処理を行う。そして、情報処理装置４０は、アドレスが一致した場合、処理対象アドレスのデータを逐一、Ｂ−ＳＲＡＭ２２に退避する。
【００１６】
このようにして、情報処理装置４０（図２）は、スタンバイモード移行時の退避対象のデータを抑制する。しかしながら、情報処理装置４０は、通常動作時、前述したアドレステーブルＡＴに係る処理を要することにより、時間及び負荷がかかっていた。
【００１７】
そこで、本実施の形態例における情報処理装置は、データと電源遮断時にデータが退避対象であるか否かを示すフラグとを記憶するフラグ付きメモリと、フラグ付きメモリにデータに加えてフラグを書き込む第１の命令と、フラグ付きメモリを制御するメモリコントローラとを有する電源遮断対象の第１のドメインと、第１のドメインと接続可能な第２のドメインとを有する。そして、メモリコントローラは、第１のデータ書き込み命令実行時、データに加えてフラグをフラグ付きメモリに書き込み、第１のドメインの電源の遮断直前に、フラグ付きメモリからフラグに基づいて退避対象データを読み出し、当該退避対象データとフラグ付きメモリにおける退避対象データアドレスを第２のドメインの有する退避メモリに書き込む。
【００１８】
図３は、本実施の形態例における情報処理装置５０の構成の一例を表す図である。同図の情報処理装置５０のＣＰＵ−Ｄ５１は、図１の情報処理装置３０に対し、ＳＲＡＭ１３の代わりに、フラグ付きＳＲＡＭ５４とＳＲＡＭインタフェース５３を有する。フラグ付きＳＲＡＭ５４は、ＳＲＡＭ５５及びＢフラグメモリ５６を有し、Ｂフラグメモリ５６はＳＲＡＭ５５のメモリセル毎に、例えば、１ビットのフラグ（以下、Ｂフラグ）を有する。また、ＳＲＡＭインタフェース５３は、通常動作時におけるフラグ付きＳＲＡＭ５４への書き込み及び読み出し処理、スタンバイモード移行／復帰時におけるデータ制御処理を行う。
【００１９】
そして、図３のＢＵＰ−Ｄ５２は、図１の情報処理装置３０に対し、レジスタ（Register）ＲＧを有する。また、同図の情報処理装置５０において、例えば、ＳＲＡＭインタフェース５３とＢＵＰ−Ｄ５２のＢ−ＳＲＡＭ２２は専用バス５８で、ＳＲＡＭインタフェース５３とレジスタＲＧは専用バス５７で接続される。レジスタＲＧ、フラグ付きＳＲＡＭ５４、ＳＲＡＭインタフェース５３の処理の詳細については、後述する。
【００２０】
図１の情報処理装置３０と同様にして、本実施の形態例における情報処理装置５０は、ＢＵＰ−Ｄ５２の電源網とは異なるＣＰＵ−Ｄ５１の電源網への電源供給を遮断することにより通常動作モードからスタンバイモードに移行する。その際、情報処理装置５０は、フラグ付きＳＲＡＭ５４におけるＢフラグ値「１」のデータを退避対象データとする。そして、情報処理装置５０は、ＣＰＵ−Ｄ５１の電源網への電源が復帰し、通常動作モードへ移行する際に、ＢＵＰ−Ｄ５２のＢ−ＳＲＡＭ２２に退避したデータを読み出しフラグ付きＳＲＡＭ５４に再び書き込む。
【００２１】
なお、図３の情報処理装置５０において、ＢＵＰ−Ｄ５２にパワーマネジメントユニット２１を搭載しＣＰＵ−Ｄ５１の電源のみを遮断する例をあげているが、この例に限定されるものではない。例えば、情報処理装置５０は、さらにパワーマネジメントユニット２１を搭載する別のドメインを有し、通常動作時はＢＵＰ−Ｄ５２の電源を遮断しておき、スタンバイモードの間のみＢＵＰ−Ｄ５２の電源を供給してもよい。
【００２２】
図４は、本実施の形態例におけるフラグ付きＳＲＡＭ５４の構成の一例を表す図である。同図のフラグ付きＳＲＡＭ５４は、前述したとおり、データを保持するメモリセル５５毎に、当該メモリセル５５に対応するＢフラグメモリ５６を有する。Ｂフラグメモリ５６はフリップフロップで構成され、スタンバイモード移行時、同アドレスのメモリセルのデータが退避対象であるか否かを表す値を保持する。本実施の形態例におけるＢフラグメモリ５６は、同アドレスのメモリセルのデータが退避対象データである場合は「１」、非退避対象データの場合は「０」の１ビットの値を保持するものとする。
【００２３】
図４のフラグ付きＳＲＡＭ５４は、前述したバス（ＣＰＵバス）１５、専用バス５８に加えて、後述するＳＲＡＭインタフェース５３の制御部や判定回路部に接続される。フラグ付きＳＲＡＭ５４の読み出し及び書き込み処理時、アドレスバスからアドレスデコーダＡＤに入力されたアドレスがデコードされ、ワード線駆動回路Ｗ１、Ｗ２に入力されワード線が、ビット線セレクタＢ１、Ｂ２に入力されビット線がそれぞれ選択される。そして、ワード線及びビット線によって、アドレスに対応するメモリセル及びＢフラグメモリが選択される。
【００２４】
そして、データ及びＢフラグ値の書き込み時には、制御部６３が、フラグ付きＳＲＡＭ５４に対応するチップセレクト信号ＣＳと、Ｈレベルのデータライト制御信号及びフラグライト制御信号を入力すると、クロックに同期して、Ｒ／Ｗ６４、６５のデータ及びＢフラグ値がメモリセル５５及びＢフラグメモリ５６に書き込まれる。一方、制御部６３が、データのみの書き込み時には、対応するチップセレクト信号ＣＳと、Ｈレベルのデータライト制御信号及びＬレベルのフラグライト制御信号を入力すると、クロックに同期して、Ｒ／Ｗ６４のデータのみがメモリセル５５に書き込まれる。さらに、Ｂフラグ値のみの書き込み時には、制御部６３は、対応するチップセレクト信号ＣＳと、Ｌレベルのデータライト制御信号及びＨレベルのフラグライト制御信号を入力する。
【００２５】
続いて、図４のフラグ付きＳＲＡＭ５４からデータを読み出す場合、制御部６３は、フラグ付きＳＲＡＭ５４に対応するチップセレクト信号ＣＳと、Ｌレベルのデータライト制御信号及びフラグライト制御信号を入力する。これにより、クロックに同期して、Ｒ／Ｗ６４、６５を介して、メモリセル５５及びＢフラグメモリ５６からデータ及びＢフラグ値が読み出される。そして、必要に応じて、読み出されたデータ及びＢフラグ値が使用される。
【００２６】
なお、本実施の形態例におけるフラグ付きＳＲＡＭ５４のＢフラグメモリ５６は、０または１の値を保持するが、例えば、退避対象データである場合にのみ所定の値を保持してもよいし、反対に、非退避対象データである場合にのみ所定の値を保持してもよい。また、図４のフラグ付きＳＲＡＭ５４は、メモリセル５５とＢフラグメモリ５６にそれぞれワード線駆動回路Ｗ１、Ｗ２、及びビット線セレクタＢ１、Ｂ２を有する。これにより、メモリセル５５、Ｂフラグメモリ５６いずれかへの書き込み、読み出し処理を可能にする。しかしながらこの例に限定されるものではなく、フラグ付きＳＲＡＭ５４は、メモリセル５５とＢフラグメモリ５６に共有のワード線駆動回路及びビット線セレクタを有してもよい。
【００２７】
このようなフラグ付きＳＲＡＭ５４は、通常動作時、２つの命令によって書き込み処理が行われる。ひとつ目の命令は、フラグ付きＳＲＡＭ５４に対してＢフラグの値を書き込まずにデータを書き込む従来の書き込み命令である。ふたつ目の命令は、フラグ付きＳＲＡＭ５４に対して、データに加えて退避対象データであることを示すＢフラグの値（本実施の形態例では「１」）を書き込む命令（以下、Ｂフラグ対応命令）である。このため、ユーザーは、例えば、予め、退避対象データについてはＢフラグ対応命令を、非退避対象データについては従来の書き込み命令を使用してプログラムを記述する。そして、通常動作時にプログラムが実行されると、フラグ付きＳＲＡＭ５４に対して、退避対象データについてはＢフラグ値「１」が、非退避対象データについてはデータのみが書き込まれる。なお、この場合、フラグ付きＳＲＡＭ５４の各Ｂフラグメモリ５６全てに予め値「０」が書き込まれているものとする。
【００２８】
ただし、Ｂフラグ対応命令は、データに加えてＢフラグ値「１」を書き込む命令に限定されるものではなく、オペランドに指定した任意のＢフラグの値（本実施の形態例では、「０」「１」）を書き込む命令であってもよい。ところで、メモリへの書き込み命令は一般的に複数種類あるため、複数種類の各命令に対応して各Ｂフラグ対応命令が用意される。
【００２９】
図５は、Ｂフラグ対応命令の一例であるＳＴＢＵ命令（ストアバックアップ命令）とその処理を表す例図である。例えば、ＳＴＢＵ命令のオペランドには、書き込み対象のデータと、フラグ付きＳＲＡＭ５４における書き込み対象のアドレスとが指定されるものとする。具体的に、ＳＴＢＵ命令は、例えば「ＳＴＢＵ  Ｒ３（書き込み対象のデータを保持するレジスタ）， ＠Ｒｊ（書き込み対象のアドレス）」のように使用される。以下に、Ｒｊがアドレス「０００３ｘｘｘ５」を指す場合のＳＴＢＵ命令の処理について説明する。
【００３０】
図５のＳＴＢＵ命令実行前の状態において、ＣＰＵの汎用レジスタＲ２に「１２３４５６７８」が、汎用レジスタＲ３に「８７６５４３２１」が保持されている。また、フラグ付きＳＲＡＭ５４のアドレス「０００３ｘｘｘ５」に対して、データは書き込まれておらず、Ｂフラグに予め値「０」が書き込まれている。この状態で、「ＳＴＢＵ  Ｒ３， ＠Ｒｊ（０００３ｘｘｘ５）」が実行されると、フラグ付きＳＲＡＭ５４のアドレス「０００３ｘｘｘ５」に、Ｂフラグ「１」と汎用レジスタＲ３のデータ「８７６５４３２１」が書き込まれる。
【００３１】
このように、本実施の形態例における情報処理装置５０は、通常動作時、フラグ付きＳＲＡＭ５４に対して、スタンバイモード移行時に退避対象のデータについては、Ｂフラグ対応命令を使用してデータ及び当該データが退避対象であることを表すＢフラグ値とを書き込む。また、情報処理装置５０は、非退避対象データについては、従来のＳＲＡＭ書き込み命令によってデータのみをフラグ付きＳＲＡＭ５４に書き込む。または、情報処理装置５０は、退避対象であるか否かに基づいてＢフラグ対応命令のオペランドに指定された任意の値（Ｂフラグ値）とデータとをフラグ付きＳＲＡＭ５４に書き込む。これにより、情報処理装置５０は、通常動作時、時間及び負荷を伴うことなく、フラグ付きＳＲＡＭ５４にデータ及びＢフラグ値を書き込むことができる。
【００３２】
続いて、スタンバイモード移行時におけるフラグ付きＳＲＡＭ５４（図３）からＢ−ＳＲＡＭ２２（図３）へのデータ退避処理、及び、スタンバイモードからの復帰時におけるＢ−ＳＲＡＭ２２からフラグ付きＳＲＡＭ５４へのデータ復帰処理について説明する。
【００３３】
図６は、スタンバイモード移行／復帰時におけるフラグ付きＳＲＡＭ５４とＢ−ＳＲＡＭ２２とのデータ変移を説明する図である。同図において、スタンバイモード移行処理前（左）の状態では、例えば、前述したＳＴＢＵ命令によって、退避対象のデータについてはＢフラグ値「１」が共に書き込まれている。具体的に、同図のスタンバイモード移行処理前のフラグ付きＳＲＡＭ５４において、アドレス「０００３ｘｘｘ１」にデータ「Ａ」とＢフラグ値「０」が、アドレス「０００３ｘｘｘ２」にデータ「Ｂ」とＢフラグ値「１」が書き込まれている。以降のアドレスについても同様にして、データとＢフラグ値が書き込まれている。
【００３４】
そして、スタンバイモード移行処理において、図３のＳＲＡＭインタフェース５３は、Ｂフラグ値「１」のデータと当該データのアドレスとを、ＢＵＰ−Ｄ５２のＢ−ＳＲＡＭ２２に退避する。具体的に、図６のスタンバイモード移行処理前のフラグ付きＳＲＡＭ５４において、Ｂフラグ値が「１」のデータとそのアドレスは、例えば、「アドレス：０００３ｘｘｘ２／データ：Ｂ」、「アドレス：０００３ｘｘｘ５／データ：Ｅ」、「アドレス：０００３ｘｘｘＢ／データ：Ｋ」である。スタンバイモード移行処理によって、これらのデータ及びアドレスがＢ−ＳＲＡＭ２２に転送され、スタンバイモード移行処理後のＢ−ＳＲＡＭ２２（図６の中央）に同様のデータ及びアドレスが書き込まれる。
【００３５】
そして、スタンバイモードからの復帰処理において、ＳＲＡＭインタフェース５３は、Ｂ−ＳＲＡＭ２２（図６の中央）から順次データ及びアドレスを読み出し、フラグ付きＳＲＡＭ５４の読み出したアドレス位置に、読み出したデータとＢフラグ値「１」を書き込む。具体的に、ＳＲＡＭインタフェース５３は、Ｂ−ＳＲＡＭ２２から、まず、アドレス「０００３ｘｘｘ２」及びデータ「Ｂ」を読み出し、フラグ付きＳＲＡＭ５４におけるアドレス「０００３ｘｘｘ２」位置にデータ「Ｂ」とＢフラグ値「１」を書き込む。以降のアドレス及びデータについても同様にして、ＳＲＡＭインタフェース５３は、フラグ付きＳＲＡＭ５４における読み出したアドレス位置に読み出したデータを書き込む。
【００３６】
なお、図６のＢ−ＳＲＡＭ２２（中央）において、アドレスとデータとを別々のアドレスに保持しているが、各アドレスのビット数を増やして、各アドレスにアドレスとデータとを保持してもよい。さらに、上述した例では、Ｂ−ＳＲＡＭ２２に、アドレス、データの順に書き込まれるが、この順に限定されるものではない。
【００３７】
続いて、本実施の形態例におけるＳＲＡＭインタフェース５３の回路図に基づいて、命令によるＢフラグ付きＳＲＡＭ５４への書き込み処理、及び、スタンバイモード移行／復帰時の処理について説明する。まず、命令によるフラグ付きＳＲＡＭ５４への書き込み処理について説明する。
【００３８】
図７は、本実施の形態例におけるＳＲＡＭインタフェース５３の回路の一例を表す図である。同図はＳＲＡＭインタフェース５３の回路であるが、説明のために、図中にＢフラグＳＲＡＭ５４のＳＲＡＭ５５及びＢフラグメモリ５６が表されている。ＳＲＡＭインタフェース５３の回路は、例えば、判定回路部ＣＥ、セレクタＳ１〜Ｓ３、フリップフロップＦＦ、制御部ＣＴを有する。以下、具体的に述べる。
【００３９】
初めに、命令によるフラグ付きＳＲＡＭ５４への書き込み処理の流れを説明する。図７において、ＣＰＵ１１によって前述したＳＴＢＵ命令が実行されると、ＳＴＢＵ命令のオペランドに指定されたデータ書き込み先アドレスがＣＰＵバス（アドレス）１５−１を介してセレクタＳ１に、書き込み対象データがＣＰＵバス（データ）１５−２を介してセレクタＳ２に出力される。また、同時に、ＣＰＵバス（制御）１５−３を介して、Ｂフラグメモリ５６へ値「１」の書き込み指示が制御部ＣＴに出力される。
【００４０】
続いて、各セレクタＳ１、ＳにおいてＣＰＵバス１５からの出力が選択され、ＳＲＡＭ５５に、データ書き込み先アドレス及び書き込み対象データが入力され、当該アドレスに当該データが書き込まれる。また、セレクタＳ１に入力されたデータ書き込みアドレスは、Ｂフラグメモリ５６にも出力され、制御部ＣＴから出力された値「１」の書き込み指示を示すライト制御信号に応答して、Ｂフラグメモリ５６の当該アドレス位置にＢフラグ値「１」が書き込まれる。
【００４１】
具体的に、例えば、命令が前述した「ＳＴＢＵ  Ｒ３， ＠Ｒｊ（０００３ｘｘｘ５）」であった場合、セレクタＳ１には「０００３ｘｘｘ５」が、セレクタＳ２には「８７６５４３２１」が入力される。そして、フラグ付きＳＲＡＭ５４におけるＳＲＡＭ５５のアドレス「０００３ｘｘｘ５」位置にデータ「８７６５４３２１」が書き込まれると共に、Ｂフラグメモリ５６のアドレス「０００３ｘｘｘ５」位置に値「１」が書き込まれる。このようにして、Ｂフラグ対応命令によって、データ及びＢフラグ値が書き込まれる。
【００４２】
続いて、同じ図７に基づいて、スタンバイモード移行時の処理を説明する。前述した通り、スタンバイモード移行時、フラグ付きＳＲＡＭ５４のデータにおけるＢフラグ値「１」のデータとそのアドレスがＢ−ＳＲＡＭ２２へ退避される。
【００４３】
図７の判定回路部ＣＥは、フラグ付きＳＲＡＭ５４におけるＢフラグの値が「１」の最上位のアドレスを出力する回路である。判定回路部ＣＥは、フラグ付きＳＲＡＭ５４におけるメモリセル数に応じた数のＡＮＤ回路Ａ１〜Ａｎ（図示せず）と、各ＡＮＤ回路からの出力を入力とするＯＲ回路Ｒ１を有する。そのため、同図の判定回路部ＣＥではＡＮＤ回路Ａ１、Ａ２、Ａ３が表されているものの、実際には、判定回路部ＣＥは各メモリセル分のＡＮＤ回路を有する。
【００４４】
判定回路部ＣＥの各ＡＮＤ回路は、Ｂフラグメモリ５６の各アドレスに対応し、対応するアドレスと、当該アドレスに対応するＢフラグ値、及び、そのアドレスより下位のアドレスのＢフラグ値の反転値を入力とする。例えば、各ＡＮＤ回路Ａ１〜Ａｎには、予め、決められたＢフラグメモリ５６の各アドレスが常時入力される。そして、判定回路部ＣＥは、各ＡＮＤ回路Ａ１〜Ａｎに対応するアドレスをＢフラグメモリ５６に順次出力し、当該アドレスに対応するＢフラグ値を読み出す。そして、読み出したＢフラグ値をＡＮＤ回路Ａ１〜Ａｎの対応する入力端子に入力する。
【００４５】
以下、判定回路部ＣＥの処理について、図６のスタンバイモード移行処理前のフラグ付きＳＲＡＭ５４に基づいて具体的に説明する。図６のフラグ付きＳＲＡＭ５４において、Ｂフラグ値が「１」のアドレスは、次の３つ０００３ｘｘｘ２、０００３ｘｘｘ５、０００３ｘｘｘＢである。従って、判定回路部ＣＥは、１回目のサイクルでアドレス０００３ｘｘｘ２を、２回目のサイクルでアドレス０００３ｘｘｘ５を、３回目のサイクルでアドレス０００３ｘｘｘＢを出力する。１回目のサイクルから順に説明する。
【００４６】
［１回目のサイクル］
まず、ＡＮＤ回路Ａ１は、先頭アドレスに対応するため、そのアドレスより下位のアドレスは存在しない。そのため、ＡＮＤ回路Ａ１は、図６のフラグ付きＳＲＡＭ５４におけるデータＡが格納された先頭アドレス「０００３ｘｘｘ１」と、当該アドレスに対応するＢフラグ値「０」とを入力とする。この場合、Ｂフラグ値が「０」であることにより、ＡＮＤ回路Ａ１は、アドレス「０００３ｘｘｘ１」ではなく「０」を出力する。
【００４７】
また、ＡＮＤ回路Ａ２は、図６のフラグ付きＳＲＡＭにおけるデータＢが格納された２番目のアドレス「０００３ｘｘｘ２」に対応する。このため、ＡＮＤ回路Ａ２は、アドレス「０００３ｘｘｘ２」と、当該アドレスに対応するＢフラグ値「１」に加え、そのアドレスより下位のアドレス、即ち、「０００３ｘｘｘ１」のＢフラグ値「０」の反転値「１」を入力とする。この場合、アドレス以外の入力値が共に「１」であることにより、ＡＮＤ回路Ａ２は、アドレス「０００３ｘｘｘ２」を出力する。
【００４８】
また、ＡＮＤ回路Ａ３は、図６のフラグ付きＳＲＡＭにおけるデータＣが格納された３番目のアドレス「０００３ｘｘｘ３」に対応する。このため、ＡＮＤ回路Ａ３は、アドレス「０００３ｘｘｘ３」と、当該アドレスに対応するＢフラグ値「０」に加え、そのアドレスより下位のアドレス、即ち、「０００３ｘｘｘ１（データＡ）、０００３ｘｘｘ２（データＢ）」の各Ｂフラグ値の反転値を入力とする。この場合、アドレス「０００３ｘｘｘ１（データＡ）」のＢフラグ値の反転値は「１」、アドレス「０００３ｘｘｘ２」のＢフラグ値の反転値は「０」である。アドレス以外の入力値が「０」及び「１」であるため、ＡＮＤ回路Ａ３は、アドレス「０００３ｘｘｘ３」ではなく「０」を出力する。
【００４９】
同様にして、ＡＮＤ回路Ａ３より上位のアドレスに対応するＡＮＤ回路Ａｎ（図示せず）についても、ｎ番目のアドレスと、当該アドレスに対応するＢフラグ値と、そのアドレスより下位のアドレスのＢフラグ値の反転値を入力とする。１回目のサイクルでは、アドレス「０００３ｘｘｘ２」のＢフラグ値が「１」であることにより、それより上位のアドレスに対応するＡＮＤ回路Ａ３〜Ａｎは、当該Ｂフラグ値の反転値「０」を入力とする。このため、この例の１回目のサイクルにおいて、ＡＮＤ回路Ａ３〜Ａｎは、必ず「０」を出力することになる。
【００５０】
このように、本実施の形態例の判定回路部ＣＥにおける２番目以降のＡＮＤ回路Ａ２〜Ａｎは、それぞれのＡＮＤ回路に対応するアドレスより下位のアドレスのＢフラグ値が全て「０」（非退避対象データ）であって、当該ＡＮＤ回路に対応するアドレスのＢフラグ値が「１」（退避対象データ）である場合にのみ、当該ＡＮＤ回路に対応するアドレスを出力する。
【００５１】
そして、ＯＲ回路Ｒ１は、各ＡＮＤ回路の出力の論理和を出力する。この例において、ＯＲ回路Ｒ１に対して、ＡＮＤ回路Ａ１、Ａ３〜Ａｎからは「０」が、ＡＮＤ回路Ａ２からはアドレス「０００３ｘｘｘ２」が入力される。このため、ＯＲ回路Ｒ１は、アドレス「０００３ｘｘｘ２」、つまり図６のフラグ付きＳＲＡＭ５４のＢフラグ値「１」の最上位のアドレスを出力する。このようにして、判定回路部ＣＥは、フラグ付きＳＲＡＭ５４におけるＢフラグ値が「１」の最上位のアドレスを出力する。
【００５２】
続いて、判定回路部ＣＥから出力されたアドレス「０００３ｘｘｘ２」は、セレクタＳ１及びセレクタＳ３に入力され、セレクタＳ１に入力されたアドレス「０００３ｘｘｘ２」は、ＳＲＡＭ５５及びＢフラグメモリ５６に入力される。そして、ＳＲＡＭ５５に入力されたアドレス「０００３ｘｘｘ２」に対応するデータ「Ｂ」が読み出され、セレクタＳ３に出力される。従って、セレクタＳ３には、判定回路部ＣＥから出力されたフラグ付きＳＲＡＭ５４におけるＢフラグ値が「１」の最上位のアドレス「０００３ｘｘｘ２」と、当該アドレスのＳＲＡＭ５５のデータ「Ｂ」が入力される。
【００５３】
そして、制御部ＣＴは、セレクタＳ３に出力制御信号を出力することにより、まず、アドレス「０００３ｘｘｘ２」とデータ「Ｂ」のうちアドレスを選択し、Ｂ−ＳＲＡＭへの専用バス５８に出力する。同時に、制御部ＣＴは、ライト制御信号及びＢ−ＳＲＡＭ２２への書き込み先アドレス（この場合、例えば、Ｂ−ＳＲＡＭ２２の先頭アドレス）をＢ−ＳＲＡＭへの専用バス５８に出力する。これにより、Ｂ−ＳＲＡＭ２２の先頭アドレスに、セレクタＳ３から出力されたアドレス「０００３ｘｘｘ２」が書き込まれる。
【００５４】
続いて、制御部ＣＴは、同様にして、セレクタＳ３に出力制御信号を出力して、次はデータ「Ｂ」を選択し、Ｂ−ＳＲＡＭへの専用バス５８に出力する。同様にして、制御部ＣＴは、ライト制御信号及びインクリメントしたＢ−ＳＲＡＭ２２への書き込み先アドレスをＢ−ＳＲＡＭ専用バス５８に出力する。これにより、Ｂ−ＳＲＡＭ２２において、アドレス「０００３ｘｘｘ２」の次に、当該アドレスに対応するデータ「Ｂ」が書き込まれる。このようにして、フラグ付きＳＲＡＭ５４におけるＢフラグ値が「１」の最上位のアドレス「０００３ｘｘｘ２」と、当該アドレスに対応するデータ「Ｂ」がＢ−ＳＲＡＭ２２に順に書き込まれる。
【００５５】
なお、前述したとおり、判定回路部ＣＥから出力されたＢフラグ値が「１」の最上位のアドレス「０００３ｘｘｘ２」はＢフラグメモリ５６にも出力される。そして、制御部ＣＴが、Ｂフラグに値「０」を書き込むライト制御信号を出力すると、Ｂフラグメモリ５６の判定回路部ＣＥから出力されたアドレス位置のＢフラグ値が「１」から「０」に書き換えられる。
【００５６】
［２回目のサイクル］
判定回路部ＣＥは、続いて、次の、フラグ付きＳＲＡＭ５４におけるＢフラグ値が「１」の最上位アドレス２を出力する。１回目のサイクルで判定回路部ＣＥから出力されたアドレス「０００３ｘｘｘ２」のＢフラグ値は、既に「１」から「０」に書き換えられている。そのため、判定回路部ＣＥは、１回目のサイクルと同様にして、再度、各ＡＮＤ回路Ａ１〜Ａｎに対応するＢフラグ値を読み出し、読み出したＢフラグ値またはその反転値を対応するＡＮＤ回路Ａ１〜Ａｎに入力する。図６のフラグ付きＳＲＡＭ５４によると、データＢより上位のアドレスのうちＢフラグ値が「１」のアドレスは「０００３ｘｘｘ５」であるため、判定回路部ＣＥはアドレス「０００３ｘｘｘ５」を出力する。
【００５７】
１回目のサイクルでアドレスを出力したＡＮＤ回路Ａ２については、当該ＡＮＤ回路Ａ２に対応するアドレス「０００３ｘｘｘ２」と、当該アドレスに対応するＢフラグ値「０」と、そのアドレスより下位のアドレス「０００３ｘｘｘ１」のＢフラグ値「０」の反転値「１」を入力とする。この場合、当該ＡＮＤ回路Ａ２に対応するＢフラグ値が既に「１」から「０」に書き換えられていることから、２回目のサイクルでは、ＡＮＤ回路Ａ２は「０」を出力する。
【００５８】
そして、図７の判定回路部ＣＥに図示していないが、アドレス「０００３ｘｘｘ５」に対応するＡＮＤ回路Ａ５（図示せず）は、当該ＡＮＤ回路に対応するＢフラグ値が「１」であり、そのアドレスより下位のアドレスのＢフラグ値が全て「０」（この反転値は「１」）である。この場合、ＡＮＤ回路Ａ５に対応するＢフラグ値と、当該ＡＮＤ回路に対応するアドレスより下位のアドレスのＢフラグ値の反転値が全て「１」であることから、ＡＮＤ回路Ａ５はアドレス「０００３ｘｘｘ５」を出力する。
【００５９】
そして、１回目のサイクルと同様にして、判定回路部ＣＥから出力されたアドレス「０００３ｘｘｘ５」とそのデータ「Ｅ」がＢ−ＳＲＡＭ２２に書き込まれると共に、アドレス「０００３ｘｘｘ５」のＢフラグ値が「０」に書き換えられる。
【００６０】
［３回目のサイクル］
同様にして、判定回路部ＣＥは、次の、フラグ付きＳＲＡＭ５４におけるＢフラグ値が「１」の最上位アドレスを出力する。２回目のサイクルで判定回路部ＣＥから出力されたアドレス「０００３ｘｘｘ５」のＢフラグ値が既に「１」から「０」に書き換えられているため、判定回路部ＣＥは、図６のフラグ付きＳＲＡＭ５４によると、次に、アドレス「０００３ｘｘｘＢ」を出力する。
【００６１】
判定回路部ＣＥがアドレス「０００３ｘｘｘＢ」を出力する処理については、１、２回目のサイクルと同様である。そして、同様に、判定回路部ＣＥから出力されたアドレス「０００３ｘｘｘＢ」とそのデータ「Ｋ」がＢ−ＳＲＡＭ２２に書き込まれると共に、アドレス「０００３ｘｘｘＢ」のＢフラグ値が「０」に書き換えられる。
【００６２】
このように、ＳＲＡＭインタフェース５３は、スタンバイモード移行時、フラグ付きＳＲＡＭ５４におけるＢフラグ値が「１」のアドレス及びデータを、順次、Ｂ−ＳＲＡＭ２２に書き込む。なお、ＳＲＡＭインタフェース５３の制御部ＣＴはカウンタ（図示せず）を有し、Ｂ−ＳＲＡＭ２２へデータ転送された回数をカウントする。そして、Ｂフラグ値が「１」の全てのアドレス及びデータがＢ−ＳＲＡＭ２２に書き込まれると、制御部ＣＴはその転送回数をレジスタ専用バス５７に出力し、ＢＵＰ−Ｄ５２のレジスタＲＧに保持させる。この転送回数は、スタンバイモードからの復帰時に使用される。
【００６３】
そして、この後、情報処理装置５０は、ＣＰＵ−Ｄ５１の電源を遮断し、通常動作モードからスタンバイモードに移行する。この時、ＣＰＵ−Ｄ５１の電源が遮断されることにより、フラグ付きＳＲＡＭ５４の全データが失われる。
【００６４】
続いて、同じ図７に基づいて、スタンバイモードからの復帰時の処理を説明する。
【００６５】
初めに、制御部ＣＴは、レジスタ専用バス５７を介して、ＢＵＰ−Ｄ５２のレジスタＲＧからデータの転送回数を取得する。続いて、制御部ＣＴは、Ｂ−ＳＲＡＭ２２の読み出しアドレス（この場合、例えば、Ｂ−ＳＲＡＭ２２の先頭アドレス）をＢ−ＳＲＡＭへの専用バス５８に出力し、Ｂ−ＳＲＡＭ２２から値を読み出す。本実施の形態例におけるＢ−ＳＲＡＭ２２には、データ、アドレスの順に値が記憶されていることから、Ｂ−ＳＲＡＭ２２から、まず、先頭に書き込まれたアドレスが読み出され、フリップフロップＦＦに保持される。
【００６６】
続いて、制御部ＣＴが、インクリメントした読み出しアドレスを出力すると、Ｂ−ＳＲＡＭ２２から次の値（データ）が読み出されセレクタＳ２に入力される。この時、同時に、フリップフロップＦＦの保持するアドレスがセレクタＳ１に入力され、セレクタＳ１から入力されたアドレスと、セレクタＳ２から入力されたデータとがＳＲＡＭ５５に出力される。これにより、ＳＲＡＭ５５の当該アドレス位置に、当該データが書き込まれる。また、セレクタＳ１から出力されたアドレスは、Ｂフラグメモリ５６にも出力される。そして、制御部ＣＴが、Ｂフラグ値「１」の書き込みを指示するライト制御信号を出力すると、Ｂフラグメモリ５６のアドレス位置にＢフラグ値「１」が書き込まれる。
【００６７】
同様にして、読み出し数がレジスタＲＧに保持された転送回数に達するまで、Ｂ−ＳＲＡＭ２２からのアドレス及びデータが読み出され、フラグ付きＳＲＡＭ５４における当該読み出されたアドレス位置に、当該読み出されたデータとＢフラグ値「１」が書き込まれる。そして、Ｂ−ＳＲＡＭ２２に転送された全ての値がフラグ付きＳＲＡＭ５４に書き込まれると、情報処理装置５０は、スタンバイモードから通常動作モードに復帰する。
【００６８】
このようにして、本実施の形態例の情報処理装置５０は、電源遮断対象のドメイン（本実施の形態例ではＣＰＵ−Ｄ５１）において、データと当該データが退避対象であるか否かを表すＢフラグ値とを記憶するフラグ付きＳＲＡＭ５４と、当該フラグ付きＳＲＡＭ５４の制御を行うＳＲＡＭインタフェース５３を一例とするメモリコントローラを有する。また、情報処理装置５０は、別のドメイン（本実施の形態例ではＢＵＰ−Ｄ５２）に、退避対象データと、当該データのフラグ付きＳＲＡＭ５４における退避対象データアドレスとを記憶するＢ−ＳＲＡＭ２２を有する。
【００６９】
そして、そして、メモリコントローラは、Ｂフラグ対応命令によってデータ及びＢフラグ値をフラグ付きＳＲＡＭ５４に書き込むと共に、スタンバイモード移行処理時、フラグ付きＳＲＡＭ５４から、Ｂフラグ値に基づいて退避対象データ及び退避対象アドレスとをＢ−ＳＲＡＭ２２に書き込む。そして、メモリコントローラは、スタンバイモードからの復帰時には、Ｂ−ＳＲＡＭ２２から体位対象データ及び退避対象アドレスとを読み出し、フラグ付きＳＲＡＭ５４における退避対象アドレス位置に退避対象データを書き込む。これにより、スタンバイモード移行前のフラグ付きＳＲＡＭ５４のデータ及びＢフラグ値が復元される。
【００７０】
このように、本実施の形態例における情報処理装置５０は、通常動作時、Ｂフラグ対応命令によってデータとＢフラグ値とをフラグ付きＳＲＡＭ５４に書き込む。これにより、情報処理装置５０は、アドレステーブルＡＴを有する必要がなく、つまり退避対象のアドレスを保持する必要がなく、通常動作時、アドレステーブルＡＴに係る処理の遅れや負荷増加を伴わずに、スタンバイモード移行／復帰時における退避対象のデータ量を抑えることができる。
【００７１】
図８は、通常動作時におけるアドレステーブルを有する情報処理装置４０（図２）のＳＲＡＭに係る処理（同図の処理Ｘ）と、本実施の形態例の情報処理装置５０（図３）のフラグ付きＳＲＡＭ５４に係る処理（同図の処理Ｙ）との対比を表す図である。アドレステーブルＡＴを有する情報処理装置４０（図２）は、処理Ｘのように、通常動作時、ＳＲＡＭ１３（図２）への書き込み処理及び読み出し処理８０に加え、アドレステーブルＡＴの初期設定及び更新処理８１、書き込み及び読み出し処理対象のＳＲＡＭ１３のアドレスとアドレステーブルＡＴの各アドレスとを照合する判定処理８２を要する。このように、情報処理装置４０（図２）は、通常動作時、アドレステーブルＡＴに係る処理を行う必要があり、処理の遅れや負荷の増加が伴うことがあった。
【００７２】
それに対し、本実施の形態例における情報処理装置５０（図３）は、フラグ付きＳＲＡＭ５４を有し、従来の書き込み命令に加え、Ｂフラグ対応命令によって、フラグ付きＳＲＡＭ５４にＢフラグ値を合わせて書き込む。このため、図８の処理Ｙのように、通常動作時、フラグ付きＳＲＡＭ５４（図３）への書き込み及び読み出し処理の他に、アドレステーブルＡＴに係る処理を要しない。そして、情報処理装置５０は、スタンバイモード移行／復帰時、フラグ付きＳＲＡＭ５４のＢフラグ値に基づいて退避対象データを判別可能であるため、退避対象のデータ量を抑えることができる。
【００７３】
これにより、本実施の形態例における情報処理装置５０は、通常動作時の処理を最小限にしながら、スタンバイモード移行／復帰時の退避対象のデータを抑えることができる。これにより、低消費電力化及びコストダウンを実現できる。
【００７４】
以上の実施の形態をまとめると、次の付記のとおりである。
【００７５】
（付記１）
電源遮断可能な第１の電源網を有する第１のドメインと、
前記第１の電源網とは異なる第２の電源網を有する第２のドメインとを有し、
前記第１のドメインは、
データと電源遮断時に前記データが退避対象であるか否かを示すフラグとを記憶するフラグ付きメモリと、
前記フラグ付きメモリに前記データに加えて退避対象を示す前記フラグを書き込む第１の命令を含む複数の命令を実行するＣＰＵと、
前記フラグ付きメモリを制御するメモリコントローラとを有し、
前記第２のドメインは、
退避メモリを有し、
前記メモリコントローラは、前記第１の命令の実行時に前記データに加えて前記フラグを前記フラグ付きメモリに書き込み、前記第１のドメインの電源遮断直前に、前記フラグ付きメモリ内の前記退避対象を示す前記フラグに対応する退避対象データとその退避対象データアドレスを前記退避メモリに書き込む情報処理装置。
【００７６】
（付記２）
付記１において、
前記メモリコントローラは、電源遮断された前記第１のドメインへの電源復帰時、前記第２のドメインの前記退避メモリから前記退避対象データと前記退避対象アドレスとを読み出し、前記フラグ付きメモリにおける前記退避対象アドレスに前記退避対象データを書き込む情報処理装置。
【００７７】
（付記３）
付記２において、
前記メモリコントローラは、前記第１のドメインへの電源復帰時、前記フラグ付きメモリの前記退避対象アドレスに、前記退避対象データに加えて前記退避対象を示すフラグを書き込む情報処理装置。
【００７８】
（付記４）
付記１乃至３のいずれかにおいて、
前記複数の命令は、前記フラグ付きメモリに前記フラグを書き込まずに前記データを書き込む第２の命令を有する情報処理装置。
【００７９】
（付記５）
付記１乃至４のいずれかにおいて、
前記メモリコントローラは、
前記フラグ付きメモリの最下位または最上位の第１のアドレスに対応して設けられ、前記第１のアドレスの前記フラグの値が退避対象を示す場合に前記第１のアドレスを出力する第１の演算器と、
前記第１のアドレスが前記最下位のアドレスの場合はそれより上位、前記最上位のアドレスの場合はそれより下位の第２のアドレスに対応して設けられ、前記第２のアドレスの前記フラグの値が退避対象を示し、前記第１のアドレスを含む前記第２のアドレスより下位または上位の前記フラグが非退避対象を示す場合に前記第２のアドレスを出力する、前記第１のアドレスを除く前記フラグ付きメモリの各アドレスにそれぞれ対応するひとつまたは複数の第２の演算器と、
前記第１、２の演算器の出力の論理和を出力する論理和器とを有し、
前記論理和器の出力を前記退避対象データアドレスとし、当該退避対象データアドレスと、前記フラグ付きメモリ内の当該前記退避対象データアドレスの前記退避対象データを前記退避メモリに書き込み、当該退避対象データアドレスに対応する前記フラグを非退避対象を示す値に書き換える処理を、前記退避対象を示すフラグの数分、順次繰り返す情報処理装置。
【００８０】
（付記６）
電源遮断可能な第１の電源網を有する第１のドメインと、前記第１の電源網とは異なる第２の電源網を有する第２のドメインとを備える情報処理装置のデータ退避方法であって、
データと電源遮断時に前記データが退避対象であるか否かを示すフラグとを記憶するフラグ付きメモリに、前記データに加えて退避対象を示す前記フラグを書き込む第１の命令を実行する第１のメモリ書き込み工程と、
前記第１のドメインの電源遮断直前に、前記フラグ付きメモリ内の前記退避対象を示す前記フラグに対応する前記退避対象データとその退避対象データアドレスを前記退避メモリに書き込むデータ退避工程と、
を有する情報処理装置のデータ退避方法。
【００８１】
（付記７）
付記６において、さらに、
電源遮断された前記第１のドメインへの電源復帰時、前記第２のドメインの前記退避メモリから前記退避対象データと前記退避対象アドレスとを読み出し、前記フラグ付きメモリにおける前記退避対象アドレスに前記退避対象データを書き込むデータ復帰工程を、
有する情報処理装置のデータ退避方法。
【００８２】
（付記８）
付記７において、
前記データ復帰工程において、前記フラグ付きメモリの前記退避対象アドレスに、前記退避対象データに加えて前記退避対象を示すフラグを書き込む情報処理装置のデータ退避方法。
【００８３】
（付記９）
付記６乃至８のいずれかにおいて、さらに、
前記フラグ付きメモリに、前記フラグを書き込まずに前記データを書き込む第２の命令を実行する第２のメモリ書き込み工程を有する情報処理装置のデータ退避方法。
【符号の説明】
【００８４】
５０：情報処理装置、５１：ＣＰＵ−Ｄ、５２：ＢＵＰ−Ｄ、
１１：ＣＰＵ、１２：ＲＯＭ、１４：Ｐｅｒｉｐｈｅｒａｌ、１５：バス、５３：ＳＲＡＭインタフェース、５４：フラグ付きＳＲＡＭ、５５：ＳＲＡＭ、５６：Ｂフラグメモリ、
２１、ＰＭＵ、２２：Ｂ−ＳＲＡＭ
【図１】
2012103967.tif 000003
【図２】
2012103967.tif 000004
【図３】
2012103967.tif 000005
【図４】
2012103967.tif 000006
【図５】
2012103967.tif 000007
【図６】
2012103967.tif 000008
【図７】
2012103967.tif 000009
【図８】
2012103967.tif 000010