JP4063182B2 - プロセッサおよびその割り込み制御方法 - Google Patents
プロセッサおよびその割り込み制御方法 Download PDFInfo
- Publication number
- JP4063182B2 JP4063182B2 JP2003323783A JP2003323783A JP4063182B2 JP 4063182 B2 JP4063182 B2 JP 4063182B2 JP 2003323783 A JP2003323783 A JP 2003323783A JP 2003323783 A JP2003323783 A JP 2003323783A JP 4063182 B2 JP4063182 B2 JP 4063182B2
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- vector
- processing
- interrupt
- cycle
- 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
Description
このような割り込み処理には、プロセッサ外部から入力される外部割込み処理と、プロセッサ内部において発生する例外処理とがある。
図12は、割り込み処理を実行可能な従来のプロセッサ200の構成を示す図である。
フェッチ部201は、不図示のメモリから命令コードをフェッチする。そして、フェッチ部201は、フェッチした命令コードを一時的に記憶した後、デコード部202に出力する。
ALU部203は、デコード部202から入力されたデコード結果が論理演算である場合に、デコード結果に基づいて、レジスタファイル部208から演算するデータを読み出す。そして、ALU部203は、読み出したデータの論理演算を実行し、演算結果をレジスタファイル部208に出力する。
加減算部205は、デコード部202から入力されたデコード結果が加算あるいは減算である場合に、デコード結果に基づいて、レジスタファイル部208から加算あるいは減算するデータを読み出す。そして、加減算部205は、読み出したデータの加算あるいは減算を実行し、加減算結果をレジスタファイル部208に出力する。
ストア部207は、デコード部202から入力されたデコード結果がストア命令である場合に、デコード結果に基づいて、ストア命令の対象となるデータをレジスタファイル部208から読み出す。そして、ストア部207は、ストア命令の対象となるアドレスおよびレジスタファイル部208から読み出したデータをメモリに出力する。
プログラムカウンタ(PC)209aは、次に実行するプログラムのアドレスを記憶するレジスタである。
割り込みベクタ209dは、割り込み処理の種類に応じた分岐先のプログラムのアドレスをテーブル形式で記憶している。
また、プログラム制御部209は、プロセッサ200の演算内容を示す信号を例外管理部210に出力し、例外管理部210から例外処理であることを示す信号が入力された場合、割り込み処理を実行する。
例外管理部210は、プログラム制御部209から入力される演算内容を示す信号に基づいて、その演算において、アドレス例外(アドレスの参照範囲の違反)、予約命令例外(定義されていない命令の入力)および零除算等の内部例外が発生しているか否かを検出する。そして、例外管理部210は、内部例外が発生している場合、発生している内部例外に対応する例外処理を示す信号をプログラム制御部209に出力する。
以上のような構成において、プロセッサ200は、例外処理あるいは外部割り込みのいずれかの割り込み処理が発生すると、図13に示すように、実行中の命令に関するデータを一旦退避させ、割り込み処理を実行する。具体的には、図13において、通常のプログラムの実行中に割り込み処理が発生すると、プロセッサ200は、退避用許可フラグ(PMIE)に割り込み許可フラグ(MIE)をセットし、割り込み許可フラグには、割り込みの禁止を示す“0”をセットする。また、プロセッサ200は、割り込み処理用プログラムカウンタ209cにプログラムカウンタ209aの値をセットし、プログラムカウンタ209aに割り込み処理の命令を示すアドレスをセットする。
例えば、ベクトル命令の演算結果をスカラレジスタに書き込み、その演算結果を順にストアしていく処理の実行中に割り込み処理が発生したとする。
本文献においては、割り込み処理の実行をソフトウェアで禁止することにより、上述のような不正な結果が生ずることを防止する技術が開示されている。
アンドリュー・S・タネンバウム著「構造化コンピュータ構成 第4版」ピアソン・エデュケーション
即ち、従来のプロセッサにおいては、高い応答性をもって、安全に割り込み処理を実行することが困難であった。
ベクトル命令あるいはマルチサイクル命令を処理可能であり、その処理中に割り込み処理を実行可能なプロセッサであって、前記ベクトル命令あるいはマルチサイクル命令の処理中であるか否かを検出する実行検出手段(例えば、図1,図8のベクトル命令実行検出部109あるいは図5,図11のマルチサイクル命令実行検出部113)と、前記実行検出手段によって、前記ベクトル命令あるいはマルチサイクル命令の処理中であることが検出された場合に、該ベクトル命令あるいはマルチサイクル命令の処理が終了するまで割り込み処理の実行を保留させることが可能な割り込み制御手段(例えば、図1,図5,図8あるいは図11のプログラム制御部110)とを含むことを特徴としている。
ベクトル命令あるいはマルチサイクル命令を処理可能であり、その処理中に割り込み処理を実行可能なプロセッサにおける割り込み制御方法であって、前記ベクトル命令あるいはマルチサイクル命令の処理中であるか否かを検出する実行検出ステップと、前記実行検出ステップにおいて、前記ベクトル命令あるいはマルチサイクル命令の処理中であることが検出された場合に、該ベクトル命令あるいはマルチサイクル命令の処理が終了するまで割り込み処理の実行を保留させる割り込み制御ステップとを含むことを特徴としている。
したがって、割り込み処理が行われることにより、ベクトル命令の演算結果が不正な値となる事態を防止することができ、安全に割り込み処理を実行することが可能となる。
したがって、ソフトウェアによって割り込み処理の制御を行う場合に比べ、高い応答性をもって処理することが可能となる。
また、処理されている前記ベクトル命令あるいはマルチサイクル命令に引き続く命令が、ベクトル命令あるいはマルチサイクル命令であるか否かを検出する連続実行検出手段(例えば、図8のベクトル命令連続実行検出部109aあるいは図11のマルチサイクル命令連続実行検出部113a)をさらに含み、前記割り込み制御手段は、前記連続実行検出手段によって、処理されている前記ベクトル命令あるいはマルチサイクル命令に引き続く命令が、ベクトル命令あるいはマルチサイクル命令であることが検出された場合に、処理されている前記ベクトル命令あるいはマルチサイクル命令の処理と、それに引き続く命令の処理とが終了するまで割り込み処理の実行を保留させることが可能であることを特徴としている。
したがって、連続して行われるベクトル命令あるいはマルチサイクル命令それぞれが、レジスタを共用する場合にも、より確実に、ベクトル命令の演算結果が不正な値となる事態を防止することができ、安全に割り込み処理を実行することが可能となる。
また、前記判定手段は、処理されているベクトル命令あるいはマルチサイクル命令のデスティネーションレジスタと、引き続く命令のソースレジスタとの関連性に基づいて、前記依存関係を判定することを特徴としている。
これにより、連続するベクトル命令あるいはマルチサイクル命令の具体的な処理内容に応じて、適切に割り込み処理を実行することが可能となる。
(第1の実施の形態)
初めに、本発明の第1の実施の形態について説明する。
まず、構成を説明する。
図1は、本実施の形態に係るプロセッサ1の構成を示す図である。
図1において、プロセッサ1は、図12に示す従来のプロセッサ200に、ベクトル命令実行検出部109が付加された構成である。そのため、ベクトル命令実行検出部109に関連する構成についてのみ説明し、従来と同様の構成部分については、説明を省略する。
ベクトル命令実行検出部109は、プロセッサ1内部にハードウェアとして備えられており、ベクトル命令実行検出部109には、命令を実行しているALU部103、乗算部104、加減算部105、ロード部106およびストア部107から実行ステータス信号が入力される。
なお、デコード部102によってデコードされた命令コードの内容に基づいて、その命令がベクトル命令であるか否かを判定できることから、デコード部102からベクトル命令実行検出部109に実行ステータス信号を入力することも可能である。
次に、動作を説明する。
図2は、プロセッサ1の動作を示す状態遷移図である。
図2において、プロセッサ1は、状態S1〜S5を遷移する。
状態S1(Reset)は、割り込み処理としてプロセッサ1のリセットが行われた場合の第1サイクルを実行する状態であり、引き続き状態S2に遷移する。
状態S4(MI-PostProc)は、外部割り込み処理の実行後、プロセッサ1の動作タイミングを調整する状態である。状態S4において、動作タイミングの調整後、状態S2に遷移し、外部割り込み以外の割り込みが発生すると、状態S5に遷移する。また、状態S4において、リセットが行われた場合、状態S1に遷移する。
図2に示すように各状態を遷移する結果、プロセッサ1は、割り込み処理に関し、具体的に以下のような動作を行う。
図3においては、クロック信号(CLK)によって規定されるサイクル毎に、命令コード(Inst1〜11)が順次入力される。各命令コードは、フェッチアドレスの演算(Fadr)、フェッチ(F)、デコード(D)および実行(E)の各ステージによって構成される。また、命令コードInst2は、4ワードのデータを読み込むベクトル命令であり、実行ステージは4サイクル(E1〜E4)にわたっている。
そして、サイクル“4”において、外部割り込みが発生すると(IRQ-EN=1)、ベクトル命令である命令コードInst2の処理中であることから、外部割り込み処理を保留し、命令コードInst2の最後の実行ステージが開始されるサイクル“8”まで通常の動作を継続する。
そして、プロセッサ1は、外部割り込み処理に関連する命令コードInst8〜10をサイクル“8”〜“10”で処理し、サイクル“11”から、通常の動作状態に戻る。
したがって、割り込み処理が行われることにより、ベクトル命令の演算結果が不正な値となる事態を防止することができ、安全に割り込み処理を実行することが可能となる。
したがって、ソフトウェアによって割り込み処理の制御を行う場合に比べ、高い応答性をもって処理することが可能となる。また、プロセッサ1に実行させるプログラムを記述する際に、割り込み処理に関するプログラムの記述を容易なものとすることができると共に、割り込み処理に関するプログラムミスを防止することが可能となる。
即ち、図5に示すように、プロセッサ1において、図1のベクトル命令実行検出部109に対応するマルチサイクル命令実行検出部113を備え、ALU部103等、演算を行う各機能部から、マルチサイクル命令が実行されているか否かを示す実行ステータス信号を入力させる。
このような構成とすることにより、プロセッサ2は、割り込み処理に関し、具体的には、以下のような動作を行う。
図6においては、クロック信号(CLK)によって規定されるサイクル毎に、
MP %SR2,%SR0,%SR1;
ADD %SR4,%SR3,%SR2;
SUB %SR5,%SR3,%SR2;
ADD %SR7,%SR6,%SR2;
SUB %SR8,%SR6,%SR2;
の順で命令が入力されている。
(ただし、第1行は、スカラレジスタSR0およびスカラレジスタSR1の値を乗算し、スカラレジスタSR2に格納する命令であり、第2行は、スカラレジスタSR3の値にスカラレジスタSR2の値を加算し、スカラレジスタSR4に格納する命令である。また、第3行は、スカラレジスタSR3の値からスカラレジスタSR2の値を減算し、スカラレジスタSR5に格納する命令であり、第4行は、スカラレジスタSR6の値にスカラレジスタSR2の値を加算し、スカラレジスタSR7に格納する命令である。さらに、第5行は、スカラレジスタSR6の値からスカラレジスタSR2の値を減算し、スカラレジスタSR8に格納する命令である。)
そして、これらの命令において、第1行は、実行ステージが4サイクルわたるマルチサイクル命令であり、そのデスティネーションレジスタSR2が、第2行から第4行の命令において、ソースレジスタとして多重割り当てされている。
そして、サイクル“7”において、プロセッサ2は、外部割り込み処理を開始する。
そのため、第2行から第4行の命令において使用するスカラレジスタSR2の値は、第1行の命令の実行結果が反映されていない状態であり、第5行の命令において使用するスカラレジスタSR2の値は、第1行の命令の実行結果が反映されている状態である。即ち、スカラレジスタSR2に関する多重割り当てが適切に処理されている。
したがって、上述のベクトル命令の場合と同様に、本発明により、マルチサイクル命令の処理中に外部割り込み処理が行われることによって生ずる不具合を解消することができる。
(第2の実施の形態)
次に、本発明の第2の実施の形態について説明する。
図8において、プロセッサ2は、第1の実施の形態におけるプロセッサ1において、ベクトル命令実行検出部109にベクトル命令連続実行検出部109aが付加された構成である。そのため、ベクトル命令連続実行検出部109aに関連する構成についてのみ説明し、プロセッサ1と同様の構成部分については、説明を省略する。
ベクトル命令連続実行検出部109aは、デコード部102から入力される連続実行ステータス信号に基づいて、後続命令がベクトル命令であるか否かを判定する。
そして、ベクトル命令連続実行検出部109aによって、後続命令がベクトル命令であると判定された場合、ベクトル命令実行検出部109は、現在実行中である命令コードがベクトル命令であるときには、後続命令の処理が終了するまで外部割り込み処理を実行させない旨の指示信号(以下、「連続割り込み禁止信号」と言う。)をプログラム制御部110に出力する。
プロセッサ2の動作を示す状態遷移図は、図2に示すプロセッサ1の状態遷移図において、状態S2の遷移条件が異なるものである。
即ち、図2において、状態S2(Normal)は、割り込みが発生していない、通常の動作状態である。状態S2において、外部割り込みが発生した場合、ベクトル命令の処理中であり、かつ、後続命令がベクトル命令であるとき(ベクトル命令の連続実行中)以外には状態S3に遷移し、例外処理等、外部割り込み以外の割り込みが発生すると、状態S5に遷移する。また、状態S2において、リセットが行われた場合、状態S1に遷移する。ここで、状態S2において、外部割り込みが発生した場合に、ベクトル命令の連続実行中であるときには、ベクトル命令の処理中であり、かつ、後続命令がベクトル命令である状態でなくなるまで状態S2を継続する。
図9は、連続するベクトル命令の処理中に割り込み処理が発生した場合の動作例を示すタイミングチャートである。
図9においては、クロック信号(CLK)によって規定されるサイクル毎に、命令コード(Inst1〜12)が順次入力される。各命令コードは、フェッチアドレスの演算(Fadr)、フェッチ(F)、デコード(D)および実行(E)の各ステージによって構成される。また、命令コードInst2は、2ワードのデータを読み込むベクトル命令であり、実行ステージは2サイクル(E1〜E2)にわたっている。さらに、命令コードInst3は、4ワードのデータを加算するベクトル命令であり、実行ステージは4サイクル(E1〜E4)にわたっている。
そして、サイクル“2”において、ベクトル命令である命令コードInst2が入力され、続いて、サイクル“3”において、同様にベクトル命令である命令コードInst3が入力される。
ここで、サイクル“4”において、外部割り込み処理が発生すると、ベクトル命令である命令コードInst2の処理中であり、後続命令もベクトル命令である命令コードInst3であることから、外部割り込み処理を保留し、命令コードInst3の最後の実行ステージが開始されるサイクル“9”まで通常の動作を継続する。
そして、プロセッサ2は、外部割り込み処理に関連する命令コードInst9〜11をサイクル“9”〜“11”で処理し、サイクル“12”から、通常の動作状態に戻る。
したがって、連続して行われるベクトル命令それぞれが、レジスタを共用する場合にも、より確実に、ベクトル命令の演算結果が不正な値となる事態を防止することができ、安全に割り込み処理を実行することが可能となる。
即ち、図11に示すように、プロセッサ2において、図8のベクトル命令実行検出部109およびベクトル命令連続実行検出部109aに対応するマルチサイクル命令実行検出部113およびマルチサイクル命令連続実行検出部113aを備え、デコード部102から、現在実行中である命令コードに引き続く命令コードがマルチサイクル命令であるか否かを示す連続実行ステータス信号を入力させる。
このような構成とすることにより、上述のベクトル命令の場合と同様に、マルチサイクル命令の連続実行中に外部割り込み処理が行われることによって生ずる不具合を解消することができる。
そこで、このような事態が発生することをより少なくするため、実行されているベクトル命令あるいはマルチサイクル命令と、引き続く命令とに関与するデータの依存関係を確認した上で、依存関係がなければ、ベクトル命令あるいはマルチサイクル命令の実行中に外部割り込み処理を開始することが可能である。このような依存関係の確認は、処理される各命令コードのデコード結果が入力されるベクトル命令実行検出部109あるいはマルチサイクル命令実行検出部113において行うことが可能である。
ADD[8] %SR0,%VR0,VR1;
ST[8] %SR0,{%SR6,%SR7};
(ただし、第1行は、ベクトルレジスタVR0の値にベクトルレジスタVR1の値を加算し、スカラレジスタSR0に順次格納する命令であり、第2行は、スカラレジスタSR0の値をスカラレジスタSR6,SR7によって示されるメモリアドレスにストアする命令である。)
という命令列の場合、第1行と第2行の間に割り込み処理が行われると、デスティネーションレジスタであるスカラレジスタSR0の値が割り込み処理中に順次変化してしまい、第2行の処理結果が不正なものとなる。
また、実行されているマルチサイクル命令と、引き続く命令とに関与するデータについて、依存関係の有無を判定するための条件は、「先行するマルチサイクル命令のデスティネーションレジスタがスカラレジスタであり、かつ、先行するマルチサイクル命令の結果がデスティネーションレジスタに書き込まれる前に、引き続く命令が、そのデスティネーションレジスタをソースレジスタとして使用しているか否か」である。即ち、マルチサイクル命令においてスカラレジスタの多重割り当てを行っている場合等である。例えば、
LD %SR0,{%SR6,%SR7};
ADD %SR2,%SR0,SR1;
ADD %SR3,%SR0,SR1;
(ただし、第1行は、スカラレジスタSR0に外部メモリのアドレス{%SR0,%SR7}から読み込んだデータを格納する命令であり、第2行は、スカラレジスタSR0の値にスカラレジスタSR1の値を加算し、スカラレジスタSR2に格納する命令である。また、第3行は、スカラレジスタSR0の値にスカラレジスタSR1の値を加算し、スカラレジスタSR3に格納する命令である。)
という命令列の場合、第1行は外部メモリからデータを読み込むマルチサイクル命令であり、その結果は、第3行の処理サイクルで反映されることとなる。つまり、第2行におけるスカラレジスタSR0と第3行におけるスカラレジスタSR0とは、異なる“変数”として扱われている。そのため、第1行と第2行との間に割り込み処理が行われると、第2行におけるスカラレジスタSR0と第3行におけるスカラレジスタSR0とは同一の“変数”となってしまい、第2行の処理結果が不正なものとなる。
Claims (2)
- ベクトル命令あるいはマルチサイクル命令を処理可能であり、その処理中に割り込み処理を実行可能なプロセッサであって、
前記ベクトル命令あるいはマルチサイクル命令の処理中であるか否かを検出する実行検出手段と、
前記実行検出手段によって、前記ベクトル命令あるいはマルチサイクル命令の処理中であることが検出された場合に、該ベクトル命令あるいはマルチサイクル命令の処理が終了するまで割り込み処理の実行を保留させる割り込み制御手段と、
処理されている前記ベクトル命令あるいはマルチサイクル命令に引き続く命令が、ベクトル命令あるいはマルチサイクル命令であるか否かを検出する連続実行検出手段とを備え、
前記割り込み制御手段は、前記連続実行検出手段によって、処理されている前記ベクトル命令あるいはマルチサイクル命令に引き続く命令が、ベクトル命令あるいはマルチサイクル命令であることが検出された場合に、処理されている前記ベクトル命令あるいはマルチサイクル命令の処理と、それに引き続く命令の処理とが終了するまで割り込み処理の実行を保留させることを特徴とするプロセッサ。 - ベクトル命令あるいはマルチサイクル命令を処理可能であり、その処理中に割り込み処理を実行可能なプロセッサにおける割り込み制御方法であって、
前記ベクトル命令あるいはマルチサイクル命令の処理中であるか否かを検出する実行検出ステップと、
前記実行検出ステップにおいて、前記ベクトル命令あるいはマルチサイクル命令の処理中であることが検出された場合に、該ベクトル命令あるいはマルチサイクル命令の処理が終了するまで割り込み処理の実行を保留させる割り込み制御ステップと、
処理されている前記ベクトル命令あるいはマルチサイクル命令に引き続く命令が、ベクトル命令あるいはマルチサイクル命令であるか否かを検出する連続実行検出ステップとを備え、
前記割り込み制御ステップにおいては、処理されている前記ベクトル命令あるいはマルチサイクル命令に引き続く命令が、ベクトル命令あるいはマルチサイクル命令であることが検出された場合に、処理されている前記ベクトル命令あるいはマルチサイクル命令の処理と、それに引き続く命令の処理とが終了するまで割り込み処理の実行を保留させることを特徴とする割り込み制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003323783A JP4063182B2 (ja) | 2003-09-16 | 2003-09-16 | プロセッサおよびその割り込み制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003323783A JP4063182B2 (ja) | 2003-09-16 | 2003-09-16 | プロセッサおよびその割り込み制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005092467A JP2005092467A (ja) | 2005-04-07 |
JP4063182B2 true JP4063182B2 (ja) | 2008-03-19 |
Family
ID=34454723
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003323783A Expired - Fee Related JP4063182B2 (ja) | 2003-09-16 | 2003-09-16 | プロセッサおよびその割り込み制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4063182B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009205473A (ja) | 2008-02-28 | 2009-09-10 | Nec Corp | 処理状態管理装置、処理状態管理方法およびプログラム |
WO2012120573A1 (ja) | 2011-03-04 | 2012-09-13 | 日本電気株式会社 | デッドロック回避方法、デッドロック回避機構 |
CN114968365B (zh) * | 2022-07-27 | 2022-10-28 | 广州智慧城市发展研究院 | 适配器寄存器单元及包含其的主机适配器电路 |
-
2003
- 2003-09-16 JP JP2003323783A patent/JP4063182B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2005092467A (ja) | 2005-04-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0111776B1 (en) | Interrupt processor | |
US5596733A (en) | System for exception recovery using a conditional substitution instruction which inserts a replacement result in the destination of the excepting instruction | |
EP0269980B1 (en) | Data processor for parallelly executing conflicting instructions | |
JP3881763B2 (ja) | データ処理装置 | |
JP5611756B2 (ja) | プログラム・フロー制御 | |
JPH04275628A (ja) | 演算処理装置 | |
JPH06242948A (ja) | パイプライン処理計算機 | |
JP4063182B2 (ja) | プロセッサおよびその割り込み制御方法 | |
US5634136A (en) | Data processor and method of controlling the same | |
US6990569B2 (en) | Handling problematic events in a data processing apparatus | |
US6851044B1 (en) | System and method for eliminating write backs with buffer for exception processing | |
TWI756212B (zh) | 處理向量指令 | |
EP0573071A2 (en) | A microprocessor | |
JP2721610B2 (ja) | プログラマブルコントローラ | |
JP2503223B2 (ja) | 先行制御方式 | |
JP2021144426A (ja) | プロセッサ及びエラー検出方法 | |
JP2721611B2 (ja) | プログラマブルコントローラ | |
JP3748191B2 (ja) | 計算機とその制御方法 | |
JP4702004B2 (ja) | マイクロコンピュータ | |
JP2005135089A (ja) | プロセッサ | |
JP2000305782A (ja) | 演算装置 | |
JPH0269825A (ja) | パイプライン制御方式 | |
JPH04247523A (ja) | 例外処理装置および例外処理方法 | |
JPS63214856A (ja) | デ−タ処理装置のデ−タ保護制御方式 | |
JPH02206836A (ja) | データ処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060327 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20070403 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070803 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070911 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071108 |
|
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: 20071211 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20071224 |
|
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: 20110111 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110111 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120111 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120111 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130111 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130111 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140111 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |