(57)【特許請求の範囲】
【請求項１】
ループ状の通信経路により接続された複数のデバイスを備えるデバイスシステムであって、
前記複数のデバイスのうち、少なくとも２以上のデバイスはプロセッサで構成されており、
前記通信経路は、各デバイスに備えられる第１のノードと、少なくとも１つの第２のノードと、を順に接続することによりループ状に形成され、２つのパケット要素から成る１以上のパケットを一方向に巡回させることが可能であり、
各ノードは、他のノードと略同期して、上流側のノードから前記通信経路を介して各前記パケット要素を所定の順序で順次入力し、下流側のノードに前記通信経路を介して前記各パケット要素を前記所定の順序で順次送出し、
前記第２のノードは、前記各パケット要素を下流側のノードに前記所定の順序で送出する際に、送出されるパケット要素がヘッダ部であることを示すフラグ、または、送出されるパケット要素がペイロード部であることを示すフラグのうち、送出する順序に応じて、対応するフラグを、第１のフラグとして、送出されるパケット要素に付加し、
前記各パケット要素には、前記第１のフラグの他に、そのパケット要素が有効であることを示すフラグ、または、そのパケット要素が無効であることを示すフラグのうち、いずれかのフラグが、第２のフラグとして付加されており、
前記第２のノードは、上流側のノードから前記通信経路を介して前記各パケット要素を入力すると、連続して入力される２つの前記パケット要素であって、前記２つのパケット要素に付加されている前記第１のフラグが示すパターンが所定のパターンである前記２つのパケット要素を、前記ヘッダ部及び前記ペイロード部から構成される１つのパケットとして特定して、前記特定されたパケットを構成する２つのパケット要素にそれぞれ付加された前記第２のフラグを各々検出すると共に、それら第２のフラグが示すパターンが、空きパケットであることを示す空きパケットパターン又は通常パケットであることを示す通常パケットパターンであるか否かを判定し、
前記第２のノードは、前記空きパケットパターン及び前記通常パケットパターンのいずれでもないと判定した場合に、前記特定されたパケットを下流側のノードに前記パケット要素単位で送出する際に、前記特定されたパケットを構成する２つの前記パケット要素にそれぞれ付加された前記第２のフラグが示すパターンが、前記空きパケットパターンとなるように、前記第２のフラグを変更する、デバイスシステム。
【請求項２】
請求項１に記載のデバイスシステムにおいて、
前記第１のノードは、上流側のノードから前記通信経路を介して前記各パケット要素を入力すると、連続して入力される２つの前記パケット要素であって、前記２つのパケット要素に付加されている前記第１のフラグが示すパターンが所定のパターンである前記２つのパケット要素を、前記ヘッダ部及び前記ペイロード部から構成される１つのパケットとして抽出して、前記抽出されたパケットを構成する２つのパケット要素にそれぞれ付加された前記第２のフラグを各々検出すると共に、それら第２のフラグが示すパターンが、前記空きパケットパターンであるか否かを判定し、
前記第１のノードは、前記空きパケットパターンであると判定した場合に、前記抽出されたパケットを構成する前記パケット要素のうち、前記第１のフラグが示すところの前記ヘッダ部であるパケット要素に、制御情報を含むヘッダを格納すると共に、前記第１のフラグが示すところの前記ペイロード部であるパケット要素に、宛先となる前記第１のノードに送信すべきデータを格納して、前記ヘッダが格納されたパケット要素及び前記データが格納されたパケット要素を、前記通信経路を介して、下流側のノードに前記所定の順序で送出することが可能である、
デバイスシステム。
【請求項３】
請求項１または請求項２に記載のデバイスシステムにおいて、
前記デバイスシステムは、１つの半導体基板上に集積化されていることを特徴とする、
デバイスシステム。
【請求項４】
ループ状の通信経路により接続された複数のデバイスを備えるデバイスシステムであって、
前記複数のデバイスのうち、少なくとも２以上のデバイスはプロセッサで構成されており、
前記通信経路は、各デバイスに備えられる第１のノードと、少なくとも１つの第２のノードと、を順に接続することによりループ状に形成され、２つのパケット要素から成る１以上のパケットを一方向に巡回させることが可能であり、
各ノードは、他のノードと略同期して、上流側のノードから前記通信経路を介して各前記パケット要素を所定の順序で順次入力し、下流側のノードに前記通信経路を介して前記各パケット要素を前記所定の順序で順次送出し、
前記各パケット要素には、フラグが付加されており、
前記第２のノードは、上流側のノードから前記通信経路を介して前記各パケット要素を入力すると、連続して入力される２つの前記パケット要素であって、前記２つのパケット要素に付加されている前記フラグが示すパターンが所定のパターンである前記２つのパケット要素を、前記ヘッダ部及び前記ペイロード部から構成される１つのパケットとして特定して、前記特定されたパケットを構成する２つのパケット要素にそれぞれ付加された前記フラグが示すパターンが、前記特定されたパケットが空きパケットであることを示す空きパケットパターン又は前記特定されたパケットが通常パケットであることを示す通常パケットパターンであるか否かを判定し、
前記第２のノードは、前記空きパケットパターン及び前記通常パケットパターンのいずれでもないと判定した場合に、前記特定されたパケットを下流側のノードに前記パケット要素単位で送出する際に、前記特定されたパケットを構成する２つの前記パケット要素にそれぞれ付加された前記フラグが示すパターンが、前記空きパケットパターンとなるように、前記フラグを変更することを特徴とするデバイスシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ループ状の通信経路に接続された複数のデバイスを備えるデバイスシステムに関する。
【背景技術】
【０００２】
マルチプロセッサシステムのように、複数のプロセッサや、メモリコントローラ、キャッシュコントローラ、Ｉ／Ｏインタフェース等の複数のデバイスを備えるデバイスシステムには、それぞれのデバイスに備えられるノードを順に接続することにより形成されたループ状の通信経路（以下、「ループバス」とも呼ぶ。）を備えているものがある（例えば、下記特許文献１、２参照）。
【０００３】
【特許文献１】特開２００１−１２５８７５号公報
【特許文献２】特開昭５８−４４２７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
前述のようなループバスを備えたデバイスシステムでは、起動時に、このループバスを初期化する必要がある。例えば、初期化後において、ヘッダ部とペイロード部とから成るパケットが、ループバスを所定数だけ巡回するデバイスシステムについて考えてみる。
【０００５】
かかるデバイスシステムにおいて、データを送信しようとするデバイスでは、巡回しているパケットのうち、空きパケットを見つけて、その空きパケットに対して、ヘッダ部に制御情報を、ペイロード部に送信すべきデータを、それぞれ格納して送信する。一方、受信側デバイスでは、巡回しているパケットのヘッダ部に自分のＩＤが格納されていると、そのパケットのペイロード部に格納されているデータを取り込む。
【０００６】
各デバイスがこのような動作を行うためには、各デバイスが巡回しているパケットのヘッダ位置を知ることを要する。各デバイスは、ヘッダ位置が分からなければ、ループバスを巡回しているパケットについて、ヘッダ部に制御情報が格納されているか否かを判断できないために、そのパケットが空きパケットであるか否かを判定することができないからである。また、各デバイスは、巡回しているパケットについて、送信先ＩＤが自分のＩＤであるか否かを判定することができないために、そのパケットが自分宛のパケットであるか否かを判断できないからである。
【０００７】
そこで、このループバスの初期化処理として、各デバイスに対して、巡回する各パケットのヘッダ位置を示す信号を送信する必要がある。
【０００８】
従来、かかる初期化処理は、各デバイスが備えるノード（通信の制御を行う機能部）のうち、いずれか１つのノード（マスタノード）が実行するようにしていた。しかしながら、この場合、デバイスシステムにおける構成変更などにより、マスタノードがなくなってしまう可能性もある。
【０００９】
そこで、各デバイスが初期化処理を実行可能な構成とし、マスタノードがなくなった場合に、他のデバイスが代わりに初期化処理を実行するような構成も考えられる。しかしながら、かかる構成では、予め、各デバイスに初期化処理を実行させるためのハードウェアを実装しておかなければならず、デバイスシステムの製造コストが跳ね上がることとなる。
【００１０】
本発明は、上述した課題の少なくとも一部を解決するためになされたものであり、ループバスに接続された複数のデバイスを備えるデバイスシステムにおいて、構成変更が生じた場合でも、ループバスの初期化を実行可能とすると共に、かかる初期化に伴うデバイスシステムのコストの上昇を抑制することが可能な技術を提供することを目的とする。
【課題を解決するための手段】
【００１１】
前述の課題の少なくとも一部を解決するために、本発明の第１のデバイスシステムは、ループ状の通信経路により接続された複数のデバイスを備えるデバイスシステムであって、前記複数のデバイスのうち、少なくとも２以上のデバイスはプロセッサで構成されており、前記通信経路は、各デバイスに備えられる第１のノードと、少なくとも１つの第２のノードと、を順に接続することによりループ状に形成され、複数のパケット要素から成るパケットを一方向に巡回させることが可能であり、各ノードは、他のノードと略同期して、前記パケットを、上流側のノードから前記通信経路を介して前記パケット要素単位で順次入力し、下流側のノードに前記通信経路を介して前記パケット要素単位で順次送出し、前記第２のノードは、前記パケットを下流側のノードに前記パケット要素単位で送出する際に、送出されるパケット要素がヘッダ部であることを示すフラグ、または、送出されるパケット要素がペイロード部であることを示すフラグのうち、送出する順序に応じて、いずれかのフラグを、第１のフラグとして、送出されるパケット要素に付加することを要旨とする。
【００１２】
このように、本発明の第１のデバイスシステムでは、ループ状の通信経路には、少なくとも１つの第２のノードが接続され、この第２のノードが、パケットを下流側のノードにパケット要素単位で送出する際に、送出されるパケット要素がヘッダ部であることを示すフラグ、または、送出されるパケット要素がペイロード部であることを示すフラグのうち、送出する順序に応じて、いずれかのフラグを、第１のフラグとして、送出するパケット要素に付加するようにしている。
【００１３】
したがって、各デバイスに備えられる第１のノードは、このパケット要素に付加された第１のフラグを確認することで、通信経路を介して入力したパケット要素がヘッダ部であるのか、ペイロード部であるのかを判断することができることとなり、通信経路は初期化されることとなる。このようにして、デバイスに備えられた第１のノードとは別の第２のノードが通信経路を初期化することとなるので、デバイスの取替え等の構成変更が生じても、通信経路の初期化が行われることとなる。
【００１４】
また、第２のノードが通信経路を初期化するので、各デバイスに初期化処理を実行させるための機能部を設ける必要がない。従って、全てのデバイスに初期化処理を実行させるための機能部を設ける構成に比べて、デバイスシステムの製造コストの上昇を抑制することができる。
【００１５】
上記第１のデバイスシステムにおいて、各パケット要素には、前記第１のフラグの他に、そのパケット要素が有効であることを示すフラグ、または、そのパケット要素が無効であることを示すフラグのうち、いずれかのフラグが、第２のフラグとして付加されており、前記第２のノードは、上流側のノードから前記通信経路を介して前記パケット要素単位で前記パケットを入力する際に、そのパケットを構成する各パケット要素にそれぞれ付加された前記第２のフラグを各々検出すると共に、それら第２のフラグが示すパターンが、所定の基準パターンであるか否かを判定し、前記第２のノードは、前記所定の基準パターンでないと判定した場合に、前記パケットを下流側のノードに前記パケット要素単位で送出する際に、そのパケットを構成する前記パケット要素に付加された前記第２のフラグが示すパターンが、前記所定の基準パターンのうちの特定のパターンとなるように、前記第２のフラグを変更するようにしてもよい。
【００１６】
１つのパケットを構成する複数のパケット要素に付加される第２のフラグが、それら第２のフラグが示すパターンが所定の基準パターンとなるように、各パケット要素に付加される場合において、或るノードの出力信号レベルの変動等に起因して、第２のフラグに誤りが生じると、これら第２のフラグが示すパターンは所定の基準パターンとは異なるパターンとなる。そして、このとき、パケットにも同様に誤りが生じている可能性が高い。
【００１７】
かかる場合においても、上記構成とすることで、第２のノードの下流側のノードでは、通信経路を介して入力するこのパケットについての、第２のフラグが示すパターンが、所定のパターンのうちの特定のパターンとなっていることを確認することで、仮に自分宛のパケットであっても受信しないように判断することができる。その結果、誤りが生じたパケットを第１のノードで取り込まないようにさせることができる。
【００１８】
上記第１のデバイスシステムにおいて、前記特定のパターンは、下流側のノードに前記パケット要素単位で送出される前記パケットが、空きパケットであることを示すパターンであることが好ましい。
【００１９】
このような構成とすることで、後述するように、第１のノードが、第２のフラグが示すパターンにより、通信経路を介して入力するパケットが空きパケットであるか否かを判定する構成であれば、この第１のノードに対して、誤りが生じている可能性の高いパケットを空きパケットとして判定させることができる。
【００２０】
上記第１のデバイスシステムにおいて、前記第１のノードは、上流側のノードから前記通信経路を介して前記パケット要素単位で入力するパケットが、空きパケットであるか否かを、そのパケットを構成する各パケット要素に付加された前記第２のフラグが示すパターンに基づいて判定し、前記第１のノードは、空きパケットであると判定した場合に、そのパケットを構成する前記パケット要素のうち、前記第１のフラグが示すところの前記ヘッダ部であるパケット要素に、制御情報を含むヘッダを格納すると共に、前記第１のフラグが示すところの前記ペイロード部であるパケット要素に、宛先となる前記第１のノードに送信すべきデータを格納して、前記ヘッダが格納されたパケット要素及び前記データが格納されたパケット要素から成るパケットを、前記通信経路を介して、下流側のノードに前記パケット要素単位で送出することが可能であるようにしてもよい。
【００２１】
このような構成とすることで、送信すべきデータを有する第１のノードは、第２のノードにおいて、誤りが生じている可能性が高いパケットを空きパケットであると判定した場合に、その空きパケットに送信すべきデータやヘッダを格納して、そのパケットを下流側のノードにパケット要素単位で送出することとなる。その結果、誤りが生じている可能性が高いパケットが、いずれの第１のノードにも取り込まれずに通信経路を巡回し続けることを抑制することができる。
【００２２】
上記第１のデバイスシステムにおいて、前記パケットは、２つのパケット要素から成るようにしてもよい。
【００２３】
このようにすることで、各ノードにおいて、第２のフラグが示すパターンが所定の基準パターンであるか否かを判定するために、通信経路を介して順次入力する第２のフラグを、バッファリングする領域が比較的少なくて済むこととなる。例えば、仮にパケットが３つのパケット要素から成る場合には、３つの第２のフラグが示すパターンについて判定するために、第２のフラグを３つまでバッファリングする領域が必要となる。一方、上記構成であれば、第２のフラグを２つまでバッファリングする領域だけで済むこととなる。
【００２４】
上記第１のデバイスシステムは、１つの半導体基板上に集積化されていてもよい。
【００２５】
このようにすることで、デバイスシステム全体の物理的な大きさを、比較的コンパクトにすることができる。
【００２６】
本発明の第２のデバイスシステムは、ループ状の通信経路により接続された複数のデバイスを備えるデバイスシステムであって、前記複数のデバイスのうち、少なくとも２以上のデバイスはプロセッサで構成されており、前記通信経路は、各デバイスに備えられる第１のノードと、少なくとも１つの第２のノードと、を順に接続することによりループ状に形成され、複数のパケット要素から成るパケットを一方向に巡回させることが可能であり、各ノードは、他のノードと略同期して、前記パケットを、上流側のノードから前記通信経路を介して前記パケット要素単位で順次入力し、下流側のノードに前記通信経路を介して前記パケット要素単位で順次送出し、各パケット要素には、フラグが付加されており、前記第２のノードは、上流側のノードから前記通信経路を介して前記パケット要素単位で前記パケットを入力する際に、そのパケットを構成する各パケット要素にそれぞれ付加された前記フラグを各々検出すると共に、それらフラグが示すパターンが、所定の基準パターンであるか否かを判定し、前記第２のノードは、前記所定の基準パターンでないと判定した場合に、前記パケットを下流側のノードに前記パケット要素単位で送出する際に、そのパケットを構成する前記パケット要素に付加された前記フラグが示すパターンが、前記所定の基準パターンのうちの特定のパターンとなるように、前記フラグを変更することを要旨とする。
【００２７】
このように、本発明の第２のデバイスシステムでは、ループ状の通信経路には、少なくとも１つの第２のノードが接続され、この第２のノードが、上流側から通信経路を介して入力するパケットについてのフラグが示すパターンが所定の基準パターンであるか否かを判定し、所定の基準パターンでないと判定した場合に、パケットを下流側のノードにパケット要素単位で送出する際に、そのパケットを構成するパケット要素に付加されたフラグが示すパターンが、所定の基準パターンのうちの特定のパターンとなるようにフラグを変更するようにしている。
【００２８】
したがって、第１のノードにおいて、通信経路を介してパケット要素単位で入力するパケットについてのフラグが示すパターンは、所定の基準パターンとなる。それ故、この所定の基準パターンが、パケット要素についてのヘッダ部及びペイロード部の別が識別可能なパターンとなっていれば、各ノードでは、通信経路を介して入力したパケット要素がヘッダ部であるのか、ペイロード部であるのかを判断することができることとなり、通信経路は初期化されることとなる。このようにして、デバイスに備えられた第１のノードとは別の第２のノードが通信経路を初期化することとなるので、デバイスの取替え等の構成変更が生じても、通信経路の初期化が行われることとなる。
【００２９】
また、第２のノードが通信経路を初期化するので、各デバイスに初期化処理を実行させるための機能部を設ける必要がない。従って、全てのデバイスに初期化処理を実行させるための機能部を設ける構成に比べて、デバイスシステムの製造コストの上昇を抑制することができる。
【００３０】
また、或るノードの出力信号レベルの変動等に起因してフラグに誤りが生じると、このフラグが示すパターンは、所定の基準パターンとは異なるパターンとなる。そして、このとき、パケットにも同様に誤りが生じている可能性が高い。
【００３１】
かかる場合においても、上記構成とすることで、特定のパターンが、例えば、空きパケットを示すパターンとなっていれば、第１のノードは、このフラグが示すパターンを確認することで、通信経路を介して入力したパケットを空きパケットであると判定することができ、仮に自分宛のパケットであっても受信しないように判断することができる。その結果、誤りが生じたパケットを第１のノードで取り込まないようにさせることができる。また、送信すべきデータを有する第１のノードは、このパケットを利用して送信すべきデータを送信することができるので、誤りが生じている可能性が高いパケットが、いずれの第１のノードにも取り込まれずに通信経路を巡回し続けることを抑制することができる。
【発明を実施するための最良の形態】
【００３２】
以下、本発明を実施するための最良の形態を実施例に基づいて以下の順序で説明する。
Ａ．実施例：
Ａ１．デバイスシステムの概要構成：
Ａ２．ノードの構成及び動作：
Ａ３．クリーナノードの構成及び初期化処理：
Ａ４．制御用ビット訂正処理：
Ａ５．実施例の効果：
Ｂ．変形例：
【００３３】
Ａ．実施例：
Ａ１．デバイスシステムの概要構成：
図１は、本発明の一実施例としてのデバイスシステムの概要構成を示す説明図である。
【００３４】
図１の示すデバイスシステム１０は、４つのデバイス２０Ａ〜２０Ｄを備えており、これらデバイス２０Ａ〜２０Ｄを１つの半導体基板上に集積化したマイクロプロセッサである。
【００３５】
デバイスシステム１０では、デバイス２０Ａ及びデバイス２０Ｂをプロセッサとして、デバイス２０ＣをＩ／Ｏインタフェースとして、デバイス２０Ｄをメモリコントローラとして、それぞれ構成されている。
【００３６】
なお、デバイス２０Ａ及びデバイス２０Ｂであるプロセッサは、それぞれＣＰＵの他、キャッシュメモリ、ＲＯＭ、ＲＡＭ、ノード（通信の制御を行う機能部）などの、周辺回路を含むユニットを意味している。また、デバイス２０ＣであるＩ／Ｏインタフェース及びデバイス２０Ｄであるメモリコントローラも同様に、それぞれの主制御を行う機能部の他に、ノードなどの周辺回路を含むユニットを意味する。
【００３７】
４つのデバイス２０Ａ〜２０Ｄは、それぞれが備えるノード２２Ａ〜２２Ｄを順に接続することにより、ループ状に形成される通信経路ＮＩＯを介して互いに接続されている。
【００３８】
具体的には、図１に示すように、デバイス２０Ａのノード２２Ａと、デバイス２０Ｂのノード２２Ｂと、は通信経路ＮＩＯを構成する第１番目の部分経路ＮＩＯ１を介して接続され、デバイス２０Ｂのノード２２Ｂと、デバイス２０Ｃのノード２２Ｃと、は通信経路ＮＩＯを構成する第２番目の部分経路ＮＩＯ２を介して接続され、デバイス２０Ｃのノード２２Ｃと、デバイス２０Ｄのノード２２Ｄと、は通信経路ＮＩＯを構成する第３番目の部分経路ＮＩＯ３を介して接続され、デバイス２０Ｄのノード２２Ｄと、デバイス２０Ａのノード２２Ａと、は通信経路ＮＩＯを構成する第４番目の部分経路ＮＩＯ４を介して接続されている。
【００３９】
ここで、デバイス２０Ａとデバイス２０Ｂとの間には、本発明の特徴部分であるクリーナノード３０が設けられており、部分経路ＮＩＯ１は、ノード２２Ａとクリーナノード３０とを結ぶＮＩＯ１ａ、及び、クリーナノード３０とノード２２Ｂとを結ぶＮＩＯ１ｂに区分されている。
【００４０】
このクリーナノード３０は、各デバイス２０Ａ〜２０Ｄが備えるノード２２Ａ〜２２Ｄと同様に、通信の制御を行う機能部である。しかしながら、クリーナノード３０は、ノード２２Ａ〜２２Ｄと異なり、通信の制御の他に、通信経路ＮＩＯの初期化処理等を行う。なお、このクリーナノード３０及びノード２２Ａ〜２２Ｄの詳細構成については、後ほど説明する。
【００４１】
なお、前述のノード２２Ａ〜２２Ｄが請求項における第１のノードに、前述のクリーナノード３０が請求項における第２のノードに、それぞれ相当する。
【００４２】
以上説明したデバイスシステム１０において、各デバイス２０Ａ〜２０Ｄは、それぞれ通信経路ＮＩＯに接続されているノード２２Ａ〜２２Ｄを介して、所定の通信内容を示すデータを送受信することにより、互いに通信を行う。
【００４３】
かかる所定の通信内容としては、送信先のデバイスにデータを書き込むためのライトリクエストメッセージや、送信先のデバイスからデータを読み出すためのリードリクエストメッセージや、これらリクエストメッセージに対するレスポンスメッセージ等がある。そして、各デバイス間で送受信されるデータは、いわゆるパケットとして構成されている。
【００４４】
図２は、各デバイス間で送受信されるパケットのデータ構造を示す説明図である。
【００４５】
図２に示すように、通信経路ＮＩＯにおいて伝送されるパケットは、６４ビットの固定長であり、大きく分けて前半３２ビットのヘッダ部と、後半３２ビットのペイロード部と、から成る。
【００４６】
ヘッダ部は、さらに前半１６ビットの制御情報部と、後半１６ビットのアドレス部と、から成る。制御情報部は、先頭から順に、通信内容の種類（リードリクエストメッセージや、ライトリクエストメッセージ等）を示すフィールド（ＴＹＰＥ），データサイズを示すフィールド（Ｄｓｉｚｅ），宛先ＩＤを示すフィールド（ＤＩＤ），送信元ＩＤを示すフィールド（ＳＩＤ）から成る。アドレス部は、送信先のデバイスに書き込むデータや、送信先のデバイスから読み出されるデータを書き込むためのメモリ（図示省略）に確保されている通信用メモリのアドレスを示すフィールドから成る。
【００４７】
一方、ペイロード部は、３２ビット全てが、送受信される通信データを格納するためのフィールドである。なお、これらヘッダ部及びペイロード部が、請求項におけるパケット要素に相当する。
【００４８】
かかる構造のパケットを、各ノード２２Ａ〜２２Ｄは、３２ビット毎にパラレル転送している。
【００４９】
図３は、図１に示す通信経路ＮＩＯの詳細構成を示す説明図である。
【００５０】
図３では、図１に示す通信経路ＮＩＯのうち、部分経路ＮＩＯ１の一部を拡大して示している。図３に示すように、通信経路ＮＩＯは、第１番目〜第３４番目までの３４本の通信配線で構成されている。そして、第１番目の通信配線及び第２番目の通信配線は、後述する制御用ビット（Ｈビット及びＶビット）を伝送するための専用配線であり、第３番目の通信配線〜第３４番目の通信配線の合計３２本の配線が、前述のパケットを伝送するための専用配線である。
【００５１】
そして、図３において、ノード２２Ａは、システムクロック１サイクルで制御用ビット（２ビット）と、パケットを構成するビット（パケットビット）（３２ビット）と、を転送することができる。従って、下流側のノードであるクリーナノード３０からみると、１サイクル毎にヘッダ部（３２ビット）と、ペイロード部（３２ビット）と、が制御用ビット（２ビット）を付加されて、交互に上流側のノードであるノード２２Ａから送信されてくることとなる。
【００５２】
なお、上述したノード２２Ａと同様に、他のノード２２Ｂ〜２２Ｄ及びクリーナノード３０も、パケットを３２ビット毎にパラレル転送している。
【００５３】
ここで、前述のＨビットは、同じサイクルにおいて第３番目〜第３４番目の通信配線で伝送されるパケットビットが、ヘッダ部またはペイロード部のいずれであるかを示す制御用ビットである。具体的には、Ｈビットが「１」である場合、同じサイクルのパケットビットがヘッダ部であることを示し、Ｈビットが「０」である場合、同じサイクルのパケットビットがペイロード部であることを示す。
【００５４】
従って、図３に示すクリーナノード３０では、１サイクル毎にＨビットとして「１」と「０」とが交互にノード２２Ａから送信されてくることとなる。なお、クリーナノード３０に限らず、他のノード２２Ａ〜２２Ｄについても、１サイクル毎にＨビットとして「１」と「０」とが、通信経路ＮＩＯを介して入力することとなる。
【００５５】
一方、前述のＶビットは、同じサイクルにおいて第３番目〜第３４番目の通信配線で伝送されるパケットビットが、有効であるか、または、無効であるかを示す制御用ビットである。具体的には、Ｖビットが「１」である場合、同じサイクルのパケットビットが有効であることを示し、Ｖビットが「０」である場合、同じサイクルのパケットビットが無効であることを示す。
【００５６】
ここで、ノード２２Ａ〜２２Ｄでは、１つのパケットを構成する２つのパケットビット（ヘッダ部及びペイロード部）がいずれも無効である場合に、そのパケットを空きパケットとみなして、送信すべきデータがある場合にはそのデータを格納して送信するようにしている。
【００５７】
従って、各ノード２２Ａ〜２２Ｄ及びクリーナノード３０は、このＶビットによって、通信経路ＮＩＯを介して入力されるパケットが、空きパケットであるか、または、空きパケットではない通常パケット（いずれかのノード２０Ａ〜２０Ｄによって送信すべきデータが格納されている有効なパケット）であるか、を識別するようにしている。
【００５８】
具体的には、各ノード２２Ａ〜２２Ｄ及びクリーナノード３０は、１つのパケットを構成する２つのパケットビット（ヘッダ部及びペイロード部）と同じサイクル（連続する２サイクル）で伝送される２つのＶビットの組み合わせが、「０，０」であれば空きパケットであると、「１，１」であれば通常パケットであると、識別する。
【００５９】
なお、前述のＨビットが請求項における第１のフラグに、前述のＶビットが請求項における第２のフラグに、それぞれ相当する。
【００６０】
Ａ２．ノードの構成及び動作：
図４は、デバイスが備えるノードの構成を示す説明図である。なお、図４では、ノード２２Ａを代表して示すが、他のノード２２Ｂ〜２２Ｄも同じ構成である。
【００６１】
図４に示すノード２２Ａは、第１のレジスタ２２１と、第２のレジスタ２２２と、送受信制御部２２３と、を備えている。なお、図４に示す受信バッファ２４及び送信バッファ意２６は、プロセッサ２０Ａが備える通信用メモリ（図示省略）の一部である。
【００６２】
第１のレジスタ２２１は、ノード２２Ａの入力側に接続される部分経路ＮＩＯ４の３４ビットの配線幅に等しいビット数の記憶領域を有するレジスタである。同様に、第２のレジスタ２２２は、ノード２２Ａの出力側に接続されるＮＩＯ１ａの３４ビットの配線幅に等しいビット数の記憶領域を有するレジスタである。
【００６３】
第１のレジスタ２２１は送受信制御部２２３から出力される制御信号ＣＴＬ１によって、書き込み動作が制御され、第２のレジスタ２２２は、送受信制御部２２３から出力される制御信号ＣＴＬ２によって書き込み動作が制御される。
【００６４】
送受信制御部２２３は、システムクロックＳＣＫに同期して、１サイクル毎に制御信号ＣＴＬ１を出力して、入力側の部分経路ＮＩＯ４から入力されるデータの第１のレジスタ２２１への書き込み動作を制御すると共に、制御信号ＣＴＬ２を出力して、第１のレジスタ２２１から出力されるデータの第２のレジスタ２２２への書き込み動作を制御する。
【００６５】
そして、ノード２２Ａは、以下で説明するようにして、２サイクルのシステムクロック毎に１つのパケットを送受信する。
【００６６】
図５は、ノード２２Ａにおけるパケットの送受信の動作を説明する説明図である。
【００６７】
図５において、上段はノード２２Ａにおいて部分経路ＮＩＯ４を介して入力されるＨビットを、中段はノード２２Ａにおいて部分経路ＮＩＯ４を介して入力されるＶビットを、下段はノード２２Ａにおいて部分経路ＮＩＯ４を介して入力されるパケットビットを、それぞれ示す。
【００６８】
後述するように、ノード２２Ａは２サイクル毎に１つのパケットを送受信することから、この２サイクルを、説明の便宜上、第１のサイクルと、第２のサイクルと、に分けることとする。すなわち、第１のサイクル，第２のサイクル，第１のサイクル，第２のサイクル，・・・といったように、第１のサイクルと第２のサイクルとが交互に繰り返されることとなる。
【００６９】
そして、図５では、各サイクルにおいて第１のレジスタ２２１に格納されるビット（Ｈビット，Ｖビット，パケットビット）及び第２のレジスタ２２２に格納されるビット（Ｈビット，Ｖビット，パケットビット）の組み合わせを、矩形で囲んで示している。なお、この組み合わせにおいて、右側が第１のレジスタ２２１に格納されるビットを、左側が第２のレジスタ２２２に格納されるビットを、それぞれ示す。
【００７０】
また、図５では、第１のサイクルにおける前述の組み合わせを、１−ｎで示し、第２のサイクルにおける前述の組み合わせを、２−ｎで示している。なお、「ｎ」は、１，２，３，・・・の自然数を示しており、１−ｎはｎ番目の第１のサイクルを、２−ｎはｎ番目の第２のサイクルを、それぞれ示す。従って、サイクル１−１，サイクル２−１，サイクル１−２，サイクル２−２，・・・の順序で２サイクルが繰り返される。
【００７１】
具体的には、例えば、サイクル１−１では、第１のレジスタ２２１には、Ｈビットとして「０」が、Ｖビットとして「１」が、パケットビットとして「ペイロード部」が、それぞれ格納されると共に、第２のレジスタ２２２には、Ｈビットとして「１」が、Ｖビットとして「１」が、パケットビットとして「ヘッダ部」が、それぞれ格納される。
【００７２】
今、サイクル２−１において、図５に示すように、第１のレジスタ２２１に、Ｈビット「１」，Ｖビット「１」，パケットビット「ヘッダ部」が書き込まれ、第２のレジスタ２２２に、Ｈビット「０」，Ｖビット「１」，パケットビット「ペイロード部」が書き込まれたものとする。
【００７３】
図４に示す送受信制御部２２３は、図５に示す次のサイクル１−２が開始される前において、既に第１のレジスタ２２１に書き込まれており、サイクル１−２で第２のレジスタ２２２に書き込まれる予定のＨビット「１」と、部分経路ＮＩＯ４を伝送されており、サイクル１−２で第１のレジスタ２２１に書き込まれる予定のＨビット「０」と、に基づき、次のサイクル１−２で第２のレジスタ２２２及び第１のレジスタ２２１に書き込む予定のパケットビット（合計６４ビット）が、１つのパケットであることを判断する。
【００７４】
Ｈビットの組み合わせが、「１，０」（第２のレジスタ２２２，第１のレジスタ２２１）であれば、パケットビットの組み合わせは「ヘッダ部，ペイロード部」（第２のレジスタ２２２，第１のレジスタ２２１）である。ここで、パケットは、図２に示すように、ヘッダ部，ペイロード部の順に伝送されるので、Ｈビットが前述の組み合わせ（１，０）の場合に、パケットビットの組み合わせが、１つのパケットを示すこととなる。
【００７５】
上述した１つのパケットであるか否かの判断と併せて、送受信制御部２２３は、既に第１のレジスタ２２１に書き込まれており、サイクル１−２で第２のレジスタ２２２に書き込まれる予定のＶビットと、部分経路ＮＩＯ４を伝送されており、サイクル１−２で第１のレジスタ２２１に書き込まれる予定のＶビットと、に基づき、この１つのパケットが通常パケットであるか否かを判断する。
【００７６】
図５に示すように、サイクル１−２におけるＶビットの組み合わせは「１，１」（第２のレジスタ２２２，第１のレジスタ２２１）になる予定であるので、この場合、送受信制御部２２３は、通常パケットであると判断することとなる。
【００７７】
そして、送受信制御部２２３は、通常パケットであると判断した場合、次のサイクル１−２で第２のレジスタ２２２に書き込まれる予定のパケットビット「ヘッダ部」に記載されているＤＩＤに基づいて、このパケットが自分宛のパケットであるか否かを判断する。
【００７８】
このとき、送受信制御部２２３は、自分宛のパケットであると判断すると、サイクル１−２の書き込みタイミングにおいて、第１のレジスタ２２１の入力パケットビット及び出力パケットビットを取り込んで、受信バッファ２４に格納し、さらに、第１のレジスタ２２１及び第２のレジスタ２２２にパケットビットとして、全て「０」を書き込むのと共に、第１のレジスタ２２１及び第２のレジスタ２２２にＶビットとして、いずれも「０」を書き込むことにより、出力側の部分経路ＮＩＯ１ａから空きパケットの送信を開始する。このようにして、ノード２２Ａは、自分宛のパケットを受信することとなる。
【００７９】
一方、送受信制御部２２３は、自分宛のパケットでないと判断すると、パケットビットの受信バッファ２４への格納を行わず、そのまま、サイクル１−２の書き込みタイミングで、第１のレジスタ２２１に書き込まれている各ビット（Ｈビット，Ｖビット，パケットビット）を第２のレジスタ２２２に書き込むと共に、入力側の部分経路ＮＩＯ４から入力される各ビット（Ｈビット，Ｖビット，パケットビット）を第１のレジスタ２２１に書き込み、出力側の部分経路ＮＩＯ１ａからこの自分宛ではないパケットの送信を開始する。
【００８０】
以上の説明では、部分経路ＮＩＯ４から入力されるパケットが通常パケットであったが、仮に、入力されるパケットが空きパケットであり、送信バッファ２６に送信待ちパケットが格納されている場合には、送受信制御部２２３は、上述したサイクル１−２において、第２のレジスタ２２２及び第１のレジスタ２２１に、パケットビット（ヘッダ部及びペイロード部），Ｈビット（１，０），Ｖビット（１，１）を書き込むことにより、出力側の通信経路ＮＩＯａから、通常パケットの送信を開始することができる。
【００８１】
このようにして、デバイス２０Ａのノード２２Ａは、２サイクルのシステムクロック毎に、１つのパケットの受信及び送信を実行することができる。また、他のデバイス２０Ｂ〜２０Ｄのノード２２Ｂ〜２２Ｄも同様にして、２サイクルのシステムクロック毎に、１つのパケットの受信及び送信を実行することができる。
【００８２】
以上説明したように、各ノード２２Ａ〜２２Ｄは、Ｈビットに基づいて、次のサイクルで２つのレジスタに格納される予定のパケットビットの組み合わせが、１つのパケットであるか否かを判断すると共に、ヘッダ部を識別して、そのヘッダ部に記載されているＤＩＤにより自分宛のパケットであるか否かを判定するようにしている。
【００８３】
しかしながら、デバイスシステム１０の起動時には、このＨビットとして、各サイクル毎に１，０，１，０・・・と交互の値となるように、通信経路ＮＩＯ中に伝送されておらず、例えば、全てのサイクルにおいて「０」が伝送されている状態である。従って、このままでは、各ノード２２Ａ〜２２Ｄは、パケットビットとしてヘッダ部が伝送されるサイクルが分からず、パケットの送受信を行うことができない。
【００８４】
そこで、通信経路ＮＩＯの初期化処理として、クリーナノード３０が、Ｈビットとして、各サイクル毎に１，０，１，０，・・・と交互の値を、通信経路ＮＩＯに送出するようにする。
【００８５】
Ａ３．クリーナノードの構成及び初期化処理：
図６は、クリーナノード３０の構成を示す説明図である。
【００８６】
図６に示すクリーナノード３０は、ノード２２Ａ〜２２Ｄと同様に、第１のレジスタ３０１と、第２のレジスタ３０２と、送受信制御部３０３と、を備えている。なお、第１のレジスタ３０１及び第２のレジスタ３０２は、前述の図４に示す第１のレジスタ２２１及び第２のレジスタ２２２と同じであるので、説明を省略する。
【００８７】
第１のレジスタ３０１は、送受信制御部３０３から出力される第１の制御信号ＣＴＬ１０によって書き込み動作が制御され、第２のレジスタ３０２は、送受信制御部３０３から出力される第２の制御信号ＣＴＬ２０によって書き込み動作が制御される。なお、送受信制御部３０３は、前述の送受信制御部２２３と同様にシステムクロックＳＣＫを入力している。
【００８８】
デバイスシステム１０が起動されると、図６に示すクリーナノード３０において、送受信制御部３０３は、通信経路ＮＩＯの初期化処理として、前述の第１のサイクルの書き込みタイミングにおいて、第２のレジスタ３０２に、Ｈビット「１」，Ｖビット「０」，パケットビット「全て０」を書き込み、第１のレジスタ３０１に、Ｈビット「０」，Ｖビット「１」，パケットビット「全て０」を書き込む。
【００８９】
また、送受信制御部３０３は、前述の第２のサイクルの書き込みタイミングでは、１つ前のサイクル（第１のサイクル）で第１のレジスタ３０１に書き込まれていたＨビット「０」，Ｖビット「０」，パケットビット「全て０」を、第２のレジスタ３０２に書き込み、第１のレジスタ３０１に、Ｈビット「１」，Ｖビット「１」，パケットビット「全て０」を書き込む。そして、送受信制御部３０３は、以上の第１のサイクル及び第２のサイクルの動作を、繰り返し実行する。
【００９０】
このようにすることで、クリーナノード３０の出力側の部分経路ＮＩＯ１ｂには、Ｈビットとして、各サイクル毎に１，０，１，０，・・・と交互に繰り返し送出されることとなり、各ノード２２Ａ〜２２Ｄは、パケットビットとしてヘッダ部が伝送されるサイクルを知ることができる。また、このとき、クリーナノード３０からは空きパケットが送出されるので、各ノード２２Ａ〜２２Ｄは、この空きパケットを利用して、他のノードに対してデータを送信することができる。
【００９１】
そして、クリーナノード３０は、以上の初期化処理を開始した後において、通信経路ＮＩＯを１週して戻ってきた空きパケット、または、いずれかのノードがデータをペイロード部に格納した通常パケットのいずれかを入力した場合に、空きパケットの通信経路ＮＩＯへの送出を停止して、後述する制御用ビット訂正処理を行う。
【００９２】
Ａ４．制御用ビット訂正処理：
通信経路ＮＩＯの初期化後において、ノードにおける出力信号レベルの突発的な変動などに起因して、Ｈビット或いはＶビットの誤りが発生する可能性がある。そして、Ｈビットに誤りが発生した場合、各ノードは、例えば、受信するパケットビットがペイロード部を表すビットであるにも関わらず、ヘッダ部であると判断するといったように、パケットの切れ目を誤って判断する場合が発生し得る。
【００９３】
かかる場合、宛先ノードでは、ＤＩＤを誤って判断することとなり、自分宛のパケットであるにも関わらず、他のノード宛のパケットであると判断することとなる。その結果、上述したように、宛先ノードは、自分宛のパケットを、そのまま出力側の部分経路に出力するので、このパケットが通信経路ＮＩＯ内を巡回し続けることとなる。
【００９４】
また、Ｖビットに誤りが発生した場合、例えば、通常パケットであるにも関わらず、かかるパケットを構成するパケットビットの組み合わせに対応するＶビットの組み合わせが、本来の組み合わせ「１，１」ではなく、「１，０」や「０，１」となってしまうおそれがある。
【００９５】
かかる場合、宛先のノードでは、通常パケットでないと判断することとなる。そして、この場合、宛先のノードは、上述した自分宛ではないパケットを受信した場合と同様な処理を、このパケットについて行うこととなる。すなわち、本来、自分宛のパケットであるのにも関わらず、そのパケットを、受信バッファ２４に取り込むことなくそのまま出力側の部分経路に出力することとなる。その結果、この通常パケットが通信経路ＮＩＯ内を巡回し続けることとなる。
【００９６】
また、同様に、空きパケットであるのにも関わらず、Ｖビットの組み合わせが、本来の組み合わせ「０，０」でなく、「１，０」や「０，１」となってしまった場合も、この空きパケットが通信経路ＮＩＯ内を巡回し続けることとなる。
【００９７】
そこで、クリーナノード３０は、かかる不都合を抑制すべく、制御用ビット訂正処理として、Ｈビット及びＶビットを監視すると共に、不正なＨビットまたはＶビットを発見した場合に、当該ビットを訂正するようにしている。
【００９８】
一方、パケットビットについては、クリーナノード３０は監視しておらず、入力側の部分経路ＮＩＯ１ａから入力したパケットを、通常パケット／空きパケットの別に関わらず、そのまま出力側の部分経路ＮＩＯ１ｂに出力するようにしている。
【００９９】
図７は、クリーナノード３０における制御用ビット訂正処理を説明する説明図である。
【０１００】
図７において、（Ａ）は部分経路ＮＩＯ１ａを介してクリーナノード３０に入力されるＨビットを、（Ｂ）は部分経路ＮＩＯ１ａを介してクリーナノード３０に入力されるＶビットを、それぞれ示す。なお、図７において、各ビットを囲む矩形（１−ｎ／２−ｎ）は、図５に示す矩形（１−ｎ／２−ｎ）と同様であるので、説明を省略する。
【０１０１】
今、サイクル２−１１において、図７に示すように、クリーナノード３０の第１のレジスタ３０１に、Ｈビット「１」，Ｖビット「１」が書き込まれており、第２のレジスタ３０２に、Ｈビット「０」，Ｖビット「１」が書き込まれたものとする。
【０１０２】
図６に示す送受信制御部３０３は、図７に示す次のサイクル１−１２が開始される前において、既に第１のレジスタ３０１に書き込まれており、サイクル１−１２で第２のレジスタ３０２に書き込まれる予定のＨビット「１」と、部分経路ＮＩＯ１ａを伝送されており、サイクル１−１２で第１のレジスタ３０１に書き込まれる予定のＨビット「１」と、に基づき、Ｈビットの正常性を判断する。
【０１０３】
かかる場合、送受信制御部３０３は、「１」の次に「０」ではなく「１」が続くので、サイクル１−１２で第１のレジスタ３０１に書き込まれる予定のＨビットが不正なＨビットであると判断する。そして、この場合、送受信制御部３０３は、図７（Ａ）の太線の矩形に示すように、次のサイクル１−１２の書き込みタイミングで、第２のレジスタ３０２には、サイクル２−１１において第１のレジスタ３０１に書き込まれていた「１」をＨビットとして書き込み、一方、第１のレジスタ３０１には、部分経路ＮＩＯ１ａに伝送されていた「１」に代えて、「０」をＨビットとして書き込むようにする。
【０１０４】
このようにすることで、不正なＨビットが訂正され、パケットの切れ目の誤判断を抑制することができる。
【０１０５】
また、送受信制御部３０３は、上述したＨビットの訂正と併せて、Ｖビットも訂正するようにする。
【０１０６】
具体的には、図７（Ｂ）の太線の矩形に示すように、次のサイクル１−１２の書き込みタイミングで、第２のレジスタ３０２には、サイクル２−１１において第１のレジスタ３０１に書き込まれていた「１」に代えて、「０」をＶビットとして書き込み、第１のレジスタ３０１にも同様にして、部分経路ＮＩＯ１ａに伝送されていた「１」に代えて、「０」をＶビットとして書き込むようにする。
【０１０７】
このようにすることで、クリーナノード３０は、Ｈビットの誤りが発生した通常パケットを、空きパケットとして部分経路ＮＩＯ１ｂに出力することとなる。このようにＨビットの訂正と併せてＶビットも訂正して、通常パケットを空きパケットに変更するのは、Ｈビットに誤りが生じた場合、パケットビットにも同様に誤りが生じている可能性があるので、かかる誤りを含むパケットを宛先ノードで受信バッファに格納させないようにするためである。また、空きパケットとすることで、他のノードがデータを送信するのに、このパケットを用いることが可能となるからである。
【０１０８】
以上説明したＨビットの誤りは、本来、パケットビットがペイロード部であるのにも関わらず、同じサイクルのＨビットが「０」ではなく、「１」になった場合であったが、この場合の他、本来、パケットビットがヘッダ部であるのにも関わらず、同じサイクルのＨビットが「０」になった場合や、Ｖビットの誤りが発生した場合も、クリーナノード３０は、Ｈビット及びＶビットの訂正を行うようにしている。
【０１０９】
図８は、制御用ビット訂正処理におけるＨビットまたはＶビットの訂正の一例を示す説明図である。
【０１１０】
図８では、Ｈビットの誤りが発生した２つのケース（ケースＡ，Ｂ）及びＶビットの誤りが発生した２つのケース（ケースＣ，Ｄ）について、それぞれ、訂正前後における、Ｈビットの組み合わせ及びＶビットの組み合わせを示している。
【０１１１】
図８に示す各ケースＡ〜Ｄにおいて、訂正前のＨビットの組み合わせは、左側が第２のレジスタ３０２に書き込まれる予定のＨビットを、右側が第１のレジスタ３０１に書き込まれる予定のＨビットを、それぞれ示す。
【０１１２】
一方、図８に示す各ケースＡ〜Ｄにおいて、訂正後のＨビットの組み合わせは、左側が実際に第２のレジスタ３０２に実際に書き込まれるＨビットを、右側は実際に第１のレジスタ３０１に書き込まれるＨビットを、それぞれ示す。
【０１１３】
なお、Ｖビットの組み合わせについても、Ｈビットの組み合わせと同様であるので、説明を省略する。また、図８において「ｘ」は、「１」または「０」のいずれかの値であることを示す。
【０１１４】
また、図示は省略しているが、パケットビットについては、第２のレジスタ３０２にはヘッダ部が、第１のレジスタ３０１にはペイロード部が、それぞれ、訂正前において書き込まれる予定であり、訂正後において実際に書き込まれるものとする。
【０１１５】
図８に示すケースＡは、パケットビットとしてペイロード部が第１のレジスタ３０１に書き込まれる予定であるにも関わらず、同じサイクルで書き込まれる予定のＨビットが「１」であるという、Ｈビットの誤りが発生しているケースである。このケースは、上述した図７のケースと同じであり、訂正後のＨビットの組み合わせは（１，０）となり、Ｖビットの組み合わせは（０，０）となる。
【０１１６】
また、ケースＢは、パケットビットとしてヘッダ部が第２のレジスタ３０２に書き込まれる予定であるにも関わらず、同じサイクルで書き込まれる予定のＨビットが「０」であるという、Ｈビットの誤りが発生しているケースである。
【０１１７】
また、ケースＣ、Ｄは、Ｈビットには誤りが発生していないが、Ｖビットに誤りが発生しており、Ｖビットの組み合わせが、空きパケットを意味する（０，０）、または、通常パケットを意味する（１，１）のいずれの組み合わせでもないケースである。
【０１１８】
これらケースＢ〜Ｄにおいても、クリーナノード３０における送受信制御部３０３は、ＨビットまたはＶビットを訂正して、ケースＡと同様に、Ｈビットの組み合わせを（１，０）とし、Ｖビットの組み合わせを（０，０）とする。
【０１１９】
このように、送受信制御部３０３は、ＨビットまたはＶビットの誤りを発見した場合には、ＨビットまたはＶビットを訂正して、誤りの生じたビットに対応するパケットについて、Ｖビットの組み合わせを（０，０）とすることで、かかるパケットを空きパケットとして部分経路ＮＩＯ１ｂから出力する。
【０１２０】
Ａ５．実施例の効果：
以上説明したように、デバイスシステム１０では、通信経路ＮＩＯ上に、各デバイス２０Ａ〜２０Ｄのノード２２Ａ〜２２Ｄの他に、クリーナノード３０を設置している。そして、このクリーナノード３０のみが通信経路ＮＩＯの初期化処理を行うようにしている。従って、いずれかのデバイスの備えるノードがマスタノードとなり、通信経路ＮＩＯの初期化を行う構成ではないので、デバイスの取替え等のシステムの構成変更が生じても、通信経路ＮＩＯの初期化を行うことが可能となる。
【０１２１】
また、クリーナノード３０のみが通信経路ＮＩＯの初期化を行うので、全てのデバイス２０Ａ〜２０Ｄに初期化処理を行う回路を設ける必要がない。それ故、全てのデバイス２０Ａ〜２０Ｄに初期化処理を行う回路を設ける構成に比べて、デバイスシステム１０の製造コストの上昇を抑制することができる。
【０１２２】
また、クリーナノード３０は、初期化後において、ＨビットとＶビットとを監視して、いずれかのビットに誤りを発見した場合に、Ｈビット及びＶビットを訂正して、そのビットに対応するパケットを空きパケットとして部分経路ＮＩＯ１ｂに出力するようにしている。従って、ＨビットまたはＶビットの誤りと同じタイミングで、パケットビットに誤りが生じたような場合に、かかる誤りを含むパケットを宛先ノードで受信バッファに格納させないようにすることができる。また、ＨビットまたはＶビットの誤りと同じタイミングで、パケットビットのうち、ヘッダ部のＤＩＤに誤りが生じて、存在しないＤＩＤに変わってしまったような場合にも、クリーナノード３０では、かかるパケットを空きパケットにして出力するので、いずれのノードでも取り込まれないパケットが、通信経路ＮＩＯを巡回し続けることを抑制することができる。
【０１２３】
Ｂ．変形例：
なお、本発明は、前述の実施例や実施形態に限られるものではなく、その要旨を逸脱しない範囲において、種々の態様において実施することが可能であり、例えば以下のような変形も可能である。
【０１２４】
Ｂ１．変形例１：
上述した実施例では、クリーナノード３０は、部分経路ＮＩＯ１にのみ設ける構成であったが、部分経路ＮＩＯ１のみならず、他の部分経路ＮＩＯ２〜ＮＩＯ４に設ける構成であっても構わない。このような構成とすることで、初期化処理において、空きパケットを通信経路ＮＩＯに送出するノードが増えるので、初期化処理をより早く完了させることができる。
【０１２５】
Ｂ２．変形例２：
上述した実施例では、Ｈビットが、「１」である場合に同じサイクルで伝送されるパケットビットがヘッダ部であることを示し、「０」である場合に同じサイクルで伝送されるパケットビットがペイロード部であることを示すものとしたが、本発明はこれに限定されるものではない。これとは逆に、Ｈビットが、「１」である場合に同じサイクルで伝送されるパケットビットがペイロード部であることを示し、「０」である場合に同じサイクルで伝送されるパケットビットがヘッダ部であることを示すものとしても構わない。
【０１２６】
また、Ｖビットについても、上述した実施例では、１つのパケットを構成する２つのパケットビットと同じサイクルで伝送される２つのＶビットの組み合わせが、「０，０」であれば空きパケットを示し、「１，１」であれば通常パケットを示すものとしたが、本発明はこれに限定されるものではない。これとは逆に、Ｖビットの組み合わせが、「０，０」であれば通常パケットを示し、「１，１」であれば空きパケットを示すものとしても構わない。
【０１２７】
Ｂ３．変形例３：
上述した実施例では、クリーナノード３０では、不正なＨビットまたはＶビットを発見した場合に、発見したビットに対応するパケットについてのＶビットの組み合わせを（０，０）とすることで、かかるパケットを空きパケットとして出力していたが、Ｖビットビットの組み合わせを（０，０）とすると共に、かかるパケットに対応するパケットビットを全て０にした上で出力するようにしても構わない。
【０１２８】
各デバイス２０Ａ〜２０Ｄは、Ｖビットの組み合わせだけで、空きパケットか否かを判断するようにしている。従って、パケットビットが全て０であるか否かに関わらず、そのパケットにおけるＶビットの組み合わせが（０，０）であれば空きパケットと判断し、送信待ちパケットが送信バッファにある場合には、ヘッダ部及びペイロード部に、それぞれ制御情報及び通信データを格納（上書き）するからである。
【０１２９】
Ｂ４．変形例４：
上述した実施例では、パケット（６４ビット）は、ヘッダ部（３２ビット）及びペイロード部（３２ビット）毎に、パケットビットとしてパラレル転送されるものとしたが、本発明はこれに限定されるものではない。例えば、１６ビット毎にパラレル転送するものとして、ヘッダ部（前半），ヘッダ部（後半），ペイロード部（前半），ペイロード部（後半），・・・の順序で転送するようにしてもよい。
【０１３０】
なお、この場合、クリーナノードは、Ｈビットを、１，１，０，０，・・・の順序で通信経路ＮＩＯに送出するようにすればよい。また、各ノード及びクリーナノードは、４つのＶビットの組み合わせで、空きパケット（０，０，０，０）または通常パケット（１，１，１，１）を識別するようにすればよい。
【０１３１】
Ｂ５．変形例５：
上述した実施例では、クリーナノード３０は、制御用ビット訂正処理において、Ｈビット及びＶビットをそれぞれ別個に監視するようにしていたが、これに代えて、Ｈビット及びＶビットから成る１つのパターンが、所定の基準パターンであるか否かを判定することにより、監視するようにしてもよい。
【０１３２】
具体的には、例えば、クリーナノード３０において、送受信制御部３０３に、１つのパケットを構成する２つのパケットビットと同じサイクルのＨビット（２ビット）及びＶビット（２ビット）の基準パターンを予め設定しておく。
【０１３３】
この基準パターンは、通常パケットを示すパターン（１，０，１，１）、または、空きパケットを示すパターン（１，０，０，０）の２つのパターンである。なお、いずれのパターンも、（Ｈビット前半，Ｈビット後半，Ｖビット前半，Ｖビット後半）を示す。
【０１３４】
そして、入力される１つのパケットについての、Ｈビット及びＶビットの組み合わせが前述の基準パターンと一致するか否かを判定し、一致しない場合に、当該パケットについてのＨビット及びＶビットの組み合わせを、空きパケットを示すパターン（１，０，０，０）となるように、Ｈビット及びＶビットを訂正するようにすればよい。
【０１３５】
このようにしても、ＨビットまたはＶビットの誤りに起因して、いずれのノードでも取り込まれないパケットが、通信経路ＮＩＯを巡回し続けることを抑制することができる。
【０１３６】
Ｂ６．変形例６：
上述した実施例において、デバイスシステム１０は、４つのデバイス２０Ａ〜２０Ｄを備える構成であったが、４つに限らず、２つまたは３つのデバイスや、５つ以上のデバイスを備える構成であっても構わない。
【０１３７】
Ｂ７．変形例７：
上述した実施例において、デバイスシステム１０は、１つの半導体基板上に集積されているものとしたが、各デバイスが、それぞれ別個の半導体基板上に実装されている構成であっても構わない。
【図面の簡単な説明】
【０１３８】
【図１】本発明の一実施例としてのデバイスシステムの概要構成を示す説明図。
【図２】各デバイス間で送受信されるパケットのデータ構造を示す説明図。
【図３】図１に示す通信経路ＮＩＯの詳細構成を示す説明図。
【図４】デバイスが備えるノードの構成を示す説明図。
【図５】ノード２２Ａにおけるパケットの送受信の動作を説明する説明図。
【図６】クリーナノード３０の構成を示す説明図。
【図７】クリーナノード３０における制御用ビット訂正処理を説明する説明図。
【図８】制御用ビット訂正処理におけるＨビットまたはＶビットの訂正の一例を示す説明図。
【符号の説明】
【０１３９】
１０…デバイスシステム
ＮＩＯ…通信経路
ＮＩＯ１〜ＮＩＯ４，ＮＩＯ１ａ，ＮＩＯ１ｂ…部分経路    ２０Ａ〜２０Ｄ…デバイス    ２２Ａ〜２２Ｄ…ノード
２４…受信バッファ    ２６…送信バッファ
３０…クリーナノード
２２１…第１のレジスタ
２２２…第２のレジスタ
２２３…送受信制御部
３０１…第１のレジスタ
３０２…第２のレジスタ
３０３…送受信制御部
ＳＣＫ…システムクロック
【図１】
0004788308.tif 000002
【図２】
0004788308.tif 000003
【図３】
0004788308.tif 000004
【図４】
0004788308.tif 000005
【図５】
0004788308.tif 000006
【図６】
0004788308.tif 000007
【図７】
0004788308.tif 000008
【図８】
0004788308.tif 000009