(57)【要約】【課題】ＣＰＵの負担が少なく高速なネットワーク通信装置を小規模な回路で実現する。【解決手段】差分回路２１は、トークンの送信元アドレスと自らのアドレスとの差分データを生成する。上位エンコーダ２３は、レジスタ３３ａ〜３３ｈのうち、差分データの上位ビットに対応するレジスタを選択し、下位エンコーダ２４は、当該レジスタの下位ビットに対応する位置のビットをセットする。一方、上位プライオリティエンコーダ４３は、セットされたビットを含む上記レジスタ３３ａ〜３３ｈの中から、最優先のレジスタに対応する上位ビットを出力し、下位プライオリティエンコーダ４５は、当該レジスタのセットされたビットのうち、最優先のビットに対応する下位ビットを出力し、加算器４６は、上位および下位ビットと自らのアドレスとを加算して、次のネットワーク機器のアドレスを出力する。【選択図】  図１
2005072693.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク上を伝送される各トークンに含まれる送信元のアドレスを抽出するアドレス抽出手段と、抽出したアドレスの中から、自らのアドレスに隣接するアドレスを決定する隣接アドレス決定手段とを有するネットワーク通信装置において、
上記隣接アドレス決定手段は、上記アドレス抽出手段が抽出した各送信元のアドレスについて、送信元のアドレスと、自らのアドレスとの差分を示す差分データを出力する差分回路と、
上記差分データのうちの予め定められたビット幅の上位ビットが取りうる値、それぞれに対応して設けられたレジスタであって、上記差分データの残余の下位ビットが取りうる値、それぞれに対応して設けられたフラグ領域を含むレジスタと、
上記各フラグ領域のうち、上記差分回路が出力した差分データの上位ビットに対応するレジスタに含まれ、当該差分データの下位ビットに対応するフラグ領域へフラグを設定するフラグ設定回路と、
フラグが設定されたフラグ領域を含む上記レジスタのうち、予め定められた優先順位が最も高いレジスタを選択するマルチプレクサと、
当該マルチプレクサが選択したレジスタに含まれ、しかも、フラグが設定されたフラグ領域のうち、予め定められた優先順位が最も高いフラグ領域に対応する下位ビットを出力する下位プライオリティエンコーダと、
フラグが設定されたフラグ領域を含む上記レジスタのうち、予め定められた優先順位が最も高いレジスタに対応する上位ビットを出力する上位プライオリティエンコーダと、
上記両プライオリティエンコーダの出力の組み合わせとして復元された差分データに、自らのアドレスを加算して、上記隣接アドレスを出力する加算器とを備えていることを特徴とするネットワーク通信装置。
【請求項２】
上記両プライオリティエンコーダおよびマルチプレクサの優先順位を上記順番とは逆に変更する優先順位変更回路を備えていることを特徴とする請求項１記載のネットワーク通信装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、例えば、トークンパッシングバスシステムで使用されるネットワーク通信装置など、ネットワーク上を伝送される各トークンに含まれる送信元のアドレスを抽出し、抽出したアドレスの中から、自らのアドレスに隣接するアドレスを決定するネットワーク通信装置に関するものである。
【０００２】
【従来の技術】
従来より、トークンパッシングバスシステムで使用されるネットワーク通信装置では、ネットワーク上を伝送される各トークンに含まれる送信元のアドレスを抽出するなどして、自らのアドレスに隣接するアドレスを決定している。（後述の特許文献１参照）
【０００３】
【特許文献１】
特開平１１−１７７５６０号公報（公開日：１９９９年７月２日）
【０００４】
【発明が解決しようとする課題】
しかしながら、上記従来の構成において、ＣＰＵがプログラムを実行することにより上記隣接するアドレスを決定する処理を行うと共に、当該ＣＰＵが各トークンに含まれる送信元のアドレスをメモリに蓄積し、当該アドレスを並べかえて、自らのアドレスに隣接するアドレスを決定しようとすると、ＣＰＵの負担が大きくなり、通信速度が速く、より短い時間でのアドレス決定が必要な場合には、高い演算能力を持ったＣＰＵが必要になる。
【０００５】
一方、上記ＣＰＵと全く同じ動作を行う論理回路によって、隣接するアドレスを決定しようとすると、回路規模が大きくなってしまう。
【０００６】
本発明は、上記の問題点に鑑みてなされたものであり、その目的は、高速で、しかも、ＣＰＵなどの演算手段の負担の少ないネットワーク通信装置を、比較的回路規模の小さい回路によって実現することにある。
【０００７】
【課題を解決するための手段】
請求項１記載の発明に係るネットワーク通信装置は、上記課題を解決するために、ネットワーク上を伝送される各トークンに含まれる送信元のアドレスを抽出するアドレス抽出手段と、抽出したアドレスの中から、自らのアドレスに隣接するアドレスを決定する隣接アドレス決定手段とを有するネットワーク通信装置において、以下の手段を講じたことを特徴としている。
【０００８】
すなわち、上記隣接アドレス決定手段は、上記アドレス抽出手段が抽出した各送信元のアドレスについて、送信元のアドレスと、自らのアドレスとの差分を示す差分データを出力する差分回路と、上記差分データのうちの予め定められたビット幅の上位ビットが取りうる値、それぞれに対応して設けられたレジスタであって、上記差分データの残余の下位ビットが取りうる値、それぞれに対応して設けられたフラグ領域を含むレジスタと、上記各フラグ領域のうち、上記差分回路が出力した差分データの上位ビットに対応するレジスタに含まれ、当該差分データの下位ビットに対応するフラグ領域へフラグを設定するフラグ設定回路と、フラグが設定されたフラグ領域を含む上記レジスタのうち、予め定められた優先順位が最も高いレジスタを選択するマルチプレクサと、当該マルチプレクサが選択したレジスタに含まれ、しかも、フラグが設定されたフラグ領域のうち、予め定められた優先順位が最も高いフラグ領域に対応する下位ビットを出力する下位プライオリティエンコーダと、フラグが設定されたフラグ領域を含む上記レジスタのうち、予め定められた優先順位が最も高いレジスタに対応する上位ビットを出力する上位プライオリティエンコーダと、上記両プライオリティエンコーダの出力の組み合わせとして復元された差分データに、自らのアドレスを加算して、上記隣接アドレスを出力する加算器とを備えている。
【０００９】
上記構成では、送信元のアドレスが、ある値のトークンがネットワーク上を既に伝送されたか否かを記憶する際、差分回路が、当該アドレスと自らのアドレスとの差分データを生成し、フラグ設定回路は、上記差分回路が当該差分データを出力したか否かを示すフラグをレジスタ群（上記レジスタのいずれか）に記憶する。
【００１０】
さらに、レジスタ群にフラグが格納されると、上記上位プライオリティエンコーダによって、フラグが設定されたフラグ領域を含む上記レジスタのうち、予め定められた優先順位が最も高いレジスタ（最優先のレジスタ）に対応する上位ビットが生成される。また、下位プライオリティエンコーダによって、マルチプレクサが選択した上記最優先のレジスタに含まれ、しかも、フラグが設定されたフラグ領域のうち、予め定められた優先順位が最も高いフラグ領域（最優先のフラグ領域）に対応する下位ビットが出力される。
【００１１】
ここで、上記フラグは、送信元のアドレス自体から直接生成されたものではなく、差分データから生成されたフラグなので、自らのアドレスから直接フラグを生成する場合と異なり、自らのアドレスが、どのような値であっても、上記優先順位を代えることなく、上記最優先のレジスタおよびフラグ領域を特定できる。したがって、プライオリティエンコーダやマルチプレクサのように、比較的回路規模の小さな回路によって、上記最優先のレジスタおよびフラグ領域に対応する上位ビットおよび下位ビットを生成でき、自らのアドレスに隣接するアドレスに対応する差分データを復元できる。さらに、上記加算器によって、差分データがアドレスに変換される。
【００１２】
これらの結果、比較的回路規模が小さい回路によって、自らのアドレスに隣接するアドレスを決定できる。また、ソフトウェアではなく、ハードウェアによって、隣接アドレスを決定しているので、ＣＰＵなどの演算手段がソフトウェアを実行して隣接アドレスを決定する場合と比較して、演算手段の負担を軽減でき、高速に隣接アドレスを決定できる。この結果、高速かつ演算手段の負担の少ないネットワーク通信装置を、比較的回路規模の小さい回路によって実現できる。
【００１３】
さらに、請求項２記載の発明に係るネットワーク通信装置は、上記構成に加えて、上記両プライオリティエンコーダおよびマルチプレクサの優先順位を上記順番とは逆に変更する優先順位変更回路を備えていることを特徴としている。なお、優先順位変更回路は、例えば、制御信号に応じて、レジスタの各出力から両プライオリティエンコーダおよびマルチプレクサまでの信号の伝送経路を優先順位が逆転するように切り換えるスイッチと、上位ビットまたは下位ビットの値を反転する論理回路となどによって実現できる。
【００１４】
当該構成では、優先順位変更回路によって、上記両プライオリティエンコーダおよびマルチプレクサの優先順位を反転できる。したがって、優先順位を反転するか否かによって、自らのアドレスに隣接するアドレスのうち、自らのアドレスよりも大きなアドレスを選択する動作と、自らのアドレスよりも小さなアドレスを選択する動作とを切り換えることができ、例えば、自らがトークンを送る機器のアドレスと、自らにトークンを送る機器のアドレスとの双方を決定できる。
【００１５】
また、優先順位変更手段以外の構成は、優先順位を固定する構成と同一なので、上記２つの動作を切り換えることができるにも拘わらず、回路規模の増加を抑えることができる。
【００１６】
【発明の実施の形態】
〔第１の実施形態〕
本発明の一実施形態について図１および図２に基づいて説明すると以下の通りである。すなわち、図２に示すように、本実施形態に係るネットワークシステム１は、複数のネットワーク機器（ネットワーク通信装置）２と、各ネットワーク機器２を接続するバス（ネットワーク）３とを備えている。
【００１７】
上記各ネットワーク機器２は、自機器のアドレスとして、ネットワークシステム１内で固有の（ユニークな）アドレスを記憶する自アドレス記憶部１１と、上記バス３を流れるデータを解析して、当該データに付された送信元アドレス、送信先アドレスおよびデータの内容を抽出するデータ解析部（アドレス抽出手段）１２と、上記バス３を介して、他のネットワーク機器２と通信するデータ通信部１３とを備えている。当該データ通信部１３は、上記バス３を流れるデータのうち、データ解析部１２によって抽出された送信先のアドレスが上記自アドレス記憶部１１に記憶された自分のアドレスと一致するデータを、自分宛てのデータとして受信して、当該データを処理できる。また、データ通信部１３は、送信先のアドレスを所望のネットワーク機器２のアドレスに設定したデータをバス３へ送信できる。これにより、各ネットワーク機器２は、自分宛てのデータを受信すると共に、所望のネットワーク機器２へデータを送信できる。
【００１８】
また、上記ネットワークシステム１は、トークンパッシングバスシステムであって、上記データ通信部１３は、送信権を有していることを示すデータであるトークンを保有している場合にのみ、送信すべきデータを送信する。
【００１９】
さらに、上記データ通信部１３は、トークンを保有してる際に、送信すべきデータがない場合、あるいは、送信すべきデータがあっても、これらのデータを送信し終わった場合、次のネットワーク機器２へトークンを送信して、送信権を委譲する。
【００２０】
上記構成では、トークンを持っているネットワーク機器２のみがデータを送信するので、各ネットワーク機器２がデータを送信するバス３が共有されているにも拘わらず、データ送信の競合を避けることができ、効率よくデータを伝送できる。なお、上述したように、トークンを保有しているネットワーク機器２は、順次入れ替わっていくので、各ネットワーク機器２は、トークンが一巡するまでの間に、送信すべきデータを送信できる。
【００２１】
ここで、上記各ネットワーク機器２は、予め定められた手順で他のネットワーク機器２と通信することによって、所望の時点でネットワークシステム１に加入することができる。また、ネットワークシステム１に既に加入しているネットワーク機器２であっても、所望の時点でネットワークシステム１から離脱できる。これらの結果、各ネットワーク機器２がトークンを保有している場合に、次にトークンを送信すべきネットワーク機器２は、一定ではない。
【００２２】
したがって、各ネットワーク機器２には、次機器決定処理部（隣接アドレス決定手段）１４が設けられており、当該次機器決定処理部１４は、バス３に流れるデータのうち、トークンの送信元のアドレスを参照し続けることによって、ネットワークシステム１に現在加入しているネットワーク機器２のアドレスを把握し、これらのアドレスのうち、自らの次に大きなアドレスを持ったネットワーク機器２、すなわち、自らのアドレスよりも大きく、しかも、自らのアドレスに最も近いアドレスのネットワーク機器２を、次のネットワーク機器２として決定できる。なお、自らが最大のアドレスを持っている場合、次機器決定処理部１４は、次のネットワーク機器２として、最小のアドレスを持ったネットワーク機器２を選択する。
【００２３】
本実施形態に係る次機器決定処理部１４は、図１に示すハードウェアによって実現されている。具体的には、上記次機器決定処理部１４は、上記データ解析部１２が抽出した送信元のアドレスから、上記自アドレス記憶部１１に記憶されている自機器のアドレスを引いた値を算出し、当該値を示す差分データを出力する差分回路２１と、各差分データが既に出力されたか否かを示すフラグを蓄積するレジスタ群２２とを備えている。
【００２４】
本実施形態に係るレジスタ群２２は、互いに同一構成の第１および第２レジスタ群３１ａおよび３１ｂと、両レジスタ群３１ａ・３１ｂのうち、上記フラグを蓄積する方を選択する制御部３２とを備えており、制御部３２は、両レジスタ群３１ａ・３１ｂの一方を選択して、上記フラグを蓄積していくと共に、ネットワーク機器２がトークンを保有する毎に（トークンが一巡する毎に）、フラグを蓄積するレジスタ群３１α（３１ａまたは３１ｂの一方）を切り換えることができる。また、上記制御部３２は、両レジスタ群３１ａ・３１ｂのうち、上記レジスタ群３１αとは異なるレジスタ群３１βを選択して、当該レジスタ群３１βの出力を出力できる。さらに、上記制御部３２は、切り換えと共に、新たにフラグを蓄積するレジスタ群３１αをリセットできる。
【００２５】
上記各レジスタ群３１ａ・３１ｂは、上記差分データのうち、予め定められたビット幅の上位ビットで表現可能な値、それぞれに対応して設けられたレジスタ３３ａ…を備えている。また、各レジスタ３３ａ…のビット幅は、少なくとも下位ビットで表現可能な値の数に設定されている。
【００２６】
本実施形態では、一例として、各ネットワーク機器２のアドレスおよび差分データが７ビットであり、しかも、上位ビットのビット幅が３ビット、下位ビットのビット幅が４ビットの場合を例にして説明する。したがって、各レジスタ群３１ａ・３１ｂには、それぞれ、８つのレジスタ３３ａ〜３３ｈが設けられており、各レジスタのビット幅は、１６ビットである。また、本実施形態では、各レジスタ３３ａ〜３３ｈのうち、レジスタ３３ａが上位ビットの取り得る値のうち、最小の値（”０００ｂ”）に対応し、レジスタ３３ｂ、３３ｃ、…、３３ｇの順で、次に大きな値に対応し、レジスタ３３ｈが最大の値（”１１１ｂ”）に対応している。なお、数値の末尾に示したｂは、その数値が２進数であることを示している。さらに、本実施形態では、各レジスタ３３のビット位置Ｂ０〜Ｂ１５が、参照符号に示した下位ビットの値に対応している。
【００２７】
さらに、上記次機器決定処理部１４には、上記差分データの上位ビットをエンコードして、上記各レジスタ３３ａ〜３３ｈへの選択信号を出力する上位エンコーダ２３が設けられている。当該上位エンコーダ２３のエンコード方法は、各レジスタ３３ａ〜３３ｈへの選択信号のうち、上位ビットの値に対応するレジスタ３３（３３ａ〜３３ｈのいずれか）への選択信号のみが”真”になり、他への選択信号が”偽”になるように設定されている。
【００２８】
また、上記次機器決定処理部１４には、上記差分データの下位ビットをエンコードして、上記レジスタ３３の各ビットへのセット信号を出力する下位エンコーダ２４が設けられている。当該下位エンコーダ２４のエンコード方法は、各ビット（Ｂ０〜Ｂ１５）へのセット信号のうち、下位ビットの値に対応するビット位置のビット（Ｂｎ）へのセット信号のみが”真”になり、他のビットへのセット信号が”偽”になるように設定されている。
【００２９】
これにより、上記レジスタ３３ａ〜３３ｈのうち、差分データの上位ビットの値が示すレジスタ３３を選択し、当該選択したレジスタ３３のビット位置Ｂ０〜Ｂ１５のうち、差分データの下位ビットが示すビット位置Ｂｎにフラグをセットすることができる。
【００３０】
なお、上記両エンコーダ２３および２４が、特許請求の範囲に記載のフラグ設定回路に対応し、レジスタ３３ａ〜３３ｈの各ビットがフラグ領域に対応している。
【００３１】
本実施形態では、一例として、各レジスタ３３ａ〜３３ｈの各ビット位置のビットへセット信号を供給する信号線のうち、互いに同じビット位置のビットへの信号線同士が共通に接続されている。また、各レジスタ３３ａ〜３３ｈは、”真”を示す選択信号が入力されているときに、アクティブになり、各ビット位置のビットへのセット信号が”真”の場合、当該ビットの値を”真”の値にセットする。なお、セット信号が”偽”の場合は、当該ビットの値をそのままの値に維持する。
【００３２】
また、本実施形態に係る上記制御部３２は、例えば、データ通信部１３から、自機器宛てのトークンを受信したことを示す信号を受け取り、当該信号に基づいて、両レジスタ群３１ａ・３１ｂのうちのいずれにフラグを蓄積するかを示す制御信号を生成する制御回路３２ａと、当該制御信号に基づいて、両レジスタ群３１ａ・３２ｂの一方を選択し、選択したレジスタ群３１αへ、上記上位エンコーダ２３からの選択信号を出力する上位マルチプレクサ３２ｂと、上記制御信号に基づいて選択したレジスタ群３１αへ、上記下位エンコーダ２４からのセット信号を出力する下位マルチプレクサ３２ｃと、上記制御信号に基づいて、両レジスタ群３１ａ・３２ｂの他方を選択し、選択したレジスタ群３１βの各レジスタ３３ａ〜３３ｈの各ビットからの出力信号を出力する出力マルチプレクサ３２ｄとを備えている。また、上記制御回路３２ａは、制御信号の値を変更する際、新たに選択するレジスタ群３１αの各レジスタ３３ａ〜３３ｈへリセット信号を印可するなどして、各レジスタ３３ａ〜３３ｈをリセットできる。
【００３３】
一方、上記次機器決定処理部１４には、両レジスタ群３１ａ・３１ｂのうち、現在はフラグを蓄積していない方のレジスタ群３１β（３１ａまたは３１ｂの一方）に蓄積された前回のフラグに基づいて、次機器を決定するために、以下の部材４１〜４６を備えている。
【００３４】
すなわち、次機器決定処理部１４には、当該レジスタ群３１βの各レジスタ３３ａ〜３３ｈに対応して設けられ、それぞれのビットの中に、”真”のフラグが設定されているビットがある場合に”真”、ない場合には”偽”を示す信号を出力する検出回路４１ａ〜４１ｈと、各検出回路４１ａ〜４１ｈの出力信号をそれぞれラッチするラッチ回路４２と、ラッチ回路４２の出力信号を優先順位を付けてエンコードして、レジスタ３３ａ〜３３ｈのうち、最優先のレジスタ３３γを示す信号を出力する上位プライオリティエンコーダ４３とを備えている。
【００３５】
なお、本実施形態では、上記各検出回路４１ａ〜４１ｈは、例えば、それぞれに対応するレジスタ３３ａ〜３３ｈの全出力信号を論理和するＯＲ回路によって実現されている。
【００３６】
ここで、本実施形態に係るネットワーク機器２は、自らの次に大きなアドレスを持ったネットワーク機器２を次の機器としており、上記差分データは、トークンの送信元のアドレスから、自機器のアドレスを引くことによって生成されている。
【００３７】
したがって、上記上位プライオリティエンコーダ４３の優先順位は、ラッチ回路４２の出力信号の複数が”真”の値を示している場合、それらのうち、最も小さい正の値の差分データに対応するフラグが格納されているレジスタ３３γを示す値を出力するように設定されている。
【００３８】
すなわち、上位プライオリティエンコーダ４３は、ラッチ回路４２の出力信号をエンコードする際に、複数の出力信号が”真”を示している場合、上位プライオリティエンコーダ４３は、それらのうち、より小さな値の上位ビットに対応するレジスタ３３γの検出回路４１γの出力信号を優先してエンコードして、当該レジスタ３３γに対応する上位ビットの値を出力できる。なお、検出回路４２γは、検出回路４１ａ〜４１ｈのうち、レジスタ３３γに対応するものである。
【００３９】
例えば、本実施形態では、レジスタ３３ａに対応する上位ビットの値が最も小さく、レジスタ３３ｈに対応する上位ビットの値が最も大きいので、上記優先順位は、検出回路４１ａの出力が最も優先順位が高く、検出回路４１ｂ、４１ｃ…の順で優先順位が低くなり、検出回路４１ｈの優先順位が最も低く設定されている。
【００４０】
また、上記次機器決定処理部１４は、レジスタ３３ａ〜３３ｈの出力信号の中から、当該最優先のレジスタ３３γの出力信号を選択して出力するマルチプレクサ４４と、当該マルチプレクサ４４の出力信号を優先順位を付けてエンコードして、上記最優先のレジスタ３３の各ビットの値を示す出力信号の中から、最優先のビットのビット位置を示す信号を出力する下位プライオリティエンコーダ４５とを備えている。なお、本実施形態では、上記マルチプレクサ４３は、上位プライオリティエンコーダ４３の出力信号から、最優先のレジスタ３３γを特定している。
【００４１】
本実施形態では、上述したように、次のネットワーク機器２を決定し、上述したように、差分データを生成している。したがって、上記下位プライオリティエンコーダ４５の優先順位は、上記最優先のレジスタ３３γの出力信号の複数が”真”を示す値の場合、それらのうち、最も小さい値の差分データに対応するフラグを示す値を出力するように設定されている。
【００４２】
すなわち、下位プライオリティエンコーダ４５は、レジスタ３３γの出力信号をエンコードする際に、複数の出力信号が”真”を示している場合、それらの出力信号のうち、最も小さい値の下位ビットに対応する出力信号を優先してエンコードして、当該出力信号に対応する下位ビットの値を出力できる。
【００４３】
例えば、本実施形態では、ビット位置Ｂ０に対応する下位ビットの値が最も小さく、ビット位置Ｂ１５に対応する下位ビットの値が最も大きいので、上記優先順位は、ビット位置Ｂ０のビットからの出力信号が最も優先順位が高く、ビット位置Ｂ１、Ｂ２…の順で優先順位が低くなり、ビット位置Ｂ１５のビットからの出力信号の優先順位が最も低く設定されている。
【００４４】
さらに、上記次機器決定処理部１４には、上記上位プライオリティエンコーダ４３の出力信号が上位ビットになり、下位プライオリティエンコーダ４５の出力信号が下位ビットになるように、両プライオリティエンコーダ４３・４５の出力信号を連結して、最優先の差分データを復元し、当該差分データと、図２に示す自アドレス記憶部１１に記憶された自機器のアドレスとを加算して、加算結果を次のネットワーク機器２のアドレスとして出力する加算器４６が設けられている。
【００４５】
一例として、自機器のアドレスが、”４”であり、ネットワークシステム１に、自機器以外のネットワーク機器２として、アドレス”２２”の機器２、アドレス”２３”の機器、および、アドレス”４０”の機器２が加入している場合について説明する。
【００４６】
レジスタ群３１αとして、例えば、レジスタ群３１ａがリセットされた後、ネットワーク機器２が、送信元のアドレスが”２２”のトークンを受信すると、差分回路２１は、差分データとして、”２２−４＝１８”（＝”０００１  ００１０ｂ”）を出力する。
【００４７】
したがって、上位エンコーダ２３は、レジスタ群３１ａのレジスタ３３ａ〜３３ｈのうち、上位ビット”０００１ｂ”（＝”１”）に対応するレジスタ３３ｂを選択し、下位エンコーダ２４は、当該レジスタ３３ｂのうち、下位ビット”００１０ｂ”（＝”２”）に対応するビット位置Ｂ２のビットにフラグをセットする。
【００４８】
同様にして、次に、送信元のアドレスが”２３”のトークンを受信すると、上位エンコーダ２３は、レジスタ３３ｂを選択し、下位エンコーダ２４は、当該レジスタ３３ｂのうち、ビット位置Ｂ３のビットにフラグをセットする。
【００４９】
また、送信元のアドレスが”４０”のトークンが受信されると、上位エンコーダ２３は、レジスタ３３ｃを選択し、下位エンコーダ２４は、当該レジスタ３３ｃのうち、ビット位置Ｂ４のビットにフラグをセットする。
【００５０】
さらに、自機器宛てのトークンを受け取ると、レジスタ群３１ａおよび３１ｂの役割が互いに交換される。より詳細には、レジスタ群３１ａの役割は、フラグを蓄積する役割（レジスタ群３１α）から、フラグを保持する役割（レジスタ群３１β）へと切り換えられ、レジスタ群３１ｂの役割は、フラグを保持する役割（レジスタ群３１β）から、フラグを蓄積する役割（レジスタ群３１α）へと切り換えられる。
【００５１】
この状態では、これまでフラグを蓄積していたレジスタ群３１ａにおいて、レジスタ３３ｂのビット位置Ｂ２およびＢ３のビットと、レジスタ３３ｃのビット位置Ｂ４のビットとにのみ、フラグがセットされ、レジスタ群３１ａの残余のビットは、リセットされたときの値を保っている。したがって、各検出回路４１ａ〜４１ｈのうち、検出回路４１ｂおよび４１ｃの出力のみが”真”になり、残余の出力は、”偽”となる。
【００５２】
ここで、本実施形態では、上述したように、検出回路４１ｃの出力よりも検出回路４１ｂの出力の方が優先順位が高いので、上位プライオリティエンコーダ４３は、上位ビットとして、検出回路４１ｂ（レジスタ３３ｂ）に対応する値”００１ｂ”を出力し、マルチプレクサ４４は、レジスタ３３ｂからの出力信号を出力する。
【００５３】
また、上述したように、レジスタ３３ｂの出力信号のうち、ビット位置Ｂ２およびＢ３のビットからの出力信号のみが”真”であり、本実施形態では、ビット位置Ｂ３よりもビット位置Ｂ２の優先順位の方が高いので、下位プライオリティエンコーダ４５は、下位ビットとして、ビット位置Ｂ２に対応する値”００１０ｂ”を出力する。
【００５４】
さらに、加算器４６は、上記上位および下位ビットを連結して生成した差分データ”０００１  ００１０ｂ”（＝”１８”）と、自機器のアドレス”４”とを加算して、次の機器のアドレスとして、加算結果”２２”を出力する。
【００５５】
このように、上記構成では、送信元のアドレスが、ある値のトークンがネットワーク上を既に伝送されたか否かを記憶する際、差分回路２１が当該アドレスと自らのアドレスとの差分データを生成し、上位エンコーダ２３および下位エンコーダ２４は、上記差分回路２１が当該差分データを出力したか否かを示すフラグをレジスタ群３１αのレジスタ３３（３３ａ〜３３ｈのいずれか）に記憶する。
【００５６】
さらに、レジスタ群３１αにフラグが格納されると、上記上位プライオリティエンコーダ４３によって、フラグが設定されたビットを含む上記レジスタ３３のうち、予め定められた優先順位が最も高いレジスタ（最優先のレジスタ）３３γに対応する上位ビットが生成される。また、下位プライオリティエンコーダ４５によって、マルチプレクサ４４が選択した上記最優先のレジスタ３３γに含まれ、しかも、フラグが設定されたビットのうち、予め定められた優先順位が最も高いビット（最優先のビット）のビット位置に対応する下位ビットが出力される。
【００５７】
ここで、上記フラグは、送信元のアドレス自体から直接生成されたものではなく、差分データから生成されたフラグなので、自らのアドレスから直接フラグを生成する場合と異なり、自らのアドレスが、どのような値であっても、上記優先順位を代えることなく、上記最優先のレジスタおよびビットを特定できる。したがって、プライオリティエンコーダやマルチプレクサのように、比較的回路規模の小さな回路によって、上記最優先のレジスタおよびビットのビット位置に対応する上位ビットおよび下位ビットを生成でき、自らの次に大きなアドレスに対応する差分データを復元できる。さらに、上記加算器４６によって、差分データがアドレスに変換される。
【００５８】
これらの結果、比較的回路規模が小さい回路によって、自らの次に大きなアドレスを持ったネットワーク機器２のアドレス（次のアドレス）を決定できる。また、ソフトウェアではなく、ハードウェアによって、次のアドレスを決定しているので、ＣＰＵなどの演算手段がソフトウェアを実行して次のアドレスを決定する場合と比較して、演算手段の負担を軽減でき、高速に次のアドレスを決定できる。この結果、高速かつ演算手段の負担の少ないネットワーク機器２を比較的回路規模の小さい回路によって実現できる。
【００５９】
なお、自らが最大のアドレスを持っている場合、差分データは、マイナスの値になり、差分回路２１は、当該差分データを２の補数で表現する。したがって、この場合であっても、上記次機器決定処理部１４は、何ら支障なく、次のネットワーク機器２、すなわち、最小のアドレスを持ったネットワーク機器２を選択できる。
【００６０】
さらに、本実施形態に係るネットワーク機器２では、例えば、トークンが一巡するタイミングなど、予め定められたタイミングで、フラグを蓄積するレジスタ群３１αをリセットしている。
【００６１】
したがって、ネットワークシステム１から離脱したネットワーク機器２があっても、レジスタ群３１αのリセット後は、そのネットワーク機器２のアドレスを示すフラグがレジスタ群３１αにセットされることがない。これにより、レジスタ群３１αの記憶内容に、ネットワーク機器２の離脱を反映させることができる。
【００６２】
また、本実施形態に係るネットワーク機器２では、フラグを蓄積する役割およびフラグを保持する役割をそれぞれ持った、２組のレジスタ群３１ａおよび３１ｂがレジスタ群２２に設けられており、トークンが一巡する毎に、両者の役割を交換すると共に、新たにフラグを蓄積する役割になるレジスタ群（３１α）をリセットする。
【００６３】
したがって、レジスタ群３１αをリセットしているにも拘わらず、上記各部材４１〜４６は、これまで、フラグを蓄積していた方のレジスタ群３１βに基づいて、次のアドレスを決定できる。
【００６４】
なお、上記の次機器決定処理部１４は、次のアドレスとして、自らの次に大きなアドレスを持ったネットワーク機器２のアドレスを出力しているが、本発明は、ネットワークシステム１に加入しているネットワーク機器２のアドレスのうち、自らに隣接するアドレスを算出する構成に広く適用できる。
【００６５】
例えば、上述の優先順位を逆に設定するか、あるいは、差分回路２１が自機器のアドレスから送信元のアドレスを引いた値を算出することによって、自らの次に小さなアドレスを持ったネットワーク機器２のアドレスを出力してもよい。また、上記優先順位を逆に設定し、しかも、差分回路２１が自機器のアドレスから送信元のアドレスを引いた値を算出することによって、本実施形態と同様に、自らの次に大きなアドレスを持ったネットワーク機器２のアドレスを出力してもよい。
【００６６】
なお、上記では、マルチプレクサ４４が上位プライオリティエンコーダ４３の出力に基づいて、レジスタ３３γを選択する場合を例にして説明したが、これに限るものではない。マルチプレクサ４４が、各検出回路４１ａ〜４１ｈの出力に基づき、同一の優先順位によって、レジスタ３３γを選択してもよい。
【００６７】
〔第２の実施形態〕
ところで、上記では、優先順位が固定されている場合を例にして説明したが、本実施形態では、優先順位を、第１の順位と、それとは逆順の第２の順位とに切り換えることによって、次のアドレスだけではなく、前のアドレスを決定可能な構成について説明する。
【００６８】
すなわち、図３に示すように、本実施形態に係る前および次機器決定処理部（隣接アドレス決定手段）１４ａは、図１に示す次機器決定処理部１４に代えて設けられたものであって、図１に示す両プライオリティエンコーダ４３および４５に代えて、優先順位を反転可能なプライオリティエンコーダ４３ａおよび４５ａが設けられている。
【００６９】
さらに、上記前および次機器決定処理部１４ａには、前のアドレスを持ったネットワーク機器２を出力すべきか、次のアドレスを持ったネットワーク機器２を出力すべきかに応じて、上記両プライオリティエンコーダ４３ａ・４５ａへ、優先順位を反転するか否かを示す制御信号を出力する制御回路４７が設けられている。
【００７０】
上記プライオリティエンコーダ４３ａ・４５ａは、例えば、上記プライオリティエンコーダ４３・４５の構成に加えて、それぞれの各入力端子と内部に設けられた図示しない判定用の論理回路との接続関係を変更するスイッチと、出力を反転するか否かを制御する回路（例えば、排他的論理和回路など）とを設けたものであって、上記制御信号に応じて、優先順位を反転することができる。
【００７１】
上記構成において、上述の数値例を用いて説明すると、フラグを蓄積するレジスタ群３１αが、レジスタ群３１ａからレジスタ群３１ｂに切り換えられた時点では、上述したように、レジスタ３３ｂのビット位置Ｂ２およびＢ３のビットと、レジスタ３３ｃのビット位置Ｂ４のビットとにのみ、フラグがセットされており、各検出回路４１ａ〜４１ｈのうち、検出回路４１ｂおよび４１ｃの出力のみが”真”になっている。
【００７２】
この状態において、優先順位の反転が指示された場合、上位プライオリティエンコーダ４３は、例えば、反転前は、検出回路４１ｆおよび４１ｇが接続されていた上記論理回路に、それぞれ検出回路４１ｃおよび４１ｂを接続するなどして、優先順位を反転する。したがって、上位プライオリティエンコーダ４３は、検出回路４１ｃの出力よりも検出回路４１ｂの優先順位の方が低いと判定して、検出回路４１ｃ（レジスタ３３ｃ）に対応する上位ビット”０１０ｂ”を出力する。
【００７３】
さらに、マルチプレクサ４４は、当該レジスタ３３ｃを選択して出力し、下位プライオリティエンコーダ４５は、当該レジスタ３３ｃの各ビットの中から、最優先のビット位置に対応する下位ビットを出力する。
【００７４】
ここで、下位プライオリティエンコーダ４５でも、例えば、反転前は、ビット位置Ｂ４のビットからの信号線に接続されていた上記論理回路に、ビット位置Ｂ１１のビットからの信号線に接続するなどして、優先順位を反転する。したがって、下位プライオリティエンコーダ４５は、ビット位置Ｂ４に対応する下位ビット”０１００ｂ”を出力する。
【００７５】
さらに、加算器４６は、当該上位ビットおよび下位ビットを連結して生成した差分データ（”０１０  ０１００ｂ”＝”３６”）に、自機器のアドレス”４”を加算して、自機器の次に小さなアドレスまたはネットワークシステム１で最小のアドレスとして、前のネットワーク機器２のアドレス”４０”を出力する。
【００７６】
このように、上記構成では、制御回路４７の指示に応じて、優先順位を反転するので、自機器の次のネットワーク機器２のアドレスと、自機器の前のネットワーク機器２のアドレスとの双方を決定できる。
【００７７】
さらに、制御回路４７、および、優先順位を反転するための部材（両プライオリティエンコーダ４３および４５）以外の構成は、優先順位を固定する構成と同一であり、特に、レジスタ３３ａ〜３３ｈに記憶されているフラグの内容を変更することなく、上記両ネットワーク機器２のアドレスを決定している。したがって、優先順位を反転できるにも拘わらず、回路規模の増加を抑えることができる。
【００７８】
なお、上記では、マルチプレクサ４４が上位プライオリティエンコーダ４３ａの出力に基づいて、レジスタ３３γを選択する場合を例にして説明したが、これに限るものではない。制御回路４７の指示に応じて、優先順位を反転するマルチプレクサが、各検出回路４１ａ〜４１ｈの出力に基づき、上位プライオリティエンコーダ４３ａと同一の優先順位によって、レジスタ３３γを選択してもよい。
【００７９】
【発明の効果】
請求項１記載の発明に係るネットワーク通信装置は、以上のように、上記アドレス抽出手段が抽出した各送信元のアドレスについて、送信元のアドレスと、自らのアドレスとの差分を示す差分データを出力する差分回路と、上記差分データのうちの予め定められたビット幅の上位ビットが取りうる値、それぞれに対応して設けられたレジスタであって、上記差分データの残余の下位ビットが取りうる値、それぞれに対応して設けられたフラグ領域を含むレジスタと、上記各フラグ領域のうち、上記差分回路が出力した差分データの上位ビットに対応するレジスタに含まれ、当該差分データの下位ビットに対応するフラグ領域へフラグを設定するフラグ設定回路と、フラグが設定されたフラグ領域を含む上記レジスタのうち、最優先のレジスタを選択するマルチプレクサと、当該マルチプレクサが選択したレジスタに含まれ、しかも、フラグが設定されたフラグ領域のうち、最優先のフラグ領域に対応する下位ビットを出力する下位プライオリティエンコーダと、フラグが設定されたフラグ領域を含む上記レジスタのうち、最優先のレジスタに対応する上位ビットを出力する上位プライオリティエンコーダと、上記両プライオリティエンコーダの出力の組み合わせとして復元された差分データに、自らのアドレスを加算して、上記隣接アドレスを出力する加算器とを備えている構成である。
【００８０】
上記構成では、上記フラグは、送信元のアドレス自体から直接生成されたものではなく、差分データから生成されたフラグなので、自らのアドレスから直接フラグを生成する場合と異なり、自らのアドレスが、どのような値であっても、上記優先順位を代えることなく、上記最優先のレジスタおよびフラグ領域を特定できる。したがって、プライオリティエンコーダやマルチプレクサのように、比較的回路規模の小さな回路によって、上記最優先のレジスタおよびフラグ領域に対応する上位ビットおよび下位ビットを生成でき、自らのアドレスに隣接するアドレスに対応する差分データを復元できる。さらに、上記加算器によって、差分データがアドレスに変換される。
【００８１】
これらの結果、比較的回路規模が小さい回路によって、自らのアドレスに隣接するアドレスを決定できる。また、ソフトウェアではなく、ハードウェアによって、隣接アドレスを決定しているので、ＣＰＵなどの演算手段がソフトウェアを実行して隣接アドレスを決定する場合と比較して、演算手段の負担を軽減でき、高速に隣接アドレスを決定できる。この結果、高速かつ演算手段の負担の少ないネットワーク通信装置を比較的回路規模の小さい回路によって実現できるという効果を奏する。
【００８２】
請求項２記載の発明に係るネットワーク通信装置は、上記構成に加えて、上記両プライオリティエンコーダおよびマルチプレクサの優先順位を上記順番とは逆に変更する優先順位変更回路を備えている構成である。
【００８３】
当該構成では、優先順位変更回路によって、上記両プライオリティエンコーダおよびマルチプレクサの優先順位を反転できる。したがって、優先順位を反転するか否かによって、自らのアドレスに隣接するアドレスのうち、自らのアドレスよりも大きなアドレスを選択する動作と、自らのアドレスよりも小さなアドレスを選択する動作とを切り換えることができ、例えば、自らがトークンを送る機器のアドレスと、自らにトークンを送る機器のアドレスとの双方を決定できる。
【００８４】
また、優先順位変更手段以外の構成は、優先順位を固定する構成と同一なので、上記２つの動作を切り換えることができるにも拘わらず、回路規模の増加を抑えることができるという効果を奏する。
【図面の簡単な説明】
【図１】本発明の実施形態を示すものであり、次機器決定処理部の要部構成を示すブロック図である。
【図２】上記次機器決定処理部を含むネットワーク機器により構成されるネットワークシステムの要部構成を示すブロック図である。
【図３】本発明の他の実施形態を示すものであり、次機器決定処理部の要部構成を示すブロック図である。
【符号の説明】
２    ネットワーク機器（ネットワーク通信装置）
３    バス（ネットワーク）
１２    データ解析部（アドレス抽出手段）
１４    次機器決定処理部（隣接アドレス決定手段）
１４ａ  前および次機器決定処理部（隣接アドレス決定手段）
２１    差分回路
２３    上位エンコーダ（フラグ設定回路）
２４    下位エンコーダ（フラグ設定回路）
３３ａ〜３３ｈ  レジスタ
４４    マルチプレクサ
４３    上位プライオリティエンコーダ
４５    下位プライオリティエンコーダ
４６    加算器
【図１】
2005072693.tif 000003
【図２】
2005072693.tif 000004
【図３】
2005072693.tif 000005