JP5853303B2 - レジスタ初期化動作の最適化 - Google Patents
レジスタ初期化動作の最適化 Download PDFInfo
- Publication number
- JP5853303B2 JP5853303B2 JP2013095092A JP2013095092A JP5853303B2 JP 5853303 B2 JP5853303 B2 JP 5853303B2 JP 2013095092 A JP2013095092 A JP 2013095092A JP 2013095092 A JP2013095092 A JP 2013095092A JP 5853303 B2 JP5853303 B2 JP 5853303B2
- Authority
- JP
- Japan
- Prior art keywords
- register
- instruction
- physical
- rename
- detecting
- 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
- 238000005457 optimization Methods 0.000 title 1
- 230000004044 response Effects 0.000 claims description 19
- 238000000034 method Methods 0.000 claims description 15
- 238000001514 detection method Methods 0.000 claims description 3
- 238000013507 mapping Methods 0.000 description 21
- 238000010586 diagram Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 239000000872 buffer Substances 0.000 description 3
- 230000000739 chaotic effect Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000011156 evaluation Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 239000012536 storage buffer Substances 0.000 description 3
- 238000013519 translation Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 2
- 239000013598 vector Substances 0.000 description 2
- 229930091051 Arenine Natural products 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000002250 progressing effect Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3838—Dependency mechanisms, e.g. register scoreboarding
- G06F9/384—Register renaming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3824—Operand accessing
- G06F9/383—Operand prefetching
- G06F9/3832—Value prediction for operands; operand history buffers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3854—Instruction completion, e.g. retiring, committing or graduating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3854—Instruction completion, e.g. retiring, committing or graduating
- G06F9/3858—Result writeback, i.e. updating the architectural state or memory
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Advance Control (AREA)
Description
102:アドレスセレクト
104:iキャッシュ
106:次フェッチプレディクタ
108:分岐方向プレディクタ
110:デコードユニット
112:コントロールフロー評価
114:再ネームイントラグループ依存性検出
116:マッパー
120:レジスタ再ネームユニット
122:再ネームコントロールロジック・アレイ
124:ゼロサイクル初期化ロジック
130:フリーリストアロケータ
140:ディスパッチキュー
142:マイクロコード
150:スケジューラ
160:実行コア
162:データキャッシュ
164:物理的レジスタファイル
166:読み取りバイパス
170:リオーダーバッファ
172:記憶バッファ
Claims (16)
- フェッチされたインストラクションをデコードするように構成されたデコーダと、
前記デコードされたインストラクションを受け取るように構成されたレジスタ再ネームユニットと、
複数の物理的レジスタを含む物理的レジスタファイルと、
を備え、
インストラクションの行先オペランドにより識別された行先に所与の数値を書き込むように行先オペランドを有するインストラクション(以下先行インストラクションという)が構成されるのを検出するのに応答して、前記レジスタ再ネームユニットは、前記所与の数値に関連付けられた再ネームレジスタ識別子を識別し、前記再ネームレジスタ識別子を前記行先オペランドに指定するように構成され、
前記先行インストラクションより後続のインストラクションにおいて、前記所与の再ネームレジスタ識別子をソースオペランドとして指定すべきことを検出することに応答して、前記レジスタ再ネームユニットは、前記物理的レジスタファイルの物理的レジスタを読み出さずに前記所与の数値を前記物理的レジスタファイルの読み出しデータポートへ搬送するように構成された、プロセッサ。 - 前記検出に応答して、インストラクションの完了を示す指示が記憶される、請求項1に記載のプロセッサ。
- 前記プロセッサは、更に、関連再ネームレジスタによって各々識別された複数の物理的レジスタを含む物理的レジスタファイルを備え、前記行先オペランドに指定された前記再ネームレジスタ識別子は、前記複数の物理的レジスタのいずれにも関連付けられない、請求項1に記載のプロセッサ。
- 前記レジスタ再ネームユニットは、複数のインストラクションにより同時に使用するように前記再ネームレジスタを指定するように構成された、請求項1に記載のプロセッサ。
- フェッチされたインストラクションをデコードする段階と、
行先オペランドによって識別された位置に数値を書き込むように行先オペランドを有するインストラクション(以下先行インストラクションという)が構成されるのを検出するのに応答して、所与の数値に関連付けられた再ネームレジスタ識別子を識別する段階と、
再ネームレジスタ識別子を前記行先オペランドに指定する段階と、
前記先行インストラクションより後続のインストラクションにおいて、前記所与の再ネームレジスタ識別子をソースオペランドとして指定すべきことを検出することに応答して、物理的レジスタを読み取らずに前記所与の数値を物理的レジスタファイルの読み出しデータポートへ搬送する段階と、
を備えた方法。 - 前記先行インストラクションの検出に応答して、前記先行インストラクションが実行パイプライン段において実行されるのを防止する、請求項1に記載のプロセッサ。
- 前記先行インストラクションの検出に応答して、前記先行インストラクションが実行パイプライン段において実行されるのを防止する、請求項5に記載の方法。
- 前記検出は、前記インストラクションは移動インストラクションであり、当該移動インストラクションのソースオペランドは前記数値と同じ値を有する即時値である、ことを検出することを含む、請求項5に記載の方法。
- 前記行先オペランドに指定された前記所与の再ネームレジスタ識別子は、物理的レジスタに関連付けられていない、請求項5に記載の方法。
- レジスタ再ネームユニットであって、
デコードされたインストラクションを受け取るように構成された第1のインターフェイスと、
インストラクションをスケジューラへディスパッチするように構成されたディスパッチユニットへの第2のインターフェイスと、
初期化ロジックと、
を備え、
行先オペランドによって識別された位置に数値を書き込むように行先オペランドを有するインストラクション(以下先行インストラクションという)が構成されたことを検出するのに応答して、前記初期化ロジックは、前記所与の数値に関連付けられた再ネームレジスタ識別子を識別し、前記行先オペランドに前記再ネームレジスタ識別子を指定するように構成され、
前記先行インストラクションより後続のインストラクションにおいて、前記所与の再ネームレジスタ識別子をソースオペランドとして指定すべきことを検出することに応答して、前記レジスタ再ネームユニットは、物理的レジスタを読み出すことなく前記所与の数値を物理的レジスタファイルの読み出しデータポートへ搬送するように構成される、レジスタ再ネームユニット。 - 前記先行インストラクションの検出に応答して、前記初期化ロジックは、更に、前記先行インストラクションが実行パイプライン段において実行されるのを防止するように構成される、請求項10に記載のレジスタ再ネームユニット。
- 前記行先オペランドに指定された前記再ネームレジスタ識別子は、物理的レジスタに関連付けられていない、請求項10に記載のレジスタ再ネームユニット。
- 前記インストラクションを検出することは、移動インストラクションであり、移動インストラクションのソースオペランドは前記数値と同じ値を有する、を検出することを含む、請求項10に記載のレジスタ再ネームユニット。
- 前記位置に数値を書き込むように前記インストラクションが構成されるのを検出することは、(i)即時ソースオペランドが前記所与の数値と同じ値を有すること、及び(ii)opcodeが、次の動作、即ち乗算演算、移動、及びブールの論理AND、のうちの少なくとも1つを指示すること、を検出することを含む、請求項12に記載のレジスタ再ネームユニット。
- コントロールロジックと、
関連再ネームレジスタ識別子により各々識別される複数の物理的レジスタを含む物理的レジスタファイルと、
を備え、行先オペランドに数値を書き込むようにソースオペランドと行先オペランドを有するインストラクション(以下先行インストラクションという)が構成されるのを検出するのに応答して、前記コントロールロジックは、前記所与の数値に関連付けられた再ネームレジスタ識別子を識別し、前記行先オペランドに前記再ネームレジスタを指定するよう構成され、
前記先行インストラクションより後続のインストラクションにおいて、前記所与の再ネームレジスタ識別子をソースオペランドとして指定すべきことを検出することに応答して、前記コントロールロジックは、前記物理的レジスタファイルの物理的レジスタを読み出すことなく前記所与の数値を前記物理的レジスタファイルの読み出しデータポートへ搬送するように構成された、装置。 - 前記先行インストラクションの検出に応答して、前記コントロールロジックは、更に、前記先行インストラクションが実行パイプライン段において実行されるのを防止するように構成される、請求項15に記載の装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/460,268 US9430243B2 (en) | 2012-04-30 | 2012-04-30 | Optimizing register initialization operations |
US13/460,268 | 2012-04-30 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013232196A JP2013232196A (ja) | 2013-11-14 |
JP5853303B2 true JP5853303B2 (ja) | 2016-02-09 |
Family
ID=48190184
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013095092A Active JP5853303B2 (ja) | 2012-04-30 | 2013-04-30 | レジスタ初期化動作の最適化 |
Country Status (8)
Country | Link |
---|---|
US (1) | US9430243B2 (ja) |
EP (1) | EP2660715B1 (ja) |
JP (1) | JP5853303B2 (ja) |
KR (1) | KR101502682B1 (ja) |
CN (1) | CN103377037B (ja) |
BR (1) | BR102013010540B1 (ja) |
TW (1) | TWI507980B (ja) |
WO (1) | WO2013165752A1 (ja) |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE112012007058T5 (de) * | 2012-12-19 | 2015-08-06 | Intel Corporation | Vektormaskengesteuertes Clock-Gating für Leistungseffizenz eines Prozessors |
US9251300B2 (en) * | 2013-10-25 | 2016-02-02 | Altera Corporation | Methods and tools for designing integrated circuits with auto-pipelining capabilities |
US20170083313A1 (en) * | 2015-09-22 | 2017-03-23 | Qualcomm Incorporated | CONFIGURING COARSE-GRAINED RECONFIGURABLE ARRAYS (CGRAs) FOR DATAFLOW INSTRUCTION BLOCK EXECUTION IN BLOCK-BASED DATAFLOW INSTRUCTION SET ARCHITECTURES (ISAs) |
US10528355B2 (en) * | 2015-12-24 | 2020-01-07 | Arm Limited | Handling move instructions via register renaming or writing to a different physical register using control flags |
US10949202B2 (en) | 2016-04-14 | 2021-03-16 | International Business Machines Corporation | Identifying and tracking frequently accessed registers in a processor |
US10007590B2 (en) | 2016-04-14 | 2018-06-26 | International Business Machines Corporation | Identifying and tracking frequently accessed registers in a processor |
US10255072B2 (en) * | 2016-07-01 | 2019-04-09 | Intel Corporation | Architectural register replacement for instructions that use multiple architectural registers |
GB2563582B (en) * | 2017-06-16 | 2020-01-01 | Imagination Tech Ltd | Methods and systems for inter-pipeline data hazard avoidance |
US10915317B2 (en) * | 2017-12-22 | 2021-02-09 | Alibaba Group Holding Limited | Multiple-pipeline architecture with special number detection |
JP7131236B2 (ja) * | 2018-09-20 | 2022-09-06 | 富士通株式会社 | 演算処理装置および演算処理装置の制御方法 |
CN111638911A (zh) * | 2019-03-01 | 2020-09-08 | 阿里巴巴集团控股有限公司 | 一种处理器、指令执行设备及方法 |
US10896041B1 (en) * | 2019-09-25 | 2021-01-19 | Microsoft Technology Licensing, Llc | Enabling early execution of move-immediate instructions having variable immediate value sizes in processor-based devices |
US11119772B2 (en) * | 2019-12-06 | 2021-09-14 | International Business Machines Corporation | Check pointing of accumulator register results in a microprocessor |
CN111414196B (zh) * | 2020-04-03 | 2022-07-19 | 中国人民解放军国防科技大学 | 一种零值寄存器的实现方法及装置 |
US11113067B1 (en) * | 2020-11-17 | 2021-09-07 | Centaur Technology, Inc. | Speculative branch pattern update |
CN112416434B (zh) * | 2020-12-03 | 2023-02-17 | 海光信息技术股份有限公司 | 物理寄存器分配方法、物理寄存器分配装置和电子设备 |
US11531546B2 (en) | 2021-03-08 | 2022-12-20 | International Business Machines Corporation | Hexadecimal floating point multiply and add instruction |
CN113703832B (zh) * | 2021-09-10 | 2024-06-11 | 中国人民解放军国防科技大学 | 一种立即数转移指令的执行方法、装置及介质 |
CN114116229B (zh) * | 2021-12-01 | 2023-03-31 | 北京奕斯伟计算技术股份有限公司 | 调节指令流水线的方法及装置、存储器和存储介质 |
CN115640047B (zh) * | 2022-09-08 | 2024-01-19 | 海光信息技术股份有限公司 | 指令操作方法及装置、电子装置及存储介质 |
CN116339830B (zh) * | 2023-05-26 | 2023-08-15 | 北京开源芯片研究院 | 一种寄存器管理方法、装置、电子设备及可读存储介质 |
CN117289995B (zh) * | 2023-10-11 | 2024-05-10 | 海光信息技术股份有限公司 | 指令处理方法以及处理器 |
CN117555600B (zh) * | 2023-10-20 | 2024-08-23 | 海光信息技术(成都)有限公司 | 用于数据通路的操作方法、计算装置及存储介质 |
CN117931294B (zh) * | 2024-03-22 | 2024-07-16 | 芯来智融半导体科技(上海)有限公司 | 指令处理设备和处理系统 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4435753A (en) | 1980-10-31 | 1984-03-06 | International Business Machines Corporation | Register allocation system using recursive queuing during source code compilation |
DE69130588T2 (de) | 1990-05-29 | 1999-05-27 | National Semiconductor Corp., Santa Clara, Calif. | Cache-Speicher von partiell decodierten Befehlen und Verfahren hierfür |
US5696957A (en) | 1991-05-17 | 1997-12-09 | Ricoh Company, Ltd | Integrated circuit comprising a central processing unit for executing a plurality of programs |
JP3206960B2 (ja) | 1991-05-17 | 2001-09-10 | 株式会社リコー | 拡張中央演算処理装置 |
US5452426A (en) | 1994-01-04 | 1995-09-19 | Intel Corporation | Coordinating speculative and committed state register source data and immediate source data in a processor |
US5768610A (en) * | 1995-06-07 | 1998-06-16 | Advanced Micro Devices, Inc. | Lookahead register value generator and a superscalar microprocessor employing same |
US6112019A (en) | 1995-06-12 | 2000-08-29 | Georgia Tech Research Corp. | Distributed instruction queue |
GB2317464A (en) | 1996-09-23 | 1998-03-25 | Advanced Risc Mach Ltd | Register addressing in a data processing apparatus |
US6122725A (en) | 1998-03-31 | 2000-09-19 | Intel Corporation | Executing partial-width packed data instructions |
US6094716A (en) * | 1998-07-14 | 2000-07-25 | Advanced Micro Devices, Inc. | Register renaming in which moves are accomplished by swapping rename tags |
US6122656A (en) | 1998-07-31 | 2000-09-19 | Advanced Micro Devices, Inc. | Processor configured to map logical register numbers to physical register numbers using virtual register numbers |
US6594754B1 (en) * | 1999-07-07 | 2003-07-15 | Intel Corporation | Mapping destination logical register to physical register storing immediate or renamed source register of move instruction and using mapping counters |
US6505293B1 (en) * | 1999-07-07 | 2003-01-07 | Intel Corporation | Register renaming to optimize identical register values |
US6553483B1 (en) | 1999-11-29 | 2003-04-22 | Intel Corporation | Enhanced virtual renaming scheme and deadlock prevention therefor |
US7631207B1 (en) * | 2006-04-21 | 2009-12-08 | Sun Microsystems, Inc. | Reducing power consumption for processing of common values in microprocessor registers and execution units |
US20100274961A1 (en) | 2009-04-22 | 2010-10-28 | Golla Robert T | Physically-indexed logical map table |
GB2478726B (en) | 2010-03-15 | 2013-12-25 | Advanced Risc Mach Ltd | Mapping between registers used by multiple instruction sets |
-
2012
- 2012-04-30 US US13/460,268 patent/US9430243B2/en active Active
-
2013
- 2013-04-23 WO PCT/US2013/037793 patent/WO2013165752A1/en active Application Filing
- 2013-04-24 EP EP13165090.5A patent/EP2660715B1/en active Active
- 2013-04-28 CN CN201310233474.6A patent/CN103377037B/zh active Active
- 2013-04-29 BR BR102013010540-6A patent/BR102013010540B1/pt active IP Right Grant
- 2013-04-29 TW TW102115293A patent/TWI507980B/zh active
- 2013-04-30 KR KR1020130048660A patent/KR101502682B1/ko active IP Right Grant
- 2013-04-30 JP JP2013095092A patent/JP5853303B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
EP2660715A3 (en) | 2014-05-21 |
CN103377037B (zh) | 2016-08-10 |
EP2660715B1 (en) | 2015-10-07 |
KR20130122587A (ko) | 2013-11-07 |
KR101502682B1 (ko) | 2015-03-13 |
TWI507980B (zh) | 2015-11-11 |
JP2013232196A (ja) | 2013-11-14 |
US20130290680A1 (en) | 2013-10-31 |
BR102013010540A2 (pt) | 2015-10-13 |
WO2013165752A1 (en) | 2013-11-07 |
BR102013010540B1 (pt) | 2021-07-06 |
TW201403472A (zh) | 2014-01-16 |
US9430243B2 (en) | 2016-08-30 |
CN103377037A (zh) | 2013-10-30 |
EP2660715A2 (en) | 2013-11-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5853303B2 (ja) | レジスタ初期化動作の最適化 | |
JP5894120B2 (ja) | ゼロサイクルロード | |
US20170097891A1 (en) | System, Method, and Apparatus for Improving Throughput of Consecutive Transactional Memory Regions | |
US8386754B2 (en) | Renaming wide register source operand with plural short register source operands for select instructions to detect dependency fast with existing mechanism | |
US9977674B2 (en) | Micro-operation generator for deriving a plurality of single-destination micro-operations from a given predicated instruction | |
US9311084B2 (en) | RDA checkpoint optimization | |
US6393555B1 (en) | Rapid execution of FCMOV following FCOMI by storing comparison result in temporary register in floating point unit | |
US10417001B2 (en) | Physical register table for eliminating move instructions | |
US20130275720A1 (en) | Zero cycle move | |
JP2012212433A (ja) | 条件付き命令が無条件で出力を提供するシステム及び方法 | |
WO1996012228A1 (en) | Redundant mapping tables | |
US9317285B2 (en) | Instruction set architecture mode dependent sub-size access of register with associated status indication | |
KR20070101374A (ko) | 비정렬 데이터를 직접 누적하기 위한 부분―워드 기록가능아키텍처 레지스터 | |
US20220050684A1 (en) | Program counter (pc)-relative load and store addressing | |
US9223577B2 (en) | Processing multi-destination instruction in pipeline by splitting for single destination operations stage and merging for opcode execution operations stage | |
US7406587B1 (en) | Method and system for renaming registers in a microprocessor | |
US6298436B1 (en) | Method and system for performing atomic memory accesses in a processor system | |
US11544065B2 (en) | Bit width reconfiguration using a shadow-latch configured register file | |
US7783692B1 (en) | Fast flag generation | |
US20210132985A1 (en) | Shadow latches in a shadow-latch configured register file for thread storage | |
US9569258B1 (en) | Scheduling multiple operations in a divider unit | |
Shah et al. | SPSIM: SuperScalar Processor SIMulater CS305 Project Report |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20140710 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140723 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20141023 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20141208 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150408 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20150415 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150701 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20151001 |
|
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: 20151111 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20151116 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5853303 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |