(57)【要約】【課題】ＣＰＵの動作異常をウオッチドッグタイマにより検出し、該動作異常時にＣＰＵを再起動させるコンピュータ装置において、少ない付加構成で起動用メモリ領域に障害があっても正常に再起動可能とする。【解決手段】それぞれに同一の起動用プログラムが格納され、かつ、そのアドレスの上位１ビットの０または１の違いにより区分けされる第１及び第２の起動用メモリ領域を有する記憶手段と、ウオッチドッグリセット時に起動時とは反転した信号を出力するフリップフロップ回路と、フリップフロップ回路の出力信号とＣＰＵが第１または第２の起動用メモリ領域のいずれかにアクセスする際出力するアドレス信号の上位１ビットの信号とを受け、その排他的論理和をとった信号をアドレス信号の上位１ビットとして記憶手段に出力するＥＸＯＲ回路とを設ける。【選択図】        図１
2004220173.tif 000002
【特許請求の範囲】
【請求項１】
ＣＰＵの動作異常をウオッチドッグタイマにより検出し、該動作異常時にＣＰＵを再起動させるコンピュータ装置において、
起動用メモリ領域の障害によるＣＰＵの動作異常時に、該ＣＰＵを正常に再起動させるためのＣＰＵ起動制御装置であって、
それぞれに同一の起動用プログラムが格納され、かつ、そのアドレスの上位１ビットの０または１の違いにより区分けされる第１及び第２の起動用メモリ領域を有する記憶手段と、
ウオッチドッグリセット時に起動時とは反転した信号を出力するフリップフロップ回路と、
前記フリップフロップ回路の出力信号と前記ＣＰＵが前記第１または第２の起動用メモリ領域のいずれかにアクセスする際出力するアドレス信号の上位１ビットの信号とを受け、その排他的論理和をとった信号を前記アドレス信号の上位１ビットとして前記記憶手段に出力するＥＸＯＲ回路と、を設けた
ことを特徴とするＣＰＵ起動制御装置。
【請求項２】
ＣＰＵの動作異常をウオッチドッグタイマにより検出し、該動作異常時にＣＰＵを再起動させるコンピュータ装置において実行され、起動用メモリ領域の障害によるＣＰＵの動作異常時に該ＣＰＵを正常に再起動させるためのＣＰＵ起動制御方法であって、
記憶手段にそのアドレスの上位１ビットの０または１の違いにより区分けされる第１及び第２の起動用メモリ領域を設け、それぞれに同一の起動用プログラムを格納し、
前記起動用メモリ領域のアドレスを切り替えるために、ウオッチドッグリセット時に起動時とは反転した信号を出力するフリップフロップ回路と、２入力の排他的論理和を出力するＥＸＯＲ回路とを設け、
前記フリップフロップ回路の出力信号と、前記ＣＰＵが前記第１または第２の起動用メモリ領域のいずれかにアクセスする際出力するアドレス信号の上位１ビットの信号とを前記ＥＸＯＲ回路に供給し、該ＥＸＯＲ回路の出力信号を前記記憶手段に与えるアドレス信号の上位１ビットとして供給する
ことを特徴とするＣＰＵ起動制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＣＰＵ起動制御装置及びＣＰＵ起動制御方法に関する。
【０００２】
【従来の技術】
従来より、コンピュータ装置には、起動時にＣＰＵ（中央処理装置）に実行させる起動用プログラムの一部が不揮発性メモリに格納されるが、近年、この起動用プログラム（ブートプログラム）の更新を容易にするため、この不揮発性メモリとして書き換え可能なフラッシュメモリ等が用いられている。しかし、このフラッシュメモリが記憶している起動用プログラムの更新をする際など、その内容やフラッシュメモリ自体が壊れる場合がある。この場合には、ＣＰＵは正常に起動できなくなってしまう。
【０００３】
このような問題を解決する発明として、例えば、特許文献１に記載の発明がある。この発明では、ブートプログラムを２つのブートＲＯＭもしくは１つのブートＲＯＭの２つの領域のそれぞれに記憶させ、判断手段により、一方のブートＲＯＭ（または領域）から読み出したブートプログラムによりＣＰＵが正常にブートできたか否か判断し、正常にブートできなかった場合には、他方のブートＲＯＭ（または領域）からブートプログラムを読み出すことにより、一方のブートＲＯＭ（または領域）が壊れていても正常にＣＰＵを起動させることができるものとなっている。
【０００４】
【特許文献１】
特開２００１−１０９６２９号公報
【０００５】
【発明が解決しようとする課題】
特許文献１に記載の発明では、ＣＰＵが正常に立ち上がらなかった場合に、ブートＲＯＭ（または領域）の切り替えを行うための上記判断手段として、専用のブート制御用ＣＰＵを用いており、回路規模が大きくなるとともに、このブート制御用ＣＰＵを制御するソフトウエアを開発する必要がある。
一方、近年では、ＣＰＵの動作異常時にリセットをかけるためのウオッチドッグタイマがコンピュータ装置に組み込まれることが多い。すなわち、ウオッチドッグタイマが組み込まれていれば、ＣＰＵの起動時の動作異常も検出されリセットをかけることができる。しかし、この場合では、ＣＰＵ起動用メモリに記憶された内容やこのメモリ自体が壊れている場合には、リセットをかけても正常に再起動できないという問題がある。
【０００６】
本発明は、上記の点に鑑みてなされたもので、ＣＰＵの動作異常をウオッチドッグタイマにより検出し、該動作異常時にＣＰＵを再起動させるコンピュータ装置において、少ない付加構成で起動用メモリ領域に障害があっても正常に再起動させることができるＣＰＵ起動制御装置及びＣＰＵ起動制御方法を提供するものである。
【０００７】
【課題を解決するための手段】
請求項１に記載の発明は、ＣＰＵの動作異常をウオッチドッグタイマにより検出し、該動作異常時にＣＰＵを再起動させるコンピュータ装置において、起動用メモリ領域の障害によるＣＰＵの動作異常時に、該ＣＰＵを正常に再起動させるためのＣＰＵ起動制御装置であって、それぞれに同一の起動用プログラムが格納され、かつ、そのアドレスの上位１ビットの０または１の違いにより区分けされる第１及び第２の起動用メモリ領域を有する記憶手段と、ウオッチドッグリセット時に起動時とは反転した信号を出力するフリップフロップ回路と、前記フリップフロップ回路の出力信号と前記ＣＰＵが前記第１または第２の起動用メモリ領域のいずれかにアクセスする際出力するアドレス信号の上位１ビットの信号とを受け、その排他的論理和をとった信号を前記アドレス信号の上位１ビットとして前記記憶手段に出力するＥＸＯＲ回路と、を設けたことを特徴としている。
【０００８】
また、請求項２に記載の発明は、ＣＰＵの動作異常をウオッチドッグタイマにより検出し、該動作異常時にＣＰＵを再起動させるコンピュータ装置において実行され、起動用メモリ領域の障害によるＣＰＵの動作異常時に該ＣＰＵを正常に再起動させるためのＣＰＵ起動制御方法であって、記憶手段にそのアドレスの上位１ビットの０または１の違いにより区分けされる第１及び第２の起動用メモリ領域を設け、それぞれに同一の起動用プログラムを格納し、前記起動用メモリ領域のアドレスを切り替えるために、ウオッチドッグリセット時に起動時とは反転した信号を出力するフリップフロップ回路と、２入力の排他的論理和を出力するＥＸＯＲ回路とを設け、前記フリップフロップ回路の出力信号と、前記ＣＰＵが前記第１または第２の起動用メモリ領域のいずれかにアクセスする際出力するアドレス信号の上位１ビットの信号とを前記ＥＸＯＲ回路に供給し、該ＥＸＯＲ回路の出力信号を前記記憶手段に与えるアドレス信号の上位１ビットとして供給することを特徴としている。
【０００９】
本発明では、そのアドレスの上位１ビットの０または１の違いにより区分けされる第１及び第２の起動用メモリ領域を設け、それぞれに同一の起動用プログラムを格納し、また、起動用メモリ領域のアドレスを切り替えるために、ウオッチドッグリセット時に起動時とは反転した信号を出力するフリップフロップ回路と、２入力の排他的論理和を出力するＥＸＯＲ回路とを設けている。そして、フリップフロップ回路の出力信号と、ＣＰＵが第１または第２の起動用メモリ領域のいずれかにアクセスする際出力するアドレス信号の上位１ビットの信号とをＥＸＯＲ回路に供給し、このＥＸＯＲ回路にて、入力されたこれらの信号の排他的論理和をとった結果の出力信号を、アドレス信号の上位１ビットとして記憶手段に供給している。
【００１０】
この構成により、ＣＰＵの起動時に発生したその動作異常に対して、記憶手段に供給するアドレス信号が変換され、ＣＰＵがアクセスする起動用メモリ領域のアドレスが切り替えられる。したがって、ＣＰＵはウオッチドッグリセットによる再起動時に、他方の起動用メモリ領域をアクセスすることになる。したがって、一方の起動用メモリ領域に障害があり、これが起因でＣＰＵの起動が異常となっても、ＣＰＵを正常に起動させることができ、システムの信頼性を向上させることができる。
また、一般的なウオッチドッグタイマを利用するコンピュータ装置において、１つのフリップフロップ回路と１つのＥＸＯＲ回路を追加するのみで、当該コンピュータ装置の信頼性を向上させることができる。
【００１１】
【発明の実施の形態】
以下、本発明の実施の形態を、図面を参照して説明する。
図１は、第１の実施例であるＣＰＵ起動制御装置の構成を示す回路図である。
【００１２】
同図において、符号１は、Ｄ−ＦＦ（Ｄ型フリップフロップ）、符号２は、２入力の排他的論理和を出力するＥＸＯＲゲート、符号３はＣＰＵ起動用メモリである。
Ｄ−ＦＦ・１のＤ端子（入力端子）はプルアップされており、ＣＬＲ（クリア）端子には、パワーオンリセット（ＰＯＲ）信号が入力される。また、ＣＬＫ（クロック）端子（ただし、アクティブ・ロー）には、ＰＯＲ＋ＷＤＲ（パワーオンリセット＋ウオッチドッグリセット）信号が入力される。Ｑ端子は、このＤ−ＦＦ・１の出力端子である。
Ｄ−ＦＦ・１の出力信号は、ＥＸＯＲゲート２に供給され、また、このＥＸＯＲゲート２には、ＣＰＵ（図示せず）のアドレスバス（本実施例では、一例としてＡ７〜Ａ０の８ビットであるとする）の最上位の１ビットであるＡ７が供給されている。
【００１３】
ＥＸＯＲゲート２は、Ｄ−ＦＦ・１から受ける信号（同図：ＤＦＦ出力）と、アドレスバスのＡ７（最上位ビット）を受け、これらの排他的論理和をとって出力する。このＥＸＯＲゲート２の出力は、ＣＰＵ起動用メモリ３に接続されるアドレスバスの最上位ビットＡ７として供給される。
ＣＰＵ起動用メモリ３は、そのアドレスの最上位ビットＡ７の０または１の違いにより２つの領域（第１及び第２の起動用メモリ領域）に区分けされており、それぞれに同一の起動用プログラムが格納されている。したがって、ＣＰＵの起動時に、最上位ビットＡ７が“０”であっても“１”であっても同一の起動用プログラムが実行される。なお、本実施例および後述の他の実施例では、ＣＰＵは、電源投入後にリセットが解除されると、ＣＰＵ起動用メモリ３の０番地（０ｘ００）から起動用プログラムを読み込むものとする。
【００１４】
次に、このＣＰＵ起動制御装置の動作について、図２に示すタイミングチャートを参照し説明する。この図は、起動時のＤ−ＦＦ・１の入力信号及び出力信号のタイミングチャートを示している。
同図に示すように、電源投入されると、ＰＯＲ信号は、ロー・レベルからハイ・レベル（リセット解除）となる。ＰＯＲ＊ＷＤＲ信号（＊は、論理積を意味する。以下、同じ）は、ＰＯＲ信号と、図示しないウオッチドッグタイマからＣＰＵの異常時に出力されるＷＤＲ（ウオッチドッグリセット）信号の論理積をとり合成したものである。この信号は、ＰＯＲ信号と同様に、電源投入後、ロー・レベルからハイ・レベルに遷移するが、ウオッチドッグリセットが発生して、ウオッチドッグリセットが解除される間、ロー・レベルに遷移する信号である。これらの信号が、Ｄ−ＦＦ・１に入力されると、同図に示すＤＦＦ出力が得られる。すなわち、リセット解除後、ＣＰＵが正常に起動すれば、Ｄ−ＦＦ・１のＤＦＦ出力は、ロー・レベルのままであるが、ＣＰＵの異常によりウオッチドッグリセットが発生すると、Ｄ−ＦＦ・１のＤＦＦ出力は、ハイ・レベルに遷移する。
【００１５】
したがって、Ｄ−ＦＦ・１のＤＦＦ出力とＣＰＵのアドレスバスの最上位ビットＡ７のアドレス信号を受けるＥＸＯＲゲート２は、ＣＰＵが正常に起動している場合には、Ｄ−ＦＦ・１のＤＦＦ出力として、ロー・レベル（“０”）の信号を受けるので、入力された最上位ビットＡ７のアドレス信号をそのまま出力する。一方、起動時に最初にアクセスされた起動用メモリ領域に障害がありＣＰＵの起動に異常が生じた場合、ウオッチドッグリセットが発生するが、このときこのウオッチドッグリセットによりＤ−ＦＦ・１のＤＦＦ出力がロー・レベルからハイ・レベルに遷移し、ＥＸＯＲゲート２には、ハイ・レベル（“１”）が入力され、ＥＸＯＲゲート２の出力は反転される。すなわち、ＣＰＵのアドレスバスの最上位ビットＡ７のアドレス信号が反転されＣＰＵ起動用メモリ３に供給される。これにより、この後、ウオッチドッグリセットが発生する前にＣＰＵがアクセスした起動用メモリ領域と異なる、もう一方の起動用メモリ領域にアクセスされることとなる。
【００１６】
すなわち、図３に示すように、ウオッチドッグリセット発生前には、ＣＰＵから見た起動用メモリ領域のアドレスと、実際のアドレスが一致するが、ウオッチドッグリセット後には、ＣＰＵから見た起動用メモリ領域のアドレスが指すメモリ領域に対し、実際のアドレス（変換されたアドレス）が指すメモリ領域は、その上位の領域と下位の領域が入れ替わる形態となる。
したがって、ＣＰＵが、リセット解除後、起動用メモリの０番地から起動用プログラムを読み込む場合、ウオッチドッグリセット前には、起動用メモリ領域の０番地（０ｘ００）から起動用プログラムの読み込みがなされるが、ウオッチドッグリセット後には、起動用メモリ領域の０ｘ８０（アドレスの最上位ビットが反転している）から起動用プログラムの読み込みがなされる。
【００１７】
なお、ウオッチドッグリセット発生後、ＣＰＵはリセット信号（図示せず）により再起動され、上記のように、異常を発生させた最初の起動用メモリ領域とは異なるもう一方の起動用メモリ領域から起動用プログラムを読み込み、この起動用プログラムによって起動（再起動）のための処理を実行する。
また、起動用メモリ３として、フラッシュメモリ等を使用している場合は、起動後に、起動用メモリ３の他方の起動用メモリ領域のデータ（起動用プログラム）と正常にＣＰＵを起動させた起動用メモリ領域のデータとを比較し、データが一致しなければ、他方の起動用メモリ領域に正常にＣＰＵを起動させた起動用メモリ領域のデータを書き込む等の修復措置を行うことが好ましい。
【００１８】
次に、ウオッチドッグタイマ付きリセットＩＣを使用した他の実施例を、図４を参照し説明する。なお、図１に示した構成要素と同一のものには同一の符号を附し、その説明は省略する。
【００１９】
同図において、符号４は、ＣＰＵであり、符号５は、ウオッチドッグタイマ付きリセットＩＣである。このウオッチドッグタイマ付きリセットＩＣ・５としては、例えば、富士通（株）製の電源電圧監視用ＩＣであるＭＢ３７７３等を用いることができる。このウオッチドッグタイマ付きリセットＩＣ・５の／ＲＥＳＥＴ信号は、当初ロー・レベルであり（リセット状態）、電源電圧が所要の電圧となって一定時間経過後にリセットを解除するハイ・レベルの信号を出力する。これにより、ウオッチドッグタイマ付きリセットＩＣ・５は、電源投入時のＣＰＵ・４のリセット制御を行うための手段となる。また、さらにウオッチドッグタイマの機能として、ある決まった時間内に定期的に、ＣＰＵ・４からのＣＫ端子へのアクセスを受けている限りリセット信号を発生しないが、ＣＰＵ・４が暴走などを起こし、このウオッチドッグタイマ付きリセットＩＣ・５へのアクセスが行われなくなった場合にリセット信号を発生させて（ロー・レベル信号を出力し、リセット状態とする）、ＣＰＵ・４を初期状態へ復帰させる手段を与えるものである。
【００２０】
同図に示すウオッチドッグタイマ付きリセットＩＣ・５は、ＣＰＵ・４に与えるリセット信号（／ＲＥＳＥＴ）と、Ｄ−ＦＦ・１に与えるＲＥＳＥＴ信号を出力している。なお、ＲＥＳＥＴ信号は、／ＲＥＳＥＴ信号を反転した信号である。先の実施例では、ＰＯＲ信号とＰＯＲ＊ＷＤＲ信号の二種類のリセット信号をＤ−ＦＦ・１に供給しているが、本実施例では、ウオッチドッグタイマ付きリセットＩＣ・５から出力されるＲＥＳＥＴ信号（この信号は、先の実施例におけるＰＯＲ＊ＷＤＲ信号に相当する。ただし、論理は反転している）のみをＤ−ＦＦ・１に供給する構成としている。
【００２１】
本実施例では、Ｄ−ＦＦ・１は、ウオッチドッグタイマ付きリセットＩＣ・５から供給されるＲＥＳＥＴ信号をＣＬＫ端子に受けている（ただし、本実施例では、アクティブ・ハイである）。そして、（Ｑ端子から出力されるＤＦＦ出力とは論理反転した出力をする）／Ｑ端子の出力をＤ端子（入力端子）に接続している。なお、本実施例では、先の実施例のようにＤ−ＦＦ・１のＣＬＲ端子にＰＯＲ（パワーオンリセット）信号を供給していない。このようにＤ−ＦＦ・１のＣＬＲ端子にＰＯＲ（パワーオンリセット）信号を供給しない構成としたため、Ｄ−ＦＦ・１の電源投入時の初期状態の論理が確定しない。したがって、最初にアクセスされる起動用メモリ領域が上位側になるか下位側になるかは不定となり、ウオッチドッグリセットが発生する度に起動用メモリ領域の上位と下位が切り替わる回路となっている。
なお、本実施例でも、先の実施例と同様に、ＣＰＵ起動用メモリ３の２つの起動用メモリ領域に、同一の起動用プログラムが格納されている。
【００２２】
ここで、本実施例におけるＣＰＵ・４と本ＣＰＵ起動制御装置の動作について説明する。
【００２３】
はじめに、電源投入後に、ウオッチドッグタイマ付きリセットＩＣ・５によりリセットが解除されると、ＣＰＵ・４は０番地（０ｘ００）から起動用プログラムの読み込みを開始する。
このときＣＰＵ・４がアクセスするＣＰＵ起動用メモリ３の内容が正常であれば、定期的にウオッチドッグタイマ付きリセットＩＣ・５の所定ポート（ＣＫ端子）へのアクセスを行いながら処理を進めるが、異常であればＣＰＵ・４はこのアクセスを停止することとなり、ウオッチドッグタイマ付きリセットＩＣ・５の機能によりウオッチドッグリセットが発生し、ウオッチドッグタイマ付きリセットＩＣ・５からリセット信号（このとき／ＲＥＳＥＴはロー・レベル、ＲＥＳＥＴはハイ・レベルとなる）が出力される。
【００２４】
ここで、ウオッチドッグリセットが発生すると、Ｄ−ＦＦ・１の出力が反転し、この出力が入力されるＥＸＯＲ回路の端子の状態（レベル）が反転する。結果、ＥＸＯＲ回路の出力は反転し、すなわち、アドレス信号の最上位ビットが反転し、ＣＰＵ起動用メモリ３の起動用メモリ領域が一方から他方へ（０ｘ００−０ｘ７Ｆから０ｘ８０−０ｘＦＦへ、または、０ｘ８０−０ｘＦＦから０ｘ００−０ｘ７Ｆへ）切り替わる。
【００２５】
ウオッチドッグリセットの解除後、ＣＰＵ・４は再び０番地から起動用プログラムの読み込みを開始するが、実際には、ＣＰＵ起動制御装置によりアドレスが変換され、切り替えられたアドレスでＣＰＵ起動用メモリ３から読み込みを開始することとなる。これにより、ＣＰＵ起動用メモリ３の２つの起動用メモリ領域に同時に障害が発生しない限り、ＣＰＵ・４は正常に起動することができる。
本実施例では、ウオッチドッグタイマ付きリセットＩＣ・５を使用するシステムに対して、フリップフロップ１個とＥＸＯＲゲート１個の追加で実現できるためコストパフォーマンスが高く、また構成が簡潔であるため信頼性が高いものとなる。
【００２６】
以上、この発明の実施形態を、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の構成等も含まれる。
【００２７】
【発明の効果】
以上、詳細に説明したように、本発明によれば、ＣＰＵの起動時に発生したその動作異常に対して、記憶手段に供給するアドレス信号が変換され、ＣＰＵがアクセスする起動用メモリ領域のアドレスが切り替えられることにより、ＣＰＵはウオッチドッグリセットによる再起動時に、他方の起動用メモリ領域をアクセスすることになる。したがって、一方の起動用メモリ領域に障害があり、これが起因でＣＰＵの起動が異常となっても、ＣＰＵを正常に再起動させることができ、システムの信頼性を向上させることができる。
また、一般的なウオッチドッグタイマを利用するコンピュータ装置において、１つのフリップフロップ回路と１つのＥＸＯＲ回路を追加するのみで、当該コンピュータ装置の信頼性を向上させることができ、またコストパフォーマンスも高い。
【図面の簡単な説明】
【図１】本発明の一実施例であるＣＰＵ起動制御装置の構成を示す回路図である。
【図２】同実施例におけるタイミングチャートである。
【図３】同実施例におけるアドレスの切り替えを説明する図である。
【図４】本発明の他の実施例であるＣＰＵ起動制御装置の構成を示す回路図である。
【符号の説明】
１…Ｄ−ＦＦ（アドレス切替手段の一部）、２…ＥＸＯＲゲート（アドレス切替手段の一部）、３…ＣＰＵ起動用メモリ（記憶手段）、４…ＣＰＵ、５…ウオッチドッグタイマ付きリセットＩＣ
【図１】
2004220173.tif 000003
【図２】
2004220173.tif 000004
【図３】
2004220173.tif 000005
【図４】
2004220173.tif 000006