JP2002108832A - Simdプロセッサにおけるデータ設定装置 - Google Patents

Simdプロセッサにおけるデータ設定装置

Info

Publication number
JP2002108832A
JP2002108832A JP2000297115A JP2000297115A JP2002108832A JP 2002108832 A JP2002108832 A JP 2002108832A JP 2000297115 A JP2000297115 A JP 2000297115A JP 2000297115 A JP2000297115 A JP 2000297115A JP 2002108832 A JP2002108832 A JP 2002108832A
Authority
JP
Japan
Prior art keywords
processor element
register
identification
integer number
processor
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
Application number
JP2000297115A
Other languages
English (en)
Other versions
JP3971557B2 (ja
Inventor
Takao Katayama
貴雄 片山
Shinichi Yamaura
慎一 山浦
Masanobu Fukushima
正展 福島
Kazuhiko Hara
和彦 原
Keiji Nakamura
圭治 中村
Kazuhiko Iwanaga
和彦 岩永
Kosuke Takato
浩資 高藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2000297115A priority Critical patent/JP3971557B2/ja
Publication of JP2002108832A publication Critical patent/JP2002108832A/ja
Application granted granted Critical
Publication of JP3971557B2 publication Critical patent/JP3971557B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Image Processing (AREA)

Abstract

(57)【要約】 【課題】 SIMD型マイクロプロセッサを利用する処
理に伴う命令の命令実行サイクル数を減らす。 【解決手段】 各プロセッサエレメントは、プロセッサ
エレメントに含まれる算術論理演算装置の演算結果を汎
用レジスタに格納する際の可否を決定する演算制御レジ
スタを持つ。各プロセッサエレメントにて、プロセッサ
エレメントに固有の数値を2進法により表記させた際
の、指定された位を“0”若しくは“1”に固定させた
データを生成し、上記の各プロセッサエレメントにて生
成されたデータと、命令コードにより指定された数値を
全プロセッサエレメントに渡って同時に比較し、比較結
果を上記演算制御レジスタに含まれるフラグに設定す
る。以上のようなSIMD型マイクロプロセッサを提供
する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、画像データ等を高
速処理するために同一の命令で複数データに対して同じ
処理を行うSIMD(Single Instruct
ion−stream Multiple Data−
stream)型マイクロプロセッサに関する。
【0002】
【従来の技術】近年、デジタル複写機やファクシミリ装
置等の画像処理においては、画素数の増加、画像処理の
多様化などにより画質の向上が図られている。このよう
な画像処理では、複数(多数)のデータに対して同時に
同じ処理を施すことが多い。その際、高速性を高めるた
め、1命令で1つのデータを処理するSISD(Sin
gle Instruction−stream Si
ngle Data−stream)型マイクロプロセ
ッサよりも、1命令で複数のデータを同時処理する、S
IMD(Single Instruction−st
ream Multiple Data−strea
m)型マイクロプロセッサが用いられることが多い。
【0003】図1は、一般的なSIMD型マイクロプロ
セッサ2の概略の構成を示すブロック図である。該SI
MD型マイクロプロセッサ2は、概略、グローバルプロ
セッサ(以下では、GPと言う。)4、及びプロセッサ
エレメント3により構成されるのであるが、複数のデー
タを一度に処理するためにプロセッサエレメント3を複
数個装備している。各プロセッサエレメント3は、レジ
スタファイル6と演算アレイ8を備える。GP4は、プ
ロセッサ2全体の制御を行ない、プロセッサエレメント
3は、外部入出力装置からデータを入力しデータ処理を
行ない、外部入出力装置に出力する。
【0004】上記のSIMD型マイクロプロセッサ2
は、通常、1クロックサイクルで1命令を処理するが、
1命令でプロセッサエレメント3の個数分のデータを一
度に処理することができる。SIMD型マイクロプロセ
ッサ2の性能を表す際には、SIMD型マイクロプロセ
ッサ2の動作周波数や、プロセッサエレメント3の個
数、即ち1命令で処理できるデータの数などが重要視さ
れるが、更に、命令サイクル数も重要な要素とされる。
つまり、同じ画像処理を行う限り1命令サイクルでも少
ないほうが性能がよいとされるのである。しかし、1命
令で複雑な処理を行うために、複雑な回路を設計・利用
するならば、どうしてもコストが増大する。
【0005】
【発明が解決しようとする課題】本発明は、有効な命令
と命令を実現する簡素な手段を設けることにより、上記
のような画像データ処理に伴う命令の命令実行サイクル
数を減らすことを目的とする。
【0006】
【課題を解決するための手段】本発明は、上記の目的を
達成するためになされたものである。本発明に係る請求
項1に記載のSIMD型マイクロプロセッサは、各々の
プロセッサエレメントには、識別のための整数番号が順
に付されており、各プロセッサエレメントにて上記の識
別のための整数番号を汎用レジスタに格納し、更に、全
てのプロセッサエレメントにて、上記の識別のための整
数番号を2進法により表記させた際の、指定された位を
“0”もしくは“1”に固定させて、汎用レジスタに格
納する、SIMD型マイクロプロセッサである。
【0007】本発明に係る請求項2に記載のSIMD型
マイクロプロセッサは、各々のプロセッサエレメントに
は、識別のための整数番号が順に付されており、上記の
識別のための整数番号に応じて、各プロセッサエレメン
トにてn(nは自然数)おきに周期変動する数値を、汎
用レジスタに格納する、SIMD型マイクロプロセッサ
である。
【0008】本発明に係る請求項3に記載のSIMD型
マイクロプロセッサは、各々のプロセッサエレメントに
は、識別のための整数番号が順に付されており、各プロ
セッサエレメントにて、上記の識別のための整数番号に
応じて、所定の数値を周期とする周期特性を備える複数
のビットを生成して、汎用レジスタに格納し、更に、全
てのプロセッサエレメントにて、上記の複数のビットの
指定されたものを、“0”に置換して、汎用レジスタに
格納する、SIMD型マイクロプロセッサである。
【0009】本発明に係る請求項4に記載のSIMD型
マイクロプロセッサは、各プロセッサエレメントは、プ
ロセッサエレメントに含まれる算術論理演算装置の演算
結果を汎用レジスタに格納する際の可否を決定する演算
制御レジスタを持ち、各々のプロセッサエレメントに
は、識別のための整数番号が順に付され、上記の識別の
ための整数番号と、命令コードにより指定された数値を
全プロセッサエレメントに渡って同時に比較し、比較結
果を上記演算制御レジスタに含まれるフラグに設定す
る、SIMD型マイクロプロセッサである。
【0010】本発明に係る請求項5に記載のSIMD型
マイクロプロセッサは、各プロセッサエレメントは、プ
ロセッサエレメントに含まれる算術論理演算装置の演算
結果を汎用レジスタに格納する際の可否を決定する演算
制御レジスタを持ち、各々のプロセッサエレメントに
は、識別のための整数番号が順に付され、各プロセッサ
エレメントにて、上記の識別のための整数番号を2進法
により表記させた際の、指定された位を“0”若しくは
“1”に固定させたデータを生成し、上記の各プロセッ
サエレメントにて生成されたデータと、命令コードによ
り指定された数値を全プロセッサエレメントに渡って同
時に比較し、比較結果を上記演算制御レジスタに含まれ
るフラグに設定する、SIMD型マイクロプロセッサで
ある。
【0011】本発明に係る請求項6に記載のSIMD型
マイクロプロセッサは、各プロセッサエレメントは、プ
ロセッサエレメントに含まれる算術論理演算装置の演算
結果を汎用レジスタに格納する際の可否を決定する演算
制御レジスタを持ち、各々のプロセッサエレメントに
は、識別のための整数番号が順に付され、上記の識別の
ための整数番号に応じて、各プロセッサエレメントにて
n(nは自然数)おきに周期変動する数値を生成し、上
記の各プロセッサエレメントにて生成される周期変動す
る数値と、命令コードにより指定された数値を全プロセ
ッサエレメントに渡って同時に比較し、比較結果を上記
演算制御レジスタに含まれるフラグに設定する、SIM
D型マイクロプロセッサである。
【0012】本発明に係る請求項7に記載のSIMD型
マイクロプロセッサは、各プロセッサエレメントは、プ
ロセッサエレメントに含まれる算術論理演算装置の演算
結果を汎用レジスタに格納する際の可否を決定する演算
制御レジスタを持ち、各々のプロセッサエレメントに
は、識別のための整数番号が順に付され、各プロセッサ
エレメントにて、上記の識別のための整数番号に応じ
て、所定の数値を周期とする周期特性を備える複数のビ
ットを生成の上、更に指定されたものを“0”に置換し
たデータを生成し、上記の各プロセッサエレメントにて
生成されるデータと、命令コードにより指定された数値
を全プロセッサエレメントに渡って同時に比較し、比較
結果を上記演算制御レジスタに含まれるフラグに設定す
る、SIMD型マイクロプロセッサである。
【0013】
【発明の実施の形態】以下、図面を参照して本発明に係
る好適な実施の形態を説明する。
【0014】図1は、本発明を含む一般的なSIMD型
マイクロプロセッサ2の概略の構成を示すブロック図で
ある。主としてプロセッサ2全体を制御するグローバル
プロセッサ(以下、GPと言う。)4と、主として外部
入出力装置からデータを入力しデータ処理を行い、外部
入出力装置にデータを出力するプロセッサエレメント3
とから、構成される。プロセッサエレメント3は、複数
データを同時に処理するために複数用意されている。図
1では、1個のGP4と、256個のプロセッサエレメ
ント3とにより、SIMD型マイクロプロセッサ2が構
成されている。
【0015】図2は、本発明に係るSIMD型マイクロ
プロセッサ2のより詳細な構成を示すブロック図であ
る。図に示されるようにGP4は、 ・命令コードで構成されるプログラムを格納するための
プログラムRAM10と、 ・GP4での演算データを格納するデータRAM12
と、 ・プログラムを解読し各種ブロックに各種制御信号を送
るシーケンシャルユニット(SCU)9と、 ・データを格納する複数の汎用レジスタ(G0〜G3)
と、 ・SCU9にプログラムの命令コードを送るためにプロ
グラムのアドレスを保持するプログラムカウンタ(P
C)14と、 ・データメモリにスタックを形成するためデータメモリ
のアドレスを格納するスタックポインタ(SP)24
と、 ・プログラムの途中でサブルーチン処理を行う際には分
岐が発生するが分岐前のアドレスを格納する複数のリン
クレジスタ(LS、LI、LN)と、 ・データメモリのデータ、命令コード中に記述された数
値(即値)データ、若しくは汎用レジスタに格納されて
いるデータのいずれかの組み合わせで算術論理演算を行
う算術論理演算装置(ALU)11と、 ・プロセッサの状態を保持するプロセッサステータスレ
ジスタ(図示せず。)と、 ・ハードウェア割り込みとソフトウェア割り込みを制御
する割り込み制御回路(図示せず。)と、 ・外部入出力に直接接続され外部からのデータの入出力
を制御する外部I/O制御回路(図示せず。)とを含
む。
【0016】図2では示していないが、上記SCU9
は、GP命令を解読し主にGP内の各ブロックに制御信
号を発生するGPインストラクションデコーダと、プロ
セッサエレメント命令を解読し主にプロセッサエレメン
ト内の各ブロックに制御信号を発生するプロセッサエレ
メントインストラクションデコーダとで、構成される。
即ち、本プロセッサに係る命令コードは、主にGP4内
の各ブロックを制御し、プログラムのシーケンスを決定
したり、プロセッサエレメント3に転送する共通データ
をGP4内のALU11で加工したりするGP命令と、
外部入出力から一度に入力されたデータをプロセッサエ
レメント3毎に処理をさせるプロセッサエレメント命令
とに、分類される。
【0017】図1に示すように、各プロセッサエレメン
ト3は、外部からの入出力データを一時的に保持するレ
ジスタファイル6と、プロセッサエレメント3内で算術
論理演算やビット演算のデータ処理を行うための演算ア
レイ8を含む。さらに図2に示すようにレジスタファイ
ル6には、例えば、R0〜R31までの8ビットのレジ
スタ34が32本用意されている。これらのレジスタ3
4からデータが演算アレイ8に転送され、又逆に演算ア
レイ8からデータが転送されてレジスタ34に格納され
る。レジスタ34と演算アレイ6とのバスは、8ビット
の双方向バスである。
【0018】更に図2に示すように、単体の演算アレイ
8は演算ユニットであり、 ・レジスタファイル6からのデータをシフトして符号付
き拡張もしくは符号無し拡張をし16ビットデータに加
工するシフト・拡張器44と、 ・例えば、Aレジスタ36とFレジスタ40のような複
数の汎用レジスタと、 ・レジスタファイル6からのデータをシフト・拡張器4
4を経由して加工し1入力とし、他方の入力をAレジス
タ36からの入力とする算術論理演算装置(ALU)3
6と、 ・(後で説明する)本発明に係るPE番号マスク回路、
固定値選択回路、及びnおきビットパターンデータ出力
回路の夫々からの出力を入力とし、自らの出力をAレジ
スタ38やTレジスタ54に繋げる選択回路35と を含む。算術論理演算装置(ALU)36の出力は、A
レジスタ36もしくはFレジスタ40に一時格納されよ
うに設定されているが、Aレジスタ36からレジスタフ
ァイル6の所定の1レジスタ34にデータ転送されるこ
とも可能である。
【0019】また、演算アレイ8は、後でも説明するよ
うに、「Tレジスタ」と呼ばれる演算制御レジスタ54
を備える。ALU36からの出力は、該Tレジスタ54
によって、Aレジスタ36もしくはFレジスタ40への
書き込み内容が制御される。例えば、演算制御レジスタ
(Tレジスタ)54の中の所定の1ビットの状態に応じ
て、“1”あればAレジスタ36もしくはFレジスタ5
4への書き込みを行い、“0”であれば行わないという
ような制御が行なわれる。
【0020】図3は、レジスタファイル6のレジスタ3
4と演算アレイ8とを結び付けるマルチプレクサの機能
を示すブロック図である。PEi(i=0,1,2,・
・・255)のプロセッサエレメントに備わるマルチプ
レクサは7to1(7対1)のマルチプレクサであり、
PEi−3(PEiの3つ左隣り)、PEi−2(PE
iの2つ左隣り)、PEi−1(PEiの1つ左隣
り)、PEi、PEi+1(PEiの1つ右隣り)、P
Ei+2(PEiの2つ右隣り)、PEi+3(PEi
の3つ右隣り)のプロセッサエレメント3のレジスタフ
ァイル6からのデータを入出力することができるように
設定されている。この機能を、PEシフト機能と称す
る。マルチプレクサによって選択されたデータは、演算
アレイ8のシフト・拡張部44に転送される。
【0021】ここで、プロセッサエレメント3の番号を
含む呼称について定義する。図2に示すように、本発明
に係るSIMD型マイクロプロセッサ2には256個の
プロセッサエレメント3が設置されており、それらプロ
セッサエレメント3の個々に対し、(図では左側から)
PE0、PE1、PE2、PE3、・・・、PE25
4、PE255というように、プロセッサエレメント番
号(PE番号)を付すと定義する。
【0022】≪第1の実施の形態≫図4は、本発明の第
1の実施の形態に係るPE(プロセッサエレメント)番
号マスク回路の回路図である。上記PE番号マスク回路
は、(従来技術である)PE番号を所定の汎用レジスタ
に入力する接続線に対し、GP4からのマスク制御信号
(即ち、PE番号マスク信号)を取り入れる論理回路を
挿入することにより形成される。後でも説明するよう
に、この図4の回路構成では、“0”によりマスクする
ことになる。
【0023】各PEi(i=0,1,2,・・・25
5)においては、各PE番号を形成する接続線部50と
PE番号マスク信号を取り込む論理回路(AND回路)
部51とが結合して設置されている。そこからの出力
は、後で説明するように、各プロセッサエレメント3毎
に設置されている選択回路35(図2参照)に繋がる。
その選択回路35を介して例えばAレジスタ38にて上
記出力が格納される。
【0024】(従来技術である)各PE番号を形成する
接続線部50を利用して、Aレジスタ38にPE番号を
設定することは従来も可能であった。例えば、「LDP
N」(Load PE Number)という命令を実
行することにより、上記機能を実現していたとする。こ
こで、本発明の第1の実施の形態に係る回路によって
も、全く同じ機能を実現すること、即ち各PE番号を各
選択回路35に送ることを「LDPN」の命令の利用に
よって実現するように設定することができる。なお、図
4からも明白なように、LDPN命令を用いるときのP
E番号マスク信号は(8ビット)すべて“1”となる。
このような設定により、VCCとGNDとで形成される
パターンでPE番号を表すデータが、各プロセッサエレ
メント3の選択回路35に入力されることになる。
【0025】具体的に示すと、選択回路35に入力され
るデータは、 ・PE0、PE1、PE2、・・・PE255の順に、 ・0、1、2、・・・255 の値となる。
【0026】更に、本発明の第1の実施の形態に係る回
路においては、SIMD型マイクロプロセッサ2への命
令にて指定するビットを“0”に設定することにより、
入力データをマスクすることができる。そのような処理
を行なう命令として、「LDNM」(Load PE
Number Masking)命令が用意されてい
る。LDNM命令は、マスクパターンを即値で指定する
ことで出力データをマスクする。その即値はPEマスク
信号として図4の回路に取り込まれる。LDNM命令
は、次のように、記述される。
【0027】 LDNM/0 #00000011b
【0028】上記の記述で「00000011b」の末
尾のbは、2進数表記であることを示す。上記の命令で
は、PE番号のビット3からビット7までの出力値に対
しマスクが施されることになる。また、“/0”は、
“0”によるマスクを表すオプション記述である。
【0029】よって、各選択回路35に入力されるデー
タは、 ・PE0、PE1、PE2、PE3、PE4、PE5、
PE6、・・・PE254、PE255の順に、 ・0、1、2、3、0、1、2、・・・2、3 の値となる。
【0030】図4の第1の実施の形態にかかる回路で
は、AND回路が利用されているが、これをOR回路に
置き換えることも想定され得る。即ち、各PEi(i=
0,1,2,・・・255)において、各PE番号を形
成する接続線部50とPE番号マスク信号を取り込む論
理回路(OR回路)部(図示せず。)とが結合して設置
されることになる。このとき、上記(図4)の回路構成
では“0”によりマスクをしていたが、OR回路に置き
換える回路の場合、“1”によるマスクとなる。命令は
以下のように記述される。
【0031】 LDNM/1 #11111100b
【0032】上記の記述では、PE番号のビット3から
ビット7までの入力値が、“1”でマスクされることに
なる。/1は“1”によるマスクを表すオプション記述
である。
【0033】このとき、各選択回路35に入力されるデ
ータは、 ・PE0、PE1、PE2、PE3、PE4、PE5、
PE6、・・・PE254、PE255の順に、 ・252(11111100b)、253(11111
101b)、254(11111110b)、255
(11111111b)、252、253、254、・
・・254、255 の値となる。
【0034】図4に示される本発明の第1の実施の形態
に係る回路を利用することにより、マスク制御信号(P
E番号マスク信号)にて“0”であるビットに対応する
制御線がマスクされ、所定のビットのみで表され且つ繰
り返しの規則性を備えるデータを、1命令で設定(形
成)することができる。例えば、上位6ビットを全てマ
スクすることにより、下位2ビットのみが有効となり、
PE0、PE1、PE2、PE3、PE4、PE5、P
E6、・・・のプロセッサエレメント3の各選択回路3
5に対し、 ・0、1、2、3、0、1、2、3、・・・の規則性の
ある繰り返しの値を1命令で出力することができる。ま
た、図4の回路において、AND回路を全てOR回路に
することによっても、PE0、PE1、PE2、PE
3、PE4、PE5、PE6、・・・のプロセッサエレ
メント3の各選択回路35に対し、規則性のある繰り返
しの値を1命令で出力することができる。但し、このと
きは“1”によりマスクがなされることになる。
【0035】従来技術を利用する場合、LDPN命令で
PE番号を一旦Aレジスタ38に設定し、更にそのAレ
ジスタ38の値を4で割ったときの剰余を同じくAレジ
スタ38に設定すれば、図4と同様の結果が得られる。
しかし、 ・LDPN命令で1命令サイクル、 ・(乗除算器があると仮定して、)除算命令で1命令サ
イクル、 計2命令サイクルが必要である。然も、乗除算器をSI
MD型マイクロプロセッサ2の全プロセッサエレメント
3内に設定するならば、莫大な回路規模が必要となる。
通常のSIMD型マイクロプロセッサ2には乗除算器は
設定されてないため、除算の実施は、ALU36を利用
して被除数のビット数の分までの減算を行なうことで実
現される。汎用レジスタであるAレジスタ38は、例え
ば16ビットであるならば、最短16回の減算が必要と
なる(現実には除算前の設定が数命令サイクル必要にな
る)。ここで16命令サイクルかかり、結局、全体で最
短18命令サイクルとなる。
【0036】以上、明白なように、本発明の第1の実施
の形態に係る回路によって、相当数の命令サイクルの削
減が行なえる。
【0037】≪第2の実施の形態≫図5は、本発明の第
2の実施の形態に係る固定値選択回路の回路図である。
上記固定値選択回路は、n(nは自然数)おきの周期変
動を備え1周期内では単調に0から1ずつ増加する数値
を、(後で説明する)選択回路35に対し、入力値選択
信号による選択制御の下、出力する回路である。図5に
示される回路では、nの値として、3、5、7が想定さ
れている。
【0038】図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、・・・とな
る。
【0039】どの周期変動の出力を選択するかは、入力
値選択信号により与えられる。該入力値選択信号は、各
プロセッサエレメント3におけるマルチプレクサ部5
1’に指示を与えるものである。上記の周期変動の抽出
に係る命令として、次の命令「LDRN」(Load
Repeating Number)が設定されてい
る。
【0040】LDRN #3
【0041】上記の命令では、各プロセッサエレメント
3の選択回路35に対し、3おきの周期変動を備え1周
期内では単調に0から2まで1ずつ増加する数値が、プ
ロセッサエレメント3の有するPE番号の順に従い、出
力されることになる。
【0042】図5に示される本発明の第2の実施の形態
に係る固定値選択回路を利用すれば、上記のような、選
択回路35(Aレジスタ38)への数値入力を、1命令
サイクルで行なうことができる。ここで、上記の例に示
される3、5、7という数字は、一般的に、画像処理に
おいて頻繁に使用される値であることが知られている。
【0043】≪第3の実施の形態≫図6は、本発明の第
3の実施の形態に係るnおきビットパターンデータ出力
回路の回路図である。上記nおきビットパターンデータ
出力回路は、個別のビットにおいて(PE番号の順に従
い)nおきに“1”を設定する接続線に対し、GP4か
らのビットマスク信号を取り入れる論理回路を挿入する
ことにより形成される。
【0044】各PEi(i=0,1,2,・・・25
5)においては、夫々のビットにおいてnおきの“1”
を設定する接続線部50”とビットマスク信号を取り込
む論理回路(AND回路)部51”が結合して設置され
ている。そこからの出力は、第1の実施の形態に係る回
路、及び第2の実施の形態に係る回路と同様に、各プロ
セッサエレメント3に設置されている選択回路35(図
2参照)に繋がる。その選択回路35を介して例えばA
レジスタ38にて上記出力が格納される。
【0045】各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、PE
2、PE4、PE6、PE8、・・・において、 ・3おきの周期特性を有するビット1は、PE0、PE
3、PE6、PE9、PE12、・・・において、 ・5おきの周期特性を有するビット2は、PE0、PE
5、PE10、PE15、PE20、・・・において VCCに接続されている。
【0046】上記のように設定される各PEiの接続線
部50”の設定内容の抽出に係る命令として、次の命令
「LDRB」(Load Repeating Bi
t)が用意されている。
【0047】LDRB
【0048】この命令により、各PEiの接続線部5
0”の設定内容が全て、例えば、選択回路35(乃至A
レジスタ38)に入力される。上記の命令では、 ・PE0、PE1、PE2、PE3、PE4、PE5、
PE6、PE7、PE8、PE9、PE10、PE1
1、・・・の順に、 ・11111111b(2進数表記。以下同様であ
る。)、00000000b、00000001b、0
0000010b、00000001b、000001
00b、00000011b、00001000b、0
0000001b、00000110b、000000
01b、・・・となる。
【0049】但し、上述したように、上記接続線に対
し、GP4からのビットマスク信号を取り入れる論理回
路が挿入されているため、命令コードにおいて指定する
ビットが“0”に設定されることにより、選択回路35
(乃至Aレジスタ38)への入力データがマスクされ得
る。そのマスク処理を行なうときには、命令は次のよう
に記述される。マスクパターンは、即値で指定されてビ
ットマスク信号として図6の回路に取り込まれ、選択回
路35(乃至Aレジスタ38)への入力データをマスク
する。
【0050】 LDRB/0 #00000100b
【0051】上記の命令では、ビット2に“1”が設定
されるPEに係る出力データのみ“00000100
b”の数値となる。“00000100b”が、例えば
Aレジスタ38に設定されるのは、 ・PE0、PE5、PE10、PE15、PE2
0、...である。それ以外のPEにおいては、“00
000000b”となる。
【0052】第3の実施の形態に係るnおきビットパタ
ーンデータ出力回路では、上記のような選択回路35
(Aレジスタ38)への数値入力を、1命令サイクルで
行なうことができる。
【0053】≪第4の実施の形態≫本発明の第4の実施
の形態に係るSIMD型マイクロプロセッサ2について
説明する。
【0054】本発明の第1の実施の形態に係る「LDP
M」命令において、即値(PE番号マスク信号)をすべ
てマスクしない数値(#11111111b)とした場
合、PE番号がそのまま選択回路35(乃至Aレジスタ
38)に入力される。また、前に説明したように、GP
4からのPE番号マスク信号を取り入れる論理回路が挿
入されない、PE番号を所定の汎用レジスタ等に入力す
る接続線を、そのまま利用することによっても、PE番
号がそのまま選択回路35(乃至Aレジスタ38)に入
力される。
【0055】従って、選択回路35には、 ・PE0、PE1、PE2、・・・PE255の順に、 ・0、1、2、...255の値が入力される。
【0056】各プロセッサエレメント3において、上記
の選択回路35に入力された値を、選択回路35に備わ
るコンパレータ80(図7)にて(SIMD型マイクロ
プロセッサ2への)命令で指定された即値と比較し、そ
の結果をTレジスタ(演算制御レジスタ)54の所定の
位置のビットに格納する。このTレジスタ54への結果
格納により、次命令以降の演算にて、256個あるプロ
セッサエレメント3のうち特定の1つのプロセッサエレ
メント3においてのみ演算を行ない、その他のプロセッ
サエレメント3の演算を行なわないという設定をするこ
とができる。
【0057】図7は、本発明に係る選択回路35の概略
回路ブロック図を示す。図4、図5及び図6の、PE番
号マスク回路、固定値選択回路及びnおきビットパター
ンデータ出力回路からの出力データは、図2に示す演算
アレイ8内の選択回路35に繋がる。GP4からの制御
信号である入力データ選択信号2によってマルチプレク
サ78にて選択され、3者のうちいずれか1データがA
レジスタ38に入力される。また、選択された1データ
は、命令コード中の即値データIMM2とコンパレータ
80にて比較され、その結果一致した場合には “1”
を出力する。一致しなかった場合“0”を出力する。
【0058】ここで、本発明に係るTレジスタ54につ
いて説明する。図2のように、各プロセッサエレメント
3には、実行条件指定のための演算制御レジスタ(Tレ
ジスタ)54が装備されている。図8は、Tレジスタ5
4の回路ブロック図の例である。図8では、Tレジスタ
54は8ビットのレジスタ(T0、T1、・・・T7)
を備え、夫々の1ビットのレジスタは別々に制御され
る。そのため、1つのプロセッサエレメント3にて8通
りの制御パターンを保持できる。
【0059】Tレジスタ54における夫々のビットは、
各プロセッサエレメント3の演算実行の無効/有効の制
御を行ない、特定のプロセッサエレメント3だけを演算
対象として選択するという制御を行なうことができる。
例えば、次のような命令が想定される。
【0060】ADD/T1 #12
【0061】この命令は加算命令であり、Aレジスタ3
8の値と即値“12”とが加算されて結果がAレジスタ
38に格納される。この命令において、“/T1”とい
う実行制御オプションを記述することにより、Tレジス
タ38のうちT1の(ビット)フラグの値が“1”であ
るプロセッサエレメント3のみ、Aレジスタ38へのA
LU36からのデータの格納が行なわれる。T1フラグ
が“0”であるプロセッサエレメント3のAレジスタ5
4へのデータの格納は行なわれない。
【0062】図8の例では、このTレジスタ54への入
力へは、 ・PE3内の演算ユニット6のALU36にて発生した
オーバーフローフラグ(V)、キャリーフラグ(C)か
らの入力、 ・全Tフラグへの即値IMM2によるマスク操作の結果
に対する、OR操作の結果からの入力、 ・図2に示される記憶手段2からの入力、 ・図7の選択回路35でのコンパレータ80出力からの
入力 などである。
【0063】以上説明した本発明の第4の実施の形態に
係るSIMD型マイクロプロセッサ2によれば、特定の
PE番号のプロセッサエレメント3のみ演算を行なわせ
るという処理を、少ない命令数で行なうことができる。
従来の技術であれば、全プロセッサエレメント3のTレ
ジスタ54に対し先ず“0”を設定し、更に、演算を行
なうプロセッサエレメント3のTレジスタ54に“1”
を設定することにより、上記の機能は実現されるが、本
発明の第4の実施の形態に比べて命令数は必然的に増加
してしまう。
【0064】≪第5の実施の形態≫本発明の第5の実施
の形態に係るSIMD型マイクロプロセッサ2について
説明する。
【0065】第5の実施の形態に係るSIMD型マイク
ロプロセッサ2の各プロセッサエレメント3において
は、第1の実施の形態に係るPE番号マスク回路から選
択回路35に繋げられる(データ)値を、選択回路35
に備わるコンパレータ80(図7)にて、命令コード中
に指定された即値データと比較し、その結果をTレジス
タ54の所定の位置のビットに格納する。このTレジス
タ54への結果格納により、次命令以降の演算にて、
「2のべき乗」おきのPE番号を備えるプロセッサエレ
メント3のみの演算を実行させるという制御を行うこと
ができる。
【0066】図4に示されるPE番号マスク回路の出力
は図7の選択回路35に入力され、該選択回路35では
(予め用意されている)「LDTM」(Load to
Tregister Masked PE Numb
er)命令を実行することで、入力データ選択信号2に
よりそのPE番号マスク回路の出力のデータが選択され
る。更に、上記LDTM命令の実行時に、即値データ
(の1つ)がIMM2に入力され、PE番号マスク回路
の出力データとIMM2とがコンパレータ80にて比較
される。一致するとそのプロセッサエレメント3のコン
パレータ80の出力が“1”となり、一致しなかったプ
ロセッサエレメント3では“0”となる。次の命令は、
実行される命令の例である。
【0067】 LDTM/T2 #00000011b、#1
【0068】上記命令において、即値オペランドのうち
第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から始まり「2
2」おきのPE番号を備えるプロセッサエレメント3の
みの演算を実行させることができる。
【0069】≪第6の実施の形態≫本発明の第6の実施
の形態に係るSIMD型マイクロプロセッサ2について
説明する。
【0070】第6の実施の形態に係るSIMD型マイク
ロプロセッサ2の各プロセッサエレメント3において
は、第2の実施の形態に係る固定値選択回路から選択回
路35に繋げられる(データ)値を、選択回路35に備
わるコンパレータ80(図7)にて、命令コード中に指
定された即値データと比較し、その結果をTレジスタ5
4の所定の位置のビットに格納する。このTレジスタ5
4への結果格納により、次命令以降の演算にて、3、
5、7のような特定の数値おきのPE番号を備えるプロ
セッサエレメント3のみの演算を実行させるという制御
を行うことができる。
【0071】図5に示される固定値選択回路の出力は図
7の選択回路に入力され、該選択回路35では(予め用
意されている)「LDTN」(Load to T r
egister Predefined Numbe
r)命令を実行することで、入力データ選択信号2によ
りその固定値選択回路の出力データが選択される。更
に、上記LDTN実行時に、即値データ(の1つ)がI
MM2に入力され、固定値選択回路の出力データとIM
M2とがコンパレータ80にて比較される。一致すると
そのプロセッサエレメント3のコンパレータ80の出力
が“1”となり、一致しなかったプロセッサエレメント
3では“0”となる。次の命令は、実行される命令の例
である。
【0072】LDTN/T2 #3、#2
【0073】上記命令において、即値オペランドのうち
第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
のみの演算を実行させることができる。
【0074】≪第7の実施の形態≫本発明の第7の実施
の形態に係るSIMD型マイクロプロセッサ2について
説明する。
【0075】第7の実施の形態に係るSIMD型マイク
ロプロセッサ2の各プロセッサエレメント3において
は、第3の実施の形態に係るnおきビットパターンデー
タ出力回路から選択回路35に繋げられる(データ)値
を、選択回路35に備わるコンパレータ80(図7)に
て、命令コード中に指定された即値データと比較し、そ
の結果をTレジスタ54の所定の位置のビットに格納す
る。このTレジスタ54への結果格納により、次命令以
降の演算にて、2、3、5、7、11のような特定の数
値おきのPE番号を備えるプロセッサエレメント3のみ
の演算を実行させるという制御を行うことができる。
【0076】図6に示されるnおきビットパターンデー
タ出力回路の出力は図7の選択回路35に出力され、該
選択回路35では(予め用意されている)「LDTB」
(Load to T register Bit N
umber)命令を実行することで、入力データ選択信
号2によりそのnおきビットパターンデータ出力回路の
出力のデータが選択される。更に、上記LDTB命令の
実行時に、即値データ(の1つ)がIMM2に入力さ
れ、nおきビットパターンデータ出力回路の出力データ
とIMM2とがコンパレータ80にて比較される。一致
するとそのプロセッサエレメント3のコンパレータの出
力が“1”となり、一致しなかったプロセッサエレメン
ト3では“0”となる。次の命令は、実行される命令の
例である。
【0077】 LDTB/T2 #00000010b、#1
【0078】上記命令において、即値オペランドのうち
第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
のみの演算を実行させることができる。
【0079】
【発明の効果】本発明を利用することにより、特に、画
像データ処理に伴う命令の命令実行サイクル数を減らす
ことができる。そのために増設の必要な回路は、簡素な
ものであるに過ぎない。
【図面の簡単な説明】
【図1】 一般的なSIMD型マイクロプロセッサの概
略の構成を示すブロック図である。
【図2】 本発明に係るSIMD型マイクロプロセッサ
のより詳細な構成を示すブロック図である。
【図3】 レジスタファイルのレジスタと演算アレイと
を結び付けるマルチプレクサの機能を示すブロック図で
ある。
【図4】 本発明の第1の実施の形態に係るPE番号マ
スク回路の回路図である。
【図5】 本発明の第2の実施の形態に係る固定値選択
回路の回路図である。
【図6】 本発明の第3の実施の形態に係るnおきビッ
トパターンデータ出力回路の回路図である。
【図7】 本発明に係る選択回路の概略回路ブロック図
を示す。
【図8】 演算制御レジスタ(Tレジスタ)の回路ブロ
ック図の例である。
【符号の説明】
2・・・SIMD型マイクロプロセッサ、3・・・プロ
セッサエレメント、4・・・グローバルプロセッサ、6
・・・レジスタファイル、8・・・演算アレイ、34・
・・レジスタ、35・・・演算回路、36・・・ALU
(算術論理演算装置)、38・・・Aレジスタ、50、
50’、50”・・・接続線部、51、51”・・・論
理回路部、51’・・・マルチプレクサ部、54・・・
Tレジスタ(演算制御レジスタ)、78・・・マルチプ
レクサ、80・・・コンパレータ。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 福島 正展 東京都大田区中馬込1丁目3番6号 株式 会社リコー内 (72)発明者 原 和彦 東京都大田区中馬込1丁目3番6号 株式 会社リコー内 (72)発明者 中村 圭治 東京都大田区中馬込1丁目3番6号 株式 会社リコー内 (72)発明者 岩永 和彦 東京都大田区中馬込1丁目3番6号 株式 会社リコー内 (72)発明者 高藤 浩資 東京都大田区中馬込1丁目3番6号 株式 会社リコー内 Fターム(参考) 5B045 AA01 GG14 5B057 CH04 CH18

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】 SIMD型マイクロプロセッサにおい
    て、 各々のプロセッサエレメントには、識別のための整数番
    号が順に付されており、 各プロセッサエレメントにて上記の識別のための整数番
    号を汎用レジスタに格納し、 更に、全てのプロセッサエレメントにて、上記の識別の
    ための整数番号を2進法により表記させた際の、指定さ
    れた位を“0”もしくは“1”に固定させて、汎用レジ
    スタに格納する、SIMD型マイクロプロセッサ。
  2. 【請求項2】 SIMD型マイクロプロセッサにおい
    て、 各々のプロセッサエレメントには、識別のための整数番
    号が順に付されており、 上記の識別のための整数番号に応じて、各プロセッサエ
    レメントにてn(nは自然数)おきに周期変動する数値
    を、汎用レジスタに格納する、SIMD型マイクロプロ
    セッサ。
  3. 【請求項3】 SIMD型マイクロプロセッサにおい
    て、 各々のプロセッサエレメントには、識別のための整数番
    号が順に付されており、 各プロセッサエレメントにて、上記の識別のための整数
    番号に応じて、所定の数値を周期とする周期特性を備え
    る複数のビットを生成して、汎用レジスタに格納し、 更に、全てのプロセッサエレメントにて、上記の複数の
    ビットの指定されたものを、“0”に置換して、汎用レ
    ジスタに格納する、SIMD型マイクロプロセッサ。
  4. 【請求項4】 SIMD型マイクロプロセッサにおい
    て、 各プロセッサエレメントは、プロセッサエレメントに含
    まれる算術論理演算装置の演算結果を汎用レジスタに格
    納する際の可否を決定する演算制御レジスタを持ち、 各々のプロセッサエレメントには、識別のための整数番
    号が順に付され、 上記の識別のための整数番号と、命令コードにより指定
    された数値を全プロセッサエレメントに渡って同時に比
    較し、比較結果を上記演算制御レジスタに含まれるフラ
    グに設定する、SIMD型マイクロプロセッサ。
  5. 【請求項5】 SIMD型マイクロプロセッサにおい
    て、 各プロセッサエレメントは、プロセッサエレメントに含
    まれる算術論理演算装置の演算結果を汎用レジスタに格
    納する際の可否を決定する演算制御レジスタを持ち、 各々のプロセッサエレメントには、識別のための整数番
    号が順に付され、 各プロセッサエレメントにて、上記の識別のための整数
    番号を2進法により表記させた際の、指定された位を
    “0”若しくは“1”に固定させたデータを生成し、 上記の各プロセッサエレメントにて生成されたデータ
    と、命令コードにより指定された数値を全プロセッサエ
    レメントに渡って同時に比較し、比較結果を上記演算制
    御レジスタに含まれるフラグに設定する、SIMD型マ
    イクロプロセッサ。
  6. 【請求項6】 SIMD型マイクロプロセッサにおい
    て、 各プロセッサエレメントは、プロセッサエレメントに含
    まれる算術論理演算装置の演算結果を汎用レジスタに格
    納する際の可否を決定する演算制御レジスタを持ち、 各々のプロセッサエレメントには、識別のための整数番
    号が順に付され、上記の識別のための整数番号に応じ
    て、各プロセッサエレメントにてn(nは自然数)おき
    に周期変動する数値を生成し、 上記の各プロセッサエレメントにて生成される周期変動
    する数値と、命令コードにより指定された数値を全プロ
    セッサエレメントに渡って同時に比較し、比較結果を上
    記演算制御レジスタに含まれるフラグに設定する、SI
    MD型マイクロプロセッサ。
  7. 【請求項7】 SIMD型マイクロプロセッサにおい
    て、 各プロセッサエレメントは、プロセッサエレメントに含
    まれる算術論理演算装置の演算結果を汎用レジスタに格
    納する際の可否を決定する演算制御レジスタを持ち、 各々のプロセッサエレメントには、識別のための整数番
    号が順に付され、各プロセッサエレメントにて、上記の
    識別のための整数番号に応じて、所定の数値を周期とす
    る周期特性を備える複数のビットを生成の上、更に指定
    されたものを“0”に置換したデータを生成し、 上記の各プロセッサエレメントにて生成されるデータ
    と、命令コードにより指定された数値を全プロセッサエ
    レメントに渡って同時に比較し、比較結果を上記演算制
    御レジスタに含まれるフラグに設定する、SIMD型マ
    イクロプロセッサ。
JP2000297115A 2000-09-28 2000-09-28 Simdプロセッサにおけるデータ設定装置 Expired - Fee Related JP3971557B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000297115A JP3971557B2 (ja) 2000-09-28 2000-09-28 Simdプロセッサにおけるデータ設定装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000297115A JP3971557B2 (ja) 2000-09-28 2000-09-28 Simdプロセッサにおけるデータ設定装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2006258862A Division JP4398965B2 (ja) 2006-09-25 2006-09-25 Simdプロセッサにおけるデータ設定装置

Publications (2)

Publication Number Publication Date
JP2002108832A true JP2002108832A (ja) 2002-04-12
JP3971557B2 JP3971557B2 (ja) 2007-09-05

Family

ID=18779281

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000297115A Expired - Fee Related JP3971557B2 (ja) 2000-09-28 2000-09-28 Simdプロセッサにおけるデータ設定装置

Country Status (1)

Country Link
JP (1) JP3971557B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007034473A (ja) * 2005-07-25 2007-02-08 Ricoh Co Ltd Simd型マイクロプロセッサにおけるデータ処理方法
CN112764810A (zh) * 2021-01-20 2021-05-07 重庆邮电大学 一种应用于处理器的寄存器控制simd指令扩展方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007034473A (ja) * 2005-07-25 2007-02-08 Ricoh Co Ltd Simd型マイクロプロセッサにおけるデータ処理方法
JP4516495B2 (ja) * 2005-07-25 2010-08-04 株式会社リコー Simd型マイクロプロセッサにおけるデータ処理方法
CN112764810A (zh) * 2021-01-20 2021-05-07 重庆邮电大学 一种应用于处理器的寄存器控制simd指令扩展方法
CN112764810B (zh) * 2021-01-20 2022-09-20 重庆邮电大学 一种应用于处理器的寄存器控制simd指令扩展方法

Also Published As

Publication number Publication date
JP3971557B2 (ja) 2007-09-05

Similar Documents

Publication Publication Date Title
JP4913685B2 (ja) Simd型マイクロプロセッサおよびsimd型マイクロプロセッサの制御方法
JP3573755B2 (ja) 画像処理プロセッサ
US6173394B1 (en) Instruction having bit field designating status bits protected from modification corresponding to arithmetic logic unit result
KR100348950B1 (ko) 데이타처리장치
US5778241A (en) Space vector data path
US6370558B1 (en) Long instruction word controlling plural independent processor operations
JP2008071130A (ja) Simd型マイクロプロセッサ
JPH087084A (ja) 第1、第2及び第3の入力の第1のブール組合せプラス第1、第2及び第3の入力の第2のブール組合せの和を形成する3入力算術論理装置
US6941446B2 (en) Single instruction multiple data array cell
US5729758A (en) SIMD processor operating with a plurality of parallel processing elements in synchronization
EP0657802B1 (en) Rotation register for orthogonal data transformation
JPH07287567A (ja) 複数の独立区分と各区分からの結果を記憶するレジスタとを有する算術論理装置
US8060726B2 (en) SIMD microprocessor, image processing apparatus including same, and image processing method used therein
US6173305B1 (en) Division by iteration employing subtraction and conditional source selection of a prior difference or a left shifted remainder
JP2002108832A (ja) Simdプロセッサにおけるデータ設定装置
JP4398965B2 (ja) Simdプロセッサにおけるデータ設定装置
CN101258480A (zh) 具有分离串行模块的处理器阵列
JP4451433B2 (ja) 並列プロセッサ
JP3971543B2 (ja) Simd型プロセッサ
JP3742745B2 (ja) 演算処理装置
JP4442907B2 (ja) Simd型プロセッサ
JP4516495B2 (ja) Simd型マイクロプロセッサにおけるデータ処理方法
JP3837293B2 (ja) 定数選択機能を有するsimd型マイクロプロセッサ
US5473774A (en) Method for conflict detection in parallel processing system
JP2005267362A (ja) Simdプロセッサを用いた画像処理方法及び画像処理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20041206

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060720

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060725

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060925

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: 20070605

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070608

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: 20110615

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110615

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120615

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130615

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees