JP2012529096A - ベクトル命令を取り扱うためのデータ処理装置および方法 - Google Patents
ベクトル命令を取り扱うためのデータ処理装置および方法 Download PDFInfo
- Publication number
- JP2012529096A JP2012529096A JP2012513670A JP2012513670A JP2012529096A JP 2012529096 A JP2012529096 A JP 2012529096A JP 2012513670 A JP2012513670 A JP 2012513670A JP 2012513670 A JP2012513670 A JP 2012513670A JP 2012529096 A JP2012529096 A JP 2012529096A
- Authority
- JP
- Japan
- Prior art keywords
- skip
- vector
- instruction
- lanes
- indicator
- 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 388
- 238000012545 processing Methods 0.000 title claims abstract description 236
- 238000000034 method Methods 0.000 title claims abstract description 42
- 238000013500 data storage Methods 0.000 claims abstract description 31
- 230000004044 response Effects 0.000 claims abstract description 22
- 230000008569 process Effects 0.000 claims description 22
- 238000011156 evaluation Methods 0.000 claims description 4
- 238000004590 computer program Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 13
- 239000002131 composite material Substances 0.000 description 11
- 238000013459 approach Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 238000007792 addition Methods 0.000 description 2
- 230000003750 conditioning effect Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification 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/38—Concurrent instruction execution, e.g. pipeline, look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units
-
- 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/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/3005—Arrangements for executing specific machine instructions to perform operations for flow control
- G06F9/30069—Instruction skipping instructions, e.g. SKIP
-
- 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, look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3842—Speculative instruction execution
-
- 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, look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units
- G06F9/3887—Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units controlled by a single instruction for multiple data lanes [SIMD]
Abstract
Description
VOP:
FOR I=0:7 DO IN PARALLEL
IF SKIP_COUNTER[I]==0 THEN
EXECUTE OP ON LANE I
ELSE
SKIP_COUNTER[I]=SKIP_COUNTER[I] − 1
END IF
END FOR
VSCC:
FOR I=0:7 DO IN PARALLEL
IF SKIP_COUNTER[I]==0 THEN
IF CC ON LANE I THEN
SKIP_COUNTER[I]=NEW_SKIP_VALUE
END IF
ELSE
SKIP_COUNTER[I]=SKIP_COUNTER[I]−1
END IF
END FOR
VOP:
FOR I=0:7 DO IN PARALLEL
IF SKIP_COUNTER[I]==0 THEN
EXECUTE OP ON LANE I
ELSE IF (SKIP_COUNTER[I]<14)
SKIP_COUNTER[I]=SKIP_COUNTER[I]−1
END IF
END FOR
VSCC:
FOR I=0:7 DO IN PARALLEL
IF SKIP_COUNTER[I]==0 THEN
IF CC ON LANE I THEN
IF LONG_SKIP THEN
SKIP_COUNTER[I]= 15
ELSE
SKIP_COUNTER[I]=NEW_SKIP_VALUE
END IF
END IF
ELSE
IF LONG_SKIP OR SKIP_COUNTER[I]<14 THEN
SKIP_COUNTER[I]=SKIP_COUNTER[I]−1
END IF
END IF
END FOR
VEND:
FOR I=0:7 DO IN PARALLEL
IF SKIP_COUNTER[I]>=14 THEN
SKIP_COUNTER[I]=(SKIPCOUNTER[I]+1) MOD 16
ELSE IF SKIP_COUNTER[I]>0 THEN
SKIP_COUNTER[I]=SKIP_COUNTER[I]−1
END IF
END FOR
202 全般的実行ユニット
204 全般的レジスタバンク
206 ベクトル実行ユニット
208 ベクトルレジスタバンク
210 命令フェッチ段
212 命令復号段
Claims (23)
- データ処理装置であって、
データ要素を保存するように配置された複数のレジスタを有するレジスタデータ保存部と、
一連のベクトル命令を実行するベクトル処理ユニットであって、前記ベクトル処理ユニットは、複数の並列処理レーンを有し、かつ、前記一連のベクトル命令の実行時において前記レジスタデータ保存部にアクセスして、前記レジスタデータ保存部からのデータ要素の読み出しおよび前記レジスタデータ保存部へのデータ要素の書き込みを行う、ベクトル処理ユニットと、
前記並列処理レーンそれぞれについてスキップインジケータを維持するためのスキップインジケーション保存部と、
を含み、
前記ベクトル処理ユニットは、前記一連のベクトル命令内のベクトルスキップ命令に応答して、前記スキップインジケーション保存部内において、前記複数のレーンのうち決定された1つ以上のレーンに対して前記スキップインジケータを設定する更新作業を行い、
前記ベクトル処理ユニットは、前記一連のベクトル命令内のベクトル作業命令に応答して、前記複数の並列処理レーンに対してデータ要素入力を並列に行う作業を実行するが、前記作業において、関連付けられたスキップインジケータが設定されている任意のレーンは前記作業の遂行から除外する、
データ処理装置。 - 前記ベクトル処理ユニットは、前記ベクトルスキップ命令の実行時に、前記ベクトルスキップ命令の実行時において既に設定されている任意のスキップインジケータを前記更新作業から除外する、請求項1に記載のデータ処理装置。
- 各前記スキップインジケータはスキップカウント値を含み、前記スキップカウント値が非ゼロ値を有する場合、前記スキップカウント値は設定されているとみなされ、前記スキップカウント値がゼロ値を有する場合、前記スキップカウント値は設定されていないとみなされ、
前記ベクトル処理ユニットは、前記ベクトルスキップ命令に応答して、前記決定された1つ以上のレーンに対する前記スキップカウント値を所定の非ゼロ値に設定し、
前記一連内の各ベクトル命令について、前記ベクトル命令の実行時において前記スキップカウント値が設定された場合、前記ベクトル処理ユニットは、前記ベクトル命令によって指定された作業を行う代わりに前記スキップカウント値をデクリメントするように、構成される、
請求項1または請求項2に記載のデータ処理装置。 - 前記所定の非ゼロ値は、前記ベクトルスキップ命令のオペランドとして指定される、請求項3に記載のデータ処理装置。
- 前記ベクトルスキップ命令の実行時において、前記ベクトル処理ユニットは、全ての設定されたスキップカウント値をデクリメントするように、構成される、請求項3または請求項4に記載のデータ処理装置。
- 前記設定されたスキップインジケータを消去せよとのベクトルスキップ終了命令を前記ベクトル処理ユニットが実行するまで、各設定されたスキップインジケータは設定されたままである、請求項1または請求項2に記載のデータ処理装置。
- 前記スキップインジケーション保存部は、前記並列処理レーンそれぞれに対する長スキップインジケータをさらに保持し、
さらなるベクトルスキップ命令が提供され、前記さらなるベクトルスキップ命令が前記ベクトル処理ユニットによって実行されると、前記決定された1つ以上のレーンそれぞれの前記スキップカウント値の代わりに、前記決定された1つ以上のレーンそれぞれの長スキップインジケータが設定され、
各ベクトル命令の実行時において、前記長スキップインジケータは設定されたままである、
請求項3〜5のうちいずれかに記載のデータ処理装置。 - 前記ベクトル処理ユニットは、ベクトルスキップ終了命令に応答して、各設定された長スキップインジケータを消去する、
請求項7に記載のデータ処理装置。 - 各長スキップインジケータは長スキップカウント値を含み、前記長スキップカウント値が非ゼロ値を有する場合、前記長スキップカウント値は設定されているとみなされ、前記長スキップカウント値がゼロ値を有する場合、前記長スキップカウント値は設定されていないとみなされ、
前記さらなるベクトルスキップ命令に応答して、前記ベクトル処理ユニットは、前記決定された1つ以上のレーンそれぞれの長スキップカウント値をインクリメントさせ、
前記ベクトル処理ユニットは、ベクトルスキップ終了命令に応答して、各設定された長スキップカウント値をデクリメントする、
請求項7に記載のデータ処理装置。 - 前記スキップインジケーション保存部は、前記並列処理レーンそれぞれに対する前記スキップインジケータを保存する第1のレジスタと、前記並列処理レーンそれぞれに対する長スキップインジケータを保存する第2のレジスタとを含む、
請求項7〜9のうちいずれかに記載のデータ処理装置。 - 前記スキップインジケーション保存部は、前記並列処理レーンそれぞれに対するスキップインジケータを保存するレジスタを含み、各スキップインジケータは、前記ベクトル処理ユニットにより、設定されたスキップカウント値を特定する第1の複数の非ゼロ値のうち任意の値に設定可能であり、設定された長スキップインジケータを特定するように、前記第1の複数の非ゼロ値に含まれない少なくとも1つの所定の非ゼロ値に設定可能である
請求項7〜9のうちいずれかに記載のデータ処理装置。 - 前記ベクトルスキップ命令は、スキップインジケータオペランドとして、前記決定された1つ以上のレーンについて前記スキップインジケータが設定されるべき前記所定の非ゼロ値を指定し、前記さらなるベクトルスキップ命令は、前記スキップインジケータオペランドとしてヌル値を指定することで、前記さらなるベクトルスキップ命令と、前記ベクトルスキップ命令とを区別することが可能になる、請求項7〜11のうちいずれかに記載のデータ処理装置。
- 前記ベクトルスキップ命令は、スキップインジケータを設定すべき前記決定された1つ以上のレーンを直接指定する、請求項1〜12のうちいずれかに記載のデータ処理装置。
- 前記ベクトルスキップ命令に応答して、前記ベクトル処理ユニットは、1つ以上の所定の条件が満たされたかを各レーンについて評価し、前記評価に基づいて、スキップインジケータを設定すべき前記決定された1つ以上のレーンを指定する、請求項1〜12のうちいずれかに記載のデータ処理装置。
- 前記決定された1つ以上のレーンは、前記1つ以上の所定の条件が満たされたレーンである、請求項14に記載のデータ処理装置。
- 前記並列処理レーンそれぞれに対する少なくとも1つの条件コードを保存する条件コード保存部、
をさらに含み、
前記ベクトル処理ユニットは、前記少なくとも1つの条件コードが設定されているかを確認することにより、前記1つ以上の所定の条件が満たされたかを各レーンについて評価するように、構成される、
請求項14または15に記載のデータ処理装置。 - 前記作業の遂行から除外された任意のレーンについて、前記レーン内において前記作業が行われるが、前記レーンにおける前記作業の遂行によって得られた結果値は捨象される、請求項1〜16のうちいずれかに記載のデータ処理装置。
- 前記レジスタデータ保存部は、複数のベクトルレジスタを含むベクトルレジスタバンクを含み、各ベクトルレジスタは、前記ベクトル処理ユニット内の異なる並列処理レーンに提供されるべき複数のデータ要素を保存する、
請求項1〜17のうちいずれかに記載のデータ処理装置。 - スカラー処理ユニットと、
前記スカラー処理ユニットと関連付けられたスカラーレジスタバンクと、
前記スカラー処理ユニットと前記ベクトル処理ユニットとの間で共有される命令フェッチおよび命令復号化ユニットと、
をさらに含む、請求項1〜18のうちいずれかに記載のデータ処理装置。 - 前記ベクトル処理ユニットはパイプライン型処理ユニットであり、複数のベクトル命令を任意のタイミングで同時に処理することができる、請求項1〜19のうちいずれかに記載のデータ処理装置。
- データ処理装置内のベクトル命令を取り扱う方法であって、前記データ処理装置は、データ要素を保存するように配置された複数のレジスタを有するレジスタデータ保存部と、一連のベクトル命令を実行するベクトル処理ユニットであって、前記ベクトル処理ユニットは、複数の並列処理レーンを有し、かつ、前記一連のベクトル命令の実行時において前記レジスタデータ保存部にアクセスして、前記レジスタデータ保存部からのデータ要素の読み出しおよび前記レジスタデータ保存部へのデータ要素の書き込みを行う、ベクトル処理ユニットとを含み、前記方法は、
前記並列処理レーンそれぞれに対するスキップインジケータをスキップインジケーション保存部内に保持するステップと、
前記一連のベクトル命令内のベクトルスキップ命令に応答して、前記複数のレーンのうち決定された1つ以上のレーンに対する前記スキップインジケータを前記スキップインジケーション保存部内に設定する更新作業を行うステップと、
前記一連のベクトル命令内のベクトル作業命令に応答して、前記複数の並列処理レーンに対してデータ要素入力を並列に行う作業を実行するが、前記作業において、関連付けられたスキップインジケータが設定されている任意のレーンは前記作業の遂行から除外するステップと、
を含む、方法。 - コンピュータで読み出し可能な命令を含むコンピュータプログラム製品であって、前記コンピュータで読み出し可能な命令がコンピュータ上において実行されると、前記コンピュータは、請求項21に記載のベクトル命令を取り扱う方法を行う、コンピュータプログラム製品。
- データ処理装置であって、
データ要素を保存する複数のレジスタ手段を有するレジスタデータ保存手段と、
一連のベクトル命令を実行するベクトル処理手段であって、前記ベクトル処理手段は、複数の並列処理レーンを提供し、かつ、前記一連のベクトル命令の実行時において前記レジスタデータ保存手段にアクセスして、前記レジスタデータ保存手段からのデータ要素の読み出しおよび前記レジスタデータ保存手段へのデータ要素の書き込みを行う、ベクトル処理手段と、
前記並列処理レーンそれぞれに対するスキップインジケータを保持するスキップインジケーション保存手段と、
を含み、
前記ベクトル処理手段は、前記一連のベクトル命令内のベクトルスキップ命令に応答して、前記複数のレーンのうち決定された1つ以上のレーンに対する前記スキップインジケータを前記スキップインジケーション保存手段内において設定する更新作業を行い、
前記ベクトル処理手段は、前記一連のベクトル命令内のベクトル作業命令に応答して、前記複数の並列処理レーンに対してデータ要素入力を並列に行う作業を実行するが、前記作業において、関連付けられたスキップインジケータが設定されている任意のレーンは前記作業の遂行から除外する、
データ処理装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB0909756.9 | 2009-06-05 | ||
GB0909756.9A GB2470782B (en) | 2009-06-05 | 2009-06-05 | A data processing apparatus and method for handling vector instructions |
PCT/GB2010/001067 WO2010139941A1 (en) | 2009-06-05 | 2010-05-28 | A data processing apparatus and method for handling vector instructions |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012529096A true JP2012529096A (ja) | 2012-11-15 |
JP5512803B2 JP5512803B2 (ja) | 2014-06-04 |
Family
ID=40937010
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012513670A Active JP5512803B2 (ja) | 2009-06-05 | 2010-05-28 | ベクトル命令を取り扱うためのデータ処理装置および方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US8661225B2 (ja) |
JP (1) | JP5512803B2 (ja) |
CN (1) | CN102804135B (ja) |
GB (1) | GB2470782B (ja) |
WO (1) | WO2010139941A1 (ja) |
Families Citing this family (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8862932B2 (en) * | 2008-08-15 | 2014-10-14 | Apple Inc. | Read XF instruction for processing vectors |
US8938642B2 (en) * | 2008-08-15 | 2015-01-20 | Apple Inc. | Confirm instruction for processing vectors |
US8271832B2 (en) * | 2008-08-15 | 2012-09-18 | Apple Inc. | Non-faulting and first-faulting instructions for processing vectors |
US9009528B2 (en) * | 2008-08-15 | 2015-04-14 | Apple Inc. | Scalar readXF instruction for processing vectors |
US8489865B1 (en) * | 2010-04-15 | 2013-07-16 | Lockheed Martin Corporation | Device, system, and method for single thread command chaining instructions from multiple processor elements |
CN111831335A (zh) | 2011-12-23 | 2020-10-27 | 英特尔公司 | 经改进的插入指令的装置和方法 |
US9946540B2 (en) | 2011-12-23 | 2018-04-17 | Intel Corporation | Apparatus and method of improved permute instructions with multiple granularities |
CN107220029B (zh) * | 2011-12-23 | 2020-10-27 | 英特尔公司 | 掩码置换指令的装置和方法 |
US9557993B2 (en) * | 2012-10-23 | 2017-01-31 | Analog Devices Global | Processor architecture and method for simplifying programming single instruction, multiple data within a register |
US9823924B2 (en) | 2013-01-23 | 2017-11-21 | International Business Machines Corporation | Vector element rotate and insert under mask instruction |
US9715385B2 (en) | 2013-01-23 | 2017-07-25 | International Business Machines Corporation | Vector exception code |
US9513906B2 (en) | 2013-01-23 | 2016-12-06 | International Business Machines Corporation | Vector checksum instruction |
US9471308B2 (en) | 2013-01-23 | 2016-10-18 | International Business Machines Corporation | Vector floating point test data class immediate instruction |
US9778932B2 (en) | 2013-01-23 | 2017-10-03 | International Business Machines Corporation | Vector generate mask instruction |
US9804840B2 (en) | 2013-01-23 | 2017-10-31 | International Business Machines Corporation | Vector Galois Field Multiply Sum and Accumulate instruction |
GB2519107B (en) * | 2013-10-09 | 2020-05-13 | Advanced Risc Mach Ltd | A data processing apparatus and method for performing speculative vector access operations |
US9830153B2 (en) * | 2014-06-20 | 2017-11-28 | Netronome Systems, Inc. | Skip instruction to skip a number of instructions on a predicate |
GB2536069B (en) * | 2015-03-25 | 2017-08-30 | Imagination Tech Ltd | SIMD processing module |
US9910826B2 (en) * | 2015-03-27 | 2018-03-06 | International Business Machines Corporation | SIMD implementation of stencil codes |
GB2548601B (en) * | 2016-03-23 | 2019-02-13 | Advanced Risc Mach Ltd | Processing vector instructions |
GB2548600B (en) * | 2016-03-23 | 2018-05-09 | Advanced Risc Mach Ltd | Vector predication instruction |
CN107315575B (zh) * | 2016-04-26 | 2020-07-31 | 中科寒武纪科技股份有限公司 | 一种用于执行向量合并运算的装置和方法 |
US10838720B2 (en) * | 2016-09-23 | 2020-11-17 | Intel Corporation | Methods and processors having instructions to determine middle, lowest, or highest values of corresponding elements of three vectors |
US11409692B2 (en) * | 2017-07-24 | 2022-08-09 | Tesla, Inc. | Vector computational unit |
GB2580068B (en) | 2018-12-20 | 2021-02-24 | Advanced Risc Mach Ltd | Generating a vector predicate summary |
US11403256B2 (en) | 2019-05-20 | 2022-08-02 | Micron Technology, Inc. | Conditional operations in a vector processor having true and false vector index registers |
US11327862B2 (en) | 2019-05-20 | 2022-05-10 | Micron Technology, Inc. | Multi-lane solutions for addressing vector elements using vector index registers |
US11507374B2 (en) | 2019-05-20 | 2022-11-22 | Micron Technology, Inc. | True/false vector index registers and methods of populating thereof |
US11340904B2 (en) | 2019-05-20 | 2022-05-24 | Micron Technology, Inc. | Vector index registers |
GB2613178B (en) * | 2021-11-25 | 2024-01-10 | Advanced Risc Mach Ltd | Techniques for controlling vector processing operations |
CN114840255B (zh) * | 2022-07-04 | 2022-09-27 | 飞腾信息技术有限公司 | 处理数据的方法、装置及设备可读存储介质 |
CN115951936B (zh) * | 2023-01-17 | 2023-05-26 | 上海燧原科技有限公司 | 向量化编译程序的芯片适配方法、装置、设备及介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6986025B2 (en) * | 2001-06-11 | 2006-01-10 | Broadcom Corporation | Conditional execution per lane |
JP2007526571A (ja) * | 2004-03-02 | 2007-09-13 | イマジネイション テクノロジーズ リミテッド | Simdデバイスにおける制御フロー管理のための方法及び装置 |
US20080114975A1 (en) * | 2006-11-10 | 2008-05-15 | Hsueh-Bing Yen | Method and processing system for nested flow control utilizing predicate register and branch register |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6059469A (ja) * | 1983-09-09 | 1985-04-05 | Nec Corp | ベクトル処理装置 |
JPS6266377A (ja) * | 1985-09-19 | 1987-03-25 | Fujitsu Ltd | マスクパタ−ン生成方式 |
JP2665111B2 (ja) * | 1992-06-18 | 1997-10-22 | 日本電気株式会社 | ベクトル処理装置 |
JP2826490B2 (ja) * | 1995-09-27 | 1998-11-18 | 甲府日本電気株式会社 | ベクトルデータ処理装置 |
US5799163A (en) * | 1997-03-04 | 1998-08-25 | Samsung Electronics Co., Ltd. | Opportunistic operand forwarding to minimize register file read ports |
DE01988453T1 (de) | 2000-11-28 | 2004-04-22 | Chipwrights Design, Inc., Newton | Abwickeln einer konditionalen verarbeitung in einer prozessorarchitektur mit einem befehl und mehreren datenwegen |
WO2002084451A2 (en) * | 2001-02-06 | 2002-10-24 | Victor Demjanenko | Vector processor architecture and methods performed therein |
TWI289789B (en) * | 2002-05-24 | 2007-11-11 | Nxp Bv | A scalar/vector processor and processing system |
US20060101256A1 (en) * | 2004-10-20 | 2006-05-11 | Dwyer Michael K | Looping instructions for a single instruction, multiple data execution engine |
US20070250681A1 (en) * | 2006-04-10 | 2007-10-25 | International Business Machines Corporation | Independent programmable operation sequence processor for vector processing |
US20080016320A1 (en) * | 2006-06-27 | 2008-01-17 | Amitabh Menon | Vector Predicates for Sub-Word Parallel Operations |
JP2009086870A (ja) * | 2007-09-28 | 2009-04-23 | Nec Computertechno Ltd | ベクトル処理装置 |
-
2009
- 2009-06-05 GB GB0909756.9A patent/GB2470782B/en active Active
-
2010
- 2010-01-19 US US12/656,152 patent/US8661225B2/en active Active
- 2010-05-28 JP JP2012513670A patent/JP5512803B2/ja active Active
- 2010-05-28 WO PCT/GB2010/001067 patent/WO2010139941A1/en active Application Filing
- 2010-05-28 CN CN201080025004.5A patent/CN102804135B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6986025B2 (en) * | 2001-06-11 | 2006-01-10 | Broadcom Corporation | Conditional execution per lane |
JP2007526571A (ja) * | 2004-03-02 | 2007-09-13 | イマジネイション テクノロジーズ リミテッド | Simdデバイスにおける制御フロー管理のための方法及び装置 |
US20080114975A1 (en) * | 2006-11-10 | 2008-05-15 | Hsueh-Bing Yen | Method and processing system for nested flow control utilizing predicate register and branch register |
Also Published As
Publication number | Publication date |
---|---|
CN102804135A (zh) | 2012-11-28 |
WO2010139941A1 (en) | 2010-12-09 |
US20100312988A1 (en) | 2010-12-09 |
US8661225B2 (en) | 2014-02-25 |
CN102804135B (zh) | 2015-07-22 |
GB2470782A (en) | 2010-12-08 |
GB2470782B (en) | 2014-10-22 |
JP5512803B2 (ja) | 2014-06-04 |
GB0909756D0 (en) | 2009-07-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5512803B2 (ja) | ベクトル命令を取り扱うためのデータ処理装置および方法 | |
JP6843113B2 (ja) | メモリと複数のベクトルレジスタ間の複数のデータ構造を転送する装置および方法 | |
JP5356531B2 (ja) | シーケンス検出又は命令に関連付けられた情報に基づいた命令の最適化性能 | |
JP3842474B2 (ja) | データ処理装置 | |
KR100900364B1 (ko) | 인스트럭션 실행 디바이스, 인스트럭션 실행 방법 및 컴퓨터 판독가능 메모리 매체 | |
KR102256188B1 (ko) | 데이터 처리장치 및 벡터 오퍼랜드를 처리하는 방법 | |
KR102379894B1 (ko) | 벡터 연산들 수행시의 어드레스 충돌 관리 장치 및 방법 | |
KR20180066146A (ko) | 벡터 데이터 전송 명령어 | |
US9965275B2 (en) | Element size increasing instruction | |
CN108319559B (zh) | 用于控制矢量内存存取的数据处理装置及方法 | |
JP5947879B2 (ja) | マスクレジスタを用いてジャンプを行うシステム、装置、および方法 | |
TWI740851B (zh) | 用於向量負載指示之資料處理設備、方法及電腦程式 | |
WO2012136975A1 (en) | A data processing apparatus and method for performing vector operations | |
JP2016536665A (ja) | 推論的ベクトル演算の実行を制御するためのデータ処理装置及び方法 | |
US7162620B2 (en) | Methods and apparatus for multi-processing execution of computer instructions | |
JP6807073B2 (ja) | 高速ベクトルによる動的なメモリ競合検出 | |
JP4444305B2 (ja) | 半導体装置 | |
JP3835764B2 (ja) | プロセッサおよび記録媒体 | |
US20140365751A1 (en) | Operand generation in at least one processing pipeline | |
JP3915019B2 (ja) | Vliwプロセッサ、プログラム生成装置、および記録媒体 | |
JP4703735B2 (ja) | コンパイラ、コード生成方法、コード生成プログラム | |
JP5013966B2 (ja) | 演算処理装置 | |
WO2007048988A1 (en) | A data processing apparatus and method for handling procedure call instructions | |
JP2005107666A (ja) | データ処理装置 | |
JP2001195252A (ja) | マスク技術による無効で分岐効率向上を図るプロセッサ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20131021 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20131029 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140128 |
|
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: 20140224 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140326 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5512803 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |