JPS62256045A - デ−タ駆動型計算機 - Google Patents

デ−タ駆動型計算機

Info

Publication number
JPS62256045A
JPS62256045A JP9821886A JP9821886A JPS62256045A JP S62256045 A JPS62256045 A JP S62256045A JP 9821886 A JP9821886 A JP 9821886A JP 9821886 A JP9821886 A JP 9821886A JP S62256045 A JPS62256045 A JP S62256045A
Authority
JP
Japan
Prior art keywords
data
instruction
node
holding
destination
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP9821886A
Other languages
English (en)
Inventor
Akira Muramatsu
晃 村松
Shinichiro Miyaoka
宮岡 伸一郎
Seiju Funabashi
舩橋 誠寿
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP9821886A priority Critical patent/JPS62256045A/ja
Publication of JPS62256045A publication Critical patent/JPS62256045A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、電子計算機に関し、特に、データ駆動又はデ
ータフロー型の計算機に関する。
〔従来の技術〕
データ駆動型計算機では、一般に、命令は、その必要と
するオペランドが揃ったものから実行に移される。した
がって、命令実行順序は特定されない。データフロー型
処理のフローは、データフローグラフによって記述され
るのが普通である。
データフローグラフは、基本的演算に対応するノードと
、ノード間を結んでノード間のデータ又は制御情報の伝
達経路を表わす有向線分とからなり、この有向線分上の
データ又は制御情報の伝達は、トークンと呼ばれる黒丸
の移動で表わされる。ノードは、それに向う全有向線分
上にトークンが存在する時に動作を開始、すなわち発火
して、演算結果を表わすトークンを、それから発する全
有向線分上に送出する。アーキテクチャと対比すれば、
ノードは、通常、1個の命令に対応し、有向線分はデー
タ転送機能に対応する。
データ駆動型計算機の利点の一つは、プログラムの各部
の並行処理が容易な点にある。並行処理の促進のため、
従来のデータ駆動型計算機は、特開昭58−70360
−1jに記載されたようK、一種のパイプライン型の内
部構造を持つ。したがって、並列処理の可能なデータが
豊富ならば、パイプラインは常にデータで充たされてお
り、その結果、高い処理能力が発揮される。
また、配列の処理に関して、従来のデータ駆動型計算機
では、配列全体を一つのトークンとして扱って、値の代
りに配列木構造へのポインタを用いるか、あるいは、個
々の要素データをトークンとしているかの、いずれかの
方法が採用される(Jack  B + ])enni
s  :  ”First  Version  of
  aData FIOW procedure I、
anguage”、 LectureNotes in
 Computer 5cience 、 Vot、 
19゜3pringer −Verlag 、 197
4参照)。しかし、前者の方法によれば、木構造の管理
のためのオーバヘッドが大きく、かつ、完全な並列処理
は困難である(D、D、 Gaj ski 、 et、
at、、 ” ASecondOpinion on 
Data Flow Machines andLan
guage s”、IEEE、COMPUTER、Vo
t。
15 、 & 2 、 pp、 10〜70.1982
参照)。他方。
後者の方法によれば、並列処理は可能であるが、膨大な
量の通信を必要とする。
〔発明が解決しようとする問題点〕
従来のデータ駆動型計算機に採用されているパイプライ
ン構造において、個々のデータに着目すれば、それが演
算器に入力されてから結果が再び演算器に入力されうる
までの間接、かな9の時間遅れが存在する。したがって
、単一データのみがパイプライン中を流れる直列処理で
は、単に演算器の遊休率が高くて不経済であるにとどま
らず、通常の型の計算機よりも処理速度が低くなるおそ
れすらある。直列処理を余儀なくされる場合1例えば、
各命令のオペラ′ンドが他の命令の実行によって得られ
るような一連の命令の処理は、実用上、かなりの頻度で
発生する。したがって、直列処理の高速化は、データ駆
動型計算機の実用化にとって、重要な課題である。
また、配列等の構造化されたデータの処理に関しては、
前述のように、個々の要素データをトークンとして用い
る方法は、完全並列処理を可能にする点で有利である反
面、通信量が非常に多いという難点を持つ。例えば、大
規模な行列の一要素を書替えて、その後に全要素を用い
る処理を行なう場合、この書替えが行なわれたことを、
これらの要素を処理するだめの後続命令のすべてに通知
しなければならないgこの通知のためには、結果パケッ
トを編成して、それを個々の後続命令に送ることが必要
であり、そのための通信量は非常に多い。この膨大な量
の通信を不要にできれば、配列等の完全並列処理が、個
々のデータをトークンとして用いる方法を用いて、容易
に実現できる。
〔問題点を解決するだめの手段〕
・ 直列処理の高速化のために、本発明は、逐次的に実
行されるべき一連の命令を単一のノードとして扱う、い
わばマクロノード機構を提供する。、この機構は、一連
の逐次的に実行されるべき命令を保持するための命令保
持手段と、この一連の命令の入力データと中間結果デー
タを保持するためのデータ保持手段と、この命令保持手
段から命令を逐次的に取出して実行する逐次実行手段と
を含む。
演算器は、このデータ保持手段に接続された入出力を持
つ。更に、前記一連の命令とそれらのための入力データ
を前記命令保持手段とデータ保持手段にそれぞれ格納し
、そして、予定された入力データがすべてデータ保持手
段に格納された時に前記逐次実行手段に対する起動指示
を発生する手段が、前記の諸手段と組合わされる。
また、配列等の処理における要素の途中変更を容易にす
るために、本発明は、データを一時的に保持するノード
を導入する。このノードは、演算結果を、命令中の宛先
情報が示す宛先に送る代りに、この宛先情報と共に一時
的に保持するための記憶手段によって、実現される。更
に、この記憶手段中のデータを前記宛先情報が示すもの
と異なる宛先に送る手段と、その記憶データを他のデー
タで置換する手段と、その記憶データを前記宛先情報に
従って予め定められた宛先に送る手段が設けられる。
〔作用〕
本発明によるマクロノードに対応する一連の命令は、適
当な時点(例えば、それらへの最初の入力データの到来
時点)K命令保持手段に格納され、また、順次到来する
入力データは、データ保持手段に格納される。予定され
た入力データがすべて揃った時に1逐次実行手段に対す
る起動指示が発せられ、これに応じて、逐次実行手段は
、逐次、命令保持手段から命令を取出し、そして実行す
る。
必要なオペランドはデータ保持手段から取出され。
中間結果はデータ保持手段だ格納されて、後続命令のオ
ペランドとして使用される。このようにして、直列処理
は、処理部の内部処理として連続的に実行され、各命令
が別個のノードを形成する場合に必要なノード間通信が
省略される。
本発明による一時的保持ノードは、演算結果のためのバ
ッファ手段として機能する。すなわち、演算結果は、直
ちに宛先に送られる代りに、その宛先情報と共に記憶手
段に保持される。その後、記憶手段中のデータは、必要
に応じて、適当な修正用ノードに送られて、修正され、
修正されたデータは旧データを置換する。あるいは、旧
データを用いずに生成されたデータが旧データを直接置
換してもよい。必要な修正が終った後、記憶手段中のデ
ータは、それと共に保持されていた宛先情報に従って、
予定の宛先に送られる。したがって、修正後のデータの
みが宛先に送られるから、途中修正の予想されるデータ
の処理が容易である。
〔実施例〕
第1図は1本発明によるデータ駆動型計算機の一実施例
を示す。複数のデータ駆動型計算機(以下プロセッサと
いう)1が相互接続ネットワーク2に接続される。各プ
ロセッサlは、トークンマツチングユニット3.命令メ
モリ4、少なくとも一つの処理ユニット5、ファンアウ
トユニット6、及び77/アウトメモリ7を有する。ネ
ットワーク2上を伝送されるデータ又は制御情報(すな
わちトークン)は、タグが付されてパケットを形成して
いる。標準的な伝送パケットは、第2図に示されるよう
に、宛先プロセッサ番号(PE ) 31゜宛先ノード
名とノード内アト;レス(N/A)32゜パケットの種
類を示すパケットコード(PKC”) 33 。
データ長(L) 34、及びデータ(D)35からなる
トークンマツチングユニット3は、それが属するプロセ
ッサの番号をPEフィールドに持つパケットを取込む。
命令メモリ4は、そのプロセッサで処理すべく割当てら
れた複数の命令パケットを保持する。基本的な命令パケ
ットは、第3図に示されるように。
命令コード(OPC)41と、第1オペランドアドレス
(OPRA−1)42と、第2オペランドアドレス(O
PRA−2)4aと、演算結果の宛先を保持するファン
アウトメモリ7のアドレス(FOMA)、又は中間結果
を保持するためのアキュムレータのアドレス(ACCi
)等の宛先情報44からなる。
通常は、1個の命令パケットが1個のノードに対応する
。しかしながら、本発明により導入されるマクロノード
は、逐次的に実行すべき一連の命令パケットに対応する
。この一連の命令パケットは、ある命令パケットの実行
の結果が後の命令パケットの少なくとも一方のオペラン
ドとして用いられるために、逐次的実行を余儀なくされ
る関係にある。この一連の命令パケットは、それぞれに
マクロノード名を示すタグを持ってもよいし、あるいは
、ポインタによってリンクされてもよい。
以下、マクロノードの処理に絞って説明するが、単一の
命令パケットからなるノードの処理も、基本的には同様
である。トークンマツf−7グユ=ット3は、取込まれ
たデータのタグを調べ、後で詳述するようにして、宛先
マクロノードに対応する命令パケット群と到来データを
、処理ユニット5に送る。トークンマツチングユニット
3は、まだ、各マクロノードが必要とする外部データが
全部揃ったか否かを監視し、所要外部データが全部揃っ
たマクロノードをキューに加える。
処理ユニット5は、命令パケットを実行するユニットで
あり、レジスタファイル8と、命令フールメモリ9と、
演算器10と、キューのためのFIFOメモリ11と、
命令カウンタ(PC) 12ト、ペースレジスタ(BR
)13と、命令レジスタ(IR)14を備える。レジス
タファイル8と命令プールメモリ9は、同数のブロック
に分割され、各ブロックの先頭アドレスは、トークンマ
ツチングユニット3が管理する管理テーブル15に保持
されている。管理テーブル15には、また。
後述のようにして各ブロックに割当てられたマクロノー
ドの名前、その他の管理用情報が記録される。レジスタ
ファイル8と命令プールメモリ9は2個のボートを持ち
、処理ユニット5の制御部とトークンマツチングユニッ
ト3の双方からの同時アクセスが可能である。
トークンマツチングユニット3は、取込まれたデータの
宛先マクロノードが管理テーブル15に記録されている
か否かを調べる。もしも未記録であれば、レジスタファ
イル8の空きブロックの一つ(例えば8a)と、それに
対応する命令プールメモリ9の空きブロック(例えば9
a)とが選択されて、このマクロノードに割当てられ、
管理テーブル15にその旨が登記される。次いで、トー
クンマツチングユニット3は、そのマクロノードの命令
群を選択された命令プールブロック9aに複写し、そし
て、今受取ったデータを、選択されたレジスタブロック
8a中でそのデータのマクロノード内アドレスに対応す
るアドレスに格納する。
外部データのマクロノード内アドレスは、命令パケット
列中でそれらが現われる順に、”O”から昇順に予め定
められている。したがって、各外部データのレジスタフ
ァイル8における絶対アドレスは、選択されたレジスタ
ブロック8aの先頭アドレスと、そのデータのマクロノ
ード内アドレスとの和に等しい。最後の所要外部データ
のためのアドレスの次のアドレスから、アキュムレータ
アドレス(ACCi)が始まる。
取込まれたデータの宛先マクロノードが管理テーブル1
5に既に記録されていれば、その到来データは、割当て
られたレジスタブロック中の該当アドレスに直ちに格納
される。
あるマクロノードに必要な外部データが全部揃うと、ト
ークンマツチングユニット3は、そのマクロノードに割
当てられたレジスタブロック8aト命令プールブロツク
9aの各先頭アドレスを、FIFOメモリ11に格納す
る。やがて、先行するマクロノード(又はノード)の処
理が終ると、これらの先頭アドレスがFIFOメモリ1
1から読出されて、命令プールブロック9aの先頭アド
レスは命令カウンタ12にセットされ、レジスタブロッ
ク8aの先頭アドレスはペースレジスタ13にセットさ
れる。したがって、引続く諸ステップにおいて、処理す
べきマクロノードを構成する一連の命令パケットが、命
令プールブロック9aの先頭アドレスから始まって、逐
次、命令レジスタ14に読出されて、実行される。第1
及び第2オペランドは、それぞれ第1及び第2オペラン
ドフィールド42.43の値とペースレジスタ13の内
容の和をアドレスに用いて、レジスタブロック8aから
読出される。演算結果の宛先44がアキュムレータであ
れば、ACCi値とペースレジスタ13の内容の和をア
ドレスとするレジスタブロック8a内のアキュムレータ
に、結果データが書込まれる。しかし、演算結果が外部
に送出されるべき場合には、命令レジスタ14の宛先フ
ィールド44が、結果データと共に、ファンアウトユニ
ット6に送られる。あるマクロノードの処理が完了する
と、それに割当てられていたレジスタブロック8aと命
令プールブロック9aはクリアされ、管理テーブル上に
空き状態が表示される。
ファンアウトユニット6は、処理ユニット5から送られ
た宛先フィールドの内容を用いて、ファンアウトメモリ
7から、宛先アドレス(プロセッサ名、マクロノード名
、及びマクロノード内アドレス)を読出し、タグを形成
する。処理ユニット5から送られたデータは、このタグ
と共に結果パケットに編成されて、ネットワーク1に送
出される。ファンアウトユニット6とファンアウトタモ
リフは、後で更に詳細に説明する。
一つのマクロノードが反覆して実行される場合には、そ
のマクロノードに宛てて、複数組の外部入力データが引
続いて(1回の反覆を完了する以前K)送られることが
ありうる。このような場合でも、各データ生成源のファ
ンアウトユニットおよびネットワークの適切な設計によ
り、それぞれのマクロノード内アドレスを持つデータは
、反覆処理の順に到来するのを保証することができる。
すなわち、特定の命令パケットが必要とする特定の外部
データは、第−i反覆に必要なものが第i+1反覆て必
要なものよりも必ず前に到着する。そこで、トークンマ
ツチングユニット3は、管理テーブルに登録する同じマ
クロノードに通し番号を付けて、この通し番号ごとに異
なるレジスタブロックと命令プールブロックを割当てる
。例えば。
通し番号1番のマクロノードの実行が完了する前に、同
じマクロノードの次の反覆のための外部データが到着し
た時には、そのマクロノードに通し番号2番が付され、
他のレジスタブロックと命令プールブロックが割当てら
れ、以下同様にして、新しい反覆に対して次の通し番号
と空きブロックが割当てられる。到着したあるマクロノ
ード内、アドレスのデータは、そのアドレスの外部デー
タが未だ到着していない反覆の内で、最も若い通し番号
の反覆に割当てられたレジスタブロックに格納される。
処理の終了した反覆に割当てられていたブロックは直ち
にクリアされる。したがって、正しい項番による反覆処
理の実行が保障されるとともに、反覆数と同じ数のマク
ロノードのための命令パケット群を命令メモリ4中に予
め用意する必要がないから、命令メモリの所要容量を低
減できる。
第4図は、本発明による配列要素修正機構の機能の概要
を、データフローグラフにより示す。一般に、配列デー
タA=(al *  am +”” *  a l e
・・・a、)の各要素a1〜a I−a、は、要素定義
/−)”El〜EI〜E、によって与えられて、宛先ノ
ードP1〜P1〜P、にそれぞれ転送されるべきもので
ある。しかしながら、ある要素alは。
要素定義ノードELKよっては確定されず、処理過程中
で最終的に決定されるものとする。
各要素定義ノードEl−E+〜E3からの要素出力a1
〜a1〜a、は、ホルトノードH1〜HI−H、に一旦
保持(図中黒丸で示す)される。
修正すべき要素a、のインデクス値i(一般には数値の
組(11〜i、Hは、インデクス計算ノード(I)51
により決定されて、′アレイノード(ARRAY)52
に送られる。アレイノード52は、アドレステーブルを
参照するか又は所定の計算式を用いて、イ/デクス値i
が指す要素atを保持するホルトノード(H+)50を
決定し、そのホルトノードを示す情報と、修正用要素定
義ノード(D) 55を示す情報とを、リードノード(
R)53を介してリターンノード(BT )slc送る
。リターンノード54は、指定されたホルトノード50
から要素atを読出して、指定された修正用要素定義ノ
ード55に送る。修正用要素定義ノード55は、要素a
1を修正し、修正された要素をライトノード(W) 5
6を介してホルトノード50に戻すとともに、ブロード
キャストノード(BC)57を起動する。ブロードキャ
ストノード57は。
リリースノード(RLi)58及び他のすべてのホルト
ノードH!〜H1のためのリリースノードRL1〜R,
L、に、スイッチのブロードキャスト機能を用いて一斉
にリリース通知rlを送り、各ホルトノード中の要素a
1〜al−wa、を、それぞれの本来の宛先P1〜P+
−P、に転送させる。
要素alの修正が旧要素値を必要としない場合には、破
線で示すように、アレイノード52は。
第2の型の修正用要素定義ノード(D’)59に、ホル
トノードHI50を示す情報を直接に送る。
この第2の型の修正用要素定義ノード59は、要素al
の値を新たに定義して、ライトノード56を介してホル
トノードHI50に格納し、また、ブロードキャストノ
ード57を起動する。
次に、第4図における主要な諸ノードの詳細を説明する
。第5図は、第4図における要素修正フローの部分の詳
細を示し、第6図は、第5図中に記された諸パケットの
フォーマットを示す。第7図は、本発明によるデータ駆
動型計算機を、特に通信機構とホルトノード機構の詳細
について示す。
第1図におけるのと同じ参照数字は同等のコンポーネン
トを表わす。ファンアウトユニット6は、パケットコー
ドレジスタ(PKCR)le、データレジスタ(DTR
)17.・宛先レジスタ(DNR)18、及び出力ボー
ト19を有する。パケットコードレジスタ16には、処
理ユニット5から、送出すべきパケットの種類を示す5
パケツトコード(第2図PKC)がセットされる。デー
タレジスタ17には、処理ユニット5から、送出すべき
情報の本体がセットされる。この情報は、典型的には、
処理ユニット5における計算の結果であり、かつ、宛先
ノードにおいてオペランドとして使用されるデータ値で
あるが、場合によっては、転送先を示すアドレス、処理
対象データの名称、その他でありうる。データレジスタ
ー17の最上位2ビツトは、データ長(語数)を示すL
フィールドを形成する。宛先レジスタ18には、処理ユ
ニット5から、パケットの宛先を示す情報がセットされ
る。この宛先情報は、通常、ファンアウトメモリ7のア
ドレスであり、ファンアウトユニット6は。
このアドレスに従って、宛先プロセッサ番号PEとノー
ド名(又はマクロノード名)及びノード内アドレスN/
Aを、ファンアウトメモリ7から読出す。しかし、ある
種のノードの処理において、処理ユニット5は、ファン
アウトメモリアドレスの代りに、宛先プロセッサ番号及
びノード名その他からなる宛先同定情報を、宛先レジス
タ18に直接セットする。フラグFは、宛先情報のこれ
らの型を弁別する。複数の宛先に送るべきデータに対し
ては、それらの宛先を保持するファンアウトメモリ位置
がポインタによりリンクされる。パケットコードレジス
タ16とデータレジスタ17の内容、及び宛先レジスタ
18の内容又はそれを用いて読出されたファンアウトメ
モリ7の内容は、所定のフォーマット(第2図)に従っ
て、出力ボート19中でパケットに編集され1次いで送
出される。
ホルトノード(第5図50)を実現するため、処理ユニ
ット5からのアクセスが可能なバッファメモリ20が設
けられ、そこに、各配列ごとに、配列記述子21と格納
域22が用意される。配列記述子21は、当該プロセッ
サ中のホルトノードに対応する格納域22の先頭アドレ
スと、保持されるべき要素の個数(長さ)とを示す。格
納域22は、要素値a1のだめのフィールドと、その要
素の宛先のファンアウトメモリアドレスb、のためのフ
ィールドからなる。ホルトノードは、論理的には独立し
たノードであるが、実際には、要素定義ノード(第5図
60)の一部として装置化される。詳述すれば、要素定
義ノードに対応する命令パケット(それがマクロノード
であればその最終命令パケット)は、定義された要素a
iとそれに付随するファンアウトメモリアドレスb1を
ファンアウトユニット6に渡す代りに、バッファメモリ
20の格納域22に書込む。そのアドレスは、配列記述
子21が指す格納域先頭アドレスと。
要素a1のインデクス値に対応する変位量とから決定さ
れる。このようにして、定義された配列要素は、1台又
は複数台のプロセッサ中のバッファメモリ20に、一時
的に保持される。したがって、換言すれば、これらのバ
ッファメモリは、配列データのための分散型バッファを
構成する。
リリースノード(第5図58)は、配列名をデータフィ
ールドに持つD A T A パケット(第6図E)を
受取ると、この指定された配列名に対応する配列記述子
21を参照して、相次ぐ要素alとそれらに付随するフ
ァンアウトメモリアドレスb、を順次読出して、要素a
、をデータレジスタ17にセットし、ファンアウトメモ
リアドレスb、を宛先レジスタ18にセットシ、ソシて
、パケットコード″DATA”をパケットコードレジス
タ16にセットする。その結果、要素a1は、ファンア
ウトメモリアドレスbIの内容が示す宛先に、DATA
パケット(第6図E)として伝送される。
アレイノート責第5図52)は、配列名と要素a、のイ
ンデクス値とを含むデータパケットを受けると、コンパ
イラによって予め用意されたテーブルを参照するか、又
は所定の計算式を用いて、その要素aiを保持するホル
トノード同定情報、すなわちプロセッサ番号とバッファ
メモリアドレスとを生成する。リードノード53は、実
際には。
アレイノード52と一体をなす。すなわち、アレイノー
ド52は、得られた要素位置、すなわちプロセッサ番号
とバッファメモリアドレスとヲ、宛先レジスタ18にセ
ットし、タイプ1の修正用要素定義ノード(第5図55
)のプロセッサ番号とノード名をデータレジスタ17に
セットし、そして、パケットコードニ″’READ”を
パケットコードレジスタ16にセットする。その結果、
第6図Cに示すaEADパケットが送出される。
リターンノード54は、READパケットを受取り、そ
の宛先フィールドにより指定されたバッファメモリアド
レスから要素alを読出して、その値及びバッファメモ
リアドレスと、自身のプロセッサ番号とをデータレジス
タ17にセラトスる。
パケットコードレジスタ16にはコード″RETUR,
N”がセットされ、宛先レジスタ18には、READパ
ケットのデータフィールドに含まれていたプロセッサ番
号とノード名が転記される。その結果。
第6図りに示すRETURNパケットが、修正用要素定
義ノード55に宛てて送出される。
タイプ1の修正用要素定義ノート責第5図55)は、R
ETURNパケットを受取ると、その中のデータ値を用
いて新しい要素alを計算して、この新要素値をデータ
レジスタ17にセットし、RETURNパケットのデー
タフィールドに含まれていたプロセッサ番号とバッファ
メモリアドレスを宛先レジスタ18に転送し、そして、
コード”WRITE”をパケットコードレジスタ16に
セットする。その結果、第6図Bに示す■ITEパケッ
トが送出される。
ライトノード(第5図56)は、WRITEパケットを
受取り、その中のデータ値を、その宛先フィールドが示
すバッファメモリアドレスに書込む。
要素a1の修正にホルトノード中の旧要素値が必要ない
場合には、アレイノード52は、決定されたプロセッサ
番号とバッファメモリアドレスとをDA’L’Aパケッ
トのデータフィールドにセットして、タイプ2の修正用
要素定義ノード(第5図59)に直接送付する。このデ
ータパケットを受けると、タイプ2の修正用要素定義ノ
ード59は、新要素値a、を生成し、前記パケット中の
プロセッサ番号とバッファメモリアドレスを宛先として
用いてWRITEパケットを編成し、送出する。
いずれのタイプの修正用要素定義ノート責5559)も
、WR,ITEパケットの送出に続いて、第6図Aに示
すCTL (制御)パケットを、ブロードキャストノー
ド(第5図57)に宛てて送る。
ブロードキャストノード58は、各配列ておける1回の
ホルト・リリース処理に対して1個が用意され、したが
って、配列名は命令パケット中に与えられている。また
、上記修正を要する要素の個数は予め(例えばコンパイ
ル時K)知らされている。この所定数のCTLパケット
を受けると、ブロードキャストノード57は、配列名を
データレジスタ17にセットし、宛先レジスタの第1フ
イールドにALL”コード、第2フイールドてり゛リー
スノード名をそれぞれセットし、更K、パケットコード
レジスタ16にコードDATA ” ヲセットする。こ
のDATAパケットが送出される・と。
すべてのIJ IJ−スノードがこれを取込んで、それ
ぞれ、前述のようにして、ホルトノードに保持されてい
た要素を所定の宛先ノードに宛てて送出する。
〔発明の効果〕
本発明の直列処理用マクロノード機構によれば、直列処
理に含まれる複数の命令は、ノード間通信を経ずK、ノ
ード内処理として実行され、したがって、並列処理には
適しているが直列処理に向いていないというデータ駆動
型計算機の弱点は、著しく改善される。例えば、トーク
ンマツチングに2マシンサイクル、演算に1マシンサイ
クル、ファンアウトに2マシンサイクルを要する従来の
データ駆動型計算機は、10ステツプの直列処理の実行
に50マシンサイクルを要する。しかし、本発明によれ
ば、トークンマツチングとファンアラ −トが他の処理
とオーバラップされると考えれば。
実質上10マシンサイクルを要するにすぎない。
更に、直列処理の反覆が必要な場合に、処理ユニット内
部で複製すれば足り、命令メモリ中に各反覆のだめの命
令パケットを別個に用意する必要がなく、したがって、
メモリが節約できる。
また、本発明のデータ一時保持機構によれば、配列など
の構造化データの処理において、個々の要素データをト
ークンとして用いる処理方法の最大の問題であった、少
数の要素の途中加工に起因する膨大な量の通信を、1回
のブロードキャストで代行することができる。その結果
、個々の要素データをトークンとして用いることにより
可能な配列等の完全並列処理を、容易に実現しうる。
【図面の簡単な説明】
第1図は本発明による直列処理機構を備えたデータ駆動
型計算機のブロックダイヤグラム、第2図は伝送パケッ
トのフォーマットを示す図、第3図は命令パケットのフ
ォーマットを示す図、第4図は本発明によるデータ一時
保持機構を用いた配列処理のフローグラフ、第5図は要
素データ修正処理のフローグラフ、第6図は第5図に示
された処理で用いられる諸パケットのフォーマットを示
す図、第7図は本発明によるデータ一時保持機構を備え
たデータ駆動型計算機のブロックダイヤグラムである。 1・・・データ駆動型プロセッサ、3・・・トークンマ
ツチングユニット、4・・・命令メモリユニット、5・
・・処理ユニット、6・・・ファンアウトユニット、8
・・・データ保持手段としてのレジスタファイル、9・
・・命令保持手段としての命令プールメモリ、10・・
・演算器、11・・・実行可能命令キュmmFIFOメ
モIJ、12・・・命令カウンタ、13・・・ペースレ
ジスタ、埴t・・・命令レジスタ、16・・・パケット
コードレジスタ、17・・・データレジスタ、18・・
・宛先レジスタ、20・・・バッファメモリ、22・・
・一時的保持用格納域、50・・・データを一時的に保
持するホルトノード、54・・・データを読出して修正
ノードに送るリターンノード、56・・・データを書替
えるライトノード、58・・・データを本来の宛先に送
るリリースノード。

Claims (1)

  1. 【特許請求の範囲】 1、一連の逐次的に実行さるべき命令を保持するための
    命令保持手段と、前記一連の命令の入力データと中間結
    果データを保持するためのデータ保持手段と、前記デー
    タ保持手段に接続された入力と出力を持つ演算手段と、
    前記命令保持手段から命令を逐次的に取出してそれに従
    い前記演算手段とデータ保持手段を制御する逐次実行手
    段と、前記一連の命令とそれらのための入力データを前
    記命令保持手段とデータ保持手段に格納して全予定入力
    データが格納された時に前記逐次実行手段に対する起動
    指示を発生する手段とを備えたデータ駆動型計算機。 2、一連の逐次的に実行さるべき命令を保持するための
    命令保持手段と、前記一連の命令の入力データと中間結
    果データを保持するためのデータ保持手段と、前記デー
    タ保持手段に接続された入力と出力を持つ演算手段と、
    前記命令保持手段から命令を逐次的に取出してそれに従
    い前記演算手段とデータ保持手段を制御する逐次実行手
    段と、前記一連の命令とそれらのための入力データを前
    記命令保持手段とデータ保持手段に格納して全予定入力
    データが格納された時に前記逐次実行手段に対する起動
    指示を発生する手段と、前記演算手段からの結果データ
    をその予め定められた宛先を示す宛先情報と共に一時的
    に保持するための記憶手段と、前記記憶手段中の結果デ
    ータを前記予め定められた宛先と異なる宛先に送る手段
    と、前記記憶手段中の結果データを他のデータで置換す
    る手段と、前記記憶手段中のデータを前記宛先情報に従
    つて前記予め定められた宛先に送る手段とを備えたデー
    タ駆動型計算機。
JP9821886A 1986-04-30 1986-04-30 デ−タ駆動型計算機 Pending JPS62256045A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9821886A JPS62256045A (ja) 1986-04-30 1986-04-30 デ−タ駆動型計算機

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9821886A JPS62256045A (ja) 1986-04-30 1986-04-30 デ−タ駆動型計算機

Publications (1)

Publication Number Publication Date
JPS62256045A true JPS62256045A (ja) 1987-11-07

Family

ID=14213830

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9821886A Pending JPS62256045A (ja) 1986-04-30 1986-04-30 デ−タ駆動型計算機

Country Status (1)

Country Link
JP (1) JPS62256045A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01205233A (ja) * 1988-02-12 1989-08-17 Nec Corp 複合演算パイプライン回路
WO2013118754A1 (ja) * 2012-02-08 2013-08-15 株式会社Mush-A データ処理装置、データ処理システム、データ構造、記録媒体、記憶装置およびデータ処理方法
WO2013141290A1 (ja) * 2012-03-23 2013-09-26 株式会社Mush-A データ処理装置、データ処理システム、データ構造、記録媒体、記憶装置およびデータ処理方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01205233A (ja) * 1988-02-12 1989-08-17 Nec Corp 複合演算パイプライン回路
WO2013118754A1 (ja) * 2012-02-08 2013-08-15 株式会社Mush-A データ処理装置、データ処理システム、データ構造、記録媒体、記憶装置およびデータ処理方法
JPWO2013118754A1 (ja) * 2012-02-08 2015-05-11 株式会社Mush−A データ処理装置、データ処理システム、データ構造、記録媒体、記憶装置およびデータ処理方法
WO2013141290A1 (ja) * 2012-03-23 2013-09-26 株式会社Mush-A データ処理装置、データ処理システム、データ構造、記録媒体、記憶装置およびデータ処理方法

Similar Documents

Publication Publication Date Title
US4149240A (en) Data processing apparatus for highly parallel execution of data structure operations
JP3720094B2 (ja) データ駆動型情報処理装置
US20190130270A1 (en) Tensor manipulation within a reconfigurable fabric using pointers
JPH0370034A (ja) 順次プログラムの並列実行のためのコンピュータ・システム及び方法並びにデータ値割当方法
JPH0760380B2 (ja) プログラム呼び出し装置
CN105874436A (zh) 用于自主存储器的方法及系统
CN108845829A (zh) 一种系统寄存器访问指令的执行方法
EP1104559A1 (en) Data processor with an arithmetic logic unit and a stack
Brown Issues in selective perception
JP2617974B2 (ja) データ処理装置
US5218706A (en) Data flow processor with next destination node determination
JPS62256045A (ja) デ−タ駆動型計算機
JP2668156B2 (ja) データ駆動型情報処理装置の実行制御方法
JP2001297074A (ja) データ駆動型情報処理装置の実行制御装置
WO2019113021A1 (en) Tensor manipulation within a reconfigurable fabric using pointers
RU2198422C2 (ru) Асинхронная синергическая вычислительная система
JP2556083B2 (ja) 複合演算パイプライン回路
JPS59501132A (ja) 従属自由コ−ドのためのデ−タアイテムを再ネ−ミングするシステムおよび方法
JP2522372B2 (ja) デ―タ駆動形計算機
JP2755646B2 (ja) データ駆動型データ処理装置
KR20230023762A (ko) 하드웨어 오토로더
JPS63261442A (ja) デ−タ記憶装置
JPS6313216B2 (ja)
JPS59501133A (ja) 多重処理エレメントのための従属自由コ−ドを発生する機構
JPH01102645A (ja) タスクレベルデータ駆動型計算機