JP3491583B2 - 共有バッファ制御回路及び共有バッファ制御方法 - Google Patents

共有バッファ制御回路及び共有バッファ制御方法

Info

Publication number
JP3491583B2
JP3491583B2 JP34809599A JP34809599A JP3491583B2 JP 3491583 B2 JP3491583 B2 JP 3491583B2 JP 34809599 A JP34809599 A JP 34809599A JP 34809599 A JP34809599 A JP 34809599A JP 3491583 B2 JP3491583 B2 JP 3491583B2
Authority
JP
Japan
Prior art keywords
data
address
shared buffer
class
write
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
JP34809599A
Other languages
English (en)
Other versions
JP2001168864A (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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP34809599A priority Critical patent/JP3491583B2/ja
Publication of JP2001168864A publication Critical patent/JP2001168864A/ja
Application granted granted Critical
Publication of JP3491583B2 publication Critical patent/JP3491583B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、共有バッファ制御
回路及び共有バッファ制御方法に関し、特にバッファの
容量を越えてデータが入力された場合のデータ廃棄処理
に関する。
【0002】
【従来の技術】近年、データ通信量の増加により、通信
装置のデータ量の広帯域化、処理速度の高速化が進んで
おり、共有バッファ制御回路においてもデータ入出力サ
イクルの短縮、データ入出力遅延時間の短縮が要求され
ている。
【0003】一般に、共有バッファ制御回路が用いられ
る理由は、複数クラスのデータを格納する場合、各クラ
ス毎にデータを格納するバッファを持つよりも、空き領
域を共有することにより、各クラス毎の入力されるデー
タ数に偏りがあった場合でも、バッファ溢れを起こりに
くくするためである。
【0004】共有バッファ制御回路は、複数クラスのデ
ータが入力され、出力スケジューリングを行い、出力す
る回路等に用いられる。複数のクラスに廃棄優先順位が
ある場合、共有バッファ制御において、この廃棄優先順
位を守ることが要求されている。例えば、バッファ容量
を越えた時にデータが入力された場合、データの廃棄が
行われる。この廃棄制御において、廃棄優先の高いクラ
スのデータは廃棄されず、廃棄優先の低いクラスのデー
タが廃棄されることが要求されている。
【0005】この要請に応えるために、例えば、特開平
7−95240号公報において、共有バッファの空のア
ドレスを書き込んだFIFO形メモリ、各クラス毎のデ
ータが書き込まれた共有バッファのアドレスを書き込む
FIFO形メモリを持ち、共有バッファの空き領域がな
い場合には、廃棄優先の低いデータが格納されているF
IFO形メモリよりアドレスを取り出し、このアドレス
に廃棄優先の高いデータを上書きし、このアドレスを、
上書きしたデータのクラスのFIFO形メモリに書き込
む従来技術が開示されている。
【0006】
【発明が解決しようとする課題】しかしながら、上記従
来技術では、共有バッファの空きアドレス、各クラスの
データが書き込まれているアドレスを管理するためにF
IFO形メモリを1回路しか用いていないため、1つの
FIFO形メモリで共有バッファの全アドレスを格納で
きる容量を持たなければならないという問題点があっ
た。また、管理するクラス数が増えると回路規模が膨大
となるという問題点もあった。
【0007】本発明は、上記問題点に鑑みてなされたも
のであり、空き領域、及び各クラスのデータが書き込ま
れているアドレスの管理をそれぞれ2つのレジスタで行
うことにより、廃棄優先制御を行う共有バッファ制御回
路の規模削減を実現し、さらに共有バッファへの書き込
みサイクルの短縮、読み出し応答時間の短縮をすること
が可能な共有バッファ制御回路及び共有バッファ制御方
法を提供することを目的とする。
【0008】
【課題を解決するための手段】かかる目的を達成するた
めに、請求項1記載の発明である共有バッファ制御回路
は、複数のクラスのデータを処理する回路であって、複
数のクラスのデータを格納する共有バッファと、上記共
有バッファへのデータの入出力を制御する共有バッファ
制御部と、書き込み要求信号、書き込みクラス信号及び
書き込みデータ信号を入力とする書き込み制御部と、読
み出し要求信号、読み出しクラス信号を入力とする読み
出し制御部と、クラス毎に設けられ、上記書き込み要求
信号及び上記書き込みデータ信号を出力する書き込み先
セレクタと、クラス毎に設けられ、上記書き込みデータ
と上記読み込みデータを一時保持する先読みレジスタ
と、 クラス毎に設けられ、上記共有バッファに格納され
ているデータ数をカウントする蓄積量カウンタと、クラ
ス毎に設けられ、上記共有バッファにおけるデータの書
き込みアドレスを格納する書き込みアドレスレジスタ
と、クラス毎に設けられ、上記共有バッファにおけるデ
ータの読み出しアドレスを格納する読み出しアドレスレ
ジスタと、クラスに廃棄優先順位を付す廃棄制御部と、
上記共有バッファの先頭空きアドレスを格納する先頭空
きアドレスレジスタと、上記共有バッファの最後尾空き
アドレスを格納する最後尾空きアドレスレジスタと、上
記先頭空きアドレスレジスタの値と上記最後尾空きアド
レスレジスタの値とを比較し、空き領域を監視する空き
領域監視部とを有することを特徴とする
【0009】請求項2記載の発明は、共有バッファを用
いて複数のクラスに分けてデータを管理する共有バッフ
ァ制御方法であって、入力データを該当するクラスに振
り分ける入力データ振り分け工程と、該入力データ振り
分け処理により振り分けられた入力データを、共有バッ
ファに出力するか、各クラスごとに設けられた各クラス
の最先に入力されたデータを格納している先読みレジス
タに出力するかを選択する選択工程と、該選択工程によ
り共有バッファに入力データが出力されたとき、各クラ
スごとに設けられた各クラスの書き込みアドレスを格納
している書き込みアドレスレジスタに格納されているア
ドレスを取得する書き込みアドレス取得工程と、該書き
込みアドレス取得工程により取得したアドレスに入力デ
ータを書き込む入力データ書き込み工程と、共有バッフ
ァの先頭空きアドレスを格納している先頭空きアドレス
レジスタに格納されているアドレスを更新する先頭空き
アドレス更新工程と、該先頭空きアドレス更新工程によ
り更新された先頭空きアドレスレジスタに格納されてい
るアドレスと、共有バッファの最後尾アドレスを格納し
ている最後尾空きアドレスレジスタに格納されているア
ドレスとを比較する比較工程と、該比較工程による比較
の結果、アドレスが一致したとき、共有バッファにデー
タを有するクラスの内、廃棄優先順位の最も低いクラス
のデータを対応する先読みレジスタに上書きする上書き
工程と、を有することを特徴としている。
【0010】請求項3記載の発明は、請求項2記載の発
明において、データ読み出し要求が入力されたとき、該
読み出し要求を該当するクラスに振り分ける読み出し要
求振り分け工程と、該読み出し要求振り分け工程により
振り分けられた読み出し要求を受けた先読みレジスタか
ら該先読みレジスタに格納されているデータを出力する
データ出力工程と、該データ出力工程により出力された
データを格納していた先読みレジスタと対応する、各ク
ラスごとに設けられた各クラスの読み出しアドレスを格
納している読み出しアドレスレジスタに格納されている
アドレスを取得する読み出しアドレス取得工程と、該読
み出しアドレス取得工程により取得したアドレスに格納
されているデータを、データ出力工程により出力された
データを格納していた先読みレジスタに読み出すデータ
読み出し工程と、最後尾空きアドレスレジスタに格納さ
れているアドレスを更新する最後尾空きアドレス更新工
程と、をさらに有することを特徴としている。
【0011】
【発明の実施の形態】以下、本発明の実施の形態を添付
図面を参照しながら詳細に説明する。
【0012】図1は、第1の実施の形態における共有バ
ッファ制御回路を示した回路図である。便宜上、クラス
数を3としているが、任意のクラス数を設けることがで
きる。書き込み制御部1は、書き込み要求信号、書き込
みクラス信号、書き込みデータ信号が入力されると、該
当クラスの書き込み先セレクタ3−1、3−2、3−3
に書き込み要求信号、書き込みデータ信号を特定タイミ
ングで出力する。
【0013】図1は、第1の実施の形態における共有バ
ッファ制御回路を示した回路図である。便宜上、クラス
数を3としているが、任意のクラス数を設けることがで
きる。書き込み制御部1は、書き込み要求信号、書き込
みクラス信号、書き込みデータ信号が入力されると、該
当クラスの書き込み先セレクタ3−1、3−2、3−3
に書き込み要求信号、書き込みデータ信号を特定タイミ
ングで出力する。
【0014】読み出し制御部2は、読み出し要求信号、
読み出しクラス信号が入力されると、該当クラスの先読
みレジスタ5−1、5−2、5−3に読み出し要求信号
を特定タイミングで出力する。
【0015】書き込み先セレクタ3−1、3−2、3−
3は、該当クラスの先読みレジスタ5−1、5−2、5
−3からのデータ有無信号により、先読みレジスタ5−
1、5−2、5−3に格納データがすでに存在する場合
は、書き込み要求信号、書き込みデータ信号を共有バッ
ファ制御部7へ出力する。格納データがない場合は、先
読みレジスタ5−1、5−2、5−3へ書き込み要求信
号、書き込みデータ信号を出力する。
【0016】蓄積量カウンタ4−1、4−2、4−3
は、各クラス毎に共有バッファ13に格納されているデ
ータの蓄積数をカウントしており、書き込み先セレクタ
3−1、3−2、3−3から共有バッファ制御部7に対
する該当クラスの書き込み要求信号が入力されると1カ
ウント・アップし、先読みレジスタ5−1、5−2、5
−3から読み出し要求信号が入力されると、1カウント
・ダウンする。また、蓄積量カウンタ4−1、4−2、
4−3は、共有バッファ13に格納されている該当クラ
ス・データの格納有無信号を先読みレジスタ5−1、5
−2、5−3及び廃棄制御部6に出力する。
【0017】先読みレジスタ5−1、5−2、5−3
は、書き込み先セレクタ3−1、3−2、3−3から書
き込み要求信号が入力されると、書き込みデータ信号を
格納する。また、先読みレジスタ5−1、5−2、5−
3は、読み出し制御部2から読み出し要求信号が入力さ
れると、格納してあるデータを読み出し制御部2へ出力
する。格納データを出力すると、先読みレジスタ5−
1、5−2、5−3は、対応するクラスの蓄積量カウン
タ4−1、4−2、4−3からの蓄積データ有無信号に
より、対応するクラスのデータが共有バッファ13に格
納されている場合、共有バッファ制御部7へ読み出し要
求信号を出力する。当該要求信号に対応して共有バッフ
ァ制御部7からデータが送信されてくると、当該データ
を格納する。また、先読みレジスタ5−1、5−2、5
−3に廃棄制御部6からの要求により、データが共有バ
ッファ13から入力されてきたときは、現在のデータに
上書きされ、現在のデータは廃棄される。この廃棄のた
めの読み出しが行われているサイクルにおいて、書き込
み要求が入力された場合、共有バッファ13内において
常に空き領域を1以上確保しているため、待ち時間なく
共有バッファ13の残された空き領域にデータを書き込
むことができる。
【0018】廃棄制御部6は、空き領域監視部12から
廃棄要求信号が入力され、かつ読み出し要求信号がない
場合、各クラスの蓄積量カウンタ4−1、4−2、4−
3からの蓄積データ有無信号により、データが格納され
ているクラスを抽出し、抽出したクラスの内、廃棄制御
部6にあらかじめ設定されている廃棄優先順位に基づ
き、最も廃棄優先の低いクラスを選択する。クラスを選
択すると、廃棄制御部6は共有バッファ制御部7に読み
出し要求信号と、選択したクラスの読み出しクラス信号
とを出力する。
【0019】共有バッファ制御部7は、書き込み要求信
号、書き込みデータ信号が書き込み先セレクタ3−1、
3−2、3−3から入力されると、該当クラスの書き込
みアドレス・ポインタ・レジスタ8−1、8−2、8−
3の値と、先頭空きアドレス・ポインタ・レジスタ10
の値とを参照して共有バッファ13の該当するアドレス
へ書き込みデータ信号を格納する。また、共有バッファ
制御部7は、先読みレジスタ5−1、5−2、5−3、
または廃棄制御部6から読み出し要求信号が入力される
と、該当クラスの読み出しアドレス・ポインタ・レジス
タ9−1、9−2、9−3の値を参照して、共有バッフ
ァ13の該当アドレスに格納されているデータを読み出
し、先読みレジスタ5−1、5−2、5−3へ出力す
る。
【0020】書き込みアドレス・ポインタ・レジスタ8
−1、8−2、8−3は、共有バッファ13内における
各クラスの書き込みアドレスを格納している。
【0021】読み出しアドレス・ポインタ・レジスタ9
−1、9−2、9−3は、共有バッファ13内における
各クラスの読み出しアドレスを格納している。
【0022】先頭空きアドレス・ポインタ・レジスタ1
0は、共有バッファ13内において、書き込みが行われ
るクラスに供給される空きアドレスを格納する。
【0023】最後尾空きアドレス・ポインタ・レジスタ
11は、共有バッファ13内において、読み出しが行わ
れ、空きとなった読み出しアドレスを格納する。
【0024】空き領域監視部12は、先頭空きアドレス
・ポインタ・レジスタ10の値と最後尾空きアドレス・
ポインタ・レジスタ11の値とを比較し、一致した時、
すなわち空き領域の残量が1となった時、廃棄制御部6
へ廃棄要求信号を出力する。
【0025】共有バッファ13は、各クラスのデータを
共通して格納している。各クラスの最初のデータは、先
読みレジスタ5−1、5−2、5−3に格納されるた
め、2番目のデータから格納される。
【0026】以下、第1の実施の形態における共有バッ
ファ制御回路の動作について説明する。まず、書き込み
先セレクタ3−1、3−2、3−3、蓄積量カウンタ4
−1、4−2、4−3、先読みレジスタ5−1、5−
2、5−3の動作について説明する。
【0027】書き込み制御部1は、書き込み要求信号、
書き込みクラス信号、書き込みデータ信号が入力される
と、該当クラスの書き込み先セレクタ3−1、3−2、
3−3に対して書き込み要求信号、書き込みデータ信号
を図9のclk1のタイミングで書き込み先セレクタ3
−1、3−2、3−3に出力する。書き込み先セレクタ
3−1、3−2、3−3は、各クラス先読みレジスタ5
−1、5−2、5−3から出力されるデータ有無信号を
参照し、格納されているデータがある場合は、clk2
で、共有バッファ制御部7へ書き込み要求信号、書き込
みデータ信号を出力する。蓄積されているデータがない
場合は、各クラス先読みレジスタ5−1、5−2、5−
3へ書き込み要求信号、書き込みデータ信号を出力す
る。
【0028】読み出し制御部2は、読み出し要求信号、
読み出しクラス信号が入力されると、該当クラスの先読
みレジスタ5−1、5−2、5−3へ読み出し要求信号
を図9のclk11(clkサイクル2の3)のタイミ
ングで出力する。先読みレジスタ5−1、5−2、5−
3は、格納してあるデータを読み出し制御部2にclk
12で出力する。読み出し制御部2は、読み出しデータ
を外部へ出力する。
【0029】先読みレジスタ5−1、5−2、5−3
は、対応するクラスの蓄積量カウンタ4−1、4−2、
4−3から出力される蓄積データ有無信号を参照する。
共有バッファ13に蓄積されているデータがある場合
は、共有バッファ制御部7へ読み出し要求信号を出力す
る。共有バッファ13に蓄積されているデータがない場
合は、共有バッファ制御部7へ読み出し要求信号を出力
しない。
【0030】蓄積量カウンタ4−1、4−2、4−3
は、各クラス毎に共有バッファ13に格納されているデ
ータの蓄積数をカウントしており、共有バッファ制御部
7に対する該当クラスの書き込み要求信号が書き込み先
セレクタ3−1、3−2、3−3から入力されると、1
カウント・アップし、読み出し要求信号が先読みレジス
タ5−1、5−2、5−3から入力されると、1カウン
ト・ダウンする。蓄積量カウンタ4−1、4−2、4−
3は、共有バッファ13に格納されている該当クラスの
データ有無信号を先読みレジスタ5−1、5−2、5−
3及び廃棄制御部6に出力する。
【0031】次に、共有バッファ13に対する書き込
み、及び読み出し動作について図2から図8を参照しな
がら説明する。初期状態において、図2に示すように、
各クラス毎に空きアドレスが1個割り当てられ、各クラ
ス毎の読み出しアドレス・ポインタ・レジスタ9−1、
9−2、9−3と書き込みアドレス・ポインタ・レジス
タ8−1、8−2、8−3の指すアドレスは、共有バッ
ファ13内にデータが書き込まれていないので、同じア
ドレスを指している。残りの空きアドレスには、次の空
きアドレスが順次書き込まれている。
【0032】図2において、共有バッファ13内の記号
a、b、c、d、e、f、g、hは、データの格納アド
レスを示す。また、図2における矢印は、その値が指し
ているアドレスを示す。すなわち、先頭空きアドレス・
ポインタ・レジスタ10は共有バッファ13内のアドレ
スdを指し、アドレスdに格納されているeはアドレス
eを指している。
【0033】図3は、本実施の形態において、共有バッ
ファ13内にクラス1、クラス2、クラスnのデータが
それぞれ2個、0個、0個格納されている状態を示して
いる。すなわち、アドレスa、dにはデータが格納され
ており、アドレスb、c、e、f、g、hは空きアドレ
スとなっている。
【0034】図3の状態において、クラスnの書き込み
データが入力された場合の状態を図4に示す。この時、
クラスn先読みレジスタ5−3にはデータが格納されて
いるものとする。したがって、書き込み先セレクタ3−
1、3−2、3−3は、共有バッファ制御部7に書き込
み要求信号、書き込みデータ信号を出力する。
【0035】図4に示すように、入力データは、図3に
おいてクラスn書き込みアドレス・ポインタ・レジスタ
8−3が指していたアドレスcに格納され、同時に先頭
空きアドレス・ポインタ・レジスタ10が指していたア
ドレスfがアドレスcに書き込まれる。格納後は、クラ
スn書き込みアドレス・ポインタ・レジスタ8−3の指
すアドレスはfとなる。また、先頭空きアドレス・ポイ
ンタ・レジスタ10の指すアドレスはgになる。
【0036】図4に示す共有バッファ13へのデータの
書き込み動作について、図9のタイミング図を用いて説
明する。書き込み制御部1は、クラスnに対する書き込
み要求が入力されると、クラスn書き込み先セレクタ3
−3に書き込み要求信号、書き込みデータ信号を出力す
るタイミングを図9のclk1(clkサイクル1)と
なるよう制御する。クラスn書き込み先セレクタ3−3
は、書き込み要求信号と書き込みデータ信号を共有バッ
ファ制御部7にclk2で出力する。共有バッファ制御
部7は、クラスn書き込みアドレス・ポインタ・レジス
タ8−3に格納されているアドレスcを取得し、clk
3で共有バッファ13にアドレスcを書き込みアドレス
として出力し、clk4で書き込みデータ信号を出力す
る。
【0037】次に、共有バッファ制御部7は、共有バッ
ファ13に先頭空きアドレス・ポインタ・レジスタ10
の指していたアドレスfを、読み出しアドレスとしてc
lk7で出力する。共有バッファ制御部7は、clk8
で、fの次の空きアドレスgを読み出し、先頭空きアド
レス・ポインタ・レジスタ10に格納する。空き領域監
視部12は、clk9で、先頭空きアドレス・ポインタ
・レジスタ10と最後尾空きアドレス・ポインタ・レジ
スタ11の値を比較する。この場合、不一致により、廃
棄制御部6に廃棄要求を出力しない。
【0038】次に、図4の状態において、クラス1のデ
ータを出力した場合の状態を図5に示す。図4におい
て、クラス1読み出しアドレス・ポインタ・レジスタの
9−1が指すアドレスaに格納されていたデータが共有
バッファ制御回路7に出力されると、アドレスaは空き
アドレスになる。出力後は、最後尾空きアドレス・ポイ
ンタ・レジスタ11が指すアドレスはaになる。アドレ
スhが指す次の空きアドレスも同様にaになる。クラス
1読み出しアドレス・ポインタ・レジスタ9−1が指す
アドレスはdになる。
【0039】図4から図5に遷移する共有バッファ13
からのデータの読み出し動作について、図9のタイミン
グ図を用いて説明する。読み出し制御部2は、クラス1
に対する読み出し要求信号が入力されると、クラス1先
読みレジスタ5−1へ読み出し要求信号を出力するタイ
ミングを図9のclk11(clkサイクル2の3)と
なるように制御する。クラス1先読みレジスタ5−1
は、格納しているデータを読み出し制御部2にclk1
2で出力すると同時に、共有バッファ制御部7へクラス
1の読み出し要求信号を出力する。
【0040】共有バッファ制御部7は、クラス1読み出
しアドレス・ポインタ・レジスタ9−1に格納されてい
るアドレスaを取得し、clk13で、共有バッファ1
3へ読み出しアドレスとして出力する。共有バッファ1
3は、clk14で、読み出しデータを出力する。クラ
ス1先読みレジスタ5−1は、clk15で、共有バッ
ファ13の出力した読み出しデータを格納する。共有バ
ッファ制御部7は、clk17で、最後尾空きアドレス
・ポインタ・レジスタ11の指すhを取得し、共有バッ
ファ13へ書き込みアドレスとして出力し、clk18
で、最後尾空きアドレス・ポインタ・レジスタ11に空
になったアドレスaを出力する。
【0041】次に、廃棄制御が行われる場合の動作につ
いて、共有バッファ13の状態を示す図6、図7、図8
を参照しながら説明する。なお、廃棄制御部6にあらか
じめ設定されている各クラスの廃棄優先順位はクラス1
が最も高く、クラスnが最も低いとする。図6は、図4
の状態において、クラス1の書き込みデータが入力され
た場合の状態を示す。ここで、入力データは、図4にお
いてクラス1の書き込みアドレス・ポインタ・レジスタ
8−1が指していたアドレスeに格納され、同時に先頭
空きアドレス・ポインタ・レジスタ10が指していたア
ドレスgが書き込まれる。
【0042】格納後は、クラス1書き込みアドレス・ポ
インタ・レジスタ8−1の指すアドレスはgとなる。ま
た、先頭空きアドレス・ポインタ・レジスタ10の指す
アドレスはhになる。
【0043】空き領域監視部12は、先頭空きアドレス
・ポインタ・レジスタ10の指すアドレスと最後尾空き
アドレス・ポインタ・レジスタ11の指すアドレスがh
で同一となったことを検出すると、廃棄制御部6に対し
て廃棄要求信号を出力する。廃棄制御部6は、廃棄要求
信号が入力され、読み出し要求が入力されていない場合
は、各クラスの蓄積量カウンタ4−1、4−2、4−3
からの蓄積データ有無信号を参照することにより、共有
バッファ13にデータを有するクラスを抽出し、抽出し
たクラスの内、最も廃棄優先の低いクラスnに対して読
み出し要求信号を出力する。
【0044】図7は、図6の状態において、廃棄制御部
6がクラスnに対してデータ廃棄のための読み出し要求
信号を出力した場合の状態を示す。図6においてクラス
n読み出しアドレス・ポインタ・レジスタの9−3が指
すアドレスcに格納されていたデータがクラスn先読み
レジスタ5−3へ出力される。
【0045】クラスn先読みレジスタ5−3では、先に
読み出されていたデータに新たに読み出されたデータが
上書きされることにより、先に読み出されたデータが廃
棄される。共有バッファ13のアドレスcはデータが読
み出され、空きアドレスになる。データ出力後、最後尾
空きアドレス・ポインタ・レジスタ11が指すアドレス
はcになる。アドレスhが指す次の空きアドレスも同様
にcになる。クラスn読み出しアドレス・ポインタ・レ
ジスタ9−3が指すアドレスはfになる。
【0046】図8は、図6の状態において、廃棄制御部
6がクラスnに対してデータ廃棄のための読み出し要求
信号を出力し、かつ、クラス1の書き込みデータが入力
された場合の状態を示す。図6において、クラスn読み
出しアドレス・ポインタ・レジスタ9−3が指すアドレ
スcに格納されていたデータが、クラスn先読みレジス
タ5−3へ出力される。
【0047】クラスn先読みレジスタ5−3では、先に
読み出されていたデータに新たに読み出されたデータが
上書きされることにより、先に読み出されたデータが廃
棄される。共有バッファ13のアドレスcはデータが読
み出され、空きアドレスになる。データ出力後、最後尾
空きアドレス・ポインタ・レジスタ11が指すアドレス
はcになる。読み出しアドレス・ポインタ・レジスタ9
−3が指すアドレスはfになる。
【0048】一方、入力データは、図6においてクラス
1書き込みアドレス・ポインタ・レジスタ8−1が指し
ていたアドレスgに格納される。同時に先頭空きアドレ
ス・ポインタ・レジスタ10が指していたアドレスhも
書き込まれる。格納後は、クラス1書き込みアドレス・
ポインタ・レジスタ8−1の指すアドレスはhになる。
また、先頭空きアドレス・ポインタ・レジスタ10の指
すアドレスはcとなる。
【0049】図4、図6、図8と遷移する共有バッファ
13へのデータ書き込み、及びデータの廃棄動作につい
て、図10のタイミング図を参照しながら説明する。書
き込み制御部1は、クラス1に対する書き込み要求が入
力されると、クラス1書き込み先セレクタ3−1に書き
込み要求信号、書き込みクラス信号、書き込みデータ信
号を出力するタイミングを図10のclkサイクル1と
なるよう制御する。
【0050】クラス1書き込み先セレクタ3−1は、書
き込み要求信号と書き込みデータ信号を共有バッファ制
御部7にclk2で出力する。共有バッファ制御部7
は、書き込みアドレス・ポインタ・レジスタ8−1に格
納されているアドレスeを取得し、clk3で共有バッ
ファ13にアドレスeを書き込みアドレスとして出力
し、clk4で書き込みデータを出力する。
【0051】次に、共有バッファ制御部7は、共有バッ
ファ13に先頭空きアドレス・ポインタ・レジスタ10
の指していたアドレスgを読み出しアドレスとしてcl
k7で出力し、clk8で、gの次の空きアドレス・ポ
インタhの値を読み出し、先頭空きアドレス・ポインタ
・レジスタ10に格納する。空き領域監視部12はcl
k9で先頭空きアドレス・ポインタ・レジスタ10に格
納されている値と、最後尾空きアドレス・ポインタ・レ
ジスタ11に格納されている値とが共にhで、一致して
いることを検出し、廃棄要求信号を廃棄制御部6へ出力
する。
【0052】廃棄制御部6は、共有バッファ13にデー
タが蓄積されているクラスのうち、最も廃棄優先の低い
クラスnに対して、clk12で読み出し要求を出力す
る。廃棄処理を行っているサイクル2と同じサイクルで
共有バッファ13に書き込みが行われたデータの廃棄優
先が最も低い場合は、このデータのクラスに対して読み
出し要求が出力される。
【0053】共有バッファ制御部7は、読み出しアドレ
ス・ポインタ・レジスタ9−3に格納されているアドレ
スcを取得し、clk13で共有バッファ13へ読み出
しアドレスとして出力する。共有バッファ13は、cl
k14で、読み出しデータを出力する。クラスn先読み
レジスタ5−3は、clk15で共有バッファ13の出
力した読み出しデータを格納する。次に、共有バッファ
制御部7は、確保されていた空きアドレスがないため、
clk18で、最後尾空きアドレス・ポインタ・レジス
タ11に廃棄処理にて空きとなったcを格納する。
【0054】一方、clk10で書き込み制御部1は、
クラス1に対する書き込み要求をクラス1の書き込み先
セレクタ3−1へ出力する。以下、clk2から9と同
様の手順で書き込みが行われるが、空きアドレスがなく
なったので、次先頭アドレスとしてclk16で、先頭
空きアドレス・ポインタ・レジスタ10に、廃棄処理に
て空きとなったアドレスcを格納する。
【0055】次に、第2の実施の形態について説明す
る。その基本的構成は第1の実施の形態と同じである
が、各クラスのデータ蓄積有無検出についてさらに工夫
している。その構成を図11に示す。図11は、図1に
おける書き込み制御部1、読み出し制御部2、書き込み
先レジスタ3−1、3−2、3−3、蓄積量カウンタ4
−1、4−2、4−3、先読みレジスタ5−1、5−
2、5−3を削除し、データ有無監視部14−1、14
−2、14−3を追加している。
【0056】第1の実施の形態においては、書き込み制
御部1及び読み出し制御部2によりデータのクラス分け
が行われていたが、本実施の形態においては、共有バッ
ファ制御部7が、書き込みクラス信号及び読み出しクラ
ス信号によりデータのクラス分けを行う。
【0057】共有バッファ13は、第1の実施の形態に
おいては、先読みレジスタ5−1、5−2、5−3に各
クラスの最先のデータが入力されるため、2番目のデー
タから格納されていたが、本実施の形態においては、最
先のデータから格納される。
【0058】データ有無監視部14−1、14−2、1
4−3は、書き込みアドレス・ポインタ・レジスタ8−
1、8−2、8−3に格納されているアドレスと、読み
出しアドレス・ポインタ・レジスタ9−1、9−2、9
−3に格納されているアドレスとを比較することによ
り、該当クラスのデータの格納有無が検出できる。すな
わち、書き込みアドレス・ポインタ・レジスタ8−1、
8−2、8−3と読み出しアドレス・ポインタ・レジス
タ9−1、9−2、9−3に格納されているアドレスが
同一である場合、該当クラスに格納されているデータは
ない。
【0059】この格納有無信号が廃棄制御部6に入力さ
れることによって、第1の実施の形態と同等の優先廃棄
制御が可能となる。廃棄制御部6は、第1の実施の形態
においては、蓄積量カウンタ4−1、4−2、4−3か
らのデータ有無信号により共有バッファ13にデータを
有するクラスを抽出していたが、本実施の形態において
は、データ有無監視部14−1、14−2、14−3か
らの格納有無信号により共有バッファ13にデータを有
するクラスを抽出する。
【0060】第1の実施の形態にかかる共有バッファ制
御回路における書き込み先レジスタ3−1、3−2、3
−3、蓄積量カウンタ4−1、4−2、4−3、先読み
レジスタ5−1、5−2、5−3を削除したことによ
り、共有バッファ13からの読み出し応答時間の短縮は
行えない。なぜなら、データ読み出し要求が入力された
際に、先読みレジスタ5−1、5−2、5−3からでは
なく、共有バッファ13からデータを読み出さなければ
ならないからである。しかしながら、第1の実施の形態
の構成と比較すると、回路構成要素が減り、回路規模を
削減することができる。
【0061】廃棄優先制御部6にあらかじめ設定されて
いる廃棄優先順位は、共有バッファ制御回路を制御する
図示しない装置全体を制御する制御部から設定される。
【0062】
【発明の効果】以上の説明から明らかなように、本発明
にかかる共有バッファ制御回路及び共有バッファ制御方
法の第1の効果は、共有バッファにおける廃棄優先制御
を行うことができることである。その理由は、共有バッ
ファの空き領域がなくなったことによって廃棄優先順位
の高いデータの新たな書き込みが行えず、廃棄優先順位
の高いデータが廃棄されることを防ぐために、空き領域
の残量が1となった時、共有バッファに格納されている
データの内、廃棄優先の低いクラスのデータを廃棄し、
共有バッファの空き領域を確保するためである。また、
廃棄処理を行っているサイクルで書き込み要求が発生し
ても、最後の空き領域に書き込みを行うことにより、共
有バッファ溢れによる廃棄が起こることを防ぐことがで
きる。廃棄処理を行うサイクルと同じサイクルで共有バ
ッファに書き込みが行われ、このデータの廃棄優先度が
最も低い場合、このデータのクラスに対して廃棄処理が
行われる。
【0063】第2の効果は、共有バッファにおける廃棄
優先制御を行うに際して、書き込みデータを一時格納す
るための外部記憶手段が不要なことである。その理由
は、共有バッファの空き領域の残量が閾値を下回った
時、共有バッファに格納されているデータのうち、廃棄
優先の低いクラスのデータを廃棄することにより共有バ
ッファの空き領域が確保されるためである。
【0064】第3の効果は、共有バッファへの書き込み
手順の簡略化による、書き込みサイクルの短縮化を図る
ことができることである。本来、書き込みが行われたア
ドレスの指し示す次のアドレスは、次の新たな書き込み
が行われないと確定できないが、各クラスの書き込みア
ドレス・ポインタ・レジスタにデータ書き込み時に新た
に割り当てられた空きアドレスを格納し、書き込みが行
われる時に書き込みデータの書き込みと同時に、各クラ
スに割り当てた空きアドレスの値を次のアドレス値とし
て書き込むことにより、後にデータが書き込まれたアド
レスに対して次のアドレス値を書きこむ目的で共有バッ
ファへ書き込み処理を行う必要がないためである。
【0065】第4の効果は、共有バッファからの読み出
し応答時間の短縮が行われていることである。その理由
は、各クラスに先読みバッファを設けることにより、デ
ータの読み出し要求に対して、共有バッファからデータ
を読み出す手順を行う前に、読み出しデータを出力する
ことができるからである。また、書き込まれたデータが
ないクラスに対して書き込みが行われた直後に読み出し
要求が入力された場合、書き込みデータは共有バッファ
に書き込まれることなく、直接先読みレジスタに書き込
まれているので、共有バッファへアクセスすることなく
データを出力することができ、読み出し応答時間を短く
できるからである。
【図面の簡単な説明】
【図1】第1の実施の形態における共有バッファ制御回
路の構成を説明するための回路図である。
【図2】第1の実施の形態における共有バッファ制御回
路の動作を説明するための図である。
【図3】第1の実施の形態における共有バッファ制御回
路の動作を説明するための図である。
【図4】第1の実施の形態における共有バッファ制御回
路の動作を説明するための図である。
【図5】第1の実施の形態における共有バッファ制御回
路の動作を説明するための図である。
【図6】第1の実施の形態における共有バッファ制御回
路の動作を説明するための図である。
【図7】第1の実施の形態における共有バッファ制御回
路の動作を説明するための図である。
【図8】第1の実施の形態における共有バッファ制御回
路の動作を説明するための図である。
【図9】第1の実施の形態における共有バッファ制御回
路の動作を説明するためのタイミングチャートである。
【図10】第1の実施の形態における共有バッファ制御
回路の動作を説明するためのタイミングチャートであ
る。
【図11】第2の実施の形態における共有バッファ制御
回路の構成を説明するための回路図である。
【図12】従来技術における共有バッファ制御回路の構
成を説明するための回路図である。
【符号の説明】
1 書き込み制御部 2 読み出し制御部 3 書き込み先セレクタ 4 蓄積量カウンタ 5 先読みレジスタ 6 廃棄制御部 7 共有バッファ制御部 8 書き込みアドレス・ポインタ・レジスタ 9 読み出しアドレス・ポインタ・レジスタ 10 先頭空きアドレス・ポインタ・レジスタ 11 最後尾空きアドレス・ポインタ・レジスタ 12 空き領域監視部 13 共有バッファ 14 データ有無監視部
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) H04L 12/56 H04L 13/08

Claims (3)

    (57)【特許請求の範囲】
  1. 【請求項1】 複数のクラスのデータを処理する回路で
    あって、 複数のクラスのデータを格納する共有バッファと、 前記共有バッファへのデータの入出力を制御する共有バ
    ッファ制御部と、 書き込み要求信号、書き込みクラス信号及び書き込みデ
    ータ信号を入力とする書き込み制御部と、 読み出し要求信号、読み出しクラス信号を入力とする読
    み出し制御部と、 クラス毎に設けられ、前記書き込み要求信号及び前記書
    き込みデータ信号を出力する書き込み先セレクタと、 クラス毎に設けられ、前記書き込みデータと前記読み込
    みデータを一時保持する先読みレジスタと、 クラス毎に設けられ、前記共有バッファに格納されてい
    るデータ数をカウントする蓄積量カウンタと、 クラス毎に設けられ、前記共有バッファにおけるデータ
    の書き込みアドレスを格納する書き込みアドレスレジス
    タと、 クラス毎に設けられ、前記共有バッファにおけるデータ
    の読み出しアドレスを格納する読み出しアドレスレジス
    タと、 クラスに廃棄優先順位を付す廃棄制御部と、 前記共有バッファの先頭空きアドレスを格納する先頭空
    きアドレスレジスタと、 前記共有バッファの最後尾空きアドレスを格納する最後
    尾空きアドレスレジスタと、 前記先頭空きアドレスレジスタの値と前記最後尾空きア
    ドレスレジスタの値とを比較し、空き領域を監視する空
    き領域監視部とを有することを特徴とする共有バッファ
    制御回路
  2. 【請求項2】 共有バッファを用いて複数のクラスに分
    けてデータを管理する共有バッファ制御方法であって、 入力データを該当するクラスに振り分ける入力データ振
    り分け工程と、 該入力データ振り分け工程により振り分けられた入力デ
    ータを、前記共有バッファに出力するか、各クラスごと
    に設けられた各クラスの最先に入力されたデータを格納
    している先読みレジスタに出力するかを選択する選択工
    程と、 該選択工程により前記共有バッファに入力データが出力
    されたとき、各クラスごとに設けられた各クラスの書き
    込みアドレスを格納している書き込みアドレスレジスタ
    に格納されているアドレスを取得する書き込みアドレス
    取得工程と、 該書き込みアドレス取得工程により取得したアドレスに
    前記入力データを書き込む入力データ書き込み工程と、 前記共有バッファの先頭空きアドレスを格納している先
    頭空きアドレスレジスタに格納されているアドレスを更
    新する先頭空きアドレス更新工程と、 該先頭空きアドレス更新工程により更新された先頭空き
    アドレスレジスタに格納されているアドレスと、前記共
    有バッファの最後尾アドレスを格納している最後尾空き
    アドレスレジスタに格納されているアドレスとを比較す
    る比較工程と、 該比較工程による比較の結果、アドレスが一致したと
    き、前記共有バッファにデータを有するクラスの内、前
    記廃棄優先順位の最も低いクラスのデータを対応する前
    記先読みレジスタに上書きする上書き工程とを有するこ
    とを特徴とする共有バッファ制御方法。
  3. 【請求項3】 データ読み出し要求が入力されたとき、
    該読み出し要求を該当するクラスに振り分ける読み出し
    要求振り分け工程と、 該読み出し要求振り分け工程により振り分けられ、読み
    出し要求を受けた前記先読みレジスタから該先読みレジ
    スタに格納されているデータを出力するデータ出力工程
    と、 該データ出力工程により出力されたデータを格納してい
    た先読みレジスタと対応する、各クラスごとに設けられ
    た各クラスの読み出しアドレスを格納している読み出し
    アドレスレジスタに格納されているアドレスを取得する
    読み出しアドレス取得工程と、 該読み出しアドレス取得工程により取得したアドレスに
    格納されているデータを、前記データ出力工程により出
    力されたデータを格納していた先読みレジスタに読み出
    すデータ読み出し工程と、 前記最後尾空きアドレスレジスタに格納されているアド
    レスを更新する最後尾空きアドレス更新工程とをさらに
    有することを特徴とする請求項2記載の共有バッファ制
    御方法。
JP34809599A 1999-12-07 1999-12-07 共有バッファ制御回路及び共有バッファ制御方法 Expired - Fee Related JP3491583B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP34809599A JP3491583B2 (ja) 1999-12-07 1999-12-07 共有バッファ制御回路及び共有バッファ制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP34809599A JP3491583B2 (ja) 1999-12-07 1999-12-07 共有バッファ制御回路及び共有バッファ制御方法

Publications (2)

Publication Number Publication Date
JP2001168864A JP2001168864A (ja) 2001-06-22
JP3491583B2 true JP3491583B2 (ja) 2004-01-26

Family

ID=18394714

Family Applications (1)

Application Number Title Priority Date Filing Date
JP34809599A Expired - Fee Related JP3491583B2 (ja) 1999-12-07 1999-12-07 共有バッファ制御回路及び共有バッファ制御方法

Country Status (1)

Country Link
JP (1) JP3491583B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4609823B2 (ja) * 2001-06-26 2011-01-12 古河電気工業株式会社 データ中継方法およびその装置

Also Published As

Publication number Publication date
JP2001168864A (ja) 2001-06-22

Similar Documents

Publication Publication Date Title
US6457144B1 (en) System and method for collecting trace data in main storage
US8332608B2 (en) Method of enhancing command executing performance of disc drive
US6965566B2 (en) Packet flow control apparatus and a method for controlling the same
KR20120098850A (ko) 메모리 디바이스 및 호스트 장치
US6633926B1 (en) DMA transfer device capable of high-speed consecutive access to pages in a memory
US6539439B1 (en) Method and apparatus for interfacing a bus at an independent rate with input/output devices
US7870310B2 (en) Multiple counters to relieve flag restriction in a multi-queue first-in first-out memory system
CN105302660B (zh) 面向分布式存储系统带流检测技术的纠删码写缓冲方法
US8661223B1 (en) Buffer management architecture
US7424557B2 (en) System for determining status of multiple interlocking FIFO buffer structures based on the position of at least one pointer of each of the multiple buffers
JP3491583B2 (ja) 共有バッファ制御回路及び共有バッファ制御方法
US7254651B2 (en) Scheduler for a direct memory access device having multiple channels
US6772280B1 (en) First-in first-out storage device
US7991968B1 (en) Queue memory management
US20050210163A1 (en) Memory control apparatus
US9804959B2 (en) In-flight packet processing
US6871256B2 (en) Method and arrangement in a stack having a memory segmented into data groups having a plurality of elements
KR100950356B1 (ko) 다중 코히런시 단위들을 지원하는 데이터 전송 유닛
KR100615694B1 (ko) 복수개의 기능블럭을 제어하는 제어시스템
JPH0833869B2 (ja) データ処理装置
EP0482263A2 (en) Video memory system with intermediate buffer
JP2923892B1 (ja) Atmセル挿入方式および方法
JP2550493B2 (ja) 入出力制御装置
JP3436984B2 (ja) Atm通信システムのトラフィックシェーピング装置
JPS6242237A (ja) 命令バツフアへのロ−ド方式

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: 20031014

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

Free format text: PAYMENT UNTIL: 20071114

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20081114

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20081114

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20091114

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20091114

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20101114

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20111114

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20111114

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20121114

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20121114

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20131114

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees