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