(57)【要約】情報処理システムは、制御部と、第１レジスタを備える周辺デバイスと、第２レジスタと、初期化フラグ回路とを有する情報処理システムであって、前記初期化フラグ回路は、前記情報処理システムが起動する際に、Ｈｉｇｈレベルの信号を出力し、前記第２レジスタにＬｏｗレベルであることを示すデータが書き込まれた場合に、当該Ｌｏｗレベルと同一のレベルであるＬｏｗレベルの信号を出力し、前記制御部は、前記初期化フラグ回路の出力信号がＨｉｇｈレベルであると判定した場合に、前記周辺デバイスを初期化するための初期設定データを前記第１レジスタに書き込み、当該初期設定データの書き込みを終えたことを示すＬｏｗレベルであることを示すデータを前記第２レジスタに書き込む。
2019087294.tif 000002
【特許請求の範囲】
【請求項１】
制御部と、第１レジスタを備える周辺デバイスと、第２レジスタと、初期化フラグ回路とを有する情報処理システムであって、
前記初期化フラグ回路は、
前記情報処理システムが起動する際に、Ｈｉｇｈレベルの信号を出力し、前記第２レジスタにＬｏｗレベルであることを示すデータが書き込まれた場合に、当該Ｌｏｗレベルと同一のレベルであるＬｏｗレベルの信号を出力し、
前記制御部は、
前記初期化フラグ回路の出力信号がＨｉｇｈレベルであると判定した場合に、前記周辺デバイスを初期化するための初期設定データを前記第１レジスタに書き込み、当該初期設定データの書き込みを終えたことを示すＬｏｗレベルであることを示すデータを前記第２レジスタに書き込む、
情報処理システム。
【請求項２】
制御部と、第１レジスタを備える周辺デバイスと、第２レジスタと、初期化フラグ回路とを有する情報処理システムによる情報処理方法であって、
前記初期化フラグ回路は、
前記情報処理システムが起動する際に、Ｈｉｇｈレベルの信号を出力し、前記第２レジスタにＬｏｗレベルであることを示すデータが書き込まれた場合に、当該Ｌｏｗレベルと同一のレベルであるＬｏｗレベルの信号を出力し、
前記制御部は、
前記初期化フラグ回路の出力信号がＨｉｇｈレベルであると判定した場合に、前記周辺デバイスを初期化するための初期設定データを前記第１レジスタに書き込み、当該初期設定データの書き込みを終えたことを示すＬｏｗレベルであることを示すデータを前記第２レジスタに書き込む、
情報処理方法。
【請求項３】
制御部と、第１レジスタを備える周辺デバイスと、第２レジスタと、初期化フラグ回路とを有する情報処理システムであって、前記初期化フラグ回路が、前記情報処理システムが起動する際に、Ｈｉｇｈレベルの信号を出力し、前記第２レジスタにＬｏｗレベルであることを示すデータが書き込まれた場合に、当該Ｌｏｗレベルと同一のレベルであるＬｏｗレベルの信号を出力する情報処理システムの前記制御部に、
前記初期化フラグ回路の出力信号がＨｉｇｈレベルであると判定した場合に、前記周辺デバイスを初期化するための初期設定データを前記第１レジスタに書き込むことと、
当該初期設定データの書き込みを終えたことを示すＬｏｗレベルであることを示すデータを前記第２レジスタに書き込むことと、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム、情報処理方法及びプログラムに関する。
【背景技術】
【０００２】
カーナビゲーションシステムやゲーム機などのさまざまな情報処理システムでは、その情報処理システムの起動操作が行われた直後に、その情報処理システムを利用したいという利用者からの要求がある。そのため、情報処理システムを、所定の状態（例えば、工場出荷時の状態や装置の電源を落とす直前の状態など）で直ちに起動させたい場合がある。
特許文献１には、関連する技術として、システムの中断前の揮発性メモリの記憶状態、周辺デバイスのレジスタ値、及び、プロセッサのレジスタ値を表すデータを不揮発性メモリに格納し、システムの起動時にＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）はカーネル機能によって不揮発性メモリに格納したデータを用いてシステムの中断前の状態を再現することで、情報処理システムを直ちに初期化する技術が記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１５−１５６２０５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、情報処理システムにおいて使用される周辺デバイスには、情報処理システムが起動する際に、スナップショットイメージ情報を含むデータがメインメモリに書き込まれることで、起動後に所定の状態で直ちに動作できる状態に初期化される周辺デバイスと、レジスタを備え、起動後にそのレジスタの初期設定が行われるまで動作できる状態に初期化されない周辺デバイスとがある。なお、スナップショットイメージ情報とは、工場出荷時の状態や装置の電源を落とす直前の状態などの所定の状態を示す情報であり、不揮発性メモリに記憶させておくことで、情報処理システムがシャットダウンした場合であっても、失われない情報である。情報処理システムがシャットダウンし、起動すると、レジスタを備える周辺デバイスのレジスタの値は、いわゆる不定状態となる。したがって、初期設定を示す初期設定データがレジスタに書き込まれるまで、すなわち初期化されるまで、レジスタを備える周辺デバイスは、動作することができない。つまり、レジスタを備える周辺デバイスが初期化されないため、情報処理システムでは、レジスタを備える周辺デバイスを起動後に直ちに使用することができない。
そのため、情報処理システムが起動する際に、レジスタを備える周辺デバイスを直ちに初期化することのできる技術が求められている。【０００５】
本発明は、上記の課題を解決することのできる情報処理システム、情報処理方法及びプログラムを提供することを目的としている。
【課題を解決するための手段】
【０００６】
本発明の第１の態様によれば、情報処理システムは、制御部と、第１レジスタを備える周辺デバイスと、第２レジスタと、初期化フラグ回路とを有する情報処理システムであって、前記初期化フラグ回路は、前記情報処理システムが起動する際に、Ｈｉｇｈレベルの信号を出力し、前記第２レジスタにＬｏｗレベルであることを示すデータが書き込まれた場合に、当該Ｌｏｗレベルと同一のレベルであるＬｏｗレベルの信号を出力し、前記制御部は、前記初期化フラグ回路の出力信号がＨｉｇｈレベルであると判定した場合に、前記周辺デバイスを初期化するための初期設定データを前記第１レジスタに書き込み、当該初期設定データの書き込みを終えたことを示すＬｏｗレベルであることを示すデータを前記第２レジスタに書き込む。
この情報処理システムにおいて、初期化フラグ回路は、情報処理システムが起動する際にのみ、Ｈｉｇｈレベルの信号を出力する。そのため、制御部は、情報処理システムが起動したこと、すなわち、第１レジスタに初期設定データを書き込む（つまり初期化する）必要があることを判定することができる。そして、制御部は、第２レジスタにＬｏｗレベルであることを示すデータを書き込むことにより、定期的に第２レジスタの値を取得した場合であっても、情報処理システムが再度起動した場合でない限り初期化することがない。
その結果、この情報処理システムは、情報処理システムが起動する際に、レジスタを備える周辺デバイスの初期化を漏れなく、かつ、冗長ではなく（何度も初期化するようなことなく）実施でき、高速起動時でも周辺デバイスを確実に動作させることができる。【０００７】
本発明の第２の態様によれば、制御部と、第１レジスタを備える周辺デバイスと、第２レジスタと、初期化フラグ回路とを有する情報処理システムによる情報処理方法であって、前記初期化フラグ回路は、前記情報処理システムが起動する際に、Ｈｉｇｈレベルの信号を出力し、前記第２レジスタにＬｏｗレベルであることを示すデータが書き込まれた場合に、当該Ｌｏｗレベルと同一のレベルであるＬｏｗレベルの信号を出力し、前記制御部は、前記初期化フラグ回路の出力信号がＨｉｇｈレベルであると判定した場合に、前記周辺デバイスを初期化するための初期設定データを前記第１レジスタに書き込み、当該初期設定データの書き込みを終えたことを示すＬｏｗレベルであることを示すデータを前記第２レジスタに書き込む。
この情報処理方法において、初期化フラグ回路は、情報処理システムが起動する際にのみ、Ｈｉｇｈレベルの信号を出力する。そのため、制御部は、情報処理システムが起動したこと、すなわち、第１レジスタに初期設定データを書き込む（つまり初期化する）必要があることを判定することができる。そして、制御部は、第２レジスタにＬｏｗレベルであることを示すデータを書き込むことにより、定期的に第２レジスタの値を取得した場合であっても、情報処理システムが再度起動した場合でない限り初期化することがない。
その結果、この情報処理方法は、情報処理システムが起動する際に、レジスタを備える周辺デバイスの初期化を漏れなく、かつ、冗長ではなく（何度も初期化するようなことなく）実施でき、高速起動時でも周辺デバイスを確実に動作させることができる。【０００８】
本発明の第３の態様によれば、プログラムは、制御部と、第１レジスタを備える周辺デバイスと、第２レジスタと、初期化フラグ回路とを有する情報処理システムであって、前記初期化フラグ回路が、前記情報処理システムが起動する際に、Ｈｉｇｈレベルの信号を出力し、前記第２レジスタにＬｏｗレベルであることを示すデータが書き込まれた場合に、当該Ｌｏｗレベルと同一のレベルであるＬｏｗレベルの信号を出力する情報処理システムの前記制御部に、前記初期化フラグ回路の出力信号がＨｉｇｈレベルであると判定した場合に、前記周辺デバイスを初期化するための初期設定データを前記第１レジスタに書き込むことと、当該初期設定データの書き込みを終えたことを示すＬｏｗレベルであることを示すデータを前記第２レジスタに書き込むことと、を実行させる。
このプログラムによって、制御部は、情報処理システムが起動したこと、すなわち、第１レジスタに初期設定データを書き込む（つまり初期化する）必要があることを判定することができる。そして、制御部は、第２レジスタにＬｏｗレベルであることを示すデータを書き込むことにより、定期的に第２レジスタの値を取得した場合であっても、情報処理システムが再度起動した場合でない限り初期化することがない。
その結果、このプログラムは、情報処理システムが起動する際に、レジスタを備える周辺デバイスの初期化を漏れなく、かつ、冗長ではなく（何度も初期化するようなことなく）実施でき、高速起動時でも周辺デバイスを確実に動作させることができる。
【発明の効果】
【０００９】
本発明の実施形態による情報処理システムによれば、情報処理システムが起動する際に、レジスタを備える周辺デバイスの初期化を漏れなく、かつ、冗長ではなく（何度も初期化するようなことなく）実施でき、高速起動時でも周辺デバイスを確実に動作させることができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の一実施形態による情報処理システムの構成の一例を示す図である。
【図２】本発明の一実施形態による初期化フラグ回路の構成の一例を示す図である。
【図３】本発明の一実施形態による情報処理システムの処理フローの一例を示す図である。
【図４】本発明の別の実施形態による初期化フラグ回路の構成の一例を示す図である。
【図５】少なくとも１つの実施形態に係るコンピュータの構成を示す概略ブロック図である。
【発明を実施するための形態】
【００１１】
＜実施形態＞
（情報処理システムの構成）
以下、本発明の一実施形態による情報処理システムの構成について説明する。
本発明の一実施形態による情報処理システム１は、起動する際に、スナップショットイメージ情報を含むデータがメインメモリに書き込まれることによって初期化される周辺デバイスとほぼ同タイミングに、レジスタを備える周辺デバイスを初期化するシステムである。スナップショットイメージ情報とは、不揮発性メモリに記憶される情報処理システム１の中断の直前や工場出荷時などの所定の状態を示すデータのことである。初期化とは、各周辺デバイスを動作可能な状態に設定することである。高速起動とは、情報処理システム１が起動を開始し、スナップショットイメージ情報を含むデータがメインメモリに書き込まれることによって、工場出荷時の状態や装置の電源を落とす直前の状態などの所定の状態で情報処理システム１を起動させることである。情報処理システム１が高速起動し、レジスタを備える周辺デバイスを初期化することにより、利用者は、情報処理システム１を起動直後に所定の状態から使用を開始することができる。情報処理システム１は、図１に示すように、電源１０、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２０（制御部の一例）、標準デバイス３０、非標準デバイス４０（レジスタを備える周辺デバイスの一例）、メモリ５０、ストレージ６０、初期化フラグ回路７０を備える。
【００１２】
電源１０は、ＣＰＵ２０、標準デバイス３０、非標準デバイス４０、メモリ５０、ストレージ６０、初期化フラグ回路７０のそれぞれに電力を供給する。
【００１３】
標準デバイス３０は、スナップショットイメージ情報を含むデータがメインメモリに書き込まれることによって初期化される周辺デバイスである。標準デバイス３０は、情報処理システム１において電源１０が起動する際に、ブートローダによって、メモリ５０にスナップショットイメージ情報を含むデータが書き込まれることで、所定の状態で高速起動することができる。所定の状態とは、情報処理システム１が処理の中断の直前や工場出荷時などの状態のことである。
【００１４】
非標準デバイス４０は、レジスタを備える周辺デバイスである。非標準デバイス４０は、初期設定を示す初期設定データがレジスタに書き込まれることで動作可能な状態になる。非標準デバイス４０は、図１に示すように、レジスタ４０１（第１レジスタの一例）を備える。レジスタ４０１は、初期設定データを保持するレジスタである。
【００１５】
メモリ５０は、ＣＰＵ２０が処理に用いるメインメモリである。メモリ５０は、揮発性のメモリである。メモリ５０とＣＰＵ２０との間で高速にデータの送受信が行われる。情報処理システム１が起動する際に、メモリ５０には、ストレージ６０が記憶するスナップショットイメージ情報を含むデータが書き込まれる。メモリ５０にスナップショットイメージ情報を含むデータが書き込まれることで、ＣＰＵ２０、標準デバイス３０、メモリ５０、ストレージ６０のそれぞれが動作可能となる。
【００１６】
ストレージ６０は、不揮発性のメモリである。ストレージ６０は、スナップショットイメージ情報を含むデータを記憶する。また、ストレージ６０は、ＯＳ、アプリケーションプログラム、アプリケーションプログラムによって処理されたデータなどを記憶する。また、ストレージ６０は、レジスタ７０６と、そのレジスタ７０６が保持する初期化フラグがＨｉｇｈレベルを示す場合に初期化の対象となる非標準デバイス４０が備えるレジスタ４０１とを予め関連付けて記憶する。また、ストレージ６０は、レジスタ４０１を備える非標準デバイス４０の初期設定データを記憶する。
【００１７】
（初期化フラグ回路の構成）
初期化フラグ回路７０は、電源１０が立ち上がる際に、その初期化フラグ回路７０が備えるレジスタが不定状態（例えば、出力インピーダンスが高インピーダンス状態など）となった場合であっても、レジスタの出力としてＨｉｇｈレベルの信号を出力させる回路である。なお、本発明の一実施形態では、初期化フラグ回路７０の出力する信号が初期化フラグである。初期化フラグ回路７０の出力するＨｉｇｈレベルの信号は、非標準デバイス４０の初期化が必要のあることを示す信号である。また、初期化フラグ回路７０の出力するＬｏｗレベルの信号は、非標準デバイス４０の初期化が完了していることを示す信号である。初期化フラグ回路７０の入力端子は、初期化フラグを保持するレジスタの出力端子に接続される。初期化フラグ回路７０の出力端子は、ＣＰＵ２０に接続される。
【００１８】
初期化フラグ回路７０は、例えば、図２に示すように、インバータ回路７０１、７０２、プルアップ回路７０３、７０４、プルダウン回路７０５、レジスタ７０６（第２レジスタの一例）を備える。
インバータ回路７０１の入力端子は、レジスタ７０６の出力端子と、プルアップ回路７０３の第１端子に接続される。
インバータ回路７０１の出力端子は、インバータ回路７０２の入力端子と、プルダウン回路７０５の第１端子に接続される。
インバータ回路７０２の出力端子は、プルアップ回路７０４の第１端子と、ＣＰＵ２０に接続される。
プルアップ回路７０３の第２端子は、電源１０の出力端子（図２において符号ＶＣＣで示される）に接続される。
プルアップ回路７０４の第２端子は、電源１０の出力端子に接続される。
プルダウン回路７０５の第２端子は、グラウンド端子（図２において符号ＧＮＤで示される）に接続される。
レジスタ７０６は、非標準デバイス４０の初期化が必要のあることを示すＨｉｇｈレベルの初期化フラグ、または、非標準デバイス４０の初期化が完了していることを示すＬｏｗレベルの初期化フラグを保持する。
インバータ回路７０１、７０２のそれぞれは、例えば、ＭＯＳＦＥＴ（Ｍｅｔａｌ−Ｏｘｉｄｅ−Ｓｅｍｉｃｏｎｄｕｃｔｏｒ  Ｆｉｅｌｄ−Ｅｆｆｅｃｔ  Ｔｒａｎｓｉｓｔｏｒ）、バイポーラトランジスタなどのトランジスタを用いて構成される入力信号の論理を反転させた信号を出力する回路である。
プルアップ回路７０３、７０４、プルダウン回路７０５のそれぞれは、例えば、抵抗である。
初期化フラグ回路７０は、プルアップ回路７０３、７０４、プルダウン回路７０５のそれぞれによって、初期化フラグ回路７０内の各回路の起動順に関係なくＨｉｇｈレベルの信号を出力する構成となっている。
【００１９】
（ＣＰＵの機能）
ＣＰＵ２０は、レジスタ７０６が保持するデータを初期化フラグ回路７０を介して取得する。なお、電源１０の起動直後、ＣＰＵ２０は、プルアップ回路７０４を介してＨｉｇｈレベルの初期化フラグを受ける。ＣＰＵ２０は、電源１０の起動直後にＨｉｇｈレベルの初期化フラグを受けると、ストレージ６０が記憶する非標準デバイス４０の初期設定データをレジスタ４０１に書き込む。ＣＰＵ２０は、初期設定データをレジスタ４０１に書き込むと、レジスタ７０６が保持するデータをＬｏｗレベルであることを示すデータに書き替える。
【００２０】
次に、本発明の一実施形態による情報処理システム１の処理について説明する。
ここでは、情報処理システム１の利用者が情報処理システム１の使用を中断し、その後、情報処理システム１を起動させる場合の情報処理システム１の処理について、図３に示す本発明の一実施形態による情報処理システム１の処理フローを用いて説明する。
【００２１】
情報処理システム１の利用者が情報処理システム１の使用を中断し、情報処理システム１の電源１０を落とす。その後、情報処理システム１の利用者は、電源１０をオフ状態からオン状態に起動する（ステップＳ１）。
【００２２】
電源１０が起動すると、ＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）が起動し（ステップＳ２）、ＢＩＯＳによって規定されている、ＣＰＵ２０、メモリ５０、ストレージ６０を含むデバイスが認識され、それらのデバイスの入出力ポートの接続を確立する。ＢＩＯＳによる処理が完了すると、ＣＰＵ２０は、ブートローダを起動させる（ステップＳ３）。
【００２３】
ＣＰＵ２０は、ブートローダによってスナップショットイメージ情報を含むデータをストレージ６０から読み出す（ステップＳ４）。ＣＰＵ２０は、読み出したスナップショットイメージ情報を含むデータをメモリ５０に書き込む（ステップＳ５）。スナップショットイメージ情報を含むデータがメモリ５０に書き込まれることにより、標準デバイス３０は、初期化され所定の状態となる。所定の状態とは、例えば、ストレージ６０が工場出荷時の状態を予めスナップショットイメージ情報を含むデータとして記憶している場合には工場出荷時の状態である。また、所定の状態とは、例えば、ストレージ６０が情報処理システム１の使用を中断する際にその中断時の状態をスナップショットイメージ情報を含むデータとして記憶した場合には中断時の状態である。
【００２４】
ＣＰＵ２０がスナップショットイメージ情報を含むデータのメモリ５０への書き込みを完了すると、起動した状態のＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）及び起動した状態の非標準デバイス４０を初期化するためのアプリケーションプログラム（プログラムの一例）が再現される（ステップＳ６）。
【００２５】
ＣＰＵ２０は、アプリケーションプログラムによって、初期化フラグ回路７０の出力信号、すなわち初期化フラグを取得する（ステップＳ７）。ＣＰＵ２０は、アプリケーションプログラムによって、取得した初期化フラグがＨｉｇｈレベルであるか否かを判定する（ステップＳ８）。以下、ＣＰＵ２０は、特に「アプリケーションプログラムによって」という記載がない場合であっても、アプリケーションプログラムに従い処理を実行する。
【００２６】
ＣＰＵ２０は、取得した初期化フラグがＬｏｗレベルであると判定した場合（ステップＳ８においてＮＯ）、初期化の必要な非標準デバイス４０が存在しないと判定する。そして、ＣＰＵ２０は、一定時間が経過したか否かを判定する（ステップＳ９）。
ＣＰＵ２０は、一定時間が経過していないと判定した場合（ステップＳ９においてＮＯ）、ステップＳ９の処理を再度行う。
また、ＣＰＵ２０は、一定時間が経過したと判定した場合（ステップＳ９においてＹＥＳ）、ステップＳ９の処理に戻す。
【００２７】
また、ＣＰＵ２０は、取得した初期化フラグがＨｉｇｈレベルであると判定した場合（ステップＳ８においてＹＥＳ）、初期化の必要な非標準デバイス４０が存在すると判定する。そして、ＣＰＵ２０は、そのＨｉｇｈレベルの初期化フラグを取得した接続先のレジスタ７０６に予め関連付けられたレジスタ４０１をストレージ６０の記憶するデータにおいて特定する（ステップＳ１０）。
ＣＰＵ２０は、特定したレジスタ４０１を備える非標準デバイス４０の初期設定データをストレージ６０から読み出す。ＣＰＵ２０は、読み出した初期設定データをレジスタ４０１に書き込む（ステップＳ１１）。このステップＳ１１の処理により、非標準デバイス４０は、動作可能な状態となる。
ＣＰＵ２０は、初期設定データのレジスタ４０１への書き込みを終えると、レジスタ７０６の保持するデータをＬｏｗレベルであることを示すデータに書き替える（ステップＳ１２）。ＣＰＵ２０は、ステップＳ８の処理に戻す。
【００２８】
なお、初期化フラグ回路７０の出力は、電源１０が起動を開始しレジスタ７０６の値がＬｏｗレベルであることを示すデータに書き替えられるまでの間、常にＨｉｇｈレベルの信号をＣＰＵ２０に出力する。このＨｉｇｈレベルの信号は、非標準デバイス４０の初期化が必要であることを示す初期化フラグである。電源１０が起動を開始した直後は、レジスタ７０６が保持する値は不定である。そのため、レジスタ７０６の出力は不安定である。しかしながら、初期化フラグ回路７０を構成するインバータ回路７０１、７０２の入出力端子をプルアップ回路７０３、７０４、プルダウン回路７０５のそれぞれを用いて適切に初期の論理を設定することで、初期化フラグ回路７０の出力を常に所定のレベルの信号（図２に示す初期化フラグ回路７０の例ではＨｉｇｈレベルの信号）とすることができる。
【００２９】
（作用・効果）
以上、本発明の一実施形態による情報処理システム１について説明した。
本発明の一実施形態による情報処理システム１では、情報処理システム１が起動する際に、ＣＰＵ２０は、電源１０の起動を示す初期化フラグを取得した場合、アプリケーションプログラムに応じて、非標準デバイス４０を初期化する初期設定データをストレージ６０から読み出す。そして、ＣＰＵ２０は、初期設定データをレジスタ４０１に書き込む。ＣＰＵ２０は、レジスタ７０６の保持するデータをＬｏｗレベルであることを示すデータに書き替える。
このようにすれば、本発明の一実施形態による情報処理システム１は、情報処理システムが起動する際に、レジスタを備える周辺デバイスの初期化を漏れなく、かつ、冗長ではなく（何度も初期化するようなことなく）実施でき、高速起動時でも周辺デバイスを確実に動作させることができる。
【００３０】
（変形例）
なお、本発明の一実施形態による情報処理システム１において、初期化フラグ回路７０は、図２に示す回路として説明した。しかしながら、本発明の別の実施形態による情報処理システム１では、初期化フラグ回路７０は、電源１０が起動を開始しレジスタ７０６の値がＬｏｗレベルであることを示すデータに書き替えられるまでの間に出力する信号のレベルがＨｉｇｈレベルで安定し、レジスタ７０６が保持する初期化フラグの信号レベル（すなわち、ＨｉｇｈレベルまたはＬｏｗレベルの何れかのレベル）に一致するレベルの信号を出力する回路であれば、どのような回路であってもよい。
例えば、本発明の別の実施形態による情報処理システム１では、初期化フラグ回路７０は、図４に示すような、レジスタ７０６、ＮＰＮトランジスタ７１１、７１２、ＰＮＰトランジスタ７１３、抵抗７１４、７１５、７１６、７１７、バッファ７１８を備えるものであってもよい。
抵抗７１４の第１端子は、レジスタ７０６とＮＰＮトランジスタ７１１のベースと、ＰＮＰトランジスタ７１３のベースに接続される。抵抗７１４の第２端子は、電源１０の出力に接続される。
抵抗７１５の第１端子は、ＰＮＰトランジスタ７１３のエミッタに接続される。抵抗７１５の第２端子は、電源１０の出力に接続される。
抵抗７１６の第１端子は、ＮＰＮトランジスタ７１１のエミッタに接続される。抵抗７１６の第２端子は、グラウンドＧＮＤに接続される。
抵抗７１７の第１端子は、ＮＰＮトランジスタ７１２のコレクタと、バッファ７１８の入力端子に接続される。抵抗７１７の第２端子は、電源１０の出力端子に接続される。
ＮＰＮトランジスタ７１１のコレクタは、ＮＰＮトランジスタ７１２のベースと、ＰＮＰトランジスタ７１３のコレクタに接続される。
バッファ７１８の出力端子は、ＣＰＵ２０に接続される。
電源１０が起動し、Ｈｉｇｈレベルの電圧を出力すると、ＮＰＮトランジスタ７１１のベースは、Ｈｉｇｈレベルとなる。ＮＰＮトランジスタ７１１のベースがＨｉｇｈレベルになると、ＰＮＰトランジスタ７１３は、オフ状態となり電流を流さない。また、ＮＰＮトランジスタ７１１のベースがＨｉｇｈレベルになると、ＮＰＮトランジスタ７１１は、オン状態となり、ＮＰＮトランジスタ７１２のベースから電流を引き抜く。そのため、ＮＰＮトランジスタ７１２は、オフ状態となり電流を流さない。ＮＰＮトランジスタ７１２が電流を流さない場合、抵抗７１７には、電流が流れない。そのため、バッファ７１８の入力端子には、Ｈｉｇｈレベルの信号が入力される。したがって、ＣＰＵ２０には、Ｈｉｇｈレベルの信号が入力される。ＣＰＵ２０は、このＨｉｇｈレベルの信号を検出し、レジスタ４０１に初期設定データを書き込む。
その後、ＣＰＵ２０が、レジスタ７０６の保持するデータをＬｏｗレベルであることを示すデータに書き替える。すると、ＮＰＮトランジスタ７１１のベースにおける信号は、Ｌｏｗレベルとなる。ＮＰＮトランジスタ７１１のベースにおける信号がＬｏｗレベルになると、ＮＰＮトランジスタ７１１は、オフ状態となり電流を流さない。また、ＰＮＰトランジスタ７１３のベースにおける信号がＬｏｗレベルになると、ＰＮＰトランジスタ７１３は、オン状態となり、ＮＰＮトランジスタ７１２のベースに電流を流し込む。そのため、ＮＰＮトランジスタ７１２は、オン状態となり、抵抗７１７に電流を流す。このとき、抵抗７１７において電圧降下が生じ、バッファ７１８の入力端子には、Ｌｏｗレベルの信号が入力される。したがって、ＣＰＵ２０には、Ｌｏｗレベルの信号が入力される。ＣＰＵ２０は、このＬｏｗレベルの信号を検出した場合には、レジスタ４０１を初期化しない。
【００３１】
なお、本発明の一実施形態において、レジスタ７０６は、初期化フラグ回路７０に備えられるものとして説明した。しかしながら、適切な処理が行われる範囲において、レジスタ７０６は、情報処理システム１内のどこに設けられてもよい。
【００３２】
なお、本発明の実施形態における処理は、適切な処理が行われる範囲において、処理の順番が入れ替わってもよい。
【００３３】
本発明の実施形態におけるメモリ、ストレージ、レジスタを含む記憶部、その他の記憶装置のそれぞれは、適切な情報の送受信が行われる範囲においてどこに備えられていてもよい。また、記憶部、その他の記憶装置のそれぞれは、適切な情報の送受信が行われる範囲において複数存在しデータを分散して記憶していてもよい。
【００３４】
本発明の実施形態について説明したが、上述の情報処理システム１の制御部以外の制御装置は内部に、コンピュータシステムを有していてもよい。そして、上述した処理の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、上記処理が行われる。コンピュータの具体例を以下に示す。
図５は、少なくとも１つの実施形態に係るコンピュータの構成を示す概略ブロック図である。
コンピュータ５は、図５に示すように、ＣＰＵ６、メインメモリ７、ストレージ８、インターフェース９を備える。
例えば、上述の情報処理システム１の制御部以外の制御装置のそれぞれは、コンピュータ５に実装される。そして、上述した各処理部の動作は、プログラムの形式でストレージ８に記憶されている。ＣＰＵ６は、プログラムをストレージ８から読み出してメインメモリ７に展開し、当該プログラムに従って上記処理を実行する。また、ＣＰＵ６は、プログラムに従って、上述した各記憶部に対応する記憶領域をメインメモリ７に確保する。
【００３５】
ストレージ８の例としては、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＤＶＤ−ＲＯＭ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、半導体メモリ等が挙げられる。ストレージ８は、コンピュータ５のバスに直接接続された内部メディアであってもよいし、インターフェース９または通信回線を介してコンピュータ５に接続される外部メディアであってもよい。また、このプログラムが通信回線によってコンピュータ５に配信される場合、配信を受けたコンピュータ５が当該プログラムをメインメモリ７に展開し、上記処理を実行してもよい。少なくとも１つの実施形態において、ストレージ８は、一時的でない有形の記憶媒体である。
【００３６】
また、上記プログラムは、前述した機能の一部を実現してもよい。さらに、上記プログラムは、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるファイル、いわゆる差分ファイル（差分プログラム）であってもよい。
【００３７】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例であり、発明の範囲を限定しない。これらの実施形態は、発明の要旨を逸脱しない範囲で、種々の追加、省略、置き換え、変更を行ってよい。
【産業上の利用可能性】
【００３８】
本発明の実施形態による情報処理システムによれば、情報処理システムが起動する際に、レジスタを備える周辺デバイスの初期化を漏れなく、かつ、冗長ではなく（何度も初期化するようなことなく）実施でき、高速起動時でも周辺デバイスを確実に動作させることができる。
【符号の説明】
【００３９】
１・・・情報処理システム
５・・・コンピュータ
６・・・ＣＰＵ
７・・・メインメモリ
８・・・ストレージ
９・・・インターフェース
１０・・・電源
２０・・・ＣＰＵ
３０・・・標準デバイス
４０・・・非標準デバイス
５０・・・メモリ
６０・・・ストレージ
７０・・・初期化フラグ回路
４０１、７０６・・・レジスタ
７０１、７０２・・・インバータ
７０３、７０３・・・プルアップ回路
７０５・・・プルダウン回路
７１１、７１２・・・ＮＰＮトランジスタ
７１３・・・ＰＮＰトランジスタ
７１４、７１５、７１６、７１７・・・抵抗
７１８・・・バッファ
【図１】
2019087294.tif 000003
【図２】
2019087294.tif 000004
【図３】
2019087294.tif 000005
【図４】
2019087294.tif 000006
【図５】
2019087294.tif 000007
【国際調査報告】
2019087294.tif 000008
2019087294.tif 000009
2019087294.tif 000010
2019087294.tif 000011