JPH0512735B2 - - Google Patents

Info

Publication number
JPH0512735B2
JPH0512735B2 JP59045262A JP4526284A JPH0512735B2 JP H0512735 B2 JPH0512735 B2 JP H0512735B2 JP 59045262 A JP59045262 A JP 59045262A JP 4526284 A JP4526284 A JP 4526284A JP H0512735 B2 JPH0512735 B2 JP H0512735B2
Authority
JP
Japan
Prior art keywords
data
memory
variable name
address
read
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.)
Expired - Lifetime
Application number
JP59045262A
Other languages
Japanese (ja)
Other versions
JPS60189539A (en
Inventor
Hitoshi Nomi
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.)
NEC Corp
Original Assignee
Nippon Electric 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 Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
Priority to JP59045262A priority Critical patent/JPS60189539A/en
Publication of JPS60189539A publication Critical patent/JPS60189539A/en
Publication of JPH0512735B2 publication Critical patent/JPH0512735B2/ja
Granted legal-status Critical Current

Links

Description

【発明の詳細な説明】 (技術分野) 本発明はデータフロー型計算機における加算、
減算等二項演算のためのデータ待合せ及び演算開
始を制御する待合せ回路に関する。
[Detailed Description of the Invention] (Technical Field) The present invention relates to addition in a data flow type computer,
The present invention relates to a queuing circuit that controls data queuing and operation start for binary operations such as subtraction.

(従来技術) データフロー型計算機については日経マグロヒ
ル社発行、日経エレクトロニクス1979年5月28日
号P64〜P81、同1979年6月11日号P92〜P109、
同1979年6月25日号P116〜P131に詳しく述べら
れている。
(Prior art) Regarding data flow type computers, Nikkei Electronics, May 28, 1979 issue, P64-P81, June 11, 1979 issue, P92-P109, published by Nikkei McGro-Hill,
It is described in detail on pages 116 to 131 of the June 25, 1979 issue.

データフロー型計算機では加算、乗算などの二
項演算を行なう場合演算されるべき2つのデータ
が、演算部に入力されると直ちに演算が開始され
る。2つのデータが異なる時刻に演算部に到着す
る場合、相手となるデータが到着するまで先に到
着したデータを待合せ回路で待たせる必要があ
る。相手となるデータが入力されると、そのデー
タが待合せ回路に格納されているペアとなるもう
一方のデータと共に演算回路に出力される。
In a data flow type computer, when performing a binary operation such as addition or multiplication, the operation is started immediately when two pieces of data to be operated on are input to the operation section. When two pieces of data arrive at the arithmetic unit at different times, it is necessary to make the data that arrived first wait in a waiting circuit until the other data arrives. When the other data is input, that data is output to the arithmetic circuit together with the other paired data stored in the queuing circuit.

第1図に一般的なデータフロー型計算機の二項
演算部の例をブロツク図で示す。入力データ49
はそのデータの変数名100と共に二項演算部の
待合せ回路50に入力される。入力データは1ワ
ードずつ直列に入力されるので、待合せ回路は、
二項演算のためのペアデータ、すなわち演算入力
Aデータ52及び演算入力Bデータ53を揃え、
これら両データ52,53を二項演算回路51に
出力する。二項演算回路51は、これら両入力デ
ータ52及び53につき所定の二項演算を行つ
て、演算結果を演算出力データ54として出力す
る。
FIG. 1 shows a block diagram of an example of a binary operation section of a general data flow type computer. Input data 49
is input to the waiting circuit 50 of the binary operation section together with the variable name 100 of the data. Since the input data is input serially one word at a time, the waiting circuit is
Prepare the pair data for the binary operation, that is, the operation input A data 52 and the operation input B data 53,
Both data 52 and 53 are output to the binary arithmetic circuit 51. The binary operation circuit 51 performs a predetermined binary operation on both of these input data 52 and 53, and outputs the operation result as operation output data 54.

この待合せ回路50の従来技術による構成例を
第2図にブロツク図で示す。変数名100は入力
データ49それぞれに添付されたデータ識別のた
めの8ビツトの数値である。一般に、データフロ
ー型計算機では各データに変数名がついている。
演算部に入力されるとその変数名で演算相手とな
るデータの変数名、加算減産等の演算内容、演算
結果につけられる新しい変数名101等が決めら
れる。待合せ回路ではこの変数名100により演
算すべき相手データの識別を行なう。複数のデー
タに同一の変数名がつけられた場合、一連のデー
タ列として解釈される。データ列の演算相手もデ
ータ列であり、そのデータ列中の並び順すなわち
演算部に入力される順番が等しい同士が演算され
る。
An example of a prior art configuration of this queuing circuit 50 is shown in a block diagram in FIG. The variable name 100 is an 8-bit numerical value attached to each input data 49 for data identification. Generally, in a dataflow type computer, each piece of data has a variable name.
When input to the calculation unit, the variable name of the data to be calculated, the contents of the calculation such as addition/reduction, the new variable name 101 to be given to the calculation result, etc. are determined by the variable name. The waiting circuit uses this variable name 100 to identify the other party's data to be operated on. If multiple data are given the same variable name, they will be interpreted as a series of data strings. The operation partner of the data string is also a data string, and the data strings that are arranged in the same order, that is, the order in which they are input to the calculation unit are the same, are calculated.

変数名変換部1は、記憶回路を備えており、そ
の記憶回路には変数名変換テーブルを記憶してい
る。その変数名変換テーブルにより、待合せ回路
に入力されたデータ49に添付された変数名10
0は、待合せ回路で扱い易い新しい変数名101
とデータつき合わせフラグ104とに変換され
る。変数名変換部1では、二項演算を行なうペア
となる2つのデータに付されている変数名100
は、ペア相互において同じである新しい変数名1
01とペア相互で異なるデータつき合わせフラグ
104とに変換される。例えば、ペアとなる2つ
のデータ49に付されてある変数名100がそれ
ぞれA及びBであれば、両データに共通の変数名
Cを変数名101として出力し、つき合せフラグ
としては両データに“1”及び“0”をそれぞれ
付して出力する。変数名100は8ビツト、変換
された新しい変数名101は7ビツト、データつ
き合わせフラグ104は1ビツトで構成される。
The variable name conversion unit 1 includes a storage circuit, and stores a variable name conversion table in the storage circuit. According to the variable name conversion table, the variable name 10 attached to the data 49 input to the waiting circuit
0 is a new variable name 101 that is easy to handle in the waiting circuit
and a data matching flag 104. The variable name conversion unit 1 converts variable names 100 attached to two data pairs to perform a binary operation.
is the new variable name 1 that is the same in each pair
01 and a data matching flag 104 that is different for each pair. For example, if the variable names 100 attached to two data 49 forming a pair are A and B, respectively, the variable name C common to both data is output as the variable name 101, and the matching flag is used for both data. "1" and "0" are added and output. The variable name 100 consists of 8 bits, the converted new variable name 101 consists of 7 bits, and the data matching flag 104 consists of 1 bit.

変数名変換部1で変数名100が新しい変数名
101に変換されると、この新しい変数名101
を受けたベースアドレス部10、リードカウンタ
3、ライトカウンタ4、最大語数部11からベー
スアドレス110、リード計数値111、ライト計
数値112、最大語数113がそれぞれ読み出される。
また、リードライト制御部2は、内部に記憶回路
を備え、この記憶回路にデータつき合せテーブル
を記憶している。このデータつき合せテーブルに
は、変数名101が既に入力済みか否か、また入
力済みのときその入力済みデータのデータつき合
せフラグ104は“1”か“0”かが記録してあ
る。待合せ回路にデータが入力する毎に、入力デ
ータの新しい変数名101及びデータつき合せフ
ラグ104並びにリードライト制御部2のデータ
つき合せテーブルにより、待合せ回路の動作が決
定される。
When the variable name 100 is converted into a new variable name 101 by the variable name conversion unit 1, this new variable name 101
The base address 110, read count value 111, write count value 112, and maximum word count 113 are read out from the received base address section 10, read counter 3, write counter 4, and maximum word count section 11, respectively.
Further, the read/write control section 2 includes an internal memory circuit, and stores a data matching table in this memory circuit. This data matching table records whether the variable name 101 has already been input or not, and if the variable name 101 has already been input, whether the data matching flag 104 of the input data is "1" or "0" is recorded. Every time data is input to the queuing circuit, the operation of the queuing circuit is determined based on the new variable name 101 of the input data, the data matching flag 104, and the data matching table of the read/write control section 2.

第3図は待合せ回路の変数名変換部1に入力さ
れた変数名100がどのように変換されるかを説
明する図である。リードライト制御部2の中に
は、H,L各1ビツトのデータつき合せテーブル
105,106がある。すでに、ある変数名10
1のデータが待合せメモリ8に入力されていてそ
のデータつき合せフラグ104が、“1”だつた
ときには、リードライト制御部2の中にあるデー
タつき合せテーブルH105は、“1”となつて
いる。逆に、データつき合せフラグ104が
“1”のデータが待合せ回路の待合せメモリ8に
入力されているときには、データつき合せテーブ
ルL106が1となつている。待合せメモリ8に
ある変数名101の待つているデータがないとき
には、その変数名101に対応いたアドレスのデ
ータつき合せテーブルH105,L106はとも
に“0”となつている。このつき合せテーブル1
05,106と入力したつき合せフラグの状態に
より、第2図の待合せ回路の作動には次の3つの
場合がある。
FIG. 3 is a diagram illustrating how the variable name 100 input to the variable name converter 1 of the queuing circuit is converted. In the read/write control section 2, there are data matching tables 105 and 106 of 1 bit each for H and L. There are already 10 variable names
1 has been input into the matching memory 8 and the data matching flag 104 is "1", the data matching table H105 in the read/write control unit 2 is set to "1". . Conversely, when data with the data matching flag 104 being "1" is input to the matching memory 8 of the matching circuit, the data matching table L106 is set to 1. When there is no data waiting for the variable name 101 in the matching memory 8, the data matching tables H105 and L106 of the address corresponding to the variable name 101 are both "0". This matching table 1
Depending on the state of the matching flag inputted as 05, 106, there are three cases in which the matching circuit shown in FIG. 2 operates.

第1は、ある変数名101のデータが入力さ
れ、この変数名101に対応したデータつき合せ
テーブルH105,L106の値が共に“0”の
場合である。この場合には、データは、ベースア
ドレス部10のベースアドレス110とライトカウ
ンタ4のライト計数値112との和を加算器12で
計算し、この和をアドレス115として、待合せメ
モリ8に書込まれる。マルチプレクサ5がそのラ
イト計数値112を選択して加算器12に送る。そ
して、その時にリードライト制御部2に入力され
たデータつき合せフラグ104が“1”のときに
は、データつき合せテーブルH105の変数名1
01でアドレスされたエリアが“1”に、データ
つき合せフラグ104が“0”のときにはデータ
つき合せテーブルL106の変数名101でアド
レスされたエリアが“1”にされる。また、ライ
トカウンタ4のライト計数値112がインクリメン
トされる。
The first case is when data of a certain variable name 101 is input and the values of the data matching tables H105 and L106 corresponding to this variable name 101 are both "0". In this case, the data is written into the queue memory 8 by calculating the sum of the base address 110 of the base address section 10 and the write count value 112 of the write counter 4 in the adder 12, and using this sum as address 115. . Multiplexer 5 selects the write count value 112 and sends it to adder 12. Then, when the data matching flag 104 input to the read/write control unit 2 at that time is "1", the variable name 1 of the data matching table H105
When the data matching flag 104 is "0", the area addressed by the variable name 101 of the data matching table L106 is set to "1". Further, the write count value 112 of the write counter 4 is incremented.

第2は、ある変数名101が入力され、このデ
ータつき合せフラグ104が“1”で、データつ
き合せテーブルH105の変数名101に対応し
たエリアの値が“0”データつき合せテーブルL
106の変数名101に対応したエリアの値が
“1”の場合である。このときには、待合せメモ
リ8には入力データとペアとなるデータが格納さ
れていることを意味している。入力したデータ
は、そのまま待合せ回路の次に接続される演算回
路に出力されると同時に、ベースアドレス部10
のベースアドレス110とリードカウンタ3のリ
ード計数値111とを加算した値をアドレス115
として待合せメモリ8から読み出された値116を
ペアとなるデータとして演算回路に出力する。そ
して、このリードカウンタ3のリード計数値111
をインクリメントする。入力したデータつき合せ
フラグ104が“0”でデータつき合せテーブル
H105が“1”データつき合せテーブルL10
6が“0”のときも全く同様に作動する。
Second, a certain variable name 101 is input, this data matching flag 104 is "1", and the value of the area corresponding to the variable name 101 in the data matching table H105 is "0" in the data matching table L.
This is a case where the value of the area corresponding to the variable name 101 in 106 is "1". At this time, it means that the waiting memory 8 stores data that is paired with the input data. The input data is output as it is to the arithmetic circuit connected next to the waiting circuit, and at the same time it is output to the base address section 10.
The value obtained by adding the base address 110 and the read count value 111 of read counter 3 is set to address 115.
The value 116 read out from the queue memory 8 as a pair of data is output to the arithmetic circuit. And the read count value of this read counter 3 is 111
Increment. The input data matching flag 104 is “0” and the data matching table H105 is “1” data matching table L10
It operates in exactly the same way when 6 is "0".

第3は、ある変数名101が入力され、このデ
ータつき合せフラグ104が“1”で、データつ
き合せテーブルH105の変数名101に対応し
たエリアの値が“1”、データつき合せテーブル
L106の変数名101に対応したエリアの値が
“0”の場合である。このときには、待合せメモ
リ8には入力したデータの変数名100と同じ変
数名のデータが格納されている。従つて、入力し
たデータは、ベースアドレス部10のベースアド
レス110とライトカウンタ4のライト計数値
112との和をアドレス115として待合せメモリ
8に書込まれる。そして、ライトアダプタ4のラ
イト計数値112が1インクリメントされる。デー
タつき合せフラグ104が“0”でデータつき合
せテーブルH105の変数名101に対応したエ
リアの値が“0”、データつき合せテーブルL1
06の変数名101に対応したエリアの値が
“1”の場合も全く同様の動きをする。
Third, a certain variable name 101 is input, the data matching flag 104 is "1", the value of the area corresponding to the variable name 101 of the data matching table H105 is "1", and the value of the area corresponding to the variable name 101 of the data matching table L106 is "1". This is a case where the value of the area corresponding to variable name 101 is "0". At this time, data having the same variable name as the variable name 100 of the input data is stored in the waiting memory 8. Therefore, the input data is the base address 110 of the base address section 10 and the write count value of the write counter 4.
112 is written into the queue memory 8 as address 115. Then, the write count value 112 of the write adapter 4 is incremented by one. The data matching flag 104 is "0", the value of the area corresponding to the variable name 101 of the data matching table H105 is "0", and the data matching table L1
Exactly the same behavior occurs when the value of the area corresponding to variable name 101 of 06 is "1".

第2の場合において、リード計数値111がイン
クリメントした結果ライト計数値112と等しくな
つたときは、待合せメモリ8に待合せデータがな
くなつたことを意味し、データつき合せテーブル
H105,L106の変数名101に対応するエ
リアの値が共に“0”とされる。これは比較器1
3により行なわれる。第2又は第3の場合におい
て、リード計数値111又はライト計数値112がイン
クリメントした結果、最大語数113と等しくなつ
たときには、リード計数値111又はライト計数値
112はクリアされる。最大語数113は、その変数名
101に対して割当てられた待合せメモリ8のサ
イズを示している。
In the second case, when the read count value 111 is incremented and becomes equal to the write count value 112, it means that there is no longer any waiting data in the waiting memory 8, and the variable name of the data matching table H105, L106 The values of the areas corresponding to 101 are both set to "0". This is comparator 1
3. In the second or third case, when the read count value 111 or the write count value 112 becomes equal to the maximum number of words 113 as a result of incrementing, the read count value 111 or the write count value
112 is cleared. The maximum number of words 113 indicates the size of the queue memory 8 allocated to the variable name 101.

第3の場合において、ライト計数値112がイン
クリメントした結果リード計数値111と等しくな
つたとき、すなわちライト計数値112がリード計
数値111に追いついたときには、入力データが待
合せメモリ8に割当てられた語数以上待合せのた
めに書込まれた事を意味する。1つの変数名10
1に割当てられた待合せメモリ8のサイズは変数
名101に対応した最大語数113の値しかないか
ら、変数名101が等しくデータつき合せフラグ
104が等しいデータばかり連続して最大語数
113の値以上に入力すると、上のように待合せメ
モリ8からデータがあふれてしまう。この場合、
あふれたデータは消滅してしまい正しい処理を行
なうことができない。第4図にベースアドレス1
10、リード計数値111、ライト計数値112、最大
語数113と待合せメモリ8のアドレスとの関係を
示す。
In the third case, when the write count value 112 becomes equal to the read count value 111 as a result of incrementing, that is, when the write count value 112 catches up with the read count value 111, the number of words of the input data allocated to the queue memory 8 This means that the message was written for a meeting. 1 variable name 10
Since the size of the queue memory 8 allocated to 1 has only the value of 113, the maximum number of words corresponding to the variable name 101, only the data with the same variable name 101 and the same data matching flag 104 can be consecutively stored with the maximum number of words.
If a value greater than 113 is input, data will overflow from the waiting memory 8 as shown above. in this case,
Overflowing data disappears and cannot be processed correctly. Base address 1 in Figure 4
10 shows the relationship between the read count value 111, the write count value 112, the maximum number of words 113, and the address of the waiting memory 8.

集積回路の個数等物理的制約から待合せメモリ
8の容量は有限である。従つて、従来の待合せ回
路では、1つの変数名101に大きなメモリサイ
ズを割当てることが不可能であつた。そこで、従
来の待合せ回路では、データフロー型計算機のプ
ログラムを作成する際の待合せメモリからデータ
があふれないようデータの流量を制限する注意が
必要であり、又、データ流量に制限があるから、
データフロー型計算機を効率よく動作させること
が困難であるという欠点がある。
The capacity of the queuing memory 8 is limited due to physical constraints such as the number of integrated circuits. Therefore, in the conventional waiting circuit, it is impossible to allocate a large memory size to one variable name 101. Therefore, in conventional queuing circuits, care must be taken to limit the flow rate of data so that data does not overflow from the queuing memory when creating a program for a data flow computer, and since there is a limit to the data flow rate,
A drawback is that it is difficult to operate a dataflow computer efficiently.

(発明の目的) 本発明の目的は、待合せメモリの記憶容量が限
られていてもその待合せメモリからデータがあふ
れにくい待合せ回路の提供にある。
(Object of the Invention) An object of the present invention is to provide a queuing circuit that prevents data from overflowing from the queuing memory even if the storage capacity of the queuing memory is limited.

(発明の構成) 本発明によるデータフロー型計算機における待
合せ回路は、データの待合せをするため先に到着
したデータを一時格納しておく複数ブロツク構成
のメモリと; 入力したデータに添付されているデータ識別の
ための変数名より新たな内部変数名と、同じ内部
変数名を持つペアとなる2つのデータのいずれで
あるかを示す少なくとも1ビツトのデータつき合
せフラグとを生成する変数名変換部と; 前記内部変数名ごとのアドレスを有し前記メモ
リの読出しアドレスの要素を生成するリードカウ
ンタと; 前記内部変数名ごとのアドレスを有し前記メモ
リへの書込みアドレスの要素を生成するライトカ
ウンタと; データが入力するたびに同じ前記内部変数名を
持つデータを前記メモリに格納するかまたは同じ
前記内部変数名を持つデータとペアとなるデータ
を前記メモリから読出すかを前記データつき合せ
フラグと、ペアとなるデータの前記メモリへの格
納有無状態を示すために前記メモリへのデータの
書込み及び読出しの際にそのデータに付された前
記データつき合せフラグの値に応じていずれかが
セツト及びリセツトされる前記内部変数名対応の
第1及び第2のデータつき合せテーブルの理論値
とに基づて判断し、前記メモリに同じ前記内部変
数名を持つデータが格納されていないとき入力し
たデータの書込みを指示し前記ライトカウンタを
インクリメントすると共にそのとき書込まれたデ
ータに付された前記内部変数名と前記データつき
合せフラグに対応したデータつき合せテーブルの
値をセツトし、入力したデータとペアとなるデー
タが前記メモリに格納されているときこの格納さ
れているデータの読出しを指示し前記リードカウ
ンタをインクリメントすると共にそのとき読出さ
れたデータに付された前記内部変数名と前記デー
タつき合せフラグに対応したデータつき合せテー
ブルの値をリセツトし、入力したデータと同じ前
記内部変数名のデータが前記メモリに格納されて
いるときこの入力したデータの書込みを指示する
と共に前記ライトカウンタをインクリメントする
リードライト制御部と; 読出しまたは書込みに応じて各各前記リードカ
ウンタまたは前記ライトカウンタの出力を前記メ
モリに対応するブロツクにアドレスするためのア
ドレス変換テーブルを備え、前記リードカウンタ
または前記ライトカウンタの出力の上位の複数ビ
ツト及び前記内部変数名を入力として前記メモリ
読出しまたは書込みのアドレスの上位複数ビツト
をブロツクアドレスとして生成するアドレス変換
部と; 初期状態で前記メモリの分割された全ブロツク
を使用可能ブロツクとして記憶しておき、前記内
部変数名対応の各各のデータを前記メモリに書込
む際、前記リードカウンタ及び前記ライトカウン
タの出力を検査してその出力値がいずれもゼロの
とき、ペアとなるデータが前記メモリに格納され
ていないと判定して前記使用可能ブロツクの先頭
番号を前記アドレス変換テーブルの前記内部変数
名と前記ライトカウンタの上位ビツト群とで指定
されるワードにブロツクアドレスとして指定し、
分割された1つのブロツク容量を書込みデータが
超えたと判定したとき他の使用可能ブロツクの先
頭番号を前記アドレス変換テーブルの同じ前記内
部変数名と前記ライトカウンタの上位ビツト群と
で指定されるワードに割当てるブロツクアドレス
として指定して前記アドレス変換テーブルを書換
え、ペアとなるデータがすでに前記メモリに書込
まれていると判定したときこの書込まれているデ
ータがすべて読出されて空になつたブロツクを使
用可能な未使用ブロツクとして管理するアドレス
制御部とを有する。
(Structure of the Invention) The queuing circuit in the data flow type computer according to the present invention includes a memory having a plurality of blocks for temporarily storing data that arrives first for queuing data; and data attached to input data. a variable name conversion unit that generates a new internal variable name from a variable name for identification and a data matching flag of at least 1 bit indicating which of two pairs of data having the same internal variable name; a read counter that has an address for each internal variable name and generates an element of a read address of the memory; a write counter that has an address for each internal variable name and generates an element of a write address to the memory; Each time data is input, whether data having the same internal variable name is stored in the memory or data paired with data having the same internal variable name is read from the memory is determined by the data matching flag and the pair. In order to indicate whether or not data is stored in the memory, either one is set or reset according to the value of the data matching flag attached to the data when writing or reading data to the memory. Writing input data when data with the same internal variable name is not stored in the memory, based on the theoretical values of the first and second data matching tables corresponding to the internal variable name. and increments the write counter, sets the value of the data matching table corresponding to the internal variable name attached to the data written at that time and the data matching flag, and matches the input data with the pair. When data is stored in the memory, it instructs the reading of the stored data, increments the read counter, and sets the internal variable name attached to the data read at that time and the data matching flag. A read write that resets the value of the corresponding data matching table and, when data with the same internal variable name as the input data is stored in the memory, instructs writing of the input data and increments the write counter. a control unit; comprising an address conversion table for addressing the output of each of the read counters or the write counters to a block corresponding to the memory in response to reading or writing; an address conversion unit that receives the plurality of bits of the memory and the internal variable name as input and generates the upper plurality of bits of the memory read or write address as a block address; and stores all the divided blocks of the memory as usable blocks in an initial state. When writing each piece of data corresponding to the internal variable name to the memory, the outputs of the read counter and the write counter are checked, and if the output values are both zero, the paired data is determining that the block is not stored in the memory, and specifying the first number of the usable block as a block address in a word specified by the internal variable name of the address conversion table and the upper bit group of the write counter;
When it is determined that the write data exceeds the capacity of one divided block, the start number of another available block is set to the word specified by the same internal variable name of the address conversion table and the upper bit group of the write counter. The address conversion table is rewritten by specifying it as the block address to be assigned, and when it is determined that the paired data has already been written to the memory, all the written data is read out and the block becomes empty. It has an address control unit that manages it as a usable unused block.

(実施例) 次に実施例を挙げ本発明を詳細に説明する。(Example) Next, the present invention will be explained in detail with reference to Examples.

第5図は本発明の一実施例のブロツク図であ
る。この実施例は、変数名変換部1、リードライ
ト制御部2、リードカウンタ3、ライトカウンタ
4、アドレスマルチプレクサ5、アドレス変換部
6、アドレス制御部7、待合せメモリ8からな
る。
FIG. 5 is a block diagram of one embodiment of the present invention. This embodiment includes a variable name conversion section 1, a read/write control section 2, a read counter 3, a write counter 4, an address multiplexer 5, an address conversion section 6, an address control section 7, and a queue memory 8.

変数名変換部1は、内部の記憶回路に記憶して
ある変数名変換テーブルに基づき、データ49に
添付された変数名100を新しい変数名(内部変
数名)101とデータつき合せフラグ104に変
換する。リードライト制御部2は、変数名101
及びデータつき合せフラグ104に応じて、デー
タ49を待合せメモリ8に書込むか、又はそのデ
ータ49のペアとなる相手を待合せメモリ8から
読出すかを制御する。リードカウンタ3及びライ
トカウンタ4は、それぞれ待合せメモリ8のリー
ドアドレス及びライトアドレスの生成のためのカ
ウンタであり、各変数名ごとのアドレスを保持す
るためのメモリと加算器とで構成される。マルチ
プレクサ5は、リードライト制御部2からのクロ
ツクに同期して、リードカウンタ3及びライトカ
ウンタ4の出力を交互に切換え、待合せメモリ8
およびアドレス変換部6に出力する(但し、待合
せメモリ8において書込む読み出しが必らずしも
交互に行われるのではない)。アドレス変換部6
は、内部の記憶回路にアドレス変換テーブルを記
憶しており、マルチプレクサ5の出力の上位ビツ
ト及び変数名101をそのアドレス変換テーブル
に照合して待合せメモリ8のアドレス上位ビツト
を生成する。アドレス制御部7は、リード計数値
111及びライト計数値112を受け、アドレス変換テ
ーブル書き換えデータ117を出力し、アドレス変
換テーブルの書き換えを制御する。
The variable name conversion unit 1 converts the variable name 100 attached to the data 49 into a new variable name (internal variable name) 101 and a data matching flag 104 based on a variable name conversion table stored in an internal storage circuit. do. The read/write control unit 2 uses the variable name 101
In accordance with the data matching flag 104, it is controlled whether to write the data 49 to the matching memory 8 or to read the partner of the data 49 from the matching memory 8. The read counter 3 and the write counter 4 are counters for generating a read address and a write address for the queue memory 8, respectively, and are composed of a memory for holding an address for each variable name and an adder. The multiplexer 5 alternately switches the outputs of the read counter 3 and the write counter 4 in synchronization with the clock from the read/write controller 2, and outputs the output from the waiting memory 8.
and is output to the address converter 6 (however, writing and reading in the queue memory 8 are not necessarily performed alternately). Address conversion section 6
stores an address conversion table in its internal storage circuit, and generates the address high-order bits of the queuing memory 8 by comparing the upper bits of the output of the multiplexer 5 and the variable name 101 with the address conversion table. The address control unit 7 has a read count value.
111 and write count value 112, outputs address conversion table rewriting data 117, and controls rewriting of the address conversion table.

本実施例は、変数名100が8ビツト、待合せ
メモリ8が64K語の待合せ回路である。変数名1
00が8ビツトであるので、各変数名に対し変換
テーブルを持つ必要があり変数名変換テーブルは
256語必要となる。この変数名変換テーブルは変
数名変換部1に備えてある。このとき新しい変数
名101は256語のデータでペアデータを構成す
るので半分の128すなわち7ビツトで構成される。
変数名変換テーブルの動作は、第2図の従来の方
式と全く同じであり、入力された変数名100を
新しい変数名101とデータつき合せフラグ10
4に変換する。この変数名101はリードライト
制御部2に入力されたデータつき合せフラグ10
4の状態により待合せメモリ8への動作が決定さ
れる。
This embodiment is a waiting circuit in which the variable name 100 has 8 bits and the waiting memory 8 has 64K words. Variable name 1
Since 00 is 8 bits, it is necessary to have a conversion table for each variable name, and the variable name conversion table is
256 words are required. This variable name conversion table is provided in the variable name conversion section 1. At this time, the new variable name 101 consists of 256 words of data, which constitutes pair data, so it consists of half of the data, 128, or 7 bits.
The operation of the variable name conversion table is exactly the same as the conventional method shown in FIG.
Convert to 4. This variable name 101 is the data matching flag 10 input to the read/write control unit 2.
The operation to the waiting memory 8 is determined by the state of 4.

入力データ49に添付されている変数名100
は、変数名変換部1の変数名変換テーブルで第3
図に示すようにペアデータのどちらかということ
を示す1ビツトのデータつき合せフラグ104
と、1組のペアデータを表す内部変数名101と
に変換され、この内部変数名101は第5図に示
すリードライト制御部2に入力される。
Variable name 100 attached to input data 49
is the third variable name conversion table of variable name conversion section 1.
As shown in the figure, a 1-bit data matching flag 104 indicates which of the paired data is.
and an internal variable name 101 representing a set of paired data, and this internal variable name 101 is input to the read/write control unit 2 shown in FIG.

リードライト制御部2は、第3図に示すデータ
つき合せテーブル105,106を備え、入力デ
ータ49と同じ変数名を持つデータがすでに待合
せメモリ8に格納済みか否か、また格納済のとき
は入力データと待合せメモリ8に格納済のデータ
とのデータつき合せフラグ104が同じか否かを
判断する。
The read/write control unit 2 is equipped with data matching tables 105 and 106 shown in FIG. It is determined whether the data matching flag 104 between the input data and the data already stored in the waiting memory 8 is the same.

入力データ49とペアとなるデータが待合せメ
モリ8に格納されていないとき(データつき合せ
テーブルH105,L106が共に“0”のと
き)は、この入力データ49を待合せメモリ8へ
書込み、ライトカウンタ4をインクリメントす
る。
When the data paired with the input data 49 is not stored in the matching memory 8 (when the data matching tables H105 and L106 are both "0"), this input data 49 is written to the matching memory 8, and the write counter 4 Increment.

このときデータつき合せフラグ104が“1”
であれば、データつき合せテーブルH105の変
数名101対応のエリアが“1”を、またデータ
つき合せフラグ104が“0”であれば、データ
つき合せテーブルL106の変数名101対応の
エリアに“1”を書込む。
At this time, the data matching flag 104 is “1”
If so, the area corresponding to the variable name 101 in the data matching table H105 is set to "1", and if the data matching flag 104 is "0", the area corresponding to the variable name 101 in the data matching table L106 is set to "1". Write 1”.

入力データ49とペアとなるデータがすでに待
合せメモリ8に格納済のとき(データつき合せフ
ラグ104が“1”でかつ、変数名101に対応
するデータつき合せテーブルH105が“0”、
L106が“1”のとき、またはデータつき合せ
フラグ104が“0”でかつ、変数名101に対
応するデータつき合せテーブルH105が“1”、
L106が“0”のとき)は、待合せメモリ8か
らペアデータの読出しを指示すると共に、リード
カウンタ3をインクリメントする。
When the data paired with the input data 49 has already been stored in the matching memory 8 (the data matching flag 104 is "1" and the data matching table H105 corresponding to the variable name 101 is "0",
When L106 is "1", or the data matching flag 104 is "0" and the data matching table H105 corresponding to the variable name 101 is "1",
When L106 is "0"), the read counter 3 instructs to read the pair data from the queue memory 8 and increments the read counter 3.

入力データと同じ変数名を持つてはいるが、こ
の入力データとはペアとならないデータが待合せ
メモリ8にすでに格納されているとき(データつ
き合せフラグ104が“1”でかつ、変数名10
1に対応するデータつき合せテーブルH105が
“1”、L106が“0”のとき、またはデータつ
き合せフラグ104が“0”でかつ、変数名10
1に対応するデータつき合せテーブルH105が
“0”、L106が“1”のとき)は、この入力デ
ータ49を待合せメモリ8へ書込み、ライトカウ
ンタ4をインクリメントする。
When data that has the same variable name as the input data but is not paired with this input data is already stored in the matching memory 8 (the data matching flag 104 is "1" and the variable name 10
When the data matching table H105 corresponding to 1 is "1" and L106 is "0", or the data matching flag 104 is "0" and the variable name 10
1), this input data 49 is written to the matching memory 8, and the write counter 4 is incremented.

従来の方式によるとリードアダプタ3の出力
111はベースアドレス部10の出力110と加算され
た後待合せメモリ8を直接アドレスする。しか
し、本実施例でマルチプレクサ5の出力のアドレ
スのうち下位8ビツトのみ待合せメモリ8のアド
レスとして用いられ、上位8ビツトは変数名10
1の7ビツトと共にアドレス変換部6に入力され
ている。
According to the conventional method, the output of lead adapter 3
111 is added to the output 110 of the base address section 10 and then directly addresses the queue memory 8. However, in this embodiment, only the lower 8 bits of the output address of the multiplexer 5 are used as the address of the queue memory 8, and the upper 8 bits are used as the variable name 10.
It is input to the address conversion unit 6 together with the 7 bits of 1.

第6図はアドレス変換部6の入出力を詳細に示
すブロツク図である。このアドレス変換部6は、
8ビツトで32K語の容量の記憶回路を持つてお
り、この記憶回路にアドレス変換テーブルを記憶
している。アドレス変換テーブルのアドレスライ
ンの上位7ビツトには変数名101が、下位8ビ
ツトにはマルチプレクサ5の出力の上位8ビツト
がそれぞれ接続されている。このように構成する
ことにより、待合せメモリ8を256語ごとにブロ
ツク化できる。待合せメモリ8をこのようにブロ
ツク化することにより、1つの変数名当りの待ち
データが多く、待合せメモリ8のサイズが不足し
た場合には、そのブロツク単位でその変数名当り
の待合せ語数の増設が可能となる。
FIG. 6 is a block diagram showing in detail the input/output of the address translation section 6. This address conversion unit 6 is
It has an 8-bit memory circuit with a capacity of 32K words, and an address conversion table is stored in this memory circuit. A variable name 101 is connected to the upper 7 bits of the address line of the address conversion table, and the upper 8 bits of the output of the multiplexer 5 are connected to the lower 8 bits. With this configuration, the waiting memory 8 can be divided into blocks for every 256 words. By dividing the matching memory 8 into blocks in this way, if there is a large amount of waiting data per variable name and the size of the matching memory 8 is insufficient, the number of matching words per variable name can be increased in that block unit. It becomes possible.

第7図は、アドレス変換部6のアドレス変換テ
ーブルがマルチプレクサ5の出力(リード計数値
111又はライト計数値112)を待合せメモリ8のア
ドレスに変換する様子を示す図である。アドレス
変換テーブルの入力アドレスの上位7ビツトは変
数名101であり、各変数名101ごとに変換テ
ーブルを256語持つていることになる。
FIG. 7 shows that the address conversion table of the address conversion section 6 is the output of the multiplexer 5 (read count value
111 or write count value 112) into an address of the waiting memory 8. The upper 7 bits of the input address of the address conversion table are variable names 101, and the conversion table has 256 words for each variable name 101.

本実施例では、まず入力する可能性のある変数
名に待合せメモリ8の1ブロツクを割当ててお
く。ここで待合せメモリ1ブロツクは256語で各
ブロツクにブロツクナンバーを付けておく。待合
せメモリ1ブロツクを割当てた場合、アドレス変
換テーブルの同一変数名が割当られている256語
のエリアには上記割当てしたブロツクナンバーと
等しいブロツクナンバーを設定しておく。なお、
等しいブロツクナンバーを設定する目的は、万一
プログラムに誤りがあつた場合でも、他の変数で
使用しているブロツクのデータを破壊しないよう
に保護するためである。
In this embodiment, first, one block of the waiting memory 8 is allocated to a variable name that may be input. Here, one block of the waiting memory has 256 words and a block number is assigned to each block. When one block of waiting memory is allocated, a block number equal to the above allocated block number is set in the 256 word area to which the same variable name of the address translation table is allocated. In addition,
The purpose of setting equal block numbers is to protect data in blocks used by other variables from being destroyed even if an error occurs in the program.

リード計数値111とライト計数値112の上位8ビ
ツトが異なつた場合、アドレス変換テーブル内の
異なつた語をアクセスしている。このときには、
ライト計数値112が示すアドレス変換テーブルの
内容を別のブロツクナンバーにする必要がある。
すなわち、1ブロツクをこの変数名に割当てる。
このとき、アドレス制御部7が、未使用ブロツク
を管理しており、アドレス変換テーブルの内容を
新しいブロツクナンバーとすると共にそのブロツ
クを使用済としてマークする。この方式により、
1種の変数名しか入力しないならば、この変数名
に256ブロツク、すなわち64K語の待合せメモリ
を割当てることができる。従来の方式と同様に、
ペアとなるデータが入力されると待合せメモリ8
の内容が読出され、リード計数値111がインクリ
メントされる。待合せメモリ8の不要となつたブ
ロツクはアドレス制御部7が再び未使用ブロツク
としてマークする。
If the upper 8 bits of read count value 111 and write count value 112 are different, different words in the address translation table are being accessed. At this time,
It is necessary to change the contents of the address conversion table indicated by the write count value 112 to a different block number.
That is, one block is assigned to this variable name.
At this time, the address control section 7 manages unused blocks, sets the contents of the address conversion table to a new block number, and marks the block as used. With this method,
If only one type of variable name is entered, 256 blocks, or 64K words, of queue memory can be allocated to this variable name. Similar to the traditional method,
When paired data is input, the waiting memory 8
The contents of are read and the read count value 111 is incremented. Blocks in the waiting memory 8 that are no longer needed are again marked as unused blocks by the address control unit 7.

次にアドレス変換テーブルを書換え、待合せメ
モリ8の未使用部分を割当てる動作の詳細につい
て説明する。
Next, details of the operation of rewriting the address conversion table and allocating an unused portion of the waiting memory 8 will be explained.

アドレス制御部7は、待合せメモリ8の使用可
能なメモリブロツクのブロツクアドレスを記憶し
て管理する。電源オンやリセツト等による初期設
定時には待合せメモリ8にはデータが何も格納さ
れていないため、待合せメモリ8の分割された全
ブロツクが使用可能ブロツクとなる。データ49
が入力され、添付されているある変数名のデータ
が待合せメモリ8に書込まれる場合、ライト計数
値112とリード計数値111を検査する。検査の結
果、ライト計数値112及びリード計数値111がどち
らも“0”の場合(データ無し状態)、データを
あらたに書込むために未使用のブロツク群の先頭
ブロツク番号をアドレス変換テーブルの変数名
と、リード計数値またはライト計数値の上位8ビ
ツトとで指定されたワードにブロツクアドレス1
17として出力する。そしてこの先頭ブロツク番
号のブロツクを使用済ブロツクとして管理する。
The address control unit 7 stores and manages block addresses of available memory blocks in the waiting memory 8. Since no data is stored in the waiting memory 8 at the time of initial setting by turning on the power, resetting, etc., all divided blocks of the waiting memory 8 become usable blocks. data 49
is input and data with a certain attached variable name is written to the waiting memory 8, the write count value 112 and read count value 111 are checked. As a result of the inspection, if the write count value 112 and read count value 111 are both "0" (no data), set the first block number of the unused block group to a variable in the address conversion table to write new data. The block address 1 is stored in the word specified by the name and the upper 8 bits of the read count value or write count value.
Output as 17. The block with this first block number is managed as a used block.

更に書込みが続き1メモリブロツク分のデータ
数の整数倍より多い例えば257語目を書込む場合、
すなわち、ライト計数値112の上位8ビツト目
(256を示すビツト)が変化した場合は、未使用で
あるブロツク群の先頭ブロツク番号をアドレス変
換テーブルの変数名と、ライト計数値の上位8ビ
ツトとで指定されたワードにブロツクアドレス1
17として出力する。そしてこの出力した先頭ブ
ロツク番号のブロツクを使用済ブロツクとして管
理する。これにより新しい256語分のブロツクが
確保されたことになる。
If the writing continues and the number of data is more than an integer multiple of one memory block, for example, when writing the 257th word,
In other words, if the upper 8 bits of the write count value 112 (the bits indicating 256) change, the first block number of the unused block group is used as the variable name in the address conversion table and the upper 8 bits of the write count value. block address 1 in the word specified by
Output as 17. Then, the block with the outputted first block number is managed as a used block. This means that a new block of 256 words has been secured.

いろいろな変数名のデータが次々に入力される
と、待合せメモリ8の各ブロツクには、アドレス
制御部7で管理している未使用ブロツクのブロツ
ク番号分だけの変数名を割当てることができる。
When data with various variable names are input one after another, each block in the waiting memory 8 can be assigned as many variable names as the block numbers of unused blocks managed by the address control section 7.

一方、ある変数名のデータが待合せメモリ8に
格納されていて、そのデータとペアとなるデータ
が入力されたとき、すなわち、リード計数値111
の上位8ビツト目が変化した場合(そのブロツク
を全部読出したとき)、待合せメモリ8のペアと
なるデータが読出されて空になつた待合せメモリ
8の当該ブロツクを未使用ブロツクとして管理す
る。
On the other hand, when data with a certain variable name is stored in the waiting memory 8 and data paired with that data is input, that is, the lead count value 111
When the upper 8th bit of the block changes (when all the blocks are read), the corresponding block of the waiting memory 8 which becomes empty after reading out the paired data of the waiting memory 8 is managed as an unused block.

本実施例では変数名100が8ビツト、待合せ
メモリ8の容量が64K語、アドレス変換テーブル
が32K語(8ビツト)としたが、本発明は他の組
合せでも実現できることは明らかである。
In this embodiment, the variable name 100 is 8 bits, the capacity of the queue memory 8 is 64K words, and the address conversion table is 32K words (8 bits), but it is clear that the present invention can be realized with other combinations.

(発明の効果) 以上説明したように、本発明は、リードカウン
タ及びライトカウンタの出力をアドレス変換テー
ブルで変換し、またそのアドレス変換テーブルの
内容をアドレス制御部で制御することにより、特
定の変数名に待ちデータが集中した場合でも待合
せメモリの未使用の部分をその変数名の待合せメ
モリとして割当てることができるから、限られた
サイズの待合せメモリを有効に利用することがで
きる。このように、本発明によれば、待合せメモ
リの記憶容量が限られていても、その待合せメモ
リからデータがあふれにくい待合せ回路が提供で
きる。従つて、この発明の待合せ回路を用いてデ
ータフロー演算処理を行なえば、待合せメモリの
オーバーフローを生ずる恐れが少ないから、デー
タ流量の制限が通常不要であり、非常に高速高効
率な演算処理が可能となる。また、この発明の待
合せ回路を備えたデータフロー型計算機用プログ
ラムには、待合せメモリからのデータのオーバー
フローの防止についてほとんど留意を要しないか
ら、プログラムが容易に迅速に作成できる。
(Effects of the Invention) As explained above, the present invention converts the outputs of a read counter and a write counter using an address conversion table, and controls the contents of the address conversion table using an address control unit, thereby converting a specific variable into Even when waiting data is concentrated for a variable name, an unused portion of the matching memory can be allocated as matching memory for that variable name, so the limited size matching memory can be used effectively. As described above, according to the present invention, it is possible to provide a queuing circuit in which data does not overflow from the queuing memory even if the storage capacity of the queuing memory is limited. Therefore, if data flow arithmetic processing is performed using the queuing circuit of the present invention, there is little risk of overflowing the queuing memory, so there is usually no need to limit the data flow rate, and extremely high-speed and highly efficient arithmetic processing is possible. becomes. Further, since the program for a data flow computer equipped with the queuing circuit of the present invention requires little attention to the prevention of data overflow from the queuing memory, the program can be created easily and quickly.

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

第1図は一般的なデータフロー型計算機におけ
る二項演算部のブロツク図、第2図は従来方式の
待合せ回路のブロツク図、第3図は第2図の従来
方式の待合せ回路の動作を説明する図、第4図は
第2図の待合せ回路における待合せメモリのアド
レス生成を説明する図、第5図は本発明の一実施
例を示すブロツク図、第6図は第5図実施例にお
けるアドレス変換部6の入出力を詳しく示す図、
第7図は第5図実施例におけるアドレス変換テー
ブルによるアドレス変換の一例を示す図である。
Figure 1 is a block diagram of a binary operation unit in a general data flow computer, Figure 2 is a block diagram of a conventional queuing circuit, and Figure 3 explains the operation of the conventional queuing circuit shown in Figure 2. FIG. 4 is a diagram explaining address generation of the queuing memory in the queuing circuit of FIG. 2, FIG. 5 is a block diagram showing an embodiment of the present invention, and FIG. A diagram showing the input and output of the converter 6 in detail,
FIG. 7 is a diagram showing an example of address conversion using the address conversion table in the embodiment of FIG.

Claims (1)

【特許請求の範囲】 1 データの待合せをするため先に到着したデー
タを一時格納しておく複数ブロツク構成のメモリ
と; 入力したデータに添付されているデータ識別の
ための変数名より新たな内部変数名と、同じ内部
変数名を持つペアとなる2つのデータのいずれで
あるかを示す少なくとも1ビツトのデータつき合
せフラグとを生成する変数名変換部と; 前記内部変数名ごとのアドレスを有し前記メモ
リの読出しアドレスの要素を生成するリードカウ
ンタと; 前記内部変数名ごとのアドレスを有し前記メモ
リへの書込みアドレスの要素を生成するライトカ
ウンタと; データが入力するたびに同じ前記内部変数名を
持つデータを前記メモリに格納するかまたは同じ
前記内部変数名を持つデータとペアとなるデータ
を前記メモリから読出すかを前記データつき合せ
フラグと、ペアとなるデータの前記メモリへの格
納有無状態を示すために前記メモリへのデータの
書込み及び読出しの際にそのデータに付された前
記データつき合せフラグの値に応じていずれかが
セツト及びリセツトされる前記内部変数名対応の
第1及び第2のデータつき合せテーブルの論理値
とに基づいて判断し、前記メモリに同じ前記内部
変数名を持つデータが格納されていないとき入力
したデータの書込みを指示し前記ライトカウンタ
をインクリメントすると共にそのとき書込まれた
データに付された前記内部変数名と前記データつ
き合せフラグに対応したデータつき合せテーブル
の値をセツトし、入力したデータとペアとなるデ
ータが前記メモリに格納されているときこの格納
されているデータの読出しを指示し前記リードカ
ウンタをインクリメントすると共にそのとき読出
されたデータに付された前記内部変数名と前記デ
ータつき合せフラグに対応したデータつき合せテ
ーブルの値をリセツトし、入力したデータと同じ
前記内部変数名のデータが前記メモリに格納され
ているときこの入力したデータの書込みを指示す
ると共に前記ライトカウンタをインクリメントす
るリードライト制御部と; 読出しまたは書込みに応じて各各前記リードカ
ウンタまたは前記ライトカウンタの出力を前記メ
モリの対応するブロツクにアドレスするためのア
ドレス変換テーブルを備え、前記リードカウンタ
または前記ライトカウンタの出力の上位の複数ビ
ツト及び前記内部変数名を入力として前記メモリ
の読出しまたは書込みのアドレスの上位複数ビツ
トをブロツクアドレスとして生成するアドレス変
換部と; 初期状態で前記メモリの分割された全ブロツク
を使用可能ブロツクとして記憶しておき、前記内
部変数名対応の各各のデータを前記メモリに書込
む際、前記リードカウンタ及び前記ライトカウン
タの出力を検査してその出力値がいずれもゼロの
とき、ペアとなるデータが前記メモリに格納され
ていないと判定して前記使用可能ブロツクの先頭
番号を前記アドレス変換テーブルの前記内部変数
名と前記ライトカウンタの上位ビツト群とで指定
されるワードにブロツクアドレスとして指定し、
分割された1つのブロツク容量を書込みデータが
超えたと判定したとき他の使用可能ブロツクの先
頭番号を前記アドレス変換テーブルの同じ前記内
部変数名と前記ライトカウンタの上位ビツト群と
で指定されるワードに割当てるブロツクアドレス
として指定して前記アドレス変換テーブルを書換
え、ペアとなるデータがすでに前記メモリに書込
まれていると判定したときこの書込まれているデ
ータがすべて読出されて空になつたブロツクを使
用可能な未使用ブロツクとして管理するアドレス
制御部と; を有することを特徴とするデータフロー型計算機
における待合せ回路。
[Claims] 1. A memory having a plurality of blocks for temporarily storing data that arrives earlier in order to wait for data; a variable name conversion unit that generates a variable name and a data matching flag of at least 1 bit indicating which of two pairs of data having the same internal variable name; and an address for each internal variable name; a read counter that generates an element of a read address of the memory; a write counter that has an address for each internal variable name and generates an element of a write address to the memory; and a write counter that generates an element of a write address to the memory; The data matching flag indicates whether data having the same internal variable name is stored in the memory or data paired with data having the same internal variable name is read from the memory, and whether paired data is stored in the memory. The first and second variables corresponding to the internal variable names are set or reset depending on the value of the data matching flag attached to the data when writing or reading data to the memory to indicate the state. and the logic value of the second data matching table, and when data with the same internal variable name is not stored in the memory, the input data is instructed to be written, the write counter is incremented, and the write counter is incremented. When the value of the data matching table corresponding to the internal variable name attached to the written data and the data matching flag is set, and the data paired with the input data is stored in the memory. Instructs to read the stored data, increments the read counter, and resets the value of the data matching table corresponding to the internal variable name and data matching flag attached to the data read at that time. a read/write control unit that instructs writing of the input data and increments the write counter when data having the same internal variable name as the input data is stored in the memory; An address conversion table is provided for addressing the output of each of the read counters or the write counters to a corresponding block of the memory, and the upper bits of the output of the read counter or the write counter and the internal variable name are input. an address conversion unit that generates a plurality of high-order bits of the read or write address of the memory as a block address; and an address converter that stores all divided blocks of the memory as usable blocks in an initial state, and stores the blocks corresponding to the internal variable names. When writing each piece of data to the memory, the outputs of the read counter and the write counter are checked, and if the output values are both zero, it is determined that the paired data is not stored in the memory. specifying the first number of the usable block as a block address in the word specified by the internal variable name of the address conversion table and the upper bit group of the write counter;
When it is determined that the write data exceeds the capacity of one divided block, the start number of another available block is set to the word specified by the same internal variable name of the address conversion table and the upper bit group of the write counter. The address conversion table is rewritten by specifying it as the block address to be assigned, and when it is determined that the paired data has already been written to the memory, all the written data is read out and the block becomes empty. A queuing circuit in a data flow computer, comprising: an address control unit that manages the block as a usable unused block;
JP59045262A 1984-03-09 1984-03-09 Queuing circuit Granted JPS60189539A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP59045262A JPS60189539A (en) 1984-03-09 1984-03-09 Queuing circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP59045262A JPS60189539A (en) 1984-03-09 1984-03-09 Queuing circuit

Publications (2)

Publication Number Publication Date
JPS60189539A JPS60189539A (en) 1985-09-27
JPH0512735B2 true JPH0512735B2 (en) 1993-02-18

Family

ID=12714372

Family Applications (1)

Application Number Title Priority Date Filing Date
JP59045262A Granted JPS60189539A (en) 1984-03-09 1984-03-09 Queuing circuit

Country Status (1)

Country Link
JP (1) JPS60189539A (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5759252A (en) * 1980-09-26 1982-04-09 Oki Electric Ind Co Ltd Operand control system of data flow computer

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5759252A (en) * 1980-09-26 1982-04-09 Oki Electric Ind Co Ltd Operand control system of data flow computer

Also Published As

Publication number Publication date
JPS60189539A (en) 1985-09-27

Similar Documents

Publication Publication Date Title
JP3599352B2 (en) Flexible N-way memory interleave scheme
JPS60238944A (en) Storage device for tracing
US4555771A (en) Data processing system for data base management of matrix type data
GB1561697A (en) Memory systems for use in data processing
KR20030055467A (en) A method for memory allocation using multi-level partition
JPH0512735B2 (en)
JP3024156B2 (en) Variable length data memory interface circuit
US4323978A (en) Arithmetic element based on the DDA principle
JP2000347929A (en) Memory ic
JP2728151B2 (en) Programmable controller
JPS6061842A (en) Access system of structure memory
JP2624738B2 (en) Rounding method
JPS59114657A (en) Memory interface circuit of microcomputer
JPS6012185Y2 (en) data storage device
JPS6117480Y2 (en)
JPS6168636A (en) Data processor
JP2507399B2 (en) Database equipment
JPH0934788A (en) Device and method for translating address
JPH06230084A (en) Serial pattern generator
JPS5897084A (en) Font memory access circuit
JPH0721760B2 (en) Digital arithmetic circuit
JPS5941056A (en) Accessing method of data in floating decimal point register
JPS5860354A (en) Multiplying device
JPH077383B2 (en) Waiting circuit
JPS59146343A (en) Information processing device