JP2018521423A - ベクトル算術命令 - Google Patents
ベクトル算術命令 Download PDFInfo
- Publication number
- JP2018521423A JP2018521423A JP2018503593A JP2018503593A JP2018521423A JP 2018521423 A JP2018521423 A JP 2018521423A JP 2018503593 A JP2018503593 A JP 2018503593A JP 2018503593 A JP2018503593 A JP 2018503593A JP 2018521423 A JP2018521423 A JP 2018521423A
- Authority
- JP
- Japan
- Prior art keywords
- vector
- source operand
- bit size
- arithmetic
- mixed
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 230000006870 function Effects 0.000 claims description 5
- 238000000034 method Methods 0.000 claims description 5
- 230000004044 response Effects 0.000 claims description 4
- 238000004590 computer program Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000000926 separation method Methods 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
- G06F9/30014—Arithmetic instructions with variable precision
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- 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/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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Complex Calculations (AREA)
- Advance Control (AREA)
- Executing Machine-Instructions (AREA)
Abstract
Description
処理演算を行うための処理回路と、プログラム命令をデコードして、前記処理演算を行うように前記処理回路を制御するための制御信号を生成するデコーダ回路とを備える、データを処理するための装置であって、
前記デコーダ回路が、要素サイズが混在した少なくとも1つのベクトル算術命令に応答して、第1のビットサイズの第1のソースオペランド要素の第1のベクトルと、前記第1のビットサイズより大きい第2のビットサイズの第2のソースオペランド要素の第2のベクトルに対して算術処理演算を行うように前記処理回路を制御するための制御信号を生成する装置を提供する。
処理演算を行うための処理手段と、プログラム命令をデコードして、前記処理演算を行うように前記処理回路を制御するための制御信号を生成するデコーダ手段とを備えるデータを処理するための装置であって、
前記デコーダ手段が、要素サイズが混在した少なくとも1つのベクトル算術命令に応答して、第1のビットサイズの第1のソースオペランド要素の第1のベクトルと、前記第1のビットサイズより大きい第2のビットサイズの第2のソースオペランド要素の第2のベクトルに対して算術処理演算を行うように前記処理手段を制御するための制御信号を生成する装置を提供する。
要素サイズが混在した少なくとも1つのベクトル算術命令をデコードして、第1のビットサイズの第1のソースオペランド要素の第1のベクトルと、前記第1のビットサイズより大きい第2のビットサイズの第2のソースオペランド要素の第2のベクトルに対して算術処理演算を行うように処理回路を制御するための制御信号を生成するステップを含む、データを処理する方法を提供する。
Claims (19)
- 処理演算を行うための処理回路と、
プログラム命令をデコードして、前記処理演算を行うように前記処理回路を制御するための制御信号を生成するデコーダ回路とを備える、データを処理するための装置であって、
前記デコーダ回路が、要素サイズが混在した少なくとも1つのベクトル算術命令に応答して、第1のビットサイズの第1のソースオペランド要素の第1のベクトルと、前記第1のビットサイズより大きい第2のビットサイズの第2のソースオペランド要素の第2のベクトルに対して算術処理演算を行うように前記処理回路を制御するための制御信号を生成する、データを処理するための装置。 - 前記第1のベクトルは、N個の第1のソースオペランド要素を有し、前記第2のベクトルは、M個の第2のソースオペランド要素を有し、NとMは、正の整数値であり、NはMより大きく、前記第2のソースオペランド要素のうちの少なくとも1つは、それぞれの他の入力オペラントとしての複数の異なる第1のソースオペランド要素と共に行われる前記算術処理演算に対する入力オペランドとして機能する、請求項1に記載の装置。
- Nは、X*Mであり、この場合Xは、1より大きい整数であり、各々の前記第2のソースオペランド要素は、前記第1のソースオペランド要素のXのそれぞれ別個のサブセットに対して行われる前記算術演算に対する入力オペランドとして機能する、請求項2に記載の装置。
- 前記第2のビットサイズは、前記第1のビットサイズのX倍である、請求項3に記載の装置。
- 第1のソースオペランド要素は、前記それぞれ別個のサブセットが、前記シーケンスの順序でX個の隣接する第1のソースオペランドを含むように、特定のシーケンス順序を有する、請求項3および4のいずれか一項に記載の装置。
- 前記要素サイズが混在した少なくとも1つのベクトル算術命令は、デスティネーションオペランド要素のベクトルを有し、所与のデスティネーションオペランド要素内の所与の位置的有意性のビット値は、対応する第1のソースオペランド要素と、対応する第2のソースオペランド要素のうちの少なくとも一方の内の異なる位置的有意性の1つまたは複数のビット値に依存している、請求項1から5のいずれか一項に記載の装置。
- 前記第1のソースオペランド要素は二進数の値であり、前記第2のソースオペランド要素は二進数の値であり、前記デスティネーションオペランド要素はデスティネーションオペランドの二進数の値である、請求項6に記載の装置。
- デスティネーションオペランド要素の前記ベクトルは、前記第1のビットサイズと等しいデスティネーションビットサイズを有する、請求項6および7のいずれか一項に記載の装置。
- 前記要素サイズが混在した少なくとも1つのベクトル算術命令は、要素サイズが混在したベクトルシフト命令を含み、前記算術処理演算は、対応する第2のソースオペランド要素によって指定されたシフト量だけ前記第1のソースオペランド要素をシフトするシフト演算である、請求項1から8のいずれか一項に記載の装置。
- 前記要素サイズが混在した少なくとも1つのベクトル算術命令は、要素サイズが混在したベクトル除算命令を含み、前記算術処理演算は、対応する第2のソースオペランド要素によって指定された除数によって前記第1のソースオペランド要素を割る除算演算である、請求項1から9のいずれか一項に記載の装置。
- 前記要素サイズが混在した少なくとも1つのベクトル算術命令は、要素サイズが混在したベクトル比較命令を含み、前記算術処理演算は、前記第1のソースオペランド要素を対応する第2のソースオペランド要素と比較する比較演算である、請求項1から10のいずれか一項に記載の装置。
- 前記要素サイズが混在したベクトル算術命令は、前記第1のベクトルと前記第2のベクトルのそれぞれの要素間の比較の結果を示すデスティネーションオペランド要素のベクトルを有する、請求項11に記載の装置。
- 前記第1のビットサイズは、要素サイズが混在した少なくとも1つのベクトル算術命令の中の要素サイズフィールドに依存している、請求項1から12のいずれか一項に記載の装置。
- 前記第1のビットサイズは、8ビット、16ビットおよび32ビットのうちの1つとして選択される、請求項13に記載の装置。
- 前記第2のビットサイズは固定される、請求項1から14のいずれか一項に記載の装置。
- 前記第2のビットサイズは64ビットである、請求項1から15のいずれか一項に記載の装置。
- 処理演算を行うための処理手段と、
プログラム命令をデコードして、前記処理演算を行うように前記処理回路を制御するための制御信号を生成するデコーダ手段とを備える、データを処理するための装置であって、
前記デコーダ手段が、要素サイズが混在した少なくとも1つのベクトル算術命令に応答して、第1のビットサイズの第1のソースオペランド要素の第1のベクトルと、前記第1のビットサイズより大きい第2のビットサイズの第2のソースオペランド要素の第2のベクトルに対して算術処理演算を行うように前記処理手段を制御するための制御信号を生成する、データを処理するための装置。 - 要素サイズが混在した少なくとも1つのベクトル算術命令をデコードして、第1のビットサイズの第1のソースオペランド要素の第1のベクトルと、前記第1のビットサイズより大きい第2のビットサイズの第2のソースオペランド要素の第2のベクトルに対して算術処理演算を行うように処理回路を制御するための制御信号を生成するステップを含む、データを処理する方法。
- 請求項1から16のいずれか一項においてクレーム主張される装置に対応する仮想マシン実行環境を実現するようにコンピュータを制御するために非一時的記憶媒体に記憶されるコンピュータプログラム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB1513511.4A GB2540943B (en) | 2015-07-31 | 2015-07-31 | Vector arithmetic instruction |
GB1513511.4 | 2015-07-31 | ||
PCT/GB2016/051868 WO2017021681A1 (en) | 2015-07-31 | 2016-06-23 | Vector arithmethic instruction |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2018521423A true JP2018521423A (ja) | 2018-08-02 |
JP2018521423A5 JP2018521423A5 (ja) | 2019-07-25 |
JP7071913B2 JP7071913B2 (ja) | 2022-05-19 |
Family
ID=54062956
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018503593A Active JP7071913B2 (ja) | 2015-07-31 | 2016-06-23 | ベクトル算術命令 |
Country Status (9)
Country | Link |
---|---|
US (1) | US11003447B2 (ja) |
EP (1) | EP3329363B1 (ja) |
JP (1) | JP7071913B2 (ja) |
KR (1) | KR102584001B1 (ja) |
CN (1) | CN107851016B (ja) |
GB (1) | GB2540943B (ja) |
IL (1) | IL256663B (ja) |
TW (1) | TWI739754B (ja) |
WO (1) | WO2017021681A1 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107315717B (zh) * | 2016-04-26 | 2020-11-03 | 中科寒武纪科技股份有限公司 | 一种用于执行向量四则运算的装置和方法 |
EP3428792B1 (en) | 2017-07-10 | 2022-05-04 | Arm Ltd | Testing bit values inside vector elements |
JP6604393B2 (ja) * | 2018-03-08 | 2019-11-13 | 日本電気株式会社 | ベクトルプロセッサ、演算実行方法、プログラム |
US10528346B2 (en) * | 2018-03-29 | 2020-01-07 | Intel Corporation | Instructions for fused multiply-add operations with variable precision input operands |
US20210389948A1 (en) * | 2020-06-10 | 2021-12-16 | Arm Limited | Mixed-element-size instruction |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050125631A1 (en) * | 2003-12-09 | 2005-06-09 | Arm Limited | Data element size control within parallel lanes of processing |
US20050240870A1 (en) * | 2004-03-30 | 2005-10-27 | Aldrich Bradley C | Residual addition for video software techniques |
US20140195783A1 (en) * | 2011-12-29 | 2014-07-10 | Krishnan Karthikeyan | Dot product processors, methods, systems, and instructions |
US20150012724A1 (en) * | 2013-07-08 | 2015-01-08 | Arm Limited | Data processing apparatus having simd processing circuitry |
US20150082010A1 (en) * | 2013-09-16 | 2015-03-19 | Oracle International Corporation | Shift instruction with per-element shift counts and full-width sources |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6408320B1 (en) * | 1998-01-27 | 2002-06-18 | Texas Instruments Incorporated | Instruction set architecture with versatile adder carry control |
US6282634B1 (en) * | 1998-05-27 | 2001-08-28 | Arm Limited | Apparatus and method for processing data having a mixed vector/scalar register file |
KR101239304B1 (ko) * | 2004-11-03 | 2013-03-05 | 실리콘 하이브 비.브이. | Simd 명령을 지원하는 프로그램 가능한 데이터 처리회로 |
US20080091924A1 (en) * | 2006-10-13 | 2008-04-17 | Jouppi Norman P | Vector processor and system for vector processing |
GB2464292A (en) * | 2008-10-08 | 2010-04-14 | Advanced Risc Mach Ltd | SIMD processor circuit for performing iterative SIMD multiply-accumulate operations |
GB2474901B (en) * | 2009-10-30 | 2015-01-07 | Advanced Risc Mach Ltd | Apparatus and method for performing multiply-accumulate operations |
JP5699554B2 (ja) * | 2010-11-11 | 2015-04-15 | 富士通株式会社 | ベクトル処理回路、命令発行制御方法、及びプロセッサシステム |
GB2488985A (en) * | 2011-03-08 | 2012-09-19 | Advanced Risc Mach Ltd | Mixed size data processing operation with integrated operand conversion instructions |
CN104081336B (zh) | 2011-12-23 | 2018-10-23 | 英特尔公司 | 用于检测向量寄存器内的相同元素的装置和方法 |
WO2013095607A1 (en) | 2011-12-23 | 2013-06-27 | Intel Corporation | Instruction execution unit that broadcasts data values at different levels of granularity |
CN103999037B (zh) | 2011-12-23 | 2020-03-06 | 英特尔公司 | 用于响应于单个指令来执行横向相加或相减的系统、装置和方法 |
US10133577B2 (en) * | 2012-12-19 | 2018-11-20 | Intel Corporation | Vector mask driven clock gating for power efficiency of a processor |
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 |
US10489155B2 (en) * | 2015-07-21 | 2019-11-26 | Qualcomm Incorporated | Mixed-width SIMD operations using even/odd register pairs for wide data elements |
US10146535B2 (en) * | 2016-10-20 | 2018-12-04 | Intel Corporatoin | Systems, apparatuses, and methods for chained fused multiply add |
-
2015
- 2015-07-31 GB GB1513511.4A patent/GB2540943B/en active Active
-
2016
- 2016-06-23 JP JP2018503593A patent/JP7071913B2/ja active Active
- 2016-06-23 KR KR1020187003580A patent/KR102584001B1/ko active IP Right Grant
- 2016-06-23 EP EP16732707.1A patent/EP3329363B1/en active Active
- 2016-06-23 US US15/743,745 patent/US11003447B2/en active Active
- 2016-06-23 CN CN201680043340.XA patent/CN107851016B/zh active Active
- 2016-06-23 WO PCT/GB2016/051868 patent/WO2017021681A1/en active Application Filing
- 2016-07-19 TW TW105122689A patent/TWI739754B/zh active
-
2017
- 2017-12-31 IL IL256663A patent/IL256663B/en active IP Right Grant
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050125631A1 (en) * | 2003-12-09 | 2005-06-09 | Arm Limited | Data element size control within parallel lanes of processing |
US20050240870A1 (en) * | 2004-03-30 | 2005-10-27 | Aldrich Bradley C | Residual addition for video software techniques |
US20140195783A1 (en) * | 2011-12-29 | 2014-07-10 | Krishnan Karthikeyan | Dot product processors, methods, systems, and instructions |
US20150012724A1 (en) * | 2013-07-08 | 2015-01-08 | Arm Limited | Data processing apparatus having simd processing circuitry |
US20150082010A1 (en) * | 2013-09-16 | 2015-03-19 | Oracle International Corporation | Shift instruction with per-element shift counts and full-width sources |
Also Published As
Publication number | Publication date |
---|---|
JP7071913B2 (ja) | 2022-05-19 |
CN107851016A (zh) | 2018-03-27 |
KR102584001B1 (ko) | 2023-10-04 |
GB2540943B (en) | 2018-04-11 |
US20180203692A1 (en) | 2018-07-19 |
WO2017021681A1 (en) | 2017-02-09 |
CN107851016B (zh) | 2022-05-17 |
GB201513511D0 (en) | 2015-09-16 |
KR20180035211A (ko) | 2018-04-05 |
IL256663A (en) | 2018-02-28 |
GB2540943A (en) | 2017-02-08 |
EP3329363B1 (en) | 2020-10-14 |
US11003447B2 (en) | 2021-05-11 |
TW201721409A (zh) | 2017-06-16 |
IL256663B (en) | 2020-02-27 |
TWI739754B (zh) | 2021-09-21 |
EP3329363A1 (en) | 2018-06-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106575215B (zh) | 处理指令的系统、设备、方法、处理器、介质和电子设备 | |
TWI512531B (zh) | 用以處理blake安全雜湊演算法的方法、設備、系統及製品 | |
JP7071913B2 (ja) | ベクトル算術命令 | |
US20160179523A1 (en) | Apparatus and method for vector broadcast and xorand logical instruction | |
US9507595B2 (en) | Execution of multi-byte memory access instruction specifying endian mode that overrides current global endian mode | |
JP6051458B2 (ja) | 複数のハッシュ動作を効率的に実行する方法および装置 | |
US20160011873A1 (en) | Instruction for implementing vector loops of iterations having an iteration dependent condition | |
US11301580B2 (en) | Instruction execution that broadcasts and masks data values at different levels of granularity | |
US20210200880A1 (en) | Method and apparatus for multi-key total memory encryption based on dynamic key derivation | |
CN106030514B (zh) | 用于执行采用传播的被屏蔽源元素存储指令的处理器及其方法 | |
GB2485774A (en) | Processor instruction to extract a bit field from one operand and insert it into another with an option to sign or zero extend the field | |
US11917067B2 (en) | Apparatuses, methods, and systems for instructions for usage restrictions cryptographically tied with data | |
WO2012136975A1 (en) | A data processing apparatus and method for performing vector operations | |
TWI564733B (zh) | 快速向量動態記憶衝突檢測 | |
JP2018521423A5 (ja) | ||
JP6818010B2 (ja) | ベクトル長クエリ命令 | |
JP2017534982A (ja) | 4d座標から4dのz曲線インデックスを計算するための機械レベル命令 | |
JP5732139B2 (ja) | データ要素の条件付き選択 | |
US20180203699A1 (en) | Vector operand bitsize control | |
JP2021515929A (ja) | データ処理 | |
JP5753603B2 (ja) | データ要素内のビットをゼロ化するためのシステム、装置、および方法 | |
US20160283242A1 (en) | Apparatus and method for vector horizontal logical instruction |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190614 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190614 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20200812 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20200901 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20201130 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20210201 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210301 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210831 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20211130 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220131 |
|
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: 20220413 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220509 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7071913 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |