JPH05224880A - 先入れ先出しバッファ回路 - Google Patents

先入れ先出しバッファ回路

Info

Publication number
JPH05224880A
JPH05224880A JP4024198A JP2419892A JPH05224880A JP H05224880 A JPH05224880 A JP H05224880A JP 4024198 A JP4024198 A JP 4024198A JP 2419892 A JP2419892 A JP 2419892A JP H05224880 A JPH05224880 A JP H05224880A
Authority
JP
Japan
Prior art keywords
unit
data
read
counting
processor
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.)
Pending
Application number
JP4024198A
Other languages
English (en)
Inventor
Koji Kubo
康治 久保
Shinsaku Jinnai
晋作 陣内
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 JP4024198A priority Critical patent/JPH05224880A/ja
Publication of JPH05224880A publication Critical patent/JPH05224880A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)
  • Information Transfer Systems (AREA)

Abstract

(57)【要約】 【目的】先入れ先出し(FIFO)バッファ回路におい
て、効率良いデータ通信を可能とする。 【構成】FIFOバッファ回路1内に、2個の計数器3
0,31 を設け、第1の計数部30は、FIFOバッファ回
路内のメモリ部4のワード数だけカウントでき、ライト
側制御部2からの1単位のパケットデータの検出を行う
ために使用され、第2の計数部31は、第1の計数部30に
よって検出された書込みパケットデータ数とメモリ部4
から読出された読出しパケットデータ数とを計数するこ
とにより、FIFOバッファ内の読出し待ちパケットデ
ータの個数を記憶するために使用される。この読出し待
ちパケットデータ数をパケット単位でリード側制御部3
に通知可能であるため、リード側制御部3は、FIFO
バッファ内の読出し待ちパケットデータ数に応じて、柔
軟な処理ができ、データ通信の効率が向上する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、非同期に動作するマル
チプロセッサ間でデータ通信を行うためのFIFOバッ
ファ回路に関するものである。
【0002】
【従来の技術】図3は従来のFIFOバッファ回路の構
成を示すブロック図である。図3において、1はFIF
Oバッファ回路、2,3はそれぞれ、マイクロプロセッ
サなどで構成されてFIFOバッファ回路1にデータを
書込むライト側制御部およびデータを読出すリード側制
御部である。FIFOバッファ回路1は、書込み側と読
出し側とを別々に持ちかつマイクロプロセッサから非同
期にリードアクセスおよびライトアクセスが可能なデュ
アルポートメモリ部(以降、メモリ部という)4と、メ
モリ部4へのライトアドレスを指定するためのライトポ
インタ(以降、WPという)5と、リードアドレスを指
定するリードポインタ(以降、RPという)6と、WP
5の出力に(+1)する加算器7と、加算器7の出力と
RP6の出力を比較して、一致したときに有効となる信
号を出力する比較器8と、更新クロックにより値が(−
1)される12ビットの計数部9とから構成されている。
【0003】図4は計数部9の内部構成を示すブロック
図である。図4において、計数部9は初期値を設定可能
な12ビットカウントダウン計数器10と、12入力ORゲー
ト11と、立ち下がりでセットされるクリア機能付き1ビ
ットレジスタ12により構成される。
【0004】以下、理解を容易にするためにライト側制
御部2およびリード側制御部3は8ビット幅のデータを
取扱うものとし、メモリ部4の最大記憶データ数(以
下、深さと呼ぶ)を4096ワードとする。したがって、W
P5およびRP6により出力されるメモリ部4のアドレ
ス幅は12ビットとなる。
【0005】まず第1の動作を説明する。WP5はライ
ト側制御部2からメモリ部4にデータを書込むときの選
択信号13でアクティベートされ、ライト信号14により順
次カウントアップされるリングタイプのアップカウンタ
により構成され、その出力はライト側制御部2からのデ
ータをメモリ部4に保持するアドレスとして使用され
る。WP5はメモリ部4への最初のライトアクセスの前
に、ライト側制御部2よりリセット信号15でリセットさ
れ、その出力は初期出力が“000h(16進数、以下同
様)”となっている。したがって、ラト側制御部2から
のデータバス16を介した書込みデータは、メモリ部4に
下位アドレスから昇順に保持されて、WP5は最大値
“FFFh”までカウントアップした後に、次の更新ク
ロックで回転し、その出力は再び“000h”となり、
ライト側制御部2からのデータバス16を介した書込みデ
ータは、再びメモリ部4に下位アドレスから昇順に保持
されていく。したがって、メモリ部4の深さが4096ワー
ドとした本従来例では、WP5の出力は、ライト側制御
部2のデータ書込み回数X−4096x(x:WPの回転回
数、つまり、000h→FFFh→000hまでの回
数)の値を示している。
【0006】RP6はWP5と同様なアップカウンタに
より構成され、その出力はリード側制御部3がメモリ部
4に保持されているデータを読出すアドレスとして使用
される。RP6はメモリ部4への最初のリードアクセス
の前に、リード側制御部3よりリセット信号17でリセッ
トされ、その出力は初期出力が“000h”となってい
る。また、RP6はリード側制御部3がメモリ部4から
データを読出すときの選択信号18によりアクティベート
され、リード信号19によりその出力を順序カウントアッ
プする。したがって、リード側制御部3のリードアクセ
スにより、メモリ部4に保持されたデータが下位アドレ
スより昇順にデータバス20に出力される。さらに、RP
6は最大値“FFFh”までカウントアップした後に、
次の更新クロックが来ると回転し、その出力はまた“0
00h”となり、再びメモリ部4の下位アドレスより昇
順に保持データを出力する。したがって、RP6の出力
は、リード側制御部3のメモリ部4からのデータ読出し
回数Y−4096y(y:RPの回転回数、x−1≦y≦
x)の値を示している。
【0007】したがって、WP5の出力21(X−4096
x)に加算器7で(+1)した値(X+1−4096x)
と、RP6の出力22の値(Y−4096y)とを比較器8て
比較し、一致を検出した場合、メモリ部4はリード側制
御部3からの読出し待ちパケットデータがフル状態であ
ることとなり、フル信号23でライト側制御部2およびリ
ード側制御部3に通知される。
【0008】次に第2の動作を説明する。ライト側制御
部2はメモリ部4に1単位のパケットデータを書込む前
に、選択信号24で計数部9内の12ビットカウントダウン
計数器10を選択し、データバス16を介して入力される1
単位のパケットデータのデータ長を最初のライト信号14
で初期値として設定する。計数器10は、選択信号13が有
効のとき、すなわち、ライト側制御部2がメモリ部4に
データを書込むとき、更新可能の状態となり、ライト信
号14をトリガーにして計数器出力25を(−1)する。計
数器10の計数値が0になったとき、すなわち、ラト側制
御部2からのメモリ部4へのデータ書込み回数が、デー
タ書込み前に計数器10に初期値として設定した数と同じ
になった場合、計数器出力25がALL“L”状態とな
り、12入力ORゲート11の出力であるセット信号26が立
ち下がり変化し、1ビットレジスタ12が“L”にセット
される。このため、書込み終了信号27が“L”でアクテ
ィブ状態となり、リード側制御部3にパケットデータの
書込み終了を通知する。なお、レジスタ12は、リード側
制御部3からのクリア信号28によってクリアされ“H”
状態となり非有効状態になる。リード側制御部3は、パ
ケットデータ読出し終了確認後、レジスタ12をクリアす
ることで、書込み終了信号27がリセットされ、ライト側
制御部2は、書込み終了信号27をモニタすることによ
り、計数部9の再設定の可否を判断できる。
【0009】
【発明が解決しようとする課題】上述のような従来のF
IFOバッファ回路においては、ライト側制御部2がF
IFOバッファ回路1にパケットデータを書込んだと
き、リード側制御部3はFIFOバッファ回路のフル状
態およびパケットデータの書込み終了状態を知ることは
可能であった。しかしながら、上記の従来のFIFOバ
ッファ回路では、FIFOバッファ内の読出し待ちパケ
ットデータ数を知ることはできなかった。半導体技術の
向上にともないFIFOバッファの容量が大きくなって
きている現在、ライト側制御部に比べリード側制御部の
動作速度がかなり遅い場合のデータ通信の際、従来の技
術では、1つの読出し待ちパケットデータしか通知する
ことができないため、データ通信の効率を向上させるこ
とができないという問題を有していた。
【0010】本発明は上記問題を解決するもので、FI
FOバッファ内の読み出し待ちパケットデータ数をリー
ド側制御部に通知することが可能なFIFOバッファ回
路を提供することを目的とするものである。
【0011】
【課題を解決するための手段】上記目的を達成するため
に、本発明のFIFOバッファ回路は、メモリ部の深さ
だけ計数でき、ライト側制御部より計数値を設定可能
で、ライト側制御部のライトアクセスによりその計数値
を更新する第1の計数部と、第1の計数器部からの計数
終了通知数と第2のプロセッサからのデータ読出し終了
通知数を計数することにより、メモリ部内の読出し待ち
パケットデータ数を得、これを第2のプロセッサに通知
する第2の計数部を設けたものである。
【0012】
【作用】上記の構成により、ライト側制御部からメモリ
部へ1単位のパケットデータの書込む前に、この1単位
のパケットデータのデータ長を第1の計数部に設定し、
前記第1の計数部によって検出された1単位のパケット
データ数をカウントアップし、リード側制御部から読出
した1単位のパケットデータ数をカウントダウンするよ
うに第2の計数器が計数することにより、前記メモリ部
内の読出し待ちパケットデータ数を得てこれをリード側
制御部に通知する。したがって、リード側制御部はFI
FOバッファ内の読出し待ちパケットデータ数に応じた
柔軟な処理が可能となる。
【0013】
【実施例】以下、本発明を一実施例を図面に基づいて説
明する。図1は本発明の一実施例のFIFOバッファ回
路の構成を示すブロック図である。図1において、29は
FIFOバッファ回路、2と3はそれぞれ前述の従来例
と同様なマイクロプロセッサなどにより構成されるライ
ト側制御部およびリード側制御部である。FIFOバッ
ファ回路29は、従来例と同様のメモリ部4とWP5とR
P6と加算器7と比較器8に加えて、従来例の計数部9
と同様に更新により値が小さくなる12ビットカウントダ
ウン計数部30と、更新クロック入力を2個持ち、1つは
更新クロックにより値が(+1)され、もう1つは(−
1)されるアップダウン計数部31とから構成されてい
る。
【0014】まず、第1の動作を説明する。WP5、R
P6、加算器7、比較器8は従来例同様に構成され、メ
モリ部4がフル状態になったとき、ライト側制御部2お
よびリード側制御部3にフル信号23でその旨を通知す
る。
【0015】次に、第2の動作を説明する。ライト側制
御部2はメモリ部4に1単位のパケットデータを書込み
前に、選択信号24で、計数器30内の12ビットカウントダ
ウン計数器32を選択し、データバス16を介して入力され
る、たとえばメモリ部4の容量の範囲内にある1単位の
パケットデータのデータ長を最初のライト信号14で初期
値として設定する。選択信号13が“L”になり有効とな
ったとき、すなわち、ライト側制御部2がメモリ部4に
データを書込むとき、ライト信号14をトリガーにして計
数値を(−1)する。ライト側制御部2からのメモリ部
4へのデータ書込み回数が、データ書込み前に計数器32
に初期値として設定した数と同じになり、計数器32の計
数値が0になったとき、すなわち、1単位のパケットデ
ータ書込み終了を検出したとき、計数器出力33がALL
“L”状態となり、12入力ORゲート34の出力である書
込み終了信号35が立ち下がり変化し“L”レベルの書込
み終了信号35を出力する。書込み終了信号35をクロック
入力としている計数器部31は、計数部31の入出力の関係
を表す真理値表の(表1)に示すように、書込み終了信
号35の立ち下がりエッジで計数器31の出力を(+1)す
る。
【0016】リード側制御部3は、メモリ部4へのリー
ドアクセスの前に、選択信号36で計数部31を選択し、デ
ータバス20を介してリード信号19で計数値出力、すなわ
ち、メモリ部4内の読出し待ちパケットデータ数を読出
し、読出し待ちパケットデータがあることを知ることが
でき、メモリ部4へのリードアクセスを行う。1単位の
パケットデータ読出し終了後、リード側制御部3は
“L”レベルの読出し終了信号37を出力する。読出し終
了信号37をクロック入力としている計数器部31は、(表
1)に示すように、読出し終了信号41の立ち下がりエッ
ジで計数器31の出力を(−1)する。
【0017】
【表1】
【0018】以上のように、カウントダウン計数部30が
メモリ部4の容量の範囲内であれば、アップダウン計数
部31は任意の長さのFIFOバッファ内読出し待ちパケ
ットデータの個数をリード側制御部に通知することが可
能であり、ライト側制御部2とこのライト側制御部2よ
りかなり動作の遅いリード側制御部3とで両プロセッサ
間のデータ通信を行う場合、リード側制御部3はFIF
O内の読出し待ちパケットデータ数を確認することがで
き、FIFO内読出し待ちパケットデータ数に応じた柔
軟な処理が可能となり、大幅な通信効率の向上が図れ
る。
【0019】なお、本実施例では、データ保持のメモリ
にデァアルポート構成のRAMを使用したが、シングル
ポート構成のRAMを、ライト側制御部とリード側制御
部で時分割に使用しても、本発明の効果に何等影響を与
えない。
【0020】
【発明の効果】以上のように、本発明によれば、FIF
Oバッファ回路でパケットデータを送信する際、パケッ
トデータ長に対するフレキシビリティの向上を図ること
ができ、これにより、大容量FIFOバッファを用い
て、ライト側制御部と、このライト側制御部に比べかな
り動作速度が遅いリード側制御部との間のデータ通信を
行う場合でも、その通信到達効率がよいFIFOバッフ
ァ回路を提供できる効果がある。
【図面の簡単な説明】
【図1】本発明の一実施例のFIFOバッファ回路の構
成を示すブロック図である。
【図2】本発明の一実施例のFIFOバッファ回路にお
けるカウントダウン計数部30の詳細ブロック図である。
【図3】従来のFIFOバッファ回路の構成を示すブロ
ック図である。
【図4】従来のFIFOバッファ回路における計数部9
における詳細ブロック図である。
【符号の説明】
2 ライト側制御部 3 リード側制御部 4 デュアルポートメモリ部 5 ライトポインタ 6 リードポインタ 7 加算器 8 比較器 29 FIFOバッファ回路 30 カウントダウン計数器 31 アップダウン計数器

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 非同期に動作する第1のプロセッサと第
    2のプロセッサもしくはそれに類する回路(以降、第2
    のプロセッサという)の間に介在し、先入れ先出し(以
    降、FIFOという)形式にデータの受渡しを行うFI
    FOバッファ回路であって、前記第1のプロセッサから
    前記第2のプロセッサへ送るデータを一時保持するメモ
    リ部と、前記メモリ部へのデータ書込みのアドレスを生
    成するライトポインタ部と、前記メモリ部からのデータ
    読出しのアドレスを生成するリードポインタ部と、前記
    メモリ部へのデータ書込みアドレスとデータ読出しアド
    レスの相互関係により、前記メモリ部の空き容量がある
    か否かを検出するフル状態検出部と、前記メモリ部の最
    大記憶データ数(以下、深さと呼ぶ)だけ計数でき、前
    記メモリ部の容量の範囲内の任意の計数値を設定可能
    で、前記メモリ部へのデータ書き込み毎に計数値を更新
    し、計数値が0になると計数終了を通知することで1単
    位のパケットデータの検出を行う第1の計数部と、前記
    第1の計数部からの計数終了通知と前記第2のプロセッ
    サからのデータ読み込み終了通知を計数することによ
    り、前記メモリ部中の読出しパケットデータ数を前記第
    2のプロセッサに通知する第2の計数部とを備え、前記
    第1のプロセッサから前記メモリ部へのデータ書込み前
    に、前記メモリ部に書込む1単位のパケットデータ長を
    前記第1の計数部に設定し、前記第2の計数部で前記第
    1の計数部の計数終了通知数をカウントアップし、前記
    第2のプロセッサのデータ読出し終了通知数をカウント
    ダウンすることにより、前記メモリ部内の読出し待ちパ
    ケットデータ数を前記第2のプロセッサに通知可能とし
    たことを特徴とするFIFOバッファ回路。
JP4024198A 1992-02-12 1992-02-12 先入れ先出しバッファ回路 Pending JPH05224880A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4024198A JPH05224880A (ja) 1992-02-12 1992-02-12 先入れ先出しバッファ回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4024198A JPH05224880A (ja) 1992-02-12 1992-02-12 先入れ先出しバッファ回路

Publications (1)

Publication Number Publication Date
JPH05224880A true JPH05224880A (ja) 1993-09-03

Family

ID=12131630

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4024198A Pending JPH05224880A (ja) 1992-02-12 1992-02-12 先入れ先出しバッファ回路

Country Status (1)

Country Link
JP (1) JPH05224880A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6681314B1 (en) 1998-09-08 2004-01-20 Nec Electronics Corporation FIFO memory device suitable for data transfer apparatuses with different data bus widths and method for controlling the same
CN100346289C (zh) * 2006-04-12 2007-10-31 华为技术有限公司 一种先入先出存储器及其输出空满标志的方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6681314B1 (en) 1998-09-08 2004-01-20 Nec Electronics Corporation FIFO memory device suitable for data transfer apparatuses with different data bus widths and method for controlling the same
CN100346289C (zh) * 2006-04-12 2007-10-31 华为技术有限公司 一种先入先出存储器及其输出空满标志的方法

Similar Documents

Publication Publication Date Title
JP5379826B2 (ja) 混合された非同期および同期システム用少待ち時間fifo回路
JP2010033614A (ja) 入出力プロセッサ
JPH01237864A (ja) Dma転送制御装置
JPH05250305A (ja) データ転送制御方式
CN111538694B (zh) 一种用于网络接口支持多链接和重传的数据缓存方法
JPH05224880A (ja) 先入れ先出しバッファ回路
US6535942B1 (en) Method for reducing processor interrupt load
JP3218659B2 (ja) Fifoバッファ回路
JPH02159624A (ja) 先入れ先出しレジスタ装置
JPH0683581A (ja) 先入れ先出しバッファ回路
JPH0620463A (ja) 先入れ先出しバッファ回路
US20020032846A1 (en) Memory management apparatus and method
JP2826244B2 (ja) Dmaユニット
JPH04306755A (ja) Fifoバッファ装置
EP0410382A2 (en) Data transfer controller using direct memory access method
JP2688245B2 (ja) Dma制御装置
JPH0432922A (ja) インタフェース制御回路
JP2005148904A (ja) リングバッファ制御装置およびリングバッファ制御方法
JPH05224881A (ja) Fifoバッファ回路
JP3511342B2 (ja) データ蓄積回路
JP2707256B2 (ja) マイクロコンピユータ
CN114238188A (zh) 基于dma和fifo接收串口不定长数据的方法及装置
JPH1011411A (ja) 割込み制御システム
JPH02181248A (ja) Dmaシステム
JPS6379439A (ja) シリアル通信装置