JP3629693B2 - Signal processing device - Google Patents

Signal processing device Download PDF

Info

Publication number
JP3629693B2
JP3629693B2 JP06272497A JP6272497A JP3629693B2 JP 3629693 B2 JP3629693 B2 JP 3629693B2 JP 06272497 A JP06272497 A JP 06272497A JP 6272497 A JP6272497 A JP 6272497A JP 3629693 B2 JP3629693 B2 JP 3629693B2
Authority
JP
Japan
Prior art keywords
signal processing
processing
external memory
storage means
data
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
JP06272497A
Other languages
Japanese (ja)
Other versions
JPH10260831A (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.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co Ltd
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 Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP06272497A priority Critical patent/JP3629693B2/en
Publication of JPH10260831A publication Critical patent/JPH10260831A/en
Application granted granted Critical
Publication of JP3629693B2 publication Critical patent/JP3629693B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Electrophonic Musical Instruments (AREA)
  • Advance Control (AREA)
  • Executing Machine-Instructions (AREA)
  • Stored Programmes (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、例えば、電子楽器の音源等に用いて好適な信号処理装置に関する。
【0002】
【従来の技術】
従来より、ホストCPU機能の高性能化あるいは分散化などを狙いとした専用の信号処理装置が知られている。この種の処理装置は、アナログ波形をデジタル変換したデジタル信号についてデジタルフィルタリングやFFT(高速フーリエ変換)等の処理を効率良く実行するため、積和演算を高速に処理する乗算器を内蔵しており、デジタル・シグナル・プロセッサ(DSP)と呼ばれている。
【0003】
このような信号処理装置では、処理すべきデータを外部メモリに記憶しておき、これを逐次取込んで信号処理する形態をとる場合が多い。例えば、電子楽器の音源として使用する場合には、外部メモリに記憶される波形データを所定のサンプリング周期毎に順次読み出し、読み出した波形データについて、遅延フィードバック演算やフィルタ演算(例えば、FIRフィルタ等)を施して各種倍音構成の楽音を形成したり、形成した楽音に様々な効果音を付与して出力するようになっている。
【0004】
【発明が解決しようとする課題】
ところで、上述した従来の信号処理装置では、外部メモリへのアクセスタイムが内部メモリへのそれより遅くなるのが一般的である。すなわち、外部メモリからデータを読み出す場合について図9に図示するパイプライン処理のタイミング例に基づいて参照すると、まず、プログラムカウンタPCが「n」の時点で、外部メモリリード命令Ex_readがオペレーションコードとしてセットされると、デコード1および2で順次解釈され、次のサイクルで実行される。
【0005】
つまり、2段階のデコードを経てから外部メモリにアクセスするのに2クロック、読み出したデータをデコードするに1クロック、都合3クロック分のアクセスタイムが費やされ、これがタイムラグとなる為、結局、読み出したデータを処理する命令は、プログラムカウンタPCがn+3以降になってしまう。
【0006】
また、同様に、外部メモリにデータを書き込む際には、図10に図示する一例ように、加算命令ADDおよび外部メモリライト命令Ex_writeがプログラムカウンタPC=n,n+1にてオペレーションコードとしてセットされると、都合3クロックを要して外部メモリに書き込まれる。したがって、次にメモリアクセスする命令を起動できるようになるには、プログラムカウンタPCが「n+3」以降となってしまう。
【0007】
しかして、従来の信号処理装置では、外部メモリに対して頻繁にアクセスする処理を行うと、上述したタイムラグが”無駄時間”となってしまい、これが装置全体の処理速度の低下を招致するという問題がある。
そこで、本発明はこのような事情に鑑みてなされたもので、外部メモリに対してアクセスする際の無駄時間を省略して処理速度向上を図ることができる信号処理装置を提供することを目的としている。
【0008】
【課題を解決するための手段】
上記目的を達成するため、請求項1に記載の発明では、装置内部に設けられる内部記憶手段を有し、この内部記憶手段に対し、所定のサンプリングレートに同期して進行する第1の信号処理により、データの読み出し及び書き込みの少なくとも一方を行う第1の処理手段と、第1の信号処理の間のタイミングで進行する第2の信号処理により、第1の処理手段に対し内部記憶手段へのアクセス要求を発生するとともに、アクセス要求に応じて第1の処理手段から発生されるアクセス許可に応じて、装置外部に設けられる外部記憶手段から読み出したデータの内部記憶手段への書き込み、及び内部記憶手段から読み出したデータの外部記憶手段への書き込みの少なくとも一方を行う第2の処理手段と、第1の信号処理の開始タイミングに所定のオフセットを加えた時点から第2の信号処理を開始させることにより、第1の信号処理と第2の信号処理との競合を避ける処理スケジュール調整手段と、を具備することを特徴としている。
【0009】
上記請求項1に従属する請求項2に記載の発明によれば、処理スケジュール調整手段は、第1の信号処理の開始タイミングに所定のオフセットを加えた時点から第2の信号処理を開始させる一方、第2の信号処理が第1の信号処理に競合する時には第2の信号処理の進行を一時停止させることを特徴とする。
【0012】
本発明では、第1の処理手段が内部記憶手段を占有していないタイムスロットに同期して、第2の処理手段が外部記憶手段から読み出したデータを内部記憶手段に書込み、あるいは内部記憶手段から読み出したデータを外部記憶手段に書き込むので、第1の処理手段から見ると、外部記憶手段が、あたかも内部記憶手段の一部と見做せるから、外部記憶手段にアクセスする際の無駄時間を省略でき、装置全体としての処理速度が向上する。
【0013】
【発明の実施の形態】
本発明による信号処理装置は、例えば、電子楽器の音源や効果付与装置の他、音声合成装置、音声認識装置あるいは画像処理装置等のように、外部メモリに記憶されるデータあるいはパラメータに基づき信号処理する各種装置に適用され得る。以下では、本発明の実施の形態である信号処理装置を、実施例として図面を参照して説明する。
【0014】
A.実施例の構成
(1)概要
図1は、本発明の一実施例による信号処理装置1の構成を示すブロック図である。この図に示す信号処理装置1は、ホストCPU2の制御の下に信号処理を行う第1の処理部4と、この第1の処理部4とは別進行で外部メモリ3に対してリード・ライト処理を行う第2の処理部5とから構成される。
【0015】
この信号処理装置1が従来のものと相違する点は、第2の処理部5が第1の処理部4とは別進行で外部メモリ3に対してリード・ライト可能にしたことにある。
このようにすることで、第1の処理部4は、外部メモリ3をあたかも内部メモリの一部と見做してアクセスし得るため、外部メモリ3にアクセスする際の”無駄時間”を省略して処理速度向上を図っている。
【0016】
(2)第1の処理部4の構成
第1の処理部4は、構成要素4a〜4eからなる。4aはメインプログラムMPを記憶するメインプログラムメモリ(ROM)、4bはホストCPU2と後述する演算処理制御部4eとの間でデータ授受するCPUインタフェースである。4cは算術論理ユニット(ALU)や乗算器(MUL)等から構成される演算部であり、演算処理制御部4eの指示に応じた各種演算を行う。4dは演算部4cや演算処理制御部4eのワークエリアとして用いられるワークメモリ(RAM)であり、各種演算結果や制御フラグ等を一時記憶する複数のレジスタ領域を備えている。
【0017】
演算処理制御部4eは、上記各要素4a〜4dを制御すると共に、第2の処理部5とのデータ授受を担う。すなわち、演算処理制御部4eでは、CPUインターフェース4bを介して供給される動作指示に基づき、メインプログラムメモリ4aから対応するメインプログラムMPを読み出し、このプログラムMPに応じた各種演算を演算部4cに指示する。また、演算処理制御部4eは、第2の処理部5に対して外部メモリ3へのデータ書込みを指示したり、外部メモリ3からのデータ読み出しを指示する。加えて、演算処理制御部4eでは、第2の処理部5側との処理競合を回避するスケジュール調整回路4e−1(後述する)を備えている。
【0018】
(3)第2の処理部5の構成
第2の処理部5は、構成要素5a〜5cから構成される。5aは、サブプログラムメモリ(ROM)であり、外部メモリ3に対するデータ書込みあるいはデータ読み出しに係わる処理を記述したサブプログラムSPを記憶する。5bは、外部メモリ3と外部メモリ制御部5cとの間でデータ授受する外部メモリインタフェースである。外部メモリ制御部5cは、上述した演算処理制御部4eへの書込み要求Wreqあるいは読出し要求Rreqに基づき、サブプログラムメモリ5aから対応するサブプログラムSPを読み出し、当該プログラムSPに従って外部メモリインタフェース5bを介して外部メモリ3にアクセスする。
【0019】
(4)メインプログラムMPとサブプログラムSPとの関係
次に、図2を参照し、第1の処理部4(演算処理制御部4e)にて実行されるメインプログラムMPと、第2の処理部5(外部メモリ制御部5c)にて実行されるサブプログラムSPとの関係について説明しておく。
【0020】
まず、メインプログラムMPに従って演算処理制御部4eがワークメモリ4dに書き込むデータは、その書込み直後に、サブプログラムSPに従って外部メモリ制御部5cが外部メモリ3に書き込む。
また、メインプログラムMPに従って演算処理制御部4eがワークメモリ4dから読み出すデータは、その読み出し直前に、サブプログラムSPに従って外部メモリ制御部5cが外部メモリ3から読み出す。
【0021】
したがって、例えば、電子楽器の音源として使用される場合、第1の処理部4の動作は所定サンプリングレートに固定されたタイムスロットに同期するので、図2に図示するように、メインプログラムカウンタMPCのアドレス値はリニアに変化するが、サブプログラムカウンタsPCは、演算処理制御部4eがワークメモリ4dを占有する度合いに対応して歩進速度が変化する。つまり、サブプログラムSPによる外部メモリ3へのアクセスは、最低1サンプリング周期の遅延が伴う。
【0022】
例えば、外部メモリ制御部5cにおいて、サブプログラムA:WRD M;(オフセットアドレスMによる外部メモリ書込み命令)という命令セットと、B:RED N;(オフセットアドレスNによる外部メモリ読み出し命令)という命令セットとを実行した場合、アドレスAとアドレスBとの間にはM−N+1(M>N)の遅延があるように実行される。
【0023】
サブプログラムカウンタsPCは、演算処理制御部4eがワークメモリ4dを占有する度合いに応じて歩進速度が変化するので、サブプログラムSPの実行スケジュールは、常に図2に図示する斜線領域に収まっている必要がある。
サブプログラムカウンタsPCのアドレス値が斜線領域から逸脱してメインプログラムカウンタPCのアドレス値と交差すると、メインプログラムMPの実行スケジュールとサブプログラムSPのそれとが干渉(競合)してしまい、その結果、第1の処理部4にて生成される信号が不連続となり、これは波形生成時のノイズ要因となってしまう。
【0024】
つまり、図3に図示する一例のように、メインプログラムMPによるワークメモリ4dの使用頻度が低いと、相対的にサブプログラムSPの実行スケジュールが早まり、両プログラムの実行スケジュールが交差することも起こり得る。このような場合には、メインプログラムMPとサブプログラムSPとは、互いの実行スケジュールが競合しないようにしておく必要がある。
【0025】
そのため、本実施例では、演算処理制御部4eにスケジュール調整回路4e−1を設け、当該回路4e−1により、サブプログラムSPの実行スケジュールを、メインプログラムMPの実行スケジュールよりある程度遅らせてスタートさせるようにしている。
具体的には、メインプログラムカウンタMPCのアドレス値に所定のオフセットを加えた時点からサブプログラムカウンタSPCを歩進させる。オフセット量は、メインプログラムMPの処理内容や外部メモリ3のアクセスタイムを勘案して定める。以下、こうしたスケジュール調整回路4e−1の構成について説明する。
【0026】
(5)スケジュール調整回路4e−1の構成
図4は、スケジュール調整回路4e−1の構成を示すブロック図である。この図において、41はホストCPU2(図1参照)から供給されるサブプログラムカウンタsPCのスタートアドレス値を一時記憶するスタートレジスタである。42は、メインプログラムカウンタMPCの値と上記スタートレジスタ41にストアされるスタートアドレス値とが一致した場合に、リセット信号SをサブプログラムカウンタsPCに入力するコンパレータである。
【0027】
このような構成によれば、クロックCKに応じて歩進されるメインプログラムカウンタMPCのアドレス値が、サブプログラムカウンタsPCのスタートアドレス値に一致すると、サブプログラムカウンタsPCがリセットされて再スタートするので、メインプログラムMPの進行に対してサブプログラムSPの進行をオフセットさせ得る。これにより、サブプログラムSPの実行スケジュールを、メインプログラムMPの実行スケジュールよりある程度遅らせてスタートさせて両プログラムの競合を回避することが可能になる。
【0028】
また、図4に図示した構成に替えて、図5に示す構成のスケジュール調整回路4e−1とすることも可能である。この場合、図4に示す構成に更に、コンパレータ43およびアンド回路44を設け、コンパレータ43によってメインプログラムカウンタMPCとサブプログラムカウンタsPCとの両アドレス値が一致した時、アンド回路44のイネーブル信号Eを「L」としてサブプログラムカウンタsPCの歩進を一時停止させるようにしている。
【0029】
つまり、図6に図示するように、サブプログラムカウンタsPCの値がメインプログラムMPCに接近した場合、サブプログラムカウンタsPCの歩進を一時的に停止させ、サブプログラムSPとメインプログラムMPとの両者の進行が競合しないように阻止する。
なお、図5に示すスケジュール調整回路4e−1の場合には、スタートレジスタ41にストアするオフセット(サブプログラムカウンタsPCのスタート値)を十分小さい値に設定しても、両プログラムの競合を回避し得るようになっている。
【0030】
B.実施例の動作
次に、図7〜図8を参照して上記構成による実施例の動作について説明する。ここでは、特に、外部メモリ3からデータを読み出すデータリードプロセスと、外部メモリ3にデータを書き込むデータライトプロセスとについて言及する。
【0031】
(1)データリードプロセス
このプロセスでは、図7に示すように、先ずサブプログラムカウンタsPCの値が「n」の時に、外部メモリ3からデータリードする為のサブプログラムSPを、サブプログラムメモリ5aから読み出して外部メモリ制御部5cにロードしたとする。そうすると、サブプログラムカウンタsPCの値が「n+1」の時に、外部メモリ制御部5cはそのサブプログラムSPの内容をデコードした後、外部メモリ3の読み出しアドレスを算出する。
【0032】
こうして外部メモリ3の読み出しアドレスが定まると、外部メモリ制御部5cは外部メモリ3にアクセスする。この場合、2クロック周期分のメモリアクセス期間MADを要する。
そして、この期間MAD中に、演算処理制御部4eに対し読み出し要求Rreqを「アクティブ」に設定すると、外部メモリ制御部5cは、外部メモリ3から読み出したデータを転送レジスタにセットし、この後アクセプト待ちとなる。
【0033】
続いて、演算処理制御部4eがアクセプトAcptを「アクティブ」とし、外部メモリ制御部5c側に受入準備が整った旨を知らせると、外部メモリ制御部5cでは、転送レジスタにセットされた外部メモリ3からの読み出しデータを、演算処理制御部4e側へ転送する。
これにより、演算処理制御部4eでは、転送されてきた外部メモリ3からの読み出しデータを、ワークメモリ4dにストアする。つまり、演算処理制御部4e側からみれば、外部メモリ3があたかも内部メモリとして読み出しすることが可能になる。
【0034】
(2)データライトプロセス
一方、データライトプロセスでは、図8に示すように、サブプログラムカウンタsPCの値が「n」の時に、外部メモリ3にデータを書き込む為のサブプログラムSPをサブプログラムメモリ5aから読み出して外部メモリ制御部5cにロードしたとする。
そうすると、サブプログラムカウンタsPCが「n+1」の時に、外部メモリ制御部5cはそのサブプログラムSPの内容をデコードして外部メモリ3の書込みアドレスを算出する。
【0035】
さて、外部メモリ3に対する書込みアドレスを算出している時に、演算処理制御部4e「アクティブ」の書込み要求Wreqを供給すると、外部メモリ制御部5cはアクセプトAcpt待ちとなる。
そして、演算処理制御部4eから「アクティブ」のアクセプトAcptが与えられると、外部メモリ制御部5cはワークメモリ4dから転送されるデータを、一旦、転送レジスタにストアしておき、その後、算出した書込みアドレスに従って外部メモリ3にアクセスし、上記転送レジスタに記憶しておいたデータを書き込む。
【0036】
このように、本実施例によれば、第2の処理部5ではデータリード・データライト両プロセス共に、第1の処理部4側(演算処理制御部4e)のタイムスロットとは別のタイムスロットに同期して実行し、第1の処理部4ではメインプログラムMPの動作を、サブプログラムSPの動作に優先して処理するので、第1の処理部4から見ると、第2の処理部5を含む外部メモリ3が、あたかも内部メモリの一部と見做せるから、外部メモリ3にアクセスする際の無駄時間が省略されて装置全体としての処理速度が向上する訳である。
【0037】
なお、上述した実施例では、唯一の外部メモリ3に対してアクセスする例について述べたが、これに限定されることなく、複数の外部メモリを具備する場合でも同様の効果を得ることができる。つまり、第1の処理部4側から見れば、外部メモリが複数存在する場合でも、第2の処理部5側がデータリード・データライト両プロセスを担う為、あたかも一つの内部メモリとして扱うことが可能となっている。
【0038】
【発明の効果】
本発明によれば、第1の処理手段が内部記憶手段を占有していないタイムスロットに同期して、第2の処理手段が外部記憶手段から読み出したデータを内部記憶手段に書込み、あるいは内部記憶手段から読み出したデータを外部記憶手段に書き込む為、第1の処理手段から見ると、外部記憶手段が、あたかも内部記憶手段の一部と見做せる。この為、外部記憶手段にアクセスする際の無駄時間を省略でき、装置全体としての処理速度を向上させることができる。
【図面の簡単な説明】
【図1】本発明による一実施例の構成を示すブロック図である。
【図2】第1の処理部4(演算処理制御部4e)にて実行されるメインプログラムMPと第2の処理部5(外部メモリ制御部5c)にて実行されるサブプログラムSPとの関係を説明するための図である。
【図3】メインプログラムMPの実行スケジュールとサブプログラムSPのそれとが干渉(競合)する場合を例示した図である。
【図4】スケジュール調整回路4e−1の構成を示すブロック図である。
【図5】スケジュール調整回路4e−1のその他の構成を示すブロック図である。
【図6】図5に示す構成によるスケジュール調整回路4e−1の動作例を説明するための図である。
【図7】実施例によるデータリードプロセスを説明するためのタイミングチャートである。
【図8】実施例によるデータライトプロセスを説明するためのタイミングチャートである。
【図9】従来例を説明するためのタイミングチャートである。
【図10】従来例を説明するためのタイミングチャートである。
【符号の説明】
1 信号処理装置
2 ホストCPU
3 外部メモリ(外部記憶手段)
4 第1の処理部(第1の処理手段)
4a メインプログラムメモリ
4b CPUインタフェース
4c 演算部
4d ワークメモリ(内部記憶手段)
4e 演算処理制御部
5 第2の処理部(第2の処理手段)
5a サブプログラムメモリ
5b 外部メモリインタフェース
5c 外部メモリ制御部
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a signal processing apparatus suitable for use in, for example, a sound source of an electronic musical instrument.
[0002]
[Prior art]
2. Description of the Related Art Conventionally, dedicated signal processing devices aiming at high performance or distribution of host CPU functions are known. This type of processing device has a built-in multiplier that performs high-speed product-sum operations in order to efficiently perform processing such as digital filtering and FFT (Fast Fourier Transform) on digital signals obtained by digitally converting analog waveforms. Is called a digital signal processor (DSP).
[0003]
Such a signal processing apparatus often takes a form in which data to be processed is stored in an external memory and is sequentially fetched to perform signal processing. For example, when used as a sound source for an electronic musical instrument, waveform data stored in an external memory is sequentially read at predetermined sampling periods, and delayed feedback calculation and filter calculation (for example, FIR filter) are performed on the read waveform data. Is used to form musical tones with various overtone structures, or various sound effects are added to the formed musical sounds for output.
[0004]
[Problems to be solved by the invention]
By the way, in the conventional signal processing apparatus described above, the access time to the external memory is generally later than that to the internal memory. That is, referring to the case of reading data from the external memory based on the example of pipeline processing timing shown in FIG. 9, first, when the program counter PC is “n”, the external memory read instruction Ex_read is set as an operation code. Then, it is sequentially interpreted by decodes 1 and 2 and executed in the next cycle.
[0005]
In other words, after two stages of decoding, it takes 2 clocks to access the external memory, 1 clock to decode the read data, and an access time of 3 clocks, which is a time lag. The command for processing the data has the program counter PC after n + 3.
[0006]
Similarly, when writing data in the external memory, as an example shown in FIG. 10, an addition instruction ADD, and an external memory write instruction Ex_write is set the program counter PC = n, at n + 1 as the operation code Then, it is written in the external memory for 3 clocks. Therefore, the program counter PC becomes “n + 3” or later in order to be able to start the next memory access instruction.
[0007]
Thus, in the conventional signal processing apparatus, if the process of frequently accessing the external memory is performed, the above-mentioned time lag becomes a “dead time”, which causes a decrease in the processing speed of the entire apparatus. There is.
Accordingly, the present invention has been made in view of such circumstances, and an object thereof is to provide a signal processing device capable of improving processing speed by omitting dead time when accessing an external memory. Yes.
[0008]
[Means for Solving the Problems]
To achieve the above object, according to the invention of claim 1 has an internal storage means provided in the apparatus, against the internal storage unit, a first signal processing that proceeds in synchronization with the predetermined sampling rate Thus, the first processing unit that performs at least one of reading and writing of data and the second signal processing that proceeds at the timing between the first signal processing, the first processing unit is transferred to the internal storage unit. In addition to generating an access request, in response to access permission generated from the first processing unit in response to the access request, writing of data read from the external storage unit provided outside the apparatus to the internal storage unit, and internal storage and second processing means for performing at least one of writing to the external storage unit of the read data from the unit, the predetermined the start timing of the first signal processing By the time of adding the offset to initiate the second signal processing is characterized by comprising a processing schedule adjustment means to avoid conflicts between the first signal processing and the second signal processing, the.
[0009]
According to the second aspect of the present invention that is dependent on the first aspect, the processing schedule adjustment means starts the second signal processing from the time when the predetermined offset is added to the start timing of the first signal processing. When the second signal processing competes with the first signal processing, the progress of the second signal processing is temporarily stopped .
[0012]
In the present invention, in synchronization with a time slot in which the first processing means does not occupy the internal storage means, the data read by the second processing means from the external storage means is written to the internal storage means or from the internal storage means. Since the read data is written into the external storage means, the external storage means can be regarded as a part of the internal storage means when viewed from the first processing means, so that the time wasted when accessing the external storage means is omitted. This improves the processing speed of the entire apparatus.
[0013]
DETAILED DESCRIPTION OF THE INVENTION
The signal processing device according to the present invention performs signal processing based on data or parameters stored in an external memory, such as a sound synthesis device, a speech recognition device, an image processing device, etc. It can be applied to various devices. Below, the signal processing apparatus which is embodiment of this invention is demonstrated with reference to drawings as an Example.
[0014]
A. Configuration (1) Overview of Embodiment FIG. 1 is a block diagram showing a configuration of a signal processing apparatus 1 according to an embodiment of the present invention. The signal processing apparatus 1 shown in FIG. 1 reads / writes data from / to the external memory 3 separately from the first processing unit 4 that performs signal processing under the control of the host CPU 2. It comprises a second processing unit 5 that performs processing.
[0015]
The signal processing apparatus 1 is different from the conventional one in that the second processing unit 5 can read / write the external memory 3 separately from the first processing unit 4.
By doing so, the first processing unit 4 can access the external memory 3 as if it is a part of the internal memory, and therefore omits the “dead time” when accessing the external memory 3. To improve processing speed.
[0016]
(2) Configuration of first processing unit 4 The first processing unit 4 includes components 4a to 4e. 4a is a main program memory (ROM) for storing the main program MP, and 4b is a CPU interface for exchanging data between the host CPU 2 and an arithmetic processing control unit 4e described later. Reference numeral 4c denotes an arithmetic unit including an arithmetic logic unit (ALU), a multiplier (MUL), and the like, and performs various arithmetic operations according to instructions from the arithmetic processing control unit 4e. Reference numeral 4d denotes a work memory (RAM) used as a work area for the calculation unit 4c and the calculation processing control unit 4e, and includes a plurality of register areas for temporarily storing various calculation results and control flags.
[0017]
The arithmetic processing control unit 4 e controls each of the above elements 4 a to 4 d and performs data exchange with the second processing unit 5. That is, the arithmetic processing control unit 4e reads the corresponding main program MP from the main program memory 4a based on the operation instruction supplied via the CPU interface 4b, and instructs the arithmetic unit 4c to perform various operations according to the program MP. To do. In addition, the arithmetic processing control unit 4 e instructs the second processing unit 5 to write data to the external memory 3 or instructs the second processing unit 5 to read data from the external memory 3. In addition, the arithmetic processing control unit 4e includes a schedule adjustment circuit 4e-1 (described later) that avoids processing competition with the second processing unit 5 side.
[0018]
(3) Configuration of the second processing unit 5 The second processing unit 5 includes components 5a to 5c. Reference numeral 5a denotes a subprogram memory (ROM), which stores a subprogram SP describing processing related to data writing or data reading with respect to the external memory 3. Reference numeral 5b denotes an external memory interface that exchanges data between the external memory 3 and the external memory control unit 5c. The external memory control unit 5c reads the corresponding subprogram SP from the subprogram memory 5a based on the write request Wreq or the read request Rreq to the arithmetic processing control unit 4e described above, and via the external memory interface 5b according to the program SP. The external memory 3 is accessed.
[0019]
(4) Relationship between Main Program MP and Subprogram SP Next, referring to FIG. 2, the main program MP executed by the first processing unit 4 (arithmetic processing control unit 4e) and the second processing unit 5 and the relationship with the subprogram SP executed by the external memory control unit 5c will be described.
[0020]
First, the data written in the work memory 4d by the arithmetic processing control unit 4e in accordance with the main program MP is written in the external memory 3 by the external memory control unit 5c in accordance with the subprogram SP immediately after the writing.
Further, the data read out from the work memory 4d by the arithmetic processing control unit 4e according to the main program MP is read out from the external memory 3 by the external memory control unit 5c according to the subprogram SP immediately before the reading.
[0021]
Therefore, for example, when used as a sound source of an electronic musical instrument, the operation of the first processing unit 4 is synchronized with a time slot fixed at a predetermined sampling rate, so that as shown in FIG. 2, the main program counter MPC Although the address value changes linearly, the stepping speed of the sub program counter sPC changes according to the degree to which the arithmetic processing control unit 4e occupies the work memory 4d. That is, the access to the external memory 3 by the subprogram SP is accompanied by a delay of at least one sampling period.
[0022]
For example, in the external memory control unit 5c, an instruction set of subprogram A: WRD M; (external memory write instruction by offset address M) and an instruction set of B: RED N; (external memory read instruction by offset address N) Is executed so that there is a delay of M−N + 1 (M> N) between the address A and the address B.
[0023]
The subprogram counter sPC has a stepping speed that changes according to the degree to which the arithmetic processing control unit 4e occupies the work memory 4d. Therefore, the execution schedule of the subprogram SP is always within the shaded area shown in FIG. There is a need.
When the address value of the sub program counter sPC deviates from the hatched area and intersects with the address value of the main program counter PC, the execution schedule of the main program MP and that of the sub program SP interfere (compete). The signal generated by one processing unit 4 becomes discontinuous, and this becomes a noise factor at the time of waveform generation.
[0024]
That is, as in the example illustrated in FIG. 3, if the use frequency of the work memory 4d by the main program MP is low, the execution schedule of the subprogram SP is relatively advanced, and the execution schedules of both programs may cross each other. . In such a case, it is necessary that the main program MP and the subprogram SP do not conflict with each other in execution schedules.
[0025]
For this reason, in the present embodiment, a schedule adjustment circuit 4e-1 is provided in the arithmetic processing control unit 4e, and the execution schedule of the subprogram SP is started with a certain delay from the execution schedule of the main program MP by the circuit 4e-1. I have to.
Specifically, the sub program counter SPC is incremented from the time when a predetermined offset is added to the address value of the main program counter MPC . The offset amount is determined in consideration of the processing contents of the main program MP and the access time of the external memory 3. Hereinafter, the configuration of the schedule adjustment circuit 4e-1 will be described.
[0026]
(5) Configuration of Schedule Adjustment Circuit 4e-1 FIG. 4 is a block diagram showing the configuration of the schedule adjustment circuit 4e-1. In this figure, 41 is a start register that temporarily stores the start address value of the subprogram counter sPC supplied from the host CPU 2 (see FIG. 1). 42, when the start address value stored in the value and the start register 41 of the main program counter MPC matches a comparator for inputting a reset signal S R to the sub program counter SPC.
[0027]
According to such a configuration, when the address value of the main program counter MPC advanced in accordance with the clock CK matches the start address value of the sub program counter sPC, the sub program counter sPC is reset and restarted. The progress of the sub program SP can be offset with respect to the progress of the main program MP. As a result, the execution schedule of the subprogram SP can be started with a certain delay from the execution schedule of the main program MP, thereby avoiding conflict between both programs.
[0028]
Further, the schedule adjustment circuit 4e-1 having the configuration shown in FIG. 5 may be used instead of the configuration shown in FIG. In this case, further to the configuration shown in FIG. 4, the comparator 43 and the AND circuit 44 is provided, when both the address value of the main program counter MPC and subprograms counter sPC matches by the comparator 43, the enable signal of the AND circuit 44 E N Is set to “L” to temporarily stop the advancement of the subprogram counter sPC.
[0029]
That is, as shown in FIG. 6, when the value of the sub program counter sPC approaches the main program MPC, the step of the sub program counter sPC is temporarily stopped, and both the sub program SP and the main program MP are stopped. Stop progress from competing.
In the case of the schedule adjustment circuit 4e-1 shown in FIG. 5, even if the offset stored in the start register 41 (start value of the sub program counter sPC) is set to a sufficiently small value, the conflict between both programs is avoided. To get.
[0030]
B. Next, the operation of the embodiment having the above-described configuration will be described with reference to FIGS. Here, a data read process for reading data from the external memory 3 and a data write process for writing data to the external memory 3 will be particularly referred to.
[0031]
(1) Data Read Process In this process, as shown in FIG. 7, when the value of the sub program counter sPC is “n”, a sub program SP for reading data from the external memory 3 is first read from the sub program memory 5a. It is assumed that the data is read and loaded into the external memory control unit 5c. Then, when the value of the sub program counter sPC is “n + 1”, the external memory control unit 5 c calculates the read address of the external memory 3 after decoding the contents of the sub program SP.
[0032]
When the read address of the external memory 3 is thus determined, the external memory control unit 5c accesses the external memory 3. In this case, a memory access period MAD for two clock cycles is required.
During this period MAD, when the read request Rreq is set to “active” for the arithmetic processing control unit 4e, the external memory control unit 5c sets the data read from the external memory 3 in the transfer register, and then accepts it. Wait.
[0033]
Subsequently, when the arithmetic processing control unit 4e sets the accept Accept to “active” and notifies the external memory control unit 5c that the preparation for acceptance is complete, the external memory control unit 5c causes the external memory 3 set in the transfer register to be set. The read data from is transferred to the arithmetic processing control unit 4e side.
Thus, the arithmetic processing control unit 4e stores the transferred read data from the external memory 3 in the work memory 4d. That is, when viewed from the arithmetic processing control unit 4e side, the external memory 3 can be read as if it were an internal memory.
[0034]
(2) Data Write Process On the other hand, in the data write process, as shown in FIG. 8, when the value of the sub program counter sPC is “n”, a sub program SP for writing data to the external memory 3 is displayed as the sub program memory 5a. Is read from and loaded into the external memory control unit 5c.
Then, when the sub program counter sPC is “n + 1”, the external memory control unit 5 c decodes the content of the sub program SP and calculates the write address of the external memory 3.
[0035]
When the write request Wreq of “active” is supplied to the arithmetic processing control unit 4e while the write address for the external memory 3 is being calculated, the external memory control unit 5c waits for an acceptance Accept.
Then, when the “Accept” accept Accept is given from the arithmetic processing control unit 4e, the external memory control unit 5c temporarily stores the data transferred from the work memory 4d in the transfer register, and then calculates the calculated write The external memory 3 is accessed according to the address, and the data stored in the transfer register is written.
[0036]
Thus, according to the present embodiment, in the second processing unit 5, both the data read and data write processes are time slots different from the time slot on the first processing unit 4 side (arithmetic processing control unit 4e). Since the first processing unit 4 processes the operation of the main program MP in preference to the operation of the subprogram SP, the second processing unit 5 is viewed from the first processing unit 4. Since the external memory 3 including the memory can be regarded as a part of the internal memory, the dead time for accessing the external memory 3 is omitted, and the processing speed of the entire apparatus is improved.
[0037]
In the embodiment described above, an example in which only the external memory 3 is accessed has been described. However, the present invention is not limited to this, and the same effect can be obtained even when a plurality of external memories are provided. That is, when viewed from the first processing unit 4 side, even when there are a plurality of external memories, the second processing unit 5 side handles both data read and data write processes, so that it can be handled as one internal memory. It has become.
[0038]
【The invention's effect】
According to the present invention, in synchronization with a time slot in which the first processing means does not occupy the internal storage means, the data read from the external storage means by the second processing means is written to the internal storage means, or the internal storage Since the data read from the means is written to the external storage means, the external storage means can be regarded as a part of the internal storage means when viewed from the first processing means. For this reason, the dead time when accessing the external storage means can be omitted, and the processing speed of the entire apparatus can be improved.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a configuration of an embodiment according to the present invention.
FIG. 2 shows a relationship between a main program MP executed by the first processing unit 4 (arithmetic processing control unit 4e) and a subprogram SP executed by the second processing unit 5 (external memory control unit 5c). It is a figure for demonstrating.
FIG. 3 is a diagram exemplifying a case where an execution schedule of a main program MP interferes with that of a sub program SP.
FIG. 4 is a block diagram showing a configuration of a schedule adjustment circuit 4e-1.
FIG. 5 is a block diagram showing another configuration of the schedule adjustment circuit 4e-1.
6 is a diagram for explaining an operation example of a schedule adjustment circuit 4e-1 configured as shown in FIG. 5; FIG.
FIG. 7 is a timing chart for explaining a data read process according to the embodiment.
FIG. 8 is a timing chart for explaining a data write process according to an embodiment.
FIG. 9 is a timing chart for explaining a conventional example.
FIG. 10 is a timing chart for explaining a conventional example.
[Explanation of symbols]
1 Signal processor 2 Host CPU
3 External memory (external storage means)
4 1st process part (1st process means)
4a main program memory 4b CPU interface 4c arithmetic unit 4d work memory (internal storage means)
4e Arithmetic processing control unit 5 Second processing unit (second processing means)
5a Subprogram memory 5b External memory interface 5c External memory controller

Claims (2)

装置内部に設けられる内部記憶手段を有し、この内部記憶手段に対し、所定のサンプリングレートに同期して進行する第1の信号処理により、データの読み出し及び書き込みの少なくとも一方を行う第1の処理手段と、
前記第1の信号処理の間のタイミングで進行する第2の信号処理により、前記第1の処理手段に対し前記内部記憶手段へのアクセス要求を発生するとともに、前記アクセス要求に応じて前記第1の処理手段から発生されるアクセス許可に応じて、装置外部に設けられる外部記憶手段から読み出したデータの前記内部記憶手段への書き込み、及び前記内部記憶手段から読み出したデータの前記外部記憶手段への書き込みの少なくとも一方を行う第2の処理手段と
前記第1の信号処理の開始タイミングに所定のオフセットを加えた時点から前記第2の信号処理を開始させることにより、前記第1の信号処理と前記第2の信号処理との競合を避ける処理スケジュール調整手段と、
を具備することを特徴とする信号処理装置。
Has an internal storage means provided in the apparatus, against the internal storage unit, the first signal processing that proceeds in synchronization with the predetermined sampling rate, a first process for performing at least one of reading and writing data Means,
By the second signal processing that proceeds at the timing between the first signal processing, an access request to the internal storage means is generated for the first processing means, and the first request is made in response to the access request. In accordance with the access permission generated from the processing means, the data read from the external storage means provided outside the apparatus is written to the internal storage means, and the data read from the internal storage means is written to the external storage means Second processing means for performing at least one of writing ;
A processing schedule for avoiding competition between the first signal processing and the second signal processing by starting the second signal processing from the time when a predetermined offset is added to the start timing of the first signal processing. Adjusting means;
A signal processing apparatus comprising:
前記処理スケジュール調整手段は、前記第1の信号処理の開始タイミングに所定のオフセットを加えた時点から前記第2の信号処理を開始させる一方、前記第2の信号処理が前記第1の信号処理に競合する時には前記第2の信号処理の進行を一時停止させることを特徴とする請求項1記載の信号処理装置。 The processing schedule adjustment means starts the second signal processing from a time point when a predetermined offset is added to the start timing of the first signal processing, while the second signal processing is changed to the first signal processing. 2. The signal processing apparatus according to claim 1, wherein when the contention occurs, the progress of the second signal processing is temporarily stopped .
JP06272497A 1997-03-17 1997-03-17 Signal processing device Expired - Fee Related JP3629693B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP06272497A JP3629693B2 (en) 1997-03-17 1997-03-17 Signal processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP06272497A JP3629693B2 (en) 1997-03-17 1997-03-17 Signal processing device

Publications (2)

Publication Number Publication Date
JPH10260831A JPH10260831A (en) 1998-09-29
JP3629693B2 true JP3629693B2 (en) 2005-03-16

Family

ID=13208609

Family Applications (1)

Application Number Title Priority Date Filing Date
JP06272497A Expired - Fee Related JP3629693B2 (en) 1997-03-17 1997-03-17 Signal processing device

Country Status (1)

Country Link
JP (1) JP3629693B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10061737B2 (en) 2015-03-23 2018-08-28 Casio Computer Co., Ltd. Signal processing device, method of signal processing, storage medium, and electronic musical instrument

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4707017B2 (en) 2006-02-17 2011-06-22 カシオ計算機株式会社 Signal processing device
KR101313330B1 (en) * 2007-02-28 2013-09-27 삼성전자주식회사 Image display system capable of protecting image tearing effect and image display method thereof

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10061737B2 (en) 2015-03-23 2018-08-28 Casio Computer Co., Ltd. Signal processing device, method of signal processing, storage medium, and electronic musical instrument

Also Published As

Publication number Publication date
JPH10260831A (en) 1998-09-29

Similar Documents

Publication Publication Date Title
JP3629693B2 (en) Signal processing device
JP2001318671A (en) Musical sound generator
JP4707017B2 (en) Signal processing device
JPH11167515A (en) Data transmitter and data transmission method
US10061737B2 (en) Signal processing device, method of signal processing, storage medium, and electronic musical instrument
KR20010021575A (en) Tone Generation Device And Method
JP3978928B2 (en) Music generator
JPH07311730A (en) Method and device for memory control
JP3722104B2 (en) Sound generator
JP2007286765A (en) Memory access device
JPS59201124A (en) Clock generating system
JP2024079270A (en) Signal processor, method, and program, electronic instrument
JP3435252B2 (en) Information processing device
JP3005987B2 (en) Digital signal processor
JP3230413B2 (en) Signal processing device and microprogram rewriting method for signal processing device
JPH07271573A (en) Microinstruction synchronization circuit
JPH0317135B2 (en)
JP2001067218A (en) Microcomputer and pulse signal control method
JP2000172553A (en) Data processor
JPH11219314A (en) Information processing system, its memory configuration setting method and recording medium recording its control program
JPH02178837A (en) Speed governing system for microprogram
JPH05303493A (en) Method for switching instruction train and arithmetic processor using the method
JPH05108343A (en) Musical signal arithmetic processor
JPS6255738A (en) Data processor having program counter tracing mechanism
JPH07262075A (en) Digital signal processor

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040928

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041027

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20041122

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20041205

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20071224

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20081224

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20081224

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20091224

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20101224

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20101224

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20111224

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20111224

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20121224

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20121224

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20131224

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees