(57)【特許請求の範囲】
【請求項１】
複数のソースから選択された命令を第１マルチプレクサに収集する段階と、
前記選択された命令のサイズを示すデータを第２マルチプレクサに収集する段階と、
前記選択された命令および前記選択された命令のサイズを示すデータをデコーダに提供する段階と、
から成ることを特徴とするプロセッサ内のデコーダへ命令を提供する方法。
【請求項２】
前記複数のソースから複数の命令を収集する段階をさらに含むことを特徴とする請求項１記載の方法。
【請求項３】
第３マルチプレクサに前記ソースの少なくとも１つからプリデコード情報を収集する段階と、
前記プリデコード情報を前記デコーダに提供する段階と、
をさらに含むことを特徴とする請求項１記載の方法。
【請求項４】
前記選択された命令のサイズに対応して前記デコーダへ幅ビットを送信する段階をさらに含むことを特徴とする請求項１記載の方法。
【請求項５】
前記複数のソースから前記命令のサイズに対応する複数の幅ビットを収集する段階をさらに含むことを特徴とする請求項１記載の方法。
【請求項６】
前記第２マルチプレクサ内で前記複数の幅ビットを収集する段階をさらに含むことを特徴とする請求項５記載の方法。
【請求項７】
優先順位スケジュールに基づいて前記選択された命令を決定する段階をさらに含むことを特徴とする請求項１記載の方法。
【請求項８】
デジタル信号プロセッサ内で前記命令を提供する段階をさらに含むことを特徴とする請求項１記載の方法。
【請求項９】
複数の命令ソースから複数の命令を第１マルチプレクサに収集する段階と、
前記複数の命令に対応する複数の幅ビットを第２マルチプレクサに収集する段階と、
前記複数の命令から処理すべき１つを決定する段階と、
前記複数の命令から選択された１つおよびそれに対応する幅ビットをデコーダへ転送する段階と、
から成ることを特徴とするプロセッサ内のデコーダで命令を取得する方法。
【請求項１０】
Ｉキャッシュ／整列ユニットから命令を収集する段階をさらに含むことを特徴とする請求項９記載の方法。
【請求項１１】
ループ・バッファから命令を収集する段階をさらに含むことを特徴とする請求項９記載の方法。
【請求項１２】
エミュレーション命令レジスタから命令を収集する段階をさらに含むことを特徴とする請求項９記載の方法。
【請求項１３】
デジタル信号プロセッサ内で命令を取得する段階をさら含むことを特徴とする請求項９記載の方法。
【請求項１４】
同一のフォーマットを有する前記複数の命令を収集する段階をさらに含むことを特徴とする請求項９記載の方法。
【請求項１５】
優先順位スケジュールに基づいて処理される前記命令を決定する段階をさらに含むことを特徴とする請求項９記載の方法。
【請求項１６】
複数の命令を提供する複数の命令ソースと、
前記複数の命令ソースから前記複数の命令を受信する第１マルチプレクサであって、前記第１マルチプレクサは前記複数の命令から実行すべき第１命令を選択する、第１マルチプレクサと、
前記第１マルチプレクサから前記選択された第１命令を受信するデコーダと、
前記命令ソースから前記命令のサイズを示す複数の信号を受信する第２マルチプレクサであって、前記第２マルチプレクサは前記選択された第１命令に対応する前記複数の信号の１つを前記デコーダに提供する、第２マルチプレクサと、
から構成されることを特徴とするプロセッサ。
【請求項１７】
前記ソースの少なくとも１つからプリデコード情報を示すプリデコード信号を受信する第３マルチプレクサをさらに含み、前記第３マルチプレクサは前記プリデコード信号を前記デコーダに提供する、
ことを特徴とする請求項１６記載のプロセッサ。
【請求項１８】
前記複数の命令の各々が同一のフォーマット内にあることを特徴とする請求項１６記載のプロセッサ。
【請求項１９】
前記デコーダが、前記第１マルチプレクサから前記選択された第１命令を直接受信することを特徴とする請求項１６記載のプロセッサ。
【請求項２０】
前記第１マルチプレクサが、優先順位スケジュールに基づいて前記複数の命令から実行されるべき第１命令を選択することを特徴とする請求項１６記載のプロセッサ。
【請求項２１】
前記プロセッサがデジタル信号プロセッサであることを特徴とする請求項１６記載のプロセッサ。
【請求項２２】
複数の命令を処理するマシン・システム内で使用するための機械読み取り可能な記憶媒体上に存在する命令を含む装置であって、前記命令によって前記マシンが、
複数のソースから命令を選択し、
前記命令を第１マルチプレクサに収集し、
前記選択された命令のサイズを示すデータを第２マルチプレクサに収集し、
前記選択された命令および前記選択された命令のサイズを示すデータを前記デコーダへ提供する、
ことを特徴とする装置。
【請求項２３】
前記マシンが前記複数のソースから複数の命令を収集することを特徴とする請求項２２記載の装置。
【請求項２４】
前記マシンが、
第３マルチプレクサに前記ソースの少なくとも１つからプリデコード情報を収集し、
前記プリデコード情報を前記デコーダに提供する、
ことを特徴とする請求項２３記載の装置。
【請求項２５】
前記命令のサイズに対応する複数の幅ビットが、前記複数のソースから収集されることを特徴とする請求項２２記載の装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はデジタル信号プロセッサに関し、さらに詳しくは、デコーダに命令を提供する複数のソースを有するデジタル信号プロセッサに関する。
【０００２】
【発明の背景】
デジタル信号処理は、デジタル形式の信号表現および数値演算を用いたかかる信号表現の変換または処理と関連する。デジタル信号処理は、ワイヤレス通信、ネットワーキング、マルチメディア等の分野における今日の多くの先端技術製品にとって核心となる技術である。デジタル信号処理技術が普及した理由の１つは、低価格でパワフルなデジタル信号プロセッサ（ＤＳＰ）が開発され、これが、これらの製品を安く効率的に生産するための信頼できる演算能力をエンジニアに提供したことである。最初のＤＳＰが開発されて以来、ＤＳＰのアーキテクチャや設計は、ビデオ伝送順序のような複雑なリアルタイム処理でさえ行なうことができる段階にまで発展した。
【０００３】
ＤＳＰは、デジタル・ビデオ、イメージング、オーディオのような様々なマルチメディア・アプリケーションにしばしば用いられる。ＤＳＰは、かかるマルチメディア・ファイルを作成して開くためのデジタル信号を操作する。
【０００４】
ＭＰＥＧ−１（Motion Picture Expert Group）、ＭＰＥＧ−２、ＭＰＥＧ−４およびＨ．２６３は、デジタル・ビデオ圧縮標準規格およびファイル形式である。これらの標準規格は、個々のフレーム全体を格納する代わりに、主としてあるビデオ・フレームから他のフレームへの変化を格納することにより、デジタル・ビデオ信号の高い圧縮率を達成する。ビデオ情報は、多くの異なる技術を用いて、さらに圧縮することができる。
【０００５】
ＤＳＰは、圧縮している間に、ビデオ情報に対して様々な動作を実行するために用いられる。これらの動作は、動き探索および空間補間アルゴリズムを含む。第１の目的は、隣接したフレーム内のブロック間の歪みを測定することである。これらの動作は演算が集中的であるので、高度なデータ処理能力が要求される。
【０００６】
標準規格のＭＰＥＧファミリーは、マルチメディア・アプリケーションおよびファイルの帯域幅を拡大する要求と歩調を合わせて発展している。標準規格の各新バージョンは、ＭＰＥＧ準拠のビデオ処理装置内で使用されるＤＳＰにさらに大きな処理要求を出すより複雑なアルゴリズムを提供する。
【０００７】
ビデオ処理装置の製造者は、ＭＰＥＧおよびＨ．２６３標準規格に従ってビデオ符号化のためにカスタマイズされた特定用途向け集積回路（ＡＳＩＣ）に依存することが多い。しかしながら、ＡＳＩＣは設計が複雑で、生産コストが高く、それらのアプリケーションにおいて汎用ＤＳＰよりも柔軟性がない。
【０００８】
【実施例の詳細な説明】
本発明のこれらおよび他の特徴および利点は、次の詳細な記述を読み、かつ、添付図面を参照することによって、さらに明らかになるだろう。
【０００９】
図１は、発明の実施例に従った、プロセッサを含むモバイル・ビデオ装置１００を示す。モバイル・ビデオ装置１００は、アンテナ１０５から、あるいは、デジタル・ビデオ・ディスク（ＤＶＤ）やメモリ・カードのようなデジタル・ビデオ記憶媒体１２０から受信した、符号化されたビデオ信号により生成されたビデオ画像を表示する携帯装置である。プロセッサ１１０は、プロセッサの動作のために命令およびデータを格納するキャッシュ・メモリ１１５と通信する。プロセッサ１１０は、マイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、スレーブＤＳＰを制御するマイクロプロセッサ、またはハイブリッド・マイクロプロセッサ／ＤＳＰアーキテクチャを備えたプロセッサでもよい。本アプリケーションにおいては、プロセッサ１１０は、以下ＤＳＰ１１０と呼ぶ。
【００１０】
ＤＳＰ１１０は、符号化されたビデオ信号によって、例えば、アナログ対デジタル変換、復調、フィルタリング、データ回復、符号解読等を含む様々な動作を行なう。ＤＳＰ１１０は、標準規格のＭＰＥＧファミリーおよびＨ．２６３標準規格のような種々のデジタル・ビデオ圧縮標準規格の１つによって圧縮したデジタル・ビデオ信号を解読する。そして、解読されたビデオ信号は、ディスプレイ１２５上にビデオ画像を生成するために、ディスプレイ・ドライバ１３０に入力される。
【００１１】
携帯装置は、一般的に電源による制約を受ける。さらに、ビデオ解読動作は演算が集中的である。従って、そのような装置内で使用されるプロセッサとしては、比較的高速で低電力の装置が好都合である。
【００１２】
ＤＳＰ１１０は、巧妙なパイプライン方式のロード／格納アーキテクチャを有する。パイプライン方式を用いることによって、ＤＳＰの性能は、パイプライン方式でないＤＳＰに比べて増強される。第１命令を取り出して第１命令を実行し、次に第２命令を取り出す代わりに、パイプライン方式のＤＳＰ１１０では、第１命令の実行と同時に第２の命令を取り出すので、これによって命令処理能力が改善する。さらに、パイプライン方式のＤＳＰのクロック・サイクルは、パイプライン方式でないＤＳＰより短く、そこで命令が同じクロック・サイクル内で取り出されて実行される。
【００１３】
このようなＤＳＰ１１０は、ビデオ・カムコーダ、電話会議、ＰＣビデオ・カード、および高品位テレビ（ＨＤＴＶ）に使用することができる。さらに、ＤＳＰ１１０は、モバイル電話方式、音声認識、および他のアプリケーション内で使用される音声処理のようなデジタル信号処理を利用する他の技術と関連して使用できる。
【００１４】
図２には、１つの実施例に従って、ＤＳＰ１１０を含む信号処理システム２００のブロック図が示される。１またはそれ以上のアナログ信号が、例えばアンテナ１０５のような外部ソースによって、シグナル・コンディショナ２０２に提供される。シグナル・コンディショナ２０２は、アナログ信号によって一定の前処理機能を実行する。典型的な前処理機能は、いくつかのアナログ信号を共に混合し、濾波し、増幅するなどの段階を含む。アナログ−デジタル変換器（ＡＤＣ）２０４は、上記のように、シグナル・コンディショナ２０２から前処理されたアナログ信号を受信し、かつ、前処理されたアナログ信号をサンプルから構成されるデジタル信号に変換するために結合される。サンプルは、シグナル・コンディショナ２０２によって受信されたアナログ信号の性質によって決定されるサンプリング率によって得られる。ＤＳＰ１１０は、ＡＤＣ２０４の出力でデジタル信号を受信するために結合される。ＤＳＰ１１０は、受信デジタル信号によって望ましい信号変換を実行し、１またはそれ以上の出力デジタル信号を生成する。デジタル−アナログ変換器（ＤＡＣ）２０６は、ＤＳＰ１１０から出力デジタル信号を受信するために結合される。ＤＡＣ２０６は、出力デジタル信号を出力アナログ信号に変換する。そして、出力アナログ信号は、他のシグナル・コンディショナ２０８に伝達される。シグナル・コンディショナ２０８は、出力アナログ信号によって後処理機能を実行する。典型的な後処理機能は、上記の前処理機能に類似する。シグナル・コンディショナ２０２，２０８、ＡＤＣ２０４およびＤＡＣ２０６については、他にも様々な手段が周知であることに注意されたい。これらの装置の適切なアレンジメントであれば、ＤＳＰ１１０を用いた信号処理システム２００への結合が可能である。
【００１５】
図３には、別の実施例に従った信号処理システム３００が示される。本実施例において、デジタル受信機３０２は、１またはそれ以上のデジタル信号を受信し、かつ、ＤＳＰ１１０に受信デジタル信号を伝達するために配置される。図２に示される実施例のように、ＤＳＰ１１０は、受信デジタル信号によって望ましい信号変換を実行し、１またはそれ以上の出力デジタル信号を生成する。
デジタル信号送信機３０４は、出力デジタル信号を受信するために結合される。１つの典型的なアプリケーションにおいて、信号処理システム３００はデジタル・オーディオ装置であり、そこでデジタル受信機３０２が、ＤＳＰ１１０へ、デジタル記憶装置１２０上に格納されたデータを示すデジタル信号を伝える。次に、ＤＳＰ１１０は、デジタル信号を処理し、結果としての出力デジタル信号をデジタル送信機３０４に伝達する。そして、デジタル送信機３０４は、出力デジタル信号の値を、ディスプレイ１２５上にビデオ画像を生成するディスプレイドライバ１３０に送信する。
【００１６】
図４に図示されたパイプラインは８つのステージを含み、それは、命令取り出し４０２−４０３、デコード４０４、アドレス演算４０５、実行４０６−４０８、および書き戻し４０９のステージを含む。命令ｉがあるクロック・サイクルで取り出され、そして、例えばｉ＋１、ｉ＋２のような新たな命令を取り出すと同時に、次のクロック・サイクルでパイプライン上で動作され、実行される。
【００１７】
パイプライン方式は、プロセッサの性能に、追加の協調問題やハザードをもたらすことがある。プログラムの流れにおけるジャンプは、パイプライン内に空スロットまたは「バブル」を生成する。条件付き分岐を生じたり、例外や中断を発生する状況は、命令の連続的な流れを変更する。それらが発生した後は、新しい命令は、連続的なプログラム流れの外で取り出され、パイプライン内の残りの命令を無関係にする。データ・フォワーディング、分岐予測、パイプライン内の命令アドレスと有効なビットを関連付けるといった方法が、これらの複雑さに対処するために用いられることがある。
【００１８】
図５は、本発明の１つの実施例に従った、複数のソースのデコーダ提供システム５００のブロック図である。デコーダ提供システム５００は、命令レジスタ５０７、ループ・バッファ５１０、エミュレーション命令レジスタ５１５、および他のソース５２０を有するＩキャッシュ／整列ユニット５０５、６４ビット・マルチプレクサ（ＭＵＸ）５２５、２ビット・マルチプレクサ（ＭＵＸ）５３０、およびデコーダ５３５のような複数のソースを含む。デコーダ提供システム５００は、命令レジスタ５０７へデータを転送することなく、複数のソースの１つによってデコーダ５３５に直接提供されることを可能にする。この特定の実施例では、データは命令レジスタ５０７へ転送される必要がないので、命令レイテンシが減少し、ＤＳＰ１１０の性能が向上する。さらに、複数のソースは、幅ビットを含む同一フォーマットを有する命令を提供する。デコーダ５３５の設計は、複数のソースが同様にフォーマットされた命令を提供することを保証することによって単純化でき、それによって、サイクル時間を改善する。
【００１９】
Ｉキャッシュ／整列ユニット５０５、ループ・バッファ５１０、エミュレーション命令レジスタ５１５、または他のソース５２０は、６４ビットＭＵＸ５２５および２ビットＭＵＸ５３０の双方に結合される。これらの各ソースは、１６ビット、３２ビット、または６４ビットの命令のような複数の幅の命令を提供する。これらの命令は、６４ビットＭＵＸ５２５に提供される。もちろん、他のサイズの命令を処理できる他のサイズのＭＵＸも、本発明の精神から逸脱しない限り使用できる。各ソースはまた、６４ビットＭＵＸ５２５に提供される命令の幅を示す２ビットＭＵＸ５３０に信号を提供する。２ビットの信号で、２ビットの幅信号のための４つの値が可能である。例えば、００の幅ビットは、命令が無効であることを示し、０１の幅ビットは１６ビットの命令を示し、１０の幅ビットは３２ビットの命令を示し、１１の幅ビットは６４ビットの命令を示す。一旦特定の命令ソースが選択されると、６４ビットＭＵＸ５２５からの命令、および、そのソースからの２ビットＭＵＸ５３０からの幅ビットの双方は、処理するためにデコーダ５３５へ転送される。
【００２０】
２つのマルチプレクサ５２５，５３０が図示されているが、追加情報の選択を可能にするために、いかなる数のマルチプレクサでも使用できることが理解されるであろう。例えば、追加のマルチプレクサは、ソース５０５−５２０の各々からプリデコード情報を受信して、適切なプリデコード情報をデコーダへ送ることができる。
【００２１】
デコーダ５３５に命令を提供するプロセス６００が、図６に示される。プロセス６００は、スタート・ブロック６０５で始まる。ブロック６１０へ進むと、そこでは、１またはそれ以上のソースが命令および対応する幅ビットをＭＵＸ５２５，５３０に提供する。上述のように、命令は、１６ビット、３２ビットまたは６４ビットを含む様々なサイズである。命令は、ただ１つのソースによって提供されてもよいが、命令や対応する幅ビットは、２またはそれ以上のソースによって提供されてもよい。
【００２２】
ブロック６１５へ進むと、そこでは、命令を提供するソースが選択される。ＤＳＰ１１０は、次の命令が、Ｉキャッシュ／整列ユニット５０５、ループ・バッファ５１０、エミュレーション命令レジスタ５１５または他のソース５２０のいずれによって提供されるのかを決定する。ＤＳＰ１１０がデコーダ５３５に送る命令を決定した後、ＭＵＸ５２５，５３０がデコーダ５３５へ適切な命令および幅ビットを提供する。
【００２３】
ブロック６２０へ進むと、そこでは、選択された命令および幅ビットが、命令レジスタ５０７に格納されずに、直接デコーダ５３５へ転送される。デコーダ５３５に命令を直接転送することによって、命令レイテンシが減少し、性能が向上する。その後、デコーダ５３５が命令を実行する。そして、本プロセスはエンド・ブロック６３０で終了する。
【００２４】
本発明のマルチプレクサ５２５，５３０は、選択された命令ソース５０５−５２０に基づいてデコーダ５３５に適切な情報を提供する。しかしながら、複数のソース５０５−５２０が選択された場合、マルチプレクサ５２５，５３０は、デコーダ５３５への情報提供を制御するためにプライオリティ論理を含むことがある。例えば、マルチプレクサ５２５，５３０は、エミュレーション命令レジスタ５１５からの情報が最優先であるとか、Ｉキャッシュ／整列ユニット５０５からの情報がループ・バッファ５１０からの情報より優先して処理されるといったことを記述するプライオリティ論理を含む。優先順位スケジュールは、処理全般にわたって予め決定され、または更新される。
【００２５】
本発明の多くの変更や修正が、当業者にとって直ちに明らとなるであろう。従って、本発明は、その精神または本質的特徴から逸脱しない限り、他の特定の形で具体化することができる。
【図面の簡単な説明】
【図１】  本発明の１つの実施例に従ったプロセッサを利用するモバイル・ビデオ装置のブロック図である。
【図２】  本発明の実施例に従った信号処理システムのブロック図である。
【図３】  本発明の実施例に従った他の信号処理システムのブロック図である。
【図４】  本発明の実施例に従った図１中のプロセッサの典型的なパイプライン・ステージを図示する。
【図５】  本発明の１つの実施例に従った複数のソース・デコーダ・フィード・システムのブロック図である。
【図６】  本発明の１つの実施例に従った、複数のソースからデコーダへ選択された命令を提供するプロセスを図示する。
【図１】
0003704519.tif 000002
【図２】
0003704519.tif 000003
【図３】
0003704519.tif 000004
【図４】
0003704519.tif 000005
【図５】
0003704519.tif 000006
【図６】
0003704519.tif 000007