JP3792696B2 - 単一のレジスタ・ファイルを使用して浮動小数点命令およびパック・データ命令を実行する方法および装置 - Google Patents
単一のレジスタ・ファイルを使用して浮動小数点命令およびパック・データ命令を実行する方法および装置 Download PDFInfo
- Publication number
- JP3792696B2 JP3792696B2 JP2003417823A JP2003417823A JP3792696B2 JP 3792696 B2 JP3792696 B2 JP 3792696B2 JP 2003417823 A JP2003417823 A JP 2003417823A JP 2003417823 A JP2003417823 A JP 2003417823A JP 3792696 B2 JP3792696 B2 JP 3792696B2
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- register file
- floating point
- packed data
- instructions
- 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 - Lifetime
Links
- 238000000034 method Methods 0.000 title claims description 168
- 230000007704 transition Effects 0.000 claims description 141
- 238000012545 processing Methods 0.000 claims description 48
- 230000004044 response Effects 0.000 claims description 42
- 230000015654 memory Effects 0.000 claims description 25
- 239000003607 modifier Substances 0.000 claims description 11
- 238000012986 modification Methods 0.000 claims description 10
- 230000004048 modification Effects 0.000 claims description 10
- 239000000872 buffer Substances 0.000 description 76
- 238000013507 mapping Methods 0.000 description 66
- 230000008859 change Effects 0.000 description 35
- 238000010586 diagram Methods 0.000 description 30
- 230000007246 mechanism Effects 0.000 description 19
- 230000008569 process Effects 0.000 description 19
- 238000012937 correction Methods 0.000 description 11
- 238000007689 inspection Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 9
- 230000009471 action Effects 0.000 description 8
- 238000007726 management method Methods 0.000 description 7
- 101100135890 Caenorhabditis elegans pdi-6 gene Proteins 0.000 description 5
- 238000013500 data storage Methods 0.000 description 5
- 101100503241 Caenorhabditis elegans folt-1 gene Proteins 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 238000010420 art technique Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 2
- 238000007562 laser obscuration time method Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 230000001737 promoting effect Effects 0.000 description 2
- 101100262292 Caenorhabditis elegans txdc-9 gene Proteins 0.000 description 1
- 208000033748 Device issues Diseases 0.000 description 1
- 206010000210 abortion Diseases 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 229920000747 poly(lactic acid) Polymers 0.000 description 1
- 229920006395 saturated elastomer Polymers 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- 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/30098—Register arrangements
- G06F9/3012—Organisation of register space, e.g. banked or distributed register file
- G06F9/30123—Organisation of register space, e.g. banked or distributed register file according to context, e.g. thread buffers
-
- 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/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30036—Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
-
- 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/30098—Register arrangements
- G06F9/30105—Register structure
- G06F9/30109—Register structure having multiple operands in a single register
-
- 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/30098—Register arrangements
- G06F9/3012—Organisation of register space, e.g. banked or distributed register file
- G06F9/30134—Register stacks; shift registers
-
- 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/3824—Operand accessing
-
- 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/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
-
- 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/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3838—Dependency mechanisms, e.g. register scoreboarding
- G06F9/384—Register renaming
-
- 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/3854—Instruction completion, e.g. retiring, committing or graduating
-
- 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/3854—Instruction completion, e.g. retiring, committing or graduating
- G06F9/3856—Reordering of instructions, e.g. using queues or age tags
-
- 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/3854—Instruction completion, e.g. retiring, committing or graduating
- G06F9/3858—Result writeback, i.e. updating the architectural state or memory
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Executing Machine-Instructions (AREA)
- Advance Control (AREA)
Description
代替実施形態では、タグおよびトップ・オブ・スタック表示の変更は、パック・データ命令の実行時に完全または部分的に実行される。たとえば、遷移装置は、1)EMMS命令ではない各パック・データ命令を実行させ、トップ・オブ・スタック表示を初期設定値に変更し、かつタグを非空状態に変更し、2)EMMS命令を実行させ、タグを空状態に変更することによって不要にすることができる。他の実施形態では、EMMS命令は実施されず、以下で図14を参照して説明するように浮動小数点命令を使用してエミュレートされる。
Claims (26)
- データ処理装置で命令を実行する方法であって:
少なくとも部分的にエイリアス化され、複数のタグが対応している単一の論理レジスタ・ファイルの内容に対してパック・データ命令のセットと浮動小数点命令のセットとを実行するステップであり、前記パック・データ命令のセットは前記浮動小数点命令のセットより前に実行されるステップであって、フラット・レジスタ・ファイルとしての前記単一の論理レジスタ・ファイルに前記パック・データ命令のセットを実行するステップとスタック参照レジスタ・ファイルとしての前記単一の論理レジスタ・ファイルに前記浮動小数点命令のセットを実行するステップとを含むステップと、;
前記パック・データ命令セットの第1の命令の実行を試みることと、前記浮動小数点命令セットの第1の命令の実行を完了することとの間のある時点に、少なくとも前記単一の論理レジスタ・ファイル中のエイリアス化したレジスタに対応する前記複数のタグを非空状態に変更するステップであって、前記複数のタグは、前記単一の論理レジスタ・ファイル中のレジスタが空であるか空でないかを識別するステップと
を含むことを特徴とする方法。 - データ処理装置で命令を実行する方法であって:
単一の論理レジスタ・ファイルの内容に対して第1の命令タイプの第1の命令セットを実行するステップであって、第1の命令タイプの命令は非スタック参照のやり方での演算を指示し、かつ、前記単一の論理レジスタ・ファイルは、前記第1の命令セットを実行する間はフラット・レジスタ・ファイルとして操作されるステップと;
同様に前記単一の論理レジスタ・ファイルの内容に対して第2の命令タイプの第1の命令を実行するステップであって、第2の命令タイプの命令はスタック参照のやり方での演算を指示し、かつ、前記単一の論理レジスタ・ファイルは、前記第1の命令を実行する間はスタック参照レジスタ・ファイルとして操作されるステップと
を含むことを特徴とする方法。 - フラット・レジスタ・ファイルとしての前記単一の論理レジスタ・ファイルに第1の命令セットを実行する前記ステップはさらに、パック・データに対する操作を実行することを含むことを特徴とする請求項2に記載の方法。
- スタック参照レジスタ・ファイルとしての前記単一の論理レジスタ・ファイルに命令を実行する前記ステップは、スカラー・データに対して操作を実行させることを特徴とする請求項1または3のいずれか1項に記載の方法。
- 浮動小数点命令を実行するステップはさらに、スカラー浮動小数点演算を行うステップを含むことを特徴とする請求項1に記載の方法。
- パック・データ命令を実行するステップはさらに、パック浮動小数点演算を行うステップを含むことを特徴とする請求項1,4または5のいずれか1項に記載の方法。
- パック・データ命令を実行するステップはさらに、パック整数データに対して操作を行うステップを含むことを特徴とする請求項1,4または5のいずれか1項に記載の方法。
- 前記第2の命令タイプの前記第1の命令を実行する前記ステップはさらに、
前記単一の論理レジスタ・ファイルに含まれるデータをメモリにコピーするステップ
を含むことを特徴とする請求項2または3に記載の方法。 - フラット・レジスタ・ファイルとしての前記単一の論理レジスタ・ファイルに命令を実行する前記ステップの開始から、スタック参照レジスタ・ファイルとしての前記単一の論理レジスタ・ファイルに前記第1の命令を実行する前記ステップを完了するまでの間のある時点に、前記単一の論理レジスタ・ファイル中の1つのレジスタを現在のトップ・オブ・スタック・レジスタとして識別するトップ・オブ・スタック表示を初期設定値に変更するステップ
をさらに含むことを特徴とする請求項1ないし8のいずれか1項に記載の方法。 - フラット・レジスタ・ファイルとしての前記単一の論理レジスタ・ファイルに対して命令を実行する前記ステップの開始から、スタック参照レジスタ・ファイルとしての前記単一の論理レジスタ・ファイルに対して前記第1の命令を実行する前記ステップを開始するまでのある時点に、フラット・レジスタ・ファイルとしての前記単一の論理レジスタ・ファイルに対して命令を実行するステップ中に書き込みが行われる前記単一の論理レジスタ・ファイル中の各レジスタの符号および指数のフィールドに、非数値または無限を示す値を書き込むステップ
をさらに含むことを特徴とする請求項1ないし9のいずれか1項に記載の方法。 - フラット・レジスタ・ファイルとしての前記単一の論理レジスタ・ファイルに対して命令を実行する前記ステップの開始から、スタック参照レジスタ・ファイルとしての前記単一の論理レジスタ・ファイルに対して前記第1の命令を実行する前記ステップの完了まで間のある時点に、前記単一の論理レジスタ・ファイルに対応し、前記単一の論理レジスタ・ファイル中のレジスタが空であるか、空でないかを識別する複数のタグを非空状態に変更するステップ
をさらに含むことを特徴とする請求項1ないし10のいずれか1項に記載の方法。 - 前記タグを変更するステップは、フラット・レジスタ・ファイルとしての前記単一の論理レジスタ・ファイルに対して、前記第1の命令の実行を試みることか、または前記命令の第1の命令を実行することに応答して実行されることを特徴とする請求項1または11に記載の方法。
- 前記タグを変更するステップは、フラット・レジスタ・ファイルとしての前記単一の論理レジスタ・ファイルに対して前記命令の第1の命令の実行を試みることに応答して実行されることを特徴とする請求項1または11に記載の方法。
- 前記タグを変更するステップは、フラット・レジスタ・ファイルとしての前記単一の論理レジスタ・ファイルに対して前記命令のそれぞれを実行することに応答して実行されることを特徴とする請求項1または11に記載の方法。
- 前記タグを変更するステップは、フラット・レジスタ・ファイルとしての前記単一の論理レジスタ・ファイルに対して前記命令を実行する前記ステップと、スタック参照レジスタ・ファイルとしての前記単一の論理レジスタ・ファイルに対して前記第1の命令を実行するステップとの間に実行されることを特徴とする請求項1または11ないし14のいずれか1項に記載の方法。
- 請求項2ないし10のいずれか1項に記載の方法を実行するデータ処理装置であって:
複数の物理レジスタと;
前記複数の物理レジスタがソフトウェアには前記単一の論理レジスタ・ファイルとして見えるようにするメモリ装置と;
請求項2ないし10のいずれか1項に記載の方法により、フラット・レジスタ・ファイルとしての前記単一の論理レジスタ・ファイルに対して対して命令を実行し、スタック参照レジスタ・ファイルとしての前記単一の論理レジスタ・ファイルに対して対して命令を実行する復号/実行装置と
を備えることを特徴とするデータ処理装置。 - 請求項1ないし15のいずれか1項に記載の方法を実行するデータ処理装置であって:
複数の物理レジスタと;
前記複数の物理レジスタが、ソフトウェアには、スカラー浮動小数点データを保存する前記単一の論理レジスタ・ファイルとして見えるようにするメモリ装置と;
請求項1ないし15のいずれか1項に記載の方法に従って前記第1のレジスタの小数部フィールドに書き込まれる第1のパック・データ項目を、前記単一の論理レジスタ・ファイル中の第1のレジスタに書き込ませる第1のパック・データ命令を受け取る復号/実行装置と
を備えることを特徴とするデータ処理装置。 - 請求項1ないし15のいずれか1項に記載の方法を実行するデータ処理装置であって:
複数の物理レジスタと;
前記複数の物理レジスタがソフトウェアには前記単一の論理レジスタ・ファイルとして見えるようにするメモリ装置と;
請求項1ないし15のいずれか1項に記載の方法により、前記単一の論理レジスタ・ファイルの内容に対して命令を実行する復号/実行装置と;
部分的なコンテキスト切り替えによる前記単一の論理レジスタ・ファイルの使用不可、または使用可能を判定するイベント処理装置であって、使用不可と判定されると、前記データ処理装置は第1のルーチンの実行に割り込み、第2のルーチンを実行して前記単一の論理レジスタ・ファイルの内容をメモリにコピーするイベント処理装置と
を備えることを特徴とするデータ処理装置。 - エミュレーション状態を示すEMフィールドを含む少なくとも1つのステータス・レジスタをさらに含み、エミュレーション状態が示されると、前記プロセッサは前記第1のルーチンの実行に割り込むことを特徴とする請求項18に記載のデータ処理装置。
- 前記復号/実行装置は、前記EMフィールドがエミュレーション状態を示し、かつ前記復号/実行装置が前記第1のルーチンに属する第1のスカラー・データ命令を受け取った場合に、前記第2のルーチンを実行することを特徴とする請求項19に記載のデータ処理装置。
- 前記復号/実行装置は、前記EMフィールドがエミュレーション状態を示し、かつ前記復号/実行装置が前記第1のルーチンに属する第1のパック・データ命令を受け取った場合に、第3のルーチンを実行することを特徴とする請求項19または20に記載のデータ処理装置。
- 前記データ処理装置は、前記イベント処理装置が、前記ソフトウェアに対して可視の単一のレジスタ・ファイルが使用可能であると判断し、かつ前記復号/実行装置が、前記復号/実行装置に前記第1のパック・データ項目を前記単一の論理レジスタ・ファイルに対して書き込ませる前記第1のルーチンに属する命令を受け取った場合に、第1の小数部フィールドに第1のパック・データ項目を書き込み、前記単一の論理レジスタ・ファイル中の第1のレジスタの第1の符号および指数フィールドに、非数値または無限を表す第1の値を書き込むことを特徴とする請求項18ないし21のいずれか1項に記載のデータ処理装置。
- トップ・オブ・スタック・フィールドを有する少なくとも1つのステータス・レジスタをさらに備え、前記トップ・オブ・スタック・フィールドは、前記イベント処理装置が前記単一の論理レジスタ・ファイルが使用可能であると判定し、かつ
前記復号/実行装置が、前記第1のルーチンに属する第1のパック・データ命令を受け取った;
前記復号/実行装置が、前記第1のルーチンに属する第1のスカラー命令を受け取り、かつ、スタック参照レジスタ・ファイルとしての前記単一の論理レジスタ・ファイルに対して作用する第2のスカラー命令よりも後に、フラット・レジスタ・ファイルとしての前記単一の論理レジスタ・ファイルに対して作用する第2のパック・データ命令を実行した;または
前記復号/実行装置が、前記第1のルーチンに属する前記第1のパック・データ命令を受け取り、かつ、フラット・レジスタ・ファイルとしての前記単一の論理レジスタ・ファイルに対して作用する第3のパック・データ命令よりも後に、スタック参照レジスタ・ファイルとしての前記単一の論理レジスタ・ファイルに対して作用する第3のスカラー命令を実行した
ことからなる第1の条件セットの1つである第1の条件が存在する場合に、初期設定値に変更されることを特徴とする請求項18に記載のデータ処理装置。 - 請求項1または11ないし15のいずれか1項に記載の方法を実行するデータ処理装置であって、
複数の物理レジスタと;
前記複数の物理メモリがソフトウェアには前記単一の論理レジスタ・ファイルとして見えるようにするメモリ装置と;
請求項1または11ないし15のいずれか1項に記載の方法により、前記単一の論理レジスタ・ファイルの内容に対して命令を実行する復号/実行装置と;
請求項1または11ないし15のいずれか1項に記載の方法により、前記複数のタグのうちのタグを変更するタグ修飾装置と
を備えることを特徴とするデータ処理装置。 - 部分的なコンテキスト切り替えによる前記単一の論理レジスタ・ファイルの使用不可、または使用可能を判定するイベント処理装置であって、使用不可と判定されると、前記データ処理装置は第1のルーチンの実行に割り込み、第2のルーチンを実行して前記単一の論理レジスタ・ファイルの内容をメモリにコピーするイベント処理装置と;
タグ修飾装置であって、前記イベント処理装置が前記単一の論理レジスタ・ファイルが使用可能であると判断し、かつ、
前記復号/実行装置が、前記第1のルーチンに属する非遷移パック・データ命令を受け取った;
前記復号/実行装置が、前記第1のルーチンに属する第1のスカラー命令を受け取り、かつ、スタック参照レジスタ・ファイルとしての前記単一の論理レジスタ・ファイルに対して作用する命令の1つより後に、かつ第1の遷移命令よりも後に、第1のパック・データ命令を実行した;または
前記復号/実行装置が、前記第1のルーチンに属する第2のパック・データ命令を受け取り、かつ、フラット・レジスタ・ファイルとしての前記単一の論理レジスタ・ファイルに対して作用する命令の1つよりも後に、スタック参照レジスタ・ファイルとしての前記単一の論理レジスタ・ファイルに対して作用する命令の1つを実行した;
ことからなる第1の条件セットの1つである第1の条件が存在する場合に、前記単一の論理レジスタ・ファイル中の異なるレジスタに対応する前記複数のタグ中の各タグを非空状態に変更する前記タグ修飾装置と
をさらに備えることを特徴とする請求項24に記載のデータ処理装置。 - 前記タグ修飾装置は、
前記復号/実行装置が、前記第1のルーチンに属する遷移命令を受け取った;または
前記復号/実行装置が、前記第1のルーチンに属する第2のスカラー命令を受け取り、かつ、スタック参照レジスタ・ファイルとしての前記単一の論理レジスタ・ファイルに対して作用する命令の1つよりも後に、かつフラット・レジスタ・ファイルとしての前記単一の論理レジスタ・ファイルに対して作用する命令のどの他の命令よりも後に、前記遷移命令を実行した
ことからなる第2の条件セットの1つである第2の条件が存在する場合に、前記複数のタグを空状態に変更することを特徴とする請求項24または25に記載のデータ処理装置。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/574,719 US5852726A (en) | 1995-12-19 | 1995-12-19 | Method and apparatus for executing two types of instructions that specify registers of a shared logical register file in a stack and a non-stack referenced manner |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP52303097A Division JP3678427B2 (ja) | 1995-12-19 | 1996-12-17 | 論理レジスタ・ファイルのレジスタ群を特定する2種類の命令を実行するための方法および装置 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006009928A Division JP3868470B2 (ja) | 1995-12-19 | 2006-01-18 | 単一のレジスタ・ファイルを使用して浮動小数点命令およびパック・データ命令を実行する方法および装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004152318A JP2004152318A (ja) | 2004-05-27 |
JP3792696B2 true JP3792696B2 (ja) | 2006-07-05 |
Family
ID=24297335
Family Applications (5)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP52303097A Expired - Lifetime JP3678427B2 (ja) | 1995-12-19 | 1996-12-17 | 論理レジスタ・ファイルのレジスタ群を特定する2種類の命令を実行するための方法および装置 |
JP2003417826A Expired - Lifetime JP3732197B2 (ja) | 1995-12-19 | 2003-12-16 | 単一のレジスタ・ファイルを使用して浮動小数点命令およびパック・データ命令を実行する方法および装置 |
JP2003417830A Expired - Lifetime JP3679797B2 (ja) | 1995-12-19 | 2003-12-16 | 単一のレジスタ・ファイルを使用して浮動小数点命令およびパック・データ命令を実行する方法および装置 |
JP2003417823A Expired - Lifetime JP3792696B2 (ja) | 1995-12-19 | 2003-12-16 | 単一のレジスタ・ファイルを使用して浮動小数点命令およびパック・データ命令を実行する方法および装置 |
JP2006009928A Expired - Lifetime JP3868470B2 (ja) | 1995-12-19 | 2006-01-18 | 単一のレジスタ・ファイルを使用して浮動小数点命令およびパック・データ命令を実行する方法および装置 |
Family Applications Before (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP52303097A Expired - Lifetime JP3678427B2 (ja) | 1995-12-19 | 1996-12-17 | 論理レジスタ・ファイルのレジスタ群を特定する2種類の命令を実行するための方法および装置 |
JP2003417826A Expired - Lifetime JP3732197B2 (ja) | 1995-12-19 | 2003-12-16 | 単一のレジスタ・ファイルを使用して浮動小数点命令およびパック・データ命令を実行する方法および装置 |
JP2003417830A Expired - Lifetime JP3679797B2 (ja) | 1995-12-19 | 2003-12-16 | 単一のレジスタ・ファイルを使用して浮動小数点命令およびパック・データ命令を実行する方法および装置 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006009928A Expired - Lifetime JP3868470B2 (ja) | 1995-12-19 | 2006-01-18 | 単一のレジスタ・ファイルを使用して浮動小数点命令およびパック・データ命令を実行する方法および装置 |
Country Status (8)
Country | Link |
---|---|
US (1) | US5852726A (ja) |
EP (2) | EP1548576A3 (ja) |
JP (5) | JP3678427B2 (ja) |
KR (1) | KR100312092B1 (ja) |
AU (1) | AU1345597A (ja) |
BR (1) | BR9612189A (ja) |
RU (1) | RU2179331C2 (ja) |
WO (1) | WO1997022921A1 (ja) |
Families Citing this family (74)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1094610C (zh) | 1994-12-02 | 2002-11-20 | 英特尔公司 | 可以对复合操作数进行压缩操作和拆开操作的微处理器 |
US6385634B1 (en) | 1995-08-31 | 2002-05-07 | Intel Corporation | Method for performing multiply-add operations on packed data |
US5701508A (en) | 1995-12-19 | 1997-12-23 | Intel Corporation | Executing different instructions that cause different data type operations to be performed on single logical register file |
US5940859A (en) | 1995-12-19 | 1999-08-17 | Intel Corporation | Emptying packed data state during execution of packed data instructions |
US6792523B1 (en) | 1995-12-19 | 2004-09-14 | Intel Corporation | Processor with instructions that operate on different data types stored in the same single logical register file |
US6260137B1 (en) * | 1997-09-12 | 2001-07-10 | Siemens Aktiengesellschaft | Data processing unit with digital signal processing capabilities |
US6065114A (en) * | 1998-04-21 | 2000-05-16 | Idea Corporation | Cover instruction and asynchronous backing store switch |
US6009509A (en) * | 1997-10-08 | 1999-12-28 | International Business Machines Corporation | Method and system for the temporary designation and utilization of a plurality of physical registers as a stack |
US5864703A (en) * | 1997-10-09 | 1999-01-26 | Mips Technologies, Inc. | Method for providing extended precision in SIMD vector arithmetic operations |
US7197625B1 (en) * | 1997-10-09 | 2007-03-27 | Mips Technologies, Inc. | Alignment and ordering of vector elements for single instruction multiple data processing |
US6112018A (en) * | 1997-12-18 | 2000-08-29 | Advanced Micro Devices, Inc. | Apparatus for exchanging two stack registers |
FR2772944A1 (fr) * | 1997-12-19 | 1999-06-25 | Sgs Thomson Microelectronics | Procede de gestion d'un circuit electronique et unite de gestion pour sa mise en oeuvre |
US6192464B1 (en) * | 1997-12-31 | 2001-02-20 | Intel Corporation | Method and apparatus for decoding one or more instructions after renaming destination registers |
US5974531A (en) * | 1998-02-17 | 1999-10-26 | Industrial Technology Research Institute | Methods and systems of stack renaming for superscalar stack-based data processors |
US6230253B1 (en) * | 1998-03-31 | 2001-05-08 | Intel Corporation | Executing partial-width packed data instructions |
US6233671B1 (en) | 1998-03-31 | 2001-05-15 | Intel Corporation | Staggering execution of an instruction by dividing a full-width macro instruction into at least two partial-width micro instructions |
US6122725A (en) * | 1998-03-31 | 2000-09-19 | Intel Corporation | Executing partial-width packed data instructions |
US6192467B1 (en) | 1998-03-31 | 2001-02-20 | Intel Corporation | Executing partial-width packed data instructions |
US6230257B1 (en) | 1998-03-31 | 2001-05-08 | Intel Corporation | Method and apparatus for staggering execution of a single packed data instruction using the same circuit |
US6266769B1 (en) | 1998-04-30 | 2001-07-24 | Intel Corporation | Conversion between packed floating point data and packed 32-bit integer data in different architectural registers |
US6292815B1 (en) | 1998-04-30 | 2001-09-18 | Intel Corporation | Data conversion between floating point packed format and integer scalar format |
US6247116B1 (en) * | 1998-04-30 | 2001-06-12 | Intel Corporation | Conversion from packed floating point data to packed 16-bit integer data in different architectural registers |
US6282554B1 (en) | 1998-04-30 | 2001-08-28 | Intel Corporation | Method and apparatus for floating point operations and format conversion operations |
US5995122A (en) * | 1998-04-30 | 1999-11-30 | Intel Corporation | Method and apparatus for parallel conversion of color values from a single precision floating point format to an integer format |
US6263426B1 (en) | 1998-04-30 | 2001-07-17 | Intel Corporation | Conversion from packed floating point data to packed 8-bit integer data in different architectural registers |
US6240507B1 (en) * | 1998-10-08 | 2001-05-29 | International Business Machines Corporation | Mechanism for multiple register renaming and method therefor |
US6256725B1 (en) * | 1998-12-04 | 2001-07-03 | Agere Systems Guardian Corp. | Shared datapath processor utilizing stack-based and register-based storage spaces |
US6292888B1 (en) * | 1999-01-27 | 2001-09-18 | Clearwater Networks, Inc. | Register transfer unit for electronic processor |
US7257814B1 (en) | 1998-12-16 | 2007-08-14 | Mips Technologies, Inc. | Method and apparatus for implementing atomicity of memory operations in dynamic multi-streaming processors |
US7020879B1 (en) * | 1998-12-16 | 2006-03-28 | Mips Technologies, Inc. | Interrupt and exception handling for multi-streaming digital processors |
US7035997B1 (en) | 1998-12-16 | 2006-04-25 | Mips Technologies, Inc. | Methods and apparatus for improving fetching and dispatch of instructions in multithreaded processors |
US7237093B1 (en) | 1998-12-16 | 2007-06-26 | Mips Technologies, Inc. | Instruction fetching system in a multithreaded processor utilizing cache miss predictions to fetch instructions from multiple hardware streams |
US7529907B2 (en) | 1998-12-16 | 2009-05-05 | Mips Technologies, Inc. | Method and apparatus for improved computer load and store operations |
US6389449B1 (en) * | 1998-12-16 | 2002-05-14 | Clearwater Networks, Inc. | Interstream control and communications for multi-streaming digital processors |
US6321327B1 (en) * | 1998-12-30 | 2001-11-20 | Intel Corporation | Method for setting a bit associated with each component of packed floating-pint operand that is normalized in SIMD operations |
US6308252B1 (en) * | 1999-02-04 | 2001-10-23 | Kabushiki Kaisha Toshiba | Processor method and apparatus for performing single operand operation and multiple parallel operand operation |
US7242414B1 (en) | 1999-07-30 | 2007-07-10 | Mips Technologies, Inc. | Processor having a compare extension of an instruction set architecture |
US6732259B1 (en) | 1999-07-30 | 2004-05-04 | Mips Technologies, Inc. | Processor having a conditional branch extension of an instruction set architecture |
EP1163591B1 (en) * | 1999-02-12 | 2017-08-16 | ARM Finance Overseas Limited | Processor having a compare extension of an instruction set architecture |
US6912559B1 (en) | 1999-07-30 | 2005-06-28 | Mips Technologies, Inc. | System and method for improving the accuracy of reciprocal square root operations performed by a floating-point unit |
US6714197B1 (en) | 1999-07-30 | 2004-03-30 | Mips Technologies, Inc. | Processor having an arithmetic extension of an instruction set architecture |
US6631392B1 (en) | 1999-07-30 | 2003-10-07 | Mips Technologies, Inc. | Method and apparatus for predicting floating-point exceptions |
US7346643B1 (en) | 1999-07-30 | 2008-03-18 | Mips Technologies, Inc. | Processor with improved accuracy for multiply-add operations |
US6697832B1 (en) | 1999-07-30 | 2004-02-24 | Mips Technologies, Inc. | Floating-point processor with improved intermediate result handling |
US7496734B1 (en) * | 2000-04-28 | 2009-02-24 | Stmicroelectronics, Inc. | System and method for handling register dependency in a stack-based pipelined processor |
US6631452B1 (en) * | 2000-04-28 | 2003-10-07 | Idea Corporation | Register stack engine having speculative load/store modes |
US6996596B1 (en) | 2000-05-23 | 2006-02-07 | Mips Technologies, Inc. | Floating-point processor with operating mode having improved accuracy and high performance |
US6725361B1 (en) * | 2000-06-16 | 2004-04-20 | Transmeta Corporation | Method and apparatus for emulating a floating point stack in a translation process |
JP2004518183A (ja) | 2000-07-14 | 2004-06-17 | クリアウオーター・ネツトワークス・インコーポレイテツド | マルチスレッド・システムにおける命令のフェッチとディスパッチ |
US6757807B1 (en) | 2000-08-18 | 2004-06-29 | Sun Microsystems, Inc. | Explicitly clustered register file and execution unit architecture |
US7206925B1 (en) | 2000-08-18 | 2007-04-17 | Sun Microsystems, Inc. | Backing Register File for processors |
US7162621B2 (en) | 2001-02-21 | 2007-01-09 | Mips Technologies, Inc. | Virtual instruction expansion based on template and parameter selector information specifying sign-extension or concentration |
US7181484B2 (en) | 2001-02-21 | 2007-02-20 | Mips Technologies, Inc. | Extended-precision accumulation of multiplier output |
US7711763B2 (en) | 2001-02-21 | 2010-05-04 | Mips Technologies, Inc. | Microprocessor instructions for performing polynomial arithmetic operations |
US7203820B2 (en) * | 2002-06-28 | 2007-04-10 | Sun Microsystems, Inc. | Extending a register file utilizing stack and queue techniques |
EP1447742A1 (en) * | 2003-02-11 | 2004-08-18 | STMicroelectronics S.r.l. | Method and apparatus for translating instructions of an ARM-type processor into instructions for a LX-type processor |
US7613950B2 (en) * | 2004-02-27 | 2009-11-03 | Hewlett-Packard Development Company, L.P. | Detecting floating point hardware failures |
US9176741B2 (en) * | 2005-08-29 | 2015-11-03 | Invention Science Fund I, Llc | Method and apparatus for segmented sequential storage |
US8296550B2 (en) * | 2005-08-29 | 2012-10-23 | The Invention Science Fund I, Llc | Hierarchical register file with operand capture ports |
US8275976B2 (en) * | 2005-08-29 | 2012-09-25 | The Invention Science Fund I, Llc | Hierarchical instruction scheduler facilitating instruction replay |
US20070083735A1 (en) * | 2005-08-29 | 2007-04-12 | Glew Andrew F | Hierarchical processor |
US7644258B2 (en) | 2005-08-29 | 2010-01-05 | Searete, Llc | Hybrid branch predictor using component predictors each having confidence and override signals |
US20070061551A1 (en) * | 2005-09-13 | 2007-03-15 | Freescale Semiconductor, Inc. | Computer Processor Architecture Comprising Operand Stack and Addressable Registers |
EP2013723B1 (en) * | 2006-05-03 | 2019-06-12 | Sony Interactive Entertainment Inc. | Register mapping in emulation of a target system on a host system |
GB2447428A (en) * | 2007-03-15 | 2008-09-17 | Linear Algebra Technologies Lt | Processor having a trivial operand register |
US7882325B2 (en) * | 2007-12-21 | 2011-02-01 | Intel Corporation | Method and apparatus for a double width load using a single width load port |
CN101216756B (zh) * | 2007-12-28 | 2011-03-23 | 中国科学院计算技术研究所 | 一种risc处理器装置及其模拟浮点栈操作的方法 |
US9798543B2 (en) * | 2009-09-24 | 2017-10-24 | Nvidia Corporation | Fast mapping table register file allocation algorithm for SIMT processors |
US20120191952A1 (en) * | 2011-01-21 | 2012-07-26 | Advanced Micro Devices, Inc. | Processor implementing scalar code optimization |
US8914615B2 (en) | 2011-12-02 | 2014-12-16 | Arm Limited | Mapping same logical register specifier for different instruction sets with divergent association to architectural register file using common address format |
US9405542B1 (en) * | 2012-04-05 | 2016-08-02 | Marvell International Ltd. | Method and apparatus for updating a speculative rename table in a microprocessor |
CN105993000B (zh) * | 2013-10-27 | 2021-05-07 | 超威半导体公司 | 用于浮点寄存器混叠的处理器和方法 |
MA44821A (fr) * | 2016-02-27 | 2019-01-02 | Kinzinger Automation Gmbh | Procédé d'allocation d'une pile de registres virtuels dans une machine à pile |
CN111782269B (zh) * | 2020-06-04 | 2023-12-12 | 珠海格力电器股份有限公司 | 一种中断处理方法及中断处理设备 |
Family Cites Families (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3711692A (en) * | 1971-03-15 | 1973-01-16 | Goodyear Aerospace Corp | Determination of number of ones in a data field by addition |
US3723715A (en) * | 1971-08-25 | 1973-03-27 | Ibm | Fast modulo threshold operator binary adder for multi-number additions |
US4161784A (en) * | 1978-01-05 | 1979-07-17 | Honeywell Information Systems, Inc. | Microprogrammable floating point arithmetic unit capable of performing arithmetic operations on long and short operands |
US4229801A (en) * | 1978-12-11 | 1980-10-21 | Data General Corporation | Floating point processor having concurrent exponent/mantissa operation |
US4418383A (en) * | 1980-06-30 | 1983-11-29 | International Business Machines Corporation | Data flow component for processor and microprocessor systems |
US4393468A (en) * | 1981-03-26 | 1983-07-12 | Advanced Micro Devices, Inc. | Bit slice microprogrammable processor for signal processing applications |
US4498177A (en) * | 1982-08-30 | 1985-02-05 | Sperry Corporation | M Out of N code checker circuit |
US4707800A (en) * | 1985-03-04 | 1987-11-17 | Raytheon Company | Adder/substractor for variable length numbers |
US4740893A (en) * | 1985-08-07 | 1988-04-26 | International Business Machines Corp. | Method for reducing the time for switching between programs |
JPS6297060A (ja) * | 1985-10-23 | 1987-05-06 | Mitsubishi Electric Corp | デイジタルシグナルプロセツサ |
US4992938A (en) * | 1987-07-01 | 1991-02-12 | International Business Machines Corporation | Instruction control mechanism for a computing system with register renaming, map table and queues indicating available registers |
US4989168A (en) * | 1987-11-30 | 1991-01-29 | Fujitsu Limited | Multiplying unit in a computer system, capable of population counting |
US5008812A (en) * | 1988-03-18 | 1991-04-16 | Digital Equipment Corporation | Context switching method and apparatus for use in a vector processing system |
KR920007505B1 (ko) * | 1989-02-02 | 1992-09-04 | 정호선 | 신경회로망을 이용한 곱셈기 |
US5127098A (en) * | 1989-04-12 | 1992-06-30 | Sun Microsystems, Inc. | Method and apparatus for the context switching of devices |
EP0510429A3 (en) * | 1991-04-24 | 1993-12-01 | Ibm | Millicode register management system |
US5187679A (en) * | 1991-06-05 | 1993-02-16 | International Business Machines Corporation | Generalized 7/3 counters |
US5493687A (en) * | 1991-07-08 | 1996-02-20 | Seiko Epson Corporation | RISC microprocessor architecture implementing multiple typed register sets |
US5522051A (en) * | 1992-07-29 | 1996-05-28 | Intel Corporation | Method and apparatus for stack manipulation in a pipelined processor |
US5519841A (en) * | 1992-11-12 | 1996-05-21 | Digital Equipment Corporation | Multi instruction register mapper |
KR0122528B1 (ko) * | 1993-01-08 | 1997-11-20 | 윌리엄 티.엘리스 | 슈퍼스칼라 프로세서 시스템에서 중간 기억 버퍼의 할당을 인덱스하기 위한 방법 및 시스템 |
US5535397A (en) * | 1993-06-30 | 1996-07-09 | Intel Corporation | Method and apparatus for providing a context switch in response to an interrupt in a computer process |
US5499352A (en) * | 1993-09-30 | 1996-03-12 | Intel Corporation | Floating point register alias table FXCH and retirement floating point register array |
US5669013A (en) * | 1993-10-05 | 1997-09-16 | Fujitsu Limited | System for transferring M elements X times and transferring N elements one time for an array that is X*M+N long responsive to vector type instructions |
DE69429061T2 (de) * | 1993-10-29 | 2002-07-18 | Advanced Micro Devices, Inc. | Superskalarmikroprozessoren |
US5546554A (en) * | 1994-02-02 | 1996-08-13 | Sun Microsystems, Inc. | Apparatus for dynamic register management in a floating point unit |
US5481719A (en) * | 1994-09-09 | 1996-01-02 | International Business Machines Corporation | Exception handling method and apparatus for a microkernel data processing system |
US5507000A (en) * | 1994-09-26 | 1996-04-09 | Bull Hn Information Systems Inc. | Sharing of register stack by two execution units in a central processor |
US5537606A (en) * | 1995-01-31 | 1996-07-16 | International Business Machines Corporation | Scalar pipeline replication for parallel vector element processing |
US5634118A (en) * | 1995-04-10 | 1997-05-27 | Exponential Technology, Inc. | Splitting a floating-point stack-exchange instruction for merging into surrounding instructions by operand translation |
US5687336A (en) * | 1996-01-11 | 1997-11-11 | Exponential Technology, Inc. | Stack push/pop tracking and pairing in a pipelined processor |
-
1995
- 1995-12-19 US US08/574,719 patent/US5852726A/en not_active Expired - Lifetime
-
1996
- 1996-12-17 JP JP52303097A patent/JP3678427B2/ja not_active Expired - Lifetime
- 1996-12-17 BR BR9612189A patent/BR9612189A/pt not_active IP Right Cessation
- 1996-12-17 WO PCT/US1996/020522 patent/WO1997022921A1/en active IP Right Grant
- 1996-12-17 RU RU98113914/09A patent/RU2179331C2/ru active
- 1996-12-17 EP EP05002557.6A patent/EP1548576A3/en not_active Withdrawn
- 1996-12-17 KR KR1019980704686A patent/KR100312092B1/ko not_active IP Right Cessation
- 1996-12-17 EP EP96944983A patent/EP0868689A4/en not_active Withdrawn
- 1996-12-17 AU AU13455/97A patent/AU1345597A/en not_active Abandoned
-
2003
- 2003-12-16 JP JP2003417826A patent/JP3732197B2/ja not_active Expired - Lifetime
- 2003-12-16 JP JP2003417830A patent/JP3679797B2/ja not_active Expired - Lifetime
- 2003-12-16 JP JP2003417823A patent/JP3792696B2/ja not_active Expired - Lifetime
-
2006
- 2006-01-18 JP JP2006009928A patent/JP3868470B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP2000506639A (ja) | 2000-05-30 |
JP2004145898A (ja) | 2004-05-20 |
EP0868689A1 (en) | 1998-10-07 |
JP2004152319A (ja) | 2004-05-27 |
WO1997022921A1 (en) | 1997-06-26 |
KR100312092B1 (ko) | 2001-12-12 |
BR9612189A (pt) | 1999-07-13 |
US5852726A (en) | 1998-12-22 |
KR20000064488A (ko) | 2000-11-06 |
JP2004152318A (ja) | 2004-05-27 |
EP1548576A2 (en) | 2005-06-29 |
JP3868470B2 (ja) | 2007-01-17 |
RU2179331C2 (ru) | 2002-02-10 |
JP3678427B2 (ja) | 2005-08-03 |
AU1345597A (en) | 1997-07-14 |
JP3732197B2 (ja) | 2006-01-05 |
EP1548576A3 (en) | 2017-04-19 |
JP3679797B2 (ja) | 2005-08-03 |
JP2006185453A (ja) | 2006-07-13 |
EP0868689A4 (en) | 2000-02-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3792696B2 (ja) | 単一のレジスタ・ファイルを使用して浮動小数点命令およびパック・データ命令を実行する方法および装置 | |
US5701508A (en) | Executing different instructions that cause different data type operations to be performed on single logical register file | |
US5835748A (en) | Method for executing different sets of instructions that cause a processor to perform different data type operations on different physical registers files that logically appear to software as a single aliased register file | |
US5940859A (en) | Emptying packed data state during execution of packed data instructions | |
WO1997022924A9 (en) | A method of performing different data type operations that is invisible to various operating system techniques | |
US6792523B1 (en) | Processor with instructions that operate on different data types stored in the same single logical register file | |
US6230259B1 (en) | Transparent extended state save | |
US6594754B1 (en) | Mapping destination logical register to physical register storing immediate or renamed source register of move instruction and using mapping counters | |
JP2006079652A (ja) | 多重命令セットによるデータ処理 | |
EP1446717A1 (en) | Method and apparatus for interfacing a processor to a coprocessor | |
CA2123448C (en) | Blackout logic for dual execution unit processor | |
US5857096A (en) | Microarchitecture for implementing an instruction to clear the tags of a stack reference register file | |
KR100322725B1 (ko) | 전문 갱신 및 분기 명령을 이용하는 밀리코드 플래그 | |
US5784606A (en) | Method and system in a superscalar data processing system for the efficient handling of exceptions |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050502 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050517 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050817 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20050920 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20051219 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060118 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20060125 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060221 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060307 |
|
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: 20060328 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060405 |
|
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: 20090414 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100414 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110414 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120414 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120414 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130414 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130414 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140414 Year of fee payment: 8 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |