JPH01161950A - Buffer memory control system - Google Patents

Buffer memory control system

Info

Publication number
JPH01161950A
JPH01161950A JP62319001A JP31900187A JPH01161950A JP H01161950 A JPH01161950 A JP H01161950A JP 62319001 A JP62319001 A JP 62319001A JP 31900187 A JP31900187 A JP 31900187A JP H01161950 A JPH01161950 A JP H01161950A
Authority
JP
Japan
Prior art keywords
write
memory
read
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
JP62319001A
Other languages
Japanese (ja)
Inventor
Edamasu Kamoi
鴨井 條益
Yuji Kato
祐司 加藤
Toshio Shimoe
敏夫 下江
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP62319001A priority Critical patent/JPH01161950A/en
Publication of JPH01161950A publication Critical patent/JPH01161950A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE:To simultaneously attain access of write and readout and to suppress the increase in the memory capacity by jumping a write pointer to the next memory block when a readout pointer designates the memory block designated by the write pointer. CONSTITUTION:When a readout pointer 25 moves and designates the same memory block as the memory block designated by a write pointer 24, e.g., 22-1, a control is implemented to jump the write pointer 24. That is, since the write pointer 24 and the readout pointer 25 always exist in different memory blocks, the write access and readout access are applied simultaneously to attain high speed accessing. In case of jump of the write pointer 24, the address in the jumped original memory block is stored and the readout pointer 25 uses an address as an index to be jumped to the next memory block, then no contradiction takes place. Thus, the increase in the memory capacity is minimized.

Description

【発明の詳細な説明】 〔概   要〕 ATM交換用通話路等に用いられるバッファメモリの高
速アクセス可能な制御方式に関し、書込みと読出しのア
クセスを同時に行え、かつメモリ容量の増加を最小限に
抑えることを目的とし、 書込みポインタにより指示される書込みアドレスにデー
タを書き込み、該書込み順で読出しポインタにより読出
しアドレスを指示してデータを読み出す方式のバッファ
メモリにおいて、各々独立してデータの書込み又は読出
しのアクセス可能なメモリブロックを複数用意し、前記
書込みポインタ及び読出しポインタの各々を前記複数の
メモリブロック間で非同期に巡回させて該各メモリブロ
ック内のアドレス指定を行い、前記書込みポインタが指
示しているメモリブロックを前記読出しポインタが指示
した場合、前記書込みポインタを次のメモリブロックに
ジャンプさせることにより、同一のメモリブロック上で
書込み及び読出しのアクセスが同時に発生しないように
制御を行うように構成する。
[Detailed Description of the Invention] [Summary] This invention relates to a control method that allows high-speed access to buffer memory used in ATM switching channels, etc., which allows simultaneous write and read access and minimizes the increase in memory capacity. In this buffer memory, data is written to a write address indicated by a write pointer, and the data is read by indicating a read address by a read pointer in the writing order, and each write or read operation is independently performed. A plurality of accessible memory blocks are prepared, each of the write pointer and the read pointer is circulated asynchronously among the plurality of memory blocks to designate an address within each memory block, and the address specified by the write pointer is specified. When the read pointer points to a memory block, the write pointer is jumped to the next memory block to perform control so that write and read accesses do not occur simultaneously on the same memory block.

〔産業上の利用分野〕[Industrial application field]

本発明は、ATM (^5ynchronize Tr
ansferMode ;非同期転送型)交換用通話路
等に用いられるバッファメモリの高速アクセス可能な制
御方式〔従来の技術〕 ATM集線多重方式は、各加入者からのパケットデータ
を時分割ハイウェー上の所定のチャネルに時分割多重し
てルートを固定化し、ハードウェアスイッチングによる
交換を行うことで、リアルタイム性を通常のパケット通
信よりはるかに高め、かつ通信速度の変換、異種加入者
(端末)間のデータ通信、フォーマント変換等の情報の
蓄積機能としての様々なサービス性も兼ね備えた方式で
ある。
The present invention is an ATM (^5ynchronize Tr).
(ansferMode; asynchronous transfer type) A control method that allows high-speed access to buffer memories used in switching communication paths, etc. [Prior technology] ATM line multiplexing method transfers packet data from each subscriber to a predetermined channel on a time-division highway. By time-division multiplexing, fixing the route, and performing exchange using hardware switching, real-time performance is much higher than that of normal packet communication, and communication speed conversion, data communication between different types of subscribers (terminals), This method also provides various services such as formant conversion and information storage function.

ATM交換用通話路においては、第6図に示す任意の入
ハイウェー1上の任意のチャネルに時分割多重され、出
ハイウェー2のあて先が書かれたタグ付きの固定長パケ
ットデータ(セル)を、任意の出ハイウェー2上の任意
のチャネルに時分割多重させる必要がある。この場合、
出ハイウェー2上の各チャネルにおいて、各人ハイウェ
ー1からのセルが競合(衝突)しないように各人ハイウ
ェー1からの書込みのデータ6 (セル)を、タグによ
って定まる出ハイウェー2に対応するファーストイン・
ファーストアウトタイプのバッファメモリ (以下、F
IFOと呼ぶ)3に振り分けて蓄積する。そして、各F
IFO3に蓄積されたセルを読出しデータ7として読み
出して、出ハイウェー2上の所望のチャネルに時分割多
重し、入出力ハイウェー間でのセルの交換を行う。ここ
で、上記FIFO3に対する書込みデータ6の書き込み
又は読出しデータフの読み出しは、特には図示しない制
御回路に接続される書込みパルス線4又は読出しパルス
線5から、各々書込みパルス8又は読出しパルス9を提
供することにより行う。
In the ATM exchange channel, fixed-length packet data (cells) with a tag containing the destination of the outgoing highway 2 are time-division multiplexed onto any channel on any incoming highway 1 shown in FIG. It is necessary to time-division multiplex it to any channel on any outgoing highway 2. in this case,
In each channel on the outbound highway 2, data 6 (cells) written from the inbound highway 1 are transferred to the first inlet corresponding to the outbound highway 2 determined by the tag so that the cells from the inbound highway 1 do not compete (collide).・
First-out type buffer memory (hereinafter referred to as F
(referred to as IFO) and accumulates them. And each F
The cells stored in the IFO 3 are read out as read data 7, time-division multiplexed onto a desired channel on the output highway 2, and cells are exchanged between the input and output highways. Here, writing the write data 6 to the FIFO 3 or reading the read data is performed by providing a write pulse 8 or a read pulse 9, respectively, from the write pulse line 4 or the read pulse line 5, which are connected to a control circuit (not shown). To do this.

ATM交換用通話路における上記FIFO3は、高速な
情報を効率良く処理するために、より高速な処理が要求
される。
The FIFO 3 in the ATM exchange channel is required to perform faster processing in order to efficiently process high-speed information.

第7図に、第6図のFIFO3の第1の従来例の構成を
示す。このFIFOではメモリ10を使用しているため
、書込みデータ6を書込みパルス8に従って一世フリッ
プフロップ11に書き込むと共に、書込みパルス8もフ
リップフロップ12のセント端子Sに入力して保持させ
る。そして、読出しパルス9が入力していない時にアン
ドゲート13がオンになり、フリップフロップN2にセ
ントされている書込みパルスが出力端子Qからメモリ1
0に入力する。これにより、フリップフロップ11に保
持されていた書込みデータ6がメモリIOに書き込まれ
る。一方、読出し時には、読出しパルス9がメモリ10
に入力し読出しデータ7が読み出される。即ち、メモリ
10に対する書込み及び読出しのアクセスは同時には行
われない。
FIG. 7 shows the configuration of a first conventional example of the FIFO 3 shown in FIG. Since this FIFO uses the memory 10, the write data 6 is written into the first-generation flip-flop 11 according to the write pulse 8, and the write pulse 8 is also input to the cent terminal S of the flip-flop 12 and held there. Then, when the read pulse 9 is not input, the AND gate 13 is turned on, and the write pulse sent to the flip-flop N2 is transferred from the output terminal Q to the memory 1.
Enter 0. As a result, the write data 6 held in the flip-flop 11 is written to the memory IO. On the other hand, during reading, the read pulse 9 is applied to the memory 10.
The read data 7 is read out. That is, write and read accesses to the memory 10 are not performed simultaneously.

次に第8図に、第6図のFIFO3の第2の従来例の構
成を示す。この例では、−点鎖線14及び15に示すよ
うに、メモリを2面構成とし、例えば面14のメモリ1
6の側に書込みポインタ18があって書込みデータ6を
書き込んでいる場合には、異なる面17のメモリ17に
読出しポインタ19を置いて読出しデータ7を読み出し
く実線20)、読出しデータ7がなくなったら、書込み
ポインタ18と読出しポインタ19の指示する面を切り
替えて同様な動作を行う(破線21)。
Next, FIG. 8 shows the configuration of a second conventional example of the FIFO 3 shown in FIG. In this example, the memory has a two-sided structure, as shown by the dashed lines 14 and 15. For example, memory 1 on the plane 14
If the write pointer 18 is on the 6 side and the write data 6 is being written, the read pointer 19 is placed on the memory 17 on a different side 17 and the read data 7 is read out (solid line 20). , the same operation is performed by switching the plane indicated by the write pointer 18 and the read pointer 19 (broken line 21).

なお、第5図の書込みパルス8、及び読出しパルス9等
は省略している。
Note that the write pulse 8, read pulse 9, etc. in FIG. 5 are omitted.

〔発明が解決しようとする問題点〕[Problem that the invention seeks to solve]

しかし上記従来例において、まず第7図の第1の従来例
では、外部的には書込みと読出しのアクセスが非同期に
行えても、内部動作としては書込みと読出しを同時に行
うことができず、メモリlOのアクセス速度に対して外
部からの書込み又は読出しのアクセス速度は2分の1に
なってしまうという問題点を有していた。
However, in the above conventional examples, first, in the first conventional example shown in FIG. 7, even though write and read access can be performed asynchronously externally, writing and reading cannot be performed simultaneously internally, There is a problem in that the access speed for writing or reading from the outside is half of the access speed for IO.

これに対して第8図の第2の従来例では、書込みと読出
しのアクセスは常に互いに異なる面に対 、して行われ
るため、メモリ16又は17のアクセス速度をそのまま
外部からの書込み又は読出しのアクセス速度とすること
ができ、アクセスの高速化が図れる。しかし、メモリ容
量を第8図16及び17に示すように必要量の2倍用意
しなければならず、特に第6図のATM交換用通話路の
ように多数のFIFO3を必要とする場合には、コスト
が高くつくという問題点を有していた。
On the other hand, in the second conventional example shown in FIG. 8, writing and reading accesses are always performed on different surfaces, so the access speed of the memory 16 or 17 can be maintained as it is for external writing or reading. The access speed can be increased, and the access speed can be increased. However, as shown in Figure 8 16 and 17, the memory capacity must be twice the required amount, especially when a large number of FIFO3s are required, such as the ATM exchange channel in Figure 6. , which had the problem of high cost.

上記第1及び第2の従来例とも、第6図のATM交換用
通話路以外にFIFOを利用しようとした場合にも、同
様の問題を有していた。
Both the first and second conventional examples have similar problems when attempting to use FIFO in a channel other than the ATM exchange channel shown in FIG.

本発明は上記問題点を解決するために、書込みと読出し
のアクセスを同時に行え、かつメモリ容量の増加を最小
限に抑えることのできるバッファメモリ制御方式を提供
することを目的とする。
SUMMARY OF THE INVENTION In order to solve the above-mentioned problems, it is an object of the present invention to provide a buffer memory control method that allows simultaneous write and read access and minimizes the increase in memory capacity.

〔問題点を解決するための手段〕[Means for solving problems]

第1図(al、(blに、本発明の原理説明図を示す。 FIGS. 1(al) and 1(bl) show diagrams explaining the principle of the present invention.

本発明は複数のメモリブロック22−θ〜22−Nより
なり、書込みポインタ24により指示される書込みアド
レスにデータ23 (斜線部)を書き込み、その書込み
順で読出しポインタ25により読出しアドレスを指示し
てデータ23を読み出す。
The present invention is composed of a plurality of memory blocks 22-θ to 22-N, and data 23 (shaded area) is written to a write address indicated by a write pointer 24, and a read address is indicated by a read pointer 25 in the writing order. Read data 23.

この時、書込みポインタ24及び読出しポインタ25の
各々は、第1図ta+の26及び27に示すようにメモ
リブロック22−θ〜22−N間で非同期に巡回させて
、各メモリブロック22−0〜22−N内のアドレス指
定を行う。
At this time, each of the write pointer 24 and the read pointer 25 is asynchronously circulated between the memory blocks 22-θ to 22-N as shown at 26 and 27 in ta+ in FIG. 22-N.

そして、第1図世)の28に示すように読出しポインタ
25が移動し、書込みポインタ24が指示しているメモ
リブロックと同一のメモリブロック、例えば22−1を
指示した場合、書込みポインタ24を同図29に示すよ
うにジャンプさせるように制御を行う。
If the read pointer 25 moves as shown at 28 in Figure 1) and points to the same memory block as the write pointer 24, for example 22-1, the write pointer 24 is Control is performed to jump as shown in FIG.

〔作   用〕[For production]

上記構成により、書込みポインタ24と読出しポインタ
25は、常に異なったメモリブロックに存在するため、
書込みのアクセスと読出しのアクセスを同時に行うこと
ができ、アクセスの高速化が図れる。
With the above configuration, the write pointer 24 and the read pointer 25 always exist in different memory blocks, so
Write access and read access can be performed simultaneously, and access speed can be increased.

この時、第1図世)の29に示す書込みポインタ24の
ジャンプ時に、ジャンプした元のメモリブロック内のア
ドレスを保持しておき、読出しポインタ25は該アドレ
スを指標として次のメモリブロックにジャンプするよう
にすれば、矛盾した動作は発生しない。
At this time, when the write pointer 24 jumps as shown at 29 in Figure 1), the address in the memory block from which it jumped is held, and the read pointer 25 uses this address as an index to jump to the next memory block. If you do this, inconsistent behavior will not occur.

また、この時のメモリブロックの個数は、必要なメモリ
容量に対応する個数がN個であれば、N千1個用意すれ
ば常に必要なデータ量を保持でき、かつ書込みと読出し
のアクセスを同時に行える。
In addition, if the number of memory blocks at this time is N that corresponds to the required memory capacity, then if N1,010 are prepared, the required amount of data can always be held, and write and read access can be performed at the same time. I can do it.

これにより、メモリ容量の増加を最小限に抑えることが
できる。
This makes it possible to minimize the increase in memory capacity.

〔実  施  例〕〔Example〕

以下、本発明の実施例につき詳細に説明を行う。 Hereinafter, embodiments of the present invention will be described in detail.

本発明の実施例では、ATM交換用通話路に用いるファ
ーストイン・ファーストアウトタイプのバッファメモリ
 (FIFO)に適用した場合の例を示す。ATM交換
用通話路の全体的な構成は第6図で説明したものと同じ
であるため、その説明は省略する。
In the embodiment of the present invention, an example will be shown in which the present invention is applied to a first-in, first-out type buffer memory (FIFO) used in an ATM switching channel. Since the overall configuration of the ATM exchange channel is the same as that explained in FIG. 6, its explanation will be omitted.

次に第2図は、第6図のFIFO3の本発明による実施
例を示した図である。本実施例は、#0〜#3の同じメ
モリ容量を有する4つのメモリ30を有し、書込みデー
タ6を保持するのに必要なメモリ容量はメモリ30の3
個分である。即ち、1個分多く構成している。
Next, FIG. 2 is a diagram showing an embodiment of the FIFO 3 of FIG. 6 according to the present invention. This embodiment has four memories 30 #0 to #3 having the same memory capacity, and the memory capacity required to hold the write data 6 is three of the memories 30.
It is an individual portion. In other words, it is configured with one more piece.

入ハイウェー1 (第6図)からの書込みデータ6は、
書込みカウンタ32からの書込みポインタWPによって
選択されるメモリ30の#0〜#3のうちいずれか1つ
のメモリ内アルスに書き込まれる。また、読出しカウン
タ33からの読出しポインタRPによって選択されるメ
モリ30の#0〜#3のうちいずれか1つのメモリ内ア
ドレスからは、読出しデータ7が読み出され、出ハイウ
ェー2(第6図)に読み出される。
The written data 6 from the input highway 1 (Figure 6) is
The data is written to any one of memory registers #0 to #3 of the memory 30 selected by the write pointer WP from the write counter 32. Further, read data 7 is read out from any one of the memory addresses #0 to #3 of the memory 30 selected by the read pointer RP from the read counter 33, and the read data 7 is read out from the output highway 2 (FIG. 6). is read out.

次に、書込みカウンタ32及び読出しカウンタ33は、
書込みパルスvA4 (第6図)からの書込みパルス8
及び読出しパルス線5(第6図)からの読出しパルス9
に従って動作するポインタ制御部31により制御される
。また、ポインタ制御部31から#0〜#3のメモリ3
0には、書込み禁止用のフラグFull(以下、Ful
lフラグと呼ぶ)、及び読出し禁止用のフラグEmp 
t y(以下、F、mp t yフラグと呼ぶ)が供給
される。
Next, the write counter 32 and the read counter 33 are
Write pulse 8 from write pulse vA4 (Figure 6)
and read pulse 9 from read pulse line 5 (FIG. 6)
It is controlled by a pointer control section 31 that operates according to the following. Also, from the pointer control unit 31, the memory 3 of #0 to #3
0 is a write-protection flag Full (hereinafter referred to as Full).
l flag), and a read prohibition flag Emp.
ty (hereinafter referred to as F, mp ty flag) is supplied.

上記第3図の構成の実施例の動作につき以下に説明を行
う。まず、第3図(al、(b)は、第2図の書込みカ
ウンタ32からの書込みポインタWP1及び読出しカウ
ンタ33からの読出しポインタRPのアドレス構成を示
した図である。第3図+alにおいて書込みポインタW
Pは、上位2ビツトの書込みメモリ番号アドレス構成イ
、及びその他の下位ピント部分の書込みメモリ内アドレ
スWPAからなる。そして第2図の#0〜#3のメモリ
3o内には、特には図示しないデコーダがあり、そのデ
コーダが書込みポインタWP内の書込みメモリ番号アド
レスWPI4をデコードして、各自のメモリ番号#0〜
#3と一致したメモリ3oのみが、書込みポインタWP
内の書込みメモリ内アドレスWPAを入力してメモリ内
の書込みアドレスの指定を行う。
The operation of the embodiment having the configuration shown in FIG. 3 will be explained below. First, FIGS. 3(al) and (b) are diagrams showing the address structure of the write pointer WP1 from the write counter 32 in FIG. 2 and the read pointer RP from the read counter 33. Pointer W
P consists of the upper 2 bits of the write memory number address configuration A and the other lower focused part of the write memory address WPA. There is a decoder (not shown) in the memories 3o of #0 to #3 in FIG. 2, and the decoder decodes the write memory number address WPI4 in the write pointer WP,
Only the memory 3o that matches #3 has the write pointer WP
The write address in the memory is specified by inputting the write address WPA in the memory.

同様に第3図(blにおいて読出しポインタRPは、上
位2ビツトの読出しメモリ番号アドレスRP、、及びそ
の他の下位ピント部分の読出しメモリ内アドレスRPA
からなる。そして第2図の#0〜#3のメモリ30内の
デコーダが読出しポインタ制御部の読出しメモリ番号ア
ドレスRP、をデコードして、各自のメモリ番号#0〜
#3と一致したメモリ30のみが、読出しポインタWP
内の読出しメモリ内アドレスRPAを入力してメモリ内
の読出しアドレスの指定を行う。
Similarly, in FIG. 3 (bl), the read pointer RP is the read memory number address RP of the upper 2 bits, and the read memory address RPA of the other lower focused part.
Consisting of Then, the decoders #0 to #3 in the memory 30 in FIG.
Only the memory 30 that matches #3 has the read pointer WP
The read address in the memory is specified by inputting the address RPA in the read memory.

第3図のアドレス構成により、書込みポインタWPの書
込みメモリ番号アドレスwp、によって例えば#1のメ
モリ30が指定されている場合、書込みカウンタ32が
インクリメントされ、書込みポインタWPの書込みメモ
リ内アドレスWPAによって#1のメモリ30の最終ア
ドレスまでインクリメントされた後に更に+1されると
、書込みメモリ内アドレスWPAはOになり書込みメモ
リ番号アドレスWPMが+1されるため、#2のメモリ
30の先頭アドレスに移る。また、#3のメモリ30の
最終アドレスまでインクリメントされた後に更に+1さ
れると、書込みメモリ内アドレスWP^及び書込みメモ
リ番号アドレスW P M共に0になるため、#0のメ
モリ30の先頭アドレスに移る。以上のようにして、書
込みポインタWPは書込みカウンタ32により、メモリ
30の#O−#1→#2−#3→#O→・・・というよ
うに巡回する。即ち書込みメモリ内アドレスWP。
According to the address structure shown in FIG. 3, if memory 30 #1 is specified by the write memory number address wp of the write pointer WP, the write counter 32 is incremented, and the write memory address WPA of the write pointer WP specifies #1. When the write memory address WPA is incremented to the final address of the memory 30 #1 and then further incremented by +1, the write memory address WPA becomes O and the write memory number address WPM is incremented by +1, so the process moves to the start address of the memory 30 #2. Furthermore, if the address is further incremented by 1 after being incremented to the final address of the memory 30 of #3, both the write memory internal address WP^ and the write memory number address W P M become 0, so the start address of the memory 30 of #0 is Move. As described above, the write pointer WP is circulated by the write counter 32 in the order of #O-#1→#2-#3→#O→... in the memory 30. That is, the write memory address WP.

は#O〜#3の各メモリ30の内部アドレスをちょうど
指定しうるビット数を有し、書込みメモリ番号アドレス
WPMはメモリ番号#0〜#3をちょうど指定しうるビ
ット数即ち2ビツトの大きさである。以上の機能は、読
出しポインタRPについても同様である。
has the number of bits that can just specify the internal address of each memory 30 #0 to #3, and the write memory number address WPM has the number of bits that can just specify the memory numbers #0 to #3, that is, the size of 2 bits. It is. The above function is the same for the read pointer RP.

また、書込みポインタWPの書込みメモリ内アドレスW
PA及び書込みメモリ番号アドレスWP0、並びに読出
しポインタRPの読出しメモリ内アドレスRP、及び読
出しメモリ番号アドレスRP。
Also, the address W in the write memory of the write pointer WP
PA and write memory number address WP0, read memory address RP of read pointer RP, and read memory number address RP.

は、書込みカウンタ32及び読出しカウンタ33がポイ
ンタ制御部31から制御されることにより、後述するよ
うに書き替えられる。
is rewritten as described below by controlling the write counter 32 and read counter 33 from the pointer control unit 31.

以下に、第2図の具体的な動作について第4図ta+〜
(3)の動作説明図及び第5図(a)、fblの動作フ
ローチャートを用いて説明を行う。なお、第4図(al
〜01は第2図の#0〜#3のメモリ30の状態を示し
た図である。以下、特に示されない限すハードは第2図
、Sl、82等の動作シーケンスは第5図(al、fb
lを参照する。
Below, the specific operation in Figure 2 will be explained in Figure 4 ta+~
The explanation will be given using the operation explanatory diagram of (3) and the operation flowchart of FIG. 5(a) and fbl. In addition, Fig. 4 (al
-01 is a diagram showing the states of the memories 30 #0 to #3 in FIG. In the following, unless otherwise specified, the hardware is shown in Figure 2, and the operation sequence of Sl, 82, etc. is shown in Figure 5 (al, fb
See l.

まず、初期状態においては、書込みカウンタ32及び読
出しカラタン33共にり、リアされているため、第3図
に示す書込みポインタWPの書込みメモリ番号アドレス
WP1及び読出しポインタRPの読出しメモリ番号アド
レスRP、共に、第4図(alの状Lilに示すように
#0のメモリ30を指定しており、同じく書込みメモリ
内アドレスWPA及び読出しメモリ内アドレスRPAは
#0のメモリ30の先頭アドレスを示している。この時
、ポインタ制御部31から出力されるEmp t yフ
ラグは“l”であり、Fullフラグ、Jumpフラグ
は共に“0″である。Emptyフラグが“l”の時は
#0〜#3のメモリ30の全てのアドレスにデータが保
持されてなく、データの読み出しができないため、読出
し動作が禁止される。
First, in the initial state, since both the write counter 32 and the read counter 33 are cleared, both the write memory number address WP1 of the write pointer WP and the read memory number address RP of the read pointer RP shown in FIG. As shown in FIG. 4 (al), memory 30 #0 is specified, and write memory address WPA and read memory address RPA indicate the start address of memory 30 #0. At this time, the Empty flag output from the pointer control unit 31 is "l", and the Full flag and Jump flag are both "0".When the Empty flag is "l", the memory #0 to #3 Since no data is held in any of the 30 addresses and data cannot be read, the read operation is prohibited.

Emptyフラグが“0″なら読出し可能である。If the Empty flag is "0", reading is possible.

また、Fullフラグが′1′の時は#0〜#3のメモ
リ30の全てのアドレスにデータが詰まっており、デー
タの書き込みができないため、書込み動作が禁止される
。Fullフラグが“0”なら書込み可能である。Ju
mpフラグについては後述する。
Further, when the Full flag is '1', all addresses #0 to #3 of the memory 30 are filled with data, and data cannot be written, so the write operation is prohibited. If the Full flag is "0", writing is possible. Ju
The mp flag will be described later.

今、第4図(alの状B1においては、Emptyフラ
グが“l”であるため、書込み動作のみが可能である。
Now, in state B1 of FIG. 4 (al), since the Empty flag is "1", only a write operation is possible.

この場合は、第5図011の動作フローチャートにおい
て経路1が選択される。
In this case, route 1 is selected in the operation flowchart of FIG. 5011.

経路lは、第5図011の5l−32−33−34→S
5→S7→S8という動作シーケンスである。
Route l is 5l-32-33-34→S in Figure 5 011
The operation sequence is 5→S7→S8.

即ち、第4図の状態1でポインタ制御部31に書込みパ
ルス8が入力すると(Sl)、まず、書込みポインタW
Pの書込みメモリ番号アドレスWP)lによって選択さ
れる#0のメモリ30の書込みメモリ内アドレスWPA
によって示される先頭アドレスに書込みデータ6が書き
込まれる(S2)。
That is, when the write pulse 8 is input to the pointer control unit 31 in state 1 of FIG. 4 (Sl), the write pointer W
Write memory address WPA of memory 30 of #0 selected by P's write memory number address WP)l
Write data 6 is written to the start address indicated by (S2).

その後、ポインタ制御部31が書込み力うンタ32をイ
ンクリメントして古込みポインタWPが+1され(S3
) 、Emp tyフラグが0″にされ(S4、S5を
介してS7)、次の書込みパルス8の入力待ち状態とな
る(S8)。
After that, the pointer control unit 31 increments the write power counter 32 and the old write pointer WP is increased by +1 (S3
), the Empty flag is set to 0'' (S7 via S4 and S5), and the state waits for input of the next write pulse 8 (S8).

上記経路1を繰り返すことにより、第4図!alの状態
2の斜線で示す様に、書込みメモリ内アドレスWP^が
順次インクリメントされながら書込みデータ6が#0の
メモリ30に書き込まれてゆく。
By repeating route 1 above, Figure 4! As shown by diagonal lines in state 2 of al, write data 6 is written to memory 30 #0 while address WP^ in the write memory is sequentially incremented.

第4図(a)又は(blの状B2になると、Emp t
 yフラグが“0”になったため読出し可能となり、読
出しパルス9がポインタ制御部31に入力すると第5図
011)の動作フローチャートにおいて経路2が選択さ
れる。
When it comes to the state B2 of FIG. 4(a) or (bl), Emp t
Since the y flag has become "0", reading becomes possible, and when the read pulse 9 is input to the pointer control unit 31, path 2 is selected in the operation flowchart of FIG. 5 (011).

経路2は、第5図(blの59−3IO→311→51
4−S15→516→317→S20という動作シーケ
ンスである。
Route 2 is from 59-3IO → 311 → 51 in Figure 5 (bl)
The operation sequence is 4-S15→516→317→S20.

即ち、第4図[b)の状態2で、ポインタ制御部31に
読出しパルス9が入力すると(S9)、まず読出しポイ
ンタRPの読出しメモリ番号アドレスRP、によって選
択される#0のメモリ30の書込みメモリ内アドレスW
PAによって示される先頭アドレスから読出しデータ7
が読み出される(S 10) 。
That is, when the read pulse 9 is input to the pointer control unit 31 in state 2 of FIG. 4 [b] (S9), first the write operation is performed in the #0 memory 30 selected by the read memory number address RP of the read pointer RP. Memory address W
Read data 7 from the start address indicated by PA
is read out (S10).

その後、ポインタ制御部31が読出しカウンタ33をイ
ンクリメントして読出しポインタRPが+1される(3
11を介して514)。
After that, the pointer control unit 31 increments the read counter 33 and the read pointer RP is incremented by 1 (3
514 via 11).

更に、ポインタ制御部31は書込みカウンク32を制御
して書込みポインタWPの書込みメモリ番号アドレスw
p、を+1し、書込みメモリ内アドレスWPAをOにし
て、第4図(blの状態3に示すように書込みポインタ
WPを#1のメモリ30の先頭アドレスにジャンプさせ
る。この時、Jumpフラグを“1″にしてジャンプし
たことを記憶し、ジャンプした時に書込みメモリ内アド
レスWPAが指示していた#0のメモリ30内のアドレ
スをジャンプ元アドレスWPoとして記憶する(S15
.316を介して317)、この動作の後、次の読出し
パルス9の入力待ち状態になる(320)。
Further, the pointer control unit 31 controls the write count 32 to set the write memory number address w of the write pointer WP.
p, is +1, the address WPA in the write memory is set to O, and the write pointer WP is jumped to the start address of the memory 30 of #1 as shown in state 3 of FIG. 4 (bl).At this time, the Jump flag is set to The jump is recorded as "1", and the address in the memory 30 of #0, which was indicated by the write memory address WPA at the time of the jump, is stored as the jump source address WPo (S15
.. (via 316 to 317), and after this operation, it enters a state of waiting for input of the next read pulse 9 (320).

以上のようにして、書込みポインタWPの書込みメモリ
番号アドレスWPMと読出しポインタRPの読出しメモ
リ番号アドレスRP、の指示するメモリ30のメモリ番
号が変化するため、以後は書込みデータ6の書込み動作
と読出しデータフの読出し動作を、異なるメモリ番号に
対して独立して非同期に行うことができる。
As described above, since the memory number of the memory 30 indicated by the write memory number address WPM of the write pointer WP and the read memory number address RP of the read pointer RP changes, from now on, the write operation of the write data 6 and the read data file read operations can be performed independently and asynchronously for different memory numbers.

例えば、第4図(b)又は(e)の状B3において、ポ
インタ制御部31に読出しパルス9が入力すると、第5
図(b)の動作フローチャートにおいて経路3が選択さ
れる。
For example, in state B3 of FIG. 4(b) or (e), when the readout pulse 9 is input to the pointer control unit 31, the fifth
Route 3 is selected in the operation flowchart of FIG. 3(b).

経路3は、第5図(blのS9→5IO−5ll→S1
2→S14→315→S18→320という動作シーケ
ンスである。
Route 3 is shown in Fig. 5 (BL S9→5IO-5ll→S1
The operation sequence is 2→S14→315→S18→320.

即ち、第4図(e)の状態3で、ポインタ制御部31に
読出しパルス9が入力すると(S9)、まず読出しポイ
ンタRPの読出しメモリ番号アドレスRP Hの選択す
る#0のメモリ30の、読出しメモリ内アドレスRP 
aの示すアドレスから読出しデータ7が読み出される(
S 10)。
That is, when the read pulse 9 is input to the pointer control unit 31 in state 3 of FIG. Memory address RP
Read data 7 is read from the address indicated by a (
S10).

その後、ポインタ制御部31が読出しカウンタ33をイ
ンクリメントして読出しポインタRPが+1され(Sl
l、S12を介して314)、次の読出しパルス9の入
力待ち状態になる(S15.318を介して520)、
なお、Fullフラグは元々“θ″であるため第5図山
)の318は特別な意味は持たない。318については
後述する。
After that, the pointer control unit 31 increments the read counter 33 and the read pointer RP is increased by +1 (Sl
l, 314 via S12), waits for input of the next read pulse 9 (520 via S15.318),
Note that since the Full flag is originally "θ", 318 in Fig. 5 (mountain) has no special meaning. 318 will be described later.

一方、第4図TCIの状態3において、上記読出しパル
ス9と並行してポインタ制御部31に書込みパルス8が
人力すると、第5図(a)の動作フローチャートにおい
て経路4が選択される。
On the other hand, in state 3 of TCI in FIG. 4, when the write pulse 8 is manually applied to the pointer control unit 31 in parallel with the read pulse 9, path 4 is selected in the operation flowchart of FIG. 5(a).

経路4は、第5図(alの5l−32−33−34−3
8という動作シーケンスである。
Route 4 is 5l-32-33-34-3 in Figure 5 (al.
The operation sequence is 8.

即ち、まず第4図tc)の状態3で、ポインタ制御部3
1に書込みパルス8が入力すると(Sl)、書込みポイ
ンタWPの書込みメモリ番号アドレスwp、4の選択す
る#1のメモリ30の、書込みメモリ内アドレスWPA
の示すアドレスに書込みデータ6が書き込まれる(S2
)。
That is, first, in state 3 of FIG. 4 tc), the pointer control unit 3
When the write pulse 8 is input to 1 (Sl), the write memory number address wp of the write pointer WP, and the write memory internal address WPA of the #1 memory 30 selected by 4.
Write data 6 is written to the address indicated by (S2
).

その後、ポインタ制御部31が書込みカウンタ32をイ
ンクリメントして書込みポインタWPが+1され(S3
)、次の書込みパルス8の入力待ち状態になる(S4を
介してS8)。
After that, the pointer control unit 31 increments the write counter 32 and the write pointer WP is increased by +1 (S3
), it enters a state of waiting for input of the next write pulse 8 (S8 via S4).

上記のように書込みデータ6の書込み動作と読出しデー
タフの読出し動作は、#1及び#Oの各メモリ30に対
して独立して行われる。
As described above, the write operation of the write data 6 and the read operation of the read data 6 are performed independently for each of the #1 and #O memories 30.

次に、第4図(C)の状態4において、前記経路3が繰
り返され、読出しポインタRPの読出しメモリ内アドレ
スRPAが示す#0のメモリ30内のアドレスが、ジャ
ンプ元アドレスWP6(第4図(bl参照)の1つ手前
まで移動した後、新たに読出しパルス9が入力すると、
第5図(b)の動作フローチャートにおいて経路5が選
択される。
Next, in state 4 of FIG. 4(C), the path 3 is repeated, and the address #0 in the memory 30 indicated by the read memory address RPA of the read pointer RP is changed to the jump source address WP6 (see FIG. 4). (Refer to bl) When a new read pulse 9 is input after moving one position before the
Route 5 is selected in the operation flowchart of FIG. 5(b).

経路5は、第5図(blのS9→310−S9→310
−S13→315→S16→517→S20という動作
シーケンスである。
Route 5 is S9→310-S9→310 in Fig. 5 (bl)
The operation sequence is -S13→315→S16→517→S20.

即ち、第4図(C)の状態4で、読出しメモリ内アドレ
スRPAがジャンプ元アドレスWP0の1つ手前まで移
動した後(特には図示していない)、ポインタ制御部3
1に読出しパルス9が入力すると(39)、読出しポイ
ンタRPの読出しメモリ番号アドレスRPMの選択する
#0のメモリ30の読出しメモリ内アドレスRPa =
WPo   1から読出しデータ7が読み出される(S
IO)。
That is, in state 4 of FIG. 4(C), after the address RPA in the read memory has moved one place before the jump source address WP0 (not specifically shown), the pointer control unit 3
When the read pulse 9 is input to 1 (39), the read memory address RPa of the #0 memory 30 selected by the read memory number address RPM of the read pointer RP =
Read data 7 is read from WPo 1 (S
IO).

これにより、#0のメモリ30に記憶されていたデータ
は空になったため、ポインタ制御部31は読出しカウン
タ33を制御して読出しポインタRPの読出しメモリ番
号アドレスRP、を+1し読出しメモリ内アドレスRP
AをOにして、第4図fd+の状態5に示すように読出
しポインタRPを#1のメモリ30の先頭アドレスにジ
ャンプさせる。この時、J umpフラグを“θ″に戻
す(311、S12を介して513)。
As a result, the data stored in the memory 30 of #0 becomes empty, so the pointer control unit 31 controls the read counter 33 to increase the read memory number address RP of the read pointer RP by 1 and read the memory address RP.
A is set to 0, and the read pointer RP is jumped to the first address of the memory 30 #1 as shown in state 5 of fd+ in FIG. At this time, the Jump flag is returned to "θ" (513 via 311 and S12).

上記動作により、読出しポインタRPの読出しメモリ番
号アドレスRP14と書込みポインタWPの書込みメモ
リ番号アドレスWP14が同じ#1のメモリ30を指示
するため、ポインタ制御部31は書込みカウンタ32を
制御して書込みポインタWPの書込みメモリ一番号アド
レスWPMを+1し書込みメモリ内アドレスWPAをO
にして、第4図(dlの状態6に示すように書込みポイ
ンタWPを#2のメモリ30の先頭アドレスにジャンプ
させる。この時、再びJ umpフラグを′l”にして
ジャンプしたことを記憶し、ジャンプした時に書込みメ
モリ内アドレスWP、が指示していた#lのメモリ30
内のアドレスをジャンプ元アドレスwp、とじて記憶す
る(S15.316を介して517)。この動作の後、
次の読出しパルス9の入力待ち状態になる(S 20)
Through the above operation, the read memory number address RP14 of the read pointer RP and the write memory number address WP14 of the write pointer WP point to the same memory 30 of #1, so the pointer control unit 31 controls the write counter 32 to set the write pointer WP. The write memory number address WPM is +1 and the address WPA in the write memory is O.
Then, as shown in FIG. 4 (state 6 of dl), the write pointer WP is jumped to the start address of the #2 memory 30. At this time, the Jump flag is set to 'l' again and the jump is memorized. , memory 30 of #l pointed to by address WP in write memory when jumping.
The address within is stored as the jump source address wp (517 via S15.316). After this action,
Waiting for input of next read pulse 9 (S20)
.

以上のようにして、読出しポインタRPが書込みポイン
タWPの存在する#1のメモリ30に移動してきたら、
すぐに書込みポインタRPを次の#2のメモリ30にジ
ャンプさせることにより、書込みデータ6の書込み動作
と読出しデータフの読出し動作を、再び独立して行える
ようにする。
As described above, when the read pointer RP moves to the #1 memory 30 where the write pointer WP exists,
By immediately jumping the write pointer RP to the next #2 memory 30, the write operation of the write data 6 and the read operation of the read data can be performed independently again.

これにより、第4図(d)の状Li6において、ポイン
タ制御部31に読出しパルス9が入力すると、第4図(
C1の場合と同様に第5図中)の動作フローチャートに
おいて前記経路3が選択されて、読出しデータ7が#1
のメモリ30から順次読み出され、また、これと並行し
て同じく書込みパルス8が入力すると、第4図(C)の
場合と同様に第5図Talの動作フローチャートにおい
て前記経路4が選択されて、書込みデータ6が#2のメ
モリ30に順次書き込まれ、第4図Telの状B7のよ
うに変化する。
As a result, when the read pulse 9 is input to the pointer control unit 31 in the state Li6 of FIG. 4(d), as shown in FIG.
Similarly to the case of C1, the path 3 is selected in the operation flowchart in FIG.
When the write pulse 8 is inputted in parallel with this, the path 4 is selected in the operation flowchart of FIG. 5 Tal as in the case of FIG. 4(C). , write data 6 are sequentially written into the #2 memory 30, and the state changes as shown in B7 in FIG.

なお、状s7では書込みポインタWPの書込みメモリ内
アドレスWPAが書込みカウンタ32によってインクリ
メントされてゆき、#2のメモリ30の最終アドレスを
越えて書込みメモリ番号アドレスWP6が+1され、書
込みメモリ内アドレスWPAが0になるため(第3図(
al参照)、書込みポインタWPは#2から#3のメモ
リ30に移動している。
In addition, in state s7, the write memory address WPA of the write pointer WP is incremented by the write counter 32, and the write memory number address WP6 is incremented by 1 beyond the final address of the memory 30 of #2, and the write memory address WPA is Because it becomes 0 (Fig. 3 (
al), the write pointer WP has moved from #2 to #3 memory 30.

そして第4図(e)の状態7に示すように、読出しポイ
ンタRPの読出しメモリ内アドレスRP^が示す#1の
メモリ30内のアドレスが、ジャンプ元アドレスWPo
(第4図(dl参照)の1つ手前まで移動した後、新た
に読出しパルス9が入力すると、第5図(blの動作フ
ローチャートにおいて経路6が選択される。
Then, as shown in state 7 of FIG. 4(e), the address in the memory 30 of #1 indicated by the read memory address RP^ of the read pointer RP is the jump source address WPo.
(After moving one position in front of FIG. 4 (see dl), when a new read pulse 9 is input, path 6 is selected in the operation flowchart of FIG. 5 (bl).

経路6は、第5図tb)のS9→310→311→S1
2→S13→315→S18→S20という動作シーケ
ンスである。
Route 6 is S9 → 310 → 311 → S1 in Figure 5 tb)
The operation sequence is 2→S13→315→S18→S20.

即ち、第4図(elの状態7で、読出しメモリ内アドレ
スRPAがジャンプ元アドレスWPoの1つ手前まで移
動した後、ポインタ制御部31に読出しパルス9が入力
すると(S9)、読出しポインタRPの読出しメモリ番
号アドレスRP、4の選択する#0のメモリ30の、読
出しメモリ内アドレスRPa =WPo −1から読出
しデータ7が読み出される。(SIO)。
That is, in state 7 of FIG. 4 (el), after the readout memory address RPA has moved one place before the jump source address WPo, when the readout pulse 9 is input to the pointer control unit 31 (S9), the readout pointer RP changes. The read data 7 is read from the read memory address RPa = WPo -1 of the #0 memory 30 selected by the read memory number address RP, 4. (SIO).

これにより、#1のメモリ30に記憶されていたデータ
は空になったため、ポインタ制御部31は読出しカウン
タ33を制御して読出しポインタRPの読出しメモリ番
号アドレスRP、を+1し読出しメモリ内アドレスRP
Aを0にして、第4図(elの状B8に示すように読出
しポインタRPを#2のメモリ30の先頭アドレスにジ
ャンプさせる。この時、Jumpフラグを“0″に戻す
(S11、S12を介して513)。
As a result, the data stored in the #1 memory 30 becomes empty, so the pointer control unit 31 controls the read counter 33 to increase the read memory number address RP of the read pointer RP by 1 and read the memory address RP.
A is set to 0, and the read pointer RP is jumped to the first address of the memory 30 of #2 as shown in B8 of FIG. via 513).

上記動作において、読出しポインタRPの読出しメモリ
番号アドレスRP 、と書込みポインタWPの書込みメ
モリ番号アドレスWPoは依然として異なったメモリ番
号#2と#3のメモリ30を指示するため、ポインタ制
御部31はそのまま次の読出しパルス9あ入力待ち状態
になる(S15、S18を介して520)。
In the above operation, the read memory number address RP of the read pointer RP and the write memory number address WPo of the write pointer WP still point to different memory numbers #2 and #3 of the memory 30, so the pointer control unit 31 continues to the next step. It enters a state of waiting for input of read pulse 9 (520 via S15 and S18).

従って、上記動作と並行して第4図telの状B7にお
いて書込みパルス8がポインタ制御部31に入力すると
、第4図(C1の場合と同様に第5図(a)の動作フロ
ーチャートにおいて前記経路4が選択されて、書込みデ
ータ6が#3のメモリ30に順次書き込まれ、第4図(
elの状B8のように変化する。
Therefore, when the write pulse 8 is input to the pointer control unit 31 in the state B7 shown in tel of FIG. 4 in parallel with the above operation, the path is 4 is selected, write data 6 is sequentially written to the memory 30 of #3, and as shown in FIG.
The shape of el changes as shown in B8.

第4図(e)の状B8から、更にポインタ制御部31に
書込みパルス8が入力し、書込みポインタWPの書込み
メモリ内アドレスWPAが書込みカウンタ32によって
インクリメントされてゆき、#3のメモリ30の最終ア
ドレスを越えると、2ビツトの書込みメモリ番号アドレ
スWPHが+1されて3(#3に対応)を越えて0(#
0に対応)に戻り、書込みメモリ内アドレスWPAもO
になるため、書込みポインタWPは#3から#0のメモ
リ30に移動する。更に、同様にして#Oも越えて#1
のメモリ30に移動し、第4図(f)の状態9のように
変化する。
From state B8 in FIG. 4(e), a write pulse 8 is further input to the pointer control unit 31, and the address WPA in the write memory of the write pointer WP is incremented by the write counter 32. When the address is exceeded, the 2-bit write memory number address WPH is incremented by 1, exceeds 3 (corresponding to #3), and becomes 0 (#3).
(corresponding to 0), and write memory address WPA also returns to O.
Therefore, the write pointer WP moves from #3 to the memory 30 of #0. Furthermore, in the same way, cross #O and #1
The state is moved to the memory 30, and changes as shown in state 9 in FIG. 4(f).

ま−た、これと並行して第4図(e)の状態8において
読出しパルスがポインタ制御部31に入力すると、第4
図Telの場合と同様にして読出しデータ7が#2のメ
モリ30から読み出され、第4園TflO状89のよう
に変化する。なおこの場合は、第4図TO+の場合と異
なりJumpフラグは°0”であるため、第5図(bl
の動作フローチャートでは、前記経路3と若干具なり次
のような経路7を通る。
Also, in parallel with this, when a read pulse is input to the pointer control unit 31 in state 8 of FIG. 4(e), the fourth
The read data 7 is read out from the #2 memory 30 in the same manner as in the case shown in FIG. In this case, unlike the case of TO+ in Figure 4, the Jump flag is 0'', so the jump flag in Figure 5 (bl
In the operation flowchart, the following route 7, which is slightly different from the route 3 described above, is taken.

即チ、経路7は、第5図(bl(7)S 9−310 
→S11→S12→S14→S15→S18→S20と
いう動作シーケンスである。
In other words, route 7 is shown in Figure 5 (bl(7)S 9-310
The operation sequence is →S11 →S12 →S14 →S15 →S18 →S20.

この経路7が前記経路3と異なるのは、第5図(blの
S11→S14というのがSll−S12→14という
ように変化しただけであり、実質的な動作は同じである
The only difference between this route 7 and the route 3 described above is that S11→S14 in FIG.

第4図(e)の状B8から第4図(f)の状態9への変
化は、読出しアクセスに比較して書込みアクセスの方が
頻繁に発生し、書込みポインタWPが読出しポインタR
Pに追いついてきた状態である。そして、第4図(fl
の状態9においては、書込みポインタWPの書込みメモ
リ内アドレスWPAの示すアドレスは、#1のメモリ3
0の最終アドレスを示している。この状態で、更に書込
みパルス8がポインタ制御部31に入力すると、第5図
(alの動作フローチャートにおいて経路8が選択され
る。
The change from state B8 in FIG. 4(e) to state 9 in FIG. 4(f) occurs more frequently in write access than in read access, and the write pointer WP moves to the read pointer R.
It is now catching up with P. And Fig. 4 (fl
In state 9, the address indicated by the write memory address WPA of the write pointer WP is the memory 3 of #1.
It shows the final address of 0. In this state, when a write pulse 8 is further input to the pointer control section 31, path 8 is selected in the operation flowchart of FIG. 5 (al).

経路8は、第5図+alの5l−82−33−84→S
5→S6→S8という動作シーケンスである。
Route 8 is 5l-82-33-84→S in Figure 5+al.
The operation sequence is 5→S6→S8.

即ち、第4図(flの状B9で、ポインタ制御部31に
書込みパルス8が入力すると(Sl)、書込みポインタ
WPの書込みメモリ番号アドレスWPイの選択する#1
のメモリ30の、書込みメモリ内アドレスWPAの示す
最終アドレスに書込みデータ6が書き込まれる(S2)
That is, when the write pulse 8 is input to the pointer control unit 31 (Sl) in state B9 of FIG.
Write data 6 is written to the final address of the memory 30 indicated by the write memory address WPA (S2).
.

その後、ポインタ制御部31が書き込みカウンタ32を
インクリメントして書込みポインタWPが+1されると
(S3)、#1のメモリ30の最終アドレスを越えるた
め、書込みメモリ番号アドレスWPMが+1され書込み
メモリ内アドレスWPAが0になって、書込みポインタ
WPは読出しポインタRPの存在する#2のメモリ30
に移動してくる。これにより、ポインタ制御部31はF
ullフラグを“1”にしくS4、S5を介してS6)
、入力待ち状態になる(S8)。
After that, when the pointer control unit 31 increments the write counter 32 and the write pointer WP is incremented by 1 (S3), the write memory number address WPM is incremented by 1 and the address in the write memory is exceeded because it exceeds the final address of the memory 30 of #1. When WPA becomes 0, write pointer WP moves to #2 memory 30 where read pointer RP exists.
It moves to . As a result, the pointer control unit 31
Set the ull flag to “1” (S6 via S4 and S5)
, enters the input waiting state (S8).

Fullフラグが“l”になったことにより、#0〜#
3の全てのメモリ30に対する以後の書      ′
込み動作は禁止され、メモリ30がオーバーフローする
ことを防ぐ。
As the Full flag becomes “l”, #0 to #
Subsequent writing to all memories 30 of 3'
Read operations are inhibited to prevent memory 30 from overflowing.

第4図(f)の状態10において書込み動作が禁止され
た後、読出しパルス9がポインタ制御部31に入力し始
めると、第4図(C1の場合と同様にして、読出しデー
タ7が#2のメモリ30から読み出され、第4図(gl
O状allのように変化する。なおこの場合は、第4図
(C1の場合と異なりFullフラグが“1″、読出し
メモリ番号アドレスRP。
After the write operation is inhibited in state 10 of FIG. 4(f), when the read pulse 9 starts to be input to the pointer control unit 31, the read data 7 is changed to #2 in the same manner as in the case of C1 in FIG. 4 (gl
It changes like O-state all. In this case, unlike the case of FIG. 4 (C1), the Full flag is "1" and the read memory number address RP.

−書込みメモリ番号アドレスWP9であるため、第5図
(blの動作フローチャートでは、前記経路3と異なり
、次のような経路9を通る。
- Since the write memory number address is WP9, in the operation flowchart of FIG. 5 (bl), unlike the route 3, the following route 9 is taken.

即ち、経路9は、第5図(blのS9→310→311
→S14→S15→S16→S20という動作シーケン
スである。
That is, route 9 is S9→310→311 in FIG.
The operation sequence is →S14→S15→S16→S20.

この経路9が前記経路3と異なるのは、第5図(blの
315→S18→S20というのがS15→S16→S
20というように変化しただけであり、実質的な動作は
同じである。
This route 9 is different from the route 3 described above because 315→S18→S20 in FIG.
20, but the actual operation is the same.

第4図(幻の状e、11においては、読出しポインタR
Pの読出しメモリ内アドレスRPAの示すアドレスは、
#2のメモリ30の最終アドレスを示している。この状
態で、更に読出しパルス9がポインタ制御部31に入力
すると、第5図(blの動作フローチャートにおいて経
路7が選択される。この経路7では既に前記したように
、第4図(aの状態11で、ポインタ制御部31に読出
しパルス9が入力すると(S9)、読出しポインタRP
の読出しメモリ番号アドレスRP、の選択する#2のメ
モリ30の、読出しメモリ内アドレスRPAの示す最終
アドレスから読出しデータ7が読み出される (SIO
)。
FIG. 4 (In the phantom state e, 11, the read pointer R
The address indicated by the read memory address RPA of P is:
The final address of the memory 30 of #2 is shown. In this state, when the read pulse 9 is further input to the pointer control unit 31, path 7 is selected in the operation flowchart of FIG. 11, when the read pulse 9 is input to the pointer control unit 31 (S9), the read pointer RP
The read data 7 is read from the final address indicated by the read memory internal address RPA of the #2 memory 30 selected by the read memory number address RP (SIO
).

その後、ポインタ制御部31が読出しカウンタ33をイ
ンクリメントして読出しポインタRPが+1されると(
S11を介して514)、#2のメモリ30の最終アド
レスを越えるため、RMが+1され読出しメモリ内アド
レスRPAが0になって、第4図(幻の状態12に示す
様に、読出しポインタRPは書込みポインタWPの存在
する#2のメモリ30とは異なる#3のメモリ3oに移
動する。
Thereafter, when the pointer control unit 31 increments the read counter 33 and the read pointer RP is increased by 1 (
514), the final address of the memory 30 of #2 is exceeded, so RM is +1 and the read memory internal address RPA becomes 0, and as shown in FIG. 4 (phantom state 12), the read pointer RP moves to the #3 memory 3o, which is different from the #2 memory 30 where the write pointer WP exists.

これにより、ポインタ制御部31はFullフラグを1
0”に戻しくS15を介して818)、書込み禁止を解
除し、入力待ち状態になる(3.20)。
As a result, the pointer control unit 31 sets the Full flag to 1.
818), the write prohibition is canceled, and the state is set to wait for input (3.20).

以上の動作により、メモリ30に書込みデータ6を書き
込む余裕ができたため、書込みデータ6の書込み動作と
読出しデータ7″の読出し動作を、再び独立して行える
ようになる。
As a result of the above operations, there is enough room to write the write data 6 into the memory 30, so that the write operation of the write data 6 and the read operation of the read data 7'' can be performed independently again.

これにより、第4図(幻の状態12において、ポインタ
制御部31に読出しパルス9が入力すると、第4図(f
lの状態9の場合と同様に第5図山)の動作フローチャ
ートにおいて前記経路7が選択されて、読出しデータ7
が#3のメモリ30から順次読み出され、また、これと
並行して同じく書込みパルス8が入力すると、第5図(
In)の動作フローチャートにおいて前記経路4が選択
されて、書込みデータ6が#2のメモリ30に順次書き
込まれ、第4図(hlの状態13、状l113i14の
ように変化する。
As a result, when the read pulse 9 is input to the pointer control unit 31 in the phantom state 12 of FIG.
Similarly to the case of state 9 of 1, the path 7 is selected in the operation flowchart of FIG.
are sequentially read out from the memory 30 of #3, and when the same write pulse 8 is input in parallel with this, as shown in FIG.
In the operation flowchart of In), the path 4 is selected, and the write data 6 is sequentially written into the memory 30 of #2, changing as shown in FIG. 4 (state 13 of hl and state 113i14).

更に同様にして、第4図(1)の状態15のように変化
し、読出しポインタRPの読出しメモリ内アドレスRP
Aの示すアドレスは、#2のメモリ30の最終アドレス
を示す、第4図(b)の状態13.14から第4図(1
)の状態15への変化は、書込みアクセスに比較して読
出しアクセスの方が頻繁に発生し、読出しポインタRP
が書込みポインタWPに追いついてきた状態である。こ
の状態で、更に読出しパルス9がポインタ制御部31に
入力すると、第5図(b)の動作フローチャートにおい
て経路、10が選択される。
Furthermore, in a similar manner, the state 15 of FIG. 4(1) changes, and the address RP in the read memory of the read pointer RP changes.
The address indicated by A indicates the final address of the memory 30 of #2, and is changed from state 13.14 in FIG. 4(b) to state 13.14 in FIG.
) to state 15 occurs more frequently for read accesses than for write accesses, and the change of read pointer RP to state 15 occurs more frequently for read accesses than write accesses.
has caught up with the write pointer WP. In this state, when the read pulse 9 is further input to the pointer control section 31, the path 10 is selected in the operation flowchart of FIG. 5(b).

経路10は、第5図(b)のS9→310→S11→3
14→S15→316→319→S20という動作シー
ケンスである。
Route 10 is S9→310→S11→3 in FIG. 5(b).
The operation sequence is 14→S15→316→319→S20.

即ち、第4図(1)の状態15で、ポインタ制御部31
に読出しパルス9が人力すると(39)、読出しポイン
タRPの読出しメモリ番号アドレスRPMの選択する#
2のメモリ30の、読出しメモリ内アドレスRPAの示
す最終アドレスから読出しデータ7が読み出される(S
 10) 。
That is, in state 15 of FIG. 4(1), the pointer control unit 31
When the read pulse 9 is manually applied (39), the read memory number address RPM of the read pointer RP selects #
The read data 7 is read from the final address indicated by the read memory internal address RPA of the memory 30 of No. 2 (S
10).

その後、ポインタ制御部31が読出しカウンタ33をイ
ンクリメントして読出しポインタRPが+1されると(
Sllを介して514)、#2のメモリ30の最終アド
レスを越えるため、読出しメモリ番号アドレスRP、が
+1され読出しメモリ内アドレスRPAがOになって、
読み出しポインタRPは#3のメモリ30上の書込みポ
インタWPに一致する。これにより、ポインタ制御部3
1はEmptyフラグを“l”にしくS15、S16を
介して519)、入力待ち状態になる(S20)。
Thereafter, when the pointer control unit 31 increments the read counter 33 and the read pointer RP is increased by 1 (
514), the read memory number address RP is +1 and the read memory internal address RPA becomes O because it exceeds the final address of the memory 30 of #2.
The read pointer RP matches the write pointer WP on the memory 30 of #3. As a result, pointer control unit 3
1 sets the Empty flag to "l" (519) via S15 and S16, and enters an input waiting state (S20).

Emptyフラグが“1”になったことにより、#O〜
#3の全てのメモリ30に対する以後の読出し動作は禁
止され、メモリ30がら空データが読み出されてしまう
ことを防ぐ。
As the Empty flag becomes “1”, #O~
Subsequent read operations for all the memories 30 in #3 are prohibited to prevent empty data from being read from the memories 30.

第4図(11の状態16においては、書込み動作のみが
可能となる。従って、この状態でポインタ制御部31に
書込みパルス8が入力すると、第4図+alの場合と同
様に第5図falの動作フローチャートにおいて前記経
路1が選択されて、書込みデータ6が#3のメモリ30
に順次書き込まれ、第4図(J)の状態17のように変
化する。この時、第5図TalのS7によりEmp t
 yフラグは“0”に戻され、読出し禁止が解除される
In state 16 of FIG. 4 (11), only the write operation is possible. Therefore, when write pulse 8 is input to the pointer control unit 31 in this state, as in the case of FIG. In the operation flowchart, the path 1 is selected and the write data 6 is written to the memory 30 of #3.
are sequentially written into the state, and change as shown in state 17 in FIG. 4(J). At this time, Emp t is set by S7 of Tal in FIG.
The y flag is returned to "0" and the read prohibition is canceled.

第4図(」)の状Li17になると、再び読出し可能と
なり、読出しパルス9がポインタ制御部31に読出しパ
ルス9が入力すると、第4図(alの場合と同様に第5
図(alの動作フローチャートにおいて前記経路2が選
択されて、読出しポインタRPをインクリメントすると
共に、書込みポインタWPの書込みメモリ番号アドレス
WP8を+1し書込みメモリ内アドレスWPAをOにし
て、第4図01の状alBに示すように書込みポインタ
WPを#Oのメモリ30の先頭アドレスにジャンプさせ
、Ju m pフラグを111にし、ジャンプ元アドレ
スwp、を記憶する。
When the state Li17 in FIG. 4 ('') is reached, reading becomes possible again, and when the read pulse 9 is input to the pointer control unit 31, the 5
In the operation flowchart of FIG. As shown in state alB, the write pointer WP is jumped to the first address of the memory 30 of #O, the Jump flag is set to 111, and the jump source address wp is stored.

以下、第4図(a)〜(J)と同様の動作を繰り返すこ
とにより、ファーストイン・ファーストアウトの書込み
/読出し動作の制御を行う。この時、前述したように読
出しポインタRPと書込みポインタWPが、常に異なる
メモリ番号に存在するようにポインタ制御部31が制御
を行う。これにより、書込みアクセスと読出しアクセス
は常に独立して行えるため、#0〜#3の各メモリ3o
に対するアクセス速度で、外部からの書込みアクセス及
び読出しアクセスを非同期に行うことができる。
Thereafter, the first-in/first-out write/read operations are controlled by repeating the same operations as in FIGS. 4(a) to 4(J). At this time, as described above, the pointer control unit 31 performs control so that the read pointer RP and write pointer WP always exist at different memory numbers. As a result, write access and read access can always be performed independently, so each memory 3o from #0 to #3
External write and read accesses can be performed asynchronously at an access speed of .

この時、メモリ30の個数は、第6図の各FIFO3に
おいて必要とするバッファリングデータ量が、第2図の
メモリ30の3個分であるとすれば、+1して#0〜#
3の4個とすれば常に読出しポインタRPと書込みポイ
ンタwPを異なるメモリ番号に存在するように制御する
ことができる。
At this time, if the amount of buffering data required in each FIFO 3 in FIG. 6 is three memories 30 in FIG.
If there are four of 3, it is possible to control the read pointer RP and write pointer wP so that they always exist at different memory numbers.

従って、本発明ではメモリ容量の増加を第8図の第2の
従来例等に比較して最小限に抑えることができる。
Therefore, in the present invention, the increase in memory capacity can be minimized compared to the second conventional example shown in FIG. 8, etc.

なお、第5図の動作フローチャート(a)及び(b)は
、メモリ30のアクセスに比較して高速に実行すること
が可能であるため、第5図+alと(blの処理を割込
み処理で交互に行ったとしても、その実行時間は全体の
処理速度に比較して十分に短く、それによる影響は少な
い。また、第2図のポインタ制御部31を書込み制御用
と読出し制御用のマルチプロセッサ構成とし、第5図f
atと(b)の処理を別々に行うようにすれば更に高速
化が計れる。
Note that the operation flowcharts (a) and (b) in FIG. 5 can be executed at high speed compared to accessing the memory 30, so the processing in FIG. Even if the pointer control section 31 shown in FIG. and Fig. 5 f
If the processing at and (b) are performed separately, further speeding up can be achieved.

また、第2図のポインタ制御部31は第5図の動作フロ
ーチャートを実行する小型のCPUとプログラムROM
、及びEmp t yフラグ、Fullフラグ、及びジ
ャンプ元アドレスWP0用の3つの記憶エリアがあれば
よいため、容易に1チツプ化することが可能であり、第
8図の第2の従来例のようにメモリ容量が2倍必要なの
に比較して、低コスト、小スペースで実現することがで
きる。
The pointer control unit 31 shown in FIG. 2 includes a small CPU and a program ROM for executing the operation flowchart shown in FIG.
, the Empty flag, the Full flag, and the jump source address WP0, so it can be easily integrated into a single chip, as in the second conventional example shown in FIG. It can be realized at low cost and in a small space compared to the case where twice the memory capacity is required.

尚、第2図の実施例は、第6図のATM交換用通話路の
FIFO3への適用例であるが、これに限らず他のデー
タ処理装置への応用が可能である。
The embodiment shown in FIG. 2 is an example of application of the ATM switching channel shown in FIG. 6 to the FIFO 3, but the present invention is not limited to this and can be applied to other data processing devices.

〔発明の効果〕〔Effect of the invention〕

本発明によれば、書込みと読出しのアクセスを、メモリ
のアクセス速度で同時に行うことが可能となり、ファー
ストイン・ファーストアウトタイプのデータの入出力制
御の高速化が可能となる。
According to the present invention, write and read accesses can be performed simultaneously at memory access speeds, and first-in, first-out type data input/output control can be performed at high speed.

この時、メモリ定量の増加を最小限に抑えることができ
るため、ハードウェア規模を小型化することができ、コ
ストを低く抑えることが可能となる。
At this time, since the increase in the amount of memory can be minimized, the hardware scale can be reduced and costs can be kept low.

【図面の簡単な説明】[Brief explanation of the drawing]

第1図fat、 (blは、本発明の原理説明図、第2
図は、本発明の実施例の構成図、 第3図(al、fblは、ポインタのアドレス構成図、
第4図(al〜filは、本発明の動作説明図、第5図
fa)、(b)は、ポインタ制御の動作フローチャート
を示した図、 第6図は、ATV交換用通話路の構成図、第7図は、第
1の従来例の構成図、 第8図は、第2の従来例の構成図である。 22−0〜22−N・・・メモリブロック、23・・・
データ、 25・・・読出しポインタ。
Figure 1 fat, (bl is a diagram explaining the principle of the present invention, Figure 2
The figure is a block diagram of an embodiment of the present invention.
Fig. 4 (al to fil are explanatory diagrams of the operation of the present invention, Fig. 5 fa) and (b) are diagrams showing an operation flowchart of pointer control, and Fig. 6 is a configuration diagram of a communication path for ATV exchange. , FIG. 7 is a block diagram of the first conventional example, and FIG. 8 is a block diagram of the second conventional example. 22-0 to 22-N... memory block, 23...
Data, 25...Read pointer.

Claims (1)

【特許請求の範囲】 1)書込みポインタ(24)により指示される書込みア
ドレスにデータ(23)を書き込み、該書込み順で読出
しポインタ(25)により、読出しアドレスを指示して
データ(23)を読み出す方式のバッファメモリにおい
て、 各々独立してデータの書込み又は読出しのアクセス可能
なメモリブロックを複数(22−0〜22−N)用意し
、 前記書込みポインタ(24)及び読出しポインタ(25
)の各々を前記複数のメモリブロック(22−0〜22
−N)間で非同期に巡回させて該各メモリブロック内の
アドレス指定を行い(26、27)、 前記書込みポインタ(24)が指示しているメモリブロ
ックを前記読出しポインタ(25)が指示した場合(2
8)、前記書込みポインタ(24)を次のメモリブロッ
クにジャンプさせる(29)ことにより、同一のメモリ
ブロック上で書込み及び読出しのアクセスが同時に発生
しないように制御を行うことを特徴とするバッファメモ
リ制御方式。 2)前記書込みポインタが指示しているメモリブロック
を前記読出しポインタが指示したことにより前記書込み
ポインタを次のメモリブロックにジャンプさせる場合、
ジャンプした元のメモリブロック内のアドレスを保持し
ておき、前記読出しポインタは該アドレスを指標として
次のメモリプロタグにジャンプするように制御を行うこ
とを特徴とする特許請求の範囲第1項記載のバッファメ
モリ制御方式。 3)前記複数のメモリブロックの個数は、必要なメモリ
容量に対応する個数より1つ多い数であることを特徴と
する特許請求の範囲第2項記載のバッファメモリ制御方
式。 4)前記データはATM交換用通話路におけるパケット
データであることを特徴とする特許請求の範囲第2項又
は第3項記載のバッファメモリ制御方式。
[Claims] 1) Write data (23) to the write address indicated by the write pointer (24), and read the data (23) by indicating the read address with the read pointer (25) in the writing order. In the buffer memory of this method, a plurality of memory blocks (22-0 to 22-N) each independently accessible for writing or reading data are prepared, and the write pointer (24) and read pointer (25) are provided.
) to each of the plurality of memory blocks (22-0 to 22-22).
-N) to specify addresses within each memory block (26, 27), and when the read pointer (25) points to the memory block pointed to by the write pointer (24). (2
8) A buffer memory characterized in that control is performed so that write and read accesses do not occur simultaneously on the same memory block by jumping the write pointer (24) to the next memory block (29). control method. 2) when the write pointer is caused to jump to the next memory block due to the read pointer pointing to the memory block pointed to by the write pointer;
Claim 1, characterized in that the address in the memory block from which the jump was made is held, and the read pointer is controlled to jump to the next memory program tag using the address as an index. buffer memory control method. 3) The buffer memory control method according to claim 2, wherein the number of the plurality of memory blocks is one more than the number corresponding to the required memory capacity. 4) The buffer memory control method according to claim 2 or 3, wherein the data is packet data on an ATM switching channel.
JP62319001A 1987-12-18 1987-12-18 Buffer memory control system Pending JPH01161950A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP62319001A JPH01161950A (en) 1987-12-18 1987-12-18 Buffer memory control system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62319001A JPH01161950A (en) 1987-12-18 1987-12-18 Buffer memory control system

Publications (1)

Publication Number Publication Date
JPH01161950A true JPH01161950A (en) 1989-06-26

Family

ID=18105390

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62319001A Pending JPH01161950A (en) 1987-12-18 1987-12-18 Buffer memory control system

Country Status (1)

Country Link
JP (1) JPH01161950A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5056010A (en) * 1989-10-30 1991-10-08 Industrial Technology Research Institute Pointer based DMA controller
US6567407B1 (en) 1998-02-20 2003-05-20 Nec Electronics Corporation ATM switch circuit capable of increasing use efficiency of address memory, and ATM switch circuit controlling method

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5056010A (en) * 1989-10-30 1991-10-08 Industrial Technology Research Institute Pointer based DMA controller
US6567407B1 (en) 1998-02-20 2003-05-20 Nec Electronics Corporation ATM switch circuit capable of increasing use efficiency of address memory, and ATM switch circuit controlling method

Similar Documents

Publication Publication Date Title
EP0378195B1 (en) Buffer device suitable for asynchronous transfer mode communication
EP0299473B1 (en) Switching system and method of construction thereof
US4926416A (en) Method and facilities for hybrid packet switching
US6546011B1 (en) ATM cell switching system
JP2848400B2 (en) Switching device for prioritized information packets
JPS62155649A (en) Packet switching processor
US6061358A (en) Data communication system utilizing a scalable, non-blocking, high bandwidth central memory controller and method
EP0809380A2 (en) Switching system for switching a fixed-length cell
EP0289733B1 (en) Switching method for integrated voice/data communications
US10055365B2 (en) Shared buffer arbitration for packet-based switching
JP2628701B2 (en) Switch for prioritized information packets
JPH01161950A (en) Buffer memory control system
JPH07202901A (en) Arm switch
US6314489B1 (en) Methods and systems for storing cell data using a bank of cell buffers
JPH01180156A (en) Packet switching circuit
EP0454797B1 (en) An asynchronous time division multiplex switching system
CA2216132A1 (en) Arrangement and method relating to handling of digital signals and a processing arrangement comprising such
JPH0927812A (en) Address generating circuit for atm switch
CN113660180B (en) Data storage method, device, terminal and storage medium
Fried A VLSI chip set for burst and fast ATM switching
JPH06224933A (en) Buffer memory device
JPH08186577A (en) Cell multiplexing method and cell transfer network
JPH10308754A (en) Atm switch
JPH0730933A (en) Channel switch
JP2600494B2 (en) Split H-channel exchange transmission system