JP5157129B2 - 情報処理装置およびその回路設計方法 - Google Patents

情報処理装置およびその回路設計方法 Download PDF

Info

Publication number
JP5157129B2
JP5157129B2 JP2006299719A JP2006299719A JP5157129B2 JP 5157129 B2 JP5157129 B2 JP 5157129B2 JP 2006299719 A JP2006299719 A JP 2006299719A JP 2006299719 A JP2006299719 A JP 2006299719A JP 5157129 B2 JP5157129 B2 JP 5157129B2
Authority
JP
Japan
Prior art keywords
source code
information processing
processing apparatus
register
circuit
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
JP2006299719A
Other languages
English (en)
Other versions
JP2007233990A (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.)
Denso Corp
Original Assignee
Denso Corp
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 Denso Corp filed Critical Denso Corp
Priority to JP2006299719A priority Critical patent/JP5157129B2/ja
Publication of JP2007233990A publication Critical patent/JP2007233990A/ja
Application granted granted Critical
Publication of JP5157129B2 publication Critical patent/JP5157129B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Executing Machine-Instructions (AREA)
  • Microcomputers (AREA)

Description

本発明は、一つの半導体チップに形成されてなる情報処理装置およびその回路設計方法に関する。
いわゆるワンチップ・マイコン(one-chip microcomputer)と呼ばれる情報処理装置は、一つの半導体チップの中に、CPU(中央処理装置、Central Processing Unit)だけでなく、ROM(Read Only Memory)やRAM(Random AccessMemory)などのメモリ、入出力ポート、通信ポート、タイマ、A−Dコンバータ、PWM(Pulse Width Modulation)などの周辺機能までが集積されたマイクロコンピュータで、家電製品や車両用電子製品等の多くの製品分野で利用されている。例えば、特開平09−44468号公報(特許文献1)には、車両用のエンジン制御システムに用いられるマイクロコンピュータが開示されている。
図15は、代表的なワンチップ・マイコン(情報処理装置)を示す図で、情報処理装置90の回路構成を示した模式的なブロック図である。
図15に示す情報処理装置90は、一つの半導体チップ1に形成されており、中央処理回路10、バスセレクタ20および周辺回路30を有している。
中央処理回路10は、大別して、CPU11とROM12からなり、データの演算・加工をおこなうと共に、周辺回路30に設けられた各周辺装置30a〜30cの制御をおこなう。
CPU11は、大別して、図中に破線で囲ったメイン機能部13、ALU14、ステータスレジスタ15および汎用レジスタ16で構成されている。また、メイン機能部13は、大別して、PC(Program Counter)13c、IR(Instruction Register)13b、命令デコーダ13a、制御部13dおよびレジスタ13eで構成されている。
CPU11内にあるメイン機能部13は、CPU11のメイン機能を担う部分である。PC13cは、プログラムのアドレスを指すためのカウンタである。IR13bは、PC13bが指しているROM12内の命令を格納するためのレジスタである。命令デコーダ13aは、IR13bに格納されている命令を解釈し、ALU14、ステータスレジスタ15および汎用レジスタ16や周辺回路30の各周辺装置30a〜30cに対して、命令を指示する。制御部13dは、割込等の発生時にPC13cにおいて処理中のプログラムのアドレスをレジスタ13eへ退避し、割込先のプログラムのアドレスとすりかえ、割込処理を実行する。割込処理完了後、退避したレジスタ13eにあるプログラムのアドレスを復帰させ、途中であった処理を再開する。
CPU11内にあるメイン機能部13以外の部分は、CPU11のサブ機能を担う部分である。ALU14は、算術的および論理的な演算処理をおこなう。ステータスレジスタ15は、キャリー、オバーフロー、ゼロ、符号、割込マスクフラグ等、主にALU14の処理状態である各フラグを格納する。汎用レジスタ16は、命令実行時にバッファとして使用する。尚、CPUによっては、演算能力を備えたレジスタであるアキュムレータ等を搭載しているものもある。
ROM12として、近年、書き換え可能なフラッシュメモリがよく用いられている。これにより収納するプログラム(ソフトウェア)の書き換えが可能となるため、情報処理のためのソフトウェア開発が柔軟となり、情報処理によって得られる機能も多様化することができる。
図15の情報処理装置90におけるバスセレクタ20は、コアバスセレクタ20aと周辺バスセレクタ20bに分けて構成されており、周辺回路30の各周辺装置30a〜30cとのデータ伝送路であるバスを選択する。また、図15の情報処理装置90では、周辺回路30に設けられる周辺装置として、RAM30a、タイマ30b、PWM30cが例示されている。
特開平09−44468号公報
ワンチップ・マイコンである図15の情報処理装置90は、上記したように、家電製品や車両用電子製品等の多くの製品分野で利用されている。図15の情報処理装置90の利用にあたっては、一般的に、仕様の固定されている部分をハードとして周辺回路30に実装し、制御等で仕様が変更される部分をソフトとして中央処理回路10のROM12に書き込む。これによって、図15の情報処理装置90は、例えばシリーズ製品において制御内容が微妙に異なるような各製品に対して、ROM12のソフトを書き換えるだけで、同じ情報処理装置90を用いることができる。従って、図15の情報処理装置90は、適用製品の仕様毎に半導体チップを設計・製造する必要がなく、例えばCPU11とROM12に相当する部分を全てシーケンサで構成する情報処理装置に較べて、適用製品の仕様変更に対する柔軟性が高い情報処理装置となっている。
一方、上記のように汎用性が高いマイコン構成の図15に示す情報処理装置90では、CPU11とROM12からなる中央処理回路10の回路規模が大きくなり、情報処理装置90が適用される製品の処理内容によっては、オーバースペックになってしまう。例えば多種少量のカスタムIC分野への適用を考えると、ROM12を有するマイコン構成の情報処理装置90は、ROM12のソフトウェア書き換えによる柔軟性が高い反面、一般的に回路規模が大きすぎて、製品コストが増大してしまう。
そこで本発明は、一つの半導体チップに形成されてなる情報処理装置およびその回路設計方法であって、CPUとROMからなる従来のマイコン構成の情報処理装置に較べて、回路規模が小さく安価であり、且つ回路設計が容易で、適用製品の仕様変更等への対応が容易な情報処理装置およびその回路設計方法を提供することを目的としている。
請求項1に記載の発明は、ータの演算・加工をおこなうと共に、周辺回路に設けられた周辺装置の制御をおこなう中央処理回路予め、算術的および論理的な演算処理をおこなうALU、前記ALUの処理状態であるフラグを格納するステータスレジスタおよび命令実行時にバッファとして使用する汎用レジスタを備えた中央処理装置(CPU)と、ROMとで構成し、前記CPUとROMとで構成された中央処理回路を、ROMに格納されCPUで解釈される命令に対応したデコード情報を所定の順序で実行するコアシーケンサと、前記ALUと、前記ステータスレジスタと、前記汎用レジスタとからなる構成に転換してなる、情報処理装置であって、前記コアシーケンサが、所定の複数の状態(ステート)を格納するステージレジスタ、シーケンスレジスタおよびカウンタレジスタの3種類のレジスタで構成されるステートマシン部と、前記ステートマシン部からの信号であって、前記ステージレジスタ、シーケンスレジスタおよびカウンタレジスタをそれぞれ識別するステージ番号、シーケンス番号およびカウント番号からなるステート番号を解釈し、当該ステート番号に対応した前記デコード情報からなる所定の制御信号を出力するデコーダ部とを有してなる、情報処理装置の回路設計方法であって、前記命令と、前記命令に対応する機械語の命令コードと、前記デコード情報とからなる命令対応リストを準備する命令対応リスト準備ステップと、プログラミング言語により、前記命令を用いてソースコードを記述するソースコード作成ステップと、前記ソースコードをコンパイラにより機械語に変換して、オブジェクトコードを作成するオブジェクトコード作成ステップと、前記オブジェクトコードを前記命令対応リストにより変換して、オブジェクトコードから前記コアシーケンサが実行するステート番号に対応した前記デコード情報からなるステートリストを作成するステートリスト作成ステップと、前記ステートリストに従って、前記コアシーケンサの回路を生成する回路生成ステップとを有してなり、前記命令対応リスト準備ステップにおいて、前記CPUの互いに異なる命令を一つの命令に統合し、前記ソースコード作成ステップにおいて、前記統合された命令を用いてソースコードを記述することを特徴としている。
上記回路設計方法により設計される情報処理装置では、ソフトウェアがコアシーケンサにハード化されるため、中央処理回路がCPUとROMからなる従来の情報処理装置に対して、処理能力が向上するため、動作周波数を下げることが可能になり、消費電力を低減することができる。
また、上記回路設計方法により設計される情報処理装置は、中央処理回路がCPUとROMからなる従来の情報処理装置に対して、ROMとCPU内のPC、IR、命令デコーダ、割り込み等のための制御部およびレジスタで構成されるメイン機能部に相当する部分を、ROMに格納されCPUで解釈される命令に対応したデコード情報を所定の順序で実行するコアシーケンサで構成している。これによって、上記情報処理装置は、CPUとROMからなる従来の情報処理装置に較べて、回路規模を小さくすることができる。例えば、中央処理回路がCPUとROMからなる従来の情報処理装置の場合、余裕をみたROMサイズを設定してチップを設計するが、上記情報処理装置は、仕様分の回路設計で済む。
また、回路規模の縮小に伴って、上記情報処理装置では処理スピードも向上する。例えば、中央処理回路がCPUとROMからなる従来の情報処理装置の場合に複数の命令が必要なところが、上記情報処理装置では1命令で済む。
具体例として、「アドレス1000h番地の周辺レジスタにAA55hを書く」場合を想定すると、以下のようになる。CPUとROMからなる従来の情報処理装置では、「LDAI #AA55h」、「STA $1000h」の2命令となるが、上記情報処理装置では、所定のレジスタに「AA55h」を書くだけなので、所定のステートでデータラインに「AA55h」をのせ、アドレスセレクタを周辺回路の「1000h」を指すようにし、Write信号を立てることで実現することが可能である。これにより、1命令分短縮したことになり、CPUとROMからなる従来の情報処理装置より処理スピードが速くなる。また、命令を削減できることから、後述するステートマシン部のレジスタのビット数を減らすことができ、これによっても回路規模を縮小することが可能である。
一方、上記情報処理装置では、中央処理回路がCPUとROMからなる従来の情報処理装置に対して、CPUのサブ機能を担うALU、ステータスレジスタおよび汎用レジスタを、そのまま残した情報処理装置としている。これによって、CPUとROMに相当する部分を全てシーケンサで構成する情報処理装置に較べて、適用製品の仕様変更への対応が容易な情報処理装置とすることができる。特に、詳細は後述するが、上記回路設計方法により設計される上記情報処理装置では、従来の情報処理装置におけるCPUを利用して、コアシーケンサをソフト設計することが可能であり、これによって、適用製品の仕様変更への対応が非常に容易な情報処理装置とすることができる。
以上のようにして、上記情報処理装置はCPUとROMからなる従来のマイコン構成の情報処理装置に較べて、回路規模が小さく安価であり、且つ適用製品の仕様変更への対応が容易な情報処理装置となっている。
また、上記情報処理装置の回路設計方法は、前記令と前記命令に対応する機械語の命令コードと、前記デコード情報とからなる命令対応リストを準備する命令対応リスト準備ステップと、プログラミング言語により、前記令を用いてソースコードを記述するソースコード作成ステップと、前記ソースコードをコンパイラにより機械語に変換して、オブジェクトコードを作成するオブジェクトコード作成ステップと、前記オブジェクトコードを前記命令対応リストにより変換して、オブジェクトコードから前記コアシーケンサが実行するステート番号に対応した前記デコード情報からなるステートリストを作成するステートリスト作成ステップと、前記ステートリストに従って、前記コアシーケンサの回路を生成する回路生成ステップとを有することを特徴としている。
上記情報処理装置の回路設計方法では、CPUとROMとで構成した従来のマイコン構成の中央処理回路を、上記情報処理装置の回路設計の出発点とする。これによって、上記命令対応リスト準備ステップにおいては、既知のCPUの命令とそれに対応する機械語の命令コードおよびデコード情報を利用することが可能である。また、これによって、上記ソースコード作成ステップにおいては、通常のプログラミング言語により、上記CPUの命令を用いてソースコードを記述することができる。このため、上記情報処理装置のソフトウェア開発は、従来のマイコン構成の情報処理装置におけるソフトウェア開発と同様に、容易かつ柔軟である。また、上記情報処理装置のソフトウェア開発によって実現できる機能も、従来のマイコン構成の情報処理装置におけるソフトウェア開発によって実現できる機能と同様である。
尚、上記情報処理装置の回路設計方法において、オブジェクトコード作成ステップは、コンパイラによるソースコードのオブジェクトコードへの変換である。次のステートリスト作成ステップも、命令対応リストによるオブジェクトコードのステートリストへの変換である。また、次の回路生成ステップは、シーケンサ用の一般的なハードウェア記述言語(VHDL、VHSIC Hardware Description Language)により、ステートリストの変換で、コアシーケンサの回路を生成することができる。従って、これらのステップは、全て自動化することが可能である。
以上のようにして、上記情報処理装置の回路設計方法は回路規模が小さく安価な情報処理装置の回路設計方法であって、回路設計が容易で、適用製品の仕様変更等への対応が容易な情報処理装置の回路設計方法となっている。
また、上記情報処理装置の回路設計方法においては、記命令対応リスト準備ステップにおいて、前記CPUの互いに異なる命令を一つの命令に統合し、前記ソースコード作成ステップにおいて、前記統合された命令を用いてソースコードを記述する
これにより、上記ステートリストにおけるステート数を削減し、小さな回路規模で上記情報処理装置の処理能力を向上させることができる。
上記情報処理装置の回路設計方法においては、請求項に記載のように前記ソースコード作成ステップにおいて、前記ソースコードを部分ソースコードにグループ化して記述し、前記部分ソースコードを識別するために前記シーケンス番号を割り当て、前記部分ソースコードを階層に振り分けて前記ソースコードを階層化して記述し、前記階層を識別するために前記ステージ番号を割り当て、前記ステートリスト作成ステップにおいて、前記ステージ番号と前記シーケンス番号別に、前記カウント番号を前記ステート番号として前記ステートリストを作成し、前記回路生成ステップにおいて、前記ステートリストに従って、前記ステートマシン部とデコーダ部の回路を生成することが好ましい。
また、請求項3に記載のように、データの演算・加工をおこなうと共に、周辺回路に設けられた周辺装置の制御をおこなう中央処理回路を、予め、算術的および論理的な演算処理をおこなうALU、前記ALUの処理状態であるフラグを格納するステータスレジスタおよび命令実行時にバッファとして使用する汎用レジスタを備えた中央処理装置(CPU)と、ROMとで構成し、前記CPUとROMとで構成された中央処理回路を、ROMに格納されCPUで解釈される命令に対応したデコード情報を所定の順序で実行するコアシーケンサと、前記ALUと、前記ステータスレジスタと、前記汎用レジスタとからなる構成に転換してなる、情報処理装置であって、前記コアシーケンサが、所定の複数の状態(ステート)を格納するステージレジスタ、シーケンスレジスタおよびカウンタレジスタの3種類のレジスタで構成されるステートマシン部と、前記ステートマシン部からの信号であって、前記ステージレジスタ、シーケンスレジスタおよびカウンタレジスタをそれぞれ識別するステージ番号、シーケンス番号およびカウント番号からなるステート番号を解釈し、当該ステート番号に対応した前記デコード情報からなる所定の制御信号を出力するデコーダ部とを有してなる、情報処理装置の回路設計方法であって、前記命令と、前記命令に対応する機械語の命令コードと、前記デコード情報とからなる命令対応リストを準備する命令対応リスト準備ステップと、プログラミング言語により、前記命令を用いてソースコードを記述するソースコード作成ステップと、前記ソースコードをコンパイラにより機械語に変換して、オブジェクトコードを作成するオブジェクトコード作成ステップと、前記オブジェクトコードを前記命令対応リストにより変換して、オブジェクトコードから前記コアシーケンサが実行するステート番号に対応した前記デコード情報からなるステートリストを作成するステートリスト作成ステップと、前記ステートリストに従って、前記コアシーケンサの回路を生成する回路生成ステップとを有してなり、前記ソースコード作成ステップにおいて、前記ソースコードを部分ソースコードにグループ化して記述し、前記部分ソースコードを識別するために前記シーケンス番号を割り当て、前記部分ソースコードを階層に振り分けて前記ソースコードを階層化して記述し、前記階層を識別するために前記ステージ番号を割り当て、前記ステートリスト作成ステップにおいて、前記ステージ番号と前記シーケンス番号別に、前記カウント番号を前記ステート番号として前記ステートリストを作成し、前記回路生成ステップにおいて、前記ステートリストに従って、前記ステートマシン部とデコーダ部の回路を生成する回路設計方法としてもよい。
この場合にも、ソースコード作成ステップにおいて、ソースコードを部分ソースコードにグループ化して記述し、部分ソースコードを階層に振り分けることで、ソースコードの記述が容易となる。また、これらを上記のようにステージ番号、シーケンス番号およびカウント番号へ対応させることで、次の回路規模の縮小手段に繋げることができる。
このように、ソースコード作成ステップにおいて、ソースコードを部分ソースコードにグループ化して記述し、部分ソースコードを階層に振り分けることで、ソースコードの記述が容易となる。また、これらを上記のようにステージ番号、シーケンス番号およびカウント番号へ対応させることで、次の回路規模の縮小手段に繋げることができる。
また、この場合には、例えば請求項に記載のように、前記ソースコード作成ステップにおいて、同じ階層に属する小さなビット容量の部分ソースコードと大きなビット容量の部分ソースコードがある場合においては、前記回路生成ステップにおいて、前記小さなビット容量の部分ソースコードに割り当てるカウンタレジスタのビット数を、前記大きなビット容量の部分ソースコードに割り当てるカウンタレジスタのビット数に一致させて、2つの前記カウンタレジスタを共通化することができる。
これによって、カウンタレジスタを一つにできるため、ステートマシン部におけるレジスタのビット数の合計が低減し、最終的に生成されるコアシーケンサの回路規模を縮小することができる。さらに、汎用レジスタ等のレジスタも共通化できるため、これによっても回路規模が縮小する。
また請求項に記載のように、前記ソースコード作成ステップにおいて、異なる階層に属する互いに異なる部分ソースコードがある場合においては、前記互いに異なる部分ソースコードの一方の部分ソースコードをもう一方の部分ソースコード内に取り込んで新たな部分ソースコードとし、前記新たな部分ソースコードの属する階層を前記もう一方の部分ソースコードの属する階層として、前記異なる階層を一つにすることができる。
これによって階層数を削減できるため、この場合にもステートマシン部におけるレジスタのビット数の合計が低減し、最終的に生成されるコアシーケンサの回路規模を縮小することができる。さらに、汎用レジスタ等のレジスタも共通化できるため、これによっても回路規模が縮小する。
さらに請求項に記載のように、前記ソースコード作成ステップにおいて、異なる階層に同じ部分ソースコードが属する場合においては、前記同じ部分ソースコードの属する階層を一致させることができる。
同じ部分ソースコードが異なる階層に属する場合においては、各階層に対応するステートマシン部毎に、同じデコーダ部を形成する必要がある。一方、上記のように同じ部分ソースコードの階層を一致させることで、該階層に対応するステートマシン部に同じ部分ソースコードに対応したデコーダ部を一つ形成するだけでよい。従って、これによっても回路規模を縮小することができる。
請求項7〜10に記載の発明は、上記した回路設計方法によって設計される情報処理装置に関する発明である。
請求項7に記載のように、上記回路設計方法によって設計される情報処理装置は、一つの半導体チップに形成されてなる情報処理装置とすることができる。
請求項8に記載のように、前記情報処理装置は、コアバスセレクタと周辺バスセレクタとを有してなり、前記コアバスセレクタが、前記コアシーケンサ、ステータスレジスタおよび汎用レジスタからの信号を入力して、前記周辺バスセレクタ、ALU、ステータスレジスタおよび汎用レジスタへ情報(制御信号)を出力し、前記周辺バスセレクタが、前記コアバスセレクタ、コアシーケンサ、ステータスレジスタおよび汎用レジスタからの信号を入力して、前記周辺回路へ情報(制御信号)を出力するように構成することができる。
上記情報処理装置におけるコアバスセレクタおよび周辺バスセレクタは、従来の情報処理装置におけるCPUとROMからなる中央処理回路を上記情報処理装置の中央処理回路に置き換えるだけで、従来の情報処理装置におけるコアバスセレクタおよび周辺バスセレクタをそのまま使用することができる。また、上記構成によって、CPUとROMからなる従来の情報処理装置と同様に、コアバスセレクタと周辺バスセレクタを機能させることができる。従って、周辺回路に設けられた周辺装置の制御のためのデコード信号も、従来の情報処理装置と同じものを使用することができる。尚、上記中央処理回路の置き換えによって、前述した従来のマイコン構成の情報処理装置におけるCPUを利用したコアシーケンサのソフト設計が可能となり、これによって、適用製品の仕様変更への対応が非常に容易な情報処理装置となる。
請求項9に記載のように、上記情報処理装置においては、前記コアシーケンサが、前記ステートマシン部およびデコーダ部への入力信号を制御する入力制御部と、前記デコーダ部からの出力信号を入力して制御する出力制御部とを有してなるように構成することができる。
これによれば、ステートマシン部とデコーダ部による一定順序の命令処理だけでなく、ジャンプ、割り込み、退避といった途中で順序の変わる命令処理を実行することができる。
また、上記情報処理装置においては、例えば請求項10に記載のように、前記出力制御部が、前記デコーダ部からの信号により前記ALUへ演算制御信号を出力する演算制御ブロックと、前記デコーダ部からの信号により前記コアバスセレクタへ出力選択信号を出力するコアバス出力選択ブロックと、前記デコーダ部からの信号により前記周辺バスセレクタへ出力選択信号を出力する周辺バス出力選択ブロックと、前記デコーダ部からの信号により前記周辺回路へ書込み信号を出力する周辺回路書込みブロックと、前記デコーダ部からの信号により前記ステータスレジスタおよび汎用レジスタへ制御信号を出力するレジスタ制御ブロックとを有してなるように構成することができる。
このように、上記情報処理装置のコアシーケンサに対して、CPUとROMからなる従来のマイコン構成の情報処理装置において割り込み等のための制御部およびレジスタが担っている、ジャンプ、割り込み、退避といった機能を持たせることが可能である。
以下、本発明を実施するための最良の形態を、図に基づいて説明する。
図1は、本発明の情報処理装置の一例を示す図で、情報処理装置100の回路構成を示した模式的なブロック図である。図2は、図1の情報処理装置100における中央処理回路40とバスセレクタ20の電気回路構成をより詳細に示すブロック図である。図3は、図1のコアシーケンサ41におけるステートマシン部41aの電気回路構成をより詳細に示すブロック図である。図4は、図1のコアシーケンサ41におけるデコーダ部41bの電気回路構成をより詳細に示すブロック図である。図5は、図1のコアシーケンサ41における入力制御部41cと出力制御部41dの電気回路構成をより詳細に示すブロック図である。尚、図1の情報処理装置100において、図15の情報処理装置90と同じ部分については、同じ符号を付した。
図1に示す情報処理装置100は、図15に示した情報処理装置90と同様に、一つの半導体チップ1に形成された情報処理装置であって、中央処理回路40、バスセレクタ20および周辺回路30を有している。尚、図1の情報処理装置100におけるバスセレクタ20と周辺回路30は、図15の情報処理装置90におけるそれらと同じものである。すなわち、図1の情報処理装置100におけるバスセレクタ20は、コアバスセレクタ20aと周辺バスセレクタ20bに分けて構成されており、周辺回路30の各周辺装置30a〜30cとのデータ伝送路であるバスを選択する。また、図1の情報処理装置100では、周辺回路30に設けられる周辺装置として、RAM30a、タイマ30b、PWM30cが例示されている。
図1の情報処理装置100における中央処理回路40は、図15の情報処理装置90における中央処理回路10と同様に、データの演算・加工をおこなうと共に、周辺回路30に設けられた各周辺装置30a〜30cの制御をおこなう。しかしながら、図15の情報処理装置90における中央処理回路10が、CPU11とROM12で構成されていたのに対し、図1の情報処理装置100における中央処理回路40は、所定の命令を所定の順序で実行するコアシーケンサ41と、ALU14、ステータスレジスタ15および汎用レジスタ16で構成されている。尚、図1の情報処理装置100におけるALU14、ステータスレジスタ15および汎用レジスタ16は、図15の情報処理装置90におけるそれらと同じものである。すなわち、ALU14は、算術的および論理的な演算処理をおこなう。ステータスレジスタ15は、キャリー、オバーフロー、ゼロ、符号、割込マスクフラグ等、主にALU14の処理状態である各フラグを格納する。汎用レジスタ16は、命令実行時にバッファとして使用する。尚、図1の情報処理装置100において、演算能力を備えたレジスタであるアキュムレータ等を、中央処理回路40内に搭載するようにしてもよい。
図1に示す情報処理装置100は、図15に示す従来の情報処理装置90と同様に、一つの半導体チップ1に形成されてなる、いわゆるワンチップ形式の情報処理装置である。図1に示す情報処理装置100では、ソフトウェアがコアシーケンサ41にハード化されるため、図15の中央処理回路10がCPU11とROM12からなる従来の情報処理装置90に対して、処理能力が向上するため、動作周波数を下げることが可能になり、消費電力を低減することができる。
図1の情報処理装置100は、図15に示す中央処理回路10がCPU11とROM12からなる従来の情報処理装置90に対して、ROM12とCPU11内のPC13c、IR13b、命令デコーダ13a、割り込み等のための制御部13dおよびレジスタ13eで構成されるメイン機能部13に相当する部分を、所定の命令を所定の順序で実行するコアシーケンサ41で構成している。これによって、図1の情報処理装置100は、図15に示すCPU11とROM12からなる従来の情報処理装90に較べて、回路規模を小さくすることができる。例えば、図15の中央処理回路10がCPU11とROM12からなる従来の情報処理装置90の場合、余裕をみたROM12のサイズを設定してチップを設計するが、図1の情報処理装置100は、仕様分の回路設計で済む。
また、回路規模の縮小に伴って、図1の情報処理装置100では、処理スピードも向上する。例えば、図15の中央処理回路10がCPU11とROM12からなる従来の情報処理装置90の場合に複数の命令が必要なところが、図1の情報処理装置100では1命令で済む。
具体例として、「アドレス1000h番地の周辺レジスタにAA55hを書く」場合を想定すると、以下のようになる。図15のCPU11とROM12からなる従来の情報処理装置90では、「LDAI #AA55h」、「STA $1000h」の2命令となるが、図1の情報処理装置100では、所定のレジスタに「AA55h」を書くだけなので、所定のステートでデータラインに「AA55h」をのせ、アドレスセレクタを周辺回路の「1000h」を指すようにし、Write信号を立てることで実現することが可能である。これにより、1命令分短縮したことになり、CPU11とROM12からなる従来の情報処理装置90より処理スピードが速くなる。また、命令を削減できることから、後述するステートマシン部41aのレジスタのビット数を減らすことができ、これによっても回路規模を縮小することが可能である。
一方、図15の情報処理装置90では、シーケンス処理がプログラムでROM12に書かれ、CPU11がこれを解釈し、ROM12に書かれたシーケンス処理を実行していく。ROM12のような書き換え可能なメモリにソフトウェア(プログラム)でシーケンス処理が書かれている場合、適用製品の仕様に変更があっても、シーケンス処理を容易に変更することが可能である。これに対し、全てをハードウェアのシーケンサで構成する場合には、適用製品の仕様に変更があった場合、新たに半導体チップを設計・製造する必要がある。
図1の情報処理装置100では、図15に示す中央処理回路10がCPU11とROM12からなる従来の情報処理装置90に対して、CPU11のサブ機能を担うALU14、ステータスレジスタ15および汎用レジスタ16を、そのまま残した情報処理装置としている。これによって、CPU11とROM12に相当する部分を全てシーケンサで構成する情報処理装置に較べて、適用製品の仕様変更への対応が容易な情報処理装置とすることができる。特に、後述する回路設計方法において示すように、図1の情報処理装置100では、図15の従来の情報処理装置90におけるCPU11を利用して、コアシーケンサ41をソフト設計することが可能であり、これによって、適用製品の仕様変更への対応が非常に容易な情報処理装置とすることができる。
以上のようにして、図1の情報処理装置100は、一つの半導体チップ1に形成されてなる情報処理装置であって、図15に示すCPU11とROM12からなる従来のマイコン構成の情報処理装置90に較べて、回路規模が小さく安価であり、且つ適用製品の仕様変更への対応が容易な情報処理装置となっている。
上述したように、図1の情報処理装置100において、中央処理回路40のメイン機能部であるコアシーケンサ41以外は、図15に示す従来の情報処理装置90と同じ構成である。図1の情報処理装置100において、中央処理回路40内にあるコアシーケンサ41、ALU14、ステータスレジスタ15および汎用レジスタ16と、バスセレクタ20内にあるコアバスセレクタ20aおよび周辺バスセレクタ20bは、それぞれ図2のように接続されて、図中に示した情報(制御信号)が伝達される。尚、図1では、図2に示す3つの汎用レジスタ16a〜16cを、汎用レジスタ16としてまとめて示している。
図2に示すように、情報処理装置100において、コアバスセレクタ20aは、コアシーケンサ41、ステータスレジスタ15および汎用レジスタ16a〜16cからの信号を入力して、周辺バスセレクタ20b、ALU14、ステータスレジスタ15および汎用レジスタ16a〜16cへ情報(制御信号)を出力する。また、周辺バスセレクタ20bは、コアバスセレクタ20a、コアシーケンサ41、ステータスレジスタ15および汎用レジスタ16aからの信号を入力して、周辺回路30へ情報(制御信号)を出力するように構成されている。
図1の情報処理装置100におけるコアバスセレクタ20aおよび周辺バスセレクタ20bは、図15に示す従来の情報処理装置90におけるCPU11とROM12からなる中央処理回路10を図1に示す情報処理装置100の中央処理回路40に置き換えるだけで、従来の情報処理装置90におけるコアバスセレクタ20aおよび周辺バスセレクタ20bをそのまま使用することができる。また、図2の構成によって、図15に示すCPU11とROM12からなる従来の情報処理装置90と同様に、コアバスセレクタ20aと周辺バスセレクタ20bを機能させることができる。従って、図1の情報処理装置100において、周辺回路30に設けられた各周辺装置30a〜30cの制御のためのデコード信号も、従来の情報処理装置90と同じものを使用することができる。尚、上記中央処理回路の置き換えによって、前述した図15の従来のマイコン構成の情報処理装置90におけるCPU11を利用したコアシーケンサ41のソフト設計が可能となり、これによって、図1の情報処理装置100は、適用製品の仕様変更への対応が非常に容易な情報処理装置となる。
図1に示すように、情報処理装置100においては、コアシーケンサ41が、ステートマシン部41aと、デコーダ部41bと、入力制御部41cと、出力制御部41dとで構成されている。
情報処理装置100のステートマシン部41aは、図3に示すように、所定の複数の状態(ステート)を格納するステージレジスタ、シーケンスレジスタおよびカウンタレジスタの3種類のレジスタで構成される。ステージレジスタには複数の階層を識別する番号が格納され、シーケンスレジスタには複数の部分ソースコードを識別する番号が格納される。カウンタレジスタは各部分ソースコードの順番を表現し、1ずつ増分される。デコーダ部41bは、図4に示すように、命令デコードブロック41b1、制御信号デコードブロック41b2、パラメータデコードブロック41b3、キャッシュデータデコードブロック41b4、キャッシュアドレスデコードブロック41b5で構成され、ステートマシン部41aからのステージ信号、カウント信号およびシーケンス信号からなるステートを解釈し、所定の制御信号を出力する。
情報処理装置100の入力制御部41cは、図5に示すように、ステートマシン部41aおよびデコーダ部41bへの入力信号を制御する。図5に示す情報処理装置100の入力制御部41cは、割り込み機能ブロック41c1と、条件分岐ブロック41c2と、乗算・除算ブロック41c3と、パラメータブロック41c4とを有している。割り込み機能ブロック41c1は、割り込み機能に関する信号をステートマシン部41aへ出力する。条件分岐ブロック41c2は、条件分岐に関する信号をステートマシン部41aへ出力する。乗算・除算ブロック41c3は、乗算・除算に関する信号をデコーダ部41bへ出力する。パラメータブロック41c4は、パラメータに関する信号をデコーダ部41bへ出力する。
また、情報処理装置100の出力制御部41dは、図5に示すように、デコーダ部41bからの出力信号を入力して制御する。図5に示す情報処理装置100の出力制御部41dは、演算制御ブロック41d1と、コアバス出力選択ブロック41d2と、周辺バス出力選択ブロック41d3と、周辺回路書込みブロック41d4と、レジスタ制御ブロック41d5とを有している。演算制御ブロック41d1は、デコーダ部41bからの信号によりALU14へ演算制御信号を出力する。コアバス出力選択ブロック41d2は、デコーダ部41bからの信号によりコアバスセレクタ20aへ出力選択信号を出力する。周辺バス出力選択ブロック41d3は、デコーダ部41bからの信号により周辺バスセレクタ20bへ出力選択信号を出力する。周辺回路書込みブロック41d4は、デコーダ部41bからの信号により周辺回路30へ書込み信号を出力する。レジスタ制御ブロック41d5は、デコーダ部41bからの信号によりステータスレジスタ15および汎用レジスタ16a〜16cへ制御信号を出力する。
ステートマシン部41aとデコーダ部41bに入力制御部41cと出力制御部41dが付加されたコアシーケンサ41を持つ図1の情報処理装置100においては、ステートマシン部41aとデコーダ部41bによる一定順序の命令処理だけでなく、ジャンプ、割り込み、退避といった途中で順序の変わる命令処理を実行することができる。このように、図1の情報処理装置100のコアシーケンサ41に対して、図15に示すCPU11とROM12からなる従来のマイコン構成の情報処理装置90において割り込み等のための制御部13dおよびレジスタ13eが担っている、ジャンプ、割り込み、退避といった機能を持たせることが可能である。
以上のようにして、図1に示す情報処理装置100は、一つの半導体チップ1に形成されてなる情報処理装置であって、図15に示すCPU11とROM12からなる従来のマイコン構成の情報処理装置90に較べて、回路規模が小さく安価であり、且つ適用製品の仕様変更への対応が容易な情報処理装置となっている。
尚、図1の情報処理装置100では、コアシーケンサ41が、割り込み機能ブロック41c1、条件分岐ブロック41c2、乗算・除算ブロック41c3およびパラメータブロック41c4からなる入力制御部41cと、演算制御ブロック41d1、コアバス出力選択ブロック41d2、周辺バス出力選択ブロック41d3、周辺回路書込みブロック41d4およびレジスタ制御ブロック41d5からなる出力制御部41dを有していた。しかしながら、本発明の情報処理装置はこれに限らず、コアシーケンサの入力制御部と出力制御部が別の構成であってもよい。また、コアシーケンサが、入力制御部と出力制御部を有していなくてもよい。
バスセレクタについても同様で、図1の情報処理装置100では、コアバスセレクタ20aと周辺バスセレクタ20bからなるバスセレクタ20を有していた。しかしながら、本発明の情報処理装置はこれに限らず、任意のバスセレクタであってよいし、バスセレクタの代わりに例えばトライステートバッファであってもよい。
次に、上記した図1の情報処理装置100の回路設計方法を説明する。
図6は、図1の情報処理装置100の回路設計方法に関する基本的な設計ステップを示す図である。
図6に示す情報処理装置100の設計方法は、図1に示す情報処理装置100の中央処理回路40を、ALU14、ステータスレジスタ15および汎用レジスタ16を備えた中央処理装置(CPU)とROMとで構成した場合を最初に想定して、設計をスタートする。上記想定構成は、図15に示した従来の情報処理装置90と同じ構成である。従って、CPU11とROM12からなる情報処理装置90が既に存在する場合には、そのALU14、ステータスレジスタ15および汎用レジスタ16を引き継ぎ、図6の設計方法を適用することで、図1の情報処理装置100に転換することができる。以下、図15も参照しながら、図15の情報処理装置90を図1の情報処理装置100に転換していく場合を例にして、図6の設計方法を説明する。
図6の設計方法では、最初に、命令対応リスト準備ステップS1において、図15の情報処理装置90におけるCPU11の命令と、前記命令に対応する機械語の命令コードおよびデコード情報とからなる命令対応リストを準備しておく。
図7は、上記命令対応リストの一例を示す図である。このような命令対応リストは、CPU11を決めれば、CPU11が持つ命令リストから容易に導き出すことができる。
次に、図6のソースコード作成ステップS2において、プログラミング言語により、図15の情報処理装置90におけるCPU11の命令を用いて、ソースコードを記述する。続いて、オブジェクトコード作成ステップS3において、ソースコード作成ステップS2で作成したソースコードをコンパイラにより機械語に変換して、オブジェクトコードを作成する。
図8(a)と(b)は、それぞれ、上記ソースコードとオブジェクトコードの一例を示す図である。
次に、図6のステートリスト作成ステップS4において、前記オブジェクトコードを命令対応リスト準備ステップS1で作成した命令対応リストにより変換して、オブジェクトコードからコアシーケンサが実行するステート番号に対応したデコード情報からなるステートリストを作成する。
図9は、上記ステートリストの一例を示す図である。
最後に、図6の回路生成ステップS5において、ステートリスト作成ステップS4で作成したステートリストに従って、図1の情報処理装置100におけるコアシーケンサ41の回路を生成する。
図6に示す情報処理装置100の回路設計方法では、図15に示すCPU11とROM12とで構成した従来のマイコン構成の中央処理回路10を、図1に示す情報処理装置100の回路設計の出発点とする。これによって、上記命令対応リスト準備ステップS1においては、既知のCPU11の命令とそれに対応する機械語の命令コードおよびデコード情報を利用することが可能である。また、これによって、ソースコード作成ステップS2においては、通常のプログラミング言語により、CPU11の命令を用いてソースコードを記述することができる。このため、図6に示す情報処理装置100のソフトウェア開発は、従来の図15に示すマイコン構成の情報処理装置90におけるソフトウェア開発と同様に、容易かつ柔軟である。また、図6に示す情報処理装置100のソフトウェア開発によって実現できる機能も、従来の図15に示すマイコン構成の情報処理装置90におけるソフトウェア開発によって実現できる機能と同様である。
尚、図6に示す情報処理装置100の回路設計方法において、オブジェクトコード作成ステップS3は、コンパイラによるソースコードのオブジェクトコードへの変換である。次のステートリスト作成ステップS4も、命令対応リストによるオブジェクトコードのステートリストへの変換である。また、次の回路生成ステップS5は、シーケンサ用の一般的なハードウェア記述言語(VHDL、VHSIC Hardware Description Language)により、ステートリストの変換で、図1の情報処理装置100におけるコアシーケンサ41の回路を生成することができる。従って、これらのステップS3〜S5は、全て自動化することが可能である。
以上のようにして、図6に示す情報処理装置の回路設計方法は、一つの半導体チップに形成されてなる、回路規模が小さく安価な情報処理装置の回路設計方法であって、回路設計が容易で、適用製品の仕様変更等への対応が容易な情報処理装置の回路設計方法となっている。尚、上記説明は図15のCPU11とROM12からなる情報処理装置90が既に存在する場合を想定していたが、CPUとROMからなる情報処理装置が存在していない場合には、従来の方法で最初にこれをソフト設計した後、図6の設計方法を適用する。
次に、プログラミング言語によるソースコードからコアシーケンサが実行するステートリストに変換する図6の基本設計方法において採用できる、好ましい幾つかの事項を説明する。
図6に示す情報処理装置100の回路設計方法においては、
命令対応リスト準備ステップS1において、図15の情報処理装置90におけるCPU11の互いに異なる命令を一つの命令(複合コマンド)に統合し、図6のソースコード作成ステップS2において、前記統合された命令を用いてソースコードを記述することが好ましい。これにより、ステートリスト作成ステップS4で作成するステートリストにおけるステート数を削減し、小さな回路規模で情報処理装置100の処理能力を向上させることができる。
図10は、データ“AA55h”(固定値)をレジスタの“1000番地”に書く場合を例にした、上記命令の統合(複合コマンドの作成)を説明する図である。図10(a)は、ある固定値をあるレジスタに書くための複合コマンド“LAIPW ADDR,DATA”の命令内容を示した図であり、図10(b)は、複合コマンド“LAIPW ADDR,DATA”(LDAI+STA)の命令伝達経路を示す図である。また、図11は、種々の複合コマンド例を示す図である。
図10(a)に示すように、複合コマンドは、仮想コマンドでる。従って、複合コマンド“LAIPW ADDR,DATA”は、図10(b)の太線で示すように、基となるCPUの命令“LDAI+STA”と同じ、ALU14、ステータスレジスタ15、汎用レジスタ16a〜16c、コアバスセレクタ20aおよび周辺バスセレクタ20bを介して伝達される。図10(b)の太線で示した命令伝達では、データラインに“AA55h”をのせ、アドレスを“1000番地”に選択し、ライト信号を立てている。
図1〜図5で説明したように、情報処理装置100のコアシーケンサ41は、所定の複数の状態(ステート)を格納するステージレジスタ、シーケンスレジスタおよびカウンタレジスタの3種類のレジスタで構成されるステートマシン部41aと、ステートマシン部41aからの信号であって、ステージレジスタ、シーケンスレジスタおよびカウンタレジスタをそれぞれ識別するステージ番号、シーケンス番号およびカウント番号からなるステート番号を解釈し、当該ステート番号に対応したデコード情報からなる所定の制御信号を出力するデコーダ部41bとを有している。
上記のようなステートマシン部41aとデコーダ部41bを有する情報処理装置100の場合、図6の回路設計方法では、以下の方法を取ることが好ましい。すなわち、図6のソースコード作成ステップS2において、ソースコードを幾つかの部分ソースコードにグループ化して記述し、部分ソースコードを識別するために前記シーケンス番号を割り当てる。次に、前記部分ソースコードを階層に振り分けてソースコードを階層化して記述し、前記階層を識別するために前記ステージ番号を割り当てる。次に、ステートリスト作成ステップS4において、前記ステージ番号と前記シーケンス番号別に、前記カウント番号を前記ステート番号としてステートリストを作成する。次に、回路生成ステップS5において、前記ステートリストに従って、情報処理装置100のステートマシン部41aとデコーダ部41bの回路を生成する。
上記のように、ソースコード作成ステップS2において、ソースコードを部分ソースコードにグループ化して記述し、部分ソースコードを階層に振り分けることで、ソースコードの記述が容易となる。また、これらを上記のようにステージ番号、シーケンス番号およびカウント番号へ対応させることで、以下に示すような回路規模の縮小手段に繋げることができる。
図12は、上記回路規模の縮小手段の一例で、同じ階層内の異なるビット容量の部分ソースコードに割り当てるカウンタレジスタのビット数を一致させて、カウンタレジスタを共通化する場合の効果を示した図である。図12において、四角枠で囲った部分Main,Sub1,Sub2が、それぞれ異なる部分ソースコードとなっている。図12(a)は、図6のソースコード作成ステップS2において、各階層0,1に振り分けられた部分ソースコードMain,Sub1,Sub2を示しており、図12(b)は、階層1における部分ソースコードSub1,Sub2に割り当てるカウンタレジスタのビット数を一致させて、カウンタレジスタを共通化した場合を示している。
図6のソースコード作成ステップS2において、図12(a)に示すように、同じ階層1に属し、ビット容量が異なる部分ソースコードSub1(5bit),Sub2(8bit)がある場合においては、図6の回路生成ステップS5において、図12(b)に示すように、小さなビット容量(5bit)の部分ソースコードSub1に割り当てるカウンタレジスタのビット数を、大きなビット容量(8bit)の部分ソースコードSub2に割り当てるカウンタレジスタのビット数[8bit]に一致させて、2つの前記カウンタレジスタを共通化することができる。これによって、カウンタレジスタを一つにできるため、図1の情報処理装置100におけるステートマシン部41aにおけるレジスタのビット数の合計が低減し、最終的に生成されるコアシーケンサ41の回路規模を縮小することができる。図12では、図12(a)のカウンタレジスタを共通化する前においてはステートマシン部41aにおけるレジスタのビット数の合計が[23bit]であったものが、図12(b)のカウンタレジスタを共通化した後では、ステートマシン部41aにおけるレジスタのビット数の合計が[19bit]に低減されている。尚、コアシーケンサ41の回路規模の縮小と共に、汎用レジスタ16a〜16c等のレジスタも共通化できるため、これによっても回路規模が縮小する。
図13は、回路規模の縮小手段に関する別の例で、異なる階層に属する互いに異なる部分ソースコードの一方の部分ソースコードをもう一方の部分ソースコード内に取り込んで新たな部分ソースコードとし、新たな部分ソースコードの属する階層を前記もう一方の部分ソースコードの属する階層として、前記異なる階層を一つにした場合を示した図である。図13(a)は、各階層0〜3に振り分けられた部分ソースコードMain,Sub1〜Sub7を示しており、図13(b)は、部分ソースコードSub1,Sub3,Sub5〜Sub7を部分ソースコードMain内に取り込んで新たな部分ソースコードとした場合を示している。
図6のソースコード作成ステップS2において、図13(a)に示すように、異なる階層0〜2に属する互いに異なる部分ソースコードMain,Sub1,Sub3,Sub5,Sub6,Sub7がある場合においては、図12(b)に示したように、一方の部分ソースコードSub1,Sub3,Sub5〜Sub7をもう一方の部分ソースコードMain内に取り込んで新たな部分ソースコードとし、新たな部分ソースコードの属する階層を前記もう一方の部分ソースコードMainの属する階層0として、前記異なる階層0〜2を一つにすることができる。
簡略化した具体的な例で説明すると、例えば、階層0に属する部分ソースコードMainのビット容量を(10bit=1024通りのコード)とし、階層1に属する部分ソースコードSub1のビット容量を(5bit=32通りのコード)とした時、部分ソースコードSub1を部分ソースコードMain内に取り込んで新たな部分ソースコードとすると、階層0に属する新たな部分ソースコードは、(1056通りのコード)を持ち、ビット容量(11bit)となる。尚、図13(b)においては、さらに図13(a)で階層3にあった部分ソースコードSub4の属する階層を階層2に移動し、階層2にあった部分ソースコードSub2の属する階層を階層1に移動している。以上のようにして、図13(a)においては階層数4であったソースコードが、図13(b)では階層数3にまとめられている。
上記したように、異なる階層に属する互いに異なる部分ソースコードの一方の部分ソースコードをもう一方の部分ソースコード内に取り込んで新たな部分ソースコードとし、前記新たな部分ソースコードの属する階層を前記もう一方の部分ソースコードの属する階層として、前記異なる階層を一つにすることで、階層数を削減できるため、この場合にもステートマシン部41aにおけるレジスタのビット数の合計が低減し、最終的に生成されるコアシーケンサ41の回路規模を縮小することができる。さらに、汎用レジスタ等のレジスタも共通化できるため、これによっても回路規模が縮小する。
図14も、回路規模の縮小手段に関する別の例で、同じ部分ソースコードの属する階層を一致させる場合を示した図である。図14(a)は、図13(b)と同じソースコードで、異なる階層1,2に同じ部分ソースコードSub4が属している。図14(b)は、同じ部分ソースコードSub4の属する階層を階層2に一致させた場合を示している。
図6のソースコード作成ステップS2において、図14(a)に示すように、同じ部分ソースコードSub4が異なる階層1,2に属する場合においては、各階層1,2に対応するステートマシン部41a毎に、同じデコーダ部41bを形成する必要がある。一方、同じ部分ソースコードSub4の階層を、図14(b)に示すように階層2に一致させることで、階層2に対応するステートマシン部41aに同じ部分ソースコードSub4に対応したデコーダ部41bを一つ形成するだけでよい。従って、これによっても回路規模を縮小することができる。
以上のようにして、上記した情報処理装置100およびその回路設計方法は、一つの半導体チップに形成されてなる情報処理装置およびその回路設計方法であって、CPUとROMからなる従来のマイコン構成の情報処理装置に較べて、回路規模が小さく安価であり、且つ開発環境が流用できるため、回路設計が容易で、適用製品の仕様変更等への対応が容易な情報処理装置およびその回路設計方法となっている。従って、上記した情報処理装置100およびその回路設計方法は、多種少量のカスタムIC分野への適用に好適である。
本発明の情報処理装置の一例を示す図で、情報処理装置100の回路構成を示した模式的なブロック図である。 図1の情報処理装置100における中央処理回路40とバスセレクタ20の電気回路構成をより詳細に示すブロック図である。 図1のコアシーケンサ41におけるステートマシン部41aの電気回路構成をより詳細に示すブロック図である。 図1のコアシーケンサ41におけるデコーダ部41bの電気回路構成をより詳細に示すブロック図である。 図1のコアシーケンサ41における入力制御部41cと出力制御部41dの電気回路構成をより詳細に示すブロック図である。 情報処理装置100の回路設計方法に関する基本的な設計ステップを示す図である。 命令対応リストの一例を示す図である。 (a)と(b)は、それぞれ、ソースコードとオブジェクトコードの一例を示す図である。 ステートリストの一例を示す図である。 命令の統合(複合コマンドの作成)を説明する図で、(a)は、ある固定値をある複合コマンドの命令内容を示した図であり、図10(b)は、(a)の複合コマンドの命令伝達経路を示す図である。 種々の複合コマンド例を示す図である。 回路規模の縮小手段の一例で、(a)は、各階層0,1に振り分けられた部分ソースコードMain,Sub1,Sub2を示しており、(b)は、階層1における部分ソースコードSub1,Sub2に割り当てるカウンタレジスタのビット数を一致させて、カウンタレジスタを共通化した場合を示している。 回路規模の縮小手段に関する別の例で、(a)は、各階層0〜3に振り分けられた部分ソースコードMain,Sub1〜Sub7を示しており、(b)は、部分ソースコードSub1,Sub3,Sub5〜Sub7を部分ソースコードMain内に取り込んで新たな部分ソースコードとした場合を示している。 回路規模の縮小手段に関する別の例で、(a)は、図13(b)と同じソースコードで、異なる階層1,2に同じ部分ソースコードSub4が属している。(b)は、同じ部分ソースコードSub4の属する階層を階層2に一致させた場合を示している。 従来の情報処理装置90の回路構成を示した模式的なブロック図である。
符号の説明
90,100 情報処理装置
1 半導体チップ
10,40 中央処理回路
11 CPU
12 ROM
41 コアシーケンサ
41a ステートマシン部
41b デコーダ部
41c 入力制御部
41d 出力制御部
14 ALU
15 ステータスレジスタ
16 汎用レジスタ
20 バスセレクタ
20a コアバスセレクタ
20b 周辺バスセレクタ
30 周辺回路
30a〜30c 周辺装置

Claims (10)

  1. ータの演算・加工をおこなうと共に、周辺回路に設けられた周辺装置の制御をおこなう中央処理回路
    予め、算術的および論理的な演算処理をおこなうALU、前記ALUの処理状態であるフラグを格納するステータスレジスタおよび命令実行時にバッファとして使用する汎用レジスタを備えた中央処理装置(CPU)と、ROMとで構成し、
    前記CPUとROMとで構成された中央処理回路を、
    ROMに格納されCPUで解釈される命令に対応したデコード情報を所定の順序で実行するコアシーケンサと、前記ALUと、前記ステータスレジスタと、前記汎用レジスタとからなる構成に転換してなる、情報処理装置であって、
    前記コアシーケンサが、
    所定の複数の状態(ステート)を格納するステージレジスタ、シーケンスレジスタおよびカウンタレジスタの3種類のレジスタで構成されるステートマシン部と、
    前記ステートマシン部からの信号であって、前記ステージレジスタ、シーケンスレジスタおよびカウンタレジスタをそれぞれ識別するステージ番号、シーケンス番号およびカウント番号からなるステート番号を解釈し、当該ステート番号に対応した前記デコード情報からなる所定の制御信号を出力するデコーダ部とを有してなる、情報処理装置の回路設計方法であって、
    前記命令と、前記命令に対応する機械語の命令コードと、前記デコード情報とからなる命令対応リストを準備する命令対応リスト準備ステップと、
    プログラミング言語により、前記命令を用いてソースコードを記述するソースコード作成ステップと、
    前記ソースコードをコンパイラにより機械語に変換して、オブジェクトコードを作成するオブジェクトコード作成ステップと、
    前記オブジェクトコードを前記命令対応リストにより変換して、オブジェクトコードから前記コアシーケンサが実行するステート番号に対応した前記デコード情報からなるステートリストを作成するステートリスト作成ステップと、
    前記ステートリストに従って、前記コアシーケンサの回路を生成する回路生成ステップとを有してなり、
    前記命令対応リスト準備ステップにおいて、
    前記CPUの互いに異なる命令を一つの命令に統合し、
    前記ソースコード作成ステップにおいて、
    前記統合された命令を用いてソースコードを記述することを特徴とする情報処理装置の回路設計方法
  2. 前記ソースコード作成ステップにおいて、
    前記ソースコードを部分ソースコードにグループ化して記述し、前記部分ソースコードを識別するために前記シーケンス番号を割り当て、
    前記部分ソースコードを階層に振り分けて前記ソースコードを階層化して記述し、前記階層を識別するために前記ステージ番号を割り当て、
    前記ステートリスト作成ステップにおいて、
    前記ステージ番号と前記シーケンス番号別に、前記カウント番号を前記ステート番号として前記ステートリストを作成し、
    前記回路生成ステップにおいて、
    前記ステートリストに従って、前記ステートマシン部とデコーダ部の回路を生成することを特徴とする請求項1に記載の情報処理装置の回路設計方法
  3. ータの演算・加工をおこなうと共に、周辺回路に設けられた周辺装置の制御をおこなう中央処理回路
    予め、算術的および論理的な演算処理をおこなうALU、前記ALUの処理状態であるフラグを格納するステータスレジスタおよび命令実行時にバッファとして使用する汎用レジスタを備えた中央処理装置(CPU)と、ROMとで構成し、
    前記CPUとROMとで構成された中央処理回路を、
    ROMに格納されCPUで解釈される命令に対応したデコード情報を所定の順序で実行するコアシーケンサと、前記ALUと、前記ステータスレジスタと、前記汎用レジスタとからなる構成に転換してなる、情報処理装置であって、
    前記コアシーケンサが、
    所定の複数の状態(ステート)を格納するステージレジスタ、シーケンスレジスタおよびカウンタレジスタの3種類のレジスタで構成されるステートマシン部と、
    前記ステートマシン部からの信号であって、前記ステージレジスタ、シーケンスレジスタおよびカウンタレジスタをそれぞれ識別するステージ番号、シーケンス番号およびカウント番号からなるステート番号を解釈し、当該ステート番号に対応した前記デコード情報からなる所定の制御信号を出力するデコーダ部とを有してなる、情報処理装置の回路設計方法であって、
    前記命令と、前記命令に対応する機械語の命令コードと、前記デコード情報とからなる命令対応リストを準備する命令対応リスト準備ステップと、
    プログラミング言語により、前記命令を用いてソースコードを記述するソースコード作成ステップと、
    前記ソースコードをコンパイラにより機械語に変換して、オブジェクトコードを作成するオブジェクトコード作成ステップと、
    前記オブジェクトコードを前記命令対応リストにより変換して、オブジェクトコードから前記コアシーケンサが実行するステート番号に対応した前記デコード情報からなるステートリストを作成するステートリスト作成ステップと、
    前記ステートリストに従って、前記コアシーケンサの回路を生成する回路生成ステップとを有してなり、
    前記ソースコード作成ステップにおいて、
    前記ソースコードを部分ソースコードにグループ化して記述し、前記部分ソースコードを識別するために前記シーケンス番号を割り当て、
    前記部分ソースコードを階層に振り分けて前記ソースコードを階層化して記述し、前記階層を識別するために前記ステージ番号を割り当て、
    前記ステートリスト作成ステップにおいて、
    前記ステージ番号と前記シーケンス番号別に、前記カウント番号を前記ステート番号として前記ステートリストを作成し、
    前記回路生成ステップにおいて、
    前記ステートリストに従って、前記ステートマシン部とデコーダ部の回路を生成することを特徴とする情報処理装置の回路設計方法
  4. 前記ソースコード作成ステップにおいて、
    同じ階層に属する小さなビット容量の部分ソースコードと大きなビット容量の部分ソースコードがある場合において、
    前記回路生成ステップにおいて、前記小さなビット容量の部分ソースコードに割り当てるカウンタレジスタのビット数を、前記大きなビット容量の部分ソースコードに割り当てるカウンタレジスタのビット数に一致させて、2つの前記カウンタレジスタを共通化することを特徴とする請求項3に記載の情報処理装置の回路設計方法
  5. 前記ソースコード作成ステップにおいて、
    異なる階層に属する互いに異なる部分ソースコードがある場合において、
    前記互いに異なる部分ソースコードの一方の部分ソースコードをもう一方の部分ソースコード内に取り込んで新たな部分ソースコードとし、
    前記新たな部分ソースコードの属する階層を前記もう一方の部分ソースコードの属する階層として、前記異なる階層を一つにすることを特徴とする請求項3または4に記載の情報処理装置の回路設計方法
  6. 前記ソースコード作成ステップにおいて、
    異なる階層に同じ部分ソースコードが属する場合において、
    前記同じ部分ソースコードの属する階層を一致させることを特徴とする請求項3乃至5のいずれか一項に記載の情報処理装置の回路設計方法。
  7. 請求項1乃至6のいずれか一項に記載の回路設計方法によって設計される情報処理装置であって、
    該情報処理装置が、一つの半導体チップに形成されてなることを特徴とする報処理装置
  8. 前記情報処理装置が、コアバスセレクタと周辺バスセレクタとを有してなり、
    前記コアバスセレクタが、前記コアシーケンサ、ステータスレジスタおよび汎用レジスタからの信号を入力して、前記周辺バスセレクタ、ALU、ステータスレジスタおよび汎用レジスタへ制御信号を出力し、
    前記周辺バスセレクタが、前記コアバスセレクタ、コアシーケンサ、ステータスレジスタおよび汎用レジスタからの信号を入力して、前記周辺回路へ制御信号を出力することを特徴とする請求項に記載の情報処理装置
  9. 前記コアシーケンサが、
    前記ステートマシン部および前記デコーダ部への入力信号を制御する入力制御部と、
    前記デコーダ部からの出力信号を入力して制御する出力制御部とを有してなることを特徴とする請求項7または8に記載の情報処理装置
  10. 前記出力制御部が、
    前記デコーダ部からの信号により前記ALUへ演算制御信号を出力する演算制御ブロックと、
    前記デコーダ部からの信号により前記コアバスセレクタへ出力選択信号を出力するコアバス出力選択ブロックと、
    前記デコーダ部からの信号により前記周辺バスセレクタへ出力選択信号を出力する周辺バス出力選択ブロックと、
    前記デコーダ部からの信号により前記周辺回路へ書込み信号を出力する周辺回路書込みブロックと、
    前記デコーダ部からの信号により前記ステータスレジスタおよび汎用レジスタへ制御信号を出力するレジスタ制御ブロックとを有してなることを特徴とする請求項に記載の情報処理装置
JP2006299719A 2006-02-01 2006-11-03 情報処理装置およびその回路設計方法 Expired - Fee Related JP5157129B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006299719A JP5157129B2 (ja) 2006-02-01 2006-11-03 情報処理装置およびその回路設計方法

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2006024927 2006-02-01
JP2006024927 2006-02-01
JP2006299719A JP5157129B2 (ja) 2006-02-01 2006-11-03 情報処理装置およびその回路設計方法

Publications (2)

Publication Number Publication Date
JP2007233990A JP2007233990A (ja) 2007-09-13
JP5157129B2 true JP5157129B2 (ja) 2013-03-06

Family

ID=38554477

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006299719A Expired - Fee Related JP5157129B2 (ja) 2006-02-01 2006-11-03 情報処理装置およびその回路設計方法

Country Status (1)

Country Link
JP (1) JP5157129B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007317152A (ja) * 2006-05-29 2007-12-06 Yuundo:Kk 情報処理装置
EP2210201A1 (en) * 2007-11-01 2010-07-28 Silicon Hive B.V. Application profile based asip design
JP5626724B2 (ja) * 2010-08-31 2014-11-19 国立大学法人 東京大学 アクセラレータ及びデータ処理方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02197924A (ja) * 1989-01-27 1990-08-06 Matsushita Electric Ind Co Ltd 中央演算処理装置
JP4913955B2 (ja) * 2000-05-29 2012-04-11 株式会社ガイア・システム・ソリューション データ処理装置
JP3803561B2 (ja) * 2001-06-29 2006-08-02 松下電器産業株式会社 論理回路設計方法

Also Published As

Publication number Publication date
JP2007233990A (ja) 2007-09-13

Similar Documents

Publication Publication Date Title
JP3711422B2 (ja) 情報処理回路
TWI541658B (zh) 資料處理裝置及半導體積體電路裝置
JP2006146953A (ja) プロセッサ、システムlsi、システムlsiの設計方法、及び、それを記録した記録媒体
CN107102844B (zh) 超级乘加(超级madd)指令
CN101178644A (zh) 一种基于复杂指令集计算机结构的微处理器架构
KR20010043826A (ko) 마이크로 컨트롤러 명령어 집합
WO2001016710A1 (fr) Processeur de donnees
JP5157129B2 (ja) 情報処理装置およびその回路設計方法
CN101515229B (zh) 数据处理器
JP4002151B2 (ja) 情報処理装置
JPH11307725A (ja) 半導体集積回路
JP2006018411A (ja) プロセッサ
CN1898641B (zh) 微控制器指令集
JP2567134B2 (ja) ビットフィールド論理演算処理装置およびそれを具備するモノリシックマイクロプロセッサ
JP4090669B2 (ja) 演算処理装置、情報処理装置及びそれらの制御方法
JPS594049B2 (ja) コンピュ−タ装置
JP2826309B2 (ja) 情報処理装置
JP3000857B2 (ja) プログラマブルコントローラ
JP2000284962A (ja) マイクロコンピュータ
US20050216704A1 (en) Device and method for managing a microprocessor instruction set
JP4255738B2 (ja) プログラム制御装置
JPH07175664A (ja) コンパイラ装置
JPS6327746B2 (ja)
JP2004302827A (ja) マイクロコントローラ
JPH05181673A (ja) マイクロプロセッサ

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081226

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110208

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120228

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120420

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: 20121113

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121126

R151 Written notification of patent or utility model registration

Ref document number: 5157129

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

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

Free format text: PAYMENT UNTIL: 20151221

Year of fee payment: 3

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

LAPS Cancellation because of no payment of annual fees