(57)【要約】【課題】  データ伝送路においてデータパケットの転送をより高速に行なうデータ駆動型情報処理装置および方法を提供する。【解決手段】  分岐制御部１０は、転送許可を分岐先ごとに受けることができる論理ゲート１２Ａ，ＮＡＮＤ回路１２Ｂを含む。分岐制御部１０は、さらに論理ゲート１２Ａ，ＮＡＮＤ回路１２Ｂの各々の出力を受ける転送要求部１３，１４を含み、転送要求部１３，１４は論理ゲート１２Ａ，ＮＡＮＤ回路１２Ｂのいずれかが活性化されると分岐先にデータ転送要求を行なう。分岐先ごとに転送許可を受けて転送要求を行なうことが可能になるので他の分岐先のデータ保持状態に依存したデータの待ち状態が発生しなくなる。【選択図】        図３
2005227887.tif 000002
【特許請求の範囲】
【請求項１】
行先情報と命令情報とデータとを含むデータパケットに対して前記行先情報と前記命令情報に従って演算を実行するデータ駆動型情報処理装置であって、
前記データパケットを受けると前記演算を行なう複数の演算回路と、
前記複数の演算回路のうちの第１の演算回路から前記データパケットを受けて、前記複数の演算回路および外部のいずれかである前記データパケットの複数の分岐先のうち、前記第１の演算回路によって指示された分岐先に前記データパケットを転送する転送回路とを備え、
前記転送回路は、
データ保持状態を前記分岐先ごとに監視して、前記第１の演算回路によって指示された分岐先の前記データ保持状態がデータ転送禁止状態からデータ転送許可状態に切り換ると、他の分岐先の前記データ保持状態と独立して前記指示された分岐先に前記データパケットの転送を行なう制御回路を含む、データ駆動型情報処理装置。
【請求項２】
前記制御回路は、
前記第１の演算回路から前記データパケットの転送開始を指示する第１の転送要求信号を受けて、前記データパケットが前記転送回路に入力可能であることを示す第１の転送許可信号を前記第１の演算回路に返す要求応答部と、
前記要求応答部から前記データパケットの入力完了を示す完了情報を受けて、前記第１の演算回路から送られる分岐先情報によって前記指示された分岐先における前記データ保持状態を監視し、前記指示された分岐先から前記データパケットが入力可能な状態であることを示す第２の転送許可信号を受けると前記データパケットの転送開始を指示する選択指示部と、
前記選択指示部の指示を前記分岐先ごとに各々受けて、前記指示された分岐先に前記データパケットの転送開始を指示する第２の転送要求信号を送る転送要求部とを有する、請求項１に記載のデータ駆動型情報処理装置。
【請求項３】
前記選択指示部は、前記分岐先ごとに対応して設けられ、前記完了情報と前記分岐先情報と前記第２の転送許可信号とを受けて、前記転送要求部に前記データパケットの転送開始を指示する複数の指示部を有する、請求項２に記載のデータ駆動型情報処理装置。
【請求項４】
行先情報と命令情報とデータとを含むデータパケットに対して前記行先情報と前記命令情報に従って演算を実行するデータ駆動型情報処理方法であって、
前記データパケットを受けると前記演算を行なう複数の演算ステップと、
前記複数の演算ステップのうちの第１の演算ステップから前記データパケットを受けて、前記複数の演算ステップおよび外部のいずれかである前記データパケットの複数の分岐先のうち、前記第１の演算ステップによって指示された分岐先に前記データパケットを転送する転送ステップとを備え、
前記転送ステップは、
データ保持状態を前記分岐先ごとに監視して、前記第１の演算ステップによって指示された分岐先の前記データ保持状態がデータ転送禁止状態からデータ転送許可状態に切り換ると、他の分岐先の前記データ保持状態と独立して前記指示された分岐先に前記データパケットの転送を行なう制御ステップを含む、データ駆動型情報処理方法。
【請求項５】
前記制御ステップは、
前記第１の演算ステップから前記データパケットの転送開始を指示する第１の転送要求信号を受けて、前記データパケットが前記転送ステップに入力可能であることを示す第１の転送許可信号を前記第１の演算ステップに返す要求応答ステップと、
前記要求応答ステップから前記データパケットの入力完了を示す完了情報を受けて、前記第１の演算ステップから送られる分岐先情報によって前記指示された分岐先における前記データ保持状態を監視し、前記指示された分岐先から前記データパケットが入力可能な状態であることを示す第２の転送許可信号を受けると前記データパケットの転送開始を指示する選択指示ステップと、
前記選択指示ステップの指示を前記分岐先ごとに各々受けて、前記指示された分岐先に前記データパケットの転送開始を指示する第２の転送要求信号を送る転送要求ステップとを有する、請求項４に記載のデータ駆動型情報処理方法。
【請求項６】
前記選択指示ステップは、前記分岐先ごとに対応して設けられ、前記完了情報と前記分岐先情報と前記第２の転送許可信号とを受けて、前記転送要求ステップに前記データパケットの転送開始を指示する複数の指示ステップを有する、請求項５に記載のデータ駆動型情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明はデータ駆動型情報処理装置および方法に関し、より特定的には自己同期型転送制御回路を含む分岐部の構成およびデータ転送の制御方法に関するものである。
【背景技術】
【０００２】
画像を含むマルチメディアデータ処理では、多量のデータが高速に処理される。特に、画像処理においては多量の演算処理が高速に実行されるよう求められる。このような要求に応える処理装置としてデータ駆動型情報処理装置が提案される。
【０００３】
データ駆動型情報処理装置とは、ある処理に必要な入力データがすべて揃い、かつ、その処理に必要な演算装置などの資源が割当てられると処理を行なう装置である。
【０００４】
データ駆動型情報処理装置としては、たとえば非同期のハンドシェイク方式を採用したデータ伝送装置が用いられる。データ駆動型情報処理装置におけるハンドシェイク方式とは、データを転送するための回路ブロック（以下、データ伝送路と称する）同士で、データの転送を要求する転送要求信号とデータの転送を許可するか否かを示す転送許可信号とを交わすことによって自律的なデータ転送を行なうという、データ転送方式の１つである。なお、以後は転送要求信号をＳＥＮＤ信号と称し、転送許可信号をＡＣＫ信号と称する。
【０００５】
データ駆動型情報処理装置の動作は、たとえば特開２００１−３３１４７２号公報（特許文献１）に開示される。以下、特許文献１に開示されるデータ駆動型情報処理装置について説明する。
【０００６】
図７は、従来および本発明に適用されるデータパケットの構成図である。
【０００７】
図７を参照して、データパケットＤＰは、行先ノード番号ＮＤ♯を格納する行先ノード番号領域Ｆ１と、世代番号ＧＮ♯を格納する世代番号領域Ｆ２と、命令コードＯＰＣを格納する命令コード領域Ｆ３と、データＤＡＴＡを格納するデータ領域Ｆ４とを含む。
【０００８】
世代番号とは、並列処理されるデータ群を互いに区別する番号である。また、行先ノード番号とは、同一の世代番号を含む入力データを互いに区別する番号である。また、命令コードとは、データに対して行なうべき命令を示すコードである。
【０００９】
図８は、データ伝送路の構成を示す図である。
【００１０】
図８を参照して、データ伝送路１００は、自己同期型の転送制御回路（以下、Ｃ素子と称する）１０１Ａと、Ｄタイプフリップフロップからなるデータ保持回路（以下、パイプラインレジスタと称する）１０１Ｂとを含む。なお、「自己同期型」の意味については後に詳細な説明がなされる。
【００１１】
Ｃ素子１０１Ａは、入力ノードＣＩからＳＥＮＤ信号を受けると出力ノードＲＯからＡＣＫ信号を出力する。また、Ｃ素子１０１Ａは、出力ノードＣＯからＳＥＮＤ信号を出力し、入力ノードＲＩにＡＣＫ信号を受ける。なお、Ｃ素子１０１Ａの動作および構成については後に説明がなされる。
【００１２】
パイプラインレジスタ１０１Ｂは、Ｃ素子１０１Ａの出力ノードＣＰから出力されるクロックパルスを受けてデータパケットの入力および出力を行なう。
【００１３】
図９は、図８のＣ素子１０１Ａの各ノードから入出力される信号の波形図である。
【００１４】
まず、時刻ｔ１〜ｔ３において入力ノードＣＩに入力されるＳＥＮＤ信号が「Ｌ」レベルになり、Ｃ素子１０１Ａはデータパケットの転送要求を受ける。続いて時刻ｔ２においてＣ素子１０１Ａは出力ノードＲＯから出力するＡＣＫ信号を「Ｌ」レベルにして、さらなるデータパケットの受け入れを禁止する。
【００１５】
時刻ｔ３において、入力ノードＣＩに入力されるＳＥＮＤ信号が「Ｈ」レベルになると図８のパイプラインレジスタ１０１Ｂへのデータパケットの入力が完了する。時刻ｔ４において出力ノードＲＯから出力されるＡＣＫ信号は、データパケットの転送許可を示す「Ｈ」レベルになり、Ｃ素子１０１Ａは再びデータパケットの入力が可能になる。
【００１６】
続いて時刻ｔ５において、Ｃ素子１０１Ａは出力ノードＣＯから出力するＳＥＮＤ信号を「Ｌ」レベルにしてデータパケットの転送要求を行ない、データパケットの出力を開始する。
【００１７】
続いて時刻ｔ７において出力ノードＣＰから出力されるクロックパルスが「Ｌ」レベルに切り換ると、時刻ｔ８において出力ノードＣＯから出力するＳＥＮＤ信号は「Ｈ」レベルになり、データパケットの出力が終了する。
【００１８】
このように、ＳＥＮＤ信号およびＡＣＫ信号に従って、少なくとも予め設定された遅延時間を伴って非同期に行なうデータ転送制御を自己同期型転送制御と称し、自己同期型転送制御を行なう回路を自己同期型転送制御回路と称する。
【００１９】
図１０は、データ駆動型情報処理装置におけるデータ伝送路の適用例である。
【００２０】
図１０を参照して、データパケットはパイプラインレジスタ１０４Ａからパイプラインレジスタ１０４Ｂ，１０４Ｃの順に転送される。転送される途中において、データパケットはロジック回路１０３Ａ，１０３Ｂによって処理される。
【００２１】
パイプラインレジスタ１０４Ｂがデータパケットを保持している間は、パイプラインレジスタ１０４Ａからパイプラインレジスタ１０４Ｂにデータパケットは送られない。一方、パイプラインレジスタ１０４Ｂがデータパケットを保持していない状態かデータパケットを出力しようとする状態かのいずれかであれば、データパケットは、パイプラインレジスタ１０４Ａからロジック回路１０３Ａに送られ、さらにパイプラインレジスタ１０４Ｂに送られる。
【００２２】
図１１は、Ｃ素子１０１Ａの具体的な回路例である。図１１を参照して、Ｃ素子１０１Ａは、フリップフロップ１０５Ａと，フリップフロップ１０５Ａの出力Ｑから出力される信号を反転するインバータ１０５Ｇと、セットされると遅延回路１０５Ｅを介して出力ノードＣＰから信号を出力し、リセットされると出力ノードＣＯから信号を出力するフリップフロップ１０５Ｂを含む。
【００２３】
フリップフロップ１０５Ａは図示されない前段のＣ素子から「Ｌ」レベルのＳＥＮＤ信号を受けてセットされ、出力Ｑから信号を出力する。出力される信号はインバータ１０５Ｇによって反転し、前段のＣ素子へのＡＣＫ信号となる。
【００２４】
フリップフロップ１０５Ｂは、ＮＡＮＤ回路１０５ＣからＬレベルの信号を受けるとセットされる。フリップフロップ１０５Ｂがセットされると出力ノードＣＰから信号が出力される。出力ノードＣＰから出力される信号は後段のパイプラインレジスタに対するデータ出力の制御信号となる。また、フリップフロップ１０５Ｂがリセットされると出力ノードＣＯから信号が出力される。出力ノードＣＯから出力される信号は後段のＣ素子に対するＳＥＮＤ信号になる。
【００２５】
ＮＡＮＤ回路１０５Ｃは、前段のＣ素子から送られるＳＥＮＤ信号を入力ノードＣＩから受ける。また、ＮＡＮＤ回路１０５Ｃは、後段のＣ素子から送られるＡＣＫ信号を入力ノードＲＩから受ける。さらに、ＮＡＮＤ回路１０５Ｃは、フリップフロップ１０５Ｂがリセットされると出力される信号およびフリップフロップ１０５Ａの出力Ｑから送られる信号を受ける。
【００２６】
図１２は、従来および本発明のデータ駆動型情報処理装置で用いられる２入力２出力型ルータのブロック図である。ルータとは、演算装置間でのデータパケットの交換や演算装置と外部とのデータパケットの交換に用いられる装置である。
【００２７】
図１２を参照して、ルータ１０６は、分岐部１０６Ａ，１０６Ｂと、合流部１０６Ｃ，１０６Ｄとを含む。
【００２８】
入力ノードＩＮ１に入力されたデータパケットは、出力ノードＯＵＴ１または出力ノードＯＵＴ２のいずれかから出力される。同様に、入力ノードＩＮ２に入力されたデータパケットは、出力ノードＯＵＴ１または出力ノードＯＵＴ２のいずれかから出力される。
【００２９】
図１３は、図１２の分岐部１０６Ａの従来のブロック図である。
【００３０】
図１３を参照して、分岐部１０６Ａは、分岐制御部１０７を含む。分岐制御部１０７は、Ｃ素子１０７Ａと、入力ノードＢＥに入力されてデータパケットの分岐先を示す分岐許可信号ＢＥＩＮおよびＣ素子１０７ＡからのＳＥＮＤ信号を受けるＯＲ回路１０７Ｃ，論理ゲート１０７Ｄと、図１２に示される合流部１０６Ｃ，１０６ＤからＡＣＫ信号を受けるＡＮＤ回路１０７Ｅとを含む。出力ノードＣＯＡから合流部１０６ＣにＳＥＮＤ信号が送られ、出力ノードＣＯＢから合流部１０６ＤにＳＥＮＤ信号が送られる。
【００３１】
ＳＥＮＤ信号を図１２の合流部１０６Ｃと合流部１０６Ｄのどちらに送信するかは分岐許可信号ＢＥＩＮによって指定される。分岐許可信号ＢＥＩＮが「Ｌ」レベルか「Ｈ」レベルであるかによって、出力ノードＣＯＡか出力ノードＣＯＢのいずれかから転送要求を示す「Ｌ」レベルのＳＥＮＤ信号が出力される。
【００３２】
一方、転送許可を示すＡＣＫ信号は入力ノードＲＩＡ，ＲＩＢからＡＮＤ回路１０７Ｅに入力される。各分岐先からのＡＣＫ信号が、ともにデータ転送許可状態を示す「Ｈ」レベルであることに応じてＡＮＤ回路１０７Ｅは「Ｈ」レベルの信号を出力する。ＡＮＤ回路１０７Ｅから出力される「Ｈ」レベルの信号はＣ素子１０７Ａの入力ノードＲＩに入力されて、Ｃ素子１０７Ａはデータ転送許可を受ける。
【００３３】
図１４は、図１３の分岐制御部１０７のＣ素子１０７Ａをより詳細に示した具体例である。図１４を参照して、分岐制御部１０７は、Ｃ素子１０７Ａを含む。なお、Ｃ素子１０７Ａの構成は図１１に示すＣ素子１０１Ａの構成と同様である。
【００３４】
図１５は、図１４に示される信号の波形図である。
【００３５】
図１５を参照して、時刻ｔ１〜ｔ４における分岐制御部１０７の動作は図９におけるＣ素子１０１Ａの動作と同様である。よって説明は繰り返さない。
【００３６】
時刻ｔ５において、ＡＣＫ信号ＡＣＫＩＮ１，ＡＣＫＩＮ２がともに「Ｈ」レベルになると時刻ｔ６においてＣ素子１０７Ａの入力ノードＲＩに転送許可を示す「Ｈ」レベルのＡＣＫ信号ＡＣＫＩＮが入力される。
【００３７】
続いて時刻ｔ９において、出力ノードＣＯＡから「Ｌ」レベルのＳＥＮＤ信号ＳＮＤＯＴ１が図１２の合流部１０６Ｃに送られてデータパケットの出力が開始される。
【００３８】
図１６は、他のルータを構成する１入力４出力型の分岐部の従来のブロック図である。
【００３９】
図１６を参照して、分岐部１０９は、Ｃ素子１０９Ａと、入力ノードＢＥＡ，ＢＥＢに入力される分岐許可信号およびＣ素子１０９ＡからのＳＥＮＤ信号を受けるＯＲ回路１０９Ｆ，論理ゲート１０９Ｇ〜１０９Ｉと、各分岐先からのＡＣＫ信号を受けるＡＮＤ回路１０９Ｊとを含む。
【００４０】
図１３の分岐制御部と同様にＳＥＮＤ信号の送信先は入力ノードＢＥＡ，ＢＥＢに入力される分岐許可信号の論理レベルの組み合わせによって指定される。
【００４１】
一方、入力ノードＲＩＡ，ＲＩＢ，ＲＩＣ，ＲＩＤに入力された各々の分岐先からのＡＣＫ信号はＡＮＤ回路１０９Ｊに入力される。図１３のＡＮＤ回路１０７Ｅと同様に各分岐先からのＡＣＫ信号が、ともにデータ転送許可状態を示す「Ｈ」レベルであることに応じてＡＮＤ回路１０９Ｊは「Ｈ」レベルの信号を出力し、Ｃ素子１０７ＡはＡＮＤ回路１０９Ｊからデータ転送許可を示す「Ｈ」レベルのＡＣＫ信号を受ける。
【特許文献１】特開２００１−３３１４７２号公報
【発明の開示】
【発明が解決しようとする課題】
【００４２】
特許文献１に開示される従来の分岐部では、複数のデータの分岐先がすべてデータ転送許可状態にならなければＣ素子から分岐先にＳＥＮＤ信号の出力が開始されない。
【００４３】
たとえば図１５のタイミングチャートに示されるように、時刻ｔ３においてＳＥＮＤ信号ＳＮＤＩＮが「Ｈ」レベルになり、データパケットの入力が完了する。時刻ｔ３においてＡＣＫ信号ＡＣＫＩＮ１は「Ｈ」レベルであるので、時刻ｔ３では図１２の合流部１０６Ｃはデータ入力が可能な状態である。しかし、時刻ｔ９になるまで合流部１０６Ｃに「Ｌ」レベルのＳＥＮＤ信号ＳＮＤＯＴ１が送られないので転送要求が行なわれない。このため、従来の分岐部においてはデータパケットの待ち状態が発生し、データの滞留を引き起こすという問題が生じる。
【課題を解決するための手段】
【００４４】
本発明は、要約すれば、行先情報と命令情報とデータとを含むデータパケットに対して行先情報と命令情報に従って演算を実行するデータ駆動型情報処理装置であって、データパケットを受けると演算を行なう複数の演算回路と、複数の演算回路のうちの第１の演算回路からデータパケットを受けて、複数の演算回路および外部のいずれかであるデータパケットの複数の分岐先のうち、第１の演算回路によって指示された分岐先にデータパケットを転送する転送回路とを備える。
【００４５】
転送回路は、データ保持状態を分岐先ごとに監視して、第１の演算回路によって指示された分岐先のデータ保持状態がデータ転送禁止状態からデータ転送許可状態に切り換ると、他の分岐先のデータ保持状態と独立して指示された分岐先にデータパケットの転送を行なう制御回路を含む。
【００４６】
より好ましくは、制御回路は、要求応答部と、選択指示部と、転送要求部とを有する。
【００４７】
要求応答部は、第１の演算回路からデータパケットの転送開始を指示する第１の転送要求信号を受けて、データパケットが転送回路に入力可能であることを示す第１の転送許可信号を第１の演算回路に返す。
【００４８】
選択指示部は、要求応答部からデータパケットの入力完了を示す完了情報を受けて、第１の演算回路から送られる分岐先情報によって指示された分岐先におけるデータ保持状態を監視し、指示された分岐先からデータパケットが入力可能な状態であることを示す第２の転送許可信号を受けるとデータパケットの転送開始を指示する。
【００４９】
転送要求部は、選択指示部の指示を分岐先ごとに各々受けて、指示された分岐先にデータパケットの転送開始を指示する第２の転送要求信号を送る。
【００５０】
さらに好ましくは、選択指示部は、分岐先ごとに対応して設けられ、完了情報と分岐先情報と第２の転送許可信号とを受けて、転送要求部にデータパケットの転送開始を指示する複数の指示部を有する。
【００５１】
本発明の別の局面に従うと、行先情報と命令情報とデータとを含むデータパケットに対して行先情報と命令情報に従って演算を実行するデータ駆動型情報処理方法であって、データパケットを受けると演算を行なう複数の演算ステップと、複数の演算ステップのうちの第１の演算ステップからデータパケットを受けて、複数の演算ステップおよび外部のいずれかであるデータパケットの複数の分岐先のうち、第１の演算ステップによって指示された分岐先にデータパケットを転送する転送ステップとを備える。
【００５２】
転送ステップは、データ保持状態を分岐先ごとに監視して、第１の演算ステップによって指示された分岐先のデータ保持状態がデータ転送禁止状態からデータ転送許可状態に切り換ると、他の分岐先のデータ保持状態と独立して指示された分岐先にデータパケットの転送を行なう制御ステップを含む。
【００５３】
より好ましくは、制御ステップは、要求応答ステップと、選択指示ステップと、転送要求ステップとを有する。
【００５４】
要求応答ステップは、第１の演算ステップからデータパケットの転送開始を指示する第１の転送要求信号を受けて、データパケットが転送ステップに入力可能であることを示す第１の転送許可信号を第１の演算ステップに返す。
【００５５】
選択指示ステップは、要求応答ステップからデータパケットの入力完了を示す完了情報を受けて、第１の演算ステップから送られる分岐先情報によって指示された分岐先におけるデータ保持状態を監視し、指示された分岐先からデータパケットが入力可能な状態であることを示す第２の転送許可信号を受けるとデータパケットの転送開始を指示する。
【００５６】
転送要求ステップは、選択指示ステップの指示を分岐先ごとに各々受けて、指示された分岐先にデータパケットの転送開始を指示する第２の転送要求信号を送る。
【００５７】
さらに好ましくは、選択指示ステップは、分岐先ごとに対応して設けられ、完了情報と分岐先情報と第２の転送許可信号とを受けて、転送要求ステップにデータパケットの転送開始を指示する複数の指示ステップを有する。
【発明の効果】
【００５８】
本発明のデータ駆動型情報処理装置および実行制御方法によれば、データパケットの転送待ちの状態が発生せず、データパケットの転送がより高速に行なわれる。
【発明を実施するための最良の形態】
【００５９】
以下において、本発明の実施の形態について図面を参照して詳しく説明する。なお、図中同一符号は同一または相当部分を示す。
【００６０】
［実施の形態１］
図１は、本発明のデータ駆動型情報処理装置の概略ブロック図である。図１を参照して、
データ駆動型情報処理装置１は、演算処理を行なうデータ駆動型プロセッサＰＥ１〜ＰＥ４と、ルータＲＴとを備える。なお、以後において、データ駆動型プロセッサを単にプロセッサと称する。
【００６１】
また、図１においては４つのプロセッサが図示されるが、本発明においてプロセッサの個数は４つに限定されるものではなく、必要とされる演算処理能力に応じた個数が設定される。
【００６２】
プロセッサＰＥ１〜ＰＥ４のいずれもデータパケットの処理を行なわない場合、ルータＲＴに入力されたデータパケットはそのままルータＲＴから出力される。一方、プロセッサＰＥ１〜ＰＥ４の間でデータパケットを交換する場合、データパケットは一旦ルータＲＴを経由する。
【００６３】
たとえば、データパケットがプロセッサＰＥ１、プロセッサＰＥ３、プロセッサＰＥ２の順に処理される場合、データパケットはルータＲＴからプロセッサＰＥ１に入力される。次に、プロセッサＰＥ１で処理されたデータパケットはルータＲＴを経由してプロセッサＰＥ３に入力される。続いて、プロセッサＰＥ３で処理されたデータパケットはルータＲＴを経由してプロセッサＰＥ２に入力される。プロセッサＰＥ２で処理されたデータはルータＲＴに戻されて外部に出力されるか、あるいはプロセッサＰＥ１〜ＰＥ４で再び処理される。
【００６４】
図２は、プロセッサＰＥ１およびルータＲＴを説明する概略ブロック図である。
【００６５】
図２を参照して、データ駆動型情報処理装置１におけるプロセッサＰＥ１〜ＰＥ４のうちプロセッサＰＥ１が代表的に示される。また、図１におけるルータＲＴは、図２において合流部３と分岐部９として示される。合流部３は、入力されるデータパケットとプロセッサＰＥ１で処理されたデータパケットとを合流させる。分岐部９はデータパケットを外部か合流部３のいずれかに分岐させる。
【００６６】
なお、図１におけるプロセッサＰＥ２〜ＰＥ４の構成はプロセッサＰＥ１と同様であるので、以後の説明においてはプロセッサＰＥ１についてのみ説明し、他のプロセッサの構成についての説明は繰り返さない。
【００６７】
プロセッサＰＥ１は、データの転送を要求する転送要求信号とデータの転送を許可するか否かを示す転送許可信号を交わすことによって自律的なデータ転送を行なうＣ素子２Ａ〜２Ｃと、Ｃ素子２Ａ〜２Ｃの各々から出力されるクロックパルスによってデータパケットを入出力するパイプラインレジスタ４Ａ〜４Ｃを含む。
【００６８】
プロセッサＰＥ１は、さらに、合流部３から図７に示されるデータパケットＤＰを受けて、データパケットＤＰから行先ノード番号ＮＤ＃と世代番号ＧＮ＃とが一致する２つのデータパケットを検出し、必要なデータがそろうと一方のデータパケットのデータ領域に他方のデータパケットのデータを格納してデータパケットを出力する発火制御部５を含む。
【００６９】
プロセッサＰＥ１は、さらに、データパケットＤＰに含まれる命令コードＯＰＣに基づいてデータ領域Ｆ４内のデータに所定の演算を行ない、演算結果をデータ領域Ｆ４に格納してデータパケットＤＰを出力する演算部６を含む。
【００７０】
プロセッサＰＥ１は、さらに、入力されたデータパケットＤＰの行先ノード番号ＮＤ＃に基づいてデータパケットが次に行くべきノード情報と次に実行されるべき命令コードを図示されないプログラムメモリから求め、求めた結果をデータパケットの行先ノード番号領域Ｆ１および命令コード領域Ｆ３に各々格納してデータパケットＤＰを出力するプログラム記憶部７を含む。
【００７１】
プロセッサＰＥ１は、さらに、パイプラインレジスタ４Ｂから出力されるデータパケットによってデータパケットの分岐先を検出するＢＥ検出部８を含む。ＢＥ検出部８で検出した分岐先は分岐許可信号ＢＥＩＮとしてパイプラインレジスタ４Ｃを経由し、分岐部９に送られる。
【００７２】
分岐部９は、ＳＥＮＤ信号とＡＣＫ信号とをＣ素子２Ｃとの間で交わしてデータパケットを入力し、ＳＥＮＤ信号とＡＣＫ信号とを合流部３との間で交わしてデータパケットを出力する分岐制御部１０を含む。
【００７３】
データパケットは分岐部９から外部あるいは合流部３に出力される。合流部３に入力されたデータパケットは、再びプロセッサＰＥ１に送られる。
【００７４】
なお、以後においては説明の便宜上、分岐部９からのデータパケットの出力先である外部または合流部３を「分岐先」と称することにする。
【００７５】
図３は、実施の形態１の分岐制御部１０を示す回路図である。実施の形態１の分岐制御部１０は、複数あるデータパケットの分岐先のうちデータパケットを転送する分岐先がデータ入力可能な状態であれば他の分岐先のデータ保持状態に依存せずデータ転送を行なうことを可能にする。
【００７６】
図３を参照して、分岐制御部１０は、入力ノードＣＩからＳＥＮＤ信号ＳＮＤＩＮを受けてＡＣＫ信号ＡＣＫＯＴを出力ノードＲＯから出力する要求応答部１１を含む。
【００７７】
要求応答部１１は、「Ｌ」レベルのＳＥＮＤ信号ＳＮＤＩＮを受けてセットされ、マスタリセット信号ＭＲＩＮによってリセットされるフリップフロップ１１Ａと、フリップフロップ１１Ａがセットされるとフリップフロップ１１Ａから出力される信号を受けて論理レベルを反転させ、ＡＣＫ信号ＡＣＫＯＴとして出力ノードＲＯから出力するインバータ１１Ｇとを含む。
【００７８】
フリップフロップ１１Ａは、ＳＥＮＤ信号ＳＮＤＩＮを受けるＮＡＮＤ回路１１Ｂと、マスタリセット信号ＭＲＩＮの論理レベルを反転させた信号を受けるＮＡＮＤ回路１１Ｃとを含む。
【００７９】
分岐制御部１０は、さらに、図２の分岐部９へのデータパケットの入力が完了したことを示す「Ｌ」レベルの信号（この信号はインバータ１１Ｇに入力されてＡＣＫ信号ＡＣＫＯＴとして出力される）をフリップフロップ１１Ａから受け、さらに、分岐許可信号ＢＥＩＮによって選択された分岐先から転送許可を示す「Ｈ」レベルのＡＣＫ信号を受けると、その選択された分岐先にＳＥＮＤ信号を送るための指示を行なう選択指示部１２を含む。
【００８０】
選択指示部１２は、分岐許可信号ＢＥＩＮが「Ｌ」レベルであれば活性化されて「Ｌ」レベルの信号を出力する論理ゲート１２Ａと、分岐許可信号ＢＥＩＮが「Ｈ」レベルであれば活性化されて「Ｌ」レベルの信号を出力するＮＡＮＤ回路１２Ｂとを含む。
【００８１】
分岐制御部１０は、さらに、一方の分岐先のＣ素子にＳＥＮＤ信号ＳＮＤＯＴ１を送り、その一方の分岐先のＣ素子からＡＣＫ信号ＡＣＫＩＮ１を受ける転送要求部１３を含む。
【００８２】
転送要求部１３は、論理ゲート１２Ａから「Ｌ」レベルの信号を受けてセットされ、マスタリセット信号ＭＲＩＮの論理レベルを反転した信号またはＡＣＫ信号ＡＣＫＩＮ１によってリセットされるフリップフロップ１３Ａを含む。
【００８３】
転送要求部１３は、さらに、フリップフロップ１３Ａがセットされると図示されないパイプランレジスタにデータパケットを出力するよう指示するためのクロックパルスＣＰ１を遅延させるための遅延回路１３Ｅとを含む。
【００８４】
転送要求部１３は、さらに、フリップフロップ１３Ａがリセットされると出力される信号ＳＮＤＯＴ１を遅延させるインバータ１３Ｆ，１３Ｇ，遅延回路１３Ｄを含む。
【００８５】
フリップフロップ１３Ａは、論理ゲート１２Ａからの出力を受けるＮＡＮＤ回路１３Ｂと，ＡＣＫ信号ＡＣＫＩＮ１および信号ＭＲＩＮを反転した信号を受けるＮＡＮＤ回路１３Ｃとを含む。
【００８６】
分岐制御部１０は、さらに、他方の分岐先のＣ素子にＳＥＮＤ信号ＳＮＤＯＴ２を送り、その他方の分岐先のＣ素子からＡＣＫ信号ＡＣＫＩＮ２を受け、図示されないパイプランレジスタにデータパケットを出力するよう指示するためのクロックパルスＣＰ２を出力する転送要求部１４を含む。
【００８７】
なお、転送要求部１４の構成は転送要求部１３と同様である。よって、転送要求部１４の構成についての説明は以後繰り返さない。
【００８８】
分岐制御部１０は、さらに、論理ゲート１２Ａ，ＮＡＮＤ回路１２Ｂの出力がともに「Ｈ」レベルであればフリップフロップ１１ＡをリセットするためのＨレベルの信号を出力するＡＮＤ回路１５を含む。論理ゲート１２Ａ，ＮＡＮＤ回路１２Ｂの出力がともに「Ｈ」レベルである状態とは、前段のＣ素子が転送要求を行なっている状態（ＳＥＮＤ信号ＳＮＤＩＮが「Ｌ」レベル）である。
【００８９】
分岐制御部１０は、さらに、分岐制御部１０を初期化するためのマスタリセット信号ＭＲＩＮの論理レベルを反転して出力し、その出力をフリップフロップ１１Ａ，１３Ａ，１４Ａに入力するためのインバータ１６を含む。
【００９０】
従来の分岐制御部である図１４の分岐制御部１０６Ａと比較しながら、図３の分岐制御部１０について説明する。
【００９１】
図１４の分岐制御部１０６Ａにおいては、Ｃ素子１０７Ａの構成は図１１で示すＣ素子と同一である。Ｃ素子１０７Ａでは、分岐先に対してフリップフロップ１０８Ｂおよび遅延回路１０８Ｄから信号を送ることで転送要求を行なう。ただしＣ素子１０７Ａは、どの分岐先に転送要求を行なうかを指定できない。よって、分岐許可信号ＢＥＩＮとＳＥＮＤ信号ＳＮＤＯＴがＯＲ回路１０７Ｃおよび論理ゲート１０７Ｄに入力され、ＯＲ回路１０７Ｃおよび論理ゲート１０７Ｄのいずれか一方から信号が出力されることによって、異なる分岐先への転送要求を行なうことができる。
【００９２】
一方、各分岐先から送られる各々の転送許可をＣ素子１０７Ａに入力するためには各々の分岐先からの転送許可を示すＡＣＫ信号を１つにすることが必要である。図１４においてＡＣＫ信号ＡＣＫＩＮ１，ＡＣＫＩＮ２はＡＮＤ回路１０７Ｅに入力され、ＡＮＤ回路１０７Ｅの論理積の結果がＣ素子１０７Ａに入力される。上述のように、ＡＣＫ信号ＡＣＫＩＮ１，ＡＣＫＩＮ２がすべて「Ｈ」レベルにならなければＣ素子１０７Ａに「Ｈ」レベルの信号ＡＣＫＩＮが入力されない。
【００９３】
つまり、図１４の分岐制御部１０６Ａにおいては、出力先を指定して転送要求を行なうことが可能であるが、各分岐先から受ける転送許可については入力元である各分岐先のデータ保持状態の情報を分離することができない。
【００９４】
これに対し、図３の分岐制御部１０は、転送許可を分岐先ごとに受けることができる論理ゲート１２Ａ，ＮＡＮＤ回路１２Ｂを含む。分岐制御部１０は、さらに論理ゲート１２Ａ，ＮＡＮＤ回路１２Ｂの各々の出力を受ける転送要求部１３，１４を含み、転送要求部１３，１４は論理ゲート１２Ａ，ＮＡＮＤ回路１２Ｂのいずれかが活性化されると分岐先にデータ転送要求を行なう。分岐先ごとに転送許可を受けて転送要求を行なうことが可能になるので他の分岐先のデータ保持状態に依存したデータの待ち状態が発生しなくなる。
【００９５】
論理ゲート１２Ａ，ＮＡＮＤ回路１２Ｂは分岐許可信号ＢＥＩＮによって、各分岐先からの転送許可に対して活性化するかどうかが指定される。つまり、論理ゲート１２Ａ，ＮＡＮＤ回路１２Ｂは各分岐先のデータ入力可能状態を監視する役割を果たす。
【００９６】
次に、実施の形態１の分岐制御部１０について、より詳細に説明する。
【００９７】
図４は、図３の分岐制御部１０の動作を示すタイミングチャートである。
【００９８】
図４を参照して、まず時刻ｔ１以前において分岐制御部１０は初期化される。入力ノードＭＲからマスタリセット信号ＭＲＩＮが入力される。ただし図４においてマスタリセット信号ＭＲＩＮは図示されない。
【００９９】
フリップフロップ１１Ａ，１３Ａ，１４Ａがマスタリセット信号ＭＲＩＮによってリセットされることにより、分岐制御部１０は初期化される。
【０１００】
分岐許可信号ＢＥＩＮの論理レベルは「Ｌ」レベルである。つまり、分岐制御部１０は出力ノードＣＯＡから「Ｌ」レベルのＳＥＮＤ信号ＳＮＤＯＴ１を送るよう設定される。
【０１０１】
初期化によって、時刻ｔ１以前にＡＣＫ信号ＡＣＫＩＮ１は前段のＣ素子から受ける転送要求を許可することを示す「Ｈ」レベルになる。また、ＳＥＮＤ信号ＳＮＤＯＴ１，ＳＮＤＯＴ２はともに「Ｈ」レベルになるので分岐制御部１０はいずれの分岐先にも転送要求を行なわない。
【０１０２】
次に時刻ｔ１においてＳＥＮＤ信号ＳＮＤＩＮの論理レベルが転送要求を示す「Ｌ」レベルになり、前段のＣ素子からデータパケットが転送される。
【０１０３】
また、時刻ｔ２では、フリップフロップ１１Ａがセットされたことに応じて「Ｌ」レベルのＡＣＫ信号ＡＣＫＯＴが出力される。つまり、前段のＣ素子からデータ転送要求がなされると、分岐制御部１０は前段のＣ素子にさらなるデータ転送の禁止を指示する。
【０１０４】
さらに時刻ｔ３において、入力ノードＣＩに入力されるＳＥＮＤ信号ＳＮＤＩＮは「Ｈ」レベルになり、データパケットの入力が完了する。
【０１０５】
時刻ｔ３においてＳＥＮＤ信号ＳＮＤＩＮが「Ｈ」レベルになると、続いて時刻ｔ４ではＡＣＫ信号ＡＣＫＯＴが「Ｈ」レベルになる。つまり、分岐制御部１０は再び転送許可状態になったことを前段のＣ素子に知らせる。
【０１０６】
また、時刻ｔ３においてＡＣＫ信号ＡＣＫＩＮ１が「Ｈ」レベルであり、かつ、ＳＥＮＤ信号ＳＮＤＩＮが「Ｈ」レベルであることに応じて、時刻ｔ４では図３のフリップフロップ１３Ａがセットされる。フリップフロップ１３Ａがセットされると「Ｈ」レベルのクロックパルスＣＰ１が出力される。つまり、データパケットがパイプラインレジスタから出力可能状態になる。
【０１０７】
時刻ｔ４においてクロックパルスＣＰ１が「Ｈ」レベルになると続いて時刻ｔ５ではＳＥＮＤ信号ＳＮＤＯＴ１が「Ｌ」レベルになる。つまり、一方の分岐先に転送要求が行なわれてデータパケットがパイプラインレジスタから出力される。
【０１０８】
続いて時刻ｔ６において、ＡＣＫ信号ＡＣＫＩＮ１がさらなるデータ転送を禁止することを示す「Ｌ」レベルになる。ＡＣＫ信号ＡＣＫＩＮ１が「Ｌ」レベルになったことに応じて図３のフリップフロップ１３Ａはリセットされる。
【０１０９】
続いて時刻ｔ７において、クロックパルスＣＰ１が「Ｌ」レベルになり、パイプラインレジスタからデータパケットの出力が完了する。
【０１１０】
続いて時刻ｔ８において、クロックパルスＣＰ１が「Ｌ」レベルになったことに応じてＳＥＮＤ信号ＳＮＤＯＴ１が「Ｈ」レベルになり、一方の分岐先に対するデータパケットの転送が終了する。
【０１１１】
また、時刻ｔ９においてＡＣＫ信号ＡＣＫＩＮ１が「Ｈ」レベルに変化する。つまり、後段のパイプラインレジスタに格納されたデータパケットが出力され、一方の分岐先が再び転送許可状態になったことが分岐制御部１０に示される。
【０１１２】
続いて時刻ｔ１０において、他方の分岐先からのＡＣＫ信号ＡＣＫＩＮ２が「Ｈ」レベルに変化する。つまり他方の分岐先がデータ転送許可状態になる。
【０１１３】
時刻ｔ１０では一方の分岐先に対するデータパケットの出力が既に完了した状態になる。つまりデータパケットの出力は他方の分岐先のデータ保持状態には依存しない。よって待ち状態が発生せずデータパケットの転送が可能になる。
【０１１４】
［実施の形態２］
図５は、実施の形態２の分岐制御部１０Ａを示す回路図である。
【０１１５】
実施の形態２の分岐制御部１０Ａは、１入力４出力の分岐部の分岐制御部である。図３の分岐制御部１０と同様に、実施の形態２の分岐制御部１０Ａは、分岐先が４つの場合においてもデータパケットを転送する分岐先がデータ入力可能な状態であれば、他の分岐先のデータ保持状態に依存せずデータ転送を行なうことを可能にする。
【０１１６】
図５を参照して、分岐制御部１０Ａは、前段のＣ素子からＳＥＮＤ信号ＳＮＤＩＮ１を受けてＡＣＫ信号ＡＣＫＯＴ１を返す要求応答部２１を含む。
【０１１７】
要求応答部２１の構成は図３における要求応答部１１の構成と同様である。よって要求応答部２１の構成について、以後の説明は繰り返さない。
【０１１８】
分岐制御部１０Ａは、さらに、図２の分岐部９へのデータパケットの入力が完了したことを示す「Ｌ」レベルの信号（この信号はインバータ２１Ｇに入力されてＡＣＫ信号ＡＣＫＯＴ１として出力される）をフリップフロップ２１Ａから受け、さらに、分岐許可信号ＢＥＩＮ１，ＢＥＩＮ２によって選択された分岐先から転送許可を示す「Ｈ」レベルのＡＣＫ信号を受けると分岐先にＳＥＮＤ信号を送るための指示を行なう選択指示部２２を含む。
【０１１９】
選択指示部２２は、分岐許可信号ＢＥＩＮ１，ＢＥＩＮ２の論理レベルの組み合わせによって各々活性化されて「Ｌ」レベルの信号を出力する論理ゲート２２Ａ〜２２ＣおよびＮＡＮＤ回路２２Ｄを含む。
【０１２０】
分岐制御部１０Ａは、さらに、各々の分岐先にＳＥＮＤ信号を送り、ＳＥＮＤ信号を送った分岐先からＡＣＫ信号を受ける転送要求部２３〜２６を含む。
【０１２１】
転送要求部２３〜２６の構成は図３における転送要求部１３の構成と同様である。よって、転送要求部２３〜２６の構成について以後の説明は繰り返さない。
【０１２２】
分岐制御部１０Ａは、さらに、論理ゲート２２Ａ〜２２ＣおよびＮＡＮＤ回路２２Ｄの出力がすべて「Ｈ」レベルであればフリップフロップ２１ＡをリセットするためのＨレベルの信号を出力するＡＮＤ回路２７を含む。論理ゲート２２Ａ〜２２ＣおよびＮＡＮＤ回路２２Ｄの出力がすべて「Ｈ」レベルである状態とは、図３の分岐制御部１０における場合と同様に前段のＣ素子が転送要求を行なっている状態（ＳＥＮＤ信号ＳＮＤＩＮ１が「Ｌ」レベル）である。
【０１２３】
分岐制御部１０Ａは、さらに、分岐制御部１０Ａを初期化するためのマスタリセット信号ＭＲＩＮの論理レベルを反転して出力し、その出力をフリップフロップ２１Ａ，２３Ａ，２４Ａ，２５Ａ，２６Ａに入力するためのインバータ２８を含む。
【０１２４】
実施の形態２の分岐制御部１０Ａについて説明する。分岐許可信号ＢＥＩＮ１とＢＥＩＮ２の論理レベルの組み合わせによってデータパケットの分岐先が決定される。図３の分岐制御部１０と同様に、分岐制御部１０Ａは、分岐先ごとに対応してＡＣＫ信号を受ける論理ゲート２２Ａ〜２２ＣおよびＮＡＮＤ回路２２Ｄを含む。分岐制御部１０Ａは、論理ゲート２２Ａ〜２２ＣおよびＮＡＮＤ回路２２Ｄの各々の出力を受ける転送要求部２３〜２６を含み、転送要求部２３〜２６は論理ゲート２２Ａ〜２２ＣおよびＮＡＮＤ回路２２Ｄのいずれかが活性化されると分岐先にデータ転送要求を行なうためのＳＥＮＤ信号を出力する。図３の分岐制御部１０と同様に、分岐先ごとにＡＣＫ信号の入力およびＳＥＮＤ信号の出力を独立して行なうことが可能になるので他方の分岐先のデータ保持状態に依存したデータの待ち状態が発生しなくなる。
【０１２５】
データパケットの分岐先は、分岐許可信号ＢＥＩＮ１とＢＥＩＮ２の論理レベルの組み合わせによって決定される。
【０１２６】
図５の分岐制御部１０Ａにおいて、分岐許可信号ＢＥＩＮ１，ＢＥＩＮ２がともに「Ｌ」レベルのときは論理ゲート２２Ａが活性化されて「Ｌ」レベルの信号が出力されることでフリップフロップ２３Ａがセットされ、フリップフロップ２３Ａから「Ｌ」レベルのＳＥＮＤ信号ＳＮＤＯＴ１１が出力される。
【０１２７】
同様に、分岐許可信号ＢＥＩＮ１が「Ｈ」レベルであり分岐許可信号ＢＥＩＮ２が「Ｌ」レベルのときは論理ゲート２２Ｂが活性化されて「Ｌ」レベルの信号が出力されることでフリップフロップ２４Ａがセットされ、フリップフロップ２４Ａから「Ｌ」レベルのＳＥＮＤ信号ＳＮＤＯＴ１２が出力される。
【０１２８】
同様に、分岐許可信号ＢＥＩＮ１が「Ｌ」レベルであり分岐許可信号ＢＥＩＮ２が「Ｈ」レベルのときは論理ゲート２２Ｃが活性化されて「Ｌ」レベルの信号が出力されることでフリップフロップ２５Ａがセットされ、フリップフロップ２５Ａから「Ｌ」レベルのＳＥＮＤ信号ＳＥＮＤＯＴ１３が出力される。
【０１２９】
同様に、分岐許可信号ＢＥＩＮ１，ＢＥＩＮ２がともに「Ｈ」レベルのときはＮＡＮＤ回路２２Ｄが活性化されて「Ｌ」レベルの信号が出力されることでフリップフロップ２６Ａがセットされ、フリップフロップ２６Ａから「Ｌ」レベルのＳＥＮＤ信号ＳＥＮＤＯＴ１４が出力される。
【０１３０】
次に、実施の形態２の分岐制御部１０Ａについて、より詳細に説明する。
【０１３１】
図６は、図５の分岐制御部１０Ａの動作を示すタイミングチャートである。
【０１３２】
図６を参照して、まず、時刻ｔ１以前において、分岐制御部１０Ａは初期化される。時刻ｔ１以前の初期化動作については図４のタイミングチャートにおける時刻ｔ１以前の初期化動作と同様であるので、以後の説明は繰り返さない。
【０１３３】
また、分岐許可信号ＢＥＩＮ１，ＢＥＩＮ２の論理レベルはともに「Ｌ」レベルである。つまり、分岐制御部１０Ａは出力ノードＣＯＡからＳＥＮＤ信号ＳＮＤＯＴ１１を送るよう設定される。
【０１３４】
初期化されると、出力ノードＲＯから出力されるＡＣＫ信号ＡＣＫＯＴ１は「Ｈ」レベルになる。つまり、分岐制御部１０Ａは前段のＣ素子から受ける転送要求を許可する。また、初期化されるとＳＥＮＤ信号ＳＮＤＯＴ１１〜ＳＮＤＯＴ１４の論理レベルはすべて「Ｈ」レベルになる。つまり、分岐制御部１０Ａはいずれの分岐先にも転送要求を行なわない。
【０１３５】
時刻ｔ１〜ｔ４では前段のＣ素子からデータ転送要求を示す「Ｌ」レベルのＳＥＮＤ信号を受けて、分岐制御部１０Ａは前段のＣ素子にさらなるデータ転送の禁止を指示する。時刻ｔ１〜ｔ４における分岐制御部１０Ａの動作は図２の時刻ｔ１〜ｔ４における分岐制御部１０の動作と同様であるので、以後の説明は繰り返さない。
【０１３６】
続いて時刻ｔ４では、時刻ｔ３においてＳＥＮＤ信号ＳＮＤＩＮ１が「Ｈ」レベルになったことに応じてＡＣＫ信号ＡＣＫＯＴ１が「Ｈ」レベルになり、分岐制御部１０Ａは再び転送許可状態であることを前段のＣ素子に知らせる。
【０１３７】
また、時刻ｔ３においてＡＣＫ信号ＡＣＫＩＮ１１が「Ｈ」レベルであり、かつ、ＳＥＮＤ信号ＳＮＤＩＮ１が「Ｈ」レベルであることに応じて、時刻４では図５におけるフリップフロップ２３Ａがセットされる。フリップフロップ２３Ａがセットされると「Ｈ」レベルのクロックパルスＣＰ１１が出力される。つまり、データパケットがパイプラインレジスタから出力可能状態になる。
【０１３８】
時刻ｔ４においてクロックパルスＣＰ１１が「Ｈ」レベルであると、続いて時刻ｔ５ではＳＥＮＤ信号ＳＮＤＯＴ１１が「Ｌ」レベルになる。つまり、指定された分岐先に転送要求が行なわれてデータパケットがパイプラインレジスタから出力される。
【０１３９】
続いて時刻ｔ６において、ＡＣＫ信号ＡＣＫＩＮ１１がさらなるデータ転送を禁止することを示す「Ｌ」レベルになる。ＡＣＫ信号ＡＣＫＩＮ１１の論理レベルが「Ｌ」レベルになったことに応じてフリップフロップ２３Ａはリセットされる。
【０１４０】
続いて時刻ｔ８において、クロックパルスＣＰ１１が「Ｌ」レベルになり、パイプラインレジスタからデータパケットの出力が完了する。
【０１４１】
続いて時刻ｔ９において、クロックパルスＣＰ１１が「Ｌ」レベルになったことに応じてＳＥＮＤ信号ＳＮＤＯＴ１１が「Ｈ」レベルになり、指定された分岐先に対するデータパケットの転送が終了する。
【０１４２】
また、時刻ｔ１０において、ＡＣＫ信号ＡＣＫＩＮ１１が「Ｈ」レベルに変化する。つまり後段のパイプラインレジスタに格納されたデータパケットが出力され、指定された分岐先が再び転送許可状態になったことが分岐制御部１０Ａに示される。
【０１４３】
一方、他の分岐先のデータ保持状態を示すＡＣＫ信号については、時刻ｔ１以後ＡＣＫ信号ＡＣＫＩＮ１３は常に「Ｈ」レベルである。また、ＡＣＫ信号ＡＣＫＩＮ１２は時刻ｔ１１において「Ｈ」レベルになる。さらに、ＡＣＫ信号ＡＣＫＩＮ１４は時刻ｔ７において「Ｈ」レベルになる。つまり、各分岐先においてデータパケットの入力が可能となるタイミングはすべて異なる。
【０１４４】
このように各分岐先からのＡＣＫ信号が「Ｈ」レベルになるタイミングが異なっていても、分岐制御部１０Ａは該当の分岐先のＡＣＫ信号が「Ｈ」レベルになるタイミングに応じてデータパケットの転送を行なうことが可能である。よってデータ転送の待ち状態が発生しない。
【０１４５】
なお、本発明における分岐制御部は、図３や図５に示されるような分岐先が２つあるいは４つの場合にのみ適用されるものではない。分岐先がさらに増える場合であっても、本発明における分岐制御部は、以下のようにして分岐先の増加に対応できる。
【０１４６】
まず、分岐制御部に分岐許可信号を伝達する信号伝達線を増やす。これによって、より多くの分岐先の指定が分岐許可信号の論理レベルの組み合わせによって可能になる。
【０１４７】
また、分岐許可信号および追加された分岐先からのＡＣＫ信号を受ける論理ゲート（図５においては論理ゲート２２Ａ〜２２ＣおよびＮＡＮＤ回路２２Ｄが相当する）を分岐先の追加に応じて新たに追加する。
【０１４８】
さらに、図５における転送要求部２３と同様の構成の転送要求部を分岐先の数に応じて分岐制御部に追加する。
【０１４９】
さらに、分岐許可信号および追加された分岐先からのＡＣＫ信号を受ける論理ゲートの出力を受けるＡＮＤ回路（図５においてはＡＮＤ回路２７が相当する）について、論理ゲートの数に応じた入力数のＡＮＤ回路を選択する。
【０１５０】
以上のように対応すれば、分岐先の数が増えた場合でも本発明の分岐制御部は容易に適用が可能である。
【０１５１】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【０１５２】
【図１】本発明のデータ駆動型情報処理装置の概略ブロック図である。
【図２】プロセッサＰＥ１およびルータＲＴを説明する概略ブロック図である。
【図３】実施の形態１の分岐制御部１０を示す回路図である。
【図４】図３の分岐制御部１０の動作を示すタイミングチャートである。
【図５】実施の形態２の分岐制御部１０Ａを示す回路図である。
【図６】図５の分岐制御部１０Ａの動作を示すタイミングチャートである。
【図７】従来および本発明に適用されるデータパケットの構成図である。
【図８】データ伝送路の構成を示す図である。
【図９】図８のＣ素子１０１Ａの各ノードから入出力される信号の波形図である。
【図１０】データ駆動型情報処理装置におけるデータ伝送路の適用例である。
【図１１】Ｃ素子１０１Ａの具体的な回路例である。
【図１２】従来および本発明のデータ駆動型情報処理装置で用いられる２入力２出力型ルータのブロック図である。
【図１３】図１２の分岐部１０６Ａの従来のブロック図である。
【図１４】図１３の分岐制御部１０７のＣ素子１０７Ａをより詳細に示した具体例である。
【図１５】図１４に示される信号の波形図である。
【図１６】他のルータを構成する１入力４出力型の分岐部の従来のブロック図である。
【符号の説明】
【０１５３】
１  データ駆動型情報処理装置、２Ａ〜２Ｃ，１０１Ａ，１０２Ａ〜１０２Ｃ，１０７Ａ，１０９Ａ  Ｃ素子、３，１０６Ｃ，１０６Ｄ  合流部、４Ａ〜４Ｃ，１０１Ｂ，１０４Ａ，１０４Ｂ，１０４Ｃ，１０７Ｂ，１０９Ｂ  パイプラインレジスタ、５  発火制御部、６  演算部、７  プログラム記憶部、８  ＢＥ検出部、９，１０６Ａ，１０６Ｂ，１０９  分岐部、１０，１０Ａ，１０７  分岐制御部、１１Ｇ，１３Ｆ，１３Ｇ，１４Ｆ，１４Ｇ，１６，２１Ｇ，２３Ｆ，２３Ｇ，２４Ｆ，２４Ｇ，２５Ｆ，２５Ｇ，２６Ｆ，２６Ｇ，２８，１０５Ｆ，１０５Ｇ，１０８Ｆ，１０８Ｇ  インバータ回路、１１，２１  要求応答部、１１Ａ，１３Ａ，１４Ａ，２１Ａ，２３Ａ，２４Ａ，２５Ａ，２６Ａ，１０５Ａ，１０５Ｂ  フリップフロップ、１１Ｂ，１１Ｃ，１２Ｂ，１３Ｂ，１３Ｃ，１４Ｂ，１４Ｃ，２１Ｂ，２１Ｃ，２２Ｄ，２３Ｂ，２３Ｃ，２４Ｂ，２４Ｃ，２５Ｂ，２５Ｃ，２６Ｂ，２６Ｃ，１０５Ｃ  ＮＡＮＤ回路、１２，２２  転送指示部、１２Ａ，２２Ａ〜２２Ｃ，１０７Ｄ，１０９Ｇ〜１０９Ｉ  論理ゲート、１３，１４，２３〜２６  転送要求部、１３Ｄ，１３Ｅ，１４Ｄ，１４Ｅ，２３Ｄ，２３Ｅ，２４Ｄ，２４Ｅ，２５Ｄ，２５Ｅ，２６Ｄ，２６Ｅ，１０５Ｄ，１０５Ｅ  遅延回路、１５，２７，１０７Ｅ，１０９Ｊ  ＡＮＤ回路、１００  データ伝送路、１０３Ａ，１０３Ｂ  ロジック回路、１０６，ＲＴ  ルータ、１０７Ｃ，１０９Ｆ  ＯＲ回路、ＢＥ，ＢＥＡ，ＢＥＢ，ＭＲ，ＣＩ，ＲＩ，ＲＩＡ，ＲＩＢ，ＲＩＣ，ＲＩＤ，ＣＩＡ，ＣＩＢ，ＩＮ１，ＩＮ２  入力ノード、ＣＯ，ＣＰ，ＣＰＡ，ＣＰＢ，ＣＰＣ，ＣＰＤ，ＲＯ，ＣＯＡ，ＣＯＢ，ＣＯＣ，ＣＯＤ，ＯＵＴ１，ＯＵＴ２  出力ノード、ＤＰ  データパケット、Ｆ１  行先ノード番号領域、Ｆ２  世代番号領域、Ｆ３  命令コード領域、Ｆ４  データ領域、ＧＮ  世代番号、ＮＤ  行先ノード番号、ＯＰＣ  命令コード、ＰＥ１〜ＰＥ４  データ駆動型プロセッサ。
【図１】
2005227887.tif 000003
【図２】
2005227887.tif 000004
【図３】
2005227887.tif 000005
【図４】
2005227887.tif 000006
【図５】
2005227887.tif 000007
【図６】
2005227887.tif 000008
【図７】
2005227887.tif 000009
【図８】
2005227887.tif 000010
【図９】
2005227887.tif 000011
【図１０】
2005227887.tif 000012
【図１１】
2005227887.tif 000013
【図１２】
2005227887.tif 000014
【図１３】
2005227887.tif 000015
【図１４】
2005227887.tif 000016
【図１５】
2005227887.tif 000017
【図１６】
2005227887.tif 000018