JP3586689B2 - 演算装置および演算装置設計方法 - Google Patents
演算装置および演算装置設計方法 Download PDFInfo
- Publication number
- JP3586689B2 JP3586689B2 JP18623996A JP18623996A JP3586689B2 JP 3586689 B2 JP3586689 B2 JP 3586689B2 JP 18623996 A JP18623996 A JP 18623996A JP 18623996 A JP18623996 A JP 18623996A JP 3586689 B2 JP3586689 B2 JP 3586689B2
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- program
- set architecture
- arithmetic
- instruction set
- 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
Links
Images
Landscapes
- Executing Machine-Instructions (AREA)
Description
【発明の属する技術分野】
本発明は、プログラムを構成する一連の命令を実行することによって所定の演算処理を行う演算方法および演算装置に関し、例えば、CPUとメモリとを内蔵する1チップ型のマイクロコンピュータ(信号処理を効率よく実施するためのマイクロコンピュータであるディジタル信号処理プロセッサを含む)に適用して有効なメモリの利用容量を削減する演算装置および演算装置設計方法に関するものである。
【0002】
【従来の技術】
1チップ型のマイクロコンピュータ(演算装置)は算術論理演算手段であるCPU(中央処理装置)を中心に所要の周辺機器が1個の半導体基板に含まれていて、その動作プログラムを保有するデータ記憶手段である命令メモリ(ROM:リードオンリメモリ)および動作を行うためのデータメモリ(RAM:ランダムアクセスメモリ)を内蔵する。
【0003】
図6は1チップ型のマイクロコンピュータの概要配置を示す構成図である。図6において、1は命令を解釈して実行する部分であるCPU、2は、CPU1に供給する命令を格納して、ROM(読み出し専用の半導体メモリ)から構成されることが多い命令メモリ、3は、CPU1が演算の途中で利用するデータを格納し、RAM(読み書き可能な半導体メモリ)から構成されることが多いデータメモリ、4はA/D変換,D/A変換,タイマーなどから構成される周辺回路である。
【0004】
このようなマイクロコンピュータでは、命令メモリ2に記憶された命令がCPU1に直接読み込まれるようになっている。このため、プログラムサイズが大きくなると、命令メモリ2の記憶容量を増やす必要がある。その結果、1チップ型のマイクロコンピュータにおける命令メモリ2の占有面積の増大、さらにはコストの増大を招くことになる。
【0005】
前記問題点の解決策として、特開平6−348490号公報に記載の技術は、プログラムデータを圧縮して記憶しておき、圧縮したプログラムデータを伸張部にて伸張する方式がある。以下に、特開平6−348490号公報に記載の技術について、その概要説明を行う。
【0006】
図7は命令メモリ圧縮機能付きのマイクロコンピュータの構成を示すブロック図である。図7において、11は圧縮された状態の命令を保存する命令メモリ、12は圧縮された命令をデコードする伸張部、13は伸張部12で伸張した命令を保持する命令レジスタ、14は命令レジスタ13のデータをデコードする命令デコーダ、15は命令デコーダ14の出力により後述する演算部を制御する信号を出力する制御部、16は加算,減算,比較,論理演算等を行う演算部、17は命令メモリ11のアドレスを示すプログラムカウンタ(PC)である。
【0007】
以下に、図7に示すマイクロコンピュータの動作を示す。プログラムカウンタ17が命令メモリ11のアクセスアドレスを発し、命令メモリ11にアクセスを行う。該当アドレスの命令が伸張部12に供給され、命令の伸張を行う。伸張された命令コードは一旦命令レジスタ13に保持する。
【0008】
次に、命令レジスタ13の命令コードを命令デコーダ14がデコードを行う。そのデコード結果に基づいて、制御部15は演算部16に供給する制御信号およびプログラムカウンタ17に供給する制御信号を変化させる。
【0009】
演算部16は制御部15からの信号に基づいて演算を行い、制御部15はプログラムカウンタ17を変化させる。
【0010】
【発明が解決しようとする課題】
しかしながら、このような特開平6−348490号公報記載の技術は、一旦フェッチしたプログラムデータを伸張することによって命令コードを再現し、得られた命令コードをデコードする構成である。
【0011】
このことから、一旦フェッチしたプログラムの命令コードをデコードして圧縮していない状態に戻すステップがあるため、圧縮を伸張する回路と伸張した命令コードをデコードする回路の2種類の回路が必要となる。このため、プロセッサ部での回路規模が増大し、さらにはコストの増大を招くことになる。また回路規模の増大は消費電力の増大にもつながる。
【0012】
また、圧縮された命令に対し、伸張およびデコードの2段構成で命令解読を行うために論理段数が増加し、これがCPUの動作速度を決めるクリティカルパスとなり、CPUの動作速度を遅くさせるおそれがある。CPUの動作速度が低下すると、単位時間当りの処理能力が低下して演算能力が低下するという問題があった。
【0013】
本発明は、前記従来技術の問題を解決するものであり、プログラムの命令コードのサイズが小さくなるように別の命令セットアーキテクチャを再定義し、そのデコーダを設計することで記憶装置の利用容量を削減し、なおかつマイクロコンピュータの論理回路部の縮小によりチップ面積を削減し、それによって、動作速度を高速にできる演算回路および演算回路設計方法を提供することを目的とする。
【0014】
【課題を解決するための手段】
この目的を達成するために、本発明に係る演算装置および演算装置設計方法は、データ記憶手段と、算術論理演算手段とを有する演算装置において、仮命令セットアーキテクチャに基づいて作成されたプログラム中の分岐の距離,即値データのサイズ,レジスタの利用頻度を分析して、各命令コードやレジスタ指定のサイズが小さくなるように再定義した新命令セットアーキテクチャにより再作成したプログラムの動的ステップ数から算術論理演算手段の演算能力を判定し、新命令セットアーキテクチャに基づく命令コードをデコードする手段を備えるように構成したものである。
【0016】
前記構成によれば、仮命令セットアーキテクチャに基づくプログラム中の分岐の距離,即値データのサイズ,レジスタの利用頻度を分析し、各命令コードやレジスタ指定のサイズを小さくする新命令セットアーキテクチャを再定義し、その命令コードのデコーダを設計して、かつ再定義した新命令セットアーキテクチャに基づく命令コードでプログラムを再作成することにより、命令コードを格納する命令メモリを縮小できその面積を削減し、さらに命令コードを直接デコードするので圧縮や伸張を行う論理回路等を削除することができる。
【0018】
【発明の実施の形態】
以下、図面を参照して本発明の一実施の形態を詳細に説明する。
図1は本発明の一実施の形態における1チップ型のマイクロコンピュータ(演算装置)の構成を示すブロック図である。ここで、従来例を示す図7で説明した構成要件と対応するものには同一の符号を付すことにする。図1において、11は命令メモリ、15は制御部、16は演算部、17はプログラムカウンタ、20は再定義された命令コードのサイズを小さくする新命令セットアーキテクチャに基づき設計された命令デコーダである。
【0019】
前記のように構成されるマイクロコンピュータは、既存の仮命令セットアーキテクチャに基づきプログラムを作成する。次に、完成したプログラムに対し、プログラムの命令コードのサイズが小さくなるような新命令セットアーキテクチャを再度定義する。その新命令セットアーキテクチャに基づく命令コードを実行するマイクロコンピュータの命令デコーダ20を設計し、かつその命令コードで前記プログラムを再作成し、命令メモリ11に格納するというものである。
【0020】
これは、装置に組み込んで用いられるマイクロコンピュータで、命令メモリ(ROM)上に格納された再修正する頻度が少ないプログラムを実行する1チップ型のマイクロコンピュータ固有の性質を利用したものである。
【0021】
命令コードのサイズが小さくなるように再定義された新命令セットアーキテクチャにより命令メモリの利用容量を削減することができるため、チップ面積を下げることができ、コストを下げることが可能となる。
【0022】
また、命令デコーダ20を再設計し、従来例で示した命令を伸張する回路と伸張した命令コードをデコードする回路との構成ではなく、命令コードを直接デコードするため論理回路を縮小することが可能となる。その結果、マイクロコンピュータを構築するためのチップ面積を削減でき、その分コストを下げることが可能となる。また、回路規模の縮小は低消費電力化につながり、高速動作の1チップ型のマイクロコンピュータの設計が可能となる。
【0023】
次に、図2は本実施の形態における1チップ型のマイクロコンピュータの開発過程を示すフローチャートである。
【0024】
まず、アプリケーション毎に異なるソースプログラムが作成される(S1)。このソースプログラムは、実行ファイル作成ツールにおいて用いられる、コンパイラの場合はコンピュータの命令セットアーキテクチャには依存しない高級言語プログラムであり、アセンブラの場合は仮命令セットアーキテクチャのアセンブラ言語で記述されたプログラムである。
【0025】
ソースプログラムから仮命令セットアーキテクチャに基づいた実行ファイル作成ツールにより仮実行ファイルを作成する(S2)。実行ファイル作成ツールは、コンパイラ,アセンブラ,リンカなどの総称として用いている。
【0026】
プログラム分析ツールにより、作成された仮実行ファイルのプログラムデータに対し、プログラム中の分岐距離の分析,即値データの大きさ分析,レジスタの利用頻度の分析などを行い、新定義命令セットアーキテクチャを出力する(S3)。
【0027】
出力される新定義命令セットアーキテクチャに従って、プログラム修正ツールにより仮実行ファイルのプログラムを修正し、新しい命令コードでのプログラムを再作成し出力する(S4)。
【0028】
新定義命令セットアーキテクチャの命令デコーダを、HDL(Hardware Description Language)記述により作成する(S5)。
【0029】
新定義命令セットアーキテクチャデコーダのHDL記述を基に、論理合成ツールにより、デコーダ部論理回路を設計する(S6)。
【0030】
S4の処理から得られた新しい命令コードでのプログラムが格納された命令メモリと、S6の処理から得られた新定義命令セットアーキテクチャのデコーダ部論理回路により設計された命令デコーダとを備えた新たなマイクロコンピュータが設計される(S7)。
【0031】
ここで、S1〜S3の処理までは仮命令セットアーキテクチャに対する処理である。新定義命令セットアーキテクチャはプログラム分析ツールの出力が得られるS3の処理後からとなる。
【0032】
なお、S5〜S6の処理の説明では、いったんHDL記述を出力する処理を踏んだが、仮命令セットアーキテクチャを基に直接デコーダ部論理回路を設計する手順でもよい。
【0033】
さらに、図2に示すS3の処理のプログラム分析ツールのアルゴリズムを説明する。図3は本実施の形態におけるプログラム分析ツールのアルゴリズムを示したフローチャートである。また、図4は本実施の形態における仮命令セットアーキテクチャに基づいた仮実行ファイルが用いる命令コードの例を示すものである。本実施の形態では32ビット固定長アーキテクチャを仮命令セットアーキテクチャとする。この仮命令セットアーキテクチャは、即値型命令,分岐型命令,レジスタ型命令の3つのビット割り当てのモードがある。3つのビット割り当てモードは命令操作コードにより決定する。
【0034】
1つ目は即値型命令コードである。6ビットの命令操作コードと、それぞれ5ビットのrs1(演算命令のソースオペランドレジスタ)コードとrd(デスティネーションレジスタ)コード、および16ビットの即値データの合計32ビットからなる。メモリからデータを読み出すロード命令(ld),メモリへデータを書き込むストア命令(st)などが含まれる。命令操作コードで、即値型命令であることと、該当命令がロード命令であるかストア命令であるかという命令種別とを示す。rs1コードとrdコードはそれぞれレジスタ名を示すコードである。本実施の形態では、32本の汎用レジスタを持つためそれぞれ5ビットが必要である。
【0035】
2つ目は分岐型命令コードである。6ビットの命令操作コードと26ビットのプログラムカウンタ(PC)に加算されるオフセット値からなる。命令操作コードで、分岐型命令であることと、該当命令が分岐命令であるか関数呼び出し命令(call)であるかなどという命令種別を示す。
【0036】
3つ目はレジスタ型命令である。6ビットの命令操作コードとrs1(演算命令のソースオペランドレジスタ)コードとrs2(演算命令のソースオペランドレジスタ)コードとrd(デスティネーションレジスタ)コードからなる。命令操作コードで、レジスタ型命令であることと、該当命令が加算命令であるか減算命令であるかといった命令種別を示す。rs1,rs2,rdコードはそれぞれレジスタ名を示すコードである。本実施の形態では、32本の汎用レジスタを持つためそれぞれ5ビットが必要となる。
【0037】
また、図5はプログラム分析ツールにより決定された新定義命令セットアーキテクチャに基づいた命令コードの例を示すものである。図4の32ビット固定長アーキテクチャをベースにした24ビット固定長アーキテクチャである。この新定義命令セットアーキテクチャも仮命令セットアーキテクチャと同様に、即値型命令,分岐型命令,レジスタ型命令の3つのビット割り当てのモードがある。3つのビット割り当てモードは命令操作コードにより決定する。
【0038】
1つ目は即値型命令コードである。6ビットの命令操作コードと、それぞれ4ビットのrs1(演算命令のソースオペランドレジスタ)コードとrd(デスティネーションレジスタ)コード、および10ビットの即値データの合計24ビットからなる。メモリからデータを読み出すロード命令(ld),メモリへデータを書き込むストア命令(st)などが含まれる。命令操作コードで、即値型命令であることと、該当命令がロード命令であるかストア命令であるかという命令種別を示す。rs1コードとrdコードはそれぞれレジスタ名を示すコードである。本実施の形態では、16本の汎用レジスタを持つためそれぞれ4ビットが必要である。
【0039】
ここで、レジスタ数が仮命令セットアーキテクチャの32本から16本に減少しているのはプログラム分析ツールにより用いる組み込みプログラム内で利用するレジスタが16本でもステップ数の増加が少ないと分析したためである。また、即値データのサイズが16ビットで示されるサイズから10ビットで示されるサイズに変化したのもプログラム分析ツールがステップ数の増加が少ないと判断したためである。
【0040】
2つ目は分岐型命令コードである。6ビットの命令操作コードと18ビットのプログラムカウンタに加算されるオフセット値からなる。命令操作コードで、分岐型命令であることと、該当命令が分岐命令であるか関数呼び出し命令(call)であるかなどという命令種別を示す。
【0041】
3つ目はレジスタ型命令コードである。6ビットの命令操作コードとそれぞれ4ビットのrs1(演算命令のソースオペランドレジスタ)とrs2(演算命令のソースオペランドレジスタ)コードとrd(デスティネーションレジスタ)コードからなる。命令操作コードで、レジスタ型命令であることと、該当命令が加算命令であるか減算命令であるかといった命令種別を示す。rs1,rs2,rdコードはそれぞれレジスタ名を示すコードである。新定義命令セットアーキテクチャでは、16本の汎用レジスタを持つためそれぞれ4ビットが必要となる。
【0042】
図3に示すプログラム分析ツールのアルゴリズムを説明する。図2に示すS3の処理で、プログラム中の分岐距離の分析,即値データの大きさ分析,レジスタの利用頻度分析などを行うものである。
【0043】
スタート段階では仮命令セットアーキテクチャに基づいた仮実行ファイルのプログラムである(S10)。
【0044】
まず、仮命令セットアーキテクチャの各命令コードのビット長を、図4に示す即値型命令コードでは即値データのフィールドを16ビットから15ビットにする。分岐型命令コードでは、PCに加算されるオフセットを26ビットから25ビットにする。レジスタ型命令コードでは、もともとビットのフィールドに余裕があったため、最後のビット割り当てのなかった部分を1ビット減少させる(S11)。
【0045】
次に、プログラム中の分岐型命令コードの分岐によるステップ数の増加を調べる(S12)。
【0046】
以下に例を挙げてS12の処理を説明する。なお、ここでjump TTTと記述するとTTTへの無条件相対分岐を示す。
【0047】
前記のプログラム1の場合、AAAで示される箇所からTTTの場所への分岐距離は2000行(2の11乗以下)である。この場合、分岐距離は11ビットで表現できる。このため、分岐型命令コードでのPCに加算するオフセット値のフィールドが25ビットになってもステップ数の増加はない。
【0048】
一方、60000000行(2の25乗以上を含む)の相対分岐で、分岐型命令コードでのオフセットのフィールドが25ビットの場合は次のように扱う。
【0049】
前記プログラム2に示したように30000000行(2の25乗以下)の分岐と30000000行の分岐に分割する。その結果、ステップ数は「TTT jump TTT1」の1ステップ増加する。
【0050】
次に、プログラム中の即値型命令コードの即値データによるステップ数の増加を調べる(S13)。
【0051】
以下に例を挙げてS13の処理を説明する。なおここで、
「ld r2,nr ,500」は、nrと500を加算した結果が示すアドレスのメモリからのデータをr2(レジスタ名)に格納する命令である。nrは読み出すと常に0を出力し、いくら書き込んでも0のまま値が変化しないレジスタである。
【0052】
前記のプログラム3の例では即値データのサイズは500(2の9乗以下)であり、9ビットで表現できるデータである。このため、即値データのフィールドが15ビットになってもステップ数の増加がない。
【0053】
一方、即値データが15ビットより大きい場合は次のように動作する。nrと
40000(2の15乗では表現できない数字)を加算した結果のデータをr2に格納する場合は次のようにプログラムを修正する。
【0054】
「add r2,nr ,20000」は20000と0(nr)を加算してr2に入れることを示す。「ld r2,r2,20000」はr2と20000を加算して、その加算結果が示すアドレスのデータをr2に格納する命令のことである。前記プログラム4の2ステップの演算により「ld r2,nr ,40000」と同様の処理が実現できる。
【0055】
前記に示したように2ステップの演算となるため、プログラムのステップ数は1ステップ増加する。
【0056】
次に、レジスタ数の減少によるステップの増加を調べる(S14)。
【0057】
図3に示す本実施の形態の第1回目の処理ループで、32ビットの命令ビット長から31ビットの命令ビット長へ減少させる処理ではレジスタ数を減少させる効果はないが、レジスタ数を減少させることで命令ビット長を減少させ、ステップ数を増加させることが可能である。
【0058】
つまり、32個のレジスタを持ったアーキテクチャのプロセッサでは、あるサブルーチン内での変数の数が15個以内であるときには残りの17個のレジスタは利用されていない。そのため、プログラムの命令中でオペランドを指示するのに必要なビットが無駄になっている。オペランドを指示するレジスタ数を16個までに限定すれば、ソースオペランドレジスタ(rs1)で必要な5ビットが4ビットになり、デスティネーションレジスタ(rd)で必要な5ビットが4ビットになる。これにより、即値型命令コードでは2ビットが無駄なビットになり、レジスタ型命令では3ビット分のビット長を減少させることができる(図5参照)。
【0059】
また、16個以上レジスタを利用するモジュールにおいても、命令中でレジスタの復帰退避を頻繁に行うことで、その処理を行うことは可能である。
【0060】
次に、S12,S13,S14の処理によるプログラムのステップ数の増加の合計を計算する(S15)。
【0061】
ここで、計算するステップ数は動的なステップ数(プログラム実行に必要としたステップ数)と静的なステップ数(プログラムサイズ)の2つである。静的なステップ数に対しては、命令ビット長を乗し、そのプログラムに必要なビット数を計算する。
【0062】
次に、S15の処理で求めた動的なステップ数の計算結果が、CPUの演算能力を越えていないかを判断する(S16)。
【0063】
リアルタイムアプリケーションでは、CPUの演算能力は高ければ高いほどよいというわけではなく、リアルタイムに処理できる範囲ならば演算能力は低くてもよい。そこで、ここでは動的なステップ数が増加してもリアルタイムで処理できる範囲内かの判断を行う。リアルタイムで処理できない場合は、今回の処理ループのS11からS15までの処理を無効として終了する。また、リアルタイムで処理できる範囲内であれば次の処理に進む。
【0064】
次に、S15の処理で求めた今回の処理ループの命令ビット長のプログラムに必要なビット数と前回の処理ループで求めた命令ビット長のプログラムに必要なビット数との比較を行う(S17)。
【0065】
ここで、命令ビット長のビット数が減少していた場合はS11から再度処理を行う。減少していない場合はS11からS17までの今回の処理ループを無効として終了する。
【0066】
以上、本実施の形態について説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲内において種々変更可能である。
【0067】
例えば、ROMやRAMを1チップ型のマイクロコンピュータ外部に配置するようにしてもよい。またROMとしては、マスクROM(アプリケーション固有のプログラムを製造時に書き込む),EPROM(紫外線により消去可能で電気的に書き込み可能),EEPROM(電気的に消去,書き込み可能)が考えられる。
【0068】
また、前記実施の形態では固定命令ビット長の命令セットアーキテクチャを対象に説明を行ったが、任意の可変命令ビット長をもつアーキテクチャに対しても適用が可能である。
【0069】
また、分岐距離に着目した命令ビット長圧縮,即値データのサイズに着目した命令ビット長圧縮,利用するレジスタ数に着目した命令ビット長圧縮について説明を行ったが可変命令ビット長のアーキテクチャでは、それぞれ単体での適用も可能である。
【0070】
本発明は、少なくとも、プログラムを構成する一連の命令コードを順次デコードして実行することによって所定の演算処理を行うことを条件にマイクロコンピュータに適用することができる。
【0071】
【発明の効果】
以上説明したように、本発明によれば、命令コードのサイズが小さくなるような命令セットアーキテクチャの再定義により命令メモリの利用容量を削減することができ、なおかつ命令コードを直接デコードするためマイクロコンピュータの論理回路部を縮小でき、チップ面積を削減することで、その分コストを下げることが可能となり、また、回路規模の縮小は低消費電力化につながり、高速動作の1チップ型のマイクロコンピュータの設計ができるという効果を奏する。
【図面の簡単な説明】
【図1】本発明の一実施の形態における1チップ型のマイクロコンピュータ(演算装置)の構成を示すブロック図である。
【図2】本実施の形態における1チップ型のマイクロコンピュータの開発過程を示すフローチャートである。
【図3】本実施の形態におけるプログラム分析ツールのアルゴリズムを示したフローチャートである。
【図4】本実施の形態における仮命令セットアーキテクチャに基づいた仮実行ファイルが用いる命令コードの例を示すものである。
【図5】本実施の形態におけるプログラム分析ツールにより決定された新定義命令セットアーキテクチャに基づいた命令コードの例を示すものである。
【図6】従来の1チップ型のマイクロコンピュータの概要配置を示す構成図である。
【図7】従来の命令メモリ圧縮機能付きのマイクロコンピュータの構成を示すブロック図である。
【符号の説明】
1…CPU、 2,11…命令メモリ、 3…データメモリ、 4…周辺回路、 12…伸張部、 13…命令レジスタ、 14,20…命令デコーダ、 15…制御部、 16…演算部、 17…プログラムカウンタ(PC)。
Claims (6)
- データ記憶手段と、算術論理演算手段とを有する演算装置において、仮命令セットアーキテクチャに基づいて作成されたプログラム中の分岐する距離を分析して、分岐の命令コードのサイズが小さくなるように再定義した新命令セットアーキテクチャにより再作成したプログラムの動的ステップ数から前記算術論理演算手段の演算能力を判定し、前記新命令セットアーキテクチャに基づく命令コードをデコードする手段を備え、該手段の出力により制御されることを特徴とする演算装置。
- データ記憶手段と、算術論理演算手段とを有する演算装置において、仮命令セットアーキテクチャに基づいて作成されたプログラム中の即値データのサイズを分析して、即値の命令コードのサイズが小さくなるように再定義した新命令セットアーキテクチャにより再作成したプログラムの動的ステップ数から前記算術論理演算手段の演算能力を判定し、前記新命令セットアーキテクチャに基づく命令コードをデコードする手段を備え、該手段の出力により制御されることを特徴とする演算装置。
- データ記憶手段と、算術論理演算手段とを有する演算装置において、仮命令セットアーキテクチャに基づいて作成されたプログラム中のレジスタの利用頻度を分析して、命令コードのレジスタ指定のサイズが小さくなるように再定義した新命令セットアーキテクチャにより再作成したプログラムの動的ステップ数から前記算術論理演算手段の演算能力を判定し、前記新命令セットアーキテクチャに基づく命令コードをデコードする手段を備え、該手段の出力により制御されることを特徴とする演算装置。
- 仮命令セットアーキテクチャに基づいて作成されたプログラム中の分岐する距離を分析するステップと、分岐の命令コードのサイズが小さくなるように新命令セットアーキテクチャを再定義するステップと、該新命令セットアーキテクチャにより変更される前記プログラムの動的ステップ数から算術論理演算手段の演算能力を判定するステップと、前記新命令セットアーキテクチャに基づく命令コードのデコーダを設計するステップと、再定義された前記新命令セットアーキテクチャに基づく命令コードで前記プログラムを再作成するステップとにより、設計された前記デコーダで再作成された前記プログラムによる処理を行うことを特徴とする演算装置設計方法。
- 仮命令セットアーキテクチャに基づいて作成されたプログラム中の即値データのサイズを分析するステップと、即値の命令コードのサイズが小さくなるように新命令セットアーキテクチャを再定義するステップと、該新命令セットアーキテクチャにより変更される前記プログラムの動的ステップ数から前記算術論理演算手段の演算能力を判定するステップと、前記新命令セットアーキテクチャに基づく命令コードのデコーダを設計するステップと、再定義された前記新命令セットアーキテクチャに基づく命令コードで前記プログラムを再作成するステップとにより、設計された前記デコーダで再作成された前記プログラムによる処理を行うことを特徴とする演算装置設計方法。
- 仮命令セットアーキテクチャに基づいて作成されたプログラム中のレジスタの利用頻度を分析するステップと、命令コードのレジスタ指定のサイズが小さくなるように新命令セットアーキテクチャを再定義するステップと、該新命令セットアーキテクチャにより変更される前記プログラムの動的ステップ数から算術論理演算手段の演算能力を判定するステップと、前記新命令セットアーキテクチャに基づく命令コードのデコーダを設計するステップと、再定義された前記新命令セットアーキテクチャに基づく命令コードで前記プログラムを再作成するステップとにより、設計された前記デコーダで再作成された前記プログラムによる処理を行うことを特徴とする演算装置設計方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP18623996A JP3586689B2 (ja) | 1996-07-16 | 1996-07-16 | 演算装置および演算装置設計方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP18623996A JP3586689B2 (ja) | 1996-07-16 | 1996-07-16 | 演算装置および演算装置設計方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH1031588A JPH1031588A (ja) | 1998-02-03 |
JP3586689B2 true JP3586689B2 (ja) | 2004-11-10 |
Family
ID=16184795
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP18623996A Expired - Fee Related JP3586689B2 (ja) | 1996-07-16 | 1996-07-16 | 演算装置および演算装置設計方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3586689B2 (ja) |
-
1996
- 1996-07-16 JP JP18623996A patent/JP3586689B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH1031588A (ja) | 1998-02-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7473293B2 (en) | Processor for executing instructions containing either single operation or packed plurality of operations dependent upon instruction status indicator | |
JP3623840B2 (ja) | データ処理装置及びマイクロプロセッサ | |
JP2616182B2 (ja) | データ処理装置 | |
US6560692B1 (en) | Data processing circuit, microcomputer, and electronic equipment | |
JP3619939B2 (ja) | 中央処理装置 | |
JPH06348490A (ja) | 演算処理方法、及びマイクロコンピュータ | |
Goudge et al. | Thumb: reducing the cost of 32-bit RISC performance in portable and consumer applications | |
JP2970821B2 (ja) | データ処理装置 | |
JP3201716B2 (ja) | コンピュータ装置 | |
JP2669158B2 (ja) | データ処理装置 | |
JP3082852B1 (ja) | システムlsiの製造方法及びその方法で製造されたシステムlsi | |
JP3586689B2 (ja) | 演算装置および演算装置設計方法 | |
US8484446B2 (en) | Microprocessor saving data stored in register and register saving method | |
JP2556182B2 (ja) | デ−タ処理装置 | |
JP3786575B2 (ja) | データ処理装置 | |
EP0905613B1 (en) | Method for storing and using executable programs and apparatus therefor | |
JP2504312B2 (ja) | プライオリティエンコ―ダ及びそれを備えたデ―タ処理装置 | |
JPH04104350A (ja) | マイクロプロセッサ | |
US20050216708A1 (en) | Processor for performing context switching, a method for performing context switching, a computer program for perform context switching | |
US20030101333A1 (en) | Data processor | |
JP2002318686A (ja) | プロセッサ | |
JPH1020959A (ja) | 低消費電力マイクロプロセッサ | |
JP2002182905A (ja) | ディジタル信号処理プロセッサ | |
JP2696578B2 (ja) | データ処理装置 | |
JPH11119995A (ja) | データ処理装置および方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040225 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040316 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040514 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20040608 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040609 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20070820 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080820 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080820 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090820 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090820 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100820 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110820 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110820 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120820 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130820 Year of fee payment: 9 |
|
LAPS | Cancellation because of no payment of annual fees |