JPH07235931A - データ待ち行列装置 - Google Patents

データ待ち行列装置

Info

Publication number
JPH07235931A
JPH07235931A JP21295094A JP21295094A JPH07235931A JP H07235931 A JPH07235931 A JP H07235931A JP 21295094 A JP21295094 A JP 21295094A JP 21295094 A JP21295094 A JP 21295094A JP H07235931 A JPH07235931 A JP H07235931A
Authority
JP
Japan
Prior art keywords
data
destination
bit
stage
destination display
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP21295094A
Other languages
English (en)
Other versions
JP3220599B2 (ja
Inventor
Harufusa Kondo
晴房 近藤
Hideaki Yamanaka
秀昭 山中
Masahiko Ishiwaki
昌彦 石脇
Hiromi Notani
宏美 野谷
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP21295094A priority Critical patent/JP3220599B2/ja
Priority to US08/365,637 priority patent/US5649119A/en
Publication of JPH07235931A publication Critical patent/JPH07235931A/ja
Application granted granted Critical
Publication of JP3220599B2 publication Critical patent/JP3220599B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/104Asynchronous transfer mode [ATM] switching fabrics
    • H04L49/105ATM switching elements
    • H04L49/108ATM switching elements using shared central buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3081ATM peripheral units, e.g. policing, insertion or extraction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/40Constructional details, e.g. power supply, mechanical construction or backplane
    • H04L49/405Physical details, e.g. power supply, mechanical construction or backplane of ATM switches
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5638Services, e.g. multimedia, GOS, QOS
    • H04L2012/5646Cell characteristics, e.g. loss, delay, jitter, sequence integrity
    • H04L2012/5651Priority, marking, classes

Abstract

(57)【要約】 【目的】 複数の出力線で検索回路を共用する場合に、
各レイアウトを効率的に配置できるようなデータ待ち行
列装置を提供する。 【構成】 データをシフトするシフトメモリ41〜4k
をシリーズに接続し、シフトメモリ41〜4kのそれぞ
れに対応する宛先表示ビットメモリ511〜5k1,5
12〜5k2,513〜5k3,514〜5k4のそれ
ぞれに隣接するように検索回路61〜64を配置する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明はデータ待ち行列装置に
関して、特に、音声,データ,画像などのマルチメディ
アの種々の情報をブロック化したフレーム構造の情報や
固定長パケットのような有限長のデータを一時的に記憶
し、遅延を与えたりデータ交換を行なったりするときに
用いるデータ交換装置や共通バッファ型のデータ交換装
置のアドレスを制御するためのデータ待ち行列装置に関
する。
【0002】
【従来の技術】ATM通信方式では、たとえば回線信号
や音声のような連続的な信号およびデータや動画像のよ
うなバースト的な信号をすべて固定の長さに分解して、
それに宛先情報などを示したルーティングヘッダを付加
してパケットを作り、同一形式のパケットで情報が転送
される。端末装置と伝送路とはフレームなどの同期が不
要となり、端末装置と伝送路との速度は独立でよいた
め、いかなる端末装置に対しても対応することができ
る。しかし、高速パケットスイッチでは、ランダムにパ
ケットが到着するため、ある瞬間には、1つの宛先に複
数のパケットが殺到することがあり、情報の欠落を防ぐ
ために、パケットの待ち合わせをする必要が生じる。
【0003】この問題に対して、たとえば、文献 Inter
national Conference on Communications,1987, セッシ
ョン22、論文番号2、Jean-Pierre Coudreuse,Michel
Sorvel,“PRELUDE:An Asynchronous Time-Division Sw
itched Network, ”の第5図および第6図には、高速パ
ケットスイッチが提案されている。この文献は、回線交
換データやパケット交換データを効率よく多重および伝
送する非同期転送モード(ATM)通信方式における高
速パケットスイッチに関するものであり、従来のデータ
待ち行列装置は、その制御回路に見ることができる。
【0004】図42は従来のデータ待ち行列装置を含む
高速パケットスイッチを示すブロック図である。図42
において、入力線111〜11mはパケット多重回路1
3にm(m≧2)のデータを入力するものであり、入力
線111〜11mから入力されるパケットは固定長であ
る。パケット多重回路13は入力されたパケットを多重
化するものであり、到着したルーティングヘッダを制御
回路16に与え、パケットをメモリ14に与える。メモ
リ14は指定したアドレスにデータを書込むことが可能
でありかつアドレスを指定することによって書込順とは
無関係にデータを読出すことができる。メモリ14から
読出されたデータはパケット分離回路15に与えられ、
読出したパケットが分離され、出力線121〜12mに
出力される。制御回路16はパケットの交換を制御す
る。
【0005】図43は図42に示した制御回路をより具
体的に示したブロック図である。この制御回路16は、
上述の文献の第10図に記載されているデータ待ち行列
装置を、説明のために簡略化して示したものである。図
43において、制御回路16はヘッダ変換回路17と循
環セレクタ20とを含む。ヘッダ変換回路17は到着パ
ケットのルーティングヘッダから、そのパケットをメモ
リ14に書込むアドレスを決定し、パケットの宛先出力
線121〜12mを判定し、新しいルーティングヘッダ
に変換するものであり、循環セレクタ20は情報順に選
ぶ。データ待ち行列装置18には、入力線1を介してメ
モリ14への書込アドレス信号が入力されるとともに、
宛先指示入力線31〜3mを介してそのパケットの宛先
が入力され、出力線21〜2mを介してアドレスを待ち
合わせした後に出力する。データ待ち行列装置18は、
出力線121〜12mのそれぞれに対応して設けられた
メモリ191〜19mを含む。データ待ち行列装置18
は、到着したパケットの書込アドレス信号を出力線21
〜2mのそれぞれに対応して並べ、待ち行列を作り、出
力線121〜12mごとに到着順にアドレス信号を出力
する。
【0006】図42に示した高速パケットスイッチの複
数の入力線111〜11mに到着したパケットは、パケ
ット多重回路13で多重化され、メモリ14に書込まれ
る。また、到着パケットの宛先情報を含むルーティング
ヘッダは、制御回路16に与えられ、ヘッダ変換回路1
7によって宛先出力線121〜12mのいずれであるか
が判定され、新しいルーティングヘッダに変換される。
また、メモリ14に書込まれたアドレスはデータ待ち行
列装置18によって宛先出力線121〜12mのそれぞ
れに対応する行列に変換される。データ待ち行列装置1
8では、先入れ先出しメモリ(FIFO)191〜19
mが使用される。
【0007】一方、データ待ち行列装置18から読出さ
れたアドレスに従って、メモリ14からパケットが読出
され、パケット分離回路15で分離されて、パケットが
所定の出力線121〜12mに出力される。上述のデー
タ待ち行列装置18の動作によって、入力線111〜1
1m上のパケットが所望の出力線121〜12mに出力
され、パケットの交換が実現される。
【0008】
【発明が解決しようとする課題】従来のデータ待ち行列
装置は、上述のように構成されているので、たとえばメ
モリ14にP個のパケットの書込容量がある場合には、
先入れ先出しメモリ191〜19mでのアドレスの溢れ
による欠落を防ぐためには、1つ当たりP個のアドレス
を保持できる容量を要する。このため、データ待ち行列
装置18全体では、P×m個のアドレス保持容量を要す
ることになり、その結果として装置の規模が大きくなっ
てしまう。
【0009】一方、本願発明者らは、特願平5−252
80号において、データの待ち行列を保持するメモリを
複数個用意する必要はなく、データの待ち行列を保持す
るメモリをすべての出力線で共有化することにより、メ
モリ容量を少なくして装置全体の規模を小さくするとと
もに、メモリ容量を越えることで生じるデータの廃棄率
を下げることが可能なデータ待ち行列装置を提案した。
【0010】それゆえに、この発明の主たる目的は、上
述の提案されたデータ待ち行列装置に鑑み、複数の出力
線で検索回路を共用する場合に、各構成要素を効率的に
配置できるようなデータ待ち行列装置を提供することで
ある。
【0011】この発明の他の目的は、低消費電力化を図
ることのできるようなデータ待ち行列装置を提供するこ
とである。
【0012】
【課題を解決するための手段】請求項1に係る発明で
は、データをシフトしながら保持する複数のデータシフ
ト手段と、それぞれのデータの宛先を示す宛先表示ビッ
トを記憶する宛先表示ビット記憶手段と、宛先表示ビッ
トを検索して検索されたデータを出力する検索手段とを
備えたデータ待ち行列装置において、検索手段は宛先表
示ビット記憶手段に隣接して配置される。
【0013】請求項2に係る発明では、請求項1の宛先
表示ビット記憶手段は、宛先表示ビットをラッチするラ
ッチ手段と、ラッチ手段が宛先表示ビットを保持してい
ないとき、後段からの宛先表示ビットをラッチ手段に保
持させ、前段のラッチ手段が宛先表示ビットを保持して
いないとき、ラッチ手段の宛先表示ビットを前段にシフ
トさせる制御手段とを備えて構成される。
【0014】請求項3に係る発明では、請求項1の検索
手段は、複数の宛先表示ビット記憶手段の中央に沿って
配置される。
【0015】請求項4に係る発明では、複数の宛先表示
ビット記憶手段からの表示ビットを時分割して検索手段
に導くためのバスを含む。
【0016】請求項5に係る発明では、請求項4の検索
手段は各宛先表示ビットをパイプライン処理して検索す
る。
【0017】請求項6に係る発明は、データを保持しな
がらシフトする複数のデータシフト手段と、それぞれの
データの宛先を示す宛先表示ビットを記憶する宛先表示
ビット記憶手段と、宛先表示ビットを検索して検索され
たデータを出力する検索手段を含むデータ待ち行列部を
複数段カスケード接続し、各データ待ち行列部は後段か
らのデータと宛先表示ビットを受け、前段が空いている
ことに応じて、データと宛先表示ビットを出力する。
【0018】請求項7に係る発明では、さらに各データ
待ち行列部のデータ読出し出力を共通接続するバスを含
む。
【0019】請求項8に係る発明では、請求項7のデー
タデータ待ち行列部のうちのk段目以降は検索や読出し
を行なわない先入れ先出しメモリとして用いられる。
【0020】請求項9に係る発明では、k段目以降のデ
ータ待ち行列部は読出し出力をk段目以前のデータ待ち
行列部に与えない。
【0021】請求項10に係る発明では、k段目以降の
データ待ち行列部には有効を示す検索入力信号が与えら
れる。
【0022】請求項11に係る発明では、請求項7の各
段のデータ待ち行列部分の間にシフト動作を停止させる
ためのゲート手段が設けられる。
【0023】請求項12に係る発明では、各段のデータ
待ち行列部の先頭部にデータを入力するためのデータ入
力部を含む。
【0024】請求項13に係る発明では、各段のデータ
待ち行列部のうち、使用されている段のデータ待ち行列
部に対応する検索手段のみを有効化する。
【0025】請求項14に係る発明では、優先度を記憶
するための優先度記憶手段が設けられ、検索手段は優先
度記憶手段に記憶されている優先度と宛先表示ビットの
論理積出力に基づいて検索を行なう。
【0026】請求項15に係る発明では、各段のデータ
待ち行列部のそれぞれに対応してカウンタが設けられ、
カウンタは対応のデータ待ち行列部に優先データが入力
されるごとに加算され、優先データが出力されるごとに
減算され、検索手段は、カウンタの計数値が所定の値に
なったことに応じて検索を行なう。
【0027】請求項16に係る発明では、請求項15の
カウンタは各段のデータ待ち行列部のそれぞれに対応し
て複数の優先度に応じて設けられ、そのカウンタの出力
のうち優先度の高い出力を選択し、その出力と宛先表示
ビットとの論理積を求めて検索手段に与える論理積手段
を含む。
【0028】請求項17に係る発明では、さらに一定の
割合で優先度記憶手段をクリアして低い優先度のデータ
を一定の割合で読出すための手段を含む。
【0029】請求項18に係る発明では、請求項4の各
データ待ち行列部のうち、前段で有効なデータが検出さ
れても、次段で高い優先度の有効なデータが検出された
データ待ち行列部は、前段に無効化信号を送出し、前段
のデータ待ち行列部は保持しているデータの優先度が高
くなかった場合、検出信号の送出を停止する。
【0030】請求項19に係る発明では、請求項18の
前段のデータ待ち行列部は、保持しているデータの優先
度が後段のデータ待ち行列部から与えられる無効化信号
による優先度より低かった場合、検出信号の送出を停止
する。
【0031】請求項20に係る発明では、低い優先度の
データを廃棄するための指令が与えられたことに応じ
て、その指令と優先ビットとの論理積を求めて、データ
待ち行列部のデータをクリアするための論理積手段を含
む。
【0032】請求項21に係る発明では、データが入力
されるごとに加算され、データが出力されるごとに減算
され、所定の計数値になったことに応じて、優先度の低
いデータを廃棄させるためのカウンタを含む。
【0033】請求項22に係る発明では、請求項21の
カウンタはデータ記憶部の各ビットごとに設けられる。
【0034】請求項23に係る発明は、それぞれがデー
タを保持しながらシフトする複数のデータシフト手段
と、それぞれのデータシフト手段に対応して設けられ、
それぞれのデータの宛先を示す宛先表示ビットを記憶す
る宛先表示ビット記憶手段と、宛先表示ビットを検索し
て検索されたデータを出力する検索手段とを備えたデー
タ待ち行列装置において、宛先表示ビットが複数の宛先
表示ビットを単位として複数にグループ化されていて、
データ待ち行列装置は、前段に設けられ、複数のグルー
プごとにデータと宛先表示ビットを出力する前段データ
待ち行列回路と、複数のグループごとに設けられ、前段
の待ち行列回路から出力されたデータと宛先表示ビット
とが与えられる複数の後段データ待ち行列回路とを備え
て構成される。
【0035】請求項24に係る発明は、請求項23の複
数にグループ化された宛先表示ビットは、宛先表示ビッ
トとその宛先表示ビットの属するグループを識別するた
めの表示ビットとを含み、前段のデータ待ち行列回路お
よび後段の複数のデータ待ち行列回路のそれぞれのデー
タシフト手段は、データと宛先表示ビットとを保持する
ためのエリアを含み、宛先表示ビット記憶手段は、表示
ビットに応じてデータシフト手段によってデータと宛先
表示ビットとを保持させるための制御手段を含み、後段
の各データ待ち行列回路のデータシフト手段には、前段
のデータシフト手段から出力されたデータが与えられ、
宛先表示ビットのエリアの入力が接地され、後段の制御
手段は、前段のデータシフト手段から与えられた宛先表
示ビットに応じて前段からのデータを後段のデータシフ
ト手段に保持させる手段を含む。
【0036】請求項25に係る発明では、請求項23の
複数にグループ化された宛先表示ビットは、宛先表示ビ
ットとその宛先表示ビットの属するグループを識別する
ための表示ビットとを含み、データシフト手段と宛先表
示ビット記憶手段は、複数のグループのそれぞれに対応
して設けられていて、さらに各グループに対応する宛先
表示ビットとデータとを対応するデータシフト手段と宛
先表示ビットを記憶手段に与えるアドレスフィルタ手段
とを備えて構成される。
【0037】
【作用】請求項1に係る発明では、検索手段を宛先表示
ビットに隣接して配置することによりレイアウトを効率
化できる。
【0038】請求項2に係る発明では、請求項1の宛先
表示ビット記憶手段はラッチ手段と制御手段とを含み、
ラッチ手段は宛先表示ビットを保持していないとき、後
段からの宛先表示ビットをラッチ手段に保持させ、前段
のラッチ手段が宛先表示ビットを保持していないとき、
ラッチ手段の宛先表示ビットを前段にシフトさせる。
【0039】請求項3に係る発明では、請求項1の検索
手段を複数の宛先表示ビット記憶手段の中央に沿って配
置することにより、レイアウトを効率化できる。
【0040】請求項4に係る発明では、複数の宛先表示
ビット記憶手段からの表示ビットを次分割してバスを介
して検索手段に導く。
【0041】請求項5に係る発明では、請求項4の検索
手段は各宛先表示ビットをパイプライン処理で検索す
る。
【0042】請求項6に係る発明では、複数段のデータ
待ち行列部をカスケード接続し、後段からのデータと宛
先表示ビットを受け、前段が空いていることに応じてデ
ータと宛先表示ビットを出力することにより、データ待
ち行列装置の拡張が可能になる。
【0043】請求項7に係る発明では、各データ待ち行
列部のデータ読出し出力を共通接続されたバスに出力す
る。
【0044】請求項8に係る発明では、複数段のデータ
待ち行列部のうちのk段目(k<N)以降は検索や読出
しを行なわない先入れ先出しメモリとして用いる。
【0045】請求項9に係る発明では、請求項8のk段
目以降のデータ待ち行列部は読出し出力をk段目以前の
データ待ち行列部に与えない。
【0046】請求項10に係る発明では、請求項8のk
段目以降のデータ待ち行列部に有効を示す検索入力信号
を与える。
【0047】請求項11に係る発明では、請求項6の各
段のデータ待ち行列部の間に、ゲート手段を設け、有効
なデータを蓄積していない段のデータ待ち行列部のシフ
ト動作を停止させる。
【0048】請求項12に係る発明では、各段のデータ
待ち行列部の先頭にデータを入力するためのデータ入力
部を設ける。
【0049】請求項13に係る発明では、各段のデータ
待ち行列部のうち、使用されている段のデータ待ち行列
部に対応する検索手段のみを有効化する。
【0050】請求項14に係る発明では、優先度記憶手
段に記憶されている優先度と宛先表示ビットの論理積出
力に基づいて検索を行なう。
【0051】請求項15に係る発明では、データ待ち行
列部に優先データが入力されるごとにカウンタを加算
し、データ待ち行列部から優先データが出力されるごと
にカウンタを減算し、カウンタの計測値が所定の値にな
ったことに応じて検索を行なう。
【0052】請求項16に係る発明では、各段のデータ
待ち行列部のそれぞれに対応して複数の優先度に応じて
カウンタを複数設け、各カウンタの出力のうち優先度の
高い出力を選択し、その出力と宛先表示ビットとの論理
積を求めて検索手段に与える。
【0053】請求項17に係る発明では、一定の割合で
優先度記憶手段をクリアして低い優先度のデータを一定
の割合で読出す。
【0054】請求項18に係る発明では、各データ待ち
行列部のうち、前段で有効なデータが検出されても、次
段で高い優先度の有効なデータが検出された待ち行列部
から前段に無効化信号を送出し、保持しているデータの
優先度が高くなった場合に、前段のデータ待ち行列部か
ら検出信号の送出を停止する。
【0055】請求項19に係る発明では、保持している
データの優先度が後段のデータ待ち行列部から与えられ
る無効化信号による優先度より低い場合に検出信号の送
出を停止する。
【0056】請求項20に係る発明では、低い優先度の
データを廃棄するための指令が与えられたことに応じ
て、その指令と優先ビットとの論理積を求めてデータ待
ち行列部のデータをクリアする。
【0057】請求項21に係る発明では、対応のデータ
待ち行列部にデータが入力されるごとにカウンタを加算
し、データが出力されるごとにカウンタを減算し、所定
の計数値になったことに応じて優先度の低いデータを廃
棄する。
【0058】請求項22に係る発明では、データシフト
手段の各ビットごとにカウンタを設ける。
【0059】請求項23に係る発明では、複数の宛先表
示ビットを単位として複数のグループ化し、データ待ち
行列回路を階層化し、前段のデータ待ち行列回路が複数
のグループごとにデータと宛先表示ビットを後段のデー
タ待ち行列回路に出力し、前段の待ち行列回路から出力
されたデータと宛先表示ビットを各グループごとに出力
する。
【0060】請求項24に係る発明では、宛先表示ビッ
トとその宛先表示ビットの属するグループを識別するた
めの表示ビットとを設け、前段のデータシフト手段でデ
ータと宛先表示ビットとを保持し、前段の制御手段を表
示ビットに応じてデータと宛先表示ビットとをデータシ
フト手段に保持させ、後段の制御手段は前段のデータシ
フト手段から与えられた宛先表示ビットに応じて前段か
らのデータを後段のデータシフト手段に保持させる。
【0061】請求項25に係る発明では、宛先表示ビッ
トとその宛先表示ビットの属するグループを識別するた
めの表示ビットとを設け、前段のアドレスフィルタ手段
によって各グループごとに宛先表示ビットとデータとを
後段のデータ待ち行列回路に出力する。
【0062】
【実施例】図1は前述の特願平5−25280号に開示
されたデータ待ち行列装置を示すブロック図である。図
1において、入力線1は有限長のデータを入力するもの
であり、入力されたデータはシフトメモリ4kに与えら
れる。シフトメモリ4kは入力線1に与えたデータを順
次前段にシフトする。各シフトメモリ41,42…4k
のそれぞれに対応して、宛先表示ビットメモリ511〜
5kmが設けられる。たとえば、宛先表示ビットメモリ
512はシフトメモリ41に記憶されているデータが出
力線22を宛先としているか否かを1ビットの情報で示
している。また、他の例で、たとえば宛先表示ビットメ
モリ5kmはシフトメモリ4kに記憶されているデータ
が出力線2mを宛先としているか否かを示している。出
力線21,22,23…2mに対応して検索回路61,
62,63…6mが設けられる。たとえば、検索回路6
1は宛先表示ビットメモリ511,521…5k1に接
続されている。セレクタ71,72,73…7mは出力
線21,22,…2mに対応して設けられている。たと
えば、セレクタ71は出力線21に対応して、シフトメ
モリ41〜41kから検索回路61の指示に従って、該
当するデータを選択して出力線21に出力する。
【0063】図2〜図4は図1の各部のタイミングを示
すタイムチャートであり、入力線1の本数が1本,出力
線21〜2mの本数mが4本で、シフトメモリ41〜4
kの個数kが6個である場合の各部の状態の変化を示し
ている。
【0064】図2〜図4では、(a)が横軸方向に時間
の流れをタイムスロット単位に示しており、(b)は入
力線1に入力されるデータの一例を示し、(c)は入力
データの宛先を示す宛先指示入力34,33,32,3
1をこの順で示している。(d)〜(o)は、シフトメ
モリ41〜46と宛先表示ビットメモリ511〜564
の各タイムスロットの状態の一例を示している。また、
(p)〜(s)は出力線21〜24に出力されるデータ
を示している。
【0065】入力線1に入力されるデータは有限長の情
報であり、たとえば定められた固定時間に対して区切目
を持つフレーム構造の情報や固定長のアドレス情報や固
定長パケットのようなものである。図2〜図4では、固
定長の時間を定義し、説明のため、タイムスロット1か
ら順に番号をふり、時刻を定義している。また、図2〜
図4では、単位タイムスロットには、1つのデータが到
着するものとしている。
【0066】タイムスロット1以前には、データが到着
していないか、あるいはデータが到着し出力されてから
十分な時間が経過し、内部のシフトメモリ41〜46に
はデータが存在していない例を示している。また、デー
タはタイムスロット1,2,3,4,6,7,8にそれ
ぞれ1つずつ到着している。さらに、図2〜図4は、出
力線21〜24の読出しが、4タイムスロットごとにま
とめて行なわれる場合を示していて、実際にはタイムス
ロット4およびタイムスロット8でデータが読出されて
いる。
【0067】データが入力線1から入力すると同時に、
宛先指示入力31〜34から宛先情報が入力される。た
とえば、入力されたデータが出力線24を宛先とする場
合、宛先指示入力34が有意状態となっている。図2〜
図4では、有意ビット“1”としているので、このとき
入力される宛先指示入力34,33,32,31は、
1,0,0,0となっている。タイムスロット1では、
出力線24宛のデータaがタイムスロット2では、出力
線21宛のデータbが入力されている。今、タイムスロ
ット1ではシフトメモリ46が空いているため、入力デ
ータaはすぐにシフトする。このとき、宛先指示入力3
1〜34は、宛先表示ビット564〜561に取込まれ
る。
【0068】同様にして、タイムスロット2では、シフ
トメモリ45が空いているため、データaがシフトし、
空いたシフトメモリ46には入力したデータbがシフト
してくる。データaがシフトメモリ46から45へシフ
トすると同時に、元の宛先表示ビットメモリ564〜5
61は、次のシフトメモリ45に対応した宛先表示ビッ
トメモリ554〜551へシフトされる。
【0069】次に、出力線21〜24へのデータの読出
しについて説明する。図2には、タイムスロット4でデ
ータをまとめて出力する例を示している。タイムスロッ
ト4でデータを出力するために、タイムスロット4の初
めで、検索回路61〜64は出力すべきデータの検索を
行なう。もし、対応する宛先表示ビットメモリ511〜
564の中にそれぞれ有意ビットがあれば、それが対応
するセレクタ71〜74に通知される。セレクタ71〜
74は、通知のあったシフトメモリ41〜46から1つ
を選択し、データをそれぞれ出力線21〜24に出力す
る。たとえば、出力線21に出力するデータを検索する
のは、検索回路61であり、宛先表示ビットメモリ51
1,521,531,541,551,561の内容が
この順番で読取られ、この中から有意ビット“1”が探
し出される。もし、その中に有意ビットがあれば、セレ
クタ71に通知される。セレクタ71は、図1では6個
のものから1つを選択するセレクタであり、検索回路6
1の指示に従って、6個のシフトメモリ41〜46から
1つを選択し、該当データを出力線216に出力する。
【0070】上述の出力線21にデータを出力させるた
めの動作は、他の出力線22〜24のそれとは独立であ
るので、同時にかつ別々に動作が可能である。検索回路
61〜64によって検索された宛先表示ビットメモリ5
11〜564は、検索の結果、選択されると有意ビット
が消される。また、データが読出されたシフトメモリ4
1〜46は、そのデータが消去される。もし、そのシフ
トメモリ41〜46の後段にデータがあれば、後ろから
シフトされる。
【0071】次に、図2〜図4を参照して、より詳細な
動作について説明する。図2のタイムスロット1〜タイ
ムスロット4においては、データa,b,c,dがそれ
ぞれ入力され、入力されたデータa,b,c,dは、入
力された順にシフトメモリ41〜4kに記憶され、シフ
トされる。タイムスロット4においては、前述のごとく
出力線21〜24へのデータの読出しが行なわれる。
【0072】以下、図2の例で、タイムスロット4にお
いて、出力線21に出力されるデータについて具体的に
説明する。タイムスロット4において、検索回路61は
宛先表示ビットメモリ511,521,531,54
1,551,561の内容をこの順番で読取る。この値
は、それぞれ0,0,0,0,1,1である。この中か
ら有意ビット“1”をこの順番で探すと宛先表示ビット
メモリ551の内容が該当するので、これがセレクタ7
1に通知される。セレクタ71は検索回路61の指示に
従って、6個のシフトメモリ41〜46から45を選択
し、データbを出力線21に出力する。データbが出力
線21に出力されると、タイムスロット4でデータbが
存在していたシフトメモリ45が空き、図3に示すタイ
ムスロット5で後段にあったデータcがシフトメモリ4
5にシフトしてくる。また、データcに付随して、宛先
表示ビットメモリ564,563,562,561の情
報も宛先表示ビットメモリ554,553,552,5
51にシフトしてくる。同様にして、出力線24にはデ
ータaが出力される。
【0073】また、出力線22に該当する宛先表示ビッ
トメモリ512,522,532,542,552,5
62は0,0,0,0,0,0と有意ビットがないた
め、検索回路62は出力するデータがないことをセレク
タ72に通知する。そのため、出力線22からはデータ
は出力されない。同様にして、出力線23からも出力さ
れるデータはない。
【0074】タイムスロット5においては、データが入
力されないため、タイムスロット5におけるデータが空
きのまま順にシフトされる。さらに、タイムスロット6
〜タイムスロット8においては、データe,f,gが順
に入力される。入力されたデータはシフトメモリに記憶
されてシフトされる。
【0075】タイムスロット8においては、前述したよ
うに出力線へのデータの読出しが行なわれる。この場合
には、出力線21に出力するデータとして、検索回路6
1がデータcを検索する。また、出力線22に出力され
るデータとして、検索回路62がデータeを検索する。
これら検索されたデータcとデータeは、それぞれの出
力線に出力される。出力線23および出力線24に関し
ては、宛先表示ビットに有意ビットがないため、検索回
路63および検索回路64は、出力データがないことを
判断する。したがって、出力線23および出力線24に
はデータは出力されない。次に、タイムスロット9〜タ
イムスロット11においては、入力線からデータが入力
されない。この場合には、既にシフトメモリに記憶され
ているデータが順次シフトされる。また、図4に示すタ
イムスロット10では、データdがシフトメモリ41中
に存在しているが、シフトメモリ41は最終段であるの
で、データdはこれ以上シフトできずに、タイムスロッ
ト11でもシフトメモリ41中に存在している。このデ
ータdは、タイムスロット12において、検索回路61
によって出力線21に出力するデータであると検索さ
れ、セレクタ71によって出力線21に出力される。上
述の例では、入力したデータをすべてシフトメモリ46
に書込むことができたが、すべてのシフトメモリ41〜
46にデータが存在する場合にはデータを書込むことが
できないので、このデータは廃棄される。
【0076】図5はこの発明の一実施例のブロック図で
ある。前述の図1に示した例では、回路が3次元的に描
かれている。しかし、図1に示した回路を2次元的な集
積回路へ実現しようとした場合、何らかの工夫が必要と
なる。3次元集積回路などの技術もあるが、現時点で複
数層にわたって、アクティブな回路ブロックを低価格で
実現したものは見当たらないため、2次元で効率よく実
現する必要がある。
【0077】そこで、この発明の一実施例では、図5に
示すように、宛先表示ビットメモリ511〜5k1に隣
接して検索回路61が設けられ、宛先表示ビットメモリ
512〜5k2に隣接して検索回路62が設けられ、宛
先表示ビットメモリ513〜5k3に隣接して検索回路
63が設けられ、宛先表示ビットメモリ514〜5k4
に隣接して検索回路64が配置される。このように配置
することによって、宛先表示ビットと検索回路のブロッ
ク間の配線が他に影響を与えることがないという利点が
ある。さらに、宛先表示ビットと検索回路の組合わせの
レイアウト配置を宛先表示ビット分繰返せばよく、レイ
アウトの作業効率がよくなるという利点がある。
【0078】図6は図5に示した検索回路の具体的な回
路図である。検索回路61には、宛先表示ビットメモリ
511〜5k1から宛先表示ビットが与えられ、これら
の宛先表示ビットは4入力ORゲート62に与えられる
とともに、ORゲート631〜634とNANDゲート
639〜642のそれぞれの一方入力端に与えられる。
ORゲート631の他方入力端には、前段からORチェ
イン信号が与えられる。ORゲート632〜634に
は、前の段のORゲートの出力が与えられる。さらに、
ORゲート631〜634の出力はEXORゲート63
5〜638の一方入力端に与えられ、他方入力端には前
段のORゲートの出力信号が与えられる。NANDゲー
ト639〜642の他方入力端にはEXORゲート63
5〜638の出力信号が与えられる。
【0079】図6に示した検索回路61は、宛先表示ビ
ットメモリ511〜5k1にラッチされている宛先表示
ビットが図6において右方向にシフトするに従って、O
Rゲート631〜634の出力もほぼ同時に変化し、E
XORゲート635〜638およびNANDゲート63
9〜642の出力もそれに従って変化する。シフト動作
後はほぼシフト終了と同時に、宛先表示ビットの中で最
も前方に位置する“1”の位置が選択位置として負論理
で得られることになる。つまり、図6に示した検索回路
によれば、検索時間はほぼ0となる。また、読出し動作
が生じて選択されていたステージの宛先表示ビットがク
リアされると、たとえば以下に示すキャリイ伝搬が生じ
る。
【0080】 (読出し前) 宛先表示ビット 1001000100000000 ORチェイン出力 後1111111100000000前 選択出力 1111111011111111 (読出し後) 宛先表示ビット 100100000000000 ORチェイン出力 後1111000000000000前 選択出力 11111111111111 上述の宛先表示ビット,ORチェイン出力,選択出力の
うちアンダーライン部分が変化したところである。
【0081】図6に示したNANDゲート639〜64
2は、万一クリア後の時間経過が不十分なときに次の読
出し動作を行なってしまった場合、間違った遷移中の箇
所を選択することのないように宛先表示ビットと論理積
を取って選択している。このように、宛先表示ビットご
とに検索回路61を設けると、クロック同期の検索回路
ではなく、宛先表示ビットメモリ511〜5k1に直結
した回路を使うことにより、検索にかかる時間を見かけ
上見えなくできる。
【0082】図7は図5に示したシフトメモリと宛先表
示ビットメモリをシフトさせるためのC素子の一例を示
すブロック図であり、図8は図7に示したラッチの具体
的な回路図であり、図9は図7に示したC素子の具体的
な回路図である。図5に示したシフトメモリ41と宛先
表示ビットメモリ511は、図7に示すようにラッチ回
路によって構成されており、R1〜Rnはラッチ回路C
素子510によってシフト制御される。すなわち、前段
にデータをシフトするときには、前段に転送要求信号R
EQoが出力され、前段のラッチが空いていれば、転送
許可信号ACKiがC素子510に与えられる。また、
後段から転送要求信号REQiが与えられると、C素子
510はシフトメモリ41および宛先表示ビットメモリ
511が空であれば、後段に対して転送許可信号ACK
o出力する。
【0083】図7に示したラッチR1〜RnとC素子は
それぞれ図8および図9に示すように構成される。すな
わち、ラッチR1は、インバータ101,104,10
5および106とpチャネルトランジスタ102とnチ
ャネルトランジスタ103とを含む。C素子510から
“H”レベルのLE信号がnチャネルトランジスタ10
3のゲートに与えられるとともに、インバータ101で
反転されてpチャネルトランジスタ102のゲートに与
えられると、これらのトランジスタが導通し、データが
インバータ104と105とからなるラッチ回路にラッ
チされ、そのラッチ出力がインバータ106を介して出
力される。
【0084】また、C素子510はNORゲート111
とRSフリップフロップ112,113とインバータ1
14とORゲート115と遅延回路116〜118とを
含む。
【0085】上述のラッチR1とC素子510について
は、たとえば“An Elastic Pipeline Mechanism by Sel
f-Timed Circuits”IEEE JOURNAL OF SOLID-STATE CIRC
UITS,Vol.23,No.1,1998 年2月に詳細に記載されている
ため、ここではその説明を省略する。
【0086】図10はこの発明の他の実施例のシステム
ブロック図であって、検索回路を共用した例を示し、図
11は図10に示した検索回路と宛先表示ビットメモリ
の具体的な配置例を示す図である。
【0087】図10において、宛先表示ビットメモリ5
11〜5k4はそれぞれ検索回路60に共通に接続さ
れ、この検索回路60によって宛先表示ビットメモリ5
11〜5k4の宛先表示ビットの検索が行なわれる。こ
の場合、すべて宛先表示ビットメモリ512〜5k4の
上を配線が複数通過することになる。一般に配線本数が
増加すると、レイアウト面積が段数方向に大きくなり、
多くの段数を並べて配置する場合には、その影響を無視
できない。これを少しでも解消する方法として、図11
に示すように、検索回路60を、この検索回路60が受
持つ複数の出力線の中央に配置する。この図11に示し
た例では、宛先表示ビットのレイアウトセルの上を通過
する配線の本数を図10に比べて半分にでき、かつ宛先
表示ビットメモリから検索回路60までの配線の最長距
離も半分になり、動作速度の面でも、あるいは寄生容量
も半減するので、消費電力の面でも有利となる。
【0088】図12は宛先表示ビットメモリを、バスを
介して検索回路に接続した例を示す図であり、図13は
図12に示した動作手順を説明するための図である。
【0089】図12に示すように、縦列の宛先表示ビッ
トメモリ511〜514,521〜524,531〜5
34,5k1〜5k4がそれぞれバス201〜20kを
介して検索回路61に接続される。これは、各宛先表示
ビットメモリ511〜514…から検索回路61への接
続を1本の配線を共用することによって順次データ転送
できるため、各段(以下、ステージと称する)の段方向
のレイアウトを小さくできるという利点がある。すなわ
ち、検索回路61は宛先表示ビットメモリ511〜5k
4の宛先表示ビットを基にして、最も先頭(データを入
力する側を後ろとして、データのシフト転送されて行く
先を先頭と称する)から順にデータを検索していき、最
も先頭に近い位置にある有効ビット(正論理であれば1
が有効であり、負論理であれば逆であり、そのステージ
の宛先表示ビットの宛先が検索している出力行であった
場合、宛先表示ビットの内容は「有効」となっている)
を検索する。通常検索には1サイクル以上かかるが、検
索対象が広がれば、つまり待ち行列の規模が増大すれば
検索にかかる時間も増大する。
【0090】図12に示した実施例の動作は図13に示
すようになる。すなわち、たとえば#nとして宛先表示
ビットメモリ511の宛先表示ビットが検索回路61に
転送され、検索回路61によって検索が行なわれている
間、#n+1として宛先表示ビットメモリ512の宛先
表示ビットが検索回路61に転送され、#nの検査およ
び選択が終了して読出しが行なわれている間、#n+1
の検索および選択が行なわれる。このように、検索回路
61への宛先表示ビットの転送,検索動作,選択動作お
よび読出し動作を並列に実行可能であるため、これらを
パイプライン処理することにより検索回路61に転送す
る時間をマスクでき、高速化を達成できるという利点が
ある。
【0091】図14は図12に示したバスと各宛先表示
ビットメモリとの接続関係を示す図である。図14にお
いて、宛先表示ビットメモリ511は、図8に示した構
成に加えて、ラッチR1の出力がそのゲートに与えられ
るnチャネルトランジスタ231とセレクト信号がその
ゲートに与えられるnチャネルトランジスタ221とを
含む。nチャネルトランジスタ221のソースはnチャ
ネルトランジスタ231のドレインに接続され、nチャ
ネルトランジスタ231のソースは接地される。nチャ
ネルトランジスタ221のドレインはバス201に接続
され、バス201はpチャネルトランジスタ210のド
レインに接続され、pチャネルトランジスタ210のゲ
ートにはプリチャージ信号が与えられ、ソースは電源ラ
インに接続される。バス201は検索回路61に含まれ
るインバータ601の入力に接続される。インバータ6
01の出力はインバータ602を介してラッチ603に
接続される。ラッチ603の出力は図6に示したORゲ
ート631の一方入力端に接続される。他の宛先表示ビ
ットメモリ512〜514も同様にして構成される。
【0092】次に図15を参照して、図14の動作につ
いて説明する。pチャネルトランジスタ210のゲート
に“L”レベルのプリチャージ信号が与えられると、こ
のpチャネルトランジスタ210が導通する。応じて、
バス201は図15(a)に示すように電源電位にプリ
チャージされる。そして、セレクト信号がnチャネルト
ランジスタ221のゲートに与えられると、このnチャ
ネルトランジスタ221がオンする。ラッチR1から図
15(b)に示すように、“H”レベルのデータが出力
されると、nチャネルトランジスタ231が導通し、図
15(c)に示すようなデータがバス201に出力され
る。
【0093】一方、検索回路61のインバータ601は
バス201に出力されたデータを受け、インバータ60
2を介してラッチ603にそのデータをラッチさせる。
以下、前述の図6に示したように、検索動作が行なわれ
る。
【0094】図16はデータ待ち行列装置をカスケード
接続した例を示すブロック図である。この図16に示し
た実施例は、同じデータ待ち行列装置300と301と
をカスケード接続し、転送要求信号REQと転送許可信
号ACKのやり取りによる待ち行列間のデータの転送と
検索結果の前方から後方への転送を実現することによ
り、拡張が可能となる。図16に示すデータ入力は図1
の入力線に対応し、データ出力は出力線に対応する。こ
の実施例では、後段から転送要求信号REQがデータ待
ち行列装置300に入力され、転送許可信号ACKを後
段に伝えると、データが入力され、データ待ち行列装置
300からカスケード出力を介して前段のデータ待ち行
列装置301に伝達される。一方、検索入力は前段のデ
ータ待ち行列装置からデータ待ち行列装置301に与え
られ、後段のデータ待ち行列装置300に転送される。
すなわち、検索信号はデータ入力の流れとは逆に伝達さ
れる。
【0095】図16に示した実施例において、あまり多
くのデータ待ち行列装置をカスケード接続した場合、検
索に必要な時間が、その段数に比例して長くなるという
欠点がある。これを解消するために、たとえば、N段の
カスケード接続を行なっている場合、k(k<N)段目
以降はデータ待ち行列装置を単なるFIFOとして用い
ればよい。
【0096】図17はそのような例を示すブロック図で
ある。図17に示した例は、k段目のデータ待ち行列装
置302をFIFOとして用い、後段のデータ待ち行列
装置301に接続されている。この例では、FIFOと
して用いるデータ待ち行列装置302の検索入力は接地
され、前段のデータ待ち行列装置301から検索出力が
与えられない。これによって、キューのトータル長さが
大きく取れかつ検索範囲を限定したために、これによる
データの検索時間がキューのトータル長に比例して長く
かかるというデメリットを解消することができる。
【0097】データ待ち行列装置302の検索入力を接
地することにより、検索入力信号が負論理であるとする
と、検索入力を接地することは、それより前で読出すべ
きデータが発見されたことを示すので、k段目は読出し
動作を行なわない。
【0098】図18は前述の特願平5−25280号に
記載された他の実施例を示すブロック図である。この図
18は以下の点を除いて図1と同様にして構成される。
すなわち、シフトメモリ41〜4kに対応してシフト検
出回路81〜8kが設けられる。このシフト検出回路8
1〜8kは宛先表示ビットメモリ511〜5kmの中の
対応するm個の宛先表示ビットがすべて有意でないこと
を検出すると、後段のシフトメモリ41〜4kにシフト
を行なわすものである。たとえば、シフト検出回路82
は2番目のシフトメモリ42に対応して設けられたもの
であるが、対応する宛先表示ビットメモリ521,52
2,…52mがすべて有意でないことを検出すると、後
段のシフトメモリ43にシフトを促す。
【0099】図19〜図21は図18の動作を説明する
ためのタイムチャートである。図19〜図21において
は、入力線1の本数が1本であり、出力線21〜2mの
本数mが4本であり、シフトメモリ41〜4kの個数k
が6個である場合の各部の状態の変化を示している。そ
して、図19〜図21では、(a)が横軸方向に時間の
流れをタイムスロット単位に示し、(b)は入力線1に
入力されるデータの一例を示し、(c)は入力データの
宛先を示す宛先指示入力34,33,32,31をこの
順で示している。(d)〜(u)は、シフトメモリ41
〜46と宛先表示ビットメモリ511〜564の各タイ
ムスロットの状態の一例を示している。また、(v)〜
(y)は、出力線21〜24に出力されるデータを示し
ている。
【0100】タイムスロット1以前には、データが到着
していないか、あるいはデータが到着し出力されてから
十分な時間が経過し、内部のシフトメモリ41〜46に
はデータが存在していない例を示してある。データはタ
イムスロット1,2,3,4,6,7,8,9,11に
それぞれ1つずつ到着している。また、図19〜図21
は、出力線21〜24の読出しが4タイムスロットごと
にまとめて行なわれる場合を示していて、実際にはタイ
ムスロット4,タイムスロット8およびタイムスロット
10にデータが読出されている。
【0101】データが入力線1から入力されると同時
に、宛先指示入力31〜34から宛先ビットが入力され
る。たとえば、タイムスロット9で入力されるデータh
は出力線24を宛先としているが、宛先指示入力34が
有意状態となっている。図では、有意ビットを“1”と
しているので、このとき入力される宛先指示入力{3
4,33,32,31}は、{1,0,0,0}となっ
ている。
【0102】また、入力データが複数の出力線に出力さ
れる場合、すなわち同報データであった場合には、宛先
指示入力31〜34には数個のビットが有意となってい
る。たとえば、タイムスロット1で入力されるデータa
は出力線21と出力線24を宛先としているが、宛先指
示入力31と34が有意状態となっている。すなわち、
入力される宛先指示入力{34,33,32,31}
は、{1,0,0,1}となっている。タイムスロット
1では、出力線21と24宛のデータaが入力され、タ
イムスロット2では出力線22宛のデータbが入力され
ている。タイムスロット1では、シフトメモリ46が空
いているため、入力データaはすぐにシフトされる。こ
のとき、宛先指示入力31〜34は宛先表示ビットメモ
リ564〜561に取込まれる。同様にして、タイムス
ロット2では、シフトメモリ45が空いているため、デ
ータaがシフトし、空いたシフトメモリ46には入力さ
れたデータbがシフトしてくる。データaがシフトメモ
リ46から45へシフトすると同時に、元の宛先表示ビ
ットメモリ564〜561の内容は、次のシフトメモリ
45に対応した宛先表示ビットメモリ554〜551へ
シフトする。
【0103】シフト検出回路81〜86は、シフトメモ
リ41〜46に対応して設けられ、宛先表示ビットメモ
リ511〜564の中の対応するm個の宛先表示がすべ
て有意ビットでない状態を検出している。図の例では、
有意ビットが1つでもあれば“1”となり、1つもなけ
れば“0”のように状態定義を行なっている。たとえ
ば、タイムスロット1でのシフトメモリ46に対応する
宛先表示ビットメモリ561〜564はすべて“0”で
あるので、シフト検出回路86の状態は“0”となる。
また、タイムスロット2でのシフトメモリ46に対応す
る宛先表示ビットメモリ561〜564の中には1つ
“1”があるので、シフト検出回路86の状態は“1”
となる。
【0104】次に、出力線21〜24へのデータの読出
しについて説明する。図19にはタイムスロット4でデ
ータをまとめて出力する例を示している。タイムスロッ
ト4でデータを出力するために、タイムスロット4の始
めと検索回路61〜64は出力すべきデータの検索を行
なう。もし、対応する宛先表示ビットメモリ511〜5
64の中にそれぞれ有意ビットがあれば、それが対応す
るセレクタ71〜74に通知される。セレクタ71〜7
4は、通知のあったシフトメモリ41〜46から1つを
選択し、データをそれぞれ出力線21〜24に出力す
る。たとえば、出力線21に出力するデータを検索する
のは、検索回路61であり、宛先表示ビットメモリ51
1,521,531,541,551,561をこの順
番で読取り、この中から有意ビットがあれば、それがセ
レクタ71に通知される。セレクタ71は、図では、6
個のものから1つを選択するセレクタであり、検索回路
61の指示に従って、6個のシフトメモリ41〜46か
ら1つを選択し、該当するデータを出力線21に出力す
る。出力線21にデータを出力させるための動作は、他
の出力線22〜24のそれとは独立であるので、同時に
かつ別々に動作が可能である。
【0105】検索回路61〜64によって検索された宛
先表示ビットメモリ511〜564は、検索の結果、選
択されると有意ビットが消される。そうすると、シフト
検出回路81〜86が新しい状態になった宛先表示ビッ
トメモリ511〜564の値により、当該シフトメモリ
41〜46のシフトの可否を判定する。もし、シフト可
能と判定され、そのシフトメモリ41〜46の後段にデ
ータがあれば、後ろからシフトされる。
【0106】以下、タイムスロット4において、出力線
21に出力されるデータについて具体的に説明する。タ
イムスロット4において、検索回路61は宛先表示ビッ
トメモリ511,521,53,541,551,56
1をこの順番で読取る。この値は、それぞれ0,0,
0,1,0,1である。この中から有意ビット“1”を
この順番で探すと、宛先表示ビットメモリ541が該当
するので、これがセレクタ71に通知される。セレクタ
71は、検索回路61の指示に従って、6個のシフトメ
モリ41〜46から44を選択し、データaを出力線2
1に出力する。データaが出力線21に出力されると、
該当する宛先表示ビットメモリ541の有意ビットがク
リアされる。同様にして、タイムスロット4において、
検索回路64は出力線24に出力するデータとして、シ
フトメモリ44に格納されているデータaを検索する。
データaが出力線24に出力されると、該当する宛先表
示ビットメモリ544の有意ビットもクリアされる。
【0107】タイムスロット4において、データaが格
納されていたシフトメモリ44に対応する宛先指示入力
{544,543,542,541}は、データaが出
力線21および24に出力されることにより、{1,
0,0,1}から{0,0,0,0}へと変化し、これ
に伴ってシフト検出回路84の値も1から0へと変化す
る。シフト検出回路84の値が1から0へと変化する
と、タイムスロット4でシフトメモリ44に存在してい
たデータaはすべての所望の宛先の出力線21および2
4に出力されたことを意味するので、データaは消去さ
れる。
【0108】同様にして、タイムスロット4でデータb
も出力線22に出力されている。データbの格納されて
いるシフトメモリ45の後段46には、データcが存在
しているので、タイムスロット5でデータcがシフトし
てくる。また、データcに付随して宛先表示ビットメモ
リ564,563,562,561の情報も宛先表示ビ
ットメモリ554,553,552,551にシフトし
てくる。また、出力線23に該当する宛先表示ビットメ
モリ513,523,533,543,553,563
は0,0,0,0,0,0と有意ビットはないため、検
索回路62は出力するデータがないことをセレクタ72
に通知する。そのため、出力線23からは、データは出
力されない。
【0109】次に、タイムスロット5では、入力線にデ
ータが入力されず、タイムスロット6〜タイムスロット
8においてデータe,f,gが入力される。タイムスロ
ット8においては、検索回路が出力すべきデータを検索
する。この場合には、データcが出力線21に出力され
る。また、データdが出力線22に出力される。データ
dは出力線21と出力線22に対する同報データである
が、既に出力線21のデータcが出力されることが決定
されているため、データdは出力線22にのみ出力され
る。また、データeはすべての出力線に出力される同報
データであるが、この場合には既に出力線21および2
2には、データcとデータdが出力されることが先に検
索されているため、データeは出力線23と出力線24
とに出力される。
【0110】次に、タイムスロット9においては、デー
タhが入力され、タイムスロット10においては、デー
タは何も入力されない。また、タイムスロット10で
は、データdがシフトメモリ41中に存在しているが、
シフトメモリ41は最終段であるので、データdはこれ
以上シフトできずに、タイムスロット11でもシフトメ
モリ41中に存在している。このデータdはタイムスロ
ット12において出力線21に出力される。データdが
出力線21に出力されると、宛先表示ビットに有意ビッ
トがなくなるため、シフト検出回路の値は1から0へと
変化する。したがって、データdは消去される。
【0111】図22はmステージごとにゲートと蓄積検
出器を設けた例を示すブロック図である。図22におい
て、#n段目のデータ待ち行列装置310は、mステー
ジ分のシフトメモリと宛先表示ビット用メモリを含んで
いて、その先頭にはゲート回路311が設けられてい
る。また、mステージのそれぞれに有効データが蓄積さ
れている数を検出するために蓄積数検出器331が設け
られる。前段の#n+1段目のデータ待ち行列装置32
0も同様にして構成され、ゲート回路321と蓄積数検
出器332とを含む。
【0112】次に、動作について説明する。動作開始直
後は、待ち行列内部には有効なデータはなく空きとなっ
ている。動作中でも、適当な入力負荷の状態にあるとき
は、待ち行列装置内で滞留するデータは多くはなく、ほ
とんどのデータメモリは空になっている。このため、#
n段目のデータ待ち行列装置310のゲート回路311
は閉じられていて、データ待ち行列装置310から前段
のデータ待ち行列装置320にデータを通過させない。
このためキューの長さはmで動作する。負荷が増加して
きて、データ待ち行列装置310のステージ利用率(m
ステージ中、Mステージが使用されていたら使用率は
[M/m×100]%である。)が、たとえば、利用率
が80%を超えると、これを蓄積数検出器231が検出
して、ゲート回路311を開く。この時点で、キューの
長さは2mとなる。負荷が2m以上になれば、蓄積数検
出器332はゲート回路321を開く。
【0113】次に、一旦負荷が増大して、多くのゲート
を開いた後に負荷が減少した場合には、キューの中に残
留するデータの数が徐々に減少していく。それは、入っ
てくるデータより出力されていくデータのほうが多くな
るからである。ただし、一旦長くなった実行キュー長を
短くするのは容易ではない。それは、シフト動作の速度
が有限であるため、キューの先頭にすべてのデータが前
詰めされているわけではなく、後から入力されるデータ
もあるので、キューの中のばらばらの位置にデータが存
在している。これらの残留データは、先頭に近い位置に
存在する古いデータから順に出力線ごとに読出されてい
く。これを元の必要最小限のキュー長に復帰させるた
め、たとえばデータ待ち行列装置310の利用率がたと
えば20%以下に下がると、ゲート回路311が閉じら
れる。このようにすることにより、キュー中の疎らなデ
ータ存在確率の中で、特にデータの少ないところは、そ
の範囲の利用率が80%を越えるまで転送が行なわれな
い。このため、疎らなデータはいずれかの範囲に詰まっ
てくることになる。比較的疎らな領域で、後段が20%
以下であるとゲート回路が閉じられてデータが後段から
入ってこないことになるので、いずれはすべてのデータ
が読出され、その範囲をキューから解放することが可能
になる。解放状態はゲート回路が閉じられている状態な
ので、特別な制御を不要にできる。
【0114】ステージ間には、前のステップが空いてい
れば、そのデータが選択された読出されない限り、デー
タが前詰めされていくので、キューが長ければ、転送動
作が頻繁に生じて電力を消費する。これに対して、図2
2に示した例では、負荷の状況に応じてキューの長さを
制御できるので、利用されていない部分で消費される電
力を節約でき、低電力化が可能になる。同時に、キュー
が短いため、検索回路で検索に必要な時間が短くてよい
ことになり、その分だけ高速動作が可能になる。
【0115】図23は図22の各ステージ間における境
目を具体的に示した図である。図23において、各ステ
ージに対応したシフト検出回路312,322が設けら
れ、シフト検出回路312,322は前段のシフト促進
信号を後段に伝える。シフト検出回路312と322と
の間には図22に示したゲート回路311が挿入されて
いて、ゲート回路311の一方入力端にはシフト検出回
路322からのシフト促進信号が与えられ、他方入力端
には蓄積数検出器331から制御信号が与えられる。ゲ
ート回路311の出力は後段のシフト検出回路312に
与えられる。
【0116】前段から“H”レベルのシフト促進信号が
与えられると、シフト検出回路322はそのシフト促進
信号をゲート回路311に与える。蓄積数検出器331
は後段のデータ待ち行列装置310に所定の有効データ
数が詰まっていなければ、“L”レベルの制御信号をゲ
ート回路311に与え、このゲートを閉じる。このた
め、前段のシフト検出回路322からシフト促進信号が
シフト検出回路312に与えられない。それによって、
図22で説明したように、キューはmステージの長さと
なる、データ待ち行列装置310のシフトメモリに所定
数の有効データが詰まっていると、制御信号が“H”レ
ベルにされてゲート回路311が開かれる。それによっ
て、シフト検出回路322からシフト促進信号が後段の
シフト検出回路312に与えられ、キューの長さは2m
となる。
【0117】図24は図22に示した蓄積数検出器の具
体例を示す回路図である。図24において、シフトメモ
リ41,42…と宛先表示ビットメモリ511,512
…とC素子51,52…は前述の図7に示したように構
成されており、C素子51,52…から出力される制御
信号LEはインバータ411,412…で反転され、n
チャネルトランジスタ412,422…の各ゲートに与
えられる。nチャネルトランジスタ412,422…の
各ドレインは共通接続されて電流加算ノードとなり、p
チャネルトランジスタ452のドレインとゲートおよび
pチャネルトランジスタ451のゲートに接続される。
pチャネルトランジスタ452,451のソースには電
源電圧が与えられる。nチャネルトランジスタ412,
422…の各ソースには定電流源となるnチャネルトラ
ンジスタ413,423…の各ドレインに接続され、n
チャネルトランジスタ413,423…のソースは接地
され、nチャネルトランジスタ413,423の各ゲー
トにはバイアス電圧が与えられる。pチャネルトランジ
スタ451のドレインには基準定電流源となる複数のn
チャネルトランジスタ461,462…が並列接続され
るとともに、インバータ470の入力に接続される。n
チャネルトランジスタ461,462…の各ゲートには
バイアス電圧が与えられる。
【0118】C素子51,52…はシフトメモリ41,
42…と宛先表示ビットメモリ511,512…にデー
タの書込みが可能であれば制御信号LEを“H”レベル
にし、自分のデータを前段に送出しないときは制御信号
LEを“L”レベルにする。したがって、制御信号LE
が“L”レベルになっている段数を調べれば、有効なデ
ータを蓄積している段数が判明する。すなわち、たとえ
ばC素子51から出力される制御信号LEが“L”レベ
ルになると、インバータ411によって“H”レベルに
反転され、nチャネルトランジスタ412は導通し、n
チャネルトランジスタ412のドレインには電流Iが流
れる。したがって、有効なデータを蓄えている段数がk
であるとすれば、kIの電流が電流加算ノードに流れ
る。pチャネルトランジスタ451と452はいわゆる
カレントミラー回路を構成しており、pチャネルトラン
ジスタ451のドレインにはkIの電流が流れる。この
電流kIはnチャネルトランジスタ461〜464に流
れる基準電流Irefと加算され、kI>Irefであ
ればインバータ470の出力は“L”レベルであり、R
以上蓄積されたことを示し、kI<Irefであればイ
ンバータ470の出力は“H”レベルであり、R以下蓄
積されたことを示す。ここで、Rはnチャネルトランジ
スタ461〜464の個数である。
【0119】図25はキューが空きの状態ではキューの
最も先頭の範囲nへデータを入力し、nが満杯になった
ときに次のキューにデータを入力するようにした例を示
すブロック図である。図25において、#k段目のデー
タ待ち行列装置340の先頭のステージ341には入力
線を介してデータが入力され、このデータ待ち行列装置
340にデータがほぼ蓄積されたとき、後段である#k
−1段目のデータ待ち行列装置342の先頭のステージ
343に入力線を介してデータが入力される。
【0120】蓄積数検出器333,334には、前段が
R以上のデータを蓄えていることを示す信号Fと次段の
蓄積数を調べるための各ステージからの入力信号Bが与
えられる。そして、一度前段がR以上のデータを蓄える
と、その範囲の入力を後段からではなく入力線に切換え
られる。次段の蓄積数がRを越えると、後段にそれを表
わす信号Fを伝えられるとともに、次段の範囲の入力が
入力線からではなく後段側に切換えられる。復帰は、自
分の範囲にデータがなくなったときで、rが存在しな
い。現在入力線からデータを入力していて、かつ自分の
範囲にデータがなくなった場合には、前段にキュー長を
縮める信号Fが送出され、自分のデータを入力線から後
段側に切換えられる。信号Fが与えられる蓄積数検出器
は、データの入力を後段から入力側に切換える。
【0121】図26は図25に示した蓄積数検出器の動
作をアルゴリズムで示したものである。
【0122】図26に示すように、蓄積数検出器がキュ
ー最後尾にあるときだけ、その蓄積数検出器は入力線か
らデータが入力される。この場合の関所は、その範囲の
入力を入力線から取るか、あるいは後段から取るかのセ
レクタ機能があればよいことがわる。
【0123】図27は前述の図25に示した実施例を変
形したものであり、検索回路の消費電力を削減するよう
にしたものである。すなわち、蓄積数検出器333,3
34に対応して検索回路335,336が設けられる。
これらの検索回路335,336は前述のORチェイン
機能を持たせたものである。蓄積数検出器333,33
4は図26の状態遷移において、「初期状態」にあると
きは自分の受持ち範囲は未使用であるので、自分以降も
未使用となる。よって、検索をそれ以降に行なうことは
無意味であるため、対応の検索回路335,336にそ
の旨を伝える。具体的には、ORチェインによる検索回
路では、“1”が伝わってくると自分よりも前のステー
ジで読出すべき有効データが見つかったことを示すの
で、「初期状態」にあるときは、検索回路335,33
6のC入力が“1”にされ、検索が無効化される。C入
力はその範囲の検索回路の初段のOR回路に入力され
る。
【0124】これによって、検索回路335,336内
をキャリイ伝搬のごとく“1”が伝わるのを加速して、
特に大掛かりな回路の増大なしに検索動作を高速化でき
る。ORチェインを用いた検索回路の出力は1つ前のス
テージのOR出力と次段のOR出力のEXORを取るこ
とで選択出力を得ているが、“1”が初めから入力され
ていればEXOR入力が変化することもなく、その意味
で消費電力の削減にも効果がある。
【0125】図28は遅延優先度を示すビットを各ステ
ージに設けた例を示す図である。一般に、ATM通信に
おける遅延優先度とは、入力されてくるデータに遅延優
先度を持たせてやって、高い優先度のデータはキューか
ら早く読出されるようにすることである。これによっ
て、たとえば、ファイル転送などの比較的リアルタイム
性を必要としないアプリケーションと、電話やテレビ電
話などのリアルタイム性を必要とするアプリケーション
を区別して扱うことが可能になる。2レベルの遅延優先
度をサポートしたとして、リアルタイム性の高い電話な
どのデータに高い優先度を割り当てれば、たとえ、その
データより早くにファイル転送のデータがキューに入力
されていても、これを追い越して電話の音声データが装
置を通過していくことができる。
【0126】図28に示した実施例では、そのデータの
遅延優先度を示すビットを各ステージに設けることによ
り、遅延優先度を効率的にサポートすることを目的とし
ている。
【0127】図28において、データ用のシフトメモリ
41と宛先表示ビットメモリ511に対応して、優先ビ
ットメモリ81が設けられるとともに、宛先表示ビット
メモリ511から所望の出力線を選択するための宛先選
択線82が設けられている。たとえば、出力線#3用の
宛先選択線#3を立上げると、検索回路61への入力は
#3のビットの出力が接続される。
【0128】図29は図28に示した例の具体的な回路
図である。検索回路620はインバータ621,622
とANDゲート623,624とOR回路625とを含
む。インバータ621には、図14で説明したバス20
1が接続され、インバータ622には優先選択信号が与
えられる。
【0129】優先データがキュー内に存在するときは、
“H”レベルの優先選択信号が入力され、各宛先表示ビ
ットと優先ビットとの論理積がANDゲート623と6
24とによってとられ、ORゲート625を介して図6
に示した検索回路に入力される。これによって、現在検
索対象となっている宛先に有効なデータが保持されてい
てかつ優先ビットに“1”が立っているところが検索対
象のステージになる。これらの条件を満たすもののう
ち、最もキューの先頭に近いものが選択される。キュー
内に優先度を持ったデータがないときは、優先選択信号
を“L”レベルにしておけば通常の選択結果が得られ
る。
【0130】図30は上述のキュー内に優先度を持った
データが存在するか否かを判別する回路を設けた例を示
すブロック図である。図30において、キュー351
は、シフトメモリと宛先表示ビットメモリと検索回路を
含んでおり、前段側にシフトメモリ41と宛先表示ビッ
トメモリ511と優先ビットメモリ81が接続され、後
段側にはシフトメモリ42と宛先表示ビットメモリ51
2と優先ビットメモリ82とが接続されている。さら
に、キュー351に対応してアップダウンカウンタ35
2が設けられ、後段側の宛先表示ビットメモリ512と
優先ビットメモリ82の出力がANDゲート354によ
って論理積が求められ、アップダウンカウンタ352の
UP入力に与えられる。前段側の宛先表示ビットメモリ
511と優先ビットメモリ81の出力がANDゲート3
53によって論理積が求められ、アップダウンカウンタ
352のdown入力として与えられる。アップダウン
カウタン352の出力は優先選択信号としてキュー35
1に与えられる。
【0131】この図30に示した実施例では、キュー3
51のデータ入力時に、ANDゲート354によって後
段の優先ビットと宛先表示ビットの論理積が取られ、カ
ウンタ352がupされ、同様にしてキュー351から
データが読出されるときには、優先ビットと宛先表示ビ
ットとがANDゲート353によって論理積が取られ、
カウンタ352がdownされる。このようにカウンタ
352は現在キュー351の中に蓄積されている対応す
る宛先の優先度を持ったデータの数がストアされること
になる。そして、カウンタ352の計数値が0でなけれ
ば、優先選択信号が“1”にされ、カウンタ値が0であ
れば優先選択信号が“0”にされる。
【0132】図31は優先度が複数ある場合に、優先度
に応じた優先選択信号を出力する回路例を示す図であ
る。前述の図29に示した例では、1つの優先ビットと
1つの宛先表示ビットに対して1つのカウンタを用意し
たが、優先度が複数ある場合には、それぞれの優先度に
応じたカウンタ361,362,363が設けられる。
図31ではカウンタ361の出力が最も優先度の高いも
のとし、カウンタ361の出力がORゲート364で論
理和が求められ、優先度の最も高い信号として出力され
る。カウンタ362は2番目に優先度が高く、そのカウ
ンタ出力がORゲート365によって論理和が求めら
れ、ANDゲート367の一方入力端に与えられる。A
NDゲート367の他方入力端にはORゲート364の
出力がインバータ369で反転されて与えられる。さら
に、カウンタ363は3番目の優先度であって、その出
力がORゲート366によって論理和が求められ、AN
Dゲート368に与えられる。ANDゲート368の1
つの入力端子には、ORゲート365の出力がインバー
タ370で反転されて与えられ、他の1つはインバータ
369の出力が与えられる。このように論理回路を組合
わせることによって、優先度に応じて優先選択信号が
“1”となり、その他は“0”になる。
【0133】図32は優先度の低いデータであっても一
定の割合で処理するようにした例を示す図である。上述
の各実施例は、常に高い優先度を持ったデータが先に処
理されるようにしたが、低優先度のデータも一定の低い
割合で処理するほうがより場合もある。それは、高い優
先度の処理のために、低優先度のデータが大量にキュー
351内に蓄積されてしまい、受け側でエラーが生じた
と誤判断されるような事態が起きる可能性がないとはい
えないからである。このために、図32に示すようにカ
ウンタ350のほかに別個のカウンタ355が設けら
れ、このカウンタ355は内部クロック信号を計数し、
キャリイ出力が得られたとき、それをインバータ356
で反転し、ANDゲート358を閉じる。ANDゲート
358が閉じられることによって、カウンタ352の出
力の論理和を求めるORゲート357からの優先信号が
キュー351に与えられなくなり、一定の割合で低い優
先度のデータが読出される。カウンタ355はロードさ
れたLVから最大数まで計数し続けるので、ロード値を
適当に設定することにより、場合に応じて低優先データ
の読出し確率を設定できる。
【0134】図33は優先度を検出するための検出回路
の他の例を示すブロック図である。この図33に示した
例は、無効化信号を検出回路600に与えるようにし、
対応するステージに優先度によらず読出すべきデータが
あれば検出信号を後段に送り、優先度の高い読出すべき
データがあれば無効化信号を前段におくる。検出信号を
受取った場合には、その検出信号が後段に伝えられ、無
効化信号を後段から受取った場合は、無効化信号を前段
へ伝えると同時に、優先度の低い読出すべきデータを備
えている場合は、自分の出力している検出信号を停止
し、前段からの検出信号は伝えるようにする。優先度の
高い読出すべきデータを備えている場合には何もしな
い。さらに、読出すべきデータを蓄えていない場合には
何もしない。
【0135】図34は図33に示した検出回路の具体的
な回路図である。検出回路600はANDゲート60
1,602とORゲート603,604とNANDゲー
ト605とインバータ606とを含み、このような論理
回路によって、上述の動作を実行することができる。
【0136】図35はキュー中に蓄えられている低優先
度のデータを一括廃棄できるようにした例を示すブロッ
ク図である。廃棄優先は交換機などの装置内のバッファ
が溢れそうになったとき、低優先度のデータを廃棄し
て、全体が動作不能に陥るのを防ぐ、あるいは高優先度
のデータの通信に支障がないようにするためのものであ
る。従来の遅延優先処理は、バッファが溢れそうになっ
た場合、新たに装置に流入するデータのうち、低優先度
のものを受付けないという処理が一般的である。宛先表
示ビットメモリ512の出力はカウンタ352のup入
力に与えられ、キュー351から出力される宛先表示ビ
ットはカウンタ352のdown入力に与えられる。カ
ウンタ352はキュー351に宛先表示ビットが入力さ
れるごとにカウンタアップし、キュー351から宛先表
示ビットが出力されるごとにダウンする。したがって、
カウンタ352には、キュー351に蓄えられている有
効データの数がストアされることになる。カウンタ35
2の値が予め定められているしきい値を越えると、制御
回路83はキュー351に対して廃棄指令を出す。廃棄
指令を受けたキュー351は優先ビット(この場合は遅
延優先ビットではなく廃棄優先ビット)と、廃棄指令の
信号の論理積で、低優先のデータを蓄えている段をクリ
アする。クリアの具体的な方法としては、すべての宛先
表示ビットをクリアするか、あるいは前述の図9に示し
たC素子をクリアするようにしてもよい。
【0137】なお、図35に示したカウンタ352を各
シフトメモリごとに容易すれば、出力線ごとのキューの
利用率の情報を得ることができる。
【0138】図36は宛先表示ビットメモリを廃棄指令
によってクリアする例を示すブロック図である。優先ビ
ットメモリ81の出力と廃棄指令と論理積を求めるため
にANDゲート84が設けられ、ANDゲート84の出
力が宛先表示ビットメモリ511のクリア端子に入力さ
れる。これによってある出力行のデータで低優先のもの
だけをクリアすることができる。
【0139】図37はこの発明のキューを用いてスイッ
チ規模を拡大した例を示す図であり、図38はキューを
ツリー接続した例を示す図である。
【0140】図37において、ATMセルには、ルーテ
ィングヘッダa1〜a4,b1〜b4のように階層化さ
れて付加される。ルーティングヘッダa1〜a4は複数
のグループを識別するための表示ビットである。ATM
セルは図38に示す1段目のキュー700に入力され
る。キュー700はATMセルに付加されているルーテ
ィングヘッダa1〜a4を参照してスイッチングし、2
段目のキュー701〜704のうちの該当するキューに
出力する。キュー701はルーティングヘッダb1〜b
4を参照してスイッチングし、それぞれのルーティング
ヘッダb1〜b4ごとにATMセルを出力する。したが
って、図38に示した実施例は、4つの宛先を持つキュ
ーを用いて16の宛先に信号を送信できる。なお、図3
8に示した例は、1段目のキュー700と2段目のキュ
ー701〜704の2階層で構成したが、さらにキュー
の段数を増やすことによってさらにスイッチング処理を
拡大するようにしてもよい。
【0141】図39は階層化されたルーティングヘッダ
とツリー接続とを組合わせた例を示す図である。この実
施例は、キュー711がルーティングヘッダaを参照し
てスイッチングし、キュー712がルーティングヘッダ
bを参照してスイッチングする。ATMセルのビット幅
m,ルーティングヘッダbのビット幅h,宛先ビットa
のビット幅hとすると、ATMセルとルーティングヘッ
ダbがキュー711のデータ入力端子DIに入力され、
宛先ビットaがキュー711のスイッチング用入力端子
に入力される。キュー711はルーティングヘッダbを
データとして扱い、宛先ビットaでスイッチングする。
キュー711は宛先ビットaでスイッチングしたので、
出力として宛先ビットaを除いたATMセルとルーティ
ングヘッダbのみを出力して次段のキュー712に与え
る。キュー712のデータ入力端子DIにはmビットの
ATMセルが与えられるが、データ入力端子DIのうち
hビットの入力は接地され、ルーティングヘッダaがス
イッチング用入力端子に与えられる。したがって、キュ
ー712は、ルーテヘングヘッダaを宛先ビットと見な
してスイッチングし、ATMセルを出力する。なお、キ
ュー712は、データ入力端子DIのうち接地されてい
るビットを破棄する。
【0142】この実施例では、キュー711と712は
ともに共通のハードウェアを用いることができる。ま
た、この実施例では、2階層のものを示したが、ルーテ
ィングヘッダを増し、キューをこの例に応じて接続する
ことにより、階層をさらに増やすこともできる。
【0143】図40は図39に示した実施例の改良例を
示す図である。図39において、キュー712のデータ
入力端子DIのうち、hビットの入力端子を接地した
が、ルーティングヘッダの出力と交差してしまう。これ
を避けるためには、複雑な配線が必要となる。そこで、
図40に示した実施例では、データ入力端子DIのう
ち、スイッチング用入力端子から最も遠い端子を接地す
ることにより、他のラインとの交差を避け、配線を容易
にすることができる。
【0144】図41は図38に示した実施例の改良例を
示す図である。図38に示した例では、1段目にキュー
700を設け、2段目に複数のキュー701〜704を
設けたが、この実施例では1段目のキュー700に代え
てアドレスフィルタ801〜804を設けるようにした
ものである。アドレスフィルタ801〜804はそれぞ
れルーティングヘッダa1〜a4を参照し、該当するセ
ルのみを出力する。すなわち、アドレスフィルタ801
はルーテヘングヘッダa1のセルを出力し、アドレスフ
ィルタ802はルーティングヘッダa2のセルを出力
し、アドレスフィルタ803はルーティングヘッダa3
のセルを出力し、アドレスフィルタ804はルーティン
グヘッダa4のセルをそれぞれキュー701〜704に
出力する。したがって、この実施例においては、4つの
宛先を持つキューを4つ用いて16の宛先に信号を送信
できる。
【0145】上述の実施例においても、第1段のアドレ
スフィルタ801〜804と2段目のキュー701〜7
04との2階層でATMスイッチを構成したが、ルーテ
ィングヘッダの階層を増やすとともに、キューの段数を
増加することによって、さらにスイッチング規模を拡大
してもよい。
【0146】
【発明の効果】以上のように、請求項1に係る発明によ
れば、検索手段を宛先表示ビット記憶手段に隣接して配
置することにより、回路ブロックを2次元で効率よく実
現することができる。
【0147】さらに、より好ましくは、データが蓄積さ
れていない段のデータ待ち行列部のシフト動作を停止す
ることにより、電力消費を削減できる。
【0148】請求項6に係る発明では、複数のデータ待
ち行列部をカスケード接続し、各データ待ち行列部は後
段からのデータと宛先表示ビットとを受け、前段が空い
ていることに応じてデータと宛先表示ビットを出力する
ことにより、データ待ち行列装置の規模の拡張を容易に
できる。
【0149】さらに、より好ましくは、データに遅延優
先度を持たせ、高い優先度のデータは早く読出すように
することによって、リアルタイム性の高い電話等のデー
タに高い優先度を割当てれば、そのデータより早くにデ
ータ待ち行列装置に入力されていても、それを追い越し
てデータを通過させることができる。
【図面の簡単な説明】
【図1】 この発明の前提となるデータ待ち行列装置を
示すブロック図である。
【図2】 図1に示したブロック図の各部における信号
のタイミングを示すタイムチャートである。
【図3】 図1に示したブロック図の各部における信号
のタイムチャートである。
【図4】 図1に示したブロック図の各部における信号
のタイミングを示すタイムチャートである。
【図5】 この発明の一実施例を示すブロック図であっ
て、図1に示した各要素の配置例を示す図である。
【図6】 図5に示したシフトメモリの具体例を示す図
である。
【図7】 図6に示したシフトメモリのシフトさせるた
めのC素子の一例を示すブロック図である。
【図8】 図7に示したラッチの具体的な回路図であ
る。
【図9】 図7に示したC素子の具体的な回路図であ
る。
【図10】 この発明の他の実施例を示すブロック図で
あって、検索回路を共用した例を示す図である。
【図11】 図10に示した検索回路と宛先表示ビット
の具体的な配置例を示す図である。
【図12】 宛先表示ビットメモリの出力をバスを介し
て検索回路に接続した例を示す図である。
【図13】 図12に示した動作手順を説明するための
図である。
【図14】 図12に示したバスと各宛先表示ビットメ
モリとの接続関係を示す図である。
【図15】 図14の動作を説明するためのタイムチャ
ートである。
【図16】 データ待ち行列装置をカスケード接続した
例を示すブロック図である。
【図17】 k段目のデータ待ち行列装置をFIFOと
して用いるようにした例を示すブロック図である。
【図18】 この発明の前提によるデータ待ち行列装置
の他の例を示すブロック図である。
【図19】 図18に示したブロック図の各部における
信号のタイミングを示すタイムチャートである。
【図20】 図18に示したブロック図の各部における
信号のタイミングを示すタイムチャートである。
【図21】 図18に示したブロック図の各部における
信号のタイミングを示すタイムチャートである。
【図22】 mステージごとにゲート回路と蓄積数検出
器を設けた例を示すブロック図である。
【図23】 図22に示した蓄積数検出器の具体例を示
す図である。
【図24】 シフト検出回路を用いた例を示す図であ
る。
【図25】 キューが空きの状態では最も先頭の範囲n
へ入力し、nが満杯になったとき次のキューにデータを
入力するようにした例を示す図である。
【図26】 図25に示した蓄積検出器の動作を説明す
るためのアルゴリズムである。
【図27】 初期状態において、未使用のときには検索
を無効化するようにした例を示すブロック図である。
【図28】 遅延優先度を示すビットを各ステージに設
けた例を示す図である。
【図29】 優先選択回路を設けた例を示すブロック図
である。
【図30】 優先選択のためのカウンタを設けた例を示
す図である。
【図31】 優先度が複数ある場合に優先度に応じた優
先選択信号を出力する回路を示す図である。
【図32】 低い優先度のデータを一定の割合で出力す
るようにした例を示す図である。
【図33】 優先度を検出するための検出回路の他の例
を示す図である。
【図34】 図33の具体的な回路図である。
【図35】 キュー中に蓄えられている低優先度のデー
タを一括廃棄できるようにした例を示す図である。
【図36】 低優先のデータをクリアできるようにした
図である。
【図37】 この発明のキューを用いてスイッチング規
模を拡大した例を示す図である。
【図38】 キューをツリー接続した例を示す図であ
る。
【図39】 階層化されたルーティングヘッダとツリー
接続とを組合わせた例を示す図である。
【図40】 図39に示した実施例の改良例を示す図で
ある。
【図41】 図38に示した実施例の改良例を示す図で
ある。
【図42】 従来のデータ待ち行列装置を含む高速パケ
ットスイッチを示すブロック図である。
【図43】 従来のデータ待ち行列装置を示すブロック
図である。
【符号の説明】
41〜4k シフトメモリ、61〜64,335,33
6 検索回路、81優先ビットメモリ、201 バス、
300〜302,310,320,340,342 デ
ータ待ち行列装置、311,321 ゲート回路、33
1〜334蓄積数検出器、510 C素子、511〜5
k4 宛先表示ビットメモリ。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 石脇 昌彦 兵庫県伊丹市瑞原4丁目1番地 三菱電機 株式会社システムエル・エス・アイ開発研 究所内 (72)発明者 野谷 宏美 兵庫県伊丹市瑞原4丁目1番地 三菱電機 株式会社システムエル・エス・アイ開発研 究所内

Claims (25)

    【特許請求の範囲】
  1. 【請求項1】 それぞれがデータを保持しながらシフト
    する複数のデータシフト手段と、前記それぞれのデータ
    シフト手段に対応して設けられ、前記それぞれのデータ
    の宛先を示す宛先表示ビットを記憶する宛先表示ビット
    記憶手段と、前記宛先表示ビットを検索して検索された
    データを出力する検索手段とを備えたデータ待ち行列装
    置において、 前記検索手段は、前記宛先表示ビット記憶手段に隣接し
    て配置されることを特徴とする、データ待ち行列装置。
  2. 【請求項2】 前記宛先表示ビット記憶手段は、 宛先表示ビットをラッチするラッチ手段と、 前記ラッチ手段が宛先表示ビットを保持していないと
    き、後段からの宛先表示ビットを前記ラッチ手段に保持
    させ、前段のラッチ手段が宛先表示ビットを保持してい
    ないとき、前記ラッチ手段の宛先表示ビットを前段にシ
    フトさせる制御手段とを含む、請求項1のデータ待ち行
    列装置。
  3. 【請求項3】 前記検索手段は、前記複数の宛先表示ビ
    ット記憶手段の中央に沿って配置される、請求項1のデ
    ータ待ち行列装置。
  4. 【請求項4】 さらに、前記複数の宛先表示ビット記憶
    手段からの表示ビットを時分割して前記検索手段に導く
    ためのバスを含む、請求項3のデータ待ち行列装置。
  5. 【請求項5】 前記検索手段は前記各宛先表示ビットを
    パイプライン処理で検索することを特徴とする、請求項
    4のデータ待ち行列装置。
  6. 【請求項6】 それぞれがデータを保持しながらシフト
    する複数のデータシフト手段と、前記それぞれのデータ
    シフト手段に対応して設けられ、前記それぞれのデータ
    の宛先を示す宛先表示ビットを記憶する複数の宛先表示
    ビット記憶手段と、前記複数の宛先表示ビットを検索し
    て検索されたデータを出力する検索手段を含むデータ待
    ち行列部を複数段カスケード接続し、 各データ待ち行列部は後段からのデータと宛先表示ビッ
    トを受け、前段が空いていることに応じて、そのデータ
    と宛先表示ビットを出力することを特徴とする、データ
    待ち行列装置。
  7. 【請求項7】 さらに、前記各データ待ち行列部のデー
    タ読出し出力を共通接続するバスを含む、請求項6のデ
    ータ待ち行列装置。
  8. 【請求項8】 前記複数段のデータ待ち行列部のうちの
    k段目(k<N)以降は検索や読出しを行なわない先入
    れ先出しメモリとして用いられることを特徴とする、請
    求項7のデータ待ち行列装置。
  9. 【請求項9】 前記k段目以降のデータ待ち行列部は読
    出し出力をk段目以前のデータ待ち行列部に与えないこ
    とを特徴とする、請求項8のデータ待ち行列装置。
  10. 【請求項10】 前記k段目以降のデータ待ち行列部に
    は有効を示す検索入力信号が与えられる、請求項8のデ
    ータ待ち行列装置。
  11. 【請求項11】 前記各段のデータ待ち行列部分の間に
    設けられ、有効なデータを蓄積していない段のデータ待
    ち行列部のシフト動作を停止させるためのゲート手段を
    含む、請求項6のデータ待ち行列装置。
  12. 【請求項12】 前記各段のデータ待ち行列部の先頭部
    にデータを入力するためのデータ入力部を含む、請求項
    6のデータ待ち行列装置。
  13. 【請求項13】 前記各段のデータ待ち行列部のうち、
    使用されている段のデータ待ち行列部に対応する検索手
    段のみを有効化することを特徴とする、請求項11また
    は12のデータ待ち行列装置。
  14. 【請求項14】 さらに、優先度を記憶するための優先
    度記憶手段を含み、前記検索手段は前記優先度記憶手段
    に記憶されている優先度と前記宛先表示ビットの論理積
    出力に基づいて検索を行なうことを特徴とする、請求項
    6のデータ待ち行列装置。
  15. 【請求項15】 さらに、各段のデータ待ち行列部のそ
    れぞれに対応して設けられ、当該データ待ち行列部に優
    先データが入力されるごとに加算され、当該データ待ち
    行列部から優先データが出力されるごとに減算されるカ
    ウンタを含み、 前記検索手段は、前記カウンタの計数値が所定の値にな
    ったことに応じて検索を行なうこととを特徴とする、請
    求項14のデータ待ち行列装置。
  16. 【請求項16】 前記カウンタは各段のデータ待ち行列
    部のそれぞれに対応して複数の優先度に応じて複数設け
    られ、さらに前記各カウンタの出力のうち優先度の高い
    出力を選択し、その出力と前記宛先表示ビットとの論理
    積を求めて検索手段に与える論理積手段を含む、請求項
    14のデータ待ち行列装置。
  17. 【請求項17】 さらに、一定の割合で前記優先度記憶
    手段をクリアして低い優先度のデータを一定の割合で読
    出すための手段を含む、請求項14のデータ待ち行列装
    置。
  18. 【請求項18】 前記各データ待ち行列部のうち、前段
    で有効なデータが検出されても、次段で高優先度の有効
    なデータが検出されたデータ待ち行列部は、前段に無効
    化信号を送出し、 前記前段のデータ待ち行列部は保持しているデータの優
    先度が高くなかった場合、検出信号の送出を停止するこ
    とを特徴とする、請求項6のデータ待ち行列装置。
  19. 【請求項19】 前記前段のデータ待ち行列部は、保持
    しているデータの優先度が後段のデータ待ち行列部から
    与えられる無効化信号による優先度より低い場合に前記
    検出信号の送出を停止することを特徴とする、請求項1
    8のデータ待ち行列装置。
  20. 【請求項20】 さらに、低い優先度のデータを廃棄す
    るための指令が与えられたことに応じて、その指令と前
    記優先ビットとの論理積を求めて、当該データ待ち行列
    部のデータをクリアするための論理積手段を含む、請求
    項6のデータ待ち行列装置。
  21. 【請求項21】 さらに、各データ待ち行列部に対応し
    て設けられ、対応のデータ待ち行列部にデータが入力さ
    れるごとに加算され、データが出力されるごとに減算さ
    れ、所定の計数値になったことに応じて、優先度の低い
    データを廃棄させるためのカウンタを含む、請求項20
    のデータ待ち行列装置。
  22. 【請求項22】 前記カウンタは前記データシフト手段
    の各ビットごとに設けられる、請求項21のデータ待ち
    行列装置。
  23. 【請求項23】 それぞれがデータを保持しながらシフ
    トする複数のデータシフト手段と、前記それぞれのデー
    タシフト手段に対応して設けられ、それぞれのデータの
    宛先を示す宛先表示ビットを記憶する宛先表示ビット記
    憶手段と、前記宛先表示ビットを検索して検索されたデ
    ータを出力する検索手段とを備えたデータ待ち行列装置
    において、 前記宛先表示ビットは複数の宛先表示ビットを単位とし
    て複数にグループ化されていて、 前記データ待ち行列装置は、 前段に設けられ、前記複数のグループごとにデータと宛
    先表示ビットを出力する前段データ待ち行列回路と、 前記複数のグループごとに設けられ、前記前段待ち行列
    回路から出力されたデータと宛先表示ビットとが与えら
    れる複数の後段データ待ち行列回路とを備えた、データ
    待ち行列装置。
  24. 【請求項24】 前記複数にグループ化された宛先表示
    ビットは、宛先表示ビットとその宛先表示ビットの属す
    るグループを識別するための表示ビットとを含み、 前記前段のデータ待ち行列回路および後段の複数のデー
    タ待ち行列回路のそれぞれのデータシフト手段は、前記
    データと前記宛先表示ビットとを保持するためのエリア
    を含み、 前記宛先表示ビット記憶手段は、前記表示ビットに応じ
    て、前記データシフト手段によって前記データと前記宛
    先表示ビットとを保持させるための制御手段を含み、 前記後段の各データ待ち行列回路のデータシフト手段に
    は、前段のデータシフト手段から出力されたデータが与
    えられ、前記宛先表示ビットのエリアの入力は接地さ
    れ、 前記後段の制御手段は、前段のデータシフト手段から与
    えられた宛先表示ビットに応じて前段からのデータを前
    記後段のデータシフト手段に保持させる手段を含む、請
    求項23のデータ待ち行列装置。
  25. 【請求項25】 前記複数にグループ化された宛先表示
    ビットは、宛先表示ビットとその宛先表示ビットの属す
    るグループを識別するための表示ビットとを含み、 前記データシフト手段と前記宛先表示ビット記憶手段
    は、前記複数のグループのそれぞれに対応して設けられ
    ていて、さらに前記各グループに対応する宛先表示ビッ
    トと前記データとを対応するデータシフト手段と宛先表
    示ビット記憶手段に与えるアドレスフィルタ手段を含
    む、請求項23のデータ待ち行列装置。
JP21295094A 1993-12-28 1994-09-06 データ待ち行列装置 Expired - Fee Related JP3220599B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP21295094A JP3220599B2 (ja) 1993-12-28 1994-09-06 データ待ち行列装置
US08/365,637 US5649119A (en) 1993-12-28 1994-12-28 Data queuing apparatus

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP33710793 1993-12-28
JP5-337107 1993-12-28
JP21295094A JP3220599B2 (ja) 1993-12-28 1994-09-06 データ待ち行列装置

Publications (2)

Publication Number Publication Date
JPH07235931A true JPH07235931A (ja) 1995-09-05
JP3220599B2 JP3220599B2 (ja) 2001-10-22

Family

ID=26519530

Family Applications (1)

Application Number Title Priority Date Filing Date
JP21295094A Expired - Fee Related JP3220599B2 (ja) 1993-12-28 1994-09-06 データ待ち行列装置

Country Status (2)

Country Link
US (1) US5649119A (ja)
JP (1) JP3220599B2 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19811201A1 (de) * 1998-03-09 1999-09-16 Gmd Gmbh Schieberegister und Mikroprozessorenanordnung
US7302704B1 (en) 2000-06-16 2007-11-27 Bbn Technologies Corp Excising compromised routers from an ad-hoc network
US7269198B1 (en) 2001-11-19 2007-09-11 Bbn Technologies Corp. Systems and methods for beaconing in wireless networks with low probability of detection
US7421257B1 (en) 2001-11-30 2008-09-02 Stragent, Llc Receiver scheduling in ad hoc wireless networks
US7983239B1 (en) 2003-01-07 2011-07-19 Raytheon Bbn Technologies Corp. Systems and methods for constructing a virtual model of a multi-hop, multi-access network
US20040246902A1 (en) * 2003-06-02 2004-12-09 Weinstein Joseph J. Systems and methods for synchronizing multple copies of a database using datablase digest
US7881229B2 (en) 2003-08-08 2011-02-01 Raytheon Bbn Technologies Corp. Systems and methods for forming an adjacency graph for exchanging network routing data
US7606927B2 (en) * 2003-08-27 2009-10-20 Bbn Technologies Corp Systems and methods for forwarding data units in a communications network
US8166204B2 (en) * 2003-08-29 2012-04-24 Raytheon Bbn Technologies Corp. Systems and methods for automatically placing nodes in an ad hoc network
US7668083B1 (en) 2003-10-28 2010-02-23 Bbn Technologies Corp. Systems and methods for forwarding data in a communications network
US7369512B1 (en) 2003-11-06 2008-05-06 Bbn Technologies Corp. Systems and methods for efficient packet distribution in an ad hoc network
US7532623B2 (en) * 2004-03-24 2009-05-12 Bbn Technologies Corp. Methods for wireless mesh multicasting
US8139504B2 (en) * 2009-04-07 2012-03-20 Raytheon Bbn Technologies Corp. System, device, and method for unifying differently-routed networks using virtual topology representations

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2538976A1 (fr) * 1982-12-29 1984-07-06 Servel Michel Systeme de commutation de paquets synchrones de longueur fixe
EP0612171B1 (en) * 1993-02-15 2001-11-28 Mitsubishi Denki Kabushiki Kaisha Data queueing apparatus and ATM cell switch based on shifting and searching

Also Published As

Publication number Publication date
US5649119A (en) 1997-07-15
JP3220599B2 (ja) 2001-10-22

Similar Documents

Publication Publication Date Title
US5535202A (en) Priority processing of ATM cells using shift register stages
Kuwahara et al. A shared buffer memory switch for an ATM exchange
EP0441787B1 (en) Communication switching element for transferring cells divided into subcells
US8391281B2 (en) Router design for 3D network-on-chip
JP3220599B2 (ja) データ待ち行列装置
Frazier et al. The design and implementation of a multi-queue buffer for VLSI communication switches.
EP0502873A1 (en) BASIC ELEMENT FOR THE CONNECTION NETWORK OF A FAST PACKET SWITCHING NODE.
US5164939A (en) Packet switching device
JP2001265715A (ja) 2つの非同期クロック・ドメイン境界にわたる処理量を維持するためのパイプライン処理の同期装置
EP0379709A2 (en) Single-fifo high speed combining switch
US5285444A (en) Multi-stage link switch
US20010023469A1 (en) Distributed type input buffer switch system for transmitting arbitration information efficiently and method for processing input data using the same
Oveis-Gharan et al. Efficient dynamic virtual channel organization and architecture for NoC systems
US20070038782A1 (en) System of virtual data channels across clock boundaries in an integrated circuit
JPH10322347A (ja) ネットワーク通信装置
Lee et al. A limited shared output buffer switch for ATM
JPH11219344A (ja) プロセッサ間ネットワークのフロー制御方法および装置
US6789176B2 (en) Address release method, and common buffering device for ATM switching system which employs the same method
Yun et al. A self-timed real-time sorting network
Kondoh et al. An efficient self-timed queue architecture for ATM switch LSIs
US6831920B1 (en) Memory vacancy management apparatus and line interface unit
JP3519608B2 (ja) セル交換装置、アドレス管理装置及びセル情報管理方法
JP3169502B2 (ja) データ待ち行列装置及びデータ待ち行列システム及びデータキューイング方法及びatmスイッチ
JPH04291548A (ja) 高速大容量マトリクス型時間分割ラベル交換方式
JPH11340998A (ja) Atmスイッチ及びatmセル用バッファ管理方法

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20010731

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20070810

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080810

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080810

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090810

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090810

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100810

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110810

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110810

Year of fee payment: 10

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110810

Year of fee payment: 10

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110810

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120810

Year of fee payment: 11

LAPS Cancellation because of no payment of annual fees