JPH06101044B2 - Deadlock avoidance execution control method - Google Patents
Deadlock avoidance execution control methodInfo
- Publication number
- JPH06101044B2 JPH06101044B2 JP63013452A JP1345288A JPH06101044B2 JP H06101044 B2 JPH06101044 B2 JP H06101044B2 JP 63013452 A JP63013452 A JP 63013452A JP 1345288 A JP1345288 A JP 1345288A JP H06101044 B2 JPH06101044 B2 JP H06101044B2
- Authority
- JP
- Japan
- Prior art keywords
- information
- data packet
- data
- input data
- input
- 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 - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4494—Execution paradigms, e.g. implementations of programming paradigms data driven
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
Description
【発明の詳細な説明】 [産業上の利用分野] この発明は、デッドロック回避実行制御方式に関し、特
にデータフロー型情報処理装置におけるデッドロックを
回避する実行制御方式に関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a deadlock avoidance execution control method, and more particularly to an execution control method for avoiding deadlock in a data flow type information processing apparatus.
[従来の技術] 第4図は、従来のデータフロー型情報処理装置の一例を
示すブロック図である。また、第5図は第4図に示す情
報処理装置におけるデータパケットのフィールド構成を
示す図である。[Prior Art] FIG. 4 is a block diagram showing an example of a conventional data flow type information processing apparatus. Further, FIG. 5 is a diagram showing a field structure of a data packet in the information processing apparatus shown in FIG.
第4図において、1はデータフロープログラムを記憶し
ているプログラム記憶手段であって、第5図における入
力データパケットの行先情報に基づいたアドレス指定に
よって、次位の行先情報および次位の命令情報が読出さ
れ、当該各読出情報を前記入力データパケットの行先フ
ィールドおよび命令フィールドに格納して出力する。2
はプログラム記憶手段1から出力されるデータパケット
の待合わせ、すなわち、カラー情報および行先情報が一
致する異なる2つのデータパケットの検出を行ない、当
該カラー情報および行先情報が一致する2つのデータパ
ケットのうちの一方のデータパケットのオペランドデー
タ、たとえば第5図におけるデータ1フィールドの内容
を他方のデータパケットの第5図におけるデータ2フィ
ールドに格納して出力するデータ対生成手段である。3
はデータ対生成手段2から出力されるデータパケットに
対して所定の演算処理を施し、その結果を入力データパ
ケットのデータ1フィールドに格納して上記プログラム
記憶手段1に出力する演算処理手段である。なお、4お
よび5はプログラム記憶手段1とデータ対生成手段2と
をつなぐデータ伝送路である。6はデータ対生成手段2
と演算処理手段3とをつなぐデータ伝送路である。さら
に、7は演算処理手段3とプログラム記憶手段1とをつ
なぐデータ伝送路である。In FIG. 4, reference numeral 1 is a program storage means for storing a data flow program, and by the address designation based on the destination information of the input data packet in FIG. 5, the next destination information and the next instruction information are given. Are read, and the respective read information are stored in the destination field and the instruction field of the input data packet and output. Two
Waits for the data packet output from the program storage unit 1, that is, detects two different data packets having the same color information and destination information, and detects the two data packets having the same color information and destination information. Data pair generating means for storing the operand data of one data packet, for example, the contents of the data 1 field in FIG. 5 in the data 2 field of the other data packet and outputting the data. Three
Is an arithmetic processing means for performing a predetermined arithmetic processing on the data packet output from the data pair generating means 2, storing the result in the data 1 field of the input data packet, and outputting the result to the program storage means 1. In addition, 4 and 5 are data transmission paths connecting the program storage means 1 and the data pair generation means 2. 6 is a data pair generation means 2
It is a data transmission line that connects the processing unit 3 and the arithmetic processing unit 3. Further, 7 is a data transmission path connecting the arithmetic processing means 3 and the program storage means 1.
データパケットがプログラム記憶手段1→データ対生成
手段2→演算処理手段3→プログラム記憶手段1→…と
回り続けることにより、プログラム記憶手段1に記憶さ
れたデータフロープログラムに基づいて演算処理が進行
する。The data packet continues to rotate in the order of the program storage means 1 → the data pair generation means 2 → the arithmetic processing means 3 → the program storage means 1 → ..., whereby the arithmetic processing proceeds based on the data flow program stored in the program storage means 1. .
また、第6図にプログラム記憶手段1における記憶内容
のフィールド構成の一部を示す。さらに、第7図にデー
タ対生成手段2の一例であるマッチングメモリのフィー
ルド構成を示す。Further, FIG. 6 shows a part of the field structure of the stored contents in the program storage means 1. Further, FIG. 7 shows a field structure of a matching memory which is an example of the data pair generating means 2.
従来、この種の情報処理装置では、情報処理学会第34回
全国大会講演論文集2Q−7、249頁〜250頁(昭和62年)
に見られるように、データ対生成手段2としてマッチン
グメモリを使用した場合、マッチングメモリへのアクセ
スに対して第5図に示すカラーフィールドおよび行先フ
ィールドの内容にハッシュ演算を施して得られる値をア
ドレスとして用いることにより、当該マッチングメモリ
の物理的アドレス空間の有効利用が図られている。しか
し、ハッシングされたアドレスによりマッチングメモリ
をアクセスする方式では、同一のハッシュアドレスを有
する異なる複数のデータがアクセス競合(以下、ハッシ
ュ衝突と呼ぶ)を起こし処理の実行が継続できないこと
がある。そこで、上記論文では、ハッシュ衝突時の処理
として、「データ入替方式」を導入している。すなわ
ち、データ入替方式では、データ対生成手段2において
以下の動作を行なう。但し、データフロープログラムの
実行開始以前には、第7図に示すデータ対生成手段2の
マッチングメモリ内のすべてのプレゼンスビット(PB)
が「無効」に設定されているものとする。Conventionally, in this type of information processing device, the IPSJ 34th National Convention Lecture Collection, 2Q-7, pages 249 to 250 (1987)
As shown in FIG. 5, when a matching memory is used as the data pair generating means 2, the value obtained by performing the hash operation on the contents of the color field and the destination field shown in FIG. As a result, the physical address space of the matching memory is effectively used. However, in the method of accessing the matching memory with the hashed address, a plurality of different data having the same hash address may cause access conflict (hereinafter referred to as hash collision), and the processing may not be continued. Therefore, in the above paper, the "data replacement method" is introduced as the processing at the time of hash collision. That is, in the data exchange method, the data pair generating means 2 performs the following operation. However, before the execution of the data flow program, all the presence bits (PB) in the matching memory of the data pair generating means 2 shown in FIG.
Is set to "invalid".
(1) 第5図に示す入力データパケットのカラー情報
および行先情報にハッシュ演算を施し、得られた値をア
ドレスとしてマッチングメモリの内容を読出す。(1) The hash operation is performed on the color information and the destination information of the input data packet shown in FIG. 5, and the contents of the matching memory are read using the obtained value as an address.
(2) 読出内容中のPBが「無効」であれば、前記入力
データパケットのうち、カラー情報,行先情報およびデ
ータ1フィードの内容を当該ハッシュアドレスに従って
マッチングメモリに書込むとともに、PBを「無効」に設
定し、処理を終了する。PBが「有効」であれば、下記
(3)の処理を行なう。(2) If the PB in the read content is "invalid", the contents of the color information, the destination information and the data 1 feed in the input data packet are written in the matching memory according to the hash address, and the PB is "invalid". ", And the process ends. If PB is "valid", the following process (3) is performed.
(3) 前記入力データパケットのカラー情報および行
先情報の内容と、前記マッチングメモリからの読出内容
中のカラー情報および行先情報の内容とを比較し、当該
内容の数値において入力データパケットの方が大きけれ
ば(4)、小さければ(5)、一致した場合は(6)の
各処理を行なう。(3) The contents of the color information and the destination information of the input data packet are compared with the contents of the color information and the destination information in the contents read from the matching memory, and the input data packet is larger in the numerical value of the contents. If it is (4), if it is smaller, (5), and if they match, the processing of (6) is performed.
(4) 第5図に示す入力データパケットのスルーパケ
ットフラグを「有効」に設定した後、データ対生成手段
2から送り出し、処理を終了する。(4) After setting the through packet flag of the input data packet shown in FIG. 5 to "valid", it is sent from the data pair generating means 2 and the processing is ended.
(5) 前記マッチングメモリの当該アドレスに従って
読出された内容からデータパケットを生成し、さらに、
新たに生成されたデータパケットのスルーパケットフラ
グを「有効」に設定した後、データ対生成手段2から送
出するとともに、前記入力データパケットのうち、カラ
ー情報,行先情報,命令情報およびデータ1フィールド
の内容を当該ハッシュアドレスに従って前記マッチング
メモリに書込み、処理を終了する。(5) A data packet is generated from the content read according to the address of the matching memory, and further,
After the through packet flag of the newly generated data packet is set to "valid", it is sent from the data pair generating means 2 and the color information, the destination information, the command information and the data 1 field of the input data packet are set. The contents are written in the matching memory according to the hash address, and the process is completed.
(6) 前記入力データパケット中のデータフィールド
の内容と、前記マッチングメモリから読出されたデータ
フィールドの内容とを併せてデータ対を生成し、さら
に、前記入力データパケット中のカラー情報,行先情報
および命令情報の内容を付加することにより新たなデー
タパケットを生成し、新たに生成されたデータパケット
のスルーパケットフラグを「無効」に設定した後、デー
タ対生成手段2から送出するとともに、前記マッチング
メモリの当該アドレスのPBを「無効」に設定し、処理を
終了する。(6) A data pair is generated by combining the contents of the data field in the input data packet and the contents of the data field read from the matching memory, and further, color information, destination information, and destination information in the input data packet are generated. A new data packet is generated by adding the contents of the command information, the through packet flag of the newly generated data packet is set to "invalid", and then the data pair generating means 2 sends the packet and the matching memory. The PB of the relevant address of is set to "invalid", and the processing is ended.
なお、スルーパケットフラグが「有効」であるデータパ
ケットは、データ対生成手段2から送出された後、演算
処理手段3およびプログラム記憶手段1において、何の
処理もなされずに通過し、データ対生成手段2に戻っ
て、再度上記の処理を受ける。A data packet whose through packet flag is "valid" is sent from the data pair generation means 2 and then passes through the arithmetic processing means 3 and the program storage means 1 without any processing to generate a data pair. Returning to the means 2, the above processing is performed again.
[発明が解決しようとする課題] 第8図にデータフロープログラムの例の一部を示す。同
図において、N1およびN2は2入力1出力演算ノード、D1
およびD2はそれぞれノードN1およびN2に対する入力デー
タパケットの行先情報を表わす。また、同図中の破線
は、データ従属関係を意味する。すなわち、同図におい
て、ノードN1の出力をたどればノードN2の左入力に到達
すること、および、ノードN1の出力とノードN2の右入力
との間にデータ従属関係が存在しないことを表わしてい
る。さらに、同図中の●印P1L,P2Rは、各ノードに対す
る入力データパケットである。すなわち、ノードN1の左
入力に対する入力データパケットP1L、および、ノードN
2の右入力に対する入力データパケットP2Rの生成が完了
していること、換言すれば、たとえばデータパケットP1
Lは、ノードN1の行先情報D1と命令情報がプログラム記
憶手段1から読出され、データ対生成手段2においてデ
ータ対となるべきデータパケットP1Rの到着を待合わせ
ている。[Problems to be Solved by the Invention] FIG. 8 shows a part of an example of a data flow program. In the figure, N1 and N2 are 2-input 1-output operation nodes, D1
And D2 represent the destination information of the input data packet for nodes N1 and N2, respectively. In addition, the broken line in the figure means the data dependency. That is, in the figure, the output of node N1 is followed to reach the left input of node N2, and there is no data dependency between the output of node N1 and the right input of node N2. There is. Further, ● marks P1L and P2R in the figure are input data packets to each node. That is, the input data packet P1L for the left input of the node N1 and the node N
Generation of the input data packet P2R for the right input of 2 has been completed, in other words, for example, the data packet P1
The L waits for the arrival of the data packet P1R to be the data pair in the data pair generation means 2 when the destination information D1 and the command information of the node N1 are read from the program storage means 1.
説明の簡単化のため、第8図において、ノードN1、N2に
対する入力データパケットのカラー情報の内容はすべて
同一とする。第8図において、行先情報D1、D2から同一
のハッシュアドレスが生成され、しかも、当該内容の数
値においてD1>D2であるとすると、データパケットP1
L、P2Rの生成順序に関係なく、上記「データ入替方式」
により最終的にデータパケットP2Rの内容がデータ対生
成手段2のマッチングメモリ内に書込まれる。他方、デ
ータパケットP1Lはスルーパケットフラグを「有効」に
した状態で、データ対生成手段2から送り出され、ノー
ドN2に対するデータ対が生成されるまで、第4図に示す
情報処理装置内を巡回し続ける。ところで、ノードN2に
対するデータ対が生成されるのは、ノードN2の左入力に
対する入力データパケットP2Lが生成され、データ対生
成手段2に入力されたときであるが、当該データパケッ
トP2Lが生成されるのは、ノードN1とノードN2とのデー
タ従属関係により、ノードN1に対する演算が実行された
後、すなわち、ノードN1に対するデータ対が生成された
後になる。しかし、ノードN1に対するデータ対生成は、
データパケットP2Rがデータ対生成手段2のマッチング
メモリに書込まれているため、ノードN2に対するデータ
対が生成される以前には起こり得ない。For simplification of description, the contents of the color information of the input data packets for the nodes N1 and N2 are all the same in FIG. In FIG. 8, if the same hash address is generated from the destination information D1 and D2 and the numerical value of the content is D1> D2, the data packet P1
Regardless of the generation order of L and P2R, the above "data replacement method"
As a result, the content of the data packet P2R is finally written in the matching memory of the data pair generating means 2. On the other hand, the data packet P1L is sent from the data pair generating means 2 with the through packet flag set to "valid", and circulates in the information processing apparatus shown in FIG. 4 until the data pair for the node N2 is generated. to continue. Incidentally, the data pair for the node N2 is generated when the input data packet P2L for the left input of the node N2 is generated and input to the data pair generating means 2, but the data packet P2L is generated. Is after the operation for the node N1 is executed, that is, after the data pair for the node N1 is generated due to the data dependency relationship between the node N1 and the node N2. However, the data pair generation for node N1
Since the data packet P2R is written in the matching memory of the data pair generation means 2, it cannot happen before the data pair for the node N2 is generated.
以上のことから、第8図に示す状況において、ノードN
1、N2に対する入力データパケットのカラー情報の内容
が一致し、さらに、行先フィールドの内容D1、D2が同一
のハッシュアドレスを生成し、しかも、当該内容の数値
においてD1>D2であるとき、デッドロックが発生するこ
とがわかる。この問題に関して、上記論文においては、
入力データパケットの行先情報、すなわち、ノード番号
の設定法に制限を加えることにより、ハッシュ衝突に起
因するデッドロックの回避が図られている。すなわち、
データフロープログラム中においてデータ従属関係を持
つ任意の2つの2入力1出力ノードに着目したとき、ど
の2つのノードに対しても、データ従属関係に基づき先
に発火可能となるノードに対して、入力データパケット
の行先フィールドの内容が小さくなるように設定する方
式を採用している。たとえば、第8図に示す例では、デ
ータ従属関係に基づき、常にD1<D2が成立するように行
先情報、すなわち、ノード番号が設定される。From the above, in the situation shown in FIG.
Deadlock when the contents of the color information of the input data packet for 1 and N2 match, and the contents of the destination field D1 and D2 generate the same hash address and D1> D2 in the numerical value of the contents. It can be seen that occurs. Regarding this problem, in the above paper,
By limiting the destination information of the input data packet, that is, the method of setting the node number, deadlock caused by hash collision is avoided. That is,
When paying attention to any two 2-input 1-output nodes having data dependency in the data flow program, input to any two nodes that can be fired first based on the data dependency A method is adopted in which the content of the destination field of the data packet is set to be small. For example, in the example shown in FIG. 8, the destination information, that is, the node number is set based on the data dependency so that D1 <D2 is always satisfied.
実行すべきデータフロープログラムがループ構造を含ま
ない場合は、上記論文の方式を採用することにより、ハ
ッシュ衝突に起因するデッドロックが回避できる。とこ
ろが、データフロープログラムがループ構造を含む場合
は、上記論文の方式だけではハッシュ衝突に起因するデ
ッドロックが回避できない。第9図にループ構造を含む
データフロープログラムの例の一部を示す。同図中のN
3、N4、D3、D4、および、●印P3L、P4Rの意味、さらに
破線の意味は第8図の場合と同様である。また、第9図
中の■印P3rは、ノードN3の出力からノードN3の右入力
に再び至る経路、すなわち、ループをなすノード群のい
ずれかのノード入力を表わし、処理が進行すれば最終的
にノードN3の右入力データパケットP3Rを生成するデー
タパケットを表わしている。説明の簡単化のため、P3
L、P4R、および、P3rのカラー情報はすべて同一とす
る。第9図は、ノードN4の演算が実行され、ノードN3に
対する入力データ対が生成される以前に、ノードN4に対
する入力データパケットがデータ対生成手段2に入力さ
れる情況を示している。第9図において、ノードN3、N4
に対する入力データパケットの行先情報D3、D4から同一
のハッシュアドレスが生成され、しかも、当該内容の数
値においてD3>D4であるとすると、第8図においてD1>
D2である場合と全く同様の理由により、ハッシュ衝突に
起因するデッドロックが発生する。また、第9図に示す
データフロープログラムにおいて、ノードN3、N4に対す
る入力データパケットの行先情報、D3、D4から同一のハ
ッシュアドレスが生成され、しかも、当該内容の数値に
おいてD3<D4であるとしても、当該データフロープログ
ラムにおけるノードN3、N4に関するデータ従属関係が同
一の構造を持つことから、逆にノードN3の右入力に対す
る入力データパケットがデータ対生成手段2のマッチン
グメモリに書込まれ、デッドロックが発生する可能性が
ある。If the data flow program to be executed does not include a loop structure, the method of the above paper can be adopted to avoid deadlock due to hash collision. However, if the data flow program includes a loop structure, the deadlock due to hash collision cannot be avoided only by the method of the above paper. FIG. 9 shows a part of an example of the data flow program including the loop structure. N in the figure
The meanings of 3, N4, D3, D4, and ● marks P3L, P4R and the meaning of the broken line are the same as in the case of FIG. In addition, a black square mark P3r in FIG. 9 represents a path from the output of the node N3 to the right input of the node N3 again, that is, one of the node inputs of the node group forming the loop. Represents the data packet that produces the right input data packet P3R of node N3. For simplicity of explanation, P3
The color information of L, P4R, and P3r are all the same. FIG. 9 shows a situation in which the input data packet for the node N4 is input to the data pair generating means 2 before the operation of the node N4 is executed and the input data pair for the node N3 is generated. In FIG. 9, nodes N3 and N4
Assuming that the same hash address is generated from the destination information D3 and D4 of the input data packet for D1, and D3> D4 in the numerical value of the content, D1> in FIG.
Deadlock caused by hash collision occurs for exactly the same reason as D2. Further, in the data flow program shown in FIG. 9, even if the same hash address is generated from the destination information D3, D4 of the input data packet for the nodes N3, N4, and D3 <D4 in the numerical value of the content. Since the data dependency relations of the nodes N3 and N4 in the data flow program have the same structure, the input data packet for the right input of the node N3 is written in the matching memory of the data pair generation means 2 and deadlocked. May occur.
以上のことから、ループ構造を含むデータフロープログ
ラムを実行する場合には、上記論文に示された方式だけ
ではハッシュ衝突に起因するデッドロックが回避できな
いことがわかる。From the above, when executing a dataflow program including a loop structure, it can be seen that deadlock due to hash collision cannot be avoided only by the method shown in the above paper.
この発明は、上記問題点を解消するためになされたもの
で、ループ構造を含むデータフロープログラムを実行す
る場合であってもデッドロックを回避し得るようなデッ
ドロック回避実行制御方式を提供することを目的とす
る。The present invention has been made to solve the above problems, and provides a deadlock avoidance execution control method capable of avoiding a deadlock even when a data flow program including a loop structure is executed. With the goal.
[課題を解決するための手段] この発明に係るデッドロック回避実行制御方式は、プロ
グラム記憶手段とマッチングメモリとデータ対生成手段
と演算処理とを備える情報処理装置において、プログラ
ム記憶手段から出力されるデータパケットのフィールド
に優先情報を付与し、データ対生成手段でハッシュ衝突
を起こした場合は当該入力データパケットの優先情報に
従って、データ対生成処理の優先順位を決定するように
したものである。[Means for Solving the Problem] A deadlock avoidance execution control method according to the present invention is output from a program storage means in an information processing apparatus including a program storage means, a matching memory, a data pair generation means, and an arithmetic processing. The priority information is given to the field of the data packet, and when a hash collision occurs in the data pair generation means, the priority order of the data pair generation processing is determined according to the priority information of the input data packet.
[作用] 上記のように、優先情報を設定することにより、ループ
構造を含むデータフロープログラムに対しても実行時に
おけるハッシュ衝突に起因するデッドロック回避するよ
うにしている。[Operation] By setting the priority information as described above, a deadlock due to a hash collision at the time of execution is avoided even for a data flow program including a loop structure.
[実施例] 以下、実施例に基づいて本発明を詳細に説明する。[Examples] Hereinafter, the present invention will be described in detail based on Examples.
第1図にデータフロー型情報処理装置の一実施例におけ
るデータパケットのフィールド構成を示す。第1図にお
けるデータパケットのフィールド構成は、第5図に示し
た従来装置におけるデータパケットのフィールド構成
に、データ対生成手段2において優先的に実行処理され
るべきデータパケットであることを示す情報を格納する
ための優先情報フィールドを付与したものである。な
お、当該実施例における情報処理装置のブロック図は、
第4図と同一である。FIG. 1 shows the field structure of a data packet in one embodiment of the data flow type information processing apparatus. The field structure of the data packet shown in FIG. 1 is the same as the field structure of the data packet in the conventional apparatus shown in FIG. 5 except that information indicating that the data packet should be preferentially executed in the data pair generation means 2 is added. It is provided with a priority information field for storing. In addition, the block diagram of the information processing apparatus in the embodiment is
It is the same as in FIG.
また、第2図に当該実施例における情報処理装置のプロ
グラム記憶手段1における記憶内容のフィールド構成の
一部を示す。第2図におけるプログラム記憶手段1の記
憶内容のフィールド構成は、第6図に示した従来装置に
おける記憶内容のフィールド構成に、データ対生成手段
2において優先的に実行処理されるべきデータパケット
であることを示す優先情報を付与したものである。Further, FIG. 2 shows a part of the field structure of the stored contents in the program storage means 1 of the information processing apparatus in the embodiment. The field structure of the stored contents of the program storage means 1 in FIG. 2 is a data packet to be preferentially executed in the data pair generation means 2 in addition to the field structure of the stored contents in the conventional apparatus shown in FIG. Priority information indicating that is added.
さらに、第3図に当該実施例における情報処理装置のデ
ータ対生成手段2におけるマッチングメモリのフィール
ド構成を示す。第3図におけるデータ対生成手段2にお
けるマッチングメモリのフィールド構成は、第7図に示
した従来装置におけるマッチングメモリのフィールド構
成に、データ対生成手段2において優先的に実行処理さ
れるべきデータパケットであることを示す情報を格納す
るための優先情報フィールドを付与したものである。Further, FIG. 3 shows the field structure of the matching memory in the data pair generating means 2 of the information processing apparatus in this embodiment. The field structure of the matching memory in the data pair generating means 2 in FIG. 3 is the same as that of the matching memory in the conventional apparatus shown in FIG. It is provided with a priority information field for storing information indicating that it is present.
当該実施例におけるプログラム記憶手段1は、第2図に
示すデータフロープログラムを記憶しており、入力デー
タパケットのカラー情報および行先情報をアドレスとし
て、次位の優先情報、次位の行先情報および次位の命令
情報を読出し、これら各情報を前記入力データパケット
の優先情報フィールド、行先フィールドおよび命令フィ
ールドに格納して出力する。また、当該実施例における
データ対生成手段2は、プログラム記憶手段1から出力
されるデータパケットに対して、以下に示す「優先情報
に基づくデータ入替方式」に従って待合わせ(カラー情
報および行先情報が一致する2つのデータパケットの検
出)を行ない、データ対を生成する。なお、当該実施例
における演算処理手段3の機能は、従来例における情報
処理装置の場合と同様である。The program storage means 1 in this embodiment stores the data flow program shown in FIG. 2, and uses the color information and the destination information of the input data packet as an address, the next priority information, the next destination information, and the next destination information. The order command information is read out, and each of these pieces of information is stored in the priority information field, the destination field and the command field of the input data packet and output. Further, the data pair generation means 2 in the embodiment waits for the data packet output from the program storage means 1 in accordance with the following "data replacement method based on priority information" (color information and destination information match). Detection of two data packets to be performed) to generate a data pair. The function of the arithmetic processing means 3 in this embodiment is the same as that of the information processing device in the conventional example.
「優先情報に基づくデータ入替方式」では、データ対生
成手段2において以下の動作を行なう。但し、データフ
ロープログラムの実行開始以前には、第3図に示すデー
タ対生成手段2のマッチングメモリ内のすべてのプレゼ
ンスビット(PB)が「無効」に設定されているものとす
る。In the "data replacement method based on priority information", the data pair generating means 2 performs the following operation. However, it is assumed that all the presence bits (PB) in the matching memory of the data pair generating means 2 shown in FIG. 3 are set to "invalid" before the execution of the data flow program is started.
(1) 第1図に示す入力データパケットのカラー情報
および行先情報にハッシュ演算を施し、得られた値をア
ドレスとして第3図に示すマッチングメモリの内容を読
出す。(1) A hash operation is performed on the color information and destination information of the input data packet shown in FIG. 1, and the obtained value is used as an address to read the contents of the matching memory shown in FIG.
(2) 読出内容中のPBが「無効」であれば、前記入力
データパケットのうち、カラー情報、行先情報およびデ
ータ1フィールドの内容を当該ハッシュアドレスに従っ
て第3図に示すマッチングメモリに書込むとともに、PB
を「有効」に設定し、処理を終了する。PBが「有効」で
あれば、(3)の処理を行なう。(2) If PB in the read contents is "invalid", the contents of the color information, destination information and data 1 field of the input data packet are written in the matching memory shown in FIG. 3 according to the hash address. , PB
Is set to "valid", and the process ends. If PB is "valid", the process of (3) is performed.
(3) 前記入力データパケットの優先情報の内容と、
前記マッチングメモリからの読出内容中の優先情報の内
容とがともに「有効」の場合は、(4)の処理を行な
う。前記マッチングメモリからの読出内容中の優先情報
フィールドの内容のみが「有効」の場合は(5)の処理
を行なう。前記入力データパケットの優先情報フィール
ドの内容のみが「有効」の場合は(6)の処理を行な
う。(3) Contents of the priority information of the input data packet,
When both the content of the priority information in the content read from the matching memory is "valid", the process of (4) is performed. If only the contents of the priority information field in the contents read from the matching memory are "valid", the process of (5) is performed. When only the content of the priority information field of the input data packet is "valid", the process (6) is performed.
(4) 前記入力データパケットのカラー情報および行
先情報の内容と、前記マッチングメモリからの読出内容
中のカラー情報および行先情報の内容とを比較し、当該
内容の数値において前記入力データパケットの方が大き
ければ(5)小さければ(6)一致した場合は(7)の
各処理を行なう。(4) The contents of the color information and the destination information of the input data packet are compared with the contents of the color information and the destination information in the contents read out from the matching memory, and the input data packet has a numerical value of the contents. If it is larger, (5) If it is smaller, (6) If they match, the processes of (7) are performed.
(5) 第1図に示す入力データパケットのスルーパケ
ットフラグを「有効」に設定した後、データ対生成手段
2から送り出し、処理を終了する。(5) After setting the through packet flag of the input data packet shown in FIG. 1 to "valid", it is sent from the data pair generating means 2 and the processing is ended.
(6) 第3図に示すマッチングメモリの当該アドレス
に従って読出された内容からデータパケットを生成し、
さらに、新たに生成されたデータパケットのスルーパケ
ットフラグを「有効」に設定した後、データ対生成手段
2から送出するとともに、第1図に示す入力データパケ
ットのうち、優先情報、カラー情報、行先情報、命令情
報およびデータ1フィールドの内容を当該ハッシュアド
レスに従って前記マッチングメモリに書込み、処理を終
了する。(6) A data packet is generated from the contents read according to the address of the matching memory shown in FIG.
Further, after the through packet flag of the newly generated data packet is set to "valid", it is sent from the data pair generation means 2 and the input data packet shown in FIG. The information, the command information, and the contents of the data 1 field are written in the matching memory in accordance with the hash address, and the process ends.
(7) 第1図に示す入力データパケット中の有効デー
タが格納されているフィールドの内容と、第3図に示す
マッチングメモリから読出されたデータフィールドの内
容とを併せてデータ対を生成し、さらに、前記入力デー
タパケット中の優先情報、カラー情報、行先情報および
命令情報の内容を付加することにより新たなデータパケ
ットを生成する。このとき、前記新たに生成されたデー
タパケットのスルーパケットフラグを「無効」に設定し
た後、データ対生成手段2から送出するとともに、前記
マッチングメモリの当該アドレスのPBを「無効」に設定
し、処理を終了する。(7) A data pair is generated by combining the contents of the field storing valid data in the input data packet shown in FIG. 1 and the contents of the data field read from the matching memory shown in FIG. Furthermore, a new data packet is generated by adding the contents of priority information, color information, destination information and command information in the input data packet. At this time, after setting the through-packet flag of the newly generated data packet to "invalid", it is sent from the data pair generating means 2 and the PB of the address in the matching memory is set to "invalid", The process ends.
なお、スルーパケットフラグが「有効」であるデータパ
ケットは、従来実施例の場合と同様に、データ対生成手
段2から送出された後、演算処理手段3およびプログラ
ム記憶手段1において、何の処理もなされずに通過し、
データ対生成手段2に戻って再度上記の処理を受ける。A data packet whose through packet flag is "valid" is sent from the data pair generation means 2 and then processed in the arithmetic processing means 3 and the program storage means 1 as in the case of the conventional embodiment. Pass without being made,
It returns to the data pair generation means 2 and receives the above-mentioned processing again.
「優先情報に基づくデータ入替方式」によるデータ対生
成手段は、上記処理手順から明らかなように、前記「デ
ータ入替方式」を包含している。The data pair generation means based on the "data replacement method based on priority information" includes the "data replacement method" as is apparent from the above processing procedure.
第10図にwhile型ループ構造、すなわちループ処理の実
行前に終了条件判定が行なわれる構造に対するデータフ
ロープログラムへの一展開形式を示す。第10図におい
て、10はwhile型ループ構造の全体を表わす。ループ構
造10はn入力m出力とする。11は本体ブロックであっ
て、ループ構造における処理本体である。本体ブロック
11はn入力n出力であり、第10図に示すように、対応す
る入出力間、すなわち、入力番号と出力番号の等しい入
出力間には必ずデータ従属関係が存在するものとする。
12は条件判定ブロックであって、入力データからループ
の終了判定を行ない、「真」(ループ処理の続行)ある
いは、「偽」(ループ処理の終了)を出力する。条件判
定ブロック12はn入力1出力であり、第10図に示すよう
に、すべての入力は1個の出力とデータ従属関係を持つ
ものとする。13は出力選択ブロックであって、条件判定
ブロック12から出力される「真/偽」に従って、データ
の行先を選択する。出力選択ブロック13はn+1入力n
+m出力であり、同出力選択ブロック中のTGは右入力が
「真」のとき左入力データを出力し、「偽」のとき何も
出力しない、すなわち、左入力データを吸収するノード
である。SWは右入力が「真」のとき左入力データを左出
力に、「偽」のとき左入力データを右出力に出力するノ
ードである。14はループ構造10の実行前に処理が行なわ
れるノード群、すなわち、ループ構造10の入力とデータ
従属関係を持つノード群である。また、15はループ構造
10の実行処理後に処理が行なわれるノード群、すなわ
ち、ループ構造10の出力とデータ従属関係を持つノード
群である。本体ブロック11、条件判定ブロック12、出力
選択ブロック13、ループ構造実行前の処理14、および、
ループ構造終了後の処理15の間には第10図に示すような
接続関係がある。FIG. 10 shows a development form of a data flow program for a while type loop structure, that is, a structure in which an end condition is determined before executing a loop process. In FIG. 10, 10 represents the whole while loop structure. The loop structure 10 has n inputs and m outputs. Reference numeral 11 is a main body block, which is a processing main body in the loop structure. Body block
Reference numeral 11 designates n inputs and n outputs, and as shown in FIG. 10, it is assumed that there is always a data dependency between corresponding inputs / outputs, that is, between inputs / outputs having the same input number and output number.
A condition determination block 12 determines the end of the loop from the input data and outputs "true" (continuation of loop processing) or "false" (end of loop processing). The condition decision block 12 has n inputs and 1 output, and as shown in FIG. 10, all inputs have a data dependency relationship with one output. An output selection block 13 selects a data destination according to "true / false" output from the condition determination block 12. The output selection block 13 has n + 1 inputs n
The TG in the same output selection block is a node that outputs left input data when the right input is "true" and outputs nothing when the right input is "false", that is, a node that absorbs the left input data. SW is a node that outputs the left input data to the left output when the right input is "true" and outputs the left input data to the right output when "false". Reference numeral 14 denotes a node group that is processed before the loop structure 10 is executed, that is, a node group having a data dependency relationship with the input of the loop structure 10. Also, 15 is a loop structure
The node groups to be processed after the execution processing of 10, that is, the node groups having a data dependency relationship with the output of the loop structure 10. Body block 11, condition determination block 12, output selection block 13, processing 14 before execution of loop structure, and
There is a connection relationship as shown in FIG. 10 between the processes 15 after the loop structure is completed.
第10図において、ループ構造実行前の処理14に属する2
入力ノードに対する行先情報の内容を、当該内容の数値
においてループ構造10に属する2入力ノードに対する行
先情報の内容よりも小さく、また、ループ構造実行終了
の処理15に属する2入力ノードに対する行先情報の内容
を、当該内容の数値においてループ構造10に属する2入
力ノードに対する行先情報の内容よりも大きくするよう
に設定すれば、「データ入替方式」により、ループ構造
実行前の処理14に属する2入力ノードとループ構造10に
属する2入力ノード間、および、ループ構造実行終了後
の処理15に属する2入力ノードとループ構造10に属する
2入力ノード間で、ハッシュ衝突に起因するデッドロッ
クが起きない。In FIG. 10, 2 belonging to processing 14 before execution of loop structure
The content of the destination information for the input node is smaller than the content of the destination information for the two input nodes belonging to the loop structure 10 in the numerical value of the content, and the content of the destination information for the two input nodes belonging to the loop structure execution end processing 15 Is set to be larger than the contents of the destination information for the two input nodes belonging to the loop structure 10 in the numerical value of the contents, the two data input nodes belonging to the process 14 before the loop structure is executed by the "data replacement method". Deadlock due to hash collision does not occur between the two input nodes belonging to the loop structure 10 and between the two input nodes belonging to the process 15 after the loop structure is executed and the two input nodes belonging to the loop structure 10.
次に、第10図において、本体ブロック11に属する2入力
ノード、条件判定ブロック12に属する2入力ノード、出
力選択ブロック13に属する2入力ノードの順に、2入力
ノードに対する行先情報の内容が大きくなるように設定
されているとする。ループ構造10の接続構造から、条件
判定ブロック12の処理終了後でなければ次のループ段に
対する本体ブロック11の処理が開始されないため、「デ
ータ入替方式」により、本体ブロック11に属する2入力
ノードと条件判定ブロック12に属する2入力ノード間
で、ハッシュ衝突に起因するデッドロックが起きない。
一方、条件判定ブロック12の処理終了後、出力選択ブロ
ック13に属する2入力ノード(TGおよびSW)の実行が開
始されるが、第10図において、たとえばノードN20に対
するデータ対生成が遅れ、ノードN18およびN19の処理が
先に行なわれた後、ノードN16に対する左入力データパ
ケットP16LあるいはノードN17に対する右入力データパ
ケットP17Rがデータ対生成手段2に到着し、しかもノー
ドN20、N16およびN17に対する行先情報から同一のハッ
シングされたアドレスが生成される場合、「データ入替
方式」によれば、データパケットP16Lあるいはデータパ
ケットP17Rの方がノードN20に対する入力データパケッ
トよりもデータ対生成手段2における処理優先度が高い
ためノードN20とN16の間およびノードN20とN17の間で、
ハッシュ衝突に起因するデッドロックが生起する可能性
がある。ところが、ノードN20に対する右入力データパ
ケットP20Rの優先情報の内容を「有効」に設定しておけ
ば、「優先情報に基づくデータ入替方式」によりデータ
対生成手段2において、データパケットP20Rの処理が優
先されるためハッシュ衝突に起因するデッドロックが回
避される。このとき、ノードN20に対する左入力データ
パケットP20Lの優先情報の内容を「有効」に設定するの
ではなく、データパケットP20Rの優先情報の内容を「有
効」に設定しなければならない。もし、データパケット
P20Lの優先情報の内容を「有効」に設定したとする。た
とえば、ループ構造10に対する初期入力データが#2と
#nの入力から入力され、データパケットP17RおよびP2
0LがそれぞれノードN17およびN20に到着したとき、デー
タ対生成手段2において「優先情報に基づくデータ入替
方式」により、データパケットP20Lに対する処理が優先
され、ハッシュ衝突に起因するデッドロックが生成す
る。他方、ノードN20に対する右入力データパケットP20
Rの優先情報の内容を「有効」に設定する方式をとれ
ば、while型ループ構造10の展開形式の接続構造によ
り、ループの同一実行段において、データパケットP20R
は、本体ブロック11および条件判定ブロック12に属する
ノードの実行終了後でなければ生成されないため、デー
タパケットP20Rの優先情報の内容が「有効」に設定され
ている限り、ハッシュ衝突に起因する新たなデッドロッ
クが生起することはない。Next, in FIG. 10, the contents of the destination information for the two input nodes increase in the order of the two input nodes belonging to the main body block 11, the two input nodes belonging to the condition determination block 12, and the two input nodes belonging to the output selection block 13. Is set as follows. Due to the connection structure of the loop structure 10, the processing of the body block 11 for the next loop stage is not started until after the processing of the condition determination block 12 is completed. Deadlock due to hash collision does not occur between the two input nodes belonging to the condition determination block 12.
On the other hand, after the processing of the condition judgment block 12 is completed, the execution of the two input nodes (TG and SW) belonging to the output selection block 13 is started, but in FIG. And N19 are processed first, the left input data packet P16L for the node N16 or the right input data packet P17R for the node N17 arrives at the data pair generating means 2 and, from the destination information for the nodes N20, N16 and N17, When the same hashed address is generated, according to the "data replacement method", the data packet P16L or the data packet P17R has a higher processing priority in the data pair generation means 2 than the input data packet to the node N20. So between nodes N20 and N16 and between nodes N20 and N17,
Deadlocks due to hash collisions can occur. However, if the content of the priority information of the right input data packet P20R for the node N20 is set to "valid", the processing of the data packet P20R is prioritized in the data pair generation means 2 by the "data replacement method based on the priority information". Therefore, deadlock due to hash collision is avoided. At this time, the content of the priority information of the left input data packet P20L for the node N20 should not be set to "valid", but the content of the priority information of the data packet P20R should be set to "valid". If the data packet
It is assumed that the priority information content of P20L is set to "valid". For example, the initial input data for the loop structure 10 is input from the inputs # 2 and #n, and the data packets P17R and P2 are input.
When 0L arrives at each of the nodes N17 and N20, the data pair generation means 2 gives priority to the process for the data packet P20L by the "data exchange method based on the priority information", and a deadlock due to hash collision is generated. On the other hand, the right input data packet P20 for node N20
If the method of setting the content of the priority information of R to “valid” is adopted, the data packet P20R
Is generated only after the execution of the nodes belonging to the main body block 11 and the condition determination block 12 is completed, so that as long as the content of the priority information of the data packet P20R is set to "valid", a new one caused by hash collision is generated. Deadlock does not occur.
以上のことから、while型ループ構造10の実行におい
て、以下に示す実行制御方式を採用することにより、ハ
ッシュ衝突に起因するデッドロックを回避することがで
きる。From the above, in the execution of the while type loop structure 10, by adopting the following execution control method, it is possible to avoid the deadlock caused by the hash collision.
(1) データ対生成手段2において、「優先情報に基
づくデータ入替方式」を採用する。(1) The data pair generation means 2 adopts the "data replacement method based on priority information".
(2) 第10図に示す、ループ構造10の展開形式を採用
する。(2) Adopt the expanded form of the loop structure 10 shown in FIG.
(3) ループ構造実行前の処理14に属する2入力ノー
ドに対する行先情報の内容を、当該内容の数値において
ループ構造10に属する2入力ノードに対する行先情報の
内容よりも小さく、また、ループ構造実行終了後の処理
15に属する2入力ノードに対する行先情報の内容を、当
該内容の数値においてループ構造10に属する2入力ノー
ドに対する行先情報の内容よりも大きくなるように設定
する。(3) The content of the destination information for the two input nodes belonging to the process 14 before the loop structure execution is smaller than the content of the destination information for the two input nodes belonging to the loop structure 10 in the numerical value of the content, and the loop structure execution end Later processing
The content of the destination information for the two-input node belonging to 15 is set to be larger than the content of the destination information for the two-input node belonging to the loop structure 10 in the numerical value of the content.
(4) 2入力ノードに対する行先情報の内容を、本体
ブロック11に属する2入力ノード、条件判定ブロック12
に属する2入力ノード、出力選択ブロック13に属する2
入力ノードの順に大きくなるように設定する。(4) The contents of the destination information for the two-input node are the two-input node belonging to the main body block 11, the condition determination block 12
2 input nodes belonging to, and 2 belonging to output selection block 13
Set to increase in order of input node.
(5) 出力選択ブロック13に属する2入力ノード(TG
およびSW)の右入力データパケットの優先情報の内容を
「有効」に設定し、当該2入力ノードの左入力データパ
ケットおよび当該2入力ノード以外の2入力ノードに対
する入力データパケットの優先情報の内容を「無効」に
設定する。(5) Two input nodes (TG
And SW) set the content of the priority information of the right input data packet to "valid", and set the content of the priority information of the input data packet for the left input data packet of the 2-input node and 2-input nodes other than the 2-input node. Set to "Disable".
本実施例において、while型のループ構造を展開したデ
ータフロープログラムに対して、ハッシュ衝突に起因す
るデッドロックを回避することができることを示した
が、同様の実行制御方式をとることにより、do−while
型ループ構造、すなわち、まずループ本体の処理を行な
い、その後にループ終了判定を行なうループ構造、ある
いは、for型ループ構造、すなわち、まずループ制御変
数の初期値を設定した後、ループの終了判定を行ない、
さらにループ本体の処理を行なった後、ループ制御変数
の値の再設定を行なうループ構造等においても、ハッシ
ュ衝突に起因するデッドロックを回避することができ
る。In the present embodiment, it was shown that a deadlock due to a hash collision can be avoided for a data flow program in which a while type loop structure is expanded. However, by adopting a similar execution control method, do- while
Type loop structure, that is, the loop body is first processed, and then the loop end judgment is performed, or the for loop structure, that is, the initial value of the loop control variable is first set, and then the loop end judgment is performed. Done,
Further, after the processing of the loop body is performed, the deadlock due to the hash collision can be avoided even in the loop structure in which the value of the loop control variable is reset.
[発明の効果] 以上詳細に説明したように、データフロー型情報処理装
置において本発明によるデッドロック回避実行制御方式
を採用すれば、従来装置においてデッドロックを起こし
処理の続行が不可能であったループ構造を含むデータフ
ロープログラにおいて、デッドロックを起こすことのな
い実行を保証することができる。[Effects of the Invention] As described in detail above, if the deadlock avoidance execution control method according to the present invention is adopted in the data flow type information processing apparatus, it is impossible to continue the processing due to deadlock in the conventional apparatus. Execution without deadlock can be guaranteed in a data flow program that includes a loop structure.
第1図はこの発明の一実施例のデータパケットのフィー
ルド構成を示す図である。 第2図はこの発明の一実施例におけるプログラム記憶手
段の記憶内容のフィールド構成の一部を示す図である。 第3図はこの発明の一実施例におけるデータ対生成手段
のマッチングメモリのフィールド構成を示す図である。 第4図はこの発明の一実施例および従来例が適用される
情報処理装置の構成を示すブロック図である。 第5図は従来例におけるデータパケットのフィールド構
成を示す図である。 第6図は従来例におけるプログラム記憶手段の記憶内容
のフィールド構成の一部を示す図である。 第7図は従来例におけるデータ対生成手段のマッチング
メモリのフィールド構成を示す図である。 第8図はデータフロープログラムの一例を示す図であ
る。 第9図はループ構造を含むデータフロープログラムの一
例を示す図である。 第10図はwhile型ループ構造に対するデータフロープロ
グラムへの一展開形式を示す図である。 図において、1はプログラム記憶手段、2はデータ対生
成手段、3は演算処理手段、4〜7はデータ伝送路、10
はwhile型ループ構造、11は本体ブロック、12は条件判
定ブロック、13は出力選択ブロック、14はループ構造実
行前の処理、15はループ構造実行後の処理、N1〜N4,N16
〜N20はノード、D1〜D4は行先情報、P1L,P1R,P2R,P3L,P
3r,P4R,P16L,P17R,P20L,P20Rはデータパケットを示す。FIG. 1 is a diagram showing a field structure of a data packet according to an embodiment of the present invention. FIG. 2 is a diagram showing a part of the field structure of the stored contents of the program storage means in one embodiment of the present invention. FIG. 3 is a diagram showing a field structure of the matching memory of the data pair generating means in the embodiment of the present invention. FIG. 4 is a block diagram showing a configuration of an information processing apparatus to which an embodiment of the present invention and a conventional example are applied. FIG. 5 is a diagram showing a field structure of a data packet in the conventional example. FIG. 6 is a diagram showing a part of the field structure of the stored contents of the program storage means in the conventional example. FIG. 7 is a diagram showing a field structure of the matching memory of the data pair generating means in the conventional example. FIG. 8 is a diagram showing an example of the data flow program. FIG. 9 is a diagram showing an example of a data flow program including a loop structure. FIG. 10 is a diagram showing a development format of a data flow program for a while loop structure. In the figure, 1 is a program storage means, 2 is a data pair generation means, 3 is an arithmetic processing means, 4 to 7 are data transmission paths, and 10
Is a while loop structure, 11 is a main block, 12 is a condition judgment block, 13 is an output selection block, 14 is processing before loop structure execution, 15 is processing after loop structure execution, N1 to N4, N16
~ N20 is a node, D1 ~ D4 is destination information, P1L, P1R, P2R, P3L, P
3r, P4R, P16L, P17R, P20L and P20R indicate data packets.
Claims (1)
パケットのカラーフィールドの内容(以下、カラー情報
と呼ぶ)と行先フィールドの内容(以下、行先情報と呼
ぶ)とに基づくアドレスを指定することによって、デー
タフロープログラムとして記憶されている優先的に実行
処理されるべきデータであることを示す情報(以下、優
先情報と呼ぶ)と次位の行先情報と次位の命令情報とを
読出し、前記読出した各情報を前記入力データパケット
の優先情報フィールド、行先フィールド、命令フィール
ド(ダグ部)にそれぞれ格納して出力するプログラム記
憶手段と、 前記プログラム記憶手段から出力されるデータパケット
の前記カラー情報および前記次位の行先情報に対してハ
ッシュ演算を施して得られる値がその物理的アドレス
(以下、ハッシュアドレスと呼ぶ)に対応するアドレス
空間を有するマッチングメモリと、 入力データパケットのカラー情報および前記次位の行先
情報と、当該入力データパケットから得られるハッシュ
アドレスが示す前記マッチングメモリの内容とを比較
し、その比較結果に応じて、データ対を生成し出力する
か、当該入力データパケットを当該ハッシュアドレスが
示すマッチングメモリに書込むか、当該入力データパケ
ットをそのまま出力するか、あるいは、当該入力データ
パケットの内容と当該ハッシュアドレスが示すマッチン
グメモリの内容とを交換するかのいずれかの処理を行な
うデータ対生成手段と、 前記データ対生成手段から出力されるデータパケットの
命令情報を解読し、前記データ対に含まれる2つのオペ
ランドデータに対して所定の演算処理を施し、その結果
を入力データパケットのデータフィールドに格納して前
記プログラム記憶手段に出力する演算処理手段とを備え
る情報処理装置において、 前記データ対生成手段において、カラー情報あるいは行
先情報が異なっている入力データパケットと前記マッチ
ングメモリ内に格納されているデータパケットとが、同
一のハッシュアドレスを有し、アクセス競合(以下、ハ
ッシュ衝突と呼ぶ)を起こした場合、当該入力データパ
ケットの優先情報に従って、データ対生成処理の優先順
位を決定することにより、ハッシュ衝突に起因するデッ
ドロックを回避することを特徴とするデッドロック回避
実行制御方式。1. By specifying an address based on the contents of a color field (hereinafter referred to as color information) and the contents of a destination field (hereinafter referred to as destination information) of an input data packet including a tag portion and a data portion. , Information indicating data to be preferentially executed and stored as a data flow program (hereinafter referred to as priority information), next destination information and next instruction information, and the read Program storing means for storing and outputting the respective information in the priority information field, the destination field, and the instruction field (dug section) of the input data packet, and the color information and the color information of the data packet output from the program storing means. The value obtained by performing the hash operation on the next destination information is the physical address (hereinafter, A matching memory having an address space corresponding to a hash address), color information of the input data packet and the next destination information, and the content of the matching memory indicated by the hash address obtained from the input data packet. Then, according to the comparison result, a data pair is generated and output, the input data packet is written in the matching memory indicated by the hash address, the input data packet is output as it is, or the input data is output. Data pair generating means for performing any process of exchanging the content of the packet and the content of the matching memory indicated by the hash address, and decoding the command information of the data packet output from the data pair generating means, For the two operand data included in the data pair An information processing apparatus comprising: an arithmetic processing unit that performs a predetermined arithmetic process, stores the result in a data field of an input data packet, and outputs the result to the program storage unit; and in the data pair generating unit, color information or destination information. When the input data packet having a different address and the data packet stored in the matching memory have the same hash address and access conflict (hereinafter referred to as hash collision) occurs, the input data packet A deadlock avoidance execution control method characterized by avoiding a deadlock caused by a hash collision by determining a priority order of data pair generation processing according to priority information.
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP63013452A JPH06101044B2 (en) | 1988-01-23 | 1988-01-23 | Deadlock avoidance execution control method |
| US07/299,610 US4965715A (en) | 1988-01-23 | 1989-01-23 | Data flow type information processor |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP63013452A JPH06101044B2 (en) | 1988-01-23 | 1988-01-23 | Deadlock avoidance execution control method |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH01188950A JPH01188950A (en) | 1989-07-28 |
| JPH06101044B2 true JPH06101044B2 (en) | 1994-12-12 |
Family
ID=11833534
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP63013452A Expired - Fee Related JPH06101044B2 (en) | 1988-01-23 | 1988-01-23 | Deadlock avoidance execution control method |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US4965715A (en) |
| JP (1) | JPH06101044B2 (en) |
Families Citing this family (16)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH01188951A (en) * | 1988-01-23 | 1989-07-28 | Sharp Corp | Control system for execution of data flow program |
| US5125097A (en) * | 1988-01-29 | 1992-06-23 | Sharp Kabushiki Kaisha | Data flow type information processors where data packets pass through plurality of merging and branching portions of the internal path |
| JP2668438B2 (en) * | 1989-04-21 | 1997-10-27 | 三菱電機株式会社 | Data retrieval device |
| JP2568452B2 (en) * | 1990-02-27 | 1997-01-08 | シャープ株式会社 | Data flow type information processing device |
| JP2632074B2 (en) * | 1990-07-11 | 1997-07-16 | シャープ株式会社 | Data flow type information processing device |
| JPH0743700B2 (en) * | 1990-07-17 | 1995-05-15 | 三菱電機株式会社 | Data-driven information processing device |
| US5404553A (en) * | 1991-01-09 | 1995-04-04 | Mitsubishi Denki Kabushiki Kaisha | Microprocessor and data flow microprocessor having vector operation function |
| JP2750968B2 (en) * | 1991-11-18 | 1998-05-18 | シャープ株式会社 | Data driven information processor |
| JP3312039B2 (en) * | 1992-01-08 | 2002-08-05 | シャープ株式会社 | Data driven information processor |
| US5418966A (en) * | 1992-10-16 | 1995-05-23 | International Business Machines Corporation | Updating replicated objects in a plurality of memory partitions |
| US5586281A (en) * | 1992-10-27 | 1996-12-17 | Sharp Kabushiki Kaisha | Data driven type information processing apparatus |
| JPH06162228A (en) * | 1992-11-26 | 1994-06-10 | Sharp Corp | Data flow processor device |
| JPH08249306A (en) * | 1995-03-09 | 1996-09-27 | Sharp Corp | Data-driven information processing device |
| US5550973A (en) * | 1995-03-15 | 1996-08-27 | International Business Machines Corporation | System and method for failure recovery in a shared resource system having a moving write lock |
| US7447886B2 (en) * | 2002-04-22 | 2008-11-04 | Freescale Semiconductor, Inc. | System for expanded instruction encoding and method thereof |
| US11126418B2 (en) * | 2012-10-11 | 2021-09-21 | Mcafee, Llc | Efficient shared image deployment |
Family Cites Families (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4156903A (en) * | 1974-02-28 | 1979-05-29 | Burroughs Corporation | Data driven digital data processor |
| US4145733A (en) * | 1974-03-29 | 1979-03-20 | Massachusetts Institute Of Technology | Data processing apparatus for highly parallel execution of stored programs |
| US4153932A (en) * | 1974-03-29 | 1979-05-08 | Massachusetts Institute Of Technology | Data processing apparatus for highly parallel execution of stored programs |
| JPS58151655A (en) * | 1982-03-03 | 1983-09-08 | Fujitsu Ltd | Information processing device |
| JPS5936857A (en) * | 1982-08-25 | 1984-02-29 | Nec Corp | Processor unit |
| JPH0632056B2 (en) * | 1985-05-31 | 1994-04-27 | 松下電器産業株式会社 | Data processing device |
-
1988
- 1988-01-23 JP JP63013452A patent/JPH06101044B2/en not_active Expired - Fee Related
-
1989
- 1989-01-23 US US07/299,610 patent/US4965715A/en not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| JPH01188950A (en) | 1989-07-28 |
| US4965715A (en) | 1990-10-23 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH06101044B2 (en) | Deadlock avoidance execution control method | |
| JP3677315B2 (en) | Data-driven information processing device | |
| JP2818249B2 (en) | Electronic computer | |
| JP3988144B2 (en) | Vector processing device and overtaking control circuit | |
| US20030182376A1 (en) | Distributed processing multi-processor computer | |
| US11934832B2 (en) | Synchronization instruction insertion method and apparatus | |
| Cansell et al. | Incremental proof of the producer/consumer property for the PCI protocol | |
| JPH10255485A (en) | Associative memory and network frame repeater | |
| JP2001117772A (en) | System to detect hazard of computer program | |
| US7133959B2 (en) | Data-driven information processing device and method to access multiple bank memories according to multiple addresses | |
| JP2668156B2 (en) | Execution control method of data driven type information processing device | |
| US20170337295A1 (en) | Content addressable memory (cam) implemented tuple spaces | |
| US20080209085A1 (en) | Semiconductor device and dma transfer method | |
| US20250004761A1 (en) | Method and system for accessing registers of a device | |
| WO2014064914A1 (en) | Data storage device, data storage method and program | |
| JP3769445B2 (en) | Data-driven information processing device | |
| JP3710798B2 (en) | Compound processing unit | |
| US11922207B2 (en) | Network command coalescing on GPUs | |
| Dobrogost et al. | Verified multicore parallelism using atomic verifiable operations | |
| WO2004006114A1 (en) | Sub-sequentia module and call | |
| JPS63251835A (en) | Vector processing device | |
| JP2731738B2 (en) | Multiprocessor system | |
| JP2883488B2 (en) | Instruction processing unit | |
| JP2878160B2 (en) | Competitive mediation device | |
| JPH01233524A (en) | Execution control system for data flow program |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| LAPS | Cancellation because of no payment of annual fees |