(57)【要約】【課題】  並列に動作する複数の演算装置間の同期の食い違いを排除し、かつ高速に同期成立の判定を実施する。【解決手段】  各演算装置（１）の同期要求部（１１）が、他の演算装置との同期をとるために同期要求信号を出力し、同期判定装置（２）内の同期要求受理部（２１）が同期要求信号を受理し、同期要求部（１１）からの同期要求信号か、あるいは以前に受理したが未だ同期が成立していない同期成立要求を保持している要求保持部（２３）からの受理済みの同期要求信号を選択し、同期判定に必要な同期判定信号を生成し、同期要求解析部（２２）が同期判定信号から各々の演算装置間の同期成立の判定を行い、同期が成立している演算装置の同期要求部（１１）に同期状態出力部（２４）が同期の成立を通知し、同期が成立しなかった演算装置について要求保持部（２３）が同期要求信号を格納する。【選択図】        図１
2007048092.tif 000002
【特許請求の範囲】
【請求項１】
並列に動作する複数の機器について、機器間の同期成立の判定を行う同期判定装置であって、
前記複数の機器のそれぞれについて、同期先となる他の機器が示された同期要求信号を受信する同期要求信号受信部と、
同期不成立と判定された機器についての同期要求信号を記憶する要求保持部と、
前記複数の機器のそれぞれについて、前記同期要求信号受信部により受信された同期要求信号及び前記要求保持部に記憶された同期要求信号のいずれかを判定対象の同期要求信号として選択する判定対象選択部と、
前記判定対象選択部により選択された判定対象の同期要求信号に対して解析を行い、それぞれの同期要求信号に対して同期先となる機器が相互に合致するか否かを判断して、機器間の同期成立の判定を行う同期要求解析部と、
前記同期要求解析部により同期成立と判定された機器に対して同期の成立を通知する同期成立通知部とを有することを特徴とする同期判定装置。
【請求項２】
前記同期要求信号受信部は、
前記複数の機器のそれぞれについて、同期の対象となる処理が示された同期要求信号を受信し、
前記同期要求解析部は、
前記判定対象選択部により選択された判定対象の同期要求信号に対して同期先となる機器が相互に合致するか否かを判断するとともに、同期の対象となる処理が相互に合致するかを判断して、機器間の同期成立の判定を行うことを特徴とする請求項１に記載の同期判定装置。
【請求項３】
前記同期要求解析部は、
前記判定対象選択部により選択された判定対象の同期要求信号に対する解析を並列に行い、前記複数の機器に対して機器間の同期成立の判定を並列に行うことを特徴とする請求項１に記載の同期判定装置。
【請求項４】
前記同期要求解析部は、
前記判定対象選択部により選択された判定対象の同期要求信号に対する解析を並列に行い、二組以上の機器間の同期成立の判定を並列に行うことを特徴とする請求項１に記載の同期判定装置。
【請求項５】
前記同期要求解析部は、
組合せ回路で構成されていることを特徴とする請求項１に記載の同期判定装置。
【請求項６】
前記要求保持部は、
前記同期要求解析部により同期不成立と判定された機器からの同期要求信号を、当該同期要求信号に対して前記同期要求解析部が同期成立と判定するまで又は前記同期要求解析部により同期不成立と判定された機器についての新たな同期要求信号を前記同期要求信号受信部が受信するまで、記憶することを特徴とする請求項１に記載の同期判定装置。
【請求項７】
前記同期要求信号受信部は、
前記複数の機器のそれぞれから、同期要求信号を受信することを特徴とする請求項１に記載の同期判定装置。
【請求項８】
前記同期要求信号受信部は、
前記複数の機器のために同期要求信号を生成する信号生成装置から、前記複数の機器のそれぞれについて同期要求信号を受信することを特徴とする請求項１に記載の同期判定装置。
【請求項９】
並列に動作する複数の機器について、機器間の同期成立の判定を行う同期判定方法であって、
前記複数の機器のそれぞれについて、同期先となる他の機器が示された同期要求信号を受信する同期要求信号受信ステップと、
同期不成立と判定された機器についての同期要求信号を記憶する要求保持ステップと、
前記複数の機器のそれぞれについて、前記同期要求信号受信ステップにより受信された同期要求信号及び前記要求保持ステップにより記憶された同期要求信号のいずれかを判定対象の同期要求信号として選択する判定対象選択ステップと、
前記判定対象選択ステップにより選択された判定対象の同期要求信号に対して解析を行い、それぞれの同期要求信号に対して同期先となる機器が相互に合致するか否かを判断して、機器間の同期成立の判定を行う同期要求解析ステップと、
前記同期要求成立ステップにより同期成立と判定された機器に対して同期の成立を通知する同期成立通知ステップとを有することを特徴とする同期判定方法。
【請求項１０】
並列に動作する複数の機器について、機器間の同期成立の判定をコンピュータに実行させるプログラムであって、
前記複数の機器のそれぞれについて、同期先となる他の機器が示された同期要求信号を受信する同期要求信号受信処理と、
同期不成立と判定された機器についての同期要求信号を記憶する要求保持処理と、
前記複数の機器のそれぞれについて、前記同期要求信号受信処理により受信された同期要求信号及び前記要求保持処理により記憶された同期要求信号のいずれかを判定対象の同期要求信号として選択する判定対象選択処理と、
前記判定対象選択処理により選択された判定対象の同期要求信号に対して解析を行い、それぞれの同期要求信号に対して同期先となる機器が相互に合致するか否かを判断して、機器間の同期成立の判定を行う同期要求解析処理と、
前記同期要求成立処理により同期成立と判定された機器に対して同期の成立を通知する同期成立通知処理とをコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、並列に動作する複数の機器、例えば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）等の演算装置間の同期判定に関する。
【背景技術】
【０００２】
並列に動作する並列に動作する複数の機器、例えば複数の演算装置を有する装置では、効率よく処理を行なうために、各々の演算装置の間でしばしば同期をとる必要が生じる。
【０００３】
これは任意の相手の任意の処理と、演算結果のデータを利用するなどの目的のためになされる。
【０００４】
この目的のために、従来よく用いられる技術の１つに動作制御レジスタを用いる方法がある。構成形態を図２３に示す。
【０００５】
この方式は、演算装置に対応した動作制御レジスタを設けるもので、全ての演算装置がいずれの動作制御レジスタに対してもＯＮ／ＯＦＦを設定可能とするものである。この方式により、演算装置の互いが、互いの動作を制御しあうことを可能とする。
【０００６】
この動作制御レジスタの各々には、異なる演算装置の複数から値変更の要求がなされる危険があるため、一般にセマフォなどの排他制御により、動作制御レジスタへのアクセスが制御される。
【０００７】
演算装置は通常、自己に対応する動作制御レジスタの値が、１の場合は動作（ＯＮ）して、０の場合は停止（ＯＦＦ）する。各々の演算装置が自己に対応する動作制御レジスタ値を参照するタイミングは、停止中であれば動作サイクル毎であり、動作中であれば処理の開始あるいは終了の時点である。
【０００８】
演算装置同士が同期をとりながら処理を行なう一例として、ネットワークを流れるパケットを受信した後、そのパケットを折り返して送信する通信装置を取り上げる。
【０００９】
この通信装置が４つの演算装置を有するとき、２つの演算装置が１つのパケットの受信から折り返し送信までを協調して行い、これが２系列同時に動作するものとする。
【００１０】
演算装置１が受信したパケットを演算装置０が折り返し送信する。これと並行して、演算装置３が受信したパケットを演算装置２が折り返し送信する。これは、ネットワーク機器の負荷試験を行なう場合などに発生する動作である。
【００１１】
この動作を動作制御レジスタ方式により制御した場合、図２４に示す動作となる。
【００１２】
この同期動作を、図２４の同期位置１を用いて説明する。演算装置０はパケット０送信処理を終え、次にパケット１を送信するためのパケット１受信待ち信号を出力して停止する。具体的には、演算装置１へのパケット１受信待ち信号として、演算装置１の動作制御レジスタ値を０に変更する。また演算装置０自身は演算装置１がパケット１の受信を完了するまで、パケットの送信に関する処理は実施できない。ゆえに演算装置０は自身を停止（＝演算装置０の動作制御レジスタ値を０に設定）させ、演算装置１がパケット１受信完了信号として演算装置０を起動させることを待つ。
【００１３】
演算装置１がパケット１を受信し終えると、パケット１受信完了通知として演算装置０の動作制御レジスタを１に設定する。その後、演算装置１は先に演算装置０が動作制御レジスタに設定した値０を参照し動作を停止する。
【００１４】
パケット１受信完了信号として動作制御レジスタ値に１が設定された演算装置０は、パケット１送信処理の開始としてパケット１受信了解通知信号を出す。これは演算装置１の動作制御レジスタ値を１に設定することである。これにより演算装置１が再度パケット受信処理を開始する。
【００１５】
以上により、動作制御レジスタを用いて正しい同期制御がなされる。図２４では同期位置２においても同様に正しい同期制御がなされている。
【００１６】
また、同期制御にかかる負荷的な処理を軽減するための同期制御方式も提案されている（例えば、特許文献１）。
【００１７】
この方式では、異なる２つの演算装置にて独立に実施された２つの演算の結果を受けて、１つの演算を開始するとき、独立に実行された２演算が共に終了したことを確認し合う。この確認のための処理を効率化するものである。
【特許文献１】特開平４−３６８５５号公報
【発明の開示】
【発明が解決しようとする課題】
【００１８】
次に、図２４の同期位置３と同期位置４を用いて、動作制御レジスタ方式が有する問題点を述べる。
【００１９】
パケット４が大きなサイズ（例えば１５００バイト）で、パケット５が小さいサイズ（例えば６４バイト）の場合、送信側である演算装置２からのパケット５受信待ち信号よりも、演算装置３からのパケット５受信完了信号が先行する場合が発生する。
【００２０】
この場合、演算装置３はパケット５受信待ち信号が無い（＝動作制御レジスタが変更されておらず、１のままである）ためパケット６受信処理に移行し、その後、演算装置２は先のパケット５受信完了信号により動作制御レジスタが値０に設定されているため、停止する。
【００２１】
同期位置３にて異常な同期動作を行った後、演算装置２は停止中であり、演算装置３はパケット６受信処理中である。パケット６受信処理が完了すると、演算装置３は通常のようにパケット６受信通知信号として演算装置２の動作制御レジスタに１を設定する。
【００２２】
すなわち、同期位置４では、同期位置３のパケット５受信待ち信号と、同期位置４のパケット６受信通知信号により、食い違いながらも、見かけ上同期動作が発生する。そして同期位置４の以降では、本来の同期動作と食い違いながらも、見かけ上同期が成立し続けてしまう。
【００２３】
以上に見たように、動作制御レジスタ方式による同期制御では、誤った同期の成立がなされる可能性があった。
【００２４】
加えて、動作制御レジスタ方式は、単一レジスタへ、単一時間における複数アクセスが発生する危険も含んでいる。
【００２５】
一方、誤った同期成立を排除するための従来法として、インターロック方式を併用する方式が挙げられる。
インターロック方式とは、個々の演算装置間の制御順序を固定するものである。例えば、ある演算装置である処理が行われている間、他の演算装置でその演算と競合する可能性のある処理を実施させないように、あらかじめハードウェア回路や事前設定により固定する。
すなわち、ロック機構を導入するものである。
【００２６】
インターロック方式を併用した場合、演算装置１の受信期間中、演算装置０は送信動作を実施できない機構を設け、また演算装置０が送信期間中、演算装置１の受信動作を実施できない機構を設けることとなる。演算装置３と演算装置２についても同様である。
【００２７】
インターロック方式を併用すると、誤った同期成立の問題と、動作制御レジスタへの複数アクセス発生の問題の両方を解決することができる。
【００２８】
しかしながらこの方式は、送信側が受信終了を待ち、受信側が送信終了を待つため、多くの無駄な待ち時間が発生し、複数の演算装置を並列に有する利点が生かされない。
【００２９】
そして、この方式の最も重要な問題点は汎用性を失うことである。例えば、前記通信装置において、演算装置のプログラムが変更されることで同期相手が変更となれば、前記通信装置とは異なるロック機構が必要となる。
【００３０】
注意すべきこととして、同期成立を判定することは、複数の演算装置を有する装置に共通の問題ということである。そしてそれゆえに、インターロック方式を併用することは汎用性を犠牲にすることであり、装置の利用方法を固定して初めて用いることが可能となる方式である。それゆえに、演算装置の内部プログラムにより同期相手が変更される場合などには、採用することが出来ない。
【００３１】
また、前記の特許文献１に記載の方式においても、前記通信装置で述べた処理のように、２つの演算装置が協調して動作する処理を２並列同時に実施した場合、処理の並列性を犠牲にすることや、性能を犠牲にすることを許容してしまう。
【００３２】
本発明は、並列に動作する複数の演算装置のお互いの処理同士が協調するための同期の成立から同期の食い違いを排除し、かつ高速に同期成立の判定を実施することを主な目的とする。
【課題を解決するための手段】
【００３３】
本発明に係る同期判定装置は、
並列に動作する複数の機器について、機器間の同期成立の判定を行う同期判定装置であって、
前記複数の機器のそれぞれについて、同期先となる他の機器が示された同期要求信号を受信する同期要求信号受信部と、
同期不成立と判定された機器についての同期要求信号を記憶する要求保持部と、
前記複数の機器のそれぞれについて、前記同期要求信号受信部により受信された同期要求信号及び前記要求保持部に記憶された同期要求信号のいずれかを判定対象の同期要求信号として選択する判定対象選択部と、
前記判定対象選択部により選択された判定対象の同期要求信号に対して解析を行い、それぞれの同期要求信号に対して同期先となる機器が相互に合致するか否かを判断して、機器間の同期成立の判定を行う同期要求解析部と、
前記同期要求成立部により同期成立と判定された機器に対して同期の成立を通知する同期成立通知部とを有することを特徴とする。
【発明の効果】
【００３４】
本発明によれば、並列に動作する複数の機器間の同期の食い違いを排除し、かつ高速に同期成立の判定を実施することが可能になる。
【発明を実施するための最良の形態】
【００３５】
実施の形態１．
以下、本発明の実施の形態について、図面を参照して説明する。
【００３６】
本文の以降において、（番号）は図面に示された番号に対応するものとする。
【００３７】
本文の以降において、８’ｈＸＸは８ビット長の１６進数ＸＸを表すものとする。同じく、４’ｂｘｘｘｘは４ビットの２進数ｘｘｘｘを表すものとする。１’ｂｘは１ビット長の２進数ｘを表すものとする。
【００３８】
図１は、本実施の形態に係る同期判定方式を実施する装置の構成を示すブロック図である。
【００３９】
複数の演算装置１の各々が並列に動作するシステムにおいて、演算装置（１）が他の演算装置の処理と同期をとるために、同期要求部（１１）を用いて同期判定装置（２）に同期要求を出力する。同期要求部（１１）は、同期要求のために同期要求信号を出力する。
【００４０】
同期判定装置（２）において、同期要求受理部（２１）は、各同期要求部（１１）からの同期要求信号を受信するとともに、各同期要求部（１１）について、新規に受信した同期要求信号又は要求保持部（２３）の要求エントリ部（２３１）に格納されている以前に受信した同期要求信号を同期判定の対象として選択する。同期要求受理部（２１）は、同期要求信号受信部及び判定対象選択部の例である。
【００４１】
同期要求解析部（２２）は、同期要求受理部（２１）から出力された判定対象の同期要求信号に対する解析を行い、演算装置間の同期が成立しているか否かを判定する。
【００４２】
同期状態出力部（２４）は、同期要求解析部（２２）により同期が成立していると判定された演算装置（１）の同期要求部（１１）に対して同期の成立を通知する同期成立通知を出力する。同期要求部（１１）は、同期成立通知を受信し、これにより、先に出力した同期要求が成立したことを演算装置が知る。なお、同期状態出力部２４は、同期成立通知部の例である。
【００４３】
要求保持部（２３）は、演算装置（１）ごとに要求エントリ部（２３１）を備え、同期要求解析部（２２）により同期が不成立と判定された演算装置（１）の同期要求信号を対応する要求エントリ部（２３１）に格納する。
【００４４】
ここで、同期要求部（１１）の入出力信号を図２に示す。
【００４５】
同期要求のための同期要求信号は２種類の信号から成り、１つは同期キー信号、他方は同期先フラグである。同期キーは、同期の対象となる処理（処理番号）を指定する信号である。同期先フラグは、同期先の演算装置を指定する信号である。例えば、図１の構成において、演算装置０を同期先に指定する場合は、演算装置３のフラグの値を“０”にし、演算装置２のフラグの値を“０”にし、演算装置１のフラグの値を“０”にし、演算装置０のフラグの値を“１”にし、これにより同期先フラグとして、“０００１”を出力する。なお、同期先は単一の相手だけではなく複数の相手を指定可能で、これは複数のフラグを立てることで実現する。
【００４６】
本実施の形態では、同期間の食い違いを防ぐために、同期キーと同期先フラグの２種類の信号を用いる。同期キーの一致により同期対象の処理番号の確かさを保証し、同期先フラグにより任意の演算装置を同期対象の演算装置として指定する。この同期キーと同期先フラグの情報を合わせることで、成立した同期の相手が、確かに指定した演算装置でありかつ確かに指定した演算装置上の処理番号であることを保証する。
【００４７】
同期要求部が同期キーと同期先フラグの値を出力する時間は、同期判定装置の動作サイクルについて１サイクル分でよい。この理由は、後述するように、同期判定装置（２）の同期要求受理部（２１）と同期要求解析部（２２）の全てが組合せ回路であるため、同期要求部が信号を出力するとすぐに同期成立判定が実施され、その結果同期が成立するならば同期信号が同期要求部に知らされるし、同期が成立しない場合は、同期要求受理部（２１）の受理した同期要求信号が要求保持部２３内の、演算装置の番号に対応した要求エントリ部（２３１）に格納されるためである。
【００４８】
次に、各同期要求部（１１）から同期要求信号が出力された後の同期判定装置（２）の動作内容を図３を参照しながら概説する。
【００４９】
先ず、Ｓ３０１において、同期要求受理部（２１）が、同期要求信号を受信する（同期要求信号受信ステップ）。
【００５０】
次に、Ｓ３０２において、同期要求受理部（２１）が、判定対象の同期要求信号を選択する（判定対象選択ステップ）。前述したように、同期要求受理部（２１）は、新規に受信した同期要求信号又は要求保持部（２３）の要求エントリ部（２３１）に格納されている同期要求信号を判定対象として選択する。
【００５１】
次に、Ｓ３０３において、同期要求解析部（２２）が、同期要求受理部（２１）から判定対象の同期要求信号を入力し、同期要求信号の同期キーと同期先フラグに基づいて、演算装置間で同期が成立しているか否かを判定する（同期要求解析ステップ）。
【００５２】
次に、同期が成立している演算装置が存在する場合は、Ｓ３０４において、同期状態出力部（２４）が、同期が成立している演算装置（１）の同期要求部（１１）に対して同期成立通知を出力して、同期成立を通知する（同期成立通知ステップ）。
【００５３】
一方、同期不成立の演算装置が存在する場合は、Ｓ３０５において、要求保持部（２３）が同期不成立の演算装置の同期要求信号を対応する要求エントリ部（２３１）に格納する。
【００５４】
このように、同期判定装置（２）は、動作サイクルごとに以上のＳ３０１〜Ｓ３０５の処理を行って、演算装置（１）に同期成立を通知する。
【００５５】
次に、図１に示した同期判定装置（２）の各要素の内部構成などを説明する。
【００５６】
先ず、要求エントリ部（２３１）の構成を図４に示す。
【００５７】
要求エントリ部（２３１）は、前述したように、各演算装置（１）に対応しており、各演算装置（１）の同期要求出力部（１１）からの同期要求信号を同期キーと同期先フラグに分けて格納する。同期キー格納部２３１１は、同期キーを格納し、同期先フラグ格納部２３１２は同期先フラグを格納する。
【００５８】
また、要求エントリ部（２３１）は保持した信号を常に同期要求受理部（２１）に出力する。同期が成立したとき、値０でクリアされる。同期成立より前に新たな同期要求を同期要求部（１１）が出力したときは、その値で上書きする。要求エントリ部（２３１）のさらなる詳細は後述する。
【００５９】
同期要求部（１１）が同期キーと同期先フラグの値を出力する時間が１サイクル分でよいことは、同期要求から成立までの間に、同期の成立を待つ代わりに、同期成立後の処理以外の処理を実施できるという利点を演算装置にもたらす。
【００６０】
図５は、同期要求受理部（２１）の構成を示すブロック図である。
【００６１】
同期要求受理部（２１）は、同期要求解析部（２２）で同期成立を判定するために用いる信号を選択するものである。
【００６２】
同期要求受理部（２１）は、同期要求部（１１）から来る新規の同期要求信号か、あるいは既に受信したが未だ同期の成立していない、要求保持部（２３）から来る同期要求信号から、同期要求解析部（２２）で用いる同期判定キー、同期判定フラグ、要求保持部で用いる新要求信号、を生成する。
【００６３】
ここで、同期判定キーとは、同期要求解析部（２２）における同期判定の判定対象になる同期キーのことであり、また、同期判定フラグとは、同期要求解析部（２２）における同期判定の判定対象になる同期先フラグのことである。また、新要求信号は、要求保持部（２３）の要求エントリ部（２３１）において同期キー、同期先フラグを格納するのか、維持するのかを判断するための信号である。
【００６４】
同期要求受理部（２２）のセレクタは、新規の同期要求信号を優先的に選択する。具体的には、演算装置（１）の同期要求部（１１）から来た同期先フラグをＯＲ  ｒｅｄｕｃｔｉｏｎ回路に入力すれば、同期先フラグのいずれか１ビットでも値１を取っている場合に１を出力するため、この出力信号を新要求信号として採用する。新要求信号はセレクタの動作制御信号でもあり、セレクタは、新要求信号が１のとき新規の同期キーと同期先フラグの信号を採用し、０のとき要求保持部（２３）に保持された同期キーと同期先フラグの信号を採用する。
【００６５】
図６は、同期要求解析部（２２）の構成を示すブロック図である。
【００６６】
同期要求解析部（２２）は、同期要求受理部（２１）から出力された｛同期判定キー、同期判定フラグ｝の組を用いて、同期が成立しているかどうかを解析し、結果を同期信号として出力する。
【００６７】
同期要求解析部（２２）は、さらに組合せ回路部（２２１）と同期判定部（２２２）から成る。
【００６８】
本実施の形態に係る組合せ回路部（２２１）の詳細を図７に示す。演算装置ｎ（ｎ：３〜０）の同期成立を判定するための同期判定部への出力は、同期判定キーｎと、全ての演算装置からの同期判定キーと、全ての演算装置からの同期判定フラグのｎ番目のビット目と、同期判定フラグｎ、である。
【００６９】
図８は、本実施の形態に係る同期判定部（２２２）のブロック図である。組合せ回路部から受取る同期判定キーｎと、全ての演算装置からの同期判定キーと、全ての演算装置からの同期判定フラグのｎ番目のビット目と、同期判定フラグｎは、それぞれ、入力キーと、比較キーｎ（ｎ：３〜０）、比較フラグｎ（ｎ：３〜０）、入力フラグ、に対応する。
【００７０】
同期判定部（２２２）はさらに、一致回路Ａ（２２２１）と、マスク回路（２２２２）と、一致回路Ｂ（２２２３）を有する。
【００７１】
一致回路Ａ（２２２１）は、入力キーと比較キーを比較し、一致している場合は出力１を、それ以外は出力０を出力する回路である。一致回路Ａ（２２２１）の構成例を図９に示す。
【００７２】
マスク回路（２２２２）は、入力信号を、マスク信号でマスクし、その結果を出力信号として出力する回路である。マスク回路（２２２２）の構成例を図１０に示す。
【００７３】
一致回路Ｂ（２２２３）は、３種類の入力信号Ａ，Ｂ，Ｃを比較し、３種類の入力信号の全てが一致している場合には１を出力し、それ以外の場合には０を出力する回路である。一致回路Ｂ（２２２３）の構成例を図１１に示す。
【００７４】
同期判定部（２２２）にて生成された同期信号は、同期状態出力部（２４）から各々の対応する同期要求部に同期成立通知として通知される。同期信号が生成されるまでの動作の詳細は後述する。
【００７５】
同期判定部（２２２）にて未だ同期が成立していないと判定されたとき、同期要求部１１から出力されて同期要求受理部（２１）で受理した同期キーと同期先フラグは、要求保持部２３内部の要求エントリ部（２３１）に格納される。
【００７６】
図１２は、本実施の形態に係る要求保持部（２３）の構造を表すブロック図である。
【００７７】
要求保持部２３は演算装置に対応した要求エントリ（２３１）を持つ。要求エントリは前記図４にて示したように、同期キー格納部（２３１１）と同期先フラグ格納部（２３１２）を持つ。
【００７８】
要求エントリ（２１３）の入力と動作を図１３に示す。この動作はすなわち、同期要求部からの同期要求信号を受理し、かつその判定結果で同期が成立していない場合に、同期要求信号である同期キーと同期先フラグを格納し、次の判定サイクルではこの値を用いて同期判定を行なうものである。
【００７９】
そのため、同期キー格納部（２３１１）の出力と、同期先フラグ格納部（２３１２）の出力は、前記同期要求受理部（２１）へ入力される。
【００８０】
同期キー格納部（２３１１）と同期先フラグ格納部（２３１２）は、レジスタ、揮発性メモリ、不揮発性メモリ等の記憶媒体によって構成される。
【００８１】
次に、本実施の形態に係る動作を、具体例を用いて詳述する。
【００８２】
図２４にて示した前記通信装置におけるパケット処理では、同期位置３において同期の食い違いが発生した。この同期位置の同期要求動作を、本実施の形態に係る同期判定方式およびその装置にて実現した場合、動作図１４に示すものとなる。
【００８３】
本明細書の以降において、標記＊はドントケアを表すものとする。
【００８４】
本実施の形態では、全ての同期要求は同時に判定できる。そのため、注目する同期要求以外の信号を＊として扱い、同期が成立するまでの動作を示すことで、注目する同期要求が、他の同期要求に影響されず正しく判定できることをも合わせて示す。
【００８５】
図１４の注目区間では、既に演算装置３（１）がパケット５受信処理を完了しているため、
パケット５を折り返し送信する演算装置２（１）のパケット５送信処理と同期をとるために、同期要求部３（１１）を用いて、同期キー８’ｈ０５、同期先フラグ４’ｂ０１００を、同期判定装置（２）に出力済みである。
【００８６】
同期要求部３からの同期要求を同期判定装置（２）が受理したが、同期が成立していないため、要求保持部（２３）の要求エントリ部３（２３１）に、同期要求部３（１１）から受理した同期キーと同期先フラグが格納されている。
【００８７】
次に、同期要求部２（１１）を持つ演算装置２（１）はパケット４送信処理を完了したため、同期要求部３（１１）を持つ演算装置３（１）がパケット５受信完了の際に出力する同期要求と同期をとるために、同期判定装置（２）に同期キーとして８’ｈ０５、同期先フラグとして４’ｂ１０００を出力する。
【００８８】
このとき、同期要求受理部（２１）の｛同期判定キー３、同期判定フラグ３、新要求信号３｝はそれぞれ｛８’ｈ０５、４’ｂ０１００、１’ｂ０｝、｛同期判定キー２、同期判定フラグ２、新要求信号２｝はそれぞれ｛８’ｈ０５、４’ｂ１０００、１’ｂ１｝である。
【００８９】
そのため、同期要求解析部（２２）への入力は図１５に示す値となり、組合せ回路部（２２１）から各々の同期判定部（２２２）へ渡される値は同図に示す値となる。つまり、前述したように、同期判定キーｎ（ｎ：３〜０）と、全ての演算装置からの同期判定キーと、全ての演算装置からの同期判定フラグのｎ番目のビット目と、同期判定フラグｎ、である。
【００９０】
本動作により同期判定部（２２２）が同期信号を生成する過程を図１６及び図１７に示す。注目する同期信号３及び同期信号２の生成は、それぞれ図１６及び図１７に動作を示している。組合せ回路部から受取る同期判定キーｎと、全ての演算装置からの同期判定キーと、全ての演算装置からの同期判定フラグのｎ番目のビット目と、同期判定フラグｎは、それぞれ、入力キーと、比較キーｎ（ｎ：３〜０）、比較フラグｎ（ｎ：３〜０）、入力フラグ、に対応する。
【００９１】
図１６及び図１７に、正しく同期成立が判定されることを示す。加えて、注目する同期成立は、注目する以外の信号の影響を受けないため、他の同期成立が並列に実行されていても、互いに正しく同期成立が判定できる。ゆえに、本実施の形態の並列性をも、この結果は示している。
【００９２】
この並列性のゆえに、本実施の形態に係る同期判定は、１対１の同期成立のみならず、多対多の同期成立、つまり二組以上の演算装置間の同期成立を同時に判定する。
【００９３】
また重要な事実として、同期要求受理部（２１）と同期要求解析部（２２）の全ては組合せ回路と少数のゲートのみで構成されている。これにより同期要求の受理から同期成立判定、同期信号の生成までの全てが瞬時にして行われる。これは、本実施の形態に係る同期判定装置が高速な同期判定を実行できることを示す。
【００９４】
上記したように、本実施の形態は、複数の演算装置（例えば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ））と、これらが同期をとるために設けられた同期判定装置において、
前記演算装置は、
他の演算装置との同期をとるために同期要求信号を出力し、また同期成立後の同期信号を受信する機能を有する同期要求部を備え、
前記同期判定装置は、
演算装置が持つ前記同期要求部からの同期成立要求を受理し、前記同期要求部からの同期成立要求か、あるいは以前に受理したが未だ同期が成立していない同期成立要求を保持している要求保持部からの受理済み同期成立要求から、同期判定に必要な同期判定信号を生成する同期要求受理部と、
前記同期要求受理部が生成した同期判定信号から各々の演算装置間の同期成立の判定を行いその結果として同期信号を出力する同期要求解析部と、
前記同期要求解析部から出力された同期信号を前記演算装置の同期要求部に伝える同期状態出力部と、
前記演算装置から受理した前記同期要求信号により同期が成立するまで、受理した同期要求信号を格納するための要求エントリ部を有する要求保持部と
を備えることを特徴とする。
【００９５】
また、前記演算装置が備える同期要求部は、同期要求信号として同期キーと同期先フラグを出力し、同期キーの一致により同期対象の処理番号の確かさを保証し、同期先フラグにより任意の演算装置を同期対象の演算装置として指定でき、この同期キーと同期先フラグの情報を同期成立の判定に用いることで、成立した同期の相手が、確かに指定した演算装置でありかつ確かに指定した演算装置上の処理番号であることを、同期要求を出力した演算装置の処理に保証する、少ない情報で同期対象との食い違いを確実に防ぐことを可能とする。
【００９６】
また、前記同期キーと、前記同期先フラグの２つの情報からなる同期要求信号に対して、全ての演算装置の同期要求信号を同時に判定することが可能で、かつ、１対１のみならず多対多の同期成立、つまり二組以上の演算装置間の同期成立を並列に判定することができる。
【００９７】
また、前記同期要求受理部と、前記同期要求解析部は、全てが組合せ回路で実現され、これにより、同期要求の受理から同期信号の生成までが即時に実行可能である。
【００９８】
また、同期判定装置が備える前記要求エントリ部は、同期キー格納部と同期先フラグ格納部とを備え、演算装置から受取った同期要求信号である同期キーと同期先フラグによる同期が未だ成立していない場合に、同期が成立するか、あるいは同期が成立する以前に同一の演算装置から新しい同期キーと同期先フラグを受理するまで、先に同期要求受理部が演算装置から受理した同期キーと同期先フラグを格納することで、演算装置が同期要求信号を出力し続ける負荷を排除した。
【００９９】
このように、本実施の形態によれば、同期の成立から同期の食い違いを排除することが可能となる。
【０１００】
また、前記同期要求受理部と前記同期要求解析部の全ては組合せ回路とゲートのみで実現できるため、同期の判定は即時に行われ、そしてハードウェアの全ての動作サイクルで常に行われる。
【０１０１】
また、本実施の形態によれば、１対１の同期成立のみならず、多対多の同期成立を同時に判定できる。
【０１０２】
更に、使用する記憶媒体は、受理した同期要求の同期キーと同期先フラグを格納するための少数のみであるため、少ないハードウェアリソースで実現することが可能である。
【０１０３】
実施の形態２．
以上の実施の形態１で説明した前記同期要求解析部（２２）の同期判定部（２２２）は、全て同じ構造である。しかしながら組合せ回路部（２２１）と同期判定部（２２２）の両者を併せて注目すると、次の事実がある。
【０１０４】
同期判定部ｎ（ｎ：３〜０）に入力される入力キーと比較キーｎは同じ信号である。同時に、比較フラグｎと入力フラグのｎビット目は同じ信号である。
【０１０５】
ゆえに、同期判定部ｎ（ｎ：３〜０）が有する２つのマスク回路のどちらについても、入力信号のｎビット目を値１に固定することで、同期要求解析部（２２）の回路規模をより小さくすることが可能である。
【０１０６】
上記に述べた同期要求解析部（２２）の内容を図１８および図１９〜２２に示す。図１８は変更した組合せ回路部（２２３）である。また図１９は変更した同期判定部３（２２４）、図２０は変更した同期判定部２（２２５）、図２１は変更した同期判定部１（２２６）、図２２は変更した同期判定部０（２２７）である。図１９〜図２１は変更した組合せ回路部（２２３）との信号の関係を示すため、変更した組合せ回路部（２２３）の一部をも併記している。
【０１０７】
実施の形態３．
前記演算装置（１）が同期要求部（１１）の機能を内部に有さない場合、同期要求部（１１）の機能を演算装置の外部に信号生成装置として設置し、この信号生成装置を個々の演算装置（１）に対応させて配置し、演算装置（１）からの同期要求を同期要求受理部へ伝え、また同期状態出力部からの同期成立通知を演算装置に伝える、あるいは同期信号を演算装置（１）の同期信号受信ポート（例えば、割り込みポート）に接続する。このように変更された構成が考えられる。
【０１０８】
このように、本実施の形態によれば、実施の形態１に示した構成を変更し、同期要求部は演算装置の外部にあり、個々の演算装置に対応して配置され、演算装置からの同期成立要求を同期要求受理部へ伝え、また出力状態部からの同期成立通知を演算装置に伝える信号生成装置を備えるようにすることも可能である。
【０１０９】
なお、以上の実施の形態では、同期判定装置の各要素をハードウェアにて構成する例を説明したが、これら各要素をソフトウェア（コンピュータで動作可能なプログラム）により構成しても構わない。或いは、ＲＯＭに記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアとハードウェアとの組合せ或いは、ソフトウェアとハードウェアとファームウェアとの組合せで実施されても構わない。
【図面の簡単な説明】
【０１１０】
【図１】実施の形態１〜３に係る同期判定装置の構成例を示すブロック図。
【図２】演算装置が有する同期要求部の入出力信号を示す図。
【図３】実施の形態１に係る同期判定装置の動作例を示すフローチャート図。
【図４】要求エントリ部の構成例を示す図。
【図５】同期要求受理部の構成例を示す図。
【図６】同期要求解析部の構成例を示す図。
【図７】同期要求解析部の組合せ回路部の構成例の詳細を示す図。
【図８】同期判定部の構成の構成例を示す図。
【図９】一致回路Ａの構成例を示す図。
【図１０】マスク回路の構成例を示す図。
【図１１】一致回路Ｂの構成例を示す図。
【図１２】要求保持部の構成例を示す図。
【図１３】要求エントリ部の動作例を示す図。
【図１４】実施の形態１に係る同期判定を実施した際のパケット処理の同期動作の一例を示す図。
【図１５】図１４の注目区間における組合せ回路部の動作例を示す図。
【図１６】図１４の注目区間における同期判定部の動作例を示す図。
【図１７】図１４の注目区間における同期判定部の動作例を示す図。
【図１８】実施の形態３に係る同期判定部の構成例を示す図。
【図１９】実施の形態３に係る同期判定部の構成例を示す図。
【図２０】実施の形態３に係る同期判定部の構成例を示す図。
【図２１】実施の形態３に係る同期判定部の構成例を示す図。
【図２２】実施の形態３に係る同期判定部の構成例を示す図。
【図２３】従来の動作制御レジスタによる同期制御装置の構成例を示す図。
【図２４】従来の同期判定を実施した際のパケット処理の同期動作の一例を示す図。
【符号の説明】
【０１１１】
１  演算装置、１１  同期要求部、２  同期判定装置、２１  同期要求受理部、２２  同期要求解析部、２３  要求保持部、２４  同期状態出力部、２２１  組合せ回路部、２２２  同期判定部、２２３  変更した組合せ回路部、２２４  変更した同期判定部３、２２５  変更した同期判定部２、２２６  変更した同期判定部１、２２７  変更した同期判定部０、２３１  要求エントリ部、２２２１  一致回路Ａ、２２２２  マスク回路、２２２３  一致回路Ｂ、２３１１  同期キー格納部、２３１２  同期先フラグ格納部。
【図１】
2007048092.tif 000003
【図２】
2007048092.tif 000004
【図３】
2007048092.tif 000005
【図４】
2007048092.tif 000006
【図５】
2007048092.tif 000007
【図６】
2007048092.tif 000008
【図７】
2007048092.tif 000009
【図８】
2007048092.tif 000010
【図９】
2007048092.tif 000011
【図１０】
2007048092.tif 000012
【図１１】
2007048092.tif 000013
【図１２】
2007048092.tif 000014
【図１３】
2007048092.tif 000015
【図１４】
2007048092.tif 000016
【図１５】
2007048092.tif 000017
【図１６】
2007048092.tif 000018
【図１７】
2007048092.tif 000019
【図１８】
2007048092.tif 000020
【図１９】
2007048092.tif 000021
【図２０】
2007048092.tif 000022
【図２１】
2007048092.tif 000023
【図２２】
2007048092.tif 000024
【図２３】
2007048092.tif 000025
【図２４】
2007048092.tif 000026