JP2873229B2 - バッファメモリ制御装置 - Google Patents

バッファメモリ制御装置

Info

Publication number
JP2873229B2
JP2873229B2 JP10160250A JP16025098A JP2873229B2 JP 2873229 B2 JP2873229 B2 JP 2873229B2 JP 10160250 A JP10160250 A JP 10160250A JP 16025098 A JP16025098 A JP 16025098A JP 2873229 B2 JP2873229 B2 JP 2873229B2
Authority
JP
Japan
Prior art keywords
buffer memory
data
address
read
circuit
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
JP10160250A
Other languages
English (en)
Other versions
JPH1173299A (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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP10160250A priority Critical patent/JP2873229B2/ja
Publication of JPH1173299A publication Critical patent/JPH1173299A/ja
Application granted granted Critical
Publication of JP2873229B2 publication Critical patent/JP2873229B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、データを一時、バ
ッファメモリに蓄えた後、データ転送を行うバッファメ
モリ制御装置に関するものである。
【0002】
【従来の技術】一般に、バッファメモリはデータ転送速
度が異なる2つの通信系の間にこれを設けることでデー
タの転送速度の調整を行うものであり、例えばデータの
転送元のバッファメモリへの書き込み速度が、データの
転送先のバッファメモリからの読み出し速度よりも速い
場合等に用いる。
【0003】図8は従来のデータを一時、バッファメモ
リに蓄えた後、 データ転送を行うバッファメモリ制御装
置の構成を示すブロック図である。 図8において、1は
3つのセル(1セル=53バイト、1バイト=8ビッ
ト)容量を持つバッファメモリ(8ビットデータ入力/
出力、8ビットリード/ライトアドレス入力、リード/
ライトイネーブル入力)、2はこのバッファメモリ1の
ライトアドレスを生成するライトアドレス生成回路、3
はこのライトアドレス生成回路2によって生成されたラ
イトアドレス、4はバッファメモリ1に書き込まれるラ
イトデータ、5はバッファメモリ1を書き込み可能とす
るライトイネーブル、6はバッファメモリ1のリードア
ドレスを生成するリードアドレス生成回路、7はリード
アドレス生成回路6により生成されたリードアドレス、
8はバッファメモリ1から読み出されるリードデータ、
9はバッファメモリ1を読み出し可能とするリードイネ
ーブル、149はバッファメモリ1のライトアドレス3
とリードアドレス7とを比較するアドレス比較回路であ
り、これは、加算器を2個用いて2の補数をとり、減算
を行うものである。150はアドレス比較回路149に
よりライトアドレス3からリードアドレス7を減算して
得られた減算結果、151はこの減算結果150がマイ
ナス1から0へ変化した時にバッファメモリ1にオーバ
ーフローが発生したことを検出するオーバーフロー発生
通知回路、152はこの減算結果150がプラス1から
0へ変化した時にバッファメモリ1にエンプティーが発
生したことを検出するエンプティー発生通知回路であ
る。 また、図10(a),図10(b),図10(c) は図8のアドレ
ス比較回路, オーバーフロー発生通知回路, エンプティ
ー発生通知回路の構成をそれぞれ示すものであり、図1
0(a) において、EX01, EX02, EX11, EX12,
…,EXn1, EXn2は排他的論理和回路、AD01, AD
02, AD11, AD12, …,ADn1, ADn2は論理積回
路、OR01, OR11, …,ORn1は論理和回路である。
また、A0,A1,…,An はライトアドレスの各ビット、
0,B1,…,Bn はリードアドレスの各ビット、S0,S
1,…,Sn は減算結果の各ビット、C0,C1,…,Cn
桁上げの各ビットである。
【0004】また、図10(b) において、51aはアド
レス比較回路の減算結果が0であることをデコードする
デコーダ、51bはアドレス比較回路の減算結果が−1
であることをデコードするデコーダ、51cはこのデコ
ーダ51bが−1を検出したときセットされるフラグレ
ジスタ、51dはデコーダ51aとフラグレジスタ51
cの出力がともにHになったときにオーバーフローの発
生を通知する論理積回路である。
【0005】また、図10(c) において、52aはアド
レス比較回路の減算結果が0であることをデコードする
デコーダ、52bはアドレス比較回路の減算結果が+1
であることをデコードするデコーダ、52cはこのデコ
ーダ52bが+1を検出したときセットされるフラグレ
ジスタ、52dはデコーダ52aとフラグレジスタ52
cの出力がともにHになったときにオーバーフローの発
生を通知する論理積回路である。
【0006】以上のように構成されたバッファメモリ制
御装置について、以下その動作について説明する。 図8
に示すように、バッファメモリ1は、ライトイネーブル
5がLOWレベル(以下、Lレベルと称す)の時に、ラ
イトアドレス生成回路2が出力するライトアドレス3に
ライトデータ4をライトクロックに同期してライトす
る。ライトアドレス生成回路2は、ライトイネーブル5
がLレベルの時にライトクロックに同期して0〜158
のアドレスを0から順番に出力し、これを繰り返す。 一方、バッファメモリ1は、リードイネーブル9がLレ
ベルの時に、リードアドレス生成回路6が出力するリー
ドアドレス7からリードデータ8をリードクロックに同
期してリードする。リードアドレス生成回路6はリード
イネーブル9がLレベルの時にリードクロックに同期し
て0〜158のアドレスを0から順番に出力し、これを
繰り返す。
【0007】このバッファメモリ制御装置において、バ
ッファメモリ1のオーバーフローの発生を検出するに
は、アドレス比較回路149によりライトアドレス3か
らリードアドレス7の減算を行い、その減算結果150
をオーバーフロー発生通知回路151とエンプティー発
生通知回路152に出力する。この減算結果は、通常動
作の場合はライトアドレスがリードアドレスよりも大き
な値をとるため正の値をとるが、オーバーフローが発生
する場合は、図9(a) に示すように、ライトアドレスW
ADがリードアドレスRADを追い越してメモリ領域の
最上位アドレスに達し、一旦メモリ領域の最下位アドレ
スに戻った後にここからリードアドレスRADに向けて
アドレスが増加してゆく場合であるので、オーバーフロ
ー発生通知回路151は減算結果150がマイナス1か
ら0へ変化した時にオーバーフローを検出する。またエ
ンプティーが発生する場合は、逆に、図9(b) に示すよ
うに、ライトアドレスWADにリードアドレスRADが
追いつく場合であるので、エンプティー発生通知回路1
52はプラス1から0へ変化した時にエンプティーを検
出し、リードを停止させる。
【0008】この従来の技術によるバッファメモリ制御
装置では、複数のデータを単位としたデータの集合であ
るセルを単位とするデータをバッファメモリにライトす
る途中でライトデータの転送が中止された場合、ライト
されたデータまでをリードするために、セルの途中であ
ってもそれ以降のデータに対し疑似データを挿入し、デ
ータ転送を行うが、受信側では疑似データが含まれるセ
ル単位を廃棄してしまうため、送信したセルデータに損
失が生じる。
【0009】また、バッファメモリのオーバーフローま
たはエンプティーを、図10(a) に示すようなアドレス
比較回路を用いて検出するが、このアドレス比較回路は
ライトアドレスAからリードアドレスBを減算する際に
A+(Bの2の補数)+1を実行する減算回路からなる
ために、アドレスのビット数が増えると回路規模が大き
くなる。 また、この減算回路の他に、図10(b) に示す
ような2個のデコーダとフラグレジスタ、論理積回路を
1個ずつ要し、減算結果が−1になった後に0になるこ
とを検出することでオーバーフローを検出するオーバー
フロー発生通知回路や、図10(c) に示すような2個の
デコーダとフラグレジスタ、論理積回路を1個ずつ要
し、減算結果が+1になった後に0になることを検出す
ることでエンプティーを検出するエンプティー発生通知
回路をも設ける必要がある。
【0010】更に、バッファメモリのオーバーフローが
発生した後、ライトデータの転送中止を知らせるため
に、転送中止までのライトデータを再度送信する必要が
あるため、転送中止までのライトデータの損失もしくは
バッファメモリへのオーバーライトによるデータの損失
が生じるという問題点があった。 ところで、このような問題を解決できるものとして、従
来、特開平8−223168号公報のセルバッファ制御
回路がすでに開発されており、図11にこれを転載して
いる。図11はこの特開平8−223168号公報に示
されたセルバッファ制御回路の構成を示したもので、図
において、書き込み側バンクアドレス101をデコード
するイネーブル付きのデコーダ105と、読み出し側バ
ンクアドレス103をデコードするイネーブル付きのデ
コーダ106と、各バンクに対応してそのバンクにセル
データが存在するか否かを示す情報の保持を行う情報保
持手段1091〜109nと、書き込み側バンクアドレ
ス101の値に1を加算する加算回路112と、その加
算回路112の値により情報保持手段1091〜109
nからの出力1101〜110nを選択するセレクタ1
14と、読み出し側バンクアドレス103の値に1を加
算する加算回路113と、その加算回路の値により情報
保持手段1091〜109nからの出力1101〜11
0nを選択するセレクタ115と、セルバッファの異常
状態を検出する異常状態検出手段116とを備えて構成
されている。
【0011】図11に示すセルバッファ制御回路は、図
示しないセルバッファ全体をn個のバンクに分けて構成
し、書き込み側または読み出し側のアドレスを各バンク
に対応させてバンク数だけ備えられた情報保持手段10
91〜109nに対し、デコーダ105が書き込み側バ
ンクアドレス101とバンク書き込み終了信号102を
用いて、各バンクへのセルデータの書き込み終了を検出
した時点で、該当するバンクに対応した情報保持手段に
書き込み終了が入力され、これにより、セルデータの存
在を示すフラグを立てる。また、デコーダ106が、読
み出し側バンクアドレス103とバンク読み出し終了信
号104を用いて、各バンクからのセルの読み出し終了
時点で該当バンクに対応した情報保持手段に保持されて
いるフラグを解除する処理を行うことにより、各情報保
持手段が、対応する各バンクにセルデータが書き込まれ
て存在しているか、あるいは読み出されてセルデータが
存在しないかを表すことができる。
【0012】また、加算回路112により書き込み側バ
ンクアドレス101に1を加えた値をセレクタ114の
制御信号として、セレクタ114は情報保持手段109
1〜109nの出力1101〜110nを選択するの
で、セレクタ114は現在書き込みを行おうとするバン
クより1つ先のバンクに対応した情報保持手段を選択す
ることになる。従って、セレクタ114の出力信号11
7がHのときはセルバッファがオーバーフローしている
こととなり、このため、この信号をセルバッファへの書
き込み禁止信号として用いることができる。
【0013】さらに、加算回路113により読み出し側
バンクアドレス103に1を加えた値をセレクタ115
の制御信号として、セレクタ115は情報保持手段10
91〜109nの出力1101〜110nを選択するの
で、セレクタ115は現在読み出しを行おうとするバン
クより1つ先のバンクに対応した情報保持手段を選択す
ることになる。従って、セレクタ115の出力信号11
7がLのときはセルバッファがエンプティーになってい
ることとなり、このため、この信号の反転信号をセルバ
ッファからの読み出し禁止信号として用いることができ
る。
【0014】
【発明が解決しようとする課題】しかしながら、この従
来のセルバッファ制御回路は、現在書き込み中のバンク
の次の情報保持手段の情報を検査することで、オーバー
フロー,アンダーフローの制御を行うようにしており、
このため、現在書き込み中のバンクは、これに書き込み
を開始した時点で、すぐに、オーバーフロー,アンダー
フローが生じているという検査結果を出力してしまう。
このため、バンクの個数が少数になるほどセルバッファ
の容量を有効利用できずにオーバーフロー,アンダーフ
ローの検出結果を出力してしまうものであり、例えばバ
ンクの個数が2の場合では、セルバッファの全容量の半
分しか活用することができない。従って、このセルバッ
ファ制御回路が出力するオーバーフロー,アンダーフロ
ーの検出結果を用いてデータの転送制御を行った場合、
転送効率が良くないという問題があった。また、この従
来のセルバッファ制御回路は固定長のバンク領域にしか
対応できない,という問題があった。
【0015】本発明は、上記従来の問題点を解決するた
めになされたもので、データの転送制御に用いた場合に
転送効率が良く、回路規模を大きくすることなくバッフ
ァメモリのオーバーフローを検出することが可能な、あ
るいは、バッファメモリのオーバーフローを前もって検
出し、これを相手側に伝えることが可能なバッファメモ
リ制御装置を提供することを目的とする。
【0016】
【課題を解決するための手段】本発明は、上記課題を解
決し目的を達成するためになされたもので、本願の請求
項1に係る発明によるバッファメモリ制御装置は、アド
レスにより複数のデータ単位であるセル単位のメモリ領
域に分割されたバッファメモリと、前記バッファメモリ
のライトアドレスを出力するライトアドレス生成回路
と、前記バッファメモリのリードアドレスを出力するリ
ードアドレス生成回路と、前記ライトアドレスをデコー
ドすることによりセル単位毎のデータのライトが終了す
る前のライトアドレスを示すフラグ信号を出力する第1
のレジスタと、前記フラグ信号により前記バッファメモ
リ内にセル単位のデータの有無を判別し前記バッファメ
モリのリード制御を行うデータ判別回路と、前記リード
アドレスをデコードすることによりセル単位毎のデータ
のリード終了を示し、前記フラグ信号のリセットを行う
フラグリセット信号を出力する第2のレジスタと、前記
フラグ信号によりバッファメモリのオーバーフローの発
生を知らせるオーバーフロー発生通知回路とを有し、前
記データ判別回路により前記バッファメモリのリード制
御を行い、バッファメモリのオーバーフローが発生する
前にライトデータの転送中止を知らせ、かつ、セル単位
でデータの転送を行いデータの損失を防止するようにし
たので、バッファメモリをあるセル単位に分割し、セル
単位ごとにデータ転送を行い、オーバーフローおよびエ
ンプティーの制御を行うことでセルデータの損失を防止
できる。 また、バッファメモリのオーバーフローを比較
回路を用いず検出するために回路規模を小さく構成でき
る。
【0017】また、本願の請求項2に係る発明によるバ
ッファメモリ制御装置は、請求項1記載のバッファメモ
リ制御装置において、フラグ信号を入力とし、バッファ
メモリにセル単位のデータが無い場合にバッファメモリ
のリード制御を行うと同時に疑似データ選択信号とセル
単位の疑似データを出力する疑似データ生成回路と、前
記疑似データ選択信号により前記疑似データと前記バッ
ファメモリのリードデータのいずれかを選択する選択回
路とを有するようにしたので、転送先でこのセル全体が
廃棄されてしまうという不具合が発生することはなく、
セルデータの損失を防ぐことができる。
【0018】また、本願の請求項3に係る発明によるバ
ッファメモリ制御装置は、請求項1記載のバッファメモ
リ制御装置において、外部からアドレス値を設定可能な
レジスタと、前記レジスタの値とライトアドレスの一致
を検出する第1の一致検出回路と、前記レジスタの値と
リードアドレスの一致を検出する第2の一致検出回路と
を有し、バッファメモリのメモリ領域を任意の単位で分
割可能とするようにしたので、任意の単位で分割したバ
ッファメモリのメモリ領域のオーバーフローを検出でき
る。
【0019】また、本願の請求項4に係る発明によるバ
ッファメモリ制御装置は、アドレスにより複数のデータ
単位であるセル単位のメモリ領域に分割されたバッファ
メモリと、前記バッファメモリのライトアドレスを出力
するライトアドレス生成回路と、前記バッファメモリの
リードアドレスを出力するリードアドレス生成回路と、
前記ライトアドレスをデコードすることによりセル単位
毎のデータのライトが終了した時点もしくはこれより前
のライトアドレスを示すフラグ信号を出力する第1のレ
ジスタと、前記フラグ信号により前記バッファメモリ内
にセル単位のデータの有無を判別し前記バッファメモリ
のリード制御を行うデータ判別回路と、前記リードアド
レスをデコードすることによりセル単位毎のデータのリ
ード終了を示し、前記フラグ信号のリセットを行うフラ
グリセット信号を出力する第2のレジスタと、フラグ信
号とライトアドレスを入力とし、前記フラグ信号と前記
ライトアドレスによりオーバーフローが発生する前にラ
イトデータの転送停止を知らせるオーバーフロー発生検
出回路とを有し、前記データ判別回路により前記バッフ
ァメモリのリード制御を行い、バッファメモリのオーバ
ーフローが発生する前にライトデータの転送中止を知ら
せ、かつ、セル単位でデータの転送を行いデータの損失
を防止するようにしたので、バッファメモリをあるセル
単位に分割し、セル単位ごとにデータ転送を行い、オー
バーフローおよびエンプティーの制御を行うことでセル
データの損失を防止できる。 また、バッファメモリのオ
ーバーフローを前もって検出できる。
【0020】また、本願の請求項5に係る発明によるバ
ッファメモリ制御装置は、請求項4記載のバッファメモ
リ制御装置において、フラグ信号を入力とし、バッファ
メモリにセル単位のデータが無い場合にバッファメモリ
のリード制御を行うと同時に疑似データ選択信号とセル
単位の疑似データを出力する疑似データ生成回路と、前
記疑似データ選択信号により前記疑似データと前記バッ
ファメモリのリードデータのいずれかを選択する選択回
路とを有するようにしたので、転送先でこのセル全体が
廃棄されてしまうという不具合が発生することはなく、
セルデータの損失を防ぐことができる。
【0021】また、本願の請求項6に係る発明によるバ
ッファメモリ制御装置は、請求項4記載のバッファメモ
リ制御装置において、外部からアドレス値を設定可能な
レジスタと、前記レジスタの値とライトアドレスの一致
を検出する第1の一致検出回路と、前記レジスタの値と
リードアドレスの一致を検出する第2の一致検出回路と
を有し、バッファメモリのメモリ領域を任意の単位で分
割可能とするようにしたので、任意の単位で分割したバ
ッファメモリのメモリ領域のオーバーフローを検出でき
る。
【0022】
【発明の実施の形態】以下、本発明の各実施の形態につ
いて、図1ないし図5を用いて説明する。 (実施の形態1)この実施の形態1は、バッファメモリ
のライトアドレスおよびリードアドレスをデコーダによ
りデコードしてセルに対応する複数のフラグレジスタを
セットあるいはリセットし、これらのフラグレジスタの
出力の論理積をとることにより、バッファメモリのオー
バーフローを、小さい回路規模で検出できるようにした
ものである。
【0023】図1は本発明の実施の形態1におけるバッ
ファメモリ制御装置の構成を示すブロック図である。 図
1において、1は3つのセル(1セル=53バイト、1
バイト=8ビット)に相当する容量を持つバッファメモ
リ(8ビットデータ入力/出力、8ビットリード/ライ
トアドレス入力、リード/ライトイネーブル入力)であ
り、これは1つのメモリで構成してもよいが、複数のメ
モリで構成してもよい。
【0024】また、2はバッファメモリ1のライトアド
レスを生成するライトアドレス生成回路、3はこのライ
トアドレス生成回路2により生成されたライトアドレ
ス、4はバッファメモリ1に書き込むライトデータ、5
はバッファメモリ1を書き込み可能な状態に設定するた
めのライトイネーブル、6はバッファメモリ1のリード
アドレスを生成するリードアドレス生成回路、7はこの
リードアドレス生成回路6により生成されたリードアド
レス、8はバッファメモリ1から読み出されたリードデ
ータ、9はバッファメモリ1を読み出し可能な状態に設
定するリードイネーブルであって、これらは前記従来例
の図6と同様のものである。
【0025】次に、10〜12はライトアドレス生成回
路2により生成されたライトアドレスをデコードし、こ
れがバッファメモリ1のセル単位のメモリ領域1a〜1
cの最上位アドレスに一致するか否かを検出するライト
アドレスデコーダ、13〜15はライトアドレスデコー
ダ10〜12によりセットされるフラグレジスタ、16
〜18はリードアドレス生成回路6により生成されたリ
ードアドレスをデコードし、これがバッファメモリ1の
メモリ領域1a〜1cの最上位アドレスに一致するか否
かを検出するリードアドレスデコーダ、19〜21はリ
ードアドレスデコーダ16〜18によりセットされ、セ
ットされた時に該当するメモリ領域1a〜1cが空であ
る旨を示すフラグリセットレジスタ、22〜24はフラ
グレジスタ13〜15から出力され、Hレベルの時に該
当するメモリ領域1a〜1cが満杯である旨を示すとと
もに、Lレベルの時にフラグリセットレジスタをリセッ
トするフラグ信号、25〜27はフラグリセットレジス
タ19〜21から出力され、Hレベルの時に該当するメ
モリ領域1a〜1cが空である旨を示すとともに、フラ
グレジスタ13〜15をリセットするフラグリセット信
号、28は3入力論理積回路からなり、フラグ信号22
〜24が全てHになった時にバッファメモリ1にオーバ
ーフローが発生したことを通知するオーバーフロー発生
通知回路、29はフラグ信号22〜24の少なくとも1
つがHになったことを判別し、その時にリードイネーブ
ル9を発生するデータ判別回路であり、これは排他的論
理和回路により構成できる。
【0026】また、図2は図1のデコーダの構成例を示
す回路図であり、ここでは、52,105,158をデ
コードする場合を例にとって示している。図2(a) にお
いて、101 はデータ“1" とライトアドレス3の第5
ビット35 の論理積をとる論理積回路、102 はデータ
“1" とライトアドレス3の第4ビット34 の論理積を
とる論理積回路、103 はデータ“0" とライトアドレ
ス3の第3ビット33 の論理積をとる論理積回路、10
4 はデータ“1" とライトアドレス3の第2ビット32
の論理積をとる論理積回路、105 はデータ“0"とラ
イトアドレス3の第1ビット31 の論理積をとる論理積
回路、106 はデータ“0" とライトアドレス3の第0
ビット30 の論理積をとる論理積回路、107 は論理積
回路101 ないし106 の論理積をとる論理積回路であ
る。
【0027】このデコーダ回路は、ライトアドレス3に
入力されたデータが52に一致する場合、これを2進数
に展開した“1" ,“1" ,“0" ,“1" ,“0" ,
“0" が論理積回路101 ないし106 のライトアドレ
ス3の第5ビット35 ,第4ビット34 ,第3ビット3
3 ,第2ビット32 ,第1ビット31 ,第0ビット30
に入力され、これと論理積回路101 ないし106 に予
め与えられているデータ“1" ,“1" ,“0" ,
“1" ,“0" ,“0" が全て一致するため、論理積回
路101 ないし106 の出力が全てHとなり、これによ
り、論理積回路107 の出力がHとなり、ライトアドレ
ス3に入力されたデータが52に一致することを検出す
ることができる。
【0028】図2(b) は図2(a) と同様の構成により、
ライトアドレス3に入力されたデータが105に一致す
ることを検出することができるデコーダであり、図2
(b) において、111 はデータ“1" とライトアドレス
3の第6ビット36 の論理積をとる論理積回路、112
はデータ“1" とライトアドレス3の第5ビット35
論理積をとる論理積回路、113 はデータ“0" とライ
トアドレス3の第4ビット34 の論理積をとる論理積回
路、114 はデータ“1" とライトアドレス3の第3ビ
ット33 の論理積をとる論理積回路、115 はデータ
“0" とライトアドレス3の第2ビット32 の論理積を
とる論理積回路、116 はデータ“0" とライトアドレ
ス3の第1ビット31 の論理積をとる論理積回路、11
7 はデータ“1" とライトアドレス3の第0ビット30
の論理積をとる論理積回路、118 は論理積回路111
ないし117 の論理積をとる論理積回路である。
【0029】図2(c) は図2(a) と同様の構成により、
ライトアドレス3に入力されたデータが158に一致す
ることを検出することができるデコーダであり、図2
(c) において、121 はデータ“1" とライトアドレス
3の第7ビット37 の論理積をとる論理積回路、122
はデータ“0" とライトアドレス3の第6ビット36
論理積をとる論理積回路、123 はデータ“0" とライ
トアドレス3の第5ビット35 の論理積をとる論理積回
路、124 はデータ“1" とライトアドレス3の第4ビ
ット34 の論理積をとる論理積回路、125 はデータ
“1" とライトアドレス3の第3ビット33 の論理積を
とる論理積回路、126 はデータ“1" とライトアドレ
ス3の第2ビット32 の論理積をとる論理積回路、12
7 はデータ“1" とライトアドレス3の第1ビット31
の論理積をとる論理積回路、128 はデータ“0" とラ
イトアドレス3の第0ビット30 の論理積をとる論理積
回路、129 は論理積回路121 ないし128 の論理積
をとる論理積回路である。
【0030】以上のように構成されたバッファメモリ制
御装置について、以下、その動作について説明する。 図1に示すように、バッファメモリ1は、ライトイネー
ブル5がLレベルの時に、ライトアドレス生成回路2が
出力するライトアドレス3に、図示しないライトクロッ
クに同期してライトデータ4をライトする。 ライトアドレス生成回路2は、ライトイネーブル5がL
レベルの時にライトクロックに同期して0〜158のア
ドレスを0から順番に出力し、これを繰り返す。
【0031】ライトアドレスデコーダ10,11,12
はライトアドレス3をデコードし、これがバッファメモ
リ1の1セルの最上位アドレスを示す値52, 105、
158にそれぞれ一致した時、Hレベル信号を出力す
る。従って、ライトアドレスデコーダ10,11,12
はそれぞれバッファメモリ1に1セル分のデータがライ
トされた時、つまりライトアドレス3が示すアドレスが
0からライトを開始して、52, 105、 158のアド
レスへのライトが終了してはじめて、デコードしたHレ
ベル信号をそれぞれ対応するフラグレジスタ13, 1
4, 15へ出力する。 そして、フラグレジスタ13, 1
4、 15はそれぞれのフラグ信号22, 23, 24をH
レベルとする。
【0032】一方、バッファメモリ1は、リードイネー
ブル9がLレベルの時に、リードアドレス生成回路6が
出力するリードアドレス7から、図示しないリードクロ
ックに同期してリードデータ8をリードする。リードア
ドレス生成回路6はリードイネーブル9がLレベルの時
にリードクロックに同期して0〜158のアドレスを0
から順番に出力し、これを繰り返す。
【0033】リードアドレスデコーダ16,17,18
はリードアドレス7をデコードしこれがバッファメモリ
1の1セルの最上位アドレスを示す値52, 105、 1
58にそれぞれ一致した時、Hレベル信号を出力する。
従って、リードアドレスデコーダ16, 17, 18は、
それぞれバッファメモリ1から1セル分のデータをリー
ドした時、つまりリードアドレス7が示すアドレスが0
からリードを開始して、52, 105、 158のアドレ
スまでのリードが終了してはじめて、デコードしたHレ
ベル信号をそれぞれ対応するフラグリセットレジスタ1
9, 20、 21へ出力する。
【0034】そして、フラグリセットレジスタ19, 2
0, 21はそれぞれ対応するフラグレジスタ13, 1
4, 15をリセットするためのフラグリセット信号2
5、26、27をHレベルとする。フラグリセットレジ
スタ19, 20, 21はそれぞれ対応するフラグレジス
タ13, 14, 15をリセットするまでフラグリセット
信号25, 26, 27をHレベルで出力し、フラグレジ
スタ13, 14, 15をリセットした後Lレベルとな
る。
【0035】フラグレジスタ13, 14, 15から出力
されるフラグ信号22, 23, 24はこれがHレベルで
あればバッファメモリ1の対応するメモリ領域1a,1
b,1cにデータの書き込みが終了しているので、フラ
グ信号22, 23, 24の内1つ以上がHレベルの場合
のみデータ判別回路29はリードイネーブル9を出力す
る。
【0036】このように、フラグ信号22, 23、 24
の内1つ以上がHレベルの場合のみデータ判別回路29
でバッファメモリ1のデータをリード可能とすること
で、セル単位でデータを転送することが可能となる。こ
のため、セルを転送する途中でバッファメモリ1のデー
タが途切れた場合、転送元で途切れたデータの後に疑似
データを挿入してセルを構成するために、転送先でこの
セル全体が廃棄されてしまうという不具合が発生するこ
とはなく、セルデータの損失を防ぐことができる。
【0037】また、フラグ信号22, 23, 24がすべ
てHレベルであれば、バッファメモリ1の対応するメモ
リ領域1a,1b,1cにデータの書き込みが終了して
いるので、オーバーフロー発生通知回路28を3入力論
理積により構成してバッファメモリ1のオーバーフロー
を検出することができる。
【0038】従って、例えばATMに本バッファメモリ
制御装置を適用する場合、ライトアドレスデコーダ1
0,11,12がデコードする値を前述の52,10
5,158より小さな値、即ち、図1に示すように同期
回路で本バッファメモリ制御装置を構成する場合はこれ
らより5ずつ小さい47,100,153に設定するこ
とにより、また、非同期回路で本バッファメモリ制御装
置を構成する場合は、前述の52,105,158より
4ずつ小さい48,101,154に設定することによ
り、バッファメモリ1のオーバーフローを前もって検出
することができる。
【0039】このように、本実施の形態1によれば、バ
ッファメモリに入力するライトアドレスをセル単位でデ
コードしてフラグレジスタをセットし、バッファメモリ
に入力するリードアドレスをセル単位でデコードしてフ
ラグリセットレジスタをセットし、このフラグリセット
レジスタの出力によりフラグレジスタをリセットし、フ
ラグレジスタの出力がバッファメモリの全てのセルに相
当する分Hレベルとなることにより、オーバーフローと
なったことを検出するようにしたので、データの転送制
御に用いた場合に転送効率が良く、またアドレスデコー
ダとレジスタおよび論理積回路により回路を構成できる
ため、従来例がライトアドレスとリードアドレスを比較
し、これらの差が−1から0に変化するか、+1から0
に変化することを検出するのに比べ回路規模を小さく構
成でき、しかも、セルを単位としてバッファメモリのデ
ータの有無を検知できる。さらに、ライトアドレスデコ
ーダのデコードするアドレスをセルの最上位アドレスよ
り手前のアドレスに設定しておくことにより、オーバー
フローをこれが実際に発生するよりも前に検出すること
が可能となる。
【0040】(実施の形態2)この実施の形態2は、バ
ッファメモリのライトアドレスおよびリードアドレスを
デコーダによりデコードしてメモリ領域に対応する複数
のフラグレジスタをセットあるいはリセットし、これら
のフラグレジスタの出力が1つを除いて全てHになり、
かつ残り1つのフラグレジスタに対応するメモリ領域の
ライトアドレスがオーバーフローしかけていることをデ
コーダで検知することにより、バッファメモリのオーバ
ーフローを、これが実際に生じるよりも前もって検出で
きるようにしたものである。
【0041】図3は本発明の実施の形態2におけるバッ
ファメモリ制御装置の構成を示すブロック図である。 図
3において、バッファメモリ1、ライトアドレス生成回
路2、ライトアドレス3、ライトデータ4、ライトイネ
ーブル5、リードアドレス生成回路6、リードアドレス
7、リードデータ8、リードイネーブル9、ライトアド
レスデコーダ10〜12、フラグレジスタ13〜15、
リードアドレスデコーダ16〜18、フラグリセットレ
ジスタ19〜21、フラグ信号22〜24、フラグリセ
ット信号25〜27、データ判別回路29の構成は実施
の形態1で示した図1の対応する部分と実質的に同じで
ある。また、30は図2と同様のデコーダにより構成さ
れ、フラグ信号22〜24が書き込み中の1つを除いて
Hレベルになり、かつその1つに対応するメモリ領域の
ライトアドレスが当該メモリ領域の最上位アドレスに近
い所定のアドレスになったことをデコードしたときに、
バッファメモリ1にオーバーフローが発生したことを前
もって通知するオーバーフロー発生検出回路である。
【0042】以上のように構成されたバッファメモリ制
御装置について、以下その動作について説明する。図3
に示すように、バッファメモリ1は、ライトイネーブル
5がLレベルの時に、ライトアドレス生成回路2が出力
するライトアドレス3に図示しないライトクロックに同
期してライトデータ4をライトする。ライトアドレス生
成回路2は、ライトイネーブル5がLレベルの時にライ
トクロックに同期して0〜158のアドレスを0から順
番に出力し、これを繰り返す。
【0043】ライトアドレスデコーダ10, 11, 12
はライトアドレス3をデコードし、これがバッファメモ
リの1セルの最上位アドレスを示す値52,105,1
58にそれぞれ一致した時、Hレベル信号を出力する。
従って、ライトアドレスデコーダ10,11,12はそ
れぞれバッファメモリ1に1セル分のデータがライトさ
れた時、つまりライトアドレス3が示すアドレスが0か
らライトを開始して、52, 105, 158のアドレス
へのライトが終了してはじめて、デコードしたHレベル
信号をそれぞれ対応するフラグレジスタ13, 14, 1
5へ出力する。そして、フラグレジスタ13, 14, 1
5はそれぞれのフラグ信号22, 23、24をHレベル
とする。
【0044】一方、バッファメモリ1は、リードイネー
ブル9がLレベルの時に、リードアドレス生成回路6が
出力するリードアドレス7からリードデータ8をリード
クロックに同期してリードする。
【0045】リードアドレス生成回路6はリードイネー
ブル信号9がLレベルの時に、リードアドレス生成回路
6が生成するリードアドレス7から、図示しないリード
クロックに同期して0〜158のアドレスを0から順番
に出力し、これを繰り返す。
【0046】リードアドレスデコーダ16, 17, 18
はリードアドレス7をデコードしこれがバッファメモリ
1の1セルの最上位アドレスを示す値52,105,1
58にそれぞれ一致した時、Hレベル信号を出力する。
従って、リードアドレスデコーダ16, 17, 18は、
それぞれバッファメモリ1から1セル分のデータをリー
ドした時、つまりリードアドレスが示すアドレスが0か
らリードを開始して、52, 105、 158のアドレス
までのリードが終了してはじめて、デコードしたHレベ
ル信号をそれぞれ対応するフラグリセットレジスタ1
9, 20, 21へ出力する。
【0047】そして、フラグリセットレジスタ19, 2
0, 21はそれぞれ対応するフラグレジスタ13, 1
4, 15をリセットするためのフラグリセット信号2
5、26、27をHレベルとする。フラグリセットレジ
スタ19, 20, 21はそれぞれ対応するフラグレジス
タ13, 14, 15をリセットするまでフラグリセット
信号25, 26, 27をHレベルで出力し、フラグレジ
スタ13, 14, 15をリセットした後Lレベルとな
る。フラグ信号22, 23, 24の内1つ以上がHレベ
ルの場合のみデータ判別回路29はリードイネーブル9
を出力する。
【0048】このように、フラグ信号22、23、24
の内1つ以上がHレベルの場合のみデータ判別回路29
でバッファメモリ1のデータをリード可能とすること
で、セル単位のデータ転送が可能となる。このため、セ
ルを転送する途中でバッファメモリ1のデータが途切れ
た場合、転送元で途切れたデータの後に疑似データを挿
入してセルを構成するために、転送先でこのセル全体が
廃棄されてしまうという不具合が発生することはなく、
セルデータの損失を防ぐことができる。
【0049】また、オーバーフロー発生検出回路30に
より、フラグ信号22、23、24の内いずれか2つが
Hレベルの時で現在ライト中のメモリ領域のあるアドレ
ス値が該当するメモリ領域内の最上位アドレスに達する
前である旨をデコードすることにより、バッファメモリ
1がオーバーフローを起こす前にオーバーフローの通知
を発することが可能であり、これによりライトデータの
転送を中止できるため、ライトデータに損失が生じてし
まうことをなくすことができる。
【0050】このため、例えば、フラグ信号23、24
がHレベルの時で、ライトアドレスが、現在ライト中の
メモリ領域1aの最上位アドレス52より5手前の47
に達したとき、この状態をデコードできるように、デコ
ーダからなるオーバーフロー発生検出回路30を、図2
に示すように設定しておくことにより、オーバーフロー
の発生を前もって検出でき、ライトデータに損失が生じ
てしまうことをなくすことができる。
【0051】このように、本実施の形態2によれば、バ
ッファメモリに入力するライトアドレスをセル単位でデ
コードしてフラグレジスタをセットし、バッファメモリ
に入力するリードアドレスをセル単位でデコードしてフ
ラグリセットレジスタをセットし、このフラグリセット
レジスタの出力によりフラグレジスタをリセットし、フ
ラグレジスタの出力がバッファメモリの全てのセルより
1つ少ない分Hレベルとなり、かつ、残りの1つのセル
に対応するライトアドレスが該当するアドレスの最大値
に達するより前の値であることをデコードすることによ
り、オーバーフローとなったことを検出するようにした
ので、セルを単位としてバッファメモリのデータの有無
を検知でき、データの転送制御に用いた場合に転送効率
が良く、しかも、オーバーフローを前もって検出するこ
とが可能となる。
【0052】(実施の形態3)この実施の形態3は、バ
ッファメモリのライトアドレスおよびリードアドレスを
デコーダによりデコードしてメモリ領域に対応する複数
のフラグレジスタをセットあるいはリセットし、これら
のフラグレジスタの出力が1つを除いて全てHになり、
かつ残り1つのフラグレジスタに対応するメモリ領域の
ライトアドレスがオーバーフローしかかっていることを
デコーダで検知するとともに、これらのフラグレジスタ
の出力が全てLである場合には転送先で廃棄される疑似
データを送出することにより、バッファメモリのオーバ
ーフローを、これが実際に生じるよりも前もって検出で
きるとともに、誤データの送信を防止できるようにした
ものである。
【0053】図4は本発明の実施の形態3におけるバッ
ファメモリ制御装置の構成を示すブロック図である。図
4において、バッファメモリ1、ライトアドレス生成回
路2、ライトアドレス3、ライトデータ4、ライトイネ
ーブル5、リードアドレス生成回路6、リードアドレス
7、リードデータ8、リードイネーブル9、ライトアド
レスデコーダ10〜12、フラグレジスタ13〜15、
リードアドレスデコーダ16〜18、フラグリセットレ
ジスタ19〜21、フラグ信号22〜24、フラグリセ
ット信号25〜27、オーバーフロー発生検出回路30
の構成は実施の形態2で示した図3の対応する部分と実
質的に同じであり、31はフラグ信号22、23、24
の内1つ以上がHレベルの場合のみリードイネーブル9
を出力し、データのリードを可能とするとともに、フラ
グ信号22、23、24の全てがHレベルの場合のみ転
送先で廃棄される疑似データを生成する疑似データ生成
回路、32はこの疑似データ生成回路31により生成さ
れる疑似データ、34はバッファメモリ8からのリード
データ8と疑似データ32とを選択する選択回路、33
はこの選択回路34を選択させる疑似データ選択信号、
35は選択回路34により選択され転送先に転送される
転送データである。
【0054】以上のように構成されたバッファメモリ制
御装置について、以下にその動作について説明する。図
4に示すようにバッファメモリ1は、ライトイネーブル
5がLレベルの時に、ライトアドレス生成回路2が出力
するライトアドレス3に図示しないライトクロックに同
期してライトデータ4をライトする。ライトアドレス生
成回路2は、ライトイネーブル5がLレベルの時にライ
トクロックに同期して0〜158のアドレスを0から順
番に出力し、これを繰り返す。
【0055】ライトアドレスデコーダ10、11、12
はライトアドレス3をデコードし、これがバッファメモ
リ1の1セルの最上位アドレスを示す値52、105、
158にそれぞれ一致した時、Hレベル信号を出力す
る。従って、ライトアドレスデコーダ10、11、12
はそれぞれバッファメモリ1に1セル分のデータがライ
トされた時、つまりライトアドレス3が示すアドレスが
0からライトを開始して、52、105、158のアド
レスへのライトが終了してはじめて、デコードしたHレ
ベル信号をそれぞれ対応するフラグレジスタ13、1
4、15へ出力する。そして、フラグレジスタ13、1
4、15はそれぞれのフラグ信号22、23、24をH
レベルとする。
【0056】一方、バッファメモリ1は、リードイネー
ブル9がLレベルの時に、リードアドレス生成回路6が
出力するリードアドレス7から、図示しないリードクロ
ックに同期してリードデータ8をリードする。
【0057】リードアドレス生成回路6はリードイネー
ブル9がLレベルの時に、リードクロックに同期して0
〜158のアドレスを0から順番に出力し、これを繰り
返す。
【0058】リードアドレスデコーダ16、17、18
はリードアドレス7をデコードしこれがバッファメモリ
1の1セルの最上位アドレスを示す値52、105,1
58にそれぞれ一致した時、Hレベル信号を出力する。
従って、リードアドレスデコーダ16、17、18は、
それぞれバッファメモリ1から1セル分のデータをリー
ドした時、つまりリードアドレス7が示すアドレスが0
からリードを開始して、52、105、158のアドレ
スまでのリードが終了してはじめて、デコードしたHレ
ベル信号をそれぞれ対応するフラグリセットレジスタ1
9、20、21へ出力する。
【0059】そして、フラグリセットレジスタ19、2
0、21はそれぞれ対応するフラグレジスタ13、1
4、15をリセットするためのフラグリセット信号2
5、26、27をHレベルとする。フラグリセットレジ
スタ19、20、21はそれぞれ対応するフラグレジス
タ13、14、15をリセットするまでフラグリセット
信号25、26、27をHレベルで出力し、フラグレジ
スタ13、14、15をリセットした後Lレベルとな
る。フラグ信号22、23、24の内1つ以上がHレベ
ルの場合のみ疑似データ生成回路31はリードイネーブ
ル9を出力し、データのリードを可能とする。
【0060】このように、フラグ信号22、23、24
の内1つ以上がHレベルの場合のみバッファメモリ1の
データをリードすることでセル単位のデータ転送が可能
となる。このため、セルを転送する途中でバッファメモ
リ1のデータが途切れた場合、転送元で途切れたデータ
の後に疑似データを挿入してセルを構成するために、転
送先でこのセル全体が廃棄されてしまうという不具合が
発生することはなく、セルデータの損失を防ぐことがで
きる。
【0061】そして、フラグ信号22、23、24のす
べてがLレベルの場合は、例えばATM(Asynchronous
Transfer Mode:非同期転送モード)通信等において
使用される,空きセルと呼ばれる疑似データ、即ち、転
送先で廃棄されるセル単位の疑似データ32を疑似デー
タ生成回路31により出力すると同時に疑似データ選択
信号33を出力し、選択回路34で転送データ35をリ
ードデータ8から疑似データ32に切換えることで、疑
似データ32を転送先に向けて出力する。
【0062】疑似データ生成回路31は、空きセルを転
送した後、再度フラグ信号22、23、24の内1つ以
上がHレベルかどうかを検出し、Hレベルの場合はバッ
ファメモリ1からデータをリードし、すべてLレベルの
場合は再び空きセルを転送し、この動作を繰り返す。こ
れにより誤データの転送を防ぐことができる。
【0063】また、オーバーフロー発生検出回路30に
より、フラグ信号22、23、24の内いずれか2つが
Hレベルの時で現在ライト中のメモリ領域のあるアドレ
ス値が該当するメモリ領域内の最上位アドレスに達する
前である旨をデコードすることにより、バッファメモリ
1がオーバーフローを起こす前にオーバーフローの通知
を発することが可能であり、これによりライトデータの
転送を中止できるため、ライトデータに損失が生じてし
まうことをなくすことができる。
【0064】このため、例えば、フラグ信号23、24
がHレベルの時で、ライトアドレスが、現在ライト中の
メモリ領域1aの最上位アドレス52より5手前の47
に達したとき、この状態をデコードできるように、デコ
ーダからなるオーバーフロー発生検出回路30を、図2
に示すように設定しておくことにより、オーバーフロー
の発生を前もって検出でき、ライトデータに損失が生じ
てしまうことをなくすことができる。
【0065】このように、本実施の形態3によれば、バ
ッファメモリに入力するライトアドレスをセル単位でデ
コードしてフラグレジスタをセットし、バッファメモリ
に入力するリードアドレスをセル単位でデコードしてフ
ラグリセットレジスタをセットし、このフラグリセット
レジスタの出力によりフラグレジスタをリセットし、フ
ラグレジスタの出力がバッファメモリの全てのセルより
1つ少ない分Hレベルとなり、かつ、残りの1つのセル
に対応するライトアドレスが該当するアドレスの最大値
に達するより前の値であることをデコードすることによ
り、オーバーフローとなったことを検出するとともに、
フラグレジスタの出力が全てLレベルとなった場合、疑
似データを転送先に向けて転送するようにしたので、セ
ルを単位としてバッファメモリのデータの有無を検知で
き、データの転送制御に用いた場合に転送効率が良く、
誤ったデータの転送を防止できるとともに、オーバーフ
ローを前もって検出することが可能となる。
【0066】なお、図5に示すように、オーバーフロー
発生通知回路を図1に示すような論理積回路28で構成
するようにしてもよく、この場合、ライトアドレスデコ
ーダ10,11,12を、各メモリ領域1a,1b,1
cの最上位アドレス、例えば52,105,158に設
定すれば、オーバーフローを前もって検出することはで
きないが、セルを単位としてバッファメモリのデータの
有無を検知でき、誤ったデータの転送を防止することは
可能である。従って、これより、例えば5ずつ前の4
7,100,153に設定しておけば、オーバーフロー
を前もって検出することが可能となり、かつ、3つのメ
モリ領域1a,1b,1cのうちの2つに対応するフラ
グレジスタの出力がHレベルの時に限り1つのメモリ領
域からデータを読み出せる。
【0067】(実施の形態4)この実施の形態4は、バ
ッファメモリのライトアドレスおよびリードアドレスと
アドレス設定レジスタに設定した任意の設定データとの
一致を検出することによりメモリ領域に対応する複数の
フラグレジスタをセットあるいはリセットし、これらの
フラグレジスタの出力が1つを除いて全てHになり、か
つ残り1つのフラグレジスタに対応するメモリ領域のラ
イトアドレスがオーバーフローしかかっていることを、
これとアドレス設定レジスタに設定した設定データとを
デコードすることにより検知するとともに、これらのフ
ラグレジスタの出力が少なくとも1つ以上Hである場合
にバッファメモリを読み出し可能とすることにより、バ
ッファメモリのオーバーフローを、これが実際に生じる
よりも前もって検出できるとともに、バッファメモリを
任意の個数のセルに分割し、かつその分割したセルを単
位としてバッファメモリのデータの有無を検知できるよ
うにしたものである。
【0068】図6は本発明の実施の形態4におけるバッ
ファメモリ制御装置の構成を示すブロック図である。図
6において、バッファメモリ1、ライトアドレス生成回
路2、ライトアドレス3、ライトデータ4、ライトイネ
ーブル5、リードアドレス生成回路6、リードアドレス
7、リードデータ8、リードイネーブル9、フラグレジ
スタ13〜15、フラグリセットレジスタ19〜21、
フラグ信号22〜24、フラグリセット信号25〜2
7、データ判別回路29、オーバーフロー発生検出回路
30の構成は実施の形態2で示した図2の対応する部分
と実質的に同じであり、36〜38は排他的論理和回路
等からなり、ライトアドレス3とアドレス設定レジスタ
に設定されたアドレスとの一致を検出する一致検出回
路、39〜41は排他的論理和回路等からなり、リード
アドレス7とアドレス設定レジスタに設定されたアドレ
スとの一致を検出する一致検出回路、42〜44は一致
検出回路36〜41により一致が検出されるアドレスが
設定されるアドレス設定レジスタ、45〜47はアドレ
ス設定レジスタ42〜44に設定される設定データ、4
9〜51はオーバーフロー検出回路30に設定されるア
ドレスが設定されるアドレス設定レジスタ、48はこれ
らのアドレス設定レジスタ42〜44および49〜51
に設定される設定データとなる外部入力データ、55は
CPU等からなり、この外部入力データを設定するアド
レス設定手段である。
【0069】以上のように構成されたバッファメモリ制
御装置について以下その動作について説明する。図6に
示すように、バッファメモリ1は、ライトイネーブル5
がLレベルの時に、ライトアドレス生成回路2が出力す
るライトアドレス3に、図示しないライトクロックに同
期してライトデータ4をライトする。ライトアドレス生
成回路2は、ライトイネーブル5がLレベルの時にライ
トクロックに同期して0〜158のアドレスを0から順
番に出力し、これを繰り返す。
【0070】アドレス設定レジスタ42、43、44は
それぞれアドレス設定手段55からの外部入力データ4
8により設定され、各メモリ領域1a,1b,1cの最
上位アドレスを示す。従って、一致検出回路36、3
7、38は、それぞれアドレス設定レジスタ42、4
3、44に設定された設定データ45、46、47とラ
イトアドレス3が一致し、そのメモリ領域1a,1b,
1cの最上位アドレスまでのライトが終了した時、Hレ
ベル信号をそれぞれ対応するフラグレジスタ13、1
4、15へ出力する。そして、フラグレジスタ13、1
4、15はそれぞれのフラグ信号22、23、24をH
レベルとする。
【0071】一方、バッファメモリ1は、リードイネー
ブル9がLレベルの時にリードアドレス生成回路6が出
力するリードアドレス7から、図示しないリードクロッ
クに同期してリードデータ8をリードする。リードアド
レス生成回路6はリードイネーブル9がLレベルの時に
リードクロックに同期して0〜158のアドレスを0か
ら順番に出力し、これを繰り返す。
【0072】アドレス設定レジスタ42、43、44に
は、上述のように、各メモリ領域1a,1b,1cの最
上位アドレス、例えば40,110,158が設定され
ており、一致検出回路39、40、41は、それぞれ対
応したアドレス設定レジスタ42、43、44に設定さ
れた設定データ45、46、47とリードアドレス7が
一致し、そのメモリ領域1a,1b,1cの最上位アド
レスまでのリードが終了した時、Hレベル信号をそれぞ
れ対応するフラグリセットレジスタ19、20、21へ
出力する。
【0073】そして、これにより、フラグリセットレジ
スタ19、20、21がセットされると、それぞれ対応
するフラグレジスタ13、14、15をリセットするま
でフラグリセット信号25、26、27をHレベルで出
力し、フラグレジスタ13、14、15をリセットした
後Lレベルとなる。
【0074】フラグ信号22、23、24はその内1つ
以上がHレベルの場合のみデータ判別回路29はリード
イネーブル9を出力する。このように、フラグ信号2
2、23、24の内1つ以上がHレベルの場合のみデー
タ判別回路29でバッファメモリ1のデータをリードす
ることにより、外部よりアドレス設定レジスタに42〜
44に設定する任意のセル単位での転送が可能となり、
セルデータの損失を防ぐことができる。
【0075】また、オーバーフロー発生検出回路30は
フラグ信号22、23、24の内いずれか2つがHレベ
ルの時で現在ライト中のメモリ領域のあるアドレス値が
該当するメモリ領域内の最上位アドレスに達する前であ
る旨をデコードするように、2つがHレベルで、かつ、
書き込み中のライトアドレスが外部入力データ48によ
りアドレス設定レジスタ49〜51に一致するように、
デコーダからなる当該オーバーフロー発生検出回路30
を設定し、かつ、アドレス設定レジスタ49〜51にバ
ッファメモリ1のメモリ領域1a,1b,1cの最上位
アドレスより手前のアドレスを設定しておくことによ
り、バッファメモリ1のオーバーフローを前もって検出
できる。
【0076】例えば、設定データ52〜54を、バッフ
ァメモリ1のメモリ領域1a,1b,1cの最上位アド
レスが40,110,158の場合、これより5手前の
35,106,153に設定しておくことにより、オー
バーフロー発生検出回路(デコーダ)30によりバッフ
ァメモリ1のオーバーフローを前もって任意のセル単位
で検出可能となる。
【0077】このように、本実施の形態4によれば、バ
ッファメモリのライトアドレスおよびリードアドレスと
アドレス設定レジスタに設定した任意の設定データとの
一致を検出することによりメモリ領域に対応する複数の
フラグレジスタをセットあるいはリセットし、これらの
フラグレジスタの出力が1つを除いて全てHになり、か
つ残り1つのフラグレジスタに対応するメモリ領域のラ
イトアドレスがオーバーフローしかかっていることを、
これとアドレス設定レジスタに設定した設定データとを
デコードすることにより検知するとともに、これらのフ
ラグレジスタの出力が少なくとも1つ以上Hである場合
にバッファメモリを読み出し可能とするようにしたの
で、バッファメモリのオーバーフローを、これが実際に
生じるよりも前もって検出でき、データの転送制御に用
いた場合に転送効率が良いものが得られるとともに、バ
ッファメモリを任意の個数のセルに分割し、かつその分
割したセルを単位としてバッファメモリのデータの有無
を検知することが可能である。
【0078】なお、図7に示すように、オーバーフロー
発生通知回路を図1に示すような論理積回路28で構成
するようにしてもよく、この場合、アドレス設定レジス
タ49,50,51を、各メモリ領域1a,1b,1c
の最上位アドレス、例えば40,110,158に設定
すれば、バッファメモリのオーバーフローを前もって検
出することはできないが、任意のセルを単位としてオー
バーフローを検出可能である。従って、アドレス設定レ
ジスタ49,50,51を、これより、例えば5ずつ前
の35,106,153に設定しておけば、オーバーフ
ローを前もって検出することが可能となり、上記実施の
形態4と同様の効果を奏する。
【0079】また、このバッファメモリ制御装置は、フ
ラグレジスタとフラグリセットレジスタと一致検出回路
およびアドレス設定レジスタの数を増やすことでさらに
細かくバッファメモリのメモリ領域を任意の単位で分割
でき、その分割されたセル単位によるデータの転送やオ
ーバーフローの事前検出が可能となる。さらに、一致検
出回路の検出値を例えば全て158に設定した場合、バ
ッファメモリを分割せず、全体を1つのメモリ領域とし
てそのオーバーフローの有無を検出できる。
【0080】
【発明の効果】以上のように、本願の請求項1に係る発
明によるバッファメモリ制御装置によれば、アドレスに
より複数のデータ単位であるセル単位のメモリ領域に分
割されたバッファメモリと、前記バッファメモリのライ
トアドレスを出力するライトアドレス生成回路と、前記
バッファメモリのリードアドレスを出力するリードアド
レス生成回路と、前記ライトアドレスをデコードするこ
とによりセル単位毎のデータのライトが終了する前のラ
イトアドレスを示すフラグ信号を出力する第1のレジス
タと、前記フラグ信号により前記バッファメモリ内にセ
ル単位のデータの有無を判別し前記バッファメモリのリ
ード制御を行うデータ判別回路と、前記リードアドレス
をデコードすることによりセル単位毎のデータのリード
終了を示し、前記フラグ信号のリセットを行うフラグリ
セット信号を出力する第2のレジスタと、前記フラグ信
号によりバッファメモリのオーバーフローの発生を知ら
せるオーバーフロー発生通知回路とを有し、前記データ
判別回路により前記バッファメモリのリード制御を行
い、バッファメモリのオーバーフローが発生する前にラ
イトデータの転送中止を知らせ、かつ、セル単位でデー
タの転送を行いデータの損失を防止するようにしたの
で、バッファメモリをあるセル単位に分割し、セル単位
ごとにデータ転送を行い、オーバーフローおよびエンプ
ティーの制御を行うことでセルデータの損失を防止でき
る。 また、バッファメモリのオーバーフローを比較回路
を用いず検出するために回路規模を小さく構成できる効
果がある。
【0081】また、本願の請求項2に係る発明によるバ
ッファメモリ制御装置によれば、請求項1記載のバッフ
ァメモリ制御装置において、フラグ信号を入力とし、バ
ッファメモリにセル単位のデータが無い場合にバッファ
メモリのリード制御を行うと同時に疑似データ選択信号
とセル単位の疑似データを出力する疑似データ生成回路
と、前記疑似データ選択信号により前記疑似データと前
記バッファメモリのリードデータのいずれかを選択する
選択回路とを有するようにしたので、転送先でこのセル
全体が廃棄されてしまうという不具合が発生することは
なく、セルデータの損失を防ぐことができる効果があ
る。
【0082】また、本願の請求項3に係る発明によるバ
ッファメモリ制御装置によれば、請求項1記載のバッフ
ァメモリ制御装置において、外部からアドレス値を設定
可能なレジスタと、前記レジスタの値とライトアドレス
の一致を検出する第1の一致検出回路と、前記レジスタ
の値とリードアドレスの一致を検出する第2の一致検出
回路とを有し、バッファメモリのメモリ領域を任意の単
位で分割可能とするようにしたので、任意の単位で分割
したバッファメモリのメモリ領域のオーバーフローを検
出できる効果がある。
【0083】また、本願の請求項4に係る発明によるバ
ッファメモリ制御装置によれば、アドレスにより複数の
データ単位であるセル単位のメモリ領域に分割されたバ
ッファメモリと、前記バッファメモリのライトアドレス
を出力するライトアドレス生成回路と、前記バッファメ
モリのリードアドレスを出力するリードアドレス生成回
路と、前記ライトアドレスをデコードすることによりセ
ル単位毎のデータのライトが終了した時点もしくはこれ
より前のライトアドレスを示すフラグ信号を出力する第
1のレジスタと、前記フラグ信号により前記バッファメ
モリ内にセル単位のデータの有無を判別し前記バッファ
メモリのリード制御を行うデータ判別回路と、前記リー
ドアドレスをデコードすることによりセル単位毎のデー
タのリード終了を示し、前記フラグ信号のリセットを行
うフラグリセット信号を出力する第2のレジスタと、フ
ラグ信号とライトアドレスを入力とし、前記フラグ信号
と前記ライトアドレスによりオーバーフローが発生する
前にライトデータの転送停止を知らせるオーバーフロー
発生検出回路とを有し、前記データ判別回路により前記
バッファメモリのリード制御を行い、バッファメモリの
オーバーフローが発生する前にライトデータの転送中止
を知らせ、かつ、セル単位でデータの転送を行いデータ
の損失を防止するようにしたので、バッファメモリをあ
るセル単位に分割し、セル単位ごとにデータ転送を行
い、オーバーフローおよびエンプティーの制御を行うこ
とでセルデータの損失を防止できる。 また、バッファメ
モリのオーバーフローを前もって検出できる効果があ
る。
【0084】また、本願の請求項5に係る発明によるバ
ッファメモリ制御装置によれば、請求項4記載のバッフ
ァメモリ制御装置において、フラグ信号を入力とし、バ
ッファメモリにセル単位のデータが無い場合にバッファ
メモリのリード制御を行うと同時に疑似データ選択信号
とセル単位の疑似データを出力する疑似データ生成回路
と、前記疑似データ選択信号により前記疑似データと前
記バッファメモリのリードデータのいずれかを選択する
選択回路とを有するようにしたので、転送先でこのセル
全体が廃棄されてしまうという不具合が発生することは
なく、セルデータの損失を防ぐことができる効果があ
る。
【0085】また、本願の請求項6に係る発明によるバ
ッファメモリ制御装置によれば、請求項4記載のバッフ
ァメモリ制御装置において、外部からアドレス値を設定
可能なレジスタと、前記レジスタの値とライトアドレス
の一致を検出する第1の一致検出回路と、前記レジスタ
の値とリードアドレスの一致を検出する第2の一致検出
回路とを有し、バッファメモリのメモリ領域を任意の単
位で分割可能とするようにしたので、任意の単位で分割
したバッファメモリのメモリ領域のオーバーフローを検
出できる効果がある。
【図面の簡単な説明】
【図1】本発明の実施の形態1におけるバッファメモリ
制御装置の構成を示すブロック図である。
【図2】本発明の実施の形態1におけるバッファメモリ
制御装置のデコーダの構成を示すブロック図である。
【図3】本発明の実施の形態2におけるバッファメモリ
制御装置の構成を示すブロック図である。
【図4】本発明の実施の形態3におけるバッファメモリ
制御装置の構成を示すブロック図である。
【図5】本発明の実施の形態3におけるバッファメモリ
制御装置の他の構成例を示すブロック図である。
【図6】本発明の実施の形態4におけるバッファメモリ
制御装置の構成を示すブロック図である。
【図7】本発明の実施の形態4におけるバッファメモリ
制御装置の他の構成例を示すブロック図である。
【図8】従来のバッファメモリ制御装置の構成を示すブ
ロック図である。
【図9】従来のバッファメモリ制御装置のオーバーフロ
ー,アンダーフローの検出動作を示す模式図である。
【図10】従来のバッファメモリ制御装置のアドレス比
較回路,オーバーフロー発生通知回路,エンプティー発
生通知回路の構成を示す模式図である。
【図11】従来のセルバッファ制御回路の構成例を示す
模式図である。
【符号の説明】
1 バッファメモリ 1a,1b,1c メモリ領域 2 ライトアドレス生成回路 3 ライトアドレス 4 ライトデータ 5 ライトイネーブル 6 リードアドレス生成回路 7 リードアドレス 8 リードデータ 9 リードイネーブル 10〜12 ライトアドレスデコーダ 13〜15 フラグレジスタ 16〜18 リードアドレスデコーダ 19〜21 フラグリセットレジスタ 22〜24 フラグ信号 25〜27 フラグリセット信号 28 オーバフロー発生通知回路(論理積) 29 データ判別回路 30 オーバフロー発生検出回路 31 疑似データ生成回路 32 疑似データ 33 疑似データ選択信号 34 選択回路 35 転送データ 36〜41 一致検出回路 42〜44,49〜51 アドレス設定レジスタ 45〜47 設定データ 48 外部入力データ
フロントページの続き (58)調査した分野(Int.Cl.6,DB名) G06F 5/06 H04L 12/28

Claims (6)

    (57)【特許請求の範囲】
  1. 【請求項1】 アドレスにより複数のデータ単位である
    セル単位のメモリ領域に分割されたバッファメモリと、 前記バッファメモリのライトアドレスを出力するライト
    アドレス生成回路と、 前記バッファメモリのリードアドレスを出力するリード
    アドレス生成回路と、 前記ライトアドレスをデコードすることによりセル単位
    毎のデータのライトが終了する前のライトアドレスを示
    すフラグ信号を出力する第1のレジスタと、 前記フラグ信号により前記バッファメモリ内にセル単位
    のデータの有無を判別し前記バッファメモリのリード制
    御を行うデータ判別回路と、 前記リードアドレスをデコードすることによりセル単位
    毎のデータのリード終了を示し、前記フラグ信号のリセ
    ットを行うフラグリセット信号を出力する第2のレジス
    タと、 前記フラグ信号によりバッファメモリのオーバーフロー
    の発生を知らせるオーバーフロー発生通知回路とを有
    し、 前記データ判別回路により前記バッファメモリのリード
    制御を行い、バッファメモリのオーバーフローが発生す
    る前にライトデータの転送中止を知らせ、かつ、セル単
    位でデータの転送を行いデータの損失を防止することを
    特徴とするバッファメモリ制御装置。
  2. 【請求項2】 請求項1記載のバッファメモリ制御装置
    において、 フラグ信号を入力とし、バッファメモリにセル単位のデ
    ータが無い場合にバッファメモリのリード制御を行うと
    同時に疑似データ選択信号とセル単位の疑似データを出
    力する疑似データ生成回路と、 前記疑似データ選択信号により前記疑似データと前記バ
    ッファメモリのリードデータのいずれかを選択する選択
    回路とを有することを特徴とするバッファメモリ制御装
    置。
  3. 【請求項3】 請求項1記載のバッファメモリ制御装置
    において、 外部からアドレス値を設定可能なレジスタと、 前記レジスタの値とライトアドレスの一致を検出する第
    1の一致検出回路と、 前記レジスタの値とリードアドレスの一致を検出する第
    2の一致検出回路とを有し、 バッファメモリのメモリ領域を任意の単位で分割可能と
    したことを特徴とするバッファメモリ制御装置。
  4. 【請求項4】 アドレスにより複数のデータ単位である
    セル単位のメモリ領域に分割されたバッファメモリと、 前記バッファメモリのライトアドレスを出力するライト
    アドレス生成回路と、 前記バッファメモリのリードアドレスを出力するリード
    アドレス生成回路と、 前記ライトアドレスをデコードすることによりセル単位
    毎のデータのライトが終了した時点もしくはこれより前
    のライトアドレスを示すフラグ信号を出力する第1のレ
    ジスタと、 前記フラグ信号により前記バッファメモリ内にセル単位
    のデータの有無を判別し前記バッファメモリのリード制
    御を行うデータ判別回路と、 前記リードアドレスをデコードすることによりセル単位
    毎のデータのリード終了を示し、前記フラグ信号のリセ
    ットを行うフラグリセット信号を出力する第2のレジス
    タと、 フラグ信号とライトアドレスを入力とし、前記フラグ信
    号と前記ライトアドレスによりオーバーフローが発生す
    る前にライトデータの転送停止を知らせるオーバーフロ
    ー発生検出回路とを有し、 前記データ判別回路により前記バッファメモリのリード
    制御を行い、バッファメモリのオーバーフローが発生す
    る前にライトデータの転送中止を知らせ、かつ、セル単
    位でデータの転送を行いデータの損失を防止することを
    特徴とするバッファメモリ制御装置。
  5. 【請求項5】 請求項4記載のバッファメモリ制御装置
    において、 フラグ信号を入力とし、バッファメモリにセル単位のデ
    ータが無い場合にバッファメモリのリード制御を行うと
    同時に疑似データ選択信号とセル単位の疑似データを出
    力する疑似データ生成回路と、 前記疑似データ選択信号により前記疑似データと前記バ
    ッファメモリのリードデータのいずれかを選択する選択
    回路とを有することを特徴とするバッファメモリ制御装
    置。
  6. 【請求項6】 請求項4記載のバッファメモリ制御装置
    において、 外部からアドレス値を設定可能なレジスタと、 前記レジスタの値とライトアドレスの一致を検出する第
    1の一致検出回路と、 前記レジスタの値とリードアドレスの一致を検出する第
    2の一致検出回路とを有し、 バッファメモリのメモリ領域を任意の単位で分割可能と
    したことを特徴とするバッファメモリ制御装置。
JP10160250A 1997-06-16 1998-06-09 バッファメモリ制御装置 Expired - Fee Related JP2873229B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10160250A JP2873229B2 (ja) 1997-06-16 1998-06-09 バッファメモリ制御装置

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP15883697 1997-06-16
JP9-158836 1997-06-16
JP10160250A JP2873229B2 (ja) 1997-06-16 1998-06-09 バッファメモリ制御装置

Publications (2)

Publication Number Publication Date
JPH1173299A JPH1173299A (ja) 1999-03-16
JP2873229B2 true JP2873229B2 (ja) 1999-03-24

Family

ID=26485833

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10160250A Expired - Fee Related JP2873229B2 (ja) 1997-06-16 1998-06-09 バッファメモリ制御装置

Country Status (1)

Country Link
JP (1) JP2873229B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014085820A (ja) * 2012-10-23 2014-05-12 Toshiba Corp 共有メモリアクセスシステムおよび共有メモリアクセス方法

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100857137B1 (ko) * 2002-02-20 2008-09-05 주식회사 엘지이아이 동영상 데이터 전송장치 및 방법
JP5675278B2 (ja) * 2010-11-01 2015-02-25 オリンパス株式会社 データ処理装置および画像処理装置
JP5958039B2 (ja) * 2012-04-16 2016-07-27 株式会社ソシオネクスト データ転送装置、データ転送方法、及び半導体装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014085820A (ja) * 2012-10-23 2014-05-12 Toshiba Corp 共有メモリアクセスシステムおよび共有メモリアクセス方法

Also Published As

Publication number Publication date
JPH1173299A (ja) 1999-03-16

Similar Documents

Publication Publication Date Title
US4507760A (en) First-in, first-out (FIFO) memory configuration for queue storage
US4809161A (en) Data storage device
JPS61156954A (ja) バツフアメモリシステム
KR100287396B1 (ko) 버퍼 메모리 제어 장치
EP0165823B1 (en) Tag control circuit for buffer storage
JP2873229B2 (ja) バッファメモリ制御装置
US5825204A (en) Apparatus and method for a party check logic circuit in a dynamic random access memory
CN115221082B (zh) 一种数据缓存方法、装置及存储介质
US7023850B2 (en) Multicasting apparatus and method in shared memory switch
US6397272B1 (en) Interruption processing circuit for receiving and storing data associated with an event
JP3167228B2 (ja) Vccテーブルのアクセス方法及びバーチャルチャネル変換装置
JP2002109874A (ja) Fifoメモリ装置内の空のメモリ位置の数を決定する方法及び装置
JPH09274599A (ja) バッファメモリ装置
JP3500561B2 (ja) 共有データバッファ
JP3078649B2 (ja) セル読出位相制御方式
KR100380601B1 (ko) 아이피씨용 에프아이에프오의 번지 관리 시스템 및 방법
JP2577834B2 (ja) バッファメモリ装置
KR100557933B1 (ko) 버스 효율 향상을 위한 라이트 버퍼의 구조
JPH0833869B2 (ja) データ処理装置
JPH09305493A (ja) バッファメモリ回路及びメモリスイッチ
JP2814980B2 (ja) セルバッファ制御方式
JPH07123094A (ja) バッファ制御回路
JPH08223170A (ja) Atmセルスイッチ
JPH1063569A (ja) 主メモリデータ書込み装置
JPS5936359B2 (ja) デ−タバツフア装置

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees