JP6108362B2 - 不連続命令指定子の連続命令指定子への変換 - Google Patents
不連続命令指定子の連続命令指定子への変換 Download PDFInfo
- Publication number
- JP6108362B2 JP6108362B2 JP2014561527A JP2014561527A JP6108362B2 JP 6108362 B2 JP6108362 B2 JP 6108362B2 JP 2014561527 A JP2014561527 A JP 2014561527A JP 2014561527 A JP2014561527 A JP 2014561527A JP 6108362 B2 JP6108362 B2 JP 6108362B2
- Authority
- JP
- Japan
- Prior art keywords
- field
- instruction
- specifier
- bits
- register
- 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
- 238000000034 method Methods 0.000 claims description 62
- 230000006870 function Effects 0.000 claims description 39
- 230000008569 process Effects 0.000 claims description 12
- 238000004891 communication Methods 0.000 claims description 8
- 238000013507 mapping Methods 0.000 claims description 5
- 239000013598 vector Substances 0.000 description 117
- 238000003860 storage Methods 0.000 description 67
- 238000013519 translation Methods 0.000 description 42
- 230000014616 translation Effects 0.000 description 42
- 238000012545 processing Methods 0.000 description 35
- 238000004590 computer program Methods 0.000 description 19
- 238000010586 diagram Methods 0.000 description 12
- 238000006073 displacement reaction Methods 0.000 description 9
- 230000001343 mnemonic effect Effects 0.000 description 7
- 230000009471 action Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 230000000295 complement effect Effects 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000007774 longterm Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 230000003139 buffering effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000001934 delay Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 238000012884 algebraic function Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000005215 recombination Methods 0.000 description 1
- 230000006798 recombination Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 229920000638 styrene acrylonitrile Polymers 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 210000003813 thumb Anatomy 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000000844 transformation 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/30181—Instruction operation extension or modification
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/52—Binary to binary
-
- 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/30098—Register arrangements
- G06F9/3012—Organisation of register space, e.g. banked or distributed register file
- G06F9/30138—Extension of register space, e.g. register cache
-
- 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/3017—Runtime instruction translation, e.g. macros
- G06F9/30174—Runtime instruction translation, e.g. macros for non-native instruction set, e.g. Javabyte, legacy code
-
- 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/34—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
- G06F9/342—Extension of operand address space
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
- G06F9/45516—Runtime code conversion or optimisation
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)
Description
0−命令の第1のベクトル・レジスタ指示のための最上位ビット。
1−命令の第2のベクトル・レジスタ指示のための最上位ビット。
2−命令の第3のベクトル・レジスタ指示のための最上位ビット。
3−命令の第4のベクトル・レジスタ指示のための最上位ビット。
ベクトル・ストリング・ファシリティ
→
命令
別に指定しない限り、全てのオペランドはベクトル・レジスタ・オペランドである。アセンブラ構文における「V」はベクトル・オペランドを指示する。
0−バイト
1−ハーフワード
2−ワード
3−15−予約
・Result Type(RT):ゼロの場合、結果の各要素は、その要素についての全ての範囲比較のマスクとなる。1の場合、バイト・インデックスが第1のオペランドのバイト7に格納され、ゼロが全ての他の要素に格納される。
・Zero Search(ゼロ検索)(ZS):1の場合、第2のオペランドの各要素は、ゼロとも比較される。
・Condition Code Set(条件コード設定)(CC):ゼロの場合、条件コードは設定されず、変更されない。1の場合、条件コードは、以下の節で指定されるように設定される。
指定例外が認識され、以下のいずれかが生じた場合、その他のいずれの動作も行われない。
1.M4フィールドが3から15までの値を含む。
2.M5フィールドのビット0がゼロでない。
CCフラグがゼロである場合、コードは変更されない。
CCフラグが1である場合、コードは以下のように設定される。
0 ZSビットが設定されており、第2のオペランド内のゼロより下位のインデックス付き要素内に一致が存在しない場合。
1 第2のオペランドの幾つかの要素が、第3のオペランド内の少なくとも1つの要素と一致する場合。
2 第2のオペランドの全ての要素が、第3のオペランド内の少なくとも1つの要素と一致する場合。
3 第2のオペランド内のいずれの要素も、第3のオペランド内のいずれの要素とも一致しない場合。
・DXC FEを伴うデータ、ベクトル・レジスタ
・ベクトル拡張ファシリティがインストールされていない場合の演算
・指定(予約されたES値)
・トランザクション制限
0−バイト
1−ハーフワード
2−ワード
3−15−予約
・Reserved(予約):ビット0−1は予約されており、ゼロでなければならない。そうでない場合には、指定例外が認識される。
・Zero Search(ZS):1の場合、第2のオペランドの各要素は、ゼロとも比較される。
・Condition Code Set(CC):ゼロの場合、条件コードは変更されない。1の場合、条件コードは、以下の節で指定されるように設定される。
指定例外が認識され、以下のいずれかが生じた場合、その他のいずれの動作も行われない。
1.M4フィールドが3から15までの値を含む。
2.M5フィールドのビット0−1がゼロでない。
M5フィールドのビット3が1に設定されている場合、コードは以下の様に設定される:
0 ゼロ比較ビットが設定されており、比較により、いずれの等値比較よりも小さいインデックスを有する要素内で第2のオペランド内のゼロ要素を検出した場合。
1 比較により、第2のオペランドと第3のオペランドとの間で何らかの要素の一致を検出した場合。ゼロ比較ビットが設定されている場合、この一致は、ゼロ比較要素に等しいか又は小さいインデックスを有する要素において生じる。
2 −−
3 比較したいずれの要素も等値ではなかった場合。
M5フィールドのビット3がゼロである場合、コードは変更されない。
・DXC FEを伴うデータ、ベクトル・レジスタ
・ベクトル拡張ファシリティがインストールされていない場合の演算
・指定(予約されたES値)
・トランザクション制限
1.バイト・インデックスは、いずれの要素サイズに関しても常に第1のオペランド内に格納される。例えば、要素サイズがハーフワードに設定され、第2のインデックス付きハーフワードが等値比較された場合、4のバイト・インデクッスが格納されることになる。
2.第3のオペランドは、ゼロ値を有する要素を含んではならない。第3のオペランドがゼロを含み、他のいずれかの等値比較の前に第2のオペランド内のゼロ要素と一致した場合、ゼロ比較ビットの設定に関わらず、条件コード1が設定される。
0−バイト
1−ハーフワード
2−ワード
3−15−予約
・Zero Search(ZS):1の場合、第2のオペランドの各要素は、ゼロとも比較される。
・Condition Code Set(CC):ゼロの場合、条件コードは設定されず変更されない。1の場合、条件コードは以下の節で指定されるように設定される。
指定例外が認識され、以下のいずれかが生じた場合、その他のいずれの動作も行われない。
1.M4フィールドが3から15までの値を含む。
2.M5フィールドのビット0−1がゼロでない。
M5フィールドのビット3が1に設定されている場合、コードは以下の様に設定される:
0 ゼロである比較ビットが設定されており、比較により、両オペランド内のゼロ要素をいずれの非等値比較よりも下位のインデックス付き要素内で検出した場合。
1 要素不一致が検出され、VR2内の要素がVR3内の要素より小さい場合。
2 要素不一致が検出され、VR2内の要素がVR3内の要素より大きい場合。
3 比較した全ての要素が等値であり、且つ、ゼロ比較ビットが設定されている場合には第2のオペランド内にゼロ要素が見出されなかった場合。
M5フィールドのビット3がゼロである場合、コードは変更されない。
・DXC FEを伴うデータ、ベクトル・レジスタ
・ベクトル拡張ファシリティがインストールされていない場合の演算
・指定(予約されたES値)
・トランザクション制限
ESが0に等しい場合、
・Equal(等しい)(EQ):1のとき、等値比較がなされる。
・Grater Than(大なり)(GT):1のとき大なり(greater than)比較が実行される。
・Less Than(小なり)(LT):1のとき、小なり(less than)比較が実行される。
・全ての他のビットは予約され、将来の互換性を保証するためにゼロにすべきである。
0−バイト
1−ハーフワード
2−ワード
3−15−予約
・Invert Result(反転結果)(IN):ゼロの場合、制御ベクトル内の値の対について比較が続けられる。1の場合、その範囲内の比較の対の結果が反転される。
・Result Type(RT):ゼロの場合、結果の各要素は、その要素についての全ての範囲比較のマスクとなる。1の場合、インデックスが第1のオペランドのバイト7に格納される。残りのバイトにはゼロが格納される。
・Zero Search(ZS):1の場合、第2のオペランドの各要素は、ゼロとも比較される。
・Condition Code Set(CC):ゼロの場合、条件コードは設定されず、変更されない。1の場合、条件コードは、以下の節で指定されるように設定される。
指定例外が認識され、以下のいずれかが生じた場合、その他のいずれの動作も行われない。
1.M4フィールドが3から15までの値を含む。
0 ZS=1であり、且つ、ゼロがいずれの比較よりも下位のインデクス付き要素内に見出される場合。
1 比較が見出された場合。
2 −−
3 比較が見出されなかった場合。
・DXC FEを伴うデータ、ベクトル・レジスタ
・ベクトル拡張ファシリティがインストールされていない場合の演算
・指定(予約されたES値)
・トランザクション制限
変位は、12ビットの符号なし整数として扱われる。
第2のオペランド・アドレスは、データをアドレス指定するのには使用されない。
M3フィールドは、ロードされる可能なバイト数を計算するためのブロック境界サイズに関してCPUに信号を送るのに用いられるコードを指定する。予約値が指定された場合には、指定例外が認識される。
0 64バイト
1 128バイト
2 256バイト
3 512バイト
4 1Kバイト
5 2Kバイト
6 4Kバイト
7−15 予約
0 オペランド1が16の場合
1 −−
2 −−
3 オペランド1が16より小さい場合
プログラム例外
・ベクトル拡張ファシリティがインストールされていない場合の演算
・指定
ベクトル・レジスタ要素がダブルワードより小さい場合、要素は64ビット汎用レジスタ内で右寄せされ、残りのビットにはゼロが入る。
0−バイト
1−ハーフワード
2−ワード
3−ダブルワード
4−15−予約されており、変更されない。
プログラム例外:
・DXC FEを伴うデータ、ベクトル・レジスタ
・ベクトル拡張ファシリティがインストールされていない場合の演算
・指定(予約されたES値)
・トランザクション制限
VLBBの変位は、12ビット符合なし整数として取り扱われる。
M3フィールドは、ロードするためのブロック境界サイズに関してCPUに信号を送るのに用いられるコードを指定する。予約値が指定された場合には、指定例外が認識される。
0 64バイト
1 128バイト
2 256バイト
3 512バイト
4 1Kバイト
5 2Kバイト
6 4Kバイト
7−15 予約
プログラム例外:
・アクセス(フェッチ、オペランド2)
・DXC FEを伴うデータ、ベクトル・レジスタ
・ベクトル拡張ファシリティがインストールされていない場合の演算
・指定(予約されたブロック境界コード)
・トランザクション制限
1.ある特定の状況において、データがブロック境界を越してロードされることがある。しかし、これは、そのデータについてのアクセス例外がない場合にのみ起ることになる。
プログラム例外:
・アクセス(ストア、オペランド2)
・DXC FEを伴うデータ、ベクトル・レジスタ
・ベクトル拡張ファシリティがインストールされていない場合の演算
・トランザクション制限
VECTOR STORE WITH LENGTHに関する変位は、12ビット符号なし整数として取り扱われる。
プログラム例外:
・アクセス(ストア、オペランド2)
・DXC FEを伴うデータ、ベクトル・レジスタ
・ベクトル拡張ファシリティがインストールされていない場合の演算
・トランザクション制限
全てのベクトル命令は、命令のビット36−40において、RXBとラベル付けされたフィールドを有する。このフィールドは、ベクトル・レジスタが指示する全てのオペランドの最上位ビットを含む。命令によって指定されていないレジスタ指示のためのビットは、予約され、ゼロに設定されるべきであり、さもなければ、プログラムは、将来、互換的に動作することができない。その最上位ビットが4ビット・レジスタ指示の左に連結されて、5ビットのベクトル・レジスタ指定が作成される。
ビットは以下の様に定義される:
0.命令のビット8−11内のベクトル・レジスタ指示のための最上位ビット。
1.命令のビット12−15内のベクトル・レジスタ指示のための最上位ビット。
2.命令のビット16−19内のベクトル・レジスタ指示のための最上位ビット。
3.命令のビット32−35内のベクトル・レジスタ指示のための最上位ビット。
ベクトル・レジスタ及び命令は、制御レジスタ・ゼロ内のベクトル・イネーブルメント制御(ビット46)及びAFPレジスタ制御(ビット45)の両方が1に設定されている場合にのみ使用することができる。ベクトル・ファシリティがインストールされ、ベクトル命令がイネーブルメント・ビット設定なしに実行される場合、DXC EF hexによるデータ例外が認識される。ベクトル・ファシリティがインストールされていない場合、演算例外が認識される。
102:ネイティブ中央演算処理ユニット(CPU)
104:メモリ
106:入力/出力デバイス
108:バス
110:ネイティブ・レジスタ
112:エミュレータ・コード
200:ゲスト命令
202:命令フェッチ・ユニット
204:命令翻訳ルーチン
206:ネイティブ命令
210:エミュレーション制御ルーチン
902a、902b:オペコード・フィールド
904:ベクトル・レジスタ・フィールド
906:インデックス・フィールド
908:ベース・フィールド
910:変位フィールド
912:RXBフィールド
954:VRTフィールド
Claims (20)
- コンピューティング環境の命令指定子を変換する処理をコンピュータに実行させるためのプログラムであって、
プロセッサにより、第1のコンピュータ・アーキテクチャに対して定義された第1の命令から不連続指定子を取得するステップであって、前記不連続指定子は、第1の部分及び第2の部分を有し、前記不連続指定子を取得するステップは、前記第1の部分を前記命令の第1のフィールドから取得し、前記第2の部分を前記命令の第2のフィールドから取得するステップを含み、前記第1のフィールドは、前記第2のフィールドから分離している、ステップと、
前記第1の部分及び前記第2の部分を使用して連続指定子を生成するステップであって、前記連続指定子を生成するステップは、前記第1の命令のオペコードに基づく1以上の規則を用いる、ステップと、
前記連続指定子を使用して第2の命令の実行に用いられるリソースを示すステップであって、前記第2の命令は、前記第1のコンピュータ・アーキテクチャとは異なる第2のコンピュータ・アーキテクチャに対して定義され、且つ、前記第1の命令の機能をエミュレートする、ステップと、
を実行させる、プログラム。 - 前記プロセッサは、エミュレータを含み、前記第1の部分は、1以上の第1のビットを含み、前記第2の部分は、1以上の第2のビットを含み、前記連続指定子を生成するステップは、前記1以上の第2のビットを前記1以上の第1のビットと連結して前記連続指定子を形成するステップを含み、前記1以上の第2のビットは、前記連続指定子の最上位ビットである、請求項1に記載のプログラム。
- 前記第1のフィールドは、前記第1のフィールドに関連付けられたオペランド位置を有し、前記1以上の第2のビットは、前記第2のフィールドの複数のビットのサブセットであり、前記不連続指定子を取得するステップは、前記第1のフィールドの前記オペランド位置に基づいて、前記第2のフィールドの前記複数のビットから前記1以上の第2のビットを選択するステップを含む、請求項2に記載のプログラム。
- 前記第1のフィールドの前記オペランド位置は、第1のオペランドとしてのものであり、前記1以上の第2のビットは、前記第2のフィールドの左端位置から選択される、請求項3に記載のプログラム。
- 前記第1のフィールドは、レジスタ・フィールドから成り、前記第2のフィールドは、拡張フィールドで構成されており、前記第1の部分は、前記レジスタ・フィールドからの複数のビットで構成されており、前記第2の部分は、前記レジスタ・フィールドに対応する前記命令の位置における、拡張フィールドからのビットで構成されており、前記連続指定子を生成するステップは、前記拡張フィールドからの前記ビットを前記レジスタ・フィールドからの前記ビットと連結して前記連続指定子を提供するステップを含む、請求項1〜4のいずれか1項に記載のプログラム。
- 前記連続指定子を使用してリソースを示すステップは、前記連続指定子を使用して、前記第2の命令によって使用されるレジスタにマップするステップを含む、請求項1〜5のいずれか1項に記載のプログラム。
- 前記連続指定子によってマップされる前記レジスタは、前記連続指定子と同じ値を有する、請求項6に記載のプログラム。
- 前記連続指定子によってマップされる前記レジスタは、前記連続指定子と異なる値を有する、請求項6に記載のプログラム。
- 前記第1のコンピュータ・アーキテクチャは、前記第1のコンピュータ・アーキテクチャのレジスタ・スペースのサブセクションにアクセスするためのレジスタ・フィールドを有する第1の命令と、前記レジスタ・スペースの前記サブセクション及び残りのサブセクションにアクセスするための不連続レジスタ・フィールドを有する第2の命令とを有する命令セットを含み、前記第1の命令は、前記残りのサブセクションにアクセスすることから除外される、請求項1〜8のいずれか1項に記載のプログラム。
- 前記第1のフィールドは、レジスタ・フィールドで構成されており、前記第2のフィールドは、拡張フィールドで構成されており、前記第1の部分は、前記レジスタ・フィールドからの複数のビットで構成されており、前記第2の部分は、前記レジスタ・フィールドに対応する前記命令の位置における、前記拡張フィールドからのビットで構成されており、前記連続指定子を生成するステップは、前記拡張フィールドからの前記ビットを前記レジスタ・フィールドからの前記ビットと連結して前記連続指定子を提供するステップを含み、
前記プロセッサにより、前記第1の命令から、別の不連続指定子を取得するステップであって、前記別の不連続指定子は、別の第1の部分及び別の第2の部分を有し、前記別の不連続指定子を取得するステップは、前記別の第1の部分を前記命令の別の第1のフィールドから取得し、前記別の第2の部分を前記拡張フィールドの別のビットから取得するステップを含み、前記別の第1のフィールドは、前記第1のフィールド及び前記拡張フィールドから分離している、ステップと、
前記別の第1の部分及び前記別のビットを使用して別の連続指定子を生成するステップであって、前記別の連続指定子を生成するステップは、前記第1の命令のオペコードに基づく1以上の規則を用いる、ステップと、
前記別の連続指定子を用いて、前記第2の命令の実行に用いられるリソースを示すステップと、
をさらに実行させる、請求項1に記載のプログラム。 - コンピューティング環境の命令指定子を変換するためのコンピュータ・システムであって、
メモリと、
前記メモリと通信するプロセッサと、
を含み、前記コンピュータ・システムは方法を実行するように構成され、前記方法は、
プロセッサにより、第1のコンピュータ・アーキテクチャに対して定義された第1の命令から不連続指定子を取得するステップであって、前記不連続指定子は、第1の部分及び第2の部分を有し、前記不連続指定子を取得するステップは、前記第1の部分を前記命令の第1のフィールドから取得し、前記第2の部分を前記命令の第2のフィールドから取得するステップを含み、前記第1のフィールドは、前記第2のフィールドから分離している、ステップと、
前記第1の部分及び前記第2の部分を使用して連続指定子を生成するステップであって、前記連続指定子を生成するステップは、前記第1の命令のオペコードに基づく1以上の規則を用いる、ステップと、
前記連続指定子を使用して、第2の命令の実行に用いられるリソースを示すステップであって、前記第2の命令は、前記第1のコンピュータ・アーキテクチャとは異なる第2のコンピュータ・アーキテクチャに対して定義され、且つ、前記第1の命令の機能をエミュレートする、ステップと、
を含む、コンピュータ・システム。 - 前記プロセッサは、エミュレータを含み、前記第1の部分は、1以上の第1のビットを含み、前記第2の部分は、1以上の第2のビットを含み、前記連続指定子を生成するステップは、前記1以上の第2のビットを前記1以上の第1のビットと連結して前記連続指定子を形成するステップを含み、前記1以上の第2のビットは、前記連続指定子の最上位ビットである、請求項11に記載のコンピュータ・システム。
- 前記第1のフィールドは、前記第1のフィールドに関連付けられたオペランド位置を有し、前記1以上の第2のビットは、前記第2のフィールドの複数のビットのサブセットであり、前記不連続指定子を取得するステップは、前記第1のフィールドの前記オペランド位置に基づいて、前記第2のフィールドの前記複数のビットから前記1以上の第2のビットを選択するステップを含む、請求項12に記載のコンピュータ・システム。
- 前記第1のフィールドの前記オペランド位置は、第1のオペランドとしてのものであり、前記1以上の第2のビットは、前記第2のフィールドの左端位置から選択される、請求項13に記載のコンピュータ・システム。
- 前記第1のフィールドは、レジスタ・フィールドを含み、前記第2のフィールドは、拡張フィールドを含み、前記第1の部分は、前記レジスタ・フィールドからの複数のビットを含み、前記第2の部分は、前記レジスタ・フィールドに対応する前記命令の位置における、拡張フィールドからのビットを含み、前記連続指定子を生成するステップは、前記拡張フィールドからの前記ビットを前記レジスタ・フィールドからの前記ビットと連結して前記連続指定子を提供するステップを含む、請求項11〜14のいずれか1項に記載のコンピュータ・システム。
- 前記連続指定子を使用してリソースを示すステップは、前記連続指定子を使用して、前記第2の命令によって使用されるレジスタにマップするステップを含む、請求項11〜15のいずれか1項に記載のコンピュータ・システム。
- 前記連続指定子によってマップされる前記レジスタは、前記連続指定子と同じ値又は前記連続指定子と異なる値のうちの一方を有する、請求項16に記載のコンピュータ・システム。
- コンピューティング環境の命令指定子を変換する方法であって、
プロセッサにより、第1のコンピュータ・アーキテクチャに対して定義された第1の命令から不連続指定子を取得するステップであって、前記不連続指定子は、第1の部分及び第2の部分を有し、前記不連続指定子を取得するステップは、前記第1の部分を前記命令の第1のフィールドから取得し、前記第2の部分を前記命令の第2のフィールドから取得するステップを含み、前記第1のフィールドは、前記第2のフィールドから分離している、ステップと、
前記第1の部分及び前記第2の部分を使用して連続指定子を生成するステップであって、前記連続指定子を生成するステップは、前記第1の命令のオペコードに基づく1以上の規則を用いる、ステップと、
前記連続指定子を使用して、第2の命令の実行に用いられるリソースを示すステップであって、前記第2の命令は、前記第1のコンピュータ・アーキテクチャとは異なる第2のコンピュータ・アーキテクチャに対して定義され、且つ、前記第1の命令の機能をエミュレートする、ステップと、
を含む方法。 - 前記プロセッサは、エミュレータを含み、前記第1の部分は、1以上の第1のビットを含み、前記第2の部分は、1以上の第2のビットを含み、前記連続指定子を生成するステップは、前記1以上の第2のビットを前記1以上の第1のビットと連結して前記連続指定子を形成するステップを含み、前記1以上の第2のビットは、前記連続指定子の最上位ビットである、請求項18に記載の方法。
- 前記第1のフィールドは、レジスタ・フィールドを含み、前記第2のフィールドは、拡張フィールドを含み、前記第1の部分は、前記レジスタ・フィールドからの複数のビットを含み、前記第2の部分は、前記レジスタ・フィールドに対応する前記命令の位置における、拡張フィールドからのビットを含み、前記連続指定子を生成するステップは、前記拡張フィールドからの前記ビットを前記レジスタ・フィールドからの前記ビットと連結して前記連続指定子を提供するステップを含む、請求項18又は請求項19に記載の方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/421,657 | 2012-03-15 | ||
US13/421,657 US9280347B2 (en) | 2012-03-15 | 2012-03-15 | Transforming non-contiguous instruction specifiers to contiguous instruction specifiers |
PCT/IB2012/056436 WO2013136144A1 (en) | 2012-03-15 | 2012-11-15 | Transforming non-contiguous instruction specifiers to contiguous instruction specifiers |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015514242A JP2015514242A (ja) | 2015-05-18 |
JP6108362B2 true JP6108362B2 (ja) | 2017-04-05 |
Family
ID=49158813
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014561527A Active JP6108362B2 (ja) | 2012-03-15 | 2012-11-15 | 不連続命令指定子の連続命令指定子への変換 |
Country Status (24)
Country | Link |
---|---|
US (2) | US9280347B2 (ja) |
EP (1) | EP2769301B1 (ja) |
JP (1) | JP6108362B2 (ja) |
KR (1) | KR101643065B1 (ja) |
CN (1) | CN104169877B (ja) |
AU (1) | AU2012373735B2 (ja) |
BR (1) | BR112014022638B1 (ja) |
CA (1) | CA2867115C (ja) |
DK (1) | DK2769301T3 (ja) |
ES (1) | ES2779033T3 (ja) |
HK (1) | HK1201354A1 (ja) |
HR (1) | HRP20200393T1 (ja) |
HU (1) | HUE048409T2 (ja) |
IL (1) | IL232817A (ja) |
LT (1) | LT2769301T (ja) |
MX (1) | MX340050B (ja) |
PL (1) | PL2769301T3 (ja) |
PT (1) | PT2769301T (ja) |
RU (1) | RU2568241C2 (ja) |
SG (1) | SG11201404825SA (ja) |
SI (1) | SI2769301T1 (ja) |
TW (1) | TWI533207B (ja) |
WO (1) | WO2013136144A1 (ja) |
ZA (1) | ZA201406612B (ja) |
Families Citing this family (47)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012103373A2 (en) | 2011-01-27 | 2012-08-02 | Soft Machines, Inc. | Variable caching structure for managing physical storage |
WO2012103367A2 (en) | 2011-01-27 | 2012-08-02 | Soft Machines, Inc. | Guest to native block address mappings and management of native code storage |
WO2012103245A2 (en) | 2011-01-27 | 2012-08-02 | Soft Machines Inc. | Guest instruction block with near branching and far branching sequence construction to native instruction block |
WO2012103253A2 (en) | 2011-01-27 | 2012-08-02 | Soft Machines, Inc. | Multilevel conversion table cache for translating guest instructions to native instructions |
CN108874693B (zh) | 2011-01-27 | 2022-09-23 | 英特尔公司 | 使用处理器的转换后备缓冲器的基于客户指令到本机指令范围的映射 |
WO2012103359A2 (en) | 2011-01-27 | 2012-08-02 | Soft Machines, Inc. | Hardware acceleration components for translating guest instructions to native instructions |
US9268566B2 (en) | 2012-03-15 | 2016-02-23 | International Business Machines Corporation | Character data match determination by loading registers at most up to memory block boundary and comparing |
US9459868B2 (en) | 2012-03-15 | 2016-10-04 | International Business Machines Corporation | Instruction to load data up to a dynamically determined memory boundary |
US9715383B2 (en) | 2012-03-15 | 2017-07-25 | International Business Machines Corporation | Vector find element equal instruction |
US9459864B2 (en) | 2012-03-15 | 2016-10-04 | International Business Machines Corporation | Vector string range compare |
US9280347B2 (en) | 2012-03-15 | 2016-03-08 | International Business Machines Corporation | Transforming non-contiguous instruction specifiers to contiguous instruction specifiers |
US9459867B2 (en) | 2012-03-15 | 2016-10-04 | International Business Machines Corporation | Instruction to load data up to a specified memory boundary indicated by the instruction |
US9454366B2 (en) | 2012-03-15 | 2016-09-27 | International Business Machines Corporation | Copying character data having a termination character from one memory location to another |
US9710266B2 (en) | 2012-03-15 | 2017-07-18 | International Business Machines Corporation | Instruction to compute the distance to a specified memory boundary |
US9454367B2 (en) | 2012-03-15 | 2016-09-27 | International Business Machines Corporation | Finding the length of a set of character data having a termination character |
US9588762B2 (en) | 2012-03-15 | 2017-03-07 | International Business Machines Corporation | Vector find element not equal instruction |
WO2014031540A1 (en) * | 2012-08-20 | 2014-02-27 | Cameron Donald Kevin | Processing resource allocation |
US9513906B2 (en) | 2013-01-23 | 2016-12-06 | International Business Machines Corporation | Vector checksum instruction |
US9823924B2 (en) | 2013-01-23 | 2017-11-21 | International Business Machines Corporation | Vector element rotate and insert under mask instruction |
US9471308B2 (en) | 2013-01-23 | 2016-10-18 | International Business Machines Corporation | Vector floating point test data class immediate instruction |
US9804840B2 (en) | 2013-01-23 | 2017-10-31 | International Business Machines Corporation | Vector Galois Field Multiply Sum and Accumulate instruction |
US9715385B2 (en) | 2013-01-23 | 2017-07-25 | International Business Machines Corporation | Vector exception code |
CN109358948B (zh) | 2013-03-15 | 2022-03-25 | 英特尔公司 | 用于支持推测的访客返回地址栈仿真的方法和装置 |
WO2014151652A1 (en) | 2013-03-15 | 2014-09-25 | Soft Machines Inc | Method and apparatus to allow early dependency resolution and data forwarding in a microprocessor |
US9703562B2 (en) | 2013-03-16 | 2017-07-11 | Intel Corporation | Instruction emulation processors, methods, and systems |
US20140281398A1 (en) * | 2013-03-16 | 2014-09-18 | William C. Rash | Instruction emulation processors, methods, and systems |
US9558032B2 (en) | 2014-03-14 | 2017-01-31 | International Business Machines Corporation | Conditional instruction end operation |
US9454370B2 (en) | 2014-03-14 | 2016-09-27 | International Business Machines Corporation | Conditional transaction end instruction |
US10120681B2 (en) | 2014-03-14 | 2018-11-06 | International Business Machines Corporation | Compare and delay instructions |
US10353680B2 (en) | 2014-07-25 | 2019-07-16 | Intel Corporation | System converter that implements a run ahead run time guest instruction conversion/decoding process and a prefetching process where guest code is pre-fetched from the target of guest branches in an instruction sequence |
US11281481B2 (en) | 2014-07-25 | 2022-03-22 | Intel Corporation | Using a plurality of conversion tables to implement an instruction set agnostic runtime architecture |
US20160026487A1 (en) * | 2014-07-25 | 2016-01-28 | Soft Machines, Inc. | Using a conversion look aside buffer to implement an instruction set agnostic runtime architecture |
US9792098B2 (en) * | 2015-03-25 | 2017-10-17 | International Business Machines Corporation | Unaligned instruction relocation |
US20170022314A1 (en) | 2015-07-24 | 2017-01-26 | Weyerhaeuser Nr Company | Grafted crosslinked cellulose |
US10055208B2 (en) * | 2015-08-09 | 2018-08-21 | Oracle International Corporation | Extending a virtual machine instruction set architecture |
US10235170B2 (en) * | 2016-09-30 | 2019-03-19 | International Business Machines Corporation | Decimal load immediate instruction |
CN110851345B (zh) * | 2019-09-23 | 2023-04-14 | 上海辛格林纳新时达电机有限公司 | 一种系统参数的调用方法及调用装置 |
CN113268726B (zh) * | 2020-02-17 | 2023-10-20 | 华为技术有限公司 | 程序代码执行行为的监控方法、计算机设备 |
US11263131B2 (en) * | 2020-04-08 | 2022-03-01 | Alibaba Group Holding Limited | System and method for allocating memory space |
US11914997B2 (en) | 2020-12-29 | 2024-02-27 | Shanghai Zhaoxin Semiconductor Co., Ltd. | Method and system for executing new instructions |
US11669328B2 (en) | 2020-12-29 | 2023-06-06 | Shanghai Zhaoxin Semiconductor Co., Ltd. | Method and system for converting instructions |
US11816487B2 (en) | 2020-12-29 | 2023-11-14 | Shanghai Zhaoxin Semiconductor Co., Ltd. | Method of converting extended instructions based on an emulation flag and retirement of corresponding microinstructions, device and system using the same |
US11625247B2 (en) | 2020-12-29 | 2023-04-11 | Shanghai Zhaoxin Semiconductor Co., Ltd. | System for executing new instructions and method for executing new instructions |
US11789736B2 (en) | 2020-12-29 | 2023-10-17 | Shanghai Zhaoxin Semiconductor Co., Ltd. | Method and system for executing new instructions |
US11604643B2 (en) | 2020-12-29 | 2023-03-14 | Shanghai Zhaoxin Semiconductor Co., Ltd. | System for executing new instructions and method for executing new instructions |
US11803383B2 (en) | 2020-12-29 | 2023-10-31 | Shanghai Zhaoxin Semiconductor Co., Ltd. | Method and system for executing new instructions |
US20220206809A1 (en) | 2020-12-29 | 2022-06-30 | Shanghai Zhaoxin Semiconductor Co., Ltd. | Method and system for executing new instructions |
Family Cites Families (92)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62276668A (ja) | 1985-07-31 | 1987-12-01 | Nec Corp | ベクトルマスク演算制御ユニツト |
US5073864A (en) | 1987-02-10 | 1991-12-17 | Davin Computer Corporation | Parallel string processor and method for a minicomputer |
US5222225A (en) | 1988-10-07 | 1993-06-22 | International Business Machines Corporation | Apparatus for processing character string moves in a data processing system |
JPH0831032B2 (ja) | 1990-08-29 | 1996-03-27 | 三菱電機株式会社 | データ処理装置 |
US5465374A (en) | 1993-01-12 | 1995-11-07 | International Business Machines Corporation | Processor for processing data string by byte-by-byte |
AU6629894A (en) | 1993-05-07 | 1994-12-12 | Apple Computer, Inc. | Method for decoding guest instructions for a host computer |
AU7108994A (en) | 1993-06-14 | 1995-01-03 | Apple Computer, Inc. | Method and apparatus for finding a termination character within a variable length character string or a processor |
JPH0721034A (ja) | 1993-06-28 | 1995-01-24 | Fujitsu Ltd | 文字列複写処理方法 |
US5509129A (en) | 1993-11-30 | 1996-04-16 | Guttag; Karl M. | Long instruction word controlling plural independent processor operations |
US6185629B1 (en) | 1994-03-08 | 2001-02-06 | Texas Instruments Incorporated | Data transfer controller employing differing memory interface protocols dependent upon external input at predetermined time |
US5551013A (en) | 1994-06-03 | 1996-08-27 | International Business Machines Corporation | Multiprocessor for hardware emulation |
DE69520350T2 (de) | 1994-09-27 | 2001-08-09 | Nkk Corp., Tokio/Tokyo | Galvanisiertes stahlblech und verfahren zur herstellung |
US5790825A (en) | 1995-11-08 | 1998-08-04 | Apple Computer, Inc. | Method for emulating guest instructions on a host computer through dynamic recompilation of host instructions |
US5812147A (en) | 1996-09-20 | 1998-09-22 | Silicon Graphics, Inc. | Instruction methods for performing data formatting while moving data between memory and a vector register file |
US5931940A (en) | 1997-01-23 | 1999-08-03 | Unisys Corporation | Testing and string instructions for data stored on memory byte boundaries in a word oriented machine |
JP4467791B2 (ja) | 1997-11-24 | 2010-05-26 | ブリティッシュ・テレコミュニケーションズ・パブリック・リミテッド・カンパニー | 情報管理及び検索 |
US6009261A (en) | 1997-12-16 | 1999-12-28 | International Business Machines Corporation | Preprocessing of stored target routines for emulating incompatible instructions on a target processor |
US6041402A (en) * | 1998-01-05 | 2000-03-21 | Trw Inc. | Direct vectored legacy instruction set emulation |
US6094695A (en) | 1998-03-11 | 2000-07-25 | Texas Instruments Incorporated | Storage buffer that dynamically adjusts boundary between two storage areas when one area is full and the other has an empty data register |
US6334176B1 (en) | 1998-04-17 | 2001-12-25 | Motorola, Inc. | Method and apparatus for generating an alignment control vector |
US6308255B1 (en) | 1998-05-26 | 2001-10-23 | Advanced Micro Devices, Inc. | Symmetrical multiprocessing bus and chipset used for coprocessor support allowing non-native code to run in a system |
US7100026B2 (en) | 2001-05-30 | 2006-08-29 | The Massachusetts Institute Of Technology | System and method for performing efficient conditional vector operations for data parallel architectures involving both input and conditional vector values |
US6463582B1 (en) | 1998-10-21 | 2002-10-08 | Fujitsu Limited | Dynamic optimizing object code translator for architecture emulation and dynamic optimizing object code translation method |
JP3564395B2 (ja) | 1998-11-27 | 2004-09-08 | 松下電器産業株式会社 | アドレス生成装置および動きベクトル検出装置 |
US6192466B1 (en) | 1999-01-21 | 2001-02-20 | International Business Machines Corporation | Pipeline control for high-frequency pipelined designs |
US8127121B2 (en) | 1999-01-28 | 2012-02-28 | Ati Technologies Ulc | Apparatus for executing programs for a first computer architechture on a computer of a second architechture |
US6189088B1 (en) | 1999-02-03 | 2001-02-13 | International Business Machines Corporation | Forwarding stored dara fetched for out-of-order load/read operation to over-taken operation read-accessing same memory location |
US6499116B1 (en) | 1999-03-31 | 2002-12-24 | International Business Machines Corp. | Performance of data stream touch events |
US6802056B1 (en) | 1999-06-30 | 2004-10-05 | Microsoft Corporation | Translation and transformation of heterogeneous programs |
US6381691B1 (en) | 1999-08-13 | 2002-04-30 | International Business Machines Corporation | Method and apparatus for reordering memory operations along multiple execution paths in a processor |
US6513109B1 (en) | 1999-08-31 | 2003-01-28 | International Business Machines Corporation | Method and apparatus for implementing execution predicates in a computer processing system |
US6449706B1 (en) | 1999-12-22 | 2002-09-10 | Intel Corporation | Method and apparatus for accessing unaligned data |
JP2001236249A (ja) | 2000-02-24 | 2001-08-31 | Nec Corp | メモリ管理装置およびメモリ管理方法 |
US6625724B1 (en) | 2000-03-28 | 2003-09-23 | Intel Corporation | Method and apparatus to support an expanded register set |
US6349361B1 (en) | 2000-03-31 | 2002-02-19 | International Business Machines Corporation | Methods and apparatus for reordering and renaming memory references in a multiprocessor computer system |
US6701424B1 (en) | 2000-04-07 | 2004-03-02 | Nintendo Co., Ltd. | Method and apparatus for efficient loading and storing of vectors |
US6408383B1 (en) | 2000-05-04 | 2002-06-18 | Sun Microsystems, Inc. | Array access boundary check by executing BNDCHK instruction with comparison specifiers |
KR100852563B1 (ko) | 2000-10-18 | 2008-08-18 | 코닌클리즈케 필립스 일렉트로닉스 엔.브이. | 디지털 신호 처리 장치 및 방법 |
US7487330B2 (en) | 2001-05-02 | 2009-02-03 | International Business Machines Corporations | Method and apparatus for transferring control in a computer system with dynamic compilation capability |
JP3900863B2 (ja) | 2001-06-28 | 2007-04-04 | シャープ株式会社 | データ転送制御装置、半導体記憶装置および情報機器 |
US6839828B2 (en) | 2001-08-14 | 2005-01-04 | International Business Machines Corporation | SIMD datapath coupled to scalar/vector/address/conditional data register file with selective subpath scalar processing mode |
US6907443B2 (en) | 2001-09-19 | 2005-06-14 | Broadcom Corporation | Magnitude comparator |
US6570511B1 (en) | 2001-10-15 | 2003-05-27 | Unisys Corporation | Data compression method and apparatus implemented with limited length character tables and compact string code utilization |
US20100274988A1 (en) | 2002-02-04 | 2010-10-28 | Mimar Tibet | Flexible vector modes of operation for SIMD processor |
US7089371B2 (en) | 2002-02-12 | 2006-08-08 | Ip-First, Llc | Microprocessor apparatus and method for prefetch, allocation, and initialization of a block of cache lines from memory |
US7441104B2 (en) | 2002-03-30 | 2008-10-21 | Hewlett-Packard Development Company, L.P. | Parallel subword instructions with distributed results |
US7373483B2 (en) * | 2002-04-02 | 2008-05-13 | Ip-First, Llc | Mechanism for extending the number of registers in a microprocessor |
US7376812B1 (en) | 2002-05-13 | 2008-05-20 | Tensilica, Inc. | Vector co-processor for configurable and extensible processor architecture |
US20040049657A1 (en) * | 2002-09-10 | 2004-03-11 | Kling Ralph M. | Extended register space apparatus and methods for processors |
US6918010B1 (en) | 2002-10-16 | 2005-07-12 | Silicon Graphics, Inc. | Method and system for prefetching data |
US7103754B2 (en) | 2003-03-28 | 2006-09-05 | International Business Machines Corporation | Computer instructions for having extended signed displacement fields for finding instruction operands |
US20040215924A1 (en) | 2003-04-28 | 2004-10-28 | Collard Jean-Francois C. | Analyzing stored data |
US7035986B2 (en) | 2003-05-12 | 2006-04-25 | International Business Machines Corporation | System and method for simultaneous access of the same line in cache storage |
US20040250027A1 (en) | 2003-06-04 | 2004-12-09 | Heflinger Kenneth A. | Method and system for comparing multiple bytes of data to stored string segments |
US7610466B2 (en) | 2003-09-05 | 2009-10-27 | Freescale Semiconductor, Inc. | Data processing system using independent memory and register operand size specifiers and method thereof |
US7904905B2 (en) | 2003-11-14 | 2011-03-08 | Stmicroelectronics, Inc. | System and method for efficiently executing single program multiple data (SPMD) programs |
GB2411973B (en) | 2003-12-09 | 2006-09-27 | Advanced Risc Mach Ltd | Constant generation in SMD processing |
US20060095713A1 (en) | 2004-11-03 | 2006-05-04 | Stexar Corporation | Clip-and-pack instruction for processor |
US7421566B2 (en) | 2005-08-12 | 2008-09-02 | International Business Machines Corporation | Implementing instruction set architectures with non-contiguous register file specifiers |
US9436468B2 (en) | 2005-11-22 | 2016-09-06 | Intel Corporation | Technique for setting a vector mask |
US8010953B2 (en) | 2006-04-04 | 2011-08-30 | International Business Machines Corporation | Method for compiling scalar code for a single instruction multiple data (SIMD) execution engine |
US7565514B2 (en) | 2006-04-28 | 2009-07-21 | Freescale Semiconductor, Inc. | Parallel condition code generation for SIMD operations |
CN101097488B (zh) | 2006-06-30 | 2011-05-04 | 2012244安大略公司 | 从接收的文本中学习字符片段的方法及相关手持电子设备 |
US9069547B2 (en) | 2006-09-22 | 2015-06-30 | Intel Corporation | Instruction and logic for processing text strings |
US7536532B2 (en) | 2006-09-27 | 2009-05-19 | International Business Machines Corporation | Merge operations of data arrays based on SIMD instructions |
US7991987B2 (en) | 2007-05-10 | 2011-08-02 | Intel Corporation | Comparing text strings |
CN101755265A (zh) | 2007-05-21 | 2010-06-23 | 茵科瑞蒂梅尔有限公司 | 交互式消息编辑系统和方法 |
US20090063410A1 (en) | 2007-08-29 | 2009-03-05 | Nils Haustein | Method for Performing Parallel Data Indexing Within a Data Storage System |
US7739434B2 (en) | 2008-01-11 | 2010-06-15 | International Business Machines Corporation | Performing a configuration virtual topology change and instruction therefore |
US7870339B2 (en) | 2008-01-11 | 2011-01-11 | International Business Machines Corporation | Extract cache attribute facility and instruction therefore |
US7895419B2 (en) | 2008-01-11 | 2011-02-22 | International Business Machines Corporation | Rotate then operate on selected bits facility and instructions therefore |
US7877582B2 (en) | 2008-01-31 | 2011-01-25 | International Business Machines Corporation | Multi-addressable register file |
KR20100126690A (ko) | 2008-02-18 | 2010-12-02 | 샌드브리지 테크놀로지스, 인코포레이티드 | 널-종료 문자열 동작을 가속화하는 방법 |
DK176835B1 (da) | 2008-03-07 | 2009-11-23 | Jala Aps | Fremgangsmåde til skanning, medium indeholdende et program til udövelse af fremgangsmåden samt system til udövelse af fremgangsmåden |
US8386547B2 (en) | 2008-10-31 | 2013-02-26 | Intel Corporation | Instruction and logic for performing range detection |
US20120023308A1 (en) | 2009-02-02 | 2012-01-26 | Renesas Electronics Corporation | Parallel comparison/selection operation apparatus, processor, and parallel comparison/selection operation method |
JP5471082B2 (ja) | 2009-06-30 | 2014-04-16 | 富士通株式会社 | 演算処理装置および演算処理装置の制御方法 |
US8595471B2 (en) | 2010-01-22 | 2013-11-26 | Via Technologies, Inc. | Executing repeat load string instruction with guaranteed prefetch microcode to prefetch into cache for loading up to the last value in architectural register |
JP2011212043A (ja) | 2010-03-31 | 2011-10-27 | Fujifilm Corp | 医用画像再生装置および方法並びにプログラム |
US20110314263A1 (en) | 2010-06-22 | 2011-12-22 | International Business Machines Corporation | Instructions for performing an operation on two operands and subsequently storing an original value of operand |
US8972698B2 (en) | 2010-12-22 | 2015-03-03 | Intel Corporation | Vector conflict instructions |
US9009447B2 (en) | 2011-07-18 | 2015-04-14 | Oracle International Corporation | Acceleration of string comparisons using vector instructions |
US9588762B2 (en) | 2012-03-15 | 2017-03-07 | International Business Machines Corporation | Vector find element not equal instruction |
US9454367B2 (en) | 2012-03-15 | 2016-09-27 | International Business Machines Corporation | Finding the length of a set of character data having a termination character |
US9459867B2 (en) | 2012-03-15 | 2016-10-04 | International Business Machines Corporation | Instruction to load data up to a specified memory boundary indicated by the instruction |
US9280347B2 (en) | 2012-03-15 | 2016-03-08 | International Business Machines Corporation | Transforming non-contiguous instruction specifiers to contiguous instruction specifiers |
US9459868B2 (en) | 2012-03-15 | 2016-10-04 | International Business Machines Corporation | Instruction to load data up to a dynamically determined memory boundary |
US9454366B2 (en) | 2012-03-15 | 2016-09-27 | International Business Machines Corporation | Copying character data having a termination character from one memory location to another |
US9459864B2 (en) | 2012-03-15 | 2016-10-04 | International Business Machines Corporation | Vector string range compare |
US9268566B2 (en) | 2012-03-15 | 2016-02-23 | International Business Machines Corporation | Character data match determination by loading registers at most up to memory block boundary and comparing |
US9710266B2 (en) | 2012-03-15 | 2017-07-18 | International Business Machines Corporation | Instruction to compute the distance to a specified memory boundary |
US9715383B2 (en) | 2012-03-15 | 2017-07-25 | International Business Machines Corporation | Vector find element equal instruction |
-
2012
- 2012-03-15 US US13/421,657 patent/US9280347B2/en not_active Expired - Fee Related
- 2012-11-15 LT LTEP12871580.2T patent/LT2769301T/lt unknown
- 2012-11-15 DK DK12871580.2T patent/DK2769301T3/da active
- 2012-11-15 CA CA2867115A patent/CA2867115C/en active Active
- 2012-11-15 PL PL12871580T patent/PL2769301T3/pl unknown
- 2012-11-15 CN CN201280071425.0A patent/CN104169877B/zh active Active
- 2012-11-15 JP JP2014561527A patent/JP6108362B2/ja active Active
- 2012-11-15 SG SG11201404825SA patent/SG11201404825SA/en unknown
- 2012-11-15 MX MX2014010948A patent/MX340050B/es active IP Right Grant
- 2012-11-15 EP EP12871580.2A patent/EP2769301B1/en active Active
- 2012-11-15 SI SI201231740T patent/SI2769301T1/sl unknown
- 2012-11-15 PT PT128715802T patent/PT2769301T/pt unknown
- 2012-11-15 HU HUE12871580A patent/HUE048409T2/hu unknown
- 2012-11-15 ES ES12871580T patent/ES2779033T3/es active Active
- 2012-11-15 BR BR112014022638-5A patent/BR112014022638B1/pt active IP Right Grant
- 2012-11-15 AU AU2012373735A patent/AU2012373735B2/en active Active
- 2012-11-15 RU RU2012148583/08A patent/RU2568241C2/ru active
- 2012-11-15 WO PCT/IB2012/056436 patent/WO2013136144A1/en active Application Filing
- 2012-11-15 KR KR1020147017426A patent/KR101643065B1/ko active IP Right Grant
-
2013
- 2013-03-01 TW TW102107380A patent/TWI533207B/zh active
- 2013-03-03 US US13/783,321 patent/US9454374B2/en active Active
-
2014
- 2014-05-27 IL IL232817A patent/IL232817A/en active IP Right Grant
- 2014-09-09 ZA ZA2014/06612A patent/ZA201406612B/en unknown
-
2015
- 2015-02-18 HK HK15101821.6A patent/HK1201354A1/xx unknown
-
2020
- 2020-03-10 HR HRP20200393TT patent/HRP20200393T1/hr unknown
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6108362B2 (ja) | 不連続命令指定子の連続命令指定子への変換 | |
JP6246140B2 (ja) | データを命令が指示する指定されたメモリ境界までロードするためのコンピュータ・プログラム、コンピュータ・システムおよび方法 | |
JP6138175B2 (ja) | 指定されたメモリ境界までの距離を計算するためのコンピュータ・プログラム、コンピュータ・システムおよび方法 | |
JP6278906B2 (ja) | データを動的に判断されたメモリ境界までロードする方法、システムおよびコンピュータ・プログラム | |
JP6238241B2 (ja) | Vector string range compare | |
JP6238242B2 (ja) | Vector find element not equal命令 | |
JP6238243B2 (ja) | Vector find element equal命令 | |
JP6305351B2 (ja) | 終了文字を有する文字データ・セットの長さを見出す | |
JP6323837B2 (ja) | Vector Checksum命令を実行するためのコンピュータ・プログラム、コンピュータ・システム及び方法 | |
JP6184426B2 (ja) | 終端文字を有する文字データのメモリ位置間でのコピーのための方法、システム、およびコンピュータ・プログラム(終端文字を有する文字データのメモリ位置間でのコピー) | |
JP6128532B2 (ja) | ゾーン形式から10進浮動小数点形式への変換 | |
JP2019145164A (ja) | ベクトル例外コードを処理するコンピュータ・プログラム、コンピュータ・システム及び方法 | |
JP6410238B2 (ja) | Vectorfloatingpointtestdataclassimmediate命令を処理するためのコンピュータ・システム、コンピュータ・プログラム及び方法 | |
JP6380955B2 (ja) | Vector generate mask命令を処理するためのコンピュータ・プログラム、コンピュータ・システム及び方法 | |
JP6115920B2 (ja) | 10進浮動小数点形式からゾーン形式への変換 | |
JP2016507831A (ja) | Vectorgaloisfieldmultiplysumandaccumulate命令を処理するためのコンピュータ・システム、コンピュータ・プログラム及び方法 | |
AU2012373736B2 (en) | Instruction to compute the distance to a specified memory boundary |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20151110 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20161027 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20161115 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170127 |
|
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: 20170207 |
|
RD14 | Notification of resignation of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7434 Effective date: 20170207 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170228 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6108362 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |