(57)【要約】回路装置が、外部Ｉ／Ｏ装置とデータメモリとの間においてデジタルサンプルを転送するために必要なＤＳＰに対する割込みの回数を減少し、このようにして、前記ＤＳＰに追加のサンプル処理演算を実行することを可能にする。割込みアクセラレータは、前記ＤＳＰを休止し、前記データメモリとでサンプルを転送し、及び転送されたサンプルの数を追跡することにより、Ｉ／Ｏ装置からのＩ／Ｏ割込みに応答する。所定数のサンプルが転送された時、前記割込みアクセラレータは、サンプル処理と併せてサンプルのブロック転送を実行するために前記ＤＳＰに割込む。
2004538544.tif 000002
【特許請求の範囲】
【請求項１】
デジタル信号データを処理するデジタル信号プロセッサ（ＤＳＰ）プログラムの実行において使用する回路装置であって、
サンプルを含むデジタル信号データを記憶するように構成されたデータメモリと、
前記データメモリと結合され、前記データメモリに記憶されたサンプルを処理するように構成されたＤＳＰと、
Ｉ／Ｏ割込みを生成するように構成されたＩ／Ｏインターフェースと、
前記Ｉ／Ｏインターフェースからの前記Ｉ／Ｏ割込みを検出し、前記Ｉ／Ｏ割込みに応答して、前記Ｉ／Ｏインターフェースと前記データメモリとの間においてサンプルを転送し、所定数のサンプルが、前記Ｉ／Ｏインターフェースと前記データメモリとの間において転送された後に、前記ＤＳＰに割込むように構成された割込みアクセラレータと、
を有する回路装置。
【請求項２】
前記Ｉ／ＯインターフェースがさらにＩ／Ｏレジスタを有し、前記Ｉ／Ｏインターフェースが外部Ｉ／Ｏ装置と前記Ｉ／Ｏレジスタとの間においてサンプルを転送するように構成され、前記割込みアクセラレータが、前記Ｉ／Ｏレジスタと前記データメモリとの間においてサンプルを転送することにより、前記Ｉ／Ｏインターフェースと前記データメモリとの間においてサンプルを転送するように構成される、請求項１に記載の回路装置。
【請求項３】
前記割込みアクセラレータが、前記Ｉ／Ｏ割込みを、前記Ｉ／Ｏレジスタ、転送方向、及び前記Ｉ／Ｏ割込みに応答する前記データメモリにおけるサンプルバッファ内のメモリの位置と関連付けるように構成される、請求項２に記載の回路装置。
【請求項４】
さらに複数のＩ／Ｏレジスタを有し、前記割込みアクセラレータが、さらに、サンプルの転送を配列することにより、前記複数のＩ／Ｏインターフェースからの複数のＩ／Ｏ割込みの間において調停するように構成される、請求項３に記載の回路装置。
【請求項５】
さらにＩ／Ｏ割込み可能データ構造を有し、前記割込みアクセラレータが、さらに、前記Ｉ／Ｏ割込み可能データ構造に記憶されるデータに基づいて前記Ｉ／Ｏ割込みに選択的に応答するように構成される、請求項３に記載の回路装置。
【請求項６】
さらに前記サンプルバッファの開始アドレスを記憶するデータ構造を有し、前記割込みアクセラレータが、さらに、前記開始アドレスからのオフセットを追跡することにより、前記サンプルバッファにおける現在の位置を識別するように構成される、請求項３に記載の回路装置。
【請求項７】
前記ＤＳＰが休止動作により及び休止肯定応答信号を提供することにより休止信号に応答するように構成され、前記割込みアクセラレータが、さらに、前記Ｉ／Ｏ割込みに応答して前記休止信号を提供するように及び前記休止肯定応答信号に応答してサンプルを転送するように構成される、請求項３に記載の回路装置。
【請求項８】
前記Ｉ／Ｏインターフェースが、インターＩＣサウンド（Ｉ２Ｓ）インターフェース、ソニー／フィリップス・デジタル・インターフェース（Ｓ／ＰＤＩＦ）及びオーディオコーデック’９７（ＡＣ９７）インターフェースから成るグループから選択される、請求項２に記載の回路装置。
【請求項９】
請求項１に記載の回路装置を有する集積回路装置。
【請求項１０】
請求項１に記載の回路装置を有する信号処理システム。
【請求項１１】
請求項１に記載の回路装置を定義するハードウェア定義プログラム及び前記ハードウェア定義プログラムを運搬する信号運搬媒体を有するプログラム。
【請求項１２】
前記信号運搬媒体が伝達型媒体及び記録可能媒体の少なくとも１つを含む、請求項１１に記載のプログラム。
【請求項１３】
オーディオサンプルのデジタル信号処理をする回路装置であって、
オーディオサンプルを含むデジタル信号データを記憶するように構成されたデータメモリと、
前記データメモリと結合され、前記メモリに記憶されたオーディオサンプルを処理するように構成されたデジタル信号プロセッサ（ＤＳＰ）と、
Ｉ／Ｏ割込みを生成するように構成された入力インターフェースと、
Ｉ／Ｏ割込みを生成するように構成された出力インターフェースと、
前記入力インターフェースからのＩ／Ｏ割込みに応答して、前記入力インターフェースから前記データメモリにオーディオサンプルを転送し、前記出力インターフェースからのＩ／Ｏ割込みに応答して、前記データメモリから前記出力インターフェースにオーディオサンプルを転送し、並びに所定数のオーディオサンプルが、前記入力インターフェースから前記データメモリへ、又は前記データメモリから前記出力インターフェースへの何れかに転送された後に、前記ＤＳＰに割込むように構成された割込みアクセラレータと、
を有する回路装置。
【請求項１４】
データメモリとＩ／Ｏインターフェースとの間においてサンプルを転送する方法であり、前記Ｉ／Ｏインターフェースが前記サンプルを処理するために前記データメモリにアクセスするデジタル信号プロセッサ（ＤＳＰ）である方法であって、
前記Ｉ／ＯインターフェースからのＩ／Ｏ割込みを検出するステップ、
前記Ｉ／Ｏ割込みに応答して、前記Ｉ／Ｏインターフェースと前記データメモリとの間においてサンプルを転送するステップ、及び
所定数のサンプルが、前記Ｉ／Ｏインターフェースと前記データメモリとの間において転送された後に、前記ＤＳＰに割込むステップ、
を有する方法。
【請求項１５】
前記Ｉ／Ｏインターフェースからの前記Ｉ／Ｏ割込みを検出するステップが、さらに、
複数のＩ／Ｏインターフェースの１つからのＩ／Ｏ割込みを検出するステップと、
前記Ｉ／Ｏ割込みを前記１つのＩ／Ｏインターフェースと関連付けるステップと、
前記１つのＩ／Ｏインターフェースと前記データメモリとの間においてサンプルを転送するステップと、
を有する、請求項１４に記載の方法。
【請求項１６】
前記１つのＩ／Ｏインターフェースと前記データメモリとの間においてサンプルを転送するステップが、さらに、
前記Ｉ／Ｏ割込みを前記データメモリにおけるデータバッファに関連付けるステップを有し、ここで前記データバッファが前記１つのＩ／Ｏインターフェースに対応する、
請求項１５に記載の方法。
【請求項１７】
前記Ｉ／Ｏ割込みを前記データバッファに関連付けるステップが、さらに、
前記データバッファに関連した開始アドレスを識別するステップと、
前記開始アドレスからのオフセットとして、前記データバッファにおける現在の位置を追跡するステップと、
を有する、請求項１６に記載の方法。
【請求項１８】
さらに、データバッファの半分からもう半分に切り替わる前記データバッファにおける現在の位置を検出することにより、所定数のサンプルが転送されたことを検出するステップを有する請求項１６に記載の方法。
【請求項１９】
さらに、前記Ｉ／Ｏインターフェースと前記データメモリとの間においてサンプルを転送する一方で、前記ＤＳＰを休止するステップを有する請求項１４に記載の方法。
【請求項２０】
前記Ｉ／Ｏインターフェースからの前記Ｉ／Ｏ割込みを検出するステップが、さらに、
複数のＩ／Ｏインターフェースの１つからのＩ／Ｏ割込みを検出するステップと、
前記Ｉ／Ｏ割込みを前記１つのＩ／Ｏインターフェースに関連付けるステップと、
前記１つのＩ／Ｏインターフェースと前記データメモリとの間においてサンプルを転送するステップと、
を有する、請求項１９に記載の方法。
【請求項２１】
複数のＩ／Ｏインターフェースの１つからのＩ／Ｏ割込みを検出するステップが、さらに、
前記複数のＩ／Ｏインターフェースからの同時並行の第１及び第２のＩ／Ｏ割込みを検出するステップと、
１つずつ処理するために前記Ｉ／Ｏ割込みを配列するステップと、
全ての前記同時並行のＩ／Ｏ割込みが処理された後に、前記デジタル信号プロセッサを解放するステップと、
を有する、請求項２０に記載の方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、一般的には、デジタル信号プロセッサ（ＤＳＰ）回路装置及び同じものが組み込まれた集積回路に関し、特に、複数の記録及び再生装置に対するサンプル処理のために構成されたＤＳＰに関する。
【０００２】
【従来の技術】
半導体製造技術が進歩するにつれて、集積回路の設計者は、単一の集積回路装置又はチップの中にますます多くの機能を集積化することができる。従って、かつて回路基板又はモジュール上で互いに電気的に結合された幾つかの集積回路を必要としていた電子設計は、現在、単一の集積回路の中に集積化されることができ、それにより性能を上げ、コストを減らす。
【０００３】
ディスクリート回路から集積回路に移行した１つの機能は、一般的にデジタルで表された信号に対する数学的演算の適用であるデジタル信号処理である。デジタル信号処理は、オーディオ及び／又はビデオ信号に対してフィルタを実施するアプリケーション、無線又は他のセルラネットワークにおける信号のような通信信号から情報をデコードするアプリケーション、その他のような多数のアプリケーションにおいて使用される。
【０００４】
半導体製造技術は、デジタル信号処理を実行する論理回路が、専門のＤＳＰアルゴリズムを実施するために、以下ＤＳＰプログラムと呼ぶソフトウェアプログラムを実行する専用のデジタル信号プロセッサにより実行されてもよいところまで進歩してきた。そのうえ、デジタル信号プロセッサは、コストを下げると同時に性能における改善をさらに提供するために、追加の論理回路と共に、集積回路又はチップの中に埋め込まれてもよい。
【０００５】
ＤＳＰをプログラムする能力は、優れた柔軟性を提供する。例えば、ＤＳＰは、ホームシアターシステム、ビデオゲーム機器、音楽エンターテイメントシステムにおいて使用されるオーディオコントローラのための処理エンジンを形成してもよい。前記オーディオコントローラは、一般的に、ホストコントローラに対して、複数の機能を実行する。例えば前記オーディオコントローラは、デジタルオーディオサンプルを提供又は受信する複数の外部入力及び出力（Ｉ／Ｏ）装置とインターフェースで連結する。前記ＤＳＰは、前記サンプルのサウンド処理をさらに実行してもよく、楽音合成、音の３次元定位のレンダリング、サウンド形式間の転換、及び他の機能のような効果を提供する。
【０００６】
典型的には、前記ＤＳＰは、ＤＳＰバスを経て様々な型式の外部Ｉ／Ｏ装置と相互接続され、前記ＤＳＰバスには、前記様々なＩ／Ｏ装置がインターフェースで連結されている。これらのＩ／Ｏ装置は、前記ＤＳＰに“割込む”ことにより、サンプルを提供又は要求し、ここで、割込みは、他の処置が実行されることができるように、コンピュータにおけるプログラムの実行を一時的に休止するハードウェア又はソフトウェア信号である。特に、ＤＳＰ命令の他の部分は、割込みを処理するように実行されてもよい。このように、割込みを受信する上で、前記ＤＳＰは、典型的には、現行の状態を保ち、以前の演算に戻ることができるようになる前に、サンプルの転送を実行する割込みプログラムコードを実行しなければならない。ＤＳＰを用いた割込みの処理に関連するオーバーヘッドは、例えば、３０ないし５０クロックサイクル又はそれ以上であるような、かなりの量であることができ、それにより、ＤＳＰが、割込み処理にそらされるといつでも、第１の信号処理課題を実行する前記ＤＳＰの能力は減少される。
【０００７】
オーディオコントローラのアプリケーションにおいて、ＤＳＰは、伝統的に、毎回、外部Ｉ／Ｏ装置が、データメモリとオーディオＩ／Ｏレジスタとの間の２つの１６ビット・ワード（ステレオ・オーディオ・ペア）のデータを必要とするたびに、割込みを処理しなければならなかった。外部オーディオＩ／Ｏ装置は典型的には、８ないし４８ｋＨｚのサンプルレートにおいて動作する。３つの入力及び３つの外部出力Ｉ／Ｏ装置を処理するように構成された従来のＤＳＰ設計は、毎秒約２８８，０００の割込みを必要とすることが見出されている。ＤＳＰを用いてこの数の割込みを処理するには、典型的には、ＤＳＰに対して利用することができる処理時間の大部分である、９−１４百万命令毎秒（ＭＩＰＳ）を必要とする。
【０００８】
いくつかのアプリケーションにおいて、オーディオコントローラは、高性能のサウンド処理及び多機能性を提供しながら、前記割込みを処理するために、前記ＤＳＰの演算速度を数倍に増加させる。しかし、より高い演算速度は、コスト及び前記ＤＳＰの複雑さを増加させる。他のアプリケーションにおいて、追加のＩ／Ｏレジスタバッファが、前記オーディオコントローラを前記外部Ｉ／Ｏ装置にインターフェースで接続するために使用される。しかし、前記レジスタも、前記コスト及び前記オーディオコントローラに対する外部接続の数を増加させる。
【０００９】
従って、外部Ｉ／Ｏ装置からのＤＳＰ割込み処理の前記オーバーヘッド処理が減少するデジタル信号処理環境における手法に対して、当技術分野において、かなりの要求が存在し続けている。
【００１０】
【発明が解決しようとする課題】
本発明は、ＤＳＰに対する割込み回数を減少するために、割込みアクセラレータを使用する回路装置を提供することにより、先行技術に関するこれら及び他の問題を扱う。
【００１１】
【課題を解決するための手段】
前記割込みアクセラレータは、主として、従来の設計のように各転送に対して前記ＤＳＰに割込む必要なく、データメモリとＩ／Ｏインターフェースとの間の転送を処理する。結果として、前記ＤＳＰは、データのブロックが転送された後のみに割込まれる必要がある。割込みアクセラレータを用いて、前記ＤＳＰに割込む回数を減少することにより、前記ＤＳＰはオーバーヘッドを減らし、従って、他のＤＳＰ演算を実行するためにより多くの帯域幅を利用することができる。
【００１２】
本発明の１つの態様によると、割込みアクセラレータは、前記データメモリとでサンプルを転送することによりＩ／ＯインターフェースからのＩ／Ｏ割込みに応答する。所定数のサンプル即ちサンプルのブロックが転送された時、前記割込みアクセラレータは、前記ＤＳＰに割込み、それにより前記ＤＳＰは前記サンプルのブロックを処理するだろう。
【００１３】
本発明を特徴付けるこれら及び他の利点及び特徴は、これに添付され、及びこれのさらに他の部分を形成する請求項において明らかにされる。しかし、本発明並びに本発明の使用を通して達成される前記利点及び目標のより良い理解のために、記述された本発明の模範的な実施例における図面及び添付する記述的事柄に対して、参照が行われるべきである。
【００１４】
【発明の実施の形態】
ここで記述される実施例は、Ｉ／Ｏ装置とＤＳＰによりアクセスされるデータメモリとの間においてデジタル信号データサンプルを転送するデジタル信号処理環境において割込みアクセラレータを使用する。前記割込みアクセラレータは、転送されたサンプルの数を追跡し、所定数のサンプル即ちブロックが前記データメモリに向けて、又は前記データメモリから転送された時、前記ＤＳＰに割込む。これに応答して、前記ＤＳＰは、前記サンプルのブロックを用いて信号処理演算を実行するか、又は出力されたブロックを置き換えるために処理されたサンプルを転送する。
【００１５】
前記ＤＳＰと通信するための割込みの使用は、様々な数及び型式のインターフェースが前記ＤＳＰと通信するのを可能にする柔軟性のあるアーキテクチャを提供する。例として、オーディオコントローラは、しばしば、デジタルビデオディスク（ＤＶＤ）のような、ソニー／フィリップス・デジタル・インターフェース・フォーマット（”Ｓ／Ｐ  ＤＩＦ”）で通信する装置にインターフェースで接続する。ほかの装置は、コンパクトディスクプレーヤ及びレコーダのような、インターＩＣサウンド（”Ｉ２Ｓ”）直列フォーマットで通信する。さらに他のものは、マイクロホン及びスピーカーのようなアナログ装置にインターフェース接続されているオーディオコーデック（コーダ−デコーダ）のようなオーディオコーデック’９７（ＡＣ９７）仕様フォーマットを使用する。
【００１６】
典型的には、前記オーディオコントローラは、少なくとも１つの外部Ｉ／Ｏ装置及びＤＳＰバスに結合されたＩ／Ｏインターフェースを含む。前記Ｉ／Ｏインターフェースは、外部Ｉ／Ｏ装置と、前記ＤＳＰバスに結合された、割り当てられたＩ／Ｏレジスタとの間においてサンプルを転送する。また、前記Ｉ／Ｏインターフェースは、前記外部Ｉ／Ｏ装置が、前記Ｉ／Ｏレジスタと前記ＤＳＰデータメモリとの間におけるサンプルの転送の準備ができている時、Ｉ／Ｏ割込みを前記ＤＳＰバスに通信する。
【００１７】
例示的実施例において、前記オーディオコントローラは、３つの外部Ｉ／Ｏ装置から未処理のサンプルを受容し、３つの外部Ｉ／Ｏ装置に処理されたサンプルを送信し、各々は４８ｋＨｚのサンプル周波数において動作する。典型的には、従来のオーディオコントローラは、このように、各Ｉ／Ｏ割込みが、ＤＳＰデータメモリとＩ／Ｏレジスタとの間において２つの１６ビット・ワードのデータを動かす要求である、前記６つのＩ／Ｏ装置からの毎秒約２８８，０００のＩ／Ｏ割込みを処理しなければならない。
【００１８】
有利にも、前記割込みアクセラレータは、３２対のステレオオーディオサンプルのような、所定数のサンプルが、サンプルバッファに向けて又はサンプルバッファから転送された時のみ、前記ＤＳＰに割込んで、前記２８８，０００のＩ／Ｏ割込みを処理する。もし６つ全てのＩ／Ｏインターフェースが動作しているならば、１つの前記ＤＳＰ割込みは、このように、前記ＤＳＰに、各々の６つの対応する前記サンプルバッファにおける３２個のステレオペアを処理させるだろう。その結果、前記ＤＳＰに対する割込み回数は、毎秒２８８，０００回の割込みから毎秒約１，５００回の割込みに減少する。しかし、様々な型式のＩ／Ｏ装置にサンプルを転送する他の手法は、本開示から利益を得る当業者に明らかになるであろうし、従って、本発明はこの特定の実施に限定されない。
【００１９】
幾つかの図を通して同じ番号は同じ部分を示す前記図面を参照して、図１は本発明による回路装置１０を図示している。図示された実施において、回路装置１０は、オーディオサブシステム１２に対するオーディオコントローラとして、単一の集積回路又はチップ上に配置される。回路装置１０は、ＤＳＰバス１６を経てＤＳＰデータ・ランダム・アクセス・メモリ（ＲＡＭ）１８に結合されたＤＳＰコア１４を含む。ＤＳＰコア１４は、カリフォルニア、サンタクララのＤＳＰグループにより実施許諾を得られた、ＤＳＰバス１６と同じくここで描かれ及び記述された、別個のコード及びデータバスを持つ（ハーバード・アーキテクチャ）プログラム可能な１６ビット整数ＤＳＰであるＰＩＮＥＴＭアーキテクチャに基づいている。
【００２０】
回路装置１０が、ビデオ信号処理、通信データ符号化／逆符号化、及び実際にはＤＳＰのその他のアプリケーションを含む、本発明による他のアプリケーションにおいて使用されてもよいことは、本開示から利益を得る当業者に明らかになるだろう。
【００２１】
図１に示されるようなオーディオコントローラは、デジタル信号データサンプルを提供及び要求する複数の外部Ｉ／Ｏ装置を典型的に持つシステムにおけるＤＳＰの使用を図示している。パーソナル・コンピュータのＣＰＵのようなホスト２０は、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）バス２２から、交代でＤＳＰバス１６に属するＤＳＰ／ホスト・インターフェース２４まで横切って、オーディオコントローラ１０と通信することが表されている。
【００２２】
オーディオコントローラ１０は、Ｉ２Ｓインターフェース２６、Ｓ／Ｐ ＤＩＦインターフェース２７、及びＡＣ９７インターフェース２８として描かれている様々な型式の外部Ｉ／Ｏ装置に対するインターフェースを含む。各インターフェース２６−２８は、割り当てられた前記Ｉ／Ｏレジスタとそれぞれの前記外部Ｉ／Ｏ装置との間においてサンプルを転送し、及びサンプルがＩ／Ｏレジスタとデータメモリ１８における対応するサンプルバッファとの間における転送を必要とする時にＩ／Ｏ割込みを提供するために、それぞれのインターフェース制御２９−３１を経てＤＳＰバス１６に結合される。
【００２３】
Ｉ２Ｓインターフェース２６は、ＣＤ（ｃｏｍｐａｃｔ  ｄｉｓｋ）プレーヤ３２として描かれている、外部Ｉ／Ｏ装置から記録するサンプルを受信する。特に、Ｉ２Ｓインターフェース２６は、Ｉ２Ｓインターフェース制御２９、Ｉ２Ｓ記録レジスタ３４及びＩ２Ｓ再生レジスタ３６を有する。Ｉ２Ｓインターフェース制御２９は、前記サンプルを受信し、前記サンプルをＩ２Ｓ記録レジスタ３４に移動する。Ｉ２Ｓインターフェース制御２９は、また、Ｉ２Ｓ再生レジスタ３６から処理されたサンプルを読出し、前記処理されたサンプルを、ＣＤ−ＲＷ（ｃｏｍｐａｃｔ  ｄｉｓｋ  ｒｅｗｒｉｔａｂｌｅ）レコーダ３８として描かれている、もう１つの外部Ｉ／Ｏ装置に提供する。
【００２４】
ここで使用されたように、サンプル及びレジスタと関連した時、単語“記録”は、信号処理のためにオーディオコントローラ１０に対するサンプルの入力をさす。前記未処理のサンプルは、しばしば混合又は別な方法で変更する必要がある記録されたオーディオ信号のように生じるので、この慣習が使用される。前記記録レジスタが、あらかじめ記録された信号ではなく、例えば下で論じるようにマイクロホンから読み取られた信号を含んでもよいことは、認められるべきである。同様に、サンプル及びレジスタに関する時、単語“再生”は、信号処理後に前記オーディオコントローラからのサンプルの出力をさす。しかし、また下で論じられるように、前記処理されたサンプルは、再生レジスタから出力された後に最後に記録されてもよい。
【００２５】
Ｓ／Ｐ  ＤＩＦインターフェース２７は、ＤＶＤプレーヤ４０として描かれている外部Ｉ／Ｏ装置から記録するサンプルを受信する。特に、Ｓ／Ｐ  ＤＩＦインターフェース２７は、Ｓ／Ｐ  ＤＩＦ制御３０、Ｓ／Ｐ  ＤＩＦ記録レジスタ４２、及びＳ／Ｐ  ＤＩＦ再生レジスタ４４から構成される。Ｓ／Ｐ  ＤＩＦ制御３０は、ＤＶＤプレーヤ４０からＳ／Ｐ  ＤＩＦ記録レジスタ４２に前記サンプルを移動する。描かれていないにもかかわらず、もう１つの外部Ｉ／Ｏ装置が、Ｓ／Ｐ  ＤＩＦ制御３０によりまた移動される、Ｓ／Ｐ  ＤＩＦインターフェース２７からの処理されたサンプルを、また、Ｓ／Ｐ  ＤＩＦ再生レジスタ４４から受信してもよい。
【００２６】
ＡＣ９７インターフェース２８は、信号がコーデック４８によりデジタル化されるようなマイクロホン４６として描かれているアナログ外部Ｉ／Ｏ装置から、記録するサンプルを受信する。同様に、ＡＣ９７インターフェース２８は、コーデック４８を経由して、スピーカー５０として描かれているアナログＩ／Ｏ装置に処理されたサンプルを送信する。特に、ＡＣ９７インターフェース２８は、ＡＣ９７インターフェース制御３１、ＡＣ９７記録レジスタ５２、及びＡＣ９７再生レジスタ５４−５８を含む。ＡＣ９７インターフェース制御３１は、ＡＣ９７記録レジスタ５２において前記受信されたサンプルを記憶する。ＡＣ９７インターフェース制御３１は、また、それぞれのＡＣ９７再生レジスタ５４−５８からスピーカー５０のためにコーデック４８に処理されたサンプルを移動する。
【００２７】
割込みアクセラレータ６０は、Ｉ／Ｏ割込みを受信し、並びに、これに応答して、前記Ｉ／Ｏ割込みを、適切な前記Ｉ／Ｏレジスタ、転送の望ましい方向（入力又は出力）、及びデータメモリ１８における適切なデータバッファ内のメモリ記憶位置と関連付けるように構成される。より詳細には、割込みアクセラレータ６０は、記録レジスタ３４、４２、５２から、サンプルバッファ６１−６３として描かれている、それぞれの割り当てられたデータドラムに向けて、記録するサンプルを有利に転送する。また、割込みアクセラレータ６０は、サンプルバッファ６４−６８として描かれているデータドラムから、それぞれ割り当てられた再生レジスタ３６、４４、５４−５８に向けて、処理されたサンプルを有利に転送する。
【００２８】
割込みアクセラレータ６０が、インターフェース２６−２８からのＩ／Ｏ割込みを受信する時、割込みアクセラレータ６０は、このＩ／Ｏインターフェースが前記ＤＳＰコア１４及び／又はホスト２０により割込み可能にされているかどうかを見るために、データメモリ１８におけるＩ／Ｏ割込み可能データ構造７０を参照する。もし割込み可能であれば、割込みアクセラレータ６０は、前記Ｉ／Ｏインターフェースに対して適切な前記サンプルバッファ６１−６８を配置するために、前記サンプルバッファ６１−６８の開始アドレスに対するデータ構造７２を参照する。割込みアクセラレータ６０は、また、休止ライン７４を通してＤＳＰコア１４を休止する。一度ＤＳＰコア１４が休止信号を受容すれば、休止肯定応答信号は、肯定応答ライン７６を通して割込みアクセラレータに戻される。ＤＳＰコア１４を休止したままで、割込みアクセラレータ６０は、ＤＳＰバス１６を制御し、前記サンプルを転送し、その後、ＤＳＰコア１４に再開するのを可能にするために、ライン７４から前記休止信号を除去する。
【００２９】
一度割込みアクセラレータ６０が、３２個のステレオペアのサンプルをそれぞれの前記サンプルバッファ６１−６３の何れかに転送すると、割込みアクセラレータ６０は、ＤＳＰバス１６を通してＤＳＰコア１４に割込み、それにより前記ＤＳＰが、それぞれの前記サンプルバッファ６１−６３における前記サンプルを処理してもよい。同様に、一度、割込みアクセラレータ６０が、３２個のステレオペアのサンプルを、それぞれの前記サンプルバッファ６４−６８の何れかから転送すると、割込みアクセラレータ６０は、ＤＳＰバス１６を通してＤＳＰコア１４に割込み、それにより、前記ＤＳＰが、追加の３２個の処理されたサンプルを、それぞれの前記サンプルバッファ６４−６８に提供してもよい。
【００３０】
ＤＳＰコア１４に割込むのではなく休止することは、重要な処理の利点に帰着する。休止された時、ＤＳＰコア１４は、以前の状態を記憶した後に割込みコードがロードされることが要求される前記ＤＳＰに対する割込みとは異なり、命令コードの現在の値及び保持されたデータと同じ状態にとどまる。一度前記割込みコードが実行されると、以前の状態はリロードされなければならない。前記ＤＳＰに対する前記割込みコードは、ＤＳＰ／ホスト・インターフェース２４のような他のインターフェースを含んでもよいので、前記割込みコードの実行は、３０−５０回の演算又はそれ以上の、かなりの量の演算を要するかもしれない。
【００３１】
回路装置１０の全ての構成要素が、単一の集積回路装置又はチップ上に集積されているように図示されている一方で、構成要素の何れかが、前記ＤＳＰを組み込んだ集積回路に電気的に結合された別個の集積回路上に配置されてもよいことは、認められるだろう。従って、図１において図示されたバスの何れかが、オンチップ配線を使い又は別個の伝送線を経て実装されてもよく、各伝送線を実装するために電気的及び／又は光学的媒体を使用してもよい。
【００３２】
そのうえ、当技術分野でよく知られているように、集積回路装置は、典型的には、前記装置における前記回路装置の機能及び／又は配置を様々なレベルにおいて定義するハードウェア定義プログラムとここで呼ばれる、１つ又はそれ以上のコンピュータデータファイルを使い、設計及び製造される。前記プログラムは、典型的には、設計ツールにより生成され、その後、シミュレーションのために、及び／又は半導体ウェーハにつける前記回路装置を定義するレイアウトマスクを造るために製造中に使用される。典型的には、前記プログラムは、ＶＨＤＬ、ベリログ、ＥＤＩＦ、その他のようなハードウェア定義言語（ＨＤＬ）を使って、所定のフォーマットにおいて提供される。本発明が、完全に機能している集積回路装置及びこのような装置を使用するデータ処理システムにおいて実装された回路装置の文脈において記述された及び以下に記述されるだろう一方で、本開示から利益を得る当業者は、本発明による回路装置が、様々な形式のプログラム・プロダクトとして販売されることが可能であること、及び本発明が前記販売を実際に実行するために使用される信号運搬媒体の特定の型式にかかわらず等しく適用することを認めるだろう。信号運搬媒体の例は、揮発性又は不揮発性メモリ装置、フロッピディスク、ハードディスクドライブ、ＣＤ−ＲＯＭ、及び（数ある中で）ＤＶＤのような記録可能型媒体、並びにデジタル及びアナログ通信リンクのような伝達型媒体を含むが、しかし限定されない。
【００３３】
次に図２は、ＤＳＰデータＲＡＭ１８におけるサンプルバッファ６１の１つに対するデータ構造を図示する。ＤＳＰコア１４と割込みアクセラレータ６０との間の競合を防ぐために、サンプルバッファ６１は、上半分７８及び下半分８０に分離され、各々が６４個の１６ビット・ワードの記憶域（例えば３２個のステレオペアのデータ）を持つ。割込みアクセラレータ６０は、データ構造７２（図２において描かれていない）に記憶された開始アドレス８２を参照することにより、特定のサンプルバッファ６１を配置する。割込みアクセラレータ６０は、７ビットオフセットレジスタ８４を参照することにより、サンプルバッファ６１における次のワードを配置する。ＤＳＰコア１４は、また、７ビットオフセットレジスタ８４に基づいて、どちらの半分７８、８０にアクセスするか決定することができる。
【００３４】
図２のサンプルバッファ６１として描かれている前記ドラムバッファが例示的であること、及び本開示から利益を得る当業者に明らかになるように、他の型式のデータ構造が使用されてもよいことは認められるだろう。例えば、１２８ワードの固定されたサンプルバッファ６１は、動的にサイズが割り当てられるバッファと交換されてもよい。もう１つの例として、固定されたサイズのサンプルバッファは、受容できる時間遅延及びＤＳＰコア１４の処理特性に依存して、より小さい又はより大きいサイズで使用されてもよい。
【００３５】
次に図３は、割込みアクセラレータ６０の特定の実施を図示する。割込み調停論理回路８６は、割込みアクセラレータコントローラ８８に対して各Ｉ／Ｏ割込みを配列することにより、Ｉ／Ｏインターフェース２６−２８からのＩ／Ｏ割込みに応答する。前記Ｉ／Ｏ割込みに応答して、コントローラ８８は、ＤＳＰコア１４及び／又はホスト２０により、バッファ６１−６８の開始アドレス及びＩ／Ｏ割込み可能設定について調節された構成レジスタ９０を参照する。コントローラ８８は、休止信号をＤＳＰコア１４に送信するため、及び休止した時に、ＤＳＰコア１４からの肯定応答信号を待ち受けるために、ＤＳＰバス制御論理回路９２を起動する。その後は、割込みアクセラレータコントローラ８８は、対応する前記Ｉ／Ｏレジスタに対し、適切に、読出し又は書込みするために、読出し／書込み制御回路９４を起動する。また、コントローラ８８は、複数のメモリ制御カウンタ９６の１つを起動し、各々のメモリ制御カウンタ９６は、データメモリ１８における適切な点を割り当てる時に、書込む又は読出すサンプルバッファに対応する開始アドレスに追加されている。
【００３６】
図３に対して記述された機能が、約２５０，０００個の論理ゲートから成る回路装置１０の総合的なサイズと比較して相対的に小さい量である約５０００個の論理ゲートと共に容易に達成され得ることは、本開示から利益を得る当業者に明らかになるだろう。
【００３７】
図４は、本発明による図３に示された割込みアクセラレータ６０の演算を図示している。特に、オーディオ・サンプル・アクセラレータ・ルーチン又はアルゴリズム１００が、１つ又はそれ以上の未処理のＩ／Ｏ割込みが保留であるかどうか、決定が下されるブロック１０２において開始することが図示されている。この決定は、多重Ｉ／Ｏ割込みが以前に配列された時と同様に、２つ又はそれ以上のＩ／Ｏ割込みが同時に受信され、１つ又はそれ以上が残るような状況を含む。
【００３８】
もしブロック１０２において、新しい又は以前に配列された割込みが検出されれば、１つ以上の新しいＩ／Ｏ割込みが受信される（ブロック１０６）かどうか、さらなる決定が下され、その場合、前記割込みは配列される（ブロック１０８）。もしブロック１０６において既に配列されていれば、又はブロック１０８において配列された後、処理されるＩ／Ｏ割込みは、ソース、例えば、Ｉ／Ｏインターフェース、前記Ｉ／Ｏインターフェースの読出し又は書込みチャネル、Ｉ／Ｏレジスタ、及び前記データメモリのサンプルバッファに関連付けられる（ブロック１１０）。
【００３９】
未処理のサンプルがメモリ内に転送されることになる記録モードが示されるか、又は処理されたサンプルがメモリから外に転送されることになる再生モードが示されるかを決定するために、ブロック１１２において、前記関連性が使用される。もしブロック１１２において記録モードが決定されれば、割り当てられた前記サンプルバッファにおける現在のアクセス点が参照される（ブロック１１４）。前記ＤＳＰは休止され、このことは、例示的実施において、前記ＤＳＰに向けた休止信号を含み、前記ＤＳＰが休止されることに肯定応答するまでの待機が後に続く。前記休止に肯定応答することは、前記割込みを受容する前に前記ＤＳＰが特定の仕事を完成するのを有利に可能にする。その後、前記未処理のサンプルは、前記Ｉ／Ｏ記録レジスタから前記サンプルバッファに移動される（ブロック１１８）。一度転送されると、前記休止信号は除去され、前記ＤＳＰを解放する（ブロック１２０）。前記サンプルバッファに転送されたサンプルの追跡はカウントされる（ブロック１２２）。この追跡は、次のメモリアドレスに対して、オフセットカウンタをインクリメントすることを伴ってもよい。ブロック１２２の後、制御は、他の外部Ｉ／Ｏ装置からの他のＩ／Ｏ割込みを処理するためにブロック１０２に戻る。
【００４０】
同様に、もしブロック１１２において、再生モードが示されれば、割り当てられた前記サンプルバッファにおける現在のアクセス点が参照される（ブロック１２４）。前記ＤＳＰは休止される（ブロック１２６）。その後、前記処理されたサンプルは、前記サンプルバッファから前記Ｉ／Ｏ記録レジスタに移動される（ブロック１２８）。一度転送されると、前記休止信号は除去され、前記ＤＳＰを解放する（ブロック１３０）。前記サンプルバッファから転送されたサンプルの追跡はカウントされる（ブロック１３２）。この追跡は、次のメモリアドレスに対して、前記オフセットカウンタをインクリメントすることを伴ってもよい。ブロック１３２の後、制御は、他の外部Ｉ／Ｏ装置からの他のＩ／Ｏ割込みを処理するためにブロック１０２に戻る。
【００４１】
もしブロック１０２において、これ以上処理されるべきＩ／Ｏ割込みは残っていないという決定が下されれば、制御はブロック１３４に移る。ブロック１３４において、最後のＤＳＰ割込みの後に、サンプルのブロックが、前記サンプルバッファの何れかの中へ転送されるのか、又は前記サンプルバッファの何れかから転送されるのか、決定が下される。特に、所定サンプル数が転送されるかどうか、決定が下される。例えば、前記サンプルバッファに対する前記オフセットカウンタは、これが前記サンプルバッファの他の半分にインクリメントされるかどうか見るために参照される。例示的な前記サンプルバッファが１２８個のアドレスを持つので、前記７ビットオフセットカウンタは、自動的に、前記サンプルバッファの他の半分の始めに進むだろう。もし前記サンプルバッファの半分（例えば３２対かそれ以上）が、前記ＤＳＰに対して利用することができるならば、前記ＤＳＰは割込まれ（ブロック１３６）、ルーチン１００は、追加のＩ／Ｏ割込みを処理するために次のサイクルまで待機する（ブロック１３８）。
【００４２】
使用において、割込みアクセラレータ６０は、デジタル信号プロセッサ１４を休止し、及び対応するＩ／Ｏレジスタ３４、３６、４２、４４、５２−５８とデータメモリ１８におけるサンプルバッファ６１−６８との間においてサンプルを転送することにより、Ｉ／Ｏインターフェース２６−２８からのＩ／Ｏ割込みに応答する。何れかの前記サンプルバッファ６１−６８の半分７８、８０が転送される時、割込みアクセラレータ６０は、デジタル信号プロセッサ１４に割込み、それにより前記半分７８、８０が使用されてもよい。その際、デジタル信号プロセッサ１４は、Ｉ／Ｏ装置と関連した、より少ない処理オーバーヘッドを持ち、従って、追加の信号処理演算を実行することができる。
【００４３】
本発明の精神及び範囲からはずれることなく、説明された実施例に様々な修正を行うことができる。例えば、オーディオサブシステム１２は、異なる数又は型式の外部Ｉ／Ｏ装置を含んでもよい。特に、ＭＩＤＩサンプルのようなサンプルは、前記ホストから生じてもよく、割込みアクセラレータ６０により、記録レジスタにどんな入力もせずに、再生レジスタに転送されてもよい。同様に、割込みアクセラレータ６０は、再生レジスタにどんな出力もせずに、記録レジスタにサンプルを転送してもよい。また、割込みアクセラレータが、外部Ｉ／Ｏ装置とのデータ転送による、ＤＳＰに対する割込みを最小化するために、他のどんなＤＳＰアプリケーションにおいても使用されることができるので、オーディオ処理における実施は単に模範に過ぎない。
【００４４】
他の修正は、本開示から利益を得る当業者に明らかになるだろう。従って、本発明は添付した請求項にある。
【図面の簡単な説明】
【図１】本発明による割込みアクセラレータを組み込むデジタル信号プロセッサ回路装置のブロック図である。
【図２】前記回路装置による信号処理に関連したサンプルの記憶を図示する、サンプルバッファに対するデータ構造のブロック図である。
【図３】図１の前記割込みアクセラレータのブロック図である。
【図４】図１の前記回路装置により使用されるオーディオ・サンプル・アクセラレータ・アルゴリズムを図示するフローチャートである。
【図１】
2004538544.tif 000003
【図２】
2004538544.tif 000004
【図３】
2004538544.tif 000005
【図４】
2004538544.tif 000006
【国際公開パンフレット】
2004538544.tif 000007
2004538544.tif 000008
2004538544.tif 000009
2004538544.tif 000010
2004538544.tif 000011
2004538544.tif 000012
2004538544.tif 000013
2004538544.tif 000014
2004538544.tif 000015
2004538544.tif 000016
2004538544.tif 000017
2004538544.tif 000018
2004538544.tif 000019
2004538544.tif 000020
2004538544.tif 000021
2004538544.tif 000022
2004538544.tif 000023
2004538544.tif 000024
【国際公開パンフレット（コレクトバージョン）】
2004538544.tif 000025
【国際調査報告】
2004538544.tif 000026
2004538544.tif 000027