JP2016530631A - ベクトルの算術的削減 - Google Patents
ベクトルの算術的削減 Download PDFInfo
- Publication number
- JP2016530631A JP2016530631A JP2016534602A JP2016534602A JP2016530631A JP 2016530631 A JP2016530631 A JP 2016530631A JP 2016534602 A JP2016534602 A JP 2016534602A JP 2016534602 A JP2016534602 A JP 2016534602A JP 2016530631 A JP2016530631 A JP 2016530631A
- Authority
- JP
- Japan
- Prior art keywords
- output
- vector
- elements
- input
- arithmetic
- 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 title claims abstract description 597
- 230000009467 reduction Effects 0.000 title claims description 506
- 238000000034 method Methods 0.000 claims abstract description 73
- 230000001186 cumulative effect Effects 0.000 claims description 122
- 230000004044 response Effects 0.000 claims description 6
- 229920006395 saturated elastomer Polymers 0.000 claims description 6
- 238000009738 saturating Methods 0.000 claims description 5
- 238000004513 sizing Methods 0.000 claims 1
- 239000013589 supplement Substances 0.000 claims 1
- 238000007792 addition Methods 0.000 description 39
- 238000010586 diagram Methods 0.000 description 21
- 230000008569 process Effects 0.000 description 12
- 238000004891 communication Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000003780 insertion Methods 0.000 description 4
- 230000037431 insertion Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000000873 masking effect Effects 0.000 description 3
- 230000001413 cellular effect Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000010200 validation analysis Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- ORQBXQOJMQIAOY-UHFFFAOYSA-N nobelium Chemical compound [No] ORQBXQOJMQIAOY-UHFFFAOYSA-N 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 230000009469 supplementation 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/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/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
- G06F9/3887—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled by a single instruction for multiple data lanes [SIMD]
-
- 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
- G06F9/3893—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled in tandem, e.g. multiplier-accumulator
- G06F9/3895—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled in tandem, e.g. multiplier-accumulator for complex operations, e.g. multidimensional or interleaved address generators, macros
- G06F9/3897—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled in tandem, e.g. multiplier-accumulator for complex operations, e.g. multidimensional or interleaved address generators, macros with adaptable data path
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Advance Control (AREA)
- Complex Calculations (AREA)
- Executing Machine-Instructions (AREA)
Abstract
Description
本出願は、その内容全体が参照によって本明細書に明示的に組み込まれる、2013年8月14日に出願された共同所有の米国非仮特許出願第13/967,191号からの優先権を主張する。
101 累積的なベクトルの算術的削減命令
102 複数の要素
104 第1の要素
106 第2の要素
108 第3の要素
110 N番目の要素
112 第1の出力要素
114 第2の出力要素
116 第3の出力要素
118 N番目の出力要素
120 出力ベクトル
122 入力ベクトル
180 命令名
182 第1のフィールド
184 第2のフィールド
186 第3のフィールド
188 第4のフィールド
190 第5のフィールド
192 第6のフィールド
200 システム
202 プロセッサ
204 算術論理演算装置
206 削減ツリー
208 回転ユニット
210 制御論理
212 マルチプレクサ
220 ベクトル命令
280 回転ベクトル
300 削減ツリー
302 第1の入力要素
304 第2の入力要素
306 第1の出力要素
308 第2の出力要素
312 第1の行
320 第1の加算器
321 第2の加算器
322 第1の副加算器
324 第2の副加算器
326 第3の副加算器
328 第4の副加算器
330 第1の入力副要素
332 第2の入力副要素
334 第3の入力副要素
336 第4の入力副要素
338 第5の入力副要素
340 第6の入力副要素
342 第7の入力副要素
344 第8の入力副要素
366 第1の出力副要素
368 第2の出力副要素
370 第3の出力副要素
372 第4の出力副要素
374 第5の出力副要素
376 第6の出力副要素
378 第7の出力副要素
380 第8の出力副要素
400 削減ツリー
402 加算器
404 加算器
406 加算器
408 加算器
410 第3の入力要素
412 第4の入力要素
414 第2の行
422 第3の出力要素
424 第4の出力要素
500 削減ツリー
502 複数の入力要素
504 複数の加算器
506 複数の出力要素
512 第1の行
514 第2の行
516 第3の行
518 第4の行
600 削減ツリー
608 第2の出力要素
610 出力ベクトル
614 第2の行
616 第3の行
618 第3の加算器
619 第4の加算器
625 第5の副加算器
627 第6の副加算器
629 第7の副加算器
700 削減ツリー
702 第1の入力要素
706 第1の出力要素
712 第1の加算器
720 第1のマルチプレクサ
724 第2マルチプレクサ
730 飽和論理回路
732 第1の加算器
734 第2の加算器入力
744 第1の制御信号
746 第2の制御信号
800 削減ツリー
802 複数の入力要素
804 複数の加算器
806 複数の出力要素
812 第1の行
814 第2の行
816 第3の行
818 第4の行
820 出力ベクトル
830 第1の経路
832 経路
834 経路
836 経路
840 第2の経路
842 経路
844 第3の経路
850 第1の加算器
852 第2の加算器
854 第3の加算器
856 第4の加算器
900 処理
901 区分されたベクトルの算術的削減命令
902 複数の入力要素
904 第1のセット
906 第2のセット
910 入力レジスタ
916 第1の出力要素
918 第2の出力要素
920 出力レジスタ
922 複数の以前の要素
924 複数の出力要素
980 命令名
982 第1のフィールド
984 第2のフィールド
986 第3のフィールド
988 第4のフィールド
990 第5のフィールド
992 第6のフィールド
994 第7のフィールド
1000 処理
1001 回転区分されたベクトルの算術的削減命令
1016 第1の出力要素
1018 第2の出力要素
1024 複数の出力要素
1080 命令名
1082 第1のフィールド
1084 第2のフィールド
1086 第3のフィールド
1088 第4のフィールド
1090 第5のフィールド
1092 第6のフィールド
1094 第7のフィールド
1096 第8のフィールド
1100 処理
1126 マスキングされた出力ベクトル
1130 マスク
1200 方法
1300 方法
1400 方法
1500 デバイス
1510 プロセッサ
1522 システムオンチップデバイス
1526 ディスプレイコントローラ
1528 ディスプレイ
1530 入力デバイス
1532 メモリ
1534 コーデック
1536 スピーカー
1538 マイクロフォン
1540 ワイヤレスインターフェース
1542 アンテナ
1544 電源
1560 ソフトウェア(たとえば、命令)
1562 累積的なベクトルの算術的削減命令
1564 区分されたベクトルの算術的削減命令
1568 カメラインターフェース
1570 ビデオカメラ
1580 削減ツリー
Claims (47)
- プロセッサにおいてベクトル命令を実行するステップを備える方法であって、前記ベクトル命令が複数の要素を含むベクトル入力を備え、前記ベクトル命令を実行するステップが、
第1の出力として前記複数の要素の第1の要素を提供するステップと、
前記複数の要素の前記第1の要素および第2の要素に対して第1の算術的演算を実行して、第2の出力を提供するステップと、
前記第1の出力および前記第2の出力を出力ベクトルに記憶するステップと
を備える、方法。 - 前記ベクトル命令を実行するステップがさらに、
前記複数の要素の前記第1の要素、前記第2の要素、および第3の要素に対して第2の算術的演算を実行して、第3の出力を提供するステップと、
前記第3の出力を前記出力ベクトルに記憶するステップとを備える、請求項1に記載の方法。 - 前記ベクトル命令を実行するステップがさらに、前記出力ベクトルの異なる出力要素に複数の出力の各々を記憶するステップを備え、前記複数の出力が前記第1の出力および前記第2の出力を含む、請求項1に記載の方法。
- 前記ベクトル命令を実行するステップがさらに、前記プロセッサの単一の実行サイクルの間に、前記出力ベクトルに前記第1の出力および前記第2の出力を記憶するステップを備える、請求項1に記載の方法。
- 前記複数の要素が順次的な順序で記憶され、前記ベクトル命令を実行するステップがさらに、前記複数の要素の特定の要素および前記複数の要素の1つまたは複数の他の要素に対して第2の算術的演算を実行して特定の出力を生成するステップを備え、前記1つまたは複数の他の要素が前記順次的な順序において前記特定の要素よりも順序的に前にある、請求項1に記載の方法。
- 前記ベクトル入力の第1のサイズが前記出力ベクトルの第2のサイズと同じである、請求項5に記載の方法。
- N個の出力のN番目の出力が前記複数の要素の各要素の合計に等しい、請求項6に記載の方法。
- 前記ベクトル命令を実行するステップがさらに、前記第1の要素を前記第1の出力として提供する前に前記複数の要素にマスクを適用するステップを備える、請求項1に記載の方法。
- 前記ベクトル命令を実行するステップが、前記第1の出力および前記第2の出力を含む複数の出力を生成するステップを含み、前記マスクを適用するステップが、前記マスクの対応するマスク値を条件として、前記複数の出力を生成する際に使用するための前記複数の要素の特定の要素に対して0値を提供するステップを備える、請求項8に記載の方法。
- 前記マスクが前記ベクトル命令によって特定される、請求項8に記載の方法。
- 前記ベクトル命令を実行するステップがさらに、マスクを前記出力ベクトルに適用するステップを備える、請求項1に記載の方法。
- 前記ベクトル命令を実行するステップがさらに、前記マスクに基づいて1つまたは複数の出力が前記出力ベクトルに記憶されるのを防ぐステップを備える、請求項11に記憶の方法。
- 前記ベクトル命令を実行するステップがさらに、前記ベクトル命令が複素数演算と関連付けられるとき、
前記第1の出力の第1の実数副要素および前記第1の出力の第1の虚数副要素を生成するステップと、
前記第2の出力の第2の実数副要素および前記第2の出力の第2の虚数副要素を生成するステップとを備える、請求項1に記載の方法。 - 削減ツリーを備えるプロセッサを備える装置であって、複数の要素を含むベクトル入力を特定するベクトル命令の実行の間に、前記削減ツリーが、
第1の出力要素として前記複数の要素の第1の要素を提供し、
前記複数の要素の前記第1の要素および第2の要素に対して第1の算術的演算を実行して、第2の出力要素を提供し、
前記第1の出力要素および前記第2の出力要素を出力ベクトルに記憶する
ように構成される、装置。 - 前記削減ツリーが、複数の算術的演算ユニット、複数の入力、および複数の出力を備え、前記削減ツリーが、前記複数の要素の前記第1の要素、前記第2の要素、および第3の要素に対して第2の算術的演算ユニットを実行して、第3の出力要素を提供するように構成される、請求項14に記載の装置。
- 前記複数の算術的演算ユニットの特定の算術的演算ユニットが、前記特定の算術的演算ユニットの出力を飽和させるように構成される飽和論理回路に結合される、請求項15に記載の装置。
- 前記プロセッサがさらに、前記ベクトル命令に基づいて、前記複数の算術的演算ユニットの1つまたは複数の算術的演算ユニットを選択的に有効にするように構成される制御論理を備え、前記第1の出力要素および前記第2の出力要素が、前記1つまたは複数の算術的演算ユニットを介して提供される、請求項15に記載の装置。
- 前記制御論理が、前記ベクトル命令に基づいて、前記複数の算術的演算ユニットのサブセットが0入力を受け取ることを可能にするように構成され、前記0入力が、論理0に等しい論理値を有する、請求項17に記載の装置。
- 前記制御論理が、前記ベクトル命令に基づいて、前記複数の算術的演算ユニットの少なくとも1つの算術的演算ユニットを迂回するように構成される、請求項17に記載の装置。
- 前記削減ツリーが、インターリーブされた方式で動作する複数の累積的な並列削減ネットワークへと論理的に区分され、前記複数の累積的な並列削減ネットワークが、2つの32ビットの累積的な削減ネットワークまたは4つの16ビットの累積的な削減ネットワークを含む、請求項14に記載の装置。
- 第1の出力として複数の要素の第1の要素を提供するための手段であって、ベクトル命令が前記複数の要素を含むベクトル入力を示す、手段と、
前記複数の要素の前記第1の要素および第2の要素に基づいて、第2の出力を生成するための手段と、
前記第1の出力および前記第2の出力を出力ベクトルに記憶するための手段とを備える、装置。 - 前記第2の出力を飽和させるための手段をさらに備え、飽和させるための前記手段が生成するための前記手段に結合される、請求項21に記載の装置。
- プロセッサによって実行されると、前記プロセッサに、
第1の出力要素として複数の要素の第1の要素を提供することであって、前記複数の要素がベクトル命令のベクトル入力に含まれる、提供することと、
前記複数の要素の前記第1の要素および第2の要素に対して算術的演算を実行して、第2の出力を提供することと、
前記第1の出力および前記第2の出力を出力ベクトルへ記憶することとを行わせる命令を備える、非一時的コンピュータ可読媒体。 - 前記命令がさらに、プロセッサに、前記ベクトル命令に基づいて、前記1つまたは複数の要素を使用する前に前記複数の要素の1つまたは複数の要素を補足させて、前記第1の出力および前記第2の出力を提供させるように実行可能である、請求項23に記載の非一時的コンピュータ可読媒体。
- 複数の入力、複数の算術的演算ユニット、および複数の出力を備える削減ツリーを備え、プロセッサが、第1のセクショングループ化サイズを含む第1の命令の実行の間に、および第2のセクショングループ化サイズを含む第2の命令の実行の間に、前記削減ツリーを使用するように構成され、前記削減ツリーが、複数の出力要素を同時に生成するように構成される、装置。
- 前記複数の算術的演算ユニットが複数の加算器を備える、請求項25に記載の装置。
- 前記第1の命令の実行の間に、前記第1のセクショングループ化サイズに基づいて前記複数の算術的演算ユニットの第1のサブセットを選択的に有効にし、
前記第2の命令の実行の間に、前記第2のセクショングループ化サイズに基づいて前記複数の算術的演算ユニットの第2のサブセットを選択的に有効にするように構成される、制御論理をさらに備える、請求項25に記載の装置。 - 前記削減ツリーが前記プロセッサの算術論理演算装置(ALU)に含まれ、前記削減ツリーが前記複数の入力の入力の数に基づく段階の数を有する、請求項25に記載の装置。
- 前記複数の算術的演算ユニットが算術的演算ユニットの複数の行を含み、算術的演算ユニットの前記複数の行の各行が、前記プロセッサに含まれるパイプラインの対応する段階と関連付けられる、請求項28に記載の装置。
- 前記削減ツリーの段階の前記数が、入力の前記数の2を底とする対数に等しい、請求項28に記載の装置。
- 出力ベクトルに前記複数の出力要素を記憶する前に前記出力ベクトルを回転させるように構成される回転ユニットをさらに備え、前記回転ユニットがローテータまたはバレルベクトルシフタを備える、請求項25に記載の装置。
- 1つまたは複数の飽和回路をさらに備え、前記1つまたは複数の飽和回路の特定の飽和回路が、特定の算術的演算ユニットから特定の出力を受け取り、前記特定の出力に基づいて飽和させられた値を出力するように構成される、請求項25に記載の装置。
- 前記削減ツリーが、累積的なベクトルの算術的命令の実行の間に、複数の累積的な算術的演算を使用して前記複数の出力要素を同時に生成するように構成される、請求項25に記載の装置。
- プロセッサにおいて、セクショングループ化サイズを含むベクトル命令を受け取るステップであって、前記プロセッサが削減ツリーを備え、前記削減ツリーが複数の入力、複数の算術的演算ユニット、および複数の出力を含む、ステップと、
前記セクショングループ化サイズを決定するステップと、
前記削減ツリーを使用して前記ベクトル命令を実行して、前記セクショングループ化サイズに基づいて前記複数の出力を同時に生成するステップとを備え、前記削減ツリーが、複数の異なるセクショングループ化サイズとともに使用するために選択的に構成可能である、方法。 - 前記削減ツリーが前記セクショングループ化サイズとともに使用するために構成されるかどうかを判定するステップと、
前記削減ツリーが前記セクショングループ化サイズとともに使用するために構成されないという判定に応答して、前記セクショングループ化サイズに基づいて前記構成を変更するステップとをさらに備える、請求項34に記載の方法。 - 前記削減ツリーが前記セクショングループ化サイズとともに使用するために構成されるかどうかを判定するステップと、
前記削減ツリーが前記セクショングループ化サイズとともに使用するために構成されるという判定に応答して、前記削減ツリーを使用して前記第1のベクトル命令を実行するステップとをさらに備える、請求項35に記載の方法。 - 前記ベクトル命令を実行するステップが、
前記セクショングループ化サイズを有する1つまたは複数のグループへと前記複数の入力をグループ化するステップと、
前記1つまたは複数のグループに対して1つまたは複数の算術的演算を実行して前記複数の出力を生成するステップとを備え、前記ベクトル命令が前記1つまたは複数の算術的演算を示す、請求項34に記載の方法。 - 前記複数の入力の各入力が、対応する実数部分および対応する虚数部分を含み、前記複数の出力の各出力要素が、インターリーブされた方式で、1つまたは複数の実数部分に対して第1の算術的演算を実行し、1つまたは複数の虚数部分に対して第2の算術的演算を実行することによって生成される、請求項37に記載の方法。
- 前記複数の入力および前記複数の出力が、実数値、虚数値、またはこれらの組合せを表す、請求項34に記載の方法。
- 複数の入力要素を含むベクトル命令を実行するステップを備え、前記ベクトル命令を実行するステップが、
入力要素の第1のセットを形成するように前記複数の入力要素の第1のサブセットをグループ化するステップと、
入力要素の第2のセットを形成するように前記複数の入力要素の第2のサブセットをグループ化するステップと、
第1の算術的演算を入力要素の前記第1のセットに対して実行するステップと、
第2の算術的演算を入力要素の前記第2のセットに対して実行するステップと、
出力レジスタの内容を回転させるステップと、
前記出力レジスタの前記内容を回転させた後で、前記第1の算術的演算の第1の結果および前記第2の算術的演算の第2の結果を前記出力レジスタに挿入するステップとを備える、方法。 - 前記ベクトル命令が単一のベクトル命令であり、前記複数の入力の各々が入力ベクトルに記憶され、前記第1の結果および前記第2の結果が同時に生成される、請求項40に記載の方法。
- 前記第1の結果および前記第2の結果を前記出力レジスタに挿入するステップが、前記出力レジスタの対応する内容を上書きするステップを備え、前記出力レジスタの前記内容を回転させるステップが、前記ベクトル命令に基づいて前記出力レジスタの前記内容を選択的に回転させるステップを備える、請求項40に記載の方法。
- 入力要素の前記第1のセットの要素の第1の数および入力要素の前記第2のセットの要素の第2の数が、前記ベクトル命令によって特定されるセクショングループ化サイズに基づく、請求項40に記載の方法。
- 要素の前記第1の数および要素の前記第2の数が同じである、請求項43に記載の方法。
- 前記第1の結果が前記出力レジスタの第1の出力要素に挿入され、前記第2の結果が前記出力レジスタの第2の出力要素に挿入され、前記第1の出力要素および前記第2の出力要素が前記出力レジスタの異なる出力要素である、請求項40に記載の方法。
- 前記ベクトル命令を実行するステップがさらに、前記複数の入力要素をグループ化する前に前記複数の入力要素にマスクを適用するステップを備える、請求項40に記載の方法。
- 前記ベクトル命令を実行するステップがさらに、前記内容を回転させた後で前記出力レジスタにマスクを適用するステップを備える、請求項40に記載の方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/967,191 US20150052330A1 (en) | 2013-08-14 | 2013-08-14 | Vector arithmetic reduction |
US13/967,191 | 2013-08-14 | ||
PCT/US2014/049604 WO2015023465A1 (en) | 2013-08-14 | 2014-08-04 | Vector accumulation method and apparatus |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016530631A true JP2016530631A (ja) | 2016-09-29 |
JP2016530631A5 JP2016530631A5 (ja) | 2017-08-31 |
Family
ID=51492424
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016534602A Pending JP2016530631A (ja) | 2013-08-14 | 2014-08-04 | ベクトルの算術的削減 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20150052330A1 (ja) |
EP (1) | EP3033670B1 (ja) |
JP (1) | JP2016530631A (ja) |
CN (1) | CN105453028B (ja) |
TW (1) | TWI507982B (ja) |
WO (1) | WO2015023465A1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020513120A (ja) * | 2017-04-03 | 2020-04-30 | グーグル エルエルシー | ベクトル縮小プロセッサ |
JP2023515348A (ja) * | 2020-02-10 | 2023-04-13 | エックスモス リミテッド | ベクトル演算の回転累算器 |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9678715B2 (en) | 2014-10-30 | 2017-06-13 | Arm Limited | Multi-element comparison and multi-element addition |
US20160179530A1 (en) * | 2014-12-23 | 2016-06-23 | Elmoustapha Ould-Ahmed-Vall | Instruction and logic to perform a vector saturated doubleword/quadword add |
US10296342B2 (en) | 2016-07-02 | 2019-05-21 | Intel Corporation | Systems, apparatuses, and methods for cumulative summation |
US10466967B2 (en) | 2016-07-29 | 2019-11-05 | Qualcomm Incorporated | System and method for piecewise linear approximation |
US10331445B2 (en) | 2017-05-24 | 2019-06-25 | Microsoft Technology Licensing, Llc | Multifunction vector processor circuits |
GB2574817B (en) * | 2018-06-18 | 2021-01-06 | Advanced Risc Mach Ltd | Data processing systems |
US11294670B2 (en) * | 2019-03-27 | 2022-04-05 | Intel Corporation | Method and apparatus for performing reduction operations on a plurality of associated data element values |
CN110807521B (zh) * | 2019-10-29 | 2022-06-24 | 中昊芯英(杭州)科技有限公司 | 支持向量运算的处理装置、芯片、电子设备和方法 |
US20240004647A1 (en) * | 2022-07-01 | 2024-01-04 | Andes Technology Corporation | Vector processor with vector and element reduction method |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02210538A (ja) * | 1988-10-05 | 1990-08-21 | United Technol Corp <Utc> | 集積回路と演算処理システム |
JPH0773149A (ja) * | 1993-03-31 | 1995-03-17 | Motorola Inc | データ処理システムとその方法 |
JPH07271969A (ja) * | 1993-11-30 | 1995-10-20 | Texas Instr Inc <Ti> | レジスタ対から条件付きでメモリへ記憶させる装置 |
JP2006529043A (ja) * | 2003-05-09 | 2006-12-28 | サンドブリッジ テクノロジーズ インコーポレーテッド | 飽和あり、または飽和なしで、オペランドの積和を実行するプロセッサ簡約ユニット |
JP2011509476A (ja) * | 2008-01-11 | 2011-03-24 | インターナショナル・ビジネス・マシーンズ・コーポレーション | コンピュータ・システム、その動作方法、及び、コンピュータ・プログラム |
WO2013095634A1 (en) * | 2011-12-23 | 2013-06-27 | Intel Corporation | Systems, apparatuses, and methods for performing a horizontal partial sum in response to a single instruction |
JP2014229133A (ja) * | 2013-05-23 | 2014-12-08 | 富士通株式会社 | 移動平均処理プログラム、及びプロセッサ |
JP2016510461A (ja) * | 2013-01-23 | 2016-04-07 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | Vectorelementrotateandinsertundermask命令を処理するためのコンピュータ・プログラム、コンピュータ・システム及び方法 |
Family Cites Families (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5542074A (en) * | 1992-10-22 | 1996-07-30 | Maspar Computer Corporation | Parallel processor system with highly flexible local control capability, including selective inversion of instruction signal and control of bit shift amount |
US5727229A (en) * | 1996-02-05 | 1998-03-10 | Motorola, Inc. | Method and apparatus for moving data in a parallel processor |
US6542918B1 (en) * | 1996-06-21 | 2003-04-01 | Ramot At Tel Aviv University Ltd. | Prefix sums and an application thereof |
US5845112A (en) * | 1997-03-06 | 1998-12-01 | Samsung Electronics Co., Ltd. | Method for performing dead-zone quantization in a single processor instruction |
US5864703A (en) * | 1997-10-09 | 1999-01-26 | Mips Technologies, Inc. | Method for providing extended precision in SIMD vector arithmetic operations |
US7395302B2 (en) * | 1998-03-31 | 2008-07-01 | Intel Corporation | Method and apparatus for performing horizontal addition and subtraction |
US6418529B1 (en) * | 1998-03-31 | 2002-07-09 | Intel Corporation | Apparatus and method for performing intra-add operation |
US6295597B1 (en) * | 1998-08-11 | 2001-09-25 | Cray, Inc. | Apparatus and method for improved vector processing to support extended-length integer arithmetic |
US6192384B1 (en) * | 1998-09-14 | 2001-02-20 | The Board Of Trustees Of The Leland Stanford Junior University | System and method for performing compound vector operations |
US6324638B1 (en) * | 1999-03-31 | 2001-11-27 | International Business Machines Corporation | Processor having vector processing capability and method for executing a vector instruction in a processor |
US7624138B2 (en) * | 2001-10-29 | 2009-11-24 | Intel Corporation | Method and apparatus for efficient integer transform |
US6920545B2 (en) * | 2002-01-17 | 2005-07-19 | Raytheon Company | Reconfigurable processor with alternately interconnected arithmetic and memory nodes of crossbar switched cluster |
US7376812B1 (en) * | 2002-05-13 | 2008-05-20 | Tensilica, Inc. | Vector co-processor for configurable and extensible processor architecture |
US7159099B2 (en) * | 2002-06-28 | 2007-01-02 | Motorola, Inc. | Streaming vector processor with reconfigurable interconnection switch |
US7051186B2 (en) * | 2002-08-29 | 2006-05-23 | International Business Machines Corporation | Selective bypassing of a multi-port register file |
TWI221562B (en) * | 2002-12-12 | 2004-10-01 | Chung Shan Inst Of Science | C6x_VSP-C6x vector signal processor |
US7293056B2 (en) * | 2002-12-18 | 2007-11-06 | Intel Corporation | Variable width, at least six-way addition/accumulation instructions |
US20040193847A1 (en) * | 2003-03-31 | 2004-09-30 | Lee Ruby B. | Intra-register subword-add instructions |
TW200504592A (en) * | 2003-07-24 | 2005-02-01 | Ind Tech Res Inst | Reconfigurable apparatus with high hardware efficiency |
US7797363B2 (en) * | 2004-04-07 | 2010-09-14 | Sandbridge Technologies, Inc. | Processor having parallel vector multiply and reduce operations with sequential semantics |
DE102006027181B4 (de) * | 2006-06-12 | 2010-10-14 | Universität Augsburg | Prozessor mit internem Raster von Ausführungseinheiten |
US8429384B2 (en) * | 2006-07-11 | 2013-04-23 | Harman International Industries, Incorporated | Interleaved hardware multithreading processor architecture |
US7725518B1 (en) * | 2007-08-08 | 2010-05-25 | Nvidia Corporation | Work-efficient parallel prefix sum algorithm for graphics processing units |
US8996846B2 (en) * | 2007-09-27 | 2015-03-31 | Nvidia Corporation | System, method and computer program product for performing a scan operation |
US8661226B2 (en) * | 2007-11-15 | 2014-02-25 | Nvidia Corporation | System, method, and computer program product for performing a scan operation on a sequence of single-bit values using a parallel processor architecture |
US8856492B2 (en) * | 2008-05-30 | 2014-10-07 | Nxp B.V. | Method for vector processing |
US8131979B2 (en) * | 2008-08-15 | 2012-03-06 | Apple Inc. | Check-hazard instructions for processing vectors |
US9176735B2 (en) * | 2008-11-28 | 2015-11-03 | Intel Corporation | Digital signal processor having instruction set with one or more non-linear complex functions |
US8595467B2 (en) * | 2009-12-29 | 2013-11-26 | International Business Machines Corporation | Floating point collect and operate |
US8667042B2 (en) * | 2010-09-24 | 2014-03-04 | Intel Corporation | Functional unit for vector integer multiply add instruction |
US8868885B2 (en) * | 2010-11-18 | 2014-10-21 | Ceva D.S.P. Ltd. | On-the-fly permutation of vector elements for executing successive elemental instructions |
PL3422178T3 (pl) * | 2011-04-01 | 2023-06-26 | Intel Corporation | Przyjazny dla wektorów format instrukcji i jego wykonanie |
US9760372B2 (en) * | 2011-09-01 | 2017-09-12 | Hewlett Packard Enterprise Development Lp | Parallel processing in plural processors with result register each performing associative operation on respective column data |
CN107153524B (zh) * | 2011-12-22 | 2020-12-22 | 英特尔公司 | 用于给出相应复数的复共轭的计算设备和计算机可读介质 |
CN104137053B (zh) * | 2011-12-23 | 2018-06-26 | 英特尔公司 | 用于响应于单个指令来执行蝴蝶横向和交叉加法或减法的系统、装置和方法 |
-
2013
- 2013-08-14 US US13/967,191 patent/US20150052330A1/en not_active Abandoned
-
2014
- 2014-08-04 WO PCT/US2014/049604 patent/WO2015023465A1/en active Application Filing
- 2014-08-04 CN CN201480043504.XA patent/CN105453028B/zh active Active
- 2014-08-04 EP EP14759362.8A patent/EP3033670B1/en active Active
- 2014-08-04 JP JP2016534602A patent/JP2016530631A/ja active Pending
- 2014-08-07 TW TW103127139A patent/TWI507982B/zh not_active IP Right Cessation
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02210538A (ja) * | 1988-10-05 | 1990-08-21 | United Technol Corp <Utc> | 集積回路と演算処理システム |
JPH0773149A (ja) * | 1993-03-31 | 1995-03-17 | Motorola Inc | データ処理システムとその方法 |
JPH07271969A (ja) * | 1993-11-30 | 1995-10-20 | Texas Instr Inc <Ti> | レジスタ対から条件付きでメモリへ記憶させる装置 |
JP2006529043A (ja) * | 2003-05-09 | 2006-12-28 | サンドブリッジ テクノロジーズ インコーポレーテッド | 飽和あり、または飽和なしで、オペランドの積和を実行するプロセッサ簡約ユニット |
JP2011509476A (ja) * | 2008-01-11 | 2011-03-24 | インターナショナル・ビジネス・マシーンズ・コーポレーション | コンピュータ・システム、その動作方法、及び、コンピュータ・プログラム |
WO2013095634A1 (en) * | 2011-12-23 | 2013-06-27 | Intel Corporation | Systems, apparatuses, and methods for performing a horizontal partial sum in response to a single instruction |
JP2016510461A (ja) * | 2013-01-23 | 2016-04-07 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | Vectorelementrotateandinsertundermask命令を処理するためのコンピュータ・プログラム、コンピュータ・システム及び方法 |
JP2014229133A (ja) * | 2013-05-23 | 2014-12-08 | 富士通株式会社 | 移動平均処理プログラム、及びプロセッサ |
Non-Patent Citations (1)
Title |
---|
五月女哲夫,小林達也,織田篤史: "徹底解説! ARMプロセッサ", INTERFACE, vol. 第29巻,第8号, JPN6019000555, 1 August 2003 (2003-08-01), JP, pages 76 - 80, ISSN: 0003958144 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020513120A (ja) * | 2017-04-03 | 2020-04-30 | グーグル エルエルシー | ベクトル縮小プロセッサ |
JP7055809B2 (ja) | 2017-04-03 | 2022-04-18 | グーグル エルエルシー | ベクトル縮小プロセッサ |
JP2022095817A (ja) * | 2017-04-03 | 2022-06-28 | グーグル エルエルシー | ベクトル縮小プロセッサ |
JP7256914B2 (ja) | 2017-04-03 | 2023-04-12 | グーグル エルエルシー | ベクトル縮小プロセッサ |
US11940946B2 (en) | 2017-04-03 | 2024-03-26 | Google Llc | Vector reduction processor |
JP2023515348A (ja) * | 2020-02-10 | 2023-04-13 | エックスモス リミテッド | ベクトル演算の回転累算器 |
JP7439276B2 (ja) | 2020-02-10 | 2024-02-27 | エックスモス リミテッド | ベクトル演算の回転累算器 |
Also Published As
Publication number | Publication date |
---|---|
EP3033670B1 (en) | 2019-11-06 |
US20150052330A1 (en) | 2015-02-19 |
TWI507982B (zh) | 2015-11-11 |
CN105453028B (zh) | 2019-04-09 |
WO2015023465A1 (en) | 2015-02-19 |
TW201519090A (zh) | 2015-05-16 |
CN105453028A (zh) | 2016-03-30 |
EP3033670A1 (en) | 2016-06-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2016530631A (ja) | ベクトルの算術的削減 | |
JP6293795B2 (ja) | スカラーレジスタデータ値に基づいたベクトルレジスタアドレス指定および関数 | |
JP2016514330A (ja) | マルチモード基数2のx乗のバタフライベクトル処理回路を提供するためのプログラマブルなデータパス構成を有するベクトル処理エンジン、ならびに関連ベクトルプロセッサ、システム、および方法 | |
KR102341523B1 (ko) | 동시 멀티 비트 가산기 | |
US11372804B2 (en) | System and method of loading and replication of sub-vector values | |
KR102560424B1 (ko) | 와이드 데이터 타입들의 비교 | |
US8843730B2 (en) | Executing instruction packet with multiple instructions with same destination by performing logical operation on results of instructions and storing the result to the destination | |
CN112650471A (zh) | 用于处理掩蔽数据的处理器和方法 | |
US9256434B2 (en) | Generalized bit manipulation instructions for a computer processor | |
CN107873091B (zh) | 用于滑动窗口运算的方法和设备 | |
JP6687803B2 (ja) | 区分線形近似のためのシステムおよび方法 | |
CN109690956B (zh) | 电子设备和用于电子设备的方法 | |
US11669489B2 (en) | Sparse systolic array design | |
US20140281368A1 (en) | Cycle sliced vectors and slot execution on a shared datapath | |
US20060271610A1 (en) | Digital signal processor having reconfigurable data paths | |
JP2002182905A (ja) | ディジタル信号処理プロセッサ | |
CN113867793A (zh) | 计算装置、集成电路芯片、板卡、电子设备和计算方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A529 | Written submission of copy of amendment under article 34 pct |
Free format text: JAPANESE INTERMEDIATE CODE: A529 Effective date: 20160209 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170714 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170714 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180424 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180528 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180809 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190121 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20190819 |