"プロセッサを含み、前記プロセッサは、第1の一式の命令を格納する第1のメモリと、第2の一式の命令を格納する第2のメモリとを含み、前記第2の一式の命令における各命令は、前記第1の一式の命令における命令より長く、前記第1の一式の命令における命令は、前記第2の一式の命令における対応する命令に対するポインタとして使用される、装置。前記第1の一式の命令は、複合命令セットコンピュータCISC命令を含む、請求項1に記載の装置。前記第2の一式の命令は、超長命令語VLIW命令を含む、請求項1に記載の装置。前記第2のメモリは、マイクロコードメモリを含む、請求項1に記載の装置。前記第1のメモリは、プログラムメモリを含む、請求項4に記載の装置。前記第2のメモリに連結されている第1の複数のレジスタをさらに含む、請求項1に記載の装置。前記第1の複数のレジスタに連結されている複数の機能ユニットをさらに含む、請求項6に記載の装置。前記複数の機能ユニットに連結されている第2の複数のレジスタをさらに含む、請求項7に記載の装置。前記プロセッサに連結されているプログラマブル相互接続回路網をさらに含む、請求項1に記載の装置。前記プログラマブル相互接続回路網に連結されているプログラマブル論理回路網をさらに含む、請求項9に記載の装置。プロセッサを含み、前記プロセッサは、第2の一式の命令をアドレス指定する第1の一式の命令を格納する第1のメモリと、前記第2の一式の命令を格納する第2のメモリとを含み、前記第2のメモリは、経時的に、命令のスケジューリングを可能にするために、サイクルオフセットを含む、集積回路IC。前記第2の一式の命令における命令は、1つのプロセッササイクルにおいて、命令フラグメントを別のプロセッササイクルに配置可能である、請求項11に記載の集積回路IC。前記第2のメモリに連結されている複数の遅延線をさらに含む、請求項11に記載の集積回路IC。前記複数の遅延線における各遅延線は、書込演算中、ランダムアクセスを提供する、請求項13に記載の集積回路IC。前記複数の遅延線における各遅延線は、読取演算中、循環バッファを含む、請求項13に記載の集積回路IC。前記複数の遅延線に連結されている複数の機能ユニットをさらに含む、請求項13に記載の集積回路IC。前記第1の一式の命令における各命令は、単一命令を含む、請求項11に記載の集積回路IC。前記第1の一式の命令における各命令は、複合命令セットコンピュータCISC命令を含む、請求項17に記載の集積回路IC。前記第2の一式の命令における各命令は、2つ以上の命令を含む、請求項11に記載の集積回路IC。前記第2の一式の命令における各命令は、超長命令語VLIW命令を含む、請求項19に記載の集積回路IC。ユーザのプログラムを取得することと、前記ユーザのプログラムが、少なくとも1つのカスタム命令を含むかどうかを決定することと、前記ユーザのプログラムが、少なくとも1つのカスタム命令を含むかどうかに応じて、プロセッサのマイクロコードメモリに、前記少なくとも1つのカスタム命令を格納することとを含む、方法。前記マイクロコードメモリは、前記プロセッサのネイティブ命令を含む、請求項21に記載の方法。前記プロセッサのマイクロコードメモリに、前記少なくとも1つのカスタム命令を格納することは、プロセッサのマイクロコードメモリに前記少なくとも1つのカスタム命令を格納する前に、前記少なくとも1つのカスタム命令を取得することをさらに含む、請求項21に記載の方法。前記プロセッサは、前記ユーザのプログラムを実行するために、複数の機能ユニットを使用する、請求項21に記載の方法。前記プロセッサは、前記ユーザのプログラムを実行するために、整数処理ユニットを使用する、請求項21に記載の方法。前記プロセッサは、前記ユーザのプログラムを実行するために、カスタムデータパスを使用する、請求項25に記載の方法。開示される概念は、データを含む情報の効率的処理のための装置および関連方法に関する。一例示的実施形態では、装置は、プロセッサを含む。プロセッサは、2つのメモリを含む。第1のメモリは、一式の命令を格納する。第2のメモリは、第1のメモリにおける一式の命令より長い別の一式の命令を格納する。第1のメモリにおける一式の命令における命令は、第2のメモリにおける一式の命令における対応する命令に対するポインタとして使用される。別の例示的実施形態では、集積回路ICは、プロセッサを含む。プロセッサは、一式の命令を格納する第1のメモリを含む。プロセッサはまた、別の一式の命令を格納する第2のメモリを含む。第1のメモリにおける一式の命令は、第2のメモリにおける一式の命令をアドレス指定する。第2のメモリは、経時的に、命令のスケジューリングを可能にするために、サイクルオフセットを含む。別の例示的実施形態では、方法は、ユーザのプログラムを取得することと、ユーザのプログラムが、少なくとも1つのカスタム命令を含むかどうかを決定することと、を含む。方法はさらに、ユーザのプログラムが、カスタム命令を含むかどうかに応じて、プロセッサのマイクロコードメモリに少なくとも1つのカスタム命令を格納することを含む。開示される概念は、概して、電子的回路網および情報処理に関する。より具体的には、本開示は、効率的プロセッサおよび関連する方法に関する。開示される概念によるプロセッサは、比較的に短いまたは、狭い命令例えば、複合命令セットコンピュータCISCのための命令と比較的に長いまたは、広い命令例えば、超長命令語VLIWを伴う、コンピュータまたはプロセッサのための命令の利点を組み合わせる。したがって、例示的実施形態では、プロセッサは、比較的に短い命令を使用して、比較的に長い命令にアクセスする。より具体的には、そのようなプロセッサは、比較的に短い命令を使用して、比較的に長い命令をアドレス指定および/またはデコードする。比較的に短い命令のいくつかまたは、すべては、比較的に長い命令に対するポインタとして作用する場合がある。したがって、プロセッサは、比較的により短い命令のいくつかまたは、すべてを使用して、対応する数の比較的に長い命令をデコードする。比較的に長い命令は、1つ以上の複合命令を含み得る。命令は、開示される概念の説明から利益を享受する当業者が、理解するように、データを含み得る。例示的実施形態では、比較的に短い命令は、マイクロコードメモリに対するポインタとして作用する。マイクロコードメモリは、プロセッサのためのマイクロコードの一部または全部を含む。マイクロコードは、開示される概念の説明から利益を享受する当業者が、理解するように、プロセッサによる命令の実行を促進する。マイクロコードメモリは、比較的に長い命令を含む。留意されるように、比較的に長い命令はそれぞれ、1つ以上の命令を含み得る。したがって、プロセッサの命令セットは、を含む比較的に短い命令を含むが、マイクロコード空間またはメモリは、比較的に長い命令を含む。いくつかの実施形態では、マイクロコードは、1つのプロセッササイクルにおいて実行する命令が、命令のフラグメントをより後に配置することを可能にするために、サイクルオフセットを含む。本スキームは、制御問題を回避するファイアアンドフォーゲットfire-and-forget命令スタイルを可能にする。また、よりコンパクトなユーザコードをもたらす。いくつかの実施形態では、マイクロコード空間またはメモリは、書込可能であって、ユーザが、所望または特定の用途のために好適なカスタム命令を実装するのを可能にする。概して、開示される概念の説明から利益を享受する当業者が、理解するように、一般情報処理タスクのために、開示される概念によるプロセッサを使用し得る。例えば、いくつかの実施形態では、プロセッサは、デジタル信号処理DSPタスクを実行し得る。別の実施例として、いくつかの実施形態では、プロセッサは、整数および/または浮動小数点演算を行い得る。さらに別の実施例として、いくつかの実施形態では、プロセッサは、データ操作タスクを実行し得る。開示される概念によるアプローチは、いくつかの利点を有する。第1に、比較的に短い命令は、より高いコード密度をもたらす。本特性は、フィールドプログラマブルゲートアレイFPGA、プログラマブル論理デバイスPLD、および類似デバイス内でプロセッサを使用する場合に有利である。第2に、比較的に長い命令は、向上した性能を提供する。より短い命令を反復的にフェッチするのではなく、プロセッサは、1つの比較的に長い命令にアクセスし、それをいくつかの命令にデコードし得る。第3に、ユーザは、所望に応じて、そのカスタム命令を作成し得る。留意されるように、いくつかの実施形態では、マイクロコードメモリに書き込み得る。したがって、ユーザは、例えば、具体的タスクのために、その命令を提供し、それらをマイクロコード空間に書き込み得る。後に、プロセッサがそれらの命令にアクセスする場合、プロセッサは、ユーザの具体的タスクに好適な情報またはデータ処理を提供することができる。第4に、書込可能マイクロコード空間を利用して、別のプロセッサまたはコンピュータからの移行を促進し得る。具体的には、他のデバイスの命令セット内の命令を模倣または実現する命令を設計し、設計された命令をマイクロコード空間に書き込み得る。図1は、例示的実施形態による、プロセッサ100を含むIC103を例証する。プロセッサ100は、プログラムカウンタ106、プログラムメモリ109、マイクロコードメモリまたはテーブル115、レジスタファイル121A-121M、機能ユニットF.U.として示される124A-124N、およびレジスタファイル127A-127Kここでは、M、N、およびKは、正の整数を構成するを含む。プログラムカウンタ106は、プログラムメモリ109内のプログラム語または命令のアドレス指定を促進する。したがって、プログラムカウンタ106は、プログラムメモリ109内のプログラム命令にアクセスするための機構を提供する。プログラムメモリ109内の命令は、比較的に短い命令、例えば、CISC命令を構成する。プログラムメモリ109は、リンクまたはバス112を介して、プログラム命令、および可能性としてデータを、マイクロコードメモリ115に提供する。リンク112を介して受信された命令の少なくとも一部および可能性として全部は、マイクロコードメモリ115内の命令に対するポインタを構成する。前述のように、マイクロコードメモリ115内の命令は、比較的に長い命令、例えば、VLIW命令である。命令に加え、マイクロコードメモリ115は、所望に応じて、データ例えば、命令によって使用されるデータを含み得ることに留意されたい。開示される概念の説明から利益を享受する当業者が、理解するように、所望に応じて、対応する命令と同一フィールド内にデータを含み得るか、または命令およびデータに対して別個のフィールドを使用し得る。さらに、データに加え、またはその代わりに、マイクロコードメモリ115は、開示される概念の説明から利益を享受する当業者が、理解するように、1つのプロセッササイクルにおいて実行する命令が、命令のフラグメントをより後に配置することを可能にするために、サイクルオフセットのための付加的フィールドを含み得る。マイクロコードメモリ115は、プロセッサ100のネイティブ命令を含む。加えて、マイクロコードメモリ115は、該当する場合、ユーザのカスタム命令を含み得る。リンクまたはバス118A-118Mは、マイクロコードメモリ115から、レジスタ121A-121Mに、命令、データ、および/またはサイクルオフセット等の情報を提供する。サイクルオフセットは、命令および/またはデータが、書き込まれるレジスタ121A-121Mにおけるアドレスを提供する。レジスタ121A-121Mは、機能ユニット124A-124Nのためのデータおよびプログラムコードを保持する。レジスタ121A-121Mはそれぞれ、1つ以上の機能ユニット124A-124Nと通信するか、またはそれらに情報を提供し得ることに留意されたい。機能ユニット124A-124Nは、レジスタ121A-121Mによって提供されるデータを演算対象とする。機能ユニット124A-124Nは、開示される概念の説明から利益を享受する当業者が、理解するように、種々の演算を行い得る。例えば、1つ以上の機能ユニットは、加算および/または減算演算を提供し得る。別の実施例として、1つ以上の機能ユニットは、乗算および/または除算演算を行い得る。さらに別の実施例として、1つ以上の機能ユニットは、ロードおよび/または格納演算を行い得る。ロードおよび格納演算は、例えば、それぞれ、データをメモリから読み出し、演算の結果をメモリに書き込むことを可能にする。別の実施例として、1つ以上の機能ユニットは、有限インパルス応答FIRおよび/または無限インパルス応答IIRフィルタリング機能を提供し得る。さらに別の実施例として、1つ以上の機能ユニットは、分岐機能性を提供し得る。所望の演算を行う、機能ユニットのための回路網の詳細は、当業者の知識範囲内である。機能ユニット124A-124Nは、リンクまたはバス150A-150Nを介して、そのそれぞれの演算の結果をレジスタ127A-127Kに提供する。例えば、機能ユニット124Aは、2つの演算子に加算演算を行うと想定する。機能ユニット124Aは、演算子の合計をレジスタ127Aに提供し得る。開示される概念の説明から利益を享受する当業者が、理解するように、機能ユニット124A-124Nの出力は、加えて、または代わりに、プロセッサ100の他の部分に連結し得る。例えば、1つ以上の機能ユニット124A-124Nの出力は、所望に応じて、1つ以上の機能ユニット124A-124Nの入力を駆動し得る。信号および出力伝搬の選択肢は、開示される概念の説明から利益を享受する当業者が、理解するように、所望のアーキテクチャおよび機能性等、種々の要因に依存する。概して、プロセッサ100は、所望に応じて、整数データ、浮動小数点データ、または両方に、演算を行い得る。例えば、いくつかの実施形態では、機能ユニット124A-124Nは、整数および浮動小数点演算の両方を行い得る。別の実施例として、いくつかの実施形態では、機能ユニット124A-124Nは、浮動小数点演算のみ行い得る。いくつかの実施形態では、プロセッサ100は、整数演算すなわち、整数演算子、例えば、加算、減算、乗算、除算、シフト、論理演算等に関する演算を行うために、整数処理ユニット140を含む。整数処理ユニット140は、レジスタ140A、算術論理ユニットALU140B、およびレジスタ140Cを含む。レジスタ140Aは、演算子またはデータをALU140Bに提供する。ALU140Bは、所望または特定の演算をデータに行い、結果をレジスタ140Cに提供する。これらの実施形態では、整数ユニット140は、所望に応じて、プロセッサ100の他の部分と通信し得ることに留意されたい。したがって、整数処理ユニット140すなわち、レジスタ140A、ALU140B、およびレジスタ140Cのうちの1つ以上は、リンクまたはバス143を介して、データをプロセッサ100内の他の回路網に提供し得る。同様に、整数処理ユニット140すなわち、レジスタ140A、ALU140B、およびレジスタ140Cのうちの1つ以上は、リンクまたはバス146を介して、プロセッサ100内の他の回路網から、データを受信し得る。さらに、整数処理ユニット140は、所望に応じて、リンクまたはバス148を介して、データをプロセッサ100外部の回路網と通信し得る。前述の説明は、レジスタを参照するが、開示される概念の説明から利益を享受する当業者が、理解するように、各レジスタは、レジスタファイルを含み得ることに留意されたい。したがって、レジスタ121A-121M、127A-127K、140A、および140Cのうちの1つ以上は、所望に応じて、レジスタファイル、すなわち、2つ以上のレジスタのクラスタを含み得る。いくつかの実施形態では、プロセッサ100は、別個の整数データパスおよび浮動小数点データパスを有し得る。例えば、プロセッサ100は、整数および浮動小数点命令をプログラムメモリ109内に格納し、マイクロコードメモリ115は、同様に、整数および浮動小数点演算の両方のためのマイクロコード命令を含み得る。図2は、そのような例示的実施形態を例証する。具体的には、プログラムメモリ109は、整数および浮動小数点命令両方とも、比較的に短いを含む。整数および浮動小数点命令は、それぞれの整数および浮動小数点マイクロコードメモリをポイントする。したがって、図2に示される実施形態では、プログラムメモリ109内の整数命令は、整数マイクロコードメモリ115Xに対するポインタ109Aとしての役割を果たす。同様に、プログラムメモリ109内の浮動小数点命令は、浮動小数点マイクロコードメモリ115Yに対するポインタ109Bとしての役割を果たす。整数マイクロコードメモリ115X内の整数命令は、リンクまたはバス180を介して通信される整数ユニット処理140に対する命令としての役割を果たす。反対に、整数マイクロコードメモリ115Y内の浮動小数点命令は、レジスタ121A-12M等の浮動小数点ハードウェアに対する命令としての役割を果たす。他の実施形態では、プロセッサ100は、整数ユニットまたはプロセッサあるいは整数処理ユニット、およびカスタムデータパスを含み得る。本配置の詳細は、2009年4月25日出願の同一人に譲渡された米国特許出願第12/430,068号ApparatusandAssociatedMethodsForProcessorsWithCustomDatapaths弁護士整理番号第ALTR077号に提供されており、参照することによって、本開示に組み込まれる。図3は、例示的実施形態による、機能ユニットの詳細を描写する。示される実施例では、機能ユニット124Nは、マルチプレクサMUX153、MUX156、および機能ユニットハードウェアまたは実行ユニット172を含む。MUX153およびMUX156は、それぞれ、リンクまたはバス160および163を介して、データ例えば、演算子を受信する。制御信号166および169以下に詳述のように提供されるは、それぞれ、MUX153およびMUX156のための選択信号としての役割を果たす。MUX153およびMUX156の出力は、機能ユニットハードウェア172に連結する。したがって、MUX153およびMUX156の出力は、機能ユニットハードウェア172への入力としての役割を果たす。機能ユニットハードウェア172は、機能ユニット124Nの所望の機能性を果たす。前述のように、機能ユニット124Nは、所与の用途のための仕様に応じて、所望に応じて、種々の機能を果たし得る。いくつかの実施形態では、機能ユニットハードウェア172はまた、制御入力172Aを有し得る。機能ユニットハードウェア172は、機能ユニット124Nの出力150Nを提供する。出力150Nは、後続回路網、例えば、レジスタ127K図1参照に連結し得る。前述のように、いくつかの実施形態では、マイクロコードメモリ例えば、図1のマイクロコードメモリ115は、1つのプロセッササイクルにおいて実行する命令が、命令のフラグメントをより後に例えば、別のプロセッササイクルに配置することを可能にするために、サイクルオフセットを含む。他の実施形態では、あるプロセッササイクルにおいて実行する命令は、後に例えば、別のプロセッササイクル、他の命令をポストし得る。これらの実施形態におけるマイクロコードは、経時的に、命令をスケジューリングする。マイクロコードは、遅延線を通過または伝搬し、プロセッサ内の種々のハードウェア、例えば、図1における機能ブロック124A-124Nを制御する。経時的に、プロセッサオフセットサイクルまたはスケジューリング命令を使用することは、機能ユニットの全部、実質的に全部例えば、大部分が、直列式または複合制御スキームを使用してではなく、命令を同時に演算および実行することをもたらす。図4は、本機能を伴う、プロセッサ100の例示的実施形態のブロック図を示す。示される例示的実施形態では、マイクロコードメモリ115は、語115A-115Dとして示される、いくつかの命令を含む。マイクロコードメモリ115の各語は、4つの命令を含む但し、所望に応じて、他の数の命令を使用し得る。前述のように、マイクロコードメモリ115の語は、所望に応じて、種々のフィールド、例えば、命令、データ、および/またはサイクルオフセットフィールドを含み得ることに留意されたい。より具体的には、マイクロコードメモリ115の1つ以上の語は、命令のためのフィールド、例えば、フィールド115A1を含み得る。加えて、マイクロコードメモリ115の1つ以上の語は、データまたはサイクルオフセットのためのフィールド115A2を含み得る。代替として、所望に応じて、データのための付加的フィールド、およびサイクルオフセットのためのさらに別の付加的フィールド明示的に図示せずを使用し得る。マイクロコードメモリ115の各語内の命令は、経時的に実行するために、スケジューリングされる。レジスタ121A-121Dは、遅延線として作用するように構成または適応される。より具体的には、遅延線121A-121Dは、書込のためのランダムアクセスを提供し、そのコンテンツを読み取る場合、循環バッファとして作用する。リンクまたはバス118A-118Dは、マイクロコードメモリ115から、レジスタ121A-121Dに、命令、データ、および/またはサイクルオフセット等の情報を提供する。サイクルオフセットは、命令および/またはデータが書き込まれるレジスタ121A-121Dにおけるアドレスを提供する。遅延線121A-121Dは、そのそれぞれのサイクルオフセットに従って、命令を格納し、経時的な命令のスケジューリングおよび実行を促進する。遅延線内の命令の順序は、命令の実行順序に依存する。より具体的には、遅延線121A-121Dを表すボックスを参照すると、遅延線121A-121Dの底部に格納される命令が、最初に実行し、各遅延線内の次の命令が続き、遅延線121A-121Dの上部に格納される命令へと実行する。実施例として、複合積和CMAC演算を検討する。CMAC演算は、マイクロコード115の語、例えば、語115D内に格納される4つの命令115D1-115D4を含み得る。4つの命令115D1-115D4は、それぞれの遅延線121A-121D内で実行するために、スケジューリングされ得る。したがって、遅延線121A内の場所121A1は、第1の命令、115D1を含み、遅延線121B内の場所121B1は、第2の命令、115D2を含む等となる。延線121A-121Dはそれぞれ、機能ユニット124A-124Dの入力に連結し、それを駆動する。より具体的には、遅延線121A-121Dの出力は、MUX153A-153D、MUX156A-156D等を駆動する。前述のように、1つ以上の機能ユニット124A-124Dの出力は、1つ以上の機能ユニット124A-124Dの入力、および/またはレジスタ明示的に図示せずを駆動し得る。図4に示されるトポロジは、単に、命令語の数および構成、遅延線、機能ユニット、種々のブロック間のパス等の一実施例を構成することに留意されたい。開示される概念の説明から利益を享受する当業者が、理解するように、所与の実装のための設計および性能仕様に応じて、種々の他のトポロジを実装し得る。前述のように、いくつかの実施形態では、マイクロコードメモリ115は、VLIW命令を含み得る。換言すると、プログラムメモリ109内の命令は、VLIW命令に対するポインタとして作用する。図5は、従来のVLIWプロセッサ200を示す。VLIWプロセッサの演算の詳細は、当業者の知識範囲内である。要するに、VLIWプロセッサ200は、データを保持するために、レジスタ203Aおよび203Bを含む。マルチプレクサMUX206A-206Dの制御下、レジスタ203Aおよび203Bは、それぞれ、機能ユニット209A-209Dに、そのコンテンツを提供する。機能ユニット209A-209Dは、命令の演算コードに従って、レジスタ203A-203Bによって提供されるデータを演算対象とする。機能ユニット209A-209Bは、その出力をMUX212A-212Bに提供する。MUX212A-212Bは、選択的に、機能ユニット209A-209Dの出力をレジスタ203A-203Bに戻す。前述のように、プログラマブル論理デバイスPLDを含む、種々のICに、開示される概念を適用し得る。図6は、例示的実施形態による、1つ以上のプロセッサ100を含み得るPLD103のブロック図を描写する。PLD103は、構成回路網406、構成メモリCRAM403、制御回路網409、プログラマブル論理420、プログラマブル相互接続423、およびI/O回路網426を含む。加えて、PLD103は、所望に応じて、試験/デバッグ回路網429、1つ以上のプロセッサ100、1つ以上の通信回路網438、1つ以上のメモリ441、1つ以上のコントローラ444、および初期化回路412を含み得る。図は、PLD103の簡略ブロック図を示すことに留意されたい。したがって、PLD103は、当業者が理解するように、他のブロックおよび回路網を含み得る。そのような回路網の実施例は、信号および/またはクロック発生ならびに配電回路、冗長回路等を含む。プログラマブル論理420は、ルックアップテーブルLUT、積項論理、マルチプレクサMUX、論理ゲート、レジスタ、メモリ等の構成可能またはプログラマブル論理回路網のブロックを含む。プログラマブル相互接続423は、プログラマブル論理420に連結し、プログラマブル論理420内の種々のブロックとPLD103内または外の他の回路網との間に、構成可能相互接続連結機構を提供する。制御回路網409は、PLD103内の種々の演算を制御する。制御回路網409の監視下、PLD構成回路網406は、構成データ記憶デバイス、ホスト等の外部源から取得するを使用して、PLD103の機能性をプログラムまたは構成する。構成データは、典型的には、CRAM403内に格納される。CRAM403のコンテンツは、プログラマブル論理420およびプログラマブル相互接続423等、PLD103の種々のブロックの機能性を決定する。初期化回路412は、PLD103の停止または電源投入時に種々の機能の性能を生じさせ得る。I/O回路網426は、本開示の利益を享受する当業者が、理解するように、種々のI/Oデバイスまたは回路を構成し得る。I/O回路網426は、PLD103の種々の部分、例えば、プログラマブル論理420およびプログラマブル相互接続423に連結し得る。I/O回路網426は、外部回路網またはデバイスと通信するために、PLD103内の種々のブロックのための機構および回路網を提供する。試験/デバッグ回路網429は、PLD103内の種々のブロックおよび回路の試験ならびにトラブルシューティングを促進する。試験/デバッグ回路網429は、本開示の利益を享受する当業者に周知の種々のブロックまたは回路を含み得る。例えば、試験/デバッグ回路網429は、所望に応じて、PLD103が電源投入またはリセット後に、試験を行うための回路を含み得る。試験/デバッグ回路網429はまた、所望に応じて、コード化およびパリティ回路を含み得る。PLD103はまた、1つ以上の通信回路438を含み得る。通信回路438は、本書内の本開示の利益を享受する当業者が、理解するように、PLD103内の種々の回路とPLD103外部の回路との間のデータおよび情報交換を促進し得る。PLD103はさらに、1つ以上のメモリ441および1つ以上のコントローラ444を含み得る。メモリ441は、PLD103内の種々のデータおよび情報ユーザ-データ、中間結果、計算結果等の記憶を可能にする。メモリ441は、所望に応じて、粒状またはブロック形態を有し得る。コントローラ444は、PLD外の回路網の演算および種々の機能とインターフェースをとり、それを制御可能である。例えば、コントローラ444は、所望に応じて、外部同期動的ランダムアクセスメモリSDRAMとインターフェースをとり、それを制御する、メモリコントローラを構成し得る。前述のように、PLD103は、1つ以上のプロセッサ100を含み得る。プロセッサ100は、上に詳述のように、開示される概念によるアーキテクチャ、回路網、またはトポロジを含み得る。プロセッサ100は、PLD103内の他のブロックおよび回路に連結し得る。例えば、プロセッサ100は、メモリ441および、コントローラ444に連結し、プログラム命令、データ、引数等を格納し得る。プロセッサ100は、本書内の本開示の利益を享受する当業者が、理解するように、PLD103内または外部の回路から、データおよび情報を受信し、種々の方法で、情報を処理し得る。プロセッサ100のうちの1つ以上は、デジタル信号プロセッサDSPを構成し得る。DSPは、所望に応じて、圧縮、解凍、オーディオ処理、ビデオ処理、フィルタリング等、種々の信号処理タスクを行うことを可能にする。前述のように、開示される概念は、ユーザに対して、種々の実施形態による、プロセッサのネイティブ命令を使用するだけではなく、また、その独自のカスタム命令を書き込み、使用するための柔軟なフレームワークを含む。図7は、例示的実施形態による、プロセッサの使用プログラミングを含むの方法のための簡略フロー図を示す。503では、ユーザのプログラムが、取得される。典型的には、ユーザのプログラムは、C等の高次プログラムで書かれる。代替として、しかしながら、ユーザは、所望に応じて、アセンブリ言語でそのプログラムを書いてもよい。506では、ユーザのプログラムが、任意のカスタム命令例えば、1つ以上のカスタム命令を含むかどうかを決定するために、検証される。含まない場合、制御は、512に進む。そうでなければ、509において、ユーザのカスタム命令が、取得される。いくつかの実施形態では、ユーザは、そのようなカスタム命令を明示的に宣言し得る。他の実施形態では、カスタム命令は、自動的に検出される。ユーザは、いずれの場合にも、カスタム命令の定義とともに、マイクロコードメモリ115例えば、図1参照に書き込まれる命令を提供すべきである。図7を参照すると、512では、ユーザのプログラムが、コンパイルされる。515では、任意の付加的コード例えば、外部コードセグメント、ルーチン、ライブラリが、リンクされる。518では、カスタム命令は、該当する場合、マイクロコードメモリ115図1、3参照に書き込まれる。カスタム命令に加え、マイクロコードメモリ115は、所望に応じて、プロセッサのネイティブ命令のためのプロビジョニングを含み得ることに留意されたい。521では、ユーザのプログラムは、プロセッサ100のリソースを使用して、プロセッサ100上で実行される。プロセッサ100のリソースは、図1-4に図示され、前述の回路網を含み得るが、それに限定されない。コンピュータシステムまたはプロセッサ上において、図7に示される方法を起動または実行し得る。図8は、開示される概念による情報を処理するための例示的コンピュータシステム1000のブロック図を示す。本開示の利益を享受する当業者は、所望に応じて、種々の他のコンピュータシステム、プロセッサ、マイクロコンピュータ、ワークステーション等を使用し得ることを理解する。システム1000は、コンピュータデバイス1005、入力デバイス1010、ビデオ/ディスプレイデバイス1015、および記憶/出力デバイス1020を含むが、所望に応じて、それらのデバイスのそれぞれのうちの2つ以上を含み得る。コンピュータデバイス1005は、入力デバイス1010、ビデオ/ディスプレイデバイス1015、および記憶/出力デバイス1020に連結する。システム1000は、所望に応じて、開示される概念の説明から利益を享受する当業者が、理解するように、2つ以上のコンピュータデバイス1005、例えば、一式の関連付けられたコンピュータデバイスまたはシステムを含み得る。システム1000は、ユーザからの入力に関連して動作する。ユーザ入力は、典型的には、システム1000に、回路合成およびシミュレーションを含む具体的所望の情報処理タスクを行わせる。システム1000は、それらのタスクを行うために、部分的に、コンピュータデバイス1005を使用する。コンピュータデバイス1005は、中央処理ユニットCPU等の情報処理回路網を含むが、当業者が理解するであろうように、2つ以上のCPUまたは情報処理回路網を使用し得る。いくつかの実施形態では、システム1000、より具体的には、コンピュータデバイス1005は、開示される概念による1つ以上のプロセッサ100を含み得る例えば、図1-4参照。いくつかの実施形態では、システム1000は、開示される概念による1つ以上のプロセッサ100を含み、また、図7に示される方法ならびにユーザのプログラムを起動または実行し得る1つ以上のプロセッサ100を使用して。図8を参照すると、入力デバイス1010は、ユーザから入力を受信し、処理のために、その入力をコンピュータデバイス1005に利用可能にする。ユーザ入力は、所望に応じて、データ、命令、または両方を含み得る。入力デバイス1010は、英数字入力デバイス例えば、キーボード、ポインティングデバイス例えば、マウス、ローラボール、ライトペン、タッチセンサ式装置、例えば、タッチセンサ式ディスプレイ、またはタブレット、または両方を構成し得る。ユーザは、英数字キーボードを操作して、ASCII文字等のテキストをコンピュータデバイス1005に提供する。同様に、ユーザは、ポインティングデバイスを操作し、カーソル位置または制御情報をコンピュータデバイス1005に提供する。ビデオ/ディスプレイデバイス1015は、視覚映像をユーザに表示する。視覚映像は、グラフ、写真、画像、およびテキスト等のコンピュータデバイス1005の演算に関する情報を含み得る。ビデオ/ディスプレイデバイスは、当業者が理解するであろうように、コンピュータモニタまたはディスプレイ、投影デバイス等を構成し得る。システムが、タッチセンサ式ディスプレイを使用する場合、ディスプレイはまた、ユーザ入力をコンピュータデバイス1005に提供するように動作し得る。記憶/出力デバイス1020は、コンピュータデバイス1005に、付加的処理または後の読み出し例えば、ソフトコピーのための情報を格納させること、種々の形式例えば、ハードコピーで情報を提示させること、または両方を行わせる。実施例として、記憶/出力デバイス1020は、所望の媒体上に、および所望のフォーマットで、情報を格納可能な磁気、光、または磁気光ドライブを構成し得る。別の実施例として、記憶/出力デバイス1020は、コンピュータデバイス1005からの情報の印刷またはプロットされた表現を生成するために、プリンタ、プロッタ、または他の出力デバイスを構成し得る。コンピュータ可読媒体1025は、コンピュータデバイス1005と構造的および機能的に相互に関係する。コンピュータ可読媒体1025は、機能的記述材料を格納し、エンコードし、記録し、および/または具現化する。例証として、機能的記述材料は、コンピュータプログラム、コンピュータコード、コンピュータ用途、および/または情報構造例えば、データ構造またはファイルシステムを含み得る。コンピュータ可読媒体1025によって、格納、エンコード、記録、および/または具現化されると、機能的記述材料は、機能性を付与する。機能的記述材料は、コンピュータ可読媒体1025と相互に関係する。機能的記述材料内の情報構造は、情報構造とコンピュータ可読媒体1025および/またはシステム1000の他の側面との間の構造ならびに機能的相互関係を定義する。これらの相互関係は、情報構造の機能性の実現化を可能にする。さらに、そのような機能的記述材料内において、コンピュータプログラムは、コンピュータプログラムとコンピュータ可読媒体1025およびシステム1000の他の側面との間の構造ならびに機能的相互関係を定義する。これらの相互関係は、コンピュータプログラムの機能性の実現化を可能にする。例証として、コンピュータデバイス1005は、機能的記述材料を読み取り、アクセスし、またはコンピュータデバイス1005のコンピュータメモリ図中に明示的に図示せず内にコピーする。コンピュータデバイス1005は、コンピュータメモリ内に存在する材料に応答して、演算を行う。コンピュータデバイス1005は、コンピュータデバイス1005に、付加的さらなる演算を行わせるコンピュータアプリケーションを処理する演算を行い得る。故に、機能的記述材料は、コンピュータデバイス1005が、プロセスを実行し、演算を行う方法とともに機能的相互関係を示す。さらに、コンピュータ可読媒体1025は、コンピュータデバイス1005が、コンピュータ情報、プログラム、コード、および/またはアプリケーションにアクセスし得る、装置を構成する。コンピュータデバイス1005は、コンピュータデバイス1005に、付加的演算を行わせる、情報、プログラム、コード、および/またはアプリケーションを処理し得る。当業者が理解するであろうように、種々の方法で、コンピュータ可読媒体1025を実装し得ることに留意されたい。例えば、コンピュータデバイス1005内のメモリは、所望に応じて、コンピュータ可読媒体1025を構成し得る。代替として、コンピュータ可読媒体1025は、例えば、コンピュータデバイス1005が、コンピュータデバイスまたは情報処理システムのネットワークから、機能的記述材料を受信する場合、一式の関連付けられた、相互に関係付けられた、連結された例えば、導体、ファイバ等を通して、またはネットワーク化されたコンピュータ可読メディアを含み得る。コンピュータデバイス1005は、所望に応じて、コンピュータ可読媒体1025、ネットワーク、または両方から、機能的記述材料を受信し得ることに留意されたい。開示される概念の範囲を限定することを意図することなく、本特許開示に提供される説明は、一般的用語プロセッサを使用することに留意されたい。開示される概念の説明から利益を享受する当業者が、理解するように、他の名称によって周知であり得る、種々の回路網に、開示される概念を適用し得る。限定ではなく、そのような回路網の実施例として、コントローラ、状態マシン、およびマイクロプロセッサが挙げられる。概して、開示される概念を情報処理装置に適用し得る。加えて、前述の説明は、2つのメモリの使用を参照するが、所望に応じて、開示される概念の説明の利益を享受する当業者の技術および知識範囲内にある、適切な修正を行うことによって、付加的メモリを使用し得る。例えば、所望に応じて、階層式に、命令をデコードするために使用することができる、3つ以上のメモリの階層を使用し得る。さらに、開示される概念の説明から利益を享受する当業者が、理解するように、開示される概念を効果的に種々の種類のICに適用し得る。限定ではなく、本書に説明される実施例は、単に、例証的用途を構成する。したがって、適切な修正を行うことによって、開示される概念を種々の種類のIC例えば、ASIC、ASSP、FPGA、CPLD等に適用し得る。それらの修正は、開示される概念の説明の利益を享受する当業者の知識および技術レベル範囲内である。図面を参照すると、当業者は、図示される種々のブロックが、主に、概念的機能および信号フローを描写する場合があることに留意するであろう。実際の回路実装は、種々の機能ブロックのための別個に識別可能なハードウェアを含む場合もあり、そうでない場合もあり、図示される特定の回路網を使用する場合もあり、そうでない場合もある。例えば、所望に応じて、種々のブロックの機能性を1つの回路ブロックに組み合わせてもよい。さらに、所望に応じて、いくつかの回路ブロック内の単一ブロックの機能性を実現し得る。回路実装の選択肢は、本開示の説明から利益を教授する当業者が、理解するように、所与の実装のための特定の設計および性能仕様等、種々の要因に依存する。他の修正および代替実施形態も、本明細書に説明されるものに加え、本開示の利益を享受する当業者に明白であろう。故に、本説明は、開示される概念を実行する様式を当業者に教示するものであって、例証のみとして解釈されたい。図示および説明される形式および実施形態は、例証的実施形態として、見なされるべきである。当業者は、本書に開示される概念の範囲から逸脱することなく、部品の形状、サイズ、および配置に、種々の変更を行い得る。例えば、当業者は、本明細書に例証および説明される要素に対して、同等要素を代用し得る。さらに、本開示の利益を享受する当業者は、開示される概念の範囲から逸脱することなく、他の特徴の使用から独立して、開示される概念のある特徴を使用し得る。"