JP2003518280A5 - - Google Patents

Download PDF

Info

Publication number
JP2003518280A5
JP2003518280A5 JP2000597714A JP2000597714A JP2003518280A5 JP 2003518280 A5 JP2003518280 A5 JP 2003518280A5 JP 2000597714 A JP2000597714 A JP 2000597714A JP 2000597714 A JP2000597714 A JP 2000597714A JP 2003518280 A5 JP2003518280 A5 JP 2003518280A5
Authority
JP
Japan
Prior art keywords
user
processor
module
instruction
generating
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2000597714A
Other languages
English (en)
Other versions
JP2003518280A (ja
Filing date
Publication date
Priority claimed from US09/246,047 external-priority patent/US6477683B1/en
Priority claimed from US09/323,161 external-priority patent/US6701515B1/en
Priority claimed from US09/322,735 external-priority patent/US6477697B1/en
Application filed filed Critical
Priority claimed from PCT/US2000/003091 external-priority patent/WO2000046704A2/en
Publication of JP2003518280A publication Critical patent/JP2003518280A/ja
Publication of JP2003518280A5 publication Critical patent/JP2003518280A5/ja
Withdrawn legal-status Critical Current

Links

Claims (188)

  1. 構成仕様に基づいてプロセッサのハードウェアインプリメンテーションの記述を生成する手段と、
    前記構成仕様に基づいて、前記ハードウェアインプリメンテーションに特有のソフトウェア開発ツールを生成する手段と、
    を備えている構成可能なプロセッサを設計するシステム。
  2. ソフトウェア開発ツールはプロセッサ上で実行するためのコードを発生する請求項1のシステム。
  3. 前記ソフトウェア開発ツールが、構成仕様に合わせられ、前記プロセッサによって実行可能なコードをリンクするリンカを含む請求項1のシステム。
  4. 前記ソフトウェア開発ツールが、構成仕様に合わせられ、アプリケーションを前記プロセッサによって実行可能なコードにアセンブルするアセンブラを含む請求項1のシステム。
  5. 前記ソフトウェア開発ツールが、構成仕様に合わせられ、前記プロセッサによって実行可能なコードをリンクするリンカを含む請求項1のシステム。
  6. 前記ソフトウェア開発ツールが、構成仕様に合わせられ、前記プロセッサによって実行可能なコードを逆アセンブルする逆アセンブラを含む請求項1のシステム。
  7. 前記ソフトウェア開発ツールが、構成仕様に合わせられ、前記プロセッサによって実行可能なコードをデバッグするデバッガを含む請求項1のシステム。
  8. 前記デバッガが、命令セットシミュレータおよびハードウェアインプリメンテーションのための共通インタフェースおよび構成を含む請求項7のシステム。
  9. 前記ソフトウェア開発ツールが、構成仕様に合わせられ、前記プロセッサによって実行可能なコードをシミュレートする命令セットシミュレータを含む請求項1のシステム。
  10. 前記命令セットシミュレータが、実行のサイクルを含む基本的な性能基準を測定するようにシミュレートされるコードの実行をモデル化できる請求項9のシステム。
  11. 前記性能基準が特定の構成可能なマイクロアーキテクチャ機能を基づいている請求項10のシステム。
  12. 前記命令セットシミュレータが、各シミュレートされた機能で実行される多数のサイクルを含む基準プロファイリング統計を記録するようにシミュレートされるプログラムの実行をプロファイルできる請求項10のシステム。
  13. 前記ハードウェアインプリメンテーション記述が、詳細HDLハードウェアインプリメンテーション記述を含む請求項1のシステム。
  14. 前記ハードウェアインプリメンテーション記述が、統合スクリプトを含む請求項1のシステム。
  15. 前記ハードウェアインプリメンテーション記述が、場所およびルートのスクリプトを含む請求項1のシステム。
  16. 前記ハードウェアインプリメンテーション記述がプログラム可能論理装置スクリプトを含む請求項1のシステム。
  17. 前記ハードウェアインプリメンテーション記述が、テストベンチを含む請求項1のシステム。
  18. 前記ハードウェアインプリメンテーション記述が、検証のための診断テストを含む請求項1のシステム。
  19. 前記ハードウェアインプリメンテーション記述が、シミュレータで診断テストを実行するスクリプトを含む請求項1のシステム。
  20. 前記ハードウェアインプリメンテーション記述が、テストツールを含む請求項1のシステム。
  21. 前記ハードウェアインプリメンテーション記述を生成する手段が、
    前記ハードウェアインプリメンテーション記述のハードウェア記述言語記述を生成する手段と、
    前記ハードウェア記述言語記述に基づいて前記ハードウェアインプリメンテーションのためのロジックを統合する手段と、
    回路を形成するために統合ロジックに基づいて構成要素をチップ上に配置し、かつ経路選択する手段とを備えている請求項1のシステム。
  22. 前記ハードウェアインプリメンテーション記述を生成する手段が、
    前記回路のタイミングを検証する手段と、
    前記回路の面積、サイクル時間および電力消費を決定する手段とをさらに含む請求項21のシステム。
  23. 前記構成仕様を生成する手段をさらに含む請求項1のシステム。
  24. 前記構成仕様を生成する手段が、ユーザによる構成パラメータの選択に応動する請求項23のシステム。
  25. 前記構成仕様を生成する手段が、前記プロセッサのための設計目標に応じて前記仕様を生成するためのものである請求項23のシステム。
  26. 前記構成仕様が、前記プロセッサの変更可能な特性の少なくとも1つのパラメータ仕様を含む請求項1のシステム。
  27. 前記少なくとも1つのパラメータ仕様が、機能ユニットの包含および前記機能ユニットを作動させる少なくとも1つのプロセッサ命令を指定する請求項26のシステム。
  28. 機能ユニットは乗算器であり、パラメータ仕様は乗算器を作動させる少なくとも1つの乗算命令を特定する請求項27のシステム。
  29. 機能ユニットは乗算累算ユニットであり、パラメータ仕様は復号乗算、累算、オペランド負荷およびアドレス更新動作を実行する少なくとも1つの命令を特定する請求項27のシステム。
  30. 機能ユニットはデジタル信号プロセッサであり、パラメータ仕様はデジタル信号プロセッサを作動させる少なくとも1つの命令を特定する請求項27のシステム。
  31. 機能ユニットはコプロセッサであり、パラメータ仕様はコプロセッサを作動させる少なくとも1つの命令を特定する請求項27のシステム。
  32. 前記少なくとも1つのパラメータ仕様構成が、プロセッサ状態に影響を及ぼす構造の包含、除外および特性の1つを指定する請求項26のシステム。
  33. 前記構造がレジスタファイルであり、かつ前記パラメータ仕様が前記レジスタファイルのレジスタ数を指定する請求項32のシステム。
  34. 前記構造が命令キャッシュである請求項32のシステム。
  35. パラメータ仕様はキャッシュのサイズを特定する請求項34のシステム。
  36. パラメータ仕様はキャッシュのラインサイズを特定する請求項35のシステム。
  37. パラメータ仕様はキャッシュのセットアソシアティビティを特定する請求項35のシステム。
  38. 前記構造がデータキャッシュである請求項32のシステム。
  39. パラメータ仕様はキャッシュのサイズを特定する請求項38のシステム。
  40. パラメータ仕様はキャッシュのラインサイズを特定する請求項38のシステム。
  41. パラメータ仕様はキャッシュのセットアソシアティビティを特定する請求項38のシステム。
  42. 前記構造が書き込みバッファである請求項32のシステム。
  43. 前記構造がオンチップROMおよびオンチップRAMの1つである請求項32のシステム。
  44. 前記少なくとも1つのパラメータ仕様が、前記プロセッサのデータおよび命令の少なくとも1つの解釈を制御するセマンティック特性を指定する請求項26のシステム。
  45. セマンティック特性は命令バイト配列であり、パラメータ仕様はビッグエンディアンおよびリトルエンディアンバイト配列のうちの1つを特定する請求項44のシステム。
  46. セマンティック特性は命令セットのコード密度である請求項44のシステム。
  47. 前記少なくとも1つのパラメータ仕様が、前記プロセッサの命令を制御する実行特性を指定する請求項26のシステム。
  48. 実行特性はプロセッサの外部割り込みの数である請求項47のシステム。
  49. 実行特性はプロセッサの割り込みタイマの数である請求項47のシステム。
  50. 実行特性はプロセッサの割り込み優先度レベルの数である請求項47のシステム。
  51. 実行特性はキャッシュがライトバックキャッシュおよびライトスルーキャッシュのうちの1つであることである請求項47のシステム。
  52. 実行特性はプロセッサの別のプロセッサとの同期である請求項47のシステム。
  53. 実行特性はソフトウェア制御されたブランチ予測子である請求項47のシステム。
  54. 実行特性はプロセッサレジスタのウィンドウ処理動作である請求項47のシステム。
  55. 前記少なくとも1つのパラメータ仕様が前記プロセッサのデバッグ特性を指定する請求項26のシステム。
  56. デバッグ特性はアドレストレースおよびパイプラインポートの包含および排除のうちの1つを含む請求項55のシステム。
  57. デバッグ特性は命令およびデータブレイクポイントサポートの包含および排除のうちの1つを含む請求項55のシステム。
  58. デバッグ特性は検査サポートを含む請求項55のシステム。
  59. 前記構成仕様が、所定の特性の選択、プロセッサ要素のサイズあるいは数、および値の割当ての少なくとも1つを指定するパラメータ仕様を含む請求項26のシステム。
  60. 前記構成仕様の適否を評価する手段をさらに含む請求項1のシステム。
  61. 前記評価する手段が、対話型推定ツールを含む請求項60のシステム。
  62. 前記評価する手段が、前記構成仕様によって記述されたプロセッサのハードウェア特性を評価するためのものである請求項60のシステム。
  63. 前記評価する手段が、前記プロセッサの推定性能特性に基づいて前記構成仕様の適否を評価するためのものである請求項60のシステム。
  64. 前記推定性能特性に基づいて前記構成仕様の変更を可能にする情報を供給する手段をさらに含む請求項63のシステム。
  65. 前記性能特性が、チップ上に前記プロセッサを実現するのに必要とされる面積、前記プロセッサによって消費される電力、および前記プロセッサのクロック速度の少なくとも1つを含む請求項63のシステム。
  66. 前記評価する手段が、前記プロセッサの推定ソフトウェア特性に基づいて前記構成仕様の適否を評価するためのものである請求項60のシステム。
  67. 前記評価する手段が、コードサイズおよび前記構成仕様によって記述されたプロセッサ上で一連のベンチマークプログラムを実行するのに必要とされるサイクルの少なくとも1つを推定することによって適否評価を対話してユーザに表示するためのものである請求項66のシステム。
  68. 前記評価する手段が、前記構成仕様によって記述されたプロセッサのハードウェア特性およびソフトウェア特性を評価するためのものである請求項60のシステム。
  69. プロセッサのハードウェアインプリメンテーションの記述を発生する手段が、更にハードウェア性能およびコストの特徴付けるものであり、ソフトウェア開発ツールを発生する手段が、プロセッサのハードウェアインプリメンテーションの記述を発生する手段と共にソフトウェアアプリケーション性能情報を発生して構成仕様の変更を容易にするためのものである請求項1のシステム。
  70. プロセッサのハードウェアインプリメンテーションの記述を発生する手段が、更にハードウェア性能およびコストの特徴付けるものであり、ソフトウェア開発ツールを発生する手段が、プロセッサのハードウェアインプリメンテーションの記述を発生する手段と共にソフトウェアアプリケーション性能情報を発生して構成仕様の拡張を容易にするためのものである請求項1のシステム。
  71. プロセッサのハードウェア記述を発生する手段が、更にハードウェア性能およびコストの特徴付けるものであり、ソフトウェア開発ツールを発生する手段が、プロセッサのハードウェアインプリメンテーションの記述を生成する手段と一緒にソフトウェアアプリケーション性能情報を発生して、構成仕様の変更を容易にするためのものであり、
    プロセッサのハードウェア記述を発生する手段が、更にハードウェア性能およびコストの特徴付けるものであり、ソフトウェア開発ツールを発生する手段が、プロセッサのハードウェアインプリメンテーションの記述を発生する手段と共にソフトウェアアプリケーション性能情報を発生して、構成仕様の拡張の記述を容易にするためのものである請求項1のシステム。
  72. 拡張によって前記プロセッサの構成を生成する手段をさらに含む請求項1のシステム。
  73. 前記構成仕様が、前記プロセッサの拡張可能な特性の少なくとも1つの拡張仕様を含む請求項1のシステム。
  74. 前記拡張仕様が、付加命令を指定する請求項73のシステム。
  75. 前記拡張仕様が、ユーザ定義の命令の包含および前記命令のためのインプリメンテーションを指定する請求項73のシステム。
  76. 前記ソフトウェア開発ツールを生成する手段が、少なくとも1つのアプリケーションに特に適しているユーザポテンシャルユーザ定義の命令に示唆する手段を含む請求項75のシステム。
  77. 前記ソフトウェア開発ツールが、ユーザ定義の命令を生成するコンパイラを含む請求項75のシステム。
  78. 前記コンパイラがユーザ定義の命令を含むコードを最適化できる請求項77のシステム。
  79. 前記ソフトウェア開発ツールが、前記ユーザ定義の命令を生成できるアセンブラを含む請求項75のシステム。
  80. 前記ソフトウェア開発ツールが、前記ユーザ定義の命令を使用するユーザコードの実行をシミュレートできるシミュレータを含む請求項75のシステム。
  81. 前記ソフトウェア開発ツールが、前記ユーザ定義の命令のユーザインプリメンテーションを検証できるツールを含む請求項75のシステム。
  82. 前記コンパイラが、付加命令を自動的に生成できる請求項74のシステム。
  83. 前記拡張仕様が、ユーザによって抽象形式で実質的に設計された機能性を有する新しい特性を指定し、かつ前記ハードウェアインプリメンテーション記述を生成する手段が、さらに前記新しい特性を再定義し、かつ前記詳細ハードウェアインプリメンテーション記述に統合するためのものである請求項73のシステム。
  84. 前記拡張仕様が、演算符号割当および命令セマンティックを指定する命令セットアーキテクチャ言語におけるステートメントである請求項83のシステム。
  85. 前記ハードウェアインプリメンテーション記述を生成する手段が、前記命令セットアーキテクチャ言語定義から命令復号化ロジックを生成する手段を含む請求項84のシステム。
  86. 前記ハードウェアインプリメンテーション記述を生成する手段が、前記命令セットアーキテクチャ言語定義に基づいて命令インターロックおよびストールロジックのためのレジスタオペランド使用を指定する信号を発生する手段を含む請求項85のシステム。
  87. 前記ソフトウェア開発ツールを生成する手段が、前記構成仕様に合わせられた命令セットシミュレータで使用される命令復号化処理を生成する手段を含む請求項83のシステム。
  88. 前記ソフトウェア開発ツールを生成する手段が、前記構成仕様に合わせられたアセンブラで使用される符号化テーブルを生成する手段を含む請求項83のシステム。
  89. 前記ハードウェアインプリメンテーション記述を生成する手段が、さらに前記新しい特性のためのデータパスハードウエアの記述を生成するためのものであり、前記データパスハードウエアが、前記プロセッサの特定のパイプラインアーキテクチャと一致する請求項83のシステム。
  90. 前記付加命令が、新しい状態を前記プロセッサに全然付加しない請求項74のシステム。
  91. 前記付加命令が、状態を前記プロセッサに付加する請求項74のシステム。
  92. 前記構成仕様が、命令セットアーキテクチャ記述言語記述によって指定される少なくとも一部を含む請求項1のシステム。
  93. 前記ハードウェアインプリメンテーション記述を生成する手段が命令復号化ロジックを前記命令セットアーキテクチャ言語記述から自動的に生成する手段を含む請求項92のシステム。
  94. 前記ソフトウェア開発ツールを生成する手段が、アセンブラコアを前記命令セットアーキテクチャ言語記述から自動的に生成する手段を含む請求項92のシステム。
  95. 前記ソフトウェア開発ツールを生成する手段が、コンパイラを前記命令セットアーキテクチャ言語記述から自動的に生成する手段を含む請求項92のシステム。
  96. 前記ソフトウェア開発ツールを生成する手段が、逆アセンブラを前記命令セットアーキテクチャ言語記述から自動的に生成する手段を含む請求項92のシステム。
  97. 前記ソフトウェア開発ツールを生成する手段が、命令セットシミュレータを前記命令セットアーキテクチャ言語記述から自動的に生成する手段を含む請求項92のシステム。
  98. 前記ハードウェアインプリメンテーション記述を生成する手段が、前記構成仕様に基づいて前記ハードウェアインプリメンテーション記述および前記ソフトウエアツールのそれぞれを変更するために前記ハードウェアインプリメンテーション記述および前記ソフトウェア開発ツールの少なくとも1つの一部を前処理する手段を含む請求項1のシステム。
  99. 前記前処理する手段が、前記ハードウェアインプリメンテーション記述および前記ソフトウェア開発ツールの中の1つの式の数値を求め、かつ前記構成仕様に基づいて前記式を値と取り換えるためのものである請求項98のシステム。
  100. 前記式が、対話型構成子、条件付構成子およびデータベース問い合わせの少なくとも1つを含む請求項99のシステム。
  101. 前記構成仕様が、前記プロセッサの変更可能な特性を指定する少なくとも1つのパラメータ仕様および前記プロセッサの拡張可能な特性を指定する少なくとも1つの拡張仕様を含む請求項1のシステム。
  102. 前記変更可能な特性が、前記コア仕様の変更および前記変更仕様に指定されない選択機能の1つである請求項101のシステム。
  103. 前記構成仕様が、前記プロセッサの2進の選択可能な特性を指定する少なくとも1つの仕様と、前記プロセッサの少なくとも1つのパラメータの指定可能な特性と、前記プロセッサの拡張可能特性を指定する少なくとも1つの拡張仕様とを含む請求項1のシステム。
  104. 構成可能なプロセッサを設計する方法であって、
    構成仕様に基づいて前記プロセッサのハードウェアインプリメンテーションの記述を生成し、
    前記構成仕様に基づいて前記ハードウェアインプリメンテーションに特有のソフトウェア開発ツールを生成することとを含む構成可能なプロセッサを設計する方法。
  105. 構成可能なプロセッサを設計するシステムであって、
    ユーザ定義可能な部分を有する構成仕様を生成する手段であって、前記構成仕様の前記ユーザ定義可能な部分が、
    ユーザ定義のプロセッサ状態の仕様と、
    少なくとも1つのユーザ定義の命令およびそれに関連したユーザ定義の機能とを含み、前記機能が、前記ユーザ定義のプロセッサ状態からの読み出しおよび前記ユーザ定義のプロセッサ状態への書き込みの少なくとも1つであることと、
    構成仕様に基づいて前記プロセッサのハードウェアインプリメンテーションの記述を生成する手段とを備えているシステム。
  106. ソフトウェア開発ツールは、ソフトウェア開発ツールを発生して、プロセッサ上で実行するためのコードを発生するためのものである請求項105のシステム。
  107. 前記プロセッサの前記ハードウェアインプリメンテーションが、命令実行パイプラインを記述し、かつ
    前記制御ロジックが、前記命令実行パイプラインの各段に関連した部分を含む請求項106のシステム。
  108. 前記ハードウェアインプリメンテーション記述が、命令実行を打ち切る回路の記述を含み、かつ
    前記制御ロジックが、打ち切られた命令によって前記ユーザ定義の状態の変更を防止する回路を含む請求項107のシステム。
  109. 前記制御ロジックが、命令発行、オペランドバイパス、および前記少なくとも1つのユーザ定義の命令のためのオペランド書き込みイネーブルの少なくとも1つを実行する回路を含む請求項108のシステム。
  110. 前記ハードウェアインプリメンテーション記述が、複数の段の前記命令実行パイプラインで前記ユーザ定義の状態を実行するレジスタを含む請求項107のシステム。
  111. 前記ハードウェアインプリメンテーション記述が、出力オペランドが発生されるパイプライン段とは異なるパイプライン段で記述される状態レジスタを含み、かつ
    前記ハードウェアインプリメンテーションが、前記ユーザ定義のプロセッサ状態への書き込みがコミットされる前にこのような書き込みが前記ユーザ定義のプロセッサ状態を参照する次の命令へバイパスされる請求項107のシステム。
  112. 前記構成仕様が、前記ユーザ定義の部分に加えて所定の部分を含み、かつ
    前記仕様の所定の部分が、前記ユーザ定義の状態をメモリに保存することを容易にする命令および前記ユーザ定義の状態をメモリから復元することを容易にする命令を含む請求項105のシステム。
  113. 前記命令を使用して前記ユーザ定義の状態をコンテキスト切り換えるソフトウェアを生成する手段をさらに含む請求項112のシステム。
  114. 命令設定シミュレータはコードのシミュレーションの実行をモデルにして、実行の周期を含むキーパフォーマンス基準を測定することができる請求項113のシステム。
  115. ユーザ定義されたプロセッサの状態と少なくとも1つのユーザ定義された命令とをコンパイルするコンパイラを生成する手段をさらに具備する請求項105のシステム。
  116. 命令設定シミュレータはプログラムのシミュレーションの実行をプロファイルして、各シミュレーションされた機能で実行される多数の周期を含む標準プロファイリング統計を記録する請求項114のシステム。
  117. ユーザ定義されたプロセッサ状態と少なくとも1つのユーザ定義された命令とをデバッグするデバッガを生成することをさらに具備する請求項105のシステム。
  118. 前記ユーザ定義のプロセッサ状態および前記少なくとも1つのユーザ定義の命令をアセンブルするアセンブラ、前記ユーザ定義のプロセッサ状態および前記少なくとも1つのユーザ定義の命令をコンパイルするコンパイラ、前記ユーザ定義のプロセッサ状態および前記少なくとも1つのユーザ定義の命令をシミュレートするシミュレータ、および前記ユーザ定義のプロセッサ状態および前記少なくとも1つのユーザ定義の命令をデバッグするデバッガの少なくとも1つを生成する手段をさらに含む請求項105のシステム。
  119. 前記仕様の前記ユーザ定義の一部が、前記ユーザ定義の状態をサイズおよびインデクシングを指定する少なくとも1つのステートメントを含む請求項105のシステム。
  120. 前記仕様の前記ユーザ定義の一部が、前記ユーザ定義の状態に関連し、かつプロセッサレジスタの前記ユーザ定義の状態のパッキングを指定する少なくとも1つの属性を含む請求項119のシステム。
  121. 前記仕様の前記ユーザ定義の一部が、プロセッサレジスタへの前記ユーザ定義の状態のマッピングを指定する少なくとも1つのステートメントを含む請求項105のシステム。
  122. ハードウェアインプリメンテーション記述を生成する手段はユーザ定義された状態をプロセッサレジスタへ自動的にマッピングする手段を含む請求項105のシステム。
  123. 前記仕様の前記ユーザ定義の一部が、ユーザ定義の命令のクラスおよび前記ユーザ定義の状態に対するその効果を指定する少なくとも1つのステートメントを含む請求項105のシステム。
  124. 前記仕様の前記ユーザ定義の一部が、ある値を前記ユーザ定義の状態に割当てる少なくとも1つの割当ステートメントを含む請求項105のシステム。
  125. プロセッサの命令セットアーキテクチャ仕様に基づいて、プロセッサに対して特に生成されるコアソフトウェアツールと、
    ユーザ定義の命令仕様に基づいて、コアソフトウェアによって使用されるための少なくとも1つのモジュールを生成して、プロセッサによるユーザ定義の命令の仕様を評価するエンハンスメントツールとを具備する、構成可能なプロセッサを設計するシステム。
  126. コアソフトウェアツールは、プロセッサ上で実行するコードを生成することができるソフトウェアツールを具備する請求項125のシステム。
  127. 少なくとも1つのモジュールは、動的に結合されたライブラリとして実現される請求項125のシステム。
  128. 少なくとも1つのモジュールはテーブルとして実現される請求項125のシステム。
  129. コアソフトウェアツールは、少なくとも1つのモジュールを使用して、ユーザ定義の命令を使用し、かつプロセッサにより実行可能なコードにアプリケーションをコンパイルするコンパイラを含む請求項125のシステム。
  130. 少なくとも1つのモジュールは、ユーザ定義の命令をコンパイルする際にコンパイラによって使用されるためのモジュールを含む請求項129のシステム。
  131. コアソフトウェアツールは、少なくとも1つのモジュールを使用して、ユーザ定義の命令を使用し、かつプロセッサにより実行可能なコードにアセンブルするアセンブラを含む請求項125のシステム。
  132. 少なくとも1つのモジュールは、アセンブリ言語命令をユーザ定義の命令にマッピングする際にアセンブラによって使用されるためのモジュールを含む請求項131のシステム。
  133. アセンブラによって使用されるためのモジュールは、操作符号簡略記憶文字列を内部操作符号表現に翻訳するためのデータを含む請求項132のシステム。
  134. アセンブラによって使用されるためのモジュールは、ユーザ定義の命令の操作符号フィールド用に発生すべきビットパターンを特定するためのデータを含む請求項132のシステム。
  135. アセンブラによって使用されるためのモジュールは、ユーザ定義の命令に対応するマシン命令のフィールドにオペランド値をエンコードするためのデータを含む請求項132のシステム。
  136. システムは、非ユーザ定義の命令を指定するコア命令セット仕様をさらに含み、
    コア命令セット仕様は、アプリケーションをプロセッサによって実行可能なコードにアセンブルするアセンブラによって使用される請求項132のシステム。
  137. コアソフトウェアツールは、プロセッサにより実行可能なコードをシミュレートする命令セットシミュレータを含む請求項125のシステム。
  138. 少なくとも1つのモジュールはユーザ定義の命令の実行をシミュレートする際にシミュレータによって使用されるためのシミュレータモジュールを含む請求項137のシステム。
  139. シミュレータにより使用されるためのモジュールは、ユーザ定義の命令を復号化するためのデータを含む請求項138のシステム。
  140. シミュレータは、命令が予め定義された命令として復号化できない場合、前記シミュレータモジュールを使用して命令を復号化するモジュールを使用する請求項139のシステム。
  141. シミュレータによって使用されるためのモジュールは、ユーザ定義の命令のセマンティクスを解釈してモデル化するためのデータを含む請求項138のシステム。
  142. シミュレータによって使用されるためのモジュールはシミュレーションの際に使用するためのユーザ定義された状態を記述するデータを含む請求項138のシステム。
  143. シミュレータによって使用されるためのモジュールはユーザ定義の命令の性能を決定するためのデータを含む請求項138のシステム。
  144. コアソフトウェアツールは、ユーザ定義の命令を使用し、かつプロセッサによって実行可能なコードをデバッグするためにユーザ定義のモジュールを使用するデバッガを含む請求項125のシステム。
  145. 少なくとも1つのモジュールは、マシン命令をアセンブリ命令に復号化するためのデバッガによって使用可能なモジュールを含む請求項144のシステム。
  146. 少なくとも1つのモジュールは、アセンブリ命令をストリングに変換するためのデバッガによって使用可能なモジュールを含む請求項144のシステム。
  147. コアソフトウェアツールは、プロセッサによって実行可能なコードをシミュレートする命令セットシミュレータを含み、
    デバッガは、デバッグするためにユーザ定義された状態の情報を得るため、シミュレータと通信するためのものである請求項144のシステム。
  148. 単一のユーザ定義の命令が、異なるコア命令セット仕様に基づいて複数のコアソフトウェアツールによって変更されないで使用可能な請求項125のシステム。
  149. 構成可能なプロセッサを設計するシステムであって、
    プロセッサの命令セットアーキテクチャ仕様に基づいて、プロセッサに対して特に生成されるコアソフトウェアツールと、
    ユーザ定義の命令仕様に基づいて、コアソフトウェアによって使用されるための少なくとも1つのモジュールを生成して、プロセッサによるユーザ定義の命令の仕様を評価するエンハンスメントツールと、
    エンハンスメントツールによって生成したグループを同時に記憶する記憶手段とを具備し、各グループはユーザ定義の命令の異なる組に対応するシステム。
  150. 少なくとも1つのモジュールは動的に結合されたライブラリとして実現される請求項149のシステム。
  151. 少なくとも1つのモジュールはテーブルとして実現される請求項149のシステム。
  152. コアソフトウェアツールは、ユーザ定義の命令モジュールを使用して、アプリケーションをユーザ定義の命令を使用し、かつプロセッサによって実行可能なコードにコンパイルするコンパイラを含む請求項149のシステム。
  153. 少なくとも1つのモジュールは、ユーザ定義の命令をコンパイルする際にコンパイラによって使用するためのモジュールを含む請求項152のシステム。
  154. コアソフトウェアツールは、ユーザ定義のモジュールを使用して、アプリケーションをユーザ定義の命令を使用し、かつプロセッサによって実行可能なコードにアセンブルするアセンブラを含む請求項149のシステム。
  155. 少なくとも1つのモジュールが、アセンブリ言語命令をユーザ定義の命令にマッピングする際にアセンブラによって使用するためのモジュールを含む請求項154のシステム。
  156. エンコードモジュールは操作符号簡略記憶文字列を内部符号表現に翻訳するためのデータを含む請求項155のシステム。
  157. アセンブラによって使用されるためのモジュールは、ユーザ定義の命令の操作符号フィールド用に発生すべきビットパターンを特定するためのデータを含む請求項155のシステム。
  158. アセンブラによって使用されるためのモジュールは、ユーザ定義の命令に対応するマシン命令のフィールドにオペランド値をエンコードするためのデータを含む請求項155のシステム。
  159. コアソフトウェアツールは、プロセッサによって実行可能なコードをシミュレートする命令セットシミュレータを含む請求項149のシステム。
  160. 少なくとも1つのモジュールは、ユーザ定義の命令の実行をシミュレートする際にシミュレータによって使用するためのモジュールを含む請求項159のシステム。
  161. シミュレータによって使用するためのモジュールが、ユーザ定義の命令を復号化するデータを含む請求項160のシステム。
  162. シミュレータは、命令が予め定義された命令として復号化できない場合、シミュレータモジュールを使用して命令を復号化するモジュールを使用する請求項161のシステム。
  163. シミュレータによって使用されるためのモジュールは、ユーザ定義の命令のセマンティクスを解釈してモデル化するためのデータを含む請求項160のシステム。
  164. シミュレータによって使用されるためのモジュールはシミュレーションの際に使用するためのユーザ定義された状態を記述するデータを含む請求項160のシステム。
  165. シミュレータによって使用されるためのモジュールはユーザ定義の命令の性能を決定するためのデータを含む請求項160のシステム。
  166. コアソフトウェアツールが、ユーザ定義の命令を使用し、かつプロセッサによって実行可能なコードをデバッグするためにユーザ定義のモジュールを使用するデバッガを含む請求項149のシステム。
  167. 少なくとも1つのモジュールは、マシン命令をアセンブリ命令に復号化するようにデバッガによって使用可能なモジュールを含む請求項166のシステム。
  168. 少なくとも1つのモジュールが、アセンブリ命令をストリングに変換するようにデバッガによって使用可能なモジュールを含む請求項166のシステム。
  169. 各々のグループが、プロセッサの命令セットアーキテクチャ仕様に基づいて、プロセッサのために特に生成されている、コアソフトウェアツールの複数のグループと、
    ユーザ定義の命令仕様に基づいて、コアソフトウェアによって使用されるための少なくとも1つのモジュールを生成して、プロセッサによるユーザ定義の命令の仕様を評価するエンハンスメントツールとを具備する構成可能なプロセッサを設計するシステム。
  170. 少なくとも1つのモジュールは、動的に結合されたライブラリとして実現される請求項169のシステム。
  171. 少なくとも1つのモジュールは、テーブルとして実現される請求項169のシステム。
  172. 少なくとも1つのグループのコアソフトウェアツールは、ユーザ定義の命令モジュールを使用して、アプリケーションをユーザ定義の命令を使用し、かつプロセッサによって実行可能なコードにコンパイルするコンパイラを含む請求項169のシステム。
  173. 少なくとも1つのモジュールは、ユーザ定義の命令をコンパイルする際にコンパイラによって使用するためのモジュールを含む請求項172のシステム。
  174. 少なくとも1つのグループのコアソフトウェアツールが、ユーザ定義のモジュールを使用して、アプリケーションをユーザ定義の命令を使用し、かつプロセッサによって実行可能なコードにアセンブルするアセンブラを含む請求項169のシステム。
  175. 少なくとも1つのモジュールが、アセンブリ言語命令をユーザ定義の命令にマッピングする際にアセンブラによって使用するためのモジュールを含む請求項174のシステム。
  176. 少なくとも1つのグループのコアソフトウェアツールが、プロセッサによって実行可能なコードをシミュレートする命令セットシミュレータを含む請求項175のシステム。
  177. 少なくとも1つのモジュールが、ユーザ定義の命令の実行をシミュレートする際にシミュレータによって使用するためのモジュールを含む請求項175のシステム。
  178. シミュレータによって使用するためのモジュールが、ユーザ定義の命令を復号化するデータを含む請求項175のシステム。
  179. コアソフトウェアツールの少なくとも1つのグループはプロセッサによって実行可能なコードをシミュレーションするための命令セットシミュレータを含む請求項169のシステム。
  180. 少なくとも1つのモジュールはユーザ定義された命令の実行をシミュレーションする際にシミュレータによって使用されるためのモジュールを含む請求項179のシステム。
  181. シミュレータによって使用されるためのモジュールはユーザ定義された命令をデコードするためのデータを含む請求項180のシステム。
  182. シミュレータが、命令が予め定義された命令として復号化できない場合、シミュレータモジュールを使用して命令を復号化するモジュールを使用する請求項181のシステム。
  183. シミュレータによって使用されるためのモジュールは、ユーザ定義の命令のセマンティクスを解釈してモデル化するためのデータを含む請求180のシステム。
  184. シミュレータによって使用されるためのモジュールはシミュレーションの際に使用するためのユーザ定義された状態を記述するデータを含む請求項180のシステム。
  185. シミュレータによって使用されるためのモジュールはユーザ定義の命令の性能を決定するためのデータを含む請求項180のシステム。
  186. 少なくとも1つのグループのコアソフトウェアツールが、ユーザ定義の命令を使用し、かつプロセッサによって実行可能なコードをデバッグするためにユーザ定義のモジュールを使用するデバッガを含む請求項169のシステム。
  187. 少なくとも1つのモジュールが、マシン命令をアセンブリ命令に復号化するようにデバッガによって使用可能なモジュールを含む請求項186のシステム。
  188. 少なくとも1つのモジュールが、アセンブリ命令をストリングに変換するようにデバッガによって使用可能なモジュールを含む請求項186のシステム。
JP2000597714A 1999-02-05 2000-02-04 構成可能なプロセッサを設計するための自動プロセッサ生成システムおよび生成方法 Withdrawn JP2003518280A (ja)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US09/246,047 US6477683B1 (en) 1999-02-05 1999-02-05 Automated processor generation system for designing a configurable processor and method for the same
US09/246,047 1999-02-05
US09/323,161 US6701515B1 (en) 1999-05-27 1999-05-27 System and method for dynamically designing and evaluating configurable processor instructions
US09/323,161 1999-05-27
US09/322,735 US6477697B1 (en) 1999-02-05 1999-05-28 Adding complex instruction extensions defined in a standardized language to a microprocessor design to produce a configurable definition of a target instruction set, and hdl description of circuitry necessary to implement the instruction set, and development and verification tools for the instruction set
US09/322,735 1999-05-28
PCT/US2000/003091 WO2000046704A2 (en) 1999-02-05 2000-02-04 Automated processor generation system and method for designing a configurable processor

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2007161932A Division JP2007250010A (ja) 1999-02-05 2007-06-19 構成可能なプロセッサを設計するための自動プロセッサ生成システム及び生成方法

Publications (2)

Publication Number Publication Date
JP2003518280A JP2003518280A (ja) 2003-06-03
JP2003518280A5 true JP2003518280A5 (ja) 2005-10-13

Family

ID=27399897

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2000597714A Withdrawn JP2003518280A (ja) 1999-02-05 2000-02-04 構成可能なプロセッサを設計するための自動プロセッサ生成システムおよび生成方法
JP2007161932A Withdrawn JP2007250010A (ja) 1999-02-05 2007-06-19 構成可能なプロセッサを設計するための自動プロセッサ生成システム及び生成方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2007161932A Withdrawn JP2007250010A (ja) 1999-02-05 2007-06-19 構成可能なプロセッサを設計するための自動プロセッサ生成システム及び生成方法

Country Status (6)

Country Link
EP (1) EP1159693A2 (ja)
JP (2) JP2003518280A (ja)
KR (2) KR100874738B1 (ja)
AU (1) AU3484100A (ja)
TW (1) TW539965B (ja)
WO (1) WO2000046704A2 (ja)

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0028079D0 (en) * 2000-11-17 2001-01-03 Imperial College System and method
JP2002230065A (ja) 2001-02-02 2002-08-16 Toshiba Corp システムlsi開発装置およびシステムlsi開発方法
WO2002084538A1 (en) 2001-04-11 2002-10-24 Mentor Graphics Corporation Hdl preprocessor
DE10128339A1 (de) * 2001-06-12 2003-01-02 Systemonic Ag Verfahren zur Validierung eines Modells für eine datenverarbeitende Schaltungsanordung
US6941548B2 (en) 2001-10-16 2005-09-06 Tensilica, Inc. Automatic instruction set architecture generation
DE10205523A1 (de) * 2002-02-08 2003-08-28 Systemonic Ag Verfahren zum Bereitstellen einer Entwurfs-, Test- und Entwicklungsumgebung sowie ein System zur Ausführung des Verfahrens
US7200735B2 (en) 2002-04-10 2007-04-03 Tensilica, Inc. High-performance hybrid processor with configurable execution units
JP2003316838A (ja) * 2002-04-19 2003-11-07 Nec Electronics Corp システムlsiの設計方法及びこれを記憶した記録媒体
JP4202673B2 (ja) 2002-04-26 2008-12-24 株式会社東芝 システムlsi開発環境生成方法及びそのプログラム
US7346881B2 (en) 2002-05-13 2008-03-18 Tensilica, Inc. Method and apparatus for adding advanced instructions in an extensible processor architecture
US7937559B1 (en) 2002-05-13 2011-05-03 Tensilica, Inc. System and method for generating a configurable processor supporting a user-defined plurality of instruction sizes
US7376812B1 (en) 2002-05-13 2008-05-20 Tensilica, Inc. Vector co-processor for configurable and extensible processor architecture
US7784024B2 (en) 2003-08-20 2010-08-24 Japan Tobacco Inc. Program creating system, program creating program, and program creating module
US7278122B2 (en) 2004-06-24 2007-10-02 Ftl Systems, Inc. Hardware/software design tool and language specification mechanism enabling efficient technology retargeting and optimization
KR100722428B1 (ko) * 2005-02-07 2007-05-29 재단법인서울대학교산학협력재단 리소스 공유 및 파이프 라이닝 구성을 갖는 재구성가능배열구조
US7757224B2 (en) * 2006-02-02 2010-07-13 Microsoft Corporation Software support for dynamically extensible processors
KR100793210B1 (ko) * 2006-06-01 2008-01-10 조용범 Arm 프로세서에서의 메모리 접근 횟수를 줄인 디코더구현방법
KR100813662B1 (ko) 2006-11-17 2008-03-14 삼성전자주식회사 프로세서 구조 및 응용의 최적화를 위한 프로파일러
CN101542434A (zh) 2006-11-21 2009-09-23 日本电气株式会社 指令操作码生成***
JP5217431B2 (ja) 2007-12-28 2013-06-19 富士通株式会社 演算処理装置及び演算処理装置の制御方法
WO2009084570A1 (ja) * 2007-12-28 2009-07-09 Nec Corporation コンパイラ組み込み関数追加装置
JP2010181942A (ja) * 2009-02-03 2010-08-19 Renesas Electronics Corp Pld/cpldからマイコンへの置換え見積の情報提供システム及び方法
US8775125B1 (en) 2009-09-10 2014-07-08 Jpmorgan Chase Bank, N.A. System and method for improved processing performance
TWI416302B (zh) * 2009-11-20 2013-11-21 Ind Tech Res Inst 具電源模式感知之時脈樹及其合成方法
KR101635397B1 (ko) * 2010-03-03 2016-07-04 삼성전자주식회사 재구성 가능한 프로세서 코어를 사용하는 멀티코어 시스템의 시뮬레이터 및 시뮬레이션 방법
WO2012108411A1 (ja) 2011-02-10 2012-08-16 日本電気株式会社 符号化/復号化処理プロセッサ、および無線通信装置
US8880851B2 (en) * 2011-04-07 2014-11-04 Via Technologies, Inc. Microprocessor that performs X86 ISA and arm ISA machine language program instructions by hardware translation into microinstructions executed by common execution pipeline
KR20130088285A (ko) * 2012-01-31 2013-08-08 삼성전자주식회사 데이터 처리 시스템 및 그 시스템에서 데이터 시뮬레이션 방법
KR102025694B1 (ko) * 2012-09-07 2019-09-27 삼성전자 주식회사 재구성 가능한 프로세서의 검증 방법
US10558437B1 (en) * 2013-01-22 2020-02-11 Altera Corporation Method and apparatus for performing profile guided optimization for high-level synthesis
KR102122455B1 (ko) * 2013-10-08 2020-06-12 삼성전자주식회사 프로세서의 디코더 검증을 위한 테스트 벤치 생성 방법 및 이를 위한 장치
US10084456B2 (en) 2016-06-18 2018-09-25 Mohsen Tanzify Foomany Plurality voter circuit
RU2631989C1 (ru) * 2016-09-22 2017-09-29 ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ КАЗЕННОЕ ВОЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ "Военная академия Ракетных войск стратегического назначения имени Петра Великого" МИНИСТЕРСТВА ОБОРОНЫ РОССИЙСКОЙ ФЕДЕРАЦИИ Устройство для диагностического контроля выполнения проверок
US10426424B2 (en) 2017-11-21 2019-10-01 General Electric Company System and method for generating and performing imaging protocol simulations
KR102104198B1 (ko) * 2019-01-10 2020-05-29 한국과학기술원 느긋한 심볼화를 활용한 바이너리 재조립 기술의 정확도 향상 기술 및 도구
CN110096257B (zh) * 2019-04-10 2023-04-07 沈阳哲航信息科技有限公司 一种基于智能识别的设计图形自动化评判***及方法
CN111832737B (zh) * 2019-04-18 2024-01-09 中科寒武纪科技股份有限公司 一种数据处理方法及相关产品
CN111400986B (zh) * 2020-02-19 2024-03-19 西安智多晶微电子有限公司 一种集成电路计算设备及计算处理***
JP7461181B2 (ja) * 2020-03-16 2024-04-03 本田技研工業株式会社 制御装置、システム、プログラム、及び制御方法
CN114721982B (zh) * 2022-03-22 2024-06-18 潍柴动力股份有限公司 一种可配置存储数据类型的读写处理方法及***
CN114492264B (zh) * 2022-03-31 2022-06-24 南昌大学 门级电路的转译方法、***、存储介质及设备
CN117435248B (zh) * 2023-09-28 2024-05-31 中国人民解放军国防科技大学 一种自适应指令集编码自动生成方法及装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE505783C2 (sv) * 1995-10-03 1997-10-06 Ericsson Telefon Ab L M Förfarande för att tillverka en digital signalprocessor
GB2308470B (en) * 1995-12-22 2000-02-16 Nokia Mobile Phones Ltd Program memory scheme for processors
JP2869379B2 (ja) * 1996-03-15 1999-03-10 三菱電機株式会社 プロセッサ合成システム及びプロセッサ合成方法

Similar Documents

Publication Publication Date Title
JP2003518280A5 (ja)
Hoffmann et al. A novel methodology for the design of application-specific instruction-set processors (ASIPs) using a machine description language
Moudgill et al. Environment for PowerPC microarchitecture exploration
US8006204B2 (en) Automated processor generation system for designing a configurable processor and method for the same
Corno et al. Automatic test program generation: a case study
KR100775547B1 (ko) 구성가능한 프로세서를 설계하기 위한 프로세서 자동 생성시스템 및 방법
Chiang et al. A QEMU and SystemC-based cycle-accurate ISS for performance estimation on SoC development
Prakash et al. Cfu playground: Full-stack open-source framework for tiny machine learning (tinyml) acceleration on fpgas
Schlickling et al. Semi-automatic derivation of timing models for WCET analysis
JP4801210B2 (ja) 拡張プロセッサを設計するシステム
Katelman et al. A rewriting semantics for ABEL with applications to hardware/software co-design and analysis
Keller Risc-v, spike, and the rocket core
Bartsch et al. Efficient SAT/simulation-based model generation for low-level embedded software.
Bogdanov Pipeline-accurate Instruction Cycle Measurements for Microprocessor Model Extraction
Albertini et al. Computational reflection and its application to platform verification
de Sousa Specializing RISC-V Cores for Performance and Power
Dreesen et al. A synchronization method for register traces of pipelined processors
Arora et al. Enhanced Cycle Simulator for MIPS Architecture--CSMIPSA
Pasricha et al. A framework for GUI-Driven design space exploration of a MIPS4K-like processor
Díaz et al. Obtaining memory address traces from native co-simulation for data cache modeling in systemc
Chattopadhyay et al. Processor Modeling and Design Tools
Abbas et al. A retargetable tool-suite for the design of application specific instruction set processors using a machine description language
Zhu et al. Functional and timing validation of partially bypassed processor pipelines
Abrar et al. Performance analysis of cosimulating processor core in VHDL and SystemC
Mishra et al. Architecture Specification