JP2013175218A - スカラー/ベクトル命令を使用したデータ処理システムおよび方法 - Google Patents

スカラー/ベクトル命令を使用したデータ処理システムおよび方法 Download PDF

Info

Publication number
JP2013175218A
JP2013175218A JP2013087516A JP2013087516A JP2013175218A JP 2013175218 A JP2013175218 A JP 2013175218A JP 2013087516 A JP2013087516 A JP 2013087516A JP 2013087516 A JP2013087516 A JP 2013087516A JP 2013175218 A JP2013175218 A JP 2013175218A
Authority
JP
Japan
Prior art keywords
vector
scalar
instruction
register
condition code
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2013087516A
Other languages
English (en)
Other versions
JP5680697B2 (ja
JP2013175218A5 (ja
Inventor
Codrescu Lucian
ルシアン・コドレスキュ
Plondke Erich
エリック・プロンドケ
Simpson Taylor
タイラー・シンプソン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of JP2013175218A publication Critical patent/JP2013175218A/ja
Publication of JP2013175218A5 publication Critical patent/JP2013175218A5/ja
Application granted granted Critical
Publication of JP5680697B2 publication Critical patent/JP5680697B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/30101Special purpose registers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30021Compare instructions, e.g. Greater-Than, Equal-To, MINMAX
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30094Condition code generation, e.g. Carry, Zero flag
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Advance Control (AREA)
  • Complex Calculations (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

【課題】スカラー状態を考慮したベクトル演算の改善された処理システムおよび処理方法を提供する。
【解決手段】スカラーおよびベクトル演算用の連結された条件コードレジスタを有するレジスタファイルを含む処理装置を開示する。この処理装置は、スカラーおよびベクトル演算用の連結された条件コードレジスタを利用する。さらに、比較演算は、連結された条件コードレジスタに結果ビットを格納することができ、また条件演算は、条件を評価するために連結された条件コードレジスタのビットを利用することができる。
【選択図】図1

Description

本発明は、一般にはデータ処理システムおよび方法に関し、より詳細には、ベクトルおよびスカラー演算を処理するシステムおよび方法に関する。
技術の進歩により、より小型かつより強力な個人用計算装置が生み出されてきている。
例えば、小型、軽量かつ利用者による持ち運びが容易な、携帯無線電話機、携帯情報端末(PDA)およびページング装置のような無線計算装置を含む、さまざまな携帯個人用計算装置が現存する。より詳細には、携帯電話機およびIP電話機のような、携帯無線電話機は、無線ネットワークを通じて音声およびデータパケットを伝達することができる。さらに、多くのこのような無線電話機は、本明細書中に包含される他の型式の装置を含む。
例えば、無線電話機はまた、ディジタルスチルカメラ、ディジタルビデオカメラ、ディジタルレコーダ、およびオーディオファイルプレーヤを含むことができる。また、このような無線電話機は、インターネットにアクセスするために使用可能なWebインタフェースを含むことができる。このように、これらの無線電話機は、相当な計算能力を含む。
一般に、これらの装置は、より小型にかつより強力になるので、ますます資源の制約を受けることになる。例えば、画面サイズ、利用可能なメモリおよびファイルシステム空間量、並びに入出力能力の量は、装置サイズの小ささにより制限される可能性がある。さらに、バッテリーサイズ、バッテリーにより供給される電力量、およびバッテリー寿命もまた制限される。装置のバッテリー寿命を増すための1つの方法は、電力消費が少ない処理装置を設計することである。
ある種の処理装置は、ベクトル処理用のベクトルアーキテクチャを用いる。ベクトルアーキテクチャを有する処理装置は、ベクトル、すなわち線形データアレイ上で動作する高水準演算を提供する。ベクトル処理は、命令を一度読み出し、次いで異なるデータで複数回命令を実行する。このことは、他の要因も含めて、各命令を読み出す必要回数が少ないので、プログラムを実行するために必要とされるエネルギーを削減することを可能とする。さらに、ベクトルアーキテクチャを有する処理装置は、通常、複数の演算を同時に実行し、演算の並列性を生み出すことを可能とする。
一方、他の型式の処理装置は、スカラー処理用のスカラーアーキテクチャを用いる。スカラー処理は、命令が実行される度に命令およびデータを読み出す。命令を複数回実行する必要があるループを実行する際、スカラーアーキテクチャを有する処理装置は、複数回命令を読み出すことになる。
ベクトル処理は、大量のデータセットを実行するために同一の演算が必要とされる仕事に対して望ましい。しかしながら、ベクトルアーキテクチャを有する処理装置は、スカラー状態を考慮しない、またはスカラー結果を生じない。スカラー演算は、複数の動画ストリームを操作することが予想される動画装置中のように、処理装置がリニアスケーリング(linear scaling)処理能力要件を有するときに有用である。この理由により、既存の処理装置は、マルチメディア処理のためにスカラーアーキテクチャを使用する。並列性の欠如のため、この手法は、処理装置が非常に高速に走行することを必要とし、電力消費の点で非効率である。
したがって、スカラー状態を考慮したベクトル演算の改善された処理システムおよび処理方法を提供することが有利であろう。
処理装置が開示され、この処理装置は、スカラーおよびベクトル演算用の連結された条件コードレジスタを含む制御レジスタと、その連結された条件コードレジスタを利用するスカラーおよびベクトル命令を実行するための少なくとも1つの命令実行ユニットとを含む。
特定の実施形態では、処理装置は、メモリユニットと、そのメモリユニットに応答するシーケンサとを含む。命令実行ユニットは、シーケンサに応答する。さらに、別の特定の実施形態では、処理装置は、連結された条件コードレジスタを利用するスカラー演算用命令と、連結された条件コードレジスタを利用するベクトル演算用命令とを有するメモリユニットを含む。さらに別の実施形態では、処理装置は、スカラー比較演算を含む。別の実施形態では、処理装置は、ベクトル比較演算を含む。
さらに別の実施形態では、処理装置は、連結された条件コードレジスタに基づき条件付きで実行されるスカラー演算を含む。別の実施形態では、処理装置は、連結された条件コードレジスタを入力として使用するスカラー演算を含む。
さらに別の実施形態では、処理装置は、連結された条件コードレジスタ中の結果に基づき条件付きで実行されるベクトル演算を含む。特定の実施形態では、処理装置は、ベクトル比較演算の結果を格納するために、連結された条件コードレジスタを使用するベクトル比較演算を含む。
特定の実施形態では、処理装置は、バイト、ハーフワード、ワード、およびダブルワードで演算を実行する命令実行ユニットを含む。
本明細書中に開示された実施形態の1つまたは複数の利点は、処理装置の処理能力を実質的に改善することを含むことができる。別の利点は、処理装置の電力使用をより少なくすることを含むことができる。
本開示の他の態様、利点および特徴は、以下のセクション、すなわち、図面の簡単な説明、発明を実施するための形態および特許請求の範囲を含む、本出願全体を吟味した後に明らかになろう。
本明細書中に記載された実施形態の態様および利点は、添付の図面と関連付けられた以下の詳細な説明を参照することによって、より速やかに明らかになろう。
例示的ディジタルシグナルプロセッサのブロック図。 例示的命令の概略図。 ベクトル比較命令の概略図。 ベクトルハーフワード比較命令の概略図。 ベクトルマルチプレクサー命令の概略図。 スカラー演算を実行する方法の流れ図。 スカラー条件演算を実行する方法の流れ図。 ベクトル演算を実行する方法の流れ図。 ベクトル条件演算を実行する方法の流れ図。 ディジタルシグナルプロセッサを内蔵した携帯通信装置のブロック図。 ディジタルシグナルプロセッサを内蔵した例示的携帯電話のブロック図。 ディジタルシグナルプロセッサを内蔵した例示的無線IP電話のブロック図。 ディジタルシグナルプロセッサを内蔵した例示的携帯情報端末のブロック図。 ディジタルシグナルプロセッサを内蔵した例示的オーディオファイルプレーヤのブロック図。
図1は、処理装置100の例示的、非制限の実施形態のブロック図を示す。特定の実施形態では、処理装置100は、幅広いさまざまな信号、画像および動画処理アプリケーションに渡る高処理能力および低電力用の汎用目的DSPのような、ディジタルシグナルプロセッサ(DSP)である。
特定の実施形態では、処理装置100は、スカラー命令セットをDSP専用命令セットと結び付ける。このような実施形態では、処理装置100は、固定小数点データの演算を提供する縮小命令セットコンピュータ(RISC)命令セットと同様な、完全かつ直交したスカラー命令セットを含む。スカラー命令は、より大きな柔軟性およびパフォーマンスを達成するために直交かつRISCに似たものであるように設計される。さらに、処理装置100は、さまざまなDSP演算を提供するためのベクトル命令セットを含む。該組み合わせは、信号処理アプリケーションのための豊富な演算セットを提供する。
特定の実施形態では、処理装置100は、固定小数点データの演算、分数スケーリング(fractional scaling)、飽和、丸め、単精度、倍精度、複素数、ベクトルハーフワード(vector half-word)、およびベクトルバイト演算を含むMタイプ演算をサポートする。特定の実施形態では、処理装置100は、スカラーシフト、ベクトルシフト、順序置換(permute)、ビット操作、および述語(predicate)演算を含む、Sタイプ演算をサポートする。特定の実施形態では、処理装置100は、算術論理演算ユニット(ALU)、順序置換、ベクトルバイト、ベクトルハーフワード、およびベクトルワード演算を含む、ALU64演算をサポートする。特定の実施形態では、処理装置100は、加算、減算、32ビットデータ上の飽和なしの否定、スカラー32ビット比較、ハーフワード連結、ワード連結、ハーフワードシフト、マルチプレクサー(MUX)、ノーオペレーション(Nop)、符号およびゼロ拡張バイトおよびハーフワード、並びに転送(transfer)、即値(immediate)およびレジスタを含む、ALU32演算をサポートする。特定の実施形態では、処理装置100は、制御レジスタ転送命令のような制御レジスタ演算をサポートする。
図1に示すように、処理装置100は、バス106を介してシーケンサ104に連結されたメモリ102を含む。特定の実施形態では、メモリ102は、ユニファイドメモリモデル(unified memory model)である。特定の実施形態では、バス106は、128ビットバスであり、またシーケンサ104は、メモリ102から32ビット長の命令を検索するように構成される。シーケンサ104は、第1の命令実行ユニット136、第2の命令実行ユニット138、第3の命令実行ユニット140、および第4の命令実行ユニット142に連結される。図1は、各命令実行ユニット136、138、140、142が、汎用レジスタファイル144に連結することができることを示す。汎用レジスタファイル144はまた、制御レジスタファイル110およびメモリ102に連結することができる。
特定の実施形態では、汎用レジスタファイル144は、単一のレジスタとして、または64ビット対アライン(aligned 64-bit pairs)としてアクセスすることができる、32個の32ビットレジスタを保持する単一のユニファイドレジスタファイル(unified register file)である。特定の実施形態では、汎用レジスタファイル144は、ポインター、スカラー、ベクトルおよびアキュムレータデータを保持する。汎用レジスタ144は、アドレス生成、スカラー演算、ベクトル演算を含む汎用目的計算のために使用することができる。特定の実施形態では、汎用レジスタファイルは、ロード/ストア用アドレス、数値命令用データオペランド、およびベクトル命令用ベクトルオペランドを含む命令用オペランドを提供する。
特定の実施形態では、メモリ102は、データおよび命令の両者を保持する単一の32ビットアドレス空間を有するユニファイドバイトアドレス可能メモリ(unified byte-addressable memory)であり、メモリ中の最下位アドレスのバイトが、レジスタの最下位バイト中に保持されるリトルエンディアンモード(Little Endian Mode)で動作する。動作中、シーケンサ104は、メモリ102から命令を読み出すことができる。
処理装置100の動作中、命令は、メモリ102からシーケンサ104により読み出され、指定された命令実行ユニット136、138、140、142に送信され、命令実行ユニット136、138、140、142において実行される。命令は、スカラーおよびベクトル命令、例えばスカラーおよびベクトル比較演算、スカラー条件演算およびベクトルマルチプレクサー演算を含むことができる。特定の実施形態では、シーケンサ104は、同時に4個の32ビット命令を読み出し、4個の命令を並列に命令実行ユニット136、138、140、142に発行することができる。命令は、並列実行のためにさまざまな型の1から4個の命令のパケットにグループ化することができる。可変長のパケットは、自由にプログラム中に混在させることができる。各命令実行ユニット136、138、140、142の結果は、汎用レジスタファイル144に書き出すことができる。特定の実施形態では、処理装置100は、2つの64ビットのダブルワードを各サイクルでメモリからレジスタに移動することをサポートする。
特定の実施形態では、処理装置100は、コンパイラーの必要性およびDSPアプリケーションの必要性の両者に合わせたアドレスモードの完全なセットを特徴とするロード/ストアアーキテクチャを有する。線形の循環バッファーおよびビット反転アドレッシング(bit reversed addressing)をサポートすることができる。ロードおよびストアは、バイト(8ビット)、ハーフワード(16ビット)、ワード(32ビット)およびダブルワード(64ビット)に符号付けまたは符号なしとすることができる。特定の実施形態では、処理装置100は、2つの並列ロードまたは並列の1つのロードおよび1つストアをサポートする。
特定の実施形態では、命令実行ユニット136は、ベクトルシフト/順序置換/算術論理演算ユニット(ALU)ユニットであり、命令実行138は、ベクトル乗算/ALUユニットであり、命令実行140は、ロード/ALUユニットであり、また命令実行ユニット142は、ロード/ストア/ALUユニットである。
特定の実施形態では、32ビット制御レジスタのセットは、特別目的の機能へのアクセスを提供する。制御レジスタは、制御レジスタファイル110のような単一の制御レジスタファイルに論理的にグループ分けすることができる。これらの制御レジスタは、スカラーおよびベクトル演算の結果を保持することができる、プリディケートレジスタ(predicate register)120のような連結されたプリディケートレジスタを含むことができる。プリディケートレジスタは、条件コードレジスタと同義である。制御レジスタファイル110はまた、ループレジスタ112、114、116、118、修飾子レジスタ(modifier register)124、126、ユーザステータスレジスタ(USR)128、プログラムカウンター(PC)レジスタ130およびユーザ汎用ポインターレジスタ132を含むことができる。特定の実施形態では、制御レジスタファイル110は、予約レジスタ(reserved register)122および134のような予約レジスタを含む。特定の実施形態では、命令は、制御レジスタファイル110と汎用レジスタファイル144間でレジスタを転送することができる。特定の実施形態では、プリディケートレジスタ120は、4個の8ビットプリディケートレジスタである。
特定の実施形態では、比較命令は、図6および図8に関して以下に説明されるように、プリディケートレジスタ120にビットを設定することができる。比較命令は、プリディケートレジスタ120に比較演算の結果を格納することができる。特定の実施形態では、比較命令は、ベクトルおよびスカラー比較命令を含む。スカラー比較命令は、直接比較およびレジスタ間比較の両形式で実行可能である。
特定の実施形態では、プリディケートレジスタ120に格納されたビットは、図7および図8に関して説明されるように、特定の命令を条件付きで実行するために使用することができる。特定の実施形態では、比較命令の結果は、プリディケートレジスタ120の1つに格納され、次いで条件命令用の条件ビットとして使用される。例えば、分岐命令およびマルチプレクサー(MUX)命令のようなベクトル命令は、プリディケートレジスタ120の主要な消費者である。しかしながら、特定のスカラー命令はまた、条件ビットとしてプリディケートレジスタ120に格納されたビットを使用することができる。特定の実施形態では、プリディケートレジスタ120を使用するスカラー演算は、最下位ビットのみを検査するが、ベクトル演算は、より多くのビットを検査する。
例えば、特定の実施形態では、無条件ジャンプ(jump-to-address)、レジスタ指定無条件ジャンプ(jump-to-address-from-register)、サブルーチンコール、およびレジスタ指定サブルーチンコールのような命令は、プリディケートレジスタ120に格納されたビットを使用する。無条件ジャンプ命令およびレジスタ指定無条件ジャンプ命令は、プログラムの流れを変更するために使用される。サブルーチンコール命令およびレジスタ指定サブルーチンコール命令は、プログラムの流れをサブルーチンに変更するために使用される。
特定の実施形態では、処理装置100は、プリディケートレジスタ120を操作しかつ移動させるための命令セットを有する。命令は、AND、OR、NOT、およびXORを含む論理命令を含む。さらに、含まれるさらなる命令は、述語論理圧縮(logical-reductions-on-predicates)を含む。第1の述語論理圧縮命令は、ソースプリディケートレジスタ中の下位8ビットのいずれかが、設定されている場合に、述語目的レジスタを0xffに設定し、そうでない場合0x00に設定する。別の命令はソースプリディケートレジスタ中の下位8ビットのすべてが、設定されている場合に、述語目的レジスタを0xffに設定し、そうでない場合0x00に設定する。
特定の実施形態では、処理装置100は、オーバーヘッドゼロのハードウェアループをサポートする。使用上非常に制限の少ない2組のネスト可能なループマシンがある。ソフトウェア分岐は、予測分岐機構(predicated branch mechanism)を通じて動作する。明示的比較命令は、予測ビットを生成する。生成されたビットは、条件分岐命令で使用される。条件ジャンプおよび無条件ジャンプ、並びにサブルーチン呼び出しは、PC相対(PC-relative)およびレジスタ間接の両方の形でサポートされる。
特定の実施形態では、処理装置100は、処理装置100が、第1の命令が完了する前に第2の命令を実行することを開始する、パイプライン処理をサポートする。
図2は、処理装置100により実行されうる例示的命令、ベクトル縮減乗算ハーフワード命令(vector reduce multiply half-words instruction)200の概略を示す。図2に示すように、第1の64ビットベクトル202のハーフワード(示されない)および第2の64ビットベクトル204のハーフワード(示されない)が、206において乗算される。次いで、中間結果212が、208において相互に加算される。完全な64ビットの結果が、目的レジスタ210に格納される。特定の実施形態では、目的レジスタ210に格納された64ビットの結果は、208において任意選択で加算される。命令200は、命令実行ユニット138により実行することができる。特定の実施形態では、命令実行ユニット138は、単精度(16x16)、倍精度(32x32および32x16)、ベクトル、および複素データをサポートするベクトル乗算加算器(MAC)ユニットである。命令実行ユニット138は、スカラーおよびパック化ベクトルデータの両者のさまざまなDSP演算を実行する能力があることが好ましい。さらに、命令実行ユニット138は、自動スケーリング、飽和および丸めをサポートする命令形式を実行することができる。
図3は、処理装置100により実行されうる、例示的命令、ベクトル比較命令300の概略を示す。図3に示すように、第1の64ビットベクトル302および第2の64ビットベクトル304が、306において比較される。ベクトル302およびベクトル304の各要素が比較され、真/偽の結果308のビットベクトルが生成される。真/偽の結果308のビットベクトルの各ビットは、比較出力に応じて0または1いずれかに設定される。特定の実施形態では、真/偽の結果308のビットベクトルは、プリディケートレジスタ120の1つに格納される。
図4は、処理装置100により実行されうる、例示的命令、ベクトルハーフワード比較命令400の概略を示す。図4に示すように、第1の64ビットベクトル402のハーフワード(示されない)および対応する第2の64ビットベクトル404のハーフワード(示されない)が、406において比較される。ベクトル402およびベクトル404の各ハーフワードが比較され、真/偽の結果408のビットベクトルが生成される。ハーフワード比較のために、真/偽の結果408のビットベクトルの2ビットが、各比較出力に応じて0または1いずれかに設定される。同様の方法で、ワード比較のために、結果ベクトルの4ビットが、各比較出力に応じて0または1いずれかに設定される。特定の実施形態では、真/偽の結果408のビットベクトルは、プリディケートレジスタ120の1つに格納される。
図5は、処理装置100により実行されうる例示的命令、ベクトルMUX命令500の概略を示す。図5に示すように、第1の64ビットベクトル502の各要素および第2の64ビットベクトル504の対応する各要素が、506において条件により選択される。ベクトル502中の各バイトおよびベクトル504中の対応する各バイトに対して、対応するビット510が、条件ビットとして使用される。特定の実施形態では、ビット510は、プリディケートレジスタ120の1つに格納される。条件ビット510は、MUX演算の結果を決定する。MUXは、ベクトル502またはベクトル504いずれかからバイトの値を選択するために演算する、すなわち2つのベクトル間の要素毎のバイト選択を実行する。ベクトルMUX命令は、結果508のバイトベクトルを生成する。特定の実施形態では、プリディケートレジスタ120の1つの下位8ビットのそれぞれに対して、ビットが設定されている場合、結果508の対応するバイトが、ベクトル502から対応するバイトに設定される。設定されていない場合、結果508の対応するバイトが、ベクトル504から対応するバイトに設定される。特定の実施形態では、結果508の対応するバイトベクトルは、汎用レジスタ144中の目的レジスタ(示されない)に格納される。
図6は、スカラー演算を実行する方法の流れ図を示す。スカラー命令は、命令実行ユニット136、138、140、142のような命令実行ユニットにより602において受信することができる。次いで、スカラー命令は、604において命令実行ユニットにより実行される。次いで、命令実行の結果ビットが、606において結果レジスタに設定される。特定の実施形態では、結果ビットは、プリディケートレジスタ120の1つに設定される。特定の実施形態では、命令は、スカラー比較命令であり、スカラー比較命令は、プリディケートレジスタ120の1つ中の各ビットを、比較結果が真の場合1に設定し、またプリディケートレジスタ120の1つ中の各ビットを、比較結果が偽の場合0に設定する。
図7はスカラー条件演算を実行する方法の流れ図を示す。スカラー条件命令は、702において、命令実行ユニット136、138、140、142の1つのような命令実行ユニットにより受信することができる。命令実行ユニットは、704において、スカラー条件命令を実行すべきであるかどうかを決定する。特定の実施形態では、704における決定は、プリディケートレジスタ120の1つ中の最下位ビットを検査することにより行われる。決定が実行されないことである場合、710において、スカラー条件演算は実行されない。決定が実行されることである場合、スカラー条件演算は、706において、命令実行ユニットにより実行される。次いで、命令実行の結果ビットが、708において結果レジスタに設定される。
図8は、ベクトル演算を実行する方法の流れ図を示す。特定の実施形態では、ベクトル演算は、ベクトル比較演算である。ベクトル命令は、802において、命令実行ユニット136、138、140、142の1つのような命令実行ユニットにより受信することができる。次いで、ベクトル命令が、804において、命令実行ユニットにより実行される。次いで、命令実行の結果ビットが、806において、結果レジスタに設定される。特定の実施形態では、結果ビットは、プリディケートレジスタ120の1つに設定される。
特定の実施形態では、処理装置100は、等値比較、符号付の大小比較、および符号なしの大小比較を含む3つの比較演算形式をサポートする。これらの3つの形式は、符号付および符号なしの値のすべての比較を生成するのに十分である。各比較の出力は、いずれの意味にも使用することができる、真または偽の値を生成する。さらに、レジスタオペランドは、別の比較を生成するために使用することができる。オペランドをスワップし、かつ結果の両方に意味を使用することにより、符号付および符号なし比較の完全な補数を実行することが可能である。
図9は、ベクトル条件演算を実行する方法の流れ図を示す。特定の実施形態では、ベクトル条件演算は、ベクトルMUX演算である。ベクトル条件命令は、902において、命令実行ユニット136、138、140、142のような命令実行ユニットにより受信することができる。命令実行ユニットは、904において、ビット510のような条件ビットセットを取得する。特定の実施形態では、取得されたビットは、プリディケートレジスタ120の1つからのものである。次いで、取得されたビットは、ベクトル条件命令が、906において、命令実行ユニットにより実行されるときに使用される。次いで、命令実行の結果ビットは、908において、結果レジスタに設定される。MUX命令のソースオペランドをスワップすることにより、結果の両方の意味を形成することができる。
例えば、ベクトルMUX演算では、第1のベクトル中の各バイトおよび第2のベクトル中の対応するバイトは、対応する条件ビットベクトルを使用して条件付きで選択される。特定の実施形態では、条件ビットは、プリディケートレジスタ120の1つに格納される。MUXは、第1のベクトルまたは第2のベクトルいずれかからバイトの値を選択するために演算する、すなわち2つのベクトル間の要素毎のバイト選択を実行する。ベクトルMUX命令は、結果のバイトベクトルを生成する。特定の実施形態では、プリディケートレジスタ120の1つの下位8ビットのそれぞれに対して、ビットが設定されている場合、結果の対応するバイトが、第1のベクトルから対応するバイトに設定される。設定されていない場合、結果の対応するバイトが、第2のベクトルから対応するバイトに設定される。特定の実施形態では、結果のバイトベクトルは、汎用レジスタ144中の目的レジスタ(示されない)に格納される。
特定の実施形態では、処理装置100は、ベクトル条件命令を使用して、条件命令文を有するループをベクトル化する。例えば、スカラー命令ループでは、スカラー命令は、ループの各連続した繰り返しのために読み出され、実行される。ベクトル条件命令文では、ループは、命令が1度読み出され、ベクトル上で実行されるようなベクトル条件演算で置き換えることができる。例えば、以下のCコードのループは、命令およびデータを8回読み出す。
for (i=0; i<8; i++) { if (A[i]]) { B[i] = C[i]; } }
このCコードのループは、好ましくは命令およびデータをそれぞれ1度読み出す2つのベクトル演算により置き換えることができる。例示的Cコードループをベクトル化するために、2つのベクトル演算が、実行される。最初に、ベクトルA中のバイトをゼロと比較する比較演算が実行され、結果のビットが、レジスタ、好ましくはプリディケートレジスタ120の1つに格納される。第2に、ベクトルA比較の結果を条件ビットとして使用して、ベクトルBおよびベクトルCのバイト間で選択するするベクトルMUX演算が実行される。ベクトルMUX演算の結果は、レジスタに格納することができる。したがって、命令およびデータは、より少ない回数読み出されるので、ベクトル条件演算は、処理装置が、条件命令文を有するループより速く、より効率的に、かつより低消費電力となることを可能とする。
図10は、一般的に表された1020である携帯通信装置の例示的、非制限の実施形態を示す。図10に示すように、携帯通信装置は、ディジタルシグナルプロセッサ1024を含むオンチップシステム1022を含む。特定の実施形態では、ディジタルシグナルプロセッサ1024は、図1に示されかつ本明細書中に記載された処理装置である。図10に示すように、DSP1024は、スカラー演算およびベクトル演算用の連結されたプリディケートレジスタ1090を含む。特定の実施形態では、比較演算は、結果を連結されたプリディケートレジスタ1090に格納し、条件演算は、格納された比較結果を条件ビットとして、例えば、上記のベクトルMUX命令中で使用する。図10はまた、ディジタルシグナルプロセッサ1024およびディスプレイ1028に連結されたディスプレイコントローラ1026を示す。さらに、入力装置1030は、ディジタルシグナルプロセッサ1024に連結される。図に示すように、メモリ1032は、ディジタルシグナルプロセッサ1024に連結される。さらに、コーダ/デコーダ(CODEC)1034は、ディジタルシグナルプロセッサ1024に連結することができる。スピーカ1036およびマイクロフォン1038は、CODEC1030に連結することができる。
図10はまた、無線コントローラ1040が、ディジタルシグナルプロセッサ1024および無線アンテナ1042に接続できることを示す。特定の実施形態では、電源1044は、オンチップシステム1002に連結することができる。さらに、特定の実施形態では、図10に示されるように、ディスプレイ1026、入力装置1030、スピーカ1036、マイクロフォン1038、無線アンテナ1042および電源1044は、オンチップシステム1022に外付けされる。しかしながら、それぞれは、オンチップシステム1022の構成要素に連結することができる。
特定の実施形態では、ディジタルシグナルプロセッサ1024は、インターリーブ型マルチスレッディング(interleaved multithreading)を利用して、携帯通信装置1020のさまざまな構成要素に必要となる機能および動作を実行するために必要なプログラムスレッドと関連した命令を処理する。例えば、無線通信セッションが、無線アンテナを介して確立されたとき、ユーザは、マイクロフォン1038に話をすることができる。ユーザの音声を表現する電子的信号は、CODEC1034に送られて符号化される。ディジタルシグナルプロセッサ1024は、マイクロフォンからの電子的信号を符号化するためにCODEC1034のためのデータ処理を実行することができる。さらに、無線アンテナ1042を介して受信した入力信号は、復号化し、スピーカ1036に送信するために無線コントローラ1040によりCODEC1034に送ることができる。ディジタルシグナルプロセッサ1024はまた、無線アンテナ1042を介して受信された信号を復号化するとき、CODEC1034のためのデータ処理を実行することができる。
さらに、無線通信セッションの開始前、処理中または終了後に、ディジタルシグナルプロセッサ1024は、入力装置1030から受信した入力を処理することができる。例えば、無線通信セッションの処理中、ユーザは、入力装置1030およびディスプレイ1028を使用して、携帯通信装置1020のメモリ1032内に組み込まれているWebブラウザーを介してインターネットを見て回ることができる。ディジタルシグナルプロセッサ1024は、本明細書中に記載されているように、入力装置1030、ディスプレイコントローラ1026、ディスプレイ1028、CODEC1034および無線コントローラ1040により使用されるさまざまなプログラムスレッドを交互実行して、携帯通信装置1020およびその中のさまざまな構成要素の動作を効率的に制御することができる。さまざまなプログラムスレッドと関連した命令の多くは、1つまたはそれ以上のクロックサイクルの間に並列に実行される。このように、無駄なクロックサイクルによる電力およびエネルギー消費は、実質的に減少する。
図11を参照すると、携帯電話の例示的、非制限の実施形態が示され、一般的に1120で表される。図示されたように、携帯電話1120は、相互に連結されたディジタルベースバンドプロセッサ1124およびアナログベースバンドプロセッサ1126を含むオンチップシステム1122を含む。特定の実施形態では、ディジタルベースバンドプロセッサ1124は、ディジタルシグナルプロセッサ、例えば、図1に示されかつ本明細書に記載のプロセッサである。図11に示すように、DSP1124は、スカラー演算およびベクトル演算用の連結されたプリディケートレジスタ1190を含む。特定の実施形態では、比較演算は、連結されたプリディケートレジスタ1190に結果を格納し、条件演算は、格納された比較結果を条件ビットとして、例えば、上記のベクトルMUX命令において、使用する。図11に示すように、ディスプレイコントローラ1128およびタッチスクリーンコントローラ1130は、ディジタルベースバンドプロセッサ1124に連結される。同様に、オンチップシステム1122に外付けのタッチスクリーンディスプレイ1132は、ディスプレイコントローラ1128およびタッチスクリーンコントローラ1130に連結される。
さらに、図11は、動画エンコーダ1134、例えば、PAL(phase alternating line)エンコーダ、SECAM(sequential couleur a memoire)エンコーダまたはNTSC(national television system(s) committee)エンコーダが、ディジタルベースバンドプロセッサ1124に連結される。さらに、動画増幅器1136は、動画エンコーダ1134およびタッチスクリーンディスプレイ1132に連結される。また、動画ポート1138は、動画増幅器1136に連結される。図11に示すように、ユニバーサルシリアルバス(USB)コントローラ1140は、ディジタルベースバンドプロセッサ1124に連結される。また、USBポート1142は、USBコントローラ1140に連結される。メモリ1144および加入者識別モジュール(SIM)カード1146はまた、ディジタルベースバンドプロセッサ1124に連結することができる。さらに、図11に示すように、ディジタルカメラ1148は、ディジタルベースバンドプロセッサ1124に連結することができる。例示的実施形態では、ディジタルカメラ1148は、電荷連結素子(CCD)カメラまたは相補型金属酸化膜半導体(CMOS)カメラである。
図11にさらに示すように、ステレオオーディオCODEC1150は、アナログベースバンドプロセッサ1126に連結することができる。さらにオーディオ増幅器1152は、ステレオオーディオCODEC1150に連結することができる。例示的実施形態では、第1のステレオスピーカ1154および第2のステレオスピーカ1156は、オーディオ増幅器1152に連結される。図11は、マイクロフォン増幅器1158もまた、ステレオオーディオCODEC1150に連結できることを示す。さらに、マイクロフォン1160は、マイクロフォン増幅器1158に連結することができる。特定の実施形態では、周波数変調(FM)ラジオチューナ1162は、ステレオオーディオCODEC1150に連結することができる。また、FMアンテナ1164は、FMラジオチューナ1162に連結される。さらに、ステレオヘッドフォン1166は、ステレオオーディオCODEC1150に連結することができる。
さらに、図11は、高周波数(RF)送受信機1168が、アナログベースバンドプロセッサ1126に連結することができることを示す。RFスイッチ1170は、RF送受信機1168およびRFアンテナ1172に連結することができる。図11に示すように、キーパッド1174は、アナログベースバンドプロセッサ1126に連結することができる。また、マイクロフォン1176付モノラルヘッドフォンは、アナログベースバンドプロセッサ1126に連結することができる。さらに、バイブレータ装置1178は、アナログベースバンドプロセッサ1126に連結することができる。図11はまた、電源1180が、オンチップシステム1122に連結できることを示す。特定の実施形態では、電源1180は、電力を必要とする携帯電話1120のさまざまな構成要素に電力を供給
する直流(DC)電源である。さらに、特定の実施形態では、電源は、充電可能DC電池または交流(AC)電源に接続されるACからDCへの変圧器から引き出されるDC電源である。
特定の実施形態では、図11に示すように、タッチスクリーンディスプレイ1132、動画ポート1138、USBポート1142、カメラ1148、第1のステレオスピーカ1154、第2のステレオスピーカ1156、マイクロフォン、FMアンテナ1164、ステレオヘッドフォン1166、RFスイッチ1170、RFアンテナ1172、キーパッド1174、モノラルヘッドセット1176、バイブレータ1178、および電源1180は、オンチップシステム1122に外付けされる。さらに、特定の実施形態では、ディジタルベースバンドプロセッサ1124は、携帯電話1120と関連した種々の構成要素の1つまたはそれ以上と関連したさまざまなプログラムスレッドを処理するために、本明細書に記載されたインターリーブ型マルチスレッディングを使用することができる。
図12を参照すると、無線インターネットプロトコル(IP)電話の例示的、非制限の実施形態が示され、一般的に1200で表される。図示のように、無線IP電話1200は、ディジタルシグナルプロセッサ(DSP)1204を含むオンチップシステム1202を含む。特定の実施形態では、DSP1204は、図1に示され、本明細書に記載された処理装置である。図12に示されるように、DSP1204は、スカラー演算およびベクトル演算用の連結されたプリディケートレジスタ1290を含む。特定の実施形態では、比較演算は、連結されたプリディケートレジスタ1290に結果を格納し、条件演算は、格納された比較結果を条件ビットとして、例えば、上記のベクトルMUX命令において、使用する。図12に示されるように、ディスプレイコントローラ1206は、DSP1204に連結され、またディスプレイ1208は、ディスプレイコントローラ1206に連結される。例示的実施形態では、ディスプレイ1208は液晶ディスプレイ(LCD)である。さらに、図12は、キーパッド1210が、DSP1204に連結できることを示す。
図12にさらに示すように、フラッシュメモリ1212は、DSP1204に連結することができる。シンクロナスダイナミックランダムアクセスメモリ(SDRAM)1214、スタティックランダムアクセスメモリ(SRAM)1216、および電気的に消去可能なプログラム可能リードオンリーメモリ(EEPROM)1218はまた、DSP1204に連結することができる。図12はまた、発光ダイオード(LED)1220が、DSP1204に連結することができることを示す。さらに、特定の実施形態では、音声CODEC1222は、DSP1204に連結することができる。増幅器1224は、音声CODEC1222に連結することができ、また、モノラルスピーカ1226は、増幅器1224に連結することができる。さらに、図12は、モノラルヘッドセット1228もまた、音声CODEC1222に連結することができることを示す。特定の実施形態では、モノラルヘッドセット1228は、マイクロフォンを含む。
図12はまた、無線ローカルエリアネットワーク(WLAN)ベースバンドプロセッサ1230が、DSP1204に連結することができることを示す。RF送受信機1232は、WLANベースバンドプロセッサ1230に連結することが、またRFアンテナ1234は、RF送受信機1232に連結することができる。特定の実施形態では、Bluetooth(登録商標)コントローラ1236はまた、DSP1204に連結することができ、またBluetoothアンテナ1238は、コントローラ1236に連結することができる。図12はまた、USBポート1240もまた、DSP1204に連結することができることを示す。さらに、電源1242は、オンチップシステム1202に連結されて、無線IP電話1200のさまざまな構成要素にオンチップシステム1202を介して電力を供給する。
特定の実施形態では、図12に示すように、ディスプレイ1208、キーパッド1210、LED1220、モノラルスピーカ1226、モノラルヘッドセット1228、RFアンテナ1234、Bluetoothアンテナ1238、USBポート1240、および電源1242は、オンチップシステム1202に外付けである。しかしながら、これらの構成要素のそれぞれは、オンチップシステムの1つまたはそれ以上の構成要素に連結される。さらに、特定の実施形態では、ディジタルシグナルプロセッサ1204は、IP電話1200と関連した種々の構成要素の1つまたはそれ以上と関連したさまざまなプログラムスレッドを処理するために、本明細書に記載されたインターリーブ型マルチスレッディングを使用することができる。
図13は、一般的に1300に表された携帯情報端末(PDA)の例示的、非制限の実施形態を示す。図に示すように、PDA1300は、ディジタルシグナルプロセッサ(DSP)1304を含むオンチップシステム1302を含む。特定の実施形態では、DSP1304は、図1に示され、本明細書に記載された処理装置を含む。図13に示すように、DSP1304は、スカラー演算およびベクトル演算用の連結されたプリディケートレジスタ1390を含む。特定の実施形態では、比較演算は、連結されたプリディケートレジスタ1390に結果を格納し、また条件演算は、格納された比較結果を条件ビットとして、例えば、上記のベクトルMUX命令において、使用する。図13に示すように、タッチスクリーンコントローラ1306およびディスプレイコントローラ1308は、DSP
1304に連結される。さらに、タッチスクリーンディスプレイは、タッチスクリーンコントローラ1306およびディスプレイコントローラ1308に連結される。図13はまた、キーパッド1312が、DSP1304に連結することができることを示す。
図13にさらに示すように、フラッシュメモリ1314は、DSP1304に連結することができる。また、リードオンリーメモリ(ROM)1316、ダイナミックランダムアクセスメモリ(DRAM)1318、および電気的に消去可能なプログラム可能リードオンリーメモリ(EEPROM)1320は、DSP1304に連結することができる。図13はまた、赤外線データ協会規格(IrDA)ポート1322は、DSP1304に連結することができる。さらに、特定の実施形態では、ディジタルカメラ1324は、DSP1304に連結することができる。
図13に示すように、特定の実施形態では、ステレオオーディオCODEC1326は、DSP1304に連結することができる。第1のステレオ増幅器1328は、ステレオオーディオCODEC1326に連結することができ、また第1のステレオスピーカ1330は、第1のステレオ増幅器1328に連結することができる。さらに、マイクロフォン増幅器1332は、ステレオオーディオCODEC1326に連結することができ、またマイクロフォン1334は、マイクロフォン増幅器1332に連結することができる。図13はさらに、第2のステレオ増幅器1336が、ステレオオーディオCODEC1326に連結することができ、また第2のステレオスピーカ1338が、第2のステレオ増幅器1336に連結することができることを示す。特定の実施形態では、ステレオヘッドフォン1340はまた、ステレオオーディオCODEC1326に連結することができる。
図13はまた、802.11コントローラ1342が、DSP1304に連結することができ、また802.11アンテナ1344が、802.11コントローラ1342に連結することができることを示す。さらに、Bluetoothコントローラ1346は、DSP1304に連結することができ、またBluetoothアンテナ1348は、Bluetoothコントローラ1346に連結することができる。図13に示すように、USBコントローラ1350は、DSP1304に連結することができ、またUSBポート1352は、USBコントローラ1350に連結することができる。さらに、スマートカード1354、例えば、マルチメディアカード(MMC)またはセキュアディジタルカード(SD)は、DSP1304に連結することができる。さらに、図13に示すように、電源1356は、オンチップシステム1302に連結することができ、オンチップシステム1302を介してPDA1300のさまざまな構成要素に電力を供給することができる。
特定の実施形態では、図13に示すように、ディスプレイ1310、キーパッド1312、IrDAポート1322、ディジタルカメラ1324、第1のステレオスピーカ1330、マイクロフォン1334、第2のステレオスピーカ1338、ステレオヘッドフォン1340、802.11アンテナ1344、Bluetoothアンテナ1348、USBポート1352、および電源1350は、オンチップシステム1302に外付けされる。しかしながら、これらの構成要素のそれぞれは、オンチップシステム上の1つまたはそれ以上の構成要素に連結される。さらに、特定の実施形態では、ディジタルシグナルプロセッサ1304は、携帯情報端末1300と関連した種々の構成要素の1つまたはそれ以上と関連したさまざまなプログラムスレッドを処理するために、本明細書に記載されたインターリーブ型マルチスレッディングを使用することができる。
図14を参照すると、moving pictures experts groupオーディオレイヤー3(MP3)プレーヤのような、オーディオファイルプレーヤの例示的、非制限の実施形態が示され、一般的に1400で表される。図に示されるように、オーディオファイルプレーヤ1400は、ディジタルシグナルプロセッサ(DSP)1404を含むオンチップシステム1402を含む。特定の実施形態では、DSP1404は、図1に示され、本明細書に記載される処理装置である。図14に示すように、DSP1404は、スカラー演算およびベクトル演算用の連結されたプリディケートレジスタ1490を含む。特定の実施形態では、比較演算は、連結されたプリディケートレジスタ1490に結果を格納し、条件演算は、格納された比較結果を条件ビットとして、例えば、上記のベクトルMUX命令において、使用する。図14に示すように、ディスプレイコントローラ1406は、DSP1404に連結され、またディスプレイ1408は、ディスプレイコントローラ1406に連結される。例示的実施形態では、ディスプレイ1408は、液晶ディスプレイ(LCD)である。図14はさらに、キーパッド1410が、DSP1404に連結することができることを示す。
図14にさらに示すように、フラッシュメモリ1412およびリードオンリーメモリ(ROM)1414は、DSP1404に連結することができる。さらに、特定の実施形態では、オーディオCODEC1416は、DSP1404に連結することができる。増幅器1418は、オーディオCODEC1416に連結することができ、またモノラルスピーカ1420は、増幅器1418に連結することができる。図14はさらに、マイクロフォン入力1422およびステレオ入力1424もまた、オーディオCODEC1416に連結することができることを示す。特定の実施形態では、ステレオヘッドフォン1426もまた、オーディオCODEC1416に連結することができる。
図14はまた、USBポート1428およびスマートカード1430が、DSP1404に連結することができることを示す。さらに、電源1432は、オンチップシステム1402に連結することができ、オンチップシステム1402を介してオーディオファイルプレーヤ1400のさまざまな構成要素に電力を供給することができる。
特定の実施形態では、図14に示されるように、ディスプレイ1408、キーパッド1410、モノラルスピーカ1420、マイクロフォン入力1422、ステレオ入力1424、ステレオヘッドフォン1426、USBポート1428、および電源1432は、オンチップシステム1402に外付けである。しかしながら、これらの構成要素のそれぞれは、オンチップシステム上の1つまたはそれ以上の構成要素に連結される。また、特定の実施形態では、ディジタルシグナルプロセッサ1404は、オーディオファイルプレーヤ1400と関連した種々の構成要素の1つまたはそれ以上と関連したさまざまなプログラムスレッドを処理するために、本明細書に記載されたインターリーブ型マルチスレッディングを使用することができる。
本明細書に記載されたシステムおよび方法は、複雑性、コストおよび電力使用の削減を実現する。例えば、同一のプリディケートレジスタをスカラーおよびベクトル演算両者に対して動作させることは、必要なプリディケートレジスタの数を削減することにより処理装置のコストおよび複雑性を削減する。また、汎用レジスタを使用するのではなく別個のプリディケートレジスタファイルを有することは、処理装置のコスト、複雑性および電力消費を削減する。さらに、本明細書に記載されたシステムおよび方法は、処理能力の改善を実現する。
さらに、当業者は、本明細書中に開示された実施形態と関連して説明された、さまざまな例示的論理ブロック、構成、モジュール、回路およびアルゴリズムのステップが、電子的ハードウェア、コンピュータソフトウェア、または両者の組み合わせとして実装できることを理解するであろう。このハードウェアおよびソフトウェアの互換性を明確に示すために、さまざまな例示的構成要素、ブロック、構成、モジュール、回路およびステップは、これらの機能性を用いて一般的に上記に説明されている。このような機能性が、ハードウェアとしてまたはソフトウェアとして実装されるかどうかは、特定のアプリケーションおよびシステム全体に課せられる設計上の制約に依存する。当業者は、それぞれの特定のアプリケーションに対してさまざまな方法で説明された機能性を実装できるが、このような実装判断は、本発明の開示の範囲から逸脱するものと解釈すべきではない。
本明細書で開示された実施形態と関連して説明された方法またはアルゴリズムのステップは、直接的に、ハードウェア中に、処理装置により実行されるソフトウェアモジュール中に、または両者の組み合わせ中に実現することができる。ソフトウェアモジュールは、RAMメモリ、フラッシュメモリ、ROMメモリ、PROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、可換型ディスク、CD−ROM、または公知の記憶媒体の任意の他の形式中に存在することができる。例示的記憶媒体は、処理装置が、記憶媒体から情報を読み出し、また情報を書き込むことができるような処理装置に連結される。代替として、記憶媒体は、処理装置に統合することができる。処理装置および記憶媒体は、ASIC中に存在することができる。ASICは、計算装置またはユーザ端末中に存在することができる。代替として、処理装置および記憶媒体は、計算装置またはユーザ端末中に離散的構成要素として存在することができる。
開示された実施形態の前記説明は、任意の当業者が本発明のある実施形態の開示を作成または使用することを可能にするために提供される。これらの実施形態に対するさまざまな修正は、当業者には直ちに理解され、本明細書中に定義された一般的な原理は、本開示の精神および範囲を逸脱することなく他の実施形態に適用することができる。したがって、本発明の開示は、本明細書中に示される実施形態に限定することを意図するものではなく、以下の特許請求の範囲により定義される原理および新しい機能と調和する最も広い範囲が与えられるべきである。
開示された実施形態の前記説明は、任意の当業者が本発明のある実施形態の開示を作成または使用することを可能にするために提供される。これらの実施形態に対するさまざまな修正は、当業者には直ちに理解され、本明細書中に定義された一般的な原理は、本開示の精神および範囲を逸脱することなく他の実施形態に適用することができる。したがって、本発明の開示は、本明細書中に示される実施形態に限定することを意図するものではなく、以下の特許請求の範囲により定義される原理および新しい機能と調和する最も広い範囲が与えられるべきである。
以下に本件出願当初の特許請求の範囲に記載された発明を付記する。
(1) スカラーおよびベクトル演算用の連結された条件コードレジスタを含む制御レジスタと、
前記連結された条件コードレジスタを利用するスカラーおよびベクトル命令を実行するための少なくとも1つの命令実行ユニットと
を備える、処理装置。
(2) メモリユニットと、
前記メモリユニットに応答するシーケンサとをさらに備え、
前記少なくとも1つの命令実行ユニットがシーケンサに応答する、
(1)に記載の処理装置。
(3) 前記メモリユニットが、
前記連結された条件コードレジスタを利用するスカラー演算用命令と、
前記連結された条件コードレジスタを利用するベクトル演算用命令とを含む、(2)に記載の処理装置。
(4) 前記スカラー演算がスカラー比較演算である、(3)に記載の処理装置。
(5) 前記ベクトル演算がベクトル比較演算である、(3)に記載の処理装置。
(6) スカラーおよびベクトル演算用の4個の8ビットの連結された条件コードレジスタをさらに備える、(2)に記載の処理装置。
(7) 前記スカラー演算が、前記連結された条件コードレジスタに基づき条件付きで実行される、(3)に記載の処理装置。
(8) 前記スカラー演算が、前記連結された条件コードレジスタを入力として使用する、(3)に記載の処理装置。
(9) ベクトル演算が、前記連結された条件コードレジスタに基づき条件付きで実行される、(3)に記載の処理装置。
(10) ベクトル比較演算が、前記連結された条件コードレジスタを使用して、ベクトル比較演算の結果を格納する、(1)に記載の処理装置。
(11) 前記ベクトル演算が、64ビットのベクトルマルチプレクサー命令であり、前記連結された条件コードレジスタが、8ビットレジスタである、(10)に記載の処理装置。
(12) 前記ベクトル演算が、各要素の結果を4つの連結された条件コードレジスタビットに複写するワード比較演算である、(3)に記載の処理装置。
(13) ベクトル演算用の命令を、ループアルゴリズムの代わりに使用することができる、(2)に記載の処理装置。
(14) 前記制御レジスタが、ループレジスタ、修飾レジスタ、ユーザ状態レジスタ、プログラムカウンターレジスタ、およびユーザ汎用ポインターレジスタを含む、(1)に記載の処理装置。
(15) マルチスレッディングが、プログラムスレッドと関連した命令を処理するために利用されて、並列演算を実行する、(6)に記載の処理装置。
(16) パイプライン処理を利用して、命令を処理する、(6)に記載の処理装置。
(17) 前記少なくとも1つの命令実行ユニットが、バイト、ハーフワード、ワード、およびダブルワードで演算を実行する、(6)に記載の処理装置。
(18) 連結されたスカラーおよびベクトル条件コードレジスタを使用して比較演算用命令を実行し、
前記連結されたスカラーおよびベクトル条件コードレジスタを使用して条件演算用命令を実行すること、
を備える、データ処理方法。
(19) 前記比較演算がスカラー比較演算である、(18)に記載の方法。
(20) 命令実行ユニットにおいてスカラー比較演算用命令を受信し、
前記スカラー比較演算の結果を前記連結されたスカラーおよびベクトル条件コードレジスタに格納すること、
をさらに備える、(19)に記載の方法。
(21) 前記条件演算がスカラー条件演算である、(18)に記載の方法。
(22) 命令実行ユニットにおいてスカラー条件演算用命令を受信し、
前記連結されたスカラーおよびベクトル条件コードレジスタから少なくとも1つの条件コードビットを評価し、
前記スカラー条件演算用命令を実行すべきであるかどうかを決定し、
前記決定に応じて、前記スカラー条件演算の結果をレジスタに格納すること、
をさらに備える、(21)に記載の方法。
(23) 前記比較演算がベクトル比較演算である、(18)に記載の方法。
(24) 命令実行ユニットにおいてベクトル比較演算用命令を受信し、
前記ベクトル比較演算の結果を前記連結されたスカラーおよびベクトル条件コードレジスタに格納すること、
をさらに備える、(23)に記載の方法。
(25) 前記条件演算がベクトル条件演算である、(18)に記載の方法。
(26) 命令実行ユニットにおいてベクトル条件演算用命令を受信し、
前記連結されたスカラーおよびベクトル条件コードレジスタからの少なくとも1つの条件コードビットを、前記ベクトル条件演算で使用し、
前記ベクトル条件演算の結果をレジスタに格納すること、
をさらに備える、(25)に記載の方法。
(27) 前記条件演算がベクトル条件演算である、(19)に記載の方法。
(28) 連結された条件コードレジスタを使用してスカラー演算を実行するための命令と、
前記連結された条件コードレジスタを使用してベクトル演算を実行するための命令と、
を備える、処理装置用命令セット。
(29) 前記スカラー演算を実行するための前記命令が、スカラー比較演算である、(28)に記載の命令セット。
(30) 前記スカラー演算を実行するための前記命令が、スカラー条件演算である、(28)に記載の命令セット。
(31) 前記ベクトル演算を実行するための前記命令が、ベクトル比較演算である、(28)に記載の命令セット。
(32) 前記ベクトル演算を実行するための前記命令が、ベクトル条件演算である、(28)に記載の命令セット。
(33) スカラーおよびベクトル演算用の連結された条件コードレジスタと、
スカラーおよびベクトル条件演算に適したベクトルマルチプレクサー演算を実行するための実行ユニットと、
を備える、処理装置。
(34) アンテナと、
前記アンテナに動作可能に接続された送受信機と、
メモリユニットと、
前記メモリユニットに連結され、前記送受信機に応答するディジタルシグナルプロセッサと
を備える無線通信装置であって、
前記ディジタルシグナルプロセッサが、
スカラーおよびベクトル演算用の連結された条件コードレジスタを含む制御レジスタと、
前記連結された条件コードレジスタを利用するスカラーおよびベクトル命令を実行するための少なくとも1つの命令実行ユニットと
を含む、無線通信装置。
(35) 前記ディジタルシグナルプロセッサに連結された音声コーダ/デコーダ(CODEC)と、
前記ディジタルシグナルプロセッサに連結されたBluetooth(登録商標)コントローラと、
前記Bluetoothコントローラに連結されたBluetoothアンテナと、
前記ディジタルシグナルプロセッサに連結された無線ローカルエリアネットワークメディアアクセス制御(WLAN MAC)ベースバンドプロセッサと
をさらに備える、(34)に記載の携帯通信装置。
(36) 前記ディジタルシグナルプロセッサに連結されたステレオコーダ/デコーダ(CODEC)と、
前記ディジタルシグナルプロセッサに連結された802.11コントローラと、
前記802.11コントローラに連結された802.11アンテナと、
前記ディジタルシグナルプロセッサに連結されたBluetoothコントローラと、
前記Bluetoothコントローラに連結されたBluetoothアンテナと、
前記ディジタルシグナルプロセッサに連結された汎用シリアルバス(USB)コントローラと、
前記USBコントローラに連結されたUSBポートと
をさらに備える、(34)に記載の携帯通信装置。
(37) ディジタルシグナルプロセッサと、
前記ディジタルシグナルプロセッサに連結されたオーディオコーダ/デコーダ(CODEC)と、
前記ディジタルシグナルプロセッサに連結されたマルチメディアカードと、
前記ディジタルシグナルプロセッサに連結された汎用シリアルバス(USB)ポートと
を備える、オーディオファイルプレーヤであって、
前記ディジタルシグナルプロセッサが、
スカラーおよびベクトル演算用の連結された条件コードレジスタを含む制御レジスタと、
前記連結された条件コードレジスタを利用するスカラーおよびベクトル命令を実行するための少なくとも1つの命令実行ユニットと
を備える、オーディオファイルプレーヤ。
(38) 連結された条件コードレジスタを利用するスカラー演算を実行するための命令を実行するための手段と、
前記連結された条件コードレジスタを利用するベクトル演算を実行するための命令を実行するための手段と
を備える、処理装置。

Claims (38)

  1. スカラーおよびベクトル演算用の連結された条件コードレジスタを含む制御レジスタと、
    前記連結された条件コードレジスタを利用するスカラーおよびベクトル命令を実行するための少なくとも1つの命令実行ユニットと
    を備える、処理装置。
  2. メモリユニットと、
    前記メモリユニットに応答するシーケンサとをさらに備え、
    前記少なくとも1つの命令実行ユニットがシーケンサに応答する、
    請求項1に記載の処理装置。
  3. 前記メモリユニットが、
    前記連結された条件コードレジスタを利用するスカラー演算用命令と、
    前記連結された条件コードレジスタを利用するベクトル演算用命令とを含む、請求項2に記載の処理装置。
  4. 前記スカラー演算がスカラー比較演算である、請求項3に記載の処理装置。
  5. 前記ベクトル演算がベクトル比較演算である、請求項3に記載の処理装置。
  6. スカラーおよびベクトル演算用の4個の8ビットの連結された条件コードレジスタをさらに備える、請求項2に記載の処理装置。
  7. 前記スカラー演算が、前記連結された条件コードレジスタに基づき条件付きで実行される、請求項3に記載の処理装置。
  8. 前記スカラー演算が、前記連結された条件コードレジスタを入力として使用する、請求項3に記載の処理装置。
  9. ベクトル演算が、前記連結された条件コードレジスタに基づき条件付きで実行される、請求項3に記載の処理装置。
  10. ベクトル比較演算が、前記連結された条件コードレジスタを使用して、ベクトル比較演算の結果を格納する、請求項1に記載の処理装置。
  11. 前記ベクトル演算が、64ビットのベクトルマルチプレクサー命令であり、前記連結された条件コードレジスタが、8ビットレジスタである、請求項10に記載の処理装置。
  12. 前記ベクトル演算が、各要素の結果を4つの連結された条件コードレジスタビットに複写するワード比較演算である、請求項3に記載の処理装置。
  13. ベクトル演算用の命令を、ループアルゴリズムの代わりに使用することができる、請求項2に記載の処理装置。
  14. 前記制御レジスタが、ループレジスタ、修飾レジスタ、ユーザ状態レジスタ、プログラムカウンターレジスタ、およびユーザ汎用ポインターレジスタを含む、請求項1に記載の処理装置。
  15. マルチスレッディングが、プログラムスレッドと関連した命令を処理するために利用されて、並列演算を実行する、請求項6に記載の処理装置。
  16. パイプライン処理を利用して、命令を処理する、請求項6に記載の処理装置。
  17. 前記少なくとも1つの命令実行ユニットが、バイト、ハーフワード、ワード、およびダブルワードで演算を実行する、請求項6に記載の処理装置。
  18. 連結されたスカラーおよびベクトル条件コードレジスタを使用して比較演算用命令を実行し、
    前記連結されたスカラーおよびベクトル条件コードレジスタを使用して条件演算用命令を実行すること、
    を備える、データ処理方法。
  19. 前記比較演算がスカラー比較演算である、請求項18に記載の方法。
  20. 命令実行ユニットにおいてスカラー比較演算用命令を受信し、
    前記スカラー比較演算の結果を前記連結されたスカラーおよびベクトル条件コードレジスタに格納すること、
    をさらに備える、請求項19に記載の方法。
  21. 前記条件演算がスカラー条件演算である、請求項18に記載の方法。
  22. 命令実行ユニットにおいてスカラー条件演算用命令を受信し、
    前記連結されたスカラーおよびベクトル条件コードレジスタから少なくとも1つの条件コードビットを評価し、
    前記スカラー条件演算用命令を実行すべきであるかどうかを決定し、
    前記決定に応じて、前記スカラー条件演算の結果をレジスタに格納すること、
    をさらに備える、請求項21に記載の方法。
  23. 前記比較演算がベクトル比較演算である、請求項18に記載の方法。
  24. 命令実行ユニットにおいてベクトル比較演算用命令を受信し、
    前記ベクトル比較演算の結果を前記連結されたスカラーおよびベクトル条件コードレジスタに格納すること、
    をさらに備える、請求項23に記載の方法。
  25. 前記条件演算がベクトル条件演算である、請求項18に記載の方法。
  26. 命令実行ユニットにおいてベクトル条件演算用命令を受信し、
    前記連結されたスカラーおよびベクトル条件コードレジスタからの少なくとも1つの条件コードビットを、前記ベクトル条件演算で使用し、
    前記ベクトル条件演算の結果をレジスタに格納すること、
    をさらに備える、請求項25に記載の方法。
  27. 前記条件演算がベクトル条件演算である、請求項19に記載の方法。
  28. 連結された条件コードレジスタを使用してスカラー演算を実行するための命令と、
    前記連結された条件コードレジスタを使用してベクトル演算を実行するための命令と、
    を備える、処理装置用命令セット。
  29. 前記スカラー演算を実行するための前記命令が、スカラー比較演算である、請求項28に記載の命令セット。
  30. 前記スカラー演算を実行するための前記命令が、スカラー条件演算である、請求項28に記載の命令セット。
  31. 前記ベクトル演算を実行するための前記命令が、ベクトル比較演算である、請求項28に記載の命令セット。
  32. 前記ベクトル演算を実行するための前記命令が、ベクトル条件演算である、請求項28に記載の命令セット。
  33. スカラーおよびベクトル演算用の連結された条件コードレジスタと、
    スカラーおよびベクトル条件演算に適したベクトルマルチプレクサー演算を実行するための実行ユニットと、
    を備える、処理装置。
  34. アンテナと、
    前記アンテナに動作可能に接続された送受信機と、
    メモリユニットと、
    前記メモリユニットに連結され、前記送受信機に応答するディジタルシグナルプロセッサと
    を備える無線通信装置であって、
    前記ディジタルシグナルプロセッサが、
    スカラーおよびベクトル演算用の連結された条件コードレジスタを含む制御レジスタと、
    前記連結された条件コードレジスタを利用するスカラーおよびベクトル命令を実行するための少なくとも1つの命令実行ユニットと
    を含む、無線通信装置。
  35. 前記ディジタルシグナルプロセッサに連結された音声コーダ/デコーダ(CODEC)と、
    前記ディジタルシグナルプロセッサに連結されたBluetoothコントローラと、
    前記Bluetoothコントローラに連結されたBluetoothアンテナと、
    前記ディジタルシグナルプロセッサに連結された無線ローカルエリアネットワークメディアアクセス制御(WLAN MAC)ベースバンドプロセッサと
    をさらに備える、請求項34に記載の携帯通信装置。
  36. 前記ディジタルシグナルプロセッサに連結されたステレオコーダ/デコーダ(CODEC)と、
    前記ディジタルシグナルプロセッサに連結された802.11コントローラと、
    前記802.11コントローラに連結された802.11アンテナと、
    前記ディジタルシグナルプロセッサに連結されたBluetoothコントローラと、
    前記Bluetoothコントローラに連結されたBluetoothアンテナと、
    前記ディジタルシグナルプロセッサに連結された汎用シリアルバス(USB)コントローラと、
    前記USBコントローラに連結されたUSBポートと
    をさらに備える、請求項34に記載の携帯通信装置。
  37. ディジタルシグナルプロセッサと、
    前記ディジタルシグナルプロセッサに連結されたオーディオコーダ/デコーダ(CODEC)と、
    前記ディジタルシグナルプロセッサに連結されたマルチメディアカードと、
    前記ディジタルシグナルプロセッサに連結された汎用シリアルバス(USB)ポートと
    を備える、オーディオファイルプレーヤであって、
    前記ディジタルシグナルプロセッサが、
    スカラーおよびベクトル演算用の連結された条件コードレジスタを含む制御レジスタと、
    前記連結された条件コードレジスタを利用するスカラーおよびベクトル命令を実行するための少なくとも1つの命令実行ユニットと
    を備える、オーディオファイルプレーヤ。
  38. 連結された条件コードレジスタを利用するスカラー演算を実行するための命令を実行するための手段と、
    前記連結された条件コードレジスタを利用するベクトル演算を実行するための命令を実行するための手段と
    を備える、処理装置。
JP2013087516A 2006-08-18 2013-04-18 スカラー/ベクトル命令を使用したデータ処理システムおよび方法 Expired - Fee Related JP5680697B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/506,584 US7676647B2 (en) 2006-08-18 2006-08-18 System and method of processing data using scalar/vector instructions
US11/506,584 2006-08-18

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2009525695A Division JP2010501937A (ja) 2006-08-18 2007-08-15 スカラー/ベクトル命令を使用したデータ処理システムおよび方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2015002605A Division JP6073385B2 (ja) 2006-08-18 2015-01-08 スカラー/ベクトル命令を使用したデータ処理システムおよび方法

Publications (3)

Publication Number Publication Date
JP2013175218A true JP2013175218A (ja) 2013-09-05
JP2013175218A5 JP2013175218A5 (ja) 2014-03-27
JP5680697B2 JP5680697B2 (ja) 2015-03-04

Family

ID=38749041

Family Applications (3)

Application Number Title Priority Date Filing Date
JP2009525695A Pending JP2010501937A (ja) 2006-08-18 2007-08-15 スカラー/ベクトル命令を使用したデータ処理システムおよび方法
JP2013087516A Expired - Fee Related JP5680697B2 (ja) 2006-08-18 2013-04-18 スカラー/ベクトル命令を使用したデータ処理システムおよび方法
JP2015002605A Expired - Fee Related JP6073385B2 (ja) 2006-08-18 2015-01-08 スカラー/ベクトル命令を使用したデータ処理システムおよび方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2009525695A Pending JP2010501937A (ja) 2006-08-18 2007-08-15 スカラー/ベクトル命令を使用したデータ処理システムおよび方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2015002605A Expired - Fee Related JP6073385B2 (ja) 2006-08-18 2015-01-08 スカラー/ベクトル命令を使用したデータ処理システムおよび方法

Country Status (6)

Country Link
US (2) US7676647B2 (ja)
EP (2) EP2273359B1 (ja)
JP (3) JP2010501937A (ja)
KR (1) KR101072707B1 (ja)
CN (2) CN101501634B (ja)
WO (1) WO2008022217A1 (ja)

Families Citing this family (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7676647B2 (en) * 2006-08-18 2010-03-09 Qualcomm Incorporated System and method of processing data using scalar/vector instructions
US9069547B2 (en) 2006-09-22 2015-06-30 Intel Corporation Instruction and logic for processing text strings
US8191056B2 (en) * 2006-10-13 2012-05-29 International Business Machines Corporation Sparse vectorization without hardware gather/scatter
US8515052B2 (en) 2007-12-17 2013-08-20 Wai Wu Parallel signal processing system and method
FR2935059B1 (fr) * 2008-08-12 2012-05-11 Groupe Des Ecoles De Telecommunications Get Ecole Nationale Superieure Des Telecommunications Enst Procede de detection d'anomalies dans un circuit de cryptographie protege par logique differentielle et circuit mettant en oeuvre un tel procede
US8745360B2 (en) * 2008-09-24 2014-06-03 Apple Inc. Generating predicate values based on conditional data dependency in vector processors
US9952875B2 (en) * 2009-08-07 2018-04-24 Via Technologies, Inc. Microprocessor with ALU integrated into store unit
US9141386B2 (en) * 2010-09-24 2015-09-22 Intel Corporation Vector logical reduction operation implemented using swizzling on a semiconductor chip
US9606802B2 (en) 2011-03-25 2017-03-28 Nxp Usa, Inc. Processor system with predicate register, computer system, method for managing predicates and computer program product
ES2943248T3 (es) 2011-04-01 2023-06-12 Intel Corp Formato de instrucción compatible con vectores y ejecución del mismo
US9548061B2 (en) 2011-11-30 2017-01-17 Dolby International Ab Audio encoder with parallel architecture
US9235414B2 (en) * 2011-12-19 2016-01-12 Intel Corporation SIMD integer multiply-accumulate instruction for multi-precision arithmetic
WO2013095630A1 (en) * 2011-12-23 2013-06-27 Intel Corporation Apparatus and method of improved extract instructions background
US9588766B2 (en) 2012-09-28 2017-03-07 Intel Corporation Accelerated interlane vector reduction instructions
US9557993B2 (en) 2012-10-23 2017-01-31 Analog Devices Global Processor architecture and method for simplifying programming single instruction, multiple data within a register
US9619229B2 (en) * 2012-12-27 2017-04-11 Intel Corporation Collapsing of multiple nested loops, methods and instructions
US9804839B2 (en) * 2012-12-28 2017-10-31 Intel Corporation Instruction for determining histograms
US20140281418A1 (en) * 2013-03-14 2014-09-18 Shihjong J. Kuo Multiple Data Element-To-Multiple Data Element Comparison Processors, Methods, Systems, and Instructions
US9990202B2 (en) 2013-06-28 2018-06-05 Intel Corporation Packed data element predication processors, methods, systems, and instructions
US9645820B2 (en) 2013-06-27 2017-05-09 Intel Corporation Apparatus and method to reserve and permute bits in a mask register
US9367309B2 (en) 2013-09-24 2016-06-14 Apple Inc. Predicate attribute tracker
US9390058B2 (en) * 2013-09-24 2016-07-12 Apple Inc. Dynamic attribute inference
KR102179385B1 (ko) * 2013-11-29 2020-11-16 삼성전자주식회사 명령어를 실행하는 방법 및 프로세서, 명령어를 부호화하는 방법 및 장치 및 기록매체
GB2523823B (en) * 2014-03-07 2021-06-16 Advanced Risc Mach Ltd Data processing apparatus and method for processing vector operands
US10296489B2 (en) 2014-12-27 2019-05-21 Intel Corporation Method and apparatus for performing a vector bit shuffle
JP6616608B2 (ja) * 2015-07-16 2019-12-04 ルネサスエレクトロニクス株式会社 半導体装置
US10691463B2 (en) * 2015-07-30 2020-06-23 Futurewei Technologies, Inc. System and method for variable lane architecture
US10956439B2 (en) * 2016-02-19 2021-03-23 Micron Technology, Inc. Data transfer with a bit vector operation device
GB2548600B (en) 2016-03-23 2018-05-09 Advanced Risc Mach Ltd Vector predication instruction
US10572263B2 (en) 2016-03-31 2020-02-25 International Business Machines Corporation Executing a composite VLIW instruction having a scalar atom that indicates an iteration of execution
CN111176608A (zh) * 2016-04-26 2020-05-19 中科寒武纪科技股份有限公司 一种用于执行向量比较运算的装置和方法
US10761979B2 (en) * 2016-07-01 2020-09-01 Intel Corporation Bit check processors, methods, systems, and instructions to check a bit with an indicated check bit value
WO2018022528A1 (en) * 2016-07-27 2018-02-01 Intel Corporation System and method for multiplexing vector compare
WO2018022525A1 (en) * 2016-07-27 2018-02-01 Intel Corporation System and method for multiplexing vector mask matches
US10162603B2 (en) * 2016-09-10 2018-12-25 Sap Se Loading data for iterative evaluation through SIMD registers
KR102659495B1 (ko) 2016-12-02 2024-04-22 삼성전자주식회사 벡터 프로세서 및 그 제어 방법
US10705847B2 (en) 2017-08-01 2020-07-07 International Business Machines Corporation Wide vector execution in single thread mode for an out-of-order processor
US11409525B2 (en) * 2018-01-24 2022-08-09 Intel Corporation Apparatus and method for vector multiply and accumulate of packed words
CN108388446A (zh) 2018-02-05 2018-08-10 上海寒武纪信息科技有限公司 运算模块以及方法
US10871549B2 (en) * 2018-05-18 2020-12-22 Qualcomm Incorporated Proximity detection using adaptive mutual coupling cancellation
CN109032666B (zh) * 2018-07-03 2021-03-23 中国人民解放军国防科技大学 一种用于向量处理的确定断言活跃元素个数的方法和装置
US10908880B2 (en) * 2018-10-19 2021-02-02 Knowles Electronics, Llc Audio signal circuit with in-place bit-reversal
US12061286B2 (en) 2019-03-21 2024-08-13 Qualcomm Incorporated Radar for detecting human body part
US11327862B2 (en) 2019-05-20 2022-05-10 Micron Technology, Inc. Multi-lane solutions for addressing vector elements using vector index registers
US11403256B2 (en) 2019-05-20 2022-08-02 Micron Technology, Inc. Conditional operations in a vector processor having true and false vector index registers
US11507374B2 (en) * 2019-05-20 2022-11-22 Micron Technology, Inc. True/false vector index registers and methods of populating thereof
US11340904B2 (en) 2019-05-20 2022-05-24 Micron Technology, Inc. Vector index registers
CN112256330B (zh) * 2020-11-03 2021-11-09 中国人民解放军军事科学院国防科技创新研究院 用于加速数字信号处理的risc-v指令集扩展方法
CN113590193B (zh) * 2021-07-12 2024-03-22 苏州仰思坪半导体有限公司 一种运算装置、方法、介质及计算设备
CN115951936B (zh) * 2023-01-17 2023-05-26 上海燧原科技有限公司 向量化编译程序的芯片适配方法、装置、设备及介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6224366A (ja) * 1985-07-03 1987-02-02 Hitachi Ltd ベクトル処理装置
JPS63198130A (ja) * 1987-02-13 1988-08-16 Nec Corp ル−プ最適命令列選択方式
JPH0496133A (ja) * 1990-08-09 1992-03-27 Toshiba Corp 演算処理装置
JPH0773149A (ja) * 1993-03-31 1995-03-17 Motorola Inc データ処理システムとその方法
JPH0850575A (ja) * 1994-05-05 1996-02-20 Rockwell Internatl Corp プログラマブルプロセッサ、前記プログラマブルプロセッサを用いてデジタル信号処理を行なうための方法およびその改良
JPH09198374A (ja) * 1996-01-23 1997-07-31 Hitachi Ltd ベクトル処理装置
US20050251644A1 (en) * 2004-05-06 2005-11-10 Monier Maher Physics processing unit instruction set architecture

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5086498A (en) * 1987-01-23 1992-02-04 Hitachi, Ltd. Parallel computer with asynchronous communication facility
US5802375A (en) * 1994-11-23 1998-09-01 Cray Research, Inc. Outer loop vectorization
US6035390A (en) * 1998-01-12 2000-03-07 International Business Machines Corporation Method and apparatus for generating and logically combining less than (LT), greater than (GT), and equal to (EQ) condition code bits concurrently with the execution of an arithmetic or logical operation
US6366998B1 (en) * 1998-10-14 2002-04-02 Conexant Systems, Inc. Reconfigurable functional units for implementing a hybrid VLIW-SIMD programming model
US6249861B1 (en) * 1998-12-03 2001-06-19 Sun Microsystems, Inc. Instruction fetch unit aligner for a non-power of two size VLIW instruction
US6237085B1 (en) * 1998-12-08 2001-05-22 International Business Machines Corporation Processor and method for generating less than (LT), Greater than (GT), and equal to (EQ) condition code bits concurrent with a logical or complex operation
JP3830683B2 (ja) * 1998-12-28 2006-10-04 富士通株式会社 Vliwプロセッサ
US6871298B1 (en) * 1999-11-12 2005-03-22 Obsidian Software, Inc. Method and apparatus that simulates the execution of paralled instructions in processor functional verification testing
US6839828B2 (en) * 2001-08-14 2005-01-04 International Business Machines Corporation SIMD datapath coupled to scalar/vector/address/conditional data register file with selective subpath scalar processing mode
JP3656587B2 (ja) * 2001-10-01 2005-06-08 日本電気株式会社 並列演算プロセッサ、その演算制御方法及びプログラム
US7089402B2 (en) * 2001-12-12 2006-08-08 Canon Kabushiki Kaisha Instruction execution control for very long instruction words computing architecture based on the free state of the computing function units
KR100464406B1 (ko) * 2002-02-08 2005-01-03 삼성전자주식회사 가변길이 vliw 명령어를 위한 디스패치 장치 및 방법
US20030167460A1 (en) * 2002-02-26 2003-09-04 Desai Vipul Anil Processor instruction set simulation power estimation method
US7263109B2 (en) * 2002-03-11 2007-08-28 Conexant, Inc. Clock skew compensation for a jitter buffer
TWI289789B (en) * 2002-05-24 2007-11-11 Nxp Bv A scalar/vector processor and processing system
US6963341B1 (en) * 2002-06-03 2005-11-08 Tibet MIMAR Fast and flexible scan conversion and matrix transpose in a SIMD processor
JP3958662B2 (ja) * 2002-09-25 2007-08-15 松下電器産業株式会社 プロセッサ
US7196708B2 (en) * 2004-03-31 2007-03-27 Sony Corporation Parallel vector processing
US20060095732A1 (en) * 2004-08-30 2006-05-04 Tran Thang M Processes, circuits, devices, and systems for scoreboard and other processor improvements
US7676647B2 (en) * 2006-08-18 2010-03-09 Qualcomm Incorporated System and method of processing data using scalar/vector instructions

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6224366A (ja) * 1985-07-03 1987-02-02 Hitachi Ltd ベクトル処理装置
US4780811A (en) * 1985-07-03 1988-10-25 Hitachi, Ltd. Vector processing apparatus providing vector and scalar processor synchronization
JPS63198130A (ja) * 1987-02-13 1988-08-16 Nec Corp ル−プ最適命令列選択方式
JPH0496133A (ja) * 1990-08-09 1992-03-27 Toshiba Corp 演算処理装置
JPH0773149A (ja) * 1993-03-31 1995-03-17 Motorola Inc データ処理システムとその方法
JPH0850575A (ja) * 1994-05-05 1996-02-20 Rockwell Internatl Corp プログラマブルプロセッサ、前記プログラマブルプロセッサを用いてデジタル信号処理を行なうための方法およびその改良
JPH09198374A (ja) * 1996-01-23 1997-07-31 Hitachi Ltd ベクトル処理装置
US20050251644A1 (en) * 2004-05-06 2005-11-10 Monier Maher Physics processing unit instruction set architecture

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JPN6012011321; R. N. Ibbett, P. C. Capon & N. P. Topham: '"MU6V: A PARALLEL VECTOR PROCESSING SYSTEM"' Proceedings of the 12th annual international symposium on Computer architecture (ISCA '85) Volume 13, Issue 3, 198506, p.136-144, [online] *
JPN6012011323; Patrick Gaydecki: '"Designing with DSP"' ELECTRONICS WORLD , 200104, p.268-271 *

Also Published As

Publication number Publication date
EP2062134A1 (en) 2009-05-27
CN101501634A (zh) 2009-08-05
EP2062134B1 (en) 2016-02-10
CN101501634B (zh) 2013-05-29
JP6073385B2 (ja) 2017-02-01
US7676647B2 (en) 2010-03-09
JP2010501937A (ja) 2010-01-21
WO2008022217A1 (en) 2008-02-21
CN103207773A (zh) 2013-07-17
US8190854B2 (en) 2012-05-29
KR101072707B1 (ko) 2011-10-11
JP5680697B2 (ja) 2015-03-04
EP2273359B1 (en) 2015-11-11
KR20090042320A (ko) 2009-04-29
US20080046683A1 (en) 2008-02-21
JP2015111428A (ja) 2015-06-18
EP2273359A1 (en) 2011-01-12
CN103207773B (zh) 2015-11-18
US20100118852A1 (en) 2010-05-13

Similar Documents

Publication Publication Date Title
JP5680697B2 (ja) スカラー/ベクトル命令を使用したデータ処理システムおよび方法
US9235418B2 (en) Register files for a digital signal processor operating in an interleaved multi-threaded environment
US7584233B2 (en) System and method of counting leading zeros and counting leading ones in a digital signal processor
US20060230253A1 (en) Unified non-partitioned register files for a digital signal processor operating in an interleaved multi-threaded environment
US8688761B2 (en) Arithmetic logic and shifting device for use in a processor
KR20070118705A (ko) 레지스터 파일에 액세스하기 위해 프리디케이트 값을이용하는 시스템 및 방법
KR100955555B1 (ko) 디지털 신호 프로세서에서 2의 보수 연산들을 수행하는시스템 및 방법

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140205

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140715

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20141015

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20141020

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141117

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20141209

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150107

R150 Certificate of patent or registration of utility model

Ref document number: 5680697

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees