JPH0512853A - First in first out storage device - Google Patents

First in first out storage device

Info

Publication number
JPH0512853A
JPH0512853A JP3060119A JP6011991A JPH0512853A JP H0512853 A JPH0512853 A JP H0512853A JP 3060119 A JP3060119 A JP 3060119A JP 6011991 A JP6011991 A JP 6011991A JP H0512853 A JPH0512853 A JP H0512853A
Authority
JP
Japan
Prior art keywords
memory cell
data
input
pointer
address
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
JP3060119A
Other languages
Japanese (ja)
Inventor
Satoshi Itsukida
諭 五木田
Junji Nishikawa
順二 西川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP3060119A priority Critical patent/JPH0512853A/en
Publication of JPH0512853A publication Critical patent/JPH0512853A/en
Pending legal-status Critical Current

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

PURPOSE:To transfer data to many directions with one memory. CONSTITUTION:By a write request and a read request from a first and a second input/output port A105, B106, the first and the second write pointer A107, B109 and the first and the second read pointer A108, B110, which generate write pointers and read pointers respectively, are provided. A direction data part in which information on the transfer direction of data is stored, a valid bit part in which information on the data existance of the same address is stored, and the pointer part are provided; and an association memory cell 113 by which the address of the data, in which the value of the direction data part and that of the valid bit part coincide and also the value of the pointer part and that of the read pointer part coincide, is outputted to the memory cell 117 is provided. A dead number setting counter 111 by which dead numbers are set in the pointer part of the association memory 113, a dead address retrieval number counter 112 in order to find dead numbers, and a selector 118 to decide to which input/output port, A105 or B106, the outputted data of the memory cell 17 is outputted in accordance to the value of the direction data part are provided.

Description

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

【0001】[0001]

【産業上の利用分野】本発明は、一時的にデータを蓄え
るための記憶装置に係り、特に、書き込まれた順に読み
出しが行なわれる先入れ先出し記憶装置に関するもので
ある。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a storage device for temporarily storing data, and more particularly to a first-in first-out storage device in which reading is performed in the order in which data is written.

【0002】[0002]

【従来の技術】一般に、先入れ先出し記憶装置、すなわ
ち、FIFO(First In First Out)メモリは、外部信
号列が入力された順に一時的に保存され、出力が入力さ
れた順に成されるメモリであり、動作速度のことなるブ
ロック間で、データを一時的に蓄えておくデータバッフ
ァとして使用される。このFIFOメモリの実現方法に
は次の2つがある。第一の方法はシフトレジスタ型とよ
ばれるもので、書き込まれたデータは次段が空であれば
そこへ落ちる構成である。一方、第2の方法はダイレク
トフォール型と呼ばれ、ランダムアクセスメモリ(以
下、RAMと略す。)とアドレスポインタとで構成され
ている。
2. Description of the Related Art Generally, a first-in first-out storage device, that is, a FIFO (First In First Out) memory is a memory that is temporarily stored in the order in which an external signal sequence is input and is formed in the order in which an output is input. It is used as a data buffer that temporarily stores data between blocks with different operating speeds. There are the following two methods for realizing this FIFO memory. The first method is called the shift register type, and the written data is written to the next stage if it is empty. On the other hand, the second method is called a direct fall type and is composed of a random access memory (hereinafter abbreviated as RAM) and an address pointer.

【0003】上記第2の方法で構成されたFIFOメモ
リにおいては、入力ポートから入力されたデータは一時
的にメモリ内に蓄えられた後、出力ポートに出力され
る。従って、このFIFOメモリを双方向のデータ転送
システムに応用する場合、図2に示すような構成をとら
ざるを得ない。すなわち、このデータ転送システムにお
いて、第一のCPU31から第二のCPU32へのデー
タ転送は、第一のCPU31がFIFOメモリ33にデ
ータを書き込み、第二のCPU32がFIFOメモリ3
3からデータを読み出すことによって実現され、反対
に、第二のCPU32から第一のCPU31へのデータ
転送は、第二のCPU32がFIFOメモリ34にデー
タを書き込み、第一のCPU31がFIFOメモリ34
からデータを読み出すことによって実現されていた。
In the FIFO memory constructed by the second method, the data input from the input port is temporarily stored in the memory and then output to the output port. Therefore, when this FIFO memory is applied to a bidirectional data transfer system, the structure shown in FIG. 2 must be adopted. That is, in this data transfer system, in the data transfer from the first CPU 31 to the second CPU 32, the first CPU 31 writes data in the FIFO memory 33 and the second CPU 32 writes in the FIFO memory 3.
Data transfer from the second CPU 32 to the first CPU 31 is performed by the second CPU 32 writing data to the FIFO memory 34, and the first CPU 31 is transferred to the FIFO memory 34.
It was realized by reading the data from.

【0004】また、複数個のCPUが存在する場合のデ
ータ転送システムは、図3に示すような構成となる。す
なわち、各CPU41〜4nとデータバス61との間に
はCPU41〜4nの個数分に対応した数のFIFOメ
モリ51〜5nが必要となっていた。
A data transfer system having a plurality of CPUs has a structure as shown in FIG. That is, between the CPUs 41 to 4n and the data bus 61, the FIFO memories 51 to 5n corresponding to the number of the CPUs 41 to 4n are required.

【0005】[0005]

【発明が解決しようとする課題】しかしながら、従来の
FIFOメモリのデータ転送方向は単一に限られていた
ので、双方向のデータ転送を行なう場合はデータの転送
を行なう2つのブロック間を接続するデータバスに並列
に2つのFIFOメモリ33,34を挿入するように構
成せねばならず、システム構成が大きくなり、複雑化す
るという欠点があった。
However, since the data transfer direction of the conventional FIFO memory is limited to a single direction, when two-way data transfer is performed, two blocks for data transfer are connected. The two FIFO memories 33 and 34 must be inserted in parallel to the data bus, which has a drawback that the system configuration becomes large and complicated.

【0006】また、同様にN個のブロック間でデータの
やりとりをする場合には、データの転送を行なうN個の
ブロック間を接続するデータバス61に並列にN個のF
IFOメモリ51〜5nを挿入するように構成せねばな
らず、さらにシステム構成が大きくなり、複雑化すると
いう欠点があった。また、複数個のFIFOメモリ51
〜5nはそれぞれに独立に機能するので、各FIFOメ
モリ51〜5n内の記憶領域の使用効率も低下してい
た。
Similarly, in the case of exchanging data between N blocks, N F blocks are connected in parallel to the data bus 61 connecting the N blocks for transferring data.
The IFO memories 51 to 5n had to be inserted, and the system configuration became large and complicated. In addition, a plurality of FIFO memories 51
.About.5n function independently of each other, the use efficiency of the storage area in each of the FIFO memories 51 to 5n is also reduced.

【0007】本発明は、斯かる点に鑑みてなされたもの
で、一つのメモリでもって多方向にデータ転送すること
ができるようにした先入れ先出し記憶装置を提供するこ
とを目的とする。
The present invention has been made in view of the above problems, and an object of the present invention is to provide a first-in first-out storage device capable of multidirectional data transfer with a single memory.

【0008】[0008]

【課題を解決するための手段】上記の目的を達成するた
めに、本発明が講じた手段は、ポート毎にポインタを設
けると共に、該ポインタの管理を連想メモリにデータを
入れて行うようにしたものである。
In order to achieve the above object, the means taken by the present invention is to provide a pointer for each port and manage the pointer by putting data in an associative memory. It is a thing.

【0009】具体的に、請求項1に係る発明が講じた手
段は、先ず、第一の入出力ポート及び第二の入出力ポー
トと、ランダムアクセス可能なメモリセルとが設けられ
ている。そして、前記第一の入出力ポート及び第二の入
出力ポートからの書き込み要求により書き込みポインタ
を生成する第一の書き込みポインタ及び第二の書き込み
ポインタと、前記第一の入出力ポート及び第二の入出力
ポートからの読み出し要求により読み出しポインタを生
成する第一の読み出しポインタ及び第二の読み出しポイ
ンタとが、前記第一の入出力ポート及び第二の入出力ポ
ートに対応してそれぞれ設けられている。更に、1ワー
ドが、前記メモリセルと同一アドレスのデータの転送方
向を示す情報を格納する方向データ部と、前記メモリセ
ルと同一アドレスにデータが存在するかどうかを示す情
報を格納するバリッドビット部と、初期値がアドレスと
同じ値に設定されているポインタ部とからなり、前記方
向データ部及びバリッドビット部にそれぞれ与えられる
値と一致し、かつ、書き込みポインタの値が書き込まれ
ていたポインタ部の値と読みだしポインタの値とが一致
しているデータを検索し、当該データのアドレスをメモ
リセルへのアドレスとして出力する連想メモリセルが設
けられている。加えて、前記メモリセルからデータが読
まれた時、前記連想メモリセルの読まれたアドレスのポ
インタ部に空き番号を設定する空き番号設定カウンタ
と、前記メモリセルにデータが書き込まれる時、空き部
分を見つけるために前記連想メモリセルのポインタ部と
比較する空き番号を保持している空きアドレス検索番号
カウンタと、前記連想メモリセルの方向データ部からの
値によってメモリセルからの出力データを第一の入出力
ポート又は第二の入出力ポートの何れに出力するかを決
定するセレクタとを備えた構成としている。
Specifically, the means taken by the invention according to claim 1 firstly comprises a first input / output port, a second input / output port, and a randomly accessible memory cell. Then, a first write pointer and a second write pointer that generate a write pointer in response to a write request from the first input / output port and the second input / output port, and the first input / output port and the second write pointer. A first read pointer and a second read pointer that generate a read pointer in response to a read request from the input / output port are provided corresponding to the first input / output port and the second input / output port, respectively. . Further, one word has a direction data section for storing information indicating a transfer direction of data at the same address as the memory cell, and a valid bit section for storing information indicating whether data exists at the same address as the memory cell. And a pointer part whose initial value is set to the same value as the address, which matches the values given to the direction data part and the valid bit part, and in which the value of the write pointer has been written. There is provided an associative memory cell that searches for data whose value matches the value of the read pointer and outputs the address of the data as an address to the memory cell. In addition, when data is read from the memory cell, a vacant number setting counter that sets a vacant number in the pointer portion of the read address of the associative memory cell, and a vacant portion when data is written to the memory cell A free address search number counter holding a free number to be compared with the pointer part of the associative memory cell, and the output data from the memory cell is determined by the value from the direction data part of the associative memory cell. It is configured to include a selector that determines to which of the input / output port or the second input / output port the signal is output.

【0010】また、請求項2に係る発明が講じた手段
は、上記請求項1に係る発明における2個の入出力ポー
トと、2個の書き込みポインタと、2個の読み出しポイ
ンタと、セレクタとに代えて、N個の入出力ポートと、
N個の入出力ポートからの書き込み要求により書き込み
ポインタを生成するN個の書き込みポインタと、N個の
入出力ポートからの読み出し要求により読み出しポイン
タを生成するN個の読み出しポインタと、前記連想メモ
リセルの方向データ部からの値によってメモリセルから
の出力データを何れの入出力ポートに出力するかを決定
するセレクタとを備えた構成としている。
Further, the means taken by the invention according to claim 2 is the two input / output ports, the two write pointers, the two read pointers and the selector in the invention according to the above-mentioned claim 1. Instead, N input / output ports,
N write pointers that generate write pointers in response to write requests from N input / output ports, N read pointers that generate read pointers in response to read requests from N input / output ports, and the associative memory cell And a selector that determines to which input / output port the output data from the memory cell is output according to the value from the direction data section.

【0011】[0011]

【作用】上記の構成により、本発明では、各書き込みポ
インタ及び読み出しポインタは入出力ポートからの書き
込み要求信号及び読み出し要求信号に応じて値を生成
し、該書き込み要求信号はその値を連想メモリセルに送
る。そして、連想メモリセルは空きアドレス検索番号カ
ウンタの内容とポインタ部との値が一致したアドレスの
ポインタ部に書き込みポインタの値を格納すると共に、
当該アドレスの方向データ部及びバリッドビット部にデ
ータを書き込む。また、入出力ポートを通して送られた
入力データをメモリセルは受け取り、連想メモリセルに
データが書き込まれたアドレスと同一のアドレスに入力
データが書き込まれる。
According to the present invention, each write pointer and read pointer generate a value according to a write request signal and a read request signal from the input / output port, and the write request signal has the value associative memory cell. Send to. Then, the associative memory cell stores the value of the write pointer in the pointer part of the address where the contents of the empty address search number counter and the value of the pointer part match, and
Data is written in the direction data part and the valid bit part of the address. Further, the memory cell receives the input data sent through the input / output port, and the input data is written at the same address as the address at which the data was written in the associative memory cell.

【0012】一方、読み出しポインタはその値を連想メ
モリセルに送り、連想メモリセルは受け取った値と一致
し、かつ、方向データ部の値と一致し、更に、バリッド
ビット部が有効であるデータを検索する。そして、条件
にあったデータの存在するアドレスを連想メモリセルは
メモリセルへ送る。その後、メモリセルは受け取ったア
ドレスの場所から出力すべきデータをセレクタに送り、
セレクタはメモリセルからのデータを何れかの入出力ポ
ートに送るかを決定する。また、ポインタ部には空き番
号設定カウンタによって空き番号が書き込まれる。
On the other hand, the read pointer sends the value to the associative memory cell, the associative memory cell matches the received value and the value in the direction data section, and further, the valid bit section stores the valid data. Search for. Then, the associative memory cell sends to the memory cell the address at which the data satisfying the condition exists. After that, the memory cell sends the data to be output from the location of the received address to the selector,
The selector determines to which input / output port the data from the memory cell is sent. In addition, an empty number is written in the pointer portion by the empty number setting counter.

【0013】この結果、書き込みポインタ及び読み出し
ポインタを管理することによって双方向のデータ転送を
可能としている。
As a result, bidirectional data transfer is possible by managing the write pointer and the read pointer.

【0014】[0014]

【実施例】以下、本発明の実施例を図面に基づいて詳細
に説明する。
Embodiments of the present invention will now be described in detail with reference to the drawings.

【0015】図1は、本発明のFIFOメモリ(先入れ
先出し記憶装置)の構成を示している。尚、本実施例は
2つのポートからのデータ転送を行なう場合について説
明する。
FIG. 1 shows the structure of a FIFO memory (first-in first-out storage device) according to the present invention. In this embodiment, the case where data is transferred from two ports will be described.

【0016】先ず、第一の書き込みポインタA107及
び第一の読み出しポインタA108には第一の入出力ポ
ートA105をとおして外部から書き込み要求信号A1
01及び読み出し要求信号A102がそれぞれ与えられ
る。また、第二の書き込みポインタB109及び第二の
読みだしポインタB110には第二の入出力ポートB1
06をとおして外部から書き込み要求信号B103及び
読み出し要求信号B104がそれぞれ与えられる。そし
て、第一の書き込みポインタA107及び第二の書き込
みポインタB109のそれぞれの値は連想メモリセル1
16の入力線に接続されている。また、第一の読み出し
ポインタA108及び第二の読み出しポインタB110
のそれぞれの値も連想メモリセル116に入力線に接続
されている。
First, a write request signal A1 is externally supplied to the first write pointer A107 and the first read pointer A108 through the first input / output port A105.
01 and the read request signal A102 are given respectively. Also, the second write pointer B109 and the second read pointer B110 have a second input / output port B1.
A write request signal B103 and a read request signal B104 are externally supplied through 06. The respective values of the first write pointer A107 and the second write pointer B109 are the associative memory cell 1
It is connected to 16 input lines. In addition, the first read pointer A108 and the second read pointer B110
Each value of is also connected to the input line to the associative memory cell 116.

【0017】前記連想メモリセル116は方向データ部
113、バリッドビット部114及びポインタ部115
にわかれており、各ワードが方向データ部113、バリ
ッドビット部114及びポインタ部115より構成され
ており、連想メモリセル116からの出力線はメモリセ
ル117に接続されている。方向データ部113はメモ
リセル117と同一アドレスのデータの転送方向を示す
情報を格納し、バリッドビット部114はメモリセル1
17と同一アドレスにデータが存在するかどうかを示す
情報を格納し、ポインタ部115は初期値がアドレスと
同じ値に設定されている。そして、連想メモリセル11
6は、各読み出しポインタA108,B110からの値
とポインタ部115との値が一致し、かつ、外部から与
えられる方向データが方向データ部113の値と一致
し、更に、バリッドビット部114のビットが有効であ
るデータを検索すると共に、該当データのアドレスをメ
モリセル117へのアドレスとして出力するように構成
されている。
The associative memory cell 116 includes a direction data section 113, a valid bit section 114 and a pointer section 115.
Each word is composed of a direction data section 113, a valid bit section 114 and a pointer section 115, and the output line from the associative memory cell 116 is connected to the memory cell 117. The direction data unit 113 stores information indicating the transfer direction of data having the same address as the memory cell 117, and the valid bit unit 114 stores the information in the memory cell 117.
Information indicating whether or not data exists at the same address as 17 is stored, and the pointer unit 115 has an initial value set to the same value as the address. Then, the associative memory cell 11
6, the values from the read pointers A108 and B110 and the value of the pointer unit 115 match, the direction data given from the outside matches the value of the direction data unit 113, and the bit of the valid bit unit 114 Is searched, and the address of the corresponding data is output as an address to the memory cell 117.

【0018】メモリセル117は第一の入出力ポートA
105及び第二の入出力ポートB106を通じて入力デ
ータを受け取り、出力はセレクタ118になされる。セ
レクタ118の出力線は第一の入出力ポートA105及
び第二の入出力ポートB106に接続されている。
The memory cell 117 has a first input / output port A.
The input data is received through 105 and the second input / output port B106, and the output is sent to the selector 118. The output line of the selector 118 is connected to the first input / output port A105 and the second input / output port B106.

【0019】また、空き番号設定カウンタ111と、空
きアドレス検索番号カウンタ112との値は連想メモリ
セル116のアドレスを指し示している。そして、空き
番号設定カウンタ111はメモリセル117からデータ
が読まれた時、連想メモリセル116の読まれたアドレ
スのポインタ部115に空き番号を設定するように構成
され、空きアドレス検索番号カウンタ112はメモリセ
ル116にデータが書き込まれる時、空き部分を見つけ
るために前記連想メモリセル116のポインタ部115
と比較する空き番号を保持するように構成されている。
The values of the vacant number setting counter 111 and vacant address search number counter 112 indicate the address of the associative memory cell 116. Then, the vacant number setting counter 111 is configured to set a vacant number in the pointer portion 115 of the read address of the associative memory cell 116 when the data is read from the memory cell 117, and the vacant address search number counter 112 is When data is written in the memory cell 116, the pointer unit 115 of the associative memory cell 116 is used to find a vacant portion.
Is configured to hold a free number to compare with.

【0020】また、セレクタ118は連想メモリセル1
16の方向データ部113からの値によってメモリセル
117からの出力データを第一の入出力ポートA105
又は第二の入出力ポートB106の何れに出力するかを
決定するように構成されている。尚、119及び120
は各入出力ポートA105,B106に入出力する入出
力データA,Bである。
Further, the selector 118 is the associative memory cell 1
The output data from the memory cell 117 is transferred to the first input / output port A 105 according to the value from the 16 direction data section 113.
Alternatively, it is configured to determine which one of the second input / output ports B106 is to be output. 119 and 120
Are input / output data A and B input / output to / from the input / output ports A105 and B106.

【0021】以上のように構成したFIFOメモリにつ
いて、以下にその動作を詳細に説明する。
The operation of the FIFO memory configured as described above will be described in detail below.

【0022】先ず、連想メモリセル116のポインタ部
115の初期値はアドレスと同じ値が初期値として設定
されているものとし、バリッドビット部114及び方向
データ部113はゼロクリアされているとする。
First, it is assumed that the same value as the address is set as the initial value of the pointer section 115 of the associative memory cell 116, and the valid bit section 114 and the direction data section 113 are cleared to zero.

【0023】一方、第一の書き込みポインタA107及
び第一の読み出しポインタA108には第一の入出力ポ
ートA105をとおして外部から送られる書き込み要求
信号A101及び読み出し要求信号A102に応じて値
を生成する。更に、第一の書き込みポインタA107で
は、書き込み要求信号A101が入ると今までの値を更
新し(通常は+1増加させる。)、その値を連想メモリ
セル116に送る。
On the other hand, the first write pointer A107 and the first read pointer A108 generate values according to the write request signal A101 and the read request signal A102 sent from the outside through the first input / output port A105. . Further, when the write request signal A101 is input, the first write pointer A107 updates the value up to now (usually increments by +1) and sends the value to the associative memory cell 116.

【0024】そして、連想メモリセル116は受け取っ
た値をポインタ部115に格納し、格納すべきアドレス
は空きアドレス検索番号カウンタ112によって決定さ
れる。すなわち、空きアドレス検索番号カウンタ112
の内容とポインタ部115との値が一致したアドレスの
ポインタ部115に第一の書き込みポインタA107の
値が格納される。
Then, the associative memory cell 116 stores the received value in the pointer section 115, and the address to be stored is determined by the vacant address search number counter 112. That is, the free address search number counter 112
The value of the first write pointer A107 is stored in the pointer section 115 at the address where the contents of the above and the value of the pointer section 115 match.

【0025】この時、当該アドレスの方向データ部11
3にもデータが書き込まれる。これらのデータは外部か
ら与えられてもよいし、内部で生成されても構わない。
本実施例の場合は方向データは外部から与えられてい
る。更に、バリッドビット部114のビットは連想メモ
リセル116の内部で生成される。このポインタ部11
5への格納後、空きアドレス検索番号カウンタ112の
値は+1増加される。
At this time, the direction data section 11 of the address concerned
Data is also written in 3. These data may be given from the outside or generated internally.
In the case of this embodiment, the direction data is given from the outside. Further, the bits of the valid bit unit 114 are generated inside the associative memory cell 116. This pointer part 11
After storing in 5, the value of the free address search number counter 112 is incremented by +1.

【0026】また、連想メモリセル116にデータが書
き込まれたのと同時に、外部から第一の入出力ポートA
105及び第二の入出力ポートB106を通して送られ
た入力データをメモリセル117は受け取り、連想メモ
リセル116にデータが書き込まれたアドレスと同一の
アドレスに入力データが書き込まれる。
At the same time that data is written in the associative memory cell 116, the first input / output port A is externally supplied.
The memory cell 117 receives the input data sent through the input port 105 and the second input / output port B106, and the input data is written at the same address where the data is written in the associative memory cell 116.

【0027】一方、第一の読み出しポインタA108
は、読み出し要求信号A102が入ると今までの値を更
新し(通常は+1増加させる。)、その値を連想メモリ
セル116に送る。連想メモリセル116は受け取った
値と一致し、かつ、外部から与えられる方向データが方
向データ部113の値と一致し、更に、バリッドビット
部114のビットが有効であるワードを検索する。そし
て、条件にあったデータの存在するアドレスを連想メモ
リセル116はメモリセル117へ送る。その後、メモ
リセル117は受け取ったアドレスの場所から出力すべ
きデータをセレクタ118に送る。
On the other hand, the first read pointer A108
When the read request signal A102 is input, the current value is updated (usually incremented by +1) and the value is sent to the associative memory cell 116. The associative memory cell 116 matches the received value, the direction data given from the outside matches the value of the direction data part 113, and further searches for the word in which the bit of the valid bit part 114 is valid. Then, the associative memory cell 116 sends the address where the data satisfying the condition exists to the memory cell 117. Then, the memory cell 117 sends the data to be output from the location of the received address to the selector 118.

【0028】連想メモリセル116の内容が指定した値
と一致した場合、バリッドビット部114のビットはク
リアされ、ポインタ部115には空き番号設定カウンタ
111の値が書き込まれる。この書き込み後、空き番号
設定カウンタ111の値は+1加算される。また、セレ
クタ118は方向データ部113からの情報に基づきメ
モリセル117から受け取ったデータをどちらの入出力
ポートA105,B106に送るかを決定する。
When the content of the associative memory cell 116 matches the designated value, the bit of the valid bit section 114 is cleared and the value of the vacant number setting counter 111 is written in the pointer section 115. After this writing, the value of the vacant number setting counter 111 is incremented by +1. Further, the selector 118 determines which of the input / output ports A105 and B106 the data received from the memory cell 117 is to be sent to, based on the information from the direction data section 113.

【0029】この様にして、第一の入出力ポートA10
5からの入出力は第一の書き込みポインタA107、第
一の読み出しポインタA108、空き番号設定カウンタ
111及び空きアドレス検索番号カウンタ112によっ
て行なわれる。尚、第一の書き込みポインタA107及
び第一の読み出しポインタA108の扱いは通常のダイ
レクトフォール型のFIFOメモリのリードポインタ及
びライトポインタに準ずる。
In this way, the first input / output port A10
Input / output from 5 is performed by a first write pointer A107, a first read pointer A108, a vacant number setting counter 111 and a vacant address search number counter 112. The first write pointer A107 and the first read pointer A108 are handled according to the read pointer and write pointer of a normal direct-fall type FIFO memory.

【0030】一方、同様の手順で、第二の入出力ポート
B106からの入出力に関しても第二の書き込みポイン
タB109、第二の読み出しポインタB110、空き番
号設定カウンタ111及び空きアドレス検索番号カウン
タ112によって行われる。また、第二の書き込みポイ
ンタB109及び第二の読み出しポインタB110の扱
いは通常のダイレクトフォール型のFIFOメモリのリ
ードポインタ及びライトポインタに準ずる。
On the other hand, in the same procedure, the second write pointer B109, the second read pointer B110, the vacant number setting counter 111 and the vacant address search number counter 112 are used for input / output from the second input / output port B106. Done. The second write pointer B109 and the second read pointer B110 are handled according to the read pointer and write pointer of a normal direct-fall type FIFO memory.

【0031】尚、図1には記述されていないが、FIF
Oメモリの状態を外部に示す信号であるFULLやEM
PTYなどは空き番号設定カウンタ111と、空きアド
レス検索番号カウンタ112との値から容易に生成する
ことができ、各入出力ポートA105,B106からア
クセスするのも容易であり、何ら問題はない。
Although not shown in FIG. 1, the FIF
FULL or EM which is a signal indicating the state of the O memory to the outside
PTY and the like can be easily generated from the values of the vacant number setting counter 111 and the vacant address search number counter 112, and can be easily accessed from each of the input / output ports A105 and B106 without any problem.

【0032】また、上記実施例は、2つの入出力ポート
A105,B106と、2つの書き込みポインタA10
7,B109と、2つの読み出しポインタA108,B
110とを設けたが、N個の入出力ポートを設け、この
N個の入出力ポートに対応して、N個の書き込みポイン
タと、N個の読み出しポインタとを設け、連想メモリセ
ル116は各ポインタからの信号によってデータの書き
込み及びアドレスの出力を行うようにしてもよい。その
際、セレクタ118は連想メモリセル116の方向デー
タ部113の情報に基づいて何れの入出力ポートにデー
タを送るかを決定する。
In the above embodiment, the two input / output ports A105 and B106 and the two write pointers A10 are used.
7, B109 and two read pointers A108, B
110 is provided, but N input / output ports are provided, and N write pointers and N read pointers are provided corresponding to the N input / output ports, and the associative memory cell 116 has each Data may be written and an address may be output by a signal from the pointer. At that time, the selector 118 determines to which input / output port the data is to be sent based on the information in the direction data section 113 of the associative memory cell 116.

【0033】要するに、本発明の本質は、ダイレクトフ
ォール型のFIFOメモリにおいて、書き込み及び読み
出しのポインタの管理を連想メモリ116を用いること
により、単一のRAM(メモリセル117)に対する複
数の書き込み及び読みだしポインタの管理を実現したこ
とにある。
In summary, the essence of the present invention is that, in the direct-fall type FIFO memory, by using the associative memory 116 for management of the write and read pointers, a plurality of write and read operations for a single RAM (memory cell 117) are performed. The purpose is to manage the dashi pointer.

【0034】[0034]

【発明の効果】以上、説明したように、本発明による先
入れ先出し記憶装置よれば、入出力ポートに対応して書
き込みポインタ及び読み出しポインタを設け、各ポイン
タの管理を連想メモリセルで行うようにしたために、多
方向のデータ転送を1つのメモリセルで行うことができ
る。この結果、従来に比べ、より小規模の多方向データ
転送システムを簡単に構成することができると共に、メ
モリセルの記憶領域を有効に使用することができ、本発
明は実用上極めて有効である。
As described above, according to the first-in first-out memory device of the present invention, the write pointer and the read pointer are provided corresponding to the input / output ports, and each pointer is managed by the associative memory cell. , Multi-directional data transfer can be performed by one memory cell. As a result, it is possible to easily configure a smaller-scale multi-directional data transfer system as compared with the conventional one, and to effectively use the storage area of the memory cell, and the present invention is extremely effective in practice.

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

【図1】本発明の一実施例を示すFIFOメモリの構成
図である。
FIG. 1 is a configuration diagram of a FIFO memory showing an embodiment of the present invention.

【図2】従来例を示し、2つのFIFOメモリを用いた
双方向のデータ転送システムの構成図である。
FIG. 2 shows a conventional example and is a configuration diagram of a bidirectional data transfer system using two FIFO memories.

【図3】他の従来例を示し、N個のFIFOメモリを用
いた双方向のデータ転送システムの構成図である。
FIG. 3 shows another conventional example and is a configuration diagram of a bidirectional data transfer system using N FIFO memories.

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

105 入出力ポートA 106 入出力ポートB 107 書き込みポインタA 108 読み出しポインタA 109 書き込みポインタB 110 読み出しポインタB 111 空番号設定カウンタ 112 空きアドレス検索番号カウンタ 113 方向データ部 114 バリッドビット部 115 ポインタ部 116 連想メモリセル 117 メモリセル 118 セレクタ 105 I / O port A 106 I / O port B 107 write pointer A 108 read pointer A 109 write pointer B 110 Read pointer B 111 Empty number setting counter 112 Free address search number counter 113 direction data section 114 Valid bit part 115 Pointer part 116 Associative memory cell 117 memory cells 118 selector

Claims (2)

【特許請求の範囲】[Claims] 【請求項1】 第一の入出力ポート及び第二の入出力ポ
ートと、 ランダムアクセス可能なメモリセルと、 前記第一の入出力ポート及び第二の入出力ポートに対応
してそれぞれ設けられ、前記第一の入出力ポート及び第
二の入出力ポートからの書き込み要求により書き込みポ
インタを生成する第一の書き込みポインタ及び第二の書
き込みポインタと、 前記第一の入出力ポート及び第二の入出力ポートに対応
してそれぞれ設けられ、前記第一の入出力ポート及び第
二の入出力ポートからの読み出し要求により読み出しポ
インタを生成する第一の読み出しポインタ及び第二の読
み出しポインタと、 1ワードが、前記メモリセルと同一アドレスのデータの
転送方向を示す情報を格納する方向データ部と、前記メ
モリセルと同一アドレスにデータが存在するかどうかを
示す情報を格納するバリッドビット部と、初期値がアド
レスと同じ値に設定されているポインタ部とからなり、
前記方向データ部及びバリッドビット部にそれぞれ与え
られる値と一致し、かつ、書き込みポインタの値が書き
込まれていたポインタ部の値と読みだしポインタの値と
が一致しているデータを検索し、当該データのアドレス
をメモリセルへのアドレスとして出力する連想メモリセ
ルと、 前記メモリセルからデータが読まれた時、前記連想メモ
リセルの読まれたアドレスのポインタ部に空き番号を設
定する空き番号設定カウンタと、 前記メモリセルにデータが書き込まれる時、空き部分を
見つけるために前記連想メモリセルのポインタ部と比較
する空き番号を保持している空きアドレス検索番号カウ
ンタと、 前記連想メモリセルの方向データ部からの値によってメ
モリセルからの出力データを第一の入出力ポート又は第
二の入出力ポートの何れに出力するかを決定するセレク
タとを備えていることを特徴とする先入れ先出し記憶装
置。
1. A first input / output port, a second input / output port, a randomly accessible memory cell, and a memory cell provided corresponding to the first input / output port and the second input / output port, respectively. A first write pointer and a second write pointer that generate a write pointer in response to a write request from the first input / output port and the second input / output port; and the first input / output port and the second input / output. A first read pointer and a second read pointer which are provided corresponding to the respective ports and generate a read pointer in response to a read request from the first input / output port and the second input / output port; A direction data section that stores information indicating the transfer direction of data at the same address as the memory cell and data exists at the same address as the memory cell. It consists of a valid bit portion for storing or not information that indicates how to, a pointer section which initial value is set to the same value as the address,
Searches for data that matches the values given to the direction data part and the valid bit part, respectively, and that the value of the write pointer matches the value of the pointer part and the value of the read pointer. An associative memory cell that outputs an address of data as an address to a memory cell, and an empty number setting counter that sets an empty number in a pointer part of the read address of the associative memory cell when data is read from the memory cell A vacant address search number counter holding a vacant number to be compared with a pointer part of the associative memory cell to find a vacant part when data is written to the memory cell; and a direction data part of the associative memory cell. The output data from the memory cell depends on the value from the first input / output port or the second input / output port. First-in-first-out storage device which is characterized in that it comprises a selector for determining whether to output.
【請求項2】 N個の入出力ポートと、 ランダムアクセス可能なメモリセルと、 N個の入出力ポートに対応してそれぞれ設けられ、N個
の入出力ポートからの書き込み要求により書き込みポイ
ンタを生成するN個の書き込みポインタと、 N個の入出力ポートに対応してそれぞれ設けられ、N個
の入出力ポートからの読み出し要求により読み出しポイ
ンタを生成するN個の読み出しポインタと、 1ワードが、前記メモリセルと同一アドレスのデータの
転送方向を示す情報を格納する方向データ部と、前記メ
モリセルと同一アドレスにデータが存在するかどうかを
示す情報を格納するバリッドビット部と、初期値がアド
レスと同じ値が設定されているポインタ部とからなり、
前記方向データ部及びバリッドビット部にそれぞれ与え
られる値と一致し、かつ、書き込みポインタの値が書き
込まれていたポインタ部の値と読みだしポインタの値と
が一致しているデータを検索し、当該データのアドレス
をメモリセルへのアドレスとして出力する連想メモリセ
ルと、 前記メモリセルからデータが読まれた時、前記連想メモ
リセルの読まれたアドレスのポインタ部に空き番号を設
定する空き番号設定カウンタと、 前記メモリセルにデータが書き込まれる時、空き部分を
見つけるために前記連想メモリセルのポインタ部と比較
する空き番号を保持している空きアドレス検索番号カウ
ンタと、 前記連想メモリセルの方向データ部からの値によってメ
モリセルからの出力データを何れの入出力ポートに出力
するかを決定するセレクタとを備えていることを特徴と
する先入れ先出し記憶装置。
2. N input / output ports, random-accessible memory cells, and N input / output ports are provided corresponding to each of the input / output ports, and write pointers are generated in response to write requests from the N input / output ports. N write pointers and N read pointers that are respectively provided corresponding to the N input / output ports and generate read pointers in response to read requests from the N input / output ports; A direction data part that stores information indicating the transfer direction of data at the same address as the memory cell, a valid bit part that stores information indicating whether data exists at the same address as the memory cell, and an initial value is the address. It consists of the pointer part where the same value is set,
Searches for data that matches the values given to the direction data part and the valid bit part, respectively, and that the value of the write pointer matches the value of the pointer part and the value of the read pointer. An associative memory cell that outputs an address of data as an address to a memory cell, and an empty number setting counter that sets an empty number in a pointer part of the read address of the associative memory cell when data is read from the memory cell A vacant address search number counter that holds a vacant number to be compared with the pointer part of the associative memory cell to find a vacant part when data is written to the memory cell; and a direction data part of the associative memory cell. Select the input / output port to which the output data from the memory cell is output according to the value from First-in-first-out storage device which is characterized in that it comprises a motor.
JP3060119A 1991-03-25 1991-03-25 First in first out storage device Pending JPH0512853A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3060119A JPH0512853A (en) 1991-03-25 1991-03-25 First in first out storage device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3060119A JPH0512853A (en) 1991-03-25 1991-03-25 First in first out storage device

Publications (1)

Publication Number Publication Date
JPH0512853A true JPH0512853A (en) 1993-01-22

Family

ID=13132918

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3060119A Pending JPH0512853A (en) 1991-03-25 1991-03-25 First in first out storage device

Country Status (1)

Country Link
JP (1) JPH0512853A (en)

Similar Documents

Publication Publication Date Title
US6006323A (en) Intelligent multiple stack management unit
JPS58225432A (en) Request buffer device
US5313602A (en) Multiprocessor system and method of control over order of transfer of data between buffer storages
US8661223B1 (en) Buffer management architecture
JPH0358150A (en) Memory controller
JPH0512853A (en) First in first out storage device
JPH01125644A (en) Data transfer equipment
JPH01119823A (en) First-in first-out storage device
JPH0833869B2 (en) Data processing device
JP2926859B2 (en) Parallel processing system
JPH1051469A (en) Atm switch
KR0171771B1 (en) Address bus lock control apparatus of computer system
JP2972568B2 (en) Bus extender
JP3068427B2 (en) Message control unit
JP3157673B2 (en) Virtual storage system
JPH01106138A (en) Associative memory
JPS62209792A (en) Fifo circuit
JPH04195234A (en) Data transfer system
JPH10171771A (en) Associative storage device
JPH0218638A (en) Data control system
JPS63245745A (en) Buffer storage controller
JPS61292290A (en) First-in first-out memory device
JPH0660007A (en) Semiconductor storage device
JPH01310463A (en) Buffer storage
JPS62184561A (en) Input/output buffer controller