JPH06101044B2 - デッドロック回避実行制御方式 - Google Patents
デッドロック回避実行制御方式Info
- 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; CALCULATING OR 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
【発明の詳細な説明】 [産業上の利用分野] この発明は、デッドロック回避実行制御方式に関し、特
にデータフロー型情報処理装置におけるデッドロックを
回避する実行制御方式に関する。
にデータフロー型情報処理装置におけるデッドロックを
回避する実行制御方式に関する。
[従来の技術] 第4図は、従来のデータフロー型情報処理装置の一例を
示すブロック図である。また、第5図は第4図に示す情
報処理装置におけるデータパケットのフィールド構成を
示す図である。
示すブロック図である。また、第5図は第4図に示す情
報処理装置におけるデータパケットのフィールド構成を
示す図である。
第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とをつ
なぐデータ伝送路である。
ているプログラム記憶手段であって、第5図における入
力データパケットの行先情報に基づいたアドレス指定に
よって、次位の行先情報および次位の命令情報が読出さ
れ、当該各読出情報を前記入力データパケットの行先フ
ィールドおよび命令フィールドに格納して出力する。2
はプログラム記憶手段1から出力されるデータパケット
の待合わせ、すなわち、カラー情報および行先情報が一
致する異なる2つのデータパケットの検出を行ない、当
該カラー情報および行先情報が一致する2つのデータパ
ケットのうちの一方のデータパケットのオペランドデー
タ、たとえば第5図におけるデータ1フィールドの内容
を他方のデータパケットの第5図におけるデータ2フィ
ールドに格納して出力するデータ対生成手段である。3
はデータ対生成手段2から出力されるデータパケットに
対して所定の演算処理を施し、その結果を入力データパ
ケットのデータ1フィールドに格納して上記プログラム
記憶手段1に出力する演算処理手段である。なお、4お
よび5はプログラム記憶手段1とデータ対生成手段2と
をつなぐデータ伝送路である。6はデータ対生成手段2
と演算処理手段3とをつなぐデータ伝送路である。さら
に、7は演算処理手段3とプログラム記憶手段1とをつ
なぐデータ伝送路である。
データパケットがプログラム記憶手段1→データ対生成
手段2→演算処理手段3→プログラム記憶手段1→…と
回り続けることにより、プログラム記憶手段1に記憶さ
れたデータフロープログラムに基づいて演算処理が進行
する。
手段2→演算処理手段3→プログラム記憶手段1→…と
回り続けることにより、プログラム記憶手段1に記憶さ
れたデータフロープログラムに基づいて演算処理が進行
する。
また、第6図にプログラム記憶手段1における記憶内容
のフィールド構成の一部を示す。さらに、第7図にデー
タ対生成手段2の一例であるマッチングメモリのフィー
ルド構成を示す。
のフィールド構成の一部を示す。さらに、第7図にデー
タ対生成手段2の一例であるマッチングメモリのフィー
ルド構成を示す。
従来、この種の情報処理装置では、情報処理学会第34回
全国大会講演論文集2Q−7、249頁〜250頁(昭和62年)
に見られるように、データ対生成手段2としてマッチン
グメモリを使用した場合、マッチングメモリへのアクセ
スに対して第5図に示すカラーフィールドおよび行先フ
ィールドの内容にハッシュ演算を施して得られる値をア
ドレスとして用いることにより、当該マッチングメモリ
の物理的アドレス空間の有効利用が図られている。しか
し、ハッシングされたアドレスによりマッチングメモリ
をアクセスする方式では、同一のハッシュアドレスを有
する異なる複数のデータがアクセス競合(以下、ハッシ
ュ衝突と呼ぶ)を起こし処理の実行が継続できないこと
がある。そこで、上記論文では、ハッシュ衝突時の処理
として、「データ入替方式」を導入している。すなわ
ち、データ入替方式では、データ対生成手段2において
以下の動作を行なう。但し、データフロープログラムの
実行開始以前には、第7図に示すデータ対生成手段2の
マッチングメモリ内のすべてのプレゼンスビット(PB)
が「無効」に設定されているものとする。
全国大会講演論文集2Q−7、249頁〜250頁(昭和62年)
に見られるように、データ対生成手段2としてマッチン
グメモリを使用した場合、マッチングメモリへのアクセ
スに対して第5図に示すカラーフィールドおよび行先フ
ィールドの内容にハッシュ演算を施して得られる値をア
ドレスとして用いることにより、当該マッチングメモリ
の物理的アドレス空間の有効利用が図られている。しか
し、ハッシングされたアドレスによりマッチングメモリ
をアクセスする方式では、同一のハッシュアドレスを有
する異なる複数のデータがアクセス競合(以下、ハッシ
ュ衝突と呼ぶ)を起こし処理の実行が継続できないこと
がある。そこで、上記論文では、ハッシュ衝突時の処理
として、「データ入替方式」を導入している。すなわ
ち、データ入替方式では、データ対生成手段2において
以下の動作を行なう。但し、データフロープログラムの
実行開始以前には、第7図に示すデータ対生成手段2の
マッチングメモリ内のすべてのプレゼンスビット(PB)
が「無効」に設定されているものとする。
(1) 第5図に示す入力データパケットのカラー情報
および行先情報にハッシュ演算を施し、得られた値をア
ドレスとしてマッチングメモリの内容を読出す。
および行先情報にハッシュ演算を施し、得られた値をア
ドレスとしてマッチングメモリの内容を読出す。
(2) 読出内容中のPBが「無効」であれば、前記入力
データパケットのうち、カラー情報,行先情報およびデ
ータ1フィードの内容を当該ハッシュアドレスに従って
マッチングメモリに書込むとともに、PBを「無効」に設
定し、処理を終了する。PBが「有効」であれば、下記
(3)の処理を行なう。
データパケットのうち、カラー情報,行先情報およびデ
ータ1フィードの内容を当該ハッシュアドレスに従って
マッチングメモリに書込むとともに、PBを「無効」に設
定し、処理を終了する。PBが「有効」であれば、下記
(3)の処理を行なう。
(3) 前記入力データパケットのカラー情報および行
先情報の内容と、前記マッチングメモリからの読出内容
中のカラー情報および行先情報の内容とを比較し、当該
内容の数値において入力データパケットの方が大きけれ
ば(4)、小さければ(5)、一致した場合は(6)の
各処理を行なう。
先情報の内容と、前記マッチングメモリからの読出内容
中のカラー情報および行先情報の内容とを比較し、当該
内容の数値において入力データパケットの方が大きけれ
ば(4)、小さければ(5)、一致した場合は(6)の
各処理を行なう。
(4) 第5図に示す入力データパケットのスルーパケ
ットフラグを「有効」に設定した後、データ対生成手段
2から送り出し、処理を終了する。
ットフラグを「有効」に設定した後、データ対生成手段
2から送り出し、処理を終了する。
(5) 前記マッチングメモリの当該アドレスに従って
読出された内容からデータパケットを生成し、さらに、
新たに生成されたデータパケットのスルーパケットフラ
グを「有効」に設定した後、データ対生成手段2から送
出するとともに、前記入力データパケットのうち、カラ
ー情報,行先情報,命令情報およびデータ1フィールド
の内容を当該ハッシュアドレスに従って前記マッチング
メモリに書込み、処理を終了する。
読出された内容からデータパケットを生成し、さらに、
新たに生成されたデータパケットのスルーパケットフラ
グを「有効」に設定した後、データ対生成手段2から送
出するとともに、前記入力データパケットのうち、カラ
ー情報,行先情報,命令情報およびデータ1フィールド
の内容を当該ハッシュアドレスに従って前記マッチング
メモリに書込み、処理を終了する。
(6) 前記入力データパケット中のデータフィールド
の内容と、前記マッチングメモリから読出されたデータ
フィールドの内容とを併せてデータ対を生成し、さら
に、前記入力データパケット中のカラー情報,行先情報
および命令情報の内容を付加することにより新たなデー
タパケットを生成し、新たに生成されたデータパケット
のスルーパケットフラグを「無効」に設定した後、デー
タ対生成手段2から送出するとともに、前記マッチング
メモリの当該アドレスのPBを「無効」に設定し、処理を
終了する。
の内容と、前記マッチングメモリから読出されたデータ
フィールドの内容とを併せてデータ対を生成し、さら
に、前記入力データパケット中のカラー情報,行先情報
および命令情報の内容を付加することにより新たなデー
タパケットを生成し、新たに生成されたデータパケット
のスルーパケットフラグを「無効」に設定した後、デー
タ対生成手段2から送出するとともに、前記マッチング
メモリの当該アドレスのPBを「無効」に設定し、処理を
終了する。
なお、スルーパケットフラグが「有効」であるデータパ
ケットは、データ対生成手段2から送出された後、演算
処理手段3およびプログラム記憶手段1において、何の
処理もなされずに通過し、データ対生成手段2に戻っ
て、再度上記の処理を受ける。
ケットは、データ対生成手段2から送出された後、演算
処理手段3およびプログラム記憶手段1において、何の
処理もなされずに通過し、データ対生成手段2に戻っ
て、再度上記の処理を受ける。
[発明が解決しようとする課題] 第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の到着を待合わせ
ている。
図において、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の到着を待合わせ
ている。
説明の簡単化のため、第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に対するデータ
対が生成される以前には起こり得ない。
対する入力データパケットのカラー情報の内容はすべて
同一とする。第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に対するデータ
対が生成される以前には起こり得ない。
以上のことから、第8図に示す状況において、ノードN
1、N2に対する入力データパケットのカラー情報の内容
が一致し、さらに、行先フィールドの内容D1、D2が同一
のハッシュアドレスを生成し、しかも、当該内容の数値
においてD1>D2であるとき、デッドロックが発生するこ
とがわかる。この問題に関して、上記論文においては、
入力データパケットの行先情報、すなわち、ノード番号
の設定法に制限を加えることにより、ハッシュ衝突に起
因するデッドロックの回避が図られている。すなわち、
データフロープログラム中においてデータ従属関係を持
つ任意の2つの2入力1出力ノードに着目したとき、ど
の2つのノードに対しても、データ従属関係に基づき先
に発火可能となるノードに対して、入力データパケット
の行先フィールドの内容が小さくなるように設定する方
式を採用している。たとえば、第8図に示す例では、デ
ータ従属関係に基づき、常にD1<D2が成立するように行
先情報、すなわち、ノード番号が設定される。
1、N2に対する入力データパケットのカラー情報の内容
が一致し、さらに、行先フィールドの内容D1、D2が同一
のハッシュアドレスを生成し、しかも、当該内容の数値
においてD1>D2であるとき、デッドロックが発生するこ
とがわかる。この問題に関して、上記論文においては、
入力データパケットの行先情報、すなわち、ノード番号
の設定法に制限を加えることにより、ハッシュ衝突に起
因するデッドロックの回避が図られている。すなわち、
データフロープログラム中においてデータ従属関係を持
つ任意の2つの2入力1出力ノードに着目したとき、ど
の2つのノードに対しても、データ従属関係に基づき先
に発火可能となるノードに対して、入力データパケット
の行先フィールドの内容が小さくなるように設定する方
式を採用している。たとえば、第8図に示す例では、デ
ータ従属関係に基づき、常にD1<D2が成立するように行
先情報、すなわち、ノード番号が設定される。
実行すべきデータフロープログラムがループ構造を含ま
ない場合は、上記論文の方式を採用することにより、ハ
ッシュ衝突に起因するデッドロックが回避できる。とこ
ろが、データフロープログラムがループ構造を含む場合
は、上記論文の方式だけではハッシュ衝突に起因するデ
ッドロックが回避できない。第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のマッチン
グメモリに書込まれ、デッドロックが発生する可能性が
ある。
ない場合は、上記論文の方式を採用することにより、ハ
ッシュ衝突に起因するデッドロックが回避できる。とこ
ろが、データフロープログラムがループ構造を含む場合
は、上記論文の方式だけではハッシュ衝突に起因するデ
ッドロックが回避できない。第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のマッチン
グメモリに書込まれ、デッドロックが発生する可能性が
ある。
以上のことから、ループ構造を含むデータフロープログ
ラムを実行する場合には、上記論文に示された方式だけ
ではハッシュ衝突に起因するデッドロックが回避できな
いことがわかる。
ラムを実行する場合には、上記論文に示された方式だけ
ではハッシュ衝突に起因するデッドロックが回避できな
いことがわかる。
この発明は、上記問題点を解消するためになされたもの
で、ループ構造を含むデータフロープログラムを実行す
る場合であってもデッドロックを回避し得るようなデッ
ドロック回避実行制御方式を提供することを目的とす
る。
で、ループ構造を含むデータフロープログラムを実行す
る場合であってもデッドロックを回避し得るようなデッ
ドロック回避実行制御方式を提供することを目的とす
る。
[課題を解決するための手段] この発明に係るデッドロック回避実行制御方式は、プロ
グラム記憶手段とマッチングメモリとデータ対生成手段
と演算処理とを備える情報処理装置において、プログラ
ム記憶手段から出力されるデータパケットのフィールド
に優先情報を付与し、データ対生成手段でハッシュ衝突
を起こした場合は当該入力データパケットの優先情報に
従って、データ対生成処理の優先順位を決定するように
したものである。
グラム記憶手段とマッチングメモリとデータ対生成手段
と演算処理とを備える情報処理装置において、プログラ
ム記憶手段から出力されるデータパケットのフィールド
に優先情報を付与し、データ対生成手段でハッシュ衝突
を起こした場合は当該入力データパケットの優先情報に
従って、データ対生成処理の優先順位を決定するように
したものである。
[作用] 上記のように、優先情報を設定することにより、ループ
構造を含むデータフロープログラムに対しても実行時に
おけるハッシュ衝突に起因するデッドロック回避するよ
うにしている。
構造を含むデータフロープログラムに対しても実行時に
おけるハッシュ衝突に起因するデッドロック回避するよ
うにしている。
[実施例] 以下、実施例に基づいて本発明を詳細に説明する。
第1図にデータフロー型情報処理装置の一実施例におけ
るデータパケットのフィールド構成を示す。第1図にお
けるデータパケットのフィールド構成は、第5図に示し
た従来装置におけるデータパケットのフィールド構成
に、データ対生成手段2において優先的に実行処理され
るべきデータパケットであることを示す情報を格納する
ための優先情報フィールドを付与したものである。な
お、当該実施例における情報処理装置のブロック図は、
第4図と同一である。
るデータパケットのフィールド構成を示す。第1図にお
けるデータパケットのフィールド構成は、第5図に示し
た従来装置におけるデータパケットのフィールド構成
に、データ対生成手段2において優先的に実行処理され
るべきデータパケットであることを示す情報を格納する
ための優先情報フィールドを付与したものである。な
お、当該実施例における情報処理装置のブロック図は、
第4図と同一である。
また、第2図に当該実施例における情報処理装置のプロ
グラム記憶手段1における記憶内容のフィールド構成の
一部を示す。第2図におけるプログラム記憶手段1の記
憶内容のフィールド構成は、第6図に示した従来装置に
おける記憶内容のフィールド構成に、データ対生成手段
2において優先的に実行処理されるべきデータパケット
であることを示す優先情報を付与したものである。
グラム記憶手段1における記憶内容のフィールド構成の
一部を示す。第2図におけるプログラム記憶手段1の記
憶内容のフィールド構成は、第6図に示した従来装置に
おける記憶内容のフィールド構成に、データ対生成手段
2において優先的に実行処理されるべきデータパケット
であることを示す優先情報を付与したものである。
さらに、第3図に当該実施例における情報処理装置のデ
ータ対生成手段2におけるマッチングメモリのフィール
ド構成を示す。第3図におけるデータ対生成手段2にお
けるマッチングメモリのフィールド構成は、第7図に示
した従来装置におけるマッチングメモリのフィールド構
成に、データ対生成手段2において優先的に実行処理さ
れるべきデータパケットであることを示す情報を格納す
るための優先情報フィールドを付与したものである。
ータ対生成手段2におけるマッチングメモリのフィール
ド構成を示す。第3図におけるデータ対生成手段2にお
けるマッチングメモリのフィールド構成は、第7図に示
した従来装置におけるマッチングメモリのフィールド構
成に、データ対生成手段2において優先的に実行処理さ
れるべきデータパケットであることを示す情報を格納す
るための優先情報フィールドを付与したものである。
当該実施例におけるプログラム記憶手段1は、第2図に
示すデータフロープログラムを記憶しており、入力デー
タパケットのカラー情報および行先情報をアドレスとし
て、次位の優先情報、次位の行先情報および次位の命令
情報を読出し、これら各情報を前記入力データパケット
の優先情報フィールド、行先フィールドおよび命令フィ
ールドに格納して出力する。また、当該実施例における
データ対生成手段2は、プログラム記憶手段1から出力
されるデータパケットに対して、以下に示す「優先情報
に基づくデータ入替方式」に従って待合わせ(カラー情
報および行先情報が一致する2つのデータパケットの検
出)を行ない、データ対を生成する。なお、当該実施例
における演算処理手段3の機能は、従来例における情報
処理装置の場合と同様である。
示すデータフロープログラムを記憶しており、入力デー
タパケットのカラー情報および行先情報をアドレスとし
て、次位の優先情報、次位の行先情報および次位の命令
情報を読出し、これら各情報を前記入力データパケット
の優先情報フィールド、行先フィールドおよび命令フィ
ールドに格納して出力する。また、当該実施例における
データ対生成手段2は、プログラム記憶手段1から出力
されるデータパケットに対して、以下に示す「優先情報
に基づくデータ入替方式」に従って待合わせ(カラー情
報および行先情報が一致する2つのデータパケットの検
出)を行ない、データ対を生成する。なお、当該実施例
における演算処理手段3の機能は、従来例における情報
処理装置の場合と同様である。
「優先情報に基づくデータ入替方式」では、データ対生
成手段2において以下の動作を行なう。但し、データフ
ロープログラムの実行開始以前には、第3図に示すデー
タ対生成手段2のマッチングメモリ内のすべてのプレゼ
ンスビット(PB)が「無効」に設定されているものとす
る。
成手段2において以下の動作を行なう。但し、データフ
ロープログラムの実行開始以前には、第3図に示すデー
タ対生成手段2のマッチングメモリ内のすべてのプレゼ
ンスビット(PB)が「無効」に設定されているものとす
る。
(1) 第1図に示す入力データパケットのカラー情報
および行先情報にハッシュ演算を施し、得られた値をア
ドレスとして第3図に示すマッチングメモリの内容を読
出す。
および行先情報にハッシュ演算を施し、得られた値をア
ドレスとして第3図に示すマッチングメモリの内容を読
出す。
(2) 読出内容中のPBが「無効」であれば、前記入力
データパケットのうち、カラー情報、行先情報およびデ
ータ1フィールドの内容を当該ハッシュアドレスに従っ
て第3図に示すマッチングメモリに書込むとともに、PB
を「有効」に設定し、処理を終了する。PBが「有効」で
あれば、(3)の処理を行なう。
データパケットのうち、カラー情報、行先情報およびデ
ータ1フィールドの内容を当該ハッシュアドレスに従っ
て第3図に示すマッチングメモリに書込むとともに、PB
を「有効」に設定し、処理を終了する。PBが「有効」で
あれば、(3)の処理を行なう。
(3) 前記入力データパケットの優先情報の内容と、
前記マッチングメモリからの読出内容中の優先情報の内
容とがともに「有効」の場合は、(4)の処理を行な
う。前記マッチングメモリからの読出内容中の優先情報
フィールドの内容のみが「有効」の場合は(5)の処理
を行なう。前記入力データパケットの優先情報フィール
ドの内容のみが「有効」の場合は(6)の処理を行な
う。
前記マッチングメモリからの読出内容中の優先情報の内
容とがともに「有効」の場合は、(4)の処理を行な
う。前記マッチングメモリからの読出内容中の優先情報
フィールドの内容のみが「有効」の場合は(5)の処理
を行なう。前記入力データパケットの優先情報フィール
ドの内容のみが「有効」の場合は(6)の処理を行な
う。
(4) 前記入力データパケットのカラー情報および行
先情報の内容と、前記マッチングメモリからの読出内容
中のカラー情報および行先情報の内容とを比較し、当該
内容の数値において前記入力データパケットの方が大き
ければ(5)小さければ(6)一致した場合は(7)の
各処理を行なう。
先情報の内容と、前記マッチングメモリからの読出内容
中のカラー情報および行先情報の内容とを比較し、当該
内容の数値において前記入力データパケットの方が大き
ければ(5)小さければ(6)一致した場合は(7)の
各処理を行なう。
(5) 第1図に示す入力データパケットのスルーパケ
ットフラグを「有効」に設定した後、データ対生成手段
2から送り出し、処理を終了する。
ットフラグを「有効」に設定した後、データ対生成手段
2から送り出し、処理を終了する。
(6) 第3図に示すマッチングメモリの当該アドレス
に従って読出された内容からデータパケットを生成し、
さらに、新たに生成されたデータパケットのスルーパケ
ットフラグを「有効」に設定した後、データ対生成手段
2から送出するとともに、第1図に示す入力データパケ
ットのうち、優先情報、カラー情報、行先情報、命令情
報およびデータ1フィールドの内容を当該ハッシュアド
レスに従って前記マッチングメモリに書込み、処理を終
了する。
に従って読出された内容からデータパケットを生成し、
さらに、新たに生成されたデータパケットのスルーパケ
ットフラグを「有効」に設定した後、データ対生成手段
2から送出するとともに、第1図に示す入力データパケ
ットのうち、優先情報、カラー情報、行先情報、命令情
報およびデータ1フィールドの内容を当該ハッシュアド
レスに従って前記マッチングメモリに書込み、処理を終
了する。
(7) 第1図に示す入力データパケット中の有効デー
タが格納されているフィールドの内容と、第3図に示す
マッチングメモリから読出されたデータフィールドの内
容とを併せてデータ対を生成し、さらに、前記入力デー
タパケット中の優先情報、カラー情報、行先情報および
命令情報の内容を付加することにより新たなデータパケ
ットを生成する。このとき、前記新たに生成されたデー
タパケットのスルーパケットフラグを「無効」に設定し
た後、データ対生成手段2から送出するとともに、前記
マッチングメモリの当該アドレスのPBを「無効」に設定
し、処理を終了する。
タが格納されているフィールドの内容と、第3図に示す
マッチングメモリから読出されたデータフィールドの内
容とを併せてデータ対を生成し、さらに、前記入力デー
タパケット中の優先情報、カラー情報、行先情報および
命令情報の内容を付加することにより新たなデータパケ
ットを生成する。このとき、前記新たに生成されたデー
タパケットのスルーパケットフラグを「無効」に設定し
た後、データ対生成手段2から送出するとともに、前記
マッチングメモリの当該アドレスのPBを「無効」に設定
し、処理を終了する。
なお、スルーパケットフラグが「有効」であるデータパ
ケットは、従来実施例の場合と同様に、データ対生成手
段2から送出された後、演算処理手段3およびプログラ
ム記憶手段1において、何の処理もなされずに通過し、
データ対生成手段2に戻って再度上記の処理を受ける。
ケットは、従来実施例の場合と同様に、データ対生成手
段2から送出された後、演算処理手段3およびプログラ
ム記憶手段1において、何の処理もなされずに通過し、
データ対生成手段2に戻って再度上記の処理を受ける。
「優先情報に基づくデータ入替方式」によるデータ対生
成手段は、上記処理手順から明らかなように、前記「デ
ータ入替方式」を包含している。
成手段は、上記処理手順から明らかなように、前記「デ
ータ入替方式」を包含している。
第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図に示すような
接続関係がある。
行前に終了条件判定が行なわれる構造に対するデータフ
ロープログラムへの一展開形式を示す。第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図に示すような
接続関係がある。
第10図において、ループ構造実行前の処理14に属する2
入力ノードに対する行先情報の内容を、当該内容の数値
においてループ構造10に属する2入力ノードに対する行
先情報の内容よりも小さく、また、ループ構造実行終了
の処理15に属する2入力ノードに対する行先情報の内容
を、当該内容の数値においてループ構造10に属する2入
力ノードに対する行先情報の内容よりも大きくするよう
に設定すれば、「データ入替方式」により、ループ構造
実行前の処理14に属する2入力ノードとループ構造10に
属する2入力ノード間、および、ループ構造実行終了後
の処理15に属する2入力ノードとループ構造10に属する
2入力ノード間で、ハッシュ衝突に起因するデッドロッ
クが起きない。
入力ノードに対する行先情報の内容を、当該内容の数値
においてループ構造10に属する2入力ノードに対する行
先情報の内容よりも小さく、また、ループ構造実行終了
の処理15に属する2入力ノードに対する行先情報の内容
を、当該内容の数値においてループ構造10に属する2入
力ノードに対する行先情報の内容よりも大きくするよう
に設定すれば、「データ入替方式」により、ループ構造
実行前の処理14に属する2入力ノードとループ構造10に
属する2入力ノード間、および、ループ構造実行終了後
の処理15に属する2入力ノードとループ構造10に属する
2入力ノード間で、ハッシュ衝突に起因するデッドロッ
クが起きない。
次に、第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の優先情報の内容が「有効」に設定され
ている限り、ハッシュ衝突に起因する新たなデッドロッ
クが生起することはない。
ノード、条件判定ブロック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の優先情報の内容が「有効」に設定され
ている限り、ハッシュ衝突に起因する新たなデッドロッ
クが生起することはない。
以上のことから、while型ループ構造10の実行におい
て、以下に示す実行制御方式を採用することにより、ハ
ッシュ衝突に起因するデッドロックを回避することがで
きる。
て、以下に示す実行制御方式を採用することにより、ハ
ッシュ衝突に起因するデッドロックを回避することがで
きる。
(1) データ対生成手段2において、「優先情報に基
づくデータ入替方式」を採用する。
づくデータ入替方式」を採用する。
(2) 第10図に示す、ループ構造10の展開形式を採用
する。
する。
(3) ループ構造実行前の処理14に属する2入力ノー
ドに対する行先情報の内容を、当該内容の数値において
ループ構造10に属する2入力ノードに対する行先情報の
内容よりも小さく、また、ループ構造実行終了後の処理
15に属する2入力ノードに対する行先情報の内容を、当
該内容の数値においてループ構造10に属する2入力ノー
ドに対する行先情報の内容よりも大きくなるように設定
する。
ドに対する行先情報の内容を、当該内容の数値において
ループ構造10に属する2入力ノードに対する行先情報の
内容よりも小さく、また、ループ構造実行終了後の処理
15に属する2入力ノードに対する行先情報の内容を、当
該内容の数値においてループ構造10に属する2入力ノー
ドに対する行先情報の内容よりも大きくなるように設定
する。
(4) 2入力ノードに対する行先情報の内容を、本体
ブロック11に属する2入力ノード、条件判定ブロック12
に属する2入力ノード、出力選択ブロック13に属する2
入力ノードの順に大きくなるように設定する。
ブロック11に属する2入力ノード、条件判定ブロック12
に属する2入力ノード、出力選択ブロック13に属する2
入力ノードの順に大きくなるように設定する。
(5) 出力選択ブロック13に属する2入力ノード(TG
およびSW)の右入力データパケットの優先情報の内容を
「有効」に設定し、当該2入力ノードの左入力データパ
ケットおよび当該2入力ノード以外の2入力ノードに対
する入力データパケットの優先情報の内容を「無効」に
設定する。
およびSW)の右入力データパケットの優先情報の内容を
「有効」に設定し、当該2入力ノードの左入力データパ
ケットおよび当該2入力ノード以外の2入力ノードに対
する入力データパケットの優先情報の内容を「無効」に
設定する。
本実施例において、while型のループ構造を展開したデ
ータフロープログラムに対して、ハッシュ衝突に起因す
るデッドロックを回避することができることを示した
が、同様の実行制御方式をとることにより、do−while
型ループ構造、すなわち、まずループ本体の処理を行な
い、その後にループ終了判定を行なうループ構造、ある
いは、for型ループ構造、すなわち、まずループ制御変
数の初期値を設定した後、ループの終了判定を行ない、
さらにループ本体の処理を行なった後、ループ制御変数
の値の再設定を行なうループ構造等においても、ハッシ
ュ衝突に起因するデッドロックを回避することができ
る。
ータフロープログラムに対して、ハッシュ衝突に起因す
るデッドロックを回避することができることを示した
が、同様の実行制御方式をとることにより、do−while
型ループ構造、すなわち、まずループ本体の処理を行な
い、その後にループ終了判定を行なうループ構造、ある
いは、for型ループ構造、すなわち、まずループ制御変
数の初期値を設定した後、ループの終了判定を行ない、
さらにループ本体の処理を行なった後、ループ制御変数
の値の再設定を行なうループ構造等においても、ハッシ
ュ衝突に起因するデッドロックを回避することができ
る。
[発明の効果] 以上詳細に説明したように、データフロー型情報処理装
置において本発明によるデッドロック回避実行制御方式
を採用すれば、従来装置においてデッドロックを起こし
処理の続行が不可能であったループ構造を含むデータフ
ロープログラにおいて、デッドロックを起こすことのな
い実行を保証することができる。
置において本発明によるデッドロック回避実行制御方式
を採用すれば、従来装置においてデッドロックを起こし
処理の続行が不可能であったループ構造を含むデータフ
ロープログラにおいて、デッドロックを起こすことのな
い実行を保証することができる。
第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はデータパケットを示す。
ルド構成を示す図である。 第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はデータパケットを示す。
Claims (1)
- 【請求項1】タグ部およびデータ部からなる入力データ
パケットのカラーフィールドの内容(以下、カラー情報
と呼ぶ)と行先フィールドの内容(以下、行先情報と呼
ぶ)とに基づくアドレスを指定することによって、デー
タフロープログラムとして記憶されている優先的に実行
処理されるべきデータであることを示す情報(以下、優
先情報と呼ぶ)と次位の行先情報と次位の命令情報とを
読出し、前記読出した各情報を前記入力データパケット
の優先情報フィールド、行先フィールド、命令フィール
ド(ダグ部)にそれぞれ格納して出力するプログラム記
憶手段と、 前記プログラム記憶手段から出力されるデータパケット
の前記カラー情報および前記次位の行先情報に対してハ
ッシュ演算を施して得られる値がその物理的アドレス
(以下、ハッシュアドレスと呼ぶ)に対応するアドレス
空間を有するマッチングメモリと、 入力データパケットのカラー情報および前記次位の行先
情報と、当該入力データパケットから得られるハッシュ
アドレスが示す前記マッチングメモリの内容とを比較
し、その比較結果に応じて、データ対を生成し出力する
か、当該入力データパケットを当該ハッシュアドレスが
示すマッチングメモリに書込むか、当該入力データパケ
ットをそのまま出力するか、あるいは、当該入力データ
パケットの内容と当該ハッシュアドレスが示すマッチン
グメモリの内容とを交換するかのいずれかの処理を行な
うデータ対生成手段と、 前記データ対生成手段から出力されるデータパケットの
命令情報を解読し、前記データ対に含まれる2つのオペ
ランドデータに対して所定の演算処理を施し、その結果
を入力データパケットのデータフィールドに格納して前
記プログラム記憶手段に出力する演算処理手段とを備え
る情報処理装置において、 前記データ対生成手段において、カラー情報あるいは行
先情報が異なっている入力データパケットと前記マッチ
ングメモリ内に格納されているデータパケットとが、同
一のハッシュアドレスを有し、アクセス競合(以下、ハ
ッシュ衝突と呼ぶ)を起こした場合、当該入力データパ
ケットの優先情報に従って、データ対生成処理の優先順
位を決定することにより、ハッシュ衝突に起因するデッ
ドロックを回避することを特徴とするデッドロック回避
実行制御方式。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP63013452A JPH06101044B2 (ja) | 1988-01-23 | 1988-01-23 | デッドロック回避実行制御方式 |
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 (ja) | 1988-01-23 | 1988-01-23 | デッドロック回避実行制御方式 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH01188950A JPH01188950A (ja) | 1989-07-28 |
JPH06101044B2 true JPH06101044B2 (ja) | 1994-12-12 |
Family
ID=11833534
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP63013452A Expired - Fee Related JPH06101044B2 (ja) | 1988-01-23 | 1988-01-23 | デッドロック回避実行制御方式 |
Country Status (2)
Country | Link |
---|---|
US (1) | US4965715A (ja) |
JP (1) | JPH06101044B2 (ja) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01188951A (ja) * | 1988-01-23 | 1989-07-28 | Sharp Corp | データフロープログラムの実行制御方式 |
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 (ja) * | 1989-04-21 | 1997-10-27 | 三菱電機株式会社 | データ検索装置 |
JP2568452B2 (ja) * | 1990-02-27 | 1997-01-08 | シャープ株式会社 | データフロー型情報処理装置 |
JP2632074B2 (ja) * | 1990-07-11 | 1997-07-16 | シャープ株式会社 | データフロー型情報処理装置 |
JPH0743700B2 (ja) * | 1990-07-17 | 1995-05-15 | 三菱電機株式会社 | データ駆動型情報処理装置 |
US5404553A (en) * | 1991-01-09 | 1995-04-04 | Mitsubishi Denki Kabushiki Kaisha | Microprocessor and data flow microprocessor having vector operation function |
JP2750968B2 (ja) * | 1991-11-18 | 1998-05-18 | シャープ株式会社 | データ駆動型情報処理装置 |
JP3312039B2 (ja) * | 1992-01-08 | 2002-08-05 | シャープ株式会社 | データ駆動型情報処理装置 |
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 (ja) * | 1992-11-26 | 1994-06-10 | Sharp Corp | データフロープロセッサ装置 |
JPH08249306A (ja) * | 1995-03-09 | 1996-09-27 | Sharp Corp | データ駆動型情報処理装置 |
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 |
US4153932A (en) * | 1974-03-29 | 1979-05-08 | Massachusetts Institute Of Technology | Data processing apparatus for highly parallel execution of stored programs |
US4145733A (en) * | 1974-03-29 | 1979-03-20 | Massachusetts Institute Of Technology | Data processing apparatus for highly parallel execution of stored programs |
JPS58151655A (ja) * | 1982-03-03 | 1983-09-08 | Fujitsu Ltd | 情報処理装置 |
JPS5936857A (ja) * | 1982-08-25 | 1984-02-29 | Nec Corp | プロセツサユニツト |
JPH0632056B2 (ja) * | 1985-05-31 | 1994-04-27 | 松下電器産業株式会社 | デ−タ処理装置 |
-
1988
- 1988-01-23 JP JP63013452A patent/JPH06101044B2/ja 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 |
---|---|
US4965715A (en) | 1990-10-23 |
JPH01188950A (ja) | 1989-07-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH06101044B2 (ja) | デッドロック回避実行制御方式 | |
JP3677315B2 (ja) | データ駆動型情報処理装置 | |
TW581950B (en) | Multiple logical interfaces to a shared coprocessor resource | |
JP3988144B2 (ja) | ベクトル処理装置、及び、追い越し制御回路 | |
EP1307818B1 (en) | Implementing locks in a distributed processing system | |
US20030182376A1 (en) | Distributed processing multi-processor computer | |
JP2001273275A (ja) | データ駆動型情報処理装置 | |
JP2010097591A (ja) | データ処理装置および方法 | |
Cansell et al. | Incremental proof of the producer/consumer property for the PCI protocol | |
CN116821975A (zh) | 基于加载指令依赖链的risc-v处理器防御幽灵攻击方法 | |
US11934832B2 (en) | Synchronization instruction insertion method and apparatus | |
JP2001117772A (ja) | コンピュータ・プログラムのハザードを検出するシステム | |
JP2668156B2 (ja) | データ駆動型情報処理装置の実行制御方法 | |
US20080209085A1 (en) | Semiconductor device and dma transfer method | |
US10203911B2 (en) | Content addressable memory (CAM) implemented tuple spaces | |
Dobrogost et al. | Verified multicore parallelism using atomic verifiable operations | |
WO2004006114A1 (fr) | Appel et module sous-sequentiel | |
JP2520481B2 (ja) | 対デ―タ検出回路およびデ―タフロ―コンピュ―タにおけるコピ―方法 | |
JP3710798B2 (ja) | 複合演算処理装置 | |
JP2883488B2 (ja) | 命令処理装置 | |
JP3473506B2 (ja) | パイプライン処理装置 | |
JP2878160B2 (ja) | 競合調停装置 | |
JPH01233524A (ja) | データフロープログラムの実行制御方式 | |
JPH0950423A (ja) | 遠隔情報処理システム間のデータ伝送方法 | |
JP2731738B2 (ja) | マルチプロセッサシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |