JPH09185882A - First-in first-out memory device with different size of input output data and its method - Google Patents

First-in first-out memory device with different size of input output data and its method

Info

Publication number
JPH09185882A
JPH09185882A JP8288479A JP28847996A JPH09185882A JP H09185882 A JPH09185882 A JP H09185882A JP 8288479 A JP8288479 A JP 8288479A JP 28847996 A JP28847996 A JP 28847996A JP H09185882 A JPH09185882 A JP H09185882A
Authority
JP
Japan
Prior art keywords
data
pointer
size
input
output
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
JP8288479A
Other languages
Japanese (ja)
Inventor
Kiko Kin
起 弘 金
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics 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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of JPH09185882A publication Critical patent/JPH09185882A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • G06F5/10Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor having a sequence of storage locations each being individually accessible for both enqueue and dequeue operations, e.g. using random access memory
    • G06F5/12Means for monitoring the fill level; Means for resolving contention, i.e. conflicts between simultaneous enqueue and dequeue operations
    • G06F5/14Means for monitoring the fill level; Means for resolving contention, i.e. conflicts between simultaneous enqueue and dequeue operations for overflow or underflow handling, e.g. full or empty flags
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)
  • Read Only Memory (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide an output of data with a different size from that of input data by using a pointer so as to conduct write/read to/from an FIFO when the size of the input data for write and the size of data to be read differ from each other. SOLUTION: An input section 100 receives data DI corresponding to a mode control signal MOD and provides an output of a data string DBI. A generating section 400 generates a write pointer and a read pointer corresponding to the signal MOD and a buffer 200 is made up of a register block. When the size of data read and outputted is larger than the size of written input data, a write pointer with an incremental width set in advance and a read pointer with a larger incremental width than that of the write pointer are generated. In this case, the incremental width of the read pointer is larger than the incremental width of the write pointer by a ratio of the size of the input data to the size of the output data.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【発明の属する技術分野】本発明は、先入れ先出しメモ
リ装置に関し、特に、入力データの大きさと出力データ
の大きさを異にする先入れ先出しメモリ装置及びその方
法に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a first-in first-out memory device, and more particularly to a first-in first-out memory device in which the size of input data and the size of output data are different and a method thereof.

【0002】[0002]

【従来の技術】データ処理システムにおいて伝送される
データまたは外部システムからのデータをバッファリン
グし、一時的にホールドする必要がある。このような必
要はデータが受信されるとき、受信機が他の動作を行っ
ているか、或いは送信機と受信機のデータ伝送率が互い
に異なるために発生する。このような必要を解消するた
めに登場したものが先入れ先出しメモリ(First-In Firs
t-Out Memory:以下、「FIFO」と称する。)であ
る。前記FIFOは、一番先に入力されたデータを一番
先に出力し、一番後に入力されたデータを一番後に出力
する動作を行うが、このような動作は、RSラッチ或い
は読出し/書込みポインタによって制御されるのが一般
的である。
2. Description of the Related Art It is necessary to buffer and temporarily hold data transmitted in a data processing system or data from an external system. This need arises because the receiver is performing another operation when the data is received, or the data transfer rates of the transmitter and the receiver are different from each other. What has emerged to solve this need is first-in first-in memory
t-Out Memory: Hereinafter referred to as "FIFO". ). The FIFO outputs the first input data first and outputs the last input data last. The operation is performed by RS latch or read / write. It is generally controlled by a pointer.

【0003】図1は、FIFOのデータ入出力動作をR
Sラッチを用いて制御する従来技術に従うFIFO装置
の構成を示す図である。同図において、FIFO装置
は、入力データD0〜D3を貯蔵するための一連のレジ
スタと、前記一連のレジスタに入力データD0〜D3が
貯蔵されるように制御し、貯蔵されているデータQ0〜
Q3として出力する動作を制御する回路とを含んでい
る。前記制御回路は、各レジスタに対応する一連のRS
ラッチと、一連のRSラッチの動作を制御するコントロ
ールロジックとからなる。
FIG. 1 shows the data input / output operation of the FIFO by R
It is a figure which shows the structure of the FIFO device according to the prior art which controls using an S latch. In the figure, the FIFO device controls a series of registers for storing the input data D0 to D3 and the series of registers to store the input data D0 to D3, and stores the stored data Q0 to Q0.
And a circuit for controlling the operation output as Q3. The control circuit includes a series of RSs corresponding to the respective registers.
It consists of a latch and control logic that controls the operation of a series of RS latches.

【0004】図2は、FIFOのデータ入出力動作を読
出しポインタ及び書込みポインタを用いて制御する従来
技術に従うFIFO装置の構成を示す図である。同図に
おいて、入力データD(n)は、データ入力バッファを
通じてデュアルポートラムアレイに貯蔵され、デュアル
ポートラムに貯蔵されたデータは、データ出力バッファ
を通じてデータQ(n)として出力される。この際、デ
ータを貯蔵するデュアルポートラムアレイの領域は書込
みポインタによって指示され、読出しポインタによって
指示されるデュアルポートラムアレイの領域に貯蔵され
たデータが出力される。そして、フラグロジックは、デ
ュアルポートラムアレイにどれくらいデータが貯蔵され
ているかを、言い換えれば、デュアルポートラムアレイ
に何のデータも貯蔵されていない場合は、エンプティ
フラグを発生し、デュアルポートラムアレイの全ての領
域にデータが貯蔵されている場合は、フルフラグを発生
する。書込みコントロール及び読出しコントロールは、
それぞれ書込みイネーブル信号WENと読出しイネーブ
ル信号RENを入力し、また、フラグロジックからデュ
アルポートラムアレイの貯蔵状態を表すフラグを入力す
ることにより、書込みポインタ及び読出しポインタの動
作を制御する。
FIG. 2 is a diagram showing the structure of a FIFO device according to the prior art which controls the data input / output operation of the FIFO using a read pointer and a write pointer. In the figure, the input data D (n) is stored in the dual port RAM array through the data input buffer, and the data stored in the dual port RAM is output as data Q (n) through the data output buffer. At this time, the area of the dual port RAM array storing the data is designated by the write pointer, and the data stored in the area of the dual port RAM array designated by the read pointer is output. The flag logic then determines how much data is stored in the dual-port RAM array, or in other words, when the dual-port RAM array is not storing any data, the empty logic.
If a flag is generated and data is stored in all areas of the dual port RAM array, a full flag is generated. Write control and read control are
The write enable signal WEN and the read enable signal REN are input, respectively, and the flag indicating the storage state of the dual port RAM array is input from the flag logic to control the operation of the write pointer and the read pointer.

【0005】このように通常のデータ処理システムに適
用される従来技術に従うFIFO装置において、FIF
Oにデータを入力して書き込み、この書き込まれている
データを出力する動作は、RSラッチまたは書込み/読
出しポインタによって制御される。この場合、入力デー
タの大きさ(width)と出力データの大きさは互いに同一
である。しかし、入力データの大きさと出力データの大
きさが相違する場合は、このようなFIFO装置を適用
し得ないという問題点がある。例えば、CD−ROMデ
コーダにおいて、内部のデータ処理及び外部RAMとマ
イコンとのインタフェース遂行時、データ伝送は8ビッ
トで行われるが、ホストコンピュータとのインタフェー
ス遂行時、データ伝送は8ビットまたは16ビットで行
われるために、従来技術に従うFIFO装置をこのよう
なCD−ROMに適用する場合、円滑なデータの処理が
困難であるという問題点がある。
As described above, in the FIFO device according to the conventional technique applied to the ordinary data processing system,
The operation of inputting data to O to write it and outputting the written data is controlled by the RS latch or the write / read pointer. In this case, the size of the input data and the size of the output data are the same. However, when the input data size and the output data size are different, there is a problem that such a FIFO device cannot be applied. For example, in a CD-ROM decoder, data transmission is performed with 8 bits when performing internal data processing and interface between an external RAM and a microcomputer, but when performing interface with a host computer, data transmission is performed with 8 bits or 16 bits. Therefore, when the FIFO device according to the prior art is applied to such a CD-ROM, there is a problem that smooth data processing is difficult.

【0006】[0006]

【発明が解決しようとする課題】従って、本発明の目的
は、入力データの大きさと異なる大きさのデータを出力
するFIFO装置を提供することにある。本発明の他の
目的は、入力データの大きさが出力データの大きさより
大きい場合に適用し得るFIFO装置を提供することに
ある。
SUMMARY OF THE INVENTION Therefore, an object of the present invention is to provide a FIFO device which outputs data having a size different from that of input data. Another object of the present invention is to provide a FIFO device applicable when the size of input data is larger than the size of output data.

【0007】本発明のまた他の目的は、入力データの大
きさより出力データの大きさが大きい場合に適用し得る
FIFO装置を提供することにある。本発明の更に他の
目的は、FIFO装置において、入力データの大きさと
出力データの大きさが相違する場合、これに対応する書
込みポインタと読出しポインタを生成した後、この生成
されたポインタを用いて入出力データを処理する方法を
提供することにある。
Another object of the present invention is to provide a FIFO device applicable when the size of output data is larger than the size of input data. Still another object of the present invention is to use a generated pointer after generating a write pointer and a read pointer corresponding to the difference between the input data size and the output data size in the FIFO device. It is to provide a method of processing input / output data.

【0008】[0008]

【課題を解決するための手段】このような目的を達成す
るために、本発明に従うFIFO装置においては、書込
みのための入力データの大きさと読み出されて出力され
るデータの大きさが相違する場合、予め設定された増加
幅をもつ書込みポインタと、前記書込みポインタの増加
幅より大きかったり、あるいは小さかったりする読出し
ポインタを生成した後、前記生成された書込みポインタ
を用いて入力データを前記FIFOに書き込み、前記生
成された読出しポインタを用いて前記FIFOに書き込
まれている入力データを読み出して出力データとして出
力することを特徴とする。
In order to achieve such an object, in a FIFO device according to the present invention, the size of input data for writing differs from the size of data read and output. In this case, after generating a write pointer having a preset increment and a read pointer that is larger or smaller than the increment of the write pointer, input data is written to the FIFO using the generated write pointer. Writing is performed, and the input data written in the FIFO is read using the generated read pointer and output as output data.

【0009】本発明の第1動作によれば、FIFO装置
は、書込みのための入力データの大きさより読み出され
て出力されるデータの大きさが大きい場合、予め設定さ
れた増加幅をもつ書込みポインタと、前記書込みポイン
タの増加幅より大きい読出しポインタを生成する。この
際、前記読出しポインタの増加幅は、前記書込みポイン
タの増加幅より前記入力データの大きさと前記出力デー
タの大きさとの比に対応するだけ大きいことを特徴とす
る。
According to the first operation of the present invention, when the size of the data read and output is larger than the size of the input data for writing, the FIFO device writes with a preset increment width. A pointer and a read pointer larger than the increment of the write pointer are generated. At this time, the increase width of the read pointer is larger than the increase width of the write pointer by a ratio corresponding to the ratio of the size of the input data to the size of the output data.

【0010】本発明の第2動作によれば、FIFO装置
は、書込みのための入力データの大きさが読み出されて
出力されるデータの大きさより大きい場合、予め設定さ
れた増加幅をもつ書込みポインタと、前記書込みポイン
タの増加幅より小さい読出しポインタを生成する。この
際、書込みポインタの増加幅は、読出しポインタの増加
幅より入力データの大きさと出力データの大きさとの比
に対応するだけ大きいことを特徴とする。
According to the second operation of the present invention, when the size of the input data for writing is larger than the size of the data to be read and output, the FIFO device writes with a preset increment. A pointer and a read pointer smaller than the increment of the write pointer are generated. At this time, the increase width of the write pointer is larger than the increase width of the read pointer by a ratio corresponding to the ratio of the size of the input data to the size of the output data.

【0011】尚、本発明に従うFIFO装置において
は、入力データと出力データの大きさに従って決定され
る外部からのモード制御信号MODに対応して入力デー
タDIを、予め設定された大きさを有する多数のデータ
列DBIにして出力するデータ入力部と、前記モード制
御信号MODに対応する書込みポインタWptr及び読
出しポインタRptrを生成するポインタ生成部と、予
め設定された貯蔵領域とをもつ多数のレジスタブロック
とから構成され、前記データ入力部から出力される多数
のデータ列DBIを前記生成された書込みポインタWp
trの指す前記各レジスタブロックの貯蔵領域に同時に
書き込んだり、或いは、交代に書き込むバッファと、前
記読出しポインタRptrに対応して前記バッファの各
レジスタブロックに書き込まれているデータを同時に読
み出したり、或いは交代に読み出した後、前記モード制
御信号MODに対応する形態の出力データとして出力す
るデータ出力部と、前記書込みポインタWptr及び読
出しポインタRptrを用いて前記バッファに書き込ま
れているデータの量を示すエンプティフラグ又はフルフ
ラグを発生するフラグ発生部と、からなる。
In the FIFO device according to the present invention, the input data DI corresponding to the external mode control signal MOD, which is determined according to the sizes of the input data and the output data, has a predetermined size. A data input section for outputting as a data string DBI, a pointer generating section for generating a write pointer Wptr and a read pointer Rptr corresponding to the mode control signal MOD, and a large number of register blocks having a preset storage area. And a plurality of data strings DBI output from the data input unit are stored in the generated write pointer Wp.
A buffer that simultaneously writes or alternately writes to the storage area of each register block pointed by tr, and the data written in each register block of the buffer corresponding to the read pointer Rptr are read simultaneously or alternately. And an empty flag indicating the amount of data written in the buffer by using the write pointer Wptr and the read pointer Rptr, which are output as output data in a form corresponding to the mode control signal MOD. Or a flag generating section for generating a full flag.

【0012】[0012]

【発明の実施の形態】以下、本発明の好適な実施例を添
付図面を参照して詳細に説明する。なお、図面中、同一
の構成要素及び部分には、同一の参照符号及び番号を共
通に使用する。そして、本発明の説明において、関連し
た公知の機能又は構成に対する具体的な説明が、本発明
の要旨を不必要に不明瞭にすると判断される場合は、そ
の詳細な説明を省略するものとする。
Preferred embodiments of the present invention will be described below in detail with reference to the accompanying drawings. In the drawings, the same reference numerals and numbers are commonly used for the same components and parts. Further, in the description of the present invention, a detailed description of known functions and configurations incorporated herein will be omitted when it may make the subject matter of the present invention unnecessarily unclear. .

【0013】ここで用いられる用語を定義すると、次の
ようである。“D1”は、8ビットまたは16ビットの
大きさ(width)をもつ入力データを示し、“D0”は、
8ビットまたは16ビットの大きさをもつ出力データを
示す。“DB1”はバッファの入力データを示し、“D
B0”はバッファの出力データを示す。“MOD”は外
部から、例えば、中央処理装置(CPU)から提供され
るモード制御信号として、入力データと出力データの大
きさに従って変わることができる。“Wptr”は書込
みポインタを示し、このポインタの指すバッファの貯蔵
領域に入力データが書き込まれる。“Rptr”は読出
しポインタを示し、このポインタの指すバッファの貯蔵
領域に書き込まれているデータが出力される。“WE
N”は、外部から書込み動作のために提供される書込み
イネーブル信号を示し、“REN”は、読出し動作のた
めに提供される読出しイネーブル信号を示す。“フル
フラグ”は、バッファの全ての領域にデータが書き込ま
れていることを示し、“エンプティ フラグ”は、バッ
ファのどの領域にもデータが書き込まれていないことを
示す。そして、本発明では、入出力データの大きさが8
ビットまたは16ビットであると仮定して説明する。言
い換えれば、入力データと出力データの両方とも8ビッ
トである場合、入力データが8ビット、出力データが6
ビットである場合、入力データが16ビット、出力デー
タが8ビットである場合、入力データと出力データの両
方とも16ビットである場合を例に挙げて説明する。
The terms used herein are defined as follows. “D1” indicates input data having a width (width) of 8 bits or 16 bits, and “D0” is
The output data having a size of 8 bits or 16 bits is shown. "DB1" indicates the input data of the buffer and "D1"
"B0" indicates the output data of the buffer. "MOD" can be changed according to the size of the input data and the output data as a mode control signal provided from the outside, for example, from the central processing unit (CPU). "" Indicates a write pointer, and input data is written in the storage area of the buffer pointed to by this pointer. "Rptr" indicates a read pointer, and the data written in the storage area of the buffer pointed by this pointer is output. "WE
“N” indicates a write enable signal provided for a write operation from the outside, and “REN” indicates a read enable signal provided for a read operation.
The "flag" indicates that data is written in all areas of the buffer, and the "empty flag" indicates that no data is written in any area of the buffer. Data size is 8
It is assumed that the number of bits is 16 bits. In other words, if both the input data and the output data are 8 bits, the input data is 8 bits and the output data is 6 bits.
An example will be described in which the input data is 16 bits, the output data is 8 bits, the input data and the output data are both 16 bits.

【0014】図3を参照すると、本発明に従うFIFO
装置においては、データ入力部100と、バッファ20
0と、データ出力部300と、ポインタ及びフラグ生成
部400と、から構成される。データ入力部100は図
4に示す構成を有し、バッファ200は図5に示す構
成、データ出力部300は図6に示す構成、ポインタ及
びフラグ生成部400は図7に示す構成を有する。
Referring to FIG. 3, a FIFO according to the present invention.
In the device, the data input unit 100 and the buffer 20
0, a data output unit 300, and a pointer and flag generation unit 400. The data input unit 100 has the configuration shown in FIG. 4, the buffer 200 has the configuration shown in FIG. 5, the data output unit 300 has the configuration shown in FIG. 6, and the pointer and flag generation unit 400 has the configuration shown in FIG.

【0015】図4において、データ入力部100は、8
ビットまたは16ビットの大きさをもつ入力データDI
を一種の選択信号である入力モード制御信号IMODに
よってマルチプレキシングし、それぞれ8ビットの大き
さをもつデータ列としてのバッファ入力データDBIH
とDBILとして出力する。前記入力モード制御信号I
MODは、入力データの大きさに従って予めそのレベル
が決定される信号として、この信号に基づいてデータ入
力部100はその動作を行う。入力データの大きさが8
ビットである場合、データ入力部100は、入力データ
DI[0:7]をバッファ入力データDBIL[0:
7]及びDBIH[8:15]として出力する。これと
は異なり、入力データの大きさが16ビットである場合
は、データ入力部100は、入力データDI[0:7]
及びDI[8:15]をそれぞれバッファ入力データD
BIL[0:7]及びDBIH[8:15]として出力
する。
In FIG. 4, the data input section 100 has eight
Input data DI with size of 16 bits or 16 bits
Are multiplexed by an input mode control signal IMOD which is a kind of selection signal, and buffer input data DBIH as a data string each having a size of 8 bits.
And output as DBIL. The input mode control signal I
The MOD is a signal whose level is determined in advance according to the size of the input data, and the data input unit 100 performs its operation based on this signal. Input data size is 8
If it is a bit, the data input unit 100 converts the input data DI [0: 7] into the buffer input data DBIL [0:
7] and DBIH [8:15]. On the other hand, when the size of the input data is 16 bits, the data input unit 100 outputs the input data DI [0: 7].
And DI [8:15] are buffer input data D
Output as BIL [0: 7] and DBIH [8:15].

【0016】図5において、バッファ200は予め設定
された貯蔵領域、言い換えればそれぞれ4ビットの大き
さをもつレジスタブロック1(210)とレジスタブロ
ック2(220)とからなる。バッファ200は、デー
タ入力部100から出力されるバッファ入力データDB
Iを書込みポインタWptrの指すレジスタブロック2
10、220の領域に貯蔵する。入力データDIが8ビ
ットである場合、バッファ200はバッファ入力データ
DBIH[0:7]とDBIL[0:7]を書込みポイ
ンタWptrに従ってレジスタブロック1(210)と
レジスタブロック2(220)に交代に書き込む。例え
ば、バッファ入力データDBIが8ビットで8バイト入
力され、これらのデータがDBI0、DBI1、・・
・、DBI8であると仮定するとき、DBIHはDBI
0、DBI2、・・・、DBI8のデータ列であり、D
BILはDBI1、DBI3、・・・、DBI7のデー
タ列である。
In FIG. 5, the buffer 200 comprises a preset storage area, in other words, a register block 1 (210) and a register block 2 (220) each having a size of 4 bits. The buffer 200 is a buffer input data DB output from the data input unit 100.
Register block 2 pointed to by write pointer Wptr
Store in area 10, 220. When the input data DI is 8 bits, the buffer 200 alternates the buffer input data DBIH [0: 7] and DBIL [0: 7] to the register block 1 (210) and the register block 2 (220) according to the write pointer Wptr. Write. For example, the buffer input data DBI is 8 bits and 8 bytes are input, and these data are DBI0, DBI1, ...
, DBIH is DBI8, assuming DBI8
0, DBI2, ..., DBI8 data string, and D
BIL is a data string of DBI1, DBI3, ..., DBI7.

【0017】従って、レジスタブロック1(210)に
は8ビットで4バイトのDBIH(DBI0、DBI
2、DBI4、DBI6)が書き込まれ、レジスタブロ
ック2(220)には8ビットで4バイトのDBIL
(DBI1、DBI3、DBI5、DBI7)が書き込
まれる。これと異なって入力データDIが16ビットで
ある場合、バッファ200は、バッファ入力データDB
IH[8:15]とDBIL[0:7]を書込みポイン
タWptrに従ってレジスタブロック1(210)とレ
ジスタブロック2(220)に同時に書き込ませる。例
えば、バッファ入力データDBIが16ビットで8バイ
ト入力されると仮定するとき、レジスタブロック1(2
10)には、16ビットで4バイトのDBIH(DBI
0、DBI1、DBI2、DBI3)が書き込まれ、レ
ジスタブロック2(220)には、16ビットで4バイ
トのDBIL(DBI0、DBI1、DBI2、DBI
3)が書き込まれる。 図6において、データ出力部3
00は、読出しポインタRptrの指すレジスタブロッ
クの領域に書き込まれているデータをデータDB0とし
て読み出した後、出力モード制御信号OMODの示す大
きさに適した形態をもつ出力データDOH及びDOLと
して出力する。前記出力モード制御信号OMODは、出
力データの大きさが8ビットであるか、あるいは16ビ
ットであるかに従って予めそのレベルが決定される信号
である。この出力モード制御信号OMODが8ビットを
示す場合、データ出力部300は出力データDOL
[0:7]のみを出力し、16ビットを示す場合、デー
タ出力部300は、出力データDOL[0:7]及びD
OH[8:15]を出力する。
Therefore, the register block 1 (210) has an 8-bit 4-byte DBIH (DBI0, DBI0, DBIH).
2, DBI4, DBI6) are written to the register block 2 (220) and the 8-bit DBIL is 4 bytes.
(DBI1, DBI3, DBI5, DBI7) is written. On the other hand, if the input data DI is 16 bits, the buffer 200 is
IH [8:15] and DBIL [0: 7] are simultaneously written to the register block 1 (210) and the register block 2 (220) according to the write pointer Wptr. For example, assuming that the buffer input data DBI is 16 bits and 8 bytes are input, register block 1 (2
10) is a 16-bit 4-byte DBIH (DBIH
0, DBI1, DBI2, DBI3) are written to the register block 2 (220), and DBIL (DBI0, DBI1, DBI2, DBI) of 4 bytes of 16 bits is written.
3) is written. In FIG. 6, the data output unit 3
00 reads the data written in the area of the register block pointed by the read pointer Rptr as the data DB0, and then outputs it as the output data DOH and DOL having a form suitable for the size indicated by the output mode control signal OMOD. The output mode control signal OMOD is a signal whose level is determined in advance according to whether the size of the output data is 8 bits or 16 bits. When the output mode control signal OMOD indicates 8 bits, the data output unit 300 outputs the output data DOL.
When outputting only [0: 7] and indicating 16 bits, the data output unit 300 outputs the output data DOL [0: 7] and D.
OH [8:15] is output.

【0018】図7を参照すると、ポインタ及びフラグ生
成部400は、書込みポインタ生成部410と、読出し
ポインタ生成部420と、フラグ発生部430とからな
る。書込みポインタ生成部410は外部から印加される
書込みイネーブル信号WENと入力モード制御信号IM
ODを用いて、バッファ入力データDBIを書き込ませ
るバッファ200の貯蔵領域を指す書込みポインタWp
trを生成する。読出しポインタ生成部420は、外部
から印加される読出しイネーブル信号RENと出力モー
ド制御信号OMODを用いて、バッファ200に書き込
まれているデータ中、読み出すデータが貯蔵されている
領域を指す読出しポインタRptrを生成する。フラグ
発生部430は、書込みポインタWptrと読出しポイ
ンタRptrを用いて、バッファ200にどのくらいデ
ータが書き込まれているかを示すフル フラグ及びエン
プティ フラグを発生する。
Referring to FIG. 7, the pointer and flag generator 400 comprises a write pointer generator 410, a read pointer generator 420, and a flag generator 430. The write pointer generator 410 receives a write enable signal WEN and an input mode control signal IM applied from the outside.
A write pointer Wp that points to a storage area of the buffer 200 for writing the buffer input data DBI using OD
generate tr. The read pointer generation unit 420 uses the read enable signal REN and the output mode control signal OMOD applied from the outside to set a read pointer Rptr that points to an area in the data written in the buffer 200, in which the data to be read is stored. To generate. The flag generation unit 430 uses the write pointer Wptr and the read pointer Rptr to generate a full flag and an empty flag indicating how much data is written in the buffer 200.

【0019】図3乃至図7に示すように構成される本発
明に従うFIFO装置が入力データの大きさと異なる大
きさの出力データを出力する動作を説明する。まず、入
力データの大きさが8ビット、出力データの大きさが1
6ビットである場合、即ち、入力データの大きさより出
力データの大きさが大きい場合、本発明に従うFIFO
装置が遂行する動作を図8を参照して説明する。
The operation of the FIFO device according to the present invention constructed as shown in FIGS. 3 to 7 for outputting output data having a size different from the size of input data will be described. First, the size of input data is 8 bits, and the size of output data is 1
If it is 6 bits, that is, if the size of the output data is larger than the size of the input data, the FIFO according to the present invention.
Operations performed by the apparatus will be described with reference to FIG.

【0020】書込み対象である入力データの大きさより
読出し対象である出力データの大きさが一層大きいほ
ど、書込みポインタWptrの増加幅より読出しポイン
タRptrの増加幅がより大きくなるようにする。書込
みポインタWptrの増加幅と読出しポインタRptr
の増加幅との差は入力データの大きさと出力データの大
きさとの比に該当する。初期にバッファ200に何のデ
ータも書き込まないと、図8(A)に示すように、書込
みポインタWptrと読出しポインタRptrは、バッ
ファ200のアドレス“000”を指す。このような状
態で書込みイネーブル信号WENが印加されると、書込
みポインタ生成部410は書込みポインタWptrを生
成する。図8(B)において、書込みポインタWptr
はアドレス“011”を指す。このとき、読出しイネー
ブル信号RENが印加されると、読出しポインタ生成部
420も読出しポインタRptrを生成する。これによ
り、バッファ200にはデータが書き込まれ、書き込ま
れたデータは読み出される。図8(B)に示すような状
態で、データが書き込まれて読み出されると、一定時間
(ポインタを3段階増加)以後に書込みポインタWpt
rはアドレス“110”を指し、読出しポインタRpt
rはアドレス“100”を指す。この際、書込みポイン
タWptr及び読出しポインタRptrの値は、必ずア
ドレス“110”とアドレス“100”を指すのではな
く、アドレス“101”とアドレス“100”を指すこ
ともある。
As the output data to be read is larger than the input data to be written, the read pointer Rptr is increased more than the write pointer Wptr is increased. Increasing width of write pointer Wptr and read pointer Rptr
The difference between the increase width and the increase width corresponds to the ratio between the size of the input data and the size of the output data. If no data is written to the buffer 200 in the initial stage, the write pointer Wptr and the read pointer Rptr point to the address “000” of the buffer 200, as shown in FIG. When the write enable signal WEN is applied in such a state, the write pointer generation unit 410 generates the write pointer Wptr. In FIG. 8B, the write pointer Wptr
Indicates the address “011”. At this time, when the read enable signal REN is applied, the read pointer generator 420 also generates the read pointer Rptr. As a result, the data is written in the buffer 200 and the written data is read out. When data is written and read in the state as shown in FIG. 8B, the write pointer Wpt after a certain time (the pointer is increased by 3 steps).
r indicates the address “110”, and the read pointer Rpt
r indicates the address “100”. At this time, the values of the write pointer Wptr and the read pointer Rptr do not always indicate the address “110” and the address “100”, but may indicate the address “101” and the address “100”.

【0021】図8(C)に示すように、データの書込み
と読出し動作を同時に遂行してから、図8(D)に示す
ように、読出しポインタRptrに比べて書込みポイン
タWptrが先にアドレス“010”を指した状態で、
読出しポインタRptrがアドレス“010”を指すと
(図8(A))、フラグ発生部430は、エンプティフ
ラグを発生する。フラグ発生部430は、書込みポイン
タWptrがアドレス“011”を指し、読出しポイン
タRptrがアドレス“010”を指す場合(図8
(B))にもエンプティ フラグを発生する。なぜなら
ば、後者の場合に書き込まれているデータは1バイトで
あるが、読み出されるデータは2バイトであるからであ
る。即ち、8ビットで書き込む全体バイト数は偶数でな
ければならない。図8(C)に示すように、データの書
込みと読出し動作を同時に行い、図8(E)に示すよう
に書込みポインタWptrに比べて読出しポインタRp
trが先にアドレス“110”を指した状態で、書込み
ポインタWptrもアドレス“100”を指すと、フラ
グ発生部430はフル フラグを発生する。なぜなら、
バッファ200の全ての領域にデータが書き込まれてい
るからである。 要するに、書込みポインタWptrの
増加幅より読出しポインタRptrの増加幅がより大き
くなるようにすることにより、入力データの大きさより
大きい大きさのデータを出力することができる。
As shown in FIG. 8C, after the data write and read operations are simultaneously performed, as shown in FIG. 8D, the write pointer Wptr is preceded by the write pointer Wptr as compared with the read pointer Rptr. With 010 "pointing,
When the read pointer Rptr points to the address “010” (FIG. 8A), the flag generation unit 430 generates an empty flag. When the write pointer Wptr points to the address “011” and the read pointer Rptr points to the address “010”, the flag generation unit 430 (FIG. 8).
(B)) also generates an empty flag. This is because, in the latter case, the written data is 1 byte, but the read data is 2 bytes. That is, the total number of bytes written in 8 bits must be an even number. As shown in FIG. 8C, data write and read operations are simultaneously performed, and as shown in FIG. 8E, the read pointer Rp is larger than the write pointer Wptr.
When the write pointer Wptr also points to the address "100" while tr points to the address "110" first, the flag generator 430 generates a full flag. Because
This is because the data is written in all the areas of the buffer 200. In short, by making the increase width of the read pointer Rptr larger than the increase width of the write pointer Wptr, it is possible to output data having a size larger than the size of the input data.

【0022】次に、入力データの大きさが16ビット、
出力データの大きさが8ビットである場合、即ち、入力
データの大きさが出力データの大きさより大きい場合本
発明に従うFIFO装置が遂行する動作を図9を参照し
て説明する 書込み対象である入力データの大きさが読出し対象であ
る出力データの大きさより一層大きいので、書込みポイ
ンタWptrの増加幅が読出しポインタRptrの増加
幅より一層大きくなるようにする。書込みポインタWp
trの増加幅と読出しポインタRptrの増加幅との差
は、入力データの大きさと出力データの大きさとの比に
該当する。初期に、バッファ200に何のデータも書き
込まないと、図9(A)に示すように、書込みポインタ
Wptr及び読出しポインタRptrはバッファ200
のアドレス“000”を指す。このような状態で、書込
みイネーブル信号WENが印加されると、書込みポイン
タ生成部410は書込みポインタWptrを生成する。
図9(B)において、書込みポインタWptrはアドレ
ス“100”を指す。このとき、読出しイネーブル信号
RENが印加されると、読出しポインタ生成部420も
読出しポインタRptrを生成する。これに従い、バッ
ファ200にはデータが書き込まれ、この書き込まれた
データは読み出される。図9(B)に示すような状態
で、データが書き込まれて読み出されると、一定時間
(ポインタを1段階増加)以後に書込みポインタWpt
rはアドレス“110”を指し、読出しポインタRpt
rはアドレス“010”を指す。
Next, the size of the input data is 16 bits,
When the size of the output data is 8 bits, that is, when the size of the input data is larger than the size of the output data, the operation performed by the FIFO device according to the present invention will be described with reference to FIG. Since the size of the data is larger than the size of the output data to be read, the increase width of the write pointer Wptr is made larger than that of the read pointer Rptr. Write pointer Wp
The difference between the increment of tr and the increment of the read pointer Rptr corresponds to the ratio between the size of the input data and the size of the output data. If no data is written to the buffer 200 at the initial stage, the write pointer Wptr and the read pointer Rptr are set to the buffer 200 as shown in FIG.
Address "000". When the write enable signal WEN is applied in such a state, the write pointer generation unit 410 generates the write pointer Wptr.
In FIG. 9B, the write pointer Wptr points to the address “100”. At this time, when the read enable signal REN is applied, the read pointer generator 420 also generates the read pointer Rptr. Accordingly, data is written in the buffer 200 and the written data is read. When data is written and read in the state as shown in FIG. 9B, the write pointer Wpt is set after a certain time (the pointer is increased by one step).
r indicates the address “110”, and the read pointer Rpt
r indicates the address “010”.

【0023】図9(C)に示すように、データの書込み
と読出し動作を同時に遂行してから、図9(D)に示す
ように、書込みポインタWptrが先にアドレス“01
0”を指す。その後、読出しポインタRptrがアドレ
ス“010”を指すと、フラグ発生部430は、エンプ
ティ フラグを発生する。なぜならば、バッファ20の
全ての領域に書き込まれていたデータが読み出されたか
らである。図9(C)に示すように、データの書込みと
読出し動作を同時に遂行してから、図9(E)に示すよ
うに、読出しポインタRptrが先にアドレス“10
0”を指す。その後、書込みポインタWptrがアドレ
ス“100”を指すと、フラグ発生部430は、フル
フラグを発生する。尚、フラグ発生部430は、読出し
ポインタRptrがアドレス“010”を指す場合は勿
論、ポインタ値を3段階増加させてアドレス“101”
を指す場合にもフル フラグを発生する。なぜならば、
書込みポインタWptrの指すバッファ200の領域が
読出しポインタRptrの指す領域よりたとえ1バイト
小さくても、これをバッファ200のフルと判定しなけ
れば、1バイトのデータを消失するからである。
As shown in FIG. 9C, the data write and read operations are simultaneously performed, and then the write pointer Wptr is moved to the address "01" as shown in FIG. 9D.
After that, when the read pointer Rptr points to the address “010”, the flag generator 430 generates an empty flag because the data written in all areas of the buffer 20 is read. After the data write and read operations are simultaneously performed as shown in FIG. 9C, the read pointer Rptr is first moved to the address "10" as shown in FIG.
0 ”. After that, when the write pointer Wptr points to the address“ 100 ”, the flag generation unit 430 becomes full.
Generate a flag. The flag generation unit 430 increases the pointer value by three steps and the address "101" as a matter of course when the read pointer Rptr points to the address "010".
Will also generate a full flag. because,
This is because even if the area of the buffer 200 indicated by the write pointer Wptr is smaller than the area indicated by the read pointer Rptr by 1 byte, 1 byte of data is lost unless it is determined that the buffer 200 is full.

【0024】要するに、書込みポインタWptrの増加
幅が読出しポインタRptrの増加幅より一層大きくな
るようにすることにより、入力データの大きさより小さ
い大きさのデータを出力することができる。このような
本発明に基づく動作は、入力データの大きさと出力デー
タの大きさが同一である場合にも勿論適用することがで
きる。この場合、入力データの大きさと出力データの大
きさが全て8ビットであることもあり、入力データの大
きさと出力データの大きさが全て16ビットであること
もある。
In short, by making the increase width of the write pointer Wptr larger than the increase width of the read pointer Rptr, data having a size smaller than the size of the input data can be output. The operation according to the present invention can be applied to the case where the input data size and the output data size are the same. In this case, the size of the input data and the size of the output data may all be 8 bits, and the size of the input data and the size of the output data may all be 16 bits.

【0025】次に、このような動作を、入力データの大
きさと出力データの大きさが全て8ビットである場合を
示す図10を参照して説明する。書込み対象である入力
データの大きさと読出し対象である出力データの大きさ
が同一なので、書込みポインタWptrの増加幅と読出
しポインタRptrの増加幅は同一である。初期に、バ
ッファ200に何のデータも書き込まないと、図10
(A)に示すように、書込みポインタwptrと読出し
ポインタRptrはバッファ200のアドレス“00
0”を指す。このような状態で、書込みイネーブル信号
WENが印加されると、書込みポインタ生成部410
は、書込みポインタWptrを生成する。図10(B)
において、書込みポインタWptrはアドレス“01
1”を指す。この時、読出しイネーブル信号RENが印
加されると、読出しポインタ生成部420も読出しポイ
ンタRptrを生成する。これにより、バッファ200
にはデータが書き込まれ、この書き込まれたデータは読
み出される。図10(B)に示すような状態で、データ
が書き込まれて読み出されると、一定時間(ポインタを
2段階増加)以後に、書込みポインタWptrはアドレ
ス“101”を指し、読出しポインタRptrはアドレ
ス“011”を指す。図10(C)に示すように、デー
タの書込みと読出し動作を同時に遂行してから、図10
(D)に示すように、書込みポインタWptrが先にア
ドレス“001”を指す。その後、読出しポインタRp
trがアドレス“001”を指すと、フラグ発生部43
0は、エンプティ フラグを発生する。なぜならば、バ
ッファ200の全ての領域に書き込まれていたデータが
読み出されたからである。図10(C)に示すように、
データの書込み及び読出し動作を同時に遂行してから、
図10(E)に示すように、読出しポインタRptrが
アドレス“101”を指す。その後、書込みポインタW
ptrがアドレス“101”を指すと、フラグ発生部4
30は、フル フラグを発生する。
Next, such an operation will be described with reference to FIG. 10 showing a case where the size of input data and the size of output data are all 8 bits. Since the size of the input data to be written and the size of the output data to be read are the same, the increment of the write pointer Wptr and the increment of the read pointer Rptr are the same. If no data is written to the buffer 200 at the initial stage, the process shown in FIG.
As shown in (A), the write pointer wptr and the read pointer Rptr are stored at the address “00” of the buffer 200.
0 ”. When the write enable signal WEN is applied in such a state, the write pointer generation unit 410
Generates a write pointer Wptr. FIG. 10 (B)
, The write pointer Wptr has the address "01".
1 ”. At this time, when the read enable signal REN is applied, the read pointer generation unit 420 also generates the read pointer Rptr.
The data is written in and the written data is read out. When data is written and read in the state shown in FIG. 10B, the write pointer Wptr points to the address “101” and the read pointer Rptr to the address “101” after a certain time (the pointer is increased by two steps). 011 ". As shown in FIG. 10C, the data writing and reading operations are performed at the same time, and then the data shown in FIG.
As shown in (D), the write pointer Wptr points to the address "001" first. After that, the read pointer Rp
When tr points to the address “001”, the flag generator 43
0 generates an empty flag. This is because the data written in all areas of the buffer 200 has been read. As shown in FIG.
After simultaneously performing data write and read operations,
As shown in FIG. 10E, the read pointer Rptr points to the address “101”. After that, the write pointer W
When ptr points to the address “101”, the flag generator 4
30 generates a full flag.

【0026】要するに、書込みポインタWptrの増加
幅と読出しポインタRptrの増加幅を同一にすること
により、入力データの大きさと同じ大きさのデータを出
力することができる。一方、フラグ発生部430は、書
込みポインタWptrがアドレス“111”を指してか
らアドレス“000”を指す場合は“1”にセットさ
れ、読出しポインタRptrがアドレス“111”を指
してからアドレス“000”を指す場合は“0”にクリ
アされるフラグをもっているが、書込みポインタWpt
rの指すアドレスと読出しポインタRptrの指すアド
レスが同一である場合、フラグの状態が“0”であれ
ば、エンプティ フラグを発生し、書込みポインタWp
trの指すアドレスと読出しポインタRptrの指すア
ドレスが同一である場合、フラグの状態が“1”であれ
ば、フル フラグを発生する。
In short, by making the increase width of the write pointer Wptr and the increase width of the read pointer Rptr the same, it is possible to output data having the same size as the input data. On the other hand, the flag generator 430 is set to "1" when the write pointer Wptr points to the address "111" and then to the address "000", and the read pointer Rptr points to the address "111" and then to the address "000". If it indicates "", it has a flag that is cleared to "0", but the write pointer Wpt
When the address indicated by r and the address indicated by the read pointer Rptr are the same, if the flag state is "0", an empty flag is generated and the write pointer Wp is generated.
If the address pointed to by tr and the address pointed by read pointer Rptr are the same, and the flag state is "1", a full flag is generated.

【0027】以上のように、本発明に従う具体的な実施
例に関して説明してきたが、本発明における技術的な思
想を外れない範囲内では、多様な変形及び変化が可能で
あることは、当該技術分野における通常な知識を有する
者であれば、自明であろう。即ち、本発明では、入出力
データの大きさが8ビットまたは16ビットの場合のみ
を具体的に説明してきた。しかし、入出力データの大き
さが8ビット、16ビット、または32ビットの場合に
も本発明の適用が可能である。この場合、バッファを4
個のレジスタブロックで構成し、また、書込みポインタ
の増加幅と読出しポインタの増加幅との比を入出力デー
タの比に従って適切に選択することにより可能である。
従って、本発明の範囲が説明された実施例に限られては
不適当であり、特許請求の範囲だけではなく、その特許
請求の範囲と均等なものによって決められるべきであ
る。
Although the specific embodiments according to the present invention have been described above, various modifications and changes can be made without departing from the technical idea of the present invention. It will be obvious to anyone with ordinary knowledge in the field. That is, the present invention has specifically described only the case where the size of the input / output data is 8 bits or 16 bits. However, the present invention can be applied even when the size of input / output data is 8, 16 or 32 bits. In this case, 4 buffers
It is possible to configure by using the register blocks and to appropriately select the ratio between the increase width of the write pointer and the increase width of the read pointer according to the ratio of the input / output data.
Therefore, the scope of the present invention is not limited to the described embodiments, and should be determined not only by the scope of the claims but also by the equivalents of the claims.

【0028】[0028]

【発明の効果】以上述べてきたように、本発明に従う先
入れ先出しメモリ装置において、入力データを書き込む
領域を指す書込みポインタの増加幅と書き込まれている
データを読み出す領域を指す読出しポインタの増加幅を
異にすることにより、入力データの大きさと異なる大き
さのデータが出力できるという利点がある。
As described above, in the first-in first-out memory device according to the present invention, the increase width of the write pointer pointing to the area for writing the input data and the increase width of the read pointer pointing to the area for reading the written data are different. This has the advantage that data of a size different from the size of the input data can be output.

【図面の簡単な説明】[Brief description of the drawings]

【図1】先入れ先出しメモリのデータ入出力動作をRS
ラッチを用いて制御する従来技術に従う先入れ先出しメ
モリ装置の構成図である。
FIG. 1 shows the data input / output operation of the first-in first-out memory by RS.
FIG. 3 is a configuration diagram of a first-in first-out memory device according to a related art which is controlled by using a latch.

【図2】先入れ先出しメモリのデータ入出力動作を読出
し/書込みポインタを用いて制御する従来技術に従う先
入れ先出しメモリ装置の構成図である。
FIG. 2 is a block diagram of a first-in first-out memory device according to the prior art for controlling the data input / output operation of a first-in first-out memory using a read / write pointer.

【図3】本発明に従う先入れ先出しメモリ装置の構成図
である。
FIG. 3 is a block diagram of a first-in first-out memory device according to the present invention.

【図4】図3に示したデータ入力部の詳細構成図であ
る。
FIG. 4 is a detailed configuration diagram of a data input unit shown in FIG.

【図5】図3に示したバッファの詳細構成図である。5 is a detailed configuration diagram of the buffer shown in FIG.

【図6】図3に示したデータ出力部の詳細構成図であ
る。
FIG. 6 is a detailed configuration diagram of a data output unit shown in FIG.

【図7】図3に示したポインタ及びフラグ生成部の詳細
構成図である。
FIG. 7 is a detailed configuration diagram of a pointer and flag generation unit shown in FIG.

【図8】本発明の第1動作を説明するための図である。FIG. 8 is a diagram for explaining the first operation of the present invention.

【図9】本発明の第2動作を説明するための図である。FIG. 9 is a diagram for explaining the second operation of the present invention.

【図10】本発明の第3動作を説明するための図であ
る。
FIG. 10 is a diagram for explaining the third operation of the present invention.

【符号の説明】[Explanation of symbols]

100 データ入力部 200 バッファ 300 データ出力部 410 書込みポインタ生成部 420 読出しポインタ生成部 430 フラグ発生部 100 data input unit 200 buffer 300 data output unit 410 write pointer generation unit 420 read pointer generation unit 430 flag generation unit

Claims (15)

【特許請求の範囲】[Claims] 【請求項1】 入力データと出力データの大きさに従っ
て決定される外部からのモード制御信号に対応して入力
データを、予め設定された大きさを有する多数のデータ
列として出力するデータ入力手段と、 前記モード制御信号に対応する書込みポインタ及び読出
しポインタを生成するポインタ生成手段と、 予め設定された貯蔵領域をもつ多数のレジスタブロック
から構成され、前記データ入力手段から出力される多数
のデータ列を前記生成された書込みポインタの指す前記
各レジスタブロックの貯蔵領域に同時に書き込んだり、
或いは交代に書き込むバッファ手段と、 前記読出しポインタに対応して前記バッファ手段の各レ
ジスタブロックに書き込まれているデータを同時に読み
出したり、或いは交代に読み出した後、前記モード制御
信号に対応する形態の出力データとして出力するデータ
出力手段と、 前記書込みポインタ及び読出しポインタを用いて前記バ
ッファ手段に書き込まれているデータの量を示すフラグ
を発生するフラグ発生手段と、から構成されることを特
徴とする先入れ先出しメモリ装置。
1. Data input means for outputting input data as a large number of data strings having a preset size in response to an external mode control signal determined according to the sizes of input data and output data. Pointer generating means for generating a write pointer and a read pointer corresponding to the mode control signal, and a large number of data strings output from the data input means, which are composed of a large number of register blocks having preset storage areas. Writing to the storage area of each of the register blocks pointed to by the generated write pointer at the same time,
Alternatively, the buffer means for writing alternately and the data written in each register block of the buffer means corresponding to the read pointer are read at the same time, or alternately read out, and then output in the form corresponding to the mode control signal. First-in first-out, characterized in that it comprises data output means for outputting as data, and flag generation means for generating a flag indicating the amount of data written in the buffer means using the write pointer and the read pointer. Memory device.
【請求項2】 前記データ入力手段は、前記モード制御
信号が入力データの大きさより出力データの大きさが大
きいことを示す場合、前記入力データの大きさを有する
データ列を前記出力データの大きさと同一であるときま
で繰り返して出力することを特徴とする請求項1記載の
装置。
2. The data input means, when the mode control signal indicates that the size of the output data is larger than the size of the input data, sets the data string having the size of the input data as the size of the output data. 2. The apparatus according to claim 1, wherein the output is repeated until the same.
【請求項3】 前記ポインタ生成手段は、前記モード制
御信号に対応する増加幅をもつ書込みポインタを生成
し、前記生成された書込みポインタの増加幅より大きい
増加幅をもつ読出しポインタを生成することを特徴とす
る請求項2記載の装置。
3. The pointer generation means generates a write pointer having an increase width corresponding to the mode control signal, and generates a read pointer having an increase width larger than the increase width of the generated write pointer. The apparatus of claim 2 characterized.
【請求項4】 前記読出しポインタの増加幅は、前記書
込みポインタの増加幅より、前記入力データの大きさと
前記出力データの大きさとの比に対応するだけ大きいこ
とを特徴とする請求項3記載の装置。
4. The increase width of the read pointer is larger than the increase width of the write pointer by a ratio corresponding to the ratio of the size of the input data to the size of the output data. apparatus.
【請求項5】 前記バッファ手段は、前記入力データの
大きさと同一の貯蔵領域を有するレジスタブロックを多
数個もっており、前記生成された書込みポインタに対応
して前記各レジスタブロックに前記データ列を交代に書
き込むことを特徴とする請求項4載の装置。
5. The buffer means has a large number of register blocks having the same storage area as the size of the input data, and alternates the data string to each of the register blocks corresponding to the generated write pointer. The device according to claim 4, characterized in that
【請求項6】 前記データ出力手段は、前記読出しポイ
ンタに対応して前記バッファ手段の各レジスタブロック
に書き込まれているデータを交代に読み出した後、前記
モード制御信号に対応する形態の出力データとして出力
することを特徴とする請求項5記載の装置。
6. The data output means alternately reads the data written in each register block of the buffer means in correspondence with the read pointer, and then outputs the data as output data in a form corresponding to the mode control signal. The device according to claim 5, wherein the device outputs.
【請求項7】 前記データ入力手段は、前記モード制御
信号が入力データの大きさが出力データの大きさより大
きいことを示す場合、前記入力データを前記出力データ
の大きさを有する多数のデータ列に分割して出力するこ
とを特徴とする請求項1記載の装置。
7. The data input means, when the mode control signal indicates that the size of the input data is larger than the size of the output data, outputs the input data to a plurality of data strings having the size of the output data. The device according to claim 1, wherein the device is divided and outputted.
【請求項8】 前記ポインタ生成手段は、前記モード制
御信号に対応する増加幅をもつ書込みポインタを生成
し、前記生成された書込みポインタの増加幅より小さい
増加幅をもつ読出しポインタを生成することを特徴とす
る請求項7記載の装置。
8. The pointer generation means generates a write pointer having an increase width corresponding to the mode control signal, and generates a read pointer having an increase width smaller than the increase width of the generated write pointer. The device of claim 7 characterized.
【請求項9】 前記読出しポインタの増加幅は、前記書
込みポインタの増加幅より、前記入力データの大きさと
前記出力データの大きさとの比に該当するだけ小さいこ
とを特徴とする請求項8記載の装置。
9. The increase width of the read pointer is smaller than the increase width of the write pointer by an amount corresponding to a ratio of the size of the input data to the size of the output data. apparatus.
【請求項10】 前記バッファ手段は、前記出力データ
の大きさと同一の貯蔵領域を有するレジスタブロックを
多数個もっており、前記生成された書込みポインタに対
応して前記各レジスタブロックに前記データ列を同時に
書き込むことを特徴とする請求項9記載の装置。
10. The buffer means has a large number of register blocks having the same storage area as the size of the output data, and the data string is simultaneously stored in each of the register blocks corresponding to the generated write pointer. The device according to claim 9, wherein writing is performed.
【請求項11】 前記データ出力手段は、前記読出しポ
インタに対応して前記バッファ手段の各レジスタブロッ
クに書き込まれているデータを同時に読み出した後、前
記モード制御信号に対応する形態の出力データとして出
力することを特徴とする請求項10記載の装置。
11. The data output means simultaneously reads the data written in each register block of the buffer means in correspondence with the read pointer, and then outputs it as output data in a form corresponding to the mode control signal. The device according to claim 10, characterized in that
【請求項12】 書込みポインタ及び読出しポインタを
用いて先入れ先出しメモリへのデータの書込み/読出し
動作を行う先入れ先出しメモリ装置の入出力データ処理
方法において、 書込みのための入力データの大きさより読み出されて出
力されるデータの大きさが大きい場合、予め設定された
増加幅をもつ書込みポインタと、前記書込みポインタの
増加幅より大きい読出しポインタを生成するポインタ生
成過程と、 前記生成された書込みポインタを用いて入力データを前
記先入れ先出しメモリに書き込むデータ書込み過程と、 前記先入れ先出しメモリに書き込まれている入力データ
を前記生成された読出しポインタを用いて読み出して出
力データとして出力するデータ読出し過程と、からなる
ことを特徴とする入出力データ処理方法。
12. In an input / output data processing method of a first-in first-out memory device for writing / reading data to / from a first-in first-out memory by using a write pointer and a read pointer, the input data for writing is read out and output. If the size of the data to be stored is large, a write pointer having a preset increment, a pointer generation process for generating a read pointer larger than the increment of the write pointer, and input using the generated write pointer A data writing step of writing data in the first-in first-out memory, and a data reading step of reading out the input data written in the first-in first-out memory using the generated read pointer and outputting it as output data. Input / output data processing method.
【請求項13】 前記読出しポインタの増加幅は、前記
書込みポインタの増加幅より、前記入力データの大きさ
と前記出力データの大きさとの比に対応するだけ大きい
ことを特徴とする請求項11記載の方法。
13. The increase width of the read pointer is larger than the increase width of the write pointer by a ratio corresponding to the ratio of the size of the input data to the size of the output data. Method.
【請求項14】 書込みポインタ及び読出しポインタを
用いて先入れ先出しメモリへのデータの書込み/読出し
動作を行う先入れ先出しメモリ装置の入出力データ処理
方法において、 書込みのための入力データの大きさが読み出されて出力
されるデータの大きさより大きい場合、予め設定された
増加幅をもつ書込みポインタと前記書込みポインタの増
加幅より小さい読出しポインタを生成するポインタ生成
過程と、 前記生成された書込みポインタを用いて入力データを前
記先入れ先出しメモリに書き込むデータ書込み過程と、 前記先入れ先出しメモリに書き込まれている入力データ
を前記生成された読出しポインタを用いて読み出して出
力データとして出力するデータ読出し過程と、からなる
ことを特徴とする入出力データ処理方法。
14. In an input / output data processing method of a first-in first-out memory device for writing / reading data to / from a first-in first-out memory by using a write pointer and a read pointer, the size of input data for writing is read. A write pointer having a preset increment and a read pointer smaller than the increment of the write pointer when the output data is larger than the output data; and input data using the generated write pointer. In the first-in first-out memory, and a data reading step of reading out the input data written in the first-in first-out memory using the generated read pointer and outputting it as output data. Input / output data processing method.
【請求項15】 前記書込みポインタの増加幅は、前記
読出しポインタの増加幅より、前記入力データの大きさ
と前記出力データの大きさとの比に対応するだけ大きい
ことを特徴とする請求項14記載の方法。
15. The increase width of the write pointer is larger than the increase width of the read pointer by a ratio corresponding to the ratio of the size of the input data to the size of the output data. Method.
JP8288479A 1995-11-04 1996-10-30 First-in first-out memory device with different size of input output data and its method Pending JPH09185882A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1019950039808A KR970029070A (en) 1995-11-04 1995-11-04 First-in, first-out memory device with different size of input / output data and method
KR39808/1995 1995-11-04

Publications (1)

Publication Number Publication Date
JPH09185882A true JPH09185882A (en) 1997-07-15

Family

ID=19433014

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8288479A Pending JPH09185882A (en) 1995-11-04 1996-10-30 First-in first-out memory device with different size of input output data and its method

Country Status (4)

Country Link
JP (1) JPH09185882A (en)
KR (1) KR970029070A (en)
CN (1) CN1078720C (en)
GB (1) GB2307069B (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1449061A1 (en) * 2001-11-13 2004-08-25 Koninklijke Philips Electronics N.V. Efficient fifo communication using semaphores
CN102117193B (en) * 2010-01-04 2012-08-08 杭州华三通信技术有限公司 Method for implementing pre-read FIFO and pre-read FIFO
CN103345377A (en) * 2013-07-23 2013-10-09 盛科网络(苏州)有限公司 FIFO storer control method and device

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3478325A (en) * 1967-01-16 1969-11-11 Ibm Delay line data transfer apparatus
EP0071347A3 (en) * 1981-07-24 1984-04-04 Exxon Research And Engineering Company A process for sulfonation of aromatic-containing polymers
US4750149A (en) * 1986-07-03 1988-06-07 Integrated Device Technology, Inc. Programmable FIFO buffer
DE68926833T2 (en) * 1988-05-09 1997-02-20 Sgs Thomson Microelectronics Flag for a FIFO
US5469398A (en) * 1991-09-10 1995-11-21 Silicon Systems, Inc. Selectable width, brustable FIFO
US5673396A (en) * 1994-12-16 1997-09-30 Motorola, Inc. Adjustable depth/width FIFO buffer for variable width data transfers

Also Published As

Publication number Publication date
KR970029070A (en) 1997-06-26
CN1078720C (en) 2002-01-30
GB2307069A (en) 1997-05-14
GB9622946D0 (en) 1997-01-08
GB2307069B (en) 1998-11-04
CN1154511A (en) 1997-07-16

Similar Documents

Publication Publication Date Title
US5778255A (en) Method and system in a data processing system for decompressing multiple compressed bytes in a single machine cycle
AU593315B2 (en) Input/output control cicuitry for a data communications controller
CN1050212C (en) First-in first-out buffer memory
JPH07312078A (en) System for conversion of serial ram-based fifo memory into parallel one and of parallel one into serial one
US5151999A (en) Serial communications controller for transfer of successive data frames with storage of supplemental data and word counts
US5062073A (en) Input output control system using a fifo to record access information of control registers by a master device
US7412546B2 (en) System method structure in network processor that indicates last data buffer of frame packet by last flag bit that is either in first or second position
JP2002544585A (en) FIFO system with variable width interface to host processor
JPH09185882A (en) First-in first-out memory device with different size of input output data and its method
JP2001298494A (en) Controller and method for controlling interface with data link
JP2001118378A (en) Fifo storage device and fifo control method
US6011871A (en) Method and apparatus for compressing digital data
JPH0479422A (en) Transmission control circuit
JP3304395B2 (en) Data transfer device and data transfer method
US6865654B2 (en) Device for interfacing asynchronous data using first-in-first-out
JPH06266612A (en) Dma controller
KR100339200B1 (en) Apparatus and method using dynamic buffer handling for processing message
JP2002050172A (en) Fifo control circuit
JPH05298179A (en) Memory control system
JPH0721102A (en) Message transmitter/receiver
JP2689490B2 (en) Receive buffer controller
JPS6379439A (en) Serial communication equipment
JP2672497B2 (en) Data processing device
JPH06295283A (en) Computer system
JP2000200173A (en) Data compression circuit