JP2781973B2 - メモリー内容更新回路 - Google Patents
メモリー内容更新回路Info
- Publication number
- JP2781973B2 JP2781973B2 JP63217396A JP21739688A JP2781973B2 JP 2781973 B2 JP2781973 B2 JP 2781973B2 JP 63217396 A JP63217396 A JP 63217396A JP 21739688 A JP21739688 A JP 21739688A JP 2781973 B2 JP2781973 B2 JP 2781973B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- coefficient
- memory
- update
- register
- 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
Links
Landscapes
- Stored Programmes (AREA)
- Complex Calculations (AREA)
Description
【発明の詳細な説明】 イ.産業上の利用分野 本発明はメモリー内容更新回路に関し、例えばDSP(D
igital Signal Processor)等の信号処理ICにおける演
算処理用のデータメモリー(特にオンチップRAMからな
る係数メモリー)の更新回路に関するものである。
igital Signal Processor)等の信号処理ICにおける演
算処理用のデータメモリー(特にオンチップRAMからな
る係数メモリー)の更新回路に関するものである。
ロ.従来技術 従来のDSPにおいては、例えば音楽信号の周波数特性
を変化させたいときには、その係数データを変更する必
要がある。この場合、一般に、係数データを個々に変更
すると発振等を起こしてしまう可能性が高いため、数ワ
ードを一括して変更する必要がある。このため、係数デ
ータの変更(更新)は次の(1)〜(3)に示す方法で
行われている。
を変化させたいときには、その係数データを変更する必
要がある。この場合、一般に、係数データを個々に変更
すると発振等を起こしてしまう可能性が高いため、数ワ
ードを一括して変更する必要がある。このため、係数デ
ータの変更(更新)は次の(1)〜(3)に示す方法で
行われている。
(1).プログラムによるメモリーの読み出し、書き込
み等の実行処理を一時停止し、係数メモリーの内容を変
更(更新)する………ダイレクト・メモリー・アクセス
法。
み等の実行処理を一時停止し、係数メモリーの内容を変
更(更新)する………ダイレクト・メモリー・アクセス
法。
(2).プログラムの実行中に、メモリーが使用されな
いタイミングを見て、限定された領域の内容を変更する
………サイクルスチール法。
いタイミングを見て、限定された領域の内容を変更する
………サイクルスチール法。
(3).係数メモリーを2バンク用意しておき、バンク
の切り換えにより瞬間に変更する………2バンク方式。
の切り換えにより瞬間に変更する………2バンク方式。
しかしながら、これらの更新方法では、実行処理を一
時停止しなければならない(ダイレクト・メモリー・ア
クセス法)とか、更新タイミングが非常に困難若しくは
不可能であってアプリケーションプログラムに大幅な制
限を受ける(サイクルスチール法)上に、大規模なハー
ドウェアが必要になる(2バンク方式)という問題があ
る。
時停止しなければならない(ダイレクト・メモリー・ア
クセス法)とか、更新タイミングが非常に困難若しくは
不可能であってアプリケーションプログラムに大幅な制
限を受ける(サイクルスチール法)上に、大規模なハー
ドウェアが必要になる(2バンク方式)という問題があ
る。
また、一般的に、演算を含むプロセスのマシンサイク
ルは非常に高速(数十nsecオーダー)であるのに対し、
係数メモリーへのデータの転送速度は低速(数μsecオ
ーダー)であるから、これらを、同時に行うこと自体が
不可能である。
ルは非常に高速(数十nsecオーダー)であるのに対し、
係数メモリーへのデータの転送速度は低速(数μsecオ
ーダー)であるから、これらを、同時に行うこと自体が
不可能である。
ハ.発明の目的 本発明の目的は、演算処理を中断することなく、少な
いハードウエアで非同期に効率良く係数メモリー等のデ
ータを更新できる回路を提供することにある。
いハードウエアで非同期に効率良く係数メモリー等のデ
ータを更新できる回路を提供することにある。
ニ.発明の構成 即ち、本発明は、演算処理の対象となるデータを蓄積
するデータメモリーと、前記演算処理に用いられる係数
データを蓄積する係数メモリーと、前記演算処理を行う
演算回路と、更新される前記係数メモリーの所定の領域
のアドレス情報と更新係数データとからなる更新データ
が入力される入力部と、前記入力部に入力された前記ア
ドレス情報を保持するアドレスレジスタと、前記入力部
に入力された前記更新データの係数データを保持するデ
ータレジスタと、前記係数メモリーからの係数データの
読み出しを要求するメモリアクセスに応答し、そのアク
セスで与えられる読み出しアドレスが前記アドレス情報
に対応するか否かを判定し、対応するときは第1の判定
結果を出し、対応しないときは第2の判定結果を出す判
定手段と、前記判定手段より前記第1の判定結果が出さ
れたときは前記係数メモリーの代わりに前記データレジ
スタから係数データを前記演算回路に供給すると共に当
該係数データを前記読み出しアドレスで指定される前記
係数メモリーの領域に格納し、前記判定手段より前記第
2の判定結果が出されたときは前記読み出しアドレスで
指定される前記係数メモリーの領域より読み出された係
数データを前記演算回路に供給せしめる制御手段とを有
するメモリー内容更新回路に係わるものである。
するデータメモリーと、前記演算処理に用いられる係数
データを蓄積する係数メモリーと、前記演算処理を行う
演算回路と、更新される前記係数メモリーの所定の領域
のアドレス情報と更新係数データとからなる更新データ
が入力される入力部と、前記入力部に入力された前記ア
ドレス情報を保持するアドレスレジスタと、前記入力部
に入力された前記更新データの係数データを保持するデ
ータレジスタと、前記係数メモリーからの係数データの
読み出しを要求するメモリアクセスに応答し、そのアク
セスで与えられる読み出しアドレスが前記アドレス情報
に対応するか否かを判定し、対応するときは第1の判定
結果を出し、対応しないときは第2の判定結果を出す判
定手段と、前記判定手段より前記第1の判定結果が出さ
れたときは前記係数メモリーの代わりに前記データレジ
スタから係数データを前記演算回路に供給すると共に当
該係数データを前記読み出しアドレスで指定される前記
係数メモリーの領域に格納し、前記判定手段より前記第
2の判定結果が出されたときは前記読み出しアドレスで
指定される前記係数メモリーの領域より読み出された係
数データを前記演算回路に供給せしめる制御手段とを有
するメモリー内容更新回路に係わるものである。
ホ.実施例 以下、本発明の実施例を説明する。
第1図〜第10図は、本発明をDSPに適用した実施例を
示すものである。
示すものである。
まず、第7図において、DSP(ここでは、オーディオ
データからなるオーディオ情報を処理するDASP(Digita
l Audio Signal Processor)として示す。)1を含むデ
バイスシステム全体の構成を説明する。即ち、ユーザー
インタフェースのホストCPU2からアプリケーションプロ
グラムや係数データ等がDASP1のパラレルポートに入力
される。他方、DASP1の入力側シリアルポートにはサン
プリングされたオーディオデータがディジタルI/Fレシ
ーバ(又はA/Dコンバータ)3を介して供給され、処理
されたオーディオデータはディジタルI/Fトランスミッ
ター(又はD/Aコンバーター)4を介して出力される。
また、ホストCPU2にはホストCPUメモリー5が接続さ
れ、このメモリーに既にメーカー側で作り込まれた情報
がCPU2からの命令で必要に応じてDASP1へ送り込まれ
る。
データからなるオーディオ情報を処理するDASP(Digita
l Audio Signal Processor)として示す。)1を含むデ
バイスシステム全体の構成を説明する。即ち、ユーザー
インタフェースのホストCPU2からアプリケーションプロ
グラムや係数データ等がDASP1のパラレルポートに入力
される。他方、DASP1の入力側シリアルポートにはサン
プリングされたオーディオデータがディジタルI/Fレシ
ーバ(又はA/Dコンバータ)3を介して供給され、処理
されたオーディオデータはディジタルI/Fトランスミッ
ター(又はD/Aコンバーター)4を介して出力される。
また、ホストCPU2にはホストCPUメモリー5が接続さ
れ、このメモリーに既にメーカー側で作り込まれた情報
がCPU2からの命令で必要に応じてDASP1へ送り込まれ
る。
第6図には、上記のDASP1の構成をブロック図として
示した。システムの初期化時には、上記したアプリケー
ションプログラムはプログラムRAM6に、係数データの初
期値は係数RAM19に夫々パラレルポート7を経由して連
続的に供給される。その後、システムが動作開始した
後、係数データは変更される必要が生じることがある。
その時には、先に述べたように発振時の問題があるため
に、数ワード単位での瞬間的な更新が必要である。その
ためパラレルポート7には係数バッファメモリー18が接
続されて係数データの入力部を構成している。また、演
算処理はALU8とMAC9とで行われ、音楽信号はシリアルポ
ート10を通り、D−Busを経てデータRAM11、12に書き込
まれ、かつ計算に必要な情報はそれらのメモリー11、12
や19等から供給される。プログラムRAM6のプログラム情
報はシーケンスコントロール回路13に供給され、ここか
らDASP構成素子の夫々をコントロールする信号が出力さ
れ、所定の実行処理がプログラムに基づいて行われる。
なお、図中の14はテンポラリーレジスタ、AACC16及びMA
CC17はアキュムレータである。なお、図中の各素子の機
能をまとめて第8A図及び第8B図に示した。第9図には、
各信号をまとめて示した。
示した。システムの初期化時には、上記したアプリケー
ションプログラムはプログラムRAM6に、係数データの初
期値は係数RAM19に夫々パラレルポート7を経由して連
続的に供給される。その後、システムが動作開始した
後、係数データは変更される必要が生じることがある。
その時には、先に述べたように発振時の問題があるため
に、数ワード単位での瞬間的な更新が必要である。その
ためパラレルポート7には係数バッファメモリー18が接
続されて係数データの入力部を構成している。また、演
算処理はALU8とMAC9とで行われ、音楽信号はシリアルポ
ート10を通り、D−Busを経てデータRAM11、12に書き込
まれ、かつ計算に必要な情報はそれらのメモリー11、12
や19等から供給される。プログラムRAM6のプログラム情
報はシーケンスコントロール回路13に供給され、ここか
らDASP構成素子の夫々をコントロールする信号が出力さ
れ、所定の実行処理がプログラムに基づいて行われる。
なお、図中の14はテンポラリーレジスタ、AACC16及びMA
CC17はアキュムレータである。なお、図中の各素子の機
能をまとめて第8A図及び第8B図に示した。第9図には、
各信号をまとめて示した。
ここで注目されるべきことは、係数データであるバッ
ファメモリー18の情報が本発明に基づいて計算ユニット
(MACやALU)へC−Busを経て出力されて演算が行われ
ながら、係数メモリー19の内容が同時に更新されるよう
に構成したことである。これを第1図〜第5図を参照し
ながら説明する。
ファメモリー18の情報が本発明に基づいて計算ユニット
(MACやALU)へC−Busを経て出力されて演算が行われ
ながら、係数メモリー19の内容が同時に更新されるよう
に構成したことである。これを第1図〜第5図を参照し
ながら説明する。
まず、第1図において、上記したホストCPU2側で更新
の必要な係数データを例えば各16ワード以下のグループ
に夫々分ける。このワード数は発振や特性上の問題を引
き起こすことのないものである。第3図には、対応する
係数データを示した(但し、ワード数は第1グループは
16、第2グループは7とした。)なお、ここでは、ホス
トCPU2とDASP1との間は8ビット(1バイト)単位で転
送され、係数データは1ワードが32ビット(4バイト)
から構成される事とする。
の必要な係数データを例えば各16ワード以下のグループ
に夫々分ける。このワード数は発振や特性上の問題を引
き起こすことのないものである。第3図には、対応する
係数データを示した(但し、ワード数は第1グループは
16、第2グループは7とした。)なお、ここでは、ホス
トCPU2とDASP1との間は8ビット(1バイト)単位で転
送され、係数データは1ワードが32ビット(4バイト)
から構成される事とする。
上記の係数データDASP1の係数メモリー19ヘ転送され
る前に、バッファメモリ18に一時的に蓄積される。I/O
コントロール回路44によるコントロール信号によって係
数データのグループの先頭ワードの1バイトからなる送
り先アドレスがラベルとして送られ、スターティングア
ドレスレジスタ(SA−REG)20に書き込まれる。即ち、
セレクタ21によって先頭の1バイトのアドレス情報とそ
の後に送られてくる各バイト単位の係数データとに分
け、前者をレジスタ20に、後者をパラレル入力レジスタ
22(0)、22(1)、22(2)、22(3)に入れる。
る前に、バッファメモリ18に一時的に蓄積される。I/O
コントロール回路44によるコントロール信号によって係
数データのグループの先頭ワードの1バイトからなる送
り先アドレスがラベルとして送られ、スターティングア
ドレスレジスタ(SA−REG)20に書き込まれる。即ち、
セレクタ21によって先頭の1バイトのアドレス情報とそ
の後に送られてくる各バイト単位の係数データとに分
け、前者をレジスタ20に、後者をパラレル入力レジスタ
22(0)、22(1)、22(2)、22(3)に入れる。
これらの係数データは入力バッファレジスタ23
(0)、23(1)………23(15)からなる係数バッファ
メモリー18へ順次書き込まれる。この書き込みは、各レ
ジスタに更新データが存在しない状態でEmpty Flagが立
てられ、上述のホストCPU2へ伝達され、ホストCPU2はこ
の状態を確認してから書き込み動作を開始する。1ワー
ド以上の係数データが入力バッファレジスタに書き込ま
れると、Empty Flagは反転される。
(0)、23(1)………23(15)からなる係数バッファ
メモリー18へ順次書き込まれる。この書き込みは、各レ
ジスタに更新データが存在しない状態でEmpty Flagが立
てられ、上述のホストCPU2へ伝達され、ホストCPU2はこ
の状態を確認してから書き込み動作を開始する。1ワー
ド以上の係数データが入力バッファレジスタに書き込ま
れると、Empty Flagは反転される。
この書き込み終了後、コントロール信号を下げると、
DASP1は内部的に更新スタンバイ状態となり、第2図に
示す回路構成により更新動作を行う。第2図では、パラ
レルポート7のレジスタ20からの出力(上述のワードグ
ループの先頭アドレスを示す信号)を係数メモリーアド
レス回路の条件付比較器24に入れ、プログラム上実行さ
れるアドレスとしてのマルチプレクサ(MUX)25の値と
比較する。条件付比較器24にはまた更新スタンバイ信号
とリード要求信号が入力され、これらの2つの信号が
“1"の状態でマルチプレクサ25の出力の値とレジスタ20
の値とが一致すると、その検出信号を24から“1"として
出力する。この信号は一度“1"になると、更新スタンバ
イ信号が“0"になるまで保持される。比較器24の出力に
は2つのNORゲート26、27が接続され(27にはインバー
タ28を介して接続され)、これらのNORゲートの他方の
入力端子には係数メモリーのリード要求信号がインバー
タ31を介して入力される。このリード要求信号が“1"、
ライト要求信号が“0"の場合、比較器24に対するMUX25
及びレジスタ20からの両入力が一致しないときには比較
器24の出力は“0"となり、NORゲート26の出力は“1"と
なって係数メモリー19のリード信号が出され、同メモリ
ーからの読み出しが行われる。他方のNORゲート27へは
インバータ28によって“1"が入るため、同ゲートの出力
は“0"となり、次段のNORゲート29へ入るが、同ゲート
の他方の入力端子には係数メモリーのライト要求信号
“0"が入っており、その出力は“1"となり、反転用イン
バータ32へ入力され、その出力(ライト信号)は“0"と
なり、係数メモリーへの書き込みは行われない。この
時、比較器24の出力は同時にNANDゲート30に入力され、
同ゲートの他方の入力端子にはリード要求信号が入って
おり、その出力は“1"となる。NANDゲート30の出力は反
転用インバータ33に入力され、同ゲートの出力(バッフ
ァ出力要求信号)は“0"となる。この信号は第1図のI/
Oコントロール44に伝達され、入力バッファレジスタの
データをC−Busに出力するかどうかを制御する為に用
いられる。従って、この状態では係数メモリー19の通常
読み出しが行われ、通常の演算処理が実行される。とこ
ろが、比較器24への上記両入力が一致したときには、今
度は比較器24から“1"の信号がNORゲート26に入ってこ
のNORゲートの出力(リード信号)は“0"となり、他方
のNORゲート27へはインバータ28を介して“0"の信号が
入ってこのNORゲートの出力は“1"となり、これに伴っ
てNORゲート29の出力は“0"となり、インバータ32の出
力(ライト信号)は“1"となり、係数メモリー19は書き
込み状態となる。この時、NANDゲート30の出力は今度は
“0"となり、インバータ33のバッファデータ出力要求信
号は“1"となり、上述した第1図中のバッファメモリー
18からI/Oコントロール44による係数データの読み出し
が行われ、C−Busに出力される。同データは演算器(A
LU、MAC)へ、係数メモリー19から読み出されるデータ
のかわりに、送られると同時に係数メモリー19へ書き込
まれる。
DASP1は内部的に更新スタンバイ状態となり、第2図に
示す回路構成により更新動作を行う。第2図では、パラ
レルポート7のレジスタ20からの出力(上述のワードグ
ループの先頭アドレスを示す信号)を係数メモリーアド
レス回路の条件付比較器24に入れ、プログラム上実行さ
れるアドレスとしてのマルチプレクサ(MUX)25の値と
比較する。条件付比較器24にはまた更新スタンバイ信号
とリード要求信号が入力され、これらの2つの信号が
“1"の状態でマルチプレクサ25の出力の値とレジスタ20
の値とが一致すると、その検出信号を24から“1"として
出力する。この信号は一度“1"になると、更新スタンバ
イ信号が“0"になるまで保持される。比較器24の出力に
は2つのNORゲート26、27が接続され(27にはインバー
タ28を介して接続され)、これらのNORゲートの他方の
入力端子には係数メモリーのリード要求信号がインバー
タ31を介して入力される。このリード要求信号が“1"、
ライト要求信号が“0"の場合、比較器24に対するMUX25
及びレジスタ20からの両入力が一致しないときには比較
器24の出力は“0"となり、NORゲート26の出力は“1"と
なって係数メモリー19のリード信号が出され、同メモリ
ーからの読み出しが行われる。他方のNORゲート27へは
インバータ28によって“1"が入るため、同ゲートの出力
は“0"となり、次段のNORゲート29へ入るが、同ゲート
の他方の入力端子には係数メモリーのライト要求信号
“0"が入っており、その出力は“1"となり、反転用イン
バータ32へ入力され、その出力(ライト信号)は“0"と
なり、係数メモリーへの書き込みは行われない。この
時、比較器24の出力は同時にNANDゲート30に入力され、
同ゲートの他方の入力端子にはリード要求信号が入って
おり、その出力は“1"となる。NANDゲート30の出力は反
転用インバータ33に入力され、同ゲートの出力(バッフ
ァ出力要求信号)は“0"となる。この信号は第1図のI/
Oコントロール44に伝達され、入力バッファレジスタの
データをC−Busに出力するかどうかを制御する為に用
いられる。従って、この状態では係数メモリー19の通常
読み出しが行われ、通常の演算処理が実行される。とこ
ろが、比較器24への上記両入力が一致したときには、今
度は比較器24から“1"の信号がNORゲート26に入ってこ
のNORゲートの出力(リード信号)は“0"となり、他方
のNORゲート27へはインバータ28を介して“0"の信号が
入ってこのNORゲートの出力は“1"となり、これに伴っ
てNORゲート29の出力は“0"となり、インバータ32の出
力(ライト信号)は“1"となり、係数メモリー19は書き
込み状態となる。この時、NANDゲート30の出力は今度は
“0"となり、インバータ33のバッファデータ出力要求信
号は“1"となり、上述した第1図中のバッファメモリー
18からI/Oコントロール44による係数データの読み出し
が行われ、C−Busに出力される。同データは演算器(A
LU、MAC)へ、係数メモリー19から読み出されるデータ
のかわりに、送られると同時に係数メモリー19へ書き込
まれる。
即ち、DASPの入力部は上記のバッファデータ出力信号
(係数メモリー19の読み出し要求信号が起動され、か
つ、係数データの先頭アドレスとメモリーのアドレスが
一致したとき)を検出信号として受け取ると、バッファ
メモリー(入力バッファレジスタ)18に書き込まれてい
た係数データをメモリー19からの読み出すべきタイミン
グでデータバス(C−Bus)に出力し、同時にメモリー1
9の読み出しを書き込み動作へ切り換える。そして、バ
ス上のデータプログラムで記述された演算器と係数メモ
リー19に、上記の係数データを送る。この結果、演算器
では、更新されるべき係数データを重畳した演算が第4
図に概略図示するようにして行われる。第4図では公知
の演算方法を示した(図中のA0、A1、A2、………An-2、
An-1、Anはいずれも乗算器で、係数を掛け合わせる為に
用いられ、通常、DSP等では、単一の乗算器を時分割に
より用いる。また、は加算器を、Z-1は1ステップ遅
れ要素を表す。)が、これはプログラムRAM6(第6図参
照)によって制御される。なお、第2図において、係数
メモリーアドレスユニットのMUX25の前段には、8ビッ
トの間接アドレス用データをメモリーするアドレスレジ
スタ40、及びインクリメンター41が夫々順次接続されて
いる。
(係数メモリー19の読み出し要求信号が起動され、か
つ、係数データの先頭アドレスとメモリーのアドレスが
一致したとき)を検出信号として受け取ると、バッファ
メモリー(入力バッファレジスタ)18に書き込まれてい
た係数データをメモリー19からの読み出すべきタイミン
グでデータバス(C−Bus)に出力し、同時にメモリー1
9の読み出しを書き込み動作へ切り換える。そして、バ
ス上のデータプログラムで記述された演算器と係数メモ
リー19に、上記の係数データを送る。この結果、演算器
では、更新されるべき係数データを重畳した演算が第4
図に概略図示するようにして行われる。第4図では公知
の演算方法を示した(図中のA0、A1、A2、………An-2、
An-1、Anはいずれも乗算器で、係数を掛け合わせる為に
用いられ、通常、DSP等では、単一の乗算器を時分割に
より用いる。また、は加算器を、Z-1は1ステップ遅
れ要素を表す。)が、これはプログラムRAM6(第6図参
照)によって制御される。なお、第2図において、係数
メモリーアドレスユニットのMUX25の前段には、8ビッ
トの間接アドレス用データをメモリーするアドレスレジ
スタ40、及びインクリメンター41が夫々順次接続されて
いる。
上記のようにして、更新される係数データのすべてが
入力バッファレジスタから読み出されるまで係数メモリ
ー19からのデータの読み出しが停止されるが、この動作
を繰り返してすべて終了した時点でバッファメモリー18
が空になった状態を示すEMPTY FLAGを再び立て、ホス
トCPUに次のグループの更新許可を示すと同時に、内部
的な更新スタンバイ状態を解除する。
入力バッファレジスタから読み出されるまで係数メモリ
ー19からのデータの読み出しが停止されるが、この動作
を繰り返してすべて終了した時点でバッファメモリー18
が空になった状態を示すEMPTY FLAGを再び立て、ホス
トCPUに次のグループの更新許可を示すと同時に、内部
的な更新スタンバイ状態を解除する。
以上に説明した如く、本実施例による回路は、バッフ
ァメモリー18に対し本来のメモリー読み出しとは非同期
に予め係数データを転送しておき、これを送り終わった
段階で読み出しアドレスと一致したことを検出して上記
係数データを一挙に演算器に入れるようにしているか
ら、データの更新を高速に(マシーンサイクルに合致し
た数十nsecオーダーで)一挙に効率的に行うことができ
る。従って、オンチップRAMの係数データを信号処理の
中断なしに更新できる。第5図には、音楽信号の演算の
タイミングを概略図示したが、一般に音楽信号のサンプ
リングは48kHz(又は44.1kHz)のサイクルで行われる
が、1サンプル期間終了時に次のサンプル期間に入る際
に係数データを書き換える(若しくは更新する)必要が
ある。これは、上述した本実施例の回路によって例えば
16ワード分以下のデータを一挙に更新できることから、
実現可能となった。なお、バッファメモリー18への係数
データの転送は非同期で行えるため、転送速度は数μse
cオーダーとゆっくりであっても差支えない。
ァメモリー18に対し本来のメモリー読み出しとは非同期
に予め係数データを転送しておき、これを送り終わった
段階で読み出しアドレスと一致したことを検出して上記
係数データを一挙に演算器に入れるようにしているか
ら、データの更新を高速に(マシーンサイクルに合致し
た数十nsecオーダーで)一挙に効率的に行うことができ
る。従って、オンチップRAMの係数データを信号処理の
中断なしに更新できる。第5図には、音楽信号の演算の
タイミングを概略図示したが、一般に音楽信号のサンプ
リングは48kHz(又は44.1kHz)のサイクルで行われる
が、1サンプル期間終了時に次のサンプル期間に入る際
に係数データを書き換える(若しくは更新する)必要が
ある。これは、上述した本実施例の回路によって例えば
16ワード分以下のデータを一挙に更新できることから、
実現可能となった。なお、バッファメモリー18への係数
データの転送は非同期で行えるため、転送速度は数μse
cオーダーとゆっくりであっても差支えない。
また、メモリーリードのタイミングで、新しいデータ
を計算に用いつつメモリー19に書き込むため、不要なマ
シンサイクルを必要としない。しかも、2バンク方式の
様なメモリーの追加も不要となる。メモリー19に書き込
まれた更新データーは以後必要あれば、そこから通常に
読み出して演算に供する事ができる。
を計算に用いつつメモリー19に書き込むため、不要なマ
シンサイクルを必要としない。しかも、2バンク方式の
様なメモリーの追加も不要となる。メモリー19に書き込
まれた更新データーは以後必要あれば、そこから通常に
読み出して演算に供する事ができる。
また、係数データの各グループの先頭アドレスのみを
アドレスユニットに送っているので、CPUとDASPとの間
での余計なデータ転送も最小限となる。
アドレスユニットに送っているので、CPUとDASPとの間
での余計なデータ転送も最小限となる。
また、第10図には、上述した係数メモリーの更新動作
の一例のタイミングチャートを示す。
の一例のタイミングチャートを示す。
ここで、第1図と第2図を参照し、第10図の説明を行
う。図中のリード要求信号、ライト要求信号はマシンサ
イクルごとにプログラムRAM6より読み出され、シーケン
スコントロール13に入力され、プログラムの内容に応じ
て生成されるものである。第10図のCLOAD−とC−Busを
除いた他の全ての信号は上述した信号と同一のものであ
る。ホストCPUからの更新係数データの書き込みが終了
すると、CLOAD−信号は“1"になり、書き込み終了を知
らせる。それをもとに、更新用スタンバイ信号がマシン
サイクルに同期して“1"にセットされ、その状態中にメ
モリーリード要求信号が“1"になり、かつ条件付比較器
24に入力されるメモリー読み出し番地(MUX25の出力)
と、更新されるデータの先頭アドレス(レジスタ20の出
力)とが一致すると、同比較器の出力は“1"になる。
う。図中のリード要求信号、ライト要求信号はマシンサ
イクルごとにプログラムRAM6より読み出され、シーケン
スコントロール13に入力され、プログラムの内容に応じ
て生成されるものである。第10図のCLOAD−とC−Busを
除いた他の全ての信号は上述した信号と同一のものであ
る。ホストCPUからの更新係数データの書き込みが終了
すると、CLOAD−信号は“1"になり、書き込み終了を知
らせる。それをもとに、更新用スタンバイ信号がマシン
サイクルに同期して“1"にセットされ、その状態中にメ
モリーリード要求信号が“1"になり、かつ条件付比較器
24に入力されるメモリー読み出し番地(MUX25の出力)
と、更新されるデータの先頭アドレス(レジスタ20の出
力)とが一致すると、同比較器の出力は“1"になる。
これにより、本来読み出し状態になるものが第2図の
回路によりC−Bus上のデータを書き込む状態となる。
同時に、バッファデータ出力要求信号により、入力バッ
ファレジスタ23の出力がI/Oコントロール回路44により
制御され、C−Bus上にメモリー読み出しデータのかわ
りに出力される。このデータが演算器に入力されると同
時に、メモリーに書き込まれる(ここでは、3ワードの
更新係数データが連続的に更新される様子を示す)。
回路によりC−Bus上のデータを書き込む状態となる。
同時に、バッファデータ出力要求信号により、入力バッ
ファレジスタ23の出力がI/Oコントロール回路44により
制御され、C−Bus上にメモリー読み出しデータのかわ
りに出力される。このデータが演算器に入力されると同
時に、メモリーに書き込まれる(ここでは、3ワードの
更新係数データが連続的に更新される様子を示す)。
すべての更新が終了すると、更新スタンバイ信号が
“0"にリセットされ、それにより条件付比較器の出力も
“0"になる。その後は、再び新しい更新用係数データが
入力バッファレジスタ23に書き込まれ、更新スタンバイ
信号が再び“1"にセットされない限り、リード要求信号
によるメモリー読み出しは通常に行われる。
“0"にリセットされ、それにより条件付比較器の出力も
“0"になる。その後は、再び新しい更新用係数データが
入力バッファレジスタ23に書き込まれ、更新スタンバイ
信号が再び“1"にセットされない限り、リード要求信号
によるメモリー読み出しは通常に行われる。
また、一連の係数更新状態で、プログラムによるライ
ト要求信号が生成された場合は、入力バッファレジスタ
23のデータではなく、プログラムにより指定されたデー
タがC−Busを経てメモリーに書き込まれる。
ト要求信号が生成された場合は、入力バッファレジスタ
23のデータではなく、プログラムにより指定されたデー
タがC−Busを経てメモリーに書き込まれる。
以上、本発明を例示したが、上述の例は本発明の技術
的思想に基づいて種々変形可能である。
的思想に基づいて種々変形可能である。
例えば、上述した更新回路、及びこの更新回路を含む
システムの回路要素の構成や動作は上述したものに限定
されることはなく、様々に変更してよい。係数データの
更新に必要なワード数やPIOレジスタのピット数も変更
可能である。また、本発明は上述の係数データ以外のデ
ータの更新にも適用可能であるし、音楽信号以外の信号
処理にも適用できる。
システムの回路要素の構成や動作は上述したものに限定
されることはなく、様々に変更してよい。係数データの
更新に必要なワード数やPIOレジスタのピット数も変更
可能である。また、本発明は上述の係数データ以外のデ
ータの更新にも適用可能であるし、音楽信号以外の信号
処理にも適用できる。
ヘ.発明の作用効果 以上説明したように、本発明によれば、更新のための
アドレス情報と係数データを予め所定のレジスタに保持
しておき、係数メモリーからの読み出しが要求され、そ
の読み出しアドレスが該アドレス情報に対応するとき
は、係数メモリーの代わりに該レジスタからの係数デー
タを演算部に供給すると共にその係数データを係数メモ
リーに格納するようにしたので、演算処理を中断せずに
係数データの更新(書き換え)を行うことができる。ま
た、上記バッファへの例えばホストCPU2からのデータの
転送クロックと、通常、音楽信号等のサンプリングクロ
ックに同期させなければならないDASP等の内部のシステ
ムクロックとを非同期化する事ができる為、低速度でバ
ッファへ書き込んでも更新はマシンサイクルで一挙に行
え、かつ、1サンプル中の演算と同時にメモリー内容も
変更できるので、実質的には更新の時間を無くした事と
等価になり、効率的である。また、2バンク方式の様な
メモリーも追加することなく、ハードウェアも少なくて
済む。
アドレス情報と係数データを予め所定のレジスタに保持
しておき、係数メモリーからの読み出しが要求され、そ
の読み出しアドレスが該アドレス情報に対応するとき
は、係数メモリーの代わりに該レジスタからの係数デー
タを演算部に供給すると共にその係数データを係数メモ
リーに格納するようにしたので、演算処理を中断せずに
係数データの更新(書き換え)を行うことができる。ま
た、上記バッファへの例えばホストCPU2からのデータの
転送クロックと、通常、音楽信号等のサンプリングクロ
ックに同期させなければならないDASP等の内部のシステ
ムクロックとを非同期化する事ができる為、低速度でバ
ッファへ書き込んでも更新はマシンサイクルで一挙に行
え、かつ、1サンプル中の演算と同時にメモリー内容も
変更できるので、実質的には更新の時間を無くした事と
等価になり、効率的である。また、2バンク方式の様な
メモリーも追加することなく、ハードウェアも少なくて
済む。
図面は本発明の実施例を示すものであって、 第1図はDASPのインターフェース部のブロック図、 第2図はDASPの係数メモリーアドレスユニットのブロッ
ク図、 第3図は音楽信号を係数データと共に示す波形図、 第4図は演算回路の概略回路図 第5図は係数データの書き換えを説明するための概略
図、 第6図はDASPのブロック図、 第7図はオーディオデータの処理システム全体のブロッ
ク図、 第8A図、第8B図は各回路素子を説明する表、 第9図は各信号を説明する表、 第10図はメモリー更新時のタイミングチャート である。 なお、図面に示す符号において、 1……DASP(Digital Audio Signal Processor) 2……ホストCPU 3……ディジタルI/Fレシーバー 4……ディジタルI/Fトランジスター 5……ホストCPUメモリー 6……プログラムRAM 7……パラレルポート 8……ALU(Arithmetic Logic Circuit) 9……MAC(Multiplier/Adder) 10……シングルポート 11、12……データRAM 13……シーケンシャルコントロール回路 14……TREG(Temporary Register) 18……係数バッファメモリー 19……係数RAM 20……SA−REG(Starting Address Register) 21……セレクタ 22(0)〜22(3)……レジスタ 23(0)〜23(15)……入力バッファレジスタ 24……比較器 25……MUX(Multiplexer) 26、27、29……NORゲート 28、31、32、33……インバータ である。
ク図、 第3図は音楽信号を係数データと共に示す波形図、 第4図は演算回路の概略回路図 第5図は係数データの書き換えを説明するための概略
図、 第6図はDASPのブロック図、 第7図はオーディオデータの処理システム全体のブロッ
ク図、 第8A図、第8B図は各回路素子を説明する表、 第9図は各信号を説明する表、 第10図はメモリー更新時のタイミングチャート である。 なお、図面に示す符号において、 1……DASP(Digital Audio Signal Processor) 2……ホストCPU 3……ディジタルI/Fレシーバー 4……ディジタルI/Fトランジスター 5……ホストCPUメモリー 6……プログラムRAM 7……パラレルポート 8……ALU(Arithmetic Logic Circuit) 9……MAC(Multiplier/Adder) 10……シングルポート 11、12……データRAM 13……シーケンシャルコントロール回路 14……TREG(Temporary Register) 18……係数バッファメモリー 19……係数RAM 20……SA−REG(Starting Address Register) 21……セレクタ 22(0)〜22(3)……レジスタ 23(0)〜23(15)……入力バッファレジスタ 24……比較器 25……MUX(Multiplexer) 26、27、29……NORゲート 28、31、32、33……インバータ である。
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 昭58−144272(JP,A) 特開 昭51−44846(JP,A) (58)調査した分野(Int.Cl.6,DB名) G06F 12/06 G06F 9/06 G06F 17/10 G06F 15/78 G06F 9/22 - 9/24 G06F 17/14 G06F 12/08 H03H 17/02 - 17/06
Claims (3)
- 【請求項1】演算処理の対象となるデータを蓄積するデ
ータメモリーと、 前記演算処理に用いられる係数データを蓄積する係数メ
モリーと、 前記演算処理を行う演算回路と、 更新される前記係数メモリーの所定の領域のアドレス情
報と更新係数データとからなる更新データが入力される
入力部と、 前記入力部に入力された前記アドレス情報を保持するア
ドレスレジスタと、 前記入力部に入力された前記更新データの係数データを
保持するデータレジスタと、 前記係数メモリーからの係数データの読み出しを要求す
るメモリアクセスに応答し、そのアクセスで与えられる
読み出しアドレスが前記アドレス情報に対応するか否か
を判定し、対応するときは第1の判定結果を出し、対応
しないときは第2の判定結果を出す判定手段と、 前記判定手段より前記第1の判定結果が出されたときは
前記係数メモリーの代わりに前記データレジスタから係
数データを前記演算回路に供給すると共に当該係数デー
タを前記読み出しアドレスで指定される前記係数メモリ
ーの領域に格納し、前記判定手段より前記第2の判定結
果が出されたときは前記読み出しアドレスで指定される
前記係数メモリーの領域より読み出された係数データを
前記演算回路に供給せしめる制御手段と を有するメモリー内容更新回路。 - 【請求項2】前記判定手段は、前記更新データのアドレ
ス情報および係数データがそれぞれ前記アドレスレジス
タおよび前記データレジスタに保持されていないときは
無条件的に前記第2の判定結果を出すことを特徴とする
請求項1に記載のメモリー内容更新回路。 - 【請求項3】前記判定手段より前記第1の判定結果が出
されたときは、前記制御手段が前記係数メモリーを読み
出し動作から書き込み動作に切り換えることを特徴とす
る請求項1に記載のメモリー内容更新回路。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP63217396A JP2781973B2 (ja) | 1988-08-31 | 1988-08-31 | メモリー内容更新回路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP63217396A JP2781973B2 (ja) | 1988-08-31 | 1988-08-31 | メモリー内容更新回路 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0266650A JPH0266650A (ja) | 1990-03-06 |
JP2781973B2 true JP2781973B2 (ja) | 1998-07-30 |
Family
ID=16703534
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP63217396A Expired - Fee Related JP2781973B2 (ja) | 1988-08-31 | 1988-08-31 | メモリー内容更新回路 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2781973B2 (ja) |
-
1988
- 1988-08-31 JP JP63217396A patent/JP2781973B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH0266650A (ja) | 1990-03-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPS63301339A (ja) | コンピュ−タ装置 | |
JPS6217783B2 (ja) | ||
US5581720A (en) | Apparatus and method for updating information in a microcode instruction | |
JP2781973B2 (ja) | メモリー内容更新回路 | |
JPH0250611A (ja) | マイクロコンピュータ | |
JP3098409B2 (ja) | 命令をリアル・タイムで処理する装置または方法 | |
US4853889A (en) | Arrangement and method for speeding the operation of branch instructions | |
JP2901247B2 (ja) | 掃出し制御方式 | |
JP2595992B2 (ja) | 電子楽器 | |
JPH0535472A (ja) | マイクロコンピユータ | |
JPH0443307B2 (ja) | ||
JP2869414B1 (ja) | データ処理装置 | |
JPH1055289A (ja) | デバッグ情報生成回路、およびそれを用いた情報処理装置 | |
JP2001100991A (ja) | ディジタル信号処理装置 | |
JPS60218146A (ja) | 記憶装置アドレス制御方式 | |
JPH04149733A (ja) | シーケンス制御方式 | |
JPH0667982A (ja) | アドレス変換方式 | |
JPS6352237A (ja) | 演算方式 | |
JPS6129956A (ja) | メモリ制御装置 | |
JPH11176165A (ja) | シーケンシャルアクセス型半導体メモリ装置 | |
JPS61183787A (ja) | デ−タ変化検出回路 | |
JPH01281532A (ja) | マイクロプログラム制御装置 | |
JPS6180428A (ja) | デ−タ処理装置 | |
JPH04329436A (ja) | 中央演算処理装置 | |
JPH09325935A (ja) | バス切り換え回路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |