JP2006155448A - データ処理装置およびデータ処理装置の設計方法 - Google Patents

データ処理装置およびデータ処理装置の設計方法 Download PDF

Info

Publication number
JP2006155448A
JP2006155448A JP2004348084A JP2004348084A JP2006155448A JP 2006155448 A JP2006155448 A JP 2006155448A JP 2004348084 A JP2004348084 A JP 2004348084A JP 2004348084 A JP2004348084 A JP 2004348084A JP 2006155448 A JP2006155448 A JP 2006155448A
Authority
JP
Japan
Prior art keywords
hardware
program
instruction
data processing
software
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.)
Pending
Application number
JP2004348084A
Other languages
English (en)
Inventor
Shinno Hamada
真納 濱田
Yasushi Kai
康司 甲斐
Takeshi Nakamura
中村  剛
Akihiko Inoue
昭彦 井上
Katsuyoshi Higashijima
勝義 東島
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2004348084A priority Critical patent/JP2006155448A/ja
Priority to US11/289,442 priority patent/US20060161877A1/en
Publication of JP2006155448A publication Critical patent/JP2006155448A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/327Logic synthesis; Behaviour synthesis, e.g. mapping logic, HDL to netlist, high-level language to RTL or netlist
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2117/00Details relating to the type or aim of the circuit design
    • G06F2117/08HW-SW co-design, e.g. HW-SW partitioning

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

【課題】プログラムや命令セットに依存することなく、命令コードを記憶するハードウェアのコストを削減するための設計方法、およびデータ処理装置を提供する。
【解決手段】データ処理のうち、ハードウェア処理に関しては、プロセッサの命令セットおよびハードウェアを設計し、論理合成してネットリストを得る一方で、ソフトウェア処理に関しては、データ処理プログラムを設計し、前記命令セットに則したハードウェア実行可能形式のオブジェクトプログラムに変換した後、前記オブジェクトプログラムを、論理合成可能なハードウェア記述に変換し論理合成を行う。このようにオブジェクトプログラムをメモリに格納することなく、ハードウェア記述に変換して論理合成することで、プログラムの冗長性を排除し、実装時のH/Wコストを低減する。
【選択図】図1

Description

本発明は、家電製品、AV機器、携帯電話、自動車などの電子機器に用いられるマイクロプロセッサやマイクロコントローラといったデータ処理装置に関し、とくに実行可能形式のプログラムを記憶する手段を内蔵したプログラム制御方式のデータ処理装置に関する。
マイクロプロセッサやマイクロコントローラなどのデータ処理装置は、デジタル機器などに組み込まれ、アプリケーションの実行や機器の動作制御などを行う。
特許文献1の図10に、一般的なプログラム制御方式のデータ処理装置の設計フローが示されている。
特許文献1によると、通常、プログラム制御方式のデータ処理システムでは、要求仕様として与えられるデータ処理を、データパスや記憶装置、転送経路、制御装置などから構成されるハードウェアと、そのハードウェアを制御するためのソフトウェア(プログラム)の組合せで実現する。ハードウェアとソフトウェアとは設計手法が大きく異なるため、通常、設計の最初の段階にてシステム分割工程で分割され、それぞれに対して詳細設計が行われ、ハードウェア仕様とソフトウェア仕様を得る。
システム分割工程にてハードウェアで実現することになった処理については、ハードウェア設計工程において、ハードウェア仕様に対して、その制御をどのような仕組みで行うかや、レジスタ数や記憶装置の要領などの詳細な設計項目が決定される。また、この設計項目の重要な項目として命令セット設計が行われる。命令セットは、ハードウェア仕様として決定したハードウェア構成の各要素を制御してデータ処理を行うための様々な命令の集まりとして決定される。この命令セット設計によって命令セットの形状が決定され、命令を解釈実行するためのハードウェア部分が設計される。また設計された命令セットはソフトウェア設計側で利用するために、コンパイラ工程に渡される。ハードウェアとして実現される部分は通常はハードウェア記述言語で出力され、後の詳細設計に用いられる。
ハードウェア設計工程により得られたハードウェア記述は、続く論理設計工程にて、論理合成することでネットリストに変換され、タイミング調整などを行った後、レイアウト工程を経てマスクパターンとなる。
一方、システム分割工程にてソフトウェアで実現することになった処理については、ソフトウェア設計工程へと進む。ソフトウェア設計工程では、ソフトウェア仕様に対応したデータ処理プログラムを得、これは後のオブジェクトコード生成工程にて、ハードウェア設計工程で設計された命令セットを用いたオブジェクトプログラムに変換される。オブジェクトプログラムの生成は、通常命令セットやハードウェアの情報をもとにコンパイラが設計され、それによって行われる。
オブジェクトコード生成工程によって得られたオブジェクトプログラムは、前述のマスクパターンの製造によって得られたデータ処理装置内のメモリに、多数の命令コードの配列として格納される。
このような設計フローにて設計される一般的なデータ処理装置は、幾つかの演算装置、記憶装置(メモリ)とそれらを接続する転送経路で構成されているが、このデータ処理装置の詳細な内部構成については、特許文献3の図13に示されているマイクロコンピュータの構成が一般的である。
図4は、特許文献3の図13である(ただし、各構成要素の名称は特許文献3と同じであるが、符号は変更している。)。
図4に示すマイクロコンピュータは、外部とのデータの入出力を制御する入出力制御回路401と、命令コードや演算処理対象のデータ、演算処理結果などのデータを記憶する記憶装置402と、データに対する演算処理およびデータ転送処理を行うデータパス406と、命令コードを解読してデータパス406に制御信号を出力する制御回路410と、これら入出力制御回路401、記憶装置402、データパス406、制御回路410等を相互に接続して、データの送受信を可能とする内部バス411とを具備する。
また、データパス406は、レジスタの一種で、次に実行すべき命令コードが記憶されている記憶装置402内の番地を格納するプログラムカウン403と、種々のデータを保持するための汎用レジスタ404、データに対して必要な算術演算および論理演算等を実行する演算処理部405から成る。
また、制御回路410は、記憶装402から読み出した命令コードを一時的に格納する命令レジスタ407と、命令レジスタ407に格納された命令コードを解読してデータパス部406に制御信号を出力する命令デコーダ408、およびデータ処理装置全体の動作の同期を取るためのクロック信号を発生するタイミング信号発生部409から成る。
次に、図4に示したマイクロコンピュータの動作について説明する。なお、当該動作説明においては、マイクロコンピュータがパイプライン制御による並列処理を実施することを前提として、パイプライン制御における処理工程の単位である各ステージ毎にマイクロコンピュータの動作を説明するものとする。
ステージ1:記憶装置402の所定の番地からプログラムの先頭番地を読み出して、プログラムカウンタ403にセットする。
ステージ2:プログラムカウンタ403が指定する番地に格納されている命令コードを記憶装置402から読み出して、命令レジスタ407にセットする。なお、プログラムカウンタ403の値は、読み出しと共に順次インクリメントされる。
ステージ3:命令レジス407に格納された命令コードを、命令デコーダ408で解読し、データパス406に対して制御信号を出力する。
ステージ4:データパス406にて、制御信号に従って命令を実行する。なお、命令コードが分岐命令の場合には、分岐先の命令コードが格納されている番地をプログラムカウンタ403にセットして、パイプライン制御による並列処理を初期化する。
そして、各命令コード毎に、上記ステージ2〜ステージ4の処理工程をパイプラインで実行する。
近年、上述のような設計・構成のプログラム制御方式のデータ処理装置は、安価かつ高性能であることが要求されている。しかしながら、要求仕様が複雑になるにつれてソフトウェアで処理するためのプログラムが増大するため、それを格納する記憶装置の容量の増加が問題になっている。現在、チップ面積に占める記憶装置の割合が、全体の半分以上を占めることも少なく無く、そしてその比率は、今後さらに増加すると考えられている。
そこで、プログラムを格納するための記憶装置の容量を小さくすることで、チップ面積の増加を抑制する手法が提案されている。
特許文献2には、命令コード長を圧縮することでメモリ容量を削減する方法が開示されている。特許文献2の技術は、プログラムに出現する命令コードとデータを、それより短いコード長の圧縮コードに変換して圧縮コードメモリに持ち、圧縮コードを命令コードとデータに展開するためのデータを辞書メモリに持ち、圧縮コードを辞書メモリのアドレスとして、辞書メモリを読み出すようにするものである。
また、特許文献3には、プログラム内の同じ処理工程を複数繰り返すような処理を、一つの圧縮コードで表現しなおすことで、プログラムの格納に要するメモリの使用量を低減する方法が開示されている。特許文献3の技術は、連続する複数の命令コード毎に、コード長の短い圧縮命令コードを対応付け、圧縮命令コードを処理手順に基づいて配列した記憶装置と、圧縮命令コードを本来の命令コードに変換するためのコード変換レジスタと、コード変換情報に基づいて圧縮命令コードから対応する命令コードが格納された記憶装置内の番地を算出するためのコード変換処理部とを備えるものである。
特開平9−16642号公報 特開平9−231071号公報 特開2001−318788号公報
しかしながら、前記従来例の特許文献2で示したような、命令コード長を圧縮する手法では、もともとの命令コード長が32ビットの場合には、命令の取り得る最大のバリエーションは2の32乗であるのに対して、実際のプログラムで用いる命令のバリエーションが極端に少ないケースが多いので60%程度の高い圧縮率を実現できるが、命令コード長が16ビットと短い場合には、命令の取り得る最大のバリエーションが2の16乗と激減するにも関わらず、実際のプログラムで用いる命令のバリエーションは、命令コード長が32ビットの場合と比べてもあまり少なくならないため、圧縮率が悪いという課題があった。
また、命令コード長が32ビットのプログラムを圧縮する場合でも、最適な圧縮を行うためには、圧縮コードのコード長がコンピュータで扱うのに都合がいい2のべき乗のビットサイズにはならず、中途半端なビットサイズになるために、そのビットサイズに合わせた専用のROMが必要になってしまうという課題があった。
前記従来例の特許文献3の方法に関しても、圧縮命令コードを本来の命令コードに変換するためのコード変換レジスタと、コード変換情報に基づいて圧縮命令コードから対応する命令コードが格納された記憶装置内の番地を算出するためのコード変換処理部といった新たなハードウェアが必要であるという課題があった。
また、前記コード変換レジスタやコード変換処理部によって本来の命令コードに展開する必要があるために、データ処理装置の命令実行パイプライン段数などにも影響があるという課題もあった。
さらには、特許文献2ないしは特許文献3に記載の手法は、共に格納するプログラムや命令セットに依存したハードウェアやメモリ空間が必要とするため、格納するプログラムや命令セットが変われば、付加するハードウェアやメモリ空間、圧縮命令コードなどを再設計する必要があり、そのための工数と多大なリスクを鑑みたときに、汎用性に欠けるという課題があった。
本発明は、前記従来の課題を解決するもので、プログラムや命令セットに依存することなく、命令コードを記憶するハードウェアのコストを削減するための設計方法、およびデータ処理装置を提供することを目的とする。
前記従来の課題を解決するために、本発明のデータ処理装置の設計方法では、対象処理をソフトウェア処理とハードウェア処理に分割するシステム分割ステップと、ハードウェア処理を実施するためのアーキテクチャを設計し、プロセッサの命令セットおよびハードウェア記述を出力するハードウェア設計ステップと、ハードウェア記述を論理合成してネットリストを得る論理設計ステップと、ネットリストからマスクパターンを得るレイアウトステップと、ソフトウェア処理を実施するためのアーキテクチャを設計し、データ処理プログラムを出力するソフトウェア設計ステップと、データ処理プログラムを前記命令セットに則したハードウェア実行可能形式のオブジェクトプログラムに変換するオブジェクトコード生成ステップと、オブジェクトプログラムを、論理合成可能なハードウェア記述に変換するハードウェア記述変換ステップとを有する。
前記システム分割ステップにてハードウェア処理に分割された処理については、前記ハードウェア設計ステップに進み、同じくソフトウェア処理に分割された処理については、前記ソフトウェア設計ステップへと進む。前記ハードウェア設計ステップにおいて出力されるハードウェア記述は、前記論理設計ステップにて論理合成され、レイアウトステップへと進む。一方、前記ソフトウェア設計ステップにおいて出力されるデータ処理プログラムは、前記オブジェクトコード生成ステップにて、前記ハードウェア設計ステップが出力する命令セットに則したハードウェア実行可能形式のオブジェクトプログラムに変換され、前記ハードウェア記述変換ステップへと進み、前記ハードウェア記述変換ステップによって変換されたプログラムのハードウェア記述は、前記論理設計ステップにて、前記ハードウェア機能ステップの出力したハードウェア記述と同じく論理合成され、レイアウトステップへと進むようにした。
本設計方法によって、オブジェクトコード生成ステップによって得られたハードウェア実行可能形式のオブジェクトプログラムを、従来のようにデータ処理装置内のメモリ領域に格納するのではなく、前記ハードウェア記述変換ステップにて、論理合成可能なハードウェア記述に変換し、これによって得られたハードウェア記述を、論理設計ステップにて他のハードウェア記述と同様に論理合成を行うので、従来のような圧縮命令コードを本来の命令コードに変換するためのコード変換処理部といった新たなハードウェアを具備する必要が無い。よって、プログラムや命令セットが変わっても、これらを再設計する必要が無い。
また、前記従来の課題を解決するために、本発明のプログラム制御方式のデータ処理装置は、プログラムカウンタと、前記プログラムカウンタに応じた命令コードを解読して、命令に対応した処理を実行するための制御信号を出力する命令制御部と、前記命令制御部からの制御信号を受けて、算術演算、論理演算、データ転送等の処理を実行するデータパス部を具備し、前記命令制御部は、命令コードの配列からなる実行可能形式のプログラムの一部または全てを、メモリでは無くハードウェアロジックとして持つようにした。
本構成によって、従来のように圧縮命令コードを本来の命令コードに変換するための変換回路など具備する必要が無く、データ処理装置の命令実行パイプライン段数などにも影響を及ぼさない。また、命令格納用のメモリとしてROMやRAMなどを使用しないため、ビットサイズやワードサイズに合わせた専用のROMが必要になることも無い。
本発明の設計方法、およびデータ処理装置よれば、命令コードの配列における冗長な部分を、プログラムや命令セット、命令コード長、記憶装置(ROMやRAM)の特性に依存することなく縮退することが出来、ハードウェアコストの削減が可能となる。
以下本発明の実施の形態について、図面を参照しながら説明する。
(実施の形態1)
図1は、本発明の実施の形態1におけるデータ処理装置の設計フロー図である。
まずシステム分割ステップ102では、どのようなデータ処理をどのような処理速度で行うかといったデータ処理の要求仕様101をハードウェアで実現するためのハードウェア仕様103と、ソフトウェアで実現するためのソフトウェア仕様111とに分割する。
ハードウェア仕様103についてはハードウェアで実現するために、ハードウェア設計ステップ103へと進み、ソフトウェア仕様111についてはプログラムで実現するために、ソフトウェア設計ステップ112へと進む。
ハードウェア設計ステップ104では、制御をどのような仕組みで行うかや、演算装置の種類、レジスタの数、記憶装置の容量などを決定するといったハードウェアアーキテクチャ設計、およびハードウェアの各構成要素を制御してデータ処理を行うための様々な命令コードの集まりである命令セット106の設計を行う。こうして決定された演算装置やレジスタ、内部バスといった構成要素や、命令を解釈するためのハードウェア部分を、ハードウェア記述言語を用いて記述したものが、ハードウェア記述105である。なお、命令セット106は、ソフトウェア設計でも使用するため、オブジェクトコード生成ステップ114へと送られる。
続く論理設計ステップ107では、ハードウェア設計ステップ104により得られたハードウェア記述105と、後述するプログラムのハードウェア記述117を、論理合成(一般的には自動論理合成ツールを用いる)することでネットリスト108を生成し、タイミング調整などを行った後、レイアウトステップ109にてマスクパターン110となる。
一方、ソフトウェア設計ステップ112では、ハードウェアで行うことのできる基本処理をどのような手順で組み合わせてデータ処理を実現するかを決定し、それを実現するためのデータ処理プログラム113を得る。
続くオブジェクトコード生成ステップ114では、ソフトウェア設計ステップ112により得られたデータ処理プログラム113を、ハードウェア設計時に決定された命令セット106を用いて、ハードウェア実行可能形式のオブジェクトプログラム115に変換する。ハードウェア実行可能形式のオブジェクトプログラム115への変換は、命令セット106やハードウェア情報をもとに設計されたコンパイラによって自動的に行う場合もあれば、手動で設計する場合もある。
さらにハードウェア記述変換ステップ116では、ハードウェア実行可能形式のオブジェクトプログラム115を、ハードウェア記述に変換する。このときの変換方法については、最も簡単な変換方法を図2に示した。なお、図2において、図1と同一のものには同一の符号を使用している。
図2は、ハードウェア実行可能形式のオブジェクトプログラム115を、ハードウェア変換ステップ116にて、プログラムのハードウェア記述117に変換する過程を示している。
ハードウェア実行可能形式のオブジェクトプログラム115を記憶装置に格納するとした場合の記憶装置の命令アドレス201を、プログラムのハードウェア記述117におけるCASE文の条件203に変換し、命令アドレス201に該当する命令コード202を、CASE文の出力とする、巨大なセレクタ構成とする。
このようにしてハードウェア記述変換ステップ116にて変換したプログラムのハードウェア記述117は、論理設計ステップ107へと入力され、ハードウェアの一構成要素として論理合成の対象となる。
以上、ステップ102からステップ117を経て、データ処理装置118の設計が完了する。
従来例によれば、ハードウェア実行可能形式のオブジェクトプログラム115は、そのままデータ処理装置118内のメモリ領域に格納するところだが、本実施例では、ハードウェア記述変換ステップ116を設けてオブジェクトプログラム115をプログラムのハードウェア記述117に変換している点が従来例と異なる。
なお、ハードウェア記述変換ステップ114については、PERLなどのプログラミング言語を用いて、命令コードの羅列からCASE文を用いたハードウェア記述に自動的に変換しても良い。また、本実施例では、ハードウェア記述への変換方法として、CASE文を用いたセレクタ構成にする例を示したが、この方法に限定するものでは無い。
本実施例の設計方法によれば、オブジェクトコード生成ステップ114によって得られたハードウェア実行可能形式のオブジェクトプログラム115を、従来例のようにメモリ領域に格納するのではなく、前記ハードウェア記述変換ステップ116にて、論理合成可能なプログラムのハードウェア記述117に変換し、前記論理合成可能なプログラムのハードウェア記述117を、論理設計ステップ107にて他のハードウェア記述と同様に論理合成を行うことで、プログラムの冗長性を排除することが可能となるので、ハードウェアコストを削減することが出来る。
また、かかる設計方法によれば、従来例のように圧縮命令コードを本来の命令コードに変換するためのコード変換処理部といった、プログラムや命令セットに依存した新たなハードウェアを具備する必要が無い。よって、プログラムや命令セットが変わっても、これらを再設計する工数と多大なリスクを負わなくて済む。
(実施の形態2)
図3は、本発明の実施の形態2におけるデータ処理装置の構成図である。図2の構成について説明する。
図3に示すデータ処理装置は、外部とのデータの入出力を制御する入出力制御回路301と、演算処理対象のデータ、演算処理結果などのデータを記憶する記憶装置302と、データに対する演算処理およびデータ転送処理を行うデータパス306と、命令コードを解読してデータパス306に制御信号を出力する制御回路310と、これら入出力制御回路301、記憶装置302、データパス306、制御回路310等を相互に接続して、データの送受信を可能とする内部バス311とを具備する。
また、データパス306は、レジスタの一種で、次に実行すべき命令コードが記憶されている命令コードロジック部312内の番地を格納するプログラムカウンタ303と、種々のデータを保持するための汎用レジスタ304、データに対して必要な算術演算および論理演算等を実行する演算処理部305から成る。
また、制御回路310は、命令コードの配列からなる実行可能形式のオブジェクトプログラムをメモリではなくハードウェアロジックで実装した命令コードロジック部312と、前記命令コードロジック部312から読み出した命令コードを一時的に格納する命令レジスタ307と、命令レジスタ307に格納された命令コードを解読してデータパス部306に制御信号を出力する命令デコーダ308、およびデータ処理装置全体の動作の同期を取るためのクロック信号を発生するタイミング信号発生部309から成る。
次に、図2に示したデータ処理装置の動作について説明する。なお、当該動作説明においては、従来例と同じく、本データ処理装置がパイプライン制御による並列処理を実施することを前提として、パイプライン制御における処理工程の単位である各ステージ毎に動作を説明するものとする。
ステージ1:命令コードロジック部312の所定の番地からプログラムの先頭番地を読み出して、プログラムカウンタ303にセットする。
ステージ2:プログラムカウンタ303が指定する番地に格納されている命令コードを命令コードロジック部312から読み出して、命令レジスタ307にセットする。なお、プログラムカウンタ303の値は、読み出しと共に順次インクリメントされる。
ステージ3:命令レジスタ307に格納された命令コードを、命令デコーダ308で解読し、データパス306に対して制御信号を出力する。
ステージ4:データパス306にて、制御信号に従って命令を実行する。なお、命令コードが分岐命令の場合には、分岐先の命令コードが格納されている番地をプログラムカウンタ303にセットして、パイプライン制御による並列処理を初期化する。
そして、各命令コード毎に、上記ステージ2〜ステージ4の処理工程をパイプラインで実行する。
本実施例のデータ処理装置によれば、制御回路310が命令コードの配列からなる実行可能形式のオブジェクトプログラムの一部または全てを、メモリでは無くハードウェアロジックとして持つようにしたので、記憶装置302に命令格納用のメモリ領域を有するよりも、アドレス方向の冗長性が縮退され、ハードウェアコストを削減出来る。
また、かかる構成のデータ処理装置によれば、従来のように圧縮命令コードを本来の命令コードに変換するための変換回路など具備する必要が無く、データ処理装置の命令実行パイプライン段数などにも影響を及ぼさない。
また、かかる構成のデータ処理装置によれば、命令格納用のメモリとしてROMやRAMなどを使用しないため、ビットサイズやワードサイズに合わせた専用のROMが必要になることも無い。
本発明にかかるデータ処理装置およびデータ処理装置の設計方法は、設計方法としての汎用性が高く、実装時のH/Wコストを低減できるので、家電製品、AV機器、携帯電話、自動車などの電子機器に用いられるマイクロプロセッサやマイクロコントローラといったデータ処理装置に広く利用される可能性がある。
本発明の実施の形態1におけるデータ処理装置の設計フロー図 本発明の実施の形態1におけるハードウェア記述変換の一例を示した図 本発明の実施の形態2におけるデータ処理装置の構成図 本発明の従来例としての一般的なデータ処理装置の構成図
符号の説明
101 データ処理装置の要求仕様
102 システム分割ステップ
103 ハードウェア仕様
104 ハードウェア設計ステップ
105 ハードウェア記述
106 命令セット
107 論理設計ステップ
108 ネットリスト
109 レイアウト設計ステップ
110 マスクパターン
111 ソフトウェア仕様
112 ソフトウェア設計ステップ
113 データ処理プログラム
114 オブジェクトコード生成ステップ
115 オブジェクトプログラム
116 ハードウェア記述変換ステップ
117 プログラムのハードウェア記述
118 データ処理装置
201 命令アドレス
202 命令コード
203 CASE文の条件部
301,401 入出力制御回路
302,402 記憶装置
303,403 プログラムカウンタ
304,404 汎用レジスタ
305,305 演算処理部
306,406 データパス
307,407 命令レジスタ
308,408 命令デコーダ
309,409 タイミング信号生成部
310,410 制御回路
311,411 内部バス
312 命令コードロジック部

Claims (2)

  1. 命令コードを逐次的に解読して動作するプログラム制御方式のデータ処理装置の設計方法であって、
    対象処理をソフトウェア処理とハードウェア処理に分割して、ハードウェア仕様とソフトウェア仕様を得るシステム分割ステップと、
    前記ハードウェア仕様をもとにハードウェア処理を実施するためのアーキテクチャを設計し、プロセッサの命令セットおよびハードウェア記述を出力するハードウェア設計ステップと、
    前記ハードウェア記述を論理合成してネットリストを得る論理設計ステップと、
    前記ネットリストからマスクパターンを得るレイアウトステップと、
    前記ソフトウェア仕様をもとにソフトウェア処理を実施するためのアーキテクチャを設計し、データ処理プログラムを出力するソフトウェア設計ステップと、
    前記データ処理プログラムを前記命令セットに則したハードウェア実行可能形式のオブジェクトプログラムに変換するオブジェクトコード生成ステップと、
    前記オブジェクトプログラムを、論理合成可能なハードウェア記述に変換するハードウェア記述変換ステップを備え、
    前記システム分割ステップにてハードウェア仕様に分割された処理については、前記ハードウェア設計ステップに進み、同じくソフトウェア仕様に分割された処理については、前記ソフトウェア設計ステップへと進み、前記ハードウェア設計ステップにおいて出力されるハードウェア記述は、前記論理設計ステップにて論理合成され、得られたネットリストは前記レイアウトステップへと進み、前記ソフトウェア設計ステップにおいて出力されるデータ処理プログラムは、前記オブジェクトコード生成ステップにて、前記ハードウェア設計ステップが出力する命令セットに則したハードウェア実行可能形式のオブジェクトプログラムに変換されて、前記ハードウェア記述変換ステップへと進み、前記ハードウェア記述変換ステップによって変換されたプログラムのハードウェア記述は、前記論理設計ステップにて、前記ハードウェア設計ステップの出力したハードウェア記述と同じく論理合成され、前記レイアウトステップへと進むことを特徴とするプログラム制御方式のデータ処理装置の設計方法。
  2. プログラムカウンタに応じた命令コードを読み込み、逐次的に解読して動作するプログラム制御方式のデータ処理装置であって、
    プログラムカウンタと、
    前記プログラムカウンタに応じた命令コードを解読して、命令に対応した処理を実行するための制御信号を出力する命令制御部と、
    前記命令制御部からの制御信号を受けて、算術演算、論理演算、データ転送を実行するデータパス部を具備し、
    前記命令制御部は、命令コードの配列からなる実行可能形式のプログラムの一部または全てを、メモリでは無くハードウェアロジックとして持つ
    ことを特徴とする、プログラム制御方式のデータ処理装置。
JP2004348084A 2004-12-01 2004-12-01 データ処理装置およびデータ処理装置の設計方法 Pending JP2006155448A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2004348084A JP2006155448A (ja) 2004-12-01 2004-12-01 データ処理装置およびデータ処理装置の設計方法
US11/289,442 US20060161877A1 (en) 2004-12-01 2005-11-30 Device and method for data-processing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004348084A JP2006155448A (ja) 2004-12-01 2004-12-01 データ処理装置およびデータ処理装置の設計方法

Publications (1)

Publication Number Publication Date
JP2006155448A true JP2006155448A (ja) 2006-06-15

Family

ID=36633634

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004348084A Pending JP2006155448A (ja) 2004-12-01 2004-12-01 データ処理装置およびデータ処理装置の設計方法

Country Status (2)

Country Link
US (1) US20060161877A1 (ja)
JP (1) JP2006155448A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120017185A1 (en) * 2010-07-13 2012-01-19 Satish Padmanabhan Automatic optimal integrated circuit generator from algorithms and specification
JP2019144910A (ja) * 2018-02-21 2019-08-29 学校法人関西学院 リアルタイム処理装置及びその作製方法

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7761817B2 (en) 2006-05-22 2010-07-20 Coherent Logix, Incorporated Designing an ASIC based on execution of a software program on a processing system
US9196224B2 (en) * 2007-12-31 2015-11-24 Invention Science Fund I, Llc Managing obstructed views of multiple display surfaces

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6981232B1 (en) * 2003-05-23 2005-12-27 Xilinx, Inc. Method and system for integrating a program and a processor into an application specific processor
JP2007526539A (ja) * 2003-06-18 2007-09-13 アンブリック, インコーポレイテッド 集積回路開発システム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120017185A1 (en) * 2010-07-13 2012-01-19 Satish Padmanabhan Automatic optimal integrated circuit generator from algorithms and specification
US8225247B2 (en) * 2010-07-13 2012-07-17 Satish Padmanabhan Automatic optimal integrated circuit generator from algorithms and specification
JP2019144910A (ja) * 2018-02-21 2019-08-29 学校法人関西学院 リアルタイム処理装置及びその作製方法
JP7112058B2 (ja) 2018-02-21 2022-08-03 学校法人関西学院 リアルタイム処理装置及びその作製方法

Also Published As

Publication number Publication date
US20060161877A1 (en) 2006-07-20

Similar Documents

Publication Publication Date Title
US7389404B2 (en) Apparatus and method for matrix data processing
JP4921665B2 (ja) プレディケーションを用いたマスクに基づくパックされたデータからのデータ要素の選択的書き込み
JP3585800B2 (ja) 情報処理装置
US20050198471A1 (en) Micro-controller for reading out compressed instruction code and program memory for compressing instruction code and storing therein
US7478351B2 (en) Designing system and method for designing a system LSI
Wong et al. High-level synthesis of asynchronous systems by data-driven decomposition
CN117112028A (zh) 编码和解码可变长度指令
JP2007034887A (ja) ハイレベル合成コンパイラ用のシフトレジスタファイルを自動生成するための方法および装置
US5964861A (en) Method for writing a program to control processors using any instructions selected from original instructions and defining the instructions used as a new instruction set
US7536534B2 (en) Processor capable of being switched among a plurality of operating modes, and method of designing said processor
JPH09231071A (ja) コンピュータ装置
JP2006155448A (ja) データ処理装置およびデータ処理装置の設計方法
JP2009093513A (ja) 命令ビット長削減方法
JP2006518060A (ja) 単一命令多重データ管理のための方法および計算機プログラム
JP2000322235A (ja) 情報処理装置
GB2343027A (en) Processor and memory control for accessing a square memory area
JP2006072961A (ja) 演算処理装置のメモリ回路
JP2008204341A (ja) インタフェース合成装置
US20110179242A1 (en) Multi-Stage Multiplexing Operation Including Combined Selection and Data Alignment or Data Replication
EP2336883A1 (en) Programming system in multi-core, and method and program of the same
JP3763700B2 (ja) 高位合成装置
JP2000284962A (ja) マイクロコンピュータ
US6363469B1 (en) Address generation apparatus
JP2006202330A (ja) システムlsiの設計方法及びこれを記憶した記録媒体
US20040193930A1 (en) Microcontroller