説明

演算処置装置およびマイクロコンピュータ

【課題】システム処理とフィルタ処理の双方の負荷を軽くすることができ、消費電力の向上や性能の向上を図ることが可能な技術を提供する。
【解決手段】デジタル・シグナル・プロセッサDSPにおいて、プログラム・メモリPM、プログラム・カウンタPC、制御論理回路CLを有し、各命令のビット・フィールド内には、命令停止フラグ情報(TRIG_WAIT)とビット・フィールド情報(TRIG_WHAT)とを持つ。そして、制御論理回路CLは、TRIG_WAITがクリアされている命令はそのまま実行し、次の命令処理に進み、TRIG_WAITがセットされている命令は、TRIG_WHATに対応する実行再開トリガ条件が成立していなければその実行を行わずに停止し、TRIG_WHATに対応する実行再開トリガ条件が成立していればその実行を行い、次の命令処理に進む、ように制御する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、演算処理装置の技術に関し、特に、デジタル制御電源向けマイクロコンピュータ(以下、単にマイコンとも記す)に内蔵するデジタル・シグナル・プロセッサ(DSP:Digital Signal Processor)などの演算処理装置、およびこれを内蔵したマイコンに適用して有効な技術に関する。
【背景技術】
【0002】
例えば、デジタル制御電源向けマイコンにおいて、デジタル制御電源では、そのフィードバック制御ループ内の位相補償計算用にデジタル・フィルタ演算機能が必要で、CPUコアに一般的なDSPが持つ積和演算命令を持たせており、フィルタ演算とシステム的な処理を同一のコアで実行させている。このようなデジタル制御電源向けマイコンとして、例えば非特許文献1〜3などがある。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】著者:Microchip Technology Inc.、表題:dsPIC33F Family Reference Manual Part 1、章:Section2 CPU、ページ:Page2-1、文献No.:DS70204B、媒体:[online]、発行年:2009年、検索日:[2011年7月7日]、情報源:インタネット<http://ww1.microchip.com/downloads/en/DeviceDoc/70204B.pdf>
【非特許文献2】著者:Texas Instruments Inc.、表題:TMS320F28030, TMS320F28031, TMS320F28032, TMS320F28033, TMS320F28034, TMS320F28035 Piccolo Microcontrollers、章:3.3 Brief Descriptions、ページ:Page27-34、文献No.:SPRS584E-APRIL 2009-REVISED MARCH 2011、媒体:[online]、発行年:2009年4月、2011年3月改定、検索日:[2011年7月7日]、情報源:インタネット<http://focus.tij.co.jp/jp/lit/ds/symlink/tms320f28030.pdf>
【非特許文献3】著者:新日本無線株式会社、表題:NJU20010 デジタル電源制御用DSC、章:4. Ximo16 アーキテクチャ概要、ページ:Page16-23、文献No.:Ver.2010.6.30、媒体:[online]、発行年:2010年6月30日、検索日:[2011年7月7日]、情報源:インタネット<http://semicon.njr.co.jp/digital-power-control/index.html>
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、前述した非特許文献1〜3などを含む従来のデジタル制御電源向けマイコンに関して、本発明者が検討した結果、以下のようなことが明らかとなった。
【0005】
例えば、デジタル制御電源内のシステム的な処理には、異常検知、保護処置、外部との通信、ログ記録など多岐に渡る。この中でフィルタ演算をこなしていくため、処理性能を確保するには、CPUコアの動作周波数を上げるなどの性能向上策が必要になる。これは、自己消費電力を増大させ、低負荷時の電源の電力効率を低下させることに繋がる。
【0006】
一方、CPU性能がネックになるケースでは、制御周期が長くなることによって、電源コンバータ回路のパワーMOSトランジスタを駆動するパルス幅変調(PWM:Pulse Width Modulation)波形の周期が短くならない問題が発生する。こうなると、外部電源回路上のLCフィルタ回路の定数が大きくなり、電源ユニットのサイズも大きくかつコスト高になる問題が生じる。
【0007】
そこで、本発明者は、上述のような問題点に鑑みて、デジタル制御電源のフィードバック制御ループ内の位相補償計算用にデジタル・フィルタ演算機能を持つ小規模なDSPを内蔵して、このDSPはCPUとは独立して並行して動作可能なものとし、その起動方法について見出した。
【0008】
そこで、本発明の代表的な目的は、システム処理とフィルタ処理の双方の負荷を軽くすることができ、消費電力の向上や性能の向上を図ることが可能な技術を提供することにある。
【0009】
本発明の前記ならびにその他の目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【0010】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次のとおりである。
【0011】
(1)代表的な演算処理装置は、演算処理シーケンスを命令の列として格納するプログラム・メモリと、前記演算処理シーケンスを実行中の命令の位置を示すプログラム・カウンタと、前記プログラム・カウンタを含み、前記演算処理シーケンスを実行中の命令に基づいて演算処理を制御する制御論理回路とを有し、以下のような特徴を有するものである。
【0012】
前記演算処理シーケンスの各命令のビット・フィールド内には、その命令の実行を停止するかどうかを示す命令停止フラグ情報と、その命令の実行再開トリガ条件を示すビット・フィールド情報とを持つ。そして、前記制御論理回路は、前記命令停止フラグ情報がクリアされている命令はそのまま実行し、次の命令処理に進み、前記命令停止フラグ情報がセットされている命令は、前記ビット・フィールド情報に対応する実行再開トリガ条件が成立していなければその実行を行わずに停止し、前記命令停止フラグ情報がセットされている命令は、前記ビット・フィールド情報に対応する実行再開トリガ条件が成立していればその実行を行い、次の命令処理に進む、ように制御する。
【0013】
(2)代表的なマイコンは、デジタル制御電源からの電圧信号をA/D変換するA/D変換器と、前記A/D変換器からのデータをフィルタ演算する演算処理装置と、前記デジタル制御電源のパワーMOSトランジスタを駆動するPWM波形のデューティを求めるパルス幅変調器と、前記A/D変換器から前記演算処理装置へデータ転送し、前記演算処理装置から前記パルス幅変調器へデータ転送するダイレクト・メモリ・アクセス・コントローラと、システム処理を行う中央演算処理装置とを有し、以下のような特徴を有するものである。
【0014】
前記演算処理装置によるフィルタ演算と前記中央演算処理装置によるシステム処理とを独立して並行に実行可能であり、前記演算処理装置は、前記(1)のような構成を有し、そして、前記制御論理回路は、前記(1)のように制御する。
【発明の効果】
【0015】
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下のとおりである。
【0016】
すなわち、代表的な効果は、システム処理とフィルタ処理の双方の負荷を軽くすることができ、消費電力の向上や性能の向上を図ることが可能となる。
【図面の簡単な説明】
【0017】
【図1】本発明の一実施の形態のマイコンによるDC−DCコンバータの制御の一例を示すブロック図である。
【図2】本発明の一実施の形態のマイコンによるDC−DCコンバータの制御の一例を示すタイミング図である。
【図3】本発明の一実施の形態のマイコンに内蔵されるデジタル・シグナル・プロセッサの一例を示すブロック図である。
【図4】本発明の一実施の形態のデジタル・シグナル・プロセッサを内蔵したマイコン製品の一例を示すブロック図である。
【図5】本発明の一実施の形態のデジタル・シグナル・プロセッサの命令セットの命令コード表の一例を示す説明図である。
【図6】本発明の一実施の形態のデジタル・シグナル・プロセッサ内の制御論理回路に内蔵されるコントロール/ステータス・レジスタの一例を示す説明図である。
【図7】本発明の一実施の形態のデジタル・シグナル・プロセッサの命令起動動作タイミングの一例を示す説明図である。
【発明を実施するための形態】
【0018】
以下の実施の形態においては、便宜上その必要があるときは、複数の実施の形態またはセクションに分割して説明するが、特に明示した場合を除き、それらは互いに無関係なものではなく、一方は他方の一部または全部の変形例、詳細、補足説明等の関係にある。また、以下の実施の形態において、要素の数等(個数、数値、量、範囲等を含む)に言及する場合、特に明示した場合および原理的に明らかに特定の数に限定される場合等を除き、その特定の数に限定されるものではなく、特定の数以上でも以下でも良い。
【0019】
さらに、以下の実施の形態において、その構成要素(要素ステップ等も含む)は、特に明示した場合および原理的に明らかに必須であると考えられる場合等を除き、必ずしも必須のものではないことは言うまでもない。同様に、以下の実施の形態において、構成要素等の形状、位置関係等に言及するときは、特に明示した場合および原理的に明らかにそうでないと考えられる場合等を除き、実質的にその形状等に近似または類似するもの等を含むものとする。このことは、上記数値および範囲についても同様である。
【0020】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。
【0021】
[実施の形態の概要]
本発明の実施の形態の演算処理装置(一例として、()内に対応する構成要素、符号等を付記)は、演算処理シーケンスを命令の列として格納するプログラム・メモリ(PM)と、前記演算処理シーケンスを実行中の命令の位置を示すプログラム・カウンタ(PC)と、前記プログラム・カウンタを含み、前記演算処理シーケンスを実行中の命令に基づいて演算処理を制御する制御論理回路(CL)とを有する演算処理装置(デジタル・シグナル・プロセッサDSP)である。
【0022】
以上の構成において、前記演算処理シーケンスの各命令のビット・フィールド内には、その命令の実行を停止するかどうかを示す命令停止フラグ情報(TRIG_WAIT)と、その命令の実行再開トリガ条件を示すビット・フィールド情報(TRIG_WHAT)とを持つ。そして、前記制御論理回路は、前記命令停止フラグ情報がクリアされている命令はそのまま実行し、次の命令処理に進み、前記命令停止フラグ情報がセットされている命令は、前記ビット・フィールド情報に対応する実行再開トリガ条件が成立していなければその実行を行わずに停止し、前記命令停止フラグ情報がセットされている命令は、前記ビット・フィールド情報に対応する実行再開トリガ条件が成立していればその実行を行い、次の命令処理に進む、ように制御する。
【0023】
さらに望ましくは、前記演算処理装置は、前記演算処理シーケンスのための演算データを格納する複数のレジスタ(Rn)を有し、前記複数のレジスタは、他の演算処理装置のバスにも接続され、外部からの書き込み(すなわち値の更新)が可能である。前記ビット・フィールド情報は、前記複数のレジスタのうちどのレジスタへの書き込みをトリガ条件とするかを意味する。そして、前記制御論理回路は、前記命令停止フラグ情報がクリアされている命令はそのまま実行し、前記プログラム・カウンタを更新して次の命令処理に進み、前記命令停止フラグ情報がセットされている命令は、前記ビット・フィールド情報に対応する実行再開トリガ条件が成立していなければその実行を行わずに停止し、前記命令停止フラグ情報がセットされている命令は、前記ビット・フィールド情報に対応する実行再開トリガ条件が成立していればその実行を行い、前記プログラム・カウンタを更新して次の命令処理に進む、ように制御する。
【0024】
さらに望ましくは、前記演算処理装置は、前記複数のレジスタ(Rn)の個々のレジスタに対応するフラグ情報(TRGn:SET_Rn)を持ち、前記他の演算処理装置が前記複数のレジスタのうちのいずれかひとつの第1レジスタ(Rn、例えばn=0)にライトしたら対応する第1フラグ情報(TRGn、例えばn=0)がセットされる。そして、前記制御論理回路は、前記命令停止フラグ情報がセットされ、かつ、前記ビット・フィールド情報が前記第1レジスタへのライトを再開トリガとすることを示す命令は、前記第1フラグ情報がクリアされていたらその実行を行わずに停止し、その後、前記第1フラグ情報がセットされたら実行を行い、前記第1フラグ情報をクリアして前記プログラム・カウンタを更新して次の命令処理に進み、前記命令停止フラグ情報がセットされ、かつ、前記ビット・フィールド情報が前記第1レジスタへのライトを再開トリガとすることを示す命令は、前記第1フラグ情報がセットされていたらそのまま実行し、前記第1フラグ情報をクリアして前記プログラム・カウンタを更新して次の命令処理に進む、ように制御する。
【0025】
さらに望ましくは、前記演算処理シーケンスの各命令のビット・フィールド内には、外部への割り込み出力を示すイベント情報(EVENT)を持つ。そして、前記制御論理回路は、前記イベント情報がセットされた命令の実行が行われたら前記プログラム・カウンタを更新して次の命令処理に進むとともに、外部に割り込み信号またはトリガ・パルス信号を出力する、ように制御する。
【0026】
また、本発明の実施の形態の演算処理装置を内蔵したマイコンは、デジタル制御電源からの電圧信号をA/D変換するA/D変換器(ADC)と、前記A/D変換器からのデータをフィルタ演算する演算処理装置(デジタル・シグナル・プロセッサDSP)と、前記デジタル制御電源のパワーMOSトランジスタを駆動するPWM波形のデューティを求めるパルス幅変調器(PWM)と、前記A/D変換器から前記演算処理装置へデータ転送し、前記演算処理装置から前記パルス幅変調器へデータ転送するダイレクト・メモリ・アクセス・コントローラ(DMAC)と、システム処理を行う中央演算処理装置(CPU)とを有する。前記演算処理装置によるフィルタ演算と前記中央演算処理装置によるシステム処理とを独立して並行に実行可能であり、前記演算処理装置は、前記のような構成を有し、そして、前記制御論理回路は、前記のように制御する。
【0027】
以上説明した実施の形態の概要に基づいた実施の形態を、以下において具体的に説明する。以下に説明する実施の形態は本発明を用いた一例であり、本発明は以下の実施の形態により限定されるものではない。
【0028】
[実施の形態]
本発明の一実施の形態を、図1〜図7を用いて説明する。
【0029】
<マイコンによるDC−DCコンバータの制御>
図1は、本実施の形態のマイコンによるDC−DCコンバータの制御の一例を示すブロック図である。本実施の形態において、マイコンとは、マイクロコンピュータの他、マイクロ・コントローラ・ユニットなども含むものであり、ここでは符号としてMCUを用いる。
【0030】
マイコンMCUは、入力電圧信号などをA/D変換するA/D変換器ADCと、このA/D変換器ADCからのデータをフィルタ演算するデジタル・シグナル・プロセッサDSPと、DC−DCコンバータのパワーMOSトランジスタを駆動するPWM波形のデューティを求めるパルス幅変調器PWMなどを主に含んで構成される。このマイコンMCUの製品は、図4において後述する。
【0031】
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からの出力信号が入力される。
【0032】
以上のような構成において、マイコンMCUによるDC−DCコンバータのフィードバック制御ループ処理の流れは、以下のようになる。一例として、このマイコンMCUによるDC−DCコンバータの制御の一例を示すタイミング図である図2を用いて補足する。図2は、In−Cycle、2MHzの例である。
【0033】
まず、入力電圧信号などをA/D変換器ADCでA/D変換(0.25μs)し、そのデータをデジタル・シグナル・プロセッサDSPでフィルタ演算(0.2μs)して、DC−DCコンバータのパワーMOSトランジスタM1,M2を駆動するPWM波形のデューティをパルス幅変調器PWMで求め、このデューティをパルス幅変調器PWM内のPWMタイマに設定(0.05μs)する。
【0034】
本実施の形態においては、上記のA/D変換からPWMタイマ設定までの流れについては、マイコンMCU内の中央演算処理装置CPUの介在なく、A/D変換器ADCとデジタル・シグナル・プロセッサDSPとパルス幅変調器PWMのハードウェアだけで処理が進むようにしている。このため、システム的な処理を行うCPUと、フィルタ演算を実行するDSPとを独立させ、並行に動作させる構成を採用している。これにより、システム処理とフィルタ処理との双方の負荷を軽くすることができ、消費電力の向上や性能の向上を図ることができる。
【0035】
図1に示した構成要素以外の構成として、ダイレクト・メモリ・アクセス・コントローラ(DMAC:Direct Memory Access Controller)としての機能を持つモジュールを配置し、A/D変換器ADCが変換終了したら、DMACが自動的にA/D変換器ADCの変換結果レジスタからデジタル・シグナル・プロセッサDSPのデータ・レジスタにデータを転送し、DSPの演算シーケンスを起動させ、DSPの演算シーケンスが終了したら、同様にDMACがその結果データをPWMタイマのデューティ設定レジスタに転送する方式を採用している。
【0036】
本実施の形態においては、以上のような構成および方式を採用し、特に、以下のような制御を行うことを特徴としている。詳細は、図3〜図7などを用いて後述する。
【0037】
デジタル・シグナル・プロセッサDSP内には、予めフィルタ演算のためのシーケンスを命令列として記述したものを保持しておく。すなわち、DSP専用のプログラム・メモリ(PM)に命令シーケンスが格納されている。このプログラムをいつ起動するかのトリガとしては、上記処理の流れに沿えばA/D変換器ADCの変換結果データのDMACによるDSPのデータ・レジスタ(Rn)へのライトが考えられる。ただし、DSPの処理シーケンスで使用する入力データは一つとは限らない。電源フィードバック制御では、電圧値と電流値を同時に計算に使用する場合や、複数の電圧値を比較する場合などがある。
【0038】
デジタル・シグナル・プロセッサDSP内の命令シーケンスは電源方式に応じて任意であり、シーケンス中で使用される入力データの個数、到着順序、タイミングは一定とは限らない。このため、DSPの処理の起動トリガには工夫が必要である。
【0039】
本実施の形態では、デジタル・シグナル・プロセッサDSPの命令シーケンスの起動は、基本的にはDSPのデータ・レジスタ(Rn)へのデータ・ライト動作をトリガにするが、(1)DSPのデータ・レジスタの個数分のフラグ(TRGn:SET_Rn)を設け、そのフラグは対応するDSPのデータ・レジスタがライトされたらセットされることとし、(2)命令コード内にDSPのデータ・レジスタへのライトが来るまでその命令実行を待つことを示す情報、すなわち命令コード内にDSPのデータ・レジスタへのライトが実行されたらその命令から再起動することを示すトリガ・ビット(TRIG_WAIT)と、どのDSPのデータ・レジスタへのライトが命令の再起動をさせるかのDSPのデータ・レジスタ番号フィールド(TRIG_WHAT)を設け、(3)DSPのデータ・レジスタへのデータ・ライト動作を待つ命令がデコードされたら前記フラグをチェックし続けることとし、(4)当該の前記フラグがセットされ、命令再起動条件が成立したら当該前記フラグを自動クリアし、命令実行を再開する、という方式を採る。
【0040】
命令シーケンスが完了し、演算結果が準備できたら、DMACにイベント信号を送り、DMACにDSPのデータ・レジスタをリードさせ、演算結果をPWMタイマのデューティ設定レジスタに転送する。このために、命令コード内に、DMACへのイベント信号を出力することを示すイベント・ビット(EVENT)を設ける。このイベント・ビットがセットされた命令を実行完了した時点でDMACにイベント信号を送る。
【0041】
前記のような構成によれば、ダイレクト・メモリ・アクセス・コントローラDMACはA/D変換器ADCの変換終了トリガによって、予め決められたデジタル・シグナル・プロセッサDSPのデータ・レジスタにデータをライトすることができるから、DSPの命令シーケンス内で入力データが必要になるところまで命令シーケンスを実行しておき、DSPのデータ・レジスタにデータがライトされるまで命令実行を止め、DSPのデータ・レジスタにデータが準備されたら命令実行を再開することができる。また、複数の入力データが必要な場合でも、その都度、命令シーケンスを一旦停止するようにしておけばよい。これによって、任意のDSPのシーケンスの中で任意個数、任意順序で必要なデータが集めながら演算処理を実行していくことができる。
【0042】
<デジタル・シグナル・プロセッサ>
図3は、前述したマイコンMCUに内蔵されるデジタル・シグナル・プロセッサDSPの一例を示すブロック図である。
【0043】
デジタル・シグナル・プロセッサDSPは、マイコンMCU内で中央演算処理装置CPUとは独立したモジュールとして存在し、以下のリソースから構成されている。このDSP内の演算は、すべて固定小数点形式で行う。また、内部的には整数演算を行うのみであり、小数点の位置はユーザ(プログラマ)が自由に想定してよい。
【0044】
(1)R0−R15(レジスタ)
DSPには、16本の16ビット汎用レジスタRn(n=0,1,2,…,15)から構成されるレジスタ・ファイルRFがある。このレジスタRnは、DSP演算時の係数値の記憶や、デジタル・フィルタの遅延素子としての内部メモリとして使うことができる。Rnは、CPUまたはDMACからリード・ライト可能な内部バス(Data Bus)に接続されている。Rnは、以下で説明するMUL、DIVの入力ポートに接続されている。また、Rnは、以下で説明するACCからSFT経由でデータを受け取ることができる。
【0045】
(2)ACC(アキュムレータ)
DSPのデータ・パス・ユニットDPUには、1本の36ビット長アキュムレータACCがあり、積算演算結果を記憶する。ACCは、ALU、MUL、DIVから計算結果を受け取る。ACCは、CPUバス(Data Bus)からアクセスすることもできる。ACC上での積算演算中にオーバーフローが発生した場合は、演算結果は正の最大値か負の最小値に飽和される。
【0046】
(3)MUL(乗算器)
DSPのデータ・パス・ユニットDPUには、1個の乗算器MULがあり、基本的に16ビット×16ビットの乗算を行う。MULは、Rnからデータを受け取り、ALUまたはACCに対して演算結果を出力する。
【0047】
(4)ALU(演算ユニット)
DSPのデータ・パス・ユニットDPUには、1個の演算ユニットALUがあり、基本的に36ビット+36ビット→36ビットの加算演算を行う。
【0048】
(5)SFT(シフタ)
DSPのデータ・パス・ユニットDPUには、1個のシフタSFTがあり、右シフトだけの機能を持つ。SFTは、36ビット幅のデータをACCから受け取り、入力値のうちの16ビット幅の部分をクリップし(切り出し)、Rnに対して16ビット幅データを出力する。このクリップ操作は右シフト操作と等価であり、オーバーフローが発生する可能性がある。オーバーフローが発生する場合は、SFTが出力する値は正の最大値か負の最小値に飽和される。また、このクリップ操作(右シフト操作)において、最下位ビット(LSB)は最近傍値に丸められる。
【0049】
(6)DIV(除算器)
DSPのデータ・パス・ユニットDPUには、1個の除算器DIVがあり、「Rn(16ビット精度)÷Rm(16ビット精度)→16ビット精度×(1/16ビット精度)→16ビット精度×16ビット精度→ACC(32ビット精度)」という演算を行う。除算アルゴリズムは、まず、ニュートン・ラプソン法に基づきRmの逆数を求めてから、Rnを乗じて最終結果を得ている。内部的には除算専用のハードウェアは存在せず、除算操作は内部の他のリソース(MUL、ALU、ACCなど上述されたもの)を使用している。
【0050】
(7)PM(プログラム・メモリ)
DSP内の実行シーケンスを設定するために、DSPのコントロール・ユニットCUは、小さいサイズのプログラム・メモリPMを内蔵している。PMのサイズは、16ビット幅×16ワードである。各命令の長さは、16ビット幅固定である。このPMは、最大で16ステップの命令だけを記憶できる。
【0051】
(8)RAI(レジスタ・アクセス・インタフェース)
レジスタ・アクセス・インタフェースRAIは、内部データバス(Data Bus)からDSPのデータ・レジスタ(レジスタRn)をアクセスするためのインタフェース回路である。RAIは、制御論理回路CLに対してレジスタ・ライトが行われたことを示すトリガ情報(Trigger)を送る。
【0052】
(9)CL(制御論理回路)
制御論理回路CLは、DSPの動作全体を制御するブロックである。CLには、プログラム・カウンタPCや、DSPの動作を設定するためのレジスタやスタータスを得るためのレジスタが含まれる。CLは、プログラム・メモリPM内の命令を取り込み、デコードして実行する機能を持つ。各命令に応じてデータ・パス・ユニットDPUへの制御信号(Control Signals)を出力して演算処理を実行させることができる。このCLの中に、後述する図6に示すようなコントロール/ステータス・レジスタ(DSPxTRG)があり、DSPのデータ・レジスタ(レジスタRn)へのライトが行われたことを示すフラグなどが格納されている。このCLからは、割り込みイベント情報(Interrupts Events)が出力される。
【0053】
以上(1)〜(9)のように、本実施の形態のデジタル・シグナル・プロセッサDSPは、レジスタR0−R15とレジスタ・アクセス・インタフェースRAIを含むレジスタ・ファイルRFと、アキュムレータACCと乗算器MULと演算ユニットALUとシフタSFTと除算器DIVを含むデータ・パス・ユニットDPUと、プログラム・メモリPMと制御論理回路CLを含むコントロール・ユニットCUなどから構成される。
【0054】
<マイコン製品>
図4は、前述したデジタル・シグナル・プロセッサDSPを内蔵したマイコン製品の一例を示すブロック図である。
【0055】
マイコン製品は、前述した図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などを含んで構成される。
【0056】
このマイコン製品において、本実施の形態の特徴に関連するブロックでは、例えば、A/D変換器ADCなどから変換終了トリガをダイレクト・メモリ・アクセス・コントローラDMACが受け、A/D変換器ADCからデジタル・シグナル・プロセッサDSPにデータ転送し、さらに、デジタル・シグナル・プロセッサDSPが演算終了したトリガをダイレクト・メモリ・アクセス・コントローラDMACが受け、そして、デジタル・シグナル・プロセッサDSPからパルス幅変調器PWMにデータ転送するパスが設けられている。このマイコンによる動作を、デジタル制御電源であるDC−DCコンバータの制御に適用したときの構成が前述した図1であり、この動作のタイミングを示したのが前述した図2である。
【0057】
なお、このマイコン製品を構成する他のブロック(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など)による動作は、従来のマイコン製品の動作と基本的に同じであるので、ここでの説明は省略する。
【0058】
<デジタル・シグナル・プロセッサの命令コード>
図5は、前述したデジタル・シグナル・プロセッサDSPの命令セットの命令コード表の一例を示す説明図である。
【0059】
この命令コード表には、命令フォーマット(Instruction Format)、命令種別(Instruction)、動作内容(Operation)、実行サイクル(Exec. Cycle)の情報が記録されている。命令形式には、最上位ビットMSB(bit15)から最下位ビットLSB(bit0)までの16ビットに、命令停止フラグ(TRIG_WAIT)、ビット・フィールド(TRIG_WHAT)、イベント・ビット(EVENT)、オペレーションコード(OPCODE)、命令フィールドA(FIELD A)、命令フィールドB(FIELD B)の情報がある。
【0060】
なお、TRIG_WAITは、命令停止フラグの他、TRIG_WAITフラグなどとも記載する。TRIG_WHATは、ビット・フィールドの他、TRIG_WHATフィールドなどとも記載する。EVENTは、イベント・ビットの他、EVENTビットなどとも記載する。
【0061】
各命令の動作を、以下に説明する。ユーザは、あらかじめこの命令をプログラム・メモリPM内に格納しておく。全命令は、トリガ・ウェイト機能とイベント出力機能を持つ。
【0062】
(1)0x0 NOP
このNOP命令は、ノー・オペレーション命令である。プログラム・カウンタPCだけがインクリメントされる。
【0063】
(2)0x1 JMP
このJMP命令は、指定された番地(4ビット)にプログラム・カウンタPCを変更しジャンプする。
【0064】
(3)0x2 MUL
このMUL命令は、Rn(16ビット)とRm(16ビット)を乗算し、結果をアキュムレータACCの下位32ビットに格納する。アキュムレータACCの上位側4ビット分には乗算結果の符合ビットと同じ値が格納される。
【0065】
(4)0x3 MAC
このMAC命令は、Rn(16ビット)とRm(16ビット)を乗算し、得られた結果を36ビット長に符号拡張したものをアキュムレータACC上の36ビット値に積算する。この積算(加算)処理中に、正方向側へのオーバーフローが発生した場合は積算結果を0x7_FFFF_FFFFに飽和させ、また負方向側へのオーバーフローが発生した場合は積算結果を0x8_0000_0000に飽和させる。
【0066】
(5)0x4 DIV
このDIV命令は、まず、Rm(16ビット)の逆数値を計算し、内部的に16ビット幅精度の値を生成する。そして、その結果(16ビット幅精度)をRn(16ビット)に乗算して、32ビット精度の値をアキュムレータACCに格納する。上位4ビットは符号拡張される。
【0067】
小数点位置については、プログラムの想定に基づくのみである。例えば、Rmの小数点位置がビット0とビット−1の間にある場合(すなわち、Rmは純粋に整数値の場合)は、Rmの逆数値(1/Rm)の小数点位置はビット15(符号ビット)とビット14の間になる。さらに、Rnの小数点位置がビット0とビット−1の間にある場合(すなわち、Rnは純粋に整数値の場合)は、このDIV命令のアキュムレータACCに入る最終結果の小数点位置はビット15とビット14の間に置かれる。
【0068】
ユーザが、DIV命令の演算結果をアキュムレータACCから取り出すときは、RSF命令を使ってアキュムレータACC上の任意位置の16ビット幅を切り出してレジスタ・ファイルRFに格納する。
【0069】
DSP命令のうち、DIV命令だけがマルチ・サイクル命令(実行サイクル数が複数サイクル)である。
【0070】
(6)0x5 LSF
このLSF命令は、Rmがnビットだけ左シフトされ、その値をアキュムレータACCに格納する。左シフト操作は乗算器MULによる乗算演算で実現する。アキュムレータACCの上位側フィールドは符号拡張で埋められる。アキュムレータACCの下位側フィールドは0で埋められる。
【0071】
(7)0x6 RSF
このRSF命令は、アキュムレータACC(36ビット)がnビットだけ右シフトされ、その結果をレジスタ・ファイルRFのRmに格納する。この意味は、RSF命令はアキュムレータACCから36ビット幅データを受け取り、そのうちの16ビット幅のフィールドをクリップして(切り出して)16ビット幅データとしてRmに格納する、ということである。このクリップ操作(右シフト操作)においてオーバーフローが発生する可能性があるが、この場合は飽和された結果が生成される。また同時に、最下位ビットLSBは最近傍値に丸められる。
【0072】
(8)0x7 MVC
このMVC命令は、レジスタ・ファイルRF内の複数のレジスタ間でチェーン結合方式でデータ転送するもので、デジタル・フィルタの遅延素子の実装に適するものである。チェーン結合される対象レジスタは番号が連続するものに限る。命令フィールド上のmとnの値に応じて、RmはRm−1からデータを受け取り、Rm−1はRm−2からデータを受け取り、他も同様である。同時に、Rn+2はRn+1からデータを受け取り、Rn+1はRnからデータを受け取る。Rm内の初期値は破壊され、Rnの値はそのまま維持される。ユーザがm<=nを指定したら、この命令はNOP命令と等価な動きとなる。
【0073】
以上(1)〜(8)のような各命令による機能を有して、本実施の形態のデジタル・シグナル・プロセッサDSPは動作する。
【0074】
<コントロール/ステータス・レジスタ>
図6は、前述したデジタル・シグナル・プロセッサDSP内の制御論理回路CLに内蔵されるコントロール/ステータス・レジスタの一例を示す説明図である。
【0075】
コントロール/ステータス・レジスタとして、DSPxTRG(DSPx Execution Trigger Status Register、xはDSPのチャネル)があり、ビット番号(Bit)、ビット名称(Bit Name)、リード/ライト区分(R/W)、初期値(Initial)、記述(Description)、注釈(Note)などの情報から構成される。図6の例では、DSPの「0」チャネルのDSP0TRG、DSPの「1」チャネルのDSP1TRGの例を図示している。
【0076】
このDSPxTRGにおいて、DSPのレジスタ・ファイルRFのうちのいずれかひとつのレジスタRnにライトしたら、このレジスタRnに対応するフラグTRGnがセットされる(SET_Rn、Rn=R0〜R7)。この各レジスタR0〜R7に対応するフラグTRGnは、それぞれ、SET_R0〜SET_R7である。
【0077】
<デジタル・シグナル・プロセッサの動作>
図7は、前述したデジタル・シグナル・プロセッサDSPの命令起動動作タイミングの一例を示す説明図である。DSPの命令起動動作を以下に示す。この命令起動動作を含むDSPの動作全体は、DSPに内蔵される制御論理回路CLにより制御される。
【0078】
図7では、命令A(INSTR A)、命令B(INSTR B)、命令C(INSTR C)、命令D(INSTR D)を順に実行する例を示す。各命令は、INSTR Aが(TRIG_WAIT=0、TRIG_WHAT=x)、INSTR Bが(TRIG_WAIT=0、TRIG_WHAT=x)、INSTR Cが(TRIG_WAIT=1、TRIG_WHAT=3)、INSTR Dが(TRIG_WAIT=0、TRIG_WHAT=x)の設定となっている。
【0079】
(1)ユーザは、前もって以下のようにDSPをコンフィギュレーションしておく。
・プログラム・メモリPM内に命令シーケンス(命令列)を書き込む。
・レジスタ・ファイルRF内の複数のレジスタR0−R15内に初期値を設定する(係数や遅延素子の初期値)。
・プログラム・カウンタPCの初期値を設定する(プログラムの開始位置の設定)。
【0080】
(2)DSP全体の動作を有効化する。たとえば、詳細は明記しないが、専用レジスタ内にDSPイネーブル・ビット(DSPE)があって、それを0から1にセットすることでDSPの動作が始まる。
【0081】
(3)DSPの命令シーケンスが起動し、PCの初期値の位置から命令が順番に実行される。ただし、各命令フィールド内のTRIG_WAITフラグ(図5)がセットされていたら、当該命令はその実行の前に停止し、対応するトリガ入力を待つ。停止中の命令の命令フィールド内のTRIG_WHATフィールド(3ビット)に対応する番号のレジスタRn(R0−R7のいずれか)にライト操作が行われたら、それを再開トリガとして停止していた命令の実行が行われ、実行命令がPCの次のアドレスに移行する。
【0082】
(4)命令再開のためのトリガ状況は、図6に示す専用レジスタDSPxTRGに表示される(xはDSPのチャネルを示し、DSPが2個入っている製品ではx=0および1である)。例えば、図7の上側に記述されているように、実行前で停止中の命令がCPUまたはDMACによりR3にデータが書き込まれる(updated(written))のを待っているとする。これは、すなわち当該命令の命令フィールド内でTRIG_WAIT=1、TRIG_WAIT=3になっている状況である。命令実行制御として、もしDSPxTRGレジスタのSET_R3ビットが0なら、その命令は実行前に停止状態を維持し、一旦DSPまたはDMACがR3に値をライトしたら、SET_R3ビットが自動セット(auto set)され、停止していた命令の実行が開始する。このとき、SET_R3ビットは自動クリア(auto clear)される。ここで注意すべき点は、DSP動作中にCPUはDSPxTRGレジスタをアクセスしたり監視したりする必要はないことである。ただし、デバッグの際やDSP全体処理の再初期化などの際は、CPUによるリード(監視)やライト(初期化)を行う。
【0083】
なお、図7の下側に記述されているように、ある命令に停止&再開トリガが設定されていて、その命令を実行する前までにDSPxTRGレジスタの対応するビットがセットされていたら(あらかじめトリガ条件が成立していたら)当該命令は停止せず、そのまま実行される。DSPxTRGレジスタの対応ビットは自動クリアされる。
【0084】
(5)DSPが命令シーケンスを実行中に、もしPCが最終アドレス(0xF)に到達したら、PCは0x0にリワインドされ、DSPによる命令シーケンスは継続される。
【0085】
(6)命令フィールド内のEVENTビットが1にセットされている命令を実行終了したら、DSPはそのモジュール外に対して、イベント信号や割り込み信号を出力することができる。
【0086】
(7)DSPをデバッグするために、DSPをデバッグ・モードに設定することができる。これは、前述した図4に示すデバッガOCD内の専用レジスタの専用ビットDSP_DBGをセットすることで設定できる。このデバッグ・モードでは、同専用レジスタの専用ビットDSP_STEPに1ライトするたびに命令列を1個ずつステップ実行できる。このデバッグ・モードでは、命令フィールド内のTRIG_WAITフラグがセットされていて命令再開トリガ条件が成立していなくても(DSPxTRGレジスタの当該ビットが0でも)、DSP_STEPに1ライトすれば当該命令はステップ実行する。
【0087】
以上(1)〜(7)のように、命令起動動作を含むDSPの動作全体は、このDSPに内蔵される制御論理回路CLにより制御することができる。
【0088】
<実施の形態の効果>
以上説明した本実施の形態によれば、デジタル・シグナル・プロセッサDSPにおいて、プログラム・メモリPM、プログラム・カウンタPC、制御論理回路CL、複数のレジスタRnなどを有し、また、このDSPを内蔵したマイコンMCUにおいて、A/D変換器ADC、デジタル・シグナル・プロセッサDSP、パルス幅変調器PWM、ダイレクト・メモリ・アクセス・コントローラDMAC、中央演算処理装置CPUなどを有することで、以下のような効果を得ることができる。
【0089】
(1)各命令のビット・フィールド内にTRIG_WAITフラグとTRIG_WHATフィールドとを持つことにより、制御論理回路CLは、TRIG_WAITフラグがクリアされている命令はそのまま実行し、次の命令処理に進むように制御することができる。また、制御論理回路CLは、TRIG_WAITフラグがセットされている命令は、TRIG_WHATフィールドに対応する実行再開トリガ条件が成立していなければその実行を行わずに停止し、一方、TRIG_WHATフィールドに対応する実行再開トリガ条件が成立していればその実行を行い、次の命令処理に進むように制御することができる。
【0090】
(2)前記(1)に加えて、さらに、各命令のビット・フィールド内のTRIG_WHATフィールドが複数のレジスタRnのうちどのレジスタへの書き込みをトリガ条件とするかを意味することにより、制御論理回路CLは、TRIG_WAITフラグがクリアされている命令はそのまま実行し、プログラム・カウンタPCを更新して次の命令処理に進むように制御することができる。また、制御論理回路CLは、TRIG_WAITフラグがセットされている命令は、TRIG_WHATフィールドに対応する実行再開トリガ条件が成立していなければその実行を行わずに停止し、一方、TRIG_WHATフィールドに対応する実行再開トリガ条件が成立していればその実行を行い、プログラム・カウンタPCを更新して次の命令処理に進むように制御することができる。
【0091】
(3)前記(2)に加えて、さらに、複数のレジスタRnの個々のレジスタに対応するフラグTRGn(SET_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を更新して次の命令処理に進むように制御することができる。
【0092】
(4)前記(2)に加えて、さらに、各命令のビット・フィールド内にEVENTビットを持つことにより、制御論理回路CLは、EVENTビットがセットされた命令の実行が行われたらプログラム・カウンタPCを更新して次の命令処理に進むとともに、外部に割り込み信号またはトリガ・パルス信号を出力するように制御することができる。
【0093】
(5)前記(1)〜(4)により、ダイレクト・メモリ・アクセス・コントローラDMACはA/D変換器ADCの変換終了トリガによって、予め決められたデジタル・シグナル・プロセッサDSPのデータ・レジスタRnにデータをライトすることができるので、DSPの命令シーケンス内で入力データが必要になるところまで命令シーケンスを実行しておき、DSPのデータ・レジスタにデータがライトされるまで命令実行を止め、DSPのデータ・レジスタにデータが準備されたら命令実行を再開することができる。また、複数の入力データが必要な場合でも、その都度、命令シーケンスを一旦停止するようにしておくことによって、任意のDSPのシーケンスの中で任意個数、任意順序で必要なデータが集めながら演算処理を実行していくことができる。
【0094】
(6)前記(5)により、DSPの演算が終了した時点でDMACにイベントを送り、DMACに演算結果をDSPのデータ・レジスタからPWMのデューティ・レジスタに転送させることもできる。この一連の動作のADCの変換開始トリガを、例えばPWMの周期イベント信号にしておけば、CPUの介在なく、ADC、DSP、PWM、DMACの間で自動的に入力・演算・出力の各処理を行わせることができ、例えばDC−DCコンバータのデジタル電源のデジタル・フィルタ演算を伴うフィードバック処理を自動的に実行させることができ、CPUはそれ以外のシステム処理に集中することができる。これにより、システム処理とフィルタ処理との双方の負荷を軽くすることができ、消費電力の向上や性能の向上を図ることができる。
【0095】
<実施の形態の変形例>
前記実施の形態では、デジタル・シグナル・プロセッサDSPのデータ・レジスタへのライトが命令再起動条件としていたが、DSPのデータ・レジスタからのリードを命令再起動条件とする例もあり得る。この場合、演算結果が格納されているDSPのデータ・レジスタを読み出さないでいても、その結果値がオーバーライトされ、消えてしまうことを防ぐことができる。
【0096】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【産業上の利用可能性】
【0097】
本発明の演算処理装置は、特に、デジタル制御電源向けマイコンに内蔵するデジタル・シグナル・プロセッサ等の演算処理装置、およびこれを内蔵したマイコンに適用して有効である。さらに、このマイコンを用いたデジタル電源システム、ACモータ制御用インバータなどにも利用可能である。
【符号の説明】
【0098】
MCU…マイコン、ADC…A/D変換器、DSP…デジタル・シグナル・プロセッサ、PWM…パルス幅変調器、DMAC…ダイレクト・メモリ・アクセス・コントローラ、M1,M2…パワーMOSトランジスタ、PB1,PB2…プリバッファ、L…インダクタ、C…コンデンサ、R1,R2…抵抗、IN…入力端子、OUT…出力端子、
RF…レジスタ・ファイル、R0−R15…レジスタ、RAI…レジスタ・アクセス・インタフェース、DPU…データ・パス・ユニット、ACC…アキュムレータ、MUL…乗算器、ALU…演算ユニット、SFT…シフタ、DIV…除算器、CU…コントロール・ユニット、PM…プログラム・メモリ、CL…制御論理回路、PC…プログラム・カウンタ、DSPxTRG…コントロール/ステータス・レジスタ、
CPU…中央演算処理装置、ARB…アービタ、FLASH…フラッシュメモリ、RAM…ランダム・アクセス・メモリ、INTC…割り込みコントローラ、WDT…ウォッチドッグタイマ、RC…リセットコントローラ、POR…パワーオンリセット回路、LVD…低電圧検出回路、MC…モードコントローラ、CC…クロックコントローラ、PLL…位相同期回路、OSC…リングオシレータ、IRC…内部オシレータ、OCD…デバッガ、DBGI/F…デバッガインタフェース、PLL2…位相同期回路、TM…割り込みタイマ、I2C…シリアルバス回路、SPI…サービス・プロバイダ・インタフェース、UART…非同期送受信回路、CMP…コンパレータ、RGL…レギュレータ、DAC…D/A変換器、VREF…基準電源回路、TEMP…温度センサ、AGND…アナロググランド回路、GPIO…入出力回路。

【特許請求の範囲】
【請求項1】
演算処理シーケンスを命令の列として格納するプログラム・メモリと、
前記演算処理シーケンスを実行中の命令の位置を示すプログラム・カウンタと、
前記プログラム・カウンタを含み、前記演算処理シーケンスを実行中の命令に基づいて演算処理を制御する制御論理回路とを有する演算処理装置であって、
前記演算処理シーケンスの各命令のビット・フィールド内には、その命令の実行を停止するかどうかを示す命令停止フラグ情報と、その命令の実行再開トリガ条件を示すビット・フィールド情報とを持ち、
前記制御論理回路は、
前記命令停止フラグ情報がクリアされている命令はそのまま実行し、次の命令処理に進み、
前記命令停止フラグ情報がセットされている命令は、前記ビット・フィールド情報に対応する実行再開トリガ条件が成立していなければその実行を行わずに停止し、
前記命令停止フラグ情報がセットされている命令は、前記ビット・フィールド情報に対応する実行再開トリガ条件が成立していればその実行を行い、次の命令処理に進む、ように制御することを特徴とする演算処理装置。
【請求項2】
請求項1記載の演算処理装置において、さらに、
前記演算処理シーケンスのための演算データを格納する複数のレジスタを有し、
前記複数のレジスタは、他の演算処理装置のバスにも接続され、外部からの書き込みが可能であり、
前記ビット・フィールド情報は、前記複数のレジスタのうちどのレジスタへの書き込みをトリガ条件とするかを意味し、
前記制御論理回路は、
前記命令停止フラグ情報がクリアされている命令はそのまま実行し、前記プログラム・カウンタを更新して次の命令処理に進み、
前記命令停止フラグ情報がセットされている命令は、前記ビット・フィールド情報に対応する実行再開トリガ条件が成立していなければその実行を行わずに停止し、
前記命令停止フラグ情報がセットされている命令は、前記ビット・フィールド情報に対応する実行再開トリガ条件が成立していればその実行を行い、前記プログラム・カウンタを更新して次の命令処理に進む、ように制御することを特徴とする演算処理装置。
【請求項3】
請求項2記載の演算処理装置において、さらに、
前記複数のレジスタの個々のレジスタに対応するフラグ情報を持ち、
前記他の演算処理装置が前記複数のレジスタのうちのいずれかひとつの第1レジスタにライトしたら対応する第1フラグ情報がセットされ、
前記制御論理回路は、
前記命令停止フラグ情報がセットされ、かつ、前記ビット・フィールド情報が前記第1レジスタへのライトを再開トリガとすることを示す命令は、前記第1フラグ情報がクリアされていたらその実行を行わずに停止し、その後、前記第1フラグ情報がセットされたら実行を行い、前記第1フラグ情報をクリアして前記プログラム・カウンタを更新して次の命令処理に進み、
前記命令停止フラグ情報がセットされ、かつ、前記ビット・フィールド情報が前記第1レジスタへのライトを再開トリガとすることを示す命令は、前記第1フラグ情報がセットされていたらそのまま実行し、前記第1フラグ情報をクリアして前記プログラム・カウンタを更新して次の命令処理に進む、ように制御することを特徴とする演算処理装置。
【請求項4】
請求項2記載の演算処理装置において、さらに、
前記演算処理シーケンスの各命令のビット・フィールド内には、外部への割り込み出力を示すイベント情報を持ち、
前記制御論理回路は、
前記イベント情報がセットされた命令の実行が行われたら前記プログラム・カウンタを更新して次の命令処理に進むとともに、外部に割り込み信号またはトリガ・パルス信号を出力する、ように制御することを特徴とする演算処理装置。
【請求項5】
デジタル制御電源からの電圧信号をA/D変換するA/D変換器と、
前記A/D変換器からのデータをフィルタ演算する演算処理装置と、
前記デジタル制御電源のパワーMOSトランジスタを駆動するPWM波形のデューティを求めるパルス幅変調器と、
前記A/D変換器から前記演算処理装置へデータ転送し、前記演算処理装置から前記パルス幅変調器へデータ転送するダイレクト・メモリ・アクセス・コントローラと、
システム処理を行う中央演算処理装置とを有するマイクロコンピュータであって、
前記演算処理装置によるフィルタ演算と前記中央演算処理装置によるシステム処理とを独立して並行に実行可能であり、
前記演算処理装置は、
演算処理シーケンスを命令の列として格納するプログラム・メモリと、
前記演算処理シーケンスを実行中の命令の位置を示すプログラム・カウンタと、
前記プログラム・カウンタを含み、前記演算処理シーケンスを実行中の命令に基づいて演算処理を制御する制御論理回路とを有し、
前記演算処理シーケンスの各命令のビット・フィールド内には、その命令の実行を停止するかどうかを示す命令停止フラグ情報と、その命令の実行再開トリガ条件を示すビット・フィールド情報とを持ち、
前記制御論理回路は、
前記命令停止フラグ情報がクリアされている命令はそのまま実行し、次の命令処理に進み、
前記命令停止フラグ情報がセットされている命令は、前記ビット・フィールド情報に対応する実行再開トリガ条件が成立していなければその実行を行わずに停止し、
前記命令停止フラグ情報がセットされている命令は、前記ビット・フィールド情報に対応する実行再開トリガ条件が成立していればその実行を行い、次の命令処理に進む、ように制御することを特徴とするマイクロコンピュータ。
【請求項6】
請求項5記載のマイクロコンピュータにおいて、さらに、
前記演算処理装置は、
前記演算処理シーケンスのための演算データを格納する複数のレジスタを有し、
前記複数のレジスタは、他の演算処理装置のバスにも接続され、外部からの書き込みが可能であり、
前記ビット・フィールド情報は、前記複数のレジスタのうちどのレジスタへの書き込みをトリガ条件とするかを意味し、
前記制御論理回路は、
前記命令停止フラグ情報がクリアされている命令はそのまま実行し、前記プログラム・カウンタを更新して次の命令処理に進み、
前記命令停止フラグ情報がセットされている命令は、前記ビット・フィールド情報に対応する実行再開トリガ条件が成立していなければその実行を行わずに停止し、
前記命令停止フラグ情報がセットされている命令は、前記ビット・フィールド情報に対応する実行再開トリガ条件が成立していればその実行を行い、前記プログラム・カウンタを更新して次の命令処理に進む、ように制御することを特徴とするマイクロコンピュータ。
【請求項7】
請求項6記載のマイクロコンピュータにおいて、さらに、
前記演算処理装置は、
前記複数のレジスタの個々のレジスタに対応するフラグ情報を持ち、
前記他の演算処理装置が前記複数のレジスタのうちのいずれかひとつの第1レジスタにライトしたら対応する第1フラグ情報がセットされ、
前記制御論理回路は、
前記命令停止フラグ情報がセットされ、かつ、前記ビット・フィールド情報が前記第1レジスタへのライトを再開トリガとすることを示す命令は、前記第1フラグ情報がクリアされていたらその実行を行わずに停止し、その後、前記第1フラグ情報がセットされたら実行を行い、前記第1フラグ情報をクリアして前記プログラム・カウンタを更新して次の命令処理に進み、
前記命令停止フラグ情報がセットされ、かつ、前記ビット・フィールド情報が前記第1レジスタへのライトを再開トリガとすることを示す命令は、前記第1フラグ情報がセットされていたらそのまま実行し、前記第1フラグ情報をクリアして前記プログラム・カウンタを更新して次の命令処理に進む、ように制御することを特徴とするマイクロコンピュータ。
【請求項8】
請求項6記載のマイクロコンピュータにおいて、さらに、
前記演算処理装置は、
前記演算処理シーケンスの各命令のビット・フィールド内には、外部への割り込み出力を示すイベント情報を持ち、
前記制御論理回路は、
前記イベント情報がセットされた命令の実行が行われたら前記プログラム・カウンタを更新して次の命令処理に進むとともに、外部に割り込み信号またはトリガ・パルス信号を出力する、ように制御することを特徴とするマイクロコンピュータ。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2013−25590(P2013−25590A)
【公開日】平成25年2月4日(2013.2.4)
【国際特許分類】
【出願番号】特願2011−160290(P2011−160290)
【出願日】平成23年7月21日(2011.7.21)
【出願人】(000233169)株式会社日立超エル・エス・アイ・システムズ (327)
【Fターム(参考)】