(57)【特許請求の範囲】
【請求項１】
プログラミング可能な２次元または多次元のセル構造をもつコンポーネント（ＤＦＰ，ＦＰＧＡ，ＤＰＧＡ，ＲＡＷマシン）内で、コンフィグレーション可能なバスシステムによりコンフィグレーション可能な複数のエレメントが互いに結合されていて、該複数のエレメントにおけるデータ処理のシーケンスコントロールの同期をとるための、およびそれらのエレメントの再コンフィグレーションの同期をとるための、
ならびに、バスシステムにより複数の計算機構が互いに結合されていて、各計算機構上で構築される通常のマイクロプロセッサ、ディジタル信号プロセッサおよびマイクロコントローラにおける条件付きジャンプによるデータ処理のシーケンスコントロールの同期をとるための方法において、
データの比較、数値の極性符号、算術演算のキャリー、誤り状態など（０２０２）を用いて、処理を行うコンフィグレーション可能なエレメントにより処理中に同期信号を発生させ、該同期信号を別のエレメント（０２０１，０２０３）へバスシステムを介して送り、
受け取ったエレメントは、データ処理の同期をとるための情報と、データ処理のシーケンスの制御を使用することを特徴とする方法。
【請求項２】
同期確立にあたりトリガによりコンフィグレーション可能なエレメントまたは計算機構を励起して、ただ１つのオペレーションを実行させる（ＳＴＥＰトリガ、図２）、請求項１記載の方法。
【請求項３】
同期確立にあたりトリガによりコンフィグレーション可能なエレメントまたは計算機構を励起して、多数のオペレーションを実行させる（ＧＯトリガ、図２）、請求項１記載の方法。
【請求項４】
同期確立にあたりトリガにより、コンフィグレーション可能なエレメントの実行を停止させる（ＳＴＯＰトリガ、図２）、請求項１記載の方法。
【請求項５】
同期確立にあたりトリガにより、コンフィグレーション可能なエレメントに再コンフィグレーション許可を与える（図６）、請求項１記載の方法。
【請求項６】
コンフィグレーション可能なエレメントまたは計算機構は、該エレメントの目下の状態を状態レジスタ（０４０２）で表す、請求項１〜５のいずれか１項記載の方法。
【請求項７】
同期信号を、データ受信側、データ送信側または独立したコンフィグレーション可能なエレメントまたは計算機構へ伝送する（図１〜３）、請求項１〜６のいずれか１項記載の方法。
【請求項８】
同期信号の伝送を阻止可能である、請求項１〜７のいずれか１項記載の方法。
【請求項９】
種々の同期信号を選択的に伝送し（比較、誤り状態等）、ここで同期信号の形式は生成を行うユニットにおいて自由に選択可能であり、同期信号の作用は受信側のユニットで自由に選択可能である（図５）、請求項１〜８のいずれか１項記載の方法。
【請求項１０】
同期信号を複数の受信側へ伝送可能である（０５０１）、請求項１〜９のいずれか１項記載の方法。
【請求項１１】
同期信号に受領確認ラインを対応づける（図６：ＴＲＩＧＡＣＫ）、請求項１〜１０のいずれか１項記載の方法。
【請求項１２】
１つまたは複数の同期信号から同期ベクトルを形成する（図６：ＴＲＩＧＶ）、請求項１〜１１のいずれか１項記載の方法。
【請求項１３】
同期ベクトルにより、複数のコンフィグレーションレジスタから１つのコンフィグレーションレジスタを選択し、あるいは複数の命令レジスタから１つ命令レジスタを選択する（図７ｂ）、請求項１〜１２のいずれか１項記載の方法。
【請求項１４】
同期信号により、レジスタの選択過程をクロックサイクルを失うことなくデータ処理と同期させる（図６）、請求項１〜１３のいずれか１項記載の方法。
【請求項１５】
複数のレジスタから選択された１つのオペレーションに割り当てられたレジスタに、生成された同期信号の値を格納して、割り当てられた別のオペレーションがそれに対しアクセス可能とし、その情報に基づき実行可能な有効な命令ないしは実行可能な有効なコンフィグレーションを複数の命令／コンフィグレーションから選択する、請求項１〜１４のいずれか１項記載の方法。
【請求項１６】
プログラミング可能な２次元または多次元のセル構造をもつコンポーネント（ＤＦＰ，ＦＰＧＡ，ＤＰＧＡ，ＲＡＷマシン）内で、コンフィグレーション可能なバスシステムによりコンフィグレーション可能な複数のエレメントが互いに結合されていて、該複数のエレメントにおけるデータ処理のシーケンスコントロールの同期をとるための、およびそれらのエレメントの再コンフィグレーションの同期をとるための、
ならびに、バスシステムにより複数の計算機構が互いに結合されていて、各計算機構上で構築される通常のマイクロプロセッサ、ディジタル信号プロセッサおよびマイクロコントローラにおける条件付きジャンプによるデータ処理のシーケンスコントロールの同期をとるための方法において、
適切な命令に基づき、コンフィグレーション可能なエレメントまたは計算機構の内部でコンフィグレーションワードを発生させ、データバスを介して応答すべきレジスタのアドレスとともに別のコンフィグレーション可能なエレメントまたは計算機構へ伝送し、該エレメントまたは計算機構は伝送されたコンフィグレーションワードをアドレッシングされたレジスタへ書き込むことを特徴とする方法。
【請求項１７】
コンフィグレーション可能なエレメントまたは計算機構はその目下の状態を状態レジスタ（０４０２）で表す、請求項１６記載の方法。
【請求項１８】
制御すべきレジスタの情報を命令にコーディングし、データバスを介して伝送する、請求項１６または１７記載の方法。
【請求項１９】
複数のレジスタから選択された１つのオペレーションに割り当てられたレジスタに、生成された同期信号の値を格納して、割り当てられた別のオペレーションがそれに対しアクセス可能とし、その情報に基づき実行可能な有効な命令ないしは実行可能な有効なコンフィグレーションを複数の命令／コンフィグレーションから選択する、請求項１６〜１８のいずれか１項記載の方法。
【発明の詳細な説明】
１．  発明の背景
１．１  従来の技術
１．１．１  問題点
今日のコンポーネント（ＦＰＧＡ，ＤＰＧＡ等）の場合、コンフィグレーション可能なエレメントの同期はたいてい、コンポーネントのクロックにより確立される。このような形式の時間的に制御される同期によって、多くの問題点がもたらされる。それというのも、有効な結果が得られるまでにタスクがどの程度の長さを必要とするかが、事前には既知でないからである。時間制御される同期確立の別の問題点は、同期確立の対象となるイベントが、同期をとるべきエレメント自体によってトリガされるのではなく、無関係のエレメントによってトリガされることである。このような場合には、２つの異なるエレメントが同期確立に関与することになる。このことによって、管理が非常に煩雑になってしまう。
ヨーロッパ特許EP-A-0,726,532によれば、アレイとして配置された複数のプロセッサから成るＳＩＭＤマシンへのおよびそこからのデータ流をコントロールする方法が公知である。この場合、データ伝送の目標プロセッサをダイナミックに選択する命令がすべてのプロセッサへ送られる。この命令は、上位の機構からすべてのプロセッサへ送られるものであり（broadcast instruction）、方向フィールド（destination field）と目標フィールド（target field）から成る。結果を送るべき隣接するプロセッサエレメントをダイナミックに求めるために、方向フィールドによってプロセッサエレメント内のユニットがコントロールされる。また、目標フィールドによって、別の結果を格納すべき別のプロセッサエレメントのオペランドレジスタがダイナミックに選択される。
１．１．２  本発明による改善点
本発明によれば、同期確立が同期をとるべきエレメント自体に基づくようにする方法が提供される。この場合、同期確立はもはや中央の機構によって実行されず、また、もはや中央の機構によって管理もされない。同期確立の場所を各エレメントに移すことにより、多くの同期確立タスクを同時に実行することもできる。なぜならば、独立した各エレメントが中央の同期機構へのアクセスの際に互いに邪魔し合うことがないからである。
請求の範囲には、本発明による同期確立方法の詳細や特別な形態ならびに特徴が記載されている。
２．発明の説明
２．１  発明の概要、要約
２次元または３次元で配置されたプログラミング可能なセル構造を備えたコンポーネント（ＤＦＰ，ＤＰＧＡ）において、コンフィグレーション可能な各エレメントはメッシュ構造を介して、コンフィグレーション可能な他のエレメントのコンフィグレーションレジスタまたはステータスレジスタにアクセスすることができ、そのことでそれらの機能や動作に対しアクティブに作用を及ぼすことができる。この種のセルから成るマトリクスを以下ではプロセッシングアレイProcessingArray（PA）と称する。したがって通常の方法に加えてプロセッシングアレイ（ＰＡ）からのロードロジックにより、コンフィグレーションを行うことができる。
２．２  発明の詳細な説明
この場合、ランタイムに自由にプログラミング可能なコンポーネントを前提としており、これはランタイムに付加的に再コンフィグレーション可能である。チップに含まれているコンフィグレーション可能なエレメントは、種々の役割のために１つまたは複数のコンフィグレーションレジスタを有している。このコンフィグレーションレジスタに対しては、読み出しアクセスおよび書き込みアクセスが可能である。この方法において前提とするのは、以下に挙げる情報についてコンフィグレーションすべきエレメントにおいてコンフィグレーションを設定できることである。すなわち、
−メッシュ結合レジスタ：他のセルとの結合形式がこのレジスタに設定される。
−命令レジスタ：コンフィグレーション可能なエレメントの実行すべき機能がこのレジスタにエントリされる。
−状態レジスタ：セルはこのレジスタにそれらの目下の状態を格納する。この状態によって、セルがどの処理サイクルにあるかに関する情報がコンポーネントにおける他のエレメントへ与えられることになる。
１つのセルは、そのセルが実行すべき機能を定める命令によってコンフィグレーションされる。さらに、他のセルとのメッシュ結合と状態レジスタの内容を設定するために、コンフィグレーションデータがエントリされる。この過程の後、セルはスタンバイ状態となる。
多数のセルをフレキシブルかつダイナミックに共働させることができるようにする目的で、各セルは他のセルのすべてのコンフィグレーションレジスタを読み出しアクセスまたは書き込みアクセス可能である。多数のコンフィグレーションレジスタのうちのいずれに対し読み出しアクセスまたは書き込みアクセスするかは、セルをコンフィグレーションした命令の形式によって決まる。セルが実行可能な各命令は、コンフィグレーションすべきエレメント内に存在する互いに無関係な種々のコンフィグレーションレジスタと同じように種々のアドレッシング形式で存在している。
実例：あるセルが上述のコンフィグレーションレジスタ（メッシュ結合、命令および状態）を有しており、加算を行う命令ＡＤＤを実行しようとしている。ＡＤＤ命令の種々の形式により、その機能の結果がどこへ伝送されるのかを選択することができる。
ＡＤＤ−Ａ：結果は目標セルのオペランドレジスタＡへ伝送される。
ＡＤＤ−Ｂ：結果は目標セルのオペランドレジスタＢへ伝送される。
ＡＤＤ−Ｖ：結果は目標セルのメッシュ結合レジスタへ伝送される。
ＡＤＤ−Ｓ：結果は目標セルの状態レジスタへ伝送される。
ＡＤＤ−Ｃ：結果は目標セルの命令レジスタへ伝送される。
２．２．１  制御および同期のトリガ
結果のほかに、各セルは一群のトリガ信号を発生させることができる。トリガ信号は、コンフィグレーションされた命令の処理結果と必ずしも同じ目標セルに伝送されなくてもよい。トリガ信号によって、または複数のトリガ信号が組み合わさってはじめて、目標セルにおいて特定のアクションがトリガされ、あるいはそのセルが特定の状態に移される。状態の記述については後述する。この場合、以下のトリが信号がある。すなわち、
−ＧＯトリガ：ＧＯトリガによって目標セルは状態ＲＥＡＤＹに移される。
−ＲＥＣＯＮＦＩＧトリガ：ＲＥＣＯＮＦＩＧトリガによって目標セルは状態ＲＥＣＯＮＦＩＧに移され、その結果、セルをプログラミングしなおすことができるようになる。
−殊にスイッチングテーブルとの共働においてこのトリガは非常に有用である。処理すべきデータがクロックの立ち上がり縁とともにオペランドレジスタへロードされ、Ｈレベル期間中に処理され、立ち下がり縁で出力レジスタに書き込まれるものとすれば、セルの再コンフィグレーションは立ち下がり縁で可能である。この立ち下がり縁とともに、新たなコンフィグレーションデータが命令レジスタへ書き込まれる。Ｌレベルの期間は、再コンフィグレーションを首尾よく完了するのに十分な期間である。
−ＳＴＥＰトリガ：ＳＴＥＰトリガにより、状態ＷＡＩＴにある目標セルにおいてコンフィグレーションされた命令の１回かぎりの実行がトリガされる。
−ＳＴＯＰトリガ：ＳＴＯＰトリガは目標セルを停止させ、そこにおいてセルは状態ＳＴＯＰにセットされる。
処理すべきセルにおいて、目標セルのいずれのレジスタへ結果をエントリすべきか、ならびにいずれの形式のトリガ信号を発生させるべきかを表すことができるため、データ流から一群の管理データを生成することができる。この管理データは、チップにより実行される本来のタスクの結果を表すものではなく、内部状態の管理、同期確立や最適化などの管理にのみ用いられる。
各セルは、状態レジスタにおける適切なコーディングにより表される以下の状態をとることができる。
−ＲＥＡＤＹ：セルは有効な命令によってコンフィグレーション済みであり、データを処理することができる。この処理は各クロックサイクルごとに行われる。データは、データ送り手のセルのアドレッシング形式に基づき目標セルのレジスタへ読み込まれる。
−ＷＡＩＴ：セルは有効な命令によってコンフィグレーション済みであり、データを処理することができる。処理は、コンポーネントの他のエレメントにより生成可能なトリガ信号に基づき行われる。データは、データ送り手のセルのアドレッシング形成に基づき目標セルのレジスタへ読み込まれる。
−ＣＯＮＦＩＧ：セルは有効な命令によってコンフィグレーションされていない。次のクロックサイクルでセルへ送られるデータパケットが、命令レジスタへ読み込まれる。データパケットは、データ送り手のセルがどのようなアドレッシング形式を利用していようと、いずれにせよ命令レジスタへ読み込まれる。
−ＣＯＮＦＩＧ−ＷＡＩＴ：セルは有効な命令でコンフィグレーションされていない。データパケットは、コンポーネントの他のエレメントにより生成可能な次のトリガ信号によって読み込まれ、命令レジスタへ書き込まれる。データパケットは、データ送り手のセルがどのようなアドレッシング形式を利用していようと、いずれにせよ命令レジスタに読み込まれる。
−ＲＥＣＯＮＦＩＧ：セルは有効な命令でコンフィグレーションされ処理されているが、新たなデータはないし、新たなデータを受け入れることもしない。セルはコンポーネントの別のエレメントによってコンフィグレーションしなおすことができる。
−ＳＴＯＰ：セルは有効な命令によってコンフィグレーションされ処理されているが、目下のところデータはない。データはセルによって受け入れられる（入力レジスタへ伝送される）が、続いて処理されることはない。
これらの種々の状態と、１つのセルの種々のレジスタに対する書き込みアクセスと読み出しアクセスが可能であることから、各セルはアクティブな管理の役割を受け入れることができる。これに対し、この種の形式の既存のあらゆるコンポーネントは中央の管理機構を有しており、これはコンポーネントのすべての状態を常に把握して処理しなければならない。
フレキシビリティをさらに高める目的で、命令について別のクラスが存在しており、それらは最初の実行後にその形式を変えるものでる。ＡＤＤ命令の実例に基づき説明すると、命令は以下のようになる。すなわち、
−ＡＤＤ−Ｃ−Ａ：ＡＤＤファンクションの結果は、命令の最初の実行時には目標セルの命令レジスタへ書き込まれる。さらに実行されるたびに、結果はオペランドレジスタＡへ書き込まれる。
これらの可能性は自由に拡張することができるので、ＡＤＤ−Ｃ−Ｖ−Ａ−Ｃ−．．．−Ｂといったような形式の命令も考えられる。各命令は、種々のアドレッシング形式およびトリガ形式の入れ換えられたあらゆる組み合わせをとることができる。
２．２．２  ＲＥＣＯＮＦＩＧトリガによる再コンフィグレーション制御
従来の方法において必要とされていたのは、状態「コンフィグレーション可能」へ移行させるために、コンフィグレーションすべき各エレメントは外部の機構からＲＥＣＯＮＦＩＧトリガを受け取らなければならなかったことである。このことの欠点は、ＲＥＣＯＮＦＩＧトリガを分け与えるためにメッシュ結合とコンフィグレーションが非常に煩雑にならざるを得なかったことである。
メッシュ結合の構造により、この欠点を取り除くことができる。メッシュ結合情報によりつながっているコンフィグレーション可能なすべてのエレメントによって、方向づけられた１つのグラフが描かれる。この種のグラフは、複数の根ないしはルート（源）と複数のリーフ（目標）をもつことができる。コンフィグレーション可能なエレメントは、到来するＲＥＣＯＮＦＩＧトリガをそれらのエレメントがその出力側のレジスタの方向、入力側のレジスタの方向、またはそれらの組み合わせの方向で伝播させるように拡張される。この伝播によって、コンフィグレーション可能なエレメントとダイレクトに結合されているコンフィグレーション可能なすべてのエレメントも同様に、ＲＥＣＯＮＦＩＧトリガを得ることになる。
この場合、あるコンフィグレーション（グラフ）を、完全に状態「コンフィグレーション可能」へ移すことができ、これはすべてのルートに対しＲＥＣＯＮＦＩＧトリガが送られ、それによってＲＥＣＯＮＦＩＧトリガが出力レジスタ方向へ伝播することによって可能となる。ＲＥＣＯＮＦＩＧトリガを送る必要のある１つのグラフ内のルートの量は、グラフにおけるすべてのノードの個数よりも著しく少ない。このことで、煩雑さやコストが最低限に抑えられる。もちろん、ＲＥＣＯＮＦＩＧトリガをすべてのリーフに送ることもできる。その場合にはＲＥＣＯＮＦＩＧトリガは、入力レジスタの方向へと伝播される。
両方の可能性を利用することにより、あるいは両方のやり方を混在させることにより、ＲＥＣＯＮＦＩＧトリガを導く必要のあるコンフィグレーション可能な最小量のエレメントを算定することができる。
コンフィグレーション可能なエレメントはそれらの状態レジスタに対する補足を受けることができ、これによって到来するＲＥＣＯＮＦＩＧトリガを伝播させるべきか否かが表される。この情報が必要とされるのは、２つまたはそれよりも多くの種々のグラフが１つまたは複数の個所でつながっており（つまり移行部を有しており）、別のグラフのうちの１つが状態「再コンフィグレーション可能」へ移行するのがやはり望ましくないときである。つまり、１つまたは複数のコンフィグレーション可能なエレメントはゲートのように振る舞う。
さらに状態レジスタは、到来するＲＥＣＯＮＦＩＧトリガをいずれの方向へ転送すべきであるかを付加的なエントリによって表すよう、拡張できる。
既述の方法は、あらゆる形式のトリガおよび／またはデータに適用できる。これにより、始動させるのに外部からの著しく僅かなアクセスの機会しか必要としない自動的な割り当て階層を形成することができる。
３．コンフィグレーション可能な同じエレメントへ同時に複数の機能をインプリメント
３．１  基本機能および必要とされるトリガ
ある条件による様々なマクロの呼び出しの著しく複雑な変形は、以下のように表される：
ある条件（ＩＦ  ＣＯＭＰ  ＴＨＥＮ  Ａ  ＥＬＳＥ  Ｂ；ここでＣＯＭＰは比較を表し、ＡとＢは実行すべきオペレーションである）を実行する場合、ＧＯトリガとＳＴＯＰトリガは生成されない。これらの代わりにトリガベクトル（ＴＲＩＧＶ）が生成され、これは比較ＣＯＭＰによってどのような結果に至るのかを表すものである。したがってトリガベクトルは状態「等しい」、「大きい」あるいは「小さい」をとる可能性がある。
ベクトルは後続のセルへ送られ、そのセルはベクトルの状態に基づき複数のコンフィグレーションレジスタから１つの特定のコンフィグレーションレジスタ（ＡまたはＢに対応する）を正確に選択する。このことにより、先行する比較の結果に応じてデータについて別の機能が実行されるようになる。「大きい−等しい」、「小さい−等しい」、「等しい−等しくない」といった状態は、２つのコンフィグレーションレジスタが同じコンフィグレーションデータによって記述されることにより分解される。たとえば「大きい−等しい」の場合には、コンフィグレーションレジスタ「大きい」とコンフィグレーションレジスタ「等しい」に同じコンフィグレーションワードが書き込まれる一方、コンフィグレーションレジスタ「小さい」には別のコンフィグレーションワードが含まれる。
トリガベクトル（ＴＲＩＧＶ）をインプリメントする場合、状態「大きい」、「小さい」ならびに「等しい」に対しいかなる制限も不要である。大きい”ＣＡＳＥ．．．ＯＦ”構造を評価するために、ＣＡＳＥの状態を表す任意の数値ｎをトリガベクトル（ＴＲＩＧＶ−ｍ）として、１つまたは複数の後続セルへ転送することができる。換言すれば、ｎはＣＡＳＥ内部の比較を表し、これは到来するデータの評価にあたり合致したものである。ＣＡＳＥ内部で比較に対応づけられた機能を実行するために、実行すべきセルにｎが転送され、これによって対応する機能を選ぶことができる。「大きい／小さい／等しい」という場合、セルは少なくとも３つのコンフィグレーションレジスタを必要とするのに対し、ＴＲＩＧＶ−ｍを用いた場合にはコンフィグレーションレジスタの個数は少なくともｎの最大値（ｍａｘ（ｎ））に相応する。
３．２  トリガによる必要とされる機能の伝播
特別な事例ではトリガが存在しないことに対し応答する必要があり、すなわちその場合、トリガ状態が発生しているけれどもトリガベクトルの変化引き起こされない。さらにこの場合にも、有用かつ重要な情報を後続のセルへ伝送することができる。実例として挙げると、「大きい」、「小さい」、「等しい」についての比較にあたり、状態「小さい」から状態「大きい」へ移行してもトリガ信号「等しい」が存在せず変化しない場合である。それにもかかわらず「等しい」が存在しないということには１つの情報が含まれ、つまりは「等しくない」という情報が含まれる。このような２つの状態「存在している」および「存在していない」に応答できるようにする目的で、セルのコンフィグレーションレジスタに対し１つのエントリが加えられ、これによって各状態のうちのいずれに対し応答すべきであるかが表される。
しかも状態「等しい」、「大きい」および「小さい」を表すトリガベクトルＴＲＩＧＶに対し、トリガの発生を表す信号ＴＲＩＧＲＤＹが加えられる。これが必要とされる理由は、複数のベクトルのうちの１つにおける状態「存在していない」によっても、トリガ自体の存在以上の情報が与えられないからである。
ＴＲＩＧＲＤＹは、送信側のセルと受信側のセルとの間のハンドシェークプロトコルのために利用でき、これは受信側のセルがトリガベクトルを評価するとただちにＴＲＩＧＡＣＫを生成することによって行われる。ＴＲＩＧＡＣＫが到来した後ではじめて、送信側のセルはトリガ状態を撤回する。その際、コンフィグレーションレジスタへのエントリに基づき、トリガベクトル送信時にＴＲＩＧＡＣＫの受け取りを待つべきであるか、あるいはトリガチャネルが非同期で流れているか否かが判定される。
３．４  マイクロプロセッサでの使用
最新のアーキテクチャをもつマイクロプロセッサの場合にはもはや、分岐予測つまりジャンプの予測という既知の方式によっては、条件付きジャンプは実行されない。プロセッサの性能向上をもたらしたジャンプの投機的な予測によれば、投機的なアルゴリズムに基づきジャンプが事前に計算され、計算に誤りがあればプロセッサパイプライン全体を新たにロードしなければならず、このことによって著しい性能損失が生じていた。
このような損失をなくす目的で、新たな述語／ＮＯＰ方式が導入された。これによれば各命令に対し、命令を実行すべきか否かを表す１ｂｉｔ幅のステータスフラグが割り当てられる。この場合、任意の量のステータスフラグを存在させることができる。命令とステータスフラグとの対応づけは、符号変換中にコンパイラによって行われる。ステータスフラグは、それらに割り当てられた実行時間に対する比較演算により管理され、それらは個々の比較の結果を表す。ある命令に割り当てられたステータスフラグの状態に応じて、（ステータスフラグが「実行」を表していれば）その命令はプロセッサによって実行されるし、（ステータスフラグが「実行せず」を表していれば）その命令は実行されず、ＮＯＰで置き換えられる。ＮＯＰとは”No OPeration”のことであり、つまりプロセッサはそのサイクル中はオペレーションを実行しない。これにより、有用なオペレーションのためのサイクルが失われることになる。
サイクルの損失を最適化するために２つの可能性を提案する：
３．５．１  計算ユニットごとの複数の命令レジスタ
最新のマイクロプロセッサは相対的に独立した複数の算術演算機構を有している。ここで提案するトリガ方式によれば、個々の算術演算機構は複数の命令レジスタを装備することができ、ここでマイクロプロセッサ算術演算機構の命令レジスタは、通常のＦＰＧＡ，ＤＦＰまたは他のコンポーネントによるコンフィグレーションレジスタと同義である。個々のアクティブな命令レジスタの選択は、
ａ）比較により他の算術演算機構によって生成されたトリガベクトルに基づく。
ｂ）複数ビットのステータスフラグ（以下ではステータスベクトルと称する）に基づく。これは従来技術による現在の方式では比較命令に対応づけられている。
３．５．２  変形されたＶＬＩＷ命令セット
特別な実施形態はＶＬＩＷ命令セットにより提供される。この場合、１つの命令ワード内において、比較に依存する複数の可能な命令を１つの命令にまとめることができる。任意の幅のＶＬＩＷワードは、任意の量の命令（コード）に分割される。このコードの各々は、トリガベクトルまたはステータスベクトルにより参照される。つまりランタイムに、存在するコードのうちの１つがＶＬＩＷワードから選択されて処理される。
以下の表には、４つのコードを有する可能なＶＬＩＷワードが描かれており、これに対し２ｂｉｔのトリガベクトルまたは２ｂｉｔのステータスフラグが参照される。
ＶＬＩＷ命令ワード：
0004146519.tif 000002
対応づけ：
トリガベクトル／ステータスフラグ：
0004146519.tif 000003
４．通常のＦＰＧＡおよびＤＦＰに対するハードウェアの拡張
４．１  付加的なレジスタ
ＤＦＰにおいて一般的であるコンフィグレーションレジスタに対し、ステータスレジスタとコンフィグレーションレジスタが加わる。両方のレジスタはＰＬＵバスにより制御され、個々のセルにおけるシーケンスコントロールの状態マシンと接続されている。
４．２  ＰＬＵバスの変形
ＦＰＧＡおよびＤＦＰにおいて、コンフィグレーション可能なレジスタＭ−／Ｆ−ＰＬＵＲＥＧはもっぱら、ロードロジックへの接続ラインを成すＰＬＵバスを介して管理される。ここで本発明による機能を保証する目的で、付加的なアクセスの機会が通常のシステムバスによって各セル間で可能でなければならない。同じことは新たなステータスレジスタおよびコンフィグレーションレジスタについてもあてはまる。この場合、レジスタにとってはシステムバスの一部分だけが重要であり、これはＢＭ−ＵＮＩＴすなわちシステムバスとＰＡＥとの間のインタフェースを介して、ＰＡＥとメッシュ結合されている。
このためバスはＢＭ−ＵＮＩＴからレジスタへ転送され、そこにおいて前置接続されたマルチプレクサあるいは前置接続されたゲートによって、ＰＬＵバスとＰＡＥにとって重要なシステムバスとの間の切り替え動作が行われる。その際、マルチプレクサまたはゲートは、コンポーネントがリセット（ＲＥＳＥＴ）された後や、ＲＥＣＯＮＦＩＧトリガ信号がアクティブであるとき以外は、ＰＡＥにとって重要なシステムバスを常に導通接続するようにスイッチングを行う。
４．３  通常のＦＰＧＡとＤＦＰに対するコンフィグレーション可能なエレメント（ＰＡＥ）の拡張
４．３．１  トリガソース
コンフィグレーション可能なエレメントは、複数のソースから同時にトリガを受け取ることができる。この構成により、マスキングレジスタを用いることでトリガのフレキシブルなセマンティクスを達成できる。
４．３．２  複数のコンフィグレーションレジスタ
１つのコンフィグレーションレジスタの代わりに、ＰＡＥは複数（ｍａｘ（ｎ））のコンフィグレーションレジスタを有する。
４．３．３  コンフィグレーション状態マシンおよびマルチプレクサ
コンフィグレーションレジスタにはマルチプレクサが後置接続されており、これは可能なコンフィグレーションのうちの１つを選択する。マルチプレクサの制御は、別個のまたはＰＡＥ状態マシンに統合された状態マシンにより行われ、これは到来するトリガベクトルに基づきマルチプレクサを制御する。
４．３．４  トリガの評価とコンフィグレーション
コンフィグレーション可能なエレメントはマスキングレジスタを有することができ、そこにおいてどのトリガ入力側にトリガ信号が到来しなければならないのかを設定することができ、その結果、コンフィグレーション可能なエレメントのアクションに対する動作が満たされることになる。コンフィグレーション可能なエレメントは１つのトリガに応答するだけでなく、複数のトリガから生じた組み合わせにも応答する。さらにコンフィグレーション可能なエレメントは、同時に到来するトリガの優先順位を付けることができる。渡来するトリガは、ＴＲＩＧＲＤＹ信号に基づき識別される。その際、トリガベクトルは、付加的にコンフィグレーションレジスタ内に存在するコンフィグレーションデータに基づき評価される。
４．３．５  トリガハンドシェーク
トリガベクトルが評価されるとただちに、トリガベクトル受領確認のためＴＲＩＧＡＣＫが生成される。
４．３．６  ＢＭ−ＵＮＩＴ
ＢＭ−ＵＮＩＴは、バスから到来するトリガがＭ−ＰＬＵＲＥＧ内のコンフィグレーションに従ってＳｙｎｃユニットとＳＭユニットまで到達するように拡張される。ＥＡＬＵから発せられたトリガ（たとえば比較値「大きい」、「小さい」、「等しい」、０検出器、極性符号、変換、誤り状態（０による除算等）など）は、Ｍ−ＰＬＵＲＥＧ内の結線情報に従ってＢＭ−ＵＮＩＴからバスへ伝送される。
４．４  システムバスの拡張
システムバスすなわち各セル（ＰＡＥ）間のバスシステムは、目標レジスタに関する情報がデータとともに伝送されるように拡張される。つまり、データ受信機において望ましいレジスタを選択するアドレスがいっしょに送られる。また、システムバスも、トリガベクトルやトリガハンドシェークとは別個の伝送の点で拡張される。
【図面の簡単な説明】
図１は、トリガの使用によりループ構造をインプリメントする様子を示す図である。
図２は、複数のトリガの使用によりループ構造をインプリメントする様子を示す図である。
図３は、複数のトリガとそれらの結線を使用して、複数の出力をもつ比較構造をインプリメントする様子を示す図である。
図４は、通常のＦＰＧＡおよびＤＦＰに対し必要な拡張を示す図である。
図５は、コンフィグレーション可能なエレメントの種々の機能をトリガにより選択する機能の実例を示す図である。
図６は、種々の機能を実行するため、トリガにより制御される複数のコンフィグレーションレジスタをインプリメントする様子を示す図である。
図７は、図６による方法をマイクロプロセッサにおいてインプリメントする様子を示す図である。
６．図面と実施例の詳細な説明
図１
マクロ０１０３はこの実施例では７０回、実行されることになる。マクロの実行のためには２６クロックサイクルが必要とされる。つまり２６クロックサイクルごとに、カウンタ０１０１は１だけカウントダウンすればよいことになる。この場合、自由にプログラミング可能なコンポーネントにおける問題点とは、実践でも２６個のクロックの後にマクロ０１０３の実行が完了することが、必ずしも保証されないことである。たとえば、マクロ０１０３のための入力データを供給すべきあるマクロが突然１０クロックサイクルを余計に必要としたことにより、遅延の発生する可能性がある。この理由から、セルはマクロ０１０３においてトリガ信号をカウンタ０１０１へ送り、これによって計算結果が別のマクロへ送られる。これと同時に、マクロ０１０３の処理が同じセルにより停止される。このセルは、計算終了のための条件が達成されたことを正確に「知っている」。
この場合、送られたトリガ信号はＳＴＥＰトリガであり、これによってカウンタ０１０１は１回、コンフィグレーションされたその機能を実行するようになる。カウンタはその計数値を１だけカウントダウンし、値０に達したか否かを比較する。値０に達していなければ、ＧＯトリガがマクロ０１０３へ送られる。そしてこのＧＯトリガ信号によって、マクロ０１０３はその機能を再び開始するようになる。
この過程は、カウンタ０１０１が値０に到達するまで繰り返される。その場合、トリガ信号がマクロ０１０２へ送られ、そこにおいて機能がトリガされる。トリガのこのような共働により、著しく細分化された同期確立を達成することができる。
図２
図２は、図１による基本原理に対応するものである。しかし、エレメント０２０２における機能はここではカウンタではなく比較器である。マクロ０２０１は処理を実行するたびに、比較値をいっしょに比較器０２０２へ送る。比較の出力に応じて、たとえばマクロ０２０３におけるアクションを促す目的で、やはり種々のトリガが制御される。図２にインプリメントされている構造は、プログラミング言語におけるＩＦ構文の問い合わせに対応する。
図３
図２のように比較器が用いられるが、ここでは複数の比較器０３０１，０３０２が用いられ、これによってＩＦ−ＥＬＳＥ−ＥＬＳＥ構文の構造（つまり多重選択）をインプリメントすることができる。そして様々な形式のトリガを利用し、それらのトリガをマクロ０３０３，０３０４と結び付けることで、非常に複雑なシーケンスを簡単に実装することができる。
図４
図４には、通常のＦＰＧＡおよびＤＦＰとの相違点が示されている。追加されているコンフィグレーションレジスタ（０４０１）および追加されている状態レジスタ（０４０２）は、バス（０４０７）を介してＳＭ−ＵＮＩＴと接続されている。レジスタ０４０１，０４０２，Ｆ−ＰＬＵＲＥＧおよびＭ−ＰＬＵＲＥＧは、内部バス０２０６を介してゲート０４０３と接続されている。これによって、ＰＬＵによるコンフィグレーションを可能にする目的で、内部バス（０４０６）は位置に応じてＰＬＵ−ＢＵＳ０４０５と接続され、あるいはバス０４０８を介してＢＭ−ＵＮＩＴと接続される。これによりアドレッシングに応じて、データバス０４０４を介してデータはＯ−ＲＥＧへ送られるかまたは、アドレッシングされたレジスタ０４０１，０４０２，Ｆ−ＰＬＵＲＥＧまたはＭ−ＰＬＵＲＥＧへ送られる。
ＢＭ−ＵＮＩＴ（０４１１）は、０４１５を介してトリガ信号をＳｙｎｃ−ＵＮＩＴ（０４１２）へ送る。ＥＡＬＵから０４１１は０４１４を介して結果（「等しい」、「大きい」、「小さい」、「結果＝０」、「結果  ポジティブ」、「結果  ネガティブ」、オーバーフロー（ポジティブとネガティブ）などを受け取り、それらをトリガベクトルへ変換する。これに対する代案として、Ｓｙｎｃ−ＵＮＩＴまたはＳＴＡＴＥ−ＭＡＣＨＩＮＥから発せられた状態を、０４１５を介してＢＭ−ＵＮＩＴへ伝えることができる。ＢＭ−ＵＮＩＴからバス（０４０４）へ伝送されるトリガ信号を、評価を行うコンフィグレーション可能なエレメントのコンフィグレーションに応じて、そこにおいてＳＴＥＰ／ＳＴＯＰ／ＧＯ−Ｔｒｉｇｇｅｒ，ＲＥＣＯＮＦＩＧ−Ｔｒｉｇｇｅｒとして利用できるし、あるいはコンフィグレーションレジスタを選択するために利用できる。評価を行うコンフィグレーション可能なエレメントにおいて発せられたトリガがどのような機能を果たすかは、メッシュ結合（０４０４）およびコンフィグレーション可能な個々のエレメントのコンフィグレーションにより定められる。１つの同じトリガが、コンフィグレーション可能な種々のエレメントにおいてそれぞれ異なる機能を有することができる。０４１６は、Ｒ−ＲＥＧｓｆｔからバスシステム０４０４およびそれに続くコンフィグレーション可能なエレメントへの結果出力である。
図５
図５には、発せられたトリガとトリガにより選択されたコンフィグレーションレジスタとの間における時間上の振る舞いが実例として描かれている。０５０１は比較によりトリガベクトルＴＲＩＧＶを発生し、これは値”ｅｑｕａｌ”（等しい）、”ｇｒｅａｔｅｒ”（大きい）または”ｌｅｓｓ”（小さい）をとることができる。コンフィグレーション可能なエレメント０５０２〜０５０４は、比較（０５０１）に依存してデータを処理する。この場合、処理は比較値”ｅｑｕａｌ”，”ｇｒｅａｔｅｒ”および”ｌｅｓｓ”に依存する。この処理はパイプライン化されており、つまりデータワードは相前後して０５０２により、ついで０５０３により、最後に０５０４により修正される。
同様に０５０５も、０５０１に依存してデータを処理する。しかし、ここでは依存性は比較値”ｌｅｓｓ”に限られている。”ｇｒｅａｔｅｒ”および”ｅｑｕａｌ”は、同じ機能を実行する。つまりここでは値”小さい”と”大きいまたは等しい”が区別される。パイプライン０５０５において、０５０６が後置接続されている。ここで０５０６は”ｅｑｕａｌ”，”ｇｒｅａｔｅｒ”および”ｌｅｓｓ”に対し、それぞれ異なるかたちで応答する（０５０３参照）。０５０７もやはり０５０１に依存するが、この場合には値”等しい”と”等しくない（小さいまたは大きい）”が区別される。
この実施例は時点ｔ（図５ａ）で始まり、時点（ｔ＋３）で終了する。データがパイプライン（０５０２，０５０３，０５０４ないしは０５０５，０６０６）のうちの１つを通り抜けていくとき、マクロ（０５０２〜０５０６）のうちの１つが実行されるたびに、データは１クロックサイクルだけ遅延される。これよりも長い遅延や殊にそのつど異なる遅延が発生する可能性もある。データとトリガ信号との間には自動的な同期確立のためにハンドシェークメカニズムが存在するので（従来技術ないしはそれらの書類（ＴＲＩＧＡＣＫ／ＴＲＩＧＲＤＹ）参照）、その事例についてはここでは特に触れる必要はない。遅延により、時点ｔにおいてたとえば第２のパイプライン段と第３のパイプライン段との間で先行の時点ｔ−２のデータとトリガ信号が滞る。図５ａ〜図５ｄには、３クロックサイクル（ｔ〜ｔ＋２）の流れが描かれている。
０５０１から発せられたトリガベクトル（つまり比較結果）は、ｔに関して考察すると以下のようになる：
0004146519.tif 000004
図６には、複数のコンフィグレーションレジスタを１つのコンフィグレーションエレメントに統合した様子が描かれている。この実施例の場合、図４による３つのコンフィグレーションレジスタ（０４０９）が存在する。これらはバス０４０６を介してコンフィグレーションされる。バスシステム０４１１を介して、制御ユニット（０６０１）（これは状態マシンとしても構成可能）は信号ＴＲＩＧＶとＴＲＩＧＲＤＹを受け取る。制御ユニットはＴＲＩＧＶに従って、コンフィグレーションレジスタのうちの１つをマルチプレクサ（０６０２）を介してバスシステム０４１０へスイッチングし、このバスシステムはコンフィグレーション可能なエレメントの制御機構につながっている。トリガ信号をコンフィグレーション可能なエレメントの内部シーケンスと同期させるために、０６０１は同期出力側を有しており、これは同期ユニット（０４１２）または状態マシン（０４１３）へ導かれている。トリガソースを同期させるため、０６０１は到来したトリガの処理後にハンドシェーク信号ＴＲＩＧＡＣＫを発生させる。
この実施例によれば、コンフィグレーションレジスタ（０４０９）の各々はタイプ（”ｅｑｕａｌ”，”ｇｒｅａｔｅｒ”，”ｌｅｓｓ”）のＴＲＩＧＶに割り当てられている。トリガタイプの各々において別のオペレーションが実行されると、コンフィグレーションレジスタの各々はそれぞれ異なるように割り当てられる。たとえば”ｅｑｕａｌ”と”ｎｏｔ  ｅｑｕａｌ”だけを区別する場合、コンフィグレーションレジスタはタイプ”ｌｅｓｓ”と”ｇｒｅａｔｅｒ”に対し同じようにセットされ、つまり”ｎｏｔ  ｅｑｕａｌ”に対するコンフィグレーションによって割り当てられる。”ｅｑｕａｌ”に対するコンフィグレーションレジスタは、別の割り当てを有している。すなわち、コンフィグレーションレジスタの割り当てに基づき比較をいっそう精確に記述することができ、その際、コンフィグレーション可能な各エレメントは、そのような記述をそれぞれ異なるように構成できる。
レジスタ０６０３を介して、後続のコンフィグレーション可能なエレメントへＴＲＩＧＶが結果といっしょに転送され、これにより図５ａ〜ｄによるパイプラインを実現することができる。レジスタおよびハンドシェーク信号は、０４１２または０４１３により制御される。トリガ情報はＲ−ＲＥＧｓｆｔから結果といっしょにあるいは時間的にずらされて、つまり結果の前に、インタフェース０４１６を介して後続のコンフィグレーション可能なエレメントへ伝送することができる。
時間的にずらして伝送することにより得られる利点は、後続のコンフィグレーション可能なエレメントにおいてコンフィグレーションレジスタをセットするための付加的な時間が不要なことである。それというのも、設定はデータを受け取る前にすでに（結果がイネーブルにされると同時に）行われるからである。図６ａには、これに相応するタイミングが（ＤＦＰに関して通常の流れについて）描かれている。トリガベクトル（０６１５）は、コンポーネントクロック（０６１４）の立ち上がり縁（０６１３）とともに生成される。立ち下がり縁（０６１２）とともに、コンフィグレーション可能なエレメントにおいてトリガが評価される。データは位相シフトされて進み、すなわちそれらは０６１２においてイネーブルにされ、０６１３で読み込まれる。０６１０の間、トリガベクトルはバスを介して伝送され、データが計算される。０６１１の間、データはバスを介して伝送され、トリガが計算され、ないしはコンフィグレーション可能なエレメントにおけるコンフィグレーションレジスタが、０６１３で記憶されたデータに従って選択され、それに応じてコンフィグレーションが設定される。
図７ａには、従来技術による述語／ＮＯＰ方式に従ったジャンプの管理について描かれている。ある比較を実行する場合、述語レジスタ（０７０４）にエントリがセットされる。このエントリは命令実行中、問い合わせられ、命令が実行されるのか（命令が条件付きジャンプにより応答するコードシーケンス内に位置するのか）、あるいはＮＯＰ命令により置き換えられるのか（命令は条件付きジャンプにより応答するコードシーケンスとは異なるコードシーケンスに位置するのか）、を決定する。この場合、命令は命令レジスタ０７０１内にある。述語レジスタは、複数のオペレーションおよび／または複数の算術演算機構に割り当てられた複数のエントリを有している。この割り当ては、プログラムのコンパイル時点にコンパイラによって与えられる。割り当て情報（０７０７）は、命令レジスタにエントリされる命令に対応づけられ、その結果、個々の命令により一義的なエントリが参照されることになる。
０７０３により、０７０１からの命令が実行されるのか、あるいはＮＯＰが実行されるのかが選択される。ＮＯＰが実行されるときには１クロックサイクルが失われる。ここで０７０３はシンボリックなキャラクタをもっている。それというのも、基本的には実行ユニット（０７０２）を０７０４によりじかに制御することもできるからである。
図７ｂによれば、ｎ個の命令レジスタ（０７０１：Ｆｕｎｃ１．．．Ｆｕｎｃ  ｎ）が設けられている。比較／条件付きジャンプの実行にあたり、アドレッシングすべき命令レジスタつまり比較の結果は、エントリ（０７０８）として述語レジスタ０７０６に格納され、ここで０７０６は多数のそのようなエントリから成る。この場合、０７０６における個々のエントリ（０７０８）は、実行ユニット（０７０２）におけるすべての可能な命令レジスタをそれによってアドレッシングできるような幅であり、すなわちｎ個の命令レジスタであればエントリ幅はｌｏｇ2（ｎ）である。述語レジスタは、複数のオペレーションおよび／または複数の算術演算機構に割り当てられた複数のエントリを有する。この割り当ては、プログラムのコンパイル時点にコンパイラによって与えられる。割り当て情報（０７０７）は、命令レジスタにエントリされる多数の命令に割り当てられ、その結果、個々の命令により一義的なエントリが参照されるようになる。さらにマルチプレクサを介して、どの命令レジスタが目下の実行のためのコードを供給するのかが選択される。この技術により条件付きジャンプにおいて、不利な状況であってもＮＯＰの代わりに有効な命令が実行され、これによりクロックサイクルの浪費がなくなる。
名前を付ける際の取り決め
コンポーネント            −−ＵＮＩＴ
動作形式                  −−ＭＯＤＥ
マルチプレクサ            −−ＭＵＸ
否定信号                  ｎｏｔ−−
ＰＬＵから見えるレジスタ  −ＰＬＵＲＥＧ
内部のレジスタ            −ＲＥＧ
シフトレジスタ            −ｓｆｔ
機能に関する取り決め
0004146519.tif 000005
0004146519.tif 000006
用語の定義
ＢＭ−ＵＮＩＴ
ＰＡＥ外部のバスシステムへデータを供給するユニット。この供給は、データ入力についてはマルチプレクサを介して行われ、データ出力についてはゲートを介して行われる。ｏＡＣＫラインはオープンコレクタドライバとして実装される。ＢＭ−ＵＮＩＴはＭ−ＰＬＵＲＥＧにより制御される。
データ受信側
ＰＡＥの結果をさらに処理するユニット
データ送信側
ＰＡＥのためのデータをオペランドとして利用するユニット
データワード
１つのデータワードは、任意の長さのビット列から成る。このビット列は、ある構成のための１つの処理単位を成す。１つのデータワード内に、プロセッサ等のための命令ならびに純粋なデータをコーディングすることができる。
ＤＦＰ
ドイツ連邦共和国特許出願DE 44 16 881によるデータフロープロセッサ
ＤＰＧＡ
ダイナミックにコンフィグレーション可能なＦＰＧＡ。従来技術。
ＥＡＬＵ
拡張された算術論理ユニット。ドイツ連邦共和国特許出願DE 441 16 881 A1によるデータ処理装置を作動させるのに必要とされるまたは有用な特別機能について拡張されたＡＬＵ。これはたとえばカウンタである。
エレメント
それ自体で完結したあらゆる形式のユニットに対する総称であり、部品として電子コンポーネントにおいて使用可能である。つまりエレメントとは、
−あらゆる形式のコンフィグレーション可能なセル
−クラスタ
−ＲＡＭブロック
−ロジック
−演算機構
−レジスタ
−マルチプレクサ
−チップのＩ／Ｏピン
である。
イベント
あるイベントは、用途に適した何らかの形式や方式のハードウェアエレメントにより評価することができ、その評価に対するリアクションとして条件付きアクションを引き起こすことができる。つまりイベントとはたとえば以下のようなものである：
−計算装置のクロックサイクル
−内部または外部の割り込み信号
−コンポーネント内の他のエレメントからのトリガ信号
−データ流および／または命令流とある値との比較
−入出力イベント
−カウンタの満了、オーバーフロー、新たなセットなど
−比較の評価
ＦＰＧＡ
プログラミング可能なロジックコンポーネント。従来の技術。
Ｆ−ＰＬＵＲＥＧ
ＰＡＥの機能がセットされるレジスタ。ＯｎｅＳｈｏｔモードおよびＳｌｅｅｐモードもセットされる。レジスタはＰＬＵにより書き込まれる。
Ｈ−レベル
利用される技術に応じて、論理値１のレベル。
コンフィグレーション可能なエレメント
１つのコンフィグレーション可能なエレメントはロジックコンポーネントの１つの単位を成し、固有の機能に対するコンフィグレーションワードにより設定可能である。したがってコンフィグレーション可能なエレメントとは、あらゆる形式のＲＡＭセル、マルチプレクサ、算術論理ユニット、レジスタ、ならびにあらゆる形式の内部および外部のメッシュ結合記述などである。
コンフィグレーション可能なセル
ロジックセルを参照。
コンフィグレーション
論理ユニット、（ＦＰＧＡ）セルまたはＰＡＥの機能の設定やメッシュ結合のこと（再コンフィグレーションを参照）。
コンフィグレーションデータ
任意の量のコンフィグレーションワード。
コンフィグレーションメモリ
コンフィグレーションメモリは１つまたは複数のコンフィグレーションデータを含んでいる。
コンフィグレーションワード
１つのコンフィグレーションワードは任意の長さのビット列から成る。このビット列は、ある機能を果たす能力のあるユニットが生じるように、コンフィグレーションすべきエレメントに対する有効な設定を成す。
ロードロジック
ＰＡＥのコンフィグレーションおよび再コンフィグレーションのためのユニット。特別にその役割に整合されたマイクロコントローラにより構成される。
ロジックセル
ＤＦＰ，ＦＰＧＡ，ＤＰＧＡにおいて使用されるコンフィグレーション可能なセルであり、それらのコンフィグレーションに従って簡単な論理的または算術的な役割を果たす。
Ｌ−レベル
利用する技術に応じて、論理値０のレベル
Ｍ−ＰＬＵＲＥＧ
ＰＡＥのメッシュ結合がセットされるレジスタ。このレジスタはＰＬＵにより書き込まれる。
Ｏ−ＲＥＧ
ＥＡＬＵのオペランドを記憶するためのオペランドレジスタ。データ送信側からのＰＡＥの時間的および機能的独立性を実現する。これにより、データ転送が簡略化される。それというのも、非同期またはパケット指向で行えるからである。これと同時に、データ送信側をＰＡＥとは無関係に、あるいはＰＡＥをデータ送信側とは無関係に、再コンフィグレーションできるようになる。
ＰＬＵ
ＰＡＥのコンフィグレーションおよび再コンフィグレーションのためのユニットであり、特別にその役割に整合されたマイクロコントローラにより構成される。
伝播
受信信号のコントロールされた転送。
ＲＥＣＯＮＦＩＧ
ＰＡＥの再コンフィグレーション可能な状態。
ＲＥＣＯＮＦＩＧトリガ
再コンフィグレーション可能な状態へのＰＡＥの移行。
ＳＭ−ＵＮＩＴ
状態マシン（ＳｔａｔｅＭａｃｈｉｎｅ）ユニット。ＥＡＬＵを制御する状態マシン。
スイッチングテーブル
スイッチングテーブルはリングメモリであって、これは制御部により呼び出される。スイッチングテーブルのエントリは、任意のコンフィグレーションワードをとることができる。この制御部は命令を実行可能である。スイッチングテーブルはトリガ信号に応答し、リングメモリ内のエントリに基づきコンフィグレーション可能なエレメントを再コンフィグレーションする。
同期信号
コンフィグレーション可能なエレメントまたは演算機構により生成される状態信号であって、これはデータ処理の制御と同期確立のためコンフィグレーション可能な他のエレメントまたは演算機構へ転送される。また、同期信号を時間的に遅延させて（記憶させて）同一のコンフィグレーション可能なエレメントまたは演算機構へ戻すことも可能である。
ＴＲＩＧＡＣＫ／ＴＲＩＧＲＤＹ
トリガのハンドシェーク。
トリガ
同期信号の同義語。
再コンフィグレーション
任意の量のＰＡＥの新たなコンフィグレーションであって、その間、任意の残りの量のＰＡＥはそれらの本来の機能を継続する（コンフィグレーションを参照）。
処理サイクル
処理サイクルは、定義されたおよび／または有効なある状態から定義されたおよび／または有効な次の状態へ達するために、あるユニットが必要とする期間を表す。
ＶＬＩＷ
Very Large Instruction Word、マイクロプロセッサのコーディング、従来技術による方式。
セル
コンフィグレーション可能なエレメントに対する同義語。
【図１】
0004146519.tif 000007
【図２】
0004146519.tif 000008
【図３】
0004146519.tif 000009
【図４】
0004146519.tif 000010
【図５ａ】
0004146519.tif 000011
【図５ｂ】
0004146519.tif 000012
【図５ｃ】
0004146519.tif 000013
【図５ｄ】
0004146519.tif 000014
【図６】
0004146519.tif 000015
【図６ａ】
0004146519.tif 000016
【図７ａ】
0004146519.tif 000017
【図７ｂ】
0004146519.tif 000018