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

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

Info

Publication number
JP3677315B2
JP3677315B2 JP13511795A JP13511795A JP3677315B2 JP 3677315 B2 JP3677315 B2 JP 3677315B2 JP 13511795 A JP13511795 A JP 13511795A JP 13511795 A JP13511795 A JP 13511795A JP 3677315 B2 JP3677315 B2 JP 3677315B2
Authority
JP
Japan
Prior art keywords
information
data
data packet
program
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
Application number
JP13511795A
Other languages
English (en)
Other versions
JPH08329036A (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 JP13511795A priority Critical patent/JP3677315B2/ja
Priority to US08/655,460 priority patent/US5870620A/en
Publication of JPH08329036A publication Critical patent/JPH08329036A/ja
Application granted granted Critical
Publication of JP3677315B2 publication Critical patent/JP3677315B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4494Execution 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)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

【0001】
【産業上の利用分野】
この発明はデータ駆動型情報処理装置に関し、特に、プログラムデータの読出機能を改良してプログラム実行効率を向上させるデータ駆動型情報処理装置に関する。
【0002】
【従来の技術】
情報の高速処理を実現するために並列処理が採用される。並列処理向けアーキテクチャの中でもデータ駆動型と呼ばれるものが特に注目される。
【0003】
データ駆動型プロセッサでは、「ある処理に必要な入力データがすべて揃い、かつその処理に必要な演算装置などの資源が割当てられたときに処理が行なわれる」という規則にしたがって処理が進行する。
【0004】
図26は従来のデータ駆動型プロセッサのブロック構成図である。
図27は従来およびこの発明の実施例に適用されるデータパケットのフォーマット図である。
【0005】
図27においてデータパケットは行先ノード番号ND♯を格納するための行先ノード番号領域F1、世代番号GN♯を格納するための世代番号領域F2、命令コードOPCを格納するための命令コード領域F3およびデータDATAを格納するためのデータ領域F4を含む。
【0006】
図26においてデータ駆動型プロセッサPeは合流部JNC、発火制御部FC、演算部FPP、プログラム記憶部PSP、分岐部BRN、複数個のラッチ部および複数個のC(Cn)素子(パケット転送回路)を含む。
【0007】
図28はプログラム記憶部PSPのブロック構成図である。プログラム記憶部PSPはプログラムメモリ200、アドレス生成およびアクセス部201およびコピー判定部202を含む。
【0008】
図29は、図28のプログラムメモリ200の内容を部分的に示す図である。
プログラムメモリ200には予め複数のプログラムワードセットWからなるデータフロープログラムが格納される。各プログラムワードセットWは次位のノード番号ND♯、次位の命令コードOPCおよびコピーフラグcpyからなる。
【0009】
各C素子は、前段および後段のC素子とのパケット転送パルスのやり取りによって対応する処理部についてのパケット転送を制御する。
【0010】
パケット転送パルスは、センド信号SDおよびアック信号AKの2種類の信号からなる。センド信号SDは前段のC素子から後段のC素子へ転送される。センド信号SDはその立下がりにより前段の処理部がパケット転送可能であることを示す。
【0011】
アック信号AKは後段のC素子より前段のC素子へ転送される。アック信号AKがレベル“1”であれば後段の処理部はパケット受入れ可能であることを示す。
【0012】
したがって、2信号がレベル“1”の状態を保っているときは、パケットが存在していないことを示す。
【0013】
各ラッチ部は対応のC素子からのパルス入力に応じて、前段の処理部より入力されているデータを取込んで保持して出力段に導出し、次のパルス入力までこれを保持する。
【0014】
図26においてプロセッサPeに図27のデータパケットが入力されると、入力パケットはまず合流部JNCを通り、発火制御部FCに伝達され、行先ノード番号ND♯と世代番号GN♯が同一のパケットの間で対データが形成される。すなわち、ノード番号ND♯と世代番号GN♯が一致する異なる2つのデータパケットの検出を行ない、両番号が一致する2つのデータパケットのうち一方のデータパケットのデータDATAを他方のデータパケットのデータ領域F4に追加格納して、この他方データパケットを出力する。
【0015】
データ領域F4に対データ(1組のデータDATA)を格納したパケットは次に演算部FPPへ伝達される。
【0016】
演算部FPPは伝達されるデータパケットを入力し、該入力パケットの命令コードOPCに基づいて該入力パケットの内容に対し所定演算を行なって、演算結果を該入力パケットのデータ領域F4に格納する。該入力パケットは次にプログラム記憶部PSPに伝達される。
【0017】
プログラム記憶部PSPは伝達されるデータパケットを入力し、プログラムメモリ200より次位のデータをフェッチする。
【0018】
このプログラムデータのフェッチは、図28に示されるように、アドレス生成およびアクセス部201が入力パケットの行先ノード番号ND♯からアドレスadrを生成し、アドレスadrに基づくアドレス指定によりプログラムメモリ200をアクセスし、対応のプログラムワードセットWを読出す。そして、読出されたワードセットW中の行先ノード番号ND♯および命令コードOPCが該入力パケットの行先ノード番号領域F1および命令コード領域F3にそれぞれ格納される。
【0019】
さらに、このとき、読出されたワードセットWに対応のコピーフラグcpyが“1”であれば、次位アドレスも有効と判断されて、次位アドレス指定により同様に次位アドレスの行先ノード番号ND♯および命令コードOPCが該入力パケットに格納される。
【0020】
したがって、コピーフラグcpyが“1”であるとき、該アドレスと次位アドレスのプログラムワードセットWに関する2つのパケットが生成されて出力される(パケットコピーという)。コピーフラグcpyが“0”であるとき、該アドレスに関する1つのパケットのみが出力される。
【0021】
パケットコピーは、読出されたコピーフラグcpyをコピー判定部202が判定し対応のCn素子にコピー要求信号CR(=1)を送る。
【0022】
コピー要求信号CRを受けたCn素子は、最初のパケット転送のためのパルスを対応のラッチ部に出力したのちに、ネクストイネーブル信号NEをアドレス生成およびアクセス部201に出力する。
【0023】
その後、適当な時間経過後、Cn素子はパケット転送のためのパルスを対応のラッチ部に出力するので、アドレス生成およびアクセス部201がネクストイネーブル信号NEを受けてアドレスを1インクリメントしてアクセスしたデータ、つまり次のアドレスに格納されているプログラムワードセットWがラッチされて、パケットがもう1つ転送される。
【0024】
プログラム記憶部PSPで出力されるパケットは分岐部BRNへ伝達され、その行先ノード番号ND♯などに基づいて出力されるか、または再度プロセッサ内部に戻される。
【0025】
上述したようなデータ駆動型プロセッサPeにおいて複数の命令のうち1つを選択するような分岐処理が実行されるときには、特開平5−174167号公報に開示されるような命令コードSWNが使用される。この命令コードSWNを用いると、演算部FPPにおいて入力パケットの行先ノード番号ND♯が操作されることにより次段のプログラム記憶部PSPにおけるプログラムメモリ200のアクセス時に、操作後の行先ノード番号ND♯に基づくアドレス指定がなされるので、複数のプログラムワードセットWのうちから1つを選択的にアクセスできるといわれている。
【0026】
図30は、従来の命令コードSWNを用いた選択構造を含むフローグラフである。
【0027】
図31は、図30のフローグラフに対するプログラムメモリ200の内容を示す図である。
【0028】
図32は、図30のフローグラフに従う処理実行時の途中経過を表形式にして説明する図である。
【0029】
図30のフローグラフは命令コードが割当てられたノードn1〜n8を含む。命令コードADDは該ノードへの右入力データと左入力データの加算結果の出力を示す。命令コードEQは該ノードの左入力データ=右入力データ(図30の場合=0)ならば1を出力し、左入力データ≠右入力データならば0を出力することを示す。命令コードGEは該ノードの左入力データ≧右入力データならば1を出力し、左入力データ<右入力データならば0を出力することを示す。命令コードSWNは該ノードの右入力データの行先ノード番号ND♯に左入力データを加算し、加算後の行先ノード番号ND♯に従って出力が分岐することを示す。
【0030】
図30のフローグラフは、ノードn1の命令コードADDに従う加算結果<0ならばノードn6の命令コードOpr0が選択され、同様に>0ならばノードn7の命令コードOpr1が選択され、同様に=0ならばノードn8の命令コードOpr2が選択される処理を示す。
【0031】
図30のグラフに従うプログラムを実行するときの合流部JNC、発火制御部FCおよび分岐部BRNの動作は前述したものと同じなので説明を省略し、演算部FPPおよびプログラム記憶部PSPの動作について説明する。
【0032】
ノードn1の行先ノード番号ND1および命令コードADDを格納したパケットが演算部FPPに入力されると、演算部FPPでは該入力パケットのデータ領域F4の対データ(ノードn1の右入力データと左入力データ)が加算されて、加算結果値がデータ領域F4に格納されて、該入力パケットはプログラム記憶部PSPに転送される。
【0033】
次にプログラム記憶部PSPでは伝達されるパケットを入力し、図31に示されるように該入力パケットの行先ノード番号ND1に基づくアドレス指定により次位の行先ノード番号ND2および次位の命令コードEQをフェッチする。このとき、フェッチされる対応のコピーフラグcpy=1なので、次位アドレスも有効となり、次位の行先ノード番号ND3および命令コードGEがフェッチされ、さらに対応のコピーフラグcpy=1なので次位の行先ノード番号ND5および命令コードSWNがフェッチされる。これによりフェッチされた次位のデータと加算結果を格納した3つのデータパケットがノードn2、n3およびn5へと転送される。
【0034】
ノードn2においては入力パケット中の加算結果=0であれば出力データは1となり、加算結果≠0であれば出力データは0となる。
【0035】
ノードn3においては入力パケット中の加算結果<0であれば出力データは0となり、加算結果≧0であれば出力データは1となる。
【0036】
これにより、ノードn1の加算結果とノードn4の左入力データおよび右入力データの関係、そしてn4で得られる結果(出力データ)は図32で示されるようになる。
【0037】
図32を参照するとノードn5において、ノードn1の結果が正ならば左入力データの行先アドレスに1のオフセットが加わり、同様に0ならば2が加わり、同様に負ならば0が加わることがわかる。
【0038】
よって、演算部FPPにおいて、命令コードOPCにコードSWNおよび行先ノード番号ND♯にノード番号ND5を有するパケットは、ノード番号ND5に右データ(ノードn4の結果値)のオフセットが加えられるので、プログラム記憶部PSPにおいて、オフセット加算後のノード番号ND♯にてメモリ200のアクセスが行なわれる。このように、この公報によれば命令コードSWNの1命令によりノードn6〜n8のいずれか1つを選択する分岐処理が行なわれるといわれている。
【0039】
ところで、前述した説明ではコピーフラグcpyに従うパケットコピーがプログラムの途中で行なわれていたが、これがプログラムの先頭で行なわれる場合は以下のように処理される。
【0040】
図33(a)〜(c)は、従来のパケットコピーがプログラムの先頭で行なわれる場合の処理手順を説明するための図である。
【0041】
前述したようにコピーフラグcpyに従うパケットコピーはプログラム記憶部PSPにて行なわれるので、プログラムの先頭でパケットコピーが行なわれるときは、図33(a)に示されるように命令コードNOP(演算を一切行なわずプロセッサを通過する命令)をフローグラフの先頭ノードに設定し、プログラムメモリ200に図33(b)の内容を格納し、図33(c)のデータパケットを最初に入力し、NOP命令実行後プロセッサPeを通過させて再入力するようにしていた。
【0042】
【発明が解決しようとする課題】
上述した従来の選択構造を含むプログラムの実行制御方式では、図30に示されるように選択制御信号を作成するのに多段の命令ノードを必要とした。そのため、実行命令数が増加して、データフロープログラムの実行効率を上げることが困難であった。
【0043】
また、プログラムの先頭でパケットコピーが行なわれるような処理が実行される場合、従来はNOPの命令を実行して、1回プロセッサを通過させなければならず、無駄な周回パケットが発生してプログラムの実行効率を上げることが困難であった。
【0044】
それゆえにこの発明の目的はプログラムを効率よく実行可能なデータ駆動型情報処理装置を提供することである。
【0045】
【課題を解決するための手段】
この発明のある局面に従う、少なくとも1つ以上の情報処理手段を含む処理部と、前記処理部の入力段に設けられたデータ供給部とを備えたデータ駆動型情報処理装置では、
前記情報処理手段は、
少なくとも行先情報を格納する行先フィールド、命令情報を格納する命令フィールドおよびデータを格納するデータフィールドからなるデータパケットを入力し、該入力データパケットの前記命令フィールドの前記命令情報が所定命令情報であるとき該入力データパケットをそのまま出力し、前記所定命令情報でないとき対となるデータパケットの待ち合せを行ない、前記行先フィールドの前記行先情報が一致する互いに対となる2つのデータパケットのうち一方のデータパケットの前記データフィールドの内容を他方のデータパケットの前記データフィールドに追加格納して、その他方のデータパケットを出力するデータ対生成手段と、
前記データ対生成手段から出力される前記データパケットを入力し、該入力データパケットの前記命令フィールドの前記命令情報を解読し、該入力データパケットの前記データフィールドの内容に対して所定の演算処理を施し、その結果を該入力データパケットの前記データフィールドに格納して出力する演算手段と、
前記演算手段が前記所定の演算処理結果を格納したデータパケットを出力するとき、前記所定の演算処理の結果に基づく条件コードを出力するフラグ判定手段と、
少なくとも次位の行先情報と次位の命令情報とこれら両情報の有効/無効を示す第1有効/無効情報とを含む第1情報セットを同一プログラムワード内に2つ以上有する第1データフロープログラムが予め記憶され、前記演算手段からデータパケットを入力すると共に前記フラグ判定手段から前記条件コードを入力し、該入力データパケットの前記行先フィールドの内容に基づく第1アドレス指定を行なって第1データフロープログラムから1つのプログラムワードを読出し、読出した前記プログラムワードが有する2つ以上の前記第1情報セットの中に第1所定条件を満たす前記第1情報セットがある場合は、前記第1所定条件を満たす各第1情報セットに対応してデータパケットを生成し、各生成データパケットの前記行先フィールドおよび前記命令フィールドのそれぞれに、対応する前記第1情報セットの前記次位の行先情報および前記次位の命令情報のそれぞれを格納するとともに、各生成データパケットの前記データフィールドに前記入力データパケットの前記データフィールドの内容を格納して、各生成データパケットを出力し、読出した前記プログラムワードが有する2つ以上の前記第1情報セットの中に前記第1所定条件を満たす第1情報セットがない場合は、データパケットは生成せずにパケット消去を行なう第1プログラム記憶手段と、を備え、
前記データ供給部は、
少なくとも次位の行先情報と次位の命令情報とこれら両情報の有効/無効を示す第2有効/無効情報とを含む第2情報セットを同一プログラムワード内に2つ以上有する第2データフロープログラムが予め記憶され、少なくとも前記行先フィールドおよび前記データフィールドからなる第2データパケットと分岐処理のための分岐コードとを入力し、該入力第2データパケットの前記行先フィールドの内容に基づく第2アドレス指定を行なって前記第2データフロープログラムから1つのプログラムワードを読出し、読出した前記プログラムワードが有する2つ以上の前記第2情報セットの中に第2所定条件を満たす前記第2情報セットがある場合は、前記第2所定条件を満たす前記第2情報セットに対してデータパケットを生成し、各生成データパケットの前記行先フィールドおよび前記命令フィールドのそれぞれに、対応する前記第2情報セットの前記次位の行先情報および前記次位の命令情報のそれぞれを格納するとともに、各生成データパケットの前記データフィールドに前記入力第2データパケットの前記データフィールドの内容を格納して、各生成データパケットを出力し、読出した前記プログラムワードが有する2つ以上の前記第2情報セットの中に前記第2所定条件を満たす前記第2情報セットがない場合は、データパケットは生成せずにパケット消去を行なう第2プログラム記憶手段を備え、
前記第1所定条件は、
前記第1アドレス指定により読出された前記プログラムワードが有する2つ以上の前記第1情報セットの内、前記条件コードの値に対応し且つ前記第1有効/無効情報が有効である前記第1情報セットのみを選択するための条件であり、
前記第2所定条件は、
前記第2アドレス指定により読出された前記プログラムワードが有する2つ以上の前記第2情報セットの内、前記分岐コードの値に対応し且つ前記第2有効/無効情報が有効である前記第2情報セットのみを選択するための条件であることを特徴とする。
好ましくは、前記分岐コードは少なくとも2つ以上のフラグからなり、該フラグの数は前記第2アドレス指定により読出される前記プログラムワード中の前記第2情報セット数に相当することを特徴とする。
好ましくは、前記条件コードは少なくとも2つ以上のフラグからなり、該フラグの数は前記第1アドレス指定により読出される前記プログラムワード中の前記第1情報セット数に相当することを特徴とする。
この発明の他の局面に従うデータ駆動型情報処理装置は、少なくとも行先情報を格納する行先フィールド、命令情報を格納する命令フィールドおよびデータを格納するデータフィールドからなるデータパケットを入力し、該入力データパケットの前記命令フィールドの前記命令情報が所定命令情報であるとき該入力データパケットをそのまま出力し、前記所定命令情報でないとき対となるデータパケットの待ち合せを行ない、前記行先フィールドの前記行先情報が一致する互いに対となる2つのデータパケットのうち一方のデータパケットの前記データフィールドの内容を他方のデータパケットの前記データフィールドに追加格納して、その他方のデータパケットを出力するデータ対生成手段と、
前記データ対生成手段から出力される前記データパケットを入力し、該入力データパケットの前記命令フィールドの前記命令情報を解読し、該入力データパケットの前記データフィールドの内容に対して所定の演算処理を施し、その結果を該入力データパケットのデータフィールドに格納して出力する演算手段と、
前記演算手段が前記所定の演算処理の結果を格納したデータパケットを出力するとき、前記所定の演算処理の結果に基づく条件コードを出力するフラグ判定手段と、
少なくとも次位の行先情報と次位の命令情報とこれら両情報の有効/無効を示す有効/無効情報とを含む情報セットを同一のプログラムワード内に2つ以上有するデータフロープログラムが予め記憶され、前記演算手段からデータパケットを入力すると共に前記フラグ判定手段から前記条件コードを入力し、該入力データパケットの前記行先フィールドの内容に基づくアドレス指定を行なって前記データフロープログラムから1つのプログラムワードを読出し、読出した前記プログラムワードが有する2つ以上の前記情報セットの中に所定条件を満たす前記情報セットがある場合は、前記所定条件を満たす各情報セットに対応してデータパケットを生成し、各生成データパケットの前記行先フィールドおよび前記命令フィールドのそれぞれに、対応する前記情報セットの前記次位の行先情報および前記次位の命令情報をそれぞれ格納するとともに、各生成データパケットの前記データフィールドに前記入力データパケットの前記データフィールドの内容を格納して、各生成データパケットを出力し、読出した前記プログラムワードが有する2つ以上の前記情報セットの中に前記所定条件を満たす前記情報セットがない場合は、データパケットは生成せずにパケット消去を行なうプログラム記憶手段とを備え、
前記所定条件は、
前記アドレス指定により読出された前記プログラムワードが有する2つ以上の前記情報セットの内、前記条件コードの値に対応し且つ前記有効/無効情報が有効である前記情報セットのみを選択するための条件であることを特徴とする。
好ましくは、前記条件コードは、少なくとも2つ以上のフラグからなり、該フラグの数は前記アドレス指定により読出される前記プログラムワード中の前記情報セット数に相当することを特徴とする。
【0070】
【作用】
請求項1に記載のデータ駆動型情報処理装置によれば、データ供給部にてデータパケットの生成の処理および第2データパケットの消去処理に係る命令が実行されてから第2データフロープログラムがデータパケットにして処理部に供給されるので、データ供給部にて予め実行された命令分、処理部の各情報処理手段における第1データフロープログラムステップが削減されて、実行命令数が削減される。
各情報処理手段のプログラム記憶手段の第1アドレス指定による次位の各第1データフロープログラム(各第1情報セット)の読出しは第1所定条件の設定により任意に制御できる。これにより、各情報処理手段の実行命令数の削減は第1所定条件により任意に制御できる。
各情報処理手段のプログラム記憶手段による各第1データフロープログラム(各第1情報セット)の読出しは第1有効/無効情報と条件コードの設定により制御できる。
これにより、前述のデータパケットコピー処理およびデータパケット消去処理に加えて、選択的な第1データフロープログラムの読出しが可能となって、その分、各情報処理手段における実行命令数が削減される。
【0071】
また、データ供給部による処理部へのデータパケットを用いた第2データフロープログラムの供給は、第2所定条件の設定により任意に制御できる。
【0072】
これにより、実行命令数の削減は第2所定条件の設定内容により調整可能となる。
【0073】
また、データ供給部による処理部への第2データフロープログラムの供給は、データ供給時に第2アドレス指定されて読出される第2データフロープログラム中のプログラムワード中の各第2情報セットに対応の第2有効/無効情報の設定により任意に制御できる。
【0074】
これにより、第2アドレス指定されて読出される第2有効/無効情報が2つ以上有効であるときは複数のデータパケットの供給、すなわちデータパケットコピー処理が行なわれ、すべて無効であるときはデータパケットが供給されない、すなわちデータパケットの消去処理が行なわれることになって、その分、処理部の各情報処理手段における実行命令数が削減される。
【0075】
また、データ供給部による処理部への第2データフロープログラムの供給は、前述の第2有効/無効情報と分岐コードの設定により任意に制御できる。
【0076】
これにより、前述のデータパケットコピー処理およびデータパケット消去処理に加えて、選択的な第2データフロープログラム供給が可能となって、その分、処理部の各情報処理手段における実行命令数が削減される。
【0077】
請求項に記載のデータ駆動型情報処理装置によれば、請求項に係る装置のデータ供給部の処理部への第2データフロープログラムの供給時に用いられる分岐コードは、第2アドレス指定により読出されるプログラムワード中の第2情報セットのそれぞれに対応のフラグからなる。
【0078】
これにより、各フラグの設定を用いて供給すべき第2データフロープログラム(第2情報セット)を選択指定できる。
【0079】
したがって、データ供給部のプログラム読出時点で選択構造処理の実行が可能となって、その分、処理部の各情報処理手段における実行命令数が削減される。
【0086】
請求項3に記載のデータ駆動型情報処理装置によれば、請求項1または2に係る装置の第1データフローデータプログラム読出時に用いられる条件コードは、第1アドレス指定により読出されるプログラムワード中の第1情報セットのそれぞれに対応のフラグからなる。
【0087】
これにより、各フラグの設定を用いて、読出すべき第1データフロープログラム(第1情報セット)を選択指定できる。
【0088】
したがって、プログラム記憶部のプログラム読出時点で、選択構造処理の実行が可能となって、その分、処理部の各情報処理手段における実行命令数が削減される。
【0089】
請求項に記載のデータ駆動型情報処理装置によれば、プログラム記憶手段におけるデータフロープログラム読出しは、アドレス指定されたプログラムワード中の各情報セットに対応の有効/無効情報の設定により制御できる。
【0090】
これにより、アドレス指定されたプログラムワード中の有効/無効情報をすべて無効に設定すればデータパケットは出力されない、すなわちデータパケット消去処理が行なわれ、2つ以上を有効に設定すれば2つ以上のデータパケットが出力される、すなわちデータパケットコピー処理が行なわれる。
【0091】
したがって、プログラム記憶手段におけるデータフロープログラム読出時において、データパケット消去処理ならびに1アドレス指定によるデータパケットコピー処理が可能となって、装置における実行命令数が削減される。
【0092】
ログラム記憶手段におけるデータフロープログラムの読出しは、演算手段による所定演算処理の結果を示す条件コードとアドレス指定されたプログラムワード中の各情報セットに対応の有効/無効情報の設定により制御できる。
【0093】
これにより、プログラムデータ読出時に前述のデータパケットコピー処理およびデータパケット消去処理に加えて、演算結果に従うプログラムデータ選択が可能となって、その分、該装置における実行命令数が削減される。
【0094】
請求項に記載のデータ駆動型情報処理装置によれば、請求項に係る装置のプログラム記憶手段におけるデータフロープログラムの読出時に用いられる条件コードは、アドレス指定されるプログラムワード中の情報セットのそれぞれに対応のフラグからなる。
【0095】
これにより、各フラグの設定を用いて読出すべきデータフロープログラム(情報セット)を選択指定できる。
【0096】
したがって、プログラム記憶部のプログラム読出時点で、選択構造処理の実行が可能となって、その分、該情報処理装置における実行命令数が削減される。
【0097】
【実施例】
以下、この発明の第1ないし第4実施例について図面を参照しながら詳細に説明する。
【0098】
<第1実施例>
この実施例では、プログラム記憶部からのプログラムデータのフェッチ時にデータパケットの消去を可能とするデータ駆動型プロセッサが示される。
【0099】
図1は、この発明の第1実施例によるデータ駆動型プロセッサのブロック構成図である。
図1のプロセッサPE1は図26の従来のプロセッサPeのプログラム記憶部PSPに代替してプログラム記憶部PS1を有し、またラッチ部に代替してラッチ部と同様に機能するDタイプフリップフロップDF/Fを有する。またプロセッサPE1は新たにゲートGを含む。プロセッサPE1のその他の構成は図26のそれらと同じであり説明は省略する。
【0100】
また、このプロセッサPE1で処理されるデータパケットの構成は図27に示されたものと同様であり説明は省略する。
【0101】
図2は図1のプログラム記憶部PS1のブロック構成図である。
プログラム記憶部PS1はプログラムメモリ100、アドレス生成およびアクセス部101、Validフラグ判定部102およびデータ選択部103を含む。
【0102】
図3は図2のプログラムメモリ100の内容を部分的に示す図である。
図4は図1のプログラム記憶部PS1のフェッチ動作を表形式にして示す図である。
【0103】
プログラムメモリ100はデータパケットの行先ノード番号ND♯に基づく各アドレス指定領域にプログラムワードセットW1およびW2を格納するので、アドレス指定による1回のプログラムデータフェッチ動作によりワードセットW1およびW2が読出される。
【0104】
プログラムワードセットW1およびW2のそれぞれは、次位の行先ノード番号ND♯および次位の命令コードOPCを含み、さらにワードセットW1およびW2のそれぞれは該ワードセットが有効(=1)か無効(=0)かを示すValidフラグV1およびV2をそれぞれ含む。
【0105】
プログラム記憶部PS1は転送されるデータパケットを入力すると、アドレス生成およびアクセス部101が該入力パケットの行先ノード番号ND♯によりアドレスadrを生成して、アドレスadrに基づくアドレス指定によりプログラムメモリ100からプログラムワードセットW1およびW2を読出す。
【0106】
読出されたプログラムワードセットW1およびW2はデータ選択部103に与えられ、読出されたValidフラグV1およびV2はValidフラグ判定部102に与えられる。
【0107】
データ選択部103およびValidフラグ判定部102は図4に示される手順に従って次のように動作する。
【0108】
フラグ判定部102は、フラグV1およびV2ば0であればパケット消去として消去信号ABSを0(=消去要求)にしてゲートGの一方入力側に与える。このときはコピー要求信号CRも0(コピー不要)である。
【0109】
また、フラグV1およびV2のいずれか一方が1ならば、消去信号ABSは1、コピー要求信号CRは0にそれぞれセットされる。
【0110】
また、フラグV1およびV2がともに1ならば、消去信号ABSは1、コピー要求信号も1にそれぞれセットされる。
【0111】
一方、データ選択部103はプログラムワードセットW1およびW2を入力して、Validフラグが1であるプログラムワードセットの命令コードOPCおよび行先ノード番号ND♯のみを出力する。もし、Validフラグが2つとも1ならば、まずプログラムワードセットW1の行先ノード番号ND♯および命令コードOPCが出力されて、対応のC素子Cnよりネクストイネーブル信号NEを受けた後に、プログラムワードセットW2の行先ノード番号ND♯および命令コードOPCを出力する。
【0112】
上述したようにプログラム記憶部PS1では、1回のフェッチ動作(アドレス指定)により従来のパケットコピーが可能になる。さらに、パケット消去信号ABS(=0)出力時は、演算部FPPで実行される命令コードを用いてパケットの消去が可能となる。これを図を用いて説明する。
【0113】
図5(a)および(b)は、パケット消去に関してこの発明の第1の実施例によるフローグラフと従来技術によるフローグラフとを対比して示す図である。
【0114】
たとえば命令コードOpr1を実行してパケットを完全に消去する際に、従来はABSRB命令が用いられていた(図5(b)参照)。一方、第1実施例によればABSRB命令を用いることなく、命令コードOpr1の実行とともにパケットの消去が可能となる(図5(a)参照)ので、実行命令数が削減される。
【0115】
<第2実施例>
この実施例では、プログラム記憶部からのプログラムデータのフェッチ時に演算結果の真偽による二者択一的な分岐処理を可能とするデータ駆動型プロセッサが示される。
【0116】
図6は、この発明の第2実施例によるデータ駆動型プロセッサのブロック構成図である。
【0117】
図6のプロセッサPE2は図26の従来のプロセッサPeのプログラム記憶部PSPに代替してプログラム記憶部PS2を有し、またラッチ部に代替してラッチ部と同じ機能を有するDタイプフリップフロップDF/Fを有する。またプロセッサPE2は新たにゲートGと演算部FPPの出力段にフラグ判定部300を含む。プロセッサPE2のその他の構成は図26のそれらと同じであり説明は省略する。
【0118】
また、このプロセッサPE2で処理されるデータパケットの構成は図27に示されたものと同様であり説明は省略する。
【0119】
図7は図6のプログラム記憶部PS2のブロック構成図である。
プログラム記憶部PS2はプログラムメモリ100、アドレス生成およびアクセス部101および判定部104を含む。プログラムメモリ100およびアドレス生成およびアクセス部101は図2に示されたものと同じであり説明は省略する。
【0120】
図8は図6のプログラム記憶部PS2のフェッチ動作を表形式にして示す図である。
【0121】
図6において演算部FPPは従来と同様に演算処理してその処理結果データを格納したデータパケットをプログラム記憶部PS2に出力する。このとき、演算部FPPで実行された命令コードOPCごとに定められた真偽がフラグ判定部300で判定されて真偽フラグTFがプログラム記憶部PS2に出力される。
【0122】
プログラム記憶部PS2の判定部104はメモリ100から読出されたプログラムワードセットW1およびW2、ならびに真偽フラグTFを入力する。判定部104は真偽フラグTFを参照し、1ならば予め設定さている真ノードのプログラムワードセット、たとえばプログラムワードセットW1を選択し、0ならば偽ノード、たとえばプログラムワードセットW2を選択する。
【0123】
真偽フラグTFによって選択されたプログラムワードセットはさらに対応のValidフラグによって有効か否か判定されて、有効と判定された場合にのみ選択されたプログラムワードセットの行先ノード番号ND♯と命令コードOPCが出力される。
【0124】
上述したプログラム記憶部PS2のフェッチ動作は図8に示される。
データ駆動型プログラムPE2では、プログラムメモリ100のValidフラグの設定のしかたによってプログラムを制御できる。つまり、Validフラグを真ノードおよび偽ノードともに0にすると常にパケット消去になる。
【0125】
また、Validフラグを真ノード=0および偽ノード=1にすると、偽が成立したときのみプログラムが実行されて、真のときはパケット消去になる。つまり、偽条件が成立したときのみ通過可能となるFalse Gateとなり得る。
【0126】
同様に、Validフラグを真ノードおよび偽ノード=1にすると演算結果の真偽により選択される、つまり条件分岐となる。
【0127】
なお、このプログラム記憶部では、パケットコピーは不可能なのでC素子より転送されるネクストイネーブル信号NEは使用せず、またコピー要求信号CRも出力しない。
【0128】
このようにデータ駆動型プロセッサPE2では、条件分岐が1命令で可能になる。これを図を用いて説明する。
【0129】
図9(a)および(b)は、演算結果の真偽に従う条件分岐に関してこの発明の第2実施例によるフローグラフを従来の技術によるフローグラフと対比して示す図である。
【0130】
たとえばノードND1の命令コードADDに従う加算結果により命令コードOpr1とOpr2のいずれかに条件分岐する際に、従来は複数個の命令が必要であった(図9(b)参照)。一方、第2実施例によれば命令コードADD_SW2が演算部FPPで実行されると同時に、プログラム記憶部PS2での条件分岐が可能となって、1命令で処理可能となって(図9(a)参照)、実行命令数の削減となる
<第3実施例>
この実施例では、プログラム記憶部からのプログラムデータフェッチ時に、演算結果によりn(>2)個のプログラムデータ中から1つを選択するような分岐処理を可能とするデータ駆動型プログラムが示される。
【0131】
図10は、この発明の第3実施例によるデータ駆動型プログラムのブロック構成図である。
【0132】
図10のプログラムPE3は図26の従来のプロセッサPeのプログラム記憶部PSPに代替してプログラム記憶部PS3を有し、またラッチ部に代替してラッチ部と同様な機能を有するDタイプフリップフロップDF/Fを有する。またプロセッサPE3は新たにゲートGと演算部FPPの出力段にフラグ判定部301を含む。プロセッサPE3のその他の構成は図26のそれらと同様であり説明は省略する。
【0133】
また、このプロセッサPE3で処理されるデータパケットの構成も図27に示されたものと同様であり説明は省略する。
【0134】
図11は図10のプログラム記憶部PS3のブロック構成図である。
プログラム記憶部PS3はプログラムメモリ100、アドレス生成およびアクセス部101および判定部105を含む。プログラムメモリ100およびアドレス生成およびアクセス部101は図2に示されたものと同じであり説明は省略する。
【0135】
図12は図11のプログラム記憶部PS3のフェッチ動作を表形式にして示す図である。
【0136】
図10において演算部FPPは従来と同様に演算処理してその処理結果データを格納したデータパケットをプログラム記憶部PS3に出力する。このとき、フラグ判定部101は演算結果値と命令コードOPCとを入力し、各命令コードOPCごとに定められた真偽を判定し、アドレス指定によりプログラムメモリから読出されるプログラムワードセット数分のフラグ(この場合は真フラグTfと偽フラグFf)をプログラム記憶部PS3に出力する。
【0137】
真フラグTfは真ノード(たとえばプログラムワードセットW1)が成立するか否かを示し、同様に偽フラグFfは偽ノード(たとえばプログラムワードセットW2)が成立するか否かを示す。
【0138】
フラグTfまたはFfによって成立すると判定されたプログラムワードセットは、さらに対応のValidフラグによって有効か否か判定されて、有効と判定された場合にのみ成立すると判定されたプログラムワードセットの行先ノード番号ND♯と命令コードOPCが出力される。
【0139】
上述したプログラム記憶部PS3のフェッチ動作が図12に示される。
上述した図10のプログラムPE3では演算結果により2つのノードのいずれか一方に条件分岐されたが、3つのノードのいずれか1つに条件分岐させることもできる。
【0140】
図13は図10のプロセッサPE3の改良例を示すブロック図である。
図13のデータ駆動型プロセッサPE4は図10のプロセッサPE3のプログラム記憶部PS3およびフラグ判定部301のそれぞれに代替してプログラム記憶部PS4およびフラグ判定部302を有する。その他の構成は図10のそれらと同様である。
【0141】
フラグ判定部302は演算部FPPによる演算結果出力時、その演算結果と命令コードOPCを入力して、命令コードOPCに基づき演算結果によりAフラグAf、BフラグBfおよびCフラグCfを出力する。
【0142】
プログラム記憶部PS4はプログラムメモリ106、アドレス生成およびアクセス部107および判定部108を含む。
【0143】
図14は図13のプロセッサPE4を用いた演算結果に従う条件分岐処理のフローグラフである。
【0144】
グラフ中の命令コードADD_SW3は対応ノードの右入力データと左入力データとを加算し、さらに加算結果が負のときフラグAf=1、正のときフラグBf=1、0のときフラグCf=1を選択するものである。
【0145】
図15は図14のフローグラフに対する図13のプログラムメモリ106の内容を示す図である。
【0146】
図16は、命令コードADD_SW3に従う演算結果とフラグ出力の対応を表形式にして示す図である。
【0147】
次に、図14のフローグラフに従う処理について説明する。
図14のノードND1の命令コードADD_SW3に従う演算が演算部FPPで行なわれると、演算結果と命令コードADD_SW3がフラグ判定部302に与えられる。また、演算結果値を格納したデータパケットはプログラム記憶部PS4に与えられる。
【0148】
フラグ判定部302は与えられた命令コードADD_SW3に基づいて、その演算結果を判定しフラグAf,BfおよびCfを設定してプログラム記憶部PS4に出力する。演算結果とフラグ出力の対応は図16のようになる。
【0149】
プログラム記憶部PS4のアドレス生成およびアクセス部107は演算結果値を格納したデータパケットの行先ノード番号ND♯によるアドレスadrに基づいてプログラムメモリ106をアドレス指定して、図15に示されるプログラムワードセットW1、W2およびW3を読出して判定部108に与える。
【0150】
判定部108は与えられる3つのプログラムワードセットW1〜W3のValidフラグV1〜V3のすべてが“1”(有効)なので、フラグAf、BfおよびCfのうち“1”であるものに対応のプログラムワードセットがすべて選択される。
【0151】
なお、演算結果が負ならばフラグAfのみ1、正ならばフラグBfのみ1、0ならばフラグCfのみ1であり、それぞれの場合において他の2つのフラグは0となる。
【0152】
したがって、負ならばフラグAfに対応のプログラムワードセットW1、つまり命令コードOpr0(ノードND2)、正ならばフラグBfに対応のプログラムワードセットW2、つまり命令コードOpr1(ノードND3)、0ならばフラグCfに対応のプログラムワードセットW3、つまり命令コードOpr2(ノードND4)が選択的にフェッチされる。
【0153】
なお、消去信号ABS、コピー要求信号CRに関しては、パケット消去ならびにパケットコピーはないのでそれぞれ1、0の値を保持する。
【0154】
以上のプロセッサPE3またはPE4を用いれば、プログラムメモリの1アドレス指定領域のプログラムワードセット数と同じ数のフラグを設けるだけで、プログラム読出し時に演算結果による2分岐以上の多分岐処理が可能になった。
【0155】
ここで、演算結果に従う分岐処理に関して図14の本実施例によるフローグラフと図30のフローグラフとを比較すると、本実施例により処理実行時の命令数が大幅に削減されることがわかる。
【0156】
図17はこの発明の実施例による条件分岐においてパケットコピーを含むフローグラフである。
【0157】
グラフ中の命令コードADD_SW4は対応ノードの右入力データと左入力データを加算し、さらに加算結果が負のときフラグAfおよびBf=1、正のときフラグCf=1、0のときフラグDf=1を選択するものである。
【0158】
図17のフローグラフでは図14のフローグラフにおける命令コードADD_SW3がADD_SW4に代替されて、負(<0)への分岐において命令コードOpr0とOpr4へパケットコピーが行なわれる。このために、データ駆動型プロセッサは図13の構成において、さらにフラグ判定部302の出力が1本追加されて、演算部FPPの出力段のDF/FがフラグAf、BfおよびCfに追加してフラグDfを保持する。
【0159】
図18は図17のフローグラフに対するプログラムメモリの内容を示す図である。
【0160】
<第4実施例>
この実施例では、少なくとも1つ以上のデータ駆動型プロセッサを含む処理装置の入力段にプログラム記憶部を有して、第1〜第3実施例で説明したプログラム記憶部によるパケットコピー、パケット消去および条件分岐をプロセッサへのデータ入力に先立って行なわせるものである。
【0161】
図19は、この発明の第4実施例による処理装置のブロック構成図である。図19の装置(チップ)は入力側プログラム記憶部500、2つのデータ駆動型プログラムPE(♯0)およびPE(♯1)を含む。
【0162】
なお、ここではチップに含まれるデータ駆動型プロセッサは2台としたがその数はこれに特定されず、少なくとも1台以上であればよい。
【0163】
図20は図19の入力側プログラム記憶部500のブロック構成図である。入力側プログラム記憶部500はその入力段にDF/Fと、これを制御するC素子、ならびにその出力側にDF/Fとこれを制御するCn素子を含む。さらに記憶部500はメモリ501、アドレス生成およびアクセス部502、判定部503およびゲートGを含む。
【0164】
図21は図20のメモリ501の内容の一部を示す図であり、図22は図19のチップへの入力パケットIPAの構成図である。
【0165】
入力パケットIPAはエントリ番号ENT♯を格納するエントリ番号領域F5、世代番号GN♯を格納する世代番号領域F2およびデータDATAを格納するデータ領域F4からなる。
【0166】
メモリ501は入力パケットIPAのエントリ番号ENT♯に基づくアドレス指定領域にプログラムワードセットW10、W20およびW30を含む。各プロセッサワードセットはプロセッサ番号PE♯、行先ノード番号ND♯、Validフラグおよび命令コードOPCを含む。
【0167】
チップに入力パケットIPAが与えられるときフラグ情報IFも与えられる。フラグ情報IFは前述したフラグTF、Tf、Ff、Af、Bf、Cf、Dfなどを含む。
【0168】
アドレス生成およびアクセス部502は与えられるパケットIPAのエントリ番号ENT♯によるアドレスAdrによりメモリ501をアドレス指定して、プログラムワードセットW10、W20およびW30を読出し、判定部503に与える。
【0169】
判定部503は与えられるフラグ情報IFとワードセットW10、W20およびW30の内容に従って信号ABSまたはCRを出力する。これにより、入力側プログラム記憶部500において前述したパケットコピー、パケット消去および条件分岐などの処理が行なわれ、出力されたデータパケットはそのプロセッサ番号PE♯に該当のプロセッサ宛に送付される。
【0170】
図23は従来の少なくとも1つ以上のデータ駆動型プロセッサを含んで構成される処理装置(チップ)のブロック構成図であり、図24は図23のチップに対する入力パケットの構成図である。
【0171】
図24の入力パケットは行先となるプロセッサ番号PE♯を格納するプロセッサ番号領域F0、行先ノード番号ND♯の領域F1、世代番号GN♯の領域F2、命令コードOPCの領域F3およびデータDATAの領域F4を含む。
【0172】
ここで、図19と図23のチップを比較すると、プログラムの先頭でパケットコピーがある場合、図23の従来のチップでは、前述したようにチップ内のデータ駆動型プロセッサで無駄パケットの巡回が行なわれてプログラム実行効率の向上が妨げられるのに対し、図19のチップの入力段の入力側プログラム記憶部500でパケットコピーが行なわれた場合、チップ内のデータ駆動型プロセッサで無駄にパケットを巡回させることが回避されて、プログラム実行効率が向上する。
【0173】
図25(a)ないし(c)は、この発明の第4実施例によるパケットコピーがプログラムの先頭で行なわれる場合の処理手順を説明するための図である。
【0174】
図25(a)はこの処理手順を示すフローグラフであり、図25(b)はこのフローグラフに対応の入力側プロセッサ記憶部500のメモリ501の内容を示し、図25(c)はこのフローグラフに対応のチップ内のプロセッサのプログラムメモリの内容を示す。
【0175】
図25(a)〜(c)と図33(a)〜(b)を比較すると、本実施例により従来よりも実行命令数が削減されていることがわかる。
【0176】
このことはパケットコピーに限らず、パケット消去または条件分岐などの処理がプログラムの先頭で行なわれる場合であっても、チップ中の各プロセッサの共通入口である入力側プログラム記憶部500でこれら処理が行なわれて、プログラム実行効率の向上および実行命令数の削減を図ることができる。
【0177】
さらに、図22により本実施例によるチップに対する入力ピン割付けが示され、図24により従来のチップに対する入力ピン割付けが示される。
【0178】
図22と図24を参照してチップに対する入力ピン割付けを比較すると、世代番号領域F2とデータ領域F4は共通しているが、その他の領域については従来のプロセッサ番号領域F0、行先ノード番号領域F1および命令コード領域F3が本実施例ではエントリ番号領域F5に代替されている。つまり、本実施例では従来に比較してチップの入力ピンのビット圧縮が行なわれることになって入力ピンの削減が可能となる。
【0179】
なお、本実施例のチップを構成するデータ駆動型プロセッサは前述した第1〜第3実施例のプロセッサであってもよく、また従来のプロセッサであってもよい。
【0180】
【発明の効果】
請求項1に記載のデータ駆動型情報処理装置によれば、データ供給部にて1つ以上のデータパケットの生成の処理および第2データパケットの消去処理に係る命令が実行されてから第2データフロープログラムがデータパケットにして処理部に供給されるので、データ供給部にて予め実行された命令分、処理部の各情報処理手段における第1データフロープログラムステップが削減されて、実行命令数が削減されプログラム実行効率が向上する。
また、各情報処理手段の実行命令数の削減は第1所定条件により任意に制御できる。
また、各情報処理手段のプログラム記憶手段における第1データフロープログラムの読出時、データパケットコピー処理、データパケット消去処理および選択的なプログラムデータの読出しが可能となって、その分、各情報処理手段における実行命令数が削減されて、プログラム実行効率が向上する。
【0181】
また、データ供給部による処理部への第2データフロープログラムの供給は、第2所定条件の設定により任意に制御できるので、実行命令数が第2所定条件の設定により削減できる。
【0182】
また、データ供給部による処理部への第2データフロープログラムの供給は、第2アドレス指定により読出される第2有効/無効情報の設定により任意に制御できる。これにより、第2アドレス指定による第2データフロープログラムのデータ供給時に、データパケットのコピー処理およびデータパケットの消去処理が可能となって、処理部の各情報処理手段における実行命令数が削減され、プログラム実行効率が向上する。
【0183】
また、データ供給部による第2データフロープログラムの供給は、第2有効/無効情報と分岐コードの設定により任意に制御できる。これにより、データパケットコピー処理、データパケット消去処理および選択的なデータパケット供給が可能となって、その分、処理部の各情報処理手段における実行命令数が削減され、プログラム実行効率が向上する。
【0184】
請求項に記載のデータ駆動型情報処理装置によれば、請求項に係る装置のデータ供給部のプログラム読出時点で選択構造処理の実行が可能となって、その分、処理部の各情報処理手段における実行命令数が削減され、プログラム実行効率が向上する。
【0188】
請求項に記載のデータ駆動型情報処理装置によれば、請求項1または2に係る装置の第1データフロープログラム読出時に選択構造処理の実行が可能となって、その分、各情報処理手段における実行命令数が削減され、プログラム実行効率が向上する。
【0189】
請求項に記載のデータ駆動型情報処理装置によれば、プログラム記憶手段におけるデータフロープログラム読出時において、データパケット消去処理ならびに1アドレス指定によるデータパケットコピー処理が可能となって、装置における実行命令数が削減され、プログラム実行効率が向上する。
【0190】
また、プログラムデータ読出時にデータパケットコピー処理、データパケット消去処理および演算結果に従うプログラムデータ選択が可能となって、その分、該装置における実行命令数が削減され、プログラム実行効率が向上する。
【0191】
請求項に記載のデータ駆動型情報処理装置によれば、請求項に係る装置のプログラム記憶部のプログラムの読出時に、選択構造処理の実行が可能となって、その分、該情報処理装置における実行命令数が削減されて、プログラム実行効率が向上する。
【図面の簡単な説明】
【図1】この発明の第1実施例によるデータ駆動型プロセッサのブロック構成図である。
【図2】図1のプログラム記憶部PS1のブロック構成図である。
【図3】図2のプログラムメモリ100の内容を部分的に示す図である。
【図4】図1のプログラム記憶部PS1のフェッチ動作を表形式にして示す図である。
【図5】(a)および(b)は、パケット消去に関してこの発明の第1実施例によるフローグラフと従来技術によるフローグラフとを対比して示す図である。
【図6】この発明の第2実施例によるデータ駆動型プロセッサのブロック構成図である。
【図7】図6のプログラム記憶部PS2のブロック構成図である。
【図8】図6のプログラム記憶部PS2のフェッチ動作を表形式にして示す図である。
【図9】(a)および(b)は、演算結果の真偽に従う条件分岐に関してこの発明の第2実施例によるフローグラフと従来の技術によるフローグラフとを対比して示す図である。
【図10】この発明の第3実施例によるデータ駆動型プロセッサのブロック構成図である。
【図11】図10のプログラム記憶部PS3のブロック構成図である。
【図12】図11のプログラム記憶部PS3のフェッチ動作を表形式にして示す図である。
【図13】図10のプロセッサPE3の改良例を示すブロック図である。
【図14】図13のプロセッサPE4を用いた演算結果に従う条件分岐処理のフローグラフである。
【図15】図14のフローグラフに対する図13のプログラムメモリ106の内容を示す図である。
【図16】命令コードADD_SW3に従う演算結果とフラグ出力の対応を表形式にして示す図である。
【図17】この発明の実施例による条件分岐においてパケットコピーを含むフローグラフである。
【図18】図17のフローグラフに対するプログラムメモリの内容を示す図である。
【図19】この発明の第4実施例による処理装置のブロック構成図である。
【図20】図19の入力側プログラム記憶部500のブロック構成図である。
【図21】図20のメモリの内容の一部を示す図である。
【図22】図19のチップへの入力パケットIPAの構成図である。
【図23】従来の少なくとも1つ以上のデータ駆動型プロセッサを含んで構成される処理装置(チップ)のブロック構成図である。
【図24】図23のチップに対する入力パケットの構成図である。
【図25】(a)ないし(c)はこの発明の第4実施例によるパケットコピーがプログラムの先頭で行なわれる場合の処理手順を説明するための図である。
【図26】従来のデータ駆動型プロセッサのブロック構成図である。
【図27】従来およびこの発明の実施例に適用されるデータパケットのフォーマット図である。
【図28】プログラム記憶部PSPのブロック構成図である。
【図29】図28のプログラムメモリ200の内容を部分的に示す図である。
【図30】従来の命令コードSWNを用いた選択構造を含むフローグラフである。
【図31】図30のデータフローグラフに対するプログラムメモリ200の内容を示す図である。
【図32】図30のフローグラフに従う処理実行時の途中経過を表形式にして説明する図である。
【図33】(a)〜(c)は、従来のパケットコピーがプログラムの先頭で行なわれる場合の処理手順を説明するための図である。
【符号の説明】
300、301、302 フラグ判定部
500 入力側プログラム記憶部
PE1、PE2、PE3、PE4 データ駆動型プロセッサ
PS1、PS2、PS3、PS4 プログラム記憶部
FPP 演算部
V1、V2 Validフラグ
IF フラグ情報
TF 真偽フラグ
Tf 真フラグ
Ff 偽フラグ
Af Aフラグ
Bf Bフラグ
Cf Cフラグ
Df Dフラグ
W1、W2、W3、W4、W10、W20、W30 プログラムワードセット
ND♯ 行先ノード番号
DATA データ
OPC 命令コード
IPA 入力パケット
なお、各図中、同一符号は、同一または相当部分を示す。

Claims (5)

  1. 少なくとも1つ以上の情報処理手段を含む処理部と、前記処理部の入力段に設けられたデータ供給部とを備えたデータ駆動型情報処理装置において、
    前記情報処理手段は、
    少なくとも行先情報を格納する行先フィールド、命令情報を格納する命令フィールドおよびデータを格納するデータフィールドからなるデータパケットを入力し、該入力データパケットの前記命令フィールドの前記命令情報が所定命令情報であるとき該入力データパケットをそのまま出力し、前記所定命令情報でないとき対となるデータパケットの待ち合せを行ない、前記行先フィールドの前記行先情報が一致する互いに対となる2つのデータパケットのうち一方のデータパケットの前記データフィールドの内容を他方のデータパケットの前記データフィールドに追加格納して、その他方のデータパケットを出力するデータ対生成手段と、
    前記データ対生成手段から出力される前記データパケットを入力し、該入力データパケットの前記命令フィールドの前記命令情報を解読し、該入力データパケットの前記データフィールドの内容に対して所定の演算処理を施し、その結果を該入力データパケットの前記データフィールドに格納して出力する演算手段と、
    前記演算手段が前記所定の演算処理結果を格納したデータパケットを出力するとき、前記所定の演算処理の結果に基づく条件コードを出力するフラグ判定手段と、
    少なくとも次位の行先情報と次位の命令情報とこれら両情報の有効/無効を示す第1有効/無効情報とを含む第1情報セットを同一プログラムワード内に2つ以上有する第1データフロープログラムが予め記憶され、前記演算手段からデータパケットを入力すると共に前記フラグ判定手段から前記条件コードを入力し、該入力データパケットの前記行先フィールドの内容に基づく第1アドレス指定を行なって第1データフロープログラムから1つのプログラムワードを読出し、読出した前記プログラムワードが有する2つ以上の前記第1情報セットの中に第1所定条件を満たす前記第1情報セットがある場合は、前記第1所定条件を満たす各第1情報セットに対応してデータパケットを生成し、各生成データパケットの前記行先フィールドおよび前記命令フィールドのそれぞれに、対応する前記第1情報セットの前記次位の行先情報および前記次位の命令情報のそれぞれを格納するとともに、各生成データパケットの前記データフィールドに前記入力データパケットの前記データフィールドの内容を格納して、各生成データパケットを出力し、読出した前記プログラムワードが有する2つ以上の前記第1情報セットの中に前記第1所定条件を満たす第1情報セットがない場合は、データパケットは生成せずにパケット消去を行なう第1プログラム記憶手段と、を備え、
    前記データ供給部は、
    少なくとも次位の行先情報と次位の命令情報とこれら両情報の有効/無効を示す第2有効/無効情報とを含む第2情報セットを同一プログラムワード内に2つ以上有する第2データフロープログラムが予め記憶され、少なくとも前記行先フィールドおよび前記データフィールドからなる第2データパケットと分岐処理のための分岐コードとを入力し、該入力第2データパケットの前記行先フィールドの内容に基づく第2アドレス指定を行なって前記第2データフロープログラムから1つのプログラムワードを読出し、読出した前記プログラムワードが有する2つ以上の前記第2情報セットの中に第2所定条件を満たす前記第2情報セットがある場合は、前記第2所定条件を満たす前記第2情報セットに対してデータパケットを生成し、各生成データパケットの前記行先フィールドおよび前記命令フィールドのそれぞれに、対応する前記第2情報セットの前記次位の行先情報および前記次位の命令情報のそれぞれを格納するとともに、各生成データパケットの前記データフィールドに前記入力第2データパケットの前記データフィールドの内容を格納して、各生成データパケットを出力し、読出した前記プログラムワードが有する2つ以上の前記第2情報セットの中に前記第2所定条件を満たす前記第2情報セットがない場合は、データパケットは生成せずにパケット消去を行なう第2プログラム記憶手段を備え、
    前記第1所定条件は、
    前記第1アドレス指定により読出された前記プログラムワードが有する2つ以上の前記第1情報セットの内、前記条件コードの値に対応し且つ前記第1有効/無効情報が有効である前記第1情報セットのみを選択するための条件であり、
    前記第2所定条件は、
    前記第2アドレス指定により読出された前記プログラムワードが有する2つ以上の前記第2情報セットの内、前記分岐コードの値に対応し且つ前記第2有効/無効情報が有効である前記第2情報セットのみを選択するための条件であることを特徴とする、データ駆動型情報処理装置。
  2. 前記分岐コードは少なくとも2つ以上のフラグからなり、該フラグの数は前記第2アドレス指定により読出される前記プログラムワード中の前記第2情報セット数に相当することを特徴とする、請求項1に記載のデータ駆動型情報処理装置。
  3. 前記条件コードは少なくとも2つ以上のフラグからなり、該フラグの数は前記第1アドレス指定により読出される前記プログラムワード中の前記第1情報セット数に相当することを特徴とする、請求項1または2に記載のデータ駆動型情報処理装置。
  4. 少なくとも行先情報を格納する行先フィールド、命令情報を格納する命令フィールドおよびデータを格納するデータフィールドからなるデータパケットを入力し、該入力データパケットの前記命令フィールドの前記命令情報が所定命令情報であるとき該入力データパケットをそのまま出力し、前記所定命令情報でないとき対となるデータパケットの待ち合せを行ない、前記行先フィールドの前記行先情報が一致する互いに対となる2つのデータパケットのうち一方のデータパケットの前記データフィールドの内容を他方のデータパケットの前記データフィールドに追加格納して、その他方のデータパケットを出力するデータ対生成手段と、
    前記データ対生成手段から出力される前記データパケットを入力し、該入力データパケットの前記命令フィールドの前記命令情報を解読し、該入力データパケットの前記データフィールドの内容に対して所定の演算処理を施し、その結果を該入力データパケットのデータフィールドに格納して出力する演算手段と、
    前記演算手段が前記所定の演算処理の結果を格納したデータパケットを出力するとき、前記所定の演算処理の結果に基づく条件コードを出力するフラグ判定手段と、
    少なくとも次位の行先情報と次位の命令情報とこれら両情報の有効/無効を示す有効/無効情報とを含む情報セットを同一のプログラムワード内に2つ以上有するデータフロープログラムが予め記憶され、前記演算手段からデータパケットを入力すると共に前記フラグ判定手段から前記条件コードを入力し、該入力データパケットの前記行先フィールドの内容に基づくアドレス指定を行なって前記データフロープログラムから1つのプログラムワードを読出し、読出した前記プログラムワードが有する2つ以上の前記情報セットの中に所定条件を満たす前記情報セットがある場合は、前記所定条件を満たす各情報セットに対応してデータパケットを生成し、各生成データパケットの前記行先フィールドおよび前記命令フィールドのそれぞれに、対応する前記情報セットの前記次位の行先情報および前記次位の命令情報をそれぞれ格納するとともに、各生成データパケットの前記データフィールドに前記入力データパケットの前記データフィールドの内容を格納して、各生成データパケットを出力し、読出した前記プログラムワードが有する2つ以上の前記情報セットの中に前記所定条件を満たす前記情報セットがない場合は、データパケットは生成せずにパケット消去を行なうプログラム記憶手段とを備え、
    前記所定条件は、
    前記アドレス指定により読出された前記プログラムワードが有する2つ以上の前記情報セットの内、前記条件コードの値に対応し且つ前記有効/無効情報が有効である前記情報セットのみを選択するための条件であることを特徴とする、データ駆動型情報処理装置。
  5. 前記条件コードは、少なくとも2つ以上のフラグからなり、該フラグの数は前記アドレス指定により読出される前記プログラムワード中の前記情報セット数に相当することを特徴とする、請求項4に記載のデータ駆動型情報処理装置。
JP13511795A 1995-06-01 1995-06-01 データ駆動型情報処理装置 Expired - Fee Related JP3677315B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP13511795A JP3677315B2 (ja) 1995-06-01 1995-06-01 データ駆動型情報処理装置
US08/655,460 US5870620A (en) 1995-06-01 1996-05-30 Data driven type information processor with reduced instruction execution requirements

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP13511795A JP3677315B2 (ja) 1995-06-01 1995-06-01 データ駆動型情報処理装置

Publications (2)

Publication Number Publication Date
JPH08329036A JPH08329036A (ja) 1996-12-13
JP3677315B2 true JP3677315B2 (ja) 2005-07-27

Family

ID=15144230

Family Applications (1)

Application Number Title Priority Date Filing Date
JP13511795A Expired - Fee Related JP3677315B2 (ja) 1995-06-01 1995-06-01 データ駆動型情報処理装置

Country Status (2)

Country Link
US (1) US5870620A (ja)
JP (1) JP3677315B2 (ja)

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7266725B2 (en) * 2001-09-03 2007-09-04 Pact Xpp Technologies Ag Method for debugging reconfigurable architectures
DE19651075A1 (de) * 1996-12-09 1998-06-10 Pact Inf Tech Gmbh Einheit zur Verarbeitung von numerischen und logischen Operationen, zum Einsatz in Prozessoren (CPU's), Mehrrechnersystemen, Datenflußprozessoren (DFP's), digitalen Signal Prozessoren (DSP's) oder dergleichen
DE19654595A1 (de) * 1996-12-20 1998-07-02 Pact Inf Tech Gmbh I0- und Speicherbussystem für DFPs sowie Bausteinen mit zwei- oder mehrdimensionaler programmierbaren Zellstrukturen
DE19654846A1 (de) * 1996-12-27 1998-07-09 Pact Inf Tech Gmbh Verfahren zum selbständigen dynamischen Umladen von Datenflußprozessoren (DFPs) sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstrukturen (FPGAs, DPGAs, o. dgl.)
EP1329816B1 (de) * 1996-12-27 2011-06-22 Richter, Thomas Verfahren zum selbständigen dynamischen Umladen von Datenflussprozessoren (DFPs) sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstrukturen (FPGAs, DPGAs, o.dgl.)
US6542998B1 (en) 1997-02-08 2003-04-01 Pact Gmbh Method of self-synchronization of configurable elements of a programmable module
JP3488812B2 (ja) 1997-08-28 2004-01-19 シャープ株式会社 データ伝送路
US8686549B2 (en) 2001-09-03 2014-04-01 Martin Vorbach Reconfigurable elements
DE19861088A1 (de) * 1997-12-22 2000-02-10 Pact Inf Tech Gmbh Verfahren zur Reparatur von integrierten Schaltkreisen
JP2000013713A (ja) 1998-06-19 2000-01-14 Sharp Corp 映像信号処理装置およびそれを用いたテレビジョン受信装置
JP3853098B2 (ja) 1999-01-18 2006-12-06 シャープ株式会社 データ駆動型情報処理システム
AU5805300A (en) 1999-06-10 2001-01-02 Pact Informationstechnologie Gmbh Sequence partitioning in cell structures
JP3766779B2 (ja) 2000-03-31 2006-04-19 シャープ株式会社 自己同期型データ伝送装置およびこれを用いたデータ駆動型情報処理装置
EP1342158B1 (de) 2000-06-13 2010-08-04 Richter, Thomas Pipeline ct-protokolle und -kommunikation
AU2002220600A1 (en) * 2000-10-06 2002-04-15 Pact Informationstechnologie Gmbh Cell system with segmented intermediate cell structure
US8058899B2 (en) * 2000-10-06 2011-11-15 Martin Vorbach Logic cell array and bus system
WO2005045692A2 (en) * 2003-08-28 2005-05-19 Pact Xpp Technologies Ag Data processing device and method
US20070299993A1 (en) * 2001-03-05 2007-12-27 Pact Xpp Technologies Ag Method and Device for Treating and Processing Data
US7844796B2 (en) 2001-03-05 2010-11-30 Martin Vorbach Data processing device and method
US20090300262A1 (en) * 2001-03-05 2009-12-03 Martin Vorbach Methods and devices for treating and/or processing data
US7581076B2 (en) * 2001-03-05 2009-08-25 Pact Xpp Technologies Ag Methods and devices for treating and/or processing data
US7444531B2 (en) 2001-03-05 2008-10-28 Pact Xpp Technologies Ag Methods and devices for treating and processing data
US20090210653A1 (en) * 2001-03-05 2009-08-20 Pact Xpp Technologies Ag Method and device for treating and processing data
US9037807B2 (en) * 2001-03-05 2015-05-19 Pact Xpp Technologies Ag Processor arrangement on a chip including data processing, memory, and interface elements
EP1402382B1 (de) * 2001-06-20 2010-08-18 Richter, Thomas Verfahren zur bearbeitung von daten
US7996827B2 (en) * 2001-08-16 2011-08-09 Martin Vorbach Method for the translation of programs for reconfigurable architectures
US7434191B2 (en) * 2001-09-03 2008-10-07 Pact Xpp Technologies Ag Router
US8686475B2 (en) * 2001-09-19 2014-04-01 Pact Xpp Technologies Ag Reconfigurable elements
US7577822B2 (en) * 2001-12-14 2009-08-18 Pact Xpp Technologies Ag Parallel task operation in processor and reconfigurable coprocessor configured based on information in link list including termination information for synchronization
US8281108B2 (en) * 2002-01-19 2012-10-02 Martin Vorbach Reconfigurable general purpose processor having time restricted configurations
ATE402446T1 (de) * 2002-02-18 2008-08-15 Pact Xpp Technologies Ag Bussysteme und rekonfigurationsverfahren
US20060075211A1 (en) * 2002-03-21 2006-04-06 Martin Vorbach Method and device for data processing
US20070011433A1 (en) * 2003-04-04 2007-01-11 Martin Vorbach Method and device for data processing
US8914590B2 (en) * 2002-08-07 2014-12-16 Pact Xpp Technologies Ag Data processing method and device
US7657861B2 (en) * 2002-08-07 2010-02-02 Pact Xpp Technologies Ag Method and device for processing data
WO2004021176A2 (de) * 2002-08-07 2004-03-11 Pact Xpp Technologies Ag Verfahren und vorrichtung zur datenverarbeitung
US20110238948A1 (en) * 2002-08-07 2011-09-29 Martin Vorbach Method and device for coupling a data processing unit and a data processing array
AU2003289844A1 (en) * 2002-09-06 2004-05-13 Pact Xpp Technologies Ag Reconfigurable sequencer structure
EP1849095B1 (en) * 2005-02-07 2013-01-02 Richter, Thomas Low latency massive parallel data processing device
JP2009524134A (ja) * 2006-01-18 2009-06-25 ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト ハードウェア定義方法
CN114995863B (zh) * 2022-08-03 2022-11-11 中国重汽集团济南动力有限公司 一种软件重编程系统、基于重编程系统的软件重编程方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0646414B2 (ja) * 1987-10-20 1994-06-15 シャープ株式会社 情報処理装置
JP2568452B2 (ja) * 1990-02-27 1997-01-08 シャープ株式会社 データフロー型情報処理装置
JP2750968B2 (ja) * 1991-11-18 1998-05-18 シャープ株式会社 データ駆動型情報処理装置
JPH05174167A (ja) * 1991-12-26 1993-07-13 Sharp Corp データフロープログラムの実行制御方法
JP3312039B2 (ja) * 1992-01-08 2002-08-05 シャープ株式会社 データ駆動型情報処理装置
JPH05233853A (ja) * 1992-02-24 1993-09-10 Sharp Corp 演算処理装置
US5528755A (en) * 1992-12-22 1996-06-18 International Business Machines Corporation Invalid data detection, recording and nullification

Also Published As

Publication number Publication date
US5870620A (en) 1999-02-09
JPH08329036A (ja) 1996-12-13

Similar Documents

Publication Publication Date Title
JP3677315B2 (ja) データ駆動型情報処理装置
TW581950B (en) Multiple logical interfaces to a shared coprocessor resource
US6889318B1 (en) Instruction fusion for digital signal processor
US5577256A (en) Data driven type information processor including a combined program memory and memory for queuing operand data
JP2001273275A (ja) データ駆動型情報処理装置
US6035122A (en) Compiler for converting source program into object program having instruction with commit condition
US5125097A (en) Data flow type information processors where data packets pass through plurality of merging and branching portions of the internal path
JPH01188950A (ja) デッドロック回避実行制御方式
JPH08272771A (ja) データ駆動型情報処理装置
US5117499A (en) Data flow type processing apparatus having external and cache memories for fetching paired executing instruction when mishit occurs
JPH0981540A (ja) データ駆動型情報処理装置
JP3983455B2 (ja) データ駆動型情報処理装置の実行制御装置
JP2001306546A (ja) データ駆動型情報処理装置
JP3696625B2 (ja) データ駆動型情報処理装置
JP2668156B2 (ja) データ駆動型情報処理装置の実行制御方法
JP2006053830A (ja) 分岐予測装置および分岐予測方法
JPS5860355A (ja) 情報処理装置
US7886133B2 (en) Information processing apparatus and method for accelerating information processing
JP2765058B2 (ja) ストリーム演算終了検知方法及びその装置
JP3442175B2 (ja) 中央演算処理装置
JP3498831B2 (ja) プログラム制御方法およびその装置
JP2005141681A (ja) データ駆動型情報処理装置およびデータフロープログラムの実行制御方法
JP2002318689A (ja) 資源使用サイクルの遅延指定付き命令を実行するvliwプロセッサおよび遅延指定命令の生成方法
JP3708560B2 (ja) データフロー型情報処理装置
JP2897049B2 (ja) 分岐命令方式

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20030819

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040914

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041109

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050125

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050322

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20050419

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050509

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20080513

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20090513

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100513

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110513

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees