JP2022511278A - ベクトル述語要約の生成 - Google Patents
ベクトル述語要約の生成 Download PDFInfo
- Publication number
- JP2022511278A JP2022511278A JP2021510454A JP2021510454A JP2022511278A JP 2022511278 A JP2022511278 A JP 2022511278A JP 2021510454 A JP2021510454 A JP 2021510454A JP 2021510454 A JP2021510454 A JP 2021510454A JP 2022511278 A JP2022511278 A JP 2022511278A
- Authority
- JP
- Japan
- Prior art keywords
- predicate
- vector
- value
- bit
- true
- 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
- 239000013598 vector Substances 0.000 title claims abstract description 312
- 238000012545 processing Methods 0.000 claims abstract description 149
- 238000012544 monitoring process Methods 0.000 claims abstract description 56
- 230000004044 response Effects 0.000 claims abstract description 23
- 238000000034 method Methods 0.000 claims abstract description 22
- 238000005070 sampling Methods 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 10
- 230000000875 corresponding effect Effects 0.000 description 20
- 238000010586 diagram Methods 0.000 description 6
- 230000009471 action Effects 0.000 description 4
- 238000004088 simulation Methods 0.000 description 4
- 230000001276 controlling effect Effects 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 241000473391 Archosargus rhomboidalis Species 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30018—Bit or string 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
-
- 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/30072—Arrangements for executing specific machine instructions to perform conditional operations, e.g. using predicates or guards
-
- 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/30076—Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30094—Condition code generation, e.g. Carry, Zero flag
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)
- Executing Machine-Instructions (AREA)
Abstract
Description
0001111100110011
(一部のビットがより小さい端から連続して設定されているので)述語要約値「01」を有する00011111、及び
(一部のビットが設定されているがスパースであるので)述語要約値「10」を有する00110011
Claims (21)
- 複数の並列処理レーンでデータ処理を実行するためのベクトル処理回路であって、前記データ処理が、設定されたベクトル述語のビット値によって決定される前記複数の並列処理レーンのサブセットで実行される、ベクトル処理回路と、
前記ベクトル述語に応答して前記ベクトル述語の前記ビット値に応じて述語要約値を生成するための述語監視回路と
を備え、
前記述語要約値の第1の値が、前記ベクトル述語についてスパース条件が真であることを示し、直後により小さいインデックスのベクトル要素に対応する非設定ビットが続くより大きいインデックスのベクトル要素に対応する設定ビットを前記ベクトル述語の前記ビット値が含むとき、前記スパース条件は真であり、
前記述語要約値の第2の値が、前記ベクトル述語について前記スパース条件が真ではないことを示す、装置。 - 前記述語要約値の前記第1の値が、前記ベクトル述語の前記ビット値の厳密なサブセットが設定されていることを示し、設定ビットの前記厳密なサブセットが、前記ベクトル述語の最下位ビットを含む連続シーケンスではない、請求項1に記載の装置。
- 前記述語要約値の前記第2の値が、前記ベクトル述語の前記ビット値の厳密なサブセットが連続シーケンスで設定されていることを示す、請求項1又は請求項2に記載の装置。
- 前記連続シーケンスが前記ベクトル述語の最下位ビットを含むとき、前記述語監視回路が、前記ベクトル述語に応答して、前記第2の値を有する前記述語要約値を生成する、請求項3に記載の装置。
- 前記述語監視回路が、前記ベクトル述語に応答して、前記ベクトル述語のビット値が設定されていないときに前記述語要約値の第3の値を有する前記述語要約値を生成し、前記ベクトル述語のすべてのビット値が設定されているときに第4の値を有する前記述語要約値を生成する、請求項1から4までのいずれか一項に記載の装置。
- 前記述語監視回路が前記述語要約値を2ビット値として生成するように構成される、請求項5に記載の装置。
- 前記述語要約値が自己由来である、請求項6に記載の装置。
- 前記述語要約値の前記第3の値が00であり、前記述語要約値の前記第2の値が01であり、前記述語要約値の前記第1の値が10であり、前記述語要約値の前記第4の値が11である、請求項6又は請求項7に記載の装置。
- 前記述語監視回路が、前記ベクトル述語に応答して、前記ベクトル述語の前記ビット値に応じて第1の述語要約値及び少なくとも1つの追加の述語要約値を生成し、前記第1の述語要約値及び前記少なくとも1つの追加の述語要約値が、前記ベクトル述語の第1の部分及び少なくとも1つの追加の部分に対応する、請求項1から8までのいずれか一項に記載の装置。
- 前記ベクトル述語の前記第1の部分及び前記少なくとも1つの追加の部分のサイズが同じである、請求項9に記載の装置。
- 前記ベクトル述語の前記第1の部分及び前記少なくとも1つの追加の部分のサイズが異なる、請求項9に記載の装置。
- 前記述語監視回路がさらに、前記ベクトル述語に応答して、前記ベクトル述語中の設定ビットのカウントを示す述語カウント値を生成する、請求項1から11までのいずれか一項に記載の装置。
- 前記述語監視回路が、カウント命令に応答して、前記ベクトル述語中の設定ビットのカウントを示す前記述語カウント値を返す、請求項12に記載の装置。
- 前記述語監視回路がさらに、前記カウント命令に応答して、前記述語要約値を返す、請求項13に記載の装置。
- 前記ベクトル処理回路によって実行されるベクトル命令のベクトル命令要約を生成するための、前記ベクトル処理回路に関連するベクトル処理サンプリング回路を備え、前記ベクトル処理サンプリング回路が前記述語監視回路を備える、請求項1から14までのいずれか一項に記載の装置。
- 前記ベクトル処理サンプリング回路が、サンプル・トリガ条件に応答して、前記ベクトル命令要約を生成する、請求項15に記載の装置。
- 前記述語監視回路が、前記第1の値及び前記第2の値のうちの少なくとも一方を有する前記述語要約値の生成の発生をカウントするための少なくとも1つのカウンタをさらに備える、請求項1から16までのいずれか一項に記載の装置。
- 前記述語監視回路が、カウント要約トリガに応答して、前記少なくとも1つのカウンタの少なくとも1つの値を出力する、請求項17に記載の装置。
- 設定されたベクトル述語のビット値によって決定される複数の並列処理レーンのサブセットでベクトル・データ処理を実行するステップと、
前記ベクトル述語の前記ビット値に応じて述語要約値を生成するステップと
を含み、
前記述語要約値の第1の値が、前記ベクトル述語についてスパース条件が真であることを示し、直後により小さいインデックスのベクトル要素に対応する非設定ビットが続くより大きいインデックスのベクトル要素に対応する設定ビットを前記ベクトル述語の前記ビット値が含むとき、前記スパース条件が真であり、
前記述語要約値の第2の値が、前記ベクトル述語について前記スパース条件が真ではないことを示す、方法。 - 設定されたベクトル述語のビット値によって決定される複数の並列処理レーンのサブセットでベクトル・データ処理を実行するための手段と、
前記ベクトル述語の前記ビット値に応じて述語要約値を生成するための手段と
を備え、
前記述語要約値の第1の値が、前記ベクトル述語についてスパース条件が真であることを示し、直後により小さいインデックスのベクトル要素に対応する非設定ビットが続くより大きいインデックスのベクトル要素に対応する設定ビットを前記ベクトル述語の前記ビット値が含むとき、前記スパース条件が真であり、
前記述語要約値の第2の値が、前記ベクトル述語について前記スパース条件が真ではないことを示す、装置。 - 命令実行環境を提供するようにホスト・データ処理装置を制御するためのコンピュータ・プログラムであって、
複数の並列処理レーンでデータ処理を実行するためのベクトル処理ロジックであって、前記データ処理が、設定されたベクトル述語のビット値によって決定される前記複数の並列処理レーンのサブセットで実行される、ベクトル処理ロジックと、
前記ベクトル述語に応答して、前記ベクトル述語の前記ビット値に応じて述語要約値を生成する述語監視ロジックと
を含み、
前記述語要約値の第1の値が、前記ベクトル述語についてスパース条件が真であることを示し、直後により小さいインデックスのベクトル要素に対応する非設定ビットが続くより大きいインデックスのベクトル要素に対応する設定ビットを前記ベクトル述語の前記ビット値が含むとき、前記スパース条件が真であり、
前記述語要約値の第2の値が、前記ベクトル述語について前記スパース条件が真ではないことを示す、コンピュータ・プログラム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB1820841.3 | 2018-12-20 | ||
GB1820841.3A GB2580068B (en) | 2018-12-20 | 2018-12-20 | Generating a vector predicate summary |
PCT/GB2019/052969 WO2020128414A1 (en) | 2018-12-20 | 2019-10-17 | Generating a vector predicate summary |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2022511278A true JP2022511278A (ja) | 2022-01-31 |
JP7335952B2 JP7335952B2 (ja) | 2023-08-30 |
Family
ID=65364352
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021510454A Active JP7335952B2 (ja) | 2018-12-20 | 2019-10-17 | ベクトル述語要約の生成 |
Country Status (6)
Country | Link |
---|---|
US (1) | US11550574B2 (ja) |
JP (1) | JP7335952B2 (ja) |
KR (1) | KR102688393B1 (ja) |
CN (1) | CN112602059A (ja) |
GB (1) | GB2580068B (ja) |
WO (1) | WO2020128414A1 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2613178B (en) * | 2021-11-25 | 2024-01-10 | Advanced Risc Mach Ltd | Techniques for controlling vector processing operations |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014089699A (ja) * | 2012-10-30 | 2014-05-15 | Intel Corp | ベクトル圧縮及びローテート機能を提供する命令及び論理 |
JP2015528610A (ja) * | 2012-09-28 | 2015-09-28 | インテル・コーポレーション | リードマスク及びライトマスクにより制御されるベクトル移動命令 |
JP2017505491A (ja) * | 2014-02-07 | 2017-02-16 | エイアールエム リミテッド | セグメント化された演算を実行するためのデータ処理装置及び方法 |
JP2017045151A (ja) * | 2015-08-24 | 2017-03-02 | 富士通株式会社 | 演算処理装置及び演算処理装置の制御方法 |
JP2018521424A (ja) * | 2015-07-31 | 2018-08-02 | エイアールエム リミテッド | データ処理 |
JP2018521426A (ja) * | 2015-07-31 | 2018-08-02 | エイアールエム リミテッド | スプライス演算を行うための装置および方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008259094A (ja) * | 2007-04-09 | 2008-10-23 | Matsushita Electric Ind Co Ltd | 無線lan電話通信方法及びシステム |
GB2470782B (en) * | 2009-06-05 | 2014-10-22 | Advanced Risc Mach Ltd | A data processing apparatus and method for handling vector instructions |
US9280342B2 (en) * | 2011-07-20 | 2016-03-08 | Oracle International Corporation | Vector operations for compressing selected vector elements |
US9569211B2 (en) * | 2012-08-03 | 2017-02-14 | International Business Machines Corporation | Predication in a vector processor |
US20160092398A1 (en) * | 2014-09-29 | 2016-03-31 | Apple Inc. | Conditional Termination and Conditional Termination Predicate Instructions |
US10289416B2 (en) * | 2015-12-30 | 2019-05-14 | Intel Corporation | Systems, apparatuses, and methods for lane-based strided gather |
GB2548601B (en) * | 2016-03-23 | 2019-02-13 | Advanced Risc Mach Ltd | Processing vector instructions |
US11080054B2 (en) * | 2016-08-15 | 2021-08-03 | Arm Limited | Data processing apparatus and method for generating a status flag using predicate indicators |
-
2018
- 2018-12-20 GB GB1820841.3A patent/GB2580068B/en not_active Expired - Fee Related
-
2019
- 2019-10-17 US US17/273,919 patent/US11550574B2/en active Active
- 2019-10-17 KR KR1020217005764A patent/KR102688393B1/ko active IP Right Grant
- 2019-10-17 CN CN201980055370.6A patent/CN112602059A/zh active Pending
- 2019-10-17 WO PCT/GB2019/052969 patent/WO2020128414A1/en active Application Filing
- 2019-10-17 JP JP2021510454A patent/JP7335952B2/ja active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015528610A (ja) * | 2012-09-28 | 2015-09-28 | インテル・コーポレーション | リードマスク及びライトマスクにより制御されるベクトル移動命令 |
JP2014089699A (ja) * | 2012-10-30 | 2014-05-15 | Intel Corp | ベクトル圧縮及びローテート機能を提供する命令及び論理 |
JP2017505491A (ja) * | 2014-02-07 | 2017-02-16 | エイアールエム リミテッド | セグメント化された演算を実行するためのデータ処理装置及び方法 |
JP2018521424A (ja) * | 2015-07-31 | 2018-08-02 | エイアールエム リミテッド | データ処理 |
JP2018521426A (ja) * | 2015-07-31 | 2018-08-02 | エイアールエム リミテッド | スプライス演算を行うための装置および方法 |
JP2017045151A (ja) * | 2015-08-24 | 2017-03-02 | 富士通株式会社 | 演算処理装置及び演算処理装置の制御方法 |
Also Published As
Publication number | Publication date |
---|---|
GB201820841D0 (en) | 2019-02-06 |
WO2020128414A1 (en) | 2020-06-25 |
US11550574B2 (en) | 2023-01-10 |
KR20210100076A (ko) | 2021-08-13 |
GB2580068B (en) | 2021-02-24 |
JP7335952B2 (ja) | 2023-08-30 |
US20210334102A1 (en) | 2021-10-28 |
CN112602059A (zh) | 2021-04-02 |
KR102688393B1 (ko) | 2024-07-26 |
GB2580068A (en) | 2020-07-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7557000B2 (ja) | ベクトル要素内のビット値のテスト | |
KR102594768B1 (ko) | 데이터 처리장치의 데이터 항목들 내의 성분들의 계수 | |
US9235670B2 (en) | Method and an apparatus for automatic generation of verification environment for processor design and verification | |
JP7335952B2 (ja) | ベクトル述語要約の生成 | |
JP7245817B2 (ja) | データ処理装置における連続値の照合 | |
US10409624B1 (en) | Data array compaction in an emulation system | |
JP7377208B2 (ja) | データ処理 | |
US20200218624A1 (en) | Method and apparatus for test generation | |
US11321051B2 (en) | Statistical mode determination | |
TW202435060A (zh) | 用於收集診斷資訊的設備、方法、及電腦程式 | |
WO2024175868A1 (en) | Performance monitoring circuitry, method and computer program | |
KR20240027144A (ko) | 서술 기법들 | |
WO2024126969A1 (en) | Triggered-producer and triggered-consumer instructions | |
JP2018124892A (ja) | 情報処理装置、方法、及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20221007 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20230630 |
|
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: 20230725 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230818 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7335952 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |