JP2021515929A - データ処理 - Google Patents
データ処理 Download PDFInfo
- Publication number
- JP2021515929A JP2021515929A JP2020544207A JP2020544207A JP2021515929A JP 2021515929 A JP2021515929 A JP 2021515929A JP 2020544207 A JP2020544207 A JP 2020544207A JP 2020544207 A JP2020544207 A JP 2020544207A JP 2021515929 A JP2021515929 A JP 2021515929A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- vector
- data
- processing
- vector processing
- 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
- 238000012545 processing Methods 0.000 title claims abstract description 242
- 239000013598 vector Substances 0.000 claims abstract description 305
- 230000000694 effects Effects 0.000 claims abstract description 16
- 238000000034 method Methods 0.000 claims description 38
- 230000008569 process Effects 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 7
- 230000004044 response Effects 0.000 claims description 6
- 239000003607 modifier Substances 0.000 claims description 4
- 238000003672 processing method Methods 0.000 claims description 3
- 238000005070 sampling Methods 0.000 description 18
- 230000008859 change Effects 0.000 description 7
- 238000012937 correction Methods 0.000 description 6
- 238000012986 modification Methods 0.000 description 6
- 230000004048 modification Effects 0.000 description 6
- 230000006399 behavior Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 230000001419 dependent effect Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000004088 simulation Methods 0.000 description 3
- 230000001174 ascending effect Effects 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 239000000796 flavoring agent Substances 0.000 description 1
- 235000019634 flavors Nutrition 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000009897 systematic 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
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
- G06F15/8053—Vector processors
-
- 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
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
-
- 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/30145—Instruction analysis, e.g. decoding, instruction word fields
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- Executing Machine-Instructions (AREA)
- Advance Control (AREA)
- Complex Calculations (AREA)
Abstract
Description
データ・ベクトルの位置に関連するそれぞれの述語フラグの状態に従って、データ・ベクトルのそれぞれのデータ要素位置に複数のデータ要素を含むデータ・ベクトルの1つ又は複数のデータ要素を生成するためのベクトル処理命令によって定義されたベクトル処理動作を選択的に適用するためのベクトル処理回路と、
それらのベクトル処理命令のうちの選択されたベクトル処理命令についてのベクトル処理回路の処理活動を示す命令サンプル・データを生成するためのジェネレータ回路であって、命令サンプル・データは、選択されたベクトル処理命令の実行時の述語フラグの状態を少なくとも示す、ジェネレータ回路と
を備えるデータ処理装置が提供される。
データ・ベクトルの位置に関連するそれぞれの述語フラグの状態に従って、データ・ベクトルのそれぞれのデータ要素位置に複数のデータ要素を含むデータ・ベクトルの1つ又は複数のデータ要素を生成するためのベクトル処理命令によって定義されたベクトル処理動作を選択的に適用することと、
それらのベクトル処理命令のうちの選択されたベクトル処理命令のためのベクトル処理活動を示す命令サンプル・データを生成することであって、命令サンプル・データは、選択されたベクトル処理命令の実行時の述語フラグの状態を少なくとも示す、生成することと
を含むベクトル処理方法が提供される。
データ・ベクトルの位置に関連するそれぞれの述語フラグの状態に従って、データ・ベクトルのそれぞれのデータ要素位置に複数のデータ要素を含むデータ・ベクトルの1つ又は複数のデータ要素を生成するためのベクトル処理命令によって定義されたベクトル処理動作を選択的に適用するためのベクトル処理プログラム論理と、
それらのベクトル処理命令のうちの選択されたベクトル処理命令についてのベクトル処理回路の処理活動を示す命令サンプル・データを生成するためのジェネレータ・プログラム論理であって、命令サンプル・データは、選択されたベクトル処理命令の実行時の述語フラグの状態を少なくとも示す、ジェネレータ・プログラム論理と
を備えるベクトル命令実行環境を提供するためのホスト・データ処理装置を制御するためのコンピュータ・プログラムが提供される。
・命令タイプの指示
・命令によってセットされる単語又は要素の長さの指示
・命令の実行時に適用可能なベクトル長の指示
・命令の実行時の様々なプロセッサ・レジスタの内容の指示
・命令の実行時に適用可能な述語フラグの指示(たとえば、後述されるカウント値及び/又はイベント・データ、及び/又は述語フラグのセットのコピー)
データ・ベクトルの位置に関連するそれぞれの述語フラグの状態に従って、データ・ベクトルのそれぞれのデータ要素位置に複数のデータ要素を含むデータ・ベクトルの1つ又は複数のデータ要素を生成するためのベクトル処理命令によって定義されたベクトル処理動作を選択的に適用すること(ステップ2800において)と、
それらのベクトル処理命令のうちの選択されたベクトル処理命令のためのベクトル処理活動を示す命令サンプル・データを生成すること(ステップ2810において)、命令サンプル・データは、選択されたベクトル処理命令の実行時の述語フラグの状態を少なくとも示す。
Claims (21)
- データ・ベクトルの位置に関連するそれぞれの述語フラグの状態に従って、前記データ・ベクトルのそれぞれのデータ要素位置に複数のデータ要素を含む前記データ・ベクトルの1つ又は複数のデータ要素を生成するためのベクトル処理命令によって定義されたベクトル処理動作を選択的に適用するためのベクトル処理回路と、
前記ベクトル処理命令のうちの選択されたベクトル処理命令についての前記ベクトル処理回路の処理活動を示す命令サンプル・データを生成するためのジェネレータ回路であって、前記命令サンプル・データは、前記選択されたベクトル処理命令の実行時の前記述語フラグの状態を少なくとも示す、ジェネレータ回路と
を備える、データ処理装置。 - 前記述語フラグが、各データ要素位置において処理がアクティブか非アクティブかを示し、データ要素が、処理がアクティブであるデータ要素位置において前記ベクトル処理動作によって生成される、請求項1に記載の装置。
- 前記命令サンプル・データが、処理がアクティブであることを示す複数の前記述語フラグを示す、請求項1に記載の装置。
- 命令サンプル・データが、
すべての述語フラグが、処理はアクティブであることを示すことと、
少なくともいくつかの述語フラグが、処理は非アクティブであることを示すことと、
すべての述語フラグが、処理は非アクティブであることを示すことと
のうちの少なくとも1つを選択的に示すためのイベント・データを含む、請求項3に記載の装置。 - 前記ベクトル処理命令のうちの少なくともいくつかが、候補データ要素サイズのセットからデータ要素サイズを定義するように構成され、所与のベクトル処理命令のための前記命令サンプル・データが、前記所与のベクトル処理命令の実行に適用可能なデータ要素サイズを示す、請求項1に記載の装置。
- ベクトル処理命令のうちの少なくともいくつかについて、前記命令の実行に適用可能な前記データ要素サイズが、前記ベクトル処理命令の少なくとも一部によって定義される、請求項5に記載の装置。
- 前記候補データ要素サイズのセットのうちの少なくともいくつかのデータ要素サイズについて、各データ要素が、データ要素と関連付けられた述語フラグのグループと関連付けられ、前記述語フラグのグループのサブセットが、前記データ要素位置におけるアクティブ処理な又は非アクティブな処理を示す、請求項5に記載の装置。
- 述語フラグの前記サブセットが、述語フラグの各グループの1つの述語フラグを含む、請求項7に記載の装置。
- 前記ジェネレータ回路が、述語フラグの所与のグループについて、述語フラグの前記サブセット以外の述語フラグは述語フラグの前記サブセットの状態と同じ状態を有することを示す、命令サンプル・データを生成するように構成された、請求項7に記載の装置。
- 前記ベクトル処理命令のうちの少なくともいくつかが、前記データ・ベクトルのベクトル長を定義するように構成されたベクトル長定義命令であり、現在のベクトル長が、ベクトル長定義命令の実行に応答するレジスタ状態を有するプロセッサ・レジスタによって定義される、請求項1に記載の装置。
- 所与のベクトル処理命令のための前記命令サンプル・データが、前記所与のベクトル処理命令の実行に適用可能なベクトル長を示す、請求項1に記載の装置。
- 前記所与のベクトル処理命令のための前記命令サンプル・データが、前記所与の命令に適用可能なデータ要素サイズと、前記所与の命令の実行に適用可能な前記述語フラグの各々の前記状態を示すデータとを示す、請求項11に記載の装置。
- 前記ジェネレータ回路が、述語フラグの所与のグループについて、前記現在のベクトル長のベクトルに含まれないデータ要素に関連する述語フラグが所定の状態にセットされたことを示す命令サンプル・データを生成するように構成された、請求項12に記載の装置。
- 前記ベクトル処理回路が、
プログラム命令を復号するための命令デコーダ回路と、
前記述語フラグに基づいて前記命令デコーダ回路によって復号された命令を実行するための命令処理回路と
を備える、請求項1に記載の装置。 - 前記ジェネレータ回路が、前記命令デコーダ回路による選択された命令の復号に応答して、前記命令サンプル・データの生成を開始し、前記命令処理回路に応答して、前記述語フラグの前記状態を示す前記命令サンプル・データを前記選択された命令の実行時に生成する、請求項14に記載の装置。
- 前記ベクトル処理命令のうちの前記選択されたベクトル処理命令を選択するための命令選択回路を備える、請求項1に記載の装置。
- 前記命令選択回路が、開始カウント値と最終カウント値との間で命令を数えるように、及びカウンタが前記最終カウント値に達する命令を、選択された命令として、選択するように構成されたカウンタ回路を備える、請求項16に記載の装置。
- 前記命令選択回路が、前記開始カウント値と前記最終カウント値とのうちの一方又は両方を修飾子値と結合させるように構成された、請求項17に記載の装置。
- 前記修飾子値が、乱数又は疑似乱数である、請求項18に記載の装置。
- データ・ベクトルの位置に関連するそれぞれの述語フラグの状態に従って、前記データ・ベクトルのそれぞれのデータ要素位置に複数のデータ要素を含む前記データ・ベクトルの1つ又は複数のデータ要素を生成するためのベクトル処理命令によって定義されたベクトル処理動作を選択的に適用することと、
前記ベクトル処理命令のうちの選択されたベクトル処理命令のためのベクトル処理活動を示す命令サンプル・データを生成することであって、前記命令サンプル・データは、前記選択されたベクトル処理命令の実行時の前記述語フラグの前記状態を少なくとも示す、生成することと
を含む、ベクトル処理方法。 - データ・ベクトルの位置に関連するそれぞれの述語フラグの状態に従って、前記データ・ベクトルのそれぞれのデータ要素位置に複数のデータ要素を含む前記データ・ベクトルの1つ又は複数のデータ要素を生成するためのベクトル処理命令によって定義されたベクトル処理動作を選択的に適用するためのベクトル処理プログラム論理と、
前記ベクトル処理命令のうちの選択されたベクトル処理命令についての前記ベクトル処理回路の処理活動を示す命令サンプル・データを生成するためのジェネレータ・プログラム論理であって、前記命令サンプル・データは、前記選択されたベクトル処理命令の実行時の前記述語フラグの前記状態を少なくとも示す、ジェネレータ・プログラム論理と
を備えるベクトル命令実行環境を提供するためのホスト・データ処理装置を制御するためのコンピュータ・プログラム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB1803250.8A GB2571527B (en) | 2018-02-28 | 2018-02-28 | Data processing |
GB1803250.8 | 2018-02-28 | ||
PCT/GB2019/050408 WO2019166772A1 (en) | 2018-02-28 | 2019-02-15 | Data processing |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2021515929A true JP2021515929A (ja) | 2021-06-24 |
JP7377208B2 JP7377208B2 (ja) | 2023-11-09 |
Family
ID=61903155
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020544207A Active JP7377208B2 (ja) | 2018-02-28 | 2019-02-15 | データ処理 |
Country Status (7)
Country | Link |
---|---|
US (1) | US11354126B2 (ja) |
EP (1) | EP3759592B1 (ja) |
JP (1) | JP7377208B2 (ja) |
KR (1) | KR20200124251A (ja) |
CN (1) | CN111742296A (ja) |
GB (1) | GB2571527B (ja) |
WO (1) | WO2019166772A1 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117093268B (zh) * | 2023-10-19 | 2024-01-30 | 超睿科技(长沙)有限公司 | 一种向量处理方法、系统、设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1267258A2 (en) * | 2001-06-11 | 2002-12-18 | Broadcom Corporation | Setting up predicates in a processor with multiple data paths |
WO2014147446A1 (en) * | 2013-03-21 | 2014-09-25 | Freescale Semiconductor, Inc. | Data processing device, method of reporting predicate values, and data carrier |
WO2017021697A1 (en) * | 2015-07-31 | 2017-02-09 | Arm Limited | Data processing |
WO2017021269A1 (en) * | 2015-07-31 | 2017-02-09 | Arm Limited | Vector processing using loops of dynamic vector length |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040064685A1 (en) * | 2002-09-27 | 2004-04-01 | Hung Nguyen | System and method for real-time tracing and profiling of a superscalar processor implementing conditional execution |
US9116686B2 (en) * | 2012-04-02 | 2015-08-25 | Apple Inc. | Selective suppression of branch prediction in vector partitioning loops until dependency vector is available for predicate generating instruction |
US9495169B2 (en) * | 2012-04-18 | 2016-11-15 | Freescale Semiconductor, Inc. | Predicate trace compression |
US9367309B2 (en) * | 2013-09-24 | 2016-06-14 | Apple Inc. | Predicate attribute tracker |
US9323525B2 (en) * | 2014-02-26 | 2016-04-26 | Intel Corporation | Monitoring vector lane duty cycle for dynamic optimization |
US9348595B1 (en) * | 2014-12-22 | 2016-05-24 | Centipede Semi Ltd. | Run-time code parallelization with continuous monitoring of repetitive instruction sequences |
US9996347B2 (en) * | 2014-12-24 | 2018-06-12 | Intel Corporation | Hardware apparatuses and methods relating to elemental register accesses |
-
2018
- 2018-02-28 GB GB1803250.8A patent/GB2571527B/en active Active
-
2019
- 2019-02-15 WO PCT/GB2019/050408 patent/WO2019166772A1/en unknown
- 2019-02-15 US US16/975,486 patent/US11354126B2/en active Active
- 2019-02-15 EP EP19707083.2A patent/EP3759592B1/en active Active
- 2019-02-15 JP JP2020544207A patent/JP7377208B2/ja active Active
- 2019-02-15 KR KR1020207026708A patent/KR20200124251A/ko not_active Application Discontinuation
- 2019-02-15 CN CN201980014746.9A patent/CN111742296A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1267258A2 (en) * | 2001-06-11 | 2002-12-18 | Broadcom Corporation | Setting up predicates in a processor with multiple data paths |
WO2014147446A1 (en) * | 2013-03-21 | 2014-09-25 | Freescale Semiconductor, Inc. | Data processing device, method of reporting predicate values, and data carrier |
WO2017021697A1 (en) * | 2015-07-31 | 2017-02-09 | Arm Limited | Data processing |
WO2017021269A1 (en) * | 2015-07-31 | 2017-02-09 | Arm Limited | Vector processing using loops of dynamic vector length |
JP2018521424A (ja) * | 2015-07-31 | 2018-08-02 | エイアールエム リミテッド | データ処理 |
JP2018525735A (ja) * | 2015-07-31 | 2018-09-06 | エイアールエム リミテッド | 動的ベクトル長のループを用いたベクトル処理 |
Also Published As
Publication number | Publication date |
---|---|
GB2571527B (en) | 2020-09-16 |
US11354126B2 (en) | 2022-06-07 |
EP3759592A1 (en) | 2021-01-06 |
GB2571527A (en) | 2019-09-04 |
GB201803250D0 (en) | 2018-04-11 |
EP3759592B1 (en) | 2022-04-13 |
US20210034362A1 (en) | 2021-02-04 |
JP7377208B2 (ja) | 2023-11-09 |
WO2019166772A1 (en) | 2019-09-06 |
KR20200124251A (ko) | 2020-11-02 |
CN111742296A (zh) | 2020-10-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6507435B2 (ja) | 命令エミュレーションプロセッサ、方法、およびシステム | |
JP6807383B2 (ja) | 転送プレフィックス命令 | |
JP5984865B2 (ja) | 命令エミュレーションプロセッサ、方法、およびシステム | |
US9804851B2 (en) | Operand size control | |
US10782972B2 (en) | Vector predication instruction | |
KR20180137521A (ko) | 벡터 연산들 수행시의 어드레스 충돌 관리 장치 및 방법 | |
US11003447B2 (en) | Vector arithmetic and logical instructions performing operations on different first and second data element widths from corresponding first and second vector registers | |
JP7377208B2 (ja) | データ処理 | |
US20220382550A1 (en) | Method and apparatus for efficient programmable instructions in computer systems | |
US10409602B2 (en) | Vector operand bitsize control | |
KR20210100076A (ko) | 벡터 술어 요약 생성 | |
KR102644951B1 (ko) | 산술 논리 장치 레지스터 시퀀싱 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220208 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230407 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230707 |
|
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: 20231004 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20231027 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7377208 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |