JP3907385B2 - データ駆動型情報処理装置およびその実行制御方法 - Google Patents
データ駆動型情報処理装置およびその実行制御方法 Download PDFInfo
- Publication number
- JP3907385B2 JP3907385B2 JP2000149467A JP2000149467A JP3907385B2 JP 3907385 B2 JP3907385 B2 JP 3907385B2 JP 2000149467 A JP2000149467 A JP 2000149467A JP 2000149467 A JP2000149467 A JP 2000149467A JP 3907385 B2 JP3907385 B2 JP 3907385B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- router
- transfer
- processors
- transfer rate
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Description
【発明の属する技術分野】
この発明はデータ駆動型情報処理装置およびその実行制御方法に関し、特に、通信のネットワーク上の中継装置であるルータ内の自己同期型転送制御回路の転送レートをデータ駆動型情報処理装置のレートとは異なるように構成されたデータ駆動型情報処理装置およびその実行制御方法に関する。
【0002】
【従来の技術】
データ駆動型情報処理装置(以下、データ駆動型プロセッサと称する)は、ある処理に必要な入力データがすべて揃いかつその処理に必要な演算装置などの資源が割当てられたときに処理が行なわれるという規則に従って処理が進行する。データ駆動型の情報処理動作を含むデータ処理装置には、非同期のハンドシェイク方式を採用したデータ伝送装置が用いられる。このようなデータ伝送装置では、複数のデータ伝送路が接続され、それらのデータ伝送路がデータの転送要求信号(以下、SEND信号と称する)およびデータの転送を許可するか否かを示す転送許可信号(以下、ACK信号と称する)を互いに送受信しながら、自律的なデータ転送が行なわれる。
【0003】
図6は従来およびこの発明が適用されるデータパケットのフォーマットを示す図である。図6において、データパケットは行先ノード番号ND♯を格納するための行先ノード番号領域F1と、世代番号GN♯を格納するための世代番号領域F2と、命令コードOPCを格納するための命令コード領域F3およびデータDATAを格納するためのデータ領域F4を含む。ここで、世代番号とは、並列処理をしたいデータ群同士を区別するための番号である。行先ノード番号とは、同一世代内の入力データ同士を区別するための番号である。命令コードとは、命令デコーダに格納されている命令を実行するためのものである。
【0004】
図7はデータ伝送路の構成を示すブロック図である。データ伝送路は、自己同期型の転送制御回路(以下、C素子と称する)1aおよびDタイプフリップフロップからなるデータ保持回路(以下、パイプラインレジスタと称する)1bを含む。C素子1aはパルスを受けるパルス入力端子CIと、転送の許可または転送の禁止を示す転送許可信号を出力する転送許可出力端子ROと、パルスを出力するパルス出力端子COと、転送の許可または転送の禁止を示す転送許可信号を受ける転送許可入力端子RIと、パイプラインレジスタ1bのデータ保持動作を制御するクロックパルスを与えるためのパルス出力端子CPを有している。
【0005】
図8は図7に示したC素子の動作を説明するためのタイミングチャートである。C素子1aは端子CIから図8(a)に示すパルスを受取ると、端子RIに図8(e)に示すような入力の転送許可信号が許可状態であれば、端子COから図8(d)に示すパルスを出力するとともに、パイプラインレジスタ1bに図8(c)に示すパルスを出力する。パイプラインレジスタ1bはC素子1aから与えられるパルスに応答して、与えられる入力パケットデータを保持し、またその保持したデータを出力パケットデータとして出力する。
【0006】
図9は図7に示したデータ伝送路を所定のロジック回路を介してシーケンスに接続した例を示すブロック図である。図9において、入力されるパケットデータは、パイプラインレジスタ3a→3b→3cと順に転送されていく間に、ロジック回路3d,3eでシーケンスに処理される。たとえばパイプラインレジスタ3aがデータ保持状態である場合、後段のパイプラインレジスタ3bがデータ保持状態にあれば、パイプラインレジスタ3aからパイプラインレジスタ3bにデータは送られない。
【0007】
また、後段のパイプラインレジスタ3bがデータを保持していない状態であれば、もしくはデータを保持していない状態になれば、少なくとも予め設定された遅延時間をかけてデータがパイプラインレジスタ3aからロジック回路3dで処理されてパイプラインレジスタ3bに送られる。このように接続された隣のパイプラインレジスタとの間で送受信されるCIとCO端子で入出力されるSEND信号およびRI端子とRO端子で入出力されるACK信号に従って非同期に、そして少なくとも予め設定された遅延時間をかけてデータ伝送を行なうような制御を自己同期型転送制御と呼び、そのようなデータ転送を制御する回路を自己同期型転送制御回路と呼ぶ。
【0008】
図10は図7に示したC素子の具体的な回路図である。このC素子はたとえば特開平6−83731号公報に記載されたものである。図10において、パルス入力端子CIは前段部からのパルス状のSEND信号(転送要求信号)を受け、転送許可出力端子ROは前段部にACK信号(転送許可信号)を出力する。パルス出力端子COは後段部にパルス状のSEND信号を出力し、転送許可入力端子RIは後段部からACK信号を受ける。
【0009】
マスタリセット入力端子MRはマスタリセット信号を受ける。マスタリセット入力端子MRに「H」レベルのパルスが与えられると、インバータ4eで反転され、フリップフロップ4a,4bがリセットされてC素子が初期化される。そして、パルス出力端子CO,転送許可出力端子ROはともに初期状態として「H」レベル信号を出力する。転送許可出力端子ROの出力が「H」レベルであることは転送許可状態を示し、逆に「L」レベルであることは転送禁止状態を示している。また、パルス出力端子COの出力が「H」レベルであることは、後段にデータ転送を要求していない状態を示し、逆に「L」レベルであることは後段にデータ転送を要求しているまたはデータを転送している状態を示している。
【0010】
パルス入力端子CIに「L」レベルの信号が入力されると、すなわち前段からデータ転送が要求されると、フリップフロップ4aはセットされ、その出力Qに「H」レベル信号を出力する。この「H」レベル信号はインバータ4dで反転されて転送許可入力端子ROからは「L」レベル信号が出力され、さらなるデータ転送を禁止する。一定時間後、パルス入力端子CIに「H」レベルの信号が入力され、前段部から当該C素子へのデータのセットが終了する。この状態でかつ転送許可入力端子RIから「H」レベル信号が入力されている、すなわち後段部からデータ転送を許可されている状態で、かつパルス出力端子COが「H」レベル信号を出力している、すなわち後段部へデータ転送している途中でない状態(データ転送を後段に要求していない状態)であれば、NANDゲート4cはアクティブとなり、「L」レベル信号を出力する。
【0011】
その結果、フリップフロップ4bはセットされ、フリップフロップ4bはパイプラインレジスタへのパルス出力端子CPから遅延素子4gを介して「H」レベル信号を出力するとともに、パルス出力端子COから遅延素子4fを介して後段部のC素子へ「L」レベルのSEND信号を出力する。すなわち、後段部へデータ転送を要求する。「L」レベルのSEND信号を受けた後段のC素子は、そのC素子に対してさらなるデータ転送が行なわれないように転送禁止を示すACK信号を「L」レベルにしてRO端子から出力する。該C素子は転送許可入力端子RIからの「L」レベルのACK信号を入力し、この信号によりフリップフロップ4bがリセットされる。その結果、パイプラインレジスタへのパルス出力端子CPから遅延素子4gを介して「L」レベル信号が出力され、また後段部へのパルス出力端子COから遅延素子4fを介して「H」レベルのSEND信号が出力され、データ転送を終了する。
【0012】
図11は図9に示したデータ転送路を含んで構成された従来のデータ駆動型情報処理装置の概略ブロック図である。図11において、データ駆動型情報処理装置Peは、合流部JNCと、発火制御部FCと、演算部FPと、プログラム記憶部PSと、分岐部BRNと、複数個のパイプラインレジスタ3a〜3cと、複数のC素子2a〜2cを含む。各C素子2a〜2cは前段および後段のC素子とのパケット転送パルス(CI,CO,RI,ROの信号)のやり取りによって対応する処理部(FC,FP,PS)についてのパケット転送を制御する。各パイプラインレジスタ3a〜3cは対応のC素子2a〜2cからのパルス入力に応じて、前段の処理部より入力されているデータを取込んで保持し、出力段に導出し、次のパルスまでこれを保持する。
【0013】
図11において、プロセッサPeに図6に示したデータパケットが入力されると、入力パケットはまず合流部JNCを通り、発火制御部FCに伝達され、行先ノード番号ND♯と世代番号GN♯とに基づいて同一のパケットの間で対データが形成される。すなわち、ノード番号ND♯と世代番号GN♯が一致する異なる2つのデータパケットの検出を行ない、両番号が一致する2つのうち一方のデータパケットのデータを他方のデータパケットのデータ領域F4(図6)に追加格納し、この他方のデータパケットを出力する。
【0014】
データ領域F4に対データ(1組のデータ)を格納したパケットは次に演算部FPに伝達される。演算部FPは伝達されたデータパケットを入力し、その入力パケットの命令コードOPCに基づいて該入力パケットの内容に対して所定の演算を行ない、演算結果を該入力パケットのデータ領域F4に格納する。該入力パケットは次にプログラム記憶部PSに伝達される。
【0015】
プログラム記憶部PSは伝達されたデータパケットを入力し、その入力パケットの行先ノード番号ND♯に基づいて、プログラム記憶部PS内のプログラムメモリからパケットが次に行くべきノード情報(ノード番号ND♯)と次に実行するべき命令情報(命令コードOPC)とコピーフラグCPYを読出す。そして、読出された行先ノード番号ND♯および命令コードOPCが該入力パケットの行先ノード番号領域F1および命令コード領域F3にそれぞれ格納される。
【0016】
プログラム記憶部PSから出力されたパケットは、その行先ノード番号ND♯に基づいてプロセッサPEから出力されるか、または図示しないルータを介して再度プロセッサPE内部に戻される。ルータは上述したデータ駆動型プロセッサPE間でのデータパケットの交換やデータ駆動型プロセッサPEへのデータパケットの入力制御および出力制御などに使われている。
【0017】
図12はルータの一使用例を示すブロック図である。図12において、図11に示したデータ駆動型プロセッサPEがルータ5を介して複数個接続された構成となっている。たとえば、どのデータ駆動型プロセッサでも処理を行なわない場合、入力されたデータはルータ5を通ってそのまま出力される。たとえば、プロセッサPE1→PE1→PE3→PE2の順に処理される場合、入力されたデータがルータ5→5aを介してプロセッサPE1に入力され、プロセッサPE1で処理されたデータが5b→ルータ5を通って再度5aを通りプロセッサPE1に入力され、プロセッサPE1で処理されたデータが5b→ルータ5→5fを通ってプロセッサPE3に入力され、プロセッサPE3で処理されたデータが5e→ルータ5→5cを介してプロセッサPE2に入力され、プロセッサPE2で処理されたデータが5d→ルータ5を通って出力される。
【0018】
図13は従来のデータ駆動型プロセッサで用いられている2×2のルータのブロック図である。図13において、ルータは2つの分岐部6a,6bと2つの合流部6c,6dから構成される2入力,2出力のルータである。このルータでは、データパケットのスイッチングが行なわれ、2×2ルータはIN1に入力されたデータパケットがOUT1またはOUT2から出力され、IN2に入力されたデータパケットがOUT1またはOUT2から出力される計4通りの経路がある。またこのルータに限らず、この発明で述べるルータでは、同時に入力された2つ以上の入力がすべて同じ出力から同時に出力されることは保証していない。すなわち、図13に示した場合、IN1とIN2に同時に入力されたデータパケットはいずれもOUT1から出力される、あるいはいずれもOUT2から出力されるような事象は保証していない。
【0019】
図13において、たとえばIN1から入力されたデータパケットがOUT2へ、IN2から入力されたデータパケットがOUT1へルーティングされる場合、IN1から入力されたデータパケットは、分岐部6aから経路6eを通り合流部6dに転送され、OUT2から出力される。また、IN2から入力されたデータパケットは、分岐部6bから経路6fを通り合流部6cに転送され、OUT1から出力される。
【0020】
図14は図13に示した分岐部の一例を示す回路図であり、図15は図2に示した分岐部の一例を示す回路図である。
【0021】
図14において分岐部は1入力,2出力で構成されており、この分岐部に入力されたデータパケットを2出力のどちらか一方に分岐させる。後段には図13に示したように2つの合流部6cと6dとが接続されており、合流部6cとはCOaとRIaで、合流部6dとはCObとRIbで図16に示すように合流を制御する制御回路のJCTL回路8を介してハンドシェイクが行なわれる。合流部6cへデータパケットを転送するか、あるいは合流部6dに転送するかは、分岐許可信号BEにより切換えられる。後述の図16で説明するように合流部にもC素子は含まれている。
【0022】
図14に示す分岐部において、分岐許可信号BEによってハンドシェイクする相手のC素子(図13に示した後段の合流部6c,6dにあるC素子)のうちから1つを選択する、すなわち分岐部に入力されたデータパケットの分岐先が決定される。分岐許可信号BEが「L」レベルのときは、NANDゲート7cがアクティブとなり、C素子7aのパルス出力端子COの出力は合流部6c側の端子CIaに出力され、パイプラインレジスタ7bのデータパケットは後段の合流部6c側のパイプラインレジスタへ出力される。逆に、分岐信号BEが「H」レベルのときは、NANDゲート7dがアクティブとなり、C素子7aのパルス出力端子COの出力は合流部6d側の端子CIbへ出力され、パイプラインレジスタ7bのデータパケットは後段の合流部6d側のパイプラインレジスタへ出力される。後段の2つのC素子からの転送許可信号RIa,RIbは、ANDゲート7eに入力され、その出力がC素子7aのRIに入力される。
【0023】
図15はルータを構成するために使用される1入力,4出力の分岐部の一例を示す回路図である。図15において、この分岐部は、分岐許可信号BEaとBEbとによってデータパケットの分岐先が決定される。すなわち、分岐許可信号BEa,BEbがいずれも「L」レベルのときは、NANDゲート7fがアクティブとなり、C素子7aのパルス出力端子COの出力はCOaから出力され、パイプラインレジスタ7bのデータパケットは後段の合流部6cのCOa,RIa側のパイプラインレジスタへ出力される。同様にして、分岐許可信号BEaが「H」レベルであり、分岐許可信号BEbが「L」レベルのときは、後段の合流部のCObに出力され、分岐許可信号BEaが「L」レベルであり、分岐許可信号BEbが「H」レベルのときは後段の合流部のCOcに出力され、分岐許可信号BEa,BEbがいずれも「H」レベルのときは後段のCOdにC素子7aのCO出力が出力され、先の説明と同様にして、合流部の1つにデータパケットが転送される。
【0024】
後段の4つのC素子からの分岐許可信号RIa,RIb,RIc,RIdはANDゲート7jに入力され、その出力がC素子7aのRIに入力される。
【0025】
図16は図13に示した合流部の一例を示す回路図である。この図16に示した合流部は2入力1出力で構成されており、2つの入力が同時に起こったときに同時に出力しないように合流を制御する制御回路であるJCTL回路8を含む。このJCTL回路8によってパイプラインレジスタ8a,8bのどちらか一方のデータパケットが出力されるように制御される。すなわち、JCTL回路8のパイプラインレジスタ8aへのパルス出力端子CPaが「H」レベルのときは、セレクタ8eのセレクト信号AEBが「L」レベルとなり、パイプラインレジスタ8aのデータパケットはセレクタ8eからパイプラインレジスタ8dを介して出力される。また、合流を制御するJCTL回路8のパイプラインレジスタ8bへのパルス出力端子CPbが「H」レベルのときは、セレクタ8eのセレクト信号AEBが「H」レベルとなり、パイプラインレジスタ8bのデータパケットがセレクタ8eからパイプラインレジスタ8dを介して出力される。なお、パイプラインレジスタ8dの制御はC素子8cによって行なわれる。
【0026】
図17は図16に示したJCTL回路の回路図である。図17において、JCTL回路8は、C素子81a,81bに対応するパイプラインレジスタ8a,8bへのパルス出力端子CPa,CPbに出力されるパルスを制御する。すなわち、C素子81aのパルス出力端子CPaが「H」レベルのとき、フリップフロップ81cの出力AEB、すなわち図16に示したセレクタ8eのセレクト信号は「L」レベルとなる。また、C素子81bのパルス出力端子CPbが「H」レベルのとき、フリップフロップ81cの出力AEB、すなわちセレクタ8eのセレクト信号は「H」レベルとなる。
【0027】
【発明が解決しようとする課題】
従来のルータの構造は、図13に示すように2×2の例のような構造で構成されている。しかし、画像処理などにおいて、接続されるデータ駆動型プロセッサが増え、処理数が増えるとともに処理が複雑化し、さらに処理速度が速くなると、多入力多出力のルータが求められる。これに対応した例として、図18に4×4のルータの一例を示す。図18において、ルータは4つの分岐部9a〜9dと、これらの分岐部からの出力を合流させる合流部10a〜10hと、これらの合流部の出力をさらに合流させる合流部10i〜10lとによって構成されており、図13に示した2×2のルータと比較して明らかに回路規模が増大している。そして、さらなる多入力多出力ルータになればなるほど、このルータ5の回路規模が爆発的に増大してしまう。このため、ルータの回路規模を縮小し、先の多入力多出力に適用したルータが必要となってきた。
【0028】
図19はそのような回路規模を抑えた2×2ルータを示すブロック図である。図19に示すように、図14に示した分岐部の1つと図16に示した合流部の1つで構成し、合流部11aから分岐部11bへの経路11cが1本に構成されている。この場合、経路が1本になる経路11cで最大転送レートでIN1,IN2から入力されたデータが合流する。経路11cの転送レートも同じ最大転送レートしかないため、最大転送レートで入力されたデータが合流しても処理し切れなくなる。結果的に、図19に示したルータ構成では、IN1,IN2の入力2つの転送レートの総和が最大転送レート以下になるような転送レートでしか入力できなくなる。
【0029】
また、仮にこのような最大転送レート以下で入力していては、OUT1,OUT2からの出力の転送レートも最大転送レート以下となる。従来は、このような制約を受けずに最大転送レートのままルーティングできるようにするために、回路規模が大きくなってしまうが、図14に示した2×2の例のようなルータの構成をとらざるを得なかった。
【0030】
しかし、今後は多入力多出力ルータに適した図19に示すような構成で、合流経路でも最大転送レートを維持できる、すなわちさらに高速でハンドシェイクを行なう高速転送ルータが必要となってくる。このために、図14に示した従来のルータ内の分岐部や、図16に示した合流部においてハンドシェイクを担っているC素子の高速化が求められる。従来、このC素子はデータ駆動型プロセッサPE内で使用されるC素子と同じ構成のものが使用されている。これは、先に示したように、これまでは2×2のルータで十分であったこと、またこのようなデータ駆動型情報処理装置ともなれば、設計はCADで行なうことから、C素子をマクロセル化、あるいはC素子を含む周辺回路をIPコア化して登録しておき、同一のマクロセルもしくはIPコアを利用した方が効率的であり、かつ信頼性もあったからである。
【0031】
このように、共通な構成のC素子を使用しているため、C素子の高速化を行なおうとすると、データ駆動型プロセッサ側で次のような問題が発生する。すなわち、C素子の転送レートを上げ過ぎると、図8に示したパイプラインの1段、すなわちパイプラインレジスタから後段のパイプラインレジスタまでの区間に処理できる処理量が減り、処理を細切れにしなければならなくなる。たとえば、パイプラインレジスタ3aとパイプラインレジスタ3bの間のロジック回路3dや、パイプラインレジスタ3bとパイプラインレジスタ3cの間のロジック回路3eの処理量を減らさなければならなくなる。結果的に、同じ処理量であってもパイプラインの段数が増えてしまい、その超過したパイプライン部だけ回路規模が大きくなってしまう。この問題を避けるために、データ駆動型プロセッサ内部では故意に高速のC素子を使っていなかった。
【0032】
それゆえに、この発明の主たる目的は、パイプライン1段当りの処理量を減らすことなく、ルータの回路規模の増大を抑え、ルータ部でC素子の転送レートを最大転送レートから下げないで転送し得るデータ駆動型情報処理装置の実行制御方法および装置を提供することである。
【0033】
【課題を解決するための手段】
この発明は、少なくとも行先ノード番号と世代番号と命令コードとデータを含んでなるデータパケットの入出力を制御するルータと、データパケットの転送および演算処理を制御する転送要求信号および転送許可信号を生成する自己同期型転送制御回路とを有するデータ駆動型情報処理装置において、ルータの自己同期型転送制御回路の転送レートをシステム内で使用している転送レートと異なるレートで使用することを特徴とする。
【0034】
従来のデータ駆動型情報処理装置内部ではC素子の速度をわざと遅くしていたが、ルータの場合パイプラインのように段間に演算器やメモリがない単なる経路であるため、転送レートをわざわざ落とす必要はなく、倍速,4倍速と何倍にでも可能なレートのC素子を使うことができる。すなわち、従来のルータにおいて、合流したときの転送レートが合流前の転送レートと同じであるため、合流部の入力を最大転送レート以下にしなければならなかったが、この発明では合流部分で転送レートを倍にすることによって、ルータの構成を線路1本にしても最大転送レートで合流部に入力することができ、最大転送レートで出力することができる。
【0035】
他の発明は、少なくとも行先ノード番号と命令コードとデータとを含むデータパケットの入出力を制御するルータと、前記データパケットの転送および演算処理を制御する転送要求信号および転送許可信号を生成する自己同期型転送制御回路を有するデータ駆動型情報処理装置において、ルータ内の自己同期型制御回路は、その転送レートをシステム内で使用している転送レートと異なるレートで使用することを特徴とする。
【0036】
好ましくは、ルータは、自己同期型転送制御回路の転送レートをシステム内で使用している転送レートの複数倍のレートで使用することを特徴とする。
【0037】
さらに、好ましくは、ルータは、自己同期型転送制御回路の転送レートを、ルータに入力される転送レートの総和のレートで使用することを特徴とする。
【0038】
より好ましくは、ルータは、自己同期型転送制御回路の転送レートを、ルータから出力される転送レートの総和のレートで使用することを特徴とする。
【0039】
さらに、好ましくは、ルータは、自己同期型転送制御回路の転送レートを、ルータから出力転送レートの総和と、前記ルータから出力される転送レートの総和の大きい方のレートで使用することを特徴とする。
【0040】
さらに、より好ましくは、ルータを複数個組み合わせたことを特徴とする
【0041】
【発明の実施の形態】
図1はこの発明の一実施形態の2×2の倍速転送ルータを示すブロック図である。この図1に示した実施形態では、2×2ルータを、合流部分の転送レートをデータ駆動型プロセッサ内部の最大転送レートの2倍、すなわちルータ内のC素子の転送レートを倍速に実現したものである。このルータは、図14に示した分岐部の1つと、図16に示した合流部の1つとから構成される2入力,2出力のルータである。このルータは、2×2=4通りの経路がある。図1では、経路12cの転送レートをルータの入力レートや出力レートの2倍にしてある。すなわち、合流部12a内のC素子(図16に示したC素子10e)内部のSEND出力線上の遅延素子(図10に示した遅延素子4g)と分岐部12b内のC素子(図14に示すC素子7a)内部のSEND出力線上の遅延素子4gの遅延量を操作、たとえば遅延素子4f内のインバータの段数をデータ駆動型プロセッサ内で使われている他のC素子の遅延素子内のインバータの段数の半分にすることにより、合流部12a内のC素子と分岐部12b内のC素子の転送レートをデータ駆動型プロセッサの最大転送レートの2倍にすることができる。
【0042】
図1において、IN1,IN2から最大転送レートで合流部2aに入力されたデータは、最大転送レート同士で合流するが、経路12cの転送レートがルータの入力レートや出力レートの2倍であるため、転送レートが最大転送レートを下回ることなく経路12cを通り、分岐部12bに転送できる。分岐部12bで2つの入力データがOUT1,OUT2に分岐するが、分岐部12b内のC素子の転送レートは2倍であるため、それぞれが最大転送レートで出力できる。
【0043】
前述の図13に示した従来の2×2ルータと比較すると、この発明の一実施形態では次の利点が得られる。
【0044】
▲1▼ 合流部と分岐部がともに1つずつになり、回路規模が抑えられる。
▲2▼ ルータ内の転送レートを2倍にすることにより、最大転送レートで転送レートを下げることなくルータに入力でき、ルータから出力できることになる。
【0045】
▲3▼ 遅延素子をインバータで構成することにより、これによる回路規模の増大もほとんどなく、簡単かつ容易に作製できる。
【0046】
図2はこの発明の他の実施形態における4×4の4倍速転送ルータのブロック図である。この実施形態のルータは4×4=16通りの経路があり、従来例の図15に示した1入力4出力の分岐部と、図16に示した2入力1出力の合流部を3系統とから構成される4入力,4出力のルータである。そして、合流部13a,13b,合流部13cの転送区間と、合流部13cから分岐部13dへの転送区間に倍速転送を用いている。
【0047】
また、図2においては、経路13gの転送レートをルータの入力レートや出力レートの4倍にされている。すなわち、合流部13c内のC素子内部のSEND出力線上の遅延素子と分岐部13d内のC素子内部のSEND出力線上の遅延素子の遅延量を操作し、たとえば遅延素子内のインバータの段数をデータ駆動型プロセッサ内で使われているC素子の遅延素子内のインバータの段数の4分の1にし、合流部13c内のC素子と分岐部13d内のC素子間の転送レートはデータ駆動型プロセッサ内部の最大転送レートの4倍にされている。同様にして、合流部13a内のC素子と合流部13c内のJCTL回路内のC素子間の転送レート、および合流部13b内のC素子と合流部13c内のJCTL回路内のC素子間の転送レートはプロセッサ内の最大転送レートの2倍にされている。
【0048】
図2において、IN1,IN2から最大転送レートで合流部13aに入力されたデータは、最大転送レート同士で合流するが、倍速転送を用いているので問題なく経路13eを通り、合流部13cに転送される。同様にして、IN3,IN4から最大転送レートで合流部13bに入力されたデータは、経路13fを通り合流部13cに倍速転送される。これらの4つの入力データは、合流部13cで合流されるが、経路13gの転送レートはルータの入力レートや出力レートの4倍であるため、転送レートが最大転送レートを下回ることなく経路13gを通り、分岐部13dに転送できる。分岐部13dで4つの入力データがOUT1,OUT2,OUT3およびOUT4に分岐されるが、分岐部13d内のC素子の転送レートは4倍であるため、それぞれが最大転送レートで出力できる。
【0049】
図3はこの発明の第3の実施形態の2×2の倍速転送ルータで構成した4×4ルータを示すブロック図である。図3において、倍速転送ルータ14a,14b,14c,14dは図1に示した倍速転送ルータであり、倍速転送ルータ14a,14bから倍速転送ルータ14c,14dに転送する区間において倍速転送を用いている。このルータは、4×4=16通りの経路がある。図3では、経路14e,14f,14g,14hの転送レートをルータの入力レートや出力レートの2倍にしてある。
【0050】
すなわち、倍速転送ルータ14aの分岐部内のC素子と倍速転送ルータ14cの合流部内のJCTL回路内のC素子間の転送レートと、倍速転送ルータ14aの分岐部内のC素子と倍速転送ルータ14dの合流部内のJCTL回路内のC素子間の転送レートと、倍速転送ルータ14bの分岐部内のC素子と倍速転送ルータ14c内の合流部内のJCTL回路内のC素子間の転送レートおよび倍速転送ルータ14bの分岐部内のC素子と倍速転送ルータ14dの合流部内のJCTL回路内のC素子間の転送レートはデータ駆動型プロセッサ内部の最大転送レートの2倍にされている。
【0051】
図3において、たとえばIN1から入力されたデータがOUT2へ、IN2から入力されたデータがOUT1へルーティングされる場合、IN1,IN2から最大転送レートで入力されたデータが倍速転送ルータ14aを通り、どちらも経路14eから出力される。従来では、ルータでは同時に入力された2つ以上の入力がすべて同じ出力から同時に出力されることを保証していないが、経路14eの転送レートも2倍であるので問題なく倍速転送ルータ14cに転送される。その後、OUT2,OUT1からそれぞれ最大転送レートで出力される。
【0052】
従来例で説明した図18のルータは図15の1入力4出力の分岐部4つと、図16の合流部から構成されており、4×4=16経路と最大転送レートを保持するために、回路規模が莫大になったのに対して、この発明の各実施形態のルータと比較すると、ルータ内部でルータに入力される転送レートの総和、またはルータから出力される転送レートの総和に対応した転送レートを使用しているルータほど回路規模が抑えられることがわかる。すなわち、回路規模は図2に示した4倍速転送ルータ、図3に示した倍速転送ルータにより構成したルータ、図18に示した従来のルータ方式で構成したルータの順に小さいことがわかる。特に、図18の従来のルータ方式を使用した例では、その回路規模は他のルータよりもかなり大きくなっていることがわかる。
【0053】
図4はこの発明のさらに他の実施形態によるM×N倍速転送ルータのブロック図である。ここで、M,Nは2以上の自然数であり、MとNの関係は同じ値でもどちらが大きくてもいいものとする。この図4に示したルータは、M入力,N出力であり、M入力,1出力の合流部15aと1入力,N出力の分岐部15bとから構成される。合流部15aは(M−1)個の2入力1出力の合流部から構成されている。このルータは、M×N本の経路を持つ。
【0054】
図4において、MとNの関係が、(M>N)である場合、合流部15aと分岐部15bの間の経路15cの転送レートは、入力IN1からINMまでの転送レートの総和となる。たとえば、入力IN1からINMまでの転送レートがすべて同じであるならば、経路15cはM倍速転送となる。また、(M<N)である場合、合流部15aと分岐部15bの間の経路15cの転送レートは、出力OUT1からOUTNまでの転送レートの総和となる。たとえば、出力OUT1からOUTNまでの転送レートがすべて同じであるならば、経路15cはN倍速転送となる。また、(M=N)の場合、合流部15aと分岐部15b間の経路15cの転送レートは、M倍速転送でもN倍速転送でも構わない。
【0055】
図5はこの発明の各実施形態に用いられるC素子の回路図である。この図5に示したC素子は前述の図10と同じであり、各実施形態に応じて遅延素子4fの段数が異なっている。
【0056】
後段のC素子から図5に示したC素子のRI端子に「H」レベル信号が入り、転送許可状態が示されると、このC素子はパイプラインレジスタの制御信号CPを「H」レベルにして、Dタイプフリップフロップで構成されているパイプラインレジスタに前段から出力されているデータパケットを後段に出力するとともに、このデータパケットを保持する。そして、パイプラインレジスタから後段に出力されたデータパケットは図10や図11に示したようにロジックや演算部で所定の処理が行なわれた後、後段のパイプラインレジスタに転送されて保持される。
【0057】
C素子の構成やパイプラインレジスタの構成は比較的簡単な構成であり、したがってこの部分での処理時間もしくは遅延時間は小さい。一方、ロジック部や演算部は回路構成が複雑となり、したがって処理時間もしくは遅延時間は先の処理時間もしくは遅延時間と比較して非常に大きなものとなる。パイプラインレジスタからデータの出力が完了し、このC素子のCP信号が「L」レベルとなった後、このロジック部や演算部を介して後段のパイプラインレジスタにデータが転送されるまでの間、このC素子は後段のC素子に対してCOを「L」レベル状態を維持し、転送要求を続ける必要がある。
【0058】
このために、C素子内には、遅延素子4fが設けられている。先に述べたように、ロジック部や演算部での処理時間もしくは遅延時間は、C素子やパイプラインレジスタでの処理時間もしくは遅延時間と比較して非常に大きいため、データ駆動型プロセッサ内部で使用されるC素子内の遅延素子4fをたとえばインバータ回路シリーズに接続して実現すると、10段〜数10段の規模となっている。このため、この発明の各実施形態でのルータ内のC素子の遅延素子4fにおけるインバータ回路のシリーズ段数を、データ駆動型プロセッサ内部のC素子に対して、1/2,1/4,1/Mまたは1/N(MやNは自然数)にするのが容易である。
【0059】
また、図5に示した実施形態では、遅延素子4fをCO端子側に挿入した例で説明を行なったが、CI端子側に挿入しても所望の効果を得ることができる。ただし、この場合は初段の合流部内のC素子には適用せず、これ以外のルータ内のC素子に使用することになる。また、遅延素子はインバータ回路に限定されず、たとえば容量や抵抗成分による遅延やあるいはこれらの組合せで実現してもよい。
【0060】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【0061】
【発明の効果】
以上のように、この発明によれば、ルータ内の自己同期型転送制御回路の転送レートをシステム内で使用している転送レートと異なるレートで使用するようにしたので、従来のルータ方式に比べて、データ駆動型プロセッサ内の最大転送レートを保持しかつ従来の回路と比較して大幅に回路規模を抑えてルータを構成することができる。その結果、コストダウンを図ることができ、今後予想されるより処理数が増えかつ処理速度が速い動作に十分対応可能となる。しかも、この発明によるルータは簡単な回路構成で実現でき、ルータ部に関しては回路面積を縮小することができ、効率的に設計することができる。
【図面の簡単な説明】
【図1】 この発明の一実施形態の2×2の倍速転送ルータを示すブロック図である。
【図2】 この発明の他の実施形態における4×4の4倍速転送ルータを示すブロック図である。
【図3】 この発明のさらに他の実施形態の2×2の倍速転送ルータで構成した4×4ルータを示すブロック図である。
【図4】 この発明のさらに他の実施形態におけるM×Nの倍速転送ルータを示すブロック図である。
【図5】 この発明の各実施形態に用いられるC素子の回路図である。
【図6】 データパケットのフォーマットを示す図である。
【図7】 データ駆動型プロセッサにおけるデータ伝送路を示す図である。
【図8】 C素子のタイミングチャートである。
【図9】 データ駆動型プロセッサにおけるパイプラインを示すブロック図である。
【図10】 C素子の回路図である。
【図11】 データ駆動型プロセッサのブロック図である。
【図12】 従来のルータの一使用例を示す図である。
【図13】 従来の2×2ルータを示すブロック図である。
【図14】 ルータに用いられる1入力,2出力の分岐部の回路図である。
【図15】 ルータに用いられる1入力,4出力の分岐部の回路図である。
【図16】 ルータに用いられる2入力,1出力の合流部の回路図である。
【図17】 図16に示した合流部のJCTL回路の回路図である。
【図18】 従来方式を用いた4×4ルータを示すブロック図である。
【図19】 従来方式で回路規模を抑えた2×2ルータを示すブロック図である。
【符号の説明】
12a,13a〜13c,15a 合流部、12b,13d,15b 分岐部、14a〜14d 倍速転送ルータ、4a,4b フリップフロップ、4c NANDゲート、4d,4e インバータ、4g,4f 遅延素子。
Claims (4)
- 複数のデータ伝送路が直列に接続され、それらのデータ伝送路がデータの転送要求信号およびデータの転送許可信号を互いに送受信しながら、少なくとも行先ノード番号と命令コードとデータとを含むデータパケットの伝送および演算処理を実行する複数のプロセッサと、前記複数のプロセッサのデータ伝送路と接続されて、前記データの転送要求信号および前記データの転送許可信号を互いに送受信しながら、前記複数のプロセッサから出力されるデータパケットを合流させて伝送するルータとを備え、前記複数のプロセッサおよび前記ルータは、前記データパケットの伝送を制御するための前記データの転送要求信号および前記データの転送許可信号を生成する自己同期型転送制御回路を各々有するデータ駆動型情報処理装置において、
前記ルータ内のデータ伝送路の転送レートを前記複数のプロセッサ内で使用している転送レートよりも高くするために前記ルータ内の前記自己同期型制御回路の前記データの転送要求信号の遅延量を規定するインバータで構成される遅延段の段数を前記複数のプロセッサ内の前記自己同期型制御回路の転送要求信号の遅延量を規定する遅延段の段数よりも少なく設定する、データ駆動型情報処理装置の実行制御方法。 - 前記ルータ内のデータ伝送路の転送レートを前記複数のプロセッサ内のデータ伝送路で使用している転送レートのN倍の転送レートで使用されるように前記ルータ内の前記自己同期型制御回路の前記遅延段の段数を前記複数のプロセッサ内の前記自己同期型制御回路の転送要求信号の遅延量を規定する遅延段の段数の1/Nに設定する、請求項1に記載のデータ駆動型情報処理装置の実行制御方法。
- データ駆動型情報処理装置において、
複数のデータ伝送路が直列に接続され、それらのデータ伝送路がデータの転送要求信号およびデータの転送許可信号を互いに送受信しながら、少なくとも行先ノード番号と命令コードとデータとを含むデータパケットの伝送および演算処理を実行する複数のプロセッサと、
前記複数のプロセッサのデータ伝送路と接続されて、前記データの転送要求信号および前記データの転送許可信号を互いに送受信しながら、前記複数のプロセッサから出力されるデータパケットを合流させて伝送するルータとを備え、
前記複数のプロセッサおよび前記ルータは、前記データパケットの伝送を制御するための前記データの転送要求信号および前記データの転送許可信号を生成する自己同期型転送制御回路を各々有し、
前記ルータ内のデータ伝送路の転送レートを前記複数のプロセッサ内で使用している転送レートよりも高くするために前記ルータ内の前記自己同期型制御回路の前記データの転送要求信号の遅延量を規定するインバータで構成される遅延段の段数は、前記複数のプロセッサ内の前記自己同期型制御回路の転送要求信号の遅延量を規定する遅延段の段数よりも少なく設定される、データ駆動型情報処理装置。 - 前記ルータ内のデータ伝送路の転送レートを前記複数のプロセッサ内のデータ伝送路で使用している転送レートのN倍の転送レートで使用されるように前記ルータ内の前記自己同期型制御回路の前記遅延段の段数は、前記複数のプロセッサ内の前記自己同期型制御回路の転送要求信号の遅延量を規定する遅延段の段数の1/Nに設定される、請求項3に記載のデータ駆動型情報処理装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000149467A JP3907385B2 (ja) | 2000-05-22 | 2000-05-22 | データ駆動型情報処理装置およびその実行制御方法 |
US09/846,301 US6823443B2 (en) | 2000-05-22 | 2001-05-02 | Data driven type apparatus and method with router operating at a different transfer rate than system to attain higher throughput |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000149467A JP3907385B2 (ja) | 2000-05-22 | 2000-05-22 | データ駆動型情報処理装置およびその実行制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001331472A JP2001331472A (ja) | 2001-11-30 |
JP3907385B2 true JP3907385B2 (ja) | 2007-04-18 |
Family
ID=18655326
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000149467A Expired - Fee Related JP3907385B2 (ja) | 2000-05-22 | 2000-05-22 | データ駆動型情報処理装置およびその実行制御方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US6823443B2 (ja) |
JP (1) | JP3907385B2 (ja) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9330060B1 (en) * | 2003-04-15 | 2016-05-03 | Nvidia Corporation | Method and device for encoding and decoding video image data |
US8660182B2 (en) | 2003-06-09 | 2014-02-25 | Nvidia Corporation | MPEG motion estimation based on dual start points |
JP2005227887A (ja) | 2004-02-10 | 2005-08-25 | Sharp Corp | データ駆動型情報処理装置および方法 |
JP2005259030A (ja) * | 2004-03-15 | 2005-09-22 | Sharp Corp | 性能評価装置、性能評価方法、プログラムおよびコンピュータ読取可能記録媒体 |
US8731071B1 (en) | 2005-12-15 | 2014-05-20 | Nvidia Corporation | System for performing finite input response (FIR) filtering in motion estimation |
US8724702B1 (en) | 2006-03-29 | 2014-05-13 | Nvidia Corporation | Methods and systems for motion estimation used in video coding |
US8660380B2 (en) | 2006-08-25 | 2014-02-25 | Nvidia Corporation | Method and system for performing two-dimensional transform on data value array with reduced power consumption |
US8756482B2 (en) | 2007-05-25 | 2014-06-17 | Nvidia Corporation | Efficient encoding/decoding of a sequence of data frames |
US9118927B2 (en) | 2007-06-13 | 2015-08-25 | Nvidia Corporation | Sub-pixel interpolation and its application in motion compensated encoding of a video signal |
US8873625B2 (en) | 2007-07-18 | 2014-10-28 | Nvidia Corporation | Enhanced compression in representing non-frame-edge blocks of image frames |
US8666181B2 (en) | 2008-12-10 | 2014-03-04 | Nvidia Corporation | Adaptive multiple engine image motion detection system and method |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5936857A (ja) * | 1982-08-25 | 1984-02-29 | Nec Corp | プロセツサユニツト |
US4907187A (en) * | 1985-05-17 | 1990-03-06 | Sanyo Electric Co., Ltd. | Processing system using cascaded latches in a transmission path for both feedback and forward transfer of data |
US4814978A (en) * | 1986-07-15 | 1989-03-21 | Dataflow Computer Corporation | Dataflow processing element, multiprocessor, and processes |
JP3372970B2 (ja) | 1992-09-02 | 2003-02-04 | シャープ株式会社 | 自己同期型転送制御回路 |
-
2000
- 2000-05-22 JP JP2000149467A patent/JP3907385B2/ja not_active Expired - Fee Related
-
2001
- 2001-05-02 US US09/846,301 patent/US6823443B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2001331472A (ja) | 2001-11-30 |
US20010044890A1 (en) | 2001-11-22 |
US6823443B2 (en) | 2004-11-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11971846B2 (en) | Logic unit for a reconfigurable processor | |
CN107239420B (zh) | 具有散布处理器dma-fifo的处理系统 | |
KR900006791B1 (ko) | 패킷 스위치식 다중포트 메모리 n×m 스위치 노드 및 처리 방법 | |
Scheideler | Universal routing strategies for interconnection networks | |
JP3907385B2 (ja) | データ駆動型情報処理装置およびその実行制御方法 | |
EP0271492A1 (en) | A data processing device | |
CN116915708A (zh) | 路由数据包的方法、处理器及可读存储介质 | |
CN112306946A (zh) | 用于处理器核心的网络的覆盖层 | |
US5765015A (en) | Slide network for an array processor | |
EP0304285B1 (en) | Network control system | |
US20230305991A1 (en) | Network Computer with Two Embedded Rings | |
JP3581419B2 (ja) | データ駆動型情報処理装置 | |
CN113986813A (zh) | 片上网络结构构建及使用的方法、系统、设备和存储介质 | |
JPS63257052A (ja) | マルチプロセツサシステム | |
Konstantinidou | Deterministic and chaotic adaptive routing in multicomputers | |
JP3758523B2 (ja) | 双方向リングネットワーク、ノード装置および双方向リングネットワーク制御方法 | |
JP3821377B2 (ja) | 双方向リングネットワーク、ノード装置、および双方向リングネットワークのルーティング情報構成方法 | |
US11169956B2 (en) | Networked computer with embedded rings field | |
US20230370392A1 (en) | Network-on-chip architecture for handling different data sizes | |
Rezazadeh et al. | An enhanced fault-tolerant routing algorithm for mesh network-on-chip | |
Momeni et al. | A low latency routing algorithm for irregular mesh network-on-chip | |
Tixeuil | On a space-optimal distributed traversal algorithm | |
Naqvi | A'ARAF: An asynchronous router architecture using four-phase bundled handshake protocol | |
Rao | Eventual determinism: Using probabilistic means to achieve deterministic ends | |
JP2005227887A (ja) | データ駆動型情報処理装置および方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20051115 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060116 |
|
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: 20070109 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070116 |
|
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: 20110126 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120126 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |