JP2005157653A - データ処理装置および処理方法 - Google Patents

データ処理装置および処理方法 Download PDF

Info

Publication number
JP2005157653A
JP2005157653A JP2003394234A JP2003394234A JP2005157653A JP 2005157653 A JP2005157653 A JP 2005157653A JP 2003394234 A JP2003394234 A JP 2003394234A JP 2003394234 A JP2003394234 A JP 2003394234A JP 2005157653 A JP2005157653 A JP 2005157653A
Authority
JP
Japan
Prior art keywords
message
data
processing
processing unit
circuit area
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.)
Pending
Application number
JP2003394234A
Other languages
English (en)
Inventor
Tomoyoshi Matsuno
知愛 松野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
IP Flex Inc
Original Assignee
IP Flex Inc
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 IP Flex Inc filed Critical IP Flex Inc
Priority to JP2003394234A priority Critical patent/JP2005157653A/ja
Publication of JP2005157653A publication Critical patent/JP2005157653A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Multi Processors (AREA)

Abstract

【課題】 再構成可能な回路領域で処理するデータと、回路領域を制御するメッセージとを少ないハードウェアリソースで伝送可能にする。
【解決手段】 伝送経路9により複数を直列に接続可能なプロセッシングユニット10において、伝送経路9により接続された他のプロセッシングユニットとの間で、再構成可能な回路領域であるマトリクス11に処理されるデータ33を伝達する回路と、特定のプロセッシングユニットに対するメッセージ51をワームホールルーティングにより伝達する回路とを含むプロセッシングユニット10を提供する。
【選択図】 図2

Description

本発明は、プロセッシングユニット間のデータ転送に関するものである。
特開平8−87480号公報には、並列計算機におけるプロセッシングエレメント間通信において、ワームホールルーティングを使用した技術が開示されている。ワームホールルーティング方式では、メッセージが、フリットと呼ばれる最小伝送単位に分割され、送信プロセッシングエレメントと受信プロセッシングエレメント間の中継ルートを伝送される。先頭のフリットには受信プロセッシングエレメントの位置を示すルーティング情報が含まれ、各中継ルート上のプロセッシングエレメントでは、そのルーティング情報から、そのメッセージをどの方向に送るかを判断する。後続のフリットは、先頭のフリットと同一のルートを数珠繋ぎで伝送される。特開平8−87480号公報には、ワームホールルーティング方式におけるデッドロックを回避するための幾つかの技術が開示されている。
特開平8−87480号公報
近年、回路の構成を変更あるいは再構成できる半導体集積回路が登場している。FPGA(Field Programmable Gate Array)はプログラミングできるLSIとして既に多く使用されている。さらに、動的に再構成可能(ダイナミック・リコンフィグラブル)なプロセッサも登場し始めており、たとえば、国際公開WO02/095946号を挙げることができる。この国際公開WO02/095946号には、2次元に複数のエレメントが配置されたマトリクスと称される領域を有し、マトリクス内に縦横に配置された配線群の接続を切り替えることにより複数のエレメントによりフレキシブルにデータフロー(データパス)を再構成できるようにしている。動的に再構成可能な構成は、これに限定されるものではなく、エレメントをツリー状に接続したり、隣り合うエレメント同士を接続し、エレメントを通信経路として用いる構成などもある。
動的に再構成可能なプロセッサは、汎用的な構成でありながらアプリケーションに特化した回路を構築できる点でデータ処理装置の開発期間およびコストを大幅に低減できる。それと共に、動的に再構成することにより、複数の機能を1つのプロセッサに時分割して実装することが可能であり、コンパクトで低消費電力なデータ処理装置を実現できるなど、多くのメリットを備えている。このため、様々な目的で使用されると期待されている。
動的に再構成可能なプロセッサに対して時分割で様々な機能を実装するといっても、プロセッサはある程度の回路規模を備えている必要がある。動的に再構成するには少なくとも1サイクルを要するので、再構成を頻繁に繰り返せば、処理速度は低下する。また、1つの纏まりのある機能を実現するために構成された回路を分割して実装する場合は、分割された回路間のインターフェイスを何らかの方法で確保する必要があり、纏まりのある機能は1つのプロセッサに実装できるに越したことはない。しかしながら、1つのプロセッサが回路資源を無限に持つことは不可能であるし、纏まりのある機能のうち、最大の回路資源が必要される機能に合わせて、1つのプロセッサを設計・開発することも経済的ではない。
したがって、ある程度の回路資源を備えた、動的に再構成可能なプロセッシングユニットを用意し、そのようなプロセッシングユニットを複数接続可能とすることにより大規模な動的に再構成可能な回路領域を形成することは重要である。また、動的に再構成可能なプロセッシングユニットを動的あるいは静的に接続する構成は、1つの動的再構成可能なプロセッシングユニットのサイズをコンパクトにできることを意味する。したがって、複数の動的再構成可能なプロセッサを備えたデータ処理装置を提供することにより、エレメントレベルでの再構成機能に加えて、プロセッシングユニットレベルでの再構成可能なデータ処理装置を提供できる。プロセッシングユニットレベルで再構成可能なデータ処理装置であると、プロセッシングユニット単位での回路の交代が可能となる。
プロセッシングユニットは、再構成可能な回路資源と、その回路資源を所望の形態に再構成して、再構成された回路により処理を実行する制御ユニット、たとえばCPUを備えている。したがって、第1のプロセッシングユニットにおいて第1の機能を実現するためのコンフィグレーション情報を、第2のプロセッシングユニットに提供すれば、第2のプロセッシングユニットにより第1の機能を実現することは簡単である。このため、第1のプロセッシングユニットに異常が見つかったり、第1のプロセッシングユニットが他の処理でビジーのときに、第2のプロセッシングユニットで第1の機能を実現し、他のプロセッシングユニットと接続することにより、極めて処理効率が高く、さらに、信頼性も高いデータ処理装置を提供できる。
複数のプロセッシングユニットを接続するデータ処理装置において、解決しなければならない課題の1つは、プロセッシングユニット間の通信に要するハードウェアの増加と、通信時間の増加という問題である。再構成可能な回路資源を備えたプロセッシングユニット間の通信は、再構成された回路資源により処理されるデータと、回路資源を再構成するためのコンフィグレーション情報を含む制御ユニットに対するメッセージ(コマンド)とを取り扱う必要がある。データは、接続された複数のプロセッシングユニットをシリアルあるいはパラレルに伝送されながら加工されるものであり、メッセージは特定のプロセッシングユニットに発せられるものである。したがって、これらの伝送経路は同じにならず、少なくとも2種類の伝送経路が必要になる。また、特定のプロセッサに対しメッセージを発送するハードウェアとしてバス方式が一般的であり、アドレスだけで解決できるのでプロセッサとしての構成は簡易なる。しかしながら、バスの制御および管理のためのハードウェアと、それに費やされる時間(サイクル)は無視できるようなものではなく、メッセージを転送するためのオーバヘッドを減らさなくては、複数のプロセッシングユニットを含めた動的な再構成は実現できない。
そこで、本発明においては、複数のプロセッシングユニットを用いて処理を行うデータ処理方法であって、複数のプロセッシングユニットの少なくとも一部のプロセッシングユニットを直列に接続する第1の伝送経路を介して、この第1の伝送経路により接続されたプロセッシングユニットによりシリアルに処理されるデータを伝達する第1の工程と、第1の伝送経路を介して、複数のプロセッシングユニットの特定のプロセッシングユニットに対するメッセージをワームホールルーティングにより伝達する第2の工程とを有するデータ処理方法を提供する。また、本発明においては、複数のプロセッシングユニットと、複数のプロセッシングユニットの少なくとも一部のプロセッシングユニットを直列に接続する第1の伝送経路を形成可能な接続網とを有するデータ処理装置を提供する。このデータ処理装置において、プロセッシングユニットは、第1の伝送経路により接続された他のプロセッシングユニットとの間で、第1の伝送経路により接続されたプロセッシングユニットによりシリアルに処理されるデータを伝達する第1の伝達手段と、第1の伝送経路を介して、複数のプロセッシングユニットの特定のプロセッシングユニットに対するメッセージをワームホールルーティングにより伝達する第2の伝達手段とを有する。したがって、本発明のプロセッシングユニットは、他の複数のプロセッシングユニットと第1の伝送経路により直列に接続可能なインターフェイスと、第1の伝送経路により接続された他のプロセッシングユニットとの間で、シリアルに処理されるデータを伝達する第1の伝達手段と、第1の伝送経路を介して、特定のプロセッシングユニットに対するメッセージをワームホールルーティングにより伝達する第2の伝達手段とを有する。
ワームホールルーティング方式では、メッセージが、フリットと呼ばれる最小伝送単位に分割され、送信元のプロセッシングユニットから受信先のプロセッシングユニットに対して数珠繋ぎに転送される。そして、隣接するプロセッシングユニット間においては、FIFOなどにより構成されるフリットバッファを介してフリット単位で転送される。隣接するプロセッシングユニット間において、フリットバッファに伝達する処理は、プロセッシングユニットによりシリアルに処理されるデータを伝達する処理と共通する。したがって、第1の伝送経路により直列に接続されたプロセッシングユニットを辿ってメッセージをワームホールルーティング方式により伝送することができる。このため、本発明のデータ処理方法およびデータ処理装置においては、直列に接続されたプロセッシングユニットによりシリアルに処理されるデータと、特定のプロセッシングユニットに対するメッセージの両方を第1の伝送経路を介して伝達できる。
そして、ワームホールルーティング方式では、メッセージは送信先などを定義した最初のフリットをヘッダとするパケットに格納される。そして、隣接するプロセッシングユニット間においてフリットを転送するフリットバッファの管理だけでパケットを伝送できるので、パケット全体をバッファリングする必要はなく、メッセージの伝送に関わるハードウェアは極めて簡易であり、また、パケット全体をバッファリングしたり、バスを調停すしたりするために要するオーバヘッドもない。ワームホールルーティング方式では、特定のプロセッシングユニットに最初のフリットが到達する時間が遅延となるが、バス方式で、調停したり、送信側および受信側においてパケット全体をバッファリングするために要する時間に比べると通常は遥かに小さい。さらに、バス方式では、1つのメッセージを伝送するためにバスが占有されてしまうのに対し、ワームホールルーティング方式では、少なくとも伝送経路単位でメッセージを伝送することができ、異なるプロセッシングユニット間で同時にメッセージを交換することが可能である。さらに、第1の伝送経路の途中に特定のプロセッシングユニットが存在するケースなどにおいては、第1の伝送経路が異なるメッセージを交換するためにシェアされることもある。そして、第1の伝送経路をシェアするために特別な制御やハードウェアは要求されない。
また、ワームホールルーティング方式では、メッセージはフリットに分割され、フリットバッファが空いたタイミングで伝達される。このため、複数のメッセージを重複した経路を介して伝送はできないが、データ用のバッファとメッセージ用のバッファとは異なるので、データの伝送とメッセージの伝送とのために第1の伝送経路を時分割で使用できる。したがって、メッセージとデータとで第1の伝送経路を共有することによる遅延は発生しにくい。このため、第1の伝達手段は、データを一時的に蓄積する第1のバッファと、この第1のバッファがフルであることを第1の伝送経路により接続された上流のプロセッシングユニットに伝達する第1のバックプレッシャー信号を出力する機能を備え、第2の伝達手段は、メッセージをデータとは独立して一時的に蓄積する第2のバッファと、第1のバックプレッシャー信号とは独立して第2のバッファがフルであることを上流のプロセッシングユニットに伝達する第2のバックプレッシャー信号を出力する機能とを備えていることが望ましい。第1のバックプレッシャー信号と、第2のバックプレッシャー信号とを独立して隣接する上流のプロセッシングユニットに出力する工程を設けることにより、データの伝送が渋滞していてもメッセージの伝送には影響を与えず、逆に、メッセージの伝送が渋滞していてもデータの伝送には影響を与えない伝送経路を形成できる。
さらに、プロセッシングユニット間においてメッセージを交換する必要が発生する確率は、同一または関連する機能の処理を行っているプロセッシングユニット間である。したがって、データを伝達するための第1の伝送経路は、メッセージを効率良く伝達するための経路となる。汎用的には、本発明は、第1の伝送経路内に存在する特定のプロセッシングユニットに対してだけメッセージを伝達するデータ処理装置に限定されない。プロセッシングユニットが、メッセージを伝送ためのルーティングを新たに形成する能力を備えていれば、第1の伝送経路外に存在するプロセッシングユニットに対しても本発明によりメッセージを伝達できる。メッセージを受信する特定のプロセッシングユニットが第1の伝送経路内に存在する場合に限定するのであれば、本発明においては、プロセッシングユニットは、メッセージを伝達するためのルーティング能力は不要であり、さらに構成は簡略化される。したがって、本発明は、第1の伝送経路のバンド幅がデータ伝送用とメッセージ伝送用にハードウェア的にセパレートされている場合も含まれる。
また、メッセージは、フリットに分割されて伝送されるので、第1の伝送経路の全バンド幅をメッセージの伝達のために占有する必要はない。メッセージを伝達するために使用されるバンド幅を限定することにより、第1の伝送経路によるデータ伝送のリアルタイム性を保障することも可能となる。さらに、第1の伝送経路の内、メッセージを伝送するために共有される伝送経路をリング状にすることにより、メッセージは第1の伝送経路を一方向に伝達するだけで第1の伝送経路内の全てのプロセッシングユニットの間でメッセージを交換できる。したがって、プロセッシングユニットは、メッセージを送信する方向を判断する能力あるいは機能も不要となる。
本発明のデータ処理方法およびデータ処理装置においては、第1の伝送経路によりデータとメッセージを伝送できる。このため、データに対する特定の処理に適した構成を含む第1の回路領域と、メッセージに基づく汎用処理に適した構成を含む第2の回路領域とを備えたプロセッシングユニットを有するデータ処理装置に適したデータ処理方法である。第1の回路領域が、データに対する処理に適した回路を再構成可能な回路領域を含み、第2の回路領域は再構成可能な回路領域を再構成する機能を備えているプロセッシングユニットが採用されている場合は、メッセージにより再構成可能な回路の構成を任意に制御できる。
第1の回路領域を診断する第3の工程を設けることにより、第2の工程では、マスタとなるプロセッシングユニットに対し、第3の工程の診断結果を伝達することができる。この第3の工程では、たとえば、第1の回路領域の処理状況および健全性を含む状態を診断する。これにより、第1の回路領域が再構成可能な領域を備えている場合は、マスタが、第1の伝送経路により接続されたプロセッシングユニットに対し、再構成可能な回路領域を再構成するメッセージを伝達する。ビジーあるいは健全でないために利用できないプロセッシングユニットをバイパスあるいはスルーするように、該当するプロセッシングユニットの第1の回路領域を構成できる。また、マスタが、その診断結果により第1の伝送経路を再構成する第4の工程を設け、第1の伝送経路そのものを再構成するようにしても良い。
したがって、本発明のデータ処理装置においては、プロセッシングユニットは、第1の回路領域を診断する手段を備えており、第2の回路領域は、メッセージとして診断結果を伝達する機能を含んでいることが望ましい。この診断する手段により、第1の回路領域の処理状況および健全性を含む状態を診断することができる。
プロセッシングユニットがチップとして提供される場合は、プロセッシングユニット間で交換されるメッセージに対して外部からのアクセスが可能になる。したがって、メッセージを暗号化して伝達されることが望ましい。暗号化は、第2の伝達手段で行っても良いし、第2の回路領域に暗号化する機能を含めても良い。暗号化のキーあるいはキーの一部はメッセージのヘッダ、すなわち、先頭のフリットに含めて伝送することができる。
プロセッシングユニットは、メッセージをパケット化するパケット生成手段を備えていることが望ましい。そして、パケット生成手段はメモリマップドデバイスとして、第2の回路領域を構成するコンポーネント、たとえばCPUあるいはDMACからメモリマップドI/Oによりアクセスされるように構成されていることが望ましい。第2の回路領域を構成するコンポーネントは、メモリマップドI/Oによりメッセージを所望のプロセッシングユニットに伝送できる。
本発明においては、複数のプロセッシングユニットを、電気信号、光信号などにより接続する第1の伝送経路を介してデータとメッセージとを伝送できるようにしている。したがって、本発明により、複数のプロセッシングユニットを用いて処理を行うデータ処理装置の構成を簡易にでき、複数のプロセッシングユニットを備え、信頼性が高く、処理する機能の数あるいは規模をフレキシブルに制御できるデータ処理装置であって、コンパクトで経済的なデータ処理装置を提供できる。
図1に、データ処理装置の一例を示してある。このデータ処理装置1は、4つのプロセッシングユニット10a〜10dが伝送経路9により直列に接続されている。伝送経路9は、32ビット幅の3つのサブ経路9A、9Bおよび9Cを備えており、サブ経路9Aがデータとメッセージとを伝送するために共用され、残りのサブ経路9Bおよび9Cはデータを伝送する専用の経路となっている。サブ経路9Aは、リング状に接続されており、サブ経路9により接続された4つのプロセッシングユニット10a〜10dに対して一方向にメッセージを伝送するだけで全てのプロセッシングユニット間でメッセージを交換できるようにしている。
プロセッシングユニット(PU)10a〜10dは同一の構成であり、図2に、その概要を示してある。なお、共通の構成を示す場合は、以下ではプロセッシングユニット(PU)10として参照する。PU10は、回路を再構成可能な第1の回路領域11と、この第1の回路領域11を再構成する機能を有する第2の回路領域12とを備えている。第2の回路領域12は、メッセージ、コマンドあるいは命令に基づく汎用処理に適した汎用的な構成であり、CPUあるいは一般的な制御ユニットとして機能するRISC13と、DRAM14と、DMAコントロールユニット15と、PCIバスインターフェイスユニット16と、周辺モジュールとの汎用入出力インターフェイスユニット17とを備えている。汎用入出力インターフェイスユニット17により、シリアルインターフェイスコントローラとなる非同期通信機(UART)、タイマーなどの接続が可能となる。これらの第2の回路領域12に含まれるコンポーネントは、高速バススイッチングユニット(BSU)18に接続されている。BSU18は、スター型の内部バスアーキテクチャを備えており、BSU18に接続された複数のコンポーネント間の複数の組み合わせのデータ転送が同時に処理できるようになっている。
再構成可能な第1の回路領域11は、複数のエレメントがアレイまたはマトリクス状に2次元に配置されており、マトリクスと称されている。図3に、マトリクス11の概要を示してある。本例のマトリクス11は、複数のプロセッシングエレメント21が縦横に2次元に配置された複数のプロセッシングエレメント21と、それらの間に格子状に配置された配線22と、配線22の接続ポイントで縦横の配線22の接続を自由に切り替えることができるスイッチングユニット23とを備えている。プロセッシングエレメント21は、ルックアップテーブルなどにより自在に機能を設定可能なものであっても良い。本例では、算術論理演算用のエレメント、遅延用のエレメント、メモリ用のエレメント、データを入力または出力するためにアドレスを発生させるエレメント、データの入力または出力用のエレメントなど、ある程度の機能グループに分けて、それぞれの処理に適した内部構成のエレメントを配置することによりマトリクス11のスペース効率を向上している。また、ある程度の機能グループに分けたエレメントを配置することにより冗長性が減少するのでAC特性および処理速度も向上できるといったメリットがある。
マトリクス11の内部構成は、RISC13から制御バス29を介して制御される。各々のエレメント21の内部構成、例えば、ある算術論理演算用のエレメント21が実行する演算の種類、ある遅延用のエレメントの遅延量などはRISC13からのコンフィグレーション命令により決定される。また、これらのエレメント21の接続は、RISC13がスイッチングユニット23を制御することにより決定され、マトリクス11の内部に、1または複数のデータフロー(データパス)が形成される。マトリクス11の内部に構成されたデータフローは、RISC13からの命令により1サイクルあるいは数サイクルで再構成することが可能である。したがって、マトリクス11に対してある時点で供給されるデータの処理に適した専用回路を、マトリクス11の内部にフレキシブルに構成することが可能となり、所望の処理を高速で実行できる。
再構成可能なプロセッサの構成は、本例に限られない。配線を縦横に配置する代わりに、PEを配線としても利用してデータフローを形成するタイプや、同一の構成のPEをマトリクス状に敷き詰めたタイプや、PEによりツリーが形成されるようなアレンジを採用したタイプなどが提案されており、そのような再構成可能な構成の回路領域を備えたプロセッシングユニットも本発明に含まれる。
PU10は、回路を再構成可能なマトリクス11は、バッファ24を介してBSU18と接続されており、BSU18を経由してRISC13、メモリ15、PCIバス16、汎用I/O17からデータを入出力できる。詳しくは、図3に示すようにマトリクス11のバッファ24は、128ビット×4ポートの入力バッファ24iと、128ビット×4ポートの出力バッファ24oとを備えており、入力および出力をそれぞれ独立して制御できるようになっている。
さらに、PU10は、マトリクス11に対して直にデータを入力および出力可能な高速インターフェイス(HSIF)30を備えている。HSIF30とマトリクス11とは32ビット×4チャンネルの配線で接続されており、入力用および出力用に独立したインターフェイスを用意することで入力および出力を独立して制御できるようにしている。
図2にHSIF30の詳しい構成を示してある。HSIF30は、マトリクス11とのインターフェイスのために4つの入力インターフェイスRX0〜RX3と、4つの出力インターフェイスTX0〜TX3を備えている。また、PU10に対して直にデータを入出力可能な伝送経路9が3系統のサブ経路9A〜9Cを備えているので、それらに対応して3つの入力ポートRXP0〜RXP2および3つの出力ポートTXP0〜TXP2を備えている。これらの入力ポートRXP0〜RXP2の上流には入力バッファ31がそれぞれ設けられ、出力ポートTXP0〜TXP2の下流には出力バッファ32がそれぞれ設けられている。入力ポートRXP0およびRXP1、出力ポートTXP0およびTXP1は、入力インターフェイスRX0およびRX1、出力インターフェイスTX0およびTX1にそれぞれ1対1に対応している。一方、入力ポートRXP2および出力ポートTXP2は、入力インターフェイスRX2およびRX3、出力インターフェイスTX2およびTX3に対して切り替えて接続できるようになっており、入出力用の伝送経路9のバンド幅を変えたり、伝送経路9の一部を入力および出力に兼用したりすることができる。このため、伝送経路9のバンド幅は入力および出力にフレキシブルに切り替えて利用できる。このような入出力ポートの構成は、SROM39に設定される。これらの入出力ポートおよびインターフェイスの設定は、RISC13からダイナミックに変更できるようにしても良く、SRAM(不図示)あるいはその他の記憶デバイスなどをチップ(PU)内に実装して直接接続できるようにすることも可能である。
入力インターフェイスRX0〜RX3のそれぞれとマトリクス11の間には、データを出力する32ビットのデータ33を供給する配線と、データを供給可能であることを示すレディー信号34を供給する配線と、マトリクス側がフルあるいはビジーであることを示すデータ用のバックプレッシャー信号(DBP)35を供給する配線とがアレンジされている。DBP信号35は、入力ポートRX0〜RX2と、入力バッファ31をそれぞれ介し、配線経路9により接続された上流のPU10に伝達される。そのため、入力ポートおよびバッファとの間、さらにサブ経路には、データおよびメッセージを含む入出力データ38を伝送する配線と、DBP信号35を伝送する配線とが用意されている。PU10の出力側においては、伝送経路9により接続されたプロセッシングユニットと出力ポートTXP0〜TXP2との間に入出力データ38と、DBP信号35を伝達する配線が用意されている。さらに、出力バッファ32、出力ポートTXP0〜TXP2、出力インターフェイスTX0〜TX3を介してマトリクス11にデータおよびDBP信号が伝達される。
HSIF30の入力ポートRX0と、出力ポートTX0とは、データの入出力だけではなく、メッセージの入出力にも用いられる。このため、PU10は、BSU18に接続されたRISCインターフェイス50を備えており、HSIF30は、RISCインターフェイス50を介して第2の回路領域12のコンポーネントと接続されている。
図4に、RISCインターフェイス50を中心としたさらに詳しい構成を示してある。この図においては、HSIF30は、入力ポートRXP0〜RXP2と、入力インターフェイスRX0〜RX3と、出力ポートTXP0〜TXP2と、出力インターフェイスTX0〜TX3とに分離して示されている。入力ポートRXP0は、伝送経路9から入力された信号38のパリティーチェックを行うパリティーエラー検出部61と、入力された信号38をマトリクス11に供給するデータ33として一時的に格納するデータFIFO63と、入力された信号38をRISCインターフェイス50に供給するメッセージ51として一時的に格納するメッセージFIFO64と、入力された信号38をコントロールビット37bによりデータFIFO63とメッセージFIFO64とに切り替えて格納するコントロールビットデコーダ62とを備えている。パリティーエラー検出部61には、伝送される32ビットの信号38に加え、伝送する信号38がレディーであることを示す信号37a、コンテンツの種類を示す信号(コントロールビット)37b、パリティーを示す信号37cが入力されパリティーチェックが行われる。そして、パリティーエラー検出部61からは、入出力データ38に加えて、レディーであることを示す信号37a、コントロールビット37bおよびパリティーエラーが発生したことを示す信号61dが出力される。
コントロールビットデコーダ62は、コントロールビット37bにより、入力された32ビットの入力信号38をデータFIFO63と、メッセージFIFO64とに振り分けて格納する。また、入力信号38がレディーであることを示す信号62aもそれぞれのFIFO63および64に供給する。
FIFO63および64は、それぞれ、入力側のクロック周波数にあわせて入力データ38を取得し、出力側のクロック周波数に合わせて出力データ33と、メッセージ51とを出力する。このため、伝送経路9の上流からのクロック信号C1と、マトリクス11からのクロック信号C2とが入力されている。さらに、データFIFO63からは、FIFO63がフルであることを示すDBP信号35が経路9を辿って上流のプロセッシングエレメント10に供給される。また、メッセージFIFO64からは、FIFO64がフルであることを示すMBP信号52が、経路9を辿って上流のプロセッシングエレメント19に供給される。FIFO63およびFIFO64はそれぞれ独立に動作するので、DBP信号35およびMBP信号52はそれぞれ独立して出力される。
データFIFO63からは、マトリクス11に対してデータ33と、レディー信号34が供給され、マトリクス11からはフルあるいはビジーであることを示すDBP信号35がFIFO63に戻される。メッセージFIFO64からは、RISCインターフェイス50の受信FIFO55に対して、メッセージ51とレディー信号53とが供給され、受信FIFO55から受信FIFO55がフルであることを示すMBP信号52が戻される。他の入力ポートRXP1およびRXP2においては、マトリクス11に対して供給されるデータ33のみを取り扱うために、データとメッセージを分離する必要がない。したがって、入力ポートRXP1およびRXP2はコントロールビットデコーダとメッセージFIFOとは備えておらず、他の構成は入力ポートRXP0と共通する。
RISCインターフェイス50は、上述した受信バッファ55と、新たにパケットを生成し、受信し、さらにワームホールルーティングによりパケットを転送するパケットプロセッサ56と、メッセージの転送に関わる条件および設定値などが格納されるレジスタファイル57と、出力バッファ58とを備えている。さらに、パケットプロセッサ56と第2の回路領域12の各コンポーネントを接続するためのDMAインターフェイス59とを備えている。DMAインターフェイス59は、BSU18に接続されており、当該PU10を宛先とするパケット化されたメッセージを受信すると、DMAをBSU18に要求する。また、DMAインターフェイス59は、RISC13などからBSU18を介してアクセス要求があると、それに対応してメッセージの内容をパケットプロセッサ56に送る。パケットプロセッサ56からは、第2の回路領域12を構成し、パケットプロセッサ56にメッセージとなるデータを送信する可能性があるコンポーネントに対し、パケットプロセッサ56がビジーであることを示すバックプレッシャー信号(PBP)56aが供給される。
パケットプロセッサ56は、受信バッファ55からメッセージ51と、レディー信号53とを受信し、パケットプロセッサ56がメッセージを受信できない状態であることを示すMBP信号52を戻す。出力バッファ58がフルであったり、パケットプロセッサ56が新たにメッセージパケットを生成して発信しているときは、パケットプロセッサ56は受信バッファ55からメッセージを受信できない。パケットプロセッサ56は、出力バッファ58に対してメッセージ51と、レディー信号52を供給し、出力バッファ58からは出力バッファ58がフルであることを示すMBP信号52が戻される。出力バッファ58は、ハードウェアモードでメッセージがセットされるHWバッファ58aと、ソフトウェアモードでメッセージがセットされるSWバッファ58bとを備えている。ワームホールルーティングによるスルーパケット以外の送出パケットは、BSU18よりDMAにより出力バッファ58のFIFO58aまたは58bに転送される。
パケットプロセッサ56は、BSU18を介して第2の回路領域12を構成するコンポーネントからメモリマップドI/Oによりアクセスできる構成となっている。このため、RISC13は、メモリ空間にマッピングされたアドレスを指定してメッセージを書き込むことにより、パケットプロセッサ56を介して所望のPU10に対してメッセージ51を送ることができる。したがって、RISC自体は、宛先のPU10までの経路を知らなくても、メモリマップドI/Oによりメッセージとなるデータを書き込むだけで、所望のPU10にアクセスできる。また、メッセージパケット51には、所望のPU10において書き込むアドレスや読み出すアドレスを指定することができるので、マスターとなるPU10は、スレーブとなるプロセッシングユニットに対して再構成用のデータを書き込んだり、障害情報を取得したりすることが容易に実行できる。
出力ポートTXP0の構成は、入力ポートRXP0を逆転したものであり、基本的な思想は共通する。出力ポートTXP0は、マトリクス11からのデータを受信するデータFIFO73と、RISCインターフェイスユニット50からのメッセージを受信するメッセージFIFO74と、これらのFIFO73または74からの出力データ33を切り替えてパリティー発生器71を介して下流のPU10に送出するコントロールビット発生器72とを備えている。コントロールビット発生器72には、下流のPU10からデータ転送用のDBP信号35と、メッセージ転送用のMBP信号52とが独立して供給されている。したがって、コントロールビット発生器72は、データFIFO73あるいはメッセージFIFO74がレディーで、下流のPU10がアクセプタブルなコンテンツをその種類を示すコントロールビットと共に下流のPU10に送信する。
コントロールビット発生器72には、さらに、データFIFO73からデータ33とレディー信号34が供給され、FIFO73にDBP信号35が戻される。FIFO73には、マトリクス11からデータ33とレディー信号34が供給され、マトリクス11にDBP信号35が戻される。また、コントロールビット発生器72には、メッセージFIFO74からメッセージ51とレディー信号53が供給され、FIFO73にMBP信号52が戻される。FIFO74には、RISCインターフェイスユニット50からメッセージ51とレディー信号53とが供給され、RISCインターフェイスユニット50にMBP信号52が戻される。FIFO73および74は、クロック周波数を変更可能になっており、マトリクス11からクロック信号C2が供給され、下流のプロセッシングユニットから異なるクロック信号C3が供給される。これらのクロック信号の周波数は共通しても良い。
コントロールビット発生器72からは、データ33またはメッセージ51を含む出力データ38と、レディー信号37aと、コンテンツの種類を示す信号(コントロールビット)37bとがパリティー発生器71に供給される。パリティー発生器71からは、さらに、パリティー発生信号71aにより指定されたパリティーを指示するパリティー信号38cが加えられてサブ伝送経路9Aに出力される。他の出力ポートTXP1およびTXP2においては、マトリクス11から出力されるデータ33のみを取り扱うために、データとメッセージを分離する必要がない。したがって、出力ポートTXP1およびTXP2はコンテンツ発生器とメッセージFIFOとは備えておらず、他の構成は出力ポートTXP0と共通する。
したがって、本例のPU10においては、入力ポートRXP0〜RXP2および出力ポートTXP0〜TXP2により、伝送経路9により接続された他のプロセッシングユニットとの間で、マトリクス11により処理されるデータ33を伝達する第1の伝達回路81が形成されている。そして、データ33は、伝送経路9により直列に接続された複数のPU10のマトリクス11を辿りながら順次処理され、データ処理装置1から出力される。あるいは、データ処理装置1の中に複数のデータフローが形成されている場合は、他のデータフローに対して供給することも可能となる。
一方、入力ポートRXP0、RISCインターフェイスユニット50および出力ポートTXP0により、メッセージ51を特定のPU10に対してワームホールルーティングにより伝達する第2の伝達回路82が形成されている。当該PU10がメッセージ51の宛先(最終地)となる場合は、RISCインターフェイスユニット50は、DMAをBSU18に要求してメッセージ51を第2の回路領域12のいずれかのコンポーネントに供給する。メッセージ51の宛先が伝送経路9により接続された下流のPU10である場合は、RISCインターフェイスユニット50は、パケットをスルーして、下流のPU10に供給する。パケットを受信するときも、スルーするときも、メッセージパケット51は、複数のフリットと称される塊に分けられて伝送経路9を伝送される。本例では、メッセージパケット51は32ビットを単位とする可変長であり、32ビットのフリットに分けられて伝送経路9を伝送される。
したがって、メッセージパケットの全てをバッファリングする必要はなく、メッセージパケット51を受信およびスルーするために第2の伝送回路82に設けられたFIFO64、55、58、74は全て32ビットになっている。さらに、第2の伝送回路82に含まれる各々のFIFOの状態はMBP信号52により、PU10を通って上流に戻され、MBP信号52だけによりメッセージ51の転送が制御される。このため、メッセージパケット51を転送するため機構を、少ないハードウェアリソースにより構成できる。さらに、MBP信号52によりパケットの転送を制御し、パケットの入出力に非同期のFIFO64および74を用いているので、各PU10の動作周波数は任意に設定することが可能である。また、動作周波数の異なるプロセッシングユニット間において、ロスなくメッセージ51を確実に転送できる。動作周波数を調整する機構は、データ33を転送する第1の伝送回路81においても共通している。
図5に、メッセージパケット51のフォーマットを示してある。メッセージパケット51は、ヘッダー85とメッセージデータ86を含んでおり、最小3ワード、最大65538ワードの可変長である。ヘッダー85のフィールド85aはバージョンコードに使用され、フィールド85bは、ヘッダー85およびそれに続くメッセージデータ86の暗号化の有無と、必要であればデコード用のキーを示すために使用される。ヘッダー85の情報が暗号化されている場合は、RISCインターフェイスユニット50のパケットプロセッサ56がヘッダー情報をデコードし、パケットの送信先を決定する。メッセージデータ86は、パケットプロセッサ56またはRISC13によりデコードされる。パケットプロセッサ56によりメッセージパケット51を新たに生成する場合は、パケットプロセッサ56がヘッダー情報85およびメッセージデータ86を暗号化する。メッセージデータ86はRISC13により暗号化されたものをパケットプロセッサ56に送ることも可能である。
フィールド85cは、リソース排他制御用のセマフォパケットかノーマルパケットであるかを示すために用いられる。フィールド85dは、応答パケットであるか否かを示すために用いられる。フィールド85eは、書き込み用のメッセージか、リード用のメッセージかを示すために用いられる。フィールド85fは、送信先のPU10の識別情報を示すために用いられる。各々のPU10がチップ化されている場合にはチップIDがセットされる。また、各々のPU10が同一チップ内に作りこまれている場合は、PU10を絶対的あるいは相対的に識別するためのユニット番号がデータフローを形成する際にセットされる。パケットプロセッサ56は、ヘッダー85に含まれる送信先の識別情報により、メッセージパケット51をスルーするか、受信するかを決定する。
フィールド85gは、送信元のPU10を識別する情報を示すために用いられる。受信したメッセージ51が応答を求めるものである場合は、パケットプロセッサ56が送信元のPU10を送信先としたメッセージパケット51を生成して発信する。フィールド85hは、可変長のメッセージパケット51の長さを示すために用いられる。ワームホールルーティングによりメッセージ51を転送するために、パケットプロセッサ56は、ヘッダー85で示された長さのパケットの送受信が終了するまで、第2の伝送回路82の状態を維持する。これは、メッセージパケット51を伝送するために伝送経路9を占有するということではなく、伝送経路9をデータ33と時分割で使用しながら、メッセージパケット51の全体を受信するか、スルーするかの処理を行う。
フィールド85iは、メッセージデータ86の送信先のPU10において、メッセージデータを読み出す、あるいは書き込むアドレスを示すために用いられる。メッセージデータ86として、マトリクス11を再構成するためのコンフィグレーション情報を送信する場合は、コンフィグレーション情報を書き込むDRAM14のアドレスを指定することができる。また、本例のPU10は、マトリクス11の健全性をチェックする診断ユニット(DU)90を備えており、マスタとなるPU10aは、DU90の診断結果を得るためにDU90の診断データを読み出すアドレスを指定したメッセージを送信することができる。
フィールド85jは、ヘッダー情報85に対してのCRCを指定するために用いられる。これにより、メッセージ通信の信頼性を向上できる。この他にもヘッダー情報85として種々の情報を含めることができる。例えば、伝送経路9により接続された全てのPU10に対して書き込むためのブロードキャストパケットであることを示したり、パケットプロセッサ56などをイニシャライズするためのパケットであることを示し、パケットプロセッサ56が解釈できるようにすることにより、マルチプロセッサ環境における多彩な通信処理を、RISC13に負荷をかけることなく実現できる。
パケットプロセッサ56は、ワームホールルーティング方式でメッセージパケット51を転送する。パケットプロセッサ56は、メッセージパケット51の最初のフリット、すなわち、ヘッダー情報85の最初の32ビットのデータ(ヘッダーオフセット0)を取得すると、フィールド85fによりメッセージパケット51の宛先を判断する。自己のPU10を宛先としていないメッセージパケットであれば、出力ポートTXP0などの出力側の条件が整ったタイミングで最初のフリットを出力する。パケットプロセッサ56は、ヘッダーオフセット0を出力すると、次の32ビットのフリット(ヘッダーオフセット1)を取得し、出力側が空けば、それを出力する。パケットプロセッサ56は、フィールド85hにより指定されたデータ長だけ、フリットを送出する処理を繰り返し、メッセージパケット51を下流のPU10に送出する。そして、PU10においては、出力側の条件が整ったことはバックプレッシャー信号MBPで上流に戻され、MBP信号だけで管理できる。
従来の蓄積交換型のルーティングでは、パケットは出力側が空になるまで送出側のノードに蓄積され、まとめて次のノードに送られる。これに対し、ワームホールルーティング方式では、最初のフリットが前に移動すると、次のフリットが前に移動するというように芋づる式あるいは数珠繋ぎでフリットに分割されたメッセージパケットが次々と送出される。このため、パケットを転送する各PU10は、フリットを蓄積できる程度のバッファを持つだけで、大量のメッセージパケットであっても、可変長のメッセージパケットであっても所望のPU10へ送出できる。
また、ワームホールルーティング方式では、送信元のPU10から送信先のPU10までの経路は、その送信先に宛てたメッセージパケット51を転送するためにメッセージの転送条件が維持されなければならず、他のメッセージパケット51を同じ経路の同じ区間内を通して送出できない。しかしながら、同じ経路であっても他のPU10の間では、並行してメッセージパケットを交換することができる。さらに、ワームホールルーティング方式では、最初のフリットが目的のPU10に到達するまでに要する時間が通信を開始するまでに要するオーバヘッドとなるが、その後のフリットは連続的に到達する。したがって、目的のPU10までの経路が非常に長い場合を除き、そのオーバヘッドは、パケットを全てバッファリングする処理に比較すれば、ワームホールルーティング方式は、共有バスを介してメッセージを送信するよりは通信時間は短い。さらにパケットのバッファリングを繰り返すような通信方式に比較すると、通信速度の差は広がり、ワームホールルーティング方式は、簡易な構成で、メッセージを安全に、そして高速に送信できる方法である。
また、チャンネルを多重化していない単純なワームホールルーティング方式では、1つの伝送経路を複数のメッセージパケットでインタリーブすることはできない。しかしながら、伝送経路を変えずに、隣接するPU10に単純に伝送する、宛先が固定されたデータあるいはパケットを時分割で伝送することは問題がない。さらに、送受信側のバッファをメッセージとデータとで独立して設けることにより、メッセージおよびデータを独立した制御で転送することが可能となる。このため、本発明においては、1つの伝送経路を利用して、極めて簡易な構成でメッセージとデータとを所望のプロセッシングユニットに伝送するアーキテクチャを提供している。
したがって、本例で説明した通信方式は、次のような特徴を備えたワームホールルーティングであるということができるかもしれない。まず、通信可能なメッセージは0−64kワードの可変長であり、1ワードを最小単位(フリット)として1クロックサイクルで伝達される。そして、フリット間に泡、すなわち時間的な空白があってもかまわず、その泡に他の情報(データ)を伝送することが可能であり、時分割によるメッセージとデータとの同時送信を可能にしている。したがって、単純なハードウェアでパケット処理を実現できるため、ラインスピードにてパケット処理が可能となる。そして、メッセージとデータとを時分割多重により同時通信できると共に、双方がぶつかったときの優先順位の設定も可能である。例えば、コントロールビット発生器72により優先制御することができる。
上述したルーティング方式に対し、ハードウェアリソースは増加するが、メッセージのデッドロックを防止する構成を追加することは可能である。たとえば、FIFOの組数を増やして仮想チャンネルを設定したり、転送が渋滞しているパケットを退避させるバッファを設けたりすることができる。
図6に、PU10において、伝送経路9により接続された上流のPU10からデータを受信する処理の概要を示してある。ステップ101で、入力ポートRXP0のコントロールビットデコーダ62は、共に供給されたコントロールビットにより、入力されたデータが、マトリクス11で処理するデータ33かメッセージ51であるかを判定する。データである場合は、ステップ102において第1の伝送回路81のシステムがデータ33を受信し、ステップ103においてデータをマトリクス11の再構成された専用回路で処理し、ステップ104において処理されたデータ33を下流のPU10に送る。
ステップ101において、入力されたデータがメッセージ51である場合は、第2の伝送回路82のシステムがメッセージ51を受信し、ステップ105で、メッセージパケット51のヘッダー情報85により、自己のプロセッサ宛のメッセージであるか否かを判断する。自己のプロセッサ宛のメッセージでない場合は、ステップ106で、フリットに分割されて伝送されているメッセージパケット51を次々と下流のプロセッシングユニットに送出する。
自己のプロセッサ宛のメッセージ51の場合は、ステップ107で暗号化されたメッセージ51をデコードし、ステップ108で、書き込み用のメッセージか、読み出し用のメッセージかを判断する。読み出し用のメッセージの場合、例えば、ステップ109で自己のプロセッサ10を診断してマスタに報告するように求められたメッセージであると判断されると、ステップ110で、診断ユニットDU90によりマトリクス11の処理状況および健全性を診断する。マトリクス11のハードウェア的な異常は自己診断回路を組み込むことにより把握できる。マトリクス11に再構成されている回路の構成の異常は、コンフィグレーションデータのエラーを検出することで把握できる。また、マトリクス11におけるエレメントの使用情報によりマトリクス11の稼動状況を把握でき、障害情報を蓄積しておくことにより異常の発生頻度も把握できる。ステップ111において、DU90あるいはRISC13は、DU90が取得した診断結果をメッセージパケット51に纏めて、先のメッセージの送出元に宛て出力する。その他の読出し用のメッセージであれば、ステップ116で指定された処理を行い、その結果をメッセージの送信元に宛てて出力する。
メッセージ51により伝送される書き込み情報の1つはマトリクス11を再構成するための情報である。ステップ112で、メッセージ51に含まれている情報がマトリクス11の少なくとも一部を再構成するためのコンフィグレーションデータであると判断すると、ステップ113で、コンフィグレーションデータをDRAM14に書き込む。ステップ114で、RISC13は、回路を再構成する対象となる各々のエレメント21、スイッチングユニット23に対してコンフィグレーションデータを送り、マトリクス11に形成されている回路を再構成する。例えば、上記のステップにより得られたスレーブとなるPU10bの一部あるいはすべてに障害があり、PU10cの一部あるいは全部が予備領域となっている場合を想定する。マスターとなるPU10aは、PU10bに対して障害のある回路領域をバイパスするようなコンフィグレーションデータをメッセージ51により送り、PU10cに対して、PU10bの障害のある部分を形成していたコンフィグレーションデータをメッセージ51により送る。これにより、PU10bの障害個所をPU10cにより代替することができ、データ処理装置1としては支障なく所望の処理を継続して実行できる。したがって、本例のデータ処理装置1は、リコンフィグラブルプロセッサのマルチチップ環境においてOAM&P(Operation, Administration, Maintenance, and Provisioning)方式を実装していると言うことができる。
メッセージ51により伝送される内容は、コンフィグレーションデータに限定されるものではない。その場合は、ステップ115において、メッセージ51に含まれているコマンドあるいは命令に従った処理が行われる。さらに、マトリクス11により処理するデータをメッセージ51でパケット化して所望のPU10に伝送することも可能であり、伝送経路9により接続されたPU10をバイパスして特定のPU10にデータを転送することも可能である。
図7に、PU10において、伝送経路9により接続された下流のPU10に対してデータを送信する処理の概要を示してある。送信する処理は非常に簡易であり、ステップ120において、DBP信号35により下流にデータ33が送出可能と判断されれば、ステップ121でデータ33を送出する。また、ステップ122において、MBP信号52により下流にメッセージ51が送出可能と判断されれば、ステップ123でメッセージ51を送出する。本例のデータ処理装置1においては、図1に示したように、メッセージ51を伝送する回路9Aがリング状に接続されている。したがって、一方向(下流)にメッセージ51を送出することにより、伝送経路9により接続された全てのPU10a〜10dの間でメッセージ51を交換することができる。例えば、PU10aをマスターとし、メッセージ51がスレーブのPU10cに伝達され、その応答メッセージがPU10cからマスターのPU10aに戻されるときも、PU10cは下流に応答メッセージを流すだけで良い。したがって、データ処理装置1のようにPU10がリング状に接続されている場合は、ワームホールルーティングによりメッセージを送る場合に、メッセージを送出する方向の判断も不要となり、メッセージを転送する機構は極めて簡易なものとなる。また、チップ(PU)間の接続が一筆書きになるので、チップ間接続を行うためのピン数を節約できる。さらに、本例のPUにおいては、チップ間インターフェイスとして非同期FIFO63、64、73および74を使用しているので、任意の周波数で作動しているチップ間であっても通信が可能である。
図8に、異なるデータ処理装置2の概要を示してある。このデータ処理装置2は、6行3列に配置された18個のPU201〜253と、これらのPU201〜253をフレキシブルに接続可能な接続網3とを備えている。PU201、211、221、212、22、232、241、252は、配線経路7により直列に接続され、複数のPUからなる処理経路Aが構成されている。また、PU202、213、223、233、242、243、253は、配線経路8により一部が並列となるように接続され、処理経路Bが構成されている。PU201〜253のそれぞれは、PU10と同様に、再構成可能な第1の回路領域(マトリクス)11と、マトリクス11を制御する機能を備えた第2の回路領域12とを備えており、また、マトリクス11で処理するデータをシリアルに転送可能な第1の伝送機能81と、ワームホールルーティングによりメッセージを転送可能な第2の伝送機能82とを備えている。さらに、本例においては、第2の伝送機能82は、メッセージパケット51の宛先により、メッセージを送出する方向を設定することができる。
処理経路Aにおいては、PU201からPU221に伝送回路7を用いてメッセージ51とデータ33とを時分割で送信することができ、それと並列に、PU222とPU212との間でメッセージ51とデータ33とを時分割で交換することができる。さらに、処理経路Aを構成するPU232から、処理経路Aに含まれていないPU251にもメッセージを送出することは可能であり、そのために伝送経路7を使うことができる。例えば、処理経路AのPU252に障害が見つかったとき、マスターとして機能しているPU201は、処理経路Aの周辺のPUにメッセージを送出し、PU252の代わりに利用できるPUを探すことができる。PU251にメッセージを送出し、PU251から応答メッセージを得たマスターPU201は、メッセージパケット51によりコンフィグレーションデータをPU241,252および251に送り、PU252を処理経路Aから切り離し、PU251を処理経路Aに接続して処理を継続できる。
処理経路Bのように複数のPU242および243が並列に接続されるケースもある。このような場合は、メッセージ51のルーティングの優先度を設定したり、最小限のPUおよび配線経路を介してメッセージをルーティングする機能を設けておくことなどにより解決できる。
マトリクス11により処理するデータ33を伝送する経路と、メッセージ51を伝送する経路とを独立して形成することも可能であるが、完全に独立して形成しようとすれば、独立した伝送路と、独立した伝送路を形成するための入出力機構が必要になり、個々のPUおよび接続網を形成するハードウェアリソースは大きくなる。共通の伝送路を用いて、データ33とメッセージ51とで独立した伝送路を時分割で構成することも可能ではあるかもしれないが、ワームホールルーティングによりメッセージを伝送するためには、伝送路を確保しておく必要があるので、その間、データの交換が停止してしまいデータ処理装置の能力は低下する。これに対し、データ33とメッセージ51との伝送路を共通にすれば、あるいは可能な範囲で共通にすることにより、共通の伝送路を利用してデータ33とメッセージ51とを時分割で支障なく伝送することができる。また、メッセージを交換するPUは、原則として同一の処理経路に属しており、その処理経路を構成する伝送回路を利用してメッセージを伝送することは、メッセージのルーティングに費やされる処理時間および機能を省けることを意味する。したがって、少ないリソースで高速にメッセージを伝送可能なデータ処理装置を本発明により提供できる。
なお、以上では、電気信号を媒体としてデータあるいはメッセージを伝送する半導体処理装置(LSI)を例に本発明を説明しているが、光や、その他の伝送媒体を用いたデータ処理装置においても本発明は適用可能である。マルチプロセッシングユニットの環境を構成するPUが、チップの単位で提供される場合は、プリント基板などのアッセンブリ用の機材を用いてデータ処理装置を構成することができる。また、複数のPUが半導体集積回路技術を用いて1つのチップに作り込まれ、LSI化されたデータ処理装置を提供することも可能である。
データ処理装置の概要を示す図である。 プロセッシングユニットの概要を示す図である。 マトリクスの概要を示す図である。 データおよびメッセージの入出力の概要を示す図である。 メッセージパケットの概要を示す図である。 データおよびメッセージを入力する処理の概要を示す図である。 データおよびメッセージを出力する処理の概要を示す図である。 異なるデータ処理装置の概要を示す図である。
符号の説明
1、2 データ処理装置
10 プロセッシングユニット(PU)
11 マトリクス
81 第1の伝送回路
82 第2の伝送回路

Claims (27)

  1. 複数のプロセッシングユニットを用いるデータ処理方法であって、
    前記複数のプロセッシングユニットの少なくとも一部のプロセッシングユニットを直列に接続する第1の伝送経路を介して、この第1の伝送経路により接続されたプロセッシングユニットによりシリアルに処理されるデータを伝達する第1の工程と、
    前記第1の伝送経路を介して、前記複数のプロセッシングユニットの特定のプロセッシングユニットに対するメッセージをワームホールルーティングにより伝達する第2の工程とを有するデータ処理方法。
  2. 請求項1において、前記プロセッシングユニットは、前記データに対する特定の処理に適した構成を含む第1の回路領域と、前記メッセージに基づく汎用処理に適した構成を含む第2の回路領域とを備えている、データ処理方法。
  3. 請求項1において、前記プロセッシングユニットは、前記データに対する処理に適した回路を再構成可能な回路領域を含む第1の回路領域と、前記メッセージに基づき前記再構成可能な回路領域を再構成する機能を含む第2の回路領域とを備えている、データ処理方法。
  4. 請求項1において、前記プロセッシングユニットは、前記データの処理に適した構成の第1の回路領域を備えており、
    さらに、前記第1の回路領域を診断する第3の工程を有し、前記第2の工程では、マスタとなるプロセッシングユニットに対し、前記第3の工程の診断結果を伝達する、データ処理方法。
  5. 請求項4において、前記第3の工程では、前記第1の回路領域の処理状況および健全性を含む状態を診断する、データ処理方法。
  6. 請求項4において、前記マスタが、前記診断結果により前記第1の伝送経路を再構成する第4の工程を有するデータ処理方法。
  7. 請求項6において、前記第1の回路領域は、再構成可能な回路領域を備え、さらに、前記プロセッシングユニットは、前記メッセージにより前記再構成可能な回路領域を再構成する機能を含む第2の回路領域を備えており、
    前記第2の工程では、前記マスタが、前記第1の伝送経路により接続されたプロセッシングユニットの前記再構成可能な回路領域を再構成する前記メッセージを伝達する、データ処理方法。
  8. 請求項1において、前記第2の工程では、前記メッセージを暗号化して伝達する、データ処理方法。
  9. 請求項1において、前記第1の工程は、前記データを一時的に蓄積する第1のバッファがフルであることを前記第1の伝送経路により接続された上流のプロセッシングユニットに伝達する第1のバックプレッシャー信号を出力する工程を備えており、
    前記第2の工程は、前記メッセージを前記データとは独立して一時的に蓄積する第2のバッファがフルであることを、前記第1のバックプレッシャー信号とは独立して、前記上流のプロセッシングユニットに伝達する第2のバックプレッシャー信号を出力する工程を備えている、データ処理方法。
  10. 請求項1において、前記特定のプロセッシングユニットは、前記第1の伝送経路により接続されている、データ処理方法。
  11. 請求項1において、前記第2の工程では、前記第1の伝送経路のバンド幅の一部を用いて前記メッセージを伝達する、データ処理方法。
  12. 請求項11において、前記第1の伝送経路のうち、前記メッセージを伝達するためのバンド幅の一部はリング状に接続されている、データ処理方法。
  13. 複数のプロセッシングユニットと、
    前記複数のプロセッシングユニットの少なくとも一部のプロセッシングユニットを直列に接続する第1の伝送経路を形成可能な接続網とを有し、
    前記プロセッシングユニットは、前記第1の伝送経路により接続された他のプロセッシングユニットとの間で、前記第1の伝送経路により接続されたプロセッシングユニットによりシリアルに処理されるデータを伝達する第1の伝達手段と、
    前記第1の伝送経路を介して、前記複数のプロセッシングユニットの特定のプロセッシングユニットに対するメッセージをワームホールルーティングにより伝達する第2の伝達手段とを有するデータ処理装置。
  14. 請求項13において、前記プロセッシングユニットは、前記データに対する特定の処理に適した構成を含む第1の回路領域と、前記メッセージに基づく汎用処理に適した構成を含む第2の回路領域とを備えている、データ処理装置。
  15. 請求項13において、前記プロセッシングユニットは、前記データに対する処理に適した回路を再構成可能な回路領域を含む第1の回路領域と、前記メッセージに基づき前記再構成可能な回路領域を再構成する機能を含む第2の回路領域とを備えている、データ処理装置。
  16. 請求項13において、前記プロセッシングユニットは、前記データの処理に適した構成の第1の回路領域と、
    前記第1の回路領域を診断し、前記メッセージとして診断結果を伝達する診断手段とを備えている、データ処理装置。
  17. 請求項16において、前記診断手段は、前記第1の回路領域の処理状況および健全性を含む状態を診断する、データ処理装置。
  18. 請求項14において、前記プロセッシングユニットは、前記メッセージをパケット化するパケット生成手段を備えており、このパケット生成手段は、前記第2の回路領域を構成するコンポーネントからメモリマップドI/Oによりアクセスされる、データ処理装置。
  19. 請求項13において、前記第2の伝達手段は、前記メッセージを暗号化して伝達する、データ処理装置。
  20. 請求項13において、前記第1の伝達手段は、前記データを一時的に蓄積する第1のバッファと、この第1のバッファがフルであることを前記第1の伝送経路により接続された上流のプロセッシングユニットに伝達する第1のバックプレッシャー信号を出力する機能とを備えており、
    前記第2の伝達手段は、前記メッセージを前記データとは独立して一時的に蓄積する第2のバッファと、前記第1のバックプレッシャー信号とは独立して前記第2のバッファがフルであることを前記上流のプロセッシングユニットに伝達する第2のバックプレッシャー信号を出力する機能とを備えている、データ処理装置。
  21. 請求項13において、前記第2の伝達手段は、前記第1の伝送経路のバンド幅の一部を用いてメッセージを伝達する、データ処理装置。
  22. 他の複数のプロセッシングユニットと第1の伝送経路により直列に接続可能なインターフェイスと、
    前記第1の伝送経路により接続された他のプロセッシングユニットとの間で、シリアルに処理されるデータを伝達する第1の伝達手段と、
    前記第1の伝送経路を介して、前記特定のプロセッシングユニットに対するメッセージをワームホールルーティングにより伝達する第2の伝達手段とを有するプロセッシングユニット。
  23. 請求項22において、前記データに対する特定の処理に適した構成を含む第1の回路領域と、
    前記メッセージに基づく汎用処理に適した構成を含む第2の回路領域とを有するプロセッシングユニット。
  24. 請求項22において、前記データに対する処理に適した回路を再構成可能な回路領域を含む第1の回路領域と、前記メッセージに基づき前記再構成可能な回路領域を再構成する機能を含む第2の回路領域とを備えている、プロセッシングユニット。
  25. 請求項24において、前記第1の回路領域を診断する手段を有し、
    前記第2の回路領域は、前記メッセージとして診断結果を伝達する機能を含んでいる、プロセッシングユニット。
  26. 請求項22において、前記メッセージをパケット化するパケット生成手段を有し、このパケット生成手段は、前記第2の回路領域を構成するコンポーネントからメモリマップドI/Oによりアクセスされる、プロセッシングユニット。
  27. 請求項22において、前記第2の伝達手段は、前記メッセージを暗号化して伝達する、プロセッシングユニット。

JP2003394234A 2003-11-25 2003-11-25 データ処理装置および処理方法 Pending JP2005157653A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003394234A JP2005157653A (ja) 2003-11-25 2003-11-25 データ処理装置および処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003394234A JP2005157653A (ja) 2003-11-25 2003-11-25 データ処理装置および処理方法

Publications (1)

Publication Number Publication Date
JP2005157653A true JP2005157653A (ja) 2005-06-16

Family

ID=34720366

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003394234A Pending JP2005157653A (ja) 2003-11-25 2003-11-25 データ処理装置および処理方法

Country Status (1)

Country Link
JP (1) JP2005157653A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009049649A (ja) * 2007-08-17 2009-03-05 Fujitsu Ltd 集積回路装置
US8150949B2 (en) 2007-03-06 2012-04-03 Fujitsu Semiconductor Limited Computing apparatus
WO2013102970A1 (ja) * 2012-01-04 2013-07-11 日本電気株式会社 データ処理装置、及びデータ処理方法
US8504731B2 (en) 2008-05-15 2013-08-06 Fujitsu Limited Network for interconnecting computers
US9330057B2 (en) 2011-12-12 2016-05-03 Samsung Electronics Co., Ltd. Reconfigurable processor and mini-core of reconfigurable processor
JP2020160755A (ja) * 2019-03-26 2020-10-01 株式会社日立製作所 半導体装置

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8150949B2 (en) 2007-03-06 2012-04-03 Fujitsu Semiconductor Limited Computing apparatus
JP2009049649A (ja) * 2007-08-17 2009-03-05 Fujitsu Ltd 集積回路装置
US8504731B2 (en) 2008-05-15 2013-08-06 Fujitsu Limited Network for interconnecting computers
US9330057B2 (en) 2011-12-12 2016-05-03 Samsung Electronics Co., Ltd. Reconfigurable processor and mini-core of reconfigurable processor
WO2013102970A1 (ja) * 2012-01-04 2013-07-11 日本電気株式会社 データ処理装置、及びデータ処理方法
JP2020160755A (ja) * 2019-03-26 2020-10-01 株式会社日立製作所 半導体装置
JP7152343B2 (ja) 2019-03-26 2022-10-12 株式会社日立製作所 半導体装置

Similar Documents

Publication Publication Date Title
JP5285690B2 (ja) 並列コンピュータ・システム、並列コンピュータ・システム上のノード・トラフィックを動的に再経路指定するためのコンピュータ実装方法、コンピュータ可読記録媒体及びコンピュータ・プログラム
CN101753388B (zh) 适用于多核处理器片上和片间扩展的路由及接口装置
CN101484880B (zh) 电子装置、片上系统以及监控数据流的方法
US6275975B1 (en) Scalable mesh architecture with reconfigurable paths for an on-chip data transfer network incorporating a network configuration manager
WO2008004185A2 (en) Electronic device, system on chip and method for monitoring data traffic
KR20090119835A (ko) 토러스 네트워크를 가지는 병렬 컴퓨터 시스템 상의 오류 복구
CN102301363A (zh) 数据处理节点、系统及方法
CN213024387U (zh) 一种基于RapidIO总线的数据冗余传输装置
JPWO2008126471A1 (ja) 半導体集積回路およびその試験方法
JP2006039897A (ja) マルチノードシステム、ノード間クロスバスイッチ、ノード、スイッチプログラム及びノードプログラム
JP2005157653A (ja) データ処理装置および処理方法
US9461913B2 (en) Method of data transmission in a system on chip
US7404020B2 (en) Integrated fibre channel fabric controller
US11411861B2 (en) Routing messages in an integrated circuit chip device using a crosslinked tree structure
Valinataj et al. Enhanced fault-tolerant Network-on-Chip architecture using hierarchical agents
WO2020146153A1 (en) Multichip fault management
KR100798302B1 (ko) 버스 및 네트워크의 복합 통신 수단을 갖는 시스템 온칩
Azimi et al. On-chip interconnect trade-offs for tera-scale many-core processors
US20230280907A1 (en) Computer System Having Multiple Computer Devices Each with Routing Logic and Memory Controller and Multiple Computer Devices Each with Processing Circuitry
US11176006B2 (en) Reconfiguring an addressing mechanism for a system on chip to bypass a defective branch unit
US11429459B2 (en) Broadcasting event messages in a System on Chip using a crosslinked tree structure
US20230283547A1 (en) Computer System Having a Chip Configured for Memory Attachment and Routing
Khan et al. Design and implementation of an interface control unit for rapid prototyping
WO2024102915A1 (en) Pcie retimer providing failover to redundant endpoint using inter-die data interface
JP4564278B2 (ja) ソフト構成を用いたデータ交換

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

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090309

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20091113

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20100309

A072 Dismissal of procedure

Free format text: JAPANESE INTERMEDIATE CODE: A072

Effective date: 20100805