(57)【要約】  スカラーおよびベクトル演算用の連結された条件コードレジスタを有するレジスタファイルを含む処理装置を開示する。この処理装置は、スカラーおよびベクトル演算用の連結された条件コードレジスタを利用する。さらに、比較演算は、連結された条件コードレジスタに結果ビットを格納することができ、また条件演算は、条件を評価するために連結された条件コードレジスタのビットを利用することができる。
2010501937.tif 000002
【特許請求の範囲】
【請求項１】
スカラーおよびベクトル演算用の連結された条件コードレジスタを含む制御レジスタと、
前記連結された条件コードレジスタを利用するスカラーおよびベクトル命令を実行するための少なくとも１つの命令実行ユニットと
を備える、処理装置。
【請求項２】
メモリユニットと、
前記メモリユニットに応答するシーケンサと
をさらに備え、
前記少なくとも１つの命令実行ユニットがシーケンサに応答する、
請求項１に記載の処理装置。
【請求項３】
前記メモリユニットが、
前記連結された条件コードレジスタを利用するスカラー演算用命令と、
前記連結された条件コードレジスタを利用するベクトル演算用命令と
を含む、請求項２に記載の処理装置。
【請求項４】
前記スカラー演算がスカラー比較演算である、請求項３に記載の処理装置。
【請求項５】
前記ベクトル演算がベクトル比較演算である、請求項３に記載の処理装置。
【請求項６】
スカラーおよびベクトル演算用の４個の８ビットの連結された条件コードレジスタをさらに備える、請求項２に記載の処理装置。
【請求項７】
前記スカラー演算が、前記連結された条件コードレジスタに基づき条件付きで実行される、請求項３に記載の処理装置。
【請求項８】
前記スカラー演算が、前記連結された条件コードレジスタを入力として使用する、請求項３に記載の処理装置。
【請求項９】
ベクトル演算が、前記連結された条件コードレジスタに基づき条件付きで実行される、請求項３に記載の処理装置。
【請求項１０】
ベクトル比較演算が、前記連結された条件コードレジスタを使用して、ベクトル比較演算の結果を格納する、請求項１に記載の処理装置。
【請求項１１】
前記ベクトル演算が、６４ビットのベクトルマルチプレクサー命令であり、前記連結された条件コードレジスタが、８ビットレジスタである、請求項１０に記載の処理装置。
【請求項１２】
前記ベクトル演算が、各要素の結果を４つの連結された条件コードレジスタビットに複写するワード比較演算である、請求項３に記載の処理装置。
【請求項１３】
ベクトル演算用の命令を、ループアルゴリズムの代わりに使用することができる、請求項２に記載の処理装置。
【請求項１４】
前記制御レジスタが、ループレジスタ、修飾レジスタ、ユーザ状態レジスタ、プログラムカウンターレジスタ、およびユーザ汎用ポインターレジスタを含む、請求項１に記載の処理装置。
【請求項１５】
マルチスレッディングが、プログラムスレッドと関連した命令を処理するために利用されて、並列演算を実行する、請求項６に記載の処理装置。
【請求項１６】
パイプライン処理を利用して、命令を処理する、請求項６に記載の処理装置。
【請求項１７】
前記少なくとも１つの命令実行ユニットが、バイト、ハーフワード、ワード、およびダブルワードで演算を実行する、請求項６に記載の処理装置。
【請求項１８】
連結されたスカラーおよびベクトル条件コードレジスタを使用して比較演算用命令を実行し、
前記連結されたスカラーおよびベクトル条件コードレジスタを使用して条件演算用命令を実行すること、
を備える、データ処理方法。
【請求項１９】
前記比較演算がスカラー比較演算である、請求項１８に記載の方法。
【請求項２０】
命令実行ユニットにおいてスカラー比較演算用命令を受信し、
前記スカラー比較演算の結果を前記連結されたスカラーおよびベクトル条件コードレジスタに格納すること、
をさらに備える、請求項１９に記載の方法。
【請求項２１】
前記条件演算がスカラー条件演算である、請求項１８に記載の方法。
【請求項２２】
命令実行ユニットにおいてスカラー条件演算用命令を受信し、
前記連結されたスカラーおよびベクトル条件コードレジスタから少なくとも１つの条件コードビットを評価し、
前記スカラー条件演算用命令を実行すべきであるかどうかを決定し、
前記決定に応じて、前記スカラー条件演算の結果をレジスタに格納すること、
をさらに備える、請求項２１に記載の方法。
【請求項２３】
前記比較演算がベクトル比較演算である、請求項１８に記載の方法。
【請求項２４】
命令実行ユニットにおいてベクトル比較演算用命令を受信し、
前記ベクトル比較演算の結果を前記連結されたスカラーおよびベクトル条件コードレジスタに格納すること、
をさらに備える、請求項２３に記載の方法。
【請求項２５】
前記条件演算がベクトル条件演算である、請求項１８に記載の方法。
【請求項２６】
命令実行ユニットにおいてベクトル条件演算用命令を受信し、
前記連結されたスカラーおよびベクトル条件コードレジスタからの少なくとも１つの条件コードビットを、前記ベクトル条件演算で使用し、
前記ベクトル条件演算の結果をレジスタに格納すること、
をさらに備える、請求項２５に記載の方法。
【請求項２７】
前記条件演算がベクトル条件演算である、請求項１９に記載の方法。
【請求項２８】
連結された条件コードレジスタを使用してスカラー演算を実行するための命令と、
前記連結された条件コードレジスタを使用してベクトル演算を実行するための命令と、
を備える、処理装置用命令セット。
【請求項２９】
前記スカラー演算を実行するための前記命令が、スカラー比較演算である、請求項２８に記載の命令セット。
【請求項３０】
前記スカラー演算を実行するための前記命令が、スカラー条件演算である、請求項２８に記載の命令セット。
【請求項３１】
前記ベクトル演算を実行するための前記命令が、ベクトル比較演算である、請求項２８に記載の命令セット。
【請求項３２】
前記ベクトル演算を実行するための前記命令が、ベクトル条件演算である、請求項２８に記載の命令セット。
【請求項３３】
スカラーおよびベクトル演算用の連結された条件コードレジスタと、
スカラーおよびベクトル条件演算に適したベクトルマルチプレクサー演算を実行するための実行ユニットと、
を備える、処理装置。
【請求項３４】
アンテナと、
前記アンテナに動作可能に接続された送受信機と、
メモリユニットと、
前記メモリユニットに連結され、前記送受信機に応答するディジタルシグナルプロセッサと
を備える無線通信装置であって、
前記ディジタルシグナルプロセッサが、
スカラーおよびベクトル演算用の連結された条件コードレジスタを含む制御レジスタと、
前記連結された条件コードレジスタを利用するスカラーおよびベクトル命令を実行するための少なくとも１つの命令実行ユニットと
を含む、無線通信装置。
【請求項３５】
前記ディジタルシグナルプロセッサに連結された音声コーダ／デコーダ（ＣＯＤＥＣ）と、
前記ディジタルシグナルプロセッサに連結されたＢｌｕｅｔｏｏｔｈコントローラと、
前記Ｂｌｕｅｔｏｏｔｈコントローラに連結されたＢｌｕｅｔｏｏｔｈアンテナと、
前記ディジタルシグナルプロセッサに連結された無線ローカルエリアネットワークメディアアクセス制御（ＷＬＡＮ  ＭＡＣ）ベースバンドプロセッサと
をさらに備える、請求項３４に記載の携帯通信装置。
【請求項３６】
前記ディジタルシグナルプロセッサに連結されたステレオコーダ／デコーダ（ＣＯＤＥＣ）と、
前記ディジタルシグナルプロセッサに連結された８０２．１１コントローラと、
前記８０２．１１コントローラに連結された８０２．１１アンテナと、
前記ディジタルシグナルプロセッサに連結されたＢｌｕｅｔｏｏｔｈコントローラと、
前記Ｂｌｕｅｔｏｏｔｈコントローラに連結されたＢｌｕｅｔｏｏｔｈアンテナと、
前記ディジタルシグナルプロセッサに連結された汎用シリアルバス（ＵＳＢ）コントローラと、
前記ＵＳＢコントローラに連結されたＵＳＢポートと
をさらに備える、請求項３４に記載の携帯通信装置。
【請求項３７】
ディジタルシグナルプロセッサと、
前記ディジタルシグナルプロセッサに連結されたオーディオコーダ／デコーダ（ＣＯＤＥＣ）と、
前記ディジタルシグナルプロセッサに連結されたマルチメディアカードと、
前記ディジタルシグナルプロセッサに連結された汎用シリアルバス（ＵＳＢ）ポートと
を備える、オーディオファイルプレーヤであって、
前記ディジタルシグナルプロセッサが、
スカラーおよびベクトル演算用の連結された条件コードレジスタを含む制御レジスタと、
前記連結された条件コードレジスタを利用するスカラーおよびベクトル命令を実行するための少なくとも１つの命令実行ユニットと
を備える、オーディオファイルプレーヤ。
【請求項３８】
連結された条件コードレジスタを利用するスカラー演算を実行するための命令を実行するための手段と、
前記連結された条件コードレジスタを利用するベクトル演算を実行するための命令を実行するための手段と
を備える、処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般にはデータ処理システムおよび方法に関し、より詳細には、ベクトルおよびスカラー演算を処理するシステムおよび方法に関する。
【背景技術】
【０００２】
技術の進歩により、より小型かつより強力な個人用計算装置が生み出されてきている。例えば、小型、軽量かつ利用者による持ち運びが容易な、携帯無線電話機、携帯情報端末（ＰＤＡ）およびページング装置のような無線計算装置を含む、さまざまな携帯個人用計算装置が現存する。より詳細には、携帯電話機およびＩＰ電話機のような、携帯無線電話機は、無線ネットワークを通じて音声およびデータパケットを伝達することができる。さらに、多くのこのような無線電話機は、本明細書中に包含される他の型式の装置を含む。例えば、無線電話機はまた、ディジタルスチルカメラ、ディジタルビデオカメラ、ディジタルレコーダ、およびオーディオファイルプレーヤを含むことができる。また、このような無線電話機は、インターネットにアクセスするために使用可能なＷｅｂインタフェースを含むことができる。このように、これらの無線電話機は、相当な計算能力を含む。
【０００３】
一般に、これらの装置は、より小型にかつより強力になるので、ますます資源の制約を受けることになる。例えば、画面サイズ、利用可能なメモリおよびファイルシステム空間量、並びに入出力能力の量は、装置サイズの小ささにより制限される可能性がある。さらに、バッテリーサイズ、バッテリーにより供給される電力量、およびバッテリー寿命もまた制限される。装置のバッテリー寿命を増すための１つの方法は、電力消費が少ない処理装置を設計することである。
【０００４】
ある種の処理装置は、ベクトル処理用のベクトルアーキテクチャを用いる。ベクトルアーキテクチャを有する処理装置は、ベクトル、すなわち線形データアレイ上で動作する高水準演算を提供する。ベクトル処理は、命令を一度読み出し、次いで異なるデータで複数回命令を実行する。このことは、他の要因も含めて、各命令を読み出す必要回数が少ないので、プログラムを実行するために必要とされるエネルギーを削減することを可能とする。さらに、ベクトルアーキテクチャを有する処理装置は、通常、複数の演算を同時に実行し、演算の並列性を生み出すことを可能とする。
【０００５】
一方、他の型式の処理装置は、スカラー処理用のスカラーアーキテクチャを用いる。スカラー処理は、命令が実行される度に命令およびデータを読み出す。命令を複数回実行する必要があるループを実行する際、スカラーアーキテクチャを有する処理装置は、複数回命令を読み出すことになる。
【０００６】
ベクトル処理は、大量のデータセットを実行するために同一の演算が必要とされる仕事に対して望ましい。しかしながら、ベクトルアーキテクチャを有する処理装置は、スカラー状態を考慮しない、またはスカラー結果を生じない。スカラー演算は、複数の動画ストリームを操作することが予想される動画装置中のように、処理装置がリニアスケーリング（linear scaling）処理能力要件を有するときに有用である。この理由により、既存の処理装置は、マルチメディア処理のためにスカラーアーキテクチャを使用する。並列性の欠如のため、この手法は、処理装置が非常に高速に走行することを必要とし、電力消費の点で非効率である。
【０００７】
したがって、スカラー状態を考慮したベクトル演算の改善された処理システムおよび処理方法を提供することが有利であろう。
【発明の概要】
【０００８】
処理装置が開示され、この処理装置は、スカラーおよびベクトル演算用の連結された条件コードレジスタを含む制御レジスタと、その連結された条件コードレジスタを利用するスカラーおよびベクトル命令を実行するための少なくとも１つの命令実行ユニットとを含む。
【０００９】
特定の実施形態では、処理装置は、メモリユニットと、そのメモリユニットに応答するシーケンサとを含む。命令実行ユニットは、シーケンサに応答する。さらに、別の特定の実施形態では、処理装置は、連結された条件コードレジスタを利用するスカラー演算用命令と、連結された条件コードレジスタを利用するベクトル演算用命令とを有するメモリユニットを含む。さらに別の実施形態では、処理装置は、スカラー比較演算を含む。別の実施形態では、処理装置は、ベクトル比較演算を含む。
【００１０】
さらに別の実施形態では、処理装置は、連結された条件コードレジスタに基づき条件付きで実行されるスカラー演算を含む。別の実施形態では、処理装置は、連結された条件コードレジスタを入力として使用するスカラー演算を含む。
【００１１】
さらに別の実施形態では、処理装置は、連結された条件コードレジスタ中の結果に基づき条件付きで実行されるベクトル演算を含む。特定の実施形態では、処理装置は、ベクトル比較演算の結果を格納するために、連結された条件コードレジスタを使用するベクトル比較演算を含む。
【００１２】
特定の実施形態では、処理装置は、バイト、ハーフワード、ワード、およびダブルワードで演算を実行する命令実行ユニットを含む。
【００１３】
本明細書中に開示された実施形態の１つまたは複数の利点は、処理装置の処理能力を実質的に改善することを含むことができる。別の利点は、処理装置の電力使用をより少なくすることを含むことができる。
【００１４】
本開示の他の態様、利点および特徴は、以下のセクション、すなわち、図面の簡単な説明、発明を実施するための形態および特許請求の範囲を含む、本出願全体を吟味した後に明らかになろう。
【００１５】
本明細書中に記載された実施形態の態様および利点は、添付の図面と関連付けられた以下の詳細な説明を参照することによって、より速やかに明らかになろう。
【図面の簡単な説明】
【００１６】
【図１】例示的ディジタルシグナルプロセッサのブロック図。
【図２】例示的命令の概略図。
【図３】ベクトル比較命令の概略図。
【図４】ベクトルハーフワード比較命令の概略図。
【図５】ベクトルマルチプレクサー命令の概略図。
【図６】スカラー演算を実行する方法の流れ図。
【図７】スカラー条件演算を実行する方法の流れ図。
【図８】ベクトル演算を実行する方法の流れ図。
【図９】ベクトル条件演算を実行する方法の流れ図。
【図１０】ディジタルシグナルプロセッサを内蔵した携帯通信装置のブロック図。
【図１１】ディジタルシグナルプロセッサを内蔵した例示的携帯電話のブロック図。
【図１２】ディジタルシグナルプロセッサを内蔵した例示的無線ＩＰ電話のブロック図。
【図１３】ディジタルシグナルプロセッサを内蔵した例示的携帯情報端末のブロック図。
【図１４】ディジタルシグナルプロセッサを内蔵した例示的オーディオファイルプレーヤのブロック図。
【発明を実施するための形態】
【００１７】
図１は、処理装置１００の例示的、非制限の実施形態のブロック図を示す。特定  の実施形態では、処理装置１００は、幅広いさまざまな信号、画像および動画処理アプリケーションに渡る高処理能力および低電力用の汎用目的ＤＳＰのような、ディジタルシグナルプロセッサ（ＤＳＰ）である。
【００１８】
特定の実施形態では、処理装置１００は、スカラー命令セットをＤＳＰ専用命令セットと結び付ける。このような実施形態では、処理装置１００は、固定小数点データの演算を提供する縮小命令セットコンピュータ（ＲＩＳＣ）命令セットと同様な、完全かつ直交したスカラー命令セットを含む。スカラー命令は、より大きな柔軟性およびパフォーマンスを達成するために直交かつＲＩＳＣに似たものであるように設計される。さらに、処理装置１００は、さまざまなＤＳＰ演算を提供するためのベクトル命令セットを含む。該組み合わせは、信号処理アプリケーションのための豊富な演算セットを提供する。
【００１９】
特定の実施形態では、処理装置１００は、固定小数点データの演算、分数スケーリング（fractional scaling）、飽和、丸め、単精度、倍精度、複素数、ベクトルハーフワード(vector half-word)、およびベクトルバイト演算を含むＭタイプ演算をサポートする。特定の実施形態では、処理装置１００は、スカラーシフト、ベクトルシフト、順序置換（permute）、ビット操作、および述語（predicate）演算を含む、Ｓタイプ演算をサポートする。特定の実施形態では、処理装置１００は、算術論理演算ユニット（ＡＬＵ）、順序置換、ベクトルバイト、ベクトルハーフワード、およびベクトルワード演算を含む、ＡＬＵ６４演算をサポートする。特定の実施形態では、処理装置１００は、加算、減算、３２ビットデータ上の飽和なしの否定、スカラー３２ビット比較、ハーフワード連結、ワード連結、ハーフワードシフト、マルチプレクサー（ＭＵＸ）、ノーオペレーション（Ｎｏｐ）、符号およびゼロ拡張バイトおよびハーフワード、並びに転送（transfer）、即値（immediate）およびレジスタを含む、ＡＬＵ３２演算をサポートする。特定の実施形態では、処理装置１００は、制御レジスタ転送命令のような制御レジスタ演算をサポートする。
【００２０】
図１に示すように、処理装置１００は、バス１０６を介してシーケンサ１０４に連結されたメモリ１０２を含む。特定の実施形態では、メモリ１０２は、ユニファイドメモリモデル(unified memory model)である。特定の実施形態では、バス１０６は、１２８ビットバスであり、またシーケンサ１０４は、メモリ１０２から３２ビット長の命令を検索するように構成される。シーケンサ１０４は、第１の命令実行ユニット１３６、第２の命令実行ユニット１３８、第３の命令実行ユニット１４０、および第４の命令実行ユニット１４２に連結される。図１は、各命令実行ユニット１３６、１３８、１４０、１４２が、汎用レジスタファイル１４４に連結することができることを示す。汎用レジスタファイル１４４はまた、制御レジスタファイル１１０およびメモリ１０２に連結することができる。
【００２１】
特定の実施形態では、汎用レジスタファイル１４４は、単一のレジスタとして、または６４ビット対アライン(aligned 64-bit pairs)としてアクセスすることができる、３２個の３２ビットレジスタを保持する単一のユニファイドレジスタファイル(unified register file)である。特定の実施形態では、汎用レジスタファイル１４４は、ポインター、スカラー、ベクトルおよびアキュムレータデータを保持する。汎用レジスタ１４４は、アドレス生成、スカラー演算、ベクトル演算を含む汎用目的計算のために使用することができる。特定の実施形態では、汎用レジスタファイルは、ロード／ストア用アドレス、数値命令用データオペランド、およびベクトル命令用ベクトルオペランドを含む命令用オペランドを提供する。
【００２２】
特定の実施形態では、メモリ１０２は、データおよび命令の両者を保持する単一の３２ビットアドレス空間を有するユニファイドバイトアドレス可能メモリ(unified byte-addressable memory)であり、メモリ中の最下位アドレスのバイトが、レジスタの最下位バイト中に保持されるリトルエンディアンモード（Little Endian Mode）で動作する。動作中、シーケンサ１０４は、メモリ１０２から命令を読み出すことができる。
【００２３】
処理装置１００の動作中、命令は、メモリ１０２からシーケンサ１０４により読み出され、指定された命令実行ユニット１３６、１３８、１４０、１４２に送信され、命令実行ユニット１３６、１３８、１４０、１４２において実行される。命令は、スカラーおよびベクトル命令、例えばスカラーおよびベクトル比較演算、スカラー条件演算およびベクトルマルチプレクサー演算を含むことができる。特定の実施形態では、シーケンサ１０４は、同時に４個の３２ビット命令を読み出し、４個の命令を並列に命令実行ユニット１３６、１３８、１４０、１４２に発行することができる。命令は、並列実行のためにさまざまな型の１から４個の命令のパケットにグループ化することができる。可変長のパケットは、自由にプログラム中に混在させることができる。各命令実行ユニット１３６、１３８、１４０、１４２の結果は、汎用レジスタファイル１４４に書き出すことができる。特定の実施形態では、処理装置１００は、２つの６４ビットのダブルワードを各サイクルでメモリからレジスタに移動することをサポートする。
【００２４】
特定の実施形態では、処理装置１００は、コンパイラーの必要性およびＤＳＰアプリケーションの必要性の両者に合わせたアドレスモードの完全なセットを特徴とするロード／ストアアーキテクチャを有する。線形の循環バッファーおよびビット反転アドレッシング(bit reversed addressing)をサポートすることができる。ロードおよびストアは、バイト（８ビット）、ハーフワード（１６ビット）、ワード（３２ビット）およびダブルワード（６４ビット）に符号付けまたは符号なしとすることができる。特定の実施形態では、処理装置１００は、２つの並列ロードまたは並列の１つのロードおよび１つストアをサポートする。
【００２５】
特定の実施形態では、命令実行ユニット１３６は、ベクトルシフト／順序置換／算術論理演算ユニット（ＡＬＵ）ユニットであり、命令実行１３８は、ベクトル乗算／ＡＬＵユニットであり、命令実行１４０は、ロード／ＡＬＵユニットであり、また命令実行ユニット１４２は、ロード／ストア／ＡＬＵユニットである。
【００２６】
特定の実施形態では、３２ビット制御レジスタのセットは、特別目的の機能へのアクセスを提供する。制御レジスタは、制御レジスタファイル１１０のような単一の制御レジスタファイルに論理的にグループ分けすることができる。これらの制御レジスタは、スカラーおよびベクトル演算の結果を保持することができる、プリディケートレジスタ（predicate register）１２０のような連結されたプリディケートレジスタを含むことができる。プリディケートレジスタは、条件コードレジスタと同義である。制御レジスタファイル１１０はまた、ループレジスタ１１２、１１４、１１６、１１８、修飾子レジスタ(modifier register)１２４、１２６、ユーザステータスレジスタ（ＵＳＲ）１２８、プログラムカウンター（ＰＣ）レジスタ１３０およびユーザ汎用ポインターレジスタ１３２を含むことができる。特定の実施形態では、制御レジスタファイル１１０は、予約レジスタ(reserved register)１２２および１３４のような予約レジスタを含む。特定の実施形態では、命令は、制御レジスタファイル１１０と汎用レジスタファイル１４４間でレジスタを転送することができる。特定の実施形態では、プリディケートレジスタ１２０は、４個の８ビットプリディケートレジスタである。
【００２７】
特定の実施形態では、比較命令は、図６および図８に関して以下に説明されるように、プリディケートレジスタ１２０にビットを設定することができる。比較命令は、プリディケートレジスタ１２０に比較演算の結果を格納することができる。特定の実施形態では、比較命令は、ベクトルおよびスカラー比較命令を含む。スカラー比較命令は、直接比較およびレジスタ間比較の両形式で実行可能である。
【００２８】
特定の実施形態では、プリディケートレジスタ１２０に格納されたビットは、図７および図８に関して説明されるように、特定の命令を条件付きで実行するために使用することができる。特定の実施形態では、比較命令の結果は、プリディケートレジスタ１２０の１つに格納され、次いで条件命令用の条件ビットとして使用される。例えば、分岐命令およびマルチプレクサー（ＭＵＸ）命令のようなベクトル命令は、プリディケートレジスタ１２０の主要な消費者である。しかしながら、特定のスカラー命令はまた、条件ビットとしてプリディケートレジスタ１２０に格納されたビットを使用することができる。特定の実施形態では、プリディケートレジスタ１２０を使用するスカラー演算は、最下位ビットのみを検査するが、ベクトル演算は、より多くのビットを検査する。
【００２９】
例えば、特定の実施形態では、無条件ジャンプ(jump-to-address)、レジスタ指定無条件ジャンプ(jump-to-address-from-register)、サブルーチンコール、およびレジスタ指定サブルーチンコールのような命令は、プリディケートレジスタ１２０に格納されたビットを使用する。無条件ジャンプ命令およびレジスタ指定無条件ジャンプ命令は、プログラムの流れを変更するために使用される。サブルーチンコール命令およびレジスタ指定サブルーチンコール命令は、プログラムの流れをサブルーチンに変更するために使用される。
【００３０】
特定の実施形態では、処理装置１００は、プリディケートレジスタ１２０を操作しかつ移動させるための命令セットを有する。命令は、ＡＮＤ、ＯＲ、ＮＯＴ、およびＸＯＲを含む論理命令を含む。さらに、含まれるさらなる命令は、述語論理圧縮（logical-reductions-on-predicates）を含む。第１の述語論理圧縮命令は、ソースプリディケートレジスタ中の下位８ビットのいずれかが、設定されている場合に、述語目的レジスタを０ｘｆｆに設定し、そうでない場合０ｘ００に設定する。別の命令はソースプリディケートレジスタ中の下位８ビットのすべてが、設定されている場合に、述語目的レジスタを０ｘｆｆに設定し、そうでない場合０ｘ００に設定する。
【００３１】
特定の実施形態では、処理装置１００は、オーバーヘッドゼロのハードウェアループをサポートする。使用上非常に制限の少ない２組のネスト可能なループマシンがある。ソフトウェア分岐は、予測分岐機構(predicated branch mechanism)を通じて動作する。明示的比較命令は、予測ビットを生成する。生成されたビットは、条件分岐命令で使用される。条件ジャンプおよび無条件ジャンプ、並びにサブルーチン呼び出しは、ＰＣ相対(PC-relative)およびレジスタ間接の両方の形でサポートされる。
【００３２】
特定の実施形態では、処理装置１００は、処理装置１００が、第１の命令が完了する前に第２の命令を実行することを開始する、パイプライン処理をサポートする。
【００３３】
図２は、処理装置１００により実行されうる例示的命令、ベクトル縮減乗算ハーフワード命令(vector reduce multiply half-words instruction)２００の概略を示す。図２に示すように、第１の６４ビットベクトル２０２のハーフワード（示されない）および第２の６４ビットベクトル２０４のハーフワード（示されない）が、２０６において乗算される。次いで、中間結果２１２が、２０８において相互に加算される。完全な６４ビットの結果が、目的レジスタ２１０に格納される。特定の実施形態では、目的レジスタ２１０に格納された６４ビットの結果は、２０８において任意選択で加算される。命令２００は、命令実行ユニット１３８により実行することができる。特定の実施形態では、命令実行ユニット１３８は、単精度（１６ｘ１６）、倍精度（３２ｘ３２および３２ｘ１６）、ベクトル、および複素データをサポートするベクトル乗算加算器（ＭＡＣ）ユニットである。命令実行ユニット１３８は、スカラーおよびパック化ベクトルデータの両者のさまざまなＤＳＰ演算を実行する能力があることが好ましい。さらに、命令実行ユニット１３８は、自動スケーリング、飽和および丸めをサポートする命令形式を実行することができる。
【００３４】
図３は、処理装置１００により実行されうる、例示的命令、ベクトル比較命令３００の概略を示す。図３に示すように、第１の６４ビットベクトル３０２および第２の６４ビットベクトル３０４が、３０６において比較される。ベクトル３０２およびベクトル３０４の各要素が比較され、真／偽の結果３０８のビットベクトルが生成される。真／偽の結果３０８のビットベクトルの各ビットは、比較出力に応じて０または１いずれかに設定される。特定の実施形態では、真／偽の結果３０８のビットベクトルは、プリディケートレジスタ１２０の１つに格納される。
【００３５】
図４は、処理装置１００により実行されうる、例示的命令、ベクトルハーフワード比較命令４００の概略を示す。図４に示すように、第１の６４ビットベクトル４０２のハーフワード（示されない）および対応する第２の６４ビットベクトル４０４のハーフワード（示されない）が、４０６において比較される。ベクトル４０２およびベクトル４０４の各ハーフワードが比較され、真／偽の結果４０８のビットベクトルが生成される。ハーフワード比較のために、真／偽の結果４０８のビットベクトルの２ビットが、各比較出力に応じて０または１いずれかに設定される。同様の方法で、ワード比較のために、結果ベクトルの４ビットが、各比較出力に応じて０または１いずれかに設定される。特定の実施形態では、真／偽の結果４０８のビットベクトルは、プリディケートレジスタ１２０の１つに格納される。
【００３６】
図５は、処理装置１００により実行されうる例示的命令、ベクトルＭＵＸ命令５００の概略を示す。図５に示すように、第１の６４ビットベクトル５０２の各要素および第２の６４ビットベクトル５０４の対応する各要素が、５０６において条件により選択される。ベクトル５０２中の各バイトおよびベクトル５０４中の対応する各バイトに対して、対応するビット５１０が、条件ビットとして使用される。特定の実施形態では、ビット５１０は、プリディケートレジスタ１２０の１つに格納される。条件ビット５１０は、ＭＵＸ演算の結果を決定する。ＭＵＸは、ベクトル５０２またはベクトル５０４いずれかからバイトの値を選択するために演算する、すなわち２つのベクトル間の要素毎のバイト選択を実行する。ベクトルＭＵＸ命令は、結果５０８のバイトベクトルを生成する。特定の実施形態では、プリディケートレジスタ１２０の１つの下位８ビットのそれぞれに対して、ビットが設定されている場合、結果５０８の対応するバイトが、ベクトル５０２から対応するバイトに設定される。設定されていない場合、結果５０８の対応するバイトが、ベクトル５０４から対応するバイトに設定される。特定の実施形態では、結果５０８の対応するバイトベクトルは、汎用レジスタ１４４中の目的レジスタ（示されない）に格納される。
【００３７】
図６は、スカラー演算を実行する方法の流れ図を示す。スカラー命令は、命令実行ユニット１３６、１３８、１４０、１４２のような命令実行ユニットにより６０２において受信することができる。次いで、スカラー命令は、６０４において命令実行ユニットにより実行される。次いで、命令実行の結果ビットが、６０６において結果レジスタに設定される。特定の実施形態では、結果ビットは、プリディケートレジスタ１２０の１つに設定される。特定の実施形態では、命令は、スカラー比較命令であり、スカラー比較命令は、プリディケートレジスタ１２０の１つ中の各ビットを、比較結果が真の場合１に設定し、またプリディケートレジスタ１２０の１つ中の各ビットを、比較結果が偽の場合０に設定する。
【００３８】
図７はスカラー条件演算を実行する方法の流れ図を示す。スカラー条件命令は、７０２において、命令実行ユニット１３６、１３８、１４０、１４２の１つのような命令実行ユニットにより受信することができる。命令実行ユニットは、７０４において、スカラー条件命令を実行すべきであるかどうかを決定する。特定の実施形態では、７０４における決定は、プリディケートレジスタ１２０の１つ中の最下位ビットを検査することにより行われる。決定が実行されないことである場合、７１０において、スカラー条件演算は実行されない。決定が実行されることである場合、スカラー条件演算は、７０６において、命令実行ユニットにより実行される。次いで、命令実行の結果ビットが、７０８において結果レジスタに設定される。
【００３９】
図８は、ベクトル演算を実行する方法の流れ図を示す。特定の実施形態では、ベクトル演算は、ベクトル比較演算である。ベクトル命令は、８０２において、命令実行ユニット１３６、１３８、１４０、１４２の１つのような命令実行ユニットにより受信することができる。次いで、ベクトル命令が、８０４において、命令実行ユニットにより実行される。次いで、命令実行の結果ビットが、８０６において、結果レジスタに設定される。特定の実施形態では、結果ビットは、プリディケートレジスタ１２０の１つに設定される。
【００４０】
特定の実施形態では、処理装置１００は、等値比較、符号付の大小比較、および符号なしの大小比較を含む３つの比較演算形式をサポートする。これらの３つの形式は、符号付および符号なしの値のすべての比較を生成するのに十分である。各比較の出力は、いずれの意味にも使用することができる、真または偽の値を生成する。さらに、レジスタオペランドは、別の比較を生成するために使用することができる。オペランドをスワップし、かつ結果の両方に意味を使用することにより、符号付および符号なし比較の完全な補数を実行することが可能である。
【００４１】
図９は、ベクトル条件演算を実行する方法の流れ図を示す。特定の実施形態では、ベクトル条件演算は、ベクトルＭＵＸ演算である。ベクトル条件命令は、９０２において、命令実行ユニット１３６、１３８、１４０、１４２のような命令実行ユニットにより受信することができる。命令実行ユニットは、９０４において、ビット５１０のような条件ビットセットを取得する。特定の実施形態では、取得されたビットは、プリディケートレジスタ１２０の１つからのものである。次いで、取得されたビットは、ベクトル条件命令が、９０６において、命令実行ユニットにより実行されるときに使用される。次いで、命令実行の結果ビットは、９０８において、結果レジスタに設定される。ＭＵＸ命令のソースオペランドをスワップすることにより、結果の両方の意味を形成することができる。
【００４２】
例えば、ベクトルＭＵＸ演算では、第１のベクトル中の各バイトおよび第２のベクトル中の対応するバイトは、対応する条件ビットベクトルを使用して条件付きで選択される。特定の実施形態では、条件ビットは、プリディケートレジスタ１２０の１つに格納される。ＭＵＸは、第１のベクトルまたは第２のベクトルいずれかからバイトの値を選択するために演算する、すなわち２つのベクトル間の要素毎のバイト選択を実行する。ベクトルＭＵＸ命令は、結果のバイトベクトルを生成する。特定の実施形態では、プリディケートレジスタ１２０の１つの下位８ビットのそれぞれに対して、ビットが設定されている場合、結果の対応するバイトが、第１のベクトルから対応するバイトに設定される。設定されていない場合、結果の対応するバイトが、第２のベクトルから対応するバイトに設定される。特定の実施形態では、結果のバイトベクトルは、汎用レジスタ１４４中の目的レジスタ（示されない）に格納される。
【００４３】
特定の実施形態では、処理装置１００は、ベクトル条件命令を使用して、条件命令文を有するループをベクトル化する。例えば、スカラー命令ループでは、スカラー命令は、ループの各連続した繰り返しのために読み出され、実行される。ベクトル条件命令文では、ループは、命令が１度読み出され、ベクトル上で実行されるようなベクトル条件演算で置き換えることができる。例えば、以下のＣコードのループは、命令およびデータを８回読み出す。
【００４４】
for (i=0; i<8; i++) { if (A[i]]) { B[i] = C[i]; } }
このＣコードのループは、好ましくは命令およびデータをそれぞれ１度読み出す２つのベクトル演算により置き換えることができる。例示的Ｃコードループをベクトル化するために、２つのベクトル演算が、実行される。最初に、ベクトルＡ中のバイトをゼロと比較する比較演算が実行され、結果のビットが、レジスタ、好ましくはプリディケートレジスタ１２０の１つに格納される。第２に、ベクトルＡ比較の結果を条件ビットとして使用して、ベクトルＢおよびベクトルＣのバイト間で選択するするベクトルＭＵＸ演算が実行される。ベクトルＭＵＸ演算の結果は、レジスタに格納することができる。したがって、命令およびデータは、より少ない回数読み出されるので、ベクトル条件演算は、処理装置が、条件命令文を有するループより速く、より効率的に、かつより低消費電力となることを可能とする。
【００４５】
図１０は、一般的に表された１０２０である携帯通信装置の例示的、非制限の実施形態を示す。図１０に示すように、携帯通信装置は、ディジタルシグナルプロセッサ１０２４を含むオンチップシステム１０２２を含む。特定の実施形態では、ディジタルシグナルプロセッサ１０２４は、図１に示されかつ本明細書中に記載された処理装置である。図１０に示すように、ＤＳＰ１０２４は、スカラー演算およびベクトル演算用の連結されたプリディケートレジスタ１０９０を含む。特定の実施形態では、比較演算は、結果を連結されたプリディケートレジスタ１０９０に格納し、条件演算は、格納された比較結果を条件ビットとして、例えば、上記のベクトルＭＵＸ命令中で使用する。図１０はまた、ディジタルシグナルプロセッサ１０２４およびディスプレイ１０２８に連結されたディスプレイコントローラ１０２６を示す。さらに、入力装置１０３０は、ディジタルシグナルプロセッサ１０２４に連結される。図に示すように、メモリ１０３２は、ディジタルシグナルプロセッサ１０２４に連結される。さらに、コーダ／デコーダ（ＣＯＤＥＣ）１０３４は、ディジタルシグナルプロセッサ１０２４に連結することができる。スピーカ１０３６およびマイクロフォン１０３８は、ＣＯＤＥＣ１０３０に連結することができる。
【００４６】
図１０はまた、無線コントローラ１０４０が、ディジタルシグナルプロセッサ１０２４および無線アンテナ１０４２に接続できることを示す。特定の実施形態では、電源１０４４は、オンチップシステム１００２に連結することができる。さらに、特定の実施形態では、図１０に示されるように、ディスプレイ１０２６、入力装置１０３０、スピーカ１０３６、マイクロフォン１０３８、無線アンテナ１０４２および電源１０４４は、オンチップシステム１０２２に外付けされる。しかしながら、それぞれは、オンチップシステム１０２２の構成要素に連結することができる。
【００４７】
特定の実施形態では、ディジタルシグナルプロセッサ１０２４は、インターリーブ型マルチスレッディング(interleaved multithreading)を利用して、携帯通信装置１０２０のさまざまな構成要素に必要となる機能および動作を実行するために必要なプログラムスレッドと関連した命令を処理する。例えば、無線通信セッションが、無線アンテナを介して確立されたとき、ユーザは、マイクロフォン１０３８に話をすることができる。ユーザの音声を表現する電子的信号は、ＣＯＤＥＣ１０３４に送られて符号化される。ディジタルシグナルプロセッサ１０２４は、マイクロフォンからの電子的信号を符号化するためにＣＯＤＥＣ１０３４のためのデータ処理を実行することができる。さらに、無線アンテナ１０４２を介して受信した入力信号は、復号化し、スピーカ１０３６に送信するために無線コントローラ１０４０によりＣＯＤＥＣ１０３４に送ることができる。ディジタルシグナルプロセッサ１０２４はまた、無線アンテナ１０４２を介して受信された信号を復号化するとき、ＣＯＤＥＣ１０３４のためのデータ処理を実行することができる。
【００４８】
さらに、無線通信セッションの開始前、処理中または終了後に、ディジタルシグナルプロセッサ１０２４は、入力装置１０３０から受信した入力を処理することができる。例えば、無線通信セッションの処理中、ユーザは、入力装置１０３０およびディスプレイ１０２８を使用して、携帯通信装置１０２０のメモリ１０３２内に組み込まれているＷｅｂブラウザーを介してインターネットを見て回ることができる。ディジタルシグナルプロセッサ１０２４は、本明細書中に記載されているように、入力装置１０３０、ディスプレイコントローラ１０２６、ディスプレイ１０２８、ＣＯＤＥＣ１０３４および無線コントローラ１０４０により使用されるさまざまなプログラムスレッドを交互実行して、携帯通信装置１０２０およびその中のさまざまな構成要素の動作を効率的に制御することができる。さまざまなプログラムスレッドと関連した命令の多くは、１つまたはそれ以上のクロックサイクルの間に並列に実行される。このように、無駄なクロックサイクルによる電力およびエネルギー消費は、実質的に減少する。
【００４９】
図１１を参照すると、携帯電話の例示的、非制限の実施形態が示され、一般的に１１２０で表される。図示されたように、携帯電話１１２０は、相互に連結されたディジタルベースバンドプロセッサ１１２４およびアナログベースバンドプロセッサ１１２６を含むオンチップシステム１１２２を含む。特定の実施形態では、ディジタルベースバンドプロセッサ１１２４は、ディジタルシグナルプロセッサ、例えば、図１に示されかつ本明細書に記載のプロセッサである。図１１に示すように、ＤＳＰ１１２４は、スカラー演算およびベクトル演算用の連結されたプリディケートレジスタ１１９０を含む。特定の実施形態では、比較演算は、連結されたプリディケートレジスタ１１９０に結果を格納し、条件演算は、格納された比較結果を条件ビットとして、例えば、上記のベクトルＭＵＸ命令において、使用する。図１１に示すように、ディスプレイコントローラ１１２８およびタッチスクリーンコントローラ１１３０は、ディジタルベースバンドプロセッサ１１２４に連結される。同様に、オンチップシステム１１２２に外付けのタッチスクリーンディスプレイ１１３２は、ディスプレイコントローラ１１２８およびタッチスクリーンコントローラ１１３０に連結される。
【００５０】
さらに、図１１は、動画エンコーダ１１３４、例えば、ＰＡＬ（phase alternating line）エンコーダ、ＳＥＣＡＭ（sequential couleur a memoire）エンコーダまたはＮＴＳＣ（national television system(s) committee）エンコーダが、ディジタルベースバンドプロセッサ１１２４に連結される。さらに、動画増幅器１１３６は、動画エンコーダ１１３４およびタッチスクリーンディスプレイ１１３２に連結される。また、動画ポート１１３８は、動画増幅器１１３６に連結される。図１１に示すように、ユニバーサルシリアルバス（ＵＳＢ）コントローラ１１４０は、ディジタルベースバンドプロセッサ１１２４に連結される。また、ＵＳＢポート１１４２は、ＵＳＢコントローラ１１４０に連結される。メモリ１１４４および加入者識別モジュール（ＳＩＭ）カード１１４６はまた、ディジタルベースバンドプロセッサ１１２４に連結することができる。さらに、図１１に示すように、ディジタルカメラ１１４８は、ディジタルベースバンドプロセッサ１１２４に連結することができる。例示的実施形態では、ディジタルカメラ１１４８は、電荷連結素子（ＣＣＤ）カメラまたは相補型金属酸化膜半導体（ＣＭＯＳ）カメラである。
【００５１】
図１１にさらに示すように、ステレオオーディオＣＯＤＥＣ１１５０は、アナログベースバンドプロセッサ１１２６に連結することができる。さらにオーディオ増幅器１１５２は、ステレオオーディオＣＯＤＥＣ１１５０に連結することができる。例示的実施形態では、第１のステレオスピーカ１１５４および第２のステレオスピーカ１１５６は、オーディオ増幅器１１５２に連結される。図１１は、マイクロフォン増幅器１１５８もまた、ステレオオーディオＣＯＤＥＣ１１５０に連結できることを示す。さらに、マイクロフォン１１６０は、マイクロフォン増幅器１１５８に連結することができる。特定の実施形態では、周波数変調（ＦＭ）ラジオチューナ１１６２は、ステレオオーディオＣＯＤＥＣ１１５０に連結することができる。また、ＦＭアンテナ１１６４は、ＦＭラジオチューナ１１６２に連結される。さらに、ステレオヘッドフォン１１６６は、ステレオオーディオＣＯＤＥＣ１１５０に連結することができる。
【００５２】
さらに、図１１は、高周波数（ＲＦ）送受信機１１６８が、アナログベースバンドプロセッサ１１２６に連結することができることを示す。ＲＦスイッチ１１７０は、ＲＦ送受信機１１６８およびＲＦアンテナ１１７２に連結することができる。図１１に示すように、キーパッド１１７４は、アナログベースバンドプロセッサ１１２６に連結することができる。また、マイクロフォン１１７６付モノラルヘッドフォンは、アナログベースバンドプロセッサ１１２６に連結することができる。さらに、バイブレータ装置１１７８は、アナログベースバンドプロセッサ１１２６に連結することができる。図１１はまた、電源１１８０が、オンチップシステム１１２２に連結できることを示す。特定の実施形態では、電源１１８０は、電力を必要とする携帯電話１１２０のさまざまな構成要素に電力を供給する直流（ＤＣ）電源である。さらに、特定の実施形態では、電源は、充電可能ＤＣ電池または交流（ＡＣ）電源に接続されるＡＣからＤＣへの変圧器から引き出されるＤＣ電源である。
【００５３】
特定の実施形態では、図１１に示すように、タッチスクリーンディスプレイ１１３２、動画ポート１１３８、ＵＳＢポート１１４２、カメラ１１４８、第１のステレオスピーカ１１５４、第２のステレオスピーカ１１５６、マイクロフォン、ＦＭアンテナ１１６４、ステレオヘッドフォン１１６６、ＲＦスイッチ１１７０、ＲＦアンテナ１１７２、キーパッド１１７４、モノラルヘッドセット１１７６、バイブレータ１１７８、および電源１１８０は、オンチップシステム１１２２に外付けされる。さらに、特定の実施形態では、ディジタルベースバンドプロセッサ１１２４は、携帯電話１１２０と関連した種々の構成要素の１つまたはそれ以上と関連したさまざまなプログラムスレッドを処理するために、本明細書に記載されたインターリーブ型マルチスレッディングを使用することができる。
【００５４】
図１２を参照すると、無線インターネットプロトコル（ＩＰ）電話の例示的、非制限の実施形態が示され、一般的に１２００で表される。図示のように、無線ＩＰ電話１２００は、ディジタルシグナルプロセッサ（ＤＳＰ）１２０４を含むオンチップシステム１２０２を含む。特定の実施形態では、ＤＳＰ１２０４は、図１に示され、本明細書に記載された処理装置である。図１２に示されるように、ＤＳＰ１２０４は、スカラー演算およびベクトル演算用の連結されたプリディケートレジスタ１２９０を含む。特定の実施形態では、比較演算は、連結されたプリディケートレジスタ１２９０に結果を格納し、条件演算は、格納された比較結果を条件ビットとして、例えば、上記のベクトルＭＵＸ命令において、使用する。図１２に示されるように、ディスプレイコントローラ１２０６は、ＤＳＰ１２０４に連結され、またディスプレイ１２０８は、ディスプレイコントローラ１２０６に連結される。例示的実施形態では、ディスプレイ１２０８は液晶ディスプレイ（ＬＣＤ）である。さらに、図１２は、キーパッド１２１０が、ＤＳＰ１２０４に連結できることを示す。
【００５５】
図１２にさらに示すように、フラッシュメモリ１２１２は、ＤＳＰ１２０４に連結することができる。シンクロナスダイナミックランダムアクセスメモリ（ＳＤＲＡＭ）１２１４、スタティックランダムアクセスメモリ（ＳＲＡＭ）１２１６、および電気的に消去可能なプログラム可能リードオンリーメモリ（ＥＥＰＲＯＭ）１２１８はまた、ＤＳＰ１２０４に連結することができる。図１２はまた、発光ダイオード（ＬＥＤ）１２２０が、ＤＳＰ１２０４に連結することができることを示す。さらに、特定の実施形態では、音声ＣＯＤＥＣ１２２２は、ＤＳＰ１２０４に連結することができる。増幅器１２２４は、音声ＣＯＤＥＣ１２２２に連結することができ、また、モノラルスピーカ１２２６は、増幅器１２２４に連結することができる。さらに、図１２は、モノラルヘッドセット１２２８もまた、音声ＣＯＤＥＣ１２２２に連結することができることを示す。特定の実施形態では、モノラルヘッドセット１２２８は、マイクロフォンを含む。
【００５６】
図１２はまた、無線ローカルエリアネットワーク（ＷＬＡＮ）ベースバンドプロセッサ１２３０が、ＤＳＰ１２０４に連結することができることを示す。ＲＦ送受信機１２３２は、ＷＬＡＮベースバンドプロセッサ１２３０に連結することが、またＲＦアンテナ１２３４は、ＲＦ送受信機１２３２に連結することができる。特定の実施形態では、Ｂｌｕｅｔｏｏｔｈ（登録商標）コントローラ１２３６はまた、ＤＳＰ１２０４に連結することができ、またＢｌｕｅｔｏｏｔｈアンテナ１２３８は、コントローラ１２３６に連結することができる。図１２はまた、ＵＳＢポート１２４０もまた、ＤＳＰ１２０４に連結することができることを示す。さらに、電源１２４２は、オンチップシステム１２０２に連結されて、無線ＩＰ電話１２００のさまざまな構成要素にオンチップシステム１２０２を介して電力を供給する。
【００５７】
特定の実施形態では、図１２に示すように、ディスプレイ１２０８、キーパッド１２１０、ＬＥＤ１２２０、モノラルスピーカ１２２６、モノラルヘッドセット１２２８、ＲＦアンテナ１２３４、Ｂｌｕｅｔｏｏｔｈアンテナ１２３８、ＵＳＢポート１２４０、および電源１２４２は、オンチップシステム１２０２に外付けである。しかしながら、これらの構成要素のそれぞれは、オンチップシステムの１つまたはそれ以上の構成要素に連結される。さらに、特定の実施形態では、ディジタルシグナルプロセッサ１２０４は、ＩＰ電話１２００と関連した種々の構成要素の１つまたはそれ以上と関連したさまざまなプログラムスレッドを処理するために、本明細書に記載されたインターリーブ型マルチスレッディングを使用することができる。
【００５８】
図１３は、一般的に１３００に表された携帯情報端末（ＰＤＡ）の例示的、非制限の実施形態を示す。図に示すように、ＰＤＡ１３００は、ディジタルシグナルプロセッサ（ＤＳＰ）１３０４を含むオンチップシステム１３０２を含む。特定の実施形態では、ＤＳＰ１３０４は、図１に示され、本明細書に記載された処理装置を含む。図１３に示すように、ＤＳＰ１３０４は、スカラー演算およびベクトル演算用の連結されたプリディケートレジスタ１３９０を含む。特定の実施形態では、比較演算は、連結されたプリディケートレジスタ１３９０に結果を格納し、また条件演算は、格納された比較結果を条件ビットとして、例えば、上記のベクトルＭＵＸ命令において、使用する。図１３に示すように、タッチスクリーンコントローラ１３０６およびディスプレイコントローラ１３０８は、ＤＳＰ１３０４に連結される。さらに、タッチスクリーンディスプレイは、タッチスクリーンコントローラ１３０６およびディスプレイコントローラ１３０８に連結される。図１３はまた、キーパッド１３１２が、ＤＳＰ１３０４に連結することができることを示す。
【００５９】
図１３にさらに示すように、フラッシュメモリ１３１４は、ＤＳＰ１３０４に連結することができる。また、リードオンリーメモリ（ＲＯＭ）１３１６、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）１３１８、および電気的に消去可能なプログラム可能リードオンリーメモリ（ＥＥＰＲＯＭ）１３２０は、ＤＳＰ１３０４に連結することができる。図１３はまた、赤外線データ協会規格（ＩｒＤＡ）ポート１３２２は、ＤＳＰ１３０４に連結することができる。さらに、特定の実施形態では、ディジタルカメラ１３２４は、ＤＳＰ１３０４に連結することができる。
【００６０】
図１３に示すように、特定の実施形態では、ステレオオーディオＣＯＤＥＣ１３２６は、ＤＳＰ１３０４に連結することができる。第１のステレオ増幅器１３２８は、ステレオオーディオＣＯＤＥＣ１３２６に連結することができ、また第１のステレオスピーカ１３３０は、第１のステレオ増幅器１３２８に連結することができる。さらに、マイクロフォン増幅器１３３２は、ステレオオーディオＣＯＤＥＣ１３２６に連結することができ、またマイクロフォン１３３４は、マイクロフォン増幅器１３３２に連結することができる。図１３はさらに、第２のステレオ増幅器１３３６が、ステレオオーディオＣＯＤＥＣ１３２６に連結することができ、また第２のステレオスピーカ１３３８が、第２のステレオ増幅器１３３６に連結することができることを示す。特定の実施形態では、ステレオヘッドフォン１３４０はまた、ステレオオーディオＣＯＤＥＣ１３２６に連結することができる。
【００６１】
図１３はまた、８０２．１１コントローラ１３４２が、ＤＳＰ１３０４に連結することができ、また８０２．１１アンテナ１３４４が、８０２．１１コントローラ１３４２に連結することができることを示す。さらに、Ｂｌｕｅｔｏｏｔｈコントローラ１３４６は、ＤＳＰ１３０４に連結することができ、またＢｌｕｅｔｏｏｔｈアンテナ１３４８は、Ｂｌｕｅｔｏｏｔｈコントローラ１３４６に連結することができる。図１３に示すように、ＵＳＢコントローラ１３５０は、ＤＳＰ１３０４に連結することができ、またＵＳＢポート１３５２は、ＵＳＢコントローラ１３５０に連結することができる。さらに、スマートカード１３５４、例えば、マルチメディアカード（ＭＭＣ）またはセキュアディジタルカード（ＳＤ）は、ＤＳＰ１３０４に連結することができる。さらに、図１３に示すように、電源１３５６は、オンチップシステム１３０２に連結することができ、オンチップシステム１３０２を介してＰＤＡ１３００のさまざまな構成要素に電力を供給することができる。
【００６２】
特定の実施形態では、図１３に示すように、ディスプレイ１３１０、キーパッド１３１２、ＩｒＤＡポート１３２２、ディジタルカメラ１３２４、第１のステレオスピーカ１３３０、マイクロフォン１３３４、第２のステレオスピーカ１３３８、ステレオヘッドフォン１３４０、８０２．１１アンテナ１３４４、Ｂｌｕｅｔｏｏｔｈアンテナ１３４８、ＵＳＢポート１３５２、および電源１３５０は、オンチップシステム１３０２に外付けされる。しかしながら、これらの構成要素のそれぞれは、オンチップシステム上の１つまたはそれ以上の構成要素に連結される。さらに、特定の実施形態では、ディジタルシグナルプロセッサ１３０４は、携帯情報端末１３００と関連した種々の構成要素の１つまたはそれ以上と関連したさまざまなプログラムスレッドを処理するために、本明細書に記載されたインターリーブ型マルチスレッディングを使用することができる。
【００６３】
図１４を参照すると、ｍｏｖｉｎｇ  ｐｉｃｔｕｒｅｓ  ｅｘｐｅｒｔｓ  ｇｒｏｕｐオーディオレイヤー３（ＭＰ３）プレーヤのような、オーディオファイルプレーヤの例示的、非制限の実施形態が示され、一般的に１４００で表される。図に示されるように、オーディオファイルプレーヤ１４００は、ディジタルシグナルプロセッサ（ＤＳＰ）１４０４を含むオンチップシステム１４０２を含む。特定の実施形態では、ＤＳＰ１４０４は、図１に示され、本明細書に記載される処理装置である。図１４に示すように、ＤＳＰ１４０４は、スカラー演算およびベクトル演算用の連結されたプリディケートレジスタ１４９０を含む。特定の実施形態では、比較演算は、連結されたプリディケートレジスタ１４９０に結果を格納し、条件演算は、格納された比較結果を条件ビットとして、例えば、上記のベクトルＭＵＸ命令において、使用する。図１４に示すように、ディスプレイコントローラ１４０６は、ＤＳＰ１４０４に連結され、またディスプレイ１４０８は、ディスプレイコントローラ１４０６に連結される。例示的実施形態では、ディスプレイ１４０８は、液晶ディスプレイ（ＬＣＤ）である。図１４はさらに、キーパッド１４１０が、ＤＳＰ１４０４に連結することができることを示す。
【００６４】
図１４にさらに示すように、フラッシュメモリ１４１２およびリードオンリーメモリ（ＲＯＭ）１４１４は、ＤＳＰ１４０４に連結することができる。さらに、特定の実施形態では、オーディオＣＯＤＥＣ１４１６は、ＤＳＰ１４０４に連結することができる。増幅器１４１８は、オーディオＣＯＤＥＣ１４１６に連結することができ、またモノラルスピーカ１４２０は、増幅器１４１８に連結することができる。図１４はさらに、マイクロフォン入力１４２２およびステレオ入力１４２４もまた、オーディオＣＯＤＥＣ１４１６に連結することができることを示す。特定の実施形態では、ステレオヘッドフォン１４２６もまた、オーディオＣＯＤＥＣ１４１６に連結することができる。
【００６５】
図１４はまた、ＵＳＢポート１４２８およびスマートカード１４３０が、ＤＳＰ１４０４に連結することができることを示す。さらに、電源１４３２は、オンチップシステム１４０２に連結することができ、オンチップシステム１４０２を介してオーディオファイルプレーヤ１４００のさまざまな構成要素に電力を供給することができる。
【００６６】
特定の実施形態では、図１４に示されるように、ディスプレイ１４０８、キーパッド１４１０、モノラルスピーカ１４２０、マイクロフォン入力１４２２、ステレオ入力１４２４、ステレオヘッドフォン１４２６、ＵＳＢポート１４２８、および電源１４３２は、オンチップシステム１４０２に外付けである。しかしながら、これらの構成要素のそれぞれは、オンチップシステム上の１つまたはそれ以上の構成要素に連結される。また、特定の実施形態では、ディジタルシグナルプロセッサ１４０４は、オーディオファイルプレーヤ１４００と関連した種々の構成要素の１つまたはそれ以上と関連したさまざまなプログラムスレッドを処理するために、本明細書に記載されたインターリーブ型マルチスレッディングを使用することができる。
【００６７】
本明細書に記載されたシステムおよび方法は、複雑性、コストおよび電力使用の削減を実現する。例えば、同一のプリディケートレジスタをスカラーおよびベクトル演算両者に対して動作させることは、必要なプリディケートレジスタの数を削減することにより処理装置のコストおよび複雑性を削減する。また、汎用レジスタを使用するのではなく別個のプリディケートレジスタファイルを有することは、処理装置のコスト、複雑性および電力消費を削減する。さらに、本明細書に記載されたシステムおよび方法は、処理能力の改善を実現する。
【００６８】
さらに、当業者は、本明細書中に開示された実施形態と関連して説明された、さまざまな例示的論理ブロック、構成、モジュール、回路およびアルゴリズムのステップが、電子的ハードウェア、コンピュータソフトウェア、または両者の組み合わせとして実装できることを理解するであろう。このハードウェアおよびソフトウェアの互換性を明確に示すために、さまざまな例示的構成要素、ブロック、構成、モジュール、回路およびステップは、これらの機能性を用いて一般的に上記に説明されている。このような機能性が、ハードウェアとしてまたはソフトウェアとして実装されるかどうかは、特定のアプリケーションおよびシステム全体に課せられる設計上の制約に依存する。当業者は、それぞれの特定のアプリケーションに対してさまざまな方法で説明された機能性を実装できるが、このような実装判断は、本発明の開示の範囲から逸脱するものと解釈すべきではない。
【００６９】
本明細書で開示された実施形態と関連して説明された方法またはアルゴリズムのステップは、直接的に、ハードウェア中に、処理装置により実行されるソフトウェアモジュール中に、または両者の組み合わせ中に実現することができる。ソフトウェアモジュールは、ＲＡＭメモリ、フラッシュメモリ、ＲＯＭメモリ、ＰＲＯＭメモリ、ＥＰＲＯＭメモリ、ＥＥＰＲＯＭメモリ、レジスタ、ハードディスク、可換型ディスク、ＣＤ−ＲＯＭ、または公知の記憶媒体の任意の他の形式中に存在することができる。例示的記憶媒体は、処理装置が、記憶媒体から情報を読み出し、また情報を書き込むことができるような処理装置に連結される。代替として、記憶媒体は、処理装置に統合することができる。処理装置および記憶媒体は、ＡＳＩＣ中に存在することができる。ＡＳＩＣは、計算装置またはユーザ端末中に存在することができる。代替として、処理装置および記憶媒体は、計算装置またはユーザ端末中に離散的構成要素として存在することができる。
【００７０】
開示された実施形態の前記説明は、任意の当業者が本発明のある実施形態の開示を作成または使用することを可能にするために提供される。これらの実施形態に対するさまざまな修正は、当業者には直ちに理解され、本明細書中に定義された一般的な原理は、本開示の精神および範囲を逸脱することなく他の実施形態に適用することができる。したがって、本発明の開示は、本明細書中に示される実施形態に限定することを意図するものではなく、以下の特許請求の範囲により定義される原理および新しい機能と調和する最も広い範囲が与えられるべきである。
【図１】
2010501937.tif 000003
【図２】
2010501937.tif 000004
【図３】
2010501937.tif 000005
【図４】
2010501937.tif 000006
【図５】
2010501937.tif 000007
【図６】
2010501937.tif 000008
【図７】
2010501937.tif 000009
【図８】
2010501937.tif 000010
【図９】
2010501937.tif 000011
【図１０】
2010501937.tif 000012
【図１１】
2010501937.tif 000013
【図１２】
2010501937.tif 000014
【図１３】
2010501937.tif 000015
【図１４】
2010501937.tif 000016
【国際調査報告】
2010501937.tif 000017
2010501937.tif 000018