リング状にバス接続されている複数の通信手段を備え、前記通信手段の各々はそれぞれ所定の処理を実行する処理手段に接続され、前記通信手段の各々は接続された前記処理手段が処理を実行した後のデータを、パケットとして前記バスへ送出し、予め定めた順序で前記処理手段の間のデータの受け渡し及び処理を実行する情報処理装置であって、前記複数の通信手段のうちの少なくとも1つの通信手段は、接続されている処理手段が処理を保留すると、処理の保留を示す値を含めたパケットを生成する生成手段と、前記生成手段が前記処理の保留を示す値を含めたパケットを生成したか否かを示す情報を記憶する記憶手段と、を備えることを特徴とする情報処理装置。前記少なくとも1つの通信手段は、受信したパケットに処理の保留を示す情報が含まれており、前記記憶手段に記憶されている情報が前記生成手段により前記処理の保留を示す値を含めたパケットを生成していないことを示す場合に、当該パケットをそのまま前記バスへ送出する、ことを特徴とする請求項1に記載の情報処理装置。前記少なくとも1つの通信手段は、受信したパケットに処理の保留を示す情報が含まれ、前記記憶手段に記憶されている情報が前記生成手段が前記処理の保留を示す値を含めたパケットを生成していないことを示す場合であって、接続されている前記処理手段が当該パケットに含まれるデータに対する処理を実行すべきである場合、当該データを処理手段に出力すると共に、前記パケットをそのまま前記バスへ送出する、ことを特徴とする請求項2に記載の情報処理装置。前記少なくとも1つの通信手段は、受信したパケットに処理の保留を示す情報が含まれている場合で、前記記憶手段に記憶されている情報が前記生成手段が前記処理の保留を示す値を含めたパケットを生成したことを示していた場合、当該パケットに含まれるデータを処理手段に出力すると共に、当該パケットを無効として前記バスへ送出する、ことを特徴とする請求項1から3のいずれか1項に記載の情報処理装置。前記少なくとも1つの通信手段は、受信したパケットに処理の保留を示す情報が含まれている場合で、前記記憶手段に記憶されている情報が前記生成手段が前記処理の保留を示す値を含めたパケットを生成したことを示していた場合、当該パケットに含まれるデータを処理手段に出力すると共に、当該パケットの処理の保留を示す情報を無効として前記バスへ送出する、ことを特徴とする請求項1から3のいずれか1項に記載の情報処理装置。前記生成手段が前記処理の保留を示す値を含めたパケットを生成したか否かを示す情報は、前記少なくとも1つの通信手段が生成した処理の保留を示す値を含むパケットであって、処理されずに残っているパケットの個数であり、前記記憶手段は、当該個数をカウントするカウンタであることを特徴とする請求項1から5のいずれか1項に記載の情報処理装置。前記少なくとも1つの通信手段は、処理されずに残っているパケットの個数が0より大きいときに処理の保留を示す情報を含むパケットを受信した場合であって、接続されている前記処理手段が当該パケットに含まれるデータを処理した場合、前記カウンタの値を1だけ減算することを特徴とする請求項6に記載の情報処理装置。前記少なくとも1つの通信手段は、データの入力を開始する際に前記カウンタの値を0とする、ことを特徴とする請求項6又は7に記載の情報処理装置。前記少なくとも1つの通信手段は、受信したパケットに処理の保留を示す情報が含まれていると共に前記記憶手段に記憶されている情報が前記生成手段が前記処理の保留を示す値を含めたパケットを生成したことを示していた場合、又は、受信したパケットに処理の保留を示す情報が含まれていない場合にのみ、前記処理の保留を示す情報を有効から無効へ、又は無効から有効へと変更することが許可される、ことを特徴とする、請求項1から8のいずれか1項に記載の情報処理装置。リング状にバス接続されている複数の通信手段を備え、前記通信手段の各々はそれぞれ所定の処理を実行する処理手段に接続され、前記通信手段の各々は接続された前記処理手段が処理を実行した後のデータを、パケットとして前記バスへ送出し、予め定めた順序で前記処理手段の間のデータの受け渡し及び処理を実行する情報処理装置であって、前記複数の通信手段のうちの少なくとも1つの通信手段は、接続されている処理手段を特定する情報を記憶する記憶手段と、前記接続されている処理手段が処理を保留した場合、当該処理手段を特定する前記情報を含めたパケットを生成する生成手段と、を備えることを特徴とする情報処理装置。前記少なくとも1つの通信手段は、受信したパケットに処理手段を特定する情報が含まれており、当該情報と前記記憶手段に記憶された前記処理手段を特定する情報とが一致しない場合に、当該パケットをそのまま前記バスへ送出する、ことを特徴とする請求項10に記載の情報処理装置。前記少なくとも1つの通信手段は、受信したパケットに処理手段を特定する情報が含まれていると共に当該情報と前記記憶手段に記憶された前記処理手段を特定する情報とが一致する場合、又は受信したパケットに処理手段を特定する情報が含まれていない場合にのみ、処理手段を特定する前記情報が含まれていないパケットに当該情報を含め、処理手段を特定する前記情報が含まれているパケットから当該情報を消去することが許可される、ことを特徴とする請求項10又は11に記載の情報処理装置。リング状にバス接続されている複数の通信手段を備え、前記通信手段の各々はそれぞれ所定の処理を実行する処理手段に接続され、前記通信手段の各々は接続された前記処理手段が処理を実行した後のデータを、パケットとして前記バスへ送出し、予め定めた順序で前記処理手段の間のデータの受け渡し及び処理を実行する情報処理装置における通信方法であって、前記複数の通信手段のうち少なくとも1つの通信手段において、生成手段が、接続されている処理手段が処理を保留した場合、処理の保留を示す値を含めたパケットを生成する生成工程と、記憶手段が、前記生成工程において、前記処理の保留を示す値を含めたパケットを生成したか否かを示す情報を記憶する記憶工程と、を備えることを特徴とする通信方法。リング状にバス接続されている複数の通信手段を備え、前記通信手段の各々はそれぞれ所定の処理を実行する処理手段に接続され、前記通信手段の各々は接続された前記処理手段が処理を実行した後のデータを、パケットとして前記バスへ送出し、予め定めた順序で前記処理手段の間のデータの受け渡し及び処理を実行し、前記複数の通信手段のうち少なくとも1つの通信手段が接続された前記処理手段を特定する情報を記憶する記憶手段を備える情報処理装置における通信方法であって、前記少なくとも1つの通信手段において、生成手段が、接続されている処理手段が処理を保留した場合、前記処理手段を特定する前記情報を含めた前記パケットを生成する生成工程を備える、ことを特徴とする通信方法。請求項13または14に記載の通信方法の各工程をコンピュータに実行させるためのプログラム。しかしながら、処理A→B→Cのパイプライン処理において2つの処理A→B、A→Cを同時に行うような分岐処理を行う際に、一方の処理モジュールでパケットを処理せずに保留した場合、保留したモジュールを特定できない。このため、保留されたパケットが、正しいタイミングで消去されず、リングバス上に停滞してしまうという課題があった。また、保留されたパケットが、当該パケットに含まれるデータを処理すべき他の処理モジュールが処理する前に消去されてしまうことにより、それ以降のパケットの処理が不能となり、リングバスがデッドロックしてしまうという課題があった。本発明は、複数の処理部をリング状バスに接続したデータパス制御機構において、分岐処理をデータが欠落するとなく実行する技術を提供することを目的とする。上記目的を達成するため、本発明による情報処理装置は、リング状にバス接続されている複数の通信手段を備え、前記通信手段の各々はそれぞれ所定の処理を実行する処理手段に接続され、前記通信手段の各々は接続された前記処理手段が処理を実行した後のデータを、パケットとして前記バスへ送出し、予め定めた順序で前記処理手段の間のデータの受け渡し及び処理を実行する情報処理装置であって、前記複数の通信手段のうちの少なくとも1つの通信手段は、接続されている処理手段が処理を保留すると、処理の保留を示す値を含めたパケットを生成する生成手段と、前記生成手段が前記処理の保留を示す値を含めたパケットを生成したか否かを示す情報を記憶する記憶手段と、を備えることを特徴とする。本発明によれば、複数の処理部をリング状バスに接続したデータパス制御機構において、分岐処理をデータが欠落するとなく実行することができる情報処理装置、通信方法、およびプログラムを提供することができる。以下、添付図面を参照して本発明の実施の形態を詳細に説明する。<<実施形態1>>情報処理装置の構成図1は、本実施形態に係る情報処理装置の構成例を示す。制御部100は、演算制御用のCPU101、固定データやプログラムを格納するROM102、データの一時保存やプログラムのロードに使用されるRAM103、および外部データを保持する外部記憶装置104を有する。データ入力部110は、処理すべきデータを取り込む部分である。データ入力部110は、例えば、イメージスキャナおよびA/D変換器などのデバイスによって構成される画像読み込み装置や、マイクおよびA/D変換などのデバイスによって構成される音声入力装置そのものであってもよい。また、データ入力部110は、入力装置からデータを取得する受信部であってもよい。データ処理部120は、後述するように、複数の処理モジュールによって並列処理を実行する。データ処理部120における処理の対象は、例えば画像データであるが、これに限らず、パイプライン処理などの一連のデータ処理に適したデータであればどのようなデータであってもよい。データ出力部130は、処理済みのデータを外部に出力する。データ出力部130は、例えば画像データを印字ドットパターンに変換して出力するプリンタデバイスを含む画像出力装置や、音声データをD/A変換器等を通して出力する音声出力装置であってもよい。また、データ出力部130は、単に外部装置へデータを送信するためのインタフェースであってもよい。制御部100は、データ入力部110に入力されたデータを受信すると、CPU101で処理してもよいし、そのままRAM103や外部記憶装置104に一時記録してもよい。データ処理部120は、データ入力部110からの入力データを直接受け取って処理を行ってもよいし、制御部100からの指示とデータ供給を受けて処理を行ってもよい。また、データ処理部120の出力は、制御部100に送られてもよいし、データ出力部130に直接送られてもよい。データ処理部120の処理内容は、制御部100によって予め設定され、データ処理部120は、供給されたデータに対して設定された処理を実行する。データ処理部の構成図2は、本実施形態に係るデータ処理部120の構成例であり、各処理モジュール間をリング状にバス接続したデータパス制御機構の概略構成を示すブロック図である。以下では、このリング状のバスをリングバスと呼ぶ。図中、1201はデータ入出力部、1202-1~1202-4は通信部、1203-2~1203-4は通信部1202-2~1202-4と一対一で設けられているデータ処理部である。通信部1202-1~1202-4は、各々隣接する通信部と接続され但し、通信部1202-4は通信部1202-1に接続される、リングバス1206の一部として特定の方向第1の方向から受信するデータを他方第2の方向へ送信する。つまり、通信部1202-1~1202-4は、リングバス1206を構成すると共に、リングバス1206と入出力部1201または処理部1203との間でのデータの送受信を行う。入力端子151より入力されたデータは入出力部1201を介して通信部1202-1に入力される。入力されたデータはパケット化され、リングバス1206上リング上を一方向に流れる。通信部1202は予め設定された情報に従って必要なパケットをリングバス1206より取り込み、取り込んだパケットからデータを抽出し、処理部1203が処理可能な場合、当該データを処理部1203に入力する。処理部1203では、所定のデータ処理例えば色空間変換や解像度変換等を行い、処理後のデータを通信部1202へ出力する。処理後のデータはリングバス1206に出力可能な場合、通信部1202においてパケット化され、リングバス1206へ送出される。このように、設定された順序に従って通信部1202-2~1202-4が適切にデータを取り込み、処理後のデータを送出することによって、処理部1203-2~1203-4においてデータが次々に処理される。そして、データに対する設定されたデータ処理が終了すると、そのデータは通信部1202-1に取り込まれ、入出力部1201を介して出力端子152より出力される。なお、処理部1203-2~1203-4ではそれぞれ処理A、B、およびCを実行するものとする。なお、入出力部1201は、外部の機器またはモジュールとのインタフェースを提供するものであり、通信部1202-1において直接外部の機器と情報の送受信が可能な場合は省略してもよい。また、入出力部1201のように入力部と出力部とを兼用する構成としてもよいし、入力部と出力部とがリングバス上の別の通信部1202に接続される構成としてもよい。さらに、入力部と出力部とが複数あってもよい。パケットのデータ構造図3にリングバス1206を流れるパケットのデータ構造を示す。図中、201はvalidフラグであり、パケットが有効であることを示す。202はstallフラグでありパケットが受信保留されたことを示す。203はカウント値でありデータの送信順を示し、204はノードIDであり、データの論理的な接続を識別するための接続IDを示す。205は通信部に入力または出力されるデータである。通信部1202は、リングバス1206に送出されたパケットを解析して、validフラグ201が有効で、ID204とカウント値203が通信部1202の内部で管理する値と一致するか否かを判定する。値が一致すると、通信部1202は、その通信部1202に直接接続される処理部1203が受信データを処理可能か否かを判定する。すなわち、例えば、図2の通信部1202-2であれば、対応する処理部1203-2がデータ処理可能か否かを判定する。通信部1202は、対応する処理部1203がデータ処理可能と判定すると、パケット内に含まれるデータをその処理部1203へ送る。同時に、リングバス1206で下流後段に繋がる通信部1202に対して、validフラグ201及びstallフラグ202を無効にしたパケット以下、空パケットと称するを送信する。なお、設定により、処理部1203にデータを送る場合であっても、validフラグ201を有効としたまま下流に送ってもよい。以下では、この設定をeraseモードと呼び、eraseモードが無効の場合は、処理部1203にデータを送信する場合でも、下流に繋がる通信部1202へvalidフラグ201を有効としたままのパケットを送信する。この設定は後述する分岐処理に使用される。但し、stallフラグ202は無効に設定される。この動作により、後述する保留パケットが不必要にリングバス1206上に滞留することを防ぐ。通信部1202が受信したパケットは、validフラグ201が有効でID204とカウント値203が通信部1202内部で管理する値と一致しても、通信部1202と対応する処理部1203がそのデータを処理できない場合がある。その場合、リングバス1206に、stallフラグ202を有効にしたパケット以下、保留パケットと称するを送出する。同様に、validフラグ201が有効でID204が通信部1202内部で管理する値と一致するが、カウント値203が通信部1202内部で管理する値と一致しない場合も、通信部1202は、リングバス1206に保留パケットを送出する。また、受信したパケットが、validフラグ201が有効であるがID204が通信部1202内部で管理する値と一致しない場合は、通信部1202は、パケットの内容を変更せず、当該パケットをリングバス1206へそのまま送出する。なお、通信部1202-1は入力パケットのID204とカウント値203との一致を判断するための、内部で管理するID及びカウント値を2組有する。これにより、後述の分岐処理において、2つのデータフローで処理されたパケットを受け取り、出力端子152に出力することが可能となる。ここで、2つの処理A→B、A→Cを同時に行うような分岐処理を行う場合の、図2のデータパス制御機構の動作の具体例について、図4を参照して説明する。なお、図中で丸で囲まれた番号は有効パケットvalidフラグ201が有効のパケットを示し、丸の中の番号はパケットのカウント値203である。色が塗られた丸は空パケットを示す。また、太枠の丸はパケットのstallフラグ202が有効のものを示す。まず、不図示のCPU等により、各通信部1202内部に記憶されるIDの値を、分岐処理の実行のための値に設定する。すなわち、通信部1202-2においては、入出力部1201を介して通信部1202-1から入力されたデータを処理するようにIDの値が設定される。また、通信部1202-3および通信部1202-4では、通信部1202-2に対応する処理部1203-2が処理した後のデータを処理するように、IDの値が設定される。また、通信部1202-3では、eraseモードを無効に設定する。これにより、処理部1203-3が処理可能でデータが処理部に送られた場合でも、下流の通信部1202-4に有効なパケットを出力できる。これ以外の通信部1202のeraseモードは有効に設定されているものとする。まず、通信部1202-1は、入出力部1201を介して入力端子151からデータを取得するS100。取得されたデータはパケット化され、リングバス1206を介して通信部1202-2に入力されるS101。この時パケットのvalidフラグ201は有効、stallフラグ202は無効である。入力されたパケットは、validフラグ201が有効であり、ID204とカウント値203が通信部1202-2内部で管理する値と一致し、処理部1203-2が処理可能であるため、パケット内のデータが処理部1203-2に入力される。処理部1203-2では処理Aが実行されるS102。処理後のデータはリングバス1206にパケットとして出力され、通信部1202-3に入力されるS103。通信部1202-3では、入力パケットのvalidフラグ201が有効でID204とカウント値203が通信部1202-2内部で管理する値と一致し、処理部1203-3が処理可能なので、当該パケット内のデータを処理部1203-3へ出力する。処理部1203-3では、入力されたデータに処理Bが実行されるS104。これと同時に、通信部1202-3のeraseモードは無効であるため、入力されたパケットがそのまま下流の通信部1202-4に出力されるS104。処理部1203-3において処理されたデータはリングバス1206にパケットとして出力されS105、通信部1202-4、1202-1、および入出力部1201を介して出力端子152にデータが出力されるS106。通信部1202-3に入力され、そのまま出力されたパケットは、通信部1202-4に入力されるS104。入力されたパケットは、validフラグ201が有効で、ID204とカウント値203が通信部1202-4内部で管理する値と一致する。そして、処理部1203-4がデータを処理可能であるため、入力されたパケットに含まれるデータが処理部1203-4へ入力され、当該データに対して処理Cが実行されるS105。処理されたデータはリングバス1206にパケットとして出力され、通信部1202-1と入出力部1201を介して、出力端子152に出力されるS107。次に、同様な分岐処理において、処理部1203-2と処理部1203-4はデータ処理可能であるが、処理部1203-3ではデータ処理できず保留パケットが発生する場合について1番目のデータを含むパケットを例として説明する。先の例と同様に、入力端子151から入力されたデータは、入出力部1201及び通信部1202-1を介して通信部1202-2に入力され、処理Aが実行されるS103~S105。処理後のデータはリングバス1206にパケットとして出力され、通信部1202-3に入力されるS106。この時パケットのvalidフラグ201は有効であり、stallフラグ202は無効である。通信部1202-3では、入力されたパケットのvalidフラグ201が有効でID204とカウント値203が通信部1202-3内部で管理する値と一致しているが、対応する処理部1203-3がデータ処理をできない状態である。このため、パケットのstallフラグ202を有効に設定し、保留パケットとしてリングバス1206に送出するS107。通信部1202-4では、通信部1202-3が送出したパケットがvalidフラグ201が有効でID204とカウント値203が通信部1202-4内部で管理する値と一致する。そして、通信部1202-4に対応する処理部1203-4がデータ処理可能であるため、パケット内のデータが処理部1203-4へ入力され、当該データに対して処理Cが実行されるS108。一方、通信部1202-4のeraseモードは有効であるため、通信部1202-4は空パケットを通信部1202-1に向けてリングバス1206上へ出力するS108。その後、処理部1203-4において処理されたデータはリングバス1206にパケットとして出力され、通信部1202-1を介して出力端子152に出力されるS109。この例では、通信部1202-3から入力された処理部Bで処理すべき保留パケットが削除され、空パケットになってしまったため、処理Bが実行できなくなる。このように、分岐処理では、他の分岐で処理を保留したデータを消去してしまうことがあるという課題がある。このため、本実施形態では、この課題を解決するような構成を提示することを1つの目的とする。通信部の構成図5は、通信部1202の概略構成を示すブロック図である。図示のように、通信部1202は受信部301、バッファ302、セレクタ303、送信部304を有する。また、入力端子357と出力端子359を有し、これらの端子により隣接する通信部1202と接続される。具体的には、入力端子357は隣接する通信部1202の出力端子359に接続され、出力端子359は、隣接する通信部1202の入力端子357に接続される。このようにして、リングバス1206において複数の通信部1202-1~1202-4が接続される。なお、以下では、リングバス1206上で通信部1202に隣接する通信部1202について、入力端子357で接続する通信部1202を、上流側の隣接通信部1202と呼び、出力端子359で接続する通信部1202を下流側の隣接通信部1202と呼ぶ。なお、通信部1202は、信号線351~356を有し、これらの信号線により、対応する処理部12031203-2~1203-4のいずれかと接続するものとする。上流側の隣接通信部1202から入力されたパケットは、バッファ302に一時的に保持され、次のクロックサイクルでセレクタ303に出力される。受信部301は、入力端子357からのパケットを監視し、validフラグ201が有効であるか、およびID204とカウント値203が受信部301の保持する値とそれぞれ一致するかを判定する。また、受信部301は、受信部301に接続されている処理部1203においてデータ処理が可能であるかを判定する。具体的には、信号線353のstall信号が有効でなければ、処理部1203でデータ処理可能であり、処理部1203へのデータ入力が可能であると判定する。受信部301は、処理部1203においてデータ入力が可能であり、入力されたパケットのvalidフラグ201が有効で、ID204とカウント値203とが受信部301の保持する値とそれぞれ一致する場合、当該パケット中のデータを取り込む。このとき、受信部301は信号線351のvalid信号を有効にして、信号線352から処理部1203へ取り込んだデータを出力する。また、受信部301は、パケットのデータの取り込み後、受信部301内で管理しているデータに付随のカウント値をインクリメントする。同時に信号線360を介して、バッファ302に格納されたパケットのvalidフラグ201のクリア無効化の制御をおこなう。また、信号線361を介して、バッファ302に格納されたパケットのstallフラグ202の値を設定する。これらの制御の動作の詳細については後述する。送信部304は、バッファ302から信号線358に出力されるパケットのvalidフラグ201を、信号線363を介して監視する。validフラグ201が有効のときは、バッファ302の出力パケットを優先して出力端子359へ出力するため、送信部304は処理部1203からのデータを含むパケットを出力することができない。このため、送信部304は、信号線354を介してstall信号を有効とし、処理部1203からのデータの出力を保留させる。なお、バッファ302の出力パケットのvalidフラグ201が無効の時は、信号線354を介してstall信号を無効にし、処理部1203からのデータを受け付ける。なお、信号線358のvalidフラグ201が有効である場合、セレクタ303はバッファ302の出力を選択して出力する。処理部1203においてデータ出力が可能な場合信号線356のvalid信号が有効の場合、送信部304は信号線362におけるvalidフラグ201を有効にする。そして、送信部304は、自身の内部で管理しているカウント値とレジスタに設定されている接続IDを付加してパケットを生成し、信号線362を介してセレクタ303に出力する。セレクタ303は、信号線358のvalidフラグ201が無効である場合に、送信部304の出力である信号線362を選択し、送信部304が生成したパケットを出力端子359からリングバス1206へと送出する。なお、パケットを生成すると表現しているが、概念的にはリングバス1206を流れる空パケットにデータを格納していることになる。パケット出力後、上述のカウント値はインクリメントされる。受信部の構成図6は、受信部301の概略構成を示すブロック図である。受信部301は、図示のように、レジスタ401記憶部、カウンタ402、比較部403、判定部404切換部、stallカウンタ405、eraseモードレジスタ406を有する。レジスタ401は、接続IDが記憶されており、この接続IDと、受信パケットのID204とが一致する場合、受信部301が接続する処理部1203がその受信パケットに含まれるデータを処理すべきであることを示す。カウンタ402は、処理を行うデータの順序を管理する。受信パケットのカウント値203とカウンタ402の値が一致する場合、受信部301が接続する処理部1203が次に処理すべきデータがその受信パケットに含まれることを示す。比較部403は、受信パケットのvalidフラグ201、stallフラグ202、ID204、カウント値203を監視する。そして、受信パケットのvalidフラグ201が有効な場合、当該パケットのID204とレジスタ401に格納されている接続IDとが一致するかどうか、更に当該パケットのカウント値とカウンタ402の値が一致するかどうかを比較する。比較部403は、接続IDが一致した際には接続ID一致信号を、カウント値がカウンタ402の値と一致した際にはカウント値一致信号を、それぞれ有効として判定部404に出力する。また、比較部403では、入力されたパケットのstallフラグ202が有効な場合、stall有効信号を判定部404へ出力する。判定部404は、接続ID一致信号、カウント値一致信号、stall有効信号、信号線353を介した処理部1203のstall信号、stallカウンタ405、eraseモードレジスタ406に基づいて、実行すべき処理を判定する。ここで、信号線353からのstall信号は、処理部1203が処理を実行できるかを示す信号であり、無効である場合に処理部1203が処理を実行でき、データを取り込むことができることを示す。stallカウンタ405は、受信部301自身がstallフラグ202を有効にしたときに1つだけカウントアップするカウント値に1を加えるカウンタである。そして、stallカウンタ405は、stallフラグ202を有効としたパケットを後に処理することにより、カウント値から1だけ減算される。stallカウンタ405は、電源のオンなどにより動作開始される時にリセットされ、初期値は0とされる。そのため、受信部301自身が保留パケットを出力しない限り、値は0のままである。すなわち、stallカウンタ405は、受信部301自身が保留したパケットの個数、あるいは対応する処理部1203が処理を保留した後に、その後処理されず残ったデータの個数を示す。なお、通信部1202は、このstallカウンタの値が0より大きくstallフラグ202が有効である時、又はstallフラグ202が無効である時のみ、受信パケットのstallフラグ202の値を変更することが許可される。すなわち、stallカウンタの値が0より大きくstallフラグ202が有効である時にのみ、stallフラグ202を有効から無効へと変更することができる。そして、stallフラグ202が無効である時にのみ、stallフラグ202を無効から有効へと変更することができる。また、eraseモードレジスタ406は、制御部100の設定によりeraseモードが有効または無効に設定された場合、その設定を記憶しておくレジスタである。なお、動作開始時以外であっても、モードを切り替える際新たな処理を開始する際、データ入力の開始前に、例えば制御部100の指示によってリセットされることで、stallカウンタ405の値が0にクリアされてもよい。受信部の動作受信部301が、レジスタ401に記憶された接続IDと同一のIDを有するパケットを受信した場合の動作は、大別すると2つの動作に分類される。すなわち、1受信パケットを解析し、処理部1203がデータ処理可能な場合にデータ205を処理部1203へ送信する受理動作と、2処理部1203がデータ処理できない場合に、バッファ302に保留パケットを出力する保留動作である。なお、レジスタ401に記憶された接続IDと異なるIDを有するパケットを受信した場合は、バッファ302に記憶されたパケットをそのまま隣接する通信部1202へ出力スルーする。動作1は、さらに、1-1stallフラグ202の値を変更しない動作と、1-2stallフラグ202の値を変更する動作と、の2つの動作に分かれる。さらに、動作1-1は、1-1-1バッファ302に空パケットを格納する動作と、1-1-2バッファ302に有効パケットを格納する動作と、に分かれる。動作1-2も同様に、1-2-1バッファ302に空パケットを格納する動作と、1-2-2バッファ302に有効パケットを格納する動作と、に分かれる。動作2に関しては、2-1stallフラグ202を有効にする動作と、2-2stallフラグ202を変更しない動作、とに分かれる。これらのどれが選択されるかは、判定部404により決定される。以下、それぞれの動作について説明する。1受理動作1-1stallフラグ202の値を変更しない動作この動作は、stallカウンタ405の値が0の場合の動作である。すなわち、受信部301において保留パケットを出力していない、または一旦保留したデータをすべて処理した後に、この動作を行うこととなる。1-1-1バッファ302に空パケットを格納する動作この動作は、eraseモードが有効に設定されている通信部1202で、stallカウンタ405が0であることに加えて、所定の条件を満たす場合に実行される。その所定の条件とは、受信パケットに含まれるvalidフラグが有効であり、接続ID一致信号とカウント値一致信号が共に有効であり、stall有効信号が無効であり、さらに信号線353上のstall信号が無効なことである。この動作では、バッファ302のパケットを無効化するために、信号線360を介してバッファ302に記憶されたパケットのvalidフラグ201をクリアする制御を行う。同時に、信号線361を介して、バッファ302にstallフラグ202の制御信号を出力する。stallフラグの制御には、セット有効化、クリア無効化、保持何もしないの3種類があるが、ここでは、stallカウンタ405の値が0であるため、保持の制御信号を出力する。また、この動作の実行時には、判定部404は、受信して処理部1203へ送信したデータに続くデータを取得するために、次のクロックサイクルにおいて、カウンタ402にカウント値をインクリメントカウント値に1を加算させる。例えば、カウンタ402にカウント有効信号を有効として通知し、カウンタ402はその通知を受信することに応じてカウント値をインクリメントするようにする。同時に、判定部404は信号線351のvalid信号を有効にし、信号線352を介してパケットに含まれるデータ205を処理部1203へ出力する。1-1-2バッファ302に有効パケットを格納する動作この動作は、eraseモードが有効に設定されている通信部1202で、stallカウンタ405が0であることに加えて、所定の条件を満たす場合に実行される。その所定の条件とは、受信パケットに含まれるvalidフラグが有効であり、接続ID一致信号とカウント値一致信号が共に有効であり、stall有効信号が有効であり、さらに信号線353上のstall信号が無効なことである。また、この動作は、eraseモードが無効とされている通信部1202で、stallカウンタ405が0であることに加えて、所定の条件を満たす場合にも実行される。その条件とは、受信パケットに含まれるvalidフラグ、接続ID一致信号、カウント値一致信号が全て有効であり、さらに信号線353上のstall信号が無効であることである。この場合、判定部404は、バッファ302のvalidフラグ201をクリアせずに有効のままとする。また、stallフラグ202についても、stallカウンタ405が0であるため、保持とする。その他の、カウント値のインクリメントやデータの出力等の制御については1-1-1の動作と同様であるため、説明を省略する。1-2stallフラグ202を無効にする動作この動作は、stallカウンタ405の値が0でない場合であって、所定の条件を満たす場合の動作である。所定の条件とは、受信パケットに含まれるvalidフラグが有効であり、接続ID一致信号とカウント値一致信号が共に有効であり、stall有効信号が有効であり、さらに信号線353上のstall信号が無効なことである。stallカウンタ405の値が0より大きい場合は、受信部301自身がstallフラグ202を有効としたパケットを出力したことがあることを示す。この状態でstallフラグ202が有効のパケットを受信すると、そのパケットに含まれるデータを処理部1203に処理させることにより、バッファ302のstallフラグ202を無効にすることが可能である。なお、この時、判定部404は、処理部1203がstallフラグ202が有効のパケットに含まれるデータを処理することに伴い、stallカウンタ405の値をデクリメント1だけ減算させる。例えば、判定部404は、stallカウンタ405に、カウントダウン命令を含むカウント制御信号を出力し、次のクロックサイクルでstallカウンタ405にカウント値をデクリメントさせる。なお、stallカウンタ405の最小値は0であり0までデクリメントすると、その後は値を保持する。1-2-1バッファ302に空パケットを格納する動作この動作は、eraseモードが有効に設定されている通信部1202で実行される。この場合の動作は、1-1-1の動作とほぼ同様であり、バッファ302に記憶されたパケットのvalidフラグ201を無効にする。ただし、1-1-1の動作と異なり、判定部404は、バッファ302に記憶されたパケットのstallフラグ202をクリアする制御信号を出力する。その他の、カウント値のインクリメントやデータの出力等の制御については1-1-1の動作と同様であるため、説明を省略する。1-2-2バッファ302に有効パケットを格納する動作この動作は、eraseモードが無効に設定されている通信部1202で実行される。この場合の動作は、1-2-1の動作と同様に、判定部404は、バッファ302に記憶されたパケットのstallフラグ202をクリアする制御信号を出力する。ただし、判定部404は、バッファ302に記憶されたパケットについて、validフラグ201をクリアすることはせず、有効のままとする。その他の、カウント値のインクリメントやデータの出力等の制御については1-1-1の動作と同様であるため、説明を省略する。2保留動作信号線353を介したstall信号が有効である場合、処理部1203がデータを取り込めないため、保留動作を行う。この場合、判定部404はstall有効信号及びstallカウンタ405の値を参照して、バッファ302のstallフラグ202を設定するか否かを判定する。同時に、判定部404は信号線351のvalid信号を無効にする。2-1stallフラグ202を変更する動作この動作は、接続ID一致信号とカウント値一致信号が有効で、stall有効信号が無効の場合で、信号線353を介したstall信号が有効の場合に実行される。また、接続ID一致信号が有効で、カウント値一致信号とstall有効信号が無効である場合に、stallカウンタ405の値が0でない場合にも実行される。前者の場合、受信パケットに含まれるデータを、処理部1203が取り込むことができないため、受信パケットのstallフラグを有効とするものである。後者の場合、受信パケットより前のカウント値を有するパケットを受信部301自身が保留したと考えられるため、受信パケットのstallフラグを有効とするものである。この場合、判定部404は、バッファ302に記憶されたパケットのstallフラグ202をセットする制御信号を出力する。また、stallカウンタ405を1だけカウントアップするように制御信号を出力する。この場合は、処理部1203でデータを取り込めないため、判定部404は信号線351のvalid信号を無効とする。また、カウンタ402の値も変えない。2-2stallフラグ202を変更しない動作この動作は、接続ID一致信号とカウント値一致信号が有効で、stall有効信号が有効の場合で、信号線353を介したstall信号が有効の場合に実行される。この場合、保留パケットを出力することになるが、判定部404は既にstallフラグ202は有効であるため変更しない。また、stallカウンタ405もカウントアップせず値を保持する。送信部の構成図7は、送信部304の概略構成を示すブロック図である。図示のように送信部304は、レジスタ501記憶部、カウンタ502、パケット生成部503を有する。信号線363を介してバッファ302の出力パケットのvalidフラグ201がパケット生成部503に入力される。また、そのvalidフラグ201は、信号線354を介して処理部1203へも出力される。さらに、処理部1203は、信号線355と信号線356を介して、それぞれデータ及びデータ有効信号valid信号をパケット生成部503に入力する。パケット生成部503は生成したパケットを信号線362を介してセレクタ303へ出力する。パケット生成部503は、接続されている処理部1203から信号線356を介して伝達されるvalid信号を参照し、valid信号が有効の場合、処理部1203からのデータ出力が可能であると判定する。処理部1203からのデータ出力が可能であると判定した場合で、信号線354のvalidフラグ201が無効の時、パケット生成部503はカウンタ502のカウント値とレジスタ501に設定されている出力接続IDを格納するパケットを生成する。ここで、パケット生成部503は、生成するパケットのvalidフラグを有効に、stallフラグを無効に設定する。さらに、信号線355を介して処理部1203が処理したデータパケットのデータ205に格納する。そして、パケット生成部503はセレクタ303にパケットを出力する。そして、次のクロックサイクルにおいて、カウンタ502はカウント値をインクリメントカウント値に1を加算する。なお、通信部1202において、送信部304のカウンタ502と受信部301のカウンタ402は、同期を確保するため、制御部100によりデータ転送開始に先だって同じ値に初期化される。なお、通信部1202は、受信パケットについて、stallフラグ202が無効かつID204がレジスタ501に格納されている出力接続IDと等しい場合は、自分が出力したパケットが後段で処理されなかったものとみなし、validフラグ201を無効にしてパケットを消去する空パケットにする。パケットを消去する理由は、通信部1202が出力したパケットが後段で処理されず、また処理の保留も発生しなかったため、当該パケットに含まれるデータを処理すべきモジュールがもはや存在しないと判断できるからである。データパス制御機構の動作次に図8Aおよび図8Bを用いて、図5~7に示した本実施形態に係る通信部1202を用いた場合の図2の構成のデータパス制御機構における分岐処理の動作を説明する。図8Aおよび図8Bでは、通信部1202-1~1202-4のそれぞれにおける受信部301の状態を処理ステップに分けて示している。分岐処理として、A→B及びA→Cの並列処理を行う。なお、通信部1202-1~1202-4内のレジスタ401、レジスタ501の値は、制御部100により分岐処理の実行のための値に設定されているものとする。また、通信部1202-3のeraseモードレジスタ406は無効に設定され、それ以外の通信部は有効に設定されているものとする。なお、図中で丸で囲まれた番号は有効パケットvalidフラグ201が有効のパケットを示し、丸の中の番号はパケットのカウント値203であり、太い枠の丸はパケットのstallフラグ202が有効であることを示す。有効パケットの下の数字402、405、353はそれぞれカウンタ402の値、stallカウンタ405の値、信号線353を介して入力されるstall信号の状態を示す。なお、説明を簡略化するため、処理部1203-2、入出力部1201は常にデータを処理可能で、通信部1202-2及び1202-1からは保留パケットが出力されないものとする。また、図では、信号線353の状態は、stall有効信号が無効でありデータ処理可能である場合をinvalid、信号線353のstall有効信号が有効でありデータ処理できない場合をvalidと記載している。まず、入力端子151から0番目のデータが入力されS0、通信部1202-1から当該データを含むパケットが出力される。次に、通信部1202-2は、処理部1203-2がデータ処理可能信号線353がinvalidであるため、通信部1202-1が送出したパケットを受信すると、そのパケットに含まれる0番目のデータを取り込む。そして、カウンタ402に1を加算インクリメントして1とするS1。そして、データを処理部1203-2へ送信するとともに、空パケットを出力するS2。処理部1203-2はデータの処理を行いS2、通信部1202-2は、処理Aの実行後のデータをパケット化してリングバス1206に出力するS3。なお、この受信動作は上述の動作1-1-1に該当する。通信部1202-3は、処理部1203-3がデータ処理可能信号線353がinvalidであるため、処理部1203-2で処理済みの0番目のデータを受信パケットから取り込み、カウンタ402をインクリメントして1とするS3。そして、通信部1202-3では、eraseモードが無効となっていることから、処理部1203-3へデータを送信すると共に、受信した有効なパケットをリングバス1206上へ出力するS4。処理部1203-3は、受信したデータに対して処理Bを実行するS4。処理後のデータは、通信部1202-3へ出力され、通信部1202-3は当該データをパケット化してリングバス1206に出力するS5。この動作は上述の動作1-1-2に該当する。その後、当該処理後のデータを含むパケットは、通信部1202-4をスルーされS5、1202-1を介して処理後のデータが出力端子152に出力され、パケットが消去されるS6。なお、処理Bの実行後、処理部1203-3はデータ処理ができない状態になる信号線353がvalidとなるものとする。通信部1202-4は、処理部1203-4がデータ処理可能信号線353がinvalidであるため、処理部1203-2で処理済みの0番目のデータを含むパケットを取り込み、カウンタ402をインクリメントして1とするS4。処理部1203-4は、通信部1202-4が取り込んだデータに対して処理Cを実行し、処理後のデータを通信部1202-4へ返すS5。通信部1202-4は、受信したデータをパケット化してリングバス1206に出力する。なお、通信部1202-4は、S6においては、通信部1202-3から受信したパケットを転送するため、処理Cを実行後のデータを含むパケットは、S7においてリングバス1206上へ出力される。この動作は上述の場合1-1-1に該当する。出力されたパケットは、1202-1を介して処理後のデータが出力端子152に出力され、パケットが消去されるS7。次に、1番目のデータを含むパケットカウント値203が1のパケットについて説明する。1番目のデータはS3において入力端子151から入力され、通信部1202-1においてパケット化され、リングバス1206上へ出力されるS4。通信部1202-2は、処理部1203-2がデータ処理可能であるため、当該パケットからデータを取り込み、カウンタ402をインクリメントして2とするS4。その後、取り込んだデータを処理部1203-2へ出力し、処理部1203-2は、当該データに処理Aを実行するS5。処理後のデータは通信部1202-2へ入力され、通信部1202-2は、当該データをパケット化してリングバス1206に出力するS6。なお、本受信動作も上述の動作1-1-1に該当する。通信部1202-3は、処理部1203-3がデータ処理不能信号線353がvalidであるため、処理部1203-2で処理済みの1番目のデータを含むパケットを取り込むことができないS6。このため、通信部1202-3は、stallカウンタ405をインクリメントして1とし、バッファ302内のパケットのstallフラグ202を有効にするS6。この動作は上述の動作2-1に該当する。通信部1202-4は、処理部1203-4がデータ処理可能であるため、処理部1203-2で処理済みの1番目のデータを含むパケットを取り込み、カウンタ402をインクリメントして2とするS7。そして、通信部1202-4は、取り込んだデータを処理部1203-4へ入力すると共に、バッファ302内のパケットをvalidフラグ201及びstallフラグ202は変更せずにリングバス1206上へ出力するS8。この動作は上述の動作1-1-2に該当する。処理部1203-4は、入力されたデータに対して処理Cを実行し、処理後のデータを通信部1202-4へ返すS8。通信部1202-4は処理後のデータをパケット化してリングバス1206に出力し、処理後のデータは、通信部1202-1を介して出力端子152に出力され、消去されるS9。ここで、1番目のデータと並行して2番目のデータがS6において入力端子151から入力されるものとする。入力されたデータは、通信部1202-1においてパケット化され、リングバス1206上へ出力されるS7。通信部1202-2は、処理部1203-2がデータ処理可能であるため、当該パケットからデータを取り込み、カウンタ402をインクリメントして3とするS7。その後、取り込んだデータを処理部1203-2へ出力し、処理部1203-2は、当該データに処理Aを実行するS8。処理後のデータは通信部1202-2へ入力され、通信部1202-2は、当該データをパケット化してリングバス1206に出力するS9。なお、本受信動作も上述の動作1-1-1に該当する。ここで、処理部1203-3は、S8において、データ処理可能となったものとする。通信部1202-3は、処理部1203-3がデータ処理可能であるため、受信パケットのIDやカウント値と、通信部1202-3内部に記憶された値とを比較する。しかしながら、この場合、受信パケットのカウント値2032と、カウンタ402の値1が異なる。この場合、接続ID一致信号は有効であるが、カウント値一致信号とstall有効信号が無効であり、さらにstallカウンタが0でないため、stallカウンタ405の値をインクリメントして2とするS9。また、バッファ302においてパケットのstallフラグ202を有効として、当該パケットをリングバス1206上へ出力する。この動作は上述の動作2-1に該当する。その後、通信部1202-3は、以前に保留した1番目のデータを含むパケットを受信するS10。この時点では、処理部1203-3はデータ処理可能であるため、カウント値をインクリメントし、stallカウントをデクリメントする。同時に、バッファ302に記憶されているパケットのstallフラグ202をクリアする。ただし、validフラグはクリアしない。この動作は上述の動作1-2-2に該当する。そして、当該パケットからデータを取り出し、処理部1203-3に出力する。処理部1203-3は、当該データに対して処理Bを実行しS11、通信部1202-3へ返す。通信部1202-3は、受信した処理後のデータをパケット化してリングバス1206上へ出力するS12。当該パケットは、通信部1202-4をスルーされS12、1202-1を介して出力端子152から出力され、消去されるS13。なお、stallフラグ202をクリアされた分岐パケットは、通信部1202-2に到達すると、stallフラグ202が無効かつID204がレジスタ501に格納されている出力接続IDと等しいので、通信部1202-2により自分が出力したパケットが後段で処理されなかったものとみなされ、消去されるvalidフラグがクリアされるS13。また、通信部1202-4は、通信部1202-3が保留しリングバス1206上へ出力した2番目のデータを含むパケットを受信するS10。ここで、S8において、処理部1203-4はデータ処理ができない状態となったものとする。この場合、接続ID一致信号とカウント値一致信号とstall有効信号が全て有効であり、処理部1203-4からのstall信号が有効であるため、上述の動作2-2を実行する。すなわち、通信部1202-4は、stallフラグ202を変更せずにバッファ302のパケットをリングバス1206上へ出力し、さらにstallカウンタ405も値を保持するS10。ここで2番目のデータを含むパケットは、通信部1202-1と通信部1202-2をスルーされS11、S12、通信部1202-3により受信される。通信部1202-3では、処理部1203-3がデータ処理可能であるため、受信パケットから2番目のデータを取り込み、カウンタ402をインクリメントして3とするS13。また、stallカウンタ405をデクリメントする。また、バッファ302に記憶されたパケットのstallフラグ202を無効とし、validフラグは変更せずに、当該パケットをリングバス1206上へ出力するS14。この動作は、上述の動作1-2-2に該当する。通信部1202-3が取り込んだデータは、処理部1203-3へ出力され、処理部1203-3は当該データに対して処理Bを実行するS14。処理部1203-3は処理後のデータを通信部1202-3へ出力し、通信部1202-3は、処理後のデータをパケット化してリングバス1206に出力するS16。その後、当該パケットは、通信部1202-4、1202-1を介して処理後のデータが出力端子152に出力され、パケットが消去されるS17。なお、このパケットがS15で送出されない理由は、バッファ302に3番目のデータを含む有効なパケットが記憶され、そのパケットの送出を優先したからである。なお、S13でstallフラグ202を無効とされたパケットは、通信部1202-4により受信されるS14。通信部1202-4は、当該パケットについて、validフラグ、接続ID一致信号、カウント値一致信号の全てが有効であり、stall有効信号が無効で、処理部1203-4がデータ処理可能であるため、当該パケットからデータを取り込む。そして、カウンタ402をインクリメントして3とするS14。この動作は上述の動作1-1-1に該当する。その後、取り込んだデータを処理部1203-4へ出力し、処理部1203-4は、当該データに処理Cを実行するS15。処理後のデータは通信部1202-4へ入力され、通信部1202-4は、当該データをパケット化してリングバス1206に出力するS20。ここで、このパケットがS16~S19でリングバス1206上へ出力されない理由は、バッファ302に有効なパケットが続けて入力され、それらのパケットを優先して出力したからである。リングバス1206上へ出力されたパケットは、通信部1202-1が受信し、パケットに含まれるデータが出力端子152に出力された後に消去される。また、S10において、3番目のデータが入力端子151から入力され、通信部1202-1は当該データをパケット化してリングバス1206上へ出力するS11。通信部1202-2は、処理部1203-2が処理可能であるため、1番目のデータを含むパケットを取り込み、カウンタ402をインクリメントして4とする。この動作も上述の動作1-1-1に該当する。通信部1202-2はパケットからデータを取り込み、当該データを処理部1203-2へ出力する。処理部1203-2はデータに対して処理Aを実行し、処理後のデータを通信部1202-2へ返すS12。通信部1202-2は、受信したデータをパケット化してリングバス1206に出力するS14。なお、このパケットをS13で出力しない理由は、通信部1202-3が保留した2番目のデータを含むパケットの送出を優先したからである。通信部1202-3は、処理部1203-3が処理可能であるため、3番目のデータを含むパケットを取り込み、カウンタ402をインクリメントして4とする。そして、通信部1202-3は、取り込んだデータを処理部1203-3へ出力し、処理部1203-3はデータに対して処理Bを実行するS15。また、通信部1202-3は、eraseモードが無効であるため、バッファ302に記憶されたパケットのvalidフラグをそのまま維持して、当該パケットをリングバス1206上へ出力するS15。この動作は、上述の動作1-1-2に該当する。処理後のデータは通信部1202-3へ戻され、通信部1202-3は、当該データをパケット化してリングバス1206上へ出力するS16。リングバス1206上へ出力されたパケットは、通信部1202-1で受信され、当該パケットに含まれるデータが出力端子152へ出力された後に消去されるS17。通信部1202-4は、通信部1202-3から出力された分岐処理のためのパケットを受信するS15。このとき、S14の動作の後に、処理部1203-4がデータ処理ができない状態になったものとする。すると、通信部1202-4は、処理部1203-4がデータ処理不能であるため、受信パケットに含まれるデータを取り込めない。このため、stallカウンタ405をインクリメントして1とする。そしてバッファ302に記憶されたパケットのstallフラグ202を有効にして、リングバス1206上へ出力するS16。この動作は上記の動作2-1に該当する。通信部1202-4で保留された3番目のデータを含むパケットは、通信部1202-1~通信部1202-3をスルーしてS16~S18、再度、通信部1202-4により受信されるS19。なお、処理部1203-4は、パケットの受信前にデータ処理が可能な状態となったものとする。通信部1202-4は、処理部1203-4がデータ処理可能であることから、パケットに含まれるデータを取り込み、カウント値をインクリメントし、stallカウントをデクリメントするS19。このとき、通信部1202-4はeraseモードが有効であるため、バッファ302に記憶されたパケットのvalidフラグを無効とする。この動作は上述の動作1-2-1に該当する。取り込まれたデータは処理部1203-4へ入力され、処理部1203-4は、データに対して処理Cを実行するS20。処理後のデータは通信部1202-4へ戻され、通信部1202-4は、当該データをパケット化してリングバス1206上へ出力する不図示。4番目のデータと5番目のデータを含むパケットについても、上述の動作と同様に処理が行われる。このように、stallカウンタ405の値により、保留動作を実行した通信部1202を特定することにより、自モジュールが出力した保留パケットは、他の分岐のモジュールで削除されることがなくなる。これにより、リングバスを用いたデータパス制御機構において、分岐処理が正常に実行可能となる。なお、stallカウンタ405のビット数は、保留パケットなしの状態カウント値0に、リングバス上のすべての空パケットを消費するする状態分のカウントができればよい。例えば、本実施形態の場合、リングバス1206上に4つの通信部1202があるため、stallカウンタ405は3ビット分だけ用意すれば十分である。<<実施形態2>>次に本発明の一実施形態である実施形態2を説明する。情報処理装置と、情報処理装置内のデータ処理部は実施形態1と同様に、図1および図2のような構成を備える。パケットのデータ構造図9にリングバス1206を流れるパケットのデータ構造を示す。図中、実施形態1の図2と同じ機能を有する部品は同一の記号を付し、説明を省略する。異なる点はstallフラグ202がstallID802に置き換わっていることである。stallID802は保留パケットを出力した分岐番号を格納する領域である。ここで、分岐番号とは例えば処理A→B、A→Cの分岐処理を行う場合、分岐の枝としては処理B、処理Cの2つが存在する。それぞれの枝を特定するために、それぞれの通信部1202内の後述するstallIDレジスタ1005に分岐番号を格納する。したがって、この場合、stallID802とは、処理B、処理Cのいずれで処理が保留されたかが特定できる情報であればどのようなものであってもよい。ここでは説明をわかりやすくするため、例えば、入出力、処理A、処理Bおよび処理Cそれぞれの枝に対して1、1、2、3を格納する。そして、それぞれの枝で保留パケットを出力した時、パケット上のstallID802にstallIDレジスタ1005の分岐番号を格納する。なお、stallID802が0の時は保留パケットでないことを示す。本実施形態では、通信部1202は実施形態1と同様、図5のような構成を有する。ただし、信号線361は、バッファ302に記憶されたパケットのstallID802を設定するのに使用される。受信部の構成および動作また、本実施形態に係る受信部301の構成を図10に示す。実施形態1の場合と比較すると、受信部301は、stallカウンタ405に代えてstallIDレジスタ1005を備えた点と、比較部403と判定部404への配線、および比較部403と判定部404の動作が異なる。本実施形態では、受信部301は、受信パケットのstallID802がstallIDレジスタ1005の分岐番号と一致した時のみ、バッファ302に記憶されているパケットのstallID802を無効とすることができる。なお、受信部301の比較部403では、実施形態1の場合、stallフラグ202が無効であるかを監視したが、本実施形態ではstallID802が0でないかを監視する。なお、stallID802が0の場合の動作は、実施形態1においてstallフラグ202が無効である場合の動作と一致する。一方、stallID802が0でない場合、比較部403は、受信パケットのstallID802がstallIDレジスタに記憶された値と一致する場合、stallID一致信号を有効として、判定部404へ出力する。なお、stall有効信号は、stallIDが0でない場合に有効となる。判定部404では、信号線361を介して、stallID802の制御信号をバッファ302へ出力する。制御の種類は、クリアと保持については実施形態1と同様であるが、セットについては、stallIDレジスタ1005に記憶された値をパケットのstallID802に書き込む制御となる。また、本実施形態ではstallカウンタ405がないため、カウントアップやカウントダウンの制御信号を出力することはない。判定部404の動作は、動作1-1については実施形態1と同様である。一方、動作1-2については、stallID一致信号が有効である場合に動作する。stallID一致信号が有効ということは、受信部301自らが保留としたパケットを受信したことを示す。このため、当該パケットに含まれるデータを対応する処理部1203に出力すると同時に、バッファ302に記憶されたパケットのstallID802をクリア無効化する。なお、validフラグについては、上述の1-2-1および1-2-2の動作と同様に、eraseモードが有効か無効かにより、無効化するか、そのまま維持するかを決定する。動作2-1については、接続ID一致信号とカウント値一致信号が有効で、stall有効信号が無効の場合で、信号線353を介したstall信号が有効の場合に実行されるのは実施形態1と同様である。しかし、接続ID一致信号が有効で、カウント値一致信号とstall有効信号が無効である場合は、stallID一致信号が有効である場合に実行される点で実施形態1と異なる。すなわち、実施形態1におけるstallカウンタ405が0以外である、との条件に代えて、本実施形態では、stallID一致信号が有効である、という条件を用いる。バッファ302に記憶されたパケットのstallID802に、stallIDレジスタ1005に記憶された値を書き込む。一方、動作2-2については、実施形態1と同様である。なお、通信部1202は、stallID802が0の場合、又はstallID802がstallIDレジスタ1005に格納されている分岐番号と一致する場合にのみ、stallID802の値を変更することが許可される。すなわち、stallID802が0の場合は、stallID802の値をstallIDレジスタ1005に格納されている分岐番号へ変更することが許可される。そして、stallID802がstallIDレジスタ1005に格納されている分岐番号と一致する場合に、stallID802の値をクリアして0へ変更することが許可される。送信部の構成送信部304は、実施形態1と同様、図7のような構成を有する。送信部304の動作は実施形態1と同様である。ただし、処理部1203から出力されたデータをパケット化する場合、stallID802を0とする。データパス制御機構の動作次に図11Aおよび図11Bを用いて、実施形態2に係るデータパス制御機構の分岐処理の動作を説明する。分岐処理としてはA→B及びA→Cの並列処理を行う。なお、制御部100により、通信部1202-1~4内のレジスタ401、レジスタ501の値が分岐処理を実現するための値に設定されているものとする。また、通信部1202-3のeraseモードレジスタ406は無効に設定され、それ以外の通信部1202のeraseモードは有効に設定されている。さらに、通信部1202-1~4内のstallIDレジスタ1005にはそれぞれ1、1、2、3の分岐番号が設定されるものとする。また、図中番号付きの丸は有効パケットvalidフラグ201が有効を示し、丸の中の番号はパケットのカウント値203であり、太枠の丸はパケットのstallID802が0以外であるものを示す。なお、太枠の丸の中のX-Yの表記は、X番目のデータを含むパケットであって、stallID802がYである、ということを示す。灰色の丸は空パケットを示す。有効パケットの下の数字402、353はそれぞれカウンタ402の値、信号線353を介して入力されるstall信号の状態を示す。なお、説明を簡略化するため、処理部1203-2、入出力部1201は常に処理可能で、通信部1202-2及び1202-1からは保留パケットが出力されないものとする。S200~S205の動作は図8のS0~S5と同様である。S206において、処理部1203-3でstall信号が有効であると判定されるが、本実施形態ではstallカウンタ405がないため、そのカウントアップは発生しない。ただし、S207において出力されるパケットについて、stallID802は、通信部1202-3のstallIDレジスタ1005に記憶された値である2として設定される。このため、図中のS207の通信部1202-4に到達するパケットは太枠の中の数字が1-2となっている。その後の処理についても、同様に、保留が発生すると、通信部1202のstallIDレジスタ1005に記憶された値が、パケットのstallID802に書き込まれる。このように、本実施形態では、実施形態1でstallカウンタ405の値をインクリメントしていたところ、代わりにバッファ302に記憶されたパケットのstallID802をstallIDレジスタ1005に記憶された値とする。同様に、本実施形態では、受信パケットのstallID802がstallIDレジスタ1005に記憶された値と一致する場合、当該パケットに含まれるデータに対して処理を実行し、stallIDをクリアする制御を行う。このとき、通信部1202は、実施形態1におけるstallカウンタ405のデクリメントのような、内部状態の変化は伴わない。このように、stallID802とstallカウンタ405との関係で動作が変化するが、それ以外の動作は実施形態1とほぼ同様となる。このため、他のステップについては説明を省略する。以上のように、保留パケットを出力したモジュールや分岐の枝を特定するようにしたことにより、保留パケットの出力を伴う複雑な分岐処理が実現可能となる。また、リングバス上のモジュール数の増加や分岐数の増加に対しては、stallカウンタのビット数やstallIDのビット数を増加させることにより容易に対応可能である。このように、本実施形態により、簡易なハードウエアで複雑な分岐処理に対応可能となる。<<その他の実施形態>>また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェアプログラムを、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータまたはCPUやMPU等がプログラムを読み出して実行する処理である。