JP3868470B2 - 単一のレジスタ・ファイルを使用して浮動小数点命令およびパック・データ命令を実行する方法および装置 - Google Patents
単一のレジスタ・ファイルを使用して浮動小数点命令およびパック・データ命令を実行する方法および装置 Download PDFInfo
- Publication number
- JP3868470B2 JP3868470B2 JP2006009928A JP2006009928A JP3868470B2 JP 3868470 B2 JP3868470 B2 JP 3868470B2 JP 2006009928 A JP2006009928 A JP 2006009928A JP 2006009928 A JP2006009928 A JP 2006009928A JP 3868470 B2 JP3868470 B2 JP 3868470B2
- Authority
- JP
- Japan
- Prior art keywords
- floating point
- packed data
- instruction
- register
- state
- 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 165
- 230000004044 response Effects 0.000 claims description 43
- 230000008859 change Effects 0.000 claims description 41
- 238000012545 processing Methods 0.000 claims description 32
- 238000012937 correction Methods 0.000 claims description 14
- 230000000977 initiatory effect Effects 0.000 claims 4
- 238000007430 reference method Methods 0.000 claims 1
- 230000007704 transition Effects 0.000 description 137
- 239000000872 buffer Substances 0.000 description 76
- 238000013507 mapping Methods 0.000 description 66
- 238000010586 diagram Methods 0.000 description 30
- 230000007246 mechanism Effects 0.000 description 19
- 230000008569 process Effects 0.000 description 18
- 238000007689 inspection Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 9
- 239000003607 modifier Substances 0.000 description 9
- 230000009471 action Effects 0.000 description 8
- 238000012986 modification Methods 0.000 description 8
- 230000004048 modification Effects 0.000 description 8
- 238000007726 management method Methods 0.000 description 6
- 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
- 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 (36)
- データ処理装置において、命令を実行する方法であって:
単一の論理レジスタ・ファイルの内容に対して第1の命令タイプの第1の命令セットを実行するステップであって、第1の命令タイプの命令は非スタック参照の仕方での演算を特定し、かつ、前記単一の論理レジスタ・ファイルは前記第1の命令セットを実行する間はフラット・レジスタ・ファイルとして操作される、ステップと;そして
同様に前記単一の論理レジスタ・ファイルの内容に対して第2の命令タイプの第2の命令セットを実行するステップであって、第2の命令タイプの命令はスタック参照の仕方でのスカラー浮動小数点演算を特定し、かつ、前記単一の論理レジスタ・ファイルは前記第2の命令セットを実行している間はスタック参照レジスタ・ファイルとして操作される、ステップと
を含むことを特徴とする方法。 - 前記第1の命令セットを実行するステップはさらにパック・データ演算を実施するステップを含むことを特徴とする請求項1に記載の方法。
- 前記第1の命令セットを実行するステップはさらに整数データ上の演算を実施するステップを含むことを特徴とする請求項1に記載の方法。
- 前記第1の命令セットを実行するステップはさらに浮動小数点データ上のパック・データ演算を実施するステップを含むことを特徴とする請求項1に記載の方法。
- 前記第1の命令セットを実行するステップはさらに整数データ上のパック・データ演算を実施するステップを含むことを特徴とする請求項1に記載の方法。
- 前記第2の命令セットを実行するステップはさらに単一論理レジスタに含まれるデータをメモリへコピーするステップを含むことを特徴とする請求項5に記載の方法。
- 第1の命令セットを実行するステップを開始することとと第1の前記第2の命令セットの実行を終了することとの間のいつかにトップ・オブ・スタック表示を初期値へ変更するステップであって、前記トップ・オブ・スタック表示は単一論理レジスタ・ファイルの1つのレジスタを現在のトップ・オブ・スタック・レジスタとして識別する、ステップをさらに含むことを特徴とする請求項5に記載の方法。
- 前記第1の命令セットを実行するステップの間に書き込まれる単一論理レジスタ・ファイルの各レジスタの符号及び指数フィールドにおいて、第1の命令セットを実行する前記ステップを開始することと前記第2の命令セットを実行する前記ステップを開始することとの間のいつかに、非数又は無限大のいずれかの値を書き込むステップをさらに含むことを特徴とする請求項5に記載の方法。
- 第1の命令セットを実行する前記ステップを開始することと第1の前記第2の命令セットの実行を終了することとの間のいつかに、前記単一論理レジスタ・ファイルに対応する複数のタグを非空状態に変えるステップであって、前記複数のタグは前記単一論理レジスタ・ファイルのレジスタが空か非空かを識別する、ステップをさらに含むことを特徴とする請求項5に記載の方法。
- タグを変える前記ステップは第1の前記第2の命令セットを実行する試みに応答して実施されることを特徴とする請求項9に記載の方法。
- タグを変える前記ステップは前記第1の命令セットの各々の実行に応答して実施されることを特徴とする請求項9に記載の方法。
- タグを変える前記ステップは前記第1の命令セットを実行するステップと第1の前記第2の命令セットの実行を試みるステップとの間に実施されることを特徴とする請求項9に記載の方法。
- 請求項9に記載の方法を実施するデータ処理装置であって:
複数の物理レジスタと;
前記複数の物理レジスタがソフトウェアには前記単一の論理レジスタ・ファイルとして見えるようにするメモリ装置と;
請求項9に記載の方法により、前記単一の論理レジスタ・ファイルの内容に対して命令を実行するための復号/実行装置と;
請求項9に記載の方法により、前記複数のタグを変えるためのタグ修正装置と;
を備えることを特徴とするデータ処理装置。 - 請求項5に記載の方法を実施するデータ処理装置であって、前記データ処理装置は:
複数の物理レジスタと;
前記複数の物理レジスタがソフトウェアには前記単一の論理レジスタ・ファイルとして見えるようにするメモリ装置と;
請求項5に記載の方法にしたがってフラット・レジスタ・ファイルとして前記単一の論理レジスタ・ファイル上で命令を、そしてスタック参照レジスタ・ファイルとして単一の論理レジスタ・ファイル上で命令を、実行するための復号/実行装置と;
を備えることを特徴とするデータ処理装置。 - 部分コンテキスト・スイッチによる前記単一論理レジスタ・ファイルの使用の可能または不可を決定するためのイベント・ハンドリング装置であって、不可の決定は前記データ処理装置に第1のルーチンの実行を妨害させるとともに前記単一の論理レジスタ・ファイルの内容をメモリへコピーさせる、イベント・ハンドリング装置を含むことを特徴とする請求項14に記載のデータ処理装置。
- エミュレーション状態を指示するためのEMフィールドを含む少なくと1つのステイタス・レジスタであって、そのような指示は前記プロセッサに前記第1のルーチンの実行を妨害するようにさせる、ステイタス・レジスタをさらに含むことを特徴とする請求項15に記載のデータ処理装置。
- もし前記EMフィールドがエミュレーション状態を指示しそして前記復号/実行装置が前記第1のルーチンに属する第1のスカラー・データ命令を受信するならば、前記復号/実行装置は前記第2のルーチンを実行することを特徴とする請求項16に記載のデータ処理装置。
- スタック参照の仕方でスカラー浮動小数点演算を特定する命令と非スタック参照の仕方でパック・データ演算を特定する命令とを実行するための復号/実行装置と;
前記復号/実行装置に結合され、複数の物理的レジスタを含み、前記スカラー浮動小数点演算のために状態を記憶し、そして前記パック・データ演算のために状態を記憶するメモリ装置であって、前記パック・データ状態への変化は浮動小数点状態において現れ、そして浮動小数点状態への変化はパック・データ状態において現れる、メモリ装置と;
を含むことを特徴とする請求項16又は17に記載のデータ処理装置。 - プロセッサを含むシステムであって、
前記プロセッサが、
スタック参照の仕方でスカラ浮動小数点演算を特定する命令と非スタック参照の仕方でパック・データ演算を特定する命令とを実行するための復号/実行装置と;
復号/実行装置に結合され、そして複数の物理的レジスタを含み、スカラ浮動小数点演算のための状態を記憶しそしてパック・データ演算のための状態を記憶する、メモリ装置であって、パック・データへの変化が浮動小数点状態に出現し、そして浮動小数点状態への変化がパック・データ状態に出現する、メモリ装置と;
を含む、
ことを特徴とするシステム。 - プロセッサに結合され、前のタスクのすべてのレジスタ状態を記憶し、そして次のタスクのすべてのレジスタ状態を復元することによってコンテキスト・スイッチングを実施する演算システムを記憶している、記憶装置をさらに含むことを特徴とする請求項19に記載のシステム。
- 前記メモリ装置は、
複数のタグとトップ・オブ・スタック表示とを記憶するための1つ以上の記憶領域のセットと、;
前記トップ・オブ・スタック表示を初期値に変えるタグ修正装置と、非スタック参照の仕方でパック・データ演算を特定する命令の実行に応答して非空を指示する前記複数のタグとをさらに含むことを特徴とする請求項19に記載のシステム。 - 前記パック・データ演算は整数演算と浮動小数点演算を含むことを特徴とする請求項19に記載のシステム。
- パック・データ・アイテムの前記パック・データ状態への書込は、浮動小数点状態における仮数フィールドの前記パック・データ・アイテムのように、そして符号及び指数フィールドの非数又は無限大のいずれかを指示する値のように見えることを特徴とする請求項19に記載のシステム。
- スタック参照の仕方で浮動小数点状態のスカラ浮動小数点演算を特定する命令を実行するステップと;そして
非スタック参照の仕方でパック・データ状態のパック・データ演算を特定する命令を実行するステップであって、パック・データ状態への変更が浮動小数点状態の関連する記憶位置に出現し、そして浮動小数点状態における変更がパック・データ状態の関連する記憶位置に出現する、ステップと;
を含むことを特徴とする方法。 - 前記パック・データ演算はパック・データ浮動小数点演算を含むことを特徴とする請求項24に記載の方法。
- 前記非スタック参照の仕方でパック・データ演算を特定する前記実行命令は、パック・データ・アイテムを伴って書き込まれた前記パック・データ状態の記憶位置に対応する前記浮動小数点状態のそれらの記憶位置の符号及び指数フィールドにおいて、非数又は無限大のいずれかを指示する値を書き込むステップを、含むことを特徴とする請求項24に記載の方法。
- 前記非スタック参照の仕方でパック・データ演算を特定する前記実行命令は、複数のタグが非空を指示するように変えるステップであって、前記複数のタグは前記浮動小数点状態の記憶位置が空か非空かを識別する、ステップと、;そして
トップ・オブ・スタック表示を初期値に変えるステップと、
を含むことを特徴とする請求項24に記載の方法。 - プロセッサを含むシステムであって、
前記プロセッサが、
スタック参照の仕方でスカラ浮動小数点演算を特定する命令と非スタック参照の仕方でパック・データ演算を特定する命令とを実行するための復号/実行装置と、;そして
前記復号/実行装置に結合され、そして複数の物理的レジスタを含み、第1のモードにおいてスタック参照レジスタ・ファイルがスカラ浮動小数点演算のための状態を記憶しているように見えるように動作し、そして第2のモードにおいてスタック参照レジスタ上でエイリアス化された非スタック参照レジスタがパック・データ演算のための状態を記憶しているように見えるように動作する、メモリ装置と、
を含む、
ことを特徴とするシステム。 - プロセッサに結合され、前のタスクのすべてのレジスタ状態を記憶することそして次のタスクのすべてのレジスタ状態を復元することによってコンテキスト・スイッチングを実施する演算システムを記憶している、記憶装置をさらに含むことを特徴とする請求項28に記載のシステム。
- 前記メモリ装置が、
複数のタグとトップ・オブ・スタック表示を記憶するための1つ以上の記憶領域のセットであって、前記複数のタグは、前記スタック参照レジスタ・ファイルの空又は非空を識別し、前記トップ・オブ・スタック表示は前記スタック参照レジスタ・ファイルのレジスタのどれが現在のトップであるかを識別する、前記記憶領域のセットと、
前記スタック参照レジスタ・ファイルを初期値に変えるためのタグ修正装置と前記非スタック参照の仕方でパック・データ操作を特定する命令の実行に応じて非空を指示する前記複数のタグと、
をさらに含むことを特徴とする請求項28に記載のシステム。 - 前記パック・データ操作がパック・データ浮動小数点操作を含むことを特徴とする請求項28に記載のシステム。
- 前記非スタック参照レジスタ・ファイルのエイリアス化されたレジスタが第2のモードにおいて書き込まれる前記スタック参照レジスタ・ファイルのそれらのレジスタの符号及び指数フィールド中に、プロセッサが非数又は無限大のいずれかを指示する値を書き込むことを特徴とする請求項28に記載のシステム。
- スタック参照の仕方で浮動小数点状態のスカラ浮動小数点演算を特定する命令を実行するステップと;
非スタック参照の仕方でパック・データ状態のパック・データ演算を特定する命令を実行するステップであって、パック・データ演算を特定する命令を実行する実行命令が、
浮動小数点状態の複数のタグが非空を指示するように変えるステップであって、 前記複数のタグが浮動小数点状態のエントリが空又は非空のいずれであるかを特定 するステップと;そして
浮動小数点状態のトップ・オブ・スタック表示を初期値に変えるステップと;
を含むステップと;
を含むことを特徴とする方法。 - 前記複数のタグを空を指示するように変えることを特徴とする請求項33に記載の方法。
- 前記パック・データ演算がパック・データ浮動小数点演算を含むことを特徴とする請求項33に記載のシステム。
- パック・データ浮動小数点演算を特定する前記パック・データ演算が、パック・データ・アイテムを伴って書き込まれた前記パック・データ状態の位置に対応した前記浮動小数点状態のそれらの位置の符号及び指数フィールドにおいて、非数又は無限大のいずれかを指示する値を書き込むステップを含むことを特徴とする請求項33に記載の方法。
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 |
---|---|---|---|
JP2003417823A Division JP3792696B2 (ja) | 1995-12-19 | 2003-12-16 | 単一のレジスタ・ファイルを使用して浮動小数点命令およびパック・データ命令を実行する方法および装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006185453A JP2006185453A (ja) | 2006-07-13 |
JP3868470B2 true JP3868470B2 (ja) | 2007-01-17 |
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 | 単一のレジスタ・ファイルを使用して浮動小数点命令およびパック・データ命令を実行する方法および装置 |
JP2003417823A Expired - Lifetime JP3792696B2 (ja) | 1995-12-19 | 2003-12-16 | 単一のレジスタ・ファイルを使用して浮動小数点命令およびパック・データ命令を実行する方法および装置 |
JP2003417830A Expired - Lifetime JP3679797B2 (ja) | 1995-12-19 | 2003-12-16 | 単一のレジスタ・ファイルを使用して浮動小数点命令およびパック・データ命令を実行する方法および装置 |
JP2006009928A Expired - Lifetime JP3868470B2 (ja) | 1995-12-19 | 2006-01-18 | 単一のレジスタ・ファイルを使用して浮動小数点命令およびパック・データ命令を実行する方法および装置 |
Family Applications Before (4)
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 | 単一のレジスタ・ファイルを使用して浮動小数点命令およびパック・データ命令を実行する方法および装置 |
JP2003417823A Expired - Lifetime JP3792696B2 (ja) | 1995-12-19 | 2003-12-16 | 単一のレジスタ・ファイルを使用して浮動小数点命令およびパック・データ命令を実行する方法および装置 |
JP2003417830A Expired - Lifetime JP3679797B2 (ja) | 1995-12-19 | 2003-12-16 | 単一のレジスタ・ファイルを使用して浮動小数点命令およびパック・データ命令を実行する方法および装置 |
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 |
---|---|---|---|---|
BR9509845A (pt) | 1994-12-02 | 1997-12-30 | Intel Corp | Microprocessador com operação de compactação de elementos de operação compósitos |
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 |
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 |
US5940859A (en) | 1995-12-19 | 1999-08-17 | Intel Corporation | Emptying packed data state during execution of packed data instructions |
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 |
US7197625B1 (en) * | 1997-10-09 | 2007-03-27 | Mips Technologies, Inc. | Alignment and ordering of vector elements for single instruction multiple data processing |
US5864703A (en) * | 1997-10-09 | 1999-01-26 | Mips Technologies, Inc. | Method for providing extended precision in SIMD vector arithmetic operations |
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 |
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 |
US6122725A (en) * | 1998-03-31 | 2000-09-19 | Intel Corporation | Executing partial-width packed data instructions |
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 |
US6192467B1 (en) | 1998-03-31 | 2001-02-20 | Intel Corporation | Executing partial-width packed data instructions |
US6292815B1 (en) | 1998-04-30 | 2001-09-18 | Intel Corporation | Data conversion between floating point packed format and integer scalar format |
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 |
US6282554B1 (en) * | 1998-04-30 | 2001-08-28 | Intel Corporation | Method and apparatus for floating point operations and format conversion operations |
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 |
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 |
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 |
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 |
US7020879B1 (en) * | 1998-12-16 | 2006-03-28 | Mips Technologies, Inc. | Interrupt and exception handling for multi-streaming digital processors |
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 |
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 |
US6292888B1 (en) * | 1999-01-27 | 2001-09-18 | Clearwater Networks, Inc. | Register transfer unit for electronic processor |
US6389449B1 (en) | 1998-12-16 | 2002-05-14 | Clearwater Networks, Inc. | Interstream control and communications for multi-streaming digital processors |
US7529907B2 (en) | 1998-12-16 | 2009-05-05 | Mips Technologies, Inc. | Method and apparatus for improved computer load and store operations |
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 |
WO2000048080A1 (en) * | 1999-02-12 | 2000-08-17 | 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 |
US6631392B1 (en) | 1999-07-30 | 2003-10-07 | Mips Technologies, Inc. | Method and apparatus for predicting floating-point exceptions |
US6714197B1 (en) | 1999-07-30 | 2004-03-30 | Mips Technologies, Inc. | Processor having an arithmetic extension of an instruction set architecture |
US6697832B1 (en) | 1999-07-30 | 2004-02-24 | Mips Technologies, Inc. | Floating-point processor with improved intermediate result handling |
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 |
US7346643B1 (en) | 1999-07-30 | 2008-03-18 | Mips Technologies, Inc. | Processor with improved accuracy for multiply-add operations |
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 |
US7711763B2 (en) | 2001-02-21 | 2010-05-04 | Mips Technologies, Inc. | Microprocessor instructions for performing polynomial arithmetic operations |
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 |
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 |
US7644258B2 (en) * | 2005-08-29 | 2010-01-05 | Searete, Llc | Hybrid branch predictor using component predictors each having confidence and override signals |
US9176741B2 (en) * | 2005-08-29 | 2015-11-03 | Invention Science Fund I, Llc | Method and apparatus for segmented sequential storage |
US8275976B2 (en) * | 2005-08-29 | 2012-09-25 | The Invention Science Fund I, Llc | Hierarchical instruction scheduler facilitating instruction replay |
US8296550B2 (en) * | 2005-08-29 | 2012-10-23 | The Invention Science Fund I, Llc | Hierarchical register file with operand capture ports |
US20070083735A1 (en) * | 2005-08-29 | 2007-04-12 | Glew Andrew F | Hierarchical processor |
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 |
KR102332478B1 (ko) * | 2013-10-27 | 2021-11-30 | 어드밴스드 마이크로 디바이시즈, 인코포레이티드 | 부동 소수점 레지스터 앨리어싱을 위한 프로세서 및 방법들 |
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 EP EP05002557.6A patent/EP1548576A3/en not_active Withdrawn
- 1996-12-17 JP JP52303097A patent/JP3678427B2/ja not_active Expired - Lifetime
- 1996-12-17 RU RU98113914/09A patent/RU2179331C2/ru active
- 1996-12-17 EP EP96944983A patent/EP0868689A4/en not_active Withdrawn
- 1996-12-17 WO PCT/US1996/020522 patent/WO1997022921A1/en active IP Right Grant
- 1996-12-17 AU AU13455/97A patent/AU1345597A/en not_active Abandoned
- 1996-12-17 BR BR9612189A patent/BR9612189A/pt not_active IP Right Cessation
- 1996-12-17 KR KR1019980704686A patent/KR100312092B1/ko not_active IP Right Cessation
-
2003
- 2003-12-16 JP JP2003417826A patent/JP3732197B2/ja not_active Expired - Lifetime
- 2003-12-16 JP JP2003417823A patent/JP3792696B2/ja not_active Expired - Lifetime
- 2003-12-16 JP JP2003417830A patent/JP3679797B2/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 |
---|---|
JP2004152319A (ja) | 2004-05-27 |
JP2000506639A (ja) | 2000-05-30 |
EP1548576A3 (en) | 2017-04-19 |
EP1548576A2 (en) | 2005-06-29 |
JP2006185453A (ja) | 2006-07-13 |
JP3792696B2 (ja) | 2006-07-05 |
BR9612189A (pt) | 1999-07-13 |
JP3678427B2 (ja) | 2005-08-03 |
JP3732197B2 (ja) | 2006-01-05 |
WO1997022921A1 (en) | 1997-06-26 |
KR100312092B1 (ko) | 2001-12-12 |
RU2179331C2 (ru) | 2002-02-10 |
JP2004145898A (ja) | 2004-05-20 |
KR20000064488A (ko) | 2000-11-06 |
US5852726A (en) | 1998-12-22 |
AU1345597A (en) | 1997-07-14 |
EP0868689A4 (en) | 2000-02-16 |
JP3679797B2 (ja) | 2005-08-03 |
EP0868689A1 (en) | 1998-10-07 |
JP2004152318A (ja) | 2004-05-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3868470B2 (ja) | 単一のレジスタ・ファイルを使用して浮動小数点命令およびパック・データ命令を実行する方法および装置 | |
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 | |
US5701508A (en) | Executing different instructions that cause different data type operations to be performed on single logical 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 | |
US6594754B1 (en) | Mapping destination logical register to physical register storing immediate or renamed source register of move instruction and using mapping counters | |
US6230259B1 (en) | Transparent extended state save | |
JP2006079652A (ja) | 多重命令セットによるデータ処理 | |
KR100777772B1 (ko) | 연산 처리 장치, 정보 처리 장치 및 레지스터 파일의 제어방법 | |
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 | |
KR19990082749A (ko) | 편집기능을위한전문밀리코드지시 | |
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 |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060718 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060725 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060815 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060824 |
|
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: 20060919 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20061010 |
|
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: 20091020 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101020 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111020 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111020 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121020 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131020 Year of fee payment: 7 |
|
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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |