JPH03100851A - Fifo storage device - Google Patents
Fifo storage deviceInfo
- Publication number
- JPH03100851A JPH03100851A JP1238537A JP23853789A JPH03100851A JP H03100851 A JPH03100851 A JP H03100851A JP 1238537 A JP1238537 A JP 1238537A JP 23853789 A JP23853789 A JP 23853789A JP H03100851 A JPH03100851 A JP H03100851A
- Authority
- JP
- Japan
- Prior art keywords
- data
- latch
- counter
- read
- words
- 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
- 238000001514 detection method Methods 0.000 claims abstract description 9
- 230000003247 decreasing effect Effects 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 1
Landscapes
- Information Transfer Systems (AREA)
Abstract
Description
【発明の詳細な説明】
産業上の利用分野
本発明は 複数のプロセッサ間あるいは複数のバス間で
行われるデータ転送の際にバッフ7メモリとして使用さ
れる先入れ先出し記憶装置に関するものであも
従来の技術
従来の技術による先入れ先出し記憶装置の構成の一例を
第2図に示す。 10(友 書き込みポートと読み出し
ポートを有する2ポートの記憶要素であ、LIHllづ
つ増加するカウンタから成る書き込みポインタであり、
記憶要素lOに対してデータを書き込む際の書き込みア
ドレスを生成する。 12j& 書き込みポインタ1
1と同様のカウンタから成る読み出しポインタであり、
記憶要素lOからデータを読み出す際の読み出しアドレ
スを生成すも 書き込みポインタ1■友 記憶要素10
に対して書き込み動作が行われる度にインクリメントさ
れ 次にデータを書き込むべきアドレスを指定していも
また 読み出しポインタ12も同様へ 読み出し動作
が行われる度にインクリメントされ 次に読み出すべき
データが格納されているアドレスを指定していも した
がって、記憶要素10に有効なデータが格納されていな
い初期状態では書き込みポインタ11と読み出しポイン
タ12は一致しており、データが格納されると書き込み
ポインタ11は読み出しポインタ12よりも先行してい
き、書き込み動作後に書き込みポインタ11と読み出し
ポインタ12が一致すれば記憶要素・10が有効なデー
タで満たされた状態になも
以上のような構成により、先に書き込んだデータから順
番に読み出すことが可能な先入れ先出し記憶装置が実現
されていも
発明が解決しようとする課題
しかしながら上記のような構成で沫 例えば同一データ
をnワード連続して格納する場合、記憶要素lOにおい
てnワードの記憶域を必要とすも本発明はかかる点に鑑
へ 連続したnワードの同一データを格納する場合、そ
のためにnワード以下の記憶域でデータを格納できる先
入れ先出し記憶装置を提供することを目的とすも
課題を解決するための手段
本発明GEL 書き込みと読み出しの2ポートを有し
データを格納するデータフィールド部と前記データの
個数を格納するワード数フィールド部をもつ複数のワー
ドから構成される記憶要素と、書き込みアドレスを示す
書き込みポインタと、読み出しアドレスを示す読み出し
ポインタと、入力データを一時的に保持する第1のラッ
チと、入力データと前記第1のラッチのデータを比較す
るコンパレータと、前記コンパレータからの前記入力デ
ータと前記第1のラッチが一致した時に発生する一致検
出信号によりカウントされる第1のカウンタと、前記記
憶要素のデータフィールド部より読み出されたデータを
保持する第2のラッチと、前記記憶要素のワード数フィ
ールド部より読み出された値が初期値として設定される
第2のカウンタとを備え 前記書き込みポインタは前記
コンパレータにより制御され 前記読み出しポインタは
前記第2のカウンタにより制御されることを特徴とする
先入れ先出し記憶装置であも
作用
本発明は前記した構成により、連続するnワードの同一
データに対して、前記データlワードとそのワード数n
を記憶することができ、また前記データを読み出す際に
はそのワード数nにより、nワードのデータを読み出す
ことができも したがって、連続した同一データが書き
込まれる場合には記憶域を節減して動作できも
実施例
第1図は本発明の一実施例における先入れ先出し記憶装
置の構成図を示すものであ4 20は書き込みポートと
読み出しポートを有し データを格納するデータフィー
ルド部と前記データの個数を格納するワード数フィール
ド部から成る2ポートの記憶要素であa データを書き
込む場合と読み出す場合のアドレスC友 それぞれ独
立に書き込みポインタ2と読み出しポインタ3により指
定されも 4は書き込まれるべき最新のデータを一時的
に保持する第1のラッチであり、この第1のラッチ4の
データと外部から入力されたデータとをコンパレータ5
が比較して一致している場合には一致検出信号を出力す
も 一致検出信号が第1のカウンタ6に入力されも 一
致検出信号が生成された場合に(よ 第1のカウンタ6
は連続して一致する回数をカウントすも 一致検出信号
のインバータ7を通したものが書き込みポインタ2の制
御入力と第1のラッチ4の制御入力として入力されも
読み出しポインタ3が指定しているアドレスにより、次
に読み出されるべきデータにおいて、記憶要素20のデ
ータフィールド部から第2のラッチ8ヘ ワード数フィ
ールド部から第2のカウンタ9へそれぞれ写される。第
2のカウンタ9は読み出し要求信号CLKによりディク
リメントされ カウント値がOになったときO検出信号
が読み出しポインタ3と第2のラッチ8に入力される。DETAILED DESCRIPTION OF THE INVENTION Field of the Invention The present invention relates to a first-in, first-out storage device used as a buffer memory during data transfer between multiple processors or between multiple buses. An example of the configuration of a conventional first-in first-out storage device is shown in FIG. 10 (Friend) A two-port storage element with a write port and a read port, a write pointer consisting of a counter that increases by LIHll,
A write address for writing data to the storage element IO is generated. 12j & write pointer 1
A read pointer consisting of a counter similar to 1,
Generates a read address when reading data from storage element 1O Write pointer 1 ■ Friend storage element 10
The read pointer 12 is incremented every time a write operation is performed, and even if the address to which data should be written next is specified, the read pointer 12 is also incremented every time a read operation is performed, and the next data to be read is stored. Even if an address is specified, the write pointer 11 and the read pointer 12 match in the initial state where no valid data is stored in the storage element 10, and when data is stored, the write pointer 11 becomes more than the read pointer 12. If the write pointer 11 and the read pointer 12 match after the write operation, the storage element 10 is filled with valid data.With the above configuration, the data written first is written first. However, even if a first-in, first-out storage device capable of reading data is realized, the problem to be solved by the invention is that the above configuration does not solve the problem. In view of this point, an object of the present invention is to provide a first-in, first-out storage device that can store data in a storage area of n words or less when storing n consecutive words of the same data. Means for Solving the Problems The present invention GEL A storage element having two ports for writing and reading and consisting of a plurality of words having a data field section for storing data and a word number field section for storing the number of pieces of data. a write pointer that indicates a write address; a read pointer that indicates a read address; a first latch that temporarily holds input data; a comparator that compares input data with data in the first latch; a first counter that is counted by a match detection signal generated when the input data from the first latch matches the first latch; and a second latch that holds the data read from the data field section of the storage element. and a second counter whose initial value is set to the value read from the word number field of the storage element, the write pointer being controlled by the comparator, and the read pointer being controlled by the second counter. The present invention is also applicable to a first-in, first-out storage device characterized in that, with the above-described configuration, for n consecutive words of the same data, the data l word and the number of words n are
can be stored, and when reading the data, it is possible to read n words of data depending on the number of words n. Therefore, when the same continuous data is written, the storage area is saved. Embodiment 1 FIG. 1 shows a configuration diagram of a first-in first-out storage device according to an embodiment of the present invention. 4 20 has a write port and a read port; a data field section for storing data; and a data field section for storing data; It is a two-port storage element consisting of a field for the number of words to be stored.A address for writing and reading data is specified independently by write pointer 2 and read pointer 3.4 indicates the latest data to be written. This is a first latch that is temporarily held, and the data of this first latch 4 and the data input from the outside are connected to a comparator 5.
When the match detection signal is input to the first counter 6, a match detection signal is output (if the match detection signal is input to the first counter 6).
counts the number of consecutive matches.The match detection signal passed through the inverter 7 is input as the control input of the write pointer 2 and the first latch 4.
According to the address specified by the read pointer 3, the data to be read next is copied from the data field section of the storage element 20 to the second latch 8 and from the word number field section to the second counter 9, respectively. The second counter 9 is decremented by the read request signal CLK, and when the count value reaches O, an O detection signal is input to the read pointer 3 and the second latch 8.
第2のラッチ8は0検出信号が与えられるまでデータを
保持し 要求信号CLKによりデータを外部に出力すも
以上のように構成された本実施例の先入れ先出し記憶装
置の動作について説明すも
第3図法 第1図に示した構成における動作を示す概略
図であり、 3つのステップよりなも まず始め番へ
記憶要素20にデータが格納されていない初期状態で
は書き込みポインタ2と読み出しポインタ3は同じアド
レスを指定していも そこで、数ワードのデータが書き
込まれた後で(上 書き込みポインタ2が読み出しポイ
ンタ3よりも先行した状態とな翫 第3図(a)に示す
ステップ1で(友 ん ん B、 B、 B、
Cの6ワードのデータがこの順番で書き込まれた後の状
態を示していaすなわ板 書き込みポインタ2はデータ
Bが書き込まれた次のワードのアドレスを指定しており
、読み出しポインタ3は最初に書き込まれたデータAが
格納されているアドレスを指定していも また 第1の
ラッチ4は最新のデータCを保持しており、第1のカウ
ンタ6は最新データCのカウント値1を保持していも
更凶 第2のラッチ8には次に読み出されるべきデータ
Aが保持されており、第2のカウンタ9にはデータAの
ワード数2が保持されていも
ここで第3図(b)に示すステップ2でill デー
タを読み出すとAが読み出され 第2のラッチ8にはデ
ータAが保持されたままであり、第20カウンタ9はデ
ィクリメントされ1を保持していも更にデータCを書き
込むと第1のラッチ4は変化しない力(第1のカウンタ
6はインクリメントされ2を保持すも このとき書き込
みポインタ2も読み出しポインタ3も変化しな(〜
続いて第3図(C)に示すステップ3で(友 データを
読み出すとAが読み出され 第2のラッチ8には次に読
み出されるべきデータBが保持され 第2のカウンタ9
にはデータBのワード数3が保持されも 更にデータD
を書き込むと、第1のラッチ4に保持されていたデータ
Cとは異なるたへデータCとそのワード数2が記憶要素
20に書き込みポインタ2で指定されたアドレスに書き
込まれ 第1のラッチ4には最新のデータDが格納され
第1のカウンタ6にはlが設定されも ここで書き込
みポインタ2も読み出しポインタ3もインクリメントさ
れており、次のワードのアドレスを指定していも
したがってnワードの同一データを連続して書き込む場
合く nワード以下の記憶域で済む先入れ先出し記憶装
置を提供することが可能とな本発明の詳細
な説明したようく 本発明によれIL 同一データが
連続して大量に書き込まれる場合でk 実際のデータよ
りも少ないワード数の記憶容量で正常動作を行う先入れ
先出し記憶装置を実現することができ、その実用的効果
は大きI、%The second latch 8 holds the data until the 0 detection signal is applied, and outputs the data to the outside in response to the request signal CLK. Diagram This is a schematic diagram showing the operation in the configuration shown in Figure 1, and there are three steps.
In the initial state, when no data is stored in the storage element 20, write pointer 2 and read pointer 3 specify the same address, but after several words of data have been written (above), write pointer 2 moves from read pointer 3 to In step 1 shown in Fig. 3 (a), (friend B, B, B,
This shows the state after 6 words of data of C have been written in this order. Even if the address where written data A is stored is specified, the first latch 4 holds the latest data C, and the first counter 6 holds the count value 1 of the latest data C. too
Even worse, the second latch 8 holds the data A to be read next, and the second counter 9 holds the number of words of data A, which is 2, as shown in FIG. 3(b). When ill data is read in step 2, A is read out, and data A is still held in the second latch 8, and even though the 20th counter 9 is decremented and holds 1, when data C is further written, data A remains in the second latch 8. The latch 4 of 1 is a force that does not change (the first counter 6 is incremented and holds 2, but at this time neither the write pointer 2 nor the read pointer 3 changes) (~ Subsequently, in step 3 shown in FIG. 3(C) (Friend) When data is read out, A is read out, and data B to be read out next is held in the second latch 8, and the second counter 9
holds the number of words of data B, 3, and further data D
When , data C, which is different from the data C held in the first latch 4, and its word count 2 are written to the storage element 20 at the address specified by the write pointer 2, and the data C is written to the first latch 4. Although the latest data D is stored and l is set in the first counter 6, both the write pointer 2 and the read pointer 3 are incremented. As described above, it is possible to provide a first-in-first-out storage device that requires a storage area of n words or less when data is written continuously. It is possible to realize a first-in, first-out storage device that operates normally with a storage capacity of fewer words than the actual data, and its practical effect is large I,%.
第1図は本発明の一実施例における先入れ先出し記憶装
置の構成は 第2図は従来の先入れ先出し記憶装置の構
成は 第3図は本発明の実施例における先入れ先出し記
憶装置の動作を説明する概略図であム
l、20・・・記憶要素 2・・・書き込みポイン久
3・・・読み出しポイン久 4・・・第1のラッチ、
5・・・コンバレー久 6・・・第1のカラン久 8・
・・第2のラッチ、9・・・第2のカウンタ。FIG. 1 shows the configuration of a first-in first-out storage device according to an embodiment of the present invention. FIG. 2 shows the configuration of a conventional first-in first-out storage device. FIG. 3 is a schematic diagram illustrating the operation of a first-in first-out storage device according to an embodiment of the present invention. Aml, 20...Memory element 2...Writing point Kyu
3... Readout point 4... First latch,
5... Combare Hisa 6... First Karan Hisa 8.
...Second latch, 9...Second counter.
Claims (1)
るデータフィールド部と前記データの個数を格納するワ
ード数フィールド部をもつ複数のワードから構成される
記憶要素と、書き込みアドレスを示す書き込みポインタ
と、読み出しアドレスを示す読み出しポインタと、入力
データを一時的に保持する第1のラッチと、入力データ
と前記第1のラッチのデータを比較するコンパレータと
、前記コンパレータからの前記入力データと前記第1の
ラッチが一致した時に発生する一致検出信号によりカウ
ントされる第1のカウンタと、前記記憶要素のデータフ
ィールド部より読み出されたデータを保持する第2のラ
ッチと前記記憶要素のワード数フィールド部より読み出
された値が初期値として設定される第2のカウンタとを
備え、前記書き込みポインタは前記コンパレータにより
制御され前記読み出しポインタは前記第2のカウンタに
より制御されることを特徴とする先入れ先出し記憶装置
。a storage element having two ports for writing and reading, and comprising a plurality of words having a data field section for storing data and a word number field section for storing the number of pieces of data; a write pointer indicating a write address; a read pointer indicating a read address; a first latch that temporarily holds input data; a comparator that compares the input data with data in the first latch; a first counter that is counted by a match detection signal generated when the latches match, a second latch that holds data read out from the data field section of the storage element, and a word count field section of the storage element. a second counter in which the read value is set as an initial value, the write pointer being controlled by the comparator, and the read pointer being controlled by the second counter. .
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1238537A JPH03100851A (en) | 1989-09-14 | 1989-09-14 | Fifo storage device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1238537A JPH03100851A (en) | 1989-09-14 | 1989-09-14 | Fifo storage device |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH03100851A true JPH03100851A (en) | 1991-04-25 |
Family
ID=17031725
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP1238537A Pending JPH03100851A (en) | 1989-09-14 | 1989-09-14 | Fifo storage device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH03100851A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2000079378A1 (en) * | 1999-06-22 | 2000-12-28 | Seiko Epson Corporation | First-in first-out storage device |
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 |
-
1989
- 1989-09-14 JP JP1238537A patent/JPH03100851A/en active Pending
Cited By (3)
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 |
WO2000079378A1 (en) * | 1999-06-22 | 2000-12-28 | Seiko Epson Corporation | First-in first-out storage device |
US6772280B1 (en) | 1999-06-22 | 2004-08-03 | Seiko Epson Corporation | First-in first-out storage device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4873666A (en) | Message FIFO buffer controller | |
US5251303A (en) | System for DMA block data transfer based on linked control blocks | |
US5594923A (en) | Direct memory access controller comprising a multi-word data register for high speed continuous data transfer | |
US4873667A (en) | FIFO buffer controller | |
US4969164A (en) | Programmable threshold detection logic for a digital storage buffer | |
JP3998314B2 (en) | First-in first-out storage | |
US6772280B1 (en) | First-in first-out storage device | |
JPH03100851A (en) | Fifo storage device | |
JP2000215154A (en) | Dma controller | |
JPS607529A (en) | Buffer memory device | |
JPH0222748A (en) | Non-volatile memory control circuit | |
JPH06187123A (en) | Data input/output device | |
US20050128834A1 (en) | Data transfer circuit having collision detection circuit | |
JPH01119823A (en) | First-in first-out storage device | |
JPH02189627A (en) | Access circuit for data memory | |
JPH04333950A (en) | Information processing system | |
KR950014159B1 (en) | Fifo register control method | |
JPS60221857A (en) | Microprocessor system | |
JPH04165529A (en) | Fifo memory control circuit | |
JPH01114961A (en) | Directory memory access controller | |
JPH0350300B2 (en) | ||
JPS62209792A (en) | Fifo circuit | |
JPH01173245A (en) | No-response detecting circuit | |
JPH0482077A (en) | Fifo memory | |
JPH0830434A (en) | Memory access controller |