JP4359490B2 - データ伝送方法 - Google Patents

データ伝送方法 Download PDF

Info

Publication number
JP4359490B2
JP4359490B2 JP2003400391A JP2003400391A JP4359490B2 JP 4359490 B2 JP4359490 B2 JP 4359490B2 JP 2003400391 A JP2003400391 A JP 2003400391A JP 2003400391 A JP2003400391 A JP 2003400391A JP 4359490 B2 JP4359490 B2 JP 4359490B2
Authority
JP
Japan
Prior art keywords
data
area
processing
transfer
transfer path
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
Application number
JP2003400391A
Other languages
English (en)
Other versions
JP2005165435A (ja
Inventor
顕士 池田
Original Assignee
アイピーフレックス株式会社
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by アイピーフレックス株式会社 filed Critical アイピーフレックス株式会社
Priority to JP2003400391A priority Critical patent/JP4359490B2/ja
Publication of JP2005165435A publication Critical patent/JP2005165435A/ja
Application granted granted Critical
Publication of JP4359490B2 publication Critical patent/JP4359490B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Logic Circuits (AREA)

Description

本発明は、複数のプロセッシングエレメントに対し、あるいはそれらの間でデータを転送するのに適した方法に関するものである。
特表平10−505993号公報には、FPGAに構成データを供給する幾つかの方法が開示されている。FPGAにシリアル・データで構成データを供給する構成においては、構成モードのときに、FPGAからクロック信号が供給されてPROMが選択され、FPGAの構成が終了するとPROMの選択が解除される。FPGAが並列ROMに接続されている構成では、構成モードのときにFPGAがアドレス信号を出力し、データ信号を受け取る。また、構成モードのときに、FPGAの代わりにマイクロプロセッサを用いてEPROMをアドレス指定して構成データを受け取ることが記載されている。さらに、メモリの側でFPGAを構成モードにして構成データを送信し、FPGAから構成が完了したことが示されると構成データの送信を中止させることが記載されている。
特表平10−505993号公報
FPGA(Field Programmable Gate Array)に対し、動的に回路を再構成することを目的としたプロセッサ(ダイナミック・リコンフィグラブル・プロセッサ)が提案されており、たとえば、国際公開WO02/095946号を挙げることができる。この国際公開WO02/095946号には、2次元に複数のエレメントが配置されたマトリクスと称される領域を有し、マトリクス内に縦横に配置された配線群の接続を切り替えることにより複数のエレメントによりフレキシブルにデータフロー(データパス)を再構成できるようにしている。動的に再構成可能な構成は、これに限定されるものではなく、エレメントをツリー状に接続したり、隣り合うエレメント同士を接続し、エレメントを通信経路として用いる構成などもある。
複数のエレメントにより構成される回路を動的に再構成しようとした場合、各エレメントに対し、その機能を制御する構成データ(コンフィグレーションデータ)をタイムリーに提供できることが重要である。コンフィグレーションデータを送受信するために多大なサイクルを消費するようなデータ伝送方法は、再構成に時間を要し、動的再構成プロセッサには適さない。したがって、回路側を構成モードに変更してクロックまたはアドレスを出力して、構成データを取得し、構成の変更が終了すると構成データの送信を停止するという多数のステップを要するデータ伝送方法は動的再構成プロセッサには適した方法とは言えない。
シリアル・データを転送する代わりに、回路を構成する複数のエレメントに対してバス接続によりパラレルにデータを転送する方法は、データの転送時間を短縮できる点で優れている。しかしながら、大規模な回路を再構成可能なプロセッサで実現する場合、コンフィグレーションデータを転送する対象となるエレメント数が膨大になり、バス幅が大きくなる。そのため、コンフィグレーションデータを転送するためのハードウェアリソースが大きくなり、プロセッサが大型で高価なものになる。共有バス形式を採用することによりハードウェアリソースの問題は多少改善される。しかしながら、各エレメントをアドレスで指定してバスを占有した状態でデータを転送する必要があるので転送に要する時間は増加する。共有バス形式の代わりに、データパケットをフリッツと称される小片に分けて複数のエレメントを数珠繋ぎにして転送するワームホールルーティングという転送方法もある。しかしながら、データの送信先のエレメントに到達するルートが空いていないと、デッドロック状態となり常に安定した条件でデータを転送することは難しい。
さらに、これらのデータ伝送方法では、送信側が受信側に対してデータ転送がレディーをアナウンスし、受信側が送信側にデータを受信できる状態であることをアナウンスするという手続きが必要であり、その手続きに要する処理時間あるいはハードウェアが必要となる。そして、再構成可能な大規模な回路を実現しようとした場合、これらのデータ転送のための前および後処理のための時間あるいはハードウェアが無視できないものとなる可能性がある。
そこで、本発明においては、簡易な構成で、常に安定した状態でデータを転送できる伝送方法およびデータ処理装置を提供することを目的としている。また、データ転送の前後処理のために要する時間あるいはハードウェアを省略することができる伝送方法およびデータ処理装置を提供することを目的としている。
本発明においては、複数のプロセッシングエレメントのそれぞれに対応する複数のレジスタを含むレジスタ群のレジスタを予め直列に接続してシフトレジスタ方式の転送路を形成する。そして、その転送路を使用し、レジスタ群に含まれるレジスタの間で、複数のデータ領域を順番に、継続して転送する工程と、レジスタ群の1のレジスタに転送されたデータ領域を、そのレジスタに対応するプロセッシングエレメントが使用可能であれば、そのデータ領域のデータを読出し、および/またはデータ領域にデータを書き込む入出力工程とを有するデータ伝送方法を本発明では提供する。プロセッシングエレメントは、機能を変更可能なデータパス領域と、データパス領域を設定するための複数のコンフィグレーション情報を記憶するメモリとを備えており、このデータ転送方法の入出力工程では、データ領域から前記メモリにデータを転送し、または、前記メモリから前記データ領域にデータを転送する。また、本発明においては、複数のプロセッシングエレメントと、これら複数のプロセッシングエレメントのそれぞれに対応する複数のレジスタを含むレジスタ群であって、レジスタ群の含まれるレジスタが予め転送路を形成するように直列に接続され、それらのレジスタの間で、複数のデータ領域を順番に、継続して転送するレジスタ群とを有するデータ処理装置を提供する。このデータ処理装置においては、プロセッシングエレメントは、複数のレジスタのうち、当該プロセッシングエレメントに対応するレジスタに転送されたデータ領域が、当該プロセッシングエレメントで使用可能であれば、そのデータ領域のデータを読出し、および/またはデータ領域にデータを書き込む入出力手段を備えている。さらに、プロセッシングエレメントは、機能を変更可能なデータパス領域と、データパス領域を設定するための複数のコンフィグレーション情報を記憶するメモリとを備えており、入出力手段は、データ領域からメモリにデータを転送し、または、メモリからデータ領域にデータを転送する。
このデータ伝送方法およびデータ処理装置においては、予め直列に接続された複数のレジスタにより転送路が形成されている。また、データそのものではなく、データ領域を転送する。この明細書においてデータ領域とは、データを格納するために配分された領域を示し、コンフィグレーションデータなどのプロセッシングエレメントにおいて利用可能な、あるいは意味のあるデータがすでに格納されている場合も、ダミーデータとして意味のないデータを格納することにより将来の利用のために領域が確保されている場合も含む。したがって、転送する工程においては、データ領域を転送するので、データがレディーであるか否かを確認したり、データがアクセプタブルであるかを確認したりする必要はなく、接続された上流のレジスタから下流のレジスタに単純にサイクル単位でデータ領域が転送できる。さらに、予め転送路は形成されているので、ルーティングの必要はない。このため、ルーティングのため、さらには、データを転送する際にその前後で信号を交換するために費やされる時間およびハードウェアを省略することができる。
転送路を構成するレジスタを集中して並べてシフトレジスタを形成し、そのシフトレジスタとプロセシングエレメントを適当な配線で接続するような配置配線も可能である。最も簡易で、配線遅延もない配置配線は、適当な方向に隣接するプロセッシングエレメント内に配置されたレジスタを接続してシフトレジスタ型の転送路を形成することである。転送路を形成するために消費される配線は最小になり、また、発信地点から受信地点が離れている場合も、シフトレジスタ型の転送路を転送するためのレイテンシーは考慮する必要があるとしても、配線による遅延は考慮する必要がなくなる。プロセッシングエレメント間が物理的に離れている場合は、任意の場所に中継用のシフトレジスタを挿入することが可能であり、それにより制御やハードウェアが追加になることはない。
個々のプロセッシングエレメントでは、入出力工程において、レジスタ群に含まれる複数のレジスタのうち、当該プロセッシングエレメントに対応するレジスタに転送されたデータ領域が、当該プロセッシングエレメントで使用可能であれば、そのデータ領域のデータを読出し、および/またはデータ領域にデータを書き込む。これにより、個々のプロセッシングエレメントは、個々のプロセッシングエレメント宛のメッセージなどのデータを転送路から受信し、他のプロセッシングエレメントまたは制御ユニット宛のメッセージを転送路に投げることができ、プロセッシングエレメント間または制御ユニットとプロセッシングエレメント間でデータを交換できる。したがって、個々のプロセッシングエレメントにおける入力および/または出力処理は独立しており、エレメント間の制御信号は不要である。
データ領域の使用の可否を含むプロパティをプロセッシングエレメントで制御することができる。データ領域が自己のプロセッシングエレメント宛になっていれば、そのデータ領域のデータあるいはメッセージをダウンロードすることができ、また、データ領域が未使用であれば自己のデータあるいはメッセージを送信するために利用できる。プライオリティを設定すれば、他のエレメントが使用中のデータ領域でも緊急度の高いメッセージの交換のために使用するデータ伝送方法を提供できる。転送路に接続された制御ユニットが、複数のデータ領域のプロパティを決定することも可能である。制御ユニットがデータの発信元であれば、受信先のエレメントを指定したデータ領域を送り出すことができる。また、あるエレメントから他のエレメントにデータを転送する場合は、そのようなプロパティをデータ領域にセットして送りだすことにより、転送路のトラフィックを制御できる。
転送路が閉じていることは有効である。閉じていない場合は、上流のエレメントから下流のエレメントにしかデータを送れないが、閉じていれば下流のエレメントから上流のエレメントにデータを転送できる。制御ユニットは、あるエレメントからデータを入手したい場合は、そのエレメントが使用するようにデータ領域をセットして送り出すことにより、閉じた転送路によりエレメントからの応答を得ることができる。そのために、データ領域に、入出力工程における処理およびその処理の対象となるアドレスを指示するデータをセットすることができる。データ領域に対するプロセッシングエレメントの処理時間を確保するために、複数のレジスタを1つのプロセッシングエレメントに割り当てた転送路も可能である。
送受信可能なデータ量と同じあるいは大きな容量のレジスタは基本的に不要である。1つのデータ量が大きなときは、入出力工程においてプロセッシングエレメント毎に独立した処理が行われるデータ単位を、連続した複数のデータ領域により伝送することが可能である。すなわち、本発明の転送路とデータ領域とを用いることにより、データパケットをレジスタのサイズに分割して数珠繋ぎに転送することができる。連続した複数のデータ領域を用いて伝送することにより、最初のデータ領域に送信先を設定することにより後続のデータ領域の管理が可能となる。本発明のデータ伝送方法は、データパケットが大きくなっても、それを転送するためにデータパケット全体を一時的にバッファリングする必要はない。直列に接続されたシフトレジスタの量が増加すると、レイテンシーが大きくなる可能性はあるが、バッファリングによる遅延は増加しない。共有バスシステムと比較すると、送受信側でパケット全体をいったんバッファリングする必要がないので、その分、処理時間は減少する。
しかしながら、多数のプロセッシングエレメントを有するデータ処理装置において、レイテンシーを低減したい場合は、複数の転送路を設け、分配ユニットによりそれら複数の転送路を制御ユニットに接続し、複数のデータ領域を、それぞれのデータ領域を使用可能なプロセッサエレメントが属する転送路に振り分けることができる。この振り分ける工程を設けることにより、所望のプロセッシングエレメントに到達する転送路を形成するシフトレジスタの段数が減るのでレイテンシーが減少する。
さらに、これら複数の転送路が、それぞれのレイテンシーが同一の閉じた転送路であれば、制御ユニットは、分配ユニットを介して複数の転送路に順番に送り出したデータ領域を衝突することなく受信することができる。このため、本発明により、複数の転送路を用いたデータ伝送方法であって、特別な制御を必要としないデータ伝送方法を提供できる。
本発明を適用する好適な形態は、複数のプロセッシングエレメントを有するデータ処理装置であって、複数のプロセッシングエレメントの機能を変更することにより、それら複数のプロセッシングエレメントの接続からなる回路の構成を再構成できるものである。各々のプロセッシングエレメントは、機能を変更可能なデータパス領域と、このデータパス領域を設定するための複数のコンフィグレーション情報を記憶するメモリとを備えている。伝送経路をメリーゴーランドのように動くデータ領域にコンフィグレーションデータを格納して所望のプロセッシングエレメントに転送することにより、簡易な機構により、コンフィグレーションデータをタイムリーに供給できる。入出力工程では、データ領域からメモリにデータを転送し、再構成可能な回路領域を再構成できる。また、制御ユニットから出力用のデータ領域を送って、所望のプロセッシングエレメントのメモリからデータ領域にデータを転送することにより、制御ユニットにデータを送ることができる。
複数のデータ領域に格納される情報はプレーンな情報である必要はない。暗号化されたデータを格納する領域を設けることができ、データ領域全体が暗号化されている場合も含まれる。入出力工程および入出力手段では、データ領域のデータを読出してデコードし、また、データ領域に暗号化したデータを書き込むことができる。
本発明においては、複数のプロセッシングエレメントに対応する複数のレジスタを直列に接続した転送路を使用し、各プロセッシングエレメントが利用できるデータ領域をメリーゴーランドのように巡回させることによりエレメント間およびエレメントと制御ユニット間のデータを交換する。シフトレジスタ型の転送路をデータ領域が循環し、個々のエレメントがそれを利用する形態なので、データを転送するためのハードウェアは簡易であり、さらに、フロー制御も不要となる。このため、多数のプロセッシングエレメントを搭載するデータ処理装置、例えば、再構成可能なLSIにおいて、プロセッシングエレメントに対して個別にコンフィグレーション情報を供給するためのハードウェアリソースを削減でき、コンパクトで低コストの再構成可能なLSIを提供できる。
図1に、データ処理装置の一例を示してある。このデータ処理装置1は、チップ化されたプロセッシングユニット(PU)であり、再構成可能な領域19と、この再構成可能な領域19を再構成する機能、および入出力を制御する機能などの周辺機能をサポートする、構成が固定された領域とを備えている。
再構成可能な回路領域19は、図1において複数のセグメント10から15に分かれて記載されているが、図2に示すように、複数のエレメントがアレイまたはマトリクス状に2次元に配置されており、マトリクスと称される構成である。本例のマトリクス19は、縦横に2次元に配置された複数のプロセッシングエレメント(PE)21と、それらの間に格子状に配置された配線22と、配線22の接続ポイントで縦横の配線22の接続を自由に切り替えることができるスイッチングユニット23とを備えている。PE21は、ルックアップテーブルなどにより自在に機能を設定可能なものであっても良い。本例では、算術論理演算用のエレメント、遅延用のエレメント、メモリ用のエレメント、データを入力または出力するためにアドレスを発生させるエレメント、データの入力または出力用のエレメントなど、ある程度の機能グループに分けて、それぞれの処理に適した内部構成のエレメントを配置することによりマトリクス19のスペース効率を向上している。また、ある程度の機能グループに分けたエレメントを配置することにより冗長性が減少するのでAC特性および処理速度も向上できるといったメリットを得ている。
図3および図4は、PE21の一例である。PE21は、機能を変更可能な内部データパス領域29と、その内部データパス領域29の機能を設定する設定ユニット60とを備えている。図3に示したPE21aの内部データパス領域29aは、カウンタなどからなるアドレス発生回路28と、セレクタSELとを備えており、設定ユニット60により設定された条件で生成されたアドレスが出力信号doとして配線22に出力される。この出力信号doは、行配線および列配線を介して、そのまま、あるいは、他のPE21によって処理された後に入力信号dixあるいはdiyとしてPE21aにフィードバックされる。そして、設定ユニット60によりセットされた条件でセレクタSELが選択したアドレスがマトリクス19からデータ入力あるいは出力用のアドレスとして出力される。PE21aは、配線22のいずれかの配線から入力データを選択し、また、出力データを出力するためのセレクタ(不図示)も備えており、それらの設定も設定ユニット60により行われる。
図4に示したPE21bは、算術演算および論理演算に適した構成である。内部データパス部29bは、シフト回路SHIFT、マスク回路MASK、論理演算ユニットALUを備えている。そして、上記のPE21aと同様に、設定部60により、これらのシフト回路SHIFT、マスク回路MASK、論理演算ユニットALUの状態が設定される。したがって、入力データdixおよびdiyを加算あるいは減算したり、比較したり、論理和あるいは論理積を演算することができ、その結果が出力信号doとして配線(バス)22に出力することができる。
図1および図2に示すように、PU1のマトリクス19は、368個のPE21を備えており、それらに対してコンフィグレーションデータを供給する転送路を分けて形成するために6つのセグメント10〜15に形式上分割されている。しかしながら、複数のPE21からデータフローを構成し、入力データを処理するという点では、これらのセグメント10〜15によりPE21が複数にグループ分けされているのではない。したがって、配線群22によりPE21をフレキシブルに接続し、複数のセグメントに跨ったデータフロー(データパス)を自由に構成できるようになっている。
マトリクス19の内部に、複数のPE21により構成されるデータパスで処理されるデータを入出力するインターフェイスが2種類用意されている。1つは、ダイレクト入力31a〜31cおよびダイレクト出力32a〜32cであり、PE21に対して外部から直にデータを入力し、また、出力することができる。ダイレクト入力31a〜31bおよびダイレクト出力32a〜32cを用いて複数のPU1を接続して、データパスを構成するPE21の実数をさらに増やすことができる。これにより、1つのチップ(PU)1では回路要素が不足するようなアプリケーションの処理も複数のチップ1を連結することにより対処できる。
PU1は、さらに、他の入力方法として、入力バッファ33と出力バッファ34とを用いてマトリクス19にデータを供給する構成を備えている。入力バッファ33は4つの入力エレメントLDBを備えており、バッファ33の構成および制御をコンフィグレーションデータにより設定できるようになっている。出力バッファ34も同様であり、4つの出力エレメントSTBを備えており、構成および制御をコンフィグレーションデータにより設定できるようになっている。
マトリクス19および入出力バッファ33および34に対するコンフィグレーションデータは、シフトレジスタ方式のデータ伝送機構50により、RISC35あるいは他のPU1などから供給される。本例においては、データ伝送機構50は、転送コントロールユニット(TCU)59と、各セグメント10〜15、入力バッファ33および出力バッファ34のそれぞれに張り巡らされた転送路51〜58とを備えている。TCU59は、バススイッチングユニット(バスインターフェイス、BSU)36に接続されており、RISC35はBSU36を介してコンフィグレーションデータをTCU59に供給する。
図1に示すようにBSU36には、複数のコンポーネントあるいはインターフェイスが接続されており、RISC35に限らず、これらのコンポーネントあるいはインターフェイスを用いてコンフィグレーションデータをマトリクス19に送り込むことができる。まず、BSU36にはSDRAMインターフェイス37が接続されており、外部メモリからコンフィグレーションデータを提供できる。また、PCIバスインターフェイス38とも接続されているので、PCIバスに接続された外部プロセッサからもコンフィグレーションデータを供給できる。また、その他のコンポーネントとしてDMAC39もBSU36に接続されており、RISC35に変わってコンフィグレーションデータの供給を制御することが可能である。その他に、シリアルインターフェイスコントローラとなる非同期通信機(UART)などの汎用インターフェイス40がバスブリッジ回路41を介してBSU36に接続されている。さらに、BSU36には、マトリクス19の入力バッファ33および出力バッファ34が接続されており、上述したインターフェイスを介してマトリクス19にデータを入出力することができる。
図5に、データ伝送機構50の各転送路51〜58のさらに詳しいルーティングを示してある。また、図6に、各エレメントにおいて転送路を用いてデータを入出力する機構を示してある。それぞれの転送路51〜56は、図5に示した夫々のセグメント10〜15に含まれるPE21に設けられた1ワード(32ビット)のレジスタ(フリップフロップ)を直列に繋ぐ配線である。転送路51〜56は、主に、それぞれのPE21に対応して設けられた複数のレジスタを直列に接続することにより構成されている。PE21のレジスタの間あるいは前後に独立したレジスタを接続することが可能であり、転送路が長くなったり、レイテンシーの調整を行う必要がある場合は有効である。
図6を参照して、転送路51を例に各々のPE21における構成を説明する。PE21の設定ユニット60は32ビットのレジスタ(FF)61を備えており、32ビットの転送路51により前後に隣接するPE21のFF61と接続されている。したがって、転送路51では、1つのPE21のFF61に伝送された1ワードのデータ75は、1クロックあるいは1サイクルの遅延で次のPE21のFF61に伝送される。
設定ユニット60は、さらに、FF61に格納されたデータ75をデコードするデコーダ62と、データ75を格納するためにバックグラウンドで動作するバックグランド動作部63と、ローカルのデータパス領域29の設定を行うコンフィグレーションデータが格納されるフォアグラウンド動作部64とを備えている。バッググラウンド動作部63は、3バンクのバッググラウンドメモリ65と、FF61に格納されたデータ75をバッググラウンドメモリ65の各バンクと直に出力するラインに振り分けるセレクタ66と、メモリ65のバンクを選択してデータを出力できるセレクタ67とを備えている。フォアグラウンド動作部64は、データパス領域29に供給されている設定データを格納することによりデータパス領域29の現状のコンフィグレーションを維持するフォアグラウンドメモリ68と、フォアグラウンドメモリ68に、バッグラウンドメモリ65または転送路51のFF61からのデータを選択して供給するセレクタ69を備えている。フォアグラウンドメモリ68にロードするコンフィグレーションデータ(設定データ)を選択するセレクタ67および69は、選択信号を選択するための第2のセレクタ72および70により制御され、転送路51によりFF61にセットされたデータおよびフォアグラウンドメモリ68に設定されたコンフィグレーションデータから制御することができる。セレクタ67および69は、RISC35からダイレクトに供給される信号により制御するようにしても良い。
設定ユニット60は、下流のPE21のFF61に供給するデータ75を、自己のPE21のFF61のデータ、バッググラウンドメモリ65のバンクのデータ、さらにフォアグラウンドメモリ68のデータのいずれかから選択できる出力セレクタ71を備えている。デコーダ62は、自己のPE21のFF61に転送されたデータ75を解析することにより、出力セレクタ71を切り替えて下流のPE21のFF61に転送されるデータ75を選択する。
図7に、転送路51を用いたデータ伝送方法を実現するデコーダ62の処理の概要を示してある。ステップ81において、FF61に転送されたデータ75が自己のPE21が処理するデータか否かを判断する。自己のPE21が処理すべきデータでないときは、ステップ87でセレクタ71をスルーにする。次に、FF61に転送されたデータ75が、自己のPE21が処理するデータであり、ステップ82において、制御用のデータであると判断すれば、ステップ83においてデコーダ62はフォアグラウンドメモリ68に関連するセレクタを切り替えてフォアグラウンドメモリ68の内容を更新する。これにより、ローカルのデータパス領域29の構成が変更になる。ステップ87において、セレクタ71はスルーにセットされたままである。
FF61に転送されたデータ75が制御用でない場合は、PE21に格納するデータか、あるいはPE21のデータを書き込むためにダミーデータにより予約されたデータ領域である。したがって、ステップ84において、FF61に転送されたデータ75がバックグラウンドメモリ65またはフォアグラウンドメモリ68に格納するデータであれば、ステップ85において、FF61から読み出されたデータを指定されたメモリに格納する。ステップ87において、セレクタ71はスルーにセットされたままである。
一方、ステップ84において、FF61に転送されたデータ75がダミーの場合は、ステップ86においてセレクタ71を切り替えて、下流のPE21のFF61にバックグラウンドメモリ65またはフォアグラウンドメモリ68の内容を転送する。フォアグラウンドメモリ68の内容は、そのPE21の処理状態を示すものであり、処理状態の確認、エラーの有無などをデバッグユニットやRISC35などにおいて判断するために用いられる。バッググラウンドメモリ65の内容は、そのPE21に割り当てられていた機能を示すものであり、例えば、そのPE21にエラーが発生したり、PE21が含まれていたデータフローを構成しなおす必要が生じたときに、代替のPE21にコンフィグレーションデータを転送するときに使用される。
本例のデータ伝送機構50において、各PE21のFF61を接続して形成された転送路51は、クロックあるいはサイクル単位で上流のFF61から下流のFF61にデータ75が転送されるシフトレジスタ方式の転送路である。そして、FF61の間でデータ75の転送を停止あるいはウェイトする制御用の機構はなく、複数のFFの間で、32ビットのデータ75が順番に、継続して転送される。複数のFF61の間で転送されるデータ75は基本的には変更されることはなく、リード要求があったときには、下流のFF61に転送するデータ75がPE21のメモリの出力に置き換えられる。したがって、FF61の間を転送されるワード単位のデータ75は、あるPE21が専用に利用できるように開放あるいは設定されたデータ領域であり、読み出しも、書き込みも可能であるが、FF61により転送されるデータ領域が消滅することはなく、転送路51がデータ領域の転送から開放されることはない。
データ領域は、ある特定の1つのPE21に対して専用であってもよく、転送路51により接続された複数のFF61のそれぞれの所有者である複数のPE21に対して専用であっても良い。したがって、複数のPE21に対して共通のデータあるいはメッセージを、転送路51を用いて発送できる。転送路51により接続されたPE21が、データ領域75の宛先(所有者)、読出し、書き込みといったプロパティを変更する機能を備えていれば、目的を達したデータ領域75のプロパティを変更して他の目的のために利用することができる。本例においては、PE21における機能を簡略化するために、データ領域75のプロパティは、伝送コントロールユニット(TCU)59により一括管理されている。
図5に、TCU59の概略構成を示してある。TCU59は、データ領域管理部91と、このデータ領域管理部91により設定された条件のデータ領域75を各転送路51〜58に集配する配送部92とを備えている。データ領域管理部91は、BSU36とのデータ交換を管理するバス制御部95と、送信部93と、受信部94とを備えている。送信部93は、バッファ96と、暗号処理回路97と、パラメータ設定回路98とを備えている。暗号処理回路97は、データ領域75に格納するデータを暗号化する必要があれば暗号化し、逆に、BSU36から供給された暗号化されたデータを復号する必要があれば復号する。パラメータ設定回路98は、送出するデータ領域75にヘッダーを付けてデータ領域のプロパティを設定する。
PU1においては、全ての転送路51〜58は閉じており、TCU59から送出したデータ領域75はTCU59に戻るようになっている。さらに、TCU59の受信部94は、転送路51〜58から戻されたデータ領域75を受信するリード用FIFO99と、受信したデータ領域75に含まれるデータにより、そのデータ領域75をバス制御ユニット95に出力するか、送信部93に供給して同じまたは別の転送路51〜58を介して他のPE21に供給するかを選択可能なセレクタ105を備えている。
配送部92は、送信部93から出力されたデータ領域75を宛先のPE21が属する転送路51〜56のいずれかに分配して出力するセレクタ101を備えている。PE21は、いずれかのセグメント10〜15に属しており、データ領域(少なくともデータ単位の先頭になるヘッダーを格納したデータ領域)75は、セグメントの情報を備えているので、その情報により転送路を選択できる。さらに、PU1では、入力バッファ33と出力バッファ34の制御もデータ伝送機構50により行おうとしており、それぞれを構成するエレメントを接続する転送路57および58が設けられている。配送部92は、さらに、各転送路51〜58から戻ったデータ領域75を集めて受信部94に供給するセレクタ102を備えている。PU1では、各転送路51〜58のレイテンシーは同一になるように設計されているので、集合用のセレクタ102は、転送路51〜58を選択する必要はなく、各転送路51〜58を一巡したデータ領域75は、衝突せずに受信部94に回収される。
セグメント10〜15には、ほぼ同数のPE21が配置されており、それぞれのセグメントに含まれるPE21にそれぞれに対応するFIFO(レジスタ)61をレジスタ群とし、それらレジスタを直列に通過する転送路51〜56のレイテンシーは同じになるようにアレンジされている。すなわち、シフトレジスタ型の各転送路51〜56を構成するレジスタ群のFF61の数は同数になるようにアレンジされている。バッファ用の転送路57および58もセグメントとレイテンシーが一致するように、各転送路を構成するFFの数が決定されている。したがって、送信部93から順番に送出されたデータ領域75は、その順番を崩さずに各転送路51〜58を転送され、集合用のセレクタ102に送出した順番に到達する。このため、受信部94が、到達した順番にデータ領域75のデータをバス制御ユニット95およびBSU36を介してRISC35に送ると、RISC35は、送出部93により出力した順番のデータを得ることができる。したがって、RISC35は、各々のPE21が物理的にどのセグメントのどの位置に配置されているかを意識する必要はなく、セグメントとセグメント内のアドレスが分かる情報を付けてデータを出力するだけで、所望のPE21にデータを供給でき、また、所望のPE21のデータを取得することができる。
PE21に発送されるデータは1ワードとは限らず、多くのケースでは数ワードあるいはそれ以上になる。したがって、PEにより独立した処理が行われる、すなわち、読出したり書き込んだりする処理が行われるデータ単位は1つのデータ領域75だけで送信できることは少なく、複数のデータ領域が消費される。複数のデータ領域75のそれぞれにヘッダーを設けても良いが、ヘッダーにより消費される領域を低減する。このために、本例のPU1においては、各々のPE21で独立した処理が行われるデータ単位を連続した複数のデータ領域75により伝送し、パラメータなどのデータの管理情報は、先頭のデータ領域75のヘッダーにできるだけ格納することによりデータ転送効率を向上している。したがって、1ワード以上のパケットは複数に分けて数珠繋ぎに転送路51のFF61を転送される。
図8(a)にヘッダーの構成を示してある。本例においては、ヘッダー76に1ワードを消費するので、最初に転送路51を伝送されるデータ領域75はヘッダー76が格納される。フィールド76aは、セグメント番号であり、TCU59の配送部92は、フィールド76aの値により振り分ける転送路51〜58を決定する。フィールド76bおよび76cは、宛先のPE21のセグメント内のX位置およびY位置を示す情報である。したがって、フィールド76a〜76cがデータ領域75の所有者となるPE21を特定するアドレス情報であり、PE21の設定ユニット60では、これらの情報をデコードすることにより自己宛のデータ領域であるか否かを判断する。フィールド76dはライトアクセスとリードアクセスとを判別するためのフィールドである。ライトであれば、後続のデータ領域75にはPE21のメモリに書き込むデータが格納されている。リードであれば、後続するデータ領域75にはダミーデータが格納されており、PE21は指定されたメモリの情報をダミーデータに代えてデータ領域75として出力し、後続のPE21のFF61に送り出すことになる。
フィールド76eは、複数のデータ領域75によりデータが転送されていることを示し、フィールド76fは、ヘッダーを格納したデータ領域75に続くデータを格納したデータ領域75の数を示す。したがって、図8(b)に示すように、ヘッダーにより宛先として指定されたPE21は、ヘッダーのデータ領域75に続き、連続してFF61に転送されてくるデータ(例えばコンフィグレーションデータ)77のデータ領域75を、ヘッダーで指定された数だけ自己の所有するデータ領域であると判断し、それらのデータ領域75に対してデータの入出力を行う。フィールド76gは、ヘッダーに続き、1つではなく複数のデータ領域75がバースト転送されることを示す。PE21のバックグラウンドメモリ65およびフォアグラウンドメモリ68は、バーストアクセスにより連続した入出力が可能な構成となっている。バーストアクセスでは、バースト回数を指定したり、バースト回数を固定する方式を採用できる。また、回数を指定する代わりに、PE21のメモリの指定されたアドレスからデータを次々と格納し、予め設定されたアドレスまで書き込んだときにバーストアクセスを終了する方式も採用できる。読出しも同様である。データを入出力するアドレスと、入出力するデータ量を同時に指定することが可能となり、ヘッダーのデータ量を削減できる。
フィールド76hは、各々のPE21においてデータを格納し、あるいは読み出すバンク番号を示している。バンク番号を指定することにより、ライトアクセスのときはデータ領域75により転送されたデータ77は、バックグラウンドメモリ65またはフォアグラウンドメモリ68の指定されたバンクに書き込まれる。リードアクセスのときは、データ領域75を確保するために転送されたダミーデータが、指定されたバンクのデータにより置き換えられて次のFF61に転送される。
フィールド76iは、暗号化/非暗号化の選択用であり、このビットにより暗号化パケットであるか否かを判断する。暗号化されたデータが送られてきた場合は、そのデータが読み出されるときも暗号化して出力する。暗号化/非暗号化の切り分けは自由に設定でき、チップ単位、セグメント単位、エレメント単位、さらにはバンク単位で指定することができる。また、フィールド76jは、CRCを指定するために用いられる。これにより、データ領域75に格納されたデータあるいはメッセージの信頼性を向上できる。
ヘッダー76は、上記以外の設定も可能である。例えば、1つで制御用のパケットとして機能させることも可能である。データ領域75が巡回する全てのPE21に対してデータあるいはメッセージを提供するブロードキャスト用に利用できる。セグメント単位の制御に適しており、セグメント単位でパワーダウンさせることができる。さらに制御用のデータはTCU59の送信部93の設定にも利用できる。RISC35により制御パケット用のヘッダーをPE21に転送するのと同様の手続きで出力すれば、その制御パケットはTCU59を通過するので、TCM59の設定にも利用できる。パラメータ設定回路98のバンク番号を指定することにより、それ以降の全てのデータ領域75により転送されるデータを同一のバンクに格納するように設定できる。
図9に、転送路51によりPE21に伝送可能な幾つかのパケットの例を示してある。図9(a)は制御パケットであり、データ領域75にヘッダー76を格納し、単独で伝送することにより、ヘッダー76により指定されたPE21を制御できる。図9(b)は、シングルライトアクセスパケットであり、転送路51を構成するFF61を、ヘッダー76を格納したデータ領域75に続いてライトデータを格納したデータ領域75が転送される。図9(c)は、バーストライトアクセスパケットであり、ヘッダー76を格納したデータ領域75に続いてライトデータを格納した複数のデータ領域75が転送路51を転送される。
図9(d)は、シングルリードアクセス要求パケットであり、ヘッダー76を格納したデータ領域75に続いて、ダミーデータを格納したデータ領域75が転送路51を伝送される。そして、図9(e)に示すように、シングルリードアクセス応答パケットが閉回路となっている転送路51により戻される。シングルリードアクセス応答パケットとして、ヘッダー76を格納したデータ領域75に続いて、目的のPE21においてダミーデータがリードデータ78に置き換わったデータ領域75が伝送される。図9(f)は、バーストリードアクセス要求パケットであり、ヘッダー76を格納したデータ領域75に続いて、ダミーデータを格納した複数のデータ領域75が転送路51を伝送される。そして、図9(g)に示すバーストリード応答パケットが閉回路の転送路51により戻される。バーストリード応答パケットとして、ヘッダー76を格納したデータ領域75に続いて、所望のPE21においてダミーデータがリードデータ78に置き換わった複数のデータ領域75が伝送される。
RISC35が、マトリクス19のPE21に対する通信管理を行う制御ユニットであれば、RISC35は、宛先のPE21に書き込みたいデータを、そのPE21を特定するヘッダーデータを有するパケットとしてTCU59に送ると、TCU59は、書き込みたいデータをデータ領域75に分割して転送路、例えば転送路51に送り出す。そして、PE21が自己宛のデータ領域75を受け取ると、そのデータ領域75に含まれているデータをメモリに書き込む。したがって、RISC35は、そのPE21の物理的な位置を知らなくても所望のPE21にデータを書き込むことができる。
また、RISC35が、所望のPE21からデータを読み出したいときは、そのPE21を特定するヘッダーデータと読み出したいデータ量が分かるデータとを有するパケットをTCU59に送る。TCU59は、ダミーデータにより読み出したいデータ量を格納可能なデータ領域75を確保し、転送路51に送り出す。PE21は、自己宛のデータ領域75を受け取ると、ダミーデータの代わりに指定されたデータを転送路51に送り出す。したがって、そのPE21に予め割り当てられたタイミングを使用して、ローカル側からデータを、転送路51を介してRISC35に供給することができる。
このシフトレジスタ型のデータ伝送機構50では、転送路に属するPE21が使用するデータ領域75が予約されているので、データの送受信中に転送路を移動するデータ量が増減することはなく、また、異なるPE21に対する入出力が競合することもない。したがって、転送路を形成するFF61の間で、サイクル単位でデータ領域75を継続して転送することが可能であり、データ領域75の転送を中止したり、待機する必要はない。このため、伝達途中のデータの入出力のタイミングを管理するハードウェアおよびソフトウェアは不用となり、極めてシンプルな構成で所望のPE21に対してデータを入力でき、また、データを読出しできる。転送路を構成するFFを転送されるデータ領域75は、1ワードの窓のように取り扱うことが可能となり、RISC35は、その窓にパケットを書き込むことにより転送路にデータを流すことができる。また、PE21においては、自己宛のデータ領域75は、窓が開いた状態となり、その窓からデータを読み込み、またデータを書き込むことができる。他のPEに宛てたデータ領域75は、窓を閉めたまま次のPE21のFFにスルーされる。
さらに、このデータ伝送機構50は、転送路がシフトレジスタにより構成されるので、RISC35から出力されたパケットデータを全てバッファリングする必要はない。TCU59にRISC35から供給されたデータは、1ワードずつ次々と転送路に出力することができる。したがって、BSU36などを介することによる影響を受けるとしても、基本的にはRISC35から出力される速度で、RISC35に待機させることもなく、データのバッファリングに時間を浪費することなく、データを転送路51〜58に送出することが可能である。したがって、このデータ伝送機構50は、簡易な構成で高速なデータ転送システムである。
転送路を構成する多数のFFを介してデータが伝送されるために所望のPE21にデータが到達するタイミングが遅くなる可能性がある。しかしながら、パケットデータをFIFOなどによりバッファリングすることを考えると、転送路を構成するFFの数がパケットデータのワード数に対して非常に多い場合を除けば、データの到達時間の差はない。バッファリングを繰り返すシステムであれば、本例のデータ伝送機構50の方が最初にデータが到達する時間も短縮される。また、転送路のレイテンシーが大きいときは、転送路のバンド幅を広げることで短縮することも可能であるが、ハードウェアリソースがかなり増加する。これに対し、本例のPU1のように、転送路をセグメント毎に分割することにより個々の転送路のレイテンシーを縮小する設計が可能である。転送路をセグメント毎に分割することにより、ハードウェアリソースの増加も防止でき、また、各PEにおいてはセグメントをデコードする必要がなくなるのでデコーダ62の構成が簡易になる。
図10に示したデータ処理装置2は、上述したPU1と同じ規模のマトリクス19を4つ備えた大規模な再構成可能なデータ処理装置である。このような大規模でPEの数が4倍に増えた場合も、転送路を各マトリクス毎に分割し、データ領域75を各マトリクス19に振り分ける分配回路5を設けることにより、レイテンシーの増加を防ぐことができる。セグメントより大きなグループ、例えば、マクロセグメントを形成し、転送路を階層化することにより、個々の転送路に含まれるシフトレジスタの段数は少なくなる。このため、階層化された転送路によりレイテンシーは減少するが、その一方で、階層化された転送路を指定する情報が増大し、ヘッダーが大きくなる。ヘッダーが大きくなると1つのデータ領域75では伝送できなくなる可能性があり、オーバーヘッドが増加し通信速度が低下する。この場合、分配回路をルート設定するための制御用パケットを出力し、分配回路により選択される転送路を固定することが可能である。次の制御用パケットにより転送路が切り替えられるまで、転送路を指定する情報を出力する必要がないので、ヘッダー情報を削減でき、ヘッダー情報を伝達することによりオーバーヘッドの増加を防止できる。
上記では、データ伝送機構50を介してRISC35より各PE21のコンフィグレーションデータを更新する例を説明したが、コンフィグレーションデータはRISC35に限らず、BSU36に接続されたコンポーネントであればいずれからでも供給できる。DMAC39により、RISCのメモリ空間にマッピングされている各種メモリ(SDRAM、PCIバス)からTCU59にコンフィグレーションデータを転送し、PE21に供給することができる。コンフィグレーションデータが外部メモリから暗号化されて供給されている場合、マトリクス19に復号用の回路を構成し、暗号化されたコンフィグレーション情報をマトリクス19の機能を使って復号して、BSU36を介してTCU59に供給する。そして、マトリクス19の各PE21に復号化されたコンフィグレーションデータを供給することができる。PU1にコンフィグレーションデータを一時的に蓄積するRAMを設けておくことも有効である。マトリクス19により復号されたコンフィグレーションデータを格納したり、外部メモリから供給されるコンフィグレーションデータを格納しておくことにより、マトリクス19の処理状況や、BSU36の処理状況に関わらず、複数のコンフィグレーションデータをRAMに一時的に格納しておける。このため、コンフィグレーション情報の入れ替え指示によりTCU59からPE21に確実に、タイムリーに供給することができる。
PE21において、設定ユニット60とデータパス部29のクロック信号を個別に管理できるようにしておくことは望ましい。設定ユニット60のうち、特に、転送路51によりデータを転送するデータ伝送機構50に含まれる回路へのクロック信号を停止させずに、データパス部29のクロック信号を停止あるいは周波数を遅くできる機能を設けておくことが望ましい。コンフィグレーションデータの転送に影響を与えずに、個々のPE21の消費電力を削減することができ、木目細やかな電力制御が行える。
また、上記では、RISC35とPE21との間でデータあるいはメッセージを交換する例を説明しているが、PE21の間でも転送路51を用いてデータを交換できる。さらに、上記では、TCU59に、下りの転送路51から上りの転送路51さらには異なる転送路52〜56のいずれかにデータ領域75を転送できる回路105を設けてある。このため、上流のPE21から下流のPE21にデータを供給だけではなく、下流のPE21から上流のPE21にもデータを供給でき、異なる転送路に含まれるPE21の間でもデータを交換できる。
プロセッシングユニット(PU)の概要を示す図である。 マトリクスの概要を示す図である。 プロセッシングエレメント(PE)の一例を示す図である。 PEの他の例を示す図である。 PEを転送路により接続した状態を示す図である。 PE間の接続を拡大して示す図である。 PEの設定ユニットのデコーダの操作を示すフローチャートである。 図8(a)はヘッダー情報の構成を示し、図8(b)はヘッダー情報を含むパケットデータを伝送する構成を示す図である。 図9(a)は制御用パケット、図9(b)はシングルライトアクセス用パケット、図9(c)はバーストライトアクセス用パケット、図9(d)はシングルリードアクセス要求パケット、図9(e)はシングルリードアクセス応答パケット、図9(f)はバーストリードアクセス要求パケット、図9(g)はバーストリードアクセス応答パケットの構成を示す図である。 PUの異なる例を示す図である。
符号の説明
1、2 データ処理装置(PU)
10〜15 セグメント
19 マトリクス
21 プロセッシングエレメント(PE)
29 内部データパス領域
50 データ伝送機構
51〜58 転送路
59 転送制御ユニット(TCU)
60 設定ユニット
61 フリップフロップ(FF、レジスタ)
75 データ転送領域

Claims (16)

  1. 複数のプロセッシングエレメントのそれぞれに対応する複数のレジスタを含むレジスタ群が予め直列に接続された転送路を使用し、複数のデータ領域を順番に、継続して転送する工程と、
    前記レジスタ群の1のレジスタに転送されたデータ領域を、そのレジスタに対応するプロセッシングエレメントが使用可能であれば、そのデータ領域のデータを読出し、および/または前記データ領域にデータを書き込む入出力工程とを有し、
    前記プロセッシングエレメントは、機能を変更可能なデータパス領域と、前記データパス領域を設定するための複数のコンフィグレーション情報を記憶するメモリとを備えており、
    前記入出力工程では、前記データ領域から前記メモリにデータを転送し、または、前記メモリから前記データ領域にデータを転送するデータ伝送方法。
  2. 請求項1において、前記転送路に接続された制御ユニットが、前記複数のデータ領域のプロパティを決定する工程をさらに有する、データ伝送方法。
  3. 請求項1または2において、前記転送路は閉じている、データ伝送方法。
  4. 請求項2において、複数の前記転送路が前記制御ユニットに対して分配ユニットを介して接続されており、前記複数のデータ領域を、それぞれのデータ領域を使用可能なプロセッサエレメントが属する前記転送路に振り分ける工程をさらに有する、データ伝送方法。
  5. 請求項4において、前記複数の転送路は、それぞれのレイテンシーが同一の閉じた転送路である、データ伝送方法。
  6. 請求項1ないし5のいずれかにおいて、前記データ領域には、前記入出力工程における処理およびその処理の対象となるアドレスを指示するデータが含まれている、データ伝送方法。
  7. 請求項1ないし6のいずれかにおいて、前記入出力工程において前記プロセッシングエレメント毎に独立した処理が行われるデータ単位が、連続した前記複数のデータ領域により伝送される、データ伝送方法。
  8. 請求項1ないし7のいずれかにおいて、前記複数のデータ領域は、暗号化されたデータを格納する領域を備えており、前記入出力工程では、前記データ領域のデータを読出してデコードし、および/または前記データ領域に暗号化したデータを書き込む、データ伝送方法。
  9. 複数のプロセッシングエレメントと、
    これら複数のプロセッシングエレメントのそれぞれに対応する複数のレジスタを含むレジスタ群であって、予め転送路を形成するように直列に接続され、複数のデータ領域を順番に、継続して転送するレジスタ群とを有し、
    前記プロセッシングエレメントは、前記複数のレジスタのうち、当該プロセッシングエレメントに対応するレジスタに転送されたデータ領域が、当該プロセッシングエレメントで使用可能であれば、そのデータ領域のデータを読出し、および/または前記データ領域にデータを書き込む入出力手段を備え、
    さらに、前記プロセッシングエレメントは、機能を変更可能なデータパス領域と、前記データパス領域を設定するための複数のコンフィグレーション情報を記憶するメモリとを備えており、
    前記入出力手段は、前記データ領域から前記メモリにデータを転送し、または、前記メモリから前記データ領域にデータを転送する、データ処理装置。
  10. 請求項において、前記転送路に接続された制御ユニットであって、前記複数のデータ領域のプロパティを決定する制御ユニットをさらに有する、データ処理装置。
  11. 請求項9または10において、前記転送路は閉じている、データ処理装置。
  12. 請求項10において、複数の前記転送路と、それら複数の転送路を前記制御ユニットに接続し、前記複数のデータ領域を、それぞれのデータ領域を使用可能なプロセッサエレメントが属する前記転送路に振り分ける分配ユニットとをさらに有する、データ処理装置。
  13. 請求項12において、前記複数の転送路は、それぞれのレイテンシーが同一の閉じた転送路である、データ処理装置。
  14. 請求項9ないし13のいずれかにおいて、前記データ領域には、前記入出力手段の処理およびその処理の対象となるアドレスを指示するデータが含まれている、データ処理装置。
  15. 請求項9ないし14のいずれかにおいて、前記入出力手段は、当該プロセッシングエレメントにおいて独立した処理を行うデータ単位を、連続した前記複数のデータ領域に対し入出力する、データ処理装置。
  16. 請求項9ないし15のいずれかにおいて、前記複数のデータ領域は、暗号化されたデータを格納する領域を備えており、前記入出力手段は、前記データ領域のデータを読出してデコードし、および/または前記データ領域に暗号化したデータを書き込む、データ処理装置。
JP2003400391A 2003-11-28 2003-11-28 データ伝送方法 Expired - Fee Related JP4359490B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003400391A JP4359490B2 (ja) 2003-11-28 2003-11-28 データ伝送方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003400391A JP4359490B2 (ja) 2003-11-28 2003-11-28 データ伝送方法

Publications (2)

Publication Number Publication Date
JP2005165435A JP2005165435A (ja) 2005-06-23
JP4359490B2 true JP4359490B2 (ja) 2009-11-04

Family

ID=34724674

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003400391A Expired - Fee Related JP4359490B2 (ja) 2003-11-28 2003-11-28 データ伝送方法

Country Status (1)

Country Link
JP (1) JP4359490B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8707132B2 (en) 2010-08-18 2014-04-22 Canon Kabushiki Kaisha Information processing apparatus, information processing method, and storage medium
US8811418B2 (en) 2010-08-18 2014-08-19 Canon Kabushiki Kaisha Information processing apparatus, information processing method, and storage medium
US9053225B2 (en) 2010-06-28 2015-06-09 Canon Kabushiki Kaisha Data processing apparatus, data processing method, and storage medium

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4536618B2 (ja) * 2005-08-02 2010-09-01 富士通セミコンダクター株式会社 リコンフィグ可能な集積回路装置
JP4720436B2 (ja) * 2005-11-01 2011-07-13 株式会社日立製作所 リコンフィギュラブルプロセッサまたは装置
JP4673739B2 (ja) * 2005-12-21 2011-04-20 三洋電機株式会社 リコンフィギュラブル回路
JP2008204356A (ja) * 2007-02-22 2008-09-04 Fujitsu Ltd リコンフィギャラブル回路
JP4913685B2 (ja) 2007-07-04 2012-04-11 株式会社リコー Simd型マイクロプロセッサおよびsimd型マイクロプロセッサの制御方法
JP5023856B2 (ja) * 2007-07-18 2012-09-12 富士ゼロックス株式会社 演算処理装置及び演算処理プログラム
JP2009129046A (ja) * 2007-11-21 2009-06-11 Panasonic Corp リコンフィギュラブル回路,リコンフィギュラブル回路の機能変更方法および通信装置
JP5678782B2 (ja) * 2011-04-07 2015-03-04 富士通セミコンダクター株式会社 リコンフィグ可能な集積回路装置
JP6743568B2 (ja) 2016-08-09 2020-08-19 富士通株式会社 制御装置、情報処理システム、プログラム及び情報処理方法
CN114661656B (zh) * 2022-05-25 2022-08-30 广州万协通信息技术有限公司 一种可重构阵列配置方法、装置、设备以及存储介质

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9053225B2 (en) 2010-06-28 2015-06-09 Canon Kabushiki Kaisha Data processing apparatus, data processing method, and storage medium
US8707132B2 (en) 2010-08-18 2014-04-22 Canon Kabushiki Kaisha Information processing apparatus, information processing method, and storage medium
US8811418B2 (en) 2010-08-18 2014-08-19 Canon Kabushiki Kaisha Information processing apparatus, information processing method, and storage medium
US9292777B2 (en) 2010-08-18 2016-03-22 Canon Kabushiki Kaisha Information processing apparatus, information processing method, and storage medium

Also Published As

Publication number Publication date
JP2005165435A (ja) 2005-06-23

Similar Documents

Publication Publication Date Title
US10911352B2 (en) Multicast message delivery using a directional two-dimensional router and network
US10924430B2 (en) Streaming platform flow and architecture for an integrated circuit
JP4359490B2 (ja) データ伝送方法
EP3298740B1 (en) Directional two-dimensional router and interconnection network for field programmable gate arrays
US20200159544A1 (en) Configuration load of a reconfigurable data processor
US10725942B2 (en) Streaming platform architecture for inter-kernel circuit communication for an integrated circuit
US11336287B1 (en) Data processing engine array architecture with memory tiles
US9479456B2 (en) Programmable logic device with integrated network-on-chip
US20070180310A1 (en) Multi-core architecture with hardware messaging
Pionteck et al. Applying partial reconfiguration to networks-on-chips
Sethuraman et al. LiPaR: A light-weight parallel router for FPGA-based networks-on-chip
JP7492511B2 (ja) ストリーミングプラットフォームフローおよびアーキテクチャ
Mbongue et al. Architecture support for FPGA multi-tenancy in the cloud
JP2002508100A (ja) 異なるデータ転送速度での共用メモリへのアクセスを制御するパケット・ルーティング・スイッチ
US20180212894A1 (en) Fork transfer of data between multiple agents within a reconfigurable fabric
KR20240024188A (ko) 네트워크 인터페이스 디바이스
JP2022054419A (ja) スキャンレジスタを備えるデータレジスタを有するマイクロセクタインフラストラクチャに基づく論理構造
US20040078459A1 (en) Switch operation scheduling mechanism with concurrent connection and queue scheduling
EP4020246A1 (en) Micro-network-on-chip and microsector infrastructure
JP4743581B2 (ja) データ処理システムおよびその制御方法
US20040081158A1 (en) Centralized switching fabric scheduler supporting simultaneous updates
US20050050233A1 (en) Parallel processing apparatus
JP2005157653A (ja) データ処理装置および処理方法
KR101033425B1 (ko) 멀티캐스팅 네트워크 온 칩, 그 시스템 및 네트워크 스위치
US20230370392A1 (en) Network-on-chip architecture for handling different data sizes

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061122

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20081225

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090106

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090309

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: 20090710

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090810

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120814

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4359490

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120814

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120814

Year of fee payment: 3

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120814

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120814

Year of fee payment: 3

R370 Written measure of declining of transfer procedure

Free format text: JAPANESE INTERMEDIATE CODE: R370

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120814

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120814

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120814

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120814

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130814

Year of fee payment: 4

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees