(57)【要約】【課題】  ＤＳＰに外付けされる低速の外部ＲＡＭは、ＤＳＰのマイクロプログラムの複数ステップ相当の長いアクセス時間を要する場合がある。この長いアクセス時間がマイクロプログラムのコーディングに及ぼす影響を排除する。【解決手段】  外部ＲＡＭ（図示せず）に書き込まれるデータは、演算部５０から書込みバッファ６０，６４のうち一方を介して、外部メモリ制御回路８０に供給される。切換スイッチ５２は、サンプリング周期毎に書込みバッファ６０，６４を交互に選択する。外部ＲＡＭから読み出されたデータも同様に、切換スイッチ５４によってサンプリング周期毎に切り換えられる読出しバッファ６２，６６を介して、演算部５０に読み出される。【選択図】  図２
2008153975.tif 000002
【特許請求の範囲】
【請求項１】
サンプリング周期毎に、遅延処理を行う対象となる複数チャンネルの遅延対象データを出力するとともに、遅延された複数チャンネルの遅延結果データを入力する演算部と、
前記各チャンネルに必要な遅延時間に応じて、前記各チャンネル毎の書込みアドレスと読出しアドレスとを発生させるアドレス発生回路と、
供給された前記遅延対象データを記憶装置の前記書込みアドレスに書き込むとともに、該記憶装置の前記読出しアドレスに記憶されたデータを読み出し、前記遅延結果データとして出力する記憶装置制御部と、
前記演算部および前記記憶装置制御部によってアクセスされ、第１の書込み領域と第２の書込み領域とを有する書込みバッファメモリであって、前記第１および第２の書込み領域のうち一方は現在のサンプリング周期において前記演算部から出力される遅延対象データが書き込まれる現周期書き込み領域であり、前記第１および第２の書込み領域のうち他方は現在のサンプリング周期の直前のサンプリング周期において前記演算部から出力された遅延対象データを記憶する前周期記憶領域である書込みバッファメモリと、
前記演算部および前記記憶装置制御部によってアクセスされ、第１の読出し領域と第２の読出し領域とを有する読出しバッファメモリであって、前記第１および第２の読出し領域のうち一方は、現在のサンプリング周期において前記演算部に読み出される遅延結果データを記憶する現周期読み出し領域であり、前記第１および第２の読出し領域のうち他方は、現在のサンプリング周期の直後のサンプリング周期において前記演算部に読み出される遅延結果データを記憶する次周期記憶領域である読出しバッファメモリと
を有することを特徴とする信号処理装置。
【請求項２】
前記第１の書込み領域と前記第２の書込み領域とは各々独立してアクセス可能なメモリ素子によって構成され、前記第１の読出し領域と前記第２の読出し領域とは各々独立してアクセス可能なメモリ素子によって構成され、
前記記憶装置は、前記書込みバッファメモリおよび前記読出しバッファメモリよりもアクセス速度が遅い記憶装置であり、
前記記憶装置制御部は、前記書込みバッファメモリの前周期記憶領域に記憶された遅延対象データを前記記憶装置に書き込むとともに、前記記憶装置から読み出した遅延結果データを前記読出しバッファメモリの次周期記憶領域に書き込むものである
ことを特徴とする請求項１記載の信号処理装置。
【請求項３】
前記第１および第２の書込み領域に付与される前記現周期書き込み領域および前記前周期記憶領域の機能を前記サンプリング周期毎に切り替える書込み用切替手段と、
前記第１および第２の読出し領域に付与される前記現周期読み出し領域および前記次周期記憶領域の機能を前記サンプリング周期毎に切り替える読出し用切替手段と
をさらに有することを特徴とする請求項１または２記載の信号処理装置。
【請求項４】
前記第１の書込み領域は前記現周期書き込み領域であり、前記第２の書込み領域は前記前周期記憶領域であり、前記第１の読出し領域は前記現周期読み出し領域であり、前記第２の読出し領域は前記次周期記憶領域であり、
前記サンプリング周期に同期して、前記第１の書込み領域に記憶された遅延対象データを前記第２の書込み領域に転送する遅延対象データ転送手段と、
前記サンプリング周期に同期して、前記第２の読出し領域に記憶された遅延結果データを前記第１の読出し領域に転送する遅延結果データ転送回路と
をさらに有することを特徴とする請求項１または２記載の信号処理装置。
【請求項５】
サンプリング周期毎に、遅延処理を行う対象となる複数チャンネルの遅延対象データを出力するとともに、遅延された複数チャンネルの遅延結果データを入力する演算部と、
前記各チャンネルに必要な遅延時間に応じて、前記各チャンネル毎の書込みアドレスと読出しアドレスとを発生させるアドレス発生回路と、
供給された前記遅延対象データを記憶装置の前記書込みアドレスに書き込むとともに、該記憶装置の前記読出しアドレスに記憶されたデータを読み出し、前記遅延結果データとして出力する記憶装置制御部と、
前記演算部および前記記憶装置制御部によってアクセスされ、第１の読出し領域と第２の読出し領域とを有する読出しバッファメモリであって、前記第１および第２の読出し領域のうち一方は、現在のサンプリング周期において前記演算部に読み出される遅延結果データを記憶する現周期読み出し領域であり、前記第１および第２の読出し領域のうち他方は、現在のサンプリング周期の直後のサンプリング周期において前記演算部に読み出される遅延結果データを記憶する次周期記憶領域である読出しバッファメモリと、
前記第１および第２の読出し領域に付与される前記現周期読み出し領域および前記次周期記憶領域の機能を前記サンプリング周期毎に切り替える読出し用切替手段とを有し、
前記第１の読出し領域と、前記第２の読出し領域とは、各々独立してアクセス可能なメモリ素子によって構成され、
前記記憶装置は、読出しバッファメモリよりもアクセス速度が遅い記憶装置であり、
前記記憶装置制御部は、前記記憶装置から読み出した遅延結果データを前記読出しバッファメモリの次周期記憶領域に書き込むものである
ことを特徴とする信号処理装置。
【請求項６】
サンプリング周期毎に、遅延処理を行う対象となる複数チャンネルの遅延対象データを出力するとともに、遅延された複数チャンネルの遅延結果データを入力する演算部と、
前記各チャンネルに必要な遅延時間に応じて、前記各チャンネル毎の書込みアドレスと読出しアドレスとを発生させるアドレス発生回路と、
供給された前記遅延対象データを記憶装置の前記書込みアドレスに書き込むとともに、該記憶装置の前記読出しアドレスに記憶されたデータを読み出し、前記遅延結果データとして出力する記憶装置制御部と、
前記演算部および前記記憶装置制御部によってアクセスされ、第１の書込み領域と第２の書込み領域とを有する書込みバッファメモリであって、前記第１および第２の書込み領域のうち一方は現在のサンプリング周期において前記演算部から出力される遅延対象データが書き込まれる現周期書き込み領域であり、前記第１および第２の書込み領域のうち他方は現在のサンプリング周期の直前のサンプリング周期において前記演算部から出力された遅延対象データを記憶する前周期記憶領域である書込みバッファメモリと、
前記第１および第２の書込み領域に付与される前記現周期書き込み領域および前記前周期記憶領域の機能を前記サンプリング周期毎に切り替える書込み用切替手段とを有し、
前記第１の書込み領域と、前記第２の書込み領域とは、各々独立してアクセス可能なメモリ素子によって構成され、
前記記憶装置は、前記書込みバッファメモリよりもアクセス速度が遅い記憶装置であり、
前記記憶装置制御部は、前記書込みバッファメモリの前周期記憶領域に記憶された遅延対象データを前記記憶装置に書き込むものである
ことを特徴とする信号処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ディレイ処理を行う用途に用いて好適な信号処理装置に関する。
【背景技術】
【０００２】
デジタルミキサ、電子楽器等の音響機器においては、音声信号に対して各種のエフェクト処理を施すためにＤＳＰ（デジタル・シグナル・プロセッサ）が用いられている。各種エフェクト処理においてはディレイ処理が必要であるが、ディレイ処理は主としてＲＡＭを用いて実現される。例えば、「１」サンプルのデータ量を「１」ワードとし、ＭワードのＲＡＭに対して、「１」サンプリング周期毎に「１」ワードづつ、書込みアドレスＡＤを循環的に歩進させながら、音声信号のサンプリング値を順次書き込んでゆくことを想定してみる。現時点よりもｋサンプル前のサンプリング値は、アドレス（ＡＤ−ｋ）mod  M （但し、「mod  M」はＭで除算したときの余り）のアドレスに記憶されているからこのアドレスの値を読み出すことにより、ｋサンプリング周期だけ遅延させた音声信号を得ることができる。
【０００３】
ここで、必要な遅延時間が比較的短い場合は、ＤＳＰに内蔵したＲＡＭをディレイ処理のために使用することができる。一般的に、ＤＳＰに内蔵されるＲＡＭは高速アクセスが可能であるが、小容量である。一方、必要な遅延時間が比較的長い場合は、ＲＡＭの所要容量も大きくなるため、主としてＤＳＰに外付けされた外部ＲＡＭが用いられる。しかし、ＤＳＰに外付けされる外部ＲＡＭは、内蔵ＲＡＭに比較してアクセス速度が遅くなるため、「１」ワードのデータの読出しまたは書込みを行うために、ＤＳＰにおけるマイクロプログラムのステップ実行周期の数倍の時間を要する。このため、ＤＳＰで実行されるマイクロプログラムにおいては、外部ＲＡＭに対するアクセスに破綻が生じないように、必要な間隔を空けながらな外部ＲＡＭをアクセスするようなコーディングが必要になる。例えば、特許文献１に開示された技術においては、外部ＲＡＭに対するアクセスに「３」システムクロック（マイクロプログラムの「３」ステップ相当）の時間を要することを前提として、外部ＲＡＭに対するアクセスを「３」の倍数のステップにおいてのみ許容する技術が開示されている。この開示内容によれば、内蔵ＲＡＭの容量は「１」サンプル分のみであり、この内蔵ＲＡＭに対するアクセス時間は読み出し／書き込みとも「１」システムクロックである。一方、外部ＲＡＭに対するアクセス時間は読み出し／書き込みとも「３」システムクロックである。さらに、読み出し／書き込みとも「１」度につき「１」ワードづつしか行えず、読み出しおよび書き込みを同時に行うことも不可能である。
【０００４】
【特許文献１】特開平１１−２０３１２９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、上述した技術においては、外部ＲＡＭにアクセスするコマンド相互の間隔を所定ステップ数以上確保する必要があるから、マイクロプログラムのコーディング作業が非常に煩雑になる。さらに、外部ＲＡＭとの単なるタイミング合わせのために、ＮＯＰ（ノーオペレーション）命令をＤＳＰに適宜実行させる必要が生じ、ＤＳＰを効率的に動作させることも困難になる。
この発明は上述した事情に鑑みてなされたものであり、低速度の外部ＲＡＭを使用する場合においても、効率的に動作するマイクロプログラムを自由にコーディングすることができる信号処理装置を提供することを目的としている。
【課題を解決するための手段】
【０００６】
上記課題を解決するため本発明にあっては、下記構成を具備することを特徴とする。なお、括弧内は例示である。
請求項１記載の信号処理装置にあっては、サンプリング周期毎に、遅延処理を行う対象となる複数チャンネルの遅延対象データ（ＷＤ）を出力するとともに、遅延された複数チャンネルの遅延結果データ（ＲＤ）を入力する演算部（５０）と、前記各チャンネルに必要な遅延時間に応じて、前記各チャンネル毎の書込みアドレス（ＷＡ）と読出しアドレス（ＲＡ）とを発生させるアドレス発生回路（７４〜７８）と、供給された前記遅延対象データ（ＷＤ）を記憶装置（１２）の前記書込みアドレス（ＷＡ）に書き込むとともに、該記憶装置（１２）の前記読出しアドレス（ＲＡ）に記憶されたデータを読み出し、前記遅延結果データ（ＲＤ）として出力する記憶装置制御部（８０）と、前記演算部（５０）および前記記憶装置制御部（８０）によってアクセスされ、第１の書込み領域（６０，１００）と第２の書込み領域（６４，１０２）とを有する書込みバッファメモリであって、前記第１および第２の書込み領域のうち一方は現在のサンプリング周期において前記演算部（５０）から出力される遅延対象データ（ＷＤ）が書き込まれる現周期書き込み領域であり、前記第１および第２の書込み領域のうち他方は現在のサンプリング周期の直前のサンプリング周期において前記演算部（５０）から出力された遅延対象データ（ＷＤ）を記憶する前周期記憶領域である書込みバッファメモリ（６０，６４，１００，１０２）と、前記演算部（５０）および前記記憶装置制御部（８０）によってアクセスされ、第１の読出し領域（６２，１０６）と第２の読出し領域（６６，１０４）とを有する読出しバッファメモリであって、前記第１および第２の読出し領域のうち一方は、現在のサンプリング周期において前記演算部（５０）に読み出される遅延結果データ（ＲＤ）を記憶する現周期読み出し領域であり、前記第１および第２の読出し領域のうち他方は、現在のサンプリング周期の直後のサンプリング周期において前記演算部（５０）に読み出される遅延結果データ（ＲＤ）を記憶する次周期記憶領域である読出しバッファメモリ（６２，６６，１０４，１０６）とを有することを特徴とする。
さらに、請求項２記載の構成にあっては、請求項１記載の信号処理装置において、前記第１の書込み領域（６０，１００）と前記第２の書込み領域（６４，１０２）とは各々独立してアクセス可能なメモリ素子によって構成され、前記第１の読出し領域（６２，１０６）と前記第２の読出し領域（６６，１０４）とは各々独立してアクセス可能なメモリ素子によって構成され、前記記憶装置（１２）は、前記書込みバッファメモリ（６０，６４，１００，１０２）および前記読出しバッファメモリ（６２，６６，１０４，１０６）よりもアクセス速度が遅い記憶装置であり、前記記憶装置制御部（８０）は、前記書込みバッファメモリ（６０，６４，１００，１０２）の前周期記憶領域に記憶された遅延対象データ（ＷＤ）を前記記憶装置（１２）に書き込むとともに、前記記憶装置（１２）から読み出した遅延結果データ（ＲＤ）を前記読出しバッファメモリ（６２，６６，１０４，１０６）の次周期記憶領域に書き込むものであることを特徴とする。
さらに、請求項３記載の構成にあっては、請求項１または２記載の信号処理装置において、前記第１および第２の書込み領域に付与される前記現周期書き込み領域および前記前周期記憶領域の機能を前記サンプリング周期毎に切り替える書込み用切替手段（５２，５６）と、前記第１および第２の読出し領域に付与される前記現周期読み出し領域および前記次周期記憶領域の機能を前記サンプリング周期毎に切り替える読出し用切替手段（５４，５８）とをさらに有することを特徴とする。
さらに、請求項４記載の構成にあっては、請求項１または２記載の信号処理装置において、前記第１の書込み領域（１００）は前記現周期書き込み領域であり、前記第２の書込み領域（１０２）は前記前周期記憶領域であり、前記第１の読出し領域（１０６）は前記現周期読み出し領域であり、前記第２の読出し領域（１０４）は前記次周期記憶領域であり、前記サンプリング周期に同期して、前記第１の書込み領域（１００）に記憶された遅延対象データ（ＷＤ）を前記第２の書込み領域（１０２）に転送する遅延対象データ転送手段（１０１）と、前記サンプリング周期に同期して、前記第２の読出し領域（１０４）に記憶された遅延結果データ（ＲＤ）を前記第１の読出し領域（１０６）に転送する遅延結果データ転送回路（１０５）とをさらに有することを特徴とする。
また、請求項５記載の信号処理装置にあっては、サンプリング周期毎に、遅延処理を行う対象となる複数チャンネルの遅延対象データ（ＷＤ）を出力するとともに、遅延された複数チャンネルの遅延結果データ（ＲＤ）を入力する演算部（５０）と、前記各チャンネルに必要な遅延時間に応じて、前記各チャンネル毎の書込みアドレス（ＷＡ）と読出しアドレス（ＲＡ）とを発生させるアドレス発生回路（７４〜７８）と、供給された前記遅延対象データ（ＷＤ）を記憶装置（１２）の前記書込みアドレス（ＷＡ）に書き込むとともに、該記憶装置（１２）の前記読出しアドレス（ＲＡ）に記憶されたデータを読み出し、前記遅延結果データ（ＲＤ）として出力する記憶装置制御部（８０）と、前記演算部（５０）および前記記憶装置制御部（８０）によってアクセスされ、第１の読出し領域（６２，１０６）と第２の読出し領域（６６，１０４）とを有する読出しバッファメモリであって、前記第１および第２の読出し領域のうち一方は、現在のサンプリング周期において前記演算部（５０）に読み出される遅延結果データ（ＲＤ）を記憶する現周期読み出し領域であり、前記第１および第２の読出し領域のうち他方は、現在のサンプリング周期の直後のサンプリング周期において前記演算部（５０）に読み出される遅延結果データ（ＲＤ）を記憶する次周期記憶領域である読出しバッファメモリ（６２，６６，１０４，１０６）と、前記第１および第２の読出し領域に付与される前記現周期読み出し領域および前記次周期記憶領域の機能を前記サンプリング周期毎に切り替える読出し用切替手段（５４，５８）とを有し、前記第１の読出し領域（６２，１０６）と、前記第２の読出し領域（６６，１０４）とは、各々独立してアクセス可能なメモリ素子によって構成され、前記記憶装置（１２）は、読出しバッファメモリ（６２，６６，１０４，１０６）よりもアクセス速度が遅い記憶装置であり、前記記憶装置制御部（８０）は、前記記憶装置（１２）から読み出した遅延結果データ（ＲＤ）を前記読出しバッファメモリ（６２，６６，１０４，１０６）の次周期記憶領域に書き込むものであることを特徴とする。
また、請求項６記載の信号処理装置にあっては、サンプリング周期毎に、遅延処理を行う対象となる複数チャンネルの遅延対象データ（ＷＤ）を出力するとともに、遅延された複数チャンネルの遅延結果データ（ＲＤ）を入力する演算部（５０）と、前記各チャンネルに必要な遅延時間に応じて、前記各チャンネル毎の書込みアドレス（ＷＡ）と読出しアドレス（ＲＡ）とを発生させるアドレス発生回路（７４〜７８）と、供給された前記遅延対象データ（ＷＤ）を記憶装置（１２）の前記書込みアドレス（ＷＡ）に書き込むとともに、該記憶装置（１２）の前記読出しアドレス（ＲＡ）に記憶されたデータを読み出し、前記遅延結果データ（ＲＤ）として出力する記憶装置制御部（８０）と、前記演算部（５０）および前記記憶装置制御部（８０）によってアクセスされ、第１の書込み領域（６０，１００）と第２の書込み領域（６４，１０２）とを有する書込みバッファメモリであって、前記第１および第２の書込み領域のうち一方は現在のサンプリング周期において前記演算部（５０）から出力される遅延対象データ（ＷＤ）が書き込まれる現周期書き込み領域であり、前記第１および第２の書込み領域のうち他方は現在のサンプリング周期の直前のサンプリング周期において前記演算部（５０）から出力された遅延対象データ（ＷＤ）を記憶する前周期記憶領域である書込みバッファメモリ（６０，６４，１００，１０２）と、前記第１および第２の書込み領域に付与される前記現周期書き込み領域および前記前周期記憶領域の機能を前記サンプリング周期毎に切り替える書込み用切替手段（５２，５６）とを有し、前記第１の書込み領域（６０，１００）と、前記第２の書込み領域（６４，１０２）とは、各々独立してアクセス可能なメモリ素子によって構成され、前記記憶装置（１２）は、前記書込みバッファメモリ（６０，６４，１００，１０２）よりもアクセス速度が遅い記憶装置であり、前記記憶装置制御部（８０）は、前記書込みバッファメモリ（６０，６４，１００，１０２）の前周期記憶領域に記憶された遅延対象データ（ＷＤ）を前記記憶装置（１２）に書き込むものであることを特徴とする。
【発明の効果】
【０００７】
このように本発明によれば、演算部から出力される遅延対象データが書き込まれる第１の書込み領域と、記憶装置制御部によってアクセスされる第２の書込み領域とを書込みバッファメモリに設け、記憶装置制御部によってアクセスされる第１の読出し領域と、演算部によってアクセスされる第２の読出し領域とを読出しバッファメモリに設けたから、演算部に対する入出力制御と、記憶装置に対する入出力制御とを独立させることができる。これにより、記憶装置のアクセス時間が演算部のマイクロプログラムに及ぼす影響を排除することができ、効率的なマイクロプログラムを自由にコーディングすることが可能になる。
【０００８】
また、第１の書込み領域と第２の書込み領域とを各々独立してアクセス可能なメモリ素子によって構成し、第１の読出し領域と前記第２の読出し領域とを各々独立してアクセス可能なメモリ素子によって構成する発明によれば、一方のメモリ素子に演算部がアクセスしているタイミングに記憶装置制御部は他方のメモリ素子にアクセスできるから、演算部と記憶装置制御部とが全く独立してメモリ素子に対する書き込みや読み出し等の処理を行うことができる。ここで、メモリ素子の数を減らすには、第１の書込み領域と第１の読出し領域とを一のメモリ素子（第１のメモリ素子）によって構成し、第２の書込み領域と第２の読出し領域とを他ののメモリ素子（第２のメモリ素子）によって構成すると好適である。
【発明を実施するための最良の形態】
【０００９】
1．実施例のハードウエア構成
1．1．全体構成
次に、本発明の一実施例のデジタルミキサ１のハードウエア構成を図１を参照し説明する。
図において２は表示器であり、例えば「１０２４×７６８」程度の解像度を有するフラットパネルディスプレイによって構成されている。また、表示器２はタッチパネルを備えており、表示されているボタンに対する押下等の操作を検出できるように構成されている。４は電動フェーダ群であり、操作者の操作に基づいて各入出力チャンネルの信号レベルを調節する。さらに、電動フェーダ群４は、バスライン１８を介して操作コマンドが供給されると、その操作位置が自動設定されるように構成されている。
【００１０】
６は操作子群であり、各種のスイッチ、ノブおよびＬＥＤキーから構成され、ＬＥＤキーに内蔵されたＬＥＤの点滅状態はバスライン１８を介して設定される。各種スイッチ、キーおよびノブの操作状態はバスライン１８を介して出力される。８は波形Ｉ／Ｏ部であり、アナログ音声信号またはデジタル音声信号を入出力する。本実施例においては、各種音声信号のミキシング処理・効果処理等は全てデジタル処理により実行される。しかし、外部から入力される音声信号および外部に出力すべき音声信号はデジタル、アナログ信号の双方が考えられる。このため、波形Ｉ／Ｏ部８においては、アナログ信号とデジタル信号間の変換、複数種類のデジタル信号相互間の変換等の処理が行われる。
【００１１】
次に、１０は信号処理部であり、ＤＳＰ（デジタル・シグナル・プロセッサ）等から構成されている。信号処理部１０は、波形Ｉ／Ｏ部８を介して供給されたデジタル音声信号に対してミキシング処理や効果処理を施し、その結果を波形Ｉ／Ｏ部８に出力する。１２は外部ＲＡＭであり、信号処理部１０におけるディレイ処理等に用いられる。ここで、外部ＲＡＭ１２の記憶容量を「Ｍワード」とする。但し、「１ワード」のビット長は、「１サンプリング」のデータすなわち音声信号の「１サンプル」のビット長であり、例えば「１６」、「２４」、「３２」等のビット数になる。外部ＲＡＭ１２は、信号処理部１０に内蔵されている内蔵ＲＡＭ（図示略）と比較して大容量かつ安価であるが、アクセス速度が遅いという特徴がある。２０はその他Ｉ／Ｏ部であり、各種の外部機器との間でデータを入出力する。
【００１２】
２２はＣＰＵであり、後述する制御プログラムに基づいて、バスライン１８を介して各部を制御する。２４はフラッシュメモリであり、その内部のプログラム領域には上記制御プログラムが記憶されている。２６はＲＡＭであり、ＣＰＵ２２のワークメモリとして使用される。信号処理部１０に設定すべきマイクロプログラムは、フラッシュメモリ２４またはＲＡＭ２６に記憶され、ＣＰＵ２２の制御の下、必要に応じて信号処理部１０にロードされる。３２は操作者用モニタであり、各部のモニタ信号を出力する。
【００１３】
1．2．信号処理部１０の詳細構成
次に、信号処理部１０の詳細構成を図２を参照し説明する。
８６はクロック発生部であり、所定周期のシステムクロックφを発生するとともに、このシステムクロックφを「３０７２」分周したサンプリングクロックφTを生成し、両クロック信号を信号処理部１０内の各部に供給する。ここで、サンプリングクロックφTの周期がサンプリング周期Ｔになる。なお、サンプリングクロックφTは、ＣＰＵ２２の動作クロックとは独立している。５０は演算部であり、マイクロプログラムメモリ７２に記憶されたマイクロプログラムに基づいて、音声信号に対して各種ミキシング処理や効果処理を実行するが、効果処理の一部として、最大「９６」チャンネルの音声信号に対して、遅延処理を行うことができる。これらのチャンネルを第０〜第９５チャンネルという。
【００１４】
ここで、演算部５０は、例えば上記特許文献１（特開平１１−２０３１２９号公報）に開示されたもの等、公知のＤＳＰの演算回路をそのまま用いてよい。７０はマイクロプログラム供給部であり、システムクロックφに同期して、マイクロプログラムを１ステップづつ演算部５０に供給する。このため、演算部５０においては、サンプリング周期Ｔ毎に合計「３０７２」ステップのマイクロプログラムが実行されることになる。換言すれば、マイクロプログラムの最大ステップ数は「１」サンプリング周期長であり、本実施例においては、「３０７２」ステップになる。このマイクロプログラムは１サンプリング周期内に「１」回実行され、サンプリング周期毎に繰り返し実行される。なお、一例として、「３２」チャンネルの音声信号に対して処理を施すと仮定すると、「１」チャンネルあたり「３０７２／３２＝９６」ステップが割り当てられることになる。これらシステムクロックφ、サンプリングクロックφTおよびマイクロプログラムのタイミングチャートを図３(a)〜(c)に示しておく。
【００１５】
本実施例においては、「１」サンプリング周期毎に、各チャンネルから外部ＲＡＭ１２（図１参照）に書き込むべき各「１」ワードのデータ、すなわち「チャンネル数×１ワード」のデータが演算部５０から出力され、演算部５０には外部ＲＡＭ１２から読み出された「チャンネル数×１ワード」のデータが入力されることとする。前者のデータを書込みデータＷＤといい、後者のデータを読出しデータＲＤという。この書込みデータＷＤおよび読出しデータＲＤは、各々最大「９６」チャンネル分のデータを総称したものである。以下、本明細書においては、各チャンネル毎のデータを表記する場合には、例えば、書込みデータＷＤ＿０〜ＷＤ＿９５のように、アンダーバー（＿）とチャンネル番号とを付与して表記する。
【００１６】
次に、６０，６４は書込みバッファであり、各々「９６」ワードの記憶容量を有し、演算部５０から出力された最大「９６」チャンネル分の書込みデータＷＤを一時的に記憶する。５２は切換スイッチであり、書込みデータＷＤの供給先として、サンプリング周期Ｔ毎に書込みバッファ６０，６４を交互に選択する。ここで、書込みバッファ６０に記憶された書込みデータＷＤを「ＷＤ１」といい、書込みバッファ６４に記憶された書込みデータＷＤを「ＷＤ２」という。また、６２，６６は読出しバッファであり、各々「９６」ワードの記憶容量を有し、演算部５０に供給すべき最大「９６」チャンネル分の読出しデータＲＤを一時的に記憶する。
【００１７】
５４は切換スイッチであり、読出しデータＲＤの供給元として、サンプリング周期Ｔ毎に読出しバッファ６２，６６を交互に選択する。ここで、読出しバッファ６２に記憶された読出しデータＲＤを「ＲＤ１」といい、読出しバッファ６６に記憶された読出しデータＲＤを「ＲＤ２」という。これら書込みバッファ６０，６４および読出しバッファ６２，６６のアクセスに必要なシステムクロック数は「１」であり、マイクロプログラムにおいては、選択された側の書込みバッファ６０，６４または読出しバッファ６２，６６を任意の箇所（ステップ）でアクセスすることができる。
【００１８】
演算部５０は、書込みバッファ６０または６４に対して「１」システムクロックあたり「１」ワードのデータを書き込むことができ、読出しバッファ６２または６６から「１」システムクロックあたり「１」ワードのデータを読み出すことができる。これらのバッファ６０〜６６は、各々独立して設けられており、演算部５０および外部メモリ制御回路８０が独立してアクセスできるように構成されている。本実施例では、一つのバッファに対して演算部５０と外部メモリ制御回路８０とが同時にアクセスすることはできないが、別々のバッファであれば、演算部５０と外部メモリ制御回路８０とが同一のタイミングでこれらのバッファをアクセスすることができる。より具体的には、バッファ６０〜６６は、物理的に独立したチップ上に構成されている。このようにバッファ６０〜６６が独立していることにより、演算部５０と外部メモリ制御回路８０とは各々任意のタイミングで、他方がアクセスしていないバッファにアクセスすることができ、演算部５０および外部メモリ制御回路８０によるアクセスを同時に実行することができる。
【００１９】
７４はベースカウンタであり、「０」〜「Ｍ−１」（但しＭは外部ＲＡＭ１２のワード数）の範囲でサンプリングクロックφTを循環的にカウントアップし、その結果であるベースアドレスＡＤＢを出力する。８２は書込みオフセットレジスタであり、第０〜第９５チャンネルに対応する「９６」の書込みオフセットアドレスＷＳ（ＷＳ＿０〜ＷＳ＿９５）を記憶する。７６はモジュロ型加算器であり、書込みオフセットアドレスＷＳ＿０〜ＷＳ＿９５に対して各々ベースアドレスＡＤＢを加算し、各加算結果を外部ＲＡＭ１２のワード数Ｍで除算したときの「余り」を、書込みデータＷＤに対する書込みアドレスＷＡ（ＷＡ＿０〜ＷＡ＿９５）として順次出力する。
【００２０】
書込みアドレスＷＡ＿０〜ＷＡ＿９５は、書込みデータＷＤ＿０〜ＷＤ＿９５に一対一に割り当てられたアドレスであり、実際に書込みデータＷＤ＿０〜ＷＤ＿９５を外部ＲＡＭ１２に書き込む際の、外部ＲＡＭ１２上のアドレスになる。ここで、マイクロプログラムにおいては、信号処理されるチャンネルの順番は固定されている。そして、書込みバッファ６０，６４には、その固定された順番で各チャンネルのデータが記録されており、書込みバッファ６０，６４に記録される書込みデータＷＤ＿０〜ＷＤ＿９５の順序もそのチャンネル順に固定されている。このため、書込みアドレスＷＡ＿０〜ＷＡ＿９５の発生順序も、そのチャンネル順に固定されている。
【００２１】
７７は加算器であり、ベースアドレスＡＤＢに「２」を加算する。８４は読出しオフセットレジスタであり、第０〜第９５チャンネルに対応する「９６」の読出しオフセットアドレスＲＳ（ＲＳ＿０〜ＲＳ＿９５）を記憶する。７８はモジュロ型加算器であり、読出しオフセットアドレスＲＳ＿０〜ＲＳ＿９５に対して各々加算器７７の出力信号（ベースアドレスＡＤＢ＋２）を加算し、各加算結果を外部ＲＡＭ１２のワード数Ｍで除算したときの「余り」を、読出しデータＲＤに対する読出しアドレスＲＡ（ＲＡ＿０〜ＲＡ＿９５）として順次出力する。外部メモリ制御回路８０は、上述した読出しアドレスＲＡおよび書込みアドレスＷＡに基づいて、外部ＲＡＭ１２に対するデータの読出しおよび書込みを行う。
【００２２】
読出しアドレスＲＡ＿０〜ＲＡ＿９５は、読出しデータＲＤ＿０〜ＲＤ＿９５に一対一に割り当てられたアドレスであり、実際に読出しデータＲＤ＿０〜ＲＤ＿９５が外部ＲＡＭ１２から読み出される際の、外部ＲＡＭ１２上のアドレスになる。上述したように、マイクロプログラムにおいては、信号処理されるチャンネルの順番は固定されており、読出しバッファ６２，６６からは、その固定された順番でデータが読み出される。従って、読出しバッファ６２，６６内の読出しデータＲＤ＿０〜ＲＤ＿９５の順序もそのチャンネル順に固定されている。このため、読出しアドレスＲＡ＿０〜ＲＡ＿９５の発生順序も、そのチャンネル順に固定されている。
【００２３】
より具体的には、モジュロ型加算器７６から書込みアドレスＷＡ＿０〜ＷＡ＿９５が順次出力されると、その期間中は書込みイネーブル信号ＷＥが“１”（書込み状態）に設定され、供給された書込みアドレスＷＡ＿０〜ＷＡ＿９５がアドレス信号ＡＤとして外部ＲＡＭ１２に出力される。また、これと同期して、書込みバッファ６０，６４のうち一方から書込みデータＷＤ＿０〜ＷＤ＿９５が読み出され、該書込みデータＷＤ＿０〜ＷＤ＿９５がデータ信号Ｄとして外部ＲＡＭ１２に出力される。上述したように、書込みデータＷＤ＿０〜ＷＤ＿９５と書込みアドレスＷＡ＿０〜ＷＡ＿９５とは一対一に対応するから、書込みデータＷＤ＿ｋ（ｋは０〜９５の何れか）が書込みバッファ６０，６４から読み出されているタイミングに、モジュロ型加算器７６からは書込みアドレスＷＡ＿ｋが出力される。
【００２４】
また、モジュロ型加算器７８から読出しアドレスＲＡ＿０〜ＲＡ＿９５が順次出力されると、その期間中は書込みイネーブル信号ＷＥが“０”（読出し状態）に設定され、供給された読出しアドレスＲＡ＿０〜ＲＡ＿９５がアドレス信号ＡＤとして外部ＲＡＭ１２に出力される。また、これと同期して、外部ＲＡＭ１２から読み出されたデータ信号Ｄが、読出しデータDinとして外部メモリ制御回路８０から出力され、この読出しデータDinが読出しデータＲＤ＿０〜ＲＤ＿９５として読出しバッファ６２，６６のうち一方に書き込まれる。上述したように、読出しデータＲＤ＿０〜ＲＤ＿９５と読出しアドレスＲＡ＿０〜ＲＡ＿９５とは一対一に対応するから、読出しデータDinが読出しデータＲＤ＿ｋ（ｋは０〜９５の何れか）として読出しバッファ６２，６６に書き込まれているタイミングに、モジュロ型加算器７８からは読出しアドレスＲＡ＿ｋが出力される。
【００２５】
このように、書込みバッファ６０または６４の一方から読み出された書込みデータＷＤ１またはＷＤ２が、書込みデータDoutとして外部メモリ制御回路８０を介して外部ＲＡＭ１２に書き込まれる。５６は切換スイッチであり、外部ＲＡＭ１２に書き込まれるデータである書込みデータDoutの供給元として、サンプリング周期Ｔ毎に書込みバッファ６０，６４を交互に選択する。また、５８は切換スイッチであり、読出しデータDinの供給先として、サンプリング周期Ｔ毎に読出しバッファ６２，６６を交互に選択する。
【００２６】
次に、読出しオフセットアドレスＲＳおよび書込みオフセットアドレスＷＳの設定方法を図４を参照し説明しておく。あるチャンネル（第ｎチャンネル）の読出しオフセットアドレスＲＳ＿ｎおよび書込みオフセットアドレスＷＳ＿ｎは、サンプリング周期Ｔを単位として、両者の差が第ｎチャンネルに必要な遅延時間になるように設定される。例えば、第０チャンネルにおいて「５Ｔ」の遅延時間が必要な場合は、読出しオフセットアドレスＲＳ＿０を「０」とし、書込みオフセットアドレスＷＳ＿０を「５」に設定するとよい。これは、換言すると、オフセットアドレス「０〜５」の範囲が第０チャンネルに割り当てられたことになる。
【００２７】
また、他のチャンネルについては、既に割り当てられているオフセットアドレスの範囲と重複しないように、必要な遅延時間が得られるように、同様にオフセットアドレスを決定してゆくとよい。但し、外部ＲＡＭ１２の記憶容量を最も効率的に使用するためには、既に割り当てられている範囲と隣接するように、新たなオフセットアドレスの範囲を設定することが最適である。例えば、第１チャンネルにおいて「７Ｔ」の遅延時間が必要な場合は、既に割り当てられている「０〜５」の範囲に隣接して、「７」ワードのオフセットアドレスの範囲が得られるように、読出しオフセットアドレスＲＳ＿１を「６」とし、書込みオフセットアドレスＷＳ＿１を「１３」に設定するとよい。以後同様に、ワード数Ｍの範囲内で、第０〜第９５チャンネルに対して、順次オフセットアドレスの範囲を割り当ててゆくとよい。
【００２８】
ここで、あるサンプリング周期において演算部５０から出力された書込みデータＷＤ＿０は、書込みアドレスＷＡ＿０（＝ＡＤＢ＋５）に書き込まれる。その後、「５」サンプリング周期が経過すると、ベースアドレスＡＤＢが「５」だけ増加されるから、先に書き込まれた書込みデータＷＤ＿０が、読出しデータＲＤ＿０として読み出され、演算部５０に供給される。これにより、第０チャンネルのデータに対して、「５Ｔ」の遅延が与えられることになる。
【００２９】
但し、本実施例においては、外部ＲＡＭ１２から読み出されたデータが読出し読出しデータＲＤとして演算部５０に供給されるまで「１」サンプリング周期が必要であり、演算部５０から出力された書込みデータＷＤが外部ＲＡＭ１２に書き込まれるまで「１」サンプリング周期が必要である。このため、あるサンプリング周期において外部ＲＡＭ１２に書き込まれているデータは、実際は直前のサンプリング周期に演算部５０から出力された書込みデータＷＤであり、外部ＲＡＭ１２から読み出されているデータは、実際は直後のサンプリング周期に演算部５０に読出しデータＲＤとして供給すべきデータである。従って、両者のタイミングを合わせるために、加算器７７においてベースアドレスＡＤＢに「２」を加算した値に基づいて、読出しアドレスＲＡが生成されるようにしている。
【００３０】
ここで、書込みバッファ６０と読出しバッファ６２とを第１バッファペア（６０，６２）と呼び、書込みバッファ６４と読出しバッファ６６とを第２バッファペア（６４，６６）と呼ぶ。演算部５０と第１バッファペア（６０，６２）との間でデータ転送（データの読み出しおよび書き込み）が行われている期間（「１」サンプリング周期）においては、第２バッファペア（６４，６６）と外部ＲＡＭ１２との間でデータ転送が行われる。逆に、演算部５０と第２バッファペア（６４，６６）との間でデータ転送が行われている期間（「１」サンプリング周期）においては、第１バッファペア（６０，６２）と外部ＲＡＭ１２との間でデータ転送が行われる。
【００３１】
このようなデータ転送を実現するために、外部メモリ制御回路８０によって切換スイッチ５２〜５８は連動するように制御される。すなわち、切換スイッチ５２が書込みバッファ６０を選択している場合には切換スイッチ５４は読出しバッファ６２を選択し、切換スイッチ５６は書込みバッファ６４を選択し、切換スイッチ５８は読出しバッファ６６を選択するように設定される。逆に、切換スイッチ５２が書込みバッファ６４を選択している場合には、切換スイッチ５４は読出しバッファ６６を選択し、切換スイッチ５６は書込みバッファ６０を選択し、切換スイッチ５８は読出しバッファ６２を選択するように設定される。
【００３２】
このように、演算部５０との間でデータ転送が行われるバッファペアと、外部ＲＡＭ１２との間でデータ転送が行われるバッファペアとは、異なるバッファペアであり、かつ、これらのバッファペアは「１」サンプリング周期毎に交互に入れ替えられる。これにより、演算部５０に対するデータ転送と、外部ＲＡＭ１２に対するデータ転送とが全く独立して実行されることになり、これらのデータ転送を同一のタイミングにおいても実行することが可能になる。
【００３３】
2．実施例の動作
次に、本実施例の動作を説明するが、最初に演算部５０の基本的な動作を説明する。演算部５０は、「１」サンプリング周期毎に最大「９６」チャンネルの音声信号を、各々「１」サンプルづつ処理する。この結果、「１」サンプリング周期毎に、各チャンネルには、「１」サンプル（「１」ワード）の演算結果が発生し、全体では最大「９６」チャンネルに対して最大「９６」サンプルの演算結果が発生する。この「１」サンプリング周期に発生した最大「９６」サンプルの演算結果は、当該サンプリング周期内に、書込みバッファ６０，６４のうち選択されている側のバッファに書き込まれる。
【００３４】
また、外部メモリ制御回路８０の動作により、最大「９６」チャンネルの遅延結果が読出しバッファ６２，６６のうち一方に書き込まれる。この読出しバッファ６２，６６内の「９６」チャンネルのデータは、次の「１」サンプリング周期に演算部５０に読み込まれる。すなわち、「１」サンプリング周期に演算部５０に読み込まれるべきデータは、読出しバッファ６２，６６のうち選択されている一方のバッファに記録されていることになる。このように、演算部５０および外部メモリ制御回路８０によるデータ転送は各々独立に実行され、演算部５０および外部メモリ制御回路８０が同一のタイミングに同一のバッファにアクセスしないようにサンプリング周期毎に切換スイッチ５２〜５８の状態が制御される。
【００３５】
次に、このデータ転送動作の詳細を図５を参照し説明する。あるサンプリング周期Ｔ1において、切換スイッチ５２，５４によって第１バッファペア（６０，６２）を成す書込みバッファ６０および読出しバッファ６２が選択されたとする。このサンプリング周期Ｔ1においては、マイクロプログラムに基づいて演算部５０から出力された書込みデータＷＤは、書込みデータＷＤ１として、書込みバッファ６０に書き込まれる。ここで、複数のチャンネルの書込みデータＷＤ＿０〜ＷＤ＿９５が書き込まれるタイミングは、サンプリング周期Ｔ1内で任意であり、例えば複数の連続するステップにおいて複数の書込みデータが連続的に書込みバッファ６０に書き込まれるようにしてもよい。また、当該サンプリング周期Ｔ1においては、マイクロプログラムに基づいて、読出しバッファ６２に記憶されている読出しデータＲＤ１が読出しデータＲＤとして読み出される。ここで、複数のチャンネルの読出しデータＲＤ＿０〜ＲＤ＿９５のデータ読出しタイミングも、サンプリング周期Ｔ1内で任意に設定することができる。
【００３６】
一方、このサンプリング周期Ｔ1においては、切換スイッチ５６，５８によって他方の第２バッファペア（６４，６６）を成す書込みバッファ６４および読出しバッファ６６が外部メモリ制御回路８０に対するデータ転送の対象として選択される。外部メモリ制御回路８０においては、直前のサンプリング周期に書込みバッファ６４に書き込まれた書込みデータＷＤ２が書込みデータDoutとして選択され、書込みアドレスＷＡによって指定された外部ＲＡＭ１２中のアドレスに書き込まれる。そして、次のサンプリング周期Ｔ2において読出しデータＲＤとして演算部５０に供給されるべきデータが、読出しアドレスＲＡによって指定された外部ＲＡＭ１２中のアドレスから読み出される。この読み出された読出しデータDinは、読出しデータＲＤ２として読出しバッファ６６内に蓄積される。このように、「１」サンプリング周期内において外部ＲＡＭ１２に対しては「１９２（９６×２）」回アクセスが行われることになる。そして、「１」サンプリング周期はシステムクロックφの「３０７２」周期に相当するから、外部ＲＡＭ１２への「１」回のアクセスに対して例えばシステムクロックの数倍の時間を要したとしても、充分な余裕をもって外部ＲＡＭ１２にアクセスすることが可能である。
【００３７】
このように、サンプリング周期Ｔ1においては、演算部５０によって第１バッファペア（６０，６２）がアクセスされ、外部メモリ制御回路８０によって第２バッファペア（６４，６６）がアクセスされる。そして、演算部５０によって第２バッファペア（６４，６６）がアクセスされることがなく、外部メモリ制御回路８０によって第１バッファペア（６０，６２）がアクセスされることも無いため、演算部５０および外部メモリ制御回路８０は、各々任意のタイミングで対応するバッファペアにアクセスすることが可能である。すなわち、書込みバッファ６０には最大「９６」チャンネル分のデータ容量が確保されているため、演算部５０はサンプリング周期Ｔ1内の任意のタイミングで書込みバッファ６０にデータを書き込むことができる。また、読出しバッファ６２には、最大「９６」チャンネル分のデータが既に準備されているため、演算部５０はサンプリング周期Ｔ1内の任意のタイミングに読出しバッファ６２からデータを読み出すことができる。同様に、外部メモリ制御回路８０は任意のタイミングに書込みバッファ６４からデータを読み出すことができ、任意のタイミングに読出しバッファ６６にデータを書き込むことができる。
【００３８】
次のサンプリング周期Ｔ2にあっては、上記サンプリング周期Ｔ1とは逆に、切換スイッチ５２，５４によって第２バッファペア（６４，６６）を成す書込みバッファ６４および読出しバッファ６６が選択され、切換スイッチ５６，５８によって第１バッファペア（６０，６２）を成す書込みバッファ６０および読出しバッファ６２が選択される。従って、演算部５０によって第２バッファペア（６４，６６）のみがアクセスされる一方、外部メモリ制御回路８０によって第１バッファペア（６０，６２）のみがアクセスされる。そして、演算部５０によって第１バッファペア（６０，６２）がアクセスされることがなく、外部メモリ制御回路８０によって第２バッファペア（６４，６６）がアクセスされることもない。このサンプリング周期Ｔ2においては、演算部５０から出力された書込みデータＷＤは、書込みデータＷＤ２として、任意のタイミングに書込みバッファ６４に書き込まれる。また、当該サンプリング周期Ｔ2においては、読出しバッファ６６に記憶されている読出しデータＲＤ２（直前のサンプリング周期Ｔ1に外部メモリ制御回路８０によって書き込まれた読出しデータ）が読出しデータＲＤとして、任意のタイミングに演算部５０から読み出される。一方、外部メモリ制御回路８０においては、直前のサンプリング周期Ｔ1に書込みバッファ６０に書き込まれた書込みデータＷＤ１が、書込みアドレスＷＡによって指定された外部ＲＡＭ１２中のアドレスに任意のタイミングに書き込まれる。そして、次のサンプリング周期Ｔ3において読出しデータＲＤとして演算部５０に供給されるべきデータが、読出しアドレスＲＡによって指定された外部ＲＡＭ１２中のアドレスから任意のタイミングに読み出され、読出しデータＲＤ１として読出しバッファ６２内に蓄積される。
【００３９】
以降のサンプリング周期においても、上述したサンプリング周期Ｔ1，Ｔ2と同様の処理が交互に繰り返される。このように本実施例によれば、演算部５０が「１」システムクロックでアクセス可能なバッファ６０〜６６を介して外部ＲＡＭ１２にアクセスするため、外部ＲＡＭ１２にアクセスするためのステップをマイクロプログラムの任意の位置に挿入することができ、マイクロプログラムを自由に、かつ効率的に演算部５０を動作させるようにコーディングすることができる。
【００４０】
3．変形例
本発明は上述した実施例に限定されるものではなく、例えば以下のように種々の変形が可能である。
(1)上記実施例においては、ベースカウンタ７４はサンプリングクロックφTをカウントアップするものであったが、サンプリングクロックφTをカウントダウンするものであってもよいことは言うまでも無い。
【００４１】
(2)また、上記実施例においては、書込みバッファ６０，６４および読出しバッファ６２，６６を切換スイッチ５２，５４によって切り替える構成を採用したが、演算部５０と外部メモリ制御回路８０とを仲介する回路はこの構成に限られるものではない。例えば、構成要素５０〜６６の部分は、図６に示すように変形することができる。図６において１００，１０２は各々「９６」ワードの書込みバッファである。演算部５０は書込みバッファ１００に対して随時アクセスすることができる。また、外部メモリ制御回路８０は書込みバッファ１０２に対して随時アクセス可能になっており、書込みバッファ１０２に記憶された書込みデータＷＤ０２が、外部ＲＡＭ１２の対応するアドレスに書き込まれる。１０１は転送回路であり、書込みバッファ１００の全ワードの内容である書込みデータＷＤ０１を、サンプリングクロックφTの立ち上がりに同期して、書込みバッファ１０２に転送する。
【００４２】
また、１０４，１０６は各々「９６」ワードの読出しバッファである。演算部５０は読出しバッファ１０６に対して随時アクセスすることが可能になっている。また、外部メモリ制御回路８０は読出しバッファ１０４に対して随時アクセス可能になっており、外部ＲＡＭ１２の対応するアドレスに記憶されたデータが、読出しデータＲＤ０１として読出しバッファ１０４に書き込まれる。１０５は転送回路であり、読出しバッファ１０４の全ワードの内容である読出しデータＲＤ０１を、サンプリングクロックφTの立ち上がりに同期して、読出しバッファ１０６に転送する。
【００４３】
(3)また、上記実施例の構成要素５０〜６６に対応する部分は、図６に示した変形例以外にも種々のものが考えられ、本発明は領域の分割方法や物理的なメモリの構造等によって限定されるものではない。要するに、外部メモリ制御回路８０による外部ＲＡＭ１２へのアクセスと、演算部５０によるデータの入出力が独立して実行できる構成であれば、本発明の目的を達することができる。
【００４４】
(4)また、上記実施例においては、読出しデータＲＤおよび書込みデータＷＤのワード数は共に「９６」であったが、両者のワード数を一致させる必要はない。例えば、一の書込みデータに対して、各々異なる時間だけ遅延させた複数の読出しデータが必要な場合もある。かかる場合には、外部ＲＡＭ１２の一のアドレスに書き込まれたデータを、タイミングを異ならせて複数回読み出すようにすることが最適である。従って、かかる場合には、読出しデータＲＤのワード数は書込みデータＷＤのワード数よりも多くなる。
【図面の簡単な説明】
【００４５】
【図１】本発明の一実施例のデジタルミキサのブロック図である。
【図２】信号処理部１０の詳細ブロック図である。
【図３】信号処理部１０のタイミングチャートである。
【図４】信号処理部１０の動作説明図である。
【図５】信号処理部１０の他の動作説明図である。
【図６】信号処理部１０の変形例の要部のブロック図である。
【符号の説明】
【００４６】
１：デジタルミキサ、２：表示器、４：電動フェーダ群、６：操作子群、８：波形Ｉ／Ｏ部、１０：信号処理部、１２：外部ＲＡＭ（記憶装置）、１８：バスライン、２０：その他Ｉ／Ｏ部、２２：ＣＰＵ、２４：フラッシュメモリ、２６：ＲＡＭ、５０：演算部、５２〜５８：切換スイッチ（書込み用切替手段，読出し用切替手段）、６０，６４：書込みバッファ（第１，第２の書込み用メモリ素子）、６０〜６６：バッファ、６０，６４：（第１および第２の書込み用メモリ素子）、６０，６４，１００，１０２：（書込みバッファメモリ）、６２，６６：読出しバッファ、６２：（第１の読出し用メモリ素子）、６２，６６：（第１および第２の読出し用メモリ素子）、６２，６６，１０４，１０６：（読出しバッファメモリ）、６６：（第２の読出し用メモリ素子）、７０：マイクロプログラム供給部、７２：マイクロプログラムメモリ、７４：ベースカウンタ、７６，７８：モジュロ型加算器（アドレス発生回路）、７７：加算器（アドレス発生回路）、８０：外部メモリ制御回路（記憶装置制御部）、８２：書込みオフセットレジスタ、８４：読出しオフセットレジスタ、８６：クロック発生部、１００，１０２：書込みバッファ（第１，第２の書込み領域）、１０１，１０５：転送回路、１０４，１０６：読出しバッファ（第１，第２の読出し領域）。
【図１】
2008153975.tif 000003
【図２】
2008153975.tif 000004
【図３】
2008153975.tif 000005
【図４】
2008153975.tif 000006
【図５】
2008153975.tif 000007
【図６】
2008153975.tif 000008