(57)【要約】【課題】産業上の適用に対して処理チップ、チップを含むシステム、マルチプロセッサ装置およびマルチコアプロセッサ装置を提供すること。【解決手段】複数のダイスが含まれており、第１のダイスには複数のプロセッサユニットが含まれており、少なくとも１つの第２のダイスには少なくとも１つのデータ記憶メモリ装置が含まれており、前記の第１および第の２のダイスを配置構成して、第１の層に設けられている前記のプロセッサユニットの少なくとも１つの部分集合毎に、専用の記憶メモリ装置が第２の層に設けられていることを特徴とするデータ処理チップを構成する。【選択図】図７
2010079923.tif 000002
【特許請求の範囲】
【請求項１】
複数のダイスが含まれており、
第１のダイスには複数のプロセッサユニットが含まれており、
少なくとも１つの第２のダイスには少なくとも１つのデータ記憶メモリ装置が含まれており、
前記の第１および第の２のダイスを配置構成して、第１の層に設けられている前記のプロセッサユニットの少なくとも１つの部分集合毎に、専用の記憶メモリ装置が第２の層に設けられていることを特徴とする
データ処理チップ。
【請求項２】
前記のプロセッサユニットは、完全プログラム可能であり、および／またはＲＩＳＣ（reduced instruction set computer）プロセッサである、
請求項１に記載の処理チップ。
【請求項３】
前記の第１のダイスおよび少なくとも１つの第２のダイスは、基板を貫通するヴィアおよび／またはワイヤボンディングおよび／またはフリップチップテクノロジおよび／またはバンプによって接続される、
請求項１に記載の処理チップ。
【請求項４】
前記の少なくとも１つのデータ記憶メモリ装置は、ＤＲＡＭ（dynamic random access memory）素子であり、および／またはキャッシュを含む、
請求項１から３までのいずれか１項に記載の処理チップ。
【請求項５】
前記のプロセッサユニットのうちのいくつかは欠陥を有しかつスイッチオフされ、および／または前記の複数のプロセッサユニットに冗長なプロセッサユニットが含まれている、
請求項１から４までのいずれか１項に記載の処理チップ。
【請求項６】
前記の少なくとも１つのデータ記憶メモリ装置は、冗長な構造を有する、
請求項１から５までのいずれか１項に記載の処理チップ。
【請求項７】
前記のプロセッサユニットは、相互接続装置を設けるための付加的な物理層を有する、
請求項１から６までのいずれか１項に記載の処理チップ。
【請求項８】
スタック装置に複数のチップを含むシステムにおいて、
少なくとも１つのチップの損失電力は、当該チップ以外の少なくとも１つのチップの損失電力よりも大きく、
当該チップをスタックして、前記の少なくとも１つのチップが前記のスタック装置の外側の層に配置されるようにしたことを特徴とする、
スタック装置に複数のチップを含むシステム。
【請求項９】
完全プログラム可能でありおよび／またはＲＩＳＣ（reduced instruction set computer）プロセッサである前記のプロセッサユニットが前記の複数のチップに含まれる、
請求項８に記載のシステム。
【請求項１０】
前記の第１のダイスおよび少なくとも１つの第２のダイスは、基板を貫通するヴィアおよび／またはワイヤボンディングおよび／またはフリップチップテクノロジおよび／またはバンプによって接続される、
請求項８または９に記載のシステム。
【請求項１１】
前記の複数のチップにはＤＲＡＭ（dynamic random access memory）メモリ素子および／またはキャッシュを含む、
請求項８から１０までのいずれか１項に記載のシステム。
【請求項１２】
前記の複数のチップには複数のプロセッサユニットが含まれかつ当該プロセッサユニットのうちのいくつかは（ａ）欠陥を有しかつ（ｂ）スイッチオフされ、および／または前記の複数のチップには複数の冗長なプロセッサユニットが含まれている、
請求項８から１１までのいずれか１項に記載のシステム。
【請求項１３】
前記の複数のチップには、冗長な構造を有するデータ記憶メモリ装置が含まれる、
請求項８から１２までのいずれか１項に記載のシステム。
【請求項１４】
前記の複数のチップには、
プロセッサを含む第１の層と、
メモリ装置を含む第２の層と、
相互接続装置を設けるための第３の層とを有する、
請求項８から１３までのいずれ１項に記載のシステム。
【請求項１５】
マルチプロセッサ装置において、
該マルチプロセッサ装置は、
複数のプロセッサコアと、
複数のメモリ素子と、
前記のメモリ素子とプロセッサコアとを相互接続するための相互接続ネットワークとを有しており、
前記のメモリ素子はキャッシュとして動作可能であり、
前記の相互接続ネットワークを介して所定のメモリ素子をプロセッサコアにランタイム時に選択可能かつ変更可能に接続可能であり、
前記のメモリ素子は、より高レベルのメモリに接続するためのポートを有しており、これによって当該のポートを介してデータを当該メモリ素子の外部にある外部メモリに移動可能であり、また当該の外部メモリから前記のメモリ素子に移動可能であることを特徴とする
マルチプロセッサ装置。
【請求項１６】
前記の複数のプロセッサコアは、複数のメモリ素子から分離している、
請求項１５に記載のマルチプロセッサ装置。
【請求項１７】
前記の複数のプロセッサコアはフィールドに配置されており、
前記のプロセッサコアのうちのいくつかのプロセッサコアは、前記のフィールド内で長い距離にわたってデータを伝送するためにデータ伝送ネットワークにアクセスする、
請求項１６に記載のマルチプロセッサ装置。
【請求項１８】
前記のマルチプロセッサ装置を適合させて、複数のメモリ素子のうちのメモリ素子と、複数のプロセッサコアのうちのプロセッサコアとの複数の組み合わせがランタイムに同時に形成されるようにした、
請求項１５から１７のいずれか１項に記載のマルチプロセッサ装置。
【請求項１９】
前記のメモリ素子のうちの少なくともいくつかのメモリ素子は、前記の相互接続ネットワークのマルチバスに接続するためのマルチポートを有する、
請求項１５から１８までのいずれか１項に記載のマルチプロセッサ装置。
【請求項２０】
前記のメモリ素子のうちの少なくともいくつかのメモリ素子は、前記の相互接続ネットワークの複数のマルチバスを介し、複数のプロセッサコアのマルチプロセッサコアにより、ランタイムに同時にアクセス可能である、
請求項１５から１９までのいずれか１項に記載のマルチプロセッサ装置。
【請求項２１】
マルチコアプロセッサ装置において、
当該マルチコアプロセッサ装置は、
マルチプロセッサコアと、
データを通信するための相互接続とを有しており、
前記の複数のマルチプロセッサコアは、ダイスにおける第１の物理層として実現されており、
前記の相互接続構造は、第２のダイスにおける別の物理層として実現されており、
前記の第１および第２のダイスはスタック方式で配置されていることを特徴とする
マルチコアプロセッサ装置。
【請求項２２】
垂直相互接続のための相互接続が設けられている、
請求項２１に記載のマルチコアプロセッサ装置。
【請求項２３】
前記の第１および第２のダイスは基板を貫通するヴィアによって接続される、
請求項２１または２２に記載のマルチコアプロセッサ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、処理チップ、チップを含むシステム、マルチプロセッサ装置およびマルチコアプロセッサ装置に関する。
【背景技術】
【０００２】
リコンフィギュアブル素子とは、実施すべきアプリケーションに依存して、様々にまたアプリケーションに相応して構成される素子のことである。
【０００３】
リコンフィギュラブルなアーキテクチャとは、ここでは再設定可能ないしはリコンフィギュラブルな機能および／または結線（Vernetzung）を有する素子（ＶＰＵ）のことであり、例えば、１次元または多次元に配置された算術的および／または論理的および／またはアナログおよび／または記憶を行うおよび／または内部／外部で結線される複数のコンポーネントを有する集積素子のことであり、ここでこれらのコンポーネントは直接またバスシステムによって互いに接続される。
【０００４】
このような素子のジャンルには、例えば、シストリックアレイ、ニューラルネットワーク、マルチプロセッサシステム、複数の演算器（Rechenwerk）および／または論理セルおよび／または通信／周辺セル（ＩＯ）、結線エレメントおよびネットワークエレメント、例えば、クロスバースイッチを有するプロセッサ、ならびにＦＰＧＡ，ＤＰＧＡ， Chameleon，XPUTERなどのジャンルの素子が挙げられる。この関連において例えば、本願出願人の以下の特許および出願、すなわち、
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-53, DE 196 54 846.2-53, DE 196 54 593.5-53, 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 102 06 653.1, DE 102 06 857.7, DE 100 28 397.7, DE 101 10 530.4,
DE 102 02 044.2, DE 101 29 237.6-53, DE 101 42 904.5, DE 100 50 442.6,
DE 101 35 210.7-53, EP 02 001 331.4, 60/317.816
を参照されたい。これらをここに開示のために完全に組み入れる。
【０００５】
上記のアーキテクチャは、説明のために例示的に引用したのであり、以下ではＶＰＵと称する。このアーキテクチャは、任意の算術セル、論理セル（メモリも）および／またはメモリセルおよび／または結線セルおよび／または通信／周辺（ＩＯ）セル（ＰＡＥ）からなり、これは１次元または多次元のマトリクス（ＰＡ）に配置することができる。ここでこのマトリクスは、任意に構成された様々なセルを有することができる。ここではバスシステムもセルと理解されるのである。このマトリクスには、完全なものとして、またはそれらの一部としてコンフィギュレーションユニット（ＣＴ，ロードロジック（Ladelogik））が対応付けられており、このコンフィギュレーションユニットにより、ＰＡの結線および機能が設定される。ＣＴは、例えば、専用のユニットとしてPACT05, PACT10, PACT17にしたがって構成することができるか、またP 44 16 881.0-53，DE 102 06 856.9に記載されているようにホストマイクロプロセッサとしてＰＡに対応付けられるか、ないしはこれを伴ってまたはこれによって実現することができる。
【０００６】
様々なＰＡＥ構造が従来技術から公知である。最も一般的に使用されるものは、DE 196 51 075.9-53，DE 100 50 442.6ならびにChameleon CS2112によって定義される。さらに公知のＦＰＧＡセルを参照されたい。
【０００７】
大学側からは、ＤＰＧＡ，RawMachine（DeHuon），KressArray（Kress, カイザースラウテルン大学），XPUTER（Hartenstein，カイザースラウテルン大学）ならびに他の構造が公知である。
【０００８】
上記のすべての構造に利用可能な、以下に説明する拡張により、例えば、極めてシーケンシャルであり、および／またはほとんどデータストリームオリエンテッドでない複雑な適用においてＰＡＥ構造およびアーキテクチャの利用可能性が改善される。さらに外部ユニット（例えば、メモリおよび／または周辺装置）への接続が簡単になり、均質化される。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】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-53
【特許文献１７】DE 196 54 846.2-53
【特許文献１８】DE 196 54 593.5-53
【特許文献１９】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 102 06 653.1
【特許文献２５】DE 102 06 857.7
【特許文献２６】DE 100 28 397.7
【特許文献２７】DE 101 10 530.4
【特許文献２８】DE 102 02 044.2
【特許文献２９】DE 101 29 237.6-53
【特許文献３０】DE 101 42 904.5
【特許文献３１】DE 100 50 442.6
【特許文献３２】DE 101 35 210.7-53
【特許文献３３】EP 02 001 331.4
【特許文献３４】60/317.816
【特許文献３５】DE 196 51 075.9-53
【特許文献３６】DE 100 50 442.6
【特許文献３７】DE 102 06 856.9
【非特許文献】
【００１０】
【非特許文献１】Chameleon CS2112
【発明の概要】
【発明が解決しようとする課題】
【００１１】
本発明の課題は、産業上の適用に対して処理チップ、チップを含むシステム、マルチプロセッサ装置およびマルチコアプロセッサ装置を提供することである。
【課題を解決するための手段】
【００１２】
処理チップについての課題は、本発明の請求項１により、複数のダイスが含まれており、第１のダイスには複数のプロセッサユニットが含まれており、少なくとも１つの第２のダイスには少なくとも１つのデータ記憶メモリ装置が含まれており、前記の第１および第の２のダイスを配置構成して、第１の層に設けられている前記のプロセッサユニットの少なくとも１つの部分集合毎に、専用の記憶メモリ装置が第２の層に設けられていることを特徴とするデータ処理チップを構成することによって解決される。
【００１３】
上記のチップを含むシステムについての課題は、本発明の請求項８により、スタック装置に複数のチップを含むシステムにおいて、少なくとも１つのチップの損失電力は、当該チップ以外の少なくとも１つのチップの損失電力よりも大きく、当該チップをスタックして、前記の少なくとも１つのチップが前記のスタック装置の外側の層に配置されるようにしたことを特徴とする、スタック装置に複数のチップを含むシステムを構成することによって解決される。
【００１４】
上記のマルチプロセッサ装置についての課題は、本発明の請求項１５により、マルチプロセッサ装置において、該マルチプロセッサ装置は、複数のプロセッサコアと、複数のメモリ素子と、前記のメモリ素子とプロセッサコアとを相互接続するための相互接続ネットワークとを有しており、前記のメモリ素子はキャッシュとして動作可能であり、前記の相互接続ネットワークを介して所定のメモリ素子をプロセッサコアにランタイム時に選択可能かつ変更可能に接続可能であり、前記のメモリ素子は、より高レベルのメモリに接続するためのポートを有しており、これによって当該のポートを介してデータを当該メモリ素子の外部にある外部メモリに移動可能であり、また当該の外部メモリから前記のメモリ素子に移動可能であることを特徴とするマルチプロセッサ装置を構成することによって解決される。
【００１５】
上記のマルチコアプロセッサ装置についての課題は本発明の請求項２１により、マルチコアプロセッサ装置において、当該マルチコアプロセッサ装置は、マルチプロセッサコアと、データを通信するための相互接続とを有しており、前記の複数のマルチプロセッサコアは、ダイスにおける第１の物理層として実現されており、前記の相互接続構造は、第２のダイスにおける別の物理層として実現されており、前記の第１および第２のダイスはスタック方式で配置されていることを特徴とするマルチコアプロセッサ装置を構成することによって解決される。
【図面の簡単な説明】
【００１６】
【図１】本発明のセルエレメントフィールドを示す図である。
【図２】本発明のセルエレメントフィールドの詳細を示す図である。
【図３】図２の詳細の択一的な実施形態を示す図である。
【図４】機能／メモリセル（ＰＡＥ）の基本構造を示す図である。
【図５】図３ｂの変形実施形態を示す図である。
【図６】ＲＯＰ−ＰＡＥの実装例を示す図である
【図７】半導体積層体の様々な構造バリエーションを示す図である
【図８】本発明によるＰＡＥの実施例を示す図である。
【図９】本発明によるＰＡＥの別の実施形態を示す図である。
【図１０】グローバルな専用のバスシステムおよびＰＡＥからなるアレイを示す図で
【図１１】ＶＰＵアーキテクチャに対するバス構造の殊に有利な構成を示す図である。
【図１２】図１１に相応するＳＩＭＤバスシステムおよびＳＩＭＤデータ処理を示す図である。
【図１３】コンフィギュレーションユニット（０１０６）によってＰＡＥ（１００１）をコンフィギュレーションするコンフィギュレーションバスの構造を例示的に示す図である。
【図１４】リコンフィギュレーションを制御する本発明のＦＩＦＯモデルの構造を示す図である。
【図１４ａ】変換および割り当て装置（１４３２）を介して到来するトリガを選択信号（ＳＣ０…ｎ，１４３３）に変換するユニット（１４３４）を示す図である。
【図１４ｂ】コンフィギュレーションスタックの条件付きまたは無条件のジャンプ機能の制御を示す図である。
【図１５】ＲＡＭ−ＰＡＥに基づく本発明のシーケンサの構成例を示す図である
【図１６】ルーティング手段によりＷＣＴが時間的に正しく転送されることを示す図である。
【発明を実施するための形態】
【００１７】
上記の処理チップの１実施形態では、前記のプロセッサユニットは、完全プログラム可能であり、および／またはＲＩＳＣ（reduced instruction set computer）プロセッサである。
【００１８】
上記の処理チップの別の１実施形態では、前記の第１のダイスおよび少なくとも１つの第２のダイスは、基板を貫通するヴィアおよび／またはワイヤボンディングおよび／またはフリップチップテクノロジおよび／またはバンプによって接続される。
【００１９】
上記の処理チップのさらに別の１実施形態では、前記の少なくとも１つのデータ記憶メモリ装置はＤＲＡＭ（dynamic random access memory）素子であり、および／またはキャッシュを含む。
【００２０】
上記の処理チップのさらに別の１実施形態では、前記のプロセッサユニットのうちのいくつかと欠陥を有しかつスイッチオフされ、および／または前記の複数のプロセッサユニットに冗長なプロセッサユニットが含まれている。
【００２１】
上記の処理チップのさらに別の１実施形態では、前記の少なくとも１つのデータ記憶メモリ装置は、冗長な構造を有する。
【００２２】
上記の処理チップのさらに別の１実施形態では、前記のプロセッサユニットは、相互接続装置を設けるための付加的な物理層を有する。
【００２３】
上記のチップを含むシステムの１実施形態では、完全プログラム可能でありおよび／またはＲＩＳＣ（reduced instruction set computer）プロセッサである前記のプロセッサユニットが前記の複数のチップに含まれる。
【００２４】
上記のチップを含むシステムの別の１実施形態では、前記の第１のダイスおよび少なくとも１つの第２のダイスは、基板を貫通するヴィアおよび／またはワイヤボンディングおよび／またはフリップチップテクノロジおよび／またはバンプによって接続される。
【００２５】
上記のチップを含むシステムのさらに別の１実施形態では、前記の複数のチップにはＤＲＡＭ（dynamic random access memory）メモリ素子および／またはキャッシュを含む。
【００２６】
上記のチップを含むシステムのさらに別の１実施形態では、前記の複数のチップには複数のプロセッサユニットが含まれかつ当該プロセッサユニットのうちのいくつかは（ａ）欠陥を有しかつ（ｂ）スイッチオフされ、および／または前記の複数のチップには複数の冗長なプロセッサユニットが含まれている。
【００２７】
上記のチップを含むシステムのさらに別の１実施形態では、前記の複数のチップには、冗長な構造を有するデータ記憶メモリ装置が含まれる。
【００２８】
上記のチップを含むシステムのさらに別の１実施形態では、前記の複数のチップには、プロセッサを含む第１の層と、メモリ装置を含む第２の層と、相互接続装置を設けるための第３の層とを有する。
【００２９】
上記のマルチプロセッサ装置の１実施形態では、前記の複数のプロセッサコアは、複数のメモリ素子から分離している。
【００３０】
上記のマルチプロセッサ装置の別の１実施形態では、前記の複数のプロセッサコアはフィールドに配置されており、前記のプロセッサコアのうちのいくつかのプロセッサコアは、前記のフィールド内で長い距離にわたってデータを伝送するためにデータ伝送ネットワークにアクセスする。
【００３１】
上記のマルチプロセッサ装置のさらに別の１実施形態では、前記のマルチプロセッサ装置を適合させて、複数のメモリ素子のうちのメモリ素子と、複数のプロセッサコアのうちのプロセッサコアとの複数の組み合わせがランタイムに同時に形成されるようにする。
【００３２】
上記のマルチプロセッサ装置のさらに別の１実施形態では、前記のメモリ素子のうちの少なくともいくつかのメモリ素子は、前記の相互接続ネットワークのマルチバスに接続するためのマルチポートを有する。
【００３３】
上記のマルチプロセッサ装置のさらに別の１実施形態では、前記のメモリ素子のうちの少なくともいくつかのメモリ素子は、前記の相互接続ネットワークの複数のマルチバスを介し、複数のプロセッサコアのマルチプロセッサコアにより、ランタイムに同時にアクセス可能である。
【００３４】
上記のマルチコアプロセッサ装置の１実施形態では、垂直相互接続のための相互接続が設けられている。
【００３５】
上記のマルチコアプロセッサ装置の別の１実施形態では、前記の第１および第２のダイスは基板を貫通するヴィアによって接続される。
【００３６】
間接的なコンフィギュレーション
ＰＡＥ（ＩＰＡＥ）の１実施形態では、ＰＡＥまたはＰＡＥのグループは、メモリ（ＲＲＡＭ）に、有利にはＲＡＭ−ＰＡＥに結合される。ＩＰＡＥは、固有の内部的なシーケンサを有しているか、またはシーケンサないしはマイクロコントローラに結合されている。ここでこれは、ＲＩＳＣプロセッサの場合と同様に有利にも命令が限定されており、すなわち、使用可能な相異なる命令の数が比較的少なく、および／または有利にも完全な命令セットを有する（ＡＲＣマイクロプロセッサを参照されたい）。言い換えると有利には、可能な限りに少ない命令セットしか有しないが、計算理論的に完備であるＲＩＳＣプロセッサが使用されるのである。１変形実施形態では、上記のシーケンサを１つまたは複数のＰＡＥをコンフィギュレーションすることによって構成可能である。シーケンサの機能およびそのフローの挙動をコンフィギュラブルに構成することができる（例えば、従来技術から公知のように構成することができる。例えば、AlteraのEPS448[ALTERA Data Book 1993]による）。このシーケンサ／マイクロコントローラは、ＩＰＡＥにおける複数の状態（例えば状態信号、イベント）および／または（例えばバスを介して）このＩＰＡＥに接続されている別のＰＡＥの状態（例えばトリガにも）に応動することができる。ＩＰＡＥのレジスタには、ＲＲＡＭメモリ内容へのポインタがコンフィギュレーションされる。例えば、プログラムポインタＲｐｐを、リセットサイクル中にコードのスタートアドレスに設定することができる。シーケンサのアドレス発生器は、ポインタによって指し示されたメモリ内容をＲＲＡＭから読み出して、これ（またはその一部）を、例えば、アドレッシングされたＰＡＥの、メモリ内容によってアドレッシングされたコンフィギュレーションレジスタに書き込むか、またはこのメモリ内容をつぎの処理に対する命令として使用する。このポインタは、アドレスレジスタにより、アドレスポインタのふつうの動作の仕方にしたがってインクリメントおよび／またはデクリメントされ、および／またはジャンプ命令（JUMP, CALL, RETURN）時には新たに設定される。ここまではメモリＲＲＡＭにより、コードメモリが得られまた有利な実施形態ではシーケンサに対するデータメモリが得られ、および／またはメモリＲＲＡＭはそのようなものとして利用される。シーケンサは、メモリ（ＲＲＡＭ）から自由にコードを読み出すことができ、また有利な実施形態ではこのメモリからデータも読み出す、またはこのメモリに書き込むことができる。ここまではこのメモリは、シーケンサに対するデータメモリでもある。
【００３７】
ＲＲＡＭメモリ内容は、上位のコンフィギュレーションユニット（ＣＴ）によってロードすることが可能である。拡張した実施形態ではこのメモリ内容を、付加的または択一的には（例えば外部の）別のメモリからロードするまたはこれに書き込むことができる（場合によっては、これは当然のことながらＩＰＡＥによっても行われる）。ここでこれは例えばフロントエンドの端子を介して行われる。
【００３８】
１変形実施形態では、上記のメモリおよび／またはＩＰＡＥは、外部のＲＡＭおよび／または外部ＩＯへの直接の接続（EXTBUS）を有することができる。この場合に殊に有利な実施形態では、このEXTBUSは、インタフェースコンポーネント（IOAG）へのＰＡＥバスシステムへの線路、場合によっては専用線路により実現可能である。ここでこれはPACT03またはPACT15から公知である。ここではメモリ（ＲＡＭ）および／または周辺装置（ＩＯ）の制御は、有利にはこのインタフェースコンポーネントによって行われる。
【００３９】
殊に有利な実施形態では、ＲＲＡＭ自体が、シーケンサに対するデータおよび／またはコードをEXTBUSを介してＲＡＭおよび／または外部のＲＡＭからロードすることができる。この機能は、ＲＲＡＭに独立して実装されるまたは実装可能なアドレス発生器によって実現可能である。例えば、ＤＭＡコントローラはこの役割に殊に適しており、ここではこのコントローラにより、データがブロック単位でメモリ間においてコピーされる。読み出すべきデータのアドレス空間および宛先アドレス空間は相応に設定され、コピー過程が開始される。この設定はＩＰＡＥによって行うことができる。
【００４０】
ハードウェアによる比較的コストのかかる解決手段では、実装されたメモリ管理ユニット（ＭＭＵ＝Memeory Management Unit）によってこの機能を実現することができる。このメモリ管理ユニットの一般的な動作は、それ自体定まっておりかつ公知である。ここでは有利なＭＭＵはつぎのように動作する。
【００４１】
ＭＭＵによって管理されるＲＲＡＭメモリは、複数のページ（Page）に分割される。各ページは、外部メモリ内の仮想メモリ空間のデータを含む。例えば、１６進数のＲＲＡＭアドレス0x0a00…0x0affは、外部メモリのアドレス0xbd13200…0xbd132ffにおけるデータを含むことができる。アドレス変換を管理するため、アドレス変換ユニットが使用され、これは有利にはＲＲＡＭセルに設けられたルックアップテーブルによって実現される。このＭＭＵは、例えば、大きな１つのメモリ空間を、ＲＲＡＭのはるかに小さな複数のメモリ空間に変換するために設けられている。これは有利には、必要に応じて上記の大きな１メモリ空間から、より小さなメモリ区間にページをコピーすることによって行われる。ページが不要になるとただちに、このページを消去および／または上書きすることができる。ページのデータが変更された場合、このページは有利には消去／上書きの前に上記の大きなメモリ空間に書き戻される。
【００４２】
この場合に上記のアドレス変換ユニットは、動作して物理アドレスの上位部分（すなわちこのページのアドレス）をルックアップテーブルに格納し、またＲＲＡＭのページの相応するデータをポイントする。ここでこれは上記の小さなメモリ（ＲＲＡＭ）内のページが利用可能になるとただちに行われる。これによってこのページに対してアクセスすることができる。ＲＲＡＭにこのページがない場合には、参照も記入されていない。この場合、まずこのページを大きな（外部の）メモリ空間からこのＲＲＡＭにコピーしなければならない。このために、有利には目下使用していない別のページを上に示したフローにしたがって上書きすることができる。
【００４３】
ここで上記のコピーは自動的に、すなわち、ＭＭＵがＤＭＡコントローラを制御することによって行われる、シーケンサによる実質的な関与なしに行うことができる。したがってここに示したＲＲＡＭの本発明のＭＭＵは、ＤＭＡコントローラに対する制御部を有しており、および／またはこれに接続可能である。このＤＭＡコントローラには、ＲＲＡＭおよび外部ＲＡＭの相応するページアドレスならびにページサイズが、ＭＭＵによって供給される。例えば、これはページアドレスおよびページサイズがレジスタに記入されることによって行われる。
【００４４】
アプリケーションに依存しかつ考えられ得る実施形態において、場合によっては有利な実施形態において、複数のEXTBUSインタフェースを実装することができる。
【００４５】
考えられ得る１実施形態において、ＲＲＡＭは、異なるアドレス領域にある複数のセグメントに分割される。これらのセグメントは、例えば、以下に示す複数の機能のうちのいくつかに対して分割されているかないしは分割することができ、また例えば、以下の機能のうちのすべてまたは一部の実装を可能にするサイズを有する。また上記のセグメントは、場合によってはコンフィギュラブルであるが有利には固定して実装される相応の制御部を有する。上記の機能には、
シーケンサ／コードメモリ、（例えば、レジスタセットに対する）スタック、データメモリ、ヒープ、ＩＯバッファ、外部ＲＡＭに対するバッファないしはキャッシュ、ルックアップテーブル、ＰＡＥおよび／またはバスに対するコンフィギュレーション、ＩＰＡＥのレジスタセット
が含まれる。機能に応じて、以下の制御メカニズムが付加的に設けられる、および／またはこれらをコンフィギュレーションすることができる。すなわち、
シーケンサ／コードメモリ：相応するメモリ位置へのプログラムポインタ（Ｒｐｐ）；
スタック：スタックの最上位メモリ位置へのスタックポインタ（Ｒｓｐ）、場合によっては従来技術（例えばIntelのPentium）からそれ自体公知のようにフレームポインタも；
ＰＡＥおよび／またはバスに対するコンフィギュレーション：ＣＴ内のポインタがこれをポイントすることができる、および／または実装に依存してＰＡＥのコンフィギュレーション制御部内のポインタがこれをポイントすることができる；
ＩＰＡＥのレジスタセット：ＰＡＥのレジスタセットをメモリに取り付けようとする場合、これは、ＰＡＥにより、直接、有利にはハードウェア技術的に固定的にあらかじめ設定されてアドレッシングされる。
【００４６】
データメモリ、バッファ、テーブルなどの残りのメモリ領域は、通例、また有利には、コンパイラまたはプログラマによって作成される。これらの領域のアドレッシングは、実行すべきプログラムおよび／またはオペレーティングシステムによって行われ、またこのプログラムおよび／またはオペレーティングシステム内で、場合によってはシーケンサのＡＬＵおよびレジスタセットを利用して計算される。
【００４７】
ＩＰＡＥのレジスタセットは、１実施形態において、トランスピュータのレジスタセットに類似してスタックとして編成される。これによってこのレジスタセットを殊に小さくかつハードウェア技術的に効率的に実現することができる（通例３つのレジスタＡ，ＢおよびＣで十分である）。さらにトランスピュータテクノロジから公知であるのは、コンパイラが、上記のようなハードウェア技術的に見てコスト的に有利なレジスタセットによって効率的に動作できることである。このレジスタセットはオプションでＲＲＡＭに配置することも可能である。
【００４８】
１実施形態では、ＲＲＡＭをマルチポートメモリとして実施することができ、またこのように実施する。マルチポートメモリによって可能になるのは、場合によっては同時に行われる、複数のメモリアクセスユニットによるメモリ内容への書き込みおよび／または読み出しアクセスである。メモリアクセスユニットは、例えば、外部および／または内部の周辺装置、プロセッサ、別のＰＡＥとすることができる。マルチポートメモリの機能も従来技術から公知である。
【００４９】
１実施形態において、ＲＲＡＭを有するＩＰＡＥは、ローカルなまた場合によっては同様にグローバルなコンフィギュレーションユニットとして、周囲にあるＰＡＥに対するＣＴに類似して動作することができ、または殊にその機能も満たすことができる。ＰＡＥは、ローカルコンフィギュレーションユニットとして使用する際、有利にはDE 196 54 846.2-53から公知の方法にしたがって動作する。このＰＡＥをグローバルコンフィギュレーションユニットとして使用するか、または極めて多くのローカルなＰＡＥをコンフィギュレーションする場合、有利にはDE 196 54 593.5-53に記載された方法を使用し、ここでこの方法は、FILMO機能を有するため、極めて多くまた同時に互いに依存しないコンフィギュレーションを管理することが可能である。ＩＰＡＥは、例えばシーケンサ／マイクロコントローラによって制御されて、ＲＲＡＭのコンフィギュレーションをアドレッシングして、このコンフィギュレーションをＰＡＥおよび／またはそれ自体においてコンフィギュレーションし、および／またはシーケンサ／マイクロコントローラのフローを決定する。ここで有利には、公知のインターＣＴプロトコル（DE 198 07 872.2，DE 100 28 397.7，DE 199 26 538.0）に類似して上位のＣＴとの同期化が行われる。ＩＰＡＥのＲＲＡＭ回路は、EXTRAMインタフェースの１つを介してコンフィギュレーションをそれ自体でロードし、および／または、ＣＴインタフェースを介して上位のＣＴのコンフィギュレーションを要求することができる。機能の仕方は、DE 196 54 846.2-53のリコンフィギュレーションユニットと同じにすることができる。ＰＡＥに対するコンフィギュレーションデータは、ＩＲＡＭにより、ＰＡＥに転送されるか、または有利な１実施形態ではＲＲＡＭから直接得られる。ここでＲＲＡＭにおけるデータを複数のＰＡＥに分割するため、DE 101 10 530.4に記載されたＳＩＭＤバスシステムと類似にバス分散方式（Busverteilverfahren）を使用することができる。
【００５０】
言い換えると、ＩＰＡＥ ＲＲＡＭ相互接続（Verschaltung）の基本的な動作の仕方はつぎのようなマイクロコントローラに類似している。すなわち、そのバス接続（Busanbindung）および／またはデータ転送および／またはプログラムフローがＶＰＵシステムに相応するマイクロコントローラに類似しているのである。
【００５１】
ここでは殊につぎのようなＩＰＡＥ−ＲＲＡＭ−相互接続に対して特許権による保護が要求される。すなわち、ＩＰＡＥおよびＲＲＡＭはそれぞれ、リコンフィギュラブルな素子の別個の機能エレメント（ＰＡＥ）として構成されており、またこれらは通例、任意の相互接続および機能を実施することができるのではあるが、殊に本発明に記載したＩＰＡＥおよびＲＲＡＭからなるシーケンサ構造を使用するために相応にコンフィギュレーションし、また使用することができる。ここでこのコンフィギュレーションは有利には、上位のコンフィギュレーションユニットＣＴによって行われる。
【００５２】
同様につぎのようなＰＡＥに対しても特許権による保護が要求される。すなわち、ＰＡＥからなるアレイの内部バスシステムとの接続に加えて、領域にわたるバスシステムに接続される専用の接続部（ＩＯチャネル）を有するＰＡＥに対しても特許権による保護が要求されるのである。ここで上記の領域にわたるバスシステムは、殊にアレイ内の長い区間にわたってデータを伝送し、および／または例えば周辺装置（Peripherie）に直接の接続部を有することができる。ここで周辺装置との接続は直接行うことができ、これは、例えば、バスシステムがすでに周辺装置のプロトコルに適合しているか、またはプロトコルを変換する相応するプロトコル変換器を介して行われる。この際にこの専用のバスシステムはすでに業界標準、例えばＰＣＩ，RapidIO，Firewire，ＵＳＢ，Ethernet，RAMBUS，DDR-RAM等に適合させて、簡単かつコストのかけずに周辺装置との接続を可能にすることができる。場合によっては、挿入接続されたＩＯＡＧ（DE 196 54 595.1-53を参照されたい）においてプロトコル変換を実行して、内部的かつ簡単な、また場合によっては独自のバスプロトコルを、１つまたは複数の複雑な外部の標準プロトコルに変換することができる。すでに挙げたバスプロトコルから明らかなように、周辺装置とはメモリのことでもあるということに注意されたい。
【００５３】
同様に本発明において殊に重要であるのは、ＰＡＥが専用のバスシステムへの複数の端子を有し得ることである。
【００５４】
さらに適用に依存してつぎのようなアーキテクチャも有利である。すなわち、ＰＡＥの１部分集合だけが専用のバスシステムへの端子を有するか、または相異なるＰＡＥが、場合によっては同様に相異なる専用のバスシステム対して、相異なる個数の端子を有するアーキテクチャも有利である。
【００５５】
以下では本発明によるＩＰＡＥとＲＲＡＭとの結合の変形実施例を詳しく説明する。
【００５６】
本発明により、殊に支障のない実行時間のため、エレメントの機能および／または結線をリコンフィギュラブルにすべきでないリコンフィギュラブルなセルエレメントフィールドにおいて、代数的および／または論理的であり、コンフィギャラブルな機能を実行するための機能セルと、情報を受信し、格納しおよび／または出力するためメモリセルとによるデータ処理のために提案されるのは、制御コネクション（Steuerverbindung）（ＣＭＤ）を機能セルからメモリセルに導くことである。この制御コネクションは、通例はＡＬＵ−ＰＡＥである対応付けられた機能セルによって、メモリからのアドレスおよび／またはデータの入力および／または出力を制御可能にするために使用される。これにより、例えば、つぎに伝送される情報をアドレスまたはデータのいずれとして処理すべきであるのか、また読み出しおよび／または書き込みアクセスが必要であるか否かを示すことができる。この場合に例えばＲＡＭ−ＰＡＥとすることのできるメモリセルからＡＬＵ−ＰＡＥにこのようにデータを伝送することによって可能になるのは、ＡＬＵによって処理すべき新しい命令をこれにロードできることである。これにより、機能セルとメモリセルとの間に専用および機能セルを専用に制御する制御コネクションを設けるだけで、有利なバスを介して接続されている２つのエレメントだけですでにシーケンサ構造をセルエレメントフィールドに構成することが可能になる。またこの際には他の場合のように別の手段および／または構造上の変更が必要になることがない。上記のメモリセルには従来のプロセッサからそれ自体公知のようにデータ、アドレス、プログラムステップ等を格納することができる。２つのエレメントは、相応のコンフィギュレーションをすれば、別の使い方もできるため、殊に効率的な構成法が得られる。ここでここれは、シーケンサ構造にも、ベクトル化および／または並列化された構造にも殊に良好に適合可能である。
【００５７】
明らかであるのは、１セルエレメントフィールドにおいてセルを２つだけ使用することによって、すなわち機能セルおよび情報供給セルを使用することによって、このリコンフィギュラブルなセルエレメントフィールドに多くのシーケンサ的な構造を作成できることである。このことは、例えばマルチタスクが可能なオペレーティングシステムにおいてデータ処理の際にしばしば、別個でありそれ自体互いに異なる一連の作業を処理しなければならないという点において有利である。この場合、ただ１つのセルエレメントフィールドにおいてこのような多数の作業を効率的に同時に処理することができる。リアルタイムアプリケーションに対する利点は明らかである。さらに、１セルエレメントフィールドにおいて本発明の制御コネクションを設けることによって作製可能な個々のシーケンサ構造を別個のクロックレートで作動させることも可能であり、例えば、優先度の低い作業をよりゆっくりと処理することによって電流消費が低減される。その上に、それ自体が広範囲にわたって並列である複数のアルゴリズムを実行する際に、このフィールドのシーケンサ的なプログラム部分を並列またはベクトル的に処理したりこの逆を行うことができる。
【００５８】
機能および／または結線がコンフィギュラブルなセルを有するセルエレメントフィールドは明らかなようにプロセッサ、コプロセッサおよび／またはマイクロコントローラを構成することができ、ないしはこれらを多数並列したものまたは組み合わせたものを構成することができる。
【００５９】
上記の機能セルは、通例、算術論理ユニットとして構成され、ここでこれは例えば、粒度の粗いエレメントであるが、これは粒度の細いステートマシンを有することも可能である。殊に有利な実施例では、ＡＬＵはいわゆる拡張されたＡＬＵ（ＥＡＬＵ）であり、これは本願出願人の以前の明細書に記載されている。拡張には、必要であれば、例えば制御コネクションコントロール、命令デコードユニットなどを含むことができる。基本的には機能セルの少なくとも部分集合を粒度の細かいＦＰＧＡエレメントから構成することも可能であることに注意されたい。
【００６０】
上記のメモリセルはデータおよび／または情報を揮発的および／または不揮発的に記憶することができる。プログラムステップ、データへのアクセスに対するアドレス、またはレジスタ的ないしはヒープ的に格納されるデータであれ、メモリセルに格納した情報が、揮発性のデータとして格納される場合、動作中に完全なリコンフィギュレーションを行うことが可能である。択一的には不揮発性のメモリセルを設けることも可能である。不揮発性のメモリセルは、例えばEEProm領域およびこれに類似するものとして設けることが可能であり、ここに基本のＢｉｏｓプログラムを格納することができ、ここでこのプログラムは、この装置の起動時に実行される。これにより、追加のコンポーネントなしにデータ処理装置の起動を行うことができる。不揮発性のデータメモリは、コストおよび／またはスペース上の理由から繰り返して同じプログラム部分を実行すべきであるとした場合にも設けることもできる。この場合、このような固定のプログラムの下でも、例えばＷＡＶＥリコンフィギュレーションの方式で動作中に変更することができる。このような不揮発性メモリを設けて使用できることは、本願出願人の別の特許明細書の対象である。揮発性のデータも不揮発性のデータも共にメモリセルに記憶することができ、これにより、例えばＢｉｏｓプログラムを固定的に格納すると同時にこのメモリセルは別の目的に利用される。
【００６１】
メモリセルは有利にはつぎのように構成される。すなわち、このメモリセルが、処理すべきデータおよび／または処理すべきプログラム部分を十分な数だけ記憶できるようにする。この際に注意すべきであるのは、これらのプログラム部分をプログラムステップとして構成することも、また上記のプログラム部分が、複数のフィールド領域または別のフィールドに対する完全なコンフィギュレーションを含むことも共に可能なことである。ここで上記のプログラムステップは、個々の、例えば対応付けられたＰＡＥ、すなわち例えばメモリセルを制御する機能セルがつぎのステップにおいて何をなすべきかをそれぞれ設定する。このような場合に容易に可能であるのは、組み立てたシーケンサ構造により、命令を送出することであり、この命令に基づいてセルエレメントフィールド領域のリコンフィギュレーションが行われる。これにより、この場合にこのコンフィギュレーションをトリガする機能セルは、同時にロードロジック（ＣＴ）としても動作する。注意すべきであるのは、別の複数のセルのコンフィギュレーションをここでもつぎのように実行できることである。すなわち、これらの別のセルにおいてシーケンサ的なデータ処理が行われ、またこれらのフィールドにおいてもプログラム処理中に別の複数のセルをコンフィギュレーションないしはリコンフィギュレーションできるように実行できることである。これにより、セルエレメント領域の繰り返しのコンフィギュレーションと、シーケンサおよび並列構造を有するプログラムの入れ子とが得られ、これらはロシアの木彫人形と同様に互いに入れ子にされる。またここでは例えば、入出力セルによって、個々の集積素子以外の別のセルエレメントフィールドにアクセスすることができ、これによって全体的な計算性能を極めて増大させることできることに注意されたい。例えば、セルエレメントフィールドに組み込みコンフィギュレーションされたシーケンサ構造のコード部分に複数のコンフィギュレーションが現れる際には、場合に応じて、各シーケンサ構造だけによって管理される、対応付けられた１つのセルエレメントフィールドにおいて上記の複数のコンフィギュレーションを要求するか、またはこれらの要求をコンフィギュレーションマスタユニットに送出して、すべてのセルエレメントフィールドが均一に占有されることを保証することができ、またはこの両者を行う。したがって所要のコンフィギュレーションをセルまたはロードロジックに渡すことによるサブプログラムコールのようなものが行われる。このことはそれ自体特許権による保護に値すると考えられる。また、セルは、それ自体が別のセルエレメントフィールド領域を管轄する場合、ハードウェアまたはソフトウェア的に実現されるFILMO構造およびこれに類似のものを有し、これによって通常のリコンフィギュレーションを保証できることにも注意されたい。命令を処理中にメモリセルに書き込みを行って、処理すべきコードないしは処理すべきプログラムを変更できることにも注意されたい。しかしながら殊に有利な変形実施形態では、このような自己書き換え（ＳＭ＝Selbstmodifikation）は、機能セルを介する相応の制御によって抑止される。
【００６２】
ここではメモリセルが、このメモリセルを制御する機能セルの制御を受けて、機能セルへと続くバスに直接または間接的に、記憶した情報を送出することができる。この間接的な送出は、例えばつぎの場合に行うことができる。すなわち、２つのセルが隣接しており、制御によって要求される情報がバスセグメントを介して、ＡＬＵ−ＰＡＥに到着するはずである場合に行うことができ、ここでこのバスセグメントは、メモリセルの出力側に直接接続できないバスセグメントである。このような場合、メモリセルは、例えばバックワードレジスタ（Backward-Register）を介してデータをこのバスシステムに送出することができる。したがって有利であるのは、メモリセルおよび／または機能セルの少なくとも１つがこのようなバックワードレジスタを有する場合であり、ここでこのレジスタは、メモリセルと機能セルとの間の情報路に配置することができる。これらのレジスタは、このような場合、必ずしも別の機能を有する必要はない。ここでこのようなことは、例えば、通例のマイクロプロセッサの慣用のＬＯＡＤ命令に相応して、さらなる処理のためにメモリセルからデータを要求して、ＰＡＥ内にロードする前にデータを変更し、これによって例えば命令LOAD++が実現される場合に容易に考えられるのであるが、このようなことは必要はないのである。
【００６３】
言い換えると、上記の構造内ではバスコネクションは必要に応じ、出願人のＸＰＰテクノロジにおける通例のフォワードレジスタ（ＦＲＥＧ）およびバックワードレジスタ（ＢＲＥＧ）によって行われる。このことにより、水平のバスシステム間でデータを垂直に伝送でき、また複数のバスをマルチプレクスまたはデマルチプレクスすることができる。念のために注意しておきたいのは、ＦＲＥＧおよびＢＲＥＧは（その名前の付け方とは異なり）必ずしもレジスタ段である必要はなく、単にオプションであり、場合によってコンフィギュラブルなレジスタを有することである。ここでは制御コネクション（ＣＭＤ）は、各機能セル（ＰＡＥ）のＦＲＥＧおよび／またはＢＲＥＧに導くことができ、これによって目下実行される命令に相応してバスデータ伝送が制御される。
【００６４】
メモリセルは有利には、このメモリセルを制御する機能セルから情報を受信するために配置されており、ここではさらに入出力セルおよび／またはこのメモリセルを制御しないセルを介して、情報を入力して記憶することも可能である。例えば、入出力セルからメモリセルにデータを書き込もうとする場合、この入出力セル（Ｉ／Ｏ−ＰＡＥ）も機能セルによって制御されると有利である。この際には例えば、メモリセルに書き込むべきであるか、または場合によっては機能セル（ＰＡＥ）にも直接伝送すべきである情報を読み出すアドレスを、ＡＬＵ−ＰＡＥからＩ／Ｏ−ＰＡＥに通知することができる。この関連において指摘しておきたいのは、このアドレスが、アドレス変換テーブル（アドレストランスレーションテーブル）、アドレストランスレーションバッファまたはＭＭＵ的な構造を介して、Ｉ／Ｏ−ＰＡＥにおいて決定できることである。例えば、このような場合、通例のマイクロプロセッサの完全な機能が得られる。
【００６５】
これによれば、機能セル−メモリセルの組み合わせは、有利な変形実施形態において少なくとも１つの入出力手段と対応付けられており、この場合にこの入出力手段によって、外部のユニット、別の機能セル、機能セル−メモリセルの組み合わせおよび／またはメモリセルに情報を送信し、および／またはこれらから受信することができる。
【００６６】
ここでこの入出力ユニットは有利には、同時に機能セルからの制御命令を受信するように構成される。
【００６７】
上記の機能セル−メモリセルの組み合わせは、有利にはＶＰＵ素子の残りの機能セルおよび／またはメモリセルにデータ伝送することができ、ここでこれらのセルは、例えば、ＰＡＥ（ＰＡ）からなるアレイにあるセルである。このために複数のバスシステムを介して、相応のセルにアクセスすることができる。このアクセスは有利には、この機能セル−メモリセルの組み合わせのＰＡＥのフォワードおよび／またはバックワードレジスタを介し、"Ｐｏｒｔ"制御コマンドを伝送することによって行われる。
【００６８】
有利な変形実施形態では制御コネクション（ＣＭＤ）は、以下の制御コマンドのうちの少なくともいくつかまたは有利にはすべてを伝送するように構成される。すなわち、
オペコードフェッチ、
内部／外部データアクセス、
内部／外部アドレスポインタのポジショニング
内部／外部プログラムポインタのポジショニング
プログラムポインタのインクリメント
内部／外部スタックポインタのポジショニング
スタックアクセス（ＰＵＳＨ，ＰＯＰ）
例えば、これらの機能は、以下のＣＭＤ制御コマンドによって実現することができる。すなわち、
load＿const：  レジスタに定数をロードせよ
write＿Rap ：  メモリアクセスに対してアドレスポインタを設定せよ（例えばヒープ）
read＿Rap：  メモリアクセスに対してアドレスポインタを読み込め（例えばヒープ）
read＿Reg：  メモリからレジスタを読め（ＲＡＭ−ＰＡＥにレジスタが実装されている場合）
write＿Reg：  メモリのレジスタにデータを書き込め（ＲＡＭ−ＰＡＥにレジスタが実装されている場合）
write&decr＿Reg：  スタックにデータワードを書き込み、スタックポインタをデクリメントせよ
read&incr＿Reg：  スタックからデータワードを読み込み、スタックポインタをインクリメントせよ
set＿Rpp：  プログラムポインタを設定せよ
set&push＿Rpp：  プログラムポインタをスタックに書き込み、プログラムポインタを新たに設定せよ
である。
【００６９】
これらの制御コマンドは、接続されたメモリセルおよび機能セル（ＰＡＥ）を制御するために使用される。さらにこれらの制御コマンドは、複数のバスシステムにおけるデータ伝送を制御し、これは例えば、マルチプレクサ、スイッチ、伝送ゲートフォワードおよびバックワードレジスタ（ＦＲＥＧ／ＢＲＥＧ）における類似のものなどを制御することによって行われる。別の命令は、例えば、
read＿Port：  アレイのポート（例えばＦＲＥＧによって実装される）からデータを読込む
write＿Port：  アレイのポート（例えばＢＲＥＧによって実装される）にデータを書き込む
である。
【００７０】
これは、制御線路の相応のビット幅と、受信側の対応するデコードとによって行うことができる。都度必要な制御およびデコード手段は、問題なしにまたコスト的に有利に設けることができる。明らかなようにこれらの信号によって、この装置の実践的に完全なシーケンサ機能が得られる。これによって汎用プロセッサデータ処理ユニットが得られることを言及しておく。
【００７１】
この装置は通例、つぎのように選択される。すなわち、機能セルがただ１つのマスタとして、制御コネクションおよび／または制御コネクションとして使用されるバスセグメントないしはバスシステムをアクセスできるように選択されるのである。これによって、制御線がコマンド線路として作用する装置が得られるのであり、これは慣用のプロセッサで行われている通りである。
【００７２】
機能セルおよびメモリセルないしはＩ／Ｏセルは有利には隣接して配置される。ここで隣接しているとは有利には、セルが直接隣り合って配置されていると理解される。択一的にはこれらは少なくとも密に並び合って配置される。機能セルおよびメモリセルを互いに隣接して配置構成することにより、機能セルにおいて制御と、要求された情報のデータ入力との間にレイテンス時間（Latenzzeit）が発生しないか、または大きなレイテンス時間が発生しない。それは単にセル間の接続線が長すぎないからである。このことが「直接」であると理解される。レイテンス時間を考慮しなければならない場合、シーケンサ構造にパイプライニングも設けなければならない。これは、クロックが極めて高い装置では殊に重要である。ここで指摘しておきたいのは、適切なメモリセルに相応に高速にアクセスすることのできる、相応に高い周波数でクロック供給されるセルユニットを設けることは簡単にできることであり、このようなセルユニットは従来技術においてそれ自体公知である。このような場合にも、例えばそれ自体公知のアーキテクチャエレメントを機能セルに使用する場合にも、同時に機能セルエレメントのリコンフィギャラビリティと、所属の結線とを設けることができる。殊に有利な変形実施形態では、機能セルと、メモリセル、Ｉ／Ｏセルなどの情報供給セルとは多次元に配置され、例えばマトリクスの形態でないしは１次元のグリッドのグリッド点等々に配置される。この場合のように、規則的な構造が設けられる場合、通例、第１行の１つのセルに情報、すなわちオペランド、コンフィギュレーション、トリガ信号などが供給される。これに対してその下の行ではデータ、トリガ信号および別の情報が送出される。このような場合に有利であるのは、複数のセルが同一の行にある場合であり、この場合にはバックワードレジスタを介して、機能セルの所要の入力側に情報供給セルから情報を伝送することができる。パイプライニングに対してレジスタを利用可能であることにも言及しておく。
【００７３】
ここではさらにセルエレメントフィールド、算術的および／または論理的機能を実行する機能セルと、情報供給セル、例えば、情報を受け取るおよび／または送出するおよび／または情報を記憶するための入出力セルおよび／またはメモリセルとを有する、例えば多次元のセルエレメントフィールドを作動させる方法に対して特許権による保護が要求されており、ここでは少なくとも１つの機能セルにより、制御命令が少なくとも１つの情報供給セルに送出され、当該情報供給セルにおいて制御命令に応答して、情報が上記機能セルに対して供給される。またここで機能セルは、供給された情報に応答して別のデータ処理を実行して、シーケンサ的にデータを処理するように構成されている。
【００７４】
すなわち、リコンフィギュラブルなフィールドにおいて、シーケンサ構造のメモリセルに制御命令を送出することによって、シーケンサ的なデータ処理が可能になる。ここでは制御命令として機能セルから送出できる命令により、慣用のプロセッサにおいて公知であるシーケンサ的な動作が可能になる。ここで注意したいのは、上記の命令の一部だけしか実現していなくても、完全なシーケンサ的なデータ処理を容易に保証できることである。
【００７５】
本発明の請求項１８ではデータ処理装置も提案され、ここでは機能および／または結線がコンフィギュラブルなセルエレメントの多次元フィールドと、当該セルエレメントに対応付けられるローカルなコンフィギュレーションを前もって保持するコンフィギュレーション事前保持手段（Konfigurationvorhaltemittel）とを有するデータ処理装置において、上記のコンフィギュレーション事前保持手段を構成して、事前保持されるコンフィギュレーションの少なくとも一部が不揮発的に前もって保持されている。
【００７６】
上記の変形実施形態を以下に再度、また図面を用いて例示的に説明する。
【実施例】
【００７７】
図１（ａ／ｂ）によると、一般的に０１０１で示される、データ処理のためのセルエレメントフィールド０１０１は、算術および／または論理機能を実行する機能セル０１０２と、情報を受け取り、格納および／または送出するためのメモリセル０１０３とを含む。ここで制御コネクション０１０４が機能セル０１０２からメモリセル０１０３に導かれている。
【００７８】
まず図１ａの動作の仕方を説明する。図１ｂは機能セルおよびメモリセルの有利な形態および配置構成を示している。
【００７９】
セルエレメントフィールド０１０１は、エレメント０１０２，０１０３，０１０４の結線が自由にコンフィギュラブルであり、詳しくいうと、新たにコンフィギュレーションされるのではないセルエレメント部分の実行中の動作が妨害されることなくコンフィギュラブルである。ここでは、バスシステム１０５を所要のように接続することによってコネクションをコンフィギュレーションすることができる。さらに機能セル０１０２はその各機能がコンフィギュラブルである。機能セルとは算術論理ユニットのことであり、このユニットは、リコンフィギュレーションを可能にする所定の回路が拡張されており、これらは、例えばステートマシン、有利にはセルエレメントフィールドの外部に配置されたロードロジック０１０６と通信するためのインタフェース配線（Schnittstellenbeschaltung）などである。本願出願人の相応する先行出願を参照されたい。
【００８０】
セルエレメントフィールド０１０１のセルエレメント０１０２，０１０３は、２次元で行および列に配置されており、ここで１つずつのメモリセル０１０３が機能セル０１０２に直接並んで配置されており、行毎に３つのメモリセル−機能セルの対が設けられている。この対において機能およびメモリセルはそれぞれ制御コネクション０１０４を介して互いに接続されている。機能セル０１０２およびメモリセル０１０３は入力側を有しており、これらは各セルエレメントがある行の上のバスシステムに接続されており、そこからデータを受け取る。さらにセル０１０２，０１０３は出力側を有しており、これらは行の下のバスシステム０１０５にデータを送出する。さらに説明するように、これに加えて各メモリセル０１０３はバックワードレジスタ（ＢＷ）を有しており、このレジスタによって、行の下のバスからのデータを、各行の上のバスに通すことができる。
【００８１】
制御コネクション０１０４と、機能セル（図２のＡＬＵ）ないしはメモリセル（図２のＲＡＭ）内の対応する回路とを除いて、図１のデータ処理のためのセルエレメントフィールドは、慣用のセルエレメントフィールドであり、このセルエレメントフィールドは、リコンフィギュラブルなデータ処理装置において、例えばＶＰＵにおいて、出願人のＸＰＰテクノロジに相応して、慣用かつ公知である。例えば、図１のセルエレメントフィールドは公知のように作動させることができ、すなわち、このセルエレメントフィールドは、Ｗａｖｅリコンフィギュレーション、デバッグ、トリガ信号伝送などのための相応の配線を有する。
【００８２】
本発明のセルエレメントフィールドの独自性は、制御コネクション０１０４と、対応する配線とにあり、これは図２ａ〜ｃに関連して以下に詳しく説明する。ここで述べておきたいのは、図１において制御コネクション０１０４がつねに、左にある機能セルエレメントから右にあるメモリセルに導かれており、しかもまさにこのような１メモリセルにだけ導かれているのに対して、明らかなように制御線に対してもコンフィギュラブルな結線を設けることができ、これにより、別の個所にあるメモリセルにアクセス（ansprechen）する、および／または場合によって１つ以上のメモリセルにアクセスすることができる。これは例えば、メモリセルから受け取り、格納および／または送出される情報に対して大きなメモリ需要がある場合である。しかしながら見やすくするために図１および２では、固定して設けられる個々の制御コネクションだけを引き合いに出しており、これにより、本発明の理解が極めて容易になっている。その他にこの制御コネクションは必要であれば、相応するプロトコルを前提として、慣用の線路によって置き換えることができる。
【００８３】
図２では、機能セル０１０２はＡＬＵとして、また機能セル０１０３はＲＡＭとして示されている。セルが設けられている行の上にはバス０１０５ａが延在しており、このバスにより、すでに述べたバックワードレジスタ０１０３ａと、メモリセルの入力側０１０３ｂおよびＡＬＵの入力側０１０２ｂとが接続される。この行の下に延在するバスシステムは０１０５ｂと記されている。ここではバスシステム０１０５ａ，０１０５ｂのうち関連するセグメントだけが示されている。ここからわかるのは、バスシステム０１０５ｂが、ＡＬＵ０１０２の出力側０１０２ｃ，ＲＡＭ０１０３の出力側０１０３ｃから択一的にデータを受け取り、またデータをバックワードレジスタの入力側０１０３ａ１に導くことである。
【００８４】
ＡＬＵ０１０２は、同時に別の入力側０１０２ａ１および出力側０１０２ａ２を有しており、これらは別のバスセグメントに接続することができ、またこれを介してこのＡＬＵは、オペランドのようなデータを受け取り、ないしは結果を送出する。
【００８５】
制御コネクション０１０４は、ＡＬＵの拡張された回路に持続的に制御されており、またここでは多くのビットを伝送できるコネクションを表している。ここで制御コネクション０１０４の幅はつぎのように選択される。すなわち、少なくとも前に書き込んだ制御命令をメモリセルおよびフォワード／バックワードレジスタ（ＦＲＥＧ／ＢＲＥＧ）に伝送できるように選択されるのである。メモリセル０１０３は同時に有利には３つのメモリ領域を有しており、すなわち、いわゆるスタック領域、ヒープ領域およびプログラム領域を有している。ここで各領域には専用のポインタが対応付けられており、このポインタを介して決定されるのは、スタック、ヒープおよびプログラム領域のどの領域を都度読み込みまたは書き込みアクセスするかである。
【００８６】
バス０１０５ａは、時分割多重化されてユニット０１０２および０１０３によって共通に使用される。このことは図２ｂ，２ｃに示されている。図２ｂにはつぎのような状況が示されている。すなわち、ＡＬＵ−ＰＡＥの出力側０１０２ａ２から、データがバックワードレジスタを介してＲＡＭセルの入力側に送信できる状況が示されている。これに対して、利用されないが同時に存在するＲＡＭの出力側０１０３ｃとバス０１０５ｂとの間の接続およびバックワードレジスタＢＷの出力側とＡＬＵ−ＰＡＥの入力側０１０２ｂとの間の接続は図２ｂの時点では重要でないため、破線で示されている。その一方、図２ｃではつぎのような時点が示されている。すなわち、この時点においてメモリセル０１０３は、制御線０１０４を介して決定されるメモリ領域、スタック（０２０３）、ヒープ（０２０２）、プログラム（０２０１）から、その出力側０１０３ｃを介して、バックワードレジスタを経由してＡＬＵ−ＰＡＥ０１０２の入力側２ｂに情報を供給する。この間にはＡＬＵ−ＰＡＥ０１０２ｃの出力側はインアクティブであり、またＲＡＭ−ＰＡＥの入力側０１０３ｂにおいて信号は受信されない。このため、相応するコネクションは破線で示されており、これによってインアクティブとして示されている。
【００８７】
ＲＡＭセル０１０３内には回路０１０３ｄが設けられており、ここで制御線０１０４ないしは制御線バスセグメント０１０４を介して受け取った情報がデコードされる。
【００８８】
本発明のこの変形実施形態はつぎのように使用される。すなわち、
まずＡＬＵ０１０２は、従来技術からすでに公知のように、中央のロードロジックからコンフィギュレーション情報を受け取る。この情報伝送は、それ自体公知のようにＲＤＹ／ＡＣＫプロトコルおよび類似のものを使用して行うことができる。ロードロジックにおいてFILMOメモリなどを設けて、装置の通常のコンフィギュレーションを可能にすることができることにも注意されたい。
【００８９】
ＡＬＵ０１０２をコンフィギュレーションするためのデータと共に、同時に一連のデータがロードロジックから伝送される。ここでこの一連のデータはシーケンサ的に処理すべきプログラムである。このプログラムは、すでにアプリケーションの実行ないしは計算のために実行すべきプログラムであるか、またはブートストラップ（Boot）であり、このブートストラップにより、最初に、実行すべきアプリケーションプログラムが外部ユニット（メモリ、周辺装置）からロードされる。ＡＬＵに対応付けられるメモリの一部が不揮発（例えば，ＲＯＭ，EPROM，EEPROM，フラッシュＲＯＭ）に構成されており、ブートストラップまたはアプリケーションプログラムがそこに固定して記憶されている場合には、上記のロードを省略することができる。これが殊に有利であり得るのは、アプリケーションがあらかじめ既知であり、変更不可に構成できる場合である。それはこの場合に固定的に実現することにより、格段にコストを低減し得るからである。したがってＡＬＵは、そのコンフィギュレーション中に線路０１０４に、相応する命令を送出し、この命令により、プログラムポインタが書き込みのためにＲＡＭ内の所定の値に設定される。その後、ロードロジックからＡＬＵにおいて受け取ったデータが、出力側０１０２ｃを経て、バス０１０５ｂ１およびバックワードレジスタ０１０３ａを介して供給され、そこからＲＡＭ−ＰＡＥ０１０３の入力側０１０３ｂに到達する。つぎにユニット０１０３ｄにより、制御線０１０４の制御命令に相応して、指示されたプログラムメモリ位置にデータが書き込まれる。これは、コンフィギュレーション時にロードロジックにから受け取られるすべてのプログラム部分がメモリセル０１０３に格納されるまで繰り返される。ＡＬＵのコンフィギュレーションが終了すると、このＡＬＵは、相応する命令を制御線０１０４に送出することによって、このＡＬＵがシーケンサ的に処理すべきつぎのプログラム部分を要求し、出力側０１０３ｃ、バス０１０５ｂ、ＲＡＭ−ＰＡＥ０１０３のバックワードレジスタおよびバス０１０５ａを介し入力側においてこれを受け取る。この際にプログラム処理中につぎのような状況が発生することがある。すなわち、プログラムメモリ領域内でジャンプが必要である、ＲＡＭ−ＰＡＥからデータをＡＬＵ−ＰＡＥにロードする、データをスタックに格納しなければならないなどの状況が発生することがある。これに関連するＡＬＵ−ＰＡＥとＲＡＭ−ＰＡＥとの間の通信は、制御線０１０４を介して行われるため、ＡＬＵ−ＰＡＥは各時点にデコードを行うことができる。さらに、慣用のマイクロプロセッサと同様に、スタックまたは別のＲＡＭメモリ領域からデータを受け取ることもでき、またはさらにオペランド以外のデータをＡＬＵ−ＰＡＥにおいて受け取ることができる。
【００９０】
ここではＲＡＭ−ＰＡＥにおいてロードロジックによって事前コンフィギュレーションされたプログラムシーケンスの処理が行われる。この際にＡＬＵ−ＰＡＥでは、それ自体必要であるように、同時に命令デコードが行われる。これは、ロードロジックから得られる命令のデコードにすでに使用されるのとそれ自体同じ回路によって行われる。
【００９１】
ＡＬＵを介して各時点に制御線０１０４が制御されるため、ＲＡＭセルはつねに、ＡＬＵによって設定されるメモリアクセスの種類を精確に遵守する。これによって保証されるのは、バスエレメント０１０５ａ，ｂの時分割多重利用とは無関係に、シーケンサ構造に設けられているエレメントにつねにつぎがあらかじめ与えられることである。すなわち、取り出すべきおよび／または書き込むべきデータまたはコードに対するアドレスがバスにあるか否か、またはデータを書き込むべきか否かおよび場合によってはどこに書き込むべきか等が上記のエレメントにつねにあらかじめ与えられるのである。
【００９２】
図２に関連して示した配置構成は、種々異なる方式に拡張または変更することができる。殊に関連するのは、図３ａおよび３ｂに示した変形実施形態である。
【００９３】
図３ａでは、上側および下側のバスを接続するためにＲＡＭ−ＰＡＥにバックワードレジスタだけが設けられているのではなく、このＲＡＭ−ＰＡＥにはフォワードレジスタも設けられており、またＡＬＵ−ＰＡＥにフォワードレジスタおよびバックワードレジスタが設けられている。複数の矢印によって示したようにこれらは、外部のホスト、ハードディスクのような外部周辺装置、メインメモリなどのような別のユニットから、および／または別のシーケンサ構造、ＰＡＥ、ＲＡＭ−ＰＡＥなどからデータを受け取り、またこれらに送出するために使用可能である。ＡＬＵ−ＰＡＥおよびＲＡＭ−ＰＡＥによって構成されるシーケンサ構造から、新たなプログラム部分に対する相応の要求命令が送出される場合、可能であるのは、ＲＡＭ−ＰＡＥに記憶可能なものよりもはるかに大きなプログラムブロックをこのシーケンサ構造において処理することである。このことは、殊に複雑なデータ処理作業、複数の広い領域にわたるジャンプ、例えばサブプログラムなどにおいて極めて有利である。
【００９４】
さらに有利な変形実施形態は図３ｂに示されている。ここではＡＬＵ−ＰＡＥはＲＡＭ−ＰＡＥだけと通信するのではなく、同時に入力／出力−ＰＡＥとも通信する。ここでこれは、外部のコンポーネント、例えば、ハードディスク、別のＸＰＰ−ＶＰＵ、異種のプロセッサおよびコプロセッサ等との通信に対するインタフェース配線を設けるために構成されている。ここでもＡＬＵ−ＰＡＥは、「ＣＭＤ」と称される制御コネクションに対するマスタとして動作するユニットであり、ここでもバスは多重化されて使用される。ここでもバックワードレジスタを介して、行の下のバスから行の上のバスにデータを伝送することができる。
【００９５】
図３ｂに示した配置構成によって可能になるのは、メモリセルＲＡＥ−ＰＡＥに記憶できない情報への外部アクセスを殊に簡単に構成することであり、またこれによってシーケンサ構造を既存の慣用のＣＰＵテクノロジに適合させることができ、また入力−出力セル、アドレス変換手段、メモリ管理ユニット（ＭＭＵ機能）およびそれに類似するものにおいてという点でその動作方式をさらに強力に実現できることである。ＲＡＭ−ＰＡＥは、ここでは例えば、キャッシュとして、殊にプリロード（vorgeladen）されるキャッシュとして使用可能である。
【００９６】
ここで指摘しておきたいのは、複数のシーケンサ構造を同時に同一のフィールドにコンフィギュレーションして組み込むことができ、これによって機能セル、メモリセルおよび場合によって入出力セルを選択的にシーケンサ構造に対して、および／またはＸＰＰテクノロジに対して慣用の方法でコンフィギュレーションすることができ、またＡＬＵが別のＡＬＵにつぎのようなデータを送出することが簡単に可能になる。すなわち、ここではこれらデータによって、この別のＡＬＵは、シーケンサ的にコンフィギュレーションされ、および／または所定のコンフィギュレーションが処理されるセルエレメントフィールドの一部になる。この場合、これによって場合によってはロードロジックも不要になる。
【００９７】
図４にはＰＡＥの基本構造が再度詳しく示されている。通例１つまたは複数のＡＬＵおよび／またはメモリおよび／またはＦＰＧＡエレメントからなるＰＡＥのコアは、バスシステム０１０５ａからデータを受け取り、データ処理の結果をバスシステム０１０５ｂに伝送する。このコアの他にはフォワードレジスタ（ＦＲＥＧ，０４０２）およびバックワードレジスタ（ＢＲＥＧ，０４０３）が配置されており、これらは０１０５ａから０１０５ｂ（ＦＲＥＧ）にないしは０１０５ｂから０１０５ａ（ＢＲＥＧ）にデータを伝送する。ＢＲＥＧおよびＦＲＥＧも同様に１つまたは複数のＡＬＵおよび／またはメモリおよび／またはＦＰＧＡエレメントを含むことができる。しかしながら有利にはこれらの機能範囲はコア（０４０１）に比べて制限されている。
【００９８】
バスシステム０１０５ａおよび０１０５ｂは有利にはそれぞれ、データを伝送するバスシステム（ＤＡＴＡ）と、トリガ、すなわちステータス信号を伝送するバスシステム（TRIGGER）とに分けられる。
【００９９】
ＰＡＥのコンフィギュレーションは、上位のコンフィギュレーションユニット（例えば、ＣＴ）によって行われ、このユニットはコンフィギュレーションバス（０４０４）を介してコンフィギュレーションワードをＰＡＥに伝送する。これらのワードはコンフィギュレーションレジスタ（０４０５）に記憶される。オプションではPACT17にしたがいまた、以下に説明するようにコンフィギュレーションバス（０４０４）とコンフィギュレーションレジスタ（０４０５）との間にコンフィギュレーションスタック（０４０６）を挿入接続することができる。
【０１００】
このコンフィギュレーションスタックは、データおよび／または有利にはトリガをバスシステム０１０５（ａ／ｂ）から受け取り、またこれに送出することができる。
【０１０１】
このＰＡＥは、専用のバスシステム（ＩＯチャネル，０４０７）への端子をオプションで有することができる。このバスシステムを制御するため、コア（０４０１）に付加的なバス制御ユニット（０４０８）が接続される。このＩＯチャネルを介してＰＡＥは、直接、グローバルな、場合によっては外部メモリおよび／または周辺装置および／または別のＰＡＥとデータを伝送することができる。
【０１０２】
有利な実施形態では、０４０４を介してデータ処理に対する定数を設定することも可能である。別の実施形態では、コンフィギュレーションユニット（例えば、ＣＴ）は、ワークレジスタからデータを読み出すことができる。
【０１０３】
図４は、相応するＲＡＭ−ＰＡＥを表すことも可能である。この場合、０４０４を介してＣＴにより、ＲＡＭの機能および結線を設定することができる。この機能には例えば、以下の機能またはそれらを組み合わせたものが含まれる。すなわち、
１．  ランダムアクセス
２．  ＦＩＦＯ
３．  スタック
４．  キャッシュ
５．  ＭＭＵに対するページメモリ
が含まれる。
【０１０４】
さらに、有利な実施形態ではメモリにＣＴのデータをプリロードすることができる（例えば、定数、ルックアップテーブルなど）。同様にＣＴは、拡張した実施形態において、メモリから０４０４を介して、データ（例えば、デバッグのためのデータまたはタスク切換のためのデータ）を読み出して戻すことができる。
【０１０５】
有利な実施形態では、ＲＡＭ−ＰＡＥは、バスシステム０１０５への複数の端子を有することができ（デュアルポートまたはマルチポート）、これによって複数のデータ転送を同時に行うことができる。
【０１０６】
別の実施形態ではＲＡＭ−ＰＡＥは、外部バスに対する専用の端子を有することができる。
【０１０７】
複数のＲＡＭ−ＰＡＥは一緒に接続して、複数の（ｎ個の）ＲＡＭ−ＰＡＥから、ｎ倍のサイズを有するメモリを得ることができる。
【０１０８】
図５には図３ｂのシーケンサの変形実施形態が示されている。このＡＬＵ−ＰＡＥは、最小のレジスタセットＲａ，Ｒｂ，Ｒｘを有しており、このレジスタセットは、この例においてオペランドおよび結果をバッファリングするためだけに使用される。実際のレジスタセットは、ＲＡＭ−ＰＡＥ（Ｒ０…Ｒｎ）に設けられる。同様にＲＡＭ−ＰＡＥ内にレジスタ
Ｒｐｐ：  プログラムポインタ
Ｒａｐ：  データアクセスに対するアドレスポインタ（例えば、ヒープ）
Ｒｓｐ：  スタックアクセスに対するスタックポインタ
Ｒｆｐ：  サブプログラムコールの際にスタックポインタを保証するためのフレームポインタ
が設けられている。
【０１０９】
ＣＭＤバスは、ＡＬＵ−ＰＡＥによって制御され、また関与するすべてのＰＡＥと、ＦＲＥＧおよびＢＲＥＧとにシーケンサのフロー情報を伝送して、バスシステム（０１０５ａ，０１０５ｂ）におけるデータ伝送を制御する。
【０１１０】
ＲＡＭ−ＰＡＥは、この実施例において専用のＩＯチャネル（０５０１）を有しており、このチャネルを介してこのＲＡＭ−ＰＡＥは場合によってはそれ自体で（例えば、ＤＭＡコントローラを介して）周辺のユニットから、またはこれらのユニット（例えばＩＯ、メモリ）にデータを伝送することもできる。ここで再度、注意したいのは、このＡＬＵ−ＰＡＥもこのような専用の端子を有することができるか、または別の変形実施形態においてＲＡＭ−ＰＡＥの代わりにＡＬＵ−ＰＡＥがこのような端子を有することができる。
【０１１１】
オプションでは１つまたは複数のデータ交換装置が、ＰＡの残りのセル（例えば、機能および／またはメモリセル）によって実現される。入力ポート（０５０２）を介してＰＡからデータを読み出すことができ、出力ポート（０５０３）を介してデータを交換することができる。これらのポートは、例えば、ＣＭＤ制御コマンドread＿portおよびwrite＿portによって制御され、バスシステムを相応に切り換える。これらの制御コマンドによってセレクタが伝送され、ここでこのセレクタは、この制御コマンドがどのポートをアクセスするかを示す。
【０１１２】
上に示したようにＲＡＭ−ＰＡＥ内にレジスタを配置することはふつうではないが、これによって大きな２つの利点が得られる。
ａ）メモリセルをレジスタに使用できる。
ｂ）ポインタは、ＲＡＭ−ＰＡＥに直接設けられており、これによってメモリへのデータアクセスは殊に高速である。さらにすべてのメモリアクセスに対してバスシステム０１０５の１つのバスだけしか必要でなく、ここでは通常は付加的に必要なアドレスバスが省略されるのである。それはアドレスがＲＡＭ−ＰＡＥにおいてローカルにポインタにより与えられるからである。したがってこの配置構成は、出願人により好まれて通例、実装されるのである。
【０１１３】
すべてのデータ転送に対してレジスタの状態に注意すべきである。できる限りに単純な命令だけをシーケンサに実装するため、レジスタ操作のための専用の命令を設ける。すなわち、
moveta Rrr：  レジスタＲｒｒ（ｒｒ∈｛１…ｎ，ｓｐ，ｐｐ，ｆｐ，ａｐ｝）をＲａにロードせよ
movetb Rrr：  レジスタＲｒｒをＲｂにロードせよ
movefx Rrr：  レジスタＲｘをＲｒｒに書き込め
を設ける。
【０１１４】
ＡＬＵのデータフロー特性を維持するため、有利には特別な専用のオペコード（OpCode）を実装する。すなわち、
feed：  データを変更せずにＲａ／ＲｂからＲｘに伝送せよ
を実装する。
【０１１５】
以下の例により、シーケンサの動作を説明する。
レジスタＲ１をレジスタＲ２に加えて、結果をレジスタＲ２に書き込め。すなわち、
moveta R1; movetb R2; add; movefx R2；
レジスタＲ４をレジスタＲ７に書き込む。すなわち、
moveta R4; feed; movefx R7；
Ｒ５をスタックに伝送する。すなわち、
moveta R5; feed; push；
注釈：pushは、Ｒｓｐがポイントするメモリ位置にレジスタＲｘのデータを伝送してＲｓｐをデクリメント（ないしはインクリメント）する。
間接アドレスＲ４をＲ７に加えてアドレスポインタＲａｐに設定せよ。すなわち、
moveta R4; movetb R7; add; movefx Rap；
メモリ位置ＲａｐからＲ１にデータをロードせよ。すなわち、
load; feed; movefx R1；
注釈：loadは、Ｒａｐがポイントするメモリ位置からＲａにデータを伝送する。
【０１１６】
データレジスタは有利にはＲＡＭ−ＰＡＥのメモリ内に、例えば（ｎ＝７に対して）０ｘ０〜０ｘ７に配置される。レジスタは、例えば、相応するＣＭＤ制御コマンド（例えばead＿reg，write＿reg）が現れた際にレジスタ番号が一緒に伝送され、これがアドレスとしてメモリに伝送されかつ上位のアドレスビットに０が充填されることよってアクセスされる。
【０１１７】
この場合にコードに対するスタートアドレスは、例えば、０ｘ８（すなわち０ｘ(ｎ＋１)）になり、プログラムポインタＲｐｐはリセットの後、ここをポイントすることによなる。アドレスポインタは有利にはメモリに格納されず、専用に実装されたレジスタに収容されて、メモリのアドレス線に高速かつ簡単な切り換えが可能になる。
【０１１８】
図５ｂにはＡＬＵ−ＰＡＥ内にレジスタセットを有する変形アーキテクチャが示されている。ここでは手間のかかるレジスタ転送操作が省略され、これによってこの変形形態はデータ処理が極めて高速でもある。しかしながらハードウェアコストは高くなる。それはレジスタセットを付加的に実装しなければならないからであり、またすべてのメモリアクセスに対してＡＬＵ−ＰＡＥからＲＡＥ−ＰＡＥにアドレスを伝送しなければならない。
【０１１９】
RAMoverPAE
以下に説明する、ＡＬＵ−ＰＡＥ（以下ではＲＯＰ−ＰＡＥと称する）の特別な実施形態は、つぎのようなＶＰＵに有利である。すなわち、そのアプリケーションが、極めて乱雑な順序で小さなデータ量にアクセスする不規則なシーケンシャルコードを有するＶＰＵに有利である。
【０１２０】
このような課題を実現するため、ＡＬＵ−ＰＡＥにメモリが組み込まれており（ＩＲＡＭ＝Integrated RAM）、ＡＬＵはこれに直接、書き込み／読み出しアクセスを行う。このＡＬＵは、相応にアドレス管理回路が拡張される。したがって殊にＰＡＥを上記の構造（ＩＰＡＥ）にしたがって使用することができる。ここでは別個のＲＲＡＭが、場合によっては省略され、また組み込まれたＩＲＡＭによって置き換えられるか、またはＲＲＡＭがこの内部のＩＲＡＭに付加的に、いわばメモリ拡張として設けられる。
【０１２１】
殊に有利な実施形態では、有利にも限定されているが有利にも完全な命令セットを有する（ＡＲＣマイクロプロセッサを参照されたい）マイクロコントローラないしはシーケンサがＲＯＰ−ＰＡＥに組み込まれており、このマイクロコントローラないしはシーケンサにより、シーケンシャルなコードの処理が可能になる。別の変形実施形態では、シーケンサの機能およびフロー挙動もコンフィギュラブルに構成することできる（例えば、従来技術から公知のように構成することができる。例えば、AlteraのEPS448[ALTETA Data Book 1993]による）。シーケンサ／マイクロコントローラは、ＲＯＰ−ＰＡＥの状態（例えば、ステータス信号、イベント）および／または（例えばバスシステム介して）ＲＯＰ−ＰＡＥに接続されている別のＰＡＥの状態（例えば、トリガにも）にも応動することができる。
【０１２２】
このシーケンサ／マイクロコントローラは、そのプログラム命令をＩＲＡＭから読み出す。アレイ（ＰＡ）のバスシステムへのアクセスはふつうのＰＡＥと同じである。ステータス信号の転送、受け取り、生成も同様である（PACT08によるトリガ）。データおよびトリガ入力側に対して、またデータおよびトリガ出力側に対して複数のバス接続を設けることができる。
【０１２３】
ＲＯＰ−ＰＡＥは、このバスからオペランドを読み出すことができ、場合によって複数のサイクルで処理して、結果を再びバスに書き込むことができる。
【０１２４】
有利な実施形態においてＲＯＰ−ＰＡＥにはレジスタセットが組み込まれる。このレジスタセットは、有利な実施形態において、トランスピュータのレジスタセットと類似にスタックとして編成することができる。これによってレジスタセットを殊に小さくかつハードウェア技術的に効率的に実現することができる（通例、３つのレジスタＡ，ＢおよびＣで十分である）。さらにトランスピュータ技術から公知であるのは、コンパイラが、ハードウェア技術的に見てコスト的に有利なこのようなレジスタセットと効率的に動作できることである。同様にこのレジスタセットを、オプションでＲＲＡＭに配置することができる。
【０１２５】
有利な実施形態では、ＲＯＰ−ＰＡＥは、外部のＲＡＭおよび／または外部のＩＯに対して直接の端子（EXTBUS）を有する。アプリケーションに依存して複数のEXTBUSを設けることが可能である。この際に殊に有利な実施形態では、例えばDE 196 54 595.1-53またはDE 102 06 653.1から公知の、インタフェースコンポーネント（ＩＯＡＧ）へのＰＡＥバスシステムのコネクション、場合によって専用のコネクションを介して、このEXTBUSを実現することできる。ここでメモリ（ＲＡＭ）および／または周辺装置（ＩＯ）の制御は、上記のインタフェースコンポーネントによって行われる。
【０１２６】
有利な実施形態では、ＲＯＰ−ＰＡＥは、またこの際に有利にもＩＲＡＭは、それ自体で直接、外部のＲＡＭおよび／または外部のＩＯおよび／または別の内部のメモリ（ＲＲ
ＡＭ／ＩＲＡＭ）に対するアドレスを生成して、外部または内部におけるデータ転送をそれ自体で制御することができる。この機能は、ＲＲＡＭに組み込まれる独立したアドレス発生器によって実現可能である。例えば、ＤＭＡコントローラはこの作業に殊に有利であり、ここでこれはこのコントローラにより、データがメモリ間でコピーされることによって行われる。読み込むべきデータのアドレス空間および宛先アドレス空間は、相応に設定されてコピー過程が開始される。この設定はＩＰＡＥによって行うことができる。ハードウェア的によりコストをかけられる解決手段では、この機能を、実装されたメモリ管理ユニット（ＭＭＵ＝MemoryManagementUnit）によって実現することができる。機能の仕方は、従来技術によって決まっており、また公知である。まとめるとＭＭＵはつぎのように動作する。すなわち、
ＭＭＵによって管理されるＲＲＡＭメモリは、複数のページ（page）に分割される。各ページは、外部のメモリ内の仮想メモリ空間のデータを含んでいる。例えば、１６進数のＲＲＡＭアドレス0x0a00…0x0affは、外部記憶装置のアドレス0xbd13200…0xbd132ffにおけるデータを含むことができる。アドレス変換を管理するため、アドレス変換ユニットを使用し、ここでこれは通例、ルックアップテーブルによって実現される。ＭＭＵの役割は、殊に大きな１つのメモリ空間を、はるかに小さな１メモリ空間（この場合にはＲＲＡＭである）に変換することである。これは、ページを必要に応じて、大きなメモリ空間を小さな空間にコピーすることによって行われる。ページが不要になると直ちにこのページは消去および／または上書きすることができる。ページのデータが変更された場合、このページは有利には消去／上書きの前に大きなメモリ空間に書き戻される。
【０１２７】
アドレス変換ユニットは、物理アドレスの上位部分（すなわちページのアドレス）が、ルックアップテーブルに格納されるように動作し、また小さなメモリ（ＲＲＡＭ）内のページが利用可能になると直ちに、このＲＲＡＭのこのページの相応するデータをポイントする。これによってこのページにアクセスすることができる。ＲＲＡＭにページがない場合、参照（Referenz）も書き込まれない。この場合、ページをまず大きな（外部の）メモリ空間からこのＲＲＡＭにコピーしなければならない。このためには有利には目下使用していない別のページを、上記のフローのように上書きすることができる。
【０１２８】
この際にコピーは自動に行うことができ、すなわち、シーケンサが実質的に関与することなく行うことができ、ＭＭＵによってＤＭＡコントローラが制御されることにより行われる。このコントローラには、ＲＲＡＭおよび外部のＲＡＭにおける相応のページアドレスならびにページサイズがＭＭＵによって供給される（例えばレジスタに書き込まれる）。
【０１２９】
ＲＯＰ−ＰＡＥは、コンフィギュレーションユニットへの端子を有しており、このコンフィギュレーションユニットにより、通例の方法に相応してこのＲＯＰ−ＰＡＥがコンフィギュレーションおよびリコンフィギュレーションされる。有利な実施形態では、ＣＴはＩＲＡＭに読み出しおよび／または書き込みアクセスすることができ、これによってＩＲＡＭにおける、シーケンサに対するデータおよび／またはコードが管理される。
【０１３０】
殊に有利な実施形態ではＲＯＰ−ＰＡＥは、ＰＡバスシステムおよび／またはEXTBUSを介して外部のＲＡＭから、シーケンサに対するコードをそれ自体でロードすることができる。
【０１３１】
有利な実施形態ではＩＲＡＭは、別のアドレス領域にある複数のセグメントに分割される。これらのセグメントは、例えば、以下の複数の機能のいくつかに対して分割することができる：
シーケンサメモリ、スタック（例えば、レジスタセットに対する）、データメモリ、ヒープ、ＩＯバッファ、外部ＲＡＭに対するバッファないしはキャッシュ、ルックアップテーブル、ＰＡＥおよび／またはバスに対するコンフィギュレーション、ＲＯＰ−ＰＡＥのレジスタセット。
【０１３２】
これに加えて機能に応じて、以下の制御メカニズムを設けることができる。すなわち、
シーケンサ／コードメモリ：相応するメモリ位置に対するポインタ（Ｒｐｐ）、
スタック：スタックの最上位メモリ位置へのスタックポインタ（Ｒｓｐ）、場合によっては従来技術（例えばIntelのPentium）から公知のようにフレームポインタ（Ｒｆｐ）も、
ＰＡＥおよび／またはバスに対するコンフィギュレーション：ＣＴ内のポインタがこれをポイントすることができる、および／または実装に依存してＰＡＥのコンフィギュレーション制御部内のポインタがこれをポイントすることができる、
ＩＰＡＥのレジスタセット：ＰＡＥのレジスタセットをメモリに収容する場合、これは、ＰＡＥにより、直接、有利にはハードウェア技術的に固定的にあらかじめ設定されてアドレッシングされる。
【０１３３】
データメモリ、バッファ、テーブルなどの残りのメモリ領域は、通例、コンパイラまたはプログラマによって作成される。これらの領域のアドレッシングは、実行すべきプログラムおよび／またはオペレーティングシステムによって行われ、またこのプログラムおよび／またはオペレーティングシステム内で、場合によってはシーケンサのＡＬＵおよびレジスタセットを利用して計算される。
【０１３４】
考えられ得る変形実施形態では、ＩＰＡＥにおいて説明したように、ＩＲＡＭは完全にまたは部分的に、ＲＯＰ−ＰＡＥの外部でＲＡＭ−ＰＡＥによって実現される。場合によっては、異なるセグメントに対して別個のＲＡＭ−ＰＡＥを使用することができる。
【０１３５】
有利な実施形態では、いくつかまたはすべてのセグメントをアクティブなメモリとして構成することができる。すなわちこれらのセグメントは、ＤＭＡおよび／またはＭＭＵを有し、これによってそれ自体でそのメモリに別のメモリからデータをコピーし、またはそのメモリから別のメモリにデータをコピーすることができる。例えば、これは、DE 199 26 538.0に記載されたメモリの機能、例えば、ＦＩＦＯ、スタック、ランダムアクセス、キャッシュなどのを有することができ、この際に機能はセグメント毎にコンフィギュラブルであり、および／またはシーケンサによってプログラム可能である。
【０１３６】
１実施形態では、ＩＲＡＭをマルチポートメモリとして実施することができる。このマルチポートメモリは、複数のメモリアクセスユニットによるメモリ内容への場合によっては同時に行われる書き込みおよび／または読み出しアクセスを可能にする。
【０１３７】
メモリアクセスユニットは、例えば、外部および／または内部の周辺装置、プロセッサ、別のＰＡＥとすることができる。
【０１３８】
殊に有利な実施形態では、ＲＯＰ−ＰＡＥは、ローカルなコンフィギュレーションユニットとしてまた場合によっては同様にグローバルなコンフィギュレーションユニットとして、周囲のＰＡＥに対するＣＴに類似して動作することができるか、または殊にこの機能も満たすことができる。ＲＯＰ−ＰＡＥは、ローカルコンフィギュレーションユニットとして使用される際、有利にはDE 196 54 846.2-53から公知の方法にしたがって動作する。このＲＯＰ−ＰＡＥをグローバルコンフィギュレーションユニットとして使用するか、または極めて多くのローカルなＰＡＥをコンフィギュレーションする場合、有利にはDE 196 54 593.5-53による方法を使用し、ここでこの方法は、FILMO機能を有するため、極めて多くかつ互いに依存しないコンフィギュレーションも管理することができる。ＲＯＰ−ＰＡＥは、シーケンサ／マイクロコントローラによって制御されて、ＩＲＡＭのコンフィギュレーションをアドレッシングして、ＰＡＥおよび／またはそれ自体においてこれをコンフィギュレーションし、および／またはシーケンサ／マイクロコントローラのフローを決定する。ここで有利には、公知のインターＣＴプロトコル（DE 198 07 872.2，DE 100 28 397.7，DE 199 26 538.0）に類似して上位のコンフィギュレーションユニット（例えばＣＴまたは別のＰＡＥ）との同期化が行われる。ＲＯＰ−ＰＡＥは、複数のEXTRAMインタフェースの１つを介してコンフィギュレーションをそれ自体でロードし、および／またはＣＴインタフェースを介して上位のコンフィギュレーションユニットにコンフィギュレーションを要求することができる。機能の仕方は、DE 196 54 846.2-53のリコンフィギュレーションユニットと類似にすることができる。
【０１３９】
まとめるとＲＯＰ−ＰＡＥの基本的な動作の仕方は、そのバス接続および／またはデータ転送および／またはプログラムフローがＶＰＵシステムに相応するマイクロコントローラに類似している。言い換えるとこれは、そのバスシステムがＶＰＵアーキテクチャの原理に基づくマルチプロセッサ装置なのである。個々のプロセッサは、有利には上位の制御ユニット（ＣＴ）によって管理される。データ伝送は、バスシステムのＲＤＹ／ＡＣＫプロトコルを介してそれ自体で同期する。殊に重要な様相であると考えられるのは共通のプロセッサ状態であり、これは、トリガバスシステムを介して表され、プロセッサの集合の状態を表す。ここでこの状態は、複数のプロセッサの場合にフロー制御のために交換しなければならない状態である。これについてはDE 197 04 728.9，DE 101 39 170.6およびDE 101 29 237.6-53を参照されたい。
【０１４０】
同様にＲＯＰ−ＰＡＥに対しても特許権保護が要求される。ここでこれは、ＰＡＥからなるアレイの内部バスシステムに接続される端子に加えて、広域のバスシステムに接続される専用の端子（ＩＯチャネル）を有する。ここでこのバスシステムは、殊にアレイ内部の長い区間にわたってデータを伝送し、および／または例えば周辺装置に直接、接続される。ここで周辺装置とのこの接続は直接行うことができ、これは、例えば、バスシステムがすでに周辺装置のプロトコルに適合しているか、またはプロトコルを変換する相応するプロトコル変換器を介して行われる。この際にこの専用のバスシステムはすでに業界標準、例えばＰＣＩ，RapidIO，Firewire，ＵＳＢ，Ethernet，RAMBUS，DDR-RAM等に適合させて、簡単かつコストをかけずに周辺装置との接続を可能にすることができる。
【０１４１】
場合によっては、挿入接続されたＩＯＡＧ（DE 196 54 595.1-53を参照されたい）においてプロトコル変換を実行して、内部的かつ簡単なまた場合によっては独自のバスプロトコルを、１つまたは複数の複雑な外部の標準プロトコルに変換することもできる。
【０１４２】
すでに挙げたバスプロトコルから明らかなように、周辺装置とはメモリのこともいうことに注意されたい。
【０１４３】
同様に本発明において殊に重要であるのは、ＰＡＥが専用のバスシステムへの複数の端子を有し得ることである。
【０１４４】
さらに適用に依存してつぎのようなアーキテクチャも有利である。すなわち、ＰＡＥの１部分集合だけが専用のバスシステムへの端子を有するか、または相異なるＰＡＥが、場合によっては同様に相異なる専用のバスシステム対して、相異なる個数の端子を有することも有利である。
【０１４５】
上記の構造は、拡張かつ改善された半導体作製方法および半導体構造により、殊に効率的に実現可能であり、ここでこれは物理的なチップにおいて、ＰＡＥの論理的な機能（ＡＬＵ、制御部、バスなど）の空間的な上および下にメモリを配置することによって行われる。これに対しても特許権が要求される。
【０１４６】
このためには、従来技術から公知の第１の半導体構造（例えばシリコン）およびこれによって形成されたトランジスタ構造に、半導体構造（トランジスタ構造）の１つまたは複数の別のレイヤをデポジットする。ここでこれらのレイヤは付加的な機能に利用することができる。例えば、第１のレイヤはＰＡＥ機能のロジックおよびゲートを、また別の付加的なレイヤにはメモリ機能を実装することができる。
【０１４７】
有利な構成の仕方では、個々の半導体層を絶縁層によって互いに分離する。この絶縁層は、貫通コンタクト部（ヴィア Via）を有し、個々の半導体層間で信号を伝送することができる。
【０１４８】
配線構造は、適用に応じて様々に実現することができる。例えば、各半導体層に直接、配線レイヤおよび／またはすべての半導体層に対応付けられるグローバルな配線レイヤを設けることができる。
【０１４９】
経済的な歩留まりを得るために保証しなければならないのは、回路全体、すなわちすべての半導体構造レイヤをまとめて十分に高い歩留まりを達成することである。さらに、注意しなければならないのは、すべての半導体構造レイヤを合計した電流消費、すなわち損失電力が、過熱とこれに結び付く回路の故障とを生じさせない許容範囲内にあることである。個々の半導体レイヤの複数の機能ユニットを有利にまとめることにより、相応する要求に適合することが可能である。
【０１５０】
例えば、提案したアーキテクチャに対して、上記の要求に有利な論理半導体構造のレイヤと、メモリ半導体構造の別のレイヤとが設けられる。不規則かつ冗長性の少ない論理半導体構造が損失出力の多く比較的高い故障率を有するのに対して、メモリ半導体構造は比較的冗長であり故障率が低く、また有利な記憶方式（例えば、ＤＲＡＭ）により、わずかな損失出力で実現できる。明に指摘しておきたいのは、すべてのメモリスペースおよび／またはすべての論理半導体構造が完全に機能しないフィールドを設けることができることであり、必要であるのは、最小限の要求を保証することおよび／または規則にかなった管理だけである。冗長性は有利には２つの構造に対して別個であると考えられる。
【０１５１】
いくつもが重なりあった半導体構造のデポジットは、様々な方法によって行うことができる。例えば、蒸着および／または結晶化によって行うことができる、絶縁層に別の半導体層をデポジットするすでに説明した方法の他に、熱的または機械的な接合が可能であり、ここでこれは例えば、デポジットすべきシリコン構造をはんだ付けするか、接着することよって行われる。はんだ付けのためには例えば、半導体チップとケーシングとを接合するテクノロジから公知の方法も有利である。ここではこれは例えばリフローはんだ付けまたは熱圧着である。原理的には簡単な機械的な接合方法も可能であり、この際には続いて配線を、例えばワイヤボンディングによって行うことができる。これに対する前提は、複数のシリコン構造が異なるサイズを有し、このためにワイヤを１つのシリコン構造表面からつぎのシリコン構造表面に配線することができ、また接続の数が比較的少なく、このためにこの接続をワイヤボンディングによってなお実現し得ることである。
【０１５２】
歩留まりを最適化するために例えば冗長方式をDE 197 57 200.6-33にしたがって適用することができる。ここで触れておきたいのは、DE 197 57 200.6-33に記載されたこの方法は、すべてのＰＡＥに対して実施できることである。すなわち例えば、ＡＬＵ−ＰＡＥに対しても、またＲＡＭ−ＰＡＥに対しても同様に実施できるのである。言い換えると、すべてのＰＡＥに対してDE 197 57 200.6-33に記載した冗長方式を適用できるのである。そこに記載されたテキスト方式も実現可能である。
【０１５３】
主に粒度の細かい構造を有するＰＡＥに対して、すなわち例えばメモリ（ＲＡＭ−ＰＡＥ）またはＦＰＧＡに対して有利であるのは、この粒度の細かい構造に相応に粒度の細かい冗長性を持たせることである。すなわちＲＡＭ−ＰＡＥまたはＦＰＧＡ構造を有するＰＡＥに冗長なＰＡＥを設けるのではなく、またはこれらだけに冗長なＰＡＥを設けるのではなく、粒度の細かい構造それ自体に冗長性を持たせるのである。つまり、例えば、メモリセル（ないしはＦＰＧＡセル）に冗長なメモリセル（ないしはＦＰＧＡセル）を対応付けるのである。この場合に各セル間の接続（線路、バスなど）は、冗長な構造の要求に相応に適合される。粒度の細かいセル、例えばメモリまたはＦＰＧＡに対する冗長な構造の構成は、従来技術からすでに公知である。構成の詳細を理解するためにはこれらの従来技術を参照されたい。
【０１５４】
損失電力は、DE 196 51 075.9-53およびDE 101 35 210.7-53に記載された方法により格段に小さくことができ、これによって極めて高い集積密度が可能になる。
【０１５５】
ここで指摘しておきたいのは、重なり合う半導体構造の数が２つに限定されることはまったくないことである。進歩し続ける技術的な発展と最適化により、重なり合うレイヤの数を増やすことができ、極めて大きなレイヤの数も実現可能である。
【０１５６】
この際にレイヤの分割は、２層の構造においても、多層の構造においても１つのＡＬＵ−メモリ分割に制限されない。２層の構造においてすでに有利であり得るのは、メモリをＡＬＵと一緒に１つの層に配置し、別の層を完全にバスシステムに使用するか、またはバスシステムとＩО制御部（ＩОＡＧ）に使用することである。この際にこれらのバスシステムは、簡単な配線の域を越えて有利には、実現のためにそれぞれ半導体構造を必要とする回路素子（マルチプレクサ、伝送ゲートなど）および／または増幅素子（ドライバなど）および／または同期化素子（ＲＤＹ／ＡＣＫ制御部）を含むことができる。
【０１５７】
さらに、有利であり得るのは、１つのレイヤをコンフィギュレーションメモリおよび／またはコンフィギュレーションレジスタおよび／またはＣＴおよびそのメモリに対して設けることである。
【０１５８】
図６にはＲＯＰ−ＰＡＥの実装例が示されている。アーキテクチャ的にはＲＡＥ−ＰＡＥはＡＬＵ−ＰＡＥ内に実装されている。レジスタセット全体（Ｒ０…Ｒｎ，Ｒｐｐ，Ｒｓｐ，Ｒｆｐ，Ｒａｐ）は、ＲＯＰ−ＰＡＥに収容されている。ＡＬＵによるレジスタへのアクセスは、高速でありかつわずかなコストで可能である。アドレスおよびデータはＡＬＵから直接、メモリに伝送することができ、この際にＲＯＰ−ＰＡＥの外部のバスシステム、例えば０１０５を要しない。有利にはＲＯＰ−ＰＡＥは、周辺装置とのデータ伝送のために１つまたは複数の専用のＩОチャネルを有する（例えば０６０１，０６０２）。残りのＰＡＥとのデータ接続は、すでに周知のようにＦＲＥＧおよび／またはＢＲＥＧによって実現可能である。ここでは読み出しポート０６０３および書込みポート０６０４によって示されている。
【０１５９】
有利にはＲＯＰ−ＰＡＥはすでに内部においてシーケンサとして構成されており、したがってＡＬＵ出力側はすでにレジスタに内部的に帰還結合されている。オプションではこれをＲＯＰ−ＰＡＥの外部バス（例えば０１０５）およびＢＲＥＧによる帰還結合を使用することによって、すでに周知のように行うことも可能である（０６０５）。
【０１６０】
図７には半導体積層体の様々な変形構造が示されている。図７ａは、ワイヤボンディングを用いたデータ伝送のための接続部（０７０１）の簡単な構造を示しており、ここでは２つのダイス（０７０２，０７０３）、すなわち２つのチップが重なり合って取り付けられている。一方のチップは、極めて簡略化すると、トランジスタを実現する半導体レベル（例えばシリコン，０７０４）と、接続線路を実現する複数の金属層（例えば、アルミニウムおよび／または銅；ここでは３つの層０７０５ａ，ｂ，ｃが示されている）と、殊に抵抗力の高い上の絶縁層０７０６とからなり、ここで上記の複数の金属層はそれぞれ絶縁層によって上下にまた０７０４に対して電気的に絶縁されている。これらの絶縁層には個々のレベルを電気接続するための金属製の貫通線路、いわゆるヴィアが挿入されている。
【０１６１】
図７ｂでは２つのダイスは、フリップチップテクノロジ方式で互いに接続されており、ここでは信号の伝送は、従来技術によるいわゆるバンプによって行われる。フリップチップテクノロジによって得られる、都度最上部の金属層にバンプ（０７１１）を接続できるのに加えて、ここではバンプを半導体層（例えばシリコン）の下側でコンタクトする本発明の独特な構成を示す。このために電気接続部（例えば、アルミニウムまたは銅）、すなわちヴィア（０７１２）がシリコン層を通して下に導かれる。この貫通は、有利には半導体面に相応する孔をエッチングすることによって行われる。接続部と半導体層との間には絶縁物が挿入される。
【０１６２】
この貫通は、図７ｄに示したように直接、半導体層を通して行うことができ、または有利にはまずウェル（０７３１）が半導体層にエッチングされ、これに絶縁物が充填され、つぎにその中にヴィアが入れられる。
【０１６３】
図７ｃには、半導体積層体を実現するために殊に有利な変形実施形態が示されている。この場合にはより薄くすることのできる第１半導体構造の最上部の絶縁層（０７２１）の上に別の半導体レベル（０７２２）がデポジットされる。このために絶縁層（０７２１）はまずエッチングおよび／または研磨によってできる限り平坦にされる。半導体層のデポジットは、蒸着、結晶の被着または有利には貼り付けまたは貼り付けと類似の接合によって行われる。とりわけ貼り付けを使用する際に重要であるのは、デポジットした半導体構造および貼り付け材料（例えば、接着剤）を通して貫通エッチングできることである。貫通エッチングが必要であるのは、図７ｂに示したように、コンタクトをその下にある絶縁層のヴィアに導くためである。
【０１６４】
コンタクトの貫通は、図７ｄにより、例えば、細いチャネルをエッチングして挿入することによって行われ、この細いチャネルに絶縁材料が入れられる。その後、別のステップにおいて、この絶縁材料に細いヴィアが挿入される。これは、例えば、あらかじめこの絶縁材料に、相応する直径の孔を例えばエッチングによって形成することによって行われる。
【０１６５】
この有利な方法は、比較的大きなウェル（０７３１）のエッチングを前提としており、これに絶縁材料が充填される。つぎにこのウェルには場合によっては複数のヴィア（０７１２）が図示のように挿入される。
【０１６６】
図７ｅ，ｆ，ｇ，ｈには、このような半導体積層体の様々な有利な機能的分割が示されている。この半導体レベルはそれぞれ平行線が付けられて示されており、また絶縁層は太い縁取りによって示されている。その間には金属層が配置されている。図７ｇ，ｈに示したように、この構造は２重の積層には限定されず、より多くの積層、例えば３重、４重またはそれ以上のレベルも可能である。
【０１６７】
何度も説明したメモリとＡＬＵとの分割は図７ｅに示されている。
【０１６８】
図７ｆには、必要な回路ユニットおよびＩО構造を有するバスシステムと、ＡＬＵおよびメモリとの分離が示されており、ここでＡＬＵおよびメモリはこの実施例において同じレベルに設けられている。
【０１６９】
図７ｇでは最も下のレベルにＡＬＵが配置されている。最も上のレベルにはメモリと、場合にはよってはＩОのドライバとが配置される。これによって損失出力の大きい構造が、この積層体の外側の縁部に取付けられる。これに対して殊に特許権が要求される。それは殊に最適な熱排出が可能だからである。バスシステムおよびその回路ユニットは中央のレベルに収容されている。
【０１７０】
図７ｈの例では中央のレベルに損失出力の小さなバスおよびメモリが収容されている。ＡＬＵおよび殊にエネルギー的にコストのかかるＩОは、最適な熱排出のため縁部に収容される。
【０１７１】
ＩＯｘ−ＰＡＥ
DE 199 26 538.0から、例えば周辺装置および／またはメモリなどの外部ユニットへの専用の端子を有するメモリ（IORAM-PAE）が公知である。さらにDE 196 54 595.1-53およびDE 102 06 653.1から、例えば周辺装置および／またはメモリなどの外部ユニットを接続するための専用のユニット（例えばインタフェースコンポーネント（ＩＢＧ））が公知である。
【０１７２】
これらの２つの方式は、ＰＡＥ、例えばデータを処理するおよび／またはデータを計算するＰＡＥと、外部ユニットとの間のデータ通信のために付加的なコストをかけなければならないという問題を有する。ここでこれは、ＰＡＥとＩＢＧおよび／またはIORAM-PAEとの間でデータを明に伝送しなければならないことによって発生する。
【０１７３】
本発明によりすでに提案されており、また任意のＰＡＥについて、しかしながら例えばデータを処理するおよび／またはデータを計算するＰＡＥ（例えばDE 196 51 075.9-53に記載されたＡＬＵ−ＰＡＥ，ＩＰＡＥ，ＲＯＰ−ＰＡＥ）およびデータを記憶するＰＡＥ（DE 100 50 442.6に記載されたＲＡＭ−ＰＡＥ）について、すでに上で何度も述べたように、例えば周辺装置および／またはメモリなどの外部ユニットへの１つまたは複数の専用の端子（ＩОチャネル）が設けられている。これにより、以下ではＩＯｘ−ＰＡＥと称されるＰＡＥと、外部ユニットとの直接の通信が可能になる。このアーキテクチャの利点は、ＰＡＥからなるアレイ（ＰＡ）と、周辺装置（外部メモリおよび／またはＩОユニット）との接続を格段に効率的に構成できることである。ＰＡＥ相互の既存のコンフィギュラブルバスシステム（ＢＵＳ）は、ＩОデータ転送によって負荷をかけられる必要がない。さらにＩОチャネルを相応に構成する際には、個々のＰＡＥに対するデータのアドレッシングは、これがＢＵＳによって行われ得るよりも格段に簡単に行うことができる。
【０１７４】
これは有利には、ＩОチャネルに接続される各ユニットが一意の固有なアドレスを有することによって実現することができる。このアドレスを用いれば、各ユニットは明にかつ簡単にアクセスされ、ここでこれはＩОチャネルを介してこのアドレスを伝送し、各ユニットがこのアドレスと、その固有のアドレスとを比較することによって行われるのである。これらのアドレスが一致すると、このユニットはアドレッシングされ、データがこのユニットのものになる。
【０１７５】
有利には各ユニットは宛先アドレス、すなわちこのデータを自分のものにするユニットのアドレスだけでなく、自分の固有のアドレスも伝送し、これによって送出側の識別も可能である。
【０１７６】
殊に効率的にはＩОチャネルを全ＰＡＥの一部だけに対して設けることができる。例えば、ＰＡＥの装置（ＰＡＥアレイ，ＰＡ）内でＩОチャネル拡張部を有するＰＡＥのストライプを設けるだけにすることが考えられる。これにより、全ＰＡＥにＩОチャネル拡張部を実装するのに比べて面積効率およびコスト効率が改善される。
【０１７７】
殊に通信の要求が高いＰＡＥは、アプリケーションに依存して複数のＩОチャネルに接続することも可能である。
【０１７８】
この際に専用のＩОチャネルを別個のバスシステムに編成することが可能であり、これは、例えばDE 197 04 742.4にしたがって、またはパラレルの標準バスシステム、例えば、Rapid-IO，ＰＣＩ，ＡＭＢＡまたはシリアルの標準バスシステム、例えばＵＳＢ， Firewire, Ethernetにしたがって行われる。
【０１７９】
ＩОチャネルがＰＡＥに殊に効率的に実装できるのは、これらが外部ユニットに直接導かれておらず、まず、DE 102 06 653.1に記載されたプロトコル変換器またはDE 196 54 595.1-53に記載されたＩОＡＧに類似して編成することのできるＩО管理ユニット（ＩОＡＧ）に導かれる場合である。こうすることの利点は、内部的な簡単なバスプロトコルを使用して、ＩОチャネルを制御できることである。またＩОチャネルを有する各ＰＡＥにわずかな「インテリジェンス」しか要しないため、ＰＡＥはそれぞれ小さな面積かつコストをかけずにプログラムすることができる。
【０１８０】
外部ユニットの実際の管理および制御は、十分にサイズがありかつコストをかけて構成することのできるＩОＡＧにおいて行われる。
【０１８１】
ＩОＡＧはその役割を果たすためそれ自体で固有のシーケンサおよび／またはマイクロコントローラおよび場合によって固有のメモリを有することができる。殊にＩОＡＧは、メモリ管理ユニットおよびアドレス変換ユニットも有することが可能である。アプリケーションに応じて、例えば従来技術から公知の割り込みコントローラ（i8259）をＩОＡＧに実装することができ、ここでこれはDE 197 04 728.9に記載されたように割り込みを場合によってはトリガ信号に変換する。
【０１８２】
ＳＩＭＤ  ＰＡＥ
リコンフィギュラブルのテクノロジを使用してアルゴリズムを処理する際には重大なパラドクスが発生する。すなわち（１）リコンフィギュレーションのためのコストを最小限にしたいが、できる限り高い計算性能を得るためには複雑なＡＬＵが必要である；（２）ＡＬＵはできる限り単純かつ粒度を細かくし、ビットレベルで効率的なデータ処理を可能にしたい；（３）リコンフィギュレーションおよびデータ処理をインテリジェントかつ高速に実行して、これが効率かつ簡単にプログラムされるようにしたい。
【０１８３】
これまでのテクノロジはａ）わずかなリコンフィギュレーションサポートしかない極めて小さなＡＬＵ（ＦＰＧＡ）であり、ビットレベルで効率的であるか、またはｂ）わずかなリコンフィギュレーションサポートしかない大きなＡＬＵ（Camelon）か、またはｃ）リコンフィギュレーションサポートとデータ管理を有する、小さなＡＬＵと大きなＡＬＵとからなる混合（ＶＰＵ）のいずれかを使用している。
【０１８４】
ＶＰＵテクノロジは効率的な技術であるため、これに基づけば最適な方式が得られるべきである。ここで明確に指摘しておきたいのは、この方式が別のアーキテクチャに対しても使用できることである。
【０１８５】
リコンフィギュレーションを効率的に制御するための面積コスト（Flaechenaufwand）は、ＰＡＥ当たり約10000〜40000ゲートの量であり、比較的高い。このゲート量以下では通例、簡単なフロー制御しか実現できず、このフロー制御では、ＶＰＵのプログラマビリティは極めて限定され、汎用プロセッサとしての使用は困難になる。殊に高速なリコンフィギュレーションを目指す限り、付加的なメモリを設けなければならず、これによって所要のゲート量も一段と増大する。
【０１８６】
したがってリコンフィギュレーションコストと計算性能との通常の関係を得るためには、大きなＡＬＵ（多くの機能および／または広いビット幅）の使用が是非とも必要である。しかしながらＡＬＵが大きすぎると、チップ当たりの利用可能な並列計算性能は低下してしまう。ＡＬＵが小さすぎる（例えば４ビット）と、煩雑な機能（例えば３２ビットの乗算）をコンフィギュレーションするためのコストが高くなりすぎてしまう。殊に配線コストは、商業的にもはや有利にはならない領域にまで増大する。
【０１８７】
ＳＩＭＤ演算器
狭いビット幅の処理と、配線コストと、コストのかかる機能のコンフィギュレーションとの間の理想的な関係を維持するため、ここではＡＬＵ−ＰＡＥ（すなわち、例えば本発明において開示されるＰＡＥ、またDE 196 51 075.9-53およびDE 199 26 538.0に記載されているＰＡＥ）内にＳＩＭＤ演算器を使用することが提案される。幅ｍの演算器が分解されて、幅ｂ＝ｍ／ｎのｎ個の個別のブロックが得られる。コンフィギュレーションによって演算器毎に設定されるのは、演算器を分けずに動作させるべきか、またはそれぞれ同じ幅または別の幅の１つまたは複数のブロックにこの演算器を分解すべきかである。言い換えると、演算器をつぎのように分解して、１つの演算器内で様々なワード幅が同時にコンフィギュレーションされる（例えば、３２ビットの幅、１×１６ビット、１×８ビットおよび２×４ビットに分解される）ようにすることができる。データは、ＰＡＥ間でつぎように伝送される。すなわち、分解されたデータワード（ＳＩＭＤ−ＷＯＲＤ）がビット幅ｍのデータワードにまとめられて、ネットワークを介してパケットとして伝送されるのである。
【０１８８】
このネットワークは、つねに完全なパケット、すなわち１パケット内のすべてのデータワードを伝送し、また公知のハンドシェーク方法にしたがって伝送される。ここでこのパケット内の個々のデータワードは使用しなくてもよい。すなわち情報を含まない。これは付加的なステータス線路および／またはハンドシェーク信号により、例えば、ＲＤＹ／ＡＣＫプロトコルにしたがって実現することができる。
【０１８９】
ＳＩＭＤバスシステム
ＳＩＭＤ演算器の効率的な使用に対して、１つのバス内または相異なるバス間でのＳＩＭＤ−ＷＯＲＤを互いにフレキシブルかつ効率的に再ソートすることが必要である。
【０１９０】
図１１のバススイッチを変更して、個々のＳＩＭＤ−ＷＯＲＤのフレキシブルな結線が可能であるようすることができる。このためにこれらのバスは、例えば、マルチプレクサ、バススイッチ、伝送ゲート、パストランジスタ（以下ではマルチプレクサという用語でまとめる）を介し、演算器に相応して分割可能に設計されて、コンフィギュレーションにより、分け方が決定されるようにすることができる。言い換えると、例えば、バス毎に幅ｍの１マルチプレクサを使用するのではなく、幅ｂ＝ｍ／ｎのマルチプレクサをn個個別に使用するのである。ここではデータバスをｂビット幅に対してコンフィギュレーションすることができる。バス（図１１）のマトリックス構造によってデータの再ソートも同様に可能である。これは図１２ａに示されている通りである。
【０１９１】
バスのハンドシェークは論理的につぎのように結合される。すなわち、元々のバスのハンドシェークから、新たに編成されたバスに対する共通のハンドシェークが生成されるように結合されるのである。例えば、新たにソートされるバスに対するＲＤＹは、このバスに対してデータを供給する複数のバスのすべてＲＤＹの論理的なＡＮＤ結合から生成することができる。同様に例えば、データを供給するバスのＡＣＫは、データを処理するすべてのバスのＡＣＫのＡＮＤ結合から生成することができる。原理的には実装の際に適当な結合を選択して、これらが都度使用されるバスプロトコルに適合するようにことができる。
【０１９２】
第１の変形実施形態では、上記のハンドシェークの結合は各バスノード内で行われる。これによって可能になるのは、幅ｂのｎ個の部分バスからなる幅ｍのバスシステムに、有利にもただ１つのハンドシェークプロトコルを対応付けることである。
【０１９３】
殊に有利な別の実施形態では、すべてのバスシステムを、ＳＩＭＤ−ＷＯＲＤの最小限に実現可能な入出力データ幅ｂに等しい幅ｂで構成する。ここではＰＡＥデータ路の幅（ｍ）に相応して入出力バスは、幅ｂのｍ／ｂ＝ｎ個の部分バスからなる。例えば、３つの３２ビット入力バスと、２つの３２ビット出力バスとを有するＰＡＥは、最小のＳＩＭＤ−ＷＯＲＤ幅が８の場合、実際には３×４個の８ビット入力バスと、２×４個の８ビット出力バスとを有する。各部分バスは有利には、使用されるすべてのハンドシェークおよび制御信号、例えば、DE 197 04 728.9に記載されたリコンフィグトリガおよびＲＤＹ／ＡＣＫおよびグローバルリセット信号その他を有する。
【０１９４】
ＰＡＥの出力側は有利には、n個のすべての部分バスに対して同じ制御信号を送信する。到来するすべての部分バスの応答信号は、有利には例えばＡＮＤ機能により、互いに論理結合される。バスシステムは、各部分バスに自由に接続し、無関係にルーティングすることができる。バスシステムおよび殊にバスノードは、個々のバスのハンドシェーク信号を、そのルーティング、その配置構成およびソーティングに無関係に処理および／または結合しない。
【０１９５】
ＰＡＥに到来するデータでは、すべてのｎ個の部分バスの制御信号が互いに結合され、いわばバス制御信号のような一般的に有効な制御信号がデータ路に対して生成される。例えば、「依存する」動作モードにおいて、個々のデータ路毎にRdyHold段が使用され、またすべてのRdyHold段が、待機しているデータをシグナリングしてはじめて、これがＰＡＥによって受け取られる。「依存しない」動作モードでは、各部分バスのデータは個々にＰＡＥの入力レジスタに書き込まれてこのデータに応答がなされる。これによってこの部分バスはつぎのデータ伝送に対して直ちに解放される。入力レジスタにすべての部分バスのすべての所要のデータが存在することは、ＰＡＥ内で部分バス毎に入力レジスタに記憶されるＲＤＹ信号を適切に論理結合することによって検出され、これに基づいてこのＰＡＥは。データ処理を開始するのである。
【０１９６】
ここから得られるこの方法の重要な利点は、ＰＡＥのＳＩＭＤ特性が、使用されるバスシステムに特に影響を与えないことである。必要なのは、比較的幅の狭い（ｂ）複数のバス（ｎ）だけである。配線それ自体はそのままである。ＰＡＥにより、制御線がローカルに結合されて管理される。これによってバスシステムにおいて制御線を管理および／または結合するための付加的なハードウェアコストがなくなる。
【０１９７】
図１１には、ＶＰＵアーキテクチャに対するバス構造の考えられ得る、また殊に有利な構成が示されている。機能セル、例えば（ＰＡＥ，ＦＲＥＧ／ＢＲＥＧ）の出力回路（１１０３，これは０８０３ａ，ｂに相応）は、垂直なバスを介して、水平なバスシステム（１１０２，０１０５に相応）に接続される。相応して機能セルの入力回路（１１０１，これは０８０１，０８０２に相応）は、垂直なバスを介して、水平なバスシステムから情報を取り出す。この図からわかるのは、このような取り出しないしは上記のような接続をどのように行い得るかである。
【０１９８】
図１１ａに示されているように、１１０３から１１０２への出力バス（１１１１）の接続は、水平方向のバスシステム１１０２のバスを「切り離」し、水平方向のスイッチ（１１１２）を挿入することによって行われ、ここでこれらのスイッチは、スイッチ、伝送ゲート、マルチプレクサまたは類似の有利な構成素子によって実現可能である。公知のコンフィギュレーション方法に相応して有利にはＰＡＥのコンフィギュレーションレジスタに配置されるまたコンフィギュレーションされる、コンフィギュレーションビットおよび／またはデコーダの値（スイッチ記号１１１３によって示されている）に依存して、このスイッチは、水平方向のバス１１０２の両半分を互いに接続するか、またはバス１１１１を１１０２の半分に接続する。この場合に１１０２の他方の半分は遮断されて、転送されない。このスイッチングは、有利には水平方向のバスシステムのバス毎に使用される。
【０１９９】
図１１ｂには、１１０２のデータを取り出して、これらを１１０１に転送する相応のスイッチングが示されている。スイッチ、伝送ゲート、マルチプレクサまたは類似の有利な構成素子によって実現可能な垂直方向のスイッチ（１１２２）を介して、データはビット単位で水平方向のバスシステム（１１０２）のバスから取り出され、入力回路１１０１のための垂直方向の入力バス（１１２１）に伝送される。垂直方向のスイッチの制御、すなわちそのスイッチング機能は、公知のコンフィギュレーション方法に相応して有利にはＰＡＥのコンフィギュレーションレジスタに配置されかつコンフィギュレーションされるコンフィギュレーションビットおよび／またはデコーダ（スイッチ記号１１２３によって示されている）によって行われる。図１１ｂによって、また相応の変更をした場合には図１１ａによっても、ｎ：１のデータ移行部が可能になる。すなわち複数のバスを１つのバスにまとめることができる。すなわち複数のバスのデータが１つのバスにおいて一緒にされるのである。
【０２００】
図１１ｃには水平方向のＶＰＵバスシステム（１１０２）のバス切り離し機能が示されている。水平方向の各バスは、個々にまたそれ自体でＰＡＥエッジの出力側で切り離すことができる。切り離しは、図１１ｃに示すように、マルチプレクサまたはスイッチによって行うことができる。有利にはこのバスシステムのバス毎に個々に設けられているコンフィギュレーションビット１１３２に応じて、その横にあるバスシステム（１１３１）へのデータ伝送がイネーブルされるかストップされる。通例、この機能は、図１１ａのスイッチにおいて実現され、ここでこれはコンフィギュレーションビット１１３２の情報を、その横にあるバスシステム（１１３１）のスイッチ（１１１２）に伝送し、相応にスイッチをイネーブル（enable）して転送するか、またはスイッチを遮断（disable）することによって行われる。
【０２０１】
図１２ａには、図１１に相応してＳＩＭＤバスシステムが示されている。図示されているは、簡略化された水平方向のバスシステム１１０２、ＰＡＥ出力回路１１０３およびＰＡＥ入力回路１１０１である。各入力回路は、例示的に幅３２ビットの２つの入力バス（１２０１，１２０２）と有し、各出力回路は相応する２つの出力バス（１２０３，１２０４）を有する。バス（１２０１，１２０２，１２０３，１２０４）の各々は、図示のようにそれぞれ別個かつ無関係にルーティングすることができる８ビットずつの４つの部分バスに分けられており、これらの部分バスのいくつかは使用されない（点線）。フレキシブルな配線はつぎのようにして達成される。すなわち、図１１ａ〜ｃのスイッチをバス毎に別々に構成して、固有のコンフィギュレーションを有するスイッチによって各部分バスが管理されるようにすることによって達成されるのである。これによってこのバスシステムは、細かい粒度で配線可能である。
【０２０２】
図１２ｂにはＳＩＭＤデータ処理部が示されており、ここではすべてのバス（１２１１）は同じハンドシェーク（１２１２）を有する。これらのバスはＰＡＥ内で部分バスに分けられ、ＳＩＭＤ−ＡＬＵ（１２１３，１２１４）で別々に処理される。共通のハンドシェークは、ＰＡＥのフロー制御部（１２１５）を制御し、ないしはこれによって生成される。
【０２０３】
図１２ｃにはＳＩＭＤデータ処理部が示されており、ここではすべてのバスは完全に分離されており（１２２１）、また別個のハンドシェーク（１２２２）を有する。これらのバスはＳＩＭＤ−ＡＬＵ（１２２３，１２２４）において別々に処理される。上記の別個のハンドシェークは、ＰＡＥのフロー制御部（１２２５）を制御し、ないしはこれによって生成される。
【０２０４】
ＡＬＵコアとしてのＦＰＧＡの使用
PACT13では、ＡＬＵの代わりにＦＰＧＡまたはＦＰＧＡに類似した構造がＰＡＥに組み込まれたアーキテクチャがすでに記載されている。この構造は、ＰＡＥ内で、従来技術によるＦＰＧＡコンフィギュレーション法にしたがってコンフィギュレーションされる。すなわち、PACT02，04，05，10，13，17による拡張されたコンフィギュレーション方法は、このＦＰＧＡ構造に適用されないのである。これにより、比較的小さなＦＰＧＡセルのコンフィギュレーション制御に対する煩雑さおよびコストはわずかである。しかしながらＦＰＧＡセルを含むＰＡＥは、上に挙げた刊行物によるＶＰＵコンフィギュレーション方法にしたがって動作する。これによってＰＡＥ構造のＦＰＧＡ構造は、カプセル化され、多くのコンフィギュレーションレジスタを有するＰＡＥオブジェクトのように動作するのである。
【０２０５】
これにより、任意の操作をＦＰＧＡからなるアレイにマッピングさせることもできる。DE 101 35 210.7-53により、ＶＰＵ内でＡＬＵ−ＰＡＥとＦＰＧＡ−ＰＡＥとの混合が可能であり、またこれは十分に合理的である。
【０２０６】
適用分野に基づいて決定しなければならないのは、コンフィギュレーションレジスタの複数のセットがＦＰＧＡセルに対して有利であるか否かである。それは、その数が極めて多いからである。場合によってはコンフィギュレーションレジスタを、ＦＰＧＡ−ＰＡＥの高速の再コンフィギュレーションのために、DE 196 51 075.9-53，DE 199 26 538.0および殊にDE 100 28 397.7の図１８および１９にしたがって、ＰＡＥ内のＦＩＦＯ構造またはレジスタファイルとして実現し、そこからＦＰＧＡセルにロードする。
【０２０７】
時がたつうちに殊に有利であることが判明したのは、ＡＬＵ−ＰＡＥ内でＦＰＧＡ構造がＡＬＵに対応付けられる場合であり、ここでこれはＦＰＧＡ構造をＡＬＵに対して平行および／または前方および／または後方に配置することによって行われる。有利であるのは、ＦＰＧＡ構造がＡＬＵに後置接続される実施形態である。
【０２０８】
ここでの利点は、比較的小さなＦＰＧＡ構造だけを使用すればよいことである。それはすべての算術演算は引き続きＡＬＵで動作するからである。これによって殊に高いコスト／性能の効率が達成される。短いワード幅（４ビット、８ビットなど）をサポートするため、上に述べたＳＩＭＤ−ＡＬＵを使用することが考えられる。
【０２０９】
ＡＬＵの後ろにＦＰＧＡ構造を後置接続することによって相関器およびＰＮＧ発生器を殊に効率的に構成することが可能である。
【０２１０】
時のたつうちにＶＰＵアーキテクチャの使用が、部品数中程度および少ない際に例えばＡＳＩＣの代替に対して考えられている。ＶＰＵ素子のこの使用領域にはつぎのような特徴がある。すなわち、応用分野が極めて明確に定まっており、いくつかのわずかなアプリケーションだけがこれらの素子で実施されることが多いのである。殊にこの使用領域は、ビット単位のデータの処理のために細粒度のＦＰＧＡ構造を必要とすることが多い。
【０２１１】
数少ない適用に限定することによって、ＦＰＧＡの考えられ得るコンフィギュレーションも同様に極めて限定されまた予測可能である。
【０２１２】
わかったことは、例えば、殊にこの使用領域に対して割が合うのは、ＦＰＧＡ構造のリコンフィギュレーションと、粒度の粗い構造の高速なリコンフィギュレーションとを切り離すことである。言い換えると、ＦＰＧＡに対しては、コストおよび面積的に極めて効率的に実現できるより遅い（例えば従来のシリアルの）リコンフィギュレーション方式を使用するのである。
【０２１３】
このために（１）バスシステムおよびコンフィギュレーションコントローラからなる完全に別個のコンフィギュレーションシステムを構成する。これはＦＰＧＡについて従来技術から公知である。（２）ＶＰＵテクノロジのコンフィギュレーション資源を利用することができる。しかしながらこの際に殊に加速する手段に対する資源は利用されない。例えば、DE 196 54 593.5-53，DE 198 07 872.2に記載されたFILMOへのアクセスはＦＰＧＡ構造に対して取り除くことができる。DE 100 28 397.7に記載されたまたは以下に説明するようにコンフィギュレーションスタックの存在も同様である。同様にDE 199 26 538.0，DE 100 28 397.7に記載された高速なＷａｖｅリコンフィギュレーションも省略可能である。例えば、ＦＧＰＡアレイにＰＡＥを対応付けて再コンフィギュレーションすることも可能である。ここではＦＰＧＡ構造をロードするためにだけにＰＡＥをコンフィギュレーションすればよいのであり、これは上に述べたように、外部からのデータに対するＰＡＥ制御の独立したアクセスによって行うことができる。
【０２１４】
例えばコスト的な理由から考えられるのは、何回もリコンフィギュラブルなアーキテクチャの代わりに、資源を節約する「１回コンフィギュラブル」なアーキテクチャを使用することである。この場合、ＶＰＵ素子は、顧客に供給される前にまたは顧客においてないしは顧客によって１回だけ専用化される。すなわち、ＦＰＧＡ構造が、その実行されるべき機能にコンフィギュレーションされるのである。ＦＰＧＡ構造の機能は、再度変更することはできないが、これに対して残りのすべての機能、例えば、ＡＬＵおよびその配線は、ＶＰＵテクノロジに相応して引き続き完全に実行時にコンフィギュレーション可能である。
【０２１５】
「１回コンフィギュラブル」なテクノロジとしては、例えば、公知のＲＯＭ，EPROM，EEPROM，FLASHベースの方式が考えられる。殊に述べておきたいのは、公知のヒューズおよびアンチヒューズ方式（例えば、Atmel，Actel，Quicklogic）がこのような「１回コンフィギュラブル」なＦＰＧＡ構造を実現するのに殊に有利なことである。
【０２１６】
このような構造の基本的な構造についてはここではこれ以上踏み込まない。それはこの構造が、関連する従来技術により、例えば、上に挙げた社の特許明細書により、十分に知られているからである。
【０２１７】
図８には例示的に本発明のＰＡＥが示されている。図示されているのは、このＰＡＥのデータパスである。バスシステム０１０５へのコネクションは、有利にはレジスタを含む入力コンポーネント０８０１および０８０２と、同様に有利なレジスタを含む出力コンポーネント０８０３とよって実現される。ＡＬＵ（０８０４）に後置接続されているのは、粒度の細かい複数のＦＰＧＡセルからなる機能ユニット（０８０５）であり、ここでこれらのＦＰＧＡセルはバス構造を介して互いに接続されている。０８０４の出力側は、このバス構造に接続されており、このバス構造それ自体は０８０３に接続されている。オプションでは、また有利にはマルチプレクサを用いて、０８０４の出力側のバイパスを、０８０５を通り越して出力コンポーネント０８０３に直接に接続することができる。
【０２１８】
これらのＦＰＧＡセルには複数の段のロジックをコンフィギュレーションすることができ、例えば、以下の機能のすべてまたはそのうちのいくつかをコンフィギュレーション可能である。これらは、マルチプレクサ、ＡＮＤ，ＯＲ，ＸＯＲ，ＮＯＴ機能、半加算器、比較器、シフトレジスタ、レジスタ、ブール的なルックアップテーブルである。
【０２１９】
ＦＰＧＡセル（０８０５）は、ＰＡＥのコンフィギュレーションバス（０８０４）により、コンフィギュレーションされる。有利には殊にコンフィギュレーションを加速するコンポーネント、例えばコンフィギュレーションスタック（０４０６）は、ＦＧＰＡセルをコンフィギュレーションするために利用されない。これらのコンポーネントは、場合によってはこのようなコンフィギュレーションデータに対して受動的に接続されるか、またはこれらのコンフィギュレーションデータはこれを通り越して導かれる。
【０２２０】
１実施形態では、ＲＯＭエレメント，例えばEPROM，EEPROM，フラッシュＲＯＭまたはヒューズ／アンチヒューズテクノロジを使用してＦＰＧＡセルの１回だけの永久的なコンフィギュレーションが行われる。
【０２２１】
図９には考えられ得る本発明のＰＡＥの実施形態が示されている。ここで明確に指摘しておきたいのは、図９ａの実施形態および図９ｂの実施形態は、単一のＰＡＥにおいて同時に一緒に実現できることである。
【０２２２】
図９ａにはコア（０９０２）へのレジスタファイル（０９０１）の端子（例えばＲ０…Ｒｎ）が示されており、ここでこのコアは、例えば、０８０４のようなＡＬＵまたはＡＬＵ（０８０４）およびＦＧＰＡセル（０９０２）から構成することができる。
【０２２３】
このコアの結果データは、レジスタ０９０１に導かれ、演算に応じてそこに記憶される。レジスタ０９０１は、マルチプレクサ（０９０３，０９０４）を介し、実行されるべき演算に応じてＡＬＵの入力側に導かれる。
【０２２４】
図９ｂには類似の構造が示されており、ここでは専用のグローバルなバス（０９２１）（例えば、ＩＯチャネル）に対する付加的な接続ユニット（０９１１）が実装されている。コアの結果データは、接続ユニット（０９１１）に導かれ、そこで演算に応じてグローバルな専用バス（０９１２）に伝送される。ＰＡＥのための０９１２のデータは、マルチプレクサ（０９０３，０９０４）を介し、実行されるべき演算に応じて、ＡＬＵの入力側に導かれる。
【０２２５】
オプションでは接続ユニット０９１１は、バス接続ユニット０９１３および０９１４を介してデータをバスシステム０１０５から直接読み出すか、またはこれに伝送することができる。
【０２２６】
図１０ａにはＰＡＥからなるアレイ（１００１）内で専用のグローバルなバスシステムを使用する例が示されている。この点ではこの図は図１のＰＡ（０１０１）と同じである。ＰＡＥ（１００１）の１つずつの集合は、グローバルな専用バスシステム１００２，１００３，１００４に接続されており、データをこれに送出するか、またはこれから受け取ることができる。このデータ伝送は、ＰＡＥ間でも、ＰＡＥとＩＯとの間でも行うことができる。ここで示されているのは、複数のＰＡＥを複数のグローバルな専用バスシステムに同時に接続できるのに対して、別のＰＡＥは端子を有しないことも可能なことである。
【０２２７】
図１０ｂには例示的にグローバルな専用バス（例えば、１００２または１００３または１００４）と、０１０１の外部にあり場合によって素子の外部にあるコンポーネントとの接続が示されており、ここで上記のバスは、ＰＡＥからなるアレイ（０１０１）内でいくつかのＰＡＥ（１００１）に接続されている。上記のコンポーネントは、例えば周辺装置（１０１１）および／またはメモリ（１０１２）とすることが可能である。外部にあるコンポーネント（１０１１，１０１２）を接続するため、場合によって信号の適合（例えば、電圧：ＣＭＯＳ，ＴＴＬ，ＬＶＤＳなど）が行うことができる。
【０２２８】
図１０ｃには、グローバルな専用バス（１００２または１００３または１００４）と、インタフェースコンポーネント（１０２１）とを接続する例が示されており、ここで上記のバスは、ＰＡＥ（０１０１）からなるアレイ内でいくつかのＰＡＥ（１００１）に接続されている。このインタフェースグループは、内部の専用のバスの信号および／またはプロトコルを、１つまたは複数の外部にあるバスに変換する。図示の例では、外部に２つのバス（１０２２，１０２３）が実装されている。これらのバスシステムは、有利にも別個の構成を有しており、例えば、１０２２は、ＳＤＲ−ＲＡＭ，ＤＤＲ−ＲＡＭ，RAMBUSなどのメモリに対するメモリバスシステムとすることができ、これに対して１０２３は、周辺装置および／またはＩＯ装置（１０２５）に対する周辺装置バスシステムであり、これは例えばＰＣＩまたはＵＳＢ，FireWire，Ethernetなどのシリアルプロトコルである。
【０２２９】
複雑な演算器のコンフィギュレーション
複雑な演算器（例えば、浮動小数点演算器）は、可能な場合には構造（ＲＡＭ−ＰＡＥ，ＡＬＵ−ＰＡＥ，バス）も異なるコンフィギュレーション可能なセル（ＰＡＥ）を適切にグルーピングおよび配線することによって実現可能である。
【０２３０】
例えば、浮動小数点演算器は、指数部および仮数部について算術演算を実行する複数のＡＬＵ−ＰＡＥを適切に結線することによって達成することができる。有利には、出願人のＶＰＵ（ＸＰＰテクノロジ）に組み込まれるフォワードおよびバックワードレジスタ（ＦＲＥＧ／ＢＲＥＧ）がこのＡＬＵ−ＰＡＥに対応付けられており、ＦＲＥＧ／ＢＲＥＧに配置されるバレルシフタのシフト演算によって所要の正規化が行われる。したがって浮動小数点演算器を必要に応じて、面積利用効率の高い整数型ＡＬＵに基づいて構成することができる。
【０２３１】
この方式の利点は、固定に組み込まれる浮動小数点演算器に対してシリコン面を使用しないくてもよいことである。浮動小数点演算は、整数演算と比較してまれにしか使用されないため、これによってコスト・便益の比が格段に向上する。
【０２３２】
高級言語をＶＰＵに翻訳するコンパイラは、マクロ展開により、および／またはランタイムライブラリを用いて、あらかじめ作成された相応する複雑な構造をマシンコード（例えば、ＮＭＬ）に取り入れることができる。
【０２３３】
マシンコードプログラム（例えば、ＮＭＬ）については、ライブラリに対する固有のライブラリコールが提供され、ここでこれらにライブラリには、あらかじめ作成された相応する複雑な関数が含まれている。
【０２３４】
ＲＡＭ−ＰＡＥにおけるステートマシン
ＰＡＥからなるアレイに接続されるＲＡＭ−ＰＡＥは、シーケンサを構成するために使用可能である。基本的な原理は、メモリの出力データをそのアドレス入力側に帰還結合することに基づく。この帰還結合は有利にはクロック制御されるレジスタを介して行われる。これによって、後続の各サイクルが目下の各サイクルによって設定されるシーケンサが得られる。
【０２３５】
出力データの一部（CONTROL信号）はここで別のコンポーネントおよび／または機能セル（ＰＡＥ）および／または別の装置にも伝送可能であり、これによって所定の過程が起動される。殊に有利であるのは２つの伝送の方式であり、これらは大抵、一緒に使用可能である。すなわち、
ａ）  有利には例えば、上記の説明にしたがってＳＩＭＤバスとして構成されるデータバスを介する伝送。これにより、上記の出力データの部分的な伝送を殊に効率的に実現可能である。
ｂ）  PACT18にその有利な構成および動作の仕方が記載されているトリガバスを介する伝送。トリガバスを介することによって、コンポーネントおよび／または機能セル（ＰＡＥ）および／または外部の装置をフロー制御するためのステータスおよび条件を殊に効率的に伝送可能である。
【０２３６】
入力アドレスないしは出力データの構造は、つぎの通りである（上位のビットから下位のビットの順に示されている）。すなわち、
【表１】
2010079923.tif 000003
【０２３７】
指摘しておくべきであるのは、入力データが通例、使用されないことである。すなわち、メモリには読み出しアクセスだけが行われ、書き込みアクセスは行わないのである。メモリ（例えば、ＲＡＭ−ＰＡＥ）の内容は、コンフィギュレーションユニットにより、前もってコンフィギュレーションされる。したがってこのメモリは、例えば、不揮発の１回書き込み可能なメモリとして、ＲＯＭ，EPROM，EEPROM，フラッシュセルにより、またはヒューズまたはアンチヒューズテクノロジに基づいて構成することも可能である。この場合、前に説明したように顧客に出荷する前または顧客において専用化、すなわちプログラムされるのである。
【０２３８】
別のＰＡＥによるメモリアクセスは基本的に可能であり、これによってシーケンサが、例えば動作中に変更される。しかながら使用領域が限定されるため、ここではこれ以上詳しく説明しない。
【０２３９】
本発明のシーケンサは、サイクルの順序における以下の拡張により、イベントに応動して、例えば条件付きジャンプを実行することができる。すなわち、
メモリに入力されるアドレスの一部、有利には下位の一部を別のステータス信号に対する入力側として使用する。このステータス信号は、上の伝送の方式によって伝送することができ、データまたはトリガとすることが可能である。つぎのサイクルを選択する際、ここではサイクルの考えられ得る集合を、有利には上位のアドレスビットにデータ帰還結合することによって決定し、つぎに所定のサイクルを、この考えられ得る集合から、下位のアドレスビットへのステータス信号によって選択するのである。
【０２４０】
これにより、入力アドレスないしは出力データのつぎの構造が以下のように得られる（上位のビットから下位のビットの順に示されている）。すなわち、
【表２】
2010079923.tif 000004
である。
【０２４１】
これにより、完全な値のシーケンサが定義され、このシーケンサはMealy-Mooreシーケンサの原理に相応する。
【０２４２】
ここではステータス信号および／またはControl信号を場合によっては束にまとめてグルーピングし、各グループが所定の送信／受信器を供給することができる。例えば、１グループは０１０１内部のＰＡＥに対して、また１グループは外部のコンポーネントに対して、また１グループはコンフィギュレーションユニットに供給することができる。
【０２４３】
言い換えると、すべてのジャンプが、「つぎのサイクルのアドレス」を設定するこによて実現されるのである。条件はステータス信号より実現される。
【０２４４】
この際に発生する問題は、いわゆるドントケア（don't care）、つまり１サイクルにおいて値に意味がない所定のステータス信号をどのように扱うかである。有利な変形実施形態では、考えられ得るすべての値に対して同じデータを設定する。
【０２４５】
例：
以下のように構成されるアドレス内で、
【表３】
2010079923.tif 000005
「目下のサイクルのアドレス」（Cycle）は例示的に、CYCLE60に相応して０ｘ６０に等しいとする。４つのステータス信号（ＺＳ０…３）があり、これらのうち、この例示的なサイクル内で２つ（ＺＳ３およびＺＳ１）が値に応じて別のジャンプ宛先になる。つまりCYCLE10，CYCLE7，CYCLE89，CYCLE56になるのである。
【０２４６】
テーブルはここではつぎようになる。すなわち
【表４】
2010079923.tif 000006
である。
【０２４７】
上記のドントケア（ＺＳ２，ＺＳ０）はここでつぎのように設定される。すなわち、その信号の値が、アドレスとデータとの対応付けに影響を与えないように設定されるのである。すなわち、
【表５】
2010079923.tif 000007
である。
【０２４８】
ここで各宛先サイクルは、上記のドントケアのすべてのバイナリの考えられ得る組み合わせに相応して４重に記憶されている。
【０２４９】
オプションの別のシーケンサ構成例、しかしながら合理的でありしたがって有利なシーケンサ構成例では、ステータス信号に対するセレクタおよび／または比較マスクに対して、出力データの付加的な部分領域が設けられる。セレクタとして使用する際には、例えば、セレクタマスクを用いてマルチプレクサを制御することにより、考えられ得る複数のものうちからステータス信号の部分集合を選択することができる。付加的なオプションの比較マスクは、比較演算子として比較器に使用することができ、ここでこの比較器は、相応にステータスビットの集合から１ステータス信号ビット（等しい／等しくない）を生成する。同様にこの比較マスクは、ドントケア信号を選択しないようにために使用することができ、これは、例えば、通常のマスク操作を介して従来技術のようにＡＮＤをとることによって行われる（PACT10を参照されたい）。
【０２５０】
この場合、出力データの構造は、つぎのようになる。すなわち、
【表６】
2010079923.tif 000008
【０２５１】
有利なシーケンサは、例えばつぎのように構成可能である。すなわち、
シーケンサメモリとして使用されるＲＡＭ−ＰＡＥのアドレスバスは、任意の幅の、また例えば、可能であれば幅が異なる複数の部分アドレスに分けられる。例えばビット０〜３は、第１の部分アドレス（NEXT＿CYCLE）に対して、ビット４〜７は第２の部分アドレス（SEQ＿IN）に対して、またビット８〜１２は第３の部分アドレス（CTRL＿IN）に分けられるのである。
【０２５２】
ＲＡＭ−ＰＡＥのデータ出力側は、任意の幅の、また例えば、可能であれば幅が異なる複数の部分データに分けられる。例えばビット０〜３は、第１の部分データ（CYCLE）に対して、ビット４〜７は第２の部分アドレス（SEQ＿OUT）に対して、またビット８〜１２は第３の部分アドレス（CTRL＿OUT）に分けられるのである。
【０２５３】
アドレスおよび／またはデータを分けるためには例えば、説明したＳＩＭＤ  ＰＡＥおよびバスコンセプトを使用可能である。さらに上記の分割をＲＡＭ−ＰＡＥ内で行うことができる。
【０２５４】
ＲＡＭ−ＰＡＥには、データ処理を行うＰＡＥ、例えばＡＬＵ−ＰＡＥを対応付けることができる。
【０２５５】
１シーケンサパス内におけるつぎのサイクルの決定は、NEXT＿CYCLEをCYCLEに帰還結合することによって決定される。
【０２５６】
拡張された変形実施形態では、付加的なデータ処理を行う複数のＰＡＥを設けて、この帰還結合内でNEXT＿CYCLEに依存してCYCLEを計算することができる。これらのＰＡＥは、任意の、例えば、別のＰＡＥおよび／または外部／周辺のコンポーネントの状態、付加的な信号またはデータにも応動することが可能である。さらにこれらのＰＡＥは、付加的な信号またはデータを形成可能である。
【０２５７】
拡張されたシーケンサを実現するため、つぎのような複数のＰＡＥをさらに接続することができる。すなわち、考えられ得る実施形態においてそれらの機能および／またはシーケンサの結線にも影響を及ぼすことができるＰＡＥを接続できるのである。このためにシーケンサは、相応するＰＡＥのコンフィギュレーションレジスタにデータを伝送することができる。コンフィギュレーションレジスタへのアクセスは、例えば、DE 197 04 728.9に記載されたアーキテクチャによって行うことが可能である（DE 197 04 728.9の図４を参照されたい）。接続されたＰＡＥは、主に任意の種類のデータを処理し、また別のＰＡＥ、例えば、データ処理を行うＰＡＥ（ＡＬＵ−ＰＡＥ）および／またはメモリＰＡＥ（ＲＡＭ−ＰＡＥ）および／または周辺装置の端子（ＩＯ−ＰＡＥ）への端子を有する。これらのＰＡＥは、SEQ＿OUTによって示されるコントロール信号によって制御することができ、また必要に応じて、SEQ＿INに供給されるステータス信号により、シーケンサのフローメモリを制御することができる。
【０２５８】
別のＰＡＥまたはユニット、可能であれば他に依存もしていない別のＰＡＥまたはユニット、例えば外部／周辺のユニットおよび／または上位のＣＴも、上記のシーケンサメモリによってSEQ＿IN／OUTに相応して制御される（CTRL＿OUT）か、またはこれを制御する（CTRL＿IN）ことが可能である。
【０２５９】
正しいクロック制御でシーケンサをフロー制御するため、帰還結合路には有利にはクロック同期されるレジスタが組み込まれる。
【０２６０】
ＲＡＭ−ＰＡＥは、上位のコンフィギュレーションユニットによってコンフィギュレーションすることができ、例えば、シーケンサ機能をＲＡＭ−ＰＡＥの内容によってコンフィギュレーションして決定することができる。
【０２６１】
有利であること判明しまたそれ自体特許権を得るに値すると思われるのは、メモリにより、多くの付加的ハードウェアコストなしに簡単なシーケンサを実現することである。これは例えばつぎのようにして簡単に可能である。すなわち、どの個所においてつぎの読み取りアクセスを行うべきであるかについてまずメモリセルの内容を評価するのである。その個所でさらに、つぎのアクセスが行われる個所が示されれば、自動的な実行が可能である。しかしながら同時に、ここで有利であることが判明した実施形態によれば、つぎのアクセスに対する別のアドレスが単純に求められるだけではなく、これに併行して、この際に何をすべきかが示されるのである。言い換えると、このメモリアドレスにはデータまたは命令が一緒に記憶されるのである。これは、１つの個所に記憶される情報の１部分がつぎのアクセスに対するアドレスを示し、また別の部分が命令またはデータを表すことによって行うことができる。記憶されるデータの幅がアドレス成分とデータ／命令成分とに分けられる場合は、これが簡単に可能である。さらにメモリにおいてアドレッシング可能な記憶場所の１部分だけをコーディングすることも可能であり、例えば、１２ビット幅の場合に８ビットだけを使用するの能である。この場合には例えば、フラグ、トリガ、状態、オーバーフローなどの評価による別のビット、ここでは４ビットを付加することができる。これはつぎのような利点を有する。すなわち、ここでは８ビットで読み出されるアドレスと、ここでは４ビットで評価形成される情報とをあらかじめ設定することによって、正しくアクセスされる複数の記憶場所に相異なる指示を設定することができるのである。ここで指摘したいのは、すべてのトリガおよびこれに対する所要の応動は最初から設定できるか、または択一的には、個々またはすべてのトリガに対する応動の少なくとも１部分も、コンフィギュレーションの実行中に変更および／または決定することができることである。このため、トリガマスキングその他への帰還結合を設けること可能である。
【０２６２】
これによって可能になるのは、評価された情報に依存して条件付きジャンプなどを形成することである。この際にそれ自体評価可能な一連の情報のうちのいくつかだけにしか関心がない場合、つまり上の例において目下のところ４ビットでなく例えば２ビットだけしか必要でない場合、相応する記憶場所においてそれぞれ示される情報は、つぎのような記憶場所にも存在することができる。すなわち、アドレスが関心のないビットの分だけ異なる記憶場所にも存在することができるのである。
【０２６３】
図１５にはＲＡＭ−ＰＡＥに基づく本発明のシーケンサの構成例が示されている。メモリ（１５０１）のデータ出力側（１５０２）の１部分（１５０５）は、クロック制御されるレジスタを介してこのメモリのアドレス入力側（１５０４）に帰還結合されている。これにより、このアドレス入力側（１５０４）はCYCLEに相応し、また１５０５はNEXT＿CYCLEの１部分、有利には上位の１部分に相応する。
【０２６４】
オプションではデータ出力側（１５０２）の１部分（１５０８）をセレクタ−マスクユニット（１５０９，１５１０）に導くことができ、これらではバスシステム０１０５からデータおよび／またはトリガとして到来するSEQ＿IN（１５１１）ないしはCTRL＿IN（１５１２）データが処理される。
【０２６５】
CTRL＿INおよびSEQ＿INおよび／またはセレクタ−マスクユニットで処理されるこれらの値は、有利にはつぎのように１５０５に混合される（１５１３）。すなわち、１５０５が上位のアドレス成分を、またはCTRL＿IN／SEQ＿INが下位のアドレス成分を形成するように混合されるのである。
【０２６６】
データ出力側（１５０２）の残りの部分は、SEQ＿OUT部分（１５０６）およびCTRL＿OUT部分（１５０７）に分割され、出力コンポーネント０８０３ａ，ｂを介してデータおよび／またはトリガとしてバスシステム０１０５に導かれる。
【０２６７】
それぞれローカルに対応付けられているＰＡＥのコンフィギュレーションを決定するために様々なコンフィギュレーションレジスタモデルが公知である。PACT02にはシーケンシャルに処理可能なモデルが記載されており、PACT04にはＦＩＦＯモデルが記載されている。これも同様にシーケンシャルに処理されかつ部分的な重なって（ueberlappend）コンフィギュレーションすることができる。PACT08には選択的なモデルが記載されており、ここではデータ処理に依存して所定のコンフィギュレーションレジスタが選択され、ひいてはそこに記憶された機能および／または結線が選択される。DE 100 28 397.7ではさらにＦＩＦＯモデルが記載されており、このモデルは、事前コンフィギュレーション（Vorabkonfiguration）および部分的に重なったコンフィギュレーションに適している。
【０２６８】
殊に高性能でコスト／パフォーマンス的に効率的なものとしては、これらのモデルの混合形態が知られている。
【０２６９】
DE 100 28 397.7に記載されたＦＩＦＯモデルは、ＰＡＥの任意個のコンフィギュレーションレジスタをプリロードするのに殊に適している。それは使用されるFIFOの機能により、可変のコンフィギュレーション長が効率的に可能になるからである。このために各ＰＡＥにはローカルのＦＩＦＯメモリが対応付けられており、このメモリは、それに対応付けられているＰＡＥのコンフィギュレーションを管理してバッファリングする。
【０２７０】
例えば以下に説明するＦＩＦＯモデルの拡張によって、所定のコンフィギュレーションの開始および終了と、それに対応する個々のコンフィギュレーションエントリを決定することが可能である。これにより、複数のコンフィギュレーションを同時にこのＦＩＦＯモデルに格納することができる。
【０２７１】
コンフィギュレーションの開始または終了を示すために殊に有利であることが明らかになったのは以下に示す２つの方法である。すなわち、
ａ）  各メモリセルにおける付加的なビット（CycleBit）による識別
各コンフィギュレーションエントリには付加的なビットが対応付けられ、ここでこれらのビットは、コンフィギュレーションの開始および／または終了を示す。例えば、上記ＦＩＦＯにおいて１つのエントリはつぎのようにすることが可能である。すなわち、
【表７】
2010079923.tif 000009
である。
【０２７２】
有利には以下に説明する方法により、コンフィギュレーションの開始を直接示すことができるため、有利には開始の表示を省略する。すなわち、
【表８】
2010079923.tif 000010
である。
ｂ）殊に効率的には上記の識別を固有のコンフィギュレーションワードによって行うことができ、ここでこれは命令としてデコードされる。すなわち、
コンフィギュレーションワード内の所定のビット組み合わせが命令としてデコードされて識別される。つまり、例えば、つぎの命令を実現することができるのである。
ＢＥＧＩＮ：コンフィギュレーションの開始
ＥＮＤ    ：コンフィギュレーションの終了
この方法は、CycleBitによる識別よりも格段にフレキシブルであり、効率的である。
【０２７３】
命令とコンフィギュレーションとの簡単な区別のためにCycleBitに類似して１ビットを設けることができ、ここでこのビットは、値によってコンフィギュレーションワードのセマンティックを決定する。例えば、つぎのようになる。すなわち
【表９】
2010079923.tif 000011
である。
【０２７４】
コンフィギュレーションは、その開始からその終了までＰＡＥに呼び出し毎に伝送される。
【０２７５】
オプションの付加的な変換および割り当て装置により、ステータス（例えば、固有のＡＬＵのステータスおよび／または例えば別のＰＡＥの１つないしは複数のトリガ（DE 197 04 728.9を参照されたい））をこのＦＩＦＯモデル内の所定のコンフィギュレーションに変換することができる。例えば、到来するリコンフィギュレーショントリガは、このＦＩＦＯモデル内の所定のコンフィギュレーションをポイントすることができ、この場合にこのコンフィギュレーションは、このリコンフィギュレーショントリガが発生するこによってコンフィギュレーションされる。
【０２７６】
変換および割り当て装置として例えば、代数的計算器および／または論理的結合および／または有利には変換メモリ（ルックアップテーブル）を使用することができる。
【０２７７】
種々異なるコンフィギュレーションが、１つのＰＡＥに、または１つのＰＡＥに対して、または一連のＰＡＥに対して格納される場合、記憶された各コンフィギュレーションの長さを加算することにより、各情報が格納されているアドレスを簡単に管理することが考えられ得る。これが重要であるのは、コンフィギュレーションが相異なる長さを有する場合であり、これは、例えば、所定のコンフィギュレーションにおいてはバスおよび／またはレジスタ、例えばフォワードレジスタおよびバックワードレジスタなどをコンフィギュレーションしなければならず、また別のコンフィギュレーションにおいてはＰＡＥのＡＬＵの新たな機能を設定したいだけだからである。またはセル外部のユニットに対するコンフィギュレーション情報を一緒に同時に管理するからである。
【０２７８】
したがって擬似的なＦＩＦＯ特性を実現することができる。この場合、加算のための手段、殊にコンフィギュレーションの長さを連続して加算するための手段は、例えば処理などに起因して所定のコンフィギュレーションが不要になった際、関連する領域を解放すべきである。この加算は、加算器チェーンにより、ほぼ問題なしに可能である。
【０２７９】
上記の装置は、１セルにおいて複数のコンフィギュレーションを管理する、ないしはさらにシーケンサを実現するために使用可能である。ここでもこれらのコンフィギュレーションに応動することができ、これによってジャンプなどを実現することできる。指摘しておきたいのは、すでに上で述べたようにシーケンサを実現するため、ＡＬＵ−ＰＡＥ、および／または場合によってはそれぞれ拡張された機能を有する、データ処理を行う別のセルと、メモリセルとの間に制御（コマンド）線路を設けることができることである。対応付けられた制御を有するこのような線路は、個々のおよびそれ自体自立のシーケンサ能力を有するＰＡＥ内にも設けることができる。
【０２８０】
殊に有利な変形実施形態は、図１４に示されており、またつぎのように動作する。すなわち、
加算器のチェーンが互いに接続されて、先行する加算器（ｐ）の結果（総和 SUMME）がオペランドとしてつぎの加算器（ｐ＋１）に転送されるようになっている。この転送は、上記の結果の代わりに０（ゼロ）を転送することによって中断することができる。第２のオペランドとして各加算器には１つずつの専用のレジスタが対応付けられており、その値が、先行する段の総和SUMMEに加算される。各段は、コンフィギュレーションＦＩＦＯにおけるコンフィギュレーションを表しており、各段のレジスタにはコンフィギュレーションの相対的なスタート位置が記憶されている。絶対的なスタート位置は、このＦＩＦＯにおいて下側にあるコンフィギュレーションの相対的なスタート位置をすべて加算することによって計算することができる。これは、図からもわかるように加算器のチェーンによって行われる。
【０２８１】
言い換えると、このＦＩＦＯにおいて最も下にあるコンフィギュレーションの場合の相対的な位置は、つぎのようになっている。すなわちこのコンフィギュレーションのエントリは、加算器チェーンの結果出力側の最も近くに記憶されているのである。さらに他のすべての相対的な位置は、このＦＩＦＯにおけるその配置構成に準じる。
【０２８２】
このチェーンは、上記の総和SUMMEの代わりにゼロを入れることによってその場で中断され、選択されるコンフィギュレーションの相対的な位置が得られる。
【０２８３】
ここでこの結果は、このＦＩＦＯの最も下のコンフィギュレーションをポイントする読み出しポインタと、選択されるこのコンフィギュレーションのスタート位置との間のオフセットである。
【０２８４】
これにより、選択されるコンフィギュレーションへのジャンプアドレスが、ポインタとオフセットとを加算することによって簡単に計算できるのである。
【０２８５】
選択されるコンフィギュレーションの選定は、種々異なる方法で変換および割り当て装置において行われる。
（ａ）  到来するトリガを優先付けしてデコードすることができる。
（ｂ）  到来するトリガをルックアップテーブルを介して変換して、その後、可能であれば優先付けしてデコードする。
（ｃ）  例えばマルチプレクスを介して、すべてのトリガの集合からいくつかを選定して、そのつぎに（ａ，ｂ）に相応して継続処理する。
【０２８６】
ここで殊に指摘しておきたいのは、トリガはベクトル（ＴＲＩＧ−Ｖ）とすることも可能なことである。これはPACT08に記載されている通りである。このベクトルそれ自体を、後続のデコードに使用することができる。すなわち、このベクトルによってコンフィギュレーションを選択するのである。これが殊に重要であるのは、PACT08，PACT13，PACT17に記載されたＷａｖｅリコンフィギュレーションを実行したい場合であり、ここでは有利には、データと共に伝送されたトリガベクトルにより、つぎのコンフィギュレーションが選択される。
【０２８７】
コンフィギュレーション中またはコンフィギュレーションの後、コンフィギュレーションをＦＩＦＯから除去することができる。この際に有利には、変換および割り当て装置内き参照が相応に適合される。
【０２８８】
さらに上記のＦＩＦＯモデルは、DE 196 54 846.2-53（ないしは、他の特許権保護の場合と同様、個々に言及することなしにそれに対応する特許明細書）に記載されたシーケンサ方式の分だけ、または有利には上に説明したものの分だけ拡張することが可能である。このためには例えば、ジャンプ（ＧＯＴＯ）、ステータス依存しまた条件付きのジャンプ（ＷＡＩＴ−ＧＯＴＯ，ＩＦ−ＧＯＴＯ）が挿入される。ジャンプは、固有のCycleBitによって表すことができるか、または有利には命令として実現される。
【０２８９】
さらに同期表示方式を使用することができ、ここでこれは、所定のコンフィギュレーションないしはシーケンサの所定のサイクルがいつ終了するかを示す。言い換えると、各サイクルは複数のコンフィギュレーションエントリから構成することができる。識別のためには、例えば、DE 196 54 846.2-53に記載されているように、ｒｕｎ／ｓｔｏｐフラグを使用することができ、ここで「ｒｕｎ」は、サイクルの対応するコンフィギュレーションエントリを示し、「ｓｔｏｐ」は、つぎのサイクルの最初のエントリを示す。択一的には上に説明したCycleBitを使用することが可能である。これは、セマンティックがやや異なるが、それ以外では同じに動作する。
【０２９０】
上記の方式とは択一的にまたは上記の方式に加えて、出願人の以前の特許出願から同様に公知である命令ＷＡＩＴおよびBEGIN、または上に説明した命令BEGINおよびＥＮＤを使用することもできる。
【０２９１】
「ｓｔｏｐ」またはＷＡＩＴまたはＥＮＤにより、サイクルの終わりが示される。すなわち、コンフィギュレーションが完全なものになり、これを実行および処理することができるのである。このコンフィギュレーションのデータ処理が終了した後、つぎのサイクルが実行される。
【０２９２】
この終了は、シーケンシャルなプロセッサに相応して１クロック（インストラクションシーケンシング）によって定義可能であり、および／またはＰＡＣＴプロセッサのデータ処理原理（P 44 16 881.0-53，DE 196 54 846.2-53，コンフィギュレーションシーケンシング）に相応して、ステータス信号（例えば、トリガ）によって定義可能である。
【０２９３】
言い換えると、例えば、トリガの到来により、「ｓｔｏｐ」を飛び越えて、つぎのコンフィギュレーションをコンフィギュレーションすることができる。択一的または付加的には、トリガの到来に応動する命令ＷＡＩＴを使用することができる。
【０２９４】
オプションでは、ＦＩＦＯは、ローカルに対応付けられたＰＡＥを制御するだけでなく、別のＰＡＥ、例えば周囲のＰＡＥまたは同じコンフィギュレーションに所属するＰＡＥを制御することができる。
【０２９５】
オプションでは、このＦＩＦＯを、DE 196 54 846.2.-53に記載された専用のユニットとして構成することも可能である。
【０２９６】
実施例：
Ａ）  到来するトリガは、変換および割り当て装置を介して、ＦＩＦＯに配置されるコンフィギュレーション（Ｋ１）に変換される。これに基づきこのコンフィギュレーション（Ｋ１）は、ＰＡＥにコンフィギュレーションされる。終了の識別として、例えば、ＷＡＩＴ命令またはＥＮＤ命令またはｒｕｎ／ｓｔｏｐフラグを使用することができる。
【０２９７】
後続して到来するトリガは、変換および割り当て装置を介して、ＦＩＦＯに配置される別のコンフィギュレーション（Ｋ２）に変換される。これに基づきこのコンフィギュレーション（Ｋ２）は、ＰＡＥにコンフィギュレーションされる。Ｋ１および／またはＫ２は、ＰＡＥへのコンフィギュレーションが成功した後、ＦＩＦＯから消去される。
【０２９８】
Ｂ）  到来するトリガは、変換および割り当て装置を介して、ＦＩＦＯに配置されるコンフィギュレーション（Ｋ３）に変換され、ここでこれは複数のサイクル（Ｃｙ１，Ｃｙ２，Ｃｙ３ａ，Ｃｙ３ｂ，Ｃｙ４）からなる。これに基づき、最初のサイクル（Ｃｙ１）がＰＡＥにコンフィギュレーションされて実行される。終了の識別として例えば、ＷＡＩＴ命令またはｒｕｎ／ｓｔｏｐフラグを使用することができる。
【０２９９】
このサイクルの実行の終わりを示す、後続して到来するトリガにより、コンフィギュレーションが行われＣｙ２が実行される。Ｃｙ２は２つのＷＡＩＴ−ＧＯＴＯ命令（ＷＡＩＴ−ＧＯＴＯ（Ｔｒｇ１，Ｃｙ３ａ）；ＷＡＩＴ−ＧＯＴＯ（Ｔｒｇ２，Ｃｙ３ｂ））（PACT04を参照されたい）で終了する。これにより、このサイクルの実行の終わりを示す別個の２つのトリガ、Ｔｒｇ１およびＴｒｇ２に応動することになる。Ｔｒｇ１が到来すると、つぎのサイクルにおいてＣｙ３ａがコンフィギュレーションされて実行される。ないしはＴｒｇ２の場合には相応にＣｙ３ｂがコンフィギュレーションされて実行される。
【０３００】
Ｃｙ３ａおよびＣｙ３ｂはＷＡＩＴ−ＧＯＴＯ（Ｔｒｇ，Ｃｙ４）で終了する。このサイクルの終了を示すトリガが到来した際にはＣｙ４にジャンプして、このコンフィギュレーションが相応にコンフィギュレーションされて実行される。
【０３０１】
Ｃｙ４は、ＷＡＩＴ−ＧＯＴＯ（Ｔｒｇ，Ｃｙ１）で終了する。これにより、このサイクルの実行の終わりを示すトリガが到来した際に、ループのシーケンシャルなパスを新たに開始することができる。この点ではＣｙ１へのジャンプにより、DE 196 54 846.2-53に記載されたリングメモリを形成してループを実行することができる。ここでこのようなリングメモリは有利ではあるが、必須ではない。
【０３０２】
トリガ（Ｔｒｇ−ｘ）の到来により、上記のループを終了させることができる。変換および割り当て装置にＴｒｇ−ｘに対するエントリがある場合、このループはいつでも中断することができ、またこの変換および割り当て装置においてＴｒｇ−ｘより参照されるコンフィギュレーション（ＫＸ）を実行することができる。
【０３０３】
エントリがない場合、ＷＡＩＴ−ＧＯＴＯ（Ｔｒｇ−ｘ，ＫＸ）命令を明に使用することによって、例えばＣｙ４においてＷＡＩＴ−ＧＯＴＯ（Ｔｒｇ，Ｃｙ１）と一緒に使用することによって、このループをあらかじめ決められた所定の実施時点に終了させることができる。
【０３０４】
図１３は、コンフィギュレーションユニット（０１０６）によってＰＡＥ（１００１）をコンフィギュレーションするコンフィギュレーションバスの構造を例示的に示している。このコンフィギュレーションユニットは、バスシステム１３０１を介して、また場合によっては周波数特性を改善する複数のレジスタ段（１３０３，１３０４）を介して、およびコンフィギュレーションバス（０４０４）を介して複数のＰＡＥ１００１にコンフィギュレーションデータを送信する。各ＰＡＥは、供給されたアドレスをデコードして、自分が選択された場合、このバスのデータ伝送に応動する。ＰＡＥそれ自体は、０４０４を介し、レジスタ−マルチプレクス段１３０４を介してバスシステムに接続してコンフィギュレーションユニットにまたはオプションで別のＰＡＥにデータを送出することができる。これはそれぞれ受信ユニットのアドレスを伝送することよって行われる。コンフィギュレーションユニットへのデータの逆伝送は、有利には同様にレジスタ段（１３０５）を通して、コンフィギュレーションユニットのデータ入力バス（１３０２）まで行われる。
【０３０５】
コンフィギュレーションバスの動作の仕方も同様にDE 101 42 904.5およびDE 100 28 397.7に記載されている。これは開示のために完全にここに組み入れられている。
【０３０６】
図１４には、リコンフィギュレーションを制御する本発明のＦＩＦＯモデルの構造が示されている。ここで指摘したいのは、例えば、ジャンプの実行を可能にするにより、ここに示されたＦＩＦＯモデルが、従来公知の純粋なＦＩＦＯとは異なり得ることである。しかしながらここでは、それ自体従来技術で使用される用語を使用した。それはこの用語は、通例のジャンプのない動作について、殊にわかりやすいイメージを連想させることができるからである。このユニットは、すべてのセル、例えばこの明細書に記載したリコンフィギュラブルなセル（ＰＡＥ）に対してオプションであり、図４においてユニット０４０６で示されている。
【０３０７】
メモリ１４０１は、対応付けられたＰＡＥに対するコンフィギュレーションデータを含んでいる。１４０２は、ＰＡＥ（０４０５）のコンフィギュレーションレジスタに至るコンフィギュレーションデータ出力側である。１４０３を介して、すなわちバス０４０４を介してコンフィギュレーションユニットにより、コンフィギュレーションがこのメモリに書き込まれる。ここで各アドレスは、書き込みポインタ（１４０７）によって生成される。この書き込みポインタは、書き込み過程毎に、ＦＩＦＯの動作の仕方に応じてインクリメントまたはデクリメントで１つだけ値が変化する。スタートアドレスポインタ（１４０４）は、上記のメモリの最初のコンフィギュレーションデータエントリをポイントしており、これに対して別のポインタ（１４０５）は、読み込むべき、ないしはＰＡＥに伝送すべきコンフィギュレーションデータエントリをポイントする。１４０５は、メモリからＰＡＥへのデータ伝送毎に、ＦＩＦＯの動作の仕方に応じてインクリメントまたはデクリメントで１つだけ値が変化する。このデータ伝送は、コンフィギュレーション終了識別ユニット（１４０９）により、例えばCycleBitまたは命令（ＷＡＩＴ，ＥＮＤ）に基づいてコンフィギュレーションの終わりが識別されるまで行われる。
【０３０８】
実現されたこのＦＩＦＯは、ポインタ１４０５だけしか有しない従来技術による通常のＦＩＦＯとは同じではない。この変更により、上記のメモリから任意のコンフィギュレーションデータを読み出すことができ、その一方でポインタ１４０４によってつぎが阻止される。すなわち、場合によってはまだ必要なコンフィギュレーションデータが上書きされてしまうことが阻止されるのである。これは、スタートアドレスポインタ１４０４と、書き込みポインタ（１４０７）との比較（１４０６）により、フルフラグを生成することによって行われる。メモリがフルの場合、コンフィギュレーションユニットの書き込みの試みは拒絶される。これは有利にはPACT10から公知のＡＣＫ／ＲＥＪプロトコルによって行うことができる。このために比較器１４０６は、その出力側１４１６において、相応するReject信号をコンフィギュレーションユニットに出力するか、ないしはＡｃｋを出力しない。
【０３０９】
１４０１の例示的なメモリ内容が１４０８で示されている。このメモリは、５つのコンフィギュレーション（Ｃ０…Ｃ４）を含んでいる。１４０４はスタートポインタとして第１のコンフィギュレーションＣ０をポイントしている。この例では１４０５はコンフィギュレーションＣ３の先頭をポインタとしている。このポインタ位置は、１４０４の値と、コンフィギュレーションＣ０の長さと、コンフィギュレーションＣ１の長さと、コンフィギュレーションＣ２の長さとを足し合わせることによって計算される。
【０３１０】
到来するトリガ（１４３１）は、図１４ａに示した変換および割り当て装置（１４３２）を介して、選択信号（ＳＣ０…ｎ，１４３３）に変換され、これらの選択信号によって、メモリにおけるコンフィギュレーションデータのアドレッシングが制御される。この変換および割り当て装置は、固定的にあらかじめ設定されてその割り当てを行うことができるが、有利にはコンフィギュレーションの処理中に変更可能であり、このために有利な帰還結合、信号線路などが設けられている。殊に変換および割り当て装置が変更可能な場合、割り当てに使用されるユニット１４３４が、同様におよび／または付加的にデータ処理中に変更可能に構成されると有利である。このためにも相応する回路装置が設けられ、割り当ての変更は、例えば、プログラム制御によって行うことができる。相応する変更、例えばプログラム制御の変更は、ユニット１４１４、すなわちアドレス計算加算チェーン手段に対しても可能である。この更新および／または新たな挙動の仕方をトリガする命令は、有利にはこのためのメモリユニット１４０１に格納される。
【０３１１】
１つずつのレジスタ（１４１１）、加算器（１４２２）、およびここで例えばビット毎のＡＮＤ機能によって実現されるゼロ発生器（１４１３）は、アドレス計算のためのチェーン（１４１４）の１構成要素を構成する。１つずつの構成要素により、コンフィギュレーションのオフセットが管理される。これらの構成要素の並びは、メモリ１４０１におけるコンフィギュレーションの並びに相応する。言い換えると、１４０８の例に相応して、第１の構成要素は、コンフィギュレーションＣ０の長さ、すなわち、１４０４に加算しなければならないオフセットを有し、これによってコンフィギュレーションＣ１がポイントされる。第２の構成要素は、コンフィギュレーションＣ１の長さ、すなわち、Ｃ０のオフセットと１４０４とに加算しなければならないオフセットを有し、これによってコンフィギュレーションＣ２がポイントされる。第３の構成要素は、コンフィギュレーションＣ２の長さ、すなわちＣ０のオフセットと、Ｃ１のオフセットと、１４０４とに加算しなければならないオフセットを有し、これによってコンフィギュレーションＣ３がポイントされる、等々である。
【０３１２】
この実施例からわかるのは、加算のチェーンが発生し、その構成要素の数は、メモリにおけるコンフィギュレーションの位置に相応することである。これはチェーン１４１４により、つぎのように実現される。すなわち、
加算器を介して、レジスタに記憶された値、すなわち、各コンフィギュレーションの長さがそれぞれ、先行する構成要素の結果に加算される。ビット毎のＡＮＤ機能の入力側における値と、加算器のすべての結果ビットとはＡＮＤがとられる。すなわちこの入力側が０に等しい場合、このＡＮＤ機能により、出力側にバイナリ０が供給され、これによってこの加算器のチェーンは、選択すべきコンフィギュレーションにおいて中断される。そうでなければ、上加算器出力側の値が供給される。
【０３１３】
言い換えると、上記のレジスタ（１４１１）にはコンフィギュレーションのサイズが、メモリ（１４０１）における順序通りにエントリされている。上記の選択信号はつぎのようにゼロ発生器に導かれる。すなわち、複数のコンフィギュレーションのサイズが、トリガ（１４３１）によって参照されるコンフィギュレーションのスタートアドレスまで加算されるようにゼロ発生器に導かれるのである。
【０３１４】
したがってこのチェーンにより、メモリ１４０１において、ロードすべきコンフィギュレーションの前にあるコンフィギュレーションのすべての長さが加算される。これにより、スタートアドレス（１４０４）との加算（１４１５）によって、ロードすべきコンフィギュレーションをポイントするオフセットが形成されるのである。
【０３１５】
説明した回路は殊に高性能である。それはこの回路により、オフセットの計算およびジャンプが１クロック内で可能になるからである。
【０３１６】
第２のオプションのチェーン（１４２１）では、レジスタ（１４２２）にコンフィギュレーションユニットおよび／またはＰＡＥおよび／またはコンフィギュレーションスタックに対する命令を記憶することができる。ここでも同様に例示的にゼロ機能１４１３に相応して実現されるゼロ機能（１４２３）により、選択信号がアクティブでない、すなわちこのコンフィギュレーションが選択されなかった場合にはその出力側にバイナリ０が供給され、その他の場合にはレジスタ内容（１４２２）、すなわち、命令が供給される。ＯＲチェーン（１４２４）を介して、すべてのゼロ機能出力側の相互のＯＲがとられ、これによって目下選択されているコンフィギュレーションの、レジスタ１４２２内の命令が、このチェーンの出力側（１４２５）に供給される。
【０３１７】
ここでこの命令はメモリ（１４０１）のエントリを消去するために使用可能である。すなわち、記憶された所定のコンフィギュレーションを消去する、ないしは上書きをイネーブルするような命令の１つとすることができる。これは例えば命令FLUSHによって行うことができ、ここでこれはスタートポインタ（１４０４）に読み込みポインタ１４０５をロードし、これによってこのアドレスの前にあるすべてのデータの上書きのために解放するのである。これは、ＦＩＦＯライクなメモリにおいてこのように上書きされるべきコンフィギュレーションが実際に比較的旧く、したがって通例、上書きすることができ、これに対してまだ必要であることが多い比較的新しいコンフィギュレーションが引き続き上記のＦＩＦＯライクなメモリにあるようにする場合には有利である。有利に実現される他の命令は、新たなコンフィギュレーションをロードする命令である。これが重要であるのは、新たな所定のコンフィギュレーションを要するという要求が、少なくともかなりの確率で予想できる場合である。この命令は、中央のコンフィギュレーション管理ユニットまたは類似のものに送出することができる。例えばＩ／Ｏ手段が対応付けられる際には、直接のローディングも同様に可能である。コンフィギュレーション要求命令と、フラッシュ命令ないしは旧いコンフィギュレーションを放棄する命令とが同時に実行可能および／または記憶可能であることも有利である。フラッシュ、ロードまたはフラッシュ／ロードなどのこのような命令は、別のメモリ領域ないしはメモリユニット、例えば１４０１に格納可能であり、このために例えば１４２１のような専用のユニットを必ずしも設ける必要はないことを指摘しておく。それ自体すでに設けられているユニットをこのように使用することにより、ハードウェア的に有利になり得る。
【０３１８】
さらに上記の命令を、図１３のバスシステムを介してコンフィギュレーションユニットに送出することが可能である（１４２６）。例えば、この命令はそこで所定のコンフィギュレーションの開始をトリガすることができ、および／またはコンフィギュレーションのプリロードを行うことができる。
【０３１９】
FLUSH、すなわちコンフィギュレーションの消去は、このユニットの重要で有利な命令の１つである。この命令は一方では実施に対して極めて有利であるが、他方ではこれは、その実施の際にすべてのアドレスおよび参照が変わってしまうという問題を有する。スタートポインタ（１４０４）が新たなスタートアドレスに設定されることによって、ＦＩＦＯは「フラッシュ」される。この新たなスタートアドレスは図１４に示したように有利には、記憶されるコンフィギュレーションの先頭に設定され、この先頭は、上に説明したオフセットによる計算によって決定される。択一的または付加的にはポインタを所定の別の値、例えばFLUSH命令に結びつけられた定数に設定することも可能である。さらに２つのチェーン１４１４および１４２１を「フラッシュ」して、アドレス計算が、メモリ１４０１におけるコンフィギュレーションの変更された位置に相応するようにしなければならない。これはそれぞれ（図１４に示していない）マルチプレクサ（１４５１）によって行われ、これらのマルチプレクサにより、複数のレジスタデータがつぎのように前方に伝送される。すなわち、いまや空になった（「フラッシュ」された）チェーンの構成要素が、後続の構成要素のデータで上書きされるように前方に伝送されるのであり、詳しくはつぎのように行われる。ａ）チェーンにおけるデータの順序が変わらないままであり、ｂ）チェーンの最初の構成要素が新たなデータで占有され、ｃ）他のすべてのデータが順序通りにコンスタントにおよびギャップなしに最初のものにつづいて構成要素に書き込まれる。これについては図１４ａを参照されたい。ここで指摘しておきたいのは、マルチプレクサ１４５１を介して、コンフィギュレーションサイズについてのデータ（コンフィグ１…ｎのサイズ）を相応する個所に外部からも書き込めることである。図を見易くするという理由から示されていないが、ここで正しく判断すべきであるのは、各個所に個々にアクセスないしはアドレッシング可能であることである。この点については、１４３４に示した、この個所をそれぞれ決定するユニット１４３５を参照されたい。
【０３２０】
このチェーン内でのシフトにより、チェーンにおけるデータの新たな位置に選択信号（ＳＣ０…ｎ）が適合され、これにより、再び選択信号と、オフセット計算との正しい対応付けが得られる。このために基本的に複数の手法が利用可能である。例えば、
ａ）１４３２の後の信号を１４３４においてバイナリコーディング（74LS148の機能に準じて）することができ、フラッシュによって発生したシフトに相応するオフセットを減算し、得られた値を再度デコードして（74LS139の機能に準じて）、選択信号１４３３を生成する；
ｂ）１４３２の後の信号を１４３４においてルックアップテーブルにより、選択信号１４３３に変換することができる。このためにこのルックアップテーブルは、フラッシュによって変更された、チェーンにおける位置状態に適合される。
【０３２１】
これらの信号の変換に殊に有利な方法を詳しく説明する。またこの方法は１４３４に示された装置に相応する。すなわち、
第１のシフトレジスタ（１４３５）は、チェーン１４１４，１４２１において目下空きになっている、すなわち利用されていない最初の構成要素の位置を１ビット値として含む。これはつぎのようにして行われる。つまり、リセットの後、このシフトレジスタの最下位ビットが１にセットされる（塗りつぶされた円で示されている）。この最下位ビット（ビット０）は、このチェーンにおいて最も下の構成要素を参照する。チェーンに対する書き込みアクセス毎に、すなわち１４０１へのコンフィギュレーションの新たな記憶（ＦＩＬＬ）毎に、このシフトレジスタは、セットしたビット（ＰＢＩＴ）を最高位ビットの方向に１位置分だけシフトし、これによってチェーンにおいて都度つぎの構成要素を参照する。したがって最高位ビットは、これらのチェーンにおける最も上の構成要素を参照する。つまりこのシフトレジスタの幅は、これらのチェーンにある構成要素の数と同じである。FLUSH毎にこのシフトレジスタは、ビット（ＰＢＩＴ）を、これらのチェーンにおいて消去された構成要素とちょうど同じ数の位置分だけ最下位ビットの方向にシフトする。
【０３２２】
変換および割り当て装置（１４３２）は、ＰＡＥにおいて、バスシステム（０１０５ａ，図４）から到来するトリガを変換して、トリガ毎に、送出するバス（１４３７）のちょうど１つの信号がセットされるようにする。各信号には１４３５と同じサイズのシフトレジスタ（１４３６）が対応付けられている。すなわち多数のシフトレジスタ１４３６（ここでは１４３６ａ…１４３６ｃで示されている）が設けられており、その数は、最大限に許容される相異なるトリガ信号の数に等しく、またその長さ、すなわちビット幅は、最大限に許容されるコンフィギュレーションの数に等しい、つまりチェーン構成要素の数に等しいのである。コンフィギュレーションを新たに記憶する（ＦＩＬＬ）際にはＰＢＩＴをシフトする前に１４３５の内容がシフトレジスタ（１４３６）に書き込まれ、このコンフィギュレーションに対応付するトリガが、このレジスタをポイントする。これは円で示されている。
【０３２３】
バスにトリガが発生すると、変換された相応する信号（１４３７）は、１の値を供給し、これに対して他のすべての信号は０の値を供給する。信号１４３７は、ビット毎のＡＮＤ機能から構成されるゼロ発生器（１４３８）にそれぞれ導かれる。１４３７からの入力信号が値０であるすべてのゼロ発生器は、出力側にゼロベクトルを供給する。１４３７からの入力信号が値１であるゼロ発生器は、シフトレジスタ１４３６の内容を伝送する。すべてのゼロ発生器の出力側は、互いにＯＲがとられて（１４３９）、選択信号ＳＣ０…ｎ（１４３３）が得られる。
【０３２４】
この機能により、到来するトリガは、ゼロ機能を介して、シフトレジスタ１４３６をポイントし、ここでこのシフトレジスタのセットされたビットはこれらのチェーン（１４１４，１４２１）における構成要素をポイントする。
【０３２５】
フラッシュの際にシフトレジスタ１４３６は、シフトレジスタ１４３５と同様に、記憶した値を、これらのチェーンにおいて消去される構成要素とちょうど同じ数の位置分だけ最下位ビットの方向にシフトする。ＰＢＩＴが最下位ビットを越えてシフトされたためにこの操作の後、シフトレジスタの内容が０と等しくなった場合、このことが意味するのは、前に参照されたコンフィギュレーションが消去されたことである。
【０３２６】
到来したトリガ１４３１に対して１４３４が出力側１４３３に値０を供給する場合、コンフィギュレーション要求がコンフィギュレーションユニットに送出され、これより、欠如したコンフィギュレーションがロードされ、または場合によってはエラー状況もこのコンフィギュレーションユニットに通知される。
【０３２７】
１４３２における、到来するトリガ１４３１の１４３７への変換は、複数の原理で行うことができ、これら個々にまたは共通に適用することが可能である。例えば、
１．  74LS148の機能に相応するデコーダ
２．  ラウンドロビン式のアービタ（PACT10を参照されたい）
３．  ルックアップテーブル（PACT10を参照されたい）
である。
【０３２８】
原理的にはこの変換は、PACT10に記載された方法にしたがって行うことができる（ラウンドロビン式のアービタ、ＬＵＴ１）。
【０３２９】
変換規則がない場合、例えばルックアップテーブルを適用する際には、コンフィギュレーション要求をコンフィギュレーションユニットに送出し、これにより、欠如したコンフィギュレーションをロードし、または場合によってはエラー状況もこのコンフィギュレーションユニットに通知する。
【０３３０】
図１４に示したコンフィギュレーションスタックの他の重要な機能は、コンフィギュレーションについてのシーケンスであり、これはメモリ１４０１内での条件付きまたは無条件のジャンプを意味する。したがってこの機能も図１４ｂに詳しく説明されている。
【０３３１】
命令デコーダ（１４６２）は、メモリ１４０１からの読み出し時に、コンフィギュレーションワード（１４０２）の条件付きおよび無条件ジャンプ命令を識別する。ジャンプ命令には、定数として、目下に位置に対する相対的なジャンプアドレスが対応付けられており、これは命令デコーダによってデコードされて出力される（１４６３）。ジャンプの方向に応じて、値は正または負である。
【０３３２】
さらに定数として、到来したトリガまたはＰＡＥのステータスフラグとの比較値（１４６９）、例えば、ＡＬＵフラグゼロ、キャリー、負、オーバーフローなどまたはメモリフラグのフル、空などが示され、これに依存して条件ジャンプが実行される。上記の定数は、比較ユニット１４６４に伝達され、ここでこのユニットにより、この値と、変換および割り当て装置（１４３７）および／またはバス０１０５から直接得られるトリガおよび／またはフラグ（１４６５）とが比較される。
【０３３３】
制御ユニット（１４６６）は、命令（条件付きまたは無条件のジャンプの命令＝「タイプ」）と比較結果とに依存して、読み出しポインタ（１４０５）に対する制御をつぎように生成する。すなわち、
無条件ジャンプ：「セット」を生成して、新たなアドレスを１４０５にロードする；
条件付きジャンプ、比較が満たされた場合：「セット」を生成して、新たなアドレスを１４０５にロードする；
条件つぎジャンプ、比較が満たされない場合：「カウント」を生成して、１４０５においてつぎの命令のアドレスを計算する。
【０３３４】
新たなアドレスのセットは、相対的なジャンプアドレス（１４６３）を１４０５の目下の値に加算する（１４６８）によって行われる。「セット」が供給された際には、加算された新たなアドレスと、１４１５によって生成されるコンフィギュレーションのスタートアドレス（１４６１）との間で選択を行うマルチプレクス（１４６７）を介し、新たなアドレスが読み出しポインタ１４０５に書き込まれる。
【０３３５】
コンフィギュレーションスタックの動作の仕方により、PACT10およびPACT17から公知のコンフィギュレーションユニット（ＣＴ）の使用は極めて陳腐化し、コンフィギュレーションスタックによる分散された、並列のＣＴが得られる。
【０３３６】
しかしながらここでＣＴの２つの役割を上記のようなユニットにおいてそのままにすることが可能である。すなわち、
１．  メモリからのコンフィギュレーションのロード。ここでこのメモリは、チップ内またはチップの外に揮発性または不揮発性なメモリ（ＲＯＭ，EPROM，EEPROM，フラッシュＲＯＭなど）として実現することができ、および／または大容量記憶装置とすることが可能である。ここでこのロードは簡単なマイクロコントローラによって行うことができ、このマイクロコントローラは、データをＰＡＥに送信し、戻ってきた応答に応動する。例えば、有利にはマイクロコントローラとしてのPACT05に記載されたユニットないしはPACT05に記載されたアルゴリズムを使用することができる。このロードはもはや必ずしもアクティブに行う必要はなく、コンフィギュレーション要求コマンドに応じて、新たなコンフィギュレーションデータの各ＰＡＥへの取り込みないしこれに対応付けられたコンフィギュレーションメモリへの取り込みをトリガするユニットが設けられていれば十分である。これは例えば、上に述べたＩ／Ｏ−ＰＡＥにおいて、目下の新しいコンフィギュレーションデータを必要とするＰＡＥそれ自体とすることも可能である。
【０３３７】
２．  そのままである残りのユニットを使用してつぎを保証することが可能である。すなわち、リコンフィギュレーショントリガ（ＷＣＴ）が所定の順序にソートされてアレイを流れること、および／またはプリロードされたコンフィギュレーションが所要の順番で処理されること、および／またはまだロードされていないが所要のコンフィギュレーションが必要に応じて要求されおよび／またはロードされることを保証することが可能である。上記のリコンフィギュレーショントリガの優先度付けを使用して、どのリコンフィギュレーション要求トリガが最初に応動されるべきであるかの優先度を決めることができる。これによって、考えられ得る相異なるコンフィギュレーションのコンフリクトのない処理が保証され、ここでこれは、どのトリガが最初にこのアレイを流れるかを決定するだけで行われる。このようなトリガが、このトリガに応動すべき所定のＰＡＥに関係すると、このＰＡＥはこのことを記憶し、これによって、これがリコンフィギュラブルになるとただちにつぎにはこのトリガに応動できるようになる。ここで述べておきたいのは、有利には個々のセルまたはセル構造または類似のものは、直後に処理すべきコンフィギュレーションに関連するトリガを前もって記憶するだけでなく、またこのセルが将来処理すべきである他のすべてコンフィギュレーションまたは少なくとも複数のコンフィギュレーションが順序通りに格納され得るおよび／または格納されるべきであるということであり、これにより、各セルまたはセルグループが、将来および／または現在においてこれらに関連する情報をトリガベクトルから受け取って保持するようにする。これによって、以前のＣＴのＦｉｌｍｏ機能は不要になり、複数のトリガベクトルの時間的な経過により実質的に置き換えられる。
【０３３８】
３．  １つのリコンフィギュレーショントリガだけを使用する限りでは、特別な手段は不要である。複数のリコンフィギュレーショントリガ（ＷＣＴ）が発生し得る場合、これらは時間的な重なり合いなしに、すなわち、固定の順序で交わることなしに順次にアレイを流れ、これによってデッドロックが阻止されるようにしなければならない。
【０３３９】
これは、図１６に示した方法によって保証することができる。ここではルーティング手段により、ＷＣＴが時間的に正しく転送される。中央のインスタンス（１６０３）により、相異なるＰＡＥ（１６０１）に対して複数のＷＣＴが生成される。しかしながらこれらは時間的に互いに調整されるべきである。このマトリクスにおいて１６０１の距離は種々様々であることにより、種々異なる到達時間ないしはレイテンシー時間が発生する。これはこの実施例において、コンパイラに対応付けられるルータを通るパイプライン段（１６０２）を適切に使用することによって達成される（PACT13を参照されたい）。これによって発生するレイテンシーは、ｄ１〜ｄ５によって示されている。ここからわかるのは、ＷＣＴフロー（１６０４）の方向に各段（列）で同じレイテンシーが発生することである。例えば、１６０６と１６０３との距離は極めて短いため、１６０５が不要かもしれない。しかしながら１６０７および１６０８に対しては、比較的長い距離によって発生する到達時間に起因して１つずつの１６０２を挿入しなければならないため、この到達時間を調整するために１６０５が必要になるのである。中央のインスタンス１６０３は、ＰＡＥから到来する複数のリコンフィギュレーショントリガ（１６０９）を受け取り、これらの優先度を決定して、これらをＷＣＴとしてそれぞれ個別かつ順次に、ＰＡＥからなるアレイに送信する。言い換えると、リコンフィギュレーショントリガを生成する１つのＰＡＥは、これを別のＰＡＥに直接転送するのではなく、中央のインスタンス１６０３だけに転送するのである。
【０３４０】
この中央のインスタンスは、到来するトリガを記憶して、これらの優先度を決定する。このために有利にはPACT10から公知のＳＣＲＲ−ＡＲＢの方法する。これはPACT10の図８に詳しく記載されている。
【０３４１】
上に上げたPACT特許のすべては、開示のためにここにすべて組み込まれる。
【０３４２】
参考文献：
PACT02  PCT/DE97/02949
PACT03  PCT/DE97/03013
PACT04  PCT/DE97/02998
PACT05  PCT/DE97/02999
PACT08  PCT/DE98/00334
PACT10  PCT/DE98/00504, PCT/DE98/00505
PACT13  PCT/DE00/01869
PACT15  PCT/EP02/02398
PACT17  PCT/EP01/06703
【符号の説明】
【０３４３】
０７０１  データ伝送接続部、  ０７０２，０７０３  ダイス、  ０７０４  半導体、  ０７０５  接続線路金属層、  ０７０６  絶縁層、  ０７１１  バンプ、  ０７１２  ヴィア
【図１】
2010079923.tif 000012
【図２】
2010079923.tif 000013
【図３】
2010079923.tif 000014
【図４】
2010079923.tif 000015
【図５】
2010079923.tif 000016
【図６】
2010079923.tif 000017
【図７】
2010079923.tif 000018
【図８】
2010079923.tif 000019
【図９】
2010079923.tif 000020
【図１０】
2010079923.tif 000021
【図１１】
2010079923.tif 000022
【図１２】
2010079923.tif 000023
【図１３】
2010079923.tif 000024
【図１４】
2010079923.tif 000025
【図１４ａ】
2010079923.tif 000026
【図１４ｂ】
2010079923.tif 000027
【図１５】
2010079923.tif 000028
【図１６】
2010079923.tif 000029