JPH1091434A - クイック・デコード命令を用いるための方法およびデータ処理システム - Google Patents
クイック・デコード命令を用いるための方法およびデータ処理システムInfo
- Publication number
- JPH1091434A JPH1091434A JP9205455A JP20545597A JPH1091434A JP H1091434 A JPH1091434 A JP H1091434A JP 9205455 A JP9205455 A JP 9205455A JP 20545597 A JP20545597 A JP 20545597A JP H1091434 A JPH1091434 A JP H1091434A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- bit field
- opcode
- bit
- execution
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 10
- 230000008859 change Effects 0.000 claims abstract description 35
- 230000008569 process Effects 0.000 abstract description 4
- 230000004048 modification Effects 0.000 abstract 1
- 238000012986 modification Methods 0.000 abstract 1
- 230000003044 adaptive effect Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 239000003607 modifier Substances 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 229910003460 diamond Inorganic materials 0.000 description 1
- 239000010432 diamond Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3802—Instruction prefetching
- G06F9/3812—Instruction prefetching with instruction modification, e.g. store into instruction stream
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0875—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with dedicated cache, e.g. instruction or stack
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/3017—Runtime instruction translation, e.g. macros
- G06F9/30174—Runtime instruction translation, e.g. macros for non-native instruction set, e.g. Javabyte, legacy code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30181—Instruction operation extension or modification
- G06F9/30185—Instruction operation extension or modification according to one or more bits in the instruction, e.g. prefix, sub-opcode
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Advance Control (AREA)
- Executing Machine-Instructions (AREA)
Abstract
上書きする必要がない、クイック・デコード命令の使用
方法およびデータ処理システムを提供する。 【解決手段】 キャッシュ(230)のキャッシュ・ラ
インは、変更可能命令を含む。変更可能命令は、中央演
算装置(210)(CPU)によってデコードされ、C
PUはこの変更可能命令に関連する機能を実行する。変
更可能命令を実行した後、CPU(210)は、変更可
能命令の実行結果に基づいて、キャッシュ(200)に
関連する命令変更ビットをセットする。後続の変更可能
命令の配置プロセスの間、CPUデコード部(212)
が、命令変更指示子に基づいて、変更された命令を変更
可能命令と交換する。
Description
コードおよび実行に関し、特に命令の条件付きデコード
処理に関するものである。
(JAVA byte code interpreter)は、通常バージョンおよ
びクイック・バージョンを有する多数の命令を有する。
最初にこれらの命令の1つの通常オプコード(opcode)を
見つけたとき、多数のチェックが起動される。これらの
チェックは各々、通常は時間の形状のある量のオーバー
ヘッドを伴う。通常命令に対応するクイック命令は、関
連するオーバーヘッドの全てを発生させることなく、命
令の機能を実行する。
ク・バージョンを有する命令オプコードを実行する場
合、図1の従来技術に示すように、この命令を含むメモ
リ位置を別のクイック・バージョンで上書きする。その
結果、以降このメモリ位置から取り込んだ場合、クイッ
ク・バージョンを実行し、したがって、このオプコード
の通常バージョンが必要とするチェックを繰り返さな
い。
ドの無視に伴う問題の1つに、変更された命令をメモリ
にライト・バック(write back)しなければならないため
に、オーバーヘッドが更に増加することがあげられる。
キャッシュを用いる場合、キャッシュ内の命令が変更さ
れるだけでなく、ある時点において、キャッシュ・ライ
ンにフラッシュ(flush) が行われた場合に、このキャッ
シュ・ライン全体をメモリにライト・バックしなければ
ならない場合もある。キャッシュの構成によっては、キ
ャッシュに変化が起こったときにはいつでも、外部メモ
リも更新し、キャッシュと一致させなければならないこ
ともある。これは、ライト・スルー・モード(write thr
oughmode)として知られている。変更されたコードをメ
モリに再度移動させなければならないことにより、メモ
リ帯域の使用が増大し、このためにシステム動作全体の
低速化を招く。加えて、既存のオプコードを上書きする
必要性のために、追加のステップが必要となり、システ
ム性能の低下に至る可能性がある。したがって、通常の
オプコードをクイック・オプコードで上書きする必要性
をなくすことができれば、有益であろう。
好適実施例においては、キャッシュ・ラインは変更可能
命令(modifiable instruction)を含む。この変更可能命
令は、中央演算装置(CPU)によってデコードされ、
CPUが変更可能命令に関連する機能を実行する。変更
可能命令を実行した後、CPUは、変更可能命令の実行
結果に基づいて、命令変更ビットをセットする。後続の
変更可能命令配置プロセスの間、CPUデコード部(2
12)は、命令変更指示子がセットされたという事実に
基づいて、変更された命令を変更可能命令で自動的に置
き換える。命令変更指示子を使用することにより、変更
可能命令を他の実施例で無効にする必要はもはやなくな
り、これによってシステムの時間および帯域が節約され
る。
ッシュ230に結合されたCPU210を、ブロック図
状で示す。キャッシュ230は、キャッシュ・ライン0
ないしキャッシュ・ラインNから成る。各キャッシュ・
ラインには、命令変更指示子が関連付けられている。図
2では、これは、キャッシュ・ラインの1ビットの拡張
部として示されている。
効率的なプログラムの実行を達成するために、適応型オ
プコード(adaptive opcode) が用いられている。通常、
適応型オプコードが用いられるのは、オプコードに関連
する命令の機能的な実施態様が、実行時のシステムまた
は状態情報に依存する場合である。JAVAは、適応型
オプコードを用いる言語の一例である。例えば、JAV
Aは、ロード(LOAD)命令およびロード・クイック
(LOADQ)命令を有する。命令LOADは、プログ
ラムの実行中に、適応的に変更され、LOADQ命令と
なることができる。例をあげて説明すると、JAVAの
LOADは、実行時に計算するためにアクセスすべきデ
ータの供給源へのオフセットを必要とする。一旦計算し
たなら、その供給源、したがってオフセットは、通常変
化せず、したがって、後続のアクセス時におけるクイッ
ク実行のために必要な供給源情報を維持するLOADQ
命令がある。従来技術のシステムでこれは行うには、図
1に示したように、LOAD命令をLOADQ命令で上
書きしていた。
令変更指示子を維持することによって行われる。図2を
参照して、メモリ220は、図示しない供給源から複数
のオプコードを受信する。複数のオプコードは、適応型
オプコードを含む。適応型オプコードを含むメモリ22
0内のメモリ位置への第1のアクセスの間、処理システ
ム200は、キャッシュ230からキャッシュ・ミスを
受信し、実行すべき命令がキャッシュ内にないことを示
す。キャッシュ・ミスを受信すると、処理システム20
0は、メモリ220から実行すべき命令を取り込み、キ
ャッシュ230内のキャッシュ・ラインの1つを充填す
る。キャッシュ230内のキャッシュ・ラインが充填さ
れた場合、命令変更指示子ビットはクリアされる。
CPU210は、デコード部212を通じて、取り込ま
れたこの指示子に関連する命令が変更されていないこと
を知る。こうして、CPC210は、実行部211を通
じて、通常命令即ちLOADを実行する。CPU210
による通常命令の実行によって、命令変更指示子ビット
がセットされ、この命令位置への後続のコールにおいて
は、適応型オプコードがコールされることが示される。
例えば、JAVAの場合、命令変更ビットがセットされ
た場合、LOAD命令はLOADQ命令と交換すること
ができる。
合、他のデータで置き換えられたことを示し、命令変更
指示子をメモリ220に格納する必要はない。これは、
ライト・バック(write back)またはライト・スルー(wri
te through) 処理を実行しなければならない場合のオー
バーヘッドを防止する。一般的に言えば、最低使用頻度
キャッシュ・ラインにフラッシュが行われるが、フラッ
シュされるラインは頻繁には用いられていないことを示
す。したがって、相当な時間量が節約される訳ではない
ので、ライトバック処理を実行する必要はない。
もキャッシュ・ラインの一部でなくてもよいことを注記
しておく。重要なのは、各キャッシュ・ラインには命令
変更ビットが関連付けられていることのみである。ま
た、実行される適応型オプコードに2つ以上の可能な代
替物がある場合、命令変更指示子も2ビット以上として
よいことを注記しておく。
ッシュ・ラインの命令変更指示子部分とは別個の変更ア
レイを含む。命令フローが所与のキャッシュ・ラインに
渡った場合、CPU210の変更アレイを初期化して、
各命令に関連する命令変更指示子の状態を示す。所与の
キャッシュ・ライン内の各命令に対して、1つの命令変
更指示子がある。したがって、現キャッシュ・ラインか
ら実行が継続する限り、CPU210の変更アレイのみ
が更新され、各命令変更ビットの現ステータスを示す。
制御が現キャッシュ・ライン外に流れた後にのみ、次の
キャッシュ・ラインへの移行、あるいはフロー遠回り命
令(flow indirection instruction)によって、CPU2
10のアレイ内の情報は適切なキャッシュ・ラインに転
送される。
いても、CPU210およびキャッシュ230間のバス
上の帯域使用を防止するという利点がある。CPU21
0の変更アレイ内に現キャッシュ・ラインの命令変更指
示子を保持することにより、CPUからキャッシュ23
0への更新は、キャッシュ・ライン毎に1回だけ行えば
よい。
方法300は、矩形の実行ブロック301ないし30
8,および菱形の判断ブロック310,311を含む。
ステップ301において、命令の取り込みから開始し、
実行すべき命令を取り込む。次に、ステップ310にお
いて、取り込んだ命令が現在キャッシュ内にあるか否か
について判定を行う。この命令がキャッシュ内にある場
合、フローはステップ311に進む。逆に、現在キャッ
シュ内にはない場合、フローはステップ304に進む。
ステップ311において、当該命令に関連する命令変更
ビットがセットされているか否かについて判定を行う。
対応する命令変更ビットがセットされている場合、フロ
ーはステップ302に進み、クイック・デコードを実行
する。本実施例では、単一ビットのみを用いて通常命令
およびクイック命令間の判定を行っているが、ステップ
311は、多数の変更された命令の1つを使用すべきか
否かに関する判定も可能であることを注記しておく。加
えて、命令変更ビットは、実際には、実際の命令ワード
のビットの1つとして内蔵する場合もある。
ットされていないと判定された場合、フローはステップ
303に進む。ステップ303において、通常命令のデ
コードが開始する。次に、ステップ307において、ス
テップ303におけるデコードの完了時に、命令変更指
示子ビットがセットされる。ステップ310において、
取り込まれた命令がキャッシュにないと判定された場
合、フローはステップ304に進む。ステップ304に
おいて、メモリからの命令取り込みを完了し、メモリか
らキャッシュにロードする。次に、ステップ305にお
いて、命令変更指示子をクリアする。別の実施例では、
命令変更子もメモリから受信することができ、この場
合、命令変更子がロードされると、現命令が別のデコー
ドのために使用可能か否かが示される。次に、ステップ
306において、通常命令のデコードが行われる。次
に、ステップ308において、命令変更指示子ビットを
セットする。
載した実施例には多数の変更が可能であることは理解さ
れよう。例えば、キャッシュ・ライン・フラッシュ機構
を変更し、変更したキャッシュ・ラインをメモリにライ
ト・バックすることによって、元の命令に対してクイッ
ク命令の使用を反映させることも可能である。更に、端
的に論じたように、先の説明では、1ビットの情報だけ
余分にキャッシュ・ラインに追加することを前提とし
た。プログラム実行状態または以前のオプコードを含む
より多くの情報を保持して、適応型オプコードを作成
し、その実行を他の素子の状態によって制御することも
可能である。可能な例として、「タッチ・ロード」処理
(touch load operation)を有するループがあげられよ
う。タッチ・ロード処理とは、キャッシュ・ラインを初
期状態において作成し、メモリからキャッシュ・ライン
をロードする必要性をなくするものである。この場合、
ループの第1の通過において、タッチ・ロードを、以降
のループによる実行における実際のロードと置き換える
ことが望ましい。他の代替案としては、通常機能および
非選択機能(no-opt function) 間で切り替わる命令を有
することがあげられよう。これによって、非選択に置き
換わる単一ビットに応じて、キャッシュ・ライン・レベ
ルにおいて、命令の入力および出力の切り替えが可能と
なる。
ンを示すブロック図。
すブロック図。
ト。
Claims (5)
- 【請求項1】データ処理システム(200)であって:
メモリ内において複数の状態を有する命令毎のビットフ
ィールド;および中央演算装置(210);から成り、 前記中央演算装置は前記ビットフィールドのステータス
に基づいて、複数の意味を有するオプコードを認識し;
前記ビットフィールドは前記オプコードに関連付けら
れ;前記中央演算装置は、前記オプコードの実行中に、
自動的に前記ビットフィールドを変更することを特徴と
するデータ処理システム(200)。 - 【請求項2】命令実行方法であって: a)中央演算装置による実行のために命令を取り込む段
階; b)前記命令に関連して格納されたビットフィールドを
検査する段階であって、複数のビットフィールド・ステ
ータスを有する前記ビットフィールドを検査する段階; c)前記複数のビットフィールド状態に基づいて、複数
の命令の意味の内どの1つを前記命令に割り当てるかを
決定する段階;および d)前記命令の実行の一部として、前記ビットフィール
ドを自動的に更新する段階;から成ることを特徴とする
方法。 - 【請求項3】データ処理システム(200)であって:
メモリ内に複数の状態を有する命令毎のビットフィール
ド;および中央演算装置(210);から成り、 前記中央演算装置は前記ビットフィールドのステータス
に基づいて、複数の意味を有するオプコードを認識し;
前記ビットフィールドは前記オプコードに関連付けら
れ;前記中央演算装置は、第1回目の前記オプコードの
実行の間に、自動的に前記ビットフィールドを変更する
ことを特徴とするデータ処理システム(200)。 - 【請求項4】データ処理システム(200)であって:
キャッシュ・メモリに2つの状態が格納される命令毎の
1ビット・ビットフィールド;および中央演算装置(2
10);から成り、 前記中央演算(210)は、前記1ビット・ビットフィ
ールドのステータスに基づいて、2つの意味を有するオ
プコードを有し;前記1ビット・ビットフィールドは前
記オプコードに関連付けられており;前記中央演算装置
(210)は前記オプコードの実行中に、前記1ビット
・ビットフィールドを自動的に変更し;前記中央演算装
置(210)は、第1回目の前記オプコードの実行にお
いて、前記1ビット・ビットフィールドのステータスを
自動的に変更する;ことを特徴とするデータ処理システ
ム(200)。 - 【請求項5】データ処理システム(200)であって:
元の命令を含むメモリ位置を有するメモリ;第1状態お
よび第2状態を有する命令変更指示子;実行部(21
1);および前記メモリに結合され前記元の命令を受信
し、かつ前記実行部(211)に結合され命令の実行を
行うデコード部(212);から成り、 前記デコード部(212)は、前記命令変更指示子が前
記第1状態にある場合、前記元の命令を前記実行部(2
11)に供給し;前記デコード部(212)は、前記命
令変更指示子が前記第2状態にある場合、別の命令を前
記実行部(211)に供給することを特徴とするデータ
処理システム(200)。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/684,717 US6523095B1 (en) | 1996-07-22 | 1996-07-22 | Method and data processing system for using quick decode instructions |
US684717 | 1996-07-22 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH1091434A true JPH1091434A (ja) | 1998-04-10 |
JP3830236B2 JP3830236B2 (ja) | 2006-10-04 |
Family
ID=24749266
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP20545597A Expired - Fee Related JP3830236B2 (ja) | 1996-07-22 | 1997-07-15 | クイック・デコード命令を用いるための方法およびデータ処理システム |
Country Status (3)
Country | Link |
---|---|
US (1) | US6523095B1 (ja) |
JP (1) | JP3830236B2 (ja) |
KR (1) | KR100678354B1 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9098297B2 (en) * | 1997-05-08 | 2015-08-04 | Nvidia Corporation | Hardware accelerator for an object-oriented programming language |
US20090240928A1 (en) * | 2008-03-18 | 2009-09-24 | Freescale Semiconductor, Inc. | Change in instruction behavior within code block based on program action external thereto |
US9851990B2 (en) * | 2015-01-30 | 2017-12-26 | American Megatrends, Inc. | Method and system for performing on-demand data write through based on UPS power status |
US9886387B2 (en) | 2015-01-30 | 2018-02-06 | American Megatrends, Inc. | Method and system for performing on-demand data write through based on virtual machine types |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4910656A (en) * | 1987-09-21 | 1990-03-20 | Motorola, Inc. | Bus master having selective burst initiation |
DE68924306T2 (de) * | 1988-06-27 | 1996-05-09 | Digital Equipment Corp | Mehrprozessorrechneranordnungen mit gemeinsamem Speicher und privaten Cache-Speichern. |
US5155824A (en) * | 1989-05-15 | 1992-10-13 | Motorola, Inc. | System for transferring selected data words between main memory and cache with multiple data words and multiple dirty bits for each address |
JPH0625984B2 (ja) * | 1990-02-20 | 1994-04-06 | インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン | マルチプロセツサ・システム |
US5426765A (en) * | 1991-08-30 | 1995-06-20 | Compaq Computer Corporation | Multiprocessor cache abitration |
GB2260628A (en) * | 1991-10-11 | 1993-04-21 | Intel Corp | Line buffer for cache memory |
US5428761A (en) * | 1992-03-12 | 1995-06-27 | Digital Equipment Corporation | System for achieving atomic non-sequential multi-word operations in shared memory |
JP3242161B2 (ja) * | 1992-09-11 | 2001-12-25 | 株式会社日立製作所 | データプロセッサ |
US5572700A (en) * | 1993-04-30 | 1996-11-05 | Intel Corporation | Cache access controller and method for permitting caching of information in selected cache lines |
US5555392A (en) * | 1993-10-01 | 1996-09-10 | Intel Corporation | Method and apparatus for a line based non-blocking data cache |
-
1996
- 1996-07-22 US US08/684,717 patent/US6523095B1/en not_active Expired - Fee Related
-
1997
- 1997-07-15 JP JP20545597A patent/JP3830236B2/ja not_active Expired - Fee Related
- 1997-07-22 KR KR1019970035518A patent/KR100678354B1/ko not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR100678354B1 (ko) | 2007-11-12 |
JP3830236B2 (ja) | 2006-10-04 |
KR980010777A (ko) | 1998-04-30 |
US6523095B1 (en) | 2003-02-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5926646A (en) | Context-dependent memory-mapped registers for transparent expansion of a register file | |
US6665776B2 (en) | Apparatus and method for speculative prefetching after data cache misses | |
EP0380859B1 (en) | Method of preprocessing multiple instructions | |
US7165143B2 (en) | System and method for manipulating cache data | |
US5954815A (en) | Invalidating instructions in fetched instruction blocks upon predicted two-step branch operations with second operation relative target address | |
US5941981A (en) | System for using a data history table to select among multiple data prefetch algorithms | |
US5375216A (en) | Apparatus and method for optimizing performance of a cache memory in a data processing system | |
US6145049A (en) | Method and apparatus for providing fast switching between floating point and multimedia instructions using any combination of a first register file set and a second register file set | |
JP2539199B2 (ja) | デジタルプロセッサ制御装置 | |
US6823447B2 (en) | Software hint to improve the branch target prediction accuracy | |
US6076156A (en) | Instruction redefinition using model specific registers | |
US5940876A (en) | Stride instruction for fetching data separated by a stride amount | |
US5522053A (en) | Branch target and next instruction address calculation in a pipeline processor | |
US5799163A (en) | Opportunistic operand forwarding to minimize register file read ports | |
KR100777772B1 (ko) | 연산 처리 장치, 정보 처리 장치 및 레지스터 파일의 제어방법 | |
US5958045A (en) | Start of access instruction configured to indicate an access mode for fetching memory operands in a microprocessor | |
US5193156A (en) | Data processor with pipeline which disables exception processing for non-taken branches | |
JP3794918B2 (ja) | 復帰選択ビットを用いて分岐予測のタイプを分類する分岐予測 | |
US20060095746A1 (en) | Branch predictor, processor and branch prediction method | |
US5951671A (en) | Sharing instruction predecode information in a multiprocessor system | |
US6289428B1 (en) | Superscaler processor and method for efficiently recovering from misaligned data addresses | |
JP3830236B2 (ja) | クイック・デコード命令を用いるための方法およびデータ処理システム | |
US6647487B1 (en) | Apparatus and method for shift register rate control of microprocessor instruction prefetches | |
US6119220A (en) | Method of and apparatus for supplying multiple instruction strings whose addresses are discontinued by branch instructions | |
US6862680B2 (en) | Microprocessor processing specified instructions as operands |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040715 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040715 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20040715 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20041217 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050425 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20050715 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20051115 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20060215 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20060223 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060512 |
|
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: 20060613 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060711 |
|
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: 20090721 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100721 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110721 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110721 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120721 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120721 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130721 Year of fee payment: 7 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |