JP3175921B2 - プログラム設計方法、これに関連する方法、命令デコーダ及びプロセッサ - Google Patents

プログラム設計方法、これに関連する方法、命令デコーダ及びプロセッサ

Info

Publication number
JP3175921B2
JP3175921B2 JP33615396A JP33615396A JP3175921B2 JP 3175921 B2 JP3175921 B2 JP 3175921B2 JP 33615396 A JP33615396 A JP 33615396A JP 33615396 A JP33615396 A JP 33615396A JP 3175921 B2 JP3175921 B2 JP 3175921B2
Authority
JP
Japan
Prior art keywords
instruction
program
setting
processor
word
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.)
Expired - Fee Related
Application number
JP33615396A
Other languages
English (en)
Other versions
JPH09231262A (ja
Inventor
ガブズダイル レベッカ
マックガバン ブライアン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nokia Oyj
Original Assignee
Nokia Mobile Phones Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nokia Mobile Phones Ltd filed Critical Nokia Mobile Phones Ltd
Publication of JPH09231262A publication Critical patent/JPH09231262A/ja
Application granted granted Critical
Publication of JP3175921B2 publication Critical patent/JP3175921B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • G06F8/447Target code generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30145Instruction analysis, e.g. decoding, instruction word fields

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Executing Machine-Instructions (AREA)
  • Stored Programmes (AREA)
  • Devices For Executing Special Programs (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、プロセッサの命令
設定に関するものであり、特に、プロセッサに命令設定
を提供するためのプログラム設計方法、これに関連する
方法、命令デコーダ及びプロセッサに関する。
【0002】
【従来の技術】従来、一般的なデータ処理の目的に用い
られるプロセッサは、プログラムを形成する命令設定に
対応した機能を実行する。この機能はプログラムメモリ
に分類して格納される。この場合のプログラムの記憶に
要求される記憶容量は、命令ワードの長さ及びプログラ
ムの命令ステップの数に関連する。
【0003】プログラムメモリの命令は、プロセッサに
よって実行される動作を制御する復号化ユニットで並列
の制御信号を発生する場合に用いられる。この際の命令
ワードを制御に変換する論理の複雑さは、復号化ユニッ
トに入力される命令ワードの長さに関連する。
【0004】データ処理速度及び電力消費に関してプロ
セッサのパフォーマンスを最適化するためには、ソフト
ウェア設計者へ出来るだけ多くの情報提供して、十分な
機能にアクセスできるプロセッサを設計するのが望まし
い。
【0005】
【発明が解決しようとする課題】このような上記従来例
では、プロセッサが実行する各機能を個別に指示する十
分な柔軟性を有した命令ワードの設定を行う場合、設計
者は、最適なアルゴリズムが実現するようように自由な
設計を行う。遠隔通信業界の将来のパフォーマンスの要
求に適合するプロセッサの機能へ十分に対応できる有効
な命令設定は、現行規格の16ビットより極めて大きい
ものである。
【0006】これを実行するためには、90ビット命令
ワードが適切であると仮定される。この点に関しては、
命令設定をより長くするのが好ましいが、その場合、そ
の命令ワードが長くなる。90ビット命令ワードでは、
プログラムメモリが90ビット幅となる。無線電話機に
用いる代表的なプロセッサのアルゴリズムを実現するた
めのプログラムを収容する場合、16ビット長のオーダ
とすることが出来る。
【0007】低コストを目的として、命令ワードを90
ビット長にすると、プログラムを記憶する大容量メモリ
が必要になるという不都合がある。プログラムメモリと
命令デコーダとの間のインタフェースが、90ビット命
令ワードを復号化ユニットを通じて受け取ることが出来
るようにするためには、新たな追加構成による相互接続
が必要となる。この場合、プロセッサのサイズ及び消費
電力が増大化してしまう。最後に、復号化ユニットを実
現するのに必要とされる論理は、ほぼ入力ピンの数に正
比例して増加する。したがって、復号化ユニットは、よ
り複雑化し、高価なものとなる不都合がある。
【0008】このように極めて重要なコスト低減及び電
力消費を設計者が考慮する際に、市販品のバッテリから
給電を行うことが前提となるため、命令設定の柔軟性、
結果的に生じる消費電力効率及び命令ワード長及び増大
するコストの間で妥協した設計を行うことになる。
【0009】この妥協による矛盾を解決する従来のアプ
ローチ中の一つとして、設計者が選択できる制限された
命令の数を予め決定することによって、命令ワード長を
設定している。制限された命令設定の選択は、最も重要
であり、代表的には、プロセッサでの処理実行に必要な
機能の範囲で最も利用されると認められた命令のみとな
る。
【0010】このアプローチは、制限された命令設定が
特定の命令又は命令のビルディングブロックを含まない
場合、命令に基づいた機能を実行することが出来るハー
ドウェアをプロセッサが有する場合でも、この機能実行
が出来ないという不都合が生じる。これによって、プロ
セッサの駆動装置の効率が低下するような妥協的な設計
が行われる恐れがある。すなわち、プロセッサを用いて
設計される装置に要求されるパフォーマンスの達成が困
難になる。
【0011】命令設定が特定の命令を含まない場合、他
の複数の命令を組み合わせることによって、同一命令を
形成することが出来る。これにより、所望の命令が制限
された命令設定の一部を形成する場合に比較して、所望
のパフォーマンスが得られる際の消費電力が必然的に増
大化する。
【0012】そこで、本発明の目的はプロセッサの命令
設定を設計する際に、命令ワード長とパフォーマンスと
の間の両立を図り、コスト低減及び電力消費の低減が効
果的に可能となるプログラム設計方法、これに関連する
方法、命令デコーダ及びプロセッサを提供することにあ
る。
【0013】
【課題を解決するための手段】上記目的を達成するため
に、本発明は命令ワードから構成されたプログラムによ
って発生した制御信号に応答して動作するプロセッサを
設計するためのプログラム設計方法であって、プロセッ
サは、一組の機能を実行し、かつ、各制御ワードに応答
して一組の機能の各々を実行するように動作する。各制
御ワードを、元の命令設定の各命令ワードに相関をとっ
て、元の命令設定から選択した命令を用いてプロセッサ
を制御するよう動作するプログラムを書き込む。そし
て、プログラムに用いられる命令を備える元の命令から
命令ワードのサブ設定を選択し、サブ設定の命令の各々
をリネームし、対応するリネームされた命令ワードに応
答してサブ設定の命令ワードに相関した制御ワードの各
々を発生させる処理手段を設けている。
【0014】したがって、プロセッサが実行する予め知
られたプログラムとともに、プロセッサが使用すべき減
少した命令設定を選択することにより、命令ワード長と
パフォーマンスとの間に妥協的な設計を行う必要がなく
なる。プログラムのワードの選択を元の命令設定から行
うため、パフォーマンスは、元の命令設定を用いて同一
となる。しかしながら、ワード長をプロセッサが実行す
るプログラムの個々のワード数に対して短くすることが
出来る。
【0015】このように命令ワード長が減少することに
より、命令デコーダが簡素化され、その素子数、コスト
及び電力消費が低減する。動作アルゴリズムの記憶に必
要なプログラムも、プロセッサの機能をより十分に表現
する結果、リネームした命令ワードの幅及び長さが減少
する。
【0016】一度、命令デコーダが設計されると、プロ
セッサに余分な命令を追加できない。また、命令又は命
令の構成ブロックを表すコードワードが存在しない場
合、機能を実行することが出来ない。プロセッサが展開
したある程度の柔軟性を一度、設計者に付与するための
命令ワードのサブ設定は、潜在的に使用される制御ワー
ドに対応する追加の命令ワードを含むことが出来る。こ
れら追加の命令は、プログラムの代表的なエラーを訂正
するのに用いられる命令を含むことが出来る。又は他の
命令をサポートできるように幾つかの基本命令を含むこ
とも出来る。
【0017】さらに、一度、プログラムの個々の命令ワ
ードの数が決定されると、これら命令に個別ラベルを付
加することが出来る最短ワード長を設定できるようにな
る。一度、最短のワード長を用いて命令のサブ設定をリ
ネームすると、幾つかのスペアワードが発生する場合が
ある。命令ワードのサブ設定を独自に識別する必要のな
いワード数を、これらが追加命令をサポートするのに用
いることが可能なものよりも、十分に大きく出来るよう
になる。しかしながら、この冗長を、各制御ワードを発
生させる処理手段の論理の簡単化に対して、有利に利用
することが出来るようになる。サブ設定の個別の命令ワ
ードを独自に識別するのに必要な最小のものより、大き
いリネームした命令ワードを、幾つかの冗長に組み込ん
で利用し、その論理の複雑さを減少させることが出来
る。
【0018】本発明による方法は、プログラマが十分に
柔軟性を有する命令設定を用いることが出来るので、プ
ログラマが所望とするパフォーマンスを達成することが
出来るという利点を有する。理論的には、プロセッサが
実行できる機能以外の最初の命令設定に設けることが出
来る命令数は制限されない。プログラムメモリのメモリ
の幅及び命令デコーダのサイズを制限する要因は、アル
ゴリズムを実現するために用いられる独自の命令数であ
る。
【0019】プログラムメモリの幅及び長さと命令デコ
ーダのサイズの両方を最小にすると、コスト削減及び消
費電力の低減に対して有利となる。プログラムを一度決
定するとプロセスを自動化することが出来る。この結果
プロセスを、現存する設計プロセスに一体化するととも
に、一連の相違するプログラムに対して容易に繰り返す
処理が出来るようになり、所望の場合には一連のプロセ
ッサに最適化された命令設定を与えることが出来るよう
になる。
【0020】メモリ及び命令デコーダのサイズを減少さ
せることにより、装置の電力消費を所定のパフォーマン
スが得られるように減少させることが出来るようにな
る。
【0021】また、多数の共通命令を使用できるプログ
ラムに対して、多数の相違するプログラムを実行するの
に単一のプロセッサを開発することが出来るようにな
る。この場合、命令ワードのサブ設定を、複数の用途に
対して使用すべき複数のプログラムを用いて決定するこ
とが出来るようになる。この場合、個別の機能をサポー
トする必要があるワード長を考慮する必要があり、これ
らを共通の利点に対して均衡をとる必要がある。しかし
ながら、プロセッサを実行するのに必要な予め十分知ら
れた命令とともに、プロセッサを制御できる動作命令の
サブ設定が決定されるため、本発明の利点は損なうこと
はない。
【0022】
【発明の実施の形態】次に、本発明のプログラム設計方
法、これに関連する方法、命令デコーダ及びプロセッサ
の実施の形態例について説明する。本発明による方法に
おける一つに、デジタル信号プロセッサ(DSP)の設
計がある。本発明を、無線電話機のベースバンドアルゴ
リズムに対するDSPの設計に関連して説明する。
【0023】図1は本発明のプログラム設計方法、これ
に関連する方法、命令デコーダ及びプロセッサの実施の
形態にかかるDSPアーキテクチャの概略を示すブロッ
ク図である。図1において、DSPエンジニアによって
書き込まれたプログラムを、プログラムメモリ(PRO
M)10に記憶する。このプログラムアドレスを、取出
/復号化ユニット(FDU)12によって16ビットプ
ログラムアドレスバス(PAB)11上に送出する。
【0024】プログラムメモリ(PROM)10のアド
レスの命令を、プログラムデータバス(PDB)14を
通じてFDU12における命令デコーダ13にロードす
る。十分な柔軟性、例えば、十分な命令設定をサポート
する従来のように設計されたDSP装置では、PDB1
4は、例えば、90ビット幅を必要とする。
【0025】命令デコーダ13にロードされた命令がF
DU12で復号化され、FDU12が制御ワード、いわ
ゆる、データ処理ユニット(DPU)15及びデータメ
モリ17に対するアドレス指定するために、データメモ
リアドレス発生ユニット(MAGU)16,FDU12
又はバスアクセスの制御を行うために必要なプログラム
用のデータを供給する。
【0026】ここで従来のDSP及び本発明のDSP
は、その動作方法が相違しない。しかしながら、本発明
のDSPは、より小さいプログラムメモリ10、減少し
た幅のPDB14及びFDU12内で同一の機能を設け
た従来のDSPよりも小さい命令デコーダ13を有す
る。
【0027】このような利点を有する無線電話機用のデ
ジタル信号プロセッサ(DSP)にかかる関連する方法
の一つを説明する(図2、図3参照)。
【0028】従来の方法として、ベースバンドアルゴリ
ズムを符号化する必要がある。すなわち、一つ以上のプ
ログラムを書き込む必要がある。しかしながら、従来の
方法では、プログラマが利用できる命令設定と許容され
る命令ワード長との間の交換に対して命令が、この段階
で既に形成されているのに対し、本発明によれば、設計
者は、十分な命令設定に対するアクセスを行うことが出
来る。
【0029】図2は、ソフトウェアで展開する設計方法
を示すフローチャートであり、図3はROM短縮プロセ
スを示すフローチャートである。図2及び図3におい
て、初期の処理としてソースファイルを書き込む(ステ
ップS20)。このソースファイルを、プログラマによ
ってコンピュータに入力されたテキストファイルとす
る。このテキストファイルをアッセッブリ言語で書き込
まれた、予め規定する機能であるアッセンブリ言語命令
及びハイレベルマクロ「命令」で構成する。
【0030】次いで、プリプロセッサ処理(ステップS
21)では、任意のマクロ命令を、アッセブンブリ言語
命令であるアッセンブラソースに変更する(ステップS
22)。次いで、アッセンブラ(ステップS23)で
は、プログラマによって理解できるアッセンブリ言語ソ
ースファイルを、プロセッサによって理解できるオブジ
ェクトファイルに変換する(ステップS24)。大容量
のDSPアプリケーションでは、プログラムを複数のソ
ースファイルに分割する。リンカでは、全ての対応する
オブジェクトファイルを取り出し(ステップS25)、
これらをリンクして一つのエグゼクティブルファイルを
形成する(ステップS26)。
【0031】エグデクティブルファイル用のアルゴリズ
ムが一度符号化されると、これらがシミュレータでシミ
ュレートされ(ステップS26)、それらの正確さが調
べられる。次いで、コードが凍結される。本発明の一実
施の形態では、利用できる命令設定を規定したような、
このポイントの後は、符号化されたアルゴリズムを変化
させない。理想的には、さらなる変化は不要であるが、
この段階の後アルゴリズムを変化させる方法の一例を以
降で説明する。
【0032】一度、アルゴリズムを調べると、エグゼク
タブルファイル(ステップS26)を、オブジェクトフ
ォーマットコンバータが、プログラムメモリを発生させ
る際に用いることが出来るフォーマットに変換する(ス
テップS28)。次いで、プロセスの他の段階を、この
説明のために呼び出されるツールを用いてROMコンパ
クタ(ステップS29)に続けて、アルゴリズムに用い
る、これら命令のみをDSPによってサポートする。
【0033】リンカ(ステップS25)から出力される
エグゼクタブルファイル(ステップS26)を、オブジ
ェクトコンバータ(ステップS28)を通じて、ROM
コンパクタが使用できるフォーマットに変換する(図3
におけるステップS30)。
【0034】無線電話機の用途における代表的な長さの
プログラム又はアルゴリズムに対して、利用できる290
中の25,000前後の命令設定を用いる。290の命令
の各々を独自に識別するために、90ビットワード長が
要求される。実際の25,000の個々のワードを、1
6ビットワードを用いて指定することが出来る。一般的
には、2N ワードを、Nビットワードを用いて独自に識
別することが出来る。これは十分な柔軟性のある命令設
定を提供する命令の数とアルゴリズムを符号化するのに
用いられる命令の数との間に相関関係はない。
【0035】25,000ラインのコードを用いて符号
化されたアルゴリズムを想定する場合、最大でも25,
000の個別の命令が用いられる。幾つかの命令は、ほ
ぼ必然的に1回以上用いられる。デュープリケーション
を任意に実行することによって、コードを書き込むのに
用いる独自の命令の数が減少する。
【0036】次に、プログラムを分析し、このプログラ
ムに用いられる個別の命令ワードを識別し(ステップS
31)、プログラムに用いられない命令を無視する。そ
の結果、実際にプログラムに用いられる命令のみを含む
命令設定が減少する(ステップS32)。所望の場合に
は、プログラムをデバッグするのに用いることが出来る
命令のサブ設定を、減少した命令設定に加えて(ステッ
プS33)、限定された命令設定を加える(ステップS
34)。
【0037】プログラムを任意に変更する場合、使用で
きる元の命令設定の他のサブ設定を含むことも望まし
い。本来、命令の所望なサブ設定を考慮する度に、プロ
グラムのリストを調べて、命令のデュープリケーション
を回避する。追加の命令を含むことにより、PDBに加
えるべき追加のライン及びその結果生じる命令デコーダ
の追加のピンが要求され、かつ、命令デコーダの設計を
簡単にするのに利用される冗長中の、幾つかが除去され
る場合、設計者は、利点が欠点を上回るか否かを判断す
る必要もある。
【0038】しかしながら、アルゴリズムを符号化する
ために、実際に用いられる命令の設定から処理を開始す
ることによって、十分な柔軟性を有する設定設計に対し
て十分な自由度に基づいた、その設計が可能となる。パ
フォーマンスとワード長との間に交換はない。プロセッ
サの容量に加えられた追加の命令を、アルゴリズムが符
号化された後に、ある程度の柔軟性に対応した使用する
ことが出来る。誤りの訂正を制限すると変化が生じる可
能性が高くなり、追加の命令を意図的に選択できるよう
になる。
【0039】次いで、ROMコンパクタは、ステップS
35で要求されるビット幅Nを決定する。これは、減少
した、すなわち、制限された命令設定の命令の総数を調
べることによって決定される。ビット幅は、命令を符号
化するのに用いられる減少した、すなわち、制限された
命令設定をリネームするのに用いられるワードの幅とな
る。
【0040】次いで、命令が、同様な命令とともにグル
ープに分類される。命令の各々は、DSPの機能を制御
する信号を発生させる制御ワードとともに相関が取られ
る。一度、プログラムで利用される命令の設定が識別さ
れると、これらに個別の接頭語を付与することが出来
る。これによって、命令を容易に分類することが出来る
ようになり、その結果、同様な命令を互いに配置して、
結果的に得られる命令デコーダの論理を最小にすること
が出来る。
【0041】復号化論理をさらに小さくするために、2
N 未満の命令数に起因する任意の冗長を、この分類プロ
セスに用いる。選択されたワード幅は、図1中の命令デ
コーダ13の論理を簡単に保持するために、ある追加の
組み込まれた冗長を必要とする場合がある。その結果、
選択されたビット長は、減少した、すなわち、制限され
た命令設定を独自に識別するのに必要な最小のものより
長くすることが出来る。
【0042】一度、分類されると、連続的な2値数を用
いて命令が符号化される(ステップS36)。簡単に
は、新命令ワードを、分類された独自の命令のリストの
ラインとする。この結果、最適に符号化された命令設定
となる(ステップS37)。次いで、図2中のエグゼク
タブルファイル(ステップS26)を、旧命令ワードに
対応した新命令ワードに置換することによって、自動的
に再書き込みを行い、減少した幅のプログラムメモリに
分類することが出来る新プログラムコードを発生させる
(ステップS38,S39,S40)。
【0043】プログラムメモリを、16ビットアドレス
バスを用いて、従来の方法でアドレス指定することが出
来る。しかしながら、プログラムデータバスを、元の命
令設定を用いてプログラムを書き込む場合に必要である
ような80又は90ビットの代わりに、プログラムのデ
ュープリケーションの量に応じて15又は16ビット長
とすることが出来る。
【0044】プログラムを実現するために、個々の新命
令ワードに相関した制御ワードを発生させる命令デコー
ダが必要になる。命令デコーダを、新命令ワードの各々
の入力に応答して、相関した制御ワード出力を発生させ
る論理ユニットとする。
【0045】復号化論理を、旧命令ワードに関連した制
御ワードに新命令ワードの各々を相関させることによっ
て発生させる(ステップS41)。このようにして、命
令デコーダの入力及び出力が指定される。ハードウェア
記述言語は、命令デコーダの入力及び出力を指定するの
に利用できる。次いで、これら言語を、シノプシス(Syn
opsys)のようなツールとともに用いて、命令デコーダ用
の適切な論理配置を決定する。このツールは、命令デコ
ーダネットリストを発生して(ステップS42)、命令
デコーダ用の論理を発生させるASIC(Applcation sp
ecific Integrated Circuit)設計フローを発生させる
(ステップS43)。
【0046】一度、命令デコーダのレイアウトを決定す
ると、これを取出/復号化ユニット並びにプログラムメ
モリの他の回路とともに製造することが出来る。DPS
の種々のブロックを、代表的にはASICに集積する。
【0047】
【発明の効果】以上の説明のように、本発明のプログラ
ム設計方法、これに関連する方法、命令デコーダ及びプ
ロセッサによれば、命令ワード長とパフォーマンスとの
間の両立が図られ、コスト低減及び電力消費の低減が効
果的に可能となる。
【図面の簡単な説明】
【図1】本発明のプログラム設計方法、これに関連する
方法、命令デコーダ及びプロセッサの実施の形態にかか
るDSPアーキテクチャの概略を示すブロック図であ
る。
【図2】実施形態にあってソフトウェアで展開する設計
方法を示すフローチャートである。
【図3】実施形態にあってROM短縮プロセスを示すフ
ローチャートである。
【符号の説明】
10 プログラムメモリ(PROM) 11 16ビットプログラムアドレスバス(PAB) 12 取出し及び復号化ユニット(FDU) 13 命令デコーダ 14 プログラムデータバス(PDB) 15 データ処理ユニット(DPU) 16 データメモリアドレス発生ユニット(MAGU) 17 データメモリ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ブライアン マックガバン イギリス サーリイ ジーユー15 2エ スイー キャンベリー リバーミード ロード 50 (56)参考文献 特開 平6−309405(JP,A) 特開 平6−243196(JP,A) 特開 平4−175974(JP,A) 特開 平4−77922(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 17/50 G06F 9/06

Claims (7)

    (57)【特許請求の範囲】
  1. 【請求項1】 命令ワードから構成されたプログラムに
    よって発生した制御信号に応答して動作するプロセッサ
    を設計するためのプログラム設計方法であって、 前記プロセッサは、一組の機能を実行し、かつ、各制御
    ワードに応答して前記一組の機能の各々を実行して動作
    し、各制御ワードを、元の命令設定の各命令ワードに相
    関して、前記元の命令設定から選択した命令を用いて前
    記プロセッサを制御して動作するプログラムを書き込
    み、前記プログラムに用いられる命令を備える前記元の
    命令から命令ワードのサブ設定を選択し、前記サブ設定
    の命令の各々をリネームし、リネームされた対応する命
    令ワードに応答して前記サブ設定の命令ワードに相関し
    た制御ワードの各々を発生する処理手段を設けることを
    特徴とするプログラム設計方法。
  2. 【請求項2】 請求項1に記載のプログラム設計方法に
    おいて、 前記リネームされた命令によって形成されたプログラム
    をプログラムメモリに記憶することを特徴とするプログ
    ラム設計方法。
  3. 【請求項3】 請求項1又は2に記載のプログラム設計
    方法において、 前記発生する処理手段として、命令デコーダを用いるこ
    とを特徴とするプログラム設計方法。
  4. 【請求項4】 請求項1,2,3のいずれかに記載のプ
    ログラム設計方法において、 前記プロセッサの機能を、前記元の命令設定で符号化し
    たアプリケーションを用いて制限することを特徴とする
    プログラム設計方法。
  5. 【請求項5】 請求項1,2,3,4のいずれかに記載
    のプログラム設計方法において、 前記命令のサブ設定は、エラー訂正に対応する機能を実
    行する命令を有することを特徴とするプログラム設計方
    法。
  6. 【請求項6】 請求項1,2,3,4,5のいずれかに
    記載のプログラム設計方法において、 前記リネームされた命令を、前記サブ設定の命令ワード
    の各々を独自に規定するように最小の長さに設定するこ
    とを特徴とするプログラム設計方法。
  7. 【請求項7】 請求項1,2,3,4,5のいずれかに
    記載のプログラム設計方法において、 前記リネームされた命令を、独自に規定すべきサブ設定
    の命令ワードの各々に対する最小の長さより長く設定す
    ることを特徴とするプログラム設計方法。
JP33615396A 1995-12-22 1996-12-16 プログラム設計方法、これに関連する方法、命令デコーダ及びプロセッサ Expired - Fee Related JP3175921B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB9526457.8 1995-12-22
GB9526457A GB2308470B (en) 1995-12-22 1995-12-22 Program memory scheme for processors

Publications (2)

Publication Number Publication Date
JPH09231262A JPH09231262A (ja) 1997-09-05
JP3175921B2 true JP3175921B2 (ja) 2001-06-11

Family

ID=10786026

Family Applications (1)

Application Number Title Priority Date Filing Date
JP33615396A Expired - Fee Related JP3175921B2 (ja) 1995-12-22 1996-12-16 プログラム設計方法、これに関連する方法、命令デコーダ及びプロセッサ

Country Status (5)

Country Link
US (1) US5964861A (ja)
JP (1) JP3175921B2 (ja)
FR (1) FR2742891B1 (ja)
GB (1) GB2308470B (ja)
NL (1) NL1004826C2 (ja)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1645956A3 (en) 1997-08-29 2008-02-13 Matsushita Electric Industrial Co., Ltd. Instruction conversion apparatus for reducing the number of types of instructions
US6862563B1 (en) 1998-10-14 2005-03-01 Arc International Method and apparatus for managing the configuration and functionality of a semiconductor design
US6477683B1 (en) * 1999-02-05 2002-11-05 Tensilica, Inc. Automated processor generation system for designing a configurable processor and method for the same
JP2003518280A (ja) * 1999-02-05 2003-06-03 テンシリカ インコーポレイテッド 構成可能なプロセッサを設計するための自動プロセッサ生成システムおよび生成方法
US6477697B1 (en) 1999-02-05 2002-11-05 Tensilica, Inc. 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
US6427202B1 (en) * 1999-05-04 2002-07-30 Microchip Technology Incorporated Microcontroller with configurable instruction set
US6560754B1 (en) 1999-05-13 2003-05-06 Arc International Plc Method and apparatus for jump control in a pipelined processor
AU2001243463A1 (en) 2000-03-10 2001-09-24 Arc International Plc Memory interface and method of interfacing between functional entities
AU2001245720A1 (en) 2000-03-15 2001-09-24 Arc International Plc Method and apparatus for processor code optimization using code compression
US20020046396A1 (en) * 2000-08-02 2002-04-18 Knoll Stephen J. Object file server (OFS)
WO2003091914A1 (en) 2002-04-25 2003-11-06 Arc International Apparatus and method for managing integrated circuit designs
GB2399901B (en) 2003-03-27 2005-12-28 Micron Technology Inc System and method for encoding processing element commands in an active memory device
US20050289523A1 (en) * 2004-06-24 2005-12-29 Broadcom Corporation Method and apparatus for transforming code of a non-proprietary program language into proprietary program language
JP5218063B2 (ja) * 2006-11-21 2013-06-26 日本電気株式会社 命令オペコード生成システム
US8127113B1 (en) 2006-12-01 2012-02-28 Synopsys, Inc. Generating hardware accelerators and processor offloads
EP2798479A4 (en) * 2011-12-30 2016-08-10 Intel Corp CODING TO INCREASE THE DENSITY OF A SET OF INSTRUCTIONS
US9250900B1 (en) 2014-10-01 2016-02-02 Cadence Design Systems, Inc. Method, system, and computer program product for implementing a microprocessor with a customizable register file bypass network
US11436010B2 (en) 2017-06-30 2022-09-06 Intel Corporation Method and apparatus for vectorizing indirect update loops

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4994960A (en) * 1986-01-16 1991-02-19 Jupiter Technology, Inc. Interrupt system for transmitting interrupt request signal and interrupt vector based upon output of synchronized counters representing selected priority value
FI89838C (fi) * 1990-08-30 1993-11-25 Nokia Mobile Phones Ltd Dynamiskt spaenningsintegreringsfoerfarande samt kopplingar foer utfoerande och tillaempande av foerfarandet
DE69226094T2 (de) * 1991-03-07 1999-02-25 Digital Equipment Corp Verfahren und Gerät zur Rechnercode-Verarbeitung in einem Codeübersetzer
FI88567C (fi) * 1991-07-04 1993-05-25 Nokia Mobile Phones Ltd En generell synkronisk 2N+1 -divisor
FI88837C (fi) * 1991-08-15 1993-07-12 Nokia Mobile Phones Ltd Frekvensdividering med udda tal och decimaltal
US5289059A (en) * 1992-06-05 1994-02-22 Nokia Mobile Phones, Ltd. Switched capacitor decimator
FI95980C (fi) * 1992-09-04 1996-04-10 Nokia Mobile Phones Ltd Menetelmä ja kytkentäjärjestely ajan mittaamiseksi tarkasti epätarkalla kellolla
US5481683A (en) * 1992-10-30 1996-01-02 International Business Machines Corporation Super scalar computer architecture using remand and recycled general purpose register to manage out-of-order execution of instructions
FI93684C (fi) * 1993-04-23 1995-05-10 Nokia Mobile Phones Ltd Menetelmä signaalin käsittelemiseksi ja menetelmän mukainen signaalinkäsittelypiiri
US5509129A (en) * 1993-11-30 1996-04-16 Guttag; Karl M. Long instruction word controlling plural independent processor operations
GB2286265B (en) * 1994-01-26 1998-02-18 Advanced Risc Mach Ltd selectable processing registers
GB2289354B (en) * 1994-05-03 1997-08-27 Advanced Risc Mach Ltd Multiple instruction set mapping
GB2290395B (en) * 1994-06-10 1997-05-28 Advanced Risc Mach Ltd Interoperability with multiple instruction sets
US5581776A (en) * 1995-02-03 1996-12-03 Nokia Mobile Phones Limited Branch control system for rom-programmed processor

Also Published As

Publication number Publication date
NL1004826C2 (nl) 2000-11-06
GB9526457D0 (en) 1996-02-21
JPH09231262A (ja) 1997-09-05
GB2308470A (en) 1997-06-25
FR2742891B1 (fr) 2003-11-14
GB2308470B (en) 2000-02-16
FR2742891A1 (fr) 1997-06-27
US5964861A (en) 1999-10-12
NL1004826A1 (nl) 1997-12-10

Similar Documents

Publication Publication Date Title
JP3175921B2 (ja) プログラム設計方法、これに関連する方法、命令デコーダ及びプロセッサ
JP3180075B2 (ja) 異なる命令コード相互間の動的変換装置及び方法
EP0833246B1 (en) A method of producing a computer program
CN101539850B (zh) 单精度浮点数据存储方法和处理器
JP2007293383A (ja) プログラム開発支援装置及びプログラム開発支援装置の動作方法
JPH09269895A (ja) データ処理装置
US6253305B1 (en) Microprocessor for supporting reduction of program codes in size
JP3983482B2 (ja) 高速ディスプレースメント付きpc相対分岐方式
US6314564B1 (en) Method for resolving arbitrarily complex expressions at link-time
JP3863544B1 (ja) 演算処理装置及び演算処理方法
JP2002014809A (ja) マイクロプロセッサ並びにアセンブラ、その方法およびそのプログラムを記録した記録媒体
JP3454393B2 (ja) データ処理装置
JP3958239B2 (ja) マイクロコントローラ
US6922773B2 (en) System and method for encoding constant operands in a wide issue processor
JPS63113634A (ja) プログラムカウンタ相対アドレス計算方式
JP4264622B2 (ja) プロセッサ
KR100345678B1 (ko) 설계의 변경이 용이한 제어 유닛
US7404153B2 (en) Method for the providing of a design, test and development environment and system for carrying out said method
JP2000231494A (ja) ソフトウェア実行システム及びソフトウェア実行方法
US5864691A (en) Central processing unit with a selector that bypasses circuits where processing is not required
JP5263498B2 (ja) 信号処理プロセッサ及び半導体装置
JPH0713757A (ja) データ処理装置
JP2009134523A (ja) コンパイラ装置、コンパイラ方法及びプログラム
JP3515018B2 (ja) パイプライン形データ処理装置
JP2022021554A (ja) アセンブリ命令変換プログラム、アセンブリ命令変換方法、及び情報処理装置

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20010227

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090406

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090406

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100406

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110406

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees