(57)【要約】【課題】ＤＶＤプレーヤ等に用いられる音声デコーダにおいて、処理速度を低下させることなく、チップ面積を小さくする。【解決手段】音声デコーダは、ＤＳＰと、ＳＲＡＭと、アドレスレジスタと、ＳＤＲＡＭ転送制御部と、を備え、ＳＤＲＡＭ転送制御部は、当該音声デコーダの外部に設けられたメモリであるＳＤＲＡＭと接続されており、ＤＳＰは、ＳＲＡＭに記憶されているプログラムの制御により、ＤＳＰが実行している復号処理よりも後の段階で使用するプログラム又はデータのＳＤＲＡＭおけるアドレスをアドレスレジスタに設定し、ＳＤＲＡＭ転送制御部は、ＳＤＲＡＭの当該アドレスに記憶されているプログラム又はデータをＳＲＡＭに転送する。【選択図】  図２
2006190389.tif 000002
【特許請求の範囲】
【請求項１】
ＣＰＵと、
メモリと、
読出アドレス記憶部と、
メモリ転送制御部と、
を備えるデータ処理用集積回路であって、
前記メモリ転送制御部は、前記データ処理用集積回路の外部に設けられた外部メモリとの間でデータの送受信が可能であり、
前記ＣＰＵは、前記メモリに記憶されているプログラムの制御により、前記ＣＰＵが実行している処理よりも後の段階で使用されるデータの前記外部メモリにおけるアドレスを前記読出アドレス記憶部に設定し、
前記メモリ転送制御部は、前記外部メモリの当該アドレスに記憶されているデータを前記メモリに転送すること、
を特徴とするデータ処理用集積回路。
【請求項２】
請求項１に記載のデータ処理用集積回路であって、
前記メモリが複数設けられており、
前記読出アドレス記憶部が前記メモリごとに設けられており、
前記ＣＰＵは、前記メモリに記憶されているプログラムの制御により、前記ＣＰＵが使用するデータが格納されていない前記メモリに対応する前記読出アドレス記憶部に前記アドレスを設定し、
前記メモリ転送制御部は、前記外部メモリの当該アドレスに記憶されているデータを当該読出アドレス記憶部に対応する前記メモリに転送すること、
を特徴とするデータ処理用集積回路。
【請求項３】
請求項１に記載のデータ処理用集積回路であって、
書込アドレス記憶部を更に備え、
前記ＣＰＵは、前記メモリに記憶されているプログラムの制御により、前記メモリに記憶されているデータの前記外部メモリにおける書き込み先のアドレスを前記書込アドレス記憶部に設定し、
前記メモリ転送制御部は、前記メモリに記憶されている前記データを前記外部メモリの前記書き込み先のアドレスに転送すること、
を特徴とするデータ処理用集積回路。
【請求項４】
請求項３に記載のデータ処理用集積回路であって、
前記メモリが複数設けられており、
前記書込アドレス記憶部が前記メモリごとに設けられており、
前記ＣＰＵは、前記メモリに記憶されているプログラムの制御により、前記外部メモリに書き込まれる前記データが記憶されている前記メモリに対応する前記書込アドレス記憶部に前記書き込み先のアドレスを設定し、
前記メモリ転送制御部は、当該書込アドレス記憶部に対応する前記メモリに記憶されている前記データを前記外部メモリの前記書き込み先のアドレスに転送すること、
を特徴とするデータ処理用集積回路。
【請求項５】
請求項１〜４の何れか一項に記載のデータ処理用集積回路であって、
前記メモリのデータ入出力ポートが１つであり、
前記メモリ転送制御部は、前記メモリにアクセスする際に前記メモリの動作クロックを前記外部メモリの動作クロックに切り替え、当該アクセス完了後に前記メモリの動作クロックを前記ＣＰＵの動作クロックに切り替えること、
を特徴とするデータ処理用集積回路。
【請求項６】
請求項１に記載のデータ処理用集積回路であって、
初期データの読出指示を示すデータである読出指示データを記憶する読出指示データ記憶部を更に備え、
前記メモリ転送制御部は、前記読出指示データに応じて、前記外部メモリの所定のアドレスに記憶されている前記初期データを前記メモリに転送すること、
を特徴とするデータ処理用集積回路。
【請求項７】
請求項１〜６の何れか一項に記載のデータ処理用集積回路であって、
符号化された音声データを受信する音声データ受信部を更に備え、
前記メモリ転送制御部によって前記外部メモリから前記メモリに転送されるデータは、前記符号化された音声データを復号する処理において必要なデータであること、
を特徴とするデータ処理用集積回路。
【請求項８】
請求項７に記載のデータ処理用集積回路であって、
音声のＲＦ信号を受信して、当該ＲＦ信号をデジタル信号に変換して出力するデジタル信号処理回路を更に備え、
前記音声データ受信部は、前記デジタル信号に含まれる符号化された音声データを受信すること、
を特徴とするデータ処理用集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＣＰＵが使用するプログラムまたはデータを外部メモリから内蔵メモリに転送する集積回路であって、特に、符号化された音声データを復号する集積回路に関する。
【背景技術】
【０００２】
ＤＶＤプレーヤでは、符号化された映像データおよび音声データを復号し、映像および音声を再生することが行われている。図８は、このようなＤＶＤプレーヤに搭載される、符号化された音声データの復号を行う音声デコーダ１００を示す図である。音声デコーダ１００は、ＤＳＰ（Digital Signal Processor）１０１およびＳＲＡＭやＲＯＭ等の内蔵メモリ１０２を備えている。ＤＳＰ１０１は、内蔵メモリ１０２に記憶されているプログラムやデータを用いて、符号化された音声データの復号を行う。
【０００３】
ＤＶＤにおける音声データの符号化方式には、ドルビーデジタルやＤＴＳ、リニアＰＣＭ等、様々な規格があり、音声デコーダ１００の内蔵メモリ１０２にはこれら全ての規格に応じたプログラムやデータが格納される場合がある。この場合、対応する符号化方式の数が増加するに連れて、音声デコーダ１００の内蔵メモリ１０２の容量が増加することとなる。
【０００４】
また、音声デコーダ１００等の集積回路において、集積回路の内部に容量の小さいキャッシュメモリを設け、集積回路の外部に容量の大きいメモリを設けることが一般的に行われている。集積回路での処理において必要なデータがキャッシュメモリに存在する場合、外部のメモリから取得する場合と比較して高速に当該データを取得することができる。さらに、キャッシュメモリを用いる場合において、集積回路において将来必要となるプログラムやデータを予測し、そのプログラムやデータを外部のメモリからキャッシュメモリにロードしておく、いわゆるプリフェッチも行われている（特許文献１）。
【特許文献１】特開平１０−６３５７４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
前述したように、音声デコーダ１００の内蔵メモリ１０２には、音声データの符号化方式ごとのプログラムおよびデータを格納しておく必要がある。そのため、内蔵メモリ１０２の容量増加に伴って音声デコーダ１００のチップ面積が大きくなり、コストの増加を招いている。
【０００６】
また、音声データの符号化に必要なプログラムやデータを音声デコーダ１００の外部のメモリに格納し、音声デコーダ１００の内部にキャッシュメモリを設けることも考えられる。しかし、キャッシュメモリを用いる場合、予測によるプリフェッチを行ったとしてもキャッシュミスが発生する可能性がある。キャッシュミスが発生すると、ＤＳＰ１０１は外部のメモリからプログラムやデータを取得する必要があり、復号処理の処理速度が低下してしまう。音声デコーダ１００には、符号化された音声データが連続的に入力されてくるため、キャッシュミスによって処理速度が低下すると、スムーズな再生を行うことができなくなってしまう。
【０００７】
本発明は上記課題を鑑みてなされたものであり、ＤＶＤプレーヤ等に用いられる音声デコーダにおいて、処理速度を低下させることなく、集積回路のチップ面積を小さくすることを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するため、本発明のデータ処理用集積回路は、ＣＰＵと、メモリと、読出アドレス記憶部と、メモリ転送制御部と、を備えるデータ処理用集積回路であって、前記メモリ転送制御部は、前記データ処理用集積回路の外部に設けられた外部メモリとの間でデータの送受信が可能であり、前記ＣＰＵは、前記メモリに記憶されているプログラムの制御により、前記ＣＰＵが実行している処理よりも後の段階で使用されるデータの前記外部メモリにおけるアドレスを前記読出アドレス記憶部に設定し、前記メモリ転送制御部は、前記外部メモリの当該アドレスに記憶されているデータを前記メモリに転送することとする。
【０００９】
また、前記データ処理用集積回路には、前記メモリが複数設けられており、前記読出アドレス記憶部が前記メモリごとに設けられており、前記ＣＰＵは、前記メモリに記憶されているプログラムの制御により、前記ＣＰＵが使用するデータが格納されていない前記メモリに対応する前記読出アドレス記憶部に前記アドレスを設定し、前記メモリ転送制御部は、前記外部メモリの当該アドレスに記憶されているデータを当該読出アドレス記憶部に対応する前記メモリに転送することとしてもよい。
【００１０】
また、前記データ処理用集積回路は、書込アドレス記憶部を更に備え、前記ＣＰＵは、前記メモリに記憶されているプログラムの制御により、前記メモリに記憶されているデータの前記外部メモリにおける書き込み先のアドレスを前記書込アドレス記憶部に設定し、前記メモリ転送制御部は、前記メモリに記憶されている前記データを前記外部メモリの前記書き込み先のアドレスに転送することとしてもよい。
【００１１】
また、前記データ処理用集積回路には、前記メモリが複数設けられており、前記書込アドレス記憶部が前記メモリごとに設けられており、前記ＣＰＵは、前記メモリに記憶されているプログラムの制御により、前記外部メモリに書き込まれる前記データが記憶されている前記メモリに対応する前記書込アドレス記憶部に前記書き込み先のアドレスを設定し、前記メモリ転送制御部は、当該書込アドレス記憶部に対応する前記メモリに記憶されている前記データを前記外部メモリの前記書き込み先のアドレスに転送することとしてもよい。
【００１２】
また、前記データ処理用集積回路は、前記メモリのデータ入出力ポートが１つであり、前記メモリ転送制御部は、前記メモリにアクセスする際に前記メモリの動作クロックを前記外部メモリの動作クロックに切り替え、当該アクセス完了後に前記メモリの動作クロックを前記ＣＰＵの動作クロックに切り替えることとしてもよい。
【００１３】
また、前記データ処理用集積回路は、初期データの読出指示を示すデータである読出指示データを記憶する読出指示データ記憶部を更に備え、前記メモリ転送制御部は、前記読出指示データに応じて、前記外部メモリの所定のアドレスに記憶されている前記初期データを前記メモリに転送することとしてもよい。
【００１４】
また、前記データ処理用集積回路は、符号化された音声データを受信する音声データ受信部を更に備え、前記メモリ転送制御部によって前記外部メモリから前記メモリに転送されるデータは、前記符号化された音声データを復号する処理において必要なデータであることとしてもよい。
【００１５】
また、前記データ処理用集積回路は、音声のＲＦ信号を受信して、当該ＲＦ信号をデジタル信号に変換して出力するデジタル信号処理回路を更に備え、前記音声データ受信部は、前記デジタル信号に含まれる符号化された音声データを受信することとしてもよい。
【発明の効果】
【００１６】
ＤＶＤプレーヤ等に用いられる音声デコーダにおいて、処理速度を低下させることなく、集積回路のチップ面積を小さくすることができる。
【発明を実施するための最良の形態】
【００１７】
＝＝全体構成＝＝
図１は、本発明の一実施形態であるＤＶＤプレーヤ１の構成を示す図である。ＤＶＤプレーヤ１は、ピックアップ２、ＤＶＤ再生回路３、及びＳＤＲＡＭ（外部メモリ）４を含んで構成されている。ＤＶＤ再生回路３は１つのチップであり、そのチップには、全体を制御するＣＰＵ１１、フロントエンドプロセッサ（デジタル信号処理回路）１２、システムデコーダ１３、映像デコーダ１４、ＤＡＣ（DA Converter）１５、及び音声デコーダ（データ処理用集積回路）１６が含まれている。なお、ＳＤＲＡＭ４には、ＤＶＤ再生回路３が使用するプログラムやデータ等が記憶されている。
【００１８】
ピックアップ２は、ＤＶＤ２０の表面に光を照射することにより、ＤＶＤ２０に記録されている信号を読み取り、ＲＦ信号（波形信号）を出力する。フロントエンドプロセッサ１２は、ピックアップ２から出力されるＲＦ信号を受信し、当該ＲＦ信号を０と１のデジタルデータに変換する。フロントエンドプロセッサ１２から出力されるデジタルデータには、符号化された映像データと符号化された音声データとが含まれており、それぞれに識別子が付与されている。システムデコーダ１３は、フロントエンドプロセッサ１２から出力されるデジタルデータを受信し、当該デジタルデータを識別子に基づいて映像データと音声データとに分離し、符号化された映像データを映像デコーダ１４に、符号化された音声データを音声デコーダ１６に入力する。
【００１９】
映像デコーダ１４は、符号化された映像データを受信し、ＭＰＥＧ（Moving Picture Experts Group）規格等に基づいて復号処理を行い、復号された映像信号を出力する。映像デコーダ１４から出力された映像信号は、ＤＡＣ１５を介してモニタ２５に出力される。音声デコーダ１６は、符号化された音声データを受信し、符号化方式に応じた復号処理を行い、復号された音声信号を出力する。なお、音声デコーダ１６は、ドルビーデジタルやＤＴＳ、リニアＰＣＭ等、複数の符号化方式の音声データを復号することができる。音声デコーダ１６から出力された音声信号は、ＤＡＣ２６を介してスピーカ２７に出力される。
【００２０】
＝＝音声デコーダの概略構成＝＝
図２は、本発明のデータ処理用集積回路の一実施形態である音声デコーダ１６の概略構成を示す図である。音声デコーダ１６は、ＤＳＰ（ＣＰＵ）３１及びダウンロードモジュール３２を含んで構成される。ダウンロードモジュール３２には、複数のＳＲＡＭ（メモリ）３３、アドレスレジスタ（読出アドレス記憶部及び書込アドレス記憶部）３４、及びＳＤＲＡＭ転送制御部（メモリ転送制御部）３５が含まれている。
【００２１】
ＤＳＰ３１は、ＳＲＡＭ３３に記憶されているプログラムを実行することにより、符号化された音声データの復号処理を行う。そして、この復号処理に必要となるプログラム及びデータは、音声デコーダ１６の外部にあるＳＤＲＡＭ４に記憶されている。図３は、ＳＤＲＡＭ４のアドレス空間を示す図である。ＳＤＲＡＭ４には、復号処理で用いられるプログラムが記憶されているプログラム領域５１と、復号処理で用いられるテーブル等のデータが記憶されているデータ領域Ａ５２及びデータ領域Ｂ５３と、が設けられている。なお、プログラム領域５１の先頭から２ｋワードの領域に常駐プログラム（初期データ）が格納されており、データ領域Ａ５２の先頭から５１２ワードの領域に常駐データ（初期データ）が格納されている。そして、これら以外の領域は、例えば、復号処理を実行した結果のデータの格納や、ＤＶＤ再生回路３内のモジュール間でのデータ授受等に用いられる。
【００２２】
ＤＳＰ３１は、ＳＤＲＡＭ４上のプログラムまたはデータを読み出す場合、そのプログラムまたはデータのＳＤＲＡＭ４におけるアドレスをアドレスレジスタ３４に設定する。すると、ＳＤＲＡＭ転送制御部３５は、ＳＤＲＡＭ制御部４１に対して当該アドレスに記憶されているプログラムまたはデータの読み出し指示を送信し、当該指示に応じてＳＤＲＡＭ４から送信されてくるプログラムまたはデータをＳＲＡＭ３３に記憶する。その後、ＤＳＰ３１は、ＳＲＡＭ３３に記憶されているプログラムまたはデータを読み出すことができる。また、ＤＳＰ３１は、データをＳＤＲＡＭ４に書き込む場合、書き込み先のアドレスをアドレスレジスタ３４に設定した上で、ＳＲＡＭ３３に書き込み対象のデータを書き込む。その後、ＤＳＰ３１が、ＳＤＲＡＭ転送制御部３５に対して転送指示を行うと、ＳＤＲＡＭ転送制御部３５は、ＳＤＲＡＭ制御部４１に対してＳＲＡＭ３３に記憶されているデータの当該アドレスへの書き込み指示を送信する。なお、ＳＤＲＡＭ４におけるアドレスは、図３に示した各領域５１〜５３の開始アドレスからの相対アドレス、または、ＳＤＲＡＭ４上における絶対アドレスとすることができる。
【００２３】
つまり、ダウンロードモジュール３２は、ＤＳＰ３１の指示により、ＳＤＲＡＭ４に記憶されているプログラムまたはデータのＳＲＡＭ３３への転送（ダウンロード）を行うことができる。そして、ＤＳＰ３１は、実行中の復号処理の後の段階で必要となるプログラムまたはデータのダウンロードをダウンロードモジュール３２に予め指示しておくことにより、当該プログラムまたはデータを使用する際には当該プログラムまたはデータをＳＲＡＭ３３から読み出すことができる。また、ダウンロードモジュール３２は、ＤＳＰ３１の指示により、ＳＲＡＭ３３上にあるデータのＳＤＲＡＭ４への転送（アップロード）を行うことができる。
【００２４】
＝＝音声デコーダの詳細構成および動作＝＝
次に、音声デコーダ１６の詳細構成および動作について説明する。
【００２５】
（１）プログラムリード
図４は、音声デコーダ１６における、プログラムの読み出しに関する部分の回路構成を示す図である。図に示すように、音声デコーダ１６には、ＤＳＰ３１、ＳＲＡＭ６０、アドレスレジスタ６１、タグレジスタ６２、制御レジスタ６３、比較器６４、リードセレクタ６５、クロックセレクタ６６、及びＳＤＲＡＭ転送制御部３５が含まれている。
【００２６】
そして、ＤＳＰ３１と周辺回路とを接続するバスとして、プログラムアドレスバス（ＢＰＡ）、プログラムリードバス（ＢＰ＿Ｒ）、データアドレスバス（ＢＤＡＢ）、データライトバス（ＢＤＢ＿Ｗ）、及びデータリードバス（ＢＤＢ＿Ｒ）が設けられている。ここで、プログラムアドレスバス（ＢＰＡ）には、読み出し対象のプログラムのＳＤＲＡＭ４上におけるアドレスが出力され、プログラムリードバス（ＢＰ＿Ｒ）には、ＳＲＡＭ６０から読み出されたプログラムが出力される。また、データアドレスバス（ＢＤＡＢ）には、レジスタ６１〜６３のアドレスが出力され、データライトバス（ＢＤＢ＿Ｗ）には、レジスタ６１〜６３に書き込むデータが出力され、データリードバス（ＢＤＢ＿Ｒ）には、レジスタ６１〜６３から読み出されたデータが出力される。
【００２７】
ＳＲＡＭ６０は、前述した複数のＳＲＡＭ３３に含まれるものであり、常駐プログラム（初期プログラム）が格納される例えば２ｋワード（１ワード：２４ビット）の領域（常駐プログラム領域）一つと、その他のプログラムが格納される例えば２５６ワードの領域（プログラム領域）８つとを備えている。ＳＲＡＭ６０の各領域は、それぞれアドレスポート及びデータ入出力ポートを１つずつ備えたメモリであり、各領域が独立してデータの入出力を行うことができる。なお、ＤＳＰ３１及びＳＤＲＡＭ転送制御部３５は、各領域のアドレスポート及びデータ入出力ポートを共有している。
【００２８】
アドレスレジスタ６１及びタグレジスタ６２は、前述したアドレスレジスタ３４に含まれるものであり、ＳＲＡＭ６０のプログラム領域ごとに設けられ、読み出し対象のプログラムのＳＤＲＡＭ４上におけるアドレスの設定等が行われる。また、制御レジスタ６３には、プログラム領域開始アドレスレジスタ（ＰＧＭレジスタ）６３Ａ、常駐領域ダウンロード指示レジスタ（常駐ＤＬレジスタ）６３Ｂ、転送制御レジスタ６３Ｃ、転送サイズ設定レジスタ６３Ｄ、及び割込制御レジスタ６３Ｅが含まれている。
【００２９】
プログラム領域開始アドレスレジスタ６３Ａには、ＳＤＲＡＭ４のプログラム領域５１の開始アドレスが設定されている。常駐領域ダウンロードレジスタ６３Ｂには、常駐プログラムをＳＤＲＡＭ４からダウンロードする際に、例えば“１” （読出指示データ）が設定される。転送制御レジスタ６３Ｃは、例えば、ＳＲＡＭ６０の８つのプログラム領域の夫々に対応するビットを有しており、“１”が設定されたビットに対応するプログラム領域に対して転送処理が行われる。また、転送サイズ設定レジスタ６３Ｄは、ＳＲＡＭ６０のプログラム領域ごとに設けられており、ＳＤＲＡＭ４からプログラムをダウンロードする際の転送サイズが設定される。そして、割込制御レジスタ６３Ｅは、例えば、ＳＲＡＭ６０の８つのプログラム領域の夫々に対応するビットを有しており、転送処理が完了したプログラム領域に対応するビットに“１”が設定される。なお、割込制御レジスタ６３Ｅの何れかのビットに“１”が設定されると、ＤＳＰ３１に対して割込信号が送信される。
【００３０】
ＳＤＲＡＭ転送制御部３５には、転送コマンド発行ステートマシン６７、転送回数カウンタ６８、及びデータ同期化回路６９が含まれている。転送コマンド発行ステートマシン６７は、転送制御レジスタ６３Ｃの設定に基づいて、ＳＤＲＡＭ４に対して転送要求（ＳＤＲＥＱ）の送信、当該転送要求に対する応答信号（ＳＤＡＣＫ）の受信、及び転送コマンド（ＳＤＣＭＤ）の送信等を行う。また、転送回数カウンタ６８は、転送サイズレジスタ６３Ｄの設定に基づいて、転送コマンド発行ステートマシン６７が発行する転送コマンドの回数を制御する。そして、データ同期化回路６９は、ＳＤＲＡＭ４から送信されてくるデータ（ＳＤＤ＿Ｒ）の受信、または、ＳＤＲＡＭ４に対するデータ（ＳＤＤ＿Ｗ）の送信を行う。
【００３１】
クロックセレクタ６６には、ＤＳＰ３１の動作クロック（ＤＳＰ＿ＣＬＫ）とＳＤＲＡＭ４の動作クロック（ＳＤＲＡＭ＿ＣＬＫ）とが入力されており、ＳＤＲＡＭ転送制御部６７の制御により、何れか一方の動作クロックをＳＲＡＭ６０の各領域に入力する。つまり、ＳＲＡＭ６０のある領域にＳＤＲＡＭ４からプログラムを転送する場合には、当該領域の動作クロックがＳＤＲＡＭ４の動作クロックに切り替えられ、転送終了後に、ＤＳＰ３１の動作クロックに切り替えられる。
【００３２】
比較器６４は、８つのタグレジスタ６２に設定されているアドレスとプログラムアドレスバス（ＢＰＡ）に出力されたアドレスの上位アドレス（例えば上位８ビット）とを比較し、一致するタグレジスタ６２を示す信号をリードセレクタ６５に出力する。また、ＳＲＡＭ６０の各領域のアドレスポートには、プログラムアドレスバス（ＢＰＡ）の下位アドレス（例えば下位８ビット）が入力されており、各領域の当該下位アドレスに格納されているプログラムがリードセレクタ６５に出力される。そして、リードセレクタ６５は、比較器６４から出力される信号によって示されるタグレジスタ６２に対応するＳＲＡＭ６０の領域から出力されたプログラムを選択し、プログラムリードバス（ＢＰ＿Ｒ）に出力する。なお、常駐プログラム領域に格納されたプログラムを読み出す場合、アドレスバス（ＢＰＡ）の上位アドレスは、何れのタグアドレス６２の上位アドレスとも一致しない。したがって、比較器６４が一致するタグレジスタ６２が無いことを示す信号を出力した場合に、リードセレクタ６５は常駐プログラム領域から出力されたプログラムを選択し、プログラムリードバス（ＢＰ＿Ｒ）に出力する。
【００３３】
ＤＳＰ３１が、ＳＤＲＡＭ４に記憶されているプログラムを読み出す流れについて説明する。まず、音声デコーダ１６の外部にあるＣＰＵ１１が、常駐領域ダウンロード指示レジスタ６３Ｂに“１”を設定する。これにより、ＳＤＲＡＭ転送制御部３５は、プログラム領域開始アドレスレジスタ６３Ａに設定されているプログラム領域５１の開始アドレスから２ｋワードをＳＲＡＭ６０の常駐プログラム領域に転送する。
【００３４】
その後は、ＤＳＰ３１がＳＲＡＭ６０に記憶されているプログラムを実行することにより、ＳＤＲＡＭ４に記憶されているプログラムがＳＲＡＭ６０のプログラム領域にダウンロードされる。
【００３５】
図５は、プログラムダウンロード時のタイミングチャートを示す図である。「ＤＳＰ  Ｉ／Ｆ」はＤＳＰ３１に対する入出力信号を示すものである。ＸＣＳはＤＳＰが制御レジスタ６３にアクセスする際に出力される信号であり、“Ｌ”レベルの信号を出力することにより、制御レジスタ６３を使用することができる。ＸＷＲは制御レジスタ６３に対する書き込み指示を示す信号であり、“Ｌ”レベルの信号が出力されている間にデータを書き込むことができる。ＸＲＤは制御レジスタ６３からの読み出し指示を示す信号であり、“Ｌ”レベルの信号が出力されている間にデータを読み出すことができる。また、ＸＰＣＳはＤＳＰがＳＲＡＭ６０にアクセスする際に出力される信号であり、“Ｌ”レベルの信号を出力することにより、ＳＲＡＭ６０を使用することができる。ＸＰＲＤはＳＲＡＭ６０からの読み出し指示を示す信号であり、“Ｌ”レベルの信号が出力されている間にデータを読み出すことができる。なお、本実施形態においては、ＸＰＣＳ及びＸＰＲＤには常に“Ｌ”レベルの信号が出力されている。ＢＤＡＢ、ＢＤＢ＿Ｗ、ＢＤＢ＿Ｒ、ＢＰＡ、及びＢＰ＿Ｒは前述したバスである。
【００３６】
「ＳＤＲＡＭ  Ｉ／Ｆ」はＳＤＲＡＭ４に対する入出力信号を示すものである。ＳＤＲＥＱは、前述したＳＤＲＡＭ４への転送要求であり、転送要求が出力されている間は“Ｈ”レベルとなっている。また、ＳＤＡＣＫは、前述したＳＤＲＡＭ４からの応答信号であり、応答信号が出力されている間は“Ｈ”レベルとなっている。ＳＤＣＭＤは、前述したＳＤＲＡＭ４に対する転送コマンドを示す信号である。
【００３７】
「ＳＲＡＭ  Ｉ／Ｆ」はＳＲＡＭ６０のある領域（Ｘ）に対する入出力信号を示すものである。ＳＲＡＭ＿ＸＣＳｘは、領域（Ｘ）を選択する信号であり、“Ｌ”レベルの信号が入力されている間に、当該領域（Ｘ）に対する操作を行うことができる。ＳＲＡＭ＿ＸＷＥｘは、領域（Ｘ）に対する書き込み制御信号であり、“Ｌ”レベルの信号が入力されている間に、当該領域（Ｘ）に対してデータを書き込むことができる。ＳＲＡＭ＿ＸＯＥｘは、領域（Ｘ）からの読み出し制御信号であり、“Ｌ”レベルの信号が入力されている間に、当該領域（Ｘ）からデータを読み出すことができる。ＳＲＡＭ＿ＡＤｘは、領域（Ｘ）のアドレスポートに入力される信号であり、プログラムアドレスバス（ＢＰＡ）の下位アドレスが入力される。ＳＲＡＭ＿ＤＩＮｘは、領域（Ｘ）のデータ入力ポートに入力される信号である。ＳＲＡＭ＿ＤＯＵＴｘは、領域（Ｘ）のデータ出力ポートから出力される信号である。
【００３８】
タイミングチャートに沿って、プログラムをダウンロードする流れについて説明する。まず、時刻Ｔ１に、ＤＳＰ３１は、ＸＣＳ及びＸＷＲに“Ｌ”レベルの信号を出力し、ＳＲＡＭ６０のプログラム格納先の領域（Ｘ）に対応するアドレスレジスタ６１のアドレスをデータアドレスバス（ＢＤＡＢ）に出力し、ダウンロードするプログラムのＳＤＲＡＭ４上におけるプログラム領域５１の開始アドレスからの相対アドレスをデータライトバス（ＢＤＢ＿Ｗ）に出力する。これにより、アドレスレジスタ６１に相対アドレスが設定される。続いて、時刻Ｔ２に、ＤＳＰ３１は、当該領域（Ｘ）に対応する転送サイズ設定レジスタ６３Ｄのアドレスをデータアドレスバス（ＢＤＡＢ）に出力し、ダウンロードするプログラムの転送サイズをデータライトバス（ＢＤＢ＿Ｗ）に出力する。これにより、転送サイズ設定レジスタ６３Ｄに転送サイズが設定される。さらに続いて、時刻Ｔ３に、ＤＳＰ３１は、転送制御レジスタ６３Ｃのアドレスをデータアドレスバス（ＢＤＡＢ）に出力し、当該領域（Ｘ）に対応するビットに“１”を設定したデータをデータライトバス（ＢＤＢ＿Ｗ）に出力する。これにより、転送制御レジスタ６３Ｃの当該領域（Ｘ）に対応するビットに“１”が設定される。
【００３９】
転送制御レジスタ６３Ｃの領域（Ｘ）に対応するビットに“１”が設定されると、時刻Ｔ４より、ＳＤＲＡＭ転送制御部３５の転送コマンド発行ステートマシン６７は、ＳＤＲＡＭ４に対する転送要求（ＳＤＲＥＱ）を出力し、領域（Ｘ）に対応するアドレスレジスタ６１に設定された相対アドレスからの読み出し命令を示す転送コマンド（ＳＤＣＭＤ）を出力する。なお、転送コマンド（ＳＤＣＭＤ）の発行は、転送回数カウンタ６８の制御により、転送サイズ設定レジスタ６３Ｄに設定された転送サイズに基づいて繰り返し実行される。
【００４０】
そして、時刻Ｔ５に、ＳＤＲＡＭ転送制御部３５は、クロックセレクタ６６により領域（Ｘ）の動作クロックをＳＤＲＡＭ４の動作クロックに切り替える。その後、時刻Ｔ６より、データ同期化回路６９は、ＳＤＲＡＭ４から送信されてくるプログラム（ＳＤＤ＿Ｒ）を受信する。そして、時刻Ｔ７より、データ同期化回路６９は、ＳＲＡＭ＿ＸＣＳｘ及びＳＲＡＭ＿ＸＷＥｘに“Ｌ”レベルの信号を入力し、ＳＲＡＭ＿ＡＤｘに格納アドレスを入力し、ＳＲＡＭ＿ＤＩＮｘにＳＤＲＡＭ４から受信したプログラム（ＳＤＤ＿Ｒ）を入力する。これにより、ＳＲＡＭ６０の領域（Ｘ）にＳＤＲＡＭ４から受信したプログラムが格納される。なお、本実施例においては、ＳＲＡＭ６０に格納される１ワード（２４ビット）は、例えばＳＤＲＡＭ４の２ワード（１６ビット×２）で構成されており、データ同期化回路６９は、ＳＤＲＡＭ４からの２ワードの上位８ビットを切り捨ててＳＲＡＭ６０に格納する１ワード（２４ビット）を生成する。
【００４１】
そして、時刻Ｔ８に、ＳＤＲＡＭ転送制御部３５は、ＳＤＲＡＭ４からＳＲＡＭ６０の領域（Ｘ）へのプログラムの転送が完了すると、転送制御レジスタ６３Ｃの領域（Ｘ）に対応するビットに転送完了を示す“０”を設定し、領域（Ｘ）に対応するアドレスレジスタ６１に設定されているアドレスを、対応するタグレジスタ６２に設定する。また、ＳＤＲＡＭ転送制御部３５は、割込制御レジスタ６３Ｅの領域（Ｘ）に対応するビットに“１”を設定する。これにより、ＤＳＰ３１に対して割込信号が送信される。そして、時刻Ｔ９に、ＳＤＲＡＭ転送制御部３５は、ＳＲＡＭ６０の領域（Ｘ）の動作クロックをクロックセレクタ６６によりＤＳＰ３１の動作クロックに切り替える。
【００４２】
ＤＳＰ３１は、割込信号を受信すると、時刻Ｔ１０に、ＸＲＤに“Ｌ”レベルの信号を出力し、割込制御レジスタ６３Ｅのアドレスをデータアドレスバス（ＢＤＡＢ）に出力する。これにより、データリードバス（ＢＤＢ＿Ｒ）に割り込み制御レジスタ６３Ｅのデータが出力される。ＤＳＰ３１は、割込制御レジスタ６３Ｅのデータにより、領域（Ｘ）への転送が完了したことを確認すると、時刻Ｔ１１に、読み出し対象のプログラムのアドレスをプログラムアドレスバス（ＢＰＡ）に出力する。また、ＤＳＰ３１は、領域（Ｘ）のＳＲＡＭ＿ＸＣＳｘ及びＳＲＡＭ＿ＸＯＥｘに“Ｌ”レベルを入力し、プログラムアドレスバス（ＢＰＡ）に出力されたアドレスの下位アドレスが、ＳＲＡＭ６０の領域（Ｘ）のアドレスポート（ＳＲＡＭ＿ＡＤｘ）に入力される。これにより、領域（Ｘ）の当該下位アドレスに格納されているプログラムがデータ出力ポート（ＳＲＡＭ＿ＤＯＵＴｘ）に出力される。
【００４３】
なお、領域（Ｘ）以外の領域のアドレスポートにも当該下位アドレスが入力され、各領域の当該下位アドレスに格納されているプログラムがデータ出力ポートに出力され、リードセレクタ６５に入力される。そして、リードセレクタ６５は、比較器６４からの出力信号に基づいて、領域（Ｘ）のデータ出力ポート（ＳＲＡＭ＿ＤＯＵＴｘ）から出力されたプログラムを選択し、プログラムリードバス（ＢＰ＿Ｒ）に出力する。
【００４４】
（２）データリード／ライト
図６は、音声デコーダ１６における、データの読み出し及び書き込みに関する部分の回路構成を示す図である。図に示すように、音声デコーダ１６には、ＤＳＰ３１、ＳＲＡＭ７０Ａ，７０Ｂ、アドレスレジスタ７１Ａ，７１Ｂ、タグレジスタ７２Ａ，７２Ｂ、制御レジスタ６３、比較器７３Ａ，７３Ｂ、リードセレクタ７４Ａ，７４Ｂ、ライトセレクタ７５Ａ，７５Ｂ、クロックセレクタ６６、及びＳＤＲＡＭ転送制御部３５が含まれている。
【００４５】
そして、ＤＳＰ３１と周辺回路とを接続するバスとして、データアドレスバス（ＢＤＡＡ，ＢＤＡＢ）、データライトバス（ＢＤＡ＿Ｗ，ＢＤＢ＿Ｗ）、データリードバス（ＢＤＡ＿Ｒ，ＢＤＢ＿Ｒ）が設けられている。ここで、データアドレスバス（ＢＤＡＡ）には、読み出し又は書き込み対象のデータのＳＤＲＡＭ４上におけるアドレスが出力され、データライトバス（ＢＤＡ＿Ｗ）には、ＳＲＡＭ７０Ａに書き込むデータが出力され、データリードバス（ＢＤＡ＿Ｒ）には、ＳＲＡＭ７０Ａから読み出されたデータが出力される。同様に、データアドレスバス（ＢＤＡＢ）には、読み出し又は書き込み対象のデータのＳＤＲＡＭ４上におけるアドレスが出力され、データライトバス（ＢＤＢ＿Ｗ）には、ＳＲＡＭ７０Ｂに書き込むデータが出力され、データリードバス（ＢＤＢ＿Ｒ）には、ＳＲＡＭ７０Ｂから読み出されたデータが出力される。また、データアドレスバス（ＢＤＡＢ）には、レジスタ７１Ａ，７１Ｂ，７２Ａ，７２Ｂ，６３のアドレスが出力され、データライトバス（ＢＤＢ＿Ｗ）には、レジスタ７１Ａ，７１Ｂ，７２Ａ，７２Ｂ，６３に書き込むデータが出力され、データリードバス（ＢＤＢ＿Ｒ）には、レジスタ７１Ａ，７１Ｂ，７２Ａ，７２Ｂ，６３から読み出されたデータが出力される。
【００４６】
ＳＲＡＭ７０Ａ，７０Ｂは、前述した複数のＳＲＡＭ３３に含まれるものであり、ＳＲＡＭ７０Ａは、ＳＤＲＡＭ４のデータ領域Ａ５２との間のデータ転送に用いられ、ＳＲＡＭ７０Ｂは、ＳＤＲＡＭ４のデータ領域Ｂ５３との間のデータ転送に用いられる。ＳＲＡＭ７０Ａには、常駐データが格納される例えば５１２ワードの領域（常駐データ領域）一つと、その他のデータが格納される例えば５１２ワードの領域（データ領域）４つとが設けられ、もう一つのＳＲＡＭ７０Ｂには、例えば５１２ワードの領域（データ領域）４つが設けられている。ＳＲＡＭ７０Ａ，７０Ｂの各領域は、それぞれアドレスポート及びデータ入出力ポートを１つずつ備えたメモリであり、各領域が独立してデータの入出力を行うことができる。なお、ＤＳＰ３１及びＳＤＲＡＭ転送制御部３５は、各領域のアドレスポート及びデータ入出力ポートを共有している。
【００４７】
アドレスレジスタ７１Ａ，７１Ｂ及びタグレジスタ７２Ａ，７２Ｂは、前述したアドレスレジスタ３４に含まれるものであり、ＳＲＡＭ７０Ａ，７０Ｂのデータ領域ごとに設けられ、読み出し又は書き込み対象のデータのＳＤＲＡＭ４上におけるアドレスの設定等が行われる。また、制御レジスタ６３には、常駐領域ダウンロードレジスタ（常駐ＤＬレジスタ）６３Ｂ、データ領域Ａ開始アドレスレジスタ（データＡレジスタ）６３Ｆ、データ領域Ｂ開始アドレスレジスタ（データＢレジスタ）６３Ｇ、転送制御レジスタ６３Ｈ、転送サイズ設定レジスタ６３Ｊ、及び割込制御レジスタ６３Ｋが含まれている。
【００４８】
データ領域Ａ開始アドレスレジスタ６３Ｆには、ＳＤＲＡＭ４のデータ領域Ａ５２の開始アドレスが設定され、データ領域Ｂ開始アドレスレジスタ６３Ｇには、ＳＤＲＡＭ４のデータ領域Ｂ５３の開始アドレスが設定されている。転送制御レジスタ６３Ｈは、例えば、ＳＲＡＭ７０Ａ，７０Ｂの８つのデータ領域の夫々に対してダウンロードを指示するビット及びアップロードを指示するビットを有している。そして、例えば、あるデータ領域に対するダウンロードを指示するビットに“１”が設定されるとＳＤＲＡＭ４から当該ビットに対応するデータ領域への転送（ダウンロード）が行われる。また、例えば、あるデータ領域に対するアップロードを指示するビットに“１”が設定されると当該ビットに対応するデータ領域からＳＤＲＡＭ４への転送（アップロード）が行われる。
【００４９】
また、転送サイズ設定レジスタ６３Ｊは、ＳＲＡＭ７０Ａ，７０Ｂのデータ領域ごとに設けられており、ＳＤＲＡＭ４との間でデータのダウンロード又はアップロードを行う際の転送サイズが設定される。そして、割込制御レジスタ６３Ｋは、例えば、ＳＲＡＭ７０Ａ，７０Ｂの８つのデータ領域の夫々に対してダウンロードの完了を示すビット及びアップロードの完了を示すビットを有している。そして、例えば、あるデータ領域に対するダウンロードが完了すると、当該データ領域のダウンロードの完了を示すビットに“１”が設定される。また、例えば、あるデータ領域からのアップロードが完了すると、当該データ領域のアップロードの完了を示すビットに“１”が設定される。なお、割込制御レジスタ６３Ｋの何れかのビットに“１”が設定されると、ＤＳＰ３１に対して割込信号が送信される。
【００５０】
データがＳＲＡＭ７０Ａ，７０Ｂにダウンロードされる流れは、前述したプログラムの場合と同様である。つまり、ＤＳＰ３１は、ＳＤＲＡＭ４のデータ領域Ａ５２に記憶されているデータをＳＲＡＭ７０Ａのデータ領域にダウンロードする場合、データ領域Ａ５２の開始アドレスからの相対アドレスを、ＳＲＡＭ７０Ａの格納先のデータ領域に対応するアドレスレジスタ７１Ａに設定し、対応する転送サイズ設定レジスタ６３Ｊに転送サイズを設定する。そして、ＤＳＰ３１が、転送制御レジスタ６３Ｈの当該データ領域のダウンロードを指示するビットに“１”を設定すると、ＳＤＲＡＭ転送制御部３５が設定されたアドレス及び転送サイズに基づいて、ＳＤＲＡＭ４からＳＲＡＭ４のデータ領域にデータを転送する。ＳＲＡＭ４にダウンロードされたデータの読み出しについても、プログラムの場合と同様である。
【００５１】
ＤＳＰ３１がＳＤＲＡＭ４にデータを書き込む流れについて説明する。ＳＤＲＡＭ４のデータ領域Ａ５２にデータを書き込む場合、書き込み先の相対アドレスをアドレスレジスタ７１Ａ及びタグレジスタ７２Ａに設定する。そして、ＤＳＰ３１は、ＳＲＡＭ７０Ａのアドレスバス（ＢＤＡＡ）に当該アドレスを出力し、データライトバス（ＢＤＡ＿Ｗ）に書き込み対象のデータを出力する。アドレスバス（ＢＤＡＡ）に出力されたアドレスの下位アドレス（例えば下位９ビット）が、ＳＲＡＭ７０Ａの各領域のアドレスポートに入力され、データライトバス（ＢＤＡ＿Ｗ）に出力されたデータが、各領域のデータ入出力ポートに入力される。また、比較器７３Ａには、アドレスバス（ＢＤＡＡ）に出力されたアドレスの上位アドレス（例えば上位７ビット）と、４つのタグレジスタ７２Ａに設定されているアドレスが入力される。そして、比較器７３Ａは、当該上位アドレスとタグレジスタ７２Ａに設定されているアドレスの上位７ビットとを比較し、一致するタグレジスタ７２Ａを示す信号をライトセレクタ７５Ａに出力する。そして、ライトセレクタ７５Ａは、比較器７３Ａから出力される信号が示すタグレジスタ７２Ａに対応する領域に対して、データ入出力ポートに入力されているデータを書き込む信号を出力する。このように、ＳＲＡＭ７０Ａの領域への書き込みが行われる。
【００５２】
なお、常駐データ領域にデータを書き込む場合、アドレスバス（ＢＤＡＡ）の上位アドレスは、何れのタグアドレス７２Ａの上位アドレスとも一致しない。したがって、比較器７３Ａが一致するタグレジスタ７２Ａが無いことを示す信号を出力した場合に、ライトセレクタ７５Ａは常駐データ領域に対して、データ入出力ポートに入力されているデータを書き込む信号を出力する。
【００５３】
続いて、ＳＲＡＭ７０Ａの領域に書き込まれたデータをＳＤＲＡＭ４に転送する場合、ＤＳＰ３１は、当該領域に対応する転送サイズ設定レジスタ６３Ｊに転送サイズを設定し、転送制御レジスタの当該領域に対するアップロードを指示するビットに“１”を設定する。そして、ＳＤＲＡＭ転送制御部３５は、ＳＲＡＭ７０Ａの当該領域に記憶されているデータを、アドレスレジスタ７１Ａ及び転送サイズ設定レジスタ６３Ｊの設定に基づいて、ＳＤＲＡＭ４に転送する。転送終了後、ＳＤＲＡＭ転送制御部３５は、転送制御レジスタ６３Ｈの当該領域のアップロードを指示するビットに転送完了を示す“０”を設定し、割込制御レジスタ６３Ｋの当該領域のアップロードの完了を示すビットに“１”を設定する。
【００５４】
なお、ＳＤＲＡＭ転送制御部３５は、ＳＲＡＭ７０ＡからＳＤＲＡＭ４への転送を開始する際に、ＳＲＡＭ７０Ａの動作クロックをクロックセレクタ６６によりＳＤＲＡＭ４の動作クロックに切り替え、転送終了後に、ＳＲＡＭ７０Ａの動作クロックをクロックセレクタ６６によりＤＳＰ３１の動作クロックに切り替える。
【００５５】
また、前述の説明においては、ＳＤＲＡＭ４上の相対アドレスによるデータの読み出し又は書き込みの例を説明したが、絶対アドレスによるデータの読み出し又は書き込みを行うことも可能である。
【００５６】
絶対アドレス指定によりＳＤＲＡＭ４のデータを読み出す場合、ＤＳＰ３１は、アドレスレジスタ７１Ａに絶対アドレスを設定する。ＳＤＲＡＭ転送制御部３５は、アドレスレジスタ７１Ａに設定された絶対アドレスに基づいて、ＳＤＲＡＭ４からＳＲＡＭ７０Ａにデータを転送する。ＤＳＰ３１は、絶対アドレスによりＳＲＡＭ７０Ａの領域にアクセスすることができないため、絶対アドレスをデータ領域Ａ５２における相対アドレスに変換し、この相対アドレスをタグレジスタ７２Ａに設定する。そして、ＤＳＰ３１は、この相対アドレスをアドレスバス（ＢＤＡＡ）に出力することにより、絶対アドレスによりダウンロードされたデータをＳＲＡＭ７０Ａから読み出すことができる。
【００５７】
また、絶対アドレス指定によりＳＤＲＡＭ４にデータを書き込む場合、まず、前述と同様の手順で相対アドレスを用いてＳＲＡＭ７０Ａにデータを書き込む。その後、ＳＲＡＭ７０Ａに書き込まれたデータをＳＤＲＡＭ４に絶対アドレス指定で書き込むため、アドレスレジスタ７１Ａに絶対アドレスを書き込む。そして、ＳＤＲＡＭ転送制御部３５は、アドレスレジスタ７１Ａに設定された絶対アドレスに基づいて、当該データをＳＤＲＡＭ４に転送する。
【００５８】
＝＝音声デコーダでの先読み処理＝＝
次に、音声デコーダ１６において、符号化された音声データの復号処理に必要なプログラム及びデータを、必要となる前にＳＤＲＡＭ４から読み出しておく処理である先読み処理について説明する。図７は、先読み処理の例を示すフローチャートである。ここで、Ｐ０はＳＲＡＭ６０における常駐プログラム領域、Ｐ１〜Ｐ８はＳＲＡＭ６０における８つのプログラム領域を示している。また、ＤＡ０はＳＲＡＭ７０Ａにおける常駐データ領域、ＤＡ１〜ＤＡ４はＳＲＡＭ７０Ａにおける４つのデータ領域、ＤＢ１〜ＤＢ４はＳＲＡＭ７０Ｂにおける４つのデータ領域を表している。
【００５９】
まず、初めの状態（ＳＴ１）は、Ｐ０に常駐プログラム、ＤＡ０に常駐データがダウンロードされた後の状態である。なお、太枠で囲まれている領域は、ＤＳＰ３１が使用するプログラム又はデータが格納されている領域を示している。この状態において、まず、ＤＳＰ３１は、各種の初期化処理を実行する（Ｓ７０１）。そして、ＤＳＰ３１は、プログラムの制御により、復号処理の後の段階で必要となるプログラム及びデータを、Ｐ１〜Ｐ３、ＤＡ１〜ＤＡ３、及びＤＢ１に転送するよう、アドレスレジスタ６１，７１Ａ，７１Ｂ等の設定（以後、「転送設定」という。）を行う（Ｓ７０２）。そして、ＤＳＰ３１は、Ｐ０及びＤＡ０を使用して復号処理を実行する（Ｓ７０３）。その間に、前述した手順に従ってＳＤＲＡＭ転送制御部３５は、転送設定に基づいて該当のプログラム及びデータのＰ１〜Ｐ３、ＤＡ１〜ＤＡ３、及びＤＢ１への転送を実行している。そして、ＤＳＰ３１が、割込信号等により、Ｐ１〜Ｐ３、ＤＡ１〜ＤＡ３、及びＤＢ１への転送終了を確認すると（Ｓ７０４）、次の状態（ＳＴ２）に遷移する。
【００６０】
次の状態（ＳＴ２）では、まず、ＤＳＰ３１は、プログラムの制御により、後の段階で必要となるプログラム及びデータの、Ｐ４〜Ｐ５、ＤＡ４、及びＤＢ２〜ＤＢ３への転送設定を行う（Ｓ７０５）。そして、当該転送設定に基づいてＳＤＲＡＭ転送制御部３５による転送が行われている間に、ＤＳＰ３１は、ダウンロード済みのＰ１〜Ｐ３、ＤＡ１〜ＤＡ３、及びＤＢ１を使用して復号処理を実行する（Ｓ７０６）。そして、ＤＳＰ３１は、当該処理（Ｓ７０６）により更新されたデータの、ＤＡ１〜ＤＡ３及びＤＢ１からＳＤＲＡＭ４への転送設定を行う（Ｓ７０７）。ＤＳＰ３１が、割込信号等により、Ｐ４〜Ｐ５、ＤＡ４、及びＤＢ２〜ＤＢ３への転送終了を確認すると（Ｓ７０８）、次の状態（ＳＴ３）に遷移する。
【００６１】
次の状態（ＳＴ３）では、まず、ＤＳＰ３１は、プログラムの制御により、後の段階で必要となるプログラム及びデータの、Ｐ１、Ｐ６〜Ｐ８、ＤＡ１〜ＤＡ２、ＤＢ１、及びＤＢ４への転送設定を行う（Ｓ７０９）。そして、ＤＳＰ３１は、ダウンロード済みのＰ４〜Ｐ５、ＤＡ４、及びＤＢ２〜ＤＢ３を使用して復号処理を実行する（Ｓ７１０）。そして、ＤＳＰ３１は、当該処理（Ｓ７１０）により更新されたデータのＳＤＲＡＭ４への転送設定を行う（Ｓ７１１）。ＤＳＰ３１が、割込信号等により、Ｐ１、Ｐ６〜Ｐ８、ＤＡ１〜ＤＡ２、ＤＢ１、及びＤＢ４への転送終了を確認すると（Ｓ７１２）、次の状態（ＳＴ４）に遷移する。
【００６２】
次の状態（ＳＴ４）では、まず、ＤＳＰ３１は、プログラムの制御により、後の段階で必要となるプログラム及びデータの、Ｐ２〜Ｐ４、ＤＡ３〜ＤＡ４、及びＤＢ２〜ＤＢ３への転送設定を行う（Ｓ７１３）。そして、ＤＳＰ３１は、ダウンロード済みのＰ１、Ｐ６〜Ｐ８、ＤＡ１〜ＤＡ２、ＤＢ１、及びＤＢ４を使用して復号処理を実行する（Ｓ７１４）。そして、ＤＳＰ３１は、当該処理（Ｓ７１４）により更新されたデータのＳＤＲＡＭ４への転送設定を行う（Ｓ７１５）。ＤＳＰ３１が、割込信号等により、Ｐ２〜Ｐ４、ＤＡ３〜ＤＡ４、及びＤＢ２〜ＤＢ３への転送終了を確認すると（Ｓ７１６）、次の状態（ＳＴ５）に遷移する。
【００６３】
次の状態（ＳＴ５）では、まず、ＤＳＰ３１は、プログラムの制御により、後の段階で必要となるプログラム及びデータのＳＲＡＭ６０，７０Ａ，７０Ｂへの転送設定を行う（Ｓ７１７）。そして、ＤＳＰ３１は、ダウンロード済みのＰ２〜Ｐ４、ＤＡ３〜ＤＡ４、及びＤＢ２〜ＤＢ３を使用して復号処理を実行する（Ｓ７１８）。そして、ＤＳＰ３１は、当該処理（Ｓ７１８）により更新されたデータのＳＤＲＡＭ４への転送設定を行う（Ｓ７１９）。ＤＳＰ３１が、割込信号等により、後の段階で必要なプログラム及びデータの転送終了を確認すると（Ｓ７２０）、次の状態に遷移する。
【００６４】
つまり、復号処理のプログラムの中に、その後の段階で必要となるプログラム及びデータの転送設定を行う処理が記述されており、ＤＳＰ３１は、復号処理を実行している間に、当該復号処理の後の段階で必要となるプログラム及びデータの転送設定を行う。これにより、ＤＳＰ３１は、復号処理が当該後の段階に至った際に、必要なプログラム及びデータをＳＲＡＭ６０，７０Ａ，７０Ｂから取得することができる。
【００６５】
以上、本発明の一実施形態である音声デコーダ１６及び当該音声デコーダ１６を用いたＤＶＤ再生回路３について説明した。前述したように、音声デコーダ１６が復号処理で必要とするプログラム及びデータは、音声デコーダ１６の外部に設けられたＳＤＲＡＭ４に記憶されている。そして、音声デコーダ１６は、プログラムの制御により、符号化方式に応じたプログラム及びデータを、復号処理で必要となる前に、内部のＳＲＡＭ３３にダウンロードし、当該ダウンロードされたプログラム及びデータを用いて音声データの復号を行う。
【００６６】
このような構成とすることにより、復号処理に用いられる全てのプログラム及びデータを音声デコーダ１６の内部メモリに格納しておく必要がないため、内部メモリの容量を削減し、音声デコーダ１６のチップ面積を小さくすることができる。また、音声デコーダ１６は、プログラムの制御により、ＳＤＲＡＭ４に記憶されているプログラム及びデータを、それらが必要となる前にＳＲＡＭ３３にダウンロードしている。そのため、復号処理の実行時に、プログラム及びデータをＳＤＲＡＭ４からダウンロードすることによる待ち時間が発生せず、復号処理の処理速度が低下することもない。また、対応する符号化方式の追加等によりプログラム及びデータが増加した場合であっても、外部メモリであるＳＤＲＡＭ４の容量を増加することにより、音声デコーダ１６の内部メモリであるＳＲＡＭ３３の容量を増加する必要がない。
【００６７】
なお、本実施形態においては、復号処理に用いられる全てのプログラム及びデータを外部メモリであるＳＤＲＡＭ４に格納することとしたが、プログラム又はデータの何れか一方については、音声デコーダ１６の内部に設けられたＳＲＡＭやＲＯＭ等に格納しておくこととしてもよい。
【００６８】
また、本発明のデータ処理用集積回路は、本実施形態の音声デコーダ１６に限らず、様々な処理を行う回路に適用することが可能である。この場合においても、その処理で必要となるプログラム及びデータをデータ処理用集積回路の外部に設けられたＳＤＲＡＭ等に格納し、プログラムの制御により、プログラム及びデータを処理で必要となる前にデータ処理用集積回路の内部に設けられたＳＲＡＭ等にダウンロードすることにより、処理速度を低下させることなく、内部メモリの容量を削減し、チップ面積を小さくすることが可能となる。
【００６９】
また、音声デコーダ１６においては、ＳＲＡＭ３３に複数の領域が設けられており、ある領域に対してＳＤＲＡＭ４からプログラム又はデータを転送している際中に、ＤＳＰ３１はＳＲＡＭ３３の他の領域に格納されているプログラム又はデータにアクセスすることができる。したがって、音声データの復号処理のように連続的に実行される処理であっても処理が中断されず、処理速度が低下することがない。
【００７０】
また、音声デコーダ１６においては、ＳＲＡＭ４にデータを書き込み、アドレスレジスタの設定等の転送設定を行うことにより、データをＳＤＲＡＭ４に書き込むことができる。つまり、データの更新を伴う場合であっても、本発明のデータ処理用集積回路を用いて、プログラム及びデータをＳＤＲＡＭ等の外部メモリに格納することが可能となる。さらに、音声デコーダ１６においては、ＳＲＡＭ３３に複数の領域が設けられており、ある領域に記憶されているデータをＳＤＲＡＭ４に転送している最中に、ＤＳＰ３１は他の領域に記憶されているプログラムやデータを用いて処理を続行することができる。したがって、音声データの復号処理のように連続的に実行される処理であっても処理が中断されず、処理速度が低下することがない。
【００７１】
また、音声デコーダ１６においては、ＳＲＡＭ３３の各領域のデータ入出力ポートが１つであり、ＳＲＡＭ３３の動作クロックを切り替えることにより、ＤＳＰ３１からのアクセス及びＳＤＲＡＭ転送制御部３５からのアクセスに対応している。ＳＲＡＭ３３の各領域において、ＤＳＰ３１及びＳＤＲＡＭ転送制御部３５それぞれに対して１つずつのデータ入出力ポートを設けることも可能であるが、本実施形態に示したように、各領域のデータ入出力ポートを１つにすることにより、音声デコーダ１６のチップ面積を小さくすることができる。
【００７２】
また、音声デコーダ１６においては、常駐プログラム及び常駐データもＳＤＲＡＭ４に格納しておき、音声デコーダ１６の外部にあるＣＰＵ１１等によってダウンロード指示がレジスタに設定されることにより、常駐プログラム及び常駐データがＳＲＡＭ３３に転送される。このように、常駐プログラム及び常駐データについても、ＳＤＲＡＭ４に格納しておくことが可能であるため、音声デコーダ１６の内部メモリの容量を更に削減し、チップ面積を小さくすることができる。
【００７３】
また、本実施形態においては音声デコーダ１６を本発明におけるデータ処理用集積回路としたが、本実施形態のＤＶＤ再生回路３を本発明におけるデータ処理用集積回路としてもよい。この場合においても、ＤＶＤ再生回路３に前述した音声デコーダ１６を用いることにより、音声データの復号処理の速度を低下させることなく、ＤＶＤ再生回路３のチップ面積を小さくすることができる。
【００７４】
以上、本発明の実施形態である第一の実施形態及び第二の実施形態について説明したが、上記実施形態は本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物も含まれる。
【図面の簡単な説明】
【００７５】
【図１】本発明の一実施形態であるＤＶＤプレーヤの構成を示す図である。
【図２】本発明のデータ処理用集積回路の一実施形態である音声デコーダの概略構成を示す図である。
【図３】ＳＤＲＡＭのアドレス空間を示す図である。
【図４】音声デコーダにおける、プログラムの読み出しに関する部分の回路構成を示す図である。
【図５】プログラムダウンロード時のタイミングチャートを示す図である。
【図６】音声デコーダにおける、データの読み出し及び書き込みに関する部分の回路構成を示す図である。
【図７】先読み処理の例を示すフローチャートである。
【図８】従来の音声デコーダの構成を示す図である。
【符号の説明】
【００７６】
１  ＤＶＤプレーヤ                      ２  ピックアップ
３  ＤＶＤ再生回路                      ４  ＳＤＲＡＭ
１１  ＣＰＵ                            １２  フロントエンドプロセッサ
１３  映像デコーダ                      １４  ＤＡＣ
１６  音声デコーダ                      ２０  ＤＶＤ
２５  モニタ                            ２６  ＤＡＣ
２７  スピーカ                          ３１  ＤＳＰ
３２  ダウンロードモジュール            ３３  ＳＲＡＭ
３４  アドレスレジスタ                  ３５  ＳＤＲＡＭ転送制御部
４１  ＳＤＲＡＭ制御部                  ５１  プログラム領域
５２  データ領域Ａ                      ５３  データ領域Ｂ
６０  ＳＲＡＭ                          ６１  アドレスレジスタ
６２  タグレジスタ                      ６３  制御レジスタ
６４  比較器                            ６５  リードセレクタ
６６  クロックセレクタ                  ６７  転送コマンド発行ステートマシン
６８  転送回数カウンタ                  ６９  データ同期化回路
７０Ａ，７０Ｂ  ＳＲＡＭ                ７１Ａ，７１Ｂ  アドレスレジスタ
７２Ａ，７２Ｂ  タグレジスタ            ７３Ａ，７３Ｂ  比較器
７４Ａ，７４Ｂ  リードセレクタ          ７５Ａ，７５Ｂ  ライトセレクタ
１００  音声デコーダ                    １０１  ＤＳＰ
１０２  内蔵メモリ（ＳＲＡＭ・ＲＯＭ）
【図１】
2006190389.tif 000003
【図２】
2006190389.tif 000004
【図３】
2006190389.tif 000005
【図４】
2006190389.tif 000006
【図５】
2006190389.tif 000007
【図６】
2006190389.tif 000008
【図７】
2006190389.tif 000009
【図８】
2006190389.tif 000010