JP3389261B2 - データ駆動型情報処理装置 - Google Patents

データ駆動型情報処理装置

Info

Publication number
JP3389261B2
JP3389261B2 JP18012892A JP18012892A JP3389261B2 JP 3389261 B2 JP3389261 B2 JP 3389261B2 JP 18012892 A JP18012892 A JP 18012892A JP 18012892 A JP18012892 A JP 18012892A JP 3389261 B2 JP3389261 B2 JP 3389261B2
Authority
JP
Japan
Prior art keywords
data
unit
packet
input
program
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
Application number
JP18012892A
Other languages
English (en)
Other versions
JPH05233854A (ja
Inventor
俊弥 岡本
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.)
Sharp Corp
Original Assignee
Sharp Corp
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 Sharp Corp filed Critical Sharp Corp
Priority to JP18012892A priority Critical patent/JP3389261B2/ja
Priority to US08/018,706 priority patent/US5404558A/en
Publication of JPH05233854A publication Critical patent/JPH05233854A/ja
Application granted granted Critical
Publication of JP3389261B2 publication Critical patent/JP3389261B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明はデータ駆動型情報処理
装置に関し、特に、プログラムメモリの1アクセス当り
実行されるべきデータフロープログラムを複数読出しな
がら該プログラムを実行する、データ駆動型情報処理装
置に関する。
【0002】
【従来の技術】従来のノイマン型計算機においては、プ
ログラムとして種々の命令が予めプログラムメモリに記
憶され、プログラムカウンタによってプログラムメモリ
のアドレスが逐次指定されることにより順次命令が読出
され、その命令が実行される。
【0003】一方、データ駆動型情報処理装置は、プロ
グラムカウンタによる逐次的な命令の実行という概念を
持たない非ノイマン型計算機の一種である。このような
データ駆動型情報処理装置には、命令の並列処理を基本
にしたアーキテクチャが採用される。データ駆動型情報
処理装置においては、演算の対象となるデータが揃い次
第、命令の実行が可能となり、データによって複数の命
令が同時に駆動されるため、データの自然な流れに従っ
て並列的にプログラムが実行される。その結果、演算の
所要時間が大幅に短縮するとみなされている。
【0004】図17は、従来のデータ駆動型情報処理装
置の構成を示すブロック図である。
【0005】図18は、図17に示される合流部の構成
を示す図である。
【0006】図19は、図17に示されるプログラム記
憶部の構成を示す図である。
【0007】図20は、図17に示されるデータ駆動型
情報処理装置により処理される従来のデータフロープロ
グラムを示す図である。
【0008】図21は、図17に示されるデータ駆動型
情報処理装置により処理される従来のデータパケットの
基本的なフィールド構成を示す図である。
【0009】図21に示されるデータパケットpaは、
行先フィールドF1、命令フィールドF2、データ1フ
ィールドF3およびデータ2フィールドF4を含む。行
先フィールドF1には行先ノード番号NDが格納され、
命令フィールドF2には命令コードOPが格納され、デ
ータ1フィールドF3またはデータ2フィールドF4に
はオペランドデータOPDが格納される。
【0010】図17に示されるデータ駆動型情報処理装
置は、プログラム記憶部500、対データ検出部50
1、演算処理部502、入力部503,合流部504、
および分岐部505を含む。
【0011】合流部504は、図18に示されるように
2つの入力ポートI1、I2および2つの出力ポートO
1、O2を有する。出力ポートO1およびO2から出力
されるデータパケットは互いに同期している。
【0012】分岐部505は2つの入力ポートi1、i
2および2つの出力ポートo1、o2を有する。
【0013】図17のプログラム記憶部500は、図1
9に示されるようにメモリアクセス部1d、メモリ部1
eおよびパケット生成部1fを含む。メモリアクセス部
1dはその入力端が分岐部505の出力ポートo1に接
続され、パケット生成部1fの出力端は合流部504の
入力ポートI1に接続される。メモリ部1eには、図1
4に示されるデータフロープログラム170が記憶され
ている。メモリアクセス部1dは、与えられるデータパ
ケットの行先ノード番号NDに基づいたアドレス指定に
よって、図20に示されるようにメモリ部1eに格納さ
れたデータフロープログラム170の1組の行先ノード
番号および命令コードを読出し、その行先ノード番号お
よび命令コードをパケット生成部1fに導出する。パケ
ット生成部1fは、読出された行先ノード番号および命
令コードをデータパケットPaの行先フィールドF1お
よび命令フィールドF2にそれぞれ格納し、該データパ
ケットを出力する。したがって、プログラム記憶部50
0は1回のアクセスに1個のプログラムデータを出力で
きる。
【0014】対データ検出部501は、入力されるデー
タパケットPaの待合せを行なう。すなわち、同じ行先
ノード番号NDを有する異なる2つのデータパケットを
検出し、それらのデータパケットのうち一方のデータパ
ケットのオペランドデータOPD、たとえば図21にお
けるデータ1フィールドF3の内容を、他方のデータパ
ケットのデータ2フィールドF4に格納し、その他方の
データパケットPaを出力する。
【0015】演算処理部502は与えられるデータパケ
ットPaに対して、そこに格納された1個または2個の
オペランドデータOPDに対してそこに格納された命令
コードOPによる演算処理を施し、その結果を該データ
パケットPaのデータ1フィールドF3に格納してその
データパケットを出力する。
【0016】図22(a)ないし(h)および図23
(a)ないし(e)は、図17に示されたデータ駆動型
情報処理装置におけるプログラム実行中に装置内をフロ
ーするデータパケットのフィールド構成を示す図であ
る。
【0017】図17を参照すると、入力部503の2つ
の入力ポートには、それぞれデータ伝送路506、50
7が接続されている。データ伝送路506には、図22
(a)に示される行先フィールド506aおよび命令フ
ィールド506bからなるデータパケット506Pが与
えられる。データ伝送路507には、図22(b)に示
されるようなデータフィールド507aからなるデータ
パケット507Pが与えられる。入力部503の2つの
出力ポートは、データ伝送路508、509を介して合
流部504の入力ポートI1、I2が接続されている。
【0018】プログラム記憶部500の出力ポートに
は、データ伝送路512が接続されている。データ伝送
路512は合流部504の入力ポートI1に接続されて
いる。データ伝送路512には、図22(c)に示され
るような行先フィールド512aおよび命令フィールド
512bからなるデータパケット512Pが与えられ
る。
【0019】演算処理部502の出力ポートには、デー
タ伝送路520が接続されている。データ伝送路520
は、合流部504の入力ポートI2に接続されている。
データ伝送路520には、図22(d)に示されるよう
なデータフィールド520aからなるデータパケット5
20Pが与えられる。
【0020】合流部504の2つの出力ポートO1、O
2は、それぞれデータ伝送路510、511を介して対
データ検出部501の2つの入力ポートに接続されてい
る。データ伝送路510には、図22(e)に示される
ような行先フィールド510aおよび命令フィールド5
10bからなるデータパケット510Pが与えられる。
データ伝送路511には、図22(f)に示されるよう
なデータフィールド511aからなるデータパケット5
11Pが与えられる。
【0021】対データ検出部501の2つの出力ポート
は、データ伝送路513、514を介して分岐部505
の2つの入力ポートi1,i2に接続されている。デー
タ伝送路513には、図22(g)に示されるような行
先フィールド513aおよび命令フィールド513bか
らなるデータパケット513Pが与えられる。データ伝
送路514には、図22(h)に示されるようなデータ
1フィールド514aおよびデータ2フィールド514
bからなるデータパケット514Pが与えられる。
【0022】分岐部505の一方の出力ポートo1は、
データ伝送路515を介してプログラム記憶部500の
入力ポートに接続され、データ伝送路517を介して演
算処理部3の一方の入力ポートに接続されている。ま
た、分岐部505はデータ伝送路516を介して該装置
外部と接続される。分岐部505の他方の出力ポートo
2は、データ伝送路518を介して該装置外部と接続さ
れ、データ伝送路519を介して演算処理部502の他
方の入力ポートに接続されている。データ伝送路515
には、図23(a)に示されるような行先フィールド5
15aからなるデータパケット515Pが与えられ、デ
ータ伝送路517には、図23(b)に示されるような
命令フィールド517aからなるデータパケット517
Pが与えらる。データ伝送路519には、図23(c)
に示されるようなデータ1フィールド519aおよびデ
ータ2フィールド519bからなるデータパケット51
9Pが与えられる。データ伝送路516には、図23
(d)に示されるような行先フィールド516aおよび
命令フィールド516bからなるデータパケット516
Pが与えられ、データ伝送路518には、図23(e)
に示されるようなデータフィールド518aからなるデ
ータパケット518Pが与えられる。
【0023】図24は、図17に示されるデータ駆動型
情報処理装置におけるプログラム実行中の動作を各種デ
ータパケットの流れに従って説明するための図である。
【0024】次に、図24を参照しながら従来のデータ
駆動型情報処理装置の動作を説明する。
【0025】最初に、該装置外部から入力部503に1
組のデータパケット506P、507Pが入力される。
これらのデータパケット506P,507Pは合流部5
04の入力ポートI1,I2にそれぞれ送られる。最初
の時点では、これらのデータパケット506P,507
Pが出力ポートO1,O2からそれぞれデータパケット
510P,511Pとしてそのまま対データ検出部50
1に送られる。対データ検出部501で同じ行先ノード
番号を有するる異なる2組のデータパケットが検出され
ると、対データ検出部501から1組のデータパケット
513P,514Pが出力される。
【0026】分岐部505は、これらのデータパケット
513P,514Pに関する内部処理を続けるか、ある
いはこれらのデータパケット513P,514Pを該装
置外部に送るかを選択する。内部での処理が続けられる
場合は、分岐部505はデータパケット513Pを行先
フィールドからなるデータパケット515Pと命令フィ
ールドからなるデータパケット517Pとに分離し、デ
ータパケット515Pをプログラム記憶部500に送
り、データパケット517Pを演算処理部502に送
る。また、分岐部505は、データパケット514Pを
データパケット519Pとして演算処理部502に送
る。データパケット513P、514Pが装置外部に送
られる場合は、データパケット513Pは分離されな
い。装置外部に送られるデータパケット513Pはデー
タパケット516Pとして出力され、同様にしてデータ
パケット514Pはデータパケット518Pとして出力
される。
【0027】演算処理部502は、データパケット51
7Pに格納される命令コードOPに基づいて、データパ
ケット519Pに格納される1つまたは2つのオペラン
ドデータOPDに関する演算処理を行ない、その演算結
果を表わすデータのみが格納されたデータパケット52
0Pを出力する。
【0028】一方、プログラム記憶部500ではデータ
パケット515Pに格納される行先ノード番号NDに基
づくアドレス指定により、図20に示されるデータフロ
ープログラム170の次位の行先ノード番号、命令コー
ドが読出される。データ伝送路512にはプログラム記
憶部500から読出された行先ノード番号および命令コ
ードを含むデータパケット512Pが出力される。
【0029】以降、同様にして各データパケットが各処
理部を順に巡回することにより、データフロープログラ
ム170に従う処理が進行する。
【0030】合流部504は、外部から与えられるデー
タパケットと内部で処理されたデータパケットとを調停
する。合流部504において、内部処理されたデータパ
ケット512Pと外部から与えられるデータパケット5
06Pとが競合するときには、内部処理されたデータパ
ケット512Pが優先的に出力ポートO1から送出され
る。優先されなかったデータパケットは、競合相手がな
くなるまで合流部504の図示されない内部バッファに
おいて待たされる。出力ポートO2では、出力ポートO
1で内部処理されたデータパケット512Pが選択され
れば、演算処理部502から出力されるデータパケット
520Pが選択され、出力ポートO1で外部から与えら
れたデータパケット506Pが選択されれば、外部から
与えられたデータパケット507Pが選択される。デー
タパケット511Pはデータパケット510Pと同期し
て出力される。選択されなかったデータパケットはその
内部バッファで待たされる。
【0031】なお、対データ検出部501から出力され
るデータパケット514Pに関しては、対応するデータ
パケット513Pの命令コードOPがオペランドデータ
を1個だけ必要とするような1入力命令を示す場合に
は、データ1フィールド514aのみにオペランドデー
タOPDが格納され、対応する命令コードOPがオペラ
ンドデータを2個必要とするような2入力命令を示す場
合にはデータ1フィールド514aおよびデータ2フィ
ールド514bにオペランドデータOPDがそれぞれ格
納される。
【0032】したがって、分岐部505により分離され
たデータパケットに特別な識別情報を付与することな
く、プログラム記憶部500から読出された新たなデー
タパケットを演算処理部502により処理された対応す
るデータパケットに結合(合流)させることが可能とな
る。
【0033】
【発明が解決しようとする課題】近年、特に望まれるデ
ータ駆動型情報処理装置の処理速度の向上を実現するに
は、プログラム記憶部500、対データ検出部501、
および演算処理部502のそれぞれにおいて処理速度を
向上させる必要がある。
【0034】プログラム記憶部500は、1回のアクセ
ス当り1データのみを読出して対データ検出部501に
送出する。対データ検出部501は入力された1データ
についてのみ1回の対データ検出をし、その検出結果を
格納したデータをプログラム記憶部500および演算処
理部502に送出する。演算処理部502は、入力され
た1データに対して1回の演算処理をするので、該演算
処理終了後は次の1データ入力を待って次回の演算処理
を行なうことになる。したがって、演算処理部502に
おける演算処理速度を向上させるには次回の演算処理ま
での待ち時間を短縮させればよい。この待ち時間短縮の
ためには、対データ検出部501における単位時間当り
の対データ検出回数を多くして、単位時間当りに対デー
タ検出部501から演算処理部502へ供給するデータ
量を増やせばよい。この供給データ量増加のためには、
プログラム記憶部500における単位時間当りのデータ
読出量を増加させればよい。しかしながら、従来の装置
におけるプログラム記憶部500は1回のアクセスに1
データを読出すだけであり、単位時間当りに多量のデー
タを読出すためには、プログラム記憶部のアクセス速度
を高速化する以外に方法はない。しかしながら、プログ
ラム記憶部500に高速アクセス可能なメモリを用いた
情報処理装置では、装置自体、またこの装置を含んで構
成されるシステムの価格が高くなり、実用的でないとい
う問題がある。
【0035】また、プログラム記憶部500に高速アク
セスメモリを用いたとしても、該情報処理装置の処理速
度はプログラム記憶部500のアクセス速度以上には向
上しないという問題があった。
【0036】それゆえにこの発明の目的は、装置に高速
アクセスメモリを用いることなく単位時間当りに処理さ
れるプログラムデータ量を増加させることにより、該装
置自体の処理能力を向上させることのできるデータ駆動
型情報処理装置を提供することである。
【0037】
【課題を解決するための手段】この発明に係るデータ駆
動型情報処理装置は、複数組の行先情報および命令情報
を含むデータフロープログラムに基づいて情報処理を行
なうデータ駆動型情報処理装置であって、プログラム記
憶手段と、演算処理手段と、合流手段と、対データ検出
手段と、供給手段とを備えて構成される。
【0038】前述のプログラム記憶手段は、データフロ
ープログラムを複数個のプログラム群に分割して記憶
し、入力された行先情報に基づいて前述の複数個のプロ
グラム群を並列にアクセスして、各プログラム群から次
位の行先情報および命令情報を読出すよう構成される。
【0039】前述の演算処理手段は、識別番号と命令情
報とデータとを入力し、入力された命令情報に基づい
て、入力されたデータに関する演算処理を行ない、識別
番号と演算結果を示すデータを出力するよう構成され
る。
【0040】前述の合流手段は、識別番号に基づきプ
グラム記憶手段から読出された複数組の行先情報および
命令情報のそれぞれを前述の演算処理手段から出力され
た対応のデータと順次合流させるよう構成され、対デー
タ検出手段は、この合流手段から出力された行先情報お
よび命令情報をそれらの情報に対応するデータとともに
受け、同じ行先情報に対応する1または複数のデータを
行先情報および命令情報とともに出力するよう構成され
る。
【0041】前述の供給手段は、対データ検出手段から
の出力のうち、行先情報を前述のプログラム記憶手段に
与え、識別番号と命令情報とデータを前述の演算処理手
段に与えるよう構成される。
【0042】また、この発明の他の局面に係るデータ駆
動型情報処理装置は、プログラム記憶手段と、演算処理
手段と、合流手段と、対データ検出手段と供給手段とを
備えて構成される。プログラム記憶手段はデータフロー
プログラムを複数個のプログラム群に分割して記憶し、
入力された行先情報に基づいて複数個のプログラム群を
並列にアクセスして、各プログラム群から次位の行先情
報および命令情報を読出すよう構成される。
【0043】算処理手段は、前述のプログラム記憶手
段のプログラム群のそれぞれに対応して演算部を個別に
設け、各演算部は入力された命令情報に基づいて入力さ
れたデータに関する演算処理を行ない、演算結果を示す
データを出力するよう構成される。
【0044】流手段は、演算手段の演算部のそれぞれ
に対応し、かつプログラム群のそれぞれに対応して個別
に設けられた合流部と、プログラム群のそれぞれに対応
して個別に設けられて与えられた情報を出力する出力部
とを有し、各合流部は対応のプログラム群から読出され
た次位の行先情報および命令情報を対応の演算部から出
力されたデータと順次合流させて、複数の出力部のうち
のいずれか1つに与えるよう構成される。
【0045】データ検出手段は、出力部のそれぞれに
対応して検出部を個別に設け、各検出部は、対応の出力
から出力された行先情報および命令情報をそれらの情
報に対応するデータとともに受け、同じ行先情報に対応
する1または複数のデータを行先情報および命令情報と
ともに出力するよう構成される。
【0046】給手段は、検出部のそれぞれに対応し、
つ演算部のそれぞれに対応して個別に設けられて対応
の検出部の出力を受理する供給部を有し、各供給部によ
り受理された命令情報およびデータを対応の演算部に与
え、各供給部により受理された行先情報のいずれか1つ
をプログラム記憶手段に与えるよう構成される。
【0047】
【作用】この発明に係るデータ駆動型情報処理装置は、
プログラム記憶手段が、該装置において実行すべきデー
タフロープログラムを複数個のプログラム群に分割して
記憶し、入力された行先情報に基づいて複数個のプログ
ラム群を並列にアクセスし、各プログラム群から次位の
行先情報および命令情報を読出すので、プログラム記憶
手段に対する1回のアクセスで複数個のプログラムデー
を読出すことができる。
【0048】この発明の他の局面に係るデータ駆動型情
報処理装置の対データ検出手段の各検出部は相互に並行
しながら、プログラム記憶手段から読出された複数の行
先情報および命令情報のそれぞれを、合流手段の出力部
を介してそれらに対応するデータとともに受けて、同じ
行先情報に対応する1または複数のデータを行先情報お
よび命令情報とともに出力する。さらに演算処理手段の
各演算部もまた、対データ検出手段から出力された複数
の命令情報およびデータをそれぞれ入力し、各命令情報
に基づいて該命令情報に対応して入力されたデータに関
する演算処理を並行して行なう。したがって、プログラ
ム記憶手段に対する1回のアクセスで読出された複数の
プログラムデータのそれぞれについて個別に、かつ並列
に情報処理を行なうことができる。
【0049】
【実施例】以下、この発明の2つの実施例について図面
を参照して詳細に説明する。
【0050】まず第1の実施例について説明する。第1
の実施例によるデータ駆動型情報処理装置は、プログラ
ム記憶部に対する1回のアクセスで、多量のプログラム
データを読出すことにより、該装置における単位時間当
りに実行される演算命令量を増やすように構成される。
【0051】図1は、本発明の第1の実施例によるデー
タ駆動型情報処理装置のブロック構成図である。
【0052】図2は、本発明の第1および第2の実施例
によるデータ駆動型情報処理装置において処理されるデ
ータパケットの基本的なフィールド構成図である。
【0053】図3は、本発明の第1および第2の実施例
によるデータ駆動型情報処理装置において実行されるデ
ータフロープログラムと、その記憶方式を説明するため
の図である。
【0054】図4(a)および(b)は、図1のデータ
駆動型情報処理装置におけるプログラム実行中に装置内
をフローするデータパケット群の一部のフィールド構成
を示す図である。
【0055】図5は、図1のデータ駆動型情報処理装置
におけるプログラム実行中の動作を各種データパケット
の流れに従って説明するための図である。
【0056】図1に示されるデータ駆動型情報処理装置
は、プログラム記憶部1、対データ検出部7、演算処理
部8、合流部9、分岐部10および入力部61を含む。
【0057】合流部9は、図示されるように5つの入力
ポートI1〜I5および2つの出力ポートO1およびO
2を有する。出力ポートO1およびO2から出力される
データパケットは互いに同期している。
【0058】分岐部10は2つの入力ポートi1、i2
および2つの出力ポートo1、o2を有する。プログラ
ム記憶部1の詳細については後述する。演算処理部8、
入力部61は図17で説明した演算処理部502、入力
部503と同様な動作をするように構成されている。
【0059】図1を参照しプログラム記憶部1は、その
入力端が分岐部10の出力ポートo1に接続されるメモ
リアクセス部1a、メモリバンク部1bおよびその出力
端が合流部9の入力ポートI1ないしI5のそれぞれに
接続されるパケット生成部1cを含む。
【0060】メモリバンク部1bは該データ駆動型情報
処理装置において実行されるデータフロープログラムが
予め記憶される領域であり、たとえば第1ないし第5バ
ンクのプログラム記憶領域に分割される。メモリバンク
部1bにおける第1バンクないし第5バンクへのデータ
フロープログラムの記憶方式については後述する。
【0061】図2を参照してデータパケットPAは行先
フィールドF1、命令フィールドF2、データ1フィー
ルドF3およびデータ2フィールドF4を含む。命令フ
ィールドF2、データ1フィールドF3およびデータ2
フィールドF4のそれぞれには命令コードOP、第1オ
ペランドデータOPD1および第2オペランドデータO
PD2が格納される。行先フィールドF1には従来の行
先ノード番号に相当する次位の行先クラスタ番号CBお
よび行先クラスタ内識別番号CIが格納される。行先フ
ィールドF1は固定のビット幅を有するが、行先クラス
タ番号CBおよび行先クラスタ内識別番号CIのそれぞ
れを格納する領域は可変長のビット幅を有する。行先ク
ラスタ番号CBおよび行先クラスタ内識別番号CIのビ
ット幅は、メモリバンク部1bの1アクセス当りにアク
セス可能なメモリの容量、言換えればメモリバンク部1
bのバンクの数によって可変設定される。
【0062】図3のデータフロープログラム90はメモ
リバンク部1bに記憶される。データフロープログラム
90の各行はクラスタ番号Cb、クラスタ内識別番号C
iおよび命令コードOpからなるプログラムデータであ
る。“クラスタ”は1塊りのプログラムデータの集合を
呼び、プログラム90はクラスタ0ないしクラスタNの
(N+1)個のクラスタを含む。プログラム90がメモ
リバンク部1bに格納されているとき、メモリアクセス
部1aは、与えられるデータパケットに格納された行先
クラスタ番号CBに基づくアドレス指定により、プログ
ラム90中の指定クラスタ番号に該当するクラスタに含
まれる全プログラムデータをメモリバンク部1bから読
出すことができる。
【0063】次に、メモリバンク部1bにおけるプログ
ラム90の記憶状態について説明する。
【0064】プログラム90はクラスタ0〜クラスタN
からなり、各クラスタはクラスタ内識別番号Ciにより
識別される5個のプログラムデータを含むのでメモリバ
ンク部1bは5つのバンクに分割される。プログラム9
0がメモリバンク部1bに記憶される場合、図3のプロ
グラム90の各クラスタの1個目のプログラムデータは
第1バンクにストアされ、各クラスタの2個目のプログ
ラムデータは第2バンクにストアされ、各クラスタの3
個目のプログラムデータは第3バンクにストアされ、各
クラスタの4個目のプログラムデータは第4バンクにス
トアされ、さらに各クラスタの5個目のプログラムデー
タは第5バンクにストアされる。
【0065】以上のように、メモリバンク部1bのバン
ク数は、プログラム90の各クラスタに含まれるプログ
ラムデータの数、すなわちクラスタ内の識別番号の最大
個数により決定され、さらに各バンクの容量(深さ)は
プログラム90に含まれるクラスタの数により決定され
る。
【0066】次に、図1を参照してプログラム記憶部1
からのデータフロープログラム90の読出動作について
説明する。
【0067】データパケットが図1のの経路からメモ
リアクセス部1aに与えられる。メモリアクセス部1a
は入力パケットに格納された行先クラスタ番号CBをプ
ログラムデータ読出のための指定アドレスとみなして
の経路からメモリバンク部1bの各バンクを同時に、か
つ個別にアクセスする。メモリバンク部1bはアクセス
された5つのアドレスにストアされたデータフロープロ
グラムデータを読出す。したがって、メモリバンク部1
bからは1回のアクセスにより図3のプログラム90の
指定されたクラスタi(i=0,1,2,…,N)に格
納された5個のプログラムデータがすべて読出される。
【0068】読出された5個のプログラムデータは、
の経路を介してパケット生成部1cに読出された順に送
られる。パケット生成部1cは与えられる各プログラム
データをデータパケットの形にして先着順にの経路か
ら合流部21の入力ポートI1〜I5のそれぞれに送出
する。
【0069】プログラム記憶部1から一斉に読出された
クラスタiの5個のプログラムデータは、合流部9にお
いて演算処理部8から送出されるデータと同期をとりな
がら対データ検出部7に送出される。
【0070】ここで、合流部9における入力ポートの選
択方法について、図1および図3を参照して説明する。
【0071】今プログラム記憶部1のプログラムデータ
の読出結果、図3のプログラム90のクラスタNに格納
された5つのプログラムデータが読出されてパケット生
成部1cからデータパケットにして送出されたと想定す
る。クラスタNの5つのプログラムデータはアドレスβ
1、β2、β3、β4およびβ5により一意に特定され
て、この順番で読出されたと想定すると、各アドレスに
対応のプログラムデータは順に合流部9のポートI1、
I2、I3、I4およびI5に入力し、演算処理部8か
らのデータと同期をとることが可能な状態に設定され
る。演算処理部8からデータが送出されると、そのデー
タに格納された次位の行先クラスタ内識別番号CI(ア
ドレスβ1、β2、β3、β4およびβ5のいずれかに
相当する)に基づいて、入力ポートI1〜I5のいずれ
か1つが選択され、選択された入力ポートを介して合流
部9内部に取込まれる。合流部9の入力ポートのうち、
プログラム記憶部1から読出されたデータと演算処理部
8で演算処理されたデータとが揃った入力ポートにおい
ては2つのデータが、出力ポートO1およびO2を介し
て順次送出される。以降は、対データ検出部7→分岐部
10→演算処理部8→…と処理が従来と同様に進行す
る。したがって、データフロープログラム90のクラス
タNに該当の5つのプログラムデータの実行に関して
は、プログラム記憶部1を1回アクセスするだけでよ
い。これにより、従来に比べ、5つのプログラムデータ
を実行するのにプログラム記憶部のアクセス回数は1/
5倍に短縮されたので対データ検出部7および演算処理
部8においてプログラム記憶部1からの次のプログラム
データが読出されるまでその動作が待機させられるよう
な状態は改善される。
【0072】図5を参照して、たとえば符号506P′
は該当のデータパケットが図22(a)の従来のデータ
パケット506Pと同じフィールド構成を有することを
表わし、さらにその行先フィールドの内容は従来とは異
なることを符号に′を含んで表わす。図5中の他のデー
タパケットについても同様にしてその符号を付し、それ
らの詳細構成については説明を省略する。
【0073】図5を参照して入力部61の2つの出力ポ
ートはデータ伝送路508、509を介して合流部9の
入力ポートI1、I2に接続される。プログラム記憶部
1の出力ポートはデータ伝送路512を介して合流部9
の入力ポートI1〜I5に接続される。演算処理部3の
出力ポートはデータ伝送路520を介して合流部9の入
力ポートI1〜I5に接続される。データ伝送路520
には図4(a)に示されるように行先クラスタ内識別番
号フィールド520a′およびデータフィールド520
b′からなるデータパケット520P′が与えられる。
分岐部10の出力ポートo1はデータ伝送路517を介
して演算処理部8の一方の入力ポートに接続される。デ
ータ伝送路517には図4(b)に示されるような行先
クラスタ内識別番号フィールド517a′および命令フ
ィールド517b′からなるデータパケット517P′
が与えられる。
【0074】図5中の各部を接続するデータ伝送路は図
24に示したものと同様であり、それらに関する詳細な
説明は省略する。
【0075】図5を参照して第1の実施例によるデータ
駆動型情報処理装置の動作について説明する。
【0076】最初に該装置外部から入力部61に1組の
データパケット506P′、507Pが入力される。デ
ータパケット506P′、507Pは合流部9の入力ポ
ートI1、I2にそれぞれ送出される。最初の時点で
は、データパケット506P′、507Pが出力ポート
O1、O2からそれぞれデータパケット510P′、5
11Pとしてそのまま対データ検出部7に送られる。対
データ検出部7で同じ行先情報(行先クラスタ番号CB
およびクラスタ内識別番号CI)を有する異なる2組の
データパケットが検出されると、対データ検出部7から
1組のデータパケット513P′、514Pが出力され
る。
【0077】分岐部10はデータパケット513P′、
514Pに関する内部処理を続けるか、あるいはこれら
のデータパケット513P′、514Pを装置外部に送
るかを選択する。内部での処理を続行する場合、分岐部
10はデータパケット513P′を行先フィールドから
なるデータパケット515P′と行先クラスタ内識別番
号フィールドおよび命令フィールドからなるデータパケ
ット517P′とに分離し、パケット515P′をプロ
グラム記憶部1に送り、データパケット517P′を演
算処理部8に送出する。また、分岐部10はデータパケ
ット514Pをデータパケット519Pとして演算処理
部8に送る。データパケット513P′、514Pを装
置外部に送る場合は、データパケット513P′は分離
されない。装置外部に送られるデータパケット513
P′はデータパケット516P′として出力され、同様
にしてデータパケット514Pはデータパケット518
Pとして出力される。
【0078】演算処理部8はデータパケット517P′
に格納される命令コードOPに基づいてデータパケット
519Pに格納される1つまたは2つのオペランドデー
タOPD1またはOPD2に関する演算処理を行ない、
その演算結果を格納したデータフィールドと行先クラス
タ内識別番号フィールドからなるデータパケット520
P′を出力する。
【0079】一方、プログラム記憶部1ではデータパケ
ット515P′に格納される行先クラスタ番号CBに基
づくアドレス指定により、同時に読出された5つのプロ
グラムデータがそれぞれデータパケット512P′にパ
ケット生成されて合流部9に送られる。合流部9は与え
られるデータパケット512P′をその先着順に入力ポ
ートI1、I2、I3、I4およびI5に順次入力す
る。
【0080】一方、演算処理部8から送られる演算結果
を格納したデータパケット520P′は、合流部9に与
えられる。合流部9はデータパケット520P′に格納
された行先クラスタ内識別番号CIに基づいて入力ポー
トI1〜I5のいずれか1つを選択して選択された入力
ポートを介してデータパケット520P′を取込む。合
流部9は入力ポートI1〜I5のいずれかにおいて、デ
ータパケット512P′およびデータパケット520
P′が入力されると、出力ポートO1を介してデータパ
ケット512P′をパケット510P′にして送出し、
出力ポートO2を介してデータパケット520P′をパ
ケット511Pにして送出する。この時点で、データパ
ケット520P′に格納されていたオペランドデータに
関する行先情報は、データパケット512P′の行先フ
ィールドに格納されていた行先情報を用いて更新され
る。また、合流部9は従来と同様にして、内部処理され
たデータパケットと外部から入力部6を介して与えられ
るデータパケットとの調停処理を行なっている。
【0081】対データ検出部2は合流部9から出力され
たデータパケット510P′および511Pを入力し、
パケット510P′の行先フィールドに格納された行先
クラスタ番号CBおよび行先クラスタ内識別番号CI
(=行先ノード番号)を用いて行先情報が一致する異な
る2つのデータパケットの待合せを行なう。
【0082】プログラム記憶部1は、対データ検出さ
れ、分岐部10により分岐されて与えられるデータパケ
ット515P′に格納された行先クラスタ番号CBに対
応する複数のプログラムデータを図3のデータフロープ
ログラム90のクラスタ単位で一斉に読出す。このよう
にして、プログラム記憶部1に記憶されたデータフロー
プログラム90に従う演算処理が進行する。
【0083】なお、上述したプログラム記憶部1におけ
るプログラムデータの読出に際しては、同一クラスタへ
の連続読出は禁止される。詳細には、図1のメモリアク
セス部1aが与えられるデータパケット515P′に格
納された行先クラスタ番号CBと、直前に与えられたデ
ータパケット515P′に格納された行先クラスタ番号
CB(これは、内部バッファにストアされる)とを比較
照合する。照合結果が一致すれば、今回の入力データパ
ケット515P′によるアクセスは禁止される。これ
は、メモリバンク部1bへのアクセスがデータフロープ
ログラム90のクラスタ単位で行なわれるため、読出を
終了していない(読出途中の)クラスタ番号に相当する
プログラムデータを連続して読出すことを回避するため
に行なわれる。
【0084】以上のように第1の実施例によれば、プロ
グラム記憶部1に対する1アクセス当りプログラム90
の1クラスタ内のすべてのプログラムデータ(5個の演
算命令)が読出されて実行されるので、従来の1アクセ
ス当り1プログラムデータ読出に比べれば、クラスタ内
のプログラム数だけアクセスの効率は向上する。本実施
例では、単純計算により従来に比べ約5倍のアクセス効
率の向上が見込まれる。
【0085】次に、第2の実施例について説明する。第
2の実施例によるデータ駆動型情報処理装置は、1アク
セス当り複数データの読出を行なうプログラム記憶部、
複数のデータの待合せ/一致検出を同時に、かつ個別に
行なう対データ検出部、さらには複数命令の実行を同時
に、かつ個別に行なう演算処理部を備えて構成される。
このように構成されることにより、従来のデータ駆動型
情報処理装置および第1の実施例で示されたデータ駆動
型情報処理装置よりも、さらなる処理速度向上を達成す
ることができる。
【0086】図6は、本発明の第2の実施例によるデー
タ駆動型情報処理装置のブロック構成図である。図6に
おいてデータ駆動型情報処理装置100は第1の実施例
において示されたプログラム記憶部1、5つのデータの
待合せ/一致検出を同時に、かつ個別に行なう対データ
検出部2、5つの命令の実行を同時に、かつ個別に行な
う演算処理部3、合流部4、分岐部5、および入力部6
2を含む。対データ検出部2は、図示されるように第1
検出部2a、第2検出部2b、第3検出部2c、第4検
出部2dおよび第5検出部2eをさらに含む。演算処理
部3は第1演算部3a、第2演算部3b、第3演算部3
c、第4演算部3dおよび第5演算部3eを含む。これ
は、プログラム記憶部1から1アクセス当りに読出され
る各プログラムデータについて並行して対データ検出動
作し、さらにプログラム記憶部1から1アクセス当りに
読出される各プログラムデータについて並行して演算処
理するためである。対データ検出部2および演算処理部
3内部の設けられる検出部の数および演算部の数はプロ
グラム記憶部1から1アクセス当りに読出されるプログ
ラムデータの数(バンク数)に応じて可変に設定する。
図7は、図6の第n検出部のブロック構成図である。対
データ検出部2における検出部2aないし2eのそれぞ
れは同様なブロック構成を有する。図7において第n検
出部は命令コード識別部200、アドレス計算部20
1、および待合せメモリ202を含む。第n検出部は前
段の合流部4から与えられるデータパケットを入力し、
そこに格納された命令コードOPが1入力命令であるか
2入力命令であるかに基づいて、該入力データパケット
を待合せメモリ202において待合せ/一致検出のため
の処理を行なうか否かを決定する。命令コード識別部2
00は合流部4から送出されたデータパケットを入力
し、そこに格納された命令コードOPが1つのオペラン
ドデータを必要とする1入力命令であることを識別する
と、応じて該入力データパケットを図中の経路を介し
て分岐部5へそのまま出力する。一方、命令コード識別
部200は、該入力データパケットに格納された命令コ
ードOPが2つのオペランドデータを必要とする2入力
命令である、すなわち一方のオペランドデータの入力を
待合せメモリ202において待合わせる必要がある場
合、該入力データパケットを図中の経路を介してアド
レス計算部201に送出する。アドレス計算部201は
与えられるデータパケットの行先フィールド(後述する
行先クラスタ番号フィールド)の内容に基づいて、待合
せメモリ202内のどのアドレス領域で一方のオペラン
ドデータを待合せるかを計算する。算出されたアドレス
に基づいて図中の経路で待合せメモリ202をアドレ
ス指定し、指定アドレスに既にデータが格納されていれ
ば、対データが検出される。対データが検出されると、
指定アドレスに格納されていたオペランドデータが読出
され、入力データパケットのデータフィールドに書込ま
れて2つのオペランドデータが格納された該データパケ
ットは図中の経路を介して分岐部5に送出される。仮
に、待合せメモリ202の指定アドレスにデータが格納
されていなければ、該指定アドレス領域に該入力データ
パケットに格納されていたクラスタ番号とオペランドデ
ータが読出されて図中の領域に書込まれる。書込まれ
たデータは、対となるオペランドデータを格納したデー
タパケットが入力されるまで、ここで待機する。
【0087】アドレス計算部201のアドレス計算には
入力データパケットに格納されたクラスタ番号CBが用
いられる。アドレス計算方法としては アドレス=Func(クラスタ番号) を用いる。これは、クラスタ番号を引数とした任意の関
数Funcでアドレスが計算されることを表わす。ただ
し、関数Funcは任意に設定変更できる。たとえば、
待合せメモリ202の任意の領域を指定するためのアド
レスの幅が5ビットを有し、クラスタ番号CBが8ビッ
ト幅を有するとすれば、次式のようにクラスタ番号(1
0101010)に5ビットの論理マスクをかければ、
これがアドレスとなる。
【0088】(00011111).AND.(101
01010)→00001010このようにすれば、ク
ラスタ番号CBのビット幅が任意に設定されているとし
ても、待合せメモリ202に応じた所定ビット幅のアド
レスを生成することができる。
【0089】図8は、図6の合流部4のブロック構成図
である。合流部4は第1〜第5パケット合流部11〜1
5、第1〜第5行先分配部21〜25および第1〜第5
行先調停部31〜35を含む。パケット合流部は1アク
セス当りにプログラム記憶部1から読出されるプログラ
ムデータの数(本実施例の場合、5個)だけ個別に設け
られ、それらの内部構成は同様である。このことは行先
分配部および行先調停部についても同様に言える。各パ
ケット合流部は、2つの入力ポートと1つの出力ポート
を有する。一方の入力ポートにはプログラム記憶部1ま
たは入力部62のいずれか一方から送出されたデータパ
ケットが入力され、他方の入力ポートには演算処理部3
または入力部62のいずれか一方から送出されたデータ
パケットが入力される。各パケット合流部は入力ポート
から入力された2つのデータパケットを1つのパケット
に生成し、その出力ポートを介して対応の行先分配部へ
送出する。各パケット合流部は入力部62を介して装置
外部から与えられるデータパケットと該装置内部で処理
されたデータパケットとを調停する。各パケット合流部
において、内部処理されたデータパケットと外部から与
えられるデータパケットとが競合するときには、内部処
理されたデータパケットが優先的に処理されてその出力
ポートから送出される。優先されなかったデータパケッ
トは競合相手がなくなるまで該パケット合流部の図示さ
れない内部バッファで待たされる。
【0090】各行先分配部は1つの入力ポートと5つの
出力ポートを有する。第1の出力ポートは第1行先調停
部31とつながり、第2の出力ポートは第2行先調停部
32とつながり、第3の出力ポートは第3行先調停部3
3とつながり、第4の出力ポートは第4行先調停部34
とつながり第5の出力ポートは第5行先調停部35とつ
ながる。
【0091】各行先分配部は入力データパケットに格納
されたクラスタ内識別番号CIに基づいて5つの出力ポ
ートのいずれか1つを選択する。選択された出力ポート
を介して該入力データパケットが送出されるので、該入
力データパケットはそこに格納された番号CIに基づき
第1〜第5行先調停部31〜35のいずれか1つに送出
される。クラスタ内識別番号CIの種類数と行先調停部
の数(5個)は一致すると想定する。
【0092】各行先調停部は5つの入力ポートと1つの
出力ポートを有する。各行先調停部の5つの入力ポート
のそれぞれは行先分配部21〜25のそれぞれとつなが
る。各行先調停部は入力データパケットを、先着順にそ
の出力ポートを介して対データ検出部2の対応の検出部
へ送出する。特に、複数の入力ポートに同時にデータパ
ケットが入力される場合は、入力データパケットのう
ち、そこに格納されたクラスタ番号の小さいものを優先
的に選択してその出力ポートを介して送出する。選択さ
れなかった残りのデータパケットは、その競合相手がな
くなるまで各行先調停部の図示されない内部バッファで
待たされる。
【0093】このように合流部4からは5つのデータパ
ケットが並行して生成され、各生成パケットは、該生成
パケットの行先クラスタ内識別番号CIに従って第1〜
第5検出部2a〜2eのいずれか1つに選択的に送出さ
れる。
【0094】図9は、図6の分岐部5のブロック構成図
である。
【0095】図9において分岐部5は第1〜第5パケッ
ト入力部41〜45、第1〜第5クラスタソート部51
〜55、第1〜第5行先調停部71〜75およびクラス
タ番号比較部70を含む。各パケット入力部は1つの入
力ポートおよび1つの出力ポートを有する。各クラスタ
ソート部は1つの入力ポートおよび1つの出力ポートを
有する。各行先調停部は1つの入力ポートと3つの出力
ポートを有し、その動作はクラスタ番号比較部70から
の信号により制御される。
【0096】分岐部5は前段の対データ検出部2から送
出されたデータパケットを入力し、入力パケットに格納
されたクラスタ番号CBに基づいて入力パケットを並び
換えながら出力する。このとき出力すべきパケットに格
納されたデータを分離しプログラム記憶部1、演算処理
部3に送出するとともに、該パケットを必要に応じて該
装置外部に送出する機能を有する。
【0097】各パケット入力部は対データ検出部2から
送出されたデータパケットを入力し、その出力ポートを
介して対応のクラスタソート部へ送出する。各クラスタ
ソート部は、対応のパケット入力部から送出されたデー
タパケットを入力するごとに、そこに格納されたクラス
タ番号CBに基づいて入力データパケットを昇順に並び
換える。詳細には、各クラスタソート部は内部バッファ
を有し、該バッファに入力パケットをたとえば3つ格納
し、パケット入力ごとに、該入力パケットとこの3つの
データパケットとにおいて前述のクラスタ番号に基づく
並び換えを行なう。並び換えた結果、クラスタ番号の最
も小さいものが優先的に選択されてその出力ポートから
送出される。選択されなかったデータパケットは該バッ
ファに格納されて、データパケット入力ごとにそのクラ
スタ番号に基づくデータパケットの並び換えが行なわれ
る。
【0098】各行先調停部は対応のクラスタソート部に
おいてクラスタ番号順にソートされて出力されたデータ
パケットを入力し、該入力データパケットを他の行先調
停部と連携をとり一斉に出力する。この連携をクラスタ
番号比較部70が制御する。
【0099】クラスタ番号比較部70は各行先調停部か
ら同一のクラスタ番号を格納したデータパケットが同時
に出力されるように制御する。クラスタ番号比較部70
は、各行先調停部に入力したデータパケットに格納され
るクラスタ番号CBを読出して比較し、行先調停部71
〜75のうち同一のクラスタ番号を格納したデータパケ
ットを入力した行先調停部のみに対してその出力動作を
許可するようにして、同一のクラスタ番号を格納したパ
ケットが同時に出力されるように制御する。図9では、
プログラム記憶部1から1アクセス当り読出されるプロ
グラムデータの数(5個)に合わせて行先調停部が5つ
設けられるので、クラスタ番号比較部70の制御により
同一クラスタ番号を格納したデータパケットが最大5個
演算処理部3に一斉に送出される。このときプログラム
記憶部1から次の1クラスタ分のプログラムデータ(5
個)を読出すために、演算処理部3に出力されたデータ
パケットに格納されたクラスタ番号のみを格納した1つ
のデータパケットがプログラム記憶部1に送出される。
クラスタ番号比較部70の比較結果、クラスタ番号CB
が一致するデータパケットが5個以下と判定された場合
は、演算処理部3に一斉に送出されるデータパケット数
は5個以下となる。また比較部70は、その比較結果に
基づき装置外部に出力すべきパケットを入力した調停部
に対しては、その入力パケットを装置外部へ送出するよ
う制御する。
【0100】図10(a)〜(i)は、図6に示された
データ駆動型情報処理装置におけるプログラム実行中に
装置内をフローするデータパケットのフィールド構成を
示す図である。
【0101】図11は、図6に示されるデータ駆動型情
報処理装置におけるプログラム実行中の動作を各種デー
タパケットの流れに従って説明するための図である。
【0102】図12は、図6に示されるデータ駆動型情
報処理装置におけるプログラム実行中の合流部4の動作
を各種データパケットの流れに従って説明するための図
である。
【0103】図13は、図6に示されるデータ駆動型情
報処理装置におけるプログラム実行中の対データ検出部
2の動作を各種データパケットの流れに従って説明する
ための図である。
【0104】図14は、図6に示されるデータ駆動型情
報処理装置におけるプログラム実行中の分岐部5の動作
を各種データパケットの流れに従って説明するたの図で
ある。
【0105】図11を参照してプログラム記憶部1の出
力ポートにはデータ伝送路512が接続される。データ
伝送路512は第1〜第5パケット合流部11〜15の
一方の入力ポートに接続される。データ伝送路512に
はデータパケット512P′が与えられる。一方、演算
処理部3の出力ポートには5本のデータ伝送路82が接
続される。各データ伝送路82は第1〜第5パケット合
流部11〜15の他方の入力ポートに接続される。デー
タ伝送路82には図10(a)に示されるようなデータ
フィールド82aからなるデータパケット82Pが与え
られる。
【0106】合流部4の5つの出力ポートは、それぞれ
データ伝送路85を介して第1〜第5検出部の各命令コ
ード識別部200の入力ポートに接続される。データ伝
送路85には図10(b)に示されるような次位の行先
クラスタ番号CBを格納した行先クラスタ番号フィール
ド85a、命令フィールド85bおよびデータフィール
ド85cからなるデータパケット85Pが与えられる。
【0107】対データ検出部2の5つの出力ポートのそ
れぞれはデータ伝送路88を介して分岐部5の第1〜第
5パケット入力部41〜45の各入力ポートに接続され
る。データ伝送路88には図10(c)に示されるよう
な行先クラスタ番号フィールド88a、命令フィールド
88b、データ1フィールド88cおよびデータ2フィ
ールド88dからなるデータパケット88Pが与えられ
る。分岐部5の各行先調停部の第1の出力ポートはデー
タ伝送路91を介してプログラム記憶部1の入力ポート
に接続され、第2の出力ポートはデータ伝送路92を介
して該装置外部と接続され、さらに第3の出力ポートは
データ伝送路93を介して演算処理部3の対応の演算部
の入力ポートに接続される。なお、図11では説明を簡
単にするため、データ伝送路91および92の図示は簡
略化する。データ伝送路91には行先クラスタ番号CB
のみを格納したデータパケット91Pが1つ与えられ
る。データ伝送路92に与えられるデータパケットにつ
いては後述する。データ伝送路93には図10(d)に
示されるような命令フィールド93a、データ1フィー
ルド93bおよびデータ2フィールド93cからなるデ
ータパケット93Pが与えられる。
【0108】次に、図6ないし図14を参照して第2の
実施例によるデータ駆動型情報処理装置の動作について
説明する。
【0109】最初に入力部62に1組のデータパケット
506P′、507Pと4個のパケット507Pが入力
される。これら1組のデータパケット506P′、50
7Pは図12に示されるように伝送路508、509を
介して第1パケット合流部11の2つの入力ポートにそ
れぞれ送られる。他のパケット507Pの各々は合流部
12〜15の各々の一方の入力ポートに入力する。第1
パケット合流部11はこれらのデータパケット506
P′、507Pを図10(e)に示されるような行先フ
ィールド83a、命令フィールド83b、およびデータ
フィールド83cからなるデータパケット83Pにして
第1行先分配部21に送出する。第1行先分配部21は
入力データパケット83Pの行先フィールドに格納され
た行先クラスタ内識別番号CIに基づいて出力ポートを
決定する。行先分配部21は決定された出力ポートを介
してデータパケット83Pを図10(f)に示されるよ
うな行先クラスタ番号フィールド84a、命令フィール
ド84bおよびデータフィールド84cからなるデータ
パケット84Pにして対応の行先調停部へ送出する。こ
のとき、データパケット83pに格納された行先クラス
タ内識別番号CI=1であれば、該データパケットは第
1行先調停部31に送出され、同様に番号CI=2であ
れば該データパケットは第2行先調停部32へ送出さ
れ、番号CI=3であれば該データパケットは第3行先
調停部33へ送出され、番号CI(4であれば第4行先
調停部34へ送出され、番号CI=5であれば該データ
パケットは第5行先調停部35へ送出される。データパ
ケット84Pを入力した行先調停部は、該入力データパ
ケットをデータパケット85Pにして対データ検出部2
の対応の検出部へ送出する。
【0110】前述のパケット85Pを入力した検出部の
命令コード識別部200は入力データパケット85Pに
格納された命令コードOPを識別し、その識別結果に基
づいて該入力データパケットをアドレス計算部201お
よび分岐部5の対応のパケット入力部のいずれか一方へ
そのまま送出する。たとえばデータパケット85Pに格
納された命令コードOPが2入力命令であると識別され
れば、該入力データパケットはアドレス計算部201へ
送られる。計算部201は入力データパケット85Pに
格納された行先クラスタ番号CBに基づくアドレス計算
により待合せメモリ202をアクセスするためのアドレ
スを算出する。算出アドレスに基づくメモリ202のア
ドレス指定により対データ検出されると、2つのオペラ
ンドデータを格納したデータパケット88Pが伝送路8
8を介して送出される。また、該指定アドレスに待合せ
データが格納されていないときは、入力パケット85P
に格納されたクラスタ番号およびデータフィールドの内
容が読出され該指定アドレス領域に書込まれ、対データ
の入力を待合せる。この待合せメモリ202の対データ
検出の詳細が図13に示される。待合せメモリ202を
アクセスした結果、対データ検出され2つのオペランド
データOPD1およびOPD2を格納したデータパケッ
ト88Pが送出されるとき、待合せメモリ202をアク
セスしたデータパケットはデータパケット86Pであ
る。データパケット86Pは図10(g)に示されるよ
うに行先クラスタ番号フィールド86a、命令フィール
ド86bおよび第2のオペランドデータOPD2を格納
したデータ2フィールド86cからなるデータパケット
である。一方、指定アドレスに待合せデータが格納され
ていないとき、該指定アドレスをアクセスするデータパ
ケットはデータパケット87Pである。データパケット
87Pは図10(h)に示されるように行先クラスタ番
号フィールド87a、命令フィールド87bおよび第1
オペランドデータOPD1を格納したデータ1フィール
ド87cからなるデータパケットである。
【0111】なお、命令コード識別部200においてデ
ータパケット85Pに格納された命令コードが1入力命
令であると識別されたとき、送出されるデータパケット
88Pに格納されるオペランドデータは第1または第2
のオペランドデータのいずれか一方である。
【0112】伝送路88を介して送出されたデータパケ
ット88Pは分岐部5の対応のパケット入力部に入力す
る。図14を参照して、該パケット入力部は該パケット
88Pを入力し伝送路89を介してデータパケット89
Pにして対応のクラスタソート部に送出する。該クラス
タソート部は入力データパケット89Pについてそのク
ラスタ番号順にソートしながら対応の行先調停部に送出
する。該行先調停部は比較部70の制御により入力デー
タパケット89Pを装置外部へ送出すべきデータパケッ
トであると判定すると、伝送路92を介して図10
(i)に示されるような行先フィールド92a、命令フ
ィールド92b、データ1フィールド92cおよびデー
タ2フィールド92dからなるデータパケット92Pを
送出する。同様にして該行先調停部は入力データパケッ
ト89Pを内部処理するパケットであると判定すると、
データパケット89Pをデータパケット91Pおよび9
3Pに分離する。データパケット91Pはパケット89
Pに格納された行先クラスタ番号CBのみを格納したデ
ータパケットであり、データパケット93Pはパケット
89Pの命令フィールド、データ1フィールドおよびデ
ータ2フィールドの内容を格納したデータパケットであ
る。データパケット91Pは伝送路91を介してプログ
ラム記憶部1のメモリアクセス部1aの入力ポートに与
えられる。また、データパケット93Pはデータ伝送路
93を介して演算処理部3の対応の演算部の入力ポート
に与えられる。
【0113】なお、第n行先調停部は自己がいずれのク
ラスタ内識別番号に対応するか知っているので、パケッ
ト92Pの行先フィールドには、このクラスタ内識別番
号を付加することができる。
【0114】プログラム記憶部1のメモリアクセス部1
aはデータパケット91Pを入力し、パケット91Pに
格納されて行先クラスタ番号CBに基づいてメモリバン
ク部1bの各バンクを同時に、かつ個別にアクセスす
る。このアクセスにより各バンクからは、データフロー
プログラム90(図3参照)中の指定された1クラスタ
分のプログラムデータ(5個のプログラムデータ)が一
斉に読出されパケット生成部1cに与えられる。生成部
1cでは各データが先着順にデータパケット512P′
にそれぞれ生成されて合流部4の各パケット合流部の一
方の入力ポートに与えられる。このとき5つのデータパ
ケット512P′は、プログラム記憶部1から読出され
た順(クラスタ内識別番号順)に各パケット合流部に入
力する。このとき、演算処理部3においては、入力デー
タパケット93Pについて演算処理が行なわれ、その結
果を格納したデータパケット82Pが伝送路82を介し
て合流部4の対応のパケット合流部の他方の入力ポート
に与えられる。
【0115】合流部4のパケット82Pが入力したパケ
ット合流部においては、プログラム記憶部1から読出さ
れたデータパケット512P′とデータパケット82P
が合流される。合流部4のその他のパケット合流部のそ
れぞれにおいては、プログラム記憶部1から読出された
データパケット512P′と予め入力部62を介して与
えられたデータパケット507Pとが合流される。各パ
ケット合流部は、入力された2つのデータパケットをデ
ータパケット83Pにしてデータ伝送路83に送出す
る。この時点で、入力部62を介して入力されたデータ
パケット507Pのオペランドデータおよび演算処理部
3から送出されたデータパケット82Pに格納されたオ
ペランドデータの行先情報が、プログラム記憶部1から
読出されたデータパケット512P′に格納された行先
情報を用いて更新される。
【0116】各パケット合流部から送出されたデータパ
ケット83Pは対応の行先分配部にそれぞれ入力する。
各行先分配部は、入力データパケット83Pに格納され
た行先クラスタ内識別番号CIに基づいてその出力ポー
トを決定し、決定された出力ポートを介してパケット8
3Pをパケット84Pにして出力する。各行先調停部
は、入力データパケット84Pを先着順にデータパケッ
ト85Pにして伝送路85に送出する。このとき、各行
先調停部は複数の行先分配部から同時にパケット83P
の入力がある場合は、複数の入力パケット83Pのそれ
ぞれに格納された行先クラスタ番号CBの小さいものを
優先して選択しパケット85Pにして伝送路85に送出
する。このとき、選択されなかった残りのパケットは行
先調停部の内部バッファで待たされる。
【0117】対データ検出部2の各検出部は伝送路85
を介してデータパケット85Pを入力する。各検出部の
命令コード識別部200において、入力パケット85P
の命令コードが識別され、1入力命令であればそのまま
伝送路88を介して分岐部5に送出される。一方、命令
コードが2入力命令であれば該パケット15Pはアドレ
ス計算部201に送出される。アドレス計算部201は
入力パケット85Pに格納された行先クラスタ番号CB
に基づいてアドレスを算出し、算出アドレスに基づいて
メモリ202をアドレス指定する。メモリ202の指定
アドレス領域にデータが書込まれているか否かによりデ
ータパケット88Pが生成されて送出されるか、該入力
パケット85Pに格納されたデータが該指定アドレス領
域に書込まれて対となるデータの入力を待合わせること
になる。各検出部から送出されたデータパケット88P
は伝送路88を介して対応の分岐部5のパケット入力部
に与えられる。
【0118】分岐部5のパケット入力部のうち、伝送路
88を介してデータパケット88Pが入力された各パケ
ット入力部は、入力パケットをパケット89Pにして伝
送路89に送出する。
【0119】分岐部5の5つのクラスタソート部のう
ち、パケット89を入力したソート部は、次のように動
作する。まず、パケット89の入力に応答して、入力パ
ケット89とそれまでに入力した3つのデータパケット
について、クラスタ番号CBに基づいて昇順に並び換え
る。この並び換えをすることにより、クラスタ番号CB
の最も小さいパケットが選択され、該選択パケットを対
応の行先調停部へ送出する。また、内部バッファにパケ
ットが格納されていない場合は、該入力パケット89を
そのまま対応の行先調停部へ送出する。さらに、5つの
クラスタソート部のうち、パケット89を入力しなかっ
たソート部は、内部バッファにおいて既に並び換えられ
ている複数パケットのうち、クラスタ番号CBの最も小
さいパケットを選択し、該選択パケットを対応の行先調
停部へ送出する。これにより、クラスタソート部51〜
55からは一斉に5つのデータパケットが対応の行先調
停部へ送出される。
【0120】分岐部5の各行先調停部は、対応のクラス
タソート部からデータパケットを入力すると、応じて該
入力パケットに格納されたクラスタ番号CBを読取りク
ラスタ番号比較部70へ送出する。比較部70は入力さ
れた複数のクラスタ番号CBを相互に比較し、その比較
結果に基づいて番号CBの小さいものから順に、かつ同
一クラスタ番号CBを格納したパケットは同時に送出さ
れるように各行先調停部の出力動作を制御する。このと
き、各行先調停部から出力されるべきデータパケットの
行先クラスタ番号CBに基づき該パケットは該装置外部
に出力すべきパケットであると判断された場合、該パケ
ットはパケット92Pにして伝送路92へ送出される。
一方、該パケットは内部処理されるべきパケットと判断
された場合、該パケットはパケット91Pとパケット9
3Pとに分離され、パケット91Pは伝送路91を介し
てプログラム記憶部1へ、パケット93Pは伝送路93
を介して対応の演算部にそれぞれ送出される。なお、パ
ケット91Pが出力される場合、クラスタ番号比較部7
0の制御によりパケット91Pは1個だけ出力される。
【0121】このように、分岐部5からはクラスタ番号
の昇順に、かつクラスタ番号が一致するパケットは同時
に送出されるので、クラスタ番号が一致するパケットが
5個以下の場合は、演算処理部3には5個以下のパケッ
ト93Pが送出される。
【0122】プログラム記憶部1はパケット91Pを入
力しそこに格納されたクラスタ番号CBに基づくアドレ
ス指定によりプログラム90から読出された1クラスタ
分(5個)のプログラムデータ(次位の行先情報および
次位の命令情報)をパケット512P′にして読出し、
読出した順(行先クラスタ内識別番号)順に合流部4の
パケット合流部11〜15のそれぞれに送出する。
【0123】一方、演算処理部3のパケット93Pを入
力した各演算部においては、入力パケット93Pに関す
る演算処理が個別に、かつ同時に行なわれ、その演算結
果を格納したデータパケット82Pが並列して送出さ
れ、合流部4の対応のパケット合流部にそれぞれ入力さ
れる。合流部4の各パケット合流部のうち、パケット5
12P′および82Pを入力したパケット合流部におい
ては、この2つのパケットが1つのデータパケット85
Pにして送出される。この時点で、パケット82Pに格
納されたオペランドデータの行先情報(行先クラスタ番
号および行先クラスタ内識別番号)はプログラム記憶部
1から読出された次位の行先情報で更新される。
【0124】以上のようにしてプログラム記憶部1に記
憶されたデータフロープログラム90がクラスタ単位で
読出されながら、読出されたプログラムデータに従う演
算処理が進行する。
【0125】なお本実施例では、該データ駆動型情報処
理装置におけるプログラム実行を開始させるための方法
として、プログラム記憶部1からプログラムデータを読
出すためのパケット506P′を1個と、このパケット
506P′により記憶部1から読出されたプログラムデ
ータと組合わせられてパケット83Pを生成するための
5つのパケット507Pを入力部6を介して外部から供
給する方法を採用したが、これに特定されない。たとえ
ば、パケット506P′を5個と、これらパケット50
6P′のそれぞれと組合わせられてパケット83Pを生
成するための5個のパケット507Pとを同時に入力部
6を介して外部から供給するような方法を採用してもよ
い。
【0126】以上のように、第2の実施例によるデータ
駆動型情報処理装置においては、プログラム記憶部1に
対するアクセス1回当り、1クラスタ分、すなわち5個
のプログラムデータが読出され、読出された5個のプロ
グラムデータのそれぞれに関して個別に、かつ同時に対
データ検出部2において対となるオペランドデータの検
出および演算処理部3において演算命令が実行されるの
で、該装置におけるプログラム90の実行速度は最大で
は従来の約5倍となり、最小でも従来例を下回ることは
ない。
【0127】図15は、図6に示されたデータ駆動型情
報処理装置において実行されるデータフロープログラム
の一例を示す図である。
【0128】図16は、図15に示されたプログラムを
データフローグラフにして示す図である。
【0129】図16のフローグラフに記述される円形の
記号はノードと呼び、演算・操作命令などが記述され
る。各ノードにはノード番号#1、#2、#3、…が付
される。ノード番号は行先情報(行先クラスタ番号CB
+行先クラスタ内識別番号CI)を示す。各ノードのう
ち並列に実行可能なノード群は1クラスタにまとめられ
る。したがって、図16のうちノード番号#1〜#5の
ノードはクラスタ番号CB=nの1クラスタにまとめら
れ、#6〜#10のノードはクラスタ番号CB=n+1
の1クラスタにまとめられ、さらにノード番号#11〜
#15のノードは次の1クラスタにまとめられる。
【0130】演算命令のうち、npoは何もしないで入
力データを保存して出力するノーオペレーションを示
し、*は乗算、+は加算、incは入力データの値を1
インクリメント、decは入力データの値を1デクリメ
ント、および−は減算の演算処理をそれぞれ示す。
【0131】図15のデータフロープログラム90aは
プログラム記憶部1のバンク1bに格納される。バンク
1bは、入力データパケット91Pに格納された行先ク
ラスタ番号CBにより指定され得るアドレス空間を有
し、各アドレスに対応して図3に示されたようにクラス
タ番号Cb、クラスタ内識別番号Ci、命令コードOp
を格納する。命令コードOpはさらに、演算・操作命令
コードcm1、対応の行先情報cm2、すなわち次位の
ノード番号のノードの命令について左入力であるか右入
力であるかを示すコードおよびコピーフラグfを有す
る。コピーフラグfが0であるとき、該アドレスにスト
アのプログラムデータのみが読出されるが、コピーフラ
グfが1であるとき、該アドレスにストアのプログラム
データの読出に引続いて、次アドレスにストアのプログ
ラムデータが読出される。
【0132】次に、図6〜図15を参照しながら、図1
6に示されたフローグラフに従うデータ駆動型情報処理
装置の動作について説明する。
【0133】まず、図16のノード番号#1〜#5の命
令ノードを実行時には、プログラム記憶部1から並列に
読出されたプログラムデータのそれぞれを格納した5つ
のデータパケット512P′が読出された順に合流部4
に送出されるとともに、演算処理部3からは各演算部に
おける演算結果のそれぞれを格納した5つのデータパケ
ット82Pが合流部4に送出される。5つのデータパケ
ット512P′のうち1個目のパケットにはクラスタ番
号にn、クラスタ内識別番号に1、命令コードにnop
を格納し、合流部4のパケット合流部11の一方の入力
側に与えられる。2個目のパケット512P′にはクラ
スタ番号にn、クラスタ内識別番号に2、命令コードに
nopを格納しパケット合流部12の一方の入力側に与
えられる。3個目のパケット512P′にはクラスタ番
号にn、クラスタ内識別番号に3、命令コードにnpo
を格納し、パケット合流部13の一方の入力側に与えら
れる。4個目のパケット512P′にはクラスタ番号に
n、クラスタ内識別番号に4、命令コードにnopを格
納し、パケット合流部14の一方の入力側に与えられ
る。5個目のパケット512P′にはクラスタ番号に
n、クラスタ内識別信号に5、命令コードにnopを格
納し、パケット合流部15の一方の入力側に与えられ
る。
【0134】また、演算部3aからはオペランドデータ
にD1を格納したデータパケット82Pが送出され、パ
ケット合流部11の他方の入力側に与えられる。また、
演算部3bからはオペレータデータにD2を格納したパ
ケット82Pが送出されパケット合流部12の他方の入
力側に与えられる。また、演算部3cからはオペランド
データにD3を格納したパケット82Pが送出されパケ
ット合流部13の他方の入力側に与えられる。また、演
算部3dからはオペランドデータにD4を格納したデー
タパケット82Pが送出されパケット合流部14の他方
の入力側に与えられる。また、演算部3dからはオペラ
ンドデータにD5を格納したデータパケット82Pが送
出されパケット合流部15の他方の入力側に与えられ
る。
【0135】合流部4の各パケット合流部、各行先分配
部および各行先調停部では、前述の両入力データパケッ
トが順次処理されて、5つのデータパケット85Pのそ
れぞれが対データ検出部2の対応の命令コード識別部2
00に送出される。これらデータパケット85Pのそれ
ぞれにはクラスタ番号にn、命令にnopを格納してお
り、特に調停部31の出力パケット85pにはデータに
D1が格納され、調停部32のそれにはデータD2が格
納され、調停部33のそれにはデータD3が格納され、
調停部34のそれにはデータD4が格納され、さらに調
停部35のそれにはデータD5が格納される。
【0136】対データ検出部2の各命令コード識別部2
00では、該入力データパケット85Pに格納された命
令コードnopを1入力命令と識別するので、入力パケ
ット85Pはそのままパケット88Pとして分岐部5に
送出される。
【0137】分岐部5の各パケット入力部、各クラスタ
ソート部および各行先調停部では、入力データパケット
85Pが順次処理されて、演算処理部3の対応の演算部
に送出される。したがって、第1演算部3aには命令コ
ードにnopおよびデータにD1を格納したパケット9
3Pが与えられ、演算部3bには命令コードにnopお
よびデータにD2を格納したデータパケット93Pが、
演算部3cには命令コードにnopおよびデータにD3
を格納したパケット93Pが、演算部3dには命令コー
ドにnop、およびデータにD4を格納したパケット9
3Pが、そして演算部3eには命令コードにnopおよ
びデータにD5を格納したパケット93Pが与えられ
る。また、各演算部へのデータパケット93Pの送出と
ともに、プログラム記憶部1には行先クラスタ番号にn
を格納したパケット91Pが1個だけ、たとえば行先調
停部61から与えられる。プログラム記憶部1において
は入力パケット91Pに格納されたクラスタ番号(=
n)に基づくアドレス指定により、図15のプログラム
90aのクラスタnに含まれるすべてのプログラムデー
タがメモリバンク部1bの各バンクから並列に読出され
る。このとき、読出されたプログラムデータは図16の
フローグラフの次位のノード番号#6〜#10の命令を
実行するためのデータであり、次位の行先情報および次
位の命令コードを含む。
【0138】プログラム記憶部1から読出されたプログ
ラムデータは、読出された順に合流部4の各パケット合
流部の一方の入力側にそれぞれ与えられる。まず図15
ののプログラムデータが読出されるので、合流部41
の一方の入力側には次位のクラスタ番号に2、クラスタ
内識別番号に1、命令コードに+の左入力とコピー有を
格納したデータパケット512P′が与えられる。この
とき、対応のコピーフラグfは“1”なので、引続いて
次アドレスに格納されたプログラムデータが読出され、
次位のクラスタ番号に2、クラスタ内識別番号に2、命
令コードにdecを格納したデータパケット512P′
が合流部41の一方の入力側に送出される。したがっ
て、上述したコピーフラグfに従うコピー処理が行なわ
れたとき、対応のパケット合流部の一方の入力側には連
続して2つのデータパケット512P′が与えられるこ
とになる。
【0139】次に、図15ののプログラムデータが読
出される。該プログラムデータに対応のコピーフラグf
も“1”なので、引続いて次アドレスに格納されたプロ
グラムデータが読出される。したがって、パケット合流
部42の一方の入力側には次位のクラスタ番号に2、ク
ラスタ内識別番号に1、命令コードに+の右入力とコピ
ー有を格納したデータパケット512P′に引続いて、
次位のクラスタ番号に2、クラスタ内識別番号に3、命
令コードに*の左入力を格納したデータパケット512
P′が与えられる。次に、図15ののプログラムデー
タが読出される。該プログラムデータに対応のコピーフ
ラグfも“1”なので、引続いて次アドレスに格納され
たプログラムデータが読出される。したがって、パケッ
ト合流部43の一方の入力側には次位のクラスタ番号に
2、クラスタ内識別番号に3、命令コードに*の右入力
とコピー有を格納したデータパケット512P′に引続
いて、次位のクラスタ番号に2、クラスタ内識別番号に
5、命令コードに−の左入力を格納したデータパケット
512P′が与えられる。
【0140】次に、図15ののプログラムデータが読
出される。したがって、パケット合流部44の一方の入
力側には次位のクラスタ番号に2、クラスタ内識別番号
に4、命令コードにincを格納したデータパケット5
12P′が与えられる。そして最後に図15ののプロ
グラムデータが読出される。したがってパケット合流部
45の一方の入力側には次位のクラスタ番号に2、クラ
スタ内識別番号に5、命令コードに−の右入力を格納し
たデータパケット512P′が与えられる。
【0141】一方、演算処理部3の各演算部において
は、入力データパケット93Pに格納された命令コード
がnopであることに応答して演算処理は行なわれず、
そのまま該入力データパケットを合流部4の対応のパケ
ット合流部にデータパケット82Pにして出力する。し
たがって合流部41〜45のそれぞれの他方の入力側に
はデータD1〜D5のそれぞれを格納したデータパケッ
ト82Pが与えられる。合流部4の各パケット合流部で
は、入力パケット512P′と82Pとが合流され、パ
ケット83Pを対応の行先分配部に送出する。このと
き、入力パケット512P′の命令コードにコピー有の
命令が格納されていれば、次のパケット512P′が入
力されるまで他方の入力側に与えられたデータパケット
82Pを保持する。詳細には、合流部11は1個目の入
力パケット512P′についてクラスタ番号にn+1、
クラスタ内識別番号に1、命令コードに+の左入力、デ
ータにD1を格納したパケット83Pを行先分配部21
に送出した後、引続いて入力される2個目のデータパケ
ット512P′についてクラスタ番号にn+1、クラス
タ内識別番号に2、命令コードにdec、データにD1
を格納したパケット83Pを分配部21に送出する。ま
た、合流部12は1個目の入力パケット512P′につ
いてクラスタ番号にn+1、クラスタ内識別番号に1、
命令コードに+の右入力、データにD2を格納したパケ
ット83Pを分配部22に送出した後、引続いて入力さ
れる2個目のパケット512P′についてクラスタ番号
にn+1、クラスタ内識別番号に3、命令コードに*の
左入力、データにD2を格納したパケット83Pを分配
部22に送出する。また、合流部13は1個目のデータ
パケット512P′についてクラスタ番号にn+1、ク
ラスタ内識別番号に3、命令コードに*の右入力、デー
タにD3を格納したデータパケット83Pを分配部23
に送出した後、引続いて入力される2個目のデータパケ
ット512P′についてクラスタ番号にn+1、クラス
タ内識別番号に5、命令コードに−の左入力、データに
D3を格納したデータパケット83Pを分配部23に送
出する。合流部14は入力パケット512P′について
クラスタ番号にn+1、クラスタ内識別番号に4、命令
コードにinc、データにD4を格納したデータパケッ
ト83Pを分配部24に送出し、合流部15は入力パケ
ット512P′についてクラスタ番号にn+1、クラス
タ内識別番号に5、命令コードに−の右入力、データに
D5を格納したパケット83Pを分配部25に送出す
る。
【0142】各行先分配部は入力パケット83Pに格納
されたクラスタ内識別番号に基づいて行先調停部31〜
35のいずれか1つに該入力パケットをパケット84P
にして送出する。
【0143】各行先調停部は与えられたデータパケット
84Pを順番にパケット85Pにして対データ検出部2
の対応の命令コード識別部200に送出する。したがっ
て、調停部31からはクラスタ番号にn+1、命令コー
ドに+の左入力、データにD1を格納したパケット85
Pに続いて、クラスタ番号にn+1、命令コードに+の
右入力、データにD2を格納したパケット85Pが送出
される。合流部32からはクラスタ番号にn+1、命令
コードにdec、データにD1を格納したパケット85
Pが送出される。調停部33からはクラスタ番号にn+
1、命令コードに*の左入力、データにD2を格納した
パケット85Pに続いて、クラスタ番号にn+1、命令
コードに*の右入力、データにD3を格納したパケット
85Pが送出される。調停部34からはクラスタ番号に
n+1、命令コードにinc、データにD4を格納した
パケット85Pが送出される。さらに調停部35からは
クラスタ番号にn+1、命令コードに−の左入力、デー
タにD3のパケット85Pに続いて、クラスタ番号にn
+1、命令コードに−の右入力、データにD5を格納し
たデータパケット85Pが送出される。
【0144】対データ検出部2の各命令コード識別部2
00においては、入力データパケット85Pに格納され
る命令コードが識別され、1入力命令コードであれば該
パケット85Pはそのまま送出されてパケット88Pと
して分岐部5に与えられる。一方、2入力命令コードで
あれば対応のアドレス計算部201および待合せメモリ
202において対データ検出されてデータパケット88
Pにして分岐部5に送出される。この対データ検出部2
の処理により、図16のフローグラフ中のノード番号#
6〜#10の各ノードについて対応の命令を実行するの
に必要とされる1つまたは2つのオペランドデータが検
出されることになる。これにより、分岐部5のパケット
入力部41にはノード番号#6のノードに関するパケッ
ト88Pが、入力部42にはノード番号#7に関するデ
ータパケット88Pが、入力部43にはノード番号#8
に関するデータパケット88Pが、入力部44にはノー
ド番号#9に関するパケット88Pが、そして入力部4
5にはノード番号#10に関するパケット88Pがそれ
ぞれ与えられる。各データパケット88Pは、対応のパ
ケット入力部、クラスタソート部および行先調停部にお
いて順次処理されて、各行先調停部からはデータパケッ
ト93Pが演算処理部3の対応の演算部に送出される。
このとき、たとえば行先調停部61からは行先クラスタ
番号にn+1を格納したデータパケット91Pが1個だ
け送出されて、プログラム記憶部1に与えられる。
【0145】一方、演算処理部3の各演算部においては
入力パケット93Pに関して演算処理が並列に行なわれ
る。そして、その演算結果を格納したパケット82Pが
それぞれ合流部4の対応のパケット合流部に送出され
る。詳細には、第1演算部3aにおいては命令コードに
+、データにD1およびD2を格納した、パケット93
Pが入力されて、該入力パケットに関する演算処理を行
なうことにより、その演算結果(D1+D2)を格納し
たパケット82Pが合流部41に送出される。また、第
2演算部3bにおいては、命令コードにdec、データ
にD1を格納したパケット93Pが入力されて、演算処
理を行なうことにより、その演算結果(D1−1)を格
納したパケット82Pが合流部42に送出される。ま
た、第3演算部3cにおいては命令コードに*、データ
にD2およびD3を格納したパケット93Pが入力され
て、その演算結果(D2*D3)を格納したパケット8
2Pが合流部43に送出される。また、第4演算部3d
においては命令コードにinc、データにD4を格納し
たパケット93Pが入力されて、その演算結果(D4+
1)を格納したパケット82Pが合流部44に送出され
る。第5演算部3eにおいては命令コードに−、データ
にD3およびD5を格納したパケット93Pが入力され
て、その演算結果(D3−D5)を格納したパケット8
2Pがパケット合流部45に送出される。
【0146】このようにして、演算処理部3の各演算部
では図16のノード番号#6〜#10のそれぞれのノー
ドについての演算処理が並行して行なわれて、各演算結
果を格納したデータパケット82Pが合流部4の対応の
パケット合流部に一斉に与えられる。一方、プログラム
記憶部1では、入力パケット91Pに格納された行先ク
ラスタ内識別番号(n+1)に基づくアドレス指定によ
り、図15には示されないが、次位の複数のプログラム
データ(クラスタn+1に格納のすべてのプログラムデ
ータ)が同時に読出され、読出された各プログラムデー
タは合流部4の対応のパケット合流部に順次与えられ
る。
【0147】以降、合流部4→対データ検出部2→分岐
部5→演算部3→…と各パケットが順次処理されること
により、図16に示されたノード番号#11〜#15の
命令が並行して処理されることになる。
【0148】以上のように、合流部4→対データ検出部
2→分岐部5→演算処理部3→…と複数パケットが同時
に巡回することにより、プログラム記憶部1から1アク
セス当りに読出された複数のプログラムデータのそれぞ
れが個別に、かつ同時に処理されることになる。これに
より、プログラム記憶部1にストアされたデータフロー
プログラム90aの実行処理速度は、従来に比較し最大
で1アクセス当りに読出されるプログラムデータの量
(本実施例の場合5個)に比例して高速化されることが
わかる。
【0149】
【発明の効果】以上のようにこの発明によれば、データ
駆動型情報処理装置内のプログラム記憶手段を1回アク
セスするだけで、多量のプログラムデータを読出すこと
ができるので、従来に比べてプログラム記憶手段に対す
るアクセスの効率が向上するという効果がある。
【0150】また、上述のメモリアクセスの効率向上
は、プログラム記憶手段に高速アクセス能力を持つメモ
リを用いて実現しているものではないので、装置の価格
を上昇させることはない。また、プログラム記憶手段の
1回のアクセスにより読出されるプログラムデータの量
は、該装置において実行されるべきデータフロープログ
ラムのプログラム記憶手段におけるプログラム群への分
割数および行先情報の内容により任意に可変設定するこ
とができる。
【0151】また、この発明の他の局面に係るデータ駆
動型情報処理装置によれば、対データ検出手段および演
算処理手段では、1回のアクセスによりプログラム記憶
手段の各プログラム群から読出されたプログラムデータ
のそれぞれに関する情報処理を個別に、かつ並列に進行
させることができるので、従来に比べて、該データ駆動
型情報処理装置における情報処理速度は大幅に向上する
という効果がある。
【図面の簡単な説明】
【図1】本発明の第1の実施例によるデータ駆動型情報
処理装置のブロック構成図である。
【図2】本発明の第1および第2の実施例によるデータ
駆動型情報処理装置において処理されるデータパケット
の基本的なフィールド構成図である。
【図3】本発明の第1および第2の実施例によるデータ
駆動型情報処理装置において実行されるデータフロープ
ログラムと、その記憶方式を説明するための図である。
【図4】(a)および(b)は、図1のデータ駆動型情
報処理装置におけるプログラム実行中に装置内をフロー
するデータパケット群の一部のフィールド構成を示す図
である。
【図5】図1のデータ駆動型情報処理装置におけるプロ
グラム実行中の動作を各種データパケットの流れに従っ
て説明するための図である。
【図6】本発明の第2の実施例によるデータ駆動型情報
処理装置のブロック構成図である。
【図7】図6の第n検出部のブロック構成図である。
【図8】図6の合流部のブロック構成図である。
【図9】図6の分岐部のブロック構成図である。
【図10】(a)〜(i)は、図6に示されるデータ駆
動型情報処理装置におけるプログラム実行中に装置内を
フローするデータパケットのフィールド構成を示す図で
ある。
【図11】図6に示されるデータ駆動型情報処理装置に
おけるプログラム実行中の動作を各種データパケットの
流れに従って説明するための図である。
【図12】図6に示されるデータ駆動型情報処理装置に
おけるプログラム実行中の合流部の動作を各種データパ
ケットの流れに従って説明するための図である。
【図13】図6に示されるデータ駆動型情報処理装置に
おけるプログラム実行中の対データ検出部の動作を各種
データパケットの流れに従って説明するための図であ
る。
【図14】図6に示されるデータ駆動型情報処理装置に
おけるプログラム実行中の分岐部の動作を各種データパ
ケットの流れに従って説明するための図である。
【図15】図6に示されるデータ駆動型情報処理装置に
おいて実行されるデータフロープログラムの一例を示す
図である。
【図16】図15に示されたプログラムをデータフロー
グラフにして示す図である。
【図17】従来のデータ駆動型情報処理装置の構成を示
すブロック図である。
【図18】図17に示される合流部の構成を示す図であ
る。
【図19】図17に示されるプログラム記憶部の構成を
示す図である。
【図20】図17に示されるデータ駆動型情報処理装置
により処理される従来のデータフロープログラムを示す
図である。
【図21】図17に示されるデータ駆動型情報処理装置
により処理される従来のデータパケットの基本的なフィ
ールド構成を示す図である。
【図22】(a)ないし(h)は、図17に示されたデ
ータ駆動型情報処理装置におけるプログラム実行中に装
置内をフローするデータパケットのフィールド構成を示
す図である。
【図23】(a)ないし(e)は、図17に示されるデ
ータ駆動型情報処理装置におけるプログラム実行中に装
置内をフローするデータパケットのフィールド構成を示
す図である。
【図24】図17に示されるデータ駆動型情報処理装置
におけるプログラム実行中の動作を各種データパケット
の流れに従って説明するための図である。
【符号の説明】
1 プログラム記憶部 2および7 対データ検出部 3および8 演算処理部 4および9 交流部 5および10 分岐部 61および62 入力部 PA データパケット CB 行先クラスタ番号 CI 行先クラスタ内識別番号 なお、各図中、同一符号は同一または相当部分を示す。
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G06F 15/82 G06F 12/00 JICSTファイル(JOIS)

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項1】 複数組の行先情報および命令情報を含む
    データフロープログラムに基づいて情報処理を行なうデ
    ータ駆動型情報処理装置であって、 前記データフロープログラムを複数個のプログラム群に
    分割して記憶し、入力された行先情報の内の、前記複数
    個のプログラム群のそれぞれを識別するための識別番号
    を除く情報に基づいて前記複数個のプログラム群を並列
    にアクセスして、各プログラム群から次位の行先情報お
    よび命令情報を読出すプログラム記憶手段と、識別番号と命令情報とデータとを入力し、入 力された命
    令情報に基づいて、入力されたデータに関する演算処理
    を行ない、識別番号と演算結果を示すデータを出力する
    演算処理手段と、識別番号に基づき、前 記プログラム記憶手段から読出さ
    れた複数組の行先情報および命令情報のそれぞれを前記
    演算処理手段から出力された対応のデータと順次合流さ
    せる合流手段と、 前記合流手段から出力された行先情報および命令情報を
    それらの情報に対応するデータとともに受け、同じ行先
    情報に対応する1または複数のデータを行先情報および
    命令情報とともに出力する対データ検出手段と、 前記対データ検出手段からの出力のうち、行先情報を前
    記プログラム記憶手段に与え、識別番号と命令情報とデ
    ータを前記演算処理手段に与える供給手段とを備えた、
    データ駆動型情報処理装置。
  2. 【請求項2】 複数組の行先情報および命令情報を含む
    データフロープログラムに基づいて情報処理を行なうデ
    ータ駆動型情報処理装置であって、 前記データフロープログラムを複数個のプログラム群に
    分割して記憶し、入力された行先情報に基づいて前記複
    数個のプログラム群を並列にアクセスして、各プログラ
    ム群から次位の行先情報および命令情報を読出すプログ
    ラム記憶手段と、 前記プログラム群のそれぞれに対応して演算部を個別に
    設け、各演算部は入力された命令情報に基づいて入力さ
    れたデータに関する演算処理を行ない、演算結果を示す
    データを出力する演算処理手段と、 前記演算部のそれぞれに対応し、かつ前記プログラム群
    のそれぞれに対応して個別に設けられた合流部と、前記
    プログラム群のそれぞれに対応して個別に設けられて与
    えられた情報を出力する出力部とを有し、各合流部は対
    応のプログラム群から読出された次位の行先情報および
    命令情報を対応の演算部から出力されたデータと順次合
    流させて、複数の前記出力部のうちのいずれか1つに与
    える合流手段と、 前記出力部のそれぞれに対応して検出部を個別に設け、
    各検出部は、対応の出力部から出力された行先情報およ
    び命令情報をそれらの情報に対応するデータとともに受
    け、同じ行先情報に対応する1または複数のデータを行
    先情報および命令情報とともに出力する対データ検出手
    段と、 前記検出部のそれぞれに対応し、かつ前記演算部のそれ
    ぞれに対応して個別に設けられて対応の検出部の出力を
    受理する供給部を有し、各供給部により受理された命令
    情報およびデータを対応の前記演算部に与え、各供給部
    により受理された行先情報のいずれか1つを前記プログ
    ラム記憶手段に与える供給手段とを備えた、データ駆動
    型情報処理装置。
JP18012892A 1991-12-25 1992-07-07 データ駆動型情報処理装置 Expired - Fee Related JP3389261B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP18012892A JP3389261B2 (ja) 1991-12-25 1992-07-07 データ駆動型情報処理装置
US08/018,706 US5404558A (en) 1992-02-17 1993-02-17 Data driven type information processor having a plurality of memory banks

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP3-343102 1991-12-25
JP34310291 1991-12-25
JP18012892A JP3389261B2 (ja) 1991-12-25 1992-07-07 データ駆動型情報処理装置

Publications (2)

Publication Number Publication Date
JPH05233854A JPH05233854A (ja) 1993-09-10
JP3389261B2 true JP3389261B2 (ja) 2003-03-24

Family

ID=26499763

Family Applications (1)

Application Number Title Priority Date Filing Date
JP18012892A Expired - Fee Related JP3389261B2 (ja) 1991-12-25 1992-07-07 データ駆動型情報処理装置

Country Status (1)

Country Link
JP (1) JP3389261B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003186866A (ja) 2001-12-20 2003-07-04 Sharp Corp データ駆動型情報処理装置およびその処理方法

Also Published As

Publication number Publication date
JPH05233854A (ja) 1993-09-10

Similar Documents

Publication Publication Date Title
Veen Dataflow machine architecture
US5675757A (en) Direct match data flow memory for data driven computing
JP3461704B2 (ja) 条件コードを使用する命令処理システムおよびコンピュータ
KR930006383B1 (ko) 병렬처리방법
US5404558A (en) Data driven type information processor having a plurality of memory banks
KR19980703033A (ko) 프로세서
JPH05508495A (ja) 多重プロセッサ用大域レジスタ
US7185179B1 (en) Architecture of a parallel computer and an information processing unit using the same
JP2001147800A (ja) 情報処理システム、並びに、この情報処理システムを利用したソート方法、コンパイル方法およびジョイン方法
US5297255A (en) Parallel computer comprised of processor elements having a local memory and an enhanced data transfer mechanism
JP2021108104A (ja) 部分的読み取り/書き込みが可能な再構成可能なシストリックアレイのシステム及び方法
US5710932A (en) Parallel computer comprised of processor elements having a local memory and an enhanced data transfer mechanism
JPS6081641A (ja) レジスタトレース方法
JP2568452B2 (ja) データフロー型情報処理装置
JP2632074B2 (ja) データフロー型情報処理装置
JP3389261B2 (ja) データ駆動型情報処理装置
US4899128A (en) Method and apparatus for comparing strings using hash values
US5454115A (en) Data driven type processor having data flow program divided into plurality of simultaneously executable program groups for an N:1 read-out to memory-access ratio
US5497344A (en) Data flow type information processor
WO1986007174A1 (en) Super-computer system architectures
JP2668156B2 (ja) データ駆動型情報処理装置の実行制御方法
JPH05189585A (ja) 並列処理における条件付き演算制御回路
US20240256350A1 (en) Hardware accelerator for computing an algebraic function
JP3696625B2 (ja) データ駆動型情報処理装置
EP0326164A2 (en) Parallel computer comprised of processor elements having a local memory and an enhanced data transfer mechanism

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20021224

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080117

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090117

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100117

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees