JP3470432B2 - Signal processing device - Google Patents

Signal processing device

Info

Publication number
JP3470432B2
JP3470432B2 JP00345595A JP345595A JP3470432B2 JP 3470432 B2 JP3470432 B2 JP 3470432B2 JP 00345595 A JP00345595 A JP 00345595A JP 345595 A JP345595 A JP 345595A JP 3470432 B2 JP3470432 B2 JP 3470432B2
Authority
JP
Japan
Prior art keywords
signal
input
program
data
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
JP00345595A
Other languages
Japanese (ja)
Other versions
JPH08190445A (en
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.)
Yamaha Corp
Original Assignee
Yamaha 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 Yamaha Corp filed Critical Yamaha Corp
Priority to JP00345595A priority Critical patent/JP3470432B2/en
Publication of JPH08190445A publication Critical patent/JPH08190445A/en
Application granted granted Critical
Publication of JP3470432B2 publication Critical patent/JP3470432B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)
  • Reverberation, Karaoke And Other Acoustics (AREA)

Description

【発明の詳細な説明】 【0001】 【産業上の利用分野】この発明は、電子楽器に用いられ
るDSPなどの信号処理装置に関し、特に、内部レジス
タのクリア動作を容易にした信号処理装置に関する。 【0002】 【従来の技術】電子楽器において、楽音信号の合成や効
果の付与などに用いられるDSPでは、信号処理のスタ
ート時に無意味な信号が出力されたり、残っていたデー
タによって誤った信号処理が行われないように、信号処
理スタートに先立って、内部レジスタをクリアする必要
がある。しかし、DSPは高速の応答性が要求されるた
め、この内部レジスタのクリアも高速に行う必要があ
る。 【0003】 【発明が解決しようとする課題】従来の可変長命令タイ
プの汎用DSPにおいては、簡略な初期化プログラムを
記憶しておき、外部からの指示等に応じて実行させるな
どの方法が取られていたが、楽音信号処理用の特化され
たDSPは一般にプログラムステップ数に限りがあるも
のが多いため、このような初期化プログラムにステップ
を占有されると実際の信号処理のためのステップを十分
にとれないという問題点がある。 【0004】また、レジスタをハード的にリセットでき
るようにDSP素子を構成することも考えられるが、D
SPをこのような構造にするとチップ面積が大きくな
り、大型化・コストアップを招くという問題点があっ
た。 【0005】この発明は、簡略な構成で必要なレジスタ
(データ記憶部)を初期化することができる信号処理装
置を提供することを目的とする。 【0006】 【0007】 【課題を解決するための手段】この発明は、外部から入
力された信号データや演算結果データを記憶するデータ
記憶部と、与えられたデータに対して所定の演算を実行
する演算部と、繰り返し実行される演算処理プログラム
を記憶する演算処理プログラム記憶部と、前記繰り返し
実行される演算処理プログラムに基づき、前記データ記
憶部に記憶されているデータを前記演算部に与えるとと
もに、演算部が演算を行った演算結果データを前記デー
タ記憶部に書き込むデータ転送手段と、を有する信号処
理装置において、前記データ記憶部に対する所定の初期
値の書き込みを実行するための初期化プログラムを複数
種類記憶する初期化プログラム記憶部と、演算処理プロ
グラム実行途中に初期化が指示されたとき、前記繰り返
し実行されている演算処理プログラムのプログラムサイ
クルの合間に、前記複数種類の初期化プログラムのうち
いずれか1つを実行し、こののち前記演算処理プログラ
ムのプログラムサイクルに復帰する動作切換手段と、を
設けたことを特徴とする。 【0008】 【0009】 【0010】 【0011】 【作用】この発明の信号処理装置は、通常は、号処理
プログラム記憶手段に記憶されている信号処理プログラ
ムに基づいて動作する。すなわち、データ転送手段がデ
ータ記憶部に記憶されているデータを演算部に与え、演
算部はこのデータに対して所定の演算を行う。データ転
送装置は、この演算結果のデータをデータ記憶部に書き
込む。この動作を繰り返し行うことにより楽音信号の合
成やフィルタ処理等が実行される。一方、初期化プログ
ラムが信号処理プログラム記憶部とは別の初期化プログ
ラム記憶部に記憶されている。初期化が指示されたと
き、データ転送手段を該初期化プログラムで動作させる
とともに、データ切換手段により、データ記憶部から読
み出されたータに代えて初期値を演算部に与え、また
は、演算部が出力したデータに代えて初期値をデータ記
憶部に書き込む。これにより、簡略な初期化プログラム
で必要なデータ記憶部を迅速に初期化することができ
る。 【0012】 【0013】 【0014】 【実施例】図1はこの発明の実施例であるディジタルシ
グナルプロセッサ(DSP)のブロック図である。この
DSPはマイクロプログラムレジスタ11に記憶されて
いる信号処理プログラムを順次読み出してその処理を行
う。信号処理プログラムは、256ステップの水平型命
令で構成されており、マイクロプログラムレジスタ11
もこの記憶容量を備えている。マイクロプログラムレジ
スタ11への信号処理プログラムの書き込みは、ホスト
CPUインタフェース10を介してホストCPUが行
う。水平型命令は、命令コード(オペコード)、係数デ
ータ、メモリアドレスおよび初期化フィールドからなる
固定長の命令であり、同時に読み出される。読み出され
た命令コードは、デコーダ14に入力される。デコーダ
14は、この命令コードをデコード信号にデコードして
各動作部に送信する。このデコード信号を受信した動作
部は対応する動作を実行する。この動作時にメモリアド
レスや係数が用いられる。また、初期値選択フィールド
には、後述するIRAM21,TRAM22などのレジ
スタを初期化する場合の初期値を選択する初期値選択コ
ードが書き込まれる。 【0015】テンポラリRAM(TRAM)22は、単
位遅延(Z-1)や演算の途中経過の値を記憶するレジス
タ群である。また、インプットRAM(IRAM)21
は、外部から入力される信号データや外部メモリから取
り込んだデータを記憶するレジスタ群であり、時にはテ
ンポラリレジスタとしても用いられるレジスタ群であ
る。IRAM21のデータはIBUS23に出力され
る。また、TRAM22のデータはTBUS24に出力
される。IBUS23,TBUS24には、それぞれマ
ルチプレクサ25,27が接続されている。マルチプレ
クサ27には、また、後述する内部データBUS18が
接続されているとともに、定数値データとして“1”が
入力されている。マルチプレクサ27はこの3つのバス
のデータと“1”のデータのうち1つのデータを選択し
てALU20に入力する。ALU20の他の入力端子に
は、マルチプレクサ28が接続されている。このマルチ
プレクサ28は前記マルチプレクサ25の出力値,マル
チプライヤ26の出力値,マイクロプログラムレジスタ
11から読み出される係数値または定数値としての
“1”のうち1つを選択してALU20に入力する。前
記マルチプライヤ26は、前記マルチプレクサ25によ
って選択されたIBUS23上のデータまたはTBUS
24上のデータにマイクロプログラムレジスタ11から
読み出される係数値を乗算する。ALU20では、上記
マルチプレクサ27,28により選択入力されたデータ
を加算するなど演算して出力する。通常動作時は、この
ALU20の出力は、マルチプレクサ16を介してアキ
ュムレータ17に入力される。アキュムレータ17は、
入力された値をそのとき記憶している値に累算して内部
データバス18上に出力する。内部データバス上に出力
されたデータは、メモリアドレスレジスタ,データレジ
スタ,出力ポートなどの所定の回路に読み取られるとと
もに、IRAM21,TRAM22やマルチプレクサ2
7に入力される。 【0016】DSP内の以上の構成において、通常はマ
ルチプライヤ26による乗算,ALU20による加算お
よびアキュムレータ17による累算がTRAM22を含
む循環路を介して繰り返し行われ、これによる畳み込み
演算によってフィルタ回路等が実現される。 【0017】ここで、マルチプレクサ16は、ALU2
0の出力を含めて8個の入力から1つを選択してアキュ
ムレータ17に入力する回路である。8個の入力端子の
うち0番の入力端子に前記ALU20の出力が供給され
ており、1番〜7番の入力端子には、それぞれ異なる7
種類の初期値が供給される。この初期値はIRAM2
1,TRAM22などを初期化するときに書き込む値で
ある。1番,2番,3番の入力端子には、定数値として
それぞれ、“0”,“1”,“−1”が供給されてい
る。また、4番〜7番の4つの入力端子には、初期値レ
ジスタ12に記憶されている初期値が供給される。初期
値レジスタ12への初期値の書き込みは、ホストCPU
インタフェース10を介してホストCPUが行う。 【0018】マルチプレクサ16のセレクト端子にはゲ
ート回路(AND回路群)15が接続されている。この
ゲート回路には前記マイクロプログラムレジスタ11の
初期値選択フィールドに記憶されている初期値選択コー
ドが各プログラムステップ毎に入力される。このゲート
回路15の制御端子にはフラグ制御回路13のfi信号
が入力されている。fi信号はレジスタの初期化を許可
/禁止する信号であり、この信号が“1(H)”のと
き、前記ゲート回路15が開いて初期値選択コードがマ
ルチプレクサ16に入力され、ALU20から出力され
たデータ(0番)に代えて、1番〜7番の初期値がアキ
ュムレータ17に入力される。 【0019】フラグ制御回路13にはホストCPUイン
タフェース10を介してfiセット信号,fiリセット
信号が入力される。また、マイクロプログラムレジスタ
11に書き込まれた信号処理プログラム中にfiセット
信号,fiリセット信号を出力するステップが含まれて
いる場合には、デコーダ14からfiセット信号,fi
リセット信号が入力される。フラグ制御回路13はこれ
らの信号に基づいてfi信号をセット(“1”)/リセ
ット(“0”)する。上述したように、fi信号がセッ
トされたとき、ゲート回路15が開き、マイクロプログ
ラムレジスタ11の初期化フィールドに記憶されている
初期値選択コードがマルチプレクサ16に入力され、1
番〜7番の入力端子に入力されている7種類の初期値の
うちいずれか1つがアキュムレータ17に入力される。 【0020】図2は前記フラグ制御回路13の詳細図で
ある。このフラグ制御回路13はホストCPUからfi
セット信号が入力されると、そのときの実行サイクルの
次の実行サイクルを初期化サイクルとすべく、該次の実
行サイクルの先頭からfiを“1”にセットする。ま
た、ホストCPUからfiリセット信号が入力される
と、その次の実行サイクルから信号処理サイクルにもど
すべく、該次の実行サイクルの先頭からfiをリセット
する。以下各部の動作を詳細に説明する。 【0021】ホストCPUからfiセット信号またはf
iリセット信号が入力されると、フリップフロップ30
がこの信号入力によりセットされる。また、フリップフ
ロップ31はfiセット信号が入力されたときセットさ
れ、fiリセット信号が入力されたときリセットされ
る。フリップフロップ30がセットすると、Q信号が
“1”となるため、OR回路33を介してフラグビジー
信号が出力される。このフラグビジー信号はホストCP
Uインタフェース10に入力される。このフラグビジー
信号がたっている間は、ホストCPUインタフェース1
0は新たなfiセット信号またはfiリセット信号の入
力を受け付けない。フリップフロップ30のQ信号はA
ND回路34に入力される。AND回路34の他の入力
端子には図示しないクロックカウンタからLASTST
EP信号が入力される。LASTSTEP信号とは、2
56ステップのマイクロプログラムのうち、最終ステッ
プ(255ステップ)である旨を示す信号である。マイ
クロプログラム(信号処理プログラム)は繰り返し実行
されるため、LASTSTEP信号は次のステップから
新たな実行サイクルが始まることを示しているため、こ
のタイミングでホストCPUの指示に応じてfiをセッ
ト/リセットする。LASTSTEP信号(“1”信
号)によりフリップフロップ30のQ信号(“1”信
号)がAND回路34を通過すると、このQ信号は、A
ND回路37,38に入力される。AND回路37,3
8の他の入力端子には、それぞれ、フリップフロップ3
1からQ信号および/Q信号(/は負論理を示す)が入
力されている。したがって、CPUから入力された信号
がfiセット信号であった場合には、AND回路37の
出力が“1”となり、CPUから入力された信号がfi
リセット信号であった場合には、AND回路38の出力
が“1”となる。 【0022】AND回路37の出力信号が“1”となっ
た場合には、AND回路40,OR回路44,OR回路
47およびディレイ48を介してこの“1”信号がfi
信号として出力される。なお、AND回路40にはAN
D回路34と同様のLASTSTEP信号が入力されて
いるため、AND回路34と同期して開き、この“1”
信号が通過することができる。また、ディレイ48は、
LASTSTEP信号によって形成されたAND回路3
7の“1”信号を次の実行サイクルの先頭からfi信号
として出力するためのディレイである。ディレイ48か
らfi信号(“1”信号)が出力されると、この信号は
図1のゲート回路15に入力されるとともに、該フラグ
制御回路内のAND回路46に戻される。このAND回
路46の他方の入力端子には通常“1”信号が入力され
ているため、AND回路46はこのディレイ48から戻
された“1”信号によって“1”を出力する。この
“1”信号はOR回路47を介してディレイ48に入力
されるため、こののち、AND回路46の前記他方の入
力端子(NOR回路45の出力)が“0”に落ちるまで
fi信号は“1”を継続することになる。 【0023】一方、CPUからfiリセット信号が入力
されたのち、LASTSTEP信号が入力されてAND
回路38の出力信号が“1”となった場合には、AND
回路42を介してこの信号がNOR回路44に入力され
る。AND回路42にはLASTSTEP信号が入力さ
れるため、この“1”信号が通過する。NOR回路45
はこの“1”入力により“0”を出力するため、AND
回路46はディレイ48から“1”入力が入力されてい
ても強制的に“0”に落とされ、この“0”信号がOR
回路47を介してディレイ48に入力される。なお、こ
のときOR回路44が“1”を出力することはない。し
たがって、fiリセット信号が入力されたのちLAST
STEP信号が入力されると、fi信号が“0”に落と
されることになる。なお、ディレイ48は、次の実行サ
イクルの先頭からfi信号を“0”にするためのディレ
イである。 【0024】また、fiセット信号およびfiリセット
信号がマイクロプログラム中に書き込まれている場合に
はデコーダ14からこれらが入力される。デコーダ14
からfiセット信号が入力されると、AND回路42,
OR回路44,OR回路47およびディレイ48を介し
てこのfiセット信号がfi信号として出力される。な
お、AND回路42の他方の端子には反転されたLAS
TSTEP信号が入力されているため、実行サイクルの
最終ステップ以外は、デコーダ14から入力されたfi
セット信号はそのままディレイ48まで伝達される。デ
ィレイ48からfi信号が出力されると、この信号は図
1のゲート回路15に入力されるとともに、該フラグ制
御回路内のAND回路46に戻される。このAND回路
46の他方の入力端子には通常“1”信号が入力されて
いるため、AND回路46はこのディレイ48から戻さ
れた“1”信号によって“1”を出力する。この“1”
信号はOR回路47を介してディレイ48に入力される
ため、こののち、AND回路46の前記他方の入力端子
(NOR回路45の出力)が“0”に落ちるまでfi信
号は“1”を継続することになる。 【0025】一方、デコーダ14からfiリセット信号
が入力されると、AND回路43を介してこの信号はN
OR回路45に入力される。なお、AND回路43の他
方の端子には反転されたLASTSTEP信号が入力さ
れているため、実行サイクルの最終ステップ以外は、デ
コーダ14から入力されたfiリセット信号はそのまま
NOR回路45に入力される。NOR回路45はこの
“1”入力により“0”を出力するため、AND回路4
6はディレイ48から“1”入力が入力されていても強
制的に“0”に落とされ、この“0”信号がOR回路4
7を介してディレイ48に入力される。 【0026】なお、図2の説明において、ホストCPU
から入力されたfiセット信号はホストCPUから入力
されるfiリセット信号でリセットするようにし、デコ
ーダ14から入力されたfiセット信号はデコーダ14
から入力されるfiリセット信号でリセットするように
説明しているが、ホストCPUから入力されたfiセッ
ト信号をデコーダ14から入力されるfiリセット信号
でリセットすることもでき、デコーダ14から入力され
たfiセット信号をホストCPUから入力されるfiリ
セット信号でリセットすることもできる。 【0027】図3は上記の構成のフラグ制御回路にホス
トCPUからfiセット信号またはfiリセット信号が
入力された場合の各部の信号のタイミングチャートであ
る。ホストCPUからfiセット信号が入力されると、
こののちこの実行サイクルの間はフラグビジー信号が
“1”となる。この実行サイクルの最終ステップにクロ
ックカウンタからLASTSTEP信号が入力される
と、次のステップの立ち上がりでフラグビジー信号が
“0”に落ちるとともに、fi信号が立ち上がる。ホス
トCPUからfiリセット信号が入力された場合も、実
行サイクルの間はフラグビジー信号が“1”となる。こ
の実行サイクルの最終ステップにクロックカウンタから
LASTSTEP信号が入力されると、次のステップの
立ち上がりでフラグビジー信号が“0”に落ちるととも
に、上記fiセット信号とは逆にfi信号が“0”に落
ちる。 【0028】図4は簡略なフィルタの例を示す図であ
る。また、図5(A)は図4のフィルタを上記DSPの
演算で実現するためのマイクロプログラムを示してい
る。さらに、図5(B)は同図(A)のプログラムの実
行中にfiがセットされた場合の初期化動作を説明する
図である。 【0029】図5(A)の動作を説明する。ここで、i
nit=1とは、初期化フィールドに記憶されている初
期値選択コードが1、すなわち、1番の入力端子の値を
初期値として選択することを示しており、前記fiが
“1”となったとき、セレクタ16にこの値が入力され
1番の入力端子に入力されている定数値“0”がアキュ
ムレータ17入力されることを示している。 【0030】INPUTのデータをアキュムレータに
ロードする。なおINPUTはたとえばIRAM21に
設けられているレジスタである。 【0031】TRAM22内のエリアT1にある値を
マルチプライヤ26に入力し、この値に係数a1を掛け
てこの乗算結果をアキュムレータ17に累算する。した
がって、アキュムレータの内容は、INPUT+T1×
a1となる。なお、図4に示すように、エリアT1は前
サイクルの動作で記憶された遅延の内容である。 【0032】アキュムレータ17の内容をTRAM2
2内のレジスタT2に転送する。しかし、アキュムレー
タ17には未だ上記の値が残っている。 【0033】エリアT1にある値をマルチプライヤ2
6に入力し、この値に係数a2を掛けてこの乗算結果を
アキュムレータ17に累算する。したがって、アキュム
レータの内容は、INPUT+T1×a1+T1×a2
となる。 【0034】現在アキュムレータ17に記憶している
内容をOUTに転送する。OUTは例えば出力バッファ
である。出力バッファに記憶された内容は外部回路(例
えばD/Aコンバータ)などによって適時読み取られ
る。 【0035】T2に記憶されている内容をT1に書き
込む。これにより、今回のサイクルの遅延値が遅延レジ
スタT1に書き込まれる。 【0036】以上の動作を繰り返すことにより、図4に
示すフィルタの動作が実行される。ところで、この動作
をスタートするとき、T1に記憶されている値は不定で
あるため、クリアしなければその後の演算に影響を及ぼ
す。そこで、このようなフィルタ動作のスタートに先立
って、初期化サイクルを実行する。初期化サイクルは、
上述したようにfiを“1”にして実行サイクルを1サ
イクル行うことによって実現される。同図(B)はこの
クリアサイクルによって各エリアに0が書き込まれてい
く手順を示している。 【0037】fi=1であると、どのような命令であっ
ても、アキュムレータ17にはinit=1で選択され
ている値“0”が入力される。通常、処理される信号は
ALU20およびアキュムレータ17を介して転送され
るため、ALU20とアキュムレータ17の間にセレク
タを入れて、ALU20からアキュムレータ17に送ら
れる信号を他の信号(初期値:例えば0)に置き換える
ことにより、このDSP内で転送されるデータを全てこ
の初期値でクリアすることができる。 【0038】この例では、簡略なフィルタ回路について
説明したが、より複雑な信号処理をする場合でも、乗
算,加算,累算の組み合わせであるため、上記のフィル
タ処理と基本的に異なるところはない。したがって、ど
のような複雑な信号処理であっても、そのスタート前に
fi=1にして、信号処理プログラムを1実行サイクル
分実行することにより初期化サイクルが実行され、信号
処理に必要なレジスタを全て所定の初期値にクリアする
ことができる。 【0039】図6にこの発明の第2の実施例であるDS
Pのブロック図を示す。この実施例において、図1に示
した第1の実施例と構成において同一の部分は同一番号
を付して説明を省略する。この実施例では、通常動作の
ための信号処理プログラムとは別に、レジスタ初期化用
の初期化プログラムを内蔵し、初期化サイクル時にはこ
れを起動することによって所定のレジスタを迅速に初期
化するようにした点で上記第1の実施例と異なってい
る。 【0040】このDSPでは初期化専用のプログラムで
ある初期化プログラムを記憶する初期化プログラムレジ
スタ50を備えている。初期化プログラムレジスタ50
に記憶される初期化プログラムは、マイクロプログラム
レジスタ11に記憶される並列型の命令形式ではなく、
初期化すべき内部レジスタのアドレスを示すコード(内
部レジスタコード)と初期値選択コードのみからなる簡
略な形式のものである。すなわち、クリアサイクルにお
いては、加算・乗算などの演算動作を実行することはな
く、初期値を各レジスタに転送するのみであるため、初
期化プログラムとしては初期化する内部レジスタコード
と初期値選択コードのみでよく、実際にDSPを動作さ
せるための命令は命令発生器53が自動的に発生する。
なお、この実施例では命令発生器53がオペコードを発
生し、これをデコーダ14に入力してデコード信号に変
換するようにしているが、命令発生器53がデコード信
号を直接発生する構成にすれば、この命令発生器53と
デコーダ14とを切り換えることで信号処理サイクルと
初期化サイクルを切り換えることができる。 【0041】ホストCPUは初期化プログラムを初期化
プログラムレジスタ50に書き込むとき、同時にカウン
タ51に対してinitstepデータを入力する。i
nitstepデータは、初期化プログラムのステップ
数を示すデータである。カウンタ51は、初期化プログ
ラムレジスタ50に対して動作クロックに同期したアド
レス値を入力するとともに、前記initstepの区
間のみマスクフラグMASKを解除して初期化プログラ
ムレジスタ50から読み出される初期化プログラムが命
令発生器53,マルチプレクサ16へ到達できるように
する。このカウンタ51のカウント動作は、初期化サイ
クル時のみならず信号処理サイクル中にも常時行われて
おり、信号処理サイクル時における初期化プログラムの
出力は、ゲート回路52においてfiの“0”信号によ
り阻止されている。 【0042】ホストCPUは、上記初期化プログラム,
initstepの設定ののち、DSPを初期化する場
合、第1の実施例と同様にfiセット信号をDSPに対
して出力する。DSPにおいて、このfiセット信号は
ホストCPUインタフェース10を介してフラグ制御回
路13に入力される。フラグ制御回路13は図2と同様
の構成であり、fiセット信号が入力された実行サイク
ルの次のサイクルの先頭からfiの“1”信号を出力す
る。この信号はAND回路55およびマルチプレクサ5
6のセレクト端子に入力される。AND回路55の他の
入力端子には前記/MASK信号が入力されている。ま
た、AND回路55の出力信号はゲート回路52に入力
されている。ゲート回路52は初期化プログラムレジス
タ50から読み出された内部レジスタコードおよび初期
値選択コードをそれぞれ命令発生器53およびマルチプ
レクサ16に出力する。また、マルチプレクサ56はf
iの“1”信号入力応じて入力をマイクロプログラムレ
ジスタ11側から命令発生器53側へ切り換える(この
ときMASKは“0”であるとする。)。なお、このマ
ルチプレクサ56にはMASKも入力されており、fi
=1且つMASK=1の場合には、マルチプレクサ56
は、デコーダ14に対してNOP(Not Operation) を入
力する。すなわち、初期化サイクルのうち、実際に初期
化プログラムが読み出される区間のみデコーダ14と命
令発生器53とを接続する。なお、命令発生器53とマ
ルチプレクサ56との間に挿入されているディレイ54
は命令コードの入力タイミングを調整するためのもので
ある。 【0043】上記構成のDSPの動作を説明する。ま
ず、立ち上げ時の設定動作として、ホストCPUはマイ
クロプログラムレジスタ11に信号処理プログラムを書
き込み、初期値レジスタ12に4種類の初期値を書き込
むとともに、初期化プログラムレジスタ50に初期化プ
ログラムを書き込み、カウンタ51に初期化プログラム
のステップ数データinitstepを書き込む。これ
によりこのDSPは動作可能になる。DSPはマイクロ
プログラムレジスタ11から信号処理プログラムを読み
出して実行サイクルを繰り返し実行する。このとき同時
にカウンタ51は初期化プログラムレジスタ50に対し
てアドレスを出力しており、初期化プログラムも並行し
て読み出されている。しかし、この初期化プログラムは
ゲート回路52で阻止されてDSP内部には出力されな
い。 【0044】ホストCPUがレジスタの初期化をするた
めfiセット信号を入力すると、次のサイクルの先頭に
fiが“1”になり、AND回路回路55によってゲー
ト回路52が開くとともに、マルチプレクサ56が初期
化プログラムレジスタ50(命令発生器53)側に切り
替わる。これにより、初期化プログラムレジスタ50か
ら読み出された命令(内部レジスタコード)が命令発生
器53に入力され、これに基づいて作成された命令コー
ドがマルチプレクサ56を介してデコーダ14に入力さ
れる。これにより、初期化動作が実行される。所定ステ
ップ数の初期化プログラムの実行が終了するとカウンタ
51はMASK信号を“1”にするためゲート回路52
が閉じてそれ以後の初期化プログラムの読み出しが阻止
されるとともに、マルチプレクサはfi=1 AND
MASK=1によりNOPコードをデコーダ14に出力
する。これにより、所定ステップのクリア動作を終了し
たのちは、そのサイクル内で他の不要な動作を実行しな
いようにしている。 【0045】このようにすることにより、実行プログラ
ムを利用してクリアする場合に比して簡略なプログラム
で短時間でクリア動作を終了することができる。また、
初期化プログラムは短いステップ数で足り、また、命令
も短いものでよいため、初期化プログラムレジスタは信
号処理プログラムを記憶するマイクロプログラムレジス
タに比して小さいものでよい。また、初期化プログラム
レジスタをマイクロプログラムレジスタと同じ程度の大
きさのもので構成した場合には、初期化プログラムを複
数種類記憶しておき、カウンタ51に対してカウントス
タートアドレスおよびステップ数を指示することによ
り、上記複数種類の初期化プログラムのなかから適当な
ものを選択して読み出し・実行することが可能になる。 【0046】なお、上記実施例では、信号伝達経路に初
期値を送り込むマルチプレクサ16をALU20とアキ
ュムレータ17との間に挿入したが、これ以外の場所、
例えば、IBUS23,TBUS24とALU20との
間やアキュムレータ17と内部データバス18との間に
挿入するようにしてもよい。 【0047】また、上記実施例では初期値レジスタ12
に4種類の初期値を設定可能であるが、より多くの初期
値を設定できるようにしてもよく、また逆に、マルチプ
レクサ16で選択できる初期値を一般的に多用される値
(例えば“0”)に限定してもよい。また、上記マイク
ロプログラムでは初期値フィールドに初期値選択コード
を記憶しているが、この初期値フィールドに設定すべき
初期値を直接書き込むようにしてもよい。 【0048】また、フラグ制御回路13は上記実施例の
ものに限定されない。特に、上記実施例ではfiセット
信号によってfi=1となると、次にfiリセット信号
が入力されるまでfi=1のままであるが、fi=1で
処理サイクルを1サイクル実行したのち自動的にfi=
0におとすようにしてもよい。 【0049】また、第1の実施例(請求項1)の構成
は、可変プログラム長のDSPにも同様に適用可能であ
り、この場合には、初期化の簡略な処理に多くのプログ
ラムサイズを割く必要がなくなる。 【0050】なお、上記実施例は、特許請求の範囲に記
載した発明の他に以下のような特徴を有している。「請
求項1,2の演算処理プログラムは、繰り返し実行され
るマイクロプログラムである。」,「演算されるデータ
をデータ記憶部と演算部との間に循環させて演算処理を
実行する。」,「請求項1,2の信号処理装置は、演算
処理プログラムにしたがって、データをメモリと演算部
との間に循環させて演算処理をする。」,「前記演算処
理プログラムは水平型命令プログラムである。」 【0051】 【0052】 【発明の効果】この発明によれば、信号処理プログラム
記憶部とは別の初期化プログラムメモリを設けたことに
より、簡略な初期化プログラムで迅速に装置内のデータ
記憶部をクリアすることができる。 【0053】
DETAILED DESCRIPTION OF THE INVENTION [0001] The present invention relates to an electronic musical instrument.
For signal processing devices such as DSPs,
The present invention relates to a signal processing device that facilitates a clearing operation of a signal. [0002] 2. Description of the Related Art In an electronic musical instrument, the synthesis and effect
DSPs used to provide fruits, etc.
Meaningless signals are output during
Signal processing so that incorrect signal processing is not
Clear internal registers before starting operation
There is. However, DSP requires high-speed response.
Therefore, it is necessary to clear this internal register at high speed.
You. [0003] SUMMARY OF THE INVENTION Conventional variable length instruction tie
In a general purpose DSP, a simple initialization program
Do not memorize them and execute them in response to external instructions.
Which method was taken, but specialized for music signal processing
DSPs generally have a limited number of program steps
Steps to such an initialization program
Occupied enough steps for the actual signal processing
There is a problem that can not be taken. Further, the register can be reset by hardware.
It is conceivable to configure the DSP element so that
When the SP has such a structure, the chip area becomes large.
And increase the cost and cost.
Was. According to the present invention, a register required by a simple configuration is provided.
Signal processing device that can initialize (data storage unit)
The purpose is to provide a device. [0006] [0007] [Means for Solving the Problems]The inventionIs entered from outside
Data that stores input signal data and operation result data
Executes a predetermined operation on the storage unit and given data
And a processing program to be repeatedly executed
An arithmetic processing program storage unit for storing
Based on the arithmetic processing program to be executed, the data
When the data stored in the storage unit is given to the arithmetic unit,
In addition, the calculation result data obtained by performing the calculation by the calculation unit is described above.
Data transfer means for writing to the data storage unit.
A predetermined initial value for the data storage unit.
Multiple initialization programs to execute value writing
An initialization program storage unit that stores types, and an arithmetic processing
When initialization is instructed during program execution,
Of the currently executed arithmetic processing program
During the interval between the two
Execute any one of them and then execute the arithmetic processing program.
Operation switching means for returning to the program cycle of the system.
It is characterized by having been provided. [0008] [0009] [0010] [0011] [Action]The inventionThe signal processing device ofFaithNo. processing
The signal processing program stored in the program storage means
It operates based on the system.That is, the data transfer means
The data stored in the data storage is given to the
The arithmetic unit performs a predetermined operation on the data. Data transfer
The transmitter writes the data of the operation result in the data storage unit.
Put in. By repeating this operation, the music signal
Configuration, filter processing, and the like.On the other hand, the initialization program
The program is initialized separately from the signal processing program storage unit.
It is stored in the RAM storage unit. When initialization is instructed
Operating the data transfer means with the initialization program
At the same time, data is read from the data storage
Spilled outDeData to the calculation unit instead of
Indicates the initial value in place of the data output by the arithmetic unit.
Write in the storage unit. This allows a simple initialization program
To quickly initialize the required data storage
You. [0012] [0013] [0014] FIG. 1 shows a digital system according to an embodiment of the present invention.
FIG. 2 is a block diagram of a signal processor (DSP). this
The DSP is stored in the microprogram register 11
Read the signal processing program
U. The signal processing program has a 256-step horizontal command.
And the micro program register 11
Also have this storage capacity. Micro program cash register
The writing of the signal processing program to the
The host CPU operates via the CPU interface 10.
U. The horizontal instruction consists of an instruction code (op code) and coefficient data.
Data, memory address and initialization field
This is a fixed-length instruction and is read at the same time. Read out
The instruction code is input to the decoder 14. decoder
14 decodes the instruction code into a decode signal
Transmit to each operation unit. Operation that received this decode signal
The unit performs a corresponding operation. During this operation,
And coefficients are used. Also, the initial value selection field
Registers such as IRAM21 and TRAM22, which will be described later,
Initial value selection command to select the initial value when initializing the
The code is written. The temporary RAM (TRAM) 22 is simply
Delay (Z-1) And a register that stores values during the calculation
Group. Also, an input RAM (IRAM) 21
Is input from external input signal data or external memory.
Register group that stores the loaded data.
A register group that is also used as a temporary register.
You. The data in IRAM 21 is output to IBUS 23
You. The data of TRAM22 is output to TBUS24
Is done. IBUS23 and TBUS24 each have
Multiplexers 25 and 27 are connected. Multiple
The internal data BUS 18, which will be described later, is
Connected, and “1” as constant value data
Has been entered. The multiplexer 27 is connected to these three buses.
And one of the “1” data
To the ALU 20. To other input terminal of ALU20
Is connected to a multiplexer 28. This multi
The multiplexer 28 outputs the output value of the multiplexer 25,
Output value of chipplier 26, micro program register
11 as a coefficient value or a constant value
One of "1" is selected and input to the ALU 20. Previous
The multiplier 26 is connected to the multiplexer 25.
Data or TBUS selected on IBUS23
From the microprogram register 11 to the data on 24
Multiply the coefficient value to be read. In ALU20,
Data selectively input by the multiplexers 27 and 28
Is calculated and output. During normal operation,
The output of ALU 20 is output through multiplexer 16
Input to the accumulator 17. The accumulator 17
Accumulates the input value to the value stored at that time and internally
Output on the data bus 18. Output on internal data bus
The stored data is stored in the memory address register and data register.
When read by a predetermined circuit such as a star or an output port
First, IRAM21, TRAM22 and multiplexer 2
7 is input. In the above configuration in the DSP, usually the
Multiplication by Luchi pliers 26, addition by ALU 20
And accumulation by the accumulator 17 includes the TRAM 22
Repetition through the circulation path
A filter circuit or the like is realized by the calculation. Here, the multiplexer 16 is connected to the ALU2
Select one of the eight inputs, including the output of
This is a circuit to be input to the mullator 17. Of eight input terminals
The output of the ALU20 is supplied to the 0th input terminal.
The input terminals 1 to 7 have different 7
An initial value for the type is supplied. This initial value is IRAM2
1, the value to be written when initializing the TRAM 22
is there. The first, second, and third input terminals have constant values
"0", "1", and "-1" are supplied, respectively.
You. The four input terminals No. 4 to No. 7 have initial value levels.
An initial value stored in the register 12 is supplied. initial
Writing of the initial value to the value register 12 is performed by the host CPU.
This is performed by the host CPU via the interface 10. The multiplexer 16 has a select terminal
A port circuit (AND circuit group) 15 is connected. this
The gate circuit includes the microprogram register 11
Initial value selection code stored in the initial value selection field
Is entered for each program step. This gate
The fi terminal of the flag control circuit 13 is connected to the control terminal of the circuit 15.
Is entered. fi signal allows register initialization
/ Prohibit signal, when this signal is “1 (H)”
The gate circuit 15 is opened and the initial value selection code is
Input to the multiplexer 16 and output from the ALU 20
In place of the data (No. 0)
Input to the accumulator 17. The flag control circuit 13 has a host CPU interface.
Fi set signal, fi reset via interface 10
A signal is input. Also, the micro program register
11 in the signal processing program written in
And outputting a fi reset signal.
If there is, the fi set signal, fi
A reset signal is input. The flag control circuit 13
The fi signal is set (“1”) / reset based on these signals.
("0"). As described above, the fi signal is set.
Gate circuit 15 is opened when
Stored in the initialization field of the RAM register 11
The initial value selection code is input to the multiplexer 16, and 1
Of the seven types of initial values input to the input terminals
One of them is input to the accumulator 17. FIG. 2 is a detailed diagram of the flag control circuit 13.
is there. The flag control circuit 13 sends the fi from the host CPU.
When the set signal is input, the current execution cycle
To make the next execution cycle the initialization cycle,
Fi is set to "1" from the beginning of the row cycle. Ma
In addition, a fi reset signal is input from the host CPU.
Returns from the next execution cycle to the signal processing cycle.
Reset fi from the beginning of the next execution cycle
I do. Hereinafter, the operation of each unit will be described in detail. A fi set signal or f
When the i reset signal is input, the flip-flop 30
Is set by this signal input. Also flip flip
Rop 31 is set when the fi set signal is input.
Reset when a fi reset signal is input.
You. When the flip-flop 30 is set, the Q signal is
Since it becomes “1”, the flag is busy through the OR circuit 33.
A signal is output. This flag busy signal is
It is input to the U interface 10. This flag busy
While the signal is on, the host CPU interface 1
0 indicates the input of a new fi set signal or fi reset signal.
Do not accept power. The Q signal of the flip-flop 30 is A
The signal is input to the ND circuit 34. Other input of AND circuit 34
LASTST from the clock counter (not shown)
An EP signal is input. The LAST STEP signal is 2
Of the 56-step microprogram, the final step
This is a signal indicating that it is a loop (255 steps). My
Clock program (signal processing program) is executed repeatedly
Therefore, the LAST STEP signal is output from the next step.
This indicates that a new run cycle is starting, so
Set fi in accordance with the instruction of the host CPU.
Reset / reset. LAST STEP signal (“1” signal
Signal from the flip-flop 30 (“1” signal).
Signal passes through the AND circuit 34, the Q signal becomes
The signals are input to the ND circuits 37 and 38. AND circuit 37, 3
8 have input terminals of flip-flop 3
Q signal and / Q signal (/ indicates negative logic) from 1
It is empowered. Therefore, the signal input from the CPU
Is a fi set signal, the AND circuit 37
The output becomes “1” and the signal input from the CPU
If it is a reset signal, the output of the AND circuit 38
Becomes “1”. The output signal of the AND circuit 37 becomes "1".
In this case, the AND circuit 40, the OR circuit 44, and the OR circuit
This "1" signal is transmitted through fi
Output as a signal. The AND circuit 40 has an AN
A LASTSTEP signal similar to that of the D circuit 34 is input.
Therefore, it opens in synchronization with the AND circuit 34, and this “1”
The signal can pass. Also, the delay 48
AND circuit 3 formed by LASTSTEP signal
7 signal from the beginning of the next execution cycle
This is a delay for outputting as Delay 48?
When the fi signal (“1” signal) is output from the
The signal is input to the gate circuit 15 of FIG.
The signal is returned to the AND circuit 46 in the control circuit. This AND times
Normally, a "1" signal is input to the other input terminal of the path 46.
The AND circuit 46 returns from the delay 48
"1" is output in response to the "1" signal. this
The “1” signal is input to the delay 48 via the OR circuit 47
Therefore, after that, the other input of the AND circuit 46 is performed.
Until the output terminal (output of NOR circuit 45) falls to "0"
The fi signal will continue to be "1". On the other hand, a fi reset signal is input from the CPU.
After that, the LAST STEP signal is input and AND
When the output signal of the circuit 38 becomes “1”, AND
This signal is input to the NOR circuit 44 via the circuit 42.
You. The LAST STEP signal is input to the AND circuit 42.
Therefore, this "1" signal passes. NOR circuit 45
Outputs “0” by this “1” input, and
The circuit 46 receives the “1” input from the delay 48.
Is forced to "0", and this "0" signal is OR
The signal is input to the delay 48 via the circuit 47. In addition, this
In this case, the OR circuit 44 does not output "1". I
Therefore, after the fi reset signal is input, LAST
When the STEP signal is input, the fi signal drops to "0".
Will be done. Note that the delay 48 is
Delay to set the fi signal to "0" from the beginning of the cycle
I. Also, a fi set signal and a fi reset
If the signal is written during the microprogram
Are input from the decoder 14. Decoder 14
When the fi set signal is input from the AND circuit 42,
Via OR circuit 44, OR circuit 47 and delay 48
The lever set signal is output as the fi signal. What
The inverted LAS is connected to the other terminal of the AND circuit 42.
Since the TSTEP signal has been input, the
Except for the last step, fi input from the decoder 14
The set signal is transmitted to the delay 48 as it is. De
When the fi signal is output from the
1 gate circuit 15 and the flag system
The signal is returned to the AND circuit 46 in the control circuit. This AND circuit
Normally, a "1" signal is input to the other input terminal of 46.
Therefore, the AND circuit 46 returns from the delay 48
"1" is output by the obtained "1" signal. This "1"
The signal is input to the delay 48 via the OR circuit 47
Therefore, after this, the other input terminal of the AND circuit 46
(The output of the NOR circuit 45)
The number will continue to be "1". On the other hand, the fi reset signal from the decoder 14
Is input through the AND circuit 43 to N
The signal is input to the OR circuit 45. Note that other than the AND circuit 43
LAST STEP signal is input to the other terminal.
Except for the last step of the execution cycle.
The fi reset signal input from the coder 14 remains unchanged
The signal is input to the NOR circuit 45. The NOR circuit 45
Since “0” is output by “1” input, the AND circuit 4
6 is strong even if "1" input is input from delay 48
The signal is dropped to "0", and this "0" signal is
7 to the delay 48. In the description of FIG. 2, the host CPU
Fi set signal input from the host CPU
Reset by the reset signal
The fi set signal input from the decoder 14 is
Reset by the fi reset signal input from
Although described, the fi-set input from the host CPU is used.
Reset signal input from the decoder 14
Can be reset by the
The fi set signal input from the host CPU
It can be reset by a set signal. FIG. 3 shows a host in the flag control circuit having the above configuration.
Fi set signal or fi reset signal from CPU
FIG. 6 is a timing chart of signals of respective parts when input is performed.
You. When the fi set signal is input from the host CPU,
Thereafter, during this execution cycle, the flag busy signal
It becomes “1”. Closing the last step of this run cycle
LASTSTEP signal is input from the clock counter
The flag busy signal at the rise of the next step
At the same time as falling to "0", the fi signal rises. Hos
When the fi reset signal is input from the CPU,
During the row cycle, the flag busy signal is "1". This
From the clock counter to the last step of the execution cycle
When the LASTSTEP signal is input, the next step
When the flag busy signal falls to “0” at the rising edge
In contrast, the fi signal drops to "0", contrary to the fi set signal.
Chiru. FIG. 4 is a diagram showing an example of a simple filter.
You. FIG. 5A shows the filter of FIG.
Shows a microprogram to be realized by arithmetic
You. Further, FIG. 5B shows the actual program of FIG.
The initialization operation when fi is set in a row will be described.
FIG. The operation of FIG. 5A will be described. Where i
nit = 1 means the initial value stored in the initialization field.
The period value selection code is 1, that is, the value of the first input terminal is
Is selected as an initial value, and the fi
When the value becomes “1”, this value is input to the selector 16.
The constant value “0” input to the first input terminal
This indicates that the input is input to the mullator 17. INPUT data to accumulator
To load. INPUT is stored in IRAM21, for example.
It is a provided register. The value in the area T1 in the TRAM 22 is
Input to the multiplier 26 and multiply this value by the coefficient a1.
The multiplication result of the lever is accumulated in the accumulator 17. did
Therefore, the content of the accumulator is INPUT + T1 ×
a1. In addition, as shown in FIG.
This is the contents of the delay stored in the operation of the cycle. The contents of the accumulator 17 are stored in TRAM2
2 to the register T2. But Accumley
The above values still remain in the data 17. The value in area T1 is assigned to multiplier 2
6 and multiply this value by a coefficient a2.
It is accumulated in the accumulator 17. Therefore, accumulate
The content of the lator is INPUT + T1 × a1 + T1 × a2
Becomes Currently stored in the accumulator 17
Transfer the contents to OUT. OUT is, for example, an output buffer
It is. The contents stored in the output buffer are stored in an external circuit (eg,
For example, D / A converter)
You. Write the contents stored in T2 to T1
Put in. As a result, the delay value of the current cycle is
The data is written to the star T1. By repeating the above operation, FIG.
The operation of the indicated filter is performed. By the way, this behavior
Start, the value stored in T1 is indeterminate
Therefore, if it is not cleared, subsequent operations will be affected.
You. Therefore, prior to the start of such a filter operation,
Thus, an initialization cycle is executed. The initialization cycle is
As described above, fi is set to “1” to execute one cycle.
It is realized by performing the cycle. FIG.
0 is written to each area by the clear cycle.
The procedure is shown. If fi = 1, what instruction is
However, the accumulator 17 is selected with init = 1.
Is input. Usually the processed signal is
Transferred through the ALU 20 and the accumulator 17
Therefore, select between ALU 20 and accumulator 17
Data from the ALU 20 to the accumulator 17
Signal to be replaced with another signal (initial value: for example 0)
As a result, all data transferred within this DSP
Can be cleared with the initial value of. In this example, a simple filter circuit is described.
As described above, even when performing more complicated signal processing,
Because it is a combination of arithmetic, addition, and accumulation,
There is no fundamental difference from the data processing. Therefore,
Even complex signal processing like
One execution cycle of the signal processing program with fi = 1
The initialization cycle is executed by executing
Clear all registers required for processing to predetermined initial values
be able to. FIG. 6 shows a DS according to a second embodiment of the present invention.
FIG. 3 shows a block diagram of P. In this embodiment, as shown in FIG.
The same parts in the configuration as those of the first embodiment have the same numbers.
And the description is omitted. In this embodiment, the normal operation
For register initialization separately from the signal processing program for
Built-in initialization program.
Quickly initialize a given register by activating it
The first embodiment differs from the first embodiment in that
You. This DSP is a program dedicated to initialization.
Initialization program register that stores a certain initialization program
A star 50 is provided. Initialization program register 50
The initialization program stored in the
Instead of the parallel instruction format stored in the register 11,
Code indicating the address of the internal register to be initialized.
Register code) and the initial value selection code only.
It is a short form. That is, in the clear cycle
Therefore, it is not possible to execute arithmetic operations such as addition and multiplication.
Since only the initial value is transferred to each register,
Internal register code to be initialized as the initialization program
And the initial value selection code only, and the DSP actually operates.
The instruction for generating the instruction is automatically generated by the instruction generator 53.
In this embodiment, the instruction generator 53 issues an operation code.
This is input to the decoder 14 and converted into a decoded signal.
The instruction generator 53 decodes the decoded signal.
Signal generator directly, this instruction generator 53 and
By switching with the decoder 14, the signal processing cycle and
The initialization cycle can be switched. The host CPU initializes the initialization program
When writing to the program register 50,
The initstep data is input to the data 51. i
nitstep data is the step of the initialization program
This is data indicating a number. The counter 51 is an initialization program.
Address synchronized with the operation clock to the RAM register 50
Enter the address value and enter the
Release the mask flag MASK only during
The initialization program read from the
Command generator 53 and multiplexer 16
I do. The counting operation of the counter 51 is performed at the initialization size.
This is always performed not only during the signal cycle but also during the signal processing cycle.
Of the initialization program during the signal processing cycle.
The output is made by the fi “0” signal in the gate circuit 52.
Has been blocked. The host CPU executes the initialization program,
After initializing the initstep, initialize the DSP
In this case, the fi set signal is sent to the DSP as in the first embodiment.
And output. In a DSP, this fiset signal is
Flag control circuit via host CPU interface 10
Input to the road 13. The flag control circuit 13 is the same as in FIG.
Execution cycle in which the fi set signal is input.
"1" signal of fi is output from the beginning of the next cycle of
You. This signal is supplied to the AND circuit 55 and the multiplexer 5
6 is input to the select terminal. Another of the AND circuit 55
The / MASK signal is input to the input terminal. Ma
The output signal of the AND circuit 55 is input to the gate circuit 52.
Have been. The gate circuit 52 is an initialization program register.
Internal register code read from the
The value selection code is stored in the instruction generator 53 and the
Output to the lexer 16. The multiplexer 56 is f
The input is microprogrammed according to the "1" signal input of i.
Switching from the register 11 side to the instruction generator 53 side (this
At this time, MASK is “0”. ). Note that this
MASK is also input to the multiplexer 56, and fi
= 1 and MASK = 1, the multiplexer 56
Inputs NOP (Not Operation) to the decoder 14.
Power. That is, during the initialization cycle,
The decoder 14 is instructed only during the section where the
Command generator 53 is connected. Note that the instruction generator 53 and the
Delay 54 inserted between the multiplexor 56
Is for adjusting the input timing of the instruction code.
is there. The operation of the DSP having the above configuration will be described. Ma
Host CPU as a setting operation at startup
Write a signal processing program to the black program register 11.
Writes four types of initial values to the initial value register 12
In addition, the initialization program register 50
Program, and initializes the counter 51
Is written as step number data initstep. this
This makes this DSP operable. DSP is micro
Read the signal processing program from the program register 11
And repeat the execution cycle. At this time
The counter 51 responds to the initialization program register 50.
Address, and the initialization program runs in parallel.
Has been read. However, this initialization program
The signal is blocked by the gate circuit 52 and is not output inside the DSP.
No. When the host CPU initializes the registers,
When the fi set signal is input, at the beginning of the next cycle
fi becomes “1” and the AND circuit 55
Circuit 52 is opened and the multiplexer 56 is initialized.
To the generalized program register 50 (instruction generator 53) side
Take the place. As a result, the initialization program register 50
Instruction (internal register code) read from instruction is generated
Command code which is input to the
Is input to the decoder 14 via the multiplexer 56.
It is. Thereby, an initialization operation is performed. Predetermined step
When the execution of the initialization program for the number of
51 is a gate circuit 52 for setting the MASK signal to "1".
Closes, preventing further reading of the initialization program
And the multiplexer has fi = 1 AND
Outputs NOP code to decoder 14 when MASK = 1
I do. This completes the clear operation of the predetermined step.
After that, do not perform any other unnecessary operations in the cycle.
I'm trying. By doing so, the execution program
Program that is simpler than clearing using a program
Thus, the clear operation can be completed in a short time. Also,
The initialization program needs only a short number of steps,
Since the initialization program register can be short,
Micro program register that stores the signal processing program
It may be smaller than the data. Also, the initialization program
Registers are as large as microprogram registers.
If it is configured with the
Several types are stored, and the count
By specifying the start address and the number of steps
Of the initialization programs
It becomes possible to select and read / execute an object. In the above embodiment, the signal transmission path is
The multiplexer 16 for sending the period value is connected to the ALU 20
Inserted between the accumulator 17 and other places,
For example, IBUS23, TBUS24 and ALU20
Between the accumulator 17 and the internal data bus 18
It may be inserted. In the above embodiment, the initial value register 12
Can be set to four types of initial values, but more initial values
Values may be set, and conversely,
Initial values that can be selected by the lexer 16 are commonly used
(For example, “0”). Also, the microphone
In the program, the initial value selection code is set in the initial value field.
But should be set in this initial value field
The initial value may be directly written. The flag control circuit 13 is provided in the above-described embodiment.
It is not limited to one. In particular, in the above embodiment, the fi set
When fi = 1 by the signal, the fi reset signal
Is kept until fi is input.
After executing one processing cycle, fi =
It may be set to 0. Further, the configuration of the first embodiment (claim 1)
Is similarly applicable to DSPs of variable program length.
In this case, the simple initialization process requires many programs.
There is no need to split the ram size. The above embodiment is described in the claims.
The present invention has the following features in addition to the invention described above. "
The operation processing programs of the first and second terms are repeatedly executed.
Microprogram. "," Calculated data
Is circulated between the data storage unit and the arithmetic unit to perform arithmetic processing.
Execute. ", The signal processing device according to claims 1 and 2
According to the processing program, the data is stored in the memory and
The calculation process is performed by circulating between. , "
The logical program is a horizontal instruction program. " [0051] [0052] 【The invention's effect】thisAccording to the invention, a signal processing program
By providing an initialization program memory separate from the storage unit
The data in the device can be quickly saved with a simple initialization program.
The storage unit can be cleared. [0053]

【図面の簡単な説明】 【図1】この発明の実施例であるDSPのブロック図 【図2】同DSPのフラグ制御回路のブロック図 【図3】同フラグ制御回路の信号のタイミングチャート 【図4】前記DSPによって実現されるフィルタの例を
示す図 【図5】同フィルタをDSPで実現するためのマイクロ
プログラムを示す図 【図6】この発明の第2の実施例であるDSPのブロッ
ク図 【符号の説明】 12−初期値レジスタ、13−フラグ制御回路、16−
マルチプレクサ
BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is a block diagram of a DSP according to an embodiment of the present invention. FIG. 2 is a block diagram of a flag control circuit of the DSP. FIG. 3 is a timing chart of signals of the flag control circuit. 4 is a diagram showing an example of a filter realized by the DSP. FIG. 5 is a diagram showing a microprogram for realizing the filter by the DSP. FIG. 6 is a block diagram of a DSP according to a second embodiment of the present invention. [Description of Signs] 12-initial value register, 13-flag control circuit, 16-
Multiplexer

───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G06F 1/24 ──────────────────────────────────────────────────続 き Continued on front page (58) Field surveyed (Int.Cl. 7 , DB name) G06F 1/24

Claims (1)

(57)【特許請求の範囲】 【請求項1】 外部から入力された信号データや演算結
果データを記憶するデータ記憶部と、 与えられたデータに対して所定の演算を実行する演算部
と、 繰り返し実行される演算処理プログラムを記憶する演算
処理プログラム記憶部と、 前記繰り返し実行される演算処理プログラムに基づき、
前記データ記憶部に記憶されているデータを前記演算部
に与えるとともに、演算部が演算を行った演算結果デー
タを前記データ記憶部に書き込むデータ転送手段と、 を有する信号処理装置において、 前記データ記憶部に対する所定の初期値の書き込みを実
行するための初期化プログラムを複数種類記憶する初期
化プログラム記憶部と、 演算処理プログラム実行途中に初期化が指示されたと
き、前記繰り返し実行されている演算処理プログラムの
プログラムサイクルの合間に、前記複数種類の初期化プ
ログラムのうちいずれか1つを実行し、こののち前記演
算処理プログラムのプログラムサイクルに復帰する動作
切換手段と、 を設けたことを特徴とする信号処理装置。
(57) [Claim 1] A data storage unit for storing signal data and operation result data inputted from outside, an operation unit for executing a predetermined operation on given data, An arithmetic processing program storage unit that stores an arithmetic processing program that is repeatedly executed, based on the arithmetic processing program that is repeatedly executed,
A data transfer unit that supplies data stored in the data storage unit to the operation unit and writes operation result data calculated by the operation unit to the data storage unit. An initialization program storage unit for storing a plurality of types of initialization programs for executing the writing of a predetermined initial value to the unit; and the operation processing being repeatedly executed when initialization is instructed during execution of the operation processing program. Operation switching means for executing any one of the plurality of types of initialization programs during a program cycle of the program, and thereafter returning to a program cycle of the arithmetic processing program. Signal processing device.
JP00345595A 1995-01-12 1995-01-12 Signal processing device Expired - Fee Related JP3470432B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP00345595A JP3470432B2 (en) 1995-01-12 1995-01-12 Signal processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP00345595A JP3470432B2 (en) 1995-01-12 1995-01-12 Signal processing device

Publications (2)

Publication Number Publication Date
JPH08190445A JPH08190445A (en) 1996-07-23
JP3470432B2 true JP3470432B2 (en) 2003-11-25

Family

ID=11557807

Family Applications (1)

Application Number Title Priority Date Filing Date
JP00345595A Expired - Fee Related JP3470432B2 (en) 1995-01-12 1995-01-12 Signal processing device

Country Status (1)

Country Link
JP (1) JP3470432B2 (en)

Also Published As

Publication number Publication date
JPH08190445A (en) 1996-07-23

Similar Documents

Publication Publication Date Title
US4649512A (en) Interface circuit having a shift register inserted between a data transmission unit and a data reception unit
US5444646A (en) Fully static 32 bit alu with two stage carry bypass
US4748559A (en) Apparatus for reducing power consumed by a static microprocessor
JPS6029402B2 (en) Clock control signal generator
JPS58219644A (en) Instruction execution system
US4584642A (en) Logic simulation apparatus
JP3470432B2 (en) Signal processing device
US4896264A (en) Microprocess with selective cache memory
US4101967A (en) Single bit logic microprocessor
US4001789A (en) Microprocessor boolean processor
US5710904A (en) Microprocessor having address pre-outputting function and data processor using the same
ES457282A1 (en) Programmable sequential logic
US6240028B1 (en) Simplified peripheral logic for memory device
US20240160593A1 (en) Asynchronous Controller for Processing Unit
US5018092A (en) Stack-type arithmetic circuit
JP2901648B2 (en) Digital signal processor and control method thereof
JP2577452B2 (en) Digital signal processor
JP2515724B2 (en) Image processing device
JP2001092658A (en) Data processing circuit and data processor
JPS62123526A (en) Central processing unit for digital signal processor
JPH0876973A (en) Arithmetic processing unit and extended arithmetic unit
SU1198532A1 (en) Operational device for microprocessor computer system
JPS63303425A (en) Arithmetic unit
JPH04326426A (en) Instruction decoding circuit
JP2000322256A (en) Information processor

Legal Events

Date Code Title Description
S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313532

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313532

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

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

Free format text: PAYMENT UNTIL: 20070912

Year of fee payment: 4

R370 Written measure of declining of transfer procedure

Free format text: JAPANESE INTERMEDIATE CODE: R370

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

Free format text: PAYMENT UNTIL: 20070912

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20080912

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20090912

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20100912

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20100912

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20110912

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20120912

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees