JP6400296B2 - マルチモード支援プロセッサ及びマルチモードを支援する処理方法 - Google Patents
マルチモード支援プロセッサ及びマルチモードを支援する処理方法 Download PDFInfo
- Publication number
- JP6400296B2 JP6400296B2 JP2014013823A JP2014013823A JP6400296B2 JP 6400296 B2 JP6400296 B2 JP 6400296B2 JP 2014013823 A JP2014013823 A JP 2014013823A JP 2014013823 A JP2014013823 A JP 2014013823A JP 6400296 B2 JP6400296 B2 JP 6400296B2
- Authority
- JP
- Japan
- Prior art keywords
- end unit
- processing
- processing element
- unit
- activated
- 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
- 238000003672 processing method Methods 0.000 title claims description 13
- 238000012545 processing Methods 0.000 claims description 274
- 238000000034 method Methods 0.000 claims description 51
- 230000008569 process Effects 0.000 claims description 46
- 230000003213 activating effect Effects 0.000 claims description 5
- 230000008901 benefit Effects 0.000 description 9
- 230000006870 function Effects 0.000 description 5
- 230000004913 activation Effects 0.000 description 4
- 238000001994 activation Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000001934 delay Effects 0.000 description 2
- 230000009191 jumping Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 239000013256 coordination polymer Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000009849 deactivation Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000003287 optical 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/8007—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors single instruction multiple data [SIMD] multiprocessors
- G06F15/8015—One dimensional arrays, e.g. rings, linear arrays, buses
-
- 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/3005—Arrangements for executing specific machine instructions to perform operations for flow control
- G06F9/30058—Conditional branch 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/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3802—Instruction prefetching
- G06F9/3804—Instruction prefetching for branches, e.g. hedging, branch folding
-
- 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/3851—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution from multiple instruction streams, e.g. multistreaming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
- G06F9/3887—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled by a single instruction for multiple data lanes [SIMD]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
- G06F9/3888—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled by a single instruction for multiple threads [SIMT] in parallel
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
- G06F9/3888—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled by a single instruction for multiple threads [SIMT] in parallel
- G06F9/38885—Divergence aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
- G06F9/3889—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled by multiple instructions, e.g. MIMD, decoupled access or execute
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Multimedia (AREA)
- Advance Control (AREA)
- Multi Processors (AREA)
Description
110 インストラクションキャッシュ
120 フロントエンドユニット
130 インターコネクション部
140 プロセッシングエレメント
150 制御部
160 レジスタ
Claims (23)
- 複数のフロントエンドユニットと、
前記フロントエンドユニットより多いプロセシングエレメントと、
一フロントエンドユニットにより検出された条件分岐命令によりスレッドダイバージェンス(thread divergence)が発生するかどうかを判断し、前記条件分岐命令が発生すると判断した場合、前記プロセシングエレメントが現在活性化されたフロントエンドユニットを利用して命令を処理するように制御情報を設定し、前記条件分岐命令が発生しない場合、前記プロセシングエレメントが現在活性化された一つのフロントエンドユニットを利用して命令を処理するように、前記プロセシングエレメントを制御する制御情報を設定する制御部とを備えるプロセッサ。 - 前記制御情報に基づいて前記現在活性化されたフロントエンドユニットの命令語を処理するのに使用するプロセシングエレメントを判断し、前記命令語を前記使用するプロセシングエレメントに伝達するインターコネクション部をさらに備える請求項1に記載のプロセッサ。
- 前記制御部は
複数のレジスタを備え、前記各フロントエンドユニットに対応して各フロントエンドユニットに対する制御情報を格納する請求項1または2に記載のプロセッサ。 - 前記制御情報は、
前記各フロントエンドユニットに対するプロセシングエレメント割り当て情報を含む請求項3に記載のプロセッサ。 - 前記複数のレジスタは、
対応するフロントエンドユニットに対するプロセシングエレメント割り当て情報を格納するための全体プロセシングエレメント数分だけのビット領域を含む請求項4に記載のプロセッサ。 - 前記制御部は、
前記現在活性化されたフロントエンドユニットにより検出された条件分岐命令語を処理したプロセシングエレメントから処理結果を受信してスレッドダイバージェンスの有無を判断し、スレッドダイバージェンスが発生すると判断されると、活性化されていないフロントエンドユニットのうちの何れか一つをさらに活性化する請求項1ないし5いずれか一項に記載のプロセッサ。 - 前記制御部は、
前記さらに活性化されたフロントエンドユニットに前記プロセシングエレメントの一部を割り当てて、その割り当て情報を前記さらに活性化されたフロントエンドユニットに対応するレジスタに格納する請求項6に記載のプロセッサ。 - 前記制御部は、
前記現在活性化されたフロントエンドユニットと前記さらに活性化されたフロントエンドユニットにより条件分岐文の処理がすべて終了すると、前記さらに活性化されたフロントエンドユニットを非活性化し、そのさらに活性化されたフロントエンドユニットに割り当てられていたプロセシングエレメントを前記現在活性化されたフロントエンドユニットに割り当てられるように制御情報を設定する請求項6に記載のプロセッサ。 - 現在活性化されたフロントエンドユニットが条件分岐命令語を検出するステップと、
制御部が前記検出された条件分岐命令語によりスレッドダイバージェンスが発生するかどうかを判断するステップと、
制御部が、前記判断の結果、スレッドダイバージェンスが発生する場合、非活性化されているフロントエンドユニットのうちの何れか一つをさらに活性化するステップと、
制御部が前記活性化されたフロントエンドユニットを利用してプロセシングエレメントが命令語を処理するように制御情報を設定するステップと
を含むマルチモードを支援する処理方法。 - 前記制御部は、複数のフロントエンドユニットを含み、前記プロセシングエレメントは、前記フロントエンドユニットよりさらに多くの数からなる請求項9に記載のマルチモードを支援する処理方法。
- 前記スレッドダイバージェンスの発生有無を判断するステップは、
前記制御部が前記条件分岐命令語を処理したプロセシングエレメントから処理結果を受信し、その受信された処理結果に基づいてスレッドダイバージェンスが発生するかどうかを判断する請求項9または10に記載のマルチモードを支援する処理方法。 - 前記制御部は、
レジスタ内において前記各フロントエンドユニットに対応して各フロントエンドユニットに対する制御情報を格納する二つ以上のレジスタを含む請求項9ないし11いずれか一項に記載のマルチモードを支援する処理方法。 - 前記制御情報は、
前記各フロントエンドユニットに対するプロセシングエレメントの割り当て情報を含む請求項12に記載のマルチモードを支援する処理方法。 - 前記各レジスタは、
対応するフロントエンドユニットに対するプロセシングエレメントの割り当て情報を格納するためのプロセシングエレメント数分だけのビット領域を含む請求項13に記載のマルチモードを支援する処理方法。 - 前記制御情報設定ステップは、
前記さらに活性化されたフロントエンドユニットに対応するレジスタのビット領域において前記さらに活性化されたフロントエンドユニットに割り当てられたプロセシングエレメントに対応するビット値を設定する請求項14に記載のマルチモードを支援する処理方法。 - 制御部が前記現在活性化されたフロントエンドユニットとさらに活性化されたフロントエンドユニットにより処理される条件分岐がすべて終了しているかどうかを判断するステップと、
前記判断の結果、条件分岐がすべて終了すると、前記さらに活性化されたフロントエンドユニットを非活性化するステップと、
前記さらに活性化されたフロントエンドユニットに割り当てられていたプロセシングエレメントを前記現在活性化されたフロントエンドユニットに割り当てられるように制御情報を設定するステップと
を含む請求項9ないし15いずれか一項に記載のマルチモードを支援する処理方法。 - 条件分岐命令を検出する現在活性化されたフロントエンドユニットと、
検出された前記条件分岐命令に基づいて、スレッドダイバージェンスが発生するかどうかを判断し、前記スレッドダイバージェンスが発生する場合、現在非活性化されたフロントエンドユニットをさらに活性化し、プロセシングエレメントが前記活性化されたフロントエンドユニットから受信された命令を処理するように制御情報を設定する制御部と
を備えるマルチモードプロセッサ。 - 1またはそれ以上の非活性化されたフロントエンドユニットと、
フロントエンドユニットの総個数より多い数のプロセシングエレメントと
を備える請求項17に記載のマルチモードプロセッサ。 - 前記スレッドダイバージェンスが発生するかどうかを判断する時に、前記条件分岐命令を処理した結果を前記プロセシングエレメントから受信し、前記スレッドダイバージェンスが発生するかどうかを受信された結果に基づいて判断する、請求項17または18に記載のマルチモードプロセッサ。
- 条件分岐を個別的に実行する現在活性化されたフロントエンドユニットと、
前記条件分岐がすべて終了したかどうかを判断し、前記条件分岐がすべて終了したと判断した場合、少なくとも一つのフロントエンドユニットを非活性化する制御部と
を備え、
前記制御部は、前記非活性化されたフロントエンドユニットのプロセシングエレメントを他のフロントエンドユニットに再度割り当て、
前記制御部は、前記フロントエンドユニットの各々に関するレジスタをさらに備え、前記レジスタ内に前記フロントエンドユニットの各々に関する制御情報を格納し、
前記制御情報は、前記フロントエンドユニットの各々のプロセシングエレメント割り当て情報をさらに含む、
マルチモードプロセッサ。 - 前記レジスタの各々は、プロセシングエレメントの総個数分だけのビット領域を含み、前記プロセシングエレメント割り当て情報を前記レジスタに格納する、請求項20に記載のマルチモードプロセッサ。
- 前記制御情報を設定する時に、さらに活性化されたフロントエンドユニットに関するレジスタのビット領域のビット値を設定し、
前記ビット値は、前記さらに活性化されたフロントエンドユニットに割り当てられたプロセシングエレメントに対応する値である、請求項21に記載のマルチモードプロセッサ。 - 前記再度割り当ては、前記非活性化されたフロントエンドユニット及び前記他のフロントエンドユニットの前記ビット領域上において論理和(logical OR)演算に基づいて制御情報を設定することによってなされる、請求項22に記載のマルチモードプロセッサ。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020130009326A KR101603752B1 (ko) | 2013-01-28 | 2013-01-28 | 멀티 모드 지원 프로세서 및 그 프로세서에서 멀티 모드를 지원하는 방법 |
KR10-2013-0009326 | 2013-01-28 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014146335A JP2014146335A (ja) | 2014-08-14 |
JP6400296B2 true JP6400296B2 (ja) | 2018-10-03 |
Family
ID=51224349
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014013823A Active JP6400296B2 (ja) | 2013-01-28 | 2014-01-28 | マルチモード支援プロセッサ及びマルチモードを支援する処理方法 |
Country Status (4)
Country | Link |
---|---|
US (2) | US10120833B2 (ja) |
JP (1) | JP6400296B2 (ja) |
KR (1) | KR101603752B1 (ja) |
CN (1) | CN103970511B (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170365237A1 (en) * | 2010-06-17 | 2017-12-21 | Thincl, Inc. | Processing a Plurality of Threads of a Single Instruction Multiple Data Group |
US10133572B2 (en) * | 2014-05-02 | 2018-11-20 | Qualcomm Incorporated | Techniques for serialized execution in a SIMD processing system |
US9690361B2 (en) * | 2014-12-24 | 2017-06-27 | Intel Corporation | Low-power context-aware control for analog frontend |
US10996959B2 (en) * | 2015-01-08 | 2021-05-04 | Technion Research And Development Foundation Ltd. | Hybrid processor |
CN111712793B (zh) * | 2018-02-14 | 2023-10-20 | 华为技术有限公司 | 线程处理方法和图形处理器 |
CN111930428B (zh) * | 2020-09-27 | 2021-01-15 | 南京芯瞳半导体技术有限公司 | 一种条件分支指令的融合方法、装置及计算机存储介质 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5212777A (en) * | 1989-11-17 | 1993-05-18 | Texas Instruments Incorporated | Multi-processor reconfigurable in single instruction multiple data (SIMD) and multiple instruction multiple data (MIMD) modes and method of operation |
US6272616B1 (en) * | 1998-06-17 | 2001-08-07 | Agere Systems Guardian Corp. | Method and apparatus for executing multiple instruction streams in a digital processor with multiple data paths |
JP3604029B2 (ja) | 1999-01-12 | 2004-12-22 | 日本電気株式会社 | マルチスレッドプロセッサ |
US6643763B1 (en) * | 2000-02-28 | 2003-11-04 | International Business Machines Corporation | Register pipe for multi-processing engine environment |
US7472390B2 (en) | 2003-10-01 | 2008-12-30 | Intel Corporation | Method and apparatus to enable execution of a thread in a multi-threaded computer system |
US7324112B1 (en) * | 2004-04-12 | 2008-01-29 | Nvidia Corporation | System and method for processing divergent samples in a programmable graphics processing unit |
US20050289329A1 (en) * | 2004-06-29 | 2005-12-29 | Dwyer Michael K | Conditional instruction for a single instruction, multiple data execution engine |
US7418576B1 (en) | 2004-11-17 | 2008-08-26 | Nvidia Corporation | Prioritized issuing of operation dedicated execution unit tagged instructions from multiple different type threads performing different set of operations |
US7353369B1 (en) * | 2005-07-13 | 2008-04-01 | Nvidia Corporation | System and method for managing divergent threads in a SIMD architecture |
US7594095B1 (en) | 2005-11-29 | 2009-09-22 | Nvidia Corporation | Multithreaded SIMD parallel processor with launching of groups of threads |
WO2008023576A1 (fr) * | 2006-08-23 | 2008-02-28 | Nec Corporation | Élément de traitement, système de processeur parallèle en mode mixte, procédé pour élément de traitement, procédé pour processeur parallèle en mode mixte, programme pour élément de traitement, et programme pour processeur parallèle en mode mixte |
US8381203B1 (en) * | 2006-11-03 | 2013-02-19 | Nvidia Corporation | Insertion of multithreaded execution synchronization points in a software program |
US8677106B2 (en) * | 2009-09-24 | 2014-03-18 | Nvidia Corporation | Unanimous branch instructions in a parallel thread processor |
US8959319B2 (en) * | 2010-12-13 | 2015-02-17 | Advanced Micro Devices, Inc. | Executing first instructions for smaller set of SIMD threads diverging upon conditional branch instruction |
US9606808B2 (en) * | 2012-01-11 | 2017-03-28 | Nvidia Corporation | Method and system for resolving thread divergences |
-
2013
- 2013-01-28 KR KR1020130009326A patent/KR101603752B1/ko active IP Right Grant
-
2014
- 2014-01-28 CN CN201410042215.XA patent/CN103970511B/zh active Active
- 2014-01-28 JP JP2014013823A patent/JP6400296B2/ja active Active
- 2014-01-28 US US14/165,881 patent/US10120833B2/en active Active
-
2015
- 2015-01-27 US US14/606,240 patent/US20150143081A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
US20150143081A1 (en) | 2015-05-21 |
US20140215193A1 (en) | 2014-07-31 |
US10120833B2 (en) | 2018-11-06 |
JP2014146335A (ja) | 2014-08-14 |
CN103970511B (zh) | 2018-06-05 |
KR20140097651A (ko) | 2014-08-07 |
KR101603752B1 (ko) | 2016-03-28 |
CN103970511A (zh) | 2014-08-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6400296B2 (ja) | マルチモード支援プロセッサ及びマルチモードを支援する処理方法 | |
US7577826B2 (en) | Stall prediction thread management | |
US8205200B2 (en) | Compiler-based scheduling optimization hints for user-level threads | |
US20070150895A1 (en) | Methods and apparatus for multi-core processing with dedicated thread management | |
US9244883B2 (en) | Reconfigurable processor and method of reconfiguring the same | |
JP6317065B2 (ja) | 再構成可能プロセッサ及びそのコード変換装置及び方法 | |
KR102177871B1 (ko) | 멀티 쓰레딩을 지원하기 위한 연산 유닛, 이를 포함하는 프로세서 및 프로세서의 동작 방법 | |
CN110308982B (zh) | 一种共享内存复用方法及装置 | |
JP2019160352A (ja) | 多重スレッド実行プロセッサ及び動作方法 | |
JP6457200B2 (ja) | プロセッシング装置 | |
KR20140131472A (ko) | 상수 저장 레지스터를 구비하는 재구성 가능 프로세서 | |
KR20110106717A (ko) | 재구성 가능 어레이 및 재구성 가능 어레이의 제어 방법 | |
JP2003076667A (ja) | マルチプロセッサシステムおよびプログラム最適化方法 | |
KR20220016993A (ko) | 그래픽 처리 유닛(Graphics Processing Unit, GPU)의 명시적 독립 마스크 레지스터의 마스크 조작 방법 | |
US7617494B2 (en) | Process for running programs with selectable instruction length processors and corresponding processor system | |
JP2004529405A (ja) | 依存性を決定するためのコンテンツ・アドレス指定可能メモリを実装したスーパースケーラ・プロセッサ | |
EP3329361A1 (en) | Vector operand bitsize control | |
JP4420055B2 (ja) | マルチスレッドプロセッサ及びそれに用いるスレッド間同期操作方法 | |
JP4439288B2 (ja) | 同時多重スレッディングプロセッサ、動作するスレッドの数に基づいて相異なる性能レベルで動作するように構成されるコンピュータプログラム格納媒体及びこれらを動作させる方法 | |
JP5238876B2 (ja) | 情報処理装置及び情報処理方法 | |
US20120023317A1 (en) | Digital data processing systems | |
JP2004240953A (ja) | コンピュータシステム、その同時多重スレッディング方法およびキャッシュコントローラシステム。 | |
EP1378825B1 (en) | A method for executing programs on selectable-instruction-length processors and corresponding processor system | |
KR102055617B1 (ko) | 운영 체제에서 수행되는 프로세스의 가상 주소 공간을 확장하는 방법 및 시스템 | |
JP2006139645A (ja) | プロセッサおよび演算処理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170104 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180214 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180227 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180525 |
|
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: 20180807 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180905 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6400296 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 |