JP2000278272A - ウエイテッドラウンドロビン回路 - Google Patents
ウエイテッドラウンドロビン回路Info
- Publication number
- JP2000278272A JP2000278272A JP8543199A JP8543199A JP2000278272A JP 2000278272 A JP2000278272 A JP 2000278272A JP 8543199 A JP8543199 A JP 8543199A JP 8543199 A JP8543199 A JP 8543199A JP 2000278272 A JP2000278272 A JP 2000278272A
- Authority
- JP
- Japan
- Prior art keywords
- cell
- count
- circuit
- flag
- cell buffer
- 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.)
- Granted
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
(57)【要約】
【課題】 メモリを使用してカウンタを構成した場合で
も多数のセルバッファ回路を搭載可能にする。 【解決手段】 対応するセルバッファ回路10〜30に
セルがないときには有意のセル有無フラグを送出するセ
ル有無フラグ送出回路11〜31と、カウントメモリ4
2の対応するカウント値が減算され0になったときに有
意のウエイト有無フラグを送出するウエイト有無フラグ
送出回路12〜32と、全てのセルバッファ回路10〜
30それぞれに対応したセル有無フラグ又はウエイト有
無フラグのいずれか一方または両方が有意であるときに
一斉に有意のカウント初期化フラグを送出するカウント
初期化フラグ送出回路13〜33とを設け、セル出力回
路43は、セルバッファ回路10〜30の中から1つの
セルバッファ回路を選択してセルを出力するときに、対
応するカウント初期化フラグが有意の場合、対応するカ
ウント値のみを初期化する。
も多数のセルバッファ回路を搭載可能にする。 【解決手段】 対応するセルバッファ回路10〜30に
セルがないときには有意のセル有無フラグを送出するセ
ル有無フラグ送出回路11〜31と、カウントメモリ4
2の対応するカウント値が減算され0になったときに有
意のウエイト有無フラグを送出するウエイト有無フラグ
送出回路12〜32と、全てのセルバッファ回路10〜
30それぞれに対応したセル有無フラグ又はウエイト有
無フラグのいずれか一方または両方が有意であるときに
一斉に有意のカウント初期化フラグを送出するカウント
初期化フラグ送出回路13〜33とを設け、セル出力回
路43は、セルバッファ回路10〜30の中から1つの
セルバッファ回路を選択してセルを出力するときに、対
応するカウント初期化フラグが有意の場合、対応するカ
ウント値のみを初期化する。
Description
【0001】
【発明の属する技術分野】本発明は、ATM(Asynchro
nous Transfer Mode:非同期転送モード)セルを伝送す
る装置において、複数のサービスクラスを実現するウエ
イテッドラウンドロビン(Weighted Round-Robin)回路
に関する。
nous Transfer Mode:非同期転送モード)セルを伝送す
る装置において、複数のサービスクラスを実現するウエ
イテッドラウンドロビン(Weighted Round-Robin)回路
に関する。
【0002】
【従来の技術】図7は、信学技法TECHNICAL REPORT OF
IEICE SSE96-95(1996-10)「ABR、UBRクラスに対
するスケジューリング方式の評価」に示されたウエイテ
ッドラウンドロビンを説明するための図である。図7に
は、例えばそれぞれ異なるサービスに対応して設けら
れ、対応したサービスのセルを内部のセルバッファに蓄
積するセルバッファ回路1,2と、セルバッファ回路
1,2を制御し、ウエイテッドラウンドロビンの規則に
従ってセルを出力するセル出力回路3とが示されてい
る。
IEICE SSE96-95(1996-10)「ABR、UBRクラスに対
するスケジューリング方式の評価」に示されたウエイテ
ッドラウンドロビンを説明するための図である。図7に
は、例えばそれぞれ異なるサービスに対応して設けら
れ、対応したサービスのセルを内部のセルバッファに蓄
積するセルバッファ回路1,2と、セルバッファ回路
1,2を制御し、ウエイテッドラウンドロビンの規則に
従ってセルを出力するセル出力回路3とが示されてい
る。
【0003】ウエイテッドラウンドロビンの規則では、
セルバッファ回路1,2にセルが有るか無いかを、例え
ばセルバッファ回路1から検索し、セルがあった場合は
そのセルバッファ回路1のセルを出力し、セルが無かっ
た場合は次のセルバッファ回路2にセルがあるか無いか
を検索し、セルがあった場合はそのセルバッファ回路2
のセルを出力するものである。また、この規則では、セ
ルバッファ回路1にセルがあった場合、次のセル時間で
の検索は、次のセルバッファ回路2から開始し、セルが
無かった場合は、その次の、つまり最初に戻ってセルバ
ッファ回路1の検索を行う。なお、1セル時間の間に次
のセル出力のためにラウンドロビンを行いセルバッファ
回路を選択することになる。更に、この規則では、各セ
ルバッファ回路に対しウエイトを設定し、1セル出力す
る毎に対応するセルバッファ回路のウエイト値を1つず
つ減算し、ウエイトを全て消費したセルバッファ回路は
初期化によりウエイト値が回復されるまで選択されない
ようにする。
セルバッファ回路1,2にセルが有るか無いかを、例え
ばセルバッファ回路1から検索し、セルがあった場合は
そのセルバッファ回路1のセルを出力し、セルが無かっ
た場合は次のセルバッファ回路2にセルがあるか無いか
を検索し、セルがあった場合はそのセルバッファ回路2
のセルを出力するものである。また、この規則では、セ
ルバッファ回路1にセルがあった場合、次のセル時間で
の検索は、次のセルバッファ回路2から開始し、セルが
無かった場合は、その次の、つまり最初に戻ってセルバ
ッファ回路1の検索を行う。なお、1セル時間の間に次
のセル出力のためにラウンドロビンを行いセルバッファ
回路を選択することになる。更に、この規則では、各セ
ルバッファ回路に対しウエイトを設定し、1セル出力す
る毎に対応するセルバッファ回路のウエイト値を1つず
つ減算し、ウエイトを全て消費したセルバッファ回路は
初期化によりウエイト値が回復されるまで選択されない
ようにする。
【0004】図7では、セルバッファ回路1のウエイト
を2とし、セルバッファ回路2のウエイトを1とした場
合を例示している。また、図7には図示されていない
が、セルバッファ回路1,2それぞれに対応しカウント
ダウンを行うカウンタが設けられており、上記ウエイト
はカウンタの初期値に反映される。つまり、セルバッフ
ァ回路1対応のカウンタの初期値は2、セルバッファ回
路2対応のカウンタの初期値は1となる。また、セルバ
ッファ回路1には、A1からA6のセルが蓄積され、セ
ルバッファ回路2にはB1からB3のセルが蓄積されて
いるものとしている。この図7の例を用いて従来のウエ
イテッドラウンドロビン回路の動作について説明する。
を2とし、セルバッファ回路2のウエイトを1とした場
合を例示している。また、図7には図示されていない
が、セルバッファ回路1,2それぞれに対応しカウント
ダウンを行うカウンタが設けられており、上記ウエイト
はカウンタの初期値に反映される。つまり、セルバッフ
ァ回路1対応のカウンタの初期値は2、セルバッファ回
路2対応のカウンタの初期値は1となる。また、セルバ
ッファ回路1には、A1からA6のセルが蓄積され、セ
ルバッファ回路2にはB1からB3のセルが蓄積されて
いるものとしている。この図7の例を用いて従来のウエ
イテッドラウンドロビン回路の動作について説明する。
【0005】セル出力回路3は、最初、セルバッファ回
路1からセルが蓄積されているかを検索する。この例の
場合、セルが蓄積されているので、セルバッファ回路1
はA1を出力する。そして、セルバッファ回路1に対応
するカウンタのカウント値を1減算して1にする。次に
出力するセルは、ウエイテッドラウンドロビンの規則に
従うとセルバッファ回路2に蓄積されているB1にな
る。このとき、セルバッファ回路2に対応するカウンタ
のカウント値を1減算して0にする。ウエイテットラウ
ンドロビンの規則では、カウント値が0になったセルバ
ッファ回路からはセルを出力させない。よって、次に出
力するセルはセルバッファ回路1に蓄積されているA2
となる。このとき、セルバッファ回路1に対応するカウ
ンタの値を1減算して0にする。ウエイテッドラウンド
ロビンの規則では、全てのセルバッファ回路1,2にお
いてカウント値が0またはセルバッファにセルが蓄積さ
れていない状態になると、全てのカウンタのカウント値
を初期値に戻すので、セルバッファ回路1に対応するカ
ウンタのカウント値は初期状態の2となり、セルバッフ
ァ回路2に対応するカウンタのカウント値は初期状態の
1となる。このようにして初期状態に戻ると、これ以降
は上記と同様に動作してセルA3,B2,A4,A5,
B3,A6が順次出力される。
路1からセルが蓄積されているかを検索する。この例の
場合、セルが蓄積されているので、セルバッファ回路1
はA1を出力する。そして、セルバッファ回路1に対応
するカウンタのカウント値を1減算して1にする。次に
出力するセルは、ウエイテッドラウンドロビンの規則に
従うとセルバッファ回路2に蓄積されているB1にな
る。このとき、セルバッファ回路2に対応するカウンタ
のカウント値を1減算して0にする。ウエイテットラウ
ンドロビンの規則では、カウント値が0になったセルバ
ッファ回路からはセルを出力させない。よって、次に出
力するセルはセルバッファ回路1に蓄積されているA2
となる。このとき、セルバッファ回路1に対応するカウ
ンタの値を1減算して0にする。ウエイテッドラウンド
ロビンの規則では、全てのセルバッファ回路1,2にお
いてカウント値が0またはセルバッファにセルが蓄積さ
れていない状態になると、全てのカウンタのカウント値
を初期値に戻すので、セルバッファ回路1に対応するカ
ウンタのカウント値は初期状態の2となり、セルバッフ
ァ回路2に対応するカウンタのカウント値は初期状態の
1となる。このようにして初期状態に戻ると、これ以降
は上記と同様に動作してセルA3,B2,A4,A5,
B3,A6が順次出力される。
【0006】図7に示した例では、セル出力回路3から
出力されているセルに関して、セルバッファ回路1から
出力されたセル数とセルバッファ回路2から出力された
セル数の比が2対1になっており、これは、ウエイトの
比に等しい。このように、ウエイテッドラウンドロビン
回路では、ウエイトに比例してセルを出力することがで
き、サービス毎にウエイトを変えて使用すれば、サービ
スに優先度を持たせることができる。
出力されているセルに関して、セルバッファ回路1から
出力されたセル数とセルバッファ回路2から出力された
セル数の比が2対1になっており、これは、ウエイトの
比に等しい。このように、ウエイテッドラウンドロビン
回路では、ウエイトに比例してセルを出力することがで
き、サービス毎にウエイトを変えて使用すれば、サービ
スに優先度を持たせることができる。
【0007】図8にウエイテッドラウンドロビン回路の
サービス例を示す。図8には、前述したセルバッファ回
路1,2それぞれに対応させて接続された端末4,5が
示されている。各端末4,5は、対応するセルバッファ
回路1,2にセルを送ることになるが、この構成におい
てウエイト比を図7と同様に2対1にしておけば、端末
4,5の各出力セルを1本の伝送路に多重するとき、端
末4は端末5よりも倍のセルを出力することができ、よ
り高速のサービスを受けていることになる。
サービス例を示す。図8には、前述したセルバッファ回
路1,2それぞれに対応させて接続された端末4,5が
示されている。各端末4,5は、対応するセルバッファ
回路1,2にセルを送ることになるが、この構成におい
てウエイト比を図7と同様に2対1にしておけば、端末
4,5の各出力セルを1本の伝送路に多重するとき、端
末4は端末5よりも倍のセルを出力することができ、よ
り高速のサービスを受けていることになる。
【0008】ところで、前述したように、従来のウエイ
テッドラウンドロビン回路では、ウエイトを減算するカ
ウンタを各セルバッファ回路に対応させて設けておく必
要がある。従って、セルバッファ回路が増えた場合、こ
れに比例してカウンタも増やす必要がある。セルバッフ
ァ回路が数個程度であれば、個別にカウンタを用意すれ
ば良いが、セルバッファ回路を例えばコネクション毎に
用意するような場合であってコネクション数が多い場合
には、カウンタ数もこれに応じて多く用意する必要があ
る。このように、多数のカウンタを用意する必要がある
場合は、メモリを使用してカウンタを構成することが一
般的である。
テッドラウンドロビン回路では、ウエイトを減算するカ
ウンタを各セルバッファ回路に対応させて設けておく必
要がある。従って、セルバッファ回路が増えた場合、こ
れに比例してカウンタも増やす必要がある。セルバッフ
ァ回路が数個程度であれば、個別にカウンタを用意すれ
ば良いが、セルバッファ回路を例えばコネクション毎に
用意するような場合であってコネクション数が多い場合
には、カウンタ数もこれに応じて多く用意する必要があ
る。このように、多数のカウンタを用意する必要がある
場合は、メモリを使用してカウンタを構成することが一
般的である。
【0009】図9は、従来からあるメモリを使用したカ
ウンタの構成を示した図である。図9には、カウント値
を記憶するカウントメモリ6と、カウント値を1ずつ減
算する減算回路7とが示されている。カウントメモリ6
は、N個のセルバッファ回路に対応させて#1から#N
までカウント値をそれぞれ記憶している。次に、このカ
ウントメモリ6を用いた動作について説明する。
ウンタの構成を示した図である。図9には、カウント値
を記憶するカウントメモリ6と、カウント値を1ずつ減
算する減算回路7とが示されている。カウントメモリ6
は、N個のセルバッファ回路に対応させて#1から#N
までカウント値をそれぞれ記憶している。次に、このカ
ウントメモリ6を用いた動作について説明する。
【0010】例えば、#2の内容をカウントダウンした
いときは、アドレスを#2のアドレスとし、カウントメ
モリ6から#2の値を読み出し、この値から減算回路7
で1減算し、再び#2のアドレスに書き込む。このよう
に構成すれば、カウントメモリ6と減算回路7という規
模の小さい構成でN個のカウンタを得ることができる。
いときは、アドレスを#2のアドレスとし、カウントメ
モリ6から#2の値を読み出し、この値から減算回路7
で1減算し、再び#2のアドレスに書き込む。このよう
に構成すれば、カウントメモリ6と減算回路7という規
模の小さい構成でN個のカウンタを得ることができる。
【0011】
【発明が解決しようとする課題】しかしながら、ウエイ
テッドラウンドロビン回路では、全てのセルバッファ回
路についてに対応するカウンタの値が0またはセルが蓄
積されていない場合には全カウント値を一斉に初期値に
戻す必要があるが、メモリでカウンタを構成するウエイ
テッドラウンドロビン回路では、カウンタ値を初期値に
戻すためには1カウンタ(1アドレス)ずつ初期値を書
き込んでいかなければならない。このため、カウンタ数
が多くなると各カウンタへの初期値の書込み処理が次の
セル時間の開始までに終了しない場合が発生する。例え
ば、ラウンドロビンを行いセルバッファ回路を選択する
ために必要な時間をα、カウント値を初期化するために
必要な時間をβとすると、ウエイテッドラウンドロビン
回路として正常に動作するためには、 α+β<1セル時間 という条件を満たす必要がある。例えば、150Mb/
s回線にセルを出力する場合、1セル時間は約2.7μ
秒の固定時間となるが、セルバッファ回路数が増えれば
βが増えることになるので、そのセルバッファ回路数に
よっては上記条件式を満たすことができなくなってしま
う。これにより、多数のセルバッファ回路を搭載するA
TMセルを伝送する装置には、メモリでカウンタを構成
するウエイテッドラウンドロビン回路を使用できないと
いう問題があった。
テッドラウンドロビン回路では、全てのセルバッファ回
路についてに対応するカウンタの値が0またはセルが蓄
積されていない場合には全カウント値を一斉に初期値に
戻す必要があるが、メモリでカウンタを構成するウエイ
テッドラウンドロビン回路では、カウンタ値を初期値に
戻すためには1カウンタ(1アドレス)ずつ初期値を書
き込んでいかなければならない。このため、カウンタ数
が多くなると各カウンタへの初期値の書込み処理が次の
セル時間の開始までに終了しない場合が発生する。例え
ば、ラウンドロビンを行いセルバッファ回路を選択する
ために必要な時間をα、カウント値を初期化するために
必要な時間をβとすると、ウエイテッドラウンドロビン
回路として正常に動作するためには、 α+β<1セル時間 という条件を満たす必要がある。例えば、150Mb/
s回線にセルを出力する場合、1セル時間は約2.7μ
秒の固定時間となるが、セルバッファ回路数が増えれば
βが増えることになるので、そのセルバッファ回路数に
よっては上記条件式を満たすことができなくなってしま
う。これにより、多数のセルバッファ回路を搭載するA
TMセルを伝送する装置には、メモリでカウンタを構成
するウエイテッドラウンドロビン回路を使用できないと
いう問題があった。
【0012】本発明は以上のような問題を解決するため
になされたものであり、その目的は、メモリを使用して
カウンタを構成した場合でもセルバッファ回路の数に関
係なく使用することのできるウエイテッドラウンドロビ
ン回路を提供することにある。
になされたものであり、その目的は、メモリを使用して
カウンタを構成した場合でもセルバッファ回路の数に関
係なく使用することのできるウエイテッドラウンドロビ
ン回路を提供することにある。
【0013】
【課題を解決するための手段】以上のような目的を達成
するために、本発明に係るウエイテッドラウンドロビン
回路は、複数のセルバッファ回路と、前記セルバッファ
回路それぞれに対応して設けられたセル有無フラグを送
出する複数のセル有無フラグ送出回路と、前記セルバッ
ファ回路それぞれに対応して設けられたウエイト有無フ
ラグを送出する複数のウエイト有無フラグ送出回路と、
前記セルバッファ回路それぞれに対応して設けられたカ
ウント初期化フラグを送出する複数のカウント初期化フ
ラグ送出回路と、各セルバッファ回路に対応するウエイ
ト値を記憶するウエイトメモリと、各セルバッファ回路
に対応するカウント値を記憶するカウントメモリと、セ
ル出力回路とを有し、セルを受信するとそのセルに対応
する前記セルバッファ回路に当該セルが書き込まれ、前
記セル有無フラグ送出回路は対応するセルバッファ回路
のセルの有無を記憶し、前記セル出力回路は全てのセル
有無フラグ、ウエイト有無フラグ及びカウント初期化フ
ラグの状態を入力し、前記セルバッファ回路内にセルが
ありかつウエイトがあるか、または前記セルバッファ回
路内にセルがありかつカウント初期化フラグが有意の前
記セルバッファ回路に対し、ラウンドロビンにより1つ
の前記セルバッファ回路を選択し、該セルバッファ回路
からセルを出力し、また各セルバッファ回路全てについ
て、対応するセル有無フラグが前記セルバッファ回路内
にセルが無いことを示しているか、またはウエイトフラ
グがウエイトが無いことを示している場合、全てのカウ
ント初期化フラグを有意にし、前記セルバッファ回路に
対応するカウント初期化フラグが無意の場合、出力する
セルに対応する前記カウントメモリ内のカウント値を1
減算し、減算した結果カウント値が0になったときは、
ウエイトフラグをウエイトが無い状態にし、前記セルバ
ッファ回路に対応するカウント初期化フラグが有意の場
合、出力するセルに対応するカウント値を対応する前記
ウエイトメモリ内のウエイト値とし、該ウエイト値から
1を減算した値を対応するカウントメモリ内のカウント
値とし、また対応するウエイトフラグをウエイトがある
状態にするものである。
するために、本発明に係るウエイテッドラウンドロビン
回路は、複数のセルバッファ回路と、前記セルバッファ
回路それぞれに対応して設けられたセル有無フラグを送
出する複数のセル有無フラグ送出回路と、前記セルバッ
ファ回路それぞれに対応して設けられたウエイト有無フ
ラグを送出する複数のウエイト有無フラグ送出回路と、
前記セルバッファ回路それぞれに対応して設けられたカ
ウント初期化フラグを送出する複数のカウント初期化フ
ラグ送出回路と、各セルバッファ回路に対応するウエイ
ト値を記憶するウエイトメモリと、各セルバッファ回路
に対応するカウント値を記憶するカウントメモリと、セ
ル出力回路とを有し、セルを受信するとそのセルに対応
する前記セルバッファ回路に当該セルが書き込まれ、前
記セル有無フラグ送出回路は対応するセルバッファ回路
のセルの有無を記憶し、前記セル出力回路は全てのセル
有無フラグ、ウエイト有無フラグ及びカウント初期化フ
ラグの状態を入力し、前記セルバッファ回路内にセルが
ありかつウエイトがあるか、または前記セルバッファ回
路内にセルがありかつカウント初期化フラグが有意の前
記セルバッファ回路に対し、ラウンドロビンにより1つ
の前記セルバッファ回路を選択し、該セルバッファ回路
からセルを出力し、また各セルバッファ回路全てについ
て、対応するセル有無フラグが前記セルバッファ回路内
にセルが無いことを示しているか、またはウエイトフラ
グがウエイトが無いことを示している場合、全てのカウ
ント初期化フラグを有意にし、前記セルバッファ回路に
対応するカウント初期化フラグが無意の場合、出力する
セルに対応する前記カウントメモリ内のカウント値を1
減算し、減算した結果カウント値が0になったときは、
ウエイトフラグをウエイトが無い状態にし、前記セルバ
ッファ回路に対応するカウント初期化フラグが有意の場
合、出力するセルに対応するカウント値を対応する前記
ウエイトメモリ内のウエイト値とし、該ウエイト値から
1を減算した値を対応するカウントメモリ内のカウント
値とし、また対応するウエイトフラグをウエイトがある
状態にするものである。
【0014】他の発明に係るウエイテッドラウンドロビ
ン回路は、複数のセルバッファ回路と、前記セルバッフ
ァ回路それぞれに対応して設けられたセル有無フラグを
送出する複数のセル有無フラグ送出回路と、前記セルバ
ッファ回路それぞれに対応して設けられたウエイト有無
フラグを送出する複数のウエイト有無フラグ送出回路
と、前記セルバッファ回路それぞれに対応して設けられ
たカウント初期化フラグを送出する複数のカウント初期
化フラグ送出回路と、各セルバッファ回路に対応するウ
エイト値を記憶するウエイトメモリと、各セルバッファ
回路に対応するカウント値を記憶するカウントメモリ
と、セル出力回路とを有し、セルを受信するとそのセル
に対応する前記セルバッファ回路にセルが書き込まれ、
前記セル有無フラグ送出回路は対応する前記セルバッフ
ァ回路のセルの有無を記憶し、前記セル出力回路は全て
のセル有無フラグ、ウエイト有無フラグ及びカウント初
期化フラグの状態を入力し、前記セルバッファ回路内に
セルがありかつウエイトがあるか、または前記セルバッ
ファ回路内にセルがありかつカウント初期化フラグが有
意の前記セルバッファ回路に対し、ラウンドロビンによ
り1つの前記セルバッファ回路を選択し、該セルバッフ
ァ回路からセルを出力し、また前記各セルバッファ回路
全てについて、対応するセル有無フラグが前記セルバッ
ファ回路内にセルが無いことを示しているか、またはウ
エイトフラグがウエイトが無いことを示している場合、
全てのカウント初期化フラグを有意にし、前記セルバッ
ファ回路に対応するカウント初期化フラグが無意の場
合、出力するセルに対応する前記カウントメモリ内のカ
ウント値を1加算し、加算した結果カウント値が対応す
る前記ウエイトメモリのウエイト値と等しくになったと
きは、ウエイトフラグをウエイトが無い状態にし、前記
セルバッファ回路に対応するカウント初期化フラグが有
意の場合、出力するセルに対応する前記カウントメモリ
内のカウント値を0とし、0に1を加算した値を対応す
る前記カウントメモリのカウント値とし、また対応する
ウエイトフラグをウエイトがある状態にするものであ
る。
ン回路は、複数のセルバッファ回路と、前記セルバッフ
ァ回路それぞれに対応して設けられたセル有無フラグを
送出する複数のセル有無フラグ送出回路と、前記セルバ
ッファ回路それぞれに対応して設けられたウエイト有無
フラグを送出する複数のウエイト有無フラグ送出回路
と、前記セルバッファ回路それぞれに対応して設けられ
たカウント初期化フラグを送出する複数のカウント初期
化フラグ送出回路と、各セルバッファ回路に対応するウ
エイト値を記憶するウエイトメモリと、各セルバッファ
回路に対応するカウント値を記憶するカウントメモリ
と、セル出力回路とを有し、セルを受信するとそのセル
に対応する前記セルバッファ回路にセルが書き込まれ、
前記セル有無フラグ送出回路は対応する前記セルバッフ
ァ回路のセルの有無を記憶し、前記セル出力回路は全て
のセル有無フラグ、ウエイト有無フラグ及びカウント初
期化フラグの状態を入力し、前記セルバッファ回路内に
セルがありかつウエイトがあるか、または前記セルバッ
ファ回路内にセルがありかつカウント初期化フラグが有
意の前記セルバッファ回路に対し、ラウンドロビンによ
り1つの前記セルバッファ回路を選択し、該セルバッフ
ァ回路からセルを出力し、また前記各セルバッファ回路
全てについて、対応するセル有無フラグが前記セルバッ
ファ回路内にセルが無いことを示しているか、またはウ
エイトフラグがウエイトが無いことを示している場合、
全てのカウント初期化フラグを有意にし、前記セルバッ
ファ回路に対応するカウント初期化フラグが無意の場
合、出力するセルに対応する前記カウントメモリ内のカ
ウント値を1加算し、加算した結果カウント値が対応す
る前記ウエイトメモリのウエイト値と等しくになったと
きは、ウエイトフラグをウエイトが無い状態にし、前記
セルバッファ回路に対応するカウント初期化フラグが有
意の場合、出力するセルに対応する前記カウントメモリ
内のカウント値を0とし、0に1を加算した値を対応す
る前記カウントメモリのカウント値とし、また対応する
ウエイトフラグをウエイトがある状態にするものであ
る。
【0015】
【発明の実施の形態】以下、図面に基づいて、本発明の
好適な実施の形態について説明する。
好適な実施の形態について説明する。
【0016】実施の形態1.図1は、本発明に係るウエ
イテッドラウンドロビン回路の一実施の形態を示したブ
ロック構成図である。図1には、3つのセルバッファ回
路10,20,30と各セルバッファ回路10,20,
30に対応させてセル有無フラグ送出回路11,21,
31、ウエイト有無フラグ送出回路12,22,32及
びカウント初期化フラグ送出回路13,23,33がそ
れぞれ設けられている。また、各セルバッファ回路1
0,20,30の優先度を表すウエイトが予め設定され
ているウエイトメモリ41と、各セルバッファ回路1
0,20,30のカウント値を保持するカウントメモリ
42とが示されている。このカウント値は、各セルバッ
ファ回路10,20,30のウエイトを初期値とし、該
当するセルバッファ回路10,20,30からセルが送
出される度に減算される。更に、ウエイテッドラウンド
ロビン制御を行うセル出力回路43が示されている。な
お、セル出力回路43が行うウエイテッドラウンドロビ
ン制御の一つに、1セル時間内においてウエイテッドラ
ウンドロビンの規則に従ってラウンドロビンを行うこと
で次のセル時間におけるセル出力のためにセルバッファ
回路10,20,30を選択し、その選択したセルバッ
ファ回路10,20,30からのセルを送出する処理が
含まれる。
イテッドラウンドロビン回路の一実施の形態を示したブ
ロック構成図である。図1には、3つのセルバッファ回
路10,20,30と各セルバッファ回路10,20,
30に対応させてセル有無フラグ送出回路11,21,
31、ウエイト有無フラグ送出回路12,22,32及
びカウント初期化フラグ送出回路13,23,33がそ
れぞれ設けられている。また、各セルバッファ回路1
0,20,30の優先度を表すウエイトが予め設定され
ているウエイトメモリ41と、各セルバッファ回路1
0,20,30のカウント値を保持するカウントメモリ
42とが示されている。このカウント値は、各セルバッ
ファ回路10,20,30のウエイトを初期値とし、該
当するセルバッファ回路10,20,30からセルが送
出される度に減算される。更に、ウエイテッドラウンド
ロビン制御を行うセル出力回路43が示されている。な
お、セル出力回路43が行うウエイテッドラウンドロビ
ン制御の一つに、1セル時間内においてウエイテッドラ
ウンドロビンの規則に従ってラウンドロビンを行うこと
で次のセル時間におけるセル出力のためにセルバッファ
回路10,20,30を選択し、その選択したセルバッ
ファ回路10,20,30からのセルを送出する処理が
含まれる。
【0017】前述したセル有無フラグ送出回路11,2
1,31は、対応するセルバッファ回路10,20,3
0にセルが蓄積されているときには無意のセル有無フラ
グを、蓄積されているセルがないときには有意のセル有
無フラグをセル出力回路43へ送出する。ウエイト有無
フラグ送出回路12,22,32は、セル出力回路43
の制御に従い有意又は無意のウエイト有無フラグを送出
する。具体的にいうと、カウントメモリ42の対応する
カウント値が減算された結果0になったときに、セル出
力回路43の制御に応じて有意のウエイト有無フラグを
送出し、カウントメモリ42の対応するカウント値が0
でなくなったときにセル出力回路43の制御に応じて無
意のウエイト有無フラグを送出する。カウント初期化フ
ラグ送出回路13,23,33は、セル出力回路43の
制御に従い有意又は無意のカウント初期化フラグを送出
する。具体的にいうと、同じセル時間内において必要に
応じてウエイト有無フラグの値が切り替わった後、全て
のセルバッファ回路10,20,30においてセルバッ
ファ回路10,20,30それぞれに対応したセル有無
フラグ又はウエイト有無フラグのいずれか一方または両
方が有意であるときに全てのカウント初期化フラグ送出
回路13,23,33は揃って有意のカウント初期化フ
ラグを送出する。つまり、カウント初期化フラグは、全
部同時に無意から有意に切り替わる。また、セルバッフ
ァ回路10,20,30がセルを送出した際に対応する
カウント初期化フラグが有意であれば、無意のカウント
初期化フラグに切り替えて送出する。
1,31は、対応するセルバッファ回路10,20,3
0にセルが蓄積されているときには無意のセル有無フラ
グを、蓄積されているセルがないときには有意のセル有
無フラグをセル出力回路43へ送出する。ウエイト有無
フラグ送出回路12,22,32は、セル出力回路43
の制御に従い有意又は無意のウエイト有無フラグを送出
する。具体的にいうと、カウントメモリ42の対応する
カウント値が減算された結果0になったときに、セル出
力回路43の制御に応じて有意のウエイト有無フラグを
送出し、カウントメモリ42の対応するカウント値が0
でなくなったときにセル出力回路43の制御に応じて無
意のウエイト有無フラグを送出する。カウント初期化フ
ラグ送出回路13,23,33は、セル出力回路43の
制御に従い有意又は無意のカウント初期化フラグを送出
する。具体的にいうと、同じセル時間内において必要に
応じてウエイト有無フラグの値が切り替わった後、全て
のセルバッファ回路10,20,30においてセルバッ
ファ回路10,20,30それぞれに対応したセル有無
フラグ又はウエイト有無フラグのいずれか一方または両
方が有意であるときに全てのカウント初期化フラグ送出
回路13,23,33は揃って有意のカウント初期化フ
ラグを送出する。つまり、カウント初期化フラグは、全
部同時に無意から有意に切り替わる。また、セルバッフ
ァ回路10,20,30がセルを送出した際に対応する
カウント初期化フラグが有意であれば、無意のカウント
初期化フラグに切り替えて送出する。
【0018】なお、本実施の形態における各回路11〜
31,12〜32,13〜33は、フリップフロップ回
路で実現するものとし、有意をHigh信号「H」、無
意をLow信号「L」で表すことにする。もちろん、フ
リップフロップ以外の回路で構成してもよいし、有意と
無意を表す「H」と「L」を逆にしてもよい。また、本
実施の形態では、便宜上、3つのセルバッファ回路1
0,20,30を有する構成を例にして説明するが、2
つでもよいしより多くのセルバッファ回路を設けるよう
にしてもよい。また、本実施の形態では、図9に示した
カウンタをそのまま使用することができる。
31,12〜32,13〜33は、フリップフロップ回
路で実現するものとし、有意をHigh信号「H」、無
意をLow信号「L」で表すことにする。もちろん、フ
リップフロップ以外の回路で構成してもよいし、有意と
無意を表す「H」と「L」を逆にしてもよい。また、本
実施の形態では、便宜上、3つのセルバッファ回路1
0,20,30を有する構成を例にして説明するが、2
つでもよいしより多くのセルバッファ回路を設けるよう
にしてもよい。また、本実施の形態では、図9に示した
カウンタをそのまま使用することができる。
【0019】以上の構成を有する本実施の形態において
特徴的なことは、各セルバッファ回路10,20,30
に各回路11〜31,12〜32,13〜33を対応さ
せて設け、後述するように各フラグの値の切替制御を行
うことでカウントメモリ42のカウント値を全て一斉に
初期化しなくてもウエイテッドラウンドロビン制御を正
常に行うことができるようにしたことである。これによ
り、カウントメモリ42にカウント値を保持するように
しても多数のセルバッファ回路を搭載することができる
ようになる。
特徴的なことは、各セルバッファ回路10,20,30
に各回路11〜31,12〜32,13〜33を対応さ
せて設け、後述するように各フラグの値の切替制御を行
うことでカウントメモリ42のカウント値を全て一斉に
初期化しなくてもウエイテッドラウンドロビン制御を正
常に行うことができるようにしたことである。これによ
り、カウントメモリ42にカウント値を保持するように
しても多数のセルバッファ回路を搭載することができる
ようになる。
【0020】図2は、本実施の形態におけるウエイテッ
ドラウンドロビン回路の動作を説明するときの初期状態
の例を示した図である。図2に示した初期状態において
セルバッファ回路10,20,30に蓄積されているセ
ルを示す。図2によると、セルバッファ回路10にはA
1,A2,A3,A4のセルが蓄積され、セルバッファ
回路20にはB1のセルが蓄積され、セルバッファ回路
30にはC1,C2,C3のセルが蓄積されているもの
とする。また、セルバッファ回路10,20,30のウ
エイトは、それぞれ3,2,2としている。また、初期
状態およびウエイトを元に戻したとき、ラウンドロビン
はセルバッファ回路10から始まり、セルバッファ回路
20、次にセルバッファ回路30と昇順に回すものとし
て説明する。なお、セル入力をせず、対応するセル有無
フラグをセルが無い状態(有意)に固定し、ウエイト有
無フラグをカウント値が0の状態(有意)に固定し、カ
ウント初期化フラグを無意に固定すれば、そのセルバッ
ファ回路は、ラウンドロビンの対象に含まれないように
することができる。また、カウントメモリ42のセルバ
ッファ回路10,20,30に対応する各アドレスにC
PU等からウエイト値3,2,2を初期値として予め設
定しておく。更に、ウエイトメモリ41のセルバッファ
回路10,20,30に対応する各アドレスにもそれぞ
れ3,2,2を予め設定しておく。
ドラウンドロビン回路の動作を説明するときの初期状態
の例を示した図である。図2に示した初期状態において
セルバッファ回路10,20,30に蓄積されているセ
ルを示す。図2によると、セルバッファ回路10にはA
1,A2,A3,A4のセルが蓄積され、セルバッファ
回路20にはB1のセルが蓄積され、セルバッファ回路
30にはC1,C2,C3のセルが蓄積されているもの
とする。また、セルバッファ回路10,20,30のウ
エイトは、それぞれ3,2,2としている。また、初期
状態およびウエイトを元に戻したとき、ラウンドロビン
はセルバッファ回路10から始まり、セルバッファ回路
20、次にセルバッファ回路30と昇順に回すものとし
て説明する。なお、セル入力をせず、対応するセル有無
フラグをセルが無い状態(有意)に固定し、ウエイト有
無フラグをカウント値が0の状態(有意)に固定し、カ
ウント初期化フラグを無意に固定すれば、そのセルバッ
ファ回路は、ラウンドロビンの対象に含まれないように
することができる。また、カウントメモリ42のセルバ
ッファ回路10,20,30に対応する各アドレスにC
PU等からウエイト値3,2,2を初期値として予め設
定しておく。更に、ウエイトメモリ41のセルバッファ
回路10,20,30に対応する各アドレスにもそれぞ
れ3,2,2を予め設定しておく。
【0021】図3は、実施の形態1におけるウエイテッ
ドラウンドロビン回路の動作に応じて遷移するセル数、
カウント値及び各フラグの状態を示した図である。図3
におけるセル時刻1〜9は、それぞれ1セル時間に相当
する。本実施の形態では、セル時刻1〜8ではどのセル
バッファ回路10,20,30にもセルは入力されず、
セル時刻9にてセルバッファ回路20にセルが入力され
るものとして説明する。
ドラウンドロビン回路の動作に応じて遷移するセル数、
カウント値及び各フラグの状態を示した図である。図3
におけるセル時刻1〜9は、それぞれ1セル時間に相当
する。本実施の形態では、セル時刻1〜8ではどのセル
バッファ回路10,20,30にもセルは入力されず、
セル時刻9にてセルバッファ回路20にセルが入力され
るものとして説明する。
【0022】図4は、本実施の形態において1セル時間
内に行われるセル出力回路43の処理フローを示した図
である。セル出力回路43は、前回のウエイテッドラウ
ンドロビンで出力することに決まったセルを1セル時間
の最初から出力し、ウエイテッドラウンドロビン終了
後、次セル時刻で出力するセルを該当するセルバッファ
回路10,20,30から入力する処理を開始するとと
もに、以下の動作を順次行う。
内に行われるセル出力回路43の処理フローを示した図
である。セル出力回路43は、前回のウエイテッドラウ
ンドロビンで出力することに決まったセルを1セル時間
の最初から出力し、ウエイテッドラウンドロビン終了
後、次セル時刻で出力するセルを該当するセルバッファ
回路10,20,30から入力する処理を開始するとと
もに、以下の動作を順次行う。
【0023】(1)現セル時刻で出力するセルに対応す
るウエイト有無フラグの設定処理 (2)カウント初期化フラグの設定処理 (3)ウエイテッドラウンドロビン (4)次回出力するセルに対応するカウントメモリ42
からのカウント値の読出処理、または次回出力するセル
に対応するウエイトメモリ41からのウエイトの読出処
理 (5)(4)で読み出したカウント値の1減算処理 (6)現セル時刻で出力するセルに対応するカウント値
のカウントメモリ42への書込処理 上記(1)におけるウエイト有無フラグの設定は、前述
したように前セル時刻で行った(5)の処理結果が0以
外のときセル有無フラグはセルが有る状態「L」にし、
(5)の処理結果が0のときセル有無フラグはセルが無
い状態「H」にする。
るウエイト有無フラグの設定処理 (2)カウント初期化フラグの設定処理 (3)ウエイテッドラウンドロビン (4)次回出力するセルに対応するカウントメモリ42
からのカウント値の読出処理、または次回出力するセル
に対応するウエイトメモリ41からのウエイトの読出処
理 (5)(4)で読み出したカウント値の1減算処理 (6)現セル時刻で出力するセルに対応するカウント値
のカウントメモリ42への書込処理 上記(1)におけるウエイト有無フラグの設定は、前述
したように前セル時刻で行った(5)の処理結果が0以
外のときセル有無フラグはセルが有る状態「L」にし、
(5)の処理結果が0のときセル有無フラグはセルが無
い状態「H」にする。
【0024】上記(2)におけるカウント初期化フラグ
の設定では、前述したように全てのセルバッファ回路1
0,20,30においてセルバッファ回路10,20,
30それぞれに対応したセル有無フラグ又はウエイト有
無フラグのいずれか一方または両方が有意であるときに
全て揃って有意「H」にする。また、セルバッファ回路
10,20,30がセルを送出した際に有意であれば無
意「L」にする。
の設定では、前述したように全てのセルバッファ回路1
0,20,30においてセルバッファ回路10,20,
30それぞれに対応したセル有無フラグ又はウエイト有
無フラグのいずれか一方または両方が有意であるときに
全て揃って有意「H」にする。また、セルバッファ回路
10,20,30がセルを送出した際に有意であれば無
意「L」にする。
【0025】上記(3)においてウエイテッドラウンド
ロビンの選択の対象となるのは、セルが蓄積されており
(セル有無フラグが無意「L」)、かつウエイト有無フ
ラグがウエイトが有る状態「L」を示しているか、ある
いはカウント初期化フラグが有意「H」のセルバッファ
回路10,20,30である。以下、図3に基づき詳細
な動作を説明する。なお、便宜上、以降の説明では、各
回路11〜31,12〜32,13〜33が送出する各
フラグに符号をつけることにする。
ロビンの選択の対象となるのは、セルが蓄積されており
(セル有無フラグが無意「L」)、かつウエイト有無フ
ラグがウエイトが有る状態「L」を示しているか、ある
いはカウント初期化フラグが有意「H」のセルバッファ
回路10,20,30である。以下、図3に基づき詳細
な動作を説明する。なお、便宜上、以降の説明では、各
回路11〜31,12〜32,13〜33が送出する各
フラグに符号をつけることにする。
【0026】セル時刻1において、セル有無フラグ1
1、21、31は、それぞれ「L」なので、各セルバッ
ファ回路10,20,30にセルが蓄積されていること
を示している。また、ウエイト有無フラグ12、22、
32は、それぞれ「L」なので、各セルバッファ回路1
0,20,30とも消費されていないウエイトが存在す
ることを示している。よって、全てのセルバッファ回路
10,20,30ともラウンドロビンの対象となる。セ
ル時刻1は初期状態なので、セル出力回路43はセルバ
ッファ回路10を選択し、次のセル時刻2でセルA1を
出力する準備をする。
1、21、31は、それぞれ「L」なので、各セルバッ
ファ回路10,20,30にセルが蓄積されていること
を示している。また、ウエイト有無フラグ12、22、
32は、それぞれ「L」なので、各セルバッファ回路1
0,20,30とも消費されていないウエイトが存在す
ることを示している。よって、全てのセルバッファ回路
10,20,30ともラウンドロビンの対象となる。セ
ル時刻1は初期状態なので、セル出力回路43はセルバ
ッファ回路10を選択し、次のセル時刻2でセルA1を
出力する準備をする。
【0027】セル時刻2において、セル出力回路43は
セルA1を出力する。これによりバッファ回路10内の
セル数は3となる。セル出力回路43は、カウントメモ
リ42の対応するアドレス内のカウント値を3から1を
減算した値2とする。また、セル出力回路43は、ウエ
イテッドラウンドロビンを行って次のセル出力のために
セルバッファ回路を選択する。ここでは、セル時刻1と
ウエイテッドラウンドロビンの対象となるセルバッファ
回路に変更はないため、セルバッファ回路20を選択
し、セルB1をセル時刻3で出力する準備をする。セル
時刻2においてその他の値に関して変更は無い。
セルA1を出力する。これによりバッファ回路10内の
セル数は3となる。セル出力回路43は、カウントメモ
リ42の対応するアドレス内のカウント値を3から1を
減算した値2とする。また、セル出力回路43は、ウエ
イテッドラウンドロビンを行って次のセル出力のために
セルバッファ回路を選択する。ここでは、セル時刻1と
ウエイテッドラウンドロビンの対象となるセルバッファ
回路に変更はないため、セルバッファ回路20を選択
し、セルB1をセル時刻3で出力する準備をする。セル
時刻2においてその他の値に関して変更は無い。
【0028】セル時刻3において、セル出力回路43は
セルB1を出力する。これによりセルバッファ回路20
内のセル数は0となる。セル出力回路43はカウントメ
モリ42の対応するアドレス内のカウント値を2から1
を減算した値1とする。また、セルバッファ回路20に
セルが無くなったので、セルバッファ回路20はセル有
無フラグ21の値を有意「H」とし、セルが無い状態と
する。この状態でセル出力回路43はラウンドロビンを
行うが、セル有無フラグ21の状態からセルバッファ回
路20にセルが無いことを認識できるので、セルバッフ
ァ回路20をウエイテッドラウンドロビンの対象から除
外する。セル時刻2ではセルバッファ回路20を選択し
たので、セル時刻3ではセルバッファ回路30を選択し
てセル時刻4でセルC1を出力する準備をする。
セルB1を出力する。これによりセルバッファ回路20
内のセル数は0となる。セル出力回路43はカウントメ
モリ42の対応するアドレス内のカウント値を2から1
を減算した値1とする。また、セルバッファ回路20に
セルが無くなったので、セルバッファ回路20はセル有
無フラグ21の値を有意「H」とし、セルが無い状態と
する。この状態でセル出力回路43はラウンドロビンを
行うが、セル有無フラグ21の状態からセルバッファ回
路20にセルが無いことを認識できるので、セルバッフ
ァ回路20をウエイテッドラウンドロビンの対象から除
外する。セル時刻2ではセルバッファ回路20を選択し
たので、セル時刻3ではセルバッファ回路30を選択し
てセル時刻4でセルC1を出力する準備をする。
【0029】セル時刻4において、セル出力回路43は
セルC1を出力する。これによりセルバッファ回路30
内のセル数は2となる。セル出力回路43はカウントメ
モリ42の対応するアドレス内のカウント値を2から1
を減算した値1とする。その他の値に関して変更は無
い。この状態でセル出力回路43はウエイテッドラウン
ドロビンを行い、セルバッファ回路10を選択しセル時
刻5でセルA2を出力する準備をする。
セルC1を出力する。これによりセルバッファ回路30
内のセル数は2となる。セル出力回路43はカウントメ
モリ42の対応するアドレス内のカウント値を2から1
を減算した値1とする。その他の値に関して変更は無
い。この状態でセル出力回路43はウエイテッドラウン
ドロビンを行い、セルバッファ回路10を選択しセル時
刻5でセルA2を出力する準備をする。
【0030】セル時刻5において、セル出力回路43は
セルA2を出力する。これによりセルバッファ回路10
内のセル数は2となる。セル出力回路43はカウントメ
モリ42の対応するアドレス内のカウント値を2から1
を減算した値1とする。その他の値に関して変更は無
い。この状態でセル出力回路43はウエイテッドラウン
ドロビンを行うが、セル有無フラグ21の値がセルが無
いことを示しているため、セルバッファ回路30を選択
しセル時刻6でセルC2を出力する準備をする。
セルA2を出力する。これによりセルバッファ回路10
内のセル数は2となる。セル出力回路43はカウントメ
モリ42の対応するアドレス内のカウント値を2から1
を減算した値1とする。その他の値に関して変更は無
い。この状態でセル出力回路43はウエイテッドラウン
ドロビンを行うが、セル有無フラグ21の値がセルが無
いことを示しているため、セルバッファ回路30を選択
しセル時刻6でセルC2を出力する準備をする。
【0031】セル時刻6において、セル出力回路43は
セルC2を出力する。これによりセルバッファ回路30
内のセル数は1となる。セル出力回路43は、カウント
メモリ42の対応するアドレス内のカウント値を1から
1を減算した値0とする。カウント値が0となったこと
で、セル出力回路43はウエイト有無フラグ32の値を
ウエイト無し状態を表す有意「H」とする。その他の値
に関して変更は無い。この状態でセル出力回路43はウ
エイテッドラウンドロビンを行いセルバッファ回路10
を選択しセル時刻7でセルA3を出力する準備をする。
セルC2を出力する。これによりセルバッファ回路30
内のセル数は1となる。セル出力回路43は、カウント
メモリ42の対応するアドレス内のカウント値を1から
1を減算した値0とする。カウント値が0となったこと
で、セル出力回路43はウエイト有無フラグ32の値を
ウエイト無し状態を表す有意「H」とする。その他の値
に関して変更は無い。この状態でセル出力回路43はウ
エイテッドラウンドロビンを行いセルバッファ回路10
を選択しセル時刻7でセルA3を出力する準備をする。
【0032】セル時刻7において、セル出力回路43は
セルA3を出力する。これによりセルバッファ回路10
内のセル数は1となる。セル出力回路43はカウントメ
モリ42の対応するアドレス内のカウント値を1から1
を減算した値0とする。カウント値が0となったこと
で、セル出力回路43はウエイト有無フラグ12の値を
ウエイト無し状態を表す有意「H」とする。この結果、
カウント初期化フラグ13,23,33を有意する前述
した条件が満たされるので、セル出力回路43は全カウ
ント初期化フラグ13,23,33を有意「H」とす
る。次に、セル出力回路43は、この状態でウエイテッ
ドラウンドロビンを行うが、カウント初期化フラグ1
3,23,33が有意な場合、ウエイト有無フラグ1
2,22,32に関係なく対応したセル有無フラグ1
1,21,31にセルがあることを示しているセルバッ
ファ回路10,20,30をラウンドロビンの対象とす
るが、このセル時刻7のようにカウント初期化フラグ1
3,23,33が全て有意であるときには、本実施の形
態ではラウンドロビンの選択も初期化することとし、セ
ルバッファ回路10からラウンドロビンの選択を始め
る。このとき、セルバッファ回路10にはセルが蓄積さ
れているため、セル出力回路43はセルバッファ回路1
0を選択し、セル時刻8でセルA4を出力する準備をす
る。
セルA3を出力する。これによりセルバッファ回路10
内のセル数は1となる。セル出力回路43はカウントメ
モリ42の対応するアドレス内のカウント値を1から1
を減算した値0とする。カウント値が0となったこと
で、セル出力回路43はウエイト有無フラグ12の値を
ウエイト無し状態を表す有意「H」とする。この結果、
カウント初期化フラグ13,23,33を有意する前述
した条件が満たされるので、セル出力回路43は全カウ
ント初期化フラグ13,23,33を有意「H」とす
る。次に、セル出力回路43は、この状態でウエイテッ
ドラウンドロビンを行うが、カウント初期化フラグ1
3,23,33が有意な場合、ウエイト有無フラグ1
2,22,32に関係なく対応したセル有無フラグ1
1,21,31にセルがあることを示しているセルバッ
ファ回路10,20,30をラウンドロビンの対象とす
るが、このセル時刻7のようにカウント初期化フラグ1
3,23,33が全て有意であるときには、本実施の形
態ではラウンドロビンの選択も初期化することとし、セ
ルバッファ回路10からラウンドロビンの選択を始め
る。このとき、セルバッファ回路10にはセルが蓄積さ
れているため、セル出力回路43はセルバッファ回路1
0を選択し、セル時刻8でセルA4を出力する準備をす
る。
【0033】セル時刻8において、セル出力回路43は
セルA4を出力する。これによりセルバッファ回路10
内のセル数は0となる。セル出力回路43はカウント初
期化フラグ13が当該セル時刻8の開始時に有意であっ
たので、ウエイトメモリ41に設定されている対応する
アドレス内のウエイト値3をカウント値の初期値として
読み出し、その3から1を減算した値2をカウントメモ
リ42の対応するアドレスにセルバッファ回路10のカ
ウント値として書き込む。また、セルバッファ回路10
はセル有無フラグ11をセルが無い状態「H」とする。
セル出力回路43はウエイト有無フラグ12をウエイト
の有る状態「L」にし、更にカウント初期化フラグ13
を無意「L」にする。続けて、セル出力回路43はウエ
イテッドラウンドロビンを行うが、セル有無フラグ21
がセルの無い状態「H」を示しているので、セルバッフ
ァ回路20を選択せず、セルバッファ回路30を選択し
てセルC3を出力する準備を始める。
セルA4を出力する。これによりセルバッファ回路10
内のセル数は0となる。セル出力回路43はカウント初
期化フラグ13が当該セル時刻8の開始時に有意であっ
たので、ウエイトメモリ41に設定されている対応する
アドレス内のウエイト値3をカウント値の初期値として
読み出し、その3から1を減算した値2をカウントメモ
リ42の対応するアドレスにセルバッファ回路10のカ
ウント値として書き込む。また、セルバッファ回路10
はセル有無フラグ11をセルが無い状態「H」とする。
セル出力回路43はウエイト有無フラグ12をウエイト
の有る状態「L」にし、更にカウント初期化フラグ13
を無意「L」にする。続けて、セル出力回路43はウエ
イテッドラウンドロビンを行うが、セル有無フラグ21
がセルの無い状態「H」を示しているので、セルバッフ
ァ回路20を選択せず、セルバッファ回路30を選択し
てセルC3を出力する準備を始める。
【0034】セル時刻9において、セル出力回路43は
セルC3を出力する。これによりセルバッファ回路30
内のセル数は0となる。セル出力回路43はカウント初
期化フラグ33が当該セル時刻9の開始時に有意であっ
たので、ウエイトメモリ41に設定されている対応する
アドレス内のウエイト値2をカウント値の初期値として
読み出し、その2から1を減算した値1をカウントメモ
リ42の対応するアドレスにセルバッファ回路30のカ
ウント値として書き込む。また、セルバッファ回路30
はセル有無フラグ31をセルが無い状態「H」とし、ウ
エイト有無フラグ32をウエイトの有る状態「L」に
し、更にカウント初期化フラグ33を無意「L」にす
る。
セルC3を出力する。これによりセルバッファ回路30
内のセル数は0となる。セル出力回路43はカウント初
期化フラグ33が当該セル時刻9の開始時に有意であっ
たので、ウエイトメモリ41に設定されている対応する
アドレス内のウエイト値2をカウント値の初期値として
読み出し、その2から1を減算した値1をカウントメモ
リ42の対応するアドレスにセルバッファ回路30のカ
ウント値として書き込む。また、セルバッファ回路30
はセル有無フラグ31をセルが無い状態「H」とし、ウ
エイト有無フラグ32をウエイトの有る状態「L」に
し、更にカウント初期化フラグ33を無意「L」にす
る。
【0035】ここで、セル時刻9においてセルバッファ
回路20にセルB2が入力されたとすると、セルバッフ
ァ回路20内のセル数は1となり、セル有無フラグ21
はセルが有る状態「L」となる。これは説明を簡略化に
するためであり、もしこの状態でセルが入力されない
と、セル出力回路43はセル時刻9でもカウント初期化
フラグ13,23,33を有意にすることになる。セル
出力回路43はセル時刻9においてもウエイテッドラウ
ンドロビンを行う。この場合、セルバッファ回路20を
選択して、入力されたセルB2を出力する準備を行う。
回路20にセルB2が入力されたとすると、セルバッフ
ァ回路20内のセル数は1となり、セル有無フラグ21
はセルが有る状態「L」となる。これは説明を簡略化に
するためであり、もしこの状態でセルが入力されない
と、セル出力回路43はセル時刻9でもカウント初期化
フラグ13,23,33を有意にすることになる。セル
出力回路43はセル時刻9においてもウエイテッドラウ
ンドロビンを行う。この場合、セルバッファ回路20を
選択して、入力されたセルB2を出力する準備を行う。
【0036】以上のように、本実施の形態では動作する
が、従来においてもセル時刻7においてウエイトメモリ
41の各ウエイト値を読み出し、カウントメモリ42の
各カウント値に書き込む動作を行えば、本実施の形態と
同様のウエイテットラウンドロビン動作は可能である。
しかしながら、セルバッファ回路数が増え、読出処理又
は書込処理を行うウエイト値/カウント値の数が増える
と1セル時間内で全ての読出/書込処理ができなくな
る。本実施の形態では、セル時刻7において全てのカウ
ント初期化フラグ13,23,33を有意にし、セル時
刻8,9において説明したように出力するセルに対応す
るウエイトメモリ41のウエイト値を読み出し、1を減
算してカウントメモリ42内の対応するアドレスに書き
込んでいるため、1セル時間に1回の読出/書込動作を
行えばよい。これにより、セルバッファ回路数が多くな
っても対応することができる。
が、従来においてもセル時刻7においてウエイトメモリ
41の各ウエイト値を読み出し、カウントメモリ42の
各カウント値に書き込む動作を行えば、本実施の形態と
同様のウエイテットラウンドロビン動作は可能である。
しかしながら、セルバッファ回路数が増え、読出処理又
は書込処理を行うウエイト値/カウント値の数が増える
と1セル時間内で全ての読出/書込処理ができなくな
る。本実施の形態では、セル時刻7において全てのカウ
ント初期化フラグ13,23,33を有意にし、セル時
刻8,9において説明したように出力するセルに対応す
るウエイトメモリ41のウエイト値を読み出し、1を減
算してカウントメモリ42内の対応するアドレスに書き
込んでいるため、1セル時間に1回の読出/書込動作を
行えばよい。これにより、セルバッファ回路数が多くな
っても対応することができる。
【0037】実施の形態2.上記実施の形態1では、セ
ル出力回路43はカウント初期化フラグが有意でない状
態でセルを出力する場合、対応するカウントメモリ42
のカウント値を1減算し、カウント初期化フラグが有意
な状態でセルを出力する場合、対応するカウント値をウ
エイトメモリ41の対応するアドレスのウエイト値と
し、このウエイト値から1を減算した値をカウントメモ
リ42に書き込み、またカウント値が0になった場合に
ウエイト有無フラグをウエイトが無い状態「H」にし
た。
ル出力回路43はカウント初期化フラグが有意でない状
態でセルを出力する場合、対応するカウントメモリ42
のカウント値を1減算し、カウント初期化フラグが有意
な状態でセルを出力する場合、対応するカウント値をウ
エイトメモリ41の対応するアドレスのウエイト値と
し、このウエイト値から1を減算した値をカウントメモ
リ42に書き込み、またカウント値が0になった場合に
ウエイト有無フラグをウエイトが無い状態「H」にし
た。
【0038】本実施の形態におけるセル出力回路43
は、カウント初期化フラグが有意でない状態でセルを出
力する場合、対応するカウントメモリ42の対応するカ
ウント値を1加算し、カウント初期化フラグが有意な状
態でセルを出力する場合、初期値として0をカウント値
とし、その0に1を加算した値をカウントメモリ42の
対応するアドレスに設定し、またカウント値とウエイト
メモリ41内の対応するアドレスのウエイト値とが等し
くなったときに当該ウエイト有無フラグをウエイトが無
い状態「H」にするようにした。すなわち、カウントメ
モリ42の各カウント値を、実施の形態1では初期値を
ウエイト値として減算していたのを、本実施の形態では
初期値を0として加算するようにした。なお、本実施の
形態のメモリを使用しカウントアップを行うカウンタ
は、図9において1減算する減算回路を1加算する加算
回路に変えることで構成することができる。
は、カウント初期化フラグが有意でない状態でセルを出
力する場合、対応するカウントメモリ42の対応するカ
ウント値を1加算し、カウント初期化フラグが有意な状
態でセルを出力する場合、初期値として0をカウント値
とし、その0に1を加算した値をカウントメモリ42の
対応するアドレスに設定し、またカウント値とウエイト
メモリ41内の対応するアドレスのウエイト値とが等し
くなったときに当該ウエイト有無フラグをウエイトが無
い状態「H」にするようにした。すなわち、カウントメ
モリ42の各カウント値を、実施の形態1では初期値を
ウエイト値として減算していたのを、本実施の形態では
初期値を0として加算するようにした。なお、本実施の
形態のメモリを使用しカウントアップを行うカウンタ
は、図9において1減算する減算回路を1加算する加算
回路に変えることで構成することができる。
【0039】本実施の形態におけるブロック構成は、図
1と同じである。また、実施の形態1の図3及び図4に
相当するフラグ値等の遷移及びセル出力回路43の処理
フローを図5及び図6に示す。以下、セルバッファ回路
10,20,30の初期状態を図2と同じものとして、
本実施の形態の動作について説明する。なお、初期状態
においてウエイトメモリ41のセルバッファ回路10,
20,30に対応する各アドレスには、実施の形態1と
同様にCPU等からそれぞれ3,2,2が予め設定され
ているものとする。ただ、カウントメモリ42のセルバ
ッファ回路10,20,30に対応する各アドレスに
は、それぞれ0,0,0を初期値として予め設定してお
く。その他の前提条件については実施の形態1と同様で
ある。また、実施の形態1と同様にセル時刻1〜8では
どのセルバッファ回路10,20,30にもセルは入力
されず、セル時刻9にてセルバッファ回路20にセルが
入力されるものとして説明する。
1と同じである。また、実施の形態1の図3及び図4に
相当するフラグ値等の遷移及びセル出力回路43の処理
フローを図5及び図6に示す。以下、セルバッファ回路
10,20,30の初期状態を図2と同じものとして、
本実施の形態の動作について説明する。なお、初期状態
においてウエイトメモリ41のセルバッファ回路10,
20,30に対応する各アドレスには、実施の形態1と
同様にCPU等からそれぞれ3,2,2が予め設定され
ているものとする。ただ、カウントメモリ42のセルバ
ッファ回路10,20,30に対応する各アドレスに
は、それぞれ0,0,0を初期値として予め設定してお
く。その他の前提条件については実施の形態1と同様で
ある。また、実施の形態1と同様にセル時刻1〜8では
どのセルバッファ回路10,20,30にもセルは入力
されず、セル時刻9にてセルバッファ回路20にセルが
入力されるものとして説明する。
【0040】セル出力回路43は、前回のウエイテッド
ラウンドロビンで出力することに決まったセルを1セル
時間の最初から出力し、ウエイテッドラウンドロビン終
了後、次セル時刻で出力するセルを該当するセルバッフ
ァ回路10,20,30から入力する処理を開始すると
ともに、以下の動作を順次行う。
ラウンドロビンで出力することに決まったセルを1セル
時間の最初から出力し、ウエイテッドラウンドロビン終
了後、次セル時刻で出力するセルを該当するセルバッフ
ァ回路10,20,30から入力する処理を開始すると
ともに、以下の動作を順次行う。
【0041】(1)現セル時刻で出力するセルに対応す
るカウント値とウエイトメモリ41の対応するウエイト
値との比較処理と、対応するウエイト有無フラグの設定
処理 (2)カウント初期化フラグの設定処理 (3)ウエイテッドラウンドロビン (4)次回出力するセルに対応するカウントメモリ42
からのカウント値の読出処理、またはカウント値として
0を使用する処理 (5)(4)で読み出したカウント値の1加算処理 (6)現セル時刻で出力するセルに対応するカウント値
のカウントメモリ42への書込処理 上記(1)において直前のセル時刻の(5)の処理結果
とウエイトメモリ41の対応するウエイト値が一致して
いたら、対応するウエイト有無フラグをウエイトが無い
状態「H」にし、一致していなかったらウエイトがある
状態「L」にする。なお、上記(2)、(3)に関して
は実施の形態1と同様である。
るカウント値とウエイトメモリ41の対応するウエイト
値との比較処理と、対応するウエイト有無フラグの設定
処理 (2)カウント初期化フラグの設定処理 (3)ウエイテッドラウンドロビン (4)次回出力するセルに対応するカウントメモリ42
からのカウント値の読出処理、またはカウント値として
0を使用する処理 (5)(4)で読み出したカウント値の1加算処理 (6)現セル時刻で出力するセルに対応するカウント値
のカウントメモリ42への書込処理 上記(1)において直前のセル時刻の(5)の処理結果
とウエイトメモリ41の対応するウエイト値が一致して
いたら、対応するウエイト有無フラグをウエイトが無い
状態「H」にし、一致していなかったらウエイトがある
状態「L」にする。なお、上記(2)、(3)に関して
は実施の形態1と同様である。
【0042】セル時刻1において、セル有無フラグ1
1、21、31は、それぞれ「L」なので、各セルバッ
ファ回路10,20,30にセルが蓄積されていること
を示している。また、ウエイト有無フラグ12、22、
32は、それぞれ「L」なので、各セルバッファ回路1
0,20,30とも消費されていないウエイトが存在す
ることを示している。よって、全てのセルバッファ回路
10,20,30ともラウンドロビンの対象となる。セ
ル時刻1は初期状態なので、セル出力回路43はセルバ
ッファ回路10を選択し、次のセル時刻2でセルA1を
出力する準備をする。
1、21、31は、それぞれ「L」なので、各セルバッ
ファ回路10,20,30にセルが蓄積されていること
を示している。また、ウエイト有無フラグ12、22、
32は、それぞれ「L」なので、各セルバッファ回路1
0,20,30とも消費されていないウエイトが存在す
ることを示している。よって、全てのセルバッファ回路
10,20,30ともラウンドロビンの対象となる。セ
ル時刻1は初期状態なので、セル出力回路43はセルバ
ッファ回路10を選択し、次のセル時刻2でセルA1を
出力する準備をする。
【0043】セル時刻2において、セル出力回路43は
セルA1を出力する。これによりバッファ回路10内の
セル数は3となる。セル出力回路43は、カウントメモ
リ42の対応するアドレス内のカウント値を0に1を加
算した値1とする。セル出力回路43は、このカウント
値とウエイトメモリ41の対応するアドレス内のウエイ
ト値を読み出して一致するかを確認する。この場合、一
致しないのでウエイト有無フラグ12の値はウエイトが
有る状態である「L」のままとする。この後、セル出力
回路43は、ウエイテッドラウンドロビンを行って次の
セル出力のためにセルバッファ回路を選択する。ここで
は、セル時刻1とウエイテッドラウンドロビンの対象と
なるセルバッファ回路に変更はないため、セルバッファ
回路20を選択し、セルB1をセル時刻3で出力する準
備をする。セル時刻2においてその他の値に関して変更
は無い。
セルA1を出力する。これによりバッファ回路10内の
セル数は3となる。セル出力回路43は、カウントメモ
リ42の対応するアドレス内のカウント値を0に1を加
算した値1とする。セル出力回路43は、このカウント
値とウエイトメモリ41の対応するアドレス内のウエイ
ト値を読み出して一致するかを確認する。この場合、一
致しないのでウエイト有無フラグ12の値はウエイトが
有る状態である「L」のままとする。この後、セル出力
回路43は、ウエイテッドラウンドロビンを行って次の
セル出力のためにセルバッファ回路を選択する。ここで
は、セル時刻1とウエイテッドラウンドロビンの対象と
なるセルバッファ回路に変更はないため、セルバッファ
回路20を選択し、セルB1をセル時刻3で出力する準
備をする。セル時刻2においてその他の値に関して変更
は無い。
【0044】セル時刻3において、セル出力回路43は
セルB1を出力する。これによりセルバッファ回路20
内のセル数は0となる。セル出力回路43はカウントメ
モリ42の対応するアドレス内のカウント値を0に1を
加算した値1とする。セル出力回路43は、このカウン
ト値とウエイトメモリ41の対応するアドレス内のウエ
イト値を読み出して一致するかを確認する。この場合、
一致しないのでウエイト有無フラグ22の値はウエイト
が有る状態である「L」のままとする。また、セルバッ
ファ回路20にセルが無くなったので、セルバッファ回
路20はセル有無フラグ21の値を有意「H」とし、セ
ルが無い状態とする。この状態でセル出力回路43はラ
ウンドロビンを行うが、セル有無フラグ21の状態から
セルバッファ回路20にセルが無いことを認識できるの
で、セルバッファ回路20をウエイテッドラウンドロビ
ンの対象から除外する。セル時刻2ではセルバッファ回
路20を選択したので、セル時刻3ではセルバッファ回
路30を選択してセル時刻4でセルC1を出力する準備
をする。
セルB1を出力する。これによりセルバッファ回路20
内のセル数は0となる。セル出力回路43はカウントメ
モリ42の対応するアドレス内のカウント値を0に1を
加算した値1とする。セル出力回路43は、このカウン
ト値とウエイトメモリ41の対応するアドレス内のウエ
イト値を読み出して一致するかを確認する。この場合、
一致しないのでウエイト有無フラグ22の値はウエイト
が有る状態である「L」のままとする。また、セルバッ
ファ回路20にセルが無くなったので、セルバッファ回
路20はセル有無フラグ21の値を有意「H」とし、セ
ルが無い状態とする。この状態でセル出力回路43はラ
ウンドロビンを行うが、セル有無フラグ21の状態から
セルバッファ回路20にセルが無いことを認識できるの
で、セルバッファ回路20をウエイテッドラウンドロビ
ンの対象から除外する。セル時刻2ではセルバッファ回
路20を選択したので、セル時刻3ではセルバッファ回
路30を選択してセル時刻4でセルC1を出力する準備
をする。
【0045】セル時刻4において、セル出力回路43は
セルC1を出力する。これによりセルバッファ回路30
内のセル数は2となる。セル出力回路43はカウントメ
モリ42の対応するアドレス内のカウント値を0に1を
加算した値1とする。セル出力回路43は、このカウン
ト値とウエイトメモリ41の対応するアドレス内のウエ
イト値を読み出して一致するかを確認する。この場合、
一致しないのでウエイト有無フラグ32の値はウエイト
が有る状態である「L」のままとする。その他の値に関
して変更は無い。この状態でセル出力回路43はウエイ
テッドラウンドロビンを行い、セルバッファ回路10を
選択しセル時刻5でセルA2を出力する準備をする。
セルC1を出力する。これによりセルバッファ回路30
内のセル数は2となる。セル出力回路43はカウントメ
モリ42の対応するアドレス内のカウント値を0に1を
加算した値1とする。セル出力回路43は、このカウン
ト値とウエイトメモリ41の対応するアドレス内のウエ
イト値を読み出して一致するかを確認する。この場合、
一致しないのでウエイト有無フラグ32の値はウエイト
が有る状態である「L」のままとする。その他の値に関
して変更は無い。この状態でセル出力回路43はウエイ
テッドラウンドロビンを行い、セルバッファ回路10を
選択しセル時刻5でセルA2を出力する準備をする。
【0046】セル時刻5において、セル出力回路43は
セルA2を出力する。これによりセルバッファ回路10
内のセル数は2となる。セル出力回路43はカウントメ
モリ42の対応するアドレス内のカウント値を1に1を
加算した値2とする。セル出力回路43は、このカウン
ト値とウエイトメモリ41の対応するアドレス内のウエ
イト値を読み出して一致するかを確認する。この場合、
一致しないのでウエイト有無フラグ12の値はウエイト
が有る状態である「L」のままとする。その他の値に関
して変更は無い。この状態でセル出力回路43はウエイ
テッドラウンドロビンを行うが、セル有無フラグ21の
値がセルが無いことを示しているため、セルバッファ回
路30を選択しセル時刻6でセルC2を出力する準備を
する。
セルA2を出力する。これによりセルバッファ回路10
内のセル数は2となる。セル出力回路43はカウントメ
モリ42の対応するアドレス内のカウント値を1に1を
加算した値2とする。セル出力回路43は、このカウン
ト値とウエイトメモリ41の対応するアドレス内のウエ
イト値を読み出して一致するかを確認する。この場合、
一致しないのでウエイト有無フラグ12の値はウエイト
が有る状態である「L」のままとする。その他の値に関
して変更は無い。この状態でセル出力回路43はウエイ
テッドラウンドロビンを行うが、セル有無フラグ21の
値がセルが無いことを示しているため、セルバッファ回
路30を選択しセル時刻6でセルC2を出力する準備を
する。
【0047】セル時刻6において、セル出力回路43は
セルC2を出力する。これによりセルバッファ回路30
内のセル数は1となる。セル出力回路43は、カウント
メモリ42の対応するアドレス内のカウント値を1に1
を加算した値2とする。セル出力回路43は、このカウ
ント値とウエイトメモリ41の対応するアドレス内のウ
エイト値を読み出して一致するかを確認する。この場
合、一致しているので、セル出力回路43は、ウエイト
が無い状態であると認識し、ウエイト有無フラグ32の
値をウエイト無し状態を表す有意「H」とする。その他
の値に関して変更は無い。この状態でセル出力回路43
はウエイテッドラウンドロビンを行いセルバッファ回路
10を選択しセル時刻7でセルA3を出力する準備をす
る。
セルC2を出力する。これによりセルバッファ回路30
内のセル数は1となる。セル出力回路43は、カウント
メモリ42の対応するアドレス内のカウント値を1に1
を加算した値2とする。セル出力回路43は、このカウ
ント値とウエイトメモリ41の対応するアドレス内のウ
エイト値を読み出して一致するかを確認する。この場
合、一致しているので、セル出力回路43は、ウエイト
が無い状態であると認識し、ウエイト有無フラグ32の
値をウエイト無し状態を表す有意「H」とする。その他
の値に関して変更は無い。この状態でセル出力回路43
はウエイテッドラウンドロビンを行いセルバッファ回路
10を選択しセル時刻7でセルA3を出力する準備をす
る。
【0048】セル時刻7において、セル出力回路43は
セルA3を出力する。これによりセルバッファ回路10
内のセル数は1となる。セル出力回路43はカウントメ
モリ42の対応するアドレス内のカウント値を2に1を
加算した値3とする。セル出力回路43は、このカウン
ト値とウエイトメモリ41の対応するアドレス内のウエ
イト値を読み出して一致するかを確認する。この場合、
一致するので、セル出力回路43はウエイト有無フラグ
12の値をウエイト無し状態を表す有意「H」とする。
この結果、カウント初期化フラグ13,23,33を有
意する前述した条件が満たされるので、セル出力回路4
3は全カウント初期化フラグ13,23,33を有意
「H」とする。次に、セル出力回路43は、この状態で
ウエイテッドラウンドロビンを行うが、カウント初期化
フラグ13,23,33が有意な場合、ウエイト有無フ
ラグ12,22,32に関係なく対応したセル有無フラ
グ11,21,31がセルがあることを示しているセル
バッファ回路10,20,30をラウンドロビンの対象
とするが、このセル時刻7のようにカウント初期化フラ
グ13,23,33が全て有意であるときには、本実施
の形態ではラウンドロビンの選択も初期化することと
し、セルバッファ回路10からラウンドロビンの選択を
始める。このとき、セルバッファ回路10にはセルが蓄
積されているため、セル出力回路43はセルバッファ回
路10を選択し、セル時刻8でセルA4を出力する準備
をする。
セルA3を出力する。これによりセルバッファ回路10
内のセル数は1となる。セル出力回路43はカウントメ
モリ42の対応するアドレス内のカウント値を2に1を
加算した値3とする。セル出力回路43は、このカウン
ト値とウエイトメモリ41の対応するアドレス内のウエ
イト値を読み出して一致するかを確認する。この場合、
一致するので、セル出力回路43はウエイト有無フラグ
12の値をウエイト無し状態を表す有意「H」とする。
この結果、カウント初期化フラグ13,23,33を有
意する前述した条件が満たされるので、セル出力回路4
3は全カウント初期化フラグ13,23,33を有意
「H」とする。次に、セル出力回路43は、この状態で
ウエイテッドラウンドロビンを行うが、カウント初期化
フラグ13,23,33が有意な場合、ウエイト有無フ
ラグ12,22,32に関係なく対応したセル有無フラ
グ11,21,31がセルがあることを示しているセル
バッファ回路10,20,30をラウンドロビンの対象
とするが、このセル時刻7のようにカウント初期化フラ
グ13,23,33が全て有意であるときには、本実施
の形態ではラウンドロビンの選択も初期化することと
し、セルバッファ回路10からラウンドロビンの選択を
始める。このとき、セルバッファ回路10にはセルが蓄
積されているため、セル出力回路43はセルバッファ回
路10を選択し、セル時刻8でセルA4を出力する準備
をする。
【0049】セル時刻8において、セル出力回路43は
セルA4を出力する。これによりセルバッファ回路10
内のセル数は0となる。セル出力回路43はカウント初
期化フラグ13が当該セル時刻8の開始時に有意であっ
たので、カウントメモリ42の対応するアドレス内のカ
ウント値を初期化つまり初期値0として、この0に1を
加算してカウントメモリ42の対応するアドレスにセル
バッファ回路10のカウント値として書き込む。セル出
力回路43は、このカウント値とウエイトメモリ41の
対応するアドレス内のウエイト値を読み出して一致する
かを確認する。この場合、一致しないのでウエイト有無
フラグ12の値をウエイトが有る状態「L」にする。ま
た、セルバッファ回路10はセル有無フラグ11をセル
が無い状態「H」とする。更にカウント初期化フラグ1
3を無意「L」にする。続けて、セル出力回路43はウ
エイテッドラウンドロビンを行うが、セル有無フラグ2
1がセルの無い状態「H」を示しているので、セルバッ
ファ回路20を選択せず、セルバッファ回路30を選択
してセルC3を出力する準備を始める。
セルA4を出力する。これによりセルバッファ回路10
内のセル数は0となる。セル出力回路43はカウント初
期化フラグ13が当該セル時刻8の開始時に有意であっ
たので、カウントメモリ42の対応するアドレス内のカ
ウント値を初期化つまり初期値0として、この0に1を
加算してカウントメモリ42の対応するアドレスにセル
バッファ回路10のカウント値として書き込む。セル出
力回路43は、このカウント値とウエイトメモリ41の
対応するアドレス内のウエイト値を読み出して一致する
かを確認する。この場合、一致しないのでウエイト有無
フラグ12の値をウエイトが有る状態「L」にする。ま
た、セルバッファ回路10はセル有無フラグ11をセル
が無い状態「H」とする。更にカウント初期化フラグ1
3を無意「L」にする。続けて、セル出力回路43はウ
エイテッドラウンドロビンを行うが、セル有無フラグ2
1がセルの無い状態「H」を示しているので、セルバッ
ファ回路20を選択せず、セルバッファ回路30を選択
してセルC3を出力する準備を始める。
【0050】セル時刻9において、セル出力回路43は
セルC3を出力する。これによりセルバッファ回路30
内のセル数は0となる。セル出力回路43はカウント初
期化フラグ33が当該セル時刻9の開始時に有意であっ
たので、カウントメモリ42の対応するアドレス内のカ
ウント値を初期化つまり初期値0として、この0に1を
加算してカウントメモリ42の対応するアドレスにセル
バッファ回路10のカウント値として書き込む。セル出
力回路43は、このカウント値とウエイトメモリ41の
対応するアドレス内のウエイト値を読み出して一致する
かを確認する。この場合、一致しないのでウエイト有無
フラグ32の値をウエイトが有る状態「L」にする。ま
た、セルバッファ回路30はセル有無フラグ31をセル
が無い状態「H」とする。更に、セル出力回路43は、
カウント初期化フラグ33を無意「L」にする。
セルC3を出力する。これによりセルバッファ回路30
内のセル数は0となる。セル出力回路43はカウント初
期化フラグ33が当該セル時刻9の開始時に有意であっ
たので、カウントメモリ42の対応するアドレス内のカ
ウント値を初期化つまり初期値0として、この0に1を
加算してカウントメモリ42の対応するアドレスにセル
バッファ回路10のカウント値として書き込む。セル出
力回路43は、このカウント値とウエイトメモリ41の
対応するアドレス内のウエイト値を読み出して一致する
かを確認する。この場合、一致しないのでウエイト有無
フラグ32の値をウエイトが有る状態「L」にする。ま
た、セルバッファ回路30はセル有無フラグ31をセル
が無い状態「H」とする。更に、セル出力回路43は、
カウント初期化フラグ33を無意「L」にする。
【0051】ここで、セル時刻9においてセルバッファ
回路20にセルB2が入力されたとすると、セルバッフ
ァ回路20内のセル数は1となり、セル有無フラグ21
はセルが有る状態「L」となる。これは説明を簡略化に
するためであり、もしこの状態でセルが入力されない
と、セル出力回路43はセル時刻9でもカウント初期化
フラグ13,23,33を有意にすることになる。セル
出力回路43はセル時刻9においてもウエイテッドラウ
ンドロビンを行う。この場合、セルバッファ回路20を
選択して、入力されたセルB2を出力する準備を行う。
回路20にセルB2が入力されたとすると、セルバッフ
ァ回路20内のセル数は1となり、セル有無フラグ21
はセルが有る状態「L」となる。これは説明を簡略化に
するためであり、もしこの状態でセルが入力されない
と、セル出力回路43はセル時刻9でもカウント初期化
フラグ13,23,33を有意にすることになる。セル
出力回路43はセル時刻9においてもウエイテッドラウ
ンドロビンを行う。この場合、セルバッファ回路20を
選択して、入力されたセルB2を出力する準備を行う。
【0052】以上のように、本実施の形態によれば、カ
ウントメモリ42のカウント値の減算、加算という動作
上の相違はあるものの、上記実施の形態1と同様の効果
を奏することができる。
ウントメモリ42のカウント値の減算、加算という動作
上の相違はあるものの、上記実施の形態1と同様の効果
を奏することができる。
【0053】
【発明の効果】本発明によれば、全てのセルバッファ回
路において蓄積されたセルが無いかまたはウエイトが無
い状態のときに、全てのカウンタを一斉に初期化するの
ではなくセル出力のために選択されたセルバッファ回路
に対応したカウンタのみを初期化すればよいので、メモ
リを使用してカウンタを構成する場合においても搭載し
たセルバッファ回路の数に関係なく1セル時間内でウエ
イテッドラウンドロビン制御を確実に行うことができ
る。すなわち、多数のセルバッファ回路を搭載する場合
でもカウンタとしてメモリを使用することができる。
路において蓄積されたセルが無いかまたはウエイトが無
い状態のときに、全てのカウンタを一斉に初期化するの
ではなくセル出力のために選択されたセルバッファ回路
に対応したカウンタのみを初期化すればよいので、メモ
リを使用してカウンタを構成する場合においても搭載し
たセルバッファ回路の数に関係なく1セル時間内でウエ
イテッドラウンドロビン制御を確実に行うことができ
る。すなわち、多数のセルバッファ回路を搭載する場合
でもカウンタとしてメモリを使用することができる。
【図1】 本発明に係るウエイテッドラウンドロビン回
路の一実施の形態を示したブロック構成図である。
路の一実施の形態を示したブロック構成図である。
【図2】 実施の形態1におけるウエイテッドラウンド
ロビン回路の動作を説明するときの初期状態の例を示し
た図である。
ロビン回路の動作を説明するときの初期状態の例を示し
た図である。
【図3】 実施の形態1におけるウエイテッドラウンド
ロビン回路の動作に応じて遷移するセル数、カウント値
及び各フラグの状態を示した図である。
ロビン回路の動作に応じて遷移するセル数、カウント値
及び各フラグの状態を示した図である。
【図4】 実施の形態1において1セル時間内に行われ
る処理フローを示した図である。
る処理フローを示した図である。
【図5】 実施の形態2におけるウエイテッドラウンド
ロビン回路の動作に応じて遷移するセル数、カウント値
及び各フラグの状態を示した図である。
ロビン回路の動作に応じて遷移するセル数、カウント値
及び各フラグの状態を示した図である。
【図6】 実施の形態2において1セル時間内に行われ
る処理フローを示した図である。
る処理フローを示した図である。
【図7】 従来のウエイテッドラウンドロビン回路を示
した構成図である。
した構成図である。
【図8】 従来のウエイテッドラウンドロビン回路を適
用したサービスの例を示した図である。
用したサービスの例を示した図である。
【図9】 メモリを使用したカウンタの構成を示した図
である。
である。
7 減算回路、10,20,30 セルバッファ回路、
11,21,31 セル有無フラグ送出回路、12,2
2,32 ウエイト有無フラグ送出回路、13,23,
33 カウント初期化フラグ送出回路、41 ウエイト
メモリ、42カウントメモリ、43 セル出力回路。
11,21,31 セル有無フラグ送出回路、12,2
2,32 ウエイト有無フラグ送出回路、13,23,
33 カウント初期化フラグ送出回路、41 ウエイト
メモリ、42カウントメモリ、43 セル出力回路。
Claims (2)
- 【請求項1】 複数のセルバッファ回路と、 前記セルバッファ回路それぞれに対応して設けられたセ
ル有無フラグを送出する複数のセル有無フラグ送出回路
と、 前記セルバッファ回路それぞれに対応して設けられたウ
エイト有無フラグを送出する複数のウエイト有無フラグ
送出回路と、 前記セルバッファ回路それぞれに対応して設けられたカ
ウント初期化フラグを送出する複数のカウント初期化フ
ラグ送出回路と、 各セルバッファ回路に対応するウエイト値を記憶するウ
エイトメモリと、 各セルバッファ回路に対応するカウント値を記憶するカ
ウントメモリと、 セル出力回路と、 を有し、 セルを受信するとそのセルに対応する前記セルバッファ
回路に当該セルが書き込まれ、前記セル有無フラグ送出
回路は対応するセルバッファ回路のセルの有無を記憶
し、前記セル出力回路は全てのセル有無フラグ、ウエイ
ト有無フラグ及びカウント初期化フラグの状態を入力
し、前記セルバッファ回路内にセルがありかつウエイト
があるか、または前記セルバッファ回路内にセルがあり
かつカウント初期化フラグが有意の前記セルバッファ回
路に対し、ラウンドロビンにより1つの前記セルバッフ
ァ回路を選択し、該セルバッファ回路からセルを出力
し、また各セルバッファ回路全てについて、対応するセ
ル有無フラグが前記セルバッファ回路内にセルが無いこ
とを示しているか、またはウエイトフラグがウエイトが
無いことを示している場合、全てのカウント初期化フラ
グを有意にし、前記セルバッファ回路に対応するカウン
ト初期化フラグが無意の場合、出力するセルに対応する
前記カウントメモリ内のカウント値を1減算し、減算し
た結果カウント値が0になったときは、ウエイトフラグ
をウエイトが無い状態にし、前記セルバッファ回路に対
応するカウント初期化フラグが有意の場合、出力するセ
ルに対応するカウント値を対応する前記ウエイトメモリ
内のウエイト値とし、該ウエイト値から1を減算した値
を対応するカウントメモリ内のカウント値とし、また対
応するウエイトフラグをウエイトがある状態にすること
を特徴とするウエイテッドラウンドロビン回路。 - 【請求項2】 複数のセルバッファ回路と、 前記セルバッファ回路それぞれに対応して設けられたセ
ル有無フラグを送出する複数のセル有無フラグ送出回路
と、 前記セルバッファ回路それぞれに対応して設けられたウ
エイト有無フラグを送出する複数のウエイト有無フラグ
送出回路と、 前記セルバッファ回路それぞれに対応して設けられたカ
ウント初期化フラグを送出する複数のカウント初期化フ
ラグ送出回路と、 各セルバッファ回路に対応するウエイト値を記憶するウ
エイトメモリと、 各セルバッファ回路に対応するカウント値を記憶するカ
ウントメモリと、 セル出力回路と、 を有し、 セルを受信するとそのセルに対応する前記セルバッファ
回路にセルが書き込まれ、前記セル有無フラグ送出回路
は対応する前記セルバッファ回路のセルの有無を記憶
し、前記セル出力回路は全てのセル有無フラグ、ウエイ
ト有無フラグ及びカウント初期化フラグの状態を入力
し、前記セルバッファ回路内にセルがありかつウエイト
があるか、または前記セルバッファ回路内にセルがあり
かつカウント初期化フラグが有意の前記セルバッファ回
路に対し、ラウンドロビンにより1つの前記セルバッフ
ァ回路を選択し、該セルバッファ回路からセルを出力
し、また前記各セルバッファ回路全てについて、対応す
るセル有無フラグが前記セルバッファ回路内にセルが無
いことを示しているか、またはウエイトフラグがウエイ
トが無いことを示している場合、全てのカウント初期化
フラグを有意にし、前記セルバッファ回路に対応するカ
ウント初期化フラグが無意の場合、出力するセルに対応
する前記カウントメモリ内のカウント値を1加算し、加
算した結果カウント値が対応する前記ウエイトメモリの
ウエイト値と等しくになったときは、ウエイトフラグを
ウエイトが無い状態にし、前記セルバッファ回路に対応
するカウント初期化フラグが有意の場合、出力するセル
に対応する前記カウントメモリ内のカウント値を0と
し、0に1を加算した値を対応する前記カウントメモリ
のカウント値とし、また対応するウエイトフラグをウエ
イトがある状態にすることを特徴とするウエイテッドラ
ウンドロビン回路。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP8543199A JP3642698B2 (ja) | 1999-03-29 | 1999-03-29 | ウエイテッドラウンドロビン回路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP8543199A JP3642698B2 (ja) | 1999-03-29 | 1999-03-29 | ウエイテッドラウンドロビン回路 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000278272A true JP2000278272A (ja) | 2000-10-06 |
JP3642698B2 JP3642698B2 (ja) | 2005-04-27 |
Family
ID=13858667
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP8543199A Expired - Fee Related JP3642698B2 (ja) | 1999-03-29 | 1999-03-29 | ウエイテッドラウンドロビン回路 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3642698B2 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU777582B2 (en) * | 1999-12-22 | 2004-10-21 | Alcatel Usa Sourcing, L.P. | A weighted round robin engine used in scheduling the distribution of ATM cells |
WO2007072538A1 (ja) * | 2005-12-19 | 2007-06-28 | Fujitsu Limited | キュースケジューリング装置、キュースケジューリング方法、情報中継装置 |
-
1999
- 1999-03-29 JP JP8543199A patent/JP3642698B2/ja not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU777582B2 (en) * | 1999-12-22 | 2004-10-21 | Alcatel Usa Sourcing, L.P. | A weighted round robin engine used in scheduling the distribution of ATM cells |
WO2007072538A1 (ja) * | 2005-12-19 | 2007-06-28 | Fujitsu Limited | キュースケジューリング装置、キュースケジューリング方法、情報中継装置 |
Also Published As
Publication number | Publication date |
---|---|
JP3642698B2 (ja) | 2005-04-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2720957B2 (ja) | パケット・バッファ装置 | |
US5758089A (en) | Method and apparatus for burst transferring ATM packet header and data to a host computer system | |
US4885744A (en) | Apparatus for reconstructing and multiplexing frames of various origins made up of a variable number of packets of fixed length | |
US4488288A (en) | End-to-end information memory arrangement in a line controller | |
EP0772131A2 (en) | Method and apparatus for support of virtual channels for the transfer of data | |
EP0100092A2 (en) | Multiple communication interface between processor and digital transmission means | |
JPS58501065A (ja) | パケツト音声統合交換のための処理設備 | |
EP0949839A1 (en) | ATM cell transmission system | |
US6058251A (en) | Data transmission system | |
US6728256B1 (en) | Shared buffer control device | |
JP2001318876A (ja) | ユニバーサル・シリアル・バスを介してホスト・コンピュータ・システムと通信するコンピュータ周辺装置及び方法 | |
JP2839024B2 (ja) | バッファ制御装置 | |
JP2000278272A (ja) | ウエイテッドラウンドロビン回路 | |
US6341313B1 (en) | Flow controlling method and apparatus for network between processors | |
US6510155B1 (en) | ATM layer device controlling method and ATM layer device | |
US6178462B1 (en) | Protocol for using a PCI interface for connecting networks | |
US6301259B1 (en) | Switch and switching method | |
KR0153924B1 (ko) | 에이티엠 적응 계층 타입 5 서비스를 위한 패킷 데이타 분리/재결합 장치 및 그 방법 | |
US6529509B1 (en) | Switch controlling apparatus for small capacitance ATM exchange | |
US6775286B1 (en) | Data packet router | |
US6820162B1 (en) | Queue control device for and queue control method of controlling a plurality of queues | |
JP3516544B2 (ja) | セル処理装置 | |
US7031332B2 (en) | Control cell management method of ATM switching system | |
KR100497866B1 (ko) | 에이티엠 셀 라우팅 방법 | |
JP3099325B2 (ja) | クロスバスイッチ装置及びその制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050118 |
|
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: 20050125 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050125 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |