JP2013182420A - ベクトル処理装置およびベクトル処理方法 - Google Patents
ベクトル処理装置およびベクトル処理方法 Download PDFInfo
- Publication number
- JP2013182420A JP2013182420A JP2012045821A JP2012045821A JP2013182420A JP 2013182420 A JP2013182420 A JP 2013182420A JP 2012045821 A JP2012045821 A JP 2012045821A JP 2012045821 A JP2012045821 A JP 2012045821A JP 2013182420 A JP2013182420 A JP 2013182420A
- Authority
- JP
- Japan
- Prior art keywords
- vector
- instruction
- storage
- storage pointer
- register
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 239000013598 vector Substances 0.000 title claims abstract description 423
- 238000003672 processing method Methods 0.000 title claims description 9
- 238000000034 method Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 6
- 101100023962 Zea mays VP15 gene Proteins 0.000 description 5
- 238000005352 clarification Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification 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/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/34—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
- G06F9/345—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes of multiple operands or results
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)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Advance Control (AREA)
- Complex Calculations (AREA)
- Executing Machine-Instructions (AREA)
Abstract
【解決手段】ベクトル処理装置は、ベクトルレジスタの使用要素範囲を特定する情報を含むベクトル命令の実行制御を行う命令制御部30と、ベクトルレジスタの使用要素の位置を指示する格納ポインタを生成する格納ポインタ生成部40と、複数のベクトルレジスタそれぞれが分散配置されて並列処理を実行する複数のベクトルパイプラインを含む命令実行部50と、を備える。格納ポインタ生成部40は、先行ベクトル命令の要素に続けて後続のベクトル命令列の要素を、複数のベクトルレジスタの特定した使用要素範囲に格納できるように、ベクトル命令を参照して格納ポインタを制御する。命令実行部50は、格納ポインタに従って、ベクトルレジスタへの要素の格納を行う。
【選択図】図7
Description
[構成の説明]
図1は、本実施の形態に係るベクトル処理装置の構成例を示している。ベクトル処理装置は、命令フェッチ部10と、デコーダ部20と、命令制御部30と、格納ポインタ生成部40と、命令実行部50と、メモリ制御部60と、メモリ70と、を備える。
続いて以下では、ベクトル処理装置の動作の一例を、図4〜図6を用いて説明する。本実施の形態では、2次元配列の行列和の演算を例に説明し、以下に、この演算処理を実現するためのプログラムの構成例を示す。なお、以下の例では、ループ回数mが、ベクトルマシンのパイプラインの並列度と比較して小さな場合を例に説明する。下記のプログラムは2重のループを用いて構成されている。外側のループはカウンタiを用いたn回のループにより構成され、内側のループはカウンタjを用いたm回のループにより構成されている。
[演算の一例]
for ( i=0 ; i<n ; i++ ) {
for ( j=0 ; j<m ; j++ ) { C[i][j] = A[i][j] + B[i][j] ; }
}
[ベクトル処理演算の一例:一般的なプログラムの構成例]
iの値を初期化
LOOP:
iの値がnより小さくなければループから脱出
A[i]のアドレスから、m個分のデータをベクトルロードし、ベクトルレジスタ0へ
B[i]のアドレスから、m個分のデータをベクトルロードし、ベクトルレジスタ1へ
ベクトルレジスタ0とベクトルレジスタ1をm回分ベクトル加算し、ベクトルレジスタ2へ
ベクトルレジスタ2の内容を、C[i]のアドレスから、m個分ベクトルストア
LOOPに戻る
具体的に説明する。例えば最大ベクトル長を256要素とするベクトル処理システムにおいて、そのシステムのマイクロアーキテクチャが、16本のベクトルパイプラインを備える構成例を想定する。一般的に、ベクトルレジスタは、16本のベクトルパイプラインに対して分散して配置される。分散配置される際のルールとしては、例えば、"要素番号を16で剰余したときに値が0となる要素については、16本のベクトルパイプラインのうちで0番目のベクトルパイプラインを用いる。要素番号を16で剰余したときに値が1となる要素については、1番目のベクトルパイプラインを用いる。" という手法が考えられる。
[本実施の形態に係るベクトル処理演算の一例]
iの値を初期化
LOOP:
iの値がnより小さくなければループから脱出
A[i]のアドレスから、m個分のデータをベクトルロードし、ベクトルレジスタ0へ、連続格納フラグが連続格納を示していない・・・命令(1)
A[i+1]のアドレスから、m個分のデータをベクトルロードし、ベクトルレジスタ0へ、連続格納フラグが連続格納を示している・・・命令(2)
B[i]のアドレスから、m個分のデータをベクトルロードし、ベクトルレジスタ1へ、連続格納フラグが連続格納を示していない・・・命令(3)
B[i+1]のアドレスから、m個分のデータをベクトルロードし、ベクトルレジスタ1へ、連続格納フラグが連続格納を示している・・・命令(4)
ベクトルレジスタ0とベクトルレジスタ1を2*m回分ベクトル加算し、ベクトルレジスタ2へ・・・命令(5)
ベクトルレジスタ2の内容を、C[i]のアドレスから、m個分ベクトルストアし、連続格納フラグが連続格納を示していない・・・命令(6)
ベクトルレジスタ2の内容を、C[i+1]のアドレスから、m個分ベクトルストア、連続格納フラグが連続格納を示している・・・命令(7)
iを2インクリメントする
LOOPに戻る
命令制御部30は、連続格納を示していない連続格納フラグと、ベクトル長mと、をベクトルレジスタ0格納ポインタ生成部400へ送出する。
ベクトルレジスタ0格納ポインタ生成部400は、入力された連続格納フラグが連続格納を示していないため、0番目の要素位置から格納を開始するという情報(ベクトルレジスタ0格納ポインタ)を、命令実行部50の対応するベクトルレジスタ(命令実行部50の0番目のベクトルレジスタ)へ送出し、また、格納ポインタ401の現在値としてベクトル長mを保持する。
命令制御部30は、メモリ70に記憶されたデータについて、アドレスA[i]からm個分のデータをロードするようにメモリ制御部60に対して指示を送出する。また、命令制御部30は、命令実行部50の0番目のベクトルレジスタに対して、要素0から格納するように格納指示を送出する。
命令制御部30は、連続格納を示す連続格納フラグと、ベクトル長mと、をベクトルレジスタ0格納ポインタ生成部400へ送出する。
ベクトルレジスタ0格納ポインタ生成部400は、入力された連続格納フラグが連続格納を示すため、格納ポインタ401の現在値(m)を、命令実行部50の0番目のベクトルレジスタへ送出し、また、格納ポインタ401の現在値(m)にベクトル長mを加え、その値(m+m=2*m)を、格納ポインタ401に保持する。
命令制御部30は、メモリ70に記憶されたデータについて、アドレスA[i+1]からm個分のデータをロードするようにメモリ制御部60に対して指示を送出する。また、命令制御部30は、命令実行部50の0番目のベクトルレジスタに対して、要素mから格納するように格納指示を送出する。
命令制御部30は、連続格納を示していない連続格納フラグと、ベクトル長2*mと、をベクトルレジスタ2格納ポインタ生成部420へ送出する。
ベクトルレジスタ2格納ポインタ生成部420は、入力された連続格納フラグが連続格納を示していないため、0番目の要素位置から格納を開始するという情報(ベクトルレジスタ2格納ポインタ)を、命令実行部50の2番目のベクトルレジスタへ送出し、また、格納ポインタ421の値としてベクトル長2*mを保持する。
命令制御部30は、命令実行部50の0番目のベクトルレジスタと、命令実行部50の1番目のベクトルレジスタとに対して、2*m個分の加算指示を送出する。また、命令制御部30は、命令実行部50の2番目のベクトルレジスタに対して、要素0から格納するように格納指示を送出する。
命令制御部30は、連続格納を示していない連続格納フラグと、ベクトル長mと、をベクトルレジスタ2格納ポインタ生成部420へ送出する。
ベクトルレジスタ2格納ポインタ生成部420は、連続格納フラグが連続格納を示していないため、0番目の要素位置から格納を開始するという情報(ベクトルレジスタ2格納ポインタ)を、命令実行部50の2番目のベクトルレジスタへ送出し、また、格納ポインタ421の値としてベクトル長mを保持する。
命令制御部30は、要素0からm個分のデータを、メモリ70におけるアドレスC[i]から開始してストアするように、命令実行部50の2番目のベクトルレジスタに対してストア指示(ベクトルレジスタへの読み出し指示)を送出する。
命令制御部30は、ベクトル長mと連続格納フラグをベクトルレジスタ2格納ポインタ生成部420へ送出する。
ベクトルレジスタ2格納ポインタ生成部420は、入力された連続格納フラグが連続格納を示すため、現在の格納ポインタ421の値(m)を命令実行部50の2番目のベクトルレジスタへ送出し、また、格納ポインタ421の現在値(m)にベクトル長mを加え、その値(m+m=2*m)を、格納ポインタ421に保持する。
命令制御部30は、要素mからm個分のデータを、メモリ70におけるアドレスC[i+1]から開始してストアするように、命令実行部50の2番目のベクトルレジスタに対してストア指示(ベクトルレジスタへの読み出し指示)を送出する。
これにより、短ベクトル長である連続したベクトル命令の要素を、単一のベクトルレジスタにまとめて格納することができるため、短ベクトル長の命令であっても演算器へと間断なく要素供給することが可能になり、その結果、演算器の利用効率を向上させることができる。
本実施の形態では、上述した発明の実施の形態1に係るベクトル処理装置の変形例について説明する。上述した実施の形態1では、2つの短ベクトルを1つにまとめて処理する場合を例に説明したが、より多くの短ベクトルを1つにまとめて処理するものとしてもよい。
上述した実施の形態1では、ベクトルレジスタへの使用要素範囲を特定する情報として、連続格納フラグとベクトル長を用いる例を示した。しかしながら、ベクトルレジスタへの使用要素範囲を特定するための情報、具体的には、"ベクトルレジスタの格納ポインタを制御するための情報"は、"ベクトルレジスタの使用開始要素番号とベクトル長"を用いることで実現されてもよい。また、"ベクトルレジスタの使用開始要素番号と終了要素番号"を用いることで実現されてもよい。
ベクトルレジスタの使用要素範囲を特定する情報を含むベクトル命令の実行制御を行う命令制御部と、
ベクトルレジスタの使用要素の位置を指示する格納ポインタを生成する格納ポインタ生成部と、
複数のベクトルレジスタそれぞれが分散配置されて並列処理を実行する複数のベクトルパイプラインを含む命令実行部と、を備え、
前記格納ポインタ生成部は、先行ベクトル命令の要素に続けて後続のベクトル命令列の要素を、前記複数のベクトルレジスタの特定した使用要素範囲に格納できるように、前記ベクトル命令を参照して前記格納ポインタを制御し、
前記命令実行部は、前記格納ポインタ生成部によって生成された前記格納ポインタに従って、前記ベクトルレジスタへの要素の格納を行う、ベクトル処理装置。
前記命令制御部は、前記ベクトルレジスタに要素を連続して格納するか否かを示す連続格納フラグと、前記ベクトル命令の対象となるベクトルデータのベクトル長と、を含むベクトル命令の実行制御を行い、
前記格納ポインタ生成部は、前記連続格納フラグが前記ベクトルレジスタに要素を連続して格納することを示す場合には、現在保持する格納ポインタを前記実行制御部の前記ベクトルレジスタへ送出し、前記ベクトル長に応じて前記保持する格納ポインタを更新する、付記1に記載のベクトル処理装置。
先行ベクトル命令の要素に続けて後続のベクトル命令列の要素を、複数のベクトルレジスタの特定した使用要素範囲に格納できるように、ベクトル命令を参照して格納ポインタを制御する格納ポインタ生成ステップと、
前記格納ポインタに従って、前記ベクトルレジスタへの要素の格納を行う命令実行ステップと、を有するベクトル処理装置のベクトル処理方法。
前記格納ポインタ生成ステップは、前記ベクトルレジスタに要素を連続して格納するか否かを示す連続格納フラグが前記ベクトルレジスタに要素を連続して格納することを示す場合には、現在保持する格納ポインタを前記実行制御部の前記ベクトルレジスタへ送出し、前記ベクトル命令の対象となるベクトルデータのベクトル長に応じて前記保持する格納ポインタを更新する、付記3に記載のベクトル処理装置のベクトル処理方法。
20 デコーダ部、
30 命令制御部、
40 格納ポインタ生成部、
400 ベクトルレジスタ0格納ポインタ生成部、
410 ベクトルレジスタ1格納ポインタ生成部、
420 ベクトルレジスタ2格納ポインタ生成部、
401、411、421 格納ポインタ
50 命令実行部、
500 ベクトルパイプライン、
520、540、560 ベクトルレジスタ、
60 メモリ制御部、
70 メモリ、
Claims (4)
- ベクトルレジスタの使用要素範囲を特定する情報を含むベクトル命令の実行制御を行う命令制御部と、
ベクトルレジスタの使用要素の位置を指示する格納ポインタを生成する格納ポインタ生成部と、
複数のベクトルレジスタそれぞれが分散配置されて並列処理を実行する複数のベクトルパイプラインを含む命令実行部と、を備え、
前記格納ポインタ生成部は、先行ベクトル命令の要素に続けて後続のベクトル命令列の要素を、前記複数のベクトルレジスタの特定した使用要素範囲に格納できるように、前記ベクトル命令を参照して前記格納ポインタを制御し、
前記命令実行部は、前記格納ポインタ生成部によって生成された前記格納ポインタに従って、前記ベクトルレジスタへの要素の格納を行う、
ベクトル処理装置。 - 前記命令制御部は、前記ベクトルレジスタに要素を連続して格納するか否かを示す連続格納フラグと、前記ベクトル命令の対象となるベクトルデータのベクトル長と、を含むベクトル命令の実行制御を行い、
前記格納ポインタ生成部は、前記連続格納フラグが前記ベクトルレジスタに要素を連続して格納することを示す場合には、現在保持する格納ポインタを前記実行制御部の前記ベクトルレジスタへ送出し、前記ベクトル長に応じて前記保持する格納ポインタを更新する、
請求項1に記載のベクトル処理装置。 - 先行ベクトル命令の要素に続けて後続のベクトル命令列の要素を、複数のベクトルレジスタの特定した使用要素範囲に格納できるように、ベクトル命令を参照して格納ポインタを制御する格納ポインタ生成ステップと、
前記格納ポインタに従って、前記ベクトルレジスタへの要素の格納を行う命令実行ステップと、
を有するベクトル処理装置のベクトル処理方法。 - 前記格納ポインタ生成ステップは、前記ベクトルレジスタに要素を連続して格納するか否かを示す連続格納フラグが前記ベクトルレジスタに要素を連続して格納することを示す場合には、現在保持する格納ポインタを前記実行制御部の前記ベクトルレジスタへ送出し、前記ベクトル命令の対象となるベクトルデータのベクトル長に応じて前記保持する格納ポインタを更新する、
請求項3に記載のベクトル処理装置のベクトル処理方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012045821A JP5413473B2 (ja) | 2012-03-01 | 2012-03-01 | ベクトル処理装置およびベクトル処理方法 |
US13/781,945 US20130232317A1 (en) | 2012-03-01 | 2013-03-01 | Vector processing apparatus and vector processing method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012045821A JP5413473B2 (ja) | 2012-03-01 | 2012-03-01 | ベクトル処理装置およびベクトル処理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013182420A true JP2013182420A (ja) | 2013-09-12 |
JP5413473B2 JP5413473B2 (ja) | 2014-02-12 |
Family
ID=49043510
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012045821A Active JP5413473B2 (ja) | 2012-03-01 | 2012-03-01 | ベクトル処理装置およびベクトル処理方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20130232317A1 (ja) |
JP (1) | JP5413473B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7513316B1 (ja) | 2023-03-20 | 2024-07-09 | Necプラットフォームズ株式会社 | ベクトルプロセッサ、ベクトルプロセッサの制御方法、及び、プログラム |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2536069B (en) * | 2015-03-25 | 2017-08-30 | Imagination Tech Ltd | SIMD processing module |
KR102593320B1 (ko) * | 2016-09-26 | 2023-10-25 | 삼성전자주식회사 | 전자 장치, 프로세서 및 그 제어 방법 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006268168A (ja) * | 2005-03-22 | 2006-10-05 | Nec Computertechno Ltd | ベクトル命令管理回路、ベクトル処理装置、ベクトル命令管理方法、ベクトル処理方法、ベクトル命令管理プログラム、および、ベクトル処理プログラム |
JP2008083947A (ja) * | 2006-09-27 | 2008-04-10 | Nec Computertechno Ltd | 情報処理装置、記憶領域制御方法及びプログラム |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5537606A (en) * | 1995-01-31 | 1996-07-16 | International Business Machines Corporation | Scalar pipeline replication for parallel vector element processing |
US6330657B1 (en) * | 1999-05-18 | 2001-12-11 | Ip-First, L.L.C. | Pairing of micro instructions in the instruction queue |
US7802076B2 (en) * | 2004-06-24 | 2010-09-21 | Intel Corporation | Method and apparatus to vectorize multiple input instructions |
US7631171B2 (en) * | 2005-12-19 | 2009-12-08 | Sun Microsystems, Inc. | Method and apparatus for supporting vector operations on a multi-threaded microprocessor |
US20090106525A1 (en) * | 2007-10-23 | 2009-04-23 | David Arnold Luick | Design structure for scalar precision float implementation on the "w" lane of vector unit |
US8356162B2 (en) * | 2008-03-18 | 2013-01-15 | International Business Machines Corporation | Execution unit with data dependent conditional write instructions |
US9851977B2 (en) * | 2012-12-06 | 2017-12-26 | Kalray | Apparatus and method for combining thread warps with compatible execution masks for simultaneous execution and increased lane utilization |
-
2012
- 2012-03-01 JP JP2012045821A patent/JP5413473B2/ja active Active
-
2013
- 2013-03-01 US US13/781,945 patent/US20130232317A1/en not_active Abandoned
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006268168A (ja) * | 2005-03-22 | 2006-10-05 | Nec Computertechno Ltd | ベクトル命令管理回路、ベクトル処理装置、ベクトル命令管理方法、ベクトル処理方法、ベクトル命令管理プログラム、および、ベクトル処理プログラム |
JP2008083947A (ja) * | 2006-09-27 | 2008-04-10 | Nec Computertechno Ltd | 情報処理装置、記憶領域制御方法及びプログラム |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7513316B1 (ja) | 2023-03-20 | 2024-07-09 | Necプラットフォームズ株式会社 | ベクトルプロセッサ、ベクトルプロセッサの制御方法、及び、プログラム |
Also Published As
Publication number | Publication date |
---|---|
JP5413473B2 (ja) | 2014-02-12 |
US20130232317A1 (en) | 2013-09-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6068493B2 (ja) | 暗号化アルゴリズム内のハッシュ値の生成をサポートするためのsimd命令 | |
JP2017097900A5 (ja) | ||
TWI764966B (zh) | 用於控制矢量記憶體存取之資料處理裝置及方法 | |
JP4202244B2 (ja) | Vliw型dsp,及びその動作方法 | |
EP2352082B1 (en) | Data processing device for performing a plurality of calculation processes in parallel | |
JP5413473B2 (ja) | ベクトル処理装置およびベクトル処理方法 | |
US10402199B2 (en) | Conditional execution specification of instructions using conditional extension slots in the same execute packet in a VLIW processor | |
KR102458467B1 (ko) | 벡터 생성 명령 | |
US8055883B2 (en) | Pipe scheduling for pipelines based on destination register number | |
IL256403A (en) | Array query length instruction | |
EP2652597B1 (en) | Method and apparatus for scheduling the issue of instructions in a microprocessor using multiple phases of execution | |
JP7186212B2 (ja) | データ処理装置におけるベクトル・インタリーブ | |
KR102365306B1 (ko) | 데이터 처리장치 및 벡터 스캔 연산의 수행방법 | |
JP5238876B2 (ja) | 情報処理装置及び情報処理方法 | |
JP2008015589A (ja) | Vliw型プロセッサおよび命令発行方法 | |
JP6237241B2 (ja) | 処理装置 | |
JP4896839B2 (ja) | マイクロプロセッサおよびデータ処理方法 | |
CN111752614A (zh) | 一种处理器、指令执行设备及方法 | |
JP2009251724A (ja) | ベクトルプロセッサ制御装置 | |
JP2017041162A (ja) | 最適化装置、方法およびプログラム | |
US20100153688A1 (en) | Apparatus and method for data process | |
JP4703735B2 (ja) | コンパイラ、コード生成方法、コード生成プログラム | |
JPH05173785A (ja) | 命令先取り装置 | |
JP2011145886A (ja) | 情報処理装置 | |
JPH05165633A (ja) | 命令先取り装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130611 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130809 |
|
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: 20131015 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20131028 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5413473 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |