JP3218659B2 - Fifoバッファ回路 - Google Patents
Fifoバッファ回路Info
- Publication number
- JP3218659B2 JP3218659B2 JP01094692A JP1094692A JP3218659B2 JP 3218659 B2 JP3218659 B2 JP 3218659B2 JP 01094692 A JP01094692 A JP 01094692A JP 1094692 A JP1094692 A JP 1094692A JP 3218659 B2 JP3218659 B2 JP 3218659B2
- Authority
- JP
- Japan
- Prior art keywords
- counter
- unit
- write
- data
- control unit
- 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
Links
Landscapes
- Multi Processors (AREA)
- Computer And Data Communications (AREA)
Description
【0001】
【産業上の利用分野】本発明は非同期に動作するマルチ
プロセッサ間でデータ通信を行なうためのFIFOバッ
ファ回路の構成に関する。
プロセッサ間でデータ通信を行なうためのFIFOバッ
ファ回路の構成に関する。
【0002】
【従来の技術】近年、各種プロセッサを含む端末器間の
情報ネットワークがその目的に応じて多くの方式が実用
化されている。そのうち、中継機能を備え機能向上を行
なう場合などに用いられるFIFOバッファ回路が注目
されている。図4は従来のこのファーストイン・ファー
ストアウト形式にデータの受渡しを行うFIFOバッフ
ァ回路の構成例を示す。その構成要素として1はFIF
Oバッファ回路、2は、マイクロプロセッサ等で構成さ
れ、FIFOバッファ回路1にデータを書込むライト側
制御部3は同じくマイクロプロセッサ等で構成され、F
IFOバッファ回路1のデータを読出すリード側制御部
である。FIFOバッファ回路1は、書込み側と読出し
側とを別々に持ち、マイクロプロセッサから非同期にリ
ードアクセス及びライトアクセスが可能なデュアルポー
トメモリ部(以降メモリ部と略す)4と、メモリ部4へ
のライトアドレスを指定するためのライトポインタ(以
降WPと略す)5と、リードアドレスを指定するリード
ポインタ(以降RPと略す)6と、WP5の出力に(+
1)する加算器7と、この加算器7の出力とRP6の出
力を比較して、一致したときに有効となる信号を出力と
する比較器8と、更新クロックにより値が(−1)され
る4ビットの計数器9から構成される。なお、図5に計
数器9の内部構成を示す。計数器9は初期値を設定可能
な4ビットカウントダウン計数器31と、4入力ORゲ
ート32と、立ち下がりでセットされるクリア機能付き
1ビットレジスタ33より構成される。
情報ネットワークがその目的に応じて多くの方式が実用
化されている。そのうち、中継機能を備え機能向上を行
なう場合などに用いられるFIFOバッファ回路が注目
されている。図4は従来のこのファーストイン・ファー
ストアウト形式にデータの受渡しを行うFIFOバッフ
ァ回路の構成例を示す。その構成要素として1はFIF
Oバッファ回路、2は、マイクロプロセッサ等で構成さ
れ、FIFOバッファ回路1にデータを書込むライト側
制御部3は同じくマイクロプロセッサ等で構成され、F
IFOバッファ回路1のデータを読出すリード側制御部
である。FIFOバッファ回路1は、書込み側と読出し
側とを別々に持ち、マイクロプロセッサから非同期にリ
ードアクセス及びライトアクセスが可能なデュアルポー
トメモリ部(以降メモリ部と略す)4と、メモリ部4へ
のライトアドレスを指定するためのライトポインタ(以
降WPと略す)5と、リードアドレスを指定するリード
ポインタ(以降RPと略す)6と、WP5の出力に(+
1)する加算器7と、この加算器7の出力とRP6の出
力を比較して、一致したときに有効となる信号を出力と
する比較器8と、更新クロックにより値が(−1)され
る4ビットの計数器9から構成される。なお、図5に計
数器9の内部構成を示す。計数器9は初期値を設定可能
な4ビットカウントダウン計数器31と、4入力ORゲ
ート32と、立ち下がりでセットされるクリア機能付き
1ビットレジスタ33より構成される。
【0003】以下、理解を容易にするためにライト側制
御部2、及び、リード側制御部3は、8ビット幅のデー
タを取扱うものとし、メモリ部4の最大記憶データ数
(以下、深さと呼ぶ)を4096ワードとする。従っ
て、WP5、及び、RP6により出力される、メモリ部
4のアドレス幅は12ビットとなる。まず第1の動作を
説明する。WP5は、ライト側制御部2からメモリ部4
にデータを書込む時の選択信号16でアクティベートさ
れ、ライト信号12により、順次カウントアップされる
リングタイプのアップカウンターより構成され、その出
力は、ライト側制御部2からのデータをメモリ部4に保
持するアドレスとして使用される。WP5はメモリ部4
への最初のライトアクセスの前に、ライト側制御部2よ
りリセット信号22でリセットされ、その出力は、初期
出力を“OOOh(16進数、以下同様)”となってい
る。従って、ライト側制御部2からのデータバス10を
介した書込みデータは、メモリ部4に下位アドレスから
昇順に保持されて、WP5は最大値“FFFh”までカ
ウントアップした後に、次の更新クロックで回転し、そ
の出力は再び“OOOh”となり、ライト側制御部2か
らのデータバス10を介した書込みデータは、再び、メ
モリ部4に下位アドレスから昇順に保持されていく。従
って、メモリ部4の深さが4096ワードとした本従来
例では、WP5の出力は、ライト側制御部2のデータ書
込み回数X−4096x(x:WPの回転回数、つま
り、OOOh→FFFh→OOOhまでの回数)の値を
示している。
御部2、及び、リード側制御部3は、8ビット幅のデー
タを取扱うものとし、メモリ部4の最大記憶データ数
(以下、深さと呼ぶ)を4096ワードとする。従っ
て、WP5、及び、RP6により出力される、メモリ部
4のアドレス幅は12ビットとなる。まず第1の動作を
説明する。WP5は、ライト側制御部2からメモリ部4
にデータを書込む時の選択信号16でアクティベートさ
れ、ライト信号12により、順次カウントアップされる
リングタイプのアップカウンターより構成され、その出
力は、ライト側制御部2からのデータをメモリ部4に保
持するアドレスとして使用される。WP5はメモリ部4
への最初のライトアクセスの前に、ライト側制御部2よ
りリセット信号22でリセットされ、その出力は、初期
出力を“OOOh(16進数、以下同様)”となってい
る。従って、ライト側制御部2からのデータバス10を
介した書込みデータは、メモリ部4に下位アドレスから
昇順に保持されて、WP5は最大値“FFFh”までカ
ウントアップした後に、次の更新クロックで回転し、そ
の出力は再び“OOOh”となり、ライト側制御部2か
らのデータバス10を介した書込みデータは、再び、メ
モリ部4に下位アドレスから昇順に保持されていく。従
って、メモリ部4の深さが4096ワードとした本従来
例では、WP5の出力は、ライト側制御部2のデータ書
込み回数X−4096x(x:WPの回転回数、つま
り、OOOh→FFFh→OOOhまでの回数)の値を
示している。
【0004】RP6は、WP5と同様なアップカウンタ
により構成され、その出力は、リード側制御部3が、メ
モリ部4に保持されているデータを読出すアドレスとし
て使用され、メモリ部4への最初のリードアクセスの前
にリード側制御部3よりリセット信号23でリセットさ
れ、その出力は初期出力“OOOh”となっている。こ
のRP6は、リード側制御部3が、メモリ部4からデー
タを読出す時の選択信号17によりアクティベートさ
れ、リード信号13により、その出力を順次カウントア
ップする。従って、リード側制御部3のリードアクセス
により、メモリー部4に保持されたデータが、下位アド
レスより昇順にデータバス11に出力される。RP6
は、最大値“FFFh”までカウントアップした後に、
次の更新クロックが来ると回転し、その出力はまた“O
OOh”となり、再び、メモリ部4の下位アドレスより
昇順に保持データを出力する。従って、RP6の出力
は、リード側制御部3のメモリ部4からのデータ読出し
回数Y−4096y(y:RPの回転回数、x−1≦y
≦x)の値を示している。
により構成され、その出力は、リード側制御部3が、メ
モリ部4に保持されているデータを読出すアドレスとし
て使用され、メモリ部4への最初のリードアクセスの前
にリード側制御部3よりリセット信号23でリセットさ
れ、その出力は初期出力“OOOh”となっている。こ
のRP6は、リード側制御部3が、メモリ部4からデー
タを読出す時の選択信号17によりアクティベートさ
れ、リード信号13により、その出力を順次カウントア
ップする。従って、リード側制御部3のリードアクセス
により、メモリー部4に保持されたデータが、下位アド
レスより昇順にデータバス11に出力される。RP6
は、最大値“FFFh”までカウントアップした後に、
次の更新クロックが来ると回転し、その出力はまた“O
OOh”となり、再び、メモリ部4の下位アドレスより
昇順に保持データを出力する。従って、RP6の出力
は、リード側制御部3のメモリ部4からのデータ読出し
回数Y−4096y(y:RPの回転回数、x−1≦y
≦x)の値を示している。
【0005】従って、WP5の出力値14の値(X−4
096x)に加算器7で(+1)した値(X+1−40
96x)と、RP6の出力15の値(Y−4096y)
とを比較器8で比較し、一致を検出した場合、メモリ部
4は、リード側制御部3からの読出し待ちの有効データ
がフル状態であることとなり、フル信号19でリード側
制御部3に通知される。
096x)に加算器7で(+1)した値(X+1−40
96x)と、RP6の出力15の値(Y−4096y)
とを比較器8で比較し、一致を検出した場合、メモリ部
4は、リード側制御部3からの読出し待ちの有効データ
がフル状態であることとなり、フル信号19でリード側
制御部3に通知される。
【0006】つぎに第2の動作を説明する。ライト側制
御部2はメモリ部4に一群のパケットデータを書込む前
に、選択信号18で計数器9内の4ビットカウントダウ
ン計数器31を選択し、データバス10を介して、ライ
ト信号12で、このパケットデータのデータ長を初期値
として設定する。計数器31は、選択信号16が有効の
とき、すなわち、ライト側制御部2が、メモリ部4にデ
ータを書込むとき、更新可能の状態となり、ライト信号
12をトリガーに計数器出力34を(−1)する。計数
器31の計数値が0になったとき、すなわち、ライト側
制御部2からのメモリ部4へのデータ書込み回数が、デ
ータ書込み前に計数器31に初期値として設定した数と
同じになった場合、計数器出力34がALL“L”状態
となり、4入力ORゲート32の出力であるセット信号
35が立ち下がり変化し、1ビットレジスタ33が
“L”にセットされる。このため、書込み終了信号20
が“L”でアクティブ状態となり、リード側制御部3に
パケットデータの書込み終了を通知する。なお、レジス
タ33は、リード側制御部3からのクリア信号21によ
ってクリアされ、“H”状態となり非有効状態になる。
リード側制御部3は、パケットデータ読出し終了確認
後、1ビットレジスタ33をクリアすることで、書込み
終了信号20がリセットされ、ライト側制御部2は、こ
の書込み終了信号20をモニタすることにより、計数器
9の再設定の可否を判断できる。
御部2はメモリ部4に一群のパケットデータを書込む前
に、選択信号18で計数器9内の4ビットカウントダウ
ン計数器31を選択し、データバス10を介して、ライ
ト信号12で、このパケットデータのデータ長を初期値
として設定する。計数器31は、選択信号16が有効の
とき、すなわち、ライト側制御部2が、メモリ部4にデ
ータを書込むとき、更新可能の状態となり、ライト信号
12をトリガーに計数器出力34を(−1)する。計数
器31の計数値が0になったとき、すなわち、ライト側
制御部2からのメモリ部4へのデータ書込み回数が、デ
ータ書込み前に計数器31に初期値として設定した数と
同じになった場合、計数器出力34がALL“L”状態
となり、4入力ORゲート32の出力であるセット信号
35が立ち下がり変化し、1ビットレジスタ33が
“L”にセットされる。このため、書込み終了信号20
が“L”でアクティブ状態となり、リード側制御部3に
パケットデータの書込み終了を通知する。なお、レジス
タ33は、リード側制御部3からのクリア信号21によ
ってクリアされ、“H”状態となり非有効状態になる。
リード側制御部3は、パケットデータ読出し終了確認
後、1ビットレジスタ33をクリアすることで、書込み
終了信号20がリセットされ、ライト側制御部2は、こ
の書込み終了信号20をモニタすることにより、計数器
9の再設定の可否を判断できる。
【0007】
【発明が解決しようとする課題】上述のような従来のF
IFOバッファ回路1においては、ライト側制御部2が
FIFOバッファとしてのメモリ部4にパケットデータ
を書込んだとき、リード側制御部3はFIFOバッファ
回路1のフル状態、及び、単一の短いパケットデータの
書込み終了状態を知ることは可能であった。しかし、従
来のFIFOバッファでは、リード側制御部3がパケッ
トデータの書込み終了状態を知る際、複数のパケットデ
ータの書込み終了状態を知ることはできず、それに加
え、書込みパケットデータのデータ長が、単一の計数器
で計数できる範囲を上回るような長いパケットデータで
あった場合、書込みパケットデータの終了状態を知るこ
とはできなかった。半導体技術の向上に伴いFIFOバ
ッファの容量が大きくなってきている現在、ライト側制
御部2に比ベリード側制御部3の動作速度がかなり遅い
場合のデータ通信の際、従来の技術では、FIFOバッ
ファの容量を有効に使いこなすことができないため、デ
ータ通信の効率を向上させることができず、また、デー
タ通信の即時性も損なわれるという問題点を有してい
た。本発明は上記課題に留意し、複数の書込みパケット
データがある場合、複数個のパケットデータの書込み終
了を、リード側制御部に通知することができ、且つ、長
いパケットデータが書込まれた場合でも、その旨を読出
し側プロセッサに通知可能なFIFOバッファ回路を提
供することを目的としている。
IFOバッファ回路1においては、ライト側制御部2が
FIFOバッファとしてのメモリ部4にパケットデータ
を書込んだとき、リード側制御部3はFIFOバッファ
回路1のフル状態、及び、単一の短いパケットデータの
書込み終了状態を知ることは可能であった。しかし、従
来のFIFOバッファでは、リード側制御部3がパケッ
トデータの書込み終了状態を知る際、複数のパケットデ
ータの書込み終了状態を知ることはできず、それに加
え、書込みパケットデータのデータ長が、単一の計数器
で計数できる範囲を上回るような長いパケットデータで
あった場合、書込みパケットデータの終了状態を知るこ
とはできなかった。半導体技術の向上に伴いFIFOバ
ッファの容量が大きくなってきている現在、ライト側制
御部2に比ベリード側制御部3の動作速度がかなり遅い
場合のデータ通信の際、従来の技術では、FIFOバッ
ファの容量を有効に使いこなすことができないため、デ
ータ通信の効率を向上させることができず、また、デー
タ通信の即時性も損なわれるという問題点を有してい
た。本発明は上記課題に留意し、複数の書込みパケット
データがある場合、複数個のパケットデータの書込み終
了を、リード側制御部に通知することができ、且つ、長
いパケットデータが書込まれた場合でも、その旨を読出
し側プロセッサに通知可能なFIFOバッファ回路を提
供することを目的としている。
【0008】
【課題を解決するための手段】上記目的を達成するため
に、本発明のFIFOバッファ回路は、ライト側制御部
よりm回迄の計数値を設定可能で、ライト側制御部のラ
イトアクセスによりその計数値を更新するn個の計数器
と、ライト側制御部からn個の計数器の動作状態を設定
可能なレジスタ部と、このレジスタ部の設定値により、
n個の計数器を各計数器毎の単独動作、または、1つの
計数器の計数終了により、次の計数器が計数を開始する
連結動作の選択を制御する第1のゲート部と、n個の計
数器からの計数終了通知を制御する第2のゲート部をF
IFOバッファ回路内に設けたものである。
に、本発明のFIFOバッファ回路は、ライト側制御部
よりm回迄の計数値を設定可能で、ライト側制御部のラ
イトアクセスによりその計数値を更新するn個の計数器
と、ライト側制御部からn個の計数器の動作状態を設定
可能なレジスタ部と、このレジスタ部の設定値により、
n個の計数器を各計数器毎の単独動作、または、1つの
計数器の計数終了により、次の計数器が計数を開始する
連結動作の選択を制御する第1のゲート部と、n個の計
数器からの計数終了通知を制御する第2のゲート部をF
IFOバッファ回路内に設けたものである。
【0009】
【作用】上記の構成の本発明のFIFOバッファ回路
は、ライト側制御部からメモリ部へのパケットデータの
書込み前に、メモリ部に書込むパケットデータ長を計数
器に設定し、この計数器の計数終了をリード側制御部に
通知することにより、パケットデータの書込み終了をリ
ード側制御部に通知可能で、且つ、計数器とレジスタの
設定内容によって、第1のゲート部により有意書込みデ
ータ列が短い場合は、各計数器を単独動作させ、複数の
パケットデータの書込み終了通知が第2のゲート部によ
り可能で、また、有意書込みデータ列が長い場合は、第
1のゲート部により各計数器を連結動作させ、計数器群
の計数値の総和と等しい長いパケットデータの書込み終
了通知を第2のゲート部により可能とすることにより、
ライト側制御部に比べリード側制御部の動作速度がかな
り遅い場合のデータ通信の際でも、FIFOバッファの
容量を有効に使いこなすことができ、そのことによっ
て、データ通信の効率を向上させることができる。
は、ライト側制御部からメモリ部へのパケットデータの
書込み前に、メモリ部に書込むパケットデータ長を計数
器に設定し、この計数器の計数終了をリード側制御部に
通知することにより、パケットデータの書込み終了をリ
ード側制御部に通知可能で、且つ、計数器とレジスタの
設定内容によって、第1のゲート部により有意書込みデ
ータ列が短い場合は、各計数器を単独動作させ、複数の
パケットデータの書込み終了通知が第2のゲート部によ
り可能で、また、有意書込みデータ列が長い場合は、第
1のゲート部により各計数器を連結動作させ、計数器群
の計数値の総和と等しい長いパケットデータの書込み終
了通知を第2のゲート部により可能とすることにより、
ライト側制御部に比べリード側制御部の動作速度がかな
り遅い場合のデータ通信の際でも、FIFOバッファの
容量を有効に使いこなすことができ、そのことによっ
て、データ通信の効率を向上させることができる。
【0010】
【実施例】以下、本発明を図を用いて説明する。図1は
本発明の一実施例の構成を示すブロック図である。構成
要素として、41は本発明をなすFIFOバッファ回
路、42と43はそれぞれ、前述の従来例同様にマイク
ロプロセッサ等により構成される端末器の一部としての
ライト側制御部及びリード側制御部を示す。FIFOバ
ッファ回路41は、従来例と同様の、メモリ部44と、
WP45と、RP46と、加算器47と、比較器48
と、計数器49に加えて、計数器49と同様に更新によ
り値が小さくなる4ビットの計数器50と、プロセッサ
から計数器49及び計数器50の動作状態を設定可能な
レジスタ51と、レジスタ51の設定状態により、計数
器49及び計数器50を、各計数器毎に動作させ4ビッ
ト計数器として使用する単独動作か、または、計数器4
9と計数器50を同時に使用し、連結して動作させるこ
とにより8ビットの計数器としての機能を持たせる連結
動作かの選択を制御する第1のゲート部としてのゲート
部52と、計数器49及び計数器50から出力される書
込み終了信号を制御する第2のゲート部としてのゲート
部53から構成される。
本発明の一実施例の構成を示すブロック図である。構成
要素として、41は本発明をなすFIFOバッファ回
路、42と43はそれぞれ、前述の従来例同様にマイク
ロプロセッサ等により構成される端末器の一部としての
ライト側制御部及びリード側制御部を示す。FIFOバ
ッファ回路41は、従来例と同様の、メモリ部44と、
WP45と、RP46と、加算器47と、比較器48
と、計数器49に加えて、計数器49と同様に更新によ
り値が小さくなる4ビットの計数器50と、プロセッサ
から計数器49及び計数器50の動作状態を設定可能な
レジスタ51と、レジスタ51の設定状態により、計数
器49及び計数器50を、各計数器毎に動作させ4ビッ
ト計数器として使用する単独動作か、または、計数器4
9と計数器50を同時に使用し、連結して動作させるこ
とにより8ビットの計数器としての機能を持たせる連結
動作かの選択を制御する第1のゲート部としてのゲート
部52と、計数器49及び計数器50から出力される書
込み終了信号を制御する第2のゲート部としてのゲート
部53から構成される。
【0011】まず、第一の動作を説明する。WP45,
RP46,加算器47,比較器48は従来例同様に構成
され、フル状態検出部として動作しメモリ部44がフル
状態になったとき、リード側制御部43にフル信号77
でその旨を通知する。このとき、レジスタ51はライト
側制御部からのリセット信号78でリセットされ、(表
1)で示すように、初期値として計数器未使用状態のA
LL“H”にセットされ、このことによりゲート部52
の出力は(表2)で示すようにALL“H”になり非有
効となり、ゲート部53の出力も(表3)で示すように
ALL“H”になり非有効となる。
RP46,加算器47,比較器48は従来例同様に構成
され、フル状態検出部として動作しメモリ部44がフル
状態になったとき、リード側制御部43にフル信号77
でその旨を通知する。このとき、レジスタ51はライト
側制御部からのリセット信号78でリセットされ、(表
1)で示すように、初期値として計数器未使用状態のA
LL“H”にセットされ、このことによりゲート部52
の出力は(表2)で示すようにALL“H”になり非有
効となり、ゲート部53の出力も(表3)で示すように
ALL“H”になり非有効となる。
【0012】
【表1】
【0013】
【表2】
【0014】
【表3】
【0015】次に、第二の動作として計数器49及び計
数器50を、4ビットの計数器として各計数器毎に使用
する単独動作の場合の説明をする。計数器49を単独動
作させる場合、ライト側制御部42はメモリ部44に一
群のパケットデータを書込む前に、選択信号64でレジ
スタ51を選択し、データバス54を介して、ライト信
号56で(表1)に示す計数器49単独動作状態に設定
する。次に選択信号62で図2に示す計数器49内の4
ビットカウントダウン計数器81を選択し、データバス
54を介して、ライト信号56で、パケットデータのデ
ータ長を初期値として設定する。この2つの設定を行う
ことにより、選択信号60が“L”になり有効となった
とき、すなわち、ライト側制御部42がメモリ部44に
データを書込むとき、(表2)の計数器49単独動作状
態で示すように、ゲート部52によって選択信号68が
“L”になり有効となり、計数器49は有効となった選
択信号68を入力することにより更新可能の状態とな
り、ライト信号56をトリガーに計数値(−1)する。
計数器81の計数値が0になったとき、すなわち、ライ
ト側制御部42からの前記メモリ部44へのデータ書込
み回数が、データ書込み前に計数器81に初期値として
設定した数と同じになった場合、計数器出力84がAL
L“L”状態となり、4入力ORゲート82の出力であ
るセット信号85が立ち下がり変化し、1ビットレジス
タ83が“L”にセットされる。よって、書込み終了信
号70が“L”になり有効となり、ゲート部53に入力
され、レジスタ51の出力である制御信号66と計数器
50の出力である書込み終了信号71との組み合わせに
より、(表3)の状態1で示すように書込み終了信号7
2が“L”となることで有効となり、リード側制御部4
3にパケットデータの書込み終了を通知する。なお、レ
ジスタ83は、リード側制御部43からのクリア信号7
5によってクリアされる。リード側制御部43は、パケ
ットデータ読出し終了確認後、レジスタ83をクリアす
ることで、書込み終了信号70がリセットされ、ライト
側制御部42は、書込み終了信号72をモニタすること
により、計数器49の再設定の可否を判断できる。
数器50を、4ビットの計数器として各計数器毎に使用
する単独動作の場合の説明をする。計数器49を単独動
作させる場合、ライト側制御部42はメモリ部44に一
群のパケットデータを書込む前に、選択信号64でレジ
スタ51を選択し、データバス54を介して、ライト信
号56で(表1)に示す計数器49単独動作状態に設定
する。次に選択信号62で図2に示す計数器49内の4
ビットカウントダウン計数器81を選択し、データバス
54を介して、ライト信号56で、パケットデータのデ
ータ長を初期値として設定する。この2つの設定を行う
ことにより、選択信号60が“L”になり有効となった
とき、すなわち、ライト側制御部42がメモリ部44に
データを書込むとき、(表2)の計数器49単独動作状
態で示すように、ゲート部52によって選択信号68が
“L”になり有効となり、計数器49は有効となった選
択信号68を入力することにより更新可能の状態とな
り、ライト信号56をトリガーに計数値(−1)する。
計数器81の計数値が0になったとき、すなわち、ライ
ト側制御部42からの前記メモリ部44へのデータ書込
み回数が、データ書込み前に計数器81に初期値として
設定した数と同じになった場合、計数器出力84がAL
L“L”状態となり、4入力ORゲート82の出力であ
るセット信号85が立ち下がり変化し、1ビットレジス
タ83が“L”にセットされる。よって、書込み終了信
号70が“L”になり有効となり、ゲート部53に入力
され、レジスタ51の出力である制御信号66と計数器
50の出力である書込み終了信号71との組み合わせに
より、(表3)の状態1で示すように書込み終了信号7
2が“L”となることで有効となり、リード側制御部4
3にパケットデータの書込み終了を通知する。なお、レ
ジスタ83は、リード側制御部43からのクリア信号7
5によってクリアされる。リード側制御部43は、パケ
ットデータ読出し終了確認後、レジスタ83をクリアす
ることで、書込み終了信号70がリセットされ、ライト
側制御部42は、書込み終了信号72をモニタすること
により、計数器49の再設定の可否を判断できる。
【0016】計数器50を単独動作させる場合の動作の
説明を行うが、図3に示すように前述した計数器49と
その構成が全く同じであり、その単独動作の場合と同様
に、レジスタ51を(表1)に示すような、計数器50
単独動作状態に設定した後、計数器50に書込みパケッ
トデータのデータ長を初期値として設定する。この2つ
の設定を行なうことにより、計数器50は、選択信号6
0が“L”になり有効となったときに、(表2)の計数
器50単独動作状態に示すように、ゲート部52によっ
て、“L”になり有効となる選択信号69を入力するこ
とで、前述した計数器49の単独動作の場合と全く同じ
動作を行い、計数値が0になったとき書込み終了信号7
1が“L”になり有効となりゲート部53に入力され、
(表2)の計数器50単独動作状態に示すように、書き
込み終了信号73が“L”になり有効となることによっ
て、リード側制御部43にパケットデータの書込み終了
が通知され、リード側制御部からのクリア信号76によ
って書込み終了信号73がリセットされる。ここで、計
数器50の内部構成は、計数器49の内部構成と全く同
じものとする。
説明を行うが、図3に示すように前述した計数器49と
その構成が全く同じであり、その単独動作の場合と同様
に、レジスタ51を(表1)に示すような、計数器50
単独動作状態に設定した後、計数器50に書込みパケッ
トデータのデータ長を初期値として設定する。この2つ
の設定を行なうことにより、計数器50は、選択信号6
0が“L”になり有効となったときに、(表2)の計数
器50単独動作状態に示すように、ゲート部52によっ
て、“L”になり有効となる選択信号69を入力するこ
とで、前述した計数器49の単独動作の場合と全く同じ
動作を行い、計数値が0になったとき書込み終了信号7
1が“L”になり有効となりゲート部53に入力され、
(表2)の計数器50単独動作状態に示すように、書き
込み終了信号73が“L”になり有効となることによっ
て、リード側制御部43にパケットデータの書込み終了
が通知され、リード側制御部からのクリア信号76によ
って書込み終了信号73がリセットされる。ここで、計
数器50の内部構成は、計数器49の内部構成と全く同
じものとする。
【0017】最後に、第三の動作として、計数器49と
計数器50を同時に使用し、連結動作させることにより
8ビットの計数器としての機能を持たせる場合の説明を
行う。ライト側制御部42はメモリ部44に一群のパケ
ットデータを書込む前に、選択信号64でレジスタ51
を選択し、データバス54を介して、ライト信号56
で、(表1)に示すように、計数器49と計数器50の
連結動作状態に設定する。次に選択信号62で、計数器
49内の4ビットカウントダウン計数器81を選択し、
データバス54を介して、ライト信号56で、パケット
データのデータ長の下位4ビットを設定し、その直後
に、選択信号63で計数器50内の4ビットカウントダ
ウン計数器86を選択し、データバス54を介して、ラ
イト信号56で、パケットデータのデータ長の上位4ビ
ットを設定することによって、5ビット以上8ビット以
下のデータ長の初期値が、計数器49及び計数器50に
分割して設定される。
計数器50を同時に使用し、連結動作させることにより
8ビットの計数器としての機能を持たせる場合の説明を
行う。ライト側制御部42はメモリ部44に一群のパケ
ットデータを書込む前に、選択信号64でレジスタ51
を選択し、データバス54を介して、ライト信号56
で、(表1)に示すように、計数器49と計数器50の
連結動作状態に設定する。次に選択信号62で、計数器
49内の4ビットカウントダウン計数器81を選択し、
データバス54を介して、ライト信号56で、パケット
データのデータ長の下位4ビットを設定し、その直後
に、選択信号63で計数器50内の4ビットカウントダ
ウン計数器86を選択し、データバス54を介して、ラ
イト信号56で、パケットデータのデータ長の上位4ビ
ットを設定することによって、5ビット以上8ビット以
下のデータ長の初期値が、計数器49及び計数器50に
分割して設定される。
【0018】この3つの設定を行うことによって、選択
信号60が有効のとき、すなわち、ライト側制御部42
がメモリ部44にデータを書込むとき、レジスタ51の
出力と、選択信号60との組み合わせにより、(表2)
の計数器49と計数器50の連結動作状態2で示すよう
に、ゲート部52によって選択信号63が“L”になり
有効となることで計数器81は更新可能の状態となり、
ライト信号56をトリガーに計数値を(−1)する。こ
のとき(表2)からも分かるように、選択信号69は
“H”状態で非有効なので、計数器50は更新不可の状
態である。計数器81の計数値が0になったとき、前述
した第二の動作同様、書込み終了信号70が“L”状態
となり、この書込み終了信号70はゲート部52に入力
され、(表2)の計数器49と計数器50の連結動作状
態1で示すように、選択信号69も“L”になり同時に
有効となる。
信号60が有効のとき、すなわち、ライト側制御部42
がメモリ部44にデータを書込むとき、レジスタ51の
出力と、選択信号60との組み合わせにより、(表2)
の計数器49と計数器50の連結動作状態2で示すよう
に、ゲート部52によって選択信号63が“L”になり
有効となることで計数器81は更新可能の状態となり、
ライト信号56をトリガーに計数値を(−1)する。こ
のとき(表2)からも分かるように、選択信号69は
“H”状態で非有効なので、計数器50は更新不可の状
態である。計数器81の計数値が0になったとき、前述
した第二の動作同様、書込み終了信号70が“L”状態
となり、この書込み終了信号70はゲート部52に入力
され、(表2)の計数器49と計数器50の連結動作状
態1で示すように、選択信号69も“L”になり同時に
有効となる。
【0019】このことにより、計数器86も更新可能の
状態となり、ライト信号56をトリガーに計数値を(−
1)する。しかし計数器81は、次のライト信号56を
トリガーに計数器出力84をALL“H”状態とし、新
たにカウントダウンを開始するので、書込み終了信号7
0は次に計数器81の出力がALL“L”になるまでは
“H”状態を続けることになる。このため、“H”状態
の書込み終了信号70がゲート部12に入力されるの
で、(表2)の計数器49と計数器50の連結動作状態
2で示すように、書込み終了信号70が“H”の間は、
選択信号69は“H”になり非有効となることで、計数
器50は更新不可の状態となり(−1)された計数値
は、次に計数器81の出力84がALL“L”になるま
で保持される。
状態となり、ライト信号56をトリガーに計数値を(−
1)する。しかし計数器81は、次のライト信号56を
トリガーに計数器出力84をALL“H”状態とし、新
たにカウントダウンを開始するので、書込み終了信号7
0は次に計数器81の出力がALL“L”になるまでは
“H”状態を続けることになる。このため、“H”状態
の書込み終了信号70がゲート部12に入力されるの
で、(表2)の計数器49と計数器50の連結動作状態
2で示すように、書込み終了信号70が“H”の間は、
選択信号69は“H”になり非有効となることで、計数
器50は更新不可の状態となり(−1)された計数値
は、次に計数器81の出力84がALL“L”になるま
で保持される。
【0020】この動作を繰り返し、計数器81の計数値
と計数器86の計数値が同時に0になったとき、すなわ
ち、ライト側制御部42からのメモリ部44へのデータ
書込み回数が、データ書込み前に計数器81及び計数器
86に分割して初期値として設定した数と同じになった
とき、書込み終了信号70と書込み終了信号71が同時
に“L”になり、ゲート部53に入力され、(表3)状
態3で示すように、書込み終了信号74が“L”になり
有効となり、リード側制御部43にパケットデータの書
込み終了が通知される。
と計数器86の計数値が同時に0になったとき、すなわ
ち、ライト側制御部42からのメモリ部44へのデータ
書込み回数が、データ書込み前に計数器81及び計数器
86に分割して初期値として設定した数と同じになった
とき、書込み終了信号70と書込み終了信号71が同時
に“L”になり、ゲート部53に入力され、(表3)状
態3で示すように、書込み終了信号74が“L”になり
有効となり、リード側制御部43にパケットデータの書
込み終了が通知される。
【0021】なお、レジスタ83及びレジスタ88は、
第二の動作のときと同様に、リード側制御部43からの
クリア信号75及びクリア信号76によってクリアされ
る。ここでリード側制御部43は書込み終了信号74を
入力したときは、パケットデータ読出し終了確認後、ク
リア信号74とクリア信号75を同時に出力する構成を
とっており、レジスタ83及びレジスタ88を同時にク
リアすることで、書込み終了信号70及び書込み終了信
号71が同にリセットされ、ライト側制御部42は、該
書込み終了信号70及び書込み終了信号71をモニタす
ることにより、計数器49及び計数器50の再設定の可
否を判断できる。なお、ゲート部52及びゲート部53
に前述した以外の組み合わせの入力信号が入力された場
合は、出力は全て非有効状態となる構成をとる。
第二の動作のときと同様に、リード側制御部43からの
クリア信号75及びクリア信号76によってクリアされ
る。ここでリード側制御部43は書込み終了信号74を
入力したときは、パケットデータ読出し終了確認後、ク
リア信号74とクリア信号75を同時に出力する構成を
とっており、レジスタ83及びレジスタ88を同時にク
リアすることで、書込み終了信号70及び書込み終了信
号71が同にリセットされ、ライト側制御部42は、該
書込み終了信号70及び書込み終了信号71をモニタす
ることにより、計数器49及び計数器50の再設定の可
否を判断できる。なお、ゲート部52及びゲート部53
に前述した以外の組み合わせの入力信号が入力された場
合は、出力は全て非有効状態となる構成をとる。
【0022】以上の構成をとることにより、ライト側制
御部42からの書込パケットデータが短い場合は、計数
器49及び計数器50を単独動作させ複数のパケットデ
ータ書込み終了通知が可能であり、また、書込みパケッ
トデータが長い場合は、計数器49及び計数器50を連
結動作させることにより、長いパケットデータの書込み
終了通知が可能となり、ライト側制御部42とライト側
制御部42よりかなり動作の遅いリード側制御部43の
両プロセッサ間でのデータ通信を行う場合でも、大幅な
通信効率の向上が図れる。
御部42からの書込パケットデータが短い場合は、計数
器49及び計数器50を単独動作させ複数のパケットデ
ータ書込み終了通知が可能であり、また、書込みパケッ
トデータが長い場合は、計数器49及び計数器50を連
結動作させることにより、長いパケットデータの書込み
終了通知が可能となり、ライト側制御部42とライト側
制御部42よりかなり動作の遅いリード側制御部43の
両プロセッサ間でのデータ通信を行う場合でも、大幅な
通信効率の向上が図れる。
【0023】なお、本実施例では、データ保持のメモリ
にデュアルポート構成のRAMを使用したが、シングル
ポート構成のRAMを、ライト側制御部とリード側制御
部で時分割に使用しても、本発明の効果に何等影響を与
えない。
にデュアルポート構成のRAMを使用したが、シングル
ポート構成のRAMを、ライト側制御部とリード側制御
部で時分割に使用しても、本発明の効果に何等影響を与
えない。
【0024】
【発明の効果】以上の説明から明らかなように、本発明
のFIFOバッファ回路は複数の計数値の単独動作およ
び連結動作を可能とすることによりFIFOバッファ回
路でパケットデータを送信する際、データ計数器を単独
動作させた場合、パケットデータ送信間隔の短縮が図
れ、データ計数器を連結動作させた場合は、パケットデ
ータのデータ長の拡大、及びパケットデータ長に対する
フレキシビリティの向上が図れるので、大容量FIFO
バッファを用いて、ライト側制御部と、このライト側制
御部に比べかなり動作速度が遅いリード側制御部間のデ
ータ通信を行う場合でも、その通信到達効率がよいFI
FOバッファ回路を提供できる効果がある。
のFIFOバッファ回路は複数の計数値の単独動作およ
び連結動作を可能とすることによりFIFOバッファ回
路でパケットデータを送信する際、データ計数器を単独
動作させた場合、パケットデータ送信間隔の短縮が図
れ、データ計数器を連結動作させた場合は、パケットデ
ータのデータ長の拡大、及びパケットデータ長に対する
フレキシビリティの向上が図れるので、大容量FIFO
バッファを用いて、ライト側制御部と、このライト側制
御部に比べかなり動作速度が遅いリード側制御部間のデ
ータ通信を行う場合でも、その通信到達効率がよいFI
FOバッファ回路を提供できる効果がある。
【図1】本発明の一実施例のFIFOバッファ回路の構
成を示すブロック図
成を示すブロック図
【図2】同実施例のFIFOバッファ回路の計数器49
の構成を示すブロック図
の構成を示すブロック図
【図3】同実施例のFIFOバッファ回路の計数器50
の構成を示すブロック図
の構成を示すブロック図
【図4】従来のFIFOバッファ回路の構成を示すブロ
ック図
ック図
【図5】同従来のFIFOバッファ回路の計数器9の構
成を示すブロック図
成を示すブロック図
41 FIFOバッファ回路 42 ライト側制御部 43 リード側制御部 44 メモリ部 45 ライトポインタ(WP)(ライトポインタ部) 46 リードポインタ(RP)(リードポインタ部) 47 加算器 48 比較器 49,50 計数器 51 レジスタ 52 ゲート部(第1のゲート部) 53 ゲート部(第2のゲート部)
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平3−283174(JP,A) 特開 平2−112051(JP,A) 特開 昭52−99731(JP,A) 特開 平4−114389(JP,A) 特開 平4−123126(JP,A) 特開 平4−177556(JP,A) 特開 平4−306755(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 5/06 313 G06F 13/00 353 G06F 13/38 310 G06F 15/163 650 G11C 7/00 318 H04L 13/08
Claims (1)
- 【請求項1】 第1の端末器から第2の端末器へ送るデ
ータを一時保持するメモリ部と、前記メモリ部へのデー
タ書込みのアドレスを生成するライトポインタ部と、前
記メモリ部からのデータ読出しのアドレスを生成するリ
ードポインタ部と、前記メモリ部へのデータ書込みアド
レスとデータ読出しアドレスの相互関係により、前記メ
モリ部の空き容量があるか否かを検出するフル状態検出
部と、前記第1端末器からm回迄の計数値を設定可能
で、前記メモリ部へのデータ書込み毎に計数値を更新す
るn個の計数器部と、前記第1の端末器から前記n個の
計数器の動作状態を設定可能なレジスタ部と、前記レジ
スタ部の設定値により、前記n個の計数器を各計数器毎
の単独動作、または、前記n個の計数器を1個の計数器
の計数終了により、次の計数器が順次計数を開始する連
結動作の選択を制御する第1のゲート部と、前記n個の
計数器からの計数終了通知を制御する第2のゲート部か
ら構成され、前記第1の端末器から、前記メモリ部への
データ書込み前に、前記メモリ部に書込むデータ長を前
記レジスタ部の内容により前記計数器に設定し、前記計
数器の計数終了を第2のゲート部が前記第2の端末器に
通知し、且つ、第1のゲート部が前記計数器と前記レジ
スタの設定内容によって、書込みデータ列の長さに応じ
て、各計数器を単独動作させるかまたは各計数器を連結
動作させるようにしたFIFOバッファ回路。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP01094692A JP3218659B2 (ja) | 1992-01-24 | 1992-01-24 | Fifoバッファ回路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP01094692A JP3218659B2 (ja) | 1992-01-24 | 1992-01-24 | Fifoバッファ回路 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH05204598A JPH05204598A (ja) | 1993-08-13 |
JP3218659B2 true JP3218659B2 (ja) | 2001-10-15 |
Family
ID=11764373
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP01094692A Expired - Fee Related JP3218659B2 (ja) | 1992-01-24 | 1992-01-24 | Fifoバッファ回路 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3218659B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5991304A (en) * | 1998-02-13 | 1999-11-23 | Intel Corporation | Method and apparatus for minimizing asynchronous transmit FIFO under-run and receive FIFO over-run conditions |
JP3308912B2 (ja) | 1998-09-08 | 2002-07-29 | エヌイーシーマイクロシステム株式会社 | Fifoメモリ装置とその制御方法 |
-
1992
- 1992-01-24 JP JP01094692A patent/JP3218659B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH05204598A (ja) | 1993-08-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5079693A (en) | Bidirectional FIFO buffer having reread and rewrite means | |
US6023732A (en) | Message transfer apparatus for controlling a message send in a packet switched interconnection network | |
US5706439A (en) | Method and system for matching packet size for efficient transmission over a serial bus | |
JPH09223091A (ja) | バースト高速ネットワーク・トラフィックを受信するための割込み調整器 | |
US6421770B1 (en) | Buffer memory configuration having a memory between a USB and a CPU | |
JP3127523B2 (ja) | 通信制御装置およびデータ送信方法 | |
JPS5987569A (ja) | デ−タ自動連続処理回路 | |
JP3218659B2 (ja) | Fifoバッファ回路 | |
EP1016973A1 (en) | Communication dma device | |
JPH0644295B2 (ja) | タイマ装置及びタイマ方法 | |
JPH0683581A (ja) | 先入れ先出しバッファ回路 | |
JPH05224880A (ja) | 先入れ先出しバッファ回路 | |
JP2828643B2 (ja) | 直線描画装置 | |
JP3044653B2 (ja) | ゲートウェイ装置 | |
JP2560476B2 (ja) | 通信制御装置 | |
JPH0432922A (ja) | インタフェース制御回路 | |
JPH05298066A (ja) | Fifoバッファ装置 | |
JPH0620463A (ja) | 先入れ先出しバッファ回路 | |
US5875299A (en) | disk access apparatus for performing a stride processing of data | |
JP3256464B2 (ja) | 非同期転送制御方式 | |
JPS58223849A (ja) | アドレスアクセス検出回路 | |
KR930005124B1 (ko) | 다중 팩시밀리 통신시 이미지 데이타의 페이지 끝 체크 방법 | |
KR940003494Y1 (ko) | 메시지 헤더를 이용한 인터럽트 발생 회로 | |
JPH0581165A (ja) | データ転送回路 | |
JPH05224881A (ja) | Fifoバッファ回路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |