プログラムを実行する実行手段と、前記実行手段の実行に用いられるデータを保持するレジスタと、初期状態に設定するプログラムが保持する、電源を供給しなくても記憶している情報を保持することが可能な不揮発性メモリと、前記実行手段が前記初期状態に設定するプログラムを実行する前に、前記レジスタのデータを全て消去する第1のリセットを行う第1のリセット手段と、前記実行手段が前記初期状態に設定するプログラムを実行した後に、前記レジスタのデータのうち、当該初期状態に設定するプログラムにより設定されたデータを消去することなく他のデータを消去する第2のリセットを行う第2のリセット手段とを備える情報処理装置。前記情報処理装置は、少なくとも1つの予め定められた機能を実現する機能ユニットを備え、前記実行手段は、前記初期状態に設定するプログラムの実行において、前記機能ユニットの構成および接続された機器を検知する手順と、前記検知によって検知された前記機能ユニットの構成および前記接続された機器に対応して、前記初期状態に設定するプログラムを実行した後において、前記実行手段の実行に必要なデータを前記レジスタに設定する手順とを実行することを特徴とする請求項1に記載の情報処理装置。前記レジスタは、電源を供給しないと記憶している情報を保持することができない揮発性であって、前記不揮発性メモリは、前記レジスタのデータを退避する退避領域を有し、電源がオフになる直前に、前記レジスタのデータのうち、少なくとも、前記実行手段が電源がオフになる直前から継続して実行するために必要なデータを、前記不揮発性メモリの前記退避領域に退避する退避手段をさらに備えることを特徴とする請求項1または2に記載の情報処理装置。前記退避手段は、前記退避領域に退避したデータの正当性が確認できる符号を設定する手順と前記不揮発性メモリに前記符号を書き込む手順とを実行することを特徴とする請求項3に記載の情報処理装置。前記実行手段は、前記不揮発性メモリの前記退避領域に退避されたデータを前記レジスタに復元することにより、前記情報処理装置を、電源をオフにした直前の状態に復帰できるか否かを判断する手順と、前記判断により、前記情報処理装置を、電源をオフにした直前の状態に復帰できる場合に、前記退避領域のデータを前記レジスタに復元する手順とをさらに実行することを特徴とする請求項3または4に記載の情報処理装置。前記不揮発性メモリが、MRAM、FeRAM、PRAM、ReRAMのいずれかであることを特徴とする請求項1ないし5のいずれか1項に記載の情報処理装置。プログラムを実行する実行手段と、当該実行手段の実行に用いられるデータを保持するレジスタと、初期状態に設定するプログラムが保持された、電源を供給しなくても記憶している情報を保持することが可能な不揮発性メモリと、当該実行手段が当該初期状態に設定するプログラムを実行する前に、当該レジスタのデータを全て消去する第1のリセットを行う第1のリセット手段と、当該実行手段が当該初期状態に設定するプログラムを実行した後に、当該レジスタのデータのうち、当該初期状態に設定するプログラムにより設定されたデータを消去することなく他のデータを消去する第2のリセットを行う第2のリセット手段とを備えるコンピュータに、予め定められた機能を実現する機能ユニットの構成および接続された機器を検知する機能と、前記検知の結果に基づいて、レジスタにデータを設定する機能とを実現させるためのプログラム。電源を供給しなくても記憶している情報を保持することが可能な不揮発性メモリに設けられ、レジスタのデータが退避された退避領域のデータを、前記レジスタに復元することにより、電源をオフにした直前の状態に復帰できるか否かを判断する機能と、前記判断により電源をオフにした直前の状態に復帰できる場合に、前記退避領域のデータを前記レジスタに復元する機能とをさらに実現させることを特徴とする請求項7に記載のプログラム。画像を記録材に形成する画像形成部と、前記画像形成部の動作を制御するプログラムを実行する実行手段と、当該実行手段の実行に用いられるデータを保持するレジスタと、初期状態に設定するプログラムが保持された、電源を供給しなくても記憶している情報を保持することが可能な不揮発性メモリと、当該実行手段が当該初期状態に設定するプログラムを実行する前に、当該レジスタのデータを全て消去する第1のリセットを行う第1のリセット手段と、当該実行手段が当該初期状態に設定するプログラムを実行した後に、当該レジスタのデータのうち、当該初期状態に設定するプログラムにより設定されたデータを消去することなく他のデータを消去する第2のリセットを行う第2のリセット手段とを備え、当該画像形成部の動作を制御する制御部とを備えた画像形成装置。本発明は、電源がオンに移行したとき、ハードウエアの構成に対応した初期設定が安定にできる情報処理装置等を提供することを目的とする。請求項1に記載の発明は、プログラムを実行する実行手段と、前記実行手段の実行に用いられるデータを保持するレジスタと、初期状態に設定するプログラムが保持する、電源を供給しなくても記憶している情報を保持することが可能な不揮発性メモリと、前記実行手段が前記初期状態に設定するプログラムを実行する前に、前記レジスタのデータを全て消去する第1のリセットを行う第1のリセット手段と、前記実行手段が前記初期状態に設定するプログラムを実行した後に、前記レジスタのデータのうち、当該初期状態に設定するプログラムにより設定されたデータを消去することなく他のデータを消去する第2のリセットを行う第2のリセット手段とを備える情報処理装置である。請求項2に記載の発明は、前記情報処理装置は、少なくとも1つの予め定められた機能を実現する機能ユニットを備え、前記実行手段は、前記初期状態に設定するプログラムの実行において、前記機能ユニットの構成および接続された機器を検知する手順と、前記検知によって検知された前記機能ユニットの構成および前記接続された機器に対応して、前記初期状態に設定するプログラムを実行した後において、前記実行手段の実行に必要なデータを前記レジスタに設定する手順とを実行することを特徴とする請求項1に記載の情報処理装置である。請求項3に記載の発明は、前記レジスタは、電源を供給しないと記憶している情報を保持することができない揮発性であって、前記不揮発性メモリは、前記レジスタのデータを退避する退避領域を有し、電源がオフになる直前に、前記レジスタのデータのうち、少なくとも、前記実行手段が電源がオフになる直前から継続して実行するために必要なデータを、前記不揮発性メモリの前記退避領域に退避する退避手段をさらに備えることを特徴とする請求項1または2に記載の情報処理装置である。請求項4に記載の発明は、前記退避手段は、前記退避領域に退避したデータの正当性が確認できる符号を設定する手順と前記不揮発性メモリに前記符号を書き込む手順とを実行することを特徴とする請求項3に記載の情報処理装置である。請求項5に記載の発明は、前記実行手段は、前記不揮発性メモリの前記退避領域に退避されたデータを前記レジスタに復元することにより、前記情報処理装置を、電源をオフにした直前の状態に復帰できるか否かを判断する手順と、前記判断により、前記情報処理装置を、電源をオフにした直前の状態に復帰できる場合に、前記退避領域のデータを前記レジスタに復元する手順とをさらに実行することを特徴とする請求項3または4に記載の情報処理装置である。請求項6に記載の発明は、前記不揮発性メモリが、MRAM、FeRAM、PRAM、ReRAMのいずれかであることを特徴とする請求項1ないし5のいずれか1項に記載の情報処理装置である。請求項7に記載の発明は、プログラムを実行する実行手段と、当該実行手段の実行に用いられるデータを保持するレジスタと、初期状態に設定するプログラムが保持された、電源を供給しなくても記憶している情報を保持することが可能な不揮発性メモリと、当該実行手段が当該初期状態に設定するプログラムを実行する前に、当該レジスタのデータを全て消去する第1のリセットを行う第1のリセット手段と、当該実行手段が当該初期状態に設定するプログラムを実行した後に、当該レジスタのデータのうち、当該初期状態に設定するプログラムにより設定されたデータを消去することなく他のデータを消去する第2のリセットを行う第2のリセット手段とを備えるコンピュータに、予め定められた機能を実現する機能ユニットの構成および接続された機器を検知する機能と、前記検知の結果に基づいて、レジスタにデータを設定する機能とを実現させるためのプログラムである。請求項8に記載の発明は、電源を供給しなくても記憶している情報を保持することが可能な不揮発性メモリに設けられ、レジスタのデータが退避された退避領域のデータを、前記レジスタに復元することにより、電源をオフにした直前の状態に復帰できるか否かを判断する機能と、前記判断により電源をオフにした直前の状態に復帰できる場合に、前記退避領域のデータを前記レジスタに復元する機能とをさらに実現させることを特徴とする請求項7に記載のプログラムである。請求項9に記載の発明は、画像を記録材に形成する画像形成部と、前記画像形成部の動作を制御するプログラムを実行する実行手段と、当該実行手段の実行に用いられるデータを保持するレジスタと、初期状態に設定するプログラムが保持された、電源を供給しなくても記憶している情報を保持することが可能な不揮発性メモリと、当該実行手段が当該初期状態に設定するプログラムを実行する前に、当該レジスタのデータを全て消去する第1のリセットを行う第1のリセット手段と、当該実行手段が当該初期状態に設定するプログラムを実行した後に、当該レジスタのデータのうち、当該初期状態に設定するプログラムにより設定されたデータを消去することなく他のデータを消去する第2のリセットを行う第2のリセット手段とを備え、当該画像形成部の動作を制御する制御部とを備えた画像形成装置である。請求項1の発明によれば、第2のリセット手段を備えない場合に比べ、ハードウエアの構成に対応した初期設定がより安定にできる。請求項2の発明によれば、本構成を備えない場合に比べ、ハードウエアの構成の変更により容易に対応できる。請求項3の発明によれば、本構成を備えない場合に比べ、電源をオフにした直前の状態への復帰ができる。請求項4の発明によれば、本構成を備えない場合に比べ、電源をオフにした直前の状態への復帰がより確実にできる。請求項5の発明によれば、本構成を備えない場合に比べ、電源をオフにした直前の状態への復帰ができる。請求項6の発明によれば、本構成を備えない場合に比べ、情報処理装置の動作速度がより速くなる。請求項7の発明によれば、本構成を備えない場合に比べ、ハードウエアの構成に対応した初期設定がより容易にできる。請求項8の発明によれば、本構成を備えない場合に比べ、電源をオフにした直前の状態へ復帰ができる。請求項9の発明によれば、プログラムにより初期設定をしない場合に比べ、ハードウエアの構成の変更に対応した初期設定ができる。情報処理装置では、初期設定に必要なデータがROMに格納され、電源オンにおいて、ROMからこれらのデータが読み込まれ、初期化が行われる。しかし、情報処理装置のハードウエアの構成が変更されると、ROMに書き込まれたデータも変更せざるを得ない。そこで、情報処理装置においては、ハードウエアが変更された場合であっても、変更されたハードウエアの構成に対応した初期設定が安定にできることが求められていた。以下、添付図面を参照して、本発明の実施の形態について詳細に説明する。<情報処理装置1>図1は本実施の形態が適用される情報処理装置1の全体構成の一例を示した図である。情報処理装置1は、実行手段の一例としての中央処理ユニット以下ではCPUと表記する。10、初期設定プログラムを保持する第1不揮発性メモリ31、オペレーションシステム以下ではOSと表記する。、アプリケーションプログラムなどのプログラムを保持する第2不揮発性メモリ32、そしてデータなどを一時的に保持するRAMRandomAccessMemoryとして使用される第3不揮発性メモリ33、後述するデータ/アドレスバス41および外部バス42に接続されるバスブリッジ40、ユーザから情報処理装置1を制御するための信号などが入力されるUIIFユーザインプットインターフェース50、インターネットや電話網などの通信回線に接続される通信IF通信インターフェース60、外部機器と接続されるIOIF入出力インターフェース70、シリアル通信が行われるSBIFシリアルバスインターフェース80、電源ユニット90を備えている。さらに、情報処理装置1は、データ/アドレスバス41、外部バス42を備えている。ここでは、第1不揮発性メモリ31、第2不揮発性メモリ32、第3不揮発性メモリ33は、読み書き可能な不揮発性記憶素子から構成されている。なお、不揮発性記憶素子は、情報1/0を保持する機能記憶機能を有する記憶素子をいう。不揮発性素子とは、電源を供給する場合に加え、電源を供給しなくても、情報1/0を保持記憶する機能記憶機能を有している。つまり、情報1/0を記憶し続ける。一方、揮発性素子とは、電源を供給する場合には情報1/0を保持記憶する機能記憶機能を有するが、電源を供給しない場合には記憶機能が失われる。つまり、情報の保持ができなくなる。不揮発性記憶素子については、後に詳述する。第1不揮発性メモリ31が保持する初期設定プログラムは、情報処理装置1を初期状態に設定する初期化するためのプログラムであって、後述するように情報処理装置1の電源がオンになると、起動されて、情報処理装置1を初期化する。第2不揮発性メモリ32が保持するプログラムは、OS、UIIF50、通信IF60、IOIF70、SBIF80およびこれらの入出力インターフェースに接続された機器の動作を制御するデバイスドライバ、情報処理装置1が実行する処理のためのアプリケーションプログラムである。これらのプログラムの動作については、後述する。上述したように、第1不揮発性メモリ31には初期設定プログラムが、第2不揮発性メモリ32には、OS、デバイスドライバ、アプリケーションプログラムなどのプログラムが保持されている。これらのプログラムは、展開されて実行可能な状態で保持されていてもよく、第3不揮発性メモリ33に展開してから実行されてもよい。ここでは、第1不揮発性メモリ31に初期設定プログラムが展開されて保持され、第2不揮発性メモリ32にプログラムが展開されて保持されているとして説明する。次に、CPU10の構成を説明する。CPU10は、論理演算及び算術演算を行うALUArithmeticLogicalUnit:論理算術演算ユニット11、浮動小数点演算を行うFPUFloatingPointUnit:浮動小数点演算ユニット12、割り込み処理を行う割込ユニット13InterruptUnitを備えている。さらに、CPU10は、これらの演算および処理を実行するにあたってデータ、アドレス番地、各種のフラグなどを保持記憶するレジスタ14を備えている。ここでは、レジスタ14が保持するデータ、アドレス、各種のフラグなどをまとめてデータと表記する。また、CPU10は、データ、アドレスなどの読み出しロードおよび保持ストアを制御するロード/ストアユニットL/Sユニット15、命令を復号デコードする命令ユニット16を備えている。さらに、CPU10は、データ、アドレスなどをキャッシュするデータキャッシュ18、命令をキャッシュする命令キャッシュ19、バスブリッジ40と接続されるバスIFバスインターフェース20を備えている。そして、CPU10は、上述のALU11、FPU12、割込ユニット13、レジスタ14、L/Sユニット15、命令ユニット16、データキャッシュ18、命令キャッシュ19、バスIF20を制御する制御ユニット21を備えている。そしてまた、CPU10は、ALU11、FPU12、割込ユニット13、レジスタ14、L/Sユニット15、命令ユニット16、制御ユニット21に接続され、これらの間で、データ、アドレス、命令などを入出力するための内部バス22を備えている。ここでは、ALU11、FPU12、割込ユニット13、L/Sユニット15、命令ユニット16、制御ユニット21などは、予め定められた機能を実行する機能ユニットの一例である。ここでは、CPU10を構成するALU11、FPU12、割込ユニット13、レジスタ14、L/Sユニット15、命令ユニット16、データキャッシュ18、命令キャッシュ19、バスIF20、制御ユニット21、内部バス22は、例えばシリコンで構成された一個の半導体チップとして構成されているとする。なお、これらのユニットのうちのいくつかまたはこれらのユニットの一部などが他の半導体チップなどで構成され、CPU10の外部に置かれてもよい。また、CPU10は、第1不揮発性メモリ31、第2不揮発性メモリ32、第3不揮発性メモリ33の全部または一部を含んで構成されていてもよい。本実施の形態におけるCPU10では、レジスタ14、データキャッシュ18、命令キャッシュ19などは、電力の供給がある場合には情報1/0を保持する記憶機能を有しているが、電力の供給がなくなった場合には、情報を保持できなくなる。すなわち、揮発性であるとする。同様に、ALU11、FPU12は、内部に演算レジスタを有し、電力の供給がある場合には情報1/0を保持する記憶機能を有しているが、電力の供給がなくなった場合には記憶機能が失われ、情報を保持できなくなる。さらに、割込ユニット13、命令ユニット16、バスIF20、制御ユニット21なども、それぞれ内部にレジスタを有し、電力の供給がある場合には情報1/0を保持する記憶機能を有しているが、電力の供給がなくなった場合には記憶機能が失われ、情報を保持できなくなる。バスブリッジ40、UIIF50、通信IF60、IOIF70、SBIF80についても同様である。次に、情報処理装置1における接続関係を説明する。CPU10のバスIF20は、データ、アドレス番地、命令などが双方向に送受信可能なように、バスブリッジ40に接続されている。そして、バスブリッジ40には、データ/アドレスバス41および外部バス42が接続されている。そして、データ/アドレスバス41には、第1不揮発性メモリ31、第2不揮発性メモリ32、第3不揮発性メモリ33が接続されている。データ/アドレスバス41は、アドレスバスとデータバスとを備えている。アドレスバスは、CPU10が第1不揮発性メモリ31、第2不揮発性メモリ32または第3不揮発性メモリ33のアドレスを指定アクセスする信号を送信するための信号線である。例えば、アドレスが32ビット幅である場合には、アドレスバスは32本の信号線から構成されている。また、データバスは、アドレスで指定された第1不揮発性メモリ31、第2不揮発性メモリ32または第3不揮発性メモリ33の領域からデータや命令を読み出すため、データや命令を信号として送信する信号線である。また、アドレスで指定された第1不揮発性メモリ31、第2不揮発性メモリ32または第3不揮発性メモリ33の領域にデータなどを書き込むために、データなどを信号として送信する信号線でもある。すなわち、第1不揮発性メモリ31、第2不揮発性メモリ32または第3不揮発性メモリ33のアドレスが指定されると、そのアドレスからデータまたは命令を読み出したり、データを書き込んだりできる。例えばデータまたは命令が32ビット幅の場合には、データバスは32本の信号線から構成されている。ここでは、データ/アドレスバス41は、データバスとアドレスバスとが分けられて構成されているとしたが、データバスおよびアドレスバスのそれぞれの一部または全部が共用されるように構成されていてもよい。また、第1不揮発性メモリ31、第2不揮発性メモリ32、第3不揮発性メモリ33は、一連のアドレスで読み書き可能であってもよい。なお、図1に示したように、第1不揮発性メモリ31、第2不揮発性メモリ32、第3不揮発性メモリ33がデータ/アドレスバス41に並列に接続されている場合は、第1不揮発性メモリ31、第2不揮発性メモリ32、第3不揮発性メモリ33のアドレスが重ならないように配置されている。このとき、第1不揮発性メモリ31、第2不揮発性メモリ32、第3不揮発性メモリ33は、アドレスが連続するように配置されてもよく、第1不揮発性メモリ31、第2不揮発性メモリ32、第3不揮発性メモリ33の間で、アドレスが飛んで配置されてもよい。また、第1不揮発性メモリ31、第2不揮発性メモリ32、第3不揮発性メモリ33のアドレスの順序は問わない。このように、第1不揮発性メモリ31、第2不揮発性メモリ32、第3不揮発性メモリ33は、CPU10がアクセス可能な空間アドレス空間例えばアドレスが32ビットの場合は4Gの空間に配置されている。そして、アドレスで指定された領域から予め設定されたビット幅例えばビット幅が32ビットの場合は4バイトのデータまたは命令がビット並列で送受信される。図1では、第1不揮発性メモリ31、第2不揮発性メモリ32、第3不揮発性メモリ33を分けて示したが、1つの不揮発性メモリ30として構成されていてもよい。以下では、第1不揮発性メモリ31、第2不揮発性メモリ32、第3不揮発性メモリ33をそれぞれ区別しないときは、不揮発性メモリ30と表記する。外部バス42には、UIIF50、通信IF60、IOIF70、SBIF80が接続されデータや命令などが送受信可能に接続されている。そして、外部バス42は、データ/アドレスバス41と同様に、データや命令などを送受信するビット幅に対応した数の信号線から構成されている。電源ユニット90は、CPU10、第1不揮発性メモリ31、第2不揮発性メモリ32、第3不揮発性メモリ33、バスブリッジ40、UIIF50、通信IF60、IOIF70、SBIF80のそれぞれに電力を供給するように接続されている。なお、図1においては、電源ユニット90から電力を供給する配線ラインの表記を省略する。次に、CPU10の内部の接続関係を説明する。CPU10の内部バス22には、ALU11、FPU12、割込ユニット13、レジスタ14、L/Sユニット15、命令ユニット16、制御ユニット21が並列に接続されている。そして、ALU11、FPU12、割込ユニット13、レジスタ14、L/Sユニット15、命令ユニット16、制御ユニット21と内部バス22との間で、データ、アドレスなどが双方向に送受信できるようになっている。内部バス22は、データ、アドレスなどが送受信されるビット幅、例えば32ビットである場合にはビット幅に対応した32本の信号線から構成されている。データキャッシュ18は、データが双方向に送受信できるようにL/Sユニット15に接続されている。さらに、データキャッシュ18は、第1不揮発性メモリ31、第2不揮発性メモリ32または第3不揮発性メモリ33とデータが双方向に送受信できるように、バスIF20に接続されている。命令キャッシュ19は命令を命令ユニット16に送信できるように接続されている。また、命令キャッシュ19は第1不揮発性メモリ31、第2不揮発性メモリ32または第3不揮発性メモリ33から命令を受信できるようにバスIF20に接続されている。前述したように、第1不揮発性メモリ31、第2不揮発性メモリ32、第3不揮発性メモリ33は、読み書き可能な不揮発性記憶素子により構成され、電力の供給がある場合に加え、電力の供給がない場合においても、情報1/0を保持する保持し続ける記憶機能を有している。一方、揮発性記憶素子は、電力の供給がある場合に記憶機能を有しているが、電力の供給がない場合には記憶機能を失う。以下、揮発性記憶素子と比較しながら、不揮発性記憶素子を説明する。揮発性記憶素子の例としては、静電容量キャパシタに蓄えられた電荷の有無により情報1/0を保持し、DRAMdynamicRAMに用いられるメモリセルがある。また、フリップフロップFFによるラッチ効果によって、情報1/0を保持し、SRAMstaticRAMに用いられるメモリセルがある。DRAMおよびSRAMは、半導体チップ上に、それぞれに対応するメモリセルがマトリクス状に配置されて構成されている。そして、セル間に格子状に設けられた配線とその配線に接続されて形成された駆動回路とにより、任意のセルにアクセスでき、情報1/0を読み書きできる。このため、これらはRAMrandomaccessmemoryと呼ばれている。DRAMに用いられるメモリセルは、SRAMに用いられるメモリセルに比べて占有する面積が小さく、高集積化に向く。よって、大容量であることが求められるメインメモリとして用いられる。ただし、DRAMでは、時間の経過とともにメモリセルの静電容量に蓄積された電荷の量が減衰する。このため、保持した情報1/0が時間の経過によって失われないよう、予め定められた時間間隔で、電荷の量を元に戻すリフレッシュが行われる。SRAMに用いられるメモリセルは、フリップフロップFFによるラッチ効果により、情報1/0が保持される。SRAMに用いられるメモリセルは、DRAMに用いられるメモリセルに比べて占有する面積が大きい。しかし、SRAMは、DRAMに比べて高速に読み書きができるので、レジスタ14、データキャッシュ18、命令キャッシュ19などに用いられる。一方、不揮発性記憶素子には、磁極の向きにより情報1/0を保持する磁性を利用したメモリセルを円板上に配列したHDDハードディスクドライブがある。HDDは、大容量であるが機械的機構によって、メモリセルから情報1/0を読み書きするため、情報1/0の読み書き速度アクセス速度が遅い。また、不揮発性記憶素子には、MOSトランジスタのゲート電極フローティングゲートに蓄積した電荷の有無により情報1/0を保持するメモリセルがある。このようなメモリセルを用いたメモリには、フラッシュメモリ、EEPROMElectricallyErasableProgrammableROMなどがある。フラッシュメモリおよびEEPROMは、電気的に状態1/0の読み書きができるが、前述のSRAM、DRAMに比べて読み書き速度が、特に書き込み速度が遅い。そして、フラッシュメモリ、EEPROMには、書き換え回数に制限がある。この他、不揮発性記憶素子を用いたメモリには、磁気メモリmagnetoresistiveRAM:MRAMと表示する。、強誘電体メモリferroelectricRAM:FeRAMと表記する。、相変化メモリphasechangeRAM:PRAMと表記する。、抵抗メモリresistanceRAM:ReRAMと表記する。などがある。MRAMに用いられるメモリセルは、2枚の磁性積層膜をトンネル磁気抵抗膜で挟み、重ねた磁性積層膜の磁化のなす相対角度によりトンネル磁気抵抗膜の抵抗が変化する磁気抵抗magnetoresistive:MR効果を用いて情報1/0を保持する。FeRAMに用いられるメモリセルは、PZTPbZr、TiO3などの強誘電体の分極を用いて情報1/0を保持する。PRAMに用いられるメモリセルは、カルコゲナイドの相変化にともなう抵抗変化により情報1/0を保持する。ReRAMに用いられるメモリセルは、電圧の印可による電気抵抗の大きな変化CERcolossalelectro-resistance効果を利用し、抵抗変化により情報1/0を保持する。これらのメモリMRAM、FeRAM、PRAM、ReRAMは、DRAM、SRAMと同様に半導体基板上にメモリセルをマトリクス状に高密度に配置でき、一体形成された駆動回路により高速な読み書きができる。さらに、書き換え回数の制限が原理的にない、または書き換え可能な回数が極めて大きい以下では、書き換え回数の制限が小さいと表記する。このため、これらのメモリMRAM、FeRAM、PRAM、ReRAMは、SRAM、DRAMと同様に第1不揮発性メモリ31、第2不揮発性メモリ32、第3不揮発性メモリ33、データキャッシュ18、命令キャッシュ19などに適用しやすい。本実施の形態では、第1不揮発性メモリ31、第2不揮発性メモリ32、第3不揮発性メモリ33を、一例としてMRAMで構成されているとして説明する。なお、MRAM以外のFeRAM、PRAM、ReRAMで構成してもよいし、アクセス速度や書き換え回数に制約を受けない場合には、HDD、フラッシュメモリ、EEPROMなどであってもよい。一方、CPU10におけるレジスタ14、データキャッシュ18、命令キャッシュ19などはSRAMで構成されているとして説明する。<レジスタ14および退避領域33-1~33-38>次に、レジスタ14の構成について説明する。図2は、レジスタ14の構成およびレジスタ14のデータが書き込まれる退避領域後述する退避領域33-1~33-38の構成の一例を説明する図である。図2aは、レジスタ14の構成を示し、図2bは第3不揮発性メモリ33に設けられたレジスタ14のデータが書き込まれる退避領域33-1~33-38の構成を示している。まず、レジスタ14の構成を説明する。レジスタ14は、一例として36個のレジスタ14-1~14-36を備えている。それぞれのレジスタ14-1~14-36は、それぞれアドレス不図示を有し、そのアドレスにより区別される。レジスタ14-1~14-30は、用途が固定されていない汎用レジスタR1~R30と表記する。である。例えば、ALU11の演算のためのデータ、アドレス、不揮発性メモリ30上に設けられたスタックのアドレススタックポインタなどを保持するために用いられる。なお、スタックは一時的にデータを保持する領域である。レジスタ14-31は、FPU12の演算結果を保持する浮動小数点レジスタFPRと表記する。である。レジスタ14-32は、コンディションレジスタステータスレジスタCRと表記する。であって、CPU10のコンディションステータスを保持する。コンディションステータスとしては、ALU11における演算においてオーバーフローが生じたときに設定されるオーバーフローフラグ、キャリーが発生したときに設定されるキャリーフラグ、負の値となったときに設定されるネガティブフラグなどがある。レジスタ14-33は、リンクレジスタLRと表記する。であって、サブルーチンコールで分岐した場合の戻りアドレスを保持する。レジスタ14-34は、コントロールレジスタCTRと表記する。であって、コンディションレジスタの各種フラグをリセット解除したり、CPU10の動作速度を落として低消費電力状態にしたりするなど、CPU10を特殊な状態にすることを指示する。レジスタ14-35は、コンフィギュレーションレジスタCFGと表記する。であって、情報処理装置1の機能ユニットの構成および入出力インターフェースに接続された機器などについての情報を保持する。例えば、情報処理装置1が、ALU11、FPU12、割込ユニット13などの機能ユニット、UIIF50、通信IF60、IOIF70、SBIF80などの入出力インターフェースに接続された機器に関する情報を保持する。そして、レジスタ14-36は、プログラムカウンタPCと表記する。であって、次に実行される命令を格納する不揮発性メモリ30のアドレスを保持する。次に、レジスタ14のデータを退避する退避領域33-1~33-38について説明する。退避領域33-1~33-38は、第3不揮発性メモリ33の一部に設けられている。退避領域33-1~33-36は、それぞれがレジスタ14のレジスタ14-1~14-36に対応し、レジスタ14-1~14-36のデータの退避に用いられる。そして、退避領域33-37は、レジスタ14のデータを退避したことを示すフラッグSFである。さらに、退避領域33-38は、退避領域33-1~33~36に退避したデータのパリティ、チェックサムまたは誤り訂正符号ECCなどデータの正当性を確認できるエラー検出符号EDCと表記する。を書き込む領域である。退避領域33-1~33-36からデータを読み出す際に、新たに計算された符号EDCと対比して、エラーが発生していないことを確認する。なお、退避領域33-1~33-38は、第3不揮発性メモリ33において、電源をオフにする直前の状態から継続して情報処理装置1を動作させる場合に必要とされる、データ、スタックなどが保持された領域を避けて設けられることが好ましい。また、退避領域33-1~33-38は、第1不揮発性メモリ31または第2不揮発性メモリ32のいずれかに設けてもよい。第1不揮発性メモリ31に設ける場合は、初期設定プログラムが書き込まれた領域、第2不揮発性メモリ32に設ける場合は、プログラムが書き込まれた領域を避けて設けられることが好ましい。<情報処理装置1の動作>次に、情報処理装置1の動作を説明する。本実施の形態における情報処理装置1は、前述したように第1不揮発性メモリ31に保持された初期設定プログラムを有している。そして、実行される処理がそれぞれ異なる複数のリセットを有している。ここでは、初回に電源をオンにする場合、電源をオフにする場合、二回目以降に電源をオンにする場合を説明する。[初回に電源をオンにする場合]まず、初回に電源をオンにする場合を説明する。図3は、初回に電源をオンにした場合に、情報処理装置1が動作状態になるまでを説明するフローチャートである。電源ユニット90から電力が供給されて、情報処理装置1の電源がオンになると、第1のリセット手段の一例としての制御ユニット21により、第1のリセットの一例としてのハードウエアリセットHWリセットが行われるステップ101。次いで、ハードウエアHWによる初期設定が行われるステップ102。そして、初期設定プログラムによる初期設定が行われるステップ103。その後、第2のリセット手段の一例としての制御ユニット21により、第2のリセットの一例としてのスマートリセットが行われるステップ104。そして、OS、デバイスドライバ、アプリケーションプログラムなどが起動されるステップ105。そして、情報処理装置1が動作状態になる。以下では、これらを詳細に説明する。HWリセットステップ101情報処理装置1の電源がオンになると、HWリセットが行われる。HWリセットにおいて、CPU10のレジスタ14のデータレジスタ値が全て消去クリアされる。例えば、0に設定される。そして、CPU10のALU11、FPU12の内部の演算レジスタ、割込ユニット13、L/Sユニット15、命令ユニット16、バスIF20、制御ユニット21などの内部に設けられたレジスタもクリアされる。同様に、データキャッシュ18、命令キャッシュ19もクリアされる。さらに、バスブリッジ40、UIIF50、通信IF60、IOIF70、SBIF80についても同様である。このように、CPU10のALU11、FPU12の内部に設けられた演算レジスタなどをクリアすることを情報処理装置1の回路の初期化と表記する。HWによる初期設定ステップ102HWリセットが解除されると、CPU10の動作モードの設定、初期設定プログラムを読み出すブートする不揮発性メモリの指定第1不揮発性メモリ31と指定など、初期設定プログラムの起動に必要な設定が行われる。そして、レジスタ14のレジスタ14-36PCのデータレジスタ値が、第1不揮発性メモリ31に保持された初期設定プログラムの開始アドレスに設定される。これらは、図示しないシリアルEEPROMSEEPROMまたは外付けスイッチディップスイッチなどにより設定される。初期設定プログラムによる初期設定ステップ103次に、制御ユニット21により、レジスタ14内のレジスタ14-36PCに設定された初期設定プログラムの開始アドレスが呼び出される。そして、開始アドレスがL/Sユニット15、データキャッシュ18、バスIF20、バスブリッジ40、データ/アドレスバス41を経由して、第1不揮発性メモリ31に送信される。すると、第1不揮発性メモリ31の指定されたアドレスから、初期設定プログラムの最初の命令が読み出される。その命令は、データ/アドレスバス41、バスブリッジ40、バスIF20、命令キャッシュ19を経由して、命令ユニット16に送信される。そして、命令ユニット16によってデコードされる。そして、制御ユニット21により実行される。アドレスが順次設定され、第1不揮発性メモリ31からの命令の読み出しと制御ユニット21での実行とが繰り返し行われる。このようにして、初期設定プログラムが実行される。このとき、演算が必要な場合は、ALU11、FPU12などにデータやアドレスが送信され、演算が実施される。初期設定プログラムは、始めに情報処理装置1の機能ユニットの構成および入出力インターフェースに接続された機器を検知する。すなわち、情報処理装置1のALU11、FPU12、割込ユニット13などの機能ユニットの構成、UIIF50、通信IF60、IOIF70、SBIF80などの入出力インターフェースに接続された機器からの信号をチェックすることで検知し、レジスタ14-35CFGに情報1/0として書き込む。なお、レジスタ14-35CFGには、機能ユニット、接続された機器のそれぞれに対応する情報1/0を書き込む領域が設けられている。次に、レジスタ14-35CFGの内容に基づいて、レジスタ14のレジスタ14-1~14-30に、スマートリセットが解除されたときの情報処理装置1の動作に必要なデータレジスタ値を設定する。本実施の形態では、初期設定をプログラム初期設定プログラムで行うので、条件判断や分岐ができる。よって、情報処理装置1の機能ユニットの構成や入出力インターフェースに接続された機器に違いがあっても、レジスタ14に必要なデータを設定することができる。すなわち、機能ユニットの構成が異なる情報処理装置1であっても、また接続される機器が異なる情報処理装置1であっても、一つの初期設定プログラムで初期設定ができる。なお、初期設定プログラムは、情報処理装置1において想定される機能ユニット構成の違いに対応して必要なデータをレジスタ14に設定できるとともに、入出力インターフェースに接続されうる機器に必要なデータレジスタ値がレジスタ14に設定できるようにプログラムされている。そして、次に説明するスマートリセットが解除されたときに動作させるプログラムが格納された先頭番地をレジスタ14-36PCに設定する。ここでは、スマートリセット解除後にOSを起動するとし、レジスタ14-36PCにOSを起動するアドレスをデータPC値として書き込む。スマートリセットステップ104初期設定プログラムの動作により、レジスタ14の、例えばレジスタ14-31FPR、14-32CR、14-33LR、14-34CTRには、残す必要のないデータレジスタ値が保持されている。また、レジスタ14-1~14-30においても、スマートリセット解除後における情報処理装置1の動作に不要なデータレジスタ値が保持されている。そこで、スマートリセットでは、これらの残す必要のないデータレジスタ値をクリアする。なお、初期設定プログラムにより、情報処理装置1の動作に必要なデータレジスタ値が設定されたレジスタレジスタ14-1~14-30のうち、情報処理装置1の機能ユニットの構成や接続された機器に関する情報が設定されたレジスタ14-35CFGおよびスマートリセット解除後に動作するプログラムの開始番地PC値が設定されたレジスタ14-36PCはクリアすることなく、設定されたデータレジスタ値を保持する。このようにすることで、次のプログラムの起動において、レジスタ14のデータレジスタ値を再設定する必要がない。また、レジスタ14に不適切なデータレジスタ値が残ったことによる誤動作の発生を抑制する。プログラムの起動ステップ105スマートリセットが解除されると、CPU10は、レジスタ14-36PCに設定されたプログラムの開始番地から命令を読み出し、OSを起動する。OSの起動後に、UIIF50、通信IF60、IOIF70、SBIF80などおよびこれらに接続された機器を制御するデバイスドライバが起動される。そして、デバイスドライバが起動され、アプリケーションプログラムが起動される。アプリケーションプログラムが起動されることにより、情報処理装置1は動作状態に移行する。比較のため、本実施の形態を用いない場合、すなわち初期設定プログラムを用いないで初期設定する場合を説明する。本実施の形態を用いない場合の情報処理装置1では、不揮発性メモリ30の代わりに、DRAMなどの揮発性メモリが設けられているとする。そして、OS、デバイスドライバ、アプリケーションプログラムなどは、IOIF70に接続されたHDDに保存されているとする。図4は、本実施の形態を用いない情報処理装置1において、電源をオンにしたときから動作状態になるまでのフローチャートである。電源ユニット90により情報処理装置1の電源がオンになると、HWリセットが行われるステップ201。次いで、ハードウエアHWによる初期設定が行われるステップ202。その後、プログラムが起動されるステップ203。以下では、電源をオンにした場合に情報処理装置1が動作状態になるまでを、本実施の形態と比較して説明する。HWリセットステップ201電源がオンになると、自動的にHWリセットが行われる。HWリセットは、本実施の形態におけるステップ101と同様である。よって、説明を省略する。HWによる初期設定ステップ202HWリセットが解除されると、CPU10の動作モードの設定、初期設定プログラムを読み出すブートする記憶装置の指定HDDと指定など、プログラムの起動に必要な設定が行われる。また、情報処理装置1の機能ユニットの構成および接続された機器の情報を保持するレジスタ14-35CFGのレジスタ値が設定される。これらは、図示しないシリアルEEPROMSEEPROMまたは外付けスイッチディップスイッチなどにより設定される。プログラムの起動ステップ203次に、HDDからOSが読み出され、本実施の形態における不揮発性メモリ30の代わりに設けられた揮発性メモリにロード展開されて、起動される。そして、デバイスドライバが起動される。その後、アプリケーションプログラムが揮発性メモリにロード展開されて、起動される。アプリケーションプログラムが起動されることにより、情報処理装置1は動作状態に移行する。以上説明したように、本実施の形態を用いない場合には、情報処理装置1は、電源がオンになるのが初回であっても、2回目以降であっても、同じ初期設定が行われる。また、情報処理装置1の機能ユニットの構成が異なっても、接続された機器が異なっても、同じ初期設定となる。したがって、初期設定を変更するには、シリアルEEPROMSEEPROMまたは外付けスイッチディップスイッチなどの設定を変更することが必要となり、情報処理装置1の機能ユニットの構成の変更や接続される機器の変更に柔軟に対応することができない。すなわち、本実施の形態では、初期設定プログラムを用いて初期設定を行うので、条件判断や分岐ができ、情報処理装置1の機能ユニットの構成の変更または/および接続される機器の変更に柔軟に対応できる。[電源をオフにする場合]次に、情報処理装置1の電源をオフにする場合を説明する。図5は、情報処理装置1の電源がオフになるまでを説明するフローチャートである。情報処理装置1の電源がオフになるのは、電源ユニット90のボタンを押すことオフボタンを押すまたはオンボタンを再度押すなどにより、電源オフの指示が出された場合、または情報処理装置1が予め定められた待機状態スタンバイになるための条件を満たし、待機状態に移行するために電源オフの指示を自らが出した場合などがある。そこで、図5では、電源オフの指示から始める。電源オフの指示が出ると、退避手段の一例としての制御ユニット21は、レジスタ14のレジスタ14-1~14-36に保持されたデータレジスタ値を、第3不揮発性メモリ33の退避領域33-1~33-36に退避する。退避するとは、レジスタ14のレジスタ14-1~14-36のそれぞれのデータレジスタ値を、第3不揮発性メモリ33の退避領域33-1~33-36にそれぞれコピーすることをいう。同時に、データレジスタ値を退避したことを示すフラッグSFを退避領域33-37に書き込む例えば1とする。。さらに、退避領域33-1~33~36に退避したデータレジスタ値のパリティ、チェックサムまたは誤り訂正符号ECCなど、退避領域33-1~33-36からデータを読み出す時に、データにエラーが発生していないこと正当性を確認するためのエラー検出符号EDCを、退避領域33-38に書き込むステップ301。この後、電源ユニット90からの電力の供給を停止して、情報処理装置1を電源オフにする。なお、電源ユニット90は、待機状態から復帰するための復帰の指示を受信するための給電制御回路90a後述する図8、図10参照を備え、給電制御回路90aはオンの状態のままに保持されるようになっていてもよい。[2回目以降に電源がオンにする場合]図6は、2回目以降に電源がオンにした場合に、情報処理装置1が動作状態になるまでを説明するフローチャートである。電源ユニット90から電力が供給されて、情報処理装置1を2回目以降に電源をオンにすると、HWリセットが行われるステップ401。次いで、HWによる初期設定が行われるステップ402。そして、初期設定プログラムによる初期設定が行われるステップ403。その後、スマートリセットが行われるステップ404。そして、プログラムの起動が行われるステップ405。この後に、情報処理装置1は動作状態になる。なお、初期設定プログラムによる初期設定ステップ403は後述するように、複数のステップに分かれているステップ501~503。以下では、図3に示した、初回に電源をオンにした場合と異なる部分を説明し、同様な部分の説明を省略する。HWリセットステップ4012回目以降に電源をオンにした場合であっても、HWリセットは、初回に電源をオンにする場合のHWリセット図3のステップ101参照と同様である。よって、説明を省略する。HWによる初期設定ステップ4022回目以降に電源をオンにする場合であっても、HWにより初期設定は、初回に電源をオンにする場合のHWによる初期設定図3のステップ102参照と同様である。よって、説明を省略する。初期設定プログラムによる初期設定ステップ403初期設定プログラムが起動されると、まず情報処理装置1の機能ユニットの構成および入出力インターフェースを介して接続された機器を検知する。すなわち、情報処理装置1のALU11、FPU12、割込ユニット13などの機能ユニット、UIIF50、通信IF60、IOIF70、SBIF80などの入出力インターフェースに接続された機器からの信号をチェックすることで検知し、レジスタ14-35CFGにデータ情報1/0を設定する書き込むステップ501。次に、初期設定プログラムは、第3不揮発性メモリ33の退避領域33-1~33-36に退避したデータをレジスタ14に復元することで、情報処理装置1を電源がオフになる直前の状態に復帰できるか否かを判断するステップ502。このステップ502は、少なくとも3つのステップ後述する図7に示すステップ601、602、603を備えている。図7は、ステップ502をさらに詳細なステップに分けて示したフローチャートである。図7では、ステップ501を開始としている。まず、退避領域33-37SFの値1/0を調べるステップ601。そして、0である場合にはNoと判断する。すなわち、レジスタ14のデータレジスタ値が退避されていないので、電源をオフにした直前の状態に復帰させることができない。一方、退避領域33-37SFの値が1である場合Yesの場合には、レジスタ14-35CFGのデータレジスタ値と、第3不揮発性メモリ33の退避領域33-35SCFGのデータとを比較するステップ602。これらの値が一致しない場合はNoと判断する。すなわち、情報処理装置1の機能ユニットの構成や接続されている機器に変更があるので、電源をオフにした直前の状態に復帰させることができない。レジスタ14-35CFGのデータレジスタ値と退避領域33-35SCFGに書き込まれたデータとが一致する場合Yesの場合は、情報処理装置1の機能ユニットの構成や接続されている機器に変更がないことになる。よって、次に、電源をオフにする直前に退避領域33-38に書き込んだエラー検出符号EDCを計算する方法を用いて、退避領域33-1~33-36に書き込まれたデータからエラー検出符号EDCを再度計算する。そして、再度計算されたエラー検出符号EDCと退避領域33-38に書き込まれたデータエラー検出符号EDCとを比較するステップ603。これらが一致しない場合はNoと判断する。すなわち、レジスタ14のデータレジスタ値を退避した時点以降において、退避領域33-1~33-36または退避領域33-37EDCに書き込まれたデータが変化したことになる。よって、退避領域33-1~33-36のデータが正常か判断できず、電源をオフにした直前の状態に復帰させることができない。これらが一致する場合は、Yesと判定する。このように、図6のステップ502では、3つの判断ステップ601、602、603を介して、電源をオフにした直前の状態に情報処理装置1を復帰できるか否かが判定される。図6に戻って、Yesの場合を説明する。レジスタ14のレジスタ14-1~14~30において、情報処理装置1の動作に必要なレジスタの値を、退避領域33-1~33-30から書き戻す復元する。また、レジスタ14-36PCの値を、退避領域33-36から書き戻す復元する復元機能ステップ503。スマートリセットステップ404初回に電源がオンになった場合のスマートリセット図3のステップ104参照と同様に、スマートリセットが行われる。よって、図6では、スマートリセットの内容の記載を省略した。プログラムの起動ステップ405本実施の形態では、不揮発性メモリ30第1不揮発性メモリ31、第2不揮発性メモリ32、第3不揮発性メモリ33を備えているので、電源をオフにした直前の状態が維持されている。よって、レジスタ14のデータレジスタ値を、電源をオフにした直前の状態に戻すことで、情報処理装置1は電源をオフにした直前の状態に戻る。よって、復元したレジスタ14-36PCで指定された不揮発性メモリ30のアドレスから命令を読み出すことで、電源をオフにした直前の状態から引き続いて処理が行われる。このようにすることで、情報処理装置1の立ち上げに要する時間を短縮するとともに、電源オフの直前の状態から引き続いて処理を行える。一方、Noの場合には、初回に電源をオンにした場合と同様に、初期設定プログラムが、情報処理装置1の動作に必要なデータレジスタ値をレジスタ14に設定し、スマートリセットが解除された後に実行されるプログラムの開始アドレスをレジスタ14-36PCのデータPC値として設定するステップ504。スマートリセットステップ406初回に電源をオンにした場合のスマートリセット図3のステップ104参照と同様に、スマートリセットが行われる。よって、詳細な説明を省略する。プログラムの起動ステップ407初回に電源をオンになった場合のプログラムの起動図3のステップ105参照と同様に、プログラムの起動が行われる。よって、詳細な説明を省略する。以上説明したように、本実施の形態の情報処理装置1では、初期設定をハードウエアHWによる初期設定とソフトウエア初期設定プログラムによる初期設定とで行っている。このようにすることで、電源オン時の情報処理装置1の機能ユニットの構成や接続されている機器に対応して、レジスタ14のデータを設定することで、初期化できる。よって、初期設定プログラムを変更することなく、情報処理装置1の機能ユニットの構成の変更または/および接続された機器の変更に柔軟に対応することができる。また、レジスタ14のデータを、電源をオフにした直前の値に戻すことで、情報処理装置1は、電源をオフにした直前の状態から引き続いて処理が行える。さらに、電源をオンにした時の情報処理装置1の機能ユニットの構成や接続された機器に対応して、レジスタ14のデータを設定することで、情報処理装置1の初期設定に要する時間が短くなる。また、RAMとして使用する第3不揮発性メモリ33をDRAMなどの揮発性メモリで構成してもよい。このときは、退避領域33-1~33-38および電源をオフにした直前の状態から復帰させるために必要なデータなどを記憶する領域を、第1不揮発性メモリ31または第2不揮発性メモリ32に設ければよい。また、上記では、不揮発性メモリ30は、MRAMとして説明したが、DRAMなどの揮発性メメリで構成し、常時オン状態に維持したり、バッテリーなどでバックアップしたりしてもよい。<画像形成装置100>次に、上記の情報処理装置1を、画像形成装置100の制御部として構成する場合を説明する。図8は、画像形成装置100の構成の一例を示す図である。画像形成装置100は、図1に示した情報処理装置1に、ボタンなどユーザが信号を送信するためのUIユーザインターフェース120、プリンタなどの画像形成部130、スキャナなどの画像読取部140、通信回線200後述する図9参照とデータなどの送受信を行う送受信部150を備えた構成となっている。ここでは、UI120は情報処理装置1のUIIF50に、画像形成部130は情報処理装置1のIOIF70に、画像読取部140はSBIF80に、そして送受信部150は、通信IF60にそれぞれ接続されているとして説明する。図9は、画像形成装置100と通信回線200に接続された機器との関係を説明した図である。画像形成装置100は、送受信部150を介して、インターネット、電話網などの通信回線200に接続されている。そして、通信回線200には、コンピュータCOM300、ファクシミリ装置400、サーバ500などが接続されている。画像形成装置100の基本的な動作を説明する。画像形成装置100は、画像読取部140から読み取った画像を、画像形成部130により用紙などの記録材に印刷する。なお、画像形成部130は、LEDなどにより感光体ドラムに潜像を書き込み、潜像をトナーで現像して記録材に転写する方式でもよく、インクジェットなどで記録材に画像を形成する方式でもよい。画像読取部140は、受光素子アレイをスキャンさせる方式であってもよく、CCDなどの撮像素子で画像を読み取る方式でもよい。また、画像形成装置100は、通信回線200を介してコンピュータCOM300またはファクシミリ装置400から送信された画像などのデータを画像形成部130により記録材に印刷する。一方、画像形成装置100は、画像読取部140が読み取った画像などのデータを、送受信部150から通信回線200を介して画像形成装置100の外部に置かれたコンピュータCOM300および/またはファクシミリ装置400に送信する。さらに、画像形成装置100は、通信回線200を介してサーバ500から、サーバ500に保管された初期設定プログラムやプログラムOS、デバイスドライバ、アプリケーションプログラムなどを情報処理装置1の第1不揮発性メモリ31、第2不揮発性メモリ32に書き込んでもよい。このような画像形成装置100は、使用されないときは通電されていない状態電源がオフの状態にあることが好ましい。そして、使用しようとするときに電源がオンになって、速やかに動作可能になることが望ましい。画像形成装置100には、すべての機能が動作可能な状態オン状態である通常モードと、一部の機能が動作可能な状態オン状態で、他のほとんどの機能が停止した状態オフ状態である節電モードとが設けられる。節電モードの画像形成装置100は、通信回線200を介してファクシミリを受信したとき、またはユーザから使用を開始する信号復帰信号を受信したときなどに通常モードに復帰する。節電モードを、図8を参照して説明する。節電モードにおいて、節電の効果を高めるためには、制御部である情報処理装置1のCPU10、不揮発性メモリ30、バスブリッジ40もオフ状態になっていることが好ましい。さらに、電源ユニット90もオフ状態になっていることが好ましい。すなわち、節電モードでは、UI120、送受信部150、後述する情報処理装置1の電源ユニット90の給電制御回路90aのみがオン状態になっていて、情報処理装置1のCPU10、不揮発性メモリ30、バスブリッジ40、電源ユニット90の給電制御回路90aをのぞいた部分、および画像形成部130、画像読取部140がオフ状態になっている。そして、UI120および送受信部150のそれぞれから情報処理装置1の電源ユニット90の給電制御回路90aに信号が送られるように信号線が設けられている。電源ユニット90に設けられた給電制御回路90aは、UI120または送受信部150からの信号を受信して、電源ユニット90をオンにして、オフ状態であった情報処理装置1のCPU10、不揮発性メモリ30、バスブリッジ40、および画像形成部130、画像読取部140に電力の供給を開始する。すなわち、節電モードにあっても、UI120、送受信部150および情報処理装置1の電源ユニット90の給電制御回路90aには、不図示の電源から電力が供給されている。なお、情報処理装置1の電源ユニット90が画像形成部130、画像読取部140に電力を供給するとしたが、給電制御回路90aと同様な給電制御回路を備え、UI120または送受信部150からの信号により、画像形成部130および画像読取部140に電力の供給を開始するようにしてもよい。図10は、画像形成装置100の通常モードと節電モードとを比較する図である。図10aは通常モード、図10bは節電モードを示している。オン状態にある部分を実線で囲むとともに網点を付して示している。一方、オフ状態にある部分を破線で囲って示している。図10aに示す通常モードでは、情報処理装置1、UI120、画像形成部130、画像読取部140、送受信部150がすべてオン状態にある。一方、図10bに示す節電モードでは、UI120、送受信部150、情報処理装置1の電源ユニット90の給電制御回路90aがオン状態にあって、画像形成部130、画像読取部140、電源ユニット90の給電制御回路90aを除く情報処理装置1がオフ状態休止状態になっている。節電モードにあるときに、画像読取部140がスキャナである場合、ユーザが画像形成装置100を使用するためスキャナの上蓋を持ち上げるとする。スキャナの上蓋はUI120の一つであるので、ユーザがスキャナの上蓋を持ち上げることにより、UI120から、画像形成装置100を起動することを指示する信号復帰信号が情報処理装置1の電源ユニット90の給電制御回路90aに送られる。これにより、電源ユニット90がオンになる。そして、情報処理装置1の2回目以降の電源オンで説明したように、不揮発性メモリ30に保持されたレジスタ値を、レジスタ14に書き戻すことで、画像形成装置100の制御部である情報処理装置1は、電源オフになる直前節電モードに入る前の状態に復帰する。画像形成部130、画像読取部140にも電源ユニット90から電力が供給され、それぞれ動作状態になる。これにより、画像形成装置100は、節電モードに入る直前の状態に戻る。前述したように、不揮発性メモリ30に退避されたレジスタ値がレジスタ14に速やかに書き戻されるとともに、OSおよびアプリケーションプログラムが不揮発性メモリ30第2不揮発性メモリ32に保持されているため、画像形成装置100は、節電モードから通常モードへ速やかに復帰する。同様に、節電モードにあるときに、通信回線200を介してファクシミリ装置400からデータを受信すると、送受信部150が検知して、画像形成装置100を起動することを指示する信号が情報処理装置1の電源ユニット90の給電制御回路90aに送られる。そして、上述した場合と同様に、画像形成装置100の制御部である情報処理装置1は、電源ユニット90がオフになる直前節電モードに入る前の状態に復帰する。そして、画像形成部130、画像読取部140にも電源ユニット90から電力が供給され、それぞれが動作状態になる。これにより、画像形成装置100は、節電モードに入る直前の状態に戻る。画像形成装置100は、節電モードから通常モードへの復帰によって、節電モードに移行する直前の状態から継続して処理が行える。なお、画像形成装置100の制御部である情報処理装置1が不揮発性メモリ30を備えず、DRAMなどによる揮発性メモリを備える場合には、通常モードから節電モードに移行するときに、レジスタ14のデータレジスタ値をオン状態に維持またはバッテリーバックアップした揮発性メモリに退避し、節電モードから通常モードに移行するとき、揮発性メモリに退避したデータをレジスタ14に書き戻すことが考えられる。しかし、この方式では、揮発性メモリをオン状態に維持またはバッテリーバックアップするために電力の供給が必要である。以上では、画像形成装置100を節電モードから通常モードに移行する場合について説明した。UI120、送受信部150、電源ユニット90の給電制御回路90aを含めてすべてがオフ状態の停止モードから、通常モードに移行する場合についても同様である。すなわち、不揮発性メモリ30に保持されたレジスタ値をレジスタ14に書き戻すことで、画像形成装置100は停止モードから通常モードへと速やかに復帰する。