JP2019511056A - 複素数乗算命令 - Google Patents
複素数乗算命令 Download PDFInfo
- Publication number
- JP2019511056A JP2019511056A JP2018549815A JP2018549815A JP2019511056A JP 2019511056 A JP2019511056 A JP 2019511056A JP 2018549815 A JP2018549815 A JP 2018549815A JP 2018549815 A JP2018549815 A JP 2018549815A JP 2019511056 A JP2019511056 A JP 2019511056A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- vector
- complex multiplication
- product
- real
- 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.)
- Pending
Links
- 239000013598 vector Substances 0.000 claims abstract description 337
- 238000012545 processing Methods 0.000 claims description 158
- 230000004044 response Effects 0.000 claims description 59
- 238000000034 method Methods 0.000 claims description 22
- 230000004048 modification Effects 0.000 claims description 6
- 238000012986 modification Methods 0.000 claims description 6
- 230000009466 transformation Effects 0.000 claims description 6
- 230000001419 dependent effect Effects 0.000 claims description 5
- 238000004590 computer program Methods 0.000 claims description 4
- 238000003672 processing method Methods 0.000 claims description 3
- FFBHFFJDDLITSX-UHFFFAOYSA-N benzyl N-[2-hydroxy-4-(3-oxomorpholin-4-yl)phenyl]carbamate Chemical compound OC1=C(NC(=O)OCC2=CC=CC=C2)C=CC(=C1)N1CCOCC1=O FFBHFFJDDLITSX-UHFFFAOYSA-N 0.000 claims 1
- 238000013459 approach Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 8
- 230000001343 mnemonic effect Effects 0.000 description 6
- 239000000654 additive Substances 0.000 description 4
- 230000000996 additive effect Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000003384 imaging method Methods 0.000 description 3
- 230000000873 masking effect Effects 0.000 description 3
- 230000001629 suppression Effects 0.000 description 3
- 241000238876 Acari Species 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000000052 comparative effect Effects 0.000 description 2
- 230000000593 degrading effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000008685 targeting Effects 0.000 description 1
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/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/3001—Arithmetic instructions
-
- 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/30036—Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
-
- 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/30141—Implementation provisions of register files, e.g. ports
-
- 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/30145—Instruction analysis, e.g. decoding, instruction word fields
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Physics (AREA)
- Advance Control (AREA)
- Complex Calculations (AREA)
- Executing Machine-Instructions (AREA)
Abstract
Description
データ処理を実行する処理回路と、
データ処理を実行するように処理回路を制御する命令をデコードする命令デコーダと
を含み、
ここで命令デコーダは、第1および第2オペランドベクトルに対する部分複素数乗算演算を実行して宛先ベクトルの少なくとも1つのターゲット要素を第1の積および第2の積の加算または減算結果に依存する値に設定するように処理回路を制御するために複素数乗算命令をデコードするように構成され、第1および第2のオペランドベクトルならびに宛先ベクトルの各々は、複素数の実数部を表す少なくとも1つの実数要素と、複素数の虚数部を表す少なくとも1つの虚数要素とを含む複数のデータ要素を含み、
複素数乗算命令の第1の形式に応答して、命令デコーダは、第1のオペランドベクトルの実数要素と第2のオペランドベクトルの対応する実数要素との積を含む第1の積、および第1のオペランドベクトルの虚数要素と第2のオペランドベクトルの対応する虚数要素との積を含む第2の積で部分複素数乗算演算を実行するように処理回路を制御するように構成され、
複素数乗算命令の第2の形式に応答して、命令デコーダは、第1のオペランドベクトルの実数要素と第2のオペランドベクトルの虚数要素との積を含む第1の積、および第1のオペランドベクトルの虚数要素と第2のオペランドベクトルの実数要素との積を含む第2の積で部分複素数乗算演算を実行するように処理回路を制御するように構成され、
複素数乗算命令の第1および第2の形式のうちの1つに応答して、命令デコーダは、宛先ベクトルの少なくとも1つの実数要素を含む前記少なくとも1つのターゲット要素で部分複素数乗算演算を実行するように処理回路を制御するように構成され、
複素数乗算命令の第1および第2の形式のうちの他方に応答して、命令デコーダは、宛先ベクトルの少なくとも1つの虚数要素を含む前記少なくとも1つのターゲット要素で部分複素数乗算演算を実行するように処理回路を制御するように構成され、そして、
複素数乗算命令の第1および第2の形式のうちの少なくとも1つに応答して、命令デコーダは、前記少なくとも1つのターゲット要素以外の宛先ベクトルの少なくとも1つの要素の更新を抑制するように処理回路を制御するように構成されている。
データ処理実行手段と、
データ処理を実行するようにデータ処理手段を制御する命令をデコードする手段と
を含み、
ここでデコード手段は、第1および第2オペランドベクトルに対する部分複素数乗算演算を実行して宛先ベクトルの少なくとも1つのターゲット要素を第1の積および第2の積の加算または減算結果に依存する値に設定するようにデータ処理実行手段を制御するために複素数乗算命令をデコードするように構成され、第1および第2のオペランドベクトルならびに宛先ベクトルの各々は、複素数の実数部を表す少なくとも1つの実数要素と、複素数の虚数部を表す少なくとも1つの虚数要素とを含む複数のデータ要素を含み、
複素数乗算命令の第1の形式に応答して、デコード手段は、第1のオペランドベクトルの実数要素と第2のオペランドベクトルの対応する実数要素との積を含む第1の積、および第1のオペランドベクトルの虚数要素と第2のオペランドベクトルの対応する虚数要素との積を含む第2の積で部分複素数乗算演算を実行するようにデータ処理実行手段を制御するように構成され、
複素数乗算命令の第2の形式に応答して、デコード手段は、第1のオペランドベクトルの実数要素と第2のオペランドベクトルの虚数要素との積を含む第1の積、および第1のオペランドベクトルの虚数要素と第2のオペランドベクトルの実数要素との積を含む第2の積で部分複素数乗算演算を実行するようにデータ処理実行手段を制御するように構成され、
複素数乗算命令の第1および第2の形式のうちの1つに応答して、デコード手段は、宛先ベクトルの少なくとも1つの実数要素を含む前記少なくとも1つのターゲット要素で部分複素数乗算演算を実行するようにデータ処理実行手段を制御するように構成され、
複素数乗算命令の第1および第2の形式のうちの他方に応答して、デコード手段は、宛先ベクトルの少なくとも1つの虚数要素を含む前記少なくとも1つのターゲット要素で部分複素数乗算演算を実行するようにデータ処理実行手段を制御するように構成され、そして、
複素数乗算命令の第1および第2の形式のうちの少なくとも1つに応答して、デコード手段は、前記少なくとも1つのターゲット要素以外の宛先ベクトルの少なくとも1つの要素の更新を抑制するようにデータ処理実行手段を制御するように構成されている。
第1および第2オペランドベクトルに対する部分複素数乗算演算を実行して宛先ベクトルの少なくとも1つのターゲット要素を第1の積および第2の積の加算または減算結果に依存する値に設定するように処理回路を制御するために複素数乗算命令をデコードするステップを含み、第1および第2のオペランドベクトルならびに宛先ベクトルの各々は、複素数の実数部を表す少なくとも1つの実数要素と、複素数の虚数部を表す少なくとも1つの虚数要素とを含む複数のデータ要素を含み、
ここで複素数乗算命令の第1の形式に応答して、部分複素数乗算演算は、第1のオペランドベクトルの実数要素と第2のオペランドベクトルの対応する実数要素との積を含む第1の積、および第1のオペランドベクトルの虚数要素と第2のオペランドベクトルの対応する虚数要素との積を含む第2の積で実行され、
複素数乗算命令の第2の形式に応答して、部分複素数乗算演算は、第1のオペランドベクトルの実数要素と第2のオペランドベクトルの虚数要素との積を含む第1の積、および第1のオペランドベクトルの虚数要素と第2のオペランドベクトルの実数要素との積を含む第2の積で実行され、
複素数乗算命令の第1および第2の形式のうちの1つに応答して、部分複素数乗算演算は、宛先ベクトルの少なくとも1つの実数要素を含む前記少なくとも1つのターゲット要素で実行され、
複素数乗算命令の第1および第2の形式のうちの他方に応答して、部分複素数乗算演算は、宛先ベクトルの少なくとも1つの虚数要素を含む前記少なくとも1つのターゲット要素で実行され、そして、
複素数乗算命令の第1および第2の形式のうちの少なくとも1つに応答して、前記少なくとも1つのターゲット要素以外の宛先ベクトルの少なくとも1つの要素を更新するステップは抑制される。
・R*R−命令の第1の形式の第1の積であり、第1のオペランドベクトルの実数要素と第2のオペランドベクトルの実数要素との積に対応する。
・I*I−命令の第1の形式の第2の積であり、第1のオペランドベクトルの虚数要素と第2のオペランドベクトルの虚数要素との積に対応する。
・R*I−命令の第2の形式の第1の積であり、第1のオペランドベクトルの実数要素と第2のオペランドベクトルの虚数要素との積に対応する。
・I*R−命令の第2の形式の第2の積であり、第1のオペランドベクトルの虚数要素と第2のオペランドベクトルの実数要素との積に対応する。
Claims (22)
- データ処理装置であって、
データ処理を実行する処理回路と、
前記データ処理を実行するように前記処理回路を制御する命令をデコードする命令デコーダと
を含み、
前記命令デコーダが、第1および第2オペランドベクトルに対する部分複素数乗算演算を実行して宛先ベクトルの少なくとも1つのターゲット要素を第1の積および第2の積の加算または減算結果に依存する値に設定するように前記処理回路を制御するために複素数乗算命令をデコードするように構成され、前記第1および第2のオペランドベクトルならびに前記宛先ベクトルの各々が、複素数の実数部を表す少なくとも1つの実数要素と、複素数の虚数部を表す少なくとも1つの虚数要素とを含む複数のデータ要素を含み、
複素数乗算命令の第1の形式に応答して、前記命令デコーダが、前記第1のオペランドベクトルの実数要素と前記第2のオペランドベクトルの対応する実数要素との積を含む前記第1の積、および前記第1のオペランドベクトルの虚数要素と前記第2のオペランドベクトルの対応する虚数要素との積を含む前記第2の積で前記部分複素数乗算演算を実行するように前記処理回路を制御するように構成され、
前記複素数乗算命令の第2の形式に応答して、前記命令デコーダが、前記第1のオペランドベクトルの実数要素と前記第2のオペランドベクトルの虚数要素との積を含む前記第1の積、および前記第1のオペランドベクトルの虚数要素と前記第2のオペランドベクトルの実数要素との積を含む前記第2の積で前記部分複素数乗算演算を実行するように前記処理回路を制御するように構成され、
前記複素数乗算命令の前記第1および第2の形式のうちの1つに応答して、前記命令デコーダが、前記宛先ベクトルの少なくとも1つの実数要素を含む前記少なくとも1つのターゲット要素で前記部分複素数乗算演算を実行するように前記処理回路を制御するように構成され、
前記複素数乗算命令の前記第1および第2の形式のうちの他方に応答して、前記命令デコーダが、前記宛先ベクトルの少なくとも1つの虚数要素を含む前記少なくとも1つのターゲット要素で前記部分複素数乗算演算を実行するように前記処理回路を制御するように構成され、そして、
前記複素数乗算命令の前記第1および第2の形式のうちの少なくとも1つに応答して、前記命令デコーダが、前記少なくとも1つのターゲット要素以外の前記宛先ベクトルの少なくとも1つの要素の更新を抑制するように前記処理回路を制御するように構成されている、データ処理装置。 - 前記第1および第2のオペランドベクトルが3つ以上のデータ要素を含む複素数乗算命令に応答して、前記命令デコーダが、それぞれが複数の虚数要素とインタリーブされている複数の実数要素を含む前記第1および第2のオペランドベクトルを処理するように前記処理回路を制御するように構成されている、請求項1に記載のデータ処理装置。
- 前記処理回路が、前記複素数乗算命令に関連するパラメータに応答して、前記第1および第2オペランドベクトル内の実数および虚数要素の数を決定するように構成され、前記パラメータが、
前記実数要素および前記虚数要素の前記数を示す即値、
前記実数要素および前記虚数要素の幅を示す即値、
前記実数要素および前記虚数要素の前記数を示す値を含むレジスタを示す値、および、
前記実数要素および前記虚数要素の前記幅を示す値を含むレジスタを示す値、
のうちの1つである、請求項2に記載のデータ処理装置。 - 前記処理回路が、所与の部分をマスクされる部分として識別する予測指示に応答して、前記宛先ベクトルの前記所与の部分に関連する演算をマスクするように構成されている、請求項1から3のいずれか一項に記載のデータ処理装置。
- 前記複素数乗算命令の前記第1および第2の形式の前記少なくとも1つに応答して、前記命令デコーダが、前記少なくとも1つの要素に対応する前記宛先ベクトルの一部がマスクされる部分であることを前記予測指示が識別しているかどうかにかかわらず、前記少なくとも1つのターゲット要素以外の前記宛先ベクトルの前記少なくとも1つの要素の更新を抑制するように前記処理回路を制御するように構成されている、請求項4に記載のデータ処理装置。
- 前記複素数乗算命令の加算変形に応答して、前記命令デコーダは、前記少なくとも1つのターゲット要素を、前記第1の積および前記第2の積を加算した結果に依存する値に設定するように前記処理回路を制御するように構成されており、
前記複素数乗算命令の減算変形に応答して、前記命令デコーダが、前記少なくとも1つのターゲット要素を、前記第1の積および前記第2の積を減算した結果に依存する値に設定するように前記処理回路を制御するように構成されている、請求項1から5のいずれか一項に記載のデータ処理装置。 - 前記複素数乗算命令の第1のバージョンに応答して、前記命令デコーダが、前記少なくとも1つのターゲット要素を使用して前記部分複素数乗算演算を実行するように前記処理回路を制御するように構成されており、前記少なくとも1つのターゲット要素は、
前記複素数乗算命令が前記第1の形式である場合、前記宛先ベクトルの少なくとも1つの実数要素と、
前記複素数乗算命令が前記第2の形式である場合、前記宛先ベクトルの少なくとも1つの虚数要素と
を含む、請求項1から6のいずれか一項に記載のデータ処理装置。 - 前記複素数乗算命令の第2のバージョンに応答して、前記命令デコーダが、前記少なくとも1つのターゲット要素を使用して前記部分複素数乗算演算を実行するように前記処理回路を制御するように構成されており、前記少なくとも1つのターゲット要素は、
前記複素数乗算命令が前記第1の形式である場合、前記宛先ベクトルの少なくとも1つの虚数要素と、
前記複素数乗算命令が前記第2の形式である場合、前記宛先ベクトルの少なくとも1つの実数要素と
を含む、請求項1から7のいずれか一項に記載のデータ処理装置。 - 前記複素数乗算命令の要素拡大型変形に応答して、前記命令デコーダが、Kビットのデータ要素を含む前記宛先ベクトルを生成するために、Jビットのデータ要素を含む前記第1および第2オペランドベクトルに対して前記部分複素数乗算演算を実行するように前記処理回路を制御するように構成されており、ここでK>Jである、請求項1から8のいずれか一項に記載のデータ処理装置。
- K=2Jであり、前記複素数乗算命令の前記要素拡大型変形に応答して、前記命令デコーダが、前記宛先ベクトルの前記少なくとも1つのターゲット要素のそれぞれを、
前記第1の積および前記第2の積を加算または減算した結果に対応するK+1ビット値の最上位Kビット、および、
前記K+1ビット値の最下位Kビットのいずれか1つに設定するように構成されている、請求項9に記載のデータ処理装置。 - 前記複素数乗算命令の要素サイズ保持型変形に応答して、前記命令デコーダが、Jビットのデータ要素を含む前記宛先ベクトルを生成するために、Jビットのデータ要素を含む前記第1および第2オペランドベクトルに対して前記部分乗算演算を実行するように前記処理回路を制御するように構成されている、請求項1から10のいずれか一項に記載のデータ処理装置。
- 前記複素数乗算命令の前記要素サイズ保持型変形に応答して、前記命令デコーダが、前記宛先ベクトルの前記少なくとも1つのターゲット要素のそれぞれを、前記第1の積および前記第2の積を加算または減算した結果に対応する中間値の切り捨てを含むJビット値に設定するように前記処理回路を制御するように構成される、請求項11に記載のデータ処理装置。
- 前記複素数乗算命令の前記要素サイズ保持型変形に応答して、前記命令デコーダが、前記中間値のJビットを選択するステップ、および前記選択されたJビットより前記中間値の少なくとも1つ下位のビットに基づいて前記選択されたJビットの丸めを行うステップを含む前記切り捨てを実行するように前記処理回路を制御するように構成される、請求項12に記載のデータ処理装置。
- 前記中間値が2J+1ビットを含み、前記切り捨てが前記(2J+1)ビット値の最上位Jビットを選択するステップを含む、請求項12および13のいずれか一項に記載のデータ処理装置。
- 前記中間値が、2J+1ビット[2J:0]を含み、前記切り捨てが前記(2J+1)ビット値のビット[2J−1:J]を選択するステップを含む、請求項12および13のいずれか一項に記載のデータ処理装置。
- 前記複素数乗算命令の整数または固定小数点変形に応答して、前記命令デコーダが、整数または固定小数点演算を使用して前記少なくとも1つのターゲット要素を生成するために、前記部分複素数乗算演算を実行するように前記処理回路を制御するように構成されている、請求項1から15のいずれか一項に記載のデータ処理装置。
- 前記複素数乗算命令の浮動小数点変形に応答して、前記命令デコーダが、浮動小数点演算を使用して前記少なくとも1つのターゲット要素を生成するために、前記部分複素数乗算演算を実行するように前記処理回路を制御するように構成されている、請求項1から9および11のいずれか一項に記載のデータ処理装置。
- ベクトル命令に応答して、前記処理回路が複数の処理のビートを実行するように構成されており、各ビートがベクトル値の一部に対応する処理を含み、
前記処理回路が第1および第2のベクトル命令のオーバーラップ実行をサポートするように構成され、前記第2のベクトル命令のビートの第1のサブセットが、前記第1のベクトル命令のビートの第2のサブセットと並列に実行される、請求項1から17のいずれか一項に記載のデータ処理装置。 - データ処理装置であって、
データ処理を実行する手段と、
前記データ処理を実行するように前記データ処理実行手段を制御する命令をデコードする手段と
を含み、
前記デコードする手段が、第1および第2オペランドベクトルに対する部分複素数乗算演算を実行して宛先ベクトルの少なくとも1つのターゲット要素を第1の積および第2の積の加算または減算結果に依存する値に設定するように前記データ処理実行手段を制御するために複素数乗算命令をデコードするように構成され、前記第1および第2のオペランドベクトルならびに前記宛先ベクトルの各々は、複素数の実数部を表す少なくとも1つの実数要素と、複素数の虚数部を表す少なくとも1つの虚数要素とを含む複数のデータ要素を含み、
前記複素数乗算命令の第1の形式に応答して、前記デコードする手段が、前記第1のオペランドベクトルの実数要素と前記第2のオペランドベクトルの対応する実数要素との積を含む前記第1の積、および前記第1のオペランドベクトルの虚数要素と前記第2のオペランドベクトルの対応する虚数要素との積を含む前記第2の積で前記部分複素数乗算演算を実行するように前記データ処理実行手段を制御するように構成され、
前記複素数乗算命令の第2の形式に応答して、前記デコードする手段が、前記第1のオペランドベクトルの実数要素と前記第2のオペランドベクトルの虚数要素との積を含む前記第1の積、および前記第1のオペランドベクトルの虚数要素と前記第2のオペランドベクトルの実数要素との積を含む前記第2の積で前記部分複素数乗算演算を実行するように前記データ処理実行手段を制御するように構成され、
前記複素数乗算命令の前記第1および第2の形式のうちの1つに応答して、前記デコードする手段が、前記宛先ベクトルの少なくとも1つの実数要素を含む前記少なくとも1つのターゲット要素で前記部分複素数乗算演算を実行するように前記データ処理実行手段を制御するように構成され、
前記複素数乗算命令の前記第1および第2の形式のうちの他方に応答して、前記デコード手段が、前記宛先ベクトルの少なくとも1つの虚数要素を含む前記少なくとも1つのターゲット要素で前記部分複素数乗算演算を実行するように前記データ処理実行手段を制御するように構成され、そして、
前記複素数乗算命令の前記第1および第2の形式のうちの少なくとも1つに応答して、前記デコード手段が、前記少なくとも1つのターゲット要素以外の前記宛先ベクトルの少なくとも1つの要素の更新を抑制するように前記データ処理実行手段を制御するように構成されている、データ処理装置。 - データ処理方法であって、
第1および第2オペランドベクトルに対する部分複素数乗算演算を実行して宛先ベクトルの少なくとも1つのターゲット要素を第1の積および第2の積の加算または減算結果に依存する値に設定するように処理回路を制御するために複素数乗算命令をデコードするステップを含み、前記第1および第2のオペランドベクトルならびに前記宛先ベクトルの各々が、複素数の実数部を表す少なくとも1つの実数要素と、複素数の虚数部を表す少なくとも1つの虚数要素とを含む複数のデータ要素を含み、
前記複素数乗算命令の第1の形式に応答して、前記部分複素数乗算演算が、前記第1のオペランドベクトルの実数要素と前記第2のオペランドベクトルの対応する実数要素との積を含む前記第1の積、および前記第1のオペランドベクトルの虚数要素と前記第2のオペランドベクトルの対応する虚数要素との積を含む前記第2の積で実行され、
前記複素数乗算命令の第2の形式に応答して、前記部分複素数乗算演算が、前記第1のオペランドベクトルの実数要素と前記第2のオペランドベクトルの虚数要素との積を含む前記第1の積、および前記第1のオペランドベクトルの虚数要素と前記第2のオペランドベクトルの実数要素との積を含む前記第2の積で実行され、
前記複素数乗算命令の前記第1および第2の形式のうちの1つに応答して、前記部分複素数乗算演算が、前記宛先ベクトルの少なくとも1つの実数要素を含む前記少なくとも1つのターゲット要素で実行され、
前記複素数乗算命令の前記第1および第2の形式のうちの他方に応答して、前記部分複素数乗算演算が、前記宛先ベクトルの少なくとも1つの虚数要素を含む前記少なくとも1つのターゲット要素で実行され、そして、
前記複素数乗算命令の前記第1および第2の形式のうちの少なくとも1つに応答して、前記少なくとも1つのターゲット要素以外の前記宛先ベクトルの少なくとも1つの要素を更新するステップが抑制される、データ処理方法。 - 請求項1から18のいずれか一項に記載の装置に対応する命令実行環境を提供するようにホストデータ処理装置を制御するプログラム命令を含む、仮想マシンコンピュータプログラム。
- 請求項21に記載の仮想マシンコンピュータプログラムを格納した、コンピュータ可読な記憶媒体。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB1605557.6A GB2548908B (en) | 2016-04-01 | 2016-04-01 | Complex multiply instruction |
GB1605557.6 | 2016-04-01 | ||
PCT/GB2017/050443 WO2017168118A1 (en) | 2016-04-01 | 2017-02-22 | Complex multiply instruction |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2019511056A true JP2019511056A (ja) | 2019-04-18 |
Family
ID=58108685
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018549815A Pending JP2019511056A (ja) | 2016-04-01 | 2017-02-22 | 複素数乗算命令 |
Country Status (9)
Country | Link |
---|---|
US (1) | US10628155B2 (ja) |
EP (1) | EP3436928B1 (ja) |
JP (1) | JP2019511056A (ja) |
KR (1) | KR20180132085A (ja) |
CN (1) | CN108885550B (ja) |
GB (1) | GB2548908B (ja) |
IL (1) | IL261429B (ja) |
TW (1) | TWI728068B (ja) |
WO (1) | WO2017168118A1 (ja) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2564696B (en) * | 2017-07-20 | 2020-02-05 | Advanced Risc Mach Ltd | Register-based complex number processing |
CN107894966A (zh) * | 2017-12-11 | 2018-04-10 | 上海齐网网络科技有限公司 | 一种基于流水线的块浮点模式下的fft处理器引擎原型 |
EP3499362B1 (en) * | 2017-12-13 | 2022-11-30 | ARM Limited | Vector add-with-carry instruction |
US10732929B2 (en) * | 2018-01-09 | 2020-08-04 | Samsung Electronics Co., Ltd. | Computing accelerator using a lookup table |
JP7159696B2 (ja) * | 2018-08-28 | 2022-10-25 | 富士通株式会社 | 情報処理装置,並列計算機システムおよび制御方法 |
US11789734B2 (en) * | 2018-08-30 | 2023-10-17 | Advanced Micro Devices, Inc. | Padded vectorization with compile time known masks |
WO2020066375A1 (ja) * | 2018-09-25 | 2020-04-02 | 日本電気株式会社 | 情報処理装置、情報処理方法、プログラム |
US11823052B2 (en) * | 2019-10-11 | 2023-11-21 | Qualcomm Incorporated | Configurable MAC for neural network applications |
CN117093268B (zh) * | 2023-10-19 | 2024-01-30 | 超睿科技(长沙)有限公司 | 一种向量处理方法、系统、设备及存储介质 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05233682A (ja) * | 1992-02-21 | 1993-09-10 | Matsushita Electric Ind Co Ltd | ディジタル信号処理装置 |
JP2001256038A (ja) * | 1999-11-15 | 2001-09-21 | Texas Instr Inc <Ti> | 柔軟な乗算ユニットを有するデータ・プロセッサ |
JP2005025718A (ja) * | 2003-06-30 | 2005-01-27 | Intel Corp | Simd整数乗算上位丸めシフト |
JP2005521176A (ja) * | 2002-03-22 | 2005-07-14 | インテル コーポレイション | データマスクマッピング情報取得方法 |
JP2008506191A (ja) * | 2004-07-08 | 2008-02-28 | アソクス リミテッド | 可変サイズの高速直交変換を実施する方法および機器 |
US7392368B2 (en) * | 2002-08-09 | 2008-06-24 | Marvell International Ltd. | Cross multiply and add instruction and multiply and subtract instruction SIMD execution on real and imaginary components of a plurality of complex data elements |
JP2009048532A (ja) * | 2007-08-22 | 2009-03-05 | Nec Electronics Corp | マイクロプロセッサ |
JP2009075676A (ja) * | 2007-09-18 | 2009-04-09 | Nec Electronics Corp | マイクロプロセッサ |
US20120166511A1 (en) * | 2010-12-22 | 2012-06-28 | Hiremath Chetan D | System, apparatus, and method for improved efficiency of execution in signal processing algorithms |
JP2015219823A (ja) * | 2014-05-20 | 2015-12-07 | 富士通株式会社 | プロセッサ |
US20150378734A1 (en) * | 2014-06-30 | 2015-12-31 | Microunity Systems Engineering, Inc. | System and methods for expandably wide operand instructions |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7072929B2 (en) * | 2000-11-01 | 2006-07-04 | Pts Corporation | Methods and apparatus for efficient complex long multiplication and covariance matrix implementation |
US20040073773A1 (en) * | 2002-02-06 | 2004-04-15 | Victor Demjanenko | Vector processor architecture and methods performed therein |
US9465611B2 (en) | 2003-10-02 | 2016-10-11 | Broadcom Corporation | Processor execution unit with configurable SIMD functional blocks for complex number operations |
US7793072B2 (en) * | 2003-10-31 | 2010-09-07 | International Business Machines Corporation | Vector execution unit to process a vector instruction by executing a first operation on a first set of operands and a second operation on a second set of operands |
US8200945B2 (en) * | 2003-11-07 | 2012-06-12 | International Business Machines Corporation | Vector unit in a processor enabled to replicate data on a first portion of a data bus to primary and secondary registers |
US8423979B2 (en) * | 2006-10-12 | 2013-04-16 | International Business Machines Corporation | Code generation for complex arithmetic reduction for architectures lacking cross data-path support |
GB2464292A (en) * | 2008-10-08 | 2010-04-14 | Advanced Risc Mach Ltd | SIMD processor circuit for performing iterative SIMD multiply-accumulate operations |
US8650240B2 (en) * | 2009-08-17 | 2014-02-11 | International Business Machines Corporation | Complex matrix multiplication operations with data pre-conditioning in a high performance computing architecture |
GB2474901B (en) * | 2009-10-30 | 2015-01-07 | Advanced Risc Mach Ltd | Apparatus and method for performing multiply-accumulate operations |
KR20120077164A (ko) * | 2010-12-30 | 2012-07-10 | 삼성전자주식회사 | Simd 구조를 사용하는 복소수 연산을 위한 사용하는 장치 및 방법 |
CN104115115B (zh) * | 2011-12-19 | 2017-06-13 | 英特尔公司 | 用于多精度算术的simd整数乘法累加指令 |
EP2851786A1 (en) * | 2013-09-23 | 2015-03-25 | Telefonaktiebolaget L M Ericsson (publ) | Instruction class for digital signal processors |
-
2016
- 2016-04-01 GB GB1605557.6A patent/GB2548908B/en active Active
-
2017
- 2017-02-22 CN CN201780019471.9A patent/CN108885550B/zh active Active
- 2017-02-22 US US16/081,147 patent/US10628155B2/en active Active
- 2017-02-22 WO PCT/GB2017/050443 patent/WO2017168118A1/en active Application Filing
- 2017-02-22 KR KR1020187030693A patent/KR20180132085A/ko not_active Application Discontinuation
- 2017-02-22 EP EP17706880.6A patent/EP3436928B1/en active Active
- 2017-02-22 JP JP2018549815A patent/JP2019511056A/ja active Pending
- 2017-03-15 TW TW106108495A patent/TWI728068B/zh active
-
2018
- 2018-08-28 IL IL261429A patent/IL261429B/en active IP Right Grant
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05233682A (ja) * | 1992-02-21 | 1993-09-10 | Matsushita Electric Ind Co Ltd | ディジタル信号処理装置 |
JP2001256038A (ja) * | 1999-11-15 | 2001-09-21 | Texas Instr Inc <Ti> | 柔軟な乗算ユニットを有するデータ・プロセッサ |
JP2005521176A (ja) * | 2002-03-22 | 2005-07-14 | インテル コーポレイション | データマスクマッピング情報取得方法 |
US7392368B2 (en) * | 2002-08-09 | 2008-06-24 | Marvell International Ltd. | Cross multiply and add instruction and multiply and subtract instruction SIMD execution on real and imaginary components of a plurality of complex data elements |
JP2005025718A (ja) * | 2003-06-30 | 2005-01-27 | Intel Corp | Simd整数乗算上位丸めシフト |
JP2008506191A (ja) * | 2004-07-08 | 2008-02-28 | アソクス リミテッド | 可変サイズの高速直交変換を実施する方法および機器 |
JP2009048532A (ja) * | 2007-08-22 | 2009-03-05 | Nec Electronics Corp | マイクロプロセッサ |
JP2009075676A (ja) * | 2007-09-18 | 2009-04-09 | Nec Electronics Corp | マイクロプロセッサ |
US20120166511A1 (en) * | 2010-12-22 | 2012-06-28 | Hiremath Chetan D | System, apparatus, and method for improved efficiency of execution in signal processing algorithms |
JP2015219823A (ja) * | 2014-05-20 | 2015-12-07 | 富士通株式会社 | プロセッサ |
US20150378734A1 (en) * | 2014-06-30 | 2015-12-31 | Microunity Systems Engineering, Inc. | System and methods for expandably wide operand instructions |
Also Published As
Publication number | Publication date |
---|---|
GB2548908B (en) | 2019-01-30 |
GB2548908A (en) | 2017-10-04 |
TWI728068B (zh) | 2021-05-21 |
CN108885550A (zh) | 2018-11-23 |
US20190310847A1 (en) | 2019-10-10 |
EP3436928A1 (en) | 2019-02-06 |
US10628155B2 (en) | 2020-04-21 |
TW201737075A (zh) | 2017-10-16 |
IL261429B (en) | 2020-10-29 |
WO2017168118A1 (en) | 2017-10-05 |
KR20180132085A (ko) | 2018-12-11 |
CN108885550B (zh) | 2023-03-03 |
IL261429A (en) | 2018-10-31 |
EP3436928B1 (en) | 2020-05-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102413832B1 (ko) | 벡터 곱셈 덧셈 명령 | |
TWI728068B (zh) | 複數乘法指令 | |
US8443170B2 (en) | Apparatus and method for performing SIMD multiply-accumulate operations | |
KR100705507B1 (ko) | 확장가능한 프로세서 아키텍처에 진보된 명령어들을부가하는 방법 및 장치 | |
CN108780395B (zh) | 矢量预测指令 | |
KR20180066146A (ko) | 벡터 데이터 전송 명령어 | |
CN111381939A (zh) | 多线程处理器中的寄存器文件 | |
CN111381880A (zh) | 加载-存储指令 | |
KR20180067582A (ko) | 벡터 로드 명령어 | |
JP2012252374A (ja) | 情報処理装置 | |
US11106465B2 (en) | Vector add-with-carry instruction | |
Finlayson et al. | An overview of static pipelining | |
JP7048612B2 (ja) | ベクトル生成命令 | |
Finlayson et al. | Improving low power processor efficiency with static pipelining |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200214 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20210326 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210407 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210629 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20211117 |