JP7084882B2 - 並べ替え動作を実行するための装置および方法 - Google Patents
並べ替え動作を実行するための装置および方法 Download PDFInfo
- Publication number
- JP7084882B2 JP7084882B2 JP2018568757A JP2018568757A JP7084882B2 JP 7084882 B2 JP7084882 B2 JP 7084882B2 JP 2018568757 A JP2018568757 A JP 2018568757A JP 2018568757 A JP2018568757 A JP 2018568757A JP 7084882 B2 JP7084882 B2 JP 7084882B2
- Authority
- JP
- Japan
- Prior art keywords
- access
- sort
- vector
- instruction
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 33
- 239000013598 vector Substances 0.000 claims description 376
- 238000012545 processing Methods 0.000 claims description 100
- 230000008520 organization Effects 0.000 claims description 29
- 230000004044 response Effects 0.000 claims description 14
- 230000009467 reduction Effects 0.000 claims description 5
- 238000004590 computer program Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 description 15
- 238000013459 approach Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 9
- 230000000694 effects Effects 0.000 description 7
- 230000008901 benefit Effects 0.000 description 4
- 238000003860 storage Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 241000238876 Acari Species 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003090 exacerbative effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000000116 mitigating effect Effects 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000012546 transfer Methods 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/30032—Movement instructions, e.g. MOVE, SHIFT, ROTATE, SHUFFLE
-
- 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/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
- G06F9/30038—Instructions to perform operations on packed data, e.g. vector, tile or matrix operations using a mask
-
- 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/3004—Arrangements for executing specific machine instructions to perform operations on memory
- G06F9/30043—LOAD or STORE instructions; Clear instruction
-
- 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/30105—Register structure
- G06F9/30109—Register structure having multiple operands in a single register
-
- 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/3012—Organisation of register space, e.g. banked or distributed register file
- G06F9/3013—Organisation of register space, e.g. banked or distributed register file according to data content, e.g. floating-point registers, address 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
- 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/34—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
- G06F9/345—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes of multiple operands or results
- G06F9/3455—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes of multiple operands or results using stride
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Complex Calculations (AREA)
- Advance Control (AREA)
- Executing Machine-Instructions (AREA)
Description
VLD40.32{Q0-Q3}、[Rn]
VLD41.32{Q0-Q3}、[Rn]
VLD42.32{Q0-Q3}、[Rn]
VLD43.32{Q0-Q3}、[Rn]!
Claims (23)
- プログラム命令のシーケンスによって指定された動作を実行するための処理回路と、
各ベクトルレジスタが複数のデータ要素を含むベクトルを格納するように構成されたベクトルレジスタのセットとを備え、
前記処理回路が、メモリと前記セットの複数のベクトルレジスタとの間でデータ要素を移動させ、前記データ要素が前記メモリ内の第1の編成に配置され且つ前記第1の編成とは異なる前記ベクトルレジスタ内の第2の編成に配置されるように前記データ要素が移動されるときに並べ替え動作を実行するアクセス回路を備え、
プログラム命令の前記シーケンス内の並べ替え命令の群に応答して一群の並べ替え命令を復号して前記処理回路による各並べ替え命令の実行を制御する制御信号を生成するように構成される復号回路を備え、前記群内の各並べ替え命令が、前記群内の他の各並べ替え命令によって定義されたデータ要素アクセスパターンとは異なり且つ前記アクセス回路に前記複数のベクトルレジスタの1つのベクトルレジスタよりも多くアクセスさせるデータ要素アクセスパターンを定義し、前記アクセス回路が、前記群内の並べ替え命令の全てを実行する前記処理回路の結果として並べ替え動作を実行するように構成される、装置。 - 前記アクセス回路が、前記群内の各並べ替え命令の実行に応答して、前記群内の他の各並べ替え命令の実行によって移動される前記データ要素とは異なるデータ要素を前記メモリと前記複数のベクトルレジスタとの間で移動させる、請求項1に記載の装置。
- 前記群内の各並べ替え命令が、前記複数のベクトルレジスタを識別し、前記アクセス回路に前記複数のベクトルレジスタのそれぞれの少なくとも1つのデータ要素にアクセスさせるデータ要素アクセスパターンを定義する、請求項1または請求項2に記載の装置。
- 前記アクセス回路が、前記群内の各並べ替え命令の実行中に、前記メモリ内の連続ワードへの少なくとも1つのアクセスを実行するように構成される、
請求項1~3のうちいずれか一項に記載の装置。 - 前記アクセス回路が、前記群内の各並べ替え命令の実行中に、前記メモリ内の連続ワードへの別々のアクセスを実行するように構成される、
請求項4に記載の装置。 - 前記ベクトルレジスタのセットが論理的に複数の列に分割可能であり、各列が各ベクトルの同じ部分を格納するように配置され、前記ベクトルレジスタのセットが少なくとも2つのセクションを含み、各セクションが少なくとも1つの列を含み、各列が1つのセクションにのみ存在し、
各並べ替え命令に関連する前記データ要素アクセスパターンが、前記メモリ内の連続ワードへの別々のアクセスのそれぞれに関連して、前記アクセス回路がセクションの異なる1つの中の前記データ要素にアクセスするように構成される、
請求項5に記載の装置。 - 前記処理回路が、算術処理命令によって指定された算術演算を実行する算術処理回路を備え、
前記復号回路が、前記算術処理命令および前記並べ替え命令を含む前記プログラム命令のシーケンスに応答して、少なくとも1つの並べ替え命令の実行を少なくとも1つの算術処理命令の実行と少なくとも部分的に重複させる制御信号を生成し、重複実行中、前記算術処理命令が、前記アクセス回路によってアクセスされるセクションに対して前記レジスタのセットの異なるセクションにアクセスするように構成されている、
請求項6に記載の装置。 - 前記メモリが複数のメモリバンクから形成されており、
各並べ替え命令に対して、前記データ要素アクセスパターンが、前記並べ替え命令が前記処理回路によって実行されたときに複数のメモリバンクにアクセスさせるように定義される、請求項1~7のうちいずれか一項に記載の装置。 - 前記アクセス回路が、群内の各並べ替え命令の実行中に、前記メモリ内の連続ワードへの別々のアクセスを実行するように構成されており、
別々のアクセスのそれぞれに対して、前記データ要素アクセスパターンが、前記複数のメモリバンクが前記アクセス回路によってアクセスされるように定義される、請求項8記載の装置。 - 前記アクセス回路が、群内の各並べ替え命令の実行中に、前記メモリ内の連続ワードへの別々のアクセスを実行するように構成されており、
前記データ要素アクセスパターンが、少なくとも1つの別のアクセス中にアクセスされた前記メモリバンクの第2のサブセットとは異なる別のアクセスのうちの少なくとも1つにおいて、前記アクセス回路に前記メモリバンクの第1のサブセットにアクセスさせるように定義される、
請求項8または請求項9に記載の装置。 - 前記データ要素がデータ構造にグループ化され、
前記第1の編成にしたがって、各データ構造の前記データ要素が前記メモリ内で連続して配置され、
前記第2の編成にしたがって、複数のデータ構造からの対応するデータ要素が各ベクトルレジスタ内に連続して配置されている、
請求項1~10のうちいずれか一項に記載の装置。 - 前記一群の並べ替え命令の実行が、前記アクセス回路に、複数のデータ構造の前記データ要素を前記メモリからロードさせ、前記並べ替え動作として、前記データ要素を前記複数のベクトルレジスタに書き込む前にデインターリーブ動作を実行させる、請求項11に記載の装置。
- 前記一群の並べ替え命令の実行が、前記アクセス回路に、前記複数のベクトルレジスタから前記データ要素を読み取らせ、前記データ要素を複数のデータ構造として前記メモリに格納する前に前記並べ替え動作としてインターリーブ動作を実行させる、請求項11に記載の装置。
- 前記データ要素がデータ構造にグループ化され、
前記第1の編成にしたがって、複数のデータ構造からの対応するデータ要素が前記メモリ内で連続して配置され、
第2の編成にしたがって、各データ構造の前記データ要素が各ベクトルレジスタ内に連続して配置されている、
請求項1~13のうちいずれか一項に記載の装置。 - 前記群内の各並べ替え命令が、定義された前記データ要素アクセスパターンと組み合わせて使用されるベースアドレスレジスタを指定して、アクセスされる前記メモリ内のアドレスを識別する、請求項1~14のうちいずれか一項に記載の装置。
- 前記処理回路が、前記並べ替え命令のうちの少なくとも1つの実行に応答して、前記ベースアドレスレジスタ内のベースアドレスを、
前記複数のベクトルレジスタの合計サイズに等しい値による前記ベースアドレスの調整、
前記少なくとも1つの並べ替え命令において書き戻しフラグが指定されている場合、前記複数のベクトルレジスタの合計サイズに等しい値による前記ベースアドレスの調整、
前記ベクトルレジスタのサイズに等しい値による前記ベースアドレスの調整、
前記少なくとも1つの並べ替え命令において書き戻しフラグが指定されている場合、前記ベクトルレジスタのサイズに等しい値による前記ベースアドレスの調整、
前記少なくとも1つの並べ替え命令によって指定された即値から導出された量による前記ベースアドレスの調整、および
前記少なくとも1つの並べ替え命令によって指定された前記レジスタ内の値による前記ベースアドレスのインクリメント、
のうちの1つにしたがって調整する、請求項15に記載の装置。 - 前記処理回路が、前記並べ替え命令のうちの少なくとも1つの実行に応答して、前記ベースアドレスレジスタ内のベースアドレスを、
各アクセスにおける連続ワードの合計サイズに等しい値による前記ベースアドレスの調整、および
書き戻しフラグが前記並べ替え命令の少なくとも1つに指定されている場合、各アクセスにおける連続ワードの合計サイズに等しい値による前記ベースアドレスの調整、
のうちの1つにしたがって調整する、請求項5を引用する請求項15に記載の装置。 - 前記並べ替え命令の群の実行が、前記アクセス回路に、前記データ要素が前記メモリと前記複数のベクトルレジスタとの間で移動されるときに前記データ要素のサイズを変更するようにデータ拡大動作およびデータ縮小動作の一方をさらに実行させる、請求項1~17のうちいずれか一項に記載の装置。
- メモリ内でアクセスされたアドレス範囲内のデータ構造の1つ以上を前記アクセス回路による処理から除外するために、前記アクセス回路が、前記並べ替え命令の群を実行するときに述語値を参照するように構成されている、以下の(i)~(iii)の請求項:
(i)請求項11乃至14のいずれかの請求項;
(ii)請求項11又は14を引用する請求項15、又はその請求項15を引用する請求項16;
(iii)請求項11または請求項14のいずれかを引用する請求項18;
のうちいずれか一項に記載の装置。 - 前記並べ替え命令が、
前記複数のベクトルレジスタのうちの前記2つ以上のベクトルレジスタのうちの1つを形成するベクトルレジスタを指定するパラメータであって、前記複数のベクトルレジスタのうちの前記2つ以上のベクトルレジスタの残りのレジスタが、前記指定されたベクトルレジスタに対して指定されるもの、
前記複数のベクトルレジスタのうちの前記2つ以上のベクトルレジスタを指定するパラメータ、
前記データ要素のサイズを指定するパラメータ、
前記複数のデータ要素内の前記データ要素の数を指定するパラメータ、および
前記複数のベクトルレジスタを含むベクトルレジスタの数を指定するパラメータ
のうちの1つ以上を識別する、請求項1~19のうちいずれか一項に記載の装置。 - プログラム命令のシーケンスによって指定された動作を実行するための処理回路と、各ベクトルレジスタが複数のデータ要素を含むベクトルを格納するように構成されたベクトルレジスタのセットとを有する装置内で並べ替え動作を実行する方法であって、
前記処理回路のアクセス回路を使用して、メモリと前記セットの複数のベクトルレジスタとの間で前記データ要素を移動させ、前記データ要素が前記メモリ内の第1の編成内に配置され且つ前記第1の編成とは異なる前記ベクトルレジスタ内の第2の編成内に配置されるように前記データ要素が移動されるときに並べ替え動作を実行することと、
プログラム命令の前記シーケンス内の一群の並べ替え命令を復号して前記処理回路による各並べ替え命令の実行を制御する制御信号を生成することを備え、前記一群の各並べ替え命令が、前記一群の他の各並べ替え命令によって定義されたデータ要素アクセスパターンとは異なり且つ前記アクセス回路に前記複数のベクトルレジスタの1つのベクトルレジスタよりも多くアクセスさせるデータ要素アクセスパターンを定義し、
前記並べ替え動作が、前記一群の全ての並べ替え命令の前記処理回路による実行の結果として前記アクセス回路によって実行される、方法。 - プログラム命令のシーケンスによって指定された動作を実行するための処理手段と、
各ベクトルレジスタ手段が複数のデータ要素を含むベクトルを格納するベクトルレジスタ手段のセットとを備え、
前記処理手段が、メモリと前記セットの複数のベクトルレジスタ手段との間で前記データ要素を移動させ、前記データ要素が前記メモリ内の第1の編成に配置され且つ前記第1の編成とは異なる前記ベクトルレジスタ手段内の第2の編成に配置されるように前記データ要素が移動されるときに並べ替え動作を実行するアクセス手段を備え、
プログラム命令の前記シーケンス内の並べ替え命令の一群に応答して前記一群の並べ替え命令を復号して前記処理手段による各並べ替え命令の実行を制御する制御信号を生成するための復号手段を備え、前記一群の各並べ替え命令が、前記一群の他の各並べ替え命令によって定義されたデータ要素アクセスパターンとは異なり且つ前記アクセス手段に前記複数のベクトルレジスタ手段の1つのベクトルレジスタ手段よりも多くアクセスさせるデータ要素アクセスパターンを定義し、前記アクセス手段が、前記一群の並べ替え命令の全てを実行する前記処理手段の結果として前記並べ替え動作を実行するように構成される、装置。 - ホストデータ処理装置を制御して請求項1から20のいずれかに記載の装置に対応する命令実行環境を提供するためのプログラム命令を備える仮想マシンコンピュータプログラム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB1611943.0A GB2552153B (en) | 2016-07-08 | 2016-07-08 | An apparatus and method for performing a rearrangement operation |
GB1611943.0 | 2016-07-08 | ||
PCT/GB2017/051629 WO2018007782A1 (en) | 2016-07-08 | 2017-06-06 | An apparatus and method for performing a rearrangement operation |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019519865A JP2019519865A (ja) | 2019-07-11 |
JP7084882B2 true JP7084882B2 (ja) | 2022-06-15 |
Family
ID=56890751
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018568757A Active JP7084882B2 (ja) | 2016-07-08 | 2017-06-06 | 並べ替え動作を実行するための装置および方法 |
Country Status (9)
Country | Link |
---|---|
US (1) | US11036502B2 (ja) |
EP (1) | EP3482288B1 (ja) |
JP (1) | JP7084882B2 (ja) |
KR (1) | KR102379896B1 (ja) |
CN (1) | CN109416633B (ja) |
GB (1) | GB2552153B (ja) |
IL (1) | IL263675A (ja) |
TW (1) | TWI733825B (ja) |
WO (1) | WO2018007782A1 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10990396B2 (en) * | 2018-09-27 | 2021-04-27 | Intel Corporation | Systems for performing instructions to quickly convert and use tiles as 1D vectors |
US10963256B2 (en) | 2018-09-28 | 2021-03-30 | Intel Corporation | Systems and methods for performing instructions to transform matrices into row-interleaved format |
US11163528B2 (en) | 2018-11-29 | 2021-11-02 | International Business Machines Corporation | Reformatting matrices to improve computing efficiency |
CN111459856B (zh) * | 2020-03-20 | 2022-02-18 | 中国科学院计算技术研究所 | 一种数据传输装置及传输方法 |
JP7487535B2 (ja) * | 2020-04-08 | 2024-05-21 | 富士通株式会社 | 演算処理装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006216069A (ja) | 1996-01-24 | 2006-08-17 | Sun Microsyst Inc | スタックを用いる演算マシンのための命令フォールディング処理 |
JP2015225427A (ja) | 2014-05-27 | 2015-12-14 | ルネサスエレクトロニクス株式会社 | プロセッサ及びデータ収集方法 |
Family Cites Families (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS58134357A (ja) | 1982-02-03 | 1983-08-10 | Hitachi Ltd | ベクトルプロセッサ |
US5019968A (en) | 1988-03-29 | 1991-05-28 | Yulan Wang | Three-dimensional vector processor |
US5887183A (en) | 1995-01-04 | 1999-03-23 | International Business Machines Corporation | Method and system in a data processing system for loading and storing vectors in a plurality of modes |
EP0747872B1 (en) * | 1995-06-07 | 1999-03-03 | International Business Machines Corporation | Video processor with addressing mode control |
US6901422B1 (en) | 2001-03-21 | 2005-05-31 | Apple Computer, Inc. | Matrix multiplication in a vector processing system |
US6898691B2 (en) * | 2001-06-06 | 2005-05-24 | Intrinsity, Inc. | Rearranging data between vector and matrix forms in a SIMD matrix processor |
US6573846B1 (en) | 2001-12-31 | 2003-06-03 | Apple Computer, Inc. | Method and apparatus for variable length decoding and encoding of video streams |
US20110087859A1 (en) * | 2002-02-04 | 2011-04-14 | Mimar Tibet | System cycle loading and storing of misaligned vector elements in a simd processor |
US7386703B2 (en) | 2003-11-18 | 2008-06-10 | International Business Machines Corporation | Two dimensional addressing of a matrix-vector register array |
GB2409059B (en) * | 2003-12-09 | 2006-09-27 | Advanced Risc Mach Ltd | A data processing apparatus and method for moving data between registers and memory |
JP3985797B2 (ja) | 2004-04-16 | 2007-10-03 | ソニー株式会社 | プロセッサ |
US9557994B2 (en) * | 2004-07-13 | 2017-01-31 | Arm Limited | Data processing apparatus and method for performing N-way interleaving and de-interleaving operations where N is an odd plural number |
US8898212B2 (en) * | 2008-10-24 | 2014-11-25 | Freescale Semiconductor, Inc | Methods and apparatus for reordering data |
US8543796B2 (en) * | 2008-11-05 | 2013-09-24 | Intel Corporation | Optimizing performance of instructions based on sequence detection or information associated with the instructions |
GB2470780B (en) * | 2009-06-05 | 2014-03-26 | Advanced Risc Mach Ltd | A data processing apparatus and method for performing a predetermined rearrangement operation |
US20110072236A1 (en) | 2009-09-20 | 2011-03-24 | Mimar Tibet | Method for efficient and parallel color space conversion in a programmable processor |
GB2476800A (en) | 2010-01-07 | 2011-07-13 | Linear Algebra Technologies Ltd | Sparse matrix vector multiplier using a bit map of non-zero elements to control scheduling of arithmetic operations |
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 |
CN104011644B (zh) * | 2011-12-22 | 2017-12-08 | 英特尔公司 | 用于产生按照数值顺序的相差恒定跨度的整数的序列的处理器、方法、系统和指令 |
US9098265B2 (en) * | 2012-07-11 | 2015-08-04 | Arm Limited | Controlling an order for processing data elements during vector processing |
US9606961B2 (en) * | 2012-10-30 | 2017-03-28 | Intel Corporation | Instruction and logic to provide vector compress and rotate functionality |
KR101877190B1 (ko) * | 2012-12-26 | 2018-07-10 | 인텔 코포레이션 | 인접한 수집/분산 연산들의 통합 |
EP2943875A4 (en) * | 2013-01-10 | 2016-11-30 | Freescale Semiconductor Inc | DATA PROCESSOR AND DATA PROCESSING METHOD |
US9330011B2 (en) * | 2013-09-20 | 2016-05-03 | Via Alliance Semiconductor Co., Ltd. | Microprocessor with integrated NOP slide detector |
US9552205B2 (en) * | 2013-09-27 | 2017-01-24 | Intel Corporation | Vector indexed memory access plus arithmetic and/or logical operation processors, methods, systems, and instructions |
US9361106B2 (en) * | 2013-12-27 | 2016-06-07 | Intel Corporation | SMS4 acceleration processors, methods, systems, and instructions |
CN104331497A (zh) * | 2014-11-19 | 2015-02-04 | 中国科学院自动化研究所 | 一种利用向量指令并行处理文件索引的方法及装置 |
US9996347B2 (en) | 2014-12-24 | 2018-06-12 | Intel Corporation | Hardware apparatuses and methods relating to elemental register accesses |
US9952831B1 (en) | 2017-02-16 | 2018-04-24 | Google Llc | Transposing in a matrix-vector processor |
-
2016
- 2016-07-08 GB GB1611943.0A patent/GB2552153B/en active Active
-
2017
- 2017-06-05 TW TW106118501A patent/TWI733825B/zh active
- 2017-06-06 JP JP2018568757A patent/JP7084882B2/ja active Active
- 2017-06-06 EP EP17730238.7A patent/EP3482288B1/en active Active
- 2017-06-06 US US16/314,936 patent/US11036502B2/en active Active
- 2017-06-06 KR KR1020197003386A patent/KR102379896B1/ko active IP Right Grant
- 2017-06-06 WO PCT/GB2017/051629 patent/WO2018007782A1/en unknown
- 2017-06-06 CN CN201780041254.XA patent/CN109416633B/zh active Active
-
2018
- 2018-12-12 IL IL263675A patent/IL263675A/en unknown
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006216069A (ja) | 1996-01-24 | 2006-08-17 | Sun Microsyst Inc | スタックを用いる演算マシンのための命令フォールディング処理 |
JP2015225427A (ja) | 2014-05-27 | 2015-12-14 | ルネサスエレクトロニクス株式会社 | プロセッサ及びデータ収集方法 |
Also Published As
Publication number | Publication date |
---|---|
KR20190026829A (ko) | 2019-03-13 |
US11036502B2 (en) | 2021-06-15 |
CN109416633A (zh) | 2019-03-01 |
WO2018007782A1 (en) | 2018-01-11 |
US20190339971A1 (en) | 2019-11-07 |
IL263675A (en) | 2019-01-31 |
GB2552153B (en) | 2019-07-24 |
GB201611943D0 (en) | 2016-08-24 |
KR102379896B1 (ko) | 2022-03-31 |
EP3482288A1 (en) | 2019-05-15 |
JP2019519865A (ja) | 2019-07-11 |
EP3482288B1 (en) | 2023-04-26 |
TWI733825B (zh) | 2021-07-21 |
TW201802669A (zh) | 2018-01-16 |
CN109416633B (zh) | 2023-02-28 |
GB2552153A (en) | 2018-01-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7084882B2 (ja) | 並べ替え動作を実行するための装置および方法 | |
CN107851014B (zh) | 用于转换存储器与多个向量寄存器之间的多个数据结构的设备及方法 | |
KR102413832B1 (ko) | 벡터 곱셈 덧셈 명령 | |
JP4130654B2 (ja) | 拡張可能なプロセッサアーキテクチャ中にアドバンスド命令を追加するための方法および装置 | |
KR20180066146A (ko) | 벡터 데이터 전송 명령어 | |
KR102379899B1 (ko) | 벡터 술어 명령 | |
US9965275B2 (en) | Element size increasing instruction | |
JP2022062067A (ja) | ベクトルレジスタのアクセス | |
CN110914801A (zh) | 在数据处理设备中的向量交叉 | |
KR20240140968A (ko) | 메모리 액세스 동작을 수행하기 위한 기술 | |
WO2023148467A9 (en) | Technique for performing memory access operations |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200221 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20210324 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210402 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20210701 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210902 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20210902 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20220222 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220308 |
|
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: 20220511 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220603 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7084882 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |