(57)【要約】【課題】本発明は、ＢＩＯＳが搭載されたコンピュータに関し、搭載された複数のデバイスＢＩＯＳをより多くシステムＲＡＭ領域内にコピーさせる順位を自動的に決定してＢＩＯＳローディングさせる。【解決手段】電源投入時に拡張ＢＩＯＳ9-1〜9-nそれぞれのＢＩＯＳ個別ローディングをシステムＲＡＭ領域51内で唯一実行することを順次繰り返させる個別ローディング繰返部41と、各拡張ＢＩＯＳのオリジナルサイズと縮小化後サイズとを格納するＣＭＯＳ43と、個別ローディング繰返部41によるＢＩＯＳ個別ローディングの実行ごとに、そのオリジナルサイズと縮小化後サイズとを取得してＣＭＯＳ43に格納するサイズ取得部42と、ＣＭＯＳ43からのオリジナルサイズ情報と縮小化後サイズ情報とに基づいてローディング優先順位を決定する優先順位決定部44と、そのローディング優先順位に従ってＢＩＯＳ個別ローディングそれぞれを順次に実行させるローディング順次実行部45を有する。【選択図】図１
2007148773.tif 000002
【特許請求の範囲】
【請求項１】
ＲＯＭに格納された拡張ＢＩＯＳを電源投入時に所定のＲＡＭ領域にコピーし、コピーされた前記拡張ＢＩＯＳにより該拡張ＢＩＯＳ制御下のデバイスを初期化した後、該初期化後の所定のＢＩＯＳサイズ縮小化が行われた該拡張ＢＩＯＳを前記所定ＲＡＭ領域に常駐させるＢＩＯＳ個別ローディングを、複数の拡張ＢＩＯＳそれぞれに行うＢＩＯＳ搭載コンピュータにおいて、
電源投入時に前記拡張ＢＩＯＳそれぞれの前記ＢＩＯＳ個別ローディングを前記所定ＲＡＭ領域内で唯一実行することを順次繰り返させて、前記拡張ＢＩＯＳごとの前記初期化前のＢＩＯＳオリジナルサイズと前記ＢＩＯＳサイズ縮小化後のＢＩＯＳ縮小化後サイズとを取得し、該取得したそれぞれの両サイズ値に基づいて決定する前記ＢＩＯＳ個別ローディングそれぞれのローディング優先順位に従って、前記ＢＩＯＳ個別ローディングそれぞれを順次に実行させるＢＩＯＳローディング制御手段を
備えることを特徴とするＢＩＯＳ搭載コンピュータ。
【請求項２】
請求項１記載のＢＩＯＳ搭載コンピュータにおいて、
前記ＢＩＯＳローディング制御手段は、
電源投入時に前記拡張ＢＩＯＳそれぞれの前記ＢＩＯＳ個別ローディングを前記所定ＲＡＭ領域内で唯一実行することを順次繰り返させる個別ローディング繰返手段と、
前記拡張ＢＩＯＳそれぞれの前記ＢＩＯＳオリジナルサイズと前記ＢＩＯＳ縮小化後サイズとを格納するＢＩＯＳデータ格納手段と、
前記個別ローディング繰返手段による前記ＢＩＯＳ個別ローディングの実行ごとに、該実行中の拡張ＢＩＯＳの前記ＢＩＯＳオリジナルサイズと前記ＢＩＯＳ縮小化後サイズとを取得して前記ＢＩＯＳデータ格納手段に格納するサイズ取得手段と、
前記ＢＩＯＳデータ格納手段からの前記ＢＩＯＳオリジナルサイズ情報と前記ＢＩＯＳ縮小化後サイズ情報とに基づいて前記ローディング優先順位を決定する優先順位決定手段と、
該優先順位決定手段により決定された前記ローディング優先順位に従って、前記ＢＩＯＳ個別ローディングそれぞれを順次に実行させるローディング順次実行手段と、
を有することを特徴とするＢＩＯＳ搭載コンピュータ。
【請求項３】
請求項１又は請求項２記載のＢＩＯＳ搭載コンピュータにおいて、
前記ローディング優先順位は、前記ＢＩＯＳ縮小化後サイズが小さいものほど高く設定し、前記ＢＩＯＳ縮小化後サイズが同等の場合には前記ＢＩＯＳオリジナルサイズがより大きいものほど高く設定する
ことを特徴とするＢＩＯＳ搭載コンピュータ。
【請求項４】
請求項２記載のＢＩＯＳ搭載コンピュータにおいて、
前記ＢＩＯＳデータ格納手段は、
フラッシュメモリまたはバッテリバックアップされたＣＭＯＳメモリである
ことを特徴とするＢＩＯＳ搭載コンピュータ。
【請求項５】
ＲＯＭに格納された拡張ＢＩＯＳを電源投入時に所定のＲＡＭ領域にコピーし、コピーされた前記拡張ＢＩＯＳにより該拡張ＢＩＯＳ制御下のデバイスを初期化した後、該初期化後の所定のＢＩＯＳサイズ縮小化が行われた該拡張ＢＩＯＳを前記所定ＲＡＭ領域に常駐させるＢＩＯＳ個別ローディングを、複数の拡張ＢＩＯＳそれぞれに行うＢＩＯＳ搭載コンピュータのＢＩＯＳローディングプログラムであって、
電源投入時に前記拡張ＢＩＯＳそれぞれの前記ＢＩＯＳ個別ローディングを前記所定ＲＡＭ領域内で唯一実行することを順次繰り返させる個別ローディング繰返ステップと、
前記個別ローディング繰返ステップによる前記ＢＩＯＳ個別ローディングの実行ごとに、該実行中の拡張ＢＩＯＳの前記初期化前のＢＩＯＳオリジナルサイズと前記ＢＩＯＳサイズ縮小化後のＢＩＯＳ縮小化後サイズとを取得してＢＩＯＳデータ格納手段に格納するサイズ取得ステップと、
前記ＢＩＯＳデータ格納手段に格納されたＢＩＯＳオリジナルサイズ情報とＢＩＯＳ縮小化後サイズ情報とに基づいてローディング優先順位を決定する優先順位決定ステップと、
該優先順位決定ステップにより決定された前記ローディング優先順位に従って、前記ＢＩＯＳ個別ローディングそれぞれを順次に実行させるローディング順次実行ステップと、
を有することを特徴とするＢＩＯＳローディングプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＢＩＯＳが搭載されたコンピュータに関し、特にＢＩＯＳ−ＲＯＭ内のＢＩＯＳをコンピュータのシステムＲＡＭ領域にコピーする技術に関する。
【背景技術】
【０００２】
一般にパーソナルコンピュータやサーバコンピュータなどのコンピュータには、ハードディスクやキーボードなどの各種デバイスの基本的な入出力を行うプログラムであるＢＩＯＳ（Basic Input/Output System）を格納したＲＯＭ（以下、ＢＩＯＳ−ＲＯＭと称す）が搭載されている。
【０００３】
ＢＩＯＳには通常、システムＢＩＯＳとデバイスＢＩＯＳとがあり、一般にシステムＢＩＯＳはコンピュータのマザーボード（基本基板）上に実装されたＢＩＯＳ−ＲＯＭに格納されており、一方、デバイスＢＩＯＳはコンピュータのＰＣＩスロット等の拡張スロットに挿入される拡張カード上に実装されたＢＩＯＳ−ＲＯＭに格納されている。一部のデバイスＢＩＯＳにおいてはその様な形態ではなく、マザーボード上のＢＩＯＳ−ＲＯＭに格納されているものもある。なお、デバイスＢＩＯＳが搭載された拡張カードとしては、例えばＳＣＳＩ（Small Computer System Interface）カードやＬＡＮ（Local Area Net-work）カード、ＲＡＩＤ（Redundant Arrays of Independent Disks）カードなどがある。
【０００４】
各ＢＩＯＳ−ＲＯＭに格納されたＢＩＯＳは、コンピュータの電源投入などによるコンピュータ起動時に、その１つがコンピュータ内の所定のＲＡＭ領域（以下、システムＲＡＭ領域と称す）にコピーされ、コピーされたＢＩＯＳによりそのＢＩＯＳ制御下のデバイスに対して所定の初期化を行い、その初期化の完了にて不要となった一部プログラムを切り捨てて再配置し直すことでＢＩＯＳのプログラムサイズを縮小化させ、その縮小化されたＢＩＯＳで常駐させるとする一連の動作（以下、ＢＩＯＳ個別ローディングと称す）を各ＢＩＯＳそれぞれに対して順次に繰り返えすことにより、システムＲＡＭ領域への全ＢＩＯＳのＢＩＯＳローディングが行われる。
【０００５】
その際のＢＩＯＳプログラムサイズの縮小化はPlug-and-Playの規格に則って行われることが知られており、システムＲＡＭ領域に常駐されるサイズ縮小化後のＢＩＯＳサイズ（以下、ＢＩＯＳ縮小化後サイズと称す）は、コピー時点のＢＩＯＳサイズ（以下、ＢＩＯＳオリジナルサイズと称す）に比べて所定のサイズだけ小さくなっているが、そのＢＩＯＳ縮小化後サイズをコンピュータユーザが容易に知ることはできない。
【０００６】
また、デバイスＢＩＯＳ（以下、拡張ＢＩＯＳと称す）がコピーされるシステムＲＡＭ領域は、ＰＣ／ＡＴ互換機では例えばアドレス"D0000h"〜"EFFFFh"（16進表示）領域の１２８Ｋバイトが一般的であり、小容量である。このことから、ＢＩＯＳ−ＲＯＭそれぞれのためのＢＩＯＳ個別ローディングが、拡張カードを挿入する拡張スロット番号、あるいは拡張カードに一意的に設定されたデバイス番号などによる固定的な番号順によって行われる場合においては、各ＢＩＯＳ−ＲＯＭからコピーされる拡張ＢＩＯＳのプログラム蓄積総量がシステムＲＡＭ領域の総容量を超える場合、その時点以降の拡張ＢＩＯＳはシステムＲＡＭ領域にコピーできなくなることから、コンピュータユーザが所望する拡張カード利用可能形態とは異なったシステム構成になる場合がある。
【０００７】
その場合の一例を、図を用いて説明する。図４は拡張スロット番号の昇順によるシステムＲＡＭ領域へのＢＩＯＳローディングを示す図、また図５は拡張スロット番号の降順によるシステムＲＡＭ領域へのＢＩＯＳローディングを示す図である。なお、ここでは、拡張スロット番号＃１番と＃３番との２スロットだけに拡張カードが挿入され、＃１番に挿入された拡張カード上には拡張ＢＩＯＳ＃１（８０ＫＢ）、また＃３番に挿入された拡張カード上には拡張ＢＩＯＳ＃３（７０ＫＢ）が実装されているものとする。
【０００８】
図４において、先ず、拡張スロット番号の小さい方の拡張ＢＩＯＳ＃１（８０ＫＢ）がシステムＲＡＭ領域にコピーされ（図４の(a)）、コピーされた拡張ＢＩＯＳ＃１による初期化後にサイズ縮小化されて６０ＫＢのサイズとなった拡張ＢＩＯＳ＃１が常駐化される（図４の(b)）。次に、空き領域が６８ＫＢとなったシステムＲＡＭ領域内に拡張ＢＩＯＳ＃３（７０ＫＢ）をコピーしようとするが、２ＫＢのシステムＲＡＭ領域不足により拡張ＢＩＯＳ＃３がコピーできない（図４の(c)）。その結果、システムＲＡＭ領域内には拡張ＢＩＯＳ＃１の１つだけしかＢＩＯＳローディングできない（図４の(d)）。
【０００９】
一方、図５においては、先ず、拡張スロット番号の大きい方の拡張ＢＩＯＳ＃３（７０ＫＢ）がシステムＲＡＭ領域にコピーされ（図５の(a)）、コピーされた拡張ＢＩＯＳ＃３による初期化後にサイズ縮小化されて４０ＫＢのサイズとなった拡張ＢＩＯＳ＃３が常駐化される（図５の(b)）。次に、空き領域が８８ＫＢとなったシステムＲＡＭ領域に拡張ＢＩＯＳ＃１（８０ＫＢ）がコピーされ（図５の(c)）、コピーされた拡張ＢＩＯＳ＃１による初期化後にサイズ縮小化されて６０ＫＢのサイズとなった拡張ＢＩＯＳ＃１が常駐化される（図５の(d)）。その結果、システムＲＡＭ領域内には拡張ＢＩＯＳ＃３と拡張ＢＩＯＳ＃１が２つ共に正常にＢＩＯＳローディングできたこととなる。
【００１０】
このように、実装された全ての拡張ＢＩＯＳ−ＲＯＭそれぞれを単なる固定的な番号順によってＢＩＯＳローディングを行うことでは、それらの各ＢＩＯＳサイズによっては所望の拡張ＢＩＯＳがＢＩＯＳローディングできない場合、あるいは多数の拡張ＢＩＯＳをＢＩＯＳローディングできない場合など（前者図４の例）が生じることとなる。
【００１１】
そこで従来では、排他的に搭載される仕様の異なる複数種のデバイス（例えば複数種のＬＡＮカード）それぞれに対応する複数のＢＩＯＳモジュールがマザーボード上のＢＩＯＳ−ＲＯＭに予め格納されている場合、コンピュータに実際に搭載されているデバイスの種類を検出し、検出されたデバイスの種類に対応するＢＩＯＳモジュールだけをシステムＲＡＭ領域にコピーすることによって、未搭載のデバイスのための不要なＢＩＯＳモジュールがシステムＲＡＭ領域へコピーされることを回避していた（例えば、特許文献１参照）。この技術によると、小容量のシステムＲＡＭ領域の有効利用に繋がり、より多くの種類のＢＩＯＳモジュールをシステムＲＡＭ領域にコピーすることが可能になる。
【００１２】
また、使用環境等による任意のシステムがコンピュータに構築可能なように、種々のＢＩＯＳやドライバプログラム、アプリケーションプログラムなどがＲＯＭに予め格納されている場合、使用環境に合わせて予め設定して格納させたシステム設定ファイル内の選別ロード情報による優先順位に従って、ＲＯＭ内のＢＩＯＳや各種プログラムをシステムＲＡＭ領域に記憶させることによって、使用環境等からは本来不要とされるプログラムがシステムＲＡＭ領域に常駐されることを回避させていた（例えば、特許文献２参照）。この技術においても、小容量のシステムＲＡＭ領域の有効利用に繋がり、所望の使用環境に対応させた、より多くの種類の各種プログラムをシステムＲＡＭ領域にコピーすることが可能になる。
【特許文献１】特開２００１−１７５４７７号公報
【特許文献２】特開平２−３１０６５３号公報
【発明の開示】
【発明が解決しようとする課題】
【００１３】
しかしながら、従来の前者の技術は、コンピュータへの搭載が検出されたデバイスの種類に対応するＢＩＯＳモジュールだけをシステムＲＡＭ領域にコピーするものであるが、そのコピー順序が各ＢＩＯＳの容量に基づいて順位付けされていないことから、順次にコピーされる際のＢＩＯＳのプログラム蓄積総量がシステムＲＡＭ領域の総容量を超えた場合には、その時点以降のＢＩＯＳモジュールがシステムＲＡＭ領域にコピーできないという問題がある。
【００１４】
また、従来の後者の技術は、予め設定して格納させた選別ロード情報による優先順位に従ってＲＯＭ内のＢＩＯＳや各種プログラムをシステムＲＡＭ領域に記憶させるものであるが、使用環境等に合わせてシステム変更する場合にはその都度、人手を介入させて選別ロード情報を使用環境やＢＩＯＳのプログラムサイズを意識して設定し直さなければならないことから、システム変更時に設定変更操作の煩わしさを伴うという問題がある。しかも、一般に初期化後のＢＩＯＳ縮小化後サイズについては公開されていないため、ＢＩＯＳ縮小化後サイズを意識して設定することは非常に困難という問題がある。
【００１５】
そこで本発明は、搭載された複数のデバイスのデバイスＢＩＯＳをより多くシステムＲＡＭ領域内にコピーさせる順位を自動的に決定してＢＩＯＳローディングするＢＩＯＳ搭載コンピュータおよびＢＩＯＳローディングプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１６】
第１の発明のＢＩＯＳ搭載コンピュータは、ＲＯＭ（フラッシュＲＯＭを含む）に格納された拡張ＢＩＯＳを電源投入時に所定のＲＡＭ領域にコピーし、コピーされた前記拡張ＢＩＯＳにより該拡張ＢＩＯＳ制御下のデバイスを初期化した後、該初期化後の所定のＢＩＯＳサイズ縮小化が行われた該拡張ＢＩＯＳを前記所定ＲＡＭ領域に常駐させるＢＩＯＳ個別ローディングを、複数の拡張ＢＩＯＳそれぞれに行うＢＩＯＳ搭載コンピュータにおいて、電源投入時に前記拡張ＢＩＯＳそれぞれの前記ＢＩＯＳ個別ローディングを前記所定ＲＡＭ領域内で唯一実行することを順次繰り返させて、前記拡張ＢＩＯＳごとの前記初期化前のＢＩＯＳオリジナルサイズと前記ＢＩＯＳサイズ縮小化後のＢＩＯＳ縮小化後サイズとを取得し、該取得したそれぞれの両サイズ値に基づいて決定する前記ＢＩＯＳ個別ローディングそれぞれのローディング優先順位に従って、前記ＢＩＯＳ個別ローディングそれぞれを順次に実行させるＢＩＯＳローディング制御手段を備える構成とする。
【００１７】
第２の発明のＢＩＯＳ搭載コンピュータは、前記第１の発明のＢＩＯＳ搭載コンピュータにおいて、前記ＢＩＯＳローディング制御手段は、電源投入時に前記拡張ＢＩＯＳそれぞれの前記ＢＩＯＳ個別ローディングを前記所定ＲＡＭ領域内で唯一実行することを順次繰り返させる個別ローディング繰返手段と、前記拡張ＢＩＯＳそれぞれの前記ＢＩＯＳオリジナルサイズと前記ＢＩＯＳ縮小化後サイズとを格納するＢＩＯＳデータ格納手段と、前記個別ローディング繰返手段による前記ＢＩＯＳ個別ローディングの実行ごとに、該実行中の拡張ＢＩＯＳの前記ＢＩＯＳオリジナルサイズと前記ＢＩＯＳ縮小化後サイズとを取得して前記ＢＩＯＳデータ格納手段に格納するサイズ取得手段と、前記ＢＩＯＳデータ格納手段からの前記ＢＩＯＳオリジナルサイズ情報と前記ＢＩＯＳ縮小化後サイズ情報とに基づいて前記ローディング優先順位を決定する優先順位決定手段と、該優先順位決定手段により決定された前記ローディング優先順位に従って、前記ＢＩＯＳ個別ローディングそれぞれを順次に実行させるローディング順次実行手段とを備える構成とする。
【００１８】
第３の発明のＢＩＯＳ搭載コンピュータは、前記第１または第２の発明のＢＩＯＳ搭載コンピュータにおいて、前記ローディング優先順位は、前記ＢＩＯＳ縮小化後サイズが小さいものほど高く設定し、前記ＢＩＯＳ縮小化後サイズが同等の場合には前記ＢＩＯＳオリジナルサイズがより大きいものほど高く設定する構成とする。
【００１９】
第４の発明のＢＩＯＳ搭載コンピュータは、前記第１および第２の発明のＢＩＯＳ搭載コンピュータにおいて、前記ＢＩＯＳデータ格納手段は、フラッシュメモリまたはバッテリバックアップされたＣＭＯＳメモリである構成とする。
【００２０】
前記第１および第２の発明によれば、電源投入時にＢＩＯＳ個別ローディングそれぞれを所定ＲＡＭ領域内で唯一実行させ、各ＢＩＯＳ個別ローディングごとに拡張ＢＩＯＳそれぞれの初期化前のＢＩＯＳオリジナルサイズとＢＩＯＳサイズ縮小化後のＢＩＯＳ縮小化後サイズとを取得し、取得したそれぞれの両サイズ値に基づいて決定するＢＩＯＳ個別ローディングそれぞれのローディング優先順位に従って、ＢＩＯＳ個別ローディングそれぞれを順次に実行させることから、拡張ＢＩＯＳの初期化前後のプログラムサイズに応じた順序によりＢＩＯＳローディングが自動的に実施できる。
【００２１】
また、前記第３の発明によれば、初期化後のＢＩＯＳ縮小化後サイズが小さい拡張ＢＩＯＳから優先してＢＩＯＳ個別ローディングを行うことにより、次に続く他のＢＩＯＳ個別ローディングのためのシステムＲＡＭ領域の空きスペースを最大にできることから、従来よりもより多くの拡張ＢＩＯＳをシステムＲＡＭ領域へローディングすることが可能になる。
【００２２】
更に、前記第４の発明によれば、ＢＩＯＳ搭載コンピュータの電源を切断しても、拡張ＢＩＯＳそれぞれのＢＩＯＳオリジナルサイズとＢＩＯＳ縮小化後サイズとを不揮発的に保持できることから、次の電源投入時にも前回電源投入時に取得されたＢＩＯＳオリジナルサイズとＢＩＯＳ縮小化後サイズとが利用可能になり、電源投入時ごとのＢＩＯＳオリジナルサイズおよびＢＩＯＳ縮小化後サイズの取得のための処理が不要となる。
【発明の効果】
【００２３】
本発明によれば、拡張ＢＩＯＳごとに個別に取得したＢＩＯＳオリジナルサイズとＢＩＯＳ縮小化後サイズとに基づいて決定されるローディング優先順位に従って、ＢＩＯＳ個別ローディングそれぞれを順次に実行させてシステムＲＡＭ領域にＢＩＯＳローディングすることから、拡張ＢＩＯＳそれぞれのプログラムサイズに応じた適切な順序により拡張ＢＩＯＳのＢＩＯＳローディングが自動的に実行できる。
【００２４】
また、初期化後のＢＩＯＳ縮小化後サイズが小さい拡張ＢＩＯＳから優先させてＢＩＯＳ個別ローディングを行うことにより、次に続く他のＢＩＯＳ個別ローディングのためのシステムＲＡＭ領域の空きスペースを最大限に大きくできることから、従来よりもより多く数の拡張ＢＩＯＳがシステムＲＡＭ領域にローディングできる。
【００２５】
したがって、コンピュータユーザが拡張ＢＩＯＳのサイズを意識することなく拡張カードを拡張スロットに挿入して追加したとしても、従来よりもより多くの数の拡張カードが利用可能なＢＩＯＳローディングを自動的に実行してくれることから、拡張カード追加時の利便性が向上する。
【発明を実施するための最良の形態】
【００２６】
（実施例１）
以下、本発明の実施の形態について、図面を参照しながら説明する。図１は、本発明に係る一実施例のＢＩＯＳ搭載コンピュータの構成を示すブロック図である。なお、図１に示すブロック図は、実際のコンピュータの構成とは異なる説明都合上の模式図であり、しかも、本発明の説明に直接関係しないコンピュータの所定の構成は省略している。
【００２７】
図１において、ＢＩＯＳ搭載コンピュータ１は、ＢＩＯＳ搭載コンピュータ１の基本基板であるマザーボード２上にＢＩＯＳ搭載コンピュータ１を制御するＣＰＵ３と、ＣＰＵ３のバス線６に接続されたシステムＢＩＯＳ４と主メモリ５および拡張スロット＃１番７-1〜＃ｎ番７-nなどを備えるとともに、拡張スロット＃１番７-1〜＃ｎ番７-nに挿入される拡張カード８-1〜８-nとを有する構成である。勿論、拡張スロット＃１番７-1〜＃ｎ番７-nの全てに拡張カード８-1〜８-nが挿入されている必要はなく、システム構成の都合によってその都度挿入されれば良いことである。なお、主メモリ５は一般に、後述のＣＭＯＳ４３よりもリード／ライトアクセスが速いＲＡＭ（Random Access Memory）などの半導体メモリで構成される。
【００２８】
拡張カード８-1〜８-n上には、拡張ＢＩＯＳ−ＲＯＭ内に格納された拡張ＢＩＯＳ（デバイスＲＯＭ）９-1〜９-nがそれぞれ搭載され、また主メモリ５には、システムＢＩＯＳ４と拡張ＢＩＯＳ９-1〜９-nそれぞれとがＢＩＯＳローディングされる領域であるシステムＲＡＭ領域５１を有し、またシステムＢＩＯＳ−ＲＯＭ内に格納されたシステムＢＩＯＳ４内にはＢＩＯＳローディング制御部４０を有する構成である。
【００２９】
ＢＩＯＳローディング制御部４０は、電源投入時に拡張ＢＩＯＳ９-1〜９-nそれぞれのＢＩＯＳ個別ローディングをシステムＲＡＭ領域５１内で唯一実行することを順次繰り返させる個別ローディング繰返部４１と、拡張ＢＩＯＳ９-1〜９-nそれぞれのＢＩＯＳオリジナルサイズとＢＩＯＳ縮小化後サイズとを格納するＢＩＯＳサイズ格納部であるＣＭＯＳ４３とを有する。
【００３０】
ＢＩＯＳローディング制御部４０は更に、個別ローディング繰返部４１によるＢＩＯＳ個別ローディングの実行ごとに、その実行中の拡張ＢＩＯＳ９-1〜９-nのＢＩＯＳオリジナルサイズとＢＩＯＳ縮小化後サイズとを取得してＣＭＯＳ４３に格納するサイズ取得部４２と、ＣＭＯＳ４３からのＢＩＯＳオリジナルサイズ情報とＢＩＯＳ縮小化後サイズ情報とに基づいてローディング優先順位を決定する優先順位決定部４４と、優先順位決定部４４により決定されたローディング優先順位に従って、ＢＩＯＳ個別ローディングそれぞれを順次に実行させるローディング順次実行部４５とを有する構成である。
【００３１】
なお、システムＢＩＯＳ４を格納したシステムＢＩＯＳ−ＲＯＭ、および拡張ＢＩＯＳ９-1〜９-nをそれぞれ格納した拡張ＢＩＯＳ−ＲＯＭは、ＲＯＭ（Read Only Memory）に限らず不揮発性の記憶素子（記憶媒体）であれば良く、一般にはフラッシュメモリを用いる。
【００３２】
また、ＢＩＯＳサイズ格納部であるＣＭＯＳ４３については、バッテリバックアップされたＣＭＯＳメモリで構成しているが、コンピュータの電源切断時にその格納データが消去されないもの（不揮発性）であれば良いことから、格納データの保持に電力供給を必要としないフラッシュメモリなどであっても良い。更に、ＣＭＯＳ４３は、システムＢＩＯＳ４を格納しているシステムＢＩＯＳ−ＲＯＭと共通にしているが、システムＢＩＯＳ−ＲＯＭから分離させた別形態のＲＯＭ構成であっても良い。
【００３３】
また更に、拡張スロット＃１番７-1〜＃ｎ番７-nは、コンピュータに追加させるオプションカード、つまり拡張カード８-1〜８-nが挿入されて物理的且つ電気的に結合されるスロットであり、その１つとして一般にＰＣＩ（Peripheral Component Interconnect）スロットが広く知られている。なお、拡張ＢＩＯＳ９-1〜９-nは、拡張カード８-1〜８-n上に実装される形態をとらず、図示していないがマザーボード２上に直接に実装され、拡張スロット＃１番７-1〜＃ｎ番７-nを経由しない形態であっても構わない。
【００３４】
次に、本発明の動作について、図面を参照しながら説明する。図２は、本発明に係るＣＭＯＳのデータ構造の一例とデータ推移を説明する図であり、また図３は、本発明のＢＩＯＳ搭載コンピュータの動作を説明するフローチャートである。
【００３５】
なお、説明の都合上、システム構成については、システムＲＡＭ領域５１は１２８ＫＢとし、また、ＢＩＯＳオリジナルサイズが８０ＫＢ且つそのＢＩＯＳ縮小化後サイズが６０ＫＢである拡張カード８-1が拡張スロット＃１番７-1に搭載されるとともに、ＢＩＯＳオリジナルサイズが７０ＫＢ且つそのＢＩＯＳ縮小化後サイズが４０ＫＢである拡張カード８-3が拡張スロット＃３番７-3に搭載された構成とするが、本発明はそれらの値や拡張ＢＩＯＳ９-1〜９-nの数などによって制限を受けるものではない。
【００３６】
図２において、表形式で表したＣＭＯＳ４３のデータ構造には、拡張スロット＃１番７-1〜＃ｎ番７-nに挿入された拡張カード８-1〜８-n上の拡張ＢＩＯＳ９-1〜９-nそれぞれのＢＩＯＳオリジナルサイズおよびＢＩＯＳ縮小化後サイズを取得して、ＢＩＯＳローディングのためのローディング優先順位を決定させるチェック動作モードを定義したチェックモードのＯＮまたはＯＦＦを示すＣＨＫＭＯＤＥ域を有する。
【００３７】
更にＣＭＯＳ４３は、チェックモード時でのチェック対象全ての拡張スロット番号（昇順や降順、ランダムのいずれでも構わないが、説明の都合上、昇順とする）を示すＣＨＫＳＬＴ域や、ＢＩＯＳローディングのための拡張ＢＩＯＳ９-1〜９-nそれぞれのローディング優先順位（説明の都合上、拡張スロット番号で表示）を示すＩＮＩＴ＿ＯＤＥＲ域を有する。
【００３８】
ＣＭＯＳ４３は更に、拡張スロット＃１番７-1〜＃ｎ番７-nそれぞれに対応させてＢＩＯＳオリジナルサイズ情報を格納するＳＬＴ−１＿ＯＲＧ〜ＳＬＴ−ｎ＿ＯＲＧ域、同じくそれぞれに対応させてＢＩＯＳ縮小化後サイズ情報を格納するＳＬＴ−１＿ＩＮＩ〜ＳＬＴ−ｎ＿ＩＮＩ域などを有する構造である。ここでは説明の都合上、ＳＬＴ−１＿ＯＲＧ〜ＳＬＴ−ｎ＿ＯＲＧ域およびＳＬＴ−１＿ＩＮＩ〜ＳＬＴ−ｎ＿ＩＮＩ域は、拡張スロット＃１番７-1〜＃ｎ番７-nの相当数を予め備えているが、拡張ＢＩＯＳ９-1〜９-nの実搭載数に合わせてその都度増加などさせて備えても構わない。
【００３９】
なお、ＣＭＯＳ４３内の前記全データの初期値を表中の最左欄に示し、また、それらデータのデータ推移である状態１〜状態１０については、以降の動作説明に対応させて説明する。
【００４０】
図３において、ＢＩＯＳ搭載コンピュータ１の電源投入（再起動を含む）により当コンピュータ１のシステムリセットが実行され（図３中のＳ１）、それに伴うシステムＢＩＯＳ４での所定の機能であるＰＯＳＴ（Power-on Self Test）による一連の処理にての所定の方法で得られる拡張スロット＃１番７-1〜＃ｎ番７-nに対する拡張カード８-1〜８-nの搭載構成を示すＥＳＣＤ（Extended System Configuration Data）の情報に基づき、前回の電源投入以降からの拡張スロット＃１番７-1〜＃ｎ番７-nに対する拡張カード８-1〜８-nの搭載変更の有無を確認する（Ｓ２）。
【００４１】
前記ステップＳ２にて拡張スロット＃１番７-1〜＃ｎ番７-nへの搭載変更が有りと判定（Yes 判定）された場合、個別ローディング繰返部４１は、チェックモードの開始とその実行中を表示するためにＣＭＯＳ４３内のＣＨＫＭＯＤＥ域にＯＮを設定（図２中の状態１）するとともに（Ｓ３）、拡張カード８-1，８-3の２枚の実搭載が認識された拡張スロット＃１番７-1，＃３番７-3それぞれの拡張スロット番号をＣＨＫＳＬＴ域に昇順にて設定して格納（図２中の状態２）する（Ｓ４）。
【００４２】
次に、ＣＨＫＳＬＴ域の先頭部分（昇順にて格納のため、拡張スロット番号の小さいものが先頭）に格納された拡張スロット番号（この時点では＃１番）を選択し、選択されたその拡張カード８-1上に拡張ＢＩＯＳ−ＲＯＭの搭載が有るか否かをシステムＢＩＯＳ４の所定の方法により確認する（Ｓ５）。
【００４３】
前記ステップＳ５にて拡張ＢＩＯＳ−ＲＯＭの搭載が有りと判定（Yes 判定）された場合、サイズ取得部４２はその拡張ＢＩＯＳ−ＲＯＭ内に格納された拡張ＢＩＯＳ９-1の所定領域に格納されているＢＩＯＳオリジナルサイズ情報（つまり８０ＫＢ）を取得して、ＳＬＴ−１＿ＯＲＧ域に格納（図２中の状態３）する（Ｓ６）。
【００４４】
なお、ＢＩＯＳオリジナルサイズ情報は、後述するステップＳ７によるＢＩＯＳ個別ローディングの実行直後（ＢＩＯＳオリジナルサイズ情報がＢＩＯＳ縮小化後サイズに書き替えられるまで）に、その実行にてコピーされたシステムＲＡＭ領域５１上の拡張ＢＩＯＳ９-1の同様の所定領域に格納されているＢＩＯＳオリジナルサイズ情報を取得しても構わない。
【００４５】
続いて、拡張ＢＩＯＳ−ＲＯＭ内の拡張ＢＩＯＳ９-1をシステムＲＡＭ領域内の所定域にコピーし、コピーされた拡張ＢＩＯＳ９-1により拡張ＢＩＯＳ９-1制御下のデバイスに対して所定の初期化を行い、その初期化の完了にて不要となった一部プログラムを切り捨てて再配置し直すことでＢＩＯＳプログラムサイズを縮小化させ、その縮小化された拡張ＢＩＯＳ９-1でシステムＲＡＭ領域に常駐させるとする所定の一連動作のＢＩＯＳ個別ローディングの実行を、個別ローディング繰返部４１が開始させる（Ｓ７）。なお、そのＢＩＯＳサイズ縮小化の際に、ＢＩＯＳオリジナルサイズが格納されている所定領域のサイズ値は、サイズ縮小化後のＢＩＯＳ縮小化後サイズのサイズ値に書き替えられる。
【００４６】
前記ステップＳ７でのＢＩＯＳ個別ローディングの実行完了後、サイズ取得部４２はシステムＲＡＭ領域に常駐された拡張ＢＩＯＳ９-1の所定領域のＢＩＯＳ縮小化後サイズ情報（つまり６０ＫＢ）を取得して、ＳＬＴ−１＿ＩＮＩ域に格納（図２中の状態４）する（Ｓ８）。
【００４７】
次に、個別ローディング繰返部４１は、以上の処理を終えた拡張スロット番号（この時点では＃１番）をＣＭＯＳ４３内のＣＨＫＳＬＴ域から削除（図２中の状態５）し（Ｓ９）、その後にＣＨＫＳＬＴ域にチェック処理対象である他の拡張スロット番号の残存（この時点では＃３番）が有るか否かを確認し（Ｓ１０）、もしも残存が有りと判定（Yes 判定）された場合、前記ステップＳ１に戻る。
【００４８】
以降は、拡張スロット＃３番７-3に挿入された２枚目の拡張カード８-3に対する同様の処理についてであり、前記ステップＳ１およびステップＳ２については前記説明したとおりである。
【００４９】
拡張スロット＃１番７-1〜＃ｎ番７-nへの途中での搭載変更は無いことから、ＥＳＣＤの以前のままの情報に基づき、前記ステップＳ２にては搭載変更が無しと判定（No判定）された後、個別ローディング繰返部４１は、ＣＭＯＳ４３内のＣＨＫＭＯＤＥ域がＯＮか否かを確認する（Ｓ２１）。
【００５０】
前記ステップＳ２１にてＣＨＫＭＯＤＥ域がＯＮと判定（Yes 判定）された場合、上述した前記ステップＳ５が再度実行され、ここでの前記ステップＳ５にては、拡張スロット＃３番７-3に挿入された拡張カード８-3に対しての処理が行われ、また次の前記ステップＳ６にては、サイズ取得部４２は拡張カード８-3上の拡張ＢＩＯＳ９-3のＢＩＯＳオリジナルサイズ情報（つまり７０ＫＢ）を取得し、ＳＬＴ−３＿ＯＲＧ域に格納（図２中の状態６）する。
【００５１】
更に、前記ステップＳ７でのＢＩＯＳ個別ローディングの実行完了後、前記ステップＳ８にては、サイズ取得部４２は拡張ＢＩＯＳ９-3のＢＩＯＳ縮小化後サイズ情報（つまり４０ＫＢ）を取得して、ＳＬＴ−３＿ＩＮＩ域に格納（図２中の状態７）し、また前記ステップＳ９にては、個別ローディング繰返部４１は、以上の処理を終えた拡張スロット番号（この時点では＃３番）をＣＨＫＳＬＴ域から削除（図２中の状態８）する。
【００５２】
その後、前記ステップＳ１０にて、ＣＨＫＳＬＴ域にチェック処理対象の他の拡張スロット番号の残存（この時点では残存無し）が有るか否かを再度確認する。
【００５３】
前記ステップＳ１０にて拡張スロット番号の残存が無しと判定（No判定）された場合、優先順位決定部４４は、ＣＭＯＳ４３内のＳＬＴ−１＿ＯＲＧ〜ＳＬＴ−ｎ＿ＯＲＧ域に格納された拡張スロット＃１番７-1〜＃ｎ番７-nごとのＢＩＯＳオリジナルサイズ値、およびＳＬＴ−１＿ＩＮＩ〜ＳＬＴ−ｎ＿ＩＮＩ域に格納されたそれぞれのＢＩＯＳ縮小化後サイズ値に基づき拡張ＢＩＯＳ９-1〜９-nそれぞれ（ここでは拡張ＢＩＯＳ９-1と９-3の２つ）のローディング優先順位を決定し、その優先順位が認識可能なように例えば拡張スロット番号を順次にＣＭＯＳ４３内のＩＮＩＴ＿ＯＤＥＲ域に格納（図２中の状態９）する（Ｓ３１）。
【００５４】
ＩＮＩＴ＿ＯＤＥＲ域に格納されるデータは、自身の優先順位が特定できれば良いことから、例えば拡張スロットアドレスまたは、拡張ＢＩＯＳ−ＲＯＭの特定情報（識別番号やアドレス等）などであっても構わない。また、その格納順序は、それぞれの優先順位が認識できれば良いことから、予め取り決められていれば、昇順や降順、ランダムなどのいずれでも構わない。
【００５５】
前記ステップＳ３１でのローディング優先順位の決定は具体的には、ＢＩＯＳ縮小化後サイズ値（ＳＬＴ−１＿ＩＮＩ〜ＳＬＴ−ｎ＿ＩＮＩ域の各値）が小さいものほど優先順位を高く設定し、もしもその場合にＢＩＯＳ縮小化後サイズ値が同値の拡張ＢＩＯＳが有った場合には、ＢＩＯＳオリジナルサイズ値（ＳＬＴ−１＿ＯＲＧ〜ＳＬＴ−ｎ＿ＯＲＧ域の値）がより大きいものほど高く設定する。
【００５６】
したがってここでは、ＢＩＯＳ縮小化後サイズ値が拡張ＢＩＯＳ９-1（ＳＬＴ−１＿ＩＮＩ域の値＝６０ＫＢ）よりも小さい拡張ＢＩＯＳ９-3（ＳＬＴ−３＿ＩＮＩ域の値＝４０ＫＢ）の方が優先順位が高く設定されることとなる。なお、この場合、両者のＢＩＯＳ縮小化後サイズ値が同値ではないために、両者のＢＩＯＳオリジナルサイズ値（ＳＬＴ−１＿ＯＲＧ域の値＝８０ＫＢと、ＳＬＴ−３＿ＯＲＧ域の値＝７０ＫＢ）を比較する必要はない。
【００５７】
前記ステップＳ３１において、拡張スロット＃１番７-1〜＃ｎ番７-nに実搭載された拡張カード全て（ここでは拡張カード８-1と８-3の２枚）に対する拡張ＢＩＯＳのローディング優先順位が決定されたことから、個別ローディング繰返部４１はＣＭＯＳ４３内のＣＨＫＭＯＤＥ域のＯＮをＯＦＦに設定変更（図２中の状態１０）し（Ｓ３２）、前記ステップＳ１に再度戻る。なお、ここで再度実行される前記ステップＳ１およびステップＳ２については前記説明したとおりである。
【００５８】
拡張スロット＃１番７-1〜＃ｎ番７-nへの途中での搭載変更は無いことから、ＥＳＣＤの以前のままの情報に基づき、前記ステップＳ２にては搭載変更が無しと判定（No判定）され、次に続く前記ステップＳ２１にては、前記ステップＳ３２によってＣＨＫＭＯＤＥ域がＯＦＦに設定変更されたことから、ＣＨＫＭＯＤＥ域はＯＮでないと判定（No判定）される。
【００５９】
前記ステップＳ２１でのチェックモードＯＦＦの判定により、ローディング順次実行部４５は、ＣＭＯＳ４３内のＩＮＩＴ＿ＯＤＥＲ域に既に格納されているローディング優先順位（ここでは拡張ＢＩＯＳは２つだけであり、拡張ＢＩＯＳ９-3、９-1の順）に従って、拡張ＢＩＯＳ９-1〜９-nそれぞれのＢＩＯＳ個別ローディングを順次に実行させる（Ｓ２２）ことで、拡張スロット＃１番７-1〜＃ｎ番７-nに実搭載された拡張カード８-1〜８-n上の拡張ＢＩＯＳ９-1〜９-n（ここでは、９-1と９-3の２つ）のシステムＲＡＭ領域５１へのＢＩＯＳローディングを実行させる。この場合のシステムＲＡＭ領域５１へのＢＩＯＳローディングの状態は、図５で図示したシステムＲＡＭ領域へのＢＩＯＳローディングの状態と同様なものである。
【００６０】
前記ステップＳ２１でのチェックモードＯＦＦの判定によって、次回の電源投入時において拡張スロット＃１番７-1〜＃ｎ番７-nへの搭載変更が無い（前記ステップＳ２でのNo判定）場合、既に決定されてＣＭＯＳ４３内に格納されている前回のローディング優先順位にて直ちにＢＩＯＳローディングを実行させることができることから、ＢＩＯＳ搭載コンピュータ１の起動立上げ時間の短縮が可能となる。
【００６１】
なお、前記ステップＳ２２でのＢＩＯＳローディングにおいて、決定されたローディング優先順位に従って順次にコピーされる拡張ＢＩＯＳ９-1〜９-nの途中のプログラム蓄積総量がシステムＲＡＭ領域の総容量（例えば１２８ＫＢ）を超える場合、その時点の優先順位の拡張ＢＩＯＳ（９-1〜９-nのいずれか）のＢＩＯＳ個別ローディングは実行させず（または中止させ）、飛び越しにて次順位の拡張ＢＩＯＳのＢＩＯＳ個別ローディングを実行させても良い。勿論、この決定を、前記ステップＳ３１でのローディング優先順位の決定の際に行っても構わない。
【００６２】
以上に動作説明をしたとおり、本発明のＢＩＯＳ搭載コンピュータ１は、電源投入時に、拡張スロット＃１番７-1〜＃ｎ番７-nに実搭載された拡張カード８-1〜８-n上の拡張ＢＩＯＳ９-1〜９-nそれぞれのＢＩＯＳ個別ローディングをシステムＲＡＭ領域５１内で唯一実行させ、各ＢＩＯＳ個別ローディングごとに拡張ＢＩＯＳ９-1〜９-nそれぞれの初期化前のＢＩＯＳオリジナルサイズとＢＩＯＳサイズ縮小化後のＢＩＯＳ縮小化後サイズとを取得し、取得したそれぞれの両サイズ値に基づいて決定するＢＩＯＳ個別ローディングそれぞれのローディング優先順位に従って、ＢＩＯＳ個別ローディングそれぞれを順次に実行させてＢＩＯＳローディングすることから、拡張ＢＩＯＳ９-1〜９-nの初期化前および初期化後のプログラムサイズに応じた順序によるＢＩＯＳローディングを自動的に実行させることができる。
【図面の簡単な説明】
【００６３】
【図１】本発明に係る一実施例のＢＩＯＳ搭載コンピュータの構成を示すブロック図
【図２】本発明に係るＣＭＯＳのデータ構造の一例とデータ推移を説明する図
【図３】本発明のＢＩＯＳ搭載コンピュータの動作を説明するフローチャート
【図４】拡張スロット番号の昇順によるシステムＲＡＭ領域へのＢＩＯＳローディングを示す図
【図５】拡張スロット番号の降順によるシステムＲＡＭ領域へのＢＩＯＳローディングを示す図
【符号の説明】
【００６４】
１    ＢＩＯＳ搭載コンピュータ
２    マザーボード
３    ＣＰＵ
４    システムＢＩＯＳ
５    主メモリ
６    バス線
７−１  拡張スロット＃１番
８−１  拡張カード
９−１  拡張ＢＩＯＳ
４０  ＢＩＯＳローディング制御部
４１  個別ローディング繰返部
４２  サイズ取得部
４３  ＣＭＯＳ
４４  優先順位決定部
４５  ローディング順次実行部
５１  システムＲＡＭ領域
【図１】
2007148773.tif 000003
【図２】
2007148773.tif 000004
【図３】
2007148773.tif 000005
【図４】
2007148773.tif 000006
【図５】
2007148773.tif 000007