(57)【要約】【課題】プログラムや命令セットに依存することなく、命令コードを記憶するハードウェアのコストを削減するための設計方法、およびデータ処理装置を提供する。【解決手段】データ処理のうち、ハードウェア処理に関しては、プロセッサの命令セットおよびハードウェアを設計し、論理合成してネットリストを得る一方で、ソフトウェア処理に関しては、データ処理プログラムを設計し、前記命令セットに則したハードウェア実行可能形式のオブジェクトプログラムに変換した後、前記オブジェクトプログラムを、論理合成可能なハードウェア記述に変換し論理合成を行う。このようにオブジェクトプログラムをメモリに格納することなく、ハードウェア記述に変換して論理合成することで、プログラムの冗長性を排除し、実装時のＨ／Ｗコストを低減する。【選択図】図１
2006155448.tif 000002
【特許請求の範囲】
【請求項１】
命令コードを逐次的に解読して動作するプログラム制御方式のデータ処理装置の設計方法であって、
対象処理をソフトウェア処理とハードウェア処理に分割して、ハードウェア仕様とソフトウェア仕様を得るシステム分割ステップと、
前記ハードウェア仕様をもとにハードウェア処理を実施するためのアーキテクチャを設計し、プロセッサの命令セットおよびハードウェア記述を出力するハードウェア設計ステップと、
前記ハードウェア記述を論理合成してネットリストを得る論理設計ステップと、
前記ネットリストからマスクパターンを得るレイアウトステップと、
前記ソフトウェア仕様をもとにソフトウェア処理を実施するためのアーキテクチャを設計し、データ処理プログラムを出力するソフトウェア設計ステップと、
前記データ処理プログラムを前記命令セットに則したハードウェア実行可能形式のオブジェクトプログラムに変換するオブジェクトコード生成ステップと、
前記オブジェクトプログラムを、論理合成可能なハードウェア記述に変換するハードウェア記述変換ステップを備え、
前記システム分割ステップにてハードウェア仕様に分割された処理については、前記ハードウェア設計ステップに進み、同じくソフトウェア仕様に分割された処理については、前記ソフトウェア設計ステップへと進み、前記ハードウェア設計ステップにおいて出力されるハードウェア記述は、前記論理設計ステップにて論理合成され、得られたネットリストは前記レイアウトステップへと進み、前記ソフトウェア設計ステップにおいて出力されるデータ処理プログラムは、前記オブジェクトコード生成ステップにて、前記ハードウェア設計ステップが出力する命令セットに則したハードウェア実行可能形式のオブジェクトプログラムに変換されて、前記ハードウェア記述変換ステップへと進み、前記ハードウェア記述変換ステップによって変換されたプログラムのハードウェア記述は、前記論理設計ステップにて、前記ハードウェア設計ステップの出力したハードウェア記述と同じく論理合成され、前記レイアウトステップへと進むことを特徴とするプログラム制御方式のデータ処理装置の設計方法。
【請求項２】
プログラムカウンタに応じた命令コードを読み込み、逐次的に解読して動作するプログラム制御方式のデータ処理装置であって、
プログラムカウンタと、
前記プログラムカウンタに応じた命令コードを解読して、命令に対応した処理を実行するための制御信号を出力する命令制御部と、
前記命令制御部からの制御信号を受けて、算術演算、論理演算、データ転送を実行するデータパス部を具備し、
前記命令制御部は、命令コードの配列からなる実行可能形式のプログラムの一部または全てを、メモリでは無くハードウェアロジックとして持つ
ことを特徴とする、プログラム制御方式のデータ処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、家電製品、AV機器、携帯電話、自動車などの電子機器に用いられるマイクロプロセッサやマイクロコントローラといったデータ処理装置に関し、とくに実行可能形式のプログラムを記憶する手段を内蔵したプログラム制御方式のデータ処理装置に関する。
【背景技術】
【０００２】
マイクロプロセッサやマイクロコントローラなどのデータ処理装置は、デジタル機器などに組み込まれ、アプリケーションの実行や機器の動作制御などを行う。
【０００３】
特許文献１の図１０に、一般的なプログラム制御方式のデータ処理装置の設計フローが示されている。
【０００４】
特許文献１によると、通常、プログラム制御方式のデータ処理システムでは、要求仕様として与えられるデータ処理を、データパスや記憶装置、転送経路、制御装置などから構成されるハードウェアと、そのハードウェアを制御するためのソフトウェア（プログラム）の組合せで実現する。ハードウェアとソフトウェアとは設計手法が大きく異なるため、通常、設計の最初の段階にてシステム分割工程で分割され、それぞれに対して詳細設計が行われ、ハードウェア仕様とソフトウェア仕様を得る。
【０００５】
システム分割工程にてハードウェアで実現することになった処理については、ハードウェア設計工程において、ハードウェア仕様に対して、その制御をどのような仕組みで行うかや、レジスタ数や記憶装置の要領などの詳細な設計項目が決定される。また、この設計項目の重要な項目として命令セット設計が行われる。命令セットは、ハードウェア仕様として決定したハードウェア構成の各要素を制御してデータ処理を行うための様々な命令の集まりとして決定される。この命令セット設計によって命令セットの形状が決定され、命令を解釈実行するためのハードウェア部分が設計される。また設計された命令セットはソフトウェア設計側で利用するために、コンパイラ工程に渡される。ハードウェアとして実現される部分は通常はハードウェア記述言語で出力され、後の詳細設計に用いられる。
【０００６】
ハードウェア設計工程により得られたハードウェア記述は、続く論理設計工程にて、論理合成することでネットリストに変換され、タイミング調整などを行った後、レイアウト工程を経てマスクパターンとなる。
【０００７】
一方、システム分割工程にてソフトウェアで実現することになった処理については、ソフトウェア設計工程へと進む。ソフトウェア設計工程では、ソフトウェア仕様に対応したデータ処理プログラムを得、これは後のオブジェクトコード生成工程にて、ハードウェア設計工程で設計された命令セットを用いたオブジェクトプログラムに変換される。オブジェクトプログラムの生成は、通常命令セットやハードウェアの情報をもとにコンパイラが設計され、それによって行われる。
【０００８】
オブジェクトコード生成工程によって得られたオブジェクトプログラムは、前述のマスクパターンの製造によって得られたデータ処理装置内のメモリに、多数の命令コードの配列として格納される。
【０００９】
このような設計フローにて設計される一般的なデータ処理装置は、幾つかの演算装置、記憶装置（メモリ）とそれらを接続する転送経路で構成されているが、このデータ処理装置の詳細な内部構成については、特許文献３の図１３に示されているマイクロコンピュータの構成が一般的である。
【００１０】
図４は、特許文献３の図１３である（ただし、各構成要素の名称は特許文献３と同じであるが、符号は変更している。）。
【００１１】
図４に示すマイクロコンピュータは、外部とのデータの入出力を制御する入出力制御回路４０１と、命令コードや演算処理対象のデータ、演算処理結果などのデータを記憶する記憶装置４０２と、データに対する演算処理およびデータ転送処理を行うデータパス４０６と、命令コードを解読してデータパス４０６に制御信号を出力する制御回路４１０と、これら入出力制御回路４０１、記憶装置４０２、データパス４０６、制御回路４１０等を相互に接続して、データの送受信を可能とする内部バス４１１とを具備する。
【００１２】
また、データパス４０６は、レジスタの一種で、次に実行すべき命令コードが記憶されている記憶装置４０２内の番地を格納するプログラムカウン４０３と、種々のデータを保持するための汎用レジスタ４０４、データに対して必要な算術演算および論理演算等を実行する演算処理部４０５から成る。
【００１３】
また、制御回路４１０は、記憶装４０２から読み出した命令コードを一時的に格納する命令レジスタ４０７と、命令レジスタ４０７に格納された命令コードを解読してデータパス部４０６に制御信号を出力する命令デコーダ４０８、およびデータ処理装置全体の動作の同期を取るためのクロック信号を発生するタイミング信号発生部４０９から成る。
【００１４】
次に、図４に示したマイクロコンピュータの動作について説明する。なお、当該動作説明においては、マイクロコンピュータがパイプライン制御による並列処理を実施することを前提として、パイプライン制御における処理工程の単位である各ステージ毎にマイクロコンピュータの動作を説明するものとする。
ステージ１：記憶装置４０２の所定の番地からプログラムの先頭番地を読み出して、プログラムカウンタ４０３にセットする。
ステージ２：プログラムカウンタ４０３が指定する番地に格納されている命令コードを記憶装置４０２から読み出して、命令レジスタ４０７にセットする。なお、プログラムカウンタ４０３の値は、読み出しと共に順次インクリメントされる。
ステージ３：命令レジス４０７に格納された命令コードを、命令デコーダ４０８で解読し、データパス４０６に対して制御信号を出力する。
ステージ４：データパス４０６にて、制御信号に従って命令を実行する。なお、命令コードが分岐命令の場合には、分岐先の命令コードが格納されている番地をプログラムカウンタ４０３にセットして、パイプライン制御による並列処理を初期化する。
【００１５】
そして、各命令コード毎に、上記ステージ２〜ステージ４の処理工程をパイプラインで実行する。
【００１６】
近年、上述のような設計・構成のプログラム制御方式のデータ処理装置は、安価かつ高性能であることが要求されている。しかしながら、要求仕様が複雑になるにつれてソフトウェアで処理するためのプログラムが増大するため、それを格納する記憶装置の容量の増加が問題になっている。現在、チップ面積に占める記憶装置の割合が、全体の半分以上を占めることも少なく無く、そしてその比率は、今後さらに増加すると考えられている。
【００１７】
そこで、プログラムを格納するための記憶装置の容量を小さくすることで、チップ面積の増加を抑制する手法が提案されている。
【００１８】
特許文献２には、命令コード長を圧縮することでメモリ容量を削減する方法が開示されている。特許文献２の技術は、プログラムに出現する命令コードとデータを、それより短いコード長の圧縮コードに変換して圧縮コードメモリに持ち、圧縮コードを命令コードとデータに展開するためのデータを辞書メモリに持ち、圧縮コードを辞書メモリのアドレスとして、辞書メモリを読み出すようにするものである。
【００１９】
また、特許文献３には、プログラム内の同じ処理工程を複数繰り返すような処理を、一つの圧縮コードで表現しなおすことで、プログラムの格納に要するメモリの使用量を低減する方法が開示されている。特許文献３の技術は、連続する複数の命令コード毎に、コード長の短い圧縮命令コードを対応付け、圧縮命令コードを処理手順に基づいて配列した記憶装置と、圧縮命令コードを本来の命令コードに変換するためのコード変換レジスタと、コード変換情報に基づいて圧縮命令コードから対応する命令コードが格納された記憶装置内の番地を算出するためのコード変換処理部とを備えるものである。
【特許文献１】特開平９−１６６４２号公報
【特許文献２】特開平９−２３１０７１号公報
【特許文献３】特開２００１−３１８７８８号公報
【発明の開示】
【発明が解決しようとする課題】
【００２０】
しかしながら、前記従来例の特許文献２で示したような、命令コード長を圧縮する手法では、もともとの命令コード長が３２ビットの場合には、命令の取り得る最大のバリエーションは２の３２乗であるのに対して、実際のプログラムで用いる命令のバリエーションが極端に少ないケースが多いので６０％程度の高い圧縮率を実現できるが、命令コード長が１６ビットと短い場合には、命令の取り得る最大のバリエーションが２の１６乗と激減するにも関わらず、実際のプログラムで用いる命令のバリエーションは、命令コード長が３２ビットの場合と比べてもあまり少なくならないため、圧縮率が悪いという課題があった。
【００２１】
また、命令コード長が３２ビットのプログラムを圧縮する場合でも、最適な圧縮を行うためには、圧縮コードのコード長がコンピュータで扱うのに都合がいい２のべき乗のビットサイズにはならず、中途半端なビットサイズになるために、そのビットサイズに合わせた専用のＲＯＭが必要になってしまうという課題があった。
【００２２】
前記従来例の特許文献３の方法に関しても、圧縮命令コードを本来の命令コードに変換するためのコード変換レジスタと、コード変換情報に基づいて圧縮命令コードから対応する命令コードが格納された記憶装置内の番地を算出するためのコード変換処理部といった新たなハードウェアが必要であるという課題があった。
【００２３】
また、前記コード変換レジスタやコード変換処理部によって本来の命令コードに展開する必要があるために、データ処理装置の命令実行パイプライン段数などにも影響があるという課題もあった。
【００２４】
さらには、特許文献２ないしは特許文献３に記載の手法は、共に格納するプログラムや命令セットに依存したハードウェアやメモリ空間が必要とするため、格納するプログラムや命令セットが変われば、付加するハードウェアやメモリ空間、圧縮命令コードなどを再設計する必要があり、そのための工数と多大なリスクを鑑みたときに、汎用性に欠けるという課題があった。
【００２５】
本発明は、前記従来の課題を解決するもので、プログラムや命令セットに依存することなく、命令コードを記憶するハードウェアのコストを削減するための設計方法、およびデータ処理装置を提供することを目的とする。
【課題を解決するための手段】
【００２６】
前記従来の課題を解決するために、本発明のデータ処理装置の設計方法では、対象処理をソフトウェア処理とハードウェア処理に分割するシステム分割ステップと、ハードウェア処理を実施するためのアーキテクチャを設計し、プロセッサの命令セットおよびハードウェア記述を出力するハードウェア設計ステップと、ハードウェア記述を論理合成してネットリストを得る論理設計ステップと、ネットリストからマスクパターンを得るレイアウトステップと、ソフトウェア処理を実施するためのアーキテクチャを設計し、データ処理プログラムを出力するソフトウェア設計ステップと、データ処理プログラムを前記命令セットに則したハードウェア実行可能形式のオブジェクトプログラムに変換するオブジェクトコード生成ステップと、オブジェクトプログラムを、論理合成可能なハードウェア記述に変換するハードウェア記述変換ステップとを有する。
【００２７】
前記システム分割ステップにてハードウェア処理に分割された処理については、前記ハードウェア設計ステップに進み、同じくソフトウェア処理に分割された処理については、前記ソフトウェア設計ステップへと進む。前記ハードウェア設計ステップにおいて出力されるハードウェア記述は、前記論理設計ステップにて論理合成され、レイアウトステップへと進む。一方、前記ソフトウェア設計ステップにおいて出力されるデータ処理プログラムは、前記オブジェクトコード生成ステップにて、前記ハードウェア設計ステップが出力する命令セットに則したハードウェア実行可能形式のオブジェクトプログラムに変換され、前記ハードウェア記述変換ステップへと進み、前記ハードウェア記述変換ステップによって変換されたプログラムのハードウェア記述は、前記論理設計ステップにて、前記ハードウェア機能ステップの出力したハードウェア記述と同じく論理合成され、レイアウトステップへと進むようにした。
【００２８】
本設計方法によって、オブジェクトコード生成ステップによって得られたハードウェア実行可能形式のオブジェクトプログラムを、従来のようにデータ処理装置内のメモリ領域に格納するのではなく、前記ハードウェア記述変換ステップにて、論理合成可能なハードウェア記述に変換し、これによって得られたハードウェア記述を、論理設計ステップにて他のハードウェア記述と同様に論理合成を行うので、従来のような圧縮命令コードを本来の命令コードに変換するためのコード変換処理部といった新たなハードウェアを具備する必要が無い。よって、プログラムや命令セットが変わっても、これらを再設計する必要が無い。
【００２９】
また、前記従来の課題を解決するために、本発明のプログラム制御方式のデータ処理装置は、プログラムカウンタと、前記プログラムカウンタに応じた命令コードを解読して、命令に対応した処理を実行するための制御信号を出力する命令制御部と、前記命令制御部からの制御信号を受けて、算術演算、論理演算、データ転送等の処理を実行するデータパス部を具備し、前記命令制御部は、命令コードの配列からなる実行可能形式のプログラムの一部または全てを、メモリでは無くハードウェアロジックとして持つようにした。
【００３０】
本構成によって、従来のように圧縮命令コードを本来の命令コードに変換するための変換回路など具備する必要が無く、データ処理装置の命令実行パイプライン段数などにも影響を及ぼさない。また、命令格納用のメモリとしてＲＯＭやＲＡＭなどを使用しないため、ビットサイズやワードサイズに合わせた専用のＲＯＭが必要になることも無い。
【発明の効果】
【００３１】
本発明の設計方法、およびデータ処理装置よれば、命令コードの配列における冗長な部分を、プログラムや命令セット、命令コード長、記憶装置（ＲＯＭやＲＡＭ）の特性に依存することなく縮退することが出来、ハードウェアコストの削減が可能となる。
【発明を実施するための最良の形態】
【００３２】
以下本発明の実施の形態について、図面を参照しながら説明する。
【００３３】
（実施の形態１）
図１は、本発明の実施の形態１におけるデータ処理装置の設計フロー図である。
【００３４】
まずシステム分割ステップ１０２では、どのようなデータ処理をどのような処理速度で行うかといったデータ処理の要求仕様１０１をハードウェアで実現するためのハードウェア仕様１０３と、ソフトウェアで実現するためのソフトウェア仕様１１１とに分割する。
【００３５】
ハードウェア仕様１０３についてはハードウェアで実現するために、ハードウェア設計ステップ１０３へと進み、ソフトウェア仕様１１１についてはプログラムで実現するために、ソフトウェア設計ステップ１１２へと進む。
【００３６】
ハードウェア設計ステップ１０４では、制御をどのような仕組みで行うかや、演算装置の種類、レジスタの数、記憶装置の容量などを決定するといったハードウェアアーキテクチャ設計、およびハードウェアの各構成要素を制御してデータ処理を行うための様々な命令コードの集まりである命令セット１０６の設計を行う。こうして決定された演算装置やレジスタ、内部バスといった構成要素や、命令を解釈するためのハードウェア部分を、ハードウェア記述言語を用いて記述したものが、ハードウェア記述１０５である。なお、命令セット１０６は、ソフトウェア設計でも使用するため、オブジェクトコード生成ステップ１１４へと送られる。
【００３７】
続く論理設計ステップ１０７では、ハードウェア設計ステップ１０４により得られたハードウェア記述１０５と、後述するプログラムのハードウェア記述１１７を、論理合成（一般的には自動論理合成ツールを用いる）することでネットリスト１０８を生成し、タイミング調整などを行った後、レイアウトステップ１０９にてマスクパターン１１０となる。
【００３８】
一方、ソフトウェア設計ステップ１１２では、ハードウェアで行うことのできる基本処理をどのような手順で組み合わせてデータ処理を実現するかを決定し、それを実現するためのデータ処理プログラム１１３を得る。
【００３９】
続くオブジェクトコード生成ステップ１１４では、ソフトウェア設計ステップ１１２により得られたデータ処理プログラム１１３を、ハードウェア設計時に決定された命令セット１０６を用いて、ハードウェア実行可能形式のオブジェクトプログラム１１５に変換する。ハードウェア実行可能形式のオブジェクトプログラム１１５への変換は、命令セット１０６やハードウェア情報をもとに設計されたコンパイラによって自動的に行う場合もあれば、手動で設計する場合もある。
【００４０】
さらにハードウェア記述変換ステップ１１６では、ハードウェア実行可能形式のオブジェクトプログラム１１５を、ハードウェア記述に変換する。このときの変換方法については、最も簡単な変換方法を図２に示した。なお、図２において、図１と同一のものには同一の符号を使用している。
【００４１】
図２は、ハードウェア実行可能形式のオブジェクトプログラム１１５を、ハードウェア変換ステップ１１６にて、プログラムのハードウェア記述１１７に変換する過程を示している。
【００４２】
ハードウェア実行可能形式のオブジェクトプログラム１１５を記憶装置に格納するとした場合の記憶装置の命令アドレス２０１を、プログラムのハードウェア記述１１７におけるCASE文の条件２０３に変換し、命令アドレス２０１に該当する命令コード２０２を、CASE文の出力とする、巨大なセレクタ構成とする。
【００４３】
このようにしてハードウェア記述変換ステップ１１６にて変換したプログラムのハードウェア記述１１７は、論理設計ステップ１０７へと入力され、ハードウェアの一構成要素として論理合成の対象となる。
【００４４】
以上、ステップ１０２からステップ１１７を経て、データ処理装置１１８の設計が完了する。
【００４５】
従来例によれば、ハードウェア実行可能形式のオブジェクトプログラム１１５は、そのままデータ処理装置１１８内のメモリ領域に格納するところだが、本実施例では、ハードウェア記述変換ステップ１１６を設けてオブジェクトプログラム１１５をプログラムのハードウェア記述１１７に変換している点が従来例と異なる。
【００４６】
なお、ハードウェア記述変換ステップ１１４については、ＰＥＲＬなどのプログラミング言語を用いて、命令コードの羅列からＣＡＳＥ文を用いたハードウェア記述に自動的に変換しても良い。また、本実施例では、ハードウェア記述への変換方法として、ＣＡＳＥ文を用いたセレクタ構成にする例を示したが、この方法に限定するものでは無い。
【００４７】
本実施例の設計方法によれば、オブジェクトコード生成ステップ１１４によって得られたハードウェア実行可能形式のオブジェクトプログラム１１５を、従来例のようにメモリ領域に格納するのではなく、前記ハードウェア記述変換ステップ１１６にて、論理合成可能なプログラムのハードウェア記述１１７に変換し、前記論理合成可能なプログラムのハードウェア記述１１７を、論理設計ステップ１０７にて他のハードウェア記述と同様に論理合成を行うことで、プログラムの冗長性を排除することが可能となるので、ハードウェアコストを削減することが出来る。
【００４８】
また、かかる設計方法によれば、従来例のように圧縮命令コードを本来の命令コードに変換するためのコード変換処理部といった、プログラムや命令セットに依存した新たなハードウェアを具備する必要が無い。よって、プログラムや命令セットが変わっても、これらを再設計する工数と多大なリスクを負わなくて済む。
【００４９】
（実施の形態２）
図３は、本発明の実施の形態２におけるデータ処理装置の構成図である。図２の構成について説明する。
【００５０】
図３に示すデータ処理装置は、外部とのデータの入出力を制御する入出力制御回路３０１と、演算処理対象のデータ、演算処理結果などのデータを記憶する記憶装置３０２と、データに対する演算処理およびデータ転送処理を行うデータパス３０６と、命令コードを解読してデータパス３０６に制御信号を出力する制御回路３１０と、これら入出力制御回路３０１、記憶装置３０２、データパス３０６、制御回路３１０等を相互に接続して、データの送受信を可能とする内部バス３１１とを具備する。
【００５１】
また、データパス３０６は、レジスタの一種で、次に実行すべき命令コードが記憶されている命令コードロジック部３１２内の番地を格納するプログラムカウンタ３０３と、種々のデータを保持するための汎用レジスタ３０４、データに対して必要な算術演算および論理演算等を実行する演算処理部３０５から成る。
【００５２】
また、制御回路３１０は、命令コードの配列からなる実行可能形式のオブジェクトプログラムをメモリではなくハードウェアロジックで実装した命令コードロジック部３１２と、前記命令コードロジック部３１２から読み出した命令コードを一時的に格納する命令レジスタ３０７と、命令レジスタ３０７に格納された命令コードを解読してデータパス部３０６に制御信号を出力する命令デコーダ３０８、およびデータ処理装置全体の動作の同期を取るためのクロック信号を発生するタイミング信号発生部３０９から成る。
【００５３】
次に、図２に示したデータ処理装置の動作について説明する。なお、当該動作説明においては、従来例と同じく、本データ処理装置がパイプライン制御による並列処理を実施することを前提として、パイプライン制御における処理工程の単位である各ステージ毎に動作を説明するものとする。
ステージ１：命令コードロジック部３１２の所定の番地からプログラムの先頭番地を読み出して、プログラムカウンタ３０３にセットする。
ステージ２：プログラムカウンタ３０３が指定する番地に格納されている命令コードを命令コードロジック部３１２から読み出して、命令レジスタ３０７にセットする。なお、プログラムカウンタ３０３の値は、読み出しと共に順次インクリメントされる。
ステージ３：命令レジスタ３０７に格納された命令コードを、命令デコーダ３０８で解読し、データパス３０６に対して制御信号を出力する。
ステージ４：データパス３０６にて、制御信号に従って命令を実行する。なお、命令コードが分岐命令の場合には、分岐先の命令コードが格納されている番地をプログラムカウンタ３０３にセットして、パイプライン制御による並列処理を初期化する。
【００５４】
そして、各命令コード毎に、上記ステージ２〜ステージ４の処理工程をパイプラインで実行する。
【００５５】
本実施例のデータ処理装置によれば、制御回路３１０が命令コードの配列からなる実行可能形式のオブジェクトプログラムの一部または全てを、メモリでは無くハードウェアロジックとして持つようにしたので、記憶装置３０２に命令格納用のメモリ領域を有するよりも、アドレス方向の冗長性が縮退され、ハードウェアコストを削減出来る。
【００５６】
また、かかる構成のデータ処理装置によれば、従来のように圧縮命令コードを本来の命令コードに変換するための変換回路など具備する必要が無く、データ処理装置の命令実行パイプライン段数などにも影響を及ぼさない。
【００５７】
また、かかる構成のデータ処理装置によれば、命令格納用のメモリとしてＲＯＭやＲＡＭなどを使用しないため、ビットサイズやワードサイズに合わせた専用のＲＯＭが必要になることも無い。
【産業上の利用可能性】
【００５８】
本発明にかかるデータ処理装置およびデータ処理装置の設計方法は、設計方法としての汎用性が高く、実装時のＨ／Ｗコストを低減できるので、家電製品、AV機器、携帯電話、自動車などの電子機器に用いられるマイクロプロセッサやマイクロコントローラといったデータ処理装置に広く利用される可能性がある。
【図面の簡単な説明】
【００５９】
【図１】本発明の実施の形態１におけるデータ処理装置の設計フロー図
【図２】本発明の実施の形態１におけるハードウェア記述変換の一例を示した図
【図３】本発明の実施の形態２におけるデータ処理装置の構成図
【図４】本発明の従来例としての一般的なデータ処理装置の構成図
【符号の説明】
【００６０】
１０１    データ処理装置の要求仕様
１０２    システム分割ステップ
１０３    ハードウェア仕様
１０４    ハードウェア設計ステップ
１０５    ハードウェア記述
１０６    命令セット
１０７    論理設計ステップ
１０８    ネットリスト
１０９    レイアウト設計ステップ
１１０    マスクパターン
１１１    ソフトウェア仕様
１１２    ソフトウェア設計ステップ
１１３    データ処理プログラム
１１４    オブジェクトコード生成ステップ
１１５    オブジェクトプログラム
１１６    ハードウェア記述変換ステップ
１１７    プログラムのハードウェア記述
１１８    データ処理装置
２０１    命令アドレス
２０２    命令コード
２０３    CASE文の条件部
３０１，４０１    入出力制御回路
３０２，４０２    記憶装置
３０３，４０３    プログラムカウンタ
３０４，４０４    汎用レジスタ
３０５，３０５    演算処理部
３０６，４０６    データパス
３０７，４０７    命令レジスタ
３０８，４０８    命令デコーダ
３０９，４０９    タイミング信号生成部
３１０，４１０    制御回路
３１１，４１１    内部バス
３１２    命令コードロジック部
【図１】
2006155448.tif 000003
【図２】
2006155448.tif 000004
【図３】
2006155448.tif 000005
【図４】
2006155448.tif 000006