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