JP6073385B2 - スカラー/ベクトル命令を使用したデータ処理システムおよび方法 - Google Patents
スカラー/ベクトル命令を使用したデータ処理システムおよび方法 Download PDFInfo
- Publication number
- JP6073385B2 JP6073385B2 JP2015002605A JP2015002605A JP6073385B2 JP 6073385 B2 JP6073385 B2 JP 6073385B2 JP 2015002605 A JP2015002605 A JP 2015002605A JP 2015002605 A JP2015002605 A JP 2015002605A JP 6073385 B2 JP6073385 B2 JP 6073385B2
- Authority
- JP
- Japan
- Prior art keywords
- scalar
- vector
- instruction
- condition code
- instructions
- 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.)
- Expired - Fee Related
Links
- 239000013598 vector Substances 0.000 title claims description 202
- 238000012545 processing Methods 0.000 title claims description 122
- 238000000034 method Methods 0.000 title claims description 36
- 238000004891 communication Methods 0.000 claims description 14
- 238000004364 calculation method Methods 0.000 claims description 5
- 230000008569 process Effects 0.000 claims description 5
- 230000004048 modification Effects 0.000 claims description 3
- 238000012986 modification Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 11
- 230000008901 benefit Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000000872 buffer Substances 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 239000003607 modifier Substances 0.000 description 1
- 244000038293 primary consumers Species 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
- G06F9/30101—Special purpose registers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30021—Compare instructions, e.g. Greater-Than, Equal-To, MINMAX
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30094—Condition code generation, e.g. Carry, Zero flag
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3885—Concurrent 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)
Description
以下に、出願当初の特許請求の範囲に記載された発明を付記する。
[C1]
スカラーおよびベクトル演算用の連結された条件コードレジスタを含む制御レジスタと、
前記連結された条件コードレジスタを利用するスカラーおよびベクトル命令を実行するための少なくとも1つの命令実行ユニットと
を備える、処理装置。
[C2]
メモリユニットと、
前記メモリユニットに応答するシーケンサとをさらに備え、
前記少なくとも1つの命令実行ユニットがシーケンサに応答する、
C1に記載の処理装置。
[C3]
前記メモリユニットが、
前記連結された条件コードレジスタを利用するスカラー演算用命令と、
前記連結された条件コードレジスタを利用するベクトル演算用命令とを含む、C2に記載の処理装置。
[C4]
前記スカラー演算がスカラー比較演算である、C3に記載の処理装置。
[C5]
前記ベクトル演算がベクトル比較演算である、C3に記載の処理装置。
[C6]
スカラーおよびベクトル演算用の4個の8ビットの連結された条件コードレジスタをさらに備える、C2に記載の処理装置。
[C7]
前記スカラー演算が、前記連結された条件コードレジスタに基づき条件付きで実行される、C3に記載の処理装置。
[C8]
前記スカラー演算が、前記連結された条件コードレジスタを入力として使用する、C3に記載の処理装置。
[C9]
ベクトル演算が、前記連結された条件コードレジスタに基づき条件付きで実行される、C3に記載の処理装置。
[C10]
ベクトル比較演算が、前記連結された条件コードレジスタを使用して、ベクトル比較演算の結果を格納する、C1に記載の処理装置。
[C11]
前記ベクトル演算が、64ビットのベクトルマルチプレクサー命令であり、前記連結された条件コードレジスタが、8ビットレジスタである、C10に記載の処理装置。
[C12]
前記ベクトル演算が、各要素の結果を4つの連結された条件コードレジスタビットに複写するワード比較演算である、C3に記載の処理装置。
[C13]
ベクトル演算用の命令を、ループアルゴリズムの代わりに使用することができる、C2に記載の処理装置。
[C14]
前記制御レジスタが、ループレジスタ、修飾レジスタ、ユーザ状態レジスタ、プログラムカウンターレジスタ、およびユーザ汎用ポインターレジスタを含む、C1に記載の処理装置。
[C15]
マルチスレッディングが、プログラムスレッドと関連した命令を処理するために利用されて、並列演算を実行する、C6に記載の処理装置。
[C16]
パイプライン処理を利用して、命令を処理する、C6に記載の処理装置。
[C17]
前記少なくとも1つの命令実行ユニットが、バイト、ハーフワード、ワード、およびダブルワードで演算を実行する、C6に記載の処理装置。
[C18]
連結されたスカラーおよびベクトル条件コードレジスタを使用して比較演算用命令を実行し、
前記連結されたスカラーおよびベクトル条件コードレジスタを使用して条件演算用命令を実行すること、
を備える、データ処理方法。
[C19]
前記比較演算がスカラー比較演算である、C18に記載の方法。
[C20]
命令実行ユニットにおいてスカラー比較演算用命令を受信し、
前記スカラー比較演算の結果を前記連結されたスカラーおよびベクトル条件コードレジスタに格納すること、
をさらに備える、C19に記載の方法。
[C21]
前記条件演算がスカラー条件演算である、C18に記載の方法。
[C22]
命令実行ユニットにおいてスカラー条件演算用命令を受信し、
前記連結されたスカラーおよびベクトル条件コードレジスタから少なくとも1つの条件コードビットを評価し、
前記スカラー条件演算用命令を実行すべきであるかどうかを決定し、
前記決定に応じて、前記スカラー条件演算の結果をレジスタに格納すること、
をさらに備える、C21に記載の方法。
[C23]
前記比較演算がベクトル比較演算である、C18に記載の方法。
[C24]
命令実行ユニットにおいてベクトル比較演算用命令を受信し、
前記ベクトル比較演算の結果を前記連結されたスカラーおよびベクトル条件コードレジスタに格納すること、
をさらに備える、C23に記載の方法。
[C25]
前記条件演算がベクトル条件演算である、C18に記載の方法。
[C26]
命令実行ユニットにおいてベクトル条件演算用命令を受信し、
前記連結されたスカラーおよびベクトル条件コードレジスタからの少なくとも1つの条件コードビットを、前記ベクトル条件演算で使用し、
前記ベクトル条件演算の結果をレジスタに格納すること、
をさらに備える、C25に記載の方法。
[C27]
前記条件演算がベクトル条件演算である、C19に記載の方法。
[C28]
連結された条件コードレジスタを使用してスカラー演算を実行するための命令と、
前記連結された条件コードレジスタを使用してベクトル演算を実行するための命令と、
を備える、処理装置用命令セット。
[C29]
前記スカラー演算を実行するための前記命令が、スカラー比較演算である、C28に記載の命令セット。
[C30]
前記スカラー演算を実行するための前記命令が、スカラー条件演算である、C28に記載の命令セット。
[C31]
前記ベクトル演算を実行するための前記命令が、ベクトル比較演算である、C28に記載の命令セット。
[C32]
前記ベクトル演算を実行するための前記命令が、ベクトル条件演算である、C28に記載の命令セット。
[C33]
スカラーおよびベクトル演算用の連結された条件コードレジスタと、
スカラーおよびベクトル条件演算に適したベクトルマルチプレクサー演算を実行するための実行ユニットと、
を備える、処理装置。
[C34]
アンテナと、
前記アンテナに動作可能に接続された送受信機と、
メモリユニットと、
前記メモリユニットに連結され、前記送受信機に応答するディジタルシグナルプロセッサと
を備える無線通信装置であって、
前記ディジタルシグナルプロセッサが、
スカラーおよびベクトル演算用の連結された条件コードレジスタを含む制御レジスタと、
前記連結された条件コードレジスタを利用するスカラーおよびベクトル命令を実行するための少なくとも1つの命令実行ユニットと
を含む、無線通信装置。
[C35]
前記ディジタルシグナルプロセッサに連結された音声コーダ/デコーダ(CODEC)と、
前記ディジタルシグナルプロセッサに連結されたBluetoothコントローラと、
前記Bluetoothコントローラに連結されたBluetoothアンテナと、
前記ディジタルシグナルプロセッサに連結された無線ローカルエリアネットワークメディアアクセス制御(WLAN MAC)ベースバンドプロセッサと
をさらに備える、C34に記載の携帯通信装置。
[C36]
前記ディジタルシグナルプロセッサに連結されたステレオコーダ/デコーダ(CODEC)と、
前記ディジタルシグナルプロセッサに連結された802.11コントローラと、
前記802.11コントローラに連結された802.11アンテナと、
前記ディジタルシグナルプロセッサに連結されたBluetoothコントローラと、
前記Bluetoothコントローラに連結されたBluetoothアンテナと、
前記ディジタルシグナルプロセッサに連結された汎用シリアルバス(USB)コントローラと、
前記USBコントローラに連結されたUSBポートと
をさらに備える、C34に記載の携帯通信装置。
[C37]
ディジタルシグナルプロセッサと、
前記ディジタルシグナルプロセッサに連結されたオーディオコーダ/デコーダ(CODEC)と、
前記ディジタルシグナルプロセッサに連結されたマルチメディアカードと、
前記ディジタルシグナルプロセッサに連結された汎用シリアルバス(USB)ポートと
を備える、オーディオファイルプレーヤであって、
前記ディジタルシグナルプロセッサが、
スカラーおよびベクトル演算用の連結された条件コードレジスタを含む制御レジスタと、
前記連結された条件コードレジスタを利用するスカラーおよびベクトル命令を実行するための少なくとも1つの命令実行ユニットと
を備える、オーディオファイルプレーヤ。
[C38]
連結された条件コードレジスタを利用するスカラー演算を実行するための命令を実行するための手段と、
前記連結された条件コードレジスタを利用するベクトル演算を実行するための命令を実行するための手段と
を備える、処理装置。
Claims (31)
- 処理装置であって、
スカラーおよびベクトル演算用の連結された条件コードレジスタを含む制御レジスタと、
前記連結された条件コードレジスタを利用するスカラーおよびベクトル命令を実行するための複数の命令実行ユニットと、
メモリユニットと、
前記メモリユニットに応答するシーケンサと
を備え、前記複数の命令実行ユニットは、前記シーケンサに応答し、
前記シーケンサは、前記メモリユニットから複数の命令を読み出し、前記複数の命令を前記複数の命令実行ユニットによって並列に実行される異なるタイプの命令のパケットにグループ化するように適合され、
前記メモリユニットは、前記連結された条件コードレジスタを利用するスカラー演算用命令および前記連結された条件コードレジスタを利用するベクトル演算用命令を含み、
前記スカラー演算の1つは、前記連結された条件コードレジスタの各ビットを、スカラー比較演算の結果が第1の結果である場合は、第1の値に設定し、前記連結された条件コードレジスタの各ビットを、前記スカラー比較演算の前記結果が第2の結果である場合は、第2の値に設定する前記スカラー比較演算である、処理装置。 - スカラーおよびベクトル演算用の4個の8ビットの連結された条件コードレジスタをさらに備える、請求項1に記載の処理装置。
- マルチスレッディングが、プログラムスレッドと関連した命令を処理するために利用されて、並列演算を実行する、請求項2に記載の処理装置。
- パイプライン処理を利用して、命令を処理する、請求項2に記載の処理装置。
- 前記少なくとも1つの命令実行ユニットが、バイト、ハーフワード、ワード、およびダブルワードで演算を実行する、請求項2に記載の処理装置。
- 前記スカラー演算の少なくとも1つが、前記連結された条件コードレジスタに基づき条件付きで実行される、請求項1に記載の処理装置。
- 前記スカラー演算の少なくとも1つが、前記連結された条件コードレジスタを入力として使用する、請求項1に記載の処理装置。
- 前記ベクトル演算の少なくとも1つが、前記連結された条件コードレジスタに基づき条件付きで実行される、請求項1に記載の処理装置。
- ベクトル比較演算が、前記連結された条件コードレジスタを使用して、前記ベクトル比較演算の結果を格納する、請求項1に記載の処理装置。
- 前記ベクトル演算の1つが、64ビットのベクトルマルチプレクサー命令に基づく演算であり、前記連結された条件コードレジスタが、8ビットレジスタである、請求項9に記載の処理装置。
- 前記ベクトル演算の1つが、要素の結果ごとに、前記連結された条件コードレジスタの4つのビットに要素の結果の複写を実行するワード比較演算である、請求項1に記載の処理装置。
- ベクトル演算用の命令を、ループアルゴリズムの代わりに使用することができる、請求項1に記載の処理装置。
- 前記制御レジスタが、ループレジスタ、修飾レジスタ、ユーザ状態レジスタ、プログラムカウンターレジスタ、およびユーザ汎用ポインターレジスタを含む、請求項1に記載の処理装置。
- 前記第1の値は1であり、前記第2の値は0である、請求項1に記載の処理装置。
- 前記複数の命令実行ユニットが、符号付および符号なし比較を実行する、請求項1に記載の処理装置。
- メモリユニットからの複数の命令の読み出しを実行することと、
前記複数の命令を複数の命令実行ユニットによる並列実行のための異なるタイプの命令のパケットにグループ化することであって、前記命令のパケットは、第1の命令および第2の命令を含む、前記グループ化することと、
連結されたスカラーおよびベクトル条件コードレジスタを使用して比較演算用の前記第1の命令を実行することと、
前記連結されたスカラーおよびベクトル条件コードレジスタを使用して条件演算用の前記第2の命令を実行することと、
前記比較演算がスカラー比較演算である場合、命令実行ユニットにおいて前記スカラー比較演算用のスカラー比較命令を受信し、前記スカラー比較演算の結果を前記連結されたスカラーおよびベクトル条件コードレジスタに格納することであって、前記スカラー比較演算の結果が第1の結果である場合は、前記連結されたスカラーおよびベクトル条件コードレジスタの各ビットに第1の値が格納され、前記スカラー比較演算の結果が第2の結果である場合は、前記連結されたスカラーおよびベクトル条件コードレジスタの各ビットに第2の値が格納される、前記格納することと、
前記比較演算が、符号付および符号なし比較を実行するように構成された前記複数の命令実行ユニットのうちの1つによって実行可能なベクトル比較演算である場合、オペランドの比較から得られた結果を出力することと
を備える、データを処理する方法。 - 前記条件演算がスカラー条件演算である、請求項16に記載の方法。
- 命令実行ユニットにおいてスカラー条件演算用命令を受信することと、
前記連結されたスカラーおよびベクトル条件コードレジスタからの少なくとも1つの条件コードビットを評価することと、
前記スカラー条件演算用の前記命令を実行すべきであるかどうかを決定することと、
前記決定に応じて、前記スカラー条件演算の結果をレジスタに格納することと、
をさらに備える、請求項17に記載の方法。 - 命令実行ユニットにおいてベクトル比較演算用命令を受信することと、
前記ベクトル比較演算の前記結果を前記連結されたスカラーおよびベクトル条件コードレジスタに格納することと、
をさらに備える、請求項16に記載の方法。 - 前記条件演算がベクトル条件演算である、請求項16に記載の方法。
- 命令実行ユニットにおいてベクトル条件演算用命令を受信することと、
前記連結されたスカラーおよびベクトル条件コードレジスタからの少なくとも1つの条件コードビットを利用することであって、前記少なくとも1つの条件コードビットは、前記ベクトル条件演算で使用される、前記利用することと、
前記ベクトル条件演算の前記結果をレジスタに格納することと、
をさらに備える、請求項20に記載の方法。 - 前記複数の命令実行ユニットは、等値比較、符号付の大小比較、および符号なしの大小比較のうちのいずれかを使用して符号付および符号なし比較を実行するように構成される、請求項16に記載の方法。
- 処理装置用プログラムであって、
連結された条件コードレジスタを使用してスカラー演算を実行するための命令と、
前記連結された条件コードレジスタを使用してベクトル演算を実行するための命令と、
複数の命令を読み出し、前記複数の命令を並列に複数の命令実行ユニットに発行するための命令と、
並列実行のための前記複数の命令のうちのいくつかの命令を異なるタイプの命令のパケットにグループ化するための命令と
を備え、前記スカラー演算を実行するための前記命令がスカラー比較命令である場合、前記スカラー比較命令は、スカラー比較演算の結果が第1の結果である場合は、前記連結された条件コードレジスタの各ビットに第1の値を格納し、前記スカラー比較演算の結果が第2の結果である場合は、前記連結された条件コードレジスタの各ビットに第2の値を格納することをもたらし、
前記ベクトル演算を実行するための前記命令がベクトル比較命令である場合、前記ベクトル比較命令は、前記処理装置に、複数の符号付および符号なし比較を実行させるように構成される、処理装置用プログラム。 - 前記スカラー演算を実行するための前記命令の1つは、スカラー条件演算命令である、請求項23に記載のプログラム。
- 前記ベクトル演算を実行するための前記命令の1つは、ベクトル条件演算命令である、請求項23に記載のプログラム。
- 前記複数の符号付および符号なし比較は、等値比較、符号付の大小比較、および符号なしの大小比較を含む、請求項23に記載のプログラム。
- 無線通信装置であって、
アンテナと、
前記アンテナに動作可能に接続された送受信機と、
メモリユニットと、
前記メモリユニットに連結され、前記送受信機に応答するディジタルシグナルプロセッサと
を備え、前記ディジタルシグナルプロセッサが、
スカラーおよびベクトル演算用の連結された条件コードレジスタを含む制御レジスタと、
スカラー比較演算の結果が第1の結果である場合は、前記連結された条件コードレジスタの各ビットに第1の値を格納し、前記スカラー比較演算の結果が第2の結果である場合は、前記連結された条件コードレジスタの各ビットに第2の値を格納するスカラー比較命令実行ユニットと、
オペランドの符号付および符号なし比較を生成するように構成されたベクトル比較命令実行ユニットと
を含む前記連結された条件コードレジスタを利用するスカラーおよびベクトル命令を実行するための複数の命令実行ユニットと、
前記メモリユニットに応答するシーケンサと
を含み、前記複数の命令実行ユニットは、前記シーケンサに応答し、
前記シーケンサは、前記メモリユニットから複数の命令を読み出し、前記複数の命令を前記複数の命令実行ユニットによる並列実行のための異なるタイプの命令のパケットにグループ化するように適合される、無線通信装置。 - 前記ディジタルシグナルプロセッサに連結された音声コーダ/デコーダ(CODEC)と、
前記ディジタルシグナルプロセッサに連結された無線ローカルエリアネットワークメディアアクセス制御(WLAN MAC)ベースバンドプロセッサと
をさらに備える、請求項27に記載の無線通信装置。 - 前記ディジタルシグナルプロセッサに連結されたステレオコーダ/デコーダ(CODEC)と、
前記ディジタルシグナルプロセッサに連結された802.11コントローラと、
前記802.11コントローラに連結された802.11アンテナと、
前記ディジタルシグナルプロセッサに連結された汎用シリアルバス(USB)コントローラと、
前記USBコントローラに連結されたUSBポートと
をさらに備える、請求項27に記載の無線通信装置。 - オーディオファイルプレーヤであって、
ディジタルシグナルプロセッサと、
前記ディジタルシグナルプロセッサに連結されたオーディオコーダ/デコーダ(CODEC)と、
前記ディジタルシグナルプロセッサに連結されたマルチメディアカードと、
前記ディジタルシグナルプロセッサに連結された汎用シリアルバス(USB)ポートと
を備え、前記ディジタルシグナルプロセッサが、
スカラーおよびベクトル演算用の連結された条件コードレジスタを含む制御レジスタと、
スカラー比較演算の結果が第1の結果である場合は、前記連結された条件コードレジスタの各ビットに第1の値を格納し、前記スカラー比較演算の結果が第2の結果である場合は、前記連結された条件コードレジスタの各ビットに第2の値を格納するスカラー比較命令実行ユニットと、
オペランドの符号付および符号なし比較を生成するように構成されたベクトル比較命令実行ユニットと、
を含む前記連結された条件コードレジスタを利用する両方のスカラーおよびベクトル命令を実行するための複数の命令実行ユニットと、
メモリユニットと、
前記メモリユニットに応答するシーケンサと
を含み、前記複数の命令実行ユニットは、前記シーケンサに応答し、
前記シーケンサは、前記メモリユニットから複数の命令を読み出し、前記複数の命令を前記複数の命令実行ユニットによる並列実行のための異なるタイプの命令のパケットにグループ化するように適合される、オーディオファイルプレーヤ。 - スカラー比較演算の結果が第1の結果である場合、連結された条件コードレジスタの各ビットに第1の値を格納するための手段、および前記スカラー比較演算の結果が第2の結果である場合、前記連結された条件コードレジスタの各ビットに第2の値を格納するための手段を含む前記連結された条件コードレジスタを利用するスカラー演算を実行するための命令を実行するための手段と、
前記連結された条件コードレジスタを利用し、オペランドの符号付および符号なし比較を生成するように構成されたベクトル演算を実行するための命令を実行するための手段と、
並列実行のための複数の命令を異なるタイプの命令のパケットにグループ化するための手段と
を備える、処理装置。
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 |
---|---|---|---|
JP2013087516A Division JP5680697B2 (ja) | 2006-08-18 | 2013-04-18 | スカラー/ベクトル命令を使用したデータ処理システムおよび方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015111428A JP2015111428A (ja) | 2015-06-18 |
JP6073385B2 true JP6073385B2 (ja) | 2017-02-01 |
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 (2)
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 | スカラー/ベクトル命令を使用したデータ処理システムおよび方法 |
Country Status (6)
Country | Link |
---|---|
US (2) | US7676647B2 (ja) |
EP (2) | EP2062134B1 (ja) |
JP (3) | JP2010501937A (ja) |
KR (1) | KR101072707B1 (ja) |
CN (2) | CN101501634B (ja) |
WO (1) | WO2008022217A1 (ja) |
Families Citing this family (49)
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 |
WO2012131426A1 (en) * | 2011-03-25 | 2012-10-04 | Freescale Semiconductor, Inc. | Processor system with predicate register, computer system, method for managing predicates and computer program product |
WO2012134532A1 (en) * | 2011-04-01 | 2012-10-04 | Intel Corporation | Vector friendly instruction format and execution thereof |
US9548061B2 (en) | 2011-11-30 | 2017-01-17 | Dolby International Ab | Audio encoder with parallel architecture |
CN104115115B (zh) * | 2011-12-19 | 2017-06-13 | 英特尔公司 | 用于多精度算术的simd整数乘法累加指令 |
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 |
US20190155603A1 (en) * | 2016-07-27 | 2019-05-23 | 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 |
US11340904B2 (en) | 2019-05-20 | 2022-05-24 | Micron Technology, Inc. | Vector index registers |
US11507374B2 (en) * | 2019-05-20 | 2022-11-22 | Micron Technology, Inc. | True/false vector index registers and methods of populating thereof |
US11403256B2 (en) | 2019-05-20 | 2022-08-02 | Micron Technology, Inc. | Conditional operations in a vector processor having true and false vector index registers |
US11327862B2 (en) | 2019-05-20 | 2022-05-10 | Micron Technology, Inc. | Multi-lane solutions for addressing vector elements using 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 | 上海燧原科技有限公司 | 向量化编译程序的芯片适配方法、装置、设备及介质 |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6224366A (ja) * | 1985-07-03 | 1987-02-02 | Hitachi Ltd | ベクトル処理装置 |
US5086498A (en) * | 1987-01-23 | 1992-02-04 | Hitachi, Ltd. | Parallel computer with asynchronous communication facility |
JPS63198130A (ja) * | 1987-02-13 | 1988-08-16 | Nec Corp | ル−プ最適命令列選択方式 |
JP2793342B2 (ja) * | 1990-08-09 | 1998-09-03 | 株式会社東芝 | 演算処理装置 |
US5717947A (en) * | 1993-03-31 | 1998-02-10 | Motorola, Inc. | Data processing system and method thereof |
DE69519449T2 (de) * | 1994-05-05 | 2001-06-21 | Conexant Systems, Inc. | Raumzeigersdatenpfad |
US5802375A (en) * | 1994-11-23 | 1998-09-01 | Cray Research, Inc. | Outer loop vectorization |
JPH09198374A (ja) | 1996-01-23 | 1997-07-31 | Hitachi Ltd | ベクトル処理装置 |
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 |
US20050251644A1 (en) * | 2004-05-06 | 2005-11-10 | Monier Maher | Physics processing unit instruction set architecture |
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 |
-
2006
- 2006-08-18 US US11/506,584 patent/US7676647B2/en active Active
-
2007
- 2007-08-15 KR KR1020097005421A patent/KR101072707B1/ko active IP Right Grant
- 2007-08-15 EP EP07814123.1A patent/EP2062134B1/en active Active
- 2007-08-15 EP EP10181296.4A patent/EP2273359B1/en active Active
- 2007-08-15 JP JP2009525695A patent/JP2010501937A/ja active Pending
- 2007-08-15 WO PCT/US2007/076033 patent/WO2008022217A1/en active Application Filing
- 2007-08-15 CN CN200780030183XA patent/CN101501634B/zh active Active
- 2007-08-15 CN CN201310139103.1A patent/CN103207773B/zh active Active
-
2010
- 2010-01-20 US US12/690,213 patent/US8190854B2/en not_active Expired - Fee Related
-
2013
- 2013-04-18 JP JP2013087516A patent/JP5680697B2/ja not_active Expired - Fee Related
-
2015
- 2015-01-08 JP JP2015002605A patent/JP6073385B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2013175218A (ja) | 2013-09-05 |
JP2015111428A (ja) | 2015-06-18 |
EP2273359A1 (en) | 2011-01-12 |
JP2010501937A (ja) | 2010-01-21 |
CN101501634A (zh) | 2009-08-05 |
EP2062134B1 (en) | 2016-02-10 |
EP2062134A1 (en) | 2009-05-27 |
US20100118852A1 (en) | 2010-05-13 |
EP2273359B1 (en) | 2015-11-11 |
US20080046683A1 (en) | 2008-02-21 |
KR101072707B1 (ko) | 2011-10-11 |
US8190854B2 (en) | 2012-05-29 |
CN101501634B (zh) | 2013-05-29 |
KR20090042320A (ko) | 2009-04-29 |
CN103207773A (zh) | 2013-07-17 |
WO2008022217A1 (en) | 2008-02-21 |
US7676647B2 (en) | 2010-03-09 |
JP5680697B2 (ja) | 2015-03-04 |
CN103207773B (zh) | 2015-11-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6073385B2 (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 | |
US20060230257A1 (en) | System and method of using a predicate value to access a register file | |
KR100955555B1 (ko) | 디지털 신호 프로세서에서 2의 보수 연산들을 수행하는시스템 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20151030 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20151201 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160301 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20160816 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20161116 |
|
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: 20161206 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170104 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6073385 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |