JP3511342B2 - Data storage circuit - Google Patents

Data storage circuit

Info

Publication number
JP3511342B2
JP3511342B2 JP24615096A JP24615096A JP3511342B2 JP 3511342 B2 JP3511342 B2 JP 3511342B2 JP 24615096 A JP24615096 A JP 24615096A JP 24615096 A JP24615096 A JP 24615096A JP 3511342 B2 JP3511342 B2 JP 3511342B2
Authority
JP
Japan
Prior art keywords
data
address
write
memory
read
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
JP24615096A
Other languages
Japanese (ja)
Other versions
JPH1092170A (en
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.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry Co Ltd
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 Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP24615096A priority Critical patent/JP3511342B2/en
Publication of JPH1092170A publication Critical patent/JPH1092170A/en
Application granted granted Critical
Publication of JP3511342B2 publication Critical patent/JP3511342B2/en
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】 【発明の属する技術分野】本発明は、FIFO機能をも
つデータ蓄積回路に関し、特にATM通信方式において
用いられるATMセルの一時蓄積用バッファを構成する
データ蓄積回路に関する。 【0002】 【従来の技術】マルチメディア通信を実現する手段とし
て、ATM(Asynchronous TransferMode:非同期転送
モード)が有力視されており、特にLAN(Local Area
Network)において導入が進められている。 【0003】ATM通信方式においては、情報のデータ
列をセルと呼ばれる固定長のデータブロックに分割して
データの送受信を行っている。また、ATM通信方式
は、色々な方路から入力されたセルデータを多重するこ
とによって、回線の効率的な利用を行うことを特徴とし
ている。セルデータの紛失や廃棄を行うことなしに、効
率的な多重処理を行うために、セルデータを一時的に蓄
積し順に出力するためのバッファとして、FIFO(fi
rst-in first-out)等を用いている。 【0004】一般的にFIFOでは、データのラッチ部
メモリ等を用いてデータの一時蓄積を行うが、ATM通
信方式においては、データの書き込み、読み出しが頻繁
に行われるため、高速動作が可能なフリップフロップや
D−ラッチ等を用いるか、図4に示すデータ蓄積回路を
用いる。 【0005】図4は従来のFIFO機能をもつデータ蓄
積回路の構成を示す図である。 【0006】図4において、データ蓄積回路は、複数の
メモリ1,2,…,Nと、書き込み要求及び読み出し要
求に応じてこの複数のメモリ1,2,…,Nを選択する
メモリセレクタ3から構成される。 【0007】図4に示すように、書き込み、読み出しが
一つのメモリに集中せず、メモリへのアクセスが分散さ
れるように複数のメモリを用いることで、FIFOの機
能を実現させている。 【0008】 【発明が解決しようとする課題】しかしながら、このよ
うな従来のバッファ回路にあっては、ATM通信方式で
用いられるセルデータが、通常8ビット×53バイトの
データ量で構成されているため、フリップフロップやD
−ラッチ素子を用いてデータのラッチ部を構成した場
合、一つのセルデータを蓄積するのに424個の素子が
必要となる。 【0009】したがって、FIFOも含めて、一つのL
SI等の集積回路の中に、複数の機能を実現させる場
合、FIFOのデータラッチ部のみで非常に大きな回路
規模となり、LSIチップ内に占める面積が大きくなっ
てしまう欠点がある。特に、FIFOで複数のセルデー
タを蓄積可能とする場合、同一LSI内に実現させたい
他の回路機能の実現に圧迫をかけることとなる。 【0010】また、図4に示したように、蓄積したいセ
ル数に応じた数のメモリを用いてデータラッチ部を構成
した場合、上述したように、通常のセルデータが8ビッ
ト×53バイト構成となっているため、一般的なメモリ
の構成単位である2Nと一致しないため、各メモリ内に
未使用領域が生じてしまうことになる。 【0011】更に、分散メモリ方式を用いて実現したF
IFOをLSI等の集積回路上で実現させた場合には、
通常、同一容量のメモリは一定の形状しか持っていない
ため、LSIチップ上に複数のメモリを配置して使用す
る場合、配置の行い方によっては、LSIチップ上がメ
モリで囲まれてしまい、他の回路用に使用できない使用
不可能領域を生じさせる可能性が非常に大きくなる。 【0012】すなわち、従来技術ではFIFO等のデー
タ蓄積機能を実現させた場合、回路の大規模化を招いた
り、全く使用しない回路領域を持つ等の非効率的な回路
を実現させてしまう可能性が高く、一つのLSIへの機
能面での集積度の低下を招く可能性が非常に高くなって
しまう。 【0013】上記不具合に加えて、LSIのチップ面積
の効率的な使用の面からも、チップ内配線の増大や、他
の機能を実現させるための回路実現可能領域として使用
できない、使用不可能領域を生じさせる可能性が有る等
の解決課題があった。 【0014】本発明は、メモリの未使用領域をなくして
非効率的な回路をなくし、効率的な回路を実現すること
ができ、回路の大規模化を回避することができるデータ
蓄積回路を提供することを目的とする。 【0015】 【課題を解決するための手段】ATM通信方式において
用いられるセルデータ等を一時的に蓄積する本発明のデ
ータ蓄積回路は、セルデータの蓄積を行うメモリと、書
き込み中のセルデータの書き込み済みバイト数を計数す
るカウンタを有し、セルデータ単位にメモリへの書き込
み要求信号を受けて、セルデータのバイト長に応じた書
き込み信号の生成とメモリに対する書き込みアドレスの
制御を行う書き込み側アドレス制御部と、メモリに蓄積
されているセルデータ数の管理を行う蓄積数カウンタ、
及び読み出しアドレスを演算する読み出しアドレス演算
部を有し、書き込みアドレス制御部からメモリに与えら
れているアドレス値をもとに、メモリに蓄積されている
データ量の管理を行うとともに、読み出し側アドレスの
生成を行う比較部とを備え、蓄積数カウンタは、書き込
み側アドレス制御部から出力されるセルデータの蓄積を
行ったことを示すUP信号によって加算されるととも
に、比較部でセルデータの読み出し処理を行ったことに
よって減算され、アドレス演算部は、蓄積数カウンタの
カウント値と書き込み側アドレス制御部から与えられる
書き込みアドレス初期値を用いて読み出しアドレスを演
算するように構成されることを特徴とする。 【0016】 【0017】 【0018】 【0019】 【発明の実施の形態】本発明に係るデータ蓄積回路は、
ATM通信方式において用いられるATMセルの一時蓄
積用バッファを構成するデータ蓄積回路に適用すること
ができる。 【0020】図1は本発明の第1の実施形態に係るデー
タ蓄積回路の全体構成を示す図である。 【0021】図1において、データ蓄積回路10は、セ
ルデータのメモリへの書き込み要求信号を受けて、書き
込み信号の生成と書き込みアドレスの制御を行う書き込
み側アドレス制御部11と、書き込み側アドレスが順次
更新メモリの最上位アドレスへの書き込み後、メモリの
最下位アドレスへの書き込み移ったことを示す巡回フラ
グ制御部12と、セルデータの読み出し要求信号を受け
て、メモリへの読み出し信号の生成とメモリに与える読
み出しアドレスの制御を行う読み出し側アドレス制御部
13と、書き込みアドレス制御部11及び読み出しアド
レス制御部13の各々からメモリに与えられているアド
レス値を比較し、メモリに蓄積されているデータ量の管
理を行う比較部14(管理手段)と、セルデータの蓄積
を行う一つのメモリからなるデータ蓄積部15とから構
成されている。 【0022】上記書き込み側アドレス制御部11、巡回
フラグ制御部12及び読み出し側アドレス制御部13
は、全体としてアドレス制御手段16を構成する。 【0023】以下、上述のように構成されたデータ蓄積
回路10の動作を説明する。 【0024】まず、比較部14では、書き込み側アドレ
ス制御部11よりメモリに与えられている書き込みアド
レス値と、読み出し側アドレス制御部13よりメモリに
与えられている読み出しアドレス値との比較を行い、比
較結果が等しかった場合に、EVEN信号を書き込み
側、読み出し側、双方の両アドレス制御部に対して出力
する。また、比較の結果、両アドレス値が等しくなかっ
た場合には、EVEN信号の出力を停止する。 【0025】巡回フラグ制御部12は、巡回フラグ信号
の設定、解除動作を行っている。巡回フラグ信号の設定
条件は、一つのメモリで構成されているデータ蓄積部1
5への書き込み動作時に、メモリの最上位アドレスへの
書き込み動作が行われ、メモリの最下位アドレスへの書
き込み動作に移る時に、書き込み側アドレス制御部11
からSET信号が出力され、そのSET信号を信号を受
信したことにより巡回フラグ制御部12で巡回フラグ信
号の設定を行うとともに、書き込み側アドレス制御部1
1、読み出し側アドレス制御部13に向け巡回フラグ信
号を出力する。 【0026】また、巡回フラグ信号の解除条件は、一つ
のメモリで構成されているデータ蓄積部15からのデー
タの読み出し動作時に、メモリの最上位アドレスに蓄積
されているデータの読み出し動作が行われ、データの読
み出しアドレスがメモリの最下位アドレスからの読み出
し動作に移る時に、読み出し側アドレス制御部13から
RESET信号が出力され、そのRESET信号を信号
を受信したことにより、巡回フラグ制御部12では巡回
フラグ信号の解除を行うとともに、書き込み側アドレス
制御部11、読み出し側アドレス制御部13に向け出力
していた巡回フラグ信号の出力を停止する。 【0027】書き込み側アドレス制御部11、読み出し
側アドレス制御部13では、比較部14から出力される
EVEN信号と巡回フラグ制御部12から出力される巡
回フラグ信号の組み合わせによって、データ蓄積部15
内のデータの蓄積状態を判断することが可能となり、書
き込み、読み出しの動作を実行するか否かの判断を行う
ことが可能となる。EVEN信号と巡回フラグ信号との
組み合わせ条件を表1に示す。 【0028】 【表1】 表1において、EVEN信号、巡回フラグ信号ともに設
定されている状態(表1中のFULL状態)は、データ
蓄積部(データラッチ部)15に蓄積可能数の限界まで
データが蓄積されている状態であることを示しており、
読み出しは可能であるが、新たな書き込みは不可能であ
ることを示している。 【0029】また、EVEN信号は設定されているが、
巡回フラグ信号は解除されている状態(表1中のEMP
TY状態)は、データ蓄積部15に一切のデータが蓄積
されていない状態であることを示しており、書き込みは
可能であるが、新たな読み出しは不可能であることを示
している。EVEN信号が解除されている場合、巡回フ
ラグ信号の設定、解除に関わらず、データ蓄積部15へ
の新たなデータの書き込み、データ蓄積部15からの新
たなデータの読み出しともに、可能な状態にあることを
示している。 【0030】書き込み側アドレス制御部11の動作とし
ては、セルデータの書き込み要求を受けた時点で、巡回
フラグ信号、EVEN信号の確認を行い、データ蓄積部
15に対して新たなデータの書き込みが可能である場合
にのみ書き込みに必要な処理を行う。巡回フラグ信号、
EVEN信号の確認の結果、FULL状態であり、新た
な書き込みが不可能な状態にある場合には、書き込みが
不可能であったことを書き込み要求側に対して出力す
る。 【0031】書き込みが可能であり書き込み動作を行う
場合、書き込み側アドレス制御部11では、1バイトの
データの書き込みを行い、書き込みが終わる度にデータ
蓄積部15に対して出力している書き込みアドレス値を
一つ更新し、書き込み処理を終える。 【0032】書き込み要求がある度に、巡回フラグ信
号、EVEN信号の確認を行い、確認結果がFULL状
態になるまでは、順次この動作を繰り返す。 【0033】また、書き込み動作を繰り返す際に、デー
タ蓄積部15を構成しているメモリの最上位アドレスへ
の書き込みを行い、書き込みアドレスがメモリの最下位
アドレスに移るときには、巡回フラグ制御部12に対し
て、SET信号の出力を行う。 【0034】読み出し側アドレス制御部13の動作とし
ては、セルデータの読み出し要求を受けた時点で、巡回
フラグ信号、EVEN信号の確認を行い、データ蓄積部
15から新たなデータの読み出しが可能である場合にの
み読み出しに必要な処理を行う。 【0035】巡回フラグ信号、EVEN信号の確認の結
果、EMPTY状態であり、新たな読み出しが不可能な
状態にある場合には、読み出しが不可能であったことを
読み出し要求側に対して出力する。 【0036】読み出しが可能であり読み出し動作を行う
場合、読み出し側アドレス制御部13では、1バイトの
データの読み出しを行い、読み出しが終わる度にデータ
蓄積部15に対して出力している読み出しアドレス値を
一つ更新し、読み出し処理を終える。 【0037】読み出し要求がある度に、巡回フラグ信
号、EVEN信号の確認を行い、確認結果がEMPTY
状態になるまでは、順次この動作を繰り返す。 【0038】また、読み出し動作を繰り返す際に、デー
タ蓄積部15を構成しているメモリの最上位アドレスか
らのデータの読み出しを行い、読み出しアドレスがメモ
リの最下位アドレスに移るときには、巡回フラグ制御部
12に対して、RESET信号の出力を行う。 【0039】以上説明したように、第1の実施形態に係
るデータ蓄積回路10は、セルデータのメモリへの書き
込み要求信号を受けて、書き込み信号の生成と書き込み
アドレスの制御を行う書き込み側アドレス制御部11
と、書き込み側アドレスが順次更新メモリの最上位アド
レスへの書き込み後、メモリの最下位アドレスへの書き
込み移ったことを示す巡回フラグ制御部12と、セルデ
ータの読み出し要求信号を受けて、メモリへの読み出し
信号の生成とメモリに与える読み出しアドレスの制御を
行う読み出し側アドレス制御部13と、書き込みアドレ
ス制御部11及び読み出しアドレス制御部13の各々か
らメモリに与えられているアドレス値を比較し、メモリ
に蓄積されているデータ量の管理を行う比較部14と、
セルデータの蓄積を行う一つのメモリからなるデータ蓄
積部15とを備え、メモリから構成されるデータ蓄積部
15に対する、データの書き込み、読み出しのためのア
ドレス値の与え方を上述のように行っているので、セル
データのバイト長が53等の2Nに一致しないような場
合においても、メモリ空間の全てを使用することが可能
となり、メモリの未使用領域をなくすことが可能とな
る。そのため、全く使用しない回路領域(メモリ領域)
を持ってしまう等の非効率的な回路をなくし、効率的な
回路が実現できる。 【0040】また、フリップフロップやD−ラッチにか
わり、本実施形態に係るデータ蓄積回路を使用すること
で、回路の大規模化を回避することが可能となる。 【0041】なお、本実施形態では、ATMセル用の一
時蓄積用バッファとして使用する場合について示した
が、勿論これには限定されない。例えば、上記構成で使
用する場合、1バイト単位での書き込み、読み出し処理
が可能であり、ATMセルに限らず、CPUのペリフェ
ラル(DMA、キャッシュ等)部でのデータの一時蓄積
や、データパス関連での使用も可能である。 【0042】図2は本発明の第2の実施形態に係るデー
タ蓄積回路の構成を示す図であり、本実施形態に係るデ
ータ蓄積回路の説明にあたり図1に示すデータ蓄積回路
10と同一構成部分には同一符号を付している。 【0043】図2において、データ蓄積回路20は、セ
ルデータ単位にメモリへの書き込み要求信号を受けて、
セルデータのバイト長に応じた書き込み信号の生成とメ
モリに対する書き込みアドレスの制御及び書き込み中の
セルデータの書き込み済みバイト数を計数するカウンタ
を持つ書き込み側アドレス制御部21と、セルデータ単
位の読み出し要求信号を受けて、セルデータ長に応じた
メモリへの読み出し信号の生成とメモリに与える読み出
しアドレスの制御及び読み出し中のセルデータの読み出
し済みバイト数を計数するカウンタを持つ読み出し側ア
ドレス制御部22と、書き込みアドレス制御部21から
の一つのセルデータの書き込みを終えたことを示すUP
信号と、読み出しアドレス制御部22からの一つのセル
データを読み出したことを示すDOWN信号を用いて、
データ蓄積部15に蓄積されているセルデータ数の管理
を行う比較部23(管理手段)と、セルデータの蓄積を
行う一つのメモリを用いたデータ蓄積部15とから構成
されている。また、上記比較部23は、データ蓄積部1
5に蓄積されているセルデータ数の管理を行う蓄積数カ
ウンタ23aを備えている。 【0044】上記書き込み側アドレス制御部21及び読
み出しアドレス制御部22は、全体としてアドレス制御
手段24管理手段を構成する。 【0045】以下、上述のように構成されたデータ蓄積
回路20の動作を説明する。 【0046】まず、比較部23には、書き込み側アドレ
ス制御部21より一つのセルデータを全て書き終えた時
(セルデータのデータ長が53バイトであれば、53バ
イト全てをメモリに書き込み終えた時)に出力される、
一つのセルデータの書き込みを終えたことを示すUP信
号が入力される。 【0047】また、読み出し側アドレス制御部22から
は、一つのセルデータを全ての読み出しを終えた時(セ
ルデータのデータ長が53バイトであれば、53バイト
全てをメモリから読み出しを終えた時)に出力される、
一つのセルデータの書き込みを終えたことを示すDOW
N信号が比較部23に対して入力される。 【0048】比較部23では、UP信号が入力された時
には、比較部23内にある蓄積数カウンタ23aを一つ
増加更新し、DOWN信号が入力された時には、比較部
23内の蓄積数カウンタ23aを一つ減算更新すること
により、メモリによって構成されているデータ蓄積部1
5に蓄積されているセルデータ数の管理を行う。 【0049】また、書き込み側アドレス制御部21、読
み出し側アドレス制御部22からメモリに与えれている
各々のアドレス値を比較することで、同一アドレスへの
同時アクセスが発生しないことを管理している。 【0050】比較部23内の蓄積数カウンタ23aのカ
ウント値が、データ蓄積部15を構成しているメモリの
セルデータ蓄積可能数に達した場合には、書き込み要求
発生元に対して、新たなデータの書き込みが不可能であ
ることを示すFULL信号を出力し、新たな書き込み要
求を生じさせないよう指示する。 【0051】また、比較部23内の蓄積数カウンタ23
aのカウント値が“0”になった場合には、読み出し要
求発生元に対して、新たなデータの読み出しが不可能で
あることを示すEMPTY信号を出力し、新たな読み出
し要求を生じさせないよう指示する。 【0052】書き込み側アドレス制御部21の動作とし
ては、セルデータの書き込み要求を受けた時点で、比較
部23からFULL信号が入力されていないことを確認
した後に、データ蓄積部15に対して新たなデータの書
き込みに必要な処理を行う。 【0053】FULL信号が入力されていなく、書き込
みが可能であり、書き込み動作を行う場合、書き込み側
アドレス制御部21では、書き込み要求信号を受信した
後、内部に持つバイト長カウンタ21aを更新してい
き、予め設定されているセルデータ長に応じた数の書き
込み信号をデータ蓄積部15に対して出力するととも
に、セルデータの内の1バイトのデータの書き込みが終
わる度にデータ蓄積部15に対して出力している書き込
みアドレス値を一つ更新していき、内部のバイト長カウ
ンタ21aのカウント値が予め設定されているセルデー
タのバイト長値と等しくなり、セルデータの全てのバイ
トデータの書き込みを終えると比較部23に対してUP
信号を1回送出し、書き込み処理を終える。 【0054】書き込み要求がある度に、FULL信号の
確認を行い、FULL信号が比較部23より出力される
までは、順次この動作を繰り返す。 【0055】読み出し側アドレス制御部22の動作とし
ては、セルデータの読み込み要求を受けた時点で、比較
部23からEMPTY信号が入力されていないことを確
認した後に、データ蓄積部15から新たなデータの読み
出しに必要な処理を行う。 【0056】EMPTY信号が入力されていなく、読み
出しが可能であり、読み出し動作を行う場合、読み出し
側アドレス制御部22では、読み出し要求信号を受信し
た後、内部に持つバイト長カウンタ22aを更新してい
き予め設定されているセルデータ長に応じた数の読み出
し信号をデータ蓄積部15に対して出力するとともに、
セルデータの内の1バイトのデータの読み出しが終わる
度にデータ蓄積部15に対して出力している読み出しア
ドレス値を一つ更新していき、内部のバイト長カウンタ
22aのカウント値が予め設定されているセルデータの
バイト長値と等しくなり、セルデータの全てのバイトデ
ータの読み出しを終えると比較部23に対してDOWN
信号を1回送出し、読み出し処理を終える。 【0057】読み出し要求がある度に、EMPTY信号
の確認を行い、EMPTY信号が比較部23より出力さ
れるまでは、順次この動作を繰り返す。 【0058】以上説明したように、第2の実施形態に係
るデータ蓄積回路20は、セルデータ単位にメモリへの
書き込み要求信号を受けて、セルデータのバイト長に応
じた書き込み信号の生成とメモリに対する書き込みアド
レスの制御及び書き込み中のセルデータの書き込み済み
バイト数を計数するカウンタを持つ書き込み側アドレス
制御部21と、セルデータ単位の読み出し要求信号を受
けて、セルデータ長に応じたメモリへの読み出し信号の
生成とメモリに与える読み出しアドレスの制御及び読み
出し中のセルデータの読み出し済みバイト数を計数する
カウンタを持つ読み出し側アドレス制御部22と、デー
タ蓄積部15に蓄積されているセルデータ数の管理を行
う蓄積数カウンタ23aを有し、書き込みアドレス制御
部21からの一つのセルデータの書き込みを終えたこと
を示すUP信号と、読み出しアドレス制御部22からの
一つのセルデータを読み出したことを示すDOWN信号
を用いて、データ蓄積部15に蓄積されているセルデー
タ数の管理を行う比較部23と、セルデータの蓄積を行
う一つのメモリを用いたデータ蓄積部15とを備え、メ
モリから構成されるデータ蓄積部15に対する、データ
の書き込み、読み出しのためのアドレス値の与え方を上
述のように行っているので、セルデータのバイト長が5
3等の2Nに一致しないような場合においても、メモリ
空間の全てを使用することが可能となり、メモリの未使
用領域をなくすことが可能となる。そのため、全く使用
しない回路領域(メモリ領域)を持ってしまう等の非効
率的な回路をなくし、効率的な回路を実現できる。 【0059】また、本実施形態ではデータ蓄積部15を
構成するメモリに蓄積可能なセルデータ数に対応したカ
ウンタ23aを比較部23に持つことによって、セルデ
ータ単位での書き込み、読み出しの可能性判断を容易に
行うことができ、メモリの同一アドレスへの同時アクセ
スの危険性を回避することが可能となる。 【0060】また、フリップフロップやD−ラッチにか
わり、メモリを使用することで、回路の大規模化を回避
することが可能となる。 【0061】なお、本実施形態では、ATMセルデータ
に限らず、パケット等のデータ長がある程度決まってい
るような半固定長データである場合に使用が可能であ
る。また、CPUのペリフェラルの場合においても、1
回のデータ転送で転送されるバイト長が決まっている場
合にも使用可能である。 【0062】さらに、書き込み側アドレス制御部21、
読み出し側アドレス制御部22各々の内部に持つバイト
数カウンタ21a,22aの設定値を外部からの設定に
より可変化にするようにすれば、取り扱うデータ長は可
変となり、いかなるデータ長の場合でも利用可能とな
る。 【0063】図3は本発明の第3の実施形態に係るデー
タ蓄積回路の構成を示す図であり、本実施形態に係るデ
ータ蓄積回路の説明にあたり図2に示すデータ蓄積回路
20と同一構成部分には同一符号を付している。 【0064】図3において、データ蓄積回路30は、セ
ルデータ単位にメモリへの書き込み要求信号を受けて、
セルデータのバイト長に応じた書き込み信号の生成とメ
モリに対する書き込みアドレスの制御及び書き込み中の
セルデータの書き込み済みバイト数を計数するカウンタ
を持つ書き込み側アドレス制御部21と、書き込みアド
レス制御部21からメモリに与えられているアドレス値
をもとに、メモリに蓄積されているデータ量の管理を行
うとともに読み出し側アドレスの生成を行う比較部31
と、セルデータの蓄積を行う一つのメモリから構成され
ているデータ蓄積部15とから構成されている。 【0065】また、上記比較部31は、データ蓄積部1
5に蓄積されているセルデータ数の管理を行う蓄積数カ
ウンタ31aと、読み出しアドレス演算部31bとを備
え、蓄積数カウンタ31aは、書き込み側アドレス制御
部から出力されるセルデータの蓄積を行ったことを示す
UP信号によって加算されるとともに、比較部31でセ
ルデータの読み出し読み出し処理を行ったことによって
減算され、読み出しアドレス演算部31bは、蓄積数カ
ウンタ31aのカウント値と書き込み側アドレス制御部
21から与えられる書き込みアドレス初期値を用いて読
み出しアドレスを演算し、導き出す機能を有する。 【0066】上記書き込み側アドレス制御部21、蓄積
数カウンタ31a及び読み出しアドレス演算部31bと
を備えた比較部31は、全体としてアドレス制御手段3
2を構成する。 【0067】以下、上述のように構成されたデータ蓄積
回路30の動作を説明する。 【0068】まず、比較部31には、書き込み側アドレ
ス制御部21より新たな書き込み要求が発生し、メモリ
に対して書き込みを始める時のアドレスの書き込みアド
レス初期値と、一つのセルデータを全て書き終えた時
(セルデータのデータ長が53バイトであれば、53バ
イト全てをメモリに書き込み終えた時)に出力される、
一つのセルデータの書き込みを終えたことを示すUP信
号が入力される。 【0069】比較部31では、UP信号が入力された時
には、比較部31内にあるセルデータ蓄積数カウンタ3
1aのカウント値を一つ増加更新する。 【0070】読み出し要求が発生すると、比較部31で
は、セルデータ蓄積数カウンタ31aの値を読み、セル
データが蓄積されていることを確認した後、書き込み側
アドレス制御部21より与えられている書き込みアドレ
ス初期値とから、読み出しアドレス演算部31bにより
蓄積されているセルデータの内のどのデータを読み出す
べきであるかを演算して導き出し、読み出しアドレスを
設定する。 【0071】読み出しアドレスの設定は、以下のように
して行われる。 【0072】まず、セルデータ蓄積数カウンタ値を読み
出すことにより、蓄積されているセルデータ数「A」を
把握すると、式(1)に示すように「A」に対して、セ
ルデータのバイト長「B」をかけたものを、書き込みア
ドレス初期値「C」から引き算し、読み出しアドレス初
期値「D」を導き出す。 【0073】 読み出しアドレス初期値「D」=C−A×B …(1) 式1により導き出された読み出しアドレス初期値「D」
に対して、1バイトデータを読み出す毎に読み出し、ア
ドレス値に対して1加算してデータの読み出しを順次行
う。この演算は式(2)で示される。 【0074】 E=D+1 …(2) 読み出しアドレス値の更新は、1バイトのデータを読み
出す度に、内部のバイト長カウンタを1更新し、内部バ
イト長カウンタのカウント値が予め設定されているセル
データのバイト長値と等しくなるまで続けられる。 【0075】1セルデータ長分の読み出しが完了する
と、セルデータ蓄積数カウンタ31aのカウント値を一
つ減算更新し、読み出し処理を終える。 【0076】以上のような、セルデータ蓄積数カウンタ
31aの加算、減算処理を行うことにより、メモリによ
って構成されているデータ蓄積部15に蓄積されている
セルデータ数の管理を行うとともに、読み出しアドレス
の生成を行う。 【0077】また、比較部31内のセルデータ蓄積数カ
ウンタ31aのカウント値が、データ蓄積部15を構成
しているメモリのセルデータ蓄積可能数に達した場合に
は、書き込み要求発生元に対して、新たなデータの書き
込みが不可能であることを示すFULL信号を出力し、
新たな書き込み要求を生じさせないよう指示する。 【0078】また、比較部31内のセルデータ蓄積数カ
ウンタ31aのカウント値が“0”になった場合には、
読み出し要求発生元に対して、新たなデータの読み出し
が不可能であることを示すEMPTY信号を出力し、新
たな読み出し要求を生じさせないよう指示する。 【0079】書き込み側アドレス制御部21の動作とし
ては、セルデータの書き込み要求を受けた時点で、比較
部31からFULL信号が入力されていないことを確認
した後に、データ蓄積部15に対して新たなデータの書
き込みに必要な処理を行う。 【0080】FULL信号が入力されていなく、書き込
みが可能であり書き込み動作を行う場合、書き込み側ア
ドレス制御部21では、書き込み要求信号を受信した
後、内部に持つバイト数カウンタ21aを更新してい
き、予め設定されているセルデータ長に応じた数の書き
込み信号をデータ蓄積部15に対して出力するととも
に、セルデータの内の1バイトのデータの書き込みが終
わる度にデータ蓄積部15に対して出力している書き込
みアドレス値を一つ更新していき、内部のバイト数カウ
ンタ21aのカウント値が予め設定されているセルデー
タのバイト長値と等しくなり、セルデータの全てのバイ
トデータの書き込みを終えると、比較部31に対してU
P信号を1回送出するとともに、新たな書き込み要求信
号が入力された時に1バイト目を書き込むアドレス値を
書き込みアドレス初期値として比較部31に通知して書
き込み処理を終える。 【0081】書き込み要求がある度に、FULL信号の
確認を行い、FULL信号が比較部31より出力される
までは、順次この動作を繰り返す。 【0082】以上説明したように、第3の実施形態に係
るデータ蓄積回路30は、セルデータ単位にメモリへの
書き込み要求信号を受けて、セルデータのバイト長に応
じた書き込み信号の生成とメモリに対する書き込みアド
レスの制御及び書き込み中のセルデータの書き込み済み
バイト数を計数するカウンタを持つ書き込み側アドレス
制御部21と、データ蓄積部15に蓄積されているセル
データ数の管理を行う蓄積数カウンタ31aと、読み出
しアドレス演算部31bとを有し、書き込みアドレス制
御部21からメモリに与えられているアドレス値をもと
に、メモリに蓄積されているデータ量の管理を行うとと
もに読み出し側アドレスの生成を行う比較部31と、セ
ルデータの蓄積を行う一つのメモリから構成されている
データ蓄積部15とを備えて構成したので、データの書
き込み側アドレス制御部21とデータの蓄積数の計数を
行う比較部31からの信号を用いることで、メモリから
構成されるデータ蓄積部15からデータの読み出しを行
うためのアドレス等の制御の簡略化が可能となり、FI
FOを構成する回路全体からみた回路規模を小さくする
ことが可能となる。 【0083】また、メモリから構成されるデータ蓄積部
15に対する、データの書き込み、読み出しのためのア
ドレス値の与え方を上述のようにして行うことによっ
て、たとえセルデータのバイト長が53等の2Nに一致
しないような場合においても、メモリ空間の全てを使用
することが可能となり、メモリの未使用領域をなくすこ
とで効率的な回路を実現できる。 【0084】特に、本実施形態では、データ蓄積部15
を構成するメモリに蓄積可能なセルデータ数に対応した
カウンタ31aを持つ比較部31で、セルデータの書き
込み状況に応じて一元的な読み出しの可能性判断処理を
行うことにより、メモリの同一アドレスへの同時アクセ
スの危険性を回避することが容易に可能となる。 【0085】第3の実施形態では、式(1)及び式
(2)の演算をハード的構成により実現するだけではな
く、ソフト処理によって実現することも可能である。演
算部分をソフトで実現した場合、書き込み側アドレス制
御部21の内部に持つバイト長カウンタ21aの設定値
の設定もソフトによって設定することも可能であること
から、取り扱うデータ長の可変化は第2の実施形態の場
合と同様に、いかなるデータ長の場合でも利用可能であ
る。 【0086】第3の実施形態の場合には、蓄積するデー
タのデータ長が数バイトに及ぶ場合について示したが、
1バイト単位でのデータの蓄積を行う場合には、前記式
(1)を以下に示す式(3)のように変形して用いるこ
とによって実現できる。また、前記式(2)は第3の実
施形態の場合と同様に使用する。 【0087】 読み出しアドレス初期値「D」=C−A …(3) 但し、A:1バイト単位のデータ蓄積数カウンタ値 C:書き込みアドレス初期値 D:読み出しアドレス初期値 なお、上記各実施形態では、ATM通信方式において用
いられるATMセルの一時蓄積用バッファを構成するデ
ータ蓄積回路に適用しているが、ATMセルに限らず、
どのようなデータバッファ、例えばCPUのペリフェラ
ル(DMA、キャッシュ等)部でのデータの一時蓄積
や、データパス関連に使用してもよいことは言うまでも
ない。 【0088】また、本データ蓄積回路を、ATM交換
機、及びワークステーション等に使用することができる
が、どのような端末に適用してもよく、例えばATMバ
ッファ型スイッチとして内蔵されるものであってもよ
い。 【0089】 【発明の効果】本発明に係るデータ蓄積回路では、セル
データの蓄積を行うメモリと、書き込み中のセルデータ
の書き込み済みバイト数を計数するカウンタを有し、セ
ルデータ単位にメモリへの書き込み要求信号を受けて、
セルデータのバイト長に応じた書き込み信号の生成とメ
モリに対する書き込みアドレスの制御を行う書き込み側
アドレス制御部と、メモリに蓄積されているセルデータ
数の管理を行う蓄積数カウンタ、及び読み出しアドレス
を演算する読み出しアドレス演算部を有し、書き込みア
ドレス制御部からメモリに与えられているアドレス値を
もとに、メモリに蓄積されているデータ量の管理を行う
とともに、読み出し側アドレスの生成を行う比較部とを
備え、蓄積数カウンタは、書き込み側アドレス制御部か
ら出力されるセルデータの蓄積を行ったことを示すUP
信号によって加算されるとともに、比較部でセルデータ
の読み出し処理を行ったことによって減算され、アドレ
ス演算部は、蓄積数カウンタのカウント値と書き込み側
アドレス制御部から与えられる書き込みアドレス初期値
を用いて読み出しアドレスを演算するように構成したの
で、セルデータのバイト長が53等の2 N に一致しない
ような場合においても、メモリ空間の全てを使用するこ
とができ、メモリの未使用領域をなくすことができる。 【0090】 【0091】 【0092】 【0093】 【0094】 【0095】したがって、全く使用しない回路領域(メ
モリ領域)を持ってしまう等の非効率的な回路をなくし
て、効率的な回路が実現でき、回路の大規模化を回避す
ることができる。また、セルデータの書き込み状況に応
じて一元的な読み出しの可能性判断処理ができ、メモリ
の同一アドレスへの同時アクセスの危険性を容易に回避
することができる。
DETAILED DESCRIPTION OF THE INVENTION [0001] BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a FIFO
Data storage circuits, especially in ATM communication systems
Construct buffer for temporary storage of used ATM cells
The present invention relates to a data storage circuit. [0002] 2. Description of the Related Art As means for realizing multimedia communication,
ATM (Asynchronous Transfer Mode)
Mode) is considered to be prominent, and in particular, LAN (Local Area)
 Network). In the ATM communication system, information data
Columns are divided into fixed-length data blocks called cells
Sending and receiving data. ATM communication method
Can multiplex cell data input from various routes.
And is characterized by the efficient use of lines.
ing. Effective without losing or discarding cell data
Temporarily store cell data to perform efficient multiplexing.
As a buffer for outputting in the stacking order, FIFO (fi
rst-in first-out). Generally, in a FIFO, a data latch section is used.
Data is temporarily stored using a memory, etc.
In the communication system, data writing and reading are frequent
The flip-flop that can operate at high speed
Using a D-latch or the like, or using a data storage circuit shown in FIG.
Used. FIG. 4 shows a conventional data storage having a FIFO function.
FIG. 3 is a diagram illustrating a configuration of an integrated circuit. In FIG. 4, a data storage circuit includes a plurality of data storage circuits.
.., N, a write request and a read request
, N are selected according to the request.
It comprises a memory selector 3. [0007] As shown in FIG.
Access to memory is decentralized instead of concentrating on one memory
The use of multiple memories so that
Noh is realized. [0008] However, this is not the case.
In such a conventional buffer circuit, the ATM communication method is used.
The cell data used is usually 8 bits × 53 bytes.
Since it is composed of data amount, flip-flops and D
-If a data latch is configured using latch elements,
In this case, 424 elements are required to store one cell data.
Required. Therefore, one L including the FIFO
A place to realize multiple functions in an integrated circuit such as SI
Very large circuit only with data latch part of FIFO
Scale, and the area occupied in the LSI chip increases.
There are drawbacks. In particular, multiple cell data in the FIFO
Data can be stored in the same LSI
This puts pressure on the realization of other circuit functions. Further, as shown in FIG.
The data latch unit is configured using the number of memories corresponding to the number of files
In this case, as described above, normal cell data
Memory × 53 bytes, general memory
2 which is a structural unit ofNDoes not match
An unused area will be generated. Further, the F realized by using the distributed memory system
When the IFO is realized on an integrated circuit such as an LSI,
Usually, memory of the same capacity only has a certain shape
Therefore, a plurality of memories are arranged and used on an LSI chip.
In some cases, depending on the layout,
Use that cannot be used for other circuits because it is surrounded by moly
The possibility of creating impossible regions is greatly increased. That is, in the prior art, data such as FIFO is used.
When the data storage function is realized, the circuit becomes large-scale.
Inefficient circuits, such as having circuit areas that are not used at all
Is likely to be realized, and a single LSI
It is very likely that the degree of integration will decrease
I will. In addition to the above problems, the chip area of the LSI
In terms of efficient use of
Used as a circuit realizable area to realize the functions of
Not possible, may cause unusable areas, etc.
There was a problem to be solved. The present invention eliminates the unused area of the memory.
Eliminate inefficient circuits and realize efficient circuits
Data that can avoid large-scale circuits
An object is to provide a storage circuit. [0015] [Means for Solving the Problems]In ATM communication system
The data of the present invention for temporarily storing used cell data, etc.
The data storage circuit has a memory for storing cell data and a
Count the number of written bytes of cell data being written
And write to memory in cell data units
Receive a request signal and write data according to the byte length of the cell data.
Write signal generation and write address writing to memory
Write-side address control unit for control and storage in memory
Storage counter for managing the number of cell data stored
And read address operation to calculate read address
Unit provided to the memory from the write address control unit.
Stored in the memory based on the address value
While managing the data amount,
And a comparison unit that performs generation.
Of the cell data output from the
Is added by an UP signal indicating that the operation has been performed.
In addition, the cell data was read by the comparator
Therefore, it is subtracted, and the address operation unit
Provided by the count value and the write-side address control unit
The read address is calculated using the initial value of the write address.
It is configured to be calculated. [0016] [0017] [0018] [0019] DESCRIPTION OF THE PREFERRED EMBODIMENTS A data storage circuit according to the present invention
Temporary storage of ATM cells used in ATM communication system
To be applied to the data storage circuit that constitutes the product buffer
Can be. FIG. 1 is a data diagram according to a first embodiment of the present invention.
FIG. 2 is a diagram illustrating an overall configuration of a data storage circuit. In FIG. 1, a data storage circuit 10
Receive a write request signal to the memory
Write to generate write signal and control write address
Only the address control unit 11 and the write address sequentially
After writing to the highest address of the update memory,
A cyclic flag indicating that writing to the lowest address has been transferred.
Receiving a cell data read request signal from the
To generate a read signal to the memory and read it to the memory.
Read-side address control unit that controls the read address
13, the write address control unit 11 and the read address
Address given to the memory from each of the
Memory values and compare the amount of data stored in memory.
Comparing unit 14 (management means) that performs processing and storage of cell data
And a data storage unit 15 composed of one memory for performing
Has been established. The above write-side address control unit 11
Flag control unit 12 and read-side address control unit 13
Constitute the address control means 16 as a whole. Hereinafter, the data storage configured as described above will be described.
The operation of the circuit 10 will be described. First, in the comparing section 14, the write-side address
The write address given to the memory from the
Address to the memory from the read-side address control unit 13.
Compares with the given read address value, and
If the comparison results are equal, write the EVEN signal
Output to both address control units
I do. Also, as a result of the comparison, the two address values are not equal.
In this case, the output of the EVEN signal is stopped. The traveling flag control section 12 outputs a traveling flag signal
Setting and release operations. Setting the cyclic flag signal
The condition is that the data storage unit 1 configured by one memory
5 during a write operation to the highest address of the memory.
A write operation is performed, and writing to the lowest address of the memory is performed.
When shifting to the write operation, the write-side address control unit 11
Outputs a SET signal, and receives the SET signal.
The cyclic flag control unit 12 sends the cyclic flag signal
Address setting unit, and the write-side address control unit 1
1. A cyclic flag signal is sent to the read-side address control unit 13.
Output a signal. The condition for releasing the cyclic flag signal is as follows.
Data from the data storage unit 15 composed of
Data is stored at the highest address of the memory during a read operation.
The read operation of the read data is performed, and the data is read.
Read out from lowest address of memory
When the operation shifts to the next operation,
A RESET signal is output, and the RESET signal is
Is received, the cyclic flag control unit 12
Release the flag signal and write address
Output to control unit 11 and read-side address control unit 13
The output of the traveling flag signal is stopped. Write address control unit 11, read
In the side address control unit 13, the data is output from the comparison unit 14.
The EVEN signal and the tour output from the tour flag controller 12
The data storage unit 15
It is possible to determine the storage status of data in the
To determine whether to perform the write and read operations.
It becomes possible. Between the EVEN signal and the cyclic flag signal
Table 1 shows the combination conditions. [0028] [Table 1] In Table 1, both the EVEN signal and the cyclic flag signal are set.
The defined state (FULL state in Table 1) is the data
Up to the limit of the number that can be stored in the storage unit (data latch unit) 15
Indicates that data is being stored,
Reading is possible, but new writing is not possible.
Which indicates that. Although the EVEN signal is set,
The cyclic flag signal is released (EMP in Table 1).
(TY state) indicates that all data is stored in the data storage unit 15.
Indicates that the status has not been written.
Possible, but no new read is possible
are doing. If the EVEN signal is released,
Regardless of the setting or cancellation of the lag signal, the data storage unit 15
Of new data, new data from the data storage unit 15
It is necessary to be able to read data
Is shown. The operation of the write-side address control unit 11 is as follows.
When a cell data write request is received,
Check the flag signal and EVEN signal,
When new data can be written to 15
Only necessary processing for writing is performed. Cyclic flag signal,
As a result of the confirmation of the EVEN signal, it is in the FULL state,
If writing is impossible,
Output to the write requester that it was not possible
You. Writing is possible and a writing operation is performed.
In this case, the write-side address control unit 11
Write data, and every time writing is completed,
The write address value output to the storage unit 15 is
One is updated, and the writing process ends. Each time there is a write request, the cyclic flag signal
No. and EVEN signal are confirmed, and the confirmation result is FULL
This operation is sequentially repeated until the state is reached. When the writing operation is repeated, the data
To the highest address of the memory constituting the data storage unit 15
And the write address is the lowest in the memory.
When moving to the address, the traveling flag control unit 12
To output the SET signal. The operation of the read-side address control unit 13 is as follows.
When a cell data read request is received,
Check the flag signal and EVEN signal,
15 when new data can be read from
Performs the processing required for reading. Confirmation of the cyclic flag signal and the EVEN signal
As a result, it is in the EMPTY state and new reading is not possible.
If it is in the state, it means that reading was impossible.
Output to the read request side. Reading is possible and a reading operation is performed.
In this case, the read-side address control unit 13
Reads data, and every time reading is completed,
The read address value output to the storage unit 15 is
One is updated, and the reading process ends. Each time there is a read request, the cyclic flag signal
Signal and EVEN signal are confirmed, and the confirmation result is EMPTY
This operation is sequentially repeated until the state is reached. When the read operation is repeated, the data
The highest address of the memory constituting the data storage unit 15
The data is read out and the read address is
When moving to the lowest address of the
12, the RESET signal is output. As described above, according to the first embodiment,
The data storage circuit 10 writes the cell data to the memory.
Write request signal and generate write signal
Write-side address control unit 11 for controlling addresses
And the write side address is the highest address of the sequential update memory.
Address, then write to the lowest address of the memory.
A traveling flag control unit 12 indicating that the
Data read request signal and read to memory
Signal generation and control of read address given to memory
The read-side address control unit 13 to perform
Each of the address control unit 11 and the read address control unit 13
Compare the address value given to the memory
A comparison unit 14 for managing the amount of data stored in the
Data storage consisting of one memory for storing cell data
And a data storage unit comprising a memory.
15 for writing and reading data.
Since the dress value is given as described above,
2 where the byte length of data is 53 etc.NPlaces that do not match
Use all of the memory space
And it is possible to eliminate unused areas of memory.
You. Therefore, the circuit area (memory area) that is not used at all
Eliminate inefficient circuits such as
A circuit can be realized. In addition, a flip-flop or a D-latch
Instead, use the data storage circuit according to the present embodiment.
Thus, it is possible to avoid a large-scale circuit. In the present embodiment, the one for ATM cells is used.
Shown when using as time accumulation buffer
However, of course, the present invention is not limited to this. For example, in the above configuration
Write and read processing in 1-byte units
It is possible to use not only ATM cells but also CPU peripherals.
Temporary storage of data in Ral (DMA, cache, etc.)
Also, it can be used in connection with a data path. FIG. 2 is a data diagram according to a second embodiment of the present invention.
FIG. 2 is a diagram showing a configuration of a data storage circuit, and is a data storage circuit according to the present embodiment.
Data storage circuit shown in Fig. 1 in describing the data storage circuit
The same components as those in 10 are denoted by the same reference numerals. In FIG. 2, the data storage circuit 20
Receiving a write request signal to the memory
Write signal generation and memory according to the byte length of cell data
Memory write address control and
Counter for counting the number of written bytes of cell data
Write-side address control unit 21 having cell data unit
Receiving the read request signal of the
Generation of read signal to memory and read to memory
Address control and reading of cell data during reading
Read-side address that has a counter that counts the number of
From the dress control unit 22 and the write address control unit 21
UP indicating that the writing of one cell data has been completed
Signal and one cell from the read address control unit 22
Using a DOWN signal indicating that data has been read,
Management of the number of cell data stored in the data storage unit 15
23 (management means) that performs
And a data storage unit 15 using one memory.
Have been. Further, the comparison unit 23 is a data storage unit 1
5 that manages the number of cell data stored in
Counter 23a. The write address control unit 21 and the read
The overflow address control unit 22 controls the address as a whole.
Means 24 constitutes the management means. The data storage constructed as described above will now be described.
The operation of the circuit 20 will be described. First, the comparator 23 has a write-side address.
When all cell data has been written from the data control unit 21
(If the data length of the cell data is 53 bytes, 53 bytes
Output when all the data has been written to the memory)
UP signal indicating that writing of one cell data has been completed
Number is entered. Also, from the read-side address control unit 22
When all cell data has been read,
If the data length of the file data is 53 bytes, 53 bytes
Output when all have been read from memory)
DOW indicating that writing of one cell data has been completed
The N signal is input to the comparison unit 23. In the comparison section 23, when the UP signal is input
Has one storage number counter 23a in the comparison unit 23.
When the DOWN signal is input after being incremented and updated, the comparing unit
Subtracting and updating the accumulation number counter 23a in the memory 23 by one
, The data storage unit 1 constituted by a memory
5 is managed. Further, the write-side address control unit 21
Sent to the memory from the outgoing side address control unit 22
By comparing each address value, the
It manages that simultaneous access does not occur. The power of the accumulation number counter 23a in the comparing unit 23
The count value is stored in the memory constituting the data storage unit 15.
When the number of cell data that can be stored has been reached, a write request
It is not possible to write new data to the source.
FULL signal indicating that a new write
Request not to cause a request. The accumulation number counter 23 in the comparison unit 23
If the count value of “a” becomes “0”, readout is required.
New data cannot be read from the request source.
Outputs the EMPTY signal indicating that there is
And do not make a request. The operation of the write-side address control unit 21 is as follows.
When a cell data write request is received,
Check that no FULL signal is input from unit 23
After that, new data is written to the data storage unit 15.
Performs the necessary processing for writing. When the FULL signal is not input and the
Only when writing operation is performed.
The address control unit 21 receives the write request signal
Later, the internal byte length counter 21a is updated.
Write the number according to the preset cell data length.
Output to the data storage unit 15
Then, writing of 1-byte data of the cell data is completed.
Writing to the data storage unit 15 every time
Only one address value is updated and the internal byte length
Cell data in which the count value of the
Is equal to the byte length value of the
When the write of the data has been completed,
The signal is transmitted once, and the writing process is completed. Every time there is a write request, the FULL signal
After confirming, the FULL signal is output from the comparing unit 23
Until the above, this operation is sequentially repeated. The operation of the read-side address control unit 22 is as follows.
When a cell data read request is received,
Check that the EMPTY signal is not
After the confirmation, new data is read from the data storage unit 15.
Performs the processing required for delivery. When the EMPTY signal is not input,
Data can be read out, and when performing a read operation,
The side address control unit 22 receives the read request signal and
After that, the internal byte length counter 22a is updated.
Read the number according to the preset cell data length
Output to the data storage unit 15,
Reading of 1-byte data of cell data ends.
The readout address output to the data storage unit 15 each time
The address value is updated by one, and the internal byte length counter
22a of the cell data for which the count value is set in advance.
It is equal to the byte length value, and all byte data
When the reading of the data is completed,
The signal is transmitted once, and the reading process is completed. Every time there is a read request, the EMPTY signal
Is checked, and the EMPTY signal is output from the comparator 23.
This operation is repeated until the operation is completed. As described above, according to the second embodiment.
The data storage circuit 20 stores data in the memory in units of cell data.
Receives a write request signal and responds to the byte length of the cell data.
Generated write signal and write address to memory
Control of cell address and cell data being written
Write address with a counter that counts the number of bytes
The control unit 21 receives a read request signal in cell data units.
Of the read signal to the memory according to the cell data length
Control of read address given to generation and memory and read
Count the number of read bytes of cell data being output
A read-side address control unit 22 having a counter;
Manages the number of cell data stored in the data storage unit 15.
Storage address counter 23a for controlling the write address.
Completion of writing one cell data from unit 21
Signal from the read address control unit 22
DOWN signal indicating that one cell data has been read
The cell data stored in the data storage unit 15 is
The comparison unit 23 manages the number of data, and stores the cell data.
A data storage unit 15 using another memory;
Data for the data storage unit 15 composed of memory
Write address value for writing and reading
As described above, the byte length of the cell data is 5
2 of 3 etc.NMemory does not match
It is possible to use all of the space and unused memory
The use area can be eliminated. So use it at all
Ineffective, such as having a circuit area (memory area)
Efficient circuits can be realized by eliminating efficient circuits. In this embodiment, the data storage unit 15
The capacity corresponding to the number of cell data that can be stored in the memory
By providing the counter 23a in the comparison unit 23,
Easily judge the possibility of writing and reading in data units
Simultaneous access to the same address in memory.
It is possible to avoid the danger of the In addition, a flip-flop or a D-latch
Use memory to avoid large circuit
It is possible to do. In this embodiment, the ATM cell data
The data length of packets and other data is determined to some extent
Can be used for semi-fixed length data such as
You. Also, in the case of a CPU peripheral, 1
When the byte length transferred in each data transfer is fixed
It can be used in any case. Further, the write-side address control unit 21,
Bytes inside each of the read-side address control units 22
Set values of number counters 21a and 22a to external setting
If more variable, the data length can be handled
It becomes unusable and can be used for any data length.
You. FIG. 3 is a data diagram according to a third embodiment of the present invention.
FIG. 2 is a diagram showing a configuration of a data storage circuit, and is a data storage circuit according to the present embodiment.
Data storage circuit shown in Fig. 2 in describing the data storage circuit
The same components as those in 20 are denoted by the same reference numerals. In FIG. 3, a data storage circuit 30
Receiving a write request signal to the memory
Write signal generation and memory according to the byte length of cell data
Memory write address control and
Counter for counting the number of written bytes of cell data
A write address control unit 21 having
Address value given to the memory from the address control unit 21
Manages the amount of data stored in memory based on
And a comparison unit 31 for generating a read-side address.
And one memory that stores cell data
And a data storage unit 15. Further, the comparing section 31 stores the data
5 that manages the number of cell data stored in
Counter 31a and a read address calculation unit 31b.
The accumulation number counter 31a controls the write-side address.
Indicates that the cell data output from the unit has been accumulated
In addition to the addition by the UP signal,
Readout of file data
The read address calculation unit 31b subtracts
Count value of counter 31a and write-side address control unit
Read using the write address initial value given from
It has a function to calculate and derive the read address. The write-side address control unit 21 stores
Number counter 31a and read address calculation unit 31b
The comparison unit 31 provided with the address control unit 3 as a whole
Constituting No. 2. The data storage constructed as described above will now be described.
The operation of the circuit 30 will be described. First, the comparison unit 31 has a write-side address.
When a new write request is issued from the
Write address of the address when writing to the
When the initial value of the address and all cell data have been written
(If the data length of the cell data is 53 bytes, 53 bytes
Output when all the data has been written to the memory)
UP signal indicating that writing of one cell data has been completed
Number is entered. In the comparison section 31, when the UP signal is input
The cell data storage number counter 3 in the comparison unit 31
The count value of 1a is updated by one. When a read request occurs, the comparing unit 31
Reads the value of the cell data accumulation number counter 31a,
After confirming that data is stored, write
The write address given by the address control unit 21
From the initial value, the read address calculation unit 31b
Which data is read out of the stored cell data
It should be calculated and derived, and the read address
Set. The setting of the read address is performed as follows.
It is done. First, the cell data storage number counter value is read.
The number of stored cell data "A"
When grasping, as shown in equation (1), “A”
Multiplied by the byte length "B" of the
Subtract from the initial dress value “C”
The period value “D” is derived. [0073]     Read address initial value “D” = C−A × B (1) Read address initial value “D” derived by Equation 1
In contrast, every time 1 byte data is read,
Read data sequentially by adding 1 to the dress value
U. This operation is represented by equation (2). [0074]     E = D + 1 (2) To update the read address value, read 1-byte data.
Each time it issues, the internal byte length counter is updated by 1, and the internal buffer is updated.
Cell where the count value of the site length counter is set in advance
It continues until it becomes equal to the byte length value of the data. Reading of one cell data length is completed.
And the count value of the cell data accumulation number counter 31a
Then, the reading process is completed. The cell data storage number counter as described above
By performing the addition and subtraction processing of 31a, the memory
Is stored in the data storage unit 15 configured as
Manage the number of cell data and read address
Is generated. The number of cell data stored in the comparing unit 31 is
The count value of the counter 31a forms the data storage unit 15.
When the number of cell data that can be stored in the memory
Writes new data to the source of the write request.
Output a FULL signal indicating that the
Instructs not to generate a new write request. The number of cell data stored in the comparing section 31 is
When the count value of the counter 31a becomes "0",
Read new data to read request source
Outputs an EMPTY signal indicating that the
Instructs not to generate a read request. The operation of the write-side address control unit 21 is as follows.
When a cell data write request is received,
Check that no FULL signal is input from unit 31
After that, new data is written to the data storage unit 15.
Performs the necessary processing for writing. When the FULL signal is not input and the
When performing a write operation, the write side
The dress control unit 21 has received the write request signal.
After that, the internal byte number counter 21a is updated.
Write the number according to the preset cell data length.
Output to the data storage unit 15
Then, writing of 1-byte data of the cell data is completed.
Writing to the data storage unit 15 every time
Only one address value is updated, and the internal byte count
Cell data in which the count value of the
Is equal to the byte length value of the
When the writing of the data is completed, the comparing unit 31
P signal is sent once, and a new write request signal is sent.
The address value to write the first byte when the signal is input
Notify the comparison unit 31 as the write address initial value and write
Finish the writing process. Each time there is a write request, the FULL signal
After confirming, the FULL signal is output from the comparison unit 31
Until the above, this operation is sequentially repeated. As described above, according to the third embodiment.
The data storage circuit 30 stores data in the memory in units of cell data.
Receives a write request signal and responds to the byte length of the cell data.
Generated write signal and write address to memory
Control of cell address and cell data being written
Write address with a counter that counts the number of bytes
Control unit 21 and cells stored in data storage unit 15
An accumulation counter 31a for managing the number of data;
And a write address system.
Based on the address value given to the memory from the control unit 21
When managing the amount of data stored in memory,
A comparison unit 31 that mainly generates a read-side address;
Consists of one memory that stores data
Since the data storage unit 15 is provided, the data
The write-in address control unit 21 counts the number of stored data.
By using the signal from the comparing unit 31
Reads data from the configured data storage unit 15
Control of the address and the like for
Reducing the circuit size of the entire circuit constituting the FO
It becomes possible. Also, a data storage unit composed of a memory
15 for writing and reading data.
By giving the dress value as described above,
Even if the byte length of the cell data is 2 such as 53NMatches
Use all of the memory space, even when not
To eliminate unused areas of memory.
Thus, an efficient circuit can be realized. In particular, in this embodiment, the data storage unit 15
Corresponding to the number of cell data that can be stored in the memory
The comparison unit 31 having the counter 31a writes the cell data.
Integrated readability judgment processing according to the
Access to the same address in memory
It is possible to easily avoid the danger of noise. In the third embodiment, the expression (1) and the expression
The operation (2) is not only realized by a hardware configuration.
Alternatively, it can be realized by software processing. Performance
When the calculation part is realized by software,
Set value of the byte length counter 21a inside the control unit 21
Can also be set by software
Therefore, the variable length of the data to be handled is the same as that of the second embodiment.
As is the case, it can be used for any data length.
You. In the case of the third embodiment, the data to be stored is
The data length of the data has been shown to be several bytes,
To store data in 1-byte units,
(1) may be modified and used as in the following equation (3).
And can be realized by Equation (2) is the third real
Used in the same manner as in the embodiment. [0087]     Read address initial value “D” = CA (3) Where A is the data storage counter value in 1-byte units C: Write address initial value D: Read address initial value In each of the above embodiments, the ATM communication method is used.
Data that constitutes a buffer for temporarily storing ATM cells.
Data storage circuit, but not limited to ATM cells.
What data buffer, eg CPU peripheral
Data (DMA, cache, etc.)
Or, of course, you can use it for the data path.
Absent. The data storage circuit is exchanged with an ATM.
Can be used for machines, workstations, etc.
Can be applied to any terminal, for example, ATM
It may be built-in as a buffer type switch
No. [0089] 【The invention's effect】In the data storage circuit according to the present invention, the cell
Memory for storing data and cell data being written
Has a counter that counts the number of written bytes
Receiving a write request signal to the memory
Write signal generation and memory according to the byte length of cell data
Write side that controls the write address for memory
Address control unit and cell data stored in memory
Stored number counter for managing the number and read address
Has a read address calculation unit for calculating
The address value given to the memory from the
Based on the amount of data stored in the memory
And a comparison unit that generates a read-side address.
The storage counter is provided by the write address control unit.
Indicating that the cell data output from the device has been stored
The signal is added by the signal, and the cell data is
Is decremented by performing the read processing of
The arithmetic operation unit calculates the count value of the storage
Write address initial value given from address control unit
Was used to calculate the read address using
And the byte length of the cell data is 2 such as 53. N Does not match
In such cases, use all of the memory space.
Thus, an unused area of the memory can be eliminated. [0090] [0091] [0092] [0093] [0094] Therefore, the circuit area (meaning area) not used at all
Memory area) and eliminate inefficient circuits
To realize an efficient circuit and avoid circuit enlargement.
Can be It also responds to cell data write situations.
The possibility of unified readability judgment processing can be
Easily avoids the risk of simultaneous access to the same address
can do.

【図面の簡単な説明】 【図1】本発明を適用した第1の実施形態に係るデータ
蓄積回路の構成を示す図である。 【図2】本発明を適用した第2の実施形態に係るデータ
蓄積回路の構成を示す図である。 【図3】本発明を適用した第3の実施形態に係るデータ
蓄積回路の構成を示す図である。 【図4】従来のバッファ回路の構成を示す図である。 【符号の説明】 10,20,30 データ蓄積回路、11,21 書き
込み側アドレス制御部、12 巡回フラグ制御部、1
3,22 読み出し側アドレス制御部、14,23,3
1 比較部(管理手段)、15 データ蓄積部、16,
24,32 アドレス制御手段、21a,22a バイ
ト数カウンタ、23a,31a 蓄積数カウンタ、31
b 読み出しアドレス演算部
BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is a diagram showing a configuration of a data storage circuit according to a first embodiment to which the present invention is applied. FIG. 2 is a diagram illustrating a configuration of a data storage circuit according to a second embodiment to which the present invention has been applied. FIG. 3 is a diagram illustrating a configuration of a data storage circuit according to a third embodiment to which the present invention is applied. FIG. 4 is a diagram showing a configuration of a conventional buffer circuit. [Description of Signs] 10, 20, 30 Data storage circuit, 11, 21 Write-side address control unit, 12 Cyclic flag control unit, 1
3,22 Read-side address control unit, 14,23,3
1 comparison unit (management means), 15 data storage unit, 16,
24, 32 address control means, 21a, 22a byte number counter, 23a, 31a storage number counter, 31
b Read address operation unit

Claims (1)

(57)【特許請求の範囲】 【請求項1】 ATM通信方式において用いられるセル
データ等を一時的に蓄積するデータ蓄積回路において、 セルデータの蓄積を行うメモリと、 書き込み中のセルデータの書き込み済みバイト数を計数
するカウンタを有し、セルデータ単位にメモリへの書き
込み要求信号を受けて、セルデータのバイト長に応じた
書き込み信号の生成とメモリに対する書き込みアドレス
の制御を行う書き込み側アドレス制御部と、 メモリに蓄積されているセルデータ数の管理を行う蓄積
数カウンタ、及び読み出しアドレスを演算する読み出し
アドレス演算部を有し、前記書き込みアドレス制御部か
らメモリに与えられているアドレス値をもとに、メモリ
に蓄積されているデータ量の管理を行うとともに、読み
出し側アドレスの生成を行う比較部とを備え、 前記蓄積数カウンタは、前記書き込み側アドレス制御部
から出力されるセルデータの蓄積を行ったことを示すU
P信号によって加算されるとともに、前記比較部でセル
データの読み出し処理を行ったことによって減算され、 前記アドレス演算部は、前記蓄積数カウンタのカウント
値と前記書き込み側アドレス制御部から与えられる書き
込みアドレス初期値を用いて読み出しアドレスを演算す
ことを特徴とするデータ蓄積回路。
(57) [Claims] (1)Cell used in ATM communication system
In a data storage circuit that temporarily stores data, etc., A memory for storing cell data; Counts the number of written bytes of cell data being written
To write data to memory in cell data units.
Receive request signal for
Write signal generation and write address to memory
A write-side address control unit for controlling Storage that manages the number of cell data stored in memory
Number counter and read to calculate read address
An address operation unit, and the write address control unit
Memory address based on the address value given to the memory
Manages the amount of data stored in
A comparison unit for generating a source address, The accumulation number counter includes:
U indicating that the cell data output from
The signal is added by the P signal, and the cell is
It is subtracted by performing the data read processing, The address calculation unit is configured to count the accumulation number counter.
Value and the write given from the write-side address control unit.
The read address using the initial value of the embedded address
To A data storage circuit characterized in that:
JP24615096A 1996-09-18 1996-09-18 Data storage circuit Expired - Fee Related JP3511342B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP24615096A JP3511342B2 (en) 1996-09-18 1996-09-18 Data storage circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP24615096A JP3511342B2 (en) 1996-09-18 1996-09-18 Data storage circuit

Publications (2)

Publication Number Publication Date
JPH1092170A JPH1092170A (en) 1998-04-10
JP3511342B2 true JP3511342B2 (en) 2004-03-29

Family

ID=17144240

Family Applications (1)

Application Number Title Priority Date Filing Date
JP24615096A Expired - Fee Related JP3511342B2 (en) 1996-09-18 1996-09-18 Data storage circuit

Country Status (1)

Country Link
JP (1) JP3511342B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5240513B2 (en) 2008-09-11 2013-07-17 ソニー株式会社 Information processing apparatus and method

Also Published As

Publication number Publication date
JPH1092170A (en) 1998-04-10

Similar Documents

Publication Publication Date Title
US6487202B1 (en) Method and apparatus for maximizing memory throughput
US5602850A (en) High-speed packet bus
US5825767A (en) ATM switch with input and output ports
JPH1117708A (en) Input buffer controller for atm switch system and logic buffer size determining method
JPH08508592A (en) Method and apparatus for data buffering in a data station of a communication network
JP2002521964A (en) Bridge module
US5572697A (en) Apparatus for recovering lost buffer contents in a data processing system
JPS5897944A (en) Data transfer system among microprocessors
JP2628701B2 (en) Switch for prioritized information packets
JP3506130B2 (en) Buffering device and buffering method
JP3511342B2 (en) Data storage circuit
US6912566B1 (en) Memory device and method for operating the memory device
JPH10262272A (en) Simple interface for time division multiplex communication medium
Davie Host interface design for experimental, very high-speed networks
US20030018867A1 (en) Method to manage multiple communication queues in an 8-bit microcontroller
JP2933904B2 (en) Common buffer type asynchronous transfer mode switch
JP3711730B2 (en) Interface circuit
JPS6361530A (en) Packet switch
JP3329217B2 (en) Bus control device
JP3072175B2 (en) UPC circuit
JP2982771B2 (en) Shared buffer type ATM switch
JP3631950B2 (en) Communication device
JP4009530B2 (en) Memory mapping method and buffer memory circuit
JPH02238752A (en) Frame reception system
JPH10247160A (en) Memory management system

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20031224

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

Free format text: PAYMENT UNTIL: 20090116

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100116

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20100116

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110116

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20110116

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20120116

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20130116

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20140116

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees