JP4068020B2 - ネットワーク通信装置 - Google Patents
ネットワーク通信装置 Download PDFInfo
- Publication number
- JP4068020B2 JP4068020B2 JP2003209213A JP2003209213A JP4068020B2 JP 4068020 B2 JP4068020 B2 JP 4068020B2 JP 2003209213 A JP2003209213 A JP 2003209213A JP 2003209213 A JP2003209213 A JP 2003209213A JP 4068020 B2 JP4068020 B2 JP 4068020B2
- Authority
- JP
- Japan
- Prior art keywords
- address
- priority
- register
- flag
- bit
- 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.)
- Expired - Lifetime
Links
- 238000000605 extraction Methods 0.000 claims description 4
- 239000000284 extract Substances 0.000 claims description 3
- 238000001514 detection method Methods 0.000 description 23
- 230000005540 biological transmission Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 3
- 238000000034 method Methods 0.000 description 3
- 238000007405 data analysis Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 1
Images
Landscapes
- Small-Scale Networks (AREA)
Description
【発明の属する技術分野】
本発明は、例えば、トークンパッシングバスシステムで使用されるネットワーク通信装置など、ネットワーク上を伝送される各トークンに含まれる送信元のアドレスを抽出し、抽出したアドレスの中から、自らのアドレスに隣接するアドレスを決定するネットワーク通信装置に関するものである。
【0002】
【従来の技術】
従来より、トークンパッシングバスシステムで使用されるネットワーク通信装置では、ネットワーク上を伝送される各トークンに含まれる送信元のアドレスを抽出するなどして、自らのアドレスに隣接するアドレスを決定している。(後述の特許文献1参照)
【0003】
【特許文献1】
特開平11−177560号公報(公開日:1999年7月2日)
【0004】
【発明が解決しようとする課題】
しかしながら、上記従来の構成において、CPUがプログラムを実行することにより上記隣接するアドレスを決定する処理を行うと共に、当該CPUが各トークンに含まれる送信元のアドレスをメモリに蓄積し、当該アドレスを並べかえて、自らのアドレスに隣接するアドレスを決定しようとすると、CPUの負担が大きくなり、通信速度が速く、より短い時間でのアドレス決定が必要な場合には、高い演算能力を持ったCPUが必要になる。
【0005】
一方、上記CPUと全く同じ動作を行う論理回路によって、隣接するアドレスを決定しようとすると、回路規模が大きくなってしまう。
【0006】
本発明は、上記の問題点に鑑みてなされたものであり、その目的は、高速で、しかも、CPUなどの演算手段の負担の少ないネットワーク通信装置を、比較的回路規模の小さい回路によって実現することにある。
【0007】
【課題を解決するための手段】
請求項1記載の発明に係るネットワーク通信装置は、上記課題を解決するために、ネットワーク上を伝送される各トークンに含まれる送信元のアドレスを抽出するアドレス抽出手段と、抽出したアドレスの中から、自らのアドレスに隣接するアドレスを決定する隣接アドレス決定手段とを有するネットワーク通信装置において、以下の手段を講じたことを特徴としている。
【0008】
すなわち、上記隣接アドレス決定手段は、上記アドレス抽出手段が抽出した各送信元のアドレスについて、送信元のアドレスと、自らのアドレスとの差分を示す差分データを出力する差分回路と、上記差分データのうちの予め定められたビット幅の上位ビットが取りうる値、それぞれに対応して設けられたレジスタであって、上記差分データの残余の下位ビットが取りうる値、それぞれに対応して設けられたフラグ領域を含むレジスタと、上記各フラグ領域のうち、上記差分回路が出力した差分データの上位ビットに対応するレジスタに含まれ、当該差分データの下位ビットに対応するフラグ領域へフラグを設定するフラグ設定回路と、フラグが設定されたフラグ領域を含む上記レジスタのうち、予め定められた優先順位が最も高いレジスタを選択するマルチプレクサと、当該マルチプレクサが選択したレジスタに含まれ、しかも、フラグが設定されたフラグ領域のうち、予め定められた優先順位が最も高いフラグ領域に対応する下位ビットを出力する下位プライオリティエンコーダと、フラグが設定されたフラグ領域を含む上記レジスタのうち、予め定められた優先順位が最も高いレジスタに対応する上位ビットを出力する上位プライオリティエンコーダと、上記両プライオリティエンコーダの出力の組み合わせとして復元された差分データに、自らのアドレスを加算して、上記隣接アドレスを出力する加算器とを備えている。
【0009】
上記構成では、送信元のアドレスが、ある値のトークンがネットワーク上を既に伝送されたか否かを記憶する際、差分回路が、当該アドレスと自らのアドレスとの差分データを生成し、フラグ設定回路は、上記差分回路が当該差分データを出力したか否かを示すフラグをレジスタ群(上記レジスタのいずれか)に記憶する。
【0010】
さらに、レジスタ群にフラグが格納されると、上記上位プライオリティエンコーダによって、フラグが設定されたフラグ領域を含む上記レジスタのうち、予め定められた優先順位が最も高いレジスタ(最優先のレジスタ)に対応する上位ビットが生成される。また、下位プライオリティエンコーダによって、マルチプレクサが選択した上記最優先のレジスタに含まれ、しかも、フラグが設定されたフラグ領域のうち、予め定められた優先順位が最も高いフラグ領域(最優先のフラグ領域)に対応する下位ビットが出力される。
【0011】
ここで、上記フラグは、送信元のアドレス自体から直接生成されたものではなく、差分データから生成されたフラグなので、自らのアドレスから直接フラグを生成する場合と異なり、自らのアドレスが、どのような値であっても、上記優先順位を代えることなく、上記最優先のレジスタおよびフラグ領域を特定できる。したがって、プライオリティエンコーダやマルチプレクサのように、比較的回路規模の小さな回路によって、上記最優先のレジスタおよびフラグ領域に対応する上位ビットおよび下位ビットを生成でき、自らのアドレスに隣接するアドレスに対応する差分データを復元できる。さらに、上記加算器によって、差分データがアドレスに変換される。
【0012】
これらの結果、比較的回路規模が小さい回路によって、自らのアドレスに隣接するアドレスを決定できる。また、ソフトウェアではなく、ハードウェアによって、隣接アドレスを決定しているので、CPUなどの演算手段がソフトウェアを実行して隣接アドレスを決定する場合と比較して、演算手段の負担を軽減でき、高速に隣接アドレスを決定できる。この結果、高速かつ演算手段の負担の少ないネットワーク通信装置を、比較的回路規模の小さい回路によって実現できる。
【0013】
さらに、請求項2記載の発明に係るネットワーク通信装置は、上記構成に加えて、上記両プライオリティエンコーダおよびマルチプレクサの優先順位を上記順番とは逆に変更する優先順位変更回路を備えていることを特徴としている。なお、優先順位変更回路は、例えば、制御信号に応じて、レジスタの各出力から両プライオリティエンコーダおよびマルチプレクサまでの信号の伝送経路を優先順位が逆転するように切り換えるスイッチと、上位ビットまたは下位ビットの値を反転する論理回路となどによって実現できる。
【0014】
当該構成では、優先順位変更回路によって、上記両プライオリティエンコーダおよびマルチプレクサの優先順位を反転できる。したがって、優先順位を反転するか否かによって、自らのアドレスに隣接するアドレスのうち、自らのアドレスよりも大きなアドレスを選択する動作と、自らのアドレスよりも小さなアドレスを選択する動作とを切り換えることができ、例えば、自らがトークンを送る機器のアドレスと、自らにトークンを送る機器のアドレスとの双方を決定できる。
【0015】
また、優先順位変更手段以外の構成は、優先順位を固定する構成と同一なので、上記2つの動作を切り換えることができるにも拘わらず、回路規模の増加を抑えることができる。
【0016】
【発明の実施の形態】
〔第1の実施形態〕
本発明の一実施形態について図1および図2に基づいて説明すると以下の通りである。すなわち、図2に示すように、本実施形態に係るネットワークシステム1は、複数のネットワーク機器(ネットワーク通信装置)2と、各ネットワーク機器2を接続するバス(ネットワーク)3とを備えている。
【0017】
上記各ネットワーク機器2は、自機器のアドレスとして、ネットワークシステム1内で固有の(ユニークな)アドレスを記憶する自アドレス記憶部11と、上記バス3を流れるデータを解析して、当該データに付された送信元アドレス、送信先アドレスおよびデータの内容を抽出するデータ解析部(アドレス抽出手段)12と、上記バス3を介して、他のネットワーク機器2と通信するデータ通信部13とを備えている。当該データ通信部13は、上記バス3を流れるデータのうち、データ解析部12によって抽出された送信先のアドレスが上記自アドレス記憶部11に記憶された自分のアドレスと一致するデータを、自分宛てのデータとして受信して、当該データを処理できる。また、データ通信部13は、送信先のアドレスを所望のネットワーク機器2のアドレスに設定したデータをバス3へ送信できる。これにより、各ネットワーク機器2は、自分宛てのデータを受信すると共に、所望のネットワーク機器2へデータを送信できる。
【0018】
また、上記ネットワークシステム1は、トークンパッシングバスシステムであって、上記データ通信部13は、送信権を有していることを示すデータであるトークンを保有している場合にのみ、送信すべきデータを送信する。
【0019】
さらに、上記データ通信部13は、トークンを保有してる際に、送信すべきデータがない場合、あるいは、送信すべきデータがあっても、これらのデータを送信し終わった場合、次のネットワーク機器2へトークンを送信して、送信権を委譲する。
【0020】
上記構成では、トークンを持っているネットワーク機器2のみがデータを送信するので、各ネットワーク機器2がデータを送信するバス3が共有されているにも拘わらず、データ送信の競合を避けることができ、効率よくデータを伝送できる。なお、上述したように、トークンを保有しているネットワーク機器2は、順次入れ替わっていくので、各ネットワーク機器2は、トークンが一巡するまでの間に、送信すべきデータを送信できる。
【0021】
ここで、上記各ネットワーク機器2は、予め定められた手順で他のネットワーク機器2と通信することによって、所望の時点でネットワークシステム1に加入することができる。また、ネットワークシステム1に既に加入しているネットワーク機器2であっても、所望の時点でネットワークシステム1から離脱できる。これらの結果、各ネットワーク機器2がトークンを保有している場合に、次にトークンを送信すべきネットワーク機器2は、一定ではない。
【0022】
したがって、各ネットワーク機器2には、次機器決定処理部(隣接アドレス決定手段)14が設けられており、当該次機器決定処理部14は、バス3に流れるデータのうち、トークンの送信元のアドレスを参照し続けることによって、ネットワークシステム1に現在加入しているネットワーク機器2のアドレスを把握し、これらのアドレスのうち、自らの次に大きなアドレスを持ったネットワーク機器2、すなわち、自らのアドレスよりも大きく、しかも、自らのアドレスに最も近いアドレスのネットワーク機器2を、次のネットワーク機器2として決定できる。なお、自らが最大のアドレスを持っている場合、次機器決定処理部14は、次のネットワーク機器2として、最小のアドレスを持ったネットワーク機器2を選択する。
【0023】
本実施形態に係る次機器決定処理部14は、図1に示すハードウェアによって実現されている。具体的には、上記次機器決定処理部14は、上記データ解析部12が抽出した送信元のアドレスから、上記自アドレス記憶部11に記憶されている自機器のアドレスを引いた値を算出し、当該値を示す差分データを出力する差分回路21と、各差分データが既に出力されたか否かを示すフラグを蓄積するレジスタ群22とを備えている。
【0024】
本実施形態に係るレジスタ群22は、互いに同一構成の第1および第2レジスタ群31aおよび31bと、両レジスタ群31a・31bのうち、上記フラグを蓄積する方を選択する制御部32とを備えており、制御部32は、両レジスタ群31a・31bの一方を選択して、上記フラグを蓄積していくと共に、ネットワーク機器2がトークンを保有する毎に(トークンが一巡する毎に)、フラグを蓄積するレジスタ群31α(31aまたは31bの一方)を切り換えることができる。また、上記制御部32は、両レジスタ群31a・31bのうち、上記レジスタ群31αとは異なるレジスタ群31βを選択して、当該レジスタ群31βの出力を出力できる。さらに、上記制御部32は、切り換えと共に、新たにフラグを蓄積するレジスタ群31αをリセットできる。
【0025】
上記各レジスタ群31a・31bは、上記差分データのうち、予め定められたビット幅の上位ビットで表現可能な値、それぞれに対応して設けられたレジスタ33a…を備えている。また、各レジスタ33a…のビット幅は、少なくとも下位ビットで表現可能な値の数に設定されている。
【0026】
本実施形態では、一例として、各ネットワーク機器2のアドレスおよび差分データが7ビットであり、しかも、上位ビットのビット幅が3ビット、下位ビットのビット幅が4ビットの場合を例にして説明する。したがって、各レジスタ群31a・31bには、それぞれ、8つのレジスタ33a〜33hが設けられており、各レジスタのビット幅は、16ビットである。また、本実施形態では、各レジスタ33a〜33hのうち、レジスタ33aが上位ビットの取り得る値のうち、最小の値(”000b”)に対応し、レジスタ33b、33c、…、33gの順で、次に大きな値に対応し、レジスタ33hが最大の値(”111b”)に対応している。なお、数値の末尾に示したbは、その数値が2進数であることを示している。さらに、本実施形態では、各レジスタ33のビット位置B0〜B15が、参照符号に示した下位ビットの値に対応している。
【0027】
さらに、上記次機器決定処理部14には、上記差分データの上位ビットをエンコードして、上記各レジスタ33a〜33hへの選択信号を出力する上位エンコーダ23が設けられている。当該上位エンコーダ23のエンコード方法は、各レジスタ33a〜33hへの選択信号のうち、上位ビットの値に対応するレジスタ33(33a〜33hのいずれか)への選択信号のみが”真”になり、他への選択信号が”偽”になるように設定されている。
【0028】
また、上記次機器決定処理部14には、上記差分データの下位ビットをエンコードして、上記レジスタ33の各ビットへのセット信号を出力する下位エンコーダ24が設けられている。当該下位エンコーダ24のエンコード方法は、各ビット(B0〜B15)へのセット信号のうち、下位ビットの値に対応するビット位置のビット(Bn)へのセット信号のみが”真”になり、他のビットへのセット信号が”偽”になるように設定されている。
【0029】
これにより、上記レジスタ33a〜33hのうち、差分データの上位ビットの値が示すレジスタ33を選択し、当該選択したレジスタ33のビット位置B0〜B15のうち、差分データの下位ビットが示すビット位置Bnにフラグをセットすることができる。
【0030】
なお、上記両エンコーダ23および24が、特許請求の範囲に記載のフラグ設定回路に対応し、レジスタ33a〜33hの各ビットがフラグ領域に対応している。
【0031】
本実施形態では、一例として、各レジスタ33a〜33hの各ビット位置のビットへセット信号を供給する信号線のうち、互いに同じビット位置のビットへの信号線同士が共通に接続されている。また、各レジスタ33a〜33hは、”真”を示す選択信号が入力されているときに、アクティブになり、各ビット位置のビットへのセット信号が”真”の場合、当該ビットの値を”真”の値にセットする。なお、セット信号が”偽”の場合は、当該ビットの値をそのままの値に維持する。
【0032】
また、本実施形態に係る上記制御部32は、例えば、データ通信部13から、自機器宛てのトークンを受信したことを示す信号を受け取り、当該信号に基づいて、両レジスタ群31a・31bのうちのいずれにフラグを蓄積するかを示す制御信号を生成する制御回路32aと、当該制御信号に基づいて、両レジスタ群31a・32bの一方を選択し、選択したレジスタ群31αへ、上記上位エンコーダ23からの選択信号を出力する上位マルチプレクサ32bと、上記制御信号に基づいて選択したレジスタ群31αへ、上記下位エンコーダ24からのセット信号を出力する下位マルチプレクサ32cと、上記制御信号に基づいて、両レジスタ群31a・32bの他方を選択し、選択したレジスタ群31βの各レジスタ33a〜33hの各ビットからの出力信号を出力する出力マルチプレクサ32dとを備えている。また、上記制御回路32aは、制御信号の値を変更する際、新たに選択するレジスタ群31αの各レジスタ33a〜33hへリセット信号を印可するなどして、各レジスタ33a〜33hをリセットできる。
【0033】
一方、上記次機器決定処理部14には、両レジスタ群31a・31bのうち、現在はフラグを蓄積していない方のレジスタ群31β(31aまたは31bの一方)に蓄積された前回のフラグに基づいて、次機器を決定するために、以下の部材41〜46を備えている。
【0034】
すなわち、次機器決定処理部14には、当該レジスタ群31βの各レジスタ33a〜33hに対応して設けられ、それぞれのビットの中に、”真”のフラグが設定されているビットがある場合に”真”、ない場合には”偽”を示す信号を出力する検出回路41a〜41hと、各検出回路41a〜41hの出力信号をそれぞれラッチするラッチ回路42と、ラッチ回路42の出力信号を優先順位を付けてエンコードして、レジスタ33a〜33hのうち、最優先のレジスタ33γを示す信号を出力する上位プライオリティエンコーダ43とを備えている。
【0035】
なお、本実施形態では、上記各検出回路41a〜41hは、例えば、それぞれに対応するレジスタ33a〜33hの全出力信号を論理和するOR回路によって実現されている。
【0036】
ここで、本実施形態に係るネットワーク機器2は、自らの次に大きなアドレスを持ったネットワーク機器2を次の機器としており、上記差分データは、トークンの送信元のアドレスから、自機器のアドレスを引くことによって生成されている。
【0037】
したがって、上記上位プライオリティエンコーダ43の優先順位は、ラッチ回路42の出力信号の複数が”真”の値を示している場合、それらのうち、最も小さい正の値の差分データに対応するフラグが格納されているレジスタ33γを示す値を出力するように設定されている。
【0038】
すなわち、上位プライオリティエンコーダ43は、ラッチ回路42の出力信号をエンコードする際に、複数の出力信号が”真”を示している場合、上位プライオリティエンコーダ43は、それらのうち、より小さな値の上位ビットに対応するレジスタ33γの検出回路41γの出力信号を優先してエンコードして、当該レジスタ33γに対応する上位ビットの値を出力できる。なお、検出回路42γは、検出回路41a〜41hのうち、レジスタ33γに対応するものである。
【0039】
例えば、本実施形態では、レジスタ33aに対応する上位ビットの値が最も小さく、レジスタ33hに対応する上位ビットの値が最も大きいので、上記優先順位は、検出回路41aの出力が最も優先順位が高く、検出回路41b、41c…の順で優先順位が低くなり、検出回路41hの優先順位が最も低く設定されている。
【0040】
また、上記次機器決定処理部14は、レジスタ33a〜33hの出力信号の中から、当該最優先のレジスタ33γの出力信号を選択して出力するマルチプレクサ44と、当該マルチプレクサ44の出力信号を優先順位を付けてエンコードして、上記最優先のレジスタ33の各ビットの値を示す出力信号の中から、最優先のビットのビット位置を示す信号を出力する下位プライオリティエンコーダ45とを備えている。なお、本実施形態では、上記マルチプレクサ43は、上位プライオリティエンコーダ43の出力信号から、最優先のレジスタ33γを特定している。
【0041】
本実施形態では、上述したように、次のネットワーク機器2を決定し、上述したように、差分データを生成している。したがって、上記下位プライオリティエンコーダ45の優先順位は、上記最優先のレジスタ33γの出力信号の複数が”真”を示す値の場合、それらのうち、最も小さい値の差分データに対応するフラグを示す値を出力するように設定されている。
【0042】
すなわち、下位プライオリティエンコーダ45は、レジスタ33γの出力信号をエンコードする際に、複数の出力信号が”真”を示している場合、それらの出力信号のうち、最も小さい値の下位ビットに対応する出力信号を優先してエンコードして、当該出力信号に対応する下位ビットの値を出力できる。
【0043】
例えば、本実施形態では、ビット位置B0に対応する下位ビットの値が最も小さく、ビット位置B15に対応する下位ビットの値が最も大きいので、上記優先順位は、ビット位置B0のビットからの出力信号が最も優先順位が高く、ビット位置B1、B2…の順で優先順位が低くなり、ビット位置B15のビットからの出力信号の優先順位が最も低く設定されている。
【0044】
さらに、上記次機器決定処理部14には、上記上位プライオリティエンコーダ43の出力信号が上位ビットになり、下位プライオリティエンコーダ45の出力信号が下位ビットになるように、両プライオリティエンコーダ43・45の出力信号を連結して、最優先の差分データを復元し、当該差分データと、図2に示す自アドレス記憶部11に記憶された自機器のアドレスとを加算して、加算結果を次のネットワーク機器2のアドレスとして出力する加算器46が設けられている。
【0045】
一例として、自機器のアドレスが、”4”であり、ネットワークシステム1に、自機器以外のネットワーク機器2として、アドレス”22”の機器2、アドレス”23”の機器、および、アドレス”40”の機器2が加入している場合について説明する。
【0046】
レジスタ群31αとして、例えば、レジスタ群31aがリセットされた後、ネットワーク機器2が、送信元のアドレスが”22”のトークンを受信すると、差分回路21は、差分データとして、”22−4=18”(=”0001 0010b”)を出力する。
【0047】
したがって、上位エンコーダ23は、レジスタ群31aのレジスタ33a〜33hのうち、上位ビット”0001b”(=”1”)に対応するレジスタ33bを選択し、下位エンコーダ24は、当該レジスタ33bのうち、下位ビット”0010b”(=”2”)に対応するビット位置B2のビットにフラグをセットする。
【0048】
同様にして、次に、送信元のアドレスが”23”のトークンを受信すると、上位エンコーダ23は、レジスタ33bを選択し、下位エンコーダ24は、当該レジスタ33bのうち、ビット位置B3のビットにフラグをセットする。
【0049】
また、送信元のアドレスが”40”のトークンが受信されると、上位エンコーダ23は、レジスタ33cを選択し、下位エンコーダ24は、当該レジスタ33cのうち、ビット位置B4のビットにフラグをセットする。
【0050】
さらに、自機器宛てのトークンを受け取ると、レジスタ群31aおよび31bの役割が互いに交換される。より詳細には、レジスタ群31aの役割は、フラグを蓄積する役割(レジスタ群31α)から、フラグを保持する役割(レジスタ群31β)へと切り換えられ、レジスタ群31bの役割は、フラグを保持する役割(レジスタ群31β)から、フラグを蓄積する役割(レジスタ群31α)へと切り換えられる。
【0051】
この状態では、これまでフラグを蓄積していたレジスタ群31aにおいて、レジスタ33bのビット位置B2およびB3のビットと、レジスタ33cのビット位置B4のビットとにのみ、フラグがセットされ、レジスタ群31aの残余のビットは、リセットされたときの値を保っている。したがって、各検出回路41a〜41hのうち、検出回路41bおよび41cの出力のみが”真”になり、残余の出力は、”偽”となる。
【0052】
ここで、本実施形態では、上述したように、検出回路41cの出力よりも検出回路41bの出力の方が優先順位が高いので、上位プライオリティエンコーダ43は、上位ビットとして、検出回路41b(レジスタ33b)に対応する値”001b”を出力し、マルチプレクサ44は、レジスタ33bからの出力信号を出力する。
【0053】
また、上述したように、レジスタ33bの出力信号のうち、ビット位置B2およびB3のビットからの出力信号のみが”真”であり、本実施形態では、ビット位置B3よりもビット位置B2の優先順位の方が高いので、下位プライオリティエンコーダ45は、下位ビットとして、ビット位置B2に対応する値”0010b”を出力する。
【0054】
さらに、加算器46は、上記上位および下位ビットを連結して生成した差分データ”0001 0010b”(=”18”)と、自機器のアドレス”4”とを加算して、次の機器のアドレスとして、加算結果”22”を出力する。
【0055】
このように、上記構成では、送信元のアドレスが、ある値のトークンがネットワーク上を既に伝送されたか否かを記憶する際、差分回路21が当該アドレスと自らのアドレスとの差分データを生成し、上位エンコーダ23および下位エンコーダ24は、上記差分回路21が当該差分データを出力したか否かを示すフラグをレジスタ群31αのレジスタ33(33a〜33hのいずれか)に記憶する。
【0056】
さらに、レジスタ群31αにフラグが格納されると、上記上位プライオリティエンコーダ43によって、フラグが設定されたビットを含む上記レジスタ33のうち、予め定められた優先順位が最も高いレジスタ(最優先のレジスタ)33γに対応する上位ビットが生成される。また、下位プライオリティエンコーダ45によって、マルチプレクサ44が選択した上記最優先のレジスタ33γに含まれ、しかも、フラグが設定されたビットのうち、予め定められた優先順位が最も高いビット(最優先のビット)のビット位置に対応する下位ビットが出力される。
【0057】
ここで、上記フラグは、送信元のアドレス自体から直接生成されたものではなく、差分データから生成されたフラグなので、自らのアドレスから直接フラグを生成する場合と異なり、自らのアドレスが、どのような値であっても、上記優先順位を代えることなく、上記最優先のレジスタおよびビットを特定できる。したがって、プライオリティエンコーダやマルチプレクサのように、比較的回路規模の小さな回路によって、上記最優先のレジスタおよびビットのビット位置に対応する上位ビットおよび下位ビットを生成でき、自らの次に大きなアドレスに対応する差分データを復元できる。さらに、上記加算器46によって、差分データがアドレスに変換される。
【0058】
これらの結果、比較的回路規模が小さい回路によって、自らの次に大きなアドレスを持ったネットワーク機器2のアドレス(次のアドレス)を決定できる。また、ソフトウェアではなく、ハードウェアによって、次のアドレスを決定しているので、CPUなどの演算手段がソフトウェアを実行して次のアドレスを決定する場合と比較して、演算手段の負担を軽減でき、高速に次のアドレスを決定できる。この結果、高速かつ演算手段の負担の少ないネットワーク機器2を比較的回路規模の小さい回路によって実現できる。
【0059】
なお、自らが最大のアドレスを持っている場合、差分データは、マイナスの値になり、差分回路21は、当該差分データを2の補数で表現する。したがって、この場合であっても、上記次機器決定処理部14は、何ら支障なく、次のネットワーク機器2、すなわち、最小のアドレスを持ったネットワーク機器2を選択できる。
【0060】
さらに、本実施形態に係るネットワーク機器2では、例えば、トークンが一巡するタイミングなど、予め定められたタイミングで、フラグを蓄積するレジスタ群31αをリセットしている。
【0061】
したがって、ネットワークシステム1から離脱したネットワーク機器2があっても、レジスタ群31αのリセット後は、そのネットワーク機器2のアドレスを示すフラグがレジスタ群31αにセットされることがない。これにより、レジスタ群31αの記憶内容に、ネットワーク機器2の離脱を反映させることができる。
【0062】
また、本実施形態に係るネットワーク機器2では、フラグを蓄積する役割およびフラグを保持する役割をそれぞれ持った、2組のレジスタ群31aおよび31bがレジスタ群22に設けられており、トークンが一巡する毎に、両者の役割を交換すると共に、新たにフラグを蓄積する役割になるレジスタ群(31α)をリセットする。
【0063】
したがって、レジスタ群31αをリセットしているにも拘わらず、上記各部材41〜46は、これまで、フラグを蓄積していた方のレジスタ群31βに基づいて、次のアドレスを決定できる。
【0064】
なお、上記の次機器決定処理部14は、次のアドレスとして、自らの次に大きなアドレスを持ったネットワーク機器2のアドレスを出力しているが、本発明は、ネットワークシステム1に加入しているネットワーク機器2のアドレスのうち、自らに隣接するアドレスを算出する構成に広く適用できる。
【0065】
例えば、上述の優先順位を逆に設定するか、あるいは、差分回路21が自機器のアドレスから送信元のアドレスを引いた値を算出することによって、自らの次に小さなアドレスを持ったネットワーク機器2のアドレスを出力してもよい。また、上記優先順位を逆に設定し、しかも、差分回路21が自機器のアドレスから送信元のアドレスを引いた値を算出することによって、本実施形態と同様に、自らの次に大きなアドレスを持ったネットワーク機器2のアドレスを出力してもよい。
【0066】
なお、上記では、マルチプレクサ44が上位プライオリティエンコーダ43の出力に基づいて、レジスタ33γを選択する場合を例にして説明したが、これに限るものではない。マルチプレクサ44が、各検出回路41a〜41hの出力に基づき、同一の優先順位によって、レジスタ33γを選択してもよい。
【0067】
〔第2の実施形態〕
ところで、上記では、優先順位が固定されている場合を例にして説明したが、本実施形態では、優先順位を、第1の順位と、それとは逆順の第2の順位とに切り換えることによって、次のアドレスだけではなく、前のアドレスを決定可能な構成について説明する。
【0068】
すなわち、図3に示すように、本実施形態に係る前および次機器決定処理部(隣接アドレス決定手段)14aは、図1に示す次機器決定処理部14に代えて設けられたものであって、図1に示す両プライオリティエンコーダ43および45に代えて、優先順位を反転可能なプライオリティエンコーダ43aおよび45aが設けられている。
【0069】
さらに、上記前および次機器決定処理部14aには、前のアドレスを持ったネットワーク機器2を出力すべきか、次のアドレスを持ったネットワーク機器2を出力すべきかに応じて、上記両プライオリティエンコーダ43a・45aへ、優先順位を反転するか否かを示す制御信号を出力する制御回路47が設けられている。
【0070】
上記プライオリティエンコーダ43a・45aは、例えば、上記プライオリティエンコーダ43・45の構成に加えて、それぞれの各入力端子と内部に設けられた図示しない判定用の論理回路との接続関係を変更するスイッチと、出力を反転するか否かを制御する回路(例えば、排他的論理和回路など)とを設けたものであって、上記制御信号に応じて、優先順位を反転することができる。
【0071】
上記構成において、上述の数値例を用いて説明すると、フラグを蓄積するレジスタ群31αが、レジスタ群31aからレジスタ群31bに切り換えられた時点では、上述したように、レジスタ33bのビット位置B2およびB3のビットと、レジスタ33cのビット位置B4のビットとにのみ、フラグがセットされており、各検出回路41a〜41hのうち、検出回路41bおよび41cの出力のみが”真”になっている。
【0072】
この状態において、優先順位の反転が指示された場合、上位プライオリティエンコーダ43は、例えば、反転前は、検出回路41fおよび41gが接続されていた上記論理回路に、それぞれ検出回路41cおよび41bを接続するなどして、優先順位を反転する。したがって、上位プライオリティエンコーダ43は、検出回路41cの出力よりも検出回路41bの優先順位の方が低いと判定して、検出回路41c(レジスタ33c)に対応する上位ビット”010b”を出力する。
【0073】
さらに、マルチプレクサ44は、当該レジスタ33cを選択して出力し、下位プライオリティエンコーダ45は、当該レジスタ33cの各ビットの中から、最優先のビット位置に対応する下位ビットを出力する。
【0074】
ここで、下位プライオリティエンコーダ45でも、例えば、反転前は、ビット位置B4のビットからの信号線に接続されていた上記論理回路に、ビット位置B11のビットからの信号線に接続するなどして、優先順位を反転する。したがって、下位プライオリティエンコーダ45は、ビット位置B4に対応する下位ビット”0100b”を出力する。
【0075】
さらに、加算器46は、当該上位ビットおよび下位ビットを連結して生成した差分データ(”010 0100b”=”36”)に、自機器のアドレス”4”を加算して、自機器の次に小さなアドレスまたはネットワークシステム1で最小のアドレスとして、前のネットワーク機器2のアドレス”40”を出力する。
【0076】
このように、上記構成では、制御回路47の指示に応じて、優先順位を反転するので、自機器の次のネットワーク機器2のアドレスと、自機器の前のネットワーク機器2のアドレスとの双方を決定できる。
【0077】
さらに、制御回路47、および、優先順位を反転するための部材(両プライオリティエンコーダ43および45)以外の構成は、優先順位を固定する構成と同一であり、特に、レジスタ33a〜33hに記憶されているフラグの内容を変更することなく、上記両ネットワーク機器2のアドレスを決定している。したがって、優先順位を反転できるにも拘わらず、回路規模の増加を抑えることができる。
【0078】
なお、上記では、マルチプレクサ44が上位プライオリティエンコーダ43aの出力に基づいて、レジスタ33γを選択する場合を例にして説明したが、これに限るものではない。制御回路47の指示に応じて、優先順位を反転するマルチプレクサが、各検出回路41a〜41hの出力に基づき、上位プライオリティエンコーダ43aと同一の優先順位によって、レジスタ33γを選択してもよい。
【0079】
【発明の効果】
請求項1記載の発明に係るネットワーク通信装置は、以上のように、上記アドレス抽出手段が抽出した各送信元のアドレスについて、送信元のアドレスと、自らのアドレスとの差分を示す差分データを出力する差分回路と、上記差分データのうちの予め定められたビット幅の上位ビットが取りうる値、それぞれに対応して設けられたレジスタであって、上記差分データの残余の下位ビットが取りうる値、それぞれに対応して設けられたフラグ領域を含むレジスタと、上記各フラグ領域のうち、上記差分回路が出力した差分データの上位ビットに対応するレジスタに含まれ、当該差分データの下位ビットに対応するフラグ領域へフラグを設定するフラグ設定回路と、フラグが設定されたフラグ領域を含む上記レジスタのうち、最優先のレジスタを選択するマルチプレクサと、当該マルチプレクサが選択したレジスタに含まれ、しかも、フラグが設定されたフラグ領域のうち、最優先のフラグ領域に対応する下位ビットを出力する下位プライオリティエンコーダと、フラグが設定されたフラグ領域を含む上記レジスタのうち、最優先のレジスタに対応する上位ビットを出力する上位プライオリティエンコーダと、上記両プライオリティエンコーダの出力の組み合わせとして復元された差分データに、自らのアドレスを加算して、上記隣接アドレスを出力する加算器とを備えている構成である。
【0080】
上記構成では、上記フラグは、送信元のアドレス自体から直接生成されたものではなく、差分データから生成されたフラグなので、自らのアドレスから直接フラグを生成する場合と異なり、自らのアドレスが、どのような値であっても、上記優先順位を代えることなく、上記最優先のレジスタおよびフラグ領域を特定できる。したがって、プライオリティエンコーダやマルチプレクサのように、比較的回路規模の小さな回路によって、上記最優先のレジスタおよびフラグ領域に対応する上位ビットおよび下位ビットを生成でき、自らのアドレスに隣接するアドレスに対応する差分データを復元できる。さらに、上記加算器によって、差分データがアドレスに変換される。
【0081】
これらの結果、比較的回路規模が小さい回路によって、自らのアドレスに隣接するアドレスを決定できる。また、ソフトウェアではなく、ハードウェアによって、隣接アドレスを決定しているので、CPUなどの演算手段がソフトウェアを実行して隣接アドレスを決定する場合と比較して、演算手段の負担を軽減でき、高速に隣接アドレスを決定できる。この結果、高速かつ演算手段の負担の少ないネットワーク通信装置を比較的回路規模の小さい回路によって実現できるという効果を奏する。
【0082】
請求項2記載の発明に係るネットワーク通信装置は、上記構成に加えて、上記両プライオリティエンコーダおよびマルチプレクサの優先順位を上記順番とは逆に変更する優先順位変更回路を備えている構成である。
【0083】
当該構成では、優先順位変更回路によって、上記両プライオリティエンコーダおよびマルチプレクサの優先順位を反転できる。したがって、優先順位を反転するか否かによって、自らのアドレスに隣接するアドレスのうち、自らのアドレスよりも大きなアドレスを選択する動作と、自らのアドレスよりも小さなアドレスを選択する動作とを切り換えることができ、例えば、自らがトークンを送る機器のアドレスと、自らにトークンを送る機器のアドレスとの双方を決定できる。
【0084】
また、優先順位変更手段以外の構成は、優先順位を固定する構成と同一なので、上記2つの動作を切り換えることができるにも拘わらず、回路規模の増加を抑えることができるという効果を奏する。
【図面の簡単な説明】
【図1】本発明の実施形態を示すものであり、次機器決定処理部の要部構成を示すブロック図である。
【図2】上記次機器決定処理部を含むネットワーク機器により構成されるネットワークシステムの要部構成を示すブロック図である。
【図3】本発明の他の実施形態を示すものであり、次機器決定処理部の要部構成を示すブロック図である。
【符号の説明】
2 ネットワーク機器(ネットワーク通信装置)
3 バス(ネットワーク)
12 データ解析部(アドレス抽出手段)
14 次機器決定処理部(隣接アドレス決定手段)
14a 前および次機器決定処理部(隣接アドレス決定手段)
21 差分回路
23 上位エンコーダ(フラグ設定回路)
24 下位エンコーダ(フラグ設定回路)
33a〜33h レジスタ
44 マルチプレクサ
43 上位プライオリティエンコーダ
45 下位プライオリティエンコーダ
46 加算器
Claims (2)
- ネットワーク上を伝送される各トークンに含まれる送信元のアドレスを抽出するアドレス抽出手段と、抽出したアドレスの中から、自らのアドレスに隣接するアドレスを決定する隣接アドレス決定手段とを有するネットワーク通信装置において、
上記隣接アドレス決定手段は、上記アドレス抽出手段が抽出した各送信元のアドレスについて、送信元のアドレスと、自らのアドレスとの差分を示す差分データを出力する差分回路と、
上記差分データのうちの予め定められたビット幅の上位ビットが取りうる値、それぞれに対応して設けられたレジスタであって、上記差分データの残余の下位ビットが取りうる値、それぞれに対応して設けられたフラグ領域を含むレジスタと、
上記各フラグ領域のうち、上記差分回路が出力した差分データの上位ビットに対応するレジスタに含まれ、当該差分データの下位ビットに対応するフラグ領域へフラグを設定するフラグ設定回路と、
フラグが設定されたフラグ領域を含む上記レジスタのうち、予め定められた優先順位が最も高いレジスタを選択するマルチプレクサと、
当該マルチプレクサが選択したレジスタに含まれ、しかも、フラグが設定されたフラグ領域のうち、予め定められた優先順位が最も高いフラグ領域に対応する下位ビットを出力する下位プライオリティエンコーダと、
フラグが設定されたフラグ領域を含む上記レジスタのうち、予め定められた優先順位が最も高いレジスタに対応する上位ビットを出力する上位プライオリティエンコーダと、
上記両プライオリティエンコーダの出力の組み合わせとして復元された差分データに、自らのアドレスを加算して、上記隣接アドレスを出力する加算器とを備えていることを特徴とするネットワーク通信装置。 - 上記両プライオリティエンコーダおよびマルチプレクサの優先順位を上記順番とは逆に変更する優先順位変更回路を備えていることを特徴とする請求項1記載のネットワーク通信装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003209213A JP4068020B2 (ja) | 2003-08-28 | 2003-08-28 | ネットワーク通信装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003209213A JP4068020B2 (ja) | 2003-08-28 | 2003-08-28 | ネットワーク通信装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005072693A JP2005072693A (ja) | 2005-03-17 |
JP4068020B2 true JP4068020B2 (ja) | 2008-03-26 |
Family
ID=34402225
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003209213A Expired - Lifetime JP4068020B2 (ja) | 2003-08-28 | 2003-08-28 | ネットワーク通信装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4068020B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115358389A (zh) * | 2022-09-01 | 2022-11-18 | 清华大学 | 神经网络的训练误差降低方法、装置、电子设备及介质 |
-
2003
- 2003-08-28 JP JP2003209213A patent/JP4068020B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP2005072693A (ja) | 2005-03-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3070744B2 (ja) | ベクトル処理装置 | |
JPH01265347A (ja) | アドレス生成装置 | |
US7089407B2 (en) | Packet processing device processing input packet data in a packet routing device | |
JP4068020B2 (ja) | ネットワーク通信装置 | |
CN115580572B (zh) | 路由方法、路由节点、路由装置和计算机可读存储介质 | |
US20040042481A1 (en) | Facilitating arbitration via information associated with groups of requesters | |
JP2005303787A (ja) | パケット生成装置 | |
CN115833845B (zh) | 位置输出装置和位置输出方法 | |
KR100202170B1 (ko) | 시리얼 인터페이스를 위한 데이터 수신 방법 및 그 장치 | |
JP2001357025A (ja) | データ駆動型処理装置およびデータ駆動型処理装置におけるデータ処理方法 | |
JP2005148904A (ja) | リングバッファ制御装置およびリングバッファ制御方法 | |
KR940008483B1 (ko) | 인터럽트 제어기 | |
JPH0546535A (ja) | データ転送インタフエース装置 | |
JPS60218135A (ja) | デ−タ処理装置 | |
JPH06123757A (ja) | 試験装置 | |
KR0153643B1 (ko) | 우선 순위 엔코더를 이용한 고속의 가상 스케쥴링 장치 | |
JP2953405B2 (ja) | 論理シミュレーションの高速化方法及び論理シミュレーション装置 | |
JP2009151487A (ja) | Dma転送制御装置及びデータ転送装置 | |
JPH08249273A (ja) | 転送速度切り替え機能付き非同期転送回路 | |
JP2667018B2 (ja) | 情報処理装置 | |
KR100491949B1 (ko) | 공용 버스 중재 방법 및 이를 이용한 인터페이서간의데이터 전송 장치 | |
KR920006970B1 (ko) | 프로그래머블 콘트롤러의 연산처리장치 | |
JP2006053770A (ja) | データ処理装置、データ復元装置、データ処理方法及びデータ処理プログラム | |
JP2003179622A (ja) | データ転送組み合わせ決定方法および組み合わせ決定回路 | |
JP2002055944A (ja) | アービトレーション装置および方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20051013 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20071221 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20080108 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080109 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110118 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 4068020 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110118 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120118 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120118 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130118 Year of fee payment: 5 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130118 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140118 Year of fee payment: 6 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |