JP6380955B2 - Vector generate mask命令を処理するためのコンピュータ・プログラム、コンピュータ・システム及び方法 - Google Patents
Vector generate mask命令を処理するためのコンピュータ・プログラム、コンピュータ・システム及び方法 Download PDFInfo
- Publication number
- JP6380955B2 JP6380955B2 JP2015553182A JP2015553182A JP6380955B2 JP 6380955 B2 JP6380955 B2 JP 6380955B2 JP 2015553182 A JP2015553182 A JP 2015553182A JP 2015553182 A JP2015553182 A JP 2015553182A JP 6380955 B2 JP6380955 B2 JP 6380955B2
- Authority
- JP
- Japan
- Prior art keywords
- field
- vector
- operand
- register
- 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
- 239000013598 vector Substances 0.000 title claims description 266
- 238000012545 processing Methods 0.000 title claims description 51
- 238000000034 method Methods 0.000 title claims description 44
- 238000004590 computer program Methods 0.000 title claims description 31
- 238000004891 communication Methods 0.000 claims description 9
- 230000006870 function Effects 0.000 description 34
- 238000010586 diagram Methods 0.000 description 23
- 238000013519 translation Methods 0.000 description 19
- 230000014616 translation Effects 0.000 description 19
- 238000007792 addition Methods 0.000 description 18
- 238000012360 testing method Methods 0.000 description 18
- 238000006243 chemical reaction Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 7
- 230000008901 benefit Effects 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 4
- 230000000295 complement effect Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000001186 cumulative effect Effects 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
- 230000001934 delay Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000006073 displacement reaction 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
- 230000011664 signaling Effects 0.000 description 2
- 238000012884 algebraic function Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 239000000839 emulsion Substances 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 229920000638 styrene acrylonitrile Polymers 0.000 description 1
- 210000003813 thumb Anatomy 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
- G06F15/8053—Vector processors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/3001—Arithmetic 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/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/30021—Compare instructions, e.g. Greater-Than, Equal-To, MINMAX
-
- 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/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30036—Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
- G06F9/30038—Instructions to perform operations on packed data, e.g. vector, tile or matrix operations using a mask
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3004—Arrangements for executing specific machine instructions to perform operations on memory
- G06F9/30047—Prefetch instructions; cache control 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/30098—Register arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Computer Hardware Design (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Mathematics (AREA)
- Computing Systems (AREA)
- Complex Calculations (AREA)
- Advance Control (AREA)
- Executing Machine-Instructions (AREA)
Description
1つ又は複数の態様の技術を通じて、付加的な特徴及び利点が実現される。他の実施形態及び態様は、本明細書で詳細に説明され、特許請求の範囲の一部と見なされる。
0−命令の第1のベクトル・レジスタ指定(例えば、ビット8−11内)のための最上位ビット。
1−もしあれば、命令の第2のベクトル・レジスタ指定(例えば、ビット12−15内)のための最上位ビット。
2−もしあれば、命令の第3のベクトル・レジスタ指定(例えば、ビット16−19内)のための最上位ビット。
3−もしあれば、命令の第4のベクトル・レジスタ指定(例えば、ビット32−35内)のための最上位ビット。
IEEE例外を引き起こすことなく、SNaN(シグナリングNaN)及びQNaN(クワイエットNaN)を含むオペランド要素が検査される。
0 全ての要素について、選択されたビットは1である(一致)
1 全ての要素ではないが、少なくとも1つの要素について、選択されたビットは1である(Sビットがゼロである場合)
2 −−
3 全ての要素について、選択されたビットは0である(非一致)
プログラム例外:
●ベクトル・ファシリティがイネーブルにされていないことを示す、データ例外コード(DXC)FEを伴うデータ、ベクトル命令
●演算(z/Architectureのためのベクトル・ファシリティがインストールされていない場合)
●指定
●トランザクション制限
1.この命令は、例外のリスクなしに又はIEEEフラグを設定せずにオペランド要素をテストする方法を提供する。
2.Sビットが設定された場合、1の条件コードは使用されない。
●ベクトル・ファシリティがイネーブルにされていないことを示す、データ例外コード(DXC)FEを伴うデータ、ベクトル命令
●演算(z/Architectureのためのベクトル・ファシリティがインストールされていない場合)
●トランザクション制限
1.第3のオペランドのコンテンツは、チェックサム計算アルゴリズムの開始時にゼロを含むことになる。
2.16ビット・チェックサムは、例えば、TCP/IPアプリケーションにおいて用いられる。32ビット・チェックサムを計算した後、以下のプログラムを実行することができる。
●ベクトル・ファシリティがイネーブルにされていないことを示す、データ例外コード(DXC)FEを伴うデータ、ベクトル命令
●演算(z/Architectureのためのベクトル・ファシリティがインストールされていない場合)
●指定
●トランザクション制限
●ベクトル・ファシリティがイネーブルにされていないことを示す、データ例外コード(DXC)FEを伴うデータ、ベクトル命令
●演算(z/Architectureのためのベクトル・ファシリティがインストールされていない場合)
●指定
●トランザクション制限
●ベクトル・ファシリティがイネーブルにされていないことを示す、データ例外コード(DXC)FEを伴うデータ、ベクトル命令
●演算(z/Architectureのためのベクトル・ファシリティがインストールされていない場合)
●指定
●トランザクション制限
1.VERIMとVGMとの組み合わせを用いて、Rotate and Insert Selected Bits命令の完全な機能を達成することができる。
2.I4フィールドのビットは、各要素を左にローテートするためのビット数を指定する符号なし2進整数を含むように定義されるが、右へのローテート量を効果的に指定する負の数をコード化してもよい。
0001 IEEE無効操作
0010 IEEEゼロ除算
0011 IEEEオーバーフロー
0100 IEEEアンダーフロー
0101 IEEE不正確
102、5026:プロセッサ
104、204、5025:メモリ
106、206:入力/出力デバイス及び/又はインターフェース
108、208:バス
202:ネイティブ中央演算処理ユニット(CPU)
210:ネイティブ・レジスタ
212:エミュレータ・コード
250:ゲスト命令
252:命令フェッチ・ユニット
254:命令変換ルーチン
256:ネイティブ命令
260:エミュレーション制御ルーチン
300:レジスタ・ファイル
302、480:ベクトル・レジスタ
304:浮動小数点レジスタ
400:Vector Floating Point Test Data Class Immediate命令
500:Vector Checksum命令
600:Vector Galois Field Multiply Sum and
700:Vector Generate Mask命令
800:Vector Element Rotate and Insert Under Mask命令
900:ベクトル例外コード
902:ベクトル・インデックス
904:ベクトル割り込みコード
1000:コンピュータ・プログラム製品
Claims (20)
- 中央演算処理ユニットにおいてマシン命令を実行するためのコンピュータ・プログラムであって、前記コンピュータ・プログラムは、方法を実施するための命令を含み、前記方法は、
プロセッサにより、実行のためのマシン命令を取得することであって、前記マシン命令は、コンピュータ・アーキテクチャに従ったコンピュータ実行のために定められ、
Vector Generate Mask操作を識別するオペコードを与えるための少なくとも1つのオペコード・フィールドと、
複数の要素を有するベクトルを含む第1のオペランドを含む第1のレジスタを指定するのに用いられる第1のレジスタ・フィールドと、
開始位置を指定するための第1のフィールドと、
終了位置を指定するための第2のフィールドと、
を含む、取得することと、
前記マシン命令を実行することと、
を含み、
前記実行することは、
前記第1のオペランドの前記複数の要素についての複数のマスクを生成することを含み、前記生成することは、前記複数のマスクのそれぞれのマスクについて、前記マスク内の前記開始位置で始まり前記終了位置で終了する1つ又は複数の位置を所定の値に設定することを含む、
コンピュータ・プログラム。 - 前記1つ又は複数の位置は1つ又は複数のビットを含み、前記開始位置は、前記マスク内の第1の選択されたビットを指定し、前記終了位置は、前記マスク内の第2の選択されたビットを指定する、請求項1に記載のコンピュータ・プログラム。
- 前記第1のフィールドは、前記開始位置を指定する第1の符号なし整数値を含み、前記第2のフィールドは、前記終了位置を指定する第2の符号なし整数値を含む、請求項2に記載のコンピュータ・プログラム。
- 前記生成することは、前記マスク内の他の位置をゼロに設定することを含む、請求項1に記載のコンピュータ・プログラム。
- 前記実行することは、
前記開始位置が前記終了位置より大きいかどうかを判断することと、
前記開始位置が前記終了位置より大きいことに基づいて、位置の範囲は、前記第1のオペランドの前記複数の要素1つあたりのサイズの最大位置でラップすることと、
をさらに含む、請求項1に記載のコンピュータ・プログラム。 - 前記マシン命令は、前記第1のオペランドの前記複数の要素1つあたりのサイズを指定するためのフィールドをさらに含む、請求項1に記載のコンピュータ・プログラム。
- 前記マシン命令は、1つ又は複数のレジスタを指定するのに用いられる拡張フィールドをさらに含み、前記第1のレジスタ・フィールドと前記拡張フィールドの第1の部分とが組み合わされて前記第1のレジスタが指定される、請求項1に記載のコンピュータ・プログラム。
- 中央演算処理ユニットにおいてマシン命令を実行するためのコンピュータ・システムであって、前記コンピュータ・システムは、
メモリと、
前記メモリと通信を行うプロセッサと、
を含み、方法を実施するように構成され、
前記方法は、
前記プロセッサにより、実行のためのマシン命令を取得することであって、前記マシン命令は、コンピュータ・アーキテクチャに従ったコンピュータ実行のために定められ、
Vector Generate Mask操作を識別するオペコードを与えるための少なくとも1つのオペコード・フィールドと、
複数の要素を有するベクトルを含む第1のオペランドを含む第1のレジスタを指定するのに用いられる第1のレジスタ・フィールドと、
開始位置を指定するための第1のフィールドと、
終了位置を指定するための第2のフィールドと、
を含む、取得することと、
前記マシン命令を実行することと、
を含み、
前記実行することは、
前記第1のオペランドの前記複数の要素についての複数のマスクを生成することを含み、前記生成することは、前記複数のマスクのそれぞれのマスクについて、前記マスク内の前記開始位置で始まり前記終了位置で終了する1つ又は複数の位置を所定の値に設定することを含む、
コンピュータ・システム。 - 前記1つ又は複数の位置は1つ又は複数のビットを含み、前記開始位置は、前記マスク内の第1の選択されたビットを指定し、前記終了位置は、前記マスク内の第2の選択されたビットを指定する、請求項8に記載のコンピュータ・システム。
- 前記第1のフィールドは、前記開始位置を指定する第1の符号なし整数値を含み、前記第2のフィールドは、前記終了位置を指定する第2の符号なし整数値を含む、請求項9に記載のコンピュータ・システム。
- 前記生成することは、前記マスク内の他の位置をゼロに設定することを含む、請求項8に記載のコンピュータ・システム。
- 前記実行することは、
前記開始位置が前記終了位置より大きいかどうかを判断することと、
前記開始位置が前記終了位置より大きいことに基づいて、位置の範囲は、前記第1のオペランドの前記複数の要素1つあたりのサイズの最大位置でラップすることと、
をさらに含む、請求項8に記載のコンピュータ・システム。 - 前記マシン命令は、前記第1のオペランドの前記複数の要素1つあたりのサイズを指定するためのフィールドをさらに含む、請求項8に記載のコンピュータ・システム。
- 前記マシン命令は、1つ又は複数のレジスタを指定するのに用いられる拡張フィールドをさらに含み、前記第1のレジスタ・フィールドと前記拡張フィールドの第1の部分とが組み合わされて前記第1のレジスタが指定される、請求項8に記載のコンピュータ・システム。
- マシン命令を実行する方法であって、前記方法は、
プロセッサにより、実行のためのマシン命令を取得することであって、前記マシン命令は、コンピュータ・アーキテクチャに従ったコンピュータ実行のために定められ、
Vector Generate Mask操作を識別するオペコードを与えるための少なくとも1つのオペコード・フィールドと、
複数の要素を有するベクトルを含む第1のオペランドを含む第1のレジスタを指定するのに用いられる第1のレジスタ・フィールドと、
開始位置を指定するための第1のフィールドと、
終了位置を指定するための第2のフィールドと、
を含む、取得することと、
前記マシン命令を実行することと、
を含み、
前記実行することは、
前記第1のオペランドの前記複数の要素についての複数のマスクを生成することを含み、前記生成することは、前記複数のマスクのそれぞれのマスクについて、前記マスク内の前記開始位置で始まり前記終了位置で終了する1つ又は複数の位置を所定の値に設定することを含む、
方法。 - 前記1つ又は複数の位置は1つ又は複数のビットを含み、前記開始位置は、前記マスク内の第1の選択されたビットを指定し、前記終了位置は、前記マスク内の第2の選択されたビットを指定する、請求項15に記載の方法。
- 前記第1のフィールドは、前記開始位置を指定する第1の符号なし整数値を含み、前記第2のフィールドは、前記終了位置を指定する第2の符号なし整数値を含む、請求項16に記載の方法。
- 前記生成することは、前記マスク内の他の位置をゼロに設定することを含む、請求項15に記載の方法。
- 前記実行することは、
前記開始位置が前記終了位置より大きいかどうかを判断することと、
前記開始位置が前記終了位置より大きいことに基づいて、位置の範囲は、前記第1のオペランドの前記複数の要素1つあたりのサイズの最大位置でラップすることと、
をさらに含む、請求項15に記載の方法。 - 前記マシン命令は、前記第1のオペランドの前記複数の要素1つあたりのサイズを指定するためのフィールドと、1つ又は複数のレジスタを指定するのに用いられる拡張フィールドとをさらに含み、前記第1のレジスタ・フィールドと前記拡張フィールドの第1の部分とが組み合わされて前記第1のレジスタが指定される、請求項15に記載の方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/748,538 US9778932B2 (en) | 2013-01-23 | 2013-01-23 | Vector generate mask instruction |
US13/748,538 | 2013-01-23 | ||
PCT/IB2013/060815 WO2014115005A2 (en) | 2013-01-23 | 2013-12-11 | Vector generate mask instruction |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016509717A JP2016509717A (ja) | 2016-03-31 |
JP6380955B2 true JP6380955B2 (ja) | 2018-08-29 |
Family
ID=51208688
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015553182A Active JP6380955B2 (ja) | 2013-01-23 | 2013-12-11 | Vector generate mask命令を処理するためのコンピュータ・プログラム、コンピュータ・システム及び方法 |
Country Status (6)
Country | Link |
---|---|
US (2) | US9778932B2 (ja) |
JP (1) | JP6380955B2 (ja) |
CN (1) | CN104937538B (ja) |
DE (1) | DE112013005466T5 (ja) |
GB (1) | GB2524440B (ja) |
WO (1) | WO2014115005A2 (ja) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104011644B (zh) | 2011-12-22 | 2017-12-08 | 英特尔公司 | 用于产生按照数值顺序的相差恒定跨度的整数的序列的处理器、方法、系统和指令 |
US10223112B2 (en) | 2011-12-22 | 2019-03-05 | Intel Corporation | Processors, methods, systems, and instructions to generate sequences of integers in which integers in consecutive positions differ by a constant integer stride and where a smallest integer is offset from zero by an integer offset |
US9715385B2 (en) | 2013-01-23 | 2017-07-25 | International Business Machines Corporation | Vector exception code |
US9778932B2 (en) | 2013-01-23 | 2017-10-03 | International Business Machines Corporation | Vector generate mask instruction |
US9823924B2 (en) | 2013-01-23 | 2017-11-21 | International Business Machines Corporation | Vector element rotate and insert under mask instruction |
US9804840B2 (en) | 2013-01-23 | 2017-10-31 | International Business Machines Corporation | Vector Galois Field Multiply Sum and Accumulate instruction |
US9471308B2 (en) | 2013-01-23 | 2016-10-18 | International Business Machines Corporation | Vector floating point test data class immediate instruction |
US9513906B2 (en) | 2013-01-23 | 2016-12-06 | International Business Machines Corporation | Vector checksum instruction |
US9547489B2 (en) * | 2014-03-31 | 2017-01-17 | Qualcomm Incorporated | System and method for modifying a sequence of instructions in a read-only memory of a computing device |
US11544214B2 (en) | 2015-02-02 | 2023-01-03 | Optimum Semiconductor Technologies, Inc. | Monolithic vector processor configured to operate on variable length vectors using a vector length register |
US11149195B2 (en) * | 2016-11-17 | 2021-10-19 | Current Lighting Solutions, Llc | Coated red line emitting phosphors |
US20200264879A1 (en) * | 2019-02-20 | 2020-08-20 | Nanjing Iluvatar CoreX Technology Co., Ltd. (DBA "Iluvatar CoreX Inc. Nanjing") | Enhanced scalar vector dual pipeline architecture with cross execution |
FR3101982B1 (fr) * | 2019-10-11 | 2024-03-08 | St Microelectronics Grenoble 2 | Détermination d'un bit indicateur |
US11994993B2 (en) * | 2022-03-15 | 2024-05-28 | Nxp B.V. | Adaptive prefetcher for shared system cache |
Family Cites Families (141)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4569016A (en) | 1983-06-30 | 1986-02-04 | International Business Machines Corporation | Mechanism for implementing one machine cycle executable mask and rotate instructions in a primitive instruction set computing system |
JPS60103482A (ja) | 1983-10-24 | 1985-06-07 | インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション | ベクトル処理能力を有するデ−タ処理装置 |
JPS60136872A (ja) | 1983-12-26 | 1985-07-20 | Hitachi Ltd | ベクトル処理装置 |
JPS6266377A (ja) * | 1985-09-19 | 1987-03-25 | Fujitsu Ltd | マスクパタ−ン生成方式 |
JPH0731669B2 (ja) | 1986-04-04 | 1995-04-10 | 株式会社日立製作所 | ベクトル・プロセツサ |
US5113521A (en) | 1988-03-18 | 1992-05-12 | Digital Equipment Corporation | Method and apparatus for handling faults of vector instructions causing memory management exceptions |
US5043867A (en) | 1988-03-18 | 1991-08-27 | Digital Equipment Corporation | Exception reporting mechanism for a vector processor |
US5974522A (en) | 1990-01-24 | 1999-10-26 | Cornell Research Foundation, Inc. | Machine for processing interrupted out-of-order instructions |
US5053986A (en) | 1990-02-21 | 1991-10-01 | Stardent Computer, Inc. | Circuit for preservation of sign information in operations for comparison of the absolute value of operands |
US5247524A (en) | 1990-06-29 | 1993-09-21 | Digital Equipment Corporation | Method for generating a checksum |
SG45269A1 (en) * | 1992-02-06 | 1998-01-16 | Intel Corp | End bit markers for instruction decode |
US5388233A (en) * | 1993-04-30 | 1995-02-07 | Intel Corporation | Method and apparatus for counting instruction types using bit masks and a programmable bit map |
WO1994027215A1 (en) | 1993-05-07 | 1994-11-24 | Apple Computer, Inc. | Method for decoding guest instructions for a host computer |
US5487159A (en) | 1993-12-23 | 1996-01-23 | Unisys Corporation | System for processing shift, mask, and merge operations in one instruction |
US5673407A (en) | 1994-03-08 | 1997-09-30 | Texas Instruments Incorporated | Data processor having capability to perform both floating point operations and memory access in response to a single instruction |
US5551013A (en) | 1994-06-03 | 1996-08-27 | International Business Machines Corporation | Multiprocessor for hardware emulation |
JP3672634B2 (ja) | 1994-09-09 | 2005-07-20 | 株式会社ルネサステクノロジ | データ処理装置 |
US5680338A (en) * | 1995-01-04 | 1997-10-21 | International Business Machines Corporation | Method and system for vector processing utilizing selected vector elements |
US5825678A (en) | 1995-03-31 | 1998-10-20 | International Business Machines Corporation | Method and apparatus for determining floating point data class |
US5663952A (en) | 1995-07-07 | 1997-09-02 | Sun Microsystems, Inc. | Checksum generation circuit and method |
US7301541B2 (en) | 1995-08-16 | 2007-11-27 | Microunity Systems Engineering, Inc. | Programmable processor and method with wide operations |
US5701316A (en) | 1995-08-31 | 1997-12-23 | Unisys Corporation | Method for generating an internet protocol suite checksum in a single macro instruction |
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 |
JP2904099B2 (ja) * | 1996-02-19 | 1999-06-14 | 日本電気株式会社 | コンパイル装置およびコンパイル方法 |
US5768168A (en) | 1996-05-30 | 1998-06-16 | Lg Semicon Co., Ltd. | Universal galois field multiplier |
GB9627069D0 (en) | 1996-12-30 | 1997-02-19 | Certicom Corp | A method and apparatus for finite field multiplication |
US5884071A (en) | 1997-03-31 | 1999-03-16 | Intel Corporation | Method and apparatus for decoding enhancement instructions using alias encodings |
US5960012A (en) | 1997-06-23 | 1999-09-28 | Sun Microsystems, Inc. | Checksum determination using parallel computations on multiple packed data elements |
US5953240A (en) | 1997-06-23 | 1999-09-14 | Sun Microsystems, Inc. | SIMD TCP/UDP checksumming in a CPU |
US6088782A (en) | 1997-07-10 | 2000-07-11 | Motorola Inc. | Method and apparatus for moving data in a parallel processor using source and destination vector registers |
US6047304A (en) | 1997-07-29 | 2000-04-04 | Nortel Networks Corporation | Method and apparatus for performing lane arithmetic to perform network processing |
US5864703A (en) | 1997-10-09 | 1999-01-26 | Mips Technologies, Inc. | Method for providing extended precision in SIMD vector arithmetic operations |
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 |
US6223320B1 (en) | 1998-02-10 | 2001-04-24 | International Business Machines Corporation | Efficient CRC generation utilizing parallel table lookup operations |
US6105129A (en) | 1998-02-18 | 2000-08-15 | Advanced Micro Devices, Inc. | Converting register data from a first format type to a second format type if a second type instruction consumes data produced by a first type instruction |
US6173393B1 (en) * | 1998-03-31 | 2001-01-09 | Intel Corporation | System for writing select non-contiguous bytes of data with single instruction having operand identifying byte mask corresponding to respective blocks of packed data |
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 |
US6038652A (en) | 1998-09-30 | 2000-03-14 | Intel Corporation | Exception reporting on function generation in an SIMD processor |
US6760837B1 (en) | 1998-10-06 | 2004-07-06 | Texas Instruments Incorporated | Bit field processor |
US20020147969A1 (en) | 1998-10-21 | 2002-10-10 | Richard A. Lethin | Dynamic optimizing object code translator for architecture emulation and dynamic optimizing object code translation method |
US6324670B1 (en) | 1999-03-24 | 2001-11-27 | Novell, Inc. | Checksum generator with minimum overflow |
FR2796736B1 (fr) | 1999-07-20 | 2001-11-30 | St Microelectronics Sa | Procede pour effectuer une multiplication avec accumulation dans un corps de galois |
US6675292B2 (en) | 1999-08-13 | 2004-01-06 | Sun Microsystems, Inc. | Exception handling for SIMD floating point-instructions using a floating point status register to report exceptions |
US6711602B1 (en) | 2000-02-18 | 2004-03-23 | Texas Instruments Incorporated | Data processor with flexible multiply unit |
US6760742B1 (en) | 2000-02-18 | 2004-07-06 | Texas Instruments Incorporated | Multi-dimensional galois field multiplier |
US6701424B1 (en) * | 2000-04-07 | 2004-03-02 | Nintendo Co., Ltd. | Method and apparatus for efficient loading and storing of vectors |
US7847803B1 (en) | 2000-07-26 | 2010-12-07 | Ati Technologies Ulc | Method and apparatus for interleaved graphics processing |
US6877084B1 (en) * | 2000-08-09 | 2005-04-05 | Advanced Micro Devices, Inc. | Central processing unit (CPU) accessing an extended register set in an extended register mode |
US6748522B1 (en) | 2000-10-31 | 2004-06-08 | International Business Machines Corporation | Performance monitoring based on instruction sampling in a microprocessor |
US6643821B2 (en) | 2000-11-30 | 2003-11-04 | Stmicroelectronics, Inc. | Method and device for computing incremental checksums |
US6848074B2 (en) | 2001-06-21 | 2005-01-25 | Arc International | Method and apparatus for implementing a single cycle operation in a data processing system |
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 |
US20030037085A1 (en) * | 2001-08-20 | 2003-02-20 | Sandbote Sam B. | Field processing unit |
US20040054877A1 (en) * | 2001-10-29 | 2004-03-18 | Macy William W. | Method and apparatus for shuffling data |
US7013321B2 (en) | 2001-11-21 | 2006-03-14 | Sun Microsystems, Inc. | Methods and apparatus for performing parallel integer multiply accumulate operations |
US7082452B2 (en) | 2001-11-30 | 2006-07-25 | Analog Devices, Inc. | Galois field multiply/multiply-add/multiply accumulate |
US7313583B2 (en) | 2002-10-22 | 2007-12-25 | Broadcom Corporation | Galois field arithmetic unit for use within a processor |
US20090199075A1 (en) | 2002-11-25 | 2009-08-06 | Victor Demjanenko | Array form reed-solomon implementation as an instruction set extension |
JP3818263B2 (ja) | 2003-01-28 | 2006-09-06 | 日本電気株式会社 | Aes暗号処理装置、aes復号処理装置、aes暗号・復号処理装置、aes暗号処理方法、aes復号処理方法、および、aes暗号・復号処理方法 |
US7139900B2 (en) | 2003-06-23 | 2006-11-21 | Intel Corporation | Data packet arithmetic logic devices and methods |
US7275148B2 (en) * | 2003-09-08 | 2007-09-25 | Freescale Semiconductor, Inc. | Data processing system using multiple addressing modes for SIMD operations and method thereof |
US7096399B2 (en) | 2003-09-11 | 2006-08-22 | Intel Corporation | Monitoring packet content |
US7383483B2 (en) | 2003-12-11 | 2008-06-03 | International Business Machines Corporation | Data transfer error checking |
US7493481B1 (en) * | 2004-05-17 | 2009-02-17 | Netxen, Inc. | Direct hardware processing of internal data structure fields |
US7363574B1 (en) | 2004-10-12 | 2008-04-22 | Nortel Networks Limited | Method and system for parallel CRC calculation |
US20060106910A1 (en) | 2004-11-16 | 2006-05-18 | Analog Devices, Inc. | Galois field polynomial multiplication |
US7512647B2 (en) | 2004-11-22 | 2009-03-31 | Analog Devices, Inc. | Condensed Galois field computing system |
WO2006121444A1 (en) | 2005-05-10 | 2006-11-16 | Telairity Semiconductor, Inc. | Vector processor with special purpose registers and high speed memory access |
FR2885711B1 (fr) | 2005-05-12 | 2007-07-06 | Atmel Corp | Procede et materiel modulaire et aleatoire pour la reduction polynomiale |
US7400271B2 (en) | 2005-06-21 | 2008-07-15 | International Characters, Inc. | Method and apparatus for processing character streams |
US7333917B2 (en) | 2005-08-11 | 2008-02-19 | The University Of North Carolina At Chapel Hill | Novelty detection systems, methods and computer program products for real-time diagnostics/prognostics in complex physical systems |
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 |
US7480787B1 (en) | 2006-01-27 | 2009-01-20 | Sun Microsystems, Inc. | Method and structure for pipelining of SIMD conditional moves |
US7925957B2 (en) | 2006-03-20 | 2011-04-12 | Intel Corporation | Validating data using processor instructions |
US20080021943A1 (en) | 2006-07-20 | 2008-01-24 | Advanced Micro Devices, Inc. | Equality comparator using propagates and generates |
US7600104B2 (en) | 2006-08-15 | 2009-10-06 | Peter Neumann | Method and system for parallel vector data processing of vector data having a number of data elements including a defined first bit-length |
US8062303B2 (en) | 2006-08-16 | 2011-11-22 | K2M, Inc. | Apparatus and methods for inserting an implant |
JP4374363B2 (ja) | 2006-09-26 | 2009-12-02 | Okiセミコンダクタ株式会社 | ビットフィールド操作回路 |
US7624251B2 (en) | 2006-11-01 | 2009-11-24 | Apple Inc. | Instructions for efficiently accessing unaligned partial vectors |
US8346839B2 (en) | 2007-03-30 | 2013-01-01 | Intel Corporation | Efficient advanced encryption standard (AES) datapath using hybrid rijndael S-box |
US8560591B2 (en) | 2007-04-25 | 2013-10-15 | International Business Machines Corporation | Detection of potential need to use a larger data format in performing floating point operations |
US8055886B2 (en) | 2007-07-12 | 2011-11-08 | Texas Instruments Incorporated | Processor micro-architecture for compute, save or restore multiple registers and responsive to first instruction for repeated issue of second instruction |
US9529592B2 (en) * | 2007-12-27 | 2016-12-27 | Intel Corporation | Vector mask memory access instructions to perform individual and sequential memory access operations if an exception occurs during a full width memory access operation |
US8112691B1 (en) | 2008-03-25 | 2012-02-07 | Oracle America, Inc. | Method for efficient generation of a Fletcher checksum using a single SIMD pipeline |
US8255443B2 (en) | 2008-06-03 | 2012-08-28 | International Business Machines Corporation | Execution unit with inline pseudorandom number generator |
US8051226B2 (en) * | 2008-06-13 | 2011-11-01 | Freescale Semiconductor, Inc. | Circular buffer support in a single instruction multiple data (SIMD) data processor |
US8340280B2 (en) | 2008-06-13 | 2012-12-25 | Intel Corporation | Using a single instruction multiple data (SIMD) instruction to speed up galois counter mode (GCM) computations |
JP5268469B2 (ja) | 2008-07-23 | 2013-08-21 | 株式会社東芝 | 高可用システム及び実行状態制御方法 |
US8793472B2 (en) * | 2008-08-15 | 2014-07-29 | Apple Inc. | Vector index instruction for generating a result vector with incremental values based on a start value and an increment value |
US8175265B2 (en) | 2008-09-02 | 2012-05-08 | Apple Inc. | Systems and methods for implementing block cipher algorithms on attacker-controlled systems |
GB2464292A (en) | 2008-10-08 | 2010-04-14 | Advanced Risc Mach Ltd | SIMD processor circuit for performing iterative SIMD multiply-accumulate operations |
CN101430881B (zh) | 2008-11-10 | 2013-04-17 | 华为技术有限公司 | 一种编码、解码、编解码方法、编解码系统以及相关装置 |
US8280040B2 (en) | 2009-02-04 | 2012-10-02 | Globalfoundries Inc. | Processor instructions for improved AES encryption and decryption |
CN101901127B (zh) | 2009-05-31 | 2012-07-25 | 国际商业机器公司 | 一种迦罗华域乘法器 |
GB2470782B (en) | 2009-06-05 | 2014-10-22 | Advanced Risc Mach Ltd | A data processing apparatus and method for handling vector instructions |
US8918623B2 (en) | 2009-08-04 | 2014-12-23 | International Business Machines Corporation | Implementing instruction set architectures with non-contiguous register file specifiers |
US20110047358A1 (en) | 2009-08-19 | 2011-02-24 | International Business Machines Corporation | In-Data Path Tracking of Floating Point Exceptions and Store-Based Exception Indication |
US9003170B2 (en) * | 2009-12-22 | 2015-04-07 | Intel Corporation | Bit range isolation instructions, methods, and apparatus |
CN102122241A (zh) | 2010-01-08 | 2011-07-13 | 复旦大学 | 一种适用于素域和多项式域的模乘模除器 |
US8850166B2 (en) | 2010-02-18 | 2014-09-30 | International Business Machines Corporation | Load pair disjoint facility and instruction therefore |
US8417961B2 (en) | 2010-03-16 | 2013-04-09 | Oracle International Corporation | Apparatus and method for implementing instruction support for performing a cyclic redundancy check (CRC) |
US8645669B2 (en) | 2010-05-05 | 2014-02-04 | International Business Machines Corporation | Cracking destructively overlapping operands in variable length instructions |
US8539472B2 (en) | 2010-06-09 | 2013-09-17 | Lear Corporation | Method and system of updating shared memory |
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 |
US8903882B2 (en) | 2010-12-13 | 2014-12-02 | International Business Machines Corporation | Method and data processing unit for calculating at least one multiply-sum of two carry-less multiplications of two input operands, data processing program and computer program product |
PL3422178T3 (pl) | 2011-04-01 | 2023-06-26 | Intel Corporation | Przyjazny dla wektorów format instrukcji i jego wykonanie |
WO2013048369A1 (en) | 2011-09-26 | 2013-04-04 | Intel Corporation | Instruction and logic to provide vector load-op/store-op with stride functionality |
CN103959236B (zh) | 2011-11-30 | 2016-12-07 | 英特尔公司 | 用于提供向量横向多数表决功能的处理器、设备和处理系统 |
US9665371B2 (en) | 2011-11-30 | 2017-05-30 | Intel Corporation | Providing vector horizontal compare functionality within a vector register |
US10157061B2 (en) | 2011-12-22 | 2018-12-18 | Intel Corporation | Instructions for storing in general purpose registers one of two scalar constants based on the contents of vector write masks |
CN107220027A (zh) | 2011-12-23 | 2017-09-29 | 英特尔公司 | 用于执行掩码位压缩的系统、装置以及方法 |
CN104011662B (zh) | 2011-12-23 | 2017-05-10 | 英特尔公司 | 用于提供向量混合和置换功能的指令和逻辑 |
US20140201499A1 (en) | 2011-12-23 | 2014-07-17 | Elmoustapha Ould-Ahmed-Vall | Systems, apparatuses, and methods for performing conversion of a list of index values into a mask value |
WO2013095609A1 (en) | 2011-12-23 | 2013-06-27 | Intel Corporation | Systems, apparatuses, and methods for performing conversion of a mask register into a vector register |
US9575757B2 (en) | 2011-12-30 | 2017-02-21 | Intel Corporation | Efficient zero-based decompression |
US9715383B2 (en) | 2012-03-15 | 2017-07-25 | International Business Machines Corporation | Vector find element equal instruction |
US9588762B2 (en) | 2012-03-15 | 2017-03-07 | International Business Machines Corporation | Vector find element not equal instruction |
US9459864B2 (en) | 2012-03-15 | 2016-10-04 | International Business Machines Corporation | Vector string range compare |
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 |
US9459868B2 (en) | 2012-03-15 | 2016-10-04 | International Business Machines Corporation | Instruction to load data up to a dynamically determined memory boundary |
US9710266B2 (en) | 2012-03-15 | 2017-07-18 | International Business Machines Corporation | Instruction to compute the distance to a specified memory boundary |
CN102819710B (zh) | 2012-08-22 | 2014-11-12 | 西北工业大学 | 基于渗透测试的跨站点脚本漏洞检测方法 |
US9606961B2 (en) | 2012-10-30 | 2017-03-28 | Intel Corporation | Instruction and logic to provide vector compress and rotate functionality |
US9256427B2 (en) | 2012-12-11 | 2016-02-09 | International Business Machines Corporation | Tracking multiple conditions in a general purpose register and instruction therefor |
US9411589B2 (en) | 2012-12-11 | 2016-08-09 | International Business Machines Corporation | Branch-free condition evaluation |
US9152419B2 (en) | 2012-12-18 | 2015-10-06 | Intel Corporation | Instruction set for supporting wide scalar pattern matches |
US9411592B2 (en) | 2012-12-29 | 2016-08-09 | Intel Corporation | Vector address conflict resolution with vector population count functionality |
US9411584B2 (en) | 2012-12-29 | 2016-08-09 | Intel Corporation | Methods, apparatus, instructions, and logic to provide vector address conflict detection functionality |
US9372692B2 (en) | 2012-12-29 | 2016-06-21 | Intel Corporation | Methods, apparatus, instructions, and logic to provide permute controls with leading zero count functionality |
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 |
US9715385B2 (en) | 2013-01-23 | 2017-07-25 | International Business Machines Corporation | Vector exception code |
US9804840B2 (en) | 2013-01-23 | 2017-10-31 | International Business Machines Corporation | Vector Galois Field Multiply Sum and Accumulate instruction |
US9778932B2 (en) | 2013-01-23 | 2017-10-03 | International Business Machines Corporation | Vector generate mask instruction |
US9823924B2 (en) | 2013-01-23 | 2017-11-21 | International Business Machines Corporation | Vector element rotate and insert under mask instruction |
US9886277B2 (en) | 2013-03-15 | 2018-02-06 | Intel Corporation | Methods and apparatus for fusing instructions to provide OR-test and AND-test functionality on multiple test sources |
US9495155B2 (en) | 2013-08-06 | 2016-11-15 | Intel Corporation | Methods, apparatus, instructions and logic to provide population count functionality for genome sequencing and alignment |
US9513907B2 (en) | 2013-08-06 | 2016-12-06 | Intel Corporation | Methods, apparatus, instructions and logic to provide vector population count functionality |
US9552205B2 (en) | 2013-09-27 | 2017-01-24 | Intel Corporation | Vector indexed memory access plus arithmetic and/or logical operation processors, methods, systems, and instructions |
US9436434B2 (en) | 2014-03-14 | 2016-09-06 | International Business Machines Corporation | Checksum adder |
-
2013
- 2013-01-23 US US13/748,538 patent/US9778932B2/en active Active
- 2013-12-11 JP JP2015553182A patent/JP6380955B2/ja active Active
- 2013-12-11 GB GB1513183.2A patent/GB2524440B/en active Active
- 2013-12-11 CN CN201380071241.9A patent/CN104937538B/zh active Active
- 2013-12-11 WO PCT/IB2013/060815 patent/WO2014115005A2/en active Application Filing
- 2013-12-11 DE DE112013005466.3T patent/DE112013005466T5/de not_active Ceased
-
2014
- 2014-12-05 US US14/561,815 patent/US9740482B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
WO2014115005A2 (en) | 2014-07-31 |
US9778932B2 (en) | 2017-10-03 |
US9740482B2 (en) | 2017-08-22 |
WO2014115005A3 (en) | 2014-12-24 |
DE112013005466T5 (de) | 2015-08-13 |
JP2016509717A (ja) | 2016-03-31 |
GB201513183D0 (en) | 2015-09-09 |
US20140208066A1 (en) | 2014-07-24 |
US20150143075A1 (en) | 2015-05-21 |
GB2524440B (en) | 2016-04-20 |
GB2524440A (en) | 2015-09-23 |
CN104937538A (zh) | 2015-09-23 |
CN104937538B (zh) | 2018-09-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6323837B2 (ja) | Vector Checksum命令を実行するためのコンピュータ・プログラム、コンピュータ・システム及び方法 | |
JP6338066B2 (ja) | Vector galois field multiply sum and accumulate命令を処理するためのコンピュータ・システム、コンピュータ・プログラム及び方法 | |
JP2019145164A (ja) | ベクトル例外コードを処理するコンピュータ・プログラム、コンピュータ・システム及び方法 | |
JP6410238B2 (ja) | Vectorfloatingpointtestdataclassimmediate命令を処理するためのコンピュータ・システム、コンピュータ・プログラム及び方法 | |
JP6380955B2 (ja) | Vector generate mask命令を処理するためのコンピュータ・プログラム、コンピュータ・システム及び方法 | |
JP6399522B2 (ja) | Vector element rotate and insert under mask命令を処理するためのコンピュータ・プログラム、コンピュータ・システム及び方法 | |
JP6246140B2 (ja) | データを命令が指示する指定されたメモリ境界までロードするためのコンピュータ・プログラム、コンピュータ・システムおよび方法 | |
JP6278906B2 (ja) | データを動的に判断されたメモリ境界までロードする方法、システムおよびコンピュータ・プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20161129 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20171011 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20171024 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180124 |
|
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: 20180703 |
|
RD14 | Notification of resignation of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7434 Effective date: 20180703 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180724 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6380955 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |