(57)【要約】【課題】効率的なシステムの運用ができる信号処理システム等を得る。【解決手段】バス２００を介して一定の信号入力周期で入力される信号に含まれる転送データ３２に基づいて、信号入力周期の間に信号処理を行い、処理を行った結果の転送データ３２を信号に含め、さらに他のプロセッサエレメントにバス２００を介して出力する複数のプロセッサエレメントで構成される信号処理システムにおいて、受信側のプロセッサエレメント１１は、前の信号入力周期において送信側の信号処理装置から送信される信号に含まれる転送完了通知データ３３に基づいて、送信側のプロセッサエレメント１の状態を判断して、送信側のプロセッサエレメント１に転送情報データ３１を送信するかどうかを決定し、送信側のプロセッサエレメント１は、受信側のプロセッサエレメント１１から転送情報データ３１を含む信号が送信されると転送データ３２を含む信号を送信する。【選択図】        図１
2004341595.tif 000002
【特許請求の範囲】
【請求項１】
バスを介して一定の信号入力周期で入力される信号に含まれる処理用のデータに基づいて、信号入力周期の間に信号処理を行い、処理を行った結果のデータを信号に含め、さらに他の装置にバスを介して出力する複数の信号処理装置で構成されるシステムにおいて、
転送先の信号処理装置が、前の信号入力周期において転送元の信号処理装置から転送される信号に含まれる転送完了通知データに基づいて、前記転送元の信号処理装置の状態を判断する工程と、
前記判断した状態に基づいて、前記転送元の信号処理装置に転送情報データを転送するかどうかを決定する工程と、
前記転送元の信号処理装置は、前記転送先の信号処理装置から転送情報データを含む信号が転送されると、前記処理用のデータを含む信号を転送する工程と、
前記処理用のデータを含む信号を転送完了すると前記転送完了通知データを含む信号を転送する工程と
を有することを特徴とする信号転送方法。
【請求項２】
バスを介して一定の信号入力周期で入力される信号に含まれる処理用のデータに基づいて、信号入力周期の間に信号処理を行い、処理を行った結果のデータを信号に含め、さらに他の装置にバスを介して出力する複数の信号処理装置で構成される信号処理システムにおいて、
転送元の信号処理装置と転送先の信号処理装置との間で互いに信号を転送し、前記信号に含まれる制御のためのデータに基づいて互いの状態を確認した上で、前記処理用のデータを含む信号のやりとりを行うことを特徴とする信号処理システム。
【請求項３】
バスを介して一定の信号入力周期で入力される信号に含まれる処理用のデータに基づいて、信号入力周期の間に信号処理を行い、処理を行った結果のデータを信号に含め、さらに他の装置にバスを介して出力する複数の信号処理装置で構成される信号処理システムにおいて、
転送先の信号処理装置は、前の信号入力周期において転送元の信号処理装置から転送される信号に含まれる転送完了通知データに基づいて、前記転送元の信号処理装置の状態を判断して、前記転送元の信号処理装置に転送情報データを転送するかどうかを決定し、
前記転送元の信号処理装置は、前記転送先の信号処理装置から転送情報データを含む信号が転送されると、前記処理用のデータを含む信号を転送し、転送が完了した後に前記転送完了通知データを含む信号を転送することを特徴とする信号処理システム。
【請求項４】
前記信号処理装置が、転送された前記処理用のデータを一時的に記憶する領域を複数有する場合に、
前記転送先の信号処理装置は、前記処理用のデータを記憶する領域を指定するためのデータを前記転送情報データに含めて転送することを特徴とする請求項３記載の信号処理システム。
【請求項５】
前記転送先の信号処理装置は、前記処理用のデータを含む信号を転送する転送形態を指定するためのデータを前記転送情報データに含めて転送することを特徴とする請求項３記載の信号処理システム。
【請求項６】
複数の前記転送元の処理装置から転送された複数の前記処理用のデータを含む信号を前記転送先の信号処理装置が受信して信号処理を行う転送形態において、
前記複数の転送元の処理装置は、各周期において転送する前記処理用のデータを含む信号に時刻となる番号を付して転送し、
前記転送先の信号処理装置は、前記番号に基づいて各処理用のデータの組み合わせが正しいかどうかを判断し、組み合わせが正しくなければ同期ずれを発生させた信号経路を特定し、あらかじめ定めた回数だけ前記信号経路からの同期ずれを判断すると、前記信号経路からの前記処理用のデータを含む信号転送を停止させることを特徴とする請求項３記載の信号処理システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、例えば、音響信号等をリアルタイム信号処理するマルチプロセッサ構成のシステムでのデータ信号転送に関するものである。
【０００２】
【従来の技術】
特に技術文献としては記されていないものの、複数の演算処理手段（以下、プロセッサ・エレメントという）が、例えば音波等の物理量の測定により、リアルタイムで得られたデータ信号（以下、単にデータという）の送信（以下、出力という）又は受信（以下、入力という）を行いながら、各プロセッサ・エレメントが処理していくリアルタイム信号処理システムがある。あるプロセッサ・エレメントでは、前段のプロセッサ・エレメントからデータを含む信号をバスを介して受信し、信号処理して後段のプロセッサ・エレメントへ処理したデータを含む信号を送信することを一定周期で繰り返す。
【０００３】
図２０は従来の信号処理システムの構成を示す図である。１０１及び１１０はプロセッサ・エレメントである。１０１は信号の転送元（データ出力側）のプロセッサ・エレメントであり、１１０は信号の転送先（データ入力側）のプロセッサ・エレメントである。以降に説明する１０２〜１０９の符号を付している手段等はプロセッサ・エレメント１０１に含まれるものであり、１１２〜１１９の符号を付している手段等はプロセッサ・エレメント１１０に含まれるものである。
【０００４】
１０２及び１１２は信号処理、データ転送処理等を行うプロセッサである。１０３及び１１３はメモリである。メモリ１０３及び１１３には、転送された（入力された）データを記憶する領域である入力バッファ１０６及び１１６並びに転送する（出力する）データを記憶する領域である出力バッファ１０７及び１１７の領域が少なくとも含まれている。１０８及び１１８はバス２００へのデータ出力を制御するバス制御部である。１０９及び１１９はＩ／Ｏポートである。２００はデータの転送路となるバスである。
【０００５】
図２１はプロセッサ・エレメント１０１及び１１０間のデータの流れを表す図である。図２１のように、信号処理に用いられるデータ（以下、転送データという）がプロセッサ・エレメント１０１からプロセッサ・エレメント１１０に出力される。
【０００６】
図２２は従来のプロセッサ・エレメントの動作を表すフローチャートである。また、図２３は従来のプロセッサ・エレメントの動作タイムチャートである。次に図２２及び図２３に基づいてプロセッサを中心とするプロセッサ・エレメントの動作について説明する。最初に初期化を行う（Ｓ１０１）。そして、前段のプロセッサ・エレメント（例えばプロセッサ・エレメント１１０側からみるとプロセッサ・エレメント１０１となる）から転送データを入力するための準備を行う入力起動処理（Ｓ１０２）、後段のプロセッサ・エレメント（例えばプロセッサ・エレメント１０１側からみるとプロセッサ・エレメント１１０となる）に信号処理した転送データを出力するための準備を行い、出力を行う出力起動処理（Ｓ１０３）及び転送データを演算処理し、処理結果を算出する信号処理（Ｓ１０４）を行う。信号処理（Ｓ１０４）が終わると、次の周期における転送データ入力のための入力起動処理（Ｓ１０２）を行う。このようにして、入力起動処理（Ｓ１０２）、出力起動処理（Ｓ１０３）及び信号処理（Ｓ１０４）を繰り返し行う。ここで、プロセッサ・エレメント間で実際に転送データの入出力を行う際には、一方をマスタのプロセッサ・エレメントとし、他方をスレーブのプロセッサ・エレメントとして、マスタ側のプロセッサ・エレメントの転送起動タイミングによって転送起動し、転送元及び転送先のアドレスは固定アドレスで転送される。
【０００７】
そして、マスタ側の転送データの出力、スレーブ側の転送入力が完了した際、マスタ側のプロセッサ・エレメントから転送完了の割込みが発生する。発生した割込みを受けて、それぞれのプロセッサ・エレメントは行っている処理を中断し、入力側のプロセッサ・エレメント（ここではプロセッサ・エレメント１１０）では入力割込み（Ｓ１０５）を行い、出力側のプロセッサ・エレメント（ここではプロセッサ・エレメント１０１）では出力割込み（Ｓ１０６）を行う。
【０００８】
また、従来のシステムにおいては、処理するデータの時刻整合は特に行っておらず、信号処理を行う中で時刻情報のチェックのみ行われていた。これより転送障害で時刻の整合が崩れると信号処理システムの再起動で復旧させていた。
【０００９】
【発明が解決しようとする課題】
このような従来の信号処理システムでの転送方法では、以下の（１）〜（４）のような問題があった。
（１）  従来の転送方法では、スレーブ側となるプロセッサ（以下、スレーブ側という）の状態に関わらず、マスタ側となるプロセッサ（以下、マスタ側という）の起動タイミングで転送起動し、割込みによってスレーブ側の状態を判別するという転送制御が行われる。このため、転送の状態によっては正常な転送が行えない場合がある。また、転送が行えなかったときのその転送に関わる情報を得るのはマスタ側の転送タイムアウト検出後の割込みによる通知で状態を確認する時である。即ち転送できなかったことがタイムアウト時間待ってから判明する。
（２）  転送元及び転送先アドレスが固定されているため、転送バッファを一時的に違うバッファアドレスに変更する等の障害処理を行うことができない。したがって、システム信頼性が低下する。
（３）  前段プロセッサの処理結果のデータを複数回データ入力して、信号処理を行うような特異な転送形態を採った場合、一度データ入力にずれが生じると複数回データ入力のデータの組み合わせがずれたままとなるので、自動復旧は不可能であった。したがって、システムを復旧するためにはシステム再起動を行わなければならず、一時的な障害であってもシステムが停止することとなり、運用効率が低下する。
（４）  複数プロセッサ・エレメントから処理結果のデータを入力し、信号処理を行うような転送形態を採った場合、複数の経路（プロセッサ・エレメント）から入力されるデータの各経路間でデータ同期がずれた（正しい組み合わせでないデータとなった）場合に同期ずれは検出できる。しかし、どの経路のデータの同期がずれて異常なのか、どの経路が正常なのかの判断を行っていないため、同期ずれ障害経路の特定ができなかった。また、異常経路のデータを用いないで正常経路のデータだけを使用してシステム運用を続けるといったことができなかった。このため、同期ずれが発生するとシステムを復旧するためにはシステム再起動を行わなければならない。したがって、システムが停止することになり運用効率が低下する。
【００１０】
そこで、上記のような問題を解決して、効率的なシステムの運用ができる信号処理システムの実現が望まれていた。
【００１１】
【課題を解決するための手段】
そのため、本発明に係る信号転送方法は、バスを介して一定の信号入力周期で入力される信号に含まれる処理用のデータに基づいて、信号入力周期の間に信号処理を行い、処理を行った結果のデータを信号に含め、さらに他の装置にバスを介して出力する複数の信号処理装置で構成される信号処理システムにおいて、転送先の信号処理装置が、前の信号入力周期において転送元の信号処理装置から転送される信号に含まれる転送完了通知データに基づいて、転送元の信号処理装置の状態を判断する工程と、判断した状態に基づいて、転送元の信号処理装置に転送情報データを転送するかどうかを決定する工程と、転送元の信号処理装置は、転送先の信号処理装置から転送情報データを含む信号が転送されると、処理用のデータを含む信号を転送する工程と、処理用のデータを含む信号を転送完了すると転送完了通知データを含む信号を転送する工程とを有するものである。
本発明においては、バスを介して複数の信号処理装置間で信号処理のためのデータを含む信号のやりとりを確実に行うために、転送先の信号処理装置が、転送元の信号処理装置から転送された転送完了通知データに基づいて転送元の信号処理装置の状態を判断した上で、転送情報データを含む信号を転送し、転送元の信号処理装置は、転送情報データを含む信号が転送され、両装置の間でハンドシェイクが行われて信号がやりとりできる態勢が整ってから処理用のデータを含む信号を転送する。
【００１２】
また、本発明に係る信号処理システムは、バスを介して一定の信号入力周期で入力される信号に含まれる処理用のデータに基づいて、信号入力周期の間に信号処理を行い、処理を行った結果のデータを信号に含め、さらに他の装置にバスを介して出力する複数の信号処理装置で構成される信号処理システムにおいて、転送元の信号処理装置と転送先の信号処理装置との間で互いに信号を転送し、信号に含まれる制御のためのデータに基づいて互いの状態を確認した上で、処理用のデータを含む信号のやりとりを行うものである。
【００１３】
【発明の実施の形態】
実施の形態１．
図１は本発明の第１の実施の形態に係る信号処理システムの構成を示す図である。１及び１１は信号処理装置であるプロセッサ・エレメントである。本実施の形態では、１は信号の転送元（データ出力側、マスタ側となる）のプロセッサ・エレメントであり、１１は信号の転送先（データ入力側、スレーブ側となる）のプロセッサ・エレメントである。各プロセッサ・エレメントは信号処理ノードとなる。以降に説明する２〜９の符号を付している手段等はプロセッサ・エレメント１に含まれるものであり、１２〜１９の符号を付している手段等はプロセッサ・エレメント１１に含まれるものである。
【００１４】
２及び１２は、データ信号に含まれる処理用のデータ（以下、このデータ信号又はデータのことを転送データ３２という）を演算し後段のプロセッサ・エレメントに転送する処理結果を算出する信号処理、各手段を制御して各種データの転送処理等を行うプロセッサである。３及び１３はメモリである。メモリ３及び１３は、転送完了通知データ３３を記憶する領域である転送完了領域４及び１４、転送情報データ３１を記憶する領域である転送情報領域５及び１５、転送された（入力された）信号に含まれる転送データ３２を記憶する領域である入力バッファ６及び１６並びに信号として転送する（出力する）転送データ３２を記憶する領域である出力バッファ７及び１７の領域を少なくとも有している。なお、本実施の形態では、入力バッファ６は用いないが、プロセッサ・エレメント１の前段からの転送データ３２入力に用いる。また、出力バッファ１７についても本実施の形態では用いないが、プロセッサ・エレメント１１の後段への転送データ３２出力に用いる。８及び１８はバス２００へのデータ出力を制御するバス制御部である。９及び１９はＩ／Ｏポートである。また、２００はデータの転送路となるバスである。
【００１５】
本実施の形態は、データ入力側のプロセッサ・エレメント１１が転送情報データ３１を出力し、一方、データ出力側のプロセッサ・エレメント１が転送完了通知データ３３を出力することにより、互いに制御情報のデータを出力してハンドシェイクを行った上で、正常な転送ができることを確認してから転送データ（信号）の転送を行うようにしたものである。ここでは、ＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）によるデータ転送により、プロセッサを介さなくてもバスを介したメモリからのデータの転送を行えるものとする。したがって、データの入出力と信号処理とを並行して行うことができる。
【００１６】
図２はプロセッサ・エレメント１及び１１間のデータの流れを表す図である。図２のように、データ入力側のプロセッサ・エレメント１１からデータ出力側のプロセッサ・エレメント１に転送情報データ３１を出力する。転送情報データ３１を入力したプロセッサ・エレメント１が転送データ３２を出力する。そして、転送データ３２の出力を完了すると、出力割込みによりプロセッサ２が割込み処理を行うとともに、転送完了通知データ３３をプロセッサ・エレメント１１側に出力する。
【００１７】
図３はプロセッサの処理の流れを表すフローチャートである。ここではプロセッサ１２を例にして説明するが、他のプロセッサでも同様の処理動作を行う。まず、メインの流れについて説明する。プロセッサ１２は、信号処理を始める前にデータ処理の初期化を行う（Ｓ１）。そして、転送完了領域１４に記憶された転送完了通知データ３３の確認及び後段のプロセッサエレメント（図示せず）への転送情報データ３１の出力からなる入力起動処理を行い、前段のプロセッサ・エレメントであるプロセッサ・エレメント１から出力される転送データ３２を受け付ける（Ｓ２）。また、転送情報領域１５に記憶された転送情報データ３１の確認及び出力バッファ１７に記憶した転送データ３２の出力からなる出力起動処理を行う（Ｓ３）。更に、転送データ３２を演算処理し、算出した処理結果を出力バッファ１７に記憶させる信号処理（Ｓ４）を行う。信号処理（Ｓ４）を終えると、次の周期の転送データ３２入力のための入力起動処理（Ｓ２）が行われる。このようにして各プロセッサは、入力起動処理（Ｓ２）、出力起動処理（Ｓ３）及び信号処理（Ｓ４）を繰り返し行う。
【００１８】
ここで、プロセッサ１２が上記の処理を行っている途中（ほとんどの場合は信号処理の途中）に出力割込みが入力されることがある。その場合はプロセッサ１２は出力割込み処理を行い、その処理の一部として、バス制御手段１８を介し、転送完了通知データ３３を出力する（Ｓ５）。
【００１９】
図４はプロセッサ・エレメント１１の特にプロセッサ１２及びバス制御手段１８のタイムチャートを表す図である。ここではプロセッサ・エレメント１１のプロセッサ１２及びバス制御手段１８について説明するが、他のプロセッサ・エレメントでも同様である。バス制御手段１８はＤＭＡチャネルを有し、プロセッサ１２を介さなくてもメモリ１３と入出力先との間でデータ入出力ができるものとする。したがって、プロセッサ１２はバス制御手段１８に指示を与える必要はあるものの、データ入出力のための時間を占有されることなく、データ処理（信号処理）を行うことができる。なお、プロセッサ・エレメント１１としての周期は入力起動により開始されるが、プロセッサ１２はデータ入力がされてからの時間を基準として信号処理を行うので、図４ではデータ入力時を周期の開始時としてデータ入力周期としている。
【００２０】
次に図４に基づいて本実施の形態における転送処理について説明する。まず、データ入力側であるプロセッサ・エレメント１１のプロセッサ１２は、入力起動処理を行い、データ入力の準備をする。その際、プロセッサ・エレメント１からの転送完了通知データが転送完了領域１４に存在するかどうかの確認を行う。また、入力バッファ１６の準備が出来たら転送情報データ３１をプロセッサ・エレメント１に出力する。
【００２１】
図５は転送情報データ３１のフォーマットを表す図である。本実施の形態においては、転送情報データ３１は２ワードで構成されているものとする。ａはノードＩＤであり、１ワードで構成される。システム内の各プロセッサ・エレメントに固有に与えられたＩＤコードである。ｂは入力レディであり、１ワードで構成される。入力レディｂはデータ入力の受け入れ態勢にあるかどうかを判断するためのコードデータである。入力準備が整っていれば、その旨を示すコードをこの位置にセットして出力する。
【００２２】
図６は転送完了通知データ３３のフォーマットを表す図である。本実施の形態においては、転送完了通知データ３３も２ワードで構成されているものとする。ノードＩＤｃは転送情報データ３１と同じものである。ｄは転送完了であり、データ転送の完了を通知するためのコードデータである。プロセッサ１２は入力起動処理が終了すると、出力起動処理を行い、データ出力の準備をする。その際、図１では示していないが、プロセッサ・エレメント１１の後段のプロセッサ・エレメントからの転送情報データ３１が転送情報領域１５に存在するかどうか確認する。
【００２３】
プロセッサ１２は信号処理を行い、演算した処理結果を出力バッファ１７に記憶させる。信号処理を行っている間でも、必要に応じてバス制御手段１８等のプロセッサ・エレメント１１の他の手段に指示を出す。次のデータ入力周期では、次に処理すべき転送データ３２を入出力し、新たな転送データ３２を信号処理する必要があるため、信号処理は、その周期内で終わらせておく必要がある。これはプロセッサ・エレメント１をはじめとする他のプロセッサ・エレメントでも同様である。
【００２４】
一方、プロセッサ・エレメント１１はバス制御手段１８を介し、プロセッサ・エレメント１からのデータを入力し、入力バッファ１６に記憶させる。また、データ入力が終了すると、出力バッファ１７に記憶された処理結果の転送データ３２をバス２００を介して後段のプロセッサ・エレメント（図示せず）に出力する。
【００２５】
バス制御手段１８はデータ出力を終了すると、プロセッサ１２に対し、出力割込みをあげる。出力割込み処理の際に、プロセッサ１２はバス制御手段１８に転送完了通知データ３３を後段のプロセッサ・エレメントに出力させる。また、転送情報領域１５に保持されている転送情報データ３１をクリアにして次回の転送情報データ３１の入力に備える。
【００２６】
以上のように、第１の実施の形態によれば、転送元のプロセッサ・エレメント１と転送先のプロセッサ・エレメント１１との間で、互いの制御情報となる転送情報データ３１と転送完了通知データ３３とをやりとりし、ハンドシェイクを行って互いの状態が判断できた上で、それぞれのプロセッサ・エレメントが転送データ３２の転送、受け入れを行うことができる。したがって、転送情報データ３１が入力されていなければ、プロセッサ・エレメント１から転送データ３２の出力を行わないので、正常に転送できないという状況を回避することができる。これにより、無駄なバス転送を行わなくてすみ、その分、バスの使用が控えられ、他のバス使用の要求に割り当てられるので、バスの使用効率が上がる。また、データ転送前に転送先のプロセッサ・エレメント１１の状態の検出を行うことができる。
【００２７】
実施の形態２．
図７は本発明の第２の実施の形態に係る信号処理システムの構成を示す図である。図７において、プロセッサ・エレメント１１Ａは、入力バッファ１６Ａ及び１６Ｂの２つの入力バッファ領域を有するメモリ１３Ａを有している点でプロセッサ・エレメント１とは異なる。ここで、入力バッファ１６Ｂを予備の入力バッファとする。本実施の形態では、プロセッサ・エレメント１１Ａのメモリ１３Ａだけを２つの入力バッファとなる領域を有するようにしたが、プロセッサ・エレメント１についても同様の構成にしてもよい。また、入力バッファを２領域に限らず、３以上の領域を有するようにしてもよい。
【００２８】
図８は第２の実施の形態における転送情報データ３１のフォーマットを表す図である。本実施の形態においては、転送情報データ３１は３ワードで構成されており、どの入力バッファへのデータ入力が可能かを表す入力バッファアドレスｅを有しているという点で第１の実施の形態の転送情報データ３１とは異なる。
【００２９】
次に動作について説明する。プロセッサ・エレメント１１Ａは入力起動処理の際に転送情報データ３１を出力するが、その際、転送データ３２を記憶する用意がある入力バッファを１つ選択する。ここで、この選択方法としては、障害があった場合だけ予備となっている入力バッファ１６Ｂを選択するようにしてもよいし、２つの入力バッファを対等に扱い、その都度切り替えて選択するようにしてもよい。その入力バッファ領域に割り当てられたメモリ空間のアドレスを転送情報データ３１に含めてプロセッサ・エレメント１に出力する。
【００３０】
一方、プロセッサ・エレメント１側では、転送情報領域５に記憶された転送情報データ３１に基づいて、プロセッサ・エレメント１１Ａ側が指定したアドレスを判断し、そのアドレスの入力バッファ１６Ａ又は１６Ｂに転送データ３２が記憶されるように、アドレスを指定して転送データ３２を出力する。
【００３１】
以上のように、第２の実施の形態によれば、データ入力側（転送先）のプロセッサ・エレメント１１Ａ側が指定した入力バッファのアドレスに基づいたデータ転送を行うようにしたので、障害等が発生し、ある入力バッファが使用できない場合であっても、別の入力バッファを指定することで、プロセッサ・エレメント間の転送データ３２の転送、受け入れにおいて柔軟な対応をすることができる。また、転送情報データ３１を入力バッファの切替通知として使用することで、転送元のプロセッサ・エレメント側で転送先の入力バッファの固定アドレスを記憶したり、次に転送すべき転送先の入力バッファを管理する必要がなくなる。また、データ入力側（転送先）であるプロセッサ・エレメント１１Ａが入力バッファの管理するようになるため、何らかの障害によって使用不可になった入力バッファを使用しないように制御することが可能となる。以上のことより、バッファ制御に関する障害において入力バッファの一部に障害が発生しても回避することができるのでシステム信頼性を向上させることができる。
【００３２】
実施の形態３．
図９は本発明の第３の実施の形態に係るプロセッサ・エレメント１及び１１Ａ間のデータの流れを表す図である。システムの構成は、第２の実施の形態で説明したものと同様のものを用いるものとする。図９では転送先となるプロセッサ・エレメント１１Ａが１回分の信号処理及び転送データ３２出力を行う間に、プロセッサ・エレメント１は転送データ３２を複数回出力する（本実施の形態では２回とし、それぞれの転送データ３２を３２Ａ、３２Ｂとする）という特殊な転送動作（以下、レートダウンといい、本実施の形態のように２回入力する場合を２分周レートダウンという）を行っている。本実施の形態では、この２分周レートダウンを転送データ３２出力の管理単位とする。２分周レートダウンの場合は、前段のプロセッサ・エレメントのデータ入力周期に比べてその周期が２倍になり、入力起動処理が１回行われる間に転送データ３２入力が２回行われる。
【００３３】
図１０はプロセッサ・エレメント１１Ａの特にプロセッサ１２のタイムチャートを表す図である。
【００３４】
図１１は第３の実施の形態における転送情報データ３１のフォーマットを表す図である。第２の実施の形態の転送情報データ３１に転送パラメータｆを付加するようフォーマットを変更したものである。転送パラメータｆは、例えば、通常の転送であるかレートダウンでの転送であるか等の転送形態を示すコードデータである。ここで、連続した構造の入力バッファに複数回入力される転送データ３２を入力できる場合は、最初の入力バッファアドレスｅを指定しておけばよいので、図１１（ａ）のフォーマットで転送情報データ３１を出力すればよい。一方、複数回入力される転送データ３２がそれぞれ連続しない入力バッファに入力される場合は、図１１（ｂ）のフォーマットのように、それぞれの転送データ３２を入力する複数の入力バッファアドレスｅを指定して転送情報データ３１を出力する。転送情報データ３１を図１１（ａ）のフォーマットで構成するか又は図１１（ｂ）のフォーマットで構成するかは、転送形態に応じて任意に決定すればよい。
【００３５】
一方、データ出力側（転送元）となるプロセッサ・エレメント１のプロセッサ２は、プロセッサ・エレメント１１Ａからの転送情報データ３１が転送情報領域５に存在するかどうかの確認を行うが、この際、転送パラメータｆのコードデータに基づいて、プロセッサ・エレメント１１Ａへの転送データ３２を２分周レートダウンで出力するものと判断する。また、入力バッファアドレスｅに基づいて転送データ３２を出力する入力バッファも判断する。
【００３６】
その後、プロセッサ・エレメント１はバス２００を介して最初の転送データ３２Ａを出力し、プロセッサ・エレメント１１Ａの入力バッファ１６Ａ又は１６Ｂに記憶される。バス制御手段８は転送データ３２Ａ出力を終了すると、プロセッサ２に対し、出力割込みをあげ、プロセッサ２は出力割込みを受け付けると、出力割込み処理を行う。転送データ出力後には転送完了通知データは、通常ならば転送データ３２Ａの転送完了後の出力割込み処理でプロセッサ・エレメント１１Ａに出力するが、本実施の形態の２分周レートダウンのようなレートダウンにおいては、データ出力の管理単位毎に転送完了通知データ３３を出力する。２分周レートダウンでは転送データ３２Ａを１回目出力とし、２回目出力となる転送データ３２Ｂ出力後に行う出力割込み処理で転送完了通知データ３３を出力する。
【００３７】
図１２はデータずれが発生した時の動作を説明するタイムチャートである。図１２に基づいてプロセッサ・エレメント１からプロセッサ・エレメント１１Ａへ２分周レートダウンでデータ転送を行う場合の動作である。データの流れを表す図９で説明したように、プロセッサ・エレメント１１Ａのデータ入力周期内に、入力データとして転送データ３２Ａと転送データ３２Ｂとの組み合わせがプロセッサ・エレメント１１Ａに入力される。
【００３８】
図１２中のプロセッサ動作タイムチャートにおいては、プロセッサ・エレメント１のデータ入力周期の１周期目はプロセッサエレメント１１Ａから転送情報データ３１がプロセッサ・エレメント１に出力され、プロセッサ・エレメント１は転送情報データ３１に基づいて、転送先のプロセッサ・エレメント１１Ａの入力レディｂや転送パラメータｆの転送形態が２分周レートダウンであることを読み取り、転送データ３２Ａをプロセッサ・エレメント１１Ａに出力する。この転送は正常に完了し、プロセッサ・エレメント１１Ａに入力される。
【００３９】
次のプロセッサ・エレメント１のデータ入力周期の２周期目では転送データ出力で転送データ３２Ｂが異常を起こしており、データずれが発生してプロセッサ・エレメント１１Ａに出力する転送データのデータ組み合わせが崩れている。このときのプロセッサ・エレメント１での出力割込みは転送異常を示し、プロセッサエレメント１１Ａに出力する転送完了通知通知データ３３には、転送完了ｄのデータ転送完了コードに出力異常がセットされて出力される。プロセッサ・エレメント１１Ａはこの転送完了通知データ３３により、今回のデータ入力周期のデータ入力が異常であることを認識する。即ち、送信元のプロセッサエレメント１が２分周レートダウンの転送形態のため２回出力毎のデータ管理を行い、転送完了通知データ３３を出力する。そのため、プロセッサエレメント１１Ａ側では自らのデータ入力周期毎にデータ入力結果を通知されることになり、データずれが発生し、転送データ組み合わせが崩れたことを“今回のデータ入力周期の転送データは異常である”という形で知ることになる。プロセッサエレメント１１Ａはデータ組み合わせを意識せず、転送完了通知データ３３によってデータ入力周期毎に転送データの正常／異常を判断する。このようにデータ入力周期毎に区切ってデータ入力状態をチェックし、転送データを扱うことで、データずれを起こしてもそのデータ入力周期だけが入力異常となり、他の周期には影響を及ぼさないように動作する。
【００４０】
プロセッサエレメント１のデータ入力周期の３、４周期目は正常にデータ転送が行われ、それぞれ転送データ３２Ａ、転送データ３２Ｂが転送され、正しい転送データの組み合わせで転送したことを示している。上記のようにプロセッサエレメント１１Ａは入力周期毎に区切ってデータ入力をチェックするのでデータずれを引きずることなく正常にデータが入力される。
【００４１】
以上のように、第３の実施の形態によれば、転送情報データ３１に転送形態を表す転送パラメータｆを含め、プロセッサ・エレメント１１Ａからプロセッサ・エレメント１への転送情報データ３１出力を転送データ３２の管理単位（第３の実施の形態の場合、転送データ３２を２回転送する毎）に行うようにすることで、レートダウンで転送を行う際に、転送データ３２の入力のデータ組み合わせにずれが生じても、その周期の転送データ３２の組み合わせだけが誤ったデータとなり、次の周期の転送データ３２については、正しい組み合わせに自動的に復旧する。このため、復旧のためにシステムの再起動をする必要がなくなり、システムの運用効率の低下を防ぐことができる。
【００４２】
実施の形態４．
図１３は本発明の第４の実施の形態に係る信号処理システムの構成を示す図である。図１３において図７と同じ図番を付しているものは、第１及び第２の実施の形態で説明したことと同様の動作を行うので説明を省略する。２１はプロセッサ・エレメントである。プロセッサ・エレメント２１の構成は、プロセッサ・エレメント１と同じである。ただ、バス２００を同時に占有できないので、バス制御手段２８による転送データ３２を出力するタイミングがバス制御手段８と異なる。また、プロセッサ・エレメント１及びプロセッサ・エレメント２１では、データ同期を判断するための材料となる転送データ３２の時刻をカウントする。ここで、時刻とは例えば０〜ｎの整数の値（本実施の形態では０〜７となる。以下、時刻値という）で構成されており、これが循環する（７の次は０に戻る）ものとする。そして、信号処理し、出力を行う転送データ３２の順にその時刻を対応させる。この時刻を時刻データｇとして転送完了通知データ３３に含めて出力する。
【００４３】
図１４は第４の実施の形態における転送完了通知データ３３のフォーマットを表す図である。本実施の形態の転送完了通知データ３３は、時刻データｇを付加した３ワードで構成されているものとする。時刻データｇは、上述したように０〜７の値で構成されているものとする。
【００４４】
１回のデータ入力周期に複数のプロセッサ・エレメントから転送データ３２の出力が行われ、それらを処理する場合（以下、この転送形態を合流という）、時刻同期がとれている正しい組み合わせで処理しなければ、後段のプロセッサ・エレメントの信号処理や、処理結果に大きな影響を及ぼすことになる。そこで、本実施の形態は、制御情報である転送完了通知データ３３に時刻データを含め、転送先のプロセッサ・エレメントが、各プロセッサ・エレメントからの時刻データに基づいて、プロセッサ・エレメント又は経路での障害により同期ずれによる異常が発生していないかどうかを判断し、転送データ３２の組み合わせが正しいかどうかを判断するものである。
【００４５】
図１５は第４の実施の形態に係るプロセッサ・エレメント１、１１Ａ及び２１間のデータの流れを表す図である。プロセッサ・エレメント１１Ａ側では、プロセッサ・エレメント１及びプロセッサ・エレメント２１にそれぞれ転送情報データ３１を出力する。そして、プロセッサ・エレメント１及びプロセッサ・エレメント２１からは、それぞれ転送データ３２及び転送完了通知データ３３が出力されることになる。
【００４６】
図１６はプロセッサ１２の入力起動時の転送完了通知データ３３の確認処理のフローチャートを表す図である。ここでプロセッサ１２が行うメインの処理過程は図３のフローチャートのようになる。入力起動処理の際、転送完了通知データ３３の確認を行うが、プロセッサ１２は期待値の生成処理を開始する。期待値とは、完了通知データ確認の際、書き込まれているべき時刻データｇの値のことである。ここで、時刻値は同期合わせの目的であるため０〜ｎまでの整数でデータ転送の度に一定値増加し、増加した値がｎ以上になるとその差分だけ計数するという巡回する整数値であるので、期待値も巡回する整数値となる。前回の期待値（時刻データ）Ｘｍ−１  と増分値ΔＸ（本実施の形態では１である）との和がｎ以下であれば（Ｘｍ−１  ＋ΔＸ≦ｎ）（Ｓ１１）、今回の期待値Ｘｍ  をＸｍ−１  ＋ΔＸとする（Ｓ１２）。ｎ以下でなければ（ｎより大きければ（Ｘｍ−１  ＋ΔＸ＞ｎ））、今回の期待値Ｘｍ  はＸｍ−１  ＋ΔＸ−ｎ−１とする（Ｓ１３）。プロセッサ１２は期待値を生成すると、期待値と時刻値とを比較し、一致するかどうかを判断する（Ｓ１４）。正常な場合には時刻値と期待値とが一致するはずである。ここで同じ値でなければ同期ずれとを判断する。そして、同期ずれが発生したものと判断すればプロセッサ・エレメントのノードＩＤａを記憶手段１３Ａに記憶する（Ｓ１５）。
【００４７】
以上の動作をプロセッサ１１Ａに入力される転送データ３２の全ての出力元のプロセッサエレメント（転送経路）について行ったかどうかを判断し（Ｓ１６）、全ての転送経路について行っていないものと判断すると、残りの転送経路について同期ずれが発生しているかどうかを判断する。全ての転送経路について同期ずれが発生したかどうかの判断を終了し、ある転送経路について同期ずれが生じているものと判断すると（Ｓ１７）、エラー処理を行う（Ｓ１８）。
【００４８】
図１７はエラー処理のフローチャートを表す図である。まず、プロセッサ１２は、記憶手段１３Ａに記憶したノードＩＤに基づいて、ノードＩＤ毎（プロセッサ・エレメント毎）の異常発生回数（同期ずれの発生回数）をカウントアップする（Ｓ１８Ａ）。そして、ノードＩＤ毎の転送データ３２の異常を認識する（Ｓ１８Ｂ）。実際には、信号処理を行うためのアプリケーションプログラムに対し、同期ずれの発生した転送データ３２で処理が行われていることを認識させる（通知する）ものである。そして、異常発生回数があらかじめ定めたしきい値ｋ（又はそれ以上）であるかどうかを判断する。異常発生回数がしきい値ｋより小さければ、そのままエラー処理を終了する。異常発生回数がしきい値ｋ以上であると判断すると（Ｓ１８Ｃ）、切り離し処理を行い（Ｓ１８Ｄ）、該当するノードＩＤを有するプロセッサへの転送情報データ３１の出力を行わないようにして、エラー処理を終了する。これにより、切り離し処理をされたプロセッサ・エレメントの転送情報領域には転送情報データ３１が記憶されず、ハンドシェイクが行われないので、転送データ３２を出力することができない。これにより切り離しを図る。
【００４９】
また、図１６において、同期ずれが生じていないと判断し、エラー処理による切り離し処理を行わなかったプロセッサ・エレメントに対しては転送情報データ３１を出力し（Ｓ１９）、終了する。
【００５０】
図１８は転送完了通知データ出力のフローチャートを表す図である。一方、転送元のプロセッサ・エレメント１又は２１では、プロセッサ２又は２２が出力割込み処理を行うとともに、バス制御手段８又は２８は転送完了通知データ３３を出力するが、その際、カウントした時刻値から時刻データｇをセットする（Ｓ２１）。また、データ転送が正常に完了したか、転送が異常であったか、転送データ３２が異常であったかを表すコードデータのうちどれかを判断し、そのコードデータから転送完了ｄをセットする（Ｓ２２）。そして、プロセッサが固有に有するＩＤコードをノードＩＤｃとしてセットし（Ｓ２３）、転送完了通知データ３３をプロセッサ・エレメント１１Ａに出力して（Ｓ２４）、終了する。ここで、他のプロセッサにバス２００が占有されていれば、転送完了通知データ３３の出力は待ちの状態となる。
【００５１】
図１９はプロセッサ・エレメント１１Ａ、１、２１のタイムチャートを表す図である。ここでは、プロセッサ・エレメント１の出力処理とそれに伴うプロセッサ・エレメント１１Ａの入力処理について説明する。図１９は２周期目、３周期目に、プロセッサ・エレメント１から出力された転送データ３２が同期ずれを起こした場合の状態を表している。図１９に記載されている丸数字は図１０で示したものと同じである。図１９及び図１５〜図１８のフローチャートに基づいて、特に同期ずれを起こした場合の処理についてより具体的に説明する。なお、ここでは異常発生回数のしきい値ｋ＝２とする。
【００５２】
転送元のプロセッサ・エレメント１では、出力起動処理が行われる。プロセッサ・エレメント１１Ａからの転送情報データ３１が転送情報領域１５に存在するかどうかを判断する。そして、入力レディｂのコードデータに基づいて、プロセッサ・エレメント１１Ａが受け入れ態勢にあることを確認する。また、転送パラメータｆのコードデータに基づいて、転送形態が合流であると判断する。また、プロセッサ・エレメント２１についても同様の出力起動処理が行われる。
【００５３】
そして、プロセッサ・エレメント１のバス制御手段８により、入力バッファアドレスｅに基づいて、転送データ３２を出力する。転送データ３２の出力が終了すると、プロセッサ２が出力割込み処理を行い、その処理の一部として、転送完了通知データ３３出力処理を行う。この処理により、時刻データｇ、転送の状態を示す転送完了ｄを付加した転送完了通知データ３３がプロセッサ・エレメント１１Ａに出力され、転送完了領域１４に記憶される。正常な状態であれば、プロセッサ・エレメント１及び２１について、以上のような転送データ３２出力処理が周期的に行われる。
【００５４】
一方、転送先となるプロセッサ・エレメント１１Ａは、入力起動処理時に、転送情報データ３１をプロセッサ・エレメント１及び２１に出力する。その際には、転送パラメータｆには合流を示すコードデータを付加する。後段のプロセッサ・エレメントに対する出力起動処理を行った後、プロセッサ・エレメント１及び２１から転送データ３２がそれぞれ入力される。ここではプロセッサ・エレメント１から転送される転送データ３２は入力バッファ１６Ａに、プロセッサ・エレメント２１から転送される転送データ３２は入力バッファ１６に記憶されるものとする。転送データ３２の入力が完了すると、転送完了通知データ３３がそれぞれプロセッサ・エレメント１及び２１から出力される。
【００５５】
プロセッサ・エレメント１１Ａのプロセッサ１２は、次回の入力起動処理の際に転送完了データの確認を行うが、その際、図１６のように期待値を作成する。１周期目では、期待値はそれぞれ“０”となる。プロセッサ・エレメント１及び２１からそれぞれ出力する転送完了通知データ３３に含まれる時刻データｇについても、それぞれ“０”であるので、期待値と時刻データｇの時刻値とを比較し、一致しているので同期ずれはないものと判断する。
【００５６】
２周期目については、期待値はそれぞれ“１”となる。一方、プロセッサ・エレメント１からの転送完了通知データ３３に含まれる時刻データｇの値は“２”である。プロセッサ１２はエラー処理を行い、プロセッサ・エレメント１が有するノードＩＤと関連させて異常発生回数を１として記憶させる。ここでは、異常発生回数は、１＜ｋ（＝２）であるので、プロセッサ２はそれを判定（判断）し、そのまま通常の処理に戻る。
【００５７】
３周期目については、期待値はそれぞれ“２”となる。一方、プロセッサ・エレメント１からの転送完了通知データ３３に含まれる時刻データｇの値は“３”である。プロセッサ１２は、２周期目と同様の処理を行うが、ここで、異常発生回数が２となり、しきい値ｋと同じ値になったので、プロセッサ・エレメント１への転送情報データ３１の出力を停止し、プロセッサ・エレメント１の切り離し処理を行う。これにより、転送情報データ３１の出力はプロセッサ・エレメント２１のみに行われる。
【００５８】
また、プロセッサ１２では２周期目において、同期ずれを起こした転送データ３２によって信号処理を行っているため、後段のプロセッサ・エレメントに対して出力する転送データ３２は異常なものとなる。そこで、出力割込みの際に後段のプロセッサ・エレメントに出力する転送完了通知データ３３について、時刻データｇは通常に付与するものの、転送完了ｄは、転送データ３２が異常である旨のコードデータにより出力する。
【００５９】
３周期目において、切り離し処理により転送情報データ３１が転送情報領域に存在しないプロセッサ・エレメント１は転送データ３２の出力ができなくなる。
【００６０】
以上のように、第４の実施の形態によれば、１周期内で複数のプロセッサ・エレメントからの信号を処理する合流の場合に、転送完了通知データ３３に時刻データｇを付加し、転送先のプロセッサ・エレメント１１Ａ側で期待値を判断し、期待値と時刻データｇの値とを比較することで、同期ずれを判断し、後段のプロセッサ・エレメントに対して同期ずれ発生を通知し、ある一定の発生回数を超えた場合に切り離し処理を行うようにしたので、同期ずれが発生しても切り離し処理が実行される前に復旧するような一時的な障害の場合では、同期ずれ発生でシステムリセットすることなく、そのままシステムを運用することが可能となり、システムの運用効率の低下を防ぐことができる。また、切り離し処理が実行されるような障害が継続した場合でも、切り離し動作によって無駄な転送を発生させずバスの負荷を軽減させることができる。
【００６１】
実施の形態５．
上述の実施の形態はリアルタイムで信号処理を行うことを前提に説明したが、特にリアルタイムでの信号処理でなくても本発明を適用することができる。
【００６２】
【発明の効果】
以上のように本発明によれば、転送先の信号処理装置が、転送完了通知データに基づいて転送元の信号処理装置の状態を判断し、その判断に基づいて、転送元の信号処理装置に転送情報データを転送し、一方、転送元の信号処理装置は転送情報データを含む信号が転送されると、処理用のデータを含む信号を転送するようにしたので、互いにハンドシェイクを行って確実に信号のやりとりができることを確認してから正常な信号のやりとりを行える。このため、無駄なバスサイクルを発生させずにすむので、無駄なバスの占有を防ぐことができ、バスの使用効率がよくなる。また、転送元のプロセッサ・エレメントは、データ転送前に転送先のプロセッサ・エレメントの状態検出を行うことができる。
【００６３】
更に本発明によれば、転送元の信号処理装置と転送先の信号処理装置との間で制御のためのデータに基づいて互いの状態を確認した上で、処理用のデータを含む信号のやりとりを行うようにしたので、互いにハンドシェイクを行って確実に信号のやりとりができることを確認してから正常な信号のやりとりを行え、異常な信号による無駄な信号の転送を防ぎ、バスの使用効率を上げることができる。
【図面の簡単な説明】
【図１】本発明の第１の実施の形態に係る信号処理システムの構成を示す図である。
【図２】プロセッサ・エレメント１及び１１間のデータの流れを表す図である。
【図３】プロセッサ２の処理の流れを表すフローチャートを表す図である。
【図４】プロセッサ・エレメント１１の特にプロセッサ１２及びバス制御手段１８のタイムチャートを表す図である。
【図５】転送情報データ３１のフォーマットを表す図である。
【図６】転送完了通知データ３３のフォーマットを表す図である。
【図７】本発明の第２の実施の形態に係る信号処理システムの構成を示す図である。
【図８】第２の実施の形態における転送情報データ３１のフォーマットを表す図である。
【図９】本発明の第３の実施の形態に係るプロセッサ・エレメント１及び１１Ａ間のデータの流れを表す図である。
【図１０】プロセッサ・エレメント１１Ａの特にプロセッサ１２及びバス制御手段１８のタイムチャートを表す図である。
【図１１】第３の実施の形態における転送情報データ３１のフォーマットを表す図である。
【図１２】データずれが発生した時の動作を説明するタイムチャートである。
【図１３】本発明の第４の実施の形態に係る信号処理システムの構成を示す図である。
【図１４】第４の実施の形態における転送完了通知データ３３のフォーマットを表す図である。
【図１５】第４の実施の形態に係るプロセッサ・エレメント１、１１Ａ及び２１間のデータの流れを表す図である。
【図１６】プロセッサ１２の入力起動時の転送完了通知データ３３の確認処理のフローチャートを表す図である。
【図１７】エラー処理のフローチャートを表す図である。
【図１８】転送完了通知データ出力のフローチャートを表す図である。
【図１９】プロセッサ・エレメント１１Ａ、１、２１のタイムチャートを表す図である。
【図２０】従来の信号処理システムの構成を示す図である。
【図２１】プロセッサ・エレメント１０１及び１１０間のデータの流れを表す図である。
【図２２】従来のプロセッサ・エレメントの動作を表すフローチャートである。
【図２３】従来のプロセッサ・エレメントの動作タイムチャートである。
【符号の説明】
１、１１、１１Ａ、２１、１０１、１１０  プロセッサ・エレメント
２、１２、２２、１０２、１１２  プロセッサ
３、１３、１３Ａ、２３、１０３、１１３  メモリ
４、１４、２４  転送完了領域
５、１５、２５  転送情報領域
６、１６、１６Ａ、１６Ｂ、２６、１０６、１１６  入力バッファ
７、１７、２７、１０７、１１７  出力バッファ
８、１８、２８、１０８、１１８  バス制御部
９、１９、２９、１０９、１１９  Ｉ／Ｏポート
２００  バス
【図１】
2004341595.tif 000003
【図２】
2004341595.tif 000004
【図３】
2004341595.tif 000005
【図４】
2004341595.tif 000006
【図５】
2004341595.tif 000007
【図６】
2004341595.tif 000008
【図７】
2004341595.tif 000009
【図８】
2004341595.tif 000010
【図９】
2004341595.tif 000011
【図１０】
2004341595.tif 000012
【図１１】
2004341595.tif 000013
【図１２】
2004341595.tif 000014
【図１３】
2004341595.tif 000015
【図１４】
2004341595.tif 000016
【図１５】
2004341595.tif 000017
【図１６】
2004341595.tif 000018
【図１７】
2004341595.tif 000019
【図１８】
2004341595.tif 000020
【図１９】
2004341595.tif 000021
【図２０】
2004341595.tif 000022
【図２１】
2004341595.tif 000023
【図２２】
2004341595.tif 000024
【図２３】
2004341595.tif 000025