JPH11234302A - Queue device - Google Patents

Queue device

Info

Publication number
JPH11234302A
JPH11234302A JP5131298A JP5131298A JPH11234302A JP H11234302 A JPH11234302 A JP H11234302A JP 5131298 A JP5131298 A JP 5131298A JP 5131298 A JP5131298 A JP 5131298A JP H11234302 A JPH11234302 A JP H11234302A
Authority
JP
Japan
Prior art keywords
value
identification
block
input
command
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP5131298A
Other languages
Japanese (ja)
Inventor
Nobutaka Maruyama
修孝 丸山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NET KURIASU SYSTEMS KK
Original Assignee
NET KURIASU SYSTEMS KK
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NET KURIASU SYSTEMS KK filed Critical NET KURIASU SYSTEMS KK
Priority to JP5131298A priority Critical patent/JPH11234302A/en
Publication of JPH11234302A publication Critical patent/JPH11234302A/en
Pending legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To process the large amount of data with relatively simple circuit configuration indepently of the number of lines, ports, virtual connections or virtual paths, etc. SOLUTION: In element blocks 11-1n, the queue priority orders of the respective data and a counter value showing the oldness of the input counted by a counter inside a counter module 2 are stored and held respectively as comparison numerical values A and B. At the time of outputting the data, the ones of the highest queue priority order and the oldest input are selected by a block ID selector 3 and the block ID is outputted from the block ID selector 3. By outputting the pertinent data based on the block ID from a memory storing a data main body not shown in Figure, the large amount of the data are processed by the constitution simpler than heretofore.

Description

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

【0001】[0001]

【発明の属する技術分野】本発明は、ATM交換機やス
イッチングハブ等において用いられる待ち行列装置に関
し、特に、構成の簡素化と処理能力の向上を図ったもの
に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a queuing device used in an ATM switch, a switching hub, and the like, and more particularly, to a queuing device having a simplified configuration and improved processing capability.

【0002】[0002]

【従来の技術】従来、この種の装置として公知・周知の
ものとしては、例えば、図14に示されたようなものが
ある。以下、図14を参照しつつこの従来装置について
説明すれば、まず、この装置は、いわゆる優先順位を有
するデータを処理する場合に適するもので、特に、3段
階の優先順位がある場合の構成が示されている。すなわ
ち、この待ち行列装置は、公知・周知のいわゆるFIFO(F
irst In FirstOut)を用いてなるもので、データの優先
順位に対応して設けられ、データが格納されるアドレス
値が蓄積される第1乃至第3の優先FIFO85〜87と、
空き状態にあるデータエリアのアドレスを蓄積するIdle
FIFO84と、データの入力制御を行うInput Controlle
r81と、データの出力制御を行うOutput Controller8
2と、データを記憶するDate Buffer83とを主たる構
成要素としてなるものである。
2. Description of the Related Art Conventionally, as an apparatus of this type, there is, for example, one shown in FIG. Hereinafter, this conventional apparatus will be described with reference to FIG. 14. First, this apparatus is suitable for processing data having a so-called priority, and particularly, a configuration in a case where there are three levels of priorities. It is shown. That is, this queuing device is a known / known FIFO (F
first to third priority FIFOs 85 to 87 that are provided in correspondence with the priority of data and store address values at which data is stored;
Idle for storing addresses of empty data areas
FIFO 84 and Input Controlle for controlling data input
r81 and Output Controller 8 for controlling data output
2 and a Date Buffer 83 for storing data as main components.

【0003】Input Controller81に外部から入力され
る受信データは、本来のデータに、優先順位を示す所定
の識別子、または優先順位を決定するための判断データ
が付加されたもので、このような受信データが入力され
ると、Input Controller81により、まず、Data Buffe
r83における空きデータエリアを示すアドレス値がIdl
e FIFO84から取り出される。そして、受信データに含
まれている識別子等に基づいて、データの優先順位が決
定され、例えば、その優先順位が第2優先であれば、先
のInput Controller81により読み出された空きデータ
エリアアドレス値が第2の優先FIFO86に書き込まれる
と共に、受信されたデータ自体は、DataBuffer83にお
ける上述の空きデータエリアアドレスに書き込まれるよ
うになっている。
The received data externally input to the Input Controller 81 is the original data to which a predetermined identifier indicating the priority order or judgment data for determining the priority order is added. Is input, first, the Data Controller
The address value indicating the free data area in r83 is Idl
e It is taken out from the FIFO 84. Then, the priority of the data is determined based on the identifier and the like included in the received data. For example, if the priority is the second priority, the free data area address value read by the input controller 81 is used. Is written to the second priority FIFO 86, and the received data itself is written to the above-mentioned free data area address in the DataBuffer 83.

【0004】一方、Output Controller82は、第1の
優先FIFO85にアドレス値が蓄積されているか否かを調
べ、アドレス値が蓄積されていれば、Data Buffer83
における当該アドレス値に書き込まれているデータの読
み出しを行い、順次送出すると共に、このアドレス値
は、Idle FIFO84に書き込まれるようになっている。
このOutput Controller82の動作は、第1の優先FIFO
85が空の状態になるまで繰り返され、その後、第2の
優先FIFO86及び第3の優先FIFO87に対して同様な動
作が繰り返されるようになっている。
On the other hand, the Output Controller 82 checks whether or not the address value is stored in the first priority FIFO 85, and if the address value is stored, the Data Buffer 83
, The data written to the address value is read out and sequentially transmitted, and the address value is written to the idle FIFO 84.
The operation of the Output Controller 82 is the first priority FIFO.
This operation is repeated until 85 becomes empty, and thereafter, the same operation is repeated for the second priority FIFO 86 and the third priority FIFO 87.

【0005】このような待ち行列装置は、データに優先
順位がある場合に適するものであるが、ATM交換機や
スイッチングハブ等では、データの優先順位に順次出力
する場合ばかりではなく、さらには、例えば、回線が過
負荷状態にある場合に、その回線へ対するデータを一時
的に待ち行列から外す必要が生ずるような場合もある。
図15には、このようなデータを待ち行列から一時的に
外す必要がある場合の処理を可能とする公知・周知の待
ち行列装置の一構成例が示されており、以下、同図を参
照しつつこの装置について説明する。
[0005] Such a queuing device is suitable for a case where data has a priority. However, in an ATM switch or a switching hub, not only a case where data is sequentially output in a priority order, but also, for example, the data is output. In some cases, when a line is overloaded, data for the line needs to be temporarily dequeued.
FIG. 15 shows an example of a configuration of a publicly-known and well-known queuing device that enables processing when such data needs to be temporarily removed from the queue. This device will be described with reference to FIG.

【0006】この待ち行列装置は、いわゆるバーチャル
コネクション毎に発生する送信要求の対象となるデータ
のアドレス値を蓄積する第1及び第2のFIFO911,9
12と、バーチャルコネクション毎に必要な待ち時間を
計数するための第1及び第2のタイマ921,922
と、データを蓄積するためのData Buffer93と、いわ
ゆるトラフィックの制御に必要な演算を行うTraffic Ca
lculator90と、データの出力制御を行うOutput Contr
oller94とを主たる構成要素としてなるものである。
かかる構成において、例えば、バーチャルチャンネル1
から送信要求が生ずると、送信されるべきデータが蓄積
されているData Buffer93のアドレス値が、第1のFIF
O911に入力される。
This queuing device includes first and second FIFOs 911 and 9 for accumulating address values of data to be transmitted for each so-called virtual connection.
12 and first and second timers 921 and 922 for counting the waiting time required for each virtual connection.
And a Data Buffer 93 for storing data, and a Traffic Ca for performing operations necessary for controlling traffic.
lculator90 and Output Contr for controlling data output
The oller 94 is a main component.
In such a configuration, for example, virtual channel 1
When a transmission request is generated from the first FIF, the address value of the Data Buffer 93 storing the data to be transmitted is changed to the first FIF.
This is input to O911.

【0007】そして、Output Controller94におい
て、この送信要求の対象となるセルを送信することが、
予め設定されている所定のセル流量に反しないか否かが
演算により判定され、所定のセル流量に反しないと判定
されると、Data Buffer93から、該当するセルデータ
が読み出されて、Output Controller94を介して出力
されることとなる。一方、Output Controller94によ
り、所定のセル流量に反すると判定された場合は、所定
のセル流量に反しない状態となるまでの待ち時間が第1
のタイマ921に設定され、いわゆる時間計数が行われ
ることとなる。そして、この第1のタイマ921によ
り、所定の待ち時間が計数されると、Data Buffer93
から、該当するセルデータが読み出されて、Output Con
troller94を介して出力されることとなる。すなわ
ち、バーチャルチャンネル1からの送信要求は、第1の
タイマ921に設定された待ち時間の間、待ち行列から
一時的に外されたこととなる。バーチャルチャンネル2
に送信要求が生じた場合も、基本的には、上述のバーチ
ャルチャンネル1に送信要求が生じた場合と同様に処理
されるようになっているものである。
[0007] Then, the Output Controller 94 transmits the cell that is the target of the transmission request.
It is determined by calculation whether or not a predetermined cell flow rate is not violated. If it is determined that the cell flow rate does not violate a predetermined cell flow rate, the corresponding cell data is read from the Data Buffer 93 and output controller 94 is output. Is output via the. On the other hand, when it is determined by the Output Controller 94 that the flow rate does not exceed the predetermined cell flow rate, the waiting time until the output cell 94 does not violate the predetermined cell flow rate is the first time.
Is set in the timer 921, so-called time counting is performed. When a predetermined waiting time is counted by the first timer 921, the data buffer 93 is counted.
The corresponding cell data is read from
This is output via the troller 94. That is, the transmission request from the virtual channel 1 is temporarily removed from the queue during the waiting time set in the first timer 921. Virtual channel 2
Is basically processed in the same manner as when a transmission request is made on the virtual channel 1 described above.

【0008】[0008]

【発明が解決しようとする課題】しかしながら、前者の
従来装置の場合、データの優先順位の数が増すにしたが
い、また、待ち行列の種類が増えるにしたがい、必要と
なるFIFOの数も増え、装置構成が複雑化し、高価格化を
招くという問題がある。さらに、FIFOの容量は、上述し
たような機能に起因して、Data Buffer83に書き込ま
れる受信データの数に対応するものとなるため、仮に、
受信データの数を100とすれば、FIFOも100個のア
ドレス値を書き込める容量が必要となり、しかも、待ち
行列の種類が2種類以上となる場合には、その種類の数
だけ乗じた容量が必要となる。すなわち、受信データが
100個で、待ち行列の種類が10であれば、FIFOは、
100×10=1000個のアドレス値の書き込み容量
を有するものが必要となり、累積的に容量が増すことと
なり、常時この容量が必要となるものではないために不
経済であるばかりか、特に、LSI化を望む場合には、
大きな障害となるという問題がある。
However, in the case of the former conventional apparatus, as the number of data priorities increases, and as the number of queues increases, the number of necessary FIFOs also increases, and There is a problem that the configuration is complicated and the price is increased. Furthermore, since the capacity of the FIFO corresponds to the number of received data written to the Data Buffer 83 due to the function described above,
Assuming that the number of received data is 100, the FIFO must have the capacity to write 100 address values, and if there are two or more types of queues, the capacity must be multiplied by the number of the types. Becomes That is, if the received data is 100 and the queue type is 10, the FIFO is
A memory having a write capacity of 100 × 10 = 1000 address values is required, and the capacity is cumulatively increased. Since this capacity is not always required, it is uneconomical. If you want
There is a problem that it becomes a big obstacle.

【0009】一方、上述した後者の従来装置にあって
は、FIFOとタイマとが、装置が使用される回線の規模、
すなわち、バーチャルコネクションまたはバーチャルパ
スの数だけ必要となるが、一般に交換機では、数百乃至
数千のバーチャルコネクションまたはバーチャルパスを
扱う可能性があり、そのため、装置構成が複雑化し、高
価格なものとなる。したがって、バーチャルコネクショ
ンまたはバーチャルパスの数が極少ない場合には実用性
があるものの、現実的には経済性の点から実用性が低い
という問題がある。
On the other hand, in the latter conventional device described above, the FIFO and the timer determine the size of the line in which the device is used,
That is, although only the number of virtual connections or virtual paths is required, in general, an exchange may handle hundreds to thousands of virtual connections or virtual paths, which complicates the device configuration and increases the cost. Become. Therefore, although practical when the number of virtual connections or virtual paths is extremely small, there is a problem that practicality is low in terms of economy.

【0010】本発明は、上記実状に鑑みてなされたもの
で、回路規模が回線数やポート数、バーチャルコネクシ
ョンやバーチャルパスの数等に依存せず、比較的簡易な
構成で大量のデータ処理を可能とする待ち行列装置を提
供するものである。また、本発明の他の目的は、接続さ
れる回線の状況に応じて、データを待ち行列から一時的
に外すことができ、しかも、比較的簡易な構成で経済性
の良好な待ち行列装置を提供することにある。さらに、
本発明の他の目的は、セルやパケットの順序保証が確保
される待ち行列装置を提供することにある。
The present invention has been made in view of the above-mentioned circumstances, and a large-scale data processing can be performed with a relatively simple configuration without a circuit scale depending on the number of lines and ports, the number of virtual connections and virtual paths, and the like. It provides a queuing device that enables it. Another object of the present invention is to provide a queuing device that can temporarily remove data from a queue according to the status of a connected line and that has a relatively simple configuration and good economical efficiency. To provide. further,
It is another object of the present invention to provide a queuing device that guarantees the order of cells and packets.

【0011】[0011]

【課題を解決するための手段】請求項1記載の発明に係
る待ち行列装置は、外部から第1の指令と共に入力され
る第1の識別値の取り得る最大値に対応した数のカウン
タを有し、前記第1の指令が入力された場合、当該第1
の指令と共に入力された第1の識別値に対応するカウン
タの値をカウンタ値として出力すると共に、当該カウン
タのカウンタ値を一つ進める計数手段と、予め設定され
た複数のブロック識別番号毎に記憶領域を有し、外部か
ら指令と共に入力される第1の識別値と、前記計数手段
からのカウンタ値とを、前記指令に応じて、所定のブロ
ック識別番号で指定される記憶領域に記憶する一方、前
記指令に応じて、前記ブロック識別番号、第1の識別値
及びカウンタ値を出力する識別情報記憶手段と、前記識
別情報記憶手段から入力された複数のブロック識別番
号、第1の識別値及びカウンタ値の中から、前記第1の
識別値が最優先を示す予め定められた値を有するものを
選択し、最優先を示す第1の識別値の数が一つである場
合には、当該第1の識別値と共にブロック識別番号及び
カウンタ値を出力する一方、選択された第1の識別値の
数が複数ある場合には、その中で、カウンタ値が予め定
めた最優先値を示すものを選択し、当該カウンタ値と共
に、ブロック識別番号及び第1の識別値を出力する最優
先選択手段とを具備し、前記識別情報記憶手段は、第1
の指令が入力された場合、この第1の指令と共に外部入
力されたブロック識別番号と一致する記憶領域に、第1
の識別値及びカウンタ値を記憶し、第2の指令が入力さ
れた場合、全てのブロック識別番号に対応する記憶領域
の第1の識別値及びカウンタ値を対応するブロック識別
番号と共に出力し、第3の指令が入力された場合、前記
記憶領域に記憶された各第1の識別値と、前記第3の指
令と共に入力された第1の識別値との大小関係が前記第
3の指令によって規定される大小関係に該当する前記記
憶領に記憶された第1の識別値を選択し、当該第1の識
別値と共にブロック識別番号及びカウンタ値を出力する
よう構成されてなるものである。
The queuing device according to the present invention has a counter having a number corresponding to the maximum possible value of the first identification value input together with the first command from the outside. When the first command is input, the first command
A counter for outputting a counter value corresponding to the first identification value input together with the command as a counter value, and incrementing the counter value of the counter by one, and storing for each of a plurality of preset block identification numbers A first identification value input together with a command from the outside and a counter value from the counting means in a storage area designated by a predetermined block identification number in accordance with the command; An identification information storage unit that outputs the block identification number, the first identification value, and the counter value in response to the command; and a plurality of block identification numbers, a first identification value, and a plurality of block identification numbers input from the identification information storage unit. From among the counter values, the one in which the first identification value has a predetermined value indicating the highest priority is selected, and when the number of the first identification values indicating the highest priority is one, First While outputting the block identification number and the counter value together with the different value, if there are a plurality of selected first identification values, the one whose counter value indicates the predetermined highest priority value is selected from among them. , Top priority selecting means for outputting a block identification number and a first identification value together with the counter value, wherein the identification information storage means comprises:
Is input to the storage area corresponding to the block identification number externally input together with the first command.
When the second command is input, the first identification value and the counter value of the storage area corresponding to all block identification numbers are output together with the corresponding block identification numbers, When the third command is input, the magnitude relationship between each first identification value stored in the storage area and the first identification value input together with the third command is defined by the third command. The first identification value stored in the storage area corresponding to the magnitude relationship is selected, and the block identification number and the counter value are output together with the first identification value.

【0012】かかる構成は、特に、データの付加情報と
しての例えば、待ち行列の優先順位に代表される第1の
識別値と、その入力の古さを示すカウント値とを、ブロ
ック識別番号毎に、識別情報記憶手段において記憶、管
理するようにし、しかも、最優先選択手段により、優先
度の高いデータのブロック識別番号が選択されるような
構成とした点に特徴を有するもので、そのため、従来と
異なり、第1の識別値毎、すなわち、例えば、待ち行列
の優先順位毎に記憶手段を設ける必要がなく、しかも、
優先度の高いデータが確実に選択されるので、回路規模
が回線数等に影響されることが少なく、簡易な構成によ
り多くのデータを扱うことが可能な待ち行列装置が提供
されるものである。
In this configuration, in particular, for example, a first identification value represented by priority of a queue and a count value indicating the oldness of the input as additional information of data are stored for each block identification number. It is characterized in that it is configured to be stored and managed in the identification information storage means, and that the highest priority selection means selects a block identification number of high priority data. Unlike this, there is no need to provide a storage means for each first identification value, that is, for example, for each priority of a queue, and
Since a high-priority data is reliably selected, a queuing device capable of handling a large amount of data with a simple configuration is provided, in which the circuit scale is less affected by the number of lines and the like. .

【0013】請求項6記載の発明に係る待ち行列装置
は、外部から第1の指令と共に入力される第1の識別値
及び第2の識別値のそれぞれが取り得る最大値の数の積
に対応した数のカウンタを有し、前記第1の指令が入力
された場合、当該第1の指令と共に入力された第1の識
別値及び第2の識別値とで定められる対応する前記カウ
ンタの値をカウンタ値として出力すると共に、当該カウ
ンタのカウンタ値を一つ進める計数手段と、予め設定さ
れた複数のブロック識別番号毎に記憶領域を有し、外部
から指令と共に入力される第1の識別値及び第2の識別
値と、前記計数手段からのカウンタ値とを、前記指令に
応じて、所定のブロック識別番号で指定される記憶領域
に記憶する一方、前記指令に応じて、前記ブロック識別
番号、第1の識別値、第2の識別値及びカウンタ値を出
力する識別情報記憶手段と、前記識別情報記憶手段から
入力された複数のブロック識別番号、第1の識別値、第
2の識別値及びカウンタ値の中から、第1の識別値、第
2の識別値及びカウンタ値に基づいて、最優先となるも
のを選択し、そのブロック識別番号、第1の識別値、第
2の識別値及びカウンタ値を出力する最優先選択手段と
を具備し、前記識別情報記憶手段は、第1の指令が入力
された場合、この第1の指令と共に外部入力されたブロ
ック識別番号と一致する記憶領域に、第1の識別値、第
2の識別値及びカウンタ値を記憶し、第2の指令が入力
された場合、全てのブロック識別番号に対応する記憶領
域の第1の識別値、第2の識別値及びカウンタ値を対応
するブロック識別番号と共に出力し、第3の指令が入力
された場合、前記記憶領域に記憶された各第1の識別値
と、前記第3の指令と共に入力された第1の識別値との
大小関係が前記第3の指令によって規定される大小関係
に該当する前記記憶領に記憶された第1の識別値を選択
し、当該第1の識別値と共に第2の識別値、ブロック識
別番号及びカウンタ値を出力するよう構成されてなるも
のである。
According to a sixth aspect of the present invention, in the queuing apparatus, the first identification value and the second identification value input together with the first command from the outside correspond to the product of the maximum number of possible values. The first command is input, and when the first command is input, the counter value corresponding to the first discrimination value and the second discrimination value input together with the first command is determined. A counter which outputs a counter value and increments the counter value by one, and has a storage area for each of a plurality of preset block identification numbers, and a first identification value and a first identification value which are input together with a command from outside. While storing a second identification value and a counter value from the counting means in a storage area designated by a predetermined block identification number in accordance with the command, the block identification number in response to the command, First identification value An identification information storage unit that outputs a second identification value and a counter value; and a plurality of block identification numbers, a first identification value, a second identification value, and a counter value input from the identification information storage unit. On the basis of the first identification value, the second identification value, and the counter value, the one with the highest priority is selected, and the block identification number, the first identification value, the second identification value, and the counter value are output. When the first command is input, the first identification value is stored in a storage area corresponding to the block identification number externally input together with the first command. , The second identification value and the counter value are stored, and when the second command is input, the first identification value, the second identification value, and the counter value of the storage area corresponding to all the block identification numbers are stored. Output with the block identification number When the third command is input, the magnitude relationship between each first identification value stored in the storage area and the first identification value input together with the third command is defined by the third command. And selecting a first identification value stored in the storage area corresponding to the magnitude relation to be performed, and outputting a second identification value, a block identification number, and a counter value together with the first identification value. Things.

【0014】かかる構成は、特に、データの付加情報と
しての例えば、待ち行列の優先順位に代表される第1の
識別値と、例えば、待ち行列の種類に代表される第2の
識別値と、その入力の古さを示すカウント値とを、ブロ
ック識別番号毎に、識別情報記憶手段において記憶、管
理するようにし、しかも、最優先選択手段により、優先
度の高いデータのブロック識別番号が選択されるような
構成とした点に特徴を有するもので、そのため、従来と
異なり、優先順位毎に記憶手段を設ける必要がなく、し
かも、優先度の高いデータが確実に選択されるので、回
路規模が回線数等に影響されることが少なく、簡易な構
成により多くのデータを扱うことが可能な待ち行列装置
が提供されるものである。
[0014] Such a configuration has, in particular, a first identification value represented by, for example, a priority of a queue as additional information of data, and a second identification value represented by, for example, a type of queue. The count value indicating the oldness of the input is stored and managed in the identification information storage means for each block identification number, and the block identification number of the data with the highest priority is selected by the highest priority selection means. Therefore, unlike the related art, there is no need to provide a storage unit for each priority, and data with a high priority is reliably selected. A queuing device that is less affected by the number of lines and the like and can handle a large amount of data with a simple configuration is provided.

【0015】[0015]

【発明の実施の形態】以下、本発明の実施の形態につい
て図1乃至図13を参照しつつ説明する。最初に、第1
の実施例について、図1乃至図4を参照しつつ説明す
る。第1の実施例における待ち行列装置は、複数のエレ
メントブロック(図1においては「Element Block」と
表記)11,12・・・1nと、最優先選択手段として
のブロックIDセレクタ(図1においては「Block ID S
elector」と表記)3と、計数手段としてのカウンタモ
ジュール(図1においては「Counter Module」と表記)
2とを主たる構成要素として構成されてなるもので、外
部からブロックセレクション信号、指令としてのコマン
ド、データがそれぞれ入力され、後述するように動作す
るようになっているものである(図1参照)。
DESCRIPTION OF THE PREFERRED EMBODIMENTS Embodiments of the present invention will be described below with reference to FIGS. First, first
The embodiment will be described with reference to FIGS. The queuing device according to the first embodiment includes a plurality of element blocks (denoted as "Element Block" in FIG. 1) 11, 12,... 1n, and a block ID selector as the highest priority selecting means (in FIG. 1, "Block ID S
elector) 3 and a counter module as a counting means (referred to as "Counter Module" in FIG. 1)
2 is a main component, and receives a block selection signal, a command as command, and data from the outside, respectively, and operates as described later (see FIG. 1). .

【0016】ブロックセレクション信号(図1において
は「Block Selection」と表記)は、ブロックセレクシ
ョンバス4を介して各エレメントブロック11〜1n
へ、コマンド(図1においては「Command」と表記)
は、コマンドバス5を介して各エレメントブロック11
〜1n及びカウンタモジュール2へ、さらに、後述する
データの付加情報は、データバス6を介して各エレメン
トブロック11〜1n及びカウンタモジュール2へ、そ
れぞれ入力されるようになっている。
A block selection signal (denoted as “Block Selection” in FIG. 1) is transmitted via a block selection bus 4 to each of the element blocks 11 to 1n.
To the command (referred to as “Command” in FIG. 1)
Is connected to each element block 11 via the command bus 5.
To 1n and the counter module 2, and additional information of data to be described later are input to each of the element blocks 11 to 1n and the counter module 2 via the data bus 6.

【0017】エレメントブロック11〜1nは、第1の
識別値としての待ち行列の優先順位、待ち行列への入力
順序を示すカウンタ値及びブロック識別番号としてのブ
ロックIDを蓄積し、必要に応じてこれらを、それぞれ
比較数値A、比較数値B及びブロックIDとして必要に
応じてこれらをブロックIDセレクタ3へ出力するよう
になっているものである(詳細は後述)。なお、ここ
で、第1の識別値は、データと共に外部から入力される
そのデータに関する付加的な情報、すなわちデータの付
加情報の一つである。
The element blocks 11 to 1n store the priority of a queue as a first identification value, a counter value indicating the order of input to the queue, and a block ID as a block identification number. Are output to the block ID selector 3 as necessary, respectively, as a comparative numerical value A, a comparative numerical value B, and a block ID (details will be described later). Here, the first identification value is additional information relating to the data which is input from the outside together with the data, that is, one of the additional information of the data.

【0018】ブロックIDセレクタ3は、各エレメント
ブロック11〜1nからの比較数値A、比較数値B及び
ブロックIDを所定の条件の下で比較を行い、条件を満
たしたものについて比較数値A、比較数値B及びブロッ
クIDを出力するようになっているものである(詳細は
後述)。
The block ID selector 3 compares the comparison value A, the comparison value B and the block ID from each of the element blocks 11 to 1n under predetermined conditions. B and the block ID are output (details will be described later).

【0019】カウンタモジュール2は、計数機能を有す
るもので、待ち行列の優先順位の数と同じ数の計数機能
を有しており、それぞれの優先順位において、データが
入力された順が計数され、そのカウンタ値(図1におい
ては「Counter Value」と表記)は、カウンタ値用バス
7を介して必要に応じて各エレメントブロック11〜1
nへ出力されるようになっているものである(詳細は後
述)。
The counter module 2 has a counting function and has the same number of counting functions as the number of priorities in the queue. In each priority order, the order in which data is input is counted. The counter value (denoted as “Counter Value” in FIG. 1) is transmitted to each of the element blocks 11 to 1 through the counter value bus 7 as necessary.
n (see below for details).

【0020】ここで、図2を参照しつつ、エレメントブ
ロック11〜1nの好適な構成例について説明すれば、
まず、このエレメントブロック11〜1nは、コマンド
解析器(図2においては「Command Interpreter」と表
記)501と、アドレスデコーダ(図2においては「Ad
d Decoder」と表記)502と、ブロックIDレジスタ
(図2においては「Block ID Reg.」と表記)503
と、第1の記憶手段を実現する第1のレジスタとしての
比較数値A用レジスタ(図2においては「Comp.Value R
eg. A」と表記)504と、第2の記憶手段を実現する
第2のレジスタとしての比較数値B用レジスタ(図2に
おいては「Comp. Value Reg. B」と表記)505と、ブ
ロックID用ドライバ506と、比較数値A用ドライバ
507と、比較数値B用ドライバ508とを主たる構成
要素として構成されてなるものである。
Here, a preferred configuration example of the element blocks 11 to 1n will be described with reference to FIG.
First, the element blocks 11 to 1n are composed of a command analyzer (indicated as “Command Interpreter” in FIG. 2) 501 and an address decoder (“Ad in FIG. 2”).
d Decoder) 502 and a block ID register (denoted as “Block ID Reg.” in FIG. 2) 503
And a register for a comparison value A as a first register for realizing the first storage means (“Comp.Value R
A) 504, a register for comparison numerical value B (described as “Comp. Value Reg. B” in FIG. 2) 505 as a second register for realizing the second storage means, and a block ID The driver 506, the driver 507 for the comparison value A, and the driver 508 for the comparison value B are configured as main components.

【0021】コマンド解析器501は、コマンドの解析
を行い、その解析結果に応じて比較数値A用レジスタ5
04及び比較数値B用レジスタ505に対するデータの
書込信号(図2においては「WR」と表記)や、各ドライ
バ506〜508に対して出力イネーブル信号(図2に
おいては「OE」と表記)を出力するようになっているも
のである(詳細は後述)。アドレスデコーダ502は、
各エレメントブロック11〜1n毎に予め設定され、か
つ、ブロックIDレジスタ503に記憶されているブロ
ックIDと、ブロックセレクション信号として入力され
た所定のブロックIDとが一致するか否かを判定し、一
致する場合に、コマンド解析器501に対して、当該エ
レメントブロックが指定されたことを知らせるためのマ
イアドレス信号(図1においては「My Add」と表記)を
いわゆるアクティブ状態として、コマンド解析器501
へ出力するようになっているものである。ここで、ブロ
ックセレクション信号としては、上述のように、特定の
エレメントブロックを指定するために用いられる場合に
加え、全てのエレメントブロック11〜1nを指定する
ための予め定められたコードが入力される場合(以下、
このような状態を「一斉同報」と言う)もあり、この場
合には、ブロックセレクション信号が一斉同報状態とし
てアドレスデコーダ502に入力されることにより、ア
ドレスデコーダ502からは、マイアドレス信号がアク
ティブ状態とされてコマンド解析器501へ出力される
ようになっている。なお、他の構成要素については、後
述する動作説明の中で、その構成、機能等を明らかにす
ることとする。
The command analyzer 501 analyzes a command and, based on the result of the analysis, registers the comparative numerical value A
04 and a write signal (noted as “WR” in FIG. 2) for the register 505 for comparison value B, and an output enable signal (noted as “OE” in FIG. 2) for each of the drivers 506 to 508. It is designed to be output (details will be described later). The address decoder 502
It is determined whether or not the block ID set in advance for each of the element blocks 11 to 1n and stored in the block ID register 503 matches a predetermined block ID input as a block selection signal. In this case, the command analyzer 501 sets a my address signal (indicated as “My Add” in FIG. 1) for notifying the command analyzer 501 that the element block has been designated, to a so-called active state.
Is to be output to Here, as the block selection signal, as described above, in addition to the case where it is used to specify a specific element block, a predetermined code for specifying all the element blocks 11 to 1n is input. Case (hereinafter,
Such a state is also referred to as “broadcast”. In this case, the block selection signal is input to the address decoder 502 as a broadcast state, so that the address decoder 502 outputs a my address signal. It is set to the active state and output to the command analyzer 501. The configuration, functions, and the like of other components will be clarified in the operation description described later.

【0022】かかる構成における動作について、特に、
各エレメントブロック11〜1nとカウンタモジュール
2を中心に説明する。まず、前提として、上記構成にお
いてコマンドとして入力されるものには、第1のコマン
ドとしての「比較数値書込み要求コマンド」、第2のコ
マンドとしての「総出力コマンド」及び第3のコマンド
としての「条件付き出力コマンド」の3つがあるものと
する。そして、「条件付き出力コマンド」は、待ち行列
の優先順位が所定の順位Xと等しい場合に、データ出力
を行わしめるものと、待ち行列の優先順位>所定の順位
Xの場合にデータ出力を行わしめるものと、待ち行列の
優先順位<所定の順位Xの場合にデータ出力を行わしめ
るものとの3種類に区分されたものとなっているとす
る。
Regarding the operation in such a configuration,
The description will focus on each of the element blocks 11 to 1n and the counter module 2. First, as a premise, in the above configuration, commands input as commands include a “comparison numerical value write request command” as a first command, a “total output command” as a second command, and a “total output command” as a third command. It is assumed that there are three “conditional output commands”. The "conditional output command" is used to output data when the priority of the queue is equal to the predetermined order X, and to output data when the priority of the queue> the predetermined order X. It is assumed that the data is classified into three types, that is, data that is output when the priority of the queue <the predetermined order X.

【0023】比較数値書込み要求コマンドでは、データ
バス6上に「待ち行列の優先順位」が同時に送られてく
るようになっている。条件付き出力コマンドではデータ
バス6上に、条件となる「待ち行列の優先順位X」が同
時に送られてくるようになっている。ここで、「待ち行
列の優先順位」とは、複数の待ち行列があり、各々に優
先順位がある場合、これらを識別するために利用される
ものである。
In the comparative numerical value write request command, the "priority of the queue" is simultaneously sent on the data bus 6. In the conditional output command, a condition “queue priority X” is simultaneously sent to the data bus 6. Here, the “queue priority” is used to identify a plurality of queues, each of which has a priority.

【0024】かかる前提の下、例えば、比較数値書込み
要求コマンドが入力されると、カウンタモジュール2
は、データバス6上の「待ち行列の優先順位」に対応し
たカウンタの値をカウンタ値として送出する。すなわ
ち、カウンタモジュール2は、待ち行列の優先順位毎に
カウンタ(図示せず)を具備しており、比較数値書込み
要求コマンドが入力されると、その時点の対応するカウ
ンタのカウンタ値が各エレメントブロック11〜1nへ
出力され、その後、当該カウンタがカウントアップされ
るようになっている。
Under this premise, for example, when a comparison numerical value write request command is input, the counter module 2
Sends the value of the counter on the data bus 6 corresponding to the "priority of the queue" as the counter value. That is, the counter module 2 is provided with a counter (not shown) for each priority of the queue, and when a comparison numerical value write request command is input, the counter value of the corresponding counter at that time is set in each element block. 11 to 1n, and thereafter the counter is counted up.

【0025】ここで、カウンタモジュール2の各カウン
タのビット数は、エレメントブロックの総数に依存する
ものとなっている。すなわち、例えば、仮に、エレメン
トブロックの総数が2のn乗個であれば、カウンタは
(n+1)ビット必要となる。このカウンタのカウンタ
値は、待ち行列へのインプットの古さを判断するのに利
用されるもので、例えば、仮に、エレメントブロックの
総数が2のn乗個の場合、カウンタがnビットであると
すると、この二つのカウンタ値の比較では、どちらが先
にインプットされたかを判断することはできない。すな
わち、例えば、エレメントブロックの総数が8個であ
り、カウンタが3ビットであるとすると、一つのカウン
タで計数できるのは、「000」を含めて8回までであ
る。したがって、これを越えるデータ入力が生ずれば、
当該カウンタのカウンタ値は、当然のことながら、再度
「000」へ戻り、その値からカウントアップが再開さ
れることとなる。それ故、この場合には、3ビットの二
つのカウンタ値「001」と「010」との比較は、ど
ちらが先にインプットされたかを示す指標とはならな
い。ところが、この場合に、カウンタのビット数を4ビ
ットにすれば、二つのカウンタ値の差が2n以上とはな
らないことを考慮すれば、「0001」と「0010」
では「0001」の方が先にインプットされたと判断す
ることが可能となる。
Here, the number of bits of each counter of the counter module 2 depends on the total number of element blocks. That is, for example, if the total number of element blocks is 2 n, the counter needs (n + 1) bits. The counter value of this counter is used to determine the oldness of the input to the queue. For example, if the total number of element blocks is 2 n, it is assumed that the counter has n bits. Then, it is not possible to judge which was input earlier by comparing the two counter values. That is, for example, assuming that the total number of element blocks is 8 and the counter is 3 bits, one counter can count up to 8 times including “000”. Therefore, if data input exceeds this,
As a matter of course, the counter value of the counter returns to “000” again, and counting up is restarted from that value. Therefore, in this case, the comparison between the two 3-bit counter values “001” and “010” does not serve as an index indicating which was input first. However, in this case, if the number of bits of the counter is set to 4 bits, considering that the difference between the two counter values does not exceed 2 n , “0001” and “0010” are considered.
Then, it is possible to determine that "0001" has been input earlier.

【0026】次に、エレメントブロック11〜1nの動
作について説明すれば、まず、ブロックセレクションバ
ス4上には、エレメントブロック11〜1nを特定する
ための情報が外部から入力されるようになっており、そ
の情報は、アドレスデコーダ502によりデコードされ
るようになっている。そして、デコード結果と、各エレ
メントブロック11〜1n毎に予め設定されている識別
子(ブロックID)とが一致した場合には、このアドレ
スデコーダ502により、マイアドレス信号がアクティ
ブとされて、コマンド解析器501へ入力されるように
なっている。また、アドレスデコーダ502は、ブロッ
クセレクション信号が、全てのエレメントブロック11
〜1nを選択する状態、すなわち、一斉同報を示す場合
にもマイアドレス信号をアクティブにするようになって
いる。
Next, the operation of the element blocks 11 to 1n will be described. First, information for specifying the element blocks 11 to 1n is externally input to the block selection bus 4. The information is decoded by the address decoder 502. When the decoding result matches the identifier (block ID) preset for each of the element blocks 11 to 1n, the address decoder 502 activates the my address signal, and the command analyzer 501. In addition, the address decoder 502 outputs the block selection signal to all the element blocks 11
1 to 1n, that is, when the simultaneous broadcast is indicated, the my address signal is activated.

【0027】そして、コマンドバス5上の命令は、マイ
アドレス信号がアクティブとされた際に、コマンド解析
器501において解析される。まず、比較数値書込み要
求コマンドが入力されると、各エレメントブロック11
〜1nのコマンド解析器501は、書込信号をアクティ
ブにし、データバス6上に外部から送られてくる「待ち
行列の優先順位」が比較数値A用レジスタ504に書き
込まれると共に、カウンタ値用バス7を介してカウンタ
モジュールから送られてきたカウンタの値が比較数値B
用レジスタ505に書き込まれることとなる。なお、こ
れ以後、上述のようにして比較数値A用レジスタ504
に書き込まれた値を「比較数値A」と、比較数値B用レ
ジスタ505に書き込まれた値を「比較数値B」と、そ
れぞれ称することとする。
The command on the command bus 5 is analyzed by the command analyzer 501 when the my address signal is activated. First, when a comparison numerical value write request command is input, each element block 11
The command analyzers 501 to 1n activate the write signal, write the "queue priority" sent from the outside onto the data bus 6 to the register 504 for the comparison numerical value A, and simultaneously execute the bus for the counter value. The value of the counter sent from the counter module via the counter 7 is the comparison value B
Is written to the register 505. Thereafter, the register 504 for the comparative numerical value A is set as described above.
Are referred to as “comparison value A”, and the value written to the comparison value B register 505 is referred to as “comparison value B”.

【0028】次に、総出力コマンドが入力されると、コ
マンド解析器501は、出力イネーブル信号をアクティ
ブとする。その結果、ブロックID用ドライバ506を
介して、ブロックIDが、比較数値A用ドライバ507
を介して、比較数値Aが、比較数値B用ドライバ508
を介して、比較数値Bが、それぞれ出力されるようにな
っている。なお、エレメントブロック11〜1nが何も
出力していない状態においては、比較数値A用ドライバ
507及び比較数値B用ドライバ508の出力ポート
は、全てのビットで「1」となるように構成されてい
る。
Next, when the total output command is input, the command analyzer 501 activates the output enable signal. As a result, via the block ID driver 506, the block ID is set to the comparative numerical value A driver 507.
Via the driver 508 for the comparison value B
, The comparison value B is output. In the state where the element blocks 11 to 1n do not output anything, the output ports of the driver 507 for comparison numerical value A and the driver 508 for comparison numerical value B are configured to be "1" in all bits. I have.

【0029】また、条件付き出力コマンドが入力された
場合、コマンド解析器501は、データバス6上に送ら
れてきた出力条件となる「待ち行列の優先順位」と、比
較数値A用レジスタ504の値を比較し、条件にあった
場合、出力イネーブル信号をアクティブとする。その結
果、ブロックID用ドライバ506からは、ブロックI
Dが、比較数値A用ドライバ507からは、比較数値A
が、比較数値B用ドライバ508からは、比較数値B
が、それぞれ出力されるようになっている。
When a conditional output command is input, the command analyzer 501 outputs the “queue priority”, which is the output condition sent on the data bus 6, and the comparative numerical value A register 504. The values are compared, and if the conditions are met, the output enable signal is activated. As a result, the block ID driver 506 sends the block I
D indicates that the comparison numerical value A
However, the comparative numerical value B driver 508 outputs the comparative numerical value B
Are respectively output.

【0030】次に、ブロックIDセレクタ3のより具体
的な構成例と、その動作について、図3を参照しつつ説
明する。この構成例におけるブロックIDセレクタ3
は、ブロックIDセレクタサブモジュール311〜31
(n/2),321〜32(n/4),・・・3iを、階層的に接
続して構成されたものとなっている。なお、以下の説明
において、ブロックIDセレクタサブモジュール311
〜31(n/2),321〜32(n/4),・・・3iの中の特
定のブロックIDサブモジュールを示すものではない場
合には、ブロックIDセレクタサブモジュール300と
称することとする。すなわち、先の各エレメントブロッ
ク11〜1nの隣り合う2個のエレメントブロックに対
して、1個つづブロックIDセレクタサブモジュール3
11〜31(n/2)が設けられ、さらに、これら(n/2)個の
ブロックIDセレクタサブモジュール311〜31(n/
2)に対して、前段の場合と同様にして、2個を1組と
し、これに対して、同一の構成を有してなるブロックI
Dセレクタサブモジュール321〜32(n/4)がそれぞ
れ設けられるというようにして、いわゆる階層的な構造
が形成されるように、複数のブロックIDセレクタサブ
モジュール300が組み合わされて構成されたものとな
っている。
Next, a more specific configuration example of the block ID selector 3 and its operation will be described with reference to FIG. Block ID selector 3 in this configuration example
Are the block ID selector submodules 311 to 31
(n / 2), 321-32 (n / 4),... 3i are hierarchically connected. In the following description, the block ID selector sub-module 311
.. 31i (n / 2), 321-32 (n / 4),..., 3i, if they do not indicate a specific block ID submodule, they will be referred to as a block ID selector submodule 300. . That is, for each of the two adjacent element blocks of the previous element blocks 11 to 1n, the block ID selector sub-module 3
11 to 31 (n / 2) are provided, and these (n / 2) block ID selector sub-modules 31 to 31 (n /
Contrary to 2), as in the case of the previous stage, two blocks are set as one set, and on the other hand, a block I having the same configuration
D selector submodules 321 to 32 (n / 4) are provided respectively, so that a plurality of block ID selector submodules 300 are combined to form a so-called hierarchical structure. Has become.

【0031】そして、ブロックIDセレクタサブモジュ
ール300としては、図4に示されたような構成を有し
てなるものが好適である。すなわち、ブロックIDセレ
クタサブモジュール300は、比較器A(図4において
は「Comparator A」と表記)41と、比較器B(図4に
おいては「Comparator B」と表記)42と、セレクタ
(図4においては「Selector」と表記)43とを主たる
構成要素として構成されたものとなっている。
The block ID selector sub-module 300 preferably has a configuration as shown in FIG. That is, the block ID selector sub-module 300 includes a comparator A (denoted as “Comparator A” in FIG. 4) 41, a comparator B (denoted as “Comparator B” in FIG. 4) 42, and a selector (FIG. , "Selector") is a main component.

【0032】比較器A41には、二つの比較数値Aが入
力され、この二つの比較結果が、セレクトA信号(図4
においては「Select A」と表記)としてセレクタ43へ出
力されるようになっている。比較器B42には、二つの
比較数値Bが入力され、この二つの比較結果が、セレク
トB信号(図4においては「Select B」と表記)としてセ
レクタ43へ出力されるようになっている。そして、セ
レクタ43は、後述するように、セレクトA信号または
セレクトB信号に基づいて、それぞれ二つの比較数値
A、比較数値B及びブロックIDのいずれか一方を選
択、出力するようになっている。
The comparator A41 receives two comparison values A, and outputs the two comparison results as a select A signal (FIG. 4).
Is written as "Select A") to the selector 43. Two comparison numerical values B are input to the comparator B42, and the two comparison results are output to the selector 43 as a select B signal (denoted as "Select B" in FIG. 4). Then, the selector 43 selects and outputs one of the two comparison numerical values A, B and the block ID based on the select A signal or the select B signal, as described later.

【0033】かかる構成を有してなるブロックIDセレ
クタ3は、各エレメントブロック11〜1nから出力さ
れたブロックID、比較数値A及び比較数値Bをそれぞ
れ入力し、比較数値A及び比較数値Bをそれぞれ比較し
て、最優先値を選択し、その値を有するブロックIDと
共に、その比較数値A及び比較数値Bを出力する。先に
も述べたように、比較数値Aは待ち行列の優先順位、比
較数値Bは待ち行列へのインプットの順序を表してい
る。したがって、ブロックIDセレクタ3は、まず、全
ての比較数値Aを比較し、その中から最小(すなわち優
先順位が1番目)となる比較数値Aを有するブロックI
Dを選択する。そして、最小となる比較数値Aが複数存
在する場合は、比較数値Bの比較を行い、その待ち行列
の中で一番最初にインプットされたデータに対応するブ
ロックIDを選択し、そのブロックIDと共に、比較数
値A及び比較数値Bを出力するようになっている。
The block ID selector 3 having the above configuration inputs the block ID, the comparison value A and the comparison value B output from each of the element blocks 11 to 1n, and inputs the comparison value A and the comparison value B respectively. By comparison, the highest priority value is selected, and the comparison value A and the comparison value B are output together with the block ID having that value. As described above, the comparison value A indicates the priority of the queue, and the comparison value B indicates the order of input to the queue. Accordingly, the block ID selector 3 first compares all the comparison values A, and selects the block I having the smallest comparison value A (that is, the first priority) from among them.
Select D. If there are a plurality of minimum comparison values A, the comparison value B is compared, and a block ID corresponding to the first input data in the queue is selected, and the block ID is selected together with the block ID. , Comparative numerical value A and comparative numerical value B are output.

【0034】なお、この実施例では、比較数値Aの最優
先値を最小値としているが、比較数値Aの最優先値が最
小値になるか最大値になるかは、この装置が用いられる
具体的なシステムの条件に応じて選択されるべきもので
あり、本発明の要旨に影響を与えるものではない。
In this embodiment, the highest priority value of the comparative numerical value A is set to the minimum value. However, whether the highest priority value of the comparative numerical value A becomes the minimum value or the maximum value is determined by using the apparatus. It should be selected according to the conditions of a typical system, and does not affect the gist of the present invention.

【0035】図3に示された構成の場合、第1のエレメ
ントブロック(図1においては「Element Block(1)」と
表記)11からの比較数値A(1)と、第2のエレメント
ブロック(図1においては「Element Block(2)」と表
記)12からの比較数値A(2)とが、ブロックIDセレ
クタザブモジュール311で比較され、その値が小さい
方のエレメントブロックからのブロックIDと共に、比
較数値A及び比較数値Bが次段へ出力される。もし、比
較数値A(1),A(2)が等しければ、その場合には、第1
のエレメントブロック11からの比較数値B(1)と、第
2のエレメントブロック12からの比較数値B(2)とが
比較され、データが先にインプットされたエレメントブ
ロックからのブロックIDと共に、比較数値A及び比較
数値Bが次段に出力されるようになっている。この動作
は、他のブロックIDセレクタザブモジュール313〜
31(n/2),321〜32(n/4),・・・3iについても
基本的に同様であり、そのため、ここでのそれぞれの動
作説明は省略することとする。
In the case of the configuration shown in FIG. 3, the comparison value A (1) from the first element block (denoted as “Element Block (1)” in FIG. 1) 11 and the second element block ( In FIG. 1, the comparison value A (2) from the “Element Block (2)” 12) is compared by the block ID selector sub module 311. The value is compared with the block ID from the smaller element block. The comparison value A and the comparison value B are output to the next stage. If the comparison values A (1) and A (2) are equal, then the first
Is compared with the comparison value B (2) from the second element block 12, and the comparison value along with the block ID from the element block to which the data was previously input. A and the comparison value B are output to the next stage. This operation is performed by the other block ID selector sub-modules 313 to 313.
31 (n / 2), 321-32 (n / 4),..., 3i are basically the same, and the description of the respective operations is omitted here.

【0036】ここで、二つのエレメントブロックのどち
らにデータが先にインプットされたかは、次のように判
断されるものである。先にも述べたように、仮に、エレ
メントブロックの総数が2n個であるとすると、比較数
値Bを表すディジタルビットは、(n+1)ビット必要
である。そして、エレメントブロックの総数が2nであ
るから、二つの比較数値Bの差は2nを越えることはな
い。しかし、カウンタモジュール2内のカウンタは、2
(n+1)−1間でカウントしたあと、0に戻ることに注意
しなければならない。これらから次の事が言える。すな
わち、比較すべき二つの数値を、それぞれX,Yとする
と、
Here, which of the two element blocks data is input first is determined as follows. As described above, assuming that the total number of element blocks is 2 n , (n + 1) digital bits representing the comparison value B are required. Since the total number of element blocks is 2 n , the difference between the two comparison values B does not exceed 2 n . However, the counter in the counter module 2 is 2
Note that after counting between (n + 1) -1, it returns to 0. The following can be said from these. That is, if two numerical values to be compared are X and Y, respectively,

【0037】1)2n>X≧0で、かつ、2n>Y≧0の
場合において、X−Yの結果、bit(n+2)=0な
ら、Yが先に、
1) When 2 n > X ≧ 0 and 2 n > Y ≧ 0, as a result of XY, if bit (n + 2) = 0, then Y first

【0038】2)2n>X≧0で、かつ、2n>Y≧0の
場合において、X−Yの結果、bit(n+2)=1な
ら、Xが先に、
2) When 2 n > X ≧ 0 and 2 n > Y ≧ 0, as a result of XY, if bit (n + 2) = 1, then X first

【0039】3)2(n+1)>X≧2nで、かつ、2(n+1)
>Y≧2nの場合において、X−Yの結果、bit(n
+2)=0なら、Yが先に、
3) 2 (n + 1) > X ≧ 2 n and 2 (n + 1)
> Y ≧ 2 n , as a result of XY, bit (n
+2) = 0, then Y first,

【0040】4)2(n+1)>X≧2nで、かつ、2(n+1)
>Y≧2nの場合において、X−Yの結果、bit(n
+2)=1なら、Xが先に、
4) 2 (n + 1) > X ≧ 2 n and 2 (n + 1)
> Y ≧ 2 n , as a result of XY, bit (n
+2) = 1, then X first,

【0041】5)2n>X≧0で、かつ、2(n+1)>Y≧
nの場合において、X−Yの結果、bit(n+1)
=0なら、Yが先に、
5) 2 n > X ≧ 0 and 2 (n + 1) > Y ≧
In the case of 2 n , as a result of XY, bit (n + 1)
If = 0, then Y first,

【0042】6)2n>X≧0で、かつ、2(n+1)>Y≧
nの場合において、X−Yの結果、bit(n+1)
=1なら、Xが先に、
6) 2 n > X ≧ 0 and 2 (n + 1) > Y ≧
In the case of 2 n , as a result of XY, bit (n + 1)
If = 1, X first,

【0043】7)2(n+1)>X≧2nで、かつ、2n>Y
≧0の場合において、X−Yの結果、bit(n+1)
=0なら、Yが先に、
7) 2 (n + 1) > X ≧ 2 n and 2 n > Y
In the case of ≧ 0, the result of XY is bit (n + 1)
If = 0, then Y first,

【0044】8)2(n+1)>X≧2nで、かつ、2n>Y
≧0の場合において、X−Yの結果、bit(n+1)
=1なら、Yが先に、
8) 2 (n + 1) > X ≧ 2 n and 2 n > Y
In the case of ≧ 0, the result of XY is bit (n + 1)
If = 1, then Y first

【0045】それぞれインプットされたこととなる。な
お、ここで、bit(n+1)は、最下位のビットから
(n+1)番目のビットを、bit(n+2)は、最下
位のビットから(n+2)番目のビットを、それぞれ意
味するものとする。上述のようにして、前段からの比較
結果が入力された次段のブロックIDセレクタサブモジ
ュール321〜32(n/4)においても、同様に二つの比
較数値Aの比較、さらには、必要に応じて比較数値Bの
比較が行われ、優先度の高い方のブロックIDと共に、
比較数値A及び比較数値が次段にそれぞれ出力され、次
段以降の各ブロックIDセレクタサブモジュール(図示
せず)でも同様な動作が繰り返され、最優先のデータの
ブロックIDが選択され、そのブロックIDと共に、比
較数値A及び比較数値Bが最終段のブロックIDセレク
タサブモジュール3iから出力されるようになってい
る。なお、上述した第1の実施例においては、コマンド
解析器501により、請求項2における書込制御手段、
出力制御手段、判定出力手段及び強制出力禁止手段が実
現されたものとなっている。
Each of them is input. Here, bit (n + 1) means the (n + 1) th bit from the least significant bit, and bit (n + 2) means the (n + 2) th bit from the least significant bit. As described above, in the next-stage block ID selector sub-modules 321 to 32 (n / 4) to which the comparison result from the previous stage is input, similarly, the two comparison values A are compared, and further, if necessary. The comparison value B is compared with the block ID having the higher priority.
The comparison value A and the comparison value are output to the next stage, respectively, and the same operation is repeated in each of the block ID selector submodules (not shown) at the next stage and thereafter, the block ID of the highest-priority data is selected, and the block ID is selected. The comparison numerical value A and the comparison numerical value B are output from the last-stage block ID selector sub-module 3i together with the ID. In the first embodiment described above, the command analyzer 501 controls the write control means according to the second aspect.
The output control means, the judgment output means and the forced output prohibition means are realized.

【0046】次に、第2の実施例として、上述した第1
の実施例に示された基本的な待ち行列装置を用いて構成
されたより複雑な待ち行列装置の構成例について、図5
及び図6を参照しつつ説明する。なお、図5において、
例えば、「Block ID(1)」との表記は、第1番目のブロ
ックIDであることを示す意味であり、ブロックID=
1を意味するものではなく、これは、他の表記について
も同様である。さらに、以後、他の図面でも同様な意味
であるとする。最初に、装置構成について図5を参照し
つつ説明する。同図において、符号Aで示された部分
は、先に、図1乃至図4を用いて示された第1の実施例
における装置部分であるので、ここでの再度の詳細な説
明を省略し、以下、異なる点を中心に説明することとす
る。なお、図1に示された構成要素と同一のものについ
ては、同一の符号を付すこととし、その詳細な説明を省
略し、以下、異なる点を中心に説明することとする。こ
の図5に示された待ち行列装置は、特に、32個のエレ
メントブロック11,12・・・132を有するものと
なっており、符号Aで示された部分の構成要素に加え
て、入力制御手段としての入力制御器(図5においては
「Input Controller」と表記)61と、制御調整器(図5
においては「Arbiter」と表記)62と、出力制御手段と
しての出力制御器(図5においては「Output Controlle
r」と表記)63と、入力用アドレス発生手段としての入
力用アドレス発生器(図5においては「Address Generat
or」と表記)64と、出力用アドレス発生手段としての
出力用アドレス発生器(図5においては「Address Gener
ator」と表記)65と、データ記憶手段としてのデータ
バッファ(図5においては「Data Buffer」と表記)66
とを主たる構成要素として構成されたものとなってい
る。
Next, as a second embodiment, the first embodiment will be described.
FIG. 5 shows an example of the configuration of a more complex queuing device configured using the basic queuing device shown in the embodiment of FIG.
This will be described with reference to FIG. In FIG. 5,
For example, the notation “Block ID (1)” means that it is the first block ID, and the block ID =
It does not mean 1, but the same applies to other notations. Further, the same applies to other drawings hereinafter. First, the configuration of the apparatus will be described with reference to FIG. In the figure, the portion indicated by reference numeral A is the device portion in the first embodiment shown previously with reference to FIGS. 1 to 4, and thus the detailed description is omitted here. Hereinafter, different points will be mainly described. The same components as those shown in FIG. 1 are denoted by the same reference numerals, detailed description thereof will be omitted, and different points will be mainly described below. The queuing device shown in FIG. 5 has, in particular, 32 element blocks 11, 12,..., 132. An input controller (noted as “Input Controller” in FIG. 5) 61 as a means and a control adjuster (FIG. 5)
In FIG. 5, an “Arbiter” 62 and an output controller as an output control means (“Output Controlle” in FIG. 5)
r) 63 and an input address generator as an input address generating means (“Address Generat” in FIG. 5).
or) 64 and an output address generator (in FIG. 5, “Address Gener
ator) 65, and a data buffer (denoted as “Data Buffer” in FIG. 5) 66 as data storage means.
And are constituted as main components.

【0047】入力制御器61には、外部から、入力制御
器61に対してデータ入力があることを示すためのデー
タ入力可能信号(図5においては「In Data Abailable」
と表記)が入力され、それによって、入力制御器61
は、外部の装置に対して、データ入力が可能か否かの状
態を示す入力データ読込信号(図5においては「In Data
Read」と表記)を出力するようになっており、このデー
タ読込信号がいわるアクティブとされた際に、データが
入力されるようになっている。また、入力制御器61に
は、後述するようにブロックIDセレクタ3からのブロ
ックIDが入力されるようになっている。
The input controller 61 has a data input enable signal (in FIG. 5, "In Data Abailable" in FIG. 5) indicating that there is data input to the input controller 61 from outside.
) Is input, whereby the input controller 61
Is an input data read signal (in FIG. 5, “In Data
Read), and when this data read signal is activated, data is input. The input controller 61 receives a block ID from the block ID selector 3 as described later.

【0048】そして、入力制御器61は、後述するよう
に、所定のエレメントブロック11,12・・・132
を選択するための信号である入力側ブロックセレクショ
ン信号(図5においては「Block Selection I」と表記)
と、エレメントブロック11,12・・・132の動作
を指令するためのコマンドを入力側コマンド(図5にお
いては「Command I」と表記)として、エレメントブロッ
ク11,12・・・132の動作を決定するため等に必
要なデータの付加情報を、入力側データ(図5において
は「Data I」と表記)として、それぞれ出力する一方、入
力用アドレス発生器64に対しては、アドレス初期値
(図5においては「Init Add」と表記)及びアドレス計数
信号(図5においては「Add Inc.」と表記)を出力し、さ
らに、データバッファ66に対しては、データバッファ
66に書き込まれる対象となる外部からのデータ(図5
においては「Writen Data」と表記)を出力するようにな
っている。
.., And 132. As will be described later, the input controller 61
Input-side block selection signal (in FIG. 5, denoted as "Block Selection I")
132 is determined as an input-side command (in FIG. 5, denoted as “Command I”), and the operation of the element blocks 11, 12,. The additional information of the data necessary for performing such operations is output as input-side data (denoted as "Data I" in FIG. 5), while the address initial value (see FIG. 5 output an "Init Add") and an address count signal (denoted as "Add Inc." in FIG. 5), and are written to the data buffer 66 for the data buffer 66. External data (Fig. 5
Output "Writen Data").

【0049】制御調整器62は、各エレメントブロック
11,12・・・132に対する入力制御器61からの
アクセス要求及び出力制御器63からのアクセス要求が
同時に発生した場合に、所定条件の下、いずれか一方の
アクセス要求を先行させ、その後、他のアクセス要求を
満たすようにするためのものである。なお、如何なる条
件の下、一方を優先させるかは、この装置が使用される
個々の具体的な環境条件によって定められるものであ
り、特定の条件に限定される必要はないものである。出
力制御器63は、この出力制御器63の出力段に接続さ
れている外部の装置(図示せず)に対して、データの出
力が可能な状態であることを知らせるためのデータ出力
可能信号(図5においては「Out Data Abailable」と表
記)を出力し、図示されない外部の装置から、その外部
の装置がデータ読み込みが可能な状態であることを示す
出力データ読込信号(図5においては「Out Data Read」
と表記)がいわゆるアクティブ状態で入力されると、所
定のデータを出力するようになっているものである(詳
細は後述)。
When the access request from the input controller 61 and the access request from the output controller 63 to each of the element blocks 11, 12,... One of the access requests is prioritized, and then the other access request is satisfied. It should be noted that the condition under which one is prioritized is determined by the specific environmental conditions in which the device is used, and need not be limited to a specific condition. The output controller 63 outputs a data output enable signal (not shown) to an external device (not shown) connected to the output stage of the output controller 63 to notify that data can be output. In FIG. 5, “Out Data Abailable” is output, and an output data read signal (in FIG. 5, “Out Data Abailable” in FIG. 5) indicating that the external device is ready to read data. Data Read "
Is input in a so-called active state, predetermined data is output (details will be described later).

【0050】また、出力制御器63は、所定のエレメン
トブロック11,12・・・132を選択するための信
号である出力側ブロックセレクション信号(図5におい
ては「Block Selection O」と表記)と、エレメントブロ
ック11,12・・・132の動作状態を指令するため
のコマンドを出力側コマンド((図5においては「Comma
nd O」と表記)として、エレメントブロック11,12
・・・132の動作を決定するため等に必要なデータの
付加情報を出力側データ((図5においては「Data O」と
表記)として、それぞれ出力するようになっている(詳
細は後述)。また、出力制御器63は、ブロックIDセ
レクタ3からのブロックIDが入力される一方、後述す
るように所定の場合に、出力用アドレス発生器65へ対
してアドレス初期値(図5においては「Init Add」と表
記)及びアドレス計数信号(図5においては「Add Inc.」
と表記)を出力し、データバッファ66からデータを読
み込むようになっている。
The output controller 63 outputs an output-side block selection signal (referred to as "Block Selection O" in FIG. 5) which is a signal for selecting a predetermined element block 11, 12,... The command for instructing the operation state of the element blocks 11, 12,...
nd O ”) as element blocks 11 and 12
... Additional information of data necessary for determining the operation of 132 is output as output side data (denoted as "Data O" in FIG. 5) (details will be described later). The output controller 63 receives the block ID from the block ID selector 3 and, in a predetermined case as described later, sends an address initial value to the output address generator 65 (in FIG. 5, " Init Add) and an address counting signal (“Add Inc.” in FIG. 5).
) And reads data from the data buffer 66.

【0051】入力用アドレス発生器64及び出力用アド
レス発生器65は、共にその基本的な構成、動作が同一
のものであり、入力用アドレス発生器64は、入力制御
器61から入力されたアドレス初期値に基づいて、デー
タバッファ66へ出力する最初のアドレス値が設定さ
れ、アドレス計数信号がアクティブとされる度毎にその
アドレス値が一つ進められるようになっているものであ
る。また、出力用アドレス発生器65は、出力制御器6
3から入力されたアドレス初期値に基づいて、データバ
ッファ66へ出力する最初のアドレス値が設定され、ア
ドレス計数信号がアクティブとされる度毎にそのアドレ
ス値が一つ進められるようになっているものである。
The input address generator 64 and the output address generator 65 have the same basic configuration and operation, and the input address generator 64 is provided with the address input from the input controller 61. The first address value to be output to the data buffer 66 is set based on the initial value, and the address value is advanced by one each time the address count signal is activated. The output address generator 65 is provided with the output controller 6.
The first address value to be output to the data buffer 66 is set on the basis of the address initial value input from No. 3, and the address value is advanced by one each time the address count signal is activated. Things.

【0052】そして、データバッファ66は、入力用ア
ドレス発生器64から入力されたアドレス値で示された
アドレスに、入力制御器61を介して入力されたデータ
を蓄積する一方、出力用アドレス発生器65から入力さ
れたアドレス値で示されたアドレスのデータを出力する
ようになっているものである。
The data buffer 66 accumulates the data input via the input controller 61 at the address indicated by the address value input from the input address generator 64, while storing the output address generator The data at the address indicated by the address value inputted from the address 65 is output.

【0053】次に、かかる構成における動作を説明す
る。まず、前提条件として、比較数値Aを表すためのビ
ット数は、3ビットであるとする。また、比較数値Bを
表すためのビット数は、エレメントブロック11,12
・・・132が先に述べたように32個であることか
ら、6ビットとなる。そして、各エレメントブロック1
1,12・・・132には、第1のエレメントブロック
11から順に、ブロックIDが0、1、2・・・31と
割り当てられるものとする。これらの各ブロックID
は、各エレメントブロック11,12・・・132のブ
ロックIDレジスタ503に書き込まれている。さら
に、待ち行列の数を6とし、行列番号をQueue0、Queue
1・・・Queue5と表すこととする。
Next, the operation in this configuration will be described. First, as a precondition, it is assumed that the number of bits for representing the comparison value A is 3 bits. The number of bits for representing the comparison value B is determined by the element blocks 11 and 12.
Since 132 are 32 as described above, the number of bits is 6 bits. And each element block 1
132 are assigned block IDs 0, 1, 2,... 31 in order from the first element block 11. Each of these block IDs
Are written in the block ID registers 503 of the element blocks 11, 12,... Further, the number of queues is 6, and the queue numbers are Queue0, Queue
1 ... Queue5.

【0054】そして、Queue0が最も優先順位の高い待
ち行列であるとして、以下順に、Queue1が二番目、Que
ue2が三番目・・・Queue5が最も優先順位の低い待ち
行列とし、「待ち行列の優先順位」として、Queue0か
ら順に、それぞれ「000」、「001」、「01
0」、「011」、「100」、「101」と符号化さ
れるものとする。またさらに、これら5個の待ち行列の
他に、初期値としての意味を有するIdleQueueを設ける
ものとし、Idle Queueには、「待ち行列の優先順位」と
して「110」を割り当てるものとする。そして、これ
ら待ち行列の優先順位が、比較数値Aとして扱われるこ
ととなる。
Then, assuming that Queue 0 is the queue with the highest priority, Queue 1 is the second, Que
ue2 is the third queue. Queue5 is the queue with the lowest priority. "Queue priority" is "000", "001", "01" in order from Queue0.
It shall be coded as "0", "011", "100", "101". Further, in addition to these five queues, an IdleQueue having a meaning as an initial value is provided, and “110” is assigned to the Idle Queue as “queue priority”. Then, the priorities of these queues are treated as the comparison numerical value A.

【0055】なお、この実施例では、比較数値Aに何も
出力しない場合は全てのビットを「1」と仮定したた
め、待ち行列の優先順位を表す値として「111」は割
り当てないものとする。また、初期状態においては、エ
レメントブロック11,12・・・132は全て未使用
であるとする。さらにまた、初期状態において、比較数
値A用レジスタ504には、Idle Queueを示す「11
0」が、比較数値B用レジスタ505には、第1のエレ
メントブロック11のものから順に、「0」、「1」・
・・と昇順にブロックIDを示す数値が設定されている
ものとする。
In this embodiment, when nothing is output as the comparison value A, all bits are assumed to be "1", and "111" is not assigned as a value indicating the priority of the queue. In the initial state, it is assumed that all of the element blocks 11, 12,... 132 are unused. Furthermore, in the initial state, the register 504 for the comparison value A indicates “11” indicating Idle Queue.
"0" is stored in the comparison value B register 505 in the order from the first element block 11, "0", "1".
It is assumed that numerical values indicating block IDs are set in ascending order.

【0056】かかる前提条件の下、最初に、待ち行列の
入力方法について説明する。外部から入力されるデータ
は、ATMセルやパケット等のひとかたまりのいわゆる
データブロックであるとする。入力制御器61は、常に
データ入力可能信号をチェックするようになっており、
この信号がアクティブのときは、外部から入力すべきデ
ータブロックがあることを意味している。そして、入力
制御器61は、データ入力可能信号がアクティブとなる
と、データ読込信号をいわゆるオン/オフ状態とするこ
とによって1ワードのデータを読み込むようになってい
る。
Under such prerequisites, a method of inputting a queue will be described first. It is assumed that data input from the outside is a so-called data block of a group such as an ATM cell or a packet. The input controller 61 always checks the data input enable signal.
When this signal is active, it means that there is a data block to be externally input. Then, when the data input enable signal becomes active, the input controller 61 reads one word of data by setting the data read signal to a so-called on / off state.

【0057】入力制御器61は、データ入力可能信号が
アクティブになると、制御調整器62へ対して、待ち行
列の優先順位としてIdle Queueを示す「110」の条件
付き出力命令を出力する。なお、この場合、入力側ブロ
ックセレクション信号は、一斉同報状態にされるとす
る。したがって、この時点で、全てのエレメントブロッ
ク11,12・・・132の比較数値A用レジスタ50
4には「110」が設定される。これは、全てのエレメ
ントブロック11,12・・・132が、Idle Queueに
属していることを意味する。そして、比較数値B用レジ
スタ505は、前提条件で述べたように、エレメントブ
ロック11から順に、「0」,「1」・・・「31」と
設定されているので、Idle Queueの先頭が、ブロックI
D=0のエレメントブロック11にあり、以下、ブロッ
クID順に各エレメントブロック12,13・・・13
2にIdle Queueが設定されていることを意味する。
When the data input enable signal becomes active, the input controller 61 outputs to the control adjuster 62 a conditional output instruction of “110” indicating Idle Queue as the priority of the queue. In this case, it is assumed that the input side block selection signal is set to the simultaneous broadcast state. Therefore, at this point, the comparison numerical value A register 50 of all the element blocks 11, 12,.
4 is set to “110”. This means that all the element blocks 11, 12, ... 132 belong to the Idle Queue. Then, as described in the precondition, the register 505 for the comparison value B is set to “0”, “1”,. Block I
.., 13 in the order of block ID.
2 means that the Idle Queue is set.

【0058】このため、全てのエレメントブロック1
1,12・・・132は、それぞれブロックID、比較
数値A及び比較数値BをブロックIDセレクタ3へ送出
することとなる。そして、ブロックIDセレクタ3で
は、比較数値Bの最も古い値が検索されることとなる。
この時点で、比較数値Bの最も古い値は0であり、その
ブロックIDは「0」である。したがって、ブロックI
Dセレクタ3は、ブロックIDとして「0」を送出する
こととなり、このブロックIDは、入力制御器61及び
出力制御器63にそれぞれ入力される。このようにし
て、入力制御器61は、現在入力しようとしているデー
タブロックのために、ブロックID「0」のエレメント
ブロックを使用することとなる。
For this reason, all the element blocks 1
., 132 sends the block ID, the comparison value A, and the comparison value B to the block ID selector 3 respectively. Then, the block ID selector 3 searches for the oldest value of the comparison numerical value B.
At this point, the oldest value of the comparison value B is 0, and its block ID is “0”. Therefore, block I
The D selector 3 sends “0” as the block ID, and this block ID is input to the input controller 61 and the output controller 63, respectively. In this way, the input controller 61 uses the element block with the block ID “0” for the data block to be currently input.

【0059】一方、入力制御器61は、データ入力可能
信号がアクティブであることが検出された後、データ読
込信号をオン/オフして、入力データブロックのヘッダ
部を読み込む。そして、入力制御器61は、入力データ
ブロックのヘッダに書かれている情報から、この入力デ
ータブロックをどの優先順位の待ち行列に入れるかを決
定する。
On the other hand, after detecting that the data input enable signal is active, the input controller 61 turns on / off the data read signal and reads the header of the input data block. Then, the input controller 61 determines from the information written in the header of the input data block which priority queue this input data block is to be put in.

【0060】ここでは、例えば、入力データブロックの
ヘッダ部より、このデータブロックが三番目の優先順位
のデータブロック、すなわち、Queue2に入力されるべ
きデータブロックであると決定されたとする。すると、
入力制御器61は、ブロックセレクション信号を「0」
とした比較数値書込み要求コマンドを、制御調整器62
を介してエレメントブロック11,12・・・132へ
出力する結果、「010」がブロックID=0のエレメ
ントブロック11の比較数値A用レジスタ504に比較
数値Aとして書き込まれることとなる。このとき、カウ
ンタモジュール2からは、Queue2に対応したカウンタ
値「000000」が出力され、ブロックID=0のエ
レメントブロックの比較数値B用レジスタ505に書き
込まれる。これにより、ブロックID=0のエレメント
ブロック11は、Idle Queueから取り出され、Queue2
にインプットされたこととなる。
Here, for example, it is assumed that this data block is determined to be the data block of the third priority, that is, the data block to be input to Queue 2 from the header of the input data block. Then
The input controller 61 sets the block selection signal to “0”.
The comparison numerical value write request command
132 are written to the comparison value A register 504 of the element block 11 having the block ID = 0 as the comparison value A. At this time, the counter value “000000” corresponding to Queue 2 is output from the counter module 2 and written into the register 505 for the comparison value B of the element block with the block ID = 0. As a result, the element block 11 with the block ID = 0 is taken out of the Idle Queue and the Queue 2
Is input to

【0061】そして、入力制御器61は、ブロックID
=0に対応したデータバッファ66のアドレスに、読み
込んだデータブロックを書き込む。このデータの書き込
み方法としては、各ブロックIDとバッファアドレスの
変換テーブルを用いる方法や、ブロックIDを、例え
ば、所定のビット数だけ左シフトし、これをバッファア
ドレスとする方法等がある。いずれの方法にせよ、入力
制御器61は、ブロックIDを基に、書込アドレスの初
期値を決定し、これがアドレス初期値信号として、入力
用アドレス発生器64に入力されることとなる。
Then, the input controller 61 sets the block ID
The read data block is written to the address of the data buffer 66 corresponding to = 0. As a method of writing the data, there is a method of using a conversion table of each block ID and a buffer address, a method of shifting the block ID to the left by a predetermined number of bits, for example, and using this as a buffer address. In either case, the input controller 61 determines the initial value of the write address based on the block ID, and this is input to the input address generator 64 as an address initial value signal.

【0062】続いて、入力制御器61は、外部からデー
タが入力される度に、アドレス計数信号をオン/オフと
する。これにより、入力用アドレス発生器64は、アド
レス初期値信号として入力された値を、バッファアドレ
スバス8上に送出し、アドレス計数信号がオン/オフさ
れる度に、アドレス値を昇順して出力することにより、
データブロックが1ワードごとに、データバッファ66
のバッファアドレスで指定されたエリアに書き込まれる
こととなる。この書き込みにおいては、まず、既に入力
制御器61に取り込まれているデータブロックのヘッダ
部が、データバッファ66に書き込まれ、さらに、デー
タ読込信号がオン/オフされることにより、データブロ
ックがワード単位で順に入力制御器61を介してデータ
バッファ66に書き込まれてゆき、この書き込み動作
は、データ入力可能信号がネガティブになるまで繰り返
されることとなる。
Subsequently, the input controller 61 turns on / off the address count signal each time data is input from the outside. Thus, the input address generator 64 sends the value input as the address initial value signal onto the buffer address bus 8, and outputs the address value in ascending order each time the address count signal is turned on / off. By doing
When the data block is one word at a time, the data buffer 66
Will be written to the area specified by the buffer address. In this writing, first, the header of the data block already taken in by the input controller 61 is written into the data buffer 66, and the data read signal is turned on / off, so that the data block is written in word units. Are sequentially written to the data buffer 66 via the input controller 61, and this writing operation is repeated until the data input enable signal becomes negative.

【0063】入力制御器61は、新しいデータブロック
が入力される度に、上述したような上記動作を繰り返す
こととなる。例えば、上述したQueue2向けのデータ入
力の後に、Queue0向け、Queue2向け、Queue3向け、Q
ueue0向けのデータブロックがそれぞれ順に入力された
とすると、エレメントブロック12〜15が使用される
こととなる。その結果、第1乃至第5のエレメントブロ
ック11〜15の各比較数値A用レジスタ504及比較
数値B用レジスタ505には、図6に示されたようにそ
れぞれの数値が設定されることとなる。
The input controller 61 repeats the above operation every time a new data block is input. For example, after the data input for Queue2 described above, for Queue0, Queue2, Queue3, Q
Assuming that data blocks for ueue0 are sequentially input, element blocks 12 to 15 are used. As a result, the respective values are set in the register 504 for comparison value A and the register 505 for comparison value B of the first to fifth element blocks 11 to 15 as shown in FIG. .

【0064】次に、出力側の動作について説明する。ま
ず、エレメントブロック11,12・・・132は、上
述した動作説明の最後の状態、すなわち、第1乃至第5
のエレメントブロック11〜15が使用状態となってお
り、図6に示されたような数値が保持されている状態で
あるものとする。出力制御器63は、出力側ブロックセ
レクション信号を、一斉同報状態として、待ち行列の優
先順位<「110」のものを出力する条件付き出力コマ
ンドを送出する。このコマンドは、制御調整器62を介
して各エレメントブロック11,12・・・132のコ
マンド解析器501に入力される結果、出力状態となる
のは図6に示された五つのブロックIDを有する第1乃
至第5のエレメントブロック11〜15だけである。し
たがって、これら第1乃至第5のエレメントブロック1
1〜15からは、それぞれブロックID、比較数値A及
び比較数値Bが出力される一方、他のエレメントブロッ
ク16〜132からは何も出力されない。
Next, the operation on the output side will be described. First, the element blocks 11, 12,... 132 are in the last state of the above-described operation description, that is, the first to fifth states.
It is assumed that the element blocks 11 to 15 are in use and the numerical values as shown in FIG. 6 are held. The output controller 63 sets the output side block selection signal as a broadcast state, and sends out a conditional output command for outputting a queue with a priority order of “<110”. This command is input to the command analyzer 501 of each of the element blocks 11, 12,... 132 via the control adjuster 62, and as a result, the command has five block IDs shown in FIG. Only the first to fifth element blocks 11 to 15 are provided. Therefore, the first to fifth element blocks 1
From 1 to 15, a block ID, a comparative numerical value A and a comparative numerical value B are output, respectively, while nothing is output from the other element blocks 16 to 132.

【0065】ここで、何も出力していない状態にあるエ
レメントブロック16〜132においては、先に述べた
ように、比較数値A用レジスタ504及び比較数値B用
レジスタ505のそれぞれの出力ポートは、全てのビッ
トで「1」となっている。ブロックIDセレクタ3は、
先に述べたように比較数値Aの最小値(換言すれば待ち
行列の優先順位が最優先)を選択するようになってお
り、この時点での最小値は「000」で、そのブロック
IDは「1」と「4」である(図6参照)。そして、最
小値が複数あるため、ブロックIDセレクタ3において
は、比較数値Bの比較が行われることとなる。ブロック
IDが「1」のエレメントブロック12からの比較数値
Bは、「000000」であり、ブロックIDが「4」
のエレメントブロック15からの比較数値Bは、「00
0001」であるため(図6参照)、比較数値B=「0
00000」が最優先と判定される。したがって、ブロ
ックIDセレクタ3からは、ブロックID=1が出力さ
れることとなる。
As described above, in the element blocks 16 to 132 in a state where nothing is output, the output ports of the comparison value A register 504 and the comparison value B register 505 are: All bits are "1". The block ID selector 3 is:
As described above, the minimum value of the comparative numerical value A (in other words, the priority of the queue is the highest priority) is selected. At this time, the minimum value is “000” and the block ID is They are "1" and "4" (see FIG. 6). Since there are a plurality of minimum values, the block ID selector 3 compares the comparison value B. The comparison numerical value B from the element block 12 having the block ID “1” is “000000”, and the block ID is “4”.
The comparison value B from the element block 15 of “00” is “00”.
0001 ”(see FIG. 6), the comparative numerical value B =“ 0 ”
“00000” is determined to be the highest priority. Therefore, the block ID selector 3 outputs block ID = 1.

【0066】出力制御器63は、入力制御器61と同様
に、このブロックID=1が入力されると、このブロッ
クIDを基に、データバッファ66の読み出しアドレス
の初期値を決定し、アドレス初期値として出力用アドレ
ス発生器65へ出力することで、出力用アドレス発生器
65には、そのアドレスの初期値が設定されることとな
る。出力用アドレス発生器65の基本的な動作は、先に
説明した入力用アドレス発生器64と同様である。した
がって、出力用アドレス発生器65から、初期値として
設定されたアドレスがデータバッファ66へ出力される
ことで、データバッファ66からは、そのアドレスのデ
ータが出力制御器63へ読み出され、以後、出力制御器
63からのアドレス計数信号がオン/オフされる度に、
出力用アドレス発生器65のアドレス値がカウントアッ
プされ、その値がデータバッファ66へ出力されて、デ
ータバッファ66からは、入力されたアドレスのデータ
が1ワードづつ出力制御器63へ順次読み出されること
となる。
When the block ID = 1 is input, the output controller 63 determines the initial value of the read address of the data buffer 66 based on the block ID, similarly to the input controller 61, and By outputting to the output address generator 65 as a value, the initial value of the address is set in the output address generator 65. The basic operation of the output address generator 65 is the same as that of the input address generator 64 described above. Therefore, when the address set as the initial value is output from the output address generator 65 to the data buffer 66, the data at that address is read from the data buffer 66 to the output controller 63. Each time the address counting signal from the output controller 63 is turned on / off,
The address value of the output address generator 65 is counted up, the value is output to the data buffer 66, and the data of the input address is sequentially read from the data buffer 66 to the output controller 63 word by word. Becomes

【0067】データバッファ66からのデータの読み込
みを行った出力制御器63は、データ出力可能信号をア
クティブにし、この出力制御器63に接続されている外
部装置(図示せず)に対して、転送されるべきデータが
準備されていることを知らせる。それに対して、その外
部装置は、データの読み込みが可能であることを出力制
御器63へ知らせるための出力データ読込信号を、デー
タ読み込みの度毎にアクティブにし、これにより、出力
制御器63からは、データが1ワードづつ出力データバ
ス6上に送り出されることとなる。そして、出力制御器
63は、該当するデータブロックのデータが全て送出さ
れると、データ出力可能信号をネガティブにする。
The output controller 63 that has read the data from the data buffer 66 activates the data output enable signal and transfers the signal to an external device (not shown) connected to the output controller 63. Signal that the data to be prepared is ready. On the other hand, the external device activates an output data read signal for notifying the output controller 63 that data can be read each time data is read. , Data is sent out on the output data bus 6 one word at a time. Then, when all the data of the corresponding data block has been transmitted, the output controller 63 sets the data output enable signal to negative.

【0068】上述のようにして、一つのQueueについて
(この場合はQueue0)のデータ出力が終了すると、最
後に、出力制御器63により、比較数値書込み要求コマ
ンドが出力され、「110」がブロックID=1のエレ
メントブロック12の比較数値A用レジスタ504に書
き込まれることとなる。この処理により、ブロックID
=1のエレメントブロック12は、Queue0から取り外
され、Idle Queueにインプットされたことになる。そし
て、出力制御器63は、出力側ブロックセレクション信
号を一斉同報状態として、次に優先順位の高いブロック
IDが検索され、上述したと同様な動作が繰り返されて
該当するデータの出力が行われるというようにして、順
次優先順位の高い順からデータの出力が繰り返されるこ
ととなる。
As described above, when the data output for one Queue (Queue 0 in this case) is completed, finally, the output controller 63 outputs a comparative numerical value write request command, and “110” indicates the block ID. = 1 in the comparison numerical value A register 504 of the element block 12. By this processing, the block ID
The element block 12 of = 1 is removed from Queue 0 and has been input to the Idle Queue. Then, the output controller 63 sets the output-side block selection signal to the broadcast state, searches for the next highest priority block ID, and repeats the same operation as described above to output the corresponding data. In this way, data output is repeated in order from the highest priority.

【0069】なお、上述した第2の実施例においては、
何れの構成要素も、いわゆるハードウェアにより実現さ
れるものであると想定しているが、そのような構成に限
定される必要はなく、例えば、いわゆるCPUやDSP
を用いて、上述したような動作を果たすようなソフトウ
ェアを実行することで実現されるような構成としてもよ
いことは勿論である。例えば、入力制御器61、制御調
整器62及び出力制御器63等をCPU又はDSPによ
るソフトウェアの実行により実現するようにしてもよい
ものである。
In the above-described second embodiment,
Each component is assumed to be realized by so-called hardware, but is not limited to such a configuration. For example, a so-called CPU or DSP
It goes without saying that the configuration may be realized by executing software that performs the above-described operation using. For example, the input controller 61, the control adjuster 62, the output controller 63, and the like may be realized by executing software by a CPU or a DSP.

【0070】次に、第3の実施例について、図1並びに
図7乃至図9を参照しつつ説明する。この第3の実施例
は、先に、図2に示されたエレメントブロックに代え
て、図1に示された構成において用いることができる他
の構成を有してなるエレメントブロックを示すものであ
る。なお、図2に示された構成要素と同一の構成要素に
ついては、同一の符号を付して、その詳細な説明を省略
し、以下、異なる点を中心に説明することとする。ま
た、以下の説明においては、図2に示されたエレメント
ブロックを「エレメントブロック100」と、この第3
の実施例におけるエレメントブロックを「エレメントブ
ロック100a」と便宜的に称することとする。この実
施例におけるエレメントブロック100aは、所定の数
値を蓄積する第3の記憶手段を実現する第3のレジスタ
としての比較数値C用レジスタ(図7においては「Comp.
Value Reg. C」と表記)510と、比較数値C用ドラ
イバ509とが新たに設けられた構成となっている。そ
して、このエレメントブロック100aは、待ち行列に
種類があり、その待ち行列の種類を示すデータが外部か
ら入力されることを前提として、そのような入力がある
場合に適する構成となっているものである。
Next, a third embodiment will be described with reference to FIG. 1 and FIGS. In the third embodiment, an element block having another structure which can be used in the structure shown in FIG. 1 instead of the element block shown in FIG. 2 is shown. . The same components as those shown in FIG. 2 are denoted by the same reference numerals, and detailed description thereof will be omitted. Hereinafter, different points will be mainly described. In the following description, the element block shown in FIG.
In this embodiment, the element block will be referred to as "element block 100a" for convenience. The element block 100a in this embodiment is a comparative numerical value C register as a third register for realizing third storage means for storing a predetermined numerical value (“Comp.
Value Reg. C ”510 and a driver 509 for a comparative numerical value C are newly provided. The element block 100a has a configuration suitable for a case where there is such an input, assuming that there is a type in the queue and data indicating the type of the queue is input from the outside. is there.

【0071】すなわち、この第3の実施例では、まず、
比較数値書き込み要求コマンドが入力される際、同時に
データバス6上に、データの付加情報の一つである第2
の識別値としての「待ち行列の種類」が送られてくるよ
うになっており、これは、比較数値C用レジスタ510
に書き込まれる。この「待ち行列の種類」は、例えばA
TM交換機やスイッチングハブの出力ポートを位置づけ
ることができるものである。すなわち、ATM交換機や
スイッチングハブでは送出される出力ポートごとに待ち
行列を作る場合があり、また、この待ち行列は出力ポー
トごとに複数の優先順位を持たせることがあり、「待ち
行列の種類」は、こうした場合に、待ち行列のカテゴリ
を示す識別子として利用できるものである。
That is, in the third embodiment, first,
When the comparison numerical value write request command is inputted, at the same time, the second data which is one of the additional information of the data is placed on the data bus 6.
"Queue type" is sent as the identification value of the comparison value C register 510.
Is written to. This “queue type” is, for example, A
An output port of a TM exchange or a switching hub can be positioned. That is, in an ATM switch or a switching hub, a queue may be created for each output port to be transmitted, and this queue may have a plurality of priorities for each output port. Can be used as an identifier indicating a queue category in such a case.

【0072】この第3の実施例におけるエレメントブロ
ック100aは、後述する図10に示された構成の待ち
行列装置に適するものであるが、この場合、カウンタモ
ジュール2a(図10参照)は、「待ち行列の種類」毎
に「待ち行列の優先順位」を計数するカウンタを有する
こととなるものである。そして、比較数値書込み要求コ
マンドが入力されると、第1の実施例と同様に、カウン
タモジュール2aはデータバス6上の「待ち行列の優先
順位」に対応したカウンタの値をカウンタ値として送出
し、その後、カウンタモジュール2aは、このカウンタ
をカウントアップする。したがって、この場合、カウン
タモジュール2aは、「待ち行列の種類」と「待ち行列
の優先順位」の積と同じ数のカウンタを有することとな
る。ここで、各カウンタのビット数がエレメントブロッ
ク100aの総数に依存することは、第1の実施例で述
べたと同様であり、仮に、エレメントブロック100a
の総数が2のn乗個であれば、第1の実施例で述べたと
同様な理由により、カウンタは(n+1)ビット必要と
なる。
The element block 100a in the third embodiment is suitable for a queuing device having a configuration shown in FIG. 10 described later. In this case, the counter module 2a (see FIG. Each queue type has a counter for counting the "queue priority". Then, when the comparison numerical value write request command is input, as in the first embodiment, the counter module 2a sends the value of the counter corresponding to the "priority of the queue" on the data bus 6 as the counter value. After that, the counter module 2a counts up this counter. Therefore, in this case, the counter module 2a has the same number of counters as the product of "queue type" and "queue priority". Here, the fact that the number of bits of each counter depends on the total number of element blocks 100a is the same as described in the first embodiment.
Is 2 to the power of n, the counter needs (n + 1) bits for the same reason as described in the first embodiment.

【0073】さらに、この第3の実施例では、先の第1
の実施例で説明したコマンドに加えて、第4のコマンド
としての「出力機能停止コマンド」及び第5のコマンド
としての「出力機能活性化コマンド」が用いられること
を前提とする。「出力機能停止コマンド」は、所定の
「待ち行列の種類」に該当する待ち行列に割り当てられ
た状態のエレメントブロックの出力機能を停止するコマ
ンドである。「出力機能停止コマンド」では、データバ
ス6上に「待ち行列の種類」が所定のコードで同時に送
られてくるものとする。コマンド解析器501Aは、出
力機能停止コマンドが入力されると、比較数値C用レジ
スタ510の値を読み込み、データバス6上に送られて
きた「待ち行列の種類」を表す値と比較し、一致すると
出力機能停止状態に遷移するようになっている(詳細は
後述)。
Further, in the third embodiment, the first
It is assumed that an “output function stop command” as a fourth command and an “output function activation command” as a fifth command are used in addition to the commands described in the embodiments. The “output function stop command” is a command for stopping the output function of an element block assigned to a queue corresponding to a predetermined “queue type”. In the “output function stop command”, it is assumed that the “queue type” is simultaneously transmitted on the data bus 6 with a predetermined code. When the output function stop command is input, the command analyzer 501A reads the value of the register for comparison value C 510, compares the value with the value indicating the “queue type” sent on the data bus 6, and determines whether the values match. Then, the state transits to the output function suspension state (details will be described later).

【0074】一方、「出力機能活性化コマンド」は、所
定の「待ち行列の種類」に該当する待ち行列に割り当て
られている状態のエレメントブロックの出力機能を停止
状態から活性化するためのコマンドである。このコマン
ドが入力される場合も、データバス6上に「待ち行列の
種類」が所定のコードで同時に送られてくる。エレメン
トブロック100aが出力停止状態にある場合に、出力
機能活性化コマンドが入力されると、コマンド解析器5
01Aは、比較数値C用レジスタ510の値(以後、こ
の比較数値C用レジスタ510に蓄積された数値を「比
較数値C」と称する)を読み込み、データバス6上に送
られてきた「待ち行列の種類」を表す値と比較し、一致
すると出力機能を停止状態から活性化状態に遷移する
(詳細は後述)。すなわち、このコマンドは、ある種類
の待ち行列を一時的にキューから外す作用を果たすもの
である。
On the other hand, the "output function activation command" is a command for activating the output function of an element block assigned to a queue corresponding to a predetermined "queue type" from a stopped state. is there. Even when this command is input, the "queue type" is simultaneously transmitted on the data bus 6 with a predetermined code. When the output function activation command is input while the element block 100a is in the output stop state, the command analyzer 5
01A reads the value of the comparison value C register 510 (hereinafter, the value stored in the comparison value C register 510 is referred to as “comparison value C”), and reads the “queue” sent on the data bus 6. The output function is changed from the stopped state to the activated state when the values match with each other (the details will be described later). That is, this command serves to temporarily dequeue certain types of queues.

【0075】次に、かかる構成を有してなるエレメント
ブロック100aの動作について説明する。ブロックセ
レクションバス4上に、ブロックセレクション信号が送
出されると、その情報は、アドレスデコーダ502でデ
コードされ、エレメントブロック100aに予め設定さ
れているブロックIDと一致すると、マイアドレス信号
がアクティブとされるのは、第1の実施例と同様であ
る。また、アドレスデコーダ502は、ブロックセレク
ション信号が、一斉同報状態とされた場合に、マイアド
レス信号をアクティブにするのも第1の実施例と同様で
ある。
Next, the operation of the element block 100a having such a configuration will be described. When a block selection signal is sent out onto the block selection bus 4, the information is decoded by an address decoder 502, and when it matches a block ID preset in the element block 100a, the my address signal is activated. This is the same as in the first embodiment. Also, the address decoder 502 activates the my address signal when the block selection signal is set to the broadcast state, similarly to the first embodiment.

【0076】そして、コマンド解析器501Aは、マイ
アドレス信号がアクティブとなった場合に、コマンドバ
ス5を介して入力された命令を解析するのも第1の実施
例と同様である。コマンド解析器501Aに比較数値書
込み要求コマンドが入力されると、コマンド解析器50
1Aは、書込信号をアクティブにし、データバス6上に
ある「待ち行列の優先順位」を比較数値A用レジスタ5
04に書き込むと同時に、カウンタ値用バス7上に送ら
れて来たカウンタ値を比較数値B用レジスタ505に書
き込み、さらに、データバス6上に送られてきた「待ち
行列の種類」を示す所定の数値を比較数値C用レジスタ
510に書き込む。
The command analyzer 501A analyzes a command input via the command bus 5 when the my address signal becomes active, similarly to the first embodiment. When a command to request writing of a comparative numerical value is input to the command analyzer 501A, the command analyzer 50A
1A activates the write signal, and compares the “queue priority” on the data bus 6 with the comparison value A register 5
04, the counter value sent on the counter value bus 7 is written in the register 505 for comparison value B, and furthermore, a predetermined value indicating the "type of queue" sent on the data bus 6 Is written to the comparison value C register 510.

【0077】また、コマンド解析器501Aは、総出力
コマンドが入力されると、出力イネーブル信号をアクテ
ィブにし、ブロックID用ドライバ506からブロック
IDを、比較数値A用ドライバ507から比較数値A
を、比較数値B用ドライバ508から比較数値Bを、比
較数値C用ドライバ509から比較数値Cを、それぞれ
出力させるようになっている。なお、エレメントブロッ
ク100aが何も出力していない場合、比較数値A用ド
ライバ507、比較数値B用ドライバ508及び比較数
値C用ドライバ509の各出力ポートは、全てのビット
が「1」となるようにしてある。
When the total output command is input, the command analyzer 501A activates the output enable signal, and outputs the block ID from the block ID driver 506 and the comparative numerical value A from the comparative numerical value A driver 507.
, And the comparison value B is output from the comparison value B driver 508 and the comparison value C is output from the comparison value C driver 509. When the element block 100a does not output anything, all bits of the output ports of the driver 507 for comparison value A, the driver 508 for comparison value B, and the driver 509 for comparison value C are set to "1". It is.

【0078】さらに、コマンド解析器501Aは、条件
付き出力コマンドが入力されると、データバス6上の値
と比較数値A用レジスタ504及び比較数値C用レジス
タ510の値を読み込んで両者を比較し、条件にあった
場合、出力イネーブル信号をアクティブにし、ブロック
ID用ドライバ506からブロックIDを出力させると
共に、比較数値A用ドライバ507から比較数値Aを、
比較数値B用ドライバ508から比較数値Bを、比較数
値C用ドライバ509から比較数値Cを、それぞれ出力
させるようになっている。
Further, when the conditional output command is input, the command analyzer 501A reads the value on the data bus 6 and the values of the comparison value A register 504 and the comparison value C register 510 and compares them. When the condition is satisfied, the output enable signal is activated, the block ID is output from the block ID driver 506, and the comparison value A is output from the comparison value A driver 507.
The comparison value B is output from the comparison value B driver 508, and the comparison value C is output from the comparison value C driver 509.

【0079】次に、上述のエレメントブロック100a
の構成に対応したブロックIDセレクタサブモジュール
の構成例を図8及び図9を参照しつつ説明する。なお、
図4に示された構成要素と同一の構成要素については、
同一の符号を付してその詳細な説明を省略し、以下、異
なる点を中心に説明することとする。また、以下の説明
において、図8及び図9に示されたブロックIDセレク
タサブモジュールを「ブロックIDセレクタサブモジュ
ール300a」と便宜的に称することとする。このブロ
ックIDセレクタサブモジュール300aは、上述した
ように比較数値Cが新たに用いられるようになったこと
に対応して、図4に示された構成に対して、比較器C
(図8においては「Comparator C」と表記)44を新たに
付加した構成としてなるものである。
Next, the above-described element block 100a
A configuration example of the block ID selector sub-module corresponding to the above configuration will be described with reference to FIG. 8 and FIG. In addition,
For the same components as those shown in FIG.
The same reference numerals are given and the detailed description is omitted, and different points will be mainly described below. In the following description, the block ID selector submodule shown in FIGS. 8 and 9 will be referred to as “block ID selector submodule 300a” for convenience. This block ID selector sub-module 300a is provided with a comparator C corresponding to the configuration shown in FIG.
(Indicated as "Comparator C" in FIG. 8) 44 is newly added.

【0080】すなわち、比較器C44は、二つの比較数
値Cが入力されるようになっており、その比較結果をセ
レクトC信号(図8においては「Select C」と表記)とし
て出力するようになっているものである。そして、セレ
クタ43bは、セレクトA信号、セレクトB信号及びセ
レクトC信号に基づいて、それぞれ2つづつ入力された
ブロックID、比較数値A、比較数値B及び比較数値C
のいずれか一方の組を選択して出力するようになってい
る。かかる構成のブロックIDセレクタサブモジュール
300aを用いるブロックIDセレクタの構成は、特に
図示はしないが、入力信号として比較数値Cが増えるこ
とを除けば、上述した構成のブロックIDセレクタサブ
モジュール300aを、図3に示された先の実施例と基
本的に同様にして、階層的に接続して構成されるものと
なる。
That is, the comparator C44 receives two comparison values C, and outputs the comparison result as a select C signal (denoted as "Select C" in FIG. 8). Is what it is. Then, based on the select A signal, the select B signal, and the select C signal, the selector 43b receives the block ID, the comparative numerical value A, the comparative numerical value B, and the comparative numerical value C, each of which is input two by two.
Is selected and output. Although the configuration of the block ID selector using the block ID selector sub-module 300a having such a configuration is not particularly shown, the block ID selector sub-module 300a having the above-described configuration is shown in FIG. Basically, the connection is made hierarchically in the same manner as in the previous embodiment shown in FIG.

【0081】次に、上記構成におけるブロックIDセレ
クタサブモジュール300aの動作について説明する。
比較数値A及び比較数値Bのそれぞれの値の比較に関し
ては図3及び図4に示された実施例の場合と全く同じで
ある。すなわち、二つの比較数値Aが同一である場合、
二つの比較数値Bの値によって、どちらの優先順位が高
いかが決定される。この実施例では、さらに比較数値C
が存在する。この比較数値Cについては、次のように取
り扱われる。例えば、あるアプリケーションでは「待ち
行列の種類」に優先順位がある場合がある。すなわち、
例えば、「待ち行列の種類」と出力ポートを対応させる
場合において、出力ポートごとに優先順位があるような
ときである。このような場合、セレクタ43bでは、ま
ず、セレクトA信号により、優先順位の高い方を選択
し、仮に、比較数値Aが同じ場合は、セレクトC信号に
より、優先順位の高い「待ち行列の種類」を選択する。
さらに、比較数値Cが同じ場合は、セレクトB信号によ
り、待ち行列中のより古いブロックIDのものを選択す
るようにすればよい。
Next, the operation of the block ID selector sub-module 300a in the above configuration will be described.
The comparison of the comparative numerical value A and the comparative numerical value B is exactly the same as the case of the embodiment shown in FIGS. That is, when two comparison values A are the same,
Which of the priorities is higher is determined by the values of the two comparison values B. In this embodiment, the comparative numerical value C
Exists. The comparison value C is handled as follows. For example, in some applications, "queue type" may have a priority. That is,
For example, this is a case where there is a priority for each output port when the "queue type" is associated with the output port. In such a case, the selector 43b first selects the higher priority by the select A signal, and if the comparison numerical value A is the same, the selector C selects the higher priority "queue type" by the select C signal. Select
Further, when the comparison value C is the same, the older block ID in the queue may be selected by the select B signal.

【0082】また、別のアプリケーションでは「待ち行
列の種類」に優先順位を与えず全く同等に取り扱わなけ
ればならない場合がある。例えば、「待ち行列の種類」
と出力ポートを対応させる場合にあって、出力ポートが
対等である場合である。この場合、各出力ポートに対し
均等にデータが送出されるチャンスが与えられなければ
ならない。これを実現するためには、二つの比較数値C
(a),C(b)が同じ確立で選択されるようにすればよい。
In another application, there is a case where the "queue type" must be treated exactly the same without giving a priority. For example, "queue type"
And the output port correspond to each other, and the output port is equivalent. In this case, a chance must be given to each output port to transmit data evenly. To achieve this, two comparative values C
(a) and C (b) may be selected with the same probability.

【0083】これを実現する比較器C44のより具体的
な実施例が、図9に示されており、以下、同図を参照し
つつこの実施例について説明する。この比較器C44
は、乱数ジェネレータ46と、第1及び第2の排他的論
理和素子48a,48bと、比較器47とを具備してな
るものである。乱数ジェネレータ46は、常に新しい乱
数を発生するようになっているもので、乱数のビット幅
は比較数値Cと同じとしてあるものである。そして、そ
の出力は、第1及び第2の排他的論理和素子48a,4
8bへ入力されるようになっている。第1及び第2の排
他的論理和素子48a,48bには、比較数値C(a)及
び比較数値C(b)が、それぞれ入力され、乱数ジェネレ
ータ46からの数値とのいわゆる排他的論理和演算が行
われ、その結果が、比較器47へ入力されるようになっ
ている。そして、比較器47では、入力された二つの排
他的論理和演算結果の内、数値の大きい方が選択され、
その選択結果を示す信号が、セレクトC信号として出力
されるようになっている。このような構成により、比較
数値C(a)と比較数値C(b)は、同一の確率で選択される
こととなる。
A more specific embodiment of the comparator C44 for realizing this is shown in FIG. 9, and this embodiment will be described below with reference to FIG. This comparator C44
Comprises a random number generator 46, first and second exclusive OR elements 48a and 48b, and a comparator 47. The random number generator 46 always generates a new random number, and the bit width of the random number is the same as the comparative value C. Then, the output is supplied to the first and second exclusive OR elements 48a and 48a.
8b. A comparison value C (a) and a comparison value C (b) are input to the first and second exclusive OR elements 48a and 48b, respectively, and a so-called exclusive OR operation with the value from the random number generator 46 is performed. Is performed, and the result is input to the comparator 47. Then, the comparator 47 selects the larger one of the input two exclusive OR operation results,
A signal indicating the selection result is output as a select C signal. With such a configuration, the comparative numerical value C (a) and the comparative numerical value C (b) are selected with the same probability.

【0084】また、上述のような構成に代えて、比較数
値C(a)と比較数値C(b)とを交互に選択するようにして
も同様な結果を得ることができる。さらに、上述した実
施例と同様に乱数を利用するようにし、その乱数が奇数
の場合は、比較数値C(a)を、偶数の場合は、比較数値
C(b)を、それぞれ選択するような構成としてもよい。
このような構成においても、セレクタ43bの動作とし
ては、基本的に先に説明したと同様である。すなわち、
セレクタ43bは、セレクトA信号により、優先順位の
高い方を選択し、仮に、比較数値Aが同じ場合は、比較
数値Cが優先順位の高い「待ち行列の種類」を示すもの
を選択する。さらに、比較数値Cが同じ場合は、比較数
値Bが待ち行列中のより古いブロックIDを示すものを
選択する。なお、上述した第3の実施例においては、コ
マンド解析器501Aにより、請求項11における書込
制御手段、出力制御手段及び判定出力手段が、また請求
項12における強制出力禁止手段が、それぞれ実現され
たものとなっている。
Similar results can be obtained by alternately selecting the comparison value C (a) and the comparison value C (b) instead of the above-described configuration. Furthermore, a random number is used in the same manner as in the above-described embodiment. When the random number is an odd number, a comparative value C (a) is selected, and when the random number is an even number, a comparative value C (b) is selected. It may be configured.
In such a configuration, the operation of the selector 43b is basically the same as that described above. That is,
The selector 43b selects the higher priority according to the select A signal, and if the comparison numerical value A is the same, selects the one in which the comparison numerical value C indicates the "queue type" having the higher priority. Further, if the comparison value C is the same, the one whose comparison value B indicates the older block ID in the queue is selected. In the third embodiment, the command analyzer 501A implements the write control unit, the output control unit, and the determination output unit in claim 11 and the forced output prohibition unit in claim 12. It has become.

【0085】次に、第4の実施例として、上述したエレ
メントブロック100aを用いた待ち行列装置につい
て、図10及び図11を参照しつつ説明する。なお、図
5に示された構成例と同一の構成要素については、同一
の符号を付して、その詳細な説明を省略し、以下、異な
る点を中心に説明することとする。この待ち行列装置
は、複数の出力ポートが設けられてなる点を除けば、基
本的な構成は、先に図5に示されたものと同一のもので
ある。すなわち、この実施例における出力制御器63a
は、4組の出力ポートP0〜P3が設けられたものとなっ
ている。出力ポートP0,P1,P2,P3においては、それ
ぞれデータ出力可能信号(図10においては出力ポート
の表記の後に「Out Data Abailable」と表記)、出力デー
タ読込信号(図10においては出力ポートの表記の後に
「Out Data Read」と表記)、イネーブル信号(図10に
おいては出力ポートの表記の後に「Enable」と表記)及び
データ(図10においては出力ポートの表記の後に「Dat
a Out」と表記)が出力又は入力されるようになってい
る。
Next, as a fourth embodiment, a queuing device using the above-described element block 100a will be described with reference to FIGS. The same components as those in the configuration example shown in FIG. 5 are denoted by the same reference numerals, and detailed description thereof will be omitted. Hereinafter, different points will be mainly described. The basic configuration of this queuing device is the same as that shown in FIG. 5 except that a plurality of output ports are provided. That is, the output controller 63a in this embodiment
Has four output ports P0 to P3. At the output ports P0, P1, P2, and P3, a data output enable signal (in FIG. 10, the description of the output port is described as "Out Data Abailable"), and an output data read signal (in FIG. 10, the description of the output port) Followed by “Out Data Read”), enable signal (in FIG. 10, notation of “Enable” after notation of output port) and data (in FIG. 10, after output port notation, “Dat”)
a Out ”) is output or input.

【0086】なお、ここで、イネーブル信号は、この第
4の実施例において、新たに導入された信号で、これ
は、図示されない外部装置から入力されるものである。
すなわち、外部装置が出力制御器63aに対して、デー
タブロックを送出して良いとする場合にアクティブとさ
れる一方、逆に、外部装置が出力制御器63aからのデ
ータブロックの送出を受けることができない状態にある
場合にネガティブとされるようになっているものであ
る。データブロックを送出できない状態とは、そのポー
トの先で輻輳等が発生し、トラフィックを一時的に下げ
たい状況にあるような場合を言う。従来のいわゆるFI
FOでは、例えば、入力ポートから出力ポートP0向け
のデータブロックを入力し、出力ポートP0が一時的に
送出できない状態にあり、次に入力ポートから出力ポー
トP1向けのデータプロックを入力した場合、出力ポー
トP1が送出できる状態であっても出力ポートP0向けの
データブロックが前にあるため、出力ポートP1向けの
データブロックは送出できないという不都合を生ずる
が、この第4の実施例の場合、上述のようなイネーブル
信号を用い、さらに、後述するようにして所定のデータ
を待ち行列から一時的に外すことで、従来装置のような
不都合を解消できるものとなっている。
Here, the enable signal is a signal newly introduced in the fourth embodiment, which is inputted from an external device (not shown).
In other words, it is activated when the external device can transmit the data block to the output controller 63a. On the contrary, the external device receives the transmission of the data block from the output controller 63a. If it is not possible, it will be regarded as negative. The state in which a data block cannot be transmitted refers to a case where congestion or the like occurs at the end of the port and a situation in which it is desired to temporarily reduce traffic. Conventional so-called FI
In the FO, for example, when a data block for the output port P0 is input from the input port, the output port P0 is temporarily in a state where transmission is impossible, and then when a data block for the output port P1 is input from the input port, the output is performed. Even if the port P1 can be transmitted, there is a disadvantage that the data block for the output port P1 cannot be transmitted because the data block for the output port P0 is at the front, but in the case of the fourth embodiment, By using such an enable signal and temporarily removing predetermined data from the queue as described later, the inconvenience of the conventional device can be solved.

【0087】以下、具体的に説明する。まず、前提とし
て、出力ポートP0〜P3の番号が、予め「待ち行列の種
類」に割り当てられているものとする。したがって、エ
レメントブロック11a,12a・・・132aの比較
数値C用レジスタ510には、出力ポート番号が入るこ
とになる。ここで、出力ポート番号は、出力ポートP0
は「00」、出力ポートP1ポートは「01」、出力ポ
ートP2は「10」、出力ポートP3は「11」と表され
るものとする。なお、「待ち行列の優先順位」に関して
は、先に、図5で説明した待ち行列装置における考え方
と同じであるとする。さらに、「待ち行列の種類」に
は、優先順位を与えないものとする。
Hereinafter, a specific description will be given. First, it is assumed that the numbers of the output ports P0 to P3 are assigned in advance to "queue types". Therefore, the register 510 for the comparison value C of the element blocks 11a, 12a,. Here, the output port number is the output port P0
Is "00", the output port P1 is "01", the output port P2 is "10", and the output port P3 is "11". The “priority of the queue” is assumed to be the same as the concept of the queuing device described earlier with reference to FIG. Furthermore, no priority is given to the "queue type".

【0088】入力制御器61aは、データ入力がなされ
ると、データブロックのヘッダ部のヘッダの内容から出
力ポートの番号(すなわち「待ち行列の種類」)と「待
ち行列の優先順位」を決定する。ここで、各エレメント
ブロック11a,12a・・・132aは、初期状態に
おいて、Idle Queueの状態に設定されており、また、ブ
ロックIDは、第1のエレメントブロック11aから昇
順に、「0」、「1」・・・「31」と設定されている
ものとすれば、ブロックID=0が入力制御器61aに
読み込まれるため、第1のエレメントブロック11aが
Idle Queueから取り出され、入力制御器61aから比較
数値書き込みコマンドが入力されることとなる。その結
果、第1のエレメントブロック11aの比較数値C用レ
ジスタ510には、出力ポート番号が書き込まれると共
に、比較数値A用レジスタ504には、「待ち行列の優
先順位」が、比較数値B用レジスタ505には、カウン
タモジュール2aからのカウンタ値が書き込まれること
となる。そして、このブロックエレメント11aのブロ
ックIDに対応したデータバッファ66の所定のアドレ
スエリアに入力データブロックが書き込まれる。以下、
データが入力される度毎に、第2のエレメントブロック
12a以降に対して、順に上述と同様にして各数値が入
力されると共に、データバッファ66の対応するエリア
にデータが蓄積されることとなる。
When data is input, the input controller 61a determines the output port number (ie, "queue type") and "queue priority" from the contents of the header of the data block header. . Here, each of the element blocks 11a, 12a,... 132a is set to the state of the Idle Queue in the initial state, and the block IDs are “0”, “0”, If "1"... "31" are set, the block ID = 0 is read into the input controller 61a, so that the first element block 11a is
The command is taken out of the Idle Queue, and a comparison numerical value write command is input from the input controller 61a. As a result, the output port number is written in the comparison value C register 510 of the first element block 11a, and the “queue priority” is set in the comparison value A register 504 in the comparison value B register. In 505, the counter value from the counter module 2a is written. Then, the input data block is written in a predetermined address area of the data buffer 66 corresponding to the block ID of the block element 11a. Less than,
Each time data is input, numerical values are sequentially input to the second element block 12a and thereafter in the same manner as described above, and data is accumulated in the corresponding area of the data buffer 66. .

【0089】ここで、データブロックが仮に、図11に
示されたように、出力ポートP0向けとしてQueue1のデ
ータが、出力ポートP1向けとしてQueue0のデータが、
出力ポートP0向けとしてQueue0のデータが、出力ポー
トP0向けとしてQueue1のデータが、出力ポートP0向
けとしてQueue0のデータが、順次入力されたとする。
かかる状態において、最も優先順位が高いのは、ブロッ
クID=1のエレメントブロック12a及びブロックI
D=2のエレメントブロック13aである。出力制御器
63aが、この状態で待ち行列の優先順位<「110」
の条件付き出力コマンドを出力したとすると、その結
果、ブロックID=1またはブロックID=2のいずれ
か一方が選択、出力されることとなる。いずれが出力さ
れるかは、そのときの動作タイミングによって異なる。
この実施例では、まず、ブロックID=2のエレメント
ブロック13aが結果として選択されたとすると、出力
制御器63aは、出力用アドレス発生器65を動作させ
て、データバッファ66から対応するデータを読み出す
と共に、ブロックIDセレクタ3から入力された比較数
値Cによって、出力ポートP0向けのデータであると判
定する。そして、出力制御器63aは、出力ポートP0
のイネーブル信号がアクティブであるか否かを判定し、
イネーブル信号がアクティブであると判定すると、図示
されない外部装置から出力ポートP0へ入力される出力
データ読込信号のいわゆるオン/オフにしたがってデー
タブロックを出力することとなる。
Here, assuming that the data block is data of Queue 1 for output port P 0 and data of Queue 0 for output port P 1, as shown in FIG.
It is assumed that data of Queue0 is sequentially input to the output port P0, data of Queue1 is output to the output port P0, and data of Queue0 is output to the output port P0.
In this state, the highest priority is given to the element block 12a with the block ID = 1 and the block I
This is the element block 13a of D = 2. In this state, the output controller 63a determines that the priority of the queue <“110”
Is output, as a result, either block ID = 1 or block ID = 2 is selected and output. Which is output depends on the operation timing at that time.
In this embodiment, first, assuming that the element block 13a having the block ID = 2 is selected as a result, the output controller 63a operates the output address generator 65 to read the corresponding data from the data buffer 66 and It is determined that the data is for the output port P0 based on the comparison value C input from the block ID selector 3. The output controller 63a outputs the output port P0.
Determine whether the enable signal is active,
When it is determined that the enable signal is active, a data block is output in accordance with the so-called on / off of an output data read signal input to the output port P0 from an external device (not shown).

【0090】エレメントブロック13aの情報に対応し
たデータブロックが出力された後、出力制御器63a
は、再び、待ち行列の優先順位<「110」の条件付き
出力コマンドを出力する。その結果、ブロックID=1
のエレメントブロック12aが得られることとなる。ブ
ロックID=1のエレメントブロック12aは、出力ポ
ートP1向けのデータブロックに対するものとなってい
る(図11参照)。このとき、仮に、出力ポートP1に
おけるイネーブル信号がネガティブになっていたとする
と、出力ポートP1へは、データブロックの転送はでき
ない。このため、出力制御器63aは、出力ポートP1
に対する出力機能停止コマンドを出力する。その結果、
ブロックID=1のエレメントブロック12aは、出力
機能活性化コマンドが入力されるまで、出力イネーブル
信号を強制的にネガティブとして、出力停止状態とな
る。これによって、出力ポートP1向けのデータが、Que
ue0から一時的に外された状態となる。
After the data block corresponding to the information of the element block 13a is output, the output controller 63a
Again outputs a conditional output command with queue priority <“110”. As a result, block ID = 1
Is obtained. The element block 12a with the block ID = 1 is for the data block for the output port P1 (see FIG. 11). At this time, if the enable signal at the output port P1 is negative, the data block cannot be transferred to the output port P1. Therefore, the output controller 63a sets the output port P1
Outputs the output function stop command for. as a result,
Until the output function activation command is input, the element block 12a with the block ID = 1 is forced to make the output enable signal negative and is in the output stop state. As a result, the data for the output port P1 becomes Que.
It is in a state temporarily removed from ue0.

【0091】出力制御器63aは、上述の出力機能停止
コマンドの出力後、再び、待ち行列の優先順位<「11
0」の条件付き出力コマンドを出力する。その結果、次
に優先順位の高いブロックID=4(図11参照)が選
択されることとなり、出力制御器63aにより、先のブ
ロックID=2の場合と同様にして出力ポートP0にお
いてデータ出力がなされることとなる。そして、出力制
御器63aは、出力ポートP1のイネーブル信号がアク
ティブになったならば、出力ポートP1に対する出力機
能活性化コマンドを出力し、エレメントブロック12a
が、出力停止状態から解除される。続いて、出力制御器
63aは、待ち行列の優先順位<「110」の条件付き
出力コマンドを出力し、その結果、再び、ブロックID
=1のエレメントブロック12aが得られ、出力ポート
P1からデータ出力がなされることになる。
After the output controller 63a outputs the output function stop command, the output controller 63a again sets the priority of the queue <“11”.
Output a conditional output command of "0". As a result, the next highest priority block ID = 4 (see FIG. 11) is selected, and the output controller 63a outputs data at the output port P0 in the same manner as in the case of the previous block ID = 2. Will be done. Then, when the enable signal of the output port P1 becomes active, the output controller 63a outputs an output function activation command for the output port P1, and outputs the element block 12a.
Is released from the output stop state. Subsequently, the output controller 63a outputs a conditional output command with the priority of the queue <110, and as a result, the block ID is returned again.
= 1 is obtained, and data is output from the output port P1.

【0092】上述のようにして、「待ち行列の種類」を
認識できるようにし、かつ、「待ち行列の種類」毎に出
力を一時的に停止する機能を盛り込むことにより、所定
の出力ポートへの待ち行列の出力を一時的に停止し、そ
の他の待ち行列から一番優先度の高いものを順次選択、
出力することができるようになる。
As described above, the function of recognizing the "queue type" and incorporating a function of temporarily stopping the output for each "queue type" are included, so that a predetermined output port can be connected. Temporarily stop the output of the queue, select the highest priority from the other queues sequentially,
Will be able to output.

【0093】なお、上述した第4の実施例においては、
何れの構成要素も、いわゆるハードウェアにより実現さ
れるものであると想定しているが、そのような構成に限
定される必要はなく、例えば、いわゆるCPUやDSP
を用いて、上述したような動作を果たすようなソフトウ
ェアを実行することで実現されるような構成としてもよ
いことは勿論である。例えば、入力制御器61a、制御
調整器62及び出力制御器63a等をCPU又はDSP
によるソフトウェアの実行により実現するようにしても
よいものである。
In the above-described fourth embodiment,
Each component is assumed to be realized by so-called hardware, but is not limited to such a configuration. For example, a so-called CPU or DSP
It goes without saying that the configuration may be realized by executing software that performs the above-described operation using. For example, the input controller 61a, the control adjuster 62, the output controller 63a, etc.
May be realized by executing software.

【0094】次に、第5の実施例として、図12を参照
しつつエレメントブロックの他の構成例について説明す
る。なお、先に、図2において示された構成要素と同一
のものについては、同一の符号を付して、その詳細な説
明は省略し、以下、異なる点を中心に説明することとす
る。なお、以下の説明においては、図12に示された構
成のエレメントブロックを「エレメントブロック100
b」と便宜的に称する。この実施例においては、出力タ
イミングの調整のためのタイマ(図12においては「Tim
er」と表記)512が新たに設けられた構成となってい
る点が、図2に示された構成例と異なるものである。
Next, as a fifth embodiment, another configuration example of the element block will be described with reference to FIG. The same components as those shown in FIG. 2 are denoted by the same reference numerals, and detailed description thereof will be omitted. Hereinafter, different points will be mainly described. In the following description, the element block having the configuration shown in FIG.
b "for convenience. In this embodiment, a timer for adjusting the output timing (“Tim
2 is different from the configuration example shown in FIG. 2 in that a configuration is newly provided.

【0095】まず、この実施例の場合、比較数値書込み
要求コマンドが入力される際、データバス6上には、
「待ち行列の優先順位」とタイマ値が同時に送られてく
るものとする。先に、図2で説明した構成例の場合に
は、比較数値A,Bの書き込みがなされた後、出力コマ
ンドが入力されると、エレメントブロック100は、比
較数値を送出するようになっていたが、この第5の実施
例におけるエレメントブロック100bでは、次述する
ようにタイマ512により、所定の時間経過まで出力停
止状態とされるようになっている。
First, in the case of this embodiment, when a comparative numerical value write request command is input, the data bus 6
It is assumed that the "queue priority" and the timer value are sent at the same time. In the case of the configuration example described above with reference to FIG. 2, when an output command is input after writing of the comparison values A and B, the element block 100 sends the comparison value. However, in the element block 100b according to the fifth embodiment, the output is stopped by the timer 512 until a predetermined time elapses as described below.

【0096】すなわち、比較数値A,Bがそれぞれの比
較数値A用レジスタ504、比較数値B用レジスタ50
5に書き込まれると、コマンド解析器501Bにより、
タイマ512に対してタイマ時間書込信号(図12にお
いて「WR TIM」と表記)がアクティブとされ、比較数値書
込み要求コマンドによりデータバス6へ送られて来たタ
イマ値がタイマ512に設定される。そして、タイマ5
12により、いわゆる時間の計数が開始されると同時
に、コマンド解析器501Bは、出力イネーブル信号を
ネガティブとして、エレメントブロック100bは、出
力停止状態となる。そして、タイマ512において、先
に設定されたタイマ値の時間計数が終了し、タイマ値が
零となると、タイマ512からコマンド解析器501B
へ対して、終了信号(図12においては「EXP」と表記)
がアクティブとされ、その結果、コマンド解析器501
Bは、出力イネーブル信号をアクティブとすることで、
エレメントブロック100bは、出力活性化状態とされ
るようになっている。
That is, the comparison values A and B are stored in the comparison value A register 504 and the comparison value B register 50, respectively.
5 is written by the command analyzer 501B.
A timer time write signal (denoted as “WR TIM” in FIG. 12) is activated for the timer 512, and the timer value sent to the data bus 6 by the comparison numerical value write request command is set in the timer 512. . And timer 5
At the same time, the command analyzer 501B sets the output enable signal to negative, and the element block 100b enters the output stop state. When the timer 512 finishes counting the time of the previously set timer value and the timer value becomes zero, the timer 512 outputs a command to the command analyzer 501B.
To the end signal (denoted as “EXP” in FIG. 12)
Is activated, and as a result, the command analyzer 501
B activates the output enable signal,
The element block 100b is set to an output activated state.

【0097】このような機能を付加することの意義は、
出力可能な時間をタイマ値で規定される時間遅らせるこ
とができると言うことである。この機能は、いわゆるト
ラフィックシェーパに利用できる。トラフィックシェー
パは、希望するトラフィックに整形する装置のことであ
る。例えば、ATMなどでは、ある1本の物理回線を複
数のバーチャルコネクションが利用する。この場合、各
バーチャルコネクション毎に、トラフィックを管理し、
また、必要に応じてトラフィックの整形を行う。
The significance of adding such a function is as follows.
That is, the time that can be output can be delayed by the time specified by the timer value. This function can be used for a so-called traffic shaper. A traffic shaper is a device that shapes desired traffic. For example, in an ATM or the like, a certain physical line is used by a plurality of virtual connections. In this case, traffic is managed for each virtual connection,
It also shapes traffic as needed.

【0098】例えば、1秒に1つのデータブロックを送
る場合と、5秒おきに5つ続けてデータプロックを送る
場合とでは、比較的長いタイムスパンで両者を比較した
場合には、データ転送レートは実質的に同じであるが、
極短いタイムスパンで両者を比較すると、5つ続けてデ
ータブロックを送る場合には、一時期に多くのトラフィ
ックが流れているということができる。交換機やスイッ
チでは、しばしばこのようにいわゆるバースト的になっ
たデータブロックの集合を、所定の間隔をもって送出し
直す機能が必要になる。上述したエレメントブロック1
00bは、この機能の実現に適するものである。すなわ
ち、比較値書き込み要求コマンドの出力の際、タイマ5
12の時間計数値が零になる絶対時間が一定間隔に発生
するようタイマ値を書き込めば、バースト的な入力デー
タブロックを一定間隔で送出することが可能となる。
For example, when one data block is transmitted per second and when five data blocks are transmitted continuously every five seconds, the data transfer rate is determined when both are compared in a relatively long time span. Are substantially the same,
Comparing the two in a very short time span, it can be said that a lot of traffic is flowing at one time when five data blocks are sent in succession. Switches and switches often require a function of retransmitting a set of so-called bursty data blocks at predetermined intervals. Element block 1 described above
00b is suitable for realizing this function. That is, when the comparison value write request command is output, the timer 5
If the timer value is written so that the absolute time at which the time count value of 12 becomes zero occurs at regular intervals, it becomes possible to transmit burst-like input data blocks at regular intervals.

【0099】次に、第6の実施例として、上述した第5
の実施例のように出力タイミングの調整のためのタイマ
機能を有するエレメントブロック100bの他の構成例
について、図13を参照しつつ説明する。なお、先に、
図2又は図12において示された構成要素と同一のもの
については、同一の符号を付して、その詳細な説明は省
略し、以下、異なる点を中心に説明することとする。ま
た、以下のの説明においては、図13に示された構成の
エレメントブロックを「エレメントブロック100c」
と便宜的に称する。この第6の実施例は、先の図12に
示されたタイマ512に代えて、比較数値D用レジスタ
513を設けた点が図12に示された構成例と異なるも
のである。すなわち、この実施例においては、比較数値
書込み要求コマンドでデータバス6上に、先の第5の実
施例におけるタイマ値に代えて、絶対時間が送出される
ようにし、これが、比較数値D用レジスタ513に書き
込まれるようになっている。
Next, as a sixth embodiment, the fifth embodiment will be described.
Another configuration example of the element block 100b having a timer function for adjusting the output timing as in the embodiment of the present invention will be described with reference to FIG. Please note that
The same components as those shown in FIG. 2 or FIG. 12 are denoted by the same reference numerals, and detailed description thereof will be omitted. Hereinafter, different points will be mainly described. In the following description, the element block having the configuration shown in FIG.
For convenience. This sixth embodiment is different from the configuration example shown in FIG. 12 in that a comparative value D register 513 is provided instead of the timer 512 shown in FIG. That is, in this embodiment, an absolute time is transmitted on the data bus 6 in response to the comparison value write request command on the data bus 6 in place of the timer value in the fifth embodiment. 513.

【0100】一方、コマンド解析器501Bは、公知・
周知の手段を用いて実時間が認識できるようになってお
り、比較数値D用レジスタ513の値と、現在の時間と
の比較ができるようになっている。そして、コマンド解
析器501Bは、現在の時間が比較数値D用レジスタ5
13に書き込まれた時刻となるまで、出力イネーブル信
号をネガティブとし、各比較値(比較数値A,B,C)
の送出を停止する一方、比較数値D用レジスタ513の
値と現実の時間とが一致したと判定されると、出力イネ
ーブル信号をアクティブとして、各比較値を送出できる
ようになっている。
On the other hand, the command analyzer 501B is a publicly-known command analyzer.
The real time can be recognized using a known means, and the value of the register 513 for comparison value D can be compared with the current time. Then, the command analyzer 501B stores the current time in the register 5 for the comparison numerical value D.
Until the time at which the data is written to No. 13, the output enable signal is set to be negative and each comparison value (comparison value A, B, C)
Is stopped, and when it is determined that the value of the comparison value D register 513 matches the actual time, the output enable signal is activated and each comparison value can be transmitted.

【0101】なお、上述した何れの実施例においても、
何れのエレメントブロック100(図2参照),100
a(図7参照),100b(図12参照),100c
(図13参照)も、アドレスデコーダ502を有し、ブ
ロックセレクション信号が入力された際、予め設定され
ているブロックIDと一致するか否かの判定及びいわゆ
る一斉同報の状態であるかの判定がなされるようにし、
ブロックセレクション信号で指定される所定のエレメン
トブロックが選択されるようにしたが、必ずしもこのよ
うな構成とする必要はない。すなわち、例えば、図1及
び図2に示された例で言えば、エレメントブロック11
〜1nの数に応じて、各エレメントブロックを選択する
ための信号を送信するための専用の配線を設け、これを
コマンド解析器501へ接続する。そして、選択を所望
するエレメントブロックのコマンド解析器501に接続
された配線に所定のレベルの信号を印加し、コマンド解
析器501では、その所定レベルが検出された場合、当
該エレメントブロックが選択されていると認識するよう
にしてもよいものである。このような構成とすること
で、アドレスデコーダ502を不要とすることができ
る。なお、エレメントブロックを選択するための構成と
しては、上述のような構成に限らず、複数の素子の中か
ら所望する素子を選択するための技術として公知・周知
の技術により種々構成し得るものである。
In any of the above-described embodiments,
Which element block 100 (see FIG. 2), 100
a (see FIG. 7), 100b (see FIG. 12), 100c
(See FIG. 13) also has an address decoder 502, and when a block selection signal is input, it is determined whether or not it matches a preset block ID and whether or not it is in a so-called broadcast state. Is done,
Although a predetermined element block specified by the block selection signal is selected, such a configuration is not necessarily required. That is, for example, in the example shown in FIGS. 1 and 2, the element block 11
A dedicated wiring for transmitting a signal for selecting each element block is provided according to the number of .about.1n, and is connected to the command analyzer 501. Then, a signal of a predetermined level is applied to the wiring connected to the command analyzer 501 of the element block desired to be selected. If the command analyzer 501 detects the predetermined level, the element block is selected. It may be recognized that there is. With such a configuration, the address decoder 502 can be eliminated. The configuration for selecting an element block is not limited to the configuration described above, and may be variously configured by a known / known technology as a technology for selecting a desired element from a plurality of elements. is there.

【0102】最後に、上述した各実施例では、外部から
入力される指令として、比較数値書込み要求コマンド、
総出力コマンド、条件付き出力コマンド、出力機能停止
コマンド、出力機能活性化コマンドといったコマンドを
定義し、かつ、これらのコマンドがコマンドバス上に転
送され、各エレメントブロックに送られる例を種々示し
たが、これは一つの形態に過ぎず、このようなコマンド
を用いることに限定される必要はない。すなわち、例え
ば、比較数値書込み要求信号、総出力信号、条件付き出
力信号、出力機能停止信号、出力機能活性化信号といっ
た信号を、エレメントブロックに直接入力するような構
成でも全く同様な機能を実現することができるものであ
る。
Finally, in each of the above-described embodiments, a command to write a comparative numerical value,
Commands such as a total output command, a conditional output command, an output function stop command, and an output function activation command are defined, and various examples have been given in which these commands are transferred on a command bus and sent to each element block. , This is only one form and need not be limited to using such commands. That is, for example, a completely similar function is realized by a configuration in which signals such as a comparison numerical value write request signal, a total output signal, a conditional output signal, an output function stop signal, and an output function activation signal are directly input to the element block. Is what you can do.

【0103】[0103]

【発明の効果】以上、述べたように、本発明によれば、
データに付加される情報の一つである第1の識別値と、
その入力の古さを示すカウンタ値とを、ブロック識別番
号毎に、管理するような構成とすることで、従来と異な
り、第1の識別値が取り得る最大値に対応した数の記憶
手段、記憶素子を必要とすることがなくなるので、回路
規模が回線数やポート数、バーチャルコネクションやバ
ーチャルパスの数等に依存せず、比較的簡易な構成で大
量のデータ処理が可能な待ち行列装置を提供することが
できる。また、最優先選択手段により、第1の識別値と
して最優先のものが選択されるように構成することで、
セルやパケットの順序保証が確保される待ち行列装置を
提供することができる。さらに、特に、請求項6乃至請
求項13記載の発明においては、上記効果に加え、第2
の識別値を用いるようにしたので、この第2の識別値
を、例えば、出力ポートの識別に用いた場合には、出力
ポートに接続される外部装置の動作状態によっては、当
該外部装置向けのデータを待ち行列から一時的に外すと
いうようなことが可能となり、簡易な構成で、効率のよ
いデータ処理を行うことができ、経済性の良好な待ち行
列装置を提供することができる。
As described above, according to the present invention,
A first identification value, which is one of information added to the data,
A counter value indicating the oldness of the input is managed for each block identification number, so that unlike the related art, the number of storage means corresponding to the maximum value that the first identification value can take, Since there is no need for storage elements, a queuing device that can process a large amount of data with a relatively simple configuration does not depend on the number of lines and ports, the number of virtual connections and virtual paths, etc. Can be provided. Also, by configuring the highest priority selection means to select the first identification value as the first identification value,
It is possible to provide a queuing device that guarantees the order of cells and packets. Further, in particular, in the inventions according to claims 6 to 13, in addition to the above effects, the second aspect
Since the second identification value is used for identification of an output port, for example, if the second identification value is used for identification of an output port, the second identification value may be used for the external device depending on the operation state of the external device connected to the output port. It is possible to temporarily remove data from the queue, and it is possible to perform efficient data processing with a simple configuration and provide a queue device with good economy.

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

【図1】本発明の第1の実施例における待ち行列装置の
構成例を示す構成図である。
FIG. 1 is a configuration diagram illustrating a configuration example of a queuing device according to a first embodiment of the present invention.

【図2】図1に示された待ち行列装置に用いられるエレ
メントブロックの構成例を示す構成図である。
FIG. 2 is a configuration diagram showing a configuration example of an element block used in the queuing device shown in FIG. 1;

【図3】図1に示された待ち行列装置に用いられるブロ
ックIDセレクタの構成例を示す構成図である。
FIG. 3 is a configuration diagram showing a configuration example of a block ID selector used in the queuing device shown in FIG. 1;

【図4】図3に示されたブロックIDセレクタに用いら
れるブロックIDセレクタサブモジュールの構成例を示
す構成図である。
FIG. 4 is a configuration diagram showing a configuration example of a block ID selector submodule used for the block ID selector shown in FIG. 3;

【図5】本発明の第2の実施例における待ち行列装置の
構成例を示す構成図である。
FIG. 5 is a configuration diagram illustrating a configuration example of a queuing device according to a second embodiment of the present invention.

【図6】図5に示された待ち行列装置の動作例における
ブロックID、比較数値A用レジスタ及び比較数値B用
レジスタの各値の変化を説明する説明図である。
FIG. 6 is an explanatory diagram for explaining changes in respective values of a block ID, a register for a comparison value A, and a register for a comparison value B in an operation example of the queuing device shown in FIG. 5;

【図7】本発明の第3の実施例におけるエレメントブロ
ックの構成例を示す構成図である。
FIG. 7 is a configuration diagram illustrating a configuration example of an element block according to a third embodiment of the present invention.

【図8】図7に示されたエレメントブロックに用いられ
るブロックIDセレクタサブモジュールの構成例を示す
構成図である。
8 is a configuration diagram showing a configuration example of a block ID selector sub-module used for the element block shown in FIG. 7;

【図9】図8に示された比較器Cの構成例を示す構成図
である。
9 is a configuration diagram illustrating a configuration example of a comparator C illustrated in FIG. 8;

【図10】本発明の第4の実施例における待ち行列装置
の構成例を示す構成図である。
FIG. 10 is a configuration diagram illustrating a configuration example of a queuing device according to a fourth embodiment of the present invention.

【図11】図10に示された待ち行列装置の動作例にお
けるブロックID、比較数値A用レジスタ、比較数値B
用レジスタ及び比較数値C用レジスタの各値の変化を説
明する説明図である。
11 shows a block ID, a register for a comparative value A, and a comparative value B in the operation example of the queuing device shown in FIG.
FIG. 6 is an explanatory diagram for explaining changes in respective values of a register for comparison and a register for comparison numerical value C.

【図12】本発明の第5の実施例におけるエレメントブ
ロックの構成例を示す構成図である。
FIG. 12 is a configuration diagram showing a configuration example of an element block according to a fifth embodiment of the present invention.

【図13】本発明の第6の実施例におけるエレメントブ
ロックの構成例を示す構成図である。
FIG. 13 is a configuration diagram illustrating a configuration example of an element block according to a sixth embodiment of the present invention.

【図14】従来の待ち行列装置の一構成例を示す構成図
である。
FIG. 14 is a configuration diagram showing one configuration example of a conventional queuing device.

【図15】従来の待ち行列装置の他の構成例を示す構成
図である。
FIG. 15 is a configuration diagram showing another configuration example of a conventional queuing device.

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

2…カウンタモジュール(第1の実施例) 2a…カウンタモジュール(第4の実施例) 3…ブロックIDセレクタ(第1の実施例) 3a…ブロックIDセレクタ(第4の実施例) 61…入力制御器(第1の実施例) 61a…入力制御器(第4の実施例) 63…出力制御器(第1の実施例) 63a…出力制御器(第4の実施例) 64…入力用アドレス発生器 65…出力用アドレス発生器 66…データバッファ 501…コマンド解析器(第1の実施例) 501A…コマンド解析器(第3の実施例) 502…アドレスデコーダ 503…ブロックIDレジスタ 504…比較数値A用レジスタ 505…比較数値B用レジスタ 510…比較数値C用レジスタ 513…比較数値D用レジスタ 2 ... Counter module (first embodiment) 2a ... Counter module (fourth embodiment) 3 ... Block ID selector (first embodiment) 3a ... Block ID selector (fourth embodiment) 61 ... Input control Unit (first embodiment) 61a Input controller (fourth embodiment) 63 Output controller (first embodiment) 63a Output controller (fourth embodiment) 64 Input address generation Device 65: Output address generator 66: Data buffer 501: Command analyzer (first embodiment) 501A: Command analyzer (third embodiment) 502: Address decoder 503: Block ID register 504: Comparative numerical value A Register 505: Register for comparison value B 510: Register for comparison value C 513: Register for comparison value D

Claims (18)

【特許請求の範囲】[Claims] 【請求項1】 外部から第1の指令と共に入力される第
1の識別値の取り得る最大値に対応した数のカウンタを
有し、前記第1の指令が入力された場合、当該第1の指
令と共に入力された第1の識別値に対応するカウンタの
値をカウンタ値として出力すると共に、当該カウンタの
カウンタ値を一つ進める計数手段と、 予め設定された複数のブロック識別番号毎に記憶領域を
有し、外部から指令と共に入力される第1の識別値と、
前記計数手段からのカウンタ値とを、前記指令に応じ
て、所定のブロック識別番号で指定される記憶領域に記
憶する一方、前記指令に応じて、前記ブロック識別番
号、第1の識別値及びカウンタ値を出力する識別情報記
憶手段と、 前記識別情報記憶手段から入力された複数のブロック識
別番号、第1の識別値及びカウンタ値の中から、前記第
1の識別値が最優先を示す予め定められた値を有するも
のを選択し、最優先を示す第1の識別値の数が一つであ
る場合には、当該第1の識別値と共にブロック識別番号
及びカウンタ値を出力する一方、選択された第1の識別
値の数が複数ある場合には、その中で、カウンタ値が予
め定めた最優先値を示すものを選択し、当該カウンタ値
と共に、ブロック識別番号及び第1の識別値を出力する
最優先選択手段とを具備し、 前記識別情報記憶手段は、第1の指令が入力された場
合、この第1の指令と共に外部入力されたブロック識別
番号と一致する記憶領域に、第1の識別値及びカウンタ
値を記憶し、 第2の指令が入力された場合、全てのブロック識別番号
に対応する記憶領域の第1の識別値及びカウンタ値を対
応するブロック識別番号と共に出力し、 第3の指令が入力された場合、前記記憶領域に記憶され
た各第1の識別値と、前記第3の指令と共に入力された
第1の識別値との大小関係が前記第3の指令によって規
定される大小関係に該当する前記記憶領に記憶された第
1の識別値を選択し、当該第1の識別値と共にブロック
識別番号及びカウンタ値を出力することを特徴とする待
ち行列装置。
1. A counter having a number corresponding to the maximum possible value of a first identification value input together with a first command from the outside, and when the first command is input, the first counter Counting means for outputting the value of the counter corresponding to the first identification value input together with the command as a counter value and incrementing the counter value of the counter by one, and a storage area for each of a plurality of preset block identification numbers A first identification value input together with a command from outside,
The counter value from the counting means is stored in a storage area designated by a predetermined block identification number according to the command, while the block identification number, the first identification value, and the counter are stored according to the command. Identification information storage means for outputting a value; and a plurality of block identification numbers, a first identification value, and a counter value input from the identification information storage means, wherein the first identification value has a highest priority. If the number having the given value is selected and the number of the first identification values indicating the highest priority is one, the block identification number and the counter value are output together with the first identification value, and the selected value is selected. If there are a plurality of first identification values, a counter value indicating a predetermined highest priority value is selected from among them, and the block identification number and the first identification value are set together with the counter value. Highest priority selection to output Means for storing, when a first command is input, a first identification value and a counter in a storage area corresponding to a block identification number externally input together with the first command. When the second command is inputted, the first discriminating value and the counter value of the storage area corresponding to all the block discriminating numbers are output together with the corresponding block discriminating numbers, and the third command is inputted. In this case, the magnitude relationship between each of the first identification values stored in the storage area and the first identification value input together with the third command is a magnitude relationship defined by the third command. A queuing device for selecting a first identification value stored in the storage area and outputting a block identification number and a counter value together with the first identification value.
【請求項2】 識別情報記憶手段は、記憶領域がブロッ
ク識別番号が予め付与された複数のエレメントブロック
から構成されてなり、 前記エレメントブロックは、 外部から第1の識別値が書き込まれ、保存される第1の
記憶手段と、 外部からカウンタ値が書き込まれ、保存される第2の記
憶手段と、 予め定められたブロック識別番号が保持されるブロック
識別番号記憶手段と、 外部からの指令に基づいて、前記第1の記憶手段へ第1
の識別値を、前記第2の記憶手段路へカウンタ値を、そ
れぞれ書き込む書込制御手段と、 外部からの指令に基づいて、前記第1乃び第2の記憶手
段並びにブロック識別番号記憶手段から各々に保持され
た値を出力させる出力制御手段と、 外部からの指令に基づいて、外部から入力された値と前
記第1の記憶手段に保持された値とを比較し、所定の比
較条件に該当する前記第1の記憶手段の値を、前記第2
の記憶手段及びブロック識別番号記憶手段にそれぞれ保
持されている値と共に出力させる判定出力手段と、 を具備してなることを特徴とする請求項1記載の待ち行
列装置。
2. The identification information storage means, wherein a storage area is composed of a plurality of element blocks to which a block identification number is previously assigned, wherein the element blocks are written and stored with a first identification value from outside. A first storage unit, a second storage unit in which a counter value is written and stored from the outside, a block identification number storage unit in which a predetermined block identification number is stored, To the first storage means.
Write control means for writing the discrimination value of the counter value to the second storage means path, and the first and second storage means and the block identification number storage means based on an external command. Output control means for outputting the value held in each of them; and comparing a value input from the outside with a value held in the first storage means based on a command from the outside, and satisfying a predetermined comparison condition. The value of the corresponding first storage means is stored in the second storage unit.
2. The queuing device according to claim 1, further comprising: a judgment output unit for outputting the data together with the values held in the storage unit and the block identification number storage unit.
【請求項3】 識別情報記憶手段は、記憶領域がブロッ
ク識別番号が予め付与された複数のエレメントブロック
から構成されてなり、 前記エレメントブロックは、 外部から第1の識別値が書き込まれ、保存される第1の
レジスタと、 外部からカウンタ値が書き込まれ、保存される第2のレ
ジスタと、 予め定められたブロック識別番号が保持されるブロック
IDレジスタと、 外部から入力された指令に応じて前記第1及び第2のレ
ジスタ並びにブロックIDレジスタに対する制御を行う
コマンド解析器とを具備してなり、 前記コマンド解析器は、 第1の指令が入力され、かつ、外部から指定されたブロ
ック識別番号が一致する場合、前記第1のレジスタに対
して外部入力された第1の識別値が、前記第2のレジス
タに対して外部入力されたカウンタ値が、それぞれ書き
込まれるようにし、 第2の指令が入力され、かつ、外部から指定されたブロ
ック識別番号が一致する場合、前記第1及び第2のレジ
スタ並びに前記ブロックIDレジスタに各々保持されて
いる値が出力されるようにし、 第3の指令が入力され、かつ、外部から指定されたブロ
ック識別番号が一致する場合、前記第3の指令と共に入
力された第1の識別値と前記第1のレジスタの値とが、
第3の指令で規定される大小関係を満たすか否かを判定
し、満たすと判定される場合、前記第1及び第2のレジ
スタ並びに前記ブロックIDレジスタに各々保持されて
いる値が出力されるようにしてなるものであることを特
徴とする請求項1記載の待ち行列装置。
3. The identification information storage means has a storage area composed of a plurality of element blocks to which a block identification number is assigned in advance, wherein the element blocks are written and stored with a first identification value from outside. A first register, a second register in which a counter value is externally written and stored, a block ID register in which a predetermined block identification number is held, and a second register in accordance with a command input from outside. A command analyzer for controlling the first and second registers and the block ID register, wherein the command analyzer receives a first command and outputs a block identification number designated from the outside. If they match, the first identification value externally input to the first register is externally input to the second register. Counter values are written, and when a second command is input and the block identification numbers specified from the outside match, the values are held in the first and second registers and the block ID register, respectively. If the third command is input and the block identification number specified from the outside matches, the first identification value input together with the third command and the first identification value are output. The register value of 1 is
It is determined whether or not the magnitude relation defined by the third command is satisfied. If it is determined that the magnitude relation is satisfied, the values held in the first and second registers and the block ID register are output. The queuing device according to claim 1, wherein the queuing device is configured as described above.
【請求項4】 エレメントブロックは、外部から入力さ
れたタイマ値に対応する時間計数を行うタイマを有し、 当該タイマは、コマンド解析器により出力されるタイマ
時間書込信号に応じて、タイマ値の設定と同時に時間計
数を開始する一方、前記設定されたタイマ値に対応する
時間計数がなされた際に、コマンド解析器へ対して終了
信号を出力し、 コマンド解析器は、前記タイマ時間書込信号の出力と共
に、第1のレジスタ、第2のレジスタ及びブロックID
レジスタに各々保持された値の外部への出力を禁止する
一方、前記タイマからの終了信号の入力がなされると同
時に、第1のレジスタ、第2のレジスタ及びブロックI
Dレジスタに各々保持された値の外部への出力を可能と
することを特徴とする請求項3記載の待ち行列装置。
4. The element block has a timer for counting a time corresponding to a timer value input from the outside, and the timer is configured to generate a timer value in response to a timer time write signal output by a command analyzer. While the time counting is started simultaneously with the setting of the above, when the time counting corresponding to the set timer value is performed, an end signal is output to the command analyzer, and the command analyzer writes the timer time. The first register, the second register and the block ID together with the output of the signal
While the output of the value held in each register to the outside is inhibited, the end signal is input from the timer, and at the same time, the first register, the second register, and the block I
4. The queuing device according to claim 3, wherein the values held in the D registers can be output to the outside.
【請求項5】 外部入力される書き込み用のアドレス信
号にしたがって、外部入力されるデータを書き込み、記
憶する一方、外部入力される読み出し用のアドレス信号
にしたがって、記憶されているデータを出力するデータ
記憶手段と、 外部入力されるアドレス初期値に基づいて、前記データ
記憶手段へのデータ書き込みの際の、アドレスの初期値
を決定して出力すると共に、外部入力されるアドレス計
数信号が所定の状態とされる度毎にアドレス値を一つ進
めて出力する入力用アドレス発生手段と、 外部入力されるアドレス初期値に基づいて、前記データ
記憶手段からのデータ読み出しの際の、アドレスの初期
値を決定して出力すると共に、外部入力されるアドレス
計数信号が所定の状態とされる度毎にアドレス値を一つ
進めて出力する出力用アドレス発生手段と、 外部入力される指令、データ及びデータの付加情報並び
に最優先選択手段からのブロック識別番号を基に、エレ
メントブロックへ対してブロック識別番号、指令及びデ
ータの付加情報を出力する一方、最優先選択手段からの
ブロック識別番号を基に、前記入力用アドレス発生手段
へ対するアドレス初期値を決定して、出力すると共に、
外部からのデータの入力状態に応じて前記入力用アドレ
ス発生手段へ対してアドレス計数信号を出力し、さら
に、前記データ記憶手段に対して外部入力されたデータ
を出力する入力制御手段と、 最優先選択手段からのブロック識別番号を基に、前記出
力用アドレス発生手段へ対するアドレス初期値を決定し
て、出力する一方、前記データ記憶手段から出力される
データを読み込み、当該データの送出先から、データの
読み込みが可能な状態にあることを示す出力データ読込
信号が所定の状態で入力されると、当該データを出力す
る出力制御手段と、 を具備してなることを特徴とする請求項1、請求項2、
請求項3または請求項4記載の待ち行列装置。
5. Data for writing and storing externally input data in accordance with an externally input write address signal and outputting stored data in accordance with an externally input read address signal. A memory means for determining and outputting an initial address value when writing data to the data storage means based on an externally input address initial value; Input address generating means for advancing the address value by one each time the data is read, and an initial address value for reading data from the data storage means based on an externally input address initial value. In addition to determining and outputting, each time the externally input address count signal is brought into a predetermined state, the address value is advanced by one and output. A block identification number, a command and data additional information to the element block based on the externally input command, data and additional information of the data and the block identification number from the highest priority selection means. On the other hand, based on the block identification number from the highest priority selecting means, an address initial value for the input address generating means is determined and output,
An input control means for outputting an address count signal to the input address generation means in accordance with an input state of data from the outside, and further outputting externally input data to the data storage means; Based on the block identification number from the selection means, determine and output an address initial value for the output address generation means, while reading data output from the data storage means, from the destination of the data, An output control means for outputting, when an output data read signal indicating that data is ready to be read in a predetermined state, outputs the data. Claim 2,
The queuing device according to claim 3.
【請求項6】 外部から第1の指令と共に入力される第
1の識別値及び第2の識別値のそれぞれが取り得る最大
値の数の積に対応した数のカウンタを有し、前記第1の
指令が入力された場合、当該第1の指令と共に入力され
た第1の識別値及び第2の識別値とで定められる対応す
る前記カウンタの値をカウンタ値として出力すると共
に、当該カウンタのカウンタ値を一つ進める計数手段
と、 予め設定された複数のブロック識別番号毎に記憶領域を
有し、外部から指令と共に入力される第1の識別値及び
第2の識別値と、前記計数手段からのカウンタ値とを、
前記指令に応じて、所定のブロック識別番号で指定され
る記憶領域に記憶する一方、前記指令に応じて、前記ブ
ロック識別番号、第1の識別値、第2の識別値及びカウ
ンタ値を出力する識別情報記憶手段と、 前記識別情報記憶手段から入力された複数のブロック識
別番号、第1の識別値、第2の識別値及びカウンタ値の
中から、第1の識別値、第2の識別値及びカウンタ値に
基づいて、最優先となるものを選択し、そのブロック識
別番号、第1の識別値、第2の識別値及びカウンタ値を
出力する最優先選択手段とを具備し、 前記識別情報記憶手段は、第1の指令が入力された場
合、この第1の指令と共に外部入力されたブロック識別
番号と一致する記憶領域に、第1の識別値、第2の識別
値及びカウンタ値を記憶し、 第2の指令が入力された場合、全てのブロック識別番号
に対応する記憶領域の第1の識別値、第2の識別値及び
カウンタ値を対応するブロック識別番号と共に出力し、 第3の指令が入力された場合、前記記憶領域に記憶され
た各第1の識別値と、前記第3の指令と共に入力された
第1の識別値との大小関係が前記第3の指令によって規
定される大小関係に該当する前記記憶領に記憶された第
1の識別値を選択し、当該第1の識別値と共に第2の識
別値、ブロック識別番号及びカウンタ値を出力すること
を特徴とする待ち行列装置。
6. A counter having a number corresponding to a product of the maximum number of possible values of a first identification value and a second identification value input together with a first command from the outside, Is output as a counter value corresponding to the first identification value and the second identification value input together with the first instruction, and the counter of the counter is input. A counting means for advancing the value by one; a first identification value and a second identification value having a storage area for each of a plurality of block identification numbers set in advance and input together with an instruction from outside; And the counter value of
In response to the command, the information is stored in a storage area designated by a predetermined block identification number, and the block identification number, the first identification value, the second identification value, and the counter value are output in response to the command. An identification information storage unit, a first identification value, a second identification value from a plurality of block identification numbers, a first identification value, a second identification value, and a counter value input from the identification information storage unit. And a highest priority selecting means for selecting the highest priority based on the counter value and outputting a block identification number, a first identification value, a second identification value, and a counter value of the identification information. When the first command is input, the storage means stores the first identification value, the second identification value, and the counter value in a storage area corresponding to the block identification number externally input together with the first command. And the second command is input In the case, the first identification value, the second identification value, and the counter value of the storage area corresponding to all the block identification numbers are output together with the corresponding block identification numbers, and when a third command is input, the storage area is output. The magnitude relationship between each of the first identification values stored in the storage unit and the first identification value input together with the third command is stored in the storage area corresponding to the magnitude relationship defined by the third command. A queuing device that selects the first identification value thus output and outputs a second identification value, a block identification number, and a counter value together with the first identification value.
【請求項7】 最優先選択手段は、識別情報記憶手段か
ら入力された複数のブロック識別番号、第1の識別値、
第2の識別値及びカウンタ値の中から、前記第1の識別
値が最優先を示す予め定められた値を有するものを選択
し、最優先を示す第1の識別値の数が一つである場合に
は、当該第1の識別値と共に第2の識別値、ブロック識
別番号及びカウンタ値を出力する一方、選択された第1
の識別値の数が複数ある場合には、その中で、第2の識
別値が最優先を示す値を有するものを選択し、当該選択
された第2の識別値が一つである場合には、当該第2の
識別値と共に第1の識別値、ブロック識別番号及びカウ
ンタ値を出力する一方、当該選択された第2の識別値が
複数ある場合には、その中で、カウンタ値が最も古い入
力であることを示すものを選択し、その第1の識別値、
第2の識別値、カウンタ値及びブロック識別番号を出力
することを特徴とする請求項6記載の待ち行列装置。
7. A high-priority selection means, comprising: a plurality of block identification numbers input from the identification information storage means; a first identification value;
From the second identification value and the counter value, the one in which the first identification value has a predetermined value indicating the highest priority is selected, and the number of the first identification values indicating the highest priority is one. In some cases, the second identification value, the block identification number, and the counter value are output together with the first identification value, while the selected first identification value is output.
In the case where there are a plurality of identification values, the one in which the second identification value has the value indicating the highest priority is selected, and when the selected second identification value is one, Outputs the first identification value, the block identification number, and the counter value together with the second identification value. If there are a plurality of the selected second identification values, the counter value Select the one that indicates the old input, its first identification value,
7. The queuing device according to claim 6, wherein a second identification value, a counter value, and a block identification number are output.
【請求項8】 最優先選択手段は、識別情報記憶手段か
ら入力された複数のブロック識別番号、第1の識別値、
第2の識別値及びカウンタ値の中から、前記第1の識別
値が最優先を示す予め定められた値を有するものを選択
し、最優先を示す第1の識別値の数が一つである場合に
は、当該第1の識別値と共に第2の識別値、ブロック識
別番号及びカウンタ値を出力する一方、選択された第1
の識別値の数が複数ある場合には、それらを無作為に選
択し、その度毎に、第1の識別値、第2の識別値、ブロ
ック識別番号及びカウンタ値を出力することを特徴とす
る請求項6記載の待ち行列装置。
8. The highest priority selecting means includes a plurality of block identification numbers input from the identification information storage means, a first identification value,
From the second identification value and the counter value, the one in which the first identification value has a predetermined value indicating the highest priority is selected, and the number of the first identification values indicating the highest priority is one. In some cases, the second identification value, the block identification number, and the counter value are output together with the first identification value, while the selected first identification value is output.
When there are a plurality of identification values, the first and second identification values, the second identification value, the block identification number, and the counter value are selected at random, and each time they are selected, 7. The queuing device of claim 6, wherein:
【請求項9】 識別情報記憶手段は、記憶領域がブロッ
ク識別番号が予め付与された複数のエレメントブロック
から構成されてなり、 前記エレメントブロックは、 外部から第1の識別値が書き込まれ、保存される第1の
記憶手段と、 外部からカウンタ値が書き込まれ、保存される第2の記
憶手段と、 外部から第2の識別値が書き込まれ、保存される第3の
記憶手段と、 予め定められたブロック識別番号が保持されるブロック
識別番号記憶手段と、 外部からの指令に基づいて、前記第1の記憶手段へ第1
の識別値を、前記第2の記憶手段路へカウンタ値を、前
記第3の記憶手段に第2の識別値を、それぞれ書き込む
書込制御手段と、 外部からの指令に基づいて、前記第1乃至第3の記憶手
段並びにブロック識別番号記憶手段から各々に保持され
た値を出力させる出力制御手段と、 外部からの指令に基づいて、外部から入力された値と前
記第1の記憶手段に保持された値とを比較し、所定の比
較条件に該当する前記第1の記憶手段の値を、前記第2
及び第3の記憶手段並びにブロック識別番号記憶手段に
それぞれ保持されている値と共に出力させる判定出力手
段と、 を具備してなることを特徴とする請求項6、請求項7ま
たは請求項8記載の待ち行列装置。
9. The identification information storage means has a storage area composed of a plurality of element blocks to which a block identification number has been previously assigned, wherein the element block has a first identification value written and stored from outside. A first storage unit, a second storage unit in which a counter value is written and stored from the outside, a third storage unit in which a second identification value is written and stored from the outside, A block identification number storage unit for storing the block identification number, and a first storage unit based on an external command.
Writing control means for writing a counter value to the second storage means path and a second identification value to the third storage means, respectively; and Output control means for outputting the values held respectively from the third storage means and the block identification number storage means, and the values input from the outside and stored in the first storage means based on an external command. And compares the value of the first storage unit corresponding to a predetermined comparison condition with the value of the second storage unit.
9. A judgment output means for outputting together with a value stored in each of the third storage means and the block identification number storage means, and a judgment output means. Queuing device.
【請求項10】 外部からの指令に基づいて、出力制御
手段による第1乃至第3の記憶手段並びにブロック識別
番号記憶手段の各々に保持された値の出力を所定期間禁
止すると共に、判定出力手段による第1乃至第3の記憶
手段並びにブロック識別番号記憶手段にそれぞれ保持さ
れている値の出力を所定期間禁止する強制出力禁止手段
を設けたことを特徴とする請求項9記載の待ち行列装
置。
10. In accordance with an external command, output of a value held in each of the first to third storage means and the block identification number storage means by the output control means is inhibited for a predetermined period, and the judgment output means is inhibited. 10. The queuing device according to claim 9, further comprising a forced output prohibiting unit for prohibiting the output of the values held in the first to third storage units and the block identification number storage unit for a predetermined period.
【請求項11】 識別情報記憶手段は、記憶領域がブロ
ック識別番号が予め付与された複数のエレメントブロッ
クから構成されてなり、 前記エレメントブロックは、 外部から第1の識別値が書き込まれ、保存される第1の
レジスタと、 外部からカウンタ値が書き込まれ、保存される第2のレ
ジスタと、 外部から第2の識別値が書き込まれ、保存される第3の
レジスタと、予め定められたブロック識別番号が保持さ
れるブロックIDレジスタと、 外部から入力された指令に応じて前記第1乃至第3のレ
ジスタ並びにブロックIDレジスタに対する制御を行う
コマンド解析器とを具備してなり、 前記コマンド解析器は、 第1の指令が入力され、かつ、外部から指定されたブロ
ック識別番号が一致する場合、前記第1のレジスタに対
して外部入力された第1の識別値が、前記第2のレジス
タに対して外部入力されたカウンタ値が、第3のレジス
タに足して外部入力された第2の識別値が、それぞれ書
き込まれるようにし、 第2の指令が入力され、かつ、外部から指定されたブロ
ック識別番号が一致する場合、前記第1乃至第3のレジ
スタ並びに前記ブロックIDレジスタに各々保持されて
いる値が出力されるようにし、 第3の指令が入力され、かつ、外部から指定されたブロ
ック識別番号が一致する場合、前記第3の指令と共に入
力された第1の識別値と前記第1のレジスタの値とが、
第3の指令で規定される大小関係を満たすか否かを判定
し、満たすと判定される場合、前記第1乃至第3のレジ
スタ並びに前記ブロックIDレジスタに各々保持されて
いる値が出力されるようにしてなるものであることを特
徴とする請求項6、請求項7または請求項8記載の待ち
行列装置。
11. An identification information storage means, wherein a storage area is composed of a plurality of element blocks to which a block identification number has been previously assigned, wherein the element block has a first identification value written from outside and stored. A first register, a second register in which a counter value is written and stored from outside, a third register in which a second identification value is written and stored from outside, and a predetermined block identification. A block ID register that holds a number, and a command analyzer that controls the first to third registers and the block ID register according to a command input from the outside. When the first command is input and the block identification numbers specified from the outside match, the external input to the first register is performed. The first identification value obtained is added to the counter value externally input to the second register, and the second identification value externally input to the third register is written. When the command of No. 2 is input and the block identification numbers specified from the outside match, the values held in the first to third registers and the block ID register are output, and When the instruction of No. 3 is input and the block identification numbers specified from the outside match, the first identification value input together with the third instruction and the value of the first register are:
It is determined whether or not the magnitude relation defined by the third command is satisfied. If it is determined that the magnitude relation is satisfied, the values held in the first to third registers and the block ID register are output. 9. The queuing device according to claim 6, wherein the queuing device is configured as described above.
【請求項12】 コマンド解析器は、第4の指令が入力
されと、第5の指令が入力されるまでの間、第1及び第
2のレジスタ並びにブロックIDレジスタに各々保持さ
れている値の出力を禁止することを特徴とする請求項1
1記載の待ち行列装置。
12. When the fourth command is input, the command analyzer determines the value of the value held in each of the first and second registers and the block ID register until the fifth command is input. 2. The output is prohibited.
The queuing device of claim 1.
【請求項13】 外部入力される書き込み用のアドレス
信号にしたがって、外部入力されるデータを書き込み、
記憶する一方、外部入力される読み出し用のアドレス信
号にしたがって、記憶されているデータを出力するデー
タ記憶手段と、 外部入力されるアドレス初期値に基づいて、前記データ
記憶手段へのデータ書き込みの際の、アドレスの初期値
を決定して出力すると共に、外部入力されるアドレス計
数信号が所定の状態とされる度毎にアドレス値を一つ進
めて出力する入力用アドレス発生手段と、 外部入力されるアドレス初期値に基づいて、前記データ
記憶手段からのデータ読み出しの際の、アドレスの初期
値を決定して出力すると共に、外部入力されるアドレス
計数信号が所定の状態とされる度毎にアドレス値を一つ
進めて出力する出力用アドレス発生手段と、 外部入力される指令、データ及びデータの付加情報並び
に最優先選択手段からのブロック識別番号を基に、エレ
メントブロックへ対してブロック識別番号、指令及びデ
ータの付加情報を出力する一方、最優先選択手段からの
ブロック識別番号を基に、前記入力用アドレス発生手段
へ対するアドレス初期値を決定して、出力すると共に、
外部からのデータの入力状態に応じて前記入力用アドレ
ス発生手段へ対してアドレス計数信号を出力し、さら
に、前記データ記憶手段に対して外部入力されたデータ
を出力する入力制御手段と、 複数の出力ポートを有し、当該複数の出力ポートに接続
された外部装置から、当該外部装置がデータの取り込み
ができない状態であることに対応するイネーブル信号が
所定の状態で入力されたと判定された場合には、当該出
力ポートに対する出力を禁止する一方、前記外部装置か
ら、当該外部装置がデータの取り込み可能な状態である
ことに対応するイネーブル信号が所定の状態で入力され
たと判定された場合には、最優先選択手段からのブロッ
ク識別番号を基に、前記出力用アドレス発生手段へ対す
るアドレス初期値を決定して、出力する一方、前記デー
タ記憶手段から出力されるデータを読み込み、最優先選
択手段からの第2の識別値に基づいて決定される出力ポ
ートから当該データを出力する出力制御手段と、 を具備してなることを特徴とする請求項6、請求項7、
請求項8、請求項9、請求項10、請求項11または請
求項12記載の待ち行列装置。
13. An externally input data is written according to an externally input write address signal,
Data storage means for outputting stored data in accordance with an externally input read address signal; and writing data to the data storage means based on an externally input address initial value. Input address generating means for determining and outputting an initial value of an address, and advancing an address value by one each time an externally input address count signal is brought into a predetermined state; The address initial value is determined and output at the time of reading data from the data storage means based on the address initial value to be read out from the data storage means. An output address generation means for advancing the value by one, and an externally input command, data, additional information of the data, and Based on the lock identification number, the block identification number, the command and the additional information of the data are output to the element block. Determine the value and output it,
An input control means for outputting an address count signal to the input address generation means in accordance with an input state of data from the outside, and further outputting externally input data to the data storage means; When it is determined that an external device connected to the plurality of output ports has an output port and that an enable signal corresponding to a state in which the external device cannot capture data is input in a predetermined state. While prohibiting output to the output port, from the external device, when it is determined that an enable signal corresponding to a state in which the external device is capable of capturing data is input in a predetermined state, On the basis of the block identification number from the highest priority selection means, an address initial value for the output address generation means is determined and output, Output control means for reading data output from the data storage means and outputting the data from an output port determined based on a second identification value from the highest priority selection means. Claim 6, Claim 7,
The queuing device according to claim 8, claim 9, claim 10, claim 11, or claim 12.
【請求項14】 第3の指令により規定される、当該第
3の指令と共に入力された第1の識別値と、識別情報記
憶手段に記憶されている複数の第1の識別値との大小関
係は、当該第3の指令と共に入力された第1の識別値
と、識別情報記憶手段に記憶されている複数の第1の識
別値とが等しいとするものであることを特徴とする請求
項1、請求項2、請求項3、請求項4、請求項5、請求
項6、請求項7、請求項8、請求項9、請求項10、請
求項11、請求項12または請求項13記載の待ち行列
装置。
14. A magnitude relationship between a first identification value defined by a third instruction and input together with the third instruction and a plurality of first identification values stored in the identification information storage means. 2. The method according to claim 1, wherein the first identification value input together with the third command is equal to a plurality of first identification values stored in the identification information storage means. , Claim 2, Claim 3, Claim 4, Claim 5, Claim 6, Claim 7, Claim 8, Claim 9, Claim 10, Claim 11, Claim 12, or Claim 13. Queuing device.
【請求項15】 第3の指令に規定される、当該第3の
指令と共に入力された第1の識別値と、識別情報記憶手
段に記憶されている複数の第1の識別値との大小関係
は、当該第3の指令と共に入力された第1の識別値より
識別情報記憶手段に記憶されている複数の第1の識別値
が大とするものであることを特徴とする請求項1、請求
項2、請求項3、請求項4、請求項5、請求項6、請求
項7、請求項8、請求項9、請求項10、請求項11、
請求項12または請求項13記載の待ち行列装置。
15. A magnitude relation between a first identification value defined together with the third command and input to the third command and a plurality of first identification values stored in the identification information storage means. Wherein the plurality of first identification values stored in the identification information storage means are larger than the first identification value input together with the third command. Claim 2, Claim 3, Claim 4, Claim 5, Claim 6, Claim 7, Claim 8, Claim 9, Claim 10, Claim 11,
The queuing device according to claim 12 or claim 13.
【請求項16】 第3の指令に規定される、当該第3の
指令と共に入力された第1の識別値と、識別情報記憶手
段に記憶されている複数の第1の識別値との大小関係
は、当該第3の指令と共に入力された第1の識別値より
識別情報記憶手段に記憶されている複数の第1の識別値
が小とするものであることを特徴とする請求項1、請求
項2、請求項3、請求項4、請求項5、請求項6、請求
項7、請求項8、請求項9、請求項10、請求項11、
請求項12または請求項13記載の待ち行列装置。
16. A magnitude relation between a first identification value defined together with the third command and input to the third command and a plurality of first identification values stored in the identification information storage means. 2. The method according to claim 1, wherein the plurality of first identification values stored in the identification information storage means are smaller than the first identification value input together with the third command. Claim 2, Claim 3, Claim 4, Claim 5, Claim 6, Claim 7, Claim 8, Claim 9, Claim 10, Claim 11,
The queuing device according to claim 12 or claim 13.
【請求項17】 外部入力される指令は、その指令内容
に応じた所定のディジタルコードで表現されたコマンド
であることを特徴とする請求項1、請求項2、請求項
3、請求項4、請求項5、請求項6、請求項7、請求項
8、請求項9、請求項10、請求項11、請求項12、
請求項13、請求項14、請求項15または請求項16
記載の待ち行列装置。
17. The method according to claim 1, wherein the command inputted externally is a command represented by a predetermined digital code corresponding to the contents of the command. Claim 5, Claim 6, Claim 7, Claim 8, Claim 9, Claim 10, Claim 11, Claim 12,
Claim 13, Claim 14, Claim 15, or Claim 16
A queuing device as described.
【請求項18】 外部入力される指令は、その指令内容
に応じたアナログ信号であることを特徴とする請求項
1、請求項2、請求項3、請求項4、請求項5、請求項
6、請求項7、請求項8、請求項9、請求項10、請求
項11、請求項12、請求項13、請求項14、請求項
15または請求項16記載の待ち行列装置。
18. The method according to claim 1, wherein the externally input command is an analog signal corresponding to the content of the command. The queuing device according to claim 7, claim 8, claim 9, claim 9, claim 10, claim 11, claim 12, claim 13, claim 14, claim 15, or claim 16.
JP5131298A 1998-02-18 1998-02-18 Queue device Pending JPH11234302A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5131298A JPH11234302A (en) 1998-02-18 1998-02-18 Queue device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5131298A JPH11234302A (en) 1998-02-18 1998-02-18 Queue device

Publications (1)

Publication Number Publication Date
JPH11234302A true JPH11234302A (en) 1999-08-27

Family

ID=12883413

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5131298A Pending JPH11234302A (en) 1998-02-18 1998-02-18 Queue device

Country Status (1)

Country Link
JP (1) JPH11234302A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009063536A1 (en) * 2007-11-16 2009-05-22 Netcleus Systems Corporation Task processing device
WO2013175610A1 (en) 2012-05-24 2013-11-28 カーネロンシリコン株式会社 Task processor
US8996761B2 (en) 2007-08-10 2015-03-31 Kernelon Silicon Inc. Virtual queue processing circuit and task processor

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8996761B2 (en) 2007-08-10 2015-03-31 Kernelon Silicon Inc. Virtual queue processing circuit and task processor
US9047120B2 (en) 2007-08-10 2015-06-02 Kernelon Silicon Inc. Virtual queue processing circuit and task processor
WO2009063536A1 (en) * 2007-11-16 2009-05-22 Netcleus Systems Corporation Task processing device
WO2013175610A1 (en) 2012-05-24 2013-11-28 カーネロンシリコン株式会社 Task processor
US9753779B2 (en) 2012-05-24 2017-09-05 Renesas Electronics Corporation Task processing device implementing task switching using multiple state registers storing processor id and task state

Similar Documents

Publication Publication Date Title
US7443836B2 (en) Processing a data packet
US7187688B2 (en) Priority arbitration mechanism
WO1997034394A1 (en) Efficient output-request packet switch and method
US20050149665A1 (en) Scratchpad memory
US7483429B2 (en) Method and system for flexible network processor scheduler and data flow
JP5173712B2 (en) Multithreaded processor
EP0327203B1 (en) NxM arbitrating non-blocking high bandwidth switch
US20100325327A1 (en) Programmable arbitration device and method therefor
US20040148606A1 (en) Multi-thread computer
JP2004515971A (en) Intercommunication preprocessor
US20080155139A1 (en) Queue management mechanism in a network processor
JPH0779234A (en) Re-sequencing device for node of cell change system
JPH11234302A (en) Queue device
US20050041637A1 (en) Method and system for a multi-stage interconnect switch
US6922456B2 (en) Counter system and method
CN105988725B (en) Magnetic disc i/o dispatching method and device
US7350208B1 (en) Method and apparatus for scheduling using a resource variable decreased by amounts corresponding to the efficiency of the resource
CA2145553C (en) Multi-processor system including priority arbitrator for arbitrating request issued from processors
CN102388359A (en) Method and device for remaining signal sequence
CN115269157A (en) Task processing system, method, computer equipment and storage medium
US20040062238A1 (en) Network switching device
US20020108004A1 (en) Enhancement of transaction order queue
US7350015B2 (en) Data transmission device
CN108259382A (en) 3 × 256 priority scheduling circuits
CN107222435B (en) Method and device for eliminating exchange head resistance of message