(57)【要約】【課題】電源がオンの状態に移行したとき、オフ状態に移行する直前の状態に復帰し、オフ状態に移行する直前の状態から継続して処理が行える情報処理装置等を提供する。【解決手段】情報処理装置１は、論理演算及び算術演算を行うＡＬＵ１１、浮動小数点演算を行うＦＰＵ１２、割り込み処理を行う割込ユニット１３を備えている。さらに、情報処理装置１は、これらの演算および処理を実行するにあたってデータ、アドレスなどを保持（記憶）する読み書き可能な揮発性レジスタ１４、揮発性レジスタ１４が保持するデータ等を並行して保持する読み書き可能な不揮発性メモリ１７を備えている。さらに、情報処理装置１は、読み書き可能な不揮発性メインメモリ３１を備えている。【選択図】図１
2013004036.tif 000002
【特許請求の範囲】
【請求項１】
算術演算および論理演算を行う演算手段と、
前記演算手段が行う演算に用いられるデータを保持する読み書き可能な揮発性レジスタと、
前記揮発性レジスタの保持する前記データを並行して保持する読み書き可能な不揮発性メモリと、
前記揮発性レジスタに前記データを書き込む第１の書込手段と、
前記揮発性レジスタの前記データが書き込まれるたびに、並行して、前記不揮発性メモリに当該データを書き込む第２の書込手段と、
電源がオンになったとき、前記不揮発性メモリが保持するデータを前記揮発性レジスタに書き戻す書戻手段と
を備える情報処理装置。
【請求項２】
前記不揮発性メモリと前記揮発性レジスタとの間にデータ転送バスをさらに備え、
前記書戻手段は、前記データ転送バスを介して、前記不揮発性メモリが保持するデータを前記揮発性レジスタに書き戻すことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記不揮発性メモリが、前記演算手段が行う演算に用いられる前記データに加えて、前記情報処理装置をリセットするリセットベクタを保持するとともに、
前記データまたは前記リセットベクタのいずれを前記揮発性レジスタに書き戻すかを指定する指定手段をさらに備え、
前記書戻手段が、前記指定手段によって指定された前記データまたは前記リセットベクタのいずれかを前記揮発性レジスタに書き戻すことを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記情報処理装置をリセットするリセットベクタを保持する不揮発性リセットベクタメモリと、
前記データまたは前記リセットベクタのいずれを前記揮発性レジスタに書き戻すかを指定する指定手段と、
前記指定手段によって指定された前記データを保持する前記不揮発性メモリと前記リセットベクタを保持する前記不揮発性リセットベクタメモリのいずれかに接続を切り替える切替手段とをさらに備え、
前記書戻手段が、前記切替手段により接続が切り替えられた前記不揮発性メモリまたは前記不揮発性リセットベクタメモリから、前記データまたは前記リセットベクタのいずれかを前記揮発性レジスタに書き戻すことを特徴とする請求項１または２に記載の情報処理装置。
【請求項５】
前記情報処理装置が少なくとも当該情報処理装置の動作を制御するプログラムを保持する不揮発性メインメモリをさらに備えることを特徴とする請求項１ないし４のいずれか１項に記載の情報処理装置。
【請求項６】
前記不揮発性メモリが、ＭＲＡＭ、ＦｅＲＡＭ、ＰＲＡＭ、ＲｅＲＡＭのいずれかであることを特徴とする請求項１ないし５のいずれか１項に記載の情報処理装置。
【請求項７】
前記不揮発性メインメモリが、ＭＲＡＭ、ＦｅＲＡＭ、ＰＲＡＭ、ＲｅＲＡＭのいずれかであることを特徴とする請求項５または６に記載の情報処理装置。
【請求項８】
画像を記録材に形成する画像形成部と、
算術演算および論理演算を行う演算手段と、当該演算手段が行う演算に用いられるデータを保持する読み書き可能な揮発性レジスタと、当該揮発性レジスタの保持する当該データを並行して保持する読み書き可能な不揮発性メモリと、当該揮発性レジスタに当該データを書き込む第１の書込手段と、当該揮発性レジスタの当該データが書き込まれるたびに、並行して、当該不揮発性メモリに当該データを書き込む第２の書込手段と、電源がオンになったとき、前記不揮発性メモリが保持するデータを前記揮発性レジスタに書き戻す書戻手段とを備え、前記画像形成部を制御する制御部と
を備える画像形成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置および画像形成装置に関する。
【背景技術】
【０００２】
情報処理装置では、電力が投入される（オンにする）と、ハードウエアの初期化が行なわれ、次にオペレーションシステム（ＯＳ）、アプリケーションプログラム（プログラム）がメインメモリにロードされる（書き込まれる）。そして、実行するプログラムの開始アドレスを保持するメインメモリ上の番地（アドレス）が、プログラムカウンタ（ＰＣ）に設定される。これにより、情報処理装置は動作可能な状態になる。
【０００３】
特許文献１には、主記憶装置の一部を構成する不揮発性記憶部に記憶された主記憶イメージからシステムの起動を行い、前記主記憶イメージの所定幅の領域毎に、システム運用後に初めて書き込みアクセスが発生したときに、その領域のデータを主記憶装置の他の一部を構成する読み書き可能な主記憶部にコピーしてそのコピー上で書き込みを行い、以後、コピー済みの主記憶イメージの領域へのアクセスは前記コピーへのアクセスに切り替える計算機システムが記載されている。
特許文献２には、演算データ格納領域として、書き換え回数制限の無い不揮発性メモリを用いた半導体集積回路であって、スタックポインタにより指定されるアドレスと当該アドレスに連続した所定数のアドレスに格納された前記不揮発性メモリ内の複数のデータに対して所定の演算を行うＣＰＵを備え、前記ＣＰＵは、前記所定の演算の演算結果を前記スタックポインタにより指定される前記アドレスに格納し、前記ＣＰＵの電源をオフする際には、先ず、オフする際のサイクルに於ける前記スタックポインタの値を前記不揮発性メモリ内の予め定められたアドレスに退避した上で、前記ＣＰＵの電源をオフする半導体集積回路が記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−１０８９７号公報
【特許文献２】特開２０１０−２６６７４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、情報処理装置では、オフの状態からオンの状態に移行させたとき、そのオフの状態に移行する直前の状態に速やかに復帰し、オフ状態に移行する直前の状態から継続して処理が行えることが求められている。
本発明は、電源がオンの状態に移行したとき、オフ状態に移行する直前の状態に復帰し、オフ状態に移行する直前の状態から継続して処理が行える情報処理装置等を提供することを目的とする。
【課題を解決するための手段】
【０００６】
請求項１に記載の発明は、算術演算および論理演算を行う演算手段と、前記演算手段が行う演算に用いられるデータを保持する読み書き可能な揮発性レジスタと、前記揮発性レジスタの保持する前記データを並行して保持する読み書き可能な不揮発性メモリと、前記揮発性レジスタに前記データを書き込む第１の書込手段と、前記揮発性レジスタの前記データが書き込まれるたびに、並行して、前記不揮発性メモリに当該データを書き込む第２の書込手段と、電源がオンになったとき、前記不揮発性メモリが保持するデータを前記揮発性レジスタに書き戻す書戻手段とを備える情報処理装置である。
請求項２に記載の発明は、前記不揮発性メモリと前記揮発性レジスタとの間にデータ転送バスをさらに備え、前記書戻手段は、前記データ転送バスを介して、前記不揮発性メモリが保持するデータを前記揮発性レジスタに書き戻すことを特徴とする請求項１に記載の情報処理装置である。
請求項３に記載の発明は、前記不揮発性メモリが、前記演算手段が行う演算に用いられる前記データに加えて、前記情報処理装置をリセットするリセットベクタを保持するとともに、前記データまたは前記リセットベクタのいずれを前記揮発性レジスタに書き戻すかを指定する指定手段をさらに備え、前記書戻手段が、前記指定手段によって指定された前記データまたは前記リセットベクタのいずれかを前記揮発性レジスタに書き戻すことを特徴とする請求項１または２に記載の情報処理装置である。
請求項４に記載の発明は、前記情報処理装置をリセットするリセットベクタを保持する不揮発性リセットベクタメモリと、前記データまたは前記リセットベクタのいずれを前記揮発性レジスタに書き戻すかを指定する指定手段と、前記指定手段によって指定された前記データを保持する前記不揮発性メモリと前記リセットベクタを保持する前記不揮発性リセットベクタメモリのいずれかに接続を切り替える切替手段とをさらに備え、前記書戻手段が、前記切替手段により接続が切り替えられた前記不揮発性メモリまたは前記不揮発性リセットベクタメモリから、前記データまたは前記リセットベクタのいずれかを前記揮発性レジスタに書き戻すことを特徴とする請求項１または２に記載の情報処理装置である。
請求項５に記載の発明は、前記情報処理装置が少なくとも当該情報処理装置の動作を制御するプログラムを保持する不揮発性メインメモリをさらに備えることを特徴とする請求項１ないし４のいずれか１項に記載の情報処理装置である。
請求項６に記載の発明は、前記不揮発性メモリが、ＭＲＡＭ、ＦｅＲＡＭ、ＰＲＡＭ、ＲｅＲＡＭのいずれかであることを特徴とする請求項１ないし５のいずれか１項に記載の情報処理装置である。
請求項７に記載の発明は、前記不揮発性メインメモリが、ＭＲＡＭ、ＦｅＲＡＭ、ＰＲＡＭ、ＲｅＲＡＭのいずれかであることを特徴とする請求項５または６に記載の情報処理装置である。
請求項８に記載の発明は、画像を記録材に形成する画像形成部と、算術演算および論理演算を行う演算手段と、当該演算手段が行う演算に用いられるデータを保持する読み書き可能な揮発性レジスタと、当該揮発性レジスタの保持する当該データを並行して保持する読み書き可能な不揮発性メモリと、当該揮発性レジスタに当該データを書き込む第１の書込手段と、当該揮発性レジスタの当該データが書き込まれるたびに、並行して、当該不揮発性メモリに当該データを書き込む第２の書込手段と、電源がオンになったとき、前記不揮発性メモリが保持するデータを前記揮発性レジスタに書き戻す書戻手段とを備え、前記画像形成部を制御する制御部とを備える画像形成装置である。
【発明の効果】
【０００７】
請求項１の発明によれば、不揮発性メモリを備えない場合に比べ、電源がオンの状態に移行したとき、オフ状態に移行する直前の状態に復帰し、オフ状態に移行する直前の状態から継続して処理が行える。
請求項２の発明によれば、本構成を備えない場合に比べ、オフ状態に移行する直前の状態により速やかに復帰できる。
請求項３、４の発明によれば、本構成を備えない場合に比べ、電源がオンの状態に移行したとき、オフ状態に移行する直前の状態への復帰またはリセットを選択することができる。
請求項５の発明によれば、本構成を備えない場合に比べ、メインメモリの情報を保持する電力もしくはハードディスクドライブ等へのメインメモリデータの退避時間を抑制できる。
請求項６、７の発明によれば、本構成を備えない場合に比べ、情報処理装置の動作速度の低下を抑制できる。
請求項８発明によれば、本構成を備えない場合に比べ、電源がオンの状態に移行したとき、オフ状態に移行する直前の状態に復帰し、オフ状態に移行する直前の状態から継続して画像形成が行える。
【図面の簡単な説明】
【０００８】
【図１】第１の実施の形態が適用される情報処理装置の全体構成の一例を示した図である。
【図２】揮発性レジスタおよび不揮発性メモリの構成の一例を説明する図である。
【図３】情報処理装置の初期状態から動作可能になるまでのフローを説明するフローチャートである。
【図４】図３のステップ１０２において、不揮発性メモリ（ＮＰＣ）が保持していたデータ（リセットベクタ）を揮発性レジスタ（ＰＣ）に転送するルートを説明する図である。
【図５】ＡＤＤコマンドにおける情報処理装置の動作を説明するフローチャートである。
【図６】ＡＤＤコマンドルーチンにおけるデータの動きを説明する図である。
【図７】情報処理装置の電源ユニットを再びオンに（再起動）したとき、情報処理装置が動作可能になるまでのフローを説明するフローチャートである。
【図８】画像形成装置の構成の一例を示す図である。
【図９】画像形成装置と通信回線に接続された機器との関係を説明した図である。
【図１０】画像形成装置の通常モードと節電モードとを比較する図である。
【図１１】第２の実施の形態における情報処理装置の構成の一例を示す図である。
【図１２】第３の実施の形態における情報処理装置の構成の一例を示す図である。
【図１３】第４の実施の形態の情報処理装置の不揮発性メモリの構成の一例を説明する図である。
【発明を実施するための形態】
【０００９】
以下、添付図面を参照して、本発明の実施の形態について詳細に説明する。
［第１の実施の形態］
（情報処理装置１）
図１は第１の実施の形態が適用される情報処理装置１の全体構成の一例を示した図である。
情報処理装置１は、中央処理ユニット（以下ではＣＰＵと表記する。）１０、読み書き可能な不揮発性記憶素子から構成される不揮発性メインメモリ３１、読み書き可能な揮発性記憶素子で構成される揮発性メインメモリ３２、後述するデータ／アドレスバス４１および外部バス４２に接続されるバスブリッジ４０、ユーザから情報処理装置１を制御するための信号などが入力されるＵＩＩＦ（ユーザインプットインターフェース）５０、インターネットや電話網などの通信回線に接続される通信ＩＦ（通信インターフェース）６０、外部機器と接続されるＩＯＩＦ（入出力インターフェース）７０、シリアル通信が行なわれるＳＢＩＦ（シリアルバスインターフェース）８０、電源ユニット９０を備えている。
さらに、情報処理装置１は、データ／アドレスバス４１、外部バス４２を備えている。
【００１０】
なお、揮発性記憶素子および不揮発性記憶素子は、ともに情報（“１”／“０”）を保持する機能（記憶機能）を有する素子をいう。「揮発性」とは、電力の供給がある場合には情報（“１”／“０”）を保持する機能（記憶機能）を有するが、電力の供給がなくなった場合には情報（“１”／“０”）を保持する機能（記憶機能）が失われる、つまり保持ができなくなることをいう。一方、「不揮発性」とは、電力の供給がある場合に加え、電力の供給がなくなった場合においても、情報（“１”／“０”）を保持（記憶）し続ける機能（記憶機能）を有していることをいう。
揮発性記憶素子および不揮発性記憶素子については、後に詳述する。
【００１１】
ここでは、不揮発性メインメモリ３１と揮発性メインメモリ３２とは、メインメモリ（主記憶）３０を構成する。そして、不揮発性メインメモリ３１は、オペレーションシステム（以下ではＯＳと表記する。）、アプリケーションプログラム（以下ではプログラムと表記する。）、テキスト、定数、変数などを保持する。一方、揮発性メインメモリ３２は、一時的にデータなどを保持する作業領域（ワークエリア）として使用される。なお、ＯＳを必要としない場合もある。
なお、メインメモリ３０は、情報（“１”／“０”）を保持する機能（記憶機能）を有し、ＣＰＵ１０からアドレスを指定して、そのアドレスで指定されたメインメモリ３０の領域（番地）に保持された情報（“１”／“０”）を直接読み書き（アクセス）できる。
【００１２】
次に、ＣＰＵ１０の構成を説明する。
ＣＰＵ１０は、演算手段の一例としての論理演算及び算術演算を行うＡＬＵ（Ａｒｉｔｈｍｅｔｉｃ  Ｌｏｇｉｃａｌ  Ｕｎｉｔ：論理算術演算ユニット）１１、同様に演算手段の一例としての浮動小数点演算を行うＦＰＵ（Ｆｌｏａｔｉｎｇ  Ｐｏｉｎｔ  Ｕｎｉｔ：浮動小数点演算ユニット）１２、割り込み処理を行う割込ユニット１３（Ｉｎｔｅｒｒｕｐｔ  Ｕｎｉｔ）を備えている。さらに、ＣＰＵ１０は、これらの演算および処理を実行するにあたってデータ、アドレスなどを保持（記憶）する読み書き可能な揮発性記憶素子で構成される揮発性レジスタ１４を備えている。ここでは、揮発性レジスタ１４が保持するデータ、アドレスなどをまとめてデータと表記する。
【００１３】
また、ＣＰＵ１０は、データの読み出し（ロード）および保持（ストア）を制御するＬ／Ｓユニット（ロード／ストアユニット）１５、命令を復号（デコード）する命令ユニット１６を備えている。
さらに、ＣＰＵ１０は、読み書き可能な不揮発性記憶素子で構成される不揮発性メモリ１７を備えている。後述するように、不揮発性メモリ１７は、揮発性レジスタ１４が保持するデータを並行して保持する。
さらにまた、ＣＰＵ１０は、データをキャッシュするデータキャッシュ１８、命令をキャッシュする命令キャッシュ１９、バスブリッジ４０と接続されるバスＩＦ（バスインターフェイス）２０を備えている。
【００１４】
そして、ＣＰＵ１０は、上述のＡＬＵ１１、ＦＰＵ１２、割込ユニット１３、揮発性レジスタ１４、Ｌ／Ｓユニット１５、命令ユニット１６、不揮発性メモリ１７、データキャッシュ１８、命令キャッシュ１９、バスＩＦ２０を制御する制御ユニット２１を備えている。
そしてまた、ＣＰＵ１０は、ＡＬＵ１１、ＦＰＵ１２、割込ユニット１３、揮発性レジスタ１４、Ｌ／Ｓユニット１５、命令ユニット１６、制御ユニット２１に接続され、これらの間において、データまたは命令を入出力するための内部バス２２を備えている。
【００１５】
ここでは、ＣＰＵ１０を構成するＡＬＵ１１、ＦＰＵ１２、割込ユニット１３、揮発性レジスタ１４、Ｌ／Ｓユニット１５、命令ユニット１６、不揮発性メモリ１７、データキャッシュ１８、命令キャッシュ１９、バスＩＦ２０、制御ユニット２１、内部バス２２は、例えばシリコンで構成された一個の半導体チップとして構成されているとする。なお、これらのユニットのうちのいくつかまたはこれらのユニットの一部などが他の半導体チップなどで構成され、ＣＰＵ１０の外部に置かれてもよい。
【００１６】
第１の実施の形態におけるＣＰＵ１０では、データキャッシュ１８、命令キャッシュ１９などは、電力の供給がある場合には情報（“１”／“０”）を保持する記憶機能を有しているが、電力の供給がなくなった場合には保持できなくなる。ＡＬＵ１１、ＦＰＵ１２は、内部に演算レジスタを有し、電力の供給がある場合には情報（“１”／“０”）を保持する記憶機能を有しているが、電力の供給がなくなった場合には記憶機能が失われ、保持できなくなる。割込ユニット１３、命令ユニット１６、バスＩＦ２０、制御ユニット２１なども、それぞれ内部にレジスタを有し、電力の供給がある場合には情報（“１”／“０”）を保持する記憶機能を有しているが、電力の供給がなくなった場合には記憶機能が失われ、保持できなくなる。バスブリッジ４０、ＵＩＩＦ５０、通信ＩＦ６０、ＩＯＩＦ７０、ＳＢＩＦ８０も同様である。
【００１７】
前述したように、不揮発性メインメモリ３１と揮発性メインメモリ３２とは、メインメモリ３０を構成する。すなわち、不揮発性メインメモリ３１と揮発性メインメモリ３２とは、一連のアドレスで読み書き可能である。
なお、不揮発性メインメモリ３１と揮発性メインメモリ３２とは、メインメモリ３０においてアドレスが重ならないように配置されていればよい。このとき、不揮発性メインメモリ３１と揮発性メインメモリ３２とは、アドレス（番地）が連続するように配置されてもよく、不揮発性メインメモリ３１と揮発性メインメモリ３２との間で、アドレスが飛んで配置されてもよい。また、不揮発性メインメモリ３１と揮発性メインメモリ３２とのいずれが先（アドレスが若い順）にあってもよい。
さらに、不揮発性メインメモリ３１および揮発性メインメモリ３２の少なくとも一方が２以上に分かれ、アドレスが相互に入り込むように構成されてもよい。
また、情報処理装置１のメインメモリ３０は、不揮発性メインメモリ３１と揮発性メインメモリ３２とを備えるとして説明したが、不揮発性メインメモリ３１で構成されてもよい。
【００１８】
次に、情報処理装置１における接続関係を説明する。
ＣＰＵ１０のバスＩＦ２０は、データ、アドレス、命令などが双方向に送受信可能なように、バスブリッジ４０に接続されている。
そして、バスブリッジ４０には、データ／アドレスバス４１および外部バス４２が接続されている。そして、データ／アドレスバス４１には、メインメモリ３０を構成する不揮発性メインメモリ３１と揮発性メインメモリ３２とが接続されている。
【００１９】
データ／アドレスバス４１は、アドレスバスとデータバスとを備えている。
アドレスバスは、ＣＰＵ１０がメインメモリ３０のアドレス（番地）を指定（アクセス）する信号を送信するための信号線であって、例えば３２ビット幅でアクセスする場合には、アドレスバスは３２本の信号線から構成されている。
また、データバスは、アドレスで指定されたメインメモリ３０の領域（番地）からデータや命令を読み出すため、データや命令を信号として送信する信号線である。また、アドレスで指定されたメインメモリ３０の領域にデータを書き込むため、データを信号として送信する信号線でもある。すなわち、メインメモリ３０のアドレスが指定されると、メインメモリ３０からデータまたは命令を読み出したり、メインメモリ３０にデータを書き込んだりできる。
例えば３２ビット幅でデータまたは命令の送受信をする場合には、データバスは３２本の信号線から構成されている。
【００２０】
このように、メインメモリ３０は、ＣＰＵ１０がアクセス可能な空間（アドレス空間）（例えばアドレスが３２ビットの場合は４Ｇの空間）に配置され、アドレスで指定されたメインメモリ３０の領域から予め設定されたビット幅（例えばビット幅が３２ビットの場合は４バイト）のデータまたは命令がビット並列で送受信される。
ここでは、データ／アドレスバス４１は、データバスとアドレスバスとが分けられて構成されているとして説明したが、データバスおよびアドレスバスのそれぞれの一部または全部を共用するように構成されてもよい。
【００２１】
外部バス４２には、ＵＩＩＦ５０、通信ＩＦ６０、ＩＯＩＦ７０、ＳＢＩＦ８０が接続されデータや命令などが送受信可能に接続されている。
そして、外部バス４２も、データ／アドレスバス４１と同様に、データや命令などを送受信するビット幅に対応した数の信号線から構成されている。
【００２２】
電源ユニット９０は、ＣＰＵ１０、バスブリッジ４０、ＵＩＩＦ５０、通信ＩＦ６０、ＩＯＩＦ７０、ＳＢＩＦ８０のそれぞれに電力を供給するように接続されている。なお、図１において、電源ユニット９０から電力を供給する配線（ライン）の表記を省略する。
【００２３】
次に、ＣＰＵ１０の内部の接続関係を説明する。
ＣＰＵ１０の内部バス２２には、ＡＬＵ１１、ＦＰＵ１２、割込ユニット１３、揮発性レジスタ１４、Ｌ／Ｓユニット１５、命令ユニット１６、制御ユニット２１が並列に接続されている。そして、ＡＬＵ１１、ＦＰＵ１２、割込ユニット１３、揮発性レジスタ１４、Ｌ／Ｓユニット１５、命令ユニット１６、制御ユニット２１と内部バス２２との間で、データ、アドレスなどが双方向に送受信できるようになっている。
内部バス２２は、データ、アドレスなどが送受信されるビット幅、例えば３２ビットである場合にはビット幅に対応した３２本の信号線から構成されている。
【００２４】
不揮発性メモリ１７は、データが双方向に送受信できるようにＬ／Ｓユニット１５に接続されている。
データキャッシュ１８は、データが双方向に送受信できるようにＬ／Ｓユニット１５に接続されている。さらに、データキャッシュ１８は、メインメモリ３０とデータが双方向に送受信できるように、バスＩＦ２０に接続されている。
命令キャッシュ１９は命令を命令ユニット１６に送信できるように接続されている。また、命令キャッシュ１９はメインメモリ３０から命令を受信できるようにバスＩＦ２０に接続されている。
【００２５】
前述したように、不揮発性メモリ１７および不揮発性メインメモリ３１は、読み書き可能な不揮発性記憶素子により構成され、電源ユニット９０からの電力の供給がある場合に加え、電力の供給がなくなった場合においても、情報（“１”／“０”）を保持する（保持し続ける）記憶機能を有している。
一方、揮発性レジスタ１４および揮発性メインメモリ３２は、読み書き可能な揮発性記憶素子により構成され、電源ユニット９０からの電力の供給がある場合には情報（“１”／“０”）を保持する記憶機能を有するが、電力の供給がなくなった場合には情報（“１”／“０”）を保持する記憶機能が失われ、保持ができなくなる。
以下、揮発性記憶素子と比較しながら、不揮発性記憶素子を説明する。なお、これらにおける「素子」は、記憶の単位（主にビット）であるセルを構成するもの（単位素子）に加え、セルを集合して構成された部品（後述するＤＲＡＭなど）および装置（後述するＨＤＤ）も表記するものとする。
【００２６】
揮発性記憶素子の例としては、静電容量（キャパシタ）に蓄えられた電荷の有無により情報（“１”／“０”）を保持するＤＲＡＭ（ｄｙｎａｍｉｃ  ＲＡＭ）、フリップフロップ（ＦＦ）によるラッチ効果によって、情報（“１”／“０”）を保持するＳＲＡＭ（ｓｔａｔｉｃ  ＲＡＭ）がある。これらは、半導体チップに、記憶の単位であるセルがマトリクス状に配置されている。そして、セル間に格子状に設けられた配線とその配線に接続されて形成された駆動回路とにより、任意のセルにアクセスでき、情報（“１”／“０”）を読み書きできる。このため、これらはＲＡＭ（ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）と呼ばれている。
ＤＲＡＭは、セルの大きさがＳＲＡＭに比べて小さく、高集積化に向くので、大容量であることが求められる揮発性メインメモリ３２として用いられる。ただし、ＤＲＡＭでは、時間の経過とともに静電容量に蓄積された電荷が減衰する。このため、保持した情報（“１”／“０”）が時間の経過によって失われないよう、予め定められた時間間隔で、電荷を元に戻すリフレッシュが行われる。
ＳＲＡＭは、フリップフロップ（ＦＦ）によるラッチ効果により、情報（“１”／“０”）が保持される。ＳＲＡＭはセルの大きさがＤＲＡＭに比べて大きいが、ＤＲＡＭに比べ高速に読み書きができるので、揮発性レジスタ１４、データキャッシュ１８、命令キャッシュ１９などに用いられる。
【００２７】
一方、不揮発性記憶素子には、磁極の向きにより情報（“１”／“０”）を保持する磁性媒体を円板上に形成したＨＤＤ（ハードディスクドライブ）がある。ＨＤＤは、大容量であるが機械的機構によって情報（“１”／“０”）を読み書きするため、情報（“１”／“０”）の読み書き速度（アクセス速度）が遅い。
また、不揮発性記憶素子には、ＭＯＳトランジスタのゲート電極（フローティングゲート）に蓄積した電荷の有無により情報（“１”／“０”）を保持するフラッシュメモリ、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）などがある。フラッシュメモリおよびＥＥＰＲＯＭは、電気的に状態（“１”／“０”）の読み書きができるが、前述のＳＲＡＭ、ＤＲＡＭに比べ、読み書き速度が、特に書き込み速度が遅い。そして、フラッシュメモリ、ＥＥＰＲＯＭは、書き換え回数に制限がある。
【００２８】
さらに、不揮発性記憶素子には、磁気メモリ（ｍａｇｎｅｔｏｒｅｓｉｓｔｉｖｅ  ＲＡＭ：ＭＲＡＭと表示する。）、強誘電体メモリ（ｆｅｒｒｏｅｌｅｃｔｒｉｃ  ＲＡＭ：ＦｅＲＡＭと表記する。）、相変化メモリ（ｐｈａｓｅ  ｃｈａｎｇｅ  ＲＡＭ：ＰＲＡＭと表記する。）、抵抗メモリ（ｒｅｓｉｓｔａｎｃｅ  ＲＡＭ：ＲｅＲＡＭと表記する。）などがある。
ＭＲＡＭは、２枚の磁性積層膜をトンネル磁気抵抗膜で挟み、重ねた磁性積層膜の磁化のなす相対角度によりトンネル磁気抵抗膜の抵抗が変化する磁気抵抗（ｍａｇｎｅｔｏｒｅｓｉｓｔｉｖｅ：ＭＲ）効果を用いて情報（“１”／“０”）を保持する。ＦｅＲＡＭは、ＰＺＴ（Ｐｂ（Ｚｒ、Ｔｉ）Ｏ３）などの強誘電体の分極を用いて情報（“１”／“０”）を保持する。ＰＲＡＭは、カルコゲナイドの相変化にともなう抵抗変化により情報（“１”／“０”）を保持する。ＲｅＲＡＭは、電圧の印加による電気抵抗の大きな変化（ＣＥＲ（ｃｏｌｏｓｓａｌ  ｅｌｅｃｔｒｏ−ｒｅｓｉｓｔａｎｃｅ）効果）を利用し、抵抗変化により情報（“１”／“０”）を保持する。
【００２９】
これらの不揮発性記憶素子（ＭＲＡＭ、ＦｅＲＡＭ、ＰＲＡＭ、ＲｅＲＡＭ）は、ＤＲＡＭ、ＳＲＡＭと同様に半導体基板上にセルをマトリクス状に高密度に配置でき、一体形成された駆動回路により高速な読み書きができる。さらに、書き換え回数の制限が原理的にない、または書き換え可能な回数が極めて大きい（以下では、書き換え回数の制限が小さいと表記する）。
このため、これらの不揮発性記憶素子（ＭＲＡＭ、ＦｅＲＡＭ、ＰＲＡＭ、ＲｅＲＡＭ）は、ＳＲＡＭ、ＤＲＡＭと同様にメインメモリ３０、データキャッシュ１８、命令キャッシュ１９などに適用しやすい。
【００３０】
本実施の形態では、不揮発性メモリ１７および不揮発性メインメモリ３１を一例としてＭＲＡＭで構成されているとして説明する。なお、ＭＲＡＭ以外のＦｅＲＡＭ、ＰＲＡＭ、ＲｅＲＡＭで構成してもよいし、アクセス速度や書き換え回数に制約を受けない場合には、ＨＤＤ、フラッシュメモリ、ＥＥＰＲＯＭなどであってもよい。
一方、揮発性レジスタ１４はＳＲＡＭで構成され、揮発性メインメモリ３２はＤＲＡＭで構成されているとして説明する。
【００３１】
（揮発性レジスタ１４および不揮発性メモリ１７）
次に、揮発性レジスタ１４および不揮発性メモリ１７について説明する。
図２は、揮発性レジスタ１４および不揮発性メモリ１７の構成の一例を説明する図である。図２（ａ）は揮発性レジスタ１４の構成、図２（ｂ）は不揮発性メモリ１７の構成を示している。
【００３２】
まず、図２（ａ）に示した揮発性レジスタ１４を説明する。
揮発性レジスタ１４は、一例として複数の揮発性レジスタ１４−１〜１４−３７を備えている。それぞれの揮発性レジスタ１４−１〜１４−３７は、それぞれアドレス（不図示）を有し、そのアドレスにより区別される。
揮発性レジスタ１４−１〜１４−３２は、用途が固定されていない汎用レジスタ（Ｒ１〜Ｒ３２と表記する。）である。例えば、ＡＬＵ１１の演算のためのデータ、アドレス、メインメモリ３０上に設けられたスタックのアドレス（スタックポインタなどを保持するために用いられる。なお、スタックは一時的にデータを保持する。
【００３３】
揮発性レジスタ１４−３３は、ＦＰＵ１２の演算結果を保持する浮動小数点レジスタ（ＦＰＲと表記する。）である。
揮発性レジスタ１４−３４は、コンディションレジスタ（ステータスレジスタ）（ＣＲと表記する。）で、ＣＰＵ１０のコンディション（ステータス）を保持する。コンディション（ステータス）としては、ＡＬＵ１１における演算においてオーバーフローが生じたときに設定されるオーバーフローフラグ、キャリーが発生したときに設定されるキャリーフラグ、負の値となったときに設定されるネガティブフラグなどがある。
揮発性レジスタ１４−３５は、リンクレジスタ（ＬＲと表記する。）であって、サブルーチンコールで分岐した場合の戻りアドレスを保持する。
揮発性レジスタ１４−３６は、コントロールレジスタ（ＣＴＲと表記する。）であって、コンディションレジスタの各種フラグをリセット（解除）したり、ＣＰＵ１０の動作速度を落として低消費電力状態にしたりするなど、ＣＰＵ１０を特殊な状態にすることを指示する。
そして、揮発性レジスタ１４−３７は、プログラムカウンタ（ＰＣと表記する。）であって、次に実行される命令が保持されたメインメモリ３０のアドレスを保持する。
【００３４】
ここでは記載していないが、揮発性レジスタ１４は、少ないビット数で大きなアドレス空間を指定するためのページレジスタおよびセグメントレジスタを含んでもよい。
さらに、揮発性レジスタ１４は、メインメモリ３０のアドレスを相対的に指定するためのオフセットを格納するインデックスレジスタを含んでもよい。
このように、揮発性レジスタ１４は、一般的なＣＰＵにおいて設けられるレジスタをさらに備えたものであってよい。
以下では、揮発性レジスタ１４に保持されるデータ、アドレスなどをまとめてデータと表記する。
【００３５】
前述したように、揮発性レジスタ１４はＳＲＡＭであるので高速な読み書きが可能である。
【００３６】
次に、図２（ｂ）に示した不揮発性メモリ１７を説明する。不揮発性メモリ１７は、揮発性レジスタ１４のそれぞれの揮発性レジスタ１４−１〜１４−３７に対応して設けられた複数の不揮発性メモリ１７−１〜１７−３７を備えている。それぞれの不揮発性メモリ１７−１〜１７−３７は、それぞれがアドレス（不図示）を有し、そのアドレスにより区別される。
そして、後述するように、不揮発性メモリ１７−１〜１７−３７は、それぞれ対応する揮発性レジスタ１４−１〜１４−３７と同じデータを保持（記憶）している。例えば、不揮発性メモリ１７−１（ＮＲ１）は、揮発性レジスタ１４−１（Ｒ１）のデータを保持する。なお、図２（ｂ）では、不揮発性メモリ１７のそれぞれの不揮発性メモリ１７−１〜１７−３７は、揮発性レジスタ１４−１〜１４−３７の符号（Ｒ１〜Ｒ３２、ＦＰＲ、ＣＲ、ＬＲ、ＣＴＲ、ＰＣ）にＮを付して、ＮＲ１〜ＮＲ３２、ＮＦＰＲ、ＮＣＲ、ＮＬＲ、ＮＣＴＲ、ＮＰＣと表記する。
【００３７】
（情報処理装置１の動作）
次に、情報処理装置１の動作を説明する。
まず、情報処理装置１を初回に使用するため電源ユニット９０をオンにする直前の状態（初期状態）について説明する。
本実施の形態では、情報処理装置１は、初期状態において、メインメモリ３０の不揮発性メインメモリ３１にＯＳ、プログラムなどが書き込まれた状態（メインメモリイメージ（主記憶イメージ）が構成された状態）になっているとする。そして、不揮発性メモリ１７の不揮発性メモリ１７−３７（ＮＰＣ）にリセットベクタが設定されているとする。
【００３８】
ここで、メインメモリイメージおよびリセットベクタについて説明する。
ＣＰＵ１０が不揮発性メモリ１７を備えず、且つメインメモリ３０が不揮発性メインメモリ３１を備えない情報処理装置１を考える。
電源ユニット９０から電力が供給される（オンになる）と、図示しないパワーオン・リセット回路が働き揮発性レジスタ１４の揮発性レジスタ１４−３７（ＰＣ）にリセットベクタが設定される。リセットベクタは、情報処理装置１の外部に設けられたフラッシュメモリに格納されたＢｏｏｔプログラムのスタートアドレスを指し示す様に構成する。パワーオン・リセットが解除されると、前記Ｂｏｏｔプログラムによって、情報処理装置１の外部に設けられたフラッシュメモリやＨＤＤ等に保持されていたＯＳ、プログラムなどが、ＳＢＩＦ８０などを介して順に読み出され、揮発性メインメモリ３２で構成されたメインメモリ３０に書き込まれる。そして、ＯＳ、プログラムにおいて用いられるテキスト、定数などがメインメモリ３０上に書き込まれる。もし、ＨＤＤ、フラッシュメモリに保存されたＯＳおよび／またはプログラムなどが圧縮されたものであれば、伸張されてメインメモリ３０上に書き込まれる（展開される）。
ＯＳ、プログラムなどの書き込み（展開）によりメインメモリ３０上に設定された一連のデータをメインメモリイメージ（主記憶イメージ）と表記する。
【００３９】
メインメモリ３０にメインメモリイメージが書き込まれ（設定され）たら、揮発性レジスタ１４−３７（ＰＣ）をメインメモリ３０のＯＳ起動箇所に変更することで、情報処理装置１が動作可能な状態になる。
【００４０】
ＨＤＤ、フラッシュメモリなどの不揮発性の記憶媒体は、ＳＲＡＭ、ＤＲＡＭに比べて、読み書きの速度（アクセス速度）が遅いため、ＯＳ、プログラムなどをメインメモリ３０上に書き込むために時間を要する。このため、情報処理装置１は、電源ユニット９０がオンになっても、直ちには動作できない。
【００４１】
一方、第１の実施の形態の情報処理装置１では、メインメモリ３０が不揮発性メインメモリ３１を有しているので、メインメモリイメージをあらかじめ不揮発性メインメモリ３１に書き込んでおけば、電源ユニット９０がオンになった時に、ＯＳ、プログラムなどをメインメモリ３０に書き込む必要がない。また、ＣＰＵ１０は不揮発性メモリ１７を有しているので、不揮発性メモリ１７−３７（ＮＰＣ）にデータとしてリセットベクタを書き込んで置くことができる。
すなわち、第１の実施の形態の情報処理装置１の初期状態では、不揮発性メインメモリ３１にメインメモリイメージが予め書き込まれており、不揮発性メモリ１７−３７（ＮＰＣ）にデータとしてリセットベクタが書き込まれている。
【００４２】
なお、メインメモリイメージの不揮発性メインメモリ３１への書き込み（設定）は、前述したメインメモリ３０が不揮発性メインメモリ３１を備えず、ＣＰＵ１０が不揮発性メモリ１７を備えない情報処理装置１と同様に、ＳＢＩＦ８０などを介して情報処理装置１の外部に設けたＨＤＤ、フラッシュメモリ等から、ＯＳ、プログラムを順に読み出して、不揮発性メインメモリ３１に書き込めばよい。ＨＤＤ等の代わりに、通信ＩＦ６０に接続された通信回線（ネットワーク）などを介して読み込んでもよい。
また、別途構成したメインメモリイメージそのものをデータとして、ＳＢＩＦ８０や通信ＩＦ６０を介して読み込み、不揮発性メインメモリ３１に書き込んでもよいし、メインメモリイメージが書き込まれた不揮発性メインメモリ３１を搭載してもよい。
【００４３】
また、不揮発性メモリ１７−３７（ＮＰＣ）へのリセットベクタの書き込みは、ＳＢＩＦ８０を介してリセットベクタが書き込まれたＨＤＤ、フラッシュメモリ等を接続し、バスＩＦ２０からデータキャッシュ１８、Ｌ／Ｓユニット１５を介して、不揮発性メモリ１７−３７（ＮＰＣ）に書き込めばよい。ＨＤＤ等の代わりに、通信ＩＦ６０に接続された通信回線（ネットワーク）などを介して読み込んでもよい。
【００４４】
次に、情報処理装置１が初期状態から動作状態になるまでのフローを説明する。
前述したように、初期状態の情報処理装置１では、メインメモリイメージがメインメモリ３０の不揮発性メインメモリ３１に書き込まれ、かつ不揮発性メモリ１７の不揮発性メモリ１７−３７（ＮＰＣ）にリセットベクタが書き込まれている。
図３は、情報処理装置１が、初期状態から動作状態になるまでのフローを説明するフローチャートである。以下では、図１、図２を参照しつつ、図３のフローチャートにしたがって、情報処理装置１が初期状態から動作状態になるまでのフローを説明する。
【００４５】
情報処理装置１の電源ユニット９０がオンになると、情報処理装置１のハードウエアが初期化される（ハードウエア初期化）（ステップ１０１）。ハードウエア初期化とは、不揮発性メモリ１７および不揮発性メインメモリ３１を除いて、ＡＬＵ１１、ＦＰＵ１２、割込ユニット１３、揮発性レジスタ１４、Ｌ／Ｓユニット１５、命令ユニット１６、データキャッシュ１８、命令キャッシュ１９、バスＩＦ２０、揮発性ＲＡＭ３２、バスブリッジ４０、ＵＩＩＦ５０、通信ＩＦ６０、ＩＯＩＦ７０、ＳＢＩＦ８０のすべてがリセットされることをいう。
ここで、リセットとは、ＡＬＵ１１、ＦＰＵ１２、割込ユニット１３、Ｌ／Ｓユニット１５、命令ユニット１６、バスＩＦ２０、バスブリッジ４０、ＵＩＩＦ５０、通信ＩＦ６０、ＩＯＩＦ７０、ＳＢＩＦ８０にそれぞれ内蔵されたレジスタが保持する情報が初期値に設定されることをいう。
【００４６】
同様に、通信ＩＦ６０、ＩＯＩ／Ｆ７０、ＳＢＩＦ８０に接続された機器もリセットされる。
【００４７】
ハードウエア初期化ののち、不揮発性メモリ１７−３７（ＮＰＣ）が保持していたデータ（リセットベクタ）が揮発性レジスタ１４−３７（ＰＣ）に書き込まれる（ステップ１０２）。
図４は、図３のステップ１０２において、不揮発性メモリ１７−３７（ＮＰＣ）が保持していたデータ（リセットベクタ）を揮発性レジスタ１４−３７（ＰＣ）に転送するルートを説明する図である。
【００４８】
このデータの転送は、ハードウエア初期化が終了すると直ちにハードウエアによって行われる。例えば、制御ユニット２１によって制御されるワイヤードロジックなどで行なわれる。ここでは、ワイヤードロジックなどのハードウエアで行われる制御をハードウエア制御と表記する。
まず、不揮発性メモリ１７において不揮発性メモリ１７−３７（ＮＰＣ）を指定するアドレスが設定され、不揮発性メモリ１７−３７（ＮＰＣ）が保持するデータ（リセットベクタ）がＬ／Ｓユニット１５を介して、内部バス２２に読み出される。そして、揮発性レジスタ１４における揮発性レジスタ１４−３７（ＰＣ）のアドレスが設定され、揮発性レジスタ１４−３７（ＰＣ）にリセットベクタが書き込まれる。
この不揮発性メモリ１７−３７（ＮＰＣ）が保持するデータの揮発性レジスタ１４−３７（ＰＣ）への書き込み（データの転送）を、上述したようにハードウエア制御によって行うと短い時間で実行できる。なお、データの転送をソフトウエアによる制御（ソフトウエア制御）によって実行してもよい。
【００４９】
前述したように、メインメモリ３０の不揮発性メインメモリ３１には、メインメモリイメージが記憶されているので、揮発性レジスタ１４−３７（ＰＣ）にリセットベクタが書き込まれると、情報処理装置１は動作状態になる。
【００５０】
ここでは、不揮発性メモリ１７−３７（ＮＰＣ）に保持されたデータ（リセットベクタ）を揮発性レジスタ１４−３７（ＰＣ）に書き込んだ。このとき、他の揮発性レジスタ１４−１〜１４−３６のデータは、リセットベクタによって起動されたＢｏｏｔプログラムによって順次設定されることになる。
このとき、他の揮発性レジスタ１４−１〜１４−３６のデータも、不揮発性メモリ１７−３７（ＮＰＣ）に保持されたデータ（リセットベクタ）を揮発性レジスタ１４−３７（ＰＣ）に書き込むときに書き込んでもよい。これには、初期状態において、揮発性レジスタ１４−１〜１４−３６に書き込むデータを、対応する不揮発性メモリ１７−１〜１７−３６に書き込んでおく。そして、ステップ１０２において、不揮発性メモリ１７−１〜１７−３６のデータを順に読み出して、揮発性レジスタ１４−１〜１４−３６に順に書き込めばよい。
【００５１】
次に、動作状態の情報処理装置１における揮発性レジスタ１４および不揮発性メモリ１７に関連する動作を説明する。
第１の実施の形態では、揮発性レジスタ１４の揮発性レジスタ１４−ｎ（ここでは、ｎは１から３７の整数）へのデータの書き込みを伴う命令は、不揮発性メモリ１７の不揮発性メモリ１７−ｎへのデータの書き込みも同時に指定するようになっている。すなわち、同じデータが、揮発性レジスタ１４−ｎと不揮発性メモリ１７−ｎとに並行して書き込まれるようになっている。
【００５２】
例として、ＡＬＵ１１に加算を命令するコマンド（ＡＤＤコマンド）で説明する。
ＡＤＤコマンドは、４つのオペラントを有し、
ＡＤＤ  Ｒ３  ＮＲ３  Ｒ１  Ｒ２
で表されるとする。すなわち、揮発性レジスタ１４−１（Ｒ１）に保持されたデータに揮発性レジスタ１４−２（Ｒ２）に保持されたデータを加えたデータ（加算結果）を、揮発性レジスタ１４−３（Ｒ３）および不揮発性メモリ１７−３（ＮＲ３）に書き込むことを指示する。
【００５３】
図５は、ＡＤＤコマンドにおける情報処理装置１の動作を説明するフローチャートである。図６は、ＡＤＤコマンドにおけるデータの動きを説明する図である。
図５および図６を参照しつつ、ＡＤＤコマンドにおける情報処理装置１の動作を説明する。
揮発性レジスタ１４−３７（ＰＣ）に設定されたアドレスにより、不揮発性メインメモリ３１からＡＤＤコマンドが読み出されるとする。命令ユニット１６がＡＤＤコマンドをデコードすると、制御ユニット２１は、揮発性レジスタ１４の揮発性レジスタ１４−１（Ｒ１）に記憶されたデータ（図６ではＡと表記する。）と揮発性レジスタ１４−２（Ｒ２）に記憶されたデータ（図６ではＢと表記する。）とを順に内部バス２２に読み出し、ＡＬＵ１１が内蔵する不図示の演算レジスタＸ、Ｙにそれぞれ設定する（ステップ２０１）。
そして、ＡＬＵ１１が加算（ＡＤＤ）を実行すると、加算結果（Ａ＋Ｂ）がＡＬＵ１１の内蔵する不図示の演算レジスタＸに設定される（ステップ２０２）。
次に、制御ユニット２１は、ＡＬＵ１１の演算レジスタＸの加算結果（Ａ＋Ｂ）を、ＡＬＵ１１から内部バス２２に読み出し、揮発性レジスタ１４−３（Ｒ３）に書き込む（ステップ２０３）。また、加算結果（Ａ＋Ｂ）の揮発性レジスタ１４−３（Ｒ３）への書き込み（ステップ２０３）と並行して、加算結果（Ａ＋Ｂ）をＬ／Ｓユニット１５に送信する。すると、Ｌ／Ｓユニット１５は加算結果（Ａ＋Ｂ）を不揮発性メモリ１７−３（ＮＲ３）に書き込む（ステップ２０４）。
制御ユニット２１は、不揮発性メモリ１７−３（ＮＲ３）への書き込みの完了を待つことなく、Ｌ／Ｓユニット１５に送信した段階で次の動作に移行する。すなわち、制御ユニット２１から見たとき、不揮発性メモリ１７へのデータの書き込みは書きっぱなしである。このようにして、情報処理装置１の動作におけるオーバヘッドを抑制できる。
なお、上記のＡＤＤコマンドにおける揮発性レジスタ１４−３（Ｒ３）へのデータの書き込みは、第１の書込手段の一例としての制御ユニット２１により制御されるワイヤードロジックなどのハードウエアにより実行される（ハードウエア制御）。同様に、不揮発性メモリ１７−３（ＮＲ３）へのデータの書き込みは、第２の書込手段の一例としての制御ユニット２１およびＬ／Ｓユニット１５により制御されるワイヤードロジックなどのハードウエアにより実行される（ハードウエア制御）。
【００５４】
以上、ＡＤＤコマンドを例として、揮発性レジスタ１４および不揮発性メモリ１７の動作を説明した。
第１の実施の形態の情報処理装置１では、揮発性レジスタ１４−１〜１４−３７のいずれにデータの書き込みが行われても、対応する不揮発性メモリ１７−１〜１７−３７に同じデータが並行して書き込まれる。
なお、不揮発性メモリ１７−１〜１７−３７にそれ以前に書き込まれたデータがあっても、新たなデータが上書きされる。すなわち、電源ユニット９０がオンであると、不揮発性メモリ１７−１〜１７−３７は、揮発性レジスタ１４−１〜１４−３７がそれぞれ保持する最も新しく更新されたデータを保持することになる。
【００５５】
なお、不揮発性メモリ１７は、高速に読み書きが可能なＭＲＡＭで構成されている。そして、不揮発性メモリ１７へのデータの書き込みは、上述したように書きっぱなしである。よって、不揮発性メモリ１７へデータの書き込みを行っても、情報処理装置１の動作に遅延が生じることが抑制される。
【００５６】
次に、情報処理装置１の電源ユニット９０をオフにしたのち、電源ユニット９０をオンに（再起動）したときの情報処理装置１の動作について説明する。
一連の処理が終了して電源ユニット９０をオフにすると、図１に示す情報処理装置１は、不揮発性メモリ１７およびメインメモリ３０の不揮発性メインメモリ３１を除いて、保持していたすべての情報（“０”／“１”）が失われる。すなわち、ＡＬＵ１１、ＦＰＵ１２、割込ユニット１３、揮発性レジスタ１４、Ｌ／Ｓユニット１５、命令ユニット１６、データキャッシュ１８、命令キャッシュ１９、バスＩＦ２０、メインメモリ３０の揮発性ＲＡＭ３２、バスブリッジ４０、ＵＩＩＦ５０、通信ＩＦ６０、ＩＯＩＦ７０、ＳＢＩＦ８０に保持されていた情報（“１”／“０”）が失われる。
一方、不揮発性メモリ１７（不揮発性メモリ１７−１〜１７−３７）には、電源ユニット９０がオフになる直前の揮発性レジスタ１４（揮発性レジスタ１４−１〜１４−３７）に保持されていたデータが保持されている。
そして、不揮発性メインメモリ３１には、ＯＳ、プログラム、定数、テキストなどのメインメモリイメージおよび電源ユニット９０がオフになる直前に保持されていた変数などが、失われることなく保持されている。
【００５７】
図７は、情報処理装置１の電源ユニット９０を再びオンに（再起動）したとき、情報処理装置１が動作可能になるまでのフローを説明するフローチャートである。
電源ユニット９０がオンになると、図３のステップ１０１と同様に、ハードウエア初期化が行われる（ステップ３０１）。
ハードウエア初期化に続いて、不揮発性メモリ１７が保持していたデータが揮発性レジスタ１４に転送され、揮発性レジスタ１４に書き戻される（ステップ３０２）。この書き戻しは、ハードウエア初期化が終了すると直ちに、書戻手段の一例としての制御ユニット２１およびＬ／Ｓユニットによって制御されるワイヤードロジックなどのハードウエアによって行なわれる（ハードウエア制御）。
【００５８】
このとき、不揮発性メモリ１７−１〜１７−３７のそれぞれのデータが、順に揮発性レジスタ１４−１〜１４−３７に書き戻される。具体的に説明すると、不揮発性メモリ１７−１の保持していたデータがＬ／Ｓユニット１５を介して内部バス２２に読み出される。そして、揮発性レジスタ１４−１にそのデータが書き戻される。次に、不揮発性メモリ１７−２の保持していたデータがＬ／Ｓユニット１５を介して内部バス２２に読み出され、揮発性レジスタ１４−２に書き戻される。同様にして、不揮発性メモリ１７−３７の保持していたデータがＬ／Ｓユニット１５を介して内部バス２２に読み出され、揮発性レジスタ１４−３７に書き戻されて終了する。
すなわち、電源ユニット９０がオフになる直前の揮発性レジスタ１４に保持されていたデータが不揮発性メモリ１７に退避されていて、電源ユニット９０がオンになると、不揮発性メモリ１７のデータが揮発性レジスタ１４にハードウエア制御により書き戻される。ハードウエア制御によると、ソフトウエア制御による場合に比べ、転送および書き戻しに要する時間を短くできる。
【００５９】
この結果、揮発性レジスタ１４は、電源ユニット９０がオフになる直前の状態に復帰する。そして、メインメモリ３０の不揮発性メインメモリ３１はメインメモリイメージを保持している。よって、揮発性レジスタ１４−３７（ＰＣ）の保持するデータ（アドレス）で指定されるメインメモリ３０のアドレスから命令を呼び出すことにより、情報処理装置１は、電源ユニット９０がオフになる直前の状態から、継続して処理を実行することができる。
すなわち、情報処理装置１は、揮発性レジスタ１４のデータが、電源ユニット９０がオフになる直前の状態に復帰させれば、電源ユニット９０がオフになる直前の状態から継続して動作させることができる。
また、ハードウエア制御にて退避してあった不揮発性メモリ１７のデータを揮発性レジスタ１４への書き戻すと、電源ユニット９０をオンにした直後に、割込ユニット１３に割込み要求が発生しても対応しうる。
【００６０】
そして、不揮発性メモリ１７へのデータの書き込みは、揮発性レジスタ１４へのデータの書き込みと並行して行なわれる。このようにすることで、情報処理装置１が一連の処理を終了して、電源ユニット９０がオフになるとき、揮発性レジスタ１４のデータを不揮発性メモリ１７に書き込む（退避の）ための処理（ルーチン）を別途行う必要がない。
よって、第１の実施の形態では、情報処理装置１が一連の処理を終了すると直ちに電源ユニット９０をオフにできる。つまり、突発的に電源ユニット９０がオフになって、揮発性レジスタ１４のデータを不揮発性メモリ１７へ転送（退避）できなかったということを抑制できる。
【００６１】
さらに、不揮発性メモリ１７が、高速な読み書きが可能で、書き換え回数の制限が小さい不揮発性記憶素子で構成されていれば、不揮発性メモリ１７への書き込みのための待ち時間（ウエイティング）を設けたり、クロック周波数を小さく設定してＣＰＵ１０の動作を遅くしたりしなくともよい。よって、第１の実施の形態では、揮発性レジスタ１４のデータを不揮発性メモリ１７へ転送（退避）しても、情報処理装置１の動作速度に制約を与えない。
【００６２】
なお、上記の説明においては、メインメモリ３０に不揮発性メインメモリ３１を含んでいるとした。しかし、メインメモリ３０を揮発性メインメモリ３２のみで構成し、メインメモリ３０をオン状態に維持したり、バッテリーなどでバックアップしたりしてもよい。
【００６３】
また、上記の説明においては、揮発性レジスタ１４および不揮発性メモリ１７へのデータの書き込み、不揮発性メモリ１７の保持するデータの揮発性レジスタ１４への書き戻しをハードウエア制御で行うとしたが、処理速度に制約がなければ、ソフトウエア制御で行ってもよい。
【００６４】
（画像形成装置１００）
次に、上記の情報処理装置１を、画像形成装置１００の制御部として構成する場合を説明する。
図８は、画像形成装置１００の構成の一例を示す図である。
画像形成装置１００は、図１に示した情報処理装置１に、ボタンなどユーザが信号を送信するためのＵＩ（ユーザインターフェイス）１２０、プリンタなどの画像形成部１３０、スキャナなどの画像読取部１４０、通信回線２００（後述する図９参照）とデータなどの送受信を行う送受信部１５０を備えた構成となっている。
ここでは、ＵＩ１２０は情報処理装置１のＵＩＩＦ５０に、画像形成部１３０は情報処理装置１のＩＯＩＦ７０に、画像読取部１４０はＳＢＩＦ８０に、そして送受信部１５０は、通信ＩＦ６０にそれぞれ接続されているとして説明する。
【００６５】
図９は、画像形成装置１００と通信回線２００に接続された機器との関係を説明した図である。
画像形成装置１００は、送受信部１５０を介して、インターネット、電話網などの通信回線２００に接続されている。そして、通信回線２００には、コンピュータ（ＣＯＭ）３００、ファクシミリ装置４００、サーバ５００などが接続されている。
【００６６】
画像形成装置１００の基本的な動作を説明する。
画像形成装置１００は、画像読取部１４０から読み取った画像を、画像形成部１３０により用紙などの記録材に印刷する。
なお、画像形成部１３０は、ＬＥＤなどにより感光体ドラムに潜像を書き込み、潜像をトナーで現像して記録材に転写する方式でもよく、インクジェットなどで記録材に像を形成する方式でもよい。画像読取部１４０は、受光素子アレイをスキャンさせる方式であってもよく、ＣＣＤなどの撮像素子で画像を読み取る方式でもよい。
【００６７】
また、画像形成装置１００は、通信回線２００を介してコンピュータ（ＣＯＭ）３００またはファクシミリ装置４００から送信された画像などのデータを画像形成部１３０により記録材に印刷する。
一方、画像形成装置１００は、画像読取部１４０が読み取った画像などのデータを、送受信部１５０から通信回線２００を介して画像形成装置１００の外部に置かれたコンピュータ（ＣＯＭ）３００および／またはファクシミリ装置４００に送信する。
さらに、画像形成装置１００は、通信回線２００を介してサーバ５００から、サーバ５００に保管されたメインメモリイメージやリセットベクタなどを情報処理装置１の不揮発性メインメモリ３１や不揮発性メモリ１７−３７（ＮＰＣ）に書き込んでもよい。
【００６８】
このような画像形成装置１００は、使用されないときは通電されていないことが好ましい。そして、使用しようとするときに速やかに動作可能になることが望ましい。
画像形成装置１００には、すべての機能が動作可能な状態（オン状態）である通常モードと、一部の機能のみが動作可能な状態（オン状態）で、他のほとんどの機能が停止した状態（オフ状態）である節電モードとが設けられる。節電モードの画像形成装置１００は、通信回線２００を介してファクシミリを受信したとき、またはユーザから使用を開始する信号を受信したときなどに通常モードに復帰する。
【００６９】
節電モードを、図８を参照して説明する。
節電モードにおいて、節電の効果を高めるためには、制御部である情報処理装置１のＣＰＵ１０、メインメモリ３０、バスブリッジ４０もオフ状態になっていることが好ましい。さらに、電源ユニット９０もオフ状態になっていることが好ましい。すなわち、節電モードでは、ＵＩ１２０、送受信部１５０、後述する情報処理装置１の電源ユニット９０の給電制御回路９０ａのみがオン状態になっていて、情報処理装置１のＣＰＵ１０、メインメモリ３０、バスブリッジ４０、電源ユニット９０の給電制御回路９０ａをのぞいた部分、および画像形成部１３０、画像読取部１４０がオフ状態になっている。
そして、ＵＩ１２０および送受信部１５０のそれぞれから情報処理装置１の電源ユニット９０の給電制御回路９０ａに信号が送られるように信号線が設けられている。
電源ユニット９０に設けられた給電制御回路９０ａは、ＵＩ１２０または送受信部１５０からの信号を受信して、電源ユニット９０をオンにして、オフ状態であった情報処理装置１のＣＰＵ１０、メインメモリ３０、バスブリッジ４０、および画像形成部１３０、画像読取部１４０に電力の供給を開始する。
すなわち、節電モードにあっても、ＵＩ１２０、送受信部１５０および情報処理装置１の電源ユニット９０の給電制御回路９０ａには、不図示の電源から電力が供給されている。
なお、情報処理装置１の電源ユニット９０が画像形成部１３０、画像読取部１４０に電力を供給するとしたが、給電制御回路９０ａと同様な給電制御回路を備え、ＵＩ１２０または送受信部１５０からの信号により、画像形成部１３０および画像読取部１４０に電力の供給を開始するようにしてもよい。
【００７０】
図１０は、画像形成装置１００の通常モードと節電モードとを比較する図である。図１０（ａ）は通常モード、図１０（ｂ）は節電モードを示している。オン状態にある部分を実線で囲むとともに網点を付して示している。一方、オフ状態にある部分を破線で囲って示している。
図１０（ａ）に示す通常モードでは、情報処理装置１、ＵＩ１２０、画像形成部１３０、画像読取部１４０、送受信部１５０がすべてオン状態にある。一方、図１０（ｂ）に示す節電モードでは、ＵＩ１２０、送受信部１５０、情報処理装置１の電源ユニット９０の給電制御回路９０ａがオン状態にあって、画像形成部１３０、画像読取部１４０、電源ユニット９０の給電制御回路９０ａを除く情報処理装置１がオフ状態（休止状態）になっている。
【００７１】
節電モードにあるときに、画像読取部１４０がスキャナである場合、ユーザが画像形成装置１００を使用するためスキャナの上蓋を持ち上げるとする。スキャナの上蓋はＵＩ１２０の一つであるので、ユーザがスキャナの上蓋を持ち上げることにより、ＵＩ１２０から、画像形成装置１００を起動することを指示する信号が情報処理装置１の電源ユニット９０の給電制御回路９０ａに送られる。これにより、電源ユニット９０がオンになる。そして、前述したように、情報処理装置１の不揮発性メモリ１７に保持されたデータが、揮発性レジスタ１４に転送され、情報処理装置１は、電源ユニット９０がオフになる直前（節電モードに入る前）の状態に復帰する。
画像形成部１３０、画像読取部１４０にも電源ユニット９０から電力が供給され、それぞれが動作状態になる。
これにより、画像形成装置１００は、節電モードに入る直前の状態に戻る。
【００７２】
前述したように、不揮発性メモリ１７に保持されたデータは揮発性レジスタ１４に速やかに書き戻されるとともに、メインメモリ３０の不揮発性メインメモリ３１にメインメモリイメージ等が保持されているため、画像形成装置１００は、節電モードから通常モードへ速やかに復帰する。
【００７３】
同様に、節電モードにあるときに、通信回線２００を介してファクシミリ装置４００からデータを受信すると、送受信部１５０が検知して、画像形成装置１００を起動することを指示する信号が情報処理装置１の電源ユニット９０の給電制御回路９０ａに送られる。そして、上述した場合と同様に、情報処理装置１は、電源ユニット９０がオフになる直前（節電モードに入る前）の状態に復帰する。
そして、画像形成部１３０、画像読取部１４０にも電源ユニット９０から電力が供給され、それぞれが動作状態になる。
これにより、画像形成装置１００は、節電モードに入る直前の状態に戻る。
【００７４】
画像形成装置１００は、節電モードから通常モードへの復帰によって、節電モードに移行する直前の状態から継続して処理が行える。よって、第１の実施の形態で説明した情報処理装置１は、画像形成装置１００の制御部として用いることができる。
【００７５】
なお、画像形成装置１００の制御部が、不揮発性メモリ１７および不揮発性メインメモリ３１を備えない情報処理装置１である場合、通常モードから節電モードに移行するときに、揮発性レジスタ１４のデータをオン状態に維持またはバッテリーバックアップした揮発性メインメモリ３２に退避し、節電モードから通常モードに移行するとき、揮発性メインメモリ３２に退避したデータを揮発性レジスタ１４に書き戻すことが考えられる。しかし、この方式では、通常モードから節電モードに移行するとき、揮発性レジスタ１４のデータを揮発性メインメモリ３２に退避するための時間（ルーチン）が必要なこと、節電モードから通常モードに移行するとき、同様に揮発性メインメモリ３２のデータを揮発性レジスタ１４に書き戻すための時間（ルーチン）が必要となる。よって、本実施の形態の情報処理装置１を制御部として使用した画像形成装置１００に比べ、画像形成装置１００の節電モードから通常モードへの移行および通常モードから節電モードへの移行において時間（待ち時間）が長くなってしまう。
また、揮発性メインメモリ３２をオン状態に維持またはバッテリーバックアップするには電力の供給が必要である。
【００７６】
以上では節電モードから通常モードに移行する場合について説明した。
ＵＩ１２０、送受信部１５０、電源ユニット９０の給電制御回路９０ａを含めてすべてがオフ状態の停止モードから、通常モードに移行する場合についても同様である。すなわち、不揮発性メモリ１７に保持されたデータを揮発性レジスタ１４に速やかに書き戻すので、画像形成装置１００は停止モードから通常モードへの復帰が速やかに行われる。
さらに、メインメモリ３０が不揮発性メインメモリ３１を備え、メインメモリイメージ等を保持していれば、さらに停止モードから通常モードへの移行がより速やかに行われる。
【００７７】
（第２の実施の形態）
第１の実施の形態では、電源ユニット９０がオンになったとき、不揮発性メモリ１７に保持されたデータ（退避されたデータ）を、Ｌ／Ｓユニット１５および内部バス２２を介して、揮発性レジスタ１４に書き戻した。この方法では、制御ユニット２１によるハードウエア制御に基づいて、不揮発性メモリ１７−１〜１７−３７のデータを順にＬ／Ｓユニット１５を介して内部バス２２に読み出し、揮発性レジスタ１４−１〜１４−３７に書き戻した。
第２の実施の形態の情報処理装置１では、不揮発性メモリ１７と揮発性レジスタ１４との間に、データを転送する専用のデータ転送バス２３を設けている。すなわち、第１の実施の形態の情報処理装置１におけるＬ／Ｓユニット１５を介さない。よって、不揮発性メモリ１７のデータの揮発性レジスタ１４への書き戻しのための所要時間が短くなる。
図１１は、第２の実施の形態における情報処理装置１の構成の一例を示す図である。
これにより、第２の実施の形態の情報処理装置１では、電源ユニット９０がオンになると、データ転送バス２３を介して不揮発性メモリ１７のデータが揮発性レジスタ１４へ書き戻される。
【００７８】
データ転送バス２３を介した不揮発性メモリ１７のデータの揮発性レジスタ１４への書き戻しは、例えばカウンタを用いたシーケンサによるハードウエア制御により行える。例えば、書き戻すデータの数をカウンタに設定し、カウンタの値を減算しつつ“０”になるまで、不揮発性メモリ１７のデータを順に揮発性レジスタ１４に転送して、書き戻せばよい。
また、ＤＭＡ（ダイレクトメモリアクセス）によるハードウエア制御により行ってもよい。この場合、送信元の不揮発性メモリ１７の先頭アドレス、書き戻すデータの数、転送先の揮発性レジスタ１４の先頭アドレスを設定することで、不揮発性メモリ１７の保持するデータを揮発性レジスタ１４へ転送して、書き戻せる。
これらの方法では、各データをそれぞれ少ないクロック数で連続して転送できるため、データの書き戻しにかかる所要時間が短くなる。
【００７９】
以上説明したように、第２の実施の形態では、第１の実施の形態に比べ、電源ユニット９０をオンにしたときの、不揮発性メモリ１７のデータの揮発性レジスタ１４への書き戻しにかかる所要時間が短く、情報処理装置１が動作可能になるまでの時間が短くなる。
なお、詳細な説明は省略するが、第２の実施の形態における情報処理装置１を、第１の実施の形態で説明した画像形成装置１００の制御部（情報処理装置１）としてもよい。
【００８０】
（第３の実施の形態）
第１の実施の形態および第２の実施の形態では、電源ユニット９０をオンにしたときに、不揮発性メモリ１７に退避されたデータ、すなわち電源ユニット９０をオフにする直前の揮発性レジスタ１４のデータを揮発性レジスタ１４に書き戻した。
しかし、場合によっては、電源ユニット９０がオフになる直前の揮発性レジスタ１４のデータに書き戻すのではなく、揮発性レジスタ１４−３７（ＰＣ）をリセットベクタとしたい場合ある。すなわち、情報処理装置１をリセットしたい場合がある。このときは、情報処理装置１は、揮発性レジスタ１４−３７（ＰＣ）にリセットベクタが設定されると動作可能な状態となる。
【００８１】
前述したように、第１の実施の形態および第２の実施の形態では、ＣＰＵ１０の揮発性レジスタ１４−３７（ＰＣ）のデータは、情報処理装置１の動作が進むにつれ常に変化する。これにつれて、揮発性レジスタ１４−３７（ＰＣ）に対応する不揮発性メモリ１７−３７（ＮＰＣ）のデータも変化する。
そこで、第３の実施の形態では、リセットベクタを保持する不揮発性リセットベクタメモリ２４を設けた。
【００８２】
図１２は、第３の実施の形態における情報処理装置１の構成の一例を示す図である。
第３の実施の形態における情報処理装置１は、図１１に示した第２の実施の形態の情報処理装置１において、リセットベクタを保持する不揮発性リセットベクタメモリ２４および切替手段の一例としてのスイッチユニット２５を備えている。
そして、データ転送バス２３は、スイッチユニット２５の切り替えにより、不揮発性メモリ１７または不揮発性リセットベクタメモリ２４のいずれかに接続されるようになっている。
他の構成は、第２の実施の形態の情報処理装置１と同様であるので、説明を省略する。
【００８３】
よって、第３の実施の形態では、スイッチユニット２５により、データ転送バス２３の接続を不揮発性メモリ１７または不揮発性リセットベクタメモリ２４のいずれかに切り替えることで、電源ユニット９０がオンになったときに、揮発性レジスタ１４に、電源ユニット９０をオフにする直前の揮発性レジスタ１４のデータを書き戻すか、またはリセットベクタを書き込むかいずれかを選択することができる。
不揮発性リセットベクタメモリ２４は、不揮発性メモリ１７、不揮発性メインメモリ３１と同様に、ＭＲＡＭ、ＦｅＲＡＭ、ＰＲＡＭ、ＲｅＲＡＭなどの高速に読み書き可能で、書き換え回数の制限が小さい不揮発性記憶素子で構成されてもよい。しかし、書き換える回数や動作速度が制約にならないときは、ＥＥＰＲＯＭ、フラッシュメモリ、ＨＤＤなどであってもよい。
【００８４】
次に、第３の実施の形態における情報処理装置１の動作を説明する。
スイッチユニット２５は、情報処理装置１の外部からの信号に基づいて、データ転送バス２３の接続を、不揮発性メモリ１７または不揮発性リセットベクタメモリ２４のいずれに切り替える。すると、情報処理装置１の外部からの信号により、電源ユニット９０をオンにしたとき、揮発性レジスタ１４に、不揮発性メモリ１７のデータを書き戻すか、またはリセットベクタを書き込むかのいずれかを選択することができる。
情報処理装置１の外部からの信号の一例としては、図８に示したＵＩ１２０を特殊ブートスイッチとし、これを押しながら情報処理装置１を起動する（電源ユニット９０のスイッチを押す）と、指定手段の一例としてのＵＩ１２０がリセットベクタを選択する信号を発信するとしてよい。一方、特殊ブートスイッチを押さないで、情報処理装置１を起動する（電源ユニット９０のスイッチを押す）と、ＵＩ１２０が不揮発性メモリ１７のデータを選択する信号を発信するとしてよい。
また、ＵＩ１２０に接続された複数のスイッチを同時に押しながら情報処理装置１を起動する（電源ユニット９０のスイッチを押す）と、ＵＩ１２０がリセットベクタを選択する信号を発信し、複数のスイッチを同時に押さないで情報処理装置１を起動する（電源ユニット９０のスイッチを押す）と、ＵＩ１２０が不揮発性メモリ１７のデータを選択する信号を発信するとしてよい。
さらに、情報処理装置１の起動するボタン（電源ユニット９０のスイッチ）を長押しすると、ＵＩ１２０がリセットベクタを選択する信号を発信し、起動するボタン（電源ユニット９０のスイッチ）を短く押すと、ＵＩ１２０が不揮発性メモリ１７のデータを選択する信号を発信するとしてよい。
【００８５】
リセットベクタが選択された場合は、データ転送バス２３は、スイッチユニット２５を介して不揮発性リセットベクタメモリに接続される。なお、データ転送バス２３のスイッチユニット２５を介した不揮発性リセットベクタメモリ２４への接続は、情報処理装置１の外部からの信号によるトランジスタスイッチの切り替えなどのハードウエア制御で行う。
そして、第２の実施の形態における不揮発性メモリ１７の保持するデータの揮発性レジスタ１４への書き戻しと同様に、不揮発性リセットベクタメモリ２４の保持するリセットベクタが揮発性レジスタ１４−３７（ＰＣ）に書き込まれる。
これにより、情報処理装置１はリセットベクタで指定されたメインメモリ３０のアドレスから実行するプログラムの先頭アドレスを読み出して、動作を開始する。
【００８６】
一方、不揮発性メモリ１７が選択された場合は、データ転送バス２３は、スイッチユニット２５を介して不揮発性メモリ１７に接続される。そして、第２の実施の形態と同様に、不揮発性メモリ１７の保持するデータが揮発性レジスタ１４に転送される。よって、詳細な説明を省略する。
なお、詳細な説明は省略するが、第３の実施の形態における情報処理装置１を、第１の実施の形態で説明した画像形成装置１００の制御部（情報処理装置１）としてもよい。
【００８７】
（第４の実施の形態）
第３の実施の形態では、図１２に示したように、不揮発性メモリ１７と不揮発性リセットベクタメモリ２４とを分けて設けた。しかし、不揮発性メモリ１７と不揮発性リセットベクタメモリ２４とはともに不揮発性であればよい。よって、不揮発性メモリ１７に、リセットベクタを収容する不揮発性メモリ１７−３８を設けてもよい。
第４の実施の形態の情報処理装置１では、第１の実施の形態の情報処理装置１（図１参照）の不揮発性メモリ１７にリセットベクタを保持する不揮発性メモリ１７−３８を追加した。
【００８８】
図１３は、第４の実施の形態の情報処理装置１の不揮発性メモリ１７の構成の一例を説明する図である。
第４の実施の形態の情報処理装置１の不揮発性メモリ１７は、電源ユニット９０がオフになる直前の揮発性レジスタ１４のデータを保持（退避）する不揮発性メモリ１７−１〜１７−３７と、リセットベクタを格納する不揮発性メモリ１７−３８とを備える。不揮発性メモリ１７−１〜１７−３７は、図２（ｂ）に示した第１の実施の形態における不揮発性メモリ１７−１〜１７−３７と同じである。リセットベクタを格納する不揮発性メモリ１７−３８は、不揮発性メモリ１７−３７に引き続いて設けられている。
なお、第４の実施の形態の情報処理装置１は、第２の実施の形態の情報処理装置１が備えたデータ転送バス２３を有しない。よって、ＣＰＵ１０の大きさ（面積）が、データ転送バス２３を有する場合に比べて小さい。
【００８９】
次に、図１を参照して、電源ユニット９０がオンになるときの動作を説明する。
電源ユニット９０がオンになるとき、第３の実施の形態と同様にして、リセットベクタが選択されると、リセットベクタが保持されている不揮発性メモリ１７−３８のアドレスが指定される。そして、リセットベクタが不揮発性メモリ１７−３８から、Ｌ／Ｓユニット１５を介して内部バス２２に読み出される。そして、内部バス２２に読み出されたリセットベクタが、揮発性レジスタ１４−３７（ＰＣ）に書き込まれる。これは、第１の実施の形態で説明したように、制御ユニット２１によって制御されるハードウエアにより実行される（ハードウエア制御）。
これにより、情報処理装置１はリセットベクタで指定されたメインメモリ３０のアドレスから実行するプログラムの先頭アドレスを読み出して、動作を開始する。
【００９０】
一方、電源ユニット９０がオンになるとき、制御ユニット２１がリセットベクタを指定する信号を受信しないときは、不揮発性メモリ１７から読み出すアドレスを、不揮発性メモリ１７−１に設定する。そして、不揮発性メモリ１７から不揮発性メモリ１７−１〜１７−３７のデータを、Ｌ／Ｓユニット１５を介して内部バス２２に順に読み出す。そして、揮発性レジスタ１４の揮発性レジスタ１４−１〜１４−３７に順に書き戻す。
これにより、情報処理装置１は、電源ユニット９０がオフになる直前の状態に復帰し、オフになる直前の状態から継続して処理を実行する。
なお、詳細な説明は省略するが、第４の実施の形態における情報処理装置１を、第１の実施の形態で説明した画像形成装置１００の制御部（情報処理装置１）としてもよい。
【００９１】
（第５の実施の形態）
第５の実施の形態では、第２の実施の形態の情報処理装置１の不揮発性メモリ１７に、リセットベクタを保持する不揮発性メモリ１７−３８を追加した。よって、不揮発性メモリ１７は、第４の実施の形態と同様に、図１３に示す構成を有している。
そして、第５の実施の形態では、データ転送バス２３を介して、不揮発性メモリ１７−１〜１７−３７の保持するデータを揮発性レジスタ１４に書き戻したり、不揮発性メモリ１７−３８の保持するリセットベクタを揮発性レジスタ１４−３７（ＰＣ）に書き込んだりする。
リセットベクタまたは不揮発性メモリ１７−１〜１７−３７の保持するデータのいずれを選択する方法は、第４の実施の形態と同様であるので、説明を省略する。
また、不揮発性メモリ１７−１〜１７−３７のそれぞれのデータの揮発性レジスタ１４への書き戻しと、不揮発性メモリ１７−３８のリセットベクタの揮発性レジスタ１４への書き込みは、図１１に示した第２の実施の形態と同様であって、データ転送バス２３を介して行われる。よって、これらについての詳細な説明を省略する。
そして、詳細な説明は省略するが、第５の実施の形態における情報処理装置１を、第１の実施の形態で説明した画像形成装置１００の制御部（情報処理装置１）としてもよい。
【００９２】
以上説明したように、第１の実施の形態から第５の実施の形態の情報処理装置１は、ＭＲＡＭ、ＦｅＲＡＭ、ＰＲＡＭ、ＲｅＲＡＭなどの高速に読み書きでき、書き換え回数の制限が小さい不揮発性メモリで構成された不揮発性メモリ１７を備え、揮発性レジスタ１４へのデータの書き込みと並行して、不揮発性メモリ１７に同じデータが書き込まれる。これにより、電源ユニット９０がオフにされたのち、再びオンにされたとき、不揮発性メモリ１７の保持するデータを揮発性レジスタ１４に書き戻すことで、情報処理装置１を電源ユニット９０がオフになった直後の状態に復帰させることができる。よって、電源ユニット９０がオフになった直前の状態から、情報処理装置１の動作を再開できる。
【００９３】
また、第１の実施の形態から第５の実施の形態では、不揮発性メモリ１７をデータキャッシュ１８とは別に設けた。しかし、データキャッシュ１８を不揮発性記憶素子で構成し、その一部を不揮発性メモリ１７としてもよい。
さらに、不揮発性メモリ１７が不揮発性記憶素子から構成され、データキャッシュ１８が揮発性記憶素子で構成されていても、不揮発性メモリ１７とデータキャッシュ１８とを一つのメモリ空間（アドレス空間）に配置してもよい。
不揮発性メモリ１７およびデータキャッシュ１８のアクセス速度が同程度であれば、データキャッシュ１８のアクセス速度で、データを不揮発性メモリ１７に書き込む（退避する）ことができる。
【００９４】
さらに、第１の実施の形態から第５の実施の形態では、不揮発性メインメモリ３１と揮発性メインメモリ３２とを設けたが、不揮発性メインメモリ３１のみとしてもよい。
【符号の説明】
【００９５】
１…情報処理装置、１０…ＣＰＵ、１１…ＡＬＵ、１２…ＦＰＵ、１３…割込ユニット、１４、１４−１〜１４−３７…揮発性レジスタ、１５…Ｌ／Ｓユニット、１６…命令ユニット、１７、１７−１〜１７−３７…不揮発性メモリ、１８…データキャッシュ、１９…命令キャッシュ、２１…制御ユニット、２２…内部バス、２３…転送バス、２４…不揮発性リセットベクタメモリ、２５…スイッチユニット、３０…メインメモリ、３１…不揮発性メインメモリ、３２…揮発性メインメモリ、４０…バススイッチ、４１…データ／アドレスバス、４２…外部バス
【図１】
2013004036.tif 000003
【図２】
2013004036.tif 000004
【図３】
2013004036.tif 000005
【図４】
2013004036.tif 000006
【図５】
2013004036.tif 000007
【図６】
2013004036.tif 000008
【図７】
2013004036.tif 000009
【図８】
2013004036.tif 000010
【図９】
2013004036.tif 000011
【図１０】
2013004036.tif 000012
【図１１】
2013004036.tif 000013
【図１２】
2013004036.tif 000014
【図１３】
2013004036.tif 000015