(57)【要約】【課題】  ネットワークで接続された主従関係にある複数の機器のタイマによる時刻の同期化を行う際に、他の通信の性能を低下させずに同期化精度を向上させる。【解決手段】  ノード間接続装置（マスタ）１と、ノード間接続装置に接続された複数のプロセッサノード（スレーブ）４１〜４３とを備え、プロセッサノードの各々が内蔵するコピー時計４１１〜４３１を、ノード間接続装置のマスタ時計３と同期させるシステムにおいて、ノード間接続装置は、マスタ時計に基づいて時刻設定命令を生成する時刻設定命令作成手段１４と、通信データを格納する通信データ格納手段１１と、通信データの間隔を計算する通信データ間隔計算手段１３と、通信データ格納手段の出力に、時刻設定命令作成手段の出力を挿入する時刻設定命令挿入手段１２と、プロセッサノードの通信データ受信可能状態を判断する送信可能判定手段１５とを備える。【選択図】  図１
2006234711.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークで接続されたマスタとして動作するノード間接続装置と、該ノード間接続装置に接続されたスレーブとして動作する複数のプロセッサノードとを備え、該プロセッサノードの各々が内蔵するコピー時計を、前記ノード間接続装置が内蔵するマスタ時計と同期させる時刻同期化システムにおいて、
前記ノード間接続装置は、前記マスタ時計に基づいて時刻設定命令を生成する時刻設定命令作成手段と、前記プロセッサノードへの通信データを格納する通信データ格納手段と、該通信データの間隔を計算する通信データ間隔計算手段と、前記通信データ格納手段の出力に、前記時刻設定命令作成手段の出力を挿入する時刻設定命令挿入手段と、前記プロセッサノードの通信データ受信可能状態を判断する送信可能判定手段とを備えることを特徴とする時刻同期化システム。
【請求項２】
ネットワークで接続されたマスタとして動作するノード間接続装置と、該ノード間接続装置に接続されたスレーブとして動作する複数のプロセッサノードとを備え、該プロセッサノードの各々が内蔵するコピー時計を、前記ノード間接続装置が内蔵するマスタ時計と同期させる時刻同期化システムにおいて、
前記ノード間接続装置は、前記マスタ時計に基づいて時刻設定命令を生成する時刻設定命令作成手段と、前記プロセッサノードへの通信データを格納する通信データ格納手段と、前記通信データ格納手段の出力に、前記時刻設定命令作成手段の出力を挿入する時刻設定命令挿入手段と、前記プロセッサノードの通信データ受信可能状態を判断する送信可能判定手段とを備え、
前記プロセッサノードの各々は、前記ノード間接続装置から受信した不完全な時刻設定命令を無効にする時刻設定命令廃棄手段を備えることを特徴とする時刻同期化システム。
【請求項３】
複数のプロセッサノードに接続され、該複数のプロセッサノードの各々が内蔵するコピー時計を、内蔵するマスタ時計と同期させるノード間接続装置であって、
前記マスタ時計に基づいて時刻設定命令を生成する時刻設定命令作成手段と、
前記プロセッサノードへの通信データを格納する通信データ格納手段と、
前記通信データの間隔を計算する通信データ間隔計算手段と、
前記通信データ格納手段の出力に、前記時刻設定命令作成手段の出力を挿入する時刻設定命令挿入手段と、
前記プロセッサノードの通信データ受信可能状態を判断する送信可能判定手段とを備えることを特徴とするノード間接続装置。
【請求項４】
マスタ時計を内蔵するノード間接続装置に接続され、該マスタ時計に同期されるコピー時計を内蔵するプロセッサノードであって、
前記ノード間接続装置から受信した不完全な時刻設定命令を無効にする時刻設定命令廃棄手段を備えることを特徴とするプロセッサノード。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、時刻同期化システムに関し、特に、ネットワークで接続された主従関係にある複数の機器について、タイマを用いて時刻の同期化を行う時刻同期化システムに関する。
【背景技術】
【０００２】
ネットワークで接続された主従関係にある複数の機器間で、タイマを用いて時刻の同期化を行う方式の一例が特許文献１に記載されている。この時刻同期化方式は、図１６に示すように、複数のプロセッサノード９６０Ａ、９６０Ｂ、９６０Ｎと、これらを接続するノード間接続装置９５０とで構成されたシステムであって、ノード間接続装置９５０がマスタ時計９１０を備え、複数のプロセッサノード９６０Ａ、９６０Ｂ、９６０Ｎの各々がコピー時計９６１Ａ、９６１Ｂ、９６１Ｎを備える。
【０００３】
上記構成により、ノード間接続装置９５０が一定間隔で時刻設定信号を全プロセッサノード９６０Ａ、９６０Ｂ、９６０Ｎに送信し、プロセッサノード９６０Ａ、９６０Ｂ、９６０Ｎは、送られてきた時刻設定信号の時刻値をコピー時計９６１Ａ、９６１Ｂ、９６１Ｎに設定して時刻の同期化を行う。
【０００４】
ここで、従来は、時刻設定信号をノード間接続装置９５０が送信する場合に、競合する他の通信、送信バッファでの待ち時間、ノード間接続装置とプロセッサノード間の距離のばらつきなどによって、時刻設定信号を受け取るまでの時間が個々のプロセッサノード９６０Ａ、９６０Ｂ、９６０Ｎにより異なるため、正確な同期化を行うことができなかった。そこで、特許文献１に記載の発明は、この問題を解決するため、プロセッサノード９６０Ａ、９６０Ｂ、９６０Ｎ毎の遅延の差分を補正値として時刻設定データを調整することにより、時刻設定信号の到達時間が異なっても、全プロセッサノード９６０Ａ、９６０Ｂ、９６０Ｎのコピー時計９６１Ａ、９６１Ｂ、９６１Ｎを同じ時刻に設定することを可能としている。
【０００５】
【特許文献１】特開２００２−１４１８５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上記従来の時刻同期化方式においては、各プロセッサノード９６０Ａ、９６０Ｂ、９６０Ｎが備えるコピー時計９６１Ａ、９６１Ｂ、９６１Ｎは、時刻同期化を行っても少しずつずれてしまう。これを防止するには、時刻設定信号を送信する間隔を短くする必要がある。しかし、上述した従来技術では、他の通信の状態を確認せずに時刻設定信号が通信パスに割り込むため、他の通信が割り込み中に待たされたり、送信バッファ内に時刻設定信号が入力されるため、後からの通信は、時刻設定信号が送出されるまで待たされることになる。すなわち、頻繁に、プロセッサノード９６０Ａ、９６０Ｂ、９６０Ｎとの間で通信が発生している環境下で時刻設定信号の送信間隔を短くすると、優先度の高い他の通信が遅れ、システムに影響を与える可能性がある。
【０００７】
そこで、本発明は、上記従来の時刻同期化方式における問題点に鑑みてなされたものであって、ネットワークで接続された主従関係にある複数の機器のタイマによる時刻の同期化を行うにあたって、他の通信の性能を低下させずに、時刻同期化の精度を向上させることが可能な時刻同期化システム等を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するため、本発明は、ネットワークで接続されたマスタとして動作するノード間接続装置と、該ノード間接続装置に接続されたスレーブとして動作する複数のプロセッサノードとを備え、該プロセッサノードの各々が内蔵するコピー時計を、前記ノード間接続装置が内蔵するマスタ時計と同期させる時刻同期化システムにおいて、前記ノード間接続装置は、前記マスタ時計に基づいて時刻設定命令を生成する時刻設定命令作成手段と、前記プロセッサノードへの通信データを格納する通信データ格納手段と、該通信データの間隔を計算する通信データ間隔計算手段と、前記通信データ格納手段の出力に、前記時刻設定命令作成手段の出力を挿入する時刻設定命令挿入手段と、前記プロセッサノードの通信データ受信可能状態を判断する送信可能判定手段とを備えることを特徴とする。
【０００９】
そして、本発明によれば、通信データ間隔計算手段によって、プロセッサノードへの通信データの間隔を計算し、プロセッサノードへの通信データを格納する通信データ格納手段の出力に、マスタ時計に基づいて時刻設定命令を生成する前記時刻設定命令作成手段の出力を挿入するため、優先度の高い通信が頻繁に発生しても性能を低下させることなく、時刻同期化の精度を向上させることができる。
【００１０】
また、本発明は、ネットワークで接続されたマスタとして動作するノード間接続装置と、該ノード間接続装置に接続されたスレーブとして動作する複数のプロセッサノードとを備え、該プロセッサノードの各々が内蔵するコピー時計を、前記ノード間接続装置が内蔵するマスタ時計と同期させる時刻同期化システムにおいて、前記ノード間接続装置は、前記マスタ時計に基づいて時刻設定命令を生成する時刻設定命令作成手段と、前記プロセッサノードへの通信データを格納する通信データ格納手段と、前記通信データ格納手段の出力に、前記時刻設定命令作成手段の出力を挿入する時刻設定命令挿入手段と、前記プロセッサノードの通信データ受信可能状態を判断する送信可能判定手段とを備え、前記プロセッサノードの各々は、前記ノード間接続装置から受信した不完全な時刻設定命令を無効にする時刻設定命令廃棄手段を備えることを特徴とする。
【００１１】
そして、本発明によれば、プロセッサノードの各々は、時刻設定命令廃棄手段によってノード間接続装置から受信した不完全な時刻設定命令を無効にするため、優先度の高い通信が頻繁に発生しても性能を低下させることなく、時刻同期化の精度を向上させることができる。
【００１２】
さらに、本発明は、複数のプロセッサノードに接続され、該複数のプロセッサノードの各々が内蔵するコピー時計を、内蔵するマスタ時計と同期させるノード間接続装置であって、前記マスタ時計に基づいて時刻設定命令を生成する時刻設定命令作成手段と、前記プロセッサノードへの通信データを格納する通信データ格納手段と、前記通信データの間隔を計算する通信データ間隔計算手段と、前記通信データ格納手段の出力に、前記時刻設定命令作成手段の出力を挿入する時刻設定命令挿入手段と、前記プロセッサノードの通信データ受信可能状態を判断する送信可能判定手段とを備えることを特徴とする。これによって、上述のように、ネットワーク内で優先度の高い通信が頻繁に発生しても性能を低下させずに、時刻同期化の精度を向上させることができる。
【００１３】
また、本発明は、マスタ時計を内蔵するノード間接続装置に接続され、該マスタ時計に同期されるコピー時計を内蔵するプロセッサノードであって、前記ノード間接続装置から受信した不完全な時刻設定命令を無効にする時刻設定命令廃棄手段を備えることを特徴とする。これによって、上述のように、ネットワーク内で優先度の高い通信が頻繁に発生しても性能を低下させずに、時刻同期化の精度を向上させることができる。
【発明の効果】
【００１４】
以上のように、本発明によれば、ネットワークで接続された主従関係にある複数の機器のタイマによる時刻の同期化を行うにあたって、他の通信の性能を低下させずに、時刻同期化の精度を向上させることが可能となる。
【発明を実施するための最良の形態】
【００１５】
図１は、本発明にかかる時刻同期化システムの第１の実施の形態を示し、この時刻同期化システムは、計算を行う複数台のプロセッサノード４１、４２、４３と、これらプロセッサノード４１〜４３を接続するノード間接続装置１とで構成される。
【００１６】
ノード間接続装置１は、通信制御部２と、通信制御部２から通信データを受け取り、プロセッサノード４１〜４３に通信データを送出する複数の通信データ送信部１０１、１０２、１０３と、マスタ時計３とを備える。
【００１７】
プロセッサノード４１は、受信バッファ部４１０と、コピー時計４１１とを備え、プロセッサノード４２は、受信バッファ部４２０と、コピー時計４２１とを備え、プロセッサノード４３は、受信バッファ部４３０と、コピー時計４３１とを備える。
【００１８】
通信データ送信部１０１は、プロセッサノード４１と１対１で接続され、通信制御部２からのデータを受け取り、通信データを格納する送信バッファ部（通信データ格納手段）１１と、送信バッファ部１１から送られる通信データの隙間に、時刻同期用の時刻設定命令を挿入する時刻設定命令挿入部（時刻設定命令挿入手段）１２と、マスタ時計３から送信された時刻データに基づいて時刻設定命令を作成する時刻設定命令作成部（時刻設定命令作成手段）１４と、送信バッファ部１１から時刻設定命令挿入部１２に送られる通信データの隙間を計算する通信データ間隔計算部（通信データ間隔計算手段）１３と、時刻設定命令挿入部１２から出力された通信データの数と通信データに対する返却通信の数により、送出可能な通信データの数を制御するビジー制御部（送信可能判定手段）１５とで構成される。
【００１９】
次に、通信データをノード間接続装置１からプロセッサノード４１に送信しようとしている時に、時刻設定命令を発行する場合の動作について、図１と図２を参照しながら説明する。
【００２０】
通信制御装置２から通信データ送信部１０１への通信データＤ１は、信号線１ａを通って通信データ送信部１０１に入力され、送信バッファ部１１で受信されて格納される。通信データは、複数ワードで１ブロックを構成し、そのブロック単位でチェックコードを有し、受信後にブロック単位でチェックを行う。送信バッファ部１１は、１ブロック毎にチェックを行い、チェック終了後に時刻設定命令挿入部１２に送出可能となる。この状態は、図２のクロック１４の状態である。
【００２１】
送出可能となった通信データＤ１は、ビジー制御部１５からの信号により、プロセッサノード４１が受け付け可能であれば、時刻設定命令挿入部１２を経由し、信号線１ｂを通ってプロセッサノード４１に送られる。
【００２２】
マスタ時計３は、すべてのプロセッサノード４１〜４３が同期を取ることができるようにするため、すべての通信データ送信部１０１〜１０３の時刻設定命令作成部１４に対して時刻データを送信している。時刻設定命令作成部１４は、図３に示した時刻設定命令ＴＣを、マスタ時計３からの時刻データに遅延誤差調整値を加えて作成する。
【００２３】
時刻設定命令ＴＣは、２ワードで構成され、全ワードに有効なデータであることを示す有効フラグと、前半のワード０は、この通信データが時刻設定命令ＴＣであることを示すコマンドフィールドで構成され、後半のワード１は、マスタ時計３から受け取った時刻と、プロセッサノード４１までの遅延データを加算した時刻データを設定するデータフィールドとで構成される。
【００２４】
図４に示すように、ノード間接続装置１と、プロセッサノード４１、４２、４３との間の距離Ｌ１、Ｌ２、Ｌ３は、すべて異なる場合があり、そのため、時刻設定命令ＴＣが各プロセッサノード４１〜４３に到達する時刻も異なる。そこで、予めその差分を遅延誤差調整値として時刻データに反映させておき、プロセッサノード４１〜４３がコピー時計４１１〜４３１に時刻データを設定した時に、プロセッサノード４１〜４３が同一の時刻になるようにする。
【００２５】
時刻設定命令作成部１４は、所定の間隔で時刻設定命令ＴＣを送出する。これは、例えばマスタ時計３から送信される時刻データの下位ビットが一定間隔で所定のビットパターンになることを利用する。
【００２６】
時刻設定命令ＴＣを発行する時刻になると、時刻設定命令挿入部１２は、通信データが時刻設定命令挿入部１２を通過するまで、時刻設定命令作成部１４からの時刻設定命令ＴＣは受け付けず、通信データの最後のデータが時刻設定命令挿入部１２から送出されると、時刻設定命令作成部１４からのデータを受け付けるように切り替わり、次のタイミングで時刻設定命令ＴＣの前半が送出され、その次のタイミングで時刻設定命令ＴＣの後半がプロセッサノード４１に送出される。
【００２７】
プロセッサノード４１は、受信バッファ部４１０で通信データを受け取る。時刻設定命令ＴＣを受け取った場合には、時刻設定命令ＴＣの時刻データをコピー時計４１１に設定し、他のプロセッサノード４２、４３との同期ずれが修正される。
【００２８】
図２に示すように、通信データＤ１の後に通信データＤ２が通信制御部２から送られてきた場合には、通信データＤ１の通過後に、時刻設定命令挿入部１２が時刻設定命令作成部１４側に切り替わるとは限らない。この場合には、通信データ間隔計算部１３で通信データＤ１と通信データＤ２との間隔を計算し、時刻設定命令ＴＣを挿入することができる間隔が確保できる場合のみ切り替わる。
【００２９】
通信データ間隔計算部１３は、信号線１ａから入力された通信データの内容を解析して１ブロックのワード数を知ることができ、また、送信バッファ部１１の書き込みポインタと読み出しポインタの値から、送信バッファ部１１内に存在する通信データの合計ワード数を計算して入力中の通信データの全ワード数と比較する。この例の場合には、通信データＤ１の最後のワードが送信バッファ部１１から出て行った時点で、通信データＤ２の全ワード数と、送信バッファ部１１内に存在する通信データの合計ワード数とを比較し、時刻設定命令ＴＣを挿入することができる間隔が空くことが分かるため、時刻設定命令挿入部１２は、時刻設定命令作成部１３側の信号に切り替える。この状態が、クロック９の状態である。
【００３０】
しかし、図５に示す例のように、通信データＤ２のワード数が６ワードであった場合には、通信データＤ１と通信データＤ２の間隔は、図５のクロック１５のように、１サイクルしか空かないため、時刻設定命令挿入部１２は切り替わらず、クロック２３のように通信データＤ２の通過後に切り替わる。
【００３１】
ビジー制御部１５は、通信データ送信部１０１からプロセッサノード４１に出力された通信データの数と、プロセッサノード４１から送信される受取数とをカウントし、プロセッサノード４１のその時点での通信データの受取可能数を計算する。受取可能数が予め設定してある相手装置の最大通信データの受取可能数に達すると、送信バッファ部１１と時刻設定命令挿入部１２に対してビジー信号を送出し、通信データと時刻設定命令ＴＣの送出を停止させる。
【００３２】
次に、本発明にかかる時刻同期化システムの第２の実施の形態について、図面を参照しながら説明する。
【００３３】
この時刻同期化システムは、図６に示すように、計算を行う複数台のプロセッサノード５１、５２、５３と、これらプロセッサノード５１〜５３を接続するノード間接続装置１とで構成される。
【００３４】
ノード間接続装置１は、通信制御部２と、通信制御部２から通信データを受け取り、プロセッサノード５１〜５３に通信データを送出する複数の通信データ送信部２０１、２０２、２０３と、マスタ時計３とを備える。
【００３５】
プロセッサノード５１は、受信バッファ部５１０と、コピー時計５１１と、通信データ解析制御部（時刻設定命令廃棄手段）５１２とを備える。プロセッサノード５２は、受信バッファ部５２０と、コピー時計５２１と、通信データ解析制御部５２２とを備える。また、プロセッサノード５３は、受信バッファ部５３０と、コピー時計５３１と、通信データ解析制御部５３２とを備える。
【００３６】
通信データ送信部２０１は、プロセッサノード５１と１対１で接続され、通信制御部２からの通信を受け取って通信データを格納する送信バッファ部（通信データ格納手段）２１と、送信バッファ部２１から送信される通信データの隙間に時刻同期用の時刻設定命令ＴＣを挿入する時刻設定命令挿入部（時刻設定命令挿入手段）２２と、マスタ時計３から送信された時刻データに基づいて時刻設定命令ＴＣを作成する時刻設定命令作成部（時刻設定命令作成手段）２４と、時刻設定命令挿入部２２から出力された通信データの数と、通信データに対する返却通信の数により、送出可能な通信データの数を制御するビジー制御部（送信可能判定手段）２５とで構成される。
【００３７】
次に、通信データをノード間接続装置１からプロセッサノード５１に送信しようとしている時に時刻設定命令を発行する場合について、図６及び図７を参照しながら説明する。
【００３８】
通信制御装置２から通信データ送信部２０１への通信データＤ１は、信号線２ａを通って通信データ送信部２０１に入力され、送信バッファ部２１で受信されて格納される。通信データは、複数ワードで１ブロックを構成し、そのブロック単位でチェックコードを有し、受信後にブロック単位でチェックを行う。送信バッファ部２１は、１ブロック毎にチェックを行い、チェック終了後に時刻設定命令挿入部２２に送出可能となる。これは、図７のクロック１４の状態である。
【００３９】
送出可能となった通信データＤ１は、ビジー制御部２５からの信号により、プロセッサノード５１が受け付け可能であれば、時刻設定命令挿入部２２を経由し、信号線２ｂを通ってプロセッサノード５１に送られる。
【００４０】
この時、時刻設定命令ＴＣを時刻設定命令作成部２４が発行しようとしていたとすると、時刻設定命令挿入部２２は、通信データＤ１が時刻設定命令挿入部２２を通過するまで時刻設定命令作成部２４からの時刻設定命令ＴＣは受け付けず、通信データＤ１の最後のデータが時刻設定命令挿入部２２から送出されると、時刻設定命令作成部２４からのデータを受け付けるように切り替わり、次のタイミングで時刻設定命令ＴＣの前半が送出され、その次のタイミングで時刻設定命令ＴＣの後半がプロセッサノード５１に送出される。
【００４１】
プロセッサノード５１は、受信バッファ部５１０で通信データを受け取る。時刻設定命令ＴＣを受け取った場合には、時刻設定命令の時刻データをコピー時計５１１に設定し、他のプロセッサノード５２、５３との同期ずれが修正される。
【００４２】
通信データＤ１の後に通信データＤ２が通信制御部から送られてきた場合であって、送信バッファ部２１から出力される通信データＤ１と、通信データＤ２との間隔が０であれば、時刻設定命令挿入部２２で時刻設定命令作成部２４側に切り替わらない。しかし、図８のクロック１６に示すように、１サイクルでも間隔が空けば、時刻設定命令挿入部２２で時刻設定命令作成部２４側に一旦切り替わる。１サイクルの場合には、時刻設定命令ＴＣが不完全な状態で、時刻設定命令挿入部２２が送信バッファ部２１側に切り替わり、次の通信データＤ２が信号線２ｂに送出される。時刻設定命令作成部２４は、時刻設定命令挿入部２２から切り替え信号を受け取り、時刻設定命令ＴＣの送信が失敗に終わったことを知ると、再度時刻設定命令ＴＣを送出する。
【００４３】
プロセッサノード５１は、通信データ解析制御部５１２において、受信バッファ部５１０で受け取った通信データをチェックし、不完全な時刻設定命令ＴＣの場合には、図８のクロック２２のように、その命令を廃棄し、コピー時計５１１に誤ったデータが設定されるのを防止する。
【００４４】
時刻設定命令作成部２４は、マスタ時計３から現時刻を受け取り、図９に示す時刻設定命令ＴＣを作成している。時刻設定命令ＴＣは、２ワードで構成され、どのワードにも通信の先頭、中間、最後を示す位置フィールドがあり、前半のワード０は、この通信データが時刻設定命令ＴＣであることを示すコマンドフィールドで構成され、後半のワード１は、マスタ時計３から受け取った時刻と、プロセッサノード５１までの遅延データを加算した時刻データを設定するデータフィールドで構成される。
【００４５】
また、時刻設定命令作成部２４は、時刻設定命令挿入部２２から切り替え信号を受け取り、時刻設定命令送出時間よりも切り替え信号の時刻設定命令作成部２４側に切り替わっている時間が短い場合には、送出失敗とみなし、再度時刻設定命令を送出する。
【００４６】
ビジー制御部２５は、通信データ送信部２０１からプロセッサノード５１に出力された通信データの数とプロセッサノード５１から送信される受取数とをカウントし、プロセッサノード５１のその時点での通信データの受取可能数を計算する。受け取り可能数が予め設定してある相手装置の最大通信データ受取可能数に達すると、送信バッファ部２１と時刻設定命令挿入部２２に対してビジー信号を送出し、通信データと時刻設定命令の送出を停止させる。
【００４７】
以上説明したように、第１の実施の形態では、通信制御部２から送信される通信データよりワード数が多い通信データを挿入することはできないが、第２の実施の形態では、挿入することのできる通信データにワード数の制限がないという利点がある。
【実施例１】
【００４８】
次に、通信データＤ１とＤ２とを、図１に示したノード間接続装置１からプロセッサノード４１に送信しようとしている時に、時刻設定命令ＴＣを発行する実施例について、図１０〜図１２を中心に参照しながら説明する。
【００４９】
通信制御部２は、通信データを通信データ送信部１０１に送信する出力レジスタ９１を備える。受信レジスタ１１１、送信バッファ１１２、書き込みポインタ１１３、読み出しポインタ１１４、通信データ解析制御部１１５は、図１の送信バッファ部１１を構成し、レジスタ１３２、レジスタ１３５、固定値入力信号線１３３、セレクタ１３４、ポインタ計算部１３８は、図１の通信データ間隔計算部１３を構成し、セレクタ１２１、レジスタ１２２、ＮＯＲ回路１２３、デコーダ１２４は、図１の時刻設定命令挿入部１２を構成し、レジスタ１４２、レジスタ１４３、加算器１４６、デコーダ１４４、レジスタ１４５、レジスタ１４７、時刻設定命令データ１４８、セレクタ１４１は、図１の時刻設定命令作成部１４を構成し、レジスタ１５１、レジスタ１５２、加算カウンタ１５３、加算カウンタ１５５、演算器１５４、レジスタ１５６、デコーダ１５７は、図１のビジー制御部１５を構成する。また、プロセッサノード４１は、通信データ解析制御部４１２、コピー時計４３１と、図１の受信バッファ部４１０を構成する受信レジスタ４１０１、受信バッファ４１０２、レジスタ４１０３を備える。
【００５０】
通信データ送信部１０１は、通信制御部２の出力レジスタ９１から送られてきた通信データを受信レジスタ１１１で受け取る（図１１のクロック２〜７）。受信レジスタ１１１に入った通信データは、送信バッファ１１２と、通信データ解析制御部１１５とに送られる。通信データ解析制御部１１５は、送られてきた通信データのエラー解析と、通信データ種類の解析を行い、送信バッファ１１２の書き込みポインタ１１３及び読み出しポインタ１１４を制御する。送信バッファ１１２は、書き込んだ順番で読み出しを行うＦＩＦＯバッファである。
【００５１】
通信データ解析制御部１１５は、通信データが正常であることを確認した後、通信データをプロセッサノード４１に送信可能状態であれば、読み出しポインタ１１３に必要数だけストローブ信号を送出し、送信バッファ１１２から読み出す（図１１のクロック９〜１４）。また、通信データ解析制御部１１５は、通信データを解析してデータのワード数をレジスタ１３２に送出し、通信データの先頭でレジスタ１３５を“１”にセットし、通信データの終わりでレジスタ１３５を“０”にセットする。
【００５２】
レジスタ１３２は、通信データ解析制御部１１５から送られてきた通信データのワード数をセットすると、次の値がセットされるまで現在の値を保持する。固定値入力信号線１３３は、通信制御部２から送信される通信データの最低ワード数を固定値としてセレクタ１３４に入力する。図１１の例では４ワードに設定している。セレクタ１３４は、レジスタ１３５の出力で切り替えられ、レジスタ１３５が“０”のときは、固定値入力信号線１３３を選び、レジスタ１３５が“０”から“１”に切り替わると、次のサイクルでレジスタ１３２を選ぶ。ポインタ計算部１３８は、書き込みポインタ１１３、読み出しポインタ１１４、セレクタ１３４の値を使って以下の計算を行う。
【００５３】
セレクタ１３４−（書き込みポインタ１１３−読み出しポインタ１１４）−時刻設定命令のワード数 ＞ ０
【００５４】
上記の式が成立した場合には、ポインタ計算部１３８は、ＮＯＲ回路１２３に“０”を出力し、成立しない場合には“１”を出力する。セレクタ１２１は、送信バッファ１１２の出力と、セレクタ１４１の出力とをＮＯＲ回路１２３の出力で切り替える。ＮＯＲ回路１２３の出力が“０”のときは、送信バッファ１１２を選択し、“１”のときは、セレクタ１４１を選択する。セレクタ１２１の出力は、レジスタ１２２に入力され、プロセッサノード４１の受信レジスタ４１０１に送られる。セレクタ１２１の出力は、同時に、デコーダ１２４に送られる。
【００５５】
レジスタ１４２は、マスタ時計３から時刻データを受け取り、加算器１４６とデコーダ１４４に時刻データを送信する。レジスタ１４３は、ノード間接続装置１からプロセッサノード４１までの遅延と、ノード間接続装置１と他のプロセッサノード間の遅延を揃えるためのプロセッサノード４１用の遅延調整値を予め格納し、遅延調整値を加算器１４６に送信する。加算器１４６は、レジスタ１４２からの時刻データと、レジスタ１４３からの遅延調整値を加算してセレクタ１４１に送信する。
【００５６】
デコーダ１４４は、レジスタ１４２からの時刻データの一部分をデコードし、特定の値の場合には、レジスタ１４５に“１”を送信する。これにより、一定間隔でレジスタ１４５を“１”にセットしている。レジスタ１４５は、デコーダ１４４から“１”をセットされ、ＮＯＲ回路１２３から”１“が送信されると、リセットされる。同時に送信された場合には、デコーダ１４４からの”１”のセットが優先される。時刻設定命令データ１４８は、図３のワード０のコマンドフィールド時刻設定命令ＴＣが設定され、有効フラグの部分にレジスタ１４５の値が挿入される。
【００５７】
レジスタ１４７は、ＮＯＲ回路１２３の出力を格納し、出力はセレクタ１４１の選択信号になる。セレクタ１４１は、時刻設定命令データ１４８と、加算器１４６の出力を切り替える。レジスタ１４７からの選択信号が”０“のときは、時刻設定命令データ１４８を選択し、”１“のときは、加算器１４６を選択する。また、時刻設定命令データ１４８を選んだ場合には、図３のワード１の有効フラグの位置に”１“を挿入する。
【００５８】
デコーダ１２４は、レジスタ１２２の出力をデコードし、通信データの先頭を受けた時にレジスタ１５６に“１”を送出する。レジスタ１５６は、デコーダ１２４から“１”が送信されると、カウンタ１５５の出力を格納し、出力はカウンタ１５５と演算器１５４に送信される。カウンタ１５５は、レジスタ１５６の出力をプラス１してレジスタ１５５に送信する。これにより、ノード間接続装置からプロセッサノード４１に通信データが１つ送られる度に、レジスタ１５６の値がカウントアップされる。
【００５９】
デコーダ１５７は、プロセッサノード４１から受取通信が送信されると、レジスタ１５１に“１”を送出し、レジスタ１５１は、“１”を受け取ると、レジスタ１５２に“１”を送出する。レジスタ１５２は、レジスタ１５１から“１”が送信されると、カウンタ１５３の出力を格納し、出力はカウンタ１５３と演算器１５４に送られる。カウンタ１５３は、レジスタ１５２の出力をプラス１してレジスタ１５２に送信する。これにより、プロセッサノード４１から受取通信が返ってくる度にレジスタ１５２の値がカウントアップされる。演算器１５４は、レジスタ１５６の出力値からレジスタ１５２の値を引き算し、その結果がプロセッサノード４１が一度に受け取ることのできる通信データの数になると、“１”をＮＯＲ回路１２３と通信データ解析制御部１１５に送出する。
【００６０】
受信レジスタ４１０１は、通信データ送信部１０１のレジスタ１２２から送られてきた通信データを格納する。通信データは、受信バッファ４１０２、通信データ解析制御部４１２、コピー時計４３１に送られる。通信データ解析制御部４１２は、通信データを解析し、時刻設定命令ＴＣであればコピー時計４３１に通知し、他の通信であれば受信バッファ４１０２に制御信号を送信する。いずれの場合でも、通信データ送信部１０１に受取通信を返却する。受信バッファ４１０２は、通信データ解析制御部４１２の制御により、時刻設定命令ＴＣを除く通信データを格納し、解析制御部４１２の制御により、レジスタ４１０３に通信データを出力する。コピー時計４３１は、時計機能を備え、通信データ解析制御部４１２の制御により時刻設定命令ＴＣの時刻データ部の値を時計に設定する。
【００６１】
図１１は、Ｄ１が６ワード、Ｄ２が８ワードの場合を示し、クロック１５、１６で時刻設定命令ＴＣとがＤ１とＤ２の間に挿入することができた場合を示している。一方、図１２は、Ｄ１、Ｄ２とも６ワードの場合であり、クロック１５で時刻設定命令ＴＣをＤ１とＤ２の間に挿入することができず、Ｄ２の後のクロック２２、２３で時刻設定命令ＴＣが挿入される場合を示している。
【実施例２】
【００６２】
次に、通信データＤ１とＤ２とを、図６に示したノード間接続装置１からプロセッサノード５１に送信しようとしている時に、時刻設定命令ＴＣを発行する実施例について、図１３〜図１５を中心に参照しながら説明する。
【００６３】
通信制御部２は、通信データを通信データ送信部２０１に送信する出力レジスタ９１を備える。受信レジスタ２１１、送信バッファ２１２、書き込みポインタ２１３、読み出しポインタ２１４、通信データ解析制御部５１２は、図６の送信バッファ部２１を構成し、セレクタ２２１、レジスタ２２２、ＮＯＲ回路２２３、デコーダ２２４は、図６の時刻設定命令挿入部２２を構成し、レジスタ２４２、レジスタ２４３、加算器２４６、デコーダ２４４、レジスタ２４５、レジスタ２４７、時刻設定命令データ２４ａ、セレクタ２４１、レジスタ２４８、ＡＮＤ回路２４９は、図６の時刻設定命令作成部２４を構成し、レジスタ２５１、レジスタ２５２、加算カウンタ２５３、加算カウンタ２５５、演算器２５４、レジスタ２５６、デコーダ２５７は、図６のビジー制御部２５を構成する。
【００６４】
プロセッサノード５１は、通信データ解析制御部５１２、コピー時計５３１と、図６の受信バッファ部５１０を構成している受信レジスタ５１０１、受信バッファ５１０２、レジスタ５１０３を備える。
【００６５】
通信データ送信部２０１は、通信制御部２の出力レジスタ９１から送られてきた通信データを受信レジスタ２１１で受け取る（図１４のクロック２〜７）。受信レジスタ２１１に入った通信データは、送信バッファ２１２と通信データ解析制御部５１２とに送られる。通信データ解析制御部５１２は、送られてきた通信データのエラー解析と、通信データ種類の解析とを行い、送信バッファ２１２の書き込みポインタ２１３、読み出しポインタ２１４を制御する。送信バッファ２１２は、書き込んだ順番で読み出しを行うＦＩＦＯバッファである。
【００６６】
通信データ解析制御部５１２は、通信データが正常であることを確認した後、通信データをプロセッサノード５１に送信可能状態であれば、読み出しポインタ２１３に必要数だけストローブ信号を送出し、送信バッファ２１２から読み出す（図１４のクロック９〜１４）。
【００６７】
レジスタ２４２は、マスタ時計３からの時刻データを受け取り、加算器２４６とデコーダ２４４に時刻データを送信する。レジスタ２４３は、ノード間接続装置１からプロセッサノード５１までの遅延と、ノード間接続装置１と他のプロセッサノード間の遅延を揃えるためのプロセッサノード５１用の遅延調整値を予め格納し、遅延調整値を加算器２４６に送信する。
【００６８】
加算器２４６は、レジスタ２４２からの時刻データと、レジスタ２４３からの遅延調整値を加算してセレクタ２４１に送信する。デコーダ２４４は、レジスタ２４２からの時刻データの一部分をデコードして特定の値の場合にレジスタ２４５に“１”を送信する。これにより、一定間隔でレジスタ２４５を“１”にセットしている。レジスタ２４５は、デコーダ２４４から“１”をセットされ、ＡＮＤ回路２４９から”１“が送信されると、リセットされる。同時に送信された場合には、デコーダ１４４からの”１”のセットが優先される。
【００６９】
レジスタ２４７は、ＮＯＲ回路２２３の出力を格納し、レジスタ２４８と、ＡＮＤ回路２４９と、セレクタ２４１とに送信する。ＡＮＤ回路２４９は、レジスタ２４５の出力と、レジスタ２４８の出力と、レジスタ２４７の出力の論理積を取り、その結果をレジスタ２４５に送信し、レジスタ２４５をリセットする。これは、セレクタ２２１が連続して２サイクル間セレクタ２４１出力を選択し、２ワードの時刻設定命令ＴＣを送出できたか否かを判断している。
【００７０】
時刻設定命令データ２４ａは、図９のワード０のコマンドフィールド時刻設定命令ＴＣが設定され、位置フィールドのビット０の部分にレジスタ２４５の値が挿入される。セレクタ２４１は、時刻設定命令データ２４ａと加算器１４６の出力を切り替える。レジスタ２４７からの選択信号が”０“のときは、時刻設定命令データ２４ａを選択し、”１“のときは加算器２４６を選択する。また、時刻設定命令データ２４ａを選んだ場合には、図９のワード１の位置フィールドに”０１“を挿入する。
【００７１】
デコーダ２２４は、レジスタ２２２の出力をデコードし、通信データの最後を受けた時にレジスタ２５６に“１”を送出する。レジスタ２５６は、デコーダ２２４から“１”が送信されると、加算カウンタ２５５の出力を格納し、出力は加算カウンタ２５５と演算器２５４に送られる。加算カウンタ２５５は、レジスタ２５６の出力をプラス１してレジスタ２５６に送信する。これにより、ノード間接続装置１からプロセッサノード５１に通信データが１つ送られる度に、レジスタ２５６の値がカウントアップされる。
【００７２】
デコーダ２５７はプロセッサノード５１から受取通信が送信されると、レジスタ２５１に“１”を送出し、レジスタ２５１は、“１”を受け取ると、レジスタ２５２に“１”を送出する。レジスタ２５２は、レジスタ２５１から“１”が入力されると、カウンタ２５３の出力を格納し、出力は、カウンタ２５３と演算器２５４に送られる。カウンタ２５３は、レジスタ２５２の出力をプラス１してレジスタ１５２に送信する。これにより、プロセッサノード５１から受取通信が返ってくる度に、レジスタ２５２の値がカウントアップされる。演算器２５４は、レジスタ２５６の出力値からレジスタ２５２の値を引き算し、その結果がプロセッサノード５１が一度に受け取ることのできる通信データの数になると、“１”をＮＯＲ回路２２３と通信データ解析制御部５１２に送信する。
【００７３】
受信レジスタ５１０１は、通信データ送信部２０１のレジスタ２２２から送られてきた通信データを格納する。通信データは、受信バッファ５１０２、通信データ解析制御部５１２、コピー時計５３１に送られる。通信データ解析制御部５１２は、通信データを解析し、時刻設定命令ＴＣのワード０であれば、続いてワード１が送信されると、コピー時計５３１に通知してワード１を受け取るように指示し、通信データ送信部２０１に受取通信を返信する。時刻設定命令ＴＣのワード０に続いて送信された通信データが他の通信であれば、時刻設定命令ＴＣのワード０は無効とみなす。通信データの解析結果が他の通信データの場合には、受信バッファ５１０２に格納するため制御信号を受信バッファ５１０２に送出し、通信データ送信部２０１に受取通信を返却する。
【００７４】
受信バッファ５１０２は、通信データ解析制御部５１２の制御により、時刻設定命令ＴＣを除く通信データを格納し、解析制御部５１２の制御によりレジスタ５１０３に通信データを出力する。コピー時計５３１は、時計機能を備え、通信データ解析制御部５１２の制御により時刻設定命令ＴＣの時刻データ部の値を時計に設定する。
【００７５】
図１４は、Ｄ１が６ワード、Ｄ２が８ワードの場合であり、クロック１５、１６で時刻設定命令ＴＣがＤ１とＤ２の間に挿入できた場合を示す。また、図１５は、Ｄ１、Ｄ２とも６ワードの場合であり、クロック１５で時刻設定命令ＴＣをＤ１とＤ２の間に時刻設定命令ＴＣを挿入したが、次のクロック１６でＤ２が入ってきたためＴＣの後半が挿入できず、Ｄ２の後のクロック２２、２３で時刻設定命令ＴＣが挿入される。Ｄ１とＤ２の間のＴＣの前半は、プロセッサノード５１の通信データ解析制御部５１２で無効とみなして廃棄される。
【図面の簡単な説明】
【００７６】
【図１】本発明にかかる時刻同期化システムの第１の実施の形態の基本構成を示すブロック図である。
【図２】図１に示すノード間接続装置の動作を説明するためのタイミングチャートである。
【図３】図１に示すノード間接続装置の動作を説明するための命令フォーマットである。
【図４】図１の時刻同期化システムのノード間接続装置と、プロセッサノードとの接続状態を示す概略図である。
【図５】図１に示すノード間接続装置の動作を説明するためのタイミングチャートである。
【図６】本発明にかかる時刻同期化システムの第２の実施の形態の基本構成を示すブロック図である。
【図７】図６に示すノード間接続装置の動作を説明するためのタイミングチャートである。
【図８】図６に示すノード間接続装置の動作を説明するためのタイミングチャートである。
【図９】図６に示すノード間接続装置の動作を説明するための命令フォーマットである。
【図１０】図１に示す時刻同期化システムの詳細構成を示すブロック図である。
【図１１】図１０に示すノード間接続装置の動作を説明するためのタイミングチャートである。
【図１２】図１０に示すノード間接続装置の動作を説明するためのタイミングチャートである。
【図１３】図６に示す時刻同期化システムの詳細構成を示すブロック図である。
【図１４】図１３に示すノード間接続装置の動作を説明するためのタイミングチャートである。
【図１５】図１３に示すノード間接続装置の動作を説明するためのタイミングチャートである。
【図１６】従来の時刻同期化方式の一例を示すブロック図である。
【符号の説明】
【００７７】
１  ノード間接続装置
２  通信制御部
３  マスタ時計
１０１、１０２、１０３  通信データ送信部
１１  送信バッファ部
１２  時刻設定命令挿入部
１３  通信データ間隔計算部
１４  時刻設定命令作成部
１５  ビジー制御部
１ａ、１ｂ、１ｃ  信号線
４１、４２、４３  プロセッサノード
４１０、４２０、４３０  受信バッファ部
４１１、４２１、４３１  コピー時計
２０１、２０２、２０３  通信データ送信部
２１  送信バッファ部
２２  時刻設定命令挿入部
２４  時刻設定命令作成部
２５  ビジー制御部
２ａ、２ｂ、２ｃ、２ｄ  信号線
５１、５２、５３  プロセッサノード
５１０、５２０、５３０  受信バッファ部
５１１、５２１、５３１  コピー時計
５１２、５２２、５３２  通信データ解析制御部
９１  出力レジスタ
１１１  受信レジスタ
１１２  送信バッファ
１１３  書き込みポインタ
１１４  読み出しポインタ
１１５  通信データ解析制御部
１３２、１３５、１２２、１４５、１４７、１５１、１５２、１５６  レジスタ
１２１、１３４、１４１  セレクタ
１３３  固定値入力信号線
１３８  ポインタ計算部
１２３  ＮＯＲ回路
１２４、１４４、１５７  デコーダ
１４６  加算器
１４８  時刻設定命令データ
１５３、１５５  加算カウンタ
１５４  演算器
４１２  通信データ解析制御部
４１０１  受信レジスタ
４１０２  受信バッファ
４１０３  レジスタ
２１１  受信レジスタ
２１２  送信バッファ
２１３  書き込みポインタ
２１４  読み出しポインタ
２２２、２４３、２４５、２４７、２４８、２５１、２５２、２５６  レジスタ
２２１、２４１  セレクタ
２２３  ＮＯＲ回路
２２４、２４４、２５７  デコーダ
２４６  加算器
２４ａ  時刻設定命令データ
２４９  ＡＮＤ回路
２５３、２５５  加算カウンタ
２５４  演算器
５１０１  受信レジスタ
５１０２  受信バッファ
５１０３  レジスタ
【図１】
2006234711.tif 000003
【図２】
2006234711.tif 000004
【図３】
2006234711.tif 000005
【図４】
2006234711.tif 000006
【図５】
2006234711.tif 000007
【図６】
2006234711.tif 000008
【図７】
2006234711.tif 000009
【図８】
2006234711.tif 000010
【図９】
2006234711.tif 000011
【図１０】
2006234711.tif 000012
【図１１】
2006234711.tif 000013
【図１２】
2006234711.tif 000014
【図１３】
2006234711.tif 000015
【図１４】
2006234711.tif 000016
【図１５】
2006234711.tif 000017
【図１６】
2006234711.tif 000018