JPH1141241A - Atm switch and cell output priority control method therefor - Google Patents

Atm switch and cell output priority control method therefor

Info

Publication number
JPH1141241A
JPH1141241A JP19341397A JP19341397A JPH1141241A JP H1141241 A JPH1141241 A JP H1141241A JP 19341397 A JP19341397 A JP 19341397A JP 19341397 A JP19341397 A JP 19341397A JP H1141241 A JPH1141241 A JP H1141241A
Authority
JP
Japan
Prior art keywords
class
cell
priority
output
port
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.)
Pending
Application number
JP19341397A
Other languages
Japanese (ja)
Inventor
Daiji Mitsunaga
大司 滿永
Yuji Terada
祐二 寺田
Satoshi Matsuhashi
聡 松橋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP19341397A priority Critical patent/JPH1141241A/en
Publication of JPH1141241A publication Critical patent/JPH1141241A/en
Pending legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To efficiently perform the priority control of output cells at an ATM switch and further to guarantee the output bands of respective classes. SOLUTION: The cells are held in a cell buffer 2 in the order of input for each output port and each class. A priority control register 13 holds plural kinds of priority for the respective classes. As for the class having the cell to be held in the cell buffer 2 and high in priority, a priority change/cell read control circuit 6 outputs the first inputted cell from the output port according to the selected priority of the priority control register 13. An output queue counter/round robin table control part 12 counts the output cells in each cycle for each class of the port and when the count value gets equal with a set value, the switching of the round robin table 15 is controlled so as to select the priority, which does not include the class of the output port, from the priority control register.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、ATMスイッチに
おいて、スイッチから出力されるセルに優先順位を付け
て出力制御を行う方法に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a method for performing output control by assigning priorities to cells output from a switch in an ATM switch.

【0002】[0002]

【従来の技術】従来のATMスイッチにおけるセルの出
力優先制御方式について、図16を参照して説明する。
2. Description of the Related Art A conventional cell output priority control method in an ATM switch will be described with reference to FIG.

【0003】図16において、ATMスイッチは、セル
を多重するセル多重部100と、セルを保持するセルバ
ッファ101と、セルを出力ポート毎に分離するセル分
離部102と、セルのルーティング先及び予め定められ
た優先順位を示すクラスを識別するルーティング先/優
先クラス識別回路103と、セルバッファ101への書
き込みを制御するセル書き込み制御回路104と、セル
バッファ101からの読み出しを制御するセル読み込み
制御回路105と、セルバッファへの書き込みアドレス
と読み出しアドレスとを管理する管理テーブル106と
を備える。このATMスイッチは、N本の入力ポートか
ら入力されるセルをN本の出力ポートに出力する出力バ
ッファ型のスイッチシステムである。また、クラスは、
予め優先順位が定められており、優先順位がより高いク
ラスのセルについて、優先的に出力させ、下位のクラス
のセルを出力させる場合には、そのクラスより上位のク
ラスのセルを保持していない場合に、そのクラスのセル
を出力させる完全優先制御方式により制御を行ってい
る。
In FIG. 16, an ATM switch includes a cell multiplexing unit 100 for multiplexing cells, a cell buffer 101 for holding cells, a cell separating unit 102 for separating cells for each output port, a cell routing destination and a A routing / priority class identification circuit 103 for identifying a class indicating a defined priority, a cell write control circuit 104 for controlling writing to the cell buffer 101, and a cell reading control circuit for controlling reading from the cell buffer 101 105, and a management table 106 for managing a write address and a read address to the cell buffer. This ATM switch is an output buffer type switch system that outputs cells input from N input ports to N output ports. The class is
Priorities are determined in advance, and cells of higher classes are preferentially output, and when cells of lower classes are output, cells of higher classes than that class are not held. In such a case, the control is performed by a strict priority control method for outputting cells of the class.

【0004】セルバッファ101は、出力ポート毎にク
ラス分に領域分けされ、入力された順にセルを保持し、
より先に入力された順に出力するFIFOバッファの構
成を取る。また、管理テーブル106は、出力ポート毎
に、出力優先のクラス分けの数分(図16に示す例で
は、AからDの4クラス分)領域を持ち、その各々の領
域に、セルバッファへのセルの書き込みアドレスと読み
出しアドレスとを保持する。セルバッファ101のアド
レスは、セル書き込み制御回路104とセル読み込み制
御回路105とで管理される。
[0004] A cell buffer 101 is divided into classes for each output port and holds cells in the order of input.
The configuration of a FIFO buffer that outputs data in the order of earlier input is adopted. Further, the management table 106 has, for each output port, areas for the number of classes of output priority (four classes from A to D in the example shown in FIG. 16). The write address and read address of the cell are held. The address of the cell buffer 101 is managed by a cell write control circuit 104 and a cell read control circuit 105.

【0005】セルの書き込み動作としては、入力ポート
に入力されたセルは、ルーティング先/優先クラス識別
回路103にて、出力ポートと優先クラスとが識別され
る。その後、セル書き込み制御回路104は、管理テー
ブル106を参照し、識別された該当ポートの該当クラ
ス領域よりセルバッファ101への書き込みアドレスを
得て、書き込みアドレスを指示し、セルバッファ101
へセルを書き込む。また、セル書き込み制御回路104
は、管理テーブルの書き込みアドレス値を+1(加算)
することにより、管理テーブルに次の書き込みアドレス
を指示する。以上の動作をセル書き込みタイミング毎に
繰り返すことでセルバッファ101への書き込み動作を
行う。
In a cell write operation, a routing destination / priority class identification circuit 103 identifies a cell input to an input port as an output port and a priority class. Thereafter, the cell write control circuit 104 refers to the management table 106, obtains a write address to the cell buffer 101 from the corresponding class area of the identified corresponding port, designates a write address, and specifies the write address.
Write cell to Also, the cell write control circuit 104
+1 (addition) the write address value of the management table
By doing so, the next write address is specified in the management table. By repeating the above operation at each cell write timing, a write operation to the cell buffer 101 is performed.

【0006】次に、セル読み込み制御回路105がセル
を読み出す場合には、各ポート毎に、管理テーブルを参
照し、全てのクラスについて、書き込みアドレスと読み
出しアドレスとの差からセルバッファ101に保持する
セル数を各クラス毎に求め、保持するセルがある、優先
順位が一番高いクラスの読み出しアドレスを指示するこ
とにより、より先に入力されたセルを読み出す。セル読
み込み制御回路105は、読み出し時に、管理テーブル
の該当ポート、該当クラスの読み出しアドレスを+1
(加算)する事により、管理テーブルに次の読み出しア
ドレスを指示する。次のポートについても同様に処理し
ていく。以上のように処理することにより、優先順位に
従ってセルを出力している。
Next, when the cell read control circuit 105 reads a cell, it refers to the management table for each port, and holds the class in the cell buffer 101 for all classes from the difference between the write address and the read address. The number of cells is determined for each class, and the cell input first is read by indicating the read address of the class having the highest priority and having the cell to be held. At the time of reading, the cell read control circuit 105 increments the read address of the relevant port and the relevant class in the management table by +1.
By performing (addition), the next read address is specified in the management table. The same process is performed for the next port. By performing the above processing, cells are output in accordance with the priority order.

【0007】[0007]

【発明が解決しようとする課題】上記従来技術による出
力セルの優先制御の実現方法では、セルバッファ101
の読み出し時に、管理テーブルの全てのクラスの領域に
アクセスして、書き込みアドレスと読み出しアドレスと
を読み出す必要があり、また、書き込みアドレスと読み
出しアドレスとの差からセルバッファ101に保持する
セル数を各クラス毎に求める必要がある。このため、管
理テーブルへのアクセス頻度が高くなり、処理時間の関
係からクラス分けの数に限界が生じる。
In the above-mentioned prior art method of realizing priority control of an output cell, the cell buffer 101 is used.
At the time of reading, it is necessary to access the areas of all the classes in the management table to read the write address and the read address, and determine the number of cells to be held in the cell buffer 101 from the difference between the write address and the read address. You need to ask for each class. Therefore, the frequency of accessing the management table increases, and the number of classifications is limited due to the processing time.

【0008】また、優先制御方式が完全優先制御であ
り、かつ、優先順位はある一つのパターンに固定されて
いるため、セルバッファ101の読み出し時に優先順位
の高いクラスばかりが出力される可能性がある。また、
各クラスの出力帯域を、固定帯域に設定することができ
ない。このため、希望する帯域を超えてセルが出力され
てしまう恐れがある。
Further, since the priority control method is the complete priority control and the priority is fixed to one certain pattern, there is a possibility that only the class having the higher priority is output when reading out the cell buffer 101. is there. Also,
The output band of each class cannot be set to a fixed band. For this reason, cells may be output beyond the desired band.

【0009】本発明の目的は、効率的に出力セルの優先
制御を行うことができ、また、クラス分け(優先順位)
の数が増えた場合にも、処理時間が増大しないATMス
イッチ及びそのセル出力優先制御方法を提供することを
にある。
An object of the present invention is to enable efficient priority control of output cells and to classify (priority)
An object of the present invention is to provide an ATM switch and a cell output priority control method thereof, which do not increase the processing time even when the number increases.

【0010】また、本発明の他の目的は、出力ポート毎
に各クラスの出力帯域を設定でき、かつ、出力帯域の保
証が可能なATMスイッチ及びそのセル出力優先制御方
法を提供することにある。
It is another object of the present invention to provide an ATM switch capable of setting an output band of each class for each output port and guaranteeing the output band, and a cell output priority control method therefor. .

【0011】[0011]

【課題を解決するための手段】本発明では、セルを入力
し、予め定められた、当該入力したセルに付加されてい
るサービスの種類を示すクラスに従い、宛先に対応する
出力ポートからセルを出力するATMスイッチであっ
て、前記出力ポート毎であって、前記クラス毎に、前記
入力した順にセルを保持するセル保持手段と、前記出力
ポート毎であって、前記クラス毎に、前記セル保持手段
に保持されるセルがあるかないかを管理する管理手段
と、前記クラスの複数種の優先順位を保持する優先順位
保持手段と、前記優先順位保持手段からいずれか1つの
優先順位を選択する選択手段と、前記出力ポート毎に、
前記選択手段により選択された優先順位において、より
高いクラスであって、前記管理手段において前記セル保
持手段に保持されているセルがあると管理されているク
ラスについて、最先に入力した、前記セル保持手段に保
持されているセルを、当該ポートから出力させる読み込
み制御手段とを有し、前記選択手段は、あらかじめ定め
た時間毎に、当該選択する種類を切り替え、また、前記
出力ポート毎の各クラスのセルの出力帯域を監視し、当
該監視した出力帯域が、当該出力ポートの当該クラスの
出力帯域の設定値となったときに、当該出力ポートにつ
いての当該クラスを含まない優先順位を、前記優先順位
保持手段から選択する。
According to the present invention, a cell is input, and the cell is output from an output port corresponding to a destination according to a predetermined class indicating the type of service added to the input cell. An ATM switch for storing the cells in the order of input for each of the output ports and for each of the classes; and the cell holding means for each of the output ports and for each of the classes. Management means for managing whether or not there is a cell held in the class, priority holding means for holding a plurality of priorities of the class, and selecting means for selecting any one priority from the priority holding means And for each of the output ports,
In the priority order selected by the selection unit, a higher class, and the class that is managed by the management unit as having a cell held in the cell holding unit, the cell input first, Read control means for outputting the cell held in the holding means from the port, the selecting means switches the type to be selected at every predetermined time, and Monitor the output band of the cell of the class, and when the monitored output band becomes the set value of the output band of the class of the output port, the priority order not including the class for the output port, Select from priority holding means.

【0012】より具体的には、複数の入力ポートと、複
数の出力ポートと、前記複数の入力ポートから入力され
たセルに付加されている宛先に対応する出力ポートと、
当該セルに付加されているサービスの種類を示すクラス
とを識別する識別回路と、入力されたセルを保持するセ
ルバッファと、入力されたセルを、前記出力ポート毎で
あって、前記クラス毎に、入力された順に前記セルバッ
ファに保持させるために、当該セルバッファの書き込み
アドレスを指示する書き込み制御回路と、前記出力ポー
ト毎に、前記優先順位のより高いクラスであって、前記
セルバッファに保持されているセルがあるとクラスにつ
いて、最先に入力した、前記セルバッファに保持されて
いるセルを、当該ポートから出力させるために、読み出
しアドレスを指示する読み込み制御回路と、前記書き込
みアドレスと前記読み出しアドレスとを、前記出力ポー
ト毎であって、前記クラス毎に保持する管理テーブル
と、前記クラスの複数種の優先順位を保持する優先順位
制御レジスタと、前記優先順位制御レジスタからいずれ
か1つの優先順位を選択する選択回路とを有し、前記選
択回路は、あらかじめ定めた時間毎に、当該選択する種
類を切り替え、また、前記出力ポート毎の各クラスのセ
ルの出力帯域を監視し、当該監視した出力帯域が、当該
出力ポートの当該クラスの出力帯域の設定値となったと
きに、当該出力ポートの当該クラスを含まない優先順位
を、前記優先順位制御レジスタから選択することができ
る。
More specifically, a plurality of input ports, a plurality of output ports, and an output port corresponding to a destination added to a cell input from the plurality of input ports,
An identification circuit for identifying a class indicating the type of service added to the cell, a cell buffer for holding input cells, and input cells for each output port, and for each class A write control circuit for instructing a write address of the cell buffer in order to hold the cell buffer in the order in which the cells are input; and a higher-priority class for each of the output ports. If there is a cell that has been written, for the class, the first input, the cell held in the cell buffer, to output from the port, a read control circuit that indicates a read address, the write address and the write address A management table that holds a read address for each of the output ports and for each of the classes; A priority control register that retains the priority of the species, and a selection circuit that selects any one of the priorities from the priority control register, wherein the selection circuit performs the selection at predetermined time intervals. The type is switched, and the output band of the cell of each class for each output port is monitored. When the monitored output band becomes the set value of the output band of the class of the output port, the output port Can be selected from the priority control register.

【0013】本発明によれば、複数のサービス(品質)
クラス毎に分けられたセルバッファ内のセルを優先順位
の高いものから効率的に読み出すことができる。セル読
み出し処理時、読み出すべきクラスを簡単に認識するこ
とができ、また、セルの読み出しアドレスを格納した管
理テーブルへのアクセスは、出力するクラスに対応する
領域のみで済むので、クラス分けの数が増えても処理時
間に影響を与えることがない。
According to the present invention, a plurality of services (quality)
The cells in the cell buffer divided for each class can be efficiently read from those having the highest priority. At the time of cell read processing, the class to be read can be easily recognized, and the access to the management table storing the cell read address is limited to the area corresponding to the class to be output. The increase does not affect the processing time.

【0014】また、本発明によれば、前記出力ポート毎
の各クラスのセルの出力帯域を監視し、当該監視した出
力帯域が、当該出力ポートの当該クラスの出力帯域の設
定値となったときに、当該出力ポートの当該クラスを含
まない優先順位を、前記優先順位保持手段から選択する
ため、出力帯域を保証することができる。また、選択す
る優先順位の種類を切り替えるあらかじめ定めた時間
を、設定することにより帯域分割を実現することがで
き、一つのクラスばかりが出力されることを避けられ
る。
According to the present invention, the output bandwidth of the cell of each class for each output port is monitored, and when the monitored output bandwidth becomes the set value of the output bandwidth of the class of the output port. Since the priority of the output port that does not include the class is selected from the priority holding means, the output bandwidth can be guaranteed. Also, by setting a predetermined time for switching the type of priority to be selected, band division can be realized, and output of only one class can be avoided.

【0015】[0015]

【発明の実施の形態】本発明の第1の実施の形態を図1
1を参照して説明する。
FIG. 1 shows a first embodiment of the present invention.
This will be described with reference to FIG.

【0016】図11において、ATMスイッチは、セル
を多重するセル多重部1と、セルを保持するセルバッフ
ァ2と、セルを出力ポート毎に分離するセル分離部3
と、セルのルーティング先及び優先クラスを識別するル
ーティング先/優先クラス識別回路4と、セルバッファ
2への書き込みを制御するセル書き込み制御回路5と、
セルバッファ2からの読み出しを制御するセル読み込み
制御回路90と、出力の優先順位を保持する優先順位制
御レジスタ92(a)〜(d)の4つと、ラウンドロビ
ンテーブル91と、4つの優先順位制御レジスタの中で
どの優先順位制御レジスタを利用するか選択する優先順
位制御レジスタ選択部93と、出力ポート毎であって、
各クラス毎にセルバッファ2に保持されるセルがあるか
ないかをフラグ(以下、キューフラグという)により示
すポート管理テーブル8と、セルバッファ2の書き込み
アドレスと読み出しアドレスとを出力ポート毎であっ
て、各クラス毎に保持するキュー管理テーブル9とを備
える。本発明の実施の形態におけるATMスイッチは、
N本の入力ポートから入力されるセルをN本の出力ポー
トに出力する出力バッファ型のスイッチシステムであ
る。クラスは、優先順位制御レジスタによって優先順位
(本実施の形態において、優先順位列を単に優先順位と
いう)が定められ、優先順位がより高いクラスのセルに
ついて、優先的に出力させ、下位のクラスのセルを出力
させる場合には、そのクラスより上位のクラスのセルを
保持していない場合にそのクラスのセルを出力させる完
全優先制御方式により制御を行っている。さらに、ラウ
ンドロビンテーブルによって、複数種類ある優先順位制
御レジスタのうち利用する優先順位制御レジスタを定期
的に巡回させることで、完全優先制御によるセル出力ク
ラスの偏りをなくし、帯域分割を実現する。
In FIG. 11, the ATM switch includes a cell multiplexing unit 1 for multiplexing cells, a cell buffer 2 for holding cells, and a cell separating unit 3 for separating cells for each output port.
A routing destination / priority class identification circuit 4 for identifying a routing destination and a priority class of a cell; a cell write control circuit 5 for controlling writing to the cell buffer 2;
A cell read control circuit 90 for controlling reading from the cell buffer 2, four priority control registers 92 (a) to (d) for holding the priority of output, a round robin table 91, and four priority controls A priority control register selection unit 93 for selecting which priority control register to use among the registers, and for each output port,
A port management table 8 indicating whether or not there is a cell held in the cell buffer 2 for each class by a flag (hereinafter referred to as a queue flag), and a write address and a read address of the cell buffer 2 for each output port. And a queue management table 9 held for each class. The ATM switch according to the embodiment of the present invention includes:
This is an output buffer type switch system that outputs cells input from N input ports to N output ports. The priority of a class is determined by a priority control register (in this embodiment, a priority sequence is simply referred to as a priority), cells of a class having a higher priority are output with priority, and cells of a lower class are output with priority. When a cell is output, control is performed by a strict priority control method in which a cell of a class higher than the class is output when the cell is not held. Further, by using the round robin table to periodically circulate the priority control registers used among the plurality of types of priority control registers, the bias of the cell output class due to the full priority control is eliminated, and band division is realized.

【0017】本実施の形態では、品質クラスの数をクラ
スAからクラスDまでの4つとした場合を例にする。図
2に、ポート管理テーブル8の構成を示す。
In this embodiment, an example is given in which the number of quality classes is four, from class A to class D. FIG. 2 shows the configuration of the port management table 8.

【0018】ポート管理テーブル8は、図2に示すよう
に、4つのクラスに分けられたセルのキュー(待ち状
態)があるかないかを示すキューフラグの情報を、出力
ポート毎に、各クラス1ビットずつ記憶する。このた
め、テーブル全体の容量は4ビット×n(ポート数)ビ
ットの容量を備える。キューフラグは、セルバッファ2
に保持されるセルがある時(キュー有りの時)に1がセ
ットされ、セルバッファ2に保持されるセルが無い時
(キュー無しの時)にはリセットされて0を示す。
As shown in FIG. 2, the port management table 8 stores queue flag information indicating whether or not there is a queue (waiting state) of cells classified into four classes for each output port. Stores bit by bit. For this reason, the capacity of the entire table has a capacity of 4 bits × n (the number of ports) bits. The queue flag is stored in cell buffer 2
Is set to 1 when there is a cell held in the cell buffer (when there is a queue), and is reset to 0 when there is no cell held in the cell buffer 2 (when there is no queue).

【0019】また、キュー管理テーブル9は、図11に示
すように、各ポートごとに、各クラス(クラスA〜クラ
スD)分の領域を備え、各ポートごとの各クラスのセル
バッファ2のセルの書き込み位置情報(書き込みアドレ
ス)と、読み出し位置情報(読み出しアドレス)と、書
き込みアドレス値から読み出しアドレス値を減算した値
であるキュー値(セルバッファ2に保持されるセル数)
とが格納される。テーブル全体の容量は4(クラス数)
ビット×n(ポート数)ビット×(セル書き込みアドレ
スのビット数+読み出しアドレスのビット数+キュー値
のビット数)を備える。
As shown in FIG. 11, the queue management table 9 has an area for each class (class A to class D) for each port, and the cell buffer 2 of each class for each port. Write position information (write address), read position information (read address), and a queue value (the number of cells held in the cell buffer 2) which is a value obtained by subtracting the read address value from the write address value.
Are stored. The total capacity of the table is 4 (number of classes)
Bits × n (number of ports) bits × (number of bits of cell write address + number of bits of read address + number of bits of queue value).

【0020】また、セルバッファ2は、出力ポート毎に
クラス分に領域分けされ、入力された順に保持し、より
先に入力された順に出力するFIFOバッファの構成を
取る。セルバッファ2のアドレスは、セル書き込み制御
回路5とセル読み込み制御回路90とで管理され、出力
ポート毎であってクラス毎にFIFOバッファを持つよ
うにアドレス値が示され、本実施の形態においてアドレ
スは、シーケンシャルな番号であるものとし、アドレス
1から順番に保持するものとする。
The cell buffer 2 has a configuration of a FIFO buffer that is divided into classes for each output port, holds the data in the order of input, and outputs the data in the order of input. The address of the cell buffer 2 is managed by the cell write control circuit 5 and the cell read control circuit 90, and the address value is indicated so that a FIFO buffer is provided for each output port and for each class. Is a sequential number and the address
It shall be stored in order from 1.

【0021】ルーティング先/優先クラス識別回路4
は、セルに付加されているセルヘッダ情報を解析し、セ
ルヘッダ情報に含まれる宛先に対応する出力ポートと出
力の優先順位を示すクラスとを識別する。
Routing destination / priority class identification circuit 4
Analyzes the cell header information added to the cell and identifies the output port corresponding to the destination included in the cell header information and the class indicating the output priority.

【0022】セル書き込み制御回路5は、前記入力され
たセルについて、ルーティング先/優先クラス識別回路
4で識別された、セルの出力ポートとクラスとに従っ
て、キュー管理テーブル9を参照することにより入力さ
れた順にセルバッファ2の書き込みアドレスを指示して
当該入力されたセルをセルバッファ2に保持させる。ま
た、セル書き込み制御回路5は、書き込んだセルの出力
ポートの該当クラスのポート管理テーブル8のキューフ
ラグをセットし、また、書き込んだセルの出力ポートの
該当クラスのキュー管理テーブル9の、書き込みアドレ
スを+1(加算)することにより、つぎの書き込みアド
レスを示すように指示する。さらに、書き込んだセルの
出力ポートの該当クラスのキュー管理テーブル9の、キ
ュー値を+1(加算)する。
The cell write control circuit 5 inputs the input cell by referring to the queue management table 9 in accordance with the output port and class of the cell identified by the routing destination / priority class identification circuit 4. In this order, the write address of the cell buffer 2 is designated, and the input cell is held in the cell buffer 2. Further, the cell write control circuit 5 sets the queue flag of the port management table 8 of the corresponding class of the output port of the written cell, and sets the write address of the queue management table 9 of the corresponding class of the output port of the written cell. +1 (addition) to indicate the next write address. Further, the queue value of the queue management table 9 of the corresponding class of the output port of the written cell is incremented by +1 (addition).

【0023】優先順位制御レジスタ92は、各クラスの
優先順位を保持する。例えば、クラスとして、A、B、
C及びDがある場合に、優先順位としては、高いものか
らA、B、C、Dとするように保持しておく。優先順位
制御レジスタ92は、書替えが可能であり、指示部94
からクラスの優先順位を指示し、優先順位制御レジスタ
92に優先順位を保持させることができる。
The priority control register 92 holds the priority of each class. For example, classes A, B,
When C and D are present, the priorities are stored in the order of A, B, C, and D in descending order of priority. The priority control register 92 is rewritable,
Can indicate the priority of the class, and the priority control register 92 can hold the priority.

【0024】優先順位制御レジスタ選択部93は、4つ
の優先順位制御レジスタ(a)〜(d)のうちいずれか
一つを選択する選択部である。ラウンドロビンテーブル
91は、優先順位制御レジスタ選択部93が優先順位制
御レジスタ(a)〜(d)のうちどれを選択するかの選
択信号を生成する選択信号生成部である。ラウンドロビ
ンテーブル15の(a)〜(d)は、各々優先順位制御
レジスタ(a)〜(d)を示し、(a)→(b)→
(c)→(d)・・・→(a)→(b)・・と定期的に
選択信号を出力する。セル読み込み制御回路90は、セ
ルバッファ読み出し処理時に、優先順位制御レジスタを
参照し、その優先順位に従い、セルを読み出す構成をと
っている。優先順位制御レジスタの優先順位が、ある1
つのパターンに固定されていると、読み出し要求毎に優
先順位の高いクラスのセルばかりが出力される可能性が
あるが、これに対して、第1の実施の形態では、セル読
み込み制御回路90が検索する優先順位制御レジスタを
巡回させることができる。この場合、選択信号(a)、
(b)、(c)、(d)のいずれかによって4つの優先
順位制御レジスタ(a)〜(d)のいずれかを利用する
ことができる。
The priority control register selector 93 is a selector for selecting any one of the four priority control registers (a) to (d). The round robin table 91 is a selection signal generation unit that generates a selection signal indicating which of the priority control registers (a) to (d) is selected by the priority control register selection unit 93. (A) to (d) of the round robin table 15 indicate priority control registers (a) to (d), respectively, and (a) → (b) →
(C) → (d)... → (a) → (b). The cell read control circuit 90 refers to the priority control register during the cell buffer read processing, and reads cells according to the priority. If the priority of the priority control register is 1
If it is fixed to one pattern, there is a possibility that only a cell of a class having a higher priority is output for each read request. On the other hand, in the first embodiment, the cell read control circuit 90 The priority control register to be searched can be circulated. In this case, the selection signal (a),
Any of the four priority control registers (a) to (d) can be used by any of (b), (c), and (d).

【0025】例えば、ある読み出しタイミングにおい
て、ラウンドロビンテーブル91の値が“(a)”であ
った場合は、セル読み込み制御回路90が検索する優先
順位制御レジスタは優先順位制御レジスタ(a)であ
り、読み出しセルの優先順位はクラスA、クラスB、ク
ラスC、クラスDの順番となる。また、別の読み出しタ
イミング時に、ラウンドロビンテーブル91の値が
“(C)”であった場合は、セル読み込み制御回路90
が検索する優先順位制御レジスタは優先順位制御レジス
タ(C)であり、読み出しセルの優先順位はクラスC、
クラスD、クラスA、クラスBの順番となる。これによ
り、優先順位の高いクラスのセルに偏って読み出される
ことを回避し、各クラスに出力の機会を与えることがで
き、帯域分けが可能となる。ラウンドロビンテーブル
は、例えば、全ポートで各1セル出力毎に変更すること
ができる。
For example, when the value of the round robin table 91 is "(a)" at a certain read timing, the priority control register searched by the cell read control circuit 90 is the priority control register (a). The priority order of the read cells is in the order of class A, class B, class C, and class D. If the value of the round robin table 91 is “(C)” at another read timing, the cell read control circuit 90
Is a priority control register (C), and the priority of the read cell is class C,
The order is class D, class A, and class B. As a result, it is possible to avoid a biased readout of cells of a class having a higher priority, to provide an output opportunity to each class, and to perform band division. The round robin table can be changed, for example, for each cell output for all ports.

【0026】セル読み込み制御回路90は、出力ポート
ごとに、優先順位制御レジスタ選択部93によって選択
されている、優先順位制御レジスタ92が保持する優先
順位の高いクラスから順番に、ポート管理テーブル8の
キューフラグを参照し、セルバッファ2に保持されるセ
ルがあると示されているキューフラグに対応するクラス
のより先に入力されたセルを、キュー管理テーブル9を
参照し、読み出しアドレスを指示して当該出力ポートか
ら出力させる。また、キュー管理テーブル9が保持する
読み出しアドレスを、当該出力させたセルのつぎに入力
されたセルの読み出しアドレスを示すように、読み出し
アドレスを+1(加算)する。さらに、当該出力させた
出力ポートのクラスの、キュー管理テーブル9のキュー
値を−1(減算)し、キュー値が0のとき、すなわち、
セルバッファ2に保持されるセルがない場合に、当該出
力させた出力ポートのクラスのポート管理テーブル8の
キューフラグをリセットする。
The cell read control circuit 90 sequentially stores the port management table 8 in the port management table 8 in order from the class having the highest priority, which is selected by the priority control register selector 93 and held by the priority control register 92, for each output port. By referring to the queue flag, the cell input earlier than the class corresponding to the queue flag indicating that there is a cell held in the cell buffer 2 is designated by referring to the queue management table 9 to specify the read address. Output from the output port. Further, the read address held by the queue management table 9 is incremented by +1 (added) so as to indicate the read address of the cell input next to the output cell. Further, the queue value in the queue management table 9 of the class of the output port that caused the output is subtracted by -1 (subtraction), and when the queue value is 0, that is,
If there is no cell held in the cell buffer 2, the queue flag of the port management table 8 of the class of the output port that has been output is reset.

【0027】つぎに、図11を参照してセルバッファ2
への書き込みと読み出しとの動作を説明する。
Next, referring to FIG.
The operation of writing to and reading from the memory will be described.

【0028】図11において、各入力ポートから入力さ
れるセルは、セル多重部1でセル単位に多重された後、
ルーティング先/優先クラス識別回路4でセルに付加さ
れているセルヘッダ情報が解析される。セルヘッダ情報
には、出力先ポートの識別情報とセルのクラスの識別情
報とが含まれている。ルーティング先/優先クラス識別
回路4は、セルヘッダ情報に含まれるセルの出力ポート
を認識すると共に、入力されたセルの出力の優先順位を
示すクラスを識別し、セル書込み制御回路5に識別結果
を出力する。
In FIG. 11, cells input from each input port are multiplexed by the cell multiplexing unit 1 on a cell basis.
The routing / priority class identification circuit 4 analyzes the cell header information added to the cell. The cell header information includes the identification information of the output destination port and the identification information of the class of the cell. The routing destination / priority class identification circuit 4 recognizes the output port of the cell included in the cell header information, identifies the class indicating the priority of the output of the input cell, and outputs the identification result to the cell write control circuit 5. I do.

【0029】ルーティング先/優先クラス識別回路4に
て、出力ポートと優先クラスとが識別された後、セル書
き込み制御回路5は、ポート管理テーブルの該当ポー
ト、該当クラス領域にキューフラグをセットし(論理値
“1”にし)、キュー管理テーブル9の該当ポートの該
当クラス領域を参照し、セルバッファ2への書き込みア
ドレスを得て、この書き込みアドレスを指示する事によ
り、セルバッファ2へセルの情報を書き込む。また、セ
ル書き込み制御回路5は、書き込んだセルの出力ポート
の該当クラスのキュー管理テーブル9の、書き込みアド
レスを+1(加算)することにより、つぎの書き込みア
ドレスを示すように指示する。さらに、書き込んだセル
の出力ポートの該当クラスのキュー管理テーブル9の、
キュー値を+1(加算)する。
After the output port and the priority class are identified by the routing destination / priority class identification circuit 4, the cell write control circuit 5 sets a queue flag in the corresponding port and the corresponding class area of the port management table ( The logical value is set to “1”, the write address to the cell buffer 2 is obtained by referring to the corresponding class area of the corresponding port in the queue management table 9, and the write address is designated, so that the cell information is stored in the cell buffer 2. Write. In addition, the cell write control circuit 5 instructs to indicate the next write address by adding (adding) the write address of the queue management table 9 of the corresponding class of the output port of the written cell to +1. Further, in the queue management table 9 of the corresponding class of the output port of the written cell,
+1 (addition) the queue value.

【0030】以上の動作を、セル書き込みタイミング毎
に繰り返すことでセルバッファ2への書き込み動作を行
う。
The above operation is repeated at each cell write timing to perform a write operation to the cell buffer 2.

【0031】セルを読み出す場合には、セルバッファ2
からセルを読み出すタイミングは、ポート1からポート
Nまでそれぞれ定期的に到来する。まず、セル読み込み
制御回路90は、ポート管理テーブル8を検索し、所定
のポートのクラスA〜クラスDまでの各々のキューフラ
グを認識する。次に、クラスA〜クラスDまでの優先順
位を予め設定してある優先順位制御レジスタ92を検索
し、セルの読み出し優先順位を認識する。次に、セル読
み込み制御回路90は、優先順位に従って、ポート管理
テーブルの該当出力ポートの該当クラスのキューが論理
“1”のクラスについて、キュー管理テーブル9から読
み出しアドレスを得て、この読み出しアドレスを指示す
ることによりセルバッファ2からセルの情報を読み出
す。また、キュー管理テーブル9が保持する読み出しア
ドレスを、当該出力させたセルのつぎに入力されたセル
の読み出しアドレスを示すように、読み出しアドレスを
+1(加算)する。さらに、当該出力させた出力ポート
のクラスの、キュー管理テーブル9のキュー値を−1
(減算)し、減算後のキュー値が0のとき、当該出力さ
せた出力ポートのクラスのポート管理テーブル8のキュ
ーフラグをリセットする。
When reading a cell, the cell buffer 2
The timing for reading out cells from the ports periodically arrives from port 1 to port N, respectively. First, the cell read control circuit 90 searches the port management table 8 and recognizes each queue flag of a predetermined port from class A to class D. Next, the priority control registers 92 in which the priorities of the classes A to D are set in advance are searched to recognize the read priority of the cells. Next, the cell read control circuit 90 obtains a read address from the queue management table 9 for the class of the logic “1” of the corresponding class of the corresponding output port in the port management table according to the priority order, and obtains the read address. By instructing, cell information is read from the cell buffer 2. Further, the read address held by the queue management table 9 is incremented by +1 (added) so as to indicate the read address of the cell input next to the output cell. Further, the queue value in the queue management table 9 of the class of the output port that caused the output is set to -1.
When the queue value after the subtraction is 0, the queue flag of the port management table 8 of the class of the output port that has been output is reset.

【0032】このようにして、セル読み込み制御回路9
0は、キューフラグが“1”であるクラスについて、優
先クラス順に、キュー管理テーブル9より、セル読み出
しアドレスを得て、このセルの格納されているセルバッ
ファ2内の読み出しアドレスを順次指示し、セルバッフ
ァ2からセルを読み出す。セル分離部3では、セルバッ
ファメモリから読み出されたセルを各出力ポート毎に分
離する。
Thus, the cell read control circuit 9
0 indicates a cell read address from the queue management table 9 in the order of priority class for the class whose queue flag is "1", and sequentially designates a read address in the cell buffer 2 where the cell is stored; The cell is read from the cell buffer 2. The cell separation unit 3 separates the cells read from the cell buffer memory for each output port.

【0033】読み出し動作は、あるポートにおいて、あ
るクラスのセルを1つ出力したら次のポートの処理へ移
り同様な処理を行い、ポート1からポートNまでの処理
が繰り返し行われる。
In a read operation, when one cell of a certain class is output from a certain port, the process proceeds to the next port, and the same processing is performed. The processing from port 1 to port N is repeated.

【0034】つぎに、セル読み込み制御回路90におけ
る詳細な動作を図12〜図15を参照して説明する。図
13に、セル読み込み制御回路90におけるセルバッフ
ァ読み出しフローを示す。また、図12に、ポート管理
テーブルのキューフラグの例を示す。図12(a)に示
すように、出力ポート1の各クラスのキューフラグを、
クラスAは“1”、クラスBは“0”、クラスCは
“0”、クラスDは“1”とし、また、ラウンドロビン
テーブル91の値が“(a)”、つまり、優先順位制御
レジスタ選択部93が選択する優先順位制御レジスタが
(a)であり、優先順位制御レジスタ(a)に設定され
ている優先順位情報を、クラスA、B、C、Dの順番
(クラスAが優先順位が一番高く、クラスDが優先順位
が一番低い)とした場合について、図13を用いて説明
する。
Next, the detailed operation of the cell read control circuit 90 will be described with reference to FIGS. FIG. 13 shows a cell buffer read flow in the cell read control circuit 90. FIG. 12 shows an example of a queue flag in the port management table. As shown in FIG. 12A, the queue flag of each class of the output port 1 is set as follows.
The class A is "1", the class B is "0", the class C is "0", the class D is "1", and the value of the round robin table 91 is "(a)", that is, the priority control register. The priority control register selected by the selection unit 93 is (a), and the priority information set in the priority control register (a) is stored in the order of classes A, B, C, and D (class A is the priority order). Is the highest and class D has the lowest priority) with reference to FIG.

【0035】図13において、まずセル読み込み制御回
路は、ポート管理テーブル8のポート1の領域を検索し
(ステップ40)、A=1、B=0、C=0、D=1の
情報を認識する(ステップ41)。次に、セル読み込み
制御回路は、優先順位制御レジスタ92(a)を検索
し、各クラスの優先順位が、クラスA、B、C、Dの順
番であることを認識する(ステップ42)。ステップ4
1および42によって、以降のクラス単位の処理の順番
が決まり、図13に示すように、この場合、クラスAか
ら、実際のセルバッファ2からの読み出し動作を行う
(ステップ45)。この例において、クラスAは、既に
キューフラグが“1”であるので、キューフラグ状態判
定(ステップ95)において、判定後分岐47へ移り、
キュー管理テーブル9のポート1のクラスAの領域を参
照することによりセルバッファ2の読み出しアドレスを
得て、セルバッファ2の読み出しタイミングで、読み出
しアドレスを指示することによりセルバッファ2からセ
ルの情報を出力させる。つぎに、セル読み込み制御回路
90は、クラスAのセルバッファ2の読み出しアドレス
を1加算することにより、つぎの読み出しアドレスとす
る(ステップ48)。また、ポート管理テーブル内のキ
ュー値は、書き込みアドレスから読み出しアドレスを減
算したものがキュー値であるため、セル読み込み制御回
路90はポート1のクラスAのキュー値を−1(減算)
する(ステップ49)。次に、セル読み込み制御回路9
0は、キュー値が0であるか、またはそれ以外であるか
を判断し(ステップ50)、“0”であれば出力すべき
セルが無いと判断し、ポート管理テーブル8のポート1
のクラスA領域のキューフラグを“0”にする(ステッ
プ51)。“0”以外であった場合は、キューフラグ
が、既に“1”であるので、そのまま次の処理へ移る
(分岐52)。
In FIG. 13, first, the cell read control circuit searches the area of port 1 in the port management table 8 (step 40), and recognizes information of A = 1, B = 0, C = 0, D = 1. (Step 41). Next, the cell read control circuit searches the priority control register 92 (a) and recognizes that the priority of each class is in the order of classes A, B, C, and D (step 42). Step 4
The order of subsequent processing in class units is determined by 1 and 42. As shown in FIG. 13, in this case, an actual read operation from class A to the cell buffer 2 is performed (step 45). In this example, in the class A, since the queue flag is already “1”, in the queue flag state determination (step 95), the process proceeds to the branch 47 after the determination, and
The read address of the cell buffer 2 is obtained by referring to the class A area of the port 1 in the queue management table 9, and the read address is indicated at the read timing of the cell buffer 2, whereby the cell information is read from the cell buffer 2. Output. Next, the cell read control circuit 90 adds 1 to the read address of the class A cell buffer 2 to obtain the next read address (step 48). Since the queue value in the port management table is a value obtained by subtracting the read address from the write address, the cell read control circuit 90 reduces the class A queue value of port 1 by -1 (subtraction).
(Step 49). Next, the cell read control circuit 9
If the queue value is 0, it is determined whether the queue value is 0 or not (step 50). If the queue value is "0", it is determined that there is no cell to be output.
The queue flag of the class A area is set to "0" (step 51). If it is other than "0", the queue flag is already "1", and the process proceeds to the next process (branch 52).

【0036】セルバッファ2から読み出されたクラスA
のセルはセル分離部3を経て、出力ポート1へ出力され
る。ポート1に対して、クラスAのセルを出力したら、
次はポート2のセル読み出し処理へ移り(分岐53)、
以降ポート2からポートnの読み出し処理が同様に行わ
れる。ポートnの読み出し処理後、ポート1に戻り、ポ
ート1からポートnまでの処理が繰り返し行われる。
Class A read from cell buffer 2
Are output to the output port 1 through the cell separation unit 3. When a class A cell is output to port 1,
Next, the process proceeds to the cell reading process of port 2 (branch 53).
Thereafter, read processing from port 2 to port n is performed in the same manner. After the reading process of the port n, the process returns to the port 1, and the processes from the port 1 to the port n are repeatedly performed.

【0037】次に、再びポート1の読み出し処理へ戻っ
たときに、図12(b)に、ポート管理テーブルのキュ
ーフラグを示すように、出力ポート1の各クラスのキュ
ーフラグを、クラスAは“0”、クラスBは“0”、ク
ラスCは“0”、クラスDは“1”とし、また、ラウン
ドロビンテーブル91の値が(b)、つまり、優先順位
制御レジスタ選択部93が選択する優先順位制御レジス
タが(b)に切り替わり、優先順位制御レジスタに設定
されている優先順位情報を、クラスB、C、D、Aの順
番(クラスBが優先順位が一番高く、クラスAが優先順
位が一番低い)とした場合について、クラスDのセルを
読み出す場合の例を図14を用いて説明する。
Next, when returning to the read processing of the port 1 again, as shown in FIG. 12B, the queue flags of each class of the output port 1 and the class A “0”, class B is “0”, class C is “0”, class D is “1”, and the value of the round robin table 91 is (b), that is, the priority control register selecting unit 93 selects Is switched to (b), and the priority information set in the priority control register is changed to the order of classes B, C, D, and A (class B has the highest priority, and class A has the highest priority). With reference to FIG. 14, an example in which a cell of class D is read out (when the priority is the lowest) will be described.

【0038】セル読み込み制御回路90は、前述と同
様、ポート管理テーブル8のポート1の領域を検索し
(ステップ40)、A=0、B=0、C=0、D=1の
情報を認識する(ステップ41)。次に、セル読み込み
制御回路90は、優先順位制御レジスタ92(b)を検
索し、各クラスの優先順位が、クラスB、C、D、Aの
順番であることを認識する(ステップ42)。次に、優
先順位の順番よりクラスBのセル読み出し処理55に移
行し、クラスBのセルのキューフラグが“0”のため、
キューフラグ状態判定(ステップ95)において、分岐
54を経由することで、クラスBの読み出し動作を行わ
ない。つまり、読み出すべきセルが無い場合には、キュ
ー管理テーブル9にアクセスせず、次の優先順位のクラ
スのセル(クラスC)の処理へ移る。
The cell read control circuit 90 searches the port 1 area of the port management table 8 in the same manner as described above (step 40), and recognizes information of A = 0, B = 0, C = 0, and D = 1. (Step 41). Next, the cell read control circuit 90 searches the priority control register 92 (b) and recognizes that the priority of each class is the order of the classes B, C, D, and A (step 42). Next, the processing shifts to the class B cell reading processing 55 from the priority order, and since the queue flag of the class B cell is “0”,
In the queue flag state determination (step 95), the class B read operation is not performed through the branch 54. That is, when there is no cell to be read, the process shifts to the process of the cell of the next priority class (class C) without accessing the queue management table 9.

【0039】次に、優先順位が2番目のクラスCのセル
についても、同様に読み出し動作ステップ56におい
て、クラスCのセルのキューフラグもクラスBと同様に
“0”のため、キューフラグ状態判定における判定後、
次の優先順位のクラスのセル(クラスD)の処理(ステ
ップ57)へ移る。クラスDのセルのキューフラグ状態
は、“1”であるため、キューフラグ状態判定(ステッ
プ95)において、セルバッファ2の読み出し処理へ移
り、キュー管理テーブル9のポート1のクラスDの領域
を参照することによりセルバッファ2のクラスDのセル
バッファの読み出しアドレスを得て、セルバッファの読
み出しタイミングで、読み出しアドレスを指示すること
によりセルバッファ2からセルの情報を出力させる。つ
ぎに、セル読み込み制御回路90は、クラスDのセルバ
ッファ2の読み出しアドレスを1加算することにより、
次の読み出しアドレスとする。(ステップ48)。ま
た、ポート管理テーブル9のキュー値は、書き込みアド
レスから読み出しアドレスを減算したものがキュー値で
あるため、セル読み込み制御回路90はポート1のクラ
スDのキュー値を−1(減算)する(ステップ49)。
次に、セル読み込み制御回路90は、キューの値が0で
あるか、またはそれ以外であるかを判断し(ステップ5
0)、“0”であれば出力すべきセルが無いと判断し、
ポート管理テーブル8のポート1のクラスD領域のキュ
ーフラグを“0”にする(ステップ51)。“0”以外
であった場合は、キューフラグが、既に“1”であるの
で、そのまま次の処理へ移る(分岐52)。
Next, in the read operation step 56, similarly for the class C cell having the second priority, the queue flag of the class C cell is "0" similarly to class B, so that the queue flag state determination is performed. After the judgment in,
The process moves to the process (step 57) for the cell of the next priority class (class D). Since the queue flag state of the class D cell is "1", the process proceeds to the reading process of the cell buffer 2 in the queue flag state determination (step 95), and refers to the class D area of port 1 in the queue management table 9. Thus, the read address of the class D cell buffer of the cell buffer 2 is obtained, and at the read timing of the cell buffer, the cell buffer 2 outputs cell information by designating the read address. Next, the cell read control circuit 90 adds 1 to the read address of the class D cell buffer 2 to obtain
This is the next read address. (Step 48). Further, since the queue value in the port management table 9 is obtained by subtracting the read address from the write address, the cell read control circuit 90 subtracts -1 (subtracts) the queue value of the class D of the port 1 (step). 49).
Next, the cell read control circuit 90 determines whether the value of the queue is 0 or not (step 5).
0), if "0", it is determined that there is no cell to output,
The queue flag of the class D area of port 1 in the port management table 8 is set to "0" (step 51). If it is other than "0", the queue flag is already "1", and the process proceeds to the next process (branch 52).

【0040】セルバッファから読み出されたクラスDの
セルはセル分離部3を経て、出力ポート1へ出力され
る。その後は分岐53を経て、次のポート2の読み出し
処理へ移る。
The class D cells read from the cell buffer are output to the output port 1 via the cell separation unit 3. After that, the process goes to the next port 2 reading process via the branch 53.

【0041】次に、再びポート1の読み出し処理へ戻っ
たときに、図12(c)に、ポート管理テーブルのキュ
ーフラグを示すように、出力ポート1の各クラスのキュ
ーフラグを、クラスAは“0”、クラスBは“1”、ク
ラスCは“0”、クラスDは“0”とし、また、ラウン
ドロビンテーブル91の値が(c)、つまり、優先順位
制御レジスタ選択部93が選択する優先順位制御レジス
タが(c)に切り替わり、優先順位制御レジスタに設定
されている優先順位情報を、クラスC、D、A、Bの順
番(クラスCが優先順位が一番高く、クラスBが優先順
位が一番低い)とした場合について、クラスBのセルを
読み出す場合の例を図15を用いて説明する。
Next, when returning to the read processing of the port 1 again, the queue flags of the respective classes of the output port 1 are set as shown in FIG. “0”, class B is “1”, class C is “0”, class D is “0”, and the value of the round robin table 91 is (c), that is, the priority control register selection unit 93 selects The priority control register is switched to (c), and the priority information set in the priority control register is changed to the order of classes C, D, A, and B (class C has the highest priority and class B has the highest priority). An example in which a cell of class B is read when the priority is the lowest) will be described with reference to FIG.

【0042】セル読み込み制御回路90は、前述と同
様、ポート管理テーブル8のポート1の領域を検索し
(ステップ40)、A=0、B=1、C=0、D=0の
情報を認識する(ステップ41)。次に、セル読み込み
制御回路90は、優先順位制御レジスタ92(c)を検
索し、各クラスの優先順位が、クラスC、D、A、Bの
順番であることを認識する(ステップ42)。次に、優
先順位の順番よりクラスCのセル読み出し処理56に移
行し、クラスCのセルのキューフラグが“0”のため、
キューフラグ状態判定(ステップ95)において、分岐
54を経由することで、読み出し動作を行わない。クラ
スDおよびAのセルについてもクラスCのセルと同様、
キューフラグが“0”のためセルの出力は行わず、次の
クラスBのセル読み出し処理に移行する。
The cell read control circuit 90 searches the port 1 area of the port management table 8 in the same manner as described above (step 40), and recognizes information of A = 0, B = 1, C = 0, and D = 0. (Step 41). Next, the cell read control circuit 90 searches the priority control register 92 (c) and recognizes that the priority of each class is the order of the classes C, D, A, and B (step 42). Next, the process proceeds to the class C cell reading process 56 from the priority order, and since the queue flag of the class C cell is “0”,
In the queue flag state determination (step 95), the read operation is not performed through the branch 54. Class D and A cells are the same as class C cells.
Since the queue flag is “0”, no cell is output, and the process proceeds to the next class B cell reading process.

【0043】クラスBのセルのキューフラグ状態は、
“1”であるため、キューフラグ状態判定(ステップ9
5)において、セルバッファの読み出し処理へ移り、キ
ュー管理テーブル9のポート1のクラスBの領域を参照
することによりセルバッファ2のクラスBのセルバッフ
ァの読み出しアドレスを得て、セルバッファの読み出し
タイミングで、読み出しアドレスを指示することにより
セルバッファ2からセルの情報を出力させる。つぎに、
セル読み込み制御回路90は、クラスBのセルバッファ
2の読み出しアドレスを1加算することにより、次の読
み出しアドレスとする(ステップ48)。また、ポート
管理テーブル9のキュー値は、書き込みアドレスから読
み出しアドレスを減算したものがキュー値であるため、
セル読み込み制御回路90はポート1のクラスBのキュ
ー値を−1(減算)する(ステップ49)。次に、セル
読み込み制御回路90は、キューの値が0であるか、又
はそれ以外であるかを判断し(ステップ50)、“0”
であれば出力すべきセルが無いと判断し、ポート管理テ
ーブル8のポート1のクラスB領域のキューフラグを
“0”にする(ステップ51)。“0”以外であった場
合は、キューフラグが、既に“1”であるので、そのま
ま次の処理へ移る(分岐52)。
The queue flag state of the class B cell is
Since it is “1”, the queue flag state determination (step 9
In 5), the process proceeds to the cell buffer read processing, and the read address of the class B cell buffer of the cell buffer 2 is obtained by referring to the class B area of the port 1 in the queue management table 9 and the read timing of the cell buffer. The cell buffer 2 outputs cell information by designating the read address. Next,
The cell read control circuit 90 adds one to the read address of the class B cell buffer 2 to make it the next read address (step 48). Further, the queue value in the port management table 9 is obtained by subtracting the read address from the write address, which is the queue value.
The cell read control circuit 90 decrements the class B queue value of port 1 by -1 (step 49). Next, the cell read control circuit 90 determines whether the value of the queue is 0 or not (step 50), and “0”.
If so, it is determined that there is no cell to output, and the queue flag of the class B area of port 1 in the port management table 8 is set to "0" (step 51). If it is other than "0", the queue flag is already "1", and the process proceeds to the next process (branch 52).

【0044】セルバッファから読み出されたクラスBの
セルはセル分離部3を経て、出力ポート1へ出力され
る。
The class B cells read from the cell buffer are output to the output port 1 via the cell separation unit 3.

【0045】以上、説明したように処理することによ
り、各ポートごとに、優先順位のより高いクラスのセル
を出力することができる。第1の実施の形態の形態によ
れば、キューフラグの状態を判断することで、出力すべ
きセルがあるクラスを認識することができる。従来、出
力すべきクラスの判断時に、アドレス(数ビットの情
報)を保持するキュー管理テーブルの全クラスを参照し
て、キューがあるかないかを判断し、出力すべきクラス
を判断しなければならなかったが、本実施の形態によれ
ば、各クラスのキューフラグ(1ビットの情報)を参照
することにより、優先順位のより高いクラスのセルを出
力することができる。また、セルの読み出し位置アドレ
スを格納したキュー管理テーブルへのアクセスは、出力
するクラスに対応する領域のみで済むので、クラス分け
の数が増えても処理時間に影響を与えることがない。す
なわち、キュー管理テーブルへのアクセス回数及びその
処理時間を軽減できることにより、クラス分けの数を容
易に増やすことができる。このため、クラス分けの数は
従来の10数倍が期待できる。
By performing the processing as described above, it is possible to output a cell of a higher priority class for each port. According to the mode of the first embodiment, it is possible to recognize the class in which the cell to be output exists by judging the state of the queue flag. Conventionally, when a class to be output is determined, it is necessary to determine whether or not there is a queue and to determine a class to be output by referring to all classes in a queue management table holding an address (a few bits of information). However, according to the present embodiment, it is possible to output a cell of a class having a higher priority by referring to the queue flag (1-bit information) of each class. In addition, since access to the queue management table storing the cell read position address is required only in the area corresponding to the class to be output, the processing time is not affected even if the number of classes is increased. That is, the number of accesses to the queue management table and the processing time thereof can be reduced, so that the number of classifications can be easily increased. For this reason, the number of classifications can be expected to be ten and several times larger than in the past.

【0046】また、第1の実施の形態の形態によれば、
複数種類ある優先制御レジスタのうち利用する優先順位
制御レジスタを定期的に巡回させることで、完全優先制
御によるセル出力クラスの偏りをなくし、帯域分割を実
現することができる。
According to the first embodiment,
By periodically circulating the priority control registers to be used among a plurality of types of priority control registers, it is possible to eliminate the bias of the cell output class due to the full priority control and realize band division.

【0047】また、優先順位制御レジスタ92をマイコ
ンインタフェースとする事で、書き換え可能な仕組みと
なり、指示部94から優先順位を指示することにより、
優先順位の任意の変更が可能となる。
Further, by using the priority control register 92 as a microcomputer interface, a rewritable mechanism is provided.
Arbitrary change of the priority order is possible.

【0048】また、ラウンドロビンテーブルの選択信号
の出力による優先順位制御レジスタを選択している時間
は、全ての優先順位制御レジスタで同じ時間にしてもよ
いし、各優先順位制御レジスタ毎に異ならせるようにし
てもよい。例えば、優先順位制御レジスタ(a)につい
てはセル出力数20セル分、優先順位制御レジスタ
(b)及び(c)についてはセル出力数10セル分、優
先順位制御レジスタ(d)についてはセル出力数5セル
分というように異ならせることができる。
The time during which the priority control registers are selected by the output of the selection signal of the round robin table may be the same for all the priority control registers, or may be different for each priority control register. You may do so. For example, the priority control register (a) has 20 cell outputs, the priority control registers (b) and (c) have 10 cell outputs, and the priority control register (d) has 20 cell outputs. It can be different, such as 5 cells.

【0049】次に、第2の実施の形態について説明す
る。
Next, a second embodiment will be described.

【0050】第1の実施の形態の帯域分割方法では最低
送出帯域の保証が可能であるが、クラス毎の出力帯域を
固定とすることに関しては何ら考慮していない。例えば
4つの品質クラスのバッファに常にセルが蓄積されてい
るときには、出力ポートの帯域を正確に分割することが
できるが、どれか一つ以上のクラスのバッファが一時的
に空になると帯域分割は固定でなくなる。また、帯域分
割をラウンドロビンテーブル上に設定する優先順位制御
レジスタの割合で決定するので、各クラスの出力帯域を
細かく設定しようとするとラウンドロビンテーブルが大
きくなり、情報格納用のメモリが大量に必要となる。さ
らに、出力ポート毎に異なる割合で帯域分割するために
は、出力ポートの数だけラウンドロビンテーブルが必要
となり、メモリ量を増やす必要がある。また、一つのク
ラス、例えばクラスAを最優先で出力処理したい場合、
全ての優先順位制御レジスタの優先順位の一番目をクラ
スAにすることになり、この場合、他のクラスは最低送
出帯域さえも保証することができない。
In the band division method of the first embodiment, the minimum transmission band can be guaranteed, but no consideration is given to fixing the output band for each class. For example, when cells are always stored in buffers of four quality classes, the bandwidth of the output port can be accurately divided. However, when one or more classes of buffers are temporarily emptied, the band division is performed. It is not fixed. In addition, since the band division is determined by the ratio of the priority control registers set on the round robin table, if the output band of each class is to be set finely, the round robin table becomes large and a large amount of information storage memory is required. Becomes Further, in order to divide the bandwidth at a different rate for each output port, a round robin table is required for the number of output ports, and the memory capacity needs to be increased. Also, when one class, for example, class A, is to be output with the highest priority,
The first priority of all priority control registers will be class A, in which case the other classes cannot guarantee even the lowest transmission bandwidth.

【0051】第2の実施の形態では、上記問題点を是正
する事を目的とする。第2の実施の形態を図1を参照し
て説明する。
The second embodiment aims at correcting the above problem. A second embodiment will be described with reference to FIG.

【0052】図1において、ATMスイッチは、セルを
多重するセル多重部1と、セルを保持するセルバッファ
2と、セルを出力ポート毎に分離するセル分離部3と、
セルのルーティング先及び優先クラスを識別するルーテ
ィング先/優先クラス識別回路4と、セルバッファ2へ
の書き込みを制御するセル書き込み制御回路5と、セル
バッファ2からの読み出しを制御する優先順位変更/セ
ル読み込み制御回路6と、出力の優先順位を保持する優
先順位制御レジスタ13(1)〜(32)の32個と、
ラウンドロビンテーブル15(a)〜(o)の15個
と、32個の優先順位制御レジスタの中でどの優先順位
制御レジスタを利用するか選択する優先順位制御レジス
タ選択部14と、15個のラウンドロビンテーブルの中
でどのラウンドロビンテーブルを利用するか選択するラ
ウンドロビンテーブル選択部16と、出力セル数を計数
し、各クラスの設定された出力帯域を超えないようにラ
ウンドロビンテーブルを選択する信号を作成する出力キ
ューカウンタ/ラウンドロビンテーブル制御部12と、
出力ポート毎であって、各クラス毎にセルバッファ2に
保持されるセルがあるかないかをキューフラグにより示
すポート管理テーブル8と、セルバッファ2の書き込み
アドレスと読み出しアドレスとを出力ポート毎であっ
て、各クラス毎に保持するキュー管理テーブル9と、完
全優先指示情報を保持する完全優先指示レジスタ10
と、空きスロットへのセル挿入指示情報を保持する空き
スロットへのセル挿入指示レジスタ11とを備える。本
発明の第2の実施の形態におけるATMスイッチは、N
本の入力ポートから入力されるセルをN本の出力ポート
に出力する出力バッファ型のスイッチシステムである。
各クラスは、優先順位制御レジスタによって優先順位が
定められ、優先順位がより高いクラスのセルについて、
優先的に出力させ、下位のクラスのセルを出力させる場
合には、そのクラスより上位のクラスのセルを保持して
いない場合にそのクラスのセルを出力させる完全優先制
御方式により制御を行っている。さらに、ラウンドロビ
ンテーブルによって、複数種類ある優先順位制御レジス
タのうち利用する優先順位制御レジスタを定期的に巡回
させることで、完全優先制御によるセル出力クラスの偏
りをなくし、帯域分割を実現し、かつ、複数あるラウン
ドロビンテーブルを変更する事によって各ポート、各ク
ラスに設定された出力帯域を超えないように制御を行う
ことができる。また、ポート毎に各クラスの、優先順位
制御レジスタ13の示す優先順位よりも優先して使用さ
れる順位を指示する完全優先指示と、あるクラスの出力
帯域が超えた場合に、他のクラスのキューがなく空きセ
ルを挿入するときに、出力帯域が超えたクラスのセルの
出力を許可するように指示する空きセル挿入指示とを行
なうことが可能である。本実施の形態では、品質クラス
の数をクラスAからクラスDまでの4つとした場合を例
にする。
In FIG. 1, the ATM switch includes a cell multiplexing unit 1 for multiplexing cells, a cell buffer 2 for holding cells, and a cell separating unit 3 for separating cells for each output port.
A routing destination / priority class identification circuit 4 for identifying a routing destination and a priority class of a cell, a cell write control circuit 5 for controlling writing to the cell buffer 2, and a priority change / cell for controlling reading from the cell buffer 2 A read control circuit 6 and 32 priority control registers 13 (1) to 13 (32) for holding the output priority;
15 round robin tables 15 (a) to 15 (o), a priority control register selection unit 14 for selecting which priority control register among 32 priority control registers to use, and 15 rounds A round robin table selecting unit 16 for selecting which round robin table to use from among the robin tables, and a signal for counting the number of output cells and selecting the round robin table so as not to exceed the set output band of each class. An output queue counter / round robin table control unit 12 for creating
For each output port, a port management table 8 indicating whether or not there is a cell held in the cell buffer 2 for each class by a queue flag, and a write address and a read address of the cell buffer 2 for each output port. A queue management table 9 for each class, and a full priority indication register 10 for holding full priority indication information.
And a cell insertion instruction register 11 for an empty slot that holds cell insertion instruction information for an empty slot. The ATM switch according to the second embodiment of the present invention
This is an output buffer type switch system that outputs cells input from N input ports to N output ports.
Each class is prioritized by a priority control register, and for cells of the higher priority class,
When priority is given to output cells of a lower class, control is performed by a strict priority control method of outputting cells of the class when cells of a class higher than the class are not held. . Further, by rounding the priority control registers used among a plurality of types of priority control registers periodically by the round robin table, the bias of the cell output class due to the full priority control is eliminated, and band division is realized. By changing a plurality of round robin tables, control can be performed so as not to exceed the output bandwidth set for each port and each class. Further, a full priority instruction indicating the order of use of each class for each port in preference to the priority indicated by the priority order control register 13, and when the output bandwidth of a certain class exceeds the other class, When inserting an empty cell without a queue, it is possible to issue an empty cell insertion instruction instructing to permit the output of a cell of a class whose output band has exceeded. In the present embodiment, an example in which the number of quality classes is four from class A to class D will be described.

【0053】ポート管理テーブル8、キュー管理テーブ
ル9、セルバッファ2、ルーティング先/優先クラス識
別回路4およびセル書き込み制御回路5については、第
1実施の形態で説明したものと同一の構成であり、同一
の動作を行なう。
The port management table 8, queue management table 9, cell buffer 2, routing destination / priority class identification circuit 4, and cell write control circuit 5 have the same configuration as that described in the first embodiment. Performs the same operation.

【0054】優先順位制御レジスタ13は、各クラスの
優先順位を保持する。例えば、クラスとして、A、B、
C及びDがあり、優先順位が高いものからA→B→C→
Dとする場合、レジスタには高いものからA、B、C、
Dとするように保持しておく。また、4クラスのうちク
ラスDの出力帯域が設定値以上であり、クラスDを出力
しない場合は、優先順位として高いものからA、B、C
とするように保持し、4番目は空にしておく。第2の実
施の形態では、各クラスの出力帯域を管理し、各クラス
の出力帯域毎に優先順位を変更するようにしている。第
2の実施の形態では、図3に示すように、32個の優先
順位制御レジスタを用意し、32種類の優先順位を保持
し、出力セル数が設定帯域を超過したクラスを除いた残
りのクラスで、帯域分割を可能としている。例えば、ク
ラスAの出力セル数が設定帯域を超過した場合には、
(5)、(6)、(7)の優先順位制御レジスタを選択
することにより、クラスB、C、D間で任意に帯域分割
することができる。また、優先順位制御レジスタ13
は、書替えが可能であり、指示部18からクラスの優先
順位を指示し、優先順位制御レジスタ13に優先順位を
保持させることができる。
The priority control register 13 holds the priority of each class. For example, classes A, B,
There are C and D, and A → B → C →
In the case of D, A, B, C,
D. If the output band of class D is not less than the set value and the class D is not output, the A, B, C
And the fourth is empty. In the second embodiment, the output bandwidth of each class is managed, and the priority is changed for each output bandwidth of each class. In the second embodiment, as shown in FIG. 3, 32 priority control registers are prepared, 32 types of priorities are held, and the remaining except for the class in which the number of output cells exceeds the set band is excluded. Class division enables band division. For example, if the number of output cells of class A exceeds the set bandwidth,
By selecting the priority control registers of (5), (6) and (7), it is possible to arbitrarily divide the band between the classes B, C and D. Also, the priority control register 13
Can be rewritten, the instruction unit 18 can indicate the priority of the class, and the priority control register 13 can hold the priority.

【0055】優先順位制御レジスタ選択部14は、32
個の優先順位制御レジスタ(1)〜(32)のうちいず
れか一つを選択する選択部である。ラウンドロビンテー
ブル15は、優先順位制御レジスタ選択部14が優先順
位制御レジスタ(1)〜(32)のうちどれを選択する
かの選択信号を生成する選択信号生成部である。ラウン
ドロビンテーブルの内容を表1に示す。
The priority control register selector 14 has 32
The selection unit selects one of the priority control registers (1) to (32). The round robin table 15 is a selection signal generation unit that generates a selection signal indicating which of the priority control registers (1) to (32) is to be selected by the priority control register selection unit 14. Table 1 shows the contents of the round robin table.

【0056】[0056]

【表1】 [Table 1]

【0057】図3及び表1において、ラウンドロビンテ
ーブル15(a)の場合(1)〜(4)は、各々優先順
位制御レジスタ(1)〜(4)を示し、(1)→(2)
→(3)→(4)・・・→(1)→(2)・・と定期的
に選択信号を出力する。本実施の形態おいては、全ての
ポートで1セル出力毎に、ラウンドロビンテーブル15
(a)〜(o)すべての優先順位制御レジスタの選択を
切り替えている。また、ラウンドロビンテーブル選択部
16は、15個のラウンドロビンテーブル(a)〜
(o)のうちいずれか一つを選択する選択部である。優
先順位変更/セル読み込み制御回路6は、セルバッファ
読み出し処理時に、優先順位制御レジスタ13を参照
し、その優先順位に従い、セルを読み出す構成をとって
おり、優先順位制御レジスタの優先順位が、ある1つの
パターンに固定されていると、読み出し要求毎に優先順
位の高いクラスのセルばかりが出力される可能性がある
が、これに対して、第2の実施の形態では、優先順位変
更/セル読み込み制御回路6が検索する優先順位制御レ
ジスタをラウンドロビンテーブル15によって巡回させ
ることができる。ラウンドロビンテーブル選択部16
が、ラウンドロビンテーブル15(a)を選択する場
合、選択信号(1)、(2)、(3)、(4)のいずれ
かによって4つの優先順位制御レジスタ(1)〜(4)
のいずれかを利用することができる。
In FIG. 3 and Table 1, in the case of the round robin table 15 (a), (1) to (4) indicate priority control registers (1) to (4), respectively, and (1) → (2)
→ (3) → (4)... → (1) → (2)... In this embodiment, the round robin table 15 is output every cell output from all ports.
(A) to (o) The selection of all priority control registers is switched. In addition, the round robin table selecting unit 16 includes 15 round robin tables (a) to
A selection unit for selecting one of (o). The priority change / cell read control circuit 6 refers to the priority control register 13 at the time of cell buffer read processing, and reads cells in accordance with the priority, and the priority control register has a priority. If the pattern is fixed to one pattern, there is a possibility that only cells of a class having a higher priority are output for each read request. On the other hand, in the second embodiment, priority change / cell The priority control register searched by the read control circuit 6 can be circulated by the round robin table 15. Round robin table selector 16
However, when the round robin table 15 (a) is selected, four priority control registers (1) to (4) are selected by one of the selection signals (1), (2), (3), and (4).
Can be used.

【0058】例えば、ある読み出しタイミングにおい
て、ラウンドロビンテーブル15(a)の値が
“(1)”であった場合は、優先順位変更/セル読み込
み制御回路6が検索する優先順位制御レジスタは優先順
位制御レジスタ(1)であり、読み出しセルの優先順位
はクラスA、クラスB、クラスC、クラスDの順番とな
り、また、別の読み出しタイミング時に、ラウンドロビ
ンテーブル15(a)の値が“(3)”であった場合
は、優先順位変更/セル読み込み制御回路6が検索する
優先順位制御レジスタは優先順位制御レジスタ(3)で
あり、読み出しセルの優先順位はクラスC、クラスD、
クラスA、クラスBの順番となる。これにより、優先順
位の高いクラスのセルに偏って読み出されることを回避
し、各クラスに出力の機会を与えることができ、帯域分
けが可能となる。
For example, if the value of the round robin table 15 (a) is "(1)" at a certain read timing, the priority control register searched by the priority change / cell read control circuit 6 stores the priority. This is the control register (1), and the priority of the read cells is in the order of class A, class B, class C, and class D. At another read timing, the value of the round robin table 15 (a) is "(3 ) ", The priority control register searched by the priority change / cell read control circuit 6 is the priority control register (3), and the priority of the read cells is class C, class D,
Class A and class B are in order. As a result, it is possible to avoid a biased readout of cells of a class having a higher priority, to provide an output opportunity to each class, and to perform band division.

【0059】出力キューカウンタ/ラウンドロビンテー
ブル制御部12は、各ポートの各クラス毎の出力セル数
を計数し、出力セル数に応じてラウンドロビンテーブル
15(a)〜(o)を選択する信号を作成する。図4
に、出力キューカウンタ/ラウンドロビンテーブル制御
部12の構成を示す。以下、図4を参照して出力キュー
カウンタ/ラウンドロビンテーブル制御部12の動作を
説明する。
The output queue counter / round robin table control unit 12 counts the number of output cells for each class of each port, and selects a round robin table 15 (a) to (o) according to the number of output cells. Create Figure 4
2 shows the configuration of the output queue counter / round robin table control unit 12. The operation of the output queue counter / round robin table control unit 12 will be described below with reference to FIG.

【0060】図4において、出力キューカウンタ/ラウ
ンドロビンテーブル制御部12は、ポート毎の各クラス
の帯域を保持する帯域設定レジスタ20、出力セル数を
計数する出力セル数カウンタ23、設定された帯域を超
過しているか否かを判別する帯域超過判別回路21、指
示部400により指示された優先制御周期を保持する優
先制御周期レジスタ401、セルのクロック信号をカウ
ントする周期カウンタ402、および、優先制御周期レ
ジスタ401に保持する優先制御周期と周期カウンタ4
02との値を比較し、一致する場合に出力セル数カウン
タに対してリセット信号を出力する比較器403とを備
える。ここで、優先制御周期とは、出力セル数カウンタ
をリセットする周期であり、優先順位に従ってセルを送
出する際の監視周期である。例えば、優先制御周期を1
2セル時間とすると、12セル(空きセルも含む) 出
力毎に、各クラスの出力セル数カウンタをリセットす
る。この優先制御周期が、例えば120セルと長い時間
であると、各クラスの出力帯域をより細かく設定するこ
とが可能となるが、その反面、各クラスのセルバッファ
へのセル蓄積状況によっては、優先制御周期内で特定ク
ラスのセルが連続して出力される可能性がある。優先制
御周期は、ユーザにより指示部400から指示される。
In FIG. 4, the output queue counter / round robin table control unit 12 includes a band setting register 20 for holding the band of each class for each port, an output cell number counter 23 for counting the number of output cells, and a set band. , A priority control cycle register 401 for holding a priority control cycle instructed by the instruction unit 400, a cycle counter 402 for counting clock signals of cells, and priority control. Priority control cycle held in cycle register 401 and cycle counter 4
And a comparator 403 that compares the value of H.02 and outputs a reset signal to the output cell number counter when they match. Here, the priority control cycle is a cycle for resetting the output cell number counter, and is a monitoring cycle for transmitting cells according to the priority order. For example, if the priority control cycle is 1
Assuming two cell times, the output cell number counter of each class is reset for every output of 12 cells (including empty cells). If the priority control cycle is long, for example, 120 cells, the output band of each class can be set more finely, but on the other hand, depending on the state of cell accumulation in the cell buffer of each class, priority There is a possibility that cells of a specific class are continuously output within the control cycle. The priority control cycle is instructed by the user from the instructing unit 400.

【0061】帯域設定レジスタ20は、各ポート内での
各クラスの出力帯域を示すデータを保持する。実際に保
持する情報は、優先制御周期内で出力可能とするセル数
であり、例えば、ポートの出力帯域が100Mbit/
sで、クラスA、B、C、Dの4クラスの出力帯域を全
て25Mbit/sにする場合、優先制御周期を12セ
ル時間とすれば、各クラスのレジスタへの設定値は12
セル×25M/100M=3セルとなる。また、指示部
22から出力帯域を指示することにより、帯域設定レジ
スタ20に各クラスの出力帯域を設定することができ
る。
The band setting register 20 holds data indicating the output band of each class in each port. The information actually held is the number of cells that can be output within the priority control cycle. For example, if the output bandwidth of the port is 100 Mbit /
s, the output bandwidths of the four classes A, B, C, and D are all 25 Mbit / s. If the priority control cycle is 12 cell times, the set value in the register of each class is 12
Cell × 25M / 100M = 3 cells. Also, by instructing the output band from the instruction unit 22, the output band of each class can be set in the band setting register 20.

【0062】出力セル数カウンタ23は、各ポートの出
力セル数をクラス毎に計数するカウンタである。優先順
位変更/セル読み込み制御回路6から、出力するセルの
出力ポートとクラスの情報を得て、出力ポート毎であっ
て、クラス毎に出力セル数をカウントする。出力セル数
カウンタ23は、セル出力時に、優先順位変更/セル読
み込み制御回路6から指示される出力したセルのポート
番号を示すPORT選択信号1によりポートが選択さ
れ、かつ、優先順位変更/セル読み込み制御回路6から
指示され、セル出力時に出力したクラスに対応するイネ
ーブル信号を受け、イネーブル信号に対応するクラスに
ついて、カウントアップを行う。カウント値は優先制御
周期毎に、比較器403から出力されるリセット信号に
よりリセットされる。比較器403は、セルのクロック
信号をカウントする周期カウンタ402と、優先制御周
期レジスタ401に保持する優先制御周期との値を比較
し、一致する場合に出力セル数カウンタに対してリセッ
ト信号を出力する。
The output cell number counter 23 is a counter for counting the number of output cells of each port for each class. The output port and the class information are obtained from the priority change / cell read control circuit 6, and the number of output cells is counted for each output port and for each class. At the time of cell output, the output cell number counter 23 selects a port by the PORT selection signal 1 indicating the port number of the output cell instructed by the priority change / cell read control circuit 6, and changes the priority / cell read. Upon receiving an enable signal corresponding to the class output from the control circuit 6 at the time of cell output, the control circuit 6 counts up the class corresponding to the enable signal. The count value is reset by a reset signal output from the comparator 403 every priority control cycle. The comparator 403 compares the value of the cycle counter 402 that counts the clock signal of the cell with the value of the priority control cycle stored in the priority control cycle register 401, and outputs a reset signal to the output cell number counter if they match. I do.

【0063】優先順位変更/セル読み込み制御回路6
は、セル出力時に、出力したクラスに対応する信号線を
イネーブルし、それ以外の信号線をネゲートする。
Priority change / cell read control circuit 6
Enable the signal line corresponding to the output class at the time of cell output, and negate the other signal lines.

【0064】帯域超過判別回路21は、各ポートのセル
読み出しタイミング(PORT選択信号2の指示タイミ
ング)で、クラス毎に帯域設定レジスタ20の設定値と
出力セル数カウンタ23のカウント値とを比較し、カウ
ント値が設定値を超えているクラスを含まないラウンド
ロビンテーブルを選択するように、ラウンドロビンテー
ブル選択信号を作成する。 PORT選択信号2は、P
ORT選択信号1を遅延させた信号であり、出力したセ
ルのポート番号を示す。例えば、図3を用いて説明する
と、クラスAが設定値に達した場合、クラスAを含まな
いラウンドロビンテーブル(b)を選択するようにし、
ラウンドロビンテーブル(b)は優先順位制御レジスタ
(5)、(6)、(7)のみを巡回させるので、クラス
Aのセルが読み出されることがない。ラウンドロビンテ
ーブルが15ヶの場合、ラウンドロビンテーブル選択信
号は、本実施の形態においては4ビットで示され、各ク
ラスに対応した信号線を備え、出力帯域が設定値に達し
た場合に、そのクラスに対応する信号線がイネーブルさ
れる。このように、帯域超過判別回路21は、各ポート
・各クラスの出力帯域を監視し、出力帯域が設定値以内
に収まるように、ラウンドロビンテーブルを選択するた
め、帯域制御を行うことができる。
The band excess determining circuit 21 compares the set value of the band setting register 20 with the count value of the output cell number counter 23 for each class at the cell read timing of each port (instruction timing of the PORT selection signal 2). A round robin table selection signal is generated so as to select a round robin table that does not include a class whose count value exceeds a set value. PORT selection signal 2 is P
This is a signal obtained by delaying the ORT selection signal 1, and indicates the port number of the output cell. For example, with reference to FIG. 3, when the class A reaches the set value, the round robin table (b) not including the class A is selected.
Since the round robin table (b) circulates only the priority control registers (5), (6), and (7), the class A cells are not read. When the number of the round robin tables is 15, the round robin table selection signal is represented by 4 bits in the present embodiment, includes a signal line corresponding to each class, and, when the output band reaches a set value, The signal line corresponding to the class is enabled. As described above, the band excess determination circuit 21 monitors the output band of each port and each class, and can perform band control to select a round robin table so that the output band falls within the set value.

【0065】図1において、完全優先指示レジスタ10
は、ポート内で指示するクラスの優先順位を固定とし、
ラウンドロビンテーブル15を使用せずに、完全優先処
理する場合に使用する。ポート内で、優先順位制御レジ
スタ13の示す優先順位情報によらず、キューがある時
は優先的に出力するクラスがある場合に、そのクラスの
ポート内での優先順位情報を設定する。第2の実施の形
態では、図5に示すように出力ポート、出力クラス毎に
優先順位情報を設定する。完全優先を指示するクラス数
は任意に設定可能であり、例えばポート1でクラスAの
みを完全優先処理したい場合は、完全優先指示レジスタ
10のポート1クラスAの領域に優先順位“1”を設定
し、それ以外は未登録としておく。また、クラスAおよ
びBの2クラスを完全優先処理し、かつ、クラスAをB
より優先する場合は、完全優先指示レジスタ10のポー
ト1のクラスAの領域に優先順位“1”を、クラスBの
領域に優先順位“2”を設定し、それ以外のクラスは未
登録としておく。完全優先指示レジスタ10への優先順
位情報設定は、指示部34から行う。
In FIG. 1, the complete priority indication register 10
, The priority of the class specified in the port is fixed,
This is used when performing full priority processing without using the round robin table 15. In a port, if there is a class to output preferentially when there is a queue, regardless of the priority information indicated by the priority control register 13, priority information in the port of the class is set. In the second embodiment, priority information is set for each output port and each output class as shown in FIG. The number of classes indicating the full priority can be arbitrarily set. For example, when it is desired to perform the full priority processing only on the class A at the port 1, the priority "1" is set in the area of the port 1 class A of the full priority instruction register 10. Otherwise, leave it unregistered. Also, two classes A and B are completely prioritized, and class A is
In the case of giving higher priority, the priority "1" is set in the class A area of the port 1 of the complete priority indication register 10, the priority "2" is set in the class B area, and the other classes are unregistered. . The setting of the priority information in the complete priority instruction register 10 is performed from the instruction unit 34.

【0066】空きスロットへのセル挿入指示レジスタ1
1には、出力を許容しているクラスのキューが全て
“0”であり(出力すべきセルがないとき)、出力する
セルが無く空きスロットが生じるときにおいて、既に出
力帯域が設定値を超過しているクラスも、キューがあれ
ば空きスロットにセルを出力することを許可する場合
に、そのポートのそのクラスの空きスロット挿入優先順
位情報を、空きスロットへのセル挿入指示レジスタ11の
該当エリアに設定する。第2の実施の形態では、図5に
示すように、出力ポート、出力クラス毎に優先順位情報
を設定する。本レジスタも上記完全優先指示レジスタと
同様、挿入指示をするクラス数は任意に設定可能であ
る。例えば、ポート1でクラスDのみを空きスロット挿
入処理する場合は、空きスロットへのセル挿入指示レジ
スタ11のポート1のクラスDの領域に優先順位情報と
して“1”を設定し、それ以外は未登録としておく。ま
た、クラスCおよびDの2クラスを空きスロット挿入処
理し、かつ、クラスCをDより優先する場合は、空きス
ロットへのセル挿入指示レジスタ11のポート1のクラ
スCの領域に優先順位情報として“1”を、クラスDの
領域に優先順位情報として“2”を設定し、それ以外の
クラスは未登録としておく。空きスロットへのセル挿入
指示レジスタ11への優先順位情報設定は、指示部35
から行う。
Cell Insertion Instruction Register 1 to Empty Slot
In the case of 1, when the queues of the class that permits output are all “0” (when there are no cells to output) and there are no cells to output and empty slots are generated, the output bandwidth already exceeds the set value. If a class that has a queue is allowed to output cells to empty slots if there is a queue, the priority of the empty slot insertion priority information of the class for that port is changed to the corresponding area of the cell insertion instruction register 11 for empty slots. Set to. In the second embodiment, as shown in FIG. 5, priority information is set for each output port and each output class. In this register, similarly to the above-mentioned complete priority instruction register, the number of classes for which an insertion instruction is issued can be arbitrarily set. For example, when only the class D is vacant slot insertion processing at the port 1, “1” is set as priority information in the class D area of the port 1 of the cell insertion instruction register 11 to the vacant slot, and the other is unassigned. Register. When two classes C and D are subjected to empty slot insertion processing and class C is given priority over D, priority information is stored in the class C area of port 1 of the cell insertion instruction register 11 in the empty slot as priority information. "1" is set in the area of class D as "2" as priority information, and the other classes are unregistered. The setting of the priority information in the cell insertion instruction register 11 to the empty slot is performed by the instruction unit 35.
Do from.

【0067】優先順位変更/セル読み込み制御回路6
は、図5に示すように、出力キュー決定回路30、セル
読み込み制御回路33および出力キューフラグ32を備
える。
Priority change / cell read control circuit 6
Has an output queue determination circuit 30, a cell read control circuit 33, and an output queue flag 32, as shown in FIG.

【0068】出力キュー決定回路30は、出力ポート毎
に、優先順位制御レジスタ選択部14によって選択され
ている優先順位制御レジスタ13が保持する優先順位
と、完全優先指示レジスタ10が保持する優先順位と、
空きスロットへのセル挿入指示レジスタ11が保持する
優先順位とを参照して、優先順位を編集し、編集後の優
先順位とポート管理テーブル8のキューフラグとから、
出力キューを決定する。
The output queue determination circuit 30 determines, for each output port, the priority held by the priority control register 13 selected by the priority control register selector 14 and the priority held by the full priority instruction register 10. ,
The priority is edited with reference to the priority held by the cell insertion instruction register 11 for the empty slot, and the edited priority and the queue flag of the port management table 8 are used to edit the priority.
Determine the output queue.

【0069】具体的には、まず優先順位制御レジスタ1
3の順位情報を優先順位編集レジスタ31に書き込み、
そのレジスタの順位情報と完全優先指示レジスタ10の
順位情報とを参照し、完全優先指示レジスタ10の順位
を優先させて優先順位編集レジスタ31の順位を並べ替
える。但し、優先順位制御レジスタ13に含まれていな
いクラス(出力帯域が設定値以上になっているクラス)
は、割り当てられた帯域を保証するため完全優先指示レ
ジスタ10に指示があっても無視される。
Specifically, first, the priority control register 1
3 is written into the priority edit register 31,
With reference to the order information of the register and the order information of the full priority instruction register 10, the order of the priority edit register 31 is rearranged by giving priority to the order of the full priority instruction register 10. However, classes that are not included in the priority control register 13 (classes whose output bandwidth is equal to or greater than the set value)
Are ignored even if there is an instruction in the complete priority indication register 10 to guarantee the allocated bandwidth.

【0070】次に、並べ替えられた優先順位編集レジス
タ31の順位情報と、空きスロットへのセル挿入指示レ
ジスタ11の順位情報とを参照し、優先順位編集レジス
タ31の順位に含まれないクラスについて、空きスロッ
ト挿入指示があれば、空きスロットへのセル挿入指示レ
ジスタ11の順位に従って、優先順位編集レジスタ31
の順位にクラスを追加する。
Next, with reference to the rearranged order information of the priority order editing register 31 and the order information of the cell insertion instruction register 11 for an empty slot, a class which is not included in the order of the priority order editing register 31 will be described. If there is an empty slot insertion instruction, the priority order editing register 31 is set in accordance with the order of the cell insertion instruction register 11 for an empty slot.
Add a class to the ranking.

【0071】さらに、優先順位編集レジスタ31が保持
する優先順位のより高いクラスについて、ポート管理テ
ーブル8のキューフラグを参照し、セルバッファ2に保
持されるセルがあると示されているキューフラグに対応
するクラスを出力キューと決定し、出力キューフラグ3
2の該当クラスを“1”にする。
Further, for the class having the higher priority held by the priority editing register 31, the queue flag in the port management table 8 is referred to, and the queue flag indicating that there is a cell held in the cell buffer 2 is stored in the queue flag. The corresponding class is determined as the output queue, and the output queue flag 3
2 is set to "1".

【0072】図17を参照し、出力キュー決定回路の動
作を、より具体的に説明する。図17(1)において、
優先順位制御レジスタ選択部14で選択された優先順位
情報(以下、単に優先順位制御レジスタの優先順位情報
という) を、クラスC、D、Aの順番(クラスCの優
先順位が一番高く、クラスAの優先順位が一番低い)と
し、完全優先指示レジスタの指示情報をクラスB、Aの
順番(クラスBの優先順位が高い)とし、また、空きス
ロットへのセル挿入指示レジスタの指示情報をクラス
C、Bの順番(クラスCの優先順位が高い)とした場合
を例に説明する。分かり易くするため、完全優先指示レ
ジスタ10および空きスロットへのセル挿入指示レジス
タ11の情報を、優先順位に従ってクラス名を並べるよ
うにフォーマット変換している。
Referring to FIG. 17, the operation of the output queue determining circuit will be described more specifically. In FIG. 17 (1),
The priority information selected by the priority control register selection unit 14 (hereinafter simply referred to as priority information of the priority control register) is stored in the order of classes C, D, and A (the priority of class C is the highest, A has the lowest priority), the instruction information of the complete priority instruction register is the order of classes B and A (the priority of class B is high), and the instruction information of the cell insertion instruction register in an empty slot is An example in which the order of classes C and B (the priority of class C is higher) will be described. For the sake of simplicity, the format of the information in the complete priority instruction register 10 and the cell insertion instruction register 11 in an empty slot is converted so that the class names are arranged in order of priority.

【0073】以下、優先順位の編集方法を説明する。
優先順位制御レジスタの優先順位情報を優先順位編集レ
ジスタ31に書き込む。つぎに、完全優先指示レジスタ
で優先順位の最も高いクラスBは、優先順位編集レジス
タ31の優先順位に含まれていないので無視され、次に
順位の高いクラスAを最優先とし、優先順位編集レジス
タ31のクラスA以外のクラスの順位をシフトさせて、
優先順位をクラスA、C、Dとする。並べ替えられた
優先順位編集レジスタ31の優先順位と空きスロットへ
のセル挿入指示レジスタとを参照し、まず空きスロット
へのセル挿入指示レジスタで優先順位の高いクラスCに
ついて、優先順位編集レジスタ31の優先順位の高いク
ラスから順に比較していくと、優先順位編集レジスタ3
1の2番目の優先順位にクラスCが登録されているの
で、次の順位であるクラスBの処理に移る。クラスBは
優先順位編集レジスタ31に登録されていないので、ク
ラスA、C、Dの次の順位に追加され、優先順位編集レ
ジスタ31の優先順位はクラスA、C、D、Bの順にな
る。優先順位編集レジスタ31の優先順位でポート管
理テーブルのキューフラグが参照され、クラスAにキュ
ーがあるので、出力キューはクラスはAとなる。出力キ
ューフラグ32のクラスAを“1”にし、出力キュー決
定回路の処理が終了する。
Hereinafter, a method of editing the priority order will be described.
The priority information of the priority control register is written into the priority editing register 31. Next, the class B having the highest priority in the complete priority instruction register is ignored because it is not included in the priority of the priority editing register 31, and the class A having the next highest priority is given the highest priority. By shifting the ranks of the 31 classes other than class A,
The priorities are classes A, C, and D. Referring to the rearranged priority of the priority editing register 31 and the cell insertion instruction register for an empty slot, first, for the class C having a higher priority in the cell insertion instruction register for the empty slot, When the classes are compared in order from the highest priority, the priority editing register 3
Since the class C is registered in the second priority of No. 1, the processing shifts to the process of the next priority class B. Since the class B is not registered in the priority order editing register 31, it is added to the order next to the classes A, C, and D, and the priority order of the priority order editing register 31 is in the order of classes A, C, D, and B. The queue flag of the port management table is referred to by the priority of the priority editing register 31, and the queue is in the class A. Therefore, the class of the output queue is A. The class A of the output queue flag 32 is set to “1”, and the processing of the output queue determination circuit ends.

【0074】なお、完全優先指示レジスタ10及び空き
スロットへのセル挿入指示レジスタ11に何も登録され
ていなければ、優先順位制御レジスタ選択部14によっ
て選択されている優先順位制御レジスタ13の優先順位
に従って出力キューが決定される。
If nothing is registered in the complete priority instruction register 10 and the cell insertion instruction register 11 for an empty slot, the priority of the priority control register 13 selected by the priority control register selecting unit 14 is used. The output queue is determined.

【0075】セル読み込み制御回路33は、ポートの処
理毎に、出力キューフラグ32を参照し、出力指示のあ
るクラスのより先に入力されたセルを、キュー管理テー
ブル9を参照し、読み出しアドレスを指示して当該出力
ポートから出力させる。また、キュー管理テーブル9が
保持する読み出しアドレスを、当該出力させたセルの次
に入力されたセルの読み出しアドレスを示すように、読
み出しアドレスを+1(加算)する。さらに、当該出力
させた出力ポートのクラスの、キュー管理テーブル9の
キュー値を−1(減算)し、キュー値が0の時、すなわ
ち、セルバッファ2に保持されるセルが無い場合に、当
該出力させた出力ポートのクラスのポート管理テーブル
8のキューフラグをリセットする。また、セル出力後、
出力キューフラグ32をリセットする。
The cell read control circuit 33 refers to the output queue flag 32 for each port process, and refers to the queue management table 9 for cells input earlier than the class for which output is specified, and sets the read address. Instruct and output from the output port. Further, the read address held by the queue management table 9 is incremented by +1 (added) so as to indicate the read address of the cell input next to the output cell. Further, the queue value of the output port class of the output port in the queue management table 9 is decremented by -1 (subtraction), and when the queue value is 0, that is, when there is no cell held in the cell buffer 2, The queue flag in the port management table 8 of the class of the output port that has output is reset. After cell output,
The output queue flag 32 is reset.

【0076】次に、図1を参照してセルバッファ2から
の読み出し動作を説明する。書き込み動作については、
第1の実施の形態において説明したものと同一に動作す
る。
Next, a read operation from the cell buffer 2 will be described with reference to FIG. For the write operation,
The operation is the same as that described in the first embodiment.

【0077】図1において、セルを読み出す場合に、セ
ルバッファ2からセルを読み出すタイミングは、ポート
1からポートNまでそれぞれ定期的に到来する。まず、
優先順位変更/セル読み込み制御回路6は、優先順位制
御レジスタ選択部14によって選択されている優先順位
制御レジスタ13、完全優先指示レジスタ10、空きス
ロットへのセル挿入指示レジスタ11及びポート管理テ
ーブル8を検索し、前述したように出力キューを決定
し、内部の出力キューフラグ32の該当クラスを“1”
にする。次に、出力キューフラグ32が“1”のクラス
について、キュー管理テーブル9の読み出しアドレスを
得て、この読み出しアドレスを指示することによりセル
バッファ2からセルの情報を読み出す。また、キュー管
理テーブル9が保持する読み出しアドレスを、当該出力
させたセルのつぎに入力されたセルの読み出しアドレス
を示すように、読み出しアドレスを+1(加算)する。
さらに、当該出力させた出力ポートのクラスの、キュー
管理テーブル9のキュー値を−1(減算)し、減算後の
キュー値が0のとき、当該出力させた出力ポートのクラ
スのポート管理テーブル8のキューフラグをリセットす
る。また、セル出力後、出力キューフラグ32をリセッ
トする。
In FIG. 1, when reading a cell, the timing of reading the cell from the cell buffer 2 periodically arrives from port 1 to port N. First,
The priority change / cell read control circuit 6 stores the priority control register 13, the full priority instruction register 10, the cell insertion instruction register 11 into an empty slot, and the port management table 8 selected by the priority control register selection unit 14. The output queue is determined as described above, and the corresponding class of the internal output queue flag 32 is set to “1”.
To Next, for the class whose output queue flag 32 is “1”, the read address of the queue management table 9 is obtained, and the cell address is read from the cell buffer 2 by designating the read address. Further, the read address held by the queue management table 9 is incremented by +1 (added) so as to indicate the read address of the cell input next to the output cell.
Further, the queue value in the queue management table 9 of the class of the output port that has output is subtracted by -1 (subtraction). When the queue value after the subtraction is 0, the port management table 8 of the class of the output port that has output the output port 8 Reset the queue flag of After outputting the cell, the output queue flag 32 is reset.

【0078】このようにして、優先順位変更/セル読み
込み制御回路6は、出力キューフラグが“1”であるク
ラスについて、キュー管理テーブル9よりセル読み出し
アドレスを得て、このセルの格納されているセルバッフ
ァ2内の読み出しアドレスを順次指示し、セルバッファ
2からセルを読み出す。セル分離部3では、セルバッフ
ァメモリから読み出されたセルを各出力ポート毎に分離
する。
In this way, the priority change / cell read control circuit 6 obtains the cell read address from the queue management table 9 for the class whose output queue flag is "1", and stores the cell. The read addresses in the cell buffer 2 are sequentially designated, and cells are read from the cell buffer 2. The cell separation unit 3 separates the cells read from the cell buffer memory for each output port.

【0079】読み出し動作は、あるポートにおいて、あ
るクラスのセルを1つ出力したら次のポートの処理へ移
り同様な処理を行い、ポート1からポートNまでの処理
が繰り返し行われる。すべてのラウンドロビンテーブル
(a)〜(o)の出力する優先順位制御レジスタの選択
信号は、ポート1からポートNまで1セルずつ出力後、切
り替えられる。
In the read operation, when one cell of a certain class is output from a certain port, the process proceeds to the next port, and the same processing is performed. The processing from port 1 to port N is repeated. The selection signals of the priority control registers output from all the round robin tables (a) to (o) are switched from the port 1 to the port N after being output one cell at a time.

【0080】次に、優先順位変更/セル読み込み制御回
路6における詳細な動作を図6および図17を参照して
説明する。図6に、優先順位変更/セル読み込み制御回
路6におけるセルバッファ読み出しフローを示す。具体
的に説明するために、各レジスタの設定値を以下に示す
ような場合を例にする。ポート管理テーブルのキューフ
ラグを、図12(a)に示すように、出力ポート1の各
クラスのキューフラグを、クラスAは“1”、クラスB
は“0”、クラスCは“0”、クラスDは“1”とす
る。また、完全優先指示レジスタ10に設定されている
優先順位を、図17(1)に示すように、クラスB、A
の順番(Bの優先順位が高い)とする。また、空きスロ
ットへのセル挿入指示レジスタ11に設定されている優
先順位を、図17(1)に示すように、クラスC、Bの
順番(Cの優先順位が高い)とする。また、図17
(1)に示すように、ラウンドロビンテーブル選択部1
6によって選択されているラウンドロビンテーブル15
は、(c)(図3参照)であり、ラウンドロビンテーブ
ル15の値が“(9)”、つまり、優先順位制御レジス
タ選択部14が選択する優先順位制御レジスタが(9)
であり、優先順位制御レジスタ(9)に設定されている
優先順位情報を、クラスC、D、Aの順番(クラスCが
優先順位が一番高く、クラスAが優先順位が一番低い)
とする。
Next, the detailed operation of the priority change / cell read control circuit 6 will be described with reference to FIGS. FIG. 6 shows a cell buffer read flow in the priority change / cell read control circuit 6. For specific description, a case where the set values of the registers are as shown below is taken as an example. As shown in FIG. 12A, the queue flag of each class of the output port 1 is set to “1” for the class A,
Is "0", class C is "0", and class D is "1". The priority set in the complete priority instruction register 10 is changed to classes B and A as shown in FIG.
(Priority of B is higher). Also, the priority set in the cell insertion instruction register 11 for an empty slot is, as shown in FIG. 17A, the order of the classes C and B (the priority of C is higher). FIG.
As shown in (1), the round robin table selection unit 1
Round robin table 15 selected by 6
Is (c) (see FIG. 3), and the value of the round robin table 15 is “(9)”, that is, the priority control register selected by the priority control register selecting unit 14 is (9).
And the priority information set in the priority control register (9) is determined in the order of classes C, D, and A (class C has the highest priority, and class A has the lowest priority).
And

【0081】図6において、先ず優先順位変更/セル読
み込み制御回路6は、ポート管理テーブル8のポート1
の領域を検索し(ステップ40)、A=1、B=0、C
=0、D=1の情報を認識する(ステップ41)。次
に、優先順位変更/セル読み込み制御回路6は、優先順
位制御レジスタ13(9)を検索し、各クラスの優先順
位が、クラスC、D、Aの順番であることを認識する
(ステップ42)。次に、完全優先指示レジスタ10お
よび空きスロットへのセル挿入指示レジスタ11を検索
し、指示内容を各々認識する(ステップ43)。ステッ
プ41、42および43によって、図17(1)に示す
ように出力クラスがAに決まり、出力キューフラグ32
のクラスAにフラグがセットされる。図6に示すよう
に、クラスAに対応するセルについて、実際のセルバッ
ファ2からの読み出し動作を行う(ステップ45)。こ
の例において、クラスAは、既に出力キューフラグが
“1”であるので、出力キューフラグ状態判定(ステッ
プ46)において、判定後分岐47へ移り、キュー管理
テーブル9のポート1のクラスAの領域を参照すること
によりセルバッファ2の読み出しアドレスを得て、セル
バッファ2の読み出しタイミングで、読み出しアドレス
を指示することによりセルバッファ2からセルの情報を
出力させる。つぎに、優先順位変更/セル読み込み制御
回路6は、クラスAのセルバッファ2の読み出しアドレ
スを1加算することにより、つぎの読み出しアドレスと
する(ステップ48)。また、ポート管理テーブル内の
キュー値は、書き込みアドレスから読み出しアドレスを
減算したものがキュー値であるため、優先順位変更/セ
ル読み込み制御回路6はポート1のクラスAのキュー値
を−1(減算)する(ステップ49)。次に、優先順位
変更/セル読み込み制御回路6は、キュー値が0である
か、またはそれ以外であるかを判断し(ステップ5
0)、“0”であれば出力すべきセルが無いと判断し、
ポート管理テーブル8のポート1のクラスA領域のキュ
ーフラグを“0”にする(ステップ51)。“0”以外
であった場合は、キューフラグが、既に“1”であるの
で、そのまま次の処理へ移る(分岐52)。また、出力
キューフラグ32をリセットする。
Referring to FIG. 6, first, the priority change / cell read control circuit 6
(Step 40), A = 1, B = 0, C
= 0 and D = 1 are recognized (step 41). Next, the priority change / cell read control circuit 6 searches the priority control register 13 (9) and recognizes that the priority of each class is the order of classes C, D, and A (step 42). ). Next, the full priority instruction register 10 and the cell insertion instruction register 11 for an empty slot are searched to recognize the instruction contents (step 43). By the steps 41, 42 and 43, the output class is determined to be A as shown in FIG.
Is set in the class A of. As shown in FIG. 6, an actual read operation from the cell buffer 2 is performed on the cell corresponding to class A (step 45). In this example, since the output queue flag of the class A is already "1", in the output queue flag state determination (step 46), the process proceeds to the branch 47 after the determination, and the area of the class A of the port 1 in the queue management table 9 is determined. , The read address of the cell buffer 2 is obtained, and at the read timing of the cell buffer 2, the cell buffer 2 outputs the cell information by designating the read address. Next, the priority change / cell read control circuit 6 adds 1 to the read address of the class A cell buffer 2 to obtain the next read address (step 48). Since the queue value in the port management table is obtained by subtracting the read address from the write address, the priority change / cell read control circuit 6 reduces the class A queue value of the port 1 by -1 (subtraction ) (Step 49). Next, the priority change / cell read control circuit 6 determines whether the queue value is 0 or not (step 5).
0), if "0", it is determined that there is no cell to output,
The queue flag of the class A area of port 1 in the port management table 8 is set to "0" (step 51). If it is other than "0", the queue flag is already "1", and the process proceeds to the next process (branch 52). Further, the output queue flag 32 is reset.

【0082】セルバッファ2から読み出されたクラスA
のセルはセル分離部3を経て、出力ポート1へ出力され
る。ポート1に対して、クラスAのセルを出力したら、
次はポート2のセル読み出し処理へ移り(分岐53)、
以降ポート2からポートnの読み出し処理が同様に行わ
れる。ポートnの読み出し処理後、(ステップ63)、
ラウンドロビンテーブル15(c)の値は(10)に切
り替わり、優先順位制御レジスタを(10)に切り替え
る。その後、ポート1に戻り、ポート1からポートnま
での処理が繰り返し行われる。
Class A read from cell buffer 2
Are output to the output port 1 through the cell separation unit 3. When a class A cell is output to port 1,
Next, the process proceeds to the cell reading process of port 2 (branch 53).
Thereafter, read processing from port 2 to port n is performed in the same manner. After the read processing of the port n (step 63),
The value of the round robin table 15 (c) is switched to (10), and the priority control register is switched to (10). Thereafter, the process returns to port 1 and the processing from port 1 to port n is repeated.

【0083】次に、再びポート1の読み出し処理へ戻っ
たときに、各レジスタの設定値が以下に示すようになっ
ている場合を例にする。ポート管理テーブルのキューフ
ラグを、図12(b)に示すように、出力ポート1の各
クラスのキューフラグを、クラスAは“0”、クラスB
は“0”、クラスCは“0”、クラスDは“1”とす
る。また、クラスAの出力帯域が設定値に達して、図1
7(2)に示すように、ラウンドロビンテーブル選択部
16によって選択されているラウンドロビンテーブル1
5が(f)に変更され、かつ、ラウンドロビンテーブル
(f)の値が(17)、つまり、優先順位制御レジスタ
選択部14が選択する優先順位制御レジスタが(17)
であり、優先順位制御レジスタに設定されている優先順
位情報を、クラスC、Dの順番(クラスCのが優先順位
が高い)とする。
Next, an example will be described in which, when returning to the read processing of the port 1 again, the set values of the respective registers are as shown below. As shown in FIG. 12B, the queue flags of the classes of the output port 1 are set to "0",
Is "0", class C is "0", and class D is "1". Also, the output band of class A reaches the set value, and FIG.
As shown in FIG. 7 (2), the round robin table 1 selected by the round robin table selecting unit 16
5 is changed to (f), and the value of the round robin table (f) is (17), that is, the priority control register selected by the priority control register selector 14 is (17).
And the priority information set in the priority control register is the order of classes C and D (class C has a higher priority).

【0084】図6において、優先順位変更/セル読み込
み制御回路6は、前述と同様、ポート管理テーブル8の
ポート1の領域を検索し(ステップ40)、A=0、B
=0、C=0、D=1の情報を認識する(ステップ4
1)。次に、優先順位変更/セル読み込み制御回路6
は、優先順位制御レジスタ13(17)を検索し、各ク
ラスの優先順位が、クラスC、Dの順番であることを認
識する(ステップ42)。次に、完全優先指示レジスタ
10および空きスロットへのセル挿入指示レジスタ11
を検索し、指示内容を認識する(ステップ43)。ステ
ップ41、42および43によって、図17(2)に示
すように出力クラスがDに決まり、出力キューフラグが
セットされる。次に、クラスAのセル読み出し処理45
に移行し、クラスAの出力キューフラグが“0”のた
め、出力キューフラグ状態判定(ステップ46)におい
て、分岐54を経由することで、クラスAの読み出し動
作を行わない。つまり、読み出すべきセルが無い場合に
は、キュー管理テーブル9にアクセスせず、次のクラス
(クラスB)の処理へ移る。
In FIG. 6, the priority change / cell read control circuit 6 searches the port 1 area of the port management table 8 in the same manner as described above (step 40), and A = 0, B
= 0, C = 0, and D = 1 are recognized (step 4).
1). Next, the priority change / cell read control circuit 6
Searches the priority control register 13 (17) and recognizes that the priority of each class is the order of classes C and D (step 42). Next, a complete priority instruction register 10 and a cell insertion instruction register 11 for an empty slot
Is retrieved, and the contents of the instruction are recognized (step 43). In steps 41, 42 and 43, the output class is determined to be D as shown in FIG. 17 (2), and the output queue flag is set. Next, cell read processing 45 of class A
Since the output queue flag of class A is "0", the read operation of class A is not performed through the branch 54 in the output queue flag state determination (step 46). That is, when there is no cell to be read, the process proceeds to the next class (class B) without accessing the queue management table 9.

【0085】次に、クラスB、Cについても、同様に読
み出し動作ステップ55および56において、クラス
B、Cの出力キューフラグがクラスAと同様に“0”の
ため、出力キューフラグ状態判定における判定後、次の
クラス(クラスD)の処理(ステップ57)へ移る。ク
ラスDのセルの出力キューフラグ状態は、“1”である
ため、出力キューフラグ状態判定(ステップ46)にお
いて、セルバッファ2の読み出し処理へ移り、キュー管
理テーブル9のポート1のクラスDの領域を参照するこ
とによりセルバッファ2のクラスDのセルバッファの読
み出しアドレスを得て、セルバッファの読み出しタイミ
ングで、読み出しアドレスを指示することによりセルバ
ッファ2からセルの情報を出力させる。つぎに、優先順
位変更/セル読み込み制御回路6は、クラスDのセルバ
ッファ2の読み出しアドレスを1加算することにより、
次の読み出しアドレスとする。(ステップ48)。ま
た、ポート管理テーブル9のキュー値は、書き込みアド
レスから読み出しアドレスを減算したものがキュー値で
あるため、優先順位変更/セル読み込み制御回路6はポ
ート1のクラスDのキュー値を−1(減算)する(ステ
ップ49)。次に、優先順位変更/セル読み込み制御回
路6は、キューの値が0であるか、またはそれ以外であ
るかを判断し(ステップ50)、“0”であれば出力す
べきセルが無いと判断し、ポート管理テーブル8のポー
ト1のクラスD領域のキューフラグを“0”にする(ス
テップ51)。“0”以外であった場合は、キューフラ
グが、既に“1”であるので、そのまま次の処理へ移る
(分岐52)。また、セル出力後、出力キューフラグ3
2をリセットする。
Next, for the classes B and C, the output queue flags of the classes B and C are similarly "0" in the read operation steps 55 and 56 as in the case of the class A. Thereafter, the process proceeds to the next class (class D) processing (step 57). Since the state of the output queue flag of the class D cell is "1", in the output queue flag state determination (step 46), the process shifts to the reading process of the cell buffer 2 and the area of the class D of port 1 in the queue management table 9 , The read address of the class D cell buffer of the cell buffer 2 is obtained, and at the read timing of the cell buffer, the cell buffer 2 outputs cell information by designating the read address. Next, the priority change / cell read control circuit 6 adds 1 to the read address of the cell buffer 2 of class D,
This is the next read address. (Step 48). Since the queue value in the port management table 9 is obtained by subtracting the read address from the write address, the priority change / cell read control circuit 6 reduces the class D queue value of the port 1 by -1 (subtraction). ) (Step 49). Next, the priority change / cell read control circuit 6 determines whether the value of the queue is 0 or not (step 50). If "0", there is no cell to be output. Then, the queue flag of the class D area of the port 1 in the port management table 8 is set to “0” (step 51). If it is other than "0", the queue flag is already "1", and the process proceeds to the next process (branch 52). After the cell is output, the output queue flag 3
Reset 2

【0086】セルバッファ2から読み出されたクラスD
のセルはセル分離部を経て、出力ポート1へ出力され
る。その後は分岐53を経て、次のポート2の読み出し
処理へ移る。ポートnの読み出し処理終了後(ステップ
63)、ラウンドロビンテーブル15(f)の値は(1
8)に切り替わり、優先順位制御レジスタを(18)に
切り替える。
Class D read from cell buffer 2
Are output to the output port 1 through the cell separation unit. After that, the process goes to the next port 2 reading process via the branch 53. After the port n reading process is completed (step 63), the value of the round robin table 15 (f) becomes (1).
Switching to 8), the priority control register is switched to (18).

【0087】次に、再びポート1の読み出し処理へ戻っ
たときに、各レジスタの設定値が以下に示すようになっ
ている場合を例にする。ポート管理テーブルのキューフ
ラグを、図12(c)に示すように、出力ポート1の各
クラスのキューフラグを、クラスAは“0”、クラスB
は“1”、クラスCは“0”、クラスDは“0”とす
る。また、ラウンドロビンテーブルの選択変更は無く、
ラウンドロビンテーブル(f)の値が(18)、つま
り、優先順位制御レジスタ選択部14が選択する優先順
位制御レジスタが(18)に切り替わっており、優先順
位制御レジスタに設定されている優先順位情報は、クラ
スD、Cの順番(クラスDの優先順位が高い)とし、ク
ラスD、Cのセルが無く、クラスBのセルを読み出すと
きであるとする。
Next, a case where the set values of the registers are as follows when returning to the read processing of the port 1 again will be described as an example. As shown in FIG. 12 (c), the queue flags of the classes of the output port 1 are set to "0" for the class A,
Is “1”, class C is “0”, and class D is “0”. In addition, there is no selection change of the round robin table,
The value of the round robin table (f) is (18), that is, the priority control register selected by the priority control register selector 14 has been switched to (18), and the priority information set in the priority control register Is the order of the classes D and C (the priority of the class D is high), and there is no cell of the class D and C, and the cell of the class B is read.

【0088】図6において、優先順位変更/セル読み込
み制御回路6は、前述と同様、ポート管理テーブル8の
ポート1の領域を検索し(ステップ40)、A=0、B
=1、C=0、D=0の情報を認識する(ステップ4
1)。次に、優先順位変更/セル読み込み制御回路6
は、優先順位制御レジスタ13(18)を検索し、各ク
ラスの優先順位が、クラスD、Cの順番であることを認
識する(ステップ42)。次に、完全優先指示レジスタ
10、空きスロットへのセル挿入指示レジスタ11を検
索し、指示内容を認識する(ステップ43)。ステップ
41、42および43によって、図17(3)に示すよ
うに出力クラスがBに決まり、出力キューフラグがセッ
トされる。次に、クラスAのセル読み出し処理45に移
行し、クラスAのセルの出力キューフラグが“0”のた
め、出力キューフラグ状態判定(ステップ46)におい
て、分岐54を経由することで、読み出し動作を行わ
ず、クラスBのセル読み出し処理に移行する。
In FIG. 6, the priority change / cell read control circuit 6 searches the port 1 area of the port management table 8 in the same manner as described above (step 40), and A = 0, B
= 1, C = 0 and D = 0 are recognized (step 4).
1). Next, the priority change / cell read control circuit 6
Searches the priority control register 13 (18) and recognizes that the priority of each class is the order of classes D and C (step 42). Next, the full priority instruction register 10 and the cell insertion instruction register 11 for empty slots are searched to recognize the instruction contents (step 43). In steps 41, 42, and 43, the output class is determined to be B as shown in FIG. 17C, and the output queue flag is set. Next, the process proceeds to the class A cell read processing 45, and since the output queue flag of the class A cell is “0”, the read operation is performed via the branch 54 in the output queue flag state determination (step 46). , And the process proceeds to a class B cell reading process.

【0089】クラスBのセルのキューフラグ状態は、
“1”であるため、キューフラグ状態判定(ステップ4
6)において、セルバッファの読み出し処理へ移り、キ
ュー管理テーブル9のポート1のクラスBの領域を参照
することによりセルバッファ2のクラスBのセルバッフ
ァの読み出しアドレスを得て、セルバッファの読み出し
タイミングで、読み出しアドレスを指示することにより
セルバッファ2からセルの情報を出力させる。つぎに、
優先順位変更/セル読み込み制御回路6は、クラスBの
セルバッファ2の読み出しアドレスを1加算することに
より、次の読み出しアドレスとする(ステップ48)。
また、ポート管理テーブル9のキュー値は、書き込みア
ドレスから読み出しアドレスを減算したものがキュー値
であるため、優先順位変更/セル読み込み制御回路6は
ポート1のクラスBのキュー値を−1(減算)する(ス
テップ49)。次に、優先順位変更/セル読み込み制御
回路6は、キューの値が0であるか、又はそれ以外であ
るかを判断し(ステップ50)、“0”であれば出力す
べきセルが無いと判断し、ポート管理テーブル8のポー
ト1のクラスB領域のキューフラグを“0”にする(ス
テップ51)。“0”以外であった場合は、キューフラ
グが、既に“1”であるので、そのまま次の処理へ移る
(分岐52)。また、セル出力後、出力キューフラグ3
2をリセットする。
The queue flag state of the class B cell is
Since it is “1”, the queue flag state determination (step 4
In 6), the process proceeds to the cell buffer read processing, and the read address of the class B cell buffer of the cell buffer 2 is obtained by referring to the class B area of the port 1 in the queue management table 9 and the read timing of the cell buffer. The cell buffer 2 outputs cell information by designating the read address. Next,
The priority change / cell read control circuit 6 adds 1 to the read address of the class B cell buffer 2 to make it the next read address (step 48).
Since the queue value in the port management table 9 is obtained by subtracting the read address from the write address, the priority change / cell read control circuit 6 decrements the class B queue value of the port 1 by -1 (subtraction). ) (Step 49). Next, the priority change / cell read control circuit 6 determines whether the value of the queue is 0 or not (step 50). If "0", there is no cell to be output. Then, the queue flag of the class B area of the port 1 in the port management table 8 is set to "0" (step 51). If it is other than "0", the queue flag is already "1", and the process proceeds to the next process (branch 52). After the cell is output, the output queue flag 3
Reset 2

【0090】セルバッファから読み出されたクラスBの
セルはセル分離部3を経て、出力ポート1へ出力され
る。以降ポート2からポートnの読み出し処理が同様に
行われる。ポートnの読み出し処理後(ステップ6
3)、ラウンドロビンテーブル15(f)の値は(1
7)に切り替わり、優先順位制御レジスタを(17)に
切り替える。その後、ポート1に戻り、ポート1からポ
ートnまでの処理が繰り返し行われる。
The class B cells read from the cell buffer are output to the output port 1 via the cell separation unit 3. Thereafter, read processing from port 2 to port n is performed in the same manner. After the read processing of port n (step 6
3), the value of the round robin table 15 (f) is (1
Switching to 7), the priority control register is switched to (17). Thereafter, the process returns to port 1 and the processing from port 1 to port n is repeated.

【0091】次に、優先制御周期を、完全優先指示レジ
スタ10、空きスロットへのセル挿入指示レジスタ11
の設定状態、及び、スイッチに到着する各クラスの到着
セルパターンの異なる4つの例により、図7、図8、図
9および図10を参照して説明する。ただし、本動作例
は、ポート1からポートNまで繰り返し行われる処理の
うち、ポート1だけに着目して説明する。
Next, the priority control cycle is stored in the complete priority instruction register 10 and the cell insertion instruction register 11 in the empty slot.
, And four examples of different arrival cell patterns of each class arriving at the switch will be described with reference to FIGS. 7, 8, 9 and 10. However, this operation example will be described focusing on only port 1 among the processes repeatedly performed from port 1 to port N.

【0092】図7は、ポート当たりの出力帯域が100
Mbit/sで、クラスA〜D各クラスの出力帯域を2
5Mbit/sとし、全クラス完全優先指示および空き
スロット挿入指示をしない場合の、セル出力優先制御動
作例を示している。簡単のために、優先制御周期を12
セル時間としており、各クラスの優先制御周期内で出力
可能なセル数は、12セル×25/100=3セルとな
る。図4に示す出力キューカウンタ/ラウンドロビンテ
ーブル制御部12内の帯域設定レジスタ20のポート1
の各クラスの領域に、この3の値が設定される。また、
各クラスの到着セルパターンは、均等間隔での到着で、
かつ、到着セル数は出力可能なセル数と等しいものとす
る。初期状態として、全クラスキューが無い状態から動
作を開始した事とする。また、説明のためキューフラグ
の代わりに実際のキュー値(セルバッファ2に保持して
いるセル数) を使用する。また、セルの出力タイミン
グを、T0〜T12で示す。
FIG. 7 shows that the output bandwidth per port is 100
Mbit / s, the output bandwidth of each class A to D is 2
An example of a cell output priority control operation in the case of 5 Mbit / s and not giving an all class full priority instruction and an empty slot insertion instruction is shown. For simplicity, the priority control cycle is set to 12
The number of cells that can be output in the priority control cycle of each class is 12 cells × 25/100 = 3 cells. Port 1 of the bandwidth setting register 20 in the output queue counter / round robin table control unit 12 shown in FIG.
The value of 3 is set in the area of each class. Also,
The arrival cell pattern of each class is arrival at equal intervals,
In addition, the number of arriving cells is assumed to be equal to the number of cells that can be output. As an initial state, it is assumed that the operation is started from a state where all class queues are not present. For the sake of explanation, the actual queue value (the number of cells held in the cell buffer 2) is used instead of the queue flag. The output timing of the cell is indicated by T0 to T12.

【0093】図7において、まず、T0で4つのクラス
のセルA1、B1、C1、D1が到着したとすると、各
クラスのキューの値は“1”となる。この時点では出力
セル数は0であり、設定帯域に達したクラスは無く、ラ
ウンドロビンテーブルは4クラス全てを含んだ優先制御
レジスタを選択する(a)(図3参照)が選択されてい
る。この時の優先順位制御レジスタは(1)であり、優
先順位が最も高く、かつ、キューのあるクラスAの出力
キューフラグがセットされ、A1のセルがセルバッファ
2から読み出される。読み出し後、クラスAのキューは
1減少し”0”となる。
In FIG. 7, if cells A1, B1, C1, and D1 of four classes arrive at T0, the queue value of each class becomes "1". At this point, the number of output cells is 0, no class has reached the set band, and the round robin table selects a priority control register including all four classes (a) (see FIG. 3). At this time, the priority control register is (1), the output queue flag of class A having the highest priority and having a queue is set, and the cell of A1 is read from the cell buffer 2. After the reading, the queue of the class A is decreased by 1 to "0".

【0094】つぎに、T1では、新規到着セルは無く、
クラスA以外のクラスのキューは1のままである。ラウ
ンドロビンテーブル(a)に従って、優先順位制御レジ
スタ選択部14によって選択される優先順位制御レジス
タは(2)に切り替わり、優先順位の最も高いクラスB
のB1のセルがセルバッファ2から読み出される。読み
出し後、クラスBのキューは1減少し”0”となる。
Next, at T1, there is no newly arrived cell.
Queues of classes other than class A remain at 1. According to the round robin table (a), the priority control register selected by the priority control register selector 14 is switched to (2), and the class B having the highest priority is selected.
B1 is read from the cell buffer 2. After the reading, the queue of the class B is decreased by 1 to "0".

【0095】以下、同様にラウンドロビンテーブル
(a)の指し示す優先順位制御レジスタ(1)、
(2)、(3)、(4)が繰り返し使用され、その優先
順位に従いT2からT8までのセル読み出し処理が行わ
れる。
Hereinafter, similarly, the priority control register (1) indicated by the round robin table (a),
(2), (3) and (4) are repeatedly used, and the cell reading process from T2 to T8 is performed according to the priority order.

【0096】T8でクラスAのA3のセルをセルバッフ
ァ2から読み出すと、クラスAの出力セル数は3とな
り、出力キューカウンタ/ラウンドロビンテーブル制御
部12が、クラスAの出力セル数が設定帯域に達したと
認識し、ラウンドロビンテーブルを、クラスAを含まな
い優先順位制御レジスタを選択する(b)(図3参照)
に切り替える。
When the cells of class A3 are read from the cell buffer 2 at T8, the number of output cells of class A becomes 3, and the output queue counter / round robin table control unit 12 determines that the number of output cells of class A is equal to the set bandwidth. And selects a priority control register that does not include class A in the round robin table (b) (see FIG. 3).
Switch to

【0097】T9では、ラウンドロビンテーブル(b)
の指し示す優先順位制御レジスタは(5)であり、優先
順位の最も高いクラスBのB3のセルがセルバッファ2
から読み出される。この時点で、クラスBの出力セル数
は3となり、出力キューカウンタ/ラウンドロビンテー
ブル制御部12が、クラスBの出力セル数が設定帯域に
達したと認識し、ラウンドロビンテーブルを、クラス
A、Bを含まない優先順位制御レジスタを選択する
(f)に切り替える。
At T9, the round robin table (b)
Is the priority control register indicated by (5), and the B3 cell of class B having the highest priority is stored in the cell buffer 2
Is read from. At this point, the number of output cells of class B is 3, and the output queue counter / round robin table control unit 12 recognizes that the number of output cells of class B has reached the set band, and changes the round robin table to class A, Switch to (f) for selecting a priority control register that does not include B.

【0098】以下同様に、出力セル数が設定帯域に達し
たクラスが発生する度に、ラウンドロビンテーブルを切
り替え、ラウンドロビンテーブルの指し示す優先順位制
御レジスタの優先順位に従い、キューのあるクラスのセ
ルがセルバッファより読み出される。
Similarly, every time a class occurs in which the number of output cells reaches the set band, the round robin table is switched, and cells of a class having a queue are placed in accordance with the priority of the priority control register indicated by the round robin table. Read from the cell buffer.

【0099】T11で、12個目のセルであるD3を読
み出した後、出力キューカウンタ/ラウンドロビンテー
ブル制御部12内の出力セル数カウンタ23はリセット
され、T12で選択されるラウンドロビンテーブルはT
0と同じ(a)となる。
After reading the twelfth cell D3 at T11, the output cell counter 23 in the output queue counter / round robin table control unit 12 is reset, and the round robin table selected at T12 is T
(A) which is the same as 0.

【0100】以上、図7に示す例ではセル出力クラスの
偏り無く、設定した帯域に帯域分割を実現していること
がわかる。
As described above, in the example shown in FIG. 7, it is understood that the band division is realized in the set band without bias of the cell output class.

【0101】図8は、図7と同様、クラスA〜D各クラ
スの出力帯域を25Mbit/sとし、全クラス完全優
先指示および空きスロット挿入指示をしない設定で、各
クラスの到着セルパターンが異なる場合のセル出力優先
制御動作例を示している。到着セルパターンが各クラス
とも不均等であり、かつ、クラスAおよびBの到着セル
数が、出力設定帯域をオーバーしている点が図7に示す
例と異なる。
FIG. 8 is similar to FIG. 7 except that the output bandwidth of each of the classes A to D is set to 25 Mbit / s, the all-class full priority instruction and the empty slot insertion instruction are not issued, and the arrival cell pattern of each class is different. An example of the cell output priority control operation in this case is shown. The difference from the example shown in FIG. 7 is that the arrival cell patterns are unequal in each class, and the number of arrival cells in classes A and B exceeds the output setting band.

【0102】図8において、まず、T0において、クラ
スAおよびBのセルA1およびB1が到着し、クラスA
およびBのキューの値が“1”となる。この時点では全
クラス出力セル数は0であり、設定帯域に達したクラス
は無く、ラウンドロビンテーブルは(a)が選択されて
いる。この時ラウンドロビンテーブル(a)の指し示す
優先順位制御レジスタは(1)であり、優先順位が最も
高く、かつ、キューのあるクラスAのA1のセルがセル
バッファ2から読み出される。読み出し後、クラスAの
キューは1減少し”0”となる。
In FIG. 8, first, at T0, cells A1 and B1 of classes A and B arrive, and
And the queue values of B become “1”. At this point, the number of all class output cells is 0, no class has reached the set bandwidth, and (a) is selected for the round robin table. At this time, the priority control register indicated by the round robin table (a) is (1), and the A1 cell of class A having the highest priority and having a queue is read from the cell buffer 2. After the reading, the queue of the class A is decreased by 1 to "0".

【0103】T1では新規到着セルは無く、キューがあ
るのはクラスBだけである。ラウンドロビンテーブル
(a)の指し示す優先順位制御レジスタが(2)に切り
替わり、優先順位が最も高く、かつ、キューのあるクラ
スBのB1のセルがセルバッファ2から読み出される。
読み出し後、クラスBのキューは1減少し”0”とな
る。
At T1, there is no newly arrived cell, and only class B has a queue. The priority control register indicated by the round robin table (a) is switched to (2), and the B1 cell of class B having the highest priority and having a queue is read from the cell buffer 2.
After the reading, the queue of the class B is decreased by 1 to "0".

【0104】つぎに、T2でクラスAのセルA2が到着
し、クラスAのキューの値が“1”となる。ラウンドロ
ビンテーブル(a)の指し示す優先順位制御レジスタは
(3)に切り替わるが、優先順位が最も高いクラスC、
2番目に高いクラスDはキューが無く、優先順位3番目
のクラスAのA2のセルがセルバッファ2から読み出さ
れる。読み出し後、クラスAのキューは1減少し”0”
となる。
Next, the cell A2 of class A arrives at T2, and the value of the queue of class A becomes "1". The priority control register pointed to by the round robin table (a) is switched to (3).
The second highest class D has no queue, and the A2 cell of the third priority class A is read from the cell buffer 2. After reading, the queue of class A is decreased by 1 to "0".
Becomes

【0105】同様の処理が、T3、T4で行われ、T4
でA3のセルがセルバッファ2から読み出され、クラス
Aの出力セル数が設定値に達し、出力キューカウンタ/
ラウンドロビンテーブル制御部12がラウンドロビンテ
ーブルを(b)に切り替える。
The same processing is performed in T3 and T4.
, The cell of A3 is read from the cell buffer 2, the number of output cells of class A reaches the set value, and the output queue counter /
The round robin table control unit 12 switches the round robin table to (b).

【0106】以下、出力セル数が設定帯域に達したクラ
スが発生する度に、ラウンドロビンテーブルを切り替
え、ラウンドロビンテーブルの指し示す優先順位制御レ
ジスタの優先順位に従い、キューのあるクラスのセルが
セルバッファより読み出される。
Thereafter, every time a class in which the number of output cells reaches the set band occurs, the round robin table is switched, and the cells of the class with the queue are stored in the cell buffer according to the priority of the priority control register indicated by the round robin table. Is read out.

【0107】図8に示す例では、クラスAおよびBの到
着セル数が出力可能なセル数より多いが、出力セル数が
設定帯域に達した時点でラウンドロビンテーブルが切り
替わり、設定帯域に達したクラスは優先順位から外され
るので、クラスAおよびBのセルが設定帯域を超えて読
み出されることはない。
In the example shown in FIG. 8, although the number of arriving cells of classes A and B is larger than the number of cells that can be output, when the number of output cells reaches the set band, the round robin table is switched to reach the set band. Since the class is excluded from the priority, the cells of the classes A and B are not read out beyond the set band.

【0108】図9は、クラスA〜D各クラスの出力帯域
を25Mbit/sとし、空きスロット挿入指示をせ
ず、完全優先指示レジスタにクラスA、Bの順で優先順
位を設定した場合の、セル出力優先制御動作例を示して
いる。この場合、完全優先指示レジスタ10の内容が優
先制御レジスタ13の内容より優先される。
FIG. 9 shows a case where the output bandwidth of each of the classes A to D is 25 Mbit / s, no empty slot insertion instruction is given, and the priorities are set in the perfect priority instruction register in the order of classes A and B. 9 shows an example of a cell output priority control operation. In this case, the contents of the complete priority instruction register 10 have priority over the contents of the priority control register 13.

【0109】図9において、タイミングT0で、クラス
CおよびDのセルC1、D1が到着したとし、クラス
C、Dのキューが“1”となる。完全優先指示レジスタ
の完全優先指示により、優先順位制御レジスタ(1)の
優先順位の編集処理がされるが、この場合、編集後の優
先順位も優先順位制御レジスタ(1)の優先順位と同じ
である。クラスAおよびBのキュー値は0であり、クラ
スCのC1のセルがセルバッファ2から読み出される。
読み出し後、クラスCのキューは1減少し“0”とな
る。
In FIG. 9, it is assumed that the cells C1 and D1 of the classes C and D arrive at the timing T0, and the queues of the classes C and D become "1". The priority of the priority control register (1) is edited by the full priority instruction of the full priority instruction register. In this case, the edited priority is the same as the priority of the priority control register (1). is there. The queue values of classes A and B are 0, and cells of class C1 are read from cell buffer 2.
After the reading, the queue of the class C is decreased by 1 to “0”.

【0110】タイミングT1で、クラスA、BのセルA
1、B1が到着し、クラスA、BおよびDのキューが
“1”となる。クラスA、Bの順で完全優先指示がある
ので、優先順位制御レジスタ(2)の優先順位である
B、C、D、Aの順位は変更され、最も優先順位の高
い、クラスAのA1のセルがセルバッファ2から読み出
される。読み出し後、クラスAのキューは1減少し
“0”となる。
At timing T1, cells A of classes A and B
1, B1 arrives, and the queues of classes A, B, and D become "1". Since there are full priority instructions in the order of classes A and B, the priorities of B, C, D and A, which are the priorities of the priority control register (2), are changed, and the highest priority A1 of class A is changed. The cell is read from the cell buffer 2. After the reading, the queue of the class A decreases by 1 and becomes “0”.

【0111】つぎに、タイミングT2では新規到着セル
は無く、クラスBおよびDにキューがある。タイミング
T1同様、クラスA、Bの順で完全優先指示があるの
で、優先順位制御レジスタ(3)の優先順位であるC、
D、A、Bの順位は、A、B、C、Dの順に変更される
が、クラスAのキューが無いので、次に優先順位の高い
クラスBのB1のセルがセルバッファ2から読み出され
る。読み出し後、クラスBのキューは1減少し“0”と
なる。
Next, at timing T2, there are no newly arrived cells, and there are queues in classes B and D. Similar to the timing T1, there are full priority instructions in the order of classes A and B.
The order of D, A, and B is changed in the order of A, B, C, and D. However, since there is no class A queue, the B1 cell of class B having the next highest priority is read from the cell buffer 2. . After the reading, the queue of the class B decreases by 1 and becomes “0”.

【0112】以下同様に、クラスA、Bを最優先にした
処理は、それぞれのクラスの出力セル数が設定値に達す
るまで行われる。
Similarly, the processing in which the classes A and B have the highest priority is performed until the number of output cells of each class reaches the set value.

【0113】図9に示す例では、完全優先指示レジスタ
に設定されたクラスのセルが、最優先でセルバッファ2
から読み出され、かつ、全クラス出力帯域が保証されて
いる。
In the example shown in FIG. 9, the cells of the class set in the strict priority indication register have the highest priority in the cell buffer 2.
, And the entire class output band is guaranteed.

【0114】図10は、クラスA〜D各クラスの出力帯
域を25Mbit/sとし、完全優先指示をせず、空き
スロットへのセル挿入指示レジスタにクラスDのみを設
定した場合の、セル出力優先制御動作例を示している。
FIG. 10 shows the cell output priority in the case where the output bandwidth of each of the classes A to D is 25 Mbit / s, the complete priority instruction is not issued, and only the class D is set in the cell insertion instruction register for an empty slot. 4 shows an example of a control operation.

【0115】図10において、タイミングT0で、クラ
スA、CおよびDのセルA1、C1およびD1が到着
し、クラスA、CおよびDのキューが“1”となる。こ
の時、ラウンドロビンテーブルは(a)が選択されてお
り、またラウンドロビンテーブル(a)の指し示す優先
順位制御レジスタは(1)である。優先順位制御レジス
タ(1)の優先順位には、全てのクラスが含まれている
ので、この時点では空きスロット挿入指示があっても優
先順位は変わらず、優先順位が最も高く、かつキューの
あるクラスAのA1のセルがセルバッファ2から読み出
される。読み出し後、クラスAのキューは1減少し”
0”となる。
In FIG. 10, at timing T0, cells A1, C1 and D1 of classes A, C and D arrive, and the queues of classes A, C and D become "1". At this time, (a) is selected as the round robin table, and the priority control register indicated by the round robin table (a) is (1). Since all the classes are included in the priority order of the priority order control register (1), the priority order does not change even if an empty slot insertion instruction is given at this time, the priority order is the highest, and there is a queue. The cell of class A1 is read from the cell buffer 2. After reading, the class A queue is decremented by 1. "
0 ".

【0116】以下、同様に、ラウンドロビンテーブル
(a)の指し示す優先順位制御レジスタの優先順位に従
いT1からT3までのセル読み出し処理が行われる。
Similarly, the cell reading process from T1 to T3 is performed according to the priority of the priority control register indicated by the round robin table (a).

【0117】タイミングT4でも同様に、ラウンドロビ
ンテーブル(a)の指し示す優先順位制御レジスタ
(1)の優先順位に従い処理されるが、タイミングT4
では全クラスキューが無いため、出力キューフラグに何
も出力キューが設定されない。従ってセルバッファ2か
らのセル読み出しは行われず、出力ポートには空きセル
が出力される。
Similarly, at timing T4, the processing is performed according to the priority of the priority control register (1) indicated by the round robin table (a).
Since there are no class queues, no output queue is set in the output queue flag. Therefore, no cell is read from the cell buffer 2, and an empty cell is output to the output port.

【0118】タイミングT5〜T7についても、上記T
0〜T3と同様の処理が行われ、タイミングT7でD3
のセルが読み出された時点でクラスDの出力セル数が設
定帯域に達し、出力キューカウンタ/ラウンドロビンテ
ーブル制御部12が、ラウンドロビンテーブルを、クラ
スDを含まない優先順位制御レジスタを選択する(e)
に切り替える。
At timings T5 to T7, the above-mentioned T
0 to T3, and D3 at timing T7.
When the number of cells of class D is read, the number of output cells of class D reaches the set bandwidth, and the output queue counter / round robin table control unit 12 selects a round robin table and a priority control register that does not include class D. (E)
Switch to

【0119】タイミングT8、T9では、それぞれラウ
ンドロビンテーブル(e)の指し示す優先順位制御レジ
スタ(16)、(14)の優先順位の末尾に、空きスロ
ット挿入指示のあるクラスDを加えた優先順位に編集さ
れる。この場合、優先順位制御レジスタ(16)の優先
順位は、C、A、B、Dとなり、優先順位制御レジスタ
(14)の優先順位は、 A、B、 C、Dとなる。
At timings T8 and T9, the priority is added to the priority of the priority control registers (16) and (14) indicated by the round robin table (e) and the end of the priority added to the class D having the instruction to insert an empty slot. Edited. In this case, the priorities of the priority control registers (16) are C, A, B, and D, and the priorities of the priority control registers (14) are A, B, C, and D.

【0120】今度はタイミングT9でC3のセルが読み
出された時点でクラスCの出力セル数が設定帯域に達
し、出力キューカウンタ/ラウンドロビンテーブル制御
部12が、ラウンドロビンテーブルを、クラスC、Dを
含まない優先順位制御レジスタを選択する(k)に切り
替える。
At this time, when the cell of C3 is read at the timing T9, the number of output cells of the class C reaches the set bandwidth, and the output queue counter / round robin table control unit 12 stores the round robin table in the class C, Switch to (k) to select a priority control register that does not include D.

【0121】タイミングT10では、ラウンドロビンテ
ーブル(k)の指し示す優先順位制御レジスタ(27)
の優先順位の末尾に空きスロット挿入指示のあるクラス
Dを加えたA、B、Dの順位に従い処理される。タイミ
ングT10ではクラスDにしかキューが無く、クラスD
は出力セル数が設定値に達していても、空きスロット挿
入指示があるので、クラスDのセルD4がセルバッファ
2から読み出される。
At timing T10, the priority control register (27) indicated by the round robin table (k)
Are processed in accordance with the order of A, B, and D in which a class D having an empty slot insertion instruction is added to the end of the priority order. At timing T10, only the class D has a queue, and the class D
Since there is an instruction to insert an empty slot even if the number of output cells has reached the set value, the class D cell D4 is read from the cell buffer 2.

【0122】タイミングT11も同様に、ラウンドロビ
ンテーブル(k)の指し示す優先順位制御レジスタ(2
8)の優先順位と空きスロット挿入指示によって決定さ
れた優先順位に従いセル読み出し処理が行われる。
Similarly, at timing T11, the priority control register (2) indicated by the round robin table (k)
The cell reading process is performed in accordance with the priority of 8) and the priority determined by the empty slot insertion instruction.

【0123】以上、図10に示す例において、出力セル
数が設定帯域未満のクラスに、キューが無い場合、既に
設定帯域に達しているクラスで空きスロット挿入指示の
あるクラスにキューがあれば、そのクラスからセル読み
出しが行われる。
As described above, in the example shown in FIG. 10, if there is no queue in a class in which the number of output cells is less than the set band, and if there is a queue in a class which has already reached the set band and has an instruction to insert an empty slot, Cell reading is performed from that class.

【0124】なお、各指示部は、1つの指示部により構
成させてもよい。
Note that each instruction unit may be constituted by one instruction unit.

【0125】以上、説明したように処理することによ
り、第2の実施の形態によれば、複数種類ある優先制御
レジスタのうち利用する優先順位制御レジスタをラウン
ドロビンテーブルによって定期的に巡回させることで、
完全優先制御によるセル出力クラスの偏りをなくし、帯
域分割を実現することができる。
By performing the processing as described above, according to the second embodiment, the priority control registers used among the plurality of types of priority control registers are periodically circulated by the round robin table. ,
It is possible to eliminate the bias of the cell output class due to the full priority control and realize the band division.

【0126】さらに、出力キューカウンタ/ラウンドロ
ビンテーブル制御部12が、各クラスの出力セル数を常
に監視し、設定帯域を超えないようにラウンドロビンテ
ーブルの切替を制御するので、各クラスの出力帯域が設
定値を超えることが無い。
Further, the output queue counter / round robin table control unit 12 constantly monitors the number of output cells of each class and controls the switching of the round robin table so as not to exceed the set bandwidth. Does not exceed the set value.

【0127】また、完全優先指示レジスタを使用するこ
とにより、出力ポート内の一部のクラス又は全クラスの
優先制御方式を完全優先とすることができ、完全優先処
理のクラスと出力帯域固定のクラスとの混在も可能であ
る。
Further, by using the full priority indication register, it is possible to give priority to the priority control method of some or all classes in the output port, and to provide a class of the full priority process and a class of the fixed output band. Can also be mixed.

【0128】また、空きスロットへのセル挿入指示レジ
スタを使用することにより、設定出力帯域を満たしたク
ラスが、他クラスでセルバッファに保持するセルが無い
場合(空きスロット発生時)に、セルを出力することも
可能である。
Further, by using the register for instructing cell insertion into an empty slot, if a class that satisfies the set output band has no cells to be held in the cell buffer in another class (when an empty slot occurs), the cell is replaced. It is also possible to output.

【0129】上記第1および第2の実施の形態によれ
ば、複数の品質クラス毎に分けられたセルバッファ内の
セルを優先順位の高いものから効率的に読み出すことが
できる。セル読み出し処理時、読み出すべきクラスを簡
単に認識することができ、また、セルの読み出しアドレ
スを格納した管理テーブルへのアクセスは、出力するク
ラスに対応する領域のみで済むので、クラス分けの数が
増えても処理時間に影響を与えることがない。
According to the first and second embodiments, the cells in the cell buffer divided for each of the plurality of quality classes can be efficiently read from those having the highest priority. At the time of cell read processing, the class to be read can be easily recognized, and the access to the management table storing the cell read address is limited to the area corresponding to the class to be output. The increase does not affect the processing time.

【0130】また、上記第1および第2の実施の形態に
よれば、ラウンドロビンテーブル上に割り当てるそれぞ
れの優先順位制御レジスタの割合を変えることにより、
帯域分割が実現でき、一つのクラスばかりが出力される
ことを避けられる。
According to the first and second embodiments, the ratio of the priority control registers to be allocated on the round robin table is changed.
Band division can be realized, and output of only one class can be avoided.

【0131】また、上記第2の実施の形態によれば、一
時的にあるクラスのセルバッファにセルが無くなった場
合、その瞬間優先順位の低い他クラスのセルが出力され
るが、各クラスの出力セル数は常に監視されており設定
帯域を超えないように制御されるので、各クラスの出力
帯域が設定値を超えることは無い。つまり出力ポート毎
に各クラスの出力帯域を設定でき、かつ、最小出力帯域
が保証可能である。
Further, according to the second embodiment, when cells temporarily disappear from a cell buffer of a certain class, cells of another class having a lower priority at that moment are output. Since the number of output cells is constantly monitored and controlled so as not to exceed the set bandwidth, the output bandwidth of each class does not exceed the set value. That is, the output bandwidth of each class can be set for each output port, and the minimum output bandwidth can be guaranteed.

【0132】また、ある出力ポートで、全クラス又は一
部のクラスの優先制御方式を完全優先としたい場合、完
全優先とするクラスに対応する完全優先指示レジスタに
優先順位を設定することにより、完全優先が実現でき
る。
When it is desired that the priority control system of all or some classes be given full priority at a certain output port, the priority is set in the full priority instruction register corresponding to the class to be given full priority. Priority can be realized.

【0133】さらに、設定された出力帯域を満たしてい
ない他のクラスのセルバッファにセルが無い時に(空き
スロット発生時)、既に設定された出力帯域を満たして
いるクラスのセルを出力させたい場合、該当クラスの空
きスロットへのセル挿入指示レジスタに、挿入指示する
クラスの優先順位をセットすることによって、その優先
順位に従ってセルを送出することができる。
Further, when there is no cell in a cell buffer of another class which does not satisfy the set output band (when an empty slot is generated), it is desired to output a cell of a class satisfying the already set output band. By setting the priority of the class to be inserted into the register for instructing cell insertion into a vacant slot of the corresponding class, cells can be transmitted in accordance with the priority.

【0134】また、出力キューカウンタ/ラウンドロビ
ンテーブル制御部で各クラスの出力帯域が管理されるの
で、ラウンドロビンテーブルでの帯域分割を厳密に行う
必要はなく、ラウンドロビンテーブルの大きさを小さく
することができる。つまり、ラウンドロビンテーブルが
小さくても、各クラスの出力帯域を細かく設定できる。
Further, since the output band of each class is managed by the output queue counter / round robin table control unit, it is not necessary to strictly divide the band in the round robin table, and the size of the round robin table is reduced. be able to. That is, even if the round robin table is small, the output band of each class can be set finely.

【0135】また、全出力ポートでラウンドロビンテー
ブルを共用化するので、メモリ量を大幅に削減できる。
Further, since the round robin table is shared by all output ports, the amount of memory can be significantly reduced.

【0136】また、ラウンドロビンテーブル、優先順位
制御レジスタ、帯域設定レジスタ、完全優先指示レジス
タおよび空きスロットへのセル挿入指示レジスタは、書
き換え可能であり、マイコンインタフェースを持つこと
で、システム稼働中でもクラス数やポート設定を変更す
ることができる。
The round robin table, the priority control register, the band setting register, the full priority instruction register, and the cell insertion instruction register for an empty slot are rewritable. And port settings can be changed.

【0137】[0137]

【発明の効果】本発明によれば、効率的に出力セルの優
先制御を行うことができ、また、クラス分け(優先順
位)の数が増えた場合にも、処理時間が増大しない。
According to the present invention, priority control of output cells can be efficiently performed, and processing time does not increase even when the number of classifications (priorities) increases.

【0138】また、出力ポート毎に各クラスの出力帯域
を設定でき、かつ、出力帯域保証が可能となる。
Further, the output bandwidth of each class can be set for each output port, and the output bandwidth can be guaranteed.

【0139】また、各出力ポートで各クラスの設定を出
力帯域固定にも完全優先にも自由に変更可能とし、か
つ、出力帯域を固定とするクラスと、完全優先制御によ
りセルを出力するクラスとの混在を許容できる。
The setting of each class at each output port can be freely changed to either fixed output band or full priority, and a class that fixes the output band and a class that outputs cells by full priority control. Can be mixed.

【0140】更に、設定出力帯域を満たしたクラスが、
他クラスでセルバッファに保持するセルが無い場合、セ
ル出力が可能となる。
Further, the class satisfying the set output band is
If there is no cell held in the cell buffer in another class, cell output becomes possible.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明の第2の実施の形態における出力バッフ
ァ型のスイッチシステムの構成図。
FIG. 1 is a configuration diagram of an output buffer type switch system according to a second embodiment of the present invention.

【図2】本発明の第1および第2の実施の形態で用いる
ポート管理テーブルを示す説明図。
FIG. 2 is an explanatory diagram showing a port management table used in the first and second embodiments of the present invention.

【図3】本発明の第2の実施の形態で用いる優先順位制
御レジスタ、ラウンドロビンテーブルの詳細を示す説明
図。
FIG. 3 is an explanatory diagram showing details of a priority order control register and a round robin table used in a second embodiment of the present invention.

【図4】本発明の第2の実施の形態で用いる出力キュー
カウンタ/ラウンドロビンテーブル制御部の詳細を示す
説明図。
FIG. 4 is an explanatory diagram showing details of an output queue counter / round-robin table control unit used in a second embodiment of the present invention.

【図5】本発明の第2の実施の形態で用いる優先順位変
更/セル読み込み制御回路、完全優先指示レジスタ、空
きスロットへのセル挿入指示レジスタの詳細を示す説明
図。
FIG. 5 is an explanatory diagram showing details of a priority change / cell read control circuit, a complete priority instruction register, and a cell insertion instruction register to an empty slot used in the second embodiment of the present invention.

【図6】本発明の第2の実施の形態を示すセルバッファ
読み出しフロー図。
FIG. 6 is a flowchart for reading out a cell buffer according to a second embodiment of the present invention;

【図7】本発明の第2の実施の形態のセル出力優先制御
部の動作を示す説明図(1)。
FIG. 7 is an explanatory diagram (1) showing the operation of the cell output priority control unit according to the second embodiment of the present invention.

【図8】本発明の第2の実施の形態のセル出力優先制御
部の動作を示す説明図(2)。
FIG. 8 is an explanatory diagram (2) illustrating the operation of the cell output priority control unit according to the second embodiment of this invention.

【図9】本発明の第2の実施の形態のセル出力優先制御
部の動作を示す説明図(3)。
FIG. 9 is an explanatory diagram (3) showing the operation of the cell output priority control unit according to the second embodiment of the present invention.

【図10】本発明の第2の実施の形態のセル出力優先制
御部の動作を示す説明図(4)。
FIG. 10 is an explanatory diagram (4) showing the operation of the cell output priority control unit according to the second embodiment of the present invention.

【図11】本発明の第1の実施の形態を示す出力バッフ
ァ型のスイッチシステムの構成図。
FIG. 11 is a configuration diagram of an output buffer type switch system according to the first embodiment of the present invention.

【図12】本発明の第2の実施の形態で用いるポート管
理テーブル。
FIG. 12 is a port management table used in the second embodiment of the present invention.

【図13】本発明の第1の実施の形態を示すセルバッフ
ァ読み出しフロー図(1)。
FIG. 13 is a flowchart (1) for reading out a cell buffer according to the first embodiment of the present invention.

【図14】本発明の第1の実施の形態を示すセルバッフ
ァ読み出しフロー図(2)。
FIG. 14 is a flowchart (2) for reading out a cell buffer according to the first embodiment of the present invention;

【図15】本発明の第1の実施の形態を示すセルバッフ
ァ読み出しフロー図(3)。
FIG. 15 is a flowchart (3) for reading out a cell buffer according to the first embodiment of the present invention;

【図16】従来技術を示す説明図。FIG. 16 is an explanatory view showing a conventional technique.

【図17】本発明の第2の実施の形態で用いる出力キュ
ー決定回路の動作を示す説明図。
FIG. 17 is an explanatory diagram showing an operation of the output queue determination circuit used in the second embodiment of the present invention.

【符号の説明】[Explanation of symbols]

1・100…セル多重部、2・101…セルバッファメ
モリ、 3・102…セル分離部、 4・103…ルー
ティング先/優先先クラス識別回路、 5・104…セ
ル書き込み制御回路、 6…優先順位変更/セル読み込
み制御回路、7…メモリインタフェース、 8…ポート
管理テーブル、9…キュー管理テーブル、10…完全優
先指示レジスタ、11…空きスロットへのセル挿入指示
レジスタ、12…出力キューカウンタ/ラウンドロビン
テーブル制御部、13・92…優先順位制御レジスタ、
14・93…優先順位制御レジスタ選択部、15・91
…ラウンドロビンテーブル、16…ラウンドロビンテー
ブル選択部、17…ラウンドロビンテーブル指示部、1
8・94…優先順位制御レジスタ指示部、20…帯域設
定レジスタ、21…帯域超過判別回路、22…帯域設定
レジスタ指示部、23…出力セル数カウンタ、30…出
力キュー決定回路、31…優先順位編集レジスタ、32
…出力キューフラグ、33…セル読み込み制御回路、3
4…完全優先指示レジスタ指示部、35…空きスロット
へのセル挿入指示レジスタ指示部、41…各クラスのキ
ュー状態認識処理、42…各クラスの優先順位判定処
理、43…完全優先指示、空きスロット挿入指示認識処
理、44…出力クラス決定処理、45…クラスAのセル
バッファ読み出し処理、46…クラスAのセルの出力キ
ューの有無判定処理、47…クラスAのセルの出力キュ
ーフラグが“1”の時の遷移ルート、48…セルバッフ
ァ読み出しアドレス更新処理、49…キューの値の減算
(−1)処理、50…キューの値の“0”との比較処
理、51…キューフラグ“0”書き込み処理、52…キ
ューフラグ“1”書き込み処理、53…ポート2のセル
読み出し処理への遷移ルート、54…クラスAのセルの
キューフラグが“0”の時の遷移ルート、55…クラス
Bのセルバッファ読み出し処理、56…クラスCのセル
バッファ読み出し処理、57…クラスDのセルバッファ
読み出し処理、90…セル読み込み制御回路、95…ク
ラスAのセルのキューの有無判定処理、105…セル読
み込み制御回路(完全優先制御)、106…管理テーブ
ル。
1.100 cell multiplexing unit, 2.101 cell buffer memory, 3.102 cell separation unit, 4.103 routing / priority destination class identification circuit, 5.104 cell writing control circuit, 6. priority Change / cell read control circuit, 7: memory interface, 8: port management table, 9: queue management table, 10: full priority instruction register, 11: cell insertion instruction register to empty slot, 12: output queue counter / round robin Table control unit, 13.92 ... priority control register,
14.93 ... Priority control register selection unit, 15.91
... Round robin table, 16 ... Round robin table selector, 17 ... Round robin table indicator, 1
8.94: Priority control register instructing unit, 20: Band setting register, 21: Band excess determining circuit, 22: Band setting register instructing unit, 23: Output cell number counter, 30: Output queue determining circuit, 31: Priority Edit register, 32
... output queue flag, 33 ... cell read control circuit, 3
4: Full priority instruction register designating unit, 35: Cell insertion instruction register designation unit to empty slot, 41: Queue state recognition processing of each class, 42: Priority determination processing of each class, 43: Full priority instruction, empty slot Insertion instruction recognition processing, 44 ... output class determination processing, 45 ... class A cell buffer read processing, 46 ... class A cell output queue presence / absence determination processing, 47 ... class A cell output queue flag is "1" 48: cell buffer read address update processing; 49: queue value subtraction (-1) processing; 50: queue value comparison with "0"; 51: queue flag "0" write Processing 52: Queue flag “1” write processing 53: Transition route to cell read processing of port 2 54: Queue flag of cell of class A “0” Transition route of time, 55: Class B cell buffer read process, 56: Class C cell buffer read process, 57: Class D cell buffer read process, 90: Cell read control circuit, 95: Class A cell queue Presence determination processing, 105: cell read control circuit (full priority control), 106: management table.

Claims (9)

【特許請求の範囲】[Claims] 【請求項1】セルを入力し、予め定められた、当該入力
したセルに付加されているサービスの種類を示すクラス
に従い、宛先に対応する出力ポートからセルを出力する
ATMスイッチであって、 前記出力ポート毎であって、前記クラス毎に、前記入力
した順にセルを保持するセル保持手段と、 前記出力ポート毎であって、前記クラス毎に、前記セル
保持手段に保持されるセルがあるかないかを管理する管
理手段と、 前記クラスの複数種の優先順位を保持する優先順位保持
手段と、前記優先順位保持手段からいずれか1つの優先
順位を選択する選択手段と、前記出力ポート毎に、前記
選択手段により選択された優先順位において、より高い
クラスであって、前記管理手段において前記セル保持手
段に保持されているセルがあると管理されているクラス
について、最先に入力した、前記セル保持手段に保持さ
れているセルを、当該ポートから出力させる読み込み制
御手段とを有し、前記選択手段は、あらかじめ定めた時
間毎に、当該選択する種類を切り替え、また、前記出力
ポート毎の各クラスのセルの出力帯域を監視し、当該監
視した出力帯域が、当該出力ポートの当該クラスの出力
帯域の設定値となったときに、当該出力ポートについて
の当該クラスを含まない優先順位を、前記優先順位保持
手段から選択することを特徴とするATMスイッチ。
1. An ATM switch for inputting a cell and outputting the cell from an output port corresponding to a destination according to a predetermined class indicating a type of service added to the input cell, For each output port, for each class, a cell holding unit for holding cells in the order of input, and for each output port, for each class, there is no cell held in the cell holding unit. Management means for managing the priority, priority holding means for holding a plurality of priorities of the class, selecting means for selecting any one of the priority from the priority holding means, for each of the output ports, In the priority order selected by the selection means, the class is higher and the management means manages that there is a cell held in the cell holding means. Read control means for outputting, from the port, a cell held in the cell holding means, which is input first, for the class, and wherein the selecting means selects the type to be selected at every predetermined time. And also monitors the output band of each class of cells for each output port, and when the monitored output band becomes the set value of the output band of the class of the output port, the output port is An ATM switch, wherein a priority not including said class is selected from said priority holding means.
【請求項2】請求項1において、前記選択手段は、前記
あらかじめ定めた時間毎に、前記選択する種類を切り替
えるために、当該優先順位の種類の切替の順序を示すパ
ターンを複数種類さらに備え、前記監視した出力帯域
が、前記出力ポートの当該クラスの出力帯域の設定値と
なったときに、当該出力ポートの当該クラスを含まない
パターンにしたがって、前記優先順位を、前記優先順位
保持手段から選択することを特徴とするATMスイッ
チ。
2. The method according to claim 1, wherein the selecting unit further includes a plurality of types of patterns indicating the order of switching the types of priorities in order to switch the type to be selected at every predetermined time. When the monitored output band becomes the set value of the output band of the class of the output port, the priority is selected from the priority holding unit according to a pattern not including the class of the output port. An ATM switch, comprising:
【請求項3】請求項1において、前記選択手段は、前記
出力ポート毎の各クラスの、あらかじめ定めた時間にお
ける出力されたセル数を計数することにより、前記出力
帯域の監視を行なうことを特徴とするATMスイッチ。
3. The output band monitor according to claim 1, wherein said selection means monitors the output band by counting the number of cells output in a predetermined time of each class for each output port. ATM switch.
【請求項4】請求項1において、前記出力ポートごとの
各クラスにおいて、前記優先順位保持手段の優先順位よ
り優先する、前記出力ポートごとの少なくとも1つのク
ラスの優先順位を保持する完全優先順位保持手段をさら
に有し、前記読み込み制御手段は、前記完全優先順位保
持手段に保持されているクラスの優先順位を、前記選択
された優先順位保持手段の優先順位より優先させて、前
記セルを出力させることを特徴とするATMスイッチ。
4. The full priority storage device according to claim 1, wherein in each class for each of said output ports, priority of at least one class for each of said output ports is given priority over priority of said priority storage device. Means, wherein the read control means causes the priority of the class held in the full priority holding means to be prioritized over the priority of the selected priority holding means, and causes the cell to be output. An ATM switch, characterized in that:
【請求項5】請求項1において、前記出力ポート毎に、
前記出力帯域が設定値未満のクラスのセルが前記セル保
持手段に保持されていないときに、前記出力帯域が設定
値となっているクラスのセルが前記セル保持手段に保持
されている場合に、当該クラスのセルの出力を許可する
指示手段をさらに備え、前記読み込み制御手段は、前記
出力帯域が設定値未満のクラスのセルが前記セル保持手
段に保持されていないときに、前記出力帯域が設定値と
なっているクラスが、前記指示手段に許可されているク
ラスであって、当該クラスのセルが前記セル保持手段に
保持されている場合には、当該クラスのセルを出力する
ことを特徴とするATMスイッチ。
5. The method according to claim 1, wherein:
When the cell of the class whose output band is less than the set value is not held in the cell holding unit, when the cell of the class whose output band is the set value is held in the cell holding unit, Instruction means for permitting output of cells of the class is further provided, wherein the read control means sets the output band when the cells of the class whose output band is less than a set value are not held in the cell holding means. When the class that is the value is a class permitted by the instruction means and a cell of the class is held by the cell holding means, the cell of the class is output. ATM switch.
【請求項6】請求項1において、外部から前記優先順位
を受け付け、前記優先順位保持手段に受け付けた優先順
位を保持させる優先順位指示手段をさらに備えることを
特徴とするATMスイッチ。
6. The ATM switch according to claim 1, further comprising a priority order indicating means for receiving said priority order from outside and holding said priority order received by said priority order holding means.
【請求項7】セルを入力し、予め定められた、当該入力
したセルに付加されているサービスの種類を示すクラス
に従い、宛先に対応する出力ポートからセルを出力する
ATMスイッチであって、 前記出力ポート毎であって、前記クラス毎に、前記入力
した順にセルを保持するセル保持手段と、 前記出力ポート毎であって、前記クラス毎に、前記セル
保持手段に保持されるセルがあるかないかを管理する管
理手段と、 前記クラスの複数種の優先順位を保持する優先順位保持
手段と、前記優先順位保持手段からいずれか1つの優先
順位を選択し、また、あらかじめ定めた時間毎に、当該
選択する種類を切り替える選択手段と、 前記出力ポートごとの各クラスにおいて、前記優先順位
保持手段の優先順位より優先する、前記出力ポートごと
の少なくとも1つのクラスの優先順位を保持する完全優
先順位保持手段と、前記出力ポート毎に、前記完全優先
順位保持手段に保持されているクラスの優先順位がある
場合に、当該優先順位を、前記選択された優先順位保持
手段の優先順位より優先させ、当該優先順位において、
より高いクラスであって、前記管理手段において前記セ
ル保持手段に保持されているセルがあると管理されてい
るクラスについて、最先に入力した、前記セル保持手段
に保持されているセルを、当該ポートから出力させる読
み込み制御手段とを有することを特徴とするATMスイ
ッチ。
7. An ATM switch for inputting a cell and outputting the cell from an output port corresponding to a destination in accordance with a predetermined class indicating a type of service added to the input cell, For each output port, for each class, a cell holding unit for holding cells in the order of input, and for each output port, for each class, there is no cell held in the cell holding unit. Management means for managing the, priority holding means for holding a plurality of priorities of the class, and selecting one of the priorities from the priority holding means, and, for each predetermined time, Selecting means for switching the type to be selected; and in each class for each of the output ports, a priority is given to the priority of the priority holding means. A full priority holding unit that holds the priority of both classes, and, for each of the output ports, when there is a priority of the class held in the full priority holding unit, the priority is selected. Priority given to the given priority holding means, and in that priority,
For a class that is a higher class and is managed by the management unit as having a cell held in the cell holding unit, the cell that is input first and the cell held in the cell holding unit is An ATM switch, comprising: read control means for outputting from a port.
【請求項8】複数の入力ポートと、 複数の出力ポートと、 前記複数の入力ポートから入力されたセルに付加されて
いる宛先に対応する出力ポートと、当該セルに付加され
ているサービスの種類を示すクラスとを識別する識別回
路と、 入力されたセルを保持するセルバッファと、 入力されたセルを、前記出力ポート毎であって、前記ク
ラス毎に、入力された順に前記セルバッファに保持させ
るために、当該セルバッファの書き込みアドレスを指示
する書き込み制御回路と、 前記出力ポート毎に、前記優先順位のより高いクラスで
あって、前記セルバッファに保持されているセルがある
とクラスについて、最先に入力した、前記セルバッファ
に保持されているセルを、当該ポートから出力させるた
めに、読み出しアドレスを指示する読み込み制御回路
と、 前記書き込みアドレスと前記読み出しアドレスとを、前
記出力ポート毎であって、前記クラス毎に保持する管理
テーブルと、 前記クラスの複数種の優先順位を保持する優先順位制御
レジスタと、前記優先順位制御レジスタからいずれか1
つの優先順位を選択する選択回路とを有し、 前記選択回路は、あらかじめ定めた時間毎に、当該選択
する種類を切り替え、また、前記出力ポート毎の各クラ
スのセルの出力帯域を監視し、当該監視した出力帯域
が、当該出力ポートの当該クラスの出力帯域の設定値と
なったときに、当該出力ポートの当該クラスを含まない
優先順位を、前記優先順位制御レジスタから選択するこ
とをことを特徴とするATMスイッチ。
8. A plurality of input ports, a plurality of output ports, an output port corresponding to a destination added to a cell input from the plurality of input ports, and a type of service added to the cell An identification circuit for identifying a class indicating an input cell; a cell buffer for holding input cells; and an input cell for each of the output ports, and for each of the classes, holding the input cells in the cell buffer in the order of input. A write control circuit that instructs a write address of the cell buffer, and for each of the output ports, a class having a higher priority, and a class having a cell held in the cell buffer. In order to output the cell held in the cell buffer, which has been input first, from the port, a read instruction indicating a read address is performed. A control table that holds the write address and the read address for each of the output ports and for each of the classes; a priority control register that holds a plurality of priorities of the classes; Any one from the priority control register
A selection circuit for selecting one of the priorities, the selection circuit switches the type to be selected at every predetermined time, and monitors the output band of each class of cells for each of the output ports, When the monitored output band becomes the set value of the output band of the class of the output port, a priority not including the class of the output port is selected from the priority control register. Characteristic ATM switch.
【請求項9】セルを入力し、予め定められた、当該入力
したセルに付加されているサービスの種類を示すクラス
に従い、宛先に対応する出力ポートからセルを出力する
ATMスイッチにおけるセル出力優先制御方法であっ
て、 前記出力ポート毎であって、前記クラス毎に、前記入力
した順にセルを保持し、 前記出力ポート毎であって、前記クラス毎に、前記保持
するセルがあるかないかを管理し、 前記クラスの複数種の優先順位をレジスタに保持させ、
前記出力ポート毎の各クラスのセルの出力帯域を監視
し、当該監視した出力帯域が、当該出力ポートの当該ク
ラスの出力帯域の設定値となったときに、当該出力ポー
トの当該クラスを含まない優先順位の1つを、前記レジ
スタから選択し、あらかじめ定めた時間毎に、当該選択
する種類を切り替え、前記出力ポート毎に、前記選択さ
れた優先順位において、より高いクラスであって、前記
保持されているセルがあると管理されているクラスにつ
いて、最先に入力した、前記保持されているセルを、当
該ポートから出力させることを特徴とするセル出力優先
制御方法。
9. A cell output priority control in an ATM switch for inputting a cell and outputting the cell from an output port corresponding to a destination in accordance with a predetermined class indicating the type of service added to the input cell. A method for holding cells in the order of input for each of the output ports and for each of the classes, and managing whether or not there are cells to be held for each of the output ports and for each of the classes And holding a plurality of priorities of the class in a register;
The output band of each class of cells for each output port is monitored, and when the monitored output band becomes the set value of the output band of the class of the output port, the class of the output port is not included. One of the priorities is selected from the register, the type to be selected is switched at predetermined time intervals, and for each of the output ports, the higher priority class in the selected priority order, A cell output priority control method comprising: outputting, from a port, a held cell, which has been input first, for a class managed to have a cell that has been stored.
JP19341397A 1997-07-18 1997-07-18 Atm switch and cell output priority control method therefor Pending JPH1141241A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP19341397A JPH1141241A (en) 1997-07-18 1997-07-18 Atm switch and cell output priority control method therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP19341397A JPH1141241A (en) 1997-07-18 1997-07-18 Atm switch and cell output priority control method therefor

Publications (1)

Publication Number Publication Date
JPH1141241A true JPH1141241A (en) 1999-02-12

Family

ID=16307555

Family Applications (1)

Application Number Title Priority Date Filing Date
JP19341397A Pending JPH1141241A (en) 1997-07-18 1997-07-18 Atm switch and cell output priority control method therefor

Country Status (1)

Country Link
JP (1) JPH1141241A (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030025468A (en) * 2001-09-21 2003-03-29 한국전자통신연구원 Quasi-Shared Output Buffer Type Switching Apparatus
KR100378588B1 (en) * 1999-05-19 2003-03-29 주식회사 머큐리 Asynchronous transfer mode switch and cell format
US6895012B2 (en) 2000-03-30 2005-05-17 Fujitsu Limited Method and apparatus for packet scheduling in network
US7016366B2 (en) 2000-03-22 2006-03-21 Fujitsu Limited Packet switch that converts variable length packets to fixed length packets and uses fewer QOS categories in the input queues that in the outout queues
WO2009066350A1 (en) * 2007-11-19 2009-05-28 Duaxes Corporation Communication control device and communication control method

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100378588B1 (en) * 1999-05-19 2003-03-29 주식회사 머큐리 Asynchronous transfer mode switch and cell format
US7016366B2 (en) 2000-03-22 2006-03-21 Fujitsu Limited Packet switch that converts variable length packets to fixed length packets and uses fewer QOS categories in the input queues that in the outout queues
US6895012B2 (en) 2000-03-30 2005-05-17 Fujitsu Limited Method and apparatus for packet scheduling in network
KR20030025468A (en) * 2001-09-21 2003-03-29 한국전자통신연구원 Quasi-Shared Output Buffer Type Switching Apparatus
WO2009066350A1 (en) * 2007-11-19 2009-05-28 Duaxes Corporation Communication control device and communication control method

Similar Documents

Publication Publication Date Title
EP1239637B1 (en) Time based packet scheduling and sorting system
US8320379B2 (en) Arbiter circuit and method of carrying out arbitration
US6781986B1 (en) Scalable high capacity switch architecture method, apparatus and system
US7058057B2 (en) Network switch port traffic manager having configurable packet and cell servicing
US6959002B2 (en) Traffic manager for network switch port
US6646986B1 (en) Scheduling of variable sized packet data under transfer rate control
EP2613479A1 (en) Relay device
US20020044563A1 (en) Data packet scheduler
JP2002512460A (en) System and method for regulating message flow in a digital data network
JPH11261563A (en) Traffic shaper
US6728256B1 (en) Shared buffer control device
KR100739897B1 (en) A method and an arrangement for managing packet queues in switches
JP3698079B2 (en) DATA TRANSFER METHOD, DATA TRANSFER DEVICE, AND PROGRAM
JP2967767B2 (en) Scheduling method in ATM switch
US7023865B2 (en) Packet switch
JP2820106B2 (en) Traffic shaper device
JP4164771B2 (en) Load balance type switch device and load balance type switch method
JPH1141241A (en) Atm switch and cell output priority control method therefor
US7269158B2 (en) Method of operating a crossbar switch
JP3667898B2 (en) ATM switch and cell output priority control method thereof
JP2746244B2 (en) Cell output scheduler
JPH06338905A (en) Priority controller in atm exchange network
JPH1013424A (en) Method and device for data transmission
JP3663347B2 (en) ATM communication equipment
JP2002152199A (en) Multicast communication relay system

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20040210