JP3743155B2 - パイプライン制御型計算機 - Google Patents
パイプライン制御型計算機 Download PDFInfo
- Publication number
- JP3743155B2 JP3743155B2 JP07563198A JP7563198A JP3743155B2 JP 3743155 B2 JP3743155 B2 JP 3743155B2 JP 07563198 A JP07563198 A JP 07563198A JP 7563198 A JP7563198 A JP 7563198A JP 3743155 B2 JP3743155 B2 JP 3743155B2
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- register
- pipeline
- memory
- unit
- 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
- Advance Control (AREA)
Description
【発明の属する技術分野】
この発明は、高速性と高い応答性とコストパフォーマンスが要求される産業用計算機に適したパイプライン制御型計算機に関するものである。
【0002】
【従来の技術】
パイプライン処理は複数の命令をオーバーラップさせて同時実行する技術である。現在、この技術はCPU高速化のための基本技術となっている。パイプラインは工場の組立ラインに似ている。パイプラインの1ステップで命令の1部分を担当し実行する。自動車の組立ライン同様、1個の命令の処理過程を複数の小さな処理単位に分割する。各処理単位の実行時間の和が、命令全体を実行するのに要する時間に等しいが各処理単位の実行時間毎に1つの割合で命令が実行されるので、全体としての命令実行速度は各処理単位の分割数に比例して速くなる。
【0003】
パイプライン処理では命令実行をオーバラップするので、逐時実行に比べて命令の相対的な実行タイミングが厳しくなる。これが原因で、データ・ハザードおよび制御ハザードが生じる。データ・ハザードは、命令の逐次実行とパイプライン実行とでオペランドへのアクセス順序が異なる場合に生じる。この様な問題は、フォワーディングまたはバイパス、あるいはショート・サーキットと呼ぶ簡単なハードウェア技術で解決できる。すなわち、ALU演算結果をALU入力ラッチにフィードバックするようにしておく。そして、当該ラッチ・データがこれから行なうALU演算のに使用するデータに等しい場合、レジスタから読み出したデータではなく、当該ラッチ・データをそのままALU入力として用いるようにする。
【0004】
パイプラインのスループットは、命令がパイプラインを出ていく速度で決まる。各ステージは互いに連結しているので、全てのステージが同時に処理を完了しなければならない。1ステージの処理に要する時間がマシン・サイクルである。マシン・サイクル時間は、最も遅いステージの処理時間によって決まる。通常、1マシン・サイクルは1クロック・サイクルに等しい。
【0005】
さらなる高速化の手段として、スーパースカラ・マシン、VLIW(VeryLong Instruction Word)マシンのように、1クロック・サイクルあたりに複数の命令を発行する方法がある。こうすることにより、命令実行速度がクロック速度を超えることが可能になる。コンパイラによってコードが適切にスケジューリングされてることを前提として、1クロック・サイクルあたりに複数の独立した命令を発行できるマシンを、スーパースカラ・マシンと呼ぶ。スーパースカラ・マシンのハードウェアは、1クロック・サイクル中に2〜4個の独立した命令を発行できる。ただし、命令流中の命令が互いに使用データやアドレス計算で依存していたり、あるいは、発行条件を満たしていない場合は、命令流の先頭命令のみが発行されることになる。これに対して、VLIWでは、同時に発行可能な命令をまとめて、データ・ハザードの回避を保証した1つの超長形式機械命令とするところまでコンパイラが責任をもって行なうので、ハードウェアは命令の同時実行可能性に関して対策の必要性がない。
【0006】
ただし、VLIWは複数の独立した機能ユニットを用いる必要がある。VLIWは1つの機能ユニットに対して複数の独立な命令を発行しようと試みるのではなく、複数の演算操作を非常に語長の長い1個の命令に詰め込み、複数の機能ユニットに各タスクを分配するのである。
【0007】
【発明が解決しようとする課題】
従来のパイプライン制御型計算機は、パイプラインを多くのステージに分割し、命令処理速度を向上させている。この方法では、命令処理速度が最も遅いステージを処理する時間に影響されるという点から、フェッチ部が行なうメモリアクセスの速度が高速化できないため、ステージ数を多くしても速度面での向上は限られている。また、ステージ数を多くするとパイプラインがフラッシュした場合にパイプラインを再充填する時間が長く、応答性が低いという問題があった。また、ステージ数が多くなり、命令セットの多様性が増加すると、データハザードが発生するケースが多くなる。そのため、これらを検出して回避する回路を設ける必要があり、回路規模が増加するという問題があった。
【0008】
その他の従来の高速化技術は、スーパースカラー、VLIW共に命令を1クロックの間に並列に動作させることで高速化を図っている。この方法では回路資源が多数必要であることが問題であり、またフェッチステージでのメモリアクセスや実行ステージでのメモリアクセスが処理速度を制限するようなパイプラインでは巣折時間の無駄が多いという問題があった。
【0009】
【課題を解決するための手段】
この発明の第1の構成によるパイプライン制御型計算機は、1実行ステージを複数のクロック・サイクルで実行するパイプライン制御部と、命令コード格納用メモリと実行データ格納用メモリのそれぞれに対して備えたメモリアクセス機構と、命令コード格納用メモリへのアクセスに対して複数のクロック・サイクルを割り当てて命令コードのフェッチを行なう命令コードフェッチ部と、インデックスレジスタによる修飾を伴ったアドレス計算をデコードステージの最後のクロック・サイクルで行なうデコード部と、全ての演算を1クロック・サイクルで終了する演算器と、1実行ステージ中で最終クロック・サイクルを除いて複数のレジスタ演算命令を発行する演算器・レジスタ制御部を持つ実行部とを有するパイプラインを備え、メモリアクセスを伴う演算命令とメモリアクセスを伴わないレジスタ演算命令とで構成され、アドレス修飾に使用するインデックスレジスタの変更を上記レジスタ間演算のみに制限した命令セットを用いることにより、メモリバスの競合とアドレス計算時のパイプラインハザードを回避したものである。
【0010】
また、この発明の第2の構成によるパイプライン制御型計算機は、この発明のの第1の構成において、1実行ステージ内に複数のクロック・サイクルを割り当てるパイプライン制御部と、全ての演算を1クロック・サイクルで終了する演算器と、メモリリードアクセスを伴う命令とメモリアクセスを伴わないレジスタ演算命令が実行される実行ステージにおいて、上記レジスタ演算命令をメモリリード中のクロック・サイクルで実行する演算器・レジスタ制御部を備えることにより、上記レジスタ演算に関してパイプラインハザード回避したものである。
【0011】
また、この発明の第3の構成によるパイプライン制御型計算機は、この発明の第1の構成において、1実行ステージ内に複数のクロック・サイクルを割り当てるパイプライン制御部と、全ての演算を1クロック・サイクルで終了する演算器と、メモリライトアクセスを伴う命令とメモリアクセスを伴わないレジスタ演算命令が実行される実行ステージにおいて、メモリライトデータ生成のための演算をステージ中の先頭のクロック・サイクルで実行した後、以後のクロック・サイクルで上記レジスタ演算命令をステージの最終クロック・サイクル以前に実行する演算器・レジスタ制御部を備え、上記レジスタ演算に関してパイプラインハザードを回避したものである。
【0012】
【発明の実施の形態】
実施の形態1.
本実施の形態では、命令コードフェッチ用と実行用メモリでメモリアクセス機構を分離し、フェッチ部と実行部がメモリアクセスで競合しない構成とし、パイプライン制御は1ステージに複数のクロック・サイクルを割り当て、フェッチステージに含まれるメモリアクセスが複数のクロック・サイクルで実行される様にクロック・サイクルを規定し、上記のパイプラインがフラッシュした際の再起動ロスを小さくするために命令コードフェッチステージ、デコードステージ、実行ステージの3ステージから成るパイプラインを用い、インデックスレジスタを用いたアドレス計算をステージの最終クロック・サイクルで実行するデコードステージを持ち、メモリアクセスを伴った演算ではインデックスレジスタを変更せず、レジスタ間演算でのみインデックスレジスタの変更を許す命令セットを用い、レジスタ演算は実行ステージの最終のクロック・サイクルより前に実行が終了する実行ステージを持つことにより、アドレス計算に関するパイプラインハザードが発生しないパイプライン制御方式を提供するものである。
【0013】
図1はこの実施の形態1のパイプライン制御型計算機の構成を示す図である。図において、1はパイプラインのフェッチステージを実行する命令コードフェッチ部であり、命令コード保存用メモリ5に接続されている。また、デコード部2とも接続されており、フェッチしたデータをパイプライン制御部4の指示に従ってデコード部2へ渡す。
【0014】
デコード部2は実行部3に接続されており、デコード結果に応じて実行部3の動作が制御される。デコード結果を受け取った演算器・レジスタ制御部10が、クロック・サイクル単位で演算器12とレジスタファイル11の制御を行なう。
【0015】
デコード部2は、実行部3の内部のメモリアクセス部13にも接続されている。上記の演算器・レジスタ制御部10と同じく、デコード結果に応じてメモリアクセス部13に対する制御を行なう。
【0016】
メモリアクセス部13は実行データ用メモリ6に接続されており、実行用データのリード・ライトを行なう。メモリアクセスを伴った命令の実行手順は、実行データ用メモリ6からリードしたデータがメモリアクセス部13を経由して演算器12に渡され、演算された後にレジスタファイル11へ格納される。ライトされるデータは、レジスタファイル11のデータを演算器12で演算した結果が実行データ用メモリ6へ格納される。また、メモリアクセス部13が実行データ用メモリ6からリードしたデータを演算器12が演算し、メモリアクセス部13を経て実行データ用メモリ6の同じアドレスへ書き込むという手順も可能である。
【0017】
図2に本実施の形態1のタイミングチャートを示す。命令コードのフェッチ200に3クロック・サイクルを割当てる場合のタイミングチャートである。デコード210はステージの最終クロックでのみ動作するが、命令コードフェッチに3クロックサイクルかかるため、最初の2クロックサイクルを無処理211とし、ステージの最終クロックでアドレス計算212を実行している。メモリアクセスを伴った演算220を実行する場合、図2に示すようにメモリリード221が先頭の3クロック・サイクルで実行され、最終クロック・サイクルで演算が実行されるが、メモリアクセスを伴う演算命令ではインデックスレジスタを変更せず、レジスタ間演算でのみインデックスレジスタの変更を許す命令セットを用いることにより、このメモリアクセス演算命令220とデコード部で実行しているアドレス計算230の間のハザードは発生しない。また、レジスタ演算命令241,242はステージの最終クロック・サイクル以前に実行終了されるので、デコードステージのアドレス計算時250には最新の値を使用することが可能である。このためハザードは発生せず、フォクーディング回路等のハザード処理回路を設ける必要はない。上記に示した様に、この実施の形態によれば、単一の機能ユニットを用いた3段のパイプラインを用いて、1ステージ内で複数の演算命令を実行することができ、ハザード処理回路を用いることなくハザードを回避できるので、高速で経済的なパイプライン制御型計算機が構成できる。
【0018】
実施の形態2.
本実施の形態では、この発明の第1の構成による計算機に高速化技術を取り入れたものである。メモリリードアクセスを伴った演算命令を実行する際には、ステージの最初にメモリリードアクセスを行なう。このアクセスの間、使用されていない演算器を用いて上記のメモリリードアクセスを伴う演算命令よりも前に実行可能なレジスタ演算命令を実行する制御回路を持つことにより、複数の機能ユニットを用いることなく、命令処理速度を向上させることができる。
【0019】
この発明の実施の形態2によるパイプライン制御型計算機の構成は図1に示した実施の形態1と同様であるため、その説明は省略する。この際のタイミングチャートを図3に示す。実施の形態2はメモリリードアクセスを必要とするメモリアクセス演算命令340を実行中に、使用されていない演算器12を使用して上記の命令よりも事前に実行されなければならない命令や、データ依存性のない命令を図1中の演算器・レジスタ制御部10がクロック・サイクル単位で実行させる。図3中のメモリアクセス命令340中のメモリリードアクセス実行時341には、演算器12は使用されていない。ここで演算器12を使用してレジスタ演算命令310,320,330を実行する。この実行は最終クロック以前に終了しているので、この結果と上記のメモリアクセス演算命令340がハザードを起こすことはない。また、このステージの最終クロック・サイクルはメモリアクセスの結果を用いた演算342であるため、この命令と次の命令のアドレス計算との間でハザードが発生することはない。さらに、ここで実行されるレジスタ演算命令310,320,330は、ステージ内の最終クロックでは実行されないため、次の命令のデコードステージで実行されるアドレス計算350とハザードを起こすことはない。
【0020】
上記に示したように、ハザードが発生しないためハザード処理回路を設ける必要がなく、1つの演算器12により実行ステージ中に複数の命令を実行するため、高速で経済的なパイプライン制御型計算機が構成できる。
【0021】
実施の形態3.
本実施の形態では、この発明の第1の構成による計算機に高速化技術を取り入れたものである。メモリライトアクセスを伴った演算命令を実行する際には、ステージの最初に演算器を使用してライトデータを作成し、次のクロック・サイクルからメモリライトアクセスを行なう。このメモリライトアクセスの期間中に、使用されていない演算器を用いて上記のメモリライトアクセスを伴う演算命令よりも後に実行可能なレジスタ演算命令を最終クロック以前に実行する制御回路を持つことにより、回路規模を上昇させることなく、命令処理速度を向上させることができる。また、ステージの最終クロック・サイクルではインデックスレジスタの値の変更を行うレジスタ演算は実行しない制御回路により、このレジスタ演算とその次に実行される命令のデコード段におけるアドレス計算とのハザードが避けられる。
【0022】
この発明の実施の形態3によるパイプライン制御型計算機の構成は図1に示した実施の形態1と同様であるため、その説明は省略する。実施の形態3はメモリライトアクセスを必要とするメモリアクセス演算命令430を実行中に、使用されていない演算器12を使用して上記の命令よりも後で実行される命令や上記の命令とデータ依存性のない命令を図1中の演算器・レジスタ制御部10がクロック・サイクル単位で実行を行なう。この際のタイミングチャートを図4に示す。図4中のメモリアクセス命令中のメモリライトアクセス432の実行時には、演算器12は使用されていない。ここで演算器12を使用してレジスタ演算命令410,420をメモリライトアクセスのライトデータ生成用演算431の終了時に実行する。従って、このレジスタ演算410,420の実行結果と上記のメモリアクセス演算命令430はハザードを発生することはない。実行ステージの最終クロックでは次の命令のデコードステージにおいてアドレス計算440が行なわれているため、レジスタ演算命令410,420はこのクロックでは実行しない。そのため、1実行ステージに複数の命令を実行してもハザードを発生することはない。ハザードが発生しないためハザード処理回路を設ける必要がなく、1つの演算器12により実行ステージ中に複数の命令を実行するため、高速で経済的なパイプライン型計算機が構成できる。
【0023】
【発明の効果】
この発明の第1の構成であるパイプライン制御型計算機によれば、命令コード格納用メモリと実行データ格納用メモリを分離し、それぞれに対して並列にアクセスを行なえる機構を持つことで、命令コードフェッチ部と実行部がメモリアクセスの競合を起こすことがなく、3つのステージを持つパイプラインを採用し、メモリアクセスを伴う演算命令の実行結果ではインデックスレジスタを変更しないような命令セットを持ち、デコード段の最終クロック・サイクルでアドレス計算を行うデコード部を持ち、レジスタ演算の実行はステージの最終のクロック・サイクルより前に終了するような実行部を持つため、アドレス計算におけるハザードが発生せず、ハザード処理回路が必要なく、処理速度を高める効果がある。
【0024】
また、この発明の第2の構成であるパイプライン制御型計算機によれば、第1の構成のパイプライン制御型計算機において、メモリリードアクセス演算命令を実行する際、メモリリードアクセス中は使用されていない演算器や内部の制御回路を使用し、複数のレジスタ演算命令をクロック・サイクル毎に連続して実行することにより、回路資源を増加させずに命令処理速度を向上するという効果があり、メモリリードアクセスの結果得られたデータを用いて最終クロック・サイクルで演算を行なうため、次の命令のデコード段で行われているアドレス計算とはハザードが発生せず、ハザード処理部を加える必要がないという効果がある。
【0025】
また、この発明の第3の構成であるパイプライン制御型計算機によれば、第1の構成のパイプライン制御型計算機において、メモリライトアクセス演算命令を実行する際、メモリアクセス中は使用されていない演算器や内部の制御回路を使用し、複数のレジスタ演算命令を実行することにより、回路資源を増加させずに命令処理速度を向上することが可能であり、ステージの先頭のクロック・サイクルはメモリライトアクセス命令のライトデータ作成用の演算に使用され、ステージの最後のクロック・サイクルは次の命令のデコード段で実行されているアドレス計算とのハザードが発生する可能性があるため無処理とし、それ以外のクロック・サイクルで上記命令よりも後で実行可能な複数のレジスタ演算命令を実行し、命令処理速度を向上するという効果があり、またハザードが発生しないためハザード処理部を加える必要がないという効果がある。
【図面の簡単な説明】
【図1】 この発明の実施の形態1によるパイプライン制御型計算機を示す構成図である。
【図2】 この発明の実施の形態1によるパイプライン制御型計算機の実施時のタイミングチャートを示す図である。
【図3】 この発明の実施の形態2によるパイプライン制御型計算機の実施時のタイミングチャートを示す図である。
【図4】 この発明の実施の形態3によるパイプライン制御型計算機の実施時のタイミングチャートを示す図である。
【符号の説明】
1 命令コードフェッチ部、2 デコード部、3 実行部、4 パイプライン制御部、5 命令コード保存用メモリ、6 実行データ用メモリ、10 演算器・レジスタ制御部、11 レジスタファイル、12 演算器、13 メモリアクセス部、200 命令フェッチサイクル、210 デコードサイクル、211 無処理フェイズ、212 命令1のアドレス計算、220 メモリアクセス演算命令、221 メモリリードアクセス、222 演算フェイズ、230 命令2のアドレス計算、240 命令2のレジスタ演算命令、241 命令2のレジスタ演算命令1、242 命令2のレジスタ演算命令2、250 命令3のデコード、310 命令1のレジスタ演算1、320 命令1のレジスタ演算2、330命令1のレジスタ演算3、340 命令1のメモリアクセス演算命令、341命令1のメモリアクセス演算命令中のメモリリード、342 命令1のメモリアクセス演算命令中の演算、350 命令2のデコード、410 命令1のレジスタ演算命令1、420 命令1のレジスタ演算命令2、430 メモリアクセス命令、431 ライトデータ生成用演算、432 メモリライトアクセス、440 命令2のデコード。
Claims (3)
- 1実行ステージを複数のクロック・サイクルで実行するパイプライン制御部と、命令コード格納用メモリと実行データ格納用メモリのそれぞれに対して備えたメモリアクセス機構と、命令コード格納用メモリへのアクセスに対して複数のクロック・サイクルを割り当てて命令コードのフェッチを行なう命令コードフェッチ部と、インデックスレジスタによる修飾を伴ったアドレス計算をデコードステージの最後のクロック・サイクルで行なうデコード部と、全ての演算を1クロック・サイクルで終了する演算器と、1実行ステージ中で最終クロック・サイクルを除いて複数のレジスタ演算命令を発行する演算器・レジスタ制御部を持つ実行部とを有するパイプラインを備え、メモリアクセスを伴う演算命令とメモリアクセスを伴わないレジスタ演算命令とで構成され、アドレス修飾に使用するインデックスレジスタの変更を上記レジスタ間演算のみに制限した命令セットを用いることにより、メモリバスの競合とアドレス計算時のパイプラインハザードを回避したことを特徴とするパイプライン制御型計算機。
- 1実行ステージ内に複数のクロック・サイクルを割り当てるパイプライン制御部と、全ての演算を1クロック・サイクルで終了する演算器と、メモリリードアクセスを伴う命令とメモリアクセスを伴わないレジスタ演算命令が実行される実行ステージにおいて、上記レジスタ演算命令をメモリリード中のクロック・サイクルで実行する演算器・レジスタ制御部を備えることにより、上記レジスタ演算に関してパイプラインハザード回避したことを特徴とする請求項1記載のパイプライン制御型計算機。
- 1実行ステージ内に複数のクロック・サイクルを割り当てるパイプライン制御部と、全ての演算を1クロック・サイクルで終了する演算器と、メモリライトアクセスを伴う命令とメモリアクセスを伴わないレジスタ演算命令が実行される実行ステージにおいて、メモリライトデータ生成のための演算をステージ中の先頭のクロック・サイクルで実行した後、以後のクロック・サイクルで上記レジスタ演算命令をステージの最終クロック・サイクル以前に実行する演算器・レジスタ制御部を備え、上記レジスタ演算に関してパイプラインハザードを回避したことを特徴とする請求項1のパイプライン制御型計算機。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP07563198A JP3743155B2 (ja) | 1998-03-24 | 1998-03-24 | パイプライン制御型計算機 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP07563198A JP3743155B2 (ja) | 1998-03-24 | 1998-03-24 | パイプライン制御型計算機 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH11272465A JPH11272465A (ja) | 1999-10-08 |
| JP3743155B2 true JP3743155B2 (ja) | 2006-02-08 |
Family
ID=13581801
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP07563198A Expired - Fee Related JP3743155B2 (ja) | 1998-03-24 | 1998-03-24 | パイプライン制御型計算機 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3743155B2 (ja) |
-
1998
- 1998-03-24 JP JP07563198A patent/JP3743155B2/ja not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JPH11272465A (ja) | 1999-10-08 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5710902A (en) | Instruction dependency chain indentifier | |
| JP2928695B2 (ja) | 静的インタリーブを用いたマルチスレッドマイクロプロセッサおよびそれを備えたシステムでの命令スレッド実行方法 | |
| JP5209933B2 (ja) | データ処理装置 | |
| JP2002333978A (ja) | Vliw型プロセッサ | |
| JP2004171573A (ja) | 新規な分割命令トランズアクションモデルを使用して構築したコプロセッサ拡張アーキテクチャ | |
| JP2010532063A (ja) | 条件命令を無条件命令および選択命令へと拡張する方法およびシステム | |
| JPH11249897A (ja) | Nウェイ分岐を有するスーパースカラまたは超長命令語コンピュータにおける次の命令を選択する方法および装置 | |
| JP7048612B2 (ja) | ベクトル生成命令 | |
| US20030120882A1 (en) | Apparatus and method for exiting from a software pipeline loop procedure in a digital signal processor | |
| JP4841861B2 (ja) | 演算処理装置及びデータ転送処理の実行方法 | |
| KR101077425B1 (ko) | 효율적 인터럽트 리턴 어드레스 저장 메커니즘 | |
| JPH1097423A (ja) | ループ処理の並列実行制御に適したレジスタ構成を有するプロセッサ | |
| US20030120900A1 (en) | Apparatus and method for a software pipeline loop procedure in a digital signal processor | |
| JP2874351B2 (ja) | 並列パイプライン命令処理装置 | |
| CN113703841B (zh) | 一种寄存器数据读取的优化方法、装置及介质 | |
| US20030120905A1 (en) | Apparatus and method for executing a nested loop program with a software pipeline loop procedure in a digital signal processor | |
| JP7495030B2 (ja) | プロセッサ、処理方法、および関連デバイス | |
| JP2620505B2 (ja) | スーパースカラ・プロセッサ・システムの同期化効率を向上させる方法およびシステム | |
| Kawano et al. | Fine-grain multi-thread processor architecture for massively parallel processing | |
| JP3743155B2 (ja) | パイプライン制御型計算機 | |
| JP3182591B2 (ja) | マイクロプロセッサ | |
| CN1175348C (zh) | 在一个超长指令字中执行的子流水线和流水线 | |
| JP2000029696A (ja) | プロセッサおよびパイプライン処理制御方法 | |
| JP3520372B2 (ja) | メモリ制御ユニット並びに入出力制御ユニットの動作におけるクリティカル・パスの削除 | |
| JP2668987B2 (ja) | データ処理装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20040628 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20051017 |
|
| 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: 20051025 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20051107 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081125 Year of fee payment: 3 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091125 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091125 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101125 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111125 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121125 Year of fee payment: 7 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121125 Year of fee payment: 7 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131125 Year of fee payment: 8 |
|
| LAPS | Cancellation because of no payment of annual fees |