JP2007500406A - オペランド依存関係によるストールを低減する方法ならびにそのためのデータプロセッサ - Google Patents
オペランド依存関係によるストールを低減する方法ならびにそのためのデータプロセッサ Download PDFInfo
- Publication number
- JP2007500406A JP2007500406A JP2006533521A JP2006533521A JP2007500406A JP 2007500406 A JP2007500406 A JP 2007500406A JP 2006533521 A JP2006533521 A JP 2006533521A JP 2006533521 A JP2006533521 A JP 2006533521A JP 2007500406 A JP2007500406 A JP 2007500406A
- Authority
- JP
- Japan
- Prior art keywords
- register
- instruction
- operand
- redirect
- field
- 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 description 13
- 238000001514 detection method Methods 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 238000010606 normalization Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000002411 adverse Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000004148 unit process Methods 0.000 description 1
- 238000012795 verification 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/38—Concurrent instruction execution, e.g. pipeline or look ahead
-
- 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
- G06F9/3826—Bypassing or forwarding of data results, e.g. locally between pipeline stages or within a pipeline stage
-
- 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
-
- 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
-
- 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
-
- 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/3867—Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
- G06F9/3875—Pipelining a single stage, e.g. superpipelining
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Advance Control (AREA)
- Executing Machine-Instructions (AREA)
Abstract
Description
ADD R2, R0, R1
ADD R3, R1, R2
上記シーケンスでは、第1のレジスタが結果のデスティネーションであり、第2のレジスタと第3のレジスタが入力オペランドを記憶している。R2は第1のADD命令のデスティネーションレジスタであるため、第2のADD命令の実行は、第1のADD命令の結果に依存しており、第1のADD命令の結果がわかるまで行うことができない。
MOV R0, (R1)
ADD R3, R0, R2
このシーケンスでは、1番目の命令は、レジスタR1に記憶されているアドレスが指すメモリの内容を、レジスタR0にロードする。ADD命令が正しく実行されるかどうかは、レジスタR0の新しい値が利用可能かどうかに依存することが明らかである。
MOV R1, R0
ADD R3, R2, R1
上記において、第1の命令はレジスタR0の内容をレジスタR1に移動する転送オペレーションであり、第2の命令は、R1の内容をR2の内容に加算して、この合計をレジスタR3に格納する加算オペレーションである。公知のシステムでは、このシーケンスにより、レジスタファイル、バイパス回路140のいずれかでMOV命令の結果が利用可能になるまで、ADD命令の発行が阻止される依存関係が発生する。実行ユニット200は、第2のオペランドに0の値を使用する同等の加算オペレーションを実行することによって、加算ユニット120を使用してMOV命令を実際に実行する。このため、通常であれば、正規化ステージ126がバイパス回路140に結果を供給するまで、第2の命令を待機させる必要がある。しかし、実行ユニット200では、リダイレクト論理回路210により、ADD命令のR1の内容がR0の内容で置換され、R0の内容が第2のオペランドとしてR0の内容を使用して、ADD命令が直ちに発行される。このようにして、ADD命令が正しく実行される。
ADD R2, R1, R0
ADD R4, R3, R2
第1のADD命令は、R0の内容をR1の内容に加算して、この合計をレジスタR2に格納する加算オペレーションであり、第2の命令は、R2の内容をR3の内容に加算して、この合計をレジスタR4に格納する加算オペレーションである。公知のシステムでは、このシーケンスにより、第1のADD命令の結果が利用可能になるまで、第2のADD命令の発行が阻止される依存関係が発生する。しかし、実行ユニット200では、R1(R0)=0の場合、リダイレクト論理回路210により、第2のADD命令のR2の内容がR0(R1)の内容で置換され、R0(R1)の内容を第2のオペランドとして使用して、第2のADD命令が直ちに発行される。
MUL R2, R1, R0
ADD R4, R3, R2
第1の命令は、レジスタR0の内容にレジスタR1の内容を掛けて、この積をレジスタR2に記憶する乗算オペレーションであり、第2の命令は、R2の内容をR3の内容に加算して、この合計をレジスタR4に格納する加算オペレーションである。公知のシステムでは、このシーケンスにより、MUL命令の結果が利用可能になるまで、ADD命令の発行が阻止される依存関係が発生する。しかし、実行ユニット200では、R1(R0)=1の場合、リダイレクト論理回路210により、ADD命令のR2の内容がR0(R1)の内容で置換され、R0(R1)の内容を第2のオペランドとして使用して、ADD命令が直ちに発行される。
ADD R2, R1, R0
ADD R4, R3, R2
第2のオペランドにR1を使用し、負の数を示すように結果の符号ビットを1に設定することによって発行できる。
Claims (10)
- パイプライン実行ユニット(120)を備えたデータプロセッサ(200)に使用する方法であって、
その実行の結果、オペランドレジスタの内容がデスティネーションレジスタに記憶されることになる第1の命令が、命令のクラスのうちの1つであるかどうかを判定するステップと、
前記第1の命令の実行が完了する前に、前記デスティネーションレジスタを参照する第2の命令を受け取るステップと、
前記パイプライン実行ユニット(120)内で前記第2の命令をストールさせることなく、前記オペランドレジスタの内容を使用して前記第2の命令を実行するステップとを有する方法。 - 前記オペランドレジスタを、前記実行するステップの前に、以前に前記デスティネーションレジスタと関連付けられていた前記第2の命令のオペランド識別子フィールドと関連付けるステップを更に有する請求項1に記載の方法。
- 前記関連付けるステップは、
前記デスティネーションレジスタのレジスタ識別子を、リダイレクトレジスタ(310)の照合フィールドに記憶するステップと、
前記オペランドレジスタのレジスタ識別子を、前記リダイレクトレジスタ(310)の置換フィールドに記憶するステップとを更に有する請求項2に記載の方法。 - 前記実行するステップは、
前記第2の命令のオペランドレジスタ識別子と前記照合フィールドの内容を比較して、照合信号を供給するステップと、
前記照合フィールドの前記内容に応じて、前記オペランドレジスタ識別子または前記オペランドレジスタを前記置換フィールドの内容で置換して、新しいレジスタ識別子を供給するステップと、
前記新しいレジスタ識別子を使用して前記第2の命令を実行するステップとを更に有する請求項3に記載の方法。 - パイプライン実行ユニット(120)を備えたデータプロセッサ(200)に使用する方法であって、
実行の結果、オペランドレジスタの内容がデスティネーションレジスタに記憶されることになる第1の命令が、命令のクラスのうちの1つであるかどうかを判定するステップと、
前記第1の命令が前記命令のクラスのうちの1つである場合に、前記デスティネーションレジスタと関連付けられているデスティネーションレジスタ識別子をリダイレクトレジスタの照合フィールドに、オペランドと関連付けられているオペランドレジスタ識別子を前記リダイレクトレジスタの置換フィールドに、および有効ビットを前記リダイレクトレジスタの有効フィールドに記憶するステップと、
前記第1の命令の実行が完了する前に第2の命令を受け取るステップと、
前記有効ビットが所定の論理状態にある場合に、前記第2の命令の第1のオペランドレジスタ識別子と前記照合フィールドの内容を比較するステップと、
前記第1のオペランドレジスタ識別子が前記照合フィールドの前記内容と一致する場合、前記パイプライン実行ユニット(120)内で前記第2の命令をストールさせることなく、前記置換フィールドが示すレジスタの内容を使用して前記第2の命令を実行するステップとを有する方法。 - 前記第1の命令が前記命令のクラスのうちの1つである場合に、前記第1の命令の符号ビットを前記リダイレクトレジスタの符号フィールドに更に記憶するステップと、
前記リダイレクトレジスタの前記符号ビットに応じて、前記第2の命令の実行の結果の符号ビットを選択的に変更するステップとを更に有する請求項5に記載の方法。 - 前記有効ビットが前記所定の論理状態にある場合に、前記第2の命令の第2のオペランドレジスタ識別子と前記照合フィールドの前記内容を比較するステップと、
前記第1のオペランドレジスタ識別子または前記第2のオペランドレジスタ識別子のいずれかが前記照合フィールドの前記内容と一致する場合、前記パイプライン実行ユニット(120)内で前記第2の命令をストールさせることなく、前記置換フィールドが示す前記レジスタの前記内容を使用して前記第2の命令を実行するステップとを更に有する請求項5に記載の方法。 - それぞれがオペコード、第1のオペランドのための第1のオペランドレジスタ識別子、およびデスティネーションレジスタのためのデスティネーションレジスタ識別子を少なくとも含む第1の命令と第2の命令とを順番に供給するための出力を備えた発行論理回路(110)と、
読出しアドレス入力および読出しデータ出力を備えた読出しポート、および書込みポートを備えたレジスタファイル(150)と、
前記発行論理回路(110)の前記出力と結合された第1の入力、前記レジスタファイル(150)の前記読出しデータ出力に結合された第2の入力、および前記レジスタファイル(150)の前記書込みポートに結合された出力を備えたパイプライン実行ユニット(120)とを備えたデータプロセッサ(200)であって、前記データプロセッサは、
前記第2の命令の前記第1のオペランドレジスタ識別子を前記第1の命令の前記第1のオペランドレジスタ識別子で選択的に置換するため、前記発行論理回路(110)の前記出力に結合された第1の入力と、前記レジスタファイル(150)の前記読出しデータ出力に結合された第2の入力と、前記レジスタファイル(150)の前記読出しアドレス入力に結合された出力とを備えたリダイレクト論理回路(210)を備えるデータプロセッサ(200)。 - 前記第1の命令の実行の結果、前記第1の命令の前記デスティネーションレジスタが、前記第1の命令の前記第1のオペランドレジスタの前記内容を格納するようになると判定された場合に、前記リダイレクト論理回路(210)は、前記第2の命令の前記第1のオペランドレジスタ識別子を前記第1の命令の前記第1のオペランドレジスタ識別子で置換する請求項8に記載のデータプロセッサ(200)。
- 前記リダイレクト論理回路(210)は、
出力端子を有するリダイレクト検出論理回路(300)と、
前記発行論理回路(110)の前記出力に結合され、かつ前記パイプライン実行ユニット(120)のステージと関連付けられており、前記リダイレクト検出論理回路(300)の前記出力端子に結合された有効フィールド、前記デスティネーションレジスタ識別子を受け取るための照合フィールド、ならびに前記第1のオペランドレジスタ識別子および第2のオペランドレジスタ識別子のうちの選択されたほうを受け取るための置換フィールドを少なくとも有する第1のリダイレクトレジスタ(310)と、
前記第2の命令の前記第1のオペランドレジスタ識別子を受け取るための第1の入力端子、前記第1のリダイレクトレジスタ(310)の前記照合フィールドに結合された第2の入力端子、前記第1のリダイレクトレジスタ(310)の前記有効フィールドに結合された制御入力端子、および出力端子を備えた第1の比較器(334)と、
前記第1のオペランドレジスタ識別子を受け取るための第1の入力端子、前記第1のリダイレクトレジスタ(310)の前記置換フィールドに結合された第2の入力端子、前記第1の比較器(334)の前記出力端子に結合された制御入力端子、および前記第2の命令の前記第1のオペランドに対して新しいレジスタ識別子を供給する出力端子を備えた第1のマルチプレクサ(342)とを備える請求項9に記載のデータプロセッサ(200)。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/461,129 | 2003-06-12 | ||
US10/461,129 US7290121B2 (en) | 2003-06-12 | 2003-06-12 | Method and data processor with reduced stalling due to operand dependencies |
PCT/US2004/017092 WO2004111838A2 (en) | 2003-06-12 | 2004-06-02 | Method and data processor for reduced pipeline stalling |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007500406A true JP2007500406A (ja) | 2007-01-11 |
JP4991299B2 JP4991299B2 (ja) | 2012-08-01 |
Family
ID=33511189
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006533521A Active JP4991299B2 (ja) | 2003-06-12 | 2004-06-02 | オペランド依存関係によるストールを低減する方法ならびにそのためのデータプロセッサ |
Country Status (8)
Country | Link |
---|---|
US (1) | US7290121B2 (ja) |
JP (1) | JP4991299B2 (ja) |
KR (1) | KR101183270B1 (ja) |
CN (1) | CN100380317C (ja) |
DE (1) | DE112004001040B4 (ja) |
GB (1) | GB2418508B (ja) |
TW (1) | TWI343543B (ja) |
WO (1) | WO2004111838A2 (ja) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7328429B2 (en) * | 2003-11-13 | 2008-02-05 | Intel Corporation | Instruction operand tracing for software debug |
US7272751B2 (en) * | 2004-01-15 | 2007-09-18 | International Business Machines Corporation | Error detection during processor idle cycles |
US20060095732A1 (en) * | 2004-08-30 | 2006-05-04 | Tran Thang M | Processes, circuits, devices, and systems for scoreboard and other processor improvements |
US7774582B2 (en) * | 2005-05-26 | 2010-08-10 | Arm Limited | Result bypassing to override a data hazard within a superscalar processor |
WO2008006400A1 (en) * | 2006-07-11 | 2008-01-17 | Freescale Semiconductor, Inc. | Microprocessor and method for register addressing therein |
US7565513B2 (en) * | 2007-02-28 | 2009-07-21 | Advanced Micro Devices, Inc. | Processor with power saving reconfigurable floating point unit decoding an instruction to single full bit operation or multiple reduced bit operations |
DE102008045767A1 (de) | 2008-09-04 | 2010-03-11 | Continental Teves Ag & Co. Ohg | Mikroprozessor mit Pipelineblasen-Erfassungseinrichtung |
US8977837B2 (en) * | 2009-05-27 | 2015-03-10 | Arm Limited | Apparatus and method for early issue and recovery for a conditional load instruction having multiple outcomes |
US8464030B2 (en) * | 2010-04-09 | 2013-06-11 | International Business Machines Corporation | Instruction cracking and issue shortening based on instruction base fields, index fields, operand fields, and various other instruction text bits |
US9354881B2 (en) | 2011-12-27 | 2016-05-31 | Intel Corporation | Systems, apparatuses, and methods for generating a dependency vector based on two source writemask registers |
US9519944B2 (en) | 2014-09-02 | 2016-12-13 | Apple Inc. | Pipeline dependency resolution |
US9875107B2 (en) | 2015-01-19 | 2018-01-23 | International Business Machines Corporation | Accelerated execution of execute instruction target |
CN104915183B (zh) * | 2015-06-23 | 2018-10-16 | 北京玉华骢科技股份有限公司 | 一种多发射流水线的前馈探测电路 |
US11243774B2 (en) | 2019-03-20 | 2022-02-08 | International Business Machines Corporation | Dynamic selection of OSC hazard avoidance mechanism |
US10929142B2 (en) | 2019-03-20 | 2021-02-23 | International Business Machines Corporation | Making precise operand-store-compare predictions to avoid false dependencies |
US20210096877A1 (en) * | 2019-09-26 | 2021-04-01 | Advanced Micro Devices, Inc. | Collapsing bubbles in a processing unit pipeline |
CN111124500B (zh) * | 2019-12-12 | 2022-03-08 | 浪潮(北京)电子信息产业有限公司 | 一种指令执行方法、装置、设备及存储介质 |
US11714652B2 (en) * | 2021-07-23 | 2023-08-01 | Advanced Micro Devices, Inc. | Zero operand instruction conversion for accelerating sparse computations in a central processing unit pipeline |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001523854A (ja) * | 1997-11-17 | 2001-11-27 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | ルックアヘッド結果を発生し移動命令、比較命令および簡単な算術命令をまとめるよう構成されるプロセッサ |
JP2002520729A (ja) * | 1998-07-14 | 2002-07-09 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | リネームタグのスワッピングにより転送を行なうレジスタリネーミング |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4594655A (en) * | 1983-03-14 | 1986-06-10 | International Business Machines Corporation | (k)-Instructions-at-a-time pipelined processor for parallel execution of inherently sequential instructions |
US4734852A (en) * | 1985-08-30 | 1988-03-29 | Advanced Micro Devices, Inc. | Mechanism for performing data references to storage in parallel with instruction execution on a reduced instruction-set processor |
US5128890A (en) * | 1991-05-06 | 1992-07-07 | Motorola, Inc. | Apparatus for performing multiplications with reduced power and a method therefor |
US5488729A (en) * | 1991-05-15 | 1996-01-30 | Ross Technology, Inc. | Central processing unit architecture with symmetric instruction scheduling to achieve multiple instruction launch and execution |
GB9112754D0 (en) | 1991-06-13 | 1991-07-31 | Int Computers Ltd | Data processing apparatus |
JPH06156382A (ja) * | 1992-11-28 | 1994-06-03 | Sanshin Ind Co Ltd | 船舶推進機の前後進切換装置 |
US5887160A (en) * | 1996-12-10 | 1999-03-23 | Fujitsu Limited | Method and apparatus for communicating integer and floating point data over a shared data path in a single instruction pipeline processor |
US5838941A (en) * | 1996-12-30 | 1998-11-17 | Intel Corporation | Out-of-order superscalar microprocessor with a renaming device that maps instructions from memory to registers |
US5893928A (en) | 1997-01-21 | 1999-04-13 | Ford Motor Company | Data movement apparatus and method |
JP3449186B2 (ja) * | 1997-08-19 | 2003-09-22 | 富士通株式会社 | パイプラインバイパス機能を有するデータ処理装置 |
US5872986A (en) * | 1997-09-30 | 1999-02-16 | Intel Corporation | Pre-arbitrated bypassing in a speculative execution microprocessor |
US6857060B2 (en) * | 2001-03-30 | 2005-02-15 | Intel Corporation | System, apparatus and method for prioritizing instructions and eliminating useless instructions |
-
2003
- 2003-06-12 US US10/461,129 patent/US7290121B2/en active Active
-
2004
- 2004-06-02 GB GB0526204A patent/GB2418508B/en active Active
- 2004-06-02 JP JP2006533521A patent/JP4991299B2/ja active Active
- 2004-06-02 CN CNB200480016227XA patent/CN100380317C/zh active Active
- 2004-06-02 KR KR1020057023922A patent/KR101183270B1/ko active IP Right Grant
- 2004-06-02 WO PCT/US2004/017092 patent/WO2004111838A2/en active Application Filing
- 2004-06-02 DE DE112004001040T patent/DE112004001040B4/de active Active
- 2004-06-04 TW TW093116095A patent/TWI343543B/zh active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001523854A (ja) * | 1997-11-17 | 2001-11-27 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | ルックアヘッド結果を発生し移動命令、比較命令および簡単な算術命令をまとめるよう構成されるプロセッサ |
JP2002520729A (ja) * | 1998-07-14 | 2002-07-09 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | リネームタグのスワッピングにより転送を行なうレジスタリネーミング |
Also Published As
Publication number | Publication date |
---|---|
US20040255099A1 (en) | 2004-12-16 |
TW200508967A (en) | 2005-03-01 |
US7290121B2 (en) | 2007-10-30 |
KR101183270B1 (ko) | 2012-09-14 |
WO2004111838A3 (en) | 2005-10-27 |
GB2418508B (en) | 2007-03-14 |
DE112004001040B4 (de) | 2012-05-31 |
CN1806227A (zh) | 2006-07-19 |
CN100380317C (zh) | 2008-04-09 |
KR20060029614A (ko) | 2006-04-06 |
WO2004111838A2 (en) | 2004-12-23 |
DE112004001040T5 (de) | 2006-06-08 |
JP4991299B2 (ja) | 2012-08-01 |
GB2418508A (en) | 2006-03-29 |
GB0526204D0 (en) | 2006-02-01 |
TWI343543B (en) | 2011-06-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4991299B2 (ja) | オペランド依存関係によるストールを低減する方法ならびにそのためのデータプロセッサ | |
US6862677B1 (en) | System and method for eliminating write back to register using dead field indicator | |
US5134693A (en) | System for handling occurrence of exceptions during execution of microinstructions while running floating point and non-floating point instructions in parallel | |
US6085312A (en) | Method and apparatus for handling imprecise exceptions | |
KR101048234B1 (ko) | 마이크로프로세서 내부의 다수의 레지스터 유닛들을 결합하기 위한 방법 및 시스템 | |
US20130290680A1 (en) | Optimizing register initialization operations | |
US8762444B2 (en) | Fast condition code generation for arithmetic logic unit | |
US8555041B2 (en) | Method for performing a return operation in parallel with setting status flags based on a return value register test | |
US7228403B2 (en) | Method for handling 32 bit results for an out-of-order processor with a 64 bit architecture | |
US20030005261A1 (en) | Method and apparatus for attaching accelerator hardware containing internal state to a processing core | |
US7010676B2 (en) | Last iteration loop branch prediction upon counter threshold and resolution upon counter one | |
US6055628A (en) | Microprocessor with a nestable delayed branch instruction without branch related pipeline interlocks | |
GB2375855A (en) | Locking source registers in a pipelined data processing apparatus | |
JP2001243071A (ja) | 1サイクルのパイプライン・ストールを生成するパイプライン・プロセッサのシステム及び方法 | |
US6990569B2 (en) | Handling problematic events in a data processing apparatus | |
US6851044B1 (en) | System and method for eliminating write backs with buffer for exception processing | |
US20060179286A1 (en) | System and method for processing limited out-of-order execution of floating point loads | |
US20230315446A1 (en) | Arithmetic processing apparatus and method for arithmetic processing | |
EP1050800A1 (en) | A pipelined execution unit | |
US7991816B2 (en) | Inverting data on result bus to prepare for instruction in the next cycle for high frequency execution units | |
US8285765B2 (en) | System and method for implementing simplified arithmetic logic unit processing of value-based control dependence sequences |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070529 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090811 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100202 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20100430 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20100430 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20100513 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100602 |
|
RD05 | Notification of revocation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7425 Effective date: 20100902 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20110316 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110719 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20110913 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20111214 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120312 |
|
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: 20120411 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120507 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4991299 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150511 Year of fee payment: 3 |
|
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 |
|
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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |