(57)【特許請求の範囲】
【請求項１】
データ処理ユニットであって、該データ処理ユニットは
コンフィギュレーション化可能なエレメントの２次元または多次元のセル装置と、該セル装置に割り当てられているコンフィギュレーションデータ送信ユニットとを有しており、該コンフィギュレーションデータ送信ユニットは
ロードロジック回路として
または
コンフィギュレーションのために使用される内部セルとして
または
コンフィギュレーション信号源として用いられる別の固定的にインプリメントされた機能ユニットとして
実現されており、ここで
個別のコンフィギュレーション化可能なエレメントまたはその群と前記コンフィギュレーションデータ送信ユニットとの間の通信ユニットとして、
スイッチング・テーブルが設けられており、該スイッチング・テーブルは
該コンフィギュレーションデータ送信ユニットからのコンフィギュレーションデータを収容するためのコンフィギュレーションメモリ（０４０４）と
１つの制御部（０４０１）と
を有しており、該制御部（０４０１）は、
読み出しおよび／または書き込み位置ポインタを、そこで選択され、前記エレメントまたはその群から通報されたイベントまたはこの種のイベントの組み合わせの到来に応答してコンフィギュレーションメモリ場所に移動させて、リアルタイムで、コンフィギュレーション語を前記コンフィギュレーションメモリ（０４０４）からコンフィギュレーションすべきエレメントに伝送して、再コンフィギュレーションが実施されることを可能にするように
構成されており、
前記コンフィギュレーションメモリ（０４０４）が独立しているセクションに分割されており、
複数の書き込み位置ポインタ（０４０８）および複数の読み出し位置ポインタ（０４０２）が設けられており、
当該複数の書き込み位置ポインタ（０４０８）のうちの、前記コンフィギュレーションメモリ（０４０４）にアクセスする１つの書き込み位置ポインタが、書き込み位置ポインタ用のマルチプレクサ（０４０７）を介して選択され、前記複数の読み出し位置ポインタ（０４０２）のうちの、前記コンフィギュレーションメモリ（０４０４）にアクセスする１つの読み出し位置ポインタが読み出し位置ポインタ用のマルチプレクサ（０４０７）を介して選択され、
書き込みアクセスまたは読み出しアクセス用のマルチプレクサ（０４０３）を介して書き込みアクセスかまたは読み出しアクセスが選択される、
ことを特徴とするデータ処理ユニット。
【請求項２】
データ処理ユニットであって、該データ処理ユニットは
コンフィギュレーション化可能なエレメントの２次元または多次元のセル装置と、該セル装置に割り当てられているコンフィギュレーションデータ送信ユニットとを有しており、該コンフィギュレーションデータ送信ユニットは
ロードロジック回路として
または
コンフィギュレーションのために使用される内部セルとして
または
コンフィギュレーション信号源として用いられる別の固定的にインプリメントされた機能ユニットとして
実現されており、ここで
個別のコンフィギュレーション化可能なエレメントまたはその群と前記コンフィギュレーションデータ送信ユニットとの間の通信ユニットとして、
スイッチング・テーブルが設けられており、該スイッチング・テーブルは
該コンフィギュレーションデータ送信ユニットからのコンフィギュレーションデータを収容するためのコンフィギュレーションメモリ（０５０４）と
複数の制御部（０５０１）と
を有しており、該制御部（０５０１）は、
読み出しおよび／または書き込み位置ポインタを、そこで選択され、前記エレメントまたはその群から通報されたイベントまたはこの種のイベントの組み合わせの到来に応答してコンフィギュレーションメモリ場所に移動させて、リアルタイムで、コンフィギュレーション語を前記コンフィギュレーションメモリ（０５０４）からコンフィギュレーションすべきエレメントに伝送して、再コンフィギュレーションが実施されることを可能にするように
構成されており、
前記コンフィギュレーションメモリ（０５０４）が独立しているセクションに分割されており、
前記各制御部（０５０１）にそれぞれ１つの書き込み位置ポインタ（０５０６）および１つの読み出し位置ポインタ（０５０２）が配属されており、前記複数の制御部（０５０１）は当該それぞれ１つの書き込みおよび読み出し位置ポインタ（０５０６，０５０２）を介して前記コンフィギュレーションメモリ（５０４）の固有の領域において動作し、
前記複数の書き込み位置ポインタ（０５０６）のうちの、前記コンフィギュレーションメモリ（０５０４）にアクセスする１つの書き込み位置ポインタは、書き込み位置ポインタ用のマルチプレクサ（０５０５）を介して選択され、前記複数の読み出し位置ポインタ（０５０６）のうちの、前記コンフィギュレーションメモリ（０５０４）にアクセスする１つの読み出し位置ポインタは、読み出し位置ポインタ用のマルチプレクサ（０５０５）を介して選択され、
書き込みアクセスまたは読み出しアクセス用のマルチプレクサ（０５０３）を介して書き込みアクセスかまたは読み出しアクセスが選択され、
前記制御部（０５０１）の書き込み／読み出し信号は、書き込み／読み出し信号用のマルチプレクサ（０５０７）を介して前記前記コンフィギュレーションメモリ（０５０４）に達し、
前記書き込み位置ポインタ用のマルチプレクサ（０５０５）および前記読み出し位置ポインタ用のマルチプレクサ（０５０５）および前記書き込みアクセスまたは読み出しアクセス用のマルチプレクサ（０５０３）および前記書き込み／読み出し信号用のマルチプレクサ（０５０７）の制御信号は、前記制御部（０５０１）からアービタ（０５０８）を介して各マルチプレクサに達する、
ことを特徴とするデータ処理ユニット。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンフィギュレーション化可能なエレメントに係るデータ処理方法およびデータ処理ユニット、コンフィギュレーション化可能なエレメントのダイナックな再コンフィギュレーション方法、システムおよびプロセスに関する。
【背景技術】
【０００２】
本発明は、データ処理方法およびデータ処理ユニットに関する。
【０００３】
［従来の技術］
今日使用されているプログラミング可能なモジュール（ＤＦＰ＝Datenflussprozessoren，ＦＰＧＡ＝Field Programmable Gate Arrays）は２つの異なった形式においてプログラミングすることができる：
１．１回限り、即ちプログラミング後、コンフィギュレーションをもはや変更することはできない。従って、モジュールのすべてのコンフィギュレーション化されたエレメントは、使用されている時間間隔全体にわたって同じ機能を実施する。
２．作動中、即ち、コンフィギュレーションは、モジュールの組み込み後、コンフィギュレーションファイルのロードによって、使用のスタート開始時に変更することができる。大抵のモジュール（殊に、ＦＰＧＡモジュール）は、作動期間中、これ以上は再コンフィギュレーションは行われない。再コンフィギュレーション化可能なモジュールでは、再コンフィギュレーションを行う期間のデータの引き続く処理は大抵は可能ではなくかつ所要時間は著しく大きすぎる。
【０００４】
プログラミング可能なモジュールには、ハードウェアインタフェースによってモジュールのコンフィギュレーションデータがロードされる。この過程は緩慢でかつ大抵、コンフィギュレーションデータがファイルされている外部メモリに対して、制限された帯域幅に基づいて、数百ミリ秒を必要とする。その後、プログラミング可能なモジュールは、コンフィギュレーションファイルにおいて記述されているような所望の／プログラミングされた機能において使用されるようになる。コンフィギュレーションは、任意の長さの特有のビットパターンをモジュールのコンフィギュレーション化可能なエレメントにエントリすることによって生じる。コンフィギュレーション化可能なエレメントは、例えば、すべての種類のＲＡＭセル、マルチプレクサ、ネットワークのためのエレメントまたはＡＬＵ（＝Arithmetic Logic Unit：プロセッサの中央機能ブロック）とすることができる。コンフィギュレーション語は、このようなエレメントに記憶されるので、エレメントはコンフィギュレーション語によって調整設定されたそのコンフィギュレーションを作動の時間期間にわたって維持する。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
現存する方法および手法には一連の問題がある。これらは次のようなものである：
１．ＤＦＴ（ドイツ連邦共和国特許出願公開第４４１６８８１号公報参照）またはＦＰＧＡにおけるコンフィギュレーションを変更しようとするとき、コンフィギュレーションの非常に小さな部分しか変更すべきでない場合でも、コンフィギュレーションファイル全体をプログラミングすべきモジュールに伝送することがいつでも必要である。
２．新しいコンフィギュレーションのロードの期間、モジュールはデータを引き続き処理できないまたはできたとしても非常に制限されている。
３．モジュール当たりのコンフィギュレーション化可能なエレメントの数がますます大きくなることによって（殊に、ＦＰＧＡモジュールにおいて）、これらモジュールのコンフィギュレーションファイルは同様にますます大きくなる（この間に、数百キロバイトのデータ）。それ故に、大きなモジュールにコンフィギュレーションを行うことは非常に長い時間がかかりかつこのために実行時間中の再コンフィギュレーション化はしばしば不可能になりまたはモジュールの動作が妨げられる。
４．実行時にモジュールを部分コンフィギュレーション化する場合、いつも、中央のロジック・エンティティが利用される。このエンティティを介してすべての再コンフィギュレーション化が管理される。このために、非常に高い交信および同期コストがかかることになる。
【課題を解決するための手段】
【０００６】
本発明によってプログラミング可能なモジュールの再コンフィギュレーション化が著しく高速に可能である。本発明により、プログラミング可能なモジュールの種々様々なコンフィギュレーションの、実行時でのフレキシブルな利用が可能になり、しかもこの場合プログラミング可能なモジュールの動作能力が妨げられることもないし、停止されることもない。モジュールのコンフィギュレーションの変更は同時に実施され、従って、状況によっては、別のコンフィギュレーションデータを伝送する必要なしに、非常に高速に行うことができるようになっている。この方法は、あらゆる種類の、コンフィギュレーション化可能なモジュールのコンフィギュレーション化可能なエレメントに対して、並びにあらゆる種類のコンフィギュレーションデータに対して、モジュール内部でこれらがどんな目的のために定められているかに無関係に、使用することができる。本発明によって、従来のモジュールのスタチックな制限を取り除きかつ既存のコンフィギュレーション可能なエレメントの利用度の改善を実現することができる。一時メモリを導入することによって、同一のデータを介して多数の種々様々な機能を実施することができる。詳細および特別な実施例、並びに本発明のバスシステムの特徴は従属請求項の対象である。
【発明を実施するための最良の形態】
【０００７】
プログラミング可能なモジュールには、多数のリングメモリが存在している。それは、独自のアドレス制御部を有しているメモリである。このアドレス制御部は。それがメモリの終わりに達したとき、その始めにおいて更に作動するので、これによりリングが生じる。このリングメモリは、書き込みかつ読み出しながら、コンフィギュレーションレジスタ、即ち、コンフィギュレーションすべきエレメントの、コンフィギュレーションデータを受け取る回路にアクセスすることができる。この種のリングメモリは所定数のエントリを有し、これらエントリは、ドイツ連邦共和国特許出願公開第４４１６８８１号公報に記載されているように、ロードロジックによって、コンフィギュレーションデータがロードされる。その際エントリの構成は、そのデータフォーマットがリングメモリに接続されているコンフィギュレーション化可能な単数または複数のエレメントに相応しかつ有効なコンフィギュレーションの調整設定を実現するように選択されている。
【０００８】
更に、読み出し位置ポインタが存在し、これは。リングメモリのエントリの１つを実読み出しエントリとして選択する。読み出し位置ポインタは、リングメモリ内の任意の位置／エントリに対する制御によって移動させることができる。更に、書き込み位置ポインタが存在し、これは。リングメモリのエントリの１つを実書き込みエントリとして選択する。書き込み位置ポインタは、リングメモリ内の任意の位置／エントリに対する制御によって移動させることができる。
【０００９】
実行時に、このリングメモリを介して、コンフィギュレーション語をコンフィギュレーションすべきエレメントに伝送して、データを中央のロジックによって管理または伝送する必要なしに、再コンフィギュレーションを実施することができる。複数のリングメモリの使用によって、数多くのコンフィギュレーション化可能なエレメントを同時に再コンフィギュレーション化することができる。
【００１０】
リングメモリはコンフィギュレーション化可能なセルの完全な制御によって複数のコンフィギュレーションモード間で切り替わることができるので、これはスイッチング・テーブルと称される。
【００１１】
プログラミング可能なモジュールまたはこのモジュールに接続されている外部に、多数のリングメモリが存在している。単数または複数のリングメモリに対応して、これらリングメモリを制御する１つまたは複数の制御部が設けられている。これら制御部は、ドイツ連邦共和国特許出願公開第４４１６８８１号公報に記載されているロードロジックの部分である。リングメモリは、１つまたは多数のコンフィギュレーション化可能なモジュールのコンフィギュレーション化すべきエレメントに対するコンフィギュレーション語を含んでおり、その際コンフィギュレーション化可能なエレメントは、明らかに、機能群のネットワーク化のためにも用いられかつ従来技術の、バス構造を相互接続するためのクロスバー回路またはマルチプレクサとすることができる。
【００１２】
リングメモリおよびリングメモリの制御部は、ハードウェアに直接に具体化実現することができるが、またはコンフィギュレーションを行うことができるモジュール（例えばＦＰＧＡ）の１つまたは複数のコンフィギュレーションを行うことができるセルのコンフィギュレーション化によって漸く生じるようにすることもできる。
【００１３】
リングメモリとして、従来技術のリングメモリを使用することができる。殊に、次のような特性を有するリングメモリおよび／または制御部を使用することができる：
１．この特性において、全部のエントリは利用されず、かつリングメモリの読み出しおよび／または書き込み位置ポインタがリングメモリの始めまたは終わりにセットされる位置を指示するための能力を有している特性。これは例えば、命令語（ＳＴＯＰ，ＧＯＴＯ等）、スタート位置およびストップ位置を記憶するカウンタまたはレジスタによって具体化実現される。
２．リングメモリの、独立したセクションにおける切り離しを可能にしかつリングメモリの制御部を、例えば後で説明するイベントを介して、該制御部がこれらセクションの１つにおいて動作するように調整設定することができる特性。
３．独立したセクションにおけるリングメモリの切り離しを可能にする特性およびそれぞれ１つのセクションにおいて動作する多数の制御部がある。その際、多数の制御部が同じセクションにおいて動作することもできる。このことはアービタ回路によって実現することができる。この場合、若干の処理サイクルが消失する。更に、ＲＡＭに代わってレジスタを使用することができる。
４．それぞれの制御部は１つまたは複数の読み出し位置ポインタおよび／または１つまたは複数の書き込み位置ポインタを有している。
５．これらの位置ポインタは前方向および／または後ろ方向に移動することができる。
６．これらの位置ポインタは、１つまたは複数のイベントに基づいて始め、終わりまたは指定された位置にセットすることができる。
７．制御部はマスクレジスタを有しており、これを用いて、データ語のエントリにより、多量のすべての可能なイベントから部分量を選択することができる。これら、イベントの部分量だけがイベントとして制御部に転送されかつ１つまたは複数の位置ポインタの先送りをトリガする。
８．システムクロック内の複数のエントリの処理を可能にするために、本来のシステムクロックの数倍のクロックによって動作する（オーバサンプリング）制御部。
【００１４】
スイッチング・テーブルの制御は通例のステート・マシーンによって具体化実施される。１つの従来のリングメモリを必要とする簡単な制御の他に、プログラミング可能なモジュール（殊に、ＦＰＧＡおよびＤＰＧＡ（Dynamically Programmable Gate Arrays、ＦＰＧＡの新しいサブグループ）の、本発明において説明されるスイッチング・テーブルの制御を実施または場合により拡張するために、最も好都合には次のような特性を有する制御部が適している：
１．特有な命令語を識別することができる制御部。命令語は標識を有していることによって他とは相異している。即ち、この標識によって制御部は、リングメモリのエントリのデータをデータ語としてではなくて、命令語として識別することができる。
２．特有な命令語を実行することができる制御部。殊に、ステート・マシーンのシーケンスを変更するおよび／またはリングメモリのエントリを、データ処理機能によって変更することができるような命令。
３．識別語を識別することができ、かつこの識別語に基づいて内部の一層高速な（オーバサンプリング）クロックによってリングメモリのその他のエントリを処理する制御部。これは、終わり識別語に達したときまで、またはオーバサンプリング・クロックを制御するクロックの次のクロックサイクルに達したときまで行われる。
【００１５】
命令語を用いた制御を必要とするスイッチング・テーブルの有意味な制御に対する命令語として、特に、直ぐ次に挙げる命令またはこれらの命令の一部が考えられる。位置ポインタに関する命令語は、その都度、１つまたは複数の読み出し位置ポインタに適用することができるが、または１つまたは複数の書き込み位置ポインタに適用することができる。
【００１６】
可能な命令語：
１．ＷＡＩＴ命令。
ＷＡＩＴ命令により制御部は、次のイベントまたは次の（また種々異なった）イベントが到来するまで待つことになる。この状態の間、単数または複数の読み出し／書き込み位置ポインタが先に送られない。１つまたは複数のイベントが到来すると、単数または複数の読み出し／書き込み位置ポインタは次のエントリに位置決めされる。
【００１７】
２．ＳＫＩＰ命令。
ＳＫＩＰ命令はリングメモリの、指定された数のエントリを次の２つの方法のいずれかで飛び越す：
ａ．ＳＫＩＰ１命令は揃って１つの処理サイクルにおいて実施される。例えばＳＫＩＰ５が指定されると、１つの処理サイクルにおいてその時点の読み出し／書き込みエントリから５エントリ前（後ろ）に位置するエントリに飛び越される。
ｂ．ＳＫＩＰ２命令は或る数の処理サイクル後に漸く実施される。ここで、例えば、命令ＳＫＩＰ５は５つの処理サイクル後に漸く実施されるということが考えられる。その際ここでも、その時点のエントリから、５エントリが前方に飛び越される。即ち、パラメータ（この例では５）はこの方法では２回利用される。
飛び越し方向の指定は、極性の付いた数を使用することによって単数または複数の位置ポインタの前方向においても、後ろ方向においても終わることができる。
【００１８】
３．ＳＷＡＰ命令。
ＳＷＡＰ命令は、２つの指定されたエントリのデータを相互に交換する。
【００１９】
４．ＲＥＳＥＴ命令。
ＲＥＳＥＴ命令は、単数または複数の読み出し／書き込み位置ポインタをリングメモリ内の始めおよび／または指定されたエントリ位置にセットする。
【００２０】
５．ＷＡＩＴ−ＧＯＴＯ命令。
ＷＡＩＴ−ＧＯＴＯ命令は、上述したＷＡＩＴ命令のように、１つまたは複数のイベントを待ちかつそれから、読み出し／書き込み位置ポインタの、定義された開始状態への位置決めを１つまたは複数の処理サイクル内で実施する。
【００２１】
６．ＮＯＰ命令。
ＮＯＰ命令は、動作を実施しない。リングメモリからのデータはコンフィギュレーションを行うべきエレメントに伝送されないし、位置ポインタも変更されない。従ってＮＯＰ命令はエントリを重要でないと特徴付けるが、このエントリは、リングメモリの制御部よって応答されかつ評価され、それは１つまたは複数の処理サイクルとして必要である。
【００２２】
７．ＧＯＴＯ命令。
ＧＯＴＯ命令は１つまたは複数の読み出し／書き込み位置ポインタを指定されたエントリ位置に位置決めする。
【００２３】
８．ＭＡＳＫ命令。
ＭＡＳＫ命令は新しいデータ語をマルチプレクサに書き込み、マルチプレクサが種々異なったイベントを選択する。従って、この命令を用いて、制御部が応答するイベントを変更することができる。
【００２４】
９．ＬＩＢＡＣＫ命令。
ＬＩＢＡＣＫ命令は、ロードロジックに対する応答を発生する（ドイツ連邦共和国特許出願公開第４４１６８８１号公報の意味において）。この命令によって、スイッチング・テーブルはモジュールの比較的大きな領域のアンロードを行うことができるようになる。しかし殊にそれ自体のアンロードを。
【００２５】
１０．読み出し／修正／書き込みサイクルをトリガする命令
この命令は別のエントリにある命令またはデータの読み出しを、例えば制御部、ロードロジックまたはスイッチングテーブルの外部にあるエレメントによって実施する。これらデータはそれから、任意の手法で処理されかつ再び、スイッチング・テーブルのリングメモリにおける同じ位置または別の位置に書き込まれる。このことは、スイッチング・テーブルの処理サイクルの時間区間において行うことができる。その場合この過程は、位置ポインタの次の新しい位置決めの前に終了している。
【００２６】
リングメモリのエントリの構成は次のフォーマットを有している：
【表１】
0004637123.tif 000002
【００２７】
第１のビットはエントリを命令またはデータ語として特徴付ける。スイッチング・テーブルの制御部は、エントリのデータ部におけるビットチェーンが命令またはコンフィギュレーションデータとして扱われるかどうかを判断する。
【００２８】
第２のビットは、制御が即刻、別のイベントが到来することがなくても、次のエントリによって続行されるべきであるか、または次のイベントが待たれるべきであるかを特徴付ける。オーバサンプリングが使用され、かつＲＵＮビットがセットされると、次のエントリがこのオーバサンプリングクロックを用いて処理される。このことは、エントリがセットされたＲＵＮビットなしに実現される、またはオーバサンプリングクロックレートにおいてシステムクロック内に処理することができるエントリの数に達するまでの間行われる。オーバサンプリング方法が使用されなければ、通常のシステムクロックおよびセットされたＲＵＮビットによって先送りが行われる。ＲＵＮ（ラン）ビットによって特徴付けられた命令列のシーケンスの期間に到来するイベントが評価されかつトリガ信号がフリップフロップに記憶される。制御部はこのフリップフロップを、セットされたＲＵＮビットのないエントリに達したとき、再び評価する。
【００２９】
エントリの残りは、種類に応じて（データまたは命令）すべての必要な情報を含んでいるので、その結果制御部はそのタスクを完全に実施することができる。
【００３０】
リングメモリの大きさは用途に応じて具体化実現可能であり、殊にこのことは、リングメモリが１つまたは複数のコンフィギュレーション化可能なセルのコンフィギュレーション化によって生じるプログラミング可能なモジュールに対して当てはまる。
【００３１】
その際リングメモリは、コンフィギュレーションを行うべきエレメント、またはコンフィギュレーションを行うべきエレメントの群に、選択されたコンフィギュレーション語（リングメモリにおける）がコンフィギュレーションを行うべきエレメント、またはコンフィギュレーションを行うべきエレメントの群のコンフィギュレーションレジスタにエントリされるように接続されている。
【００３２】
これにより、コンフィギュレーションを行うべきエレメント、またはコンフィギュレーションを行うべきエレメントの群の有効でかつ作業能力のあるコンフィギュレーションが生じる。
【００３３】
それぞれのリングメモリは、１つの制御部または複数の制御部を有しており、これらは読み出し位置ポインタおよび／または書き込み位置ポインタの位置決めを制御する。
【００３４】
制御部は、ドイツ連邦共和国特許出願公開第４４１６８８１号公報に記載されている応答チャネルを用いて、モジュールの別のエレメントにまたはモジュール内で伝送される外部のイベントによって（例えば割り込み、ＩＯプロトコル等）応答することができかつこれら内部または外部のイベントに対する応答として、読み出し位置ポインタおよび／または書き込み位置ポインタを別のエントリに動かす。
【００３５】
イベントとして例えば次のものが考えられる：
１．計算装置のクロックサイクル。
２．内部または外部の割り込み信号。
３．モジュール内の別のエレメントのトリガ信号。
４．データフローおよび／または命令フローの、或る値との比較。
５．入力／出力イベント。
６．カウンタの作動、オーバフロー、新たなセット等。
７．比較の評価。
【００３６】
モジュールに複数のリングメモリがあるのであれば、各リングメモリの制御部は種々異なったイベントに応答するようにすることができる。
【００３７】
読み出し位置ポインタが新しいエントリに移る度毎に、このエントリに含まれているコンフィギュレーション語が、リングメモリに接続されている１つのコンフィギュレーション化可能なエレメントまたは複数のコンフィギュレーション化可能なエレメントに伝送される。
【００３８】
この伝送は、再コンフィギュレーション化には関係しない、モジュールの部分の動作手法が考慮されないように行われる。
【００３９】
単数または複数のリングメモリは、モジュール内にあってよいが、外部のインタフェースを介して、外部からモジュールに接続されるようにしてもよい。
【００４０】
その際モジュール当たりに複数の独立したリングメモリも考えられる。これらのリングメモリはモジュールの１つの区域にまとめることができるが、または効果的な方法で、モジュールの面にわたって分配されて配置されている。
【００４１】
コンフィギュレーションデータは、ドイツ連邦共和国特許出願公開第４４１６８８１号公報から公知のようなロードロジックによって、またはモジュールの別の内部セルによってスイッチング・テーブルのメモリにロードされる。その際コンフィギュレーションデータを、ロードロジックによって、またはモジュールの別の内部セルによって同時に複数の種々異なったスイッチング・テーブルに伝送して、スイッチング・テーブルの同時のロードを可能にすることもできる。
【００４２】
その際コンフィギュレーションデータは、データ処理装置の主メモリ内にあってもよくかつロードロジックに代わって、ＤＭＡまたはプロセッサ制御されるデータトランスファのような公知の方法によって伝送することができる。
【００４３】
ロードロジックによるスイッチング・テーブルのリングメモリのロードの後、スイッチング・テーブルの制御部はスタート状態にセットされ、モジュール全体またはモジュールの部分の有効なコンフィギュレーションを調整設定する。そこでスイッチング・テーブルの制御部は、到来するイベントに対する応答として、読み出し位置ポインタおよび／または書き込み位置ポインタの新たな位置決めを始める。
【００４４】
新しいデータの、１つのスイッチング・テーブルまたは多数のスイッチング・テーブルへのロードを開始するために、制御部は信号をロードロジックに、ドイツ連邦共和国特許出願公開第４４１６８８１号公報の意味において、または新しいデータの、スイッチング・テーブルのリングメモリへのロードを行っている、モジュールの別の内部部分に返送することができる。この種の応答のトリガは、特有の命令の評価、カウンタ状態によって行うことができるが、または外部から（ドイツ連邦共和国特許出願第１９６５１０７５．９号明細書のステート・バック・ユニットにおいて記載されているように）行うことができる。ロードロジックまたはモジュールの別の内部セルはこの信号を評価し、この信号に場合によっては変更されたプログラム実行によって応答し、かつ新しいまたは別のコンフィギュレーションデータを単数または複数のリングメモリに伝送する。そこでその場合、信号の評価に基づいてデータ伝送に関与しているリングメモリのデータだけを伝送すればよい。もはやモジュール全体のコンフィギュレーションデータを伝送する必要はない。
【００４５】
一時メモリ
個々のコンフィギュレーション化可能なエレメントまたはその群（以下に機能エレメントと称する）に１つのメモリを接続することができる。このメモリの実現のために従来技術による多数の方法を使用することができ、殊に、ＦＩＦＯが適している。機能エレメントによって生成されるデータはメモリに、データパケットが同じ実施すべき演算によって処理されるまでの間、またはメモリが一杯になるまでの間記憶される。その際スイッチング・テーブルを介してコンフィギュレーションエレメントが再コンフィギュレーション化され、即ちエレメントの機能は変化する。その際スイッチング・テーブルに対するトリガ信号として、メモリが一杯であることを指示するフルフラグを用いることができる。データ量を任意に決定することができるようにするために、フルフラグの位置がコンフィギュレーション化可能であり、即ちメモリは同様に、スイッチング・テーブルによってコンフィギュレーションを行うことができる。メモリにおけるデータは、コンフィギュレーションエレメントに導かれかつデータに関する新しい演算が実施される。データは、新しい計算に対するオペランドである。その際メモリからのデータだけを処理することができ、または更に、別のデータが外部から（モジュールの外部または別の機能エレメントから）到来する。データの処理の際、これら（演算の結果）は後続のコンフィギュレーションエレメントに転送することができ、または再度、メモリに書き込むことができる。メモリに対して書き込むアクセスも読み出すアクセスも可能にするために、メモリは２つのメモリバンクから成っていることができ、これらメモリバンクは交番的に処理されるかまたは同一のメモリに対する別個の読み出しおよび書き込み位置ポインタが存在している。特別な実施の形態は、複数の、上述したメモリの接続である。これにより、複数の結果を別個のメモリにファイルしかつ所定の時点で、所定の機能を実施するために、複数のメモリ領域が同時に１つの機能エレメントの入力側に導かれかつ計算に組み入れられる。
【００４６】
リングメモリのエントリの構成
次に、ドイツ連邦共和国特許出願公開第４４１６９９１号公報に記載されているように、データ処理装置に使用されるスイッチング・テーブルのリングメモリへのエントリの可能な構成について説明する。次の表には、命令語の個別ビットに基づいた命令構成が記述されている：
【表２】
0004637123.tif 000003
【００４７】
従って、エントリがデータエントリであれば、ビット番号０は値０を有し、即ち位置２からのビットは次の意味を有している：
【表３】
0004637123.tif 000004
【００４８】
従って、エントリが命令であれば、ビット番号０は値１を有し、即ち位置２からのビットは次の意味を有している：
【表４】
0004637123.tif 000005
【００４９】
次の表には、ここに挙げるそれぞれの命令に対するビット２〜６および８〜ｎの意味が示されている。データ語のビット幅全体は、スイッチング・テーブルが使用される使用のモジュールに依存している。ビット幅は、命令のために必要なすべてのデータが位置８からのビットにおいてコード化することができるように、選択すべきである。
【００５０】
【表５】
0004637123.tif 000006
【００５１】
ＡＬＵの再コンフィギュレーション化
更に、ＡＬＵを制御するために１つまたは複数のスイッチング・テーブルを使用することが考えられる。本発明は、例えば、スイッチング・テーブルがＭ／Ｆ−ＰＬＵＲＥＧレジスタに接続されるまたはＭ／Ｆ−ＰＬＵＲＥＧレジスタ全体がスイッチング・テーブルによって置換されるドイツ連邦共和国特許第１８６５１０７５．９号明細書の改良として利用することができる。
【実施例】
【００５２】
次に本発明を図示の実施例に付き図面を用いて詳細に説明する。第１図には、リングメモリの基本構成が示されている。それは、書き込み位置ポインタ０１０１と読み出し位置ポインタ０１０２とから成っている。これらポインタはメモリ１０３０にアクセスする。このメモリはＲＡＭまたはレジスタとして実現されていてよい。書き込み／読み出し位置ポインタを用いて、ＲＡＭのアドレス０１０４が選択される。このアドレスに、選択されたアクセス形式に依存して、入力データを書き込み、またはそこのデータを読み出すことができる。
【００５３】
第２図には、単純なリングメモリの内部構成が示されている。書き込み／読み出し位置ポインタに対してそれぞれ１つのカウンタが使用できるようになっている。０２０１は読み出し位置ポインタ０２０４のカウンタを表しかつ０２０６は書き込み位置ポインタ０２０５のカウンタである。２つのカウンタ０２０１，０２０６はそれぞれ、大域的なリセット入力側と、計数方向を決めるアップ／ダウン入力側を有している。入力側にカウンタの出力が加わるマルチプレクサ０２０２を介して、メモリ０２０３のアドレスを指示する書き込み位置ポインタ（０２０５）と読み出し位置ポインタ（０２０４）とが切り換えられる。書き込みアクセスおよび読み出しアクセスは信号２０７を介して実施される。書き込みアクセスまたは読み出しアクセスの都度、それぞれのカウンタは１位置づつ歩進計数される。そこで、書き込み位置ポインタ（０２０５）と読み出し位置ポインタ（０２０４）がメモリの最後の位置（アップ方向に計数するカウンタの場合は最後のアドレスまたはダウン方向に計数するカウンタの場合は最初のアドレス）を示すと、書き込みまたは読み出し位置ポインタ０２０５，０２０４は次のアクセスでメモリ０２０３の最初の位置にセットされる（アップ方向に計数するカウンタの場合は最初のアドレスまたはダウン方向に計数するカウンタの場合は最後のアドレス）。このようにして、リングメモリの機能が生じる。
【００５４】
図３には、通常のリングメモリの拡張が示されている。この拡張された構成では、書き込み位置ポインタ０３１１のカウンタ０３０３および読み出し位置ポインタ０３１２のカウンタ０３０９は１つの値をロードすることができるので、メモリのそれぞれのアドレスは直接調整設定することができる。このロード過程は通例のように、カウンタのデータおよびロード入力側を介して行われる。更に、リングメモリの作業領域を内部メモリ０３０６の所定のセクションに制限することができる。このことは、書き込み位置ポインタ０３１１のカウンタ０３０３および読み出し位置ポインタ０３１２のカウンタ０３０９を制御する内部ロジックによって行われる。このロジックは次のように構成されている：カウンタ（０３０３，０３０９）の出力側はそれに属するコンパレータ（０３０２，０３０８）の入力側に導かれる。そこで、それぞれのカウンタの値が、それぞれのデータレジスタ（０３０１，０３０７）の値と比較される。データレジスタには、飛び越し位置、即ちリングメモリのセクションの終わりが記憶されている。２つの値が一致すると、コンパレータ（０３０２，０３０８）は信号をカウンタ（０３０３，０３０９）に送出する。そこでカウンタは、飛び越しの目標アドレスに対するデータレジスタ（０３０４，０３１０）から値、即ちリングメモリのセクションの始めをロードする。飛び越し位置に対するデータレジスタ（０３０１，０３０７）および飛び越しの目標アドレスに対するデータレジスタ（０３０４，０３１０）はロードロジック（ドイツ連邦共和国特許出願公開第４４１６８８１号公報参照）によってロードされる。この拡張によって、リングメモリが内部メモリの全部の領域を使用せず、選択された部分だけを使用することが可能である。更に、このような書き込み／読み出し位置ポインタ（０３１１，０３１２）を複数個使用する場合、メモリを種々のセクションに分割することができる。
【００５５】
第４図には、複数のセクションに分配されているリングメモリの構成が示されており、その際制御部４０１はこれらセクションの１つにおいて動作する。制御部は第７図に基づいて詳細に説明する。リングメモリを複数のセクションに分割できるようにするために、その構成が第３図に示されていた、複数の書き込み／読み出し位置ポインタ０４０２，０４０８が使用される。その際制御部は、それが動作する領域をマルチプレクサ０４０７を介して選択する。書き込みまたは読み出しアクセスはマルチプレクサ０４０３を介して選択される。従って、メモリ０４０４のアドレスは選択された書き込み／読み出し位置ポインタによってアドレッシングされる。
【００５６】
第５図には、複数の制御部０５０１が制御部につきそれぞれ１つの書き込みおよび読み出し位置ポインタ０５０６，０５０２を介してリングメモリの固有の領域において動作する例が示されている。その際それぞれの制御部０５０１には書き込み位置ポインタ０５０６および読み出し位置ポインタ０５０２が配属されている。複数の書き込みおよび読み出し位置ポインタ０５０６，０５０２のいずれがメモリ０５０４をアクセスするかは、マルチプレクサ０５０５を介して選択される。マルチプレクサ０５０３を介して書き込みアクセスかまたは読み出しアクセスが選択される。制御部０５０１の書き込み／読み出し信号はマルチプレクサ０５０７を介してメモリ０５０４に達する。マルチプレクサ０５０７，０５０５，０５０３の制御信号は制御部０５０１からアービタ０５０８を介してマルチプレクサに行く。アービタ０５０８によって、複数の制御部が同時に、マルチプレクサ０５０７，０５０５，０５０３にアクセスすることが妨げられる。
【００５７】
第６図には、リングメモリ０６０１およびコンフィギュレーションエレメント０６０２とのその接続が示されている。リングメモリ０６０１は０６０４，０６０５，０６０６を介して接続されている。０６０４を介して問題のセル０６０７のアドレスが伝送される。線路０６０５はリングメモリからコンフィギュレーションデータを伝送する。セル０６０７は線０６０６を介して、再コンフィギュレーション化が可能であるかどうかの応答を伝送する。リングメモリにファイルされているデータはコンフィギュレーションエレメント０６０２にエントリされる。このコンフィギュレーションエレメント０６０２はコンフィギュレーション化可能なエレメント０６０３のコンフィギュレーションを決定する。コンフィギュレーション化可能なエレメント０６０３は例えば論理ユニット、ＡＬＵから成っていることができる。
【００５８】
第７図には、種々異なったトリガイベントに応答することができる制御部が示されている。その際個々のトリガイベントはマスキング可能であるので、常に、１つのトリガイベントのみがあるものと見なされる。このことはマルチプレクサ０７０１によって行われる。トリガ信号はフリップフロップ０７０４によって記憶される。ＡＮＤゲートを介してマスクとしても構成することができるマルチプレクサ０７０２（第７ａ図参照）は、ロー・アクティブなトリガ信号およびハイ・アクティブなトリガ信号を処理することができるようにするために用いられる。フリップフロップに記憶されているトリガ信号は０７０５を介してクロック発生部に転送される。クロック発生部については第８図を用いて説明する。ステートマシーン０７０３にはクロック発生のためのロジックからクロック（ＣＬＫ）が供給されかつその入力信号に依存して出力信号と、フリップフロップ０７０４をリセットしかつ次のトリガ信号まで処理を停止するためにリセット信号を送出する（ＣＬＲ）。この具体例の利点は、クロック遮断時の電流節約である。というのは、その場合ステートマシーン０７０３はスタチックだからである。クロックが常に加わっていて、ステートマシーンが命令デコーダおよびラン・ビットの状態によって制御される具体化実施も同様に考えられる。
【００５９】
第７ａ図には、トリガ信号のマスキングが示されている。トリガ信号およびＡの線路は、ＡＮＤゲート０７０６の入力側に接続されている。ＡＮＤゲート０７０６の出力側は０７０７にＯＲ結合されていて、出力信号を発生する。
【００６０】
第８図には、ステートマシーンに対するクロック発生のためのロジックが示されている。０８０１において、ＰＬＬを用いて別のクロックが発生される。それからマルチプレクサ０８０２を介して、通常のチップクロックかまたはＰＬＬ０８０１のクロックが使用されるかを選択することができる。ＯＲゲート０８０４には信号ＣおよびＢが加わる。信号Ｃは制御部におけるトリガイベントに基づいて発生される（第７図の０７０５参照）。信号Ｂは命令語のビット１から（第１０図の１０１２参照）から到来する。このビットは、ラン・フラグの機能を有しているので、制御部はラン・フラグがセットされている場合にトリガパルスに無関係に引き続き動作する。ＯＲゲート０８０４の出力側はマルチプレクサ０８０２の出力によって丸められかつこのようにしてステートマシーンに対するクロックを生成する。
【００６１】
第９図には、制御部０９０７と、メモリ０９０１を有するロードロジック０９０２と、リングメモリ０９０６と、コンフィギュレーション化可能なエレメント０９０５と、コンフィギュレーションエレメント０９０８と、コンフィギュレーションのために利用される内部セル０９０３との間の接続が示されている。ここで、コンフィギュレーションのために利用される内部セル０９０３は、コンフィギュレーション化可能なエレメント０９０５と、コンフィギュレーションエレメント０９０８とを有する通常のセルとして示されている。リングメモリ０９０６はコンフィギュレーションエレメント０９０８に接続されておりかつ制御部０９０７によって制御される。制御部０９０７は種々異なったトリガパルスに応答し、その際これらトリガパルスは、コンフィギュレーションのために使用される内部セル０９０３から到来する可能性もある。応答チャネル０９０９を介して、制御部０９０７は、トリガイベントに基づいて、新しいデータがリングメモリ０９０６にロードされるべきであるとき、ロードロジック０９０２に通報する。この応答の送出に対して付加的に、制御部０９０７は更に、信号をマルチプレクサ０９０４に送出しかつ、ロードロジック０９０２からのデータがリングメモリに送出されるのかまたはコンフィギュレーションのために使用される内部セル０９０３からデータがリングメモリに送出されるのかを選択する。ロードロジックによるリングメモリのコンフィギュレーションの他に、リングメモリを次のように調整設定することができる：コンフィギュレーション化可能なエレメント０９０３は、単独でまたはエレメント群の最後のエレメントとして、リングメモリ０９０６に対するエントリを生成するように接続されている。このモードにおいて、マルチプレクサ０９０４は０９０３からのデータをリングメモリに通し、一方ロードロジックによるコンフィギュレーションではロードロジックからのデータが通し接続される。固定的に具体化実現されている別の機能ユニットをコンフィギュレーション信号のソースとして用いることも勿論考えられる。
【００６２】
第１０図には、リングメモリにファイルされている命令の、制御部による命令処理が示されている。１００１は、次のビット分配を有するリングメモリのメモリを表している。ビット０はデータまたは命令ビットとしてのエントリを特徴付けている。ビット１はランおよびストップモードを特徴付けている。ビット２〜６は命令をコード化する命令番号を表すものである。ビット７は、読み出し位置ポインタに対する命令または書き込み位置ポインタに対する命令が使用されるかを指示する。命令が位置ポインタに影響を及ぼさなければ、ビット７は定義されていない。ビット８〜ｎには命令のために必要なデータがファイルされる。カウンタ１００４，１００５は、リングメモリに属している書き込み／読み出し位置ポインタを形成する。制御部がトリガパルスを受信すると、ステートマシーンはパルスを読み出し位置ポインタに送出する。書き込み位置ポインタは、命令の読み出しのために必要ではなく、データを、リングメモリにエントリするためにだけ利用される。選択された読み出し位置ポインタは、１つの位置だけ進められかつ新しい命令が選択される（ビット０＝０）。次に命令デコーダ１００２には、ビット２〜６およびビット７が加わり、デコード化されかつ結果はステートマシーンに転送される（１０２４）。ステートマシーンはどの命令が生じているのかを識別しかつ相応に切り替わる。
【００６３】
◎  命令スキップビットであれば、ステートマシーン１０１１はパルスを加算器／減算器１００６に送出して、それがマルチプレクサ１００３を介して供給される、カウンタ１００４，１００５からのデータに対して、ビット８〜ｎからの命令語のデータを加算または減算するようにする。マルチプレクサ１００３はビット７に依存して、書き込み位置ポインタのカウンタ１００４または読み出し位置ポインタのカウンタ１００５を選択する。データが加算／減算された後、ステートマシーン１０１１はゲート１０１０を活性化しかつ引き受け信号をカウンタ１００４，１００５に送出する。これにより、選択された位置ポインタは、スキップ命令のデータに指示されている数の位置だけ前方または後方に位置を指示する。
【００６４】
◎  ＧＯＴＯ命令の場合、ステートマシーン１０１１によってゲート１００７が活性化され、その結果データはビット７に依存して、書き込みまたは読み出し位置カウンタ１００４，１００５に達しかつそこで引き受けられる。
【００６５】
◎  ＭＡＳＫ命令の場合、データはラッチ１００８に引く受けられかつそこに記憶される。それからこれらのデータは第７図／第７ａ図に示されている制御部の接続路Ａを介して用意されかつそこで、トリガパルスが引き受けられるべきではないすべてのトリガ入力側をマスクする。
【００６６】
◎  ＷＡＩＴ命令の場合、データビット中に指示される数だけイベントが待たれる。ステートマシーン１０１１によってこの命令が記録されると、それは１つのパルスを待ちサイクルカウンタ１００９に送出し、このカウンタがデータを引き受ける。そこでサイクルカウンタはステートマシーン１０１１から転送されるイベントの都度、１桁下方に計数する。このカウンタが零まで計数するや否や、キャリーフラグがセットされかつステートマシーン１０１１に送出される（１０２３）。このキャリーフラグによってステートマシーンはそれ以降引き続き動作する。
【００６７】
◎  ＷＡＩＴ−ＧＯＴＯ命令の場合、待ちイベントの数を指示するデータが待ちサイクルカウンタに引き受けられる。データにおいて指示されているイベントの数に達すると、ステートマシーンはゲート１００７を活性化しかつ飛び越し位置に対するデータを選択されたカウンタに転送する。
【００６８】
◎  ＳＷＡＰ命令は、リングメモリの２つの位置の間で２つのエントリを交換するために用いられる。ラッチ１０１７に、交換すべき第１のエントリのアドレスが記憶され、ラッチ１０１８に、交換すべき第２のエントリのアドレスが記憶される。これらのアドレスは書き込み／読み出しポインタのマルチプレクサ１０１５および１０１６に転送される。まず、１０１６を介してエントリ１が選択されかつラッチ１０１９に記憶され、その後１０１６を介してエントリ２が選択されかつ１０２０に記憶される。１０１５を介して書き込みポインタが第１のエントリにセットされかつゲート１０２２を介してエントリ２のその前のデータが記憶される。その後１０１５を介して書き込みポインタは第２のエントリにセットされかつゲート１０２１を介してエントリ１のかつてのデータが記憶される。
【００６９】
◎  ステートマシーン１０１１は、１０１４を介して応答をロードロジック（例えばステート・バック・ユニットを介して、ドイツ連邦共和国特許出願第１９６５１０７５．９号明細書参照）に送出する。この接続線路を介してステートマシーンは、ＬＬＢａｃｋ命令が記録されるや否や、信号を送出する。
【００７０】
◎  ラン・フラグとして用いられるビット１は、第８図に示されている、制御部のクロック生成部に送出される。
【００７１】
◎  ＮＯＰ命令はステートマシーンに記録されるが、演算は実施されない。
【００７２】
第１１図には、リングメモリに記憶されているデータ語処理が示されている。データ語であるので、ビット０は１にセットされている。命令デコーダ１１０７は、データ語であることを識別しかつ再コンフィギュレーション化が可能であるかどうかの質問１１０６をビット２〜６においてアドレス指定されているセルに送出する。質問の送出は、ゲート１１０２の活性化と同時に行われ、これによりセルのアドレスが伝送される。セルは１１０５を介して再コンフィギュレーション化が可能であるかどうか指示する。可能であれば、コンフィギュレーションデータをセルに伝送するために、ゲート１１０３が操作される。再コンフィギュレーション化が可能でなければ、処理は引き続き実行されかつリングメモリにおける次の循環において再コンフィギュレーション化が新たに試行される。このシーケンスを次のように変形することもできる。ステートマシーンはゲート１１０２および１１０３を活性化しかつデータをアドレス指定されたセルに伝送する。セルの再コンフィギュレーションが可能であれば、セルは１１０５を介してデータの受信を確認応答する。再コンフィギュレーションが可能でなければ、セルは受信信号を送出せずかつリングメモリの次の循環において再コンフィギュレーションが新たに試行される。
【００７３】
第１２図には、コンフィギュレーション化可能なエレメント（１２０１）の群（機能エレメント）（１２０２）が図示されている。データは入力バス（１２０４）を介して機能エレメントに達しかつ結果は出力バス（１２０５）を介して先に送られる。その際１２０５はとりわけ、２つのメモリバンク１２０３に送出され、これらメモリバンクは交互にその都度一方が書き込みメモリまたは読み出しメモリとして動作する。これらメモリの出力側は入力バス（１２０４）に接続されている。全体の回路はスイッチングテーブルに通じるバスを介して（１２０６）コンフィギュレーション化することができ、その際スイッチングテーブルに対するトリガ信号もスイッチングテーブルからのトリガ信号もこのバスを介して伝送される。その際機能エレメントの機能の他に、瞬時的にアクティブな書き込み／読み出しメモリおよびそれぞれのメモリのメモリ深度が調整設定される。
【００７４】
第１２ａ図には、外部（１２０４）、即ち別の機能ユニットまたはモジュールの外部からのデータがどのように機能エレメント（１２０２）において計算されかつそれから書き込みメモり（１２１０）に書き込まれるかが示されている。
【００７５】
第１２ｂ図には、第１２ａ図の次のステップが示されている。機能エレメント１２０２およびメモリ１２２０，１２２１は機能エレメントまたはメモリまたは別のユニットによって発生されたトリガに従って１２０６を介して再コンフィギュレーション化された。書き込みメモリ１２１０は今や、読み出しメモリ（１２２０）としてコンフィギュレーション化されておりかつ機能エレメントに対してデータを送出する。結果は書き込みメモリ１２２１に記憶される。
【００７６】
第１２ｃ図には、第１２ｂ図の次のステップが示されている。機能エレメント（１２０２）およびメモリ（１２３０，１２３１）は機能エレメントまたはメモリまたは別のユニットによって発生されたトリガに従って１２０６を介して再コンフィギュレーション化された。書き込みメモリ１２２１は今や、読み出しメモリ１２３０としてコンフィギュレーション化されておりかつ機能エレメントに対するデータを送出する。結果は書き込みメモリ１２３１に記憶される。この例において、外部（１２０４）、即ち別の機能ユニットまたはモジュールの外部から付加的なオペランドが一緒に計算される。
【００７７】
第１２ｄ図には、第１２ｃ図の後の次のステップが示されている。機能エレメント（１２０２）およびメモリ（１２０３，１２４０）は、機能エレメントまたはメモリまたは別のユニットによって発生されたトリガに従って１２０６を介して再コンフィギュレーション化された。書き込みメモリ（１２３１）は今や、読み出しメモリ（１２４０）としてコンフィギュレーション化されておりかつ機能エレメントに対するデータを送出する。結果は出力バス（１２０５）を介して転送される。
【００７８】
第１３図には、第１２図の回路が示されており、その際２つのメモリバンクの代わりに、別個の書き込みポインタおよび読み出しポインタを有するメモリが使用されている（１３０１）。
【００７９】
第１４図には、第１３図のメモリ（１４０１）が示されている。１４０２は読み出し位置ポインタであり、ポインタの前のエントリは既に読み出されているかまたは空いている（１４０５）。ポインタは空いているポインタを指示する。読み出し位置ポインタの後ろにデータ（１４０６）があり、これらはまだ読み出されなければならない。その後には空いている空間（１４０４）および既に新しく書き込まれたデータ（１４０７）が続いている。書き込み位置ポインタ（１４０３）は、空であるかまたは既に読み出された空いているエントリを指示する。メモリは、既述のように、リングメモリとして構成することができる。
【００８０】
第１５図には、第１２図の回路が示されており、その際２つのメモリバンク（１２０３）は２重に存在している。これにより、複数の結果を記憶しかつその後一緒に処理することができる。
【００８１】
第１５ａ図には、外部（１２０４）、即ち別の機能ユニットまたはモジュールの外部からのデータが、どのように機能エレメント（１２０２）において計算されかつそれからバス１５１１を介して書き込みメモリ（１５１０）に書き込まれるかが示されている。
【００８２】
第１５ｂ図には、第１５ａ図の次のステップが示されている。機能エレメント（１２０２）およびメモリ（１２０３，１５１０，１５２０）は、機能エレメントまたはメモリまたは別のユニットによって発生されたトリガに従って１２０６を介して再コンフィギュレーション化された。その際外部（１２０４）、即ち、別の機能ユニットまたはモジュールの外部からのデータが機能エレメント（１２０２）において計算されかつそれからバス１５２１を介して書き込みメモリ（１５２０）に書き込まれる。
【００８３】
第１５ｃ図には、第１５ｂ図の次のステップが示されている。機能エレメント（１２０２）およびメモリ（１２０３，１５３０，１５３１，１５３２）は機能エレメントまたはメモリまたは別のユニットによって発生されたトリガに従って１２０６を介して再コンフィギュレーション化された。書き込みメモリ（１５０１，１５２０）は今や読み出しメモリ（１５３１，１５３２）としてコンフィギュレーション化されている。読み出しメモリは複数のオペランドを同時に機能エレメント（１２０２）に送出する。その際それぞれの読み出しメモリ（１５３１，１５３２）はそれぞれ独立したバスシステム（１５３４，１５３５）によって１２０２に接続されている。結果は１５３３を介して書き込みメモり（１５３０）に記憶されるかまたは１２０５を介して転送される。
【００８４】
概念定義
ＡＬＵ  算術論理ユニット。データの処理のための基本ユニット。このユニットは、加算、減算、状況によっては乗算、除算、級数展開等のような演算を実施することができる。その際、ユニットは整数のユニットまたは浮動小数点ユニットして構成されていることができる。同様にユニットは、ＡＮＤ、ＯＲのような論理演算並びに比較を実施することができる。
【００８５】
データ語  データ語は任意の長さのビット列から成っている。このビット列は装置に対する処理単位を表している。データ語においてプロセッサ等モジュールに対する命令並びに純然たるデータがコード化される。
【００８６】
ＤＦＰ  ドイツ連邦共和国特許出願公開第４４１６８８１号公報に記載のデータフロープロセッサ。
【００８７】
ＤＰＧＡ  従来のダイナミックコンフィギュレーション化可能なＦＰＧＡ。
【００８８】
Ｄフリップフロップ  クロックの上昇側縁において信号を記憶するメモリエレメント。
【００８９】
ＥＡＬＵ  拡張された算術論理ユニット。ドイツ連邦共和国特許出願公開第４４１６８８１号公報に記載のデータ処理装置の作動のために必要とされるまたは効果的である特別機能が拡張されたＡＬＵ。これは殊にカウンタである。
【００９０】
エレメント  部品として電子モジュールにおいて使用することができる、それ自体独立している、すべての種類の単位に対する集合概念。即ちエレメントには次のものがある：
◎  すべての種類のコンフィギュレーション化可能なセル
◎  クラスタ
◎  ＲＡＭブロック
◎  ロジック
◎  計算ユニット
◎  レジスタ
◎  マルチプレクサ
◎  チップのＩ／Ｏピン
【００９１】
イベント  イベントは、ハードウェアエレメントによって用途に適ったいずれかの形式および方法で評価しかつこの評価に対する応動として規定の動作をトリガすることができる。従って、イベントには例えば次のものがある：
◎  計算装置のクロックサイクル。
◎  内部または外部の割り込み信号。
◎  モジュール内の別のエレメントのトリガ信号。
◎  データ流および／または命令流の、或る値との比較。
◎  入出力イベント。
◎  カウンタの始動、オーバフロー、新たなセット等。
◎  比較の評価。
【００９２】
フラグ  状態を指示する、レジスタ中のステータスビット。
【００９３】
ＦＰＧＡ  プログラミング可能な論理モジュール。従来技術。
【００９４】
ゲート  論理基本機能を実施するトランジスタ群。基本機能は例えば、ＮＡＮＤ、ＮＯＲ、伝送ゲートである。
【００９５】
コンフィギュレーション化可能なエレメント  コンフィギュレーション化可能なエレメントは、特定の機能に対するコンフィギュレーション語によって調整設定することができる、論理モジュールのユニットを表している。従って、コンフィギュレーション化可能なエレメントは、すべての種類の、ＲＡＭセル、マルチプレクサ、算術論理ユニット、レジスタおよびすべての種類の、内部および外部のネット化記述などである。
【００９６】
コンフィギュレーション  論理ユニット、（ＦＰＧＡ）セルまたはＰＡＥの機能およびネット化の調整設定（再コンフィギュレーション化参照）。
【００９７】
コンフィギュレーションメモリ  コンフィギュレーションメモリは１つまたは複数のコンフィギュレーション語を含んでいる。
【００９８】
コンフィギュレーション語  コンフィギュレーション語は任意の長さのビット列から成っている。このビット列は、コンフィギュレーションを行うべきエレメントに対する有効な調整設定を表しているので、機能するユニットが生じる。
【００９９】
ロードロジック  ＰＡＥのコンフィギュレーション化および再コンフィギュレーション化のためのユニット。そのタスクに特有に整合されているマイクロコントローラによって構成されてる。
【０１００】
ラッチ  信号を普通、ハイレベルの期間にトランスペアレントに転送しかつローレベルの期間に記憶するメモリエレメント。ＰＡＥにおいて部分的に、レベルの機能が正確に反転しているラッチが使用される。この場合、通例のラッチのクロックの前にインバータが切り換えられる。
【０１０１】
読み出し位置ポインタ  ＦＩＦＯまたはリングメモリ内の読み出しアクセスに対する瞬時的にその時点のエントリのアドレス。
【０１０２】
論理セル  ＤＦＰ、ＦＰＧＡ、ＤＰＧＡにおいて使用されるコンフィギュレーション化可能なセルで、そのコンフィギュレーションに従って簡単な論理または算術タスクを果たすもの。
【０１０３】
オーバサンプリング  基本クロックの倍数の周波数で、基本クロックと同期してタイミングがとられる。このより高速なクロックは大抵、ＰＬＬによって生成される。
【０１０４】
ＰＬＬ  基本クロックに基づいてクロックを逓倍するためのユニット（位相閉ループ回路）。
【０１０５】
ＰＬＵ  ＰＡＥのコンフィギュレーション化および再コンフィギュレーション化のためのユニット。そのタスクに特有に整合されているマイクロコントローラによって構成されてる。
【０１０６】
リングメモリ  メモリの終わりに達し、即ちメモリの始めに位置している独自の書き込み・読み出し位置ポインタを有するメモリ。これにより、リングの形のエンドレスメモリが生じる。
【０１０７】
ＲＳフリップフロップ  リセット・セットフリップフロップ。２つの信号によって切り換えることができるメモリエレメント。
【０１０８】
書き込み位置ポインタ  ＦＩＦＯまたはリングメモリ内の書き込みアクセスに対する瞬時的にその時点のエントリのアドレス。
【０１０９】
ステートバック・ユニット  ステート信号の、ＰＬＵに対する応答を制御するユニット。１つのマルチプレクサと１つのコレクタ開放形バスドライバ回路から成っている。
【０１１０】
スイッチング・テーブル  スイッチング・テーブルは、制御部によって応答されるリングメモリである。スイッチング・テーブルのエントリは任意のコンフィギュレーション語を収容することができる。制御部は命令を実施することができる。スイッチング・テーブルはトリガ信号に応答しかつリングメモリにおけるエントリに基づいてコンフィギュレーション化可能なエレメントを再コンフィギュレーション化する（コンフィギュレーション参照）。
【０１１１】
処理サイクル  処理サイクルは、ユニットが、定義されたおよび／または有効な状態から次の定義されたおよび／または有効な状態に達するのに必要とする持続時間を記述している。
【０１１２】
ステートマシーン  種々様々な状態をとることができるロジック。状態間の移行は種々異なった入力パラメータに依存している。これらマシーンは、複雑な機能を制御するために使用されかつ従来技術に対応している
【表６】
0004637123.tif 000007
【０１１３】
【表７】
0004637123.tif 000008
【図面の簡単な説明】
【０１１４】
【図１】リングメモリの基本的な構成を示す。
【図２】リングメモリの内部構成を表す。
【図３】選択可能な作業領域を有するリングメモリを示す。
【図４】リングメモリおよびリングメモリの種々異なったセクションに対する複数の書き込みおよび読み出し位置ポインタを介して作業することができる制御部を示す。
【図５】種々様々なセクションにける種々異なった制御部がアクセスするリングメモリを表す。
【図６】リングメモリと、コンフィギュレーション化可能なエレメントとの接続を示す。
【図７】種々異なったトリガ信号に応答することができるようにするためにロジックを有する制御部を示し、ａ）はトリガパルスに対するマスクの実現を示す。
【図８】制御部に対するクロック発生器を示す。
【図９】コンフィギュレーションを行うべきエレメントのコンフィギュレーション化を可能にするために、制御部と内部セルとの相互接続を示す。
【図１０】リングメモリにファイルされている命令の、制御部による処理を説明する。
【図１１】リングメモリに記憶されているデータの処理を説明する。
【図１２】２つのメモリバンクから成る一時メモリの、コンフィギュレーション化可能な多数のエレメントに対する接続を示す。し、ａ〜ｄはデータ処理のシーケンスを示す。
【図１２ａ】データ処理のシーケンス例を示す。
【図１２ｂ】データ処理のシーケンス例を示す。
【図１２ｃ】データ処理のシーケンス例を示す。
【図１２ｄ】データ処理のシーケンス例を示す。
【図１３】別個の書き込み／読み出しポインタを有する一時メモリの、多数のコンフィギュレーション化可能な多数のエレメントに対する接続を示す。
【図１４】別個の書き込み／読み出しポインタを有する一時メモリの機能の手法を示す。
【図１５】それぞれ２つのメモリバンクから成る２つの一時メモリの、コンフィギュレーション化可能な多数のエレメントに対する接続を示す。
【図１５ａ】データ処理のシーケンス例を示す。
【図１５ｂ】データ処理のシーケンス例を示す。
【図１５ｃ】データ処理のシーケンス例を示す。
【図１】
0004637123.tif 000009
【図２】
0004637123.tif 000010
【図３】
0004637123.tif 000011
【図４】
0004637123.tif 000012
【図５】
0004637123.tif 000013
【図６】
0004637123.tif 000014
【図７】
0004637123.tif 000015
【図８】
0004637123.tif 000016
【図９】
0004637123.tif 000017
【図１０】
0004637123.tif 000018
【図１１】
0004637123.tif 000019
【図１２】
0004637123.tif 000020
【図１２ａ】
0004637123.tif 000021
【図１２ｂ】
0004637123.tif 000022
【図１２ｃ】
0004637123.tif 000023
【図１２ｄ】
0004637123.tif 000024
【図１３】
0004637123.tif 000025
【図１４】
0004637123.tif 000026
【図１５】
0004637123.tif 000027
【図１５ａ】
0004637123.tif 000028
【図１５ｂ】
0004637123.tif 000029
【図１５ｃ】
0004637123.tif 000030