JP2000022694A - Cell exchange device, address managing method and cell information managing method - Google Patents
Cell exchange device, address managing method and cell information managing methodInfo
- Publication number
- JP2000022694A JP2000022694A JP18296298A JP18296298A JP2000022694A JP 2000022694 A JP2000022694 A JP 2000022694A JP 18296298 A JP18296298 A JP 18296298A JP 18296298 A JP18296298 A JP 18296298A JP 2000022694 A JP2000022694 A JP 2000022694A
- Authority
- JP
- Japan
- Prior art keywords
- address
- output
- cell
- input
- management device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
【0001】[0001]
【発明の属する技術分野】本発明は、ディジタル通信、
特にATM通信において、セルに付けられた交換情報を
もとにセルを交換するセル交換装置、セルに付けられた
交換情報とこのセルのセル交換装置内のセル記憶手段に
おける記憶位置を示すアドレス情報とを対応付けて管理
するアドレス管理装置及びセル情報管理方法に関する。TECHNICAL FIELD The present invention relates to digital communication,
In particular, in ATM communication, a cell switching apparatus for exchanging cells based on exchange information attached to a cell, exchange information attached to a cell, and address information indicating a storage position of the cell in a cell storage means in the cell exchange apparatus. The present invention relates to an address management device and a cell information management method for managing the information in association with each other.
【0002】[0002]
【従来の技術】固定長のセルと呼ばれるパケットを交換
するATM交換方式において、共通バッファ型スイッチ
は、入力バッファ型スイッチ、出力バッファ型スイッチ
などの他のタイプのスイッチと比較し、バッファ使用効
率が高いといわれている。しかし、共通バッファ型スイ
ッチでは、マルチキャスト機能を実現することが困難で
あった。2. Description of the Related Art In an ATM switching system for exchanging packets called fixed-length cells, a common buffer type switch has a higher buffer use efficiency than other types of switches such as an input buffer type switch and an output buffer type switch. It is said to be expensive. However, it has been difficult for the common buffer type switch to realize the multicast function.
【0003】図56にマルチキャスト機能を実現するセ
ル交換装置の基本構成の一例を示す。また、図57にこ
のセル交換装置に用いられる従来のアドレス管理装置の
一例を示す(特開平7−235932号公報)。FIG. 56 shows an example of a basic configuration of a cell switching apparatus for realizing a multicast function. FIG. 57 shows an example of a conventional address management device used for this cell switching device (Japanese Patent Laid-Open No. 7-235932).
【0004】セル交換装置は、基本的には、アドレス管
理装置10000、出力情報処理装置200、セル記憶
装置300、入力処理装置400−1〜400−m、出
力処理装置500−1〜500−n、多重装置600、
分離装置700で構成される。[0004] Basically, the cell switching device is composed of an address management device 10000, an output information processing device 200, a cell storage device 300, input processing devices 400-1 to 400-m, and output processing devices 500-1 to 500-n. , Multiplexing device 600,
It is composed of a separation device 700.
【0005】入力処理装置400−1〜400−mは、
入力されたセルからセルに付けられた宛先情報を抽出
し、出力情報処理装置200へ転送する。また、入力さ
れたセルを多重装置600へ転送する。[0005] The input processing devices 400-1 to 400-m are:
The destination information attached to the cell is extracted from the input cell and transferred to the output information processing device 200. Also, the input cell is transferred to the multiplexer 600.
【0006】出力情報処理装置200は、入力処理装置
400から転送された宛先情報を処理し、アドレス管理
装置10000に転送する。[0006] The output information processing device 200 processes the destination information transferred from the input processing device 400 and transfers it to the address management device 10000.
【0007】アドレス管理装置10000は、出力情報
処理装置200から転送された宛先情報にしたがって、
入力されたセルの書き込みアドレスを生成し、セル記憶
装置300へ転送する。[0007] The address management device 10000, according to the destination information transferred from the output information processing device 200,
A write address of the input cell is generated and transferred to the cell storage device 300.
【0008】セル記憶装置300は、多重装置600か
ら転送されたセルをアドレス管理装置10000で生成
されたアドレスに書き込む。また、アドレス管理装置1
0000で生成された読み出しアドレスのセルを読み出
し、分離装置700へ転送する。[0008] The cell storage device 300 writes the cell transferred from the multiplexing device 600 to the address generated by the address management device 10000. Also, the address management device 1
The cell of the read address generated in 0000 is read and transferred to the separation device 700.
【0009】出力処理装置500−1〜500−nは、
分離装置700から転送されたセルを出力する。The output processing devices 500-1 to 500-n are:
The cell transferred from the separation device 700 is output.
【0010】多重装置600は、入力処理装置400か
ら転送されたセルを多重し、セル記憶装置300へ転送
する。[0010] The multiplexing device 600 multiplexes the cells transferred from the input processing device 400 and transfers the multiplexed cells to the cell storage device 300.
【0011】分離装置700は、セル記憶装置300か
ら転送されたセルを分離し、出力処理装置500へ転送
する。The separating device 700 separates the cells transferred from the cell storage device 300 and transfers the cells to the output processing device 500.
【0012】図57に示されるように、従来のアドレス
管理装置10000は、セルに付加された宛先情報を記
憶する宛先情報レジスタ11100−1〜11100−
k、セルが記憶されるアドレスを記憶するアドレスポイ
ンタレジスタ11300−1〜11300−k、宛先情
報レジスタおよびアドレスポインタレジスタの制御を行
うユニット制御装置11200−1〜11200−kと
でそれぞれ構成されるk個のアドレス管理ユニット11
000−1〜11000−k、検索回路12000、ア
ドレスポインタ出力回路13000、および宛先情報入
力回路14000とで構成される。As shown in FIG. 57, a conventional address management device 10000 includes destination information registers 11100-1 to 11100- for storing destination information added to a cell.
k, address pointer registers 11300-1 to 11300-k for storing addresses at which cells are stored, and unit control devices 11200-1 to 11200-k for controlling a destination information register and an address pointer register, respectively. Address management units 11
000-1 to 11000-k, a search circuit 12000, an address pointer output circuit 13000, and a destination information input circuit 14000.
【0013】この従来のアドレス管理装置10000
は、入力動作、出力動作、シフト動作の3つの動作を行
うことによって、図56に例示されるセル交換装置のア
ドレスを制御する。This conventional address management device 10000
Controls the address of the cell switching device illustrated in FIG. 56 by performing three operations of an input operation, an output operation, and a shift operation.
【0014】以下、入力動作、出力動作、シフト動作に
ついて、それぞれ説明する。The input operation, output operation, and shift operation will be described below.
【0015】(入力動作)入力動作では、“空き”であ
るアドレス管理ユニットを下方(図57では11000
−1(すなわち、最も古いセルに対応するアドレス管理
ユニット)の方)から検索し、最初に条件に一致したア
ドレス管理ユニットのアドレスポインタの値を入力され
たセルの書き込みアドレスとして出力するとともに、そ
のアドレス管理ユニットの宛先情報レジスタに入力され
たセルの宛先情報を書き込む。(Input operation) In the input operation, the "empty" address management unit is moved downward (11000 in FIG. 57).
-1 (that is, the address management unit corresponding to the oldest cell), and the value of the address pointer of the address management unit that first matches the condition is output as the write address of the input cell. The destination information of the cell input to the destination information register of the address management unit is written.
【0016】入力動作の例を図58に示す。図58は、
4つの出力ポート(#1,#2,#3,#4)を持ち、
8つのセルを蓄積できるセルバッファを持つスイッチに
用いられるアドレス管理装置における例を示している。FIG. 58 shows an example of the input operation. FIG.
It has four output ports (# 1, # 2, # 3, # 4)
An example is shown in an address management device used for a switch having a cell buffer capable of storing eight cells.
【0017】図58の例では、宛先情報レジスタにおい
て、それぞれの宛先(Destination)ごとに
1ビットを割り当てている。すなわち、ここでは、各ア
ドレス管理ユニットの宛先iに対応するビットが1であ
る場合に、そのアドレス管理ユニットに対応するセルが
i行きであることを示している。例えば、図58中にお
いて出力ポート#1で示されている列の内容は、それぞ
れのアドレス管理ユニットが出力ポート#1行きである
かどうかを意味している。また、例えば、#4のアドレ
ス管理ユニットは、出力に対するビットが“0001”
であるが、これは、出力ポート#4に出力されることを
意味している。In the example of FIG. 58, one bit is assigned to each destination (Destination) in the destination information register. That is, here, when the bit corresponding to the destination i of each address management unit is 1, it indicates that the cell corresponding to the address management unit is going to i. For example, the contents of the column indicated by output port # 1 in FIG. 58 indicate whether each address management unit is destined for output port # 1. For example, in the address management unit # 4, the bit corresponding to the output is “0001”.
However, this means that the data is output to the output port # 4.
【0018】「empty」と示しているアドレス管理
ユニットは、“空き”を意昧している。図58(a)の
例では、#1〜#4の4つのアドレス管理ユニットが
“空き”では無いので、このアドレス管理装置には、4
つのセルに関する情報が保持されている。The address management unit indicated as "empty" means "empty". In the example of FIG. 58A, since the four address management units # 1 to # 4 are not “empty”, this address management device
Holds information about one cell.
【0019】「Address Pointer」は、
セルが書き込まれるアドレスを意味している。アドレス
の値は、セル記憶装置300のアドレスと一対一に対応
している。例えば、#4のアドレス管理ユニットに対応
したセルは、アドレス“3”に記憶されている。図58
(a)の例では、#1,#2,#3,#4のアドレス管
理ユニットに対応するアドレスにセルが保持されてい
る。"Address Pointer"
It means the address where the cell is written. The value of the address has a one-to-one correspondence with the address of the cell storage device 300. For example, the cell corresponding to the address management unit # 4 is stored at the address “3”. Fig. 58
In the example of (a), cells are held at addresses corresponding to the address management units # 1, # 2, # 3, and # 4.
【0020】それぞれのセルの到着順序は、そのセルが
対応するアドレス管理ユニットのアドレス管理装置内の
位置によって与えられる。図58の例では、下にあるも
のが古い。したがって、#1のアドレス管理ユニットに
対応するセルがもっとも古い。The order of arrival of each cell is given by the location in the address management unit of the address management unit to which the cell corresponds. In the example of FIG. 58, the one below is old. Therefore, the cell corresponding to the address management unit # 1 is the oldest.
【0021】さて、図58(a)は、入力動作の前の状
態を示している。入力動作が行われる前には、このよう
に“空き”でないアドレス管理ユニットが下の方に詰め
られている必要がある。FIG. 58A shows a state before the input operation. Before the input operation is performed, the address management units that are not “empty” need to be packed in the lower part.
【0022】入力動作では、“空き”アドレス管理ユニ
ットを下から(すなわち最も古いものから)検索してい
く。最初にアドレスポインタとして“4”を持つ#5の
アドレス管理ユニットが検索される。入力されたセルの
宛先情報(この例では、“1010”)は、このアドレ
ス管理ユニットに記憶される。この状態を図58(b)
に示す。In the input operation, an "empty" address management unit is searched from the bottom (that is, the oldest one). First, the address management unit # 5 having “4” as the address pointer is searched. The input destination information (“1010” in this example) of the cell is stored in the address management unit. This state is shown in FIG.
Shown in
【0023】このとき、アドレスポインタ“4”が出力
され、入力されたセルは、アドレスポインタ“4”が示
すアドレスに記憶される。At this time, the address pointer "4" is output, and the input cell is stored at the address indicated by the address pointer "4".
【0024】以上のような動作によって新しく入力され
たセルに対応するアドレス管理ユニットを古いセルに対
応するアドレス管理ユニットの上におくことができ、到
着順序を保持することが可能となる。With the above operation, the address management unit corresponding to the newly input cell can be placed on the address management unit corresponding to the old cell, and the arrival order can be maintained.
【0025】(出力動作)出力動作では、出力するポー
ト行きの宛先を持つアドレス管理ユニットを下方から1
つずつ検索し、最初に検索条件に一致したアドレス管理
ユニットのアドレスポインタの値を出力するとともに、
該当する宛先情報を消去する(ここでは0にする)。(Output Operation) In the output operation, an address management unit having a destination destined for the port to be output is set to 1 from the bottom.
Search one by one, and first output the address pointer value of the address management unit that matches the search condition,
The corresponding destination information is deleted (here, it is set to 0).
【0026】出力動作の例を図59に示す。出力動作で
は、まず、該当する出力ポート行きの宛先情報を持つア
ドレス管理ユニットを下から検索する。図59(a)の
例では、出力ポート#1に対しては、アドレスポインタ
“0”を持つ#1のアドレス管理ユニット、出力ポート
#2に対しては、アドレスポインタ“1”を持つ#2の
アドレス管理ユニット、出力ポート#3に対しては、ア
ドレスポインタ“0”を持つ#1のアドレス管理ユニッ
ト、出力ポート#4に対しては、アドレスポインタ
“2”を持つ#3のアドレス管理ユニットがそれぞれ検
索される。FIG. 59 shows an example of the output operation. In the output operation, first, an address management unit having destination information for the corresponding output port is searched from below. In the example of FIG. 59 (a), the output port # 1 has an address pointer "0" for the address management unit # 1, and the output port # 2 has an address pointer "1" for the output port # 2. For the output port # 3, the address management unit # 1 having the address pointer "0", and for the output port # 4, the address management unit # 3 having the address pointer "2". Are respectively searched.
【0027】そして、それぞれのアドレスポインタの値
がセルバッファに転送され、該当するセルが出力され
る。また、読み出されたセルに対する宛先情報は、0に
リセットされ、図59(b)に示すように変化する。Then, the value of each address pointer is transferred to the cell buffer, and the corresponding cell is output. Also, the destination information for the read cell is reset to 0, and changes as shown in FIG.
【0028】(シフト動作)シフト動作では、出力動作
によって“空き”となったアドレス管理ユニットを詰め
るために、“空き”であるアドレス管理ユニットを検索
し、検索されたアドレス管理ユニット以降のアドレス管
理ユニット(検索されたアドレス管理ユニットを含む)
をシフトするとともに、検索されたアドレス管理ユニッ
トのアドレスポインタの値を最上部のアドレスポインタ
レジスタに入力する。(Shift Operation) In the shift operation, in order to reduce the number of address management units which have become "empty" by the output operation, an "empty" address management unit is searched for, and the address management after the searched address management unit is performed. Unit (including the searched address management unit)
And input the value of the searched address pointer of the address management unit to the uppermost address pointer register.
【0029】シフト動作の例を図60に示す。シフト動
作では、“空き”アドレス管理ユニットを下から検索す
る。図60(a)の例では、アドレスポインタ“2”を
持つ#3のアドレス管理ユニットが検索される。検索さ
れたアドレス管理ユニット以降の内容がシフトされ、検
索されたアドレス管理ユニットのアドレスポインタの値
“2”は、最上部(本例ではすなわち#8)のアドレス
管理ユニットに入力される。この結果、アドレス管理装
置の内部状態は図60(b)のように変化する。FIG. 60 shows an example of the shift operation. In the shift operation, an "empty" address management unit is searched from below. In the example of FIG. 60A, the address management unit # 3 having the address pointer “2” is searched. The contents after the searched address management unit are shifted, and the value “2” of the address pointer of the searched address management unit is input to the uppermost (in this example, # 8) address management unit. As a result, the internal state of the address management device changes as shown in FIG.
【0030】以上のようなアドレス管理装置を用いるこ
とによってマルチキャスト機能が実現される。The multicast function is realized by using the above address management device.
【0031】しかしながら、このような従来のアドレス
管理装置には次のような問題点があった。However, such a conventional address management device has the following problems.
【0032】すなわち、出力動作では、検索条件を満足
するアドレス管理ユニットを検索し、そのアドレス管理
ユニットに対応して保持されているアドレスポインタを
出力する手順を踏むことになるが、この検索動作におい
て、最も古いセルが検索されるまですべてのアドレス管
理ユニットを逐次的に検索する必要があり、この検索処
理が終了しなければ該当するアドレスポインタを出力す
ることができず、これが処理の高速化を阻んでいた。That is, in the output operation, a procedure for searching for an address management unit satisfying the search condition and outputting an address pointer held corresponding to the address management unit is performed. However, it is necessary to sequentially search all address management units until the oldest cell is searched. If this search processing is not completed, the corresponding address pointer cannot be output, which speeds up the processing. I was blocking.
【0033】また、セルの入力にもセルの出力にも直接
的には作用しないシフト動作を必ず必要とし、このシフ
ト動作がセル交換装置の入出力動作を待たせる時間を生
じさせることになり、セル交換装置の動作速度を遅くし
てしまうという問題もあった。Further, a shift operation which does not directly affect the input of the cell or the output of the cell is necessarily required, and this shift operation causes a time for waiting for the input / output operation of the cell switching apparatus. There is also a problem that the operation speed of the cell switching device is reduced.
【0034】[0034]
【発明が解決しようとする課題】以上のように、従来の
マルチキャスト機能を実現するアドレス管理装置では、
高速な動作を行うことが困難であるという問題があっ
た。As described above, in the conventional address management device for realizing the multicast function,
There is a problem that it is difficult to perform a high-speed operation.
【0035】本発明は、上記事情を考慮してなされたも
ので、マルチキャスト機能を実現することが可能で、か
つ、高速に動作させることの可能なアドレス管理装置を
提供することを目的とする。The present invention has been made in view of the above circumstances, and has as its object to provide an address management device which can realize a multicast function and can operate at high speed.
【0036】[0036]
【課題を解決するための手段】本発明(請求項1)は、
入力したセルを一時的に蓄積するための複数の出力先で
共有されたセル記憶手段と、このセル記憶手段に蓄積さ
れたセルをそのヘッダ情報に基づいて決定される1また
は複数の出力先へ交換する手段と、各セルについて該セ
ル記憶手段における記憶位置を示すアドレス情報(例え
ば、アドレスポインタ)と該セルの1または複数の出力
先との対応を管理するアドレス管理手段とを備えたセル
交換装置であって、前記アドレス管理手段は、出力先毎
に設けられた蓄積手段であって、自身に対応する出力先
を持つ入力セルに対して割り当てられたアドレス情報を
保持し、指示に従って保持しているアドレス情報を出力
するための蓄積手段と、出力先毎に設けられた検出手段
であって、自身に対応する蓄積手段以外の蓄積手段から
出力されたアドレス情報と同じものが自身に対応する蓄
積手段内に保持されているか否かを検出するための検出
手段と、出力先毎に設けられた前記検出手段の検出結果
に基づいて、いずれかの前記蓄積手段から出力されたア
ドレス情報であって、いずれの前記蓄積手段にも保持さ
れていないことが判明したもの(すなわち、セル記憶手
段においてセルが記憶されていない空きの記憶位置を示
すアドレス情報)を、新たな入力セルに割り当て可能な
アドレス情報として保持するための管理手段とを備えた
ことを特徴とする。Means for Solving the Problems The present invention (claim 1) provides:
Cell storage means shared by a plurality of output destinations for temporarily storing input cells, and cells stored in the cell storage means to one or more output destinations determined based on the header information A cell exchange comprising: means for exchanging; and address management means for managing correspondence between address information (for example, an address pointer) indicating a storage location in the cell storage means for each cell and one or a plurality of output destinations of the cell. The device, wherein the address management means is storage means provided for each output destination, and holds address information assigned to an input cell having an output destination corresponding to itself, and holds the address information according to an instruction. Storage means for outputting the address information stored in the storage means, and address means output from storage means other than the storage means corresponding to the storage means provided for each output destination. Detecting means for detecting whether or not the same information as the information is stored in the storing means corresponding to the information processing apparatus; and any one of the storage means based on the detection result of the detecting means provided for each output destination. The address information output from the means, which is found not to be held in any of the storage means (that is, address information indicating an empty storage position where no cell is stored in the cell storage means) And management means for holding as address information that can be assigned to a new input cell.
【0037】本発明(請求項2)は、入力したセルを、
複数の出力先で共有されたセル記憶手段に一時的に蓄積
した後、そのヘッダ情報に基づいて決定される1または
複数の出力先へ交換するセル交換装置のために、各セル
について該セル記憶手段における記憶位置を示すアドレ
ス情報(例えば、アドレスポインタ)と該セルの1また
は複数の出力先との対応を管理するアドレス管理装置で
あって、出力先毎に設けられた蓄積手段であって、自身
に対応する出力先を持つ入力セルに対して割り当てられ
たアドレス情報を保持し、指示に従って保持しているア
ドレス情報を出力するための蓄積手段と、出力先毎に設
けられた検出手段であって、自身に対応する蓄積手段以
外の蓄積手段から出力されたアドレス情報と同じものが
自身に対応する蓄積手段内に保持されているか否かを検
出するための検出手段と、出力先毎に設けられた前記検
出手段の検出結果に基づいて、いずれかの前記蓄積手段
から出力されたアドレス情報であって、いずれの前記蓄
積手段にも保持されていないことが判明したものを、新
たな入力セルに割り当て可能なアドレス情報として保持
させるための管理手段とを備えたことを特徴とする。According to the present invention (claim 2), the inputted cell is
For a cell switching device that temporarily stores in a cell storage unit shared by a plurality of output destinations and then switches to one or more output destinations determined based on the header information, the cell storage unit stores the cell storage for each cell. An address management device for managing a correspondence between address information (for example, an address pointer) indicating a storage position in the means and one or a plurality of output destinations of the cell, wherein the storage means is provided for each output destination; Storage means for holding the address information assigned to the input cell having the output destination corresponding to itself and outputting the held address information in accordance with the instruction; and detecting means provided for each output destination. To detect whether or not the same address information output from the storage means other than the storage means corresponding to itself is stored in the storage means corresponding to itself. It is determined that the address information is output from any one of the storage units and is not stored in any one of the storage units based on the detection result of the detection unit provided for each output destination. Management means for storing the address information as address information that can be assigned to a new input cell.
【0038】好ましくは、新たな入力セルに割り当て可
能なアドレス情報を保持し、保持されているアドレス情
報から選択されたものを入力セルに対して割り当てるた
めの手段と、前記入力セルに対して割り当てられたアド
レス情報を、該入力セルのヘッダ情報に基づいて決定さ
れる1または複数の出力先に対応する前記蓄積手段に保
持させるための手段とをさらに備えたことを特徴とす
る。[0038] Preferably, means for holding address information that can be assigned to a new input cell, and assigning selected address information from the held address information to the input cell, Means for holding the obtained address information in the storage means corresponding to one or a plurality of output destinations determined based on the header information of the input cell.
【0039】好ましくは、前記蓄積手段は保持している
アドレス情報を入力された順に出力するものであり、前
記割り当てるための手段は、保持しているアドレス情報
を入力された順に選択するものである。Preferably, the storage means outputs the stored address information in the order of input, and the means for allocating selects the stored address information in the order of input. .
【0040】好ましくは、前記出力先毎の蓄積手段への
アドレス情報の入力と前記出力先毎の蓄積手段からのア
ドレス情報の出力との少なくとも一方を各出力先につい
て並列的に行うための手段を更に備えるようにしてもよ
い。Preferably, there is provided means for performing at least one of inputting address information to the storage means for each output destination and outputting address information from the storage means for each output destination in parallel for each output destination. It may be further provided.
【0041】本発明(請求項6)は、入力したセルを、
複数の出力先で共有されたセル記憶手段に一時的に蓄積
した後、そのヘッダ情報に基づいて決定される1または
複数の出力先へ交換するセル交換装置のために、各セル
について該セル記憶手段における記憶位置を示すアドレ
ス情報(例えば、アドレスポインタ)と該セルの1また
は複数の出力先(例えば、出力ポート番号。また、同一
出力ポートに複数の出力先がある場合は当該出力先)と
の対応を管理するセル情報管理方法であって、入力セル
に対して割り当てられた前記アドレス情報を、該入力セ
ルのヘッダ情報に基づいて決定される1または複数の出
力先に1対1に対応する各蓄積手段に保持し、指示され
た出力先に対応する前記蓄積手段から前記アドレス情報
を出力し、出力されたアドレス情報と同じものが、他の
蓄積手段に依然として保持されているか否かを検出し、
いずれの前記蓄積手段にも保持されていないことが判明
した場合には、そのアドレス情報を、新たな入力セルに
割り当て可能なアドレス情報として保持することを特徴
とする。According to the present invention (claim 6), the inputted cell is
For a cell switching device that temporarily stores in a cell storage unit shared by a plurality of output destinations and then switches to one or more output destinations determined based on the header information, the cell storage unit stores the cell storage for each cell. Address information (for example, an address pointer) indicating a storage location in the means, one or more output destinations of the cell (for example, an output port number, and when there are a plurality of output destinations in the same output port, the output destination); A cell information management method for managing the correspondence of the input cell, wherein the address information assigned to the input cell has a one-to-one correspondence with one or a plurality of output destinations determined based on header information of the input cell. The address information is output from the storage means corresponding to the designated output destination, and the same output address information is still stored in the other storage means. Detecting whether it is held Te,
When it is determined that the input information is not stored in any of the storage units, the address information is stored as address information that can be assigned to a new input cell.
【0042】なお、出力先は、例えば、出力ポートであ
るが、本発明は、出力ポートをさらに仮想チャネル(V
C)毎やクラス毎に管理するものにも適用可能である。The output destination is, for example, an output port. In the present invention, the output port is further added to a virtual channel (V
C) It is also applicable to those managed for each class or each class.
【0043】また、本発明は、ATMセルに限らず、例
えば、IPパケットのような可変長のパケット)を扱う
ものにも適用可能である。The present invention can be applied not only to ATM cells but also to those which handle, for example, packets of variable length such as IP packets.
【0044】また、本発明は、交換装置に限らず、例え
ば、分離装置(デマルチプレクサ)など他のものにも適
用可能である。The present invention is not limited to the switching device, but can be applied to other devices such as a separation device (demultiplexer).
【0045】なお、以上の各装置に係る発明は方法に係
る発明としても成立し、方法に係る発明は装置に係る発
明としても成立する。The invention relating to each apparatus described above is also valid as an invention relating to a method, and the invention relating to a method is also valid as an invention relating to an apparatus.
【0046】本発明によれば、出力待ちになっているセ
ルのアドレス情報を、出力先ごとに分けて管理するとと
もに、その管理に用いる前記蓄積手段毎に他の(出力先
に対応する)蓄積手段から出力されたアドレス情報と同
じものが保持されているか否かを検出する(自身から出
力されたアドレス情報と同じものが自身に依然として保
持されていることはない)ようにしたので、マルチキャ
スト機能を実現できるとともに、アドレス情報の入力動
作も出力動作も高速化することができ、またシフト動作
は出力動作に吸収することができ、また空きのアドレス
情報の検索も高速化できる(この結果、同報処理を高速
化することが可能となる)。According to the present invention, the address information of the cell waiting for output is managed separately for each output destination, and another (corresponding to the output destination) is stored for each storage means used for the management. Since it is detected whether or not the same address information output from the means is held (the same address information output from itself is not stored in itself), the multicast function is used. Can be realized, the input operation and the output operation of the address information can be sped up, the shift operation can be absorbed in the output operation, and the search for the empty address information can be sped up. Notification processing can be sped up).
【0047】また、本発明によれば、マルチキャスト機
能を並列に動作させることが可能となり、より高速な動
作を実現することができる。Further, according to the present invention, it is possible to operate the multicast function in parallel, thereby realizing higher-speed operation.
【0048】[0048]
【発明の実施の形態】以下、図面を参照しながら発明の
実施の形態を説明する。Embodiments of the present invention will be described below with reference to the drawings.
【0049】なお、以下では、同じ構成の装置等が複数
ある場合に、その各々の区別を付けるときは、例えば1
100−1、1100−2、…のように、共通の参照番
号の後に“−(ハイフン)番号”を付して示すものとす
る。また、同じ構成の装置等が複数ある場合に、区別を
付けないで説明するときに、“−番号”を付さずに共通
の参照番号だけを示すこともある。In the following, when there are a plurality of devices having the same configuration, when distinguishing each of them, for example, one device is used.
It is assumed that a common reference number, such as 100-1, 1100-2,..., Is followed by a “-(hyphen) number”. In addition, when there are a plurality of devices having the same configuration and the like, and there is no distinction between them, there is a case where only a common reference number is shown without adding a “−number”.
【0050】(第1の実施形態)まず、本発明の第1の
実施形態に係るセル交換装置およびそのアドレス管理装
置について説明する。(First Embodiment) First, a cell switching device and its address management device according to a first embodiment of the present invention will be described.
【0051】本実施形態に係るセル交換装置としては図
56で例示したものを用いるものと想定して説明する
(もちろん、これと同様の機能を有する他の構成のもの
を用いてもよい)。すなわち、本実施形態に係るアドレ
ス管理装置は、図56で例示したセル交換装置またはこ
れと同様の機能を有するものに用いることができる。The description will be made assuming that the cell switching apparatus according to the present embodiment uses the one illustrated in FIG. 56 (of course, another cell having the same function as this may be used). That is, the address management device according to the present embodiment can be used for the cell switching device illustrated in FIG. 56 or a device having the same function as this.
【0052】図1に、本実施形態に係るアドレス管理装
置100の構成例を示す。なお、図1では、4つの出力
ポートに対応するものを例示しているが、出力ポートが
3つ以下や5つ以上の場合も同様にして構成可能であ
る。FIG. 1 shows a configuration example of an address management device 100 according to the present embodiment. Although FIG. 1 illustrates one corresponding to four output ports, the same configuration can be applied to a case where the number of output ports is three or less or five or more.
【0053】本アドレス管理装置は、ポート毎のアドレ
スポインタを管理するポートアドレス管理装置1100
−1〜1100−4、空きアドレスポインタを管理する
空きアドレス管理装置1200、各ポートアドレス管理
装置(1100−1〜1100−4)および空きアドレ
ス管理装置1200の制御を行うキュー制御装置130
0を備えている。This address management device 1100 manages an address pointer for each port.
-1 to 1100-4, a vacant address management device 1200 for managing a vacant address pointer, each port address management device (1100-1 to 1100-4), and a queue control device 130 for controlling the vacant address management device 1200
0 is provided.
【0054】なお、アドレスポインタは、当該セルが書
き込まれるセル記憶装置におけるアドレスを特定可能な
情報で、セル記憶装置における実際のアドレスの値また
は実際のアドレスと一対一に対応付けられている値であ
る。The address pointer is information capable of specifying an address in the cell storage device to which the cell is written, and is an actual address value in the cell storage device or a value associated one-to-one with the actual address. is there.
【0055】各ポートアドレス管理装置1100は、そ
れぞれ、ポート毎のアドレスポインタを到着順で保持す
るための、ポート毎に設けられている論理的なキュー
(ポートキュー)からなるポートアドレスメモリ111
0、このポートキューに保持されているアドレスポイン
タと、他のポートアドレス管理装置のポートキューから
出力されたアドレスポインタとを比較するアドレス比較
装置1120を有する。Each port address management device 1100 has a port address memory 111 comprising a logical queue (port queue) provided for each port for holding an address pointer for each port in the order of arrival.
0, an address comparison device 1120 for comparing an address pointer held in this port queue with an address pointer output from a port queue of another port address management device.
【0056】図1に示したアドレス管理装置の動作につ
いて説明する。The operation of the address management device shown in FIG. 1 will be described.
【0057】本実施形態では、マルチキャストを実現す
るために、出力ポート毎にアドレスポインタのキューを
用意する。マルチキャストセルに対しては、複数の出力
ポート毎のアドレスポインタのキューにアドレスポイン
タを入力する。したがって、読み出しを行うときに1つ
のアドレスポインタに書き込まれたセルが、複数の出力
ポートから読み出されるので、マルチキャストを実現で
きる。In this embodiment, a queue of address pointers is prepared for each output port in order to realize multicasting. For a multicast cell, an address pointer is input to a queue of address pointers for each of a plurality of output ports. Therefore, the cell written to one address pointer at the time of reading is read from a plurality of output ports, so that multicast can be realized.
【0058】また、本実施形態では、1つのアドレスポ
インタが複数のキューに転送されるので、セルが保持さ
れていない、すなわち“空き”であるアドレスポインタ
を識別しなければならない。そのために、本アドレス管
理装置では、出力ポート毎のキューに対して、出力によ
って読み出されたアドレスポインタが、他のアドレスポ
インタのキューに保持されているかどうかを検索し、他
のアドレスポインタに保持されていないときに、空きア
ドレスポインタとして利用可能であると識別する。In this embodiment, since one address pointer is transferred to a plurality of queues, it is necessary to identify an address pointer that does not hold a cell, that is, is “empty”. For this purpose, the address management device searches the queue for each output port to determine whether the address pointer read by the output is held in the queue of another address pointer, and holds it in the other address pointer. If not, it identifies that it is available as a free address pointer.
【0059】最初にセル入力時のアドレスポインタのポ
ートアドレス管理装置への書き込み動作について説明す
る。First, the operation of writing the address pointer into the port address management device at the time of cell input will be described.
【0060】書き込み動作では、セル交換装置の制御回
路(図56の例では出力情報処理装置200)から本ア
ドレス管理装置のキュー制御装置1300に対して、セ
ル交換装置内のセルバッファ(セル記憶装置)に書き込
まれるセルの宛先情報から得られた出力ポート情報と書
き込み指示信号とが送られる。これらを受けたキュー制
御装置1300は、空きアドレス管理装置1200に読
み出し指示信号を転送する。空きアドレス管理装置12
00は、空きアドレスポインタを各ポートアドレス管理
装置1100へ転送する。同時にキュー制御装置130
0は、書き込まれるセルの出力ポート情報にしたがって
対応するポート管理装置1100に書き込み指示信号を
送る。書き込み指示信号を受けとったポートアドレス管
理装置1100は、空きアドレス管理装置1200から
転送されたアドレスポインタをポートアドレスメモリ1
110に書き込む。In the write operation, the control circuit (the output information processing device 200 in the example of FIG. 56) of the cell switching device sends the cell buffer (cell storage device) in the cell switching device to the queue control device 1300 of the address management device. ), Output port information obtained from the destination information of the cell to be written and a write instruction signal are sent. The queue control device 1300 receiving these transfers a read instruction signal to the free address management device 1200. Free address management device 12
00 transfers the free address pointer to each port address management device 1100. At the same time, the queue control device 130
0 sends a write instruction signal to the corresponding port management device 1100 according to the output port information of the cell to be written. Upon receiving the write instruction signal, the port address management device 1100 stores the address pointer transferred from the free address management device 1200 in the port address memory 1.
Write to 110.
【0061】次に読み出し動作について説明する。Next, the read operation will be described.
【0062】読み出し動作では、セル交換装置の制御回
路(図56の例では出力情報処理装置200)から本ア
ドレス管理装置のキュー制御装置1300に対して、読
み出しする出力ポートの情報と読み出し指示信号とが送
られる。キュー制御装置1300は、指定された出力ポ
ートに対応するポートアドレス管理装置1100に対し
てアドレスの出力を指示する。ポートアドレス管理装置
1100は、最も古いセルに対応するアドレスポインタ
を他のポートアドレス管理装置1100と空きアドレス
管理装置1200とセル記憶装置(図56の例ではセル
記憶装置300)に出力する。アドレス比較装置112
0では、ポートアドレスメモリ1110内の内容と転送
されたアドレスポインタの値を比較し、その結果をキュ
ー制御装置1300に転送する。キュー制御装置130
0は、ポートアドレス管理装置1100のアドレス比較
装置1120のどれも一致したアドレスポインタが無い
ことを示したとき、空きアドレス管理装置1200に対
して書き込み指示を行う。In the read operation, the control circuit of the cell switching device (the output information processing device 200 in the example of FIG. 56) sends the information of the output port to be read and the read instruction signal to the queue control device 1300 of the address management device. Is sent. The queue control device 1300 instructs the port address management device 1100 corresponding to the specified output port to output an address. The port address management device 1100 outputs an address pointer corresponding to the oldest cell to the other port address management device 1100, the free address management device 1200, and the cell storage device (the cell storage device 300 in the example of FIG. 56). Address comparison device 112
At 0, the contents of the port address memory 1110 are compared with the value of the transferred address pointer, and the result is transferred to the queue control device 1300. Queue control device 130
If 0 indicates that none of the address comparison devices 1120 of the port address management device 1100 has a matching address pointer, a write instruction is issued to the free address management device 1200.
【0063】次に、図2から図10を参照しながら本実
施形態における動作例について詳細に説明する。Next, an example of the operation in this embodiment will be described in detail with reference to FIGS.
【0064】図2から図10に示した例では、セルバッ
ファサイズを8と仮定している。したがって、各ポート
アドレス管理装置1100のポートアドレスメモリと空
きアドレス管理装置1200のアドレスポインタのエン
トリ数はいずれも“8”である。また、図2〜図8の例
では、出力ポートが4つであり、ポートアドレス管理装
置1100−1が出力ポート#1に、ポートアドレス管
理装置1100−2が出力ポート#2に、ポートアドレ
ス管理装置1100−3が出力ポート#3に、ポートア
ドレス管理装置1100−4が出力ポート#4にそれぞ
れ対応している(図2中に記述した#1、#2、#3、
#4にて対応を示してある)。なお、この例では、メモ
リはFIFO動作を表すためにポートアドレスメモリ1
110は、古いものが下になるように、また、空きアド
レス管理装置1200は、古いものが上になるように表
現されている。In the examples shown in FIGS. 2 to 10, it is assumed that the cell buffer size is 8. Therefore, the number of entries of the port address memory of each port address management device 1100 and the number of entries of the address pointer of the free address management device 1200 are both “8”. 2 to 8, there are four output ports, the port address management device 1100-1 is assigned to the output port # 1, the port address management device 1100-2 is assigned to the output port # 2, and the port address management is performed. The device 1100-3 corresponds to the output port # 3, and the port address management device 1100-4 corresponds to the output port # 4 (# 1, # 2, # 3, and # 3 described in FIG. 2).
The correspondence is shown in # 4). In this example, the memory is a port address memory 1 to represent the FIFO operation.
110 is expressed such that the old one is at the bottom, and the free address management device 1200 is expressed so that the old one is at the top.
【0065】図2は、アドレス管理装置の初期状態を表
している。初期状態では、セルバッファのすべてのアド
レスポインタが空きアドレス管理装置1200に保持さ
れている。また、ポートアドレス管理装置1100のポ
ートアドレスメモリ1110には、何も保持されていな
い。FIG. 2 shows an initial state of the address management device. In the initial state, all the address pointers of the cell buffer are held in the empty address management device 1200. Nothing is held in the port address memory 1110 of the port address management device 1100.
【0066】最初に書き込み動作の例について説明す
る。図2に示した状態から、出力ポート#1と出力ポー
ト#3に向かうセルが入力された場合の変化を図3に示
す。このとき、キュー制御装置1300から空きアドレ
ス管理装置1200に対して読み出し要求が出され、ア
ドレスポインタ“0”が読み出される。また、出力ポー
ト#1に対応するポートアドレス管理装置1100−1
と出力ポート#3に対応するポートアドレス管理装置1
100−3とに対して書き込み要求が出され、空きアド
レス管理装置1200から読み出されたアドレスポイン
タ“0”がポートアドレス管理装置1100−1とポー
トアドレス管理装置1100−3に書き込まれる。First, an example of the write operation will be described. FIG. 3 shows a change from the state shown in FIG. 2 in the case where cells directed to output port # 1 and output port # 3 are input. At this time, a read request is issued from the queue control device 1300 to the free address management device 1200, and the address pointer “0” is read. The port address management device 1100-1 corresponding to the output port # 1
Address management device 1 corresponding to and output port # 3
A write request is issued to the port address management device 100-3, and the address pointer “0” read from the free address management device 1200 is written to the port address management device 1100-1 and the port address management device 1100-3.
【0067】同様に、図4は、出力ポート#1行きと出
力ポート#2行きのセルが入力された場合の動作、図5
は、出力ポート#4行きのセルが入力された場合の動
作、図6は、出力ポート#4行きのセルが入力された場
合の動作を表している。Similarly, FIG. 4 shows the operation when cells to output port # 1 and output port # 2 are input.
Shows an operation when a cell destined for output port # 4 is input, and FIG. 6 shows an operation when a cell destined for output port # 4 is input.
【0068】次に、読み出し動作の例について説明す
る。Next, an example of the read operation will be described.
【0069】図7は、図6に示した状態から、出力ポー
ト#1の読み出しを行った場合の変化を示している。こ
の場合、キュー制御装置1300から出力ポート#1に
対応したポートアドレス管理装置1100−1に対して
読み出し要求が出される。ポートアドレス管理装置11
00−1は、読み出し要求を受けとると、最も古いアド
レスポインタを読み出す。この場合、“0”が読み出さ
れる。そして、そのアドレスポインタがその他のポート
アドレス管理装置1100−2〜1100−4と空きア
ドレス管理装置1200へ転送される。ポートアドレス
管理装置1100−2〜ポートアドレス管理装置110
0−4は、それぞれ、転送されたアドレスポインタとポ
ートアドレスメモリ内の内容を比較し、比較結果をキュ
ー制御装置1300へ転送する。FIG. 7 shows a change when the output port # 1 is read from the state shown in FIG. In this case, a read request is issued from the queue control device 1300 to the port address management device 1100-1 corresponding to the output port # 1. Port address management device 11
Upon receiving the read request, 00-1 reads the oldest address pointer. In this case, "0" is read. Then, the address pointer is transferred to the other port address management devices 1100-2 to 1100-4 and the free address management device 1200. Port address management device 1100-2 to port address management device 110
0-4 respectively compare the transferred address pointer with the contents in the port address memory, and transfer the comparison result to the queue control device 1300.
【0070】図7の例では、ポートアドレス管理装置1
100−2とポートアドレス管理装置1100−4は、
アドレスポインタ“0”を持たないのでアドレスポイン
タ0を持たないことをキュー制御装置1300に転送
し、ポートアドレス管理装置1100−3は、アドレス
ポインタ0を持つのでアドレスポインタ“0”を持つこ
とをキュー制御装置1300に転送する。アドレスポイ
ンタ“0”は、まだポートアドレス管理装置1300が
使用中であり、空きアドレスポインタとして再利用でき
ないので、キュー制御装置1300は、空きアドレス管
理装置1200に対して書き込み要求を出さない。In the example of FIG. 7, the port address management device 1
100-2 and the port address management device 1100-4
Since it does not have the address pointer "0", the fact that it does not have the address pointer 0 is transferred to the queue control device 1300, and the port address management device 1100-3 queues that it has the address pointer "0" because it has the address pointer 0. Transfer to control device 1300. Since the address pointer “0” is still being used by the port address management device 1300 and cannot be reused as a free address pointer, the queue control device 1300 does not issue a write request to the free address management device 1200.
【0071】同様に図8は、さらに出力ポート#2の読
み出しを行った場合の変化を表している。この場合、ア
ドレスポインタ“1”が出力され、また、ポートアドレ
ス管理装置1100−1がアドレスポインタ“1”を使
用中なので、空きアドレス管理装置1200には書き込
まれない。Similarly, FIG. 8 shows a change when the output port # 2 is further read. In this case, the address pointer “1” is output, and since the port address management device 1100-1 is using the address pointer “1”, it is not written to the free address management device 1200.
【0072】図9は、さらに出力ポート#3の読み出し
を行った場合の変化を表している。この場合、アドレス
ポインタ“0”が出力される。アドレスポインタ“0”
は、他のポートアドレス管理装置1100−1,110
0−2,1100−4で使用されていないので、空きア
ドレスポインタとして使用することができる。したがっ
て、キュー制御装置1300は、空きアドレス管理装置
1200に対して書き込み要求を出し、空きアドレス管
理装置1200は、アドレスポインタ“0”の書き込む
を行う。FIG. 9 shows a change when the output port # 3 is further read. In this case, the address pointer “0” is output. Address pointer "0"
Are the other port address management devices 1100-1 and 110
Since it is not used in 0-2 and 1100-4, it can be used as a free address pointer. Therefore, the queue control device 1300 issues a write request to the free address management device 1200, and the free address management device 1200 writes the address pointer “0”.
【0073】図10は、さらに出力ポート#4の読み出
しを行った場合の変化を表している。この場合、アドレ
スポインタ“2”が出力される。アドレスポインタ
“2”は、他のポートアドレス管理装置1100で使用
されていないので、空きアドレス管理装置1200は、
アドレスポインタ“2”の書き込むを行う。FIG. 10 shows a change when the output port # 4 is further read. In this case, the address pointer “2” is output. Since the address pointer “2” is not used by another port address management device 1100, the free address management device 1200
Write the address pointer "2".
【0074】このようにしてマルチキャストを実現する
ことが可能となる。In this way, multicast can be realized.
【0075】次に、ポートアドレス管理装置1100の
構成について説明する。Next, the configuration of the port address management device 1100 will be described.
【0076】ポートアドレス管理装置1100の機能
は、FIFOとしてアドレスポインタを保持し、また、
保持されているアドレスポインタの内容を比較するとい
うものである。The function of the port address management device 1100 is to hold an address pointer as a FIFO,
That is, the contents of the stored address pointer are compared.
【0077】ここでは、ポートアドレス管理装置110
0の一構成例として、シフトレジスタを用いて構成した
ポートアドレス管理装置1100について説明する。Here, the port address management device 110
As an example of the configuration of 0, a port address management device 1100 configured using a shift register will be described.
【0078】図11にポートアドレス管理装置1100
の構成例を示す。FIG. 11 shows a port address management device 1100.
An example of the configuration will be described.
【0079】図11に示したポートアドレス管理装置1
100は、アドレスポインタを保持する複数のメモリユ
ニット2110と、メモリユニット2110の制御を行
う複数のユニット制御装置2120と、アドレスポイン
タの比較を行う複数のアドレス比較ユニット2130
と、アドレス比較ユニット2130の出力(比較結果)
の集計を行う比較結果集計装置2140とで構成され
る。The port address management device 1 shown in FIG.
Reference numeral 100 denotes a plurality of memory units 2110 for holding address pointers, a plurality of unit controllers 2120 for controlling the memory units 2110, and a plurality of address comparison units 2130 for comparing address pointers.
And the output of the address comparison unit 2130 (comparison result)
And a comparison result totaling device 2140 that performs totaling.
【0080】メモリユニット2110は、アドレスポイ
ンタと有効ビットとを保持する。有効ビットは、メモリ
ユニット2110に有効なアドレスポインタが保持され
ているかどうかを示す。書き込みのときは、ユニット制
御装置2120の制御によって、空きアドレス管理装置
1200から転送されたアドレスポインタを取り込む。
また、読み出しのときは、ユニット制御装置2120の
制御によってシフト動作を行う。The memory unit 2110 holds an address pointer and a valid bit. The valid bit indicates whether the memory unit 2110 holds a valid address pointer. At the time of writing, under the control of the unit control device 2120, the address pointer transferred from the free address management device 1200 is fetched.
At the time of reading, a shift operation is performed under the control of the unit control device 2120.
【0081】ユニット制御装置2120は、キュー制御
装置1300から転送された制御情報にしたがってメモ
リユニット2110の制御を行う。すなわち、書き込み
のときは、空きであるメモリユニット2110にアドレ
スポインタの内容を書き込むように指示し、読み出しの
ときは、シフト動作を行う。空きの検出には、隣合う2
つのメモリユニット2110の有効ビットを利用する。
“H”が有効を意味し、“L”が無効を意味する場合、
下のユニットが“H”でかつ上のユニットが“L”の場
合に上のユニットに対して書き込みを指示する。このよ
うに制御することで、下につめてアドレスポインタを保
持することが可能となり、FIFOとして動作する。The unit control unit 2120 controls the memory unit 2110 according to the control information transferred from the queue control unit 1300. That is, at the time of writing, an instruction is given to write the contents of the address pointer to the empty memory unit 2110, and at the time of reading, the shift operation is performed. To detect vacancies, two adjacent
The valid bits of one memory unit 2110 are used.
When “H” means valid and “L” means invalid,
When the lower unit is “H” and the upper unit is “L”, writing is instructed to the upper unit. By controlling in this way, it is possible to hold the address pointer at the bottom and operate as a FIFO.
【0082】アドレス比較ユニット2130は、対応す
るメモリユニットに保持されているアドレスポインタの
内容と他のポートアドレス管理装置1100から読み出
されたアドレスポインタとの比較を行いそれらが一致す
るかどうかを検出する。The address comparison unit 2130 compares the contents of the address pointer held in the corresponding memory unit with the address pointer read from another port address management device 1100 and detects whether or not they match. I do.
【0083】比較結果集計装置2140は、アドレス比
較ユニット2130の出力を集計し、他のポートアドレ
ス管理装置1100から読み出されたアドレスポインタ
と同じアドレスポインタが保持されているかどうかをキ
ュー制御装置1300に通知する。The comparison result totaling device 2140 totalizes the output of the address comparing unit 2130, and instructs the queue control device 1300 whether or not the same address pointer as the address pointer read from the other port address management device 1100 is held. Notice.
【0084】図12に、ポートアドレス管理装置110
0の詳細な構成例を示す。この構成例は、1ビットの有
効ビットと4ビットのアドレスポインタ4個を保持でき
る例である。なお、図12における1つのメモリユニッ
トに対応する部分の拡大図を図13に示す。FIG. 12 shows a port address management device 110.
0 shows a detailed configuration example. This configuration example is an example that can hold one valid bit and four four-bit address pointers. FIG. 13 is an enlarged view of a portion corresponding to one memory unit in FIG.
【0085】図12には、クロックおよびリセットは示
されていないが、フリップフロップは、クロックに同期
して動作し、また、リセットによって内容がリセットさ
れる。Although the clock and the reset are not shown in FIG. 12, the flip-flop operates in synchronization with the clock, and the content is reset by the reset.
【0086】各メモリユニット2110は、複数のフリ
ップフロップ2111とセレクタ2113との組で構成
される。フリップフロップ2111は、ユニット制御装
置2120の制御信号WEによってセレクタ2113か
らの出力信号を取り込む。セレクタ2113は、上の段
のメモリユニットからの出力と空きアドレス管理装置1
200から出力されたアドレスポインタをキュー制御装
置1300から転送される制御信号によって入力を切替
える。すなわち、書き込みをする場合は、空きアドレス
管理装置1200から出力されたアドレスポインタを、
読み出しをする場合は、上の段のメモリユニットからの
出力をフリップフロップ2111に出力する。なお、図
12において、フリップフロップ2111−0とセレク
タ2113−0は、有効ビットに用いられ、フリップフ
ロップ2111−1〜2111−4とセレクタ2113
−1〜2113−4は、アドレスポインタに用いられ
る。Each memory unit 2110 is composed of a set of a plurality of flip-flops 2111 and a selector 2113. The flip-flop 2111 fetches an output signal from the selector 2113 according to a control signal WE of the unit control device 2120. The selector 2113 is connected to the output from the upper memory unit and the free address management device 1.
The input of the address pointer output from 200 is switched by a control signal transferred from the queue control device 1300. That is, when writing, the address pointer output from the free address management device 1200 is
In the case of reading, an output from the memory unit in the upper stage is output to the flip-flop 2111. In FIG. 12, a flip-flop 2111-0 and a selector 2113-0 are used for valid bits, and the flip-flops 2111-1 to 2111-4 and the selector 2113 are used.
-1 to 2113-4 are used as address pointers.
【0087】各ユニット制御装置2120は、3入力の
アンド(AND)ゲート2121と、2入力のオア(O
R)ゲート2123とで構成される。キュー制御装置1
300からの書き込み許可信号と、下の段のメモリユニ
ット2110の有効ビットからの出力の反転信号と、制
御を行うメモリユニット2110自身の有効ビットから
の信号がアンドゲート2121の入力に接続される。ア
ンドゲート2121の出力は、オアゲート2123に接
続される。また、オアゲート2123のもう一方の入力
には、キュー制御装置1300からの読み出し制御信号
が入力される。オアゲートの出力(WE)は、メモリユ
ニット2110のフリップフロップ2111の制御入力
に入力される。Each unit controller 2120 has a three-input AND gate 2121 and a two-input OR gate (O / O).
R) gate 2123. Queue control device 1
The write enable signal from 300, the inverted signal of the output from the effective bit of the lower memory unit 2110, and the signal from the effective bit of the memory unit 2110 that performs control are connected to the input of the AND gate 2121. The output of the AND gate 2121 is connected to the OR gate 2123. A read control signal from the queue control device 1300 is input to the other input of the OR gate 2123. The output (WE) of the OR gate is input to the control input of the flip-flop 2111 of the memory unit 2110.
【0088】各アドレス比較ユニット2130は、アド
レスポインタのビット数と同じ個数の2入力XNORゲ
ート2131−1〜2131−4とそれらの出力のAN
Dを行うアンドゲート2133とで構成される。XNO
Rゲート2131には、メモリユニット2110のアド
レスポインタの出力信号と他のポートアドレス管理装置
1100あるいは空きアドレス管理装置1200から転
送されたアドレスポインタが入力され、それらが一致し
ているかどうかをアンドゲート2133へ出力する。ア
ンドゲート2133の出力は、比較結果集計装置214
0へ転送される。Each address comparing unit 2130 has two input XNOR gates 2131-1 to 2131-4 of the same number as the number of bits of the address pointer and an AND of their outputs.
And an AND gate 2133 that performs D. XNO
The output signal of the address pointer of the memory unit 2110 and the address pointer transferred from the other port address management device 1100 or free address management device 1200 are input to the R gate 2131, and the AND gate 2133 determines whether or not they match. Output to The output of the AND gate 2133 is output to the comparison result totaling device 214.
0 is transferred.
【0089】比較結果集計装置2140は、オアゲート
2141−1,2141−2,2142−1で構成され
る。図12に示した例では、4つの入力があるので、2
入力のオアゲートを2段接続して階層的に構成してい
る。The comparison result totaling device 2140 comprises OR gates 2141-1, 2141-2, and 2142-1. In the example shown in FIG. 12, since there are four inputs, 2
The input OR gates are connected in two stages to form a hierarchical structure.
【0090】次に、ポートアドレス管理装置1100の
他の構成について説明する。Next, another configuration of the port address management device 1100 will be described.
【0091】ここでは、ポートアドレス管理装置110
0の他の構成例として、メモリを用いて構成したポート
アドレス管理装置1100について説明する。Here, the port address management device 110
As another example of the configuration of the port address management device 1100, a port address management device 1100 configured using a memory will be described.
【0092】図14にメモリを用いたポートアドレス管
理装置1100の構成例を示す。FIG. 14 shows a configuration example of a port address management device 1100 using a memory.
【0093】図14に示したポートアドレス管理装置1
100は、メモリ制御装置3100とメモリ3200と
で構成される。The port address management device 1 shown in FIG.
100 includes a memory control device 3100 and a memory 3200.
【0094】メモリ3200は、メモリ制御装置320
0によって制御され、“R/W”によって読み出し動作
と書き込み動作のどちらかを実行する。書き込み動作時
は、端子“A”に与えられたアドレスに端子“D”に与
えられたデータを記憶する。読み出し動作時は、端子
“A”に与えられたアドレスに保持されている内容を端
子“D”に出力する。The memory 3200 includes a memory controller 320
0, and one of a read operation and a write operation is executed by “R / W”. At the time of the write operation, the data given to the terminal "D" is stored at the address given to the terminal "A". At the time of the read operation, the content held at the address given to the terminal “A” is output to the terminal “D”.
【0095】メモリ制御装置3100は、キュー制御装
置1300から転送される制御情報と、他のポートアド
レス管理装置1100あるいは空きアドレス管理装置1
200から送出されるアドレスポインタ情報を用いて、
メモリ3200を制御する。The memory control device 3100 stores the control information transferred from the queue control device 1300 and the other port address management device 1100 or the free address management device 1
200 using the address pointer information sent from
The memory 3200 is controlled.
【0096】メモリ制御装置3100は、メモリ320
0をFIFOとして制御するために、メモリ3200を
リングバッファとして制御する。また、アドレスポイン
タの比較のために、メモリ3200の内容を読み出して
転送されたアドレスポインタとの比較を行う機能を持
つ。The memory control device 3100 includes a memory 320
In order to control 0 as a FIFO, the memory 3200 is controlled as a ring buffer. In addition, it has a function of reading the contents of the memory 3200 and comparing it with the transferred address pointer to compare the address pointer.
【0097】次に、図15〜図22を参照しながらメモ
リ制御装置3100の動作例について説明する。Next, an example of the operation of the memory control device 3100 will be described with reference to FIGS.
【0098】図15〜図22の例では、メモリ3200
は、アドレス“0”からアドレス“7”までの8つのエ
ントリを持つ。“WP”は書き込みポインタの値、“R
P”は読み出しポインタの値、“NUM”はメモリ32
00に保存されているアドレスポインタ数を表してい
る。In the example of FIGS. 15 to 22, the memory 3200
Has eight entries from address “0” to address “7”. “WP” is the value of the write pointer, “R”
“P” is the value of the read pointer, “NUM” is the memory 32
00 represents the number of address pointers stored in 00.
【0099】図15は、メモリ制御装置3100とメモ
リ3200の初期状態を表している。初期状態では、メ
モリ3200には、有効な情報は保存されていない。ま
た、WPとRPはともにアドレス“0”を示し、アドレ
スポインタ数は0なので、NUMは0である。FIG. 15 shows an initial state of the memory control device 3100 and the memory 3200. In an initial state, valid information is not stored in the memory 3200. Further, WP and RP both indicate the address “0” and the number of address pointers is 0, so NUM is 0.
【0100】図16は、図15からアドレスポインタ
“Address Pointer1”が書き込まれた
状態を示している。アドレスポインタはWPの示してい
るアドレス“0”に書き込まれ、WPは1インクリメン
トされて“1”になる。また、アドレスポインタ数を示
すNUMは1インクリメントされて“1”になる。FIG. 16 shows a state in which the address pointer “Address Pointer 1” is written from FIG. The address pointer is written to the address “0” indicated by the WP, and the WP is incremented by one to “1”. NUM indicating the number of address pointers is incremented by 1 to "1".
【0101】同様に、“Address Pointe
r 2”から“Address Pointer 4”
が書き込まれると、図17のように変化する。Similarly, “Address Pointe”
r 2 ”to“ Address Pointer 4 ”
Is written as shown in FIG.
【0102】この状態から読み出しが行われると、図1
8のように変化する。すなわち、RPの示すアドレスに
保持されているアドレスポインタの値“Address
Pointer 1”が出力され、読み出しポインタ
の値RPが1インクリメントされて“1”になり、アド
レスポインタ数を示すNUMの値が1デクリメントされ
て“3”になる。When reading is performed from this state, FIG.
It changes like 8. That is, the value of the address pointer “Address” held at the address indicated by the RP
Pointer 1 ”is output, the value RP of the read pointer is incremented by one to“ 1 ”, and the value of NUM indicating the number of address pointers is decremented by one to“ 3 ”.
【0103】同様に読み出しが行われると図19のよう
に変化し、保持されているアドレスポインタ数は0とな
る。この状態でさらに読み出しを行うと、無効な値が読
み出されてしまうので、アドレスポインタ数NUMが0
のときは、読み出しを行わないように制限する必要があ
る。Similarly, when reading is performed, the state changes as shown in FIG. 19, and the number of the stored address pointers becomes zero. If further reading is performed in this state, an invalid value will be read, so the number of address pointers NUM is 0.
In such a case, it is necessary to limit the reading.
【0104】図19の状態から書き込みを行うと、図2
0のような状態になる。すなわち、WPがメモリ320
0の最大のアドレスと同じになっている。この状態でさ
らに書き込みを行うと、図21のように変化する。すな
わち、書き込みアドレスポインタWPは0に変化する。
このように書き込みアドレスポインタがアドレスの最大
値になったあとでアドレスの最小値に遷移させることで
リングバッファを構成することができる。When writing is performed from the state of FIG. 19, FIG.
It will be like 0. That is, the WP is stored in the memory 320
It is the same as the maximum address of 0. If further writing is performed in this state, the state changes as shown in FIG. That is, the write address pointer WP changes to 0.
As described above, the transition of the write address pointer to the minimum value of the address after the maximum value of the address has been made can constitute a ring buffer.
【0105】さらに書き込みを行うと図22のように、
メモリ3200の容量までアドレスポインタが保持され
る。この状態からさらに書き込みが行われると、それ以
前に保持されていた有効なアドレスポインタ(この例の
場合は、“AddressPointer 5”)が破
壊されてしまう。したがって、メモリ3200に保持さ
れているアドレスポインタ数がメモリ3200の容量と
等しくなったときは、書き込みを行わないように制限を
する必要がある。When writing is further performed, as shown in FIG.
The address pointer is held up to the capacity of the memory 3200. If further writing is performed from this state, the valid address pointer (“Address Pointer 5” in this example) held before that is destroyed. Therefore, when the number of address pointers held in the memory 3200 becomes equal to the capacity of the memory 3200, it is necessary to limit writing so that writing is not performed.
【0106】次に、アドレスの比較を行うときの動作に
ついて説明する。アドレスの比較のときは、メモリ32
00に保持されている有効なアドレスポインタの値をす
べて読み出し、読み出されたアドレスポインタと他のポ
ートアドレス管理装置1100から出力されたアドレス
ポインタの値との比較を行う。例えば、図20の状態で
アドレスの比較を行う場合は、RPの示しているアドレ
スに保持されているアドレスポインタ(Address
Pointer 5)から、WPから1減じたアドレ
スに保持されているアドレスポインタ(Address
Pointer 7)まで、比較を行う。Next, the operation for comparing addresses will be described. When comparing addresses, the memory 32
All valid address pointer values held in 00 are read, and the read address pointer is compared with the value of the address pointer output from another port address management device 1100. For example, when comparing addresses in the state of FIG. 20, when the address pointer (Address) held at the address indicated by the RP is
Pointer 5), the address pointer (Address) held at the address obtained by subtracting 1 from WP.
The comparison is performed up to Pointer 7).
【0107】このような動作を実現するメモリ制御装置
3100の構成例を図23に示す。FIG. 23 shows a configuration example of the memory control device 3100 that realizes such an operation.
【0108】図23に示したメモリ制御装置3100
は、書き込みアドレスを示すためのカウンタ3101、
読み出しアドレスを示すためのカウンタ3105、メモ
リ内のアドレスポインタ数を示すためのカウンタ310
3、アドレス比較を行うときに用いるカウンタ310
7、アドレスポインタ数がメモリのエントリ数と等しい
かどうかを調べるための比較器3141、アドレスポイ
ンタ数が0であるかどうかを調べるための比較器314
3、書き込みポインタ3101とアドレス比較を行うと
きのカウンタ3107の大きさを比較するための比較器
3145、他のポート管理装置1100から送られたア
ドレスポインタとメモリ3200から読み出されたアド
レスポインタの比較を行うための比較器3147、書き
込みポインタの値を1減じる減算器3149、書き込み
ポインタ3101の出力をメモリ3200のアドレスヘ
出力するための3状態バッファ3131、読み出しポイ
ンタ3105の出力をメモリ3200のアドレスヘ出力
するための3状態バッファ3133、アドレス比較用カ
ウンタ3107の出力をメモリ3200のアドレスヘ出
力するための3状態バッファ3135、アドレスポイン
タの出力をメモリ3200のデータヘ出力するための3
状態バッファ3137、書き込みポインタ3101の制
御信号を作るための2入力アンドゲート3111、読み
出しポインタ3105の制御信号を作るための2入力ア
ンドゲート3113、アドレス比較用カウンタ3107
の状態を保持するフリップフロップ3151で構成され
ている。Memory control device 3100 shown in FIG.
Is a counter 3101 for indicating a write address,
Counter 3105 for indicating the read address, counter 310 for indicating the number of address pointers in the memory
3. Counter 310 used when comparing addresses
7. Comparator 3141 for checking whether the number of address pointers is equal to the number of entries in the memory, and comparator 314 for checking whether the number of address pointers is 0
3. A comparator 3145 for comparing the size of the counter 3107 when comparing the address with the write pointer 3101, and comparing the address pointer sent from the other port management device 1100 with the address pointer read from the memory 3200. 3147, a subtractor 3149 for reducing the value of the write pointer by 1, a three-state buffer 3131 for outputting the output of the write pointer 3101 to the address of the memory 3200, and the output of the read pointer 3105 to the address of the memory 3200. A three-state buffer 3133 for outputting, a three-state buffer 3135 for outputting the output of the address comparison counter 3107 to the address of the memory 3200, and a three-state buffer 3135 for outputting the output of the address pointer to the data of the memory 3200.
State buffer 3137, 2-input AND gate 3111 for generating control signal for write pointer 3101, 2-input AND gate 3113 for generating control signal for read pointer 3105, counter 3107 for address comparison
Is held by the flip-flop 3151 which holds the state of.
【0109】また、図23において、“Write”は
キュー制御装置1300から転送される書き込み制御信
号、“Read”はキュー制御装置1300から転送さ
れる読み出し制御信号、“Compare”はキュー制
御装置1300から転送されるアドレス比較開始信号、
“Address Pointer”はアドレスポイン
タの入出力信号、“R/W”はメモリ3200の読み出
し/書き込み制御信号、“Address”はメモリ3
200のアドレス信号、“Data”はメモリ3200
のデータ信号、“Hit”はアドレス比較の結果をキュ
ー制御装置1300へ示す信号である。なお、図23中
において、クロックおよびリセット信号は省略してあ
る。In FIG. 23, “Write” is a write control signal transferred from the queue control device 1300, “Read” is a read control signal transferred from the queue control device 1300, and “Compare” is a signal from the queue control device 1300. Address comparison start signal to be transferred,
“Address Pointer” is an input / output signal of an address pointer, “R / W” is a read / write control signal of the memory 3200, and “Address” is a memory 3
The address signal “Data” of the memory 3200
Is a signal indicating the result of the address comparison to the queue control device 1300. Note that, in FIG. 23, the clock and the reset signal are omitted.
【0110】カウンタ3101は、制御入力端子として
INCを持ち、この制御入力によってインクリメント動
作を行う。INC端子には、アンドゲート3111の出
力が接続される。また、出力Qは、3状態バッファ31
31と減算器3149に接続される。The counter 3101 has INC as a control input terminal, and performs an increment operation by this control input. The output of the AND gate 3111 is connected to the INC terminal. The output Q is a three-state buffer 31.
31 and a subtractor 3149.
【0111】カウンタ3103は、制御入力端子として
INCとDECを持ち、INC端子がアクティブになっ
たときは、インクリメント動作を行い、DEC端子がア
クティブになったときは、デクリメント動作を行う。I
NC端子には、アンドゲート3111の出力が接続さ
れ、DEC端子には、アンドゲート3113の出力が接
続される。カウンタ3103の出力Qは、比較器314
1と比較器3143に接続される。The counter 3103 has INC and DEC as control input terminals, and performs an increment operation when the INC terminal is activated, and performs a decrement operation when the DEC terminal is activated. I
The output of the AND gate 3111 is connected to the NC terminal, and the output of the AND gate 3113 is connected to the DEC terminal. The output Q of the counter 3103 is output to the comparator 314
1 and the comparator 3143.
【0112】カウンタ3105は、制御入力端子として
INCを持ち、INC端子がアクティブになったとき
は、インクリメント動作を行う。INC端子には、アン
ドゲート3113の出力が接続される。カウンタ310
5の出力Qは、3状態バッファ3133とカウンタ31
07に接続される。The counter 3105 has INC as a control input terminal, and performs an increment operation when the INC terminal becomes active. The output of the AND gate 3113 is connected to the INC terminal. Counter 310
The output Q of 5 is a 3-state buffer 3133 and a counter 31
07.
【0113】カウンタ3107は、制御入力端子として
START,STOPを持ち、更にデータ入力端子とし
てDATAを持つ。START端子にパルス信号が入力
されると、DATA端子に入力された値をロードし、そ
の値からインクリメント動作を開始し、STOP端子に
パルス信号が入力されるとインクリメント動作を終了す
る。START端子には、キュー制御装置1300から
の制御信号Compareが接続され、STOP端子に
は、比較器3145の出力信号が接続され、DATA端
子には、カウンタ3105の出力信号が接続される。カ
ウンタ3107の出力は、比較器3145と3状態バッ
ファ3135に接続される。The counter 3107 has START and STOP as control input terminals, and has DATA as a data input terminal. When a pulse signal is input to the START terminal, the value input to the DATA terminal is loaded, and an increment operation is started from the value. When a pulse signal is input to the STOP terminal, the increment operation ends. The control signal Compare from the queue control device 1300 is connected to the START terminal, the output signal of the comparator 3145 is connected to the STOP terminal, and the output signal of the counter 3105 is connected to the DATA terminal. The output of counter 3107 is connected to comparator 3145 and tri-state buffer 3135.
【0114】比較器3141は、入力値があらかじめ決
められた値との比較を行う。比較器3141の比較値
は、メモリの容量が与えられている。比較器3141に
は、カウンタ3103からの出力が入力される。比較器
3141の出力は、アンドゲート3111に接続され
る。The comparator 3141 compares the input value with a predetermined value. The comparison value of the comparator 3141 is given the capacity of the memory. The output from the counter 3103 is input to the comparator 3141. The output of the comparator 3141 is connected to the AND gate 3111.
【0115】比較器3143は、入力値があらかじめ決
められた値との比較を行う。比較器3143の比較値
は、0が与えられている。比較器3143には、カウン
タ3103からの出力が入力される。比較器3143の
出力は、アンドゲート3113に接続される。The comparator 3143 compares the input value with a predetermined value. The comparison value of the comparator 3143 is 0. The output from the counter 3103 is input to the comparator 3143. The output of the comparator 3143 is connected to the AND gate 3113.
【0116】比較器3145は、2つの入力を比較す
る。比較器3145には、カウンタ3107の出力と減
算器3149からの出力が入力されている。比較結果
は、カウンタ3107のSTOP端子とフリップフロッ
プ3151のリセット端子に接続される。The comparator 3145 compares two inputs. The output of the counter 3107 and the output of the subtractor 3149 are input to the comparator 3145. The comparison result is connected to the STOP terminal of the counter 3107 and the reset terminal of the flip-flop 3151.
【0117】比較器3147は、2つの入力を比較す
る。比較器3147には、他のポートアドレス管理装置
1100から出力されたアドレスポインタの値と、メモ
リ3200から出力されたデータが入力され、比較結果
は、キュー制御装置1300へ転送される。The comparator 3147 compares two inputs. The value of the address pointer output from the other port address management device 1100 and the data output from the memory 3200 are input to the comparator 3147, and the comparison result is transferred to the queue control device 1300.
【0118】減算器3149は、入力された値を1減ら
す処理を行う。減算器3149には、カウンタ3101
からの出力が入力され、減算された結果は、比較器31
45に出力される。The subtractor 3149 performs a process of reducing the input value by one. The subtractor 3149 has a counter 3101
Is input and the result of the subtraction is output to the comparator 31
45.
【0119】3状態バッファ3131は、制御入力とデ
ータ入力とデータ出力を持つ。制御入力がアクティブに
なるとデータ入力の値をデータ出力に出力する。制御入
力がアクティブでないときは、ハイインピーダンス状態
になる。3状態バッファ3131のデータ入力には、カ
ウンタ3101からの出力が入力され、制御入力には、
アンドゲート3111の出力が入力され、データ出力
は、メモリ3200のアドレス入力に接続される。The three-state buffer 3131 has a control input, a data input, and a data output. When the control input becomes active, the value of the data input is output to the data output. When the control input is not active, it goes into a high impedance state. An output from the counter 3101 is input to a data input of the 3-state buffer 3131, and a control input is
The output of the AND gate 3111 is input, and the data output is connected to the address input of the memory 3200.
【0120】3状態バッファ3133のデータ入力に
は、カウンタ3105からの出力が入力され、制御入力
には、キュー制御装置1300からの制御信号Read
が入力され、データ出力は、メモリ3200のアドレス
入力に接続される。The output from the counter 3105 is input to the data input of the 3-state buffer 3133, and the control signal Read from the queue control device 1300 is input to the control input.
And the data output is connected to the address input of the memory 3200.
【0121】3状態バッファ3135のデータ入力に
は、カウンタ3107からの出力が入力され、制御入力
には、キュー制御装置1300からの制御信号Comp
areが入力され、データ出力は、メモリ3200のア
ドレス入力に接続される。The output from the counter 3107 is input to the data input of the 3-state buffer 3135, and the control signal Comp from the queue control device 1300 is input to the control input.
are input and the data output is connected to the address input of the memory 3200.
【0122】3状態バッファ3137のデータ入力に
は、他のポートアドレス管理装置1100からのアドレ
スポインタが入力され、制御入力には、キュー制御装置
1300からの制御信号Writeが入力され、データ
出力は、メモリ3200のデータ入力に接続される。The address input from the other port address management device 1100 is input to the data input of the 3-state buffer 3137, the control signal Write from the queue control device 1300 is input to the control input, and the data output is Connected to data input of memory 3200.
【0123】アンドゲート3111は、2つの入力をも
ち、そのうちの一方は反転入力である。アンドゲート3
111の反転入力には、比較器3141からの出力が接
続され、もう一方の入力には、キュー制御装置1300
からの制御信号Writeが入力され、アンドゲート3
111の出力は、カウンタ3101のINC端子、カウ
ンタ3103のINC端子、3状態バッファ3131の
制御入力に接続される。The AND gate 3111 has two inputs, one of which is an inverted input. And Gate 3
The output from the comparator 3141 is connected to the inverting input of 111, and the queue control device 1300 is connected to the other input.
Control signal Write is input from AND gate 3
The output of 111 is connected to the INC terminal of counter 3101, the INC terminal of counter 3103, and the control input of tri-state buffer 3131.
【0124】アンドゲート3113は、2つの入力をも
ち、そのうちの一方は反転入力である。アンドゲート3
113の反転入力には、比較器3143からの出力が接
続され、もう一方の入力には、キュー制御装置1300
からの制御信号Readが入力され、アンドゲート31
13の出力は、カウンタ3105のINC端子、カウン
タ3103のDEC端子に接続される。The AND gate 3113 has two inputs, one of which is an inverted input. And Gate 3
The output from the comparator 3143 is connected to the inverting input of 113, and the queue control device 1300 is connected to the other input.
Is input from the AND gate 31
The output of 13 is connected to the INC terminal of the counter 3105 and the DEC terminal of the counter 3103.
【0125】フリップフロップ3151は、制御入力と
してセット端子とリセット端子を持つ。フリップフロッ
プ3151は、クロック(図示せず)に同期して動作
し、セット端子がアクティブになると出力をアクティブ
にし、リセット端子がアクティブになると出力をネガテ
ィブにする。セット端子には、キュー制御装置1300
からの制御信号Compareが入力され、リセット端
子には、比較器3145からの出力が入力される。The flip-flop 3151 has a set terminal and a reset terminal as control inputs. The flip-flop 3151 operates in synchronization with a clock (not shown), and makes the output active when the set terminal becomes active, and makes the output negative when the reset terminal becomes active. The set terminal has a queue control device 1300
, And the output from the comparator 3145 is input to the reset terminal.
【0126】このような構成のメモリ制御装置3100
とメモリ3200を用いることによってポートアドレス
管理装置1100を構成することが可能となる。The memory control device 3100 having such a configuration is described.
And the memory 3200, the port address management device 1100 can be configured.
【0127】次に、ポートアドレス管理装置1100の
さらに他の構成について説明する。Next, still another configuration of the port address management device 1100 will be described.
【0128】図24にポートアドレス管理装置1100
のさらに他の構成例を示す。FIG. 24 shows a port address management device 1100.
Is shown.
【0129】図24に示したポートアドレス管理装置1
100は、複数のメモリセル4100と、メモリセル4
100の内容と他のポートアドレス管理装置1100か
ら出力されたアドレスポインタとの比較を行う複数の比
較回路4200と、メモリのアドレスを制御するワード
線制御部4300と、比較回路からの出力を集計する集
計回路4400とで構成される。Port address management device 1 shown in FIG.
100 denotes a plurality of memory cells 4100 and memory cells 4100
A plurality of comparison circuits 4200 for comparing the content of the address 100 with an address pointer output from another port address management device 1100, a word line control unit 4300 for controlling a memory address, and counting outputs from the comparison circuits. And an aggregation circuit 4400.
【0130】各メモリセル4100は、空きアドレス管
理装置1200から出力されたアドレスポインタと、保
持されているアドレスポインタが有効か無効かを示す情
報とを保持する。Each memory cell 4100 holds an address pointer output from free address management device 1200 and information indicating whether the held address pointer is valid or invalid.
【0131】各比較回路4200は、メモリセル410
0の内容と他のポートアドレス管理装置1100から出
力されたアドレスポインタとの比較を行い、一致したこ
とを示す信号を出力する。Each comparison circuit 4200 includes a memory cell 410
It compares the content of 0 with the address pointer output from the other port address management device 1100 and outputs a signal indicating that they match.
【0132】メモリセル4100および比較回路420
0は、CAM(Content Addressabl
e Memory)に用いられるメモリセルを用いて構
成しても良い。Memory cell 4100 and comparison circuit 420
0 is CAM (Content Addressable)
e Memory) may be used.
【0133】ワード線制御部4300は、キュー制御装
置1300から転送される制御信号にしたがって、メモ
リセル4100への書き込みやメモリセル4100から
の読み出しを制御する。アドレスの制御はFIFO動作
を実現するようになされる。The word line controller 4300 controls writing to the memory cell 4100 and reading from the memory cell 4100 in accordance with a control signal transferred from the queue controller 1300. The control of the address is performed to realize a FIFO operation.
【0134】集計回路4400は、比較回路4200か
ら出力された信号を集計し、他のポートアドレス管理装
置1100から出力されたアドレスポインタと一致する
アドレスポインタが保持されているかどうかをキュー制
御装置1300へ転送する。The summing circuit 4400 sums up the signals output from the comparing circuit 4200 and checks with the queue control device 1300 whether an address pointer that matches the address pointer output from the other port address management device 1100 is held. Forward.
【0135】メモリセル4100と比較回路4200を
一体化して構成する場合、公知のCAMの技術を用いて
もよい。図25〜図27にCAMを用いた構成例を示
す。図25は、特開平7−220483(登録特許番号
第2636159号)に開示されたCAMのメモリセル
の例、図26は、“超LSI総合辞典”、株式会社サイ
エンスフォーラムに示されていたCAMのメモリセルの
例、図27は、“CMOS超LSIの設計”、倍風館、
に示されたCAMのメモリセルの例である。When the memory cell 4100 and the comparison circuit 4200 are integrally formed, a known CAM technique may be used. FIGS. 25 to 27 show configuration examples using the CAM. FIG. 25 is an example of a memory cell of the CAM disclosed in Japanese Patent Application Laid-Open No. 7-220483 (registered patent number 2636159). FIG. 26 is a diagram of a CAM shown in "Super LSI Comprehensive Dictionary", Science Forum Co., Ltd. FIG. 27 shows an example of a memory cell, “Design of CMOS VLSI”, Baifukan,
2 is an example of the memory cell of the CAM shown in FIG.
【0136】図25に示した比較回路が一体化されたメ
モリセルは、インバータ4111,4113とnチャネ
ルMOSトランジスタ4115,4117,4119,
4121,4123,4125とで構成されている。The memory cell integrated with the comparison circuit shown in FIG. 25 has inverters 4111, 4113 and n-channel MOS transistors 4115, 4117, 4119,
4121, 4123, and 4125.
【0137】図25に示したメモリセルの動作を説明す
る。The operation of the memory cell shown in FIG. 25 will be described.
【0138】書き込み時は、BLに書き込むデータが、
BL−bar(図中のBLオーバースコア)には、書き
込むデータの反転されたデータが入力され、WLが
“H”レベルになり、nチャネルトランジスタ411
5,4117がオンし、BLおよびBL−barに入力
された信号が、入力され、データがラッチに保持され
る。読み出し時は、BL,BL−barがプリチャージ
され、“H”レベルになり、その後、WLを“H”レベ
ルにすることで、トランジスタ4115,4117がオ
ンし、BL,BL−barにデータが読み出される。At the time of writing, the data to be written to BL is:
The inverted data of the data to be written is input to BL-bar (BL overscore in the figure), WL goes to “H” level, and n-channel transistor 411
5, 4117 are turned on, the signals input to BL and BL-bar are input, and the data is held in the latch. At the time of reading, BL and BL-bar are precharged and set to “H” level, and then, by setting WL to “H” level, transistors 4115 and 4117 are turned on, and data is stored in BL and BL-bar. Is read.
【0139】データの検索をするときは、MLがプリチ
ャージされ、その後、BLにデータの反転信号、BL−
barにデータが与えられる。検索データと保持されて
いるデータが不一致であるとトランジスタ4119と4
121、あるいは、トランジスタ4123と4125の
どちらかが両方ともオンし、MLからチャージされた電
荷が引き抜かれ、“L”レベルに変化する。例えば、
“H”レベルのデータを検索するとき、BLに“L”レ
ベル信号が与えられ、BL−barに“H”レベル信号
が与えられる。また、メモリセルに“H”レベルが保持
されているとき、配線Aは、“L”レベルを示し、配線
Bは、“H”レベルを示す。このとき、トランジスタ4
119とトランジスタ4125がオンするが、トランジ
スタ4121とトランジスタ4123はオフする。した
がって、MLは、“H”レベルに保持されたままにな
り、一致したことが検出される。データが複数ビットあ
った場合、全部のビットが一致すると、MLが“H”レ
ベルに保たれたままになり、一致したことが検出され
る。When searching for data, ML is precharged, and thereafter, an inverted signal of data, BL-
Data is given to bar. If the search data and the held data do not match, the transistors 4119 and 4119
121, or both of the transistors 4123 and 4125 are turned on, the charged charge is extracted from the ML, and changes to the “L” level. For example,
When searching for “H” level data, an “L” level signal is applied to BL and an “H” level signal is applied to BL-bar. When the memory cell holds the “H” level, the wiring A indicates the “L” level and the wiring B indicates the “H” level. At this time, transistor 4
Although the transistor 119 and the transistor 4125 are turned on, the transistor 4121 and the transistor 4123 are turned off. Therefore, ML is kept at the “H” level, and it is detected that they match. If there are a plurality of bits in the data and all the bits match, the ML is kept at "H" level, and it is detected that there is a match.
【0140】図26に示した比較回路が一体化されたメ
モリセルは、インバータ4131,4133とnチャネ
ルMOSトランジスタ4135,4137,4139,
4141,4143,4145とで構成されている。The memory cell integrated with the comparison circuit shown in FIG. 26 has inverters 4131, 4133 and n-channel MOS transistors 4135, 4137, 4139,
4141, 4143, and 4145.
【0141】書き込みおよび読み出しは、図25に示し
たメモリセルと同じである。Writing and reading are the same as those of the memory cell shown in FIG.
【0142】検索のときは、MLをプリチャージした
後、BLにデータ、BL−barにデータの反転信号が
与えられ、また、MEが“H”レベルにされる。BL上
のデータと保持データが不一致の場合、トランジスタ4
143と4145、あるいは、トランジスタ4139と
4141の両方がオンし、MLから電荷が引き抜かれ、
MLが“L”レベルになる。At the time of retrieval, after precharging ML, data is applied to BL, an inverted signal of data is applied to BL-bar, and ME is set to "H" level. If the data on the BL does not match the held data, the transistor 4
143 and 4145 or both the transistors 4139 and 4141 are turned on, and charge is extracted from the ML,
ML becomes “L” level.
【0143】図27に示した比較回路が一体化されたメ
モリセルは、インバータ4151,4153とnチャネ
ルMOSトランジスタ4155,4157,4159,
4161とで構成されている。The memory cell integrated with the comparison circuit shown in FIG. 27 has inverters 4151 and 4153 and n-channel MOS transistors 4155, 4157, 4159,
4161.
【0144】書き込みおよび読み出しは、図25に示し
たメモリセルと同じである。Writing and reading are the same as those of the memory cell shown in FIG.
【0145】検索のときは、MLをプリチャージした
後、TGにデータ、TG−bar(図中のTGオーバー
スコア)にデータの反転信号が与えられ、TG上のデー
タと保持データが不一致の場合、MLから電荷が引き抜
かれ、MLが“L”レベルになる。At the time of retrieval, after precharging the ML, data is given to TG, and an inverted signal of data is given to TG-bar (TG overscore in the figure), and if the data on TG does not match the held data , ML are pulled out, and ML attains the “L” level.
【0146】これらのCAMに用いられるメモリセルを
利用してポートアドレス管理装置1100を構成するこ
とができる。図28にCAMセルを用いたポートアドレ
ス管理装置1100の構成例を示す。The port address management device 1100 can be configured using the memory cells used for these CAMs. FIG. 28 shows a configuration example of a port address management device 1100 using CAM cells.
【0147】図28に示したポートアドレス管理装置1
100は、アレイ上に配置された複数のメモリセル(比
較回路が一体化されたもの)4100と、メモリセル4
100のデータの入出力を制御する入出力制御回路41
01と、ワード線制御回路4300と、集計回路440
0とで構成されている。なお、図28では、4102で
示す構成が所定数設けられている。Port address management device 1 shown in FIG.
Reference numeral 100 denotes a plurality of memory cells (one in which a comparison circuit is integrated) 4100 arranged on an array,
An input / output control circuit 41 for controlling input / output of 100 data
01, a word line control circuit 4300, and a counting circuit 440.
0. In FIG. 28, a predetermined number of components indicated by reference numeral 4102 are provided.
【0148】図28の構成例は、一例として、メモリセ
ル4100として図26に示したCAMセルを用いたも
のである。メモリセル4100は、ビット線BL,BL
−barに接続され、ビット線は、入出力制御回路41
01に接続される。また、メモリセル4100の制御入
力であるワード線WLと検索許可線MEは、ワード線制
御装置4300から出力される。メモリセル4100の
出力信号である検索線MLは、集計回路4400に接続
される。The configuration example of FIG. 28 uses the CAM cell shown in FIG. 26 as a memory cell 4100 as an example. The memory cell 4100 includes bit lines BL, BL
-Bar, and the bit line is connected to the input / output control circuit 41.
01 is connected. The word line WL and the search permission line ME, which are control inputs of the memory cell 4100, are output from the word line control device 4300. The search line ML which is an output signal of the memory cell 4100 is connected to the counting circuit 4400.
【0149】入出力制御回路4101は、書き込み時に
はアドレスポインタと有効/無効情報をメモリセル41
00に書き込むためにビット線に情報を出力し、読み出
し時には、アドレスポインタが出力されたビット線から
の情報を処理し、読み出されたアドレスポインタを出力
するとともに、有効/無効情報をメモリセルに書き込
む。また、情報検索時は、ビット線に情報を出力する。
このとき、有効/無効情報に対応するビット線には、有
効を示す値を出力する。The input / output control circuit 4101 stores an address pointer and valid / invalid information in the memory cell 41 at the time of writing.
00, the information is output to the bit line to write the data, and at the time of reading, the information from the bit line to which the address pointer is output is processed, the read address pointer is output, and the valid / invalid information is stored in the memory cell Write. At the time of information retrieval, information is output to the bit line.
At this time, a value indicating validity is output to the bit line corresponding to the valid / invalid information.
【0150】図28に示したポートアドレス管理装置1
100に用いられるワード線制御回路4300の構成例
を図29に示す。Port address management device 1 shown in FIG.
FIG. 29 shows a configuration example of the word line control circuit 4300 used for the H.100.
【0151】最初に、図29に示したワード線制御回路
の動作例を図30と図31を参照しながら説明する(こ
のワード線制御回路の構成等については後述する)。First, an example of the operation of the word line control circuit shown in FIG. 29 will be described with reference to FIGS. 30 and 31 (the configuration and the like of this word line control circuit will be described later).
【0152】図30、図31において、“Memor
y”はメモリに記憶されている内容、“WP”は書き込
みポインタの値、“RP”は読み出しポインタの値、
“F”は空きフラグの状態を示す。“F”が“1”を示
しているときは、アドレスポインタは保持されていな
い。“F”が“0”を示しているときは、少なくとも1
つのアドレスポインタが保持されている。Memory
の“null”は、無効を示す。また、図示した例で
は、メモリは、8個のアドレスポインタを保持できる。Referring to FIGS. 30 and 31, "Memory"
“y” is the content stored in the memory, “WP” is the value of the write pointer, “RP” is the value of the read pointer,
“F” indicates the state of the empty flag. When "F" indicates "1", the address pointer is not held. When “F” indicates “0”, at least 1
One address pointer is held. Memory
“Null” indicates invalid. In the illustrated example, the memory can hold eight address pointers.
【0153】図30(a)は、初期状態を表している。
初期状態では、書き込みポインタと読み出しポインタ
は、同じアドレス0を示し、また、保持されているアド
レスポインタがないので空きフラグは、“空き”である
ことを示す“1”を保持している。FIG. 30A shows an initial state.
In the initial state, the write pointer and the read pointer indicate the same address 0, and since there is no address pointer held, the empty flag holds "1" indicating "empty".
【0154】アドレスポインタは、書き込みポインタの
示すアドレスに書き込まれる。図30(a)の状態でア
ドレスポインタが書き込まれると、書き込みポインタが
示しているアドレス0に書き込まれる。同時に書き込み
ポインタの値は1増加し、また、書き込みによって“空
き”状態ではなくなるので、空きフラグには“0”が書
き込まれる。結果として図30(b)の状態に変化す
る。The address pointer is written at the address indicated by the write pointer. When the address pointer is written in the state of FIG. 30A, it is written to the address 0 indicated by the write pointer. At the same time, the value of the write pointer is incremented by one, and since the write is no longer in the "empty" state, "0" is written in the empty flag. As a result, the state changes to the state shown in FIG.
【0155】同様にアドレスポインタの書き込みが行わ
れると、図30(c)、図30(d)のように変化す
る。Similarly, when the writing of the address pointer is performed, the state changes as shown in FIGS. 30 (c) and 30 (d).
【0156】図30(d)の状態では、すべてのエント
リに有効なアドレスポインタが書き込まれており、これ
以上書き込むことはできない。書き込み不可能の状態
は、書き込みポインタ、読み出しポインタ、空きフラグ
の状態によって知ることができる。すなわち、空きフラ
グが“0”で、書き込みポインタと読み出しポインタが
一致しているときは、書き込みができない。In the state shown in FIG. 30D, valid address pointers have been written in all entries, and cannot be written any more. The non-writable state can be known from the states of the write pointer, the read pointer, and the empty flag. That is, when the empty flag is “0” and the write pointer and the read pointer match, writing cannot be performed.
【0157】アドレスポインタは、読み出しポインタの
示すアドレスが読み出される。図30(d)の状態で、
読み出しを行うと、読み出しポインタが示しているアド
レス0に書き込まれているアドレスポインタが読み出さ
れる。同時に読み出しポインタの値は1増加する。結果
として図31(a)のように変化する。The address indicated by the read pointer is read from the address pointer. In the state of FIG.
When reading is performed, the address pointer written at address 0 indicated by the read pointer is read. At the same time, the value of the read pointer increases by one. As a result, it changes as shown in FIG.
【0158】同様に読み出しを行うと、図31(b)の
ように変化する。図31(b)の状態は、アドレスポイ
ンタが1つだけ保持されている状態で、この状態からさ
らに読み出しが行われると、アドレスポインタはなくな
り、空きフラグは“空き”を示す“1”にセットされ
る。すなわち、空きフラグは、保持されているアドレス
ポインタが残り1個のときに読み出しが行われると
“1”にセットされる。アドレスポインタが残り1個で
あるという状態は、読み出しポインタに1加えた値と書
き込みポインタの値が一致した状態である。図31
(b)の状態から読み出しが行われると、図31(c)
のように変化する。When reading is performed in the same manner, the state changes as shown in FIG. The state shown in FIG. 31B is a state in which only one address pointer is held. If further reading is performed from this state, the address pointer disappears and the empty flag is set to "1" indicating "empty". Is done. That is, the empty flag is set to “1” when reading is performed when the remaining address pointer is one. The state where one address pointer remains is a state where the value obtained by adding one to the read pointer matches the value of the write pointer. FIG.
When reading is performed from the state of (b), FIG.
It changes like
【0159】さて、図29に示したワード線制御装置4
300は、カウンタ4311,4315、フリップフロ
ップ4313、比較器4321,4323、加算器43
25、セレクタ4341、アンドゲート4331,43
35,4339、ナンド(NAND)ゲート4333,
4337、バッファ4361、アンドゲート4351〜
4358で構成される。Now, the word line control device 4 shown in FIG.
Reference numeral 300 denotes counters 4311 and 4315, flip-flops 4313, comparators 4321 and 4323, and an adder 43.
25, selector 4341, AND gates 4331, 43
35, 4339, a NAND gate 4333,
4337, buffer 4361, and gate 4351-
4358.
【0160】なお、図29において、クロックおよびリ
セットは図示していない。また、図29に示したワード
線制御装置は、8個のアドレスを持つ例を示している。In FIG. 29, the clock and the reset are not shown. Further, the word line control device shown in FIG. 29 shows an example having eight addresses.
【0161】カウンタ4311は、書き込みアドレスを
カウントするためのカウンタで、制御入力incと出力
outを持つ。incがアクティブになると、保持して
いるカウント値を1増加する。また、カウンタ4311
は、ワード数と同じ個数をカウントし、最大値に達する
と最小値に遷移する。例えばワード数が8のとき、例え
ば、0→1→2→3→4→5→6→7→0→1→2…の
ように変化していく。カウンタ4311のinc入力に
は、アンドゲート4331の出力が接続される。カウン
タ4311のout出力は、比較器4321,4323
とセレクタ4341に接続される。The counter 4311 is a counter for counting write addresses, and has a control input inc and an output out. When inc becomes active, the held count value is increased by one. Also, the counter 4311
Counts the same number as the number of words, and transitions to the minimum value when the maximum value is reached. For example, when the number of words is 8, for example, it changes as 0 → 1 → 2 → 3 → 4 → 5 → 6 → 7 → 0 → 1 → 2. The output of the AND gate 4331 is connected to the inc input of the counter 4311. The out output of the counter 4311 is output to the comparators 4321 and 4323.
And the selector 4341.
【0162】カウンタ4315は、読み出しアドレスを
カウントするためのカウンタで、カウンタ4311と同
様の構成で同様に動作する。カウンタ4315のinc
入力には、アンドゲート4339の出力が接続される。
カウンタ4315のout出力は、比較器4321と、
加算器4325とセレクタ4341に接続される。The counter 4315 is a counter for counting read addresses, and operates in the same manner as the counter 4311 in the same manner. Inc of counter 4315
The output of the AND gate 4339 is connected to the input.
The out output of the counter 4315 is output to the comparator 4321,
Connected to adder 4325 and selector 4341.
【0163】フリップフロップ4313は、有効なアド
レスポインタ数が0であるかどうかを示すために用いら
れる。フリップフロップ4313は、制御入力としてs
et,resetを持ち、出力としてoutを持つ。s
etがアクティブになると1をセットし、resetが
アクティブになると0にリセットする。The flip-flop 4313 is used to indicate whether the number of valid address pointers is zero. The flip-flop 4313 has s as a control input.
et, reset, and out as an output. s
It is set to 1 when et becomes active, and reset to 0 when reset becomes active.
【0164】比較器4321は、カウンタ4311とカ
ウンタ4315の値の比較を行う比較器である。値が一
致すると出力をアクティブにする。比較器4321は、
カウンタ4311の出力とカウンタ4315の出力が入
力され、比較器4321の出力は、ナンドゲート433
3とナンドゲート4337へ転送される。The comparator 4321 compares the values of the counter 4311 and the counter 4315. Activates the output when the values match. The comparator 4321 is
The output of the counter 4311 and the output of the counter 4315 are input, and the output of the comparator 4321 is output to the NAND gate 433.
3 and transferred to the NAND gate 4337.
【0165】比較器4323は、カウンタ4311と加
算器4325の値の比較を行う比較器である。値が一致
すると出力をアクティブにする。比較器4321は、カ
ウンタ4311の出力と加算器4325の出力が入力さ
れ、比較器4323の出力は、アンドゲート4335へ
転送される。The comparator 4323 is a comparator for comparing the value of the counter 4311 with the value of the adder 4325. Activates the output when the values match. The output of the counter 4311 and the output of the adder 4325 are input to the comparator 4321, and the output of the comparator 4323 is transferred to the AND gate 4335.
【0166】加算器4325は、値を1増やす加算器で
ある。入力された値に1加えられた値を出力する。加算
器4325には、カウンタ4315の出力が入力され、
出力は、比較器4323へ転送される。An adder 4325 is an adder that increases the value by one. Outputs a value obtained by adding one to the input value. The output of the counter 4315 is input to the adder 4325,
The output is transferred to the comparator 4323.
【0167】セレクタ4341は、制御信号により2つ
のデータの一つを選択して出力する。セレクタ4341
には、データ入力としてカウンタ4311の出力とカウ
ンタ4315の出力が入力され、制御入力としてキュー
制御装置1300から転送される書き込み制御信号(W
rite)が入力される。セレクタ4341の出力は、
デコーダを形成するアンドゲート4351〜4358に
入力される。The selector 4341 selects and outputs one of the two data according to the control signal. Selector 4341
, The output of the counter 4311 and the output of the counter 4315 are input as data inputs, and the write control signal (W
write) is input. The output of the selector 4341 is
Input to AND gates 4351 to 4358 forming a decoder.
【0168】アンドゲート4331は、カウンタ431
1の制御信号を作る。2つの入力を持ち、一つは、キュ
ー制御装置1300から転送される書き込み信号(Wr
ite)が入力され、もう一方の入力には、ナンドゲー
ト4333の出力信号が入力される。出力信号は、カウ
ンタ4311とフリップフロップ4313のreset
入力に転送される。The AND gate 4331 has a counter 431.
1 control signal is generated. It has two inputs, one of which is a write signal (Wr
item), and an output signal of the NAND gate 4333 is input to the other input. The output signal is the reset of the counter 4311 and the flip-flop 4313.
Forwarded to input.
【0169】アンドゲート4335は、フリップフロッ
プ4313の制御信号を作る。2つの入力を持ち、一つ
は、アンドゲート4339の出力信号が入力され、もう
一方には、比較器4323からの出力が入力される。出
力信号は、フリップフロップ4313のset入力に入
力される。The AND gate 4335 generates a control signal for the flip-flop 4313. It has two inputs, one to which the output signal of the AND gate 4339 is input, and the other to which the output from the comparator 4323 is input. The output signal is input to the set input of the flip-flop 4313.
【0170】アンドゲート4339は、カウンタ431
5の制御信号を作る。2つの入力を持ち、一つは、キュ
ー制御装置1300から転送される読み出し信号(Re
ad)が入力され、もう一方の入力には、ナンドゲート
4337の出力信号が入力される。出力信号は、カウン
タ4315とアンドゲート4335に転送される。The AND gate 4339 has a counter 431.
5 control signals are generated. It has two inputs, one of which is a read signal (Re) transferred from the queue control device 1300.
ad) is input and the output signal of the NAND gate 4337 is input to the other input. The output signal is transferred to the counter 4315 and the AND gate 4335.
【0171】ナンドゲート4333は、2つの入力を持
つ。一方は、反転入力である。反転入力には、フリップ
フロップ4313の出力信号が入力される。もう一方の
入力には、比較器4321の出力が入力される。出力信
号は、アンドゲート4331に転送される。The NAND gate 4333 has two inputs. One is an inverting input. The output signal of the flip-flop 4313 is input to the inverting input. The output of the comparator 4321 is input to the other input. The output signal is transferred to AND gate 4331.
【0172】ナンドゲート4337は、2つの入力を持
つ。一方には、フリップフロップ4313の出力信号が
入力され、もう一方の入力には、比較器4321の出力
が入力される。出力信号は、アンドゲート4339に転
送される。The NAND gate 4337 has two inputs. The output signal of the flip-flop 4313 is input to one, and the output of the comparator 4321 is input to the other input. The output signal is transferred to AND gate 4339.
【0173】アンドゲート4351〜4358は、メモ
リセル4100へのワードライン出力を作るためのデコ
ーダとして動作する。セレクタ4341から転送された
信号をデコードし、メモリセルヘ転送する。例えば、ア
ンドゲート4351は、データ入力が“111”のとき
にアクティブになる。The AND gates 4351 to 4358 operate as decoders for producing a word line output to the memory cell 4100. The signal transferred from the selector 4341 is decoded and transferred to a memory cell. For example, the AND gate 4351 becomes active when the data input is “111”.
【0174】なお、検索のときは、Match信号が
“H”レベルになり、これがバッファ4361を介して
ME0〜ME7として各メモリセル4100に供給され
る。At the time of retrieval, the Match signal goes to "H" level, and this is supplied to each memory cell 4100 as ME0-ME7 via the buffer 4361.
【0175】次に、図28に示したポートアドレス管理
装置1100に用いられるワード線制御回路4300の
他の構成例を図32に示す。Next, another configuration example of the word line control circuit 4300 used in the port address management device 1100 shown in FIG. 28 is shown in FIG.
【0176】最初に、図32に示したワード線制御装置
の動作例を図33〜図35を用いて説明する(このワー
ド線制御回路の構成等については後述する)。First, an operation example of the word line control device shown in FIG. 32 will be described with reference to FIGS. 33 to 35 (the configuration and the like of this word line control circuit will be described later).
【0177】図33〜図35は、8のワード線を制御す
る場合の例を示している。W0からW7は、書き込みに
対応し、R0からR7は、読み出しに対応する。WL0
からWL7は、ワード線を表している。FIGS. 33 to 35 show examples in the case of controlling eight word lines. W0 to W7 correspond to writing, and R0 to R7 correspond to reading. WL0
To WL7 represent word lines.
【0178】図33(a)は、初期状態を表している。
書き込み用のシフトレジスタと読み出し用のシフトレジ
スタも同じワード線に対応する1ビットだけがアクティ
ブになっている。図33(a)に示した例では、W0と
R0がアクティブになっている。FIG. 33A shows the initial state.
In the shift register for writing and the shift register for reading, only one bit corresponding to the same word line is active. In the example shown in FIG. 33A, W0 and R0 are active.
【0179】アドレスポインタの書き込みのときは、セ
レクタを制御して書き込みに対応するシフトレジスタの
内容を出力し、その後、書き込みに対応するシフトレジ
スタのシフトを行う。書き込み動作の後では、図33
(b)のように変化する。同様に書き込みを行うと図3
4(a)のように変化する。When writing the address pointer, the selector is controlled to output the contents of the shift register corresponding to the write, and thereafter, the shift register corresponding to the write is shifted. After the write operation, FIG.
It changes as shown in FIG. When writing is performed similarly, FIG.
4 (a).
【0180】アドレスポインタの読み出しときは、セレ
クタを制御して読み出しに対応するシフトレジスタの内
容を出力し、その後、読み出しに対応するシフトレジス
タのシフトを行う。読み出し動作の後では、図34
(b)のように変化する。同様に読み出しを行うと図3
5のように変化する。When reading the address pointer, the selector controls the selector to output the contents of the shift register corresponding to the reading, and then shifts the shift register corresponding to the reading. After the read operation, FIG.
It changes as shown in FIG. When reading is performed in the same manner, FIG.
It changes like 5.
【0181】さて、図32に示したワード線制御装置4
300は、書き込み用のシフトレジスタを構成するフリ
ップフロップ4391−1〜4391−8と、読み出し
用のシフトレジスタを構成するフリップフロップ439
3−1〜4393−8と、ワード線への出力信号を選択
するセレクタ4395−1〜4395−8とで構成され
る。Now, the word line control device 4 shown in FIG.
Reference numeral 300 denotes flip-flops 4391-1 to 4391-8 forming a shift register for writing and flip-flops 439 forming a shift register for reading
3-1 to 4393-8 and selectors 4395-1 to 4395-8 for selecting an output signal to the word line.
【0182】フリップフロップ4391−1〜4391
−8は、リング上に接続され、キュー制御装置1300
から転送される制御信号Writeによってシフトす
る。フリップフロップ4393−1〜4393−8も、
リング上に接続され、キュー制御装置1300から転送
される制御信号Readによってシフトする。フリップ
フロップ4391−iとフリップフロップ4393−i
の出力は、同じセレクタ4395−iの別々の入力に入
力され、セレクタに入力される制御信号Writeによ
ってどちらか一方を出力する。Flip-flops 439-1 to 4391
-8 is connected on the ring and the queue control device 1300
Is shifted by the control signal Write transferred from the controller. The flip-flops 4393-1 to 4393-8 also
It is connected on the ring and shifted by a control signal Read transferred from the queue control device 1300. Flip-flop 4391-i and flip-flop 4393-i
Are input to separate inputs of the same selector 4395-i, and one of them is output according to the control signal Write input to the selector.
【0183】なお、図32では、検索許可信号(Mat
ch,MEi)に関する構成は、図29に示したものと
同じであるので省略した。In FIG. 32, the search permission signal (Mat
ch, MEi) are the same as those shown in FIG.
【0184】以上のようなポートアドレス管理装置を用
いることによって、マルチキャスト機能を持つ高速なア
ドレス管理装置を実現することが可能となる。すなわ
ち、アドレスポインタのキューを出力ポート毎に持ち、
マルチキャストセルに対しては、複数のキューに入力す
ることでマルチキャスト機能を実現できる。そして、各
キューに保持されているアドレスポインタの検索を行う
ことによって空きアドレスの識別を行うことが可能とな
る。By using the port address management device as described above, a high-speed address management device having a multicast function can be realized. That is, a queue of address pointers is provided for each output port,
For a multicast cell, a multicast function can be realized by inputting to a plurality of queues. Then, by searching for an address pointer held in each queue, it is possible to identify a free address.
【0185】(第2の実施形態)次に、本発明の第2の
実施形態に係るセル交換装置およびそのアドレス管理装
置について説明する。(Second Embodiment) Next, a cell switching device and an address management device thereof according to a second embodiment of the present invention will be described.
【0186】本実施形態に係るセル交換装置としては図
56で例示したものを用いるものと想定して説明する
(もちろん、これと同様の機能を有する他の構成のもの
を用いてもよい)。すなわち、本実施形態に係るアドレ
ス管理装置は、図56で例示したセル交換装置またはこ
れと同様の機能を有するものに用いることができる。The description will be made assuming that the cell switching apparatus according to the present embodiment uses the one illustrated in FIG. 56 (of course, another cell having the same function as this may be used). That is, the address management device according to the present embodiment can be used for the cell switching device illustrated in FIG. 56 or a device having the same function as this.
【0187】本実施形態に係るアドレス生成装置は、概
略的には、第1の実施形態で出力ポート毎に逐次行って
いた処理を並列処理することより高速化したものであ
る。The address generating apparatus according to the present embodiment is generally obtained by speeding up the processing which has been sequentially performed for each output port in the first embodiment by performing parallel processing.
【0188】図36に、本実施形態に係るアドレス管理
装置100の構成例を示す。なお、図36では、4つの
出力ポートに対応するものを例示しているが、出力ポー
トが3つ以下や5つ以上の場合も同様にして構成可能で
ある。FIG. 36 shows a configuration example of the address management device 100 according to the present embodiment. Although FIG. 36 illustrates an example corresponding to four output ports, a configuration in which the number of output ports is three or less or five or more can be similarly configured.
【0189】本アドレス管理装置は、ポート毎のアドレ
スポインタを管理するポートアドレス管理装置1102
−1〜1102−4、空きアドレスポインタを保持する
空きアドレス管理装置1202、空きアドレス管理装置
1202から転送されたアドレスポインタのフィルタリ
ングを行うアドレスフィルタ1402−1〜1402−
4、各ポートアドレス管理装置(1102−1〜110
2−4)と空きアドレスキュー1202と各アドレスフ
ィルタ1402−1〜1402−4の制御を行うキュー
制御装置1302で構成される。This address management device is a port address management device 1102 that manages an address pointer for each port.
-1 to 1102-4, a free address management device 1202 holding a free address pointer, and an address filter 1402-1 to 1402- filtering the address pointer transferred from the free address management device 1202.
4. Each port address management device (1102-1 to 110-2)
2-4), an empty address queue 1202, and a queue control device 1302 for controlling each of the address filters 1402-1 to 1402-4.
【0190】各ポートアドレス管理装置1102は、空
きアドレス管理装置1202から転送されたアドレスポ
インタをFIFO管理する。書き込み動作のときは、ア
ドレスフィルタ1402から転送された複数の有効なア
ドレスポインタを同時に書き込み、読み出しのときは、
最も古いアドレスポインタを出力する。同時に、他のポ
ートアドレス管理装置1102から転送されたアドレス
ポインタが保持されているかどうかを検索し、結果をキ
ュー制御装置1302へ転送する。図36に示した例で
は、ポートアドレス管理装置1102は、アドレスポイ
ンタを保持するためのポートアドレスメモリ1112、
保持されているアドレスポインタと他のポートアドレス
管理装置1102から転送されたアドレスポインタとを
比較する比較器1114,1115,1116で構成さ
れている。Each port address management device 1102 performs FIFO management of the address pointer transferred from the free address management device 1202. At the time of a write operation, a plurality of valid address pointers transferred from the address filter 1402 are simultaneously written, and at the time of a read operation,
Output the oldest address pointer. At the same time, it searches whether the address pointer transferred from the other port address management device 1102 is held, and transfers the result to the queue control device 1302. In the example shown in FIG. 36, the port address management device 1102 includes a port address memory 1112 for holding an address pointer,
It comprises comparators 1114, 1115 and 1116 for comparing the held address pointer with the address pointer transferred from the other port address management device 1102.
【0191】空きアドレス管理装置1202は、使用さ
れていないアドレスポインタを保持し、キュー管理装置
1300からの指示にしたがって、保持しているアドレ
スポインタを出力する。また、ポートアドレス管理装置
1102から転送されたアドレスポインタをキュー管理
装置1300の指示にしたがってフィルタリングして、
保持する。フィルタリングは、各ポートアドレス管理装
置1102からキュー管理装置1302に転送された検
索結果によって行われる。すなわち、あるポートアドレ
ス管理装置1102から転送されたアドレスポインタが
他のポートアドレス管理装置1102に保持されていな
い場合に書き込みが行われる。さらに、複数のポートア
ドレス管理装置1102から同じ値のアドレスポインタ
が出力された場合に、1つのみを書き込む。図36に示
した例では、空きアドレス管理装置1202は、アドレ
スポインタを保持するための空きアドレスメモリ121
2,1213,1214,1215と空きアドレスフィ
ルタ1216とで構成される。The free address management device 1202 holds an unused address pointer, and outputs the held address pointer in accordance with an instruction from the queue management device 1300. Further, the address pointer transferred from the port address management device 1102 is filtered according to the instruction of the queue management device 1300,
Hold. The filtering is performed based on the search result transferred from each port address management device 1102 to the queue management device 1302. That is, writing is performed when the address pointer transferred from a certain port address management device 1102 is not held in another port address management device 1102. Further, when the address pointers having the same value are output from the plurality of port address management apparatuses 1102, only one is written. In the example shown in FIG. 36, the free address management device 1202 includes a free address memory 121 for holding an address pointer.
2, 1213, 1214, 1215 and an empty address filter 1216.
【0192】アドレスフィルタ1402は、キュー制御
装置1302の指示にしたがって、空きアドレス管理装
置1202から転送されたアドレスポインタのフィルタ
リングを行う。マルチキャストされるセルに対するアド
レスポインタは、複数のポートアドレス管理装置110
2に転送される。したがって、各ポートアドレス管理装
置1102には、複数のセルに対応したアドレスポイン
タが複数保持されなければならない。空きアドレス管理
装置1202は、同時に複数のアドレスポインタを出力
するので、各ポートアドレス管理装置1102には、そ
の中から必要なアドレスポインタのみを抽出して転送す
る。The address filter 1402 filters the address pointer transferred from the free address management device 1202 according to the instruction of the queue control device 1302. The address pointer to the cell to be multicast is stored in a plurality of port address management devices 110.
2 Therefore, each port address management device 1102 must hold a plurality of address pointers corresponding to a plurality of cells. Since the vacant address management device 1202 outputs a plurality of address pointers at the same time, only the necessary address pointers are extracted and transferred to each port address management device 1102.
【0193】例えば、ポート#1とポート#2へ向かう
セルA、ポート#2とポート#3へ向かうセルB、ポー
ト#1とポート#3へ向かうセルCが入力された場合、
空きアドレス管理装置1202は、入力されたセル数と
同じ数のアドレスポインタを出力する。セルA、セル
B、セルCに対応したアドレスポインタをそれぞれ、ア
ドレスポインタA、アドレスポインタB、アドレスポイ
ンタCとすると、ポート#1に対応したポートアドレス
管理装置1102は、セルAに対応したアドレスポイン
タA、セルCに対応したアドレスポインタCの2つを、
ポート#2に対応したポートアドレス管理装置1102
は、セルAに対応したアドレスポインタA、セルBに対
応したアドレスポインタBの2つを、ポート#3に対応
したポートアドレス管理装置1102は、セルBに対応
したアドレスポインタB、セルCに対応したアドレスポ
インタCの2つを、それぞれ保持しなければならない。For example, when cell A going to port # 1 and port # 2, cell B going to port # 2 and port # 3, and cell C going to port # 1 and port # 3 are input,
The empty address management device 1202 outputs the same number of address pointers as the input cell number. Assuming that the address pointers corresponding to the cells A, B, and C are an address pointer A, an address pointer B, and an address pointer C, respectively, the port address management device 1102 corresponding to the port # 1 has the address pointer corresponding to the cell A. A, two address pointers C corresponding to cell C
Port address management device 1102 corresponding to port # 2
Is the address pointer A corresponding to the cell A and the address pointer B corresponding to the cell B, and the port address management device 1102 corresponding to the port # 3 is corresponding to the address pointer B and the cell C corresponding to the cell B. The two address pointers C that have been used must be held.
【0194】したがって、この場合、空きアドレス管理
装置1202から転送される3つのアドレスポインタの
中から、ポート#1に対応したアドレスフィルタ140
2は、セルAに対応したアドレスポインタA、セルCに
対応したアドレスポインタCの2つを、ポート#2に対
応したアドレスフィルタ1202は、セルAに対応した
アドレスポインタA、セルBに対応したアドレスポイン
タBの2つを、ポート#3に対応したアドレスフィルタ
1402は、セルBに対応したアドレスポインタB、セ
ルCに対応したアドレスポインタCの2つを、選択して
それぞれのポートアドレス管理装置1102へ転送す
る。Therefore, in this case, the address filter 140 corresponding to the port # 1 is selected from the three address pointers transferred from the free address management device 1202.
2 corresponds to two address pointers A and C corresponding to the cell A, and the address filter 1202 corresponding to the port # 2 corresponds to the address pointers A and B corresponding to the cell A. The address filter 1402 corresponding to two address pointers B and the port # 3 selects two address pointers B corresponding to the cell B and two address pointers C corresponding to the cell C, and the respective port address management devices. Transfer to 1102.
【0195】次に、図37〜図39を参照しながら並列
処理の動作について説明する。Next, the operation of the parallel processing will be described with reference to FIGS.
【0196】図37は、初期状態を表している。初期状
態では、有効なアドレスポインタは、すべて空きアドレ
ス管理装置1200に保持されており、ポートアドレス
管理装置1102のメモリ内には有効なアドレスポイン
タは保持されていない。FIG. 37 shows an initial state. In the initial state, all valid address pointers are held in the free address management device 1200, and no valid address pointers are held in the memory of the port address management device 1102.
【0197】図38は、書き込み動作の例を示してい
る。図38は、出力ポート#1に向かうセルAがアドレ
スポインタ“0”、出力ポート#1と出力ポート#2に
向かうセルBがアドレスポインタ“1”、出力ポート#
1と出力ポート#2に向かうセルCがアドレスポインタ
“2”、出力ポート#3と出力ポート#4に向かうセル
Dがアドレスポインタ“3”にそれぞれ書き込まれると
きの例を示している。空きアドレス管理装置1202か
らは、4つのセルに対応したアドレスポインタ“0”,
“1”,“2”,“3”が出力される。各ポートに対応
したアドレスフィルタ1402には、これらのアドレス
ポインタがすべて入力される。各出力ポートに対応した
アドレスフィルタは、キュー制御装置1302から転送
される制御信号にしたがって、入力されたアドレスポイ
ンタの中から有効なアドレスポインタのみを対応するポ
ートアドレス管理装置1102に転送する。FIG. 38 shows an example of the write operation. FIG. 38 shows that the cell A going to the output port # 1 has the address pointer “0”, the cell B going to the output port # 1 and the output port # 2 has the address pointer “1”,
1 shows an example in which the cell C going to the output port # 2 is written to the address pointer "2", and the cell D going to the output port # 3 and the output port # 4 is written to the address pointer "3". From the free address management device 1202, address pointers “0” corresponding to the four cells,
“1”, “2”, and “3” are output. All of these address pointers are input to the address filter 1402 corresponding to each port. The address filter corresponding to each output port transfers only a valid address pointer from the input address pointers to the corresponding port address management device 1102 according to the control signal transferred from the queue control device 1302.
【0198】例えば、出力ポート#1に対応したアドレ
スフィルタ1402−1は、セルA、セルB、セルCの
3つのセルが出力ポート#1に向かうので、これらに対
応したアドレスポインタのみであるアドレスポインタ
“0”,“1”,“2”を出力し、アドレスポインタ
“3”は出力しない。同様に、出力ポート#2に対応し
たアドレスフィルタ1402−2は、アドレスポインタ
“1”,“2”のみを出力し、出力ポート#3に対応し
たアドレスフィルタ1402−3は、アドレスポインタ
“3”のみを出力し、出力ポート#4に対応したアドレ
スフィルタ1402−4は、アドレスポインタ“3”の
みを出力する。For example, since the address filter 1402-1 corresponding to the output port # 1 has three cells A, B, and C going to the output port # 1, the address filter 1402-1 has only an address pointer corresponding to these cells. The pointers “0”, “1”, and “2” are output, and the address pointer “3” is not output. Similarly, the address filter 1402-2 corresponding to the output port # 2 outputs only the address pointers "1" and "2", and the address filter 1402-3 corresponding to the output port # 3 outputs the address pointer "3". And the address filter 1402-4 corresponding to the output port # 4 outputs only the address pointer "3".
【0199】ポートアドレス管理装置1102は、アド
レスフィルタ1402から出力された有効なアドレスポ
インタを保持する。出力ポート#1に対応したポートア
ドレス管理装置1102−1には、アドレスポインタ
“0”,“1”,“2”が入力されるので、これらのア
ドレスポインタを保持する。同様に、出力ポート#2に
対応したポートアドレス管理装置1102−2は、アド
レスポインタ“0”,“1”が入力され、これらのアド
レスポインタを保持し、出力ポート#3に対応したポー
トアドレス管理装置1102−3は、アドレスポインタ
“3”が入力され、このアドレスポインタを保持し、出
力ポート#4に対応したポートアドレス管理装置110
2−4は、アドレスポインタ“3”が入力され、このア
ドレスポインタを保持される。The port address management device 1102 holds a valid address pointer output from the address filter 1402. Since the address pointers “0”, “1”, and “2” are input to the port address management device 1102-1 corresponding to the output port # 1, these address pointers are held. Similarly, the port address management device 1102-2 corresponding to the output port # 2 receives the address pointers “0” and “1”, holds these address pointers, and manages the port address corresponding to the output port # 3. The device 1102-3 receives the address pointer "3", holds the address pointer, and sets the port address management device 110 corresponding to the output port # 4.
In 2-4, the address pointer "3" is input, and this address pointer is held.
【0200】ポートアドレス管理装置1102は、例え
ば、有効なアドレスポインタかどうかを識別するために
1ビットを用いるようにしても良い。アドレスポインタ
が有効かどうかを1ビットを用いて表す場合、アドレス
フィルタ1402は、無効なアドレスポインタの場合
は、このビットを0にセットし、有効なアドレスポイン
タの場合は、1をセットすることでフィルタリング動作
を実現できる。The port address management device 1102 may use, for example, one bit to identify whether it is a valid address pointer. When the validity of the address pointer is indicated by using one bit, the address filter 1402 sets this bit to 0 for an invalid address pointer, and sets 1 for a valid address pointer. A filtering operation can be realized.
【0201】図39は、図38の状態からの読み出し動
作の例を示している。FIG. 39 shows an example of a read operation from the state of FIG.
【0202】各ポートアドレス管理装置1102から最
も先に書き込まれたアドレスポインタが出力される。図
38は、古いアドレスポインタが下になるように描かれ
ているので、出力ポート#1に対するポートアドレス管
理装置1102−1では“0”、出力ポート#2に対す
るポートアドレス管理装置1102−2では“1”、出
力ポート#3に対するポートアドレス管理装置1102
−3では“3”、出力ポート#4に対するポートアドレ
ス管理装置1102−4では“3”がそれぞれ出力され
る。出力されたアドレスポインタは、他のポートアドレ
ス管理装置1102に転送される。転送されたアドレス
ポインタは、各ポートアドレス管理装置1102に保持
されているアドレスポインタとの比較が比較器111
4,1115,1116によって行われる。Each port address management device 1102 outputs the address pointer written first. In FIG. 38, since the old address pointer is drawn downward, the port address management device 1102-1 for the output port # 1 is "0", and the port address management device 1102-2 for the output port # 2 is "0". 1 ″, port address management device 1102 for output port # 3
-3, "3" is output from the port address management device 1102-4 for the output port # 4. The output address pointer is transferred to another port address management device 1102. The transferred address pointer is compared with the address pointer held in each port address management device 1102 by the comparator 111.
4, 1115, 1116.
【0203】図39の例では、出力ポート#1に対する
ポートアドレス管理装置1102−1には、出力ポート
#2に対するポートアドレス管理装置1102−2、出
力ポート#3に対するポートアドレス管理装置1102
−3、出力ポート#4に対するポートアドレス管理装置
1102−4からアドレスポインタ“1”,“3”,
“3”が転送され、これらのアドレスポインタが保持さ
れているかどうかが比較される。出力ポート#1に対す
るポートアドレス管理装置1102−1には、アドレス
ポインタ“1”,“2”が保持されているので、転送さ
れたアドレスポインタ“1”に対しては保持されている
ことを示す信号がキュー制御装置1302へ転送され
る。図39では、この信号は“hit”として表示され
ている。In the example of FIG. 39, the port address management device 1102-1 for the output port # 1 includes the port address management device 1102-2 for the output port # 2, and the port address management device 1102 for the output port # 3.
-3, the address pointers "1", "3",
"3" is transferred, and it is compared whether these address pointers are held. Since the port address management device 1102-1 for the output port # 1 holds the address pointers "1" and "2", it indicates that the address pointer "1" is held for the transferred address pointer "1". The signal is transferred to the queue controller 1302. In FIG. 39, this signal is displayed as “hit”.
【0204】一方、空きアドレス管理装置1202に
は、各ポートアドレス管理装置1102から転送された
アドレスポインタが入力される。また、キュー制御装置
1302から、これらのアドレスポインタが他のポート
アドレス管理装置1102に保持されているかどうかを
示す信号が転送される。図39では、“write”と
示された信号は、ポートアドレス管理装置1102に保
持されていないことを示し、したがって、空きアドレス
として利用可能なので空きアドレス管理装置1202に
書き込まれる。On the other hand, the address pointer transferred from each port address management device 1102 is input to the free address management device 1202. Further, a signal indicating whether or not these address pointers are held in another port address management device 1102 is transferred from the queue control device 1302. In FIG. 39, a signal indicated as “write” indicates that the signal is not held in the port address management device 1102, and is therefore usable as a free address, so that the signal is written to the free address management device 1202.
【0205】図39に示されているように、空きレジス
タ管理装置には、同じアドレスポインタが複数入力され
るときがある。複数のアドレスポインタは、空きアドレ
スフィルタ1216によって重複したものが削除され
る。また、空きアドレスフィルタによって、複数の空き
アドレスメモリ1212,1213,1214,121
5に保持されているアドレスポインタ数が均一になるよ
うに並ベ替えられてから転送される。図39の例の場
合、“0”と“3”がそれぞれ空きアドレスメモリ12
12と空きアドレスメモリ1213に転送され、書き込
まれる。As shown in FIG. 39, there are cases where the same address pointer is input to the empty register management device a plurality of times. The duplicate address pointers are deleted by the empty address filter 1216. In addition, a plurality of free address memories 1212, 1213, 1214, 121
5 are transferred after being rearranged so that the number of address pointers held in 5 becomes uniform. In the case of the example of FIG. 39, “0” and “3” are the free address memories 12 respectively.
12 and the free address memory 1213 to be written.
【0206】このような動作により、アドレス管理を並
列に処理でき、高速な動作が可能となる。With such an operation, address management can be processed in parallel, and high-speed operation can be performed.
【0207】次に、本実施形態のより詳細な構成につい
て説明する。Next, a more detailed configuration of the present embodiment will be described.
【0208】最初にポートアドレス管理装置1102の
構成例について説明する。First, a configuration example of the port address management device 1102 will be described.
【0209】図40にポートアドレス管理装置1102
の構成例を示す。図40に示した構成例は、図36に示
した構成例とは異なり、記憶素子のそれぞれに比較回路
を設けている。図40に示したポートアドレス管理装置
1102は、複数組の、第1のメモリ素子5100およ
び複数の第2のメモリ素子5200の組と、1または複
数の集計回路5300とで構成される。第1のメモリ素
子5100には、有効なアドレスポインタかどうかを示
す情報が保持される。また、複数の第2のメモリ素子5
200にて、アドレスポインタが保持される。FIG. 40 shows a port address management device 1102.
An example of the configuration will be described. The configuration example shown in FIG. 40 differs from the configuration example shown in FIG. 36 in that a comparison circuit is provided for each of the storage elements. The port address management device 1102 illustrated in FIG. 40 includes a plurality of sets of a first memory element 5100 and a plurality of second memory elements 5200, and one or a plurality of aggregation circuits 5300. The first memory element 5100 holds information indicating whether it is a valid address pointer. In addition, a plurality of second memory elements 5
At 200, the address pointer is held.
【0210】図40に示した構成例では、アドレスポイ
ンタは、古いものが下側に詰められて保持される。書き
込み動作時は、空きであるメモリ素子5100,520
0の中で、最も下のメモリ素子5100,5200に書
き込まれる。読み出し動作時は、一番下側のメモリ素子
5100,5200の内容が読み出され、他のメモリ素
子5100,5200に保持されている内容は、1つ下
のメモリ素子5100,5200にシフトされる。In the configuration example shown in FIG. 40, the oldest address pointer is held at the lower part. During a write operation, the empty memory elements 5100, 520
0, the data is written to the lowermost memory elements 5100 and 5200. During a read operation, the contents of the lowermost memory elements 5100 and 5200 are read, and the contents held in the other memory elements 5100 and 5200 are shifted to the next lower memory elements 5100 and 5200. .
【0211】図41にメモリ素子5100の詳細な構成
例を示す。メモリ素子5100は、フリップフロップ5
111と、比較器を構成するnチャネルのトランジスタ
5121,5122,5123,5124,5125,
5126と、セレクタを構成する3状態バッファ515
1,5153と、アンドゲート5131と、オアゲート
5133と、セレクタを構成する4つの3状態バッファ
5141,5143,5145,5147とで構成され
る。FIG. 41 shows a detailed configuration example of the memory element 5100. The memory element 5100 includes the flip-flop 5
111 and n-channel transistors 5121, 5122, 5123, 5124, 5125,
5126 and a three-state buffer 515 constituting a selector
1, 5153, an AND gate 5131, an OR gate 5133, and four three-state buffers 5141, 5143, 5145, and 5147 forming a selector.
【0212】なお、図40のVLD0〜VLD3と図4
1のAP0〜AP3、図40のEで示す4つの信号と図
41のEI2/EO2,EI1/EO1,EI0/EO
0,AI/AO、図40のVLDと図41のSO/S
I、図40のTAGv0,TAGv1,TAGv2と図
41のTG0/TG0B,TG1/TG1B,TG2/
TG2Bがそれぞれ対応する。Note that VLD0 to VLD3 in FIG. 40 and FIG.
41, four signals indicated by E in FIG. 40 and EI2 / EO2, EI1 / EO1, EI0 / EO in FIG.
0, AI / AO, VLD in FIG. 40 and SO / S in FIG.
I, TAGv0, TAGv1, TAGv2 in FIG. 40 and TG0 / TG0B, TG1 / TG1B, TG2 /
TG2B respectively correspond.
【0213】フリップフロップ5111は、データ入力
Dとイネーブル入力Eとデータ出力QとQの反転出力Q
−bar(図中のQオーバースコア)を持つ。ただし、
クロックおよびリセット入力も持つが図示していない。
データ入力には、セレクタを構成する3状態バッファ5
151と5153の出力が入力される。イネーブル入力
には、オアゲート5133の出力が入力される。データ
出力Qは、比較器を構成するnチャネルトランジスタ5
121,5123,5125と上のメモリ素子5100
(AO)と下のメモリ素子5100(SO)に接続され
る。データ反転出力Q−barは、比較器を構成するn
チャネルトランジスタ5122,5124,5126と
アンドゲート5131に接続される。The flip-flop 5111 has a data input D, an enable input E, a data output Q, and an inverted output Q of the data output Q.
-Has a bar (Q overscore in the figure). However,
It also has a clock and reset input, not shown.
The data input includes a three-state buffer 5 constituting a selector.
The outputs of 151 and 5153 are input. The output of the OR gate 5133 is input to the enable input. The data output Q is an n-channel transistor 5 constituting a comparator.
121, 5123, 5125 and the upper memory element 5100
(AO) and the lower memory element 5100 (SO). The data inverted output Q-bar is n
Channel transistors 5122, 5124, 5126 and AND gate 5131 are connected.
【0214】セレクタを構成する3状態バッファ515
1と5153は、キュー制御装置1302から転送され
る書き込み指示信号“WRITE”によって、上のメモ
リ素子5100からの出力(SI)と、セレクタを構成
する3状態バッファ5141,5143,5145,5
147の出力の切替を行う。“WRITE”がアクティ
ブのとき、セレクタを構成する3状態バッファ514
1,5143,5145,5147からの信号を出力
し、そうでないときは、上のメモリ素子5100からの
信号(SI)を出力する。Three-State Buffer 515 Constituting Selector
1 and 5153 are output by the write instruction signal “WRITE” transferred from the queue control device 1302, and the output (SI) from the upper memory element 5100 and the three-state buffers 5141, 5143, 5145, 5
147 is switched. When "WRITE" is active, the three-state buffer 514 constituting the selector
1, 5143, 5145, and 5147. Otherwise, a signal (SI) from the upper memory element 5100 is output.
【0215】アドレスポインタのセレクタを構成する3
状態バッファ5141,5143,5145,5147
は、アドレスフィルタ1402から転送されるアドレス
ポインタの選択を行う。図41の例では、4つのアドレ
スポインタ入力があり、3状態バッファ5141,51
43,5145,5147は、4入力1出力のセレクタ
を構成している。出力は、セレクタを構成している3状
態バッファ5153に転送される。(3) Constituting Address Selector 3
Status buffers 5141, 5143, 5145, 5147
Selects the address pointer transferred from the address filter 1402. In the example of FIG. 41, there are four address pointer inputs, and the three-state buffers 5141 and 511,
Reference numerals 43, 5145, and 5147 constitute a 4-input / 1-output selector. The output is transferred to a three-state buffer 5153 forming a selector.
【0216】アンドゲート5131には、下の段のメモ
リ素子5100から転送された保持データ(AI)と、
フリップフロップ5111の反転データ出力(Q−ba
rとキュー制御装置1302から転送される書き込み許
可信号“WRITE”が入力される。フリップフロップ
5111の保持データが“L”であるとき、すなわち、
有効なアドレスポインタが保持されていないときで、下
の段のメモリ素子5100に保持されているデータが有
効であるときに書き込み指示信号が入力されるとアクテ
ィブ(“H”)になる。アンドゲート5131の出力が
アクティブのとき、そのメモリ素子5100が最も下に
ある空きのメモリ素子であるので、アドレスフィルタ1
402から転送されたアドレスポインタを取り込む。ア
ンドゲート5131の出力は、オアゲート5133とア
ドレスポインタAP0を選択する3状態バッファ514
3と、他のメモリ素子5200に転送される。横方向の
メモリ素子に転送される信号は、対応するアドレスポイ
ンタを選択するために利用される。上のメモリ素子51
00に転送される信号EO0は、別のアドレスポインタ
を選択するために利用される。すなわち、このメモリ素
子5100にAP0を取り込むとき、1つ上のメモリ素
子5100は、AP1を取り込み、2つ上のメモリ素子
5100は、AP2を取り込み、3つ上のメモリ素子5
100は、AP3を取り込むために利用される。The AND gate 5131 stores the held data (AI) transferred from the lower memory element 5100,
Inverted data output of flip-flop 5111 (Q-ba
r and a write enable signal “WRITE” transferred from the queue control device 1302 are input. When the data held in the flip-flop 5111 is “L”,
When a valid address pointer is not held and a write instruction signal is input while data held in the lower memory element 5100 is valid, the memory element becomes active (“H”). When the output of the AND gate 5131 is active, the memory element 5100 is the lowest empty memory element.
The address pointer transferred from 402 is fetched. The output of the AND gate 5131 is an OR gate 5133 and a three-state buffer 514 for selecting the address pointer AP0.
3 and transferred to another memory element 5200. The signal transferred to the horizontal memory element is used to select a corresponding address pointer. Upper memory element 51
The signal EO0 transferred to 00 is used to select another address pointer. That is, when AP0 is taken into this memory element 5100, the memory element 5100 above takes AP1 and the memory element 5100 above it takes AP2, and the memory element 5100 above three.
100 is used to capture AP3.
【0217】オアゲート5133は、フリップフロップ
5111の書き込み許可信号を生成する。フリップフロ
ップの書き込みは、書き込み動作および読み出し動作の
ときに生じる。書き込み動作のときは、このメモリ素子
5100が最も下にある空きのメモリ素子5100であ
るか、1つ下から3つ下のメモリ素子5100が最も下
にある空きのメモリ素子5100である場合にこのメモ
リ素子5100に書き込みが行われる。読み出し動作の
ときは、すべてのメモリ素子5100がシフト動作を行
うために書き込みが行われる。したがって、オアゲート
5133には、最も下の空きメモリ素子5100かどう
かを判定するアンドゲート5131の出力と、1つ下の
段のアンドゲート5131からの出力であるEI0と2
つ下の段のアンドゲート5131からの出力であるEI
1と3つ下の段のアンドゲート5131からの出力であ
るEI2とキュー制御回路1302から転送される読み
出し許可信号“READ”が入力される。The OR gate 5133 generates a write enable signal for the flip-flop 5111. Writing to the flip-flop occurs at the time of a write operation and a read operation. At the time of a write operation, when the memory element 5100 is the lowest empty memory element 5100 or the memory element 5100 one to three below is the lowest empty memory element 5100, Writing is performed on the memory element 5100. In the case of a read operation, writing is performed so that all the memory elements 5100 perform a shift operation. Therefore, the output of the AND gate 5131 that determines whether the memory element is the lowest free memory element 5100 and the outputs EI0 and EI2 that are the outputs from the AND gate 5131 of the next lower stage are provided to the OR gate 5133.
EI which is the output from the AND gate 5131 at the next lower stage
EI2, which is an output from the AND gate 5131 at one and three stages below, and a read enable signal “READ” transferred from the queue control circuit 1302 are input.
【0218】比較回路を構成するnチャネルトランジス
タは、図27に示したメモリセルに用いられているnチ
ャネルトランジスタ4159,4161と同じ働きをす
る。nチャネルトランジスタ5121と5122,nチ
ャネルトランジスタ5123と5124,nチャネルト
ランジスタ5125と5126が対をなし、フリップフ
ロップ5111に保持されている内容と、配線TG0,
TG1,TG2に転送される内容の比較を行い、不一致
の場合は、配線ML0,ML1,ML2から電荷を引き
抜く。The n-channel transistors forming the comparison circuit have the same function as the n-channel transistors 4159 and 4161 used in the memory cell shown in FIG. The n-channel transistors 5121 and 5122, the n-channel transistors 5123 and 5124, and the n-channel transistors 5125 and 5126 form a pair, and the contents held in the flip-flop 5111 and the wiring TG0,
The contents transferred to TG1 and TG2 are compared, and if they do not match, the charge is extracted from the wirings ML0, ML1 and ML2.
【0219】図42にメモリ素子5200の詳細な構成
例を示す。FIG. 42 shows a detailed configuration example of the memory element 5200.
【0220】なお、メモリ素子5200は、メモリ素子
5100の最も下の空きメモリ素子を検出するためのア
ンドゲート5131がない点が異なるだけで、他は同一
であるので、詳細な説明は省略する。The memory element 5200 is the same except that there is no AND gate 5131 for detecting the lowest empty memory element of the memory element 5100, and the other parts are the same.
【0221】なお、図40のAP00〜AP03と図4
1のAP0〜AP3、図40のAPO0と図41のSO
/SI、図40のTAGi0,TAGi1,TAGi2
と図41のTG0/TG0B,TG1/TG1B,TG
2/TG2Bがそれぞれ対応する。Note that AP00 to AP03 in FIG. 40 and FIG.
41, APO0 in FIG. 40 and SO in FIG.
/ SI, TAGi0, TAGi1, TAGi2 in FIG.
And TG0 / TG0B, TG1 / TG1B, TG in FIG.
2 / TG2B respectively correspond.
【0222】次に、集計回路5300の構成について説
明する。Next, the configuration of the counting circuit 5300 will be described.
【0223】図43に集計回路5300の構成例を示
す。図43に示した集計回路5300は、m−1個のオ
アゲート5310−1〜5310−(m−1)とm個の
プリチャージ用pチャネルトランジスタ5320−1〜
5320−mで構成される。FIG. 43 shows a configuration example of the counting circuit 5300. The counting circuit 5300 illustrated in FIG. 43 includes m-1 OR gates 5310-1 to 5310- (m-1) and m precharge p-channel transistors 5320-1 to 5320-1.
5320-m.
【0224】集計回路5300への入力は、メモリ素子
5100,5200が0からmまでのm+1個あるのに
対しm個である。これは、一番下のメモリ素子510
0,5200が読み出しによって読み出し時になくなる
ので、一致検出を行う必要がないからである。The number of inputs to the counting circuit 5300 is m while the number of memory elements 5100 and 5200 is (m + 1) from 0 to m. This is the bottom memory element 510
This is because there is no need to perform coincidence detection since 0,5200 disappears during reading.
【0225】m−1個のオアゲート5310−1〜53
10−(m−1)のどれか1つの入力がアクティブにな
ると、出力である“HIT”信号は、アクティブにな
り、検索条件に一致したアドレスポインタがあることが
示される。m個のプリチャージ用pチャネルトランジス
タ5320−1〜5320−mは、検索を行う前に制御
信号PCによって検索用の配線ML0〜MLmを“H”
にプリチャージする。PCが“L”になると、pチャネ
ルトランジスタがすべてオンして、検索線ML0〜ML
mが電源電位に等しくなる。その後、PCが“H”にな
り、pチャネルトランジスタがオフし、検索線ML0〜
MLmが電源と分離され、検索が行われ、不一致だった
場合には、電荷が引き抜かれ、“L”になる。M-1 OR gates 5310-1 to 5310-53
When any one of the inputs 10- (m-1) becomes active, the output "HIT" signal becomes active, indicating that there is an address pointer that matches the search condition. The m precharge p-channel transistors 5320-1 to 5320-m set the search wirings ML0 to MLm to “H” by the control signal PC before performing the search.
Precharge to. When PC becomes "L", all the p-channel transistors are turned on, and the search lines ML0 to ML
m becomes equal to the power supply potential. After that, PC becomes “H”, the p-channel transistor turns off, and the search lines ML0 to ML0
The MLm is separated from the power supply, a search is performed, and if there is no match, the charge is extracted and becomes “L”.
【0226】図44に集計回路5300の他の構成例を
示す。図44に示した集計回路は、オアゲートをツリー
状に接続している。図44に示した構成は、図43より
ゲート数は増加するが、遅延時間は小さくなる。FIG. 44 shows another configuration example of the counting circuit 5300. The aggregation circuit shown in FIG. 44 connects OR gates in a tree shape. In the configuration shown in FIG. 44, the number of gates is increased as compared with FIG. 43, but the delay time is reduced.
【0227】次に、図45を用いてアドレスフィルタ1
402の構成を説明する。Next, address filter 1 will be described with reference to FIG.
The configuration of 402 will be described.
【0228】図45において、VDI0,VDI1,V
DI2,VDI3は、キュー制御装置1302から転送
される有効なセル入力を示す信号、API0,API
1,API2,API3は、空きアドレス管理装置12
02から転送されるアドレスポインタ、VDO0,VD
O1,VDO2,VDO3は、アドレスフィルタ140
2から出力されるアドレスポインタの有効を示す信号A
PI0,API1,API2,API3は、アドレスフ
ィルタ1402からのアドレスポインタ出力である。In FIG. 45, VDI0, VDI1, VDI
DI2 and VDI3 are signals indicating valid cell inputs transferred from the queue control device 1302, API0, API
1, API2 and API3 are free address management devices 12
02, VDO0, VD
O1, VDO2, and VDO3 are address filters 140
A indicating the validity of the address pointer output from the address A
PI0, API1, API2, and API3 are address pointer outputs from the address filter 1402.
【0229】図45に示したアドレスフィルタ1402
の例は、2入力2出力のスイッチ素子6100を用いて
構成されるバッチャーのソーティング網で実現されてい
る。ソーティングに用いる情報は、有効情報のみで、し
たがって、図45中の出力の上側に有効なアドレスポイ
ンタが集められる。Address filter 1402 shown in FIG.
Is realized by a batcher sorting network composed of two-input two-output switch elements 6100. The information used for sorting is only valid information. Therefore, valid address pointers are collected above the output in FIG.
【0230】次に、図46にスイッチ素子6100の構
成例を示す。Next, FIG. 46 shows a configuration example of the switch element 6100.
【0231】図46に示したスイッチ素子6100は、
セレクタ6111−1〜6111−n、6113−1〜
6113−n、インバータ6115で構成される。図4
6において、VLDA,VLDBは、有効ビット入力
で、AP0A〜APnAは、VLDAに対応したアドレ
スポインタ入力、AP0B〜APnBは、VLDBに対
応したアドレスポインタ入力、VLDX,VLDYは、
有効ビット出力で、AP0X〜APnXは、VLDXに
対応したアドレスポインタ出力、AP0Y〜APnY
は、VLDYに対応したアドレスポインタ出力である。The switch element 6100 shown in FIG.
Selectors 6111-1 to 6111-n, 613-1 to 1
6113-n and an inverter 6115. FIG.
6, VLDA and VLDB are valid bit inputs, AP0A to APnA are address pointer inputs corresponding to VLDA, AP0B to APnB are address pointer inputs corresponding to VLDB, and VLDX and VLDY are
With valid bit output, AP0X to APnX are address pointer outputs corresponding to VLDX, AP0Y to APnY
Is an address pointer output corresponding to VLDY.
【0232】このスイッチ素子6100は、有効ビット
のみで交換動作を行う。2つの入力のうち有効ビットと
して“1”を持つものがXに出力され、そうでないもの
がYに出力される。ただし、どちらも同じ値のときは、
どちらでも良い。したがって、VLDAが“1”のとき
は、VLDAに対応したセットがXに出力され、VLD
Bに対応したセットがYに出力される。VLDAが
“0”のときは、VLDAに対応したセットがYに出力
され、VLDBに対応したセットがXに出力される。This switching element 6100 performs an exchange operation using only valid bits. Of the two inputs, those having "1" as a valid bit are output to X, and those that do not are output to Y. However, when both have the same value,
both are fine. Therefore, when VLDA is "1", a set corresponding to VLDA is output to X, and VLDA
The set corresponding to B is output to Y. When VLDA is “0”, a set corresponding to VLDA is output to Y, and a set corresponding to VLDB is output to X.
【0233】なお、スイッチ素子6100としては、ラ
ンニングアダー回路を用いたものも実現可能である。As the switch element 6100, an element using a running adder circuit can be realized.
【0234】次に、空きアドレス管理装置1202の詳
細な構成例について説明する。Next, a detailed configuration example of the free address management device 1202 will be described.
【0235】空きアドレス管理装置1202は、1回の
動作に対して、複数の空きアドレスを入出力する。第1
の実施形態で示したような単一のメモリを用いても実現
できるが、ここでは、図36に示したような複数のメモ
リを並列に用いた構成について説明する。The vacant address management device 1202 inputs and outputs a plurality of vacant addresses for one operation. First
However, here, a configuration using a plurality of memories in parallel as shown in FIG. 36 will be described.
【0236】最初に空きアドレスフィルタ1216の構
成について説明する。First, the configuration of the free address filter 1216 will be described.
【0237】空きアドレスフィルタ1216は、ポート
アドレス管理装置1102から出力されたアドレスポイ
ンタの中から重複したものを取り除き、複数の空きアド
レスメモリに均等に書き込みを行う。The free address filter 1216 removes the duplicated address pointers from the address pointers output from the port address management device 1102, and writes data evenly in a plurality of free address memories.
【0238】図47に空きアドレスフィルタ1216の
構成例を示す。図47に示した空きアドレスフィルタ1
216は、アドレスポインタの重複を取り除くためにバ
ッチャーのソーティングネットワーク7100と唯一化
回路7200を用い、均等な書き込みのためにバッチャ
ーのソーティングネットワーク7300とシフトネット
ワーク7400を用いている。FIG. 47 shows a configuration example of the free address filter 1216. Empty address filter 1 shown in FIG.
Reference numeral 216 uses a batcher sorting network 7100 and a unique circuit 7200 to eliminate duplication of address pointers, and uses a batcher sorting network 7300 and a shift network 7400 for uniform writing.
【0239】バッチャーネットワーク7100は、アド
レスポインタの大きさによってソーティングを行う。そ
の結果、出力は、大きい順番で並べられる。同じ値を持
つものは、隣あって並ぶ。したがって、隣りあうアドレ
スポインタの値が同じとき、重複しているので片方を無
効にする。このようにすることで重複したアドレスポイ
ンタを削除することができる。その後、有効ビットの値
でソーティングすることで、有効なアドレスポインタの
みを片方に集めることができる。そして、前回の書き込
んだメモリの情報から、書き込むメモリをシフタによっ
て選択することで均一な書き込みを実現できる。The batcher network 7100 performs sorting according to the size of the address pointer. As a result, the outputs are arranged in a descending order. Those with the same value are lined up next to each other. Therefore, when the values of adjacent address pointers are the same, one of them is invalidated because it is duplicated. By doing so, the duplicated address pointer can be deleted. After that, by sorting by the value of the valid bit, only valid address pointers can be collected on one side. Then, uniform writing can be realized by selecting the memory to be written from the information of the previously written memory by the shifter.
【0240】次に、図48を参照しながら空きアドレス
フィルタ1216の動作例について説明する。Next, an operation example of the empty address filter 1216 will be described with reference to FIG.
【0241】図48(a)は、アドレスポインタとして
“0”,“2”,“2”,“1”が入力された場合の例
を示している。入力されたアドレスポインタは、バッチ
ャーネットワーク7100でアドレスポインタの値によ
ってソートされ、“2”,“2”,“1”,“0”とし
て出力される。そして、唯一化回路7200で隣合うア
ドレスポインタの値が同じ場合は、下側のものが無効に
される。この例では、アドレスポインタ“2”が隣あっ
ているので、下側のものが無効にされる。そして、バッ
チャーネットワーク7200で有効ビットを用いてソー
ティングされ、もともとは、有効なアドレスポインタの
みが上側に集められる。そして、シフトネットワーク7
400によって並べ替えられ、空きアドレスメモリに書
き込まれる。ここでは、シフトネットワーク7400
は、空きアドレスにアドレスポインタがひとつも保持さ
れていないので、上から順番に書き込むように上側に詰
めて出力される。FIG. 48A shows an example in which "0", "2", "2", and "1" are input as address pointers. The input address pointer is sorted by the value of the address pointer in the batcher network 7100 and is output as “2”, “2”, “1”, “0”. If the values of adjacent address pointers are the same in the unique circuit 7200, the lower one is invalidated. In this example, since the address pointer "2" is adjacent, the lower one is invalidated. Then, sorting is performed using the valid bits in the batcher network 7200, and only valid address pointers are originally collected on the upper side. And shift network 7
The data is rearranged by 400 and written to the free address memory. Here, the shift network 7400
Since no address pointer is held in the vacant address, the data is packed upward and written in order from the top.
【0242】図48(b)は、さらにアドレスポインタ
として“4”,“4”,“3”,“4”が入力された場
合の例を示している。バッチャーネットワーク7100
によって、アドレスポインタの値で並べ替えられ、
“4”,“4”,“4”,“3”になり、唯一化回路7
200によって重複している“4”が無効化される。さ
らに、バッチャーネットワーク7300でソーティング
され、シフトネットワーク7400に入力される。図4
8(a)では、上から3つまでの空きアドレスメモリに
書き込まれたので、次は、4番目の空きアドレスメモリ
から書き込みが行われる。すなわち、4番目と1番目の
空きアドレスメモリに書き込まれる。FIG. 48B shows an example in which "4", "4", "3", and "4" are further input as address pointers. Batcher Network 7100
Is sorted by the value of the address pointer,
"4", "4", "4", "3", and the unique circuit 7
200, the duplicated “4” is invalidated. Further, the data is sorted by the batcher network 7300 and input to the shift network 7400. FIG.
In FIG. 8 (a), since data has been written to the top three free address memories, writing is performed from the fourth free address memory next. That is, the data is written to the fourth and first free address memories.
【0243】同様に“5”,“6”,“7”,“8”が
入力された場合、最終的には、4番目の空きアドレスメ
モリから書き込みが始まり、4番目の空きアドレスメモ
リに“8”,1番目の空きアドレスメモリに“7”,2
番目の空きアドレスメモリに“6”,3番目の空きアド
レスメモリに“5”がそれぞれ書き込まれる。この様子
を図48(c)に示す。Similarly, when "5", "6", "7", and "8" are input, finally, writing starts from the fourth free address memory, and "4" is stored in the fourth free address memory. 8 "," 7 ", 2 in the first free address memory
"6" is written to the third free address memory, and "5" is written to the third free address memory. This situation is shown in FIG.
【0244】次に、図49にバッチャーネットワーク7
100の構成例を示す。図49に示したバッチャーネッ
トワーク7100は、図50に示される複数の交換素子
7110で構成される。Next, FIG. 49 shows the batcher network 7.
100 shows a configuration example. The batcher network 7100 shown in FIG. 49 includes a plurality of switching elements 7110 shown in FIG.
【0245】図50に示した交換素子7110は、有効
ビットとアドレスポインタの値(有効ビットを最上位ビ
ットとする)を比較する比較器7115、セレクタ71
11−1〜7111−n,7113−1〜7113−
n、インバータ7117で構成される。The switching element 7110 shown in FIG. 50 includes a comparator 7115 for comparing a valid bit with a value of an address pointer (the valid bit is set to the most significant bit), and a selector 71.
11-1 to 7111-n, 7113-1 to 7113-
n, and an inverter 7117.
【0246】比較器7115は、有効ビットを最上位ビ
ットとして2つのアドレスポインタA,Bの大小比較を
行う。A(VLDA,AP0A〜APnA)が大きかっ
た場合に出力をアクティブにする。比較器の出力は、セ
レクタ7111−1〜7111−nと、インバータ71
17に接続される。Comparator 7115 compares the two address pointers A and B with each other with the valid bit as the most significant bit. When A (VLDA, AP0A to APnA) is large, the output is activated. The output of the comparator is output from selectors 7111-1 to 7111 -n and
17 is connected.
【0247】セレクタ7111−1〜7111−nは、
AとBのデータ入力端子と制御端子を持ち、制御端子の
入力すなわち比較器7115の出力がアクティブのとき
にA端子のデータを出力する。The selectors 7111-1 to 7111-n are
It has A and B data input terminals and a control terminal, and outputs data of the A terminal when the input of the control terminal, that is, the output of the comparator 7115 is active.
【0248】セレクタ7113−1〜7113−nは、
AとBのデータ入力端子と制御端子を持ち、制御端子の
入力すなわちインバータ7117の出力がアクティブの
ときにA端子のデータを出力する。The selectors 7113-1 to 7113-n are
It has A and B data input terminals and a control terminal, and outputs data of the A terminal when the input of the control terminal, that is, the output of the inverter 7117 is active.
【0249】このような構成の交換素子7110を図4
9に示すように接続することで、入力されたアドレスポ
インタを大きい順に並べ替えることが可能となる。The switching element 7110 having such a structure is shown in FIG.
9, the input address pointers can be rearranged in descending order.
【0250】次に、唯一化回路7200の構成について
説明する。唯一化回路7200は、となり合う2つの値
が等しいときに片方を無効化する機能を実現する。Next, the configuration of unique circuit 7200 will be described. The unique circuit 7200 realizes a function of invalidating one of two adjacent values when the two values are equal.
【0251】図51に唯一化回路7200の構成例を示
す。図51は、4つの入力に対する例を示している。こ
の唯一化回路7200は、比較器7213−1,721
3−2,7213−3とアンドゲート7211−1,7
211−2,7211−3とで構成される。比較器72
13は、隣合うアドレスポインタ(有効ビットを含む)
の比較を行う。2つの値が一致したときに出力をアクテ
ィブにする。アンドゲート7211は、隣合うアドレス
ポインタの値が一致したときに有効ビットを無効に書き
換える動作を行う。FIG. 51 shows an example of the structure of the unique circuit 7200. FIG. 51 shows an example for four inputs. This unique circuit 7200 includes comparators 7213-1 and 721
3-2, 7213-3 and AND gate 7211-1, 7
211-2 and 7211-3. Comparator 72
13 is an adjacent address pointer (including a valid bit)
Is compared. Activate the output when the two values match. The AND gate 7211 performs an operation of rewriting the valid bit to invalid when the values of the adjacent address pointers match.
【0252】唯一化回路7200には、バッチャーネッ
トワーク7100によって大きい順番に並べ替えられた
アドレスポインタが入力されるので、このような構成の
唯一化回路7200を用いることで重複したアドレスポ
インタを無効化することが可能となる。Since the address pointers rearranged in the descending order by the batcher network 7100 are input to the uniqueness circuit 7200, the duplicated address pointers are invalidated by using the uniqueness circuit 7200 having such a configuration. It is possible to do.
【0253】バッチャーネットワーク7300は、バッ
チャーネットワーク7100と同じ機能なので、前述し
たものと同じ構成、例えば図49の構成で実現できる。Since the batcher network 7300 has the same function as the batcher network 7100, it can be realized with the same configuration as that described above, for example, the configuration shown in FIG.
【0254】次に、シフトネットワーク7400の構成
について説明する。Next, the configuration of shift network 7400 will be described.
【0255】図52にシフトネットワーク7400の構
成例を示す。シフトネットワーク7400は、複数のシ
フト回路7420−1〜7420−(n+2)とシフト
制御回路7410とで構成されるまず、図53にシフト
回路7420の構成例を示す。シフト回路7420は、
n2 のトランスファーゲート7421−1−1〜742
1−4−4で構成される。FIG. 52 shows a configuration example of the shift network 7400. Shift network 7400 includes a plurality of shift circuits 7420-1 to 7420- (n + 2) and shift control circuit 7410. First, FIG. 53 shows a configuration example of shift circuit 7420. The shift circuit 7420
of n 2 transfer gate 7421-1-1~742
1-4-4.
【0256】図53において、IN0〜IN3は、デー
タ入力、OUT0〜OUT3は、データ出力、S0〜S
3は、制御入力である。In FIG. 53, IN0 to IN3 indicate data inputs, OUT0 to OUT3 indicate data outputs, and S0 to S3.
3 is a control input.
【0257】S0〜S3の制御入力は、どれか1つだけ
がアクティブになるように制御される。OUT0,OU
T1,OUT2,OUT3には、S0がアクティブのと
き、それぞれ、IN0,IN1,IN2,IN3のデー
タが出力され、S1がアクティブのとき、それぞれ、I
N3,IN0,IN1,IN2のデータが出力され、S
2がアクティブのとき、それぞれ、IN2,IN3,I
N0,IN1のデータが出力され、S3がアクティブの
とき、それぞれ、IN1,IN2,IN3,IN0のデ
ータが出力される。The control inputs S0 to S3 are controlled so that only one of them becomes active. OUT0, OU
When S0 is active, data of IN0, IN1, IN2, and IN3 are output to T1, OUT2, and OUT3, respectively, and when S1 is active, I1 and IN2 are output, respectively.
The data of N3, IN0, IN1, and IN2 are output, and S
2 is active, IN2, IN3, I
When the data of N0 and IN1 is output and S3 is active, the data of IN1, IN2, IN3, and IN0 are output, respectively.
【0258】次に、図54にシフト制御回路7410の
構成例を示す。このシフト制御回路7410は、アンド
ゲート7421−1〜7421−4、オアゲート742
3−1〜7423−4、フリップフロップ7425−1
〜7425−4で構成される。Next, FIG. 54 shows a configuration example of the shift control circuit 7410. The shift control circuit 7410 includes AND gates 7421-1 to 7421-4 and an OR gate 742.
3-1 to 7423-4, flip-flop 7425-1
To 7425-4.
【0259】図54において、V0〜V3は、有効ビッ
ト入力、S0〜S3は、制御出力である。In FIG. 54, V0 to V3 are valid bit inputs, and S0 to S3 are control outputs.
【0260】シフト制御回路7410には、バッチャー
ネットワーク7300から転送されシフト回路7420
によってシフトされた有効ビットが入力される。したが
って、有効ビットから無効ビットに変化する場所は、一
箇所に限定される。The shift control circuit 7410 transfers the data transferred from the batcher network 7300 to the shift circuit 7420.
Is input. Therefore, the place where the valid bit changes to the invalid bit is limited to one place.
【0261】フリップフロップ7425−1〜7425
−4は、前回のシフト動作のシフト量を保持している。
セット入力Sとリセット入力Rを持ち、セット入力がア
クティブになるとアクティブ状態(“H”)を保持し、
リセット入力がアクティブになると、リセットを行い、
“L”を保持する。フリップフロップ7425−1〜7
425−4は、どれか1つだけがアクティブになる。Flip-flops 7425-1 to 7425
-4 holds the shift amount of the previous shift operation.
It has a set input S and a reset input R. When the set input becomes active, the active state (“H”) is maintained.
When the reset input becomes active, reset is performed,
“L” is held. Flip-flops 7425-1 to 7425-7
425-4, only one of them becomes active.
【0262】アンドゲート7421−1〜7421−4
は、変化点の検出を行う。アンドゲート7421−1〜
7421−4の出力は、フリップフロップ7425−1
〜7425−4のセット入力に接続される。AND gates 7421-1 to 7421-4
Performs a change point detection. AND gate 7421-1-
The output of 7421-4 is the flip-flop 7425-1
74 7425-4.
【0263】オアゲート7423−1〜7423−4
は、フリップフロップ7425−1〜7425−4のリ
セット信号を生成するために用いられる。どれか1つの
フリップフロップ7425がセットされると、他のフリ
ップフロップ7425がリセットされるように、他のフ
リップフロップ7425のセット入力のオアによってリ
セット信号を生成できる。出力は、フリップフロップ7
425−1〜7425−4のリセット入力に接続され
る。OR gates 7423-1 to 7423-4
Are used to generate reset signals for the flip-flops 7425-1 to 7425-4. When any one flip-flop 7425 is set, a reset signal can be generated by ORing the set input of the other flip-flop 7425 such that the other flip-flop 7425 is reset. The output is flip-flop 7
425-1 to 7425-4.
【0264】次に、図55を参照しながらシフトネット
ワーク7400の動作について説明する。図55におい
て、S0〜S3は、シフト制御回路7410のフリップ
フロップ7425の状態を表している。Next, the operation of shift network 7400 will be described with reference to FIG. In FIG. 55, S0 to S3 represent states of the flip-flop 7425 of the shift control circuit 7410.
【0265】図55(a)〜(d)は、シフト制御回路
7410のフリップフロップ7425の状態によるシフ
ト動作を表している。V0〜V3は、入出力される有効
ビットを表している。また、図55中の矢印は、シフト
回路による移動量を表している。例えば、図55(b)
では、1ビットずつ右にシフトする。FIGS. 55A to 55D show a shift operation depending on the state of the flip-flop 7425 of the shift control circuit 7410. FIG. V0 to V3 represent valid bits to be input and output. The arrow in FIG. 55 indicates the amount of movement by the shift circuit. For example, FIG.
Then, it shifts right by one bit.
【0266】図55(e)は、連続した動作例を示して
いる。初期状態では、S0に対応したフリップフロップ
7425がセットされており、入力された有効ビット
は、矢印のように(シフト量0で)シフトされる。入力
された有効ビットは、3ビットのみが有効であるので、
S2が1でS3が0となり、S3のフリップフロップ7
425がセットされ、他のフリップフロップ7425
は、リセットされ、“0001”の状態になる。この状
態からさらに“1100”の有効ビットが入力される
と、“1001”のようにシフトされる。このようにし
て、シフト動作が実現される。FIG. 55E shows a continuous operation example. In the initial state, the flip-flop 7425 corresponding to S0 is set, and the input valid bit is shifted (with a shift amount of 0) as indicated by an arrow. Since only three valid bits are valid,
S2 becomes 1 and S3 becomes 0, and the flip-flop 7 of S3
425 is set and another flip-flop 7425 is set.
Are reset to the state of “0001”. When a valid bit of “1100” is further input from this state, the bit is shifted as “1001”. Thus, the shift operation is realized.
【0267】空きアドレスメモリ1212,1213,
1214,1215は、単純なFIFOである。汎用の
FIFOや、図11〜図24に示したポートアドレス管
理装置1100の内容比較機能を取り除いたものが利用
できるので、ここでは詳細な説明は省略する。Free address memory 1212, 1213,
1214 and 1215 are simple FIFOs. Since a general-purpose FIFO or a device in which the content comparison function of the port address management device 1100 shown in FIGS. 11 to 24 is removed can be used, detailed description is omitted here.
【0268】以上に示したような構成のアドレス装置を
用いることで、マルチキャスト機能を並列に動作させる
ことが可能となり、より高速な動作を実現することがで
きる。By using the address device having the configuration described above, the multicast function can be operated in parallel, and higher-speed operation can be realized.
【0269】なお、本実施形態では、各出力ポート毎の
ポートアドレス管理装置へのアドレスポインタの入力フ
ェイズと、アドレスポインタの出力フェイズ(空きアド
レスポインタの検出を含む)との両方を並列処理する例
を示したが、アドレスポインタの入力フェイズと出力フ
ェイズのいずれか一方だけ並列処理することも可能であ
る。In this embodiment, both the input phase of the address pointer to the port address management device for each output port and the output phase of the address pointer (including the detection of an empty address pointer) are processed in parallel. However, it is also possible to perform parallel processing on only one of the input phase and the output phase of the address pointer.
【0270】ところで、以上では、出力ポート毎にアド
レスポインタを管理するアドレス管理装置について説明
したが、本発明は、例えば、出力ポートをさらに、仮想
チャネル(VC)毎や、クラス毎に管理するアドレス管
理装置に適用することも可能である。In the above description, an address management device for managing an address pointer for each output port has been described. However, the present invention provides, for example, an address management device for managing an output port for each virtual channel (VC) or for each class. It is also possible to apply to a management device.
【0271】また、ATMセルに限らず、例えば、IP
パケットのような可変長のパケットに適用することも可
能である。In addition, not limited to ATM cells, for example, IP
It is also possible to apply to a variable length packet such as a packet.
【0272】また、さらに、スイッチに限らず、分離装
置(デマルチプレクサ)に適用することも可能である。Further, the present invention can be applied not only to switches but also to demultiplexers (demultiplexers).
【0273】本発明は、上述した実施の形態に限定され
るものではなく、その技術的範囲において種々変形して
実施することができる。The present invention is not limited to the above-described embodiments, but can be implemented with various modifications within the technical scope thereof.
【0274】[0274]
【発明の効果】本発明によれば、出力待ちになっている
セルのアドレス情報を、出力先ごとに分けて管理すると
ともに、その管理に用いる前記蓄積手段毎に他の蓄積手
段から出力されたアドレス情報と同じものが保持されて
いるか否かを検出するようにしたので、マルチキャスト
機能を実現できるとともに、アドレス情報の入力動作も
出力動作も高速化することができ、またシフト動作は出
力動作に吸収することができ、また空きのアドレス情報
の検索も高速化できる。According to the present invention, the address information of the cells waiting to be output is managed separately for each output destination, and output from another storage means for each storage means used for the management. Since it is detected whether or not the same address information is held, the multicast function can be realized, the input operation and the output operation of the address information can be accelerated, and the shift operation can be performed in the output operation. It can be absorbed, and the search for free address information can be speeded up.
【0275】また、本発明によれば、マルチキャスト機
能を並列に動作させることが可能となり、より高速な動
作を実現することができる。Further, according to the present invention, it is possible to operate the multicast function in parallel, so that a higher speed operation can be realized.
【図1】本発明の第1の実施形態に係るアドレス管理装
置の構成例を示す図FIG. 1 is a diagram showing a configuration example of an address management device according to a first embodiment of the present invention;
【図2】アドレス管理装置の動作例(初期状態)を説明
するための図FIG. 2 is a diagram for explaining an operation example (initial state) of the address management device;
【図3】アドレス管理装置の動作例(入力動作1)を説
明するための図FIG. 3 is a diagram for explaining an operation example (input operation 1) of the address management device;
【図4】アドレス管理装置の動作例(入力動作2)を説
明するための図FIG. 4 is a diagram for explaining an operation example (input operation 2) of the address management device;
【図5】アドレス管理装置の動作例(入力動作3)を説
明するための図FIG. 5 is a diagram for explaining an operation example (input operation 3) of the address management device;
【図6】アドレス管理装置の動作例(入力動作4)を説
明するための図FIG. 6 is a diagram for explaining an operation example (input operation 4) of the address management device;
【図7】アドレス管理装置の動作例(出力動作1)を説
明するための図FIG. 7 is a diagram for explaining an operation example (output operation 1) of the address management device;
【図8】アドレス管理装置の動作例(出力動作2)を説
明するための図FIG. 8 is a diagram for explaining an operation example (output operation 2) of the address management device;
【図9】アドレス管理装置の動作例(出力動作3)を説
明するための図FIG. 9 is a diagram for explaining an operation example (output operation 3) of the address management device;
【図10】アドレス管理装置の動作例(出力動作4)を
説明するための図FIG. 10 is a diagram for explaining an operation example (output operation 4) of the address management device;
【図11】ポートアドレス管理装置の一構成例を示す図FIG. 11 is a diagram illustrating a configuration example of a port address management device;
【図12】ポートアドレス管理装置のより詳細な構成例
を示す図FIG. 12 is a diagram showing a more detailed configuration example of a port address management device;
【図13】図12の1つのメモリユニットに対応する部
分を示す図FIG. 13 is a diagram showing a portion corresponding to one memory unit in FIG. 12;
【図14】ポートアドレス管理装置の他の構成例を示す
図FIG. 14 is a diagram showing another configuration example of the port address management device.
【図15】ポートアドレス管理装置の動作例を説明する
ための図FIG. 15 is a diagram for explaining an operation example of the port address management device;
【図16】ポートアドレス管理装置の動作例を説明する
ための図FIG. 16 is a diagram for explaining an operation example of the port address management device;
【図17】ポートアドレス管理装置の動作例を説明する
ための図FIG. 17 is a diagram for explaining an operation example of the port address management device;
【図18】ポートアドレス管理装置の動作例を説明する
ための図FIG. 18 is a diagram illustrating an operation example of the port address management device.
【図19】ポートアドレス管理装置の動作例を説明する
ための図FIG. 19 is a diagram illustrating an operation example of the port address management device.
【図20】ポートアドレス管理装置の動作例を説明する
ための図FIG. 20 is a diagram illustrating an operation example of the port address management device.
【図21】ポートアドレス管理装置の動作例を説明する
ための図FIG. 21 is a diagram illustrating an operation example of the port address management device.
【図22】ポートアドレス管理装置の動作例を説明する
ための図FIG. 22 is a view for explaining an operation example of the port address management device;
【図23】メモリ制御装置の構成例を示す図FIG. 23 illustrates a configuration example of a memory control device.
【図24】ポートアドレス管理装置のさらに他の構成例
を示す図FIG. 24 is a diagram showing still another configuration example of the port address management device.
【図25】メモリセルの一構成例を示す図FIG. 25 illustrates a configuration example of a memory cell.
【図26】メモリセルの他の構成例を示す図FIG. 26 is a diagram showing another configuration example of a memory cell;
【図27】メモリセルのさらに他の構成例を示す図FIG. 27 is a diagram showing still another configuration example of the memory cell;
【図28】ポートアドレス管理装置のより詳細な構成例
を示す図FIG. 28 is a diagram showing a more detailed configuration example of a port address management device.
【図29】ワード線制御回路の構成例を示す図FIG. 29 illustrates a configuration example of a word line control circuit.
【図30】ワード線制御回路の動作例を説明するための
図FIG. 30 illustrates an operation example of a word line control circuit.
【図31】ワード線制御回路の動作例を説明するための
図FIG. 31 is a diagram illustrating an operation example of a word line control circuit.
【図32】ワード線制御回路の他の構成例を示す図FIG. 32 is a diagram showing another configuration example of the word line control circuit.
【図33】ワード線制御回路の動作例を説明するための
図FIG. 33 is a diagram illustrating an operation example of a word line control circuit.
【図34】ワード線制御回路の動作例を説明するための
図FIG. 34 is a diagram illustrating an operation example of a word line control circuit.
【図35】ワード線制御回路の動作例を説明するための
図FIG. 35 is a diagram illustrating an operation example of a word line control circuit.
【図36】本発明の第2の実施形態に係るアドレス管理
装置の構成例を示す図FIG. 36 is a diagram illustrating a configuration example of an address management device according to a second embodiment of the present invention;
【図37】アドレス管理装置の動作例を説明するための
図FIG. 37 is a view for explaining an operation example of the address management device;
【図38】アドレス管理装置の動作例を説明するための
図FIG. 38 is a view for explaining an operation example of the address management device;
【図39】アドレス管理装置の動作例を説明するための
図FIG. 39 is a view for explaining an operation example of the address management device;
【図40】ポートアドレス管理装置のより詳細な構成例
を示す図FIG. 40 is a diagram showing a more detailed configuration example of a port address management device.
【図41】第1のメモリ素子の構成例を示す図FIG. 41 illustrates a configuration example of a first memory element.
【図42】第2のメモリ素子の構成例を示す図FIG. 42 illustrates a configuration example of a second memory element.
【図43】集計回路の構成例を示す図FIG. 43 is a diagram illustrating a configuration example of a counting circuit;
【図44】集計回路の他の構成例を示す図FIG. 44 is a diagram illustrating another configuration example of the counting circuit;
【図45】アドレスフィルタの構成例を示す図FIG. 45 is a diagram showing a configuration example of an address filter.
【図46】スイッチ素子の構成例を示す図FIG. 46 illustrates a configuration example of a switch element.
【図47】空きアドレスフィルタの構成例を示す図FIG. 47 is a diagram showing a configuration example of a free address filter;
【図48】空きアドレスフィルタの動作例について説明
するための図FIG. 48 is a view for explaining an operation example of an empty address filter;
【図49】バッチャーネットワークの構成例を示す図FIG. 49 is a diagram illustrating a configuration example of a batcher network.
【図50】交換素子の構成例を示す図FIG. 50 is a diagram showing a configuration example of an exchange element.
【図51】唯一化回路の構成例を示す図FIG. 51 is a diagram showing a configuration example of a unique circuit;
【図52】シフトネットワークの構成例を示す図FIG. 52 is a diagram illustrating a configuration example of a shift network.
【図53】第1のシフト回路の構成例を示す図FIG. 53 illustrates a configuration example of a first shift circuit.
【図54】第2のシフト回路の構成例を示す図FIG. 54 illustrates a configuration example of a second shift circuit.
【図55】シフトネットワークの動作例について説明す
るための図FIG. 55 is a diagram illustrating an operation example of a shift network.
【図56】セル交換装置の基本構成例を示す図FIG. 56 is a diagram showing an example of a basic configuration of a cell switching device.
【図57】従来のアドレス管理装置の構成例を示す図FIG. 57 is a diagram showing a configuration example of a conventional address management device.
【図58】従来のアドレス管理装置の動作例(入力動
作)を示す図And FIG. 58 is a diagram showing an operation example (input operation) of the conventional address management device.
【図59】従来のアドレス管理装置の動作例(出力動
作)を示す図FIG. 59 is a diagram showing an operation example (output operation) of the conventional address management device.
【図60】従来のアドレス管理装置の動作例(シフト動
作)を示す図FIG. 60 is a diagram showing an operation example (shift operation) of the conventional address management device.
100…アドレス管理装置 200…出力情報処理装置 300…セル記憶装置 400…入力処理装置 500…出力処理装置 600…多重装置 700…分離装置 1100…ポートアドレス管理装置 1102…ポートアドレス管理装置(並列処理) 1110,1112…ポートアドレスメモリ 1114〜1116…比較器 1120…アドレス比較装置 1200…空きアドレス管理装置 1202…空きアドレス管理装置(並列処理) 1212〜1216…空きアドレスメモリ 1300…キュー制御装置 1302…キュー制御装置(並列処理) 1402…アドレスフィルタ 2110…メモリユニット 2111,3151,4313,4391,4393,
5111,7425…フリップフロップ 2113,4341,4395,6111,6113,
7111,7113…セレクタ 2120…ユニット制御装置 2121,2133,3111,3113,4335,
4339,4351〜4358,5131,7211,
7421…ANDゲート 2123,2141,2142,5310,5133,
7423…ORゲート 2130…アドレス比較ユニット 2131…XNORゲート 2140…比較結果集計装置 3100…メモリ制御装置 3101,3103,3105,3107,4311,
4315,4331…カウンタ 3131,3133,3135,3137,5141,
5143,5145,5147,5151,5153…
3状態バッファ 3141,3143,3145,3147,4321,
4323,7115,7213…比較器 3149…減算器 3200…メモリ 4100…メモリセル 4101…入出力制御回路 4111,4113,4131,4133,4151,
4153,6115,7117…インバータ 4115,4117,4119,4121,4123,
4125,4135,4137,4139,4141,
4143,4145,4155,4157,4159,
4161…nチャネルMOSトランジスタ 4200…比較回路 4300…ワード線制御部 4325…加算器 4333,4337…NANDゲート 4361…バッファ 4400,5300…集計回路 5100,5200…メモリ素子 5121〜5126…nチャネルトランジスタ 5320…pチャネルトランジスタ 6100…スイッチ素子 7100…バッチャーネットワーク 7110…交換素子 7200…唯一化回路 7300…バッチャーネットワーク 7400…シフトネットワーク 7410…シフト制御回路 7420…シフト回路 11000…アドレス管理ユニット 11100…宛先情報レジスタ 11200…ユニット制御装置 11300…アドレスポインタレジスタ 12000…検索回路 13000…アドレスポインタ出力回路 14000…宛先情報入力回路REFERENCE SIGNS LIST 100 address management device 200 output information processing device 300 cell storage device 400 input processing device 500 output processing device 600 multiplexing device 700 separating device 1100 port address management device 1102 port address management device (parallel processing) 1110, 1112 Port address memory 1114 to 1116 Comparator 1120 Address comparator 1200 Free address management device 1202 Free address management device (parallel processing) 1212 to 1216 Free address memory 1300 Queue control device 1302 Queue control Device (parallel processing) 1402 ... address filter 2110 ... memory unit 2111, 3151, 4313, 4391, 4393,
5111, 7425... Flip-flops 2113, 4341, 4395, 6111, 6113,
7111, 7113... Selector 2120... Unit control devices 2121, 133, 3111, 3113, 4335,
4339, 4351-4358, 5131, 7211,
7421 ... AND gates 2123, 2141, 142, 5310, 5133,
7423: OR gate 2130: Address comparison unit 2131: XNOR gate 2140: Comparison result totaling device 3100: Memory control device 3101, 3103, 3105, 3107, 4311,
4315, 4331 ... counters 3131, 3133, 3135, 3137, 5141,
5143, 5145, 5147, 5151, 5153 ...
3-state buffer 3141, 3143, 3145, 3147, 4321,
4323, 7115, 7213 ... Comparator 3149 ... Subtractor 3200 ... Memory 4100 ... Memory cell 4101 ... Input / output control circuit 4111, 4113, 4131, 4133, 4151
4153, 6115, 7117 ... inverters 4115, 4117, 4119, 4121, 4123,
4125, 4135, 4137, 4139, 4141,
4143, 4145, 4155, 4157, 4159,
4161 n channel MOS transistor 4200 comparison circuit 4300 word line control unit 4325 adder 4333, 4337 NAND gate 4361 buffer 4400, 5300 aggregation circuit 5100, 5200 memory element 5121-5126 n channel transistor 5320 p-channel transistor 6100 switch element 7100 batcher network 7110 exchange element 7200 unique circuit 7300 batcher network 7400 shift network 7410 shift control circuit 7420 shift circuit 11000 address management unit 11100 destination information register 11200 ... Unit control device 11300 ... Address pointer register 12000 ... Search circuit 13000 ... Address pointer output Circuit 14000 ... destination information input circuit
Claims (6)
数の出力先で共有されたセル記憶手段と、このセル記憶
手段に蓄積されたセルをそのヘッダ情報に基づいて決定
される1または複数の出力先へ交換する手段と、各セル
について該セル記憶手段における記憶位置を示すアドレ
ス情報と該セルの1または複数の出力先との対応を管理
するアドレス管理手段とを備えたセル交換装置であっ
て、 前記アドレス管理手段は、 出力先毎に設けられた蓄積手段であって、自身に対応す
る出力先を持つ入力セルに対して割り当てられたアドレ
ス情報を保持し、指示に従って保持しているアドレス情
報を出力するための蓄積手段と、 出力先毎に設けられた検出手段であって、自身に対応す
る蓄積手段以外の蓄積手段から出力されたアドレス情報
と同じものが自身に対応する蓄積手段内に保持されてい
るか否かを検出するための検出手段と、 出力先毎に設けられた前記検出手段の検出結果に基づい
て、いずれかの前記蓄積手段から出力されたアドレス情
報であって、いずれの前記蓄積手段にも保持されていな
いことが判明したものを、新たな入力セルに割り当て可
能なアドレス情報として保持するための管理手段とを備
えたことを特徴とするセル交換装置。1. A cell storage means shared by a plurality of output destinations for temporarily storing input cells, and a cell stored in the cell storage means which is determined based on header information of the cell storage means. A cell switching apparatus comprising: means for switching to a plurality of output destinations; and address management means for managing correspondence between address information indicating a storage location in the cell storage means for each cell and one or more output destinations of the cell. The address management unit is a storage unit provided for each output destination, and holds address information assigned to an input cell having an output destination corresponding to the storage unit, and stores it according to an instruction. Storage means for outputting the address information stored therein, and detection means provided for each output destination, the same as the address information output from the storage means other than the storage means corresponding to itself. Output from one of the storage units based on the detection result of the detection unit provided for each output destination, and a detection unit for detecting whether or not is stored in the storage unit corresponding to itself. Management means for holding, as address information, which is found to be not held in any of the storage means, as address information that can be assigned to a new input cell. Cell switching equipment.
たセル記憶手段に一時的に蓄積した後、そのヘッダ情報
に基づいて決定される1または複数の出力先へ交換する
セル交換装置のために、各セルについて該セル記憶手段
における記憶位置を示すアドレス情報と該セルの1また
は複数の出力先との対応を管理するアドレス管理装置で
あって、 出力先毎に設けられた蓄積手段であって、自身に対応す
る出力先を持つ入力セルに対して割り当てられたアドレ
ス情報を保持し、指示に従って保持しているアドレス情
報を出力するための蓄積手段と、 出力先毎に設けられた検出手段であって、自身に対応す
る蓄積手段以外の蓄積手段から出力されたアドレス情報
と同じものが自身に対応する蓄積手段内に保持されてい
るか否かを検出するための検出手段と、 出力先毎に設けられた前記検出手段の検出結果に基づい
て、いずれかの前記蓄積手段から出力されたアドレス情
報であって、いずれの前記蓄積手段にも保持されていな
いことが判明したものを、新たな入力セルに割り当て可
能なアドレス情報として保持させるための管理手段とを
備えたことを特徴とするアドレス管理装置。2. A cell switching apparatus for temporarily storing input cells in cell storage means shared by a plurality of output destinations, and then exchanging the input cells with one or more output destinations determined based on the header information. An address management device that manages, for each cell, a correspondence between address information indicating a storage position in the cell storage means and one or more output destinations of the cell, wherein the storage means is provided for each output destination. Storage means for holding the address information assigned to the input cell having the output destination corresponding to itself and outputting the held address information in accordance with the instruction, and provided for each output destination. Detecting means for detecting whether or not the same address information output from the storing means other than the storing means corresponding to the detecting means is stored in the storing means corresponding to the detecting means. Means, based on the detection result of the detection means provided for each output destination, it is determined that the address information is output from any one of the storage means and is not held in any of the storage means Address management device for holding the information as address information that can be assigned to a new input cell.
情報を保持し、保持されているアドレス情報から選択さ
れたものを入力セルに対して割り当てるための手段と、 前記入力セルに対して割り当てられたアドレス情報を、
該入力セルのヘッダ情報に基づいて決定される1または
複数の出力先に対応する前記蓄積手段に保持させるため
の手段とをさらに備えたことを特徴とする請求項2に記
載のアドレス管理装置。3. A means for holding address information that can be assigned to a new input cell, and allocating a selected one of the held address information to the input cell; Address information
3. The address management device according to claim 2, further comprising: means for holding the storage means corresponding to one or a plurality of output destinations determined based on header information of the input cell.
を入力された順に出力するものであり、 前記割り当てるための手段は、保持しているアドレス情
報を入力された順に選択するものであることを特徴とす
る請求項3に記載のアドレス管理装置。4. The storage means outputs the stored address information in the order of input, and the assigning means selects the stored address information in the order of input. The address management device according to claim 3, wherein:
の入力と前記出力先毎の蓄積手段からのアドレス情報の
出力との少なくとも一方を各出力先について並列的に行
うための手段を更に備えたことを特徴とする請求項2な
いし4のいずれか1項に記載のアドレス管理装置。And means for performing at least one of inputting address information to the storage means for each output destination and outputting address information from the storage means for each output destination in parallel for each output destination. The address management device according to any one of claims 2 to 4, wherein the address management device is provided.
たセル記憶手段に一時的に蓄積した後、そのヘッダ情報
に基づいて決定される1または複数の出力先へ交換する
セル交換装置のために、各セルについて該セル記憶手段
における記憶位置を示すアドレス情報と該セルの1また
は複数の出力先との対応を管理するセル情報管理方法で
あって、 入力セルに対して割り当てられた前記アドレス情報を、
該入力セルのヘッダ情報に基づいて決定される1または
複数の出力先に1対1に対応する各蓄積手段に保持し、 指示された出力先に対応する前記蓄積手段から前記アド
レス情報を出力し、 出力されたアドレス情報と同じものが、他の蓄積手段に
依然として保持されているか否かを検出し、 いずれの前記蓄積手段にも保持されていないことが判明
した場合には、そのアドレス情報を、新たな入力セルに
割り当て可能なアドレス情報として保持することを特徴
とするセル情報管理方法。6. A cell switching apparatus for temporarily storing input cells in cell storage means shared by a plurality of output destinations, and then exchanging the input cells with one or more output destinations determined based on the header information. A cell information management method for managing, for each cell, a correspondence between address information indicating a storage position in the cell storage means and one or a plurality of output destinations of the cell, wherein the cell information is allocated to an input cell. The address information,
One or a plurality of output destinations determined based on the header information of the input cell are held in each of the storage means corresponding one-to-one, and the address information is output from the storage means corresponding to the designated output destination. It is detected whether or not the same address information that has been output is still held in another storage means. If it is determined that the same address information is not held in any of the storage means, the address information is output. Cell information management method, wherein the information is held as address information that can be assigned to a new input cell.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP18296298A JP3519608B2 (en) | 1998-06-29 | 1998-06-29 | Cell switching device, address management device, and cell information management method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP18296298A JP3519608B2 (en) | 1998-06-29 | 1998-06-29 | Cell switching device, address management device, and cell information management method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000022694A true JP2000022694A (en) | 2000-01-21 |
JP3519608B2 JP3519608B2 (en) | 2004-04-19 |
Family
ID=16127383
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP18296298A Expired - Fee Related JP3519608B2 (en) | 1998-06-29 | 1998-06-29 | Cell switching device, address management device, and cell information management method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3519608B2 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002088680A (en) * | 2000-09-12 | 2002-03-27 | Fuji Xerox Co Ltd | Cut paper having coated layer |
CN110457237A (en) * | 2018-05-08 | 2019-11-15 | 阿自倍尔株式会社 | Information accumulation device, information accumulating system and information accumulate method |
-
1998
- 1998-06-29 JP JP18296298A patent/JP3519608B2/en not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002088680A (en) * | 2000-09-12 | 2002-03-27 | Fuji Xerox Co Ltd | Cut paper having coated layer |
CN110457237A (en) * | 2018-05-08 | 2019-11-15 | 阿自倍尔株式会社 | Information accumulation device, information accumulating system and information accumulate method |
Also Published As
Publication number | Publication date |
---|---|
JP3519608B2 (en) | 2004-04-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7565475B2 (en) | Layered crossbar for interconnection of multiple processors and shared memories | |
US5740402A (en) | Conflict resolution in interleaved memory systems with multiple parallel accesses | |
US8255610B2 (en) | Crossbar circuitry for applying a pre-selection prior to arbitration between transmission requests and method of operation of such crossbar circuitry | |
US6347346B1 (en) | Local memory unit system with global access for use on reconfigurable chips | |
US7406086B2 (en) | Multiprocessor node controller circuit and method | |
US7275126B2 (en) | Sliced crossbar architecture with no inter-slice communication | |
JP5074538B2 (en) | Crossbar circuit and method of operating such a crossbar circuit | |
US8549207B2 (en) | Crossbar circuitry for applying an adaptive priority scheme and method of operation of such crossbar circuitry | |
US7426603B2 (en) | Memory bus arbitration using memory bank readiness | |
EP1512078B1 (en) | Programmed access latency in mock multiport memory | |
JPH02503244A (en) | Message packet routing methods and equipment | |
JP3220599B2 (en) | Data queuing device | |
US7412551B2 (en) | Methods and apparatus for supporting programmable burst management schemes on pipelined buses | |
JP3519608B2 (en) | Cell switching device, address management device, and cell information management method | |
US6970454B1 (en) | Sliced crossbar architecture with inter-slice communication | |
US7636817B1 (en) | Methods and apparatus for allowing simultaneous memory accesses in a programmable chip system | |
JP2000030469A (en) | Associative memory cell and associative memory | |
Dutta et al. | High-performance crossbar interconnect for a VLIW video signal processor | |
JP5816063B2 (en) | Crossbar circuit for applying adaptive priority scheme and method of operating such a crossbar circuit | |
US7139836B1 (en) | One-way transaction tagging in a switch crossbar | |
JP3558695B2 (en) | Packet switching equipment | |
JPH11340998A (en) | Atm switch and method for managing buffer for atm cell | |
LmuVERSITY | MONTRÉAL. QUEBEC. C-4N. 4DA | |
Kozyrakis | FORTH-ICS/TR-172 July 1996 | |
JP2008244952A (en) | Data-driven type processing method and apparatus for expanding compressed pair packets with branch node |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040123 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20040127 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040129 |
|
LAPS | Cancellation because of no payment of annual fees |