JP3853098B2 - データ駆動型情報処理システム - Google Patents
データ駆動型情報処理システム Download PDFInfo
- Publication number
- JP3853098B2 JP3853098B2 JP00944999A JP944999A JP3853098B2 JP 3853098 B2 JP3853098 B2 JP 3853098B2 JP 00944999 A JP00944999 A JP 00944999A JP 944999 A JP944999 A JP 944999A JP 3853098 B2 JP3853098 B2 JP 3853098B2
- Authority
- JP
- Japan
- Prior art keywords
- data packet
- processor
- data
- input
- output
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/82—Architectures of general purpose stored program computers data or demand driven
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
Description
【発明の属する技術分野】
この発明はデータ駆動型情報処理システムに関し、特に、複数のデータ駆動型情報処理装置をマルチネットワーク状に接続するのに適したデータ駆動型情報処理システムに関する。
【0002】
【従来の技術】
ノイマン型計算機においては、種々の命令が予めプログラムとしてプログラム記憶部に記憶され、プログラムカウンタによってプログラム記憶部のアドレスが逐次指定されて命令が読出され、その命令が実行される。
【0003】
一方データ駆動型情報処理装置は、プログラムカウンタによる逐次的な命令の実行という概念を持たない非ノイマン型計算機の一種である。データ駆動型情報処理装置においては、演算の対象となるデータが揃い次第、命令の実行が可能となり、複数の命令が並列的に実行されるため、大幅に演算の実行時間が短縮されるという利点を有する。
【0004】
図13は、従来のデータ駆動型プロセッサのブロック構成図であり、図14(A)〜(C)は、図13のデータ駆動型プロセッサにおいて処理されるデータパケットのフィールド構成を説明するための図である。図15は、図13のプログラム記憶部の記憶内容の一例を示す図である。図16は、図13のデータ駆動型プロセッサを複数個含むシステムの構成図である。
【0005】
図14(A)のデータパケットPA1は、PE(プロセッサの略)番号50、ノード番号51、左右データフラグ52、命令コード53、世代番号54および第1オペランド55を含む。図14(B)のデータパケットPB1はデータパケットPAの内容に加えて第2オペランド56を含む。図14(C)のデータパケットPC1はPE番号50、ノード番号51、世代番号54および第1オペランド55を含む。
【0006】
図13のデータ駆動型プロセッサPE1は、与えられるデータパケットを入力し該入力パケットの内容と予め内部のメモリに設定された内容とを比較し、その比較結果に応じて選択された出力先へ該入力データパケットを出力する分岐部20および25、与えられたデータパケットを入力し順次出力する合流部21および27、対データ検出部22、演算処理部23、図15に示されるようなデータフロープログラムを予め記憶するプログラム記憶部24および内部データバッファ部26を含む。
【0007】
分岐部20および25は内部にメモリ201および251をそれぞれ有する。メモリ201および251には、該データ駆動型プロセッサPE1を一意に識別するためのPE番号がソフトウェアにより予め記憶されるか、外部端子により予め設定される。
【0008】
動作において、分岐部20は入力ポートINから入力したデータパケットPA1のPE番号50とメモリ201に予め設定されているPE番号とが一致するか否かを判定し、一致した場合には該入力データパケットPA1を合流部21に出力し、一致しない場合には合流部27に出力する。合流部21は分岐部20から出力されたデータパケットPA1と内部データバッファ26から出力されたデータパケットPA1とを入力し、データパケットの流れを制御しながら、順次該入力データパケットPA1を対データ検出部22へ出力する。
【0009】
対データ検出部22は、2項演算命令に対して対となる2つのデータパケットを検出する。つまり、2項演算命令に対してノード番号51と世代番号54とが等しい2つのデータパケットPA同士を待ち合わせて、待合せができた(対データ検出された)時点で、2つのデータパケットPA1を1つのデータパケットPB1にして演算処理部23へ出力する。この際、対データとして検出された2つのデータパケットPA1の2つの第1オペランド55のそれぞれはデータパケットPB1の第1および第2オペランド55および56のいずれか一方にセットされる。この際、対データ検出された2つのデータパケットPA1の第1オペランド55はデータパケットPB1の第1および第2オペランド55および56のいずれにセットされるかは、対データ検出された2つのデータパケットPA1のそれぞれの左右データフラグ52によって決定される。
【0010】
演算処理部23では、入力データパケットPB1の命令コード53に従い、対応の第1または第2オペランド55または56について演算を施し、その演算結果を第1オペランド55として格納したデータパケットPC1をプログラム記憶部24に出力する。
【0011】
プログラム記憶部24は、図15に示されるように複数のプロセッサ番号、複数のノード番号、複数の命令コードおよび複数の左右データフラグからなるデータフロープログラムを予め記憶する。プログラム記憶部24は与えられるデータパケットPC1を入力し、該入力パケットPC1のノード番号51に基づくアドレス指定によりデータフロープログラムから次位のプロセッサ番号、ノード番号、命令コードおよび左右データフラグを読出す。読出されたプロセッサ番号およびノード番号は該入力データパケットPC1のPE番号50およびノード番号51としてそれぞれセットされ、読出された命令コードおよび左右データフラグは命令コード53および左右データフラグ52として該入力データパケットPC1に付加されて(世代番号54はそのままで)、データパケットPA1として分岐部25に出力される。これを命令フェッチと呼ぶ。
【0012】
分岐部25はプログラム記憶部24から出力されたデータパケットPA1を入力し、該入力データパケットPA1のPE番号50とメモリ251中のPE番号とが一致するか否か判定する。両番号が一致した場合には分岐部25は該入力データパケットPA1を内部データバッファ部26に出力し、一致しない場合は合流部27に出力する。
【0013】
内部データバッファ部26は与えられるデータパケットPA1を入力し、順次合流部21に出力する。
【0014】
このように合流部21→対データ検出部22→演算処理部23→プログラム記憶部24→分岐部25をデータパケットが流れることにより、プログラム記憶部24に予め記憶されたデータフロープログラムにより示されるデータフローグラフの1ノード分の処理が完了する。
【0015】
以上のように、データパケットに対し、対データ検出、演算処理、命令フェッチが繰返されることにより、データフローグラフ(データフロープログラム)が実行される。
【0016】
上述したデータ駆動型情報処理装置の処理性能を向上させるための手法として1つのシステムの中に複数のデータ駆動型プロセッサPEを内蔵することが考えられる。
【0017】
特開平6−259583号公報では図16に示されるように複数のデータ駆動型プロセッサ1〜4を含んで構成されるシステムにおいて、各プロセッサを相互に接続する方法が示される。ここでは、各プロセッサはプロセッサ間伝送路を介して接続される。そして、動作においては、データパケット中のそれ自身が処理されるべきプロセッサを指定するプロセッサ指定情報(PE番号)と予め定められた条件とに従い、該データパケットが処理されるべきプロセッサに到達するまでの経路が短くなるような伝送路を介してデータパケットが伝送される。すなわち、システム中の各プロセッサは自身を一意に識別するための情報(PE番号)を格納する図13のメモリ201と251とを有してデータパケット中のプロセッサ指定情報(PE番号)と該プロセッサに設定されたPE番号とが比較されながら、データパケットは各プロセッサで処理される。
【0018】
【発明が解決しようとする課題】
データ駆動型プロセッサのIC(集積回路)化にあたり、演算処理能力の向上ならびに1システムを構成するプロセッサの数が増加する傾向にある。これに伴い、回路が大規模になるのでコストアップを生じ、消費電力、および端子数が増加する。そして、消費電力の増加によるパッケージの放熱対策コストの増加および端子数の増加による不要輻射対策コストの増加も著しい。
【0019】
それゆえにこの発明の目的は、経済性に優れたデータ駆動型情報処理システムを提供することである。
【0020】
【課題を解決するための手段】
請求項1に記載のデータ駆動型情報処理システムは、複数のデータ駆動型プロセッサ(以下、プロセッサと略す)が、命令情報を少なくとも格納したデータパケットが伝送される伝送路を用いて相互に通信接続されるものであり、以下の特徴を有する。
【0021】
複数プロセッサの各々は、命令情報の少なくとも1つ以上の種類からなる異なる命令体系を処理可能である。
【0022】
そして、データ駆動型情報処理システムは、該システムの入力段に設けられて、複数プロセッサの各々と伝送路を介して接続される第1経路選択手段を有する。第1経路選択手段は与えられる前記データパケットを入力して、該入力データパケット中の命令情報に基づいて、該命令情報の種類に該当する命令体系を処理可能なプロセッサに接続された伝送路を接続される複数の伝送路から選択して、選択された伝送路に該入力データパケットを出力する。
【0023】
複数プロセッサの各々は、該プロセッサの出力段に設けられた第2経路選択手段と、与えられるデータパケットを入力して該入力データパケットを用いて命令情報に基づく演算を含んだ情報処理をして、情報処理により得られたデータパケットを出力する処理部とを有する。さらに複数の命令情報を含むデータフロープログラムを記憶しており、処理部から出力されたデータパケットを入力して、入力したデータパケットの内容に基づき次位の命令情報を読み出し、読み出した次位の命令情報を新たな命令情報としてデータパケットに格納して第2経路選択手段に出力するプログラム記憶部と、他の全てのプロセッサのそれぞれに対応の入力ポートを有すると共に、自己のプロセッサの第2経路選択手段にも接続されていて、前記入力ポートに与えられるデータパケット及び自己のプロセッサの第2経路選択手段から与えられる前記データパケットを入力して処理部に出力する合流部とを有する。
【0024】
第2経路選択手段は、他の全てのプロセッサのそれぞれに対応し、且つ対応のプロセッサの合流部の自己のプロセッサに対応の入力ポートと伝送路により接続された出力ポートを有すると共に、自己のプロセッサの合流部にも接続されており、プログラム記憶部から出力されたデータパケットを入力して、該入力データパケット中の命令情報が他のプロセッサで処理可能な命令情報である場合は、該命令情報の種類に該当する命令体系を処理可能なプロセッサに接続された伝送路を該プロセッサに接続される伝送路から選択して、出力ポートのうち、選択された伝送路を接続する出力ポートに該入力データパケットを出力し、入力データパケット中の命令情報が自己のプロセッサの処理部で処理可能な命令情報である場合は、自己のプロセッサの合流部に該入力データパケットを出力する。
【0025】
請求項1によれば、第1および第2経路選択手段はデータパケット中の命令情報に基づいて、該命令情報の種類に該当する命令体系を処理可能な、すなわち該データパケットを処理可能なプロセッサに接続された伝送路を選択して、該伝送路を介して該データパケットを伝送する。
【0026】
言い換えると、システムの入力段および各プロセッサの出力段ではデータパケット中の命令情報に基づいて、処理可能なプロセッサに該データパケットを振り分ける。
【0027】
したがって、従来のように各プロセッサへのプロセッサ番号の付与が不要となり、かつデータパケット中のPE番号格納領域が不要となるからシステムに関して回路規模を縮小でき、コストおよび消費電力を低減できる。
【0028】
また、消費電力が低減されるので該システムを内蔵するパッケージの放熱対策コストも減少する。またデータパケット中にPE番号格納領域が不要となることでデータパケットのデータ幅を縮小できて、システムにおけるデータパケットのための端子数は減少して不要な輻射も低減する。
【0029】
またシステムでは第1経路選択部が複数のプロセッサの外部(システムの入力段)に配置されるので、システム構成時に各プロセッサの演算処理部の相違を考慮しなくともプロセッサを規則的に配置できる。それゆえに、該システムはプロセッサの規則的な配置構成(レイアウト)が必要とされる場合の適用に有効である。
【0030】
請求項2に記載のデータ駆動型情報処理システムは、請求項1に記載のデータ駆動型情報処理システムにおいて以下の特徴を有する。
【0031】
第1経路選択手段は、システムの外部と接続される出力ポートをさらに有し、入力したデータパケット中の命令情報が複数プロセッサのいずれでも処理できない命令情報である場合は、システムの外部と伝送路により接続される出力ポートに該入力データパケットを出力する。
【0032】
第2経路選択手段は、システム外部と接続される出力ポートをさらに有し、プログラム記憶部から与えられるデータパケット中の命令情報が自己のプロセッサ及び他の全てのプロセッサのいずれでも処理できない命令情報である場合は、システムの外部と伝送路により接続される出力ポートに該入力データパケットを出力する。
【0033】
請求項2に記載のデータ駆動型情報処理システムによれば第1および第2経路選択手段はシステム外部と接続される伝送路をさらに有するので、データパケットを、その命令情報に基づいて該データパケットを処理できるシステム内部のいずれかのプロセッサまたはシステム外部のプロセッサに選択的に供給することができる。
【0037】
請求項3に記載のデータ駆動型情報処理システムは、複数のデータ駆動型プロセッサ(以下、プロセッサと略す)が、命令情報を少なくとも格納したデータパケットが伝送される伝送路を用いて相互に通信接続されるものであり、以下の特徴を有する。
【0038】
複数プロセッサの各々は、命令情報の少なくとも1つ以上の種類からなる異なる命令体系を演算処理可能である。そしてプロセッサの外部からデータパケットが与えられる経路選択手段と、経路選択手段を接続し、該経路選択手段を介して与えられるデータパケットを入力して該入力データパケットを用いて命令情報に基づく演算処理を含んだ情報処理をして、該情報処理により得られたデータパケットを出力する処理部とを有する。さらに、複数の命令情報を含むデータフロープログラムを記憶しており、処理部から出力されたデータパケットを入力して、入力したデータパケットの内容に基づき次位の命令情報を読み出し、読み出した次位の命令情報を新たな命令情報としてデータパケットに格納して経路選択手段に出力するプログラム記憶部を有する。
【0039】
経路選択手段は、他の全てのプロセッサのそれぞれに対応し、且つ与えられる前記データパケットを出力する出力ポートと、他の全てのプロセッサのそれぞれに対応し、且つ対応のプロセッサの自己のプロセッサに対応の出力ポートと伝送路により接続された入力ポートと、を有する。そして、入力ポートに与えられるデータパケット及びプログラム記憶部から出力されたデータパケットを入力して、該入力データパケット中の命令情報が他のプロセッサで処理可能な命令情報である場合は、該命令情報の種類に該当する命令体系を処理可能なプロセッサに接続された伝送路を該プロセッサに接続される伝送路から選択して、出力ポートのうち、選択された伝送路を接続する出力ポートに該入力データパケットを出力し、入力データパケット中の命令情報が自己のプロセッサの処理部で処理可能な命令情報である場合は、自己のプロセッサの処理部に該入力データパケットを出力する。
【0040】
請求項3によれば、各プロセッサの経路選択手段はデータパケット中の命令情報に基づいて、該命令情報の種類に該当する命令体系を処理可能な、すなわち該データパケットを処理可能な他のプロセッサ及び自プロセッサ(処理部)のいずれかに接続された伝送路を選択して、選択された伝送路を介して該データパケットを伝送する。
【0041】
言い換えると、システムの各プロセッサではデータパケット中の命令情報に基づいて、他のプロセッサおよび自プロセッサのうち処理可能なプロセッサに該データパケットを振り分ける。
【0042】
したがって、従来のように各プロセッサへのプロセッサ番号の付与が不要となり、かつデータパケット中のPE番号格納領域が不要となるからシステムに関して回路規模を縮小でき、コストおよび消費電力を低減できる。
【0043】
また、消費電力が低減されるので該システムを内臓するパッケージの放熱対策コストも減少する。またデータパケット中にPE番号格納領域が不要となることでデータパケットのデータ幅を縮小できて、システムにおけるデータパケットのための端子数は減少して不要な輻射も低減する。
【0044】
また請求項3に記載のデータ駆動型情報処理システムは、データパケットを演算処理可能か否かの判断が各プロセッサ内で個別に行なわれるので、各プロセッサの処理部(処理可能な命令体系)の相違に従いプロセッサの配置構成(レイアウト)を異ならせることができる。それゆえに、プロセッサの規則的な配置が困難な場合には該システムの適用は有効である。
【0045】
請求項4に記載のデータ駆動型情報処理システムは請求項3に記載のデータ駆動型情報処理システムにおいて以下の特徴を有する。
【0046】
経路選択手段は、システムの外部と伝送路により接続される出力ポートをさらに有し、入力したデータパケット中の命令情報が自己のプロセッサ及び他の全てのプロセッサのいずれでも処理できない命令情報である場合は、システムの外部と伝送路により接続される出力ポートに該入力データパケットを出力する。
【0047】
請求項4に記載のデータ駆動型情報処理システムによれば経路選択手段はシステム外部と接続される伝送路をさらに有するので、データパケットを、その命令情報に基づいて該データパケットを処理できるシステム内部の自プロセッサ(処理部)を含むいずれかのプロセッサおよびシステム外部のプロセッサに選択的に供給することができる。
【0048】
【発明の実施の形態】
以下、この発明の実施の形態1と2について図面を参照し説明する。
【0049】
(実施の形態1)
図1は、この発明の実施の形態1による複数のデータ駆動型情報処理装置を含むシステムの構成を示す図である。図2は、この発明の実施の形態1によるデータ駆動型情報処理装置のブロック構成図である。図1の各データ駆動型情報処理装置中の各ブロックは図2中の対応するブロックの符号を用いて略して示される。
【0050】
図3は図1の分岐部の詳細構成図である。図4は、図3の分岐判定部のブロック構成図である。図5(A)〜(C)は、図2のデータ駆動型情報処理装置において処理されるデータパケットのフィールド構成を示す図である。
【0051】
図1のシステムは図2の構成を有するデータ駆動型情報処理装置(以下、プロセッサと略す)PEA、PEBおよびPECと、入力および出力ポートINおよびOUTと、ポートINから入力したデータパケット中の命令コードを参照して、該データパケットを処理できるプロセッサに該入力データパケットを出力する分岐部101と、分岐部101ならびにプロセッサPEA、PEBおよびPECからの出力データパケットを入力して順次出力ポートOUTを介して外部に出力する合流部102とを含む。
【0052】
図5(A)のデータパケットPAは、ノード番号51、左右データフラグ52、命令コード53、世代番号54および第1オペランド55を含む。図5(B)のデータパケットPBはデータパケットPAの内容に加え第2オペランド56を含む。図5(C)のデータパケットPCはノード番号51、世代番号54および第1オペランド55を含む。
【0053】
図2においてデータ駆動型プロセッサPEは合流部31〜33、対データ検出部34、演算処理部35、プログラム記憶部36、分岐部37および内部バッファ38を含む。合流部31〜33は同様な機能を有し、対応の入力ポートまたは内部バッファ38から入力したデータパケットPAを入力し、順次出力する。
【0054】
演算処理部35に関してはプロセッサPEA、PEBおよびPECについて演算処理部35A、演算処理部35Bおよび演算処理部35Cのそれぞれが設けられ、同様に分岐部37に関しては分岐部37A、分岐部37Bおよび分岐部37Cのそれぞれが設けられる。
【0055】
また、プロセッサPEAは入力ポートIB、ICおよびIIならびに出力ポートOB、OCおよびOOを含む。同様にプロセッサPEBは入力ポートIA、ICおよびIIならびに出力ポートOA、OCおよびOOを含む。。同様にプロセッサPECは入力ポートIA、IBおよびIIならびに出力ポートOA、OBおよびOOを含む。
【0056】
対データ検出部34は、2項演算命令に対し、データパケットPAの待ち合わせを行なう。つまり、ノード番号51と世代番号54が等しい2つのデータパケットPA同士を待ち合わせ、待ち合わせができた時点で2つのデータパケットPAを1つのデータパケットPBにして演算処理部35に出力する。この際2つのデータパケットPAそれぞれの第1オペランド55がデータパケットPBの第1オペランド55および第2オペランド56のいずれにセットされるかは、データパケットPAが有する左右データフラグ52の値によって決定される。
【0057】
演算処理部35は、演算処理回路を有する。本実施形態ではこの演算処理回路は命令体系ごとに設けられて、異なる命令体系の演算処理回路ごとに演算処理部35A、35Bおよび35Cのそれぞれが設けられる。
【0058】
ここでは、命令体系とは、命令コード53の少なくとも1つ以上の種類からなるものを示す。
【0059】
演算処理部35Aには演算処理回路として乗除演算処理回路が、演算処理部35Bには同様に減算および平方根演算処理回路が、演算処理部35Cには同様に加算およびNOP(データパケットをコピーする処理)演算処理回路がそれぞれ使用される。
【0060】
演算処理部35では、入力データパケットPB中の命令コード53に従い、該入力データパケットPB中の第1または第2オペランド55または56に対して演算処理回路を用いた演算が施され、その演算結果が第1オペランド55として設定されたデータパケットPCがプログラム記憶部36に出力される。
【0061】
図6は、図2のプログラム記憶部36の記憶内容例を示す図である。プログラム記憶部36には複数のノード番号、複数の命令コードおよび複数の左右データフラグからなるデータフロープログラムが予め記憶される。
【0062】
プログラム記憶部36では、入力データパケットPCのノード番号51に基づくアドレス指定により、データフロープログラムから次位のノード番号、命令コードおよび左右データフラグが読出される。読出されたノード番号は入力データパケットPCのノード番号51としてセットされる。その後データパケットPCには読出された命令コードおよび左右データフラグが付加されて、データパケットPAとして分岐部37に出力される。
【0063】
分岐部37は第1ないし第4の出力ポートを有する。第1の出力ポートはポートOOであり、図1の合流部102に接続される。第2の出力ポートはプロセッサPECまたはプロセッサPEBに接続されるポートOCまたはポートOBである。第3の出力ポートはプロセッサPEBまたはPEAに接続されるポートOBまたはOAである。第4の出力ポートは内部バッファ38に接続される。
【0064】
分岐部37は入力データパケットPAの命令コード53を参照して、プロセッサPEAで処理可能な命令コードと判別すれば、該入力データパケットPAをプロセッサPEAに出力するように、プロセッサPEBで処理可能な命令コードと判別すれば、該入力パケットPAをプロセッサPEBに出力するように、プロセッサPECで処理可能な命令コードと判別すれば、該入力パケットPAをプロセッサPECへ出力するように、これ以外の命令コードと判別すれば、該入力パケットPAを合流部102に出力するように動作する。
【0065】
なお、分岐部37の構成と動作は後述される分岐部101のそれと同様なので説明は省略される。
【0066】
合流部31は2つの入力ポートを有する。1方入力ポートは図1の分岐部101からデータパケットPAを入力するためのポートIIである。他方入力ポートはデータ駆動型プロセッサPECまたはPEBから出力されたデータパケットPAを入力するためのポートICまたはポートIBである。
【0067】
合流部32は2つの入力ポートを有する。一方の入力ポートは内部バッファ38からのデータパケットPAを入力するためのポートである。他方の入力ポートはデータ駆動型プロセッサPEBまたはPEAから出力されたデータパケットPAを入力するためのポートIBまたはIAである。
【0068】
図1において、各ブロック間の信号の流れを示す実線の矢印は、後述の図3に示されるようにデータ伝送路と転送制御素子間の制御線とを示す。
【0069】
分岐部101は該システムの入力ポートINを介してデータパケットPAを入力し、該入力データパケットPA中の命令コード53を参照して、該命令コード53が演算処理部35Aで処理可能なコードであれば該入力データパケットをデータ駆動型プロセッサPEAに出力し、同様に演算処理部35Bで処理可能なコードであれば該入力データパケットをデータ駆動型プロセッサPEBへ出力し、同様に演算処理部35Cで処理可能なコードであれば該入力データパケットPAをデータ駆動型プロセッサPECへ出力し、これら以外の命令コードであれば、該入力データパケットPAを直接に合流部102へ出力する。
【0070】
図3を参照して分岐部101の動作について説明する。図3では分岐部101の構成が、ポートINの出力部側、プロセッサPEA、PEBおよびPECのポートIIに接続される合流部31側ならびに合流部102の入力側の関連部分とともに示される。
【0071】
図3を参照して、入力ポートINの出力部側は、データパケットを伝送するためのパイプラインを構成するデータ伝送路1011および1012ならびにデータラッチ回路1003を含むとともにデータラッチ回路1003によるデータパケットのラッチのタイミングを制御するための転送制御素子1001を含む。
【0072】
プロセッサPEA、PEBおよびPECそれぞれの合流部31側は、データ伝送路1013を介して与えられるデータパケットを入力してラッチし、合流部33に接続されるデータ伝送路100A3、100B3および100C3のそれぞれへ出力するデータラッチ回路100A2、100B2および100C2と、対応のデータラッチ回路のラッチのタイミングを制御するための転送制御素子100A1、100B1および100C1のそれぞれとを含む。合流部102の入力側はデータ伝送路1013を介して与えられるデータパケットを入力してラッチし、出力ポートOUTに接続されるデータ伝送路1023へ出力するデータラッチ回路1022と、回路1022のラッチタイミングを制御するための転送制御素子1021を含む。
【0073】
分岐部101は、データパケットを伝送するためのパイプラインを構成するデータ伝送路1012および1013、ならびにデータラッチ回路1004を含むと共にデータラッチ回路1004によるラッチのタイミングを制御するための転送制御素子1002、分岐判定部1005、インバータ1006、AND回路1007、NAND回路1008、1009、1010および1011を含む。
【0074】
データラッチ回路1004の出力側のデータ伝送路1013は4方向に分岐されて各分岐先は、プロセッサPEA、PEB、PECおよび合流部102の入力側のデータラッチ回路100A2、100B2、100C2および1022のそれぞれの入力段に接続される。
【0075】
転送制御素子1001、1002、100A1、100B1、100C1および1021のそれぞれは、対応のデータラッチ回路によるデータパケットのラッチのタイミングを制御するためのクロックパルスを生成し、対応のデータラッチ回路に与える。
【0076】
転送制御素子1001、1002、100A1、100B1、100C1および1021のそれぞれは、データ保持信号の入力端子CIと、データ保持信号の出力端子COと、空き信号の入力端子RIと、空き信号の出力端子ROと、前述したクロックパルス出力の端子CPとを有する。各転送制御素子は、データ保持信号および空き信号を前段および後段の転送制御素子と交信することにより、伝送路を介したデータパケットの伝送を制御する。
【0077】
分岐判定部1005は図4に示されるように乗または除演算コードをデコードする命令コードデコード回路90、減算または平方根演算コードをデコードする命令コードデコード回路91、加算またはNOP演算コードをデコードする命令コードデコード回路92およびその他の演算コードをデコードする命令コードデコード回路93を含む。
【0078】
動作において命令コードデコード回路90〜93のそれぞれは入力ポートINのデータラッチ回路1003を介して与えられるデータ伝送路1012上のデータパケット内の命令コード53を並行して入力して(参照して)、該命令コード53に基づいて出力信号BA、BB、BCおよびBOのレベルを決定してデータラッチ回路1004に出力する。具体的には、分岐判定部1005は該命令コード53がプロセッサPEAの演算処理部35Aで処理可能な乗または除演算コードを示せば、信号BA=1、信号BB=BC=BO=0となるように設定し、同様にプロセッサPEBの演算処理部35Bで処理可能な減算または平方根演算コードであれば出力信号BB=1、出力信号BA=BC=BO=0となるよう設定し、同様にプロセッサPECの演算処理部35Cで処理可能な加算またはNOP演算コードであれば出力信号BC=1、出力信号BA=BB=BO=0となるよう設定して,同様にいずれのプロセッサの演算処理部でも処理できない演算コードであれば出力信号BO=1,出力信号BA=BB=BC=0となるように設定してデータラッチ回路1004の入力側に出力する。
【0079】
インバータ1006は入力側が転送制御素子1002の出力端子COに接続される。
【0080】
NAND回路1008は一方入力側がインバータ1006の出力側に接続され他方入力側はデータラッチ回路1004を介してラッチされた分岐判定部1005の出力信号BAに一致する信号BA1が与えられる。
【0081】
NAND回路1009は一方入力側がインバータ1006の出力側に接続され、他方入力側はデータラッチ回路1004を介してラッチされた分岐判定部1005の出力信号BBに一致する信号BB1が与えられる。
【0082】
NAND回路1010は、一方入力側がインバータ1006の出力側に接続され他方入力側にデータラッチ回路1004を介してラッチされた分岐判定部1005の出力信号BCに一致する信号BC1が与えられる。
【0083】
NAND回路1011は、一方入力側がインバータ1006の出力側に接続され他方入力側にデータラッチ回路1004を介してラッチされた分岐判定部1005の出力信号BOに一致する信号BO1が与えられる。
【0084】
AND回路1007は、入力側が転送制御素子100A1、100B1、100C1および1021の空き信号ROの出力端子に接続され、出力側が転送制御素子1002の入力端子RIに接続される。
【0085】
NAND回路1008の出力側は転送制御素子100A1の入力端子CIに接続され、NAND回路1009の出力側は転送制御素子100B1の入力端子CIに接続され、NAND回路1010の出力側は転送制御素子100C1の入力端子CIに接続され、NAND回路1011の出力側は転送制御素子1021の入力端子CIに接続される。
【0086】
図7(A)〜(T)は、図3に示される分岐部の動作を説明したタイミングチャートである。図3の分岐部101の動作についてこのタイミングチャートを参照し説明する。
【0087】
図7(A)〜(T)ではデータラッチ回路1004および100A2のデータパケットの出力状態、分岐判定部1005の出力信号BA1、BB1,BC1およびBO1、ならびに転送制御素子1002、100A1、100B1,100C1および1021のそれぞれについて入出力端子の信号レベルが示される。
【0088】
まず、転送制御素子1001、1002、100A1、100B1、100C1および1021の出力端子ROおよびCOから出力される空き信号およびデータ保持信号はいずれもハイレベルであると想定する。この場合、転送制御素子1001および1002の入力端子RIに与えられる空き信号はハイレベルとなる。このように、後段からの空き信号がハイレベルとなっている場合、後段では前段からのデータパケットを受理することが可能であることを示す。逆に、後段から入力した空き信号がローレベルであれば、後段ではデータパケットを受理する準備ができていないのでデータパケットを受理不可能であることを示す。
【0089】
転送制御素子1002の端子ROの空き信号がハイレベルで、かつデータラッチ回路1003にデータパケットがラッチされた状況であり、次段のデータラッチ回路1004へのデータパケット転送準備が整った場合、転送制御素子1002の入力端子CIに前段から与えられるデータ保持信号がデータパケットがデータラッチ回路1004に入力したことを示すローレベルに立下がる。これにより転送制御素子1002は出力端子ROを介して前段の転送制御素子に与える空き信号をローレベルに立下げる。
【0090】
前段の転送制御素子1001は入力端子RIに転送制御素子1002から与えられる空き信号がローレベルとなったことに応答して、出力端子COを介して出力されるデータ保持信号をハイレベルに立上げる。この時、転送制御素子1002は、入力端子CIに与えられるデータ保持信号がハイレベルに立上がったことに応答して、対応のデータラッチ回路1004に対して端子CPから出力されるクロックパルスを立上げるとともに、出力端子ROから出力される空き信号をハイレベルに立上げる。
【0091】
データラッチ回路1004は対応の転送制御素子1002の端子CPから与えられるクロックパルスが立上がったことに応答して、データラッチ回路1003の出力データパケットおよび分岐判定部1005の出力信号BA、BB、BCおよびBOをラッチする。
【0092】
ここで、入力ポートINから分岐部101に与えられたデータパケット内の命令コード53が乗または除演算コードである場合を想定すると、分岐判定部1005の出力信号BA=1(ハイレベル)、かつ出力信号BB、BCおよびBOはローレベル(0)となる。
【0093】
さらに、転送制御素子1002は端子CPから出力されるラッチパルスの立上がりに応答して端子COから出力されるデータ保持信号をローレベルに立下げるので、インバータ1006の出力はローレベルからハイレベルに立上がる。また、データラッチ回路1004にラッチされた分岐判定部1005の出力信号BA1はハイレベルであるため、NAND回路1008の出力はハイレベルからローレベルに立下がる。
【0094】
転送制御素子100A1は入力端子CIに与えられるデータ保持信号(NAND回路1008の出力信号)はローレベルとなったことに応答して、出力端子ROから出力する空き信号をハイレベルからローレベルに立下げる。
【0095】
一方、データラッチ回路1004にラッチされた分岐判定部1005の出力信号BB1,BC1およびBO1はローレベルであるため、NAND回路1009、1010および1011の出力信号(転送制御素子100B1の入力端子CIに入力されるデータ保持信号、転送制御素子100C1の入力端子CIに与えられるデータ保持信号および転送制御素子1021の入力端子CIに与えられるデータ保持信号)は、インバータ1006の出力信号にかかわらず常にハイレベルであるから転送制御素子100B1、100C1および1021は動作せず、その出力端子ROから出力される空き信号ROはハイレベルのままとなる。
【0096】
AND回路1007の出力信号は、転送制御素子100A1の出力端子ROから出力される空き信号がローレベルとなったことに応答してローレベルとなる。この時、転送制御素子1002は、入力端子RIに与えられる空き信号がローレベルとなったことに応答して端子CPから出力されるラッチパルスをローレベルに立下げるとともに出力端子COから出力されるデータ保持信号をローレベルからハイレベルに立上げる。これにより転送制御素子100A1では入力端子CIに与えられるデータ保持信号がハイレベルとなるので、端子CPからデータラッチ回路100A2へ出力されるクロックパルスが立上がる。したがって、データラッチ回路1004内のデータパケットはデータラッチ回路100A2にラッチされて、転送制御素子100A1では端子ROから出力される空き信号が再びハイレベルに立上がって転送制御素子1002の入力端子RIに与えられる空き信号もハイレベルに立上がる。このとき、転送制御素子100B1、100C1および1021は動作しない。
【0097】
上述したような信号BA=1ならびに信号BB=BC=BO=0の場合、分岐部101でデータラッチ回路1004にラッチされたデータはプロセッサPEA向けのデータラッチ回路100A2のみにラッチされ、プロセッサPEB,PECおよび合流部102向けのデータラッチ回路100B2、10C2および1022にはラッチされない。
【0098】
このように分岐判定部1005の出力信号BA,BB,BCおよびBOの値に
応じて、データラッチ回路1004のデータはプロセッサPEA,PEB,PECおよび合流部102のデータラッチ回路100A2,100B2,100C2および1022のいずれか1つにのみラッチされ、他のデータラッチ回路にはラッチされない。
【0099】
したがって、分岐部101に入力されるデータパケット中の命令コード53の分岐判定部1005による判定結果により、分岐部101が該入力データパケットをプロセッサPEA、PEB、PECおよび合流部102のいずれか1つに選択的に出力するこが可能となる。なお、分岐部101では、データパケットの構成は変化しない。
【0100】
図1では分岐部101の分岐数が4の場合を示しているが、分岐数は該システムで処理可能な命令体系の数に基づいて決定されればよくその数は任意である。
【0101】
分岐部101からプロセッサPEA、PEBおよびPECのそれぞれに送られたデータパケットの内容は、それぞれのプロセッサで演算処理が行なわれ、プログラム記憶部36の命令フェッチにより命令コードが更新されて、更新された命令コードに従って分岐部37において自己のプロセッサ(内部バッファ38)、他のプロセッサおよび合流部102のいずれかに出力される。
【0102】
図8は、図1のシステムで実行されるデータフローグラフ(データフロープログラム)の一例を示す図である。ここで、図1のシステムにおいて図8のデータフローグラフが実行される場合を例にしてシステムの動作を説明する。
【0103】
図8において各ノードには命令コード53に相当する演算コードNOP、×、−、√、+および/などがそれぞれ割当てられるとともに、ノード番号♯i(i=1、2、…、14)が割当てられる。また、各ノードにおいて入力される矢印は演算処理される入力データを示し、出力される矢印は演算結果である出力データを示す。
【0104】
図1においてプロセッサPEAの演算処理部35Aには乗除演算コード、すなわち図8のデータフローグラフ上のノード番号♯2、♯6、♯7、♯8、♯13および♯14の各ノードに割当てられた演算コードを処理する演算処理回路が含まれる。プロセッサPEBの演算処理部35Bには減算および平方根演算コード、すなわち図8のデータフローグラフ上のノード番号♯4、♯9、♯10および♯12の各ノードに割当てられた演算コードを処理する演算処理回路が含まれる。プロセッサPECの演算処理部35Cには加算およびNOP演算コード、すなわち図8のデータフローグラフ上のノード番号♯1、♯3、♯5および♯11の各ノードに割当てられた演算コードを処理する演算処理回路が含まれる。
【0105】
まず入力ポートINから入力されたデータパケットPAは、ノード番号51には「♯2」が、命令コード53には「4を乗ずることを示す値」 が、左右データフラグ52には「左データであることを示す値」が、第1オペランド55には「データcの値」が、世代番号54には「 任意の値」 がそれぞれ設定されているとする。
【0106】
このデータパケットPAは、分岐部101において命令コード53の値が「乗または除演算コード」であると判断されて、プロセッサPEAに出力される。
【0107】
プロセッサPEAでは、ノード番号♯2の演算が演算処理部35Aで処理されてその結果を格納したデータパケットはプログラム記憶部36に与えられる。プログラム記憶部36では該データパケットを用いて命令フェッチが行なわれて次位のノード番号♯6および命令コード(x)が読出される。これにより、分岐部37では次位の命令コードは乗除演算コードに該当すると判断されて、該データパケットは内部バッファ38に与えられる。
【0108】
プロセッサPEAでノード番号♯6の演算が演算処理部35Aで処理されて、その結果を格納したデータパケットはプログラム記憶部36における命令フェッチにより次位のノード番号♯9および命令コード(−)が格納されて、分岐部37に出力される。分岐部37では該データパケットの命令コードは減算および平方根演算コードに該当すると判定されて、該データパケットは分岐部37Aの出力ポートOBを介してプロセッサPEBに出力される。
【0109】
以降、上述と同様にして、処理されるデータパケットが各プロセッサ間を行き来して、図7に示されるデータフローグラフが実行され、かつ第1オペランド55としてデータaおよびデータcの値をそれぞれ格納したデータパケットPAのそれぞれについても同様の処理が実行されることにより、結果として図8に示されるような解(ans1およびans2)が得られる。
【0110】
(実施の形態2)
図9は、この発明の実施の形態2による複数のデータ駆動型情報処理装置を含むシステムの構成図である。図9では後述する図10〜図12中の対応する同一部分が同一符号のみを用いて示される。
【0111】
図9に示されたシステムと図1に示されたシステムとの基本的な相違は、各プロセッサのブロック構成、それに伴うデータパケットの伝送経路であって基本的な情報処理形態は同様であるから、以降、詳細な記述を適宜省略する。
【0112】
図9のシステムにおいて入力ポートINから与えられるデータパケットは図5(A)のデータパケットPAのフィールド構成を有する。また、図9のシステムは入力ポートIN、出力ポートOUTおよびデータ駆動型プロセッサPEAA、PEBBおよびPECCを含む。
【0113】
図10〜12は、この発明の実施の形態2によるデータ駆動型情報処理装置の第1〜第3のブロック構成図である。図10〜12のデータ駆動型プロセッサPEAA、PEBBおよびPECCの分岐部および合流部を除く他の部分、すなわち情報処理部分の構成は図1のデータ駆動型プロセッサPEA、PEBおよびPECそれぞれの情報処理部分と同じなので詳細説明は省略される。図10〜12のプロセッサにおいて各合流部はデータパケットを入力して順次出力するものである。また図10〜12中で示される分岐部のそれぞれは、分岐数と分岐判定部1005の命令コードデコード回路90〜93のゲートレベルでの構成を除いては基本的には図3で示された分岐部101の構成と同じであるから説明は省略される。
【0114】
図10中のデータ駆動型プロセッサPEAAにおいて分岐部40はポートINから入力されたデータパケットPAを、その命令コード53を参照して、演算処理部35Aで処理可能と判別されれば合流部41へ、プロセッサPEBB内の演算処理部35Bで処理可能と判別されれば出力ポートOBに接続された合流部43へ、プロセッサPECC内の演算処理部35Cで処理可能と判別されれば出力ポートOCに接続された合流部44へそれぞれ出力する。
【0115】
以降、プロセッサPEAA内の合流部41に入力されたデータパケットは、次段の合流部33→対データ検出部34→演算処理部35A→プログラム記憶部36→分岐部39Aの経路を流れることにより、データフローグラフの1ノード分の処理が完了する。そして図1に示される分岐部101と同様にして分岐部39Aに入力されたデータパケットは、図1に示される分岐部101と同様にしてプログラム記憶部36の命令フェッチで更新された命令コード53に基づいて以下のように処理される。つまり、該命令コード53がプロセッサPEAA内の演算処理部35Aで処理可能と判別された場合は該入力データパケットは内部バッファ38へ出力され、同様にしてプロセッサPEBB内の演算処理部35Bで処理可能と判別された場合は出力ポートOBに接続された合流部43を経由して分岐部40からのデータパケットとともにプロセッサPEBBのポートIAに出力され、同様にしてプロセッサPECC内の演算処理部35Cで処理可能と判別された場合およびポートOUTに出力されるべきと判別された(該命令コードがいずれのプロセッサの処理部でも処理できないと判別された)場合は出力ポートOCに接続された合流部44を経由して分岐部40からのデータパケットとともにプロセッサPECCの入力ポートIAに出力される。
【0116】
データ駆動型プロセッサPEBBの入力ポートIAおよびICに入力したデータパケットは、合流部45で入力順に従い出力されて次段の合流部33→対データ検出部34→演算処理部35B→プログラム記憶部36→分岐部39Bの経路を流れる。これにより、データフローグラフの1ノード分の処理が完了する。
【0117】
つぎに、分岐部39Bにて入力データパケットは、その中のプログラム記憶部36で更新された命令コード53に基づいて以下のように処理される。つまり命令コード53がプロセッサPEBB内の演算処理部35Bで処理可能と判別されると該入力データパケットは内部バッファ38に出力され、同様にしてプロセッサPEAA内の演算処理部35Aで処理可能と判別されると分岐部39Bを経由して出力ポートOAに出力され、同様にしてプロセッサPECC内の演算処理部35Cで処理可能と判別されると分岐部39Bを経由して出力ポートOCに出力される。
【0118】
プロセッサPECCのポートIAおよびIBに入力したデータパケットは、分岐部48および47にて該データパケット中の命令コード53に基づいて以下のように処理される。つまり、該命令コード53が演算処理部35Cで処理可能と判別されなければ合流部49を経由して出力ポートOUT(ポートOO)に出力される。同様にして演算処理部35Cで処理可能と判別された場合には合流部50に出力される。
【0119】
以降、プロセッサPECC内の合流部50に出力されたデータパケットは、次段の合流部33→対データ検出部34→演算処理部35C→プログラム記憶部36→分岐部39Cの経路で流れる。これにより、データフローグラフの1ノード分の処理が完了する。そして分岐部39Cにて、プログラム記憶部36における命令フェッチで更新されたデータパケット中の命令コード53に基づいて以下のように処理される。つまり該命令コード53がプロセッサPECC内の演算処理部35Cで処理可能と判別されると該データパケットは内部バッファ38に出力され、同様にしてプロセッサPEAA内の演算処理部35Aで処理可能と判別さされると出力ポートOAに出力され、同様にしてプロセッサPEBB内の演算処理部35Bで処理可能と判別されると出力ポートOBに出力され、同様にしていずれの演算処理部でも演算不可能と判別されると合流部51を経由して合流部49からのデータパケットとともに出力ポートOUT(出力ポートOO)に出力される。
【0120】
図9および図12に示される構成を用いて、図8のデータフローグラフ(データフロープログラム)を実行する場合を例にして動作を説明する。
【0121】
なお演算処理部35Aには乗除演算を、すなわち図8のデータフローグラフ上のノード番号♯2、♯6、♯7、♯8、♯13および♯14の命令コードを処理する演算処理回路が、演算処理部35Bには減算および平方根演算を、すなわち図8のデータフローグラフ上のノード番号♯4、♯9、♯10および♯12の命令コードを処理する演算処理回路が、演算処理部35Cには加算およびNOP演算を、すなわち図8のデータフローグラフ上のノード番号♯1、♯3、♯5および♯11のノードの命令コードを処理する演算処理回路がそれぞれ割当てられている。その場合、データパケットは次のように処理される。
【0122】
まず、入力ポートINから入力されたデータパケットPAは、ノード番号51には「♯2」が、命令コード53には「4を乗ずることを示す値」が、左右データフラグ52には「左データであることを示す値」が、第1オペランド55には「データcの値」が、および世代番号54には任意の値がそれぞれ設定されている。
【0123】
このデータパケットPAはデータ駆動型プロセッサPEAA内の分岐部40にて、命令コード53に基づいて、「乗除演算」を対象とするデータパケットと判定され、該プロセッサ内の合流部41に出力され、次段の合流部33→対データ検出部22→演算処理部35A→プログラム記憶部36→分岐部39Aの経路を流れて、データフローグラフの1ノード分の処理が完了する。これによりノード番号♯2のノードに割当てられた命令コードが処理されて、プログラム記憶部36で命令フェッチが行なわれてデータパケットには次位のノード番号♯6が格納される。ノード番号♯6のノードの命令コードは乗除演算を示すので、分岐部39Aにおいて該データパケットはプロセッサPEAAの外部には出力されず、内部バッファ38に与えられる。
【0124】
プロセッサPEAAで、次にノード番号♯6ノードの演算が処理されて、プログラム記憶部36で命令フェッチが行なわれて次位のノード番号♯9を格納したデータパケットが得られる。該データパケット中の命令コード53が減算演算を示すので、該データパケット分岐部39Aにより合流部43を介して出力ポートOBからプロセッサPEBBへ出力される。
【0125】
以降、上述と同様にして処理されるデータパケットが各プロセッサ間を行き来しながらデータフローグラフが実行され、かつ第1オペランド55としてデータaの値およびデータbの値をそれぞれ格納したデータパケットPAについても同様に処理が実行されることにより、図8に示されるように解(ans1およびans2)が得られる。
【0126】
上述の実施の形態1または2によれば、システム内のデータ駆動型プロセッサのそれぞれにおいて処理可能な命令体系を異ならせるようにしてデータパケットは命令コードに基づいて該データパケットを処理できるプロセッサへ与えられるように伝送路が選択されるように構成される。したがって、従来のように各プロセッサへのプロセッサ番号の付与が不要となり、かつデータパケット中のPE番号格納領域が不要となるからシステムに関して回路規模を縮小でき、コストおよび消費電力を低減できる。
【0127】
また、消費電力が低減されるので該システムを内蔵するパッケージの放熱対策コストも減少する。またデータパケット中にPE番号格納領域が不要となることでデータパケットのデータ幅を縮小できて、システムにおけるデータパケットのための端子数は減少して不要な輻射も低減する。
【0128】
また実施の形態1のシステムでは分岐部と合流部が複数のプロセッサの外部(システムの入出力段)に配置されるので、システム構成時に各プロセッサの演算処理部の相違を考慮しなくともプロセッサを規則的に配置できる。それゆえに、該システムはプロセッサの規則的な配置構成(レイアウト)が必要とされる場合の適用に有効である。
【0129】
また実施の形態2のシステムは、データパケットを演算処理可能か否かの判断が各プロセッサ内で個別に行なわれるので、各プロセッサの演算処理部の相違に従いプロセッサの配置構成(レイアウト)を異ならせることができる。それゆえに、プロセッサの規則的な配置が困難な場合には該システムの適用は有効である。
【0130】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【図1】この発明の実施の形態1による複数のデータ駆動型情報処理装置を含むシステムの構成を示す図である。
【図2】この発明の実施の形態1によるデータ駆動型情報処理装置のブロック構成図である。
【図3】図1の分岐部の詳細構成図である。
【図4】図3の分岐判定部のブロック構成図である。
【図5】(A)〜(C)は、図2のデータ駆動型情報処理装置において処理されるデータパケットのフィールド構成を示す図である。
【図6】図2のプログラム記憶部の記憶内容例を示す図である。
【図7】(A)〜(T)は図3の分岐部の動作を説明したタイミングチャートである。
【図8】図1のシステムで実行されるデータフローグラフ(データフロープログラム)の一例を示す図である。
【図9】この発明の実施の形態2による複数のデータ駆動型情報処理装置を含むシステムの構成図である。
【図10】この発明の実施の形態2によるデータ駆動型情報処理装置の第1のブロック構成を示す図である。
【図11】この発明の実施の形態2によるデータ駆動型情報処理装置の第2のブロック構成を示す図である。
【図12】この発明の実施の形態2によるデータ駆動型情報処理装置の第3のブロック構成を示す図である。
【図13】従来のデータ駆動型プロセッサのブロック構成図である。
【図14】(A)〜(C)は、図13のプロセッサにおいて処理されるデータパケットのフィールド構成を説明するための図である。
【図15】図13のプログラム記憶部の記憶内容の一例を示す図である。
【図16】図13のデータ駆動型プロセッサを複数個含むシステムの構成図である。
【符号の説明】
PE1、PE、PEA、PEB、PEC、PEAA、PEBBおよびPECCデータ駆動型プロセッサ
37、37A〜37C、39A〜39C、40、46、47、48および101 分岐部
1005 分岐判定部
なお、各図中同一符号は同一または相当部分を示す。
Claims (4)
- 複数のデータ駆動型プロセッサ(以下、プロセッサと略す)が、命令情報を少なくとも格納したデータパケットが伝送される伝送路を用いて相互に通信接続されるデータ駆動型情報処理システムにおいて、
前記複数プロセッサの各々は、前記命令情報の少なくとも1つ以上の種類からなる異なる命令体系を処理可能であり、
前記データ駆動型情報処理システムは、
該システムの入力段に設けられて、前記複数プロセッサの各々と前記伝送路を介して接続される第1経路選択手段を有し、
前記第1経路選択手段は、
与えられる前記データパケットを入力して、該入力データパケット中の前記命令情報に基づいて、該命令情報の種類に該当する前記命令体系を処理可能な前記プロセッサに接続された前記伝送路を接続される複数の前記伝送路から選択して、選択された前記伝送路に該入力データパケットを出力し、
前記複数プロセッサの各々は、
該プロセッサの出力段に設けられた第2経路選択手段と、
与えられる前記データパケットを入力して該入力データパケットを用いて前記命令情報に基づく演算を含んだ情報処理をして、前記情報処理により得られた前記データパケットを出力する処理部と、
複数の命令情報を含むデータフロープログラムを記憶しており、前記処理部から出力された前記データパケットを入力して、入力した前記データパケットの内容に基づき次位の命令情報を読み出し、読み出した前記次位の命令情報を新たな命令情報としてデータパケットに格納して前記第2経路選択手段に出力するプログラム記憶部と、
他の全てのプロセッサのそれぞれに対応の入力ポートを有すると共に、自己のプロセッサの前記第2経路選択手段にも接続されていて、前記入力ポートに与えられる前記データパケット及び自己のプロセッサの前記第2経路選択手段から与えられる前記データパケットを入力して前記処理部に出力する合流部とを有し、
前記第2経路選択手段は、
他の全てのプロセッサのそれぞれに対応し、且つ対応のプロセッサの前記合流部の自己のプロセッサに対応の前記入力ポートと前記伝送路により接続された出力ポートを有すると共に、
自己のプロセッサの前記合流部にも接続されており、
前記プログラム記憶部から出力された前記データパケットを入力して、該入力データパケット中の前記命令情報が他のプロセッサで処理可能な命令情報である場合は、該命令情報の種類に該当する前記命令体系を処理可能な前記プロセッサに接続された前記伝送路を該プロセッサに接続される前記伝送路から選択して、前記出力ポートのうち、選択された前記伝送路を接続する前記出力ポートに該入力データパケットを出力し、入力データパケット中の前記命令情報が自己のプロセッサの前記処理部で処理可能な命令情報である場合は、自己のプロセッサの前記合流部に該入力データパケットを出力することを特徴とする、データ駆動型情報処理システム。 - 前記第1経路選択手段は、
前記システムの外部と前記伝送路により接続される出力ポートをさらに有し、
入力したデータパケット中の前記命令情報が前記複数プロセッサのいずれでも処理できない命令情報である場合は、前記システムの外部と前記伝送路により接続される前記出力ポートにデータパケットを出力し、
前記第2経路選択手段は、
前記システムの外部と前記伝送路により接続される出力ポートをさらに有し、
前記プログラム記憶部から与えられるデータパケット中の命令情報が自己のプロセッサ及び他の全てのプロセッサのいずれでも処理できない命令情報である場合は、前記システムの外部と前記伝送路により接続される前記出力ポートにデータパケットを出力することを特徴とする、請求項1に記載のデータ駆動型情報処理システム。 - 複数のデータ駆動型プロセッサ(以下、プロセッサと略す)が、命令情報を少なくとも格納したデータパケットが伝送される伝送路を用いて相互に通信接続されるデータ駆動型情報処理システムにおいて、
前記複数プロセッサの各々は、前記命令情報の少なくとも1つ以上の種類からなる異なる命令体系を演算処理可能であり、
前記プロセッサの外部から前記データパケットが与えられる経路選択手段と、
前記経路選択手段と接続され、前記経路選択手段から与えられる前記データパケットを入力して該入力データパケットを用いて前記命令情報に基づく前記演算処理を含んだ情報処理をして、該情報処理により得られた前記データパケットを出力する処理部と、
複数の命令情報を含むデータフロープログラムを記憶しており、前記処理部から出力されたデータパケットを入力して、入力したデータパケットの内容に基づき次位の命令情報を読み出し、読み出した前記次位の命令情報を新たな命令情報としてデータパケットに格納して前記経路選択手段に出力するプログラム記憶部とを有し、
前記経路選択手段は、
他の全てのプロセッサのそれぞれに対応し、且つ与えられる前記データパケットを出力する出力ポートと、他の全てのプロセッサのそれぞれに対応し、且つ対応のプロセッサの自己のプロセッサに対応の前記出力ポートと前記伝送路により接続された入力ポートと、を有し、
前記入力ポートに与えられるデータパケット及び前記プログラム記憶部から出力されたデータパケットを入力して、該入力データパケット中の前記命令情報が他のプロセッサで処理可能な命令情報である場合は、該命令情報の種類に該当する前記命令体系を処理可能な前記プロセッサに接続された前記伝送路を該プロセッサに接続される前記伝送路から選択して、前記出力ポートのうち、選択された前記伝送路を接続する前記出力ポートに該入力データパケットを出力し、入力データパケット中の前記命令情報が自己のプロセッサの前記処理部で処理可能な命令情報である場合は、自己のプロセッサの前記処理部に該入力データパケットを出力することを特徴とする、データ駆動型情報処理システム。 - 前記経路選択手段は、
前記システムの外部と前記伝送路により接続される出力ポートをさらに有し、
入力したデータパケット中の前記命令情報が自己のプロセッサ及び他の全てのプロセッサのいずれでも処理できない命令情報である場合は、前記システムの外部と前記伝送路により接続される出力ポートに該入力データパケットを出力することを特徴とする、請求項3に記載のデータ駆動型情報処理システム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP00944999A JP3853098B2 (ja) | 1999-01-18 | 1999-01-18 | データ駆動型情報処理システム |
US09/482,881 US6526500B1 (en) | 1999-01-18 | 2000-01-14 | Data driven type information processing system consisting of interconnected data driven type information processing devices |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP00944999A JP3853098B2 (ja) | 1999-01-18 | 1999-01-18 | データ駆動型情報処理システム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000207382A JP2000207382A (ja) | 2000-07-28 |
JP3853098B2 true JP3853098B2 (ja) | 2006-12-06 |
Family
ID=11720610
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP00944999A Expired - Fee Related JP3853098B2 (ja) | 1999-01-18 | 1999-01-18 | データ駆動型情報処理システム |
Country Status (2)
Country | Link |
---|---|
US (1) | US6526500B1 (ja) |
JP (1) | JP3853098B2 (ja) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
NL1013134C2 (nl) * | 1999-09-24 | 2001-03-27 | Dsm Nv | Vlamvertragende thermoplastische samenstelling met verbeterde eigenschappen. |
WO2001075618A2 (en) * | 2000-03-31 | 2001-10-11 | Dataplay, Inc. | Asynchronous input/output interface protocol |
JP3992952B2 (ja) | 2001-09-10 | 2007-10-17 | 株式会社日立製作所 | 記憶制御装置およびその運用方法 |
US6993639B2 (en) * | 2003-04-01 | 2006-01-31 | Hewlett-Packard Development Company, L.P. | Processing instruction addressed by received remote instruction and generating remote instruction to respective output port for another cell |
US9330060B1 (en) * | 2003-04-15 | 2016-05-03 | Nvidia Corporation | Method and device for encoding and decoding video image data |
JP2005108086A (ja) * | 2003-10-01 | 2005-04-21 | Handotai Rikougaku Kenkyu Center:Kk | データ処理装置 |
US7903555B2 (en) * | 2003-12-17 | 2011-03-08 | Intel Corporation | Packet tracing |
WO2011067896A1 (en) | 2009-12-02 | 2011-06-09 | Mush-A Co., Ltd. | Data processing apparatus, data processing system, packet, recording medium, storage device, and data processing method |
EP2738683B1 (en) * | 2011-07-15 | 2018-04-04 | University of Tsukuba | Ultra low power-data driven networking processing device for avoiding overload |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3312039B2 (ja) | 1992-01-08 | 2002-08-05 | シャープ株式会社 | データ駆動型情報処理装置 |
US5577256A (en) | 1992-04-28 | 1996-11-19 | Sharp Kabushiki Kaisha | Data driven type information processor including a combined program memory and memory for queuing operand data |
JPH06124352A (ja) | 1992-10-14 | 1994-05-06 | Sharp Corp | データ駆動型情報処理装置 |
US5586281A (en) | 1992-10-27 | 1996-12-17 | Sharp Kabushiki Kaisha | Data driven type information processing apparatus |
JPH06259583A (ja) | 1993-03-10 | 1994-09-16 | Sharp Corp | データ駆動型プロセッサの接続方法 |
JP3287901B2 (ja) | 1993-03-12 | 2002-06-04 | シャープ株式会社 | データ駆動型情報処理システムにおける識別データ確認方法 |
JP3571367B2 (ja) | 1993-08-11 | 2004-09-29 | シャープ株式会社 | データ駆動型プロセッサ、データ駆動型情報処理装置、およびこのデータ駆動型情報処理装置において、複数個のデータ駆動型プロセッサの経路接続を確認するための方法 |
JP3285430B2 (ja) | 1993-09-02 | 2002-05-27 | シャープ株式会社 | データ駆動型情報処理装置 |
JP3683598B2 (ja) | 1994-03-30 | 2005-08-17 | シャープ株式会社 | データ駆動型情報処理装置 |
JP3706397B2 (ja) | 1994-06-06 | 2005-10-12 | シャープ株式会社 | データ駆動型情報処理装置 |
JP3469645B2 (ja) | 1994-08-31 | 2003-11-25 | シャープ株式会社 | データ駆動型情報処理装置 |
JPH08249306A (ja) | 1995-03-09 | 1996-09-27 | Sharp Corp | データ駆動型情報処理装置 |
JP3581419B2 (ja) | 1995-03-17 | 2004-10-27 | シャープ株式会社 | データ駆動型情報処理装置 |
JP3689143B2 (ja) | 1995-03-31 | 2005-08-31 | シャープ株式会社 | データ駆動型情報処理装置 |
JP3698754B2 (ja) | 1995-04-12 | 2005-09-21 | シャープ株式会社 | データ駆動型情報処理装置 |
JP3442192B2 (ja) | 1995-05-31 | 2003-09-02 | シャープ株式会社 | データ駆動型情報処理装置 |
JP3677315B2 (ja) | 1995-06-01 | 2005-07-27 | シャープ株式会社 | データ駆動型情報処理装置 |
JPH0926949A (ja) | 1995-07-10 | 1997-01-28 | Sharp Corp | データ駆動型情報処理装置 |
FR2737589B1 (fr) * | 1995-07-31 | 1997-09-12 | Suisse Electronique Microtech | Systeme d'organisation et procede de sequencement des circuits d'un microprocesseur |
JP3720094B2 (ja) | 1995-10-18 | 2005-11-24 | シャープ株式会社 | データ駆動型情報処理装置 |
-
1999
- 1999-01-18 JP JP00944999A patent/JP3853098B2/ja not_active Expired - Fee Related
-
2000
- 2000-01-14 US US09/482,881 patent/US6526500B1/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US6526500B1 (en) | 2003-02-25 |
JP2000207382A (ja) | 2000-07-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2750311B2 (ja) | データ処理装置内のデータ・オペレーションの実行を制御する装置及び方法 | |
US7844803B2 (en) | Configurable data processing device with bit reordering on inputs and outputs of configurable logic function blocks | |
US3978452A (en) | System and method for concurrent and pipeline processing employing a data driven network | |
EP0101596B1 (en) | A data processor with parallel-operating operation units | |
KR100464406B1 (ko) | 가변길이 vliw 명령어를 위한 디스패치 장치 및 방법 | |
US6044392A (en) | Method and apparatus for performing rounding in a data processor | |
US20050257030A1 (en) | Programmable logic integrated circuit devices including dedicated processor components and hard-wired functional units | |
JP3853098B2 (ja) | データ駆動型情報処理システム | |
US5577256A (en) | Data driven type information processor including a combined program memory and memory for queuing operand data | |
JPH09114664A (ja) | データ駆動型情報処理装置 | |
US5640525A (en) | Data-driven information processing devices | |
US5941984A (en) | Data processing device | |
US20040158694A1 (en) | Method and apparatus for hazard detection and management in a pipelined digital processor | |
US6516407B1 (en) | Information processor | |
US6760836B2 (en) | Apparatus for issuing an instruction to a suitable issue destination | |
US20020199084A1 (en) | Method and apparatus for dual issue of program instructions to symmetric multifunctional execution units | |
US5367648A (en) | General purpose memory access scheme using register-indirect mode | |
US6301651B1 (en) | Method and apparatus for folding a plurality of instructions | |
US6823443B2 (en) | Data driven type apparatus and method with router operating at a different transfer rate than system to attain higher throughput | |
US5440704A (en) | Data processor having branch predicting function | |
EP0496407A2 (en) | Parallel pipelined instruction processing system for very long instruction word | |
JP3841967B2 (ja) | マイクロプロセッサ | |
US6104731A (en) | Method and apparatus for data forwarding in a processor having a dual banked register set | |
US6304958B1 (en) | Microcomputer having data execution units mounted thereon | |
JP2001297074A (ja) | データ駆動型情報処理装置の実行制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050215 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050418 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060516 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060712 |
|
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: 20060829 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060905 |
|
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: 20090915 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100915 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110915 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |