(57)【要約】【課題】所定の時間内に冗長ＣＰＵの再同期が成らなかった場合には、強制的に正常ＣＰＵの単独運用に切り替えて、早期に通常運用処理を再開させる同期制御装置を、提供する。【解決手段】切替／再同期制御回路１４は、何れかのＣＰＵ６の同期遅れを検出すると、正常ＣＰＵ６に割り込みを上げる。すると、正常ＣＰＵ６は、再同期タイマレジスタ１６２による経過時間計測を開始させる。その後で、切替／再同期制御回路１４は、全ＣＰＵに対してリセットを発行する。リセットされた各ＣＰＵ６は、ファームウェアに従って起動する。その間に、再同期タイマレジスタ１６２によって計測された経過時間が上限時間に達したことがタイマ／上限時間比較回路１６１によって検出されると、切替／再同期制御回路１４は、異常ＣＰＵ６を停止させて、正常ＣＰＵ６のみをリセットさせる。【選択図】図１
2010092105.tif 000002
【特許請求の範囲】
【請求項１】
第１の演算処理装置と第２の演算処理装置に接続される同期制御装置において、
計数を行うとともに、前記計数した計数情報を出力する計数部と、
所定のタイムアウト時間を保持するとともに、前記タイムアウト時間を出力するタイムアウト時間保持部と、
前記計数部が出力する前記計数情報と前記タイムアウト時間設定保持部が出力する前記タイムアウト時間を比較する比較部と、
前記第１の演算処理装置の出力と前記第２の演算処理装置の出力を比較することにより、前記第１及び第２の演算処理装置の同期を監視し、前記第１の演算処理装置と前記第２の演算処理装置の出力が一致しない場合に、前記計数部を初期化して計数を開始させ、さらに、前記比較部が前記計数情報と前記タイムアウト時間が一致することを検出したときには、同期遅れが発生した前記第１又は第２の演算処理装置のいずれかを停止させる同期制御部を
有することを特徴とする同期制御装置。
【請求項２】
前記同期制御装置はさらに、
前記計数部が計数を開始後、前記比較部が前記計数情報と前記タイムアウト時間が一致することを検出した場合には、前記第１及び第２の演算処理装置のうち、前記同期遅れが発生していない方の演算処理装置を初期化するとともに、前記第１の演算処理装置の出力と前記第２の演算処理装置の出力の比較を停止する
ことを特徴とする請求項１記載の同期制御装置。
【請求項３】
前記同期制御装置はさらに、
同期遅れ情報保持部を有し、
前記計数部が計数を開始後、前記比較部が前記計数情報と前記タイムアウト時間が一致することを検出した場合には、前記同期遅れ情報保持部に同期遅れ情報を格納する
ことを特徴とする請求項１又は２記載の同期制御装置。
【請求項４】
前記計数部は、
外部から前記同期制御装置に入力される第１のクロックに基づいて計数を行う
ことを特徴とする請求項１〜３のいずれか１項に記載の同期制御装置。
【請求項５】
第１の演算処理装置，第２の演算処理装置，及びこれら第１及び第２の演算処理装置に夫々接続された同期制御装置を有する情報処理装置において、
前記同期制御装置が、
計数を行うとともに、前記計数した計数情報を出力する計数部と、
所定のタイムアウト時間を保持するとともに、前記タイムアウト時間を出力するタイムアウト時間保持部と、
前記計数部が出力する前記計数情報と前記タイムアウト時間設定保持部が出力する前記タイムアウト時間を比較する比較部と、
前記第１の演算処理装置の出力と前記第２の演算処理装置の出力を比較することにより、前記第１及び第２の演算処理装置の同期を監視し、前記第１の演算処理装置と前記第２の演算処理装置の出力が一致しない場合に、前記計数部を初期化して計数を開始させ、さらに、前記比較部が前記計数情報と前記タイムアウト時間が一致することを検出したときには、同期遅れが発生した前記第１又は第２の演算処理装置のいずれかを停止させる同期制御部を有する
ことを特徴とする情報処理装置。
【請求項６】
前記同期制御装置はさらに、
前記計数部が計数を開始後、前記比較部が前記計数情報と前記タイムアウト時間が一致することを検出した場合には、前記第１及び第２の演算処理装置のうち、前記同期遅れが発生していない方の演算処理装置を初期化するとともに、前記第１の演算処理装置の出力と前記第２の演算処理装置の出力の比較を停止する
ことを特徴とする請求項５記載の情報処理装置。
【請求項７】
前記同期制御装置はさらに、
同期遅れ情報保持部を有し、
前記計数部が計数を開始後、前記比較部が前記計数情報と前記タイムアウト時間が一致することを検出した場合には、前記同期遅れ情報保持部に同期遅れ情報を格納する
ことを特徴とする請求項５又は６記載の情報処理装置。
【請求項８】
前記計数部は、
外部から前記同期制御装置に入力される第１のクロックに基づいて計数を行う
ことを特徴とする請求項５〜７のいずれか１項に記載の情報処理装置。
【請求項９】
第１の演算処理装置及び第２の演算処理装置に夫々接続された同期制御装置により、これら演算処理装置の同期を管理する同期管理方法であって、
前記同期制御装置は、
前記第１の演算処理装置の出力と前記第２の演算処理装置の出力を比較することにより、前記第１及び第２の演算処理装置の同期を監視し、
前記第１の演算処理装置と前記第２の演算処理装置の出力が一致しない場合に、計数を開始し、
計数開始後の計数情報と所定のタイムアウト時間とを比較し、
前記計数情報と前記タイムアウト時間が一致することを検出したときには、同期遅れが発生した前記第１又は第２の演算処理装置のいずれかを停止させる
ことを特徴とする同期管理方法。
【請求項１０】
前記同期制御装置は、さらに、
前記計数情報と前記タイムアウト時間が一致することを検出した場合には、前記第１及び第２の演算処理装置のうち、前記同期遅れが発生していない方の演算処理装置を初期化するとともに、前記第１の演算処理装置の出力と前記第２の演算処理装置の出力の比較を停止する
ことを特徴とする請求項９記載の同期制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の演算処理回路が冗長化され、これら複数の演算処理回路を同期運転させるシステムにおいて、演算処理回路間の同期遅れが発生した時に再同期を行わせる同期制御装置，これら演算処理回路及び同期制御装置を含んで構成される情報処理装置，並びに、同期制御装置による演算処理回路に対する同期管理方法に、関する。
【背景技術】
【０００２】
昨今の大規模且つミッションクリティカルなサーバシステムにおいては、ハードウェアの故障等に因りシステム全体が停止しないように、ハードウェア構成を冗長化させることが一般的である。そのため、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）についても、同一構成の複数のＣＰＵを予めシステムに組み込んでおき、常時、これら2つのＣＰＵに対して同一の処理を同時に実施させ、任意のＣＰＵからの処理結果を外部
出力するが、何れかのＣＰＵが故障した場合には、故障した当該ＣＰＵをシステムから切り離す一方、正常な残り一個のＣＰＵに処理を続行させ、当該正常なＣＰＵからの処理結果を外部出力する冗長ＣＰＵの技術が開発されている。
【０００３】
もっとも、ハード的な故障ではなくソフト的なエラーに因り一方のＣＰＵの処理のみが遅延乃至ハングし、これに因り複数ＣＰＵ間の同期遅れが発生する場合もありえる。かかる場合には、エラーの程度如何に依っては、異常の生じたＣＰＵを一旦停止させ、正常なＣＰＵの内部情報を前者内に再現（初期化）することにより、両ＣＰＵが互いに同期した状態（即ち、冗長構成）を回復することが、可能である場合もありえる。
【０００４】
そこで、両ＣＰＵの同期遅れの有無を監視し、同期遅れが発生した場合に、故障の生じたＣＰＵをリセット及び初期化することによって再同期させる再同期処理を実行し、リトライする同期制御装置が、必要となる。
【特許文献１】特開2006-302289号公報
【特許文献２】特開2005-285119号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
かかる同期制御装置を用いた再同期処理を成功させるためには、同期遅れが検出されてから再同期処理完了までの間、異常が生じたＣＰＵは勿論のこと、正常なＣＰＵについても前者内に再現させるべき内部情報を確定する必要があるので、再同期のための処理以外を行い得なくなる。よって、その間は通常運用処理（例えば、ＯＳが実施しようとしていた処理）が停止することになるので、再同期処理には、あまり時間を掛けるべきではない。
【０００６】
しかしながら、従来の同期制御装置によると、再同期処理中に両ＣＰＵ間に同期遅れが生じた場合には、再同期処理を繰り返しリトライするので、トータルの再同期処理の時間が長くなり、その為、通常運用処理が停止する期間が長くなってしまうという問題があった。
【０００７】
この点、通常運用処理の停止時間が長くなることを制限するために、再同期処理をリトライ可能な回数の上限値を予め設定し、実際のリトライ回数が当該上限値に達すると、以後の再同期処理のリトライを禁止して、正常なＣＰＵのみの単独運用に切り替えることも考えられる。
【０００８】
しかしながら、再同期処理のリトライの開始から同期遅れが再検出されるまでの時間幅は、常に一定であるわけではない。例えば、システムボードに搭載されるＣＰＵの数（冗長ＣＰＵの組数）により、正常ＣＰＵの内部情報をメモリに退避する処理やＣＰＵの内部情報を復元する処理に要する時間は異なるからである。その為、再同期可能回数の上限値の設定により、通常運用停止時間を常に（例えば構成によらず）一定にすることは困難であり、通常運用において許容される停止時間を超過する可能性がある。
【０００９】
本案は、以上の問題点に鑑みてなされたものであり、その課題は、再同期処理の実行及びリトライのために通常運用処理が停止する時間そのものに制限を設けて、その時間内に再同期が成らなかった場合には、強制的に正常ＣＰＵの単独運用に切り替えて、早期に通常運用処理を再開させることである。
【課題を解決するための手段】
【００１０】
本案が適用された同期制御装置は、第１の演算処理装置の出力と前記第２の演算処理装置の出力を比較することにより、前記第１及び第２の演算処理装置の同期を監視し、これにより、前記第１の演算処理装置と前記第２の演算処理装置の出力が一致しないことを検出した場合には、同期遅れが生じたものとして、計数を開始することによって経過時間に対応する計数情報をカウントアップさせていく。そして、かかる計数情報と所定のタイムアウトアウト時間とを比較し、両者が一致したことを検出すると、同期遅れが発生した演算処理装置を停止させることにより、正常な演算処理装置の単独運用に移行する。
【００１１】
このような構成により、同期制御装置が、再同期処理を開始する時点である両演算処理装置の出力が一致しないことを検出したタイミングで、計数を開始（経過時間の計測を開始）し、計数情報（経過時間）がタイムアウト時間に達した時点で、再同期処理のリトライ回数如何に拘わらず、同期遅れが発生した演算処理装置を停止させることにより再同期処理の続行を打ち切って、正常な演算処理装置の単独運用に切り替える。よって、単独運用されることとなった当該正常な演算処理装置によって、通常運用処理を確実に早期再開させることが可能となるので、通常運用処理において許容される停止時間を超過することを防ぐことができる。
【発明の効果】
【００１２】
開示の情報処理装置によれば、再同期処理の実行及びリトライのために通常運用処理が停止する時間そのものに制限を設けて、その時間内に再同期が成らなかった場合には、強制的に正常ＣＰＵの単独運用に切り替えて、早期に通常運用処理を再開させることができる。
【発明を実施するための最良の形態】
【００１３】
以下、図面に基づいて、開示の情報処理装置の実施の形態であるサーバシステムを、説明する。
＜ハードウェア構成＞
先ず、当該サーバシステムのハードウェア構成を、図１乃至図３のブロック図を参照して説明する。
【００１４】
図１は、当該サーバシステムの基本構成を示すブロック図である。この図１に示されるように、当該サーバシステムは、複数のシステムボード（＃０〜＃ｎ）１を備えるマルチプロセッサシステムとして実現される。これら複数のシステムボード（＃０〜＃ｎ）１は、グローバルアドレスクロスバー３及びグローバルデータクロスバー４を通じて相互に接続されている。さらに、これらグローバルアドレスクロスバー３及びグローバルデータクロスバー４には、同じ複数のシリアルナンバー（＃０〜＃ｎ）のシステムボード（＃０〜＃ｎ）１に夫々対応した複数のＩＯユニット（＃０〜＃ｎ）２にも、接続されている。
【００１５】
このグローバルアドレスクロスバー３は、各システムボード（＃０〜＃ｎ）１から発行された命令及び命令の対象となるアドレスを他のシステムボード（＃０〜＃ｎ）１及びＩＯユニット（＃０〜＃ｎ）２に対して中継するアドレス中継手段である。
【００１６】
また、グローバルデータクロスバー４は、システムボード（＃０〜＃ｎ）１相互間，ＩＯユニット（＃０〜＃ｎ）２相互間、及びシステムボード（＃０〜＃ｎ）１とＩＯユニット（＃０〜＃ｎ）２との間で、データを中継する処理手段であるである。
【００１７】
更に、各システムボード（＃０〜＃ｎ）１及びＩＯユニット（＃０〜＃ｎ）２には、システム制御／管理装置５が接続されている。このシステム制御／管理装置５は、システム管理者が入力する制御信号に従って、各システムボード（＃０〜＃ｎ）１とＩＯユニットＩＯユニット（＃０〜＃ｎ）２が備えるレジスタ群（その詳細については、図２及び図３に基づいて後述する）に各種設定値を設定したり、パーティションの構成を設定するといったシステム全体の管理を行うサービスプロセッサないしコンソール装置である。なお、パーティションとは、システムボード（＃０〜＃ｎ）１及びＩＯユニット（＃０〜＃ｎ）２との組合せにより構成されるシステムである。
【００１８】
図２は、各システムボード（＃０〜＃ｎ）１上に搭載された回路構成を示すブロック図である。この図２に示されたように、システムボード１上には、相互に同一構成を有するとともに同期運転による冗長化されたＣＰＵの組（冗長ＣＰＵ）である第１の演算処理装置としてのＣＰＵ（０）６及び第２の演算処理装置としてのＣＰＵ（１）６が、夫々に対応したＣＰＵバス（０）７，ＣＰＵバス（１）７に接続された状態で、設置されている。
【００１９】
そして、これら複数のＣＰＵ（０〜１）６及びＣＰＵバス（０〜１）７や、クロック制御回路２３，２３，ファームウェアハブ（ＦＷＨ）１５，ノースブリッジ６，メモリ１２及びメモリコントローラ１０から、当該システムボード１上に搭載されたマルチプロセッサ（冗長ＣＰＵ）システムからなる情報処理装置が、構成される。なお、上述したグローバルアドレスクロスバー３から通知された命令及びアドレスは、ファームウェアハブ（ＦＷＨ）１５及びメモリコントローラ１０に入力されるとともに、各ＣＰＵバス（０〜１）７を通じて、各ＣＰＵ（０〜１）６へ入力される。
【００２０】
クロック制御回路２３，２３は、システムボード１外に設けられた図示せぬクロック発生装置から各ＣＰＵバス（０〜１）７へ供給されるクロック（第１のクロックとしての外部クロック）を夫々通過又は遮断するスイッチであり、ノースブリッジ６中の後述する切替／再同期制御回路１４によって制御される。なお、クロック制御回路２３によってクロック供給を遮断されたＣＰＵバス（０〜１）７に接続されたＣＰＵ（０〜１）６は、クロックが入力されないために動作不能となって縮退することとなる。
【００２１】
ファームウェアハブ（ＦＷＨ）１５は、各ＣＰＵ（０〜１）６が上述したようにＣＰＵリセット又は割り込みを掛けられた時に最初に読み込むファームウェア（ＢＩＯＳ）を格納した不揮発のフラッシュメモリであり、かかる読み込みのために各ＣＰＵ（０〜１）６に夫々接続されている。なお、各ＣＰＵ（０〜１）６は、当該ファームウェア（ＢＩＯＳ）に従い、再同期処理，即ち、後述するノースブリッジ６（切替／再同期制御回路１４）によって割り込みを掛けられた場合には割込処理（図４及び図５に示す「正常ＣＰＵ割込みファーム処理」），リセットを掛けられた場合には、初期処理（図４に示す「Resetの
ファームウェア初期処理」）を、夫々実行する。
【００２２】
また、メモリコントローラ１０は、各種のデータが記憶されるメモリ１２に接続されており、グローバルデータクロスバー４から入力されたデータをメモリ１２における上記入
力されたアドレスが示す記憶位置に書き込むライト処理，及び、当該記憶位置から読み出したデータを読み込んでグローバルデータクロスバー４又は各ＣＰＵ（０〜１）６へ送出するリード処理を実行する装置である。
【００２３】
次に、ノースブリッジ６は、冗長ＣＰＵを構成するＣＰＵ（０〜１）６のうちの一方のＣＰＵ（片系ＣＰＵ）において故障、縮退が発生して、同期崩れが発生したことを検出し、ファームウェアハブ（ＦＷＨ）１５に格納されているファームウェア（ＢＩＯＳ）に従って動作するＣＰＵ（０〜１）６と同期して冗長ＣＰＵの再同期処理を行う、同期制御装置に相当する回路群である。
【００２４】
なお、ここに「同期崩れ」とは、冗長ＣＰＵを構成するＣＰＵのペアが同期運転できないことをいい、一方のＣＰＵ（０〜１）６の処理が他方のＣＰＵ（０〜１）６の処理から遅れる「同期遅れ」を、その端緒とする。また、「冗長ＣＰＵの再同期処理」とは、両ＣＰＵ（０〜１）６を再度冗長構成へ戻すための処理である。ノースブリッジ６は、ＣＰＵ（０〜１）６とは独立して動作するハードウェアからなるので、かかる冗長ＣＰＵの再同期処理を、システム上で稼動しているＯＳをシャットダウン／再起動させることなく実行することができる。
【００２５】
図２において、破線によって囲まれた各検査回路１１，１１，ＣＰＵバス同期検査回路１３，切替／再同期制御回路１４，再同期タイマおよびタイムアウト制御回路１６，切替スイッチ１７，リセット制御レジスタ１８，再同期制御レジスタ１９，エラー指摘レジスタ２０，命令デコーダ２１，位相同期回路（ＰＬＬ０）２２が、ノースブリッジ６を、構成する。以下、ノースブリッジ６を構成するこれら各回路毎に、その機能を説明する。
【００２６】
まず、命令デコーダ２１は、システム制御／管理装置５からノースブリッジ６に対して発行された命令をデコードしデコード結果に応じて再同期制御レジスタ１９及び再同期タイマおよびタイムアウト制御回路１６（再同期上限時間設定レジスタ１６３）に対する設定値の書き込み／読み込みを行う。
【００２７】
各検査回路１１，１１は、対応するＣＰＵバス（０〜１）７を通じてＣＰＵ（０〜１）６の出力端子に接続されており、対応するＣＰＵバス（０〜１）７を介して、ＣＰＵ（０〜１）６からグローバルアドレスバー３へ向けて送信されたパケットを受け取り、ＥＣＣおよびパリティ等の検査を行う。検査によってエラーを検出すると、切替／再同期制御回路１４へエラー通知を行う。
【００２８】
ＣＰＵバス同期検査回路１３は、各ＣＰＵバス（０〜１）７に接続されており、ＣＰＵバス単位で同期検査を行う。すなわち、ＣＰＵバス同期検査回路１３は、冗長ＣＰＵを構成するＣＰＵペアが同期運転を行っているかを検査する。そして、ＣＰＵバス同期検査回路１３は、同期ずれを検出すると、切替／再同期制御回路１４へエラー通知を行う。
【００２９】
なお、ＣＰＵ（０〜１）６内部にてエラーが検出された場合には、エラーが検出されたＣＰＵ（０〜１）６自体が、切替／再同期制御回路１４に対してエラー通知（内部エラー通知）を行う。
【００３０】
当該切替／再同期制御回路１４には、上述した各ＣＰＵ（０〜１）６，各検査回路１１，１１及びＣＰＵバス同期検査回路１３の他、再同期タイマ及びタイムアウト制御回路１６（タイマ／上限時間比較回路１６１），リセット制御レジスタ１８，再同期制御レジスタ１９，切替スイッチ１７及びエラー指摘レジスタ２０が接続されている。
【００３１】
このうち切替スイッチ１７は、切替／再同期制御回路１４の指示に従ってＣＰＵバス（
０〜１）７の切替を行う。切替スイッチ１７がＣＰＵバス（０〜１）７の切替を行うことによって、例えばＣＰＵバス（０）７又はＣＰＵバス（１）７のうちのどちらを通じて発行された命令がグローバルアドレスクロスバー３に投入されるかが決まる。
【００３２】
リセット制御レジスタ１８は、各ＣＰＵ（０〜１）６についてのリセット制御のために、各ＣＰＵ（０〜１）６の状態を管理するレジスタである。例えば、冗長ＣＰＵの再同期処理にて正常なＣＰＵ（０〜１）６のキャッシュデータのメモリ１２への退避が完了すると、ファームウェアハブ（ＦＷＨ）１５に格納されているファームウェアに基づく正常なＣＰＵ（０〜１）６による制御（正常ＣＰＵ割込ファーム処理）によって、リセット制御レジスタ１８内に正常なＣＰＵに対応する退避完了フラグが立つ（Ｓ１０６，Ｓ１１０）。
【００３３】
再同期制御レジスタ１９は、両ＣＰＵ（０〜１）６に対する再同期処理の実行回数，その上限値（再同期可能上限値），及び再同期可否フラグが設定されるレジスタである。再同期可能上限値は、命令デコーダ２１を介して、システム管理者が操作するシステム制御／管理装置５によって、設定される。また、再同期可否フラグは、両ＣＰＵ（０〜１）６の再同期が可能であるか否かを示すフラグである。そして、ファームウェアハブ（ＦＷＨ）１５に格納されているファームウェア（ＢＩＯＳ）に従って動作する正常なＣＰＵ（０〜１）６は、実際の再同期処理の実行回数を再同期制御レジスタ１９に記録するとともに（Ｓ３０８）、当該再同期制御レジスタ１９に設定された再同期可能上限値と比較し（Ｓ３０６，Ｓ３０７）、実行回数が再同期可能上限値未満である場合には、再同期処理の更なるリトライが可能であると判断して、再同期制御レジスタ１９に再同期可否フラグとして例えばフラグ１を設定するが（Ｓ３０８）、実行回数が再同期可能上限値に達すると、再同期処理の更なるリトライは不可能であると判断して、再同期可否フラグとして例えばフラグ０を設定する（Ｓ３０９）。
【００３４】
エラー指摘レジスタ２０は、ノースブリッジ６（切替／再同期制御回路１４，再同期タイマ及びタイムアウト制御回路１６（タイマ／上限時間比較回路１６１））が検出した各種障害の情報を格納するレジスタである。例えば、切替／再同期制御回路１４が上記各エラー通知を受けた場合に、通知されたエラーの内容が、当該エラー指摘レジスタ２０に格納される。また、同期遅れの生じた異常ＣＰＵバス７のＩＤが、当該エラー指摘レジスタ２０に格納される。更に、再同期処理実行回数が上限に達した場合や再同期期間が上限に達した場合に、同期不可フラグ（同期遅れ情報に相当）が、同期遅れ情報保持部としての当該エラー指摘レジスタ２０に格納される
ファームウェアハブ（ＦＷＨ）１５に格納されているファームウェアに基づいてReset
のファームウェア初期設定処理を実行するＣＰＵ（０〜１）６は、起動後にエラー指摘レジスタ２０に同期不可フラグが設定されているか否かに基づいて、再同期処理を実行するか（同期不可フラグが設定されていない場合：Ｓ３０２〜）、単独で起動する（同期不可フラグが設定されている場合：Ｓ３１０〜）。そして、例えば、エラー指摘レジスタ２０に格納されているその他のエラーの情報を獲得し、その情報をシステム制御／管理装置５に通知することで、システム管理者に障害情報を通知しても良い。
【００３５】
再同期タイマ及びタイムアウト制御回路１６は、命令レコーダ２１を介してシステム制御／管理装置５により設定された再同期上限時間と再同期に要した時間とを比較し、再同期上限時間を超過すれば切替／再同期制御回路１４に対して正常ＣＰＵ６及び正常ＣＰＵバス７のみを有効にしてリセットを実行するように依頼する回路である。
【００３６】
この再同期タイマ及びタイムアウト制御回路１６は、図３に示すように、再同期上限時間設定レジスタ１６３，再同期タイマレジスタ１６２，及び、タイマ／上限時間比較回路１６１から、構成されている。
【００３７】
再同期上限時間設定レジスタ１６３には、命令レコーダ２１を介して、システム管理者が操作するシステム制御／管理装置５によって、再同期処理時間上限（タイムアウト時間）が設定される（タイムアウト時間保持部に相当）。
【００３８】
再同期タイマレジスタ１６２は、位相同期回路（PLL0）２２から供給されるクロック（第１のクロック）を使用してレジスタ値（計数情報に相当）をカウントアップすることで、再同期時間を計測する（計数部に相当）。このように、ＣＰＵクロックとは別系統の位相同期回路（PLL0）２２からのクロックを使用しているので、各ＣＰＵ（０〜１）６の状態に依存せずに時間を計測することができ、また、再同期のためのリセットによってレジスタ値がクリアされることもない。なお、再同期タイマレジスタ１６２は、ファームウェアハブ（ＦＷＨ）１５に格納されているファームウェアに基づく正常なＣＰＵ（０〜１）６による制御（正常ＣＰＵ割込ファーム処理，ファームウェアの初期処理）によって、０クリアされるとともにカウントアップ開始され（Ｓ１０１）、停止される他（Ｓ１０７，Ｓ３０５）、タイマ／上限時間比較回路１６１によっても停止される（Ｓ５０１）。
【００３９】
タイマ／上限時間比較回路１６１は、再同期上限時間設定レジスタ１６３の値と再同期タイマレジスタ１６２の値とを比較し、両者が一致すると、再同期タイマレジスタ１６２を０クリアしてカウントアップを停止させるとともに（Ｓ５０１）、エラー指摘レジスタ２０に同期不可フラグを立て（Ｓ５０２）、切替／再同期制御回路１４に対して、正常ＣＰＵ６及び正常ＣＰＵバス７のみを有効にしてリセットを実施するように依頼する（Ｓ５０３）（比較部に相当）。
【００４０】
切替／再同期制御回路１４は、各ＣＰＵ（０〜１）６，各検査回路１１，１１，ＣＰＵバス同期検査回路１３からエラー通知を受信することにより、二つのＣＰＵ（０〜１）６の双方又は正常な一方に対してＣＰＵリセット又は割り込みを掛け、切替スイッチ１７の動作を制御し、また、エラー指摘レジスタ２０にフラグをセットする回路である。
【００４１】
具体的には、切替／再同期制御回路１４は、エラー通知を受けた場合、エラーが発生したＣＰＵ（０〜１）６が接続されているＣＰＵバス（０〜１）７へのクロック供給を停止するようにクロック制御回路２３を設定することにより、当該ＣＰＵバス（０〜１）７を無効とし（Ｓ００２）、当該ＣＰＵバス（０〜１）７からグローバルアドレスクロスバー３への命令の発行を停止するとともに、どのＣＰＵバス（０〜１）７を無効としたかを、エラー指摘レジスタ２０に記録する。
【００４２】
また、切替／再同期制御回路１４は、エラー通知を受けたことを契機として、正常なＣＰＵバス（０〜１）７に接続されている正常なＣＰＵ（０〜１）６に対して、割り込みを通知する（Ｓ００３）。その結果、当該正常なＣＰＵ（０〜１）６が、上述したように、図４及び図５に示す「正常ＣＰＵ割込みファーム処理」を実行する。即ち、同期遅れが発生していない方の演算処理装置（ＣＰＵ６）を初期化する。
【００４３】
また、切替／再同期制御回路１４は、リセット制御レジスタ１８及び再同期制御レジスタ１９を監視し、正常なＣＰＵ（０〜１）６について前述の退避完了フラグが立っていることを確認すると、再同期可否フラグ＝１が立っていれば、全てのＣＰＵ（０〜１）６へリセットを発行し（Ｓ２０２）、再同期可否フラグ＝０が立っていれば、エラー指摘レジスタ２０に同期不可フラグを立てるとともに（Ｓ４０１）、エラー指摘レジスタ２０に格納されている無効なＣＰＵバス（０〜１）７のＩＤを参照して、異常なＣＰＵ（０〜１）６側のクロック制御回路２３に対して、ＣＰＵバス（０〜１）７へのクロック供給を停止させるとともに（Ｓ４０２）、正常なＣＰＵ（０〜１）６へのみリセットを発行し（Ｓ４０３）、切替スイッチ１７を、強制的に、正常なＣＰＵ（０〜１）６側に切り替えさせる
（Ｓ４０４）。かかるリセットを発行されたＣＰＵ（０〜１）６が、上述したように、初期処理（図４に示す「Resetのファームウェア初期処理」）を実行する。
【００４４】
また、切替／再同期制御回路１４は、タイマ／上限時間比較回路１６１から正常ＣＰＵ６及び正常ＣＰＵバス７のみを有効にしてリセットを実施するように依頼されると、エラー指摘レジスタ２０に格納されている無効なＣＰＵバス（０〜１）７の記録を参照して、異常なＣＰＵ（０〜１）６側のクロック制御回路２３に対して、ＣＰＵバス（０〜１）７へのクロック供給を停止させるとともに（Ｓ５０３）、正常なＣＰＵ（０〜１）６へのみリセットを発行し（Ｓ５０４）、切替スイッチ１７を、強制的に、正常なＣＰＵ（０〜１）６側に切り替えさせる（Ｓ５０５）。
【００４５】
以上に説明した各ＣＰＵ（０〜１）６，ファームウェアハブ（ＦＷＨ）１５，ＣＰＵバス同期検査回路１３，切替／再同期制御回路１４が、前記第１の演算処理装置（ＣＰＵ（０）６）の出力と前記第２の演算処理装置（ＣＰＵ（１）６）の出力を比較することにより、前記第１及び第２の演算処理装置の同期を監視し（ＣＰＵバス同期検査回路１３の機能）、前記第１の演算処理装置と前記第２の演算処理装置の出力が一致しない場合に、前記計数部を初期化して計数を開始させ（切替／再同期制御回路１４，各ＣＰＵ（０〜１）６及びファームウェアハブ（ＦＷＨ）５の機能）、さらに、前記比較部が前記計数情報と前記タイムアウト時間が一致することを検出したときには、同期遅れが発生した前記第１又は第２の演算処理装置のいずれかを停止させる（切替／再同期制御回路１４の機能）同期制御部に、相当する。
＜再同期処理＞
次に、上述したノースブリッジ６の動作シーケンス及びファームウェアハブ（ＦＷＨ）１５に格納されているファームウェア（ＢＩＯＳ）に基づくＣＰＵ（０〜１）６による処理の流れを、図４乃至図６のフローチャートに基づいて、説明する。なお、これら各図において、αの列はノースブリッジ６の動作シーケンスを示し、βの列はファームウェア（ＢＩＯＳ）に基づくＣＰＵ（０〜１）６による処理の流れを示す。
【００４６】
まず、切替／再同期制御回路１４は、主電源投入によって図４（α）の動作を開始し、最初のＳ００１において、各ＣＰＵ（０〜１）６，各検査回路１１，１１又はＣＰＵバス同期検査回路１３から受信するエラー通知に基づいて、何れかのＣＰＵ６の同期遅れ，即ち、冗長ＣＰＵの同期崩れを監視する。
【００４７】
そして、切替／再同期制御回路１４は、冗長ＣＰＵの同期崩れを検出すると、処理をＳ００１からＳ００２へ進め、同期遅れの生じたＣＰＵ（０〜１）６（以下、「異常ＣＰＵ６」という）が接続されているＣＰＵバス（０〜１）７（以下、「異常ＣＰＵバス７」という）へのクロック供給を停止することにより、その動作を停止させる。
【００４８】
次のＳ００３では、切替／再同期制御回路１４は、動作が停止していない側のＣＰＵバス（０〜１）７（以下、「正常ＣＰＵバス７」という）に接続されているＣＰＵ（０〜１）６（以下、「正常ＣＰＵ６」という）に対して、異常ＣＰＵ６が停止した旨，即ち、「片系停止」を、割り込み通知する。
【００４９】
すると、割り込み通知を受けた正常ＣＰＵ６は、ファームウェアハブ（ＦＷＨ）１５に格納されているファームウェア（ＢＩＯＳ）を読み込み、図４（β）に示す正常ＣＰＵ割込ファーム処理をスタートする。そして、正常ＣＰＵ６は、スタート後最初のＳ１００において、再同期タイマレジスタ１６２の状態を確認する。そして、正常ＣＰＵ６は、再同期タイマレジスタ１６２がタイマカウント中であれば、そのまま処理をＳ１０３へ進め、再同期タイマレジスタ１６２が停止中であって未だタイマカウントが開始されていなければ、処理をＳ１０１へ進める。
【００５０】
Ｓ１０１では、正常ＣＰＵ６は、再同期タイマレジスタ１６２を一旦ゼロクリアした後にカウントアップを開始させるとともに、タイマ／上限時間比較回路１４に対して、上記再同期タイマレジスタ１６２の計数値と再同期上限値設定レジスタ１６３の値との比較を開始させる。
【００５１】
次のＳ１０２では、正常ＣＰＵ６は、Ｓ００２にて動作を停止させられたＣＰＵバス７のＩＤを、エラー指摘レジスタ２０に記録する。Ｓ１０２を完了すると、正常ＣＰＵ６は、処理をＳ１０３へ進める。
【００５２】
Ｓ１０３では、正常ＣＰＵ６は、再同期制御レジスタ１９中に設定されている再同期可否フラグを参照して、冗長ＣＰＵの再同期の実施の可否を判断する。そして、正常ＣＰＵ６は、再同期可能を示す値（上述した例ではフラグ１）が設定されている為に、冗長ＣＰＵの再同期の実施が可能であると判断した場合には、処理をＳ１０４へ進める。これに対して、再同期不能を示す値（上述した例ではフラグ０）が設定されている為に、冗長ＣＰＵの再同期の実施ができない（ＮＧ）と判断した場合には、処理をＳ１０７へ進めて、片系（正常ＣＰＵバス）にて動作を継続させる。
【００５３】
Ｓ１０４では、正常ＣＰＵ６は、当該正常ＣＰＵ６の内部情報（ＣＰＵ内レジスタ等の内容であり、同期崩れ直前のアドレスをも含む）を、メモリ１２に退避（コピー）させる。ただし、再同期処理をリトライしている場合（後述するＳ３０９又はＳ３０８を実行後に処理がループした場合）には、既に上記内部情報がメモリ１２に退避済みであるので、更なるメモリ退避は行わない。
【００５４】
次のＳ１０５では、正常ＣＰＵ６は、当該正常ＣＰＵ６内部に保持しているキャッシュデータを、メモリに反映（キャッシュフラッシュ）させる。キャッシュデータのメモリへの退避が完了すると、正常ＣＰＵ６は、処理をＳ１０６へ進める。
【００５５】
Ｓ１０６では、正常ＣＰＵ６は、リセット制御レジスタ１８内に、当該正常ＣＰＵ６に対応した退避完了フラグを設定する。その後、当該正常ＣＰＵによる正常ＣＰＵ割込ファーム処理は、待ち（無限ループ）になる。
【００５６】
一方、切替／再同期制御回路１４は、リセット制御レジスタ１８内に退避完了フラグが設定されることを契機に起動し、再同期制御レジスタ１９中に再同期不能を示す値（上述した例ではフラグ０）の再同期可否フラグが設定されていないことを条件に、図４（α）のＳ２０１以下の動作を行う。なお、再同期制御レジスタ１９中に再同期不能を示す値（上述した例ではフラグ０）の再同期可否フラグが設定されている場合には、切替／再同期制御回路１４は、図５（α）に示すＳ４０１以下の動作を行うこととなる。
【００５７】
Ｓ２０１では、切替／再同期制御回路１４は、全てのＣＰＵバス（０〜１）７に対してクロックを供給させる様、クロック制御回路２３，２３を設定する。
【００５８】
次のＳ２０２では、切替／再同期制御回路１４は、当該システムボード１内の全ＣＰＵ（０〜１）６に対し、リセットを発行する。なお、このリセットではメモリの内容はそのまま保持される。
【００５９】
Ｓ２０２でのリセット発行の結果としてリセットされた各ＣＰＵ（０〜１）６は、夫々、ファームウェアハブ（ＦＷＨ）１５に格納されているファームウェア（ＢＩＯＳ）を読み込み、図４（β）に示すResetのファームウェア処理をスタートする。そして、スター
ト後最初のＳ３０１において、ＣＰＵ６は、エラー指摘レジスタ２０に同期不可フラグが
設定されているか否かをチェックする。そして、同期不可フラグが設定されていれば処理をＳ３１０へ進めるが、同期不可フラグが設定されていなければ処理をＳ３０２へ進める。切替／再同期制御回路１４がＳ２０２を実行することによってリセット発行した場合には、同期不可フラグは設定されていないので、Ｓ３０２以下の処理が実行されることになる。Ｓ３１０以下の処理は、便宜上、図５の説明をした後に行う。
【００６０】
Ｓ３０２では、ＣＰＵ６は、メモリ１２に退避されている正常ＣＰＵの内部情報の復元を開始する。処理主体であるＣＰＵ６が、異常ＣＰＵバス７に接続されている異常ＣＰＵ６であったとしても、正常ＣＰＵ６の内部情報を用いて復元を行うので、正常ＣＰＵ６との冗長構成の回復が可能となるのである。
【００６１】
次のＳ３０３では、ＣＰＵ６は、エラー指摘レジスタ２０の記録を確認することにより、Ｓ３０２でのＣＰＵ内部情報復元処理の開始後に同期外れがあったかどうかを、チェックする。そして、同期外れがあった場合には処理をＳ３０６へ進め、同期外れすることなくＣＰＵ内部情報復元処理が完了すると、処理をＳ３０４へ進める。
【００６２】
Ｓ３０６では、ＣＰＵ６は、再同期制御レジスタ１９に設定されている再同期処理の実行回数と再同期可能上限値とを比較する。そして、ＣＰＵ６は、実行回数が再同期可能上限値に達していれば（Ｓ３０７：ｙｅｓ）、再同期処理の更なるリトライは不可能であると判断して、Ｓ３０９において、再同期不能を示す値（例えばフラグ０）を再同期制御レジスタ１９に設定する。これに対して、実行回数が未だ再同期可能上限値未満であれば（Ｓ３０７：ｎｏ）、ＣＰＵ６は、再同期処理のリトライが可能である判断して、Ｓ３０８において、再同期制御レジスタ１９中に記録されている実行回数の値を一つインクリメントするとともに、再同期可能を示す値（例えばフラグ１）を再同期制御レジスタ１９に設定する。そして、何れの場合においても、ＣＰＵ６は、切替／再同期制御回路１４に対して、Ｓ００２以下の動作を再度実行すべきことを通知する。
【００６３】
一方、Ｓ３０４では、ＣＰＵ６は、冗長ＣＰＵのペアとなる他方のＣＰＵ６におけるＳ３０２による内部情報復元の完了を待ち合わせる。そして、他方のＣＰＵ６においてもＣＰＵ内部情報復元処理が完了すると、全ＣＰＵが同期崩れ直前のアドレスに復帰するので、処理をＳ３０５へ進める。
【００６４】
Ｓ３０５では、ＣＰＵ６は、タイマ／上限時間比較回路１６１の比較を無効にし、再同期タイマレジスタ１６２のタイマカウントを停止させ、そのレジスタ値を０クリアする。Ｓ３０５を完了すると、ＣＰＵ６は、冗長ＣＰＵでの通常処理を再開することができる（Ｓ３１２）。
【００６５】
次に、Ｓ１０３において再同期不能であると判断された場合に実行されるＳ１０７以下の処理を、図５を参照して説明する。
【００６６】
Ｓ１０７では、ＣＰＵ６は、タイマ／上限時間比較回路１６１の比較を無効にし、再同期タイマレジスタ１６２のタイマカウントを停止させ、そのレジスタ値を０クリアする。
【００６７】
次のＳ１０８では、ＣＰＵ６は、当該正常ＣＰＵ６の内部情報（ＣＰＵ内レジスタ等であり、同期崩れ直前のアドレスをも含む）を、メモリ１２に退避（コピー）させる。ただし、再同期処理をリトライしている場合には、既に上記内部情報がメモリ１２に退避済みであるので、更なるメモリ退避は行わない。
【００６８】
次のＳ１０９では、正常ＣＰＵ６は、当該正常ＣＰＵ６内部に保持しているキャッシュデータを、メモリに反映（キャッシュフラッシュ）させる。キャッシュデータのメモリ１
２への退避が完了すると、正常ＣＰＵ６は、処理をＳ１１０へ進める。
【００６９】
Ｓ１１０では、正常ＣＰＵ６は、リセット制御レジスタ１８内に、当該正常ＣＰＵ６に対応した退避完了フラグを設定する。その後、当該正常ＣＰＵによる正常ＣＰＵ割込ファーム処理は、待ち（無限ループ）になる。
【００７０】
一方、切替／再同期制御回路１４は、リセット制御レジスタ１８内に退避完了フラグが設定されることを契機に起動し、再同期制御レジスタ１９中に再同期不能を示す値（上述した例ではフラグ０）の再同期可否フラグが設定されていることを条件に、図５（α）のＳ４０１以下の動作を行う。
【００７１】
Ｓ４０１では、切替／再同期制御回路１４は、同期不可フラグを、エラー指摘レジスタ２０に設定する。
【００７２】
次のＳ４０２では、切替／再同期制御回路１４は、エラー指摘レジスタ２０に記録されている異常ＣＰＵバス７のＩＤが示す異常バス７に対するクロック制御を遮断させるべく、当該異常バス７に接続されたクロック制御回路２３を設定することにより、当該異常バス７を縮退させる。
【００７３】
続いて、切替／再同期制御回路１４は、Ｓ４０３において、正常ＣＰＵ６（即ち、エラー指摘レジスタ２０に記録されているＩＤが示す異常ＣＰＵバス７ではない方のＣＰＵバス７，即ち正常ＣＰＵバス７に接続されてる方のＣＰＵ６）に対してのみリセットを発行するとともに、Ｓ４０４において、切替スイッチ１７を正常ＣＰＵバス７側に固定させる。
【００７４】
このリセットでは、異常ＣＰＵバス７及び異常ＣＰＵ６へのクロック供給を停止させた状態で、正常ＣＰＵ６と正常ＣＰＵバス７のみが動作を再開する。即ち、リセットされた正常ＣＰＵ６は、ファームウェアハブ（ＦＷＨ）１５に格納されているファームウェア（ＢＩＯＳ）を読み込み、図４（β）に示すResetのファームウェア処理をスタートする。
そして、スタート後最初のＳ３０１において、ＣＰＵ６は、エラー指摘レジスタ２０に同期不可フラグが設定されているか否かをチェックするが、この場合には、同期不可フラグが設定されているので、Ｓ３１０以下の処理が実行される。
【００７５】
Ｓ３１０では、正常ＣＰＵ６は、エラー指摘レジスタ２０を参照し、設定されているエラーの内容を、システム制御／管理装置５に通知する。
【００７６】
次のＳ３１１では、正常ＣＰＵ６は、メモリ１２に退避されている正常ＣＰＵ６の内部情報の復元を開始する。この復元処理が完了すると、正常ＣＰＵ６は、単独運用での通常処理を再開することができる（Ｓ３１２）。
【００７７】
以上に説明したように切替／再同期制御回路１４が動作し各ＣＰＵ６がファームウェアに従った処理を実行している間にも、Ｓ１０１にて比較を開始させられたタイマ／上限時間比較回路１６１は、Ｓ１０７にて比較を無効とされない限り、再同期タイマレジスタ１６２の計数値と再同期上限値設定レジスタ１６３の値との比較をし続ける。そして、前者が後者に達したことを検出すると、その旨を切替／再同期制御回路１４に通知する。この通知を受けた切替／再同期制御回路１４は、割り込みにより、図６に示す動作を開始する。  この割り込みがあると、切替／再同期制御回路１４は、最初のＳ５０１において、タイマ／上限時間比較回路１６１の比較を無効にし、再同期タイマレジスタ１６２のタイマカウントを停止させ、そのレジスタ値を０クリアする。
【００７８】
次のＳ５０２では、切替／再同期制御回路１４は、同期不可フラグを、エラー指摘レジスタ２０に設定する。
【００７９】
次のＳ５０３では、切替／再同期制御回路１４は、エラー指摘レジスタ２０に記録されている異常ＣＰＵバス７のＩＤが示す異常バス７に対するクロック制御を遮断させるべく、当該異常バス７に接続されたクロック制御回路２３を設定することにより、当該異常バス７を縮退させる。
【００８０】
続いて、切替／再同期制御回路１４は、Ｓ５０４において、正常ＣＰＵ６（即ち、エラー指摘レジスタ２０に記録されているＩＤが示す異常ＣＰＵバス７ではない方のＣＰＵバス７，即ち正常ＣＰＵバス７に接続されている方のＣＰＵ６）に対してのみリセットを発行するとともに、Ｓ５０５において、切替スイッチ１７を正常ＣＰＵバス７側に固定させる。
【００８１】
このリセットでは、異常ＣＰＵバス７及び異常ＣＰＵ６へのクロック供給を停止させた状態で、正常ＣＰＵ６と正常ＣＰＵバス７のみが動作を再開する。即ち、リセットされた正常ＣＰＵ６は、ファームウェアハブ（ＦＷＨ）１５に格納されているファームウェア（ＢＩＯＳ）を読み込み、図４（β）に示すResetのファームウェア処理をスタートする。
そして、スタート後最初のＳ３０１において、ＣＰＵ６は、エラー指摘レジスタ２０に同期不可フラグが設定されているか否かをチェックするが、この場合には、同期不可フラグが設定されているので、Ｓ３１０以下の処理が実行される。
【００８２】
Ｓ３１０では、正常ＣＰＵ６は、エラー指摘レジスタ２０を参照し、設定されているエラーの内容を、システム制御／管理装置５に通知する。
【００８３】
次のＳ３１１では、正常ＣＰＵ６は、メモリ１２に退避されている正常ＣＰＵ６の内部情報の復元を開始する。この復元処理が完了すると、正常ＣＰＵ６は、単独運用での通常処理を再開することができる（Ｓ３１２）。
＜実施形態による作用＞
以上のように構成されたサーバシステムによると、冗長ＣＰＵを構成する二つのＣＰＵ（０〜１）６のうちの一方に同期遅れが生じたために、再同期処理を試みたにも拘わらず、その途中で同期外れが生じてしまった場合には、当該再同期処理のリトライすることとなるが、同期遅れの原因が深刻である為に再同期処理が何度も繰り返さるような場合であっても、再同期処理を開始してからの経過時間が再同期タイマレジスタ１６２によって計測されて、その経過時間が再同期上限時間設定レジスタ１６３に登録されている再同期処理時間上限に達したことがタイマ／上限時間比較回路１６１によって検出されると、同期遅れの生じた異常ＣＰＵに接続された異常ＣＰＵバスへのクロックが打ち切られ、以後、同期遅れの生じなかった正常ＣＰＵのみがリセットされるので、当該正常ＣＰＵの単独運用によって、早期の通常処理の再開が図られるので、通常処理が長期に亘って停止してしまう不都合を回避することができる。
（付記１）
第１の演算処理装置と第２の演算処理装置に接続される同期制御装置において、
計数を行うとともに、前記計数した計数情報を出力する計数部と、
所定のタイムアウト時間を保持するとともに、前記タイムアウト時間を出力するタイムアウト時間保持部と、
前記計数部が出力する前記計数情報と前記タイムアウト時間設定保持部が出力する前記タイムアウト時間を比較する比較部と、
前記第１の演算処理装置の出力と前記第２の演算処理装置の出力を比較することにより、前記第１及び第２の演算処理装置の同期を監視し、前記第１の演算処理装置と前記第２の演算処理装置の出力が一致しない場合に、前記計数部を初期化して計数を開始させ、さ
らに、前記比較部が前記計数情報と前記タイムアウト時間が一致することを検出したときには、同期遅れが発生した前記第１又は第２の演算処理装置のいずれかを停止させる同期制御部を
有することを特徴とする同期制御装置。
（付記２）
前記同期制御装置はさらに、
前記計数部が計数を開始後、前記比較部が前記計数情報と前記タイムアウト時間が一致することを検出した場合には、前記第１及び第２の演算処理装置のうち、前記同期遅れが発生していない方の演算処理装置を初期化するとともに、前記第１の演算処理装置の出力と前記第２の演算処理装置の出力の比較を停止する
ことを特徴とする付記１記載の同期制御装置。
（付記３）
前記同期制御装置はさらに、
同期遅れ情報保持部を有し、
前記計数部が計数を開始後、前記比較部が前記計数情報と前記タイムアウト時間が一致することを検出した場合には、前記同期遅れ情報保持部に同期遅れ情報を格納する
ことを特徴とする付記１又は２記載の同期制御装置。
（付記４）
前記計数部は、
外部から前記同期制御装置に入力される第１のクロックに基づいて計数を行う
ことを特徴とする付記１〜３のいずれか１項に記載の同期制御装置。
（付記５）
第１の演算処理装置，第２の演算処理装置，及びこれら第１及び第２の演算処理装置に夫々接続された同期制御装置を有する情報処理装置において、
前記同期制御装置が、
計数を行うとともに、前記計数した計数情報を出力する計数部と、
所定のタイムアウト時間を保持するとともに、前記タイムアウト時間を出力するタイムアウト時間保持部と、
前記計数部が出力する前記計数情報と前記タイムアウト時間設定保持部が出力する前記タイムアウト時間を比較する比較部と、
前記第１の演算処理装置の出力と前記第２の演算処理装置の出力を比較することにより、前記第１及び第２の演算処理装置の同期を監視し、前記第１の演算処理装置と前記第２の演算処理装置の出力が一致しない場合に、前記計数部を初期化して計数を開始させ、さらに、前記比較部が前記計数情報と前記タイムアウト時間が一致することを検出したときには、同期遅れが発生した前記第１又は第２の演算処理装置のいずれかを停止させる同期制御部を有する
ことを特徴とする情報処理装置。
（付記６）
前記同期制御装置はさらに、
前記計数部が計数を開始後、前記比較部が前記計数情報と前記タイムアウト時間が一致することを検出した場合には、前記第１及び第２の演算処理装置のうち、前記同期遅れが発生していない方の演算処理装置を初期化するとともに、前記第１の演算処理装置の出力と前記第２の演算処理装置の出力の比較を停止する
ことを特徴とする付記５記載の情報処理装置。
（付記７）
前記同期制御装置はさらに、
同期遅れ情報保持部を有し、
前記計数部が計数を開始後、前記比較部が前記計数情報と前記タイムアウト時間が一致することを検出した場合には、前記同期遅れ情報保持部に同期遅れ情報を格納する
ことを特徴とする付記５又は６記載の情報処理装置。
（付記８）
前記計数部は、
外部から前記同期制御装置に入力される第１のクロックに基づいて計数を行う
ことを特徴とする付記５〜７のいずれか１項に記載の情報処理装置。
（付記９）
第１の演算処理装置及び第２の演算処理装置に夫々接続された同期制御装置により、これら演算処理装置の同期を管理する同期管理方法であって、
前記同期制御装置は、
前記第１の演算処理装置の出力と前記第２の演算処理装置の出力を比較することにより、前記第１及び第２の演算処理装置の同期を監視し、
前記第１の演算処理装置と前記第２の演算処理装置の出力が一致しない場合に、計数を開始し、
計数開始後の計数情報と所定のタイムアウト時間とを比較し、
前記計数情報と前記タイムアウト時間が一致することを検出したときには、同期遅れが発生した前記第１又は第２の演算処理装置のいずれかを停止させる
ことを特徴とする同期管理方法。
（付記１０）
前記同期制御装置は、さらに、
前記計数情報と前記タイムアウト時間が一致することを検出した場合には、前記第１及び第２の演算処理装置のうち、前記同期遅れが発生していない方の演算処理装置を初期化するとともに、前記第１の演算処理装置の出力と前記第２の演算処理装置の出力の比較を停止する
ことを特徴とする付記９記載の同期制御方法。
（付記１１）
第１の演算処理装置と第２の演算処理装置に接続される同期制御装置において、
計数を行うとともに、前記計数した計数情報を出力する計数部と、
所定のタイムアウト時間を保持するとともに、前記タイムアウト時間を出力するタイムアウト時間保持部と、
前記計数部が出力する前記計数情報と前記タイムアウト時間設定保持部が出力する前記タイムアウト時間を比較する比較部と、
前記第１の演算処理装置の出力と前記第２の演算処理装置の出力を比較することにより、前記第１及び第２の演算処理装置の同期を監視し、前記第１の演算処理装置と前記第２の演算処理装置の出力が一致しない場合に、前記計数部を初期化して計数を開始させるとともに、前記第１及び第２の演算処理装置に初期化を行わせ、さらに、前記比較部が前記計数情報と前記タイムアウト時間が一致することを検出したときには、同期遅れが発生した前記第１又は第２の演算処理装置のいずれかを停止させる同期制御部を有することを特徴とする同期制御装置。
（付記１２）
前記同期制御部は、前記第１及び第２の演算処理装置の初期化が成った場合には、前記第１の演算処理装置の出力と前記第２の演算処理装置の出力の比較を停止する
ことを特徴とする付記１１記載の同期制御装置。
（付記１３）
前記同期制御部は、前記第１の演算処理装置と前記第２の演算処理装置の出力が一致しない場合に、前記初期化を行わせる前に、前記第１及び第２の演算処理装置のうち、前記同期遅れが発生していない方の演算処理装置に対して、その内部情報をメモリ上に移させた後に、前記第１及び第２の演算処理装置をリセットさせた上で、前記初期化を行わせ、
前記第１及び第２の演算処理装置は、前記メモリに移された内部情報を自身の内部に復元することによって前記初期化を行う
ことを特徴とする付記１１又は１２記載の同期制御装置。
（付記１４）
前記同期制御部は、前記比較部が前記計数情報と前記タイムアウト時間が一致することを検出したときには、更に、前記第１の演算処理装置の出力と前記第２の演算処理装置の出力の比較を停止させるとともに、前記第１及び第２の演算処理装置のうち、前記同期遅れが発生していない方の演算処理装置をリセットさせた上で、前記初期化を行わせ、
前記同期遅れが発生していない方の演算処理装置は、前記メモリに移された内部情報を自身の内部に復元することによって前記初期化を行う
ことを特徴とする付記１３記載の同期制御装置。
【図面の簡単な説明】
【００８４】
【図１】サーバシステムの概略構成を示すブロック図
【図２】システムボード上の回路構成を示すブロック図
【図３】再同期タイマおよびタイムアウト制御回路内部の構成を示すブロック図
【図４】再同期処理の内容を示すフローチャート
【図５】再同期処理の内容を示すフローチャート
【図６】再同期処理の内容を示すフローチャート
【符号の説明】
【００８５】
６    ＣＰＵ
１４    切替／再同期制御回路
１５    ファームウェアハブ
１６    再同期タイマ及びタイムアウト制御回路
１８    リセット制御レジスタ
１９    再同期制御レジスタ
２０    エラー指摘レジスタ
１６１    タイマ／上限時間比較回路
１６２    再同期タイマレジスタ
１６３    再同期上限時間設定レジスタ
【図１】
2010092105.tif 000003
【図２】
2010092105.tif 000004
【図３】
2010092105.tif 000005
【図４】
2010092105.tif 000006
【図５】
2010092105.tif 000007
【図６】
2010092105.tif 000008