(57)【要約】【課題】  再構成可能な回路領域で形成する複数のプロセッシングエレメント（ＰＥ）に対して簡易な機構によりコンフィグレーションデータを伝送できるデータ伝送方法を提供する。【解決手段】  複数のＰＥ２１のそれぞれに対応するＦＦ６１を予め直列に接続した転送路５１を形成し、複数のＦＦ６１の間で、複数のデータ領域７５を順番に、継続して転送する。ＰＥ２１に該当するデータ領域７５が転送された場合は、そのデータ領域７５のデータを読出し、またはデータ領域７５にデータを書き込むことにより、転送路５１を使用してデータを交換する。【選択図】        図６
2005165435.tif 000002
【特許請求の範囲】
【請求項１】
複数のプロセッシングエレメントのそれぞれに対応する複数のレジスタを含むレジスタ群が予め直列に接続された転送路を使用し、複数のデータ領域を順番に、継続して転送する工程と、
前記レジスタ群の１のレジスタに転送されたデータ領域を、そのレジスタに対応するプロセッシングエレメントが使用可能であれば、そのデータ領域のデータを読出し、および／または前記データ領域にデータを書き込む入出力工程とを有するデータ伝送方法。
【請求項２】
請求項１において、前記転送路に接続された制御ユニットが、前記複数のデータ領域のプロパティを決定する工程をさらに有する、データ伝送方法。
【請求項３】
請求項１において、前記転送路は閉じている、データ伝送方法。
【請求項４】
請求項２において、複数の前記転送路が前記制御ユニットに対して分配ユニットを介して接続されており、前記複数のデータ領域を、それぞれのデータ領域を使用可能なプロセッサエレメントが属する前記転送路に振り分ける工程をさらに有する、データ伝送方法。
【請求項５】
請求項４において、前記複数の転送路は、それぞれのレイテンシーが同一の閉じた転送路である、データ伝送方法。
【請求項６】
請求項１において、前記プロセッシングエレメントは、機能を変更可能なデータパス領域と、前記データパス領域を設定するための複数のコンフィグレーション情報を記憶するメモリとを備えており、
前記入出力工程では、前記データ領域から前記メモリにデータを転送し、または、前記メモリから前記データ領域にデータを転送する、データ伝送方法。
【請求項７】
請求項１において、前記データ領域には、前記入出力工程における処理およびその処理の対象となるアドレスを指示するデータが含まれている、データ伝送方法。
【請求項８】
請求項１において、前記入出力工程において前記プロセッシングエレメント毎に独立した処理が行われるデータ単位が、連続した前記複数のデータ領域により伝送される、データ伝送方法。
【請求項９】
請求項１において、前記複数のデータ領域は、暗号化されたデータを格納する領域を備えており、前記入出力工程では、前記データ領域のデータを読出してデコードし、および／または前記データ領域に暗号化したデータを書き込む、データ伝送方法。
【請求項１０】
複数のプロセッシングエレメントと、
これら複数のプロセッシングエレメントのそれぞれに対応する複数のレジスタを含むレジスタ群であって、予め転送路を形成するように直列に接続され、複数のデータ領域を順番に、継続して転送するレジスタ群とを有し、
前記プロセッシングエレメントは、前記複数のレジスタのうち、当該プロセッシングエレメントに対応するレジスタに転送されたデータ領域が、当該プロセッシングエレメントで使用可能であれば、そのデータ領域のデータを読出し、および／または前記データ領域にデータを書き込む入出力手段を備えているデータ処理装置。
【請求項１１】
請求項１０において、前記転送路に接続された制御ユニットであって、前記複数のデータ領域のプロパティを決定する制御ユニットをさらに有する、データ処理装置。
【請求項１２】
請求項１０において、前記転送路は閉じている、データ処理装置。
【請求項１３】
請求項１１において、複数の前記転送路と、それら複数の転送路を前記制御ユニットに接続し、前記複数のデータ領域を、それぞれのデータ領域を使用可能なプロセッサエレメントが属する前記転送路に振り分ける分配ユニットとをさらに有する、データ処理装置。
【請求項１４】
請求項１３において、前記複数の転送路は、それぞれのレイテンシーが同一の閉じた転送路である、データ処理装置。
【請求項１５】
請求項１０において、前記プロセッシングエレメントは、機能を変更可能なデータパス領域と、前記データパス領域を設定するための複数のコンフィグレーション情報を記憶するメモリとを備えており、
前記入出力手段は、前記データ領域から前記メモリにデータを転送し、または、前記メモリから前記データ領域にデータを転送する、データ処理装置。
【請求項１６】
請求項１０において、前記データ領域には、前記入出力手段の処理およびその処理の対象となるアドレスを指示するデータが含まれている、データ処理装置。
【請求項１７】
請求項１０において、前記入出力手段は、当該プロセッシングエレメントにおいて独立した処理を行うデータ単位を、連続した前記複数のデータ領域に対し入出力する、データ処理装置。
【請求項１８】
請求項１０において、前記複数のデータ領域は、暗号化されたデータを格納する領域を備えており、前記入出力手段は、前記データ領域のデータを読出してデコードし、および／または前記データ領域に暗号化したデータを書き込む、データ処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のプロセッシングエレメントに対し、あるいはそれらの間でデータを転送するのに適した方法に関するものである。
【背景技術】
【０００２】
特表平１０−５０５９９３号公報には、ＦＰＧＡに構成データを供給する幾つかの方法が開示されている。ＦＰＧＡにシリアル・データで構成データを供給する構成においては、構成モードのときに、ＦＰＧＡからクロック信号が供給されてＰＲＯＭが選択され、ＦＰＧＡの構成が終了するとＰＲＯＭの選択が解除される。ＦＰＧＡが並列ＲＯＭに接続されている構成では、構成モードのときにＦＰＧＡがアドレス信号を出力し、データ信号を受け取る。また、構成モードのときに、ＦＰＧＡの代わりにマイクロプロセッサを用いてＥＰＲＯＭをアドレス指定して構成データを受け取ることが記載されている。さらに、メモリの側でＦＰＧＡを構成モードにして構成データを送信し、ＦＰＧＡから構成が完了したことが示されると構成データの送信を中止させることが記載されている。
【特許文献１】特表平１０−５０５９９３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ＦＰＧＡ（Field Programmable Gate Array）に対し、動的に回路を再構成することを目的としたプロセッサ（ダイナミック・リコンフィグラブル・プロセッサ）が提案されており、たとえば、国際公開ＷＯ０２／０９５９４６号を挙げることができる。この国際公開ＷＯ０２／０９５９４６号には、２次元に複数のエレメントが配置されたマトリクスと称される領域を有し、マトリクス内に縦横に配置された配線群の接続を切り替えることにより複数のエレメントによりフレキシブルにデータフロー（データパス）を再構成できるようにしている。動的に再構成可能な構成は、これに限定されるものではなく、エレメントをツリー状に接続したり、隣り合うエレメント同士を接続し、エレメントを通信経路として用いる構成などもある。
【０００４】
複数のエレメントにより構成される回路を動的に再構成しようとした場合、各エレメントに対し、その機能を制御する構成データ（コンフィグレーションデータ）をタイムリーに提供できることが重要である。コンフィグレーションデータを送受信するために多大なサイクルを消費するようなデータ伝送方法は、再構成に時間を要し、動的再構成プロセッサには適さない。したがって、回路側を構成モードに変更してクロックまたはアドレスを出力して、構成データを取得し、構成の変更が終了すると構成データの送信を停止するという多数のステップを要するデータ伝送方法は動的再構成プロセッサには適した方法とは言えない。
【０００５】
シリアル・データを転送する代わりに、回路を構成する複数のエレメントに対してバス接続によりパラレルにデータを転送する方法は、データの転送時間を短縮できる点で優れている。しかしながら、大規模な回路を再構成可能なプロセッサで実現する場合、コンフィグレーションデータを転送する対象となるエレメント数が膨大になり、バス幅が大きくなる。そのため、コンフィグレーションデータを転送するためのハードウェアリソースが大きくなり、プロセッサが大型で高価なものになる。共有バス形式を採用することによりハードウェアリソースの問題は多少改善される。しかしながら、各エレメントをアドレスで指定してバスを占有した状態でデータを転送する必要があるので転送に要する時間は増加する。共有バス形式の代わりに、データパケットをフリッツと称される小片に分けて複数のエレメントを数珠繋ぎにして転送するワームホールルーティングという転送方法もある。しかしながら、データの送信先のエレメントに到達するルートが空いていないと、デッドロック状態となり常に安定した条件でデータを転送することは難しい。
【０００６】
さらに、これらのデータ伝送方法では、送信側が受信側に対してデータ転送がレディーをアナウンスし、受信側が送信側にデータを受信できる状態であることをアナウンスするという手続きが必要であり、その手続きに要する処理時間あるいはハードウェアが必要となる。そして、再構成可能な大規模な回路を実現しようとした場合、これらのデータ転送のための前および後処理のための時間あるいはハードウェアが無視できないものとなる可能性がある。
【０００７】
そこで、本発明においては、簡易な構成で、常に安定した状態でデータを転送できる伝送方法およびデータ処理装置を提供することを目的としている。また、データ転送の前後処理のために要する時間あるいはハードウェアを省略することができる伝送方法およびデータ処理装置を提供することを目的としている。
【課題を解決するための手段】
【０００８】
本発明においては、複数のプロセッシングエレメントのそれぞれに対応する複数のレジスタを含むレジスタ群のレジスタを予め直列に接続してシフトレジスタ方式の転送路を形成する。そして、その転送路を使用し、レジスタ群に含まれるレジスタの間で、複数のデータ領域を順番に、継続して転送する工程と、レジスタ群の１のレジスタに転送されたデータ領域を、そのレジスタに対応するプロセッシングエレメントが使用可能であれば、そのデータ領域のデータを読出し、および／またはデータ領域にデータを書き込む入出力工程とを有するデータ伝送方法を本発明では提供する。また、本発明においては、複数のプロセッシングエレメントと、これら複数のプロセッシングエレメントのそれぞれに対応する複数のレジスタを含むレジスタ群であって、レジスタ群の含まれるレジスタが予め転送路を形成するように直列に接続され、それらのレジスタの間で、複数のデータ領域を順番に、継続して転送するレジスタ群とを有するデータ処理装置を提供する。このデータ処理装置においては、プロセッシングエレメントは、複数のレジスタのうち、当該プロセッシングエレメントに対応するレジスタに転送されたデータ領域が、当該プロセッシングエレメントで使用可能であれば、そのデータ領域のデータを読出し、および／またはデータ領域にデータを書き込む入出力手段を備えている。
【０００９】
このデータ伝送方法およびデータ処理装置においては、予め直列に接続された複数のレジスタにより転送路が形成されている。また、データそのものではなく、データ領域を転送する。この明細書においてデータ領域とは、データを格納するために配分された領域を示し、コンフィグレーションデータなどのプロセッシングエレメントにおいて利用可能な、あるいは意味のあるデータがすでに格納されている場合も、ダミーデータとして意味のないデータを格納することにより将来の利用のために領域が確保されている場合も含む。したがって、転送する工程においては、データ領域を転送するので、データがレディーであるか否かを確認したり、データがアクセプタブルであるかを確認したりする必要はなく、接続された上流のレジスタから下流のレジスタに単純にサイクル単位でデータ領域が転送できる。さらに、予め転送路は形成されているので、ルーティングの必要はない。このため、ルーティングのため、さらには、データを転送する際にその前後で信号を交換するために費やされる時間およびハードウェアを省略することができる。
【００１０】
転送路を構成するレジスタを集中して並べてシフトレジスタを形成し、そのシフトレジスタとプロセシングエレメントを適当な配線で接続するような配置配線も可能である。最も簡易で、配線遅延もない配置配線は、適当な方向に隣接するプロセッシングエレメント内に配置されたレジスタを接続してシフトレジスタ型の転送路を形成することである。転送路を形成するために消費される配線は最小になり、また、発信地点から受信地点が離れている場合も、シフトレジスタ型の転送路を転送するためのレイテンシーは考慮する必要があるとしても、配線による遅延は考慮する必要がなくなる。プロセッシングエレメント間が物理的に離れている場合は、任意の場所に中継用のシフトレジスタを挿入することが可能であり、それにより制御やハードウェアが追加になることはない。
【００１１】
個々のプロセッシングエレメントでは、入出力工程において、レジスタ群に含まれる複数のレジスタのうち、当該プロセッシングエレメントに対応するレジスタに転送されたデータ領域が、当該プロセッシングエレメントで使用可能であれば、そのデータ領域のデータを読出し、および／またはデータ領域にデータを書き込む。これにより、個々のプロセッシングエレメントは、個々のプロセッシングエレメント宛のメッセージなどのデータを転送路から受信し、他のプロセッシングエレメントまたは制御ユニット宛のメッセージを転送路に投げることができ、プロセッシングエレメント間または制御ユニットとプロセッシングエレメント間でデータを交換できる。したがって、個々のプロセッシングエレメントにおける入力および／または出力処理は独立しており、エレメント間の制御信号は不要である。
【００１２】
データ領域の使用の可否を含むプロパティをプロセッシングエレメントで制御することができる。データ領域が自己のプロセッシングエレメント宛になっていれば、そのデータ領域のデータあるいはメッセージをダウンロードすることができ、また、データ領域が未使用であれば自己のデータあるいはメッセージを送信するために利用できる。プライオリティを設定すれば、他のエレメントが使用中のデータ領域でも緊急度の高いメッセージの交換のために使用するデータ伝送方法を提供できる。転送路に接続された制御ユニットが、複数のデータ領域のプロパティを決定することも可能である。制御ユニットがデータの発信元であれば、受信先のエレメントを指定したデータ領域を送り出すことができる。また、あるエレメントから他のエレメントにデータを転送する場合は、そのようなプロパティをデータ領域にセットして送りだすことにより、転送路のトラフィックを制御できる。
【００１３】
転送路が閉じていることは有効である。閉じていない場合は、上流のエレメントから下流のエレメントにしかデータを送れないが、閉じていれば下流のエレメントから上流のエレメントにデータを転送できる。制御ユニットは、あるエレメントからデータを入手したい場合は、そのエレメントが使用するようにデータ領域をセットして送り出すことにより、閉じた転送路によりエレメントからの応答を得ることができる。そのために、データ領域に、入出力工程における処理およびその処理の対象となるアドレスを指示するデータをセットすることができる。データ領域に対するプロセッシングエレメントの処理時間を確保するために、複数のレジスタを１つのプロセッシングエレメントに割り当てた転送路も可能である。
【００１４】
送受信可能なデータ量と同じあるいは大きな容量のレジスタは基本的に不要である。１つのデータ量が大きなときは、入出力工程においてプロセッシングエレメント毎に独立した処理が行われるデータ単位を、連続した複数のデータ領域により伝送することが可能である。すなわち、本発明の転送路とデータ領域とを用いることにより、データパケットをレジスタのサイズに分割して数珠繋ぎに転送することができる。連続した複数のデータ領域を用いて伝送することにより、最初のデータ領域に送信先を設定することにより後続のデータ領域の管理が可能となる。本発明のデータ伝送方法は、データパケットが大きくなっても、それを転送するためにデータパケット全体を一時的にバッファリングする必要はない。直列に接続されたシフトレジスタの量が増加すると、レイテンシーが大きくなる可能性はあるが、バッファリングによる遅延は増加しない。共有バスシステムと比較すると、送受信側でパケット全体をいったんバッファリングする必要がないので、その分、処理時間は減少する。
【００１５】
しかしながら、多数のプロセッシングエレメントを有するデータ処理装置において、レイテンシーを低減したい場合は、複数の転送路を設け、分配ユニットによりそれら複数の転送路を制御ユニットに接続し、複数のデータ領域を、それぞれのデータ領域を使用可能なプロセッサエレメントが属する転送路に振り分けることができる。この振り分ける工程を設けることにより、所望のプロセッシングエレメントに到達する転送路を形成するシフトレジスタの段数が減るのでレイテンシーが減少する。
【００１６】
さらに、これら複数の転送路が、それぞれのレイテンシーが同一の閉じた転送路であれば、制御ユニットは、分配ユニットを介して複数の転送路に順番に送り出したデータ領域を衝突することなく受信することができる。このため、本発明により、複数の転送路を用いたデータ伝送方法であって、特別な制御を必要としないデータ伝送方法を提供できる。
【００１７】
本発明を適用する好適な形態は、複数のプロセッシングエレメントを有するデータ処理装置であって、複数のプロセッシングエレメントの機能を変更することにより、それら複数のプロセッシングエレメントの接続からなる回路の構成を再構成できるものである。各々のプロセッシングエレメントは、機能を変更可能なデータパス領域と、このデータパス領域を設定するための複数のコンフィグレーション情報を記憶するメモリとを備えている。伝送経路をメリーゴーランドのように動くデータ領域にコンフィグレーションデータを格納して所望のプロセッシングエレメントに転送することにより、簡易な機構により、コンフィグレーションデータをタイムリーに供給できる。入出力工程では、データ領域からメモリにデータを転送し、再構成可能な回路領域を再構成できる。また、制御ユニットから出力用のデータ領域を送って、所望のプロセッシングエレメントのメモリからデータ領域にデータを転送することにより、制御ユニットにデータを送ることができる。
【００１８】
複数のデータ領域に格納される情報はプレーンな情報である必要はない。暗号化されたデータを格納する領域を設けることができ、データ領域全体が暗号化されている場合も含まれる。入出力工程および入出力手段では、データ領域のデータを読出してデコードし、また、データ領域に暗号化したデータを書き込むことができる。
【発明の効果】
【００１９】
本発明においては、複数のプロセッシングエレメントに対応する複数のレジスタを直列に接続した転送路を使用し、各プロセッシングエレメントが利用できるデータ領域をメリーゴーランドのように巡回させることによりエレメント間およびエレメントと制御ユニット間のデータを交換する。シフトレジスタ型の転送路をデータ領域が循環し、個々のエレメントがそれを利用する形態なので、データを転送するためのハードウェアは簡易であり、さらに、フロー制御も不要となる。このため、多数のプロセッシングエレメントを搭載するデータ処理装置、例えば、再構成可能なＬＳＩにおいて、プロセッシングエレメントに対して個別にコンフィグレーション情報を供給するためのハードウェアリソースを削減でき、コンパクトで低コストの再構成可能なＬＳＩを提供できる。
【発明を実施するための最良の形態】
【００２０】
図１に、データ処理装置の一例を示してある。このデータ処理装置１は、チップ化されたプロセッシングユニット（ＰＵ）であり、再構成可能な領域１９と、この再構成可能な領域１９を再構成する機能、および入出力を制御する機能などの周辺機能をサポートする、構成が固定された領域とを備えている。
【００２１】
再構成可能な回路領域１９は、図１において複数のセグメント１０から１５に分かれて記載されているが、図２に示すように、複数のエレメントがアレイまたはマトリクス状に２次元に配置されており、マトリクスと称される構成である。本例のマトリクス１９は、縦横に２次元に配置された複数のプロセッシングエレメント（ＰＥ）２１と、それらの間に格子状に配置された配線２２と、配線２２の接続ポイントで縦横の配線２２の接続を自由に切り替えることができるスイッチングユニット２３とを備えている。ＰＥ２１は、ルックアップテーブルなどにより自在に機能を設定可能なものであっても良い。本例では、算術論理演算用のエレメント、遅延用のエレメント、メモリ用のエレメント、データを入力または出力するためにアドレスを発生させるエレメント、データの入力または出力用のエレメントなど、ある程度の機能グループに分けて、それぞれの処理に適した内部構成のエレメントを配置することによりマトリクス１９のスペース効率を向上している。また、ある程度の機能グループに分けたエレメントを配置することにより冗長性が減少するのでＡＣ特性および処理速度も向上できるといったメリットを得ている。
【００２２】
図３および図４は、ＰＥ２１の一例である。ＰＥ２１は、機能を変更可能な内部データパス領域２９と、その内部データパス領域２９の機能を設定する設定ユニット６０とを備えている。図３に示したＰＥ２１ａの内部データパス領域２９ａは、カウンタなどからなるアドレス発生回路２８と、セレクタＳＥＬとを備えており、設定ユニット６０により設定された条件で生成されたアドレスが出力信号ｄｏとして配線２２に出力される。この出力信号ｄｏは、行配線および列配線を介して、そのまま、あるいは、他のＰＥ２１によって処理された後に入力信号ｄｉｘあるいはｄｉｙとしてＰＥ２１ａにフィードバックされる。そして、設定ユニット６０によりセットされた条件でセレクタＳＥＬが選択したアドレスがマトリクス１９からデータ入力あるいは出力用のアドレスとして出力される。ＰＥ２１ａは、配線２２のいずれかの配線から入力データを選択し、また、出力データを出力するためのセレクタ（不図示）も備えており、それらの設定も設定ユニット６０により行われる。
【００２３】
図４に示したＰＥ２１ｂは、算術演算および論理演算に適した構成である。内部データパス部２９ｂは、シフト回路ＳＨＩＦＴ、マスク回路ＭＡＳＫ、論理演算ユニットＡＬＵを備えている。そして、上記のＰＥ２１ａと同様に、設定部６０により、これらのシフト回路ＳＨＩＦＴ、マスク回路ＭＡＳＫ、論理演算ユニットＡＬＵの状態が設定される。したがって、入力データｄｉｘおよびｄｉｙを加算あるいは減算したり、比較したり、論理和あるいは論理積を演算することができ、その結果が出力信号ｄｏとして配線（バス）２２に出力することができる。
【００２４】
図１および図２に示すように、ＰＵ１のマトリクス１９は、３６８個のＰＥ２１を備えており、それらに対してコンフィグレーションデータを供給する転送路を分けて形成するために６つのセグメント１０〜１５に形式上分割されている。しかしながら、複数のＰＥ２１からデータフローを構成し、入力データを処理するという点では、これらのセグメント１０〜１５によりＰＥ２１が複数にグループ分けされているのではない。したがって、配線群２２によりＰＥ２１をフレキシブルに接続し、複数のセグメントに跨ったデータフロー（データパス）を自由に構成できるようになっている。
【００２５】
マトリクス１９の内部に、複数のＰＥ２１により構成されるデータパスで処理されるデータを入出力するインターフェイスが２種類用意されている。１つは、ダイレクト入力３１ａ〜３１ｃおよびダイレクト出力３２ａ〜３２ｃであり、ＰＥ２１に対して外部から直にデータを入力し、また、出力することができる。ダイレクト入力３１ａ〜３１ｂおよびダイレクト出力３２ａ〜３２ｃを用いて複数のＰＵ１を接続して、データパスを構成するＰＥ２１の実数をさらに増やすことができる。これにより、１つのチップ（ＰＵ）１では回路要素が不足するようなアプリケーションの処理も複数のチップ１を連結することにより対処できる。
【００２６】
ＰＵ１は、さらに、他の入力方法として、入力バッファ３３と出力バッファ３４とを用いてマトリクス１９にデータを供給する構成を備えている。入力バッファ３３は４つの入力エレメントＬＤＢを備えており、バッファ３３の構成および制御をコンフィグレーションデータにより設定できるようになっている。出力バッファ３４も同様であり、４つの出力エレメントＳＴＢを備えており、構成および制御をコンフィグレーションデータにより設定できるようになっている。
【００２７】
マトリクス１９および入出力バッファ３３および３４に対するコンフィグレーションデータは、シフトレジスタ方式のデータ伝送機構５０により、ＲＩＳＣ３５あるいは他のＰＵ１などから供給される。本例においては、データ伝送機構５０は、転送コントロールユニット（ＴＣＵ）５９と、各セグメント１０〜１５、入力バッファ３３および出力バッファ３４のそれぞれに張り巡らされた転送路５１〜５８とを備えている。ＴＣＵ５９は、バススイッチングユニット（バスインターフェイス、ＢＳＵ）３６に接続されており、ＲＩＳＣ３５はＢＳＵ３６を介してコンフィグレーションデータをＴＣＵ５９に供給する。
【００２８】
図１に示すようにＢＳＵ３６には、複数のコンポーネントあるいはインターフェイスが接続されており、ＲＩＳＣ３５に限らず、これらのコンポーネントあるいはインターフェイスを用いてコンフィグレーションデータをマトリクス１９に送り込むことができる。まず、ＢＳＵ３６にはＳＤＲＡＭインターフェイス３７が接続されており、外部メモリからコンフィグレーションデータを提供できる。また、ＰＣＩバスインターフェイス３８とも接続されているので、ＰＣＩバスに接続された外部プロセッサからもコンフィグレーションデータを供給できる。また、その他のコンポーネントとしてＤＭＡＣ３９もＢＳＵ３６に接続されており、ＲＩＳＣ３５に変わってコンフィグレーションデータの供給を制御することが可能である。その他に、シリアルインターフェイスコントローラとなる非同期通信機（ＵＡＲＴ）などの汎用インターフェイス４０がバスブリッジ回路４１を介してＢＳＵ３６に接続されている。さらに、ＢＳＵ３６には、マトリクス１９の入力バッファ３３および出力バッファ３４が接続されており、上述したインターフェイスを介してマトリクス１９にデータを入出力することができる。
【００２９】
図５に、データ伝送機構５０の各転送路５１〜５８のさらに詳しいルーティングを示してある。また、図６に、各エレメントにおいて転送路を用いてデータを入出力する機構を示してある。それぞれの転送路５１〜５６は、図５に示した夫々のセグメント１０〜１５に含まれるＰＥ２１に設けられた１ワード（３２ビット）のレジスタ（フリップフロップ）を直列に繋ぐ配線である。転送路５１〜５６は、主に、それぞれのＰＥ２１に対応して設けられた複数のレジスタを直列に接続することにより構成されている。ＰＥ２１のレジスタの間あるいは前後に独立したレジスタを接続することが可能であり、転送路が長くなったり、レイテンシーの調整を行う必要がある場合は有効である。
【００３０】
図６を参照して、転送路５１を例に各々のＰＥ２１における構成を説明する。ＰＥ２１の設定ユニット６０は３２ビットのレジスタ（ＦＦ）６１を備えており、３２ビットの転送路５１により前後に隣接するＰＥ２１のＦＦ６１と接続されている。したがって、転送路５１では、１つのＰＥ２１のＦＦ６１に伝送された１ワードのデータ７５は、１クロックあるいは１サイクルの遅延で次のＰＥ２１のＦＦ６１に伝送される。
【００３１】
設定ユニット６０は、さらに、ＦＦ６１に格納されたデータ７５をデコードするデコーダ６２と、データ７５を格納するためにバックグラウンドで動作するバックグランド動作部６３と、ローカルのデータパス領域２９の設定を行うコンフィグレーションデータが格納されるフォアグラウンド動作部６４とを備えている。バッググラウンド動作部６３は、３バンクのバッググラウンドメモリ６５と、ＦＦ６１に格納されたデータ７５をバッググラウンドメモリ６５の各バンクと直に出力するラインに振り分けるセレクタ６６と、メモリ６５のバンクを選択してデータを出力できるセレクタ６７とを備えている。フォアグラウンド動作部６４は、データパス領域２９に供給されている設定データを格納することによりデータパス領域２９の現状のコンフィグレーションを維持するフォアグラウンドメモリ６８と、フォアグラウンドメモリ６８に、バッグラウンドメモリ６５または転送路５１のＦＦ６１からのデータを選択して供給するセレクタ６９を備えている。フォアグラウンドメモリ６８にロードするコンフィグレーションデータ（設定データ）を選択するセレクタ６７および６９は、選択信号を選択するための第２のセレクタ７２および７０により制御され、転送路５１によりＦＦ６１にセットされたデータおよびフォアグラウンドメモリ６８に設定されたコンフィグレーションデータから制御することができる。セレクタ６７および６９は、ＲＩＳＣ３５からダイレクトに供給される信号により制御するようにしても良い。
【００３２】
設定ユニット６０は、下流のＰＥ２１のＦＦ６１に供給するデータ７５を、自己のＰＥ２１のＦＦ６１のデータ、バッググラウンドメモリ６５のバンクのデータ、さらにフォアグラウンドメモリ６８のデータのいずれかから選択できる出力セレクタ７１を備えている。デコーダ６２は、自己のＰＥ２１のＦＦ６１に転送されたデータ７５を解析することにより、出力セレクタ７１を切り替えて下流のＰＥ２１のＦＦ６１に転送されるデータ７５を選択する。
【００３３】
図７に、転送路５１を用いたデータ伝送方法を実現するデコーダ６２の処理の概要を示してある。ステップ８１において、ＦＦ６１に転送されたデータ７５が自己のＰＥ２１が処理するデータか否かを判断する。自己のＰＥ２１が処理すべきデータでないときは、ステップ８７でセレクタ７１をスルーにする。次に、ＦＦ６１に転送されたデータ７５が、自己のＰＥ２１が処理するデータであり、ステップ８２において、制御用のデータであると判断すれば、ステップ８３においてデコーダ６２はフォアグラウンドメモリ６８に関連するセレクタを切り替えてフォアグラウンドメモリ６８の内容を更新する。これにより、ローカルのデータパス領域２９の構成が変更になる。ステップ８７において、セレクタ７１はスルーにセットされたままである。
【００３４】
ＦＦ６１に転送されたデータ７５が制御用でない場合は、ＰＥ２１に格納するデータか、あるいはＰＥ２１のデータを書き込むためにダミーデータにより予約されたデータ領域である。したがって、ステップ８４において、ＦＦ６１に転送されたデータ７５がバックグラウンドメモリ６５またはフォアグラウンドメモリ６８に格納するデータであれば、ステップ８５において、ＦＦ６１から読み出されたデータを指定されたメモリに格納する。ステップ８７において、セレクタ７１はスルーにセットされたままである。
【００３５】
一方、ステップ８４において、ＦＦ６１に転送されたデータ７５がダミーの場合は、ステップ８６においてセレクタ７１を切り替えて、下流のＰＥ２１のＦＦ６１にバックグラウンドメモリ６５またはフォアグラウンドメモリ６８の内容を転送する。フォアグラウンドメモリ６８の内容は、そのＰＥ２１の処理状態を示すものであり、処理状態の確認、エラーの有無などをデバッグユニットやＲＩＳＣ３５などにおいて判断するために用いられる。バッググラウンドメモリ６５の内容は、そのＰＥ２１に割り当てられていた機能を示すものであり、例えば、そのＰＥ２１にエラーが発生したり、ＰＥ２１が含まれていたデータフローを構成しなおす必要が生じたときに、代替のＰＥ２１にコンフィグレーションデータを転送するときに使用される。
【００３６】
本例のデータ伝送機構５０において、各ＰＥ２１のＦＦ６１を接続して形成された転送路５１は、クロックあるいはサイクル単位で上流のＦＦ６１から下流のＦＦ６１にデータ７５が転送されるシフトレジスタ方式の転送路である。そして、ＦＦ６１の間でデータ７５の転送を停止あるいはウェイトする制御用の機構はなく、複数のＦＦの間で、３２ビットのデータ７５が順番に、継続して転送される。複数のＦＦ６１の間で転送されるデータ７５は基本的には変更されることはなく、リード要求があったときには、下流のＦＦ６１に転送するデータ７５がＰＥ２１のメモリの出力に置き換えられる。したがって、ＦＦ６１の間を転送されるワード単位のデータ７５は、あるＰＥ２１が専用に利用できるように開放あるいは設定されたデータ領域であり、読み出しも、書き込みも可能であるが、ＦＦ６１により転送されるデータ領域が消滅することはなく、転送路５１がデータ領域の転送から開放されることはない。
【００３７】
データ領域は、ある特定の１つのＰＥ２１に対して専用であってもよく、転送路５１により接続された複数のＦＦ６１のそれぞれの所有者である複数のＰＥ２１に対して専用であっても良い。したがって、複数のＰＥ２１に対して共通のデータあるいはメッセージを、転送路５１を用いて発送できる。転送路５１により接続されたＰＥ２１が、データ領域７５の宛先（所有者）、読出し、書き込みといったプロパティを変更する機能を備えていれば、目的を達したデータ領域７５のプロパティを変更して他の目的のために利用することができる。本例においては、ＰＥ２１における機能を簡略化するために、データ領域７５のプロパティは、伝送コントロールユニット（ＴＣＵ）５９により一括管理されている。
【００３８】
図５に、ＴＣＵ５９の概略構成を示してある。ＴＣＵ５９は、データ領域管理部９１と、このデータ領域管理部９１により設定された条件のデータ領域７５を各転送路５１〜５８に集配する配送部９２とを備えている。データ領域管理部９１は、ＢＳＵ３６とのデータ交換を管理するバス制御部９５と、送信部９３と、受信部９４とを備えている。送信部９３は、バッファ９６と、暗号処理回路９７と、パラメータ設定回路９８とを備えている。暗号処理回路９７は、データ領域７５に格納するデータを暗号化する必要があれば暗号化し、逆に、ＢＳＵ３６から供給された暗号化されたデータを復号する必要があれば復号する。パラメータ設定回路９８は、送出するデータ領域７５にヘッダーを付けてデータ領域のプロパティを設定する。
【００３９】
ＰＵ１においては、全ての転送路５１〜５８は閉じており、ＴＣＵ５９から送出したデータ領域７５はＴＣＵ５９に戻るようになっている。さらに、ＴＣＵ５９の受信部９４は、転送路５１〜５８から戻されたデータ領域７５を受信するリード用ＦＩＦＯ９９と、受信したデータ領域７５に含まれるデータにより、そのデータ領域７５をバス制御ユニット９５に出力するか、送信部９３に供給して同じまたは別の転送路５１〜５８を介して他のＰＥ２１に供給するかを選択可能なセレクタ１０５を備えている。
【００４０】
配送部９２は、送信部９３から出力されたデータ領域７５を宛先のＰＥ２１が属する転送路５１〜５６のいずれかに分配して出力するセレクタ１０１を備えている。ＰＥ２１は、いずれかのセグメント１０〜１５に属しており、データ領域（少なくともデータ単位の先頭になるヘッダーを格納したデータ領域）７５は、セグメントの情報を備えているので、その情報により転送路を選択できる。さらに、ＰＵ１では、入力バッファ３３と出力バッファ３４の制御もデータ伝送機構５０により行おうとしており、それぞれを構成するエレメントを接続する転送路５７および５８が設けられている。配送部９２は、さらに、各転送路５１〜５８から戻ったデータ領域７５を集めて受信部９４に供給するセレクタ１０２を備えている。ＰＵ１では、各転送路５１〜５８のレイテンシーは同一になるように設計されているので、集合用のセレクタ１０２は、転送路５１〜５８を選択する必要はなく、各転送路５１〜５８を一巡したデータ領域７５は、衝突せずに受信部９４に回収される。
【００４１】
セグメント１０〜１５には、ほぼ同数のＰＥ２１が配置されており、それぞれのセグメントに含まれるＰＥ２１にそれぞれに対応するＦＩＦＯ（レジスタ）６１をレジスタ群とし、それらレジスタを直列に通過する転送路５１〜５６のレイテンシーは同じになるようにアレンジされている。すなわち、シフトレジスタ型の各転送路５１〜５６を構成するレジスタ群のＦＦ６１の数は同数になるようにアレンジされている。バッファ用の転送路５７および５８もセグメントとレイテンシーが一致するように、各転送路を構成するＦＦの数が決定されている。したがって、送信部９３から順番に送出されたデータ領域７５は、その順番を崩さずに各転送路５１〜５８を転送され、集合用のセレクタ１０２に送出した順番に到達する。このため、受信部９４が、到達した順番にデータ領域７５のデータをバス制御ユニット９５およびＢＳＵ３６を介してＲＩＳＣ３５に送ると、ＲＩＳＣ３５は、送出部９３により出力した順番のデータを得ることができる。したがって、ＲＩＳＣ３５は、各々のＰＥ２１が物理的にどのセグメントのどの位置に配置されているかを意識する必要はなく、セグメントとセグメント内のアドレスが分かる情報を付けてデータを出力するだけで、所望のＰＥ２１にデータを供給でき、また、所望のＰＥ２１のデータを取得することができる。
【００４２】
ＰＥ２１に発送されるデータは１ワードとは限らず、多くのケースでは数ワードあるいはそれ以上になる。したがって、ＰＥにより独立した処理が行われる、すなわち、読出したり書き込んだりする処理が行われるデータ単位は１つのデータ領域７５だけで送信できることは少なく、複数のデータ領域が消費される。複数のデータ領域７５のそれぞれにヘッダーを設けても良いが、ヘッダーにより消費される領域を低減する。このために、本例のＰＵ１においては、各々のＰＥ２１で独立した処理が行われるデータ単位を連続した複数のデータ領域７５により伝送し、パラメータなどのデータの管理情報は、先頭のデータ領域７５のヘッダーにできるだけ格納することによりデータ転送効率を向上している。したがって、１ワード以上のパケットは複数に分けて数珠繋ぎに転送路５１のＦＦ６１を転送される。
【００４３】
図８（ａ）にヘッダーの構成を示してある。本例においては、ヘッダー７６に１ワードを消費するので、最初に転送路５１を伝送されるデータ領域７５はヘッダー７６が格納される。フィールド７６ａは、セグメント番号であり、ＴＣＵ５９の配送部９２は、フィールド７６ａの値により振り分ける転送路５１〜５８を決定する。フィールド７６ｂおよび７６ｃは、宛先のＰＥ２１のセグメント内のＸ位置およびＹ位置を示す情報である。したがって、フィールド７６ａ〜７６ｃがデータ領域７５の所有者となるＰＥ２１を特定するアドレス情報であり、ＰＥ２１の設定ユニット６０では、これらの情報をデコードすることにより自己宛のデータ領域であるか否かを判断する。フィールド７６ｄはライトアクセスとリードアクセスとを判別するためのフィールドである。ライトであれば、後続のデータ領域７５にはＰＥ２１のメモリに書き込むデータが格納されている。リードであれば、後続するデータ領域７５にはダミーデータが格納されており、ＰＥ２１は指定されたメモリの情報をダミーデータに代えてデータ領域７５として出力し、後続のＰＥ２１のＦＦ６１に送り出すことになる。
【００４４】
フィールド７６ｅは、複数のデータ領域７５によりデータが転送されていることを示し、フィールド７６ｆは、ヘッダーを格納したデータ領域７５に続くデータを格納したデータ領域７５の数を示す。したがって、図８（ｂ）に示すように、ヘッダーにより宛先として指定されたＰＥ２１は、ヘッダーのデータ領域７５に続き、連続してＦＦ６１に転送されてくるデータ（例えばコンフィグレーションデータ）７７のデータ領域７５を、ヘッダーで指定された数だけ自己の所有するデータ領域であると判断し、それらのデータ領域７５に対してデータの入出力を行う。フィールド７６ｇは、ヘッダーに続き、１つではなく複数のデータ領域７５がバースト転送されることを示す。ＰＥ２１のバックグラウンドメモリ６５およびフォアグラウンドメモリ６８は、バーストアクセスにより連続した入出力が可能な構成となっている。バーストアクセスでは、バースト回数を指定したり、バースト回数を固定する方式を採用できる。また、回数を指定する代わりに、ＰＥ２１のメモリの指定されたアドレスからデータを次々と格納し、予め設定されたアドレスまで書き込んだときにバーストアクセスを終了する方式も採用できる。読出しも同様である。データを入出力するアドレスと、入出力するデータ量を同時に指定することが可能となり、ヘッダーのデータ量を削減できる。
【００４５】
フィールド７６ｈは、各々のＰＥ２１においてデータを格納し、あるいは読み出すバンク番号を示している。バンク番号を指定することにより、ライトアクセスのときはデータ領域７５により転送されたデータ７７は、バックグラウンドメモリ６５またはフォアグラウンドメモリ６８の指定されたバンクに書き込まれる。リードアクセスのときは、データ領域７５を確保するために転送されたダミーデータが、指定されたバンクのデータにより置き換えられて次のＦＦ６１に転送される。
【００４６】
フィールド７６ｉは、暗号化／非暗号化の選択用であり、このビットにより暗号化パケットであるか否かを判断する。暗号化されたデータが送られてきた場合は、そのデータが読み出されるときも暗号化して出力する。暗号化／非暗号化の切り分けは自由に設定でき、チップ単位、セグメント単位、エレメント単位、さらにはバンク単位で指定することができる。また、フィールド７６ｊは、ＣＲＣを指定するために用いられる。これにより、データ領域７５に格納されたデータあるいはメッセージの信頼性を向上できる。
【００４７】
ヘッダー７６は、上記以外の設定も可能である。例えば、１つで制御用のパケットとして機能させることも可能である。データ領域７５が巡回する全てのＰＥ２１に対してデータあるいはメッセージを提供するブロードキャスト用に利用できる。セグメント単位の制御に適しており、セグメント単位でパワーダウンさせることができる。さらに制御用のデータはＴＣＵ５９の送信部９３の設定にも利用できる。ＲＩＳＣ３５により制御パケット用のヘッダーをＰＥ２１に転送するのと同様の手続きで出力すれば、その制御パケットはＴＣＵ５９を通過するので、ＴＣＭ５９の設定にも利用できる。パラメータ設定回路９８のバンク番号を指定することにより、それ以降の全てのデータ領域７５により転送されるデータを同一のバンクに格納するように設定できる。
【００４８】
図９に、転送路５１によりＰＥ２１に伝送可能な幾つかのパケットの例を示してある。図９（ａ）は制御パケットであり、データ領域７５にヘッダー７６を格納し、単独で伝送することにより、ヘッダー７６により指定されたＰＥ２１を制御できる。図９（ｂ）は、シングルライトアクセスパケットであり、転送路５１を構成するＦＦ６１を、ヘッダー７６を格納したデータ領域７５に続いてライトデータを格納したデータ領域７５が転送される。図９（ｃ）は、バーストライトアクセスパケットであり、ヘッダー７６を格納したデータ領域７５に続いてライトデータを格納した複数のデータ領域７５が転送路５１を転送される。
【００４９】
図９（ｄ）は、シングルリードアクセス要求パケットであり、ヘッダー７６を格納したデータ領域７５に続いて、ダミーデータを格納したデータ領域７５が転送路５１を伝送される。そして、図９（ｅ）に示すように、シングルリードアクセス応答パケットが閉回路となっている転送路５１により戻される。シングルリードアクセス応答パケットとして、ヘッダー７６を格納したデータ領域７５に続いて、目的のＰＥ２１においてダミーデータがリードデータ７８に置き換わったデータ領域７５が伝送される。図９（ｆ）は、バーストリードアクセス要求パケットであり、ヘッダー７６を格納したデータ領域７５に続いて、ダミーデータを格納した複数のデータ領域７５が転送路５１を伝送される。そして、図９（ｇ）に示すバーストリード応答パケットが閉回路の転送路５１により戻される。バーストリード応答パケットとして、ヘッダー７６を格納したデータ領域７５に続いて、所望のＰＥ２１においてダミーデータがリードデータ７８に置き換わった複数のデータ領域７５が伝送される。
【００５０】
ＲＩＳＣ３５が、マトリクス１９のＰＥ２１に対する通信管理を行う制御ユニットであれば、ＲＩＳＣ３５は、宛先のＰＥ２１に書き込みたいデータを、そのＰＥ２１を特定するヘッダーデータを有するパケットとしてＴＣＵ５９に送ると、ＴＣＵ５９は、書き込みたいデータをデータ領域７５に分割して転送路、例えば転送路５１に送り出す。そして、ＰＥ２１が自己宛のデータ領域７５を受け取ると、そのデータ領域７５に含まれているデータをメモリに書き込む。したがって、ＲＩＳＣ３５は、そのＰＥ２１の物理的な位置を知らなくても所望のＰＥ２１にデータを書き込むことができる。
【００５１】
また、ＲＩＳＣ３５が、所望のＰＥ２１からデータを読み出したいときは、そのＰＥ２１を特定するヘッダーデータと読み出したいデータ量が分かるデータとを有するパケットをＴＣＵ５９に送る。ＴＣＵ５９は、ダミーデータにより読み出したいデータ量を格納可能なデータ領域７５を確保し、転送路５１に送り出す。ＰＥ２１は、自己宛のデータ領域７５を受け取ると、ダミーデータの代わりに指定されたデータを転送路５１に送り出す。したがって、そのＰＥ２１に予め割り当てられたタイミングを使用して、ローカル側からデータを、転送路５１を介してＲＩＳＣ３５に供給することができる。
【００５２】
このシフトレジスタ型のデータ伝送機構５０では、転送路に属するＰＥ２１が使用するデータ領域７５が予約されているので、データの送受信中に転送路を移動するデータ量が増減することはなく、また、異なるＰＥ２１に対する入出力が競合することもない。したがって、転送路を形成するＦＦ６１の間で、サイクル単位でデータ領域７５を継続して転送することが可能であり、データ領域７５の転送を中止したり、待機する必要はない。このため、伝達途中のデータの入出力のタイミングを管理するハードウェアおよびソフトウェアは不用となり、極めてシンプルな構成で所望のＰＥ２１に対してデータを入力でき、また、データを読出しできる。転送路を構成するＦＦを転送されるデータ領域７５は、１ワードの窓のように取り扱うことが可能となり、ＲＩＳＣ３５は、その窓にパケットを書き込むことにより転送路にデータを流すことができる。また、ＰＥ２１においては、自己宛のデータ領域７５は、窓が開いた状態となり、その窓からデータを読み込み、またデータを書き込むことができる。他のＰＥに宛てたデータ領域７５は、窓を閉めたまま次のＰＥ２１のＦＦにスルーされる。
【００５３】
さらに、このデータ伝送機構５０は、転送路がシフトレジスタにより構成されるので、ＲＩＳＣ３５から出力されたパケットデータを全てバッファリングする必要はない。ＴＣＵ５９にＲＩＳＣ３５から供給されたデータは、１ワードずつ次々と転送路に出力することができる。したがって、ＢＳＵ３６などを介することによる影響を受けるとしても、基本的にはＲＩＳＣ３５から出力される速度で、ＲＩＳＣ３５に待機させることもなく、データのバッファリングに時間を浪費することなく、データを転送路５１〜５８に送出することが可能である。したがって、このデータ伝送機構５０は、簡易な構成で高速なデータ転送システムである。
【００５４】
転送路を構成する多数のＦＦを介してデータが伝送されるために所望のＰＥ２１にデータが到達するタイミングが遅くなる可能性がある。しかしながら、パケットデータをＦＩＦＯなどによりバッファリングすることを考えると、転送路を構成するＦＦの数がパケットデータのワード数に対して非常に多い場合を除けば、データの到達時間の差はない。バッファリングを繰り返すシステムであれば、本例のデータ伝送機構５０の方が最初にデータが到達する時間も短縮される。また、転送路のレイテンシーが大きいときは、転送路のバンド幅を広げることで短縮することも可能であるが、ハードウェアリソースがかなり増加する。これに対し、本例のＰＵ１のように、転送路をセグメント毎に分割することにより個々の転送路のレイテンシーを縮小する設計が可能である。転送路をセグメント毎に分割することにより、ハードウェアリソースの増加も防止でき、また、各ＰＥにおいてはセグメントをデコードする必要がなくなるのでデコーダ６２の構成が簡易になる。
【００５５】
図１０に示したデータ処理装置２は、上述したＰＵ１と同じ規模のマトリクス１９を４つ備えた大規模な再構成可能なデータ処理装置である。このような大規模でＰＥの数が４倍に増えた場合も、転送路を各マトリクス毎に分割し、データ領域７５を各マトリクス１９に振り分ける分配回路５を設けることにより、レイテンシーの増加を防ぐことができる。セグメントより大きなグループ、例えば、マクロセグメントを形成し、転送路を階層化することにより、個々の転送路に含まれるシフトレジスタの段数は少なくなる。このため、階層化された転送路によりレイテンシーは減少するが、その一方で、階層化された転送路を指定する情報が増大し、ヘッダーが大きくなる。ヘッダーが大きくなると１つのデータ領域７５では伝送できなくなる可能性があり、オーバーヘッドが増加し通信速度が低下する。この場合、分配回路をルート設定するための制御用パケットを出力し、分配回路により選択される転送路を固定することが可能である。次の制御用パケットにより転送路が切り替えられるまで、転送路を指定する情報を出力する必要がないので、ヘッダー情報を削減でき、ヘッダー情報を伝達することによりオーバーヘッドの増加を防止できる。
【００５６】
上記では、データ伝送機構５０を介してＲＩＳＣ３５より各ＰＥ２１のコンフィグレーションデータを更新する例を説明したが、コンフィグレーションデータはＲＩＳＣ３５に限らず、ＢＳＵ３６に接続されたコンポーネントであればいずれからでも供給できる。ＤＭＡＣ３９により、ＲＩＳＣのメモリ空間にマッピングされている各種メモリ（ＳＤＲＡＭ、ＰＣＩバス）からＴＣＵ５９にコンフィグレーションデータを転送し、ＰＥ２１に供給することができる。コンフィグレーションデータが外部メモリから暗号化されて供給されている場合、マトリクス１９に復号用の回路を構成し、暗号化されたコンフィグレーション情報をマトリクス１９の機能を使って復号して、ＢＳＵ３６を介してＴＣＵ５９に供給する。そして、マトリクス１９の各ＰＥ２１に復号化されたコンフィグレーションデータを供給することができる。ＰＵ１にコンフィグレーションデータを一時的に蓄積するＲＡＭを設けておくことも有効である。マトリクス１９により復号されたコンフィグレーションデータを格納したり、外部メモリから供給されるコンフィグレーションデータを格納しておくことにより、マトリクス１９の処理状況や、ＢＳＵ３６の処理状況に関わらず、複数のコンフィグレーションデータをＲＡＭに一時的に格納しておける。このため、コンフィグレーション情報の入れ替え指示によりＴＣＵ５９からＰＥ２１に確実に、タイムリーに供給することができる。
【００５７】
ＰＥ２１において、設定ユニット６０とデータパス部２９のクロック信号を個別に管理できるようにしておくことは望ましい。設定ユニット６０のうち、特に、転送路５１によりデータを転送するデータ伝送機構５０に含まれる回路へのクロック信号を停止させずに、データパス部２９のクロック信号を停止あるいは周波数を遅くできる機能を設けておくことが望ましい。コンフィグレーションデータの転送に影響を与えずに、個々のＰＥ２１の消費電力を削減することができ、木目細やかな電力制御が行える。
【００５８】
また、上記では、ＲＩＳＣ３５とＰＥ２１との間でデータあるいはメッセージを交換する例を説明しているが、ＰＥ２１の間でも転送路５１を用いてデータを交換できる。さらに、上記では、ＴＣＵ５９に、下りの転送路５１から上りの転送路５１さらには異なる転送路５２〜５６のいずれかにデータ領域７５を転送できる回路１０５を設けてある。このため、上流のＰＥ２１から下流のＰＥ２１にデータを供給だけではなく、下流のＰＥ２１から上流のＰＥ２１にもデータを供給でき、異なる転送路に含まれるＰＥ２１の間でもデータを交換できる。
【図面の簡単な説明】
【００５９】
【図１】プロセッシングユニット（ＰＵ）の概要を示す図である。
【図２】マトリクスの概要を示す図である。
【図３】プロセッシングエレメント（ＰＥ）の一例を示す図である。
【図４】ＰＥの他の例を示す図である。
【図５】ＰＥを転送路により接続した状態を示す図である。
【図６】ＰＥ間の接続を拡大して示す図である。
【図７】ＰＥの設定ユニットのデコーダの操作を示すフローチャートである。
【図８】図８（ａ）はヘッダー情報の構成を示し、図８（ｂ）はヘッダー情報を含むパケットデータを伝送する構成を示す図である。
【図９】図９（ａ）は制御用パケット、図９（ｂ）はシングルライトアクセス用パケット、図９（ｃ）はバーストライトアクセス用パケット、図９（ｄ）はシングルリードアクセス要求パケット、図９（ｅ）はシングルリードアクセス応答パケット、図９（ｆ）はバーストリードアクセス要求パケット、図９（ｇ）はバーストリードアクセス応答パケットの構成を示す図である。
【図１０】ＰＵの異なる例を示す図である。
【符号の説明】
【００６０】
１、２    データ処理装置（ＰＵ）
１０〜１５  セグメント
１９    マトリクス
２１    プロセッシングエレメント（ＰＥ）
２９    内部データパス領域
５０    データ伝送機構
５１〜５８    転送路
５９    転送制御ユニット（ＴＣＵ）
６０    設定ユニット
６１    フリップフロップ（ＦＦ、レジスタ）
７５    データ転送領域
【図１】
2005165435.tif 000003
【図２】
2005165435.tif 000004
【図３】
2005165435.tif 000005
【図４】
2005165435.tif 000006
【図５】
2005165435.tif 000007
【図６】
2005165435.tif 000008
【図７】
2005165435.tif 000009
【図８】
2005165435.tif 000010
【図９】
2005165435.tif 000011
【図１０】
2005165435.tif 000012