JP4398965B2 - Data setting device in SIMD processor - Google Patents
Data setting device in SIMD processor Download PDFInfo
- Publication number
- JP4398965B2 JP4398965B2 JP2006258862A JP2006258862A JP4398965B2 JP 4398965 B2 JP4398965 B2 JP 4398965B2 JP 2006258862 A JP2006258862 A JP 2006258862A JP 2006258862 A JP2006258862 A JP 2006258862A JP 4398965 B2 JP4398965 B2 JP 4398965B2
- Authority
- JP
- Japan
- Prior art keywords
- register
- instruction
- data
- circuit
- bit
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Executing Machine-Instructions (AREA)
- Advance Control (AREA)
Description
本発明は、画像データ等を高速処理するために同一の命令で複数データに対して同じ処理を行うSIMD(Single Instruction−stream Multiple Data−stream)型マイクロプロセッサに関する。 The present invention relates to a single instruction-stream multiple data-stream (SIMD) type microprocessor that performs the same processing on a plurality of data with the same instruction in order to process image data and the like at high speed.
近年、デジタル複写機やファクシミリ装置等の画像処理においては、画素数の増加、画像処理の多様化などにより画質の向上が図られている。このような画像処理では、複数(多数)のデータに対して同時に同じ処理を施すことが多い。その際、高速性を高めるため、1命令で1つのデータを処理するSISD(Single Instruction−stream Single Data−stream)型マイクロプロセッサよりも、1命令で複数のデータを同時処理する、SIMD(Single Instruction−stream Multiple Data−stream)型マイクロプロセッサが用いられることが多い。 In recent years, in image processing such as digital copying machines and facsimile machines, image quality has been improved by increasing the number of pixels and diversifying image processing. In such image processing, the same processing is often performed simultaneously on a plurality (many) of data. At this time, in order to improve the high speed, a single instruction-single instruction-simulation (single instruction-stream) single-stream data (SIMD) type microprocessor that processes one piece of data at a time, rather than a single instruction-stream single data-stream (SISD) type microprocessor. -Stream (Multiple Data-stream) type microprocessor is often used.
図1は、一般的なSIMD型マイクロプロセッサ2の概略の構成を示すブロック図である。該SIMD型マイクロプロセッサ2は、概略、グローバルプロセッサ(以下では、GPと言う。)4、及びプロセッサエレメント3により構成されるのであるが、複数のデータを一度に処理するためにプロセッサエレメント3を複数個装備している。各プロセッサエレメント3は、レジスタファイル6と演算アレイ8を備える。GP4は、プロセッサ2全体の制御を行ない、プロセッサエレメント3は、外部入出力装置からデータを入力しデータ処理を行ない、外部入出力装置に出力する。
FIG. 1 is a block diagram showing a schematic configuration of a general
上記のSIMD型マイクロプロセッサ2は、通常、1クロックサイクルで1命令を処理するが、1命令でプロセッサエレメント3の個数分のデータを一度に処理することができる。SIMD型マイクロプロセッサ2の性能を表す際には、SIMD型マイクロプロセッサ2の動作周波数や、プロセッサエレメント3の個数、即ち1命令で処理できるデータの数などが重要視されるが、更に、命令サイクル数も重要な要素とされる。つまり、同じ画像処理を行う限り1命令サイクルでも少ないほうが性能がよいとされるのである。しかし、1命令で複雑な処理を行うために、複雑な回路を設計・利用するならば、どうしてもコストが増大する。
The
本発明は、有効な命令と命令を実現する簡素な手段を設けることにより、上記のような画像データ処理に伴う命令の命令実行サイクル数を減らすことを目的とする。 It is an object of the present invention to reduce the number of instruction execution cycles of instructions associated with image data processing as described above by providing effective instructions and simple means for realizing the instructions.
本発明は、上記の目的を達成するためになされたものである。本発明に係る請求項1に記載のSIMD型マイクロプロセッサは、
全体制御を行うグローバルプロセッサと、複数のプロセッサエレメントを含むSIMD型マイクロプロセッサであって、
各々のプロセッサエレメントには、識別のための整数番号が順に付されており、
各プロセッサエレメントは、
そのプロセッサエレメントに付される識別のための整数番号が外部から入力される接続線と、
上記接続線に対して、上記グローバルプロセッサからのマスク制御信号を取り入れる論理回路が挿入されるマスク回路と
を有するSIMD型マイクロプロセッサである。
The present invention has been made to achieve the above object. According to the first aspect of the present invention, there is provided a SIMD type microprocessor.
A global processor for overall control and a SIMD type microprocessor including a plurality of processor elements ,
Each processor element is given an integer number for identification, in order,
Each processor element
A connection line to which an integer number for identification attached to the processor element is input from the outside;
A mask circuit in which a logic circuit for receiving a mask control signal from the global processor is inserted into the connection line;
A SIMD type microprocessor having
本発明を利用することにより、特に、画像データ処理に伴う命令の命令実行サイクル数を減らすことができる。そのために増設の必要な回路は、簡素なものであるに過ぎない。 By utilizing the present invention, it is possible to reduce the number of instruction execution cycles for instructions associated with image data processing. Therefore, the circuit that needs to be added is only a simple one.
以下、図面を参照して本発明に係る好適な実施の形態を説明する。 DESCRIPTION OF THE PREFERRED EMBODIMENTS Preferred embodiments according to the present invention will be described below with reference to the drawings.
図1は、本発明を含む一般的なSIMD型マイクロプロセッサ2の概略の構成を示すブロック図である。主としてプロセッサ2全体を制御するグローバルプロセッサ(以下、GPと言う。)4と、主として外部入出力装置からデータを入力しデータ処理を行い、外部入出力装置にデータを出力するプロセッサエレメント3とから、構成される。プロセッサエレメント3は、複数データを同時に処理するために複数用意されている。図1では、1個のGP4と、256個のプロセッサエレメント3とにより、SIMD型マイクロプロセッサ2が構成されている。
FIG. 1 is a block diagram showing a schematic configuration of a general
図2は、本発明に係るSIMD型マイクロプロセッサ2のより詳細な構成を示すブロック図である。図に示されるようにGP4は、
・命令コードで構成されるプログラムを格納するためのプログラムRAM10と、
・GP4での演算データを格納するデータRAM12と、
・プログラムを解読し各種ブロックに各種制御信号を送るシーケンシャルユニット(SCU)9と、
・データを格納する複数の汎用レジスタ(G0〜G3)と、
・SCU9にプログラムの命令コードを送るためにプログラムのアドレスを保持するプログラムカウンタ(PC)14と、
・データメモリにスタックを形成するためデータメモリのアドレスを格納するスタックポインタ(SP)24と、
・プログラムの途中でサブルーチン処理を行う際には分岐が発生するが分岐前のアドレスを格納する複数のリンクレジスタ(LS、LI、LN)と、
・データメモリのデータ、命令コード中に記述された数値(即値)データ、若しくは汎用レジスタに格納されているデータのいずれかの組み合わせで算術論理演算を行う算術論理演算装置(ALU)11と、
・プロセッサの状態を保持するプロセッサステータスレジスタ(図示せず。)と、
・ハードウェア割り込みとソフトウェア割り込みを制御する割り込み制御回路(図示せず。)と、
・外部入出力に直接接続され外部からのデータの入出力を制御する外部I/O制御回路(図示せず。)と
を含む。
FIG. 2 is a block diagram showing a more detailed configuration of the
A
A
A sequential unit (SCU) 9 that decodes the program and sends various control signals to various blocks;
A plurality of general purpose registers (G0 to G3) for storing data;
A program counter (PC) 14 that holds the address of the program to send the instruction code of the program to the SCU 9;
A stack pointer (SP) 24 for storing the address of the data memory in order to form a stack in the data memory;
-When performing subroutine processing in the middle of a program, a branch occurs, but a plurality of link registers (LS, LI, LN) for storing addresses before branching;
An arithmetic and logic unit (ALU) 11 that performs an arithmetic and logical operation on any combination of data in data memory, numeric (immediate) data described in an instruction code, or data stored in a general-purpose register;
A processor status register (not shown) that holds the state of the processor;
An interrupt control circuit (not shown) for controlling hardware interrupts and software interrupts;
An external I / O control circuit (not shown) that is directly connected to the external input / output and controls the input / output of data from the outside.
図2では示していないが、上記SCU9は、GP命令を解読し主にGP内の各ブロックに制御信号を発生するGPインストラクションデコーダと、プロセッサエレメント命令を解読し主にプロセッサエレメント内の各ブロックに制御信号を発生するプロセッサエレメントインストラクションデコーダとで、構成される。即ち、本プロセッサに係る命令コードは、主にGP4内の各ブロックを制御し、プログラムのシーケンスを決定したり、プロセッサエレメント3に転送する共通データをGP4内のALU11で加工したりするGP命令と、外部入出力から一度に入力されたデータをプロセッサエレメント3毎に処理をさせるプロセッサエレメント命令とに、分類される。
Although not shown in FIG. 2, the SCU 9 decodes the GP instruction and generates a control signal mainly in each block in the GP, and decodes the processor element instruction and mainly in each block in the processor element. And a processor element instruction decoder for generating a control signal. That is, the instruction code related to this processor is a GP instruction that mainly controls each block in GP4, determines a program sequence, and processes common data to be transferred to
図1に示すように、各プロセッサエレメント3は、外部からの入出力データを一時的に保持するレジスタファイル6と、プロセッサエレメント3内で算術論理演算やビット演算のデータ処理を行うための演算アレイ8を含む。さらに図2に示すようにレジスタファイル6には、例えば、R0〜R31までの8ビットのレジスタ34が32本用意されている。これらのレジスタ34からデータが演算アレイ8に転送され、又逆に演算アレイ8からデータが転送されてレジスタ34に格納される。レジスタ34と演算アレイ6とのバスは、8ビットの双方向バスである。
As shown in FIG. 1, each
更に図2に示すように、単体の演算アレイ8は演算ユニットであり、
・レジスタファイル6からのデータをシフトして符号付き拡張もしくは符号無し拡張をし16ビットデータに加工するシフト・拡張器44と、
・例えば、Aレジスタ36とFレジスタ40のような複数の汎用レジスタと、
・レジスタファイル6からのデータをシフト・拡張器44を経由して加工し1入力とし、他方の入力をAレジスタ36からの入力とする算術論理演算装置(ALU)36と、
・(後で説明する)本発明に係るPE番号マスク回路、固定値選択回路、及びnおきビットパターンデータ出力回路の夫々からの出力を入力とし、自らの出力をAレジスタ38やTレジスタ54に繋げる選択回路35と
を含む。算術論理演算装置(ALU)36の出力は、Aレジスタ36もしくはFレジスタ40に一時格納されように設定されているが、Aレジスタ36からレジスタファイル6の所定の1レジスタ34にデータ転送されることも可能である。
Further, as shown in FIG. 2, the single
A shift /
For example, a plurality of general purpose registers such as
An arithmetic logic unit (ALU) 36 that processes the data from the
The outputs from the PE number mask circuit, fixed value selection circuit, and n-th bit pattern data output circuit according to the present invention are input to the A register 38 and the T register 54 (described later). And a selection circuit 35 to be connected. The output of the arithmetic logic unit (ALU) 36 is set so as to be temporarily stored in the
また、演算アレイ8は、後でも説明するように、「Tレジスタ」と呼ばれる演算制御レジスタ54を備える。ALU36からの出力は、該Tレジスタ54によって、Aレジスタ36もしくはFレジスタ40への書き込み内容が制御される。例えば、演算制御レジスタ(Tレジスタ)54の中の所定の1ビットの状態に応じて、“1”あればAレジスタ36もしくはFレジスタ54への書き込みを行い、“0”であれば行わないというような制御が行なわれる。
The
図3は、レジスタファイル6のレジスタ34と演算アレイ8とを結び付けるマルチプレクサの機能を示すブロック図である。PEi(i=0,1,2,・・・255)のプロセッサエレメントに備わるマルチプレクサは7to1(7対1)のマルチプレクサであり、PEi−3(PEiの3つ左隣り)、PEi−2(PEiの2つ左隣り)、PEi−1(PEiの1つ左隣り)、PEi、PEi+1(PEiの1つ右隣り)、PEi+2(PEiの2つ右隣り)、PEi+3(PEiの3つ右隣り)のプロセッサエレメント3のレジスタファイル6からのデータを入出力することができるように設定されている。この機能を、PEシフト機能と称する。マルチプレクサによって選択されたデータは、演算アレイ8のシフト・拡張部44に転送される。
FIG. 3 is a block diagram showing the function of the multiplexer that connects the
ここで、プロセッサエレメント3の番号を含む呼称について定義する。図2に示すように、本発明に係るSIMD型マイクロプロセッサ2には256個のプロセッサエレメント3が設置されており、それらプロセッサエレメント3の個々に対し、(図では左側から)PE0、PE1、PE2、PE3、・・・、PE254、PE255というように、プロセッサエレメント番号(PE番号)を付すと定義する。
Here, a name including the number of the
≪第1の実施の形態≫
図4は、本発明の第1の実施の形態に係るPE(プロセッサエレメント)番号マスク回路の回路図である。上記PE番号マスク回路は、(従来技術である)PE番号を所定の汎用レジスタに入力する接続線に対し、GP4からのマスク制御信号(即ち、PE番号マスク信号)を取り入れる論理回路を挿入することにより形成される。後でも説明するように、この図4の回路構成では、“0”によりマスクすることになる。
<< First Embodiment >>
FIG. 4 is a circuit diagram of a PE (processor element) number mask circuit according to the first embodiment of the present invention. In the PE number mask circuit, a logic circuit that takes in a mask control signal (ie, PE number mask signal) from GP4 is inserted into a connection line for inputting a PE number (which is a prior art) to a predetermined general-purpose register. It is formed by. As will be described later, in the circuit configuration of FIG. 4, masking is performed with “0”.
各PEi(i=0,1,2,・・・255)においては、各PE番号を形成する接続線部50とPE番号マスク信号を取り込む論理回路(AND回路)部51とが結合して設置されている。そこからの出力は、後で説明するように、各プロセッサエレメント3毎に設置されている選択回路35(図2参照)に繋がる。その選択回路35を介して例えばAレジスタ38にて上記出力が格納される。
In each PEi (i = 0, 1, 2,... 255), a
(従来技術である)各PE番号を形成する接続線部50を利用して、Aレジスタ38にPE番号を設定することは従来も可能であった。例えば、「LDPN」(Load PE Number)という命令を実行することにより、上記機能を実現していたとする。ここで、本発明の第1の実施の形態に係る回路によっても、全く同じ機能を実現すること、即ち各PE番号を各選択回路35に送ることを「LDPN」の命令の利用によって実現するように設定することができる。なお、図4からも明白なように、LDPN命令を用いるときのPE番号マスク信号は(8ビット)すべて“1”となる。このような設定により、VCCとGNDとで形成されるパターンでPE番号を表すデータが、各プロセッサエレメント3の選択回路35に入力されることになる。
It has been possible in the past to set the PE number in the A register 38 by using the connecting
具体的に示すと、選択回路35に入力されるデータは、
・PE0、PE1、PE2、・・・PE255の順に、
・0、1、2、・・・255
の値となる。
Specifically, the data input to the selection circuit 35 is
-PE0, PE1, PE2, ... PE255 in this order
・ 0, 1, 2, ... 255
It becomes the value of.
更に、本発明の第1の実施の形態に係る回路においては、SIMD型マイクロプロセッサ2への命令にて指定するビットを“0”に設定することにより、入力データをマスクすることができる。そのような処理を行なう命令として、「LDNM」(Load PE Number Masking)命令が用意されている。LDNM命令は、マスクパターンを即値で指定することで出力データをマスクする。その即値はPEマスク信号として図4の回路に取り込まれる。LDNM命令は、次のように、記述される。
Furthermore, in the circuit according to the first embodiment of the present invention, the input data can be masked by setting the bit designated by the instruction to the
LDNM/0 #00000011b LDNM / 0 # 00000011b
上記の記述で「00000011b」の末尾のbは、2進数表記であることを示す。上記の命令では、PE番号のビット3からビット7までの出力値に対しマスクが施されることになる。また、“/0”は、“0”によるマスクを表すオプション記述である。
In the above description, “b” at the end of “00000011b” indicates binary notation. In the above instruction, the output values from
よって、各選択回路35に入力されるデータは、
・PE0、PE1、PE2、PE3、PE4、PE5、PE6、・・・PE254、PE255の順に、
・0、1、2、3、0、1、2、・・・2、3
の値となる。
Therefore, the data input to each selection circuit 35 is
-PE0, PE1, PE2, PE3, PE4, PE5, PE6, ... PE254, PE255 in this order,
・ 0, 1, 2, 3, 0, 1, 2, ... 2, 3
It becomes the value of.
図4の第1の実施の形態にかかる回路では、AND回路が利用されているが、これをOR回路に置き換えることも想定され得る。即ち、各PEi(i=0,1,2,・・・255)において、各PE番号を形成する接続線部50とPE番号マスク信号を取り込む論理回路(OR回路)部(図示せず。)とが結合して設置されることになる。このとき、上記(図4)の回路構成では“0”によりマスクをしていたが、OR回路に置き換える回路の場合、“1”によるマスクとなる。命令は以下のように記述される。
In the circuit according to the first embodiment of FIG. 4, an AND circuit is used, but it may be assumed that this is replaced with an OR circuit. That is, in each PEi (i = 0, 1, 2,... 255), a
LDNM/1 #11111100b LDNM / 1 # 11111100b
上記の記述では、PE番号のビット3からビット7までの入力値が、“1”でマスクされることになる。/1は“1”によるマスクを表すオプション記述である。
In the above description, the input values from
このとき、各選択回路35に入力されるデータは、
・PE0、PE1、PE2、PE3、PE4、PE5、PE6、・・・PE254、PE255の順に、
・252(11111100b)、253(11111101b)、254(11111110b)、255(11111111b)、252、253、254、・・・254、255
の値となる。
At this time, the data input to each selection circuit 35 is:
-PE0, PE1, PE2, PE3, PE4, PE5, PE6, ... PE254, PE255 in this order,
252 (11111100b), 253 (11111101b), 254 (11111110b), 255 (11111111b), 252, 253, 254, ... 254, 255
It becomes the value of.
図4に示される本発明の第1の実施の形態に係る回路を利用することにより、マスク制御信号(PE番号マスク信号)にて“0”であるビットに対応する制御線がマスクされ、所定のビットのみで表され且つ繰り返しの規則性を備えるデータを、1命令で設定(形成)することができる。例えば、上位6ビットを全てマスクすることにより、下位2ビットのみが有効となり、PE0、PE1、PE2、PE3、PE4、PE5、PE6、・・・のプロセッサエレメント3の各選択回路35に対し、
・0、1、2、3、0、1、2、3、・・・
の規則性のある繰り返しの値を1命令で出力することができる。また、図4の回路において、AND回路を全てOR回路にすることによっても、PE0、PE1、PE2、PE3、PE4、PE5、PE6、・・・のプロセッサエレメント3の各選択回路35に対し、規則性のある繰り返しの値を1命令で出力することができる。但し、このときは“1”によりマスクがなされることになる。
By using the circuit according to the first embodiment of the present invention shown in FIG. 4, a control line corresponding to a bit of “0” is masked by a mask control signal (PE number mask signal), and a predetermined value is masked. It is possible to set (form) data represented by only this bit and having repetitive regularity with one instruction. For example, by masking all the upper 6 bits, only the lower 2 bits are valid, and for each selection circuit 35 of the
・ 0, 1, 2, 3, 0, 1, 2, 3, ...
It is possible to output a repeated value with regularity in one instruction. In the circuit of FIG. 4, even if all the AND circuits are OR circuits, the rules for the selection circuits 35 of the
従来技術を利用する場合、LDPN命令でPE番号を一旦Aレジスタ38に設定し、更にそのAレジスタ38の値を4で割ったときの剰余を同じくAレジスタ38に設定すれば、図4と同様の結果が得られる。しかし、
・LDPN命令で1命令サイクル、
・(乗除算器があると仮定して、)除算命令で1命令サイクル、
計2命令サイクルが必要である。然も、乗除算器をSIMD型マイクロプロセッサ2の全プロセッサエレメント3内に設定するならば、莫大な回路規模が必要となる。通常のSIMD型マイクロプロセッサ2には乗除算器は設定されてないため、除算の実施は、ALU36を利用して被除数のビット数の分までの減算を行なうことで実現される。汎用レジスタであるAレジスタ38は、例えば16ビットであるならば、最短16回の減算が必要となる(現実には除算前の設定が数命令サイクル必要になる)。ここで16命令サイクルかかり、結局、全体で最短18命令サイクルとなる。
When using the prior art, if the PE number is once set in the A register 38 by the LDPN instruction, and the remainder when the value of the A register 38 is divided by 4 is also set in the A register 38, the same as in FIG. Result is obtained. But,
・ One instruction cycle with LDPN instruction
-1 instruction cycle with division instruction (assuming there is a multiplier / divider)
A total of two instruction cycles are required. However, if the multiplier / divider is set in all the
以上、明白なように、本発明の第1の実施の形態に係る回路によって、相当数の命令サイクルの削減が行なえる。 As is apparent from the above, a considerable number of instruction cycles can be reduced by the circuit according to the first embodiment of the present invention.
≪第2の実施の形態≫
図5は、本発明の第2の実施の形態に係る固定値選択回路の回路図である。上記固定値選択回路は、n(nは自然数)おきの周期変動を備え1周期内では単調に0から1ずつ増加する数値を、(後で説明する)選択回路35に対し、入力値選択信号による選択制御の下、出力する回路である。図5に示される回路では、nの値として、3、5、7が想定されている。
<< Second Embodiment >>
FIG. 5 is a circuit diagram of a fixed value selection circuit according to the second embodiment of the present invention. The fixed value selection circuit has a cycle variation every n (n is a natural number), and inputs a numerical value monotonously increasing from 0 to 1 within one cycle to the selection circuit 35 (described later). It is a circuit that outputs under the selection control by. In the circuit shown in FIG. 5, 3, 5, and 7 are assumed as the value of n.
図5に示されるように、各プロセッサエレメント3においては、各別の接続線部50’とマルチプレクサ部51’が備わる。接続線部50’は、9ビットの信号を生成するのであるが、左方2ビットは「3」おきの周期変動を備え、中位3ビットは「5」おきの周期変動を備え、右方4ビットは「7」おきの周期変動を備えるように、接続線が設定されている。図5から明白なように、3おきの周期変動は、
・PE0、PE1、PE2、PE3、PE4、PE5、PE6、・・・の順に、
・0、1、2、0、1、2、0、・・・
となる。5おきの周期変動は、
・PE0、PE1、PE2、PE3、PE4、PE5、PE6、...の順に、
・0、1、2、3、4、0、1、・・・
となる。7おきの周期変動は、
・PE0、PE1、PE2、PE3、PE4、PE5、PE6、PE7、PE8、・・・の順に、
・0、1、2、3、4、5、6、0、1、・・・
となる。
As shown in FIG. 5, each
・ PE0, PE1, PE2, PE3, PE4, PE5, PE6, ...
・ 0, 1, 2, 0, 1, 2, 0, ...
It becomes. Periodic fluctuation every 5th
PE0, PE1, PE2, PE3, PE4, PE5, PE6,. . . In the order
・ 0, 1, 2, 3, 4, 0, 1, ...
It becomes. Periodic fluctuation every 7th
-PE0, PE1, PE2, PE3, PE4, PE5, PE6, PE7, PE8,.
・ 0, 1, 2, 3, 4, 5, 6, 0, 1, ...
It becomes.
どの周期変動の出力を選択するかは、入力値選択信号により与えられる。該入力値選択信号は、各プロセッサエレメント3におけるマルチプレクサ部51’に指示を与えるものである。上記の周期変動の抽出に係る命令として、次の命令「LDRN」(Load Repeating Number)が設定されている。
Which period variation output is selected is given by an input value selection signal. The input value selection signal gives an instruction to the
LDRN #3
上記の命令では、各プロセッサエレメント3の選択回路35に対し、3おきの周期変動を備え1周期内では単調に0から2まで1ずつ増加する数値が、プロセッサエレメント3の有するPE番号の順に従い、出力されることになる。
In the above-described instruction, the selection circuit 35 of each
図5に示される本発明の第2の実施の形態に係る固定値選択回路を利用すれば、上記のような、選択回路35(Aレジスタ38)への数値入力を、1命令サイクルで行なうことができる。ここで、上記の例に示される3、5、7という数字は、一般的に、画像処理において頻繁に使用される値であることが知られている。
If the fixed value selection circuit according to the second embodiment of the present invention shown in FIG. 5 is used, the numerical value input to the selection circuit 35 (A register 38) as described above is performed in one instruction cycle. Can do. Here, it is known that the
≪第3の実施の形態≫
図6は、本発明の第3の実施の形態に係るnおきビットパターンデータ出力回路の回路図である。上記nおきビットパターンデータ出力回路は、個別のビットにおいて(PE番号の順に従い)nおきに“1”を設定する接続線に対し、GP4からのビットマスク信号を取り入れる論理回路を挿入することにより形成される。
<< Third Embodiment >>
FIG. 6 is a circuit diagram of an n-th bit pattern data output circuit according to the third embodiment of the present invention. The n-bit bit pattern data output circuit inserts a logic circuit that takes in a bit mask signal from GP4 to a connection line that sets “1” every n (in the order of PE numbers) in individual bits. It is formed.
各PEi(i=0,1,2,・・・255)においては、夫々のビットにおいてnおきの“1”を設定する接続線部50”とビットマスク信号を取り込む論理回路(AND回路)部51”が結合して設置されている。そこからの出力は、第1の実施の形態に係る回路、及び第2の実施の形態に係る回路と同様に、各プロセッサエレメント3に設置されている選択回路35(図2参照)に繋がる。その選択回路35を介して例えばAレジスタ38にて上記出力が格納される。
In each PEi (i = 0, 1, 2,... 255), a
各PEiの接続線部50”は、8ビットの個別ビットを備える。例えば、ビット0は「2おき」、ビット1は「3おき」、ビット2は「5おき」、ビット3は「7おき」、ビット4は「11おき」、ビット5は「13おき」、ビット6は「17おき」、及びビット7は「23おき」の周期特性を備えている。夫々のビットにおいて各周期特性に相当するPE番号であれば、該ビットが“1”となるように、各PEiの接続線部50”が設定されている(即ち、該当するビットがVCCに接続されている)(図6)。即ち、
・2おきの周期特性を有するビット0は、PE0、PE2、PE4、PE6、PE8、・・・において、
・3おきの周期特性を有するビット1は、PE0、PE3、PE6、PE9、PE12、・・・において、
・5おきの周期特性を有するビット2は、PE0、PE5、PE10、PE15、PE20、・・・において
VCCに接続されている。
Each PEi
-
上記のように設定される各PEiの接続線部50”の設定内容の抽出に係る命令として、次の命令「LDRB」(Load Repeating Bit)が用意されている。
The next instruction “LDRB” (Load Repeating Bit) is prepared as an instruction relating to the extraction of the setting contents of the
LDRB LDRB
この命令により、各PEiの接続線部50”の設定内容が全て、例えば、選択回路35(乃至Aレジスタ38)に入力される。上記の命令では、
・PE0、PE1、PE2、PE3、PE4、PE5、PE6、PE7、PE8、PE9、PE10、PE11、・・・の順に、
・11111111b(2進数表記。以下同様である。)、00000000b、00000001b、00000010b、00000001b、00000100b、00000011b、00001000b、00000001b、00000110b、00000001b、・・・
となる。
By this instruction, all the setting contents of the
-PE0, PE1, PE2, PE3, PE4, PE5, PE6, PE7, PE8, PE9, PE10, PE11,.
11111111b (binary notation; the same applies hereinafter), 00000000b, 00000001b, 00000010b, 00000001b, 00000100b, 00000011b, 00001000b, 00000001b, 00000110b, 00000001b, ...
It becomes.
但し、上述したように、上記接続線に対し、GP4からのビットマスク信号を取り入れる論理回路が挿入されているため、命令コードにおいて指定するビットが“0”に設定されることにより、選択回路35(乃至Aレジスタ38)への入力データがマスクされ得る。そのマスク処理を行なうときには、命令は次のように記述される。マスクパターンは、即値で指定されてビットマスク信号として図6の回路に取り込まれ、選択回路35(乃至Aレジスタ38)への入力データをマスクする。 However, as described above, since the logic circuit for taking in the bit mask signal from GP4 is inserted into the connection line, the selection circuit 35 is set by setting the bit specified in the instruction code to “0”. Input data to (or A register 38) may be masked. When performing the mask processing, the instruction is described as follows. The mask pattern is designated as an immediate value and is taken into the circuit of FIG. 6 as a bit mask signal to mask input data to the selection circuit 35 (or A register 38).
LDRB/0 #00000100b LDRB / 0 # 00000100b
上記の命令では、ビット2に“1”が設定されるPEに係る出力データのみ“00000100b”の数値となる。“00000100b”が、例えばAレジスタ38に設定されるのは、
・PE0、PE5、PE10、PE15、PE20、...
である。それ以外のPEにおいては、“00000000b”となる。
In the above instruction, only the output data related to the PE in which “1” is set in
PE0, PE5, PE10, PE15, PE20,. . .
It is. For other PEs, the value is “00000000b”.
第3の実施の形態に係るnおきビットパターンデータ出力回路では、上記のような選択回路35(Aレジスタ38)への数値入力を、1命令サイクルで行なうことができる。 In the n-bit bit pattern data output circuit according to the third embodiment, the numerical value input to the selection circuit 35 (A register 38) as described above can be performed in one instruction cycle.
≪第4の実施の形態≫
本発明の第4の実施の形態に係るSIMD型マイクロプロセッサ2について説明する。
<< Fourth Embodiment >>
A
本発明の第1の実施の形態に係る「LDPM」命令において、即値(PE番号マスク信号)をすべてマスクしない数値(#11111111b)とした場合、PE番号がそのまま選択回路35(乃至Aレジスタ38)に入力される。また、前に説明したように、GP4からのPE番号マスク信号を取り入れる論理回路が挿入されない、PE番号を所定の汎用レジスタ等に入力する接続線を、そのまま利用することによっても、PE番号がそのまま選択回路35(乃至Aレジスタ38)に入力される。 In the “LDPM” instruction according to the first embodiment of the present invention, when the immediate value (PE number mask signal) is a numerical value (# 11111111b) that does not mask all, the PE number is directly selected by the selection circuit 35 (or A register 38). Is input. In addition, as described above, the PE number is not changed by using the connection line for inputting the PE number to a predetermined general-purpose register or the like without inserting a logic circuit for taking in the PE number mask signal from GP4. The data is input to the selection circuit 35 (or A register 38).
従って、選択回路35には、
・PE0、PE1、PE2、・・・PE255の順に、
・0、1、2、...255
の値が入力される。
Therefore, the selection circuit 35 includes
-PE0, PE1, PE2, ... PE255 in this order
・ 0, 1, 2,. . . 255
The value of is entered.
各プロセッサエレメント3において、上記の選択回路35に入力された値を、選択回路35に備わるコンパレータ80(図7)にて(SIMD型マイクロプロセッサ2への)命令で指定された即値と比較し、その結果をTレジスタ(演算制御レジスタ)54の所定の位置のビットに格納する。このTレジスタ54への結果格納により、次命令以降の演算にて、256個あるプロセッサエレメント3のうち特定の1つのプロセッサエレメント3においてのみ演算を行ない、その他のプロセッサエレメント3の演算を行なわないという設定をすることができる。
In each
図7は、本発明に係る選択回路35の概略回路ブロック図を示す。図4、図5及び図6の、PE番号マスク回路、固定値選択回路及びnおきビットパターンデータ出力回路からの出力データは、図2に示す演算アレイ8内の選択回路35に繋がる。GP4からの制御信号である入力データ選択信号2によってマルチプレクサ78にて選択され、3者のうちいずれか1データがAレジスタ38に入力される。また、選択された1データは、命令コード中の即値データIMM2とコンパレータ80にて比較され、その結果一致した場合には “1”を出力する。一致しなかった場合“0”を出力する。
FIG. 7 shows a schematic circuit block diagram of the selection circuit 35 according to the present invention. Output data from the PE number mask circuit, the fixed value selection circuit and the n-th bit pattern data output circuit shown in FIGS. 4, 5, and 6 is connected to the selection circuit 35 in the
ここで、本発明に係るTレジスタ54について説明する。図2のように、各プロセッサエレメント3には、実行条件指定のための演算制御レジスタ(Tレジスタ)54が装備されている。図8は、Tレジスタ54の回路ブロック図の例である。図8では、Tレジスタ54は8ビットのレジスタ(T0、T1、・・・T7)を備え、夫々の1ビットのレジスタは別々に制御される。そのため、1つのプロセッサエレメント3にて8通りの制御パターンを保持できる。
Here, the
Tレジスタ54における夫々のビットは、各プロセッサエレメント3の演算実行の無効/有効の制御を行ない、特定のプロセッサエレメント3だけを演算対象として選択するという制御を行なうことができる。例えば、次のような命令が想定される。
Each bit in the
ADD/T1 #12
ADD /
この命令は加算命令であり、Aレジスタ38の値と即値“12”とが加算されて結果がAレジスタ38に格納される。この命令において、“/T1”という実行制御オプションを記述することにより、Tレジスタ38のうちT1の(ビット)フラグの値が“1”であるプロセッサエレメント3のみ、Aレジスタ38へのALU36からのデータの格納が行なわれる。T1フラグが“0”であるプロセッサエレメント3のAレジスタ54へのデータの格納は行なわれない。
This instruction is an addition instruction, the value of the A register 38 and the immediate value “12” are added, and the result is stored in the A register 38. In this instruction, by describing the execution control option “/ T1”, only the
図8の例では、このTレジスタ54への入力へは、
・PE3内の演算ユニット6のALU36にて発生したオーバーフローフラグ(V)、キャリーフラグ(C)からの入力、
・全Tフラグへの即値IMM2によるマスク操作の結果に対する、OR操作の結果からの入力、
・図2に示される記憶手段2からの入力、
・図7の選択回路35でのコンパレータ80出力からの入力
などである。
In the example of FIG. 8, the input to the
An input from the overflow flag (V) and carry flag (C) generated in the
-Input from the result of OR operation to the result of mask operation by immediate value IMM2 to all T flags,
Input from the storage means 2 shown in FIG.
The input from the
以上説明した本発明の第4の実施の形態に係るSIMD型マイクロプロセッサ2によれば、特定のPE番号のプロセッサエレメント3のみ演算を行なわせるという処理を、少ない命令数で行なうことができる。従来の技術であれば、全プロセッサエレメント3のTレジスタ54に対し先ず“0”を設定し、更に、演算を行なうプロセッサエレメント3のTレジスタ54に“1”を設定することにより、上記の機能は実現されるが、本発明の第4の実施の形態に比べて命令数は必然的に増加してしまう。
According to the
≪第5の実施の形態≫
本発明の第5の実施の形態に係るSIMD型マイクロプロセッサ2について説明する。
<< Fifth Embodiment >>
A
第5の実施の形態に係るSIMD型マイクロプロセッサ2の各プロセッサエレメント3においては、第1の実施の形態に係るPE番号マスク回路から選択回路35に繋げられる(データ)値を、選択回路35に備わるコンパレータ80(図7)にて、命令コード中に指定された即値データと比較し、その結果をTレジスタ54の所定の位置のビットに格納する。このTレジスタ54への結果格納により、次命令以降の演算にて、「2のべき乗」おきのPE番号を備えるプロセッサエレメント3のみの演算を実行させるという制御を行うことができる。
In each
図4に示されるPE番号マスク回路の出力は図7の選択回路35に入力され、該選択回路35では(予め用意されている)「LDTM」(Load to T register Masked PE Number)命令を実行することで、入力データ選択信号2によりそのPE番号マスク回路の出力のデータが選択される。更に、上記LDTM命令の実行時に、即値データ(の1つ)がIMM2に入力され、PE番号マスク回路の出力データとIMM2とがコンパレータ80にて比較される。一致するとそのプロセッサエレメント3のコンパレータ80の出力が“1”となり、一致しなかったプロセッサエレメント3では“0”となる。次の命令は、実行される命令の例である。
The output of the PE number mask circuit shown in FIG. 4 is input to the selection circuit 35 of FIG. 7, and the selection circuit 35 executes an “LDTM” (Load to T register Masked PE Number) instruction (prepared in advance). Thus, the output data of the PE number mask circuit is selected by the input
LDTM/T2 #00000011b、#1 LDTM / T2 # 00000011b, # 1
上記命令において、即値オペランドのうち第1オペランドがマスクパターンである。第2オペランドが比較値である。但し、マスクパターンは2進数表記、比較値は10進表記としている。
・PE0、PE1、PE2、PE3、PE4、PE5、PE6、PE7、・・・にマスクした結果の値は、
・0、1、2、3、0、1、2、3、・・・
のような繰り返しの値となるが、比較値と一致する値のPE、即ち、
・PE1、PE5、PE9、・・・
のTレジスタ54のT2フラグに“1”が設定される。他のPEのTレジスタ54のT2フラグには“0”が設定される。これによって以降の命令でTレジスタ54のT2フラグを実行制御に用いれば、特定のPE、即ちPE1から始まり「22」おきのPE番号を備えるプロセッサエレメント3のみの演算を実行させることができる。
In the above instruction, the first operand of the immediate operand is a mask pattern. The second operand is a comparison value. However, the mask pattern is expressed in binary notation, and the comparison value is expressed in decimal.
The value of the result masked to PE0, PE1, PE2, PE3, PE4, PE5, PE6, PE7,.
・ 0, 1, 2, 3, 0, 1, 2, 3, ...
It is a repetitive value like
・ PE1, PE5, PE9, ...
"1" is set in the T2 flag of the
≪第6の実施の形態≫
本発明の第6の実施の形態に係るSIMD型マイクロプロセッサ2について説明する。
<< Sixth Embodiment >>
A
第6の実施の形態に係るSIMD型マイクロプロセッサ2の各プロセッサエレメント3においては、第2の実施の形態に係る固定値選択回路から選択回路35に繋げられる(データ)値を、選択回路35に備わるコンパレータ80(図7)にて、命令コード中に指定された即値データと比較し、その結果をTレジスタ54の所定の位置のビットに格納する。このTレジスタ54への結果格納により、次命令以降の演算にて、3、5、7のような特定の数値おきのPE番号を備えるプロセッサエレメント3のみの演算を実行させるという制御を行うことができる。
In each
図5に示される固定値選択回路の出力は図7の選択回路に入力され、該選択回路35では(予め用意されている)「LDTN」(Load to T register Predefined Number)命令を実行することで、入力データ選択信号2によりその固定値選択回路の出力データが選択される。更に、上記LDTN実行時に、即値データ(の1つ)がIMM2に入力され、固定値選択回路の出力データとIMM2とがコンパレータ80にて比較される。一致するとそのプロセッサエレメント3のコンパレータ80の出力が“1”となり、一致しなかったプロセッサエレメント3では“0”となる。次の命令は、実行される命令の例である。
The output of the fixed value selection circuit shown in FIG. 5 is input to the selection circuit of FIG. 7, and the selection circuit 35 executes an “LDTN” (Load to T register Predefined Number) instruction (prepared in advance). The output data of the fixed value selection circuit is selected by the input
LDTN/T2 #3、#2
LDTN /
上記命令において、即値オペランドのうち第1オペランドが選択固定値である。第2オペランドが比較値である。
・PE0、PE1、PE2、PE3、PE4、PE5、PE6、PE7、・・・に結果の値は、
・0、1、2、0、1、2、0、1、...
のような繰り返しの値となるが、比較値と一致する値のPE、即ち、
・PE2、PE5、PE8、・・・
のTレジスタ54のT2フラグに“1”が設定される。他のPEのTレジスタ54のT2フラグには“0”が設定される。これによって以降の命令でTレジスタ54のT2フラグを実行制御に用いれば、特定のPE、即ちPE2から始まり「3」おきのPE番号を備えるプロセッサエレメント3のみの演算を実行させることができる。
In the above instruction, the first operand of the immediate operands is a selected fixed value. The second operand is a comparison value.
-PE0, PE1, PE2, PE3, PE4, PE5, PE6, PE7, ...
0, 1, 2, 0, 1, 2, 0, 1,. . .
It is a repetitive value like
・ PE2, PE5, PE8, ...
"1" is set in the T2 flag of the
≪第7の実施の形態≫
本発明の第7の実施の形態に係るSIMD型マイクロプロセッサ2について説明する。
<< Seventh Embodiment >>
A
第7の実施の形態に係るSIMD型マイクロプロセッサ2の各プロセッサエレメント3においては、第3の実施の形態に係るnおきビットパターンデータ出力回路から選択回路35に繋げられる(データ)値を、選択回路35に備わるコンパレータ80(図7)にて、命令コード中に指定された即値データと比較し、その結果をTレジスタ54の所定の位置のビットに格納する。このTレジスタ54への結果格納により、次命令以降の演算にて、2、3、5、7、11のような特定の数値おきのPE番号を備えるプロセッサエレメント3のみの演算を実行させるという制御を行うことができる。
In each
図6に示されるnおきビットパターンデータ出力回路の出力は図7の選択回路35に出力され、該選択回路35では(予め用意されている)「LDTB」(Load to T register Bit Number)命令を実行することで、入力データ選択信号2によりそのnおきビットパターンデータ出力回路の出力のデータが選択される。更に、上記LDTB命令の実行時に、即値データ(の1つ)がIMM2に入力され、nおきビットパターンデータ出力回路の出力データとIMM2とがコンパレータ80にて比較される。一致するとそのプロセッサエレメント3のコンパレータの出力が“1”となり、一致しなかったプロセッサエレメント3では“0”となる。次の命令は、実行される命令の例である。
The output of the n-bit bit pattern data output circuit shown in FIG. 6 is output to the selection circuit 35 of FIG. 7, and the selection circuit 35 executes an “LDTB” (Load to T register Bit Number) instruction (prepared in advance). As a result, the output data of the n-th bit pattern data output circuit is selected by the input
LDTB/T2 #00000010b、#1 LDTB / T2 # 00000010b, # 1
上記命令において、即値オペランドのうち第1オペランドがnおきビット指定である。第2オペランドが比較値である。
・PE0、PE1、PE2、PE3、PE4、PE5、PE6、PE7、・・・に結果の値は、
・1、0、0、1、0、0、1、0、...
のような繰り返しの値となるが、比較値と一致する値のPE、即ち、
・PE0、PE3、PE6、・・・
のTレジスタ54のT2フラグに“1”が設定される。他のPEのTレジスタ54のT2フラグには“0”が設定される。これによって以降の命令でTレジスタ54のT2フラグを実行制御に用いれば、特定のPE、即ちPE0から始まり「3」おきのPE番号を備えるプロセッサエレメント3のみの演算を実行させることができる。
In the above instruction, the first operand of the immediate operand is designated every n bits. The second operand is a comparison value.
-PE0, PE1, PE2, PE3, PE4, PE5, PE6, PE7, ...
1, 0, 0, 1, 0, 0, 1, 0,. . .
It is a repetitive value like
・ PE0, PE3, PE6, ...
"1" is set in the T2 flag of the
2・・・SIMD型マイクロプロセッサ、3・・・プロセッサエレメント、4・・・グローバルプロセッサ、6・・・レジスタファイル、8・・・演算アレイ、34・・・レジスタ、35・・・演算回路、36・・・ALU(算術論理演算装置)、38・・・Aレジスタ、50、50’、50”・・・接続線部、51、51”・・・論理回路部、51’・・・マルチプレクサ部、54・・・Tレジスタ(演算制御レジスタ)、78・・・マルチプレクサ、80・・・コンパレータ。
2 ... SIMD type microprocessor, 3 ... processor element, 4 ... global processor, 6 ... register file, 8 ... arithmetic array, 34 ... register, 35 ... arithmetic circuit, 36 ... ALU (arithmetic logic unit), 38 ... A register, 50, 50 ', 50 "... connection line part, 51, 51" ... logic circuit part, 51' ...
Claims (1)
各々のプロセッサエレメントには、識別のための整数番号が順に付されており、
各プロセッサエレメントは、
そのプロセッサエレメントに付される識別のための整数番号が外部から入力される接続線と、
上記接続線に対して、上記グローバルプロセッサからのマスク制御信号を取り入れる論理回路が挿入されるマスク回路と
を有するSIMD型マイクロプロセッサ。 A global processor for overall control and a SIMD type microprocessor including a plurality of processor elements ,
Each processor element is given an integer number for identification, in order,
Each processor element
A connection line to which an integer number for identification attached to the processor element is input from the outside;
A mask circuit in which a logic circuit for receiving a mask control signal from the global processor is inserted into the connection line;
SIMD type microprocessor having
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2006258862A JP4398965B2 (en) | 2006-09-25 | 2006-09-25 | Data setting device in SIMD processor |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2006258862A JP4398965B2 (en) | 2006-09-25 | 2006-09-25 | Data setting device in SIMD processor |
Related Parent Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2000297115A Division JP3971557B2 (en) | 2000-09-28 | 2000-09-28 | Data setting device in SIMD processor |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2006338696A JP2006338696A (en) | 2006-12-14 |
| JP4398965B2 true JP4398965B2 (en) | 2010-01-13 |
Family
ID=37559137
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2006258862A Expired - Fee Related JP4398965B2 (en) | 2006-09-25 | 2006-09-25 | Data setting device in SIMD processor |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP4398965B2 (en) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP5760532B2 (en) * | 2011-03-14 | 2015-08-12 | 株式会社リコー | PROCESSOR DEVICE AND ITS OPERATION METHOD |
-
2006
- 2006-09-25 JP JP2006258862A patent/JP4398965B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2006338696A (en) | 2006-12-14 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5778241A (en) | Space vector data path | |
| KR100348951B1 (en) | Memory store from a register pair conditional | |
| Yu et al. | Vector processing as a soft-core CPU accelerator | |
| JP2008071130A (en) | SIMD type microprocessor | |
| JPH07287567A (en) | Arithmetic logic unit having a plurality of independent partitions and a register for storing results from each partition | |
| JPH087084A (en) | Three-input arithmetic and logic unit for formation of sum of first boolean combination of first, second and third inputs plus second boolean combination of first, second and third inputs | |
| JPH087083A (en) | Three-input arithmetic and logic unit for formation of arithmetic and logic mixed combination | |
| JPH086544A (en) | Rotary register for orthogonal data conversion | |
| JP2009271598A (en) | Processor | |
| CN108139886B (en) | Multi-function execution channel for image processor | |
| CN102884505B (en) | Data processing equipment and data processing method | |
| JPS6027030A (en) | Microprocessor | |
| JP4398965B2 (en) | Data setting device in SIMD processor | |
| JP3971557B2 (en) | Data setting device in SIMD processor | |
| CN120029671B (en) | Instruction processing device, system and processing method based on RISC-V architecture | |
| JP3971543B2 (en) | SIMD type processor | |
| JP5732139B2 (en) | Conditional selection of data elements | |
| CN115878444A (en) | Information acquisition method, device, equipment, storage medium and program product | |
| JP4442907B2 (en) | SIMD type processor | |
| JP3742745B2 (en) | Arithmetic processing unit | |
| JP3837293B2 (en) | SIMD type microprocessor having constant selection function | |
| JP4516495B2 (en) | Data processing method in SIMD type microprocessor | |
| JP3895267B2 (en) | SIMD processor | |
| JP4645369B2 (en) | CPU | |
| JP2009175830A (en) | SIMD type microprocessor |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060925 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090217 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090224 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090424 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090714 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090910 |
|
| 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: 20091020 |
|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20091023 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121030 Year of fee payment: 3 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131030 Year of fee payment: 4 |
|
| LAPS | Cancellation because of no payment of annual fees |