"演算処理シーケンスを命令の列として格納するプログラムメモリと、前記演算処理シーケンスを実行中の命令の位置を示すプログラムカウンタと、前記プログラムカウンタを含み、前記演算処理シーケンスを実行中の命令に基づいて演算処理を制御する制御論理回路とを有する演算処理装置であって、前記演算処理シーケンスの各命令のビットフィールド内には、その命令の実行を停止するかどうかを示す命令停止フラグ情報と、その命令の実行再開トリガ条件を示すビットフィールド情報とを持ち、前記制御論理回路は、前記命令停止フラグ情報がクリアされている命令はそのまま実行し、次の命令処理に進み、前記命令停止フラグ情報がセットされている命令は、前記ビットフィールド情報に対応する実行再開トリガ条件が成立していなければその実行を行わずに停止し、前記命令停止フラグ情報がセットされている命令は、前記ビットフィールド情報に対応する実行再開トリガ条件が成立していればその実行を行い、次の命令処理に進む、ように制御することを特徴とする演算処理装置。請求項1記載の演算処理装置において、さらに、前記演算処理シーケンスのための演算データを格納する複数のレジスタを有し、前記複数のレジスタは、他の演算処理装置のバスにも接続され、外部からの書き込みが可能であり、前記ビットフィールド情報は、前記複数のレジスタのうちどのレジスタへの書き込みをトリガ条件とするかを意味し、前記制御論理回路は、前記命令停止フラグ情報がクリアされている命令はそのまま実行し、前記プログラムカウンタを更新して次の命令処理に進み、前記命令停止フラグ情報がセットされている命令は、前記ビットフィールド情報に対応する実行再開トリガ条件が成立していなければその実行を行わずに停止し、前記命令停止フラグ情報がセットされている命令は、前記ビットフィールド情報に対応する実行再開トリガ条件が成立していればその実行を行い、前記プログラムカウンタを更新して次の命令処理に進む、ように制御することを特徴とする演算処理装置。請求項2記載の演算処理装置において、さらに、前記複数のレジスタの個々のレジスタに対応するフラグ情報を持ち、前記他の演算処理装置が前記複数のレジスタのうちのいずれかひとつの第1レジスタにライトしたら対応する第1フラグ情報がセットされ、前記制御論理回路は、前記命令停止フラグ情報がセットされ、かつ、前記ビットフィールド情報が前記第1レジスタへのライトを再開トリガとすることを示す命令は、前記第1フラグ情報がクリアされていたらその実行を行わずに停止し、その後、前記第1フラグ情報がセットされたら実行を行い、前記第1フラグ情報をクリアして前記プログラムカウンタを更新して次の命令処理に進み、前記命令停止フラグ情報がセットされ、かつ、前記ビットフィールド情報が前記第1レジスタへのライトを再開トリガとすることを示す命令は、前記第1フラグ情報がセットされていたらそのまま実行し、前記第1フラグ情報をクリアして前記プログラムカウンタを更新して次の命令処理に進む、ように制御することを特徴とする演算処理装置。請求項2記載の演算処理装置において、さらに、前記演算処理シーケンスの各命令のビットフィールド内には、外部への割り込み出力を示すイベント情報を持ち、前記制御論理回路は、前記イベント情報がセットされた命令の実行が行われたら前記プログラムカウンタを更新して次の命令処理に進むとともに、外部に割り込み信号またはトリガパルス信号を出力する、ように制御することを特徴とする演算処理装置。デジタル制御電源からの電圧信号をA/D変換するA/D変換器と、前記A/D変換器からのデータをフィルタ演算する演算処理装置と、前記デジタル制御電源のパワーMOSトランジスタを駆動するPWM波形のデューティを求めるパルス幅変調器と、前記A/D変換器から前記演算処理装置へデータ転送し、前記演算処理装置から前記パルス幅変調器へデータ転送するダイレクトメモリアクセスコントローラと、システム処理を行う中央演算処理装置とを有するマイクロコンピュータであって、前記演算処理装置によるフィルタ演算と前記中央演算処理装置によるシステム処理とを独立して並行に実行可能であり、前記演算処理装置は、演算処理シーケンスを命令の列として格納するプログラムメモリと、前記演算処理シーケンスを実行中の命令の位置を示すプログラムカウンタと、前記プログラムカウンタを含み、前記演算処理シーケンスを実行中の命令に基づいて演算処理を制御する制御論理回路とを有し、前記演算処理シーケンスの各命令のビットフィールド内には、その命令の実行を停止するかどうかを示す命令停止フラグ情報と、その命令の実行再開トリガ条件を示すビットフィールド情報とを持ち、前記制御論理回路は、前記命令停止フラグ情報がクリアされている命令はそのまま実行し、次の命令処理に進み、前記命令停止フラグ情報がセットされている命令は、前記ビットフィールド情報に対応する実行再開トリガ条件が成立していなければその実行を行わずに停止し、前記命令停止フラグ情報がセットされている命令は、前記ビットフィールド情報に対応する実行再開トリガ条件が成立していればその実行を行い、次の命令処理に進む、ように制御することを特徴とするマイクロコンピュータ。請求項5記載のマイクロコンピュータにおいて、さらに、前記演算処理装置は、前記演算処理シーケンスのための演算データを格納する複数のレジスタを有し、前記複数のレジスタは、他の演算処理装置のバスにも接続され、外部からの書き込みが可能であり、前記ビットフィールド情報は、前記複数のレジスタのうちどのレジスタへの書き込みをトリガ条件とするかを意味し、前記制御論理回路は、前記命令停止フラグ情報がクリアされている命令はそのまま実行し、前記プログラムカウンタを更新して次の命令処理に進み、前記命令停止フラグ情報がセットされている命令は、前記ビットフィールド情報に対応する実行再開トリガ条件が成立していなければその実行を行わずに停止し、前記命令停止フラグ情報がセットされている命令は、前記ビットフィールド情報に対応する実行再開トリガ条件が成立していればその実行を行い、前記プログラムカウンタを更新して次の命令処理に進む、ように制御することを特徴とするマイクロコンピュータ。請求項6記載のマイクロコンピュータにおいて、さらに、前記演算処理装置は、前記複数のレジスタの個々のレジスタに対応するフラグ情報を持ち、前記他の演算処理装置が前記複数のレジスタのうちのいずれかひとつの第1レジスタにライトしたら対応する第1フラグ情報がセットされ、前記制御論理回路は、前記命令停止フラグ情報がセットされ、かつ、前記ビットフィールド情報が前記第1レジスタへのライトを再開トリガとすることを示す命令は、前記第1フラグ情報がクリアされていたらその実行を行わずに停止し、その後、前記第1フラグ情報がセットされたら実行を行い、前記第1フラグ情報をクリアして前記プログラムカウンタを更新して次の命令処理に進み、前記命令停止フラグ情報がセットされ、かつ、前記ビットフィールド情報が前記第1レジスタへのライトを再開トリガとすることを示す命令は、前記第1フラグ情報がセットされていたらそのまま実行し、前記第1フラグ情報をクリアして前記プログラムカウンタを更新して次の命令処理に進む、ように制御することを特徴とするマイクロコンピュータ。請求項6記載のマイクロコンピュータにおいて、さらに、前記演算処理装置は、前記演算処理シーケンスの各命令のビットフィールド内には、外部への割り込み出力を示すイベント情報を持ち、前記制御論理回路は、前記イベント情報がセットされた命令の実行が行われたら前記プログラムカウンタを更新して次の命令処理に進むとともに、外部に割り込み信号またはトリガパルス信号を出力する、ように制御することを特徴とするマイクロコンピュータ。ところで、前述した非特許文献1~3などを含む従来のデジタル制御電源向けマイコンに関して、本発明者が検討した結果、以下のようなことが明らかとなった。例えば、デジタル制御電源内のシステム的な処理には、異常検知、保護処置、外部との通信、ログ記録など多岐に渡る。この中でフィルタ演算をこなしていくため、処理性能を確保するには、CPUコアの動作周波数を上げるなどの性能向上策が必要になる。これは、自己消費電力を増大させ、低負荷時の電源の電力効率を低下させることに繋がる。一方、CPU性能がネックになるケースでは、制御周期が長くなることによって、電源コンバータ回路のパワーMOSトランジスタを駆動するパルス幅変調PWM:PulseWidthModulation波形の周期が短くならない問題が発生する。こうなると、外部電源回路上のLCフィルタ回路の定数が大きくなり、電源ユニットのサイズも大きくかつコスト高になる問題が生じる。そこで、本発明者は、上述のような問題点に鑑みて、デジタル制御電源のフィードバック制御ループ内の位相補償計算用にデジタルフィルタ演算機能を持つ小規模なDSPを内蔵して、このDSPはCPUとは独立して並行して動作可能なものとし、その起動方法について見出した。そこで、本発明の代表的な目的は、システム処理とフィルタ処理の双方の負荷を軽くすることができ、消費電力の向上や性能の向上を図ることが可能な技術を提供することにある。本発明の前記ならびにその他の目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次のとおりである。1代表的な演算処理装置は、演算処理シーケンスを命令の列として格納するプログラムメモリと、前記演算処理シーケンスを実行中の命令の位置を示すプログラムカウンタと、前記プログラムカウンタを含み、前記演算処理シーケンスを実行中の命令に基づいて演算処理を制御する制御論理回路とを有し、以下のような特徴を有するものである。前記演算処理シーケンスの各命令のビットフィールド内には、その命令の実行を停止するかどうかを示す命令停止フラグ情報と、その命令の実行再開トリガ条件を示すビットフィールド情報とを持つ。そして、前記制御論理回路は、前記命令停止フラグ情報がクリアされている命令はそのまま実行し、次の命令処理に進み、前記命令停止フラグ情報がセットされている命令は、前記ビットフィールド情報に対応する実行再開トリガ条件が成立していなければその実行を行わずに停止し、前記命令停止フラグ情報がセットされている命令は、前記ビットフィールド情報に対応する実行再開トリガ条件が成立していればその実行を行い、次の命令処理に進む、ように制御する。2代表的なマイコンは、デジタル制御電源からの電圧信号をA/D変換するA/D変換器と、前記A/D変換器からのデータをフィルタ演算する演算処理装置と、前記デジタル制御電源のパワーMOSトランジスタを駆動するPWM波形のデューティを求めるパルス幅変調器と、前記A/D変換器から前記演算処理装置へデータ転送し、前記演算処理装置から前記パルス幅変調器へデータ転送するダイレクトメモリアクセスコントローラと、システム処理を行う中央演算処理装置とを有し、以下のような特徴を有するものである。前記演算処理装置によるフィルタ演算と前記中央演算処理装置によるシステム処理とを独立して並行に実行可能であり、前記演算処理装置は、前記1のような構成を有し、そして、前記制御論理回路は、前記1のように制御する。本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下のとおりである。すなわち、代表的な効果は、システム処理とフィルタ処理の双方の負荷を軽くすることができ、消費電力の向上や性能の向上を図ることが可能となる。以下の実施の形態においては、便宜上その必要があるときは、複数の実施の形態またはセクションに分割して説明するが、特に明示した場合を除き、それらは互いに無関係なものではなく、一方は他方の一部または全部の変形例、詳細、補足説明等の関係にある。また、以下の実施の形態において、要素の数等個数、数値、量、範囲等を含むに言及する場合、特に明示した場合および原理的に明らかに特定の数に限定される場合等を除き、その特定の数に限定されるものではなく、特定の数以上でも以下でも良い。さらに、以下の実施の形態において、その構成要素要素ステップ等も含むは、特に明示した場合および原理的に明らかに必須であると考えられる場合等を除き、必ずしも必須のものではないことは言うまでもない。同様に、以下の実施の形態において、構成要素等の形状、位置関係等に言及するときは、特に明示した場合および原理的に明らかにそうでないと考えられる場合等を除き、実質的にその形状等に近似または類似するもの等を含むものとする。このことは、上記数値および範囲についても同様である。以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。[実施の形態の概要]本発明の実施の形態の演算処理装置一例として、内に対応する構成要素、符号等を付記は、演算処理シーケンスを命令の列として格納するプログラムメモリPMと、前記演算処理シーケンスを実行中の命令の位置を示すプログラムカウンタPCと、前記プログラムカウンタを含み、前記演算処理シーケンスを実行中の命令に基づいて演算処理を制御する制御論理回路CLとを有する演算処理装置デジタルシグナルプロセッサDSPである。以上の構成において、前記演算処理シーケンスの各命令のビットフィールド内には、その命令の実行を停止するかどうかを示す命令停止フラグ情報TRIG_WAITと、その命令の実行再開トリガ条件を示すビットフィールド情報TRIG_WHATとを持つ。そして、前記制御論理回路は、前記命令停止フラグ情報がクリアされている命令はそのまま実行し、次の命令処理に進み、前記命令停止フラグ情報がセットされている命令は、前記ビットフィールド情報に対応する実行再開トリガ条件が成立していなければその実行を行わずに停止し、前記命令停止フラグ情報がセットされている命令は、前記ビットフィールド情報に対応する実行再開トリガ条件が成立していればその実行を行い、次の命令処理に進む、ように制御する。さらに望ましくは、前記演算処理装置は、前記演算処理シーケンスのための演算データを格納する複数のレジスタRnを有し、前記複数のレジスタは、他の演算処理装置のバスにも接続され、外部からの書き込みすなわち値の更新が可能である。前記ビットフィールド情報は、前記複数のレジスタのうちどのレジスタへの書き込みをトリガ条件とするかを意味する。そして、前記制御論理回路は、前記命令停止フラグ情報がクリアされている命令はそのまま実行し、前記プログラムカウンタを更新して次の命令処理に進み、前記命令停止フラグ情報がセットされている命令は、前記ビットフィールド情報に対応する実行再開トリガ条件が成立していなければその実行を行わずに停止し、前記命令停止フラグ情報がセットされている命令は、前記ビットフィールド情報に対応する実行再開トリガ条件が成立していればその実行を行い、前記プログラムカウンタを更新して次の命令処理に進む、ように制御する。さらに望ましくは、前記演算処理装置は、前記複数のレジスタRnの個々のレジスタに対応するフラグ情報TRGn:SET_Rnを持ち、前記他の演算処理装置が前記複数のレジスタのうちのいずれかひとつの第1レジスタRn、例えばn=0にライトしたら対応する第1フラグ情報TRGn、例えばn=0がセットされる。そして、前記制御論理回路は、前記命令停止フラグ情報がセットされ、かつ、前記ビットフィールド情報が前記第1レジスタへのライトを再開トリガとすることを示す命令は、前記第1フラグ情報がクリアされていたらその実行を行わずに停止し、その後、前記第1フラグ情報がセットされたら実行を行い、前記第1フラグ情報をクリアして前記プログラムカウンタを更新して次の命令処理に進み、前記命令停止フラグ情報がセットされ、かつ、前記ビットフィールド情報が前記第1レジスタへのライトを再開トリガとすることを示す命令は、前記第1フラグ情報がセットされていたらそのまま実行し、前記第1フラグ情報をクリアして前記プログラムカウンタを更新して次の命令処理に進む、ように制御する。さらに望ましくは、前記演算処理シーケンスの各命令のビットフィールド内には、外部への割り込み出力を示すイベント情報EVENTを持つ。そして、前記制御論理回路は、前記イベント情報がセットされた命令の実行が行われたら前記プログラムカウンタを更新して次の命令処理に進むとともに、外部に割り込み信号またはトリガパルス信号を出力する、ように制御する。また、本発明の実施の形態の演算処理装置を内蔵したマイコンは、デジタル制御電源からの電圧信号をA/D変換するA/D変換器ADCと、前記A/D変換器からのデータをフィルタ演算する演算処理装置デジタルシグナルプロセッサDSPと、前記デジタル制御電源のパワーMOSトランジスタを駆動するPWM波形のデューティを求めるパルス幅変調器PWMと、前記A/D変換器から前記演算処理装置へデータ転送し、前記演算処理装置から前記パルス幅変調器へデータ転送するダイレクトメモリアクセスコントローラDMACと、システム処理を行う中央演算処理装置CPUとを有する。前記演算処理装置によるフィルタ演算と前記中央演算処理装置によるシステム処理とを独立して並行に実行可能であり、前記演算処理装置は、前記のような構成を有し、そして、前記制御論理回路は、前記のように制御する。以上説明した実施の形態の概要に基づいた実施の形態を、以下において具体的に説明する。以下に説明する実施の形態は本発明を用いた一例であり、本発明は以下の実施の形態により限定されるものではない。[実施の形態]本発明の一実施の形態を、図1~図7を用いて説明する。<マイコンによるDC-DCコンバータの制御>図1は、本実施の形態のマイコンによるDC-DCコンバータの制御の一例を示すブロック図である。本実施の形態において、マイコンとは、マイクロコンピュータの他、マイクロコントローラユニットなども含むものであり、ここでは符号としてMCUを用いる。マイコンMCUは、入力電圧信号などをA/D変換するA/D変換器ADCと、このA/D変換器ADCからのデータをフィルタ演算するデジタルシグナルプロセッサDSPと、DC-DCコンバータのパワーMOSトランジスタを駆動するPWM波形のデューティを求めるパルス幅変調器PWMなどを主に含んで構成される。このマイコンMCUの製品は、図4において後述する。DC-DCコンバータは、入力端子INから入力される電源電位と接地電位との間に直列に接続された2つのパワーMOSトランジスタダイオード内蔵M1,M2と、各パワーMOSトランジスタM1,M2を制御する2つのプリバッファPB1,PB2と、2つのパワーMOSトランジスタM1,M2の接続ノードと出力端子OUTとの間に接続された平滑用のインダクタLおよびコンデンサCと、出力電圧を分圧する2つの抵抗R1,R2などから構成される。抵抗R1,R2により分圧された電圧は、入力電圧信号として、マイコンMCUのA/D変換器ADCの入力となる。プリバッファPB1,PB2には、マイコンMCUのパルス幅変調器PWMからの出力信号が入力される。以上のような構成において、マイコンMCUによるDC-DCコンバータのフィードバック制御ループ処理の流れは、以下のようになる。一例として、このマイコンMCUによるDC-DCコンバータの制御の一例を示すタイミング図である図2を用いて補足する。図2は、In-Cycle、2MHzの例である。まず、入力電圧信号などをA/D変換器ADCでA/D変換0.25μsし、そのデータをデジタルシグナルプロセッサDSPでフィルタ演算0.2μsして、DC-DCコンバータのパワーMOSトランジスタM1,M2を駆動するPWM波形のデューティをパルス幅変調器PWMで求め、このデューティをパルス幅変調器PWM内のPWMタイマに設定0.05μsする。本実施の形態においては、上記のA/D変換からPWMタイマ設定までの流れについては、マイコンMCU内の中央演算処理装置CPUの介在なく、A/D変換器ADCとデジタルシグナルプロセッサDSPとパルス幅変調器PWMのハードウェアだけで処理が進むようにしている。このため、システム的な処理を行うCPUと、フィルタ演算を実行するDSPとを独立させ、並行に動作させる構成を採用している。これにより、システム処理とフィルタ処理との双方の負荷を軽くすることができ、消費電力の向上や性能の向上を図ることができる。図1に示した構成要素以外の構成として、ダイレクトメモリアクセスコントローラDMAC:DirectMemoryAccessControllerとしての機能を持つモジュールを配置し、A/D変換器ADCが変換終了したら、DMACが自動的にA/D変換器ADCの変換結果レジスタからデジタルシグナルプロセッサDSPのデータレジスタにデータを転送し、DSPの演算シーケンスを起動させ、DSPの演算シーケンスが終了したら、同様にDMACがその結果データをPWMタイマのデューティ設定レジスタに転送する方式を採用している。本実施の形態においては、以上のような構成および方式を採用し、特に、以下のような制御を行うことを特徴としている。詳細は、図3~図7などを用いて後述する。デジタルシグナルプロセッサDSP内には、予めフィルタ演算のためのシーケンスを命令列として記述したものを保持しておく。すなわち、DSP専用のプログラムメモリPMに命令シーケンスが格納されている。このプログラムをいつ起動するかのトリガとしては、上記処理の流れに沿えばA/D変換器ADCの変換結果データのDMACによるDSPのデータレジスタRnへのライトが考えられる。ただし、DSPの処理シーケンスで使用する入力データは一つとは限らない。電源フィードバック制御では、電圧値と電流値を同時に計算に使用する場合や、複数の電圧値を比較する場合などがある。デジタルシグナルプロセッサDSP内の命令シーケンスは電源方式に応じて任意であり、シーケンス中で使用される入力データの個数、到着順序、タイミングは一定とは限らない。このため、DSPの処理の起動トリガには工夫が必要である。本実施の形態では、デジタルシグナルプロセッサDSPの命令シーケンスの起動は、基本的にはDSPのデータレジスタRnへのデータライト動作をトリガにするが、1DSPのデータレジスタの個数分のフラグTRGn:SET_Rnを設け、そのフラグは対応するDSPのデータレジスタがライトされたらセットされることとし、2命令コード内にDSPのデータレジスタへのライトが来るまでその命令実行を待つことを示す情報、すなわち命令コード内にDSPのデータレジスタへのライトが実行されたらその命令から再起動することを示すトリガビットTRIG_WAITと、どのDSPのデータレジスタへのライトが命令の再起動をさせるかのDSPのデータレジスタ番号フィールドTRIG_WHATを設け、3DSPのデータレジスタへのデータライト動作を待つ命令がデコードされたら前記フラグをチェックし続けることとし、4当該の前記フラグがセットされ、命令再起動条件が成立したら当該前記フラグを自動クリアし、命令実行を再開する、という方式を採る。命令シーケンスが完了し、演算結果が準備できたら、DMACにイベント信号を送り、DMACにDSPのデータレジスタをリードさせ、演算結果をPWMタイマのデューティ設定レジスタに転送する。このために、命令コード内に、DMACへのイベント信号を出力することを示すイベントビットEVENTを設ける。このイベントビットがセットされた命令を実行完了した時点でDMACにイベント信号を送る。前記のような構成によれば、ダイレクトメモリアクセスコントローラDMACはA/D変換器ADCの変換終了トリガによって、予め決められたデジタルシグナルプロセッサDSPのデータレジスタにデータをライトすることができるから、DSPの命令シーケンス内で入力データが必要になるところまで命令シーケンスを実行しておき、DSPのデータレジスタにデータがライトされるまで命令実行を止め、DSPのデータレジスタにデータが準備されたら命令実行を再開することができる。また、複数の入力データが必要な場合でも、その都度、命令シーケンスを一旦停止するようにしておけばよい。これによって、任意のDSPのシーケンスの中で任意個数、任意順序で必要なデータが集めながら演算処理を実行していくことができる。<デジタルシグナルプロセッサ>図3は、前述したマイコンMCUに内蔵されるデジタルシグナルプロセッサDSPの一例を示すブロック図である。デジタルシグナルプロセッサDSPは、マイコンMCU内で中央演算処理装置CPUとは独立したモジュールとして存在し、以下のリソースから構成されている。このDSP内の演算は、すべて固定小数点形式で行う。また、内部的には整数演算を行うのみであり、小数点の位置はユーザプログラマが自由に想定してよい。1R0-R15レジスタDSPには、16本の16ビット汎用レジスタRnn=0,1,2,...,15から構成されるレジスタファイルRFがある。このレジスタRnは、DSP演算時の係数値の記憶や、デジタルフィルタの遅延素子としての内部メモリとして使うことができる。Rnは、CPUまたはDMACからリードライト可能な内部バスDataBusに接続されている。Rnは、以下で説明するMUL、DIVの入力ポートに接続されている。また、Rnは、以下で説明するACCからSFT経由でデータを受け取ることができる。2ACCアキュムレータDSPのデータパスユニットDPUには、1本の36ビット長アキュムレータACCがあり、積算演算結果を記憶する。ACCは、ALU、MUL、DIVから計算結果を受け取る。ACCは、CPUバスDataBusからアクセスすることもできる。ACC上での積算演算中にオーバーフローが発生した場合は、演算結果は正の最大値か負の最小値に飽和される。3MUL乗算器DSPのデータパスユニットDPUには、1個の乗算器MULがあり、基本的に16ビット×16ビットの乗算を行う。MULは、Rnからデータを受け取り、ALUまたはACCに対して演算結果を出力する。4ALU演算ユニットDSPのデータパスユニットDPUには、1個の演算ユニットALUがあり、基本的に36ビット36ビット→36ビットの加算演算を行う。5SFTシフタDSPのデータパスユニットDPUには、1個のシフタSFTがあり、右シフトだけの機能を持つ。SFTは、36ビット幅のデータをACCから受け取り、入力値のうちの16ビット幅の部分をクリップし切り出し、Rnに対して16ビット幅データを出力する。このクリップ操作は右シフト操作と等価であり、オーバーフローが発生する可能性がある。オーバーフローが発生する場合は、SFTが出力する値は正の最大値か負の最小値に飽和される。また、このクリップ操作右シフト操作において、最下位ビットLSBは最近傍値に丸められる。6DIV除算器DSPのデータパスユニットDPUには、1個の除算器DIVがあり、Rn16ビット精度÷Rm16ビット精度→16ビット精度×1/16ビット精度→16ビット精度×16ビット精度→ACC32ビット精度という演算を行う。除算アルゴリズムは、まず、ニュートンラプソン法に基づきRmの逆数を求めてから、Rnを乗じて最終結果を得ている。内部的には除算専用のハードウェアは存在せず、除算操作は内部の他のリソースMUL、ALU、ACCなど上述されたものを使用している。7PMプログラムメモリDSP内の実行シーケンスを設定するために、DSPのコントロールユニットCUは、小さいサイズのプログラムメモリPMを内蔵している。PMのサイズは、16ビット幅×16ワードである。各命令の長さは、16ビット幅固定である。このPMは、最大で16ステップの命令だけを記憶できる。8RAIレジスタアクセスインタフェースレジスタアクセスインタフェースRAIは、内部データバスDataBusからDSPのデータレジスタレジスタRnをアクセスするためのインタフェース回路である。RAIは、制御論理回路CLに対してレジスタライトが行われたことを示すトリガ情報Triggerを送る。9CL制御論理回路制御論理回路CLは、DSPの動作全体を制御するブロックである。CLには、プログラムカウンタPCや、DSPの動作を設定するためのレジスタやスタータスを得るためのレジスタが含まれる。CLは、プログラムメモリPM内の命令を取り込み、デコードして実行する機能を持つ。各命令に応じてデータパスユニットDPUへの制御信号ControlSignalsを出力して演算処理を実行させることができる。このCLの中に、後述する図6に示すようなコントロール/ステータスレジスタDSPxTRGがあり、DSPのデータレジスタレジスタRnへのライトが行われたことを示すフラグなどが格納されている。このCLからは、割り込みイベント情報InterruptsEventsが出力される。以上1~9のように、本実施の形態のデジタルシグナルプロセッサDSPは、レジスタR0-R15とレジスタアクセスインタフェースRAIを含むレジスタファイルRFと、アキュムレータACCと乗算器MULと演算ユニットALUとシフタSFTと除算器DIVを含むデータパスユニットDPUと、プログラムメモリPMと制御論理回路CLを含むコントロールユニットCUなどから構成される。<マイコン製品>図4は、前述したデジタルシグナルプロセッサDSPを内蔵したマイコン製品の一例を示すブロック図である。マイコン製品は、前述した図1に示したようなA/D変換器ADCとデジタルシグナルプロセッサDSPとパルス幅変調器PWMとダイレクトメモリアクセスコントローラDMACの他、中央演算処理装置CPU、アービタARB、フラッシュメモリFLASH、ランダムアクセスメモリRAM、割り込みコントローラINTC、ウォッチドッグタイマWDT、リセットコントローラRC、パワーオンリセット回路POR、低電圧検出回路LVD、モードコントローラMC、クロックコントローラCC、位相同期回路PLL1、リングオシレータOSC、内部オシレータIRC、デバッガOCD、デバッガインタフェースDBGI/F、位相同期回路PLL2、割り込みタイマTM、シリアルバス回路I2C、サービスプロバイダインタフェースSPI、非同期送受信回路UART、コンパレータCMP、レギュレータRGL、D/A変換器DAC、基準電源回路VREF、温度センサTEMP、アナロググランド回路AGND、入出力回路GPIOなどを含んで構成される。このマイコン製品において、本実施の形態の特徴に関連するブロックでは、例えば、A/D変換器ADCなどから変換終了トリガをダイレクトメモリアクセスコントローラDMACが受け、A/D変換器ADCからデジタルシグナルプロセッサDSPにデータ転送し、さらに、デジタルシグナルプロセッサDSPが演算終了したトリガをダイレクトメモリアクセスコントローラDMACが受け、そして、デジタルシグナルプロセッサDSPからパルス幅変調器PWMにデータ転送するパスが設けられている。このマイコンによる動作を、デジタル制御電源であるDC-DCコンバータの制御に適用したときの構成が前述した図1であり、この動作のタイミングを示したのが前述した図2である。なお、このマイコン製品を構成する他のブロックCPU、ARB、FLASH、RAM、INTC、WDT、RC、POR、LVD、MC、CC、PLL1、OSC、IRC、OCD、DBGI/F、PLL2、TM、I2C、SPI、UART、CMP、RGL、DAC、VREF、TEMP、AGND、GPIOなどによる動作は、従来のマイコン製品の動作と基本的に同じであるので、ここでの説明は省略する。<デジタルシグナルプロセッサの命令コード>図5は、前述したデジタルシグナルプロセッサDSPの命令セットの命令コード表の一例を示す説明図である。この命令コード表には、命令フォーマットInstructionFormat、命令種別Instruction、動作内容Operation、実行サイクルExec.Cycleの情報が記録されている。命令形式には、最上位ビットMSBbit15から最下位ビットLSBbit0までの16ビットに、命令停止フラグTRIG_WAIT、ビットフィールドTRIG_WHAT、イベントビットEVENT、オペレーションコードOPCODE、命令フィールドAFIELDA、命令フィールドBFIELDBの情報がある。なお、TRIG_WAITは、命令停止フラグの他、TRIG_WAITフラグなどとも記載する。TRIG_WHATは、ビットフィールドの他、TRIG_WHATフィールドなどとも記載する。EVENTは、イベントビットの他、EVENTビットなどとも記載する。各命令の動作を、以下に説明する。ユーザは、あらかじめこの命令をプログラムメモリPM内に格納しておく。全命令は、トリガウェイト機能とイベント出力機能を持つ。10x0NOPこのNOP命令は、ノーオペレーション命令である。プログラムカウンタPCだけがインクリメントされる。20x1JMPこのJMP命令は、指定された番地4ビットにプログラムカウンタPCを変更しジャンプする。30x2MULこのMUL命令は、Rn16ビットとRm16ビットを乗算し、結果をアキュムレータACCの下位32ビットに格納する。アキュムレータACCの上位側4ビット分には乗算結果の符合ビットと同じ値が格納される。40x3MACこのMAC命令は、Rn16ビットとRm16ビットを乗算し、得られた結果を36ビット長に符号拡張したものをアキュムレータACC上の36ビット値に積算する。この積算加算処理中に、正方向側へのオーバーフローが発生した場合は積算結果を0x7_FFFF_FFFFに飽和させ、また負方向側へのオーバーフローが発生した場合は積算結果を0x8_0000_0000に飽和させる。50x4DIVこのDIV命令は、まず、Rm16ビットの逆数値を計算し、内部的に16ビット幅精度の値を生成する。そして、その結果16ビット幅精度をRn16ビットに乗算して、32ビット精度の値をアキュムレータACCに格納する。上位4ビットは符号拡張される。小数点位置については、プログラムの想定に基づくのみである。例えば、Rmの小数点位置がビット0とビット-1の間にある場合すなわち、Rmは純粋に整数値の場合は、Rmの逆数値1/Rmの小数点位置はビット15符号ビットとビット14の間になる。さらに、Rnの小数点位置がビット0とビット-1の間にある場合すなわち、Rnは純粋に整数値の場合は、このDIV命令のアキュムレータACCに入る最終結果の小数点位置はビット15とビット14の間に置かれる。ユーザが、DIV命令の演算結果をアキュムレータACCから取り出すときは、RSF命令を使ってアキュムレータACC上の任意位置の16ビット幅を切り出してレジスタファイルRFに格納する。DSP命令のうち、DIV命令だけがマルチサイクル命令実行サイクル数が複数サイクルである。60x5LSFこのLSF命令は、Rmがnビットだけ左シフトされ、その値をアキュムレータACCに格納する。左シフト操作は乗算器MULによる乗算演算で実現する。アキュムレータACCの上位側フィールドは符号拡張で埋められる。アキュムレータACCの下位側フィールドは0で埋められる。70x6RSFこのRSF命令は、アキュムレータACC36ビットがnビットだけ右シフトされ、その結果をレジスタファイルRFのRmに格納する。この意味は、RSF命令はアキュムレータACCから36ビット幅データを受け取り、そのうちの16ビット幅のフィールドをクリップして切り出して16ビット幅データとしてRmに格納する、ということである。このクリップ操作右シフト操作においてオーバーフローが発生する可能性があるが、この場合は飽和された結果が生成される。また同時に、最下位ビットLSBは最近傍値に丸められる。80x7MVCこのMVC命令は、レジスタファイルRF内の複数のレジスタ間でチェーン結合方式でデータ転送するもので、デジタルフィルタの遅延素子の実装に適するものである。チェーン結合される対象レジスタは番号が連続するものに限る。命令フィールド上のmとnの値に応じて、RmはRm-1からデータを受け取り、Rm-1はRm-2からデータを受け取り、他も同様である。同時に、Rn2はRn1からデータを受け取り、Rn1はRnからデータを受け取る。Rm内の初期値は破壊され、Rnの値はそのまま維持される。ユーザがm<=nを指定したら、この命令はNOP命令と等価な動きとなる。以上1~8のような各命令による機能を有して、本実施の形態のデジタルシグナルプロセッサDSPは動作する。<コントロール/ステータスレジスタ>図6は、前述したデジタルシグナルプロセッサDSP内の制御論理回路CLに内蔵されるコントロール/ステータスレジスタの一例を示す説明図である。コントロール/ステータスレジスタとして、DSPxTRGDSPxExecutionTriggerStatusRegister、xはDSPのチャネルがあり、ビット番号Bit、ビット名称BitName、リード/ライト区分R/W、初期値Initial、記述Description、注釈Noteなどの情報から構成される。図6の例では、DSPの0チャネルのDSP0TRG、DSPの1チャネルのDSP1TRGの例を図示している。このDSPxTRGにおいて、DSPのレジスタファイルRFのうちのいずれかひとつのレジスタRnにライトしたら、このレジスタRnに対応するフラグTRGnがセットされるSET_Rn、Rn=R0~R7。この各レジスタR0~R7に対応するフラグTRGnは、それぞれ、SET_R0~SET_R7である。<デジタルシグナルプロセッサの動作>図7は、前述したデジタルシグナルプロセッサDSPの命令起動動作タイミングの一例を示す説明図である。DSPの命令起動動作を以下に示す。この命令起動動作を含むDSPの動作全体は、DSPに内蔵される制御論理回路CLにより制御される。図7では、命令AINSTRA、命令BINSTRB、命令CINSTRC、命令DINSTRDを順に実行する例を示す。各命令は、INSTRAがTRIG_WAIT=0、TRIG_WHAT=x、INSTRBがTRIG_WAIT=0、TRIG_WHAT=x、INSTRCがTRIG_WAIT=1、TRIG_WHAT=3、INSTRDがTRIG_WAIT=0、TRIG_WHAT=xの設定となっている。1ユーザは、前もって以下のようにDSPをコンフィギュレーションしておく。プログラムメモリPM内に命令シーケンス命令列を書き込む。レジスタファイルRF内の複数のレジスタR0-R15内に初期値を設定する係数や遅延素子の初期値。プログラムカウンタPCの初期値を設定するプログラムの開始位置の設定。2DSP全体の動作を有効化する。たとえば、詳細は明記しないが、専用レジスタ内にDSPイネーブルビットDSPEがあって、それを0から1にセットすることでDSPの動作が始まる。3DSPの命令シーケンスが起動し、PCの初期値の位置から命令が順番に実行される。ただし、各命令フィールド内のTRIG_WAITフラグ図5がセットされていたら、当該命令はその実行の前に停止し、対応するトリガ入力を待つ。停止中の命令の命令フィールド内のTRIG_WHATフィールド3ビットに対応する番号のレジスタRnR0-R7のいずれかにライト操作が行われたら、それを再開トリガとして停止していた命令の実行が行われ、実行命令がPCの次のアドレスに移行する。4命令再開のためのトリガ状況は、図6に示す専用レジスタDSPxTRGに表示されるxはDSPのチャネルを示し、DSPが2個入っている製品ではx=0および1である。例えば、図7の上側に記述されているように、実行前で停止中の命令がCPUまたはDMACによりR3にデータが書き込まれるupdatedwrittenのを待っているとする。これは、すなわち当該命令の命令フィールド内でTRIG_WAIT=1、TRIG_WAIT=3になっている状況である。命令実行制御として、もしDSPxTRGレジスタのSET_R3ビットが0なら、その命令は実行前に停止状態を維持し、一旦DSPまたはDMACがR3に値をライトしたら、SET_R3ビットが自動セットautosetされ、停止していた命令の実行が開始する。このとき、SET_R3ビットは自動クリアautoclearされる。ここで注意すべき点は、DSP動作中にCPUはDSPxTRGレジスタをアクセスしたり監視したりする必要はないことである。ただし、デバッグの際やDSP全体処理の再初期化などの際は、CPUによるリード監視やライト初期化を行う。なお、図7の下側に記述されているように、ある命令に停止再開トリガが設定されていて、その命令を実行する前までにDSPxTRGレジスタの対応するビットがセットされていたらあらかじめトリガ条件が成立していたら当該命令は停止せず、そのまま実行される。DSPxTRGレジスタの対応ビットは自動クリアされる。5DSPが命令シーケンスを実行中に、もしPCが最終アドレス0xFに到達したら、PCは0x0にリワインドされ、DSPによる命令シーケンスは継続される。6命令フィールド内のEVENTビットが1にセットされている命令を実行終了したら、DSPはそのモジュール外に対して、イベント信号や割り込み信号を出力することができる。7DSPをデバッグするために、DSPをデバッグモードに設定することができる。これは、前述した図4に示すデバッガOCD内の専用レジスタの専用ビットDSP_DBGをセットすることで設定できる。このデバッグモードでは、同専用レジスタの専用ビットDSP_STEPに1ライトするたびに命令列を1個ずつステップ実行できる。このデバッグモードでは、命令フィールド内のTRIG_WAITフラグがセットされていて命令再開トリガ条件が成立していなくてもDSPxTRGレジスタの当該ビットが0でも、DSP_STEPに1ライトすれば当該命令はステップ実行する。以上1~7のように、命令起動動作を含むDSPの動作全体は、このDSPに内蔵される制御論理回路CLにより制御することができる。<実施の形態の効果>以上説明した本実施の形態によれば、デジタルシグナルプロセッサDSPにおいて、プログラムメモリPM、プログラムカウンタPC、制御論理回路CL、複数のレジスタRnなどを有し、また、このDSPを内蔵したマイコンMCUにおいて、A/D変換器ADC、デジタルシグナルプロセッサDSP、パルス幅変調器PWM、ダイレクトメモリアクセスコントローラDMAC、中央演算処理装置CPUなどを有することで、以下のような効果を得ることができる。1各命令のビットフィールド内にTRIG_WAITフラグとTRIG_WHATフィールドとを持つことにより、制御論理回路CLは、TRIG_WAITフラグがクリアされている命令はそのまま実行し、次の命令処理に進むように制御することができる。また、制御論理回路CLは、TRIG_WAITフラグがセットされている命令は、TRIG_WHATフィールドに対応する実行再開トリガ条件が成立していなければその実行を行わずに停止し、一方、TRIG_WHATフィールドに対応する実行再開トリガ条件が成立していればその実行を行い、次の命令処理に進むように制御することができる。2前記1に加えて、さらに、各命令のビットフィールド内のTRIG_WHATフィールドが複数のレジスタRnのうちどのレジスタへの書き込みをトリガ条件とするかを意味することにより、制御論理回路CLは、TRIG_WAITフラグがクリアされている命令はそのまま実行し、プログラムカウンタPCを更新して次の命令処理に進むように制御することができる。また、制御論理回路CLは、TRIG_WAITフラグがセットされている命令は、TRIG_WHATフィールドに対応する実行再開トリガ条件が成立していなければその実行を行わずに停止し、一方、TRIG_WHATフィールドに対応する実行再開トリガ条件が成立していればその実行を行い、プログラムカウンタPCを更新して次の命令処理に進むように制御することができる。3前記2に加えて、さらに、複数のレジスタRnの個々のレジスタに対応するフラグTRGnSET_Rnを持ち、他の演算処理装置が複数のレジスタRnのうちのいずれかひとつの第1レジスタRnにライトしたら対応する第1フラグTRGnがセットされることにより、制御論理回路CLは、TRIG_WAITフラグがセットされ、かつ、TRIG_WHATフィールドが第1レジスタRnへのライトを再開トリガとすることを示す命令は、第1フラグTRGnがクリアされていたらその実行を行わずに停止し、その後、第1フラグTRGnがセットされたら実行を行い、第1フラグTRGnをクリアしてプログラムカウンタPCを更新して次の命令処理に進むように制御することができる。一方、制御論理回路CLは、TRIG_WAITフラグがセットされ、かつ、TRIG_WHATフィールドが第1レジスタRnへのライトを再開トリガとすることを示す命令は、第1フラグTRGnがセットされていたらそのまま実行し、第1フラグTRGnをクリアしてプログラムカウンタPCを更新して次の命令処理に進むように制御することができる。4前記2に加えて、さらに、各命令のビットフィールド内にEVENTビットを持つことにより、制御論理回路CLは、EVENTビットがセットされた命令の実行が行われたらプログラムカウンタPCを更新して次の命令処理に進むとともに、外部に割り込み信号またはトリガパルス信号を出力するように制御することができる。5前記1~4により、ダイレクトメモリアクセスコントローラDMACはA/D変換器ADCの変換終了トリガによって、予め決められたデジタルシグナルプロセッサDSPのデータレジスタRnにデータをライトすることができるので、DSPの命令シーケンス内で入力データが必要になるところまで命令シーケンスを実行しておき、DSPのデータレジスタにデータがライトされるまで命令実行を止め、DSPのデータレジスタにデータが準備されたら命令実行を再開することができる。また、複数の入力データが必要な場合でも、その都度、命令シーケンスを一旦停止するようにしておくことによって、任意のDSPのシーケンスの中で任意個数、任意順序で必要なデータが集めながら演算処理を実行していくことができる。6前記5により、DSPの演算が終了した時点でDMACにイベントを送り、DMACに演算結果をDSPのデータレジスタからPWMのデューティレジスタに転送させることもできる。この一連の動作のADCの変換開始トリガを、例えばPWMの周期イベント信号にしておけば、CPUの介在なく、ADC、DSP、PWM、DMACの間で自動的に入力演算出力の各処理を行わせることができ、例えばDC-DCコンバータのデジタル電源のデジタルフィルタ演算を伴うフィードバック処理を自動的に実行させることができ、CPUはそれ以外のシステム処理に集中することができる。これにより、システム処理とフィルタ処理との双方の負荷を軽くすることができ、消費電力の向上や性能の向上を図ることができる。<実施の形態の変形例>前記実施の形態では、デジタルシグナルプロセッサDSPのデータレジスタへのライトが命令再起動条件としていたが、DSPのデータレジスタからのリードを命令再起動条件とする例もあり得る。この場合、演算結果が格納されているDSPのデータレジスタを読み出さないでいても、その結果値がオーバーライトされ、消えてしまうことを防ぐことができる。以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。"