(57)【要約】【目的】本発明は、コンピュータシステムの起動管理プログラムの更新や追加を容易にするシステム、システムの起動方法及びそのプログラムを提供するものである。【構成】判定モジュールにより、周辺機器１０７から電子機器１０１に起動管理プログラムがロードされていないと判定された場合は、ＲＯＭ１０８に格納されている起動管理プログラムを電子機器１０１にロードする（Ｓ２０６）。電子機器１０１のＢＩＯＳにロードされたＢＩＯＳを追加および更新して再度コンピュータシステムの初期化処理を開始する（Ｓ２０２）。引き続きＢＩＯＳ  Ｏｐｔｉｏｎ  ＲＯＭを検出し（Ｓ２０７）、追加されたＢＩＯＳ  Ｏｐｔｉｏｎ  ＲＯＭの初期化が行われる（Ｓ２０８）。その後、コンピュータシステムの初期化を行い（Ｓ２０９）、ＯＳを起動する（Ｓ２１０）。【選択図】      図２
2004295397.tif 000002
【特許請求の範囲】
【請求項１】
内部の各部を初期化する初期化ステップを含む第１の起動管理プログラムを格納し、前記第１の起動管理プログラムを実行して初期化する起動管理手段を備えた電子機器と、
初期化して起動するための第２の起動管理プログラムが格納された不揮発性メモリを備え、前記電子機器に接続される周辺機器と、
を有するコンピュータシステムであって、
前記起動管理手段は、前記周辺機器の不揮発性メモリに格納されている前記第２の起動管理プログラムを検出するための検出手段と、
前記検出手段により検出された前記第２の起動管理プログラムを、前記第１の起動管理プログラムの前記初期化ステップとともに実行可能に前記電子機器のメモリにロードするロード手段と、
前記第２の起動管理プログラムが取り込まれた初期化ステップを実行して前記電子機器及び周辺機器の初期化を行なう実行手段と、
を有することを特徴とするコンピュータシステム。
【請求項２】
前記検出手段が検出した前記第２の起動管理プログラムが既に前記電子機器のメモリにロードされたか否かを判定する判定手段を有し、前記ロード手段は、前記検出手段が検出した前記第２の起動管理プログラムが未だに前記電子機器のメモリにロードされていないと判定手段が判定したときに、前記第２の起動管理プログラムを前記電子機器のメモリにロードすることを特徴とする請求項１記載のコンピュータシステム。
【請求項３】
前記電子機器のメモリはＲＡＭであって、前記第２の起動管理プログラムが前記ＲＡＭにロードされることを特徴とする請求項１または請求項２記載のコンピュータシステム。
【請求項４】
内部の各部を初期化する初期化ステップを含む第１の起動管理プログラムを格納し、前記第１の起動管理プログラムを実行して初期化する起動管理手段を備えた電子機器と、
初期化して起動するための第２の起動管理プログラムが格納された不揮発性メモリを備え、前記電子機器に接続される周辺機器と、
を有するコンピュータシステムの起動方法であって、
前記周辺機器の不揮発性メモリに格納されている前記第２の起動管理プログラムを検出するための検出段階と、
前記検出手段により検出された前記第２の起動管理プログラムを、前記第１の起動管理プログラムの前記初期化ステップとともに実行可能に前記電子機器のメモリにロードするロード段階と、
前記第２の起動管理プログラムが取り込まれた初期化ステップを実行して前記電子機器及び周辺機器の初期化を行なう実行段階と、
を含むことを特徴とするコンピュータシステムの起動方法。
【請求項５】
前記検出段階で検出された前記第２の起動管理プログラムが既に前記電子機器のメモリにロードされたか否かを判定する判定段階を含み、前記検出段階で検出された前記第２の起動管理プログラムが未だに前記電子機器のメモリにロードされていないと判定段階で判定されたときに、前記第２の起動管理プログラムを前記電子機器のメモリにロードするロード段階を含むことを特徴とする請求項３記載のコンピュータシステムの起動方法。
【請求項６】
内部の各部を初期化する初期化ステップを含む第１の起動管理プログラムを格納し、前記第１の起動管理プログラムを実行して初期化する起動管理手段を備えた電子機器に、
周辺機器の不揮発性メモリに格納されている第２の起動管理プログラムを検出するための検出機能と、
検出された前記第２の起動管理プログラムを、前記第１の起動管理プログラムの前記初期化ステップとともに実行可能にするように前記電子機器のメモリにロードするロード機能と、
前記第２の起動管理プログラムが取り込まれた初期化ステップを実行して前記電子機器及び周辺機器の初期化を行なう実行機能と、
を実現させるためのプログラム。
【請求項７】
前記検出機能により検出された前記第２の起動管理プログラムが既に前記電子機器のメモリにロードされたか否かを判定する判定機能を実現させ、前記検出機能により検出された前記第２の起動管理プログラムが未だに前記電子機器のメモリにロードされていないと判定機能により判定されたときに、前記第２の起動管理プログラムを前記電子機器のメモリにロードするロード機能を実現させることを特徴とする請求項５記載のプログラム。
【請求項８】
請求項５または請求項６記載のプログラムを記録したコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、新たな周辺機器を電子機器に接続したときに、起動管理プログラムを更新する手段を備えたコンピュータシステム、コンピュータシステムの起動方法及びそのプログラムに関する。
【０００２】
【従来技術】
コンピュータは、ＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）等の起動管理プログラムにより起動される。ＢＩＯＳはコンピュータを初期化し、入出力装置や補助記憶装置等の使用を可能とするものである。従来のコンピュータ等の電子機器の起動方法を図７に示す。ＢＩＯＳ等の起動管理プログラムは例えばフラッシュメモリ等の不揮発性メモリに書き込まれ、ＣＰＵが最初に制御を渡すコンピュータシステムのメモリ空間に置かれている。そして、コンピュータの電源が入れられた直後にＣＰＵから制御が渡され、そのメモリ空間に置かれたプログラムが実行されハードウェアの初期化処理が開始される。または、そのメモリ空間に置かれたプログラムの一部または全てをＲＡＭ領域にコピーをした後、ＣＰＵから制御が渡されてプログラムが実行されコンピュータシステムの初期化処理が開始される（Ｓ７０１〜７０２）。そして、コンピュータにＢＩＯＳ  Ｏｐｔｉｏｎ  ＲＯＭが装着されている場合は、ＢＩＯＳが初期化処理を行う過程でコンピュータシステムの特定のメモリ空間に置かれたＢＩＯＳ  Ｏｐｔｉｏｎ  ＲＯＭ内のプログラムを検知し、その特定アドレスに置かれたプログラムを呼び出す。通常はＢＩＯＳ  Ｏｐｔｉｏｎ  ＲＯＭの初期化プログラムを呼び出す（Ｓ７０３〜Ｓ７０４）。次に、ＢＩＯＳ等の起動管理プログラムは、コンピュータシステムの初期化処理を継続し（Ｓ７０５）、オペレーションシステムを起動する（Ｓ７０６）。従来技術では、ＢＩＯＳ等の起動管理プログラムは、コンピュータシステムが初期化処理を終えてコンピュータシステムの起動が完了するまでは更新されることはない。一方、予定されていない周辺機器を接続するときは、ＢＩＯＳ等の起動管理プログラムを更新又は追加する必要がある。従来、起動管理プログラムの更新又は追加は、フラッシュメモリ等の不揮発性メモリの内容を書き換え、物理的に新たな不揮発性メモリをハードウェアに取り付けることにより行っていた。
【０００３】
【特許文献１】
特開平５−７３２７８号公報（段落［０００７］、［００１７］、第２図）
【０００４】
前記の特許文献１に開示されている発明は、ＢＩＯＳ−ＲＯＭをカード化することにより、ＢＩＯＳカードの交換により他機種との互換を確保できるようにしたものである。そのために、パーソナルコンピュータ本体に外部からＢＩＯＳカードを抜き差しできるメモリカードスロットを設け、そのスロットにＢＩＯＳカードを実装することにより、ＢＩＯＳを本体メモリ空間上のＢＩＯＳ領域にマッピングする。そして、ＢＩＯＳカードを複数用意し、これを使用目的に合ったＢＩＯＳカードに交換して使用することにより他機種との互換性を確保したものである。
【０００５】
【発明が解決しようとする課題】
【０００６】
しかしながら、電子機器に予定されていない周辺機器を接続する場合は、従来技術においてはＢＩＯＳ等の起動管理プログラムの更新又は追加は簡単な操作では実現できなかった。ＢＩＯＳ等の起動管理プログラムは、不揮発性メモリに書き込まれてコンピュータ本体のシステムボード上に実装されているため、起動管理プログラムの更新又は追加は不揮発性メモリの内容を書き換えて、新たに取り付ける必要があった。従って、起動管理プログラムのバージョンアップのための作業は非常に困難なものであった。
【０００７】
また、前記特許文献１に開示されている発明においては、コンピュータ本体に、ＢＩＯＳカードを抜き差しするためのメモリースロットを設ける必要がある。さらに、使用目的に合わせるためにＢＩＯＳカードを予め複数用意する必要があり、使用目的に合わせてその都度、ＢＩＯＳカードを交換して使用する必要があった。
【０００８】
本発明は、上記の問題を解決するものであり、電子機器に接続する周辺機器にＢＩＯＳ等の起動管理プログラムを格納した不揮発性メモリを備え、コンピュータシステム起動時に周辺機器から起動管理プログラムを電子機器にロードして電子機器の起動管理プログラムを更新又は追加することにより、起動管理プログラムの更新又は追加を容易にするシステム、方法及びプログラムを提供するものである。
【０００９】
【課題を解決するための手段】
請求項１記載の発明は、内部の各部を初期化する初期化ステップを含む第１の起動管理プログラムを格納し、前記第１の起動管理プログラムを実行して初期化する起動管理手段を備えた電子機器と、初期化して起動するための第２の起動管理プログラムが格納された不揮発性メモリを備え、前記電子機器に接続される周辺機器と、を有するコンピュータシステムであって、前記起動管理手段は、前記周辺機器の不揮発性メモリに格納されている前記第２の起動管理プログラムを検出するための検出手段と、前記検出手段により検出された前記第２の起動管理プログラムを、前記第１の起動管理プログラムの前記初期化ステップとともに実行可能に前記電子機器のメモリにロードするロード手段と、前記第２の起動管理プログラムが取り込まれた初期化ステップを実行して前記電子機器及び周辺機器の初期化を行なう実行手段と、を有することを特徴とするものである。
【００１０】
請求項２記載の発明は、請求項１記載のコンピュータシステムにおいて、前検出手段が検出した前記第２の起動管理プログラムが既に前記電子機器のメモリにロードされたか否かを判定する判定手段を有し、前記ロード手段は、前記検出手段が検出した前記第２の起動管理プログラムが未だに前記電子機器のメモリにロードされていないと判定手段が判定したときに、前記第２の起動管理プログラムを前記電子機器のメモリにロードすることを特徴とするものである。
【００１１】
請求項３記載の発明は、請求項１または請求項２記載のコンピュータシステムにおいて、前記電子機器のメモリはＲＡＭであって、前記第２の起動管理プログラムが前記ＲＡＭにロードされることを特徴とするものである。
【００１２】
請求項４記載の発明は、内部の各部を初期化する初期化ステップを含む第１の起動管理プログラムを格納し、前記第１の起動管理プログラムを実行して初期化する起動管理手段を備えた電子機器と、初期化して起動するための第２の起動管理プログラムが格納された不揮発性メモリを備え、前記電子機器に接続される周辺機器と、を有するコンピュータシステムの起動方法であって、前記周辺機器の不揮発性メモリに格納されている前記第２の起動管理プログラムを検出するための検出段階と、前記検出手段により検出された前記第２の起動管理プログラムを、前記第１の起動管理プログラムの前記初期化ステップとともに実行可能にするように前記電子機器のメモリにロードするロード段階と、前記第２の起動管理プログラムが取り込まれた初期化ステップを実行して前記電子機器及び周辺機器の初期化を行なう実行段階と、を含むことを特徴とするものである。
【００１３】
請求項５記載の発明は、請求項４記載のコンピュータシステムの起動方法において、前記検出段階で検出された前記第２の起動管理プログラムが既に前記電子機器のメモリにロードされたか否かを判定する判定段階を含み、前記検出段階で検出された前記第２の起動管理プログラムが未だに前記電子機器のメモリにロードされていないと判定段階で判定されたときに、前記第２の起動管理プログラムを前記電子機器のメモリにロードするロード段階を含むことを特徴とするものである。
【００１４】
請求項６記載の発明は、内部の各部を初期化する初期化ステップを含む第１の起動管理プログラムを格納し、前記第１の起動管理プログラムを実行して初期化する起動管理手段を備えた電子機器に、周辺機器の不揮発性メモリに格納されている前記第２の起動管理プログラムを検出するための検出機能と、検出された前記第２の起動管理プログラムを、前記第１の起動管理プログラムの前記初期化ステップとともに実行するように前記電子機器のメモリにロードするロード機能と、
前記第２の起動管理プログラムが取り込まれた初期化ステップを実行して前記電子機器及び周辺機器の初期化を行なう実行機能と、を実現させるためのプログラムであることを特徴とするものである。
【００１５】
請求項７記載の発明は、請求項６記載のプログラムにおいて、前記検出機能により検出された前記第２の起動管理プログラムが既に前記電子機器のメモリにロードされたか否かを判定する判定機能を実現させ、前記検出機能により検出された前記第２の起動管理プログラムが未だに前記電子機器のメモリにロードされていないと判定機能により判定されたときに、前記第２の起動管理プログラムを前記電子機器のメモリにロードするロード機能を実現させることを特徴とするものである。
【００１６】
請求項８記載の発明は、請求項６または請求項７記載のプログラムを記録したコンピュータ読み取り可能な記憶媒体であることを特徴とするものである。
【００１７】
【発明の実施の形態】
図１から図６に、本発明の実施の形態を示す。図１は、本発明の実施の形態の電子機器と周辺機器を有するコンピュータシステムを示す概略図である。図２は、本発明の実施の形態において、起動管理プログラムを更新する流れを示すフローチャートである。図３は、コンピュータ起動前のコンピュータシステムのメモリ空間の一例である。図４は、コンピュータ起動後のコンピュータシステムのメモリ空間の一例である。図５は、周辺機器から起動管理プログラムをロードしたときのコンピュータシステムのメモリ空間の一例である。図６は、周辺機器に備えられた不揮発性メモリの内容を示す図である。
【００１８】
次に、本発明の実施の形態を説明する。図１は本発明の実施形態の電子機器と周辺機器を有するコンピュータシステムを示す概略図である。本実施形態においては、ＵＳＢによる周辺機器との接続について説明するが、接続の規格はＵＳＢに限らず、ＳＣＳＩやＩＥＥＥ１３９４等であってもよい。同図に示すように、電子機器１０１は、ＣＰＵ１０２、ＲＯＭ１０３、ＲＡＭ１０４、インターフェイス部としてＵＳＢコントローラ１０５、外部接続ポート１０６を備えており、ＵＳＢデバイス１０７はＲＯＭ１０８を備えている。ＵＳＢデバイス１０７は、電子機器１０１の周辺機器として動作するデバイスであって、接続ケーブル１０９によって電子機器１０１の外部接続ポート１０６に接続されている。電子機器１０１として、パーソナルコンピュータやＣＡＲＤ−ＰＣ等が使用される。ＵＳＢコントローラ１０５は、ＵＳＢの制御を行うためのチップであり、チップセット上に設けられている。本発明の実施形態に使用されるＣＰＵ１０２は、物理アドレスとしての限界値である、最大４ＧＢのメモリ空間にアクセスできる。また、周辺機器にはパーソナルコンピュータに使用されるハードディスク等のストレージやマウス等が使用される。さらに、電子機器１０１に接続されるものは周辺機器だけでなく、別のパーソナルコンピュータやＣＡＲＤ−ＰＣ等の電子機器を接続してもよく、また、外部接続ポート１０６からインターネット等のネットワークに接続してもよい。
【００１９】
ＲＯＭ１０３は、ＢＩＯＳ  ＲＯＭやＢＩＯＳ  Ｏｐｔｉｏｎ  ＲＯＭで構成されており、コンピュータシステム制御のためのＢＩＯＳ等の起動管理プログラムが格納されている。起動管理プログラムは、ＰＯＳＴルーチンやサブルーチン等から構成されている。また、起動管理プログラムは、少なくとも電子機器及び予定されていない周辺機器等を初期化して起動するプログラムである。この起動管理プログラムには、検出手段として機能する検出モジュールと、ロード手段として機能するロードモジュールと、判定手段として機能する判定モジュールと、更新手段として機能する更新モジュールと、実行手段として機能する実行モジュールとが組み込まれている。さらに、起動管理プログラムを別途フロッピー（登録商標）ディスクやコンパクトディスク等のコンピュータ読み取り可能な記録媒体に記録してもよい。ＲＡＭ１０４には、オペレーションシステム、アプリケーションプログラム及び処理データ等が格納されている。
【００２０】
また、ＲＯＭ１０８は、ＢＩＯＳ  ＲＯＭやＢＩＯＳ  Ｏｐｔｉｏｎ  ＲＯＭで構成されている。ＢＩＯＳ  ＲＯＭ等には電子機器１０１にロードされて電子機器１０１及び周辺機器１０７を起動するＢＩＯＳ等の第２の起動管理プログラムが格納されている。尚、ＲＯＭ１０３及びＲＯＭ１０８は不揮発性メモリであり、例えば書き換え可能なフラッシュメモリ等であってもよい。
【００２１】
検出手段としての検出モジュールは、ＵＳＢデバイス１０７に備えられたＲＯＭ１０８内にＢＩＯＳ等の第２の起動管理プログラムが格納されているか否かを検出するモジュールである。判定手段としての判定モジュールは、検出モジュールによってＲＯＭ１０８内に第２の起動管理プログラムが格納されていることが検出された場合に、ＲＯＭ１０８内の第２の起動管理プログラムが、既に電子機器１０１のメモリ空間上のＲＡＭ領域にロードされた起動管理プログラムの内容と同一であるか否かを判定するモジュールである。ロード手段としてのロードモジュールは、判定モジュールによって同一ではないと判定された場合に、ＲＯＭ１０８に格納されている第２の起動管理プログラムを電子機器１０１のメモリ空間上のＲＡＭ領域にロードするモジュールである。更新手段としての更新モジュールは、ＲＡＭ１０４にコピーされた第１の起動管理プログラムに、ＵＳＢデバイス１０７のＲＯＭ１０８からロードした第２の起動管理プログラムを上書きまたは追加し、更新するモジュールである。実行手段としての実行モジュールは、電子機器１０１のＲＡＭ領域にロードされた起動管理プログラムによってコンピュータシステムの初期化を行うモジュールである。
【００２２】
ＰＯＳＴルーチンは、コンピュータシステムの電源投入時に最初に実行されるプログラムであり、初期化ルーチン、ＲＯＭ／ＲＡＭコピールーチン及びブートルーチン等から構成されている。初期化ルーチンは、コンピュータシステムの電源投入時にメモリ及び周辺機器等のハードウェアの初期化やテストを行うプログラムであり、初期化ステップが含まれている。ＲＯＭ／ＲＡＭコピールーチンは、ＲＯＭに格納されているＢＩＯＳをＲＡＭにコピーするプログラムである。ブートルーチンは、ＯＳを起動するためのプログラムである。ＰＯＳＴルーチンはＯＳ起動前に実行され、ＯＳ起動後には実行されない。
【００２３】
ＲＯＭ１０８には、電子機器１０１にロードされるＢＩＯＳ等の第２の起動管理プログラムが格納されている。ＲＯＭ１０３及びＲＯＭ１０８は不揮発性メモリであり、例えば書き換え可能なフラッシュメモリ等であってもよい。
【００２４】
次に、本発明の実施形態の動作を説明する。図２は、本発明の実施形態において、コンピュータシステムを起動する方法の流れを示すフローチャートである。起動管理プログラムとしてのＢＩＯＳはフラッシュメモリ等のＲＯＭ１０３に書き込まれて、ＣＰＵ１０２が最初に制御を渡す電子機器１０１のメモリ空間（ＲＯＭ１０３及びＲＡＭ１０４においてＣＰＵ１０２が制御する領域）に置かれている。コンピュータシステムの電源が入ると、ＢＩＯＳはＣＰＵ１０２に読み出されプログラムが実行される。そしてＲＯＭ／ＲＡＭコピールーチンにより、そのメモリ空間に置かれたＢＩＯＳはＲＡＭ１０４にコピーされる（Ｓ２０１）。そして、コンピュータシステムのＲＡＭ領域上でＢＩＯＳを実行してコンピュータシステムの初期化処理を開始する（Ｓ２０２）。
【００２５】
次に、検出モジュールによって、ＵＳＢデバイス１０７に備えられたＲＯＭ１０８の内容を確認し（Ｓ２０３）、ＲＯＭ１０８内にＢＩＯＳ等の第２の起動管理プログラムが格納されているか検出する（Ｓ２０４）。
【００２６】
ＲＯＭ１０８内に第２の起動管理プログラムが格納されていることが検出された場合は、判定モジュールがＲＯＭ１０８のデータＩＤを確認することにより、ＲＯＭ１０８に格納されている第２の起動管理プログラムが、既に電子機器１０１のメモリ空間上のＲＡＭ領域にロードされた起動管理プログラムと同一か否かを判定する（Ｓ２０５）。
【００２７】
起動管理プログラムが同一と判定された場合は、ＵＳＢデバイス１０７のＲＯＭ１０８から第２の起動管理プログラムをロードしない。続いて、電子機器１０１にＢＩＯＳ  Ｏｐｔｉｏｎ  ＲＯＭが装着されているか否かを検知する（Ｓ２０７）。ＢＩＯＳ  Ｏｐｔｉｏｎ  ＲＯＭが装着されている場合、ＢＩＯＳ  Ｏｐｔｉｏｎ  ＲＯＭの初期化を行い（Ｓ２０８）、引き続きコンピュータシステムの初期化を行う（Ｓ２０９）。そして、前述したブートルーチンにより電子機器のオペレーションシステムを起動する（Ｓ２１０）。
【００２８】
前述のＳ２０５の段階で判定モジュールにより、ＲＯＭ１０８に格納されている第２の起動管理プログラムが、既に電子機器１０１のメモリ空間上のＲＡＭ領域にロードされた起動管理プログラムと同一ではないと判定された場合は、ＲＯＭ１０８に格納されている第２の起動管理プログラムを電子機器１０１のメモリ空間のＣ８０００ｈより上位のアドレスでプログラムの指定するアドレスにロードする（Ｓ２０６）。ここで、判定モジュールがＵＳＢデバイス１０７に設けられたＲＯＭ１０８内のデータＩＤを確認することにより、ＲＯＭ１０８に格納されている第２の起動管理プログラムがＢＩＯＳであるか又はＢＩＯＳ  Ｏｐｔｉｏｎ  ＲＯＭであるかによって、以後ロード手段が行う処理が異なってくる。
【００２９】
図２に示すＣａｓｅ１の場合は、ＲＡＭ領域にロードされたものがＢＩＯＳそのもののときである。コンピュータシステムのＲＡＭ領域に置かれたＢＩＯＳにロードされたＢＩＯＳを追加し、ＢＩＯＳがＲＡＭ領域にコピーされた時点に戻って、再度システムハードウェアの初期化処理を開始する（Ｓ２０２）。以上の処理を行うことにより、ＢＩＯＳが更新される。そして、前述した検出モジュールによってＲＯＭ１０８の内容を確認し（Ｓ２０３）、ＲＯＭ１０８内にＢＩＯＳ等の起動管理プログラムが格納されているか否かを検出する（Ｓ２０４）。この場合、ＲＯＭ１０８内には起動管理プログラムが格納されているので起動管理プログラムが検出されるが、前述した判定モジュールによって既に電子機器１０１のメモリ空間上のＲＯＭ領域にロードされた起動管理プログラムと同一と判定されるため（Ｓ２０５）、ＵＳＢデバイス１０７内のＲＯＭ１０８に格納されている起動管理プログラムが再度ロードされることはない。引き続いてＢＩＯＳ  Ｏｐｔｉｏｎ  ＲＯＭの検知が行われる（Ｓ２０７）。そして、電子機器１０１にＢＩＯＳ  Ｏｐｔｉｏｎ  ＲＯＭが装着されている場合、ＢＩＯＳ  Ｏｐｔｉｏｎ  ＲＯＭの初期化を行い（Ｓ２０８）、引き続きコンピュータシステムの初期化を行う（Ｓ２０９）。そして、前述したブートルーチンにより電子機器１０１のオペレーションシステムを起動する（Ｓ２１０）。
【００３０】
また、図２に示すＣａｓｅ２の場合は、ＲＡＭ領域にロードされたものがＢＩＯＳ  Ｏｐｔｉｏｎ  ＲＯＭのときである。尚、このＢＩＯＳ  Ｏｐｔｉｏｎ  ＲＯＭの内容をロードするときは、ロードする領域はＲＡＭとして設定される。この場合はそのまま処理を継続して、ＢＩＯＳ  Ｏｐｔｉｏｎ  ＲＯＭの検出が行なわれる（Ｓ２０７）。そして、ＢＩＯＳ  Ｏｐｔｉｏｎ  ＲＯＭの内容が電子機器１０１のメモリ空間のＲＡＭ領域にロードされているため（Ｓ２０６）、ロードされたＢＩＯＳ  Ｏｐｔｉｏｎ  ＲＯＭが検出される（Ｓ２０７）。そして、追加されたＢＩＯＳ  Ｏｐｔｉｏｎ  ＲＯＭの初期化が行われ（Ｓ２０８）、引き続きコンピュータシステムの初期化が行なわれる（Ｓ２０９）。そして、電子機器１０１のオペレーションシステムを起動する（Ｓ２１０）。
【００３１】
次に、本発明の実施形態におけるコンピュータシステムのメモリ空間内の起動管理プログラムの動きについて説明する。図３乃至図５は、メモリ空間内の起動管理プログラムの動きの一例である。
【００３２】
図３は、コンピュータシステム起動前のメモリ空間の一例である。本発明の実施形態に使用されるＣＰＵは、物理アドレスとしての限界値である最大４ＧＢのメモリ空間にアクセスできる。同図に示すように、ＢＩＯＳはＣＰＵが最初に制御を渡すメモリ空間に置かれている。コンピュータシステムの電源を入れた直後においては、ＣＰＵによりＢＩＯＳが読み出され、初期化ルーチンにより４ＧＢ直下のアドレスからＢＩＯＳは動作を始め、順次必要な初期化処理を進める。
【００３３】
図４は、コンピュータシステム起動後のメモリ空間内のＢＩＯＳの動きを示す図である。メモリ空間の制限は、物理アドレスとして４ＧＢが限界となっており、本発明の実施形態に使用されるＣＰＵ１０２は最大４ＧＢのメモリ空間にアクセスできる。前述した初期化ルーチンによりＲＡＭが使用できるように初期化を行った後に、前述したＲＯＭ／ＲＡＭルーチンによりＢＩＯＳをメモリ空間の１ＭＢ直下のＢＩＯＳ用ＲＡＭ領域にコピーして、そこでＢＩＯＳの動作を継続させる（図４の▲１▼）。初期化作業の過程で、Ｃ８０００ｈから上位のメモリ空間に向かって４ＫＢごとに、ＢＩＯＳ  Ｏｐｔｉｏｎ  ＲＯＭの検索を行う（図４の▲２▼）。４ＫＢごとにＢＩＯＳ  Ｏｐｔｉｏｎ  ＲＯＭ  ＩＤやＲＯＭ初期化ルーチンへのポインタなど特定フォーマットに基づいた記述があれば、それらを用いて  ＢＩＯＳ  Ｏｐｔｉｏｎ  ＲＯＭを使えるようにする。そして、図５に示すように、ＵＳＢデバイス１０７内のＲＯＭ１０８に格納されているＢＩＯＳ等の第２の起動管理プログラムを前述したＣ８０００ｈから上位メモリ空間の指定された領域にロードする。ここで、Ｃ８０００ｈからＥＦＦＦＦｈの間にＢＩＯＳＯｐｔｉｏｎ  ＲＯＭの内容をロードするときは、ロードする領域はＲＡＭとして設定される。Ｃ８０００ｈから上位のメモリ空間には電子機器や周辺機器の初期化ルーチンのポインタが記述されているため、前述したように初期化作業の過程ではこのメモリ空間の検索が行なわれる。
【００３４】
図６に、ＵＳＢデバイス１０７に備えられたＲＯＭのフォーマットを示す。前述した検出モジュールは、ＵＳＢデバイス１０７に備えられているＲＯＭ１０８内を参照し、起動管理プログラムが存在するか確認する。ＵＳＢデバイス１０７のＲＯＭ  ＩＤを検索してＲＯＭ  ＩＤが見つかると、判定モジュールが起動管理プログラムのサイズとチェックサムから妥当性を確認し、ロードモジュールがロード先アドレスからサイズ分の第２の起動管理プログラムを電子機器１０１のメモリ空間のＲＯＭ領域にロードする。ここで、判定モジュールがデータＩＤを確認することにより、ＲＯＭ１０８内にＢＩＯＳそのものが存在する場合は、ロードモジュールはＢＩＯＳそのものをロードする。一方、ＢＩＯＳ  Ｏｐｔｉｏｎ  ＲＯＭが存在する場合は、ロードモジュールはＢＩＯＳ  Ｏｐｔｉｏｎ  ＲＯＭをロードする。
【００３５】
このような内容であれば、起動管理プログラムが格納された不揮発性メモリを新たに取り付ける必要もないので、ＢＩＯＳ等の起動管理プログラムの更新又は追加を容易に行なうことができる。
【００３６】
また、前述した判定手段にはレジスタが使用される。電子機器１０１にレジスタを設け、ＢＩＯＳ等の起動管理プログラムが更新された際に設定を変える。起動管理プログラムがコンピュータシステムの初期化処理を開始した時に、判定モジュールがこのレジスタを認識することで既に起動管理プログラムが上書き更新されたか否かを判定する。この判定結果により、起動管理プログラム自体が上書き更新されている場合は、再度起動管理プログラムがロードされることはない。また、電子機器１０１上のＲＡＭ等のメモリに起動管理プログラムを更新した場合に記録を残しておいてもよい。そして、起動管理プログラムが起動した時に、判定モジュールがメモリ内を参照することにより起動管理プログラムが更新されたか否かを判定する。この判定結果により、起動管理プログラムが上書き更新されている場合は、再度起動管理プログラムがロードされることはない。
【００３７】
【発明の効果】
請求項１または請求項３記載のコンピュータシステム、請求項４記載のコンピュータシステムの起動方法及び請求項６記載のプログラムによると、周辺機器に起動管理プログラムが格納された不揮発性メモリを設けることにより、予定されていない周辺機器を電子機器に接続した場合に、電子機器に設けられている不揮発性メモリの内容を自動的に書き換えることが可能となる。その結果、起動管理プログラムの更新又は追加を容易に行なうことができる。
【００３８】
また、請求項２または請求項３記載のコンピュータシステム、請求項５記載のコンピュータシステムの起動方法及び請求項７記載のプログラムによると、前述の効果に加えて、周辺機器から起動管理プログラムがロードされたか否かを判定することができるため、起動管理プログラムのロードを繰り返すこともなくなる。
【図面の簡単な説明】
【図１】本発明の実施の形態の電子機器と周辺機器を有するコンピュータシステムを示す概略図である。
【図２】本発明の実施の形態において、起動管理プログラムを更新する流れを示すフローチャートである。
【図３】コンピュータ起動前のコンピュータシステムのメモリ空間の一例である。
【図４】コンピュータ起動後のコンピュータシステムのメモリ空間の一例である。
【図５】周辺機器から起動管理プログラムをロードしたときのコンピュータシステムのメモリ空間の一例である。
【図６】周辺機器に設けられた不揮発性メモリの内容を示す図である。
【図７】従来のコンピュータシステム起動の流れを示すフローチャートの一例である。
【符号の説明】
１０１  電子機器
１０２  ＣＰＵ
１０３、１０８  ＲＯＭ
１０４  ＲＡＭ
１０５  ＵＳＢコントローラ
１０６  外部接続ポート
１０７  ＵＳＢ（周辺機器）
１０９  接続ケーブル
【図１】
2004295397.tif 000003
【図２】
2004295397.tif 000004
【図３】
2004295397.tif 000005
【図４】
2004295397.tif 000006
【図５】
2004295397.tif 000007
【図６】
2004295397.tif 000008
【図７】
2004295397.tif 000009