JP5671474B2 - 演算データ構造 - Google Patents
演算データ構造 Download PDFInfo
- Publication number
- JP5671474B2 JP5671474B2 JP2011539978A JP2011539978A JP5671474B2 JP 5671474 B2 JP5671474 B2 JP 5671474B2 JP 2011539978 A JP2011539978 A JP 2011539978A JP 2011539978 A JP2011539978 A JP 2011539978A JP 5671474 B2 JP5671474 B2 JP 5671474B2
- Authority
- JP
- Japan
- Prior art keywords
- operand
- code
- data structure
- operands
- address
- 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
Images
Classifications
-
- 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/41—Compilation
- G06F8/44—Encoding
- G06F8/443—Optimisation
- G06F8/4441—Reducing the execution time required by the program code
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Executing Machine-Instructions (AREA)
- Devices For Executing Special Programs (AREA)
Description
計算(HPC)システムは、数百TFLOPS(毎秒1兆回の浮動小数点演算)のピーク性能を誇っている。
ここで本発明の実施形態が、添付図面を参照して単なる一例として説明される。
【図1】本発明の実施形態による、データ処理システムの高レベル・ブロック図である。
【図2】図1からの処理ユニットの高レベル・ブロック図である
【図3】図2からのプロセッサ・コアのより詳細なブロック図である。
【図4】図3の浮動小数点ユニット(FPU)による浮動小数点命令の実行に伴うステップを示す例示的なプロセスの高レベル・ブロック図である
【図5】図3のブロック計算エンジン(BCE)の例示的な実施形態のより詳細なブロック図である
【図6】図5のオペランド・データ構造の例示的な実施形態を示す。
【図7】図5の演算データ構造の例示的な実施形態を示す。
【図8】コード・ブロック処理をサポートする関連したオペランド・データ構造及び演算データ構造と共に、ソース・コードのような処理前コードからの、オブジェクト・コードのような処理後コードの生成を示すプロセス・フロー図である。
【図9】本発明の実施形態による、ブロック駆動型計算の例示的な方法の高レベル論理フローチャートである。
【発明を実施するための形態】
(1)米国特許出願第12/336,315号(整理番号第AUS920070385US1号)
(2)米国特許出願第12/336,342号(整理番号第AUS920080285US1号)
(3)米国特許出願第12/336,350号(整理番号第AUS920080286US1号)、及び
(4)米国特許出願第12/336,301号(整理番号第AUS920080287US1号)
102、102a、102b:処理ノード
104、104a−104d:処理ユニット
108、108a−108d:システム・メモリ
110:システム相互接続部
114:ローカル相互接続部
200、200a、200b:プロッセサ・コア
206:メモリ・コントローラ(IMC)
210:応答論理
212:転送論理
214:統合I/O(入力/出力)コントローラ
216:I/O装置
230:L2キャッシュ
232:マスター
234:L2アレイ及びディレクトリ
236:スヌーパ
302:L1命令キャッシュ
304:データ・キャッシュ
306:命令順序付けユニット(ISU)
308:命令メモリ管理ユニット(IMMU)
320:条件レジスタ・ユニット(CRU)
322:分岐実行ユニット(BEU)
324:固定小数点ユニット(FXU)
326:ロード・ストア・ユニット(LSU)
328:浮動小数点ユニット(FPU)
329:データ・プリフェッチ・ユニット(DPFU)
330:制御レジスタ・ファイル(CRF)
332:汎用レジスタ・ファイル(GPRF)
334:浮動小数点レジスタ・ファイル(FPRF)
340:データ・メモリ管理ユニット(DMMU)
500:アドレス生成加速器(AGA)
502:オペランド・データ構造
510:計算エンジン
512:演算データ構造
600a、600b、・・・600n:オペランド・テーブル
602a:ソース・オペランドA(SA)エントリ
602b:ソース・オペランドB(SB)エントリ
602c:宛先オペランドC(DC)エントリ
604:アルゴリズム・フィールド
606:オペランド・サイズ・フィールド
608:距離フィールド
610:キャッシュ・ヒント・フィールド
620a、・・・、620n:エントリ
700:ソース・コード
702:コンパイラ
704:オブジェクト・コード
710a、710b:コード・セクション
712:コード・ブロック
714:オブジェクト・コード
716:ブロック計算コマンド(BCC)
Claims (12)
- データ処理システムにおいてコードをコンパイルする方法であって、
処理前コードを受信することに応答して、コンパイラが、アドレス生成の加速の候補ではない前記処理前コード内のコード・セクションを特定し、アドレス生成の加速の候補である前記処理前コード内のコード・ブロックであって、少なくとも第1オペランド及び第2オペランドを有する繰り返し演算を指定するコード・ブロックを特定する、ことと、
前記コード・セクションを特定することに応答して、前記コンパイラが、前記特定されたコード・セクションに対応する1つ又は複数の下位レベルの命令を含む処理後コードを生成することと、
前記コード・ブロックを特定することに応答して、前記コンパイラが、前記処理後コードとは別個の演算データ構造及びオペランド・データ構造を生成し、出力することであって、前記演算データ構造は前記繰り返し演算を特定し、前記オペランド・データ構造は複数の第1オペランドのアドレス間の第1のアドレス関係と、複数の第2オペランドのアドレス間の第2のアドレス関係とを定める、ことと、
前記コンパイラが、前記演算データ構造及び前記オペランド・データ構造の処理を呼び出して、前記繰り返し演算を実行するブロック計算コマンドを前記処理後コード内に置くことと、
前記コンパイラが、前記処理後コードを出力することと、
を含む方法。 - 前記第1のアドレス関係は、前記複数の第1オペランドの実効アドレス間のアドレス関係を示し、
前記第2のアドレス関係は、前記複数の第2オペランドの実効アドレス間のアドレス関係を示す、請求項1に記載の方法。 - 前記第1オペランドはソース・オペランドであり、前記第2オペランドは宛先オペランドである、請求項1に記載の方法。
- 前記コンパイラが、前記第1及び第2オペランドのキャッシングに関する情報を前記演算データ構造内に置くことをさらに含む、請求項1に記載の方法。
- 前記コンパイラが、前記複数の第1オペランドにアクセスするために生成される第1の数のアドレスと、前記複数の第2オペランドにアクセスするために生成される第2の数のアドレスとをオペランド・データ構造内に示すことをさらに含む、請求項1に記載の方法。
- オペランド・データ構造を生成することは、オペランド・テーブルを生成することを含む、請求項1に記載の方法。
- データ処理システムにより処理されるときに、請求項1乃至6のいずれか1項に従った方法を前記データ処理システムに実行させるためのコンパイラ・プログラム・コードを含む、コード・コンパイラ。
- 命令を実行するための少なくとも1つの実行ユニットと、
請求項7に記載のコード・コンパイラによって生成された処理後コードに含まれる、前記少なくとも1つの実行ユニットによる実行用の命令及びブロック計算コマンドをフェッチし、前記ブロック計算コマンドに応じてブロック計算開始信号を出力する命令順序付けユニットと、
プロセッサにより実行され、それぞれ第1オペランド及び第2オペランドを有する1つ又は複数の繰り返し演算を特定する、前記実行用の命令とは別個の演算データ構造と、
前記繰り返し演算の複数回の繰り返しのための複数の第1オペランドのアドレス間の第1の関係と、前記繰り返し演算の複数回の繰り返しのための複数の第2オペランドのアドレス間の第2の関係とを指定する、前記実行用の命令とは別個のオペランド・データ構造と、
前記オペランド・データ構造により指定される前記第1の関係を参照することにより前記複数の第1オペランドのアドレスを、及び、前記オペランド・データ構造により指定される前記第2の関係を参照することにより前記複数の第2オペランドのアドレスを計算し、出力するアドレス生成加速器と、
前記命令順序付けユニットからの前記ブロック計算開始信号に応答して、前記演算データ構造にアクセスし、前記演算データ構造によって特定された前記1つ又は複数の繰り返し演算を前記アドレス生成加速器からのアドレスを用いて実行する計算エンジンと、
を含むプロセッサ。 - 前記繰り返し演算の前記繰り返しごとに、前記計算エンジンは、メモリ階層から取り出された前記複数の第1オペランドの1つ及び前記複数の第2オペランドの1つから宛先オペランドを計算するように動作可能である、請求項8に記載のプロセッサ。
- 前記アドレスは実効アドレスである、請求項8に記載のプロセッサ。
- 前記第1オペランドはソース・オペランドであり、前記第2オペランドは宛先オペランドである、請求項8に記載のプロセッサ。
- 前記オペランド・データ構造は、前記第1の関係を用いて生成される第1の数のアドレス及び前記第2の関係を用いて生成される第2の数のアドレスの表示を含む、請求項8に記載のプロセッサ。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/336,332 US8327345B2 (en) | 2008-12-16 | 2008-12-16 | Computation table for block computation |
US12/336,332 | 2008-12-16 | ||
PCT/EP2009/063717 WO2010069637A1 (en) | 2008-12-16 | 2009-10-20 | Operation data structure |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012512449A JP2012512449A (ja) | 2012-05-31 |
JP5671474B2 true JP5671474B2 (ja) | 2015-02-18 |
Family
ID=41475229
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011539978A Active JP5671474B2 (ja) | 2008-12-16 | 2009-10-20 | 演算データ構造 |
Country Status (5)
Country | Link |
---|---|
US (1) | US8327345B2 (ja) |
EP (1) | EP2368181B1 (ja) |
JP (1) | JP5671474B2 (ja) |
CN (1) | CN102257478B (ja) |
WO (1) | WO2010069637A1 (ja) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8285971B2 (en) * | 2008-12-16 | 2012-10-09 | International Business Machines Corporation | Block driven computation with an address generation accelerator |
US8281106B2 (en) * | 2008-12-16 | 2012-10-02 | International Business Machines Corporation | Specifying an addressing relationship in an operand data structure |
US8407680B2 (en) * | 2008-12-16 | 2013-03-26 | International Business Machines Corporation | Operand data structure for block computation |
US8327345B2 (en) | 2008-12-16 | 2012-12-04 | International Business Machines Corporation | Computation table for block computation |
US8458439B2 (en) * | 2008-12-16 | 2013-06-04 | International Business Machines Corporation | Block driven computation using a caching policy specified in an operand data structure |
JP2010160708A (ja) * | 2009-01-09 | 2010-07-22 | Sony Corp | 演算器、プロセッサ、コンパイル処理装置およびコンパイル処理方法 |
US9384001B2 (en) * | 2012-08-15 | 2016-07-05 | Nvidia Corporation | Custom chaining stubs for instruction code translation |
US9652233B2 (en) * | 2013-08-20 | 2017-05-16 | Apple Inc. | Hint values for use with an operand cache |
US10839478B2 (en) * | 2019-04-08 | 2020-11-17 | Intel Corporation | Accumulator pooling mechanism |
CN112463159B (zh) * | 2020-11-25 | 2023-05-09 | 安徽寒武纪信息科技有限公司 | 编译方法、装置、电子设备和存储介质 |
Family Cites Families (57)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01213721A (ja) * | 1988-02-22 | 1989-08-28 | Hitachi Ltd | コンパイラ方式 |
EP0405318A3 (en) * | 1989-06-20 | 1991-11-27 | Nec Corporation | Microprocessor having cash bypass signal terminal |
US5299320A (en) * | 1990-09-03 | 1994-03-29 | Matsushita Electric Industrial Co., Ltd. | Program control type vector processor for executing a vector pipeline operation for a series of vector data which is in accordance with a vector pipeline |
JP3047998B2 (ja) * | 1991-02-13 | 2000-06-05 | 株式会社日立製作所 | 並列計算機におけるプロセッサ割り当て方法、及び装置 |
US6292879B1 (en) * | 1995-10-25 | 2001-09-18 | Anthony S. Fong | Method and apparatus to specify access control list and cache enabling and cache coherency requirement enabling on individual operands of an instruction of a computer |
US6112299A (en) * | 1997-12-31 | 2000-08-29 | International Business Machines Corporation | Method and apparatus to select the next instruction in a superscalar or a very long instruction word computer having N-way branching |
US6988183B1 (en) * | 1998-06-26 | 2006-01-17 | Derek Chi-Lan Wong | Methods for increasing instruction-level parallelism in microprocessors and digital system |
US6742110B2 (en) * | 1998-10-06 | 2004-05-25 | Texas Instruments Incorporated | Preventing the execution of a set of instructions in parallel based on an indication that the instructions were erroneously pre-coded for parallel execution |
US6418527B1 (en) * | 1998-10-13 | 2002-07-09 | Motorola, Inc. | Data processor instruction system for grouping instructions with or without a common prefix and data processing system that uses two or more instruction grouping methods |
US6367071B1 (en) * | 1999-03-02 | 2002-04-02 | Lucent Technologies Inc. | Compiler optimization techniques for exploiting a zero overhead loop mechanism |
US6519768B1 (en) * | 1999-03-04 | 2003-02-11 | International Computers Limited | Instruction translation method |
US6510494B1 (en) * | 1999-06-30 | 2003-01-21 | International Business Machines Corporation | Time based mechanism for cached speculative data deallocation |
KR100331565B1 (ko) * | 1999-12-17 | 2002-04-06 | 윤종용 | 매트릭스 연산 장치 및 매트릭스 연산기능을 갖는 디지털신호처리 장치 |
JP3477137B2 (ja) * | 2000-03-03 | 2003-12-10 | 松下電器産業株式会社 | 最適化装置及び最適化プログラムを記録したコンピュータ読み取り可能な記録媒体 |
EP1160662A1 (en) * | 2000-03-10 | 2001-12-05 | Texas Instruments France | Processor with pointer tracking to eliminate redundant memory fetches |
US6615340B1 (en) * | 2000-03-22 | 2003-09-02 | Wilmot, Ii Richard Byron | Extended operand management indicator structure and method |
US7111156B1 (en) * | 2000-04-21 | 2006-09-19 | Ati Technologies, Inc. | Method and apparatus for multi-thread accumulation buffering in a computation engine |
US6807622B1 (en) * | 2000-08-09 | 2004-10-19 | Advanced Micro Devices, Inc. | Processor which overrides default operand size for implicit stack pointer references and near branches |
US6477221B1 (en) * | 2001-02-16 | 2002-11-05 | University Of Rochester | System and method for fast parallel cone-beam reconstruction using one or more microprocessors |
US20020124157A1 (en) * | 2001-03-01 | 2002-09-05 | International Business Machines Corporation | Method and apparatus for fast operand access stage in a CPU design using a cache-like structure |
US6851010B1 (en) * | 2001-06-29 | 2005-02-01 | Koninklijke Philips Electronics N.V. | Cache management instructions |
US7249357B2 (en) * | 2001-08-20 | 2007-07-24 | Silicon Graphics, Inc. | Transparent distribution and execution of data in a multiprocessor environment |
JP3564445B2 (ja) * | 2001-09-20 | 2004-09-08 | 松下電器産業株式会社 | プロセッサ、コンパイル装置及びコンパイル方法 |
US6931517B1 (en) * | 2001-10-23 | 2005-08-16 | Ip-First, Llc | Pop-compare micro instruction for repeat string operations |
JP4163927B2 (ja) * | 2001-10-31 | 2008-10-08 | 松下電器産業株式会社 | Javaコンパイラ、及び、当該Javaコンパイラが使用するコンパイル情報の生成装置 |
US7251721B1 (en) * | 2001-11-05 | 2007-07-31 | Verisilicon Holdings (Cayman Islands) Co. Ltd. | Conditional link pointer register sets marking the beginning and end of a conditional instruction block where each set corresponds to a single stage of a pipeline that moves link pointers through each corresponding register of said register sets as instructions move through the pipeline |
US7020765B2 (en) * | 2002-09-27 | 2006-03-28 | Lsi Logic Corporation | Marking queue for simultaneous execution of instructions in code block specified by conditional execution instruction |
US20040064684A1 (en) * | 2002-09-30 | 2004-04-01 | Kalluri Seshagiri P. | System and method for selectively updating pointers used in conditionally executed load/store with update instructions |
US20040139299A1 (en) * | 2003-01-14 | 2004-07-15 | International Business Machines Corporation | Operand forwarding in a superscalar processor |
US7185182B2 (en) * | 2003-02-04 | 2007-02-27 | Via Technologies, Inc. | Pipelined microprocessor, apparatus, and method for generating early instruction results |
US20040176941A1 (en) * | 2003-03-04 | 2004-09-09 | Shan-Chyun Ku | Method of simulating computation instructions for an instruction set simulator |
JP2004280766A (ja) * | 2003-03-15 | 2004-10-07 | Aplix Corp | 中間コード実行システム |
US7089408B2 (en) * | 2003-05-12 | 2006-08-08 | International Business Machines Corporation | Re-fetch of long operand buffered remainder after cache line invalidation in out-of-order multiprocessor system without instruction re-execution |
US7676506B2 (en) * | 2003-06-20 | 2010-03-09 | Innopath Software, Inc. | Differential file compression of software image versions |
US7496921B2 (en) * | 2003-08-29 | 2009-02-24 | Intel Corporation | Processing block with integrated light weight multi-threading support |
US20050076179A1 (en) * | 2003-10-02 | 2005-04-07 | International Business Machines Corporation | Cache optimized logical partitioning a symmetric multi-processor data processing system |
US7290092B2 (en) * | 2003-12-10 | 2007-10-30 | International Business Machines Corporation | Runtime register allocator |
JP4283131B2 (ja) * | 2004-02-12 | 2009-06-24 | パナソニック株式会社 | プロセッサ及びコンパイル方法 |
JP2006004042A (ja) * | 2004-06-16 | 2006-01-05 | Renesas Technology Corp | データ処理装置 |
US20060048104A1 (en) * | 2004-08-30 | 2006-03-02 | Plummer Christopher J | Mechanism for flowing local variables across a plurality of code blocks |
US7380099B2 (en) * | 2004-09-30 | 2008-05-27 | Intel Corporation | Apparatus and method for an address generation circuit |
US7350055B2 (en) * | 2004-10-20 | 2008-03-25 | Arm Limited | Tightly coupled accelerator |
US7343482B2 (en) * | 2004-10-20 | 2008-03-11 | Arm Limited | Program subgraph identification |
US7716455B2 (en) * | 2004-12-03 | 2010-05-11 | Stmicroelectronics, Inc. | Processor with automatic scheduling of operations |
US7552318B2 (en) * | 2004-12-17 | 2009-06-23 | International Business Machines Corporation | Branch lookahead prefetch for microprocessors |
US20060161612A1 (en) * | 2005-01-14 | 2006-07-20 | International Business Machines Corporation | Method and structure for a generalized cache-register file interface with data restructuring methods for multiple cache levels and hardware pre-fetching |
US7757222B2 (en) * | 2005-09-30 | 2010-07-13 | Intel Corporation | Generating efficient parallel code using partitioning, coalescing, and degenerative loop and guard removal |
US7840954B2 (en) * | 2005-11-29 | 2010-11-23 | International Business Machines Corporation | Compilation for a SIMD RISC processor |
US7774765B2 (en) * | 2006-02-01 | 2010-08-10 | Ati Technologies Inc. | Method and apparatus for moving area operator definition instruction statements within control flow structures |
CA2642022A1 (en) * | 2006-02-03 | 2007-08-16 | Russell H. Fish, Iii | Thread optimized multiprocessor architecture |
US20080065834A1 (en) * | 2006-09-13 | 2008-03-13 | International Business Machines Corporation | Method to Prevent Operand Data with No Locality from Polluting the Data Cache |
US8191056B2 (en) * | 2006-10-13 | 2012-05-29 | International Business Machines Corporation | Sparse vectorization without hardware gather/scatter |
US8458439B2 (en) * | 2008-12-16 | 2013-06-04 | International Business Machines Corporation | Block driven computation using a caching policy specified in an operand data structure |
US8281106B2 (en) * | 2008-12-16 | 2012-10-02 | International Business Machines Corporation | Specifying an addressing relationship in an operand data structure |
US8407680B2 (en) * | 2008-12-16 | 2013-03-26 | International Business Machines Corporation | Operand data structure for block computation |
US8285971B2 (en) * | 2008-12-16 | 2012-10-09 | International Business Machines Corporation | Block driven computation with an address generation accelerator |
US8327345B2 (en) | 2008-12-16 | 2012-12-04 | International Business Machines Corporation | Computation table for block computation |
-
2008
- 2008-12-16 US US12/336,332 patent/US8327345B2/en active Active
-
2009
- 2009-10-20 CN CN200980150930.2A patent/CN102257478B/zh active Active
- 2009-10-20 JP JP2011539978A patent/JP5671474B2/ja active Active
- 2009-10-20 EP EP09741281.1A patent/EP2368181B1/en active Active
- 2009-10-20 WO PCT/EP2009/063717 patent/WO2010069637A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
US20100153938A1 (en) | 2010-06-17 |
EP2368181B1 (en) | 2016-11-23 |
JP2012512449A (ja) | 2012-05-31 |
EP2368181A1 (en) | 2011-09-28 |
US8327345B2 (en) | 2012-12-04 |
CN102257478A (zh) | 2011-11-23 |
WO2010069637A1 (en) | 2010-06-24 |
CN102257478B (zh) | 2015-04-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5671474B2 (ja) | 演算データ構造 | |
US8458439B2 (en) | Block driven computation using a caching policy specified in an operand data structure | |
Eichenberger et al. | Using advanced compiler technology to exploit the performance of the Cell Broadband Engine™ architecture | |
Zilles et al. | Execution-based prediction using speculative slices | |
CN108376097B (zh) | 用于通过使用由可分割引擎实例化的虚拟核来支持代码块执行的寄存器文件段 | |
Carrillo et al. | The effect of reconfigurable units in superscalar processors | |
US20140351563A1 (en) | Advanced processor architecture | |
US8285971B2 (en) | Block driven computation with an address generation accelerator | |
EP2353085B1 (en) | Operand data structure | |
Domingos et al. | Unlimited vector extension with data streaming support | |
Wang et al. | Decoupled affine computation for SIMT GPUs | |
US8281106B2 (en) | Specifying an addressing relationship in an operand data structure | |
JP2003526155A (ja) | 配列境界をチェックする能力を有する処理アーキテクチャ | |
Saporito et al. | Design of the IBM z15 microprocessor | |
CN114691597A (zh) | 自适应远程原子操作 | |
EP0924603A2 (en) | Compiler controlled dynamic scheduling of program instructions | |
Lipasti et al. | Exploiting value locality to exceed the dataflow limit | |
Hindborg et al. | Hardware realization of an FPGA processor—Operating system call offload and experiences | |
Lenell et al. | A performance comparison of several superscalar processor models with a VLIW processor | |
Yang et al. | Fei teng 64 stream processing system: architecture, compiler, and programming | |
John et al. | A comparative evaluation of software techniques to hide memory latency | |
Pentecost et al. | Accelerating dynamically typed languages with a virtual function cache | |
Kim et al. | Adaptive balanced computing (ABC) microprocessor using reconfigurable functional caches (RFCs) | |
Bacon et al. | Braids and fibers: Language constructs with architectural support for adaptive responses to memory latencies | |
Hall et al. | Parallelizing compilers for multiprocessors face many hurdles. However, SUIF’s robust analysis and memory optimization techniques enabled speedups on three fourths of the NAS and SPECfp95 benchmark programs. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120510 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130826 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20131001 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20131220 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20140422 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140822 |
|
A911 | Transfer of reconsideration by examiner before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20140829 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20141028 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20141111 |
|
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: 20141202 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20141219 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5671474 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |