(57)【要約】リコンフィギュアラブルコンポーネント（ＶＰＵ）に対し入力側および／または出力側にメモリが割り当てられ、これによって内部のデータ処理およびたとえばリコンフィギュレーションサイクルと（周辺機器、メモリ等への／それらからの）外部のデータ流との分離が実現される。【特許請求の範囲】
【請求項１】
リコンフィギュアラブルコンポーネントにおけるデータ流の分離方法において、１つまたは複数のＦＩＦＯメモリにより、内部データ伝送のコンポーネントが外部のデータ伝送から分離されることを特徴とする方法。
【請求項２】
リコンフィギュアラブルコンポーネントにおけるデータ流の分離方法において、互いに独立した複数のアドレス発生器が設けられていることを特徴とする方法。
【請求項３】
前記アドレス発生器はデータ処理に依存することなくコンフィギュレーションされる、請求項２記載の方法。
【請求項４】
リコンフィギュアラブルコンポーネントのプログラミング方法において、コンパイラによりアドレス計算が複数のコンフィギュレーションに分解されることを特徴とする方法。
【請求項５】
リコンフィギュアラブルコンポーネントのフィールドとインタフェース装置が設けられており、該インタフェース装置によりデータたとえばデータ流のデータを処理すべきデータが、リコンフィギュアラブルコンポーネントのフィールドと外部の回路装置との間で交換される形式のデータ処理装置において、
前記インタフェース装置は少なくともＦＩＦＯメモリを有しており、該ＦＩＦＯメモリにデータが格納され、該メモリからデータが呼び出されることを特徴とする装置。
【請求項６】
後続のコンフィギュレーションに必要とされるデータを求め、該データを前記インタフェース装置または該インタフェース装置を介して高速アクセス可能なメモリ領域にプレロードする回路装置が設けられている、請求項５記載の装置。
【請求項７】
前記高速アクセス可能なメモリ領域はキャッシュメモリ、外部のＲＡＭメモリおよび／またはＦＩＦＯメモリまたはレジスタである、請求項５または６記載の装置。
【請求項８】
以前に実行されデータ呼び出し時点では少なくとも部分的にもはやアクティブではなく場合によっては関与したフィールドエレメントのリコンフィギュレーションによりすでに放棄されたコンフィギュレーションにおいてインタフェース記憶手段に格納されたデータをセーブし、および／またはすでに一度送信されたが問題なしとしては受信されなかった既知のデータの消去および／または上書きを防止する手段が設けられている、請求項５から７のいずれか１項記載の装置。
【請求項９】
選択的なアクセスのために、複数のフィールドエレメントおよび／またはコンフィギュレーションのためにグループ分けされたフィールドエレメントによりアクセス可能なメモリが設けられており、たとえばＲＡＭセルおよび／または他のメモリバンクが設けられており、これによりデータが非局所的に記憶され、および／または一時記憶される、請求項５から８のいずれか１項記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は主請求項の上位概念に記載のデータ処理方法およびデータ処理装置に関する。一般的にいえば本発明はリコンフィギュアラブルコンポーネントに係わるものであるが、限定するわけではないけれどもリコンフィギュアラブルコンポーネント内部もしくはリコンフィギュアラブルコンポーネントの一部分の内部のデータ処理と、データ流すなわちリコンフィギュアラブルコンポーネント内のデータ流および周辺機器、大容量記憶装置、ホストプロセッサ等へのおよびそこからのデータ流との分離に係わる（DE 101 10 530.4 DE 102 02 044.2参照）。内部のデータ処理およびたとえばリコンフィギュレーションサイクルを（周辺機器、記憶装置等へのまたはそこからの）外部のデータ流と分離できるようにする目的で、リコンフィギュアラブルコンポーネント（ＶＰＵ）に対応づけて入力側および／または出力側にメモリが設けられる。
【０００２】
本発明によればリコンフィギュアラブルアーキテクチャとは、コンフィギュレーション可能な機能および／または結合網ないしはネットワーク構成をもつコンポーネント（ＶＰＵ）のことであり、たとえば以下のような複数のコンポーネントを備えた集積コンポーネントである。すなわちそれら複数のコンポーネントは１次元または多次元に配置されており、算術用および／またはロジック用および／またはアナログのおよび／または記憶用であって、および／または内部／外部で網結合されていて、それらのコンポーネントはダイレクトにまたはバスシステムを介して相互に接続されている。
【０００３】
このようなコンポーネントのジャンルに属するものとしてたとえばシストリックアレイ、ニューラルネットワーク、マルチプロセッサシステム、複数の計算機構を備えたプロセッサおよび／またはロジックセルおよび／または通信／周辺セル（ＩＯ）、網結合および／または結合網要素たとえばクロスバースイッチであり、さらにはＦＰＧＡ，ＤＰＧＡ、Chameleon、ＸＰＵＴＥＲなど公知のコンポーネントである。この関連で本出願人による以下の特許明細書を参照されたい：P 44 16 881.0-53, DE 197 81 412.3, DE 197 81 483. 2, DE 196 54 846.2-53, DE 196 54 593.5-53, DE 197 04 044.6-53, DE 198 80 129.7, DE 198 61 088.2-53, DE 199 80 312.9, PCT/DE 00/01869, DE 100 36 627.9-33, DE 100 28 397.7, DE 101 10 530.4, DE 101 11 014.6, PCT/EP 00/10516, EP 01 102 674.7, DE 196 51 075.9, DE 196 54 846.2, DE 196 54 593.5, DE 197 04 728.9, DE 198 07 872.2, DE 101 39 170.6, DE 199 26 538.0, DE 101 42 904.5, DE 101 10 530.4, DE 102 02 044.2, DE 102 06 857.7, DE 101 35 210.7, EP 02 001 331.4, EP 01 129 923.7 さらに個々の特許出願を参照されたい。これらはすべて開示の目的で広範囲にわたり本出願に組み込まれる。
【０００４】
上述のアーキテクチャは例示のために利用され、以下ではＶＰＵと称する。アーキテクチャは任意の算術セル、ロジックセル（メモリ）および／またはメモリセルおよび／またはメモリセルおよび／または結合網セルおよび／または通信／周辺（ＩＯ）セル（ＰＡＥ）から成り、これらは１次元または多次元のマトリックス（ＰＡ）となるよう配置することができ、マトリックスは任意に構成された種々のセルを有することができ、ここではバスシステムもセルと捉えられる。マトリックス全体またはその一部分にはコンフィギュレーションユニット（ＣＴ）が対応づけられており、このユニットによりＰＡの網結合と機能が制御される。
【０００５】
P 44 16 881.0 からＤＭＡ方式で動作するリコンフィギュアラブルコンポーネント用のメモリアクセス方法が知られており、この場合、１つまたは複数のＤＭＡがコンフィギュレーションによって発生する。DE 196 54 595.1によればＤＭＡはインタフェースユニットに固定的に実装されており、ＰＡまたはＣＴによって制御可能である。
【０００６】
DE 196 54 846.2には、外部データ流による内部データの書き込みならびに外部ユニットへのメモリデータの読み出しについて記載されている。また、DE 199 26 538.0にはDE 196 54 846.2に従ったメモリコンセプトの拡張について記載されており、その目的はいっそう簡単にプログラミング可能でありいっそう高性能のデータ伝送を達成することである。さらにUS 6,347,346には、基本的なすべての点でDE 196 54 846.2に相応するメモリシステムについて記載されており、このシステムにはグローバルなメモリへの明示的なバス（global system port）が設けられている。US 6,341,318には、ダブルバッファ方式を利用して外部データ流と内部データ処理とを分離する方法について記載されており、この場合、それぞれ一方のバッファが外部データの受け取り／読み出しを行うのに対し、他方のバッファが内部データの受け取り／読み出しを行う。バッファがその動作に従い満杯または空になるとバッファが切り替えられ、つまり以前は内部データを担当していたバッファが今度は自身のデータを周辺機器へ導き（もしくは周辺機器から新たなデータを読み出し）、以前は外部データを担当していたバッファが今度は自身のデータをＰＡへ導く（ＰＡから新たなデータを読み出す）。ダブルバッファはアプリケーションにおいて、関連し合うデータ領域をバッファリングする。このようなダブルバッファ装置は殊にデータ流領域においてすなわちいわゆるデータストリーミングにあたり激しい欠点を有しており、その際にはプロセッサフィールド等に連続的に流入する大量のデータを繰り返し同じように処理する必要がある。
【０００７】
本発明の課題は、産業上で利用するための新規な方法および装置を提供することにある。
【０００８】
この課題は独立請求項に記載の特徴により解決される。従属請求項には有利な実施形態が示されている。
【０００９】
このようにして本発明の方法によって、リコンフィギュアラブルプロセッサの典型的な用途の核となる領域においてまさに不利となる公知の従来技術とは異なり、バッファもしくは介在接続されたメモリのコントロールが著しく簡単になる。外部および内部のバスシステムを、介在接続された記憶手段に基づき問題なく種々の転送速度もしくは伝送速度および／またはクロック周波数で稼働させることができる。なぜならばバッファによってデータが一時記憶されるからである。その際、従来技術による劣った解決手段と比べて僅かな記憶手段しか必要とされず、典型的には半分の大きさのバッファもしくはデータ伝送インタフェース記憶手段しか必要とされず、それによってハードウェアコストが大幅に削減される。ハードウェアコスト削減の見積もりは２５％〜５０％に及ぶ。さらにアドレス生成および装置のプログラミングも簡単になる。その理由はバッファがプログラマにとってトランスペアレントだからである。また、ハードウェアをいっそう簡単に記述できるし、デバッグも簡単になる。ページング方式を組み込むことができ、これによればたとえば様々なコンフィギュレーションのために種々のデータ領域がバッファリングされる。
【００１０】
最初に触れておくと、ＩＯのためのインタフェースとして様々なメモリシステムが知られている。これについてはP 44 16 881.0, DE 196 54 595.1, DE 199 26 538.0を参照されたい。さらにDE 196 54 846.2により知られている方法によれば、まずはじめにデータがＩＯからロードされ、（１）ＶＰＵ内においてデータが計算された後にそれらが記憶され、（２）アレイ（ＰＡ）がリコンフィギュレーションされ、（３）データが内部メモリから読み出されて再び別の内部メモリに書き込まれ、（４）これは計算された結果がすべてＩＯに送信されるまで行われる。個々でコンフィギュレーション変更ないしはリコンフィギュレーションとはたとえば、リコンフィギュレーション可能なユニットにおけるフィールドの一部分またはフィールド全体により実行される機能および／またはデータ網結合および／またはデータ処理に必要とされるデータおよび／または定数を新たに決定することである。用途および／または形態に応じて、ＶＰＵはたとえば単に全体としてまたは部分的にであってもリコンフィギュレーションされる。種々のリコンフィギュレーションをインプリメント可能であって、たとえばメモリ領域の切り換えによる完全なリコンフィギュレーション（DE 196 51 075.9, DE 196 54 846.2）および／またはウェーブリコンフィギュレーション（WaveReconfiguration, DE 198 07 872.2, DE 199 26 538.0, DE 100 28 397.7, DE 102 06 857.7）および／またはアドレッシング可能なコンフィギュレーションメモリの簡単なコンフィギュレーション（DE 196 51 075.9, DE 196 54 846.2, DE 196 54 593.5）などが挙げられる。個々の文献は開示の目的で広範囲にわたり組み込まれる。
【００１１】
１つの有利な実施形態によれば、ＶＰＵは全体的にあるいは部分的にウェーブリコンフィギュレーションWaveReconfigurationにより、またはアドレッシング可能なコンフィギュレーションメモリのダイレクトなセットによりコンフィギュレーション可能である。
【００１２】
したがってＶＰＵコンポーネントの基本的な動作原理の１つは、複数のメモリ間で相互にデータがコピーされることであり、各コピー過程中、データに関して付加的なオペレーションおよび場合によっては同じ（たとえば長いＦＩＲフィルタなど）および／または異なるオペレーションが実行される。個々のアプリケーションに依存して１つまたは複数のメモリからデータが読み出され、１つまたは複数のメモリに書き込まれる。
【００１３】
データ流および／または状態を記憶するために（トリガ Trigger, DE 197 04 728.9, DE 199 26 538.0参照）内部の／外部のメモリが（たとえばＦＩＦＯとして）用いられ、相応のアドレス発生器が組み込まれる。目的に適ったどのようなメモリアーキテクチャでもアルゴリズム固有に固定的にインプリメントすることができ、および／またはフレキシブルにコンフィギュレーションすることができ、あるいはコンフィギュレーションしておくことができる。パフォーマンス上の理由から有利であるのはＶＰＵの内部メモリを利用することであるが、原理的には外部のメモリも利用できる。
【００１４】
ここで前置きとして、基本的な構造に対し以下のことを挙げておく。アレイ（ＰＡ）にインタフェースユニットが割り当てられ、ＰＡのバスシステムと外部のユニットとの間でデータ通信が行われる（P 44 16 881.0, DE 196 54 595.1）。インタフェースユニットにより、アドレスとデータ間で一定の対応づけが得られるようアドレスバスとデータバスが結合される。インタフェースユニットが自動的にアドレスまたはその一部を発生できると有利である。
【００１５】
インタフェースユニットにはＦＩＦＯが割り当てられ、これによって内部のデータ処理が外部のデータ伝送から分離される。この場合、ＦＩＦＯは、データを貫流させることのできるバッファもしくは入出力データ記憶手段を成しており、これはデータ処理のためにたとえば同一コンフィギュレーションの実行中は切り替える必要がない。ＦＩＦＯメモリのほかデータを貫流させることのできる他のバッファ手段が知られているかぎりは、適用できるかぎりそれらも同様にその概念に含まれるものとなる。ここではたとえば、１つまたは複数のポインタおよびたとえば少なくとも１つの書き込みメモリと読み出しメモリもつリングメモリを挙げておく。この場合、たとえばアプリケーションを処理する複数のリコンフィギュレーションサイクル中、内部の処理サイクルとは無関係に外部のデータ流を十分一定に維持することができる。ＦＩＦＯは到来データ／送出データおよび／またはアドレスを記憶することができる。また、ＦＩＦＯを１つのインタフェースユニットに統合することができるし、あるいは１つまたは複数のインタフェースユニットに割り当てることができる。形態に応じてＦＩＦＯを複数のインタフェースユニットに統合しておくことができ、さらにそれと同時に付加的な別個のＦＩＦＯをインプリメントしておくこともできる。また、たとえばリコンフィギュアラブルプロセッサアレイを構成するチップ上にＦＩＦＯ群を集積するなどして、コンポーネントといっしょに集積されたデータ貫流型バッファも考えられる。
【００１６】
１つの可能な実施形態として、（やはり別個の）ＦＩＦＯとインタフェースユニットとの間にそれらを任意に対応させるためのマルチプレクサを設けることができる。有利な実施形態によれば、マルチプレクサによりそのつど行われるＦＩＦＯから外部のコンポーネントまたはプロセッサフィールドの内部パートへの接続状態をプロセッサフィールド側から設定することができ、たとえばこれをデータ送信側および／またはデータ受信側のＰＡＥによって行うことができるし、望ましいというのであれば階層的に上位に配置されたユニットにより決定することができ、たとえばデータ処理が高度にパラレルなタスク配分および不都合にパラレル化される可能性のあるタスク配分に分けられる状況でのホストプロセッサのようなユニットにより決定でき、および／または有効であるならば、たとえばどのような種類のデータであるのかおよびそれをどのように処理すべきかがデータとともに指示されるならば、マルチプレクス接続を外部の設定により決定することができる。
【００１７】
外部の端子の側で、内部バスプロトコルと外部バスプロトコル（たとえばRAMBUS, AMBA, PCIなど）との間でプロトコルを変換するためのユニットが設けられている。１つの構成内で複数の様々なプロトコルコンバータを使用することができる。それらのプロトコルコンバータを別個に構成してもよいし、あるいはＦＩＦＯまたはインタフェースユニットに統合してもよい。
【００１８】
１つの可能な実施形態によれば、（別個の）プロトコルコンバータとインタフェースユニット／ＦＩＦＯとの間にそれらを任意に対応づけるためのマルチプレクサを設けることができる。プロトコルコンバータの後段に接続するかたちで別のマルチプレクサ段を設けることができ、これによってたとえば複数のAMBAバスインタフェースを同一のAMBAバスに接続することができる。このマルチプレクサ段をたとえば、複数のユニットをアドレッシングできるという外部バスの特徴によって形成することもできる。
【００１９】
１つの有利な実施形態によれば、回路がマスタモードとスレーブモードで動作する。マスタモードの場合にはアドレスとバスアクセスが回路および／または割り当てられたＰＡにより生成され、スレーブモードでは外部のユニットから回路もしくはＰＡにアクセスされる。
【００２０】
さらに別の実施形態によれば回路内部に、アプリケーションに依存して付加的なバッファメモリまたはデータ収集メモリ（コレクタ Collector）を各インタフェースユニット間のデータ交換のために設けることができる。これらのバッファメモリは有利にはランダムアクセスモードおよび／またはＭＭＵページングモードおよび／またはスタックモードで動作し、固有のアドレス発生器をもつことができる。バッファメモリをマルチポートメモリとして構成するのが有利であり、これによって複数のインタフェースユニットによる同時アクセスが実現される。バッファメモリに対し上位のデータ処理ユニットから、たとえばリコンフィギュアラブルコンポーネント（ＶＰＵ）に割り当てられたプロセッサたとえばＤＳＰ、ＣＰＵ、マイクロコントローラ等からアクセスすることができる。
【００２１】
次に、どのような独特のやり方で外部のデータ流を分離できるかについて触れておく。本発明の基本的な着想によれば外部のデータ流は、プロトコルコンバータとインタフェースユニットとの間に組み込まれたＦＩＦＯ（インプット／アウトプットＦＩＦＯ、まとめてＩＯ−ＦＩＦＯ）により分離される。このデータ処理方法は以下のように動作する。１つまたは複数のインプットＦＩＦＯにより到来データがアレイ（ＰＡ）内のデータ処理から分離される。この場合、データ処理を以下のステップで行うことができる：
１．インプットＦＩＦＯが読み出され、アレイ（ＰＡ）により処理され、および／またはローカルにアレイに割り当てられた１つまたは複数の（他の）メモリおよび／または有利には側方でアレイに結合されたメモリ（ＲＡＭバンク１）に書き込まれる。側方で結合することの利点は、チップアーキテクチャおよび／またはその設計が簡単になることである。
２．アレイ（ＰＡ）がコンフィギュレーションしなおされる。メモリ（たとえばＲＡＭバンク１）が読み出され、データが処理されて、１つまたは複数のメモリ（たとえばＲＡＭバンク２および／またはＲＡＭバンク１）に書き込まれ、または択一的にこのときにすでにステップ４のようにアウトプットＦＩＦＯに書き込まれる。
３．アレイ（ＰＡ）が再びコンフィギュレーションしなおされ、データが再びメモリに書き込まれる。
４．これは結果を出力するためにそれが１つまたは複数のアウトプットＦＩＦＯへ送られるまで続けられる。
５．その後、新たなデータがインプットＦＩＦＯから読み出されて相応に処理され、つまりデータ処理がステップ１から続けられる。
【００２２】
この場合、インプット／アウトプットＦＩＦＯ（ＩＯ−ＦＩＦＯ）をマルチポート型ＦＩＦＯとした有利な実施形態によれば、データ処理をプロトコルコンバータによる個々のＦＩＦＯの書き込みまたは読み出しと同時に行うことができる。既述のやり方によって、一定のデータ流の「ほぼスタティックな処理」を以下のようにして実現する時間的な分離が得られる。すなわちこれによれば、最初のデータパケットが通過したときにレイテンシだけが発生し、データ流の中断はもはや発生しないようになる。
【００２３】
１つの実施形態によればＩＯ−ＦＩＦＯを、アプリケーションに従いＩＯ−ＦＩＦＯの個数やその深さを選択できるよう構成することができる。換言すればＩＯ−ＦＩＦＯを、いっそう多くのまたはいっそう深いＩＯ−ＦＩＦＯが生じるよう（たとえばトランスミッションゲート、マルチプレクサ／デマルチプレクサ等により）分解または統合することができる。たとえば８つのＦＩＦＯをそれぞれ１０２４個のワードずつとなるようインプリメントしておき、それらをコンフィギュレーションして、１０２４ワードをもつ８つのＦＩＦＯまたは４０９６ワードをもつ２つのＦＩＦＯまたはたとえば４０９６ワードをもつ１つのＦＩＦＯと１０２４ワードをもつ４つのＦＩＦＯにコンフィギュレーションすることができる。
【００２４】
システムの形態とアルゴリズムの要求に応じて、既述のデータ処理方法を変形することができる。１つの実施形態によればＦＩＦＯは以下のように動作する。すなわち出力ＦＩＦＯであればデータエントリに属するアドレスもそれらのＦＩＦＯに記憶され、および／または入力ＦＩＦＯであれば、１つのＦＩＦＯが送出すべき／送信される読み出しアドレスのために、１つのＦＩＦＯがそのアドレスに対応する到来データワードのためにそれぞれ設けられるように構成されている。
【００２５】
次に、本発明の１つの有利な実施形態において本発明により実現されるＦＩＦＯ−ＲＡＭバンクの結合をどのようにして行えるのかについて説明する。
【００２６】
アプリケーションに応じて、１つまたは複数のローカルにアレイに割り当てられたまたは有利には側方でアレイに結合された別のメモリ段（ＲＡＭバンク）を介してＩＯ−ＦＩＦＯとのデータ伝送を実行し、その後はじめてデータ処理用ＰＡＥ（たとえばDE 196 51 075.9によるＡＬＵ−ＰＡＥ）に転送することができる。
【００２７】
１つの有利な実施形態によれば、ＲＡＭ−ＰＡＥは複数のデータ・アドレスインタフェースを有しており、したがってマルチポート装置として構成されている。データインタフェースおよび／またはアドレスインタフェースをグローバルなシステムポートとして構成できることにも触れておく。
【００２８】
付加的なメモリ段（ＲＡＭバンク）はたとえば、DE 196 54 846.2および／またはDE 199 26 538.0および／またはPCT/EP 00/10516に記載のＲＡＭ−ＰＡＥに従ったメモリコンポーネントによって実現することができる。
【００２９】
換言すればＲＡＭ−ＰＡＥを、（実質的に）メモリ機能に限られた受動的なメモリ（DE 196 54 846.2）として構成できるし、あるいはアドレス計算および／またはバスアクセスを自動的に生じさせて制御する能動的なメモリ（DE 199 26 538.0参照）としても構成できる。たとえば１つの実現可能な形態によれば、「グローバルシステムポート "global system port"」のための能動的なアドレス発生機能および／またはデータ伝送機能をインプリメントすることができる。能動的なメモリは実施形態に応じて、１つまたは複数のデータインタフェース及びアドレスインタフェースを能動的に管理することができる（能動的なインタフェース）。能動的なインタフェースはたとえばシーケンサ／ステートマシンおよび／またはＡＬＵおよび／またはレジスタ等、ＲＡＭ−ＰＡＥ内部の付加的なコンポーネントにより実現することができ、および／または能動的なインタフェースと他のＰＡＥとの適切な結線により行うことができ、それらの機能および網結合ないしはネットワーク化は実現すべき機能に従い１つまたは複数のＲＡＭ−ＰＡＥにおいてコンフィギュレーションされる。種々のＲＡＭ−ＰＡＥに対し種々の他のＰＡＥを割り当てることができる。
【００３０】
有利であるのは、ＲＡＭ−ＰＡＥが以下の機能もしくは動作モードのうちの１つまたは複数をもっていることである：ランダムアクセス、ＦＩＦＯ、スタック、キャッシュ、ＭＭＵページング。ＲＡＭ−ＰＡＥは１つの有利な実施形態によればバスを介して上位のコンフィギュレーションユニット（ＣＴ）と接続されており、これによってそれらの機能および／または網結合および／またはメモリの深さおよび／または動作モードをコンフィギュレーションすることができる。さらに有利であるのは、たとえば定数および／またはルックアップテーブル（ｃｏｓ／ｓｉｎ）をセットする目的などのために、ＣＴによるメモリ内容のプレロードおよび読み出しが行えるようにすることである。
【００３１】
ＲＡＭ−ＰＡＥのためにマルチポート型メモリを使用することによって、ＩＯ−ＦＩＦＯからのデータ読み出し／ＩＯ−ＦＩＦＯへのデータ書き込みおよびアレイ（ＰＡ）によるデータアクセスを同時に行うことができ、このようにすることでたとえばDE 196 54 846.2に記載されているようにＲＡＭ−ＰＡＥ自体にバッファ特性をもたせることができる。
【００３２】
たとえばPCT/EP 00/10516に示されているように、いっそう大きいメモリブロックが得られるようＲＡＭ−ＰＡＥを統合できるし、あるいはいっそう大きいメモリの機能が得られるようにＲＡＭ−ＰＡＥを動作させることができる（たとえば２つの５１２ワードのＲＡＭ−ＰＡＥから１つの１０２４ワードのＲＡＭ−ＰＡＥを形成する）。
【００３３】
１つの実現可能な形態によれば上述の統合を、このような複数のメモリに同じアドレスが導かれるように行うことができる。この場合、アドレスは、一方の部分が複数のメモリ内のエントリをアドレッシングし、他方の部分が選択されたメモリ（ＳＥＬ）の番号を表すよう分割される。メモリは各々一義的な番号を有しており、この番号をＳＥＬと比較することによりそれらのメモリを一義的に選択することができる。１つの有利な実施形態によれば、各メモリの番号をコンフィギュレーションすることができる。
【００３４】
別のおよび／または付加的な実施形態によれば、アドレスはあるメモリから次のメモリへ転送される。この場合、アドレスは、一方の部分がメモリ内のエントリをアドレッシングし、他方の部分が選択されたメモリの番号（ＳＥＬ）を表すよう分割される。そして転送されるたびにこの番号が変更され、たとえば転送ごとにその番号から１だけ引かれるようにすることができる。このアドレス部分が特定の値（たとえばゼロ）をもつメモリがアクティブにされる。
【００３５】
１つの実施形態によれば上述の統合は、複数のメモリに同じアドレスが導かれるように行うことができる。この場合、アドレスは、一方の部分がメモリ内のエントリをアドレッシングし、他方の部分が選択されたメモリの番号（ＳＥＬ）を表すよう分割される。各メモリ間においてあるメモリから次のメモリに向かってバスが延びており、このバスは以下のように参照アドレスをもっている。すなわちこの参照アドレスは最初のメモリにおいては特定の値（たとえばゼロ）を有しており、この値は転送ごとに変更される（たとえば１だけ加算される）。これにより各メモリは異なる一義的な参照アドレスをもつようになる。選択されたメモリの番号をもつアドレスの一部分が、それぞれ参照アドレスと比較される。それらが等しければ、該当しているメモリが選択される。実施形態に応じて、この参照バスを慣用のデータバスシステムによって、あるいは別個のバスによって構築することができる。
【００３６】
１つの実施形態によれば、誤ったアドレッシングを排除する目的でそのつどアドレス部分ＳＥＬの範囲チェックを行うことができる。
【００３７】
さらに言及しておくと、ＲＡＭ−ＰＡＥをＦＩＦＯとして使用することができ。これはたとえば比較的大きいメモリ容量がＲＡＭ−ＰＡＥによって設けられるときに有利になる可能性がある。したがって殊にＲＡＭ−ＰＡＥのためにマルチポート型のメモリを利用して、明示的なＩＯ−ＦＩＦＯをやめた形態、および／またはＩＯ−ＦＩＦＯに加えて相応の個数のＲＡＭ−ＰＡＥをＦＩＦＯとしてコンフィギュレーションする形態、およびＩＯのデータをメモリの対応するポートへ導く形態が考えられる。このような形態はコストに関して殊に効率的であるとみなせる。それというのも付加的なメモリを設ける必要がなく、機能および／または網結合についてコンフィギュレーション可能なＶＰＵアーキテクチャのメモリ（DE 196 54 846.2, DE 199 26 538.0, PCT/EP 00/10516）を、コンフィギュレーション可能なプロセッサの特性に従いコンフィギュレーションすることができる。
【００３８】
さらにマルチプレクサ／デマルチプレクサをＦＩＦＯの前および／または後に設けることができる。到来データ流もしくは送出データ流を１つまたは複数のデータセットから生じさせることができる。たとえば関数
function example (a, b : integer) -＞x : integer
for i:=1 to 100
for j:= 1 to 100
x[i] := a[i] * b[j]
のためには２つの到来データ流（ａ，ｂ）および１つの送出データ流（ｘ）が必要とされる。
【００３９】
この要求はたとえば２つのアプローチによって満たすことができる：
ａ）必要とされるデータ流と正確に同じ個数のＩＯチャネルをインプリメントする（P 44 16 881.0, DE 196 54 595.1）；つまり例示した関数においてすでに３つのＩＯチャネルが必要とされる。あるいは、
ｂ）データ流を分離するためにいわばレジスタセットとして内部メモリを使用する（DE 199 26 538.0, DE 196 54 846.2参照）。種々のデータ流はたとえば１つまたは複数のメモリとＩＯ（たとえばメモリ、周辺機器等）との間で時分割多重方式により交換される。そしてこのとき内部において、ＩＯデータがそれらのメモリとＩＯとの間の転送時に相応にソート（スプリット）されるならば、場合によってはデータをパラレルに複数のメモリと交換することができる。
【００４０】
アプローチａ）は本発明によれば、十分な個数のＩＯチャネルとＩＯ−ＦＩＦＯを利用できるようにすることによって支援される。とはいえこのような簡単なアプローチでは不十分である。それというのもアルゴリズムに依存し精密には決められずしかも非常にコストのかかる複数のＩＯチャネルを利用できるようにしなければならないからである。
【００４１】
したがってアプローチｂ）またはアプローチａ）とアプローチｂ）との適切な混合が有利であり、たとえば２つのＩＯチャネルと１つのインプットと１つのアウトプットを設け、各チャネルごとにデータ流を必要に応じてマルチプレクスする。ここで触れておくと、よくわかるようにインタフェースはデータ流を処理できなければならず、つまり十分に高いクロック周波数および／または十分に小さいレイテンシで内部バスもしくは外部バスに設ける必要がある。これが両方のバリエーションの混合が殊に有利であるかの理由であるということができ、なぜなら複数のパラレルなＩＯチャネルを設けることによって外部のバスおよび／または内部のバスの必要とされるクロックを相応に引き下げることができるからである。
【００４２】
アプローチｂ）もしくは少なくとも部分的にアプローチｂ）に基づくアプローチのために必要とされるのは、マルチプレクサもしくはデマルチプレクサを設けること、データ流をデータチャネルから分離すること（たとえばインプットチャネルからａとｂを分離しなければならない）、あるいは複数の結果送出用チャネルを１つのアウトプットチャネルにまとめることである。
【００４３】
このため１つまたは複数のマルチプレクサ／デマルチプレクサ（MuxDemux段）を、ハードウェア技術のインプリメンテーションもしくは実行すべき機能に依存してそれぞれ異なるポジションに配置することができる。たとえば、
ａ）MuxDemuxを（たとえばDE 196 54 595.1による）入出力インタフェースとＦＩＦＯ段（ＩＯ−ＦＩＦＯおよび／またはＦＩＦＯとしてのＰＡＥ−ＲＡＭ）との間に、
ｂ）MuxDemux段をＦＩＦＯ段（ＩＯ−ＦＩＦＯおよび／またはＦＩＦＯとしてのＰＡＥ−ＲＡＭ）の後ろに、つまりＦＩＦＯ段とＰＡとの間に、
ｃ）MuxDemux段をＩＯ−ＦＩＦＯとＲＡＭ−ＰＡＥとの間に、
接続することができる。
【００４４】
MuxDemux段をハードウェアとして固定的にインプリメントすることができるし、および／または相応に構成された任意のＰＡＥの適切なコンフィギュレーションにより生じさせることができる。
【００４５】
MuxDemux段におけるマルチプレクサ／デマルチプレクサの位置は、ＣＴによるコンフィギュレーションおよび／またはアレイ（ＰＡ）および／またはＩＯ自体により設定され、これをダイナミックに作用させることもでき、たとえばＦＩＦＯの充填度に基づき、および／または発生しているデータ転送（アービテーション）に基づき作用を及ぼすことができる。
【００４６】
１つの有利な実施形態によれば、マルチプレクサ／デマルチプレクサはコンフィギュレーション可能なバスによって（たとえばRAM/ALU/etc-PAE間のバスシステムと同様にまたはそれに類似して）構成され、この場合、バスシステムをたとえば物理的にも同一のものとすることができ、リソースシェアリングまたは適切なリコンフィギュレーションにより実現可能な時分割多重方式によってそれがいっしょに利用される。
【００４７】
殊に有利であるのは、あとで説明するようにしてアドレスを特別なやり方で生成することである。内部または外部のメモリのためのアドレスをアドレス発生器により計算することができる。たとえばＰＡＥのグループを相応にコンフィギュレーションすることができるし、および／または明示的であり必要に応じて別個に専用にインプリメントされたアドレス発生器（DE 44 16 881により知られているようなＤＭＡ）を用いることができ、あるいは（DE 196 54 595.1により知られているような）インタフェースセル内部で用いることができる。換言すれば、ＶＰＵ内に統合されている固定的にインプリメントされたアドレス発生器を使用することができ、および／またはアルゴリズムの要求に従いＰＡＥのコンフィギュレーションによりアドレスを計算することができる。
【００４８】
有利には簡単なアドレス発生器を、固定的にインタフェースユニットおよび／またはアクティブなメモリ（たとえばＲＡＭ−ＰＡＥ）にインプリメントしておくことができる。複雑な（たとえば非線形、多次元等の）アドレスシーケンスを発生させるために、ＰＡＥを相応にコンフィギュレーションしてインタフェースセルと接続することができる。相応にコンフィギュレーションされたこの種の方法はPCT/EP 00/10516から公知である。
【００４９】
コンフィギュレーションされたアドレス発生器をデータ処理として別のコンフィギュレーション（Config-ID, DE 198 07 872.2, DE 199 26 538.0, DE 100 28 397.7）に所属させることができる。このようにしてアドレスの発生をデータ処理から分離することができ、このようにして有利な動作法式によればたとえば、データを処理するコンフィギュレーションがコンフィギュレートされる前またはされている間に、アドレスをすでに発生させ対応するデータをすでにロードすることができる。このようにデータを事前にロードすることもしくはアドレスを事前に発生することは、殊にレイテンシおよび／またはウェイトクロックサイクルの低減によりプロセッサパフォーマンスを高めるためにきわめて有利であることを述べておく。この場合、相応に結果データおよびそれらのアドレスをさらに処理することができる。データ処理を行う／データを生成するコンフィギュレーションが取り除かれる間またはその後に、結果データおよびそれらのアドレスをさらに処理することができる。たとえば既述のＦＩＦＯなどのようなメモリおよび／またはバッファを使用することによって、データ処理をメモリアクセスおよび／またはＩＯアクセスから分離できる。
【００５０】
１つの有利な動作形態において殊に高性能であるのは、固定的にインプリメントされたアドレス発生器（HARD-AG）(DE 196 54 595.1）とコンフィギュレーション可能なアドレス発生器をＰＡ（SOFT-AG）内でひとつにまとめて結線することであり、これによれば簡単なアドレッシングパターンを実現するためにHARD-AGが使用され、複雑なアドレッシングシーケンスがSOFT-AGにより計算され、その後、HARD-AGに伝えられる。換言すれば個々のアドレス発生器を相互にオーバーロードして新たにセットすることができる。
【００５１】
リコンフィギュアラブルコンポーネントのためのインタフェースユニットはすでにDE 196 54 595.1により開示されている。そこに開示されているインタフェースユニットおよびそれらの動作を、プロセッサ効率および／またはパフォーマンスを高めるために改善できることがわかった。したがって以下では本発明において、殊にDE 196 54 595.1に開示されているインタフェースユニットの特別な形態について提案する。
【００５２】
各インタフェースユニットに固有の一義的な識別子（ＩＯＩＤ）をもたせることができ、これはプロトコルコンバータから／プロトコルコンバータへ伝送され、データ伝送と特定のインタフェースユニットとの対応づけあるいは特定のインタフェースユニットのアドレッシングに用いられる。ＩＯＩＤは有利にはＣＴによってコンフィギュレーション可能である。ＩＯＩＤはたとえば、外部のマスタによるアクセス時にデータ伝送のために特定のインタフェースユニットを選択することができる。さらに到来する読み出しデータに適正なインタフェースユニットを対応づける目的で、ＩＯＩＤを使用することができる。この目的でＩＯＩＤはたとえばデータ読み出しアクセスのアドレスとともにＩＯ−ＦＩＦＯに伝送されてそこに記憶され、および／または外部のバスに転送される。ＩＯ−ＦＩＦＯは送出されたアドレスのＩＯＩＤを到来する読み出しデータに割り当て、および／またはＩＯＩＤは外部のバスを介していっしょに伝送され、送り戻された読み出しデータに対し外部の機器またはメモリにより割り当てられる。この場合、ＩＯＩＤは（たとえばインタフェースユニットの前の）マルチプレクサを、到来する読み出しデータがマルチプレクサにより適正なインタフェースユニットへ導かれるよう動作させることができる。
【００５３】
通例、インタフェースユニットおよび／またはプロトコルコンバータはバスマスタとして動作する。１つの特別な実施形態によれば、インタフェースユニットおよび／またはプロトコルコンバータは択一的および／または固定的および／または一時的にバススレーブとして動作し、殊に選択的なやり方によればたとえば特定のイベント、ＰＡＥにおけるステートマシンの状態、中央コンフィギュレーション管理ユニット（ＣＴ）の要求等に応じて動作する。付加的な実施形態によればインタフェースユニットは、生成されたアドレスたとえばＳＯＦＴ−ＡＧにおいて生成されたアドレスに特定のデータパケットが割り当てられるよう拡張されている。
【００５４】
インタフェースユニットの１つの有利な実施形態は以下のとおりである。この場合、インタフェースユニットの有利な結合は、任意のＰＡＥ（ＲＡＭ，ＡＬＵ等）および／またはアレイ（ＰＡ）が（有利にコンフィギュレーション可能な）バスを介してインタフェースユニットと接続されることによって行われ、それらのインタフェースユニットはプロトコルコンバータと接続されており、あるいはプロトコルコンバーを統合するかたちで有している。１つの変形実施形態によれば、ＩＯ−ＦＩＦＯはインタフェースユニットに統合されている。
【００５５】
書き込みアクセス（ＶＰＵはデータを外部ＩＯたとえばメモリ／周辺機器等に送信する）のために有利であるのは、アドレス出力をデータ出力と結合することであり、つまりインタフェースユニットに有効なアドレスワードと有効なデータワードが到来したときにはＩＯによるデータ伝送が正確に行われ、その際、両方のワードはそれぞれ異なるソースからのものであってよい。有効性識別のため、たとえばDE 196 51 075.9またはDE 101 10 530.4によるハンドシェークプロトコル（ＲＤＹ／ＡＣＫ）を用いることができる。アドレスワードとデータワードにおけるＲＤＹ信号の適切な論理結合（たとえばＡＮＤ）によって、両方の有効なワードの存在を識別することができ、ＩＯアクセスを実行することができる。ＩＯアクセスの実行とともにデータワードとアドレスワードの確認応答を行うことができ、これは両方の伝送に対し適切なＡＣＫを生成することによって行われる。アドレスとデータならびに場合によってはそれに属するステータス信号から成るＩＯアクセスを、本発明に従って出力ＦＩＦＯにおいて分離することができる。バス制御信号は有利にはプロトコルコンバータによって生成される。
【００５６】
読み出しアクセス（ＶＰＵはデータを外部のＩＯたとえばメモリ／周辺機器等から受信する）のためにまずはじめに、アクセス用のアドレスがアドレス発生器（ＨＡＲＤ−ＡＧおよび／またはＳＯＦＴ−ＡＧ）により生成され、アドレス伝送が実行される。読み出しデータは同じクロックで、または高い周波数においてパイプライン化されて１つまたは複数のクロック遅れて到来する可能性がある。アドレスもデータもＩＯ−ＦＩＦＯによって分離することができる。データの確認応答のために公知のＲＤＹ／ＡＣＫプロトコルを使用することができ、これもパイプライン化して用いることができる（DE 196 54 595.1, DE 197 04 742.4, DE 199 26 538.0, DE 100 28 397.7, DE 101 10 530.4）アドレスの確認応答のためにも公知のＲＤＹ／ＡＣＫプロトコルを使用することができる。しかし受信側によるアドレスの確認応答によって非常に大きいレイテンシが引き起こされ、これはＶＰＵのパフォーマンスに悪影響を及ぼす可能性がある。この場合、インタフェースユニットがアドレス受信を確認応答し、アドレスに割り当てられたデータの到来とアドレスとの同期合わせの役割を担うことで、このレイテンシを回避することができる。
【００５７】
確認応答ならびに同期合わせを、任意の適切な確認応答回路によって行うことができる。２つの可能な実施形態について、これに限定するわけではないけれども以下で詳しく述べる。
ａ）ＦＩＦＯ
ＦＩＦＯは外部のバス伝送の送出アドレスサイクルを記憶する。外部のバスアクセスに対する応答として到来する各データワードによって、相応にＦＩＦＯの学習が行われる。ＦＩＦＯ特性によって、送出アドレスの順序が送出データワードの順序と一致する。ＦＩＦＯの深さ（つまり可能なエントリの個数）を外部のシステムのレイテンシに整合させるのが有利であり、そのようにすれば送出されるアドレスに対しレイテンシなく確認応答することができ、最適なデータスループットが達成されるようになる。到来するデータワードは、割り当てられたアドレスのＦＩＦＯエントリに従って確認応答される。ＦＩＦＯがいっぱいであれば外部のシステムは後続のアドレスをもはや受け入れることができなくなり、目下送出されているアドレスは、先行のバス伝送のデータワードが到来してＦＩＦＯエントリが取り除かれるまで確認応答されず、したがって保持されない。ＦＩＦＯが空であれば有効なバス伝送は実行されず、場合によっては到来するデータワードは確認応答されない。
ｃ）クレジットカウンタ
外部のバス伝送から送出される各アドレスは確認応答され、カウンタへ供給されて加算される（クレジットカウンタ）。外部のバス伝送に対する応答として到来するデータワードがカウンタから差し引かれる。カウンタが規定の最大値に達すると、外部のシステムは後続のアドレスをもはや受け入れることができず、目下送出しているアドレスは、先行するバス伝送のデータワードが到来してカウンタがデクリメントされるまで確認応答されず、したがって保持されない。計数状態がゼロであれば有効なバス伝送は実行されず、場合によっては到来するデータワードは確認応答されない。バス伝送を最適にサポートする目的で殊に有利であるのはａ）（ＦＩＦＯ）を用いた解決手段であり、たとえばＦＩＦＯを以下で説明するＦＩＦＯのようにバーストアクセスの処理およびＩＯＩＤと読み出しデータとの対応づけのために用いることができる。
【００５８】
インタフェースユニットに既述のＩＯ−ＦＩＦＯを統合させることができる。たとえばこの変形実施形態ａ）のためにもＩＯ−ＦＩＦＯを用いることができる。
【００５９】
既述のようにプロトコルコンバータを設けるオプションも開示されている。プロトコルコンバータの格別有利な実施形態として以下の構成を挙げておく。
【００６０】
プロトコルコンバータは外部のバスの管理と制御の役割を担う。プロトコルコンバータの詳細構造ならびに詳細な機能は外部のバスの形態に依存している。たとえばＡＭＢＡバスはＲＡＭＢＵＳとは異なるプロトコルコンバータを必要とする。様々なプロトコルコンバータをインタフェースユニットに接続することができ、ＶＰＵの構成の枠内で複数のたとえばそれぞれ異なるプロトコルコンバータをインプリメントすることができる。１つの有利な実施形態によれば、プロトコルコンバータは本発明のＦＩＦＯに統合されている。
【００６１】
さらに本発明によればバーストバスアクセスが行われるように構成されている。最新のバスシステムおよびＳｏＣバスシステムは、いわゆるバーストシーケンスによって大きいデータ量を転送する。この場合、まずはじめにアドレスが伝送され、ついでいくつかのクロックでもっぱらデータが転送される（AMBA Specification 2.0, ARM Limited参照）。
【００６２】
バーストアクセスの適正な実施のため複数の課題を解決しなければならない：
１）バーストサイクルの識別
外部のバスにおけるバースト転送をトリガするためバーストに変換可能なリニアなつまり直線的なバスアクセスを識別しなければならない。リニアなアドレス列を識別するためカウンタ（ＴＣＯＵＮＴＥＲ）を使用することができ、これはまずはじめに最初のアクセスの最初のアドレスによりロードされ、各アクセス後にリニアにカウントアップ／カウントダウンされる。それに続くアドレスが計数状態と一致しているかぎり、リニアなバースト対応の順序が生じている。
【００６３】
２）境界における中断
多くのバスシステム（たとえばＡＭＢＡなど）はバーストをａ）特定の長さまでしか、もしくはｂ）特定のアドレス境界までしか（たとえば１０２４個のアドレスブロック）許可しない。ａ）のために本発明によれば簡単なカウンタをインプリメントすることができ、このカウンタは最初の所望のもしくは必要とされるバスアクセスからデータ伝送の個数を計数し、バースト転送の最大長に相応する所定値のところで、たとえば比較器などを用いて境界を通報する。ｂ）のために、境界を表す相応のビット（たとえば１０２４個のアドレス境界であれば１０ｂｉｔ）をＴＣＯＵＮＴＥＲと目下のアドレスとの間で（たとえばＸＯＲ機能により）比較することができる。ＴＣＯＵＮＴＥＲにおけるビットと目下のアドレスにおけるビットが等しくなければ境界の移行部にきており、それに応じてシグナリングが行われる。
【００６４】
３）長さの決定
外部のバスシステムがバーストサイクル長に対する情報を必要としないかぎり、長さの不定なバースト転送を実行することができ本発明によればそれが有利である（ＡＭＢＡ参照）。長さ情報が待ち望まれるならば、および／または特定のバースト長が設定されているならば、本発明によれば以下のことを行うことができる。すなわち伝送すべきデータとアドレスがＦＩＦＯへ有利にはそのためにＩＯ−ＦＩＦＯをいっしょに用いて書き込まれ、それらは（ＩＯ−）ＦＩＦＯにおけるアドレスの個数に基づき既知である。このアドレスのためにアドレスＦＩＦＯが用いられ、これはマスタモードにおいてインタフェースユニットから外部のバスへ伝送され、および／またはスレーブモードではその逆に動作する。データはデータＦＩＦＯに書き込まれ、これは伝送（書き込み／読み書き）に応じてデータを伝送する。殊に書き込み伝送と読み出し伝送のために、それぞれ異なるＦＩＦＯを用いることができる。バースト伝送を以下のようにして固定バースト長に分けることができる。これらは個々のバースト伝送前に既知であり、バースト開始時に指定することができ、有利にはまずはじめに最大バースト長のバースト伝送を形成し、残りの（ＩＯ−）ＦＩＦＯエントリの個数が目下のバースト長よりも小さければ、それぞれ次に小さいバースト長が使用される。たとえば最大バースト長が４であれば１０個の（ＩＯ−）ＦＩＦＯエントリを４，４，２のバースト伝送で伝送することができる。
【００６５】
４）エラーリカバリ
多くの外部のバスシステム（ＡＭＢＡ参照）にはエラー除去方法が設けられており、それによればたとえば失敗したバースト伝送が繰り返される。バースト伝送が失敗したか否かの情報は、いわばバースト伝送に対する確認応答としてバースト伝送の終わりに伝送される。バースト伝送を繰り返すために必要とされるのは、アドレス全体が得られることであり書き込みアクセス時には書き込むべきデータが得られることである。この点を考慮して本発明によれば、各バースト伝送前に読み出しポインタが格納されるようアドレスＦＩＦＯ（有利にはＩＯ−ＦＩＦＯのアドレスＦＩＦＯ）を変形することが提案される。このためＦＩＦＯ読み出しポインタポジション格納手段たとえばアドレスＦＩＦＯ読み出しポインタポジション格納手段が設けられている。この手段がアドレスＦＩＦＯの統合部分となるよう構成することができ、そこにはたとえばＦＩＦＯに格納された情報が読み出しポジションを表すことを指示するフラグが設けられ、あるいはＦＩＦＯとは別個にこの手段を設けてもよい。択一的に、ＦＩＦＯに格納されたデータに対しそれといっしょに格納され消去可能であることを表すステータスが割り当てられて、必要とされるデータ伝送が確認応答されればそのステータスが「消去可能」としてリセットされるように構成してもよい。エラーが発生すれば、読み出しポインタは再び以前に格納されていたポジションにセットされ、バースト伝送が繰り返される。エラーが発生しなければ次のバースト伝送が実行され、読み出しポインタが相応に新たに格納される。書き込みポインタが目下のバースト伝送に到達し、それにより場合によってはバースト伝送を繰り返すときに必要とされる値が上書きされてしまうのを避ける目的で、格納された読み出しポインタと書き込みポインタとの比較によりＦＩＦＯの満杯状態が検出される。
【００６６】
ＩＯ−ＦＩＦＯおよび／またはバッファ伝送管理用のＦＩＦＯを有利には、インタフェースユニットにより既知であるアドレスと到来データとの対応づけ機能によって拡張することができる。この場合、到来する読み出しデータにもＩＯＩＤを割り当てることができ、これは有利にはアドレスといっしょにＦＩＦＯに格納される。ＩＯＩＤと到来する読み出しデータとの対応づけによって読み出しデータと相応するインタフェースユニットとの対応づけが可能であり、これによればたとえばマルチプレクサがＩＯＩＤに従い切り換えられる。
【００６７】
さらに本発明によれば、特定のバスシステムを使用することおよび／またはバスシステムを様々なやり方で構成することが可能である。これについて以下で論じる。構成に依存して個々のユニット間において、たとえばインタフェースユニット、ＩＯ−ＦＩＦＯ、プロトコルコンバータの間において様々なバスシステムを使用することができ、それぞれ２つのユニットの間に別のバスシステムをインプリメントしておくことができる。種々の構成をインプリメント可能であって、それによれば複数の構成の機能を１つの構成の中でまとめることができる。いくつかの可能な構成について以下で触れておく。
【００６８】
実現可能な最も簡単な形態は２つのユニットをダイレクトに接続することである。拡張実施形態によれば、それぞれ異なる形態で構成可能な複数のユニット間にマルチプレクサが設けられる。この実施形態は複数の固有のユニットを使用したときに殊に有利である。マルチプレクス機能をコンフィギュレーション可能なバスによって生じさせることができ、このバスは特定のユニットを相互に接続するために上位のコンフィギュレーションユニット（ＣＴ）からそのつど所定の期間にわたりコンフィギュレーション可能である。
【００６９】
１つの有利な実施形態によればセレクタによって接続が規定され、これはたとえばアドレスの一部分および／またはＩＯＩＤをデコーディングし、各ユニットの結線のためマルチプレクサを制御する。格別有利な実施形態によればセレクタは、複数のユニットが同時に１つのユニットを選択できるように構成されており、この場合、時間的な順序で複数のユニットのうちそれぞれ１つのユニットがアービテーションされる。DE 199 26 538.0 には一例としてこれに適したバスシステムが記載されている。
【００７０】
アービテーションのために付加的な状態を使用することができる。たとえばインタフェースユニットとＩＯ−ＦＩＦＯとの間のデータ伝送を、以下のようにして最適化することができる。この場合、伝送すべきデータのうち決められたサイズのブロックがそれぞれＦＩＦＯ段内でまとめられる。ブロックが満杯／空になるとただちに、データを伝送する目的でバスアクセスがアービタに通報される。データはバースト伝送の形式で伝送され、つまりデータブロック全体がアービタによるバス分配フェーズ中に伝送される。換言すれば、接続されたＦＩＦＯのＦＩＦＯ状態に基づきバス分配を行うことができ、この場合、ＦＩＦＯ内で状態特定のためのデータブロックを用いることができる。ＦＩＦＯが満杯であれば、空にするためにバスのアービテーションを行うことができる。その際、付加的な状態を設けておくことができ、たとえばフラッシュ Flush を設けることができ、これは満杯のＦＩＦＯを一部分だけ空にするために、および／または空のＦＩＦＯを一部分だけ充填するために用いられる。フラッシュをたとえばコンフィギュレーション入れ替え（リコンフィギュレーション）に用いることができる。
【００７１】
１つの有利な実施形態によれば、高いデータ伝送速度およびクロック速度を達成するためバスラインが適切なレジスタ段によりパイプラインとして構築されていて、たとえばそれ自体をＦＩＦＯとして動作させることができる。１つの有利な実施形態によれば、マルチプレクサ段もパイプライン化して構成することができる。
【００７２】
本発明によれば、複数のモジュールをＩＯに接続し、モジュール相互間の通信が行われるように構成することができる。これについて以下のことに触れておく。DE 198 07 872.2, DE 199 26 538.0, DE 100 28 397.7から、特定の機能をもち再利用可能でありおよび／またはＰＡ内でリロケート可能なコンフィギュレーションモジュールが知られている。これらのコンフィギュレーションモジュールのうち複数のモジュールを互いに依存させておよび／または依存させずに同時にＰＡ内にコンフィギュレーションすることができる。この場合、コンフィギュレーションモジュールを制限されたとえば特定の個所にのみ設けられしたがってリロケート不可能なＩＯに、それらのコンフィギュレーションモジュールがＩＯを同時に利用できデータが適正なモジュールに割り当てられるよう結線する必要がある。さらに、互いに関連する（依存する）コンフィギュレーションモジュールを、ＰＡ内でコンフィギュレーションモジュールを相互にリロケーションできるよう互いに結線する必要がある。
【００７３】
慣用のネットワーク（P 44 16 881.0, 02, 03, 08）ではこのようなフレキシブルな構造はたいていの場合は不可能である。なぜならばこのネットワークは通常、ルータによって明示的にアロケートしルーティングしなければならないからである。
【００７４】
DE 197 04 742.4に記載されている方法によれば、実行すべきアルゴリズムに従いＰＡＥマトリックス内でフレキシブルなデータチャネルを、データ伝送によってダイレクトな接続が生じ、その後、再び解消されるように構成されている。伝送されるデータをそのつど精確にソースおよび／またはターゲットに割り当てることができる。
【００７５】
DE 197 04 742.4およびそこに記載されているやり方ならびにそこに記載されている装置に加えて、および／またはそれに対する代案として、本発明によれば別の可能性が提供され、ランタイム時のフレキシブルなアロケーションならびに網結合を実現する方法（以下ではまとめてグローバルトラックGlobal-Trackと称する）を使用することができ、たとえばそれぞれ適切なプロトコル（Ethernet, Firewire, USBなど）をもつシリアルバス、パラレルバス、光ファイバなどである。この場合、チャネル分離のためにはたとえば適切な変調において光を導く基板を介して光が伝送されることを明確に指摘しておく。次に、メモリアドレッシング殊にページングとＭＭＵに関する本発明の別の特殊性について論じる。
【００７６】
１つまたは複数のグローバルトラックGlobal-Trackのデータチャネルを、交換ノードを介してたとえばP 44 16 881.0, 02, 03, 08などによる慣用のネットワークと接続することができる。交換ノードをインプリメンテーションに応じて様々なかたちでＰＡ内に配置することができ、それらをたとえば各ＰＡＥごとに割り当てることができるし、ＰＡＥのグループおよび／またはＰＡＥのレイヤおよび／またはｎ番目ごとのＰＡＥに割り当てることができる。格別有利な実施形態によれば、すべてのＰＡＥ、インタフェースユニット等がグローバルトラックに対する専用接続端子を有している。
【００７７】
コンフィギュレーションモジュールは、それらのコンフィギュレーションノードの１つまたは複数に対しアクセスが行われるように構成される。この場合、複数のコンフィギュレーションモジュールが相互に、および／またはコンフィギュレーションモジュールおよびＩＯは、グローバルトラックを介して互いに接続される。相応のインプリメンテーション（たとえばDE 197 04 742.4）において、複数の接続を同時に構築して利用することができる。送信側と受信側との間の接続をアドレッシングすることができ、その結果、固有のデータ伝送が可能となる。換言すれば、送信側と受信側はグローバルトラックを介して識別可能である。これにより伝送されたデータが一義的に割り当てられる。たとえばDE 101 10 530.4から既知であるように送信側と受信側のアドレスをいっしょに伝送するようにした拡張されたＩＯ、ならびにDE 196 54 595.1によるマルチプレクス方法によって、種々のモジュールのためのデータをＩＯを介して伝送することができ、それらを同様に一義的に割り当てることができる。
【００７８】
１つの有利な実施形態によれば、たとえばハンドシェーク信号によってデータ伝送が同期合わせされる。さらにデータ伝送をパイプライン化し、つまりグローバルトラックにインプリメントされたまたはそれに割り当てられた複数のレジスタを介して行うことができる。大きいＶＰＵもしくはそれらの網結合のための非常に複雑な形態において、グローバルトラックをスイッチとルータを伴うネットワークトポロジーにおいて構築することができ、ここではたとえばＶＰＵ間の接続のためのイーサネットを挙げておく。
【００７９】
メモリ（たとえばＲＡＭ−ＰＡＥ）にＭＭＵに類似したページング方式を備えることができる。たとえばこれによって外部の大きいメモリをセグメント（ページ）に分割することができ、それらのページはセグメント内のデータアクセス時に内部メモリの１つにロードされ、あとの時点になってデータアクセス終了後に再び外部のメモリに書き込まれる。１つの有利な実施形態によれば（内部の）メモリに導かれたアドレスが、内部メモリ（ＭＥＭＡＤＲ）内に位置するアドレス領域とセグメントアドレス（下位の１０よりも上のビット）に分解される。したがってページのサイズはＭＥＭＡＤＲによって決まる。
【００８０】
ページアドレスは内部メモリに割り当てられたレジスタ（ページレジスタ）と比較される。レジスタは、上位の外部の（メイン）メモリから内部のメモリに最後に転送されたページアドレスの値を格納する。ページアドレスがページレジスタと一致していれば、内部メモリに対しランダムなアクセスを行うことができる。アドレスが一致していなければ（ページフォールト）、現在のページ内容がページレジスタにより表される個所で外部（メイン）メモリに有利にはリニアつまり直線的に書き込まれる。現在の新しいページアドレスの個所で始まる外部の（メイン）メモリのメモリ領域（ページ）が内部メモリに書き込まれる。
【００８１】
１つの格別有利な実施形態によればコンフィギュレーションにより、ページフォールトのときに新たなページを外部の（メイン）メモリから内部のメモリに伝送すべきか否かを設定することができる。さらに格別有利な実施形態によればコンフィギュレーションにより、ページフォールトのときに古いページを内部メモリから外部の（メイン）メモリに伝送すべきか否かを設定することができる。
【００８２】
ページアドレスとページレジスタとの比較は有利には該当メモリ内において行われる。ページフォール時のデータ伝送制御は任意のＰＡＥにより相応に行うことができ、および／またはＤＭＡ（たとえばインタフェースユニットにおけるＤＭＡまたは外部のＤＭＡ）によって行うことができる。１つの有利な実施形態によれば、内部メモリはデータ伝送制御部の組み込まれたアクティブメモリとして構成されている（DE 199 26 538.0参照）。
【００８３】
別の可能な実施形態によれば内部メモリは複数の（ｐ個の）ページをもつことができ、この場合、１ページのサイズは有利にはメモリサイズをｐで割ったものとなる。有利にはフルアソシアティブマッピングのように構成された変換テーブル（変換索引バッファ Translation Lookaside Buffer = TLB）がページレジスタの代替となり、ページアドレスを内部メモリ内のアドレスに変換する。換言すれば、仮想アドレスを物理アドレスに変換できる。あるページが変換テーブル（ＴＬＢ）に含まれていなければページフォールトが発生する。変換テーブルが新しい付加的なページのためのスペースをもっていなければ、内部メモリから外部（メイン）メモリへ複数のページを伝送してそれらを変換テーブルから取り除くことができ、これによって再び内部メモリにフリースペースが得られる。
【００８４】
ここで明確に述べておくと、従来技術によるそれ自体周知の多くのＭＭＵ方式を使用可能であり僅かな明白な変形を施して用いることができるので、これ以上詳しい説明は不要である。
【００８５】
これまでの説明において、いわゆるコレクタメモリを設けることができることに触れた。次にこれについてさらに詳しく説明しておく。インタフェースユニットとＩＯ−ＦＩＦＯとの間に、いっそう多くのデータ量を格納可能なコレクタメモリ（Collector）を接続することができる。複数のインタフェースユニット間もしくはアレイに割り当てられた複数のメモリ（たとえばＲＡＭ−ＰＡＥ）間のデータ交換のためにコレクタを使用できる。コレクタをリコンフィギュアラブルコンポーネント内部のデータと外部のデータとの間のバッファとして使用できる。また、コレクタを様々なリコンフィギュレーションステップ間のデータのバッファとして用いることができ、たとえば他のコンフィギュレーションがコンフィギュレーション中でありアクティブである間、種々のコンフィギュレーションにおけるデータをコレクタに格納しておくことができる。コンフィギュレーションが非アクティブ状態になるとコレクタにそのデータが記憶され、新たにコンフィギュレーションされるアクティブなコンフィギュレーションのデータがＰＡたとえばアレイに割り当てられたメモリ（ＲＡＭ−ＰＡＥ）に伝送される。
【００８６】
複数のインタフェースユニットはコレクタにアクセスすることができ、それぞれ別個におよび／または共通にアクセス可能なメモリ領域におけるデータを管理することができる。有利な実施形態によればコレクタはインタフェースユニットのための複数の端子を有することができ、それらに対して同時にアクセスすることができる（すなわちコレクタはマルチポートコレクタ手段として構成される）。コレクタは外部メモリおよび／または外部周辺機器に対する１つまたは複数の端子を有している。これらはたとえばＩＯ−ＦＩＦＯと接続することができる。
【００８７】
１つの別の実施形態によれば、ＶＰＵに割り当てられたプロセッサたとえばＤＳＰ、ＣＰＵ、マイクロコントローラがコレクタをアクセスすることができる。これは有利には別のマルチポートインタフェースを介して行われる。
【００８８】
１つの有利な実施形態によれば、コレクタにアドレス変換テーブルが割り当てられている。各インタフェースは固有のアドレス変換テーブルを有することができるし、あるいはすべてのインタフェースが１つの共通のアドレス変換テーブルを有することができる。アドレス変換テーブルをＰＡおよび／またはＣＴおよび／または外部のユニットにより管理することができる。アドレス変換テーブルはコレクタのメモリ領域を任意のアドレスと割り当てるために用いられ、ＭＭＵシステムと同様に動作する。アドレス領域（ページ）がコレクタ内に存在していなければ（ページミス pagemiss）このアドレス領域を外部のメモリからコレクタにロードすることができる。さらにアドレス領域（ページ）をコレクタから外部のメモリに書き込むことができる。外部のメモリへのもしくは外部のメモリ間のデータ伝送のために有利にはＤＭＡが用いられる。ＤＭＡに対しコレクタ内部のメモリ領域が読み出し伝送または書き込み伝送のために指示され、外部メモリ内の対応アドレスを別個に指示することができるし、あるいは有利にはＤＭＡによりアドレス変換テーブルから取り出すことができる。
【００８９】
コレクタおよびそのアドレス発生器（たとえばＤＭＡ）を有利にはそれに応じて、あるいはそれ自体公知の従来技術によるプロセッサのためのＭＭＵシステムのようにして動作させることができる。アドレスをコレクタアクセス用の変換テーブル（ＴＬＢ）によって変換することができる。本発明によれば、内部メモリに関して説明したＭＭＵの構成ならびに方法をコレクタに適用することができる。その動作は従来技術に対応しているかあるいはそれと非常に類似しているため、それについてはここでは詳しくは説明しない。
【００９０】
１つの変形実施形態もしくは有利な実施形態によれば、複数のコレクタをインプリメントすることができる。さらに本発明によれば、メモリアクセスを最適化することができる。次にこれについて触れておく。
【００９１】
有利なリコンフィギュアラブルＶＰＵアーキテクチャＰＡＣＴ−ＸＰＰ（P 44 16 881.0, DE 196 51 075.9, DE 196 54 846.2, DE 196 54 593.5, DE 198 07 872.2, DE 199 26 538.0, DE 100 28 397.7, DE 102 06 857.7）の基本的な特性は、リコンフィギュレーションとデータ処理を重ね合わせることができる点にある。換言すれば、
ａ）たとえばデータ処理中にすでに次のコンフィギュレーションをプレロードすることができ、および／または、
ｂ）たとえば特定のコンフィギュレーションの所定数のコンフィギュレーション可能なエレメントがまだコンフィギュレーションされていない間もしくはまさにコンフィギュレーションされている間に、コンフィギュレーション済みのエレメントをすでに開始させることができ、および／または、
ｃ）たとえば種々のアクティビティのコンフィギュレーションを、それらが最適なパフォーマンスで互いに時間的にずらされて進行するよう分離または重ね合わせることができる（８．１のアドレス発生を参照）。
【００９２】
最近のメモリプロトコル（たとえばＳＤＲＡＭ，ＤＤＲＡＭ，ＲＡＭＢＵＳ）は少なくとも以下のシーケンスまたは作用の類似したシーケンスを有しており、この場合、ステップ２と３は逆に現れる場合もある：
１．アドレス情報によるアクセスの開始
２．長いレイテンシ
３．たいていはバーストとして行われるデータブロックの高速伝送
ＶＰＵテクノロジーのパフォーマンス効率においてこの特性を利用することができる。たとえばアドレス計算、メモリアクセスの開始、データ伝送およびアレイ（ＰＡ）におけるデータ処理のステップを、それぞれ異なる（時間的な）コンフィギュレーションが生じるようそれぞれ分離することができ、これによってメモリサイクルとデータ処理サイクルの十分に最適化された重ね合わせを達成できる。これらのステップの複数を用途に応じてまとめることもできる。
【００９３】
以下の方法はたとえばこの原理に対応する。この場合、多数のコンフィギュレーション（ａｐ＝１，２，．．．，ｚ）から成るアプリケーションＡＰを実行させるものとする。ＶＰＵにおいてさらに、ＷＡとしてまとめられたアプリケーション／コンフィギュレーションが実行される。
１．まず最初に（ａｐ番目のＡＰのコンフィギュレーションにおいて）読み出しアドレスが計算され、データ伝送とＩＯ−ＦＩＦＯが開始される。
２．ＡＰのために伝送されその間にＩＯ−ＦＩＦＯ内に存在するデータが（ａｐ＋１番目のコンフィギュレーションにおいて）処理され、必要に応じてＦＩＦＯ／バッファ／テンポラリメモリ等に格納される。
２ａ．結果を計算するために複数のコンフィギュレーションサイクルを必要とする可能性があり、そのサイクル終了時に結果がＩＯ−ＦＩＦＯに格納される。
３．結果のアドレスが計算され、データ伝送が開始される。これはパラレルに行うこともできるし、あるいはａｐ＋ｎ＋２番目のコンフィギュレーションにおいて行うことができ、同時にまたは時間がずらされてデータがＩＯ−ＦＩＦＯからメモリに書き込まれる。各ステップ間でＷＡから任意のコンフィギュレーションを実行することができ、これはたとえばデータがまだ得られないことから各ステップ間でレイテンシが必要とされる場合である。同様にステップ実行中、ＡＰの処理に対しパラレルにＷＡからのコンフィギュレーションを実行することができ、これはたとえばＡＰがＷＡに必要とされるリソースを使わないときである。この方法について様々に変形された実施形態が可能であることは、当業者にとって自明である。
【００９４】
１つの実施形態によれば、処理方法を以下のようにして実行させることができる（Ｚはコンフィギュレーションサイクルつまり１つの単位時間を表す）：
【００９５】
【表１】
2004535613.tif 000002
【００９６】
このシーケンスをたとえばDE 102 02 044.2によるデータ処理方法によって効率的に使用することができる。これまで述べてきた方法および装置を、慣用のコンパイラに対して特別に拡張された特別なコンパイラを用いることによって作動させることができる。これについて以下のことを挙げておく。
【００９７】
コンフィギュレーション生成のために、任意のコンピュータシステムで実行されるコンパイラが使用される。典型的なコンパイラはたとえばＣコンパイラであり、および／またはＶＰＵテクノロジのためにはたとえばＮＭＬコンパイラも該当する。殊に好適なコンパイラ方式はたとえばDE 101 39 170.6, DE 101 29 237.6, EP 02 001 331.4に記載されている。コンパイラは有利には以下の特殊性を少なくとも部分的に留意すべきである：
１．外部のアドレッシングつまり外部のコンポーネントとのデータ伝送
２．内部のアドレッシングつまりＰＡＥ間殊にＲＡＭ−ＰＡＥとＡＬＵ−ＰＡＥとの間のデータ伝送におけるアドレスの分離、
３．さらに時間的な分離について殊に留意すべきである。
【００９８】
バス伝送は内部の伝送と外部の伝送に分解される。
ｂｔ１）外部の読み出しアクセスが分離され、実現可能な実施形態においては別個のコンフィギュレーションへの変換も行われる。これらのデータは外部のメモリから内部のメモリに転送される。
ｂｔ２）内部のアクセスはデータ処理と結合され、つまり内部のメモリはデータ処理のために読み出され、もしくは書き込まれる。
ｂｔ３）外部の書き込みアクセスが分離され、実現可能な実施形態では別個のコンフィギュレーションへの変換も行われる。データは内部のメモリから外部のメモリへ転送される。ここで重要であるのは、ｂｔ１，ｂｔ２，ｂｔ３を種々のコンフィギュレーションに変換できることであり、それらを必要に応じてそれぞれ異なる時点に実行できることである。
【００９９】
この方法について以下の例に基づき説明する。
【０１００】
【数１】
2004535613.tif 000003
【０１０１】
この関数はコンパイラによって３つの部分つまり３つのコンフィギュレーション（サブコンフィグ subconfig）に変換される：
example#dload：これにより外部（記憶装置、周辺機器等）からのデータがロードされ、それらのデータがメモリに書き込まれる。内部メモリはr#と元の変数の名前で表される。
example#process：これは本来のデータ処理に対応する。これにより内部のオペランドからデータが読み出され、結果が再び内部メモリに書き込まれる。
example#dstore：これにより結果が内部メモリから外部（記憶装置、周辺機器等）に書き込まれる。
【０１０２】
【数２】
2004535613.tif 000004
【０１０３】
このプロセスの基本的な作用は、i*j = 100 * 100 = 10,000 回の外部のアクセスではなくi+j = 100 + 100 = 200 回の外部のアクセスだけがオペランド読み出しのために実行されることである。しかもこのアクセスは完全にリニアであり、このことにより最新のバスシステム（Burst）および／またはメモリ（SDRAM, DDRAM, RAMBUS等）における転送速度が著しく加速される。直線的ないしはリニアなメモリアクセスは、オペランドに対しそれぞれ異なるメモリが割り当てられたのでパラレルに行われる。結果の書き込みのためにi = 100 回の外部アクセスが必要であり、これもやはりリニアに最大のパフォーマンスで行うことができる。
【０１０４】
データ転送回数（たとえばWHILEループの回数）は事前にはわからないので、あるいはそれは非常に多いので、必要に応じてサブプログラムをコールしてオペランドを再ロードしたり結果を外部に書き込むプロセスを用いることができる。この目的で１つの有利な実施形態において（やはり）ＦＩＦＯの状態を問い合わせることができる：ＦＩＦＯが空であれば'empty'であり、ＦＩＦＯが満杯であれば'full'である。この状態に応じてプログラムの流れが反応する。なお、特定の変数（たとえばai, bi, xi）はグローバルに定義される。パフォーマンス最適化のため、既述の方法に従いスケジューラがコンフィギュレーションexample#dloada, example#dloadbをexample#processの呼び出し前にすでに実行することができ、それによってすでにデータがまえもってロードされることになる。同様に、example#dstoreをexample#processをターミネートさせた後にも呼び出すことができ、その目的はr#xを空にするためである。
【０１０５】
【数３】
2004535613.tif 000005
【０１０６】
サブプログラムのコールおよびグローバル変数の管理は、リコンフィギュアラブルアーキテクチャのためには比較的煩雑である。したがって１つの有利な実施形態の場合には後続の最適化を実施することができ、それによればすべてのコンフィギュレーションが広範囲にわたり独立して実行され、完全に処理された後に終了（ターミネート）させられる。データb[j]は何回も必要とされるので、example#dloadbをそれに応じて何度も実行させなければならない。この目的でたとえば２つの択一的な実施形態を示す：
実施形態１：example#dloadbは実行されるたびにターミネートされ、再スタートされるたびにexample#processにより新たにコンフィギュレーションされる。
実施形態２：example#dloadbはエンドレスに実行され、example#processによりターミネートされる。
【０１０７】
'idle'中、コンフィギュレーションは非作動状態（待ち状態）にある。
【０１０８】
【数４】
2004535613.tif 000006
【０１０９】
待ちサイクルを回避するため、コンフィギュレーションが自身のタスクを一時的にそれ以上果たせなくなるとただちにそのコンフィギュレーションをターミネートさせることもできる。対応するコンフィギュレーションはリコンフィギュアラブルコンポーネントから取り除かれるが、スケジューラの中にはとどまり続ける。このために以下では命令'reenter'が用いられる。関連する変数はターミネーションの前にセーブされ、コンフィギュレーションが反復されるときに再形成される。
【０１１０】
【数５】
2004535613.tif 000007
【０１１１】
これまで説明してきたことおよびこれ以降のことに対しオプションを挙げておくと、本発明によればいわゆる「コンテキストスイッチ」を設けることができる。これについて以下のことを挙げておく：
コンフィギュレーションを繰り返してスタートさせるためには、たとえば"reenter"のためには、ローカルデータ（たとえばai, bi, xi）のセーブと再形成が必要である。従来技術による公知の方法によれば、データを伝送する目的でメモリまたはＣＴに対する明示的なインタフェースが設けられている。このような方法はすべて相反するものでありおよび／または付加的なハードウェアを必要とする。
【０１１２】
本発明によるコンテキストスイッチは、第１のコンフィギュレーションが取り除かれ、セーブすべきデータが対応するメモリ（ＲＥＧ）（メモリ、レジスタ、カウンタ等）に残されたままである。第２のコンフィギュレーションがロードされ、これによりＲＥＧが適切なやり方で規定の順序に従い１つまたは複数のグローバルなメモリと接続される。グローバルメモリをアクセスするために、このコンフィギュレーションはたとえばアドレスジェネレータを使用できる。また、メモリとして構成されたＲＥＧをアクセスするために、このコンフィギュレーションはたとえばアドレスジェネレータを使用できる。各ＲＥＧ間のコンフィギュレーションされた接続に従い、ＲＥＧの内容が規定の順序でグローバルメモリに書き込まれ、その際、個々のアドレスはアドレスジェネレータによって設定される。アドレスジェネレータはグローバルメモリに対するアドレスを、除去された最初のコンフィギュレーションに対し書き込みメモリ領域（PUSHAREA）を一義的に対応づけることができるよう発生する。換言すれば、種々のコンフィギュレーションにそれぞれ異なるアドレス空間が設けられている。コンフィギュレーションは慣用のプロセッサのＰＵＳＨに対応する。その後、別のコンフィギュレーションがリソースを使用する。
【０１１３】
第１のコンフィギュレーションが再び開始されることになる。その前に第３のコンフィギュレーションが開始され、これにより第１のコンフィギュレーションのＲＥＧが規定の順序で互いに接続される。グローバルメモリをアクセスするために、コンフィギュレーションはたとえばアドレスジェネレータを使用することができる。また、メモリとして構成されたＲＥＧをアクセスするために、コンフィギュレーションはたとえばアドレスジェネレータを使用することができる。アドレスジェネレータは、第１のコンフィギュレーションに割り当てられたＰＵＳＨＡＲＥＡに対する適正なアクセスが行われるようアドレスを発生する。発生されたアドレスとコンフィギュレーションされたＲＥＧの順序は、ＲＥＧのデータが本来の順序でメモリからＲＥＧに書き込まれるようにされている。このコンフィギュレーションは慣用のプロセッサのＰＯＰに対応する。第１のコンフィギュレーションが再び開始される。
【０１１４】
以上、要約するとコンテキストスイッチは、周知のプロセッサアーキテクチャのＰＵＳＨ／ＰＯＰと類似して動作する特別なコンフィギュレーションのロードにより、セーブすべきデータがグローバルメモリと交換されるようにして実施される。
【０１１５】
さらに別のオプションとして、特別なタスクスイッチもしくはマルチコンフィギュレーション処理を設けることができる。
【０１１６】
１つの有利な動作形態によれば、種々のコンフィギュレーションのそれぞれ異なるデータブロックがパーティションに分けられる。これらのパーティションに対し時間的に最適化してアクセスすることができ、その際にたとえばコンフィギュレーションＱの実行中、後続のコンフィギュレーションＰのオペランドの一部分が外部の（メイン）メモリおよび／またはその他の（周囲の）データ流から内部のメモリに事前にロードされ、コンフィギュレーションＰの実行中、結果全体の一部分としてＱの結果が内部メモリから外部の（メイン）メモリへ、および／またはその他の（周辺）データ流へ書き込まれる。このような動作はUS 6,341,318 に記載されたものとは著しく異なる。データ流またはデータブロックは有利にはＦＩＦＯ構造により分離される（たとえばＩＯ−ＦＩＦＯ）。殊にそれぞれ異なるコンフィギュレーションにおける種々のデータ流またはデータブロックは、有利にはそれぞれ異なるメモリおよび／またはＦＩＦＯ領域および／またはＦＩＦＯ内の割り当てマークによって分離される。
【０１１７】
前述のオプションのＭＭＵ方法を外部データの分離とバッファリングのために使用することができる。１つの使用方法によれば大きい外部のデータブロックを複数のセグメントに分離し、それらのセグメントをそれぞれ１つのＶＰＵ内で処理することができる。付加的な有利なやり方によれば、それぞれ異なるコンフィギュレーションの種々のデータブロックが先に説明した方法に従い複数のパーティションに分割され、それらがＭＭＵに対するページとして定義される。それらに対し時間的に最適化してアクセスすることができ、その際、たとえばＰＡにおけるコンフィギュレーションＱの実行中、後続のコンフィギュレーションＰのオペランドがページとして外部の（メイン）メモリから、および／またはその他の（周囲の）データ流から内部のメモリに事前にロードされ、Ｐの実行中、Ｑの結果がページとして内部のメモリから外部の（メイン）メモリへ、および／またはその他の（周囲の）データ流へ書き込まれる。
【０１１８】
前述の方法について有利には、複数のパーティションまたはページを管理可能な内部メモリが使用される。さらにこの方法をＰＡＥ−ＲＡＭおよび／またはコントロールメモリのために使用することができる。有利には複数のバスインタフェース（マルチポート）を備えたメモリが用いられ、これによってＭＭＵおよび／またはＰＡをおよび／または別のアドレスジェネレータ／データ伝送装置を同時にアクセスすることができる。
【０１１９】
１つの実施形態によればデータ伝送時に識別子がいっしょに伝送され、これによりデータとリソースおよび／またはアプリケーションとの対応づけが可能となる。たとえばDE 101 10 530.4に記載された方法を用いることができる。種々の識別子を同時に使用してもよい。１つの格別有利な実施形態によれば、アプリケーション識別子（ＡＰＩＤ）がデータ伝送のたびにアドレスおよび／またはデータといっしょに伝送される。１つのアプリケーションは複数のコンフィギュレーションから成る。伝送されたデータはＡＰＩＤに基づき、アプリケーションまたはアプリケーション用に定められたメモリまたは他のリソース（たとえばＰＡ、バス等）に割り当てられる。この目的でＡＰＩＤを様々なやり方で用いることができる。たとえばインタフェースユニットをＡＰＩＤによって相応に選択することができる。たとえばメモリをＡＰＩＤにより相応に選択することができる。たとえばＰＡＥをＡＰＩＤによって相応に選択することができる。
【０１２０】
さらにたとえば、内部メモリ（たとえばＰＡＥ−ＲＡＭ、コレクタ）内のメモリセグメントをＡＰＩＤにより割り当てることができる。この目的でＡＰＩＤをアドレス部分と同様に、内部メモリに割り当てられたＴＬＢにエントリすることができ、このようにすることで特定のメモリ領域（ページ）がＡＰＩＤに依存して割り当てられ、選択されるようになる。この方法により、種々のアプリケーションのデータをＶＰＵ内で効率的に管理しそれらをアクセスすることができる。オプションとして、特定のＡＰＩＤのデータを明示的に消去すること（ＡＰＩＤ−ＤＥＬ）、および／または外部の（メイン）メモリおよび／またはその他の（周辺の）データ流に書き込むこと（ＡＰＩＤ−ＦＬＵＳＨ）が可能である。このことはアプリケーションがターミネートされたときにそのつど行うことができる。ＡＰＩＤ−ＤＥＬおよび／またはＡＰＩＤ−ＦＬＵＳＨをコンフィギュレーションによって、および／または上位のロードユニット（ＣＴ）によって、および／または外部から、トリガすることができる。
【０１２１】
この方法を以下の処理例によって明確にする：
アプリケーションＱ（たとえばＡＰＩＤ＝Ｑ）は、オペランド読み出し用コンフィギュレーション（たとえばＣｏｎｆｉｇＩＤ＝ｊ）と、オペランド処理用コンフィギュレーション（たとえばＣｏｎｆｉｇＩＤ＝ｗ）と、結果書き込み用コンフィギュレーション（たとえばＣｏｎｆｉｇＩＤ＝ｓ）とから成る。まず最初に、時間的に最適に分離してオペランドを読み出す目的でコンフィギュレーションｊが実行される。これと同時に別のアプリケーションのコンフィギュレーションを実行することができる。オペランドは識別子ＡＰＩＤに従い外部の（メイン）メモリおよび／またはその他の（周辺の）データ流から、特定の内部メモリおよび／またはメモリ領域に書き込まれる。格納されたオペランドを処理するためにコンフィギュレーションが実行される。この目的でＡＰＩＤの情報に従い内部メモリおよび／またはメモリ領域における相応のオペランドがアクセスされ、結果がそれ相応にＡＰＩＤの情報に従い内部のメモリおよび／またはメモリ領域に書き込まれる。これと同時に他のアプリケーションのコンフィギュレーションを実行することができる。ついでコンフィギュレーションｓにより、記憶されていた結果が内部のメモリおよび／またはメモリ領域から外部の（メイン）メモリおよび／またはその他の（周辺の）データ流へ書き込まれる。これと同時に他のアプリケーションのコンフィギュレーションを実行することができる。これらの点については、この方法の基本的な流れは以前に説明したメモリアクセス最適化のための方法に相応している。
【０１２２】
特定のＡＰＩＤに対するデータがメモリ内に存在していないかまたはそれらのデータのためのメモリスペースがもはや空いていない場合、データ伝送のためにページフォールトをトリガすることができる。
【０１２３】
前述の説明ではさしあたり、リコンフィギュアラブルエレメントのフィールドに場合によってはメモリ、ＦＩＦＯ等のような小さい付加的な回路が設けられているコンポーネントを前提としていたのに対し、本発明による着想をシステム・オン・チップ"system on a chip"（ＳｏＣ）と称するシステムのために用いることもできます。ＳｏＣに対しては、たとえばＶＰＵが別のコンポーネント（たとえば周辺機器、他のプロセッサおよびメモリ）と単一のチップ上で結合されているときなどは、「内部」および「外部」という概念をその慣用の技術用語において完全には適用できない。この場合には以下の用語定義を適用することができるが、これは権利範囲を限定しようというものではなく、本発明の着想を慣用的に他の技術用語を使っている構造に合わせて問題なく読ませるやり方を示すにすぎない。
内部：ＶＰＵアーキテクチャの内部、もしくはＶＰＵアーキテクチャとＩＰに属する領域の内部。
外部：ＶＰＵアーキテクチャの外部、すなわち１つのＳｏＣ上における他のすべてのコンポーネントたとえば周辺機器、他のプロセッサおよび殊にメモリおよび／またはＶＰＵアーキテクチャが設けられているチップの外部。
【０１２４】
以下、１つの有利な実施形態について説明する。１つの格別有利な実施形態によれば、データ処理を行う複数のＰＡＥがローカルにＰＡ（たとえばＡＬＵ，ロジック等）に配置され結合される。複数のＲＡＭ−ＰＡＥをローカルにＰＡ内でまとめることができるが、１つの格別有利な実施形態によればそれらはＰＡから取り除かれるかまたはその周囲におかれる（DE 100 50 442.6参照）。これを行う目的は、ＲＡＭ−ＰＡＥメモリが大きくＡＬＵ−ＰＡＥよりもかなり広い所要面積をもっているときにＰＡの均質性を損なわないためであり、通例はメモリセルのゲート／トランジスタレイアウト（たとえばＧＤＳ２）が非常に異なることに基づく。ＲＡＭ−ＰＡＥが外部のバスシステム（たとえばグローバルバス）に対する専用端子を有しているならば、レイアウトやフロアプランならびに製造上の理由から有利にはＰＡの周縁部に配置されている。典型的には、物理的な接続のためＰＡのコンフィギュアラブルバスシステムが用いられる。
【０１２５】
別の実施形態によればＰＡＥとインタフェースユニットならびにその他のコンフィギュラブルコンポーネントは、専用グローバルバスたとえばGlobalTrackに対する専用端子を有している。
【０１２６】
インタフェースユニットおよびたとえばプロトコルコンバータは有利にはＰＡから取り除かれ、ＰＡの配置の外側におかれる。これが行われる目的はＰＡの均質性を損なわないことであり、通例はインタフェースユニット／プロトコルコンバータのゲート／トランジスタレイアウト（たとえばＧＤＳ２）が非常に異なるからである。さらにレイアウトやフロアプランならびに製造上の理由から、外部のユニットに対する端子がＰＡの周縁部に配置されている。ＰＡに対するインタフェースユニットの接続は有利にはコンフィギュレーション可能なバスシステムを介して行われ、その外縁部にインタフェースユニットが接続される。バスシステムによって、インタフェースユニットとＰＡ内の任意のＰＡＥとの間でコンフィギュレーション可能にデータ交換を行うことができる。換言すれば１つのコンフィギュレーション内で、または種々のコンフィギュレーション内で、インタフェースユニットをたとえばＲＡＭ−ＰＡＥと接続することができ、他のインタフェースユニットをたとえばＡＬＵ−ＰＡＥと接続することができる。
【０１２７】
ＩＯ−ＦＩＦＯをプロトコルコンバータと一体化させると有利である。内部のデータ流と外部のデータ流との対応づけにあたりフレキシビリティを高めることができるようにする目的で、インタフェースユニットとプロトコルコンバータは別個に構成され、コンフィギュレーション可能なバスシステムを介して接続されている。
【０１２８】
次に、図面を参照しながら本発明についてもう一度詳しく説明する。なお、以下の説明は一例にすぎず、本発明をそれらに限定しようというものではない。
【０１２９】
図１にはリコンフィギュアラブルプロセッサの殊に有利な構造が示されており、このプロセッサはコア（アレイＰＡ ０１０３）から成り、これはたとえばＡＬＵ−ＰＡＥ（０１０１、計算実行用）およびＲＡＭ−ＰＡＥ（０１０２、記憶用）によって構成されており、したがってDE 196 54 846.2の基本原理に対応する。有利にはＲＡＭ−ＰＡＥにはローカルにコアに集積されているのではなく、ＡＬＵ−ＰＡＥから離れて周縁部にまたはコアの外部に設けられている。この目的は所要面積がＡＬＵ−ＰＡＥよりもずっと広い大きなＲＡＭ−ＰＡＥメモリにおいて均質性が阻害されないようにするためであり、これはメモリセルのゲート／トランジスタレイアウト（たとえばＧＤＳ２）が一般に著しく異なることによる。ＲＡＭ−ＰＡＥが外部バスシステム（たとえば専用グローバルバス；Global-Track等）に対する専用端子を有しているならば、レイアウトやフロアプランならびに製造上の理由からＰＡの周縁部に配置するのが有利である。
【０１３０】
個々のユニットはバスシステム（０１０４）を介して互いに接続されている。コア周縁部にはインタフェースユニット（インタフェースユニットおよび必要に応じてプロトコルコンバータ）（０１０５）がDE 196 54 595.1のように外部のバス（ＩＯ）に対して設けられている。インタフェースユニットは実装に依存して様々なかたちで構成することができ、たとえば以下の機能のうちの１つまたは複数を履行することができる：
１．たとえばアドレスとデータの同期をとるための複数のバスシステムの統合ならびに同期合わせ
２．アドレス発生器および／またはＤＭＡ
３．データおよび／またはアドレスを分離するためのＦＩＦＯ段
４．インタフェースコントローラ（たとえばAMBA-Bus, RAMBUS, RapidIO, USB, DDRRAM等）。
【０１３１】
図２には本発明によるアーキテクチャの様々な形態が示されている。０２０１はＡＬＵ−ＰＡＥ（ＰＡ）であり、これは複数のＲＡＭ−ＰＡＥ（０２０２）と結合されている。ＦＩＦＯ（０２０３）を介して外部のバス（ＩＯ）（０２０４）が接続されている。
【０１３２】
図２ａにはＦＩＦＯとＰＡのダイレクトな結合が示されている。
【０１３３】
図２ｂの場合、ＩＯ（０２０４）がＲＡＭ−ＰＡＥ（０２０２）を介して０２０１と接続されている。この接続は典型的にはコンフィギュアラブルバスシステム０１０４または専用バスシステムを介して行われる。マルチプレクサ／デマルチプレクサ（０２０５）は多数のバス０１０４をＩＯ（０２０４）に切り替える。マルチプレクサはコンフィギュレーションロジックおよび／またはアドレスセレクタロジックおよび／またはアービタ（０２０６）により制御される。マルチプレクサの制御はたとえばＰＡによっても行える。
【０１３４】
図２ｃは図２ｂに対応するものであるが、ＩＯの前にさらにＦＩＦＯ（０２０３）が接続されている。
【０１３５】
図３は図２に対応しており、したがって同じ参照符号が用いられている。図３には、ＶＰＵにおける有利なデータ処理方法が示されている。図３ａ：データはＩＯ（０２０４）を介して入力側ＦＩＦＯ（０３０３は０２０３に対応）に到達し、そこからＰＡ（）０２０１）および／または事前にメモリ０２０２にロードされる。
【０１３６】
図３ｂ〜図３ｅにはデータ送出の様子が示されており、その際に各メモリ間でデータが伝送される。この期間中、ＦＩＦＯは引き続き入力データおよび／または出力データ（０３０２）を伝送することができる。
【０１３７】
図３ｆにおいてデータはＰＡからおよび／またはメモリから出力ＦＩＦＯ（０３０４）にロードされる。
【０１３８】
ここでもう一度触れておくと、入力ＦＩＦＯからＲＡＭ−ＰＡＥまたは０２０１へのデータの読み出しおよび０２０１またはＲＡＭ−ＰＡＥからのデータの書き込みを同時に行うことができる。また、入出力ＦＩＦＯはステップａ〜ｆの間、連続的に外部のデータを送信または受信することができる。
【０１３９】
図４には同じ方法が簡単に変形されたかたちで示されている。ここでは簡単にデータ分配を行うため、ＦＩＦＯと０２０１との間にマルチプレクサ／デマルチプレクサ（０４０１）が接続されている。マルチプレクサはコンフィギュレーションロジックおよび／またはアドレスセレクタロジックおよび／またはアービタ（０４０２）により制御される。データ処理のために複数のコンフィギュレーションが行われる（ａ〜ｅ）。この場合、データをＦＩＦＯ（入力ＦＩＦＯ）からメモリへ、および／またはダイレクトに（０４０３）ＰＡへ読み込むことができる。読み込みプロセス中、データをＰＡおよび／またはメモリからＦＩＦＯ（出力ＦＩＦＯ）に書き込むことができる。データ出力のためデータをメモリから、および／またはダイレクトに（０４０５）ＰＡからＦＩＦＯに書き込むことができる。その間、新たなデータを入力ＦＩＦＯからメモリおよび／またはＰＡに書き込むことができる（０４０６）。新たなデータの書き込み（０４０７）をたとえばすでに最後のコンフィギュレーション中に行うことができる。これらの処理全体を通して、外部から入力ＦＩＦＯへデータを伝送することができるし（０４０８）、もしくは出力ＦＩＦＯから外部へデータを伝送することができる（０４０９）。
【０１４０】
図５には、実現可能なＰＡＥの実施形態が示されている。第１のバスシステム（１０４ａ）はデータ処理ユニット（０５０１）と接続されており、その処理結果が第２のバスシステム（０１０４ｂ）へ伝送される。２つのレジスタ／マルチプレクサ段（ＦＲＥＧ ０５０２，ＢＲＥＧ ０５０３）を介してそれぞれ異なる伝送方向で垂直方向のデータ転送が行われる。有利であるのは、簡単なＡＬＵたとえば加算、乗算、乗算の演算用ＡＬＵをＦＲＥＧ／ＢＲＥＧに集積可能なことである。付加的なインタフェース（０５０４）を介して、このユニットはそれらの機能や網結合ないしはネットワーク化に関してコンフィギュレーションユニット（ＣＴ）によりコンフィギュレーションされ、有利な実施形態によればデータ処理のためレジスタおよび／またはメモリに定数をセットすることができる。
【０１４１】
別の実施形態によれば、コンフィギュレーションユニット（ＣＴ）はデータをワークレジスタおよび／またはメモリから読み出すことができる。別の実施形態によれば、ＰＡＥは付加的に専用グローバルバス（０５０５）への端子（たとえばGlobalTrack）を有することができ、これによりたとえばグローバルな場合によっては外部のメモリおよび／または周辺機器と通信することができる。さらにグローバルバスを、種々のＰＡＥがこれらを介して互いに通信可能に、さらに有利な実施形態では外部接続用のコンポーネント（たとえばインタフェースユニット）と通信可能に構成することができる。たとえばDE 197 04 742.14に記載されているようなバスシステムをこの種の目的で使用することができる。
【０１４２】
データ処理ユニット（０５０１）をたとえばＡＬＵ−ＰＡＥのために算術ロジックユニット（ＡＬＵ）として構成することができる。種々のＡＬＵ−ＰＡＥが種々のＡＬＵおよびバス接続システムを使用することができる。たとえばＡＬＵは０１０４ａおよび／または０１０４ｂに対し２つ以上のＡＬＵを有することができる。
【０１４３】
データ処理ユニット（０５０１）をたとえばＲＡＭ−ＰＡＥのためにメモリとして構成することができる。様々なＲＡＭ−ＰＡＥが様々なメモリおよびバス接続システムを使用できる。たとえばメモリは０１０４ａおよび／または０１０４ｂに対し複数のたとえば２つ以上のバスコネクションを有することができ、これによってたとえば複数の送受信側が１つのメモリにアクセスできるようになる。このようなアクセスを同時に行うこともできるようにすると有利である（マルチポート）。
【０１４４】
メモリの機能にはたとえば以下の機能またはそれらの組み合わせが含まれている：ランダムアクセス、ＦＩＦＯ、スタック、キャッシュ、ＭＭＵ方式によるページメモリ。さらに１つの有利な実施形態によれば、メモリにＣＴから事前にデータをロードすることができる（たとえば定数、ルックアップテーブルなど）。さらに別の実施形態によればＣＴはデータをメモリから０５０４を介して再読み出しすることもできる（たとえばデバッグ目的あるいはタスク交換のため）。
【０１４５】
別の実施形態によればＲＡＭ−ＰＡＥがグローバルバスに対する専用端子をもつことができる。グローバルバスは複数のＰＡＥを相互に接続し、さらに有利な実施形態ではそれらのＰＡＥを外部接続用のコンポーネント（たとえばインタフェースユニット）とも接続する。このようなバスシステムのために、DE 197 04 742.4に記載されているシステムを利用することができる。ＲＡＭ−ＰＡＥをまとめて、複数（ｎ個）のＲＡＭ−ＰＡＥからｎ倍大きい１つのメモリが形成されるようにすることができる。
【０１４６】
図６には、たとえばＡＬＵ−ＰＡＥ（０６０１）とＲＡＭ−ＰＡＥ（０６０２）をバスシステム０１０４を介して結線する様子が例示されている。リコンフィギュアラブルプロセッサのための有利な結線は図１に示されている。
【０１４７】
図７には０１０５に対応するＩＯ回路の簡単な変形実施形態が示されている。この場合、アドレス（ＡＤＲ）とデータ（ＤＴＡ）がいっしょに同期ライン（ＲＤＹ／ＡＣＫ）を介して、内部バスシステム（０１０４）と外部バスシステム（０７０３）との間で伝送される。外部バスシステムはたとえばＩＯ−ＦＩＦＯおよび／またはプロトコルコンバータへ導かれる。
【０１４８】
図７ａにはデータ書き込み用の回路が示されており、０１０４から到来するアドレスとデータが互いに結合される（０７０１）。インタフェース回路（０７０１）内において、０１０４と０７０３との間に分離のためのＦＩＦＯ段を設けることができる。
【０１４９】
図７ｂにはデータ読み出し用の回路が示されており、この回路には送出アドレスと到来データとの一致についての確認応答回路（０７０２、たとえばＦＩＦＯ、カウンタ）が設けられている。０７０１ａおよび／または０７０１ｂ内において、０１０４と０７３との間に分離のためのＦＩＦＯ段を設けることができる。０７０１ｂ内にＦＩＦＯ段が設けられているならば、これを確認応答回路０７０２のためにもいっしょに利用できる。
【０１５０】
図８には、外部の（メイン）メモリおよび／または他の（周辺機器の）データ流に対する専用グローバルバス（０８０１）およびプロトコルコンバータ（０８０２）を備えた複数のインタフェースユニットおよび／またはＰＡＥの間で実現可能な接続構造が示されている。各インタフェースユニットは、有利には０１０４に対応する結合網ないしはネットワークを介してＰＡと接続されている（０８０３）。
【０１５１】
専用グローバルバス（０８０１）およびプロトコルコンバータ（０８０２）を備えた複数のインタフェースユニットおよび／またはＰＡＥの間に、バスシステム（０８０４ａ，０８０４ｂ）が設けられている。１つの有利な実施形態によれば０８０４は複数のレジスタ段を介してパイプライン方式でデータを伝送することができる。０８０４ａと０８０４ｂは、たとえばトランスミッションゲートおよび／またはトライステートバッファおよび／またはマルチプレクサとして構成されたスイッチ（たとえば０８０５）を介して互いに結線される。マルチプレクサは行や列ごとに制御される。制御ユニット（０８０６）は、専用グローバルバス（０８０１）を備えたインタフェースユニットおよび／またはＰＡＥからプロトコルコンバータ（０８０２）へのデータ伝送つまりは伝送方向０８０４ａおよび０８０４ｂを制御する。制御ユニット（０８０７）は、プロトコルコンバータ（０８０２）から専用グローバルバス（０８０１）を備えたインタフェースユニットおよび／またはＰＡＥへのデータ伝送つまりは伝送方向０８０４ｂおよび０８０４ａを制御する。制御ユニット（０８０６）はプロトコルコンバータ（０８０２）を選択するためそれぞれアドレス領域をデコーディングし、制御ユニット（０８０７）は専用グローバルバス（０８０１）を備えたインタフェースユニットおよび／またはＰＡＥを選択するためにそれぞれＩＯＩＤをデコーディングする。
【０１５２】
制御ユニットは様々な制御モードに従い動作可能であり、たとえばデコーディングを伴わない固定接続、アドレスおよび／またはＩＯＩＤのデコーディング、アドレスおよび／またはＩＯＩＤのデコーディングとアービテーション。１つまたは複数のデータワード／アドレスワードをアービテーションごとに伝送することができる。アービテーションは様々なルールに従って行うことができる。インタフェースユニットが出力方向および／または入力方向でアドレス用および／またはデータ用の小さいＦＩＦＯをもつことができると有利である。１つの特別なアービテーションルールに従い、たとえば満杯（ＦＵＬＬ）のまたは空（ＥＭＰＴＹ）のあるいは空にすべき（ＦＬＵＳＨ）ＦＩＦＯをもつインタフェースユニットのアービテーションが行われると有利である。
【０１５３】
制御ユニットはたとえばDE 199 26 538.0の図３２に従って構成することができる。そのような制御ユニットを０８０７または０８０６として使用することができる。０８０６として使用する場合、０８１２は０８０４ａに対応し、０８１３は０８０４ｂに対応する。０８０７として使用する場合、０８１２は０８０４ｂに対応し、０８１３は０８０４ａに対応する。デコーダ（０８１０）は到来方向のバス（０８１２）のアドレス／ＩＯＩＤをデコーディングしてアービタ（０８１１）を制御し、他方、アービタは到来方向のバスをマルチプレクサを介して出力バス（０８１３）へ切り替える。
【０１５４】
プロトコルコンバータは外部のバスシステム（０８０８）と結合されており、この場合、複数のプロトコルコンバータが同一のバスシステム（０８０９）に接続された状態にすることができ、これによりそれらは同じ外部のリソースを利用できる。プロトコルコンバータにＩＯ−ＦＩＦＯが集積されていると有利であり、必要に応じてそれらのＦＩＦＯに外部バス（０８０８）用のバースト伝送制御のためにＦＩＦＯ（バーストＦＩＦＯ）が後置接続されている。１つの有利な実施形態によればこれらのＦＩＦＯに対し、送出アドレスと到来データとの同期合わせのために別のＦＩＦＯ（ＳＹＮＣ−ＦＩＦＯ）が後置接続されている。
【０１５５】
０８２０〜０８２３には、そのつどプログラミング可能／コンフィギュレーション可能な種々のＦＩＦＯ構造が示されている。この場合、ＡはアドレスＦＩＦＯの進行方向を表し、ＤはデータＦＩＦＯの進行方向を表す。ＦＩＦＯのデータ伝送方向はデータ伝送方向と動作モードに依存する。ＶＰＵがバスマスタとして動作するならば、書き込みアクセス（０８２０）のときデータおよびアドレスは内部バスから外部バスに伝送され、読み出しアクセス（０８２１）のときアドレスは内部から外部へ、データは外部から内部へ伝送される。ＶＰＵがバススレーブとして動作するならば、書き込みアクセス（０８２２）のときデータおよびアドレスは外部バスから内部へ伝送され、読み出しアクセス（０８２３）のときアドレスは外部から内部へ、データは内部から外部へ伝送される。
【０１５６】
データ伝送全体において、アドレスおよび／またはデータにＩＯＩＤおよび／またはＡＰＩＤを割り当てて、ＦＩＦＯ段にいっしょに格納することができる。格別有利な実施形態によれば、個々のＦＩＦＯ段によるデータ伝送の分離によってバスシステム０１０４，０８０４，０８０８／０８０９の伝送速度（動作周波数）をそれぞれ異なるようにすることができる。殊に外部のバスシステム（０８０８／０８０９）を、たとえば内部バスシステム（０１０４）および／または（０８０４）よりも高い伝送速度で動作させることができる。
【０１５７】
図９には、図８による回路を介したデータ読み出し伝送に関して実現可能な流れが示されている。アドレス（有利にはＩＯＩＤおよび／またはＡＰＩＤをもつような識別子）が内部バスシステム０１０４を介して、有利には内部ＦＩＦＯ（０９０１）を備え専用グローバルバスをもつインタフェースユニットおよび／またはＰＡＥへ伝送される。有利にはパイプライン方式（０９０２）で動作するバスシステム（たとえば０８０４）を介して、アドレスがＩＯ−ＦＩＦＯ（０９０３）に伝送される。パイプライン方式で構成できるが有利には短くローカルな別のバス（０９０４）を介して、アドレスがバーストＦＩＦＯ（０９０５）に伝送される。バーストＦＩＦＯは外部バスシステムを介したバースト伝送の適正な処理のために用いられ、たとえばバーストアドレスおよびバーストシーケンスの制御やエラー発生時のバーストアドレスの反復のために用いられる。
【０１５８】
外部バスシステムを介して伝送されるアドレス（０９０６）のＩＯＩＤおよび／またはＡＰＩＤはアドレスといっしょに伝送可能であり、および／または付加的なＳＹＮＣ−ＦＩＦＯ（０９０７）に格納可能である。ＳＹＮＣ−ＦＩＦＯは送出アドレス（０９０６）と到来データ（０９０９）との間のレイテンシーを補償調整する。到来データに対し、それらを参照するアドレスのＩＯＩＤおよび／またはＡＰＩＤ（０９０８）をＳＹＮＣ−ＦＩＦＯによって割り当てることができる。これらのデータ（および有利にはＩＯＩＤおよび／またはＡＰＩＤ）はＩＯ−ＦＩＦＯ（０９１１）にバッファリングされ、その後、有利にはパイプライン方式（０９１２）で動作するバスシステム（たとえば０８０４）を介して、専用グローバルバス（０９１３）を備えたインタフェースユニットおよび／またはＰＡＥに伝送され、これには有利には内部ＦＩＦＯが含まれている。ここからデータは内部バスシステム（０１０４）に転送される。
【０１５９】
オプションとして、到来データをＩＯ−ＦＩＦＯ（０９１１）ではなく図示されていない第２のバーストＦＩＦＯへまず最初に導くことができ、これは読み出しアクセス時にもバーストエラーリカバリBurst-Error-Recoveryが必要であるかぎり、バーストＦＩＦＯ ０９０５に従って動作する。その後、データは０９１１へ転送される。
【０１６０】
図１０は基本的には図８に対応しており、そのため同じ参照符号が用いられている。この実施形態に示されているように、専用グローバルバス（０８０１）を備えたインタフェースユニットおよび／またはＰＡＥが少なくなっているし、外部の（メイン）メモリおよび／またはその他の（周辺機器）データ流に対するプロトコルコンバータも少なくなっている。ここでは付加的な構成としてコレクタ（１００１）が描かれており、これはバスシステム０８０４に接続されていて、これによりインタフェースユニットおよびプロトコルコンバータからコレクタにデータを書き込むことができ、および／またはコレクタから読み出すことができる。０８０７に対応する制御ユニット１００７によってコレクタが０８０４ａのバスシステムに接続され、０８０６に対応する制御ユニット１００６を介してコレクタが０８０４ｂのバスシステムに接続される。
【０１６１】
複数のコレクタをインプリメント可能であり、そのために複数の制御ユニットが使用される。また、１つのコレクタを複数のメモリ領域にセグメンテーションしておくことができる。そして各メモリ領域自体をそれぞれ異なるメモリモードで動作させることができ、たとえばランダムアクセスメモリ、ＦＩＦＯ、スタック、キャッシュ、ＭＭＵページ等として動作させることができる。
【０１６２】
ＭＭＵ式の動作モードを実現するため、コレクタに変換テーブル（ＴＬＢ）（１００２）を割り当てておくことができる。たとえばセグメントアドレスおよび／またはたとえばＡＰＩＤおよび／またはＩＯＩＤのようなその他の識別子に基づき、ページ管理を動作させることができる。
【０１６３】
１つのコレクタに１つのＤＭＡまたは複数のＤＭＡを割り当てることができると有利であって、その目的は外部の（メイン）メモリおよび／またはその他の（周辺機器の）データ流とのデータ伝送を実行するためであり、たとえばページについてのページ管理（ロード、書き込み）のＭＭＵ機能を自動的に行えるようにするためである。また、ＤＭＡは外部の（メイン）メモリおよび／またはその他の（周辺機器の）データ流とコレクタとの間のアドレス変換のため、やはりＴＬＢをアクセスすることができる。さらに実現可能な動作方式として、ＤＭＡはアレイ（ＰＡ）からたとえば０８０４を介してアドレス設定を受け取ることができる。
【０１６４】
ＤＭＡは以下のユニットのうち１つまたは複数によって制御可能である：たとえばページフォールトであればコレクタに割り当てられたＭＭＵ、アレイ（ＰＡ）、外部バス（たとえば０８０９）、外部のプロセッサ、上位のロードユニット（ＣＴ）。
【０１６５】
コレクタは、外部の（メイン）メモリおよび／またはその他の（周辺機器の）データ流に対する専用のバスインタフェース（１００４）へのアクセスを行うことができ、このバスインタフェースは有利にはやはりＤＭＡ制御され有利にはマスタ／スレーブ方式対応であり、プロトコルコンバータ０８０２に対応するまたはそれと類似のプロトコルコンバータを備えている。外部のプロセッサはコレクタ（１００７）に対するダイレクトアクセスが可能である。
【０１６６】
図１１は基本的に図９に対応しており、したがって同じ参照符号が用いられている。この場合、変換制御部の設けられたコレクタ（たとえば有利にはＴＬＢを備えたＤＭＡ）がデータ流に統合されている。ここではアレイ（ＰＡ）が有利にはコレクタとデータを交換する（１１０３）このコレクタは有利には広範囲にわたり自動的に１１０２により制御されて、外部の（メイン）メモリおよび／またはその他の（周辺機器の）データ流とデータを交換する（１１０４）。有利にはコレクタはセグメント化されたＭＭＵのような動作方式ではたらき、その際、それぞれ異なるアドレス領域および／またはＡＰＩＤおよび／またはＩＯＩＤのような識別子に種々のページが割り当てられている。有利には１１０２はページフォールトにより制御可能である。
【０１６７】
図１２には、種々のアプリケーションに対するデータ伝送の流れ図が描かれている。アレイ（ＰＡ）は、DE 196 54 846.2に記載されている方法に従いオペランドと結果をメモリ１２０２および１２０３に記憶することによりデータを処理する。ＰＡには付加的にデータ入力チャネル（１２０４）とデータ出力チャネル（１２０５）が割り当てられており、これによりオペランドおよび／または結果がロードされもしくは記憶される。これらのチャネルが外部の（メイン）メモリおよび／またはその他の（周辺機器の）データ流（１２０８）に至るように構成可能である。また、チャネルを内部のＦＩＦＯ段および／またはＰＡＥ−ＲＡＭ／ＰＡＥ−ＲＡＭページおよび／またはコレクタ／コレクタページによって構成できる。アドレス（ＣＵＲＲ−ＡＤＲ）を目下１２０１において進行中のコンフィギュレーションによって計算することができおよび／または事前に計算しておくことができ、および／または（１００３）のＤＭＡオペレーションにより計算しておくことができる。殊に１２０１（ＣＵＲＲ−ＡＤＲ）内のアドレス計算をコレクタまたはそのＤＭＡへ供給することができ、これによりコレクタのデータ伝送をアドレッシングおよび制御することができる。また、先行して１２０１において実行されたコンフィギュレーションにより、データ入力チャネルをすでにプレロード状態にしておくこともできる。１２０８によるデータ伝送を実行する目的で、チャネルは有利にはＦＩＦＯに類似の動作法式ではたらく。
【０１６８】
図示の実施例の場合にはさらにチャネル（１２０７）は、先行のコンフィギュレーションまたはアプリケーションによって満たされた１２０１内における既述のデータ処理中、１２０８に書き込まれる。このチャネルはやはり、内部ＦＩＦＯ段および／またはＰＡＥ−ＲＡＭおよび／またはＰＡＥ−ＲＡＭページおよび／またはコレクタ／コレクタページによって構成可能である。アドレスは目下パラレルに１２０１において進行中のコンフィギュレーション（ＯＡＤＲ−ＣＯＮＦ）によって計算できおよび／または事前に計算しておくことができ、および／または（１００３）のＤＭＡオペレーションにより計算しておくことができる。殊に１２０１内のアドレス計算（ＯＡＤＲ−ＣＯＮＦ）をコレクタまたはそのＤＭＡに供給することができ、これによりコレクタのデータ伝送をアドレッシングおよび制御することができる。
【０１６９】
さらに同時に、後続のコンフィギュレーションまたはアプリケーションのためのデータが別のチャネルにロードされる（１２０６）。このチャネルも内部ＦＩＦＯ段および／またはＰＡＥ−ＲＡＭ／ＰＡＥ−ＲＡＭページおよび／またはコレクタ／コレクタページによって構成可能である。アドレスを目下パラレルに１２０１内で進行中のコンフィギュレーション（ＩＡＤＲ−ＣＯＮＦ）によって計算できおよび／または事前に計算しておくことができ、および／または１００３のＤＭＡオペレーションによって計算しておくことができる。殊に１２０１（ＩＡＤＲ−ＣＯＮＦ）内におけるアドレス計算をコレクタまたはそのＤＭＡに供給することができ、これによってコレクタのデータ伝送をアドレッシングおよび制御することができる。個々のチャネル内の個々のエントリにたとえばＩＯＩＤおよび／またはＡＰＩＤのような種々の識別子をもたせることができ、その目的はそれぞれ特定のリソースおよび／またはロケーションに割り当て可能にすることである。
【０１７０】
図１３ａにはバーストＦＩＦＯの有利なインプリメンテーションが示されている。まずはじめに、バースト対応のバス（ＢＢＵＳ）へ値を伝送する出力ＦＩＦＯのための機能について説明する。第１のポインタ（１３０１）は、メモリ（１３０４）内で目下ＢＢＵＳに出力すべきデータエントリを指している。データワード（１３０２）が出力されるたびに１３０１は１つのポジションだけ移動する。目下のバースト伝送を開始する前のポインタ１３０１の値はレジスタ（１３０３）に格納されている。バースト伝送中にエラーが発生すると、１３０１は元の値で１３０１から新たにロードされ、バースト伝送が新たに開始される。
【０１７１】
第２のポインタ（１３０５）は、書き込むべきデータ（１３０６）のためのメモリ（１３０４）内の目下のデータ書き込みポジションを指示している。場合によってはエラーが発生してまだ必要とされるデータが上書きされてしまうのを欠ける目的で、ポインタ１３０５がレジスタ１３０３と比較され（１３０７）、これによってバーストＦＩＦＯの満杯状態を指示できるようにする。バーストＦＩＦＯが空である状態は、出力ポインタ（１３０１）を入力ポインタ（１３０５）と比較（１３０８）することにより確かめることができる。
【０１７２】
バースト伝送の読み込みデータのためにバーストＦＩＦＯが動作しているならば、以下のように機能が変更される。：１３０１はデータ１３０６用の書き込みポインタとなる。バースト伝送中に誤ったデータが伝送された場合、バースト伝送前のポジションが１３０３に格納される。バースト伝送中にエラーが発生したならば、１３０１は元の値を１３０３から新たにロードして、バースト伝送が新たに開始される。ポインタは、データ（１３０２）の読み出しのためバーストＦＩＦＯの読み出しポジションを指す。まだ適正に完了していないバースト伝送のデータが早期に読み出されてしまうのを避ける目的で、１３０５が１３０３にセーブされているポジションと比較され（１３０７）、これによって空のバーストＦＩＦＯが指示されるようにする。満杯のバーストＦＩＦＯは書き込みレジスタ１３０１と読み出しレジスタ（１３０５）の比較（１３０８）により識別される。
【０１７３】
図１３ｂにはバースト回路の実現可能なインプリメンテーションが示されており、これにより可能なバースト伝送が識別され境界がチェックされる。このインプリメンテーションは簡単に構成されていて、単にリニアなアドレスシーケンスだけを識別する。データ伝送は基本的にバースト伝送として開始される。最初のアドレスがリニアでないとバースト伝送は中断される。複数のアドレスをまえもってチェックするルックアヘッドロジックの拡張によって、特定の長さ（たとえば４）の複数のバースト伝送も検出して開始させることができる。
【０１７４】
最初のアクセスのアドレス値（１３１３）がレジスタ（１３１０）に記憶される。後続のデータ伝送のアドレス値が、複数のバースト伝送において第１のデータ伝送と第２のデータ伝送のアドレス差（典型的にはワード幅）だけ高められたアドレス値（１３１１）と、１３１０によって比較される（１３１２）。両方の値が等しければ、第１のアドレスと第２のアドレスの差は２つのバーストアドレス間のバッファ伝送のアドレス差に相応する。したがって適正なバーストが存在することになる。値が等しくなければ、バースト伝送を中断する必要がある。
【０１７５】
そのつど最後にチェックされたアドレス（１３１３）（この明細書では第２のアドレス）がそれぞれ１３１０に記憶され、ついで同じようにしてその次のアドレス（１３１３）と比較される。
【０１７６】
バースト境界（boundary）が守られていることを確認するため、目下のアドレス値（１３１３）において境界の位置する１つのアドレスビット（または複数のアドレスビット）が、先行のアドレス値（１３１０）のアドレス値のアドレスビットと比較される（たとえばＸＯＲ １３１４）。これらのアドレスビットが等しくなければ境界を越えており、それに応じてバーストの制御の応答動作を行わなければならない（たとえばバースト伝送の完了と新たな開始）。
【０１７７】
図１４には、メモリたとえばＰＡＥ−ＲＡＭをまとめてそれよりも大きいメモリブロックを形成するための様々な方法が示されている。このため図１４ａ〜図１４ｄでは、可能であるかぎり同じ参照符号が用いられている。
【０１７８】
書き込みデータ（１４０１）は有利にはパイプライン段（１４０２）によってメモリに供給される。読み出しデータ（１４０３）は有利にはやはりパイプライン段（１４０４）を介してメモリから取り出される。パイプライン段１４０４にはマルチプレクサが含まれており、これによりそのつどアクティブなデータ経路が形成される。アクティブなデータ経路をたとえばＲＤＹハンドシェークの発生によって識別することができる。アドレスがアドレス空間内の適正値であるかを監視するユニット（RangeCheck，１４０５）をオプションで設けることができる。
【０１７９】
図１４ａの場合、アドレスはパイプライン段（１４０７ａ）を介してメモリ（１４０８ａ）へ供給される。メモリによって上位のアドレス部分が、まえもって固定的に定められた（たとえば上位のコンフィギュレーション可能なユニットＣＴにより）コンフィギュレーション可能な参照アドレスと比較され、この参照アドレスは各メモリごとに一義的なものである。それらのアドレスが同じであればそのメモリが選択される。下位のアドレス部分はメモリ内におけるメモリロケーションの選択に用いられる。
【０１８０】
図１４ｂの場合、アドレスはデクリメント部（１だけ減算）の統合されたパイプライン段（１４０７ｂ）を介してメモリ（１４０８ｂ）へ供給される。この場合、メモリによって上位のアドレス部が値０と比較される。それらのアドレスが同じであればそのメモリが選択される。下位のアドレス部分はメモリ内におけるメモリロケーションの選択に用いられる。
【０１８１】
図１４ｃの場合、アドレスはパイプライン段（１４０７ｃ）を介してメモリ（１４０８ｃ）へ供給される。メモリによって高位のアドレス部分が各メモリごとに一義的な参照アドレスと比較される。参照アドレスは加算器チェーンまたは減算器チェーン（１４０９）によってまえもって与えられ、これは初期値（典型的には０）から出発して各メモリごとに異なる一義的な参照アドレスを発生させる。それらのアドレスが等しければメモリが選択される。下位のアドレス部分はメモリ内におけるメモリロケーションの選択に用いられる。
【０１８２】
図１４ｄの場合、アドレスはパイプライン段（１４０７ｄ）を介してメモリ（１４０８ｄ）へ供給される。メモリにより上位のアドレス部分が各メモリごとに一義的な参照アドレスと比較される。参照アドレスはメモリに統合された加算器チェーンまたは減算器チェーン（１４１０）によりまえもって与えられ、これは初期値（典型的には０）から出発して各メモリごとに異なる一義的な参照アドレスを発生させる。それらのアドレスが等しければそのメモリが選択される。下位のアドレス部分はメモリ内におけるメモリロケーションの選択に用いられる。
【０１８３】
１４０２，１４０４，１４０７のために、たとえば図５に示したＰＡＥのＦＲＥＧを用いることができる。１４０９のために、参照アドレスの進行方向に従いＦＲＥＧまたはＢＲＥＧを用いることができる。
【０１８４】
例示した既述の構成により得られる利点は殊に、すべての書き込みアクセス／読み出しアクセスが同じレイテンシをもつことであり、それというのもアドレスとデータがレジスタ段を介してＢＲＥＧ／ＦＲＥＧＥへ供給されるからである。
【０１８５】
図１５には、複数のコンフィギュレーションの結合のためにGlobalTrackバスシステム（１５０１，１５０２，１５０３，１５０４）を使用する様子が示されており、これらはＰＡＥ（１５０５）の配置構成内で任意にコンフィギュレーションマクロ（１５０６，１５０７）（DE 198 07 872.2, 199 26 538.0, DE 100 28 397.7も参照）としてコンフィギュレーションされている。コンフィギュレーションマクロは固有の内部バス結合を指示し、たとえば内部バス（０１０４）を介して（１５０８）を指示する。コンフィギュレーションマクロは１５０３を介して互いにデータ交換されるよう結合されている。１５０６は１５０１，１５０２を介して、インタフェースユニットおよび／またはローカルメモリ（ＰＡＥ−ＲＡＭ）（１５０９，１５１０）と接続されている。また、１５０７は１５０４を介して、インタフェースユニットおよび／またはローカルメモリ（ＰＡＥ−ＲＡＭ）（１５１１）と接続されている。
【０１８６】
これまで説明してきた本発明について任意の別の形態や組み合わせが可能であり、それらは当業者にとって明らかである。
【図面の簡単な説明】
【０１８７】
【図１】リコンフィギュアラブルプロセッサの殊に有利な構造を示す図である。
【図２】本発明によるアーキテクチャの様々な形態を示す図である。
【図３】図２に対応しておりＶＰＵにおける有利なデータ処理方法を示す図である。
【図４】図３による方法を簡単に変形したかたちを示す図である。
【図５】実現可能なＰＡＥの実施形態を示す図である。
【図６】ＡＬＵ−ＰＡＥとＲＡＭ−ＰＡＥをバスシステム０１０４を介して結線する様子を例示する図である。
【図７】０１０５に対応するＩＯ回路の簡単な変形実施形態を示す図である。
【図８】複数のインタフェースユニットおよび／またはＰＡＥの間で実現可能な接続構造を示す図である。
【図９】図８による回路を介したデータ読み出し伝送に関して実現可能な流れを示す図である。
【図１０】図８に対応しており付加的な構成としてコレクタが設けられている様子を示す図である。
【図１１】図９に対応しており変換制御部の設けられたコレクタ（たとえば有利にはＴＬＢを備えたＤＭＡ）がデータ流に統合される様子を示す図である。
【図１２】種々のアプリケーションに対するデータ伝送の流れ図である。
【図１３】実現可能な種々のインプリメンテーションを示す図である。
【図１４】ＰＡＥ−ＲＡＭをまとめてそれよりも大きいメモリブロックを形成するための様々な方法を示す図である。
【図１５】複数のコンフィギュレーションの結合のためにGlobalTrackバスシステムを使用する様子を示す図である。
【図１３】
2004535613.tif 000008
【国際公開パンフレット】
2004535613.tif 000009
2004535613.tif 000010
2004535613.tif 000011
2004535613.tif 000012
2004535613.tif 000013
2004535613.tif 000014
2004535613.tif 000015
2004535613.tif 000016
2004535613.tif 000017
2004535613.tif 000018
2004535613.tif 000019
2004535613.tif 000020
2004535613.tif 000021
2004535613.tif 000022
2004535613.tif 000023
2004535613.tif 000024
2004535613.tif 000025
2004535613.tif 000026
2004535613.tif 000027
2004535613.tif 000028
2004535613.tif 000029
2004535613.tif 000030
2004535613.tif 000031
2004535613.tif 000032
2004535613.tif 000033
2004535613.tif 000034
2004535613.tif 000035
2004535613.tif 000036
2004535613.tif 000037
2004535613.tif 000038
2004535613.tif 000039
2004535613.tif 000040
2004535613.tif 000041
2004535613.tif 000042
2004535613.tif 000043
2004535613.tif 000044
2004535613.tif 000045
2004535613.tif 000046
2004535613.tif 000047
2004535613.tif 000048
2004535613.tif 000049
2004535613.tif 000050
2004535613.tif 000051
2004535613.tif 000052
2004535613.tif 000053
2004535613.tif 000054
2004535613.tif 000055
2004535613.tif 000056
2004535613.tif 000057
2004535613.tif 000058
2004535613.tif 000059
2004535613.tif 000060
2004535613.tif 000061
2004535613.tif 000062
2004535613.tif 000063
2004535613.tif 000064
2004535613.tif 000065
2004535613.tif 000066
2004535613.tif 000067
2004535613.tif 000068
2004535613.tif 000069
2004535613.tif 000070
2004535613.tif 000071
2004535613.tif 000072
2004535613.tif 000073
2004535613.tif 000074
2004535613.tif 000075
2004535613.tif 000076
2004535613.tif 000077
2004535613.tif 000078
2004535613.tif 000079
2004535613.tif 000080
2004535613.tif 000081
2004535613.tif 000082
2004535613.tif 000083
2004535613.tif 000084
2004535613.tif 000085
2004535613.tif 000086
2004535613.tif 000087
2004535613.tif 000088
2004535613.tif 000089
2004535613.tif 000090
2004535613.tif 000091
2004535613.tif 000092
2004535613.tif 000093
2004535613.tif 000094
2004535613.tif 000095
2004535613.tif 000096
2004535613.tif 000097
2004535613.tif 000098
2004535613.tif 000099
2004535613.tif 000100
【国際公開パンフレット（コレクトバージョン）】
2004535613.tif 000101
2004535613.tif 000102