説明

初期値設定装置、コンピュータシステム及びコンピュータシステムの初期化方法

【課題】周辺デバイスの制御レジスタに初期値を設定する初期化処理に要する時間を短縮する。
【解決手段】この初期値設定装置は、電源投入時において、コンピュータシステムに含まれる複数の周辺デバイスに備えられた制御レジスタに初期値を順次設定する装置である。この装置は、第1周辺デバイスの制御レジスタのアドレスと当該アドレスに設定する初期値とが対応付けられた複数のテーブルを有する第1初期化データテーブル1と、第2周辺デバイスの制御レジスタのアドレスと当該アドレスに設定する初期値とが対応付けられた複数のテーブルを有する第2初期化データテーブル2と、第1及び第2初期化データテーブル1、2のいずれか一方に基づいて、アドレスに初期値を設定する待ち時間の間に、第1及び第2初期化データテーブル1、2の他方に基づいて、アドレスに初期値を設定する初期値設定手段3を備えている。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、初期値設定装置、これを備えたコンピュータシステム及びコンピュータシステムの初期化方法に関する。
【背景技術】
【0002】
一般的に、複数の周辺デバイスを含むコンピュータシステムに電源を投入した際には、コンピュータシステムのプロセッサが、各周辺デバイスの制御レジスタに初期値を設定する必要がある(特許文献1)。
【0003】
特許文献2には、特定アドレス空間に格納されている設定データテーブルからアドレスデータをリードし、アドレスデータがターミネート値でなければ、設定データテーブルから設定データをリードし、アドレスデータをアドレスとする周辺装置のモードレジスタに設定データをライトする処理を実行する装置が開示されている(特許文献2の0007)。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開平10−307649号公報
【特許文献2】特開平4−361311号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
ここで、ある周辺デバイスの第1の制御レジスタに初期値を書き込むコマンドを発行してから、その周辺デバイスの第2の制御レジスタに初期値を書き込むまでには、所定の時間だけ待つ必要がある場合がある。しかしながら、特許文献2に開示された技術では、設定データテーブルに従って、順次設定データを設定していくため、初期化処理に要する時間は、すべての周辺デバイスの制御レジスタに初期値が書き込まれるまでに要する待ち時間の総和となる。すなわち、特許文献2に開示された技術では、初期化処理に時間がかかるという問題がある。
【0006】
本発明は、このような問題点に対してなされたものであり、周辺デバイスの制御レジスタに初期値を書き込む初期化処理時間を短縮することを目的とする。
【課題を解決するための手段】
【0007】
本発明に係る初期値設定装置は、電源投入時において、コンピュータシステムに含まれる複数の周辺デバイスに備えられた制御レジスタに初期値を順次設定する初期値設定装置である。この装置は、第1周辺デバイスの前記制御レジスタのアドレスと当該アドレスに設定する初期値とが対応付けられた複数のテーブルを有する第1初期化データテーブルと、第2周辺デバイスの前記制御レジスタのアドレスと当該アドレスに設定する初期値とが対応付けられた複数のテーブルを有する第2初期化データテーブルと、前記第1初期化データテーブルを参照し、前記アドレスに前記初期値を設定する初期化処理を実行する待ち時間の間に、前記第2初期化データテーブルを参照し、前記初期化処理を実行する初期値設定手段とを、備えたことを特徴とする。
【発明の効果】
【0008】
本発明に係る初期値設定装置によれば、周辺デバイスの制御レジスタに初期値を書き込む初期化処理の時間を短縮することができる。
【図面の簡単な説明】
【0009】
【図1】本発明の実施の形態1に係る初期値設定装置の構成を示すブロック図である。
【図2】本発明の実施の形態2に係る初期値設定装置の構成を示すブロック図である。
【図3】本発明の実施の形態2に係る初期化設定装置における、初期化処理の開始処理を示すフローチャートである。
【図4】本発明の実施の形態2に係る初期化設定装置における、テーブル選択処理を示すフローチャートである。
【図5】本発明の実施の形態2に係る初期化設定装置において、ステータスが「未実行」である初期化データテーブルの初期化処理の開始処理を示すフローチャートである。
【図6】本発明の実施の形態2に係る初期化設定装置において、ステータスが「実行中」の処理を示すフローチャートである。
【図7】本発明の実施の形態2に係る初期化設定装置において、ステータスが「実行中」である初期化データテーブルの初期化処理を示すフローチャートである。
【発明を実施するための形態】
【0010】
実施の形態1
以下、添付した図面を参照して本発明の実施の形態について説明する。図1は、本発明の実施の形態に係る初期値設定装置の構成例を示すブロック図である。この初期値設定装置100は、電源投入時において、コンピュータシステムに含まれる複数の周辺デバイス(ハードディスクやキーボード等)に備えられた制御レジスタ(図示せず)に、初期値を順次設定する装置である。
【0011】
この初期値設定装置100は、第1初期化データテーブル1、第2初期化データテーブル2、及び初期値設定手段3を備えている。初期化データテーブルは、周辺デバイス毎に設けられている。第1初期化データテーブル1は、第1周辺デバイスの制御レジスタのアドレスと、当該アドレスに設定する初期値とが対応付けられた複数のテーブルを有している。このアドレスと初期値は、初期化処理が実行される番号1、2・・順に並べられている。同様に、第2初期化データテーブル2は、第2周辺デバイスの制御レジスタのアドレスと、当該アドレスに設定する初期値とが対応付けられた複数のテーブルを有している。第1初期化データテーブル1及び第2初期化データテーブル2は、コンピュータシステムの内部記憶装置や外部記憶装置に格納されている。
【0012】
初期値設定手段3は、第1初期化データテーブル1を参照して、当該第1初期化データテーブル1に含まれるテーブルの初期化処理を実行する待ち時間の間に、他方の第2初期化データテーブルに含まれるテーブルの初期化処理を実行するよう構成されている。具体的には、初期値設定手段3は、第1初期化データテーブル1の番号i(iは自然数)のテーブルのアドレスに番号iの初期値を書き込むコマンドを発行してから、第1初期化データテーブル1の番号i+1のテーブルの初期化処理の実行が可能となるまでの待ち時間の間に、第2初期化データテーブル2のテーブルの初期化処理を実行する。逆も同様に、初期値設定手段3は、第2初期化データテーブル2の番号iのテーブルのアドレスに、番号iのテーブルの初期値を書き込むコマンドを発行してから、第2初期化データテーブル2の番号i+1のテーブルの初期化処理の実行が可能となるまでの待ち時間の間に、第1初期化データテーブル1の初期化処理を実行する。
【0013】
ここで、初期値設定手段3は、コンピュータシステムに搭載されたプロセッサが、コンピュータシステムの内部記憶装置に格納されたプログラムを実行することにより実現される。具体的には、プロセッサは、第1及び第2初期化データテーブル1、2のアドレスに対応する周辺デバイスの制御レジスタに、当該アドレスに対応付けられた初期値を書き込むようライトコマンドを送信することで初期化処理を実行する。
【0014】
このように、本実施の形態に係る初期値設定装置100によれば、2以上の第1初期化データテーブル1及び第2初期化データテーブル2を設けることで、初期値設定手段3に複数の周辺デバイスの初期化処理を並列させて実行することができる。これにより、初期化処理に要する時間を大幅に短縮することができる。また、本実施の形態に係る初期値設定装置では、第1初期化データテーブル1及び第2初期化データテーブル2を設けているため、周辺デバイス毎に個別の初期化プログラムを作成する必要がなく、初期化プログラムを一本化することができる。
【0015】
なお、図1では、初期値設定装置100は、2つの初期化データテーブルを備えるように構成されているが、勿論、3以上の初期化データテーブルを備えるよう構成してもよい。また、上記の説明では、第1初期化データテーブル1及び第2初期化データテーブル2は、周辺デバイス毎に設けられているが、コンピュータシステムに含まれる複数の周辺デバイスをグループ分けし、グループ毎に初期化データテーブルを設けるように構成してもよい。また、本発明は、初期値設定装置100を含むコンピュータシステムとして実現することもできる。また、プロセッサが複数設けられたコンピュータシステムにおいては、プロセッサの数以上の初期化データテーブルを設けることにより、本願の効果を奏することができる。
【0016】
実施の形態2.
次に、本発明の実施の形態2に係る初期値設定装置200について説明する。図2は、本発明の実施の形態2に係る初期値設定装置200の構成を示すブロック図である。実施の形態2では、実施の形態1の初期化データテーブルとして、3つの初期化データテーブル21乃至23が設けられている。この初期化データテーブル21乃至23の番号iのテーブルには、アドレスと初期値に加え、前のテーブル(番号i)に対する初期値の書き込みコマンドが発行されてから、次のテーブル(番号i+1)の初期値の書き込みが可能となるまでの待ち時間が対応付けられている。
【0017】
具体的には、番号3のテーブルには、番号3のテーブルの初期値の書き込みコマンドが発行されてから、番号4のテーブルの書き込みコマンドを受け付けることができるまでの待ち時間W3が保持されている。また、待ち時間が不要なテーブルについては、待ち時間として「0」が保持される。
【0018】
さらに、初期化データテーブル21乃至23には、ステータス、実行可能時刻、及び、次回実行番号の情報格納領域が設けられている。ステータスは、その初期化データテーブルに含まれる全てのテーブルの初期化処理が完了したか否かを示す情報である。具体的には、初期化データテーブル21のステータスとしては、番号1乃至5のテーブルの初期化処理が完了していない場合には「未実行」、番号1乃至5の全てのテーブルの初期化処理が途中である場合には「実行中」、番号1乃至5の全てのテーブルの初期化処理が完了している場合には「実行済」という情報が保持される。
【0019】
実行可能時刻には、次に実行される番号i+1のテーブルの初期化処理が可能な時刻が保持される。この実行可能時刻は、テーブル実行手段12によって、番号iの初期化処理が実行された時刻、具体的には、テーブルの初期値の書き込みコマンドが送信された時刻に、番号iのテーブルの待ち時間を足し合わせることで算出される。また、次回実行番号には、次に実行されるテーブルの番号、すなわち、「i+1」が保持される。
【0020】
初期値設定手段10は、テーブル選択手段11及びテーブル実行手段12を備えている。テーブル選択手段11は、初期化データテーブル21乃至23のうち、テーブル実行手段12によって初期化処理を実行する対象の周辺デバイスに対応する初期化データテーブルを順次選択する。テーブル実行手段12は、テーブル選択手段11によって選択された初期化データテーブルのテーブルの初期化処理を実行する。
【0021】
具体的には、テーブル実行手段12は、実行しようとする番号iのテーブルの待ち時間に、「0」以外の値が設定されている場合には、番号i+1のテーブルの初期化処理の実行を中断する。そして、テーブル実行手段12は、テーブル選択手段11によって選択された次の初期化データテーブルの初期化処理を実行する。具体的には、テーブル実行手段12は、現在実行中の初期化データテーブル21の番号iのテーブルに、待ち時間が設定されていた場合には、次の番号i+1のテーブルの初期化処理を実行せずに中断する。そして、テーブル選択手段11が、次の初期化データテーブル22を選択すると、テーブル実行手段12は、初期化データテーブル22の初期化処理の実行に切り替える。
【0022】
このようにして、テーブル実行手段12は、一の周辺デバイスの初期化処理の待ち時間の間は、他の周辺デバイスの初期化処理を実行する。なお、テーブル選択手段11及びテーブル実行手段12は、コンピュータシステムのプロセッサが、コンピュータシステムの記憶装置に格納されたプログラムを実行することにより実現される。
【0023】
図3は、本発明の実施の形態2に係る初期化設定装置200における、初期化処理の開始処理を示すフローチャートである。はじめに、テーブル選択手段11は、すべての初期化データテーブルのステータスを「未実行」に設定する(ステップA1)。そして、図4に示すテーブル選択処理を開始する(ステップA2)。
【0024】
図4は、本発明の実施の形態2に係る初期化設定装置200における、テーブル選択処理を示すフローチャートである。テーブル選択手段11は、すべての初期化データテーブル21乃至23を順に選択する(ステップB1)。テーブル選択手段11は、選択した初期化データテーブル21乃至23のステータスをチェックする(ステップB2)。ここで、ステップB2において、選択した初期化データテーブルのステータスが「未実行」であれば、ステップB5(図5)に進む。一方、ステップB2において、選択した初期化データテーブルのステータスが「実行中」であれば、ステップB6(図6)に進む。
【0025】
また、ステップB2において、ステータスが「実行済」であれば、すべての初期化データテーブルのステータスが「実行済」であるか否かをチェックする(ステップB3)。ステップB3において、全ての初期化データテーブル21乃至23のステータスが「実行済」であれば(YES)、初期化処理を終了する(ステップB4)。一方、ステップB3において、全ての初期化データテーブル21乃至23のステータスが「実行済」でなければ(NO)、ステップB1に戻り、テーブル選択手段11は、次の初期化データテーブルを選択する。
【0026】
図5は、本発明の実施の形態2に係る初期化設定装置200における、ステータスが「未実行」である初期化データテーブルの初期化処理の開始処理を示すフローチャートである。テーブル選択手段11は、初期化処理の対象とする初期化データテーブルの次回実行番号を「1」に設定する(ステップC1)。次に、テーブル選択手段11は、ステータスを「未実行」から「実行中」に変更する(ステップC2)。そして、テーブル選択手段11は、テーブルをテーブル実行手段12に渡す(ステップC3)。具体的には、図7の処理に移行する。
【0027】
図6は、本発明の実施の形態2に係る初期化設定装置200における、ステータスが「実行中」である初期化データテーブルの初期化処理を示すフローチャートである。テーブル選択手段11は、初期化処理の対象とする初期化データテーブルに実行可能時刻が設定されているか否かをチェックする(ステップD1)。ステップD1において、実行可能時刻が設定されていなければ(NO)、その初期化データテーブルに含まれるテーブルをテーブル実行手段12に渡す。テーブル実行手段12は、このテーブルの初期化処理を実行する(ステップD2)。
【0028】
ステップD1において、実行可能時刻が設定されていれば(YES)、その時刻が現在の時刻よりも後であるかどうかをチェックする(ステップD3)。ステップD3において、実行可能時刻が現在の時刻よりも前であれば(NO)、実行可能時刻の設定をクリアする(ステップD4)。そして、テーブル選択手段11は、その初期化データテーブルの、直近に実行されたテーブルの次のテーブルをテーブル実行手段12に渡す(ステップD2)。一方、ステップD3において、実行可能時刻が現在の時刻よりも後であれば(YES)、再び、図4のステップB1に戻る(ステップD5)。
【0029】
図7は、本発明の実施の形態2に係る初期化設定装置200における、ステータスが「実行中」である初期化データテーブルの初期化処理を示すフローチャートである。テーブル実行手段12は、初期化処理の対象とする初期化データテーブルの次回実行番号をリードして、この次回実行番号を変数iとして保持する(ステップE1)。そして、番号iのテーブルが存在するかどうかをチェックする(ステップE2)。ステップE2において、初期化データテーブルに番号iのテーブルが存在しなければ(NO)、そのテーブルの処理は終了なので、ステータスを「実行済」にする(ステップE3)。そして、テーブル選択手段11による次に実行すべきテーブルの選択処理に戻す(ステップE4)。
【0030】
一方、ステップE2において、番号iのテーブルデータが存在する場合は、次回実行番号を(i + 1)にして(ステップE5)、番号iのアドレスに番号iの初期値をライトする(ステップE6)。そして、番号iのテーブルの待ち時間が「0」か否かをチェックする(ステップE7)。ステップE7において、番号iのテーブルの待ち時間が「0」であれば(YES)、ステップE1に戻って次のテーブルデータの処理を続ける。一方、ステップE7において、待ち時間が「0」でなければ(NO)、現在の時刻に番号iのテーブルの待ち時間を加えた時刻を実行可能時刻に設定する(ステップE8)。そして、テーブル選択手段11による、次に実行すべきテーブルの選択処理に戻る(ステップE4)。
【0031】
このように、本実施の形態2に係る初期値設定装置は、実施の形態1と同様に、初期化データテーブルを備えることで、周辺デバイス毎に個別のプログラムを作成する必要がない。また、初期化処理に一定時間待つことが必要な場合であっても、初期化データテーブルを複数持つことにより、複数の周辺デバイス間で初期化処理を並列して実行することができる。これにより、初期化処理全体に要する処理時間を短縮できる。なお、実施の形態1と同様に、本発明は、実施の形態2に係る初期値設定装置を含むコンピュータシステムとして実現することもできる。
【0032】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。なお、上述の実施の形態では、本発明をハードウェアの構成として説明したが、本発明は、これに限定されるものではない。本発明は、図4乃至7の処理を、プロセッサにコンピュータプログラムを実行させることにより実現することも可能である。この場合、コンピュータプログラムは、記録媒体に記録して提供することも可能であり、また、インターネットその他の通信媒体を介して伝送することにより提供することも可能である。また、記憶媒体には、例えば、フレキシブルディスク、ハードディスク、磁気ディスク、光磁気ディスク、CD−ROM、DVD、ROMカートリッジ、バッテリバックアップ付きRAMメモリカートリッジ、フラッシュメモリカートリッジ、不揮発性RAMカートリッジ等が含まれる。
【符号の説明】
【0033】
1、2、21〜23 初期化データテーブル
3、10 初期値設定手段
11 テーブル選択手段
12 テーブル実行手段
100、200 初期値設定装置

【特許請求の範囲】
【請求項1】
電源投入時において、コンピュータシステムに含まれる複数の周辺デバイスに備えられた制御レジスタに初期値を順次設定する初期値設定装置であって、
第1周辺デバイスの前記制御レジスタのアドレスと当該アドレスに設定する初期値とが対応付けられた複数のテーブルを有する第1初期化データテーブルと、
第2周辺デバイスの前記制御レジスタのアドレスと当該アドレスに設定する初期値とが対応付けられた複数のテーブルを有する第2初期化データテーブルと、
前記第1初期化データテーブルを参照し、前記アドレスに前記初期値を設定する初期化処理を実行する待ち時間の間に、前記第2初期化データテーブルを参照し、前記初期化処理を実行する初期値設定手段とを、備えた初期値設定装置。
【請求項2】
前記待ち時間は、i番目(iは自然数)の前記テーブルの前記初期化処理を実行してから、i+1番目の前記テーブルの前記初期化処理が開始可能となるまでに要する時間であり、
前記第1及び第2初期設定管理テーブルは、i番目の前記テーブルに、i番目の前記テーブルの前記初期化処理を実行してから、i+1番目の前記テーブルの前記初期化処理が開始可能となるまでに要する待ち時間を保持し、
前記初期値設定手段は、前記第1及び第2初期設定管理テーブルに保持された前記待ち時間に基づいて、前記テーブルの前記初期化処理を実行する前記第1及び第2初期設定管理テーブルを選択して前記初期化処理を実行する
請求項1に記載の初期値設定装置。
【請求項3】
前記初期値設定手段は、前記第1初期設定管理テーブルの前記i番目のテーブルの前記初期化処理を実行した後に、前記前記i+1番目のテーブルの前記初期化処理を実行しようとする際に、前記i番目のテーブルの前記待ち時間に、「0」以外の値が設定されていた場合には、当該i+1番目のテーブルの前記初期化処理を中止し、前記第2初期設定管理テーブルの前記初期化処理に切り替える
請求項2に記載の初期値設定装置。
【請求項4】
前記第1及び第2初期設定管理テーブルは、前記第1及び第2初期設定管理テーブルに含まれる全ての前記テーブルの前記初期化処理が完了したか否かを示すステータス情報を保持し、
前記初期値設定手段は、前記第1及び第2初期設定管理テーブルに保持された前記ステータス情報に基づいて、前記第1及び第2初期設定管理テーブルに含まれる全ての前記テーブルの前記初期化処理が完了していない前記第1又は第2初期設定管理テーブルを前記初期化処理の対象として選択する
請求項1乃至3のうちいずれか1項に記載の初期値設定装置。
【請求項5】
前記第1及び第2初期設定管理テーブルは、次に前記初期化処理が実行される前記i+1番目の前記テーブルの前記初期化処理の実行可能時刻を保持し、
前記初期値設定手段は、
前記第1初期設定管理テーブルの前記i番目のテーブルの前記初期化処理が実行された後に、前記i番目のテーブルに「0」以外の前記待ち時間が設定されている場合には、現在の時刻に、前記i番目の前記待ち時間を足し合わせた値を、前記実行可能時刻に設定し、
前記実行可能時刻に基づいて、前記初期化処理を実行する前記第1又は第2初期設定管理テーブルを選択する
請求項4に記載の初期値設定装置。
【請求項6】
前記初期値設定手段は、前記初期化処理を実行する前記第1及び第2初期設定管理テーブルのいずれか一方を選択するテーブル選択手段と、
前記テーブル選択手段によって選択された前記第1又は第2初期設定管理テーブルの前記初期化処理を実行するテーブル実行手段と、を有する
請求項1乃至5のうちいずれか1項に記載の初期値設定装置。
【請求項7】
複数の周辺デバイスと、
請求項1乃至6のうちいずれか1項に記載の初期値設定装置と、を備えたコンピュータシステム。
【請求項8】
コンピュータシステムに含まれる複数の周辺デバイスに備えられた制御レジスタに、初期値を順次設定する初期値設定方法であって、
第1周辺デバイスの前記制御レジスタのアドレスと当該アドレスに設定する初期値とが対応付けられた複数のテーブルを有する第1初期化データテーブルを参照して、前記アドレスに前記初期値を設定する初期化処理を実行する間の待ち時間に、第2周辺デバイスの前記制御レジスタのアドレスと当該アドレスに設定する初期値とが対応付けられた複数のテーブルを有する第2初期化データテーブルを参照して、前記初期化処理を実行する、初期化設定方法。
【請求項9】
コンピュータシステムに含まれる複数の周辺デバイスに備えられた制御レジスタに、初期値を順次設定する処理をコンピュータに実行させるプログラムであって、
第1周辺デバイスの前記制御レジスタのアドレスと当該アドレスに設定する初期値とが対応付けられた複数のテーブルを有する第1初期化データテーブルを参照して、前記アドレスに前記初期値を設定する初期化処理を実行する間の待ち時間に、第2周辺デバイスの前記制御レジスタのアドレスと当該アドレスに設定する初期値とが対応付けられた複数のテーブルを有する第2初期化データテーブルを参照して、前記初期化処理を実行する、処理をコンピュータに実行させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2011−186917(P2011−186917A)
【公開日】平成23年9月22日(2011.9.22)
【国際特許分類】
【出願番号】特願2010−53295(P2010−53295)
【出願日】平成22年3月10日(2010.3.10)
【出願人】(000004237)日本電気株式会社 (19,353)
【Fターム(参考)】