JPH0496546A - Queue buffer configuration system - Google Patents
Queue buffer configuration systemInfo
- Publication number
- JPH0496546A JPH0496546A JP2214103A JP21410390A JPH0496546A JP H0496546 A JPH0496546 A JP H0496546A JP 2214103 A JP2214103 A JP 2214103A JP 21410390 A JP21410390 A JP 21410390A JP H0496546 A JPH0496546 A JP H0496546A
- Authority
- JP
- Japan
- Prior art keywords
- buffer
- class
- address
- cell
- written
- 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
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Use Of Switch Circuits For Exchanges And Methods Of Control Of Multiplex Exchanges (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。(57) [Summary] This bulletin contains application data before electronic filing, so abstract data is not recorded.
Description
【発明の詳細な説明】
[概要]
所定長のデータの書き込みと読み出しを行うFIFO内
の待ち行列バッファ構成方式に関し。DETAILED DESCRIPTION OF THE INVENTION [Summary] This invention relates to a queue buffer configuration method in a FIFO for writing and reading data of a predetermined length.
単独行列を用いながらセル毎の処理優先度に対応して読
み出しの順序を替えることができる待ち行列バッファ構
成方式を提供することを目的としバッファ列をアドレス
引き継ぎによる単独チェーン形式で構成し、入力するデ
ータに処理優先度を表すクラス情報を付加し、データが
書き込まれたバッファ位置を示すクラス別の書き込みポ
インタテーブルを設け、入力データを空きバッファに書
き込み、該空きバッファをデータのクラスに応じたチェ
ーン内の位置に挿入してつなぎ替えるよう構成する。The purpose is to provide a queue buffer configuration method that can change the read order according to the processing priority of each cell while using a single queue.The buffer queue is configured in a single chain format using address inheritance and input. Add class information indicating processing priority to data, provide a write pointer table for each class indicating the buffer position where data is written, write input data to a free buffer, and chain the free buffer according to the data class. The configuration is configured so that it is inserted at a position within and reconnected.
[産業上の利用分野]
本発明は所定長のデータの書き込みと読み出しを行うF
IFO内の待ち行列バッファ構成方式に関する。[Industrial Application Field] The present invention is directed to an F that writes and reads data of a predetermined length.
This invention relates to a queue buffer configuration scheme within an IFO.
近年、将来のB I S D N (Broadban
dIntegrated 5ervices Digi
tal Network)構築の要素技術として、AT
M (八5ynchronous TransferM
ode )が注目されている。In recent years, future BISDN (Broadban)
dIntegrated 5 services Digi
AT as an elemental technology for constructing tal network)
M (85ynchronous TransferM
ode) is attracting attention.
ATMスイッチは、一般にセルと呼ばれる固定長情報パ
ケットを蓄積する待ち行列バッファ(以下、キューと呼
ぶ)とこれの書き込み/読み出しを制御する回路及び複
数のキューを接続する線路で構成され、キューは例えば
F I FQ (First InFirst 0ut
)を用いて構成するが、スイッチ内でのセルの送達遅延
時間とセルの廃棄率の処理方法が重要になっている。An ATM switch generally consists of a queue buffer (hereinafter referred to as a queue) that stores fixed-length information packets called cells, a circuit that controls writing/reading of the buffer, and a line that connects multiple queues. F I FQ (First InFirst 0ut
), but the method of handling cell delivery delay time and cell discard rate within the switch is important.
「従来の技術] 第8図は従来のATMスイッチの構成例を示す。“Conventional technology” FIG. 8 shows an example of the configuration of a conventional ATM switch.
この構成は、マルチ・ステージ・セルフ・ルーティング
(Multi−5tage Self−Routing
:M S S R)式のスイッチを用いた例である。This configuration uses Multi-5tage Self-Routing.
:MSSR) type switch is used.
第8図の動作の概要を説明すると、入力ハイウェイ(I
nput Iligbway)から連続して入力するセ
ルはそれぞれハーチセルチャネルナンパ(virtua
lChannel Number :以下VCNという
)を含むヘッダと情報とで構成され、複数のセルがVC
Nコンバータ(VCCという)80に入力すると、VC
Cは図示されないテーブルを参照してVCNをスイッチ
ングに用いる制御情報であるタグ(TAG)に変換する
。セルの本体とタグは、MSSRネットワーク81内の
初段のセルフ・ルーティングモジュール(SRMという
)82に入力する。To explain the outline of the operation in Fig. 8, the input highway (I
Each successive cell input from nput Iligbway is set to Hirch cell channel number
It consists of a header and information including lChannel Number (hereinafter referred to as VCN), and multiple cells
When input to N converter (referred to as VCC) 80, VC
C refers to a table (not shown) and converts the VCN into a tag (TAG) which is control information used for switching. The cell body and tag enter an initial self-routing module (SRM) 82 within the MSSR network 81 .
この中の切替部821は、入力したセルをvCC80で
発生したタグにより切替え制御し、指定されたルート別
に設けられた待ち行列(キュー)バッファ822に入力
する。複数の同じルート(ここでは次段のモジュールへ
のリンク(LINK))に接続された複数の待ち行列バ
ッファ822に書き込まれたセルは順次読み出され多重
部823で多重化され次段へ出力され、以下同様に各S
RM82で順次スイッチングが行われて最終段のSRM
82から出力ハイウェイに出力される。A switching unit 821 in this unit controls switching of input cells using tags generated by the vCC 80, and inputs the cells to a queue buffer 822 provided for each designated route. Cells written in a plurality of queue buffers 822 connected to a plurality of the same routes (links (LINKs) to the next stage module in this case) are sequentially read out, multiplexed by a multiplexer 823, and output to the next stage. , and so on for each S
Sequential switching is performed in RM82 and the final stage SRM
82 to the output highway.
なお、呼処理部(Call Processing)
84は信号処理部(Signal Processin
g) 83からの信号情報を受取り、各■CCのタグ
の制御を行う。Note that the call processing unit (Call Processing)
84 is a signal processing unit.
g) Receive signal information from 83 and control the tags of each CC.
上記のように従来のATMスイッチは1セルと呼ばれる
固定長情報パケットを蓄積するキューバッファが用いら
れ、一般にF、 T P Oを用いて構成する。As mentioned above, a conventional ATM switch uses a queue buffer that stores a fixed length information packet called one cell, and is generally configured using F, TPO.
ATMlilに収容されているメディアとしては画像、
音声、データ等の各種があり、それぞれ要求する通話品
質に応じて、セル廃棄率や送達の許容遅延時間が相違す
る。例えば、音声や動画像の場合はリアルタイム性が重
要視され、遅延時間は一定時間内に維持される必要があ
るが、セル廃棄が生じても影響が少ない。これに対しデ
ータの場合は2セル廃棄が生じると意味がなくなるが、
遅延時間に対しては比較的影響がすくない。Media stored in ATMlil include images,
There are various types such as voice and data, and the cell loss rate and allowable delay time for delivery differ depending on the required call quality. For example, in the case of audio and moving images, real-time performance is important, and delay time must be maintained within a certain period of time, but even if cells are discarded, there is little impact. On the other hand, in the case of data, if two cells are discarded, it becomes meaningless.
It has relatively little effect on delay time.
そこで1通信クラスを複数定義して、これに基づいてス
イッチ内の前記許容値を調整することによって、各種メ
ディアに必要な通信品質を保証する概念がCCITT等
で検討されている。通信クラスは、送信者がセルのヘッ
ダ中に表示するビット列で表し、網はこのビット列を認
識して前記許容値に応じたスイッチングを行うという考
えである。Therefore, the CCITT and others are considering a concept of guaranteeing the communication quality required for various media by defining a plurality of one communication class and adjusting the permissible values in the switch based on these definitions. The idea is that the communication class is expressed by a bit string displayed in the header of a cell by the sender, and the network recognizes this bit string and performs switching according to the above-mentioned allowable value.
[発明が解決しよ・うとする課題]
従来のATVスイッチでは、入力線当たり1個のキュー
を設置し、複数種類のセル、すなわち通信クラスが異な
るものを処理するのが一般的である。この方式では、ス
イッチのスルーブツトを向上させるかまたは、キュー長
を増加させる等のスイッチ全体の性能向上によって、要
求条件を満たずことになり、ハードウェアの負担は飛躍
的に増大するという問題がある。[Problems to be Solved by the Invention] In conventional ATV switches, it is common to install one queue per input line and process multiple types of cells, that is, cells with different communication classes. This method has the problem that the required conditions cannot be met by improving the throughput of the switch or the performance of the entire switch by increasing the queue length, and the burden on the hardware increases dramatically. .
これに対し、キューを通信クラス毎に分割して設置し、
これらのキューの読み出しアクセスに優先度を付加する
ことによって等価的に前記許容値を変化させる方法が考
えられる。しかし、この方法も通信クラスに対応してキ
ューのハード量が増大することになり上記の問題を解決
しないし、トラフィックの偏りに対しても柔軟な対応が
取りにくい。In contrast, the queues are divided and set up for each communication class,
One possible method is to equivalently change the allowable value by adding priority to read access to these queues. However, this method also does not solve the above problem because the amount of hardware in the queue increases depending on the communication class, and it is difficult to respond flexibly to traffic imbalance.
また、優先度が高い通信クラスのセルを、待ち行列の途
中に割り込ませる方法も存在するが、従来の入力した順
番に出力を行う単純FTFOでは実現困難であった。There is also a method of inserting a cell of a communication class with a high priority into the middle of a queue, but this is difficult to realize with a conventional simple FTFO that outputs cells in the order in which they are input.
本発明は単独行列を用いながらセル毎の処理優先度に対
応して読み出しの順序を替えることができる待ち行列バ
ッファ構成方式を提供することを目的とする。SUMMARY OF THE INVENTION An object of the present invention is to provide a queue buffer configuration method that can change the read order according to the processing priority of each cell while using a single queue.
[課題を解決するための手段] 第1図は本発明の原理構成図である。[Means to solve the problem] FIG. 1 is a diagram showing the principle configuration of the present invention.
第1図において、10はヘッダと情報からなりヘッダに
処理優先度(通信種別)を含む固定長情報のセル、11
はクラス別の書き込みポインタを格納した書き込みポイ
ンタテーブル、12は読み出しポインタ格納手段、13
は空きバッファポインタ格納手段、14はFIFO内の
書き込みバッファの待ち行列を形成する書き込みバ・ソ
ファ、15はFIFO内の空きバッファの待ち行列を形
成する空きバッファである。In FIG. 1, 10 is a fixed-length information cell consisting of a header and information, and the header includes processing priority (communication type);
12 is a write pointer table storing write pointers for each class; 12 is a read pointer storage means; 13 is a write pointer table storing write pointers for each class;
14 is a free buffer pointer storage means, 14 is a write buffer that forms a queue for write buffers in the FIFO, and 15 is an empty buffer that forms a queue for free buffers in the FIFO.
本発明は固定長情報中に処理優先度を表すクラス情報を
付加し、固定長情報を格納するために単独の待ち行列を
用いながら、情報を格納する時に各クラスの優先度の順
番に応じた位置に書き込みバッファを配置替えするもの
である。The present invention adds class information representing processing priority to fixed length information, uses a single queue to store fixed length information, and stores information according to the priority order of each class. This is to rearrange the write buffer to a new location.
「作用]
書き込みバッファを形成する各バッファI4はそれぞれ
セル(ヘッダと情報)が書き込まれておす、先頭に自バ
ッファの後につながるバッファのバッファアドレスが格
納され、その後にセルが格納されている。このバッファ
の待ち行列は先頭から順次最後のバッファまでアドレス
引き継ぎの形式でチェーンを形成する。"Operation" Each buffer I4 forming the write buffer has a cell (header and information) written to it. At the beginning, the buffer address of the buffer following the own buffer is stored, and after that, the cell is stored. The buffer queue forms a chain in the form of address inheritance sequentially from the head to the last buffer.
先頭のバッファはセルが書き込まれた後、現在まで読み
出しが行われていないバッファの中で最モ優先度の高い
バッファを表し、そのバッファアドレスは読み出しポイ
ンタ格納手段】2に格納されている。また、これらの待
ち行列バッファはクラス別に優先度の高いものを先頭に
低い方に順番に順序付けられてチェーンが形成されてお
り。The first buffer represents the buffer with the highest priority among the buffers that have not been read until now after the cell was written, and its buffer address is stored in the read pointer storage means 2. In addition, these queue buffers are ordered in order from the highest priority to the lowest priority for each class to form a chain.
同じクラスのセルの間では、先に到着したセルの方が前
の位置(読み出しが早い位置)に置かれる。Among cells of the same class, the cell that arrives first is placed in the earlier position (the position where it can be read earlier).
書き込みバッファの待ち行列の中で各クラスのセルが書
き込まれた最後のバッファのバッファアドレスが、クラ
ス別の書き込みポインタテーブル11にクラス別に格納
されており、各クラスに対応してそのクラスの書き込み
バッファがあるか否かを表す書き込みフラグ(WFで表
示)も設定される(書き込み済は“l l II、書き
込まれてない時はO゛)。図の例では、クラス1はバッ
ファアドレスAにクラス1のセルのitt後<最新>の
データが格納されていることを示し、クラス2はバッフ
ァアドレスCに最後のデータが格納されていることを表
す。The buffer address of the last buffer to which cells of each class were written in the write buffer queue is stored for each class in the write pointer table 11 for each class, and the write buffer of that class is stored in correspondence with each class. A write flag (indicated by WF) is also set to indicate whether or not there is a write flag (“l l II” if written, “O” if not written). Class 2 indicates that the <latest> data is stored after itt of cell 1, and class 2 indicates that the last data is stored at buffer address C.
また、空きバッファ15の待ち行列が設けられ。Additionally, a queue for free buffers 15 is provided.
先頭の空キハッファのバッファアドレスが空きバッファ
ポインタ格納手段13に格納される。The buffer address of the first empty buffer is stored in the empty buffer pointer storage means 13.
セルが到着すると、空きバッファポインタ格納手段13
の内容により示す空きバッファ列の先頭バッファ15(
図の例ではE)を獲得し、同時に空きバッファポインタ
を次の空きバッファアドレス(図ではF)に更新する。When a cell arrives, the free buffer pointer storage means 13
The first buffer 15 (
In the example shown in the figure, E) is acquired, and at the same time the free buffer pointer is updated to the next free buffer address (F in the figure).
次に到着したセルを獲得した空きバッファアドレスに書
き込む。The next cell that arrives is written to the acquired free buffer address.
一方、セルのクラスを識別して、書き込みポインタテー
ブル11の該当クラスの書き込みポインタを検索し、直
前に到着したセルの格納アドレスを知り、そのバッファ
の先頭の引き継ぎ先バッファアドレスを上記獲得したバ
ッファアドレス(E)に変更する。次に、直前に到着し
たセルが格納されていたバッファの変更前(元の)の引
き継ぎ先のアドレスを上記獲得したバッファアドレス(
E)の先頭に引き継ぎ先アドレスとして格納する。On the other hand, the class of the cell is identified, the write pointer of the corresponding class is searched in the write pointer table 11, the storage address of the cell that arrived immediately before is known, and the buffer address at the beginning of the buffer to which the cell is to be taken over is set to the buffer address obtained above. Change to (E). Next, the address of the takeover destination before the change (original) of the buffer in which the cell that arrived immediately before was stored is set to the buffer address obtained above (
E) is stored as the takeover destination address at the beginning.
これにより、クラス毎の末端のバッファに新しいバッフ
ァをつなぐことができ、且つ全体のチェーンの連続性が
保たれる。また、クラス別の書き込みポインタテーブル
11内の該当クラスのポインタは新たにセルが書き込ま
れたポインタに更新される。This allows a new buffer to be connected to the end buffer of each class, and maintains the continuity of the entire chain. Further, the pointer of the corresponding class in the class-by-class write pointer table 11 is updated to the pointer to which the new cell has been written.
読み出し動作は、読み出し要求が発生する毎に読み出し
ポインタ格納手段12に示す書き込み済み待ち行列バッ
ファの先頭から読め出され、同時に読み出しポインタの
内容は1次バッファアドレスに更新される。読み出し後
のバッファは、空きバッファ列にチェーンされる。In the read operation, each time a read request occurs, the read is read from the beginning of the written queue buffer indicated in the read pointer storage means 12, and at the same time, the contents of the read pointer are updated to the primary buffer address. Buffers after being read are chained to an empty buffer column.
チェーンの末端に位置するバッファの引き継ぎ先アドレ
ス部には常にエンド・マークを挿入し書き込み・読み出
し動作において、共に空きハラファまたは読み出しバッ
ファの引き継ぎ先アドレスとしてエンドマーク(EMで
表示)を検出した場合は何れの動作も停止する。新たに
チェーンを形成する際は、BMの代わりに新たなバッフ
ァの先頭アドレスをロードする。An end mark is always inserted in the takeover destination address field of the buffer located at the end of the chain. During write and read operations, if an end mark (indicated by EM) is detected as the takeover destination address of an empty Harafah or read buffer, All operations stop. When forming a new chain, load the start address of a new buffer instead of the BM.
[実施例]
第2図は実施例のハードウェア構成図、第3図は初期設
定の動作シーケンス、第4図(a)及び第4図(b)ば
書き込み動作シーケンス、第5図は読み出し動作シーケ
ンス、第6図は積込み済バッファ列の構成例、第7図は
空きバッファ列の構成例である。[Example] Figure 2 is a hardware configuration diagram of the example, Figure 3 is the initial setting operation sequence, Figures 4(a) and 4(b) are the write operation sequence, and Figure 5 is the read operation. In the sequence, FIG. 6 shows an example of the configuration of a loaded buffer column, and FIG. 7 shows an example of the configuration of an empty buffer column.
第2図のハードウェア構成図は2本発明を実施するのに
必要な主要な構成が示されている。The hardware configuration diagram in FIG. 2 shows two main configurations necessary to implement the present invention.
20は空きバッファポインタメモリ (EPMで表示)
、2】は書き込みポインタメモリ (WPMで表示)、
22は読み出しポインタレジスタ(RPRで表示)、2
3.24はセレクタ(SELで表示)、25は空きバッ
ファの待ち行列及び書き込みバッファ待ち行列が形成さ
れるメモリ 26はメモリの読み出し、書き込みを制御
するメモリ制御回路、27はメモリの初期化を行うリセ
ット回路、28は空きバッファアドレスラッチ 29は
積込法バッファアドレスラッチ、30は引き継ぎバッフ
ァアドレスラッチ、31−1〜31−3は比較回路(C
OMP)、32は各部の動作を制御する制御部である。20 is free buffer pointer memory (displayed in EPM)
, 2] is the write pointer memory (indicated by WPM),
22 is a read pointer register (indicated by RPR), 2
3. 24 is a selector (indicated by SEL), 25 is a memory where a free buffer queue and a write buffer queue are formed, 26 is a memory control circuit that controls reading and writing to the memory, and 27 is initializing the memory. Reset circuit, 28 is empty buffer address latch, 29 is loading method buffer address latch, 30 is takeover buffer address latch, 31-1 to 31-3 are comparison circuits (C
OMP), 32 is a control section that controls the operation of each section.
空きバッファポインタメモリ (EMP)20には、空
きバッファ列の先頭のアドレスである空きバッファポイ
ンタ(ERP)と空きバッファ列の最後のアドレスであ
る空きバッファ積込みポインタ(EWP)とが格納され
、書き込みポインタメモリ(WPM)21には、クラス
別置き込みポインタ(WP)と積込みフラグとが各クラ
ス別に書き込まれている。また、読み出しポインタレジ
スタ22は書き込み済の待ち行列バッファの先頭のバッ
ファアドレス(現時点で読み出し優先度の最も高いバッ
ファアドレス)が格納されている。The empty buffer pointer memory (EMP) 20 stores an empty buffer pointer (ERP), which is the first address of the empty buffer string, and an empty buffer loading pointer (EWP), which is the last address of the empty buffer string. In the memory (WPM) 21, a class-specific put pointer (WP) and a loading flag are written for each class. Further, the read pointer register 22 stores the buffer address of the head of the written queue buffer (buffer address with the highest read priority at the present time).
第2図の構成を用い、制御部32の制御による各動作シ
ーケンスを第3図乃至第5図により説明する。Using the configuration shown in FIG. 2, each operation sequence controlled by the control section 32 will be explained with reference to FIGS. 3 to 5.
第3図は初期設定の動作シーケンスである。FIG. 3 shows the initial setting operation sequence.
最初に初期設定要求が発生すると、制御部32から初期
化信号が発生し、クラス別置き込みポインタWP(第2
図の21のWPM内)を全て0゛に設定すると共に、積
込みフラグは全てオフにし次に読み出しポインタ(第2
図のRP22内)にEM(エンドマーク)を書き込み、
空きバッファポインタ(第2図のEPM20内のEPR
)に′“00°゛を書き込み、更にその空きバッファの
アドレス“”oo”に次空きバッファのアドレスの初期
値を書き込む(以上第3図300〜303)。When an initialization request is generated for the first time, an initialization signal is generated from the control unit 32, and a class-specific placement pointer WP (second
21 WPM in the figure) are all set to 0, all loading flags are turned off, and then the read pointer (2nd
Write EM (end mark) in RP22 (inside the figure),
Free buffer pointer (EPR in EPM20 in Figure 2)
) is written as ``00°'', and the initial value of the address of the next empty buffer is written into the empty buffer address ``oo'' (300 to 303 in FIG. 3).
次に空きバッファに書き込まれた引き継ぎアドレス(書
き込みアドレス)が規定値(空きバッファに割当てられ
たアドレスの最後のアドレス)に達したか否かを判断し
く同304)、達していない場合、ステップ305〜3
07において順次空きバッファチェーンを形成する。そ
の際、引き継ぎアドレス+固定値を書き込みデータ(引
き継ぎ先アドレス)として書き込む。Next, it is determined whether the takeover address (write address) written to the free buffer has reached the specified value (the last address assigned to the free buffer) (step 304), and if it has not reached it, step 305 ~3
In step 07, empty buffer chains are sequentially formed. At that time, the takeover address + fixed value is written as write data (takeover destination address).
こうして、書き込みアドレス(空きバッファの先頭)が
規定値に達すると書き込みアドレスにデータ“EM”を
書き込み、空きバッファ積込みポインタ(第2図のEP
M20を構成する図示されないレジスタEWPに格納す
る)に規定値を書き込んでリターンする(同308,3
09,310)。In this way, when the write address (the beginning of the free buffer) reaches the specified value, data "EM" is written to the write address, and the free buffer loading pointer (EP in Figure 2) is written to the write address.
Write the specified value to the register EWP (not shown) that constitutes M20 and return (308, 3).
09,310).
このようにして形成された空きバッファ列の構成例を第
7図に示す。図に示すように、空きバッファ積込みポイ
ンタ(EWP)は、空きバッファの最後のバッファアド
レスを保持し、空きバッファポインタ(ERP)は、空
きバッファ列の先頭のバッファアドレスを保持(初期値
は00)する。FIG. 7 shows an example of the structure of the empty buffer row formed in this manner. As shown in the figure, the free buffer loading pointer (EWP) holds the last buffer address of free buffers, and the free buffer pointer (ERP) holds the buffer address of the beginning of the free buffer string (initial value is 00). do.
次に、セルが入力した時の書き込み動作シーケンスを第
4図(a)及び第4図(b)を用い、第6図及び第7図
を参照しながら説明する。Next, the write operation sequence when a cell is input will be explained using FIGS. 4(a) and 4(b) and with reference to FIGS. 6 and 7.
セルが到着すると、空きバッファポインタ(ERP)を
読み出す(第4図(a) 402 ) 。この時第7図
の例では、データとして“C”(バッファアドレス)が
読み出される。獲得した空きバッファが有効か否か(読
み出しデータが“’ B M ”でないか否か)を判断
しく同403)する。“’EM”の場合、後述するステ
ップ404以下の処理が行われるが、有効(“C゛の場
合)なら、そのアドレス“′C°゛の内容をリードする
(同41o)。この例では2 アドレス″C゛のバッフ
ァのデータ(引き継ぎアドレス)として“D′”が得ら
れる(これは第2図の空きバッファアドレスラッチ28
に格納される)。When a cell arrives, the free buffer pointer (ERP) is read (402 in FIG. 4(a)). At this time, in the example of FIG. 7, "C" (buffer address) is read out as data. It is determined whether the acquired free buffer is valid (whether the read data is not "'B M") (403). In the case of "'EM", the processes from step 404 to be described later are performed, but if valid (in the case of "C"), the contents of the address "'C°" are read (step 41o). In this example, "D'" is obtained as the data (takeover address) of the buffer at address "C" (this is the empty buffer address latch 28 in FIG. 2).
).
次に、空きバッファポインタERP (第2図の20内
)にデーラダ“D”を書き込む(同411)。Next, the data ladder "D" is written to the empty buffer pointer ERP (inside 20 in FIG. 2) (411 in FIG. 2).
この°′D”は後続するセルの書き込み先に使用する。This 'D' is used as the write destination for subsequent cells.
次に、入力したセルのクラス情報を取り出し。Next, extract the class information of the input cell.
そのクラスを用いて書き込みポインタメモリ(第2図の
WPM21)からクラス別置き込みポインタと積込みフ
ラグを取り出す(同412)。第6図の例ではクラスが
“M”の場合、書き込みポインタが“A゛′で、積込み
フラグはオン(°“1′′)のデータが取り出される。Using the class, the class-by-class put pointer and the load flag are taken out from the write pointer memory (WPM 21 in FIG. 2) (412). In the example shown in FIG. 6, when the class is "M", the data whose write pointer is "A'' and whose loading flag is on (°"1'') is retrieved.
次に積込みフラグがオン(当該クラスの書き込みバッフ
ァが有るか)か否か判別しく同413)オンならこのク
ラスのセルが以前に書き込み済(読み出し前)であるこ
とが分かる。オフの場合図示しないが、上位のクラスの
フラグがオンになっている書き込みポインタWPを読み
出して、そのアドレスのバッファの引き継ぎ先アドレス
を取り出し、上記獲得したアドレス゛C″のバッファの
引き継ぎ先アドレスとして書き込み、■の経路により後
述するステップ416に移行する。Next, it is determined whether the loading flag is on (413) to see if there is a write buffer for the class. If it is on, it is known that the cell of this class has been previously written (before being read). If it is off, although not shown, the write pointer WP whose upper class flag is on is read out, the takeover destination address of the buffer at that address is taken out, and written as the takeover destination address of the buffer at address 〛C'' obtained above. , ■ to proceed to step 416, which will be described later.
ステップ413で積込みフラグがオンの場合このクラス
(“M”とする)のセルの最後に書き込まれたバッファ
アドレス゛A°° (ステップ412で読み出した)の
内容を読み出す(同414)。If the loading flag is on in step 413, the contents of the buffer address "A°" (read in step 412) written at the end of the cell of this class (assumed "M") are read out (step 414).
この結果、第6図の例の場合、引き継ぎ先アドレスとし
て“B”が読み出される。この引き継ぎ先アドレス“B
゛は、先に獲得した空きバッファであるアドレス゛C°
“のバッファ内の引き継ぎ先アドレスとして書き込まれ
る(同415)。こうして、アドレス“′C″のバッフ
ァの後にアドレス” B ”のバッファがつながれたこ
とになる。As a result, in the example shown in FIG. 6, "B" is read as the takeover destination address. This transfer destination address “B”
゛ is the address ゛C° which is the free buffer acquired earlier
It is written as the takeover destination address in the buffer of "'" (415). In this way, the buffer of address "B" is connected after the buffer of address "'C".
この後、■により第4図(b)に移り、ハンl−(獲得
)済の空きバッファ(アドレス“C″)に、到着セル情
報(固定長)を書き込み(同416)。Thereafter, the process moves to FIG. 4(b) according to (2), and the arrived cell information (fixed length) is written into the empty buffer (address "C") that has already been acquired (416).
さらに書き込みポインタメモリ (WPM)の該当クラ
スにデータ゛′C”°を書き込み(同417)以前に積
込みフラグがオフの場合1 ここでオンに設定し、アド
レス” A ”の引き継ぎ先アドレスとしてデータ“′
C゛を書き込む(同418)。これにより、アドレス“
′Aパのバッファの後にアドレス“Cooのバッファが
つながり、書き込みポインタが更新される。Furthermore, data ``'C''° is written to the corresponding class of the write pointer memory (WPM) (417).If the loading flag was off before, 1 is set to on, and the data ``' is set as the destination address of address ``A''.
Write C゛ (418). This allows the address “
The buffer at address "Coo" is connected after the buffer at 'A', and the write pointer is updated.
次に読み出しポインタRP(第2図22)を読み出して
、その内容がEM(エンドマーク)と−致するか判断し
て、一致する場合は読み出しポインタに“′C゛を書き
込む(ステップ419,420)。これは、読み出しポ
インタが最後のバッファまで読み出した状態で停止した
時、アドレスCを先頭アドレスとしてここから読み出さ
せるものである。Next, the read pointer RP (FIG. 2, 22) is read, and it is determined whether the contents match the EM (end mark). If they match, "'C" is written to the read pointer (steps 419 and 420). ).This is to read from address C as the first address when the read pointer stops after reading to the last buffer.
上記ステップ403において、空きバッファがない場合
(ERI)−EMの時)、到着セルが表示するクラスに
対応するクラス別置き込みポインタ(WP)を読み出し
く同404)、読み出されたバッファアドレス(”A’
”とする)により該当バッファの引き継ぎ先アドレスを
読み出す(同405)。この例ではアドレスパB゛″が
得られるものとする。この“B”が、EMであるか否か
を判断する(同406)、 もしEMであれば到着セ
ルを書き込むべきバッファが無いものとして到着セルを
廃棄する(同409)。EMでない場合は、ハント済バ
ッファ(アドレス”B”)に到着セル情報を二重書き込
みして前の情報を消す(同407)。次に、書き込みポ
インタメモリWPMにデータ゛′B”を書き込み、同時
に該当クラスの積込みフラグをオンにする(同408)
。上記ステップ404〜409の動作はセルが表示する
クラスMにおいて実行される。In the above step 403, if there is no free buffer (ERI-EM), the class-specific put pointer (WP) corresponding to the class displayed by the arriving cell is read out (404), and the read buffer address ( "A'"
``), the transfer destination address of the corresponding buffer is read (405). In this example, it is assumed that the address address B'' is obtained. It is determined whether or not this "B" is an EM (406). If it is an EM, the arrived cell is discarded as there is no buffer to write the arriving cell (409). If it is not EM, the arrived cell information is written twice into the hunted buffer (address "B") and the previous information is erased (407). Next, write data ''B' to the write pointer memory WPM, and at the same time turn on the loading flag of the corresponding class (408)
. The operations in steps 404 to 409 above are executed in class M displayed by the cell.
この他に、クラスM以下で、かつ積込みフラグが非活性
(オフ)の全てのクラスの書き込みボインタWPに対し
て、上記ステップ408の動作(データ゛′B゛を書き
込む)を行うようにする。In addition, the operation of step 408 (writing data 'B') is performed for all write pointers WP of classes M and below and whose loading flags are inactive (off).
但し、この中で、既にフラグがオンのものが存在すれば
、このクラス以下の書き込みポインタWPについては除
外する。以−にの動作によってクラス間の優先度は保存
される。However, if there is one whose flag is already on, write pointers WP of this class or lower are excluded. Priorities between classes are preserved by the following operations.
次に第5図に示す読み出し動作シーケンスについて説明
する。Next, the read operation sequence shown in FIG. 5 will be explained.
読み出し要求が発生すると、読み出しポインタ(RP)
を読み出す(第5図501)。第6図の例では、E”が
読み出される。次に読み出した内容が空きか(RP=E
Mか)否かを判別し、空きなら終了し、データが入って
いる場合(アドレス“E”の場合)、そのアドレスの積
込み(書き込み済)バッファからセル情報(引き継ぎア
ドレスの後のデータ)を読み出す(同503)。読み出
したデータは、第2図のメモリ25からデータOUTと
して出力される。When a read request occurs, the read pointer (RP)
(501 in FIG. 5). In the example shown in FIG.
M) or not, and if it is empty, it ends, and if there is data (in the case of address "E"), the cell information (data after the takeover address) is retrieved from the loading (written) buffer at that address. Read out (503). The read data is output from the memory 25 in FIG. 2 as data OUT.
この後クラス別置き込みポインタWPの内容と前記のデ
ータ(アドレス゛’E”)を比較し、−敗したらこのク
ラスの最後の書き込みバッファであるので、このクラス
の積込みはフラグをオフにする(同505,506)。After this, compare the contents of the class-specific put pointer WP with the above data (address 'E'), and if it fails, it is the last write buffer of this class, so the flag is turned off for loading of this class (the same 505, 506).
次に、アドレス(“Eoo)の引き継ぎ先アドレス(”
F”)を、読み出しポインタRPに書き込んで読み出し
アドレスを更新する(同507)。そして、アドレス゛
′E”°にデータ“” E M ”を書き込む(同50
8)。Next, take over the address (“Eoo)”
F") is written to the read pointer RP to update the read address (507). Then, data ""E M" is written to the address ゛'E"° (50
8).
これは、読み出した後のバッファを空きバッファの最後
に組み込む準備であり、続けて空きバッファ積込みポイ
ンタEWP (第3図及び第7図参照)の内容を読み出
し、アドレスデータ(第7図の例では”c”)を得て(
同509)、 このアドレス(“G゛″)のバッファ
の引き継ぎ先アドレスとして前記最後に付加されるバッ
ファのアドレス“′E゛′を書き込む(同510)。最
後に、空きバッファ積込みポインタEWPにアドレス“
Eo”を書き込み(同511)、空きバッファの最後の
バッファ位置を表示する。This is a preparation to incorporate the read buffer at the end of the free buffer, and then reads the contents of the free buffer loading pointer EWP (see Figures 3 and 7), and reads the address data (in the example of Figure 7). “c”) and (
509), writes the address "'E"' of the last buffer to be added as the destination address of the buffer at this address ("G") (510).Finally, write the address to the empty buffer loading pointer EWP. “
Eo'' is written (511) and the last empty buffer position is displayed.
」二重の動作において1書き込み、読み出し動作では、
共に空きポインタ、読み出しポインタのそれぞれがエン
ドマーク(EM)を表示した時点で停止する。そのため
に、チェーンの末端に位置するバッファの引き継ぎ先ア
ドレス部には常にEMを挿入する。新たに、チェーンを
形成する際には。” 1 write in double operation, 1 in read operation,
Both the free pointer and the read pointer stop when they each display an end mark (EM). For this purpose, EM is always inserted into the takeover destination address field of the buffer located at the end of the chain. When forming a new chain.
各ポインタの先頭アドレスがロードされる。The starting address of each pointer is loaded.
通信別置き込みポインタはセルの到着毎に更新されるが
、−旦該クラスのセルが積込み済バッファになくなると
次に該クラスのセルが到着した場合、該クラスより上位
のクラスの内セルが積込み済の状態にある最下位クラス
の書き込みポインタを用いて、そのバッファのつなぎ込
み動作が行われる。The communication-specific placement pointer is updated each time a cell arrives; however, once a cell of the class is no longer in the loaded buffer, the next time a cell of the class arrives, the cell in the class higher than the class will be updated. The write pointer of the lowest class which is in the loaded state is used to perform the connection operation of the buffer.
上記のように、クラス別の処理優先度が保証され、優先
度が高いセルについて遅延時間及び廃棄特性が改善され
る。As described above, processing priority for each class is guaranteed, and delay time and discard characteristics are improved for cells with high priority.
[発明の効果]
本発明によれば単独行列を用いて、セル毎に処理優先度
(通信種別)を付加できるため、高速と低速の混合処理
を必要とする通信において1比較的低速動作の装置を用
いて機能を満足させることが可能である。また、複数種
類の通信クラスを持つセルを一括処理できるため1通信
クラス間のトラフィックの偏りにも柔軟に対応すること
ができバッファの分割損(バッファを分割して管理する
ための負担)が緩和できる。[Effects of the Invention] According to the present invention, processing priority (communication type) can be added to each cell by using a single matrix, so that it is possible to add a processing priority (communication type) to each cell using a single matrix. It is possible to satisfy the function using . In addition, since cells with multiple types of communication classes can be processed at once, it is possible to flexibly deal with imbalances in traffic between one communication class, and the loss of buffer division (the burden of dividing and managing buffers) is alleviated. can.
第1図は本発明の原理構成図、第2図は実施例のハード
ウェア構成図、第3図は初期設定の動作シーケンス、第
4図(a)及び第4図(b)は書き込み動作シーケンス
、第5図は読み出し動作シーケンス。
孝
第6図は積込みバッファ列の構成例、第7図は空へ
きバッファ列の構成例、第8図は従来のATMスイッチ
の構成例である。
第1図中
10:固定長情報のセル
11:クラス別の書き込みポインタテーブル12:読み
出しポインタ格納手段
13:空きバッファポインタ格納手段
14:書き込みバッファ
15:空きバッファFigure 1 is a diagram of the principle configuration of the present invention, Figure 2 is a hardware configuration diagram of an embodiment, Figure 3 is an initial setting operation sequence, and Figures 4(a) and 4(b) are write operation sequences. , FIG. 5 shows the read operation sequence. 6 shows an example of the configuration of a loading buffer line, FIG. 7 shows an example of the configuration of an empty buffer line, and FIG. 8 shows an example of the configuration of a conventional ATM switch. 10 in Figure 1: Fixed length information cell 11: Write pointer table by class 12: Read pointer storage means 13: Free buffer Pointer storage means 14: Write buffer 15: Free buffer
Claims (4)
FO内の待ち行列バッファ構成方式において、 バッファ列をアドレス引き継ぎによる単独チェーン形式
で構成し、 入力するデータに処理優先度を表すクラス情報を付加し
、 データが書き込まれたバッファ位置を示すクラス別の書
き込みポインタテーブル(11)を設け、入力データを
空きバッファ(15)に書き込み、該空きバッファ(1
5)をデータのクラスに応じたチェーン内の位置に挿入
してつなぎ替えることを特徴とする待ち行列バッファ構
成方式。(1) FI that writes and reads data of a predetermined length
In the queue buffer configuration method in FO, the buffer sequence is configured in a single chain format by taking over addresses, and class information indicating processing priority is added to the input data, and class information indicating the buffer position where the data is written is added. A write pointer table (11) is provided, input data is written to an empty buffer (15), and the input data is written to the empty buffer (15).
5) is inserted into a position in the chain according to the class of data and reconnected.
て読み出すFIFO内の待ち行列バッファ構成方式にお
いて、 各セルのヘッダに処理優先度を表すクラス情報を付加し
、 優先度の高いクラスから順次アドレス引き継ぎによる単
独チェーン形式でセルが書き込まれる待ち行列バッファ
と、 クラス別のセル書き込みバッファの後端の位置を格納す
る書き込みポインタテーブル(11)と、空きバッファ
位置を示す空きバッファポインタ格納手段(13)と、 書き込み待ち行列バッファのアドレス引き継ぎにより更
新される読み出しポインタ格納手段(12)とを備え、 入力セルを空きバッファ(15)に書き込み、該セルの
クラスに対応して書き込みポインタテーブルを用いて待
ち行列バッファ中につなぎ替えることを特徴とする待ち
行列バッファ構成方式。(2) In a queue buffer configuration method in a FIFO that stores and reads cells of a predetermined length consisting of a header and information, class information indicating processing priority is added to the header of each cell, and classes with high priority are added to the header of each cell. A queue buffer in which cells are written in a single chain format by taking over addresses sequentially from the beginning, a write pointer table (11) that stores the position of the rear end of the cell write buffer for each class, and an empty buffer pointer storage means that indicates the empty buffer position. (13), and a read pointer storage means (12) updated by taking over the address of the write queue buffer, writes an input cell to an empty buffer (15), and creates a write pointer table corresponding to the class of the cell. A queue buffer configuration method characterized by using a queue buffer and reconnecting it into a queue buffer.
保持する空きバッファポインタ格納手段(13)を備え
ることを特徴とする待ち行列バッファ構成方式。(3) The queue buffer configuration method according to claim (2), further comprising empty buffer pointer storage means (13) for holding empty buffers into which input cells are to be written in a chain format.
ラスのセルが書き込まれて読み出しが終了していないこ
とを表す積込みフラグが格納されることを特徴とする待
ち行列バッファ構成方式。(4) Claims (1) to (3) provide that the class-specific write pointer table (11) stores a loading flag indicating that cells of each class have been written but reading has not yet been completed. Features a queue buffer configuration method.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2214103A JPH0496546A (en) | 1990-08-13 | 1990-08-13 | Queue buffer configuration system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2214103A JPH0496546A (en) | 1990-08-13 | 1990-08-13 | Queue buffer configuration system |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0496546A true JPH0496546A (en) | 1992-03-27 |
Family
ID=16650285
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2214103A Pending JPH0496546A (en) | 1990-08-13 | 1990-08-13 | Queue buffer configuration system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0496546A (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07147590A (en) * | 1993-06-30 | 1995-06-06 | Internatl Business Mach Corp <Ibm> | Programmable high-performance data communication adapter for high-speed packet transmission networks |
US7050451B2 (en) | 1998-05-19 | 2006-05-23 | Nec Corporation | Multi-service-class definition type ATM switch |
JP2008271548A (en) * | 2007-04-24 | 2008-11-06 | Korea Electronics Telecommun | QoS packet flow setting and QoS packet processing method for providing customized QoS in a packet switching system |
JP2011254149A (en) * | 2010-05-31 | 2011-12-15 | Nippon Telegr & Teleph Corp <Ntt> | Information processor, information processing method, and program |
-
1990
- 1990-08-13 JP JP2214103A patent/JPH0496546A/en active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07147590A (en) * | 1993-06-30 | 1995-06-06 | Internatl Business Mach Corp <Ibm> | Programmable high-performance data communication adapter for high-speed packet transmission networks |
US7050451B2 (en) | 1998-05-19 | 2006-05-23 | Nec Corporation | Multi-service-class definition type ATM switch |
US7212539B2 (en) | 1998-05-19 | 2007-05-01 | Nec Corporation | Multi-service-class definition type ATM switch |
JP2008271548A (en) * | 2007-04-24 | 2008-11-06 | Korea Electronics Telecommun | QoS packet flow setting and QoS packet processing method for providing customized QoS in a packet switching system |
JP4564547B2 (en) * | 2007-04-24 | 2010-10-20 | 韓國電子通信研究院 | QoS packet flow setting and QoS packet processing method for providing customized QoS in a packet switching system |
JP2011254149A (en) * | 2010-05-31 | 2011-12-15 | Nippon Telegr & Teleph Corp <Ntt> | Information processor, information processing method, and program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU642830B2 (en) | Multiple virtual fifo arrangement | |
JP2788577B2 (en) | Frame conversion method and apparatus | |
EP1013132B1 (en) | Switch arrangement | |
US5664116A (en) | Buffering of data for transmission in a computer communication system interface | |
EP0299473B1 (en) | Switching system and method of construction thereof | |
EP0778686B1 (en) | ATM switch with input and output ports | |
JP2736092B2 (en) | Buffer device | |
EP0707397A2 (en) | A shared buffer memory switch for a ATM switching system and its broadcasting control method | |
US7352766B2 (en) | High-speed memory having a modular structure | |
JPH1188360A (en) | Short cell multiplexer | |
US7126959B2 (en) | High-speed packet memory | |
EP1030483A1 (en) | Asynchronous transfer mode switch | |
US20040218592A1 (en) | Method and apparatus for fast contention-free, buffer management in a multi-lane communication system | |
EP0809380A2 (en) | Switching system for switching a fixed-length cell | |
US5475680A (en) | Asynchronous time division multiplex switching system | |
JP2628701B2 (en) | Switch for prioritized information packets | |
EP0561359A2 (en) | High bit rate cell switching element in CMOS technology | |
JPH0496546A (en) | Queue buffer configuration system | |
US6647477B2 (en) | Transporting data transmission units of different sizes using segments of fixed sizes | |
US7142547B2 (en) | Scheduling device and cell communication device | |
JPH06224933A (en) | Buffer memory device | |
JP2746244B2 (en) | Cell output scheduler | |
JPH06164641A (en) | Fifo memory and packet switch | |
JPH10308754A (en) | Atm switch | |
CN117041189A (en) | Queue management method and queue management device |