"プログラマブルロジック集積回路装置であって、複数の高機能性機能ユニットであって、前記複数の高機能性機能ユニットのそれぞれは、複数の特定の機能を実行するように少なくとも部分的にハード配線化されており、前記複数の高機能性機能ユニットのうちの第1の高機能性機能ユニットによって実行される複数の特定の機能は、前記複数の高機能性機能ユニットのうちの第2の高機能性機能ユニットによって実行される複数の特定の機能とは異なる、複数の高機能性機能ユニットと、前記複数の高機能性機能ユニットから分離したプログラマブルロジック回路であって、前記プログラマブルロジック回路は、複数の領域を含み、前記複数の領域のそれぞれは、プログラマブルロジックの少なくとも1つのエリアと、メモリの少なくとも1つのエリアとを含む、プログラマブルロジック回路と、プログラマブル相互接続リソースとを含み、前記プログラマブル相互接続リソースは、前記複数の領域に信号を搬送すること、前記複数の領域から信号を搬送すること、または、前記複数の領域の間で信号を搬送することを行うローカル導体と、前記複数の領域に信号を搬送すること、前記複数の領域から信号を搬送すること、または、前記複数の領域の間で信号を搬送することを行うグローバル導体と、前記ローカル導体および/またはグローバル導体のうちの交差しているものを選択的に相互接続するプログラマブルコネクタと、前記複数の高機能性機能ユニットのうちの選択された高機能性機能ユニットを一緒に選択的に結合し、これにより、前記プログラマブル相互接続リソースによって相互接続されたプログラマブルロジック回路および複数の高機能性機能ユニットのみから、少なくとも1つの汎用マイクロプロセッサを前記プログラマブルロジック集積回路装置内に形成するプログラマブル相互接続回路とを含み、前記プログラマブルロジック集積回路装置は、前記プログラマブル相互接続リソースによって相互接続されたプログラマブルロジック回路および複数の高機能性機能ユニットのみから形成されたマイクロプロセッサ以外の汎用マイクロプロセッサを欠いている、プログラマブルロジック集積回路装置。少なくとも1つの高機能性機能ユニットは、データ情報を選択するように適合されたアドレス発生回路を含む、請求項1に記載のプログラマブルロジック集積回路装置。命令情報を格納するように適合されたメモリ回路をさらに含む、請求項1に記載のプログラマブルロジック集積回路装置。前記メモリ回路は、前記プログラマブルロジック回路のメモリの前記少なくとも1つのエリアのうちの一部分である、請求項3に記載のプログラマブルロジック集積回路装置。データ情報を格納するように適合されたメモリ回路をさらに含む、請求項2に記載のプログラマブルロジック集積回路装置。前記メモリ回路は、前記プログラマブルロジック回路のメモリの前記少なくとも1つのエリアのうちの一部分である、請求項5に記載のプログラマブルロジック集積回路装置。前記アドレス発生回路は、前記少なくとも1つのマイクロプロセッサによって出力されるさらなるデータ情報のための行先のアドレスを生成するようにさらに適合されている、請求項2に記載のプログラマブルロジック集積回路装置。前記アドレス発生器は、レジスタファイル回路を含む、請求項2に記載のプログラマブルロジック集積回路装置。命令情報の複数の連続的選択を自動的に行うように適合されたプログラムシーケンサ回路をさらに含む、請求項1に記載のプログラマブルロジック集積回路装置。前記アドレス発生回路は、データ情報の複数の同時選択を行うようにさらに適合されている、請求項2に記載のプログラマブルロジック集積回路装置。データ情報を選択するように適合されたレジスタファイル回路をさらに含む、請求項1に記載のプログラマブルロジック集積回路装置。前記複数の高機能性機能ユニットのうちの少なくとも1つは、MAC回路、ALU回路、バレルシフター回路、ガロイスフィールド回路のうちの少なくとも1つを含む、請求項1に記載のプログラマブルロジック集積回路装置。前記複数の高機能性機能ユニットのうちの少なくとも2つのそれぞれは、MAC回路、ALU回路、バレルシフター回路、ガロイスフィールド回路のうちの少なくとも1つを含む、請求項12に記載のプログラマブルロジック集積回路装置。相対的な命令情報選択を絶対的な命令情報アドレスに変換するように適合された回路をさらに含む、請求項1に記載のプログラマブルロジック集積回路装置。相対的なデータ情報選択を絶対的なデータ情報アドレスに変換するように適合された回路をさらに含む、請求項2に記載のプログラマブルロジック集積回路装置。デジタル処理システムであって、処理回路と、前記処理回路に結合されたメモリと、前記処理回路および前記メモリに結合された請求項1に記載のプログラマブルロジック集積回路装置とを含む、デジタル処理システム。請求項1に記載のプログラマブルロジック集積回路装置が搭載されているプリント回路基板。前記プリント回路基板上に搭載され、かつ、前記プログラマブルロジック集積回路装置に結合されたメモリをさらに含む、請求項17に記載のプリント回路基板。前記プリント回路基板上に搭載され、かつ、前記プログラマブルロジック集積回路装置に結合された処理回路をさらに含む、請求項17に記載のプリント回路基板。プログラマブルロジック集積回路装置であって、プログラマブルロジック回路を含むソフトロジック部であって、前記プログラマブルロジック回路は、複数の領域を含み、前記複数の領域のそれぞれは、プログラマブルロジックの少なくとも1つのエリアと、メモリ回路の少なくとも1つのエリアとを含む、ソフトロジック部と、プログラマブル相互接続リソースであって、前記複数の領域のそれぞれの内部の複数のエリアに信号を搬送すること、前記複数のエリアから信号を搬送すること、または、前記複数のエリアの間で信号を搬送することを行うローカル導体と、前記複数の領域に信号を搬送すること、前記複数の領域から信号を搬送すること、または、前記複数の領域の間で信号を搬送することを行うグローバル導体と、前記ローカル導体および/またはグローバル導体のうちの交差しているものを選択的に相互接続するプログラマブルコネクタとを含む、プログラマブル相互接続リソースと、複数の高機能性機能ユニットを含むハードロジック部であって、前記複数の高機能性機能ユニットのそれぞれは、複数の特定の機能を実行するように少なくとも部分的にハード配線化されており、前記複数の高機能性機能ユニットのうちの第1の高機能性機能ユニットによって実行される複数の特定の機能は、前記複数の高機能性機能ユニットのうちの第2の高機能性機能ユニットによって実行される複数の機能とは異なる、ハードロジック部とを含み、前記プログラマブル相互接続リソースは、プログラマブル相互接続回路をさらに含み、前記プログラマブル相互接続回路は、前記ハードロジック部を前記ソフトロジック部に接続し、前記複数の高機能性機能ユニットのうちの選択された高機能性機能ユニットを一緒に選択的に結合し、これにより、前記プログラマブル相互接続リソースによって相互接続された前記ソフトロジック部および前記ハードロジック部のみから、少なくとも1つの汎用マイクロプロセッサを形成し、前記プログラマブルロジック装置は、前記プログラマブル相互接続リソースによって相互接続された前記ソフトロジック部および前記ハードロジック部のみから形成されたマイクロプロセッサ以外の汎用マイクロプロセッサを欠いている、プログラマブルロジック集積回路装置。前記ハードロジック部は、プログラムシーケンサ回路と、アドレス発生回路と、動作部回路とをさらに含む、請求項20に記載のプログラマブルロジック集積回路装置。前記プログラムシーケンサ回路は、前記動作部回路の動作を少なくとも部分的に制御するための命令を前記メモリ回路から検索するように適合されている、請求項21に記載のプログラマブルロジック集積回路装置。前記アドレス発生回路は、前記動作部回路が動作するためのデータを前記メモリ回路から検索するように適合されている、請求項21に記載のプログラマブルロジック集積回路装置。前記アドレス発生回路は、前記メモリ回路内の位置を識別することにより、前記動作部回路によって出力されたデータを受信するように適合されている、請求項21に記載のプログラマブルロジック集積回路装置。前記アドレス発生回路は、マルチポートレジスタファイル回路を含む、請求項21に記載のプログラマブルロジック集積回路装置。前記ソフトロジック部は、前記プログラムシーケンサ回路の動作を少なくとも部分的に制御するための信号を提供するように適合されている、請求項21に記載のプログラマブルロジック集積回路装置。前記信号は、前記プログラムシーケンサ回路による使用のための命令アドレスを示す、請求項26に記載のプログラマブルロジック集積回路装置。前記プログラムシーケンサ回路は、前記メモリ回路内の位置の一連の識別を生成することにより、前記命令アドレスに応答するように適合されている、請求項27に記載のプログラマブルロジック集積回路装置。前記ソフトロジック部は、前記アドレス発生回路の動作を少なくとも部分的に制御するための信号を提供するように適合されている、請求項21に記載のプログラマブルロジック集積回路装置。前記信号は、前記アドレス発生回路による使用のためのデータアドレスを示す、請求項29に記載のプログラマブルロジック集積回路装置。前記メモリ回路内でデータアドレスを絶対的なアドレスに変換するように構成されたインターフェース回路をさらに含む、請求項30に記載のプログラマブルロジック集積回路装置。前記アドレス発生回路は、前記メモリ回路内の複数の位置を並列的に識別するように適合されている、請求項21に記載のプログラマブルロジック集積回路装置。前記複数の高機能性機能ユニットのうちの少なくとも1つは、MAC回路、ALU回路、バレルシフター回路、ガロイスフィールド回路のうちの少なくとも1つを含む、請求項21に記載のプログラマブルロジック集積回路装置。前記複数の高機能性機能ユニットのうちの少なくとも2つのうちのそれぞれは、MAC回路、ALU回路、バレルシフター回路、ガロイスフィールド回路のうちの少なくとも1つを含む、請求項21に記載のプログラマブルロジック集積回路装置。前記動作部は、VLIW命令を実行するように適合されている、請求項21に記載のプログラマブルロジック集積回路装置。前記複数の高機能性機能ユニットは、少なくとも1つのDSP動作を実行するように適合されている、請求項21に記載のプログラマブルロジック集積回路装置。前記複数の高機能性機能ユニットのうちの少なくとも1つは、複数の機能から選択可能な機能を実行するように適合されている、請求項1に記載のプログラマブルロジック集積回路装置。前記複数の高機能性機能ユニットのうちの前記少なくとも1つのうちの少なくとも1つは、前記複数の機能から実行する機能を選択するようにプログラム可能である、請求項37に記載のプログラマブルロジック集積回路装置。前記複数の高機能性機能ユニットのうちの前記少なくとも1つのうちの少なくとも1つは、前記複数の機能から実行する機能を選択するように制御信号によって動的に制御可能である、請求項37に記載のプログラマブルロジック集積回路装置。前記プログラマブルロジック回路は、前記制御信号を供給するように適合されている、請求項39に記載のプログラマブルロジック集積回路装置。前記複数の高機能性機能ユニットのうちの前記少なくとも1つのうちの少なくとも1つは、プログラム可能な選択および動的な制御信号選択のうちの1つに基づいて、前記複数の機能から実行する機能を選択するようにプログラム可能である、請求項37に記載のプログラマブルロジック集積回路装置。前記プログラマブルロジック回路は、前記制御信号を供給するように適合されている、請求項41に記載のプログラマブルロジック集積回路装置。前記プログラマブルロジック回路は、メモリ回路を含む、請求項1に記載のプログラマブルロジック集積回路装置。前記メモリ回路は、前記機能ユニットによる処理のためのデータを格納するように適合されている、請求項43に記載のプログラマブルロジック集積回路装置。前記メモリ回路は、前記機能ユニットによる少なくとも部分的な実行のためのプログラム命令を格納するように適合されている、請求項43に記載のプログラマブルロジック集積回路装置。前記プログラマブルロジック回路は、前記機能ユニットに対する適用のために、前記メモリ回路からデータを選択するように適合されている、請求項44に記載のプログラマブルロジック集積回路装置。前記プログラマブルロジック回路は、前記機能ユニットによる実行のために、前記メモリ回路からプログラム命令を選択するように適合されている、請求項45に記載のプログラマブルロジック集積回路装置。前記プログラマブルロジック回路は、前記メモリ回路から選択された命令を用いることにより、前記機能ユニットが動作するためのデータの選択を少なくとも部分的に制御するようにさらに適合されている、請求項47に記載のプログラマブルロジック集積回路装置。前記プログラマブルロジック回路は、前記メモリ回路から選択された命令を用いることにより、前記機能ユニットによって実行される機能を少なくとも部分的に制御するようにさらに適合されている、請求項47に記載のプログラマブルロジック集積回路装置。前記プログラマブルロジックの少なくとも1つの領域のうちの少なくとも1つは、前記少なくとも1つのマイクロプロセッサのうちの少なくとも1つの一部分を形成するように構成可能である、請求項1に記載のプログラマブルロジック集積回路装置。少なくとも1つの完全なマイクロプロセッサとしてプログラマブルロジック集積回路装置を構成する方法であって、前記プログラマブルロジック集積回路装置は、複数の高機能性機能ユニットであって、前記複数の高機能性機能ユニットのそれぞれは、複数の特定の機能のうちの異なる機能のそれぞれを実行するように少なくとも部分的にハード配線化されており、前記複数の高機能性機能ユニットのうちの第1の高機能性機能ユニットによって実行される複数の特定の機能は、前記複数の高機能性機能ユニットのうちの第2の高機能性機能ユニットによって実行される複数の機能とは異なる、複数の高機能性機能ユニットと、前記複数の高機能性機能ユニットから分離したプログラマブルロジック回路であって、前記プログラマブルロジック回路は、複数の領域を含み、前記複数の領域のそれぞれは、プログラマブルロジックの少なくとも1つのエリアと、メモリ回路の少なくとも1つのエリアとを含む、プログラマブルロジック回路と、プログラマブル相互接続リソースとを含み、前記プログラマブル相互接続リソースは、前記複数の領域のそれぞれの内部の複数のエリアに信号を搬送すること、前記複数のエリアから信号を搬送すること、または、前記複数のエリアの間で信号を搬送することを行うローカル導体と、前記複数の領域に信号を搬送すること、前記複数の領域から信号を搬送すること、または、前記複数の領域の間で信号を搬送することを行うグローバル導体と、前記ローカル導体および/またはグローバル導体のうちの交差しているものを選択的に相互接続するプログラマブルコネクタと、プログラマブル相互接続回路とを含み、前記方法は、前記複数の高機能性機能ユニットの特定の機能に従って、前記複数の高機能性機能ユニットのうちの1つの高機能性機能ユニットを選択することと、前記プログラマブル相互接続回路を用いて、記複数の高機能性機能ユニットのうちの前記選択された高機能性機能ユニットを一緒に結合し、これにより、前記プログラマブルロジック回路および前記複数の高機能性機能ユニットから、少なくとも1つの完全なマイクロプロセッサのうちの少なくとも1つを前記プログラマブルロジック集積回路装置内に形成することとを含み、前記プログラマブルロジック集積回路装置は、前記プログラマブル相互接続回路を用いた前記結合の実行の前に、完全なマイクロプロセッサを欠いている、方法。プログラマブルロジックの前記少なくとも1つのエリアのうちの少なくとも1つを構成することにより、前記少なくとも1つの完全なマイクロプロセッサのうちの少なくとも1つの一部分を形成することをさらに含む、請求項51に記載の方法。発明の概要本発明によれば、PLDs中に一般的に含まれる回路に加えて、1又はそれ以上のプロセッサオブジェクト回路又はプロセッサオブジェクト或いはオブジェクトを有するPLDを提供する。プロセッサオブジェクトは、1又は限定された数の特定タスクを実行するために少なくとも部分的にハード配線化された回路である。従って、プロセッサオブジェクトは、そのタスク或いは限定された数の特定タスクを実行するために専用化される。プロセッサオブジェクトは、全特殊機構化されたプロセッサ又は全特殊機構化されたマイクロプロセッサでもなく或いは汎用プロセッサ又は汎用マイクロプロセッサでもないが、プロセッサオブジェクトは、完全なプロセッサ又はマイクロプロセッサが典型的には実行し得る幾つかのタスク或いはタスクのサブセットを実行し得る。プロセッサオブジェクトは、少なくとも部分的にハード配線化されているが、またプログラム可能であるか或いはたとえば実行し得るいくつかのタスクから選択するといった幾つかの視点でプログラム可能に制御し得る。プロセッサオブジェクトは、付加的に或いは代替的には、少なくとも部分的にはダイナミックに例えばPLD上の時間変化論理信号により制御され、実行し得る様々のタスク中からダイナミックに選択するものであってもよい。典型的なプロセッサオブジェクトは、命令順序並替回路および演算部回路を含む。プロセッサオブジェクトは、また、マルチポート化されたレジスタファイル回路であるか或いはこれを含むアドレス発生回路を含む。命令順序並替回路は、命令メモリから実行されるべき命令を選択するか或いは選択するのを助ける。命令は、プロセッサオブジェクトの演算部の演算を制御するか或いは制御するのを助ける。アドレス発生回路は、演算部が演算するためのデータをデータメモリーから選択するか或いは選択するのを助ける。アドレス発生回路は、演算部によるデータ出力のための例えばデータメモリー中の指定を選択する。アドレス発生回路は、前述の命令に基づき供給されるアドレス情報に基づき動作する。異なるアドレス管理体制間でアドレス情報を自動変更するために回路を設けてもよい。例えば、命令を、データを使用するプログラム及び又はそのプログラムに対し局所的である或いは関連性のある命令アドレスを目的として書いてもよいが、これら幾つかのアドレス値が他のプログラム中で対立しないよう使用される可能性については考慮しない。これら多重プログラムを、その形式でPLDのプログラマブルロジック中に記憶してもよい。ある1つのプログラムがPLD上のプロセッサオブジェクト中で少なくとも部分的に実行される場合、インターフェース回路を設け、各プログラムで使用されるローカルアドレス或いは関連アドレスをPLD中の実際のメモリー位置の対立しない絶対的なアドレスへと自動変換する。プロセッサオブジェクト中に設けることが可能な演算部回路の例としては、演算論理装置ALUs、乗算累算器MACs、バレルシフター、ガロイスフィールド回路、並びにこれらの組み合わせ及び又は多種多様な例を含む。PLDとりわけプロセッサオブジェクトは、ベリーロングインストラクションワードVLIWプログラムを実行し、デジタルシグナルプロセッシングDSPオペレーションを実行し、及び又は他の同様の複雑で込み入ったタスクを実行するよう構成され得る。本発明の他の見地は、プログラマブルロジック回路と、このプログラマブルロジック回路と信号情報のやり取りを行う、少なくとも部分的にハード配線化され高機能化された機能ユニットとを有するPLDsを提供することに関する。高機能化された機能ユニットは、プロセッサオブジェクトの演算部として参照したものに類似するものでもよいが、但し、演算部機能ユニットは複数の機能即ち高機能を有する。高機能化された機能ユニットの例は、1加算器ツリーと組み合わされた乗算器、又は2累算器と組み合わされた乗算器である。本発明の更なる特徴、性質さまざまな利点は、添付の図面および以下に続く詳細な説明により明らかになるであろう。本発明の実施例につき以下の図面を参照して例示的に説明する。発明の詳細本発明に従い構成した例示するPLD10を図1に示す。PLD10は、所謂ソフトロジック部20および所謂ハードロジック部200を含む。ソフトロジック部20は、PLDs上に設けるものとして少なくとも一般には既知の様々な種類のプログラマブル回路を含む。従って、例えば、ソフトロジック部20は、1又はそれ以上のプログラマブルロジックおよびメモリのスーパー領域22を含んでもよい。このようなスーパー領域22の各々は、プログラマブルロジックの1又はそれ以上の領域30、メモリの1又はそれ以上の領域40、及びローカル或いは比較的ローカルな相互接続リソースを含んでもよい。図1に示す特定例において、相互接続リソースは、前記スーパー領域中の領域3040間で信号を伝送するスーパー領域ワイド相互接続導体50と、導体50から各領域3040の近傍へ信号を伝送する領域供給導体60と、導体60およびあらゆるローカルフィードバック導体80から隣接領域3040へ信号を印加する入力導体70と、領域3040の出力信号を導体50およびあらゆるローカルフィードバック導体80に印加する出力導体90と、少なくとも論理領域30の場合にローカルフィードバック導体80とを含む。前述のローカル或いは比較的ローカルな相互接続リソースに加えて、PLD10は、デバイス上の多数のスーパー領域22間で信号を伝送する相互接続導体100のようなよりグローバルな相互接続リソースを含む。PLD10の様々な相互接続リソースは、また、前述の導体5060708090100の交差する部分を選択的に相互接続するための比較的長い導体を駆動することが要求されるドライバー回路を含むプログラマブルロジックコネクターPLCs52を含む。PLCs52をプログラマブル機能制御素子PCEs図1では区別して示さずにより制御し、交差点導体間の接続を行ったり行わなかったりしてもよい。用語PLCはここでは様々な相互接続及び又は信号経路化リソースに対して用いる。PLCsは、例えばFCEsにより比較的静的に制御されても或いは、例えば異なる時刻で異なる論理値を有することが可能なPLDの信号によってよりダイナミックに制御されてもよいことが判る。信号線のみがここにおいて大部分の相互接続として示され信号例は単に大部分のPLCsとして示されるが、数字は多数の相互接続及び対応の多数のPLCsをしばしば実際には示していることが判る。従って、例えば、図1中の信号線50は、実際には典型的には多くの同様の平行な相互接続導体を示す。また、典型的には、各線60により示される導体のグループにおいて、これら導体50を多くの導体60に選択的に接続する多くのPLCs52が存在する。本明細書の後の方で、単線で単に示された多数の接続の他のグループに対しても同様のことが言える。具体例は図1中の接続110、120、130、140、150及び160や、図1中のプロセッサオブジェクト202の演算部206中に示される内部接続である。ハードロジック部200は、本明細書の別の場所で用語を定義した1又はそれ以上のプロセッサオブジェクト202を含む。図1に示す特定例では、プロセッサオブジェクト202は、あるVLIW演算或いはDSP乗算累算MAC演算を支持するよう構成される。プロセッサオブジェクト202は、制御部204及び演算部206を含む。双方の部204及び206は、少なくとも幾らかの範囲でハード配線化され、プロセッサオブジェクト202がより速くその能力内でタスクを実行することを可能にする。図1に示すように、制御部204はアドレス発生器210およびプログラムシーケンサ220を含む。素子210及び220の具体的構成に関するより詳細な説明を以下に行うが、差当たっては、アドレス発生器210は、ソフトロジック部20からリード110を介してあるアドレス情報及び又は制御情報を受取り、他のアドレス情報をリード110を介しソフトロジック部20へ出力してもよい。例えば、アドレス発生器210は、演算部206へ提供され処理されるデータの1又はそれ以上の開始アドレスをソフトロジック部20から受取る。このようなアドレスは、メモリ領域40内、ロジック領域30のレジスタ内等のデータのアドレスであってもよい。このようなアドレスであれば、絶対的であっても相対的であってもよく、例えば、後に本明細書中で述べるように基本オフセット要因による変更の対象とされてもよい。リード110を介してアドレス発生器210により出力されるアドレス情報を使用して、ソフトロジック部20内の位置を実際に選択し、この位置に基づきプロセッサオブジェクト202により処理されるためにデータ或いは他の情報を検索してもよい。前述したものに代え或いはそれに加えて、アドレス発生器210が、ソフトロジック部20から1又はそれ以上の開始アドレスを受取り、プロセッサオブジェクト202により出力されるデータのソフトロジック部20内での意図する指定を行ってもよい。再び、このようなアドレス情報のいずれもが、絶対的なものであっても、相対的なものであってもよい。リード110を介してアドレス発生器210により出力される関連アドレス情報を使用して、ソフトロジック部20内の位置を実際に選択し、この位置にプロセッサオブジェクト202がデータを出力し、記憶及び又は更なる処理を行ってもよい。プロセッサオブジェクト202により実行される演算によって、アドレス発生器210により出力されるアドレスをインクリーメントするか或いは他のタイプの変更ジャンプを含むをプロセッサオブジェクトの動作の連続するサイクル中に行ってもよい。後に本明細書中で明らかになるが、先のパラグラフで述べたようにアドレス発生器210に供給するデータアドレス情報を、プログラムシーケンサ220で実行するために選択された命令のアドレス部分から得てもよい。プログラムシーケンサ220は、典型的には、工程の1又はそれ以上のシーケンスを制御する能力のある回路でる。例えば、プログラムシーケンサ220は、演算部206によって実行されるべく次の命令を選択する能力があってもよい。これを行うために、プログラムシーケンサ220は、開始命令アドレスおよび場合により他の制御情報をリード130を介してソフトロジック部20を受取ってもよい。アドレス発生器210の場合のように、このアドレス情報は、絶対的なものでも相対的なものでもよい。プログラムシーケンサ220は、装置のその後の命令クロックサイクル中に、開始アドレスを自動的にインクリーメントしてもよい。リード140を介してプログラムシーケンサ220により出力される命令アドレスを使用して、所望の命令をメモリから検索し典型的には演算部206により少なくとも部分的に実行してもよい。このような比較的基本的な動作に代え或いは加え、プログラムシーケンサ220は、スタート後は相対的且つ独立して動作するが、命令工程の比較的複雑なシーケンスを発生するか或いはシーケンスの経過を少なくとも維持する能力を有してもよい。このようなシーケンスは、命令ループの繰返し実行を含んでもよい。2つ又はそれ以上のこのようなループは、互いに組み合わされてもよい。プログラムシーケンサ220は、例えば、1連の動作をテンポラリーに中止する一方で他の1連の動作を実行する中断処理を行う能力を有してもよい。演算部206はプロセッサオブジェクト202の1部であり、プロセッサオブジェクト202は、供給されたデータに基づき1又はそれ以上のタスクを実際に実行する。このデータは、典型的にはリード150を介してソフトロジック部20から得る。演算部206の演算動作を制御するのに必要なあらゆる信号は、リード150を介して供給してもよい。入力データに基づくオブジェクトのタスクの実行結果として得られる出力データは、リード160を介してソフトロジック部20へ戻してもよい。図1に示す特例において、演算部206は、互いに並列な幾つかの並列乗算器230を有し、各乗算器は、入力リード150からの2つのマルチビット入力データワードどうしを乗算し、マルチビット出力積ワードを生成する。各出力ワードは、テンポラリーに例えばフリップフロップのようなレジスタ240の関連するバンクに記憶されその後リード160を介してソフトロジック部20へ出力されてもよい。乗算-累算MAC能力を含むため演算部206を先に説明する。図1を過剰に複雑にするのを回避し、よりシンプルな例とするため、図1は幾つか分離して例示する並列乗算器230および出力レジスタ240を含む演算部206を単に示す。MAC演算部の1例を図2に示し、より完全に以下説明する。演算部回路の他の例は図2に続く図に示し、様々タイプのMAC及び又はDSP回路は、2001年9月18日付け件番号174199出願のラングハマー等の米国特許出願に示され述べられている。専用並列乗算器230は、本発明に係るPLDのオブジェクトに有用に含めてもよい回路の種類のある1つの好適な例であることが理解できる。並列乗算はDSP例えば多種のデジタルフィルタリングを行うため極めてよく必要とされる。しかし、ソフトロジック部20の汎用ロジックは、並列乗算を十分速く或いはソフトロジックリソースを不適当に消費することなく実行するのにとりわけ効果的というわけではない。従って、PLDが、高速で比較的長いデータワードの並列乗算を行わなければならない場合は、ここに示すような演算能力のある1又はそれ以上のプロセッサオブジェクトをPLDが備えることは極めて有益である。プロセッサオブジェクト202により実行される命令の処理は、好ましくはソフトロジック部20により行われる。このような命令は多くの形式のいずれでも取り得る。VLIW形式は、1つの可能な例である。ソフトロジック部20での命令の処理は、アンパック、デコード等を含んでもよい。命令処理は、処理するデータの選択命令のアドレス部の使用、回路の適当な部分例えば演算部206の好適な部分へデータを送り実際にデータを処理するための命令の制御部の使用を含んでもよい。命令の制御部は、また、演算部206の動作の選択可能な側面の制御および又はデータの演算部206からソフトロジック部20への転送を含んでもよい。図1はたった1つのプロセッサオブジェクト202のみと信号の交換を行うたった1つのスーパー領域22のみを示しているが、ある1つのスーパー領域22又はプログラマブルロジックのその他あらゆる数量は、複数のプロセッサオブジェクトと信号を交換してもよく、さらに又はある1つのプロセッサオブジェクトが複数のスーパー領域又はプログラマブルロジックのその他の数量と信号を交換してもよいことが理解される。ソフトロジック部20とプロセッサオブジェクト202との間の高速通信を容易にするために、とりわけ高速通信が重要な場合プロセッサオブジェクトの様々な入力及び出力110120130140150160は、好ましくは、ソフトロジック部20中の比較的ローカルな相互接続リソースに接続される。例えば、このような接続に関する好適な候補は、領域供給導体60、ローカルフィードバック導体80、領域出力導体90である。好ましくは、これらの接続は、信号源と信号到着先との間の出力ドライバの必要性を避けるため比較的短い。このようなドライバーは電力消費を増加させ通信経路における遅延が発生する。もちろんこれらの通信を検討することは、全ての場合で重要でないかもしれないが、もし制御しない場合、ソフトロジック部20中の他の相互接続リソース例えば導体50および100は、入力及び出力110120130140150160のあるもの或いは全てに対する接続点としての役割を果す。少なくとも既に提案したように、図1に示すプロセッサオブジェクトの演算部206の特定構成は、多くの可能な構成の内の単なる1例である。他の例は、図2に示す乗算-累算MAC演算部306である。演算部306は、以下の回路の1又はそれ以上の例、専用例えば少なくとも部分的にハード配線化された並列乗算器330図1の素子230に類似する、専用並列加算器350これにより乗算器330により出力された各連続プロダクトワードをレジスタ340の現在のコンテンツに加えて、新たな累算値を生成しレジスタに記憶する、及びレジスタ340図1の素子240に類似するを含む。図3は本発明に係るプロセッサオブジェクトの演算部の可能な構成の他の例を示す。図3において、演算部406は、以下の回路の1又はそれ以上の例、幾つかの専用例えば少なくとも部分的にハード配線化された並列乗算器430ad各々は前記乗算器230330に類似する、専用並列加算器350ac各々は前記加算器350に類似するであって乗算器430により出力されたプロダクトワードどうしを全て加算する乗算器、及びレジスタ340各々は前記レジスタ240340に類似するであって最終加算器450dの並列出力をレジスタするレジスタを含む。図3に示すプロセッサオブジェクト演算部406は、DSPでしばしば必要となる有限インパルス応答FIRデジタルフィルタリングのある種類を実行するのにとりわけ好適な構造を有する。図4は、本発明に係るプロセッサオブジェクト回路のその他の例を示す。図4において、プロセッサオブジェクト502は、制御部504図1の制御部204に類似する及び演算部506少なくとも概念的には図1-3の演算部206306406にそれぞれ類似するを含む。図4は、ソフトロジック部20からの信号150が例示する演算部回路506の演算の様々な側面を如何にして制御するのかを示す。これら制御信号150の究極のソースは、回路504のプログラムシーケンサ部により実行されるために選択される命令であってもよい。もちろんリード150上の信号はデータ信号でありうる。図4において、演算部506は、素子530、540、550、552、554、556、560、562、564及び566の1又はそれ以上の例を含む。素子530は、専用並列乗算器であって、230のような前述した並列乗算器のいずれかに類似してもよい。素子550は、専用並列加算減算回路であって、前述した並列加算回路に概ね類似してもよいが、代替的に乗算器530の出力及びレジスタ540の出力どうしを互いに減算する能力を有する。PLC552の出力信号は加算減算器550が入力を加算するのかあるいは減算するのかを制御する。加算減算器の好ましい例をラングハマー等の米国特許出願第09924、354号、2001年8月7日出願に示すものの、加算減算回路の他の形式を所望により変わりに使用してもよい。レジスタ540は、240のような前述したレジスタに類似してもよい。素子520は、PLCであって、この場合例えばマルチプレクサであって、FCE554により制御され2つの他の入力のいずれか1方を出力として選択する。PLC552への2つの他の入力は信号150の1方この場合制御信号およびFCE556の出力である。従って、FCE554をプログラムし、PLC552を制御し、ソフトロジック部20或いはFCE556のいずれかから出力を得る。PLC552の出力をソフトロジック部20から得る場合、加算減算器550を例えばソフトロジック部の少なくとも1部で処理される命令によりダイナミックに制御し、オブジェクト502を含むPLDの演算中の異なる時刻で加算減算する。これに代えて、PLC552の出力をFCE556から得る場合、加算減算器550を例えばFCE556のプログラム状態によってよりスタティックに制御し、常に加算するか或いは常に減算する。素子560は、PLC例えば平行マルチプレクサのある1つのバンクであり、乗算器530の並列出力或いはレジスタ540の並列出力のいずれかを、PLC562により出力された制御信号の状態に基づき出力する。PLC562はPLC552に類似してもよい。1つのリード150上の信号或いはFEC566の出力信号のいずれを出力するかはFEC564により制御される。従って所望により、PLC560を今述べたリード150の1つによりダイナミックに制御し、時に乗算器530の出力とし、その他の時にはレジスタ540の出力とする。これに代えて、PLC560をFEC566によってよりスタティックに制御し、常に乗算器530の出力するか或いは常にレジスタ540の出力とする。ラングハマー等の米国特許出願、2001年9月18日出願事件番号174199は、図4のボックス506内に示す一般的なタイプの回路の可能な代替的な構成を示す。この代替的な構成は、レジスタ540等が加算減算器550からの累積値或いは乗算器530の出力値そのもののうちいずれかを保持する。このことは、PLCs560の必要性を明らかにし、PLCsは厳密でなく必要とする。図5は本発明に係るプロセッサオブジェクト602のその他の例を示す。広範囲において、図5は既に議論した特徴及び又は概念を組み合わせる。前述した素子と同一或いは類似の素子は、図5において同一参照番号を有するか、或いは同一或いは類似の素子に対して使用した参照番号から100、200、300及び又は400だけ増加した参照番号を有する。図5の議論は従って、短縮され既に説明したことと意味の在る相違点に終始する。図5は、演算部606を示し、ここでは、加算器650が代替的に減算器の機能を果す。図5はまた演算部を示し、ここでは、乗算加算器のツリーが多くの異なる方法のいずれかにより区分され、様々な区分のいずれかの出力が登録及び又は未登録形式の出力である。例えば、乗算器630aの出力は、他のどれとも組み合わされない出力であり、この出力は、レジスタ640aによりレジスタされなくてもレジスタされてもよくまたレジスタされた信号およびレジスタされない信号の双方が出力されてもよい。PLC660はPLCへ供給された多くのレジスタされた信号およびレジスタされない信号の中から演算部606の最終出力を選択する。他の例として、加算減算器650aを使用して乗算器630aおよび630bの出力を組み合わせ、加算減算器の出力は他のいずれとも組み合わされないがレジスタされたかあるいはレジスタされないかいずれでも良くあるいはその両方でもよく、PLC660による出力でありうる。更なる別の例として、加算減算器650の全てを使用して4つの乗算器630全ての出力を組み合わせて、加算減算器の全ての出力はPLC660の出力であり、レジスタされたかあるいはレジスタされないかいずれでも良くあるいはその両方でもよい。他の例においては、幾つかの乗算器630の出力を組み合わせず出力する一方で、組み合わせた乗算器の出力を出力する。図4に示すように、加算減算器650の制御は、ソフトロジック部20からの入力150に基づき動的に或いは、代替入力をPLCs652acに供給するFCEsのプログラムされた状態に基づき静的に行われてもよい。図4のこれらに対応するFCEsの1部を図5に示し図が複雑になるのを防ぐ。また図4に示すように、PLC660の制御は、ソフトロジック部20からの入力150に基づき動的に或いは、代替入力をPLC662に供給するFCEs666のプログラムされた状態に基づきより静的に行われてもよい。更なる能力と自由度とを図5の演算部606に付与してもよい。例えば、レジスタ640の出力から加算減算器650或いは他の加算器へのフィードバックループや、減算器、或いは加算減算器を設けて、所望により1又はそれ以上の累算機能を果してもよい。フィードバックループおよび累算機能の使用は、図5に実際に示した様々なオプションをたとえば比較的スタティックなプログラム制御により、或いはソフトロジック部20によるダイナミック制御により、或いは制御のこれらタイプのいずれかをプログラムで選択することにより選択するのと概ね同様の方法で制御可能である。演算部606又は前述の演算部のいずれかに与えてもよい更なる能力の他の例として、PLC660の動作にやや似ている入力信号ルーティン装置を設け、様々な入力ポートへ印加される入力信号を乗算器650の様々な入力部に転送してもよい。設ける場合、この入力信号ルーティン回路の制御はPLC660の制御に類似してもよく、例えば、静的にプログラムされた制御或いはソフトロジック部20によるより動的な制御のいずれか、又はプログラムによる選択に基づくいずれでもよい。演算部606が有してもよい付加的な能力の他の例として、nn乗算器630の各々を選択的にn2n2乗算器に分割し、多重ハーフワードで演算するようにしてもよい。乗算器をより小さなものへと分割することは2001年9月18日付け件番号174199出願のラングハマー等の米国特許出願に詳細に述べられている。他で示し述べた事項に類似して、例えば図4の加算減算器550或いは図5の加算減算器650の静的或いは動的制御に関して、乗算器のこのような分割は静的或いは動的に制御され選択される。図6は、本発明に係るプロセッサオブジェクト702を含むPLD10の他の例を示す。図6において、前述の素子と同一或いは類似の素子は、ソフトロジック部の素子の場合対応する前述の素子と同一参照番号を有するか或いは、700番台の参照番号すなわち先の図の対応する素子に使用した参照番号より100、200、300、400或いは500だけ増加した参照番号を有する。図6の実施例において、プロセッサオブジェクト702は演算部706aおよび706b、アドレス発生器710およびプログラムシーケンサ720を含む。これら素子の全てはこれら特定機能に専用であり、例えば少なくともある範囲でこれら機能を目的としハード配線化される。例えば、演算部706aは、広範囲の算術および関連の演算のうちのいずれかを実行する能力のある少なくとも部分的にハード配線化した論理演算装置ALUである。同様に、演算部706bは、広範囲の算術および関連の演算のうちのいずれかを実行する能力のある少なくとも部分的にハード配線化した乗算累算器MACブロックであり例えば本明細書で既に述べたMAC回路のいずれかに類似する。前述したように、可能なMACブロック回路の他の例は2001年9月18日付け件番号174199出願のラングハマー等の米国特許出願に示される。アドレス発生器710は、例えば、アドレスを発生し演算部706a706bにより演算するためのデータをPLD10のソフトロジック部20から検索する際に使用するか、及び又は演算部706a706bにより出力されたデータをソフトロジック部へ戻すために使用するアドレスを発生する前述のアドレス発生器に類似する。プログラムシーケンサ720は、例えば、演算部706a706bの演算の少なくともある側面を制御する際に使用する連続した命令のプログラムROM40b中のアドレスを発生する前述のプログラムシーケンサのいずれかに類似する。700番台でない参照番号を有する図6中の素子は、好ましくはPLD10のソフトロジック部中の素子である。これら素子は、プログラマブルロジック30、データランダムアクセスメモリRAMs40a1及び40a2、プログラムリードオンリーメモリROM40b、スタックメモリ40c、及び図6に示すアドレス、データ及び制御信号用のバス及び関連する配線回路の殆ど或いは全部を含む。直前に記載したバス及び配線回路は、前述の図中の素子50、52、60、70、80、90、100、110、120、130140、150、及び160と同一或いは類似するものであってよい。言いかえると、図6中のバス及び配線回路は、プロセッサオブジェクト702の使用を支援する目的或いはこれらリソースを設ける何らかの他の目的のためPLD10の汎用プログラマブル相互接続リソースの1部であってもよい。プロセッサオブジェクト702の使用を示し説明するのを容易にするため、これらリソースを、あたかもプロセッサオブジェクトの使用を支援するよう構成具体的にはプログラムするかのように図6に示すようにする。そして、前に描き説明した相互接続リソースの特定素子間での意図しない特定相関関係を回避するため、800番台の完全に異なる参照番号を図6中の相互接続リソースの各部に使用すると供に以下の説明でも使用する。しかし、再び前述したものに類似する相互接続リソースを、図6中で800番台の参照番号を有する相互接続リソースのいずれか或いは全部を実現するのに使用し得ることが判る。又、図6中の800番台の単線は典型的には多数のリードを示し、これらリードの様々なものがデータ信号、アドレス信号及び又は制御信号のいずれか或いは全部を転送し得る。ハードロジックプロセッサオブジェクト702の動作開始信号をリード802、804、及び806を介しプログラマブルロジック30からプログラムシーケンサ720に供給してもよい。実行すべきある特定のプログラム命令のアドレスを同定することで、これら信号によりプログラムシーケンサ720がプログラムROM40bからこの命令及びおそらく1連の他の命令を検索できるようになる。プログラムシーケンサ720により出力される各プログラムアドレスに基づき、プログラムROM40bが対応のアドレス指定されたプログラム命令をリード812bを介して出力する。このような命令の制御部及びおそらくデータ部は、幾つかの可能な使用を目的としてPLC814に供給される。例えば、命令情報の幾つかを使用してPLC814例えばそのPLCにより実行される信号の経路化を制御してもよい。これに代え或いはこれに加えて、幾つかの命令情報をPLC814を介し又は使用し経路化して、演算部706a及び又は706b、及び又はPLC830により実行される経路化を制御する。プログラムROM40bにより出力される命令情報のアドレス部からリード804および808を介しアドレス発生器710へと経路化してもよい。アドレス発生器710は、データ例えば演算部706a及び又は706bにより処理されるべきデータのアドレスを出力することで受けたアドレス情報に応答する。アドレス発生器710のアドレス出力信号をリード808、804、810a1及び810a2を介してデータメモリ40a1及び40a2に供給する。メモリ40a140a2は、リード812a1812a2を介しアドレス指定された場所からデータが出力されることでこれらアドレス信号に応答する。PLC814は、これらデータをALU706a及び又はMAC706bへ例えばプログラムROM40bからの現在の命令により指示されるように経路化される。リード816はこの経路化に参加する。ALU706a及び又はMAC706bこのデータ及びおそらく後に説明するその他のデータに基づき演算する。これら演算は、ROM40bからの現在の命令により部分的或いは全体的に制御され得る。この点で、前述のアドレス発生器710のタイプが、DSPプロセッサに通常関連する機構に最も似ていてもよいことを言及すべきである。プロセッサの他のタイプは、いくらか異なってこれらアドレスを生成する。例えば、リディュースドインストラクションセットコンピューティングRISCプロセッサは、典型的には、プログラムメモリ及びプロセッサ内部のロジック及びレジスタを使用する多数の工程を使用しこれらアドレスを発生する。従って、発明の他の実施の形態において、アドレス発生器710必要でないか或いはここに記載したのとは異なる形式を採用し得る。演算部706a及び又は706bは、それぞれリード828a及び828bを介しこれら演算により得られるデータ信号を出力する。これら信号は、供給信号をリード832、834、836、838、840、842及び又は844の適当なものへ経路化するPLC830に供給される。言及したように、PLC830により実現される経路化を、プログラムROM40bからの現在の命令により全体的或いは部分的に制御してもよい。リード836及び又は838を介して経路化を行う場合、演算部706a及び又は706bにより出力されるデータを、比較的直接これら素子のいずれか或いは双方に戻し、更なる処理を例えばメモリ40bからの同一或いは異なるプログラム命令に従いメモリ40a140a2から入力される他のデータにより行ってもよい。リード840及び又は842を介して経路化を行う場合、演算部706a及び又は706bにより出力されるデータを、メモリ40a140a2中であって、アドレス発生器710により供給されるアドレスにより指定された場所に記憶してもよい。リード844を介して経路化を行う場合、演算部706a及び又は706bにより出力されるデータを、プログラマブルロジック30に供給してそこに記憶し及び又はそこで或いはそれにより他に使用してもよい。アドレス発生器710により出力されるアドレス情報をプログラマブルロジック30にリード802を介して供給して、リード844を介して供給されたデータのロジック30内での究極の指定を決定するか或いは決定するのを助けてもよい。図6には特定的に示さないものの、データは、プログラマブルロジック30からプロセッサオブジェクト702へと、データがメモリ40a140a2から出力されるのと同じ手法で送出される。アドレス発生器710からリード808804802を介し供給されたアドレス情報を使用して、オブジェクト702へ出力されるべきデータのロジック30内での場所を選択し或いは選択するのを助けてもよい。経路示さないを設けてデータをロジック30からPLC814へ移送してもよい。この点に基づき、データの使用を、メモリ40a140a2のような他のソースから得るデータに関し前述したように行ってもよい。多重並列アドレス発生サブ素子712a及び712bを含むアドレス発生器710を図6に示す。これら多重サブ素子712を幾つかの異なる方法のいずれかで使用し得る。例えば、1つのサブ素子712を使用して演算部706の1つに係るデータにアドレスを提供する一方で、他のサブ素子712を使用して演算部706の他のものに係るデータにアドレスを提供してもよい。他の例として、1つのサブ素子712を使用してプロセッサオブジェクト702へ入力されるデータにアドレスを提供する一方で、他のサブ素子712を使用してプロセッサオブジェクト702から出力されるデータにアドレスを提供してもよい。2つのサブ素子712しか図6には示さないものの、このような並列サブ素子を如何なる数でもアドレス発生器710中に設けてもよい。今言及した素子710の能力同様に、素子40b及び720も演算部706a及び706bの双方の同時並列演算を支援するのに適してもよく、言いかえれば好ましくは適している。このような同時演算は独立に行われても、或いは全体的又は部分的にリンクして行われてもよい。プログラムシーケンサ720は、幾つかの目的のいずれかのためリード810cを介しメモリ40cの更なるブロックと連絡する能力を有していてもよい。例えばプログラムシーケンサ720は、その現在のコンテンツをプッシュダウンポップアップスタックメモリとして動作するメモリ40cへテンポラリーにアンロードすることで1連の中断処理を行う能力を有していてもよい。プログラムシーケンサ720が中断により呼び出された演算を完了したあと、それをメモリ40cから再度ロードして、中断する前に停止していた演算を再開する。回路を設けて、この手法により所望の程度多数のグループ化された中断を行ってもよい。専用スタック40cを使用することは、リターンアドレスを記憶するための幾つかの可能な技術の1つに過ぎない。他の例としては、本発明のプロセッサオブジェクトは、同様に或いは代替的にデータメモリ40a1及び40a2にスタックアドレスを記憶してもよい。プログラムシーケンサ720が何らかのプログラムシーケンスを完了すると、完了した旨のシグナル例えばDONE信号をリード806、804及び802を介しプログラマブルロジック30に送ることでを発する。再び、図6中に示す実施例を単に図により説明するが、多くの変更が可能である。例えば、プロセッサオブジェクト702は、唯一1つの演算部706を含むかあるいは、2以上の演算部706を含んでもよい。設けられた演算部706は、図6に示すALU及びMAC演算部と異なってもよい。多数の演算部706を設けた場合、これらは同一回路で構成してもよく、或いは全体的或いは部分的に異なるタイプのものでもよい。710および720のような素子の1具体例と1連の組の演算部706を含むPLD10を図6に示すが、PLD10は、これら素子全ての多数の具体例及び多数のプロセッサオブジェクト702を有してもよい。更なる改変および変更は当業者にとって自明である。前述した内容から、本発明に従いソフト及びハードロジックの混合によりユーザーは、与えられたデバイス10が多数の異なるプロセッサを含むよう構成することが可能ことは明らかである。デバイス10の使用は、従って特定のプロセッサキテクチャに限定されない。即ち、ユーザーはデバイス10を使用して幾つかの異なるプロセッサのタイプを有効に確立することが可能である。本発明は、従って、プログラマブルロジックにおけるソフト及びハードロジック外のプロセッサを確立する能力をユーザーに与える。更なる図7に図示する実施の形態はとりわけ、所謂ベリーロングインストラクションワードVLIWプログラムを処理するように構成される。もっとも、それは他のタイプのプログラムを処理するためにも使用し得る。VLIWプログラムは比較的長く複雑な或いは少なくとも複合的な命令、アドレス、データ及び又は他の情報のストリングスを含んでいるかもしれない命令を有する。例えば、単一のVLIW命令は、この命令によりプログラムされた即ち制御された装置に対し、幾つかの動作を少なくとも部分的には並列に且つ1つの命令サイクル中で幾つかの異なるデータワードに基づき実行し、幾つかの出力ワードを生成する。VLIW命令は、実行されるべき幾つかの動作をそれぞれ指定する幾つかの命令部分を含んでもよい。これら命令は、また、実行されるべき様々な動作で使用される入力データのソースを少なくとも関連事項に関してそれぞれ指定する幾つかのアドレス部分およびこれら動作の結果得られた出力データワードのあて先を含んでもよい。図7に示す実施の形態は、他の実施の形態に関連して示し説明したことと幾つか類似する点及び共通点がある。図6のケース同様、前述した実施の形態と共通する図7に示す実施の形態のソフトロジック部の幾つかは、同一或いは同様の素子に対し先に使用した幾つかの2値参照番号おそらくサフィックス接尾部と供ににより同定される。従って、例えば、プログラマブルロジック30として先に参照したものの様々な部分を、図7中の参照番号30、30a、30b、30c及び30dにより同定する。同様に、先に言及したメモリ40のような様々な素子を、図7中の参照番号40a1、40a2、40a3、40a4、40b及び40cにより同定する。一方、図7に示す相互接続回路の殆ど或いは全ては、好ましくは、先に言及した素子50、52、60、70、80、90、100、110、120、130、140、150及び160のようなプログラマブル相互接続リソースにより実現する。図7において示される、これら相互接続リソースは、プロセッサオブジェクト902を支援するよう構成される。しかしながら、これら相互接続リソースの大部分はプログラム可能であるので、多くの他の方法で代替的に構成し得ることが理解される。図7中の特定相互接続リソースと他の図中の特定相互接続リソースと間の意図しないおそらく不適切な限定的な相関関係を回避するため、1000番台の完全に新しい参照番号を図7中の全ての相互接続リソースに対し用いる。加えて、以下の議論を短縮するため、フレーズ相互接続リソースをIRおよびIRsに短縮する。先の図に示したように、図7中の単線を使用し示したIRsの殆ど或いは全部は、実際には多数の並列信号経路である。図7中のPLD10の専用例えば少なくとも部分的にハード配線化されたプロセッサオブジェクト902は、演算部906a、906b、906c及び906d、アドレス発生器910及びプログラムシーケンサ920を含む。それは、また、中断制御装置30bのような他の素子を含んでもよいが、図7に示す特定例において、中断制御装置30bは、PLD10のプログラマブルロジックの1部であると仮定する。演算部906の幾つかの異なるタイプを図7に示す。例えば、演算部906aはMACブロックとして示し、演算部906bはALUとして示し、演算部906cは例えばエラー訂正やエンクリプションに使用する数学上の演算のある特定のタイプを実行するためのガロイスフィールド回路として示し、演算部906dはバレルシフターとして示す。演算部906のあるもの或いは全ては、前述した演算部例えば図6の演算部706に概ね類似してもよい。アドレス発生器910前述したアドレス発生器例えば図6の710に類似してもよい。プログラムシーケンサ920は前述したプログラムシーケンサ例えば図6の720に類似してもよい。プログラムシーケンサ920は図6中に素子710及び40cが協働したのと同様にスタックメモリ40cと協働してもよい。これに代え、スタックアドレスはデータメモリ40a1及び40a2に記憶してもよい。インターフェースブロック30aは、一方で、信号を転送しプロセッサオブジェクト902とこのプロセッサオブジェクトの使用を支援する素子との間で信号を変換し、他方で、PLD10中のプログラマブルロジック及び他の回路3030bの残りの部分を提供する。インターフェースブロック30aの1つの具体的実現手段を図8により詳細に示すと供に以下説明する。差当たり、インターフェースブロック30aは、データ、アドレス、制御情報をいずれか或いは双方の方向に通過させ、加えて、それは提供されたアドレスオフセット情報を使用してある関連情報をより絶対的なアドレス情報に変換してもよいことに言及すれば十分である。制御タイプの情報は、典型的にはIRs10021004及びIRs1006間のインターフェースブロック30aを介し通過する。例えば、この制御情報は、プログラムシーケンサ920の動作を開始し、その後例えば中断を伴い制御を行ってもよい。同様に、IRs1006からIRs10021004へ通過した他のこのような制御情報は、プログラムシーケンサがプログラムシーケンスを完了したことを示してもよい。議論を進めることによりより明らかになるであろうが、本発明に係るインターフェースブロック30a或いは同様の回路図8、14、15を参照は、外部エージェントにより機能同定装置IDに基づきプログラム及びデータメモリにアクセスすることを可能とする。外部エージェントは、プロセッサオブジェクトの完全な内部メモリマップを知る必要はないが、各並列機能のためのゼロアドレスに基づくメモリマップのみは知る必要がある。プロセッサオブジェクトの完全な内部メモリマップは、他の場所では時々絶対的アドレスとして言及され、。ゼロアドレスに基づくメモリマップは他の場所では時々相対的アドレスとして言及される。この目的は、外部エージェントがユニバーサルコア或いはリソースとしてプロセッサオブジェクトを使用することを可能にするためである。分離固定機能コアをPLDs中においてソフトロジックを実現するのに共通に使用するのと同様の手法により、ソフトコア或いはリソースをここで示し説明するPLDsのプロセッサオブジェクトのタイプに対し設けてもよい。このことは本発明のPLDs上のプロセッサオブジェクトの能力で多数の機能1つではないを支援し、サイズと速度間のトレードオフを可能にする。更なる利点は、ソフトウエアの機能の開発はロジックの機能よりずっと速く、フィールド中にバグが見つかった場合フィックスするのがより容易である。ユーザは、ここの機能のメモリマップ絶対的アドレスに関し何か知る必要はない。リンカーはIDコードをプロセッサオブジェクトで作用する各機能に付与し、構成ファイルを提供することで、書きこみ或いはさもなくば機能の生成に使用するゼロアドレスに基づく相対的アドレス間の変換テーブルを開始する。加えて、リンカーは、アプリケーションスペースを保護する例えば、単に各IDの絶対的アドレスのある範囲を許可するようアドレス変換装置を構成し得る。言及したように、このインターフェースブロックタイプの機能性の様々な側面は、説明が進むにつれより十分に説明される。動作時に、プログラムシーケンサ920はある1つの特定タスク或いは幾つかの特定タスクを実行するのに適当な1連のプログラム命令アドレスを出力する。これら命令アドレスは、IRs1010を介してプログラムメモリ40bに供給され、アドレス指定された場所に記憶されるプログラム命令を出力する。言及したように、これら命令はVLIWの命令であってもよい。メモリ40bにより出力された各命令は、IRs1020を介し命令アンパックブロック30cへ供給される。命令アンパックブロック30cは、プログラムメモリ40bからのある1つの命令が、実際に幾つかの命令からなるある1つのVLIW命令であることを認識するような機能を実行する。このような場合、命令アンパックブロック30cは、VLIW命令をセパレートな複数の命令へ分割し、そうすることで、多かれ少なかれ各命令を更にセパレートに処理できる。参照番号で提示したように、命令アンパックブロック30cは、好ましくは、PLD10のプログラマブルロジック中に実現される。ある1つの命令がブロック30cによりアンパックされた後、それはIRs1040を介し命令デコードブロック30dに供給される。命令デコードブロック30dは、受取った命令情報をデコードし、40a1-4、906a1-d、及び910のような他の構成部分を制御する信号を生成し、命令情報により特定された機能を実際に実行する。再び、参照番号で提示したように、命令デコードブロック30dは、好ましくは、PLD10のプログラマブルロジック中に実現される。VLIWワードは、与えられたクロックサイクル中に実行されるべく演算の量に応じて異なる長さを有してもよい。命令アンパックブロック30cの機能の1つは、どれだけ多くのセパレート命令が各フェッチに存在するかを決定することを目的とし、以下のフェッチに関する命令アドレスをおそらく変更することを目的としてもよい。前記説明から明らかなように、ある1つの命令が素子30c中でアンパックされ素子30d中でデコードされた後、IRs1020及び1022を介して素子30dにより出力された形式で、アドレス発生器910、メモリ40a1-4、及び演算部906adを制御或いは少なくとも部分的に制御する際に好適に使用し得る。例えば、アンパックされデコードされた命令は、あるアドレス及び又は制御情報をアドレス発生器910に提供し、そうすることで、アドレス発生器は、メモリ40a1-4から検索されるべきデータのアドレスをIRs1030を介して出力し、このアドレスを演算部906adのいずれか或いは全てにより使用してもよい。これに代えて或いはこれに加えて、このアドレス及び又は制御情報をアドレス発生器910により使用し、演算部906adにより出力されたデータを記憶するメモリ40a1-4中のアドレスを決定し、IRs1030を介して出力するのを助ける。前述してものに対し代わるものとして、或いは追加するものとして、IRs1022を介し命令デコード30dにより出力された命令情報を使用してアドレスメモリ40a1-4をアドレス指定し助けることで、これらメモリからデータを出力し、及び又はこれら命令情報をIRs1040を介して演算部906adへ通過させ、演算部を制御或いは制御するのを助ける。メモリ40a1-4により出力されたデータはIRs1040を介し演算部906adへ供給される。演算部906adは、命令デコード30dからの前記命令情報により部分的或いは全体的に決定、制御、或いはさもなくば影響されるデータに基づきこれらの機能を実行する。どんな時でも、演算部906adの如何なるものも使用に供することが可能である。図7は演算部906adの各々がメモリ40a1-4のそれぞれ1つからしか入力データを得ないことを提示しているが、より多くのデータ経路化の自由度が所望により付与され得ることが理解できる。演算部906adにより出力されたデータは、IRs1050を介してメモリ40a1-4戻してもよい。メモリ40a1-4からのデータは、IRs1060、インターフェースブロック30a、IRs1002を介してプログラマブルロジックの残りの部分へ送ってもよい。過密になるのを防ぐため、図7は単にメモリ40a1-4へ及びからのこれらの配線1060を示すが、この配線示された他のメモリのいずれか或いは全てに対し重複していることがわかる。データはプログラマブルロジック30から素子1002、30a、及び1060を介してメモリ40a1-4へ逆方向に流れ得ることが判る。中断制御器30bを使用して、現在プログラムシーケンサ920により実行しているプログラムシーケンスを一時的に中断するのに必要な条件に対応してもよい。中断制御器30bから素子1004、1002、30a、及び1060を介してプログラムシーケンサ920に供給された中断命令及び他の中断情報に応答して、シーケンサ920は、その現在のシーケンスを中断し、スタック40cにこの中断したシーケンスを後で再開するのに必要な情報を記憶し、そして新たな中断シーケンスを開始してもよい。図6に示す実施の形態に関して先に述べたように、素子30b、920、及び40cが、所望の数の組を成す中断を支援する能力を有していてもよい。スタック40cを代替的に或いは付加的に使用して、これら中断以外のリターンアドレスを記憶してもよい。サブルーチンコールに関するアドレスが例である。また、前述したように、プロセッサは代替的には40aのような他のメインメモリにスタックを記憶してもよい。そして、プロセッサはリターンアドレスよりずっと多くの情報をサブルーチンコール用に記憶してもよい。プログラムプログラム、サブルーチン、インターラプトシーケンス等を包括的に含む用語プログラムを使用するの命令は、プログラム完了時にDONE信号を一般化し回路の適当な部分へ送る例えば命令デコード30dから素子1006、30a、及び1002を介しプログラマブルロジック30へ送るための命令を含んでもよい。このようなDONE信号は、プロセッサオブジェクトを本発明のある視点に従いユニバーサルコアとして使用する場合に、特に有用である。この場合、DONE信号は、外部エージェントにプロセッサが現在のタスクを完了したことを知らせる。今一度、図7は本発明に従い行うことが可能なことを単に示しているに過ぎない。例えば、図7は、所望のあらゆる可能な相互接続を示していない。図示することにより、プログラマブルロジック30及びプログラムメモリ40b間のIRsを使用して新たな或いは変更した命令をそのメモリにロードすることが望ましいかもしれない。同様に図7に示す演算部906の数及びタイプは、単に図示したに過ぎず、これと異なる数及びタイプのこのような素子を所望により代わりに使用し得る。図6の実施例の場合のように、演算部906の使用を支援する素子は、好ましくは、望まれる場合には多くの部906が有するような並列演算を支援する適当な能力を有する。従って、例えば、各VLIWの長さは好ましくは並列に演算部906を制御するのに適した長さであり、アドレス発生器910は、好適には、演算部906で必要とするのと同じくらい多くの入力及び又は出力データアドレスを発生する。一般的には、PLD10上の相互接続リソースを使用して図7及び他の実施例中に1000番台で示すIRsのいずれかを提供してもよいのは本当であるが、典型的には、オブジェクト902及びオブジェクト902の使用を充分に支援する素子を配置し、図1中の素子60および80のような比較的ローカルなIRsをこれら構成部間の連絡の殆ど或いは全てに対し使用し得る。既に述べたように、このような比較的ローカルなIRsは、高速で、必要は電力は少なく、占有スペースは少なく、おそらく臨界速度の信号のこのような過剰な相互接続に関し他の類似の利点を有する傾向にある。図8は、更に詳細な図7のインターフェースブロック30aの実施例を示す。図8に示すように、インターフェースブロック30aは、図に示すよう上から下まででデータチャネル、アドレスチャネル、識別IDチャネル、及び制御チャネルを示す。他の図に示すように、図8の相互接続を示す単線及び関連する素子は、典型的には多数の相互接続および素子を示す。従って、例えば、データチャネルは、16の導線分の幅であってもよく、従って、素子1110、1110及び1114をそれぞれ16個づつ含んでもよい。より詳細に前記チャネルの各々を検討すると、データチャネルは、ある方向にインターフェースブロック30aを通過したデータをレジスタするのに所望により使用し得る入力出力レジスタ1110を含んでもよい。データチャネルは、データがIRs1002からIRs1060へ通過し所望によりレジスタ1110をバイパスするのを許可するPLCs1112を含んでもよい。同様に、データチャネルは、データがIRs1060からIRs1002へ通過し所望によりレジスタ1110をバイパスするのを許可するPLCs1112を含んでもよい。アドレスチャネルは、以下説明するようにID情報に基づく変更を伴ってアドレス少なくとも1つの相対アドレスがプロセッサオブジェクトに供給されるのを許可する。プログラマブルロジック30から入力されたアドレス情報は、レジスタ1120によりレジスタされるか、或いはPLCs1222を介しレジスタ1120をバイパスしてもよい。加算器1130を設けアドレスオフセット値を所望によりPLCs1122の出力に加える。IDチャネルは、プロセッサオブジェクトが実行し得る各異なるプログラムに固有のID値をプログラマブルロジック30が提供するのを可能にする。このID値はレジスタ1140によりレジスタされるか、或いは所望によりPLCs1242を介しこれらレジスタをバイパスしてもよい。PLCs1242から出力したID値はテーブル1144に供給され、例えば供給されたID値に関連するアドレスオフセット値を含むテーブル1144の場所をアドレス指定する。テーブル1144は、供給されたID値に対応するアドレスオフセット値を出力し、加算器1130に供給することにより応答する。加算器1130は、このオフセット値をPLCs1122により出力された相対アドレス値に加算し、図7のメモリ40中の最終即ち絶対的アドレスを生成する。このタイプの相対アドレスから絶対アドレスへの変換を、データアドレス或いは命令アドレス、或いはデータアドレスと命令アドレスの双方に対し使用してもよい。データアドレスと命令アドレスの双方に対し使用する場合、2つのチャネル各々は概ね素子112011221130114011421144に似ているを必要とし、1チャネルをデータアドレス用に使用し、他の1チャネルを命令アドレス用に使用してもよい。異なるオフセット値が、各ID値に関連するデータアドレスと命令アドレスの双方に対し必要となるかもしれない。従って、112011221130114011421144のような2つのチャネルは、データアドレスと命令アドレスの双方がゼロアドレスに基づく値から絶対アドレス値への変換を必要とする場合に必要とされるかもしれない。ある場合には、このタイプのアドレス変換能力を、本発明に従って回路内の他の場所に提供するか、或いはPLDs中の情報の流れに提供することは望ましいかもしれない。そうであるなら、30aのようなインターフェース回路の更なる付加的な具体的構成を設けるか或いは、変換を必要とする情報をインターフェース回路30aの図示した構成を介して経路化してもよい。図示した幾つかの例を以下本明細書中で議論する。制御チャネルは、インターフェースブロック30aを介しいずれかの方向に通過するSTART信号及びDONE信号ような制御信号をレジスタする入力出力レジスタを含んでもよい。代替的には、レジスタ1150はPLCs1152及び又は1154を介しいずれかの方向にバイパスされ得る。データアドレスをオフセットする能力と開始命令アドレスをオフセットする能力とを有するインターフェースブロック30aの1例を図8Aに示す。図8Aの実施例において、素子112011221130114011421144図8は、データアドレスオフセット即ちIRs1006よりむしろIRs1060に出力する専用に構成される。付加された素子116011621164はそれぞれ素子114011421144に類似するが、これらを使用して、各プログラム毎のID値をそのプログラムの命令のメモリ40b中の絶対的開始アドレスへ変更してもよい。IRs1006を介し開始アドレスを出力することに加え、回路1164或いは関連回路は、IRs1006を介し信号を出力することで、図10のプライオリティーデコーダ1440は、図10のPLC1430がその開始アドレスを図10のレジスタ即ちプログラム命令カウンタ1450へ供給するのを可能にする。これにより、メモリ4040bから第1の命令を取り出す。その後、レジスタ1450は、連続命令クロックサイクル中でインクリーメントし、メモリ4040bから関連するプログラムの連続する命令を取り出す。図10の他の側面を以下詳細に議論する。図8および8Aに示すタイプのインターフェースブロック30aは、各プログラムのコマンドを他のプログラムに使用されるのと同一の相対データ及び又は命令アドレスを使用して要約タームの形式で記述するのを可能にするという利点を有する。例えば、各プログラムの相対命令アドレスをゼロで開始してもよい。プログラムが実際にPLD10例えば図7中のプログラムメモリの分離された部分にロードされる場合、プログラムの各命令に対する絶対的プログラムメモリのゼロの場所からのオフセットの量は、そのプログラムに対し図8のテーブル1144に記憶されたオフセット値或いは図8Aのテーブル1164に記憶されたオフセット値となる。各プログラムが呼び出される際、このプログラムに関連するID値を使用しテーブル1144或いは1146からそのプログラムに対する適当なアドレスオフセット値を検索する。図8の場合、加算器1130はそのオフセット値を、素子11201122を介しそのプログラム用に規定される相対命令アドレスに加算する。図8Aの場合、テーブル1164の出力は、絶対命令アドレスとして直接使用し得る。このアプローチは、ここで述べるようにプロセッサオブジェクトを有するPLDsのためのプログラムの書きこみ及びデバッグを多いに簡略化する。同様のアプローチをデータアドレス例えば命令中のデータに使用するアドレスに使用し得る。例えば、以下の図12及び12Aを参照相対的なアドレスから絶対的なアドレスへの変換をデータのアドレス指定の目的で使用することにより、プロセッサオブジェクトを有するPLDsのためのプログラムの書きこみ及びデバッグを簡略化する。また、本明細書中の後で、如何にしてこれら概念を本発明におけるPLDsを含む大きなシステムに延用可能とするかにつき例えば図14及び15の議論を参考に説明する。図14及び15に関連して説明する更なるインターフェースの特徴は、図8および8Aに示すタイプの回路中に含まれるか、或いは回路に追加されることが理解される。図8および図8Aに示された例示的なインターフェースブロックは図7に示された典型的なPLD実施例に関するものであるが、この形式のインターフェースは本発明のいずれの実施例においても使用し得ることが理解される。前述のことから本発明に係るPLDが多くの利点を有することが良好に理解されよう。PLD上に適正な種類のプロセッサオブジェクト適正な種類の動作部分を充分に伴ってを充分に有する場合、ユーザはカスタム用プロセッサを実施するためにこのPLDを使用することができる。この種のカスタムプロセッサは、例えば従来のマイクロプロセッサの機能を有することができるが、さらに追加的な機能を備えることもできる。例えば、従来のマイクロプロセッサに比べてより並列な機能ユニット動作部分を備えることができる。本発明のPLDは専用の完全なマイクロプロセッサをオンボードに備えるPLDに比べて全体的に低価格なものであり、これは例えばユーザが完全なマイクロプロセッサを必要としていない場合に高価な間接回路を伴わないためである。本発明によってユーザは各プロセッサ構成ブロックへのアクセスを有しており、従ってユーザはこれらの構成ブロックが完全なマイクロプロセッサを提供するために必要とされない場合に他の用途に使用することができる。例えば、MACブロックをDSPプロセッサの一部として使用するか、またはこれをその他の専用データ伝送動作に使用することができる。別の例として、プログラムシーケンサを複合ステートマシンとして使用することができる。本発明に従ってPLD上に設けられた専用回路プロセッサオブジェクトを含むは、PLDのプログラマブルロジック30内で実行された場合に最も遅いおよび/または最も低効率なマイクロプロセッサ動作を実行するように適応することが好適である。本発明に係るPLDのハードロジックプロセッサオブジェクト部分内に含めることが好適である別の制御回路の例は、例えば図9に示される種類の多ポートレジスタファイルである。レジスタファイルは制御ユニット例えばプログラムシーケンサまたはアドレスジェネレータ等である。レジスタファイルはメインメモリと機能ユニットとの間の局部記憶装置として使用することができる。縮小命令セットRISCプロセッサは一般的にアドレスジェネレータを備えておらず、アドレスはレジスタファイル内の局部記憶装置によって計算および記憶される。図9に示されているように、多ポートレジスタファイル1210は複数のレジスタ1222例えば16個からなるメモリ1220を含んでおり、各レジスタはそれぞれ複数ビット例えば16ビットのデータワードを記憶することができる。各レジスタ1222は結合された入力PLC1230および結合された出力PLC1240を備えている。各入力PLC1230は8個の16ビットワードのうちのいずれか1つを結合されたレジスタ1222に付加することができ、このレジスタ内に記憶する。レジスタファイル1210への8個の16ビット入力1228は、このレジスタファイルの入力ポートと呼称されることがある。各出力PLC1240は16個のレジスタ1222のうちのいずれか1つの内容を結合されたレジスタファイルの出力ポート1242に付加することができる。PLC1230および1240のそれぞれは、基本的に固定された選択を行うためにプログラム制御するか、またはより動的な選択を行うためにより動的に制御例えば時間変化するロジックあるいはその他の制御信号によってすることができる。PLC1230および1240の全ては並列に動作することができ、従って8個以上の入力ワードをレジスタファイル1210内に同時にルーティングすることができ、同じ時点において8個以上の出力ワードがレジスタファイルから外へルーティングされる。回路は全く柔軟で無閉塞なものであり、任意の入力ポート1228からの入力ワードをレジスタ1222が動作するための最低限の1クロックサイクルの遅延の後に任意の1つまたは複数の出力ポート1242に付加することを可能にする。図9に示された形式のレジスタファイルはここで記述されているPLD10の汎用プログラマブルロジック30内で実施するには比較的高価であるが、専用回路例えば固定配線式あるいは部分的に固定配線式の内にておいては容易に実施することができる。従って、レジスタファイル1210は、本発明に係るPLD上のプロセッサオブジェクトの制御部分例えば204/504/604/等内に含まれるものの好適な候補の別の例である。特定のアーキテクチャにおいてレジスタファイルはアドレスジェネレータとして使用することができる例えば、図7のアドレスジェネレータ910。レジスタファイル1210の種々の特徴に対して前述した特定のサイズは単に説明のためのものであり、必要に応じてその他のサイズを代替的に使用し得ることが理解される。例えば、レジスタファイルは前述した16個よりも多いあるいは少ないレジスタ1222を備えることができ、また各レジスタのサイズは前述した16ビットよりも小さいあるいは大きいものとすることができる。同様に、レジスタファイルは前述した前述した8個よりも多い入力ポートならびに出力ポートを備えることができる。レジスタファイル内の入力ポートおよび出力ポートの数は異なったものとすることができる。図9Aには、本発明に係る説明的なPLD10が示されており、これは前述した多ポートレジスタファイル1210を含みこれを使用している。図9Aに示されたアーキテクチャはRISCプロセッサを提供するために使用し得るものである。図9Aに示された要素に加えて、PLD10は他のソフトロジック要素を含むことができる。後に図10および図11に関して記述するようにRISCプロセッサ内において通常プログラムシーケンサはゼロオーバヘッドループを有していないが、プログラムシーケンサ1320は本明細書中に記載されている他のプログラムシーケンサと同様なものとすることができる。矢印で垂直に結ばれている各ブロック40b,30d等はパイプラインステージとすることができるが、必ずしもこの種のステージとする必要はない。レジスタファイル1210と機能ユニット1306ならびにデータメモリ40aとの間のマルチプレクサ1314も、先にレジスタファイルに戻して書き込みする必要なく進行中の計算を受け入れることができる。このことは当業者においてフォワーディングとして知られている。レジスタファイル1210は少なくとも1つの入力ポートならびに2つの出力ポートを有する。機能ユニット1306は本明細書において先に記述した動作部分例えば、206図1、306図2、406図3、506図4、606図5、706図6、906図7等のうちの1つまたは複数のものを含んでいる。図9Bには別のRISCアーキテクチャが示されている。このアーキテクチャは図9Aのものと類似であるが、データメモリ40aが機能ユニット1306のライン内にある。本発明の実施例のいずれにも使用し得るプログラムシーケンサの説明的な実施例が図10により詳細に示されている。参照を容易にするために図10に示されたプログラムシーケンサはプログラムシーケンサ1420を引用するが、前述した任意のプログラムシーケンサ例えば220,520,620等を使用し得ることが理解される。プログラムシーケンサ1420は、PLC1430基本的にマルチプレクサ形式回路を含んでおり、これによってその複数の入力命令アドレス、ネクストプログラム、スタックリターン、アザーインプッツのうちのいずれかをこのPLCによって出力される命令アドレス信号として選択する。PLC1430はいくつかの制御入力信号インタラプト、コンディションズ、スペシャルケースイズ、ゼロオーバヘッドループ、アザーコントロールズによってその選択を行うように制御される。これらの信号は、優先エンコーダ回路オプショナル1440によって処理することができる。例えば、エンコーダ回路1440は、相互に対立する信号が定義されないことを保持するか;またはそのような信号が定義された場合に最も優先順位の高い制御信号のみをPLC1430の制御に使用するために出力することを保持する。プログラムシーケンサ1420はさらにPLC1430によって出力された命令アドレス信号を記録するためのレジスタ1450オプショナルを含むことができる。レジスタ1450を含んでいる要素は、PLC1430からのいずれかの変異的な出力によって通常モード動作がオーバライドされない限り、連続する各命令サイクルの間にレジスタ1450の内容を一定に増加するように変更例えば、インクリメントするための回路を含んでいる。従ってレジスタ1450はプログラム命令カウンタとして考えることもできる。前述したように、通常プログラムメモリ40/40bは専用すなわち少なくとも部分的に固定配線式ののプログラムシーケンサ回路1420の一部ではないが、完全化のために図10に示されている。プログラムメモリ40/40bは要素1430/1450の出力信号によってアドレスされ、メモリ内のアドレスされた位置で実行されるプログラム命令を出力する。図10に示された種々の形式の入力信号の多くは既に説明されており、従ってここでは短く述べるだけで充分である。命令アドレス、ネクストプログラム、ブランチ、ならびにアザーインプッツ信号は通常プログラムシーケンサ1420を含んでいるPLD10のソフトロジック部分20例えば図1内から生じる。これらの信号のいくつかあるいは全てが図8および図8Aに示されているようなインターフェース回路30aを介して伝送され、従ってこれらの信号のいくつかあるいは全てが前述したようにインターフェース回路処理に依存する例えばアドレス変換を絶対的に開始するためにオフセット数値またはIDによって相対アドレスを変更する。特定のアザーインプッツ信号をプログラムシーケンサのゼロオーバヘッド機能を補助するために使用することができ、これは図11を参照して以下により詳細に説明する。この場合、これらのアザーインプッツ信号はプログラムシーケンサに対してよりローカル例えばその内部でに形成される。スタックリターン入力信号は典型的にプログラムシーケンサと共に使用されるスタックメモリ40c例えば図7から発信されるこのスタックメモリは一般的にPLDのソフトロジック部分20とすることもできる。インタラプト、コンディションズ、スペシャルケースイズ、およびアザーコントロールズ信号もプログラムシーケンサ1420を含んでいるPLD10のソフトロジック部分20内から生じる。再び、これらの信号のいくつかあるいは全てが図8および図8Aに示されているようなインターフェース回路30aを介して伝送される。ゼロオーバヘッドループ信号もPLDのソフトロジック部分20内から生じるか、あるいはプログラムシーケンサがこの種の信号を形成し得ると仮定するとこれらはこのプログラムシーケンサ1420内でよりローカルに形成することができる。ゼロオーバヘッドループ状態は、それ自体が一群の命令の繰り返し実行の制御としてこの機能を実行するプログラムシーケンサ1420に関するものである。例えば、本発明に係るプログラムシーケンスは、プログラムシーケンサがそれ以上の外部命令を使用せずに繰り返し実行する命令シーケンスの開始アドレスとして外部から付加された命令アドレスを使用することができる。この形式の動作が必要とされる場合、ゼロオーバヘッドループ制御信号が定義され例えば、PLDのソフトロジック部分20またはプログラムシーケンサ1420自体によって、PLC1430がアザーインプッツ信号からの命令アドレスを出力する。このアザーインプッツ信号はプログラムシーケンサ1420自体によって形成された開始命令アドレス信号である。ゼロオーバヘッドループ機能を伴った例示的なプログラムシーケンサ回路が本明細書において以下により詳細に説明される例えば図11に関連して。以下に記す理由のため、本発明に係るPLDのハードロジック部分群例えば図1の一部としてプログラムシーケンサ1420のようなプログラムシーケンサを設けることが好適である。プログラムシーケンサへの入力のいくつかはPLDのソフトロジック部分20内における比較的難解な復号の結果またはその他の比較的時間のかかる動作の結果であり得る。プログラムシーケンサが全ての入力を受信する時間PLDクロックサイクルの間のため、プログラムシーケンサがその動作を実行するためにそれ程多くの時間はクロックサイクル中に残されていない。従ってプログラムシーケンサの動作を高速化するために専用回路を使用することが好適であり、それによってPLDクロックサイクル中の比較的短い一部の間にその動作を完了することができる。図11には、どのようにプログラムシーケンサ1420に説明的なゼロオーバヘッドループ機能を設けることができるかがより詳細に示されている。図11に示されている説明的な実施例において、プログラムシーケンサ1420は少なくとも1つのループ制御回路1460の用例複数の用例も可能を有している。以下の説明はループ制御回路1460aに関して行うが、全ての記述がその他のいずれのこの回路の用例1460b等にも同様に該当することが理解される。ループ制御回路1460aは、開始アドレスレジスタ1470と終了アドレスレジスタ1474とカウントレジスタ1478とを含んでいる。開始アドレスレジスタは、回路1460aによって制御されるループを開始させるプログラムメモリ40/40b内の命令のアドレスを含んでいる。終了アドレスレジスタ1474は、回路1460aによって制御されるループを終了させるプログラムメモリ40/40b内の命令のアドレスを含んでいる。カウントレジスタ1478は回路1460aによって制御されるループを実行する回数を含んでいる。レジスタ1470、1474、および1478は前述した情報を任意のいずれかの方式でロードすることができる。例えば、これらのレジスタは、これらを含んでいるPLD10が最初に構成プログラムされる際にロードすることができる。その後これらのレジスタはROMとして使用することができる。他方、これらのレジスタのうちの1つあるいは複数のものをPLDのソフトロジック部分例えば図1の20によってロードすることができる。このことを実行する方式の一例として、これらのレジスタのいくつかあるいは全てをロードするためにプログラムメモリ40/40bからの命令を使用することができる。このようなメモリ40/40bからの命令は以下のような解釈を有することができる:回路1460aを開始アドレス1050、終了アドレス1056、およびカウント8でロードし、これらの数字1050,1056,8はその命令の中の変数フィールドとすることができる。回路1460aはさらに比較回路1476、リセットおよびロード可能なカウンタ1480、およびゼロ検出回路1482を含んでいる。カウンタ1480は、レジスタ1478内に含まれているカウント値によって選択的にリセットおよびロードすることができる。ゼロオーバヘッドループを実行することが必要である際、このループに対するレジスタ1470/1474/1478を設定する前述した命令またはその他のいずれかの命令は、レジスタ1450がこのループの開始アドレスを受信することを誘起し、またカウンタ1480がレジスタ1478からのカウント数値をロードすることを誘起することができる。その後最初のループの実行に従ってレジスタ1450が増加し、このレジスタ1450がループの最後の命令アドレスに到達するまで増加する。このことが発生すると、比較回路1476はレジスタ1450の内容が終了アドレスレジスタ1474の内容と等しいことを検出する。その後比較回路1476はカウンタ1480を減数させる出力信号を形成し、ORゲート1422を付勢しこれによってOR回路1492の出力信号を送信するようにPLC1430を付勢する、さらにAND回路1490aを付勢する。このようにして付勢されると、AND回路1490aはOR回路1492を介してレジスタ1470からの開始アドレスをPLC1430に付加する。このことによってレジスタ1450が再度ループの開始アドレスを受信することが誘起され、その結果ループの実行が再度開始される。このループはカウンタ1480がゼロになるまで前述したように繰り返し実行される。このことはゼロ検出回路1482によって検出され、これはこのループがさらに実行されることを防止するための終了出力信号を形成する。例えば、終了出力信号はレジスタ1470/1474/1478を0にすることができるか、あるいは終了出力信号はこの終了信号に関連付けられたAND回路1490aを使用不可能にする。図11に示されているようにプログラムシーケンサ1420はループ制御回路1460の複数の用例を含んでおり、これらの複数の用例は相互に階層関係をもって使用することができる。このような場合において、1つの用例1460xによって実行されるループは別の用例1460yによって制御されるループの実行を開始する命令を含んでいる。用例1460xがこの命令を呼び出す度にこの用例1460xの動作は一時的に停止し例えば前記の命令によって、用例1460yはそれが制御するループの実行を開始するように付勢される。用例1460yの使用が終了すると、用例1460xはその動作を再開することができる。この種の階層は任意の深さのものとすることができる。当業者においては、図11に関して説明した効率的なループ機能が例えばDSP用途等の多くの用途において極めて効果的であることが理解されよう。従って、本発明に従ってこの種の機能を有するPLDを提供することによって、DSPまたはその他の一般的に類似の用途においてこの種のPLDを使用することが極めて容易になる。当業者においては、図11に示されている特定の制御回路は単に説明のためのものであり、必要に応じてこの回路の変更構成を使用し得ることが理解されよう。例えば、一連の命令の複数回の実行例えばループをサポートする代わりに、回路は一連の命令を一回伝送することだけをサポートすることができる。ゼロオーバヘッドループの別の形式図示されている一般的な場合よりも少ないハードウェアのサポートを必要とするはリピート命令であり、これは単一の命令を多数回実行する。前述した専用アドレスジェネレータ210,510,610等に対して使用することができるジェネレータ回路1610の実施例が図12により詳細に示されている。アドレスジェネレータ1610は複数のアドレス変更子データワードM1-Mnを記憶するための複数のレジスタ1622を有するメモリ1620を備えている。各レジスタ1622の内容はPLC1630a,1630b等のうちの少なくとも1つ好適には複数に付加される。各PLC1630はこれに付加されたレジスタ内容のうちのいずれか1つを出力するように制御することができる。各PLC1630によって出力されたレジスタ1622の内容はそれぞれ加算器1660の1つに付加される。アドレスジェネレータ1610は、複数のアドレスワードA0-Amを記憶するための複数のレジスタ1642を有する別のメモリ1640をさらに備えている。各レジスタ1642の内容はPLC1650a,1650b等のうちの少なくとも1つ好適には複数に付加される。各PLC1650はこれに付加されたレジスタ内容のうちのいずれか1つを出力するように制御することができる。各PLC1650によって出力されたレジスタ1642の内容はそれぞれ加算器1660の1つに付加される。これらのPLC1650の出力信号はさらにアドレスジェネレータ1610によって出力され、従ってこのアドレスジェネレータを含んでいるPLD10例えば図1上の何処かにおいて使用することができる。例えば、これらのアドレス信号は、前述したようにPLD上のデータメモリ40/40bをアドレスするために使用することができる。各加算器1660はこれに付加された信号によって示された数値を換算する。従って加算器1660aは例えばPLC1650aによって出力されたアドレス数値にPLC1630aによって出力されたアドレス変更子数値を加算して変更されたアドレス数値を形成する。関連付けられたアドレス変更子数値がゼロである場合、変更されたアドレス数値は当然元のアドレス数値と同一になる。変更された各アドレス数値は次の命令クロック信号パルスに応答して元のアドレスレジスタ1642に対して返送されるとともにこの中に記憶される。従って、メモリ1640内のアドレス数値は必要に応じて繰り返し増加または減少させるか、または連続した命令クロック信号中に変更することができる。この加算器1660を通じたアドレスフィードバックの構成によって、PLD内において連続する動作の実行中に連続的にアドレスすることが必要となるデータメモリ位置を自動的にアドレスするようにアドレスジェネレータ1610を使用することが可能になる。メモリ1620および/または1640は、アドレスおよび/または変更子データを複数の方式のうちのいずれかによって受信することができる。例えば、これらのメモリは、アドレスジェネレータ1610を含んでいるPLD10例えば図1の構成プログラミングの一部として部分的または全体的にデータをロードすることができる。これに代えて、またはこれに加えて、メモリ1620および/または1640は、PLDの構成動作後の任意の時間にPLDのソフトロジック部分20例えば図1からの新規あるいは変更されたデータをロードするかまたはこれを受信することができる。例えば、プログラムシーケンサ例えば図1の220によってプログラムメモリ40/40bから選択された命令がメモリ1620および1640のいずれかあるいは両方の中の特定の位置への新規あるいは変更されたデータのロードを誘起することができる。図12に示されているように、アドレスジェネレータ1610は2つまたはそれより多数のアドレスを同時かつ互いに並行に出力し得るよう構成することが好適である。この機能は、2つまたはそれより多数のデータワードを演算的あるいは論理的に結合する例えば1つのデータワードを別のデータワードスケールファクタによって乗算することがしばしば必要となるDSP等の多くの場合において有用なものとなる。VLIW処理は2つより大幅に多数のアドレスを出力することができるアドレスジェネレータ1610を設けることによって実行することができ、これはVLIW命令がしばしば極めて少数の異なったデータワードの処理を必要とするためである。アドレスジェネレータ1610はメモリ40/40bまたはそれ以外の何処かから引き出されるデータワードのアドレスを形成するために使用し得るばかりでなく、その時点で実行されている動作の結果として生じたデータワードが伝送される例えば記憶するために位置のアドレスを形成するために使用することができる。これは、アドレスジェネレータ1610が複数のアドレスすなわち引き出されるデータ用の1つまたは複数、ならびに形成されるデータの目的位置複数用の1つまたは複数を同時に出力し得ることが好適であることに対する別の理由である。必要に応じて、アドレスジェネレータ1610に付加されるか、ここから引き出されるか、および/またはこの中で処理されるアドレス情報は、例えば図8および図8Aに示された特に図8の要素1130および1144インターフェース処理の種類に依存するものとすることができる。言い換えると、要素1130および1144等の回路はアドレスジェネレータ1610内のまたはこれと結合された任意の適宜な点あるいは複数点に含めることができ、これによってアドレス情報を相対的なものから絶対的なアドレス値に変換する。例えば、メモリ1620および/または1640に付加されるアドレス情報は、図8内の要素の構成と同様な要素の構成を介して伝送することができ、これによってこの情報を異なった動作に対して再使用することができる相対値から各動作に対して固有の絶対値に変換し、ここで各動作はこの変換の制御に使用するためにそれぞれ独自のID数値を有している。別の例として、PLC1650の出力に対して同様な手法を適用することができフィードバックループを離れて加算器1660へ戻るように、従ってアドレスジェネレータ1610は相対アドレス情報を使用して内部的に動作するが、アドレスジェネレータの外の回路は絶対アドレス情報を受信する。図12Aには、例示的なアドレスジェネレータ1610の回路またはこれと結合される回路が直ぐ前の段落で記述した形式のインターフェース回路によってどのように増強されるかの説明的な例が示されている。命令デコード30d図7参照はVLIW命令のいくつかの部分それぞれから命令およびデータアドレス情報を出力することができる。このVLIW命令のそれぞれの部分からの命令情報出力はID情報ALTID1、ALTID2、ALTIDN等を含むことができる。このID情報はPLC1604a,1604b,1604n等のうちの適宜な1つに付加される。これらの各PLCへの別の入力は、共通のID信号IDとすることができる。各PLC1604は、関連付けられた特定のID信号または共通ID信号のいずれかを選択して対応するインターフェース回路1606a,1606b,1606n等に付加するように制御プログラムすることができる。インターフェース回路1606のそれぞれは図8の要素1130および1144と同様なものとすることができる。従って各インターフェース回路1606はそのID入力信号関連付けられたPLC1604からのに応答して先に記憶された対応するデータアドレスオフセット数値を選択して同様にこのインターフェース回路に付加された相対データアドレス数値に加算する。ここで命令デコード30dに戻ると、VLIW命令の各部分から出力されたデータアドレス情報は相対データアドレスとすることができ、PLC1602a,1602b等のうちの適宜な1つに付加される。PLC1602のぞれぞれは別のソース例えばPLD10のソフトロジック部分のその他の領域からの別の相対データアドレス情報ALTADDR1、ALTADDR2等も受信することができる。PLC1602のそれぞれはそのデータアドレス入力うちのいずれかを選択して対応するインターフェース回路1606a,1606b等に対して出力これはPLC1606m,1606n等には付加されないするように制御プログラムすることができる。各インターフェース回路1606a,1606b等は、それが受信した相対データアドレス情報を絶対データアドレス情報に変換してその情報を関連付けられたPLC1608a,1608b等に付加する。各PLC1608はさらに別のソース例えばPLD10のソフトロジック部分のその他の領域からの別の相対データアドレス情報ALTADDRM、ALTADDRN等も受信することができる。PLC1608のそれぞれはそのデータアドレス入力うちのいずれかを選択してメモリ1640内の対応する1つのレジスタに対して出力しこのデータアドレスをそのレジスタ内にロードするように制御例えばプログラムすることができる。ここでインターフェース回路1606m,1606n等に戻ると、これらの回路のそれぞれはPLC1650a,1650b等のうちの対応する1つによって出力されたデータアドレス情報を受信する。従って、回路1606m,1606n等のそれぞれは、対応するPLC1650から付加された相対データアドレス情報を対応するPLC1604から同様にこのインターフェース回路に付加されたID情報に基づいて絶対データアドレス情報に変換することができる例えばアドレッシングメモリ40/40a例えば図7内において使用するために。図12Aに示されたインターフェース回路の全てに関してPLD10のいずれかの構成において使用することが好適であるわけではないことが理解される。例えば、相対データアドレス情報をメモリ1640内のレジスタA0に対する絶対データアドレス情報に変換するためにインターフェース回路1606aを使用する場合、このレジスタの出力がインターフェース回路1606m,1606n等のいずれか1つによって再度変換される必要があることはあまり考えられない。同様に、下流のインターフェース回路1606m,1606n等の1つがメモリ1640の特定の出力を変換するために使用される場合、この特定の伝送路内において追加的な上流変換インターフェース回路1606a,1606b等によってしかしながら1606m/1606n/等は含まないが必要であることは考えにくい。図12Aに示されている説明的な構成は、以下のような使用を含む考えられる多様な使用構成を提供するように設計されている回路を通じた代表的な1つのデータアドレス伝送路に関して考える:1.命令デコード30dからのあるいはPLD10上の他の何処かからのものであり、インターフェース回路例えば1606aの上流例えばALTADDR1または下流例えばALTADDRMのいずれかの相対または絶対データアドレス情報;2.命令デコード30dからのあるいはPLD10上の他の何処かからのインターフェース回路1606を制御するためのID情報;3:ループ1620/1640/1660の上流またはこれらのループの下流における相対から絶対データアドレスへの変換。相対アドレスから絶対アドレスへの自動的な変換に関する前述の説明に関連して、相対データアドレスから絶対データアドレスへの自動的な変換能力例えば図12Aにより本発明に係るプロセッサオブジェクトを有するPLDによって実行するための複雑なプログラムの書き込みが大幅に容易化される。例えば、モジュールとモジュールとの間における相反性を防止する必要のない相対命令および/またはデータアドレスを使用して、相対的に独立して書かれたモジュールとしてプログラムを作成することができる。各モジュールに対して固有のID数値が関連付けられ、さらに適宜な命令および/またはデータアドレスオフセット数値が各ID数値に関連付けられる。各モジュール内で使用される相対的命令および/またはデータアドレスに対するこれらのオフセット数値の加算によって、これらのアドレスがモジュールとモジュールの間で相反することがない絶対アドレスに変換される。前述したように、このことによって本発明のPLDに対する複雑なプログラムの書き込みおよびデバギングを大幅に容易化することができる。図13には、本発明に係るPLD上のプロセッサオブジェクト内に含むことができる専用動作部分1806例えば図1の動作部分206と同様のさらに別の説明的実施例が示されている。動作部分1806は、演算ロジックユニットALUまたは演算ブロックと呼称されるものの例である。動作部分1806は複数の入力データワード記憶レジスタ1810a-nを含んでいる。関連付けられたPLC1812がどのように制御されるかに従って、これらのレジスタのそれぞれを使用するかあるいはバイパスすることができる。PLC1820はPLC1812の出力から機能ユニット1830,1840,1850等へのルーティングを広範囲の中から選択することを可能にする。機能ユニット1830は加算器/減算器すなわち付加された2つのデジタル信号数値を互いに加算するかあるいは一方から他方を減算する回路である。機能ユニット1840はバレルシフタ例えば、付加されたデジタル信号数値のビット上においていくつかの種類のシフトを実行し得る回路である。例えば、バレルシフタ1840は左回転、右回転、論理的左シフト、論理的右シフト、等として知られるシフト、および/または固定または選択されたいずれかの数のビット位置による別の方式のシフトを実行するように制御することができる。機能ユニット1850は、2つのあるいはより多数の付加されたデジタル信号数値上でいくつかの異なった論理動作をビット式に実行することができる。例えば、機能ユニット1850は第1の入力ワードの各ビットと第2の入力ワードの対応するビットとの論理AND演算を行って出力を形成することができる。あるいは2つより多い入力ワードにおいて対応するビット間の論理AND演算を行うこともできる。ANDに代えて、その他の任意の論理機能例えばOR、XOR、NAND、NOR等が機能ユニット1850の能力の中に含まれており、従ってこのユニットの動作として選択することができる。ユニット1830,1840および1850以外の別の機能ユニットを動作部分1806内に設けることもできる。これらは全くあるいは部分的に追加的な機能ユニットの用途とするか、または全くあるいは部分的に異なった形式の機能ユニットとすることができる。PLC1860は、機能ユニット1830/1840/1850の出力信号の出力レジスタ1870a-mへの可能なルーティングを広範囲の中から提供するように制御することができる。必要であれば、関連付けられたPLC1872a-mを介してこれらレジスタのいずれかあるいは全てをバイパスすることができる。本発明の他の回路と同様に、PLC1812,1820,1860および1872は複数の方式例えば静的FCEを使用してあるいはより動的にプログラムメモリ40/40bからの命令等の時間変化信号を使用してのうちのいずれかによって制御することができる。同様に、ユニット1830/1840/1850が実行し得る種々の機能オプションの選択もいくつかの方式のうちのいずれか例えば、PLC1812/1820/1860/1872の制御のための例として挙げたいくつかの方式のいずれかによって制御することができる。他方、動作部分1806の動作および使用は、本明細書において先に記述した他の例示的な動作部分の動作および使用と同様なものとすることができる。本発明に係るPLDは、ローカルまたは相対命令および/またはデータアドレスをそれぞれ使用するその他の構成要素を伴ったシステム内で動作することができ、ここで前記命令および/またはデータアドレスは構成要素間において相反性が生じる可能性を有するものであり、この際PLDはこれらのアドレスをPLD内で使用するために相反性が生じることのない絶対アドレスに自動的に変換するように適用することができる。このことは、PLD上におけるプログラム内で使用されるローカルあるいは相対アドレスをこれらのプログラムを実際に実行するプロセッサオブジェクトによって使用される絶対アドレスに変換することに関連する前述の説明に対する拡大システムに対すると見ることができる。この場合、プログラムはPLDの中には含まれずにむしろこのPLDを含んでいるシステム内の他の構成要素内に含まれる。図14には、直ぐ前の段落で述べた形式の説明的なシステム2010が示されている。システム2010は、1つまたは複数のプロセッサ2020a-nおよび/または他の構成要素2030を含んでいる。これらの他の構成要素2030はプロセッサ2020に関連して以下に説明するものとは異なった機能を代替的または追加的に実行することができるが、以下の説明は場合によって簡略化のためにプロセッサのみに関するものとし、他の構成要素2030は一般的にプロセッサと同様なものとして扱われる。システム2010はさらにPLD10、ならびにシステム内の種々の構成要素10/2020/2030の間において信号を伝送するための通信バス2040を含むことができる。PLD10は、システム内の他の構成要素2020/2030によってスレーブとして使用することができるVLIWまたは他のプロセッサオブジェクトを含むことができる。例えば、別の構成要素2020/2030は、バス2040を介してPLD10に伝送するとともにこのPLD特にこのPLDのプロセッサオブジェクトによって実行する命令例えばVLIW命令を形成することができる。構成要素2020/2030はそれ自体の内部動作においてローカルあるいは相対アドレスを使用することができ、またそれら自体のローカルあるいは相対アドレスを使用して前記の命令を形成することもできる。言い換えると、PLD10は、命令を形成した他の構成要素2020/2030に対してローカルまたは相対的であるアドレス部分を使用してこの命令を受信することができる。しかしながら、これらのローカルまたは相対アドレスは構成要素2020/2030以外によって使用されるローカルまたは相対アドレスと異なったものとすることはできない。システム全体にわたって特有のものであるとともにPLD10が必要とする絶対アドレスに対して固有であることが知られているアドレスを各構成要素2020/2030がPLD10に対して伝送する必要性を除外するために、PLDはデータスペース変換および保護テーブル、ならびに受信した相対アドレスをそれ自体の動作のために必要な絶対アドレスに変換する相関回路2050を備えている。インターフェース2050のデータ領域は、PLD10のプロセッサ回路内に入力データをロードするとともに、処理されたデータをこのプロセッサ回路から取り出すためのものである。インターフェース2050のプログラム領域はIDによって識別された適正な処理を開始するためのものである。典型的な処理シーケンスは:1インターフェース2050へIDを付加し;2ゼロから開始してプロセッサへデータをロードしデータアドレスオフセットはIDデータアドレス変換によって内部的に校正される;3IDプログラム変換アドレスに基づいてプロセッサが始動するようにSTART信号を定義し;4DONEインタラプトまたは信号を待ち;5IDを使用してプロセッサからデータをアンロードする。場合によってはプロセッサ自体がそのI/Oポートを使用してデータをロードおよびアンロードすることができる。この場合も、プロセッサがどのプログラムスペースを実行するかを認識するためにIDが必要とされる。図15には、構成要素2050内に含まれる例示的な回路がより詳細に示されている。回路2050は、バス2040を介してPLD10によって受信されたアドレス情報を受信ならびに記憶するレジスタ2052を備えている。アドレス情報のソース例えば構成要素2020/2030はさらにPLD10に対してバス2040を介してこのソースを識別することができる識別ID情報を提供する例えば、他の構成要素2020/2030、および/またはレジスタ2052に付加されるアドレス情報のソースである他の構成要素によって実行される特定のルーチン。レジスタ2054はこのID情報を受信および記憶して変換テーブル2060に付加する。考えられる各ID数値に対して、変換テーブル2060は開始アドレスオフセット数値ならびに終了アドレス数値を含んでいる。変換テーブル2060はID数値を受信し、伝送線2061aを介して対応する開始アドレスオフセット数値を出力し、さらに伝送線2061bを介して終了アドレスを出力する。開始アドレスオフセット数値はレジスタ2052からの相対アドレス情報に加算するために加算器2062に付加される。この加算の結果はPLD10がその動作を実行するために必要とする絶対アドレス情報である。例えば、加算器2062によって出力された絶対アドレス情報は、PLD10がその命令メモリ内にVLIWまたは他の命令を検出するために使用することができる。別の例として、加算器2062によって出力された絶対アドレス情報は、PLD10によって実行するためにバス2040を介して受信された命令内の情報を変更するために使用することができる。あるいは、加算器2062によって出力されたアドレス情報は、PLD10がそのデータメモリ内においてデータを検出するために使用することができる。ID数値が同じである限り、レジスタ2052を介して受信された全ての連続する相対アドレスがこのID情報に関連付けられた開始アドレスオフセット数値によって変更される加算器2062を使用して。加算器2062によって出力された各絶対アドレスは、さらに伝送線2061b上の終了アドレス情報と比較するために比較回路2070に付加される。加算器2062の出力が許容可能な終了アドレスを超過している場合、比較回路2070はエラーが生じたことを示す出力信号を形成する。前述の説明から、装置がプログラムおよびデータアドレス変換の両方をサポートする場合別々のプログラムおよびデータアドレス変換テーブル回路が設けられることが理解される図8Aに示されたものと同様。ハーバードアーキテクチャプロセッサとして知られているものにおいては、プログラムおよびデータ記憶に対して別々のデータスペースが設けられている。殆どのRISCおよびDSPプロセッサはこの形式のアーキテクチャを有している。本明細書において示された多くの実施例において、プログラムシーケンサがプログラムメモリをアドレスし、これから呼び出された命令が命令デコーダによって復号される。アドレスジェネレータまたは命令デコーダを介しての命令がデータメモリをアドレスする。プログラムメモリがプロセッサ内にロードされて再配置される場合、プロセッサは2つの形式のアドレス変換を迅速にサポートする必要がある。これらの2つの形式のアドレス変換は、1プログラムアドレスのためのアドレス変換とすなわちプログラムシーケンサ内、2データアドレスのための別の変換テーブル命令デコーダとアドレスジェネレータの外側である。後者は、プログラム内に埋め込まれているアドレッシング情報が絶対項すなわち相対値から正確な絶対値へ変更するための変換を行わないものにおいて正確ではないために必要となる。本明細書によれば、本発明の視点に含まれる回路内におけるこれらの種々の形式のアドレッシングオプションの全てが当業者において実行し得るよう充分な開示が提供される。図15の加算器2062の使用方法は単に例示的なものであり、必要に応じて他の任意の論理または演算結合を代わりに実行し得ることが理解される。また、図15には各絶対アドレスを終了アドレスと比較することのみが示されているが、必要に応じてさらに特定の絶対アドレス検査を実行し得ることが理解される。例えば、変換テーブル2060は、各ID数値に関連付けられた許容可能なアドレス範囲を出力することができ、各絶対アドレスがこの許容範囲内に含まれていることを確認するために検査され得る。前述の説明から、図14および図15に示された回路が、PLD10を使用することが望ましい各システム構成要素がPLD10と共に動作するとともにそれ自体のローカルまたは相対アドレス情報を他の構成要素2020/2030が同様な従って相反するローカルまたは相対アドレス情報を使用している可能性に配慮することなく、またPLD10によって絶対アドレスが要求されることにも配慮することなくPLD10に対して出力することを可能にする。PLD10はいずれにしても受信したローカルまたは相対アドレス情報を使用し、この情報をそれ自体の動作のために必要な適宜な絶対アドレス情報に自動的に変換する。システム2010のユーザは、他の構成要素2020/2030のために書かれたソフトウェアとの相反性に配慮することなく、またPLD10によって要求される最終的な絶対アドレスにも配慮することなく、構成要素2020/2030のためのソフトウェアを書き込むことができる少なくともPLD10のアドレッシングおよび動作に関する限り。これによってこの種のソフトウェアの書き込みおよびデバギングが大幅に容易化される。本明細書において発明の概要に記述したように、本発明の別の要素は、プログラマブルロジックおよび少なくとも部分的に固定配線であり高機能な機能ユニットを有するPLDを提供することに関する。高機能な機能ユニットは前述したプロセッサオブジェクトの動作部分のようなものであり、動作部分/機能ユニットは2つ以上の機能を備えている。2つ以上の機能を含むことは、高機能の特徴を説明するものである。高機能な機能ユニットの例としては、1加算器ツリーと結合されたマルチプライア、または2アキュムレータと結合されたマルチプライアが挙げられる。この段落に記述されたPLD10の説明的な実施例が図16に示されている。さらに図16を参照すると、ここに示されている説明的なPLD10は、ソフトロジック部分20、ハードロジック部分2500、およびこれらの2つの部分間の接続を形成するための回路150/160を含んでいる。ハードロジック部分2500は1つまたは複数の高機能な機能ユニット2506を含んでいる。各機能ユニット2506の回路は少なくとも部分的に固定配線されており、乗算と加算または乗算と累算等の複数の機能を実行する。機能ユニット2506に使用することができる特定の回路例は、図2動作部分306、図3動作部分406、図4動作部分506、図5動作部分606、図6動作部分706aおよび/または706b、図7動作部分906a,906b,906c,および/または906d、ならびに図13動作部分1806に示されている。従って、高機能な機能ユニットの例には、MAC回路、ALU回路、バレルシフタ回路、およびガロア域回路が含まれる。高機能な機能ユニットの多様な組み合わせおよび/または複数の用例を含むことができる。図16に示されているような本発明に実施例において、PLDのソフトロジック部分20は既に記述した実施例のハードロジック部分において実行される特定の機能を実行するようにプログラムすることができる。例えば、これらの実施例内のハードロジック回路の制御部分204図1,504図4,604図5等のうちのいくつかあるいは全ては、図16に示された形式の実施例のソフトロジック部分20を適宜にプログラミングすることによって実行することができる。この最後の点に関してさらに特定の例を示すと、回路16に示された形式の実施例において、アドレスジェネレータ710および/またはプログラムシーケンサ720図6、あるいはアドレスジェネレータ910および/またはプログラムシーケンサ920図7の機能のうちのいくつかあるいは全ては、ソフトロジック部分20内で実行することができる。高機能な機能ユニットの全ての場合に必要なものではないが、これらのユニットは実行される機能のいくつかあるいは全てが複数の可能な機能の中からプログラムによって選択される特徴を備えることができる。これに代えてまたはこれに加えて、この種のユニットは実行される機能のいくつかあるいは全てが複数の可能な機能の中から動的に選択される特徴を備えることができる。これらの能力を備えた高機能な機能ユニットの例は、図4および図5にそれぞれ示されている動作部分506および606である。この点に関して短く部分的に再考してみると、動作部分506内の加算器/減算器550が加算または減算のいずれを実行するかは、PLC554を介してFCE556によってプログラム制御すなわち静的するか、あるいはPLC554を介して伝送線150からの信号によってより動的に制御することができる。図16に示された実施例において、伝送線150の信号は直ぐ手前のシーケンスに関するものであり、ソフトロジック部分20内の任意の適宜なソースから受信することができる。例えば、これは、命令デコード例えば図7の30d等として動作するように構成プログラムされたソフトロジック部分20内の要素から受信することができ、この命令デコードは図7においてプログラムシーケンサ920、プログラムメモリ40b、命令アンパック30c等と関連付けられた機能を実行するように構成されたソフトロジック部分20内の他の要素と連係して動作するものである。図17には、本発明に係るPLD10がデータ処理システム3002内において示されている。データ処理システム3002は以下の要素のうちの1つまたは複数のものを含むことができる:それらは、プロセッサ3004;メモリ3006;I/O回路3008;および周辺装置3010である。これらの要素は、システムバス3020によって結合され、エンドユーザシステム3040内に含まれる回路基板3030上に設置される。システム3002は、コンピュータネットワーキング、データネットワーキング、計測、画像処理、デジタル信号処理、またはその他のプログラマブルまたはリプログラマブルロジックの利点を必要とする適用方法において、広範囲な適用分野で使用することができる。プログラマブルロジックデバイス10は、広範囲な異なったロジック機能を実行するために使用することができる。例えば、プログラマブルロジックデバイス10は、プロセッサ3004と共同動作するプロセッサまたはコントローラとして構成することができる。PLD10は、システム3002内において分配されたリソースへのアクセスを仲介するアービタとして使用することもできる。さらに別の例において、PLD10は、プロセッサ3004とシステム3002内の別の構成要素の1つとの間のインターフェースとして構成することができる。システム3002は単に例示的なものであり、本発明の真の視点および精神は請求の範囲によって定義されることが理解されよう。本発明の特徴ならびにデバイスの種々の構成要素例えば前述したPLCおよびPLCを制御するプログラマブル機能制御要素FCE等を備えるプログラマブルロジックデバイスを実施するために、種々の技術を使用することができる。例えば、各PLCは、複数の入力のいずれか1つを出力に接続するためのスイッチまたはスイッチ群等の比較的に単純にプログラム可能なコネクタとすることができる。他方、各PLCは、接続の形成と並んでロジックの実行例えば複数の入力の論理的な結合によっても可能な幾分複雑な要素とすることもできる。後者において、例えば、各PLCは、AND、NAND、OR、またはNOR等の機能を実行する積算項ロジックとすることができる。PLCを実施するための好適な構成要素としては、EPROM、EEPROM、パストランジスタ、トランスミッションゲート、アンティヒューズ、レーザヒューズ、メタルオプション接続器等が挙げられる。前述したように、PLCならびに他の回路要素は、種々のプログラマブル機能制御要素FCEによって制御することができる。特定のPLC機器例えば、ヒューズおよびメタルオプション接続器においては、独立したFCEデバイスは必要とされない。FCEもいくつかの異なった方式で実施することができる。例えば、FCEは、SRAM、DRAM、ファーストインファーストアウトFIFOメモリ、EPROM、EEPROM、機能制御レジスタ例えば、ウォールストロムの米国特許第3、473、160号公報参照、強誘電メモリ、ヒューズ、アンティヒューズ等とすることができる。前述した種々の例に示されているように、本発明は、一回のみプログラム可能なデバイス、またはリプログラマブルデバイスのいずれに適用することもできる。前述の説明は本発明の原理を単に例示するものであり、当業者においては本発明の精神を逸脱することなく、種々の設計変更をなし得ることが理解されよう。本発明の種々の要素は所要の数および構成によってPLD上に設けることができる。"