JP5897696B2 - データ処理装置および方法 - Google Patents
データ処理装置および方法 Download PDFInfo
- Publication number
- JP5897696B2 JP5897696B2 JP2014255950A JP2014255950A JP5897696B2 JP 5897696 B2 JP5897696 B2 JP 5897696B2 JP 2014255950 A JP2014255950 A JP 2014255950A JP 2014255950 A JP2014255950 A JP 2014255950A JP 5897696 B2 JP5897696 B2 JP 5897696B2
- Authority
- JP
- Japan
- Prior art keywords
- value
- bit
- bits
- data
- instruction
- 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
- 238000012545 processing Methods 0.000 title claims description 154
- 238000000034 method Methods 0.000 title claims description 31
- 230000004044 response Effects 0.000 claims description 14
- 230000007423 decrease Effects 0.000 claims description 6
- 238000003672 processing method Methods 0.000 claims description 3
- 238000004590 computer program Methods 0.000 claims description 2
- 230000000875 corresponding effect Effects 0.000 description 87
- 238000000605 extraction Methods 0.000 description 21
- 101100534231 Xenopus laevis src-b gene Proteins 0.000 description 17
- 238000003780 insertion Methods 0.000 description 17
- 230000037431 insertion Effects 0.000 description 17
- 230000001276 controlling effect Effects 0.000 description 16
- 230000006870 function Effects 0.000 description 14
- 230000000694 effects Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 239000000284 extract Substances 0.000 description 4
- 230000003252 repetitive effect Effects 0.000 description 3
- 230000002596 correlated effect Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000002789 length control Methods 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
- 230000003362 replicative effect Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 238000012360 testing method Methods 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/30145—Instruction analysis, e.g. decoding, instruction word fields
- G06F9/30149—Instruction analysis, e.g. decoding, instruction word fields of variable length 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/30145—Instruction analysis, e.g. decoding, instruction word fields
- G06F9/3016—Decoding the operand specifier, e.g. specifier format
- G06F9/30167—Decoding the operand specifier, e.g. specifier format of immediate specifier, e.g. constants
-
- 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/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/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/30105—Register structure
- G06F9/30112—Register structure comprising data of variable length
-
- 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
-
- 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
- G06F9/3016—Decoding the operand specifier, e.g. specifier format
-
- 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 or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
- G06F9/3887—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled by a single instruction for multiple data lanes [SIMD]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/76—Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data
- G06F7/764—Masking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/76—Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data
- G06F7/768—Data position reversal, e.g. bit reversal, byte swapping
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)
- Executing Machine-Instructions (AREA)
- Advance Control (AREA)
- User Interface Of Digital Computer (AREA)
- Electrotherapy Devices (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Description
処理演算を実施するように構成される処理回路と、
前記処理演算を実施するように前記処理回路を制御するための制御信号を生成するように、プログラム命令に応答する、命令復号器と、を備え、
前記プログラム命令は、少なくとも、各々がNビット<N−1:0>を有する、少なくとも1つの第1のソースデータ要素を含む、第1のソースデータ値、各々がNビット<N−1:0>を有する、少なくとも1つの第2のソースデータ要素を含む、第2のソースデータ値、および制御値を特定する、ビットフィールド操作命令を含み、
前記制御値は、ビットフィールド幅W、ソースビット位置A、および結果ビット位置Bを示すための情報を含み、ここでは、1≦W≦N、0≦A≦(N−W)、および0≦B≦(N−W)であり、
前記命令復号器は、少なくとも1つの結果データ要素を含む結果データ値を生成するように、前記処理回路を制御するための制御信号を生成するように、前記ビットフィールド操作命令に応答し、各結果データ要素は、対応する第1のソースデータ要素、および対応する第2のソースデータ要素に対応し、各結果データ要素は、
(a) 前記対応する第1のソースデータ要素のビット<A+W−1:A>に対応するビット値を有する、ビット<B+W−1:B>と、
(b) B+W<Nである場合、(i)各々がゼロ値を有するビットを含む第1のプレフィックス値、(ii)前記対応する第2のソースデータ要素のビット<N−1:B+W>の前記ビット値を有する、第2のプレフィックス値、および(iii)前記対応する第1のソースデータ要素のビット<A+W−1:A>の符号拡張に対応するビット値を有する、第3のプレフィックス値のうちの1つとして、前記制御値に依存して選択されるプレフィックス値に対応するビット値を有する、ビット<N−1:B+W>と、
(c) B>0である場合、(i)各々がゼロ値を有するビットを含む第1のサフィックス値、および(ii)前記対応する第2のソースデータ要素のビット<B−1:0>の前記ビット値を有する、第2のサフィックス値のうちの1つとして、前記制御値に依存して選択されるサフィックス値に対応するビット値を有する、ビット<B−1:0>と、を含む、Nビット<N−1:0>を有し、
前記ビットフィールド操作命令は、前記ソースビット位置A=0であり、前記結果ビット位置B>0である、ビットフィールド挿入形態と、前記ソースビット位置A≧0であり、前記結果ビット位置B=0である、ビットフィールド抽出形態とを有し、
前記制御値は、前記ビットフィールド幅W、前記ソースビット位置A、および前記結果ビット位置Bを判定するために、最上位ビット位置Sおよび回転パラメータRを指定し、
S≧Rである場合、前記ソースビット位置A=Rであり、前記結果ビット位置B=0であり、前記ビットフィールド幅W=(S+1)−Rであり、前記ビットフィールド操作命令は、前記ビットフィールド抽出形態を有し、
S<Rである場合、前記ソースビット位置A=0であり、前記結果ビット位置B=N−Rであり、前記ビットフィールド幅W=S+1であり、前記ビットフィールド操作命令は、前記ビットフィールド挿入形態を有する、データ処理装置を提供する。
前記ビットフィールド操作命令は、少なくとも、前記第1のソースデータ値を記憶するための第1のソース記憶場所、および宛先記憶場所を特定し、
前記命令復号器は、前記結果データ値を前記宛先記憶場所に記憶するように、前記処理回路を制御するための制御信号を生成するように、前記ビットフィールド操作命令に応答する。
S≧Rである場合、前記ソースビット位置A=Rであり、前記結果ビット位置B=0であり、前記ビットフィールド幅W=(S+1)−Rであり、前記ビットフィールド操作命令は、前記ビットフィールド抽出形態を有し、
S<Rである場合、前記ソースビット位置A=0であり、前記結果ビット位置B=N−Rであり、前記ビットフィールド幅W=S+1であり、前記ビットフィールド操作命令は、前記ビットフィールド挿入形態を有する。
前記命令復号器および前記処理回路のうちの少なくとも1つは、前記制御値の前記第1の部分によって含まれるビット数を判定するように、および前記第1の部分によって含まれるビット数に基づいて、
(a) 前記少なくとも1つの第1のソースデータ要素のデータ要素サイズN、前記少なくとも1つの第2のソースデータ要素、および前記少なくとも1つの結果データ要素、ならびに
(b) 前記第2の部分のどのビットが、前記最上位ビット位置Sおよび前記回転パラメータRを示すか、
を判定するように、前記ビットフィールド操作命令に応答する。
(a) 前記第1のソースデータ値内の対応する第1のソースデータ要素の順序、および前記第2のソースデータ値内の対応する第2のソースデータ要素の順序に対応して順序付けられる、前記結果データ要素を含む中間値を生成すること、ならびに
(b) 前記第1のデータ値を生成するように、前記中間値内の前記結果データ要素における少なくとも1つの再順序付けの反復を実施すること、
によって得られる第1のデータ値と同等であるように構成されてもよく、
各再順序付けの反復は、前記データ要素順序付け情報の対応するビットが、既定の値を有するかどうかを判定することと、前記データ要素順序付け情報の前記対応するビットが前記既定の値を有する場合、前記中間値内のビット群の対を交換することと、を含む。
装置は、前記制御値が、各々が可変ビット数を含む第1の部分および第2の部分を含み、
前記命令復号器および前記処理回路のうちの少なくとも1つが、前記制御値の前記第1の部分によって含まれるビット数を判定するように、および前記第1の部分によって含まれるビット数に基づいて、
(a) 前記少なくとも1つの第1のソースデータ要素、前記少なくとも1つの第2のソースデータ要素、および前記少なくとも1つの結果データ要素のデータ要素サイズN、ならびに
(b) 前記第2の部分のどのビットが、前記データ要素順序付け情報を示すか、
を判定するように、前記ビットフィールド操作命令に応答するように、構成されてもよい。
ビットフィールド操作命令に応答して、少なくとも、各々がNビット<N−1:0>を有する、少なくとも1つの第1のソースデータ要素を含む、第1のソースデータ値、各々がNビット<N−1:0>を有する、少なくとも1つの第2のソースデータ要素を含む、第2のソースデータ値、および制御値を特定することと、各々がNビット<N−1:0>を有する少なくとも1つの結果データ要素を含む、結果データ値を生成するように、前記処理装置を制御するための制御信号を生成することと、を含み、各結果データ要素は、対応する第1のソースデータ要素および対応する第2のソースデータ要素に対応し、
前記制御値は、ビットフィールド幅W、ソースビット位置A、および結果ビット位置Bを示すための情報を含み、ここでは、1≦W≦N、0≦A≦N−W、および0≦B≦N−Wであり、各結果データ要素は、
(a) 前記対応する第1のソースデータ要素のビット<A+W−1:A>に対応するビット値を有する、ビット<B+W−1:B>と、
(b) B+W<Nである場合、(i)各々がゼロ値を有するビットを含む第1のプレフィックス値、(ii)前記対応する第2のソースデータ要素のビット<N−1:B+W>の前記ビット値を有する、第2のプレフィックス値、および(iii)前記対応する第1のソースデータ要素のビット<A+W−1:A>の符号拡張に対応するビット値を有する、第3のプレフィックス値のうちの1つとして、前記制御値に依存して選択されるプレフィックス値に対応するビット値を有するビット<N−1:B+W>と、
(c) B>0である場合、(i)各々がゼロ値を有するビットを含む第1のサフィックス値、および(ii)前記対応する第2のソースデータ要素のビット<B−1:0>の前記ビット値を有する、第2のサフィックス値のうちの1つとして、前記制御値に依存して選択されるサフィックス値に対応するビット値を有する、ビット<B−1:0>と、を含み、
前記ビットフィールド操作命令は、前記ソースビット位置A=0であり、前記結果ビット位置B>0である、ビットフィールド挿入形態と、前記ソースビット位置A≧0であり、前記結果ビット位置B=0である、ビットフィールド抽出形態とを有し、
前記制御値は、前記ビットフィールド幅W、前記ソースビット位置A、および前記結果ビット位置Bを判定するために、最上位ビット位置Sおよび回転パラメータRを指定し、
S≧Rである場合、前記ソースビット位置A=Rであり、前記結果ビット位置B=0であり、前記ビットフィールド幅W=(S+1)−Rであり、前記ビットフィールド操作命令は、前記ビットフィールド抽出形態を有し、
S<Rである場合、前記ソースビット位置A=0であり、前記結果ビット位置B=N−Rであり、前記ビットフィールド幅W=S+1であり、前記ビットフィールド操作命令は、前記ビットフィールド挿入形態を有する。
処理演算を実施するように構成される処理回路と、
前記処理演算を実施するように前記処理回路を制御するための制御信号を生成するように、プログラム命令に応答する、命令復号器と、を備え、
前記プログラム命令は、複数のデータサイズから選択される選択されたデータサイズを示すための第1の部分と、前記選択されたデータサイズに依存して変化するビット数を有する、少なくとも1つの制御パラメータを示すための第2の部分と、を有する、制御値を指定する、少なくとも1つの命令を含み、前記第1の部分および前記第2の部分は、各々、可変ビット数を有し、
前記命令復号器は、前記選択されたデータサイズおよび前記少なくとも1つの制御パラメータに依存して、対応する処理演算を実施するように、前記処理回路を制御するための制御信号を生成するように、前記少なくとも1つの命令に応答し、
前記少なくとも1つの命令を処理する時、前記命令復号器および前記処理回路のうちの少なくとも1つは、前記制御値の前記第1の部分によって含まれるビット数を特定するように、ならびに前記第1の部分によって含まれる前記ビット数に依存して、(a)前記選択されたデータサイズ、および(b)前記制御値のどのビットが、前記少なくとも1つの制御パラメータを示すための前記第2の部分を形成するかを特定するように構成される、データ処理装置を提供する。
前記命令復号器および前記処理回路のうちの少なくとも1つは、前記制御値の既定の部分内の前記第1のビットのビット位置に依存して、前記制御値の前記第1の部分によって含まれるビット数を特定するように構成される。
各結果データ要素は、前記対応するソースデータ要素内の連続ビットのソースビットフィールドのビット値に対応するビット値を有する、結果ビットフィールドを含み、
前記少なくとも1つの制御パラメータは、前記ソースビットフィールドおよび前記結果ビットフィールドによって含まれるビット数、前記対応するソースデータ要素内の前記ソースビットフィールドの位置、ならびに前記結果データ要素内の前記結果ビットフィールドの位置を示す。
複数のデータサイズから選択される選択されたデータサイズを示すための第1の部分、および前記選択されたデータサイズに依存して変化するビット数を有する、少なくとも1つの制御パラメータを示すための第2の部分を有する、制御値を指定する、少なくとも1つの命令を受信することであって、前記第1の部分および前記第2の部分は、各々、可変ビット数を有する、受信することと、
前記少なくとも1つの命令に応答して、前記制御値の前記第1の部分によって含まれる前記ビット数を特定することと、
前記第1の部分によって含まれる前記ビット数に依存して、(a)前記選択されたデータサイズ、および(b)前記制御値のどのビットが前記少なくとも1つの制御パラメータを示すための前記第2の部分を形成するかを特定することと、
前記選択されたデータサイズおよび前記少なくとも1つの制御パラメータに依存して、対応する処理演算を実施するように、前記処理装置を制御することと、を含む。
・Rn:第1のソースデータ値src1を記憶するレジスタバンク8のレジスタを特定するソースレジスタフィールド。
・Rd:処理結果が記憶されるレジスタバンク8の宛先レジスタを特定する宛先レジスタフィールド。宛先レジスタフィールドRdはまた、ビットフィールド操作命令の実行の前に、宛先レジスタに記憶される値である、第2のソースデータ値src2を特定する。
・sf:ソースレジスタおよび宛先レジスタのために使用されるべき、選択されたアクセスサイズをM特定する、レジスタアクセスサイズフィールド。図2の実施形態において、レジスタサイズフィールドsfは、単一のサイズを示すビットを含み、サイズを示すビットの第1の状態は、第1のアクセスサイズ(例えば、64ビット)を示し、サイズフィールドの第2の状態は、第2のアクセスサイズ(例えば、32ビット)を示す。しかしながら、所望される場合、3つ以上の異なるアクセスサイズが、レジスタアクセスサイズフィールドsfに、ビットフィールド操作命令符号化のより多くのビットを割り当てることによって、提供され得る。
・opc:処理回路4によって実施されるべきビットフィールド操作のタイプを制御するための制御値を示す、サブ演算コードフィールド。サブ演算コードフィールドの例示的な符号化は、図7を参照して以下で説明する。
・control13:
−第1のソースデータ値src1、第2のソースデータ値src2、およびビットフィールド操作命令の処理中に生成される結果データ値のデータ要素のデータ要素サイズN、ならびに
−処理回路4によって実施されるべきビットフィールド操作演算の態様を制御するためのいくつかの他の制御パラメータ
を特定する制御フィールド。
control13フィールドの符号化の実施形態は、図5を参照して以下で説明する。
ビットフィールド操作命令に応答して、処理回路4は、ソース値src1、src2のデータ要素に対応する、M/N結果データ要素を有する、結果データ値を生成する。各結果データ要素は、値が、第1のソースデータ値src1内のWビットのビットフィールド(bf)に対応する、Wビットを含む。第1のソースデータ値src1内のビットフィールドの位置、および結果データ値内のビットフィールドの位置は、ビットフィールド操作命令の制御値に基づいて制御されてもよい。各結果データ要素に関して、挿入されたビットフィールドよりも下位の、いかなるビットも、サフィックス値sの値をとる一方、ビットフィールドよりも上位である結果データ要素のいずれのビットも、プレフィックス値pの値をとる。結果データ要素は、宛先レジスタRdに記憶される。
//ビットフィールド即値control13を復号化して、R、S、V、およびSIZE制御パラメータを求める
(integer, integer, bits(6), integer) TRIDECODE(bits(13) control13)
integer R;
integer S;
integer len;
bits(6) V = Zeros();
len = HighestSetBit(control13<12>:NOT(control13<5:0>));
if len < 0 then UNDEFINED;
if len == 0 then
R = 0;
S = 0;
else
R = UInt(control13<len+5:6>);
S = UInt(control13<len−1:0>);
if len < 6 then
V<5:len> = control13<11:len+6>;
return (R, S, V, 1 << len);
//ビットフィールド復号化
integer n = UInt(Rn);
integer d = UInt(Rd);
integer datasize = if sf == ‘1’ then 64 else 32;
boolean inzero;
boolean extend;
integer R;
integer S;
bits(6) V;
integer size;
integer from;
integer to;
integer width;
case opc of
when ‘00’ inzero = true; extend = true; //図7のSBFX/SBFIZ
when ‘01’ inzero = false; extend = false; //図7のBFXIL/BFI
when ‘10’ inzero = true; extend = false; //図7のUBFX/UBFIZ
when ‘11’ UNDEFINED;
if datasize == 32 then
//32ビットデータ値に関して、64ビットデータ要素サイズであることはできない
//そのため、control13フィールドのビット<12>は、1であることはできない。
if control13<12> == ‘1’ then
UNDEFINED;
//また、32ビットデータ値に関して、32ビットの群のいかなる再順序付けも存在することはできず、
//そのため、control13フィールドのビット<11>もまた、1であることはできない。
elsif control13<11> == ‘1’ then
UNDEFINED;
//上で定義される
//TRIDECODE関数を使用して、R、S、V、およびsizeの値を復号化する
(R, S, V, size) = TRIDECODE(control13);
if S >= R then
//BFXの場合
from = R;
to = 0;
width = (S + 1) − R;
else
//BFIの場合
from = 0;
to = size − R;
width = (S + 1);
//ビットフィールド実行
bits(datasize) operand1 = R[n];
bits(datasize) result;
integer base;
integer src;
integer dst;
integer vbit;
//inzeroが真である場合は、結果をゼロに、またはinzeroが偽である場合は、宛先レジスタのコピーに初期化する//
result = if inzero then Zeros() else R[d];
//srcオペランドの各データ要素からのビットフィールドを、結果の対応する
//データ要素にコピーする
base = 0;
while base < datasize do
src = base + from;
dst = base + to;
result<dst+width−1:dst> = operand1<src+width−1:src>;
//必要とされる場合、符号ビット複製を実施する
if extend && to + width < size then
result<base+size−1:dst+width> =
Replicate(src<base+S>, size−(to+width));
base = base + size;
//V<vbit>=1である場合、結果において、2^vビットのビットの隣接対を反転させる
for vbit = 0 to 5
if V<vbit> == ‘1’ then
bits(datasize) tmp = result;
size = 1 << vbit;
base = 0;
while base < datasize do
result<base+size−1:base> = tmp<base+(2*size)−1:base+size>;
result<base+(2*size)−1:base+size> = tmp<base+size−1:base>;
base = base + (2 * size);
//結果を宛先レジスタに書き込む
R[d] = result;
//論理(即時)復号化
integer R;
integer S;
integer size;
bits(datasize) mask;
integer datasize = if sf == ‘1’ then 64 else 32;
integer n = UInt(Rn);
integer d = UInt(Rd);
LogicalOp opcode;
//opcは、適用されるべき論理演算のタイプを定義する
case opc of
when ‘00’ opcode = LogicalOp_AND;
when ‘01’ opcode = LogicalOp_OR;
when ‘10’ opcode = LogicalOp_EOR;
otherwise UNDEFINED;
//32ビットデータ値に関して、64ビットのパターン繰り返しサイズであることはできない
if datasize == 32 && control13<12> == ‘1’ then UNDEFINED;
//上で説明されるTRIDECODE関数を使用して、R、S、およびsizeを復号化し、
//Vの返された値を無視する
(R, S, −, size) = TRIDECODE(control13);
//R、S、およびsizeに基づいて、マスクを判定する
bits(size) pattern = Zeros(size−(S+1)):Ones(S+1);
pattern = ROR(pattern, R);
mask = Replicate(pattern, datasize DIV size);
//論理(即時)実行
bits(datasize) operand1 = R[n];
bits(datasize) operand2 = mask;
bits(datasize) result;
//選択された論理演算を使用して、
//ソースおよびマスクオペランドを組み合わせることによって、結果を生成する
case opcode of
when LogicalOp_AND result = operand1 AND operand2;
when LogicalOp_OR result = operand1 OR operand2;
when LogicalOp_EOR result = operand1 EOR operand2;
//宛先レジスタに結果を書き込む
R[d] = result;
//抽出復号化
integer datasize = if sf == ‘1’ then 64 else 32;
integer n = UInt(Rn);
integer m = UInt(Rm);
integer d = UInt(Rd);
integer lsb;
integer size;
bits(13) control13;
if datasize == 32 && N == ‘1’ then UNDEFINED;
control13 = N:Zeros(6):imm6;
(−, lsb, −, size) = TRIDECODE(control13);
//抽出実行
bits(datasize) operand1 = R[n];
bits(datasize) operand2 = R[m];
bits(datasize) result;
bits(2*size) concat;
integer bbit = 0;
while bbit < datasize
integer ebit = bbit + size − 1;
concat = operand1<ebit:bbit> : operand2<ebit:bbit>;
result<ebit:bbit> = concat<lsb+size−1:lsb>;
bbit = bbit + size;
R[d] = result;
4 処理回路
6 命令復号器
8 レジスタ
10 メモリシステム
12 加算器
14 乗算器
16 シフタ
30 第1の部分
32 第2の部分
200 ホストプロセッサ
220 ホストオペレーティングシステム
240 仮想機械プログラム
260 アプリケーションプログラム
Claims (12)
- データ処理装置であって、
処理演算を実施するように構成される処理回路と、
前記処理演算を実施するように前記処理回路を制御するための制御信号を生成するように、プログラム命令に応答する、命令復号器と、を備え、
前記プログラム命令は、複数のデータサイズから選択される選択されたデータサイズを示すための第1の部分と、前記選択されたデータサイズに依存して変化するビット数を有する、少なくとも1つの制御パラメータを示すための第2の部分と、を有する、制御値を指定する、少なくとも1つの命令を含み、前記第1の部分および前記第2の部分は、各々、可変ビット数を有し、
前記命令復号器は、前記選択されたデータサイズおよび前記少なくとも1つの制御パラメータに依存して、対応する処理演算を実施するように、前記処理回路を制御するための制御信号を生成するように、前記少なくとも1つの命令に応答し、
前記少なくとも1つの命令を処理する時、前記命令復号器および前記処理回路のうちの少なくとも1つは、前記制御値の前記第1の部分のビット数を特定するように、ならびに前記第1の部分のビット数に依存して、(a)前記選択されたデータサイズ、および(b)前記制御値のどのビットが、前記少なくとも1つの制御パラメータを示すための前記第2の部分を形成するかを特定するように構成され、
前記少なくとも1つの命令は、ソースデータ値を特定する、ビット単位の論理命令を含み、前記ビット単位の論理命令に関して、
前記対応する処理演算は、前記ソースデータ値、および、前記制御値に基づいて判定される第2のデータ値に対する、論理演算の適用の結果と同等な結果データ値を生成することを含み、
前記選択されたデータサイズは、前記第2のデータ値内における、ビットの繰り返しパターンの一つ分のビット数を示し、
前記少なくとも1つの制御パラメータは、前記ビットの繰り返しパターンのビット値を特定するための情報を示す、データ処理装置。 - 前記第1の部分のビット数は、前記第2の部分のビット数が、前記選択されたデータサイズに依存して減少するにつれて、前記選択されたデータサイズに依存して増加する、請求項1に記載のデータ処理装置。
- 前記複数のデータサイズの少なくともサブセットに関して、前記第1の部分は、少なくとも第1の状態を有する第1のビット、および第2の状態を有するX個の残りのビットを含み、Xは0以上の可変整数であり、
前記命令復号器および前記処理回路のうちの少なくとも1つは、前記制御値の既定の部分内の前記第1のビットのビット位置に依存して、前記制御値の前記第1の部分のビット数を特定するように構成される、請求項1または2に記載のデータ処理装置。 - 前記第1の部分は、前記選択されたデータサイズを特定するためのさらなる情報を提供するための少なくとも1つの追加のビットを含む、請求項3に記載のデータ処理装置。
- 前記少なくとも1つの制御パラメータは、複数の制御パラメータを含み、
前記少なくとも1つの命令を処理する時、前記命令復号器および前記処理回路のうちの少なくとも1つは、前記第1の部分のビット数に依存して、前記複数の制御パラメータの各々が、前記第2の部分のどのビットにより示されるかを特定するように構成される、請求項1から4のいずれか1項に記載のデータ処理装置。 - 前記複数の制御パラメータは、少なくとも、前記選択されたデータサイズが増加するにつれて増加するビット数を有する、第1の制御パラメータと、前記選択されたデータサイズが増加するにつれて減少するビット数を有する第2の制御パラメータと、を含み、
前記第2の部分は、前記第1の制御パラメータおよび前記第2の制御パラメータを示すためのサブ部分を含み、前記命令復号器および前記処理回路のうちの少なくとも1つは、前記第1の部分のビット数に依存して、前記サブ部分のどのビットが前記第1の制御パラメータを示し、前記サブ部分のどのビットが前記第2の制御パラメータを示すかを特定する、請求項5に記載のデータ処理装置。 - 前記少なくとも1つの命令は、少なくとも1つのソースデータ要素を含むソースデータ値を特定する、少なくとも1つの単一命令複数データ(SIMD)命令を含み、
前記少なくとも1つのSIMD命令に関して、前記選択されたデータサイズは、前記少なくとも1つのソースデータ要素のデータ要素サイズを示し、前記対応する処理演算は、前記ソースデータ値の前記少なくとも1つのソースデータ要素の各々において、選択された処理演算を実施することを含む、請求項1から6のいずれか1項に記載のデータ処理装置。 - 前記少なくとも1つのSIMD命令は、ビットフィールド操作命令を含み、前記ビットフィールド操作命令に関して、
前記対応する処理演算は、少なくとも1つの結果データ要素を含む結果データ値を生成することを含み、各結果データ要素は、前記ソースデータ値の対応するソースデータ要素に対応し、
各結果データ要素は、前記対応するソースデータ要素内の連続ビットのソースビットフィールドのビット値に対応するビット値を有する、結果ビットフィールドを含み、
前記少なくとも1つの制御パラメータは、前記ソースビットフィールドおよび前記結果ビットフィールドのそれぞれのビット数、前記対応するソースデータ要素内の前記ソースビットフィールドの位置、ならびに前記結果データ要素内の前記結果ビットフィールドの位置を示す、請求項7に記載のデータ処理装置。 - 前記ビットフィールド操作命令に関して、前記ソースデータ値が複数のソースデータ要素を含み、前記結果データ値が複数の結果データ要素を含む場合、前記少なくとも1つの制御パラメータはまた、前記複数の結果データ要素が前記結果データ値内に配置される順序を示すためのデータ要素順序付けパラメータを含む、請求項8に記載のデータ処理装置。
- 前記ビット単位の論理演算は、AND演算、OR演算、および排他的OR演算のうちの1つを含む、請求項1から9のいずれか1項に記載のデータ処理装置。
- プログラム命令に応答して、処理演算を実施するための処理装置のためのデータ処理方法であって、
複数のデータサイズから選択される選択されたデータサイズを示すための第1の部分、および前記選択されたデータサイズに依存して変化するビット数を有する、少なくとも1つの制御パラメータを示すための第2の部分を有する、制御値を指定する、少なくとも1つの命令を受信することであって、前記第1の部分および前記第2の部分は、各々、可変ビット数を有する、受信することと、
前記少なくとも1つの命令に応答して、前記制御値の前記第1の部分のビット数を特定することと、
前記第1の部分のビット数に依存して、(a)前記選択されたデータサイズ、および(b)前記制御値のどのビットが前記少なくとも1つの制御パラメータを示すための前記第2の部分を形成するかを特定することと、
前記選択されたデータサイズおよび前記少なくとも1つの制御パラメータに依存して、対応する処理演算を実施するように、前記処理装置を制御することと、を含み、
前記少なくとも1つの命令は、ソースデータ値を特定する、ビット単位の論理命令を含み、前記ビット単位の論理命令に関して、
前記対応する処理演算は、前記ソースデータ値、および、前記制御値に基づいて判定される第2のデータ値に対する、論理演算の適用の結果と同等な結果データ値を生成することを含み、
前記選択されたデータサイズは、前記第2のデータ値内における、ビットの繰り返しパターンの一つ分のビット数を示し、
前記少なくとも1つの制御パラメータは、前記ビットの繰り返しパターンのビット値を特定するための情報を示す、方法。 - コンピュータによって実行される時、請求項1から10のいずれか1項に記載のデータ処理装置に従う命令実行環境を提供する、仮想機械を提供するコンピュータプログラム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB1019798.6A GB2485774A (en) | 2010-11-23 | 2010-11-23 | 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 |
GB1019798.6 | 2010-11-23 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013539334A Division JP5703385B2 (ja) | 2010-11-23 | 2011-09-29 | データ処理装置および方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015097099A JP2015097099A (ja) | 2015-05-21 |
JP5897696B2 true JP5897696B2 (ja) | 2016-03-30 |
Family
ID=43467131
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013539334A Active JP5703385B2 (ja) | 2010-11-23 | 2011-09-29 | データ処理装置および方法 |
JP2014255950A Active JP5897696B2 (ja) | 2010-11-23 | 2014-12-18 | データ処理装置および方法 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013539334A Active JP5703385B2 (ja) | 2010-11-23 | 2011-09-29 | データ処理装置および方法 |
Country Status (10)
Country | Link |
---|---|
US (3) | US9207937B2 (ja) |
EP (2) | EP2648091B1 (ja) |
JP (2) | JP5703385B2 (ja) |
KR (2) | KR101900236B1 (ja) |
CN (2) | CN104915182B (ja) |
GB (1) | GB2485774A (ja) |
IL (1) | IL225036A (ja) |
MY (1) | MY164432A (ja) |
TW (1) | TWI520058B (ja) |
WO (1) | WO2012069798A1 (ja) |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2485774A (en) | 2010-11-23 | 2012-05-30 | Advanced Risc Mach Ltd | 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 |
US20130159667A1 (en) * | 2011-12-16 | 2013-06-20 | Mips Technologies, Inc. | Vector Size Agnostic Single Instruction Multiple Data (SIMD) Processor Architecture |
US9632980B2 (en) | 2011-12-23 | 2017-04-25 | Intel Corporation | Apparatus and method of mask permute instructions |
US9946540B2 (en) | 2011-12-23 | 2018-04-17 | Intel Corporation | Apparatus and method of improved permute instructions with multiple granularities |
CN111831335A (zh) * | 2011-12-23 | 2020-10-27 | 英特尔公司 | 经改进的插入指令的装置和方法 |
CN104137055B (zh) * | 2011-12-29 | 2018-06-05 | 英特尔公司 | 点积处理器、方法、系统和指令 |
US9081607B2 (en) * | 2012-10-24 | 2015-07-14 | International Business Machines Corporation | Conditional transaction abort and precise abort handling |
CN103973600B (zh) * | 2013-02-01 | 2018-10-09 | 德克萨斯仪器股份有限公司 | 用于分组处理旋转掩码合并和寄存字段指令的方法及装置 |
WO2014203035A1 (en) * | 2013-06-18 | 2014-12-24 | Freescale Semiconductor, Inc. | Signal processing device and method of performing a bit-expand operation |
US20150186137A1 (en) * | 2013-12-27 | 2015-07-02 | Tal Uliel | Systems, apparatuses, and methods for vector bit test |
KR102148984B1 (ko) | 2014-05-29 | 2020-08-27 | 삼성에스디에스 주식회사 | 데이터 처리 시스템 및 방법 |
EP3001306A1 (en) * | 2014-09-25 | 2016-03-30 | Intel Corporation | Bit group interleave processors, methods, systems, and instructions |
US10013253B2 (en) * | 2014-12-23 | 2018-07-03 | Intel Corporation | Method and apparatus for performing a vector bit reversal |
CN104991758B (zh) * | 2015-07-27 | 2017-11-21 | 中国科学院自动化研究所 | 一种位域覆盖装置及操作方法 |
US9733899B2 (en) * | 2015-11-12 | 2017-08-15 | Arm Limited | Lane position information for processing of vector |
US20170177350A1 (en) * | 2015-12-18 | 2017-06-22 | Intel Corporation | Instructions and Logic for Set-Multiple-Vector-Elements Operations |
US20170177354A1 (en) * | 2015-12-18 | 2017-06-22 | Intel Corporation | Instructions and Logic for Vector-Based Bit Manipulation |
US20170177362A1 (en) * | 2015-12-22 | 2017-06-22 | Intel Corporation | Adjoining data element pairwise swap processors, methods, systems, and instructions |
CN105892993B (zh) * | 2016-03-28 | 2019-02-15 | 龙芯中科技术有限公司 | 基于提取插入操作的重组方法、装置及微处理器 |
EP3336691B1 (en) * | 2016-12-13 | 2022-04-06 | ARM Limited | Replicate elements instruction |
EP3336692B1 (en) | 2016-12-13 | 2020-04-29 | Arm Ltd | Replicate partition instruction |
EP3602383A4 (en) * | 2017-03-21 | 2021-05-19 | Tora Holdings, Inc. | SECURE ORDER AGREEMENT THROUGH DISTRIBUTION OF DATA AND PROCESSING OVER SEVERAL SEGREGATED CALCULATION NODES |
US10514914B2 (en) * | 2017-08-29 | 2019-12-24 | Gsi Technology Inc. | Method for min-max computation in associative memory |
Family Cites Families (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4520439A (en) * | 1981-01-05 | 1985-05-28 | Sperry Corporation | Variable field partial write data merge |
US4617641A (en) * | 1983-10-19 | 1986-10-14 | Hitachi, Ltd. | Operation unit for floating point data having a variable length exponent part |
JPS6266377A (ja) * | 1985-09-19 | 1987-03-25 | Fujitsu Ltd | マスクパタ−ン生成方式 |
JP2674301B2 (ja) | 1990-10-31 | 1997-11-12 | 富士通株式会社 | ビット転記方式 |
US5423010A (en) * | 1992-01-24 | 1995-06-06 | C-Cube Microsystems | Structure and method for packing and unpacking a stream of N-bit data to and from a stream of N-bit data words |
JP3203401B2 (ja) * | 1993-05-21 | 2001-08-27 | 三菱電機株式会社 | データ処理装置 |
JP3452655B2 (ja) | 1993-09-27 | 2003-09-29 | 株式会社日立製作所 | ディジタル信号処理プロセッサおよびそれを用いて命令を実行する方法 |
JPH07175651A (ja) * | 1993-09-27 | 1995-07-14 | Hitachi Ltd | ディジタル信号処理プロセッサおよびそれを用いて命令をフェッチし復号する方法 |
JP2682469B2 (ja) * | 1994-09-20 | 1997-11-26 | 日本電気株式会社 | 命令コード符号化方式 |
US6738793B2 (en) | 1994-12-01 | 2004-05-18 | Intel Corporation | Processor capable of executing packed shift operations |
JP3433588B2 (ja) | 1995-10-19 | 2003-08-04 | 株式会社デンソー | マスクデータ生成回路及びビットフィールド操作回路 |
JPH11272546A (ja) | 1998-03-23 | 1999-10-08 | Nec Corp | 可変長レジスタ装置 |
JP2000099327A (ja) | 1998-09-28 | 2000-04-07 | Mitsubishi Electric Corp | 計算機 |
US6308253B1 (en) * | 1999-03-31 | 2001-10-23 | Sony Corporation | RISC CPU instructions particularly suited for decoding digital signal processing applications |
JP2001251349A (ja) * | 2000-03-06 | 2001-09-14 | Fujitsu Ltd | パケットプロセッサ |
US6625724B1 (en) * | 2000-03-28 | 2003-09-23 | Intel Corporation | Method and apparatus to support an expanded register set |
US6678806B1 (en) | 2000-08-23 | 2004-01-13 | Chipwrights Design, Inc. | Apparatus and method for using tagged pointers for extract, insert and format operations |
GB0024312D0 (en) * | 2000-10-04 | 2000-11-15 | Advanced Risc Mach Ltd | Single instruction multiple data processing |
DE10314928A1 (de) | 2003-04-02 | 2004-11-04 | Infineon Technologies Ag | Verfahren und programmgesteuerte Einheit zur Bitfeldverschiebung |
CN1898873A (zh) * | 2003-12-18 | 2007-01-17 | 汤姆森特许公司 | 用于将n比特字代码转换为m比特字并且m小于n的方法和器件 |
EP1545010A1 (en) * | 2003-12-18 | 2005-06-22 | Deutsche Thomson-Brandt GmbH | Method and device for transcoding N-bit words into M-bit words with M smaller N |
US7370180B2 (en) * | 2004-03-08 | 2008-05-06 | Arm Limited | Bit field extraction with sign or zero extend |
GB2411978B (en) * | 2004-03-10 | 2007-04-04 | Advanced Risc Mach Ltd | Inserting bits within a data word |
US7315937B2 (en) * | 2004-10-01 | 2008-01-01 | Mips Technologies, Inc. | Microprocessor instructions for efficient bit stream extractions |
US7885992B2 (en) * | 2006-06-22 | 2011-02-08 | Honeywell International Inc. | System and method for implementing irregular data formats |
US7529918B2 (en) * | 2006-07-21 | 2009-05-05 | Broadcom Corporation | System and method for efficiently performing bit-field extraction and bit-field combination operations in a processor |
JP4374363B2 (ja) | 2006-09-26 | 2009-12-02 | Okiセミコンダクタ株式会社 | ビットフィールド操作回路 |
US7895419B2 (en) * | 2008-01-11 | 2011-02-22 | International Business Machines Corporation | Rotate then operate on selected bits facility and instructions therefore |
US8352528B2 (en) * | 2009-09-20 | 2013-01-08 | Mimar Tibet | Apparatus for efficient DCT calculations in a SIMD programmable processor |
GB2485774A (en) * | 2010-11-23 | 2012-05-30 | Advanced Risc Mach Ltd | 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 |
-
2010
- 2010-11-23 GB GB1019798.6A patent/GB2485774A/en not_active Withdrawn
-
2011
- 2011-09-22 US US13/137,948 patent/US9207937B2/en active Active
- 2011-09-29 MY MYPI2013700475A patent/MY164432A/en unknown
- 2011-09-29 KR KR1020177027796A patent/KR101900236B1/ko active IP Right Grant
- 2011-09-29 KR KR1020137013056A patent/KR101834174B1/ko active IP Right Grant
- 2011-09-29 EP EP13174736.2A patent/EP2648091B1/en active Active
- 2011-09-29 CN CN201510233155.4A patent/CN104915182B/zh active Active
- 2011-09-29 CN CN201180056035.1A patent/CN103229139B/zh active Active
- 2011-09-29 EP EP11771268.7A patent/EP2603851B1/en active Active
- 2011-09-29 WO PCT/GB2011/051841 patent/WO2012069798A1/en active Application Filing
- 2011-09-29 JP JP2013539334A patent/JP5703385B2/ja active Active
- 2011-11-04 TW TW100140338A patent/TWI520058B/zh active
-
2013
- 2013-03-03 IL IL225036A patent/IL225036A/en active IP Right Grant
-
2014
- 2014-12-18 JP JP2014255950A patent/JP5897696B2/ja active Active
-
2015
- 2015-10-08 US US14/878,188 patent/US9619225B2/en active Active
-
2017
- 2017-02-14 US US15/431,955 patent/US10521232B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP5703385B2 (ja) | 2015-04-15 |
KR20140001910A (ko) | 2014-01-07 |
US20160026465A1 (en) | 2016-01-28 |
EP2648091A1 (en) | 2013-10-09 |
KR20170118946A (ko) | 2017-10-25 |
CN104915182A (zh) | 2015-09-16 |
JP2015097099A (ja) | 2015-05-21 |
KR101900236B1 (ko) | 2018-09-19 |
GB2485774A (en) | 2012-05-30 |
US10521232B2 (en) | 2019-12-31 |
CN103229139A (zh) | 2013-07-31 |
EP2648091B1 (en) | 2014-10-29 |
TWI520058B (zh) | 2016-02-01 |
US20120131312A1 (en) | 2012-05-24 |
MY164432A (en) | 2017-12-15 |
US20170153891A1 (en) | 2017-06-01 |
CN103229139B (zh) | 2016-06-08 |
EP2603851B1 (en) | 2017-08-16 |
IL225036A (en) | 2017-06-29 |
EP2603851A1 (en) | 2013-06-19 |
JP2014500546A (ja) | 2014-01-09 |
US9619225B2 (en) | 2017-04-11 |
TW201235937A (en) | 2012-09-01 |
WO2012069798A1 (en) | 2012-05-31 |
GB201019798D0 (en) | 2011-01-05 |
KR101834174B1 (ko) | 2018-03-05 |
CN104915182B (zh) | 2017-12-01 |
US9207937B2 (en) | 2015-12-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5897696B2 (ja) | データ処理装置および方法 | |
JP5646737B2 (ja) | 条件付き比較命令 | |
CN103562854B (zh) | 用于对齐寄存器的系统、装置和方法 | |
CN107851013B (zh) | 数据处理装置和方法 | |
TWI739754B (zh) | 向量運算指令 | |
EP3655852B1 (en) | Vector interleaving in a data processing apparatus | |
JP6803390B2 (ja) | 第1のアーキテクチャレジスタ番号および第2のアーキテクチャレジスタ番号を識別する符号化命令 | |
JP5732139B2 (ja) | データ要素の条件付き選択 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20150928 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20151026 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160120 |
|
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: 20160208 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160302 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5897696 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 |