(57)【要約】      （修正有）【課題】電源投入時にコンピュータシステムを迅速に起動する。【解決手段】予め設定された初期化命令を有する拡張カード１００と、拡張カード１００が実装された本体部１とを備え、本体部１は、電源投入時に初期化命令に基づき実行を行い拡張カード１００の初期化を行う中央処理部１０と、初期化された拡張カードを記憶する履歴保持部１２と、異なる拡張カードに共通の初期化命令である共通命令を記憶する辞書部１１とを備え、中央処理部１０は、共通命令を実行すると共に、履歴保持部１２に記憶された拡張カード以外の拡張カードに設定され且つ前記共通命令に含まれない初期化命令を実行する。【選択図】図１
2010146384.tif 000002
【特許請求の範囲】
【請求項１】
予め設定された初期化命令を有する拡張カードと、前記拡張カードが実装された本体部とを備え、当該本体部における電源投入時に前記初期化命令に基づき実行処理を行い前記拡張カードの初期化を行う初期化実行手段を前記本体部が備えたコンピュータ起動システムであって、
前記本体部は、
前記拡張カードのうちの特定のカード種別に共通の初期化命令として予め設定された共通命令を記憶する共通命令記憶手段と、
前記共通命令を前記初期化実行手段に実行させる実行処理制御手段と、
前記拡張カードの初期化された状態を示すカード識別情報を記憶する履歴情報記憶手段とを備え、
前記実行処理制御手段が、前記特定のカード種別以外の拡張カードの初期化命令を前記初期化実行手段にそれぞれ１回実行させる初期化実行制御機能を有することを特徴としたコンピュータ起動システム。
【請求項２】
前記請求項１に記載のコンピュータ起動システムにおいて、
前記実行処理制御手段は、前記各拡張カードの初期化命令が実行処理されたときに前記履歴情報記憶手段に対して前記各拡張カードに予め設定された識別情報を登録する履歴情報登録機能を備えたことを特徴とするコンピュータ起動システム。
【請求項３】
前記請求項１，２に記載のコンピュータ起動システムにおいて、
各拡張カードの前記本体部への実装を認証すると共に、前記実装が認証された拡張カードの初期化が必要か否かを前記履歴情報記憶手段の記憶内容に基づき判定する実装認証手段を前記実行処理制御部に併設したことを特徴とするコンピュータ起動システム。
【請求項４】
前記請求項１に記載のコンピュータ起動システムにおいて、
前記実行処理制御手段は、前記共通命令の実行により初期化された各拡張カードの有する初期化命令が実行処理されることを抑制する実行処理抑制機能を備えたことを特徴とするコンピュータ起動システム。
【請求項５】
前記請求項４に記載のコンピュータ起動システムにおいて、
前記共通命令の実行により初期化される拡張カードを、前記共通命令の実行に先立ち前記カード種別に基づき選別すると共に、当該選別された拡張カードの有する初期化命令が実行処理されるのを抑制する共通初期化抑制機能を備えたことを特徴とするコンピュータ起動システム。
【請求項６】
予め設定された初期化命令を有する拡張カードと、前記拡張カードが実装された本体部とを有し、前記本体部に前記初期化命令の実行処理を行う初期化実行手段を備えたコンピュータ起動システムにあって、前記拡張カードの初期化を行うコンピュータ起動方法であって、
前記本体部の電源投入時に予め設定された特定のカード種別の拡張カードに共通の初期化命令である共通命令を実行処理し、前記特定のカード種別以外の拡張カードの初期化命令の実行処理を行い、前記初期化された拡張カードを記憶し、前記記憶された拡張カード以外の拡張カードの初期化命令を実行処理することを特徴とするコンピュータ起動方法。
【請求項７】
予め設定された初期化命令を有する拡張カードと、前記拡張カードが実装された本体部とを有し、前記本体部に前記初期化命令の実行処理を行う初期化実行手段を備えたコンピュータ起動システムにあって、前記拡張カードの初期化を行うためのコンピュータ起動プログラムであって、
前記本体部の電源投入時に予め設定された特定の拡張カードに共通の初期化命令である共通命令の実行処理を行う共通命令実行処理機能と、
前記特定の拡張カード以外の拡張カードが有する初期化命令をそれぞれ１回実行する初期化命令実行処理機能と、
を前記本体部の備えたコンピュータに実行させることを特徴とするコンピュータ起動プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータの電源投入時におけるコンピュータの初期化システムに関し、特にコンピュータに実装された拡張カードの初期化システムに関する。
【背景技術】
【０００２】
コンピュータ本体装置(以下「本体装置」という)に接続された拡張カードは、本体装置の立ち上げ動作時(電源投入時)に、拡張カードに搭載されたＲＯＭ(Read Only Memory)内に格納された初期化プログラム(ＲＯＭプログラム)が読み出され、実行されることにより、拡張カード及び拡張カードに接続された周辺装置等の動作状態が初期化される。
【０００３】
この初期化プログラムの実行処理は、本体装置に接続された各拡張カード単位に、順番に実行されるため、例えば、本体装置に多数の拡張カードが搭載された大規模構成のサーバなどでは、サーバ本体の立ち上げ動作に、各拡張カードの初期化処理に非常に時間がかかってしまい、本体装置の立ち上げに多大な時間がかかってしまうという不都合があった。
【０００４】
特に、拡張カード上のＲＯＭ内のプログラムが複数の拡張カードを認識して初期化などを行う場合に、本体装置における必要最小限の時間で速やかな立ち上げ動作を実現するには、各拡張カードのＲＯＭプログラム実行の可否を、拡張スロット単位に適切に設定することが必要となる。
【０００５】
しかしながら、各拡張カードのＲＯＭプログラム実行の可否を適切に設定するためには、例えば、拡張カードの搭載位置や拡張カードの種類といった拡張カードの実装構成に応じた設定を行うことが必要となり、設定内容が煩雑となってしまうという不都合があった。
【０００６】
また、拡張カードを多数搭載した大規模構成においては、立ち上げ動作における拡張カード上のＲＯＭプログラムを全カードで実行していたため、立ち上げ動作に多大な時間がかかってしまうという不都合がある。
【０００７】
これに対する関連技術として、拡張カード上のＲＯＭプログラムの実行可否を、拡張カードの搭載スロット単位に手動で設定できるようにして必要最小限のＲＯＭプログラム実行し、立ち上げ時間の短縮を行う手法が開示されている(特許文献１)。
【０００８】
【特許文献１】特開平０７−００６１１４
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、上記特許文献１の関連技術では、拡張カードの搭載位置は、コンピュータ本体装置の出荷構成毎に変化するため、本体装置構成に応じて必ず設定する必要があり、固定の手順とならず煩雑となってしまうという不都合があった。
【００１０】
［発明の目的］
本発明は、上記関連技術の有する不都合を改善し、電源投入時におけるコンピュータシステムの起動動作を迅速にするコンピュータ起動システム、コンピュータ起動方法、およびコンピュータ起動プログラムを提供することを、その目的とする。
【課題を解決するための手段】
【００１１】
上記目的を達成するために、本発明に係るコンピュータ起動システムは、予め設定された初期化命令を有する拡張カードと、前記拡張カードが実装された本体部とを備え、当該本体部における電源投入時に前記初期化命令に基づき実行処理を行い前記拡張カードの初期化を行う初期化実行手段を前記本体部が備えたコンピュータ起動システムであって、前記本体部は、前記拡張カードのうちの特定のカード種別に共通の初期化命令として予め設定された共通命令を記憶する共通命令記憶手段と、前記共通命令を前記初期化実行手段に実行させる実行処理制御手段と、前記拡張カードの初期化された状態を示すカード識別情報を記憶する履歴情報記憶手段とを備え、前記実行処理制御手段が、前記特定のカード種別以外の拡張カードの初期化命令を前記初期化実行手段にそれぞれ１回実行させる初期化実行制御機能とを備えた構成をとっている。
【００１２】
又、本発明にかかるコンピュータ起動方法は、予め設定された初期化命令を有する拡張カードと、前記拡張カードが実装された本体部とを有し、前記本体部に前記初期化命令の実行処理を行う初期化実行手段を備え、前記拡張カードの初期化を行うコンピュータ起動方法であって、前記本体部の電源投入時に前記本体部に実装された異なる拡張カードに共通の初期化命令として予め設定された共通命令を実行処理し、前記共通命令に含まれない初期化命令の実行処理を行い、前記初期化命令を実行処理されることにより初期化された拡張カードを記憶し、前記記憶された拡張カード以外の拡張カードの初期化命令を実行処理することを特徴としている。
【００１３】
更に、本発明にかかるコンピュータ起動プログラムは、予め設定された初期化命令を有する拡張カードと、前記拡張カードが実装された本体部とを有し、前記本体部に前記初期化命令の実行処理を行う初期化実行手段を備え、前記拡張カードの初期化を行うためのコンピュータ起動プログラムであって、前記本体部の電源投入時に前記本体部に実装された異なる拡張カードに共通の初期化命令として予め設定された共通命令の実行処理を行う共通命令実行処理機能と、前記共通命令に含まれない初期化命令の実行処理を行う初期化命令実行処理機能と、前記初期化命令が実行処理されることにより初期化された拡張カード以外の拡張カードの初期化命令を実行処理する未初期化実行機能とを、前記本体部の備えたコンピュータに実行させることを特徴としている。
【発明の効果】
【００１４】
本発明は、以上のように構成され機能するので、これによると、初期化された拡張カードを記憶する履歴保持部と、異なる拡張カードに共通の初期化命令である共通命令を記憶する共通命令記憶部とを備え、中央処理部が、共通命令を実行すると共に、履歴保持部に記憶された拡張カード以外の拡張カードに設定され且つ共通命令に含まれない初期化命令を実行する実行処理制御部を備えたことにより、電源投入時におけるコンピュータシステムを迅速起動可能とするコンピュータ起動システム、コンピュータ起動方法、およびコンピュータ起動プログラムを提供することができる。
【発明を実施するための最良の形態】
【００１５】
［実施形態１］
次に、本発明の一実施形態であるコンピュータ起動システムについて、その基本的構成内容を説明する。
【００１６】
本実施形態１のコンピュータ起動システムは、図１に示すように、例えば拡張スロットのような拡張用接続部を備えたコンピュータである本体装置１と、この本体装置１内に予め設けられた接続バスに接続され、本体装置１における外部接続装置として機能する拡張カード１００，２００，３００および４００を備えた構成となっている。
【００１７】
本体装置１は、当該本体装置１内に設定された動作部における動作制御全般を行う中央処理部１０と、予め設定された情報を記憶する辞書部１１と、本体装置１に接続された各拡張カード(１００〜４００)における初期化処理の履歴情報を記憶する履歴保持部１２と、本体装置１内に予め設置された接続バスを介して中央処理部１０に接続され、中央処理部１０および拡張カード(１００〜４００)の相互情報通信の中継を行う中継部１３とを備えている。
【００１８】
尚、本体装置１は、ＣＰＵ(Ｃentral Processing Unit)と、記憶装置としてのメモリ、ＨＤＤ(Hard Disc Drive)などを備えたコンピュータであって、予めＨＤＤ等に設定された制御プログラムに基づきＣPUが実行処理をおこなうことにより、上記中央処理部１０および中継部１３における処理動作や、辞書部１１および履歴保持部１２におけるデータの読み書き等の制御を実現するものとする。
【００１９】
中央処理部１０は、本体装置１に接続された拡張カードと中継装置１３を介した通信を行うことにより各拡張カードの接続認証を行うカード認識処理機能と、各拡張カード上に設定されたＲＯＭプログラムの実行が必要か否かの判定を行う実行判定機能と、ＲＯＭプログラムの実行が必要と判定した場合に、各拡張カードのＲＯＭプログラムの実行を行う起動命令実行機能を備えている。
【００２０】
また、中央処理部１０は、認証処理時(カード認識処理機能の実行時)に、拡張カードそれぞれから取得した、各拡張カードのカード種別を示すカード識別情報に基づき辞書部１１を参照し、辞書部１１にカード種別情報が登録されているか否かを調査する辞書調査機能を有する。
【００２１】
更に、中央処理部１０は上述のように調査したカード種別が辞書部１１に登録されていない場合、対象の拡張カードからカード種別にかかる情報を取得すると共にこの情報に基づき履歴保持部１２を参照する履歴参照機能を備えている。
尚、中央処理部１０は、拡張カード１００〜４００について、順番に探索、および認証を行う(拡張カード探索機能)。ここで、この探索は番号の昇順に行われるものとする。
【００２２】
辞書部１１は、各拡張カード上のＲＯＭ内に予め設定された識別情報に基づき、同種の動作機能を行う拡張カードや特定の基準によりグループとして設定されたカード種別に共通の初期化プログラム(共通ＲＯＭプログラム)等を記憶するグループ情報記憶機能を備えた情報記憶部である。
【００２３】
履歴保持部１２は、本体装置１に接続された拡張カードのＲＯＭプログラムが実行された履歴を示す実行履歴テーブル(図４)を記憶する記憶部である。
尚、実行履歴テーブルは、図４に示すように、初期化プログラムが実行されたカード種別、および拡張カードのグループが、どのタイミングで実行されたかを示すテーブル情報である。
【００２４】
拡張カード１００、２００、３００、４００は、本体装置１に搭載された拡張カードである。
拡張カード１００、２００、３００、４００は、それぞれ同様の構成内容を含み、ここでは、拡張カード１００の内部構成について説明しているが、拡張カード２００、３００、および４００についても同様の内部構成を備えているものとする。
【００２５】
拡張カード１００は、中央処理部１０との通信を制御するコントローラ１０１と初期化プログラムを記憶するＲＯＭ１０２を含み構成される。
尚、拡張カードは、ＲＯＭプログラムを本体装置１側(中央処理部１０)により実行することで、動作機能の初期化が行われ、本体装置の拡張デバイスとして機能する。
【００２６】
また、本実施形態１では、カード種別Ａに分類される拡張カード２枚を拡張カード１００、および拡張カード３００とし、種別Ｂに分類される拡張カード２００と、また種別Ｃに分類される拡張カード４００が搭載された構成となっている。
【００２７】
［実施形態１の動作説明］
次に、上記実施形態１全体の動作について、その概略を説明する。
中央処理部１０は、本体装置１の電源投入時に本体装置１に実装された異なる拡張カード(１００〜４００)に共通の初期化命令として辞書部１１に予め設定された共通命令を実行処理し、共通命令に含まれない拡張カードの初期化命令(初期化プログラム)の実行を行い、初期化プログラムが実行されることにより初期化された拡張カードを記憶し、記憶された拡張カード以外の拡張カードの初期化命令を実行処理する。
【００２８】
尚、上記本体装置１の電源投入時に本体装置に実装された異なる拡張カードに共通の初期化プログラムとして予め設定された共通命令の実行処理を行う共通命令実行処理機能と、共通命令に含まれない初期化プログラムの実行処理を行う初期化命令実行処理機能と、前記初期化プログラムが実行処理されることにより初期化された拡張カード以外の拡張カードの初期化命令を実行する未初期化実行機能の実行内容については、本体装置１の備えたコンピュータに実行させる設定としてもよい。
【００２９】
ここでは、図４に示す時刻０における動作を概説する。
時刻０は、本体装置１および拡張カード１００〜４００からなる入出力制御システムにおける初期状態を示す。ここでは、拡張カード１００〜４００上の何れのＲＯＭプログラムも実行されていないものとする。また、この時点で履歴保持部１２(実行履歴テーブル)には、実行履歴情報は登録されていないものとする。
この状態から、拡張部制御システムの立ち上げ動作(電源投入)が行われたとき、中央制御部１は、中継処理部１３を介して拡張カード１００を認識し、その後拡張カード１００上のＲＯＭプログラムの実行が必要であるか否かの判定を行い、実行が必要と判定された場合に、拡張カードのＲＯＭプログラムの実行を行う。
【００３０】
次に、上記時刻０における動作について、詳説する。
まず、中央処理部１０が、中継装置１３を介して拡張カード１００にアクセスを行い、拡張カード１００の制御手段１０１から拡張カード１００のカード種別を示すカード種別情報(カード種別Ａ)を取得する。これにより、中央処理部１０は拡張カード１００が本体装置に接続されていることを認識する(拡張カード認識処理)。
【００３１】
次に、中央処理部１０は、拡張カード１００を認識した後、カード種別Ａに基づき辞書部１１を参照して、カード種別Ａが予め辞書部１１に登録されているか否かを調べる。
ここでは、辞書部１１にカード種別Ａにかかる情報は登録されていないので、中央処理部１０は、カード種別Ａに基づき履歴保持部１２を参照して、履歴保持部１２に実行履歴情報としてカード種別Ａが登録されているか否かを調べる。
【００３２】
この時点で、履歴保持部１２には、カード種別Ａを示す情報は記録されていないので、
中央処理部１０は、拡張カード１００のＲＯＭプログラムの実行が必要であると判断(判定)する。
次いで、中央処理部１０は、履歴保持部１２の実行履歴テーブル(図４)に、自身の保有するＲＯＭプログラムが実行された拡張カードとして、カード種別Ａを登録する。
【００３３】
尚、拡張カード１００に対して、カード種別Ａが履歴保持部１２に登録されていないことが通知された場合、拡張カード１００の制御手段１０１が中継装置１３を介して履歴保持部１２にアクセスを行い、カード種別Ａを履歴保持部１２(実行履歴テーブル)に登録する設定としてもよい。
これにより、本体装置１の立ち上げ動作時に、中央処理部１０にかかる処理負荷が軽減され、且つ立ち上げ動作の迅速化を実現することができる。
【００３４】
ここで、中央処理部１０は、拡張カード１００上のＲＯＭプログラムの実行を行う。
【００３５】
次に、図４に示す時刻1では、先にＲＯＭプログラムが実行された拡張カード１００のカード種別であるカード種別Ａが、実行履歴情報として履歴情報テーブルに記録されている。
ここで、中央処理部１０は、拡張カード２００を認識し(認識処理)、拡張カード２００上のＲＯＭプログラムの実行が必要か否かの判定を行い、実行が必要と判定した場合に拡張カード２００のＲＯＭプログラムの実行を行う。
【００３６】
以下、この時刻１における動作について、詳説する。
【００３７】
まず中央処理部１０は、拡張カード２００の認証処理を行った後、この認証処理時に取得した情報(カード識別情報)に基づき辞書部１１を参照し、拡張カード２００のカード種別を示すカード種別情報(カード種別Ｂ)が辞書部１１に登録されているか否かを調べる。
【００３８】
ここでは、カード種別Bはグループ1として辞書部１１に登録されている。このため、中央処理部１０は、登録されているグループ１（カード識別Ｂを含む）の登録内容であるグループ情報１に基づき履歴保持部１２を参照して、カード識別Bに対応したＲＯＭプログラム、つまり拡張カード２００のＲＯＭプログラムが実行済みであるか否かを調べる。
【００３９】
この時点で履歴保持部１２(実行履歴テーブル)には、上述のように、カード種別Ａだけが、実行履歴情報として記録されている。このため、中央処理部１０は、拡張カード２００のＲＯＭプログラムは実行が必要であると判定する(実行判定行程)。
【００４０】
次いで、中央処理部１０は、グループ情報１を履歴保持部１２の実行履歴テーブル(図４)に実行履歴情報として登録する。
その後、中央処理部１０は、拡張カード２００上のＲＯＭプログラムの実行を行う。 
【００４１】
次に、図４に示す時刻２では、先にＲＯＭプログラムが実行された拡張カードのカード種別Ａおよびグループ情報１が、実行履歴情報として履歴保持部１２の履歴情報テーブルに記録されている。
ここで、中央処理部１０は、拡張カード３００を認識し(認識処理)、拡張カード３００上のＲＯＭプログラムの実行が必要か否かの判定を行い、実行が必要と判定された場合に拡張カード２００のＲＯＭプログラムの実行を行う。
【００４２】
以下、この時刻２における動作について、詳説する。
【００４３】
まず中央処理部１０は、拡張カード３００の認証処理を行った後、この認証処理時に取得した情報(カード識別情報)に基づき辞書部１１を参照して、拡張カード３００のカード種別を示すカード種別情報(カード種別Ａ)が辞書部１１に登録されているか否かを調べる。
【００４４】
ここでは、辞書部１１にカード種別Ａは登録されていないので、中央処理部１０は、拡張カード３００から取得した情報(カード種別Ａ)に基づき履歴保持部１２を参照して、履歴保持部１２にカード種別Ａが登録されているか否かを調べる。
【００４５】
この時点で履歴保持部１２(実行履歴テーブル)には、カード種別Ａおよびグループ情報１が実行履歴情報として記録されている。
ここで、カード種別Ａは既に実行履歴テーブルに登録されているため、中央処理部１０は、拡張カード３００(カード種別Ａ)のＲＯＭプログラムは実行済みと判断し、実行の必要はないと判定する(実行判定行程)。
【００４６】
ここでは、中央処理部１０は拡張カード３００のＲＯＭプログラムは実行不要と判断したので、履歴保持部１２に対する実行履歴情報の登録も行わず、また拡張カード３００上のＲＯＭプログラムの実行も行わない。
【００４７】
次に、図４に示す時刻3における動作ついて概説する。
時刻３では、まず、先にＲＯＭプログラムが実行された拡張カードのカード種別Ａ、およびグループ情報１が、実行履歴情報として履歴保持部１２の履歴情報テーブルに記録されている。
ここで、中央処理部１０は、拡張カード４００を認識し(認識処理)、拡張カード４００上のＲＯＭプログラムの実行が必要か否かの判定を行い、実行が必要であると判定された場合にＲＯＭプログラムの実行を行う。
以下、この時刻３の動作について、詳説する。
【００４８】
まず、中央処理部１０は、拡張カード４００の認証処理を行った後、この認証処理時に取得した情報(カード種別Ｃ)に基づき辞書部１１を参照して、拡張カード４００のカード種別を示すカード種別情報(カード種別Ｃ)が辞書部１１に登録されているか否かを調べる。
【００４９】
このとき、辞書部１１にカード種別Ｃにかかる情報は登録されていないので、中央処理部１０は、取得したカード種別Ｃに基づき履歴保持部１２を参照して、履歴保持部１２にカード種別Ｃが登録されているか否かを調べる。
【００５０】
ここでは、カード種別Ｃはグループ1として辞書部１１に登録されている。このため、中央処理部１０は、グループ１の登録内容であるグループ情報１に基づき履歴保持部１２を参照して、カード識別Ｃに対応したＲＯＭプログラム、つまり拡張カード４００のＲＯＭプログラムが実行済みであるか否かを調べる。
【００５１】
この時点で履歴保持部１２(実行履歴テーブル)には、カード種別Ａおよびグループ情報１が実行履歴情報として記録されている。
ここで、カード種別Dを含むグループ情報１は既に実行履歴テーブルに登録されているため、中央処理部１０は、拡張カード４００(カード種別Ｃ)のＲＯＭプログラムは実行済みと判断し、実行の必要はないと判定する(実行判定行程)。
【００５２】
また、中央処理部１０は、拡張カード４００のＲＯＭプログラムは実行不要と判断したので、履歴保持部１２に対する実行履歴情報の登録も行わず、拡張カード４００上のＲＯＭプログラムの実行も行わない。
【００５３】
時刻4は、本体装置１の立ち上げ動作に伴い、本体装置に搭載された全ての拡張カード１００〜４００の探索が終わった状態を示している(図４)。
このとき、履歴保持部１２には、カード種別Ａとグループ情報1が登録されていることにより、各々1回ずつ合計２回だけ拡張カード上のＲＯＭプログラムが読み込まれ実行されたことを示している。
【００５４】
以上のように、本実施形態１では、カード種別およびカード種別のグループに応じてＲＯＭに設定された初期化プログラムを1回ずつ実行することにより、必要最小限の実行回数で本体部１に接続された拡張カードの初期化を実現することができ、これにより、本体部１の起動時間を迅速にすることができる。
【００５５】
また、拡張カード上のＲＯＭプログラムの実行回数を最小限に留めた立ち上げ動作を、装置構成に応じて、本体装置(本体部)に搭載された多種、多様な拡張カードに応じて拡張カード上のＲＯＭプログラムの実行回数を最小限に留めた立ち上げ動作を、装置構成に応じた特別な設定なしに実現することができる。
【００５６】
更には、共通の初期化プログラムを備えた辞書部を有することにより、多様な拡張カードの実装構成に応じて、柔軟な初期化プログラムの実行制御を行うことができる。
【００５７】
［実施形態２］
次に、本発明にかかる実施形態２について、説明する。
本実施形態２におけるシステムの構成部分は、前述した実施形態(図１)とほぼ同一の構成を備えており、図５に示すように、拡張カード５００，６００，７００，および８００を本体装置１に新たに接続して設けた点が、上記実施形態と相違する。
尚、前述した実施形態と同一の部分については、同一の符号を付するものとする。
【００５８】
次に、本発明の実施形態２について、その基本的構成内容を説明する。
【００５９】
本実施形態２のコンピュータ起動システムは、図５に示すように、例えば拡張スロットのような拡張用接続部を備えたコンピュータである本体装置１と、この本体装置１内に予め設けられた接続バスに接続され、本体装置１における外部接続装置として機能する拡張カード１００，２００，３００，４００，５００，６００，７００，および８００を備えた構成となっている。
【００６０】
本体装置１は、当該本体装置１内に設定された動作部における動作制御全般を行う中央処理部１０と、予め設定された情報を記憶する辞書部１１と、本体装置１に接続された各拡張カード(１００〜４００)における初期化処理の履歴情報を記憶する履歴保持部１２と、本体装置１内に予め設置された接続バスを介して中央処理部１０に接続され、中央処理部１０および拡張カード(１００〜８００)の相互情報通信の中継を行う中継部１３とを備えている。
【００６１】
尚、本体装置１は、ＣＰＵと、記憶装置としてのメモリ、ＨＤＤなどを備えたコンピュータであって、予めＨＤＤ等に設定された制御プログラムに基づきＣPUが実行処理をおこなうことにより、上記中央処理部１０および中継部１３における処理動作や、辞書部１１および履歴保持部１２におけるデータの読み書き等の制御を実現するものとする。
【００６２】
中央処理部１０は、本体装置１に接続された拡張カードと中継装置１３を介した通信を行うことにより各拡張カードの接続認証を行うカード認識処理機能と、各拡張カード上に設定されたＲＯＭプログラムの実行が必要か否かの判定を行う実行判定機能と、ＲＯＭプログラムの実行が必要と判定した場合に、各拡張カードのＲＯＭプログラムの実行を行う起動命令実行機能を備えている。
【００６３】
また、中央処理部１０は、認証処理時(カード認識処理機能の実行時)に、拡張カードそれぞれから取得した、各拡張カードのカード種別を示すカード識別情報に基づき辞書部１１を参照し、辞書部１１にカード種別情報が登録されているか否かを調査する辞書調査機能を有する。
【００６４】
更に、中央処理部１０は上述のように調査したカード種別が辞書部１１に登録されていない場合、対象の拡張カードからカード種別にかかる情報を取得すると共にこの情報に基づき履歴保持部１２を参照する履歴参照機能を備えている。
尚、中央処理部１０は、拡張カード１００〜８００について、順番に探索、および認証を行う(拡張カード探索機能)。ここで、この探索は番号の昇順に行われるものとする。
【００６５】
辞書部１１は、各拡張カード上のＲＯＭ内に予め設定された識別情報に基づき、同種の動作機能を行う拡張カードや特定の基準によりグループとして設定されたカード種別に共通の初期化プログラム(共通ＲＯＭプログラム)等を記憶するグループ情報記憶機能を備えた情報記憶部である。
【００６６】
履歴保持部１２は、本体装置１に接続された拡張カードのＲＯＭプログラムが実行された履歴を示す実行履歴テーブル(図８)を記憶する記憶部である。
尚、実行履歴テーブルは、図８に示すように、初期化プログラムが実行されたカード種別、および拡張カードのグループが、どのタイミングで実行されたかを示すテーブル情報である。
【００６７】
拡張カード１００，２００，３００，４００、５００，６００，７００，および８００は、本体装置１に搭載された拡張カードである。
拡張カードはそれぞれ同様の構成内容を含み、ここでは、拡張カード１００の内部構成について説明しているが、拡張カード２００〜８００についても同様の内部構成を備えているものとする。
【００６８】
拡張カード１００は、中央処理部１０との通信を制御するコントローラ１０１と初期化プログラムを記憶するＲＯＭ１０２を含み構成される。
尚、拡張カードは、ＲＯＭプログラムを本体装置１側(中央処理部１０)により実行することで、動作機能の初期化が行われ、本体装置の拡張デバイスとして機能する。
【００６９】
また、本実施形態２では、図６に示すように、カード種別Ａに分類される拡張カードを拡張カード１００、および拡張カード７００とし、カード種別Ｂに分類される拡張カード２００および５００と、またカード種別Ｃに分類される拡張カード３００および６００と、カード種別Ｄに分類される拡張カード４００および８００が、本体装置１に搭載された構成となっている。
【００７０】
［実施形態２の動作説明］
次に、上記実施形態２全体の動作について、履歴保持部１２に記憶された実行履歴テーブル(図８)に基づき説明する。この実行履歴テーブルは、履歴保持部１２に記憶された実行履歴情報の内容を示し、その登録内容の遷移を時系列に沿って示すものである。
【００７１】
ここでは、図８に示す時刻０における動作を概説する。
時刻０は、本体装置１および拡張カード１００〜８００からなるコンピュータ制御システムにおける初期状態を示す。ここでは、拡張カード１００〜８００に設定された何れのＲＯＭプログラムも実行されていないものとする。また、この時点で履歴保持部１２(実行履歴テーブル)には、実行履歴情報は登録されていないものとする。
この状態から、コンピュータ起動システムの立ち上げ動作(本体装置１に対する電源投入)が行われたとき、中央制御部１は、中継処理部１３を介して拡張カード１００を認識し、その後拡張カード１００上のＲＯＭプログラムの実行が必要であるか否かの判定を行い、実行が必要と判定された場合に、拡張カードのＲＯＭプログラムの実行を行う。
【００７２】
次に、上記時刻０における動作について詳説する。
まず、中央処理部１０が、中継装置１３を介して拡張カード１００にアクセスを行い、拡張カード１００の制御手段１０１から拡張カード１００のカード種別を示すカード種別情報(カード種別Ａ)を取得する。これにより、中央処理部１０は拡張カード１００が本体装置１に接続されていることを認識する(拡張カード認識処理)。
【００７３】
次に、中央処理部１０は、拡張カード１００を認識した後、カード種別Ａに基づき辞書部１１を参照して、カード種別Ａが予め辞書部１１に登録されているか否かを調べる。
ここで、辞書部１１には、グループ１としてカード種別Ａが登録されているので、中央処理部１０は、辞書部１１から登録されているグループ１の登録内容を示すグループ情報１（カード識別Ａを含む）を取得し、このグループ情報１に基づき履歴保持部１２を参照して、履歴保持部１２に実行履歴情報としてカード種別Ａが登録されているか否かを調べる。
【００７４】
尚、履歴保持部１２にカード識別Ａが登録されている場合は、カード識別Ａに対応したＲＯＭプログラム、つまり拡張カード１００のＲＯＭプログラムが実行済みであると判定される。
【００７５】
この時点で、履歴保持部１２には、カード種別Ａを示す情報は記録されていないので、中央処理部１０は、拡張カード１００のＲＯＭプログラムの実行が必要であると判定する。
次いで、中央処理部１０は、カード種別Ａを、ＲＯＭプログラムが実行された実行済カード種別として、履歴保持部１２の実行履歴テーブル(図８)に登録する。
【００７６】
尚、拡張カード１００に対して、カード種別Ａが履歴保持部１２に登録されていないことが通知された場合、拡張カード１００の制御手段１０１が中継装置１３を介して履歴保持部１２にアクセスを行い、カード種別Ａを履歴保持部１２(実行履歴テーブル)に登録する設定としてもよい。
これにより、本体装置１の立ち上げ動作時に、中央処理部１０にかかる処理負荷が軽減され、且つ立ち上げ動作の迅速化を実現することができる。
【００７７】
ここで、中央処理部１０は、拡張カード１００内に設定されたＲＯＭプログラムの実行を行う。
【００７８】
次に、図８に示す時刻1では、先にＲＯＭプログラムが実行された拡張カード１００のカード種別であるカード種別Ａが、実行履歴情報として履歴情報テーブルに記録されている。
ここで、中央処理部１０は、拡張カード２００を認識し(認識処理)、拡張カード２００上のＲＯＭプログラムの実行が必要か否かの判定を行い、実行が必要と判定した場合に拡張カード２００のＲＯＭプログラムの実行を行う。
【００７９】
以下、この時刻１における動作について、詳説する。
【００８０】
まず中央処理部１０は、拡張カード２００の認証処理を行った後、この認証処理時に取得した情報(カード識別情報)に基づき辞書部１１を参照し、拡張カード２００のカード種別を示すカード種別情報(カード種別Ｂ)が辞書部１１に登録されているか否かを調べる。
【００８１】
ここでは、カード種別Ｂはグループ1として辞書部１１に登録されている。このため、中央処理部１０は、登録されているグループ１（カード識別Ｂを含む）の登録内容であるグループ情報１を取得すると共に、このグループ情報１に基づき履歴保持部１２を参照して、カード識別Ｂに対応したＲＯＭプログラム、つまり拡張カード２００のＲＯＭプログラムが実行済みであるか否かを調べる。
【００８２】
この時点で履歴保持部１２(実行履歴テーブル)には、上述のように、グループ１が実行履歴情報として記録されている。グループ１には拡張カード２００のカード種別であるカード種別Ｂが含まれるため、中央処理部１０は、カード種別Ｂを既に実行された実行済みカード種別と判定し、これにより、拡張カード２００(カード種別Ｂ)のＲＯＭプログラムを実行不要と判断する。
このため、ここでは、拡張カード２００のＲＯＭプログラムの実行は行われない。
【００８３】
次に、図８に示す時刻２では、先に共通ＲＯＭプログラムが実行されたグループ１が、実行履歴情報として履歴情報テーブルに記録されている。
ここで、中央処理部１０は、拡張カード３００を認識し(認識処理)、拡張カード３００上のＲＯＭプログラムの実行が必要か否かの判定を行い、実行が必要と判定した場合に拡張カード３００のＲＯＭプログラムの実行を行う。
【００８４】
以下、この時刻２における動作について、詳説する。
【００８５】
まず中央処理部１０は、拡張カード３００の認証処理を行った後、この認証処理時に取得した情報(カード識別情報)に基づき辞書部１１を参照し、拡張カード３００のカード種別を示すカード種別情報(カード種別Ｃ)が辞書部１１に登録されているか否かを調べる。
【００８６】
ここでは、カード種別Ｃは辞書部１１に登録されていない。このため、中央処理部１０は、拡張カード３００からカード種別Ｃにかかる情報を取得すると共に、この情報に基づき履歴保持部１２を参照する。
【００８７】
この時点で履歴保持部１２(実行履歴テーブル)には、グループ１のみが実行履歴情報として記録されている。グループ１にはカード種別Ｃが含まれないため、中央制御部１０は、拡張カード３００(カード種別Ｃ)のＲＯＭプログラムは実行が必要であると判定する。
【００８８】
ここで、中央処理部１０は、カード種別Ｃは辞書部１１に登録されていないため、上記取得したカード種別Ｃに係る情報を履歴保持部１２(実行履歴テーブル)に登録すると共に、拡張カード３００(カード種別Ｃ)に設定されたＲＯＭプログラムの実行を行う。
【００８９】
次に、図８に示す時刻３では、先に共通ＲＯＭプログラムが実行されたグループ１とカード種別Ｃが、実行履歴情報として履歴情報テーブル(履歴保持部１２)に記録されている。
ここで、中央処理部１０は、拡張カード４００を認識し(認識処理)、拡張カード４００上に設定されたＲＯＭプログラムの実行が必要か否かの判定を行い、実行が必要と判定した場合に拡張カード４００のＲＯＭプログラムの実行を行う。
【００９０】
以下、この時刻３における動作について、詳説する。
【００９１】
まず中央処理部１０は、拡張カード４００の認証処理を行った後、この認証処理時に取得した情報(カード識別情報)に基づき辞書部１１を参照し、拡張カード４００のカード種別を示すカード種別情報(カード種別Ｄ)が辞書部１１に登録されているか否かを調べる。
【００９２】
ここでは、カード種別Ｃは辞書部１１に登録されていない。このため、中央処理部１０は、拡張カード４００からカード種別Ｄにかかる情報を取得すると共に、この情報に基づき履歴保持部１２を参照する。
【００９３】
この時点で履歴保持部１２(実行履歴テーブル)には、グループ１とカード種別Ｃが実行履歴情報として記録されている。グループ１にはカード種別Ｄが含まれないため、中央制御部１０は、拡張カード３００(カード種別Ｄ)のＲＯＭプログラムは実行が必要であると判定する。
【００９４】
ここで、中央処理部１０は、カード種別Ｄは辞書部１１に登録されていないため、上記取得したカード種別Ｄに係る情報を履歴保持部１２(実行履歴テーブル)に登録すると共に、拡張カード４００に設定されたＲＯＭプログラムの実行を行う。
【００９５】
次に、図８に示す時刻４では、先に共通ＲＯＭプログラムが実行されたグループ１とカード種別ＣおよびＤが、実行履歴情報として履歴情報テーブル(履歴保持部１２)に記録されている。
ここで、中央処理部１０は、拡張カード５００を認識し(認識処理)、拡張カード５００上に設定されたＲＯＭプログラムの実行が必要か否かの判定を行い、実行が必要と判定した場合に拡張カード５００のＲＯＭプログラムの実行を行う。
【００９６】
以下、この時刻４における動作について、詳説する。
【００９７】
まず中央処理部１０は、拡張カード５００の認証処理を行った後、この認証処理時に取得した情報(カード識別情報)に基づき辞書部１１を参照し、拡張カード５００のカード種別を示すカード種別情報(カード種別Ｂ)が辞書部１１に登録されているか否かを調べる。
【００９８】
ここでは、カード種別Ｂはグループ1として辞書部１１に登録されている。このため、中央処理部１０は、登録されているグループ１（カード識別Ｂを含む）の登録内容であるグループ情報１を取得すると共に、このグループ情報１に基づき履歴保持部１２を参照して、カード識別Ｂに対応したＲＯＭプログラム、つまり拡張カード５００のＲＯＭプログラムが実行済みであるか否かを調べる。
【００９９】
この時点で履歴保持部１２(実行履歴テーブル)には、上述のように、グループ１、カード種別Ｃ、およびカード種別Ｄが実行履歴情報として記録されている。グループ１には拡張カード５００のカード種別であるカード種別Ｂが含まれるため、中央処理部１０は、カード種別Ｂを既に実行された実行済みカード種別と判定し、これにより、拡張カード５００(カード種別Ｂ)のＲＯＭプログラムを実行不要と判断する。
このため、ここでは、拡張カード５００のＲＯＭプログラムの実行は行われない。
【０１００】
次に、図８に示す時刻５では、先に共通ＲＯＭプログラムが実行されたグループ１とカード種別ＣおよびＤが、実行履歴情報として履歴情報テーブル(履歴保持部１２)に記録されている。
ここで、中央処理部１０は、拡張カード６００を認識し(認識処理)、拡張カード６００上に設定されたＲＯＭプログラムの実行が必要か否かの判定を行い、実行が必要と判定した場合に拡張カード６００のＲＯＭプログラムの実行を行う。
【０１０１】
以下、この時刻５における動作について、詳説する。
【０１０２】
まず中央処理部１０は、拡張カード６００の認証処理を行った後、この認証処理時に取得した情報(カード識別情報)に基づき辞書部１１を参照し、拡張カード６００のカード種別を示すカード種別情報(カード種別Ｃ)が辞書部１１に登録されているか否かを調べる。
【０１０３】
ここでは、カード種別Ｃは辞書部１１に登録されていない。このため、中央処理部１０は、拡張カード６００からカード種別Ｄにかかる情報を取得すると共に、この情報に基づき履歴保持部１２を参照する。
【０１０４】
この時点で履歴保持部１２(実行履歴テーブル)には、上述のように、グループ１、カード種別Ｃ、およびカード種別Ｄが実行履歴情報として記録されている。このため、中央処理部１０は、カード種別Ｃを、既に実行された実行済みカード種別と判定し、これにより、拡張カード６００(カード種別Ｃ)のＲＯＭプログラムを実行不要と判断する。
このため、ここでは、拡張カード６００のＲＯＭプログラムの実行は行われない。
【０１０５】
次に、図８に示す時刻６では、先に共通ＲＯＭプログラムが実行されたグループ１とカード種別ＣおよびＤが、実行履歴情報として履歴情報テーブル(履歴保持部１２)に記録されている。
ここで、中央処理部１０は、拡張カード７００を認識し(認識処理)、拡張カード７００上に設定されたＲＯＭプログラムの実行が必要か否かの判定を行い、実行が必要と判定した場合に拡張カード７００のＲＯＭプログラムの実行を行う。
【０１０６】
以下、この時刻６における動作について、詳説する。
【０１０７】
まず中央処理部１０は、拡張カード７００の認証処理を行った後、この認証処理時に取得した情報(カード識別情報)に基づき辞書部１１を参照し、拡張カード７００のカード種別を示すカード種別情報(カード種別Ａ)が辞書部１１に登録されているか否かを調べる。
【０１０８】
ここでは、カード種別Ａはグループ1として辞書部１１に登録されている。このため、中央処理部１０は、登録されているグループ１（カード識別Ａを含む）の登録内容であるグループ情報１を取得すると共に、このグループ情報１に基づき履歴保持部１２を参照して、カード識別Ａに対応したＲＯＭプログラム、つまり拡張カード７００のＲＯＭプログラムが実行済みであるか否かを調べる。
【０１０９】
この時点で履歴保持部１２(実行履歴テーブル)には、上述のように、グループ１、カード種別Ｃ、およびカード種別Ｄが実行履歴情報として記録されている。グループ１には拡張カード７００のカード種別であるカード種別Ａが含まれるため、中央処理部１０は、カード種別Ａを既に実行された実行済みカード種別と判定し、これにより、拡張カード７００(カード種別Ａ)のＲＯＭプログラムを実行不要と判断する。
このため、ここでは、拡張カード７００のＲＯＭプログラムの実行は行われない。
【０１１０】
次に、図８に示す時刻７では、先に共通ＲＯＭプログラムが実行されたグループ１とカード種別ＣおよびＤが、実行履歴情報として履歴情報テーブル(履歴保持部１２)に記録されている。
ここで、中央処理部１０は、拡張カード８００を認識し(認識処理)、拡張カード８００上に設定されたＲＯＭプログラムの実行が必要か否かの判定を行い、実行が必要と判定した場合に拡張カード８００のＲＯＭプログラムの実行を行う。
【０１１１】
以下、この時刻７における動作について、詳説する。
【０１１２】
まず中央処理部１０は、拡張カード８００の認証処理を行った後、この認証処理時に取得した情報(カード識別情報)に基づき辞書部１１を参照し、拡張カード８００のカード種別を示すカード種別情報(カード種別Ｄ)が辞書部１１に登録されているか否かを調べる。
【０１１３】
ここでは、カード種別Ｄは辞書部１１に登録されていない。このため、中央処理部１０は、拡張カード６００からカード種別Ｄにかかる情報を取得すると共に、この情報に基づき履歴保持部１２を参照する。
【０１１４】
この時点で履歴保持部１２の実行履歴テーブルには、上述のように、グループ１、カード種別Ｃ、およびカード種別Ｄが実行履歴情報として記録されている。このため、中央処理部１０は、カード種別Ｄを、既に実行された実行済みカード種別と判定し、これにより、拡張カード８００(カード種別Ｄ)のＲＯＭプログラムを実行不要と判断する。
このため、ここでは、拡張カード８００のＲＯＭプログラムの実行は行われない。
【０１１５】
次に、図８に示す時刻８では、搭載された全ての拡張カード１００〜８００の探索が終わった状態を示している。
ここでは、履歴保持部１２にはグループ1とカード種別Ｃおよびカード種別Ｄが記録されている。これは、各々1回ずつ合計３回、拡張カード上のＲＯＭプログラムが実行されたことを示している。
【０１１６】
以上のように、本実施形態２においても、実施形態１と同様に、予め設定されたカード種別及びグループに基づき拡張カード上のＲＯＭプログラムが実行することにより、必要最小限の実行回数によって、本体装置に具備された拡張カードの初期化を行うことができ、これにより、本体装置の電源投入時における起動時間を有効に短縮することができる。
【産業上の利用可能性】
【０１１７】
本発明は、多数の拡張カード、拡張ボードなどの拡張装置が実装された大規模サーバ装置などのコンピュータシステムに適用することができる。
【図面の簡単な説明】
【０１１８】
【図１】本発明によるコンピュータ起動システムの一実施形態を示す概略ブロック図である。
【図２】図１に開示したコンピュータ起動システムにおける拡張カードのカード種別を示す説明図である。
【図３】図１に開示したコンピュータ起動システムにおけるカード種別に設定されたグループを示す説明図である。
【図４】図１に開示したコンピュータ起動システムにおける実行履歴テーブルの一例を示す説明図である。
【図５】本発明によるコンピュータ起動システムの一実施形態を示す概略ブロック図である。
【図６】図５に開示したコンピュータ起動システムにおける拡張カードのカード種別を示す説明図である。
【図７】図５に開示したコンピュータ起動システムにおけるカード種別に設定されたグループを示す説明図である。
【図８】図５に開示したコンピュータ起動システムにおける実行履歴テーブルの一例を示す説明図である。
【符号の説明】
【０１１９】
１  本体装置
１０  中央処理部(初期化実行手段,実行処理制御手段)
１１  辞書部(共通命令記憶手段)
１２  履歴保持部(履歴情報記憶手段)
１３  中継部
１００，２００，３００，４００，５００，６００，７００，８００  拡張カード
１０１，２０１，３０１，４０１，５０１，６０１，７０１，８０１  コントローラ
１０２，２０２，３０２，４０２，５０２，６０２，７０２，８０２  ＲＯＭ(Read  Only  Memory)
【図１】
2010146384.tif 000003
【図２】
2010146384.tif 000004
【図３】
2010146384.tif 000005
【図４】
2010146384.tif 000006
【図５】
2010146384.tif 000007
【図６】
2010146384.tif 000008
【図７】
2010146384.tif 000009
【図８】
2010146384.tif 000010