(57)【要約】【課題】周辺デバイスの制御レジスタに初期値を設定する初期化処理に要する時間を短縮する。【解決手段】この初期値設定装置は、電源投入時において、コンピュータシステムに含まれる複数の周辺デバイスに備えられた制御レジスタに初期値を順次設定する装置である。この装置は、第１周辺デバイスの制御レジスタのアドレスと当該アドレスに設定する初期値とが対応付けられた複数のテーブルを有する第１初期化データテーブル１と、第２周辺デバイスの制御レジスタのアドレスと当該アドレスに設定する初期値とが対応付けられた複数のテーブルを有する第２初期化データテーブル２と、第１及び第２初期化データテーブル１、２のいずれか一方に基づいて、アドレスに初期値を設定する待ち時間の間に、第１及び第２初期化データテーブル１、２の他方に基づいて、アドレスに初期値を設定する初期値設定手段３を備えている。【選択図】図１
2011186917.tif 000002
【特許請求の範囲】
【請求項１】
電源投入時において、コンピュータシステムに含まれる複数の周辺デバイスに備えられた制御レジスタに初期値を順次設定する初期値設定装置であって、
第１周辺デバイスの前記制御レジスタのアドレスと当該アドレスに設定する初期値とが対応付けられた複数のテーブルを有する第１初期化データテーブルと、
第２周辺デバイスの前記制御レジスタのアドレスと当該アドレスに設定する初期値とが対応付けられた複数のテーブルを有する第２初期化データテーブルと、
前記第１初期化データテーブルを参照し、前記アドレスに前記初期値を設定する初期化処理を実行する待ち時間の間に、前記第２初期化データテーブルを参照し、前記初期化処理を実行する初期値設定手段とを、備えた初期値設定装置。
【請求項２】
前記待ち時間は、ｉ番目（ｉは自然数）の前記テーブルの前記初期化処理を実行してから、ｉ＋１番目の前記テーブルの前記初期化処理が開始可能となるまでに要する時間であり、
前記第１及び第２初期設定管理テーブルは、ｉ番目の前記テーブルに、ｉ番目の前記テーブルの前記初期化処理を実行してから、ｉ＋１番目の前記テーブルの前記初期化処理が開始可能となるまでに要する待ち時間を保持し、
前記初期値設定手段は、前記第１及び第２初期設定管理テーブルに保持された前記待ち時間に基づいて、前記テーブルの前記初期化処理を実行する前記第１及び第２初期設定管理テーブルを選択して前記初期化処理を実行する
請求項１に記載の初期値設定装置。
【請求項３】
前記初期値設定手段は、前記第１初期設定管理テーブルの前記ｉ番目のテーブルの前記初期化処理を実行した後に、前記前記ｉ＋１番目のテーブルの前記初期化処理を実行しようとする際に、前記ｉ番目のテーブルの前記待ち時間に、「０」以外の値が設定されていた場合には、当該ｉ＋１番目のテーブルの前記初期化処理を中止し、前記第２初期設定管理テーブルの前記初期化処理に切り替える
請求項２に記載の初期値設定装置。
【請求項４】
前記第１及び第２初期設定管理テーブルは、前記第１及び第２初期設定管理テーブルに含まれる全ての前記テーブルの前記初期化処理が完了したか否かを示すステータス情報を保持し、
前記初期値設定手段は、前記第１及び第２初期設定管理テーブルに保持された前記ステータス情報に基づいて、前記第１及び第２初期設定管理テーブルに含まれる全ての前記テーブルの前記初期化処理が完了していない前記第１又は第２初期設定管理テーブルを前記初期化処理の対象として選択する
請求項１乃至３のうちいずれか１項に記載の初期値設定装置。
【請求項５】
前記第１及び第２初期設定管理テーブルは、次に前記初期化処理が実行される前記ｉ＋１番目の前記テーブルの前記初期化処理の実行可能時刻を保持し、
前記初期値設定手段は、
前記第１初期設定管理テーブルの前記ｉ番目のテーブルの前記初期化処理が実行された後に、前記ｉ番目のテーブルに「０」以外の前記待ち時間が設定されている場合には、現在の時刻に、前記ｉ番目の前記待ち時間を足し合わせた値を、前記実行可能時刻に設定し、
前記実行可能時刻に基づいて、前記初期化処理を実行する前記第１又は第２初期設定管理テーブルを選択する
請求項４に記載の初期値設定装置。
【請求項６】
前記初期値設定手段は、前記初期化処理を実行する前記第１及び第２初期設定管理テーブルのいずれか一方を選択するテーブル選択手段と、
前記テーブル選択手段によって選択された前記第１又は第２初期設定管理テーブルの前記初期化処理を実行するテーブル実行手段と、を有する
請求項１乃至５のうちいずれか１項に記載の初期値設定装置。
【請求項７】
複数の周辺デバイスと、
請求項１乃至６のうちいずれか１項に記載の初期値設定装置と、を備えたコンピュータシステム。
【請求項８】
コンピュータシステムに含まれる複数の周辺デバイスに備えられた制御レジスタに、初期値を順次設定する初期値設定方法であって、
第１周辺デバイスの前記制御レジスタのアドレスと当該アドレスに設定する初期値とが対応付けられた複数のテーブルを有する第１初期化データテーブルを参照して、前記アドレスに前記初期値を設定する初期化処理を実行する間の待ち時間に、第２周辺デバイスの前記制御レジスタのアドレスと当該アドレスに設定する初期値とが対応付けられた複数のテーブルを有する第２初期化データテーブルを参照して、前記初期化処理を実行する、初期化設定方法。
【請求項９】
コンピュータシステムに含まれる複数の周辺デバイスに備えられた制御レジスタに、初期値を順次設定する処理をコンピュータに実行させるプログラムであって、
第１周辺デバイスの前記制御レジスタのアドレスと当該アドレスに設定する初期値とが対応付けられた複数のテーブルを有する第１初期化データテーブルを参照して、前記アドレスに前記初期値を設定する初期化処理を実行する間の待ち時間に、第２周辺デバイスの前記制御レジスタのアドレスと当該アドレスに設定する初期値とが対応付けられた複数のテーブルを有する第２初期化データテーブルを参照して、前記初期化処理を実行する、処理をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、初期値設定装置、これを備えたコンピュータシステム及びコンピュータシステムの初期化方法に関する。
【背景技術】
【０００２】
一般的に、複数の周辺デバイスを含むコンピュータシステムに電源を投入した際には、コンピュータシステムのプロセッサが、各周辺デバイスの制御レジスタに初期値を設定する必要がある（特許文献１）。
【０００３】
特許文献２には、特定アドレス空間に格納されている設定データテーブルからアドレスデータをリードし、アドレスデータがターミネート値でなければ、設定データテーブルから設定データをリードし、アドレスデータをアドレスとする周辺装置のモードレジスタに設定データをライトする処理を実行する装置が開示されている（特許文献２の０００７）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平１０−３０７６４９号公報
【特許文献２】特開平４−３６１３１１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ここで、ある周辺デバイスの第１の制御レジスタに初期値を書き込むコマンドを発行してから、その周辺デバイスの第２の制御レジスタに初期値を書き込むまでには、所定の時間だけ待つ必要がある場合がある。しかしながら、特許文献２に開示された技術では、設定データテーブルに従って、順次設定データを設定していくため、初期化処理に要する時間は、すべての周辺デバイスの制御レジスタに初期値が書き込まれるまでに要する待ち時間の総和となる。すなわち、特許文献２に開示された技術では、初期化処理に時間がかかるという問題がある。
【０００６】
本発明は、このような問題点に対してなされたものであり、周辺デバイスの制御レジスタに初期値を書き込む初期化処理時間を短縮することを目的とする。
【課題を解決するための手段】
【０００７】
本発明に係る初期値設定装置は、電源投入時において、コンピュータシステムに含まれる複数の周辺デバイスに備えられた制御レジスタに初期値を順次設定する初期値設定装置である。この装置は、第１周辺デバイスの前記制御レジスタのアドレスと当該アドレスに設定する初期値とが対応付けられた複数のテーブルを有する第１初期化データテーブルと、第２周辺デバイスの前記制御レジスタのアドレスと当該アドレスに設定する初期値とが対応付けられた複数のテーブルを有する第２初期化データテーブルと、前記第１初期化データテーブルを参照し、前記アドレスに前記初期値を設定する初期化処理を実行する待ち時間の間に、前記第２初期化データテーブルを参照し、前記初期化処理を実行する初期値設定手段とを、備えたことを特徴とする。
【発明の効果】
【０００８】
本発明に係る初期値設定装置によれば、周辺デバイスの制御レジスタに初期値を書き込む初期化処理の時間を短縮することができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施の形態１に係る初期値設定装置の構成を示すブロック図である。
【図２】本発明の実施の形態２に係る初期値設定装置の構成を示すブロック図である。
【図３】本発明の実施の形態２に係る初期化設定装置における、初期化処理の開始処理を示すフローチャートである。
【図４】本発明の実施の形態２に係る初期化設定装置における、テーブル選択処理を示すフローチャートである。
【図５】本発明の実施の形態２に係る初期化設定装置において、ステータスが「未実行」である初期化データテーブルの初期化処理の開始処理を示すフローチャートである。
【図６】本発明の実施の形態２に係る初期化設定装置において、ステータスが「実行中」の処理を示すフローチャートである。
【図７】本発明の実施の形態２に係る初期化設定装置において、ステータスが「実行中」である初期化データテーブルの初期化処理を示すフローチャートである。
【発明を実施するための形態】
【００１０】
実施の形態１
以下、添付した図面を参照して本発明の実施の形態について説明する。図１は、本発明の実施の形態に係る初期値設定装置の構成例を示すブロック図である。この初期値設定装置１００は、電源投入時において、コンピュータシステムに含まれる複数の周辺デバイス（ハードディスクやキーボード等）に備えられた制御レジスタ（図示せず）に、初期値を順次設定する装置である。
【００１１】
この初期値設定装置１００は、第１初期化データテーブル１、第２初期化データテーブル２、及び初期値設定手段３を備えている。初期化データテーブルは、周辺デバイス毎に設けられている。第１初期化データテーブル１は、第１周辺デバイスの制御レジスタのアドレスと、当該アドレスに設定する初期値とが対応付けられた複数のテーブルを有している。このアドレスと初期値は、初期化処理が実行される番号１、２・・順に並べられている。同様に、第２初期化データテーブル２は、第２周辺デバイスの制御レジスタのアドレスと、当該アドレスに設定する初期値とが対応付けられた複数のテーブルを有している。第１初期化データテーブル１及び第２初期化データテーブル２は、コンピュータシステムの内部記憶装置や外部記憶装置に格納されている。
【００１２】
初期値設定手段３は、第１初期化データテーブル１を参照して、当該第１初期化データテーブル１に含まれるテーブルの初期化処理を実行する待ち時間の間に、他方の第２初期化データテーブルに含まれるテーブルの初期化処理を実行するよう構成されている。具体的には、初期値設定手段３は、第１初期化データテーブル１の番号ｉ（ｉは自然数）のテーブルのアドレスに番号iの初期値を書き込むコマンドを発行してから、第１初期化データテーブル１の番号ｉ＋１のテーブルの初期化処理の実行が可能となるまでの待ち時間の間に、第２初期化データテーブル２のテーブルの初期化処理を実行する。逆も同様に、初期値設定手段３は、第２初期化データテーブル２の番号ｉのテーブルのアドレスに、番号ｉのテーブルの初期値を書き込むコマンドを発行してから、第２初期化データテーブル２の番号ｉ＋１のテーブルの初期化処理の実行が可能となるまでの待ち時間の間に、第１初期化データテーブル１の初期化処理を実行する。
【００１３】
ここで、初期値設定手段３は、コンピュータシステムに搭載されたプロセッサが、コンピュータシステムの内部記憶装置に格納されたプログラムを実行することにより実現される。具体的には、プロセッサは、第１及び第２初期化データテーブル１、２のアドレスに対応する周辺デバイスの制御レジスタに、当該アドレスに対応付けられた初期値を書き込むようライトコマンドを送信することで初期化処理を実行する。
【００１４】
このように、本実施の形態に係る初期値設定装置１００によれば、２以上の第１初期化データテーブル１及び第２初期化データテーブル２を設けることで、初期値設定手段３に複数の周辺デバイスの初期化処理を並列させて実行することができる。これにより、初期化処理に要する時間を大幅に短縮することができる。また、本実施の形態に係る初期値設定装置では、第１初期化データテーブル１及び第２初期化データテーブル２を設けているため、周辺デバイス毎に個別の初期化プログラムを作成する必要がなく、初期化プログラムを一本化することができる。
【００１５】
なお、図１では、初期値設定装置１００は、２つの初期化データテーブルを備えるように構成されているが、勿論、３以上の初期化データテーブルを備えるよう構成してもよい。また、上記の説明では、第１初期化データテーブル１及び第２初期化データテーブル２は、周辺デバイス毎に設けられているが、コンピュータシステムに含まれる複数の周辺デバイスをグループ分けし、グループ毎に初期化データテーブルを設けるように構成してもよい。また、本発明は、初期値設定装置１００を含むコンピュータシステムとして実現することもできる。また、プロセッサが複数設けられたコンピュータシステムにおいては、プロセッサの数以上の初期化データテーブルを設けることにより、本願の効果を奏することができる。
【００１６】
実施の形態２．
次に、本発明の実施の形態２に係る初期値設定装置２００について説明する。図２は、本発明の実施の形態２に係る初期値設定装置２００の構成を示すブロック図である。実施の形態２では、実施の形態１の初期化データテーブルとして、３つの初期化データテーブル２１乃至２３が設けられている。この初期化データテーブル２１乃至２３の番号ｉのテーブルには、アドレスと初期値に加え、前のテーブル（番号ｉ）に対する初期値の書き込みコマンドが発行されてから、次のテーブル（番号ｉ＋１）の初期値の書き込みが可能となるまでの待ち時間が対応付けられている。
【００１７】
具体的には、番号３のテーブルには、番号３のテーブルの初期値の書き込みコマンドが発行されてから、番号４のテーブルの書き込みコマンドを受け付けることができるまでの待ち時間Ｗ３が保持されている。また、待ち時間が不要なテーブルについては、待ち時間として「０」が保持される。
【００１８】
さらに、初期化データテーブル２１乃至２３には、ステータス、実行可能時刻、及び、次回実行番号の情報格納領域が設けられている。ステータスは、その初期化データテーブルに含まれる全てのテーブルの初期化処理が完了したか否かを示す情報である。具体的には、初期化データテーブル２１のステータスとしては、番号１乃至５のテーブルの初期化処理が完了していない場合には「未実行」、番号１乃至５の全てのテーブルの初期化処理が途中である場合には「実行中」、番号１乃至５の全てのテーブルの初期化処理が完了している場合には「実行済」という情報が保持される。
【００１９】
実行可能時刻には、次に実行される番号ｉ＋１のテーブルの初期化処理が可能な時刻が保持される。この実行可能時刻は、テーブル実行手段１２によって、番号ｉの初期化処理が実行された時刻、具体的には、テーブルの初期値の書き込みコマンドが送信された時刻に、番号ｉのテーブルの待ち時間を足し合わせることで算出される。また、次回実行番号には、次に実行されるテーブルの番号、すなわち、「ｉ＋１」が保持される。
【００２０】
初期値設定手段１０は、テーブル選択手段１１及びテーブル実行手段１２を備えている。テーブル選択手段１１は、初期化データテーブル２１乃至２３のうち、テーブル実行手段１２によって初期化処理を実行する対象の周辺デバイスに対応する初期化データテーブルを順次選択する。テーブル実行手段１２は、テーブル選択手段１１によって選択された初期化データテーブルのテーブルの初期化処理を実行する。
【００２１】
具体的には、テーブル実行手段１２は、実行しようとする番号ｉのテーブルの待ち時間に、「０」以外の値が設定されている場合には、番号ｉ＋１のテーブルの初期化処理の実行を中断する。そして、テーブル実行手段１２は、テーブル選択手段１１によって選択された次の初期化データテーブルの初期化処理を実行する。具体的には、テーブル実行手段１２は、現在実行中の初期化データテーブル２１の番号ｉのテーブルに、待ち時間が設定されていた場合には、次の番号ｉ＋１のテーブルの初期化処理を実行せずに中断する。そして、テーブル選択手段１１が、次の初期化データテーブル２２を選択すると、テーブル実行手段１２は、初期化データテーブル２２の初期化処理の実行に切り替える。
【００２２】
このようにして、テーブル実行手段１２は、一の周辺デバイスの初期化処理の待ち時間の間は、他の周辺デバイスの初期化処理を実行する。なお、テーブル選択手段１１及びテーブル実行手段１２は、コンピュータシステムのプロセッサが、コンピュータシステムの記憶装置に格納されたプログラムを実行することにより実現される。
【００２３】
図３は、本発明の実施の形態２に係る初期化設定装置２００における、初期化処理の開始処理を示すフローチャートである。はじめに、テーブル選択手段１１は、すべての初期化データテーブルのステータスを「未実行」に設定する(ステップＡ１)。そして、図４に示すテーブル選択処理を開始する(ステップＡ２)。
【００２４】
図４は、本発明の実施の形態２に係る初期化設定装置２００における、テーブル選択処理を示すフローチャートである。テーブル選択手段１１は、すべての初期化データテーブル２１乃至２３を順に選択する(ステップＢ１)。テーブル選択手段１１は、選択した初期化データテーブル２１乃至２３のステータスをチェックする(ステップＢ２)。ここで、ステップＢ２において、選択した初期化データテーブルのステータスが「未実行」であれば、ステップＢ５（図５）に進む。一方、ステップＢ２において、選択した初期化データテーブルのステータスが「実行中」であれば、ステップＢ６（図６）に進む。
【００２５】
また、ステップＢ２において、ステータスが「実行済」であれば、すべての初期化データテーブルのステータスが「実行済」であるか否かをチェックする(ステップＢ３)。ステップＢ３において、全ての初期化データテーブル２１乃至２３のステータスが「実行済」であれば（ＹＥＳ）、初期化処理を終了する(ステップＢ４)。一方、ステップＢ３において、全ての初期化データテーブル２１乃至２３のステータスが「実行済」でなければ（ＮＯ）、ステップＢ１に戻り、テーブル選択手段１１は、次の初期化データテーブルを選択する。
【００２６】
図５は、本発明の実施の形態２に係る初期化設定装置２００における、ステータスが「未実行」である初期化データテーブルの初期化処理の開始処理を示すフローチャートである。テーブル選択手段１１は、初期化処理の対象とする初期化データテーブルの次回実行番号を「１」に設定する(ステップＣ１)。次に、テーブル選択手段１１は、ステータスを「未実行」から「実行中」に変更する(ステップＣ２)。そして、テーブル選択手段１１は、テーブルをテーブル実行手段１２に渡す（ステップＣ３）。具体的には、図７の処理に移行する。
【００２７】
図６は、本発明の実施の形態２に係る初期化設定装置２００における、ステータスが「実行中」である初期化データテーブルの初期化処理を示すフローチャートである。テーブル選択手段１１は、初期化処理の対象とする初期化データテーブルに実行可能時刻が設定されているか否かをチェックする(ステップＤ１)。ステップＤ１において、実行可能時刻が設定されていなければ（ＮＯ）、その初期化データテーブルに含まれるテーブルをテーブル実行手段１２に渡す。テーブル実行手段１２は、このテーブルの初期化処理を実行する(ステップＤ２)。
【００２８】
ステップＤ１において、実行可能時刻が設定されていれば（ＹＥＳ）、その時刻が現在の時刻よりも後であるかどうかをチェックする(ステップＤ３)。ステップＤ３において、実行可能時刻が現在の時刻よりも前であれば（ＮＯ）、実行可能時刻の設定をクリアする(ステップＤ４)。そして、テーブル選択手段１１は、その初期化データテーブルの、直近に実行されたテーブルの次のテーブルをテーブル実行手段１２に渡す(ステップＤ２)。一方、ステップＤ３において、実行可能時刻が現在の時刻よりも後であれば（ＹＥＳ）、再び、図４のステップＢ１に戻る(ステップＤ５)。
【００２９】
図７は、本発明の実施の形態２に係る初期化設定装置２００における、ステータスが「実行中」である初期化データテーブルの初期化処理を示すフローチャートである。テーブル実行手段１２は、初期化処理の対象とする初期化データテーブルの次回実行番号をリードして、この次回実行番号を変数iとして保持する(ステップＥ１)。そして、番号iのテーブルが存在するかどうかをチェックする(ステップＥ２)。ステップＥ２において、初期化データテーブルに番号iのテーブルが存在しなければ（ＮＯ）、そのテーブルの処理は終了なので、ステータスを「実行済」にする(ステップＥ３)。そして、テーブル選択手段１１による次に実行すべきテーブルの選択処理に戻す(ステップＥ４)。
【００３０】
一方、ステップＥ２において、番号iのテーブルデータが存在する場合は、次回実行番号を(i + 1)にして(ステップＥ５)、番号iのアドレスに番号iの初期値をライトする(ステップＥ６)。そして、番号iのテーブルの待ち時間が「０」か否かをチェックする(ステップＥ７)。ステップＥ７において、番号iのテーブルの待ち時間が「０」であれば（ＹＥＳ）、ステップＥ１に戻って次のテーブルデータの処理を続ける。一方、ステップＥ７において、待ち時間が「０」でなければ（ＮＯ）、現在の時刻に番号ｉのテーブルの待ち時間を加えた時刻を実行可能時刻に設定する(ステップＥ８)。そして、テーブル選択手段１１による、次に実行すべきテーブルの選択処理に戻る(ステップＥ４)。
【００３１】
このように、本実施の形態２に係る初期値設定装置は、実施の形態１と同様に、初期化データテーブルを備えることで、周辺デバイス毎に個別のプログラムを作成する必要がない。また、初期化処理に一定時間待つことが必要な場合であっても、初期化データテーブルを複数持つことにより、複数の周辺デバイス間で初期化処理を並列して実行することができる。これにより、初期化処理全体に要する処理時間を短縮できる。なお、実施の形態１と同様に、本発明は、実施の形態２に係る初期値設定装置を含むコンピュータシステムとして実現することもできる。
【００３２】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。なお、上述の実施の形態では、本発明をハードウェアの構成として説明したが、本発明は、これに限定されるものではない。本発明は、図４乃至７の処理を、プロセッサにコンピュータプログラムを実行させることにより実現することも可能である。この場合、コンピュータプログラムは、記録媒体に記録して提供することも可能であり、また、インターネットその他の通信媒体を介して伝送することにより提供することも可能である。また、記憶媒体には、例えば、フレキシブルディスク、ハードディスク、磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＤＶＤ、ＲＯＭカートリッジ、バッテリバックアップ付きＲＡＭメモリカートリッジ、フラッシュメモリカートリッジ、不揮発性ＲＡＭカートリッジ等が含まれる。
【符号の説明】
【００３３】
１、２、２１〜２３    初期化データテーブル
３、１０    初期値設定手段
１１    テーブル選択手段
１２    テーブル実行手段
１００、２００    初期値設定装置
【図１】
2011186917.tif 000003
【図２】
2011186917.tif 000004
【図３】
2011186917.tif 000005
【図４】
2011186917.tif 000006
【図５】
2011186917.tif 000007
【図６】
2011186917.tif 000008
【図７】
2011186917.tif 000009