JP2004341595A - Signal transfer method and signal processing system - Google Patents

Signal transfer method and signal processing system Download PDF

Info

Publication number
JP2004341595A
JP2004341595A JP2003134249A JP2003134249A JP2004341595A JP 2004341595 A JP2004341595 A JP 2004341595A JP 2003134249 A JP2003134249 A JP 2003134249A JP 2003134249 A JP2003134249 A JP 2003134249A JP 2004341595 A JP2004341595 A JP 2004341595A
Authority
JP
Japan
Prior art keywords
transfer
data
signal
signal processing
processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2003134249A
Other languages
Japanese (ja)
Inventor
Shigeru Minmi
茂 民實
Hideki Ashikawa
秀樹 芦川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SHIZUOKA OKI DENKI KK
Oki Electric Industry Co Ltd
Original Assignee
SHIZUOKA OKI DENKI KK
Oki Electric Industry Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SHIZUOKA OKI DENKI KK, Oki Electric Industry Co Ltd filed Critical SHIZUOKA OKI DENKI KK
Priority to JP2003134249A priority Critical patent/JP2004341595A/en
Publication of JP2004341595A publication Critical patent/JP2004341595A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a signal processing system and the like that enable efficient system operation. <P>SOLUTION: The signal processing system comprises a plurality of processor elements for, according to transfer data 32 included in signals input at constant signal input periods via a bus 200, executing signal processing between the signal input periods, setting the processed transfer data 32 in signals and outputting them to the next processor element via the bus 200. The receiving processor element 11 determines the state of the sending processor element 1 according to transfer completion notification data 33 included in a signal sent from the sending signal processor in the preceding signal input period to thereby determine whether to send transfer information data 31 to the sending processor element 1. The sending processor element 1, when sent a signal including the transfer information data 31 from the receiving processor element 11, sends the signal including the transfer data 32. <P>COPYRIGHT: (C)2005,JPO&NCIPI

Description

【0001】
【発明の属する技術分野】
本発明は、例えば、音響信号等をリアルタイム信号処理するマルチプロセッサ構成のシステムでのデータ信号転送に関するものである。
【0002】
【従来の技術】
特に技術文献としては記されていないものの、複数の演算処理手段(以下、プロセッサ・エレメントという)が、例えば音波等の物理量の測定により、リアルタイムで得られたデータ信号(以下、単にデータという)の送信(以下、出力という)又は受信(以下、入力という)を行いながら、各プロセッサ・エレメントが処理していくリアルタイム信号処理システムがある。あるプロセッサ・エレメントでは、前段のプロセッサ・エレメントからデータを含む信号をバスを介して受信し、信号処理して後段のプロセッサ・エレメントへ処理したデータを含む信号を送信することを一定周期で繰り返す。
【0003】
図20は従来の信号処理システムの構成を示す図である。101及び110はプロセッサ・エレメントである。101は信号の転送元(データ出力側)のプロセッサ・エレメントであり、110は信号の転送先(データ入力側)のプロセッサ・エレメントである。以降に説明する102〜109の符号を付している手段等はプロセッサ・エレメント101に含まれるものであり、112〜119の符号を付している手段等はプロセッサ・エレメント110に含まれるものである。
【0004】
102及び112は信号処理、データ転送処理等を行うプロセッサである。103及び113はメモリである。メモリ103及び113には、転送された(入力された)データを記憶する領域である入力バッファ106及び116並びに転送する(出力する)データを記憶する領域である出力バッファ107及び117の領域が少なくとも含まれている。108及び118はバス200へのデータ出力を制御するバス制御部である。109及び119はI/Oポートである。200はデータの転送路となるバスである。
【0005】
図21はプロセッサ・エレメント101及び110間のデータの流れを表す図である。図21のように、信号処理に用いられるデータ(以下、転送データという)がプロセッサ・エレメント101からプロセッサ・エレメント110に出力される。
【0006】
図22は従来のプロセッサ・エレメントの動作を表すフローチャートである。また、図23は従来のプロセッサ・エレメントの動作タイムチャートである。次に図22及び図23に基づいてプロセッサを中心とするプロセッサ・エレメントの動作について説明する。最初に初期化を行う(S101)。そして、前段のプロセッサ・エレメント(例えばプロセッサ・エレメント110側からみるとプロセッサ・エレメント101となる)から転送データを入力するための準備を行う入力起動処理(S102)、後段のプロセッサ・エレメント(例えばプロセッサ・エレメント101側からみるとプロセッサ・エレメント110となる)に信号処理した転送データを出力するための準備を行い、出力を行う出力起動処理(S103)及び転送データを演算処理し、処理結果を算出する信号処理(S104)を行う。信号処理(S104)が終わると、次の周期における転送データ入力のための入力起動処理(S102)を行う。このようにして、入力起動処理(S102)、出力起動処理(S103)及び信号処理(S104)を繰り返し行う。ここで、プロセッサ・エレメント間で実際に転送データの入出力を行う際には、一方をマスタのプロセッサ・エレメントとし、他方をスレーブのプロセッサ・エレメントとして、マスタ側のプロセッサ・エレメントの転送起動タイミングによって転送起動し、転送元及び転送先のアドレスは固定アドレスで転送される。
【0007】
そして、マスタ側の転送データの出力、スレーブ側の転送入力が完了した際、マスタ側のプロセッサ・エレメントから転送完了の割込みが発生する。発生した割込みを受けて、それぞれのプロセッサ・エレメントは行っている処理を中断し、入力側のプロセッサ・エレメント(ここではプロセッサ・エレメント110)では入力割込み(S105)を行い、出力側のプロセッサ・エレメント(ここではプロセッサ・エレメント101)では出力割込み(S106)を行う。
【0008】
また、従来のシステムにおいては、処理するデータの時刻整合は特に行っておらず、信号処理を行う中で時刻情報のチェックのみ行われていた。これより転送障害で時刻の整合が崩れると信号処理システムの再起動で復旧させていた。
【0009】
【発明が解決しようとする課題】
このような従来の信号処理システムでの転送方法では、以下の(1)〜(4)のような問題があった。
(1) 従来の転送方法では、スレーブ側となるプロセッサ(以下、スレーブ側という)の状態に関わらず、マスタ側となるプロセッサ(以下、マスタ側という)の起動タイミングで転送起動し、割込みによってスレーブ側の状態を判別するという転送制御が行われる。このため、転送の状態によっては正常な転送が行えない場合がある。また、転送が行えなかったときのその転送に関わる情報を得るのはマスタ側の転送タイムアウト検出後の割込みによる通知で状態を確認する時である。即ち転送できなかったことがタイムアウト時間待ってから判明する。
(2) 転送元及び転送先アドレスが固定されているため、転送バッファを一時的に違うバッファアドレスに変更する等の障害処理を行うことができない。したがって、システム信頼性が低下する。
(3) 前段プロセッサの処理結果のデータを複数回データ入力して、信号処理を行うような特異な転送形態を採った場合、一度データ入力にずれが生じると複数回データ入力のデータの組み合わせがずれたままとなるので、自動復旧は不可能であった。したがって、システムを復旧するためにはシステム再起動を行わなければならず、一時的な障害であってもシステムが停止することとなり、運用効率が低下する。
(4) 複数プロセッサ・エレメントから処理結果のデータを入力し、信号処理を行うような転送形態を採った場合、複数の経路(プロセッサ・エレメント)から入力されるデータの各経路間でデータ同期がずれた(正しい組み合わせでないデータとなった)場合に同期ずれは検出できる。しかし、どの経路のデータの同期がずれて異常なのか、どの経路が正常なのかの判断を行っていないため、同期ずれ障害経路の特定ができなかった。また、異常経路のデータを用いないで正常経路のデータだけを使用してシステム運用を続けるといったことができなかった。このため、同期ずれが発生するとシステムを復旧するためにはシステム再起動を行わなければならない。したがって、システムが停止することになり運用効率が低下する。
【0010】
そこで、上記のような問題を解決して、効率的なシステムの運用ができる信号処理システムの実現が望まれていた。
【0011】
【課題を解決するための手段】
そのため、本発明に係る信号転送方法は、バスを介して一定の信号入力周期で入力される信号に含まれる処理用のデータに基づいて、信号入力周期の間に信号処理を行い、処理を行った結果のデータを信号に含め、さらに他の装置にバスを介して出力する複数の信号処理装置で構成される信号処理システムにおいて、転送先の信号処理装置が、前の信号入力周期において転送元の信号処理装置から転送される信号に含まれる転送完了通知データに基づいて、転送元の信号処理装置の状態を判断する工程と、判断した状態に基づいて、転送元の信号処理装置に転送情報データを転送するかどうかを決定する工程と、転送元の信号処理装置は、転送先の信号処理装置から転送情報データを含む信号が転送されると、処理用のデータを含む信号を転送する工程と、処理用のデータを含む信号を転送完了すると転送完了通知データを含む信号を転送する工程とを有するものである。
本発明においては、バスを介して複数の信号処理装置間で信号処理のためのデータを含む信号のやりとりを確実に行うために、転送先の信号処理装置が、転送元の信号処理装置から転送された転送完了通知データに基づいて転送元の信号処理装置の状態を判断した上で、転送情報データを含む信号を転送し、転送元の信号処理装置は、転送情報データを含む信号が転送され、両装置の間でハンドシェイクが行われて信号がやりとりできる態勢が整ってから処理用のデータを含む信号を転送する。
【0012】
また、本発明に係る信号処理システムは、バスを介して一定の信号入力周期で入力される信号に含まれる処理用のデータに基づいて、信号入力周期の間に信号処理を行い、処理を行った結果のデータを信号に含め、さらに他の装置にバスを介して出力する複数の信号処理装置で構成される信号処理システムにおいて、転送元の信号処理装置と転送先の信号処理装置との間で互いに信号を転送し、信号に含まれる制御のためのデータに基づいて互いの状態を確認した上で、処理用のデータを含む信号のやりとりを行うものである。
【0013】
【発明の実施の形態】
実施の形態1.
図1は本発明の第1の実施の形態に係る信号処理システムの構成を示す図である。1及び11は信号処理装置であるプロセッサ・エレメントである。本実施の形態では、1は信号の転送元(データ出力側、マスタ側となる)のプロセッサ・エレメントであり、11は信号の転送先(データ入力側、スレーブ側となる)のプロセッサ・エレメントである。各プロセッサ・エレメントは信号処理ノードとなる。以降に説明する2〜9の符号を付している手段等はプロセッサ・エレメント1に含まれるものであり、12〜19の符号を付している手段等はプロセッサ・エレメント11に含まれるものである。
【0014】
2及び12は、データ信号に含まれる処理用のデータ(以下、このデータ信号又はデータのことを転送データ32という)を演算し後段のプロセッサ・エレメントに転送する処理結果を算出する信号処理、各手段を制御して各種データの転送処理等を行うプロセッサである。3及び13はメモリである。メモリ3及び13は、転送完了通知データ33を記憶する領域である転送完了領域4及び14、転送情報データ31を記憶する領域である転送情報領域5及び15、転送された(入力された)信号に含まれる転送データ32を記憶する領域である入力バッファ6及び16並びに信号として転送する(出力する)転送データ32を記憶する領域である出力バッファ7及び17の領域を少なくとも有している。なお、本実施の形態では、入力バッファ6は用いないが、プロセッサ・エレメント1の前段からの転送データ32入力に用いる。また、出力バッファ17についても本実施の形態では用いないが、プロセッサ・エレメント11の後段への転送データ32出力に用いる。8及び18はバス200へのデータ出力を制御するバス制御部である。9及び19はI/Oポートである。また、200はデータの転送路となるバスである。
【0015】
本実施の形態は、データ入力側のプロセッサ・エレメント11が転送情報データ31を出力し、一方、データ出力側のプロセッサ・エレメント1が転送完了通知データ33を出力することにより、互いに制御情報のデータを出力してハンドシェイクを行った上で、正常な転送ができることを確認してから転送データ(信号)の転送を行うようにしたものである。ここでは、DMA(Direct Memory Access)によるデータ転送により、プロセッサを介さなくてもバスを介したメモリからのデータの転送を行えるものとする。したがって、データの入出力と信号処理とを並行して行うことができる。
【0016】
図2はプロセッサ・エレメント1及び11間のデータの流れを表す図である。図2のように、データ入力側のプロセッサ・エレメント11からデータ出力側のプロセッサ・エレメント1に転送情報データ31を出力する。転送情報データ31を入力したプロセッサ・エレメント1が転送データ32を出力する。そして、転送データ32の出力を完了すると、出力割込みによりプロセッサ2が割込み処理を行うとともに、転送完了通知データ33をプロセッサ・エレメント11側に出力する。
【0017】
図3はプロセッサの処理の流れを表すフローチャートである。ここではプロセッサ12を例にして説明するが、他のプロセッサでも同様の処理動作を行う。まず、メインの流れについて説明する。プロセッサ12は、信号処理を始める前にデータ処理の初期化を行う(S1)。そして、転送完了領域14に記憶された転送完了通知データ33の確認及び後段のプロセッサエレメント(図示せず)への転送情報データ31の出力からなる入力起動処理を行い、前段のプロセッサ・エレメントであるプロセッサ・エレメント1から出力される転送データ32を受け付ける(S2)。また、転送情報領域15に記憶された転送情報データ31の確認及び出力バッファ17に記憶した転送データ32の出力からなる出力起動処理を行う(S3)。更に、転送データ32を演算処理し、算出した処理結果を出力バッファ17に記憶させる信号処理(S4)を行う。信号処理(S4)を終えると、次の周期の転送データ32入力のための入力起動処理(S2)が行われる。このようにして各プロセッサは、入力起動処理(S2)、出力起動処理(S3)及び信号処理(S4)を繰り返し行う。
【0018】
ここで、プロセッサ12が上記の処理を行っている途中(ほとんどの場合は信号処理の途中)に出力割込みが入力されることがある。その場合はプロセッサ12は出力割込み処理を行い、その処理の一部として、バス制御手段18を介し、転送完了通知データ33を出力する(S5)。
【0019】
図4はプロセッサ・エレメント11の特にプロセッサ12及びバス制御手段18のタイムチャートを表す図である。ここではプロセッサ・エレメント11のプロセッサ12及びバス制御手段18について説明するが、他のプロセッサ・エレメントでも同様である。バス制御手段18はDMAチャネルを有し、プロセッサ12を介さなくてもメモリ13と入出力先との間でデータ入出力ができるものとする。したがって、プロセッサ12はバス制御手段18に指示を与える必要はあるものの、データ入出力のための時間を占有されることなく、データ処理(信号処理)を行うことができる。なお、プロセッサ・エレメント11としての周期は入力起動により開始されるが、プロセッサ12はデータ入力がされてからの時間を基準として信号処理を行うので、図4ではデータ入力時を周期の開始時としてデータ入力周期としている。
【0020】
次に図4に基づいて本実施の形態における転送処理について説明する。まず、データ入力側であるプロセッサ・エレメント11のプロセッサ12は、入力起動処理を行い、データ入力の準備をする。その際、プロセッサ・エレメント1からの転送完了通知データが転送完了領域14に存在するかどうかの確認を行う。また、入力バッファ16の準備が出来たら転送情報データ31をプロセッサ・エレメント1に出力する。
【0021】
図5は転送情報データ31のフォーマットを表す図である。本実施の形態においては、転送情報データ31は2ワードで構成されているものとする。aはノードIDであり、1ワードで構成される。システム内の各プロセッサ・エレメントに固有に与えられたIDコードである。bは入力レディであり、1ワードで構成される。入力レディbはデータ入力の受け入れ態勢にあるかどうかを判断するためのコードデータである。入力準備が整っていれば、その旨を示すコードをこの位置にセットして出力する。
【0022】
図6は転送完了通知データ33のフォーマットを表す図である。本実施の形態においては、転送完了通知データ33も2ワードで構成されているものとする。ノードIDcは転送情報データ31と同じものである。dは転送完了であり、データ転送の完了を通知するためのコードデータである。プロセッサ12は入力起動処理が終了すると、出力起動処理を行い、データ出力の準備をする。その際、図1では示していないが、プロセッサ・エレメント11の後段のプロセッサ・エレメントからの転送情報データ31が転送情報領域15に存在するかどうか確認する。
【0023】
プロセッサ12は信号処理を行い、演算した処理結果を出力バッファ17に記憶させる。信号処理を行っている間でも、必要に応じてバス制御手段18等のプロセッサ・エレメント11の他の手段に指示を出す。次のデータ入力周期では、次に処理すべき転送データ32を入出力し、新たな転送データ32を信号処理する必要があるため、信号処理は、その周期内で終わらせておく必要がある。これはプロセッサ・エレメント1をはじめとする他のプロセッサ・エレメントでも同様である。
【0024】
一方、プロセッサ・エレメント11はバス制御手段18を介し、プロセッサ・エレメント1からのデータを入力し、入力バッファ16に記憶させる。また、データ入力が終了すると、出力バッファ17に記憶された処理結果の転送データ32をバス200を介して後段のプロセッサ・エレメント(図示せず)に出力する。
【0025】
バス制御手段18はデータ出力を終了すると、プロセッサ12に対し、出力割込みをあげる。出力割込み処理の際に、プロセッサ12はバス制御手段18に転送完了通知データ33を後段のプロセッサ・エレメントに出力させる。また、転送情報領域15に保持されている転送情報データ31をクリアにして次回の転送情報データ31の入力に備える。
【0026】
以上のように、第1の実施の形態によれば、転送元のプロセッサ・エレメント1と転送先のプロセッサ・エレメント11との間で、互いの制御情報となる転送情報データ31と転送完了通知データ33とをやりとりし、ハンドシェイクを行って互いの状態が判断できた上で、それぞれのプロセッサ・エレメントが転送データ32の転送、受け入れを行うことができる。したがって、転送情報データ31が入力されていなければ、プロセッサ・エレメント1から転送データ32の出力を行わないので、正常に転送できないという状況を回避することができる。これにより、無駄なバス転送を行わなくてすみ、その分、バスの使用が控えられ、他のバス使用の要求に割り当てられるので、バスの使用効率が上がる。また、データ転送前に転送先のプロセッサ・エレメント11の状態の検出を行うことができる。
【0027】
実施の形態2.
図7は本発明の第2の実施の形態に係る信号処理システムの構成を示す図である。図7において、プロセッサ・エレメント11Aは、入力バッファ16A及び16Bの2つの入力バッファ領域を有するメモリ13Aを有している点でプロセッサ・エレメント1とは異なる。ここで、入力バッファ16Bを予備の入力バッファとする。本実施の形態では、プロセッサ・エレメント11Aのメモリ13Aだけを2つの入力バッファとなる領域を有するようにしたが、プロセッサ・エレメント1についても同様の構成にしてもよい。また、入力バッファを2領域に限らず、3以上の領域を有するようにしてもよい。
【0028】
図8は第2の実施の形態における転送情報データ31のフォーマットを表す図である。本実施の形態においては、転送情報データ31は3ワードで構成されており、どの入力バッファへのデータ入力が可能かを表す入力バッファアドレスeを有しているという点で第1の実施の形態の転送情報データ31とは異なる。
【0029】
次に動作について説明する。プロセッサ・エレメント11Aは入力起動処理の際に転送情報データ31を出力するが、その際、転送データ32を記憶する用意がある入力バッファを1つ選択する。ここで、この選択方法としては、障害があった場合だけ予備となっている入力バッファ16Bを選択するようにしてもよいし、2つの入力バッファを対等に扱い、その都度切り替えて選択するようにしてもよい。その入力バッファ領域に割り当てられたメモリ空間のアドレスを転送情報データ31に含めてプロセッサ・エレメント1に出力する。
【0030】
一方、プロセッサ・エレメント1側では、転送情報領域5に記憶された転送情報データ31に基づいて、プロセッサ・エレメント11A側が指定したアドレスを判断し、そのアドレスの入力バッファ16A又は16Bに転送データ32が記憶されるように、アドレスを指定して転送データ32を出力する。
【0031】
以上のように、第2の実施の形態によれば、データ入力側(転送先)のプロセッサ・エレメント11A側が指定した入力バッファのアドレスに基づいたデータ転送を行うようにしたので、障害等が発生し、ある入力バッファが使用できない場合であっても、別の入力バッファを指定することで、プロセッサ・エレメント間の転送データ32の転送、受け入れにおいて柔軟な対応をすることができる。また、転送情報データ31を入力バッファの切替通知として使用することで、転送元のプロセッサ・エレメント側で転送先の入力バッファの固定アドレスを記憶したり、次に転送すべき転送先の入力バッファを管理する必要がなくなる。また、データ入力側(転送先)であるプロセッサ・エレメント11Aが入力バッファの管理するようになるため、何らかの障害によって使用不可になった入力バッファを使用しないように制御することが可能となる。以上のことより、バッファ制御に関する障害において入力バッファの一部に障害が発生しても回避することができるのでシステム信頼性を向上させることができる。
【0032】
実施の形態3.
図9は本発明の第3の実施の形態に係るプロセッサ・エレメント1及び11A間のデータの流れを表す図である。システムの構成は、第2の実施の形態で説明したものと同様のものを用いるものとする。図9では転送先となるプロセッサ・エレメント11Aが1回分の信号処理及び転送データ32出力を行う間に、プロセッサ・エレメント1は転送データ32を複数回出力する(本実施の形態では2回とし、それぞれの転送データ32を32A、32Bとする)という特殊な転送動作(以下、レートダウンといい、本実施の形態のように2回入力する場合を2分周レートダウンという)を行っている。本実施の形態では、この2分周レートダウンを転送データ32出力の管理単位とする。2分周レートダウンの場合は、前段のプロセッサ・エレメントのデータ入力周期に比べてその周期が2倍になり、入力起動処理が1回行われる間に転送データ32入力が2回行われる。
【0033】
図10はプロセッサ・エレメント11Aの特にプロセッサ12のタイムチャートを表す図である。
【0034】
図11は第3の実施の形態における転送情報データ31のフォーマットを表す図である。第2の実施の形態の転送情報データ31に転送パラメータfを付加するようフォーマットを変更したものである。転送パラメータfは、例えば、通常の転送であるかレートダウンでの転送であるか等の転送形態を示すコードデータである。ここで、連続した構造の入力バッファに複数回入力される転送データ32を入力できる場合は、最初の入力バッファアドレスeを指定しておけばよいので、図11(a)のフォーマットで転送情報データ31を出力すればよい。一方、複数回入力される転送データ32がそれぞれ連続しない入力バッファに入力される場合は、図11(b)のフォーマットのように、それぞれの転送データ32を入力する複数の入力バッファアドレスeを指定して転送情報データ31を出力する。転送情報データ31を図11(a)のフォーマットで構成するか又は図11(b)のフォーマットで構成するかは、転送形態に応じて任意に決定すればよい。
【0035】
一方、データ出力側(転送元)となるプロセッサ・エレメント1のプロセッサ2は、プロセッサ・エレメント11Aからの転送情報データ31が転送情報領域5に存在するかどうかの確認を行うが、この際、転送パラメータfのコードデータに基づいて、プロセッサ・エレメント11Aへの転送データ32を2分周レートダウンで出力するものと判断する。また、入力バッファアドレスeに基づいて転送データ32を出力する入力バッファも判断する。
【0036】
その後、プロセッサ・エレメント1はバス200を介して最初の転送データ32Aを出力し、プロセッサ・エレメント11Aの入力バッファ16A又は16Bに記憶される。バス制御手段8は転送データ32A出力を終了すると、プロセッサ2に対し、出力割込みをあげ、プロセッサ2は出力割込みを受け付けると、出力割込み処理を行う。転送データ出力後には転送完了通知データは、通常ならば転送データ32Aの転送完了後の出力割込み処理でプロセッサ・エレメント11Aに出力するが、本実施の形態の2分周レートダウンのようなレートダウンにおいては、データ出力の管理単位毎に転送完了通知データ33を出力する。2分周レートダウンでは転送データ32Aを1回目出力とし、2回目出力となる転送データ32B出力後に行う出力割込み処理で転送完了通知データ33を出力する。
【0037】
図12はデータずれが発生した時の動作を説明するタイムチャートである。図12に基づいてプロセッサ・エレメント1からプロセッサ・エレメント11Aへ2分周レートダウンでデータ転送を行う場合の動作である。データの流れを表す図9で説明したように、プロセッサ・エレメント11Aのデータ入力周期内に、入力データとして転送データ32Aと転送データ32Bとの組み合わせがプロセッサ・エレメント11Aに入力される。
【0038】
図12中のプロセッサ動作タイムチャートにおいては、プロセッサ・エレメント1のデータ入力周期の1周期目はプロセッサエレメント11Aから転送情報データ31がプロセッサ・エレメント1に出力され、プロセッサ・エレメント1は転送情報データ31に基づいて、転送先のプロセッサ・エレメント11Aの入力レディbや転送パラメータfの転送形態が2分周レートダウンであることを読み取り、転送データ32Aをプロセッサ・エレメント11Aに出力する。この転送は正常に完了し、プロセッサ・エレメント11Aに入力される。
【0039】
次のプロセッサ・エレメント1のデータ入力周期の2周期目では転送データ出力で転送データ32Bが異常を起こしており、データずれが発生してプロセッサ・エレメント11Aに出力する転送データのデータ組み合わせが崩れている。このときのプロセッサ・エレメント1での出力割込みは転送異常を示し、プロセッサエレメント11Aに出力する転送完了通知通知データ33には、転送完了dのデータ転送完了コードに出力異常がセットされて出力される。プロセッサ・エレメント11Aはこの転送完了通知データ33により、今回のデータ入力周期のデータ入力が異常であることを認識する。即ち、送信元のプロセッサエレメント1が2分周レートダウンの転送形態のため2回出力毎のデータ管理を行い、転送完了通知データ33を出力する。そのため、プロセッサエレメント11A側では自らのデータ入力周期毎にデータ入力結果を通知されることになり、データずれが発生し、転送データ組み合わせが崩れたことを“今回のデータ入力周期の転送データは異常である”という形で知ることになる。プロセッサエレメント11Aはデータ組み合わせを意識せず、転送完了通知データ33によってデータ入力周期毎に転送データの正常/異常を判断する。このようにデータ入力周期毎に区切ってデータ入力状態をチェックし、転送データを扱うことで、データずれを起こしてもそのデータ入力周期だけが入力異常となり、他の周期には影響を及ぼさないように動作する。
【0040】
プロセッサエレメント1のデータ入力周期の3、4周期目は正常にデータ転送が行われ、それぞれ転送データ32A、転送データ32Bが転送され、正しい転送データの組み合わせで転送したことを示している。上記のようにプロセッサエレメント11Aは入力周期毎に区切ってデータ入力をチェックするのでデータずれを引きずることなく正常にデータが入力される。
【0041】
以上のように、第3の実施の形態によれば、転送情報データ31に転送形態を表す転送パラメータfを含め、プロセッサ・エレメント11Aからプロセッサ・エレメント1への転送情報データ31出力を転送データ32の管理単位(第3の実施の形態の場合、転送データ32を2回転送する毎)に行うようにすることで、レートダウンで転送を行う際に、転送データ32の入力のデータ組み合わせにずれが生じても、その周期の転送データ32の組み合わせだけが誤ったデータとなり、次の周期の転送データ32については、正しい組み合わせに自動的に復旧する。このため、復旧のためにシステムの再起動をする必要がなくなり、システムの運用効率の低下を防ぐことができる。
【0042】
実施の形態4.
図13は本発明の第4の実施の形態に係る信号処理システムの構成を示す図である。図13において図7と同じ図番を付しているものは、第1及び第2の実施の形態で説明したことと同様の動作を行うので説明を省略する。21はプロセッサ・エレメントである。プロセッサ・エレメント21の構成は、プロセッサ・エレメント1と同じである。ただ、バス200を同時に占有できないので、バス制御手段28による転送データ32を出力するタイミングがバス制御手段8と異なる。また、プロセッサ・エレメント1及びプロセッサ・エレメント21では、データ同期を判断するための材料となる転送データ32の時刻をカウントする。ここで、時刻とは例えば0〜nの整数の値(本実施の形態では0〜7となる。以下、時刻値という)で構成されており、これが循環する(7の次は0に戻る)ものとする。そして、信号処理し、出力を行う転送データ32の順にその時刻を対応させる。この時刻を時刻データgとして転送完了通知データ33に含めて出力する。
【0043】
図14は第4の実施の形態における転送完了通知データ33のフォーマットを表す図である。本実施の形態の転送完了通知データ33は、時刻データgを付加した3ワードで構成されているものとする。時刻データgは、上述したように0〜7の値で構成されているものとする。
【0044】
1回のデータ入力周期に複数のプロセッサ・エレメントから転送データ32の出力が行われ、それらを処理する場合(以下、この転送形態を合流という)、時刻同期がとれている正しい組み合わせで処理しなければ、後段のプロセッサ・エレメントの信号処理や、処理結果に大きな影響を及ぼすことになる。そこで、本実施の形態は、制御情報である転送完了通知データ33に時刻データを含め、転送先のプロセッサ・エレメントが、各プロセッサ・エレメントからの時刻データに基づいて、プロセッサ・エレメント又は経路での障害により同期ずれによる異常が発生していないかどうかを判断し、転送データ32の組み合わせが正しいかどうかを判断するものである。
【0045】
図15は第4の実施の形態に係るプロセッサ・エレメント1、11A及び21間のデータの流れを表す図である。プロセッサ・エレメント11A側では、プロセッサ・エレメント1及びプロセッサ・エレメント21にそれぞれ転送情報データ31を出力する。そして、プロセッサ・エレメント1及びプロセッサ・エレメント21からは、それぞれ転送データ32及び転送完了通知データ33が出力されることになる。
【0046】
図16はプロセッサ12の入力起動時の転送完了通知データ33の確認処理のフローチャートを表す図である。ここでプロセッサ12が行うメインの処理過程は図3のフローチャートのようになる。入力起動処理の際、転送完了通知データ33の確認を行うが、プロセッサ12は期待値の生成処理を開始する。期待値とは、完了通知データ確認の際、書き込まれているべき時刻データgの値のことである。ここで、時刻値は同期合わせの目的であるため0〜nまでの整数でデータ転送の度に一定値増加し、増加した値がn以上になるとその差分だけ計数するという巡回する整数値であるので、期待値も巡回する整数値となる。前回の期待値(時刻データ)Xm−1 と増分値ΔX(本実施の形態では1である)との和がn以下であれば(Xm−1 +ΔX≦n)(S11)、今回の期待値XをXm−1 +ΔXとする(S12)。n以下でなければ(nより大きければ(Xm−1 +ΔX>n))、今回の期待値XはXm−1 +ΔX−n−1とする(S13)。プロセッサ12は期待値を生成すると、期待値と時刻値とを比較し、一致するかどうかを判断する(S14)。正常な場合には時刻値と期待値とが一致するはずである。ここで同じ値でなければ同期ずれとを判断する。そして、同期ずれが発生したものと判断すればプロセッサ・エレメントのノードIDaを記憶手段13Aに記憶する(S15)。
【0047】
以上の動作をプロセッサ11Aに入力される転送データ32の全ての出力元のプロセッサエレメント(転送経路)について行ったかどうかを判断し(S16)、全ての転送経路について行っていないものと判断すると、残りの転送経路について同期ずれが発生しているかどうかを判断する。全ての転送経路について同期ずれが発生したかどうかの判断を終了し、ある転送経路について同期ずれが生じているものと判断すると(S17)、エラー処理を行う(S18)。
【0048】
図17はエラー処理のフローチャートを表す図である。まず、プロセッサ12は、記憶手段13Aに記憶したノードIDに基づいて、ノードID毎(プロセッサ・エレメント毎)の異常発生回数(同期ずれの発生回数)をカウントアップする(S18A)。そして、ノードID毎の転送データ32の異常を認識する(S18B)。実際には、信号処理を行うためのアプリケーションプログラムに対し、同期ずれの発生した転送データ32で処理が行われていることを認識させる(通知する)ものである。そして、異常発生回数があらかじめ定めたしきい値k(又はそれ以上)であるかどうかを判断する。異常発生回数がしきい値kより小さければ、そのままエラー処理を終了する。異常発生回数がしきい値k以上であると判断すると(S18C)、切り離し処理を行い(S18D)、該当するノードIDを有するプロセッサへの転送情報データ31の出力を行わないようにして、エラー処理を終了する。これにより、切り離し処理をされたプロセッサ・エレメントの転送情報領域には転送情報データ31が記憶されず、ハンドシェイクが行われないので、転送データ32を出力することができない。これにより切り離しを図る。
【0049】
また、図16において、同期ずれが生じていないと判断し、エラー処理による切り離し処理を行わなかったプロセッサ・エレメントに対しては転送情報データ31を出力し(S19)、終了する。
【0050】
図18は転送完了通知データ出力のフローチャートを表す図である。一方、転送元のプロセッサ・エレメント1又は21では、プロセッサ2又は22が出力割込み処理を行うとともに、バス制御手段8又は28は転送完了通知データ33を出力するが、その際、カウントした時刻値から時刻データgをセットする(S21)。また、データ転送が正常に完了したか、転送が異常であったか、転送データ32が異常であったかを表すコードデータのうちどれかを判断し、そのコードデータから転送完了dをセットする(S22)。そして、プロセッサが固有に有するIDコードをノードIDcとしてセットし(S23)、転送完了通知データ33をプロセッサ・エレメント11Aに出力して(S24)、終了する。ここで、他のプロセッサにバス200が占有されていれば、転送完了通知データ33の出力は待ちの状態となる。
【0051】
図19はプロセッサ・エレメント11A、1、21のタイムチャートを表す図である。ここでは、プロセッサ・エレメント1の出力処理とそれに伴うプロセッサ・エレメント11Aの入力処理について説明する。図19は2周期目、3周期目に、プロセッサ・エレメント1から出力された転送データ32が同期ずれを起こした場合の状態を表している。図19に記載されている丸数字は図10で示したものと同じである。図19及び図15〜図18のフローチャートに基づいて、特に同期ずれを起こした場合の処理についてより具体的に説明する。なお、ここでは異常発生回数のしきい値k=2とする。
【0052】
転送元のプロセッサ・エレメント1では、出力起動処理が行われる。プロセッサ・エレメント11Aからの転送情報データ31が転送情報領域15に存在するかどうかを判断する。そして、入力レディbのコードデータに基づいて、プロセッサ・エレメント11Aが受け入れ態勢にあることを確認する。また、転送パラメータfのコードデータに基づいて、転送形態が合流であると判断する。また、プロセッサ・エレメント21についても同様の出力起動処理が行われる。
【0053】
そして、プロセッサ・エレメント1のバス制御手段8により、入力バッファアドレスeに基づいて、転送データ32を出力する。転送データ32の出力が終了すると、プロセッサ2が出力割込み処理を行い、その処理の一部として、転送完了通知データ33出力処理を行う。この処理により、時刻データg、転送の状態を示す転送完了dを付加した転送完了通知データ33がプロセッサ・エレメント11Aに出力され、転送完了領域14に記憶される。正常な状態であれば、プロセッサ・エレメント1及び21について、以上のような転送データ32出力処理が周期的に行われる。
【0054】
一方、転送先となるプロセッサ・エレメント11Aは、入力起動処理時に、転送情報データ31をプロセッサ・エレメント1及び21に出力する。その際には、転送パラメータfには合流を示すコードデータを付加する。後段のプロセッサ・エレメントに対する出力起動処理を行った後、プロセッサ・エレメント1及び21から転送データ32がそれぞれ入力される。ここではプロセッサ・エレメント1から転送される転送データ32は入力バッファ16Aに、プロセッサ・エレメント21から転送される転送データ32は入力バッファ16に記憶されるものとする。転送データ32の入力が完了すると、転送完了通知データ33がそれぞれプロセッサ・エレメント1及び21から出力される。
【0055】
プロセッサ・エレメント11Aのプロセッサ12は、次回の入力起動処理の際に転送完了データの確認を行うが、その際、図16のように期待値を作成する。1周期目では、期待値はそれぞれ“0”となる。プロセッサ・エレメント1及び21からそれぞれ出力する転送完了通知データ33に含まれる時刻データgについても、それぞれ“0”であるので、期待値と時刻データgの時刻値とを比較し、一致しているので同期ずれはないものと判断する。
【0056】
2周期目については、期待値はそれぞれ“1”となる。一方、プロセッサ・エレメント1からの転送完了通知データ33に含まれる時刻データgの値は“2”である。プロセッサ12はエラー処理を行い、プロセッサ・エレメント1が有するノードIDと関連させて異常発生回数を1として記憶させる。ここでは、異常発生回数は、1<k(=2)であるので、プロセッサ2はそれを判定(判断)し、そのまま通常の処理に戻る。
【0057】
3周期目については、期待値はそれぞれ“2”となる。一方、プロセッサ・エレメント1からの転送完了通知データ33に含まれる時刻データgの値は“3”である。プロセッサ12は、2周期目と同様の処理を行うが、ここで、異常発生回数が2となり、しきい値kと同じ値になったので、プロセッサ・エレメント1への転送情報データ31の出力を停止し、プロセッサ・エレメント1の切り離し処理を行う。これにより、転送情報データ31の出力はプロセッサ・エレメント21のみに行われる。
【0058】
また、プロセッサ12では2周期目において、同期ずれを起こした転送データ32によって信号処理を行っているため、後段のプロセッサ・エレメントに対して出力する転送データ32は異常なものとなる。そこで、出力割込みの際に後段のプロセッサ・エレメントに出力する転送完了通知データ33について、時刻データgは通常に付与するものの、転送完了dは、転送データ32が異常である旨のコードデータにより出力する。
【0059】
3周期目において、切り離し処理により転送情報データ31が転送情報領域に存在しないプロセッサ・エレメント1は転送データ32の出力ができなくなる。
【0060】
以上のように、第4の実施の形態によれば、1周期内で複数のプロセッサ・エレメントからの信号を処理する合流の場合に、転送完了通知データ33に時刻データgを付加し、転送先のプロセッサ・エレメント11A側で期待値を判断し、期待値と時刻データgの値とを比較することで、同期ずれを判断し、後段のプロセッサ・エレメントに対して同期ずれ発生を通知し、ある一定の発生回数を超えた場合に切り離し処理を行うようにしたので、同期ずれが発生しても切り離し処理が実行される前に復旧するような一時的な障害の場合では、同期ずれ発生でシステムリセットすることなく、そのままシステムを運用することが可能となり、システムの運用効率の低下を防ぐことができる。また、切り離し処理が実行されるような障害が継続した場合でも、切り離し動作によって無駄な転送を発生させずバスの負荷を軽減させることができる。
【0061】
実施の形態5.
上述の実施の形態はリアルタイムで信号処理を行うことを前提に説明したが、特にリアルタイムでの信号処理でなくても本発明を適用することができる。
【0062】
【発明の効果】
以上のように本発明によれば、転送先の信号処理装置が、転送完了通知データに基づいて転送元の信号処理装置の状態を判断し、その判断に基づいて、転送元の信号処理装置に転送情報データを転送し、一方、転送元の信号処理装置は転送情報データを含む信号が転送されると、処理用のデータを含む信号を転送するようにしたので、互いにハンドシェイクを行って確実に信号のやりとりができることを確認してから正常な信号のやりとりを行える。このため、無駄なバスサイクルを発生させずにすむので、無駄なバスの占有を防ぐことができ、バスの使用効率がよくなる。また、転送元のプロセッサ・エレメントは、データ転送前に転送先のプロセッサ・エレメントの状態検出を行うことができる。
【0063】
更に本発明によれば、転送元の信号処理装置と転送先の信号処理装置との間で制御のためのデータに基づいて互いの状態を確認した上で、処理用のデータを含む信号のやりとりを行うようにしたので、互いにハンドシェイクを行って確実に信号のやりとりができることを確認してから正常な信号のやりとりを行え、異常な信号による無駄な信号の転送を防ぎ、バスの使用効率を上げることができる。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態に係る信号処理システムの構成を示す図である。
【図2】プロセッサ・エレメント1及び11間のデータの流れを表す図である。
【図3】プロセッサ2の処理の流れを表すフローチャートを表す図である。
【図4】プロセッサ・エレメント11の特にプロセッサ12及びバス制御手段18のタイムチャートを表す図である。
【図5】転送情報データ31のフォーマットを表す図である。
【図6】転送完了通知データ33のフォーマットを表す図である。
【図7】本発明の第2の実施の形態に係る信号処理システムの構成を示す図である。
【図8】第2の実施の形態における転送情報データ31のフォーマットを表す図である。
【図9】本発明の第3の実施の形態に係るプロセッサ・エレメント1及び11A間のデータの流れを表す図である。
【図10】プロセッサ・エレメント11Aの特にプロセッサ12及びバス制御手段18のタイムチャートを表す図である。
【図11】第3の実施の形態における転送情報データ31のフォーマットを表す図である。
【図12】データずれが発生した時の動作を説明するタイムチャートである。
【図13】本発明の第4の実施の形態に係る信号処理システムの構成を示す図である。
【図14】第4の実施の形態における転送完了通知データ33のフォーマットを表す図である。
【図15】第4の実施の形態に係るプロセッサ・エレメント1、11A及び21間のデータの流れを表す図である。
【図16】プロセッサ12の入力起動時の転送完了通知データ33の確認処理のフローチャートを表す図である。
【図17】エラー処理のフローチャートを表す図である。
【図18】転送完了通知データ出力のフローチャートを表す図である。
【図19】プロセッサ・エレメント11A、1、21のタイムチャートを表す図である。
【図20】従来の信号処理システムの構成を示す図である。
【図21】プロセッサ・エレメント101及び110間のデータの流れを表す図である。
【図22】従来のプロセッサ・エレメントの動作を表すフローチャートである。
【図23】従来のプロセッサ・エレメントの動作タイムチャートである。
【符号の説明】
1、11、11A、21、101、110 プロセッサ・エレメント
2、12、22、102、112 プロセッサ
3、13、13A、23、103、113 メモリ
4、14、24 転送完了領域
5、15、25 転送情報領域
6、16、16A、16B、26、106、116 入力バッファ
7、17、27、107、117 出力バッファ
8、18、28、108、118 バス制御部
9、19、29、109、119 I/Oポート
200 バス
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to, for example, data signal transfer in a multiprocessor system that performs real-time signal processing on an acoustic signal or the like.
[0002]
[Prior art]
Although not specifically described as a technical document, a plurality of arithmetic processing units (hereinafter, referred to as processor elements) are capable of converting data signals (hereinafter, simply referred to as data) obtained in real time by measuring physical quantities such as sound waves. There is a real-time signal processing system in which each processor element processes while transmitting (hereinafter, referred to as output) or receiving (hereinafter, referred to as input). In a certain processor element, a signal including data from the preceding processor element is received via the bus, signal processing is performed, and transmission of the signal including the processed data to the subsequent processor element is repeated at a constant cycle.
[0003]
FIG. 20 is a diagram showing a configuration of a conventional signal processing system. 101 and 110 are processor elements. Reference numeral 101 denotes a processor element at a signal transfer source (data output side), and reference numeral 110 denotes a processor element at a signal transfer destination (data input side). The means and the like denoted by reference numerals 102 to 109 described below are included in the processor element 101, and the means and the like denoted by reference numerals 112 to 119 are included in the processor element 110. is there.
[0004]
Processors 102 and 112 perform signal processing, data transfer processing, and the like. 103 and 113 are memories. The memories 103 and 113 include at least input buffers 106 and 116 as areas for storing transferred (input) data and output buffers 107 and 117 as areas for storing transferred (output) data. include. Numerals 108 and 118 denote bus controllers for controlling data output to the bus 200. 109 and 119 are I / O ports. Reference numeral 200 denotes a bus serving as a data transfer path.
[0005]
FIG. 21 is a diagram showing the flow of data between the processor elements 101 and 110. As shown in FIG. 21, data used for signal processing (hereinafter, referred to as transfer data) is output from the processor element 101 to the processor element 110.
[0006]
FIG. 22 is a flowchart showing the operation of a conventional processor element. FIG. 23 is an operation time chart of a conventional processor element. Next, the operation of the processor element centering on the processor will be described with reference to FIGS. First, initialization is performed (S101). Then, an input activation process (S102) for preparing to input transfer data from a preceding processor element (for example, the processor element 101 when viewed from the processor element 110 side), and a subsequent processor element (for example, a processor (Prepared to output the transfer data subjected to the signal processing to the processor element 110 when viewed from the element 101 side), an output start process (S103) for performing the output, and the transfer data are arithmetically processed, and the processing result is calculated. Signal processing (S104). When the signal processing (S104) ends, an input activation processing (S102) for inputting transfer data in the next cycle is performed. In this way, the input start processing (S102), the output start processing (S103), and the signal processing (S104) are repeatedly performed. Here, when the transfer data is actually input / output between the processor elements, one is set as the master processor element and the other is set as the slave processor element, and the transfer start timing of the master processor element is used. When the transfer is started, the source and destination addresses are transferred with fixed addresses.
[0007]
Then, when the output of the transfer data on the master side and the transfer input on the slave side are completed, a transfer completion interrupt is generated from the processor element on the master side. In response to the generated interrupt, each processor element interrupts the processing being performed, the input-side processor element (here, processor element 110) performs an input interrupt (S105), and the output-side processor element. The output interrupt (S106) is performed in the processor element 101 (here, the processor element 101).
[0008]
Further, in a conventional system, time alignment of data to be processed is not particularly performed, and only time information is checked during signal processing. Thus, when the time alignment is lost due to a transfer failure, the signal processing system is restarted to recover the time.
[0009]
[Problems to be solved by the invention]
The transfer method in such a conventional signal processing system has the following problems (1) to (4).
(1) In the conventional transfer method, the transfer is started at the start timing of the master processor (hereinafter, the master side) regardless of the state of the slave side processor (hereinafter, the slave side), and the slave is started by the interrupt. Transfer control is performed to determine the state of the device. For this reason, normal transfer may not be performed depending on the transfer state. Also, when the transfer cannot be performed, information relating to the transfer is obtained when the status is confirmed by notification by an interrupt after the transfer timeout detection on the master side. That is, it is determined that the transfer has failed after waiting for the timeout period.
(2) Since the transfer source and transfer destination addresses are fixed, failure processing such as temporarily changing the transfer buffer to a different buffer address cannot be performed. Therefore, system reliability decreases.
(3) In the case of a unique transfer mode in which the data of the processing result of the preceding processor is input a plurality of times and the signal processing is performed, if there is a shift in the data input, the combination of the data of the data input a plurality of times may occur. Automatic recovery was not possible because it remained offset. Therefore, in order to recover the system, the system must be restarted, and even if a temporary failure occurs, the system is stopped, and operation efficiency is reduced.
(4) In the case of adopting a transfer mode in which data of a processing result is input from a plurality of processor elements and signal processing is performed, data synchronization is performed between paths of data input from a plurality of paths (processor elements). If there is a shift (data that is not a correct combination), a sync shift can be detected. However, since it has not been determined which path is out of synchronization due to data synchronization error and which path is normal, it has not been possible to identify the synchronization loss failure path. Further, the system operation cannot be continued using only the data of the normal route without using the data of the abnormal route. For this reason, when a synchronization error occurs, the system must be restarted to recover the system. Therefore, the system stops, and the operation efficiency decreases.
[0010]
Therefore, it has been desired to realize a signal processing system capable of solving the above-described problems and operating the system efficiently.
[0011]
[Means for Solving the Problems]
Therefore, the signal transfer method according to the present invention performs signal processing during a signal input cycle based on processing data included in a signal input at a constant signal input cycle via a bus, and performs processing. In a signal processing system including a plurality of signal processing devices that include data obtained as a result in a signal and output the data to another device via a bus, the signal processing device of the transfer destination is configured to transmit the data in the previous signal input cycle. Determining the state of the source signal processing device based on the transfer completion notification data included in the signal transferred from the signal processing device, and transmitting the transfer information to the source signal processing device based on the determined state. The step of deciding whether or not to transfer the data and the transfer source signal processing device, when the signal including the transfer information data is transferred from the transfer destination signal processing device, transfer the signal including the processing data. A step of, and a step of transferring a signal including a transfer completion notification data and a signal including data for processing to complete the transfer.
In the present invention, in order to reliably exchange a signal including data for signal processing among a plurality of signal processing devices via a bus, a signal processing device of a transfer destination transmits a signal from a signal processing device of a transfer source. After determining the state of the transfer source signal processing device based on the transferred transfer completion notification data, the transfer source signal processing device transfers the signal including the transfer information data, and the transfer source signal processing device receives the transfer information data including the transfer information data. Then, after a handshake is performed between the two devices and a state is established in which signals can be exchanged, a signal including data for processing is transferred.
[0012]
Further, the signal processing system according to the present invention performs signal processing during a signal input cycle based on processing data included in a signal input at a constant signal input cycle via a bus, and performs processing. In a signal processing system composed of a plurality of signal processing devices that include data obtained as a result in a signal and output the data to another device via a bus, a signal processing device between a source signal processing device and a destination signal processing device Transfer the signals to each other, confirm each other's state based on the control data included in the signals, and then exchange signals including processing data.
[0013]
BEST MODE FOR CARRYING OUT THE INVENTION
Embodiment 1 FIG.
FIG. 1 is a diagram showing a configuration of a signal processing system according to a first embodiment of the present invention. 1 and 11 are processor elements which are signal processing devices. In this embodiment, reference numeral 1 denotes a signal transfer source (data output side, master side) processor element, and 11 denotes a signal transfer destination (data input side, slave side) processor element. is there. Each processor element is a signal processing node. The means and the like denoted by reference numerals 2 to 9 described below are included in the processor element 1, and the means and the like denoted by reference numerals 12 to 19 are included in the processor element 11. is there.
[0014]
Reference numerals 2 and 12 denote signal processing for calculating processing data included in the data signal (hereinafter, this data signal or data is referred to as transfer data 32) and calculating a processing result to be transferred to a subsequent processor element. It is a processor that controls means and performs various data transfer processing and the like. 3 and 13 are memories. The memories 3 and 13 include transfer completion areas 4 and 14 which are areas for storing the transfer completion notification data 33, transfer information areas 5 and 15 which are areas for storing the transfer information data 31, and transferred (input) signals. And the output buffers 7 and 17, which are areas for storing the transfer data 32 to be transferred (output) as signals. In this embodiment, the input buffer 6 is not used, but is used for inputting the transfer data 32 from the preceding stage of the processor element 1. Although the output buffer 17 is not used in this embodiment, it is used for outputting the transfer data 32 to the subsequent stage of the processor element 11. 8 and 18 are bus control units for controlling data output to the bus 200. 9 and 19 are I / O ports. Reference numeral 200 denotes a bus serving as a data transfer path.
[0015]
In this embodiment, the processor element 11 on the data input side outputs the transfer information data 31, while the processor element 1 on the data output side outputs the transfer completion notification data 33, so that the control information data Is output to perform a handshake, and after confirming that normal transfer is possible, transfer of transfer data (signal) is performed. Here, it is assumed that data can be transferred from a memory via a bus without using a processor by data transfer by DMA (Direct Memory Access). Therefore, data input / output and signal processing can be performed in parallel.
[0016]
FIG. 2 is a diagram showing a flow of data between the processor elements 1 and 11. As shown in FIG. 2, the transfer information data 31 is output from the processor element 11 on the data input side to the processor element 1 on the data output side. The processor element 1 that has received the transfer information data 31 outputs the transfer data 32. When the output of the transfer data 32 is completed, the processor 2 performs an interrupt process by an output interrupt and outputs the transfer completion notification data 33 to the processor element 11 side.
[0017]
FIG. 3 is a flowchart showing the flow of the processing of the processor. Here, the processor 12 will be described as an example, but other processors perform the same processing operation. First, the main flow will be described. The processor 12 initializes data processing before starting signal processing (S1). Then, input start processing including confirmation of the transfer completion notification data 33 stored in the transfer completion area 14 and output of the transfer information data 31 to a subsequent processor element (not shown) is performed. The transfer data 32 output from the processor element 1 is received (S2). Further, an output start-up process is performed which includes checking the transfer information data 31 stored in the transfer information area 15 and outputting the transfer data 32 stored in the output buffer 17 (S3). Further, signal processing (S4) for performing arithmetic processing on the transfer data 32 and storing the calculated processing result in the output buffer 17 is performed. When the signal processing (S4) is completed, an input activation processing (S2) for inputting the transfer data 32 in the next cycle is performed. In this way, each processor repeatedly performs the input start processing (S2), the output start processing (S3), and the signal processing (S4).
[0018]
Here, an output interrupt may be input while the processor 12 is performing the above processing (in most cases, during signal processing). In this case, the processor 12 performs an output interrupt process, and outputs the transfer completion notification data 33 via the bus control unit 18 as a part of the process (S5).
[0019]
FIG. 4 is a diagram showing a time chart of the processor element 11, particularly the processor 12 and the bus control means 18. Here, the processor 12 and the bus control means 18 of the processor element 11 will be described, but the same applies to other processor elements. The bus control means 18 has a DMA channel, and can input and output data between the memory 13 and the input / output destination without the intervention of the processor 12. Therefore, although it is necessary for the processor 12 to give an instruction to the bus control means 18, it can perform data processing (signal processing) without occupying time for data input / output. Although the cycle as the processor element 11 is started by input activation, the processor 12 performs signal processing on the basis of the time from when data is input. Therefore, in FIG. This is the data input cycle.
[0020]
Next, a transfer process according to the present embodiment will be described with reference to FIG. First, the processor 12 of the processor element 11 on the data input side performs an input activation process to prepare for data input. At this time, it is confirmed whether or not the transfer completion notification data from the processor element 1 exists in the transfer completion area 14. When the input buffer 16 is ready, the transfer information data 31 is output to the processor element 1.
[0021]
FIG. 5 is a diagram showing the format of the transfer information data 31. In the present embodiment, it is assumed that the transfer information data 31 is composed of two words. a is a node ID, which is composed of one word. This is an ID code uniquely given to each processor element in the system. b is ready for input and is composed of one word. The input ready b is code data for determining whether or not the system is ready to accept data input. If input preparation is completed, a code indicating this is set at this position and output.
[0022]
FIG. 6 is a diagram illustrating a format of the transfer completion notification data 33. In the present embodiment, it is assumed that the transfer completion notification data 33 is also composed of two words. The node IDc is the same as the transfer information data 31. d is transfer completion, which is code data for notifying the completion of data transfer. Upon completion of the input activation process, the processor 12 performs an output activation process and prepares for data output. At this time, although not shown in FIG. 1, it is confirmed whether or not the transfer information data 31 from the processor element at the subsequent stage of the processor element 11 exists in the transfer information area 15.
[0023]
The processor 12 performs signal processing, and stores the calculated processing result in the output buffer 17. Even during the signal processing, an instruction is issued to other means of the processor element 11 such as the bus control means 18 as necessary. In the next data input cycle, it is necessary to input / output the transfer data 32 to be processed next, and perform signal processing on the new transfer data 32. Therefore, the signal processing needs to be completed within that cycle. This is the same for other processor elements including the processor element 1.
[0024]
On the other hand, the processor element 11 inputs data from the processor element 1 via the bus control means 18 and stores the data in the input buffer 16. When the data input is completed, the transfer data 32 of the processing result stored in the output buffer 17 is output to the subsequent processor element (not shown) via the bus 200.
[0025]
After terminating the data output, the bus control means 18 gives an output interrupt to the processor 12. At the time of the output interrupt processing, the processor 12 causes the bus control means 18 to output the transfer completion notification data 33 to the subsequent processor element. Further, the transfer information data 31 held in the transfer information area 15 is cleared to prepare for the next input of the transfer information data 31.
[0026]
As described above, according to the first embodiment, between the transfer source processor element 1 and the transfer destination processor element 11, the transfer information data 31 and the transfer completion notification data which are control information of each other. After exchanging data 33 with each other and performing a handshake to determine each other's state, each processor element can transfer and accept the transfer data 32. Therefore, if the transfer information data 31 is not input, the transfer data 32 is not output from the processor element 1, so that a situation where transfer cannot be performed normally can be avoided. As a result, it is not necessary to perform useless bus transfer, and the use of the bus is refrained and the bus is used for another bus use request, so that the bus use efficiency is improved. Further, the state of the transfer destination processor element 11 can be detected before data transfer.
[0027]
Embodiment 2 FIG.
FIG. 7 is a diagram illustrating a configuration of a signal processing system according to the second embodiment of the present invention. 7, the processor element 11A differs from the processor element 1 in having a memory 13A having two input buffer areas of input buffers 16A and 16B. Here, the input buffer 16B is a spare input buffer. In the present embodiment, only the memory 13A of the processor element 11A has two input buffer areas. However, the processor element 1 may have the same configuration. Further, the input buffer is not limited to two areas, and may have three or more areas.
[0028]
FIG. 8 is a diagram illustrating a format of transfer information data 31 according to the second embodiment. The first embodiment is different from the first embodiment in that the transfer information data 31 is composed of three words and has an input buffer address e that indicates to which input buffer data can be input. Is different from the transfer information data 31.
[0029]
Next, the operation will be described. The processor element 11A outputs the transfer information data 31 at the time of the input activation processing. At this time, the processor element 11A selects one input buffer ready to store the transfer data 32. Here, as this selection method, a spare input buffer 16B may be selected only when there is a failure, or two input buffers may be treated equally and switched and selected each time. You may. The address of the memory space allocated to the input buffer area is included in the transfer information data 31 and output to the processor element 1.
[0030]
On the other hand, the processor element 1 determines the address specified by the processor element 11A based on the transfer information data 31 stored in the transfer information area 5, and the transfer data 32 is stored in the input buffer 16A or 16B of that address. An address is designated and the transfer data 32 is output so as to be stored.
[0031]
As described above, according to the second embodiment, since the data transfer is performed based on the address of the input buffer designated by the processor element 11A on the data input side (transfer destination), a failure occurs. Even when one input buffer cannot be used, by specifying another input buffer, it is possible to flexibly cope with the transfer and reception of the transfer data 32 between the processor elements. Further, by using the transfer information data 31 as the input buffer switching notification, the transfer source processor element can store the fixed address of the transfer destination input buffer, or can store the transfer destination input buffer to be transferred next. No need to manage. Further, since the processor element 11A on the data input side (transfer destination) manages the input buffer, it is possible to control not to use the input buffer which has become unusable due to some failure. As described above, even if a failure occurs in a part of the input buffer in the failure related to the buffer control, it is possible to avoid the failure, so that the system reliability can be improved.
[0032]
Embodiment 3 FIG.
FIG. 9 is a diagram showing a data flow between the processor elements 1 and 11A according to the third embodiment of the present invention. The configuration of the system is the same as that described in the second embodiment. In FIG. 9, while the processor element 11A serving as the transfer destination performs one signal processing and outputs the transfer data 32, the processor element 1 outputs the transfer data 32 a plurality of times (in the present embodiment, the transfer data 32 is used twice. A special transfer operation (hereinafter, referred to as a rate down, and a case of inputting twice as in the present embodiment is referred to as a rate reduction by 2) in which each transfer data 32 is referred to as 32A and 32B. In the present embodiment, the divide-by-2 rate reduction is used as a management unit of the output of the transfer data 32. In the case of the divide-by-2 rate, the period is twice as long as the data input period of the preceding processor element, and the input of the transfer data 32 is performed twice while the input activation process is performed once.
[0033]
FIG. 10 is a diagram showing a time chart of the processor element 11A, particularly the processor 12.
[0034]
FIG. 11 is a diagram illustrating a format of transfer information data 31 according to the third embodiment. The format is changed so that a transfer parameter f is added to the transfer information data 31 of the second embodiment. The transfer parameter f is, for example, code data indicating a transfer mode such as a normal transfer or a rate-down transfer. Here, if the transfer data 32 that is input a plurality of times can be input to the input buffer having a continuous structure, the first input buffer address e may be specified, and therefore the transfer information data in the format of FIG. 31 may be output. On the other hand, when the transfer data 32 that is input a plurality of times is input to the input buffer that is not continuous, a plurality of input buffer addresses e for inputting the respective transfer data 32 are specified as in the format of FIG. Then, the transfer information data 31 is output. Whether to configure the transfer information data 31 in the format of FIG. 11A or the format of FIG. 11B may be arbitrarily determined according to the transfer mode.
[0035]
On the other hand, the processor 2 of the processor element 1 serving as the data output side (transfer source) confirms whether or not the transfer information data 31 from the processor element 11A exists in the transfer information area 5. At this time, the transfer is performed. Based on the code data of the parameter f, it is determined that the transfer data 32 to the processor element 11A is to be output at a frequency-divided-by-2 rate. Further, the input buffer that outputs the transfer data 32 is also determined based on the input buffer address e.
[0036]
Thereafter, the processor element 1 outputs the first transfer data 32A via the bus 200 and is stored in the input buffer 16A or 16B of the processor element 11A. When the output of the transfer data 32A is completed, the bus control means 8 gives an output interrupt to the processor 2, and when the processor 2 receives the output interrupt, it performs an output interrupt process. After the transfer data is output, the transfer completion notification data is normally output to the processor element 11A in the output interrupt processing after the transfer of the transfer data 32A is completed. , The transfer completion notification data 33 is output for each data output management unit. In the divide-by-2 rate, the transfer data 32A is output for the first time, and the transfer completion notification data 33 is output by an output interrupt process performed after the output of the transfer data 32B, which is the second output.
[0037]
FIG. 12 is a time chart for explaining the operation when a data shift occurs. This is an operation in the case where data transfer is performed from the processor element 1 to the processor element 11A at a rate reduced by two based on FIG. As described with reference to FIG. 9 showing the data flow, a combination of the transfer data 32A and the transfer data 32B is input to the processor element 11A as input data within the data input cycle of the processor element 11A.
[0038]
In the processor operation time chart in FIG. 12, the transfer information data 31 is output from the processor element 11A to the processor element 1 during the first data input cycle of the processor element 1, and the processor element 1 receives the transfer information data 31. , Reads that the transfer mode of the input ready b and the transfer parameter f of the transfer destination processor element 11A is the divide-by-2 rate, and outputs the transfer data 32A to the processor element 11A. This transfer is completed normally and input to the processor element 11A.
[0039]
In the second cycle of the data input cycle of the processor element 1, the transfer data 32B is abnormal in the transfer data output, and a data shift occurs, and the data combination of the transfer data output to the processor element 11A is broken. I have. At this time, the output interrupt from the processor element 1 indicates a transfer error, and the transfer error notification data 33 output to the processor element 11A is output with the data transfer completion code of the transfer completion d set to the output error. . The processor element 11A recognizes from the transfer completion notification data 33 that the data input in the current data input cycle is abnormal. In other words, the processor element 1 of the transmission source performs data management for each output twice for the transfer mode of the divide-by-2 rate, and outputs the transfer completion notification data 33. For this reason, the processor element 11A is notified of the data input result for each data input cycle of the processor element 11A, and the fact that a data shift has occurred and the transfer data combination has been destroyed indicates that the transfer data of the current data input cycle is abnormal. In the form. The processor element 11A determines whether the transfer data is normal or abnormal for each data input cycle based on the transfer completion notification data 33 without being aware of the data combination. In this way, by checking the data input state for each data input cycle and handling the transfer data, even if a data shift occurs, only the data input cycle becomes an input error and does not affect other cycles. Works.
[0040]
The third and fourth cycles of the data input cycle of the processor element 1 indicate that the data transfer was normally performed, the transfer data 32A and the transfer data 32B were respectively transferred, and were transferred in a correct combination of the transfer data. As described above, the processor element 11A checks the data input for each input cycle, so that the data is normally input without dragging the data shift.
[0041]
As described above, according to the third embodiment, the output of the transfer information data 31 from the processor element 11A to the processor element 1 is included in the transfer information data 31 including the transfer parameter f indicating the transfer mode. (In the case of the third embodiment, every time the transfer data 32 is transferred twice), so that when the transfer is performed at a reduced rate, the input data combination of the transfer data 32 is shifted. Occurs, only the combination of the transfer data 32 in the cycle becomes erroneous data, and the transfer data 32 in the next cycle is automatically restored to the correct combination. For this reason, it is not necessary to restart the system for recovery, and it is possible to prevent a decrease in system operation efficiency.
[0042]
Embodiment 4 FIG.
FIG. 13 is a diagram illustrating a configuration of a signal processing system according to the fourth embodiment of the present invention. In FIG. 13, the components having the same reference numerals as those in FIG. 7 perform the same operations as those described in the first and second embodiments, and thus the description is omitted. 21 is a processor element. The configuration of the processor element 21 is the same as that of the processor element 1. However, since the bus 200 cannot be occupied at the same time, the timing at which the bus control means 28 outputs the transfer data 32 is different from that of the bus control means 8. Further, the processor element 1 and the processor element 21 count the time of the transfer data 32, which is a material for determining data synchronization. Here, the time is constituted by, for example, an integer value of 0 to n (0 to 7 in the present embodiment; hereinafter, referred to as a time value), and circulates (the value of 7 returns to 0 after 7). Shall be. Then, the time is made to correspond to the order of the transfer data 32 to be processed and output. This time is included in the transfer completion notification data 33 and output as time data g.
[0043]
FIG. 14 is a diagram illustrating a format of the transfer completion notification data 33 according to the fourth embodiment. It is assumed that the transfer completion notification data 33 of the present embodiment is composed of three words to which time data g is added. The time data g is assumed to be composed of values of 0 to 7 as described above.
[0044]
When the transfer data 32 is output from a plurality of processor elements in one data input cycle, and the transfer data 32 is processed (hereinafter, this transfer form is referred to as "merging"), the transfer data 32 must be processed in a correct combination with time synchronization. For example, the signal processing of the subsequent processor element and the processing result are greatly affected. Therefore, in the present embodiment, the transfer completion notification data 33 that is control information includes time data, and the transfer destination processor element determines whether or not the transfer destination processor element is in the processor element or path based on the time data from each processor element. It is determined whether or not an abnormality due to a synchronization shift has occurred due to a failure, and whether or not the combination of the transfer data 32 is correct.
[0045]
FIG. 15 is a diagram illustrating the flow of data among the processor elements 1, 11A and 21 according to the fourth embodiment. The processor element 11A outputs the transfer information data 31 to the processor element 1 and the processor element 21, respectively. Then, the transfer data 32 and the transfer completion notification data 33 are output from the processor element 1 and the processor element 21, respectively.
[0046]
FIG. 16 is a diagram illustrating a flowchart of a process of confirming the transfer completion notification data 33 at the time of input activation of the processor 12. Here, the main processing performed by the processor 12 is as shown in the flowchart of FIG. At the time of the input activation processing, the transfer completion notification data 33 is checked, but the processor 12 starts the processing of generating the expected value. The expected value is the value of the time data g to be written when confirming the completion notification data. Here, the time value is a cyclic integer value that is an integer from 0 to n and is incremented by a constant value every time data is transferred, and is counted by the difference when the increased value becomes n or more because it is for synchronization purposes. Therefore, the expected value is also a circulating integer value. Previous expected value (time data) X m-1 And the sum of the increment value ΔX (which is 1 in the present embodiment) is n or less (X m-1 + ΔX ≦ n) (S11), current expected value X m To X m-1 + ΔX (S12). If not less than n (if greater than n, (X m-1 + ΔX> n)), the current expected value X m Is X m-1 + ΔX−n−1 (S13). After generating the expected value, the processor 12 compares the expected value with the time value and determines whether they match (S14). If normal, the time value should match the expected value. Here, if the values are not the same, it is determined that the synchronization has been lost. If it is determined that a synchronization shift has occurred, the node IDa of the processor element is stored in the storage unit 13A (S15).
[0047]
It is determined whether or not the above operation has been performed for all output-source processor elements (transfer paths) of the transfer data 32 input to the processor 11A (S16). It is determined whether or not a synchronization shift has occurred with respect to the transfer path. When the determination as to whether or not synchronization has occurred in all transfer paths is completed, and it is determined that synchronization has occurred in a certain transfer path (S17), error processing is performed (S18).
[0048]
FIG. 17 is a diagram illustrating a flowchart of the error processing. First, the processor 12 counts up the number of times of occurrence of an abnormality (the number of occurrences of synchronization deviation) for each node ID (for each processor element) based on the node ID stored in the storage unit 13A (S18A). Then, an abnormality of the transfer data 32 for each node ID is recognized (S18B). Actually, the application program for performing the signal processing is made to recognize (notify) that the processing is performed by the transfer data 32 in which the synchronization shift has occurred. Then, it is determined whether or not the number of occurrences of the abnormality is a predetermined threshold value k (or more). If the number of occurrences of the abnormality is smaller than the threshold value k, the error processing ends. If it is determined that the number of times of occurrence of the abnormality is equal to or larger than the threshold value k (S18C), the disconnection process is performed (S18D), and the transfer information data 31 is not output to the processor having the corresponding node ID, so that the error processing is performed. To end. As a result, the transfer information data 31 is not stored in the transfer information area of the processor element subjected to the disconnection processing, and the handshake is not performed, so that the transfer data 32 cannot be output. In this way, separation is attempted.
[0049]
Further, in FIG. 16, it is determined that no synchronization shift has occurred, and the transfer information data 31 is output to the processor element for which the disconnection processing by the error processing has not been performed (S19), and the processing ends.
[0050]
FIG. 18 is a diagram illustrating a flowchart of the transfer completion notification data output. On the other hand, in the transfer-source processor element 1 or 21, the processor 2 or 22 performs the output interruption processing, and the bus control means 8 or 28 outputs the transfer completion notification data 33. The time data g is set (S21). Further, it determines which one of the code data indicating whether the data transfer is completed normally, the transfer is abnormal, or the transfer data 32 is abnormal, and sets the transfer completion d from the code data (S22). Then, the ID code inherent to the processor is set as the node IDc (S23), the transfer completion notification data 33 is output to the processor element 11A (S24), and the process ends. Here, if the bus 200 is occupied by another processor, the output of the transfer completion notification data 33 is in a waiting state.
[0051]
FIG. 19 is a diagram showing a time chart of the processor elements 11A, 1 and 21. Here, the output process of the processor element 1 and the accompanying input process of the processor element 11A will be described. FIG. 19 shows a state in which the transfer data 32 output from the processor element 1 is out of synchronization in the second and third cycles. The circled numbers described in FIG. 19 are the same as those shown in FIG. Based on the flowcharts of FIG. 19 and FIGS. 15 to 18, the processing in a case where a synchronization error has occurred will be described more specifically. Here, it is assumed that the threshold value k of the number of times of occurrence of abnormality is k = 2.
[0052]
In the transfer source processor element 1, an output activation process is performed. It is determined whether the transfer information data 31 from the processor element 11A exists in the transfer information area 15. Then, based on the code data of the input ready b, it is confirmed that the processor element 11A is ready to accept. Further, based on the code data of the transfer parameter f, it is determined that the transfer mode is the merge. A similar output activation process is performed for the processor element 21.
[0053]
Then, the transfer data 32 is output by the bus control means 8 of the processor element 1 based on the input buffer address e. When the output of the transfer data 32 is completed, the processor 2 performs an output interrupt process, and performs a transfer completion notification data 33 output process as a part of the process. By this processing, the transfer completion notification data 33 to which the time data g and the transfer completion d indicating the transfer state are added is output to the processor element 11A and stored in the transfer completion area 14. If the state is normal, the output processing of the transfer data 32 as described above is periodically performed for the processor elements 1 and 21.
[0054]
On the other hand, the processor element 11A serving as the transfer destination outputs the transfer information data 31 to the processor elements 1 and 21 during the input activation processing. At this time, code data indicating the merge is added to the transfer parameter f. After performing the output activation process for the subsequent processor element, the transfer data 32 is input from the processor elements 1 and 21, respectively. Here, the transfer data 32 transferred from the processor element 1 is stored in the input buffer 16A, and the transfer data 32 transferred from the processor element 21 is stored in the input buffer 16. When the input of the transfer data 32 is completed, the transfer completion notification data 33 is output from the processor elements 1 and 21, respectively.
[0055]
The processor 12 of the processor element 11A checks the transfer completion data at the time of the next input activation processing, and at this time, creates an expected value as shown in FIG. In the first cycle, the expected values are each “0”. Since the time data g included in the transfer completion notification data 33 output from the processor elements 1 and 21 is also “0”, the expected value and the time value of the time data g are compared and coincide with each other. Therefore, it is determined that there is no out-of-sync.
[0056]
For the second cycle, the expected values are “1”, respectively. On the other hand, the value of the time data g included in the transfer completion notification data 33 from the processor element 1 is “2”. The processor 12 performs error processing, and stores the number of times of occurrence of abnormality as 1 in association with the node ID of the processor element 1. In this case, since the number of occurrences of the abnormality is 1 <k (= 2), the processor 2 determines (determines) it, and returns to the normal processing as it is.
[0057]
For the third cycle, the expected values are each “2”. On the other hand, the value of the time data g included in the transfer completion notification data 33 from the processor element 1 is “3”. The processor 12 performs the same processing as in the second cycle. However, since the number of times of occurrence of the abnormality becomes 2 and becomes the same value as the threshold value k, the output of the transfer information data 31 to the processor element 1 is performed. It stops and performs the disconnection processing of the processor element 1. Thus, the output of the transfer information data 31 is performed only to the processor element 21.
[0058]
Further, in the processor 12, in the second cycle, the signal processing is performed using the transfer data 32 in which the synchronization shift has occurred, so that the transfer data 32 output to the subsequent processor element becomes abnormal. Therefore, regarding the transfer completion notification data 33 output to the subsequent processor element at the time of the output interrupt, the time data g is normally added, but the transfer completion d is output by code data indicating that the transfer data 32 is abnormal. I do.
[0059]
In the third period, the processor element 1 whose transfer information data 31 does not exist in the transfer information area cannot output the transfer data 32 due to the separation processing.
[0060]
As described above, according to the fourth embodiment, the time data g is added to the transfer completion notification data 33 in the case of merging to process signals from a plurality of processor elements within one cycle, and The processor element 11A determines the expected value, compares the expected value with the value of the time data g, determines the synchronization deviation, and notifies the subsequent processor element of the occurrence of the synchronization deviation. Since the disconnection process is performed when the number of occurrences exceeds a certain number of times, in the case of a temporary failure that recovers before the disconnection process is executed even if a synchronization loss occurs, the system will be The system can be operated as it is without resetting, and a decrease in the operation efficiency of the system can be prevented. Further, even when a failure such as the disconnection process continues, the load on the bus can be reduced without causing useless transfer by the disconnection operation.
[0061]
Embodiment 5 FIG.
Although the above embodiments have been described on the assumption that signal processing is performed in real time, the present invention can be applied even to signal processing not in real time.
[0062]
【The invention's effect】
As described above, according to the present invention, the transfer destination signal processing device determines the state of the transfer source signal processing device based on the transfer completion notification data, and based on the determination, the transfer source signal processing device The transfer information data is transferred, and when the signal containing the transfer information data is transferred, the transfer source signal processing device transfers the signal containing the data for processing. After confirming that a signal can be exchanged, a normal signal can be exchanged. For this reason, it is not necessary to generate a useless bus cycle, so that useless use of the bus can be prevented, and the bus use efficiency is improved. Further, the transfer source processor element can detect the state of the transfer destination processor element before data transfer.
[0063]
Further, according to the present invention, after confirming each other's state based on control data between the transfer source signal processing device and the transfer destination signal processing device, exchange of signals including processing data is performed. So that handshake is performed with each other to confirm that signals can be exchanged reliably before normal signals can be exchanged, unnecessary signal transfer due to abnormal signals is prevented, and bus use efficiency is reduced. Can be raised.
[Brief description of the drawings]
FIG. 1 is a diagram illustrating a configuration of a signal processing system according to a first embodiment of the present invention.
FIG. 2 is a diagram showing a flow of data between processor elements 1 and 11;
FIG. 3 is a diagram illustrating a flowchart illustrating a flow of a process of a processor 2.
FIG. 4 is a diagram showing a time chart of the processor element 11, in particular, the processor 12 and the bus control means 18.
FIG. 5 is a diagram illustrating a format of transfer information data 31.
FIG. 6 is a diagram illustrating a format of transfer completion notification data 33.
FIG. 7 is a diagram illustrating a configuration of a signal processing system according to a second embodiment of the present invention.
FIG. 8 is a diagram illustrating a format of transfer information data 31 according to the second embodiment.
FIG. 9 is a diagram showing a data flow between processor elements 1 and 11A according to a third embodiment of the present invention.
FIG. 10 is a diagram showing a time chart of the processor element 11A, particularly the processor 12 and the bus control means 18.
FIG. 11 is a diagram illustrating a format of transfer information data 31 according to the third embodiment.
FIG. 12 is a time chart illustrating an operation when a data shift occurs.
FIG. 13 is a diagram illustrating a configuration of a signal processing system according to a fourth embodiment of the present invention.
FIG. 14 is a diagram illustrating a format of transfer completion notification data 33 according to the fourth embodiment.
FIG. 15 is a diagram showing a data flow between processor elements 1, 11A and 21 according to a fourth embodiment.
16 is a diagram illustrating a flowchart of a process of confirming transfer completion notification data 33 at the time of input activation of the processor 12. FIG.
FIG. 17 is a diagram illustrating a flowchart of an error process.
FIG. 18 is a diagram illustrating a flowchart of output of transfer completion notification data.
FIG. 19 is a diagram showing a time chart of the processor elements 11A, 1, 21;
FIG. 20 is a diagram showing a configuration of a conventional signal processing system.
FIG. 21 is a diagram showing a flow of data between processor elements 101 and 110.
FIG. 22 is a flowchart showing the operation of a conventional processor element.
FIG. 23 is an operation time chart of a conventional processor element.
[Explanation of symbols]
1, 11, 11A, 21, 101, 110 processor elements
2, 12, 22, 102, 112 processors
3, 13, 13A, 23, 103, 113 Memory
4, 14, 24 Transfer complete area
5, 15, 25 Transfer information area
6, 16, 16A, 16B, 26, 106, 116 input buffer
7, 17, 27, 107, 117 output buffer
8, 18, 28, 108, 118 Bus control unit
9, 19, 29, 109, 119 I / O ports
200 bus

Claims (6)

バスを介して一定の信号入力周期で入力される信号に含まれる処理用のデータに基づいて、信号入力周期の間に信号処理を行い、処理を行った結果のデータを信号に含め、さらに他の装置にバスを介して出力する複数の信号処理装置で構成されるシステムにおいて、
転送先の信号処理装置が、前の信号入力周期において転送元の信号処理装置から転送される信号に含まれる転送完了通知データに基づいて、前記転送元の信号処理装置の状態を判断する工程と、
前記判断した状態に基づいて、前記転送元の信号処理装置に転送情報データを転送するかどうかを決定する工程と、
前記転送元の信号処理装置は、前記転送先の信号処理装置から転送情報データを含む信号が転送されると、前記処理用のデータを含む信号を転送する工程と、
前記処理用のデータを含む信号を転送完了すると前記転送完了通知データを含む信号を転送する工程と
を有することを特徴とする信号転送方法。
The signal processing is performed during the signal input cycle based on the processing data included in the signal input at a constant signal input cycle via the bus, and the data resulting from the processing is included in the signal. In a system composed of a plurality of signal processing devices that output to a device via a bus,
A step in which the transfer destination signal processing device determines the state of the transfer source signal processing device based on transfer completion notification data included in a signal transferred from the transfer source signal processing device in the previous signal input cycle. ,
A step of determining whether to transfer transfer information data to the transfer source signal processing device based on the determined state,
The signal processing device of the transfer source, when a signal including transfer information data is transferred from the signal processing device of the transfer destination, a step of transferring a signal including the data for processing,
Transferring the signal including the transfer completion notification data when the transfer of the signal including the processing data is completed.
バスを介して一定の信号入力周期で入力される信号に含まれる処理用のデータに基づいて、信号入力周期の間に信号処理を行い、処理を行った結果のデータを信号に含め、さらに他の装置にバスを介して出力する複数の信号処理装置で構成される信号処理システムにおいて、
転送元の信号処理装置と転送先の信号処理装置との間で互いに信号を転送し、前記信号に含まれる制御のためのデータに基づいて互いの状態を確認した上で、前記処理用のデータを含む信号のやりとりを行うことを特徴とする信号処理システム。
The signal processing is performed during the signal input cycle based on the processing data included in the signal input at a constant signal input cycle via the bus, and the data resulting from the processing is included in the signal. In a signal processing system composed of a plurality of signal processing devices that output to a device via a bus,
A signal is transferred between the signal processing device of the transfer source and the signal processing device of the transfer destination, and after confirming each other's state based on the control data included in the signal, the data for processing is processed. A signal processing system for exchanging signals including:
バスを介して一定の信号入力周期で入力される信号に含まれる処理用のデータに基づいて、信号入力周期の間に信号処理を行い、処理を行った結果のデータを信号に含め、さらに他の装置にバスを介して出力する複数の信号処理装置で構成される信号処理システムにおいて、
転送先の信号処理装置は、前の信号入力周期において転送元の信号処理装置から転送される信号に含まれる転送完了通知データに基づいて、前記転送元の信号処理装置の状態を判断して、前記転送元の信号処理装置に転送情報データを転送するかどうかを決定し、
前記転送元の信号処理装置は、前記転送先の信号処理装置から転送情報データを含む信号が転送されると、前記処理用のデータを含む信号を転送し、転送が完了した後に前記転送完了通知データを含む信号を転送することを特徴とする信号処理システム。
The signal processing is performed during the signal input cycle based on the processing data included in the signal input at a constant signal input cycle via the bus, and the data resulting from the processing is included in the signal. In a signal processing system composed of a plurality of signal processing devices that output to a device via a bus,
The destination signal processing device determines the state of the source signal processing device based on the transfer completion notification data included in the signal transferred from the source signal processing device in the previous signal input cycle, Determine whether to transfer the transfer information data to the transfer source signal processing device,
The transfer source signal processing device, when a signal including transfer information data is transferred from the transfer destination signal processing device, transfers the signal including the processing data, and after the transfer is completed, the transfer completion notification A signal processing system for transferring a signal including data.
前記信号処理装置が、転送された前記処理用のデータを一時的に記憶する領域を複数有する場合に、
前記転送先の信号処理装置は、前記処理用のデータを記憶する領域を指定するためのデータを前記転送情報データに含めて転送することを特徴とする請求項3記載の信号処理システム。
When the signal processing device has a plurality of areas for temporarily storing the transferred data for processing,
4. The signal processing system according to claim 3, wherein the transfer destination signal processing device includes data for designating an area for storing the data for processing included in the transfer information data and transfers the data.
前記転送先の信号処理装置は、前記処理用のデータを含む信号を転送する転送形態を指定するためのデータを前記転送情報データに含めて転送することを特徴とする請求項3記載の信号処理システム。4. The signal processing apparatus according to claim 3, wherein the transfer destination signal processing device includes data for designating a transfer mode for transferring the signal including the processing data, included in the transfer information data, and transfers the signal. system. 複数の前記転送元の処理装置から転送された複数の前記処理用のデータを含む信号を前記転送先の信号処理装置が受信して信号処理を行う転送形態において、
前記複数の転送元の処理装置は、各周期において転送する前記処理用のデータを含む信号に時刻となる番号を付して転送し、
前記転送先の信号処理装置は、前記番号に基づいて各処理用のデータの組み合わせが正しいかどうかを判断し、組み合わせが正しくなければ同期ずれを発生させた信号経路を特定し、あらかじめ定めた回数だけ前記信号経路からの同期ずれを判断すると、前記信号経路からの前記処理用のデータを含む信号転送を停止させることを特徴とする請求項3記載の信号処理システム。
In a transfer mode in which the signal processing device of the transfer destination receives a signal including the plurality of data for processing transferred from the plurality of transfer source processing devices and performs signal processing,
The plurality of transfer-source processing devices transfer a signal including the data for processing to be transferred in each cycle with a number indicating a time, and transfer the signal.
The transfer destination signal processing device determines whether the combination of the data for each processing is correct based on the number, and if the combination is not correct, specifies the signal path that has caused the synchronization shift, and determines the predetermined number of times. 4. The signal processing system according to claim 3, wherein the signal transfer including the processing data from the signal path is stopped when the synchronization deviation from the signal path is determined.
JP2003134249A 2003-05-13 2003-05-13 Signal transfer method and signal processing system Pending JP2004341595A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003134249A JP2004341595A (en) 2003-05-13 2003-05-13 Signal transfer method and signal processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003134249A JP2004341595A (en) 2003-05-13 2003-05-13 Signal transfer method and signal processing system

Publications (1)

Publication Number Publication Date
JP2004341595A true JP2004341595A (en) 2004-12-02

Family

ID=33524864

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003134249A Pending JP2004341595A (en) 2003-05-13 2003-05-13 Signal transfer method and signal processing system

Country Status (1)

Country Link
JP (1) JP2004341595A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012145990A (en) * 2011-01-07 2012-08-02 I-Cubed Research Center Inc Integrated circuit and signal processing method
CN103198046A (en) * 2011-12-28 2013-07-10 富士通株式会社 Information processing apparatus and control method
JP2014197402A (en) * 2014-05-26 2014-10-16 富士通株式会社 Information processor, control method and control program

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012145990A (en) * 2011-01-07 2012-08-02 I-Cubed Research Center Inc Integrated circuit and signal processing method
CN103198046A (en) * 2011-12-28 2013-07-10 富士通株式会社 Information processing apparatus and control method
JP2013140445A (en) * 2011-12-28 2013-07-18 Fujitsu Ltd Information processing apparatus, control method and control program
US9065706B2 (en) 2011-12-28 2015-06-23 Fujitsu Limited Information processing apparatus, computer-readable recording medium, and control method
CN103198046B (en) * 2011-12-28 2015-10-28 富士通株式会社 Information processor and control method therefor
JP2014197402A (en) * 2014-05-26 2014-10-16 富士通株式会社 Information processor, control method and control program

Similar Documents

Publication Publication Date Title
JP5549574B2 (en) Parallel computer system, synchronization device, and control method for parallel computer system
JP2009540436A (en) SAS expander to isolate obstacles
JP2006195821A (en) Method for controlling information processing system, information processing system, direct memory access controller, and program
JP2017068345A (en) Bus system
WO2006114822A1 (en) Dma controller, node, data transfer control method, and program
CN103678031A (en) Double 2-vote-2 redundant system and method
WO2010073352A1 (en) Data communication system and data communication device
JP5358310B2 (en) Input / output management method and input / output unit integrated dual station apparatus in input / output unit integrated dual station apparatus
JP2004341595A (en) Signal transfer method and signal processing system
JP2006174422A (en) Communication apparatus and fault notification method
US7043574B2 (en) Computer system and frame transmitting method
JP4541241B2 (en) Plant control system
JP4704252B2 (en) Network system broadcast processing method and network system
JP2006338374A (en) Network connection management device and network connection management method
EP1988469B1 (en) Error control device
US9959173B2 (en) Node, arithmetic processing device, and arithmetic processing method
JP2004013723A (en) Device and method for fault recovery of information processing system adopted cluster configuration using shared memory
JP5274679B2 (en) Data communication system and data communication apparatus
JP2002312333A (en) Multiprocessor initializing/parallel diagnosing method
JP4220430B2 (en) Redundant network control system
JP4286610B2 (en) Plant monitoring and control system
JP2848442B2 (en) Arbitrary message data discrimination method
JP5965160B2 (en) Data synchronization system, operation computer, and standby computer
JP4863095B2 (en) Multi-node computer system and inter-node connection device
JP3033500B2 (en) Multiprocessor system initialization control apparatus and method

Legal Events

Date Code Title Description
A621 Written request for application examination

Effective date: 20060202

Free format text: JAPANESE INTERMEDIATE CODE: A621

A977 Report on retrieval

Effective date: 20080709

Free format text: JAPANESE INTERMEDIATE CODE: A971007

A131 Notification of reasons for refusal

Effective date: 20080715

Free format text: JAPANESE INTERMEDIATE CODE: A131

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080916

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090428