JPH0683581A - First-in first-out buffer circuit - Google Patents
First-in first-out buffer circuitInfo
- Publication number
- JPH0683581A JPH0683581A JP4235905A JP23590592A JPH0683581A JP H0683581 A JPH0683581 A JP H0683581A JP 4235905 A JP4235905 A JP 4235905A JP 23590592 A JP23590592 A JP 23590592A JP H0683581 A JPH0683581 A JP H0683581A
- Authority
- JP
- Japan
- Prior art keywords
- unit
- read
- data
- section
- packet data
- 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
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
Abstract
Description
【0001】[0001]
【産業上の利用分野】本発明は、非同期に動作するマル
チプロセッサ間の入力側と出力側の間でパケットデータ
のデータ通信を行うための先入れ先出し(FIFO)バッ
ファ回路の構成に関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a structure of a first-in first-out (FIFO) buffer circuit for performing packet data data communication between an input side and an output side between multiprocessors operating asynchronously.
【0002】[0002]
【従来の技術】データ通信を行うために非同期に動作す
るマルチプロセッサ間でFIFOバッファ回路が使用さ
れる。2. Description of the Related Art A FIFO buffer circuit is used between asynchronously operating multiprocessors to perform data communication.
【0003】以下、従来のFIFOバッファ回路につい
て、図面を参照しながら説明する。A conventional FIFO buffer circuit will be described below with reference to the drawings.
【0004】図3は従来のFIFOバッファ回路の1例
の構成を示すブロック図である。図3において、1はF
IFOバッファ回路、2はライト側制御部、3はリード
側制御部、4はデュアルポートメモリ部(以下、メモリ
部という)、5はライトポインタ(以下、WPという)、
6はリードポインタ(以下、RPという)、7はフル状態
検出部、8はカウントダウン計数器部(本発明では後で
第1のカウントダウン計数器部という)、9はアップダ
ウン計数器部である。FIG. 3 is a block diagram showing the configuration of an example of a conventional FIFO buffer circuit. In FIG. 3, 1 is F
IFO buffer circuit, 2 write side control unit, 3 read side control unit, 4 dual port memory unit (hereinafter referred to as memory unit), 5 write pointer (hereinafter referred to as WP),
Reference numeral 6 is a read pointer (hereinafter, referred to as RP), 7 is a full state detection unit, 8 is a countdown counter unit (hereinafter, referred to as a first countdown counter unit in the present invention), and 9 is an up / down counter unit.
【0005】なお、図3において、14,19,25,28は選
択信号、15はライト信号、16,18はリセット信号、17,
21はデータバス、20はリード信号、22はライトポインタ
出力、23はリードポインタ出力、24はフル信号、27は書
込み終了信号、29は読出し終了信号である。In FIG. 3, 14, 19, 25 and 28 are selection signals, 15 is a write signal, 16 and 18 are reset signals, 17,
21 is a data bus, 20 is a read signal, 22 is a write pointer output, 23 is a read pointer output, 24 is a full signal, 27 is a write end signal, and 29 is a read end signal.
【0006】図4は図3のフル状態検出部7の内部構成
を示すブロック図である。図4において、10は加算器、
11は比較器である。図5は図3のカウントダウン計数器
部8の内部構成を示すブロック図である。図5におい
て、12は12ビットカウントダウン計数器、13は12入力O
Rゲートである。FIG. 4 is a block diagram showing the internal configuration of the full state detecting section 7 of FIG. In FIG. 4, 10 is an adder,
11 is a comparator. FIG. 5 is a block diagram showing an internal configuration of the countdown counter section 8 of FIG. In FIG. 5, 12 is a 12-bit countdown counter, 13 is 12 inputs O
It is an R gate.
【0007】まず、図3において、FIFOバッファ回
路1のメモリ部4は書込み側の第1のマイクロプロセッ
サが制御するライト側制御部2と、読出し側の第2のマ
イクロプロセッサが制御するリード側制御部3との間
で、非同期にリードアクセス及びライトアクセスが可能
である。また、WP5はメモリ部4へのライトアドレス
を指定し、RP6はメモリ部4のリードアドレスを指定
する。First, in FIG. 3, the memory section 4 of the FIFO buffer circuit 1 is a write-side control section 2 controlled by a first microprocessor on the write side and a read-side control section controlled by a second microprocessor on the read side. Read access and write access can be performed asynchronously with the unit 3. Further, WP5 designates a write address to the memory unit 4, and RP6 designates a read address of the memory unit 4.
【0008】フル状態検出部7は図4に示すように、W
P5のポインタ値に加算器10で(+1)した出力22と、R
P6のポインタ値の出力23を比較器11で比較して一致し
たとき、つまりメモリ部4の空き容量がないときに有効
となるフル信号24を出力する。カウントダウン計数器部
8は、図5に示すように初期値を更新クロックの入力ご
とに12ビットカウントダウン計数器12によりカウント数
が(−1)される。またアップダウン計数器部9は更新ク
ロック入力を2個持ち、1つは更新クロックによりカウ
ント数が(+1)され、もう1つは更新クロックによりカ
ウント数が(−1)される。As shown in FIG. 4, the full state detecting section 7 has a W
The output 22 obtained by adding (+1) to the pointer value of P5 by the adder 10 and R
When the output 23 of the pointer value of P6 is compared by the comparator 11 and coincides with each other, that is, when there is no free space in the memory unit 4, the full signal 24 that is effective is output. In the countdown counter unit 8, as shown in FIG. 5, the count value is decremented by 1 by the 12-bit countdown counter 12 every time the initial value is updated. The up / down counter unit 9 has two update clock inputs, one of which has a count number of (+1) by the update clock and the other of which has a count number of (-1) by the update clock.
【0009】以下、ライト側制御部2及びリード側制御
部3は8ビット幅のデータ、メモリ部4の最大記憶デー
タ数(以下、深さという)を4096ワードと仮定する。従っ
てWP5及びRP6により出力される、メモリ部4のア
ドレス幅は12ビットとなる。Hereinafter, it is assumed that the write side control unit 2 and the read side control unit 3 have 8-bit width data and the maximum number of data stored in the memory unit 4 (hereinafter referred to as depth) is 4096 words. Therefore, the address width of the memory unit 4 output by WP5 and RP6 is 12 bits.
【0010】(1)メモリ部4がフル状態の場合。(1) When the memory section 4 is full.
【0011】ライト側制御部2は選択信号14と、ライト
信号15をメモリ部4に、またリセット信号16をWP5に
それぞれ出力する。リングタイプのアップカウンタより
構成されるWP5は、最初のライトアクセスの前に、ラ
イト側制御部2よりのリセット信号16でリセットされ、
その結果、WP5の初期出力は“000h(16進数、以
下同様)”となっている。The write control unit 2 outputs a selection signal 14 and a write signal 15 to the memory unit 4, and a reset signal 16 to the WP 5, respectively. The WP 5 composed of a ring type up counter is reset by the reset signal 16 from the write side control unit 2 before the first write access,
As a result, the initial output of WP5 is "000h (hexadecimal number, the same applies below)".
【0012】次にWP5は、メモリ部4にデータを書込
む際の選択信号14によりアクティベートされ、ライト信
号15により順次カウントアップされる。WP5の出力
は、ライト側制御部2からのデータを、前記メモリ部4
に記憶して保持するアドレスとして使用される。従っ
て、ライト側制御部2からのデータバス17を介した書込
みデータは、メモリ部4に下位アドレスから昇順に保持
されて、WP5は最大値“FFFh”までカウントアッ
プした後に、次の更新クロックで巡回し、その出力は再
び“000h”となり、ライト側制御部2からのデータ
バス17を介した書込みデータは、再びメモリ部4に下位
アドレスから昇順に巡回し保持されていく。従って、メ
モリ部4の深さが4096ワードとした本例では、WP5の
出力は、ライト側制御部2のデータ書込み回数をxとす
れば、 X−4096・x x:WPの巡回回数 の値を示している。Next, the WP 5 is activated by the selection signal 14 at the time of writing data in the memory section 4, and is sequentially counted up by the write signal 15. The output of the WP 5 is the data from the write-side control unit 2 stored in the memory unit 4
It is used as an address to be stored and retained in. Therefore, the write data from the write side control unit 2 via the data bus 17 is held in the memory unit 4 in ascending order from the lower address, and the WP 5 counts up to the maximum value “FFFh”, and then at the next update clock. The data is circulated, the output becomes "000h" again, and the write data from the write-side control unit 2 via the data bus 17 circulates in the memory unit 4 again in ascending order from the lower address and is retained. Therefore, in the present example in which the depth of the memory unit 4 is 4096 words, the output of the WP 5 is the value of the number of cycles of X-4096. Is shown.
【0013】リングタイプのアップカウンタより構成さ
れるRP6は、最初のリードアクセスの前にリード側制
御部3よりのリセット信号18でリセットされ、その結
果、RP6の初期出力が“000h”となっている。次
に、メモリ部4からデータを読出す際の選択信号19によ
りアクティベートされ、リード信号20により、該出力を
順次カウントアップする。従って、リード側制御部3の
リードアクセスにより、メモリ部4に保持されたデータ
が下位アドレスより昇順にデータバス21に出力される。
RP6は最大値“FFFh”までカウントアップした後
に、次の更新クロックで巡回し、その出力はまた“00
0h”となり、再びメモリ部4に下位アドレスから昇順
に保持データを巡回し出力する。従って、RP6の出力
は、リード側制御部3のメモリ部4からのデータ読出し
回数をyとすれば、 Y−4096・y y:RPの回転回数、x−1≦y≦
x の値を示している。The RP6, which is a ring-type up counter, is reset by the reset signal 18 from the read side control unit 3 before the first read access, and as a result, the initial output of the RP6 becomes "000h". There is. Next, it is activated by the selection signal 19 when reading data from the memory unit 4, and the output is sequentially counted up by the read signal 20. Therefore, by the read access of the read side control unit 3, the data held in the memory unit 4 is output to the data bus 21 in ascending order from the lower address.
After counting up to the maximum value "FFFh", RP6 circulates at the next update clock, and its output is "00" again.
0h ", and again the retained data is circulated to the memory unit 4 in ascending order from the lower address and output. Therefore, if the number of times of reading data from the memory unit 4 of the read side control unit 3 is y, the output of RP6 is Y −4096 · yy: Number of rotations of RP, x−1 ≦ y ≦
The value of x is shown.
【0014】従って、フル状態検出部7の比較器11で、
WP5の出力22の(X−4096・x)に加算器10で(+1)し
た値の(X+1−4096・x)と、RP6の出力23の値の
(Y−4096・y)とを比較し、一致を検出した場合、メモ
リ部4はリード側制御部3からの読出し待ちパケットデ
ータがフル状態であることになり、フル信号24でライト
側制御部2及びリード側制御部3にデータがフル状態で
あることが通知される。Therefore, in the comparator 11 of the full state detecting section 7,
(X + 1-4096 · x) of the value obtained by adding (10) to (X−4096 · x) of the output 22 of WP5 and the value of the output 23 of RP6
(Y-4096 · y), and when a match is detected, the memory unit 4 indicates that the read-wait packet data from the read-side control unit 3 is full, and the full-signal 24 causes the write-side control unit. 2 and the read-side control unit 3 are notified that the data is full.
【0015】(2)1単位のパケットデータのFIFO動
作の場合(メモリ部4がフル状態でない)。(2) In the case of the FIFO operation of 1 unit of packet data (the memory unit 4 is not in the full state).
【0016】パケットデータは1単位当たり一定長のパ
ケットで構成されている。ライト側制御部2はメモリ部
4に1単位のパケットデータを書込む前に、選択信号25
でカウントダウン計数器部8内の図5に示す12ビットカ
ウントダウン計数器12を選択し、該12ビットカウントダ
ウン計数器12にデータバス17を介して、ライト信号15で
パケットデータのデータ長を初期値として書込んで、前
記12ビットカウントダウン計数器12の初期値を設定す
る。The packet data is composed of a fixed length packet per unit. The write-side control unit 2 receives the selection signal 25 before writing one unit of packet data in the memory unit 4.
5 selects the 12-bit countdown counter 12 shown in FIG. 5 in the countdown counter unit 8 and sets the data length of the packet data as the initial value by the write signal 15 to the 12-bit countdown counter 12 via the data bus 17. By writing, the initial value of the 12-bit countdown counter 12 is set.
【0017】ライト側制御部2がメモリ部4にデータを
書込み、更新可能な状態となるとき、12ビットカウント
ダウン計数器12は、選択信号14が有効で、ライト信号15
をトリガに12ビットカウントダウン計数器12の計数器出
力26を(−1)する。以後、ライト側制御部2がメモリ部
4にデータを書込むごとに12ビットカウントダウン計数
器12の計数値は減少し、計数値が0になったとき、すな
わちデータの書込み数がパケット1単位のデータ長と一
致したとき、計数器出力26はオール“L”状態になり、
12入力ORゲート13の出力である書込み終了信号27の立
ち下がりが変化し、“L”レベルの書込み終了信号27を
出力する。When the write-side control unit 2 writes data to the memory unit 4 and becomes an updatable state, the 12-bit countdown counter 12 has the selection signal 14 valid and the write signal 15 written.
The counter output 26 of the 12-bit countdown counter 12 is decremented by (-1). After that, every time the write-side control unit 2 writes data to the memory unit 4, the count value of the 12-bit countdown counter 12 decreases, and when the count value becomes 0, that is, the number of data writes is one packet unit. When the data length matches, the counter output 26 becomes all "L" state,
The trailing edge of the write end signal 27, which is the output of the 12-input OR gate 13, changes, and the write end signal 27 of "L" level is output.
【0018】書込み終了信号27をクロック入力としてい
るアップダウン計数器部9は、書込み終了信号27の立ち
下がりエッジでアップダウン計数器部9の出力を(+1)
する。すなわち、計数器出力は、1単位のパケットデー
タ書込み終了後のFIFOバッファ内読出し待ちパケッ
トデータ数を示す。The up-down counter section 9 which receives the write end signal 27 as a clock input outputs the output of the up-down counter section 9 by (+1) at the falling edge of the write end signal 27.
To do. That is, the counter output indicates the number of packet data waiting to be read in the FIFO buffer after the writing of one unit of packet data is completed.
【0019】書込み終了信号27によりリード側制御部3
は、メモリ部4へのリードアクセスの前に、選択信号28
でアップダウン計数器部9を選択し、データバス21を介
し、リード信号20で計数値出力、すなわち、FIFOバ
ッファ内読出し待ちパケットデータ数を読出し、読出し
待ちパケットデータがあることを知ることができ、メモ
リ部4へのリードアクセスを行う。1単位のパケットデ
ータ読出し終了後、リード側制御部3は、“L”レベル
の読出し終了信号29を出力する。読出し終了信号29をク
ロック入力としているアップダウン計数器部9は、読出
し終了信号29の立ち下がりエッジでアップダウン計数器
部9の出力を(−1)する。すなわち、計数器出力は、1
単位のパケットデータ読込み終了後のFIFOバッファ
内読出し待ちパケットデータ数(下記の表1)を示す。By the write end signal 27, the read side control unit 3
Select signal 28 before read access to the memory section 4.
Select the up / down counter section 9 with, and output the count value with the read signal 20 via the data bus 21, that is, read the number of read-wait packet data in the FIFO buffer, and know that there is read-wait packet data. , And read access to the memory unit 4. After the completion of reading the packet data of one unit, the read-side control unit 3 outputs the read end signal 29 of "L" level. The up / down counter section 9 which receives the read end signal 29 as a clock input outputs (-1) the output of the up / down counter section 9 at the falling edge of the read end signal 29. That is, the counter output is 1
The following shows the number of packets waiting to be read in the FIFO buffer (Table 1 below) after the unit packet data has been read.
【0020】[0020]
【表1】 [Table 1]
【0021】上記のようにして計数されたFIFOバッ
ファ内読出し待ちパケットデータ数は、メモリ部4への
1単位のパケットデータ書込み終了ごとに、リード側制
御部3に通知され、リード側制御部3は、FIFOバッ
ファ内の読出し待ちパケットデータ数に応じて即時的に
処理をすることができる。The number of packets waiting to be read in the FIFO buffer, which has been counted as described above, is notified to the read-side control unit 3 every time the writing of one unit of packet data into the memory unit 4 is completed, and the read-side control unit 3 is notified. Can immediately perform processing in accordance with the number of read wait packet data in the FIFO buffer.
【0022】[0022]
【発明が解決しようとする課題】上述のような従来のF
IFOバッファ回路1においては、リード側制御部3が
FIFOバッファからパケットデータを読出す際、リー
ド側制御部3のソフトウェアにより1単位のパケットデ
ータの検出ができ、この1単位のパケットデータの読出
し終了信号と、カウントダウン計数器部8による1単位
のパケットデータの書込み終了信号を計数することで、
メモリ内の読出し待ちパケットデータ数をリード側制御
部3に通知することは可能であった。DISCLOSURE OF THE INVENTION Problems to be Solved by the Invention
In the IFO buffer circuit 1, when the read-side control unit 3 reads the packet data from the FIFO buffer, the software of the read-side control unit 3 can detect one unit of packet data, and the reading of one unit of packet data is completed. By counting the signal and the writing end signal of one unit of packet data by the countdown counter unit 8,
It was possible to notify the read side control unit 3 of the number of read wait packet data in the memory.
【0023】しかし、パケットデータ長の長いパケット
データによる通信を行う場合や、大容量FIFOバッフ
ァを用い、ライト側制御部2と、このライト側制御部2
に比べ、かなり動作速度が遅いリード側制御部3間のデ
ータ通信を行う場合には、リード側制御部3は1単位の
パケットデータの検出という負荷のために実行速度を上
げることができず、データ通信の効率を向上させること
ができないという問題点を有していた。However, in the case of performing communication by packet data having a long packet data length or using a large capacity FIFO buffer, the write side control unit 2 and the write side control unit 2 are used.
In the case of performing data communication between the read-side control units 3 whose operating speed is considerably slower than, the read-side control unit 3 cannot increase the execution speed due to the load of detecting one unit of packet data. There is a problem that the efficiency of data communication cannot be improved.
【0024】本発明は上記課題を解決するもので、リー
ド側制御部3がFIFOバッファ内の読出し待ちパケッ
トデータを読出す際、1単位のパケットデータの書込み
終了信号の検出をハードウェアで実現することにより、
リード側制御部3の負荷を軽減することが可能なFIF
Oバッファ回路を提供することを目的としている。The present invention is to solve the above-mentioned problem, and when the read side control unit 3 reads the read-wait packet data in the FIFO buffer, the detection of the write end signal of one unit of packet data is realized by hardware. By
FIF capable of reducing the load on the read side control unit 3
It is intended to provide an O buffer circuit.
【0025】[0025]
【課題を解決するための手段】本発明は、非同期に動作
する入力側と出力側の間のFIFOバッファのデータを
記憶するメモリ部と、該メモリ部へのデータの書込み及
び読出しの各アドレスを生成するライト及びリードポイ
ンタと、前記リードポインタのアドレスから前記メモリ
部の空き容量を検出するフル状態検出部と、1単位のパ
ケットデータのデータ長を計数値に予め設定し、前記メ
モリ部4にデータを書込むごとに、前記計数値を減算し
て更新し、前記計数値が0になると計数終了を通知する
第1のカウントダウン計数器部と、前記第1のカウント
ダウン計数器部に設定された1単位のパケットデータの
データ長の計数値を設定し、前記メモリ部からデータを
読出すごとに、前記計数値を加算または減算して更新
し、前記計数値が0になると計数終了を通知するアップ
ダウン計数器部とを備えた先入れ先出しバッファ回路
に、第2のカウントダウン計数器部を付加し、第2のカ
ウントダウン計数器部に1単位のパケットデータのデー
タ長の計数値を設定して、前記メモリ部からデータを読
出すごとに、前記第2のカウントダウン計数器部の計数
値を減算して更新し、前記計数値が0になると計数終了
通知を出力し、該通知を受けたときの前記第1のカウン
トダウン計数器部の計数値で、読出し待ちのデータ数を
得て、前記メモリ部の読出し待ちのデータ数を出力側に
通知することを特徴とする。According to the present invention, there is provided a memory section for storing data of a FIFO buffer between an input side and an output side which operate asynchronously, and an address for writing and reading data to and from the memory section. The write and read pointers to be generated, the full state detection unit that detects the free space of the memory unit from the address of the read pointer, and the data length of one unit of packet data is preset to the count value, and the memory unit 4 Each time data is written, the count value is decremented and updated, and when the count value becomes 0, the first countdown counter section that notifies the end of counting and the first countdown counter section are set. A count value of the data length of 1 unit of packet data is set, and each time the data is read from the memory unit, the count value is added or subtracted to be updated so that the count value is 0. Then, a second countdown counter section is added to the first-in first-out buffer circuit having an up / down counter section for notifying the end of counting, and the second countdown counter section has a count value of the data length of one unit of packet data. Every time the data is read from the memory unit, the count value of the second countdown counter unit is subtracted and updated, and when the count value becomes 0, a count end notification is output and the notification is given. The number of data waiting to be read is obtained from the count value of the first countdown counter unit when the data is received, and the number of data waiting to be read in the memory unit is notified to the output side.
【0026】[0026]
【作用】本発明によれば、ライト側制御部からメモリ部
へのパケットデータの書込み前に、前記メモリ部に書込
むパケットデータのデータ長をメモリ部の深さを計数で
きる前記第1のカウントダウン計数器部に設定し、前記
メモリ部から前記リード側制御部へパケットデータを読
出す際に、前記メモリ部から読出すパケットデータのデ
ータ長を前記メモリ部のデータの深さを計数できるアッ
プダウン計数器部に設定し、前記第1のカウントダウン
計数器部によって検出された1単位のパケットデータ数
と、前記アップダウン計数器部によって検出された1単
位のパケットデータ数を第2のカウントダウン計数器が
計数することにより、FIFOバッファ内読出し待ちパ
ケットデータ数を計数でき、1単位のパケットデータの
書込み終了ごとに、直ちに、FIFOバッファ内読出し
待ちパケットデータ数を前記リード側制御部に通知する
ようにした。According to the present invention, before the writing of the packet data from the write-side control unit to the memory unit, the data length of the packet data to be written into the memory unit can be counted so that the depth of the memory unit can be counted. Up / down that can be set in the counter unit and can read the data length of the packet data read from the memory unit when reading the packet data from the memory unit to the read-side control unit. The second countdown counter sets the number of packet data of 1 unit detected by the first countdown counter unit and the number of packet data of 1 unit detected by the up / down counter unit. By counting, the number of packets waiting to be read in the FIFO buffer can be counted, and at the end of writing one unit of packet data Immediately, the number of the read waiting packet data FIFO buffer and to notify to the lead-side control unit.
【0027】[0027]
【実施例】以下、本発明の一実施例について、図面を参
照しながら説明する。図1は本発明の一実施例の構成を
示すブロック図である。図1において、30はFIFOバ
ッファ回路であり、このFIFO回路30内の8は第1の
カウントダウン計数器部(図5と同じ構成)、31は新たに
付加された第2のカウントダウン計数器部である。その
他、前記図3と同一ブロック等には同じ符号で示す。図
2は図1の第2のカウントダウン計数器部31の構成を示
すブロック図である。図2において、33は12ビットカウ
ントダウン計数器、36は12入力ORゲートである。DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS An embodiment of the present invention will be described below with reference to the drawings. FIG. 1 is a block diagram showing the configuration of an embodiment of the present invention. In FIG. 1, 30 is a FIFO buffer circuit, 8 in this FIFO circuit 30 is a first countdown counter section (same configuration as in FIG. 5), 31 is a newly added second countdown counter section. is there. In addition, the same blocks as those in FIG. 3 are denoted by the same reference numerals. FIG. 2 is a block diagram showing the configuration of the second countdown counter section 31 of FIG. In FIG. 2, 33 is a 12-bit countdown counter and 36 is a 12-input OR gate.
【0028】(1)メモリ部4がフル状態の場合。(1) When the memory unit 4 is full.
【0029】WP5,RP6,フル状態検出部7は、上
述の従来の例の如く同様に動作をし、メモリ部4がフル
状態になったことを、ライト側制御部2及びリード側制
御部3にフル信号24でその旨を通知する。The WP5, RP6 and full state detecting section 7 operate in the same manner as in the conventional example described above, and the write side control section 2 and the read side control section 3 indicate that the memory section 4 is in the full state. Notify that with a full signal 24.
【0030】(2)本発明のFIFOバッファ回路を用い
た1単位のパケットデータのFIFO動作の場合 従来例同様、ライト側制御部2はメモリ部4に1単位の
パケットデータを書込む前に選択信号25で第1のカウン
トダウン計数器部8内の、図5に示す12ビットカウント
ダウン計数器12を選択し、データバス17を介して、ライ
ト信号15でパケットデータのデータ長を初期値として設
定する。(2) In the case of FIFO operation of 1 unit of packet data using the FIFO buffer circuit of the present invention As in the conventional example, the write side control unit 2 selects before writing 1 unit of packet data to the memory unit 4. The signal 25 selects the 12-bit countdown counter 12 shown in FIG. 5 in the first countdown counter unit 8, and the write signal 15 sets the data length of the packet data as an initial value via the data bus 17. .
【0031】12ビットカウントダウン計数器12は、選択
信号14が有効のとき、すなわちライト側制御部2が、メ
モリ部4にデータを書込むとき、更新可能な状態とな
り、ライト信号15をトリガーに計数器出力26を(−1)す
る。The 12-bit countdown counter 12 is in an updatable state when the selection signal 14 is valid, that is, when the write-side control unit 2 writes data in the memory unit 4, and counts with the write signal 15 as a trigger. The output 26 of the container is set to (-1).
【0032】図5に示す12ビットカウントダウン計数器
12の計数値が0になったとき、すなわち、ライト側制御
部2からのメモリ部4へのデータ書込み回数が、データ
書込み前に12ビットカウントダウン計数器12に初期値と
して設定した数と同じになった場合、計数器出力26がオ
ール“L”状態となり、12入力ORゲート13の出力であ
る書込み終了信号27の立ち下がりが変化し、“L”レベ
ルの書込み終了信号27を出力する。書込み終了信号27を
クロック入力としているアップダウン計数器部9は、書
込み終了信号27の立ち下がりエッジでアップダウン計数
器部9の出力を(+1)する。すなわち、計数器出力は、
1単位のパケットデータ書込み終了後のFIFOバッフ
ァ内読出し待ちパケットデータ数を示す。12-bit countdown counter shown in FIG.
When the count value of 12 becomes 0, that is, the number of times of writing data from the write-side control unit 2 to the memory unit 4 becomes the same as the number set as an initial value in the 12-bit countdown counter 12 before writing data. If so, the counter output 26 becomes all "L" state, the trailing edge of the write end signal 27 which is the output of the 12-input OR gate 13 changes, and the "L" level write end signal 27 is output. The up / down counter section 9 which receives the write end signal 27 as a clock input outputs (+1) the output of the up / down counter section 9 at the falling edge of the write end signal 27. That is, the counter output is
It shows the number of packet data waiting to be read in the FIFO buffer after the writing of one unit of packet data is completed.
【0033】書込み終了信号27により、リード側制御部
3は、メモリ部4へのリードアクセスの前に、選択信号
28でアップダウン計数器部9を選択し、データバス21を
介し、リード信号20で計数値出力、すなわち、FIFO
バッファ内読出し待ちパケットデータ数を読出し、読出
し待ちパケットデータがあることを知ることができ、メ
モリ部4へのリードアクセスを行う。In response to the write end signal 27, the read side control section 3 sends the selection signal before the read access to the memory section 4.
The up / down counter section 9 is selected by 28, and the count value is output by the read signal 20 via the data bus 21, that is, the FIFO.
The number of read waiting packet data in the buffer can be read and it can be known that there is read waiting packet data, and the read access to the memory unit 4 is performed.
【0034】リード側制御部3は、メモリ部4から1単
位のパケットデータを読出す際に、まず、パケットデー
タのヘッダー中のパケットデータ長のみを読出し、選択
信号32で第2のカウントダウン計数器部31内の、図2に
示す12ビットカウントダウン計数器33を選択し、データ
バス21を介して、ライト信号34でパケットデータのデー
タ長を初期値として設定する。When reading one unit of packet data from the memory unit 4, the read-side control unit 3 first reads only the packet data length in the header of the packet data, and uses the selection signal 32 as a second countdown counter. The 12-bit countdown counter 33 shown in FIG. 2 in the unit 31 is selected, and the data length of the packet data is set as an initial value by the write signal 34 via the data bus 21.
【0035】図2に示す12ビットカウントダウン計数器
部33は、選択信号19が有効のとき、すなわち、リード側
制御部3が、メモリ部4からデータを読出すとき、更新
可能の状態となり、リード信号20をトリガーにして計数
器出力35を(−1)する。図2に示すカウントダウン計数
器33の計数値が0になったとき、すなわちメモリ部4か
らリード側制御部3へのデータ読出し回数が、データ読
出し前にカウントダウン計数器33に初期値として設定し
た数と同じになった場合、計数器出力33はオール“L”
状態となり、12入力ORゲート36の出力である読出し終
了信号29の立ち下がりが変化し、“L”レベルの読出し
終了信号29を直ちに出力する。The 12-bit countdown counter section 33 shown in FIG. 2 is in the updatable state when the selection signal 19 is valid, that is, when the read side control section 3 reads data from the memory section 4, and the read signal is read. The counter output 35 is made (-1) by using the signal 20 as a trigger. When the count value of the countdown counter 33 shown in FIG. 2 becomes 0, that is, the number of times data is read from the memory unit 4 to the read-side control unit 3 is the number set as an initial value in the countdown counter 33 before data reading. When it becomes the same as, the counter output 33 is all "L".
As a result, the trailing edge of the read end signal 29, which is the output of the 12-input OR gate 36, changes and the read end signal 29 of "L" level is immediately output.
【0036】読出し終了信号29により、リード側制御部
3は、1単位のパケットデータの読出し終了を検知する
ことができる。また、読出し終了信号29をクロック入力
としているアップダウン計数器部9は、読出し終了信号
29の立ち下がりエッジでアップダウン計数器部9の出力
を(−1)する。すなわち、アップダウン計数器部9の計
数器出力は、1単位のパケットデータ読出し終了後のF
IFOバッファ内読出し待ちパケットデータ数を示す。The read end signal 29 enables the read side control unit 3 to detect the end of the reading of one unit of packet data. In addition, the up / down counter unit 9 that uses the read end signal 29 as a clock input
At the falling edge of 29, the output of the up / down counter section 9 is decremented by (-1). That is, the counter output of the up / down counter section 9 is F after the completion of reading one unit of packet data.
Indicates the number of read wait packet data in the IFO buffer.
【0037】上記のようにして計数されたFIFOバッ
ファ内読出し待ちパケットデータ数は、メモリ部4への
1単位のパケットデータ書込み終了ごとにリード側制御
部3に通知され、リード側制御部3はFIFOバッファ
内読出し待ちパケットデータ数に応じ、即時的に処理を
することができる。The number of packets waiting to be read in the FIFO buffer, which has been counted as described above, is notified to the read side control unit 3 every time one unit of packet data writing to the memory unit 4 is completed, and the read side control unit 3 According to the number of packet data waiting to be read in the FIFO buffer, the processing can be performed immediately.
【0038】以上のように付加された第2のカウントダ
ウン計数器部31は、リード側制御部3がメモリ部4から
1単位のパケットデータを読出す際に、1単位のパケッ
トデータの検出、すなわち1単位のパケットデータの読
出し終了を直ちにアップダウン計数器部9に通知可能
で、特にライト側制御部2と、このライト側制御部2よ
りかなり動作の遅いリード側制御部3の両プロセッサ間
でのデータ通信を行う場合、リード側制御部3自体は1
単位のパケットデータの読出し終了を検出する必要がな
いため、リード側制御部3の負荷は軽減され、その分リ
ード側制御部3の動作を速めることができ、大幅な通信
効率の向上が図れる。The second countdown counter unit 31 added as described above detects one unit of packet data when the read side control unit 3 reads one unit of packet data from the memory unit 4, that is, It is possible to immediately notify the up / down counter unit 9 of the completion of the reading of one unit of packet data, and particularly between the write side control unit 2 and the read side control unit 3 which operates much slower than the write side control unit 2 between the processors. When performing the data communication of the read side control unit 3 itself,
Since it is not necessary to detect the end of reading of the unit packet data, the load on the read side control unit 3 is reduced, the operation of the read side control unit 3 can be speeded up accordingly, and the communication efficiency can be greatly improved.
【0039】なお、本実施例では、データ保持のメモリ
にデュアルポート構成のRAMを使用したが、シングル
ポート構成のRAMを、ライト側制御部とリード側制御
部で時分割に使用しても、本発明の効果に何ら影響を与
えない。In this embodiment, the dual port RAM is used as the data holding memory. However, even if the single port RAM is used for the time division in the write side control section and the read side control section, It has no effect on the effect of the present invention.
【0040】また本発明は、パケット通信データについ
て説明したが、類似の方式に適用できるのはもちろんで
ある。Although the present invention has been described with reference to packet communication data, it goes without saying that it can be applied to a similar system.
【0041】[0041]
【発明の効果】以上説明したように、本発明の先入れ先
出しバッファ回路は、パケットデータを送信する際、こ
れまでリード側制御部のソフトウェアにより実現した1
単位のパケットデータの検出をハードウェアで実現する
ため、リード側制御部は1単位のパケットデータの検出
をする必要がなくなり、その分リード側制御部の負荷を
軽減でき、リード側制御部の動作を速めることができ
る。従って、大容量FIFOバッファを用いてライト側
制御部と、ライト側制御部に比べかなり動作速度が遅い
リード側制御部間のデータ通信を行う場合でも、その通
信到達効率が良い。As described above, the first-in first-out buffer circuit of the present invention has been realized so far by the software of the read side control unit when transmitting packet data.
Since the unit packet data is detected by hardware, the read side control unit does not need to detect one unit of packet data, the load on the read side control unit can be reduced accordingly, and the operation of the read side control unit can be reduced. Can be accelerated. Therefore, even when data communication is performed between the write-side control unit and the read-side control unit whose operation speed is considerably slower than that of the write-side control unit using the large capacity FIFO buffer, the communication arrival efficiency is good.
【図1】本発明の一実施例の構成を示すブロック図であ
る。FIG. 1 is a block diagram showing the configuration of an embodiment of the present invention.
【図2】図1の第2のカウントダウン計数器部の構成を
示すブロック図である。FIG. 2 is a block diagram showing a configuration of a second countdown counter section of FIG.
【図3】従来のFIFOバッファ回路の1例の構成を示
すブロック図である。FIG. 3 is a block diagram showing a configuration of an example of a conventional FIFO buffer circuit.
【図4】図3のフル状態検出部7の内部構成を示すブロ
ック図である。4 is a block diagram showing an internal configuration of a full state detection unit 7 of FIG.
【図5】図3のカウントダウン計数器部8の内部構成を
示すブロック図である。5 is a block diagram showing an internal configuration of a countdown counter section 8 of FIG.
1,30…FIFOバッファ回路、 2…ライト側制御
部、 3…リード側制御部、 4…デュアルポートメモ
リ部(メモリ部)、 5…ライトポインタ(WP)、6…リ
ードポインタ(RP)、 7…フル状態検出部、 8…第
1のカウントダウン計数器部、 9…アップダウン計数
器部、 10…加算器、 11…比較器、 12,33…12ビッ
トカウントダウン計数器、 13,36…12入力ORゲー
ト、 31…第2のカウントダウン計数器部。1, 30 ... FIFO buffer circuit, 2 ... Write side control unit, 3 ... Read side control unit, 4 ... Dual port memory unit (memory unit), 5 ... Write pointer (WP), 6 ... Read pointer (RP), 7 ... Full state detection section, 8 ... First countdown counter section, 9 ... Up-down counter section, 10 ... Adder, 11 ... Comparator, 12, 33 ... 12-bit countdown counter, 13, 36 ... 12 inputs OR gate, 31 ... Second countdown counter section.
Claims (1)
先入れ先出しバッファのデータを記憶するメモリ部と、
該メモリ部への書込み及び読出しの各アドレスを生成す
るライト及びリードポインタと、前記リードポインタの
アドレスから前記メモリ部の空き容量を検出するフル状
態検出部と、1単位のパケットデータのデータ長を計数
値に予め設定し、前記メモリ部にデータを書込むごと
に、前記計数値を減算して更新し、前記計数値が0にな
ると計数終了を通知する第1のカウントダウン計数器部
と、前記第1カウントダウン計数器部に設定された1単
位のパケットデータのデータ長の計数値を設定し、前記
メモリ部からデータを読出すごとに、前記計数値を加算
または減算して更新し、前記計数値が0になると計数終
了を通知するアップダウン計数器部とを備えた先入れ先
出しバッファ回路に、第2のカウントダウン計数器部を
付加し、第2のカウントダウン計数器部に1単位のパケ
ットデータのデータ長の計数値を設定して、前記メモリ
部からデータを読出すごとに、前記第2のカウントダウ
ン計数器部の計数値を減算して更新し、前記計数値が0
になると計数終了通知を出力し、該通知を受けたときの
前記第1のカウントダウン計数器部の計数値で、読出し
待ちのデータ数を得て、前記メモリ部の読出し待ちのデ
ータ数を出力側に通知することを特徴とする先入れ先出
しバッファ回路。1. A memory unit for storing data of a first-in first-out buffer between an input side and an output side which operate asynchronously,
A write and read pointer that generates each address for writing and reading to and from the memory unit, a full state detection unit that detects the free space of the memory unit from the address of the read pointer, and a data length of one unit of packet data A first countdown counter section that presets a count value, subtracts and updates the count value each time data is written to the memory section, and notifies the end of counting when the count value becomes 0; A count value of the data length of one unit of packet data set in the first countdown counter unit is set, and each time the data is read from the memory unit, the count value is added or subtracted to be updated to update the count value. A second countdown counter section is added to a first-in first-out buffer circuit having an up-down counter section for notifying the end of counting when the value becomes 0, and a second counter is added. A count value of the data length of one unit of packet data is set in the down count counter unit, and each time the data is read from the memory unit, the count value of the second count down counter unit is subtracted and updated. The count value is 0
Then, a count end notification is output, the number of data waiting to be read is obtained from the count value of the first countdown counter section when the notification is received, and the number of data waiting to be read from the memory section is output. A first-in first-out buffer circuit for notifying a user.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4235905A JPH0683581A (en) | 1992-09-03 | 1992-09-03 | First-in first-out buffer circuit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4235905A JPH0683581A (en) | 1992-09-03 | 1992-09-03 | First-in first-out buffer circuit |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0683581A true JPH0683581A (en) | 1994-03-25 |
Family
ID=16992975
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP4235905A Pending JPH0683581A (en) | 1992-09-03 | 1992-09-03 | First-in first-out buffer circuit |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0683581A (en) |
Cited By (2)
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 (en) * | 2006-04-12 | 2007-10-31 | 华为技术有限公司 | FIFO memory and method for output empty full marker thereof |
-
1992
- 1992-09-03 JP JP4235905A patent/JPH0683581A/en active Pending
Cited By (2)
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 (en) * | 2006-04-12 | 2007-10-31 | 华为技术有限公司 | FIFO memory and method for output empty full marker thereof |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5036458A (en) | Information processor executing interruption program without saving contents of program counter | |
US5892979A (en) | Queue control apparatus including memory to save data received when capacity of queue is less than a predetermined threshold | |
US6421770B1 (en) | Buffer memory configuration having a memory between a USB and a CPU | |
JPS6331813B2 (en) | ||
EP0260693B1 (en) | Program mode access control system | |
EP0394599A1 (en) | Circuit for synchronizing data transfers between two devices operating at different speeds | |
US5138703A (en) | Method of and apparatus for expanding system bus | |
EP0282248A2 (en) | Block access system using cache memory | |
JPH0683581A (en) | First-in first-out buffer circuit | |
US20030061418A1 (en) | Efficient reading of a remote first in first out buffer | |
JP3218659B2 (en) | FIFO buffer circuit | |
JPH05224880A (en) | Fifo buffer circuit | |
JPH0620463A (en) | First-in first-out buffer circuit | |
JPH04306755A (en) | Fifo buffer device | |
JPS63102527A (en) | Packet exchange | |
JPH03147157A (en) | Information processor | |
JPH05224881A (en) | Fifo buffer circuit | |
JP3171726B2 (en) | Transmission data management device | |
JP2688245B2 (en) | DMA controller | |
US7111301B1 (en) | Request and completion queue load balancing | |
JP3019917B2 (en) | High-speed FIFO circuit | |
EP0686922A1 (en) | Vector processing unit with reconfigurable data buffer | |
JPH0432922A (en) | Interface control circuit | |
KR930005124B1 (en) | Image data page end mark checking method | |
JP3019864B2 (en) | Memory controller |