(57)【要約】【課題】  記憶部内の起動プログラムが格納される領域（物理アドレス）が変更されても正常に起動できる情報処理装置を提供する。【解決手段】  起動プログラム記憶部１０の各記憶領域中の少なくとも１つの記憶領域に、その記憶領域内に起動プログラムが存在するか否かを示す有無情報を格納させておき、起動プログラム記憶部１０の各記憶領域から有無情報を読み出して起動プログラムの格納アドレスを検出する起動プログラム検出部１１と、プロセッサ部２の起動時に、プロセッサ部２を起動させる前に起動プログラム検出部１１を動作させて、起動プログラムの格納アドレスを検出した時に、プロセッサ部２から固定アドレスを出力させる起動制御部１７とを備え、記憶部制御部６は、プロセッサ部２から固定アドレスを受信した場合、プログラムの格納アドレスに変換して起動プログラム記憶部１０に出力する。【選択図】  図１
2005196553.tif 000002
【特許請求の範囲】
【請求項１】
起動プログラムの格納場所を示す固定アドレスを格納するプロセッサ部と、
複数の記憶領域を有して、少なくとも前記プロセッサ部の起動プログラムを格納する起動プログラム記憶部と、
プロセッサ部から出力される固定アドレスに基づいて起動プログラム記憶部から起動プログラムを読み出してプロセッサ部に出力する記憶部制御部とを備える情報処理装置であって、
前記起動プログラム記憶部の各記憶領域中の少なくとも１つの記憶領域には、該記憶領域内に起動プログラムが存在するか否かを示す有無情報を格納させておき、
起動プログラム記憶部の各記憶領域から前記有無情報を読み出すことにより起動プログラムの格納アドレスを検出する起動プログラム検出部と、
プロセッサ部の起動時に、プロセッサ部を起動させる前に、起動プログラム検出部を動作させ、起動プログラム検出部が起動プログラムの格納アドレスを検出した場合、プロセッサ部から前記固定アドレスを出力させる起動制御部と
を備え、
前記記憶部制御部は、前記プロセッサ部から前記固定アドレスを受信した場合、該固定アドレスを前記起動プログラム検出部で検出された起動プログラムの格納アドレスに変換して前記起動プログラム記憶部に出力する
ことを特徴とする情報処理装置。
【請求項２】
前記起動プログラム検出部は、起動プログラム記憶部の各記憶領域のアドレスを格納する各領域アドレス記憶部
を備えることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記記憶部制御部は、起動プログラム検出部で検出された起動プログラムの格納アドレスを変換先アドレスとして格納する変換先アドレス記憶部を備え、プロセッサ部から前記固定アドレスを受信した場合、該固定アドレスを変換先アドレスに変換する
ことを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記起動プログラム記憶部は、前記記憶領域内の起動プログラムが格納される位置を示すアドレスを前記有無情報として格納する
ことを特徴とする請求項１〜３の何れか１項に記載の情報処理装置。
【請求項５】
前記起動プログラム記憶部は、前記複数の全記憶領域に前記有無情報を格納する
ことを特徴とする請求項１〜３の何れか１項に記載の情報処理装置。
【請求項６】
前記起動プログラム記憶部は、前記有無情報として、前記記憶領域内の起動プログラムが格納される位置を示すアドレスと、前記記憶領域内に起動プログラムが存在することを示すフラグを格納する
ことを特徴とする請求項５に記載の情報処理装置。
【請求項７】
前記起動プログラム記憶部の各記憶領域から前記有無情報を順次検出する回数をカウントする検出回数カウント部と、
起動プログラム記憶部の各記憶領域から前記有無情報を順次検出する上限の回数を上限値として格納する上限値記憶部と、
前記有無情報の検出回数と、前記上限値を比較する回数比較部と、
該回数比較部の出力により、前記有無情報の検出回数が前記上限値を超えた場合には、起動プログラム記憶部に異常が発生したことを報知する報知部と
を備えることを特徴とする請求項５または６に記載の情報処理装置。
【請求項８】
起動プログラムの格納場所を示す固定アドレスを格納するプロセッサ部と、
複数の記憶領域を有して、少なくとも前記プロセッサ部の起動プログラムを格納する起動プログラム記憶部と、
プロセッサ部から出力される固定アドレスに基づいて起動プログラム記憶部から起動プログラムを読み出してプロセッサ部に出力する記憶部制御部とを備える情報処理装置の起動方法であって、
起動プログラム記憶部の各記憶領域中の少なくとも１つの記憶領域に、該記憶領域内に起動プログラムが存在するか否かを示す有無情報を格納させておく工程と、
プロセッサ部の起動時に、プロセッサ部を起動させる前に、起動プログラム記憶部の各記憶領域から前記有無情報を読み出すことにより起動プログラムの格納アドレスを検出して記憶部制御部に格納する工程と、
前記起動プログラムの格納アドレスが検出された場合、プロセッサ部から前記固定アドレスを出力させる工程と、
記憶部制御部が、プロセッサ部から前記固定アドレスを受信した場合、前記検出された起動プログラムの格納アドレスに変換して起動プログラム記憶部に出力する工程
を有することを特徴とする情報処理装置の起動方法。
【請求項９】
起動プログラム記憶部の各記憶領域から前記有無情報を順次検出する回数をカウントする工程と、
起動プログラム記憶部の各記憶領域から前記有無情報を順次検出する上限の回数を上限値として格納する工程と、
前記有無情報の検出回数と、前記上限値を比較する工程と、
前記有無情報の検出回数が前記上限値を超えた場合には、起動プログラム記憶部に異常が発生したことを報知する工程
を有することを特徴とする請求項８に記載の情報処理装置の起動方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、プロセッサ部がメモリに格納された起動プログラムを読み出すことで起動される情報処理装置およびその起動方法に関する。
【背景技術】
【０００２】
従来から、起動プログラム（ブートプログラム）の格納場所を示す固定アドレス（論理アドレス）を格納するプロセッサ部と、複数の記憶領域を有してプロセッサ部の起動プログラムを格納する起動プログラム記憶部（メモリ）と、プロセッサ部から出力される固定アドレスに基づいて起動プログラム記憶部から起動プログラムを読み出してプロセッサ部に出力する記憶部制御部（メモリ制御部、アドレスデコーダ等）とを備える情報処理装置が知られている。
【０００３】
そのような情報処理装置では、情報処理装置の電源が投入された場合あるいは起動された場合に、まず、プロセッサ部が起動され、プロセッサ部は、起動プログラム記憶部から起動プログラムを読み出すために、プロセッサ部内部に格納された固定アドレスを記憶部制御部に出力する。
【０００４】
固定アドレスを受信した記憶部制御部では、その受信した固定アドレスに基づいて起動プログラム記憶部から起動プログラムを読み出すが、その固定アドレス（論理アドレス）が実際に起動プログラム記憶部中の起動プログラムが格納されるアドレス（物理アドレス）と一致しない場合には、アドレスの変換を実施する。
【０００５】
その変換をする場合、実際に起動プログラムが格納されるアドレス（物理アドレス）は、従来は起動プログラム記憶部中の予め設定された領域であるので、記憶部制御部は、受信した固定アドレス（論理アドレス）を予め設定された領域のアドレス（物理アドレス）に変換して起動プログラム記憶部に出力していた（例えば、特許文献１参照）。
【０００６】
【特許文献１】特開平８−１７９９３７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、例えば、情報処理装置の使用者が、予め設定された領域に起動プログラムが格納されている起動プログラム記憶部を交換した場合には、予め設定された領域のアドレス（物理アドレス）が交換前と一致しなくなる場合がある。
【０００８】
さらに詳しくは、例えば、情報処理装置のメモリのスロットあるいはソケット等の装着部が複数存在する場合に、情報処理装置の使用者が、交換したメモリを交換前のスロットとは別のスロットに装着してしまい、物理アドレスが異なってしまう場合である。
【０００９】
このような場合、メモリ制御部が、プロセッサ部から受信した論理アドレスをメモリ内の予め設定された領域の物理アドレスに変換してメモリに出力しても、物理アドレスが変更されているため起動プログラムを読み出すことができなくなる。つまり、情報処理装置を起動することができなくなるという問題がある。
【００１０】
また、物理アドレスが変更されている場合には、プロセッサ部が起動プログラムではない誤ったプログラムあるいはデータを読み出してしまう結果、プロセッサ部が正常に起動されず誤動作してしまう場合があるという問題がある。
【００１１】
本発明は、上述した課題を解決するためになされたものであって、記憶部内の起動プログラムが格納される領域（物理アドレス）が変更されても正常に起動できる情報処理装置を提供すること目的とする。
【課題を解決するための手段】
【００１２】
上記した課題を解決するために、本発明の情報処理装置は、起動プログラムの格納場所を示す固定アドレスを格納するプロセッサ部と、複数の記憶領域を有して、少なくともプロセッサ部の起動プログラムを格納する起動プログラム記憶部と、プロセッサ部から出力される固定アドレスに基づいて起動プログラム記憶部から起動プログラムを読み出してプロセッサ部に出力する記憶部制御部とを備える情報処理装置であって、
起動プログラム記憶部の各記憶領域中の少なくとも１つの記憶領域には、その記憶領域内に起動プログラムが存在するか否かを示す有無情報を格納させておき、
起動プログラム記憶部の各記憶領域から有無情報を読み出すことにより起動プログラムの格納アドレスを検出する起動プログラム検出部と、プロセッサ部の起動時に、プロセッサ部を起動させる前に、起動プログラム検出部を動作させ、起動プログラム検出部が起動プログラムの格納アドレスを検出した場合、プロセッサ部から固定アドレスを出力させる起動制御部とを備え、
記憶部制御部は、プロセッサ部から固定アドレスを受信した場合、起動プログラム検出部で検出された起動プログラムの格納アドレスに変換して起動プログラム記憶部に出力する。
【００１３】
また、本発明の情報処理装置では、起動プログラム検出部は、起動プログラム記憶部の各記憶領域のアドレスを格納する各領域アドレス記憶部を備えてもよく、また、記憶領域内の起動プログラムが格納される位置を示すアドレスを有無情報として格納してもよく、さらに、複数の全記憶領域に有無情報を格納してもよく、あるいは、有無情報として、記憶領域内の起動プログラムが格納される位置を示すアドレスと、記憶領域内に起動プログラムが存在することを示すフラグを格納してもよい。
【００１４】
さらに、本発明の情報処理装置では、記憶部制御部は、起動プログラム検出部で検出された起動プログラムの格納アドレスを変換先アドレスとして格納する変換先アドレス記憶部を備えて、プロセッサ部から固定アドレスを受信した場合、その固定アドレスを変換先アドレスに変換するようにしてもよい。
【００１５】
さらにまた、本発明の情報処理装置では、起動プログラム記憶部の各記憶領域から有無情報を順次検出する回数をカウントする検出回数カウント部と、起動プログラム記憶部の各記憶領域から有無情報を順次検出する上限の回数を上限値として格納する上限値記憶部と、有無情報の検出回数と、上限値を比較する回数比較部と、回数比較部の出力により、有無情報の検出回数が上限値を超えた場合には、起動プログラム記憶部に異常が発生したことを報知する報知部とを備えるようにしてもよい。
【００１６】
また、本発明の情報処理装置の起動方法は、上記した課題を解決するために、起動プログラムの格納場所を示す固定アドレスを格納するプロセッサ部と、複数の記憶領域を有して、少なくともプロセッサ部の起動プログラムを格納する起動プログラム記憶部と、プロセッサ部から出力される固定アドレスに基づいて起動プログラム記憶部から起動プログラムを読み出してプロセッサ部に出力する記憶部制御部とを備える情報処理装置の起動方法であって、
起動プログラム記憶部の各記憶領域中の少なくとも１つの記憶領域に、その記憶領域内に起動プログラムが存在するか否かを示す有無情報を格納させておく工程と、
プロセッサ部の起動時に、プロセッサ部を起動させる前に、起動プログラム記憶部の各記憶領域から有無情報を読み出すことにより起動プログラムの格納アドレスを検出して記憶部制御部に格納する工程と、
起動プログラムの格納アドレスが検出された場合、プロセッサ部から固定アドレスを出力させる工程と、
記憶部制御部が、プロセッサ部から固定アドレスを受信した場合、検出された起動プログラムの格納アドレスに変換して起動プログラム記憶部に出力する工程を有する。
【００１７】
また、本発明の情報処理装置の起動方法では、さらに、起動プログラム記憶部の各記憶領域から有無情報を順次検出する回数をカウントする工程と、
起動プログラム記憶部の各記憶領域から有無情報を順次検出する上限の回数を上限値として格納する工程と、
有無情報の検出回数と、上限値を比較する工程と、
有無情報の検出回数が上限値を超えた場合には、起動プログラム記憶部に異常が発生したことを報知する工程を有するようにしてもよい。
【発明の効果】
【００１８】
本発明の情報処理装置では、起動プログラム記憶部の記憶領域には、その記憶領域内に起動プログラムが存在するか否かを示す有無情報を格納させておき、プロセッサ部の起動時に、プロセッサ部を起動させる前に、起動プログラム記憶部の各記憶領域から有無情報を読み出して起動プログラムの格納アドレスを検出してから、プロセッサ部から固定アドレスを出力させ、その固定アドレスを検出された起動プログラムの格納アドレスに変換するので、記憶部内の起動プログラムが格納される領域（物理アドレス）が変更されている場合でも、起動プログラムの格納位置に関わらず情報処理装置を起動させることができる。
【発明を実施するための最良の形態】
【００１９】
以下、本発明の実施形態を図面に従って説明する。
【００２０】
（第１の実施形態）
図１は、本発明の第１の実施形態の情報処理装置の概略構成を示すブロック図である。
【００２１】
情報処理装置１は、例えば、図示しない入力装置や通信装置等により使用者等による外部からの電源起動指示を受け付け、プロセッサ部２に格納されていた起動プログラムの格納場所を示す固定アドレス（論理アドレス）を出力させ、記憶部制御部６により、プロセッサ部２から出力される固定アドレス（論理アドレス）に基づいて、複数の記憶領域（物理アドレス）を有して少なくともプロセッサ部２の起動プログラムを格納する起動プログラム記憶部１０から、起動プログラムを読み出してプロセッサ部２に出力させる。
【００２２】
プロセッサ部２は、固定アドレス（論理アドレス）信号を出力するためのアドレスバス（ＡＢ）３と、起動プログラム等の信号を受信するためのデータバス（ＤＢ）４と、制御信号あるいは応答信号等を送受信する制御信号線（ＣＬ）５により記憶部制御部６と接続され、プロセッサ部の起動信号を受信するためのプロセッサ部起動信号線１８により起動制御部１７と接続されている。
【００２３】
記憶部制御部６は、上記したアドレスバス（ＡＢ）３と、データバス（ＤＢ）４、および、制御信号線（ＣＬ）５によりプロセッサ部２と接続され、また、アドレスバス（ＡＢ）７と、データバス（ＤＢ）８、および、制御信号線（ＣＬ）９により起動プログラム記憶部１０と接続され、さらに、アドレスバス（ＡＢ）１２と、データバス（ＤＢ）１３、および、起動プログラムの存在あるいは格納場所を検出したことを示す検出信号を送信する検出信号線（ＤＴ）１４により起動プログラム検出部１１と接続されている。
【００２４】
起動プログラム記憶部１０は、アドレスバス（ＡＢ）７と、データバス（ＤＢ）８、および、制御信号線（ＣＬ）９により記憶部制御部６と接続されている。
【００２５】
起動プログラム検出部１１は、アドレスバス（ＡＢ）１２と、データバス（ＤＢ）１３、および、検出信号線（ＤＴ）１４により記憶部制御部６と接続され、また、起動プログラムの格納場所を検出した場合にプロセッサ部２の起動を許可させる起動許可信号を送信するための起動許可信号線１５と、使用者等による外部からの電源起動指示を受け付けた場合のプロセッサ部を起動させる起動開始信号を受信するための起動開始信号線１６により起動制御部１７と接続されている。
【００２６】
起動制御部１７は、起動許可信号線１５と、起動開始信号線１６により起動プログラム検出部１１と接続され、また、プロセッサ部起動信号線１８によりプロセッサ部２と接続されている。
【００２７】
プロセッサ部２内には、起動プログラム記憶部１０内の起動プログラムの格納場所を示す固定アドレス（論理アドレス）を格納する起動プログラムアドレス記憶部６１が設けられている。
【００２８】
記憶部制御部６内には、起動プログラム検出部１１で検出された起動プログラムの格納アドレス（物理アドレス）を格納するための変換先アドレス記憶部７１が設けられる。
【００２９】
起動プログラム検出部１１内には、起動プログラム記憶部１０内に設けられる複数の記憶領域のうち、故意あるいはトラブルにより、少なくとも起動プログラムが格納される可能性のある全ての領域のアドレスを格納する各領域アドレス記憶部８１が設けられる。
【００３０】
プロセッサ部２は、例えば、図示しない入力装置や通信装置等により使用者等による外部からの電源起動指示が受け付けられて、情報処理装置１の電源が投入された場合、最終的に起動制御部１７からプロセッサ部起動信号線１８を介してプロセッサ部の起動信号を受信し、制御信号線５により制御信号を記憶部制御部６との間で送受信しつつ、アドレスバス３により格納されている固定アドレスを記憶部制御部６に出力し、データバス４により記憶プログラム記憶部１０（メモリ）に格納された起動プログラムを受信して起動される。
【００３１】
記憶部制御部６は、プロセッサ部２から出力される固定アドレス（論理アドレス）を受信した場合、その固定アドレスに基づいて、起動プログラム検出部１１で検出された起動プログラムの格納アドレス（物理アドレス）に変換してから起動プログラム記憶部１０に出力して起動プログラムを読み出させる。そして、記憶部制御部６は、起動プログラム記憶部１０から読み出された起動プログラムをプロセッサ部２に出力する。
【００３２】
起動プログラム記憶部１０は、複数の記憶領域を有して、少なくともプロセッサ部２の起動プログラムを格納し、その複数の全憶領域中に、その記憶領域内に起動プログラムが存在するか否かを示す有無情報を格納させておく。また、起動プログラムが格納される記憶領域では、起動プログラムは、その記憶領域内の予め設定されたアドレス位置（固定領域）に格納される。
【００３３】
起動プログラム検出部１１は、起動プログラム記憶部１０の各記憶領域のアドレスを各領域アドレス記憶部８１に格納しておき、記憶部制御部６を介して起動プログラム記憶部１０の各記憶領域から順次有無情報を読み出すことにより起動プログラムの格納アドレスを検出する。
【００３４】
起動制御部１７は、例えば、図示しない入力装置や通信装置等により使用者等による外部からの電源起動指示を受け付けて、プロセッサ部２を起動（リセット）させる時に、そのプロセッサ部２を起動させる前に、起動開始信号線１６により起動プログラム検出部１１を動作させる信号を送出する。
【００３５】
また、起動プログラム検出部１１が、起動プログラムが格納されるアドレスを検出した場合、起動制御部１７は、起動許可信号線１５によりプロセッサ部２からの固定アドレスの出力を許可させる信号を受信し、プロセッサ部起動信号線１８によりプロセッサ部２を起動させるための信号を送出する。プロセッサ部２を起動させるための信号とは、例えば、プロセッサ部２のリセット状態を解除させる信号、あるいは、プロセッサ部２に対して、アドレスバス３およびデータバス４の使用権を許可する信号である。
【００３６】
図２は、図１の情報処理装置の起動プログラム記憶部１０における各領域に起動プログラムの有無情報が格納される状態の一例を模式的に示す図である。
【００３７】
図２では、起動プログラム記憶部１０は、ｎ（ｎ：ｎ≧２の正の整数）個の複数の領域に分割されており、図２の下側から順に第１領域１９、第２領域２０、第ｎ領域２９が示されている。この領域の分割方法は、制約が無く任意に分割してよい。
【００３８】
また、図２の第１領域１９の下端側には、予め設定されたアドレス位置（固定領域）に、この第１領域１９内に起動プログラムが存在するか否かを示す有無情報が格納されている。この場合の有無情報は、例えば、存在する場合にフラグを立てるのみ等の簡単な符号でよい。そして、第２領域２０の下端側の予め設定された固定領域に有無情報２２が格納され、同様にして第ｎ領域２９までの全領域の下端側の予め設定された固定領域に、その領域内に起動プログラムが存在するか否かを示す有無情報が格納される。
【００３９】
図３は、図１の情報処理装置１の電源が投入されてからプロセッサ部２が起動信号を受信するまでの動作を示すフローチャートである。
【００４０】
図１には示しない入力装置や通信装置等により使用者等による外部からの電源起動指示が受け付けられて、情報処理装置１の電源が投入される（Ｓ１）と、起動制御部１７は、起動開始信号線１６を介して、起動プログラム検出部１１に向けてその起動を許可するための起動開始信号を出力する（Ｓ２）。
【００４１】
起動プログラム検出部１１では、各領域アドレス記憶部８１に格納されたアドレスの中から、最初に、第１領域１９の有無情報２１が格納される固定領域のアドレスを選択して、アドレスバス１２を介してそのアドレスを送信して記憶部制御部６に読み出しを要求する（Ｓ３）。
【００４２】
記憶部制御部６は、アドレスバス７を介して受信したアドレスを起動プログラム記憶部１０に送信し、そのアドレスで指定される第ｍ領域内の固定領域に格納されるデータ（有無情報）の読み出しを起動プログラム記憶部１０に要求する（Ｓ４）。
【００４３】
起動プログラム記憶部１０は、受信したアドレスで指定される第ｍ領域内の固定領域に格納されるデータ（有無情報）を読み出し、データバス８により記憶部制御部６に送出する（Ｓ５）。
【００４４】
記憶部制御部６は、データバス８から受信したデータ（有無情報）を、データバス１３により起動プログラム検出部１１に送出する（Ｓ６）。
【００４５】
起動プログラム検出部１１は、データバス１３から受信したデータ（有無情報）に基づいて、ステップＳ３で送出したアドレスで指定される第ｍ領域内に起動プログラムが存在するか否かを判断し（Ｓ７）、起動プログラムが存在しない場合（Ｓ７：ＮＯ）には、有無情報を読み出す第ｍ領域を指定する変数ｍについて、ｍ＝ｍ＋１として、各領域アドレス記憶部８１に格納されたアドレスの中から次の領域を選択して切り替え（Ｓ８）、再び、ステップＳ３の処理に戻る。
【００４６】
起動プログラム検出部１１は、ステップＳ３で送出したアドレスで指定される第ｎ領域内に起動プログラムが存在する場合（Ｓ７：ＹＥＳ）には、検出信号線１４を介して記憶部制御部６に起動プログラムの存在（あるいは格納場所）を検出したことを示す検出信号を送信する（Ｓ９）。
【００４７】
記憶部制御部６は、ステップＳ４で起動プログラム記憶部１０に送信した第ｍ領域内の固定領域を指定するアドレスを変換先アドレス記憶部７１に記憶（格納）する（Ｓ１０）。
【００４８】
次に、起動プログラム検出部１１は、起動許可信号線１５を介してプロセッサ部２を起動させて、プロセッサ部２からの固定アドレスの出力を許可させるための信号（起動許可信号）を起動制御部１７に出力する（Ｓ１１）。
【００４９】
起動制御部１７は、起動許可信号線１５から起動許可信号を受信した場合、プロセッサ部起動信号線１８を介して、プロセッサ部２を起動させて、プロセッサ部２からの固定アドレスの出力を許可させる信号（プロセッサ部起動信号）をプロセッサ部２に出力する（Ｓ１２）。
【００５０】
プロセッサ部２は、プロセッサ部起動信号線１８からプロセッサ部起動信号を受信した場合（Ｓ１３）、以下に図４を用いて示す起動プログラムを読み出す処理を実施する。
【００５１】
図４は、図１の情報処理装置１のプロセッサ部２が起動信号を受信してから起動プログラムを読み出して制御を終了するまでの動作を示すフローチャートである。
【００５２】
プロセッサ部２は、プロセッサ部起動信号線１８からプロセッサ部起動信号を受信した場合（Ｓ２１）、アドレスバス３を介して起動プログラムアドレス記憶部６１内の起動プログラムが格納される固定アドレスを記憶部制御部６に出力する（Ｓ２２）。
【００５３】
記憶部制御部６は、アドレスバス３を介してプロセッサ部２から受信したアドレスを、ステップＳ１０で変換先アドレス記憶部７１に格納したアドレスに変換し（Ｓ２３）、その変換後の起動プログラムのアドレスを起動プログラム記憶部１０に出力する（Ｓ２４）。
【００５４】
起動プログラム記憶部１０は、アドレスバス７を介して記憶部制御部６から受信したアドレスにより、起動プログラムの読み出しを開始し、読み出された起動プログラムを順次データバス８を介して記憶部制御部６に出力する（Ｓ２５）。
【００５５】
記憶部制御部６は、データバス８から受信した起動プログラムを、データバス３を介してプロセッサ部２に出力する（Ｓ２６）。
【００５６】
プロセッサ部２は、データバス３から起動プログラムを受信し（Ｓ２７）、全ての起動プログラムを受信したら、起動プログラムの読み出し処理を終了させる（Ｓ２８）。その後、プロセッサ部２は、起動プログラムに基づいて情報処理装置１を起動させる。
【００５７】
このように、本実施形態は、起動プログラムが任意の記憶領域内の予め設定されたアドレス位置（固定領域）に格納されている場合であり、本実施形態の情報処理装置１では、起動プログラム記憶部１０の各記憶領域１９、２０、２９には、その記憶領域内に起動プログラムが存在するか否かを示す有無情報２１、２２を予め設定したアドレス位置に格納させておき、プロセッサ部２の起動時に、プロセッサ部２を起動させる前に、起動プログラム記憶部１０の各記憶領域１９、２０、２９から有無情報を読み出して起動プログラムの格納アドレスを検出してから、プロセッサ部２から固定アドレス（論理アドレス）を出力させ、その固定アドレスを検出された起動プログラムの格納アドレスに変換するので、起動プログラム記憶部１０内の起動プログラムが格納される領域（物理アドレス）が変更されている場合でも、起動プログラムの格納位置に関わらず情報処理装置１を起動させることができる。
【００５８】
また、本実施形態の情報処理装置１では、プロセッサ部２を起動させる時に、その前に起動プログラムの格納領域を検出する間、プロセッサ部２の起動を待たせて、検出してから起動させて起動プログラムを読み出すようにしたので、プロセッサ部２が起動プログラムではない誤ったプログラムあるいはデータを受信したことによる誤動作を無くして情報処理装置１を起動させることできる。
【００５９】
また、本実施形態の情報処理装置１では、起動プログラム記憶部１０の各記憶領域中の全記憶領域に、その記憶領域内に起動プログラムが存在するか否かを示す有無情報を格納させておくようにしたので、その有無情報を検出することによって、記憶領域内の起動プログラムの有無を検出する時間および回数を減少させることができる。
【００６０】
（第２の実施形態）
上記した第１の実施形態では、起動プログラムが任意の記憶領域内の予め設定されたアドレス位置（固定領域）に格納されている場合に、起動プログラム記憶部１０の各記憶領域中の全記憶領域に、その記憶領域内に起動プログラムが存在するか否かを示す有無情報を予めその領域内に設定されたアドレスの位置に格納させていたが、例えば、有無情報として各記憶領域の位置（アドレス情報）を用いるようにした場合、全記憶領域に有無情報を格納させる必要が無くなり、例えば、最も若い番号の記憶領域等の、少なくとも１個の記憶領域にアドレス情報を格納しておけばよいことになる。
【００６１】
そこで、以下に示す第２の実施形態では、有無情報としてアドレス情報を用いる場合について説明する。なお、本実施形態では、第１の実施形態と同様な機能及び構成については重複する説明を省略し、異なる部分について説明する。本実施形態では、第１実施形態の図１および図４に関する内容ついては、第１実施形態と同様であるので説明を省略する。
【００６２】
図５は、第２の実施形態の情報処理装置の起動プログラム記憶部１０における各領域に起動プログラムの有無情報が格納される状態の一例を模式的に示す図である。
【００６３】
図５の起動プログラム記憶部１０も、ｎ（ｎ：ｎ≧２の正の整数）個の複数の領域に分割され、図５の下側から順に第１領域３０、第２領域３１、第ｎ領域３９が示されており、領域分割方法は制約が無く任意である。
【００６４】
また、図５の第１領域３０の下端側には、予め設定されたアドレスの位置（固定領域）に、どの領域内に起動プログラムが存在するかを示すアドレス情報が有無情報３２として格納されている。この場合の有無情報は、存在を示すフラグ等の簡単な符号ではなく、起動プログラム記憶部１０内の複数の領域から、起動プログラムが格納されるアドレスを示すアドレス情報である。そのため、第２領域３１の下端側の予め設定された固定領域には、有無情報は格納されていない。同様にして第ｎ領域２９までの全領域の下端側の予め設定された固定領域にも有無情報は格納されていない。
【００６５】
図６は、本実施形態の情報処理装置１の電源が投入されてからプロセッサ部２が起動信号を受信するまでの動作を示すフローチャートである。
【００６６】
ステップＳ３１からＳ３６までは、起動プログラム検出部１１が有無情報の読み出しを要求する記憶領域が第１の記憶領域（第１領域）のみになる点を除けば実施形態１のステップＳ１からＳ６までと同様であるので説明を省略する。
【００６７】
起動プログラム検出部１１は、データバス１３から受信したデータ（有無情報＝アドレス情報）に基づいて、起動プログラムが存在する領域を検出する（Ｓ３７）。
【００６８】
起動プログラム検出部１１は、検出信号線１４を介して記憶部制御部６に起動プログラムの格納場所（アドレス情報）を検出したことを示す検出信号として送信する（Ｓ３９）。
【００６９】
記憶部制御部６は、受信した検出信号から起動プログラムの格納場所（アドレス情報）を得て、そのアドレスを変換先アドレス記憶部７１に記憶（格納）する（Ｓ４０）。
【００７０】
以下、ステップＳ４１からＳ４３までは、実施形態１のステップＳ１１からＳ１３までと同様であるので説明を省略する。また、図４の処理も、実施形態１と同様であるので説明を省略する。
【００７１】
このように、本実施形態の情報処理装置１では、有無情報として位置情報（アドレス情報）を用い、記憶領域内の起動プログラムの有無を検出する回数を例えば１回等に減少させることができるので、検出時間を第１の実施形態よりもさらに減少させることができる。
【００７２】
（第３の実施形態）
上記した第１の実施形態では、起動プログラムが任意の記憶領域内の予め設定されたアドレス位置（固定領域）に格納されている場合に、起動プログラム記憶部１０の各記憶領域中の全記憶領域に、その記憶領域内に起動プログラムが存在するか否かを示す有無情報を予めその領域内に設定されたアドレスの位置に格納させていたが、例えば、有無情報として、その記憶領域内に起動プログラムが存在するか否かを示す存在フラグに加えて、その記憶領域内のどのアドレスから始まる領域に起動プログラムが格納されるかを示す起動アドレスを格納させた場合には、起動プログラムをその記憶領域内の任意のアドレスの位置（任意領域）に格納することができるようになる。
【００７３】
そこで、以下に示す第３の実施形態では、有無情報として存在フラグに加えてその記憶領域内のアドレス情報を用いる場合について説明する。なお、本実施形態も、第１の実施形態と同様な機能及び構成については重複する説明を省略し、異なる部分について説明し、また、第１実施形態の図１および図４に関する内容ついても、第１実施形態と同様であるので説明を省略する。
【００７４】
図７は、第３の実施形態の情報処理装置の起動プログラム記憶部１０における各領域に起動プログラムの有無情報が格納される状態の一例を模式的に示す図である。
【００７５】
図７の起動プログラム記憶部１０も、ｎ（ｎ：ｎ≧２の正の整数）個の複数の領域に分割され、図７の下側から順に第１領域４０、第２領域４１、第ｎ領域４９が示されており、領域分割方法は制約が無く任意である。
【００７６】
また、図７の第１領域４０の下端側には、予め設定されたアドレスの位置（固定領域）に、どの領域内に起動プログラムが存在するかを示すアドレス情報が有無情報４２として格納されている。この場合の有無情報は、起動プログラムの存在を示す存在フラグ４３と、起動プログラム記憶部１０内のその記憶領域内において、起動プログラムが格納されるアドレスを示すアドレス情報である起動アドレス４４とを含んでいる。また、第２領域４１の下端側の予め設定された固定領域にも、同様な存在フラグ４３と起動アドレス４４とを含む有無情報が格納されており、同様にして第ｎ領域４９までの全領域の下端側の予め設定された固定領域にも存在フラグ４３と起動アドレス４４とを含む有無情報が格納されている。
【００７７】
また、本実施形態の動作については、実施形態１の図３のフローチャートにおけるステップＳ１０で、記憶部制御部６内の変換先アドレス記憶部７１に格納されるアドレスが、図７の起動アドレス４４になる点を除けば、実施形態１と同様であるので説明を省略する。
【００７８】
このように、本実施形態の情報処理装置１では、有無情報として存在フラグに加えて、その記憶領域内の起動プログラムが格納されるアドレス情報を用い、記憶領域内の起動プログラムが格納される領域を固定する必要が無くなり、任意に変更することができる。すなわち、起動プログラムをその記憶領域内の任意領域に制限無く格納することができるので、起動プログラム記憶部１０の設計上あるいは使用上の自由度を向上させることができる。
【００７９】
（第４の実施形態）
上記した第１および第３の実施形態では、起動プログラム検出部１１は起動プログラムが検出されるまでは、起動プログラム記憶部１０内の全ての記憶領域から有無情報を順に読み出して検出を実施したが、例えば、起動プログラム記憶部１０内に起動プログラムが格納されておらず、しかも記憶領域の数が多くい場合には、各記憶領域毎の検出回数が多くなって検出時間が長くなる上に、起動プログラムが検出できないのでいつまでも起動できないことになる。しかも、起動できない原因が起動プログラムを記憶部から検出できないことであることを特定できない。
【００８０】
ここで、起動プログラムは、通常、起動に用いられるため、記憶部内では比較的早く読み出しできる若いアドレスに格納され、各記憶領域毎の検出回数が多くなることはありえない。そこで、以下に示す第４の実施形態では、検出回数をカウントすることで起動プログラムを記憶部から検出できない場合を検出し、起動できない原因を特定できるようにした場合について説明する。なお、本実施形態でも、第１の実施形態と同様な機能及び構成については重複する説明を省略し、異なる部分について説明し、また、第１実施形態の図２および図４に関する内容ついても第１の実施形態と同様であるので説明を省略する。
【００８１】
図８は、本発明の第４の実施形態の情報処理装置の概略構成を示すブロック図である。
【００８２】
本実施形態の情報処理装置１が、実施形態１と異なる主な点は、起動プログラム検出部１１内に、各記憶領域毎の有無情報の検出回数をカウントする検出回数カウント部９１と、その検出回数の上限の回数を上限値として格納する上限値記憶部５０と、検出回数カウント部９１の検出回数を上限値記憶部５０の上限値と比較する回数比較部５１と、回数比較部５１で検出回数が上限値を超えた場合に、記憶部に異常が発生した（起動プログラムを記憶部から検出できないことが原因で起動できない）として警告を発生させる（報知する）記憶部異常報知部５２とを有している点である。
【００８３】
上限値記憶部５０は、回数比較部５１と接続され、予め検出回数の上限値が格納される、例えば、レジスタである。
【００８４】
回数比較部５１は、起動プログラム検出部の検出信号線１４と、上限値記憶部５０と、記憶部異常報知部５２と接続され、検出信号線１４からは検出結果、上限値記憶部５０からは上限値が入力され、各記憶領域の検出結果が起動プログラムを含んでいない場合の回数をカウントし、そのカウント値が上限値を超えた場合に記憶部異常報知部５２に警告を発生させるための信号を出力する。
【００８５】
記憶部異常報知部５２は、回数比較部５１と接続され、警告を発生させるための信号が入力された場合、例えば、不図示のＬＥＤを点灯させる、不図示の音響装置により警告音を出力させる、あるいは、不図示の表示装置に警告メッセージを表示させる等の方法により警告を発生させる。
【００８６】
起動プログラム検出部１１内には、各領域アドレス記憶部８１に加えて、検出回数カウント部９１が設けられる。検出回数カウント部９１は、各領域毎の有無情報が入力される毎に、入力した有無情報からその領域に起動プログラムが各濡されていないと判断された場合を１回としてカウントアップした結果を出力する。
【００８７】
図９は、本実施形態の情報処理装置１の電源が投入されてからプロセッサ部２が起動信号を受信するまでの動作を示すフローチャートである。
【００８８】
ステップＳ１からＳ７までは、実施形態１のステップＳ１からＳ６までと同様であるので説明を省略する。
【００８９】
ステップＳ７で起動プログラムが存在しない場合（Ｓ７：ＮＯ）には、起動プログラム検出部１１内の検出回数カウント部９１で、いくつ目の記憶領域について有無情報が検出できなかったかの回数（検出回数）がカウントされて回数比較部５１へ出力される（Ｓ５３）。
【００９０】
回数比較部５１では、起動プログラム検出場１１からの検出回数と、上限値記憶部５０に格納されていた上限値とを比較し（Ｓ５４）、検出回数が上限値を超えた場合（Ｓ５４：ＹＥＳ）には、記憶部異常報知部５２に警告を出力（報知出力）させる（Ｓ５５）ための信号を出力し、検出回数が上限値を超えない場合（Ｓ５４：ＮＯ）には信号を出力しない。
【００９１】
起動プログラム検出部１１は、検出回数が上限値を超えない場合（Ｓ５４：ＮＯ）には、有無情報を読み出す第ｍ領域を指定する変数ｍについて、ｍ＝ｍ＋１として、各領域アドレス記憶部８１に格納されたアドレスの中から次の領域を選択して切り替え（Ｓ８）、再び、ステップＳ３の処理に戻る。
【００９２】
以下、ステップＳ９からＳ１３までは、実施形態１のステップＳ９からＳ１３までと同様であるので説明を省略する。また、図４の処理も、実施形態１と同様であるので説明を省略する。
【００９３】
このように、本実施形態の情報処理装置１では、記憶プログラム記憶部１０内の各領域から起動プログラムを検出する回数をカウントして、所定回数異常の場合には起動プログラム記憶部１０の異常を報知するようにしたので、情報処理装置１を起動できない場合に、メモリの装着位置エラーあるいは起動プログラムを含まないメモリの装着という原因を容易に判明させることができる。
【００９４】
なお、上記した各実施形態では、情報処理装置のプロセッサ部が外部メモリにアクセスして起動プログラムを読み出して起動する場合について説明したが、本実施形態は、情報処理装置に限られるものではなく、プロセッサ部を有してそのプロセッサ部が外部メモリにアクセスして起動プログラムを読み出して起動するあらゆる装置に適用することができる。
【図面の簡単な説明】
【００９５】
【図１】本発明の第１の実施形態の情報処理装置の概略構成を示すブロック図である。
【図２】図１の情報処理装置の起動プログラム記憶部における各領域に起動プログラムの有無情報が格納される状態の一例を模式的に示す図である。
【図３】図１の情報処理装置の電源が投入されてからプロセッサ部が起動信号を受信するまでの動作を示すフローチャートである。
【図４】図１の情報処理装置のプロセッサ部が起動信号を受信してから起動プログラムを読み出して制御を終了するまでの動作を示すフローチャートである。
【図５】本発明の第２の実施形態の情報処理装置の起動プログラム記憶部における各領域に起動プログラムの有無情報が格納される状態の一例を模式的に示す図である。
【図６】本発明の第２の実施形態の情報処理装置の電源が投入されてからプロセッサ部が起動信号を受信するまでの動作を示すフローチャートである。
【図７】本発明の第３の実施形態の情報処理装置の起動プログラム記憶部における各領域に起動プログラムの有無情報が格納される状態の一例を模式的に示す図である。
【図８】本発明の第４の実施形態の情報処理装置の概略構成を示すブロック図である。
【図９】本発明の第４の実施形態の情報処理装置の電源が投入されてからプロセッサ部が起動信号を受信するまでの動作を示すフローチャートである。
【符号の説明】
【００９６】
１  情報処理装置
２  プロセッサ部
３、７、１２  アドレスバス（ＡＢ）
４、８、１３  データバス（ＤＢ）
５、９  制御信号線（ＣＬ）
６  記憶部制御部
１０  起動プログラム記憶部
１１  起動プログラム検出部
１４  検出信号線（ＤＴ）
１５  起動許可信号線
１６  起動開始信号線
１７  起動制御部
１８  プロセッサ部起動信号線
６１  起動プログラムアドレス記憶部
７１  変換先アドレス記憶部
８１  各領域アドレス記憶部
９１  検出回数カウント部
【図１】
2005196553.tif 000003
【図２】
2005196553.tif 000004
【図３】
2005196553.tif 000005
【図４】
2005196553.tif 000006
【図５】
2005196553.tif 000007
【図６】
2005196553.tif 000008
【図７】
2005196553.tif 000009
【図８】
2005196553.tif 000010
【図９】
2005196553.tif 000011