JPH04121891A - Fifoメモリ装置 - Google Patents
Fifoメモリ装置Info
- Publication number
- JPH04121891A JPH04121891A JP2244887A JP24488790A JPH04121891A JP H04121891 A JPH04121891 A JP H04121891A JP 2244887 A JP2244887 A JP 2244887A JP 24488790 A JP24488790 A JP 24488790A JP H04121891 A JPH04121891 A JP H04121891A
- Authority
- JP
- Japan
- Prior art keywords
- data
- amount
- memory cell
- register
- fifo
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Communication Control (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
本発明は、たとえば演算処理装置間の通信用バッファと
して用いるFIFO(ファーストイン・ファーストアウ
ト)メモリ装置に関する。
して用いるFIFO(ファーストイン・ファーストアウ
ト)メモリ装置に関する。
FIFOメモリ装置は演算処理装置間のデータの受は渡
しあるいはデータ伝送路の途中にバッファとして挿入し
て、伝送スピードの調整等に使用する装置である。 第3図は従来のFIFOメモリ装置(以下、「FIFO
Jという。)のブロック図であり、101はメモリセル
、102は上記メモリセル101へのデータの入力を制
御する入力制御回路、103は上記メモリセル101か
らのデータの出力を制御する出力制御回路、104は上
記メモリセルlOlヘデータを書き込む位置を指定し、
上記データの書き込み毎にインクリメントするレジスタ
からなる書き込みポインタ、105は上記メモリセル1
01からデータを読み出す位置を指定し、上記データの
読み出し毎にインクリメントするレジスタからなる読み
出しポインタ、201は上記FIFO内のデータの蓄積
の状態を検出する検出ロジックである。上記検出ロジッ
ク201は上記メモリセル101が満ばいである時すな
わち上記FIFOがフルである時にはフル信号を出力す
る。また、上記検出ロジック201は、上記メモリセル
lO1の蓄積データ量が零になった時すなわち上記FI
FOがエンプティになった時にはエンプティ信号を出力
する。115は上記書き込みポインタ104および上記
読み出しポインタ105をリセットするリセットロジッ
クである。第4図に上記FIFOの使用例を示す。この
使用例では、FIFO303を演算処理N301と演算
処理部302の間に接続している。そして、上記演算処
理部301からのデータを上記演算処理部302へ伝送
するためのバッファとして上記FIFO303を使用し
ている。まず、上記PIFO303にデータを入力する
場合を説明する。上記演算処理部301はデータをDI
線に出力すると共に、シフトインパルスをSf線に出力
して、上記データを上記PIF0303内に伝送する。 ここで、上記FIFO303のデータのビット長が複数
ビットでも、同様の動作を行う。そして、上記FIPO
303は、上記書き込みポインタ104が指定するメモ
リセル101の位置に上記データを書き込む。 そして、上記書き込みポインタ104はインクリメント
する。ここで、例えば、上記メモリセル101がリング
バッファからなる場合には、上記書き込みポインタ10
4を構成するレジスタの値に1を加えた値と、上記読み
出しポインタ105を構成するレジスタの値とが一致し
ていれば、上記検出ロジック201は上記バッファとし
てのFIFO303がフルであると判断して、フル信号
を演算処理部301に出力する。また、上B己FIFO
303がフルでない場合には、上記入力制御回路102
が、上記FIFO303ヘデータを人力することが可能
であることを示すインプットレディ信号を上記演算処理
部301に出力する。したがって、上記演算処理部30
1は、データを上記FIFO303に入力する前には必
ず、上記フル信号または上記インプットレディ信号をチ
エツクして、上記PIFO303へのデータ入力が可能
であることを確認する必要がある。そして、上記フル信
号がアクティブになるまで、あるいは上記インプットレ
ディ信号がインアクティブになるまでは、上記PIF’
0303にデータを入力することかできる。次に、上記
FIFO303かろ上記演算処理部302ヘデータを出
力する場合を説明する。まず、上記演算処理部301が
リセット信号を上記FIPO303へ出力すると、上記
F I FO303のリセットロジック115は上記書
き込みポインタ104および上記読み出しポインタ10
5をリセットして、上記書き込みポインタ104および
上記読み出しポインタ105の示す値は零となり、上記
FIFOの内部にはデータがなくなる(初期化状態)。 そして、上記書き込みポインタ104と上記読み出しポ
インタ105の示す値が一致したときには、上記検出ロ
ジック201は、上記FIFO303の内部にはデータ
がないと判断して、エンプティ信号を上記演算処理部3
02へ出力する。次に、上記演算処理部301が上記F
IFO303にデータを入力すると、上記書き込みポイ
ンタ104がインクリメントする。すると、上記検出ロ
ジック201は、エンプティ信号をインアクティブにす
る。また、上記FIFOがり。 線にデータを出力しているときには、上記出力制御回路
103はアウトプットレディ信号をアクティブにする。 そして、上記演算処理部302は、上記PIFO303
のデータのアンダーフローを避けるために、上記PIF
0303からデータを読み出す前には必らず、上記エン
プティ信号がインアクティブであることまたは上記アウ
トプットレディ信号がアクティブであることを確認する
必要がある。そして、上記演算処理部302は上記FI
FO303がDo端子に出力したデータを読み出した後
に、シフトアウトパルスをSO線に出力する。すると、
上記FIFO303の読み出しポインタ105がインク
リメントし、上記FIF0303は次のデータをDo線
に出力する。このようにして、上記演算処理部301か
ら上記PIF0303に最初に書き込んだデータを、上
記演算処理部302は、上記11FO303から最初に
読み出すことができる。さらに、上記FIFO303へ
のデータの書き込み動作と、上記PIFO303からの
データの読み出し動作は独立に行なうことができるので
、上記PIFO303は上記演算処理部301と302
のデータの処理スピードが異なる場合にも両者間のデー
タの伝送が可能であり、処理スピードの違う演算処理装
置間のデータバッファとして使用できる。 また、今1つのFIFOとしては、上記従来のFIFO
303において、上記検出ロジック20Iは、フル信号
とエンプティ信号に加えて、上記メモリセル101が上
記メモリセル101のデータ容量の半分以上データを蓄
積した時に、ハーフフル信号を出力するようにしたもの
がある。
しあるいはデータ伝送路の途中にバッファとして挿入し
て、伝送スピードの調整等に使用する装置である。 第3図は従来のFIFOメモリ装置(以下、「FIFO
Jという。)のブロック図であり、101はメモリセル
、102は上記メモリセル101へのデータの入力を制
御する入力制御回路、103は上記メモリセル101か
らのデータの出力を制御する出力制御回路、104は上
記メモリセルlOlヘデータを書き込む位置を指定し、
上記データの書き込み毎にインクリメントするレジスタ
からなる書き込みポインタ、105は上記メモリセル1
01からデータを読み出す位置を指定し、上記データの
読み出し毎にインクリメントするレジスタからなる読み
出しポインタ、201は上記FIFO内のデータの蓄積
の状態を検出する検出ロジックである。上記検出ロジッ
ク201は上記メモリセル101が満ばいである時すな
わち上記FIFOがフルである時にはフル信号を出力す
る。また、上記検出ロジック201は、上記メモリセル
lO1の蓄積データ量が零になった時すなわち上記FI
FOがエンプティになった時にはエンプティ信号を出力
する。115は上記書き込みポインタ104および上記
読み出しポインタ105をリセットするリセットロジッ
クである。第4図に上記FIFOの使用例を示す。この
使用例では、FIFO303を演算処理N301と演算
処理部302の間に接続している。そして、上記演算処
理部301からのデータを上記演算処理部302へ伝送
するためのバッファとして上記FIFO303を使用し
ている。まず、上記PIFO303にデータを入力する
場合を説明する。上記演算処理部301はデータをDI
線に出力すると共に、シフトインパルスをSf線に出力
して、上記データを上記PIF0303内に伝送する。 ここで、上記FIFO303のデータのビット長が複数
ビットでも、同様の動作を行う。そして、上記FIPO
303は、上記書き込みポインタ104が指定するメモ
リセル101の位置に上記データを書き込む。 そして、上記書き込みポインタ104はインクリメント
する。ここで、例えば、上記メモリセル101がリング
バッファからなる場合には、上記書き込みポインタ10
4を構成するレジスタの値に1を加えた値と、上記読み
出しポインタ105を構成するレジスタの値とが一致し
ていれば、上記検出ロジック201は上記バッファとし
てのFIFO303がフルであると判断して、フル信号
を演算処理部301に出力する。また、上B己FIFO
303がフルでない場合には、上記入力制御回路102
が、上記FIFO303ヘデータを人力することが可能
であることを示すインプットレディ信号を上記演算処理
部301に出力する。したがって、上記演算処理部30
1は、データを上記FIFO303に入力する前には必
ず、上記フル信号または上記インプットレディ信号をチ
エツクして、上記PIFO303へのデータ入力が可能
であることを確認する必要がある。そして、上記フル信
号がアクティブになるまで、あるいは上記インプットレ
ディ信号がインアクティブになるまでは、上記PIF’
0303にデータを入力することかできる。次に、上記
FIFO303かろ上記演算処理部302ヘデータを出
力する場合を説明する。まず、上記演算処理部301が
リセット信号を上記FIPO303へ出力すると、上記
F I FO303のリセットロジック115は上記書
き込みポインタ104および上記読み出しポインタ10
5をリセットして、上記書き込みポインタ104および
上記読み出しポインタ105の示す値は零となり、上記
FIFOの内部にはデータがなくなる(初期化状態)。 そして、上記書き込みポインタ104と上記読み出しポ
インタ105の示す値が一致したときには、上記検出ロ
ジック201は、上記FIFO303の内部にはデータ
がないと判断して、エンプティ信号を上記演算処理部3
02へ出力する。次に、上記演算処理部301が上記F
IFO303にデータを入力すると、上記書き込みポイ
ンタ104がインクリメントする。すると、上記検出ロ
ジック201は、エンプティ信号をインアクティブにす
る。また、上記FIFOがり。 線にデータを出力しているときには、上記出力制御回路
103はアウトプットレディ信号をアクティブにする。 そして、上記演算処理部302は、上記PIFO303
のデータのアンダーフローを避けるために、上記PIF
0303からデータを読み出す前には必らず、上記エン
プティ信号がインアクティブであることまたは上記アウ
トプットレディ信号がアクティブであることを確認する
必要がある。そして、上記演算処理部302は上記FI
FO303がDo端子に出力したデータを読み出した後
に、シフトアウトパルスをSO線に出力する。すると、
上記FIFO303の読み出しポインタ105がインク
リメントし、上記FIF0303は次のデータをDo線
に出力する。このようにして、上記演算処理部301か
ら上記PIF0303に最初に書き込んだデータを、上
記演算処理部302は、上記11FO303から最初に
読み出すことができる。さらに、上記FIFO303へ
のデータの書き込み動作と、上記PIFO303からの
データの読み出し動作は独立に行なうことができるので
、上記PIFO303は上記演算処理部301と302
のデータの処理スピードが異なる場合にも両者間のデー
タの伝送が可能であり、処理スピードの違う演算処理装
置間のデータバッファとして使用できる。 また、今1つのFIFOとしては、上記従来のFIFO
303において、上記検出ロジック20Iは、フル信号
とエンプティ信号に加えて、上記メモリセル101が上
記メモリセル101のデータ容量の半分以上データを蓄
積した時に、ハーフフル信号を出力するようにしたもの
がある。
ところが、前者のFIFOでは、演算処理装置301は
、上記PIF0303がもうすぐフルになるという情報
を得ることができないので、上記FIFO303のオー
バフローを避けるため、上記演算処理装置t301は、
上記P I FO303にデータを書き込む前に必らず
上記FIPO303のフル信号あるいはインプットレデ
ィ信号をチエツクしなければならない。また、上記演算
処理装置302は、上記FIFO303がもうすぐエン
プティになるという情報を得ることができないので、上
記FIFO303のアンダーフローを避けるため、上記
演算処理装置302は、上記PIFO303からデータ
を読み出す前に必らず、上記FIPO303のエンプテ
ィ信号あるいはアウトプットレディ信号のチエツクをし
なければならない。 そして、これらのことは、上記演算処理装置301およ
び302のデータ処理に必要なソフトウェアのステップ
数を増加させる原因となり、上記演算処理装置301お
よび302自体のデータ処理スピードを低下させるとい
う問題がある。 また、後者のFIFOでは、このFIFOのハーフフル
信号がアクティブでない時には、書き込み側の装置は、
上記FIFOのフル信号あるいはインプットレディ信号
のチエツクなしで、上記FfFoのメモリセルのデータ
容量の半分までの量のデータを書き込むことができる。 また、上記FIFOのハーフフル信号がアクティブであ
る時には、読み出し側の装置は、上記FIFOのエンプ
ティ信号あるいはアウトプットレディ信号のチエツクな
しで上記FIFOのメモリセルのデータ容量の半分まで
の量のデータを読み出すことができる。 しかしながら、上記後者のFIFOでは、このFIFO
のエンプティ信号あるいはアウトプットレディ信号のチ
エツクなしで、上記FIFOからデータを出力するには
、上記FIFOのメモリセルのデータ蓄積量がこのメモ
リセルのデータ容量の半分以上になるまで、待たねばな
らず、上記メモリセルのデータ容量が大きい場合には、
上記FIFOからのデータの出力の待機時間が長すぎて
実際の使用に耐えないという問題がある。 また、FMFOに接続する演算処理部のデータ処理単位
あるいは伝送制御部のデータ処理単位は上記演算処理部
や上記伝送制御部のシステム設計時に最適値が選択され
、一般に上記データ処理単位は各ンステムにおいて異な
る。例えば、符号圧縮の処理を行なう演算処理部と伝送
制御部との間にFIFOをバッファとして用いる場合、
上記演算処理部は一般的に可変長符号を出力するが、1
回のデータ処理単位の最大値は決まっている場合が多い
。したがって、上記演算処理部は、上記FIFOに上記
演算処理部の最大の符号長分のデータ容量がおいている
ことを確認した後に、上記最大の符号長分以下のデータ
を連続して上記FIFOに出力するようにして、データ
処理スピードを向上させることが要望されている。また
、上記伝送制御部はデータ転送路に一定速度でデータを
送信するが、このとき、送信すべきデータがない場合に
は、この二七を示すフラグ信号や無効データの送信が必
要になったり、データの同期を取るためにデータのフレ
ーミングが必要になる。このように、上記伝送制御部で
は、フレーミングしたフレーム単位のデータ量を上記F
IFOから一括して読み出す必要がある。したがって、
上記伝送制御部は、上記FIFOが上記フレーム単位の
デー御部は、上記FIFOか上記フレーム単位のデータ
量を蓄積したことを確認した後に、上記フレーム単位の
データを一括して上記FIFOから読み出すようにして
、上記FIFOのデータのアンダーフローを避けること
が要望されている。 しかしながら、上記従来のFIFOでは、FIFO内の
データ量の外部への情報は、フル信号とエンプティ信号
の2つだけか、あるいはフル信号とエンプティ信号とハ
ーフフル信号の3つだけであるので、処理単位のデータ
量だけ連続して読み出すことと、処理単位のデータ量だ
け連続して書き込みを行なうこととの2つの要望に答え
ることができないという問題がある。 そこで、本発明の目的は、外部に接続したデータ処理装
置がデータ入出力毎にフル信号やエンプティ信号のチエ
ツクをする必要がなく、上記データ処理装置のデータ入
出力時のデータ処理時間を短かくすると共に、所定のデ
ータ単位毎のデータの入出力に対応できるFIFOメモ
リ装置を提供することにある。
、上記PIF0303がもうすぐフルになるという情報
を得ることができないので、上記FIFO303のオー
バフローを避けるため、上記演算処理装置t301は、
上記P I FO303にデータを書き込む前に必らず
上記FIPO303のフル信号あるいはインプットレデ
ィ信号をチエツクしなければならない。また、上記演算
処理装置302は、上記FIFO303がもうすぐエン
プティになるという情報を得ることができないので、上
記FIFO303のアンダーフローを避けるため、上記
演算処理装置302は、上記PIFO303からデータ
を読み出す前に必らず、上記FIPO303のエンプテ
ィ信号あるいはアウトプットレディ信号のチエツクをし
なければならない。 そして、これらのことは、上記演算処理装置301およ
び302のデータ処理に必要なソフトウェアのステップ
数を増加させる原因となり、上記演算処理装置301お
よび302自体のデータ処理スピードを低下させるとい
う問題がある。 また、後者のFIFOでは、このFIFOのハーフフル
信号がアクティブでない時には、書き込み側の装置は、
上記FIFOのフル信号あるいはインプットレディ信号
のチエツクなしで、上記FfFoのメモリセルのデータ
容量の半分までの量のデータを書き込むことができる。 また、上記FIFOのハーフフル信号がアクティブであ
る時には、読み出し側の装置は、上記FIFOのエンプ
ティ信号あるいはアウトプットレディ信号のチエツクな
しで上記FIFOのメモリセルのデータ容量の半分まで
の量のデータを読み出すことができる。 しかしながら、上記後者のFIFOでは、このFIFO
のエンプティ信号あるいはアウトプットレディ信号のチ
エツクなしで、上記FIFOからデータを出力するには
、上記FIFOのメモリセルのデータ蓄積量がこのメモ
リセルのデータ容量の半分以上になるまで、待たねばな
らず、上記メモリセルのデータ容量が大きい場合には、
上記FIFOからのデータの出力の待機時間が長すぎて
実際の使用に耐えないという問題がある。 また、FMFOに接続する演算処理部のデータ処理単位
あるいは伝送制御部のデータ処理単位は上記演算処理部
や上記伝送制御部のシステム設計時に最適値が選択され
、一般に上記データ処理単位は各ンステムにおいて異な
る。例えば、符号圧縮の処理を行なう演算処理部と伝送
制御部との間にFIFOをバッファとして用いる場合、
上記演算処理部は一般的に可変長符号を出力するが、1
回のデータ処理単位の最大値は決まっている場合が多い
。したがって、上記演算処理部は、上記FIFOに上記
演算処理部の最大の符号長分のデータ容量がおいている
ことを確認した後に、上記最大の符号長分以下のデータ
を連続して上記FIFOに出力するようにして、データ
処理スピードを向上させることが要望されている。また
、上記伝送制御部はデータ転送路に一定速度でデータを
送信するが、このとき、送信すべきデータがない場合に
は、この二七を示すフラグ信号や無効データの送信が必
要になったり、データの同期を取るためにデータのフレ
ーミングが必要になる。このように、上記伝送制御部で
は、フレーミングしたフレーム単位のデータ量を上記F
IFOから一括して読み出す必要がある。したがって、
上記伝送制御部は、上記FIFOが上記フレーム単位の
デー御部は、上記FIFOか上記フレーム単位のデータ
量を蓄積したことを確認した後に、上記フレーム単位の
データを一括して上記FIFOから読み出すようにして
、上記FIFOのデータのアンダーフローを避けること
が要望されている。 しかしながら、上記従来のFIFOでは、FIFO内の
データ量の外部への情報は、フル信号とエンプティ信号
の2つだけか、あるいはフル信号とエンプティ信号とハ
ーフフル信号の3つだけであるので、処理単位のデータ
量だけ連続して読み出すことと、処理単位のデータ量だ
け連続して書き込みを行なうこととの2つの要望に答え
ることができないという問題がある。 そこで、本発明の目的は、外部に接続したデータ処理装
置がデータ入出力毎にフル信号やエンプティ信号のチエ
ツクをする必要がなく、上記データ処理装置のデータ入
出力時のデータ処理時間を短かくすると共に、所定のデ
ータ単位毎のデータの入出力に対応できるFIFOメモ
リ装置を提供することにある。
上記目的を達成するため本発明のFIFOメモリ装置は
メモリセルと、上記メモリセルへのデータの入力を制御
する入力制御回路と、上記メモリセルへ入力するデータ
の上記メモリセルへの書き込み位置を指定し、上記デー
タを書き込む毎にインクリメントする書き込みポインタ
と、上記メモリセルからのデータの出力を制御する出力
制御回路と、上記メモリセルから出力するデータの上記
メモリセルからの読み出し位置を指定し、上記データを
読み出す毎にインクリメントする読み出しポインタと、
上記メモリセルヘデータを書き込む毎にインクリメント
する一方、上記メモリセルからデータを読み出す毎にデ
ィクリメントして、上記メモリセル内のデータ量を示す
データカウンタと、上記データカウンタが示す上記メモ
リセル内のデータ量が零であることを検出して、データ
エンプティを示すエンプティ信号を出力する第1のコン
パレータと、上記書き込みポインタと上記読み出しポイ
ンタと上記データカウンタを初期化するリセット回路と
、外部バスからのアクセスが可能であって、上記メモリ
セルに蓄えるデータ量の上限値を設定するデータ量上限
レジスタと、上記データ量上限レジスタが設定する上記
データ量の上限値と上記データカウンタか示す上記メモ
リセル内のデータ量を比較して、両者が一致した時に、
データフルを示すフル信号を出力する第2のコンパレー
タと、外部バスからのアクセスが可能で、上記メモリセ
ル内のデータ量が上記上限値に達する前の上記データ量
の第1のしきい値を設定するデータ量プリフルレジスタ
と、上記データ量プリフルレジスタが設定する上記第1
のしきい値と上記データカウンタが示す上記メモリセル
内のデータ量を比較して、上記メモリセル内のデータ量
が上記第1のしきい値以上になった時に、上記メモリセ
ル内のデータ量がもうすぐ上記上限値に達することを・
示すプリフル信号を出力する第3のコンパレータと、上
記バスとのアクセスが可能で、上記メモリセル内のデー
タ量が零になる前の上記メモリセル内のデータ量の第2
のしきい値を設定するデータ量プリエンプティレジスタ
と、上記データ量プリエンプティレジスタが設定する上
記第2のしきい値と上記データカウンタが示す上記メモ
リセル内のデータ量を比較して、上記メモリセル内のデ
ータ量が上記第2のしきい値以下になった時に、上記メ
モリセル内のデータ量がもうすぐ零になることを示すプ
リエンプティ信号を出力する第4のコンパレータと、上
記データ量上限レジスタと上記データ量プリフルレジス
タと上記データ量プリエンプティレジスタを外部バスか
ら読み書き可能にするバスコントローラを備えて、上記
メモリセル内のデータ量が上記上限値に近づいたことを
示すための第1のしきい値と、上記メモリセル内のデー
タ量が零に近づいたことを示すための第2のしきい値を
任意に設定して、メモリセル内のデータ量が第1のしき
い値以上になったときにプリフル信号を出力し、上記メ
モリセル内のデータ量が第2のしきい値以下になったと
きにプリエンプティ信号を出力するようにしたことを特
徴としている。 また、上記リセット回路により初期化可能で、上記デー
タカウンタの示す上記メモリセル内のデータ量をバッフ
ァリングして、上記メモリセル内のデータ量を外部バス
から読み出し可能にするデータカウンタレジスタを備え
ることが望ましい。
メモリセルと、上記メモリセルへのデータの入力を制御
する入力制御回路と、上記メモリセルへ入力するデータ
の上記メモリセルへの書き込み位置を指定し、上記デー
タを書き込む毎にインクリメントする書き込みポインタ
と、上記メモリセルからのデータの出力を制御する出力
制御回路と、上記メモリセルから出力するデータの上記
メモリセルからの読み出し位置を指定し、上記データを
読み出す毎にインクリメントする読み出しポインタと、
上記メモリセルヘデータを書き込む毎にインクリメント
する一方、上記メモリセルからデータを読み出す毎にデ
ィクリメントして、上記メモリセル内のデータ量を示す
データカウンタと、上記データカウンタが示す上記メモ
リセル内のデータ量が零であることを検出して、データ
エンプティを示すエンプティ信号を出力する第1のコン
パレータと、上記書き込みポインタと上記読み出しポイ
ンタと上記データカウンタを初期化するリセット回路と
、外部バスからのアクセスが可能であって、上記メモリ
セルに蓄えるデータ量の上限値を設定するデータ量上限
レジスタと、上記データ量上限レジスタが設定する上記
データ量の上限値と上記データカウンタか示す上記メモ
リセル内のデータ量を比較して、両者が一致した時に、
データフルを示すフル信号を出力する第2のコンパレー
タと、外部バスからのアクセスが可能で、上記メモリセ
ル内のデータ量が上記上限値に達する前の上記データ量
の第1のしきい値を設定するデータ量プリフルレジスタ
と、上記データ量プリフルレジスタが設定する上記第1
のしきい値と上記データカウンタが示す上記メモリセル
内のデータ量を比較して、上記メモリセル内のデータ量
が上記第1のしきい値以上になった時に、上記メモリセ
ル内のデータ量がもうすぐ上記上限値に達することを・
示すプリフル信号を出力する第3のコンパレータと、上
記バスとのアクセスが可能で、上記メモリセル内のデー
タ量が零になる前の上記メモリセル内のデータ量の第2
のしきい値を設定するデータ量プリエンプティレジスタ
と、上記データ量プリエンプティレジスタが設定する上
記第2のしきい値と上記データカウンタが示す上記メモ
リセル内のデータ量を比較して、上記メモリセル内のデ
ータ量が上記第2のしきい値以下になった時に、上記メ
モリセル内のデータ量がもうすぐ零になることを示すプ
リエンプティ信号を出力する第4のコンパレータと、上
記データ量上限レジスタと上記データ量プリフルレジス
タと上記データ量プリエンプティレジスタを外部バスか
ら読み書き可能にするバスコントローラを備えて、上記
メモリセル内のデータ量が上記上限値に近づいたことを
示すための第1のしきい値と、上記メモリセル内のデー
タ量が零に近づいたことを示すための第2のしきい値を
任意に設定して、メモリセル内のデータ量が第1のしき
い値以上になったときにプリフル信号を出力し、上記メ
モリセル内のデータ量が第2のしきい値以下になったと
きにプリエンプティ信号を出力するようにしたことを特
徴としている。 また、上記リセット回路により初期化可能で、上記デー
タカウンタの示す上記メモリセル内のデータ量をバッフ
ァリングして、上記メモリセル内のデータ量を外部バス
から読み出し可能にするデータカウンタレジスタを備え
ることが望ましい。
メモリセルに蓄積されたデータ量が、データ量上限レジ
スタによって設定される上記データ量の上限値に近づき
、データ量プリフルレジスタが設定する第1のしきい値
以上になると、第3のコンパレータが上記メモリセル内
のデータ量がもうすぐ上記上限値になることを示すプリ
フル信号を出力する。一方、上記メモリセルに蓄積され
たデータ量が零に近づき、データ量プリエンプティレジ
スタが設定する第2のしきい値以下になると、第4のコ
ンパレータが、上記メモリセル内のデータ量がもうすぐ
零になることを示すプリエンプティ信号を出力する。し
たがって、上記プリフル信号がインアクティブの時は、
データ書き込み側の外部装置が、データ書き込み毎にフ
ル信号をチェッりすることなしに、フルまでの残りのデ
ータ数分((最大バッファ量−データ量プリフルレジス
タ値)以下)を書き込んでも、オーバーフローすること
がない。また、上記プリエンプティ信号がインアクティ
ブの時は、データ読み出し側の外部装置が、データ読み
出し毎にエンプティ信号をチエツクすることなしに、エ
ンプティまでの残りのデータ(データ量プリエンプティ
レジスタ値以下のデータ)を読み出してもアンダーフロ
ーすることがない。 さらに、上記データ書き込み側の外部装置および上記デ
ータ読み出し側の外部装置がデータ処理単位を有する場
合には、上記メモリセルに蓄えるデータ量の上限値とこ
の上限値より小さい上記第1のしきい値との差を上記デ
ータ書き込み側の外部装置のデータ処理単位の最大値と
等しく設定し、上記第2のしきい値を上記データ読み出
し側の外部装置のデータ処理単位の最大値と等しく設定
すれば、アンダーフローやオーバーフローすることなく
上記データ処理単位毎のデータ入出力がなされ、データ
処理速度が速くなる。また、上記メモリセルに蓄えるデ
ータ量の上限値を任意に設定して、データ蓄積能力を可
変にすることにより、データ蓄積能力と通信路のデータ
伝送速度との関係を適切にして、伝送すべきデータの遅
延量の最大値を適切に制御できる。 また、上記メモリセル内の蓄積データ量を外部バスから
読み出し可能にするデータカウンタレジスタを備えた場
合には、外部バスから上記メモリセル内の蓄積データ量
をデータ生成側すなわちデータ書き込み側の外部装置に
フィードバックして、上記外部装置のデータ生成量を適
切な値にコントロールするための信号として使用できる
。
スタによって設定される上記データ量の上限値に近づき
、データ量プリフルレジスタが設定する第1のしきい値
以上になると、第3のコンパレータが上記メモリセル内
のデータ量がもうすぐ上記上限値になることを示すプリ
フル信号を出力する。一方、上記メモリセルに蓄積され
たデータ量が零に近づき、データ量プリエンプティレジ
スタが設定する第2のしきい値以下になると、第4のコ
ンパレータが、上記メモリセル内のデータ量がもうすぐ
零になることを示すプリエンプティ信号を出力する。し
たがって、上記プリフル信号がインアクティブの時は、
データ書き込み側の外部装置が、データ書き込み毎にフ
ル信号をチェッりすることなしに、フルまでの残りのデ
ータ数分((最大バッファ量−データ量プリフルレジス
タ値)以下)を書き込んでも、オーバーフローすること
がない。また、上記プリエンプティ信号がインアクティ
ブの時は、データ読み出し側の外部装置が、データ読み
出し毎にエンプティ信号をチエツクすることなしに、エ
ンプティまでの残りのデータ(データ量プリエンプティ
レジスタ値以下のデータ)を読み出してもアンダーフロ
ーすることがない。 さらに、上記データ書き込み側の外部装置および上記デ
ータ読み出し側の外部装置がデータ処理単位を有する場
合には、上記メモリセルに蓄えるデータ量の上限値とこ
の上限値より小さい上記第1のしきい値との差を上記デ
ータ書き込み側の外部装置のデータ処理単位の最大値と
等しく設定し、上記第2のしきい値を上記データ読み出
し側の外部装置のデータ処理単位の最大値と等しく設定
すれば、アンダーフローやオーバーフローすることなく
上記データ処理単位毎のデータ入出力がなされ、データ
処理速度が速くなる。また、上記メモリセルに蓄えるデ
ータ量の上限値を任意に設定して、データ蓄積能力を可
変にすることにより、データ蓄積能力と通信路のデータ
伝送速度との関係を適切にして、伝送すべきデータの遅
延量の最大値を適切に制御できる。 また、上記メモリセル内の蓄積データ量を外部バスから
読み出し可能にするデータカウンタレジスタを備えた場
合には、外部バスから上記メモリセル内の蓄積データ量
をデータ生成側すなわちデータ書き込み側の外部装置に
フィードバックして、上記外部装置のデータ生成量を適
切な値にコントロールするための信号として使用できる
。
以下、本発明を図示の実施例により詳細に説明する。
第1図は本発明のFIFOのブロック図である。
第1図において、1はメモリセル、2は上記メモリセル
lへのデータの入力を制御する入力制御回路、3は上記
メモリセルlからのデータの出力を制御する出力制御回
路、4は上記メモリセル1へデータを書き込む位置を指
定し、上記データの書き込み毎にインクリメントするレ
ジスタからなる書き込みポインタ、5は上記メモリセル
1からデータを読み出す位置を指定し、上記データの読
み出し毎にインクリメントするレジスタからなる読み出
しポインタである。また、6は上記メモリセルlにデー
タを書き込む毎にインクリメントする一方、上記メモリ
セルlからデータを読み出す毎にディクリメントして、
上記メモリセルl内のデータ量PIを示すデータカウン
タである。7は上記データカウンタ6の出力P1が零に
設定した信号Q4と等しいか等しくないかをチエツクし
て、上記データカウンタ6の出力P1が零であるときに
データエンプティを示すエンプティ信号を出力する第1
のコンパレータである。11は外部バスからのアクセス
が可能であって、上記メモリセルlに蓄えるデータ量の
上限値Qlを設定するデータ量上限レジスタである。8
は上記データカウンタ6の出力Piと上記データ量上限
レジスタ11の出力Qlを比較して、p t =Q I
になったときに、データフルを示すフル信号を出力する
第2のコンパレータである。I2は外部バスからのアク
セスが可能であって、上記データ量上限レジスタ11の
出力Qlより小さい値Q2を設定するデータ量プリフル
レジスタである。ここで、外部機器から一括入力を必要
とするデータ量の最大値をRI maxとすると、上記
データ量プリフルレジスタ12が設定する値Q2は次の
(1)式により設定する。 Q 2 =Q 1−RI 1llax ・−−
−−・tl)9は上記データカウンタ6の出力PIと上
記データ量プリフルレジスタ12の出力Q2を比較して
、P1≧Q2のときにプリフル信号を出力する第3のコ
ンパレータである。13は外部バスからのアクセスが可
能であって、零より大きい値Q3を設定するデータ量プ
リエンプティレジスタである。 ここで、外部機器への一括出力を必要とするデータ量の
最大値をROmaxとすると、上記データ量プリエンプ
ティレジスタI3が設定する値Q3は、次の(2)式に
より設定する。 Q2≧Q3−ROmax≧O−・−・(2)IOは上記
データカウンタ6の出力P1と上記データ量プリエンプ
ティレジスタ13の出力Q3とを比較して、PI≦Q3
のときにプリエンプティ信号を出力する第4のコンパレ
ータである。14は外部バスからのアクセスが可能であ
って、上記データカウンタ6の出力PIをラッチするデ
ータカウンタレジスタである。I5は外部機器からのリ
セット信号を受けて、上記書き込みポインタ4゜読み出
しポインタ5.データカウンタ6、データカウンタレジ
スタ14の示す値を零に初期化するリセットロジックで
ある。]6はアドレスデコーダとチップセレクトコント
ロールとアウトプットイネーブルコントロールからなり
、上記11−14のレジスタを外部バスを介して外部機
器と接続するためのインターフェイス用のバスコントロ
ーラである。 第2図は上記実施例のFIFOの使用例を示す。 第2図に示すように、この使用例では上記F’IF04
3を演算処理部41と伝送制御部42の間に接続してい
る。上記演算処理部4Iは上記伝送制御部42に伝送す
るためのデータを生成し、上記伝送制御部42は上記デ
ータを図示しない伝送路に送出する。上記FIFO43
は上記演算処理部41と上記伝送制御部42との間のバ
ッファとして使用している。上記使用例に基づいて、上
記FIFO43の動作を説明する。まず、上記演算処理
部41は上記F I FO43にリセット信号を出力し
、上記FIFO43および図示しない周辺装置を初期化
する。次に、上記演算処理部41は、外部バスを介して
上記F I FO43のデータ量上限レジスタllの値
Qlをセットして、使用するデータ容量の最大値を規定
する。次に、上記演算処理部41は一括入力するデータ
量の最大値RImaxおよび一括出力するデータ量の最
大値ROmaxを決めて、上記(1)式および上記(2
)式により、上記データ量プリフルレジスタ12の設定
値Q2および上記データ量プリエンプティレジスタ13
の設定値Q3を設定する。次に、上記演算処理部41は
上記FIFO43のプリフル信号をチエツクする。プリ
フル信号がアクティブであるときには、上記演算処理部
41はデータを生成せず、別の処理を行なう。上記プリ
フル信号がインアクティブになった時には、上記演算処
理部41はデータを生成し、DI線に上記データをセッ
トし、Sl線にシフトインパルスを出力して、上記デー
タを上記P I F043に書き込む。上記演算処理部
4Iは、1単位のデータ生成処理が終わったら、再び上
記FIFO43のプリフル信号をチエツクして、上述と
同じ動作を繰り返す。このように、上記演算処理部41
は、最大R1maにまでの値をとりうる上記1単位のデ
ータの量だけのデータを上記P I F043に送る毎
にプリフル信号をチエツクすればよいので、従来のよう
に1データ書き込む毎にフル信号をチエツクする必要が
なく、データ入力動作を高速化できる。また、上記演算
処理部41は、上述の動作を数回繰り返す毎に1回程度
の割合で、上記PIF043内に蓄積したデータ量を示
す値P1を上記データカウンタレジスタ14から外部バ
スを介して読み出す。そして、上記P I F043内
の蓄積データ量が所定の値以上になったとき、上記演算
処理部41は徐々にデータ生成量を減少させて処理を行
なう。逆に、上記演算処理部4Iが上記蓄積データ量が
減りすぎたと判断したときには、上記演算処理部4Iは
そのデータ生成量を増加させる処理を行なう。このよう
に、上記F I FO43内に蓄積したデータ量P1を
上記演算処理部にフィードバックして、上記演算処理部
のデータ生成速度を適切に調整できる。 一方、上記伝送制御部42はプリエンプティ信号をチエ
ツクし、上記プリエンプティ信号がインアクティブにな
ったときに、規定のデータ量が上記PIF043内に蓄
積していると判断して、上記P I FO43から一括
して上記規定の量のデータを読み出す。そして、上記伝
送制御部42は、上記規定の量のデータをフレーミング
して、伝送路へ出力する。また、上記プリエンプティ信
号がアクティブであるときには、上記伝送制御部42は
上記伝送路へ出力するだけのデータが上記FIF043
内にないと判断して、無効フレームあるいは上述の状態
を表わすフラグを上記伝送路へ出力する。このように、
上記伝送制御部42は、最大ROmaxまでの値をとり
うる上記フレーミング単位のデータ量だけ、上記PIF
043から読み出す毎にプリエンプティ信号をチエツク
すればよいので、従来のように1データ読み出す毎にエ
ンプティ信号をチエツクする必要がなく、データ出力動
作を高速化できる。 次に、上記F I FO43のバッファリングによる送
信データの遅延時間の計算方法を示す。ここで、データ
の伝送路のデータ伝送スピードをVビット/秒、上記デ
ータカウンタレジスタ14が示す上記FIFO43内に
積蓄しているデータ量をMビットとすると、上記P I
FO43の内部でのデータの遅延時間7秒は次の(3
)式で計算できる。 T=M/V ・・・・・・・(3)
lへのデータの入力を制御する入力制御回路、3は上記
メモリセルlからのデータの出力を制御する出力制御回
路、4は上記メモリセル1へデータを書き込む位置を指
定し、上記データの書き込み毎にインクリメントするレ
ジスタからなる書き込みポインタ、5は上記メモリセル
1からデータを読み出す位置を指定し、上記データの読
み出し毎にインクリメントするレジスタからなる読み出
しポインタである。また、6は上記メモリセルlにデー
タを書き込む毎にインクリメントする一方、上記メモリ
セルlからデータを読み出す毎にディクリメントして、
上記メモリセルl内のデータ量PIを示すデータカウン
タである。7は上記データカウンタ6の出力P1が零に
設定した信号Q4と等しいか等しくないかをチエツクし
て、上記データカウンタ6の出力P1が零であるときに
データエンプティを示すエンプティ信号を出力する第1
のコンパレータである。11は外部バスからのアクセス
が可能であって、上記メモリセルlに蓄えるデータ量の
上限値Qlを設定するデータ量上限レジスタである。8
は上記データカウンタ6の出力Piと上記データ量上限
レジスタ11の出力Qlを比較して、p t =Q I
になったときに、データフルを示すフル信号を出力する
第2のコンパレータである。I2は外部バスからのアク
セスが可能であって、上記データ量上限レジスタ11の
出力Qlより小さい値Q2を設定するデータ量プリフル
レジスタである。ここで、外部機器から一括入力を必要
とするデータ量の最大値をRI maxとすると、上記
データ量プリフルレジスタ12が設定する値Q2は次の
(1)式により設定する。 Q 2 =Q 1−RI 1llax ・−−
−−・tl)9は上記データカウンタ6の出力PIと上
記データ量プリフルレジスタ12の出力Q2を比較して
、P1≧Q2のときにプリフル信号を出力する第3のコ
ンパレータである。13は外部バスからのアクセスが可
能であって、零より大きい値Q3を設定するデータ量プ
リエンプティレジスタである。 ここで、外部機器への一括出力を必要とするデータ量の
最大値をROmaxとすると、上記データ量プリエンプ
ティレジスタI3が設定する値Q3は、次の(2)式に
より設定する。 Q2≧Q3−ROmax≧O−・−・(2)IOは上記
データカウンタ6の出力P1と上記データ量プリエンプ
ティレジスタ13の出力Q3とを比較して、PI≦Q3
のときにプリエンプティ信号を出力する第4のコンパレ
ータである。14は外部バスからのアクセスが可能であ
って、上記データカウンタ6の出力PIをラッチするデ
ータカウンタレジスタである。I5は外部機器からのリ
セット信号を受けて、上記書き込みポインタ4゜読み出
しポインタ5.データカウンタ6、データカウンタレジ
スタ14の示す値を零に初期化するリセットロジックで
ある。]6はアドレスデコーダとチップセレクトコント
ロールとアウトプットイネーブルコントロールからなり
、上記11−14のレジスタを外部バスを介して外部機
器と接続するためのインターフェイス用のバスコントロ
ーラである。 第2図は上記実施例のFIFOの使用例を示す。 第2図に示すように、この使用例では上記F’IF04
3を演算処理部41と伝送制御部42の間に接続してい
る。上記演算処理部4Iは上記伝送制御部42に伝送す
るためのデータを生成し、上記伝送制御部42は上記デ
ータを図示しない伝送路に送出する。上記FIFO43
は上記演算処理部41と上記伝送制御部42との間のバ
ッファとして使用している。上記使用例に基づいて、上
記FIFO43の動作を説明する。まず、上記演算処理
部41は上記F I FO43にリセット信号を出力し
、上記FIFO43および図示しない周辺装置を初期化
する。次に、上記演算処理部41は、外部バスを介して
上記F I FO43のデータ量上限レジスタllの値
Qlをセットして、使用するデータ容量の最大値を規定
する。次に、上記演算処理部41は一括入力するデータ
量の最大値RImaxおよび一括出力するデータ量の最
大値ROmaxを決めて、上記(1)式および上記(2
)式により、上記データ量プリフルレジスタ12の設定
値Q2および上記データ量プリエンプティレジスタ13
の設定値Q3を設定する。次に、上記演算処理部41は
上記FIFO43のプリフル信号をチエツクする。プリ
フル信号がアクティブであるときには、上記演算処理部
41はデータを生成せず、別の処理を行なう。上記プリ
フル信号がインアクティブになった時には、上記演算処
理部41はデータを生成し、DI線に上記データをセッ
トし、Sl線にシフトインパルスを出力して、上記デー
タを上記P I F043に書き込む。上記演算処理部
4Iは、1単位のデータ生成処理が終わったら、再び上
記FIFO43のプリフル信号をチエツクして、上述と
同じ動作を繰り返す。このように、上記演算処理部41
は、最大R1maにまでの値をとりうる上記1単位のデ
ータの量だけのデータを上記P I F043に送る毎
にプリフル信号をチエツクすればよいので、従来のよう
に1データ書き込む毎にフル信号をチエツクする必要が
なく、データ入力動作を高速化できる。また、上記演算
処理部41は、上述の動作を数回繰り返す毎に1回程度
の割合で、上記PIF043内に蓄積したデータ量を示
す値P1を上記データカウンタレジスタ14から外部バ
スを介して読み出す。そして、上記P I F043内
の蓄積データ量が所定の値以上になったとき、上記演算
処理部41は徐々にデータ生成量を減少させて処理を行
なう。逆に、上記演算処理部4Iが上記蓄積データ量が
減りすぎたと判断したときには、上記演算処理部4Iは
そのデータ生成量を増加させる処理を行なう。このよう
に、上記F I FO43内に蓄積したデータ量P1を
上記演算処理部にフィードバックして、上記演算処理部
のデータ生成速度を適切に調整できる。 一方、上記伝送制御部42はプリエンプティ信号をチエ
ツクし、上記プリエンプティ信号がインアクティブにな
ったときに、規定のデータ量が上記PIF043内に蓄
積していると判断して、上記P I FO43から一括
して上記規定の量のデータを読み出す。そして、上記伝
送制御部42は、上記規定の量のデータをフレーミング
して、伝送路へ出力する。また、上記プリエンプティ信
号がアクティブであるときには、上記伝送制御部42は
上記伝送路へ出力するだけのデータが上記FIF043
内にないと判断して、無効フレームあるいは上述の状態
を表わすフラグを上記伝送路へ出力する。このように、
上記伝送制御部42は、最大ROmaxまでの値をとり
うる上記フレーミング単位のデータ量だけ、上記PIF
043から読み出す毎にプリエンプティ信号をチエツク
すればよいので、従来のように1データ読み出す毎にエ
ンプティ信号をチエツクする必要がなく、データ出力動
作を高速化できる。 次に、上記F I FO43のバッファリングによる送
信データの遅延時間の計算方法を示す。ここで、データ
の伝送路のデータ伝送スピードをVビット/秒、上記デ
ータカウンタレジスタ14が示す上記FIFO43内に
積蓄しているデータ量をMビットとすると、上記P I
FO43の内部でのデータの遅延時間7秒は次の(3
)式で計算できる。 T=M/V ・・・・・・・(3)
以上の説明より明らかなように、本発明のFIFOメモ
リ装置は、メモリセル内のデータ量が上限値に近づき、
第1のしきい値に達すると、データ入力側の外部機器に
プリフル信号を出力するので、プリフル信号を出力する
までは、上記データ入力側の外部機器はデータの入力毎
に上記メモリセル内のデータ量が上限値に達したか否か
をチエツクする必要がなく、データ入力動作を高速化す
ることができる。また、上g己プリフル信号を出力した
後に上記メモリセル内に入力できるデータ量を示す情報
をあらかじめ上記データ入力側の外部機器に与えておけ
ば、上記プリフル信号を出力した後も、上記データ入力
側の外部機器は上記メモリセル内のデータ量が上限値に
達したか否かをチエツクすることなく、上記メモリセル
内に入力できるデータ量だけのデータ量を上記メモリセ
ルへ連続して入力でき、データ入力動作を高速化できる
。 また、上記メモリセル内のデータ量が零に近づき、第2
のしきい値に達すると、データ出力側の外部機器にプリ
エンプティ信号を出力するので、プリエンプティ信号を
出力するまでは、上記データ出力側の外部機器は、デー
タの出力毎に上記メモリセル内のデータ量は零になった
か否かをチエツクする必要がなく、データ出力動作を高
速化できる。 また、上記プリエンプティ信号を出力した後に、上記メ
モリセル内から出力できるデータ量を示す情報をあらか
じめ上記データ出力側の外部機器に与えておけば、上記
プリエンプティ信号を出力した後も、上記データ出力側
の外部機器は、上記メモリセル内のデータ量が零になっ
たか否かをチエツクすることなく、上記メモリセル内か
ら出力できるデータ量だけのデータ量を、上記メモリセ
ルから連続して出力できるので、データ出力動作を高速
化できる。また、上記第1のしきい値と上記第2のしき
い値は任意の値に設定できるので、上記データ入力側お
よびデータ出力側の外部機器のデータ伝送単位を任意に
選択しても、データのオーバーフローやアンダーフロー
の心配がなく、システムの設計の自由度を大巾に向上で
きる。また、上記メモリセル内のデータ量の上限値を任
意に動的に設定できるので、通信路におけるバッファと
して使用した場合のデータの遅延量を調整することがで
きる。 また、上記メモリセル内のデータ量をバッフ7リングし
て、上記メモリセル内のデータ量を外部バスから読み出
し可能にするデータカウンタレジスタを備える場合には
、上記データカウンタレジスタの示す値をデータの遅延
時間の計算に利用できる。また、上記データカウンタレ
ジスタの示す値を、上記データ入力側の外部機器?こフ
ィードバックして、上記データ入力側の外部機器のデー
タ生成量を調整するために利用できる。
リ装置は、メモリセル内のデータ量が上限値に近づき、
第1のしきい値に達すると、データ入力側の外部機器に
プリフル信号を出力するので、プリフル信号を出力する
までは、上記データ入力側の外部機器はデータの入力毎
に上記メモリセル内のデータ量が上限値に達したか否か
をチエツクする必要がなく、データ入力動作を高速化す
ることができる。また、上g己プリフル信号を出力した
後に上記メモリセル内に入力できるデータ量を示す情報
をあらかじめ上記データ入力側の外部機器に与えておけ
ば、上記プリフル信号を出力した後も、上記データ入力
側の外部機器は上記メモリセル内のデータ量が上限値に
達したか否かをチエツクすることなく、上記メモリセル
内に入力できるデータ量だけのデータ量を上記メモリセ
ルへ連続して入力でき、データ入力動作を高速化できる
。 また、上記メモリセル内のデータ量が零に近づき、第2
のしきい値に達すると、データ出力側の外部機器にプリ
エンプティ信号を出力するので、プリエンプティ信号を
出力するまでは、上記データ出力側の外部機器は、デー
タの出力毎に上記メモリセル内のデータ量は零になった
か否かをチエツクする必要がなく、データ出力動作を高
速化できる。 また、上記プリエンプティ信号を出力した後に、上記メ
モリセル内から出力できるデータ量を示す情報をあらか
じめ上記データ出力側の外部機器に与えておけば、上記
プリエンプティ信号を出力した後も、上記データ出力側
の外部機器は、上記メモリセル内のデータ量が零になっ
たか否かをチエツクすることなく、上記メモリセル内か
ら出力できるデータ量だけのデータ量を、上記メモリセ
ルから連続して出力できるので、データ出力動作を高速
化できる。また、上記第1のしきい値と上記第2のしき
い値は任意の値に設定できるので、上記データ入力側お
よびデータ出力側の外部機器のデータ伝送単位を任意に
選択しても、データのオーバーフローやアンダーフロー
の心配がなく、システムの設計の自由度を大巾に向上で
きる。また、上記メモリセル内のデータ量の上限値を任
意に動的に設定できるので、通信路におけるバッファと
して使用した場合のデータの遅延量を調整することがで
きる。 また、上記メモリセル内のデータ量をバッフ7リングし
て、上記メモリセル内のデータ量を外部バスから読み出
し可能にするデータカウンタレジスタを備える場合には
、上記データカウンタレジスタの示す値をデータの遅延
時間の計算に利用できる。また、上記データカウンタレ
ジスタの示す値を、上記データ入力側の外部機器?こフ
ィードバックして、上記データ入力側の外部機器のデー
タ生成量を調整するために利用できる。
第1図は本発明の一実施例のFIFOメモリ装置のブロ
ック図、第2図は上記実施例の使用例の説明図、第3図
は従来のFIFOメモリ装置のブロック図、第4図は従
来のFIFOメモリ装置の使用例の説明図である。 1.101・・・メモリセル、 2、IO2・・・入力制御回路、 3.103・・・出力制御回路、 4.104・・・書き込みポインタ、 5.105・・・読み出しポインタ、 6・・データカウンタ、 7,8.9.10・・・コンパレータ、11・・・デー
タ量上限レジスタ、 12・・・データ量プリフルレジスタ、I3・・・デー
タ量プリエンプティレジスタ、14・・・データカウン
タレジスタ、 15・・・リセットロジック、 16・・・バスコントローラ。
ック図、第2図は上記実施例の使用例の説明図、第3図
は従来のFIFOメモリ装置のブロック図、第4図は従
来のFIFOメモリ装置の使用例の説明図である。 1.101・・・メモリセル、 2、IO2・・・入力制御回路、 3.103・・・出力制御回路、 4.104・・・書き込みポインタ、 5.105・・・読み出しポインタ、 6・・データカウンタ、 7,8.9.10・・・コンパレータ、11・・・デー
タ量上限レジスタ、 12・・・データ量プリフルレジスタ、I3・・・デー
タ量プリエンプティレジスタ、14・・・データカウン
タレジスタ、 15・・・リセットロジック、 16・・・バスコントローラ。
Claims (2)
- (1)メモリセルと、 上記メモリセルへのデータの入力を制御する入力制御回
路と、 上記メモリセルへ入力するデータの上記メモリセルへの
書き込み位置を指定し、上記データを書き込む毎にイン
クリメントする書き込みポインタと、 上記メモリセルからのデータの出力を制御する出力制御
回路と、 上記メモリセルから出力するデータの上記メモリセルか
らの読み出し位置を指定し、上記データを読み出す毎に
インクリメントする読み出しポインタと、 上記メモリセルヘデータを書き込む毎にインクリメント
する一方、上記メモリセルからデータを読み出す毎にデ
ィクリメントして、上記メモリセル内のデータ量を示す
データカウンタと、 上記データカウンタが示す上記メモリセル内のデータ量
が零であることを検出して、データエンプティを示すエ
ンプティ信号を出力する第1のコンパレータと、 上記書き込みポインタと上記読み出しポインタと上記デ
ータカウンタを初期化するリセット回路と、 外部バスからのアクセスが可能であって、上記メモリセ
ルに蓄えるデータ量の上限値を設定するデータ量上限レ
ジスタと、 上記データ量上限レジスタが設定する上記データ量の上
限値と上記データカウンタが示す上記メモリセル内のデ
ータ量を比較して、両者が一致した時に、データフルを
示すフル信号を出力する第2のコンパレータと、 外部バスからのアクセスが可能で、上記メモリセル内の
データ量が上記上限値に達する前の上記データ量の第1
のしきい値を設定するデータ量プリフルレジスタと、 上記データ量プリフルレジスタが設定する上記第1のし
きい値と上記データカウンタが示す上記メモリセル内の
データ量を比較して、上記メモリセル内のデータ量が上
記第1のしきい値以上になった時に、上記メモリセル内
のデータ量がもうすぐ上記上限値に達することを示すプ
リフル信号を出力する第3のコンパレータと、 上記バスからのアクセスが可能で、上記メモリセル内の
データ量が零になる前の上記メモリセル内のデータ量の
第2のしきい値を設定するデータ量プリエンプティレジ
スタと、 上記データ量プリエンプティレジスタが設定する上記第
2のしきい値と上記データカウンタが示す上記メモリセ
ル内のデータ量を比較して、上記メモリセル内のデータ
量が上記第2のしきい値以下になった時に、上記メモリ
セル内のデータ量がもうすぐ零になることを示すプリエ
ンプティ信号を出力する第4のコンパレータと、 上記データ量上限レジスタと上記データ量プリフルレジ
スタと上記データ量プリエンプティレジスタを外部バス
から読み書き可能にするバスコントローラを備えて、 上記メモリセル内のデータ量が上記上限値に近づいたこ
とを示すための第1のしきい値と、上記メモリセル内の
データ量が零に近づいたことを示すための第2のしきい
値を任意に設定して、メモリセル内のデータ量が第1の
しきい値以上になっなときにプリフル信号を出力し、上
記メモリセル内のデータ量が第2のしきい値以下になっ
たときにプリエンプティ信号を出力するようにしたこと
を特徴とするFIFOメモリ装置。 - (2)請求項1に記載のFIFOメモリ装置において、
上記リセット回路により初期化可能で、上記データカウ
ンタの示す上記メモリセル内のデータ量をバッファリン
グして、上記メモリセル内のデータ量を外部バスから読
み出し可能にするデータカウンタレジスタを備えたこと
を特徴とするFIFOメモリ装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2244887A JP2597040B2 (ja) | 1990-09-12 | 1990-09-12 | Fifoメモリ装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2244887A JP2597040B2 (ja) | 1990-09-12 | 1990-09-12 | Fifoメモリ装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH04121891A true JPH04121891A (ja) | 1992-04-22 |
| JP2597040B2 JP2597040B2 (ja) | 1997-04-02 |
Family
ID=17125464
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2244887A Expired - Fee Related JP2597040B2 (ja) | 1990-09-12 | 1990-09-12 | Fifoメモリ装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2597040B2 (ja) |
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5546600A (en) * | 1991-12-16 | 1996-08-13 | Sharp Kabushiki Kaisha | Data driven computer producing inhibit signal for inhibiting merging external provided data pieces with internal data pieces when number of processing data exceeds reference value |
| JP2007505536A (ja) * | 2003-09-10 | 2007-03-08 | テールズ ホールディングス ユーケー ピーエルシー | ビデオシステム |
| JP2009043276A (ja) * | 2001-03-05 | 2009-02-26 | Pact Xpp Technologies Ag | Fifo記憶方法 |
| JP2010170556A (ja) * | 2010-02-02 | 2010-08-05 | Canon Inc | 印刷管理装置、印刷管理方法及び制御プログラムが格納された記録媒体 |
| JP2011227919A (ja) * | 2000-06-09 | 2011-11-10 | Trustees Of Columbia Univ In The City Of New York | 混合された非同期および同期システム用少待ち時間fifo回路 |
-
1990
- 1990-09-12 JP JP2244887A patent/JP2597040B2/ja not_active Expired - Fee Related
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5546600A (en) * | 1991-12-16 | 1996-08-13 | Sharp Kabushiki Kaisha | Data driven computer producing inhibit signal for inhibiting merging external provided data pieces with internal data pieces when number of processing data exceeds reference value |
| JP2011227919A (ja) * | 2000-06-09 | 2011-11-10 | Trustees Of Columbia Univ In The City Of New York | 混合された非同期および同期システム用少待ち時間fifo回路 |
| JP2009043276A (ja) * | 2001-03-05 | 2009-02-26 | Pact Xpp Technologies Ag | Fifo記憶方法 |
| JP2007505536A (ja) * | 2003-09-10 | 2007-03-08 | テールズ ホールディングス ユーケー ピーエルシー | ビデオシステム |
| JP2010170556A (ja) * | 2010-02-02 | 2010-08-05 | Canon Inc | 印刷管理装置、印刷管理方法及び制御プログラムが格納された記録媒体 |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2597040B2 (ja) | 1997-04-02 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5884099A (en) | Control circuit for a buffer memory to transfer data between systems operating at different speeds | |
| US5592629A (en) | Apparatus and method for matching data rates to transfer data between two asynchronous devices | |
| US7042911B2 (en) | Synchronization control device | |
| JPH06259225A (ja) | データ転送同期装置 | |
| US6381687B2 (en) | Flexible memory channel | |
| JPH04121891A (ja) | Fifoメモリ装置 | |
| US5594743A (en) | Fifo buffer system having an error detection and correction device | |
| US6584512B1 (en) | Communication DMA device for freeing the data bus from the CPU and outputting divided data | |
| US6473527B1 (en) | Module and method for interfacing analog/digital converting means and JPEG compression means | |
| US5402430A (en) | Parity inversion test system | |
| JP2874798B2 (ja) | 高速データ転送の方法とその装置 | |
| US6215558B1 (en) | Data processing apparatus and method | |
| CN118885149A (zh) | 一种任意深度且带余量控制的异步fifo电路及数据处理方法 | |
| JP3926524B2 (ja) | Fifo記憶装置 | |
| US5805826A (en) | Method for transmitting compressed video data and apparatus for performing the same | |
| JPH0471060A (ja) | 半導体集積回路 | |
| JPH09185882A (ja) | 入出力データの大きさを異にする先入れ先出しメモリ装置及びその方法 | |
| JPH05244186A (ja) | Atm/stm変換回路 | |
| US7239640B1 (en) | Method and apparatus for controlling ATM streams | |
| JP4355383B2 (ja) | データ蓄積量監視装置 | |
| US5701546A (en) | Parallel interface circuit having a n-byte buffer and tansmitting the n byte data on a byte-by-byte basis in response to interrupt request signal | |
| JPH03942B2 (ja) | ||
| JP3193202B2 (ja) | Fifo型メモリ | |
| JP2567428B2 (ja) | データ転送速度変換装置 | |
| KR950003970B1 (ko) | 디지탈 전자교환기의 피시엠 데이타 접속장치 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080109 Year of fee payment: 11 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090109 Year of fee payment: 12 |
|
| LAPS | Cancellation because of no payment of annual fees |