【手続補正書】
【提出日】平成16年2月6日(2004.2.6)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】特許請求の範囲
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
構成仕様に基づいてプロセッサのハードウェアインプリメンテーションの記述を生成する手段と、
前記構成仕様に基づいて、前記ハードウェアインプリメンテーションに特有のソフトウェア開発ツールを生成する手段と、
を備えている構成可能なプロセッサを設計するシステム。
【請求項２】
ソフトウェア開発ツールはプロセッサ上で実行するためのコードを発生する請求項１のシステム。
【請求項３】
前記ソフトウェア開発ツールが、構成仕様に合わせられ、前記プロセッサによって実行可能なコードをリンクするリンカを含む請求項１のシステム。
【請求項４】
前記ソフトウェア開発ツールが、構成仕様に合わせられ、アプリケーションを前記プロセッサによって実行可能なコードにアセンブルするアセンブラを含む請求項１のシステム。
【請求項５】
前記ソフトウェア開発ツールが、構成仕様に合わせられ、前記プロセッサによって実行可能なコードをリンクするリンカを含む請求項１のシステム。
【請求項６】
前記ソフトウェア開発ツールが、構成仕様に合わせられ、前記プロセッサによって実行可能なコードを逆アセンブルする逆アセンブラを含む請求項１のシステム。
【請求項７】
前記ソフトウェア開発ツールが、構成仕様に合わせられ、前記プロセッサによって実行可能なコードをデバッグするデバッガを含む請求項１のシステム。
【請求項８】
前記デバッガが、命令セットシミュレータおよびハードウェアインプリメンテーションのための共通インタフェースおよび構成を含む請求項７のシステム。
【請求項９】
前記ソフトウェア開発ツールが、構成仕様に合わせられ、前記プロセッサによって実行可能なコードをシミュレートする命令セットシミュレータを含む請求項１のシステム。
【請求項１０】
前記命令セットシミュレータが、実行のサイクルを含む基本的な性能基準を測定するようにシミュレートされるコードの実行をモデル化できる請求項９のシステム。
【請求項１１】
前記性能基準が特定の構成可能なマイクロアーキテクチャ機能を基づいている請求項１０のシステム。
【請求項１２】
前記命令セットシミュレータが、各シミュレートされた機能で実行される多数のサイクルを含む基準プロファイリング統計を記録するようにシミュレートされるプログラムの実行をプロファイルできる請求項１０のシステム。
【請求項１３】
前記ハードウェアインプリメンテーション記述が、詳細ＨＤＬハードウェアインプリメンテーション記述を含む請求項１のシステム。
【請求項１４】
前記ハードウェアインプリメンテーション記述が、統合スクリプトを含む請求項１のシステム。
【請求項１５】
前記ハードウェアインプリメンテーション記述が、場所およびルートのスクリプトを含む請求項１のシステム。
【請求項１６】
前記ハードウェアインプリメンテーション記述がプログラム可能論理装置スクリプトを含む請求項１のシステム。
【請求項１７】
前記ハードウェアインプリメンテーション記述が、テストベンチを含む請求項１のシステム。
【請求項１８】
前記ハードウェアインプリメンテーション記述が、検証のための診断テストを含む請求項１のシステム。
【請求項１９】
前記ハードウェアインプリメンテーション記述が、シミュレータで診断テストを実行するスクリプトを含む請求項１のシステム。
【請求項２０】
前記ハードウェアインプリメンテーション記述が、テストツールを含む請求項１のシステム。
【請求項２１】
前記ハードウェアインプリメンテーション記述を生成する手段が、
前記ハードウェアインプリメンテーション記述のハードウェア記述言語記述を生成する手段と、
前記ハードウェア記述言語記述に基づいて前記ハードウェアインプリメンテーションのためのロジックを統合する手段と、
回路を形成するために統合ロジックに基づいて構成要素をチップ上に配置し、かつ経路選択する手段とを備えている請求項１のシステム。
【請求項２２】
前記ハードウェアインプリメンテーション記述を生成する手段が、
前記回路のタイミングを検証する手段と、
前記回路の面積、サイクル時間および電力消費を決定する手段とをさらに含む請求項２１のシステム。
【請求項２３】
前記構成仕様を生成する手段をさらに含む請求項１のシステム。
【請求項２４】
前記構成仕様を生成する手段が、ユーザによる構成パラメータの選択に応動する請求項２３のシステム。
【請求項２５】
前記構成仕様を生成する手段が、前記プロセッサのための設計目標に応じて前記仕様を生成するためのものである請求項２３のシステム。
【請求項２６】
前記構成仕様が、前記プロセッサの変更可能な特性の少なくとも１つのパラメータ仕様を含む請求項１のシステム。
【請求項２７】
前記少なくとも１つのパラメータ仕様が、機能ユニットの包含および前記機能ユニットを作動させる少なくとも１つのプロセッサ命令を指定する請求項２６のシステム。
【請求項２８】
機能ユニットは乗算器であり、パラメータ仕様は乗算器を作動させる少なくとも１つの乗算命令を特定する請求項２７のシステム。
【請求項２９】
機能ユニットは乗算累算ユニットであり、パラメータ仕様は復号乗算、累算、オペランド負荷およびアドレス更新動作を実行する少なくとも１つの命令を特定する請求項２７のシステム。
【請求項３０】
機能ユニットはデジタル信号プロセッサであり、パラメータ仕様はデジタル信号プロセッサを作動させる少なくとも１つの命令を特定する請求項２７のシステム。
【請求項３１】
機能ユニットはコプロセッサであり、パラメータ仕様はコプロセッサを作動させる少なくとも１つの命令を特定する請求項２７のシステム。
【請求項３２】
前記少なくとも１つのパラメータ仕様構成が、プロセッサ状態に影響を及ぼす構造の包含、除外および特性の１つを指定する請求項２６のシステム。
【請求項３３】
前記構造がレジスタファイルであり、かつ前記パラメータ仕様が前記レジスタファイルのレジスタ数を指定する請求項３２のシステム。
【請求項３４】
前記構造が命令キャッシュである請求項３２のシステム。
【請求項３５】
パラメータ仕様はキャッシュのサイズを特定する請求項３４のシステム。
【請求項３６】
パラメータ仕様はキャッシュのラインサイズを特定する請求項３５のシステム。
【請求項３７】
パラメータ仕様はキャッシュのセットアソシアティビティを特定する請求項３５のシステム。
【請求項３８】
前記構造がデータキャッシュである請求項３２のシステム。
【請求項３９】
パラメータ仕様はキャッシュのサイズを特定する請求項３８のシステム。
【請求項４０】
パラメータ仕様はキャッシュのラインサイズを特定する請求項３８のシステム。
【請求項４１】
パラメータ仕様はキャッシュのセットアソシアティビティを特定する請求項３８のシステム。
【請求項４２】
前記構造が書き込みバッファである請求項３２のシステム。
【請求項４３】
前記構造がオンチップＲＯＭおよびオンチップＲＡＭの１つである請求項３２のシステム。
【請求項４４】
前記少なくとも１つのパラメータ仕様が、前記プロセッサのデータおよび命令の少なくとも１つの解釈を制御するセマンティック特性を指定する請求項２６のシステム。
【請求項４５】
セマンティック特性は命令バイト配列であり、パラメータ仕様はビッグエンディアンおよびリトルエンディアンバイト配列のうちの１つを特定する請求項４４のシステム。
【請求項４６】
セマンティック特性は命令セットのコード密度である請求項４４のシステム。
【請求項４７】
前記少なくとも１つのパラメータ仕様が、前記プロセッサの命令を制御する実行特性を指定する請求項２６のシステム。
【請求項４８】
実行特性はプロセッサの外部割り込みの数である請求項４７のシステム。
【請求項４９】
実行特性はプロセッサの割り込みタイマの数である請求項４７のシステム。
【請求項５０】
実行特性はプロセッサの割り込み優先度レベルの数である請求項４７のシステム。
【請求項５１】
実行特性はキャッシュがライトバックキャッシュおよびライトスルーキャッシュのうちの１つであることである請求項４７のシステム。
【請求項５２】
実行特性はプロセッサの別のプロセッサとの同期である請求項４７のシステム。
【請求項５３】
実行特性はソフトウェア制御されたブランチ予測子である請求項４７のシステム。
【請求項５４】
実行特性はプロセッサレジスタのウィンドウ処理動作である請求項４７のシステム。
【請求項５５】
前記少なくとも１つのパラメータ仕様が前記プロセッサのデバッグ特性を指定する請求項２６のシステム。
【請求項５６】
デバッグ特性はアドレストレースおよびパイプラインポートの包含および排除のうちの１つを含む請求項５５のシステム。
【請求項５７】
デバッグ特性は命令およびデータブレイクポイントサポートの包含および排除のうちの１つを含む請求項５５のシステム。
【請求項５８】
デバッグ特性は検査サポートを含む請求項５５のシステム。
【請求項５９】
前記構成仕様が、所定の特性の選択、プロセッサ要素のサイズあるいは数、および値の割当ての少なくとも１つを指定するパラメータ仕様を含む請求項２６のシステム。
【請求項６０】
前記構成仕様の適否を評価する手段をさらに含む請求項１のシステム。
【請求項６１】
前記評価する手段が、対話型推定ツールを含む請求項６０のシステム。
【請求項６２】
前記評価する手段が、前記構成仕様によって記述されたプロセッサのハードウェア特性を評価するためのものである請求項６０のシステム。
【請求項６３】
前記評価する手段が、前記プロセッサの推定性能特性に基づいて前記構成仕様の適否を評価するためのものである請求項６０のシステム。
【請求項６４】
前記推定性能特性に基づいて前記構成仕様の変更を可能にする情報を供給する手段をさらに含む請求項６３のシステム。
【請求項６５】
前記性能特性が、チップ上に前記プロセッサを実現するのに必要とされる面積、前記プロセッサによって消費される電力、および前記プロセッサのクロック速度の少なくとも１つを含む請求項６３のシステム。
【請求項６６】
前記評価する手段が、前記プロセッサの推定ソフトウェア特性に基づいて前記構成仕様の適否を評価するためのものである請求項６０のシステム。
【請求項６７】
前記評価する手段が、コードサイズおよび前記構成仕様によって記述されたプロセッサ上で一連のベンチマークプログラムを実行するのに必要とされるサイクルの少なくとも１つを推定することによって適否評価を対話してユーザに表示するためのものである請求項６６のシステム。
【請求項６８】
前記評価する手段が、前記構成仕様によって記述されたプロセッサのハードウェア特性およびソフトウェア特性を評価するためのものである請求項６０のシステム。
【請求項６９】
プロセッサのハードウェアインプリメンテーションの記述を発生する手段が、更にハードウェア性能およびコストの特徴付けるものであり、ソフトウェア開発ツールを発生する手段が、プロセッサのハードウェアインプリメンテーションの記述を発生する手段と共にソフトウェアアプリケーション性能情報を発生して構成仕様の変更を容易にするためのものである請求項１のシステム。
【請求項７０】
プロセッサのハードウェアインプリメンテーションの記述を発生する手段が、更にハードウェア性能およびコストの特徴付けるものであり、ソフトウェア開発ツールを発生する手段が、プロセッサのハードウェアインプリメンテーションの記述を発生する手段と共にソフトウェアアプリケーション性能情報を発生して構成仕様の拡張を容易にするためのものである請求項１のシステム。
【請求項７１】
プロセッサのハードウェア記述を発生する手段が、更にハードウェア性能およびコストの特徴付けるものであり、ソフトウェア開発ツールを発生する手段が、プロセッサのハードウェアインプリメンテーションの記述を生成する手段と一緒にソフトウェアアプリケーション性能情報を発生して、構成仕様の変更を容易にするためのものであり、
プロセッサのハードウェア記述を発生する手段が、更にハードウェア性能およびコストの特徴付けるものであり、ソフトウェア開発ツールを発生する手段が、プロセッサのハードウェアインプリメンテーションの記述を発生する手段と共にソフトウェアアプリケーション性能情報を発生して、構成仕様の拡張の記述を容易にするためのものである請求項１のシステム。
【請求項７２】
拡張によって前記プロセッサの構成を生成する手段をさらに含む請求項１のシステム。
【請求項７３】
前記構成仕様が、前記プロセッサの拡張可能な特性の少なくとも１つの拡張仕様を含む請求項１のシステム。
【請求項７４】
前記拡張仕様が、付加命令を指定する請求項７３のシステム。
【請求項７５】
前記拡張仕様が、ユーザ定義の命令の包含および前記命令のためのインプリメンテーションを指定する請求項７３のシステム。
【請求項７６】
前記ソフトウェア開発ツールを生成する手段が、少なくとも１つのアプリケーションに特に適しているユーザポテンシャルユーザ定義の命令に示唆する手段を含む請求項７５のシステム。
【請求項７７】
前記ソフトウェア開発ツールが、ユーザ定義の命令を生成するコンパイラを含む請求項７５のシステム。
【請求項７８】
前記コンパイラがユーザ定義の命令を含むコードを最適化できる請求項７７のシステム。
【請求項７９】
前記ソフトウェア開発ツールが、前記ユーザ定義の命令を生成できるアセンブラを含む請求項７５のシステム。
【請求項８０】
前記ソフトウェア開発ツールが、前記ユーザ定義の命令を使用するユーザコードの実行をシミュレートできるシミュレータを含む請求項７５のシステム。
【請求項８１】
前記ソフトウェア開発ツールが、前記ユーザ定義の命令のユーザインプリメンテーションを検証できるツールを含む請求項７５のシステム。
【請求項８２】
前記コンパイラが、付加命令を自動的に生成できる請求項７４のシステム。
【請求項８３】
前記拡張仕様が、ユーザによって抽象形式で実質的に設計された機能性を有する新しい特性を指定し、かつ前記ハードウェアインプリメンテーション記述を生成する手段が、さらに前記新しい特性を再定義し、かつ前記詳細ハードウェアインプリメンテーション記述に統合するためのものである請求項７３のシステム。
【請求項８４】
前記拡張仕様が、演算符号割当および命令セマンティックを指定する命令セットアーキテクチャ言語におけるステートメントである請求項８３のシステム。
【請求項８５】
前記ハードウェアインプリメンテーション記述を生成する手段が、前記命令セットアーキテクチャ言語定義から命令復号化ロジックを生成する手段を含む請求項８４のシステム。
【請求項８６】
前記ハードウェアインプリメンテーション記述を生成する手段が、前記命令セットアーキテクチャ言語定義に基づいて命令インターロックおよびストールロジックのためのレジスタオペランド使用を指定する信号を発生する手段を含む請求項８５のシステム。
【請求項８７】
前記ソフトウェア開発ツールを生成する手段が、前記構成仕様に合わせられた命令セットシミュレータで使用される命令復号化処理を生成する手段を含む請求項８３のシステム。
【請求項８８】
前記ソフトウェア開発ツールを生成する手段が、前記構成仕様に合わせられたアセンブラで使用される符号化テーブルを生成する手段を含む請求項８３のシステム。
【請求項８９】
前記ハードウェアインプリメンテーション記述を生成する手段が、さらに前記新しい特性のためのデータパスハードウエアの記述を生成するためのものであり、前記データパスハードウエアが、前記プロセッサの特定のパイプラインアーキテクチャと一致する請求項８３のシステム。
【請求項９０】
前記付加命令が、新しい状態を前記プロセッサに全然付加しない請求項７４のシステム。
【請求項９１】
前記付加命令が、状態を前記プロセッサに付加する請求項７４のシステム。
【請求項９２】
前記構成仕様が、命令セットアーキテクチャ記述言語記述によって指定される少なくとも一部を含む請求項１のシステム。
【請求項９３】
前記ハードウェアインプリメンテーション記述を生成する手段が命令復号化ロジックを前記命令セットアーキテクチャ言語記述から自動的に生成する手段を含む請求項９２のシステム。
【請求項９４】
前記ソフトウェア開発ツールを生成する手段が、アセンブラコアを前記命令セットアーキテクチャ言語記述から自動的に生成する手段を含む請求項９２のシステム。
【請求項９５】
前記ソフトウェア開発ツールを生成する手段が、コンパイラを前記命令セットアーキテクチャ言語記述から自動的に生成する手段を含む請求項９２のシステム。
【請求項９６】
前記ソフトウェア開発ツールを生成する手段が、逆アセンブラを前記命令セットアーキテクチャ言語記述から自動的に生成する手段を含む請求項９２のシステム。
【請求項９７】
前記ソフトウェア開発ツールを生成する手段が、命令セットシミュレータを前記命令セットアーキテクチャ言語記述から自動的に生成する手段を含む請求項９２のシステム。
【請求項９８】
前記ハードウェアインプリメンテーション記述を生成する手段が、前記構成仕様に基づいて前記ハードウェアインプリメンテーション記述および前記ソフトウエアツールのそれぞれを変更するために前記ハードウェアインプリメンテーション記述および前記ソフトウェア開発ツールの少なくとも１つの一部を前処理する手段を含む請求項１のシステム。
【請求項９９】
前記前処理する手段が、前記ハードウェアインプリメンテーション記述および前記ソフトウェア開発ツールの中の１つの式の数値を求め、かつ前記構成仕様に基づいて前記式を値と取り換えるためのものである請求項９８のシステム。
【請求項１００】
前記式が、対話型構成子、条件付構成子およびデータベース問い合わせの少なくとも１つを含む請求項９９のシステム。
【請求項１０１】
前記構成仕様が、前記プロセッサの変更可能な特性を指定する少なくとも１つのパラメータ仕様および前記プロセッサの拡張可能な特性を指定する少なくとも１つの拡張仕様を含む請求項１のシステム。
【請求項１０２】
前記変更可能な特性が、前記コア仕様の変更および前記変更仕様に指定されない選択機能の１つである請求項１０１のシステム。
【請求項１０３】
前記構成仕様が、前記プロセッサの２進の選択可能な特性を指定する少なくとも１つの仕様と、前記プロセッサの少なくとも１つのパラメータの指定可能な特性と、前記プロセッサの拡張可能特性を指定する少なくとも１つの拡張仕様とを含む請求項１のシステム。
【請求項１０４】
構成可能なプロセッサを設計する方法であって、
構成仕様に基づいて前記プロセッサのハードウェアインプリメンテーションの記述を生成し、
前記構成仕様に基づいて前記ハードウェアインプリメンテーションに特有のソフトウェア開発ツールを生成することとを含む構成可能なプロセッサを設計する方法。
【請求項１０５】
構成可能なプロセッサを設計するシステムであって、
ユーザ定義可能な部分を有する構成仕様を生成する手段であって、前記構成仕様の前記ユーザ定義可能な部分が、
ユーザ定義のプロセッサ状態の仕様と、
少なくとも１つのユーザ定義の命令およびそれに関連したユーザ定義の機能とを含み、前記機能が、前記ユーザ定義のプロセッサ状態からの読み出しおよび前記ユーザ定義のプロセッサ状態への書き込みの少なくとも１つであることと、
構成仕様に基づいて前記プロセッサのハードウェアインプリメンテーションの記述を生成する手段とを備えているシステム。
【請求項１０６】
ソフトウェア開発ツールは、ソフトウェア開発ツールを発生して、プロセッサ上で実行するためのコードを発生するためのものである請求項１０５のシステム。
【請求項１０７】
前記プロセッサの前記ハードウェアインプリメンテーションが、命令実行パイプラインを記述し、かつ
前記制御ロジックが、前記命令実行パイプラインの各段に関連した部分を含む請求項１０６のシステム。
【請求項１０８】
前記ハードウェアインプリメンテーション記述が、命令実行を打ち切る回路の記述を含み、かつ
前記制御ロジックが、打ち切られた命令によって前記ユーザ定義の状態の変更を防止する回路を含む請求項１０７のシステム。
【請求項１０９】
前記制御ロジックが、命令発行、オペランドバイパス、および前記少なくとも１つのユーザ定義の命令のためのオペランド書き込みイネーブルの少なくとも１つを実行する回路を含む請求項１０８のシステム。
【請求項１１０】
前記ハードウェアインプリメンテーション記述が、複数の段の前記命令実行パイプラインで前記ユーザ定義の状態を実行するレジスタを含む請求項１０７のシステム。
【請求項１１１】
前記ハードウェアインプリメンテーション記述が、出力オペランドが発生されるパイプライン段とは異なるパイプライン段で記述される状態レジスタを含み、かつ
前記ハードウェアインプリメンテーションが、前記ユーザ定義のプロセッサ状態への書き込みがコミットされる前にこのような書き込みが前記ユーザ定義のプロセッサ状態を参照する次の命令へバイパスされる請求項１０７のシステム。
【請求項１１２】
前記構成仕様が、前記ユーザ定義の部分に加えて所定の部分を含み、かつ
前記仕様の所定の部分が、前記ユーザ定義の状態をメモリに保存することを容易にする命令および前記ユーザ定義の状態をメモリから復元することを容易にする命令を含む請求項１０５のシステム。
【請求項１１３】
前記命令を使用して前記ユーザ定義の状態をコンテキスト切り換えるソフトウェアを生成する手段をさらに含む請求項１１２のシステム。
【請求項１１４】
命令設定シミュレータはコードのシミュレーションの実行をモデルにして、実行の周期を含むキーパフォーマンス基準を測定することができる請求項１１３のシステム。
【請求項１１５】
ユーザ定義されたプロセッサの状態と少なくとも１つのユーザ定義された命令とをコンパイルするコンパイラを生成する手段をさらに具備する請求項１０５のシステム。
【請求項１１６】
命令設定シミュレータはプログラムのシミュレーションの実行をプロファイルして、各シミュレーションされた機能で実行される多数の周期を含む標準プロファイリング統計を記録する請求項１１４のシステム。
【請求項１１７】
ユーザ定義されたプロセッサ状態と少なくとも１つのユーザ定義された命令とをデバッグするデバッガを生成することをさらに具備する請求項１０５のシステム。
【請求項１１８】
前記ユーザ定義のプロセッサ状態および前記少なくとも１つのユーザ定義の命令をアセンブルするアセンブラ、前記ユーザ定義のプロセッサ状態および前記少なくとも１つのユーザ定義の命令をコンパイルするコンパイラ、前記ユーザ定義のプロセッサ状態および前記少なくとも１つのユーザ定義の命令をシミュレートするシミュレータ、および前記ユーザ定義のプロセッサ状態および前記少なくとも１つのユーザ定義の命令をデバッグするデバッガの少なくとも１つを生成する手段をさらに含む請求項１０５のシステム。
【請求項１１９】
前記仕様の前記ユーザ定義の一部が、前記ユーザ定義の状態をサイズおよびインデクシングを指定する少なくとも１つのステートメントを含む請求項１０５のシステム。
【請求項１２０】
前記仕様の前記ユーザ定義の一部が、前記ユーザ定義の状態に関連し、かつプロセッサレジスタの前記ユーザ定義の状態のパッキングを指定する少なくとも１つの属性を含む請求項１１９のシステム。
【請求項１２１】
前記仕様の前記ユーザ定義の一部が、プロセッサレジスタへの前記ユーザ定義の状態のマッピングを指定する少なくとも１つのステートメントを含む請求項１０５のシステム。
【請求項１２２】
ハードウェアインプリメンテーション記述を生成する手段はユーザ定義された状態をプロセッサレジスタへ自動的にマッピングする手段を含む請求項１０５のシステム。
【請求項１２３】
前記仕様の前記ユーザ定義の一部が、ユーザ定義の命令のクラスおよび前記ユーザ定義の状態に対するその効果を指定する少なくとも１つのステートメントを含む請求項１０５のシステム。
【請求項１２４】
前記仕様の前記ユーザ定義の一部が、ある値を前記ユーザ定義の状態に割当てる少なくとも１つの割当ステートメントを含む請求項１０５のシステム。
【請求項１２５】
プロセッサの命令セットアーキテクチャ仕様に基づいて、プロセッサに対して特に生成されるコアソフトウェアツールと、
ユーザ定義の命令仕様に基づいて、コアソフトウェアによって使用されるための少なくとも１つのモジュールを生成して、プロセッサによるユーザ定義の命令の仕様を評価するエンハンスメントツールとを具備する、構成可能なプロセッサを設計するシステム。
【請求項１２６】
コアソフトウェアツールは、プロセッサ上で実行するコードを生成することができるソフトウェアツールを具備する請求項１２５のシステム。
【請求項１２７】
少なくとも１つのモジュールは、動的に結合されたライブラリとして実現される請求項１２５のシステム。
【請求項１２８】
少なくとも１つのモジュールはテーブルとして実現される請求項１２５のシステム。
【請求項１２９】
コアソフトウェアツールは、少なくとも１つのモジュールを使用して、ユーザ定義の命令を使用し、かつプロセッサにより実行可能なコードにアプリケーションをコンパイルするコンパイラを含む請求項１２５のシステム。
【請求項１３０】
少なくとも１つのモジュールは、ユーザ定義の命令をコンパイルする際にコンパイラによって使用されるためのモジュールを含む請求項１２９のシステム。
【請求項１３１】
コアソフトウェアツールは、少なくとも１つのモジュールを使用して、ユーザ定義の命令を使用し、かつプロセッサにより実行可能なコードにアセンブルするアセンブラを含む請求項１２５のシステム。
【請求項１３２】
少なくとも１つのモジュールは、アセンブリ言語命令をユーザ定義の命令にマッピングする際にアセンブラによって使用されるためのモジュールを含む請求項１３１のシステム。
【請求項１３３】
アセンブラによって使用されるためのモジュールは、操作符号簡略記憶文字列を内部操作符号表現に翻訳するためのデータを含む請求項１３２のシステム。
【請求項１３４】
アセンブラによって使用されるためのモジュールは、ユーザ定義の命令の操作符号フィールド用に発生すべきビットパターンを特定するためのデータを含む請求項１３２のシステム。
【請求項１３５】
アセンブラによって使用されるためのモジュールは、ユーザ定義の命令に対応するマシン命令のフィールドにオペランド値をエンコードするためのデータを含む請求項１３２のシステム。
【請求項１３６】
システムは、非ユーザ定義の命令を指定するコア命令セット仕様をさらに含み、
コア命令セット仕様は、アプリケーションをプロセッサによって実行可能なコードにアセンブルするアセンブラによって使用される請求項１３２のシステム。
【請求項１３７】
コアソフトウェアツールは、プロセッサにより実行可能なコードをシミュレートする命令セットシミュレータを含む請求項１２５のシステム。
【請求項１３８】
少なくとも１つのモジュールはユーザ定義の命令の実行をシミュレートする際にシミュレータによって使用されるためのシミュレータモジュールを含む請求項１３７のシステム。
【請求項１３９】
シミュレータにより使用されるためのモジュールは、ユーザ定義の命令を復号化するためのデータを含む請求項１３８のシステム。
【請求項１４０】
シミュレータは、命令が予め定義された命令として復号化できない場合、前記シミュレータモジュールを使用して命令を復号化するモジュールを使用する請求項１３９のシステム。
【請求項１４１】
シミュレータによって使用されるためのモジュールは、ユーザ定義の命令のセマンティクスを解釈してモデル化するためのデータを含む請求項１３８のシステム。
【請求項１４２】
シミュレータによって使用されるためのモジュールはシミュレーションの際に使用するためのユーザ定義された状態を記述するデータを含む請求項１３８のシステム。
【請求項１４３】
シミュレータによって使用されるためのモジュールはユーザ定義の命令の性能を決定するためのデータを含む請求項１３８のシステム。
【請求項１４４】
コアソフトウェアツールは、ユーザ定義の命令を使用し、かつプロセッサによって実行可能なコードをデバッグするためにユーザ定義のモジュールを使用するデバッガを含む請求項１２５のシステム。
【請求項１４５】
少なくとも１つのモジュールは、マシン命令をアセンブリ命令に復号化するためのデバッガによって使用可能なモジュールを含む請求項１４４のシステム。
【請求項１４６】
少なくとも１つのモジュールは、アセンブリ命令をストリングに変換するためのデバッガによって使用可能なモジュールを含む請求項１４４のシステム。
【請求項１４７】
コアソフトウェアツールは、プロセッサによって実行可能なコードをシミュレートする命令セットシミュレータを含み、
デバッガは、デバッグするためにユーザ定義された状態の情報を得るため、シミュレータと通信するためのものである請求項１４４のシステム。
【請求項１４８】
単一のユーザ定義の命令が、異なるコア命令セット仕様に基づいて複数のコアソフトウェアツールによって変更されないで使用可能な請求項１２５のシステム。
【請求項１４９】
構成可能なプロセッサを設計するシステムであって、
プロセッサの命令セットアーキテクチャ仕様に基づいて、プロセッサに対して特に生成されるコアソフトウェアツールと、
ユーザ定義の命令仕様に基づいて、コアソフトウェアによって使用されるための少なくとも１つのモジュールを生成して、プロセッサによるユーザ定義の命令の仕様を評価するエンハンスメントツールと、
エンハンスメントツールによって生成したグループを同時に記憶する記憶手段とを具備し、各グループはユーザ定義の命令の異なる組に対応するシステム。
【請求項１５０】
少なくとも１つのモジュールは動的に結合されたライブラリとして実現される請求項１４９のシステム。
【請求項１５１】
少なくとも１つのモジュールはテーブルとして実現される請求項１４９のシステム。
【請求項１５２】
コアソフトウェアツールは、ユーザ定義の命令モジュールを使用して、アプリケーションをユーザ定義の命令を使用し、かつプロセッサによって実行可能なコードにコンパイルするコンパイラを含む請求項１４９のシステム。
【請求項１５３】
少なくとも１つのモジュールは、ユーザ定義の命令をコンパイルする際にコンパイラによって使用するためのモジュールを含む請求項１５２のシステム。
【請求項１５４】
コアソフトウェアツールは、ユーザ定義のモジュールを使用して、アプリケーションをユーザ定義の命令を使用し、かつプロセッサによって実行可能なコードにアセンブルするアセンブラを含む請求項１４９のシステム。
【請求項１５５】
少なくとも１つのモジュールが、アセンブリ言語命令をユーザ定義の命令にマッピングする際にアセンブラによって使用するためのモジュールを含む請求項１５４のシステム。
【請求項１５６】
エンコードモジュールは操作符号簡略記憶文字列を内部符号表現に翻訳するためのデータを含む請求項１５５のシステム。
【請求項１５７】
アセンブラによって使用されるためのモジュールは、ユーザ定義の命令の操作符号フィールド用に発生すべきビットパターンを特定するためのデータを含む請求項１５５のシステム。
【請求項１５８】
アセンブラによって使用されるためのモジュールは、ユーザ定義の命令に対応するマシン命令のフィールドにオペランド値をエンコードするためのデータを含む請求項１５５のシステム。
【請求項１５９】
コアソフトウェアツールは、プロセッサによって実行可能なコードをシミュレートする命令セットシミュレータを含む請求項１４９のシステム。
【請求項１６０】
少なくとも１つのモジュールは、ユーザ定義の命令の実行をシミュレートする際にシミュレータによって使用するためのモジュールを含む請求項１５９のシステム。
【請求項１６１】
シミュレータによって使用するためのモジュールが、ユーザ定義の命令を復号化するデータを含む請求項１６０のシステム。
【請求項１６２】
シミュレータは、命令が予め定義された命令として復号化できない場合、シミュレータモジュールを使用して命令を復号化するモジュールを使用する請求項１６１のシステム。
【請求項１６３】
シミュレータによって使用されるためのモジュールは、ユーザ定義の命令のセマンティクスを解釈してモデル化するためのデータを含む請求項１６０のシステム。
【請求項１６４】
シミュレータによって使用されるためのモジュールはシミュレーションの際に使用するためのユーザ定義された状態を記述するデータを含む請求項１６０のシステム。
【請求項１６５】
シミュレータによって使用されるためのモジュールはユーザ定義の命令の性能を決定するためのデータを含む請求項１６０のシステム。
【請求項１６６】
コアソフトウェアツールが、ユーザ定義の命令を使用し、かつプロセッサによって実行可能なコードをデバッグするためにユーザ定義のモジュールを使用するデバッガを含む請求項１４９のシステム。
【請求項１６７】
少なくとも１つのモジュールは、マシン命令をアセンブリ命令に復号化するようにデバッガによって使用可能なモジュールを含む請求項１６６のシステム。
【請求項１６８】
少なくとも１つのモジュールが、アセンブリ命令をストリングに変換するようにデバッガによって使用可能なモジュールを含む請求項１６６のシステム。
【請求項１６９】
各々のグループが、プロセッサの命令セットアーキテクチャ仕様に基づいて、プロセッサのために特に生成されている、コアソフトウェアツールの複数のグループと、
ユーザ定義の命令仕様に基づいて、コアソフトウェアによって使用されるための少なくとも１つのモジュールを生成して、プロセッサによるユーザ定義の命令の仕様を評価するエンハンスメントツールとを具備する構成可能なプロセッサを設計するシステム。
【請求項１７０】
少なくとも１つのモジュールは、動的に結合されたライブラリとして実現される請求項１６９のシステム。
【請求項１７１】
少なくとも１つのモジュールは、テーブルとして実現される請求項１６９のシステム。
【請求項１７２】
少なくとも１つのグループのコアソフトウェアツールは、ユーザ定義の命令モジュールを使用して、アプリケーションをユーザ定義の命令を使用し、かつプロセッサによって実行可能なコードにコンパイルするコンパイラを含む請求項１６９のシステム。
【請求項１７３】
少なくとも１つのモジュールは、ユーザ定義の命令をコンパイルする際にコンパイラによって使用するためのモジュールを含む請求項１７２のシステム。
【請求項１７４】
少なくとも１つのグループのコアソフトウェアツールが、ユーザ定義のモジュールを使用して、アプリケーションをユーザ定義の命令を使用し、かつプロセッサによって実行可能なコードにアセンブルするアセンブラを含む請求項１６９のシステム。
【請求項１７５】
少なくとも１つのモジュールが、アセンブリ言語命令をユーザ定義の命令にマッピングする際にアセンブラによって使用するためのモジュールを含む請求項１７４のシステム。
【請求項１７６】
少なくとも１つのグループのコアソフトウェアツールが、プロセッサによって実行可能なコードをシミュレートする命令セットシミュレータを含む請求項１７５のシステム。
【請求項１７７】
少なくとも１つのモジュールが、ユーザ定義の命令の実行をシミュレートする際にシミュレータによって使用するためのモジュールを含む請求項１７５のシステム。
【請求項１７８】
シミュレータによって使用するためのモジュールが、ユーザ定義の命令を復号化するデータを含む請求項１７５のシステム。
【請求項１７９】
コアソフトウェアツールの少なくとも１つのグループはプロセッサによって実行可能なコードをシミュレーションするための命令セットシミュレータを含む請求項１６９のシステム。
【請求項１８０】
少なくとも１つのモジュールはユーザ定義された命令の実行をシミュレーションする際にシミュレータによって使用されるためのモジュールを含む請求項１７９のシステム。
【請求項１８１】
シミュレータによって使用されるためのモジュールはユーザ定義された命令をデコードするためのデータを含む請求項１８０のシステム。
【請求項１８２】
シミュレータが、命令が予め定義された命令として復号化できない場合、シミュレータモジュールを使用して命令を復号化するモジュールを使用する請求項１８１のシステム。
【請求項１８３】
シミュレータによって使用されるためのモジュールは、ユーザ定義の命令のセマンティクスを解釈してモデル化するためのデータを含む請求１８０のシステム。
【請求項１８４】
シミュレータによって使用されるためのモジュールはシミュレーションの際に使用するためのユーザ定義された状態を記述するデータを含む請求項１８０のシステム。
【請求項１８５】
シミュレータによって使用されるためのモジュールはユーザ定義の命令の性能を決定するためのデータを含む請求項１８０のシステム。
【請求項１８６】
少なくとも１つのグループのコアソフトウェアツールが、ユーザ定義の命令を使用し、かつプロセッサによって実行可能なコードをデバッグするためにユーザ定義のモジュールを使用するデバッガを含む請求項１６９のシステム。
【請求項１８７】
少なくとも１つのモジュールが、マシン命令をアセンブリ命令に復号化するようにデバッガによって使用可能なモジュールを含む請求項１８６のシステム。
【請求項１８８】
少なくとも１つのモジュールが、アセンブリ命令をストリングに変換するようにデバッガによって使用可能なモジュールを含む請求項１８６のシステム。