(57)【要約】【課題】回路の遅延を減らして高速動作ができるとともに、各種の命令を扱うことができる拡張性のある演算プロセッサとこれを用いたモータ制御装置を提供する。【解決手段】命令格納メモリ（１０２）と、命令列制御部（１０３）と、演算器（１０６）と、レジスタ群（１０５）とを備えた演算プロセッサ（１０１）において、アクセス要求（１０７）とアドレス入力（１０８）とデータ入力（１０９）を入力し外部追加命令を命令セレクタ（１１９）へ出力する命令構成部（１１８）と、外部追加命令（１２２）と命令格納メモリ（１０２）からの信号を入力し命令列制御部（１０３）へ出力信号を出力する命令セレクタ（１１９）と、出力レジスタ（１２０）と、命令列制御部からの演算コード（１１３）と即値（１１４）とレジスタ群（１０５）からのソースデータ（１１０）とを入力しレジスタ群（１０５）へレジスタデータ（１１２）をレジスタ群（１０５）と出力レジスタ（１２０）へ出力する演算器（１０６）とを備えたものである。【選択図】図１
2007310524.tif 000002
【特許請求の範囲】
【請求項１】
命令格納メモリ（１０２）と、命令列制御部（１０３）と、演算器（１０６）と、レジスタ群（１０５）とを備えた演算プロセッサ（１０１）において、
アクセス要求（１０７）とアドレス入力（１０８）とデータ入力（１０９）を入力し外部追加命令を命令セレクタ（１１９）へ出力する命令構成部（１１８）と、
外部追加命令（１２２）と命令格納メモリ（１０２）からの信号を入力し命令列制御部（１０３）へ出力信号を出力する命令セレクタ（１１９）と、
アクセス要求（１０７）と命令セレクタ（１１９）の出力を入力しレジスタアドレス（１１１）をレジスタ群（１０５）と出力レジスタ（１２０）へ、演算コード（１１３）と即値（１１４）を演算器（１０６）へ出力する命令列制御部（１０３）と、
命令列制御部（１０３）が出力するレジスタアドレス（１１１）と演算処理部（１０４）の演算器（１０６）からの出力を入力しデータ出力（１２１）を出力する出力レジスタ（１２０）と、
前記命令列制御部（１０３）からの演算コード（１１３）と即値（１１４）とレジスタ群（１０５）からのソースデータ（１１０）とを入力しレジスタ群（１０５）へレジスタデータ（１１２）をレジスタ群（１０５）と出力レジスタ（１２０）へ出力する演算器（１０６）とを備えたことを特徴とする演算プロセッサ。
【請求項２】
前記命令構成部（１１８）は、外部からの書込み時データ入力値を即値、アドレス入力を書き込みアドレスとする即値代入命令を構成し、レジスタ群１０５内の所望のアドレスへ書込み、
外部からのリード時はレジスタ間転送命令を構成し、その転送先として出力レジスタ１２０を指定し、データ出力１２１にリードしたいデータを出力することを特徴とする請求項１記載の演算プロセッサ。
【請求項３】
前記アクセス要求（１０７）を複数ビットの信号として構成し、前記複数ビット値の意味付けを予め規定することで、前記アクセス要求が、書込み、読出しもしくはそれ以外であるかを判断することを特徴とする請求項１記載の演算プロセッサ。
【請求項４】
前記命令構成部（１１８）は、外部からのアクセス要求（１０７）をデコードし、デコード結果が即値代入の場合はアドレス入力（１０８）を書き込みアドレス、データ入力（１０９）を即値として外部追加命令（１２２）を構成し、デコード結果がレジスタ転送の場合はデータ入力（１０９）を読出しアドレスとして構成し、デコード結果が演算命令であった場合は演算器を使った演算命令を構成することを特徴とする請求項１記載の演算プロセッサ。
【請求項５】
請求項１乃至４のいずれかに記載の演算プロセッサをモータ制御装置に適用することを特徴とするモータ制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、与えられた命令を実行する演算プロセッサに関する。  
【背景技術】
【０００２】
従来の演算プロセッサは、命令格納メモリに格納された命令を逐次読み出し、その命令に応じて即値もしくはレジスタ群から読出したソースデータを演算し、結果をレジスタ群に書き込むという動作を行っている（例えば、特許文献１参照）。
図３において、３０１は従来の演算プロセッサである。３０３は命令列制御部であり、命令格納メモリ３０２から読み出した命令を解読し、命令指定アドレス３１４、演算コード３１３およびその命令が即値命令であれば即値３１４を出力する。外部からのアクセス要求３０７が無い場合はアドレスセレクタ３１５は命令指定アドレス３１４を選択しており、命令に応じたアドレスがレジスタ群３０５へ入力される。このレジスタアドレス３１１に対応したソースデータ３１０がレジスタ群３０５から出力され、このソースデータ３１０もしくは即値３１４を元に演算器３０６で演算コード３１３に応じた演算が行われる。アドレスの場合と同様に外部からのアクセス要求３０７が無い場合は、データセレクタ３１６は演算器３０６からの出力を選択しており、この演算結果をレジスタデータ３１２としてレジスタ群３０５へ書き込む。
また、外部からレジスタ群へのデータ書込みやレジスタ群のデータを読み出したいときは、アクセス要求３０７をセットする。これを受けてアドレスセレクタ３１６はアドレス入力３０８の選択、データセレクタ３１７はデータ入力３０９の選択へと切り替る。また命令列制御部３０３は、アクセス要求３０７がクリアされるまで命令の読出しを止める。
このように、従来の演算プロセッサは、命令に従ってレジスタからのソースデータや即値を使用して演算を行い、演算結果をレジスタへ書き戻す動作を行う。
【特許文献１】特許第２９２７１０２号（第６頁、図１）
【発明の開示】
【発明が解決しようとする課題】
【０００３】
従来の演算プロセッサは、一般に回路上遅延の大きい演算器に直列にデータセレクタが挿入され、同様に遅延の大きいレジスタ群のアドレス入力に対してアドレスセレクタが挿入されているため、遅延が大きくなり、演算プロセッサの高速化を実現できないという問題があった。また、外部からの書込みとしてはデータ入力をデータセレクタでレジスタ群に接続しているだけであり、即値代入はできるものの、レジスタ間のデータ転送命令や演算を行う等の拡張性が無いというような問題もあった。
本発明はこのような問題点に鑑みてなされたものであり、回路の遅延を減らして高速動作ができるとともに、各種の命令を扱うことができる拡張性のある演算プロセッサとこれを用いたモータ制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００４】
上記問題を解決するため、本発明は、次のように構成したのである。
請求項１に記載の発明は、命令格納メモリ（１０２）と、命令列制御部（１０３）と、演算器（１０６）と、レジスタ群（１０５）とを備えた演算プロセッサ（１０１）において、
アクセス要求（１０７）とアドレス入力（１０８）とデータ入力（１０９）を入力し外部追加命令を命令セレクタ（１１９）へ出力する命令構成部（１１８）と、外部追加命令（１２２）と命令格納メモリ（１０２）からの信号を入力し命令列制御部（１０３）へ出力信号を出力する命令セレクタ（１１９）と、アクセス要求（１０７）と命令セレクタ（１１９）の出力を入力しレジスタアドレス（１１１）をレジスタ群（１０５）と出力レジスタ（１２０）へ、演算コード（１１３）と即値（１１４）を演算器（１０６）へ出力する命令列制御部（１０３）と、命令列制御部（１０３）が出力するレジスタアドレス（１１１）と演算処理部（１０４）の演算器（１０６）からの出力を入力しデータ出力（１２１）を出力する出力レジスタ（１２０）と、前記命令列制御部からの演算コード（１１３）と即値（１１４）とレジスタ群（１０５）からのソースデータ（１１０）とを入力しレジスタ群（１０５）へレジスタデータ（１１２）をレジスタ群（１０５）と出力レジスタ（１２０）へ出力する演算器（１０６）とを備えたものである。
【０００５】
また、請求項２記載の発明は請求項１において、前記命令構成部（１１８）は、外部からの書込み時データ入力値を即値、アドレス入力を書き込みアドレスとする即値代入命令を構成し、レジスタ群１０５内の所望のアドレスへ書込み、
外部からのリード時はレジスタ間転送命令を構成し、その転送先として出力レジスタ１２０を指定し、データ出力１２１にリードしたいデータを出力するものである。
また、請求項３記載の発明は請求項１において、前記アクセス要求（１０７）を複数ビットの信号として構成し、前記複数ビット値の意味付けを予め規定することで、前記アクセス要求が、書込み、読出しもしくはそれ以外であるかを判断するものである。
また、請求項４記載の発明は請求項１において、前記命令構成部（１１８）は、外部からのアクセス要求（１０７）をデコードし、デコード結果が即値代入の場合はアドレス入力（１０８）を書き込みアドレス、データ入力（１０９）を即値として外部追加命令（１２２）を構成し、デコード結果がレジスタ転送の場合はデータ入力（１０９）を読出しアドレスとして構成し、デコード結果が演算命令であった場合は演算器を使った演算命令を構成することを特徴とする請求項１記載の演算プロセッサ。
また、請求項５記載の発明は請求項１乃至４のいずれかに記載の演算プロセッサをモータ制御装置に適用することを特徴とするものである。
【発明の効果】
【０００６】
請求項１から３に記載の発明によると、回路上の高速動作が必要な部分の遅延を減らすことができ、回路を高速動作させることができる。また、請求項４に記載の発明によると、即値代入以外の動作を外部から指定することができ、動作の拡張性を増やすことができる。また、請求項５に記載の発明によると、モータ制御装置に適用できる。
【発明を実施するための最良の形態】
【０００７】
以下、本発明の実施の形態について図を参照して説明する。
【実施例１】
【０００８】
図１は、本発明の演算プロセッサの実施例を示す図である。図において、１０１は演算プロセッサ、１０２は命令格納メモリ、１０３は命令列制御部、１０４は演算処理部、１０５はレジスタ群、１０６は演算器、１１８は命令構成部、１１９は命令セレクタ、１２０は出力レジスタ、１０７はアクセス要求、１０８はアドレス入力、１０９はデータ入力、１１０はソースデータ、１１３は演算コード、１１１はレジスタアドレス、１１２はレジスタデータ、１１４は即値、１２１はデータ出力、１２２は外部追加命令である。
本発明が従来技術の図３と異なる部分は、命令構成部１１８と、命令セレクタ１１９と、出力レジスタ１２０を追加し、アドレスセレクタ３１６とデータセレクタ３１７を除去した部分である。
【０００９】
図１の主な接続関係を説明する。命令構成部１１８は、アクセス要求１０７とアドレス入力１０８とデータ入力１０９を入力し外部追加命令を命令セレクタ１１９へ出力する。命令セレクタ１１９は、外部追加命令１２２と命令格納メモリ１０２からの信号を入力し命令列制御部１０３へ出力信号を出力する。命令列制御部１０３は、アクセス要求１０７と命令セレクタ１１９の出力を入力しレジスタアドレス１１１をレジスタ群１０５と出力レジスタ１２０へ、演算コード１１３と１１４即値を演算器１０６へ出力する。出力レジスタ１２０は、命令列制御部１０３が出力するレジスタアドレス１１１と演算処理１０４の部演算器１０６からの出力を入力しデータ出力１２１を出力する。
【００１０】
次に動作を説明する。図において、１１８は命令構成部であり、外部からのアクセス要求１０７を受けてアドレス入力１０８とデータ入力１０９から外部追加命令１２２を生成する。また命令セレクタ１１９ではアクセス要求があった場合に命令格納メモリ１０２からの命令ではなく外部追加命令１２２を選択する。また出力レジスタ１２０はレジスタアドレス１１１が出力レジスタ１２０を指定していた場合に１１２レジスタデータを保持し、この値をデータ出力１２１として外部に出力する。
外部からの書込み時は、命令構成部でデータ入力値を即値、アドレス入力を書き込みアドレスとする即値代入命令を構成することで、レジスタ群１０５内の所望のアドレスへの書込みを行う。
外部からのリード時は、命令構成部でレジスタ間転送命令を構成し、その転送先として出力レジスタ１２０を指定することで、データ出力１２１にリードしたいデータが出力される。
なお、外部からのアクセス要求が、書込み、読出しもしくはそれ以外であるかの判断は、アクセス要求１０７が複数ビットの信号として構成されて、ビット値の意味付けを設計時に規定しておくことなどで行える。
従って、図３のアドレスセレクタ３１６、データセレクタ３１７は不要となり、削除している。
【実施例２】
【００１１】
図２は第２実施例の動作を示す図である。回路構成としては実施例と同じであるが、命令構成部１１８での外部追加命令１２２の生成を示したものである。
（Ａ）はアクセス要求１０７のデコード結果が即値代入の場合で、アドレス入力１０８を書き込みアドレス、データ入力１０９を即値として外部追加命令１１２を構成する。
（Ｂ）はアクセス要求１０７のデコード結果がレジスタ転送の場合で、データ入力１０９を読出しアドレスとして構成して、読出しアドレスから書き込みアドレスへの転送を実現する。
（Ｃ）はその他の命令として例えばアクセス要求１０７のデコード結果が加算命令であった場合、レジスタ転送命令と同様の動作であるが、演算器１０６で加算を行った結果を書き込みアドレスへ書き込む。
【００１２】
このように、命令構成部１１８で外部からのアクセス要求１０７をデコードする構成をしているので、即値代入やレジスタ転送に加え、各種の演算を実行することができる。
本発明の演算プロセッサは、高速動作のみならず即値代入、レジスタ間のデータ転送命令や演算を行う等の拡張性があるので、モータ制御装置（いわゆるインバータ装置）とりわけ高速制御演算が必要な用途のロボット制御装置、数値制御装置、工作機制御装置などで使われるサーボモータ制御装置に適用すると特に効果的である。
【図面の簡単な説明】
【００１３】
【図１】本発明の第１実施例を示す演算プロセッサ
【図２】第２実施例を示す演算プロセッサの動作図
【図３】従来の演算プロセッサの例
【符号の説明】
【００１４】
１０１  演算プロセッサ
１０２  命令格納メモリ
１０３  命令列制御部
１０４  演算処理部
１０５  レジスタ群
１０６  演算器
１１８  命令構成部
１１９  命令セレクタ
１２０  出力レジスタ
３１６  アドレスセレクタ
３１７  データセレクタ
【図１】
2007310524.tif 000003
【図２】
2007310524.tif 000004
【図３】
2007310524.tif 000005