(57)【特許請求の範囲】
【請求項１】
ＲＯＭからのプログラム命令が書き込まれると共に、読み出される命令ＤＲＡＭと、
該命令ＤＲＡＭにアドレスを与えるプログラムカウンタと、
ＲＯＭの出力命令を格納する命令格納レジスタと、
ＲＯＭの読み出しアドレスを与える、１周期に１回カウントアップするプログラムレジスタと、
該プログラムレジスタ及び前記プログラムカウンタの出力を比較する比較部と、
前記命令格納レジスタ及び命令ＤＲＡＭの出力を受け、いずれか一方をセレクトするセレクタと、
該セレクタの出力を受けて、入力された命令を実行する命令実行部と、
前記比較部の一致出力を割り込み信号として受けて命令ＤＲＡＭの書き込みと読み出しを制御すると共に、前記セレクタの切り替え制御を行なう書込み／読出し制御部とにより構成され、
前記書込み／読出し制御部は、通常は命令ＤＲＡＭの出力を命令実行部に与え、比較部の一致出力を割り込みとして受けると、セレクタを制御して命令実行部に命令格納レジスタの出力を与えると共に、命令ＤＲＡＭに同じ命令を書き込むようにしたことを特徴とするディジタルシグナルプロセッサ。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明はディジタルシグナルプロセッサ（ＤＳＰ）に関する。
【０００２】
【従来の技術】
図４は従来システムの概念図である。図の破線で囲った部分がディジタルシグナルプロセッサ（ＤＳＰ）１０である。ディジタルシグナルプロセッサ１０内には命令ＲＡＭ１が設けられており、プログラムカウンタ２からのアドレスに従って、外部ＲＯＭ１１からの命令プログラムを書込み、書き込まれたプログラムの読み出しを行なう。読み出されたプログラムは、命令実行部（デコーダ）３に与えられ、実行される。ここで、命令ＲＡＭ１としては、記憶容量を大きくする必要から、ダイナミックＲＡＭ（ＤＲＡＭ）が用いられる。
【０００３】
外部ＲＯＭ１１には、ディジタルシグナルプロセッサ１０で実行されるべき命令プログラムが書き込まれており、外部アドレス回路１２から読出しアドレスが与えられる。この外部アドレス回路１２からは命令ＲＡＭ１にもアドレスが与えられており、命令ＲＡＭ１へのプログラム命令書込み時のアドレスを与えるようになっている。
【０００４】
【発明が解決しようとする課題】
前述した従来システムの場合、メモリとしてダイナミックＲＡＭやスタテイックＲＡＭを用いている。ダイナミックＲＡＭは、時間が経過すると記憶されているデータがリークしてしまう恐れがあり、絶えず元のデータを維持するリフレッシュ動作が必要である。また、通信用に用いる場合、スタテイックＲＡＭであっても、雑音等により長期的にはデータが変化することがあると考えられる。このようにＲＡＭの信頼性の点で問題があり、連続的に用いられる通信装置では、ＲＡＭを適用することができなかった。
【０００５】
また、連続的に使用されない場合でも、ＲＡＭをリフレッシュする必要からリフレッシュ回路を周辺回路として設けたり、又はプログラム処理を施す必要があった。しかしながら、その場合でもファームウェアのステップ数増加やプログラムの書き換えを行なう特定時間が必要である等の問題があった。
【０００６】
本発明はこのような課題に鑑みてなされたものであって、命令ＲＡＭのリフレッシュ動作を簡単な構成で実現すると共に、ＤＳＰの信頼性を上げることができるディジタルシグナルプロセッサを提供することを目的としている。
【０００７】
【課題を解決するための手段】
図１は本発明の原理ブロック図である。図４と同一のものは、同一の符号を付して示す。図において、２１はＲＯＭ１１の出力を２方向に振り分ける第１のセレクタ、２２,２３は該第１のセレクタ２１を介してＲＯＭ１１からのプログラム命令が書き込まれると共に、読み出される第１及び第２の命令ダイナミックＲＡＭ（以下ＤＲＡＭと略す）、２４はこれら第１及び第２の命令ＤＲＡＭ２２,２３の出力を受けてその内の一方をセレクトする第２のセレクタ、３は該第２のセレクタ２４の出力を受けて命令の実行を行なう命令実行部、２０は前記第１及び第２のセレクタ２１,２４及び第１及び第２の命令ＤＲＡＭ２２,２３を制御して命令ＤＲＡＭへの命令の書き込みと読み出しを制御する書込み／読出し制御部である。図の波線で囲まれた部分がデジタルシグナルプロセッサ１０である。
【０００８】
【作用】
第１及び第２のセレクタ２１,２４を制御して、第１及び第２の命令ＤＲＡＭ２２,２３に交互にＲＯＭ１１の出力を書き込むようにした。即ち、一方の命令ＤＲＡＭを書込みモードにしている場合には、他方の命令ＤＲＡＭは読出しモードで命令実行部３にプログラム命令を与える。このようにして、第１及び第２の命令ＤＲＡＭ２２,２３には絶えずＲＯＭ１１の出力が書き込まれるので、常にリフレッシュ動作が行われることになり、命令ＤＲＡＭのリフレッシュ動作を簡単な構成で実現すると共に、命令ＤＲＡＭの信頼性を上げることができる。
【０００９】
【実施例】
以下、図面を参照して本発明の実施例を詳細に説明する。
図２は本発明の一実施例を示す構成ブロック図である。図１，図４と同一のものは、同一の符号を付して示す。図において、２５はプログラムカウンタ２及び外部アドレス回路１２の出力を受けて、そのいずれか一方をアドレスとして第１の命令ＤＲＡＭ２２に与える第３のセレクタ、２６はプログラムカウンタ２及び外部アドレス回路１２の出力を受けて、そのいずれか一方をアドレスとして第２の命令ＤＲＡＭ２３に与える第４のセレクタである。これら第３及び第４のセレクタ２５，２６は、書込み／読出し制御部２０によりその切り替え制御が行われる。プログラムカウンタ２は、命令ＤＲＡＭ２２，２３の読み出しアドレスを発生する。一方、外部アドレス回路１２はＲＯＭ１１の読み出しアドレスと命令ＤＲＡＭ２２，２３の書き込みアドレスを発生する。
【００１０】
第１のセレクタ２１には、ＲＯＭ１１の出力が入っており、該ＲＯＭ１１の出力は、書込み／読出し制御部２０の制御により、第１及び第２の命令ＤＲＡＭ２２，２３の何れか一方に与えられるようになっている。書込み／読出し制御部２０からは、これら第１及び第２の命令ＤＲＡＭ２２，２３に対して書込み／読出しモード設定信号が入っている。
【００１１】
第２のセレクタ２４には、第１及び第２の命令ＤＲＡＭ２２，２３の出力が入っており、書込み／読出し制御部２０からの切り替え制御信号により、そのいずれか一方が選択され、命令実行部３に与えられる。命令実行部３は、命令をデコードし、数値演算ユニットやデータ入出力回路を命令に従って動作させる。４は、命令実行部３と接続される数値演算部・データＲＡＭ・入出力回路等である。そして、破線で囲まれた部分がディジタルシグナルプロセッサ１０である。このように構成されたシステムの動作を説明すれば、以下のとおりである。
【００１２】
書込み／読出し制御部２０は、第１の命令ＤＲＡＭ２２を読み出しモードに設定した時には、第２の命令ＤＲＡＭ２３を書き込みモードに設定する。かつ第３及び第４のセレクタ２５，２６に制御信号を与えて、第１の命令ＤＲＡＭ２２にはプログラムカウンタ２の出力が、第２の命令ＤＲＡＭ２３には外部アドレス回路１２の出力がそれぞれアドレスとして与えられるようにする。かつ、書込み／読出し制御部２０は、第１のセレクタ２１及び第２のセレクタ２４に制御信号を与えて、第１のセレクタ２１はＲＯＭ１１の出力を第２の命令ＤＲＡＭ２３に与え、第２のセレクタ２４は第１の命令ＤＲＡＭ２２の出力を命令実行部３に与えるようにする。
【００１３】
この結果、第１の命令ＤＲＡＭ２２から読み出された命令プログラムは、第２のセレクタ２４を介して命令実行部３に与えられ、命令が実行される。それと同時に、第２の命令ＤＲＡＭ２３は書込みモードとなっており、第１のセレクタ２１を介して与えられるＲＯＭ１１の出力が第２の命令ＤＲＡＭ２３に書き込まれる。この時、第２の命令ＤＲＡＭ２３へのアドレスは、第４のセレクタ２６を介して外部アドレス回路１２からのアドレスが与えられる。
【００１４】
以上、第１の命令ＤＲＡＭ２２が読み出しモード、第２の命令ＤＲＡＭ２３が書き込みモードの場合について説明したが、第１の命令ＤＲＡＭ２２が書き込みモード、第２の命令ＤＲＡＭ２３が読み出しモードの場合についても全く同様である。このようにして、本発明では、命令ＤＲＡＭを２個設けることにより、ファームウェアの書き込み実行処理を同時に行なうことができる。しかも、実行処理が行われている時に、他方の命令ＤＲＡＭにはＲＯＭ１１の出力が書き込まれてリフレッシュ動作が行われる。
【００１５】
ここで、２個の命令ＤＲＡＭ２２，２３のモードの切り替えは、割り込み端子２７から任意の時刻に切り替えられるようにすることができる。割り込み端子２７から入った切り替え命令（割り込み命令）は、書込み／読出し制御部２０に通知される。この切り替え命令を受けた書込み／読出し制御部２０は、セレクタ２１，２４，２５，２６及び命令ＤＲＡＭ２２，２３に制御信号を与えて、それまでのモードを切り替える。
【００１６】
この割り込み端子２７への印加電圧が、例えば“０”から“１”に変わった直後の１マシンサイクルは通常のＤＳＰ処理は中止し、命令ＤＲＡＭ２２，２３を入れ替える第１のセレクタ２１が動作するサイクルになるようにするとよい。
【００１７】
ここで、２個の命令ＤＲＡＭ２２，２３を切り替える処理が通常のディジタルシグナルプロセッサ１０の処理の邪魔にならないようにするためには、この命令ＤＲＡＭの切り替えのための割り込み命令を他の割り込み命令に比べてその優先度を低くしておけばよい。ＤＲＡＭの入れ替えに多少の時間がかかっても問題にはならない。例えば、音声入力のための割り込みが同時に加わる場合には、音声入力処理が終了するまで、命令ＤＲＡＭの切り替えを待つようにする。従って、命令ＤＲＡＭの切り替えが完了したことを外部に知らせるための出力端子が必要になる。図２の端子２８がそれである。この出力端子２８からの符号が変化したことを確認してＲＯＭデータの転送を開始するようにすればよい。
【００１８】
このように、本発明によれば命令ＤＲＡＭのリフレッシュ動作を簡単な構成で実現することができるので、ＤＳＰの信頼性を上げることができる。
図３は本発明の他の実施例を示す構成ブロック図である。図１，図４と同一のものは、同一の符号を付して示す。図において、３０はプログラムカウンタ２と同じビット数を持ち、ＲＯＭ１１を読み出す時のアドレスを発生するプログラムレジスタである。３１はＲＯＭ１１から読み出されたプログラム命令を一時的に記憶する命令格納レジスタ、３２はプログラムカウンタ２の出力とプログラムレジスタ３０の出力を比較してその一致を検出する比較部である。
【００１９】
３３は命令ＤＲＡＭ、３４は該命令ＤＲＡＭ３３の出力と命令格納レジスタ３１の出力を切り替えて命令実行部３に与えるセレクタである。２０は、比較部３２の出力を割り込み信号として受けて、命令ＤＲＡＭ３３のモード切り替え、及びセレクタ３４の切り替え制御を行なう書込み／読出し制御部である。命令格納レジスタ３１の出力は、命令ＤＲＡＭ３３とセレクタ３４に与えられている。このように構成されたシステムの動作を説明すれば、以下のとおりである。
【００２０】
本発明は、命令格納用の命令ＤＲＡＭを１個にして、リフレッシュ動作に工夫をこらしたものである。本発明は、命令ＤＲＡＭ３３の書き替えを１周期（プログラムステップ数）に１ステップずつ行い、１周期毎に命令ＤＲＡＭ３３の内容を１ステップずつ書き替えを行なうようにしたものである。
【００２１】
先ず、書込み／読出し制御部２０は命令ＤＲＡＭ３３を読出しモードに設定し、命令ＤＲＡＭ３３の内容を読み出して命令実行部３に実行させている。この時、セレクタ３４は命令ＤＲＡＭ３３側をセレクトしている。一方、プログラムレジスタ３０はＲＯＭ１１に読出しアドレスを与えているが、このプログラムレジスタ３０は１周期に１回カウントアップする。そして、カウントアップした値とプログラムカウンタ２の出力とが一致した時、比較部３２は書込み／読出し制御部２０に内部割り込み信号を与える。
【００２２】
書込み／読出し制御部２０は、この内部割り込み信号を受けると、命令ＤＲＡＭ３３を書込みモードに設定し、同時にセレクタ３４を命令格納レジスタ３１側に切り替える。この結果、命令レジスタ３１に格納されていたプログラム命令が命令ＤＲＡＭ３３に書き込まれる。同時に、この命令格納レジスタ３１に格納されていたプログラム命令はセレクタ３４を介して命令実行部３に与えられる。この結果、命令実行部３は連続した命令の実行が可能となる。この実施例によれば、１周期に１ステップずつ命令ＤＲＡＭ３３の内容が更新され、リフレッシュ動作が行われる。命令ＤＲＡＭ３３のリフレッシュ周期としては、この程度でも十分である。
【００２３】
なお、この実施例でも図２に示す実施例と同様、比較部３２で発生する内部割り込みの優先度は、他の割り込み命令に比べて低くしておく。この実施例も、命令ＤＲＡＭのリフレッシュ動作を簡単な構成で実現することができるので、ＤＳＰの信頼性を上げることができる。
【００２４】
【発明の効果】
以上、詳細に説明したように、本発明によれば命令ＤＲＡＭのリフレッシュ動作を簡単な構成で実現すると共に、ＤＳＰの信頼性を上げることができるディジタルシグナルプロセッサを提供することができる。
【図面の簡単な説明】
【図１】本発明の原理ブロック図である。
【図２】本発明の一実施例を示す構成ブロック図である。
【図３】本発明の他の実施例を示す構成ブロック図である。
【図４】従来システムの概念図である。
【符号の説明】
３  命令実行部
１０  ディジタルシグナルプロセッサ（ＤＳＰ）
１１  ＲＯＭ
２０  書込み／読出し制御部
２１  第１のセレクタ
２２  第１の命令ＲＡＭ
２３  第２の命令ＲＡＭ
２４  第２のセレクタ
【図１】
0003597548.tif 000002
【図２】
0003597548.tif 000003
【図３】
0003597548.tif 000004
【図４】
0003597548.tif 000005