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

データ待ち行列装置

Info

Publication number
JP3169510B2
JP3169510B2 JP21007994A JP21007994A JP3169510B2 JP 3169510 B2 JP3169510 B2 JP 3169510B2 JP 21007994 A JP21007994 A JP 21007994A JP 21007994 A JP21007994 A JP 21007994A JP 3169510 B2 JP3169510 B2 JP 3169510B2
Authority
JP
Japan
Prior art keywords
data
shift
input
register
stored
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.)
Expired - Fee Related
Application number
JP21007994A
Other languages
English (en)
Other versions
JPH0879297A (ja
Inventor
泰孝 斉藤
秀昭 山中
宗徳 都築
康仁 佐々木
浩利 山田
一能 大島
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 JP21007994A priority Critical patent/JP3169510B2/ja
Publication of JPH0879297A publication Critical patent/JPH0879297A/ja
Application granted granted Critical
Publication of JP3169510B2 publication Critical patent/JP3169510B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Use Of Switch Circuits For Exchanges And Methods Of Control Of Multiplex Exchanges (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、音声、データ、画像
等のマルチメディアの種々の情報をブロック化したフレ
ーム構造の情報や固定長パケットのような有限長のデー
タを一時的に記憶し、遅延を与えたりデータ交換を行っ
たりするときに用いるデータ交換装置や共通バッファ形
のデータ交換装置のアドレス制御部分に関するものであ
る。
【0002】
【従来の技術】図24は、この出願と同一の出願人が出
願した特願平5−25280(平成5年2月15日出
願)及び特願平6−17566(平成6年2月14日出
願)に係るデータ待ち行列装置の一実施例を示す図であ
る。
【0003】図24において、1は有限長のデータが入
力する入力線、21 〜2m はデータが出力する複数の出
力線、31 〜3m は出力線21 〜2m に対応して設けら
れ入力するデータの宛先出力線をビット単位で示す宛先
指示入力、41 〜4k はデータが記憶されるシフトメモ
リ、511〜5kmはシフトメモリに対応した宛先表示ビッ
トであり、例えば宛先表示ビット512はシフトメモリ4
1 に記憶されているデータが出力線22 を宛先としてい
るか否かを、1ビットの情報で示している。また、別の
例で、例えば宛先表示ビット5kmはシフトメモリ4k
記憶されているデータが出力線2m を宛先としているか
否かを示している。61 〜6m は、出力線21 〜2m
応に設けられた検索回路で、例えば検索回路61 は、宛
先表示ビット511、521...5k1に接続されている。
1 〜7m は、出力線21 〜2m対応に設けられたセレ
クタである。例えば、セレクタ71 は、出力線21 に対
応し、シフトメモリ41 〜4k から、検索回路61 の指
示に従い、該当するデータを選択し出力線21 に出力す
るものである。
【0004】次に動作について説明する。ここで、図2
5〜図27は各部の信号のタイミングを示すタイムチャ
ートで、入力線1の本数が1本、出力線21 〜2m の本
数mが4本で、シフトメモリ41 〜4k の個数kが6個
である場合の各部の状態の変化を示している。
【0005】図25〜図27では、(a)が横軸方向に
時間の流れをタイムスロット単位に示している。(b)
は入力線1に入力されるデータの一例を、(c)は入力
データの宛先を示す宛先指示入力34 ,33 ,32 ,3
1 をこの順で示している。(d)〜(o)は、シフトメ
モリ41 〜46 と宛先指示ビット511〜564の各タイム
スロットの状態の一例を示している。また、(p)〜
(s)は、出力線21 〜24 に出力されるデータを示し
ている。
【0006】入力線1に入力するデータは、有限長の情
報であり、例えば定められた固定時間に対し区切り目を
もつフレーム構造の情報や固定長のアドレス情報や固定
長パケットのようなものである。図25〜図27では、
固定長の時間を定義し、説明のため、タイムスロット1
から順に番号をふり、時刻を定義している。同図では、
単位タイムスロットには、1つのデータが到着するもの
としている。
【0007】タイムスロット1以前には、データが到着
していないか、あるいはデータが到着し出力されてから
十分な時間が経過し、内部のシフトメモリ41 〜46
はデータが存在していない例を示してある。また、デー
タは、タイムスロット1,2,3,4,6,7,8にそ
れぞれ1つずつ到着しているものとする。
【0008】また、図25〜図27は、出力線21 〜2
4 の読み出しが、4タイムスロット毎にまとめて行われ
る場合を示していて、実際にはタイムスロット4及びタ
イムスロット8でデータが読み出されている。
【0009】データが入力線1から入力すると同時に、
宛先指示入力31 〜34 から宛先情報が入力される。例
えば、入力したデータが出力線24 を宛先とする場合、
宛先指示入力34 が有意状態となっている。図では、有
意ビットを”1”としているので、このとき、入力する
宛先指示入力{34 ,33 ,32 ,31 }は、{1,
0,0,0}となっている。
【0010】タイムスロット1では、出力線24 宛ての
データaが、タイムスロット2では、出力線21 宛ての
データbが入力している。いま、タイムスロット1では
シフトメモリ46 が空いているため、入力データaはす
ぐにシフトする。このとき、宛先指示入力31 〜34
は、宛先表示ビット564〜561に取り込まれる。
【0011】同様にタイムスロット2では、シフトメモ
リ45 が空いているため、データaはシフトメモリ46
からシフトメモリ45 へシフトし、空いたシフトメモリ
6には入力したデータbがシフトしてくる。データa
がシフトメモリ46 からシフトメモリ45 へシフトする
と同時に、元の宛先表示ビット564〜561は、次のシフ
トメモリ45 に対応した宛先表示ビット554〜551へシ
フトする。
【0012】次に出力線21 〜24 へのデータの読み出
しについて説明する。図25には、タイムスロット4で
データをまとめて出力する例を示している。タイムスロ
ット4でデータを出力するために、タイムスロット4の
はじめで、検索回路61 〜64 が、出力すべきデータの
検索を行う。もし、対応する宛先指示ビット511〜564
のなかにそれぞれ有意ビットがあれば、それを対応する
セレクタ71 〜74 に通知する。セレクタ71 〜74
は、通知のあったシフトメモリ4 1 〜46 から1つを選
択し、データをそれぞれ出力線21 〜24 に出力する。
【0013】例えば、出力線21 に出力するデータを検
索するのは、検索回路61 であり、宛先指示ビット
11,521,531,541,551,561をこの順番で読み
取り、この中から有意ビット”1”を探す。もし、この
中に有意ビットがあれば、これをセレクタ71 に通知す
る。セレクタ71 は、図では6個のものから1つを選択
するセレクタであり、検索回路61 の指示に従って、6
個のシフトメモリ41 〜46 から1つを選択し、該当デ
ータを出力線21 に出力する。
【0014】上記出力線21 にデータを出力させるため
の動作は、他の出力線22 〜24 の出力動作とは独立で
あるので、同時にかつ別々に動作が可能である。
【0015】検索回路61 〜64 によって検索された宛
先表示ビット511〜564は、検索の結果、選択されると
有意ビットが消される。また、データが読み出されたシ
フトメモリ41 〜46 からは、そのデータが消去され
る。もし、そのシフトメモリ41 〜46 の後段にデータ
があれば、データが読み出されたシフトメモリに対して
後ろからデータがシフトされる。
【0016】次に、図25〜図27を用いて具体的な動
作について、説明する。図25のタイムスロット1〜タ
イムスロット4においては、データa,b,c,dがそ
れぞれ入力され、入力されたデータa,b,c,dは、
入力された順にシフトメモリに記憶され、シフトされ
る。タイムスロット4においては、前述したように出力
線21 〜24 へのデータの読み出しが行われる。
【0017】以下、図25の例で、タイムスロット4に
おいて、出力線21 に出力するデータについて具体的に
説明する。タイムスロット4において、検索回路61
は、宛先指示ビット511,521,531,541,551,5
61をこの順番で読み取る。この値は、それぞれ0,0,
0,0,1,1である。この中から有意ビット”1”を
この順番で探すと宛先指示ビット551が該当するので、
これをセレクタ71 に通知する。セレクタ71 は、検索
回路61 の指示に従って、6個のシフトメモリ41 〜4
6 から45 を選択し、データbを出力線21 に出力す
る。
【0018】データbが出力線21 に出力されると、タ
イムスロット4でデータbが存在していたシフトメモリ
5 が空き、図26に示すタイムスロット5で後段にあ
ったデータcがシフトメモリ45 にシフトしてくる。ま
た、データcに付随して、宛先表示ビット564,563
62,561の情報も、宛先表示ビット554,553
52,551にシフトしてくる。
【0019】同様に、出力線24 にはデータaが出力さ
れる。
【0020】また、出力線22 に該当する宛先指示ビッ
ト512,522,532,542,552,562は0,0,0,
0,0,0と有意ビットがないため、検索回路62 は出
力するデータが無いことをセレクタ72 に通知する。そ
のため、出力線22 からは、データは出力されない。同
様に出力線23 からも出力されるデータは無い。
【0021】タイムスロット5においては、入力線1か
らデータが入力されないため、タイムスロット5におけ
るデータが空きのまま順にシフトされる。更に、タイム
スロット6〜タイムスロット8においては、データe,
f,gが順に入力される。入力されたデータはシフトメ
モリに記憶されシフトされる。タイムスロット8におい
ては、前述したように出力線へのデータの読み出しが行
われる。この場合には、出力線21 に出力するデータと
して、検索回路61 がデータcを検索する。また、出力
線22 出力するデータとして検索回路62 がデータeを
検索する。これら検索されたデータcとデータeは、そ
れぞれの出力線に出力される。出力線23 及び出力線2
4 に関しては、宛先指示ビットに有意ビットがないた
め、検索回路63 及び検索回路64 は、出力データがな
いことを判断する。従って、出力線23 及び出力線24
には、データは出力されない。
【0022】次に、タイムスロット9〜タイムスロット
11においては、入力線からデータが入力されない。こ
の場合には既にシフトメモリに記憶されているデータが
順次シフトされる。
【0023】また、図27に示すタイムスロット10で
は、データdがシフトメモリ41 中に存在しているが、
シフトメモリ41 は最終段であるので、データdはこれ
以上シフトされずに、タイムスロット11でもシフトメ
モリ41 中に存在している。
【0024】このデータdは、タイムスロット12にお
いて、検索回路61 により出力線21 に出力するデータ
であると検索され、セレクタ71 により出力線21 に出
力される。
【0025】上記の例では、入力したデータをすべてシ
フトメモリ46 に書き込むことが出来たが、すべてのシ
フトメモリ41 〜46 にデータが存在する場合にはデー
タを書き込むことができないので、このデータは廃棄さ
れる。データが廃棄される確率を下げるためにもシフト
メモリ41 〜4k の個数kは大きい方がよい。
【0026】次に、図28を用いて前述した動作のフロ
ーについて説明する。S1において、入力線1及び宛先
指示入力31 〜3m からデータ及び宛先指示を入力す
る。次に、S2において、入力したデータを最初に記憶
する最後段のシフトメモリに既にデータが存在するかど
うかをチェックする。既に最後段のシフトメモリにデー
タが存在している場合には、S1において入力したデー
タ及び宛先指示は、S3において廃棄される。S2にお
いてシフトメモリが空いていることが判明した場合に
は、S5においてS1において入力したデータ及び宛先
指示を最後段のシフトメモリに記憶する。次に、S6に
おいて、4回目の入力であるかどうかをチェックする。
4回目の入力でない場合には、再びS1〜S5の動作を
繰り返す。尚、S1〜S6の動作が繰り返されている
間、シフトメモリは入力したデータを前詰めしていく。
この前詰め作業により、データを入力する最後段のシフ
トメモリはシフトメモリ全体がフルでない限り、空きの
状態になる。S6において、入力が4回目であることが
判定された場合には、S7において検索回路61 〜64
が出線毎に宛先指示を検索して、出線毎の出力があるか
どうかを検索する。S8においては、検索結果出線対応
のデータが見つかったかどうかを判定し、見つからない
場合には、再びS1の入力工程に戻る。S8において出
線に出力データが見つかった場合には、S9においてセ
レクタが対応するデータをシフトメモリから選択する。
S10においては、セレクタが選択したデータを対応す
る出線に出力する。S11においては、S10において
出力されたデータは既に不要となるため、対応する宛先
指示をクリアし、そのデータをシフトメモリから削除す
る。このデータの削除後は再びS1のデータ及び宛先指
示入力に戻る。また、このデータ削除により、後段のシ
フトメモリに対してデータの前詰め作業を促すことにな
り、宛先指示がクリアされたものは後段のシフトメモリ
の内容で上書きされる。
【0027】以上のようにこの例は、入力線1に入力さ
れた有限長のデータを、その宛先に関係なく、順次隣接
間でシフトしていくことが可能なシフトメモリ4に書き
込み、シフトメモリに対応してそのデータの宛先をしめ
す宛先表示ビット5を設け、宛先出力線対応に宛先表示
ビットの中の有意ビットを検索する検索回路6により出
線対応に到着先着順で出力データをみつけ、セレクタ7
により抽出し、抽出の後に、シフトメモリの後段をシフ
トさせ、セレクタよりデータを所望の出力線2に出力さ
せるようにしたものである。
【0028】この例によれば、入力線から入力したデー
タを、シフトメモリに書き込み、その宛先を宛先表示ビ
ットに記憶させ、宛先表示ビットを出力線対応に検索
し、先に入力したデータから先に読み出しを行うので、
入力したデータを所定の宛先出力線に到着順に導くこと
が可能であり、シフトメモリを全出力線で共有化してい
るため、データの書き込み数がバッファメモリの容量を
超えることで生じるデータの廃棄率を下げることが可能
なデータ待ち行列装置が得られる。
【0029】
【発明が解決しようとする課題】データ待ち行列装置
は、以上のように構成されているので、データがシフト
メモリから出力されるたびにデータをシフトメモリ上で
シフトさせなければならないという問題点があった。こ
のようなシフト動作を伴うとシフトのための遅延時間が
生じたりあるいはシフトのための電力を消費するという
問題点が発生する。特に前述したデータ待ち行列装置
が、集積化された半導体チップにより構成される場合に
は、シフト動作をできるだけ減らして消費電力を少なく
することが望ましい。
【0030】また、シフトメモリのサイズが固定的であ
る場合には、データ量が増えた場合にシフトメモリのオ
ーバーフローを生じてしまい到着したデータを廃棄して
しまわなければならないという問題点があった。
【0031】この発明は、以上のような問題点を解決す
るためになされたものであり、シフトメモリのシフト動
作をできるだけ減らしたデータ待ち行列装置を得ること
を目的とする。また、この発明はできるだけ消費電力の
少ない回路で構成されたデータ待ち行列装置を得ること
を目的とする。また、この発明はシフトメモリが柔軟に
拡張できるデータ待ち行列装置を得ることを目的とす
る。また、この発明はシフトメモリを拡張した場合にお
いても高速にデータが検索できるデータ待ち行列装置を
得ることを目的とする。
【0032】
【課題を解決するための手段】この発明に係るデータ待
ち行列装置は以下の要素を有する。 (a)データを出力する複数の出力線、(b)上記複数
の出力線に対して共通に設けられ、入力されたデータを
順にシフトして記憶するシフト記憶部、(c)上記複数
の出力線の少なくともいずれか1つの出力線を宛先とし
て保持したデータを上記シフト記憶部の任意の位置に入
力して記憶させる入力部、(d)上記出力線それぞれに
対して、上記シフト記憶部に記憶されたデータの中から
その出力線を宛先として保持しているデータを検索し
て、検索されたデータをその出力線に対して出力すべき
データとして選択する検索選択手段。
【0033】上記シフト記憶部はデータを記憶してシフ
トする複数のレジスタを有し、上記入力部は、レジスタ
の間に他のレジスタからのデータと外部から入力された
データのいずれかを選択してレジスタに出力するセレク
タを備えたことを特徴とする。
【0034】上記選択手段は、上記シフト記憶部に記憶
されたデータの中で未出力のデータの先頭位置を記憶し
ておき、その先頭位置からデータを検索することを特徴
とする。
【0035】上記シフト記憶部は、記憶したデータを所
定の方向に循環シフトさせ、上記検索選択手段は、上記
シフト記憶部に循環記憶されたデータの中で未出力のデ
ータの先頭位置を記憶しておき、その先頭位置からデー
タを検索することを特徴とする。
【0036】上記入力部は、さらに、シフト記憶部のデ
ータが記憶されていないレジスタの中から、外部から入
力されたデータが記憶されるべきレジスタを選択して、
外部から入力したデータを上記セレクタにより検出した
レジスタに記憶させるレジスタ選択部を備えたことを特
徴とする。
【0037】上記シフト記憶部は、複数のシフト記憶部
を連結したシフト記憶部であることを特徴とする。
【0038】上記検索選択手段は、連結された複数のシ
フト記憶部のデータを独立に検索することを特徴とす
る。
【0039】上記シフト記憶部は、記憶したデータを未
出力データの多い方向にシフトさせ、上記検索選択手段
は、上記シフト記憶部に記憶されたデータの中で未出力
のデータの先頭位置を記憶しておき、その先頭位置から
データを検索することを特徴とする。
【0040】
【作用】この発明におけるデータ待ち行列装置は、シフ
ト記憶部に対して任意の位置にデータを入力するように
したので、データをシフト記憶部の入り口から入力する
必要が無くなり、データのシフト動作が少なくなる。
【0041】また、この発明においてはセレクタを設け
ることにより、レジスタに対して簡単な構成で外部から
入力されたデータか前段のレジスタからくるデータかの
いずれかを容易に選択することができる。
【0042】また、この発明においては検索選択手段
が、検索の先頭位置を記憶しておきその位置からデータ
を検索するようにしたので未出力のデータをシフト記憶
部の先頭にシフトするというシフト動作を省略すること
ができる。
【0043】また、前述したように検索する先頭の位置
がずれていく場合でも、シフト記憶部がデータを循環さ
せて記憶して行くことにより、更にシフト動作の回数を
減らすことができる。
【0044】また、この発明においては、入力部がデー
タを記憶する最適なレジスタを検出するので、シフト動
作が伴わないあるいはシフト動作が最小限ですむレジス
タにデータが記憶される。
【0045】また、この発明においては、複数のシフト
記憶部を連結することができるので、データ量あるい
は、システムの規模に応じてシフト記憶部のサイズを柔
軟に変更することができる。
【0046】また、複数のシフト記憶部が連結された場
合でも、検索選択手段がそれぞれのシフト記憶部に対し
て独立にかつ同時にデータの検索を実行するのでシフト
記憶部のサイズが増加した場合でも効率良くデータの検
索を行うことができる。
【0047】また、この発明においては、シフトがどち
らの方向にもできるので、より少ないデータをシフトし
て詰めることで更にシフト動作の回数を減らすことがで
きる。
【0048】
【実施例】
実施例1.図1は、この発明の一実施例による基本アイ
ディアを示す図である。この実施例の具体的構成例は、
前述した従来の技術に示したものと同様のものである。
ここではその中から特にシフトメモリと、宛先表示ビッ
トの部分を抜き出して図示している。以下、この明細書
においては各シフトメモリと各シフトメモリに対応する
宛先表示ビットの組合せをレジスタと呼ぶことにする。
図1においてはレジスタをR1、R2、R3・・・とし
て示している。また、この明細書で、外部入力というと
きには入力線及び、宛先指示入力によるデータの入力を
意味するものとする。
【0049】図1はいずれのレジスタに対しても書き込
みが可能な検索機能付待ち行列を示している。検索機能
付キューをATMスイッチに適用した場合一定時間に入
力されるセルの数と出力されるセルの数は、ほぼ等しい
ことが多い。その場合はキューの前の一部分のしか使用
されないのでキューの一番後ろからデータを入力して先
頭近くまでシフトすることは、無駄である。そこでキュ
ーイングされているデータの最後尾の後ろにデータを入
力すれば、データのシフトが少なくなる。
【0050】図2は、キューのいずれのレジスタに対し
てもデータを書き込める検索機能付キューの構成の一部
分を示す図である。セレクタS1、S2、S3・・・
は、通常1つ前のレジスタからのデータを選択するが外
部からデータを書き込む場合には外部入力を選択する。
キューイングされているデータの最後尾を見つけるため
にレジスタ選択部100が存在している。
【0051】図3は、図2に示したキューの詳細を示す
図である。前述したようにレジスタは、シフトメモリと
宛先表示ビットにより構成されている。シフトメモリに
対しては入力線1からデータが入力される。宛先表示ビ
ットに対しては、宛先指示入力から宛先が入力される。
これらの外部入力がセレクタに入力される。またセレク
タが1つ前にあるレジスタからのデータと宛先を入力す
る。セレクタは各信号をレジスタ選択部100からの切
替指示により切替る。セレクタは通常は、直前にあるレ
ジスタからのデータを選択して次のレジスタに出力する
がレジスタ選択部100からの切替指示があった時、外
部入力200のデータを対応するレジスタに入力する。
【0052】次にレジスタ選択部が、キューイングされ
ているデータの最後尾を見つける場合の一例について説
明する。図4は、レジスタ選択部がライトポインタを持
っている例を示している。このライトポインタは、キュ
ーイングされているデータの位置をカウントするポイン
タであり、このポインタの値を参照することによりどこ
までデータがキューイングされているかを知ることがで
きる。
【0053】図5は、レジスタ選択部が図4に示すよう
なライトポインタを持つ場合の動作を示すフローチャー
トである。まずST1において、この装置の電源がON
にされた場合、ライトポインタは、1に初期化される。
この状態は図6(a)に示すようにキューの中にまだデ
ータが1つも存在しない場合を示している。次にST2
において、実際にデータがレジスタR1に入力されたか
をチェックする。レジスタR1にデータが入力された場
合には、ST3においてライトポインタの値を増加させ
る。キューの状態は図6(b)に示す状態となる。
【0054】次に、ST4においてライトポインタの値
がレジスタの個数を越えているかどうかをチェックす
る。例えば図6に示す場合は、レジスタは最大6個しか
ないためライトポインタの値が7になると、ST5にお
いてオーバーフローの状態が発生したことを通知する。
【0055】次に、ST6において若番のレジスタがシ
フト動作より空きになったかどうかをチェックする。す
でにキューイングされているデータが検索されて出力さ
れて場合にはシフト動作が行われる。従ってそのような
シフト動作により、ライトポインタが指しているレジス
タの1つ前のレジスタが空いているかどうかをチェック
する。もし1つ前のレジスタが空いていない場合には再
びST2からST6の動作を繰り返す。図6(c)は、
ST2からST6の動作が繰り返され、2番目のデータ
がレジスタR2に入力された状態を示している。
【0056】図6(c)の状態において、データAが出
力された場合には、図6(d)のような状態になる。即
ち、データAが出力されたことによりデータ(b)がレ
ジスタR2からレジスタR1にシフトされる。図6
(d)のような状態になった場合にはST6においてラ
イトポインタが示すレジスタR3の1つまえのレジスタ
R2が空いたことになり、ST7において、ライトポイ
ンタの値を減少させる。このようにしてライトポインタ
の値は、データの入力とともに増加する。一方、若番の
レジスタの空きにより減少させられる。このようなライ
トポインタを用いることにより、キューイングされてい
るデータの最後尾を常に示すことができ、この最後尾に
データを入力させることにより、入力したデータのシフ
ト動作を最小限にすることができる。
【0057】図7は、レジスタ選択手段100が、レジ
スタにデータが記憶されているか、あるいは空いている
かを検査する場合の回路図である。シフトメモリに記憶
されているデータがすでに出力されてしまったものかど
うかは、宛先表示ビットがONかOFFになっているか
をチェックすることにより検査できる。図7において
は、1つのシフトメモリに対して4ビットの宛先表示ビ
ットが存在している。従ってこの4ビットの宛先表示ビ
ットの値のORをとることによりレジスタが空いている
かどうかを検査することができる。図7に示す例におい
ては、ライトポインタの値が3を示している状態でレジ
スタR2が空いていればライトポインタの値を2に変更
し、レジスタR2が空いていなければ3のままとするこ
とを示している。
【0058】図8は、レジスタ選択部100がキューイ
ングされているデータの最後尾を見つける他の例を示す
図である。図8に示す例は、キューの後ろから全ての宛
先表示ビットをサーチして最後尾を見つける方法を示し
ている。図9は、その具体例を示す図である。キューが
3つのレジスタを有している場合を例にして説明する。
レジスタ選択部100は、宛先表示ビットを順に後ろか
ら検査することにより、キューイングされているデータ
の最後尾を見つけることができる。もし、レジスタR3
がデータにより占有されている場合には、オーバーフロ
ーが通知される。もし、レジスタR3が空いており、レ
ジスタR2が使用されている場合には、ライトポインタ
に3がセットされる。もし、レジスタR3とR2が空い
ており、レジスタR1が使用されている場合は、ライト
ポインタとして2がセットされる。もし、レジスタR
3、R2、R1が空いている場合には、ライトポインタ
として1がセットされる。
【0059】なお、図7および図9に示したとおり、宛
先表示ビットをチェックすることによりそのレジスタが
空いているか、あるいは使用されているかというOR回
路は、そのレジスタに記憶されたデータを削除してもよ
いかどうかを判断する為に、以前から存在している回路
を利用することができる。即ち、シフトメモリがシフト
動作をする場合には、シフトメモリ内に存在しているデ
ータを消してしまってもよいかどうかという判断を予め
行わなければならなかった。その判断に用いられている
回路をそのままこのレジスタ選択部に利用することによ
り、特別な回路を付加することなく、空いているレジス
タであるかあるいは使用されているレジスタであるかを
判定することができる。
【0060】実施例2.上記実施例では、全てのレジス
タに対応してセレクタを設け、いずれのレジスタに対し
てもデータを書き込めるようにした。図10に示すよう
に幾つかのレジスタをブロック化し、ブロック毎に外部
から書き込めるようにしてもかまわない。図10に示す
例においては、3つのレジスタを1つのブロックとし、
各ブロックに対して外部入力が行えるようにしたもので
ある。図11は、図10に示した概念の構成を示す図で
ある。セレクタは、3つのレジスタおきに配置されてい
る。このようにセレクタをとびとびに配置することによ
り、データのシフトの数は若干増えるがセレクタの数を
減少させることができ、ハードウェア量の削減ができ
る。なお、この例においては、3つおきにセレクタを配
置する場合を示しているが、4つおき、5つおきであっ
てもかまわない。あるいは、この例においては、1つの
ブロックに対して3つのレジスタを割り当てているが、
1つのブロックに対してランダムな数のレジスタを配置
するようにしてもかまわない。あるいは、レジスタの位
置によってブロック化されるレジスタの数を変化させて
もよい。たとえば、以下のように若番のレジスタほどブ
ロック化されるレジスタの数を小さくすることにより、
頻繁に用いられる若番のレジスタのシフト回数を少なく
できる。 第1ブロック レジスタR1 第2ブロック レジスタR2 第3ブロック レジスタR3 第4ブロック レジスタR4、R5 第5ブロック レジスタR6、R7 第6ブロック レジスタR8、R9 第7ブロック レジスタR10、R11、R12 第8ブロック レジスタR13、R14、R15
【0061】実施例3.図12は、検索の開始位置を替
えられる検索機能付待ち行列の概念図である。図12
は、任意のレジスタに書き込みが可能な検索機能付キュ
ーに検索の開始位置を替えることができ、シフト動作を
この検索の開始位置でやめる機能を持たせたキューを示
している。このように、検索の開始位置を変更すること
によりレジスタに記憶されたデータを先頭までシフトす
る必要が無くなり、シフト動作を減少させることができ
る。図12に示す場合示す例は、リードポインタが4の
値を持っている。従って検索は、レジスタR4以降に対
して行われる。従ってレジスタR4に記憶されているデ
ータは、レジスタR3、R2、R1にはシフトされずデ
ータがレジスタR4までシフトしてきた時点で、シフト
動作が停止する。検索はこのリードポインタに示される
検索開始位置からキューが持っているレジスタの数だけ
行われる。キューが合計20個のレジスタを持っている
とすれば検索は、レジスタR4からR20まで行われ再
び先頭から、検索されR1からR3まで検索される。
【0062】図13は、前述したように検索開始位置を
リードポインタに保持する場合のいくつかの動作を示す
図である。図13(a)に示すようにレジスタR8のデ
ータが読み出された場合には、シフト動作が開始する。
この場合には、キューイングされているデータの先頭は
シフトせずに途中空いたところだけシフトする。即ち、
レジスタR4のデータは、R3にシフトせずレジスタR
9のデータがレジスタR8にシフトする。また、レジス
タR10以降のデータも順に前ずめされる。
【0063】図13(b)は、リードポインタが次第に
値を増加させ17の値まで増加した場合を示している。
この様な時点で既にデータがレジスタR20まで記憶さ
れており、更に新たなデータが入力された場合には、図
13(c)のように先頭のレジスタR1以降に記憶す
る。即ち、図13(b)のようにデータがキューの一番
後ろまで詰まった後は、図13(c)のように再びデー
タをキューの前から入力する。このようにデータの検索
開始位置を増加させ、レジスタに記憶されたデータをシ
フトさせずにおくことによりシフト動作の回数が減少す
る。なお、この例では、動作は常に若番のレジスタに向
って行われる。レジスタR1からレジR20にデータが
シフトすることはない。
【0064】図14は、前述したようにリードポインタ
を有してリードポインタが示す位置から検索を開始する
場合のライトポインタの動作を示す図である。図14に
示すST1〜ST7の各ステップは、図5に示したライ
トポインタの動作と同様である。図14において図5と
異なる点は、S10とS11である。ST4においてラ
イトポインタの値が、レジスタの最大個数を越えた場
合、ST10においてライトポインタの値を1に設定し
なおす。また、ST11において増加されたライトポイ
ンタが有効なデータを保持しているリードポインタと重
なったかどうかをチェックすることによりオーバーフロ
ーを検出している。図13(b)(c)に示したように
キューがサイクリックに用いられるため、キューのオー
バーフローの判断はST11に示すようにライトポイン
タとリードポインタが重なったことにより判定する。
【0065】なお、この実施例においても実施例2に示
したとおり、レジスタをブロック化して外部からデータ
を書き込めるレジスタを飛び飛びに配置するようにして
も構わない。
【0066】実施例4.図15は、リング状検索機能付
待ち行列を示す概念図である。実施例3においてデータ
がキューの一番後ろまで詰まった後は、キューの先頭か
らデータを記憶するようにしたが、データはレジスタR
1からレジスタR20へシフトしなかった。この実施例
は、前述した実施例3の方式を改良して、シフト動作自
身がキューの先頭のレジスタR1から最後尾のレジスタ
R20にシフトできるようにしたものである。従って、
キューは、図15に示すようにリング状(ドーナツ状)
の形態となる。検索のスタート位置は、リードポインタ
で示されるデータを記憶するレジスタは、ライトポイン
タで示される。これらリードポインタとライトポインタ
の動作は、前述した実施例3と同様であり、この実施例
では、特にシフト動作がキューの先頭からキューの最後
尾にできる点に特徴がある。
【0067】図16は、リング状検索機能付待ち行列の
構成を示す図である。特徴となる点はセレクタS20が
追加されている点である。セレクタS20には、レジス
タR1からの出力と外部入力が入力される。セレクタS
20は、通常はレジスタR1からのデータを選択しレジ
スタR20にシフトする。このような構成とすることに
よりシフト動作がキューの先頭から最後尾にできるよう
になる。
【0068】このようにキューがリング状の構成を取る
場合、データのシフト条件として二つの方法が考えられ
る。まず第1のシフト条件は、前述した実施例3と同様
にデータが出力され途中に空きができた場合、その空き
を詰めるためにシフトする方式である。この場合リード
ポインタより前にはデータはシフトされない。また、第
2のシフト条件としては、途中でシフトせずキューに書
き込むスペースが少なくなってきたときにシフトを開始
する方式が考えられる。キューにデータを書き込むレジ
スタの数が少なくなってきたかどうかは、リードポイン
タとライトポインタの差を求めることにより判定するこ
とができる。例えば空いているレジスタの数が3になる
までシフトせず、空いているレジスタの数が3になった
場合にシフト動作を行う。ライトポインタの値−リード
ポインタの値=3になった場合あるいは3以下となった
場合にシフト動作を開始してレジスタのガーベイジコレ
クションを行う。
【0069】実施例5.この実施例においては、キュー
のサイズを拡張する場合について説明する。図17
(a)は、実施例1、2、又は3に示したキューを示し
ている。また、(b)は実施例4に示したようなリング
状のキューを示している。いずれの場合においても待ち
行列のサイズを決定してしまうとそのサイズを拡張する
ことはできない。しかし、図17(c)のようにキュー
を連結することによりキューのサイズを拡張することが
できる。また、図17(d)のようにキューを連結する
ことによりキューのサイズを拡張すると共に連結された
キュー全体をリング状の構成とすることができる。
【0070】図18は図17(c)に示すように2つの
キューを連結する場合を示している。各キューには全て
のレジスタに対応してセレクタが設けられている。特に
セレクタS20とセレクタS40が存在することによ
り、各キューの最後のレジスタに対して入力するデータ
の選択を行うことができる。セレクタS20は、外部入
力とレジスタR21からの入力のいずれかを選択するこ
とができる。セレクタS20が、通常は、レジスタR2
1からの入力を受け付けることにより、2つのキューを
連結することができる。一方セレクタS40は、外部入
力のみを行い他方の入力を行わないようにする。このよ
うにして2つのキューを連結することができる。
【0071】図19は、図17(d)に示す拡張された
リング状の待ち行列を示す図である。図19において特
徴となる点は、セレクタS100とセレクタS200が
設けられている点である。セレクタS100の一方の入
力には、レジスタR21からのデータを入力する。セレ
クタS100とセレクタS20は、レジスタR21から
のデータをレジスタR20に伝える。従って、2つのキ
ューの連結が達成できる。一方セレクタS200は、レ
ジスタR1からのデータを入力する。セレクタS200
とセレクタS40は、レジスタR1からのデータをレジ
スタR40に伝える。このようにして連結された2つの
キューがリング状の構成となる。
【0072】図20は、図16に示したリング状検索機
能付キューと同様の構成を持つキューを2つ連結したも
のである。図20に示す場合は、図19に示す場合に比
べてより簡単な構成により連結されたリング状のキュー
を構築することができる。
【0073】以上のように複数のキューを連結してキュ
ーのサイズを拡張した場合には複数のキューへのデータ
の入力と復数のキューからの読みだしを一元的に管理し
なければならない。この連結したキューへのデータの読
み書きを制御する方式としては以下の2つの方式が考え
られる。まず第1の方式として、前述した実施例と同様
にリードポインタとライトポインタを用いいずれか1つ
のキューのリードポインタとライトポインタをマスタと
し、他のキューのリードポインタとライトポインタを使
用せず、マスタとなったリードポインタとライトポイン
タにより連結されたキューへのデータの読み書きを行う
制御方式が考えられる。また、第2の方式として、連結
されたキューそれぞれに存在するリードポインタとライ
トポインタを用いる方式が考えられる。連結されたキュ
ーそれぞれのリードポインタ及びライトポインタを用い
る場合は、現在アクティブになっているリードポインタ
を示すためのトークンをリードポインタ間で受け渡す。
同様に現在アクティブとなっているライトポインタを示
すためにライトポインタ間でトークンを受け渡す。この
ようにしてトークンを持っているリードポインタあるい
はトークンを持っているライトポインタが連結されたキ
ューへのデータのアクセスを管理することにより複数の
キューを連結した場合でもあたかも1つのキューで動作
しているのと同様にデータの入力及び出力を行うことが
できる。
【0074】図21は、3個のキューを連結した場合を
示している。複数のキューを連結した場合、最悪の場
合、データの検索は連結されたキューの先頭から最後ま
で行わなければならなくなり、検索時間が増大してしま
う。そこでキューを連結した場合それぞれのキューに対
して検索が独立にしかも同時に行われるようにする。図
21に示す場合には、3個のキューに対して検索動作を
3箇所並列に実行している場合を示している。3箇所か
ら検索されたデータの中からセレクタ300により最終
的にひとつがセレクトされる。このようにしてキューの
サイズが増大した場合でもキューが1つある場合とほほ
同じ時間でデータの検索を行うことができる。
【0075】実施例6.図22は、シフトが両方向に可
能な検索機能付待ち行列の概念図である。図22(a)
はデータが詰まっている間からデータが読み出され、後
ろ側のデータ数が少ない場合を示している。この例のよ
うな場合、シフトは通常のように前にシフトする。逆に
図22(b)のように前側のデータ数が少ない場合、後
ろにデータをシフトすることで、通常の前にシフトする
場合よりシフト回数を少なくできる。なお、データがシ
フトできるのはリードポインタと、ライトポインタの間
である。
【0076】図23は、シフトが両方向に可能な検索機
能付待ち行列の構成を示す図である。特徴は各レジスタ
の出力を1段前のセレクタにループバックしている点で
ある。たとえば、レジスタR1の出力が1段前のセレク
タS2にループバックして入力されている。このループ
バック入力のために、セレクタが2:1でなく、3:1
のセレクタになっていることにも特徴がある。このよう
にループバックの経路を設けたことにより、データを後
ろにシフトすることができる。
【0077】
【発明の効果】以上のようにこの発明によれば、入力部
がシフト記憶部の任意の位置にデータを記憶できるの
で、データのシフト動作を最小限に抑えたデータ待ち行
列装置を得ることができる。このようにシフト動作を最
小限に抑えることにより消費電力の少ない装置を得るこ
とができる。
【0078】また、シフト記憶部への任意の位置へのデ
ータの入力はセレクタにより行われ簡単な構成によりシ
フト記憶部の任意の位置にデータを入力することができ
る。
【0079】また、検索すべき先頭位置を記憶している
ためデータをシフトメモリの先頭位置までシフトする必
要が無くなる。
【0080】また、シフト記憶部へのデータの入力を循
環させるようにしたので更にシフト動作を減らすことが
できる。
【0081】また、入力部はシフト動作が最も少ない位
置へデータを入力するので入力されたデータのシフト動
作を少なくすることができる。
【0082】また、この発明によれば、シフト記憶部を
連結して増設することができるのでデータの量に応じた
柔軟性のあるデータ待ち行列装置を得ることができる。
【0083】また、連結されたシフト記憶部を独立に検
索することができるので、シフト記憶部の容量が増加し
た場合でも効率のよい検索が行える。
【0084】また、シフトがどちらの方向にもできるの
で、より少ないデータをシフトして詰めることで更にシ
フト動作の回数を減らすことができる。
【図面の簡単な説明】
【図1】 この発明の検索機能付キューの概念図であ
る。
【図2】 この発明の検索機能付キューの構成図であ
る。
【図3】 この発明のセレクタの構成を示す図である。
【図4】 この発明のライトポインタを示す図である。
【図5】 この発明のライトポインタの変更動作を示す
フローチャート図である。
【図6】 この発明のライトポインタを用いた動作を示
す図である。
【図7】 この発明のレジスタ選択手段の動作を説明す
る図である。
【図8】 この発明のライトポインタの他の例を示す図
である。
【図9】 この発明のレジスタ選択手段の他の例を示す
図である。
【図10】 この発明の検索機能付キューの他の例を示
す図である。
【図11】 この発明の検索機能付キューの他の構成図
である。
【図12】 この発明の検索開始位置が変更可能な機能
付キューを示す図である。
【図13】 この発明の検索開始位置を用いた検索動作
を示す図である。
【図14】 この発明のライトポインタの変更動作を示
すフローチャート図である。
【図15】 この発明のリング状検索機能付キューの概
念図である。
【図16】 この発明のリング状検索機能付キューの構
成図である。
【図17】 この発明の連結されたキューの概念図であ
る。
【図18】 この発明の連結されたキューの一例を示す
図である。
【図19】 この発明の連結されたキューの一例を示す
図である。
【図20】 この発明の連結されたキューの一例を示す
図である。
【図21】 この発明の連結されたキューの並列検索を
示す図である。
【図22】 この発明のシフトが両方向に可能な検索機
能付待ち行列の概念図である。
【図23】 シフトが両方向に可能な検索機能付待ち行
列の構成を示す図である。
【図24】 データ待ち行列装置を示すブロック図であ
る。
【図25】 各部における信号のタイミングを示すタイ
ムチャート図である。
【図26】 各部における信号のタイミングを示すタイ
ムチャート図である。
【図27】 各部における信号のタイミングを示すタイ
ムチャート図である。
【図28】 動作フローチャート図である。
【符号の説明】
1 入力線、21 〜2m 出力線、31 〜3m 宛先指
示入力、41 〜4k シフトメモリ、511〜5km 宛先表
示ビット、61 〜6m 検索回路、71 〜7m セレク
タ、111 〜11n 入線、121 〜12m 出線、1
3 パケット多重回路、14 メモリ、15 パケット
分離回路、16 制御回路、17 ヘッダ変換回路、1
00 レジスタ選択部、200 外部入力、300 セ
レクタ、R1,R2,R3,・・・ レジスタ、S1,
S2,S3,・・・ セレクタ、S100,S200
セレクタ、WP ライトポインタ、RP リードポイン
タ、900 キュー。
フロントページの続き (72)発明者 佐々木 康仁 鎌倉市大船五丁目1番1号 三菱電機株 式会社 通信システム研究所内 (72)発明者 山田 浩利 鎌倉市大船五丁目1番1号 三菱電機株 式会社 通信システム研究所内 (72)発明者 大島 一能 鎌倉市大船五丁目1番1号 三菱電機株 式会社 通信システム研究所内 (56)参考文献 特開 平3−159437(JP,A) 特開 平2−139629(JP,A) 特開 平7−235931(JP,A) 特開 平6−296181(JP,A) (58)調査した分野(Int.Cl.7,DB名) H04L 12/28 H04L 12/56

Claims (7)

    (57)【特許請求の範囲】
  1. 【請求項1】a)データを出力する複数の出力線
    、 (b)上記複数の出力線に対して共通に設けられ、入力
    されたデータを順にシフトして記憶するシフト記憶部
    、 (c)上記複数の出力線の少なくともいずれか1つの出
    力線を宛先として保持したデータを上記シフト記憶部の
    任意の位置に入力して記憶させる入力部、 (d)上記出力線それぞれに対して、上記シフト記憶部
    に記憶されたデータの中からその出力線を宛先として保
    持しているデータを検索して、検索されたデータをその
    出力線に対して出力すべきデータとして選択する検索選
    択手段とを備え、 上記検索選択手段は、上記シフト記憶部に記憶されたデ
    ータの中で未出力のデータの先頭位置を記憶しておき、
    その先頭位置からデータを検索することを特徴とするデ
    ータ待ち行列装置。
  2. 【請求項2】 上記シフト記憶部はデータを記憶してシ
    フトする複数のレジスタを有し、上記入力部は、レジス
    タの間に他のレジスタからのデータと外部から入力され
    たデータのいずれかを選択してレジスタに出力するセレ
    クタを備えたことを特徴とする請求項1記載のデータ待
    ち行列装置。
  3. 【請求項3】 上記シフト記憶部は、記憶したデータを
    所定の方向に循環シフトさせ、上記検索選択手段は、上
    記シフト記憶部に循環記憶されたデータの中で未出力の
    データの先頭位置を記憶しておき、その先頭位置からデ
    ータを検索することを特徴とする請求項1記載のデータ
    待ち行列装置。
  4. 【請求項4】 上記入力部は、さらに、シフト記憶部の
    データが記憶されていないレジスタの中から、外部から
    入力されたデータが記憶されるべきレジスタを選択し
    て、外部から入力したデータを上記セレクタにより検出
    したレジスタに記憶させるレジスタ選択部を備えたこと
    を特徴とする請求項2又は3記載のデータ待ち行列装
    置。
  5. 【請求項5】 上記シフト記憶部は、複数のシフト記憶
    部を連結したシフト記憶部であることを特徴とする請求
    項1、2、3又は4記載のデータ待ち行列装置。
  6. 【請求項6】 上記検索選択手段は、連結された複数の
    シフト記憶部のデータを独立に検索することを特徴とす
    る請求項5記載のデータ待ち行列装置。
  7. 【請求項7】 上記シフト記憶部は、記憶したデータを
    未出力データの多い方向にシフトさせ、上記検索選択手
    段は、上記シフト記憶部に記憶されたデータの中で未出
    力のデータの先頭位置を記憶しておき、その先頭位置か
    らデータを検索することを特徴とする請求項1又は3記
    載のデータ待ち行列装置。
JP21007994A 1994-09-02 1994-09-02 データ待ち行列装置 Expired - Fee Related JP3169510B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP21007994A JP3169510B2 (ja) 1994-09-02 1994-09-02 データ待ち行列装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP21007994A JP3169510B2 (ja) 1994-09-02 1994-09-02 データ待ち行列装置

Publications (2)

Publication Number Publication Date
JPH0879297A JPH0879297A (ja) 1996-03-22
JP3169510B2 true JP3169510B2 (ja) 2001-05-28

Family

ID=16583477

Family Applications (1)

Application Number Title Priority Date Filing Date
JP21007994A Expired - Fee Related JP3169510B2 (ja) 1994-09-02 1994-09-02 データ待ち行列装置

Country Status (1)

Country Link
JP (1) JP3169510B2 (ja)

Also Published As

Publication number Publication date
JPH0879297A (ja) 1996-03-22

Similar Documents

Publication Publication Date Title
EP0118446B1 (en) First-in, first-out (fifo) memory configuration for queue storage
EP0378195B1 (en) Buffer device suitable for asynchronous transfer mode communication
US5825767A (en) ATM switch with input and output ports
EP1192753B1 (en) Method and apparatus for shared buffer packet switching
KR100420422B1 (ko) 큐 관리기 및 데이터 입력의 관리 방법
JP2865692B2 (ja) スイッチングシステム及びその構成方法
EP1030483B1 (en) Asynchronous transfer mode switch
US7352766B2 (en) High-speed memory having a modular structure
US7126959B2 (en) High-speed packet memory
US6640267B1 (en) Architecture for multi-queue storage element
JP2628701B2 (ja) 優先順位付き情報パケット用交換装置
US6347089B1 (en) Simplified ethernet frame switching system architecture without local buffer requirement
JPH04505542A (ja) Atmノードの共通記憶装置用制御ユニット
JP3456398B2 (ja) プロセッサ間ネットワークのフロー制御方法および装置
JP3169510B2 (ja) データ待ち行列装置
US6314489B1 (en) Methods and systems for storing cell data using a bank of cell buffers
US6789176B2 (en) Address release method, and common buffering device for ATM switching system which employs the same method
JP3255113B2 (ja) パケットスイッチシステム、これを含む集積回路、パケットスイッチ制御方法、パケットスイッチ制御プログラム記録媒体
US6831920B1 (en) Memory vacancy management apparatus and line interface unit
JPH06284453A (ja) Atmセルスイッチ
KR100335692B1 (ko) 선입선출을 이용한 비동기 전송 모드 셀의 다중화 방법
JP2561046B2 (ja) スイッチングシステム
JPH1051469A (ja) Atmスイッチ
JPH0833869B2 (ja) データ処理装置
JPH03239037A (ja) 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: 20010306

LAPS Cancellation because of no payment of annual fees