(57)【要約】【課題】  自己同期型のデータ転送を制御しながら、それぞれが異なるアクセスシーケンスを有するデバイスをアクセスする。【解決手段】  信号生成取込み回路１００を経由して前段部から次段部に要求パルスＣＩに従いパケット情報ＰＤ（ＰＱ）を転送する。このとき、Ｃ素子１０１から個数データに基づき複写された複数の要求パルスが出力される間において、Ｃ素子１０２は消去指示ＥＸＢで示される消去期間でなくなったときに要求パルスＣＯを次段に出力する。このとき要求データとともに、レジスタ１０８に保持されている外部デバイスからの入力１２４が次段部に端子１１９を介して転送される。消去指示ＥＸＢが示す消去期間は外部からの情報により任意に調整され得る。それゆえに、消去指示ＥＸＢを用いてデバイス毎のアクセスシーケンスの相違を吸収して次段部にパケット情報として自己同期型で転送できる。【選択図】        図１
2005115442.tif 000002
【特許請求の範囲】
【請求項１】
データ転送の許可または禁止を指示する指示信号に基づいて、前段部から与えられる前記データ転送のための要求パルスを次段部に転送するデータ転送制御装置であって、
前記前段部から前記要求パルスを入力して、与えられる個数データに基づいて複製して、複製して得られた前記要求パルスを順次に出力する第１自己同期型転送制御回路と、
前記第１自己同期型転送制御回路が前記要求パルスを入力する毎に、転送が要求される要求データを前記前段部から入力して保持する要求データレジスタと、
消去指示信号で示される消去期間を除く期間では、前記第１自己同期型転送制御回路から出力される前記要求パルスを受ける毎に、受けた前記要求パルスを次段部に出力し、前記消去期間では前記第１自己同期型転送制御回路から出力される前記要求パルスを受ける毎に、受けた前記要求パルスを次段部に出力するのを抑制する第２自己同期型転送制御回路と、
与えられる情報に基づき前記消去指示信号を生成して前記第２自己同期型転送制御回路に出力する消去指示回路と、
前記第２自己同期型転送制御回路が前記要求パルスを受ける毎に、外部からデータを入力して保持する入力レジスタとを備えて、
前記第２自己同期型転送制御回路が前記要求パルスを次段部に出力するときに、前記入力レジスタの内容を前記要求データとして前記次段部に出力することを特徴とする、データ転送制御装置。
【請求項２】
前記前段部から入力する前記要求データに基づいて前記個数データを生成し、前記第１自己同期型転送制御回路に出力する個数データ生成部をさらに備える、請求項１に記載のデータ転送制御装置。
【請求項３】
前記前段部から前記要求パルスが与えられたとき前記第１自己同期型転送制御回路から前記要求パルスが順次に出力される毎にカウントしてカウント値を出力する計数回路をさらに備える、請求項１または２に記載のデータ転送制御装置。
【請求項４】
前記消去指示回路は、
前記要求データレジスタに保持された前記要求データと前記計数回路から出力される前記カウント値とに基づいて、前記消去指示信号を生成することを特徴とする、請求項３に記載のデータ転送制御装置。
【請求項５】
前記消去指示回路は、
前記要求データレジスタに保持された前記要求データと前記計数回路から出力される前記カウント値と外部から与えられる消去パラメータとに基づいて、前記消去指示信号を生成することを特徴とする、請求項３に記載のデータ転送制御装置。
【請求項６】
前記第２自己同期型転送制御回路が前記要求パルスを受ける毎に、ロード信号に基づいて、外部に出力すべき出力データを入力して保持し外部に出力する外部レジスタと、
前記出力データと前記ロード信号とを生成して前記外部レジスタに出力する信号生成部とをさらに備え、
前記ロード信号は、前記外部レジスタに保持されている内容を前記出力データを用いて更新する否かを前記外部レジスタに対して指示することを特徴とする、請求項１から５のいずれか１項に記載のデータ転送制御装置。
【請求項７】
前記第２自己同期型転送制御回路が前記要求パルスを受ける毎に、ロード信号に基づいて、外部に出力すべき出力データを入力して保持し外部に出力する外部レジスタと、
前記出力データと前記ロード信号とを生成して前記外部レジスタに出力する信号生成部とをさらに備え、
前記ロード信号は、前記外部レジスタに保持されている内容を前記出力データを用いて更新する否かを前記外部レジスタに対して指示し、
前記信号生成部は、前記要求データレジスタに保持される前記要求データと前記計数回路の出力するカウント値とに基づいて、前記出力データと前記ロード信号とを生成して前記外部レジスタに出力することを特徴とする、請求項３から５のいずれか１項に記載のデータ転送制御装置。
【請求項８】
前記第２自己同期型転送制御回路が前記要求パルスを受ける毎に、ロード信号に基づいて、外部に出力すべき出力データを入力して保持し外部に出力する外部レジスタと、
前記出力データと前記ロード信号とを生成して前記外部レジスタに出力する信号生成部とをさらに備え、
前記ロード信号は、前記外部レジスタに保持されている内容を前記出力データを用いて更新する否かを前記外部レジスタに対して指示し、
前記信号生成部は、前記要求データレジスタに保持される前記要求データと前記計数回路の出力するカウント値と外部から与えられるロードパラメータとに基づいて、前記出力データと前記ロード信号とを生成して前記外部レジスタに出力することを特徴とする、請求項３から５のいずれか１項に記載のデータ転送制御装置。
【請求項９】
前記第２自己同期型転送制御回路が前記要求パルスを受ける毎に、前記要求データレジスタに保持された前記要求データを入力して保持する保持レジスタと、
与えられる選択信号に基づいて、前記保持レジスタの内容または前記入力レジスタの内容を出力するためのセレクタと、
前記選択信号を生成して前記セレクタに出力する選択信号生成回路とをさらに備える、請求項１から８のいずれか１項に記載のデータ転送制御装置。
【請求項１０】
前記選択信号生成回路は、前記保持レジスタに保持された前記要求データに基づき、前記選択信号を生成して前記セレクタに出力する、請求項９に記載のデータ転送制御装置。
【請求項１１】
前記第２自己同期型転送制御回路が前記要求パルスを受ける毎に、前記要求データレジスタに保持された前記要求データを入力して保持する保持レジスタと、
与えられる選択信号に基づいて、前記保持レジスタの内容または前記入力レジスタの内容を出力するためのセレクタと、
前記選択信号を生成して前記セレクタに出力する選択信号生成回路とをさらに備え、
前記選択信号生成回路は、前記保持レジスタに保持された前記要求データおよび前記計数回路からの前記カウント値に基づき、前記選択信号を生成して前記セレクタに出力する、請求項３から５ならびに７および８のいずれか１項に記載のデータ転送制御装置。
【請求項１２】
前記第２自己同期型転送制御回路が前記要求パルスを受ける毎に、前記要求データレジスタに保持された前記要求データを入力して保持する保持レジスタと、
与えられる選択信号に基づいて、前記保持レジスタの内容または前記入力レジスタの内容を出力するためのセレクタと、
前記選択信号を生成して前記セレクタに出力する選択信号生成回路とをさらに備え、
前記選択信号生成回路は、前記保持レジスタに保持された前記要求データ、前記計数回路からの前記カウント値および外部から与えられる選択パラメータに基づき、前記選択信号を生成して前記セレクタに出力する、請求項３から５ならびに７および８のいずれか１項に記載のデータ転送制御装置。
【請求項１３】
データ転送の許可または禁止を指示する指示信号に基づいて前段部から与えられる前記データ転送のための要求パルスを受取るデータ転送制御装置であって、
前記前段部から前記要求パルスを入力して、与えられる個数データに基づいて複製して、複製して得られた前記要求パルスを順次に出力する第１自己同期型転送制御回路と、
前記第１自己同期型転送制御回路が前記要求パルスを入力する毎に、前記前段部から転送が要求される要求データを入力して保持する要求データレジスタと、
前記第１自己同期型転送制御回路から出力される前記要求パルスを受取る第２自己同期型転送制御回路と、
前記第２自己同期型転送制御回路が前記要求パルスを受ける毎に、外部に出力すべき出力データをロード信号に基づいて入力して保持し前記外部に出力する外部レジスタと、
前記出力データと前記ロード信号とを生成して前記外部レジスタに出力する信号生成部とを備え、
前記ロード信号は、前記外部レジスタに対して、保持している内容を前記出力データを用いて更新するか否かを指示することを特徴とする、データ転送制御装置。
【請求項１４】
前記前段部から前記要求パルスが与えられたとき前記第１自己同期型転送制御回路から前記要求パルスが順次に出力される毎にカウントしてカウント値を出力する計数回路をさらに備えて、
前記信号生成部は、前記要求データレジスタに保持される前記要求データと前記計数回路から出力されるカウント値とに基づいて、前記出力データと前記ロード信号とを生成して前記外部レジスタに出力することを特徴とする、請求項１３に記載のデータ転送制御装置。
【請求項１５】
前記前段部から前記要求パルスが与えられたとき前記第１自己同期型転送制御回路から前記要求パルスが順次に出力される毎にカウントしてカウント値を出力する計数回路をさらに備えて、
前記信号生成部は、前記要求データレジスタに保持される前記要求データと前記計数回路から出力されるカウント値と外部から与えられるロードパラメータとに基づいて、前記出力データと前記ロード信号とを生成して前記外部レジスタに出力することを特徴とする、請求項１３に記載のデータ転送制御装置。
【請求項１６】
複数段にパイプラインを接続して構成されるパイプライン列と、
前記パイプライン列において任意の前記パイプライン間に設けられて、データ転送の許可または禁止を指示する指示信号に基づいて、前段パイプラインから与えられる前記データ転送のための要求パルスを次段パイプラインに転送するデータ転送制御装置とを備えるデータ駆動型プロセッサであって、
前記データ転送制御装置は、
前記前段パイプラインから前記要求パルスを入力して、与えられる個数データに基づいて複製して、複製して得られた前記要求パルスを順次に出力する第１自己同期型転送制御回路と、
前記第１自己同期型転送制御回路が前記要求パルスを入力する毎に、データ駆動型処理のために転送が要求される要求データを前記前段パイプラインから入力して保持する要求データレジスタと、
与えられる消去指示信号で示される消去期間を除く期間では、前記第１自己同期型転送制御回路から出力される前記要求パルスを受ける毎に、受けた前記要求パルスを次段部に出力し、前記消去期間では前記第１自己同期型転送制御回路から出力される前記要求パルスを受ける毎に、受けた前記要求パルスを次段パイプラインに出力するのを抑制する第２自己同期型転送制御回路と、
与えられる情報に基づき前記消去指示信号を生成して前記第２自己同期型転送制御回路に出力する消去指示回路と、
前記第２自己同期型転送制御回路が前記要求パルスを受ける毎に、前記データ駆動型プロセッサの外部からデータを入力して保持する入力レジスタとを有して、
前記第２自己同期型転送制御回路が前記要求パルスを次段パイプラインに出力するときに、前記入力レジスタの内容を前記要求データとして前記次段パイプラインに出力することを特徴とする、データ駆動型プロセッサ。
【請求項１７】
複数段にパイプラインを接続して構成されるパイプライン列と、
前記パイプライン列の末端に接続されるデータ転送制御装置とを備えるデータ駆動型プロセッサであって、
前記データ転送制御装置は、
処理のためのデータの転送の許可または禁止を指示する指示信号に基づいて、前段パイプラインから与えられるデータ転送のための要求パルスを入力して、与えられる個数データに基づいて複製して、複製して得られた前記要求パルスを順次に出力する第１自己同期型転送制御回路と、
前記第１自己同期型転送制御回路が前記要求パルスを入力する毎に、前記前段パイプラインから転送が要求される要求データを入力して保持する要求データレジスタと、
前記第１自己同期型転送制御回路から出力される前記要求パルスを受ける毎に、受けた前記要求パルスを出力する第２自己同期型転送制御回路と、
前記第２自己同期型転送制御回路が前記要求パルスを受ける毎に、外部に出力すべき出力データをロード信号に基づいて入力して保持し前記データ駆動型プロセッサの外部に出力する外部レジスタと、
前記出力データと前記ロード信号とを生成して前記外部レジスタに出力する信号生成部とを有し、
前記ロード信号は、前記外部レジスタに対して、保持している内容を前記出力データを用いて更新する否かを指示することを特徴とする、データ駆動型プロセッサ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は自己同期型のデータ転送制御機能を有するデータ転送制御装置および該データ転送制御装置を備えるデータ駆動型プロセッサに関し、特に、転送されるデータを用いて信号を生成し、生成された信号を出力するデータ転送制御装置および該データ転送制御装置を備えるデータ駆動型プロセッサに関する。
【背景技術】
【０００２】
回路の大規模化とプロセスの微細化による配線に係る抵抗，配線間容量，配線長の増大に伴い回路の遅延に対する配線の影響が大きくなってきている。クロック同期型の回路（たとえば、クロック同期式のノイマン型プロセッサ）においては、回路全体にクロックを等遅延で分配することが肝要であるが、配線による遅延量の増大に伴い、クロック遅延のスキュー（ばらつき）を抑えたクロック分配が困難になってきている。このスキューの増大によりクロック同期型回路の動作周波数の向上と、回路を正しいタイミングで動作するようにレイアウトすること（レイアウトのタイミング収束という）とが困難になってきている。
【０００３】
このため、回路全体にクロックを等遅延で分配する必要の無い自己同期型転送制御機能を有するデータ駆動型プロセッサが検討されている。データ駆動型プロセッサでは、並列処理を可能とするために複数段のパイプラインが順次に接続されてなるパイプライン列を有する。各段のパイプライン内のレジスタは各段のパイプライン毎に個別に設けられた自己同期型転送制御回路から出力されるクロックで駆動される。隣接する段のパイプラインの自己同期型転送制御回路どうしは局所的に信号のハンドシェイクを行ないながら複数段に接続されたパイプラインを順にクロックが伝送される。データ駆動型プロセッサでは、制御情報とデータを含むパケットが、このクロックに従い各段のパイプラインのレジスタを経由して伝送されながら、パケット内のデータはパケット内の制御情報に従って処理されていく。等遅延でのクロック分配が必要な範囲は各自己同期型転送制御回路の出力クロックにより駆動されるパイプラインのレジスタ内に局所化されるため、回路の大規模化およびプロセスの微細化に伴うクロックスキュー増大を避けることができる。その結果、動作周波数の向上とレイアウトのタイミング収束が容易になる。
【０００４】
このような自己同期型転送制御機能を有するデータ駆動プロセッサの一例が特許文献１に示されてる。また、自己同期型転送制御機能を有するデータ駆動プロセッサがプロセッサ外部のデバイス、例えばＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）、ＣＰＵ（Central Processing Unit）などと信号をやり取りするために、該プロセッサに設けられる従来の信号生成取込み回路の一構成例を図１４に示す。
【０００５】
図１４を参照して従来の信号生成取込み回路１００５はパイプラインＰ１とＰ２、タイミング調整用の遅延素子６０５、ハンドシェイク信号およびパケット情報ＰＤに基づき出力６１８を生成して送出する組合せ回路からなる信号生成回路６０６、パケット情報ＰＤに基づき信号入力６１７の取込みを行なうかどうかを判断して選択信号６３０を生成して出力する組合せ回路からなる出力選択回路６０７、および出力選択回路６０７から出力された選択信号６３０に基づいて、与えられるパケット情報ＰＱ１（パケット情報ＰＱまたはＤの全体または一部の情報）と信号入力６１７とのうちの一方を選択的に入力して出力するセレクタ６０８を備える。出力６１８はＩＯ制御出力またはそれ以外の信号出力を示す。パイプラインＰ１は自己同期型転送制御回路（以下、Ｃ素子という）６０１とレジスタ６０３とを対応付けて含み、パイプライン２はＣ素子６０２とレジスタ６０４とを対応付けて含む。パケット情報は図１４の左側から右側へ転送される。
【０００６】
さらに信号生成取込み回路１００５は、パケット情報ＰＤを信号生成取込み回路１００５に転送する元のパイプライン（以下、前段パイプラインという。図１４においてパイプラインＰ１の左側の図示されないパイプライン）からのハンドシェイク要求／完了を信号ＣＩの２状態で入力する端子６０９、端子６０９からのハンドシェイク要求の受領／許可を信号ＲＯの２状態で出力する端子６１０、パケット情報ＰＱを信号生成取込み回路１００５から転送する先のパイプライン（以下、次段パイプラインという。図１４においてパイプラインＰ２の右側の図示されないパイプライン）へのハンドシェイク要求／完了を信号ＣＯの２状態で出力する端子６１１、端子６１１から出力したハンドシェイク要求に対する受領／許可を次段パイプラインから信号ＲＩの２状態で入力する端子６１２、信号生成取込み回路１００５を初期状態にリセットするための信号ＭＲＢを入力するための端子６１３、前段パイプラインから転送されたパケット情報ＰＤを入力するための端子６１４、、次段パイプラインへパケット情報ＰＱを出力するための端子６１５および遅延素子６０５の遅延値を指定する信号ＤＬＹを入力するための端子６１６を備える。以降、本説明では便宜的に信号ＣＩとＣＯそれぞれの２状態を要求＝０／完了＝１と割付け、信号ＲＩとＲＯそれぞれの２状態を受領＝０／許可＝１と割付けた場合の回路例を示す。またパケット情報ＰＤ、ＰＱおよびＱ１のそれぞれは、パイプライン列を転送される過程で処理されるデータと該データの処理を制御するための制御情報とを含む。
【０００７】
端子６１４、端子６１５および端子６１６ならびに信号入力６１７のための図示の無い端子および出力６１８のための図示の無い端子はバスの端子となっており、そのバス幅は任意でありシステムの要求に依存する。図１４の信号生成取込み回路１００５のデータ駆動プロセッサＰＲ１への組込み例を図１５に示す。図１５のデータ駆動型プロセッサＰＲ１では説明を簡単にするためにパイプラインを介してデータ転送しながら動作する他の要素（演算部、プログラム記憶部、発火制御部など）の図示は省略されている。
【０００８】
図１５においてデータ駆動プロセッサＰＲ１はパイプラインＰ０およびＰ３、信号生成取込み回路１００５、Ｉ／Ｏバッファ１００６、および端子１０１１〜１０１７を備える。端子１０１１〜１０１７は図１４の信号生成取込み回路１００５で説明した端子６０９〜６１５と同様な機能を有する。データ駆動プロセッサＰＲ１は外部バス１０１０を介してＲＡＭ／ＲＯＭ／ＣＰＵなどの各種デバイス１００７、１００８および１００９を接続する。パイプラインＰ０はＣ素子１００１とレジスタ１００３とを対応付けて有し、パイプラインＰ３はＣ素子１００２とレジスタ１００４とを対応付けて有する。
【０００９】
図１５において信号生成取込み回路１００５はパイプラインＰ０とＰ３間に挿入されパイプラインを伝播して来るパケット情報ＰＤに従って、Ｉ／Ｏバッファ１００６と外部バス１０１０を介して、ＲＡＭ／ＲＯＭ／ＣＰＵ等の各種デバイス１００７〜１００９からの信号入力６１７を取込み、または信号を生成して信号出力６１８として各種デバイス１００７〜１００９に送出する。
【００１０】
図１４のＣ素子（自己同期型転送制御回路６０１、６０２）及び図１５のＣ素子（自己同期型転送制御回路１００１、１００２）の内部構成を図１６に示す。図１６においてＣ素子は、端子８０１〜８０６、フリップフロップ８０７および８０８、論理回路８０９ならびに遅延素子８１０を備える。端子８０１〜８０５は図６の端子６０９〜６１３と同様な機能を有する。
【００１１】
端子８０６は前段パイプラインからの端子８０１を介したハンドシェイク完了の信号ＣＩと次段パイプラインからの端子８０４を介してハンドシェイク許可の信号ＲＩとを受けて当段パイプラインの対応のレジスタに端子８０６を介してクロックＣＰを供給する。フリップフロップ８０７は前段パイプラインから端子８０１を介して入力した信号ＣＩが示すハンドシェイク要求の受付状態を保持し、フリップフロップ８０８は端子８０３を介して出力される信号ＣＯが示す次段パイプラインへのハンドシェイク要求の送出状態を保持する。論理回路８０９は信号ＣＩの入力と、信号ＲＩの入力と、フリップフロップ８０７およびＸフリップフロップ８０８との間で同期を取る。遅延素子８１０はフリップフロップ８０８の出力を入力し、これを遅延させて信号ＣＯとして端子８０３に出力する。
【００１２】
ここで図１６のＣ素子（自己同期型転送制御回路）の動作を図１７のタイミングチャートで説明する。
【００１３】
図１７のハンドシェイク許可状態９０１でＣ素子は、前段パイプラインから出力された信号ＣＩが示すハンドシェイク要求９０２を端子８０１を介して受けると、フリップフロップ８０７の状態が変わり端子８０２を介して前段パイプラインに対して信号ＲＯが示すハンドシェイク受領９０３を出力する。これを受けて前段パイプラインから一定時間後に出力された信号ＣＩが示すハンドシェイク完了９０４を端子８０１を介して受けると、論理回路８０９でハンドシェイク完了且つ次段パイプラインがハンドシェイク許可状態９０５であることが確認され、応じてフリップフロップ８０７および８０８の状態が変わる。これにより前段パイプラインに対して信号ＲＯのハンドシェイク許可９０６が出力されると共に端子８０６からクロックＣＰの立上がりエッジ９０７が出力される。該Ｃ素子に対応のレジスタはクロックＣＰの立上がりエッジ９０７に応答して前段パイプラインから与えられるパケットの情報を入力して保持すると同時に次段パイプラインに向けて出力される。ここまでで前段パイプラインと当段パイプラインとの間でのハンドシェイクが一通り完了する。
【００１４】
さらに遅延素子８１０により一定時間後に次段パイプラインに信号ＲＯのハンドシェイク要求９０８が端子８０３を介して出力される。これを受けて次段パイプラインから出力されたハンドシェイク受領９０９を信号ＲＩとして端子８０４から受けると、フリップフロップ８０８の状態が変わる。これにより端子８０６からクロックＣＰの立下がりエッジ９１０が出力される。さらに遅延素子８１０により一定時間後に次段パイプラインにハンドシェイク完了９１１が端子８０３を介して信号ＣＯとして出力される。これを受けて次段パイプラインから出力された信号ＲＩのハンドシェイク許可９１２を端子８０４から受ける。ここまでで当段パイプラインと次段パイプラインとの間でのハンドシェイクが一通り完了する。
【００１５】
以上のような動作で前段パイプラインから当段パイプライン、そして当段パイプラインから次段パイプラインへとクロックが伝播されるとともにデータが転送されて行く。
【００１６】
ここで図１４の信号生成取込み回路の動作を図１８のタイミングチャートで説明する。図１８のタイミングチャートの信号と図１４の信号とにおいて同一のものには同じ符号が当てられる。前段パイプラインからのハンドシェイク要求により前段パイプラインとＣ素子６０１の間でハンドシェイクが行なわれ（状態７０１を参照）て、Ｃ素子６０１からのクロックＣＰ１の出力（状態７０２を参照）によりＣ素子６０１に対応のレジスタ６０３にパケット情報ＰＤが入力されて保持され、パケット情報Ｑ１として出力される（状態７０３を参照）。これを受けて信号生成回路６０６から出力６１８の一部が送出される（状態７０４を参照）。続いてＣ素子６０１と６０２間で信号Ｃ１〜Ｃ３および信号Ｒによるハンドシェイクが行なわれて（状態７０５を参照）、遅延素子６０５で調整されたハンドシェイク要求／完了信号Ｃ２の変化を受けて、信号生成回路６０６から出力６１８の残り部分が送出される（状態７０６を参照）。出力６１８のＩＯ制御出力と信号出力とは同タイミングで変化する。Ｃ素子６０１と６０２間でのハンドシェイク完了を受けて、Ｃ素子６０２からクロックＣＰ２が出力（状態７０７を参照）されて、レジスタ６０４はレジスタ６０３に保持されたパケット情報の一部Ｑ１とセレクタ６０８の出力情報とを入力して保持する（状態７０８を参照）。セレクタ６０８は、該パケット情報の一部Ｑ１に従う出力選択回路６０７による判断に基づき、パケット情報の残りか信号入力６１７のいずれかを選択的に入力してレジスタ６０４に出力する。
【００１７】
最後にＣ素子６０２から次段パイプラインに対してハンドシェイク要求が出力されＣ素子６０２と次段パイプラインとの間でハンドシェイクが行なわれる（状態７０９を参照）。以上のような動作で前段パイプラインから転送されたパケット情報ＰＤに応じて、信号生成（出力６１８）と信号取込み（信号入力６１７）が行なわれる。
【特許文献１】特開２００１−２８２７６５号公報
【発明の開示】
【発明が解決しようとする課題】
【００１８】
このように従来の構成では遅延素子６０５の遅延量を変更させることで、信号生成および取込みについて多少のタイミング調整が可能である。けれども、信号を生成するまたは信号を取込むという動作の順序を示すシーケンス自体はパイプラインのレジスタの内容と参照するハンドシェイク信号との変化タイミングに依存し、これらは回路構成上固定であるため、回路構成を変更しない限りシーケンス自体を自由に変えることはできなかった。
【００１９】
このため、例えばデータ駆動型プロセッサから外部デバイスのＲＡＭをアクセスするための信号生成取込み回路では、遅延素子６０５の遅延量を変更させることでアクセスのタイミングの微調整程度は可能であったものの、データ駆動型プロセッサからのアクセスシーケンスがＲＡＭのそれとは異なる他の種類のデバイスにＲＡＭと同一の信号生成取込み回路を流用することはできなかった。そのため、ＲＯＭをアクセスするための信号生成取込み回路、ＣＰＵをアクセスするための信号生成取込み回路といった具合に、データ駆動型プロセッサが信号生成（出力６１８）と取込み（信号入力６１７）の対象とするデバイス毎に信号生成取込み回路を用意する必要があった。このように信号生成取込み回路の汎用的な利用ができないために、アクセス対象のデバイスの種類を増やすと回路規模が増大するといった問題があった。
【００２０】
それゆえにこの発明の目的は、自己同期型のデータ転送を制御しながら、それぞれが異なるアクセスシーケンスを有するデバイスをアクセスできるデータ転送制御装置および該データ転送制御装置を有するデータ駆動型プロセッサを提供することである。
【課題を解決するための手段】
【００２１】
この発明のある局面に従うデータ転送制御装置は、データ転送の許可または禁止を指示する指示信号に基づいて、前段部から与えられる前記データ転送のための要求パルスを次段部に転送する装置である。
【００２２】
このデータ転送制御装置は、第１および第２自己同期型転送制御回路、要求データレジスタ、与えられる情報に基づき消去指示信号を生成して第２自己同期型転送制御回路に出力する消去指示回路および入力レジスタを備える。
【００２３】
第１自己同期型転送制御回路は、前段部から要求パルスを入力して、与えられる個数データに基づいて複製して、複製して得られた要求パルスを順次に出力する。
【００２４】
要求データレジスタは、第１自己同期型転送制御回路が要求パルスを入力する毎に、転送が要求される要求データ前段部から入力して保持する。
【００２５】
第２自己同期型転送制御回路は、与えられる消去指示信号で示される消去期間を除く期間では、第１自己同期型転送制御回路から出力される要求パルスを受ける毎に、受けた要求パルスを次段部に出力する。一方、消去期間では第１自己同期型転送制御回路から出力される要求パルスを受ける毎に、受けた要求パルスを次段部に出力するのを抑制する。
【００２６】
入力レジスタは第２自己同期型転送制御回路が要求パルスを受ける毎に、当該データ転送制御装置の外部からデータを入力して保持する。第２自己同期型転送制御回路が要求パルスを次段部に出力するときには、入力レジスタの内容は要求データとして次段部に出力される。
【００２７】
したがって、前段部から次段部へのデータ転送時には、第１自己同期型転送制御回路が前段部から要求パルスを入力してから個数データに基づき複写した複数の要求パルスを出力する間において、消去指示信号で示される消去期間でなくなったときには、第２自己同期型転送制御回路は、そのとき入力レジスタに保持されている外部からの入力データを次段部に要求データとして転送する。消去指示回路は与えられる情報に基づき消去指示信号を生成するから、外部からの入力データを次段部に転送するタイミングは消去指示回路に与える情報により任意に調整できる。
【００２８】
それゆえに、デバイス毎にデータ転送制御装置からのアクセスシーケンスが異なるとしても、各デバイスからの入力データを次段部に自己同期型でデータ転送するタイミングを、個数データまたは消去指示回路に与える情報を用いてデバイス毎のアクセスシーケンスの相違に従い決定できる。
【００２９】
したがって、同一のデータ転送制御装置をアクセスシーケンスが異なる複数デバイス間で共用することができる。
【００３０】
好ましくは、前段部から入力する要求データに基づいて個数データを生成し、第１自己同期型転送制御回路に出力する個数データ生成部をさらに備える。
【００３１】
したがって、上述のようにデバイス毎に異なるアクセスシーケンスを相違を吸収するために用いられる個数データは、前段部から転送されて入力した要求データに基づいて決定することができる。
【００３２】
好ましくは、前段部から要求パルスが与えられたとき第１自己同期型転送制御回路から要求パルスが順次に出力される毎にカウントしてカウント値を出力する計数回路をさらに備える。
【００３３】
したがって、計数回路の出力するカウント値により、第１自己同期転送制御回路から出力される要求パルスは何個目に複製されたものであるかを示すことが出来る。
【００３４】
好ましくは、消去指示回路は、要求データレジスタに保持された要求データと計数回路から出力されるカウント値とに基づいて、消去指示信号を生成する。
【００３５】
したがって、消去指示信号が示す外部からの入力データの次段部への転送のタイミングは、前段部から入力した要求データと計数回路から出力されるカウント値とに基づき、第２自己同期型転送制御回路が要求パルスを受けるタイミングに同期するものであって、要求データに基づいて、そのタイミングを決定できる。
【００３６】
好ましくは、消去指示回路は、要求データレジスタに保持された要求データと計数回路から出力されるカウント値と外部から与えられる消去パラメータとに基づいて、消去指示信号を生成する。
【００３７】
したがって、消去指示信号が示す外部からの入力データの次段部への転送のタイミングは、前段部から入力した要求データと計数回路から出力されるカウント値とに基づき、第２自己同期型転送制御回路が要求パルスを受けるタイミングに同期するものであって、要求データとデータ転送制御装置の外部から与える消去パラメータにより、そのタイミングを任意に調整できる。
【００３８】
好ましくは、第２自己同期型転送制御回路が要求パルスを受ける毎に、ロード信号に基づいて、外部に出力すべき出力データを入力して保持し外部に出力する外部レジスタと、出力データとロード信号とを生成して外部レジスタに出力する信号生成部とをさらに備える。
【００３９】
そして、ロード信号は、外部レジスタに保持されている内容を出力データを用いて更新する否かを外部レジスタに対して指示する。
【００４０】
したがって、データ転送制御装置を介して前段部から次段部へ要求データを転送するときには、データ転送制御装置の外部のデバイスなどに出力すべきデータを生成して、生成したデータを外部デバイスなどに対して出力できる。
【００４１】
好ましくは、信号生成部は、要求データレジスタに保持される要求データと計数回路の出力するカウント値とに基づいて、出力データとロード信号とを生成して外部レジスタに出力する。
【００４２】
したがって、外部デバイスに与えるデータと出力のタイミングは前段部から入力した要求データと計数回路の出力するカウント値が示すタイミング、すなわち第２自己同期型転送制御回路が要求パルスを受けるタイミングに同期するタイミングに従い更新されて出力される。
【００４３】
好ましくは、信号生成部は、要求データレジスタに保持される要求データと計数回路の出力するカウント値と外部から与えられるロードパラメータとに基づいて、出力データとロード信号とを生成して外部レジスタに出力する。
【００４４】
したがって、外部デバイスに与えるデータと出力のタイミングは前段部から入力した要求データと計数回路の出力するカウント値と、すなわち第２自己同期型転送制御回路が要求パルスを受けるタイミングに同期するタイミングと、データ転送制御装置の外部から与えるロードパラメータとを用いて決定できる。
【００４５】
好ましくは、第２自己同期型転送制御回路が要求パルスを受ける毎に、要求データレジスタに保持された要求データを入力して保持する保持レジスタと、与えられる選択信号に基づいて、保持レジスタの内容または入力レジスタの内容を出力するためのセレクタと、選択信号を生成してセレクタに出力する選択信号生成回路とをさらに備える。
【００４６】
したがって、次段部に転送される要求データとして、前段部から入力して保持された要求データまたは外部から入力したデータの両方または一方を選択信号に基づいて選択して、次段部に要求パルスに従い転送できる。
【００４７】
好ましくは、選択信号生成回路は、保持レジスタに保持された要求データに基づき、選択信号を生成してセレクタに出力する。
【００４８】
したがって、選択信号は前段部から入力した要求データに基づき決定できる。
【００４９】
好ましくは、選択信号生成回路は、保持レジスタで保持された要求データおよび計数回路からのカウント値に基づき、選択信号を生成してセレクタに出力する。
【００５０】
したがって、選択信号と選択のタイミングは、前段部から入力した要求データとカウント値が示すタイミング、すなわち第２自己同期型転送制御回路が要求パルスを受けるタイミングに同期するタイミングとに基づき決定される。
【００５１】
好ましくは、選択信号生成回路は、保持レジスタに保持された要求データ、計数回路からのカウント値および外部から与えられる選択パラメータに基づき、選択信号を生成してセレクタに出力する。
【００５２】
したがって、選択信号と選択のタイミングは、前段部から入力した要求データとカウント値が示すタイミングと、データ転送制御装置の外部から与える選択パラメータとに基づき決定できる。
【００５３】
この発明の他の局面に従うデータ転送制御装置は、データ転送の許可または禁止を指示する指示信号に基づいて前段部から与えられるデータ転送のための要求パルスを受取る。
【００５４】
このデータ転送制御装置は、第１および第２自己同期型転送制御回路、要求データレジスタ、外部レジスタおよび信号生成部を備える。
【００５５】
第１自己同期型転送制御回路は、前段部から要求パルスを入力して、与えられる個数データに基づいて複製して、複製して得られた要求パルスを順次に出力する。
【００５６】
要求データレジスタは、第１自己同期型転送制御回路が要求パルスを入力する毎に、前段部から転送が要求される要求データを入力して保持する。
【００５７】
第２自己同期型転送制御回路は、第１自己同期型転送制御回路から出力される要求パルスを受取る。
【００５８】
外部レジスタは、第２自己同期型転送制御回路が要求パルスを受ける毎に、外部に出力すべき出力データをロード信号に基づいて入力して保持し外部に出力する。
【００５９】
信号生成部は、出力データとロード信号とを生成して外部レジスタに出力する。このロード信号は、外部レジスタに対して、保持している内容を出力データを用いて更新するか否かを指示する。
【００６０】
したがって、前段部から次段部に要求パルスとともにデータを受取るとき、個数データに基づき複製された複数の要求パルスが出力される期間において、前段部から入力した要求データに基づき出力データが生成されて外部デバイスに出力される。この出力データは要求データに基づくタイミングで更新される。
【００６１】
それゆえに、外部デバイス毎にデータ転送制御装置からのアクセスシーケンスが異なる、すなわち出力データの更新タイミングが異なるとしても、要求データに従うタイミングで更新されたデータを出力できる。したがって、要求データにより各デバイスに対して適当なタイミングでデータを出力できる。その結果、同一のデータ転送制御装置をアクセスシーケンスが異なる複数デバイス間で共用することができる。
【００６２】
好ましくは、データ転送制御装置は前段部から要求パルスが与えられたとき第１自己同期型転送制御回路から要求パルスが順次に出力される毎にカウントしてカウント値を出力する計数回路をさらに備える。そして、信号生成部は、要求データレジスタに保持される要求データと計数回路から出力されるカウント値とに基づいて、出力データとロード信号とを生成して外部レジスタに出力する。
【００６３】
したがって、出力データの値および外部に与えられる出力データの更新タイミングを、前段部から入力した要求データと、カウント値すなわち第２自己同期型転送制御回路が第１自己同期型転送制御回路から複製された要求パルスを順次に受けるタイミングとに基づいて決定できる。
【００６４】
好ましくは、データ転送制御装置は前段部から要求パルスが与えられたとき第１自己同期型転送制御回路から要求パルスが順次に出力される毎にカウントしてカウント値を出力する計数回路をさらに備える。そして信号生成部は、要求データレジスタに保持される要求データと計数回路から出力されるカウント値と外部から与えられるロードパラメータとに基づいて、出力データとロード信号とを生成して外部レジスタに出力する。
【００６５】
したがって、出力データの値および外部に与えられる出力データの更新タイミングを、前段部から入力した要求データと、カウント値すなわち第２自己同期型転送制御回路が第１自己同期型転送制御回路から複製された要求パルスを順次に受けるタイミングと、データ転送制御装置の外部から与える任意のロードパラメータに基づいて決定できる。
【００６６】
この発明のさらに他の局面に従うデータ駆動型プロセッサは、複数段にパイプラインを接続して構成されるパイプライン列と、パイプライン列において任意のパイプライン間に設けられて、データ転送の許可または禁止を指示する指示信号に基づいて、前段パイプラインから与えられるデータ転送のための要求パルスを次段パイプラインに転送するデータ転送制御装置とを備える。
【００６７】
データ転送制御装置は、第１および第２自己同期型転送制御回路、要求データレジスタ、与えられる情報に基づき消去指示信号を生成して第２自己同期型転送制御回路に出力する消去指示回路および入力レジスタを有する。
【００６８】
第１自己同期型転送制御回路は、前段パイプラインから要求パルスを入力して、与えられる個数データに基づいて複製して、複製して得られた要求パルスを順次に出力する。
【００６９】
要求データレジスタは、第１自己同期型転送制御回路が要求パルスを入力する毎に、データ駆動型処理のために転送が要求される要求データを前段パイプラインから入力して保持する。
【００７０】
第２自己同期型転送制御回路は、与えられる消去指示信号で示される消去期間を除く期間では、第１自己同期型転送制御回路から出力される要求パルスを受ける毎に、受けた要求パルスを次段部に出力し、消去期間では第１自己同期型転送制御回路から出力される要求パルスを受ける毎に、受けた要求パルスを次段パイプラインに出力するのを抑制する。
【００７１】
入力レジスタは、第２自己同期型転送制御回路が要求パルスを受ける毎に、データ駆動型プロセッサの外部からデータを入力して保持する。
【００７２】
そして、第２自己同期型転送制御回路が要求パルスを次段パイプラインに出力するときに、入力レジスタの内容を要求データとして次段パイプラインに出力する。
【００７３】
したがって、前段パイプラインから次段パイプラインに要求パルスを転送しながらデータ駆動型に従い処理される要求データを転送するとき、第１自己同期型転送制御回路から個数データに基づき複写された複数の要求パルスが出力されて第２自己同期型転送制御回路で受ける間において、消去指示信号で示される消去期間でなくなったときには、そのとき入力レジスタに保持されている外部からの入力データは要求データとして次段部に転送される。消去指示回路は消去指示信号を、与えられる情報に基づき生成するから、入力レジスタに保持されている入力データを次段部に転送するタイミングは消去指示回路に与える情報により任意に調整できる。
【００７４】
それゆえに、個数データまたは消去指示回路に与える情報を用いてデバイス毎のアクセスシーケンスの相違を吸収して、各デバイスからの入力データをデータ駆動型に従い処理するために次段部に自己同期型でデータ転送することができる。
【００７５】
したがって、同一のデータ転送制御装置をアクセスシーケンスが異なる複数デバイス間で共用することができる。この結果、データ駆動型プロセッサの構成が大規模化するのが抑制される。
【００７６】
この発明のさらに他の局面に従うデータ駆動型プロセッサは、複数段にパイプラインを接続して構成されるパイプライン列と、パイプライン列の末端に接続されるデータ転送制御装置とを備える。
【００７７】
データ転送制御装置は、第１および第２自己同期型転送制御回路、要求データレジスタ、外部レジスタおよび信号生成部を備える。
【００７８】
第１自己同期型転送制御回路は、処理のためのデータの転送の許可または禁止を指示する指示信号に基づいて、前段パイプラインから与えられるデータ転送のための要求パルスを入力して、与えられる個数データに基づいて複製して、複製して得られた前記要求パルスを順次に出力する。
【００７９】
要求データレジスタは、第１自己同期型転送制御回路が要求パルスを入力する毎に、前段パイプラインから転送が要求される要求データを入力して保持する。
【００８０】
第２自己同期型転送制御回路、第１自己同期型転送制御回路から出力される要求パルスを受ける毎に、受けた前記要求パルスを出力する。
【００８１】
外部レジスタは、第２自己同期型転送制御回路が要求パルスを受ける毎に、外部に出力すべき出力データをロード信号に基づいて入力して保持しデータ駆動型プロセッサの外部に出力する。
【００８２】
信号生成部は、出力データとロード信号とを生成して外部レジスタに出力する。このロード信号は、外部レジスタに対して、保持している内容を出力データを用いて更新する否かを指示する。
【００８３】
したがって、個数データに基づき複製された複数の要求パルスが出力される期間において、前段部から入力した要求データに基づき出力データを生成して外部デバイスに出力しており、この出力データは要求データに基づくタイミングで更新される。
【００８４】
それゆえに、外部デバイス毎にデータ駆動型プロセッサからのアクセスシーケンスが異なる、すなわち出力データの更新タイミングが異なるとしても、要求データを用いてデバイス毎のアクセスシーケンスの相違を吸収して、各デバイスに対して適当なタイミングで更新されたデータを出力できる。したがって、同一のデータ転送制御装置をアクセスシーケンスが異なる複数デバイス間で共用することができるから、複数種類のデバイスをアクセスするようなデータ駆動型プロセッサであっても、その構成の大規模化を抑制できる。
【発明を実施するための最良の形態】
【００８５】
以下、この発明の各実施の形態について図面を参照して説明する。
【００８６】
（実施の形態１）
図１に実施の形態１に係る信号生成取込み回路１００の構成を示す。信号生成取込み回路１００は自己同期型のデータ転送制御回路はデータ転送の許可または禁止を示す転送許可信号ＲＯまたはＲＩに基づいて前段のパイプライン（または前段のＣ素子）から与えられる信号ＣＩ（データ転送の要求パルス）を次段のパイプライン（または次段のＣ素子）に転送する。
【００８７】
図２に本実施の形態で用いられるパケットの構成が示される。図２を参照してパケット情報ＰＤは、必要ステート数情報Ｄ１を格納するフィールドＦ１、ストローブ情報Ｄ２を格納するフィールドＦ２、ロード用情報Ｄ３を格納するフィールドＦ３、選択用情報Ｄ４を格納するフィールドＦ４およびその他情報Ｄ５を格納するフィールドＦ５含む。その他情報Ｄ５は命令情報、演算のためのデータ、次位の命令情報を特定するための行先情報などを含む。後述のパケット情報ＰＱも図２と同様の構成を有する。
【００８８】
図１において信号生成取込み回路１００は、コピー機能付きＣ素子（コピー機能付き自己同期型転送制御回路）１０１、消去機能付きＣ素子（消去機能付き自己同期転送制御回路）１０２、パケット情報ＰＤを入力して一旦保持するためのレジスタ１０３、レジスタ１０３に保持されたパケット情報ＰＤのうちの必要ステート数情報Ｄ１を参照するコピー数デコーダ１０４、シーケンスの状態を計数するためのステートカウンタ１０５、出力１２３として生成された信号を保持するためのロード機能付きレジスタ１０６、レジスタ１０７、信号入力１２４を信号生成取込み回路１００の内部に取込むためのレジスタ１０８、レジスタ１０３に保持されたパケット情報ＰＤのうちのストローブ用情報Ｄ２を参照するストローブデコーダ１０９、レジスタ１０３に保持されたパケット情報ＰＤのうちのロード用情報Ｄ３を参照するロードデコーダ１１０、レジスタ１０７に一部分保持されたパケット情報ＰＤのうちの選択用情報Ｄ４を参照する出力選択回路１１１、セレクタ１１２、端子１１３〜１１７、前段パイプラインからのパケット情報ＰＤを入力する端子１１８、次段パイプラインへパケット情報ＰＱを出力する端子１１９、ロードパラメータＬＤＰを入力する端子１２０、ストローブパラメータＳＴＰを入力する端子１２１および選択パラメータＳＬＰを入力する端子１２２を備える。端子１１３〜１１７は図６の端子６０９〜６１３と同様の機能を有する。
【００８９】
図１の信号生成取込み回路１００では、信号入力１２４の値（データ）を取込み、その値をパケット情報ＰＱとして端子１１９を介して出力し、次段パイプラインに対してへハンドシェイク要求を送出することをストローブするという。
【００９０】
ロードパラメータＬＤＰ、ストローブパラメータＳＴＰおよび選択パラメータＳＬＰそれぞれは、ロードデコーダ１１０、ストローブデコーダ１０９および出力選択回路１１１それぞれの動作を外部から制御するためのパラメータである。
【００９１】
ストローブパラメータＳＴＰは、例えば、ストローブデコーダ１０９に対してストローブ用情報Ｄ２の扱い方を指示する。ストローブパラメータＳＴＰは、ストローブ用情報Ｄ２を用いるか否かの指示、およびストローブ用情報Ｄ２を用いない場合に代わりに使用するストローブ用情報自体を含む。
【００９２】
ロードパラメータＬＤＰは、ロードデコーダ１１０に対してロード用情報Ｄ３の扱い方を指示する。ロードパラメータＬＤＰは、ロード用情報Ｄ３を用いるか否かの指示、用いる場合でもロード用情報Ｄ３の全部を用いるか一部のみ用いるかの指示およびロード用情報Ｄ３を用いない場合には代わりに使用するロード用情報自体を含む。
【００９３】
選択パラメータＳＴＰは、出力選択回路１１１に対して選択用情報Ｄ４の扱い方を指示する。選択パラメータＳＴＰは、選択用情報Ｄ４を用いるか否かの指示、および選択用情報Ｄ４を用いない場合に代わりに使用する選択用情報自体を含む。
【００９４】
これら各パラメータ値の決定基準は、パケット情報ＰＤに依らないアクセスシーケンスで信号入力１２４の取込みまたは出力１２３の送出を行いたい場合があるかどうか、そして、その場合に要求されるアクセスシーケンスに依存して決定される。
【００９５】
例えば、ストローブパラメータＳＴＰは、どのタイミングで信号入力１２４を取込むのかにより決定される。また、ロードパラメータＬＤＰであれば、出力が複数種類の信号を含む場合に、どのタイミングでどの種類の信号をどういった値（レベル）に設定するのかにより決定される。また、選択パラメータＳＬＰであれば、信号入力１２４として取込んだ値を、出力すべきパケット情報ＰＱに反映するのかどうかにより決定される。
【００９６】
カウンタ１０５はシーケンスのステートを計数する。ここではシーケンスのステートとは、シーケンス(信号を生成して出力１２３として送出するまたは信号入力１２４を取込む動作の順序)を区別するための各状態（ステート）を指す。この時、カウンタ１０５が出力するカウント値ＣＮＴは各状態を一意に特定するための番号を示す。
【００９７】
カウンタ１０５は、消去機能付きＣ素子１０２が出力するクロックＣＰ２の立上がりエッジに応答してカウント動作してカウント値ＣＮＴを出力する。カウント値ＣＮＴの変化の仕方は、クロックＣＰ２の立上がりエッジ毎に信号ＦＥＢに基づき決定する。信号ＦＥＢがレベルＬ（low）であれば初期状態の番号０(ステート０)に、信号ＦＥＢがレベルＨ（High）であれば次の状態の番号(前がステートＮならステートＮ＋１（ただし、Ｎは整数）)に変わる。カウント値ＣＮＴはクロックＣＰ２の立上がりエッジ毎に変わることから、カウント値ＣＮＴが示すステートの番号は論理的な信号変化順序の区別だけでなく、例えば、あるステートでの信号変化から数ステート後に次の信号変化をさせるなど、クロックＣＰ２の立上がりエッジ間隔を基準にした期間の区別にも用いられる。
【００９８】
コピー数デコーダ１０４は必要ステート数情報Ｄ１を入力して、これをコピー機能付きＣ素子１０１が要求する形式に従いデコードし、デコード結果を示すデータ１３１をコピー機能付きＣ素子１０１に出力する。
【００９９】
カウンタ１０５のカウント値ＣＮＴは、ストローブデコーダ１０９、ロードデコーダ１１０および出力選択回路１１１に与えられる。
【０１００】
ストローブデコーダ１０９およびロードデコーダ１１０は、コピー機能付きＣ素子１０１の信号ＦＥＢとカウンタ１０５のカウント値ＣＮＴのペアにより、次のステート番号を取得する。具体的には、信号ＦＥＢがレベルＬであれば次ステートはステート０、信号ＦＥＢがレベルＨであれば次ステートはステートＣＮＴ＋１というように取得する。ストローブデコーダ１０９は、取得した次ステート番号とストローブ用情報Ｄ２とストローブパラメータＳＴＰに基づいてデコードして、デコード結果に基づき、次ステートが信号入力１２４をストローブすべきステートか否かを判断し、その判断結果を消去機能付きＣ素子１０２に消去指示ＥＸＢとして出力する。
【０１０１】
ロードデコーダ１１０は、取得した次ステート番号とロード用情報Ｄ３とロードパラメータＬＤＰに基づき、次ステートがロード機能付きレジスタ１０６に保持される情報の更新（情報の一部または全部の更新）すべきステートか否かを判断し、その判断結果をロード機能付きレジスタ１０６にロード信号１３３およびデータ信号１３２として出力する。ロード信号１３３は情報を更新すべきか否かをロード機能付きレジスタ１０６に対して指示し、データ信号１３２は更新に用いられる情報を示す。
【０１０２】
コピー機能付きＣ素子１０１は、端子１１３を介して入力する信号ＣＩが示すハンドシェイク要求パルスを、与えられるデコード結果データ１３１に基づいて、必要に応じてコピーして出力する。レジスタ１０７はレジスタ１０３に保持されて出力されるパケット情報ＰＤの情報Ｄ１〜Ｄ５うち、当該信号生成取込み回路１００をそのまま通過する（そのまま端子１１９に与えられる）情報を入力して保持する。
【０１０３】
ストローブデコーダ１０９は、信号入力１２４を当該信号生成取込み回路１００に取込むタイミングを示すストローブタイミングを、すなわちストローブのステートをストローブ用情報Ｄ２と前述のように取得した次ステート番号と端子１２１から入力するストローブパラメータＳＴＰとに基づいて判断する。そして、判断されたストローブタイミング以外のタイミングにおいてはハンドシェイク要求パルスを該信号生成取込み回路１００の外に出力しないように消去機能付きＣ素子１０２に対して消去指示ＥＸＢを出力する。ここで信号ＦＥＢは、コピー機能付きＣ素子１０１において同一のハンドシェイク要求（信号ＣＩ）を複数回コピーした結果出力される複数のハンドシェイク要求の信号Ｃのうち、１回目のコピーにより得られたハンドシェイク要求の信号Ｃが出力されていることを示す負論理のフラグ情報である。なお１回のコピーにより１個の信号Ｃが出力されると想定する。
【０１０４】
出力選択回路１１１は、入力するカウント値ＣＮＴにより現在のステート番号が指示される。出力選択回路１１１は、指示される現在のステート番号と選択用情報Ｄ４と選択パラメータＳＬＰとに基づいて、現ステートでレジスタ１０８に取込んで保持されている入力データ（信号入力１２４が示すデータ）とレジスタ１０７に保持された元のパケット情報ＰＤの一部とのどちらを出力として選択するか判断して、判断結果を選択信号１３０としてセレクタ１１２に出力する。
【０１０５】
セレクタ１１２は選択信号１３０に従って、レジスタ１０８に保持されるデータおよびレジスタ１０７に保持された元のパケット情報ＰＤの一部のいずれかを選択的に入力して、端子１１９に出力する。このときレジスタ１０７からはクロックパルスＣＰ２に応答して、そこに保持される情報が端子１１９に出力される。したがって、端子１１９からは、セレクタ１１２が出力する情報とレジスタ１０７が出力する情報とからなるパケット情報ＰＱが、次段パイプラインに送出される。
【０１０６】
図１の信号生成取込み回路１００のデータ駆動プロセッサＰＲへの組込み例を図３に示す。その動作は図１０と同様であるから説明は略す。
【０１０７】
図１のコピー機能付きＣ素子１０１は前段パイプラインから与えられるコピー指示に従って信号ＣＩが示すハンドシェイク要求を必要数分コピーして、信号Ｃが示すハンドシェイク要求を複数個、消去機能付きＣ素子１０２に出力する。そのための構成例の１つが特許文献１に示される。本実施の形態でも便宜的に該構成を用いる。
【０１０８】
図４には本実施の形態に係るコピー機能付きＣ素子１０１の構成が示される。図４を参照してコピー機能付きＣ素子１０１は、Ｃ素子４０１と４０２、端子４１９〜４２８、コピー数デコーダ１０４から端子４２４、４２５および４２６を介して与えられる消去指示ｅＸＢ、コピー指示ＣＰＹおよびハンドシェイク要求のコピー回数を指定するコピー数データＮＵＭをそれぞれ入力して保持するレジスタ４０３、４０４および４０５、カウンタ４０６、レジスタ４０７、論理ゲート回路４０８〜４１６および４１８、およびフリップフロップ回路４１７を備える。消去指示ｅＸＢ、コピー指示ＣＰＹおよびコピー数データＮＵＭはデコード結果データ１３１により指示される。端子４１９と４２０は端子１１３と１１４に接続されて、端子４２３は端子１１７に接続されて、端子４２７はレジスタ１０３に接続され、端子４２８はストローブデコーダ１０９、ステートカウンタ１０５およびロードデコーダ１１０に接続され、端子４２１と４２２はＣ素子１０２に接続される。
【０１０９】
端子４２４から与えられる消去指示ｅＸＢ（負論理）がレベルＬであれば、消去機能付きＣ素子１０２へのハンドシェイク要求の出力は抑制される（消去される）。消去指示ＥＸＢがレベルＨで且つ端子４２５を介して与えられるコピー指示ＣＰＹ（正論理）がレベルＬであれば、消去機能付きＣ素子１０２へハンドシェイク要求が１つだけ出力される（コピーはされない）。
【０１１０】
消去指示ｅＸＢがレベルＨで且つコピー指示ＣＰＹがレベルＨであれば、ハンドシェイク要求が端子４２６を介して与えられるコピー数データＮＵＭに基づいてコピーされて、その結果、複数個のハンドシェイク要求が消去機能付きＣ素子１０２へ出力される（ハンドシェイク要求はコピーされる）。この場合には、（コピー数データＮＵＭが示す値＋２個）分のハンドシェィク要求が出力される。
【０１１１】
カウンタ４０６はレジスタ４０５に保持されたコピー数データＮＵＭが指示する値をカウントして、カウント終了後に出力ＺからレベルＨの信号を論理ゲート４１２および４１６に出力するが、それまでは出力ＺからはレベルＬの信号を出力する。レジスタ４０７ならびに論理ゲート４１５および４１６は、コピーが終了するまで前段パイプラインへのハンドシェイク許可を示す信号ＲＯの出力を抑制するために、コピー中であることを示す状態を保持するように作用する。
【０１１２】
論理ゲート４０８〜４１０はレジスタ４０３と４０４に保持された消去指示ｅＸＢとコピー指示ＣＰＹの組合せに従って、次のように作用する。まずＣ素子４０２にハンドシェイク要求の信号ＣＯを論理ゲート４１３を介して出力する場合（ハンドシェイク要求の消去で無くコピーの場合）か否か、Ｃ素子４０１からのハンドシェイク要求を次段に出力する場合（ハンドシェイク要求の消去で無い場合）かどうか、Ｃ素子４０１からのハンドシェイク要求を論理ゲート４１１を介してＣ素子４０１自身の受領信号（信号ＲＩ）としてフィードバックさせる場合（ハンドシェイク要求の消去の場合）か否かを制御する。
【０１１３】
論理ゲート４１１は次段からのハンドシェイク許可の信号ＲＲ、Ｃ素子４０２からのハンドシェイク許可およびＣ素子４０１が出力するハンドシェイク要求のフィードバック信号を、Ｃ素子４０１へのハンドシェイク許可の信号ＲＩとしてとりまとめる。
【０１１４】
論理ゲート４１２および４１３は、カウンタ４０６の出力Ｚに従ってコピー動作中のＣ素子４０２のハンドシェイク要求出力（信号ＣＯ）を、Ｃ素子４０２自身へのハンドシェイク要求入力（信号ＣＩ）にフィードバックさせるように作用する。
【０１１５】
論理ゲート４１４はＣ素子４０１および４０２のハンドシェイク要求出力（信号ＣＯ）を、消去機能付きＣ素子１０２へのハンドシェイク要求（信号Ｃ）としてとりまとめて端子４２１に出力する。
【０１１６】
フリップフロップ回路４１７と論理ゲート４１８は、消去機能付きＣ素子１０２へ出力しているハンドシェイク要求（信号Ｃ）が１つ目であるかどうかを示す信号ＦＥＢを生成して端子４２８に与える。
【０１１７】
図４のコピー機能付きＣ素子１０１の動作は図５のタイミングチャートに従う。このタイミングチャートは特許文献１に示されるものと同様なので、ここでは説明を省略する。
【０１１８】
図１の消去機能付きＣ素子１０２は、前段パイプラインからの消去指示に従って、ハンドシェイク要求の次段パイプラインへの出力を抑制する機能を持つ。消去機能付きＣ素子１０２の構成を図６に示す。
【０１１９】
図６を参照して消去機能付きＣ素子１０２は端子５０６〜５１２、Ｃ素子５０１、端子５１１を介して与えられる消去指示ＥＸＢを入力して保持するレジスタ５０２および論理ゲート５０３〜５０４を備える。レジスタ５０２に保持された消去指示ＥＸＢは論理ゲート５０３と５０４に与えられる。消去機能付きＣ素子１０２は、端子５１１から入力する負論理に従う消去指示ＥＸＢがレベルＬであれば、次段パイプラインへのハンドシェイク要求（信号ＣＯ）の出力を抑制する（消去する）が、レベルＨであれば、次段パイプラインへハンドシェイク要求を（１つ）出力する。
【０１２０】
論理ゲート５０３と５０４は、与えられる消去指示ＥＸＢに従って、次段へハンドシェイク要求を出力する（消去で無い）か否か、Ｃ素子５０１からのハンドシェイク要求をＣ素子５０１自身への信号ＲＩである受領信号としてフィードバックさせる（消去する）か否かを制御する。
【０１２１】
論理ゲート５０５は次段パイプラインからのハンドシェイク許可を示す信号ＲＩおよびＣ素子５０１のハンドシェイク要求の出力である信号ＣＯのフィードバックを、Ｃ素子５０１に対するハンドシェイク許可の信号ＲＩとしてとりまとめて、Ｃ素子５０１に与える。
【０１２２】
端子５０６〜５１０は、図１４の端子６０９〜６１３と同様な機能を有する。
【０１２３】
図７に従い図６の消去機能付きＣ素子１０２の動作を説明する。まず、消去動作の場合(消去指示ＥＸＢがレベルＬの場合）について説明する。ハンドシェイク許可状態（状態０２０１を参照）でＣ素子５０１はコピー機能付きＣ素子１０１から出力された信号Ｃのハンドシェイク要求（状態０２０２を参照）を端子５０６から信号ＣＩとして入力すると、ハンドシェイク受領として信号ＲＯを端子５０７を介してコピー機能付きＣ素子１０１に信号ＲＲとして与える（状態０２０３を参照）。
【０１２４】
コピー機能付きＣ素子１０１は信号ＲＲを入力すると、一定時間後にハンドシェイク完了を示す信号Ｃを出力する。信号Ｃは端子５０６を介してＣ素子５０１に信号ＣＩとして与えられる（状態０２０４を参照）。
【０１２５】
Ｃ素子５０１は信号ＣＩを入力し且つ、次段パイプラインがハンドシェイク許可状態（０２０５を参照）であることを示す信号ＲＩを入力するので、コピー機能付きＣ素子１０１に対して、ハンドシェイク許可状態（状態０２０６を参照）を示す信号ＲＯ（信号ＲＲ）を端子５０７を介して出力すると共にクロックＣＰ（ＣＰ２）の立上がりエッジ（状態０２０７を参照）を端子５１２およびレジスタ５０２に出力する。レジスタ５０２は、このクロックＣＰ（ＣＰ２）の立上りエッジが与えられたことに応じて、端子５１１から与えられている消去指示ＥＸＢのレベルＬ（状態０２０８を参照）を入力して保持する。この結果、レジスタ５０２の端子Ｑの出力信号がレベルＬに確定する（状態０２０９を参照）となる。
【０１２６】
さらに一定時間後、論理ゲート５０３はハンドシェイク要求であるＣ素子５０１の出力信号ＣＯの反転信号とレジスタ５０２の端子Ｑの信号とを入力する（状態０２１０と０２１１を参照）ので、論理ゲート５０３の出力する信号はレベルＨである。この結果、ハンドシェイク要求の信号ＣＯは端子５０８を介して次段パイプラインへは出力されない(状態０２１２を参照)。このため、次段パイプラインからのハンドシェイク受領を示す信号ＲＩは端子５０９に与えられない(状態０２１３を参照)。
【０１２７】
けれども、レジスタ５０２の端子Ｑからの出力信号はレベルＬであるために（状態０２１１を参照）、論理ゲート５０４と５０５を介してＣ素子５０１の出力するハンドシェイク要求（状態０２１０参照）がＣ素子５０１に対してハンドシェイク要求の受領（状態０２１４を参照）としてフィードバックされる。これによりＣ素子５０１からクロックＣＰ（ＣＰ２）の立下がりエッジ（状態０２１５を参照）が出力される。
【０１２８】
さらに一定時間後にＣ素子５０１からハンドシェイク完了の信号（状態０２１６を参照）が出力される。この信号は論理ゲート５０４と５０５を介してＣ素子５０１にハンドシェイク許可の信号（状態０２１７を参照）としてフィードバックされる。以上のような動作で、消去機能付きＣ素子１０２はコピー機能付きＣ素子１０１とハンドシェイクを行い、次段パイプラインへのハンドシェイク要求の送出を抑制（消去）する。
【０１２９】
次に、ハンドシェイク要求を通常に転送する場合(消去指示ＥＸＢがレベルＨである場合)の動作について説明する。
【０１３０】
Ｃ素子５０１はコピー機能付きＣ素子１０１に端子５０７を介してハンドシェイク許可を示す信号ＲＯ（信号ＲＲ）を出力するとき（状態０２１８を参照）、コピー機能付きＣ素子１０１から出力されたハンドシェイク要求（状態０２１９を参照）を示す信号ＣＩ（信号Ｃ）を受けると、コピー機能付きＣ素子１０１に対してハンドシェイク受領（状態０２２０を参照）を示す信号ＲＯ（信号ＲＲ）を端子５０７を介し出力する。
【０１３１】
コピー機能付きＣ素子１０１によりハンドシェイク受領の信号ＲＯ（信号ＲＲ）が受理されてから一定時間後に、Ｃ素子５０１はハンドシェイク完了（状態０２２１を参照）を信号ＣＩ（信号Ｃ）として入力して且つ、次段パイプラインから入力する信号ＲＩに基づき次段パイプラインがハンドシェイク許可状態（状態０２２２を参照）であることを確認すると、コピー機能付きＣ素子１０１に対してハンドシェイク許可（状態０２２３）を示す信号ＲＯ（信号ＲＲ）を出力するとともに、クロックＣＰ（ＣＰ２）の立上がりエッジ（状態０２２４を参照）を出力する。
【０１３２】
レジスタ５０２は、このクロックＣＰ（ＣＰ２）の立上りエッジを入力すると、与えられているレベルＨの消去指示ＥＸＢ(状態０２２５を参照）を入力して保持するので、レジスタ５０２の端子Ｑから出力される信号はレベルＨに確定する（状態０２２６を参照）。
【０１３３】
さらに一定時間後、Ｃ素子５０１からハンドシェイク要求（状態０２２７を参照）の信号が出力されて論理ゲート５０３に入力する。このときレジスタ５０２の端子Ｑから出力されて論理ゲート５０３に入力する信号はレベルＨである（状態０２２８を参照）ために、論理ゲート５０３が出力する信号は端子５０８を介してハンドシェイク要求の信号ＣＯ（状態０２２９を参照）として次段パイプラインに与えられる。
【０１３４】
次段パイプラインは端子５０８を介して与えられるハンドシェイク要求を入力するので、消去機能付きＣ素子１０２は端子５０９を介して次段パイプラインから、ハンドシェイク受領（状態０２３０を参照）を示す信号ＲＩを入力する。入力した信号ＲＩは論理ゲート５０５を介してＣ素子５０１にハンドシェイク受領（状態０２３１を参照）として与えられる。これによりＣ素子５０１からクロックＣＰ（ＣＰ２）の立下がりエッジ（状態０２３２を参照）が出力される。さらにＣ素子５０１は一定時間後にハンドシェイク完了（状態０２３３を参照）の信号を論理ゲート５０３と５０４に出力する。このとき、レジスタ５０２からの出力信号はレベルＨで（状態０２２８を参照）論理ゲート５０３に与えられるので、論理ゲート５０３はハンドシェイク完了を示す信号ＣＯを端子５０８を介し次段パイプラインに出力する(状態０２３４を参照）。
【０１３５】
次段パイプラインは、端子５０８を介して与えられる信号ＣＯを入力すると、ハンドシェイク許可を示す信号ＲＩを出力するので、消去機能付きＣ素子１０２は端子５０９を介して信号ＲＩを入力する（状態０２３５を参照）。信号ＲＩは論理ゲート５０５を介してＣ素子５０１にハンドシェイク受領（状態０２３６を参照）の信号として与えられる。
【０１３６】
以上のような動作で、消去機能付きＣ素子１０２はコピー機能付きＣ素子１０１とハンドシェイクを行い、さらに次段パイプラインとハンドシェイクを行なうことができる。
【０１３７】
図１の信号生成取込み回路１００の動作を図８（Ａ）〜（Ｎ）のタイミングチャートに従い説明する。タイミングチャートの各符号の信号は図１に示される同一符号の信号に対応する。ただし、出力１２３はタイミングチャートでは説明の便宜上、出力１２３に含まれる複数種類の信号、すなわちＲＯＭやＲＡＭのメモリをアクセスする際の信号ＣＥＢ（チップイネーブル信号）、信号ＲＥＢ（リードイネーブル信号）、信号ＷＥＢ（ライトイネーブル信号）、信号ＡＤＤＲＥＳＳ（アドレス信号）および信号ＤＡＴＡ（データ信号）ならびにこれらの出力を制御するＩＯ制御信号ＣＮを示す。
【０１３８】
動作において、図示のない前段パイプラインからのハンドシェイク要求により前段パイプラインとコピー機能付きＣ素子１０１の間でハンドシェイクが行なわれると（状態２０１を参照）、コピー機能付きＣ素子１０１からクロックＣＰ１がレジスタ１０３に出力される（状態２０２を参照）。レジスタ１０３はクロックＣＰ１を入力すると、前段パイプラインから与えられるパケット情報ＰＤを入力して保持する。これに並行してコピー数デコーダ１０４は、与えられる必要ステート数情報Ｄ１を入力して、入力した必要ステート数情報Ｄ１をコピー機能付きＣ素子１０１が要求する形式に従いデコードして、デコード結果データ１３１をコピー機能付きＣ素子１０１に出力する。デコード結果データ１３１は消去指示ＥＸＢ、コピー指示ＣＰＹおよびコピー数データＮＵＭを含む。ここでは、デコード結果データ１３１により例えばハンドシェイク要求を１０個分コピーするように指示されていると想定する。
【０１３９】
ここでは、“信号生成取込みに要求されるステート数”とは、信号生成と信号取込みというシーケンスを構成するために必要なステートの個数を指す。より具体的には消去機能付きＣ素子１０２が出力するクロックＣＰ２の立上がりエッジどうしの間隔Ｔを基準にして、信号生成および信号取込みのシーケンスに必要な時間が該間隔Ｔの何個分に当たるかが要求されるステート数に対応する。この要求されるステート数は必要ステート数情報Ｄ１により指示される。
【０１４０】
その後、コピー機能付きＣ素子１０１から消去機能付きＣ素子１０２に向けてコピーにより得られた複数個のハンドシェイク要求が、すなわち１０個のハンドシェイク要求（信号Ｃの立下り）が出力される（状態２０３を参照）。
【０１４１】
この時、信号ＦＥＢは、前述したように最初のハンドシェイク時のみレベルＬであり（状態２０４を参照）、それ以外のハンドシェイク時はレベルＨとなる。コピーされて出力される各ハンドシェイク要求に対応のハンドシェイクがコピー機能付きＣ素子１０１と消去機能付きＣ素子１０２間で完了する毎に、消去機能付きＣ素子１０２からクロックＣＰ２がステートカウンタ１０５に出力される。ステートカウンタ１０５の出力するカウント値ＣＮＴはクロックＣＰ２と信号ＦＥＢのレベルに従って変化する。
【０１４２】
ロードデコーダ１１０は、レジスタ１０３に保持されたパケット情報ＰＤのロード用情報Ｄ３と信号ＦＥＢとステートカウンタ１０５が出力するカウント値ＣＮＴと端子１２０を介して外部から与えられるロードパラメータＬＤＰとを入力して、これらをデコードしてロード信号１３３とデータ信号１３２を生成してロード機能付きレジスタ１０６に出力する。
【０１４３】
ロード機能付きレジスタ１０６は消去機能付きＣ素子１０２がハンドシェイク要求Ｃを入力に同期して出力されるクロックＣＰ２を入力する毎に、ロードデコーダ１１０からのロード信号１３３が情報更新を指示していれば対応のデータ信号１３２を用いて保持する値（出力１２３）を更新して、更新後の値を出力する。これを図８（Ａ）〜（Ｎ）のタイミングチャートで具体的に説明する。信号ＣＥＢは、カウント値ＣＮＴが示すステート０より前の期間ではレベルＨであり、ステート９よりも前の期間ではレベルＬである。また信号ＡＤＤＲＥＳＳは同様にステート１よりも前の期間では何らかの値（パケット情報ＰＤの一部やロードパラメータＬＤＰの一部をそのままもしくは加工したもの）を示し、信号ＲＥＢは同様にステート２よりも前の期間でレベルＨでありステート４よりも前の期間でレベルＬである。また信号ＷＥＢは同様にステート５より前の期間でレベルＨでありステート７より前の期間でレベルＬである。
【０１４４】
また信号ＣＥＢ、ＡＤＤＲＥＳＳ、ＲＥＢおよびＷＥＢのＩＯ制御信号ＣＮはレベルＬで固定である。信号ＤＡＴＡはステート５よりも前の期間で何らかの値（パケット情報ＰＤの一部やロードパラメータＬＤＰの一部をそのままもしくは加工したもの）を示し、信号ＤＡＴＡのＩＯ制御信号ＣＮはステート５の直前からステート８の直前までの期間はレベルＬを示し、その後はレベルＨを示す。
【０１４５】
図１の信号生成取込み回路１００がデータ駆動型プロセッサに組込まれた図３の構成においては、図８（Ａ）〜（Ｎ）のタイミングチャートに従えば、Ｉ／Ｏバッファ１００６は出力１２３として与えられる信号のうち、信号ＣＥＢ、ＡＤＤＲＥＳＳ、ＲＥＢおよびＷＥＢは常時バス１０１０に出力し、信号ＤＡＴＡはステート５〜７の間はバス１０１０に出力しそれ以外のステートではバス１０１０を介して外部デバイス１００７〜１００９から与えられるデータを入力して信号入力１２４として信号生成取込み回路１００に送出可能な状態となる。
【０１４６】
ストローブデコーダ１０９は、レジスタ１０３に保持されたパケット情報ＰＤのうちのストローブ用情報Ｄ２と信号ＦＥＢとステートカウンタ１０５から出力されたカウント値ＣＮＴと外部から端子１２１を介して与えられたストローブパラメータＳＴＰとを入力して、入力したこれら情報に基づいて、ストローブタイミング以外に次段パイプラインへのハンドシェイク要求が送出されるのを抑制するための消去指示ＥＸＢを生成して、消去機能付きＣ素子１０２に出力する。
【０１４７】
図８（Ａ）〜（Ｎ）のタイミングチャートによれば、消去機能付きＣ素子１０２は各ステート毎にクロックＣＰ２をレジスタ１０８に出力するので、レジスタ１０８はクロックＣＰ２を入力する毎に、与えられる信号入力１２４の値を入力して保持する。なお、ストローブするステート以外では、消去機能付きＣ素子１０２は与えられる消去指示ＥＸＢに基づき次段パイプラインへのハンドシェイク要求の送出を抑制する。結果として、ストローブするためのステートでのみ信号入力１２４の値をパケット情報ＰＱとして次段パイプラインに出力するためのハンドシェイクが行なわれる。
【０１４８】
図８（Ａ）〜（Ｎ）のタイミングチャートでは、ステート６でストローブするため、消去指示ＥＸＢはステート６の直前でレベルＨとなりステート７の直前でレベルＬに変化する（状態２０５を参照）。レジスタ１０７はクロックＣＰ２が与えられる毎にレジスタ１０３に保持されたパケットの情報の一部または全部を入力して保持し、レジスタ１０８はクロックＣＰ２が与えられる毎に信号入力１２４を入力して保持する。
【０１４９】
出力選択回路１１１はレジスタ１０７に保持されたパケット情報ＰＤの一部とステートカウンタ１０５から出力されたカウント値ＣＮＴと外部から与えられた選択パラメータＳＬＰとを入力して、これら入力情報に基づいた選択信号１３０を生成してセレクタ１１２に出力する。セレクタ１１２はレジスタ１０７に保持されたパケット情報の一部とレジスタ１０８に保持された信号入力１２４の値（データ）とを入力して、これら２つの入力情報のうちから、与えられる選択信号１３０に基づいて選択した情報を端子１１９を介して出力する。端子１１９を介して出力されるパケット情報ＰＱのうち一部のフィールドにはセレクタ１１２から出力された該フィールドに対応の情報が格納されて、他のフィルードにはレジスタ１０７に保持されていた該フィルードに対応の情報が格納される。ストローブするタイミングに合せて消去機能付きＣ素子１０２から次段パイプラインに向けてハンドシェイク要求が出力されてハンドシェイクが行なわれて端子１１９を介してパケット情報ＰＱが伝送される（状態２０６を参照）。以上のように、信号生成取込み回路１００に与えられるパケット情報ＰＤの内容に応じて、より自由度の高い信号生成と信号取込みが行なわれる。
【０１５０】
（実施の形態２）
上述の実施の形態１では信号生成および信号取込みの機能を有する回路を示したけれども、本実施の形態２では信号取込み機能が省略されて信号生成機能のみを備える回路が示される。図９に実施の形態２に係る信号生成回路２００を示す。
【０１５１】
図９において信号生成回路２００は、コピー機能付きＣ素子３０１、Ｃ素子３０２、与えられるパケット情報ＰＤを入力して一旦保持するためのレジスタ３０３、コピー数デコーダ３０４、シーケンスの状態を計数するためのステートカウンタ３０５、ロードされて保持しているデータ信号３２６を信号出力３２３として出力するロード機能付きレジスタ３０６、ロードデコーダ３１０、信号ＣＩを入力する端子３１３、信号ＲＯを出力する端子３１４、信号ＭＲＢを入力する端子３１７、パケット情報ＰＤを入力する端子３１８、およびロードパラメータＬＤＰを入力する端子３２０を備える。端子３１３、３１４および３１７は、図１４の端子６０９、６１０および６１３と同様の機能を有する。
【０１５２】
信号生成回路２００は端子３１８を介して前段パイプラインからパケット情報ＰＤを入力して、端子３１９を介して次段パイプラインへパケット情報ＰＱを出力する。ロードパラメータＬＤＰは、ロードデコーダ３１０の動作を制御するために端子３２０を介して外部からロードデコーダ３１０に対して与えられる。コピー数デコーダ３０４は端子３１８を介して入力したパケット情報ＰＤのうちの必要ステート数情報Ｄ１を、コピー機能付きＣ素子３０１が要求する形式でデコードして、デコード結果データ３２４をコピー機能付きＣ素子３０１に出力する。デコード結果データ３２４は、コピー数データＮＵＭ、コピー指示ＣＰＹおよび消去指示ＥＸＢを含む。
【０１５３】
ロードデコーダ３１０は、レジスタ３０３に保持されたパケット情報ＰＤのうちのロード用情報Ｄ３とステートカウンタ３０５のカウンタ値ＣＮＴとコピー機能付きＣ素子３０１から出力される信号ＦＥＢと端子３２０から与えられるロードパラメータＬＤＰとに基づいてデコード動作して、ロード信号（ロード機能付きレジスタ３０６に対してロードするか否かを指示する信号）３２５とデータ信号（ロード機能付きレジスタ３０６にロードされるべきデータ）３２６を生成して、ロード機能付きレジスタ３０６に出力する。
【０１５４】
コピー機能付きＣ素子３０１、レジスタ３０３、コピー数デコーダ３０４、ステートカウンタ３０５、ロード機能付きレジスタ３０６およびロードデコーダ３１０は実施の形態１のコピー機能付きＣ素子１０１、レジスタ１０３、コピー数デコーダ１０４、ステートカウンタ１０５、ロード機能付きレジスタ１０６およびロードデコーダ１１０と同様の機能を有する。
【０１５５】
Ｃ素子３０２は本来は次段パイプラインに出力する信号ＣＯを、自己への信号ＲＩとして入力している。
【０１５６】
図９の信号生成回路２００のデータ駆動プロセッサＰＲ０への組込み例は図１０に示される。信号生成回路２００の動作のタイミングチャートは実施の形態１の図８（Ａ）〜（Ｎ）のタイミングチャートで信号ＦＥＢ、ＣＯおよびＲＩならびにパケット情報ＰＱを除いたものとほぼ同じである。
【０１５７】
（データ駆動型プロセッサへの適用について）
上述した信号生成取込み回路１００または信号生成回路２００をデータ駆動型プロセッサに搭載した場合について説明する。図１１にはデータ駆動型プロセッサの一般的な構成が示されて、図１２と図１３には図１１のデータ駆動型プロセッサに信号生成取込み回路１００と信号生成回路２００がそれぞれ組込まれた構成が示される。図１１においてデータ駆動型プロセッサは合流部ＪＮＣ、発火制御部ＦＣ、演算部ＦＰ、プログラム記憶部ＰＳおよび分岐部ＢＲＮ、ならび３つのパイプラインを備える。１つ目のパイプラインは発火制御部ＦＣと演算部ＦＰ間に設けられてＣ素子２Ａと対応のレジスタ３Ａを有する。２つ目のパイプラインは演算部ＦＰとプログラム記憶部ＰＳ間に設けられてＣ素子２Ｂと対応のレジスタ３Ｂを有する。３つ目のパイプラインはプログラム記憶部ＰＳと分岐部ＢＲＮ間に設けられてＣ素子２Ｃと対応のレジスタ３Ｃを有する。
【０１５８】
実施の形態１の信号生成取込み回路１００は、データ駆動型プロセッサのパイプライン間であれば何処にでも組込むことが可能である。合流部ＪＮＣの手前でも、発火制御部ＦＣでも、演算部ＦＰでも、プログラム記憶部ＰＳでも、分岐部ＢＲＮの後でも組込むことができる。実施の形態２の信号生成回路２００であれば、パイプライン列の末端であればどこにでも組込むことができる。図１２では実施の形態１の信号生成取込み回路１００が合流部ＪＮＣの手前に組込まれた構成が示されて、図１３では実施の形態２の信号生成回路２００が分岐部ＢＲＮの後ろに組込まれた構成が示される。図１２と図１３では信号ＭＲＢ、パラメータＳＴＰ、ＬＤＰおよびＳＬＰの図示は省略されている。
【０１５９】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【０１６０】
【図１】実施の形態１に係る信号生成取込み回路のブロック図である。
【図２】本発明の各実施の形態に適用されるパケット情報の内容例を示す図である。
【図３】実施の形態１に係る信号生成取込み回路を組込んだデータ駆動型プロセッサのブロック図である。
【図４】実施の形態１に係るコピー機能付き自己同期型転送制御回路のブロック図である。
【図５】実施の形態１に係るコピー機能付き自己同期型転送制御回路の動作を説明するためのタイミングチャートである。
【図６】実施の形態１に係る消去機能付き自己同期型転送制御回路のブロック図である。
【図７】実施の形態１に係る消去機能付き自己同期型転送制御回路の動作を説明するためのタイミングチャートである。
【図８】（Ａ）〜（Ｎ）は実施の形態１に係る信号生成取込み回路の動作を示すタイミングチャートである。
【図９】実施の形態２に係る信号生成回路のブロック図である。
【図１０】実施の形態２に係る信号生成回路を組込んだデータ駆動型プロセッサのブロック図である。
【図１１】一般的なデータ駆動型プロセッサの構成図である。
【図１２】図１１のデータ駆動型プロセッサに実施の形態１の信号生成取込み回路を組込んだ構成を示す図である。
【図１３】図１１のデータ駆動型プロセッサに実施の形態２の信号生成回路を組込んだ構成を示す図である。
【図１４】従来の信号生成取込み回路のブロック図である。
【図１５】従来の信号生成取込み回路を組み込んだデータ駆動型プロセッサのブロック図である。
【図１６】従来の自己同期型転送制御回路の構成図である。
【図１７】従来の自己同期型転送制御回路の動作を説明するためのタイミングチャートである。
【図１８】図１４の信号生成取込み回路の動作を説明するためのタイミングチャートである。
【符号の説明】
【０１６１】
１００  信号生成取込み回路、１０１，３０１  コピー機能付き自己同期型転送制御回路、１０２  消去機能付き自己同期型転送制御回路、２００，６０６  信号生成回路、３０２，４０１，４０２，５０１，６０１，６０２，１００１，１００２，２Ａ，２Ｂ，２Ｃ  自己同期型転送制御回路、１０３，１０７，１０８，３０３，４０３，４０４，４０５，４０７，５０２，６０３，６０４，１００３，１００４，３Ａ，３Ｂ，３Ｃ  レジスタ、１０４,３０４  コピー数デコーダ，１０９  ストローブデコーダ，１１０,３１０  ロードデコーダ、１１１，６０７  出力選択回路、１０６，３０６  ロード機能付きレジスタ、１１２，６０８  セレクタ、１０５，３０５  ステートカウンタ、４０６  カウンタ、４０８〜４１６，５０３〜５０５，８０９  論理ゲート、４１７，８０７，８０８  フリップフロップ回路、４１８，８１０  遅延素子、６０５  遅延制御可能な遅延素子、１００５  従来の信号生成取込み回路、１００６  ＩＯバッファ、１００７，１００８，１００９  ＲＡＭ／ＲＯＭ／ＣＰＵ等のデバイス、１０１０  バス、ＪＮＣ  合流部、ＦＣ  発火制御部、ＦＰ  演算部、ＰＳ  プログラム記憶部、ＢＲＮ  分岐部。
【図１】
2005115442.tif 000003
【図２】
2005115442.tif 000004
【図３】
2005115442.tif 000005
【図４】
2005115442.tif 000006
【図５】
2005115442.tif 000007
【図６】
2005115442.tif 000008
【図７】
2005115442.tif 000009
【図８】
2005115442.tif 000010
【図９】
2005115442.tif 000011
【図１０】
2005115442.tif 000012
【図１１】
2005115442.tif 000013
【図１２】
2005115442.tif 000014
【図１３】
2005115442.tif 000015
【図１４】
2005115442.tif 000016
【図１５】
2005115442.tif 000017
【図１６】
2005115442.tif 000018
【図１７】
2005115442.tif 000019
【図１８】
2005115442.tif 000020