JP4624988B2 - データ推測マイクロプロセッサにおいて実行中のオペレーションのインスタンスがオペレーションのリプレイの割込みを防ぐためのシステム及び方法 - Google Patents
データ推測マイクロプロセッサにおいて実行中のオペレーションのインスタンスがオペレーションのリプレイの割込みを防ぐためのシステム及び方法 Download PDFInfo
- Publication number
- JP4624988B2 JP4624988B2 JP2006508586A JP2006508586A JP4624988B2 JP 4624988 B2 JP4624988 B2 JP 4624988B2 JP 2006508586 A JP2006508586 A JP 2006508586A JP 2006508586 A JP2006508586 A JP 2006508586A JP 4624988 B2 JP4624988 B2 JP 4624988B2
- Authority
- JP
- Japan
- Prior art keywords
- operations
- scheduler
- instance
- detection unit
- microprocessor
- 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 13
- 230000015654 memory Effects 0.000 claims description 58
- 238000001514 detection method Methods 0.000 claims description 26
- 230000004044 response Effects 0.000 claims description 23
- 238000012795 verification Methods 0.000 claims description 6
- 230000011664 signaling Effects 0.000 claims description 2
- 238000012545 processing Methods 0.000 description 37
- 239000000872 buffer Substances 0.000 description 15
- 230000001419 dependent effect Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 230000007246 mechanism Effects 0.000 description 5
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 230000001427 coherent effect Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000000630 rising effect Effects 0.000 description 2
- 239000000523 sample Substances 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000003999 initiator Substances 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000000758 substrate Substances 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
- 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
-
- 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/383—Operand prefetching
-
- 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/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3842—Speculative 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/3854—Instruction completion, e.g. retiring, committing or graduating
- G06F9/3858—Result writeback, i.e. updating the architectural state or memory
-
- 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
- G06F9/38585—Result writeback, i.e. updating the architectural state or memory with result invalidation, e.g. nullification
-
- 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/3861—Recovery, e.g. branch miss-prediction, exception handling
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)
- Debugging And Monitoring (AREA)
- Control By Computers (AREA)
- Safety Devices In Control Systems (AREA)
Description
本発明は様々な変更や代替形態が可能であるが、本発明の個別の実施形態は、各図面において例示として示されたものであり、ここでは詳細に説明されている。しかしながら、ここで行われている実施形態の説明は、本発明を開示された特定の形態に限定することを意図するものではなく、逆に、本発明は、添付の特許請求の範囲により定義されるような本発明の精神や範囲の範疇であるすべての変更、等価物、及び代替物を含むものであることは理解すべきである。本明細書中の見出しは文章構成のためのものに過ぎず、本明細書の説明または特許請求の範囲を限定または解釈のために用いるべきものではないことに注意されたい。さらに、本明細書において用いられる「できる“may”」という用語は、許可的な意味合い(つまり、そのような可能性を持つ、または可能である)に用いられ、強制的な意味合いではない(つまり、must;しなければいけない)ことに注意すべきである。「include;含む」という用語およびその派生語は「含むが、それに限定されない」ことを意味する。「接続される」という用語は「直接的または間接的に接続される」ことを意味し、「結合される」という用語は「直接的または間接的に結合される」ことを意味する。
[データ推測]
[実行中のオペレーションをリプレイする]
[一般的なコンピュータシステム]
Claims (10)
- マイクロプロセッサ(100)であって、
各々がオペレーションを実行するように構成された1つ又はそれ以上のファンクショナルユニット(126)、
前記1つ又はそれ以上のファンクショナルユニット(126)のうちの1つで実行されるように複数のオペレーションの各々を発行するよう構成されたスケジューラ(118)を含み、前記スケジューラ(118)は、前記複数のオペレーションの各々に対して状態情報(606)を維持するように構成されており、前記状態情報(606)は関連するオペレーションが実行を完了しているかどうかを示すものであり、かつ、
前記複数のオペレーションのうちの1つのオペレーションをリプレイする必要があることを検出するように構成されたリプレイ検出ユニットを含み、
前記複数のオペレーションのうち前記1つのオペレーションがリプレイされる必要があることを検出するために、前記リプレイ検出ユニットは、前記複数のオペレーションのうちの1つがリプレイすべき他のもう一つのオペレーションに依存しているかを判定することが可能であるように構成されており、前記リプレイ検出ユニットは、前記複数のオペレーションのうちの前記1つのオペレーションがリプレイを必要とするものとして検出されたときに、前記複数のオペレーションのうちの前記1つのオペレーションのインスタンスが、前記1つ又はそれ以上のファンクショナルユニット(126)のうちの1つによって現在実行中である場合、前記複数のオペレーションのうちの前記1つのオペレーションの前記インスタンスの実行に応答して、前記複数のオペレーションのうちの前記1つのオペレーションに対して、前記状態情報(606)への更新を禁止するよう構成されている、マイクロプロセッサ(100)。 - 前記リプレイ検出ユニットは、前記オペレーションの前記インスタンスを実行中の前記ファンクショナルユニット(126)のうちの前記1つが前記オペレーションの前記インスタンスの完了を前記スケジューラ(118)に信号通知しないことによって、前記オペレーションのうちの前記1つのオペレーションに対して、前記状態情報(606)への更新を禁止するように構成される、請求項1記載のマイクロプロセッサ(100)。
- 前記リプレイ検出ユニットは、前記スケジューラが前記オペレーションのうちの前記1つのオペレーションに関連付けられたイシューカウントを修正することによって、前記オペレーションのうちの前記1つのオペレーションに対して、前記状態情報(606)への変更を禁止するように構成され、
前記イシューカウントは前記イシューされたオペレーションの数を示すものであり、
前記スケジューラ(118)は、前記オペレーションの前記イシューカウント(602)が前記オペレーションの前記インスタンスのイシューカウント(602)と一致しない場合は、前記オペレーションの前記インスタンスが完了したことに応答して、前記状態情報(606)を更新しないように構成される、請求項1記載のマイクロプロセッサ(100)。 - 前記複数のオペレーションのうちの前記1つのオペレーションに対するデータ推測が誤っていることを検出するデータ推測検証ユニットに応答して、前記スケジューラ(118)は、前記複数のオペレーションのうちの前記1つのオペレーションと関連付けられた前記状態情報(606)を、前記関連するオペレーションを再発行する必要があることを示すように更新するものとして構成される、請求項1記載のマイクロプロセッサ(100)。
- コンピュータシステム(900)であって、
メモリ(200)と、
前記メモリ(200)に結合されたプロセッサ(100)と、を含み、前記プロセッサ(100)は、各々がオペレーションを実行するように構成された1つ又はそれ以上のファンクショナルユニット(126)と、前記1つ又はそれ以上のファンクショナルユニット(126)により実行されるよう複数のオペレーションの各々を発行するように構成されたスケジューラ(118)と、前記複数のオペレーションのうちの前記1つのオペレーションをリプレイする必要があることを検出するように構成されたリプレイ検出ユニットと、を備え、
前記スケジューラ(118)は、前記複数のオペレーションの各々に対して状態情報(606)を維持するように構成され、前記状態情報(606)は、関連のオペレーションが実行を完了しているかどうかを示すものであり、
前記複数のオペレーションのうち前記1つのオペレーションがリプレイされる必要があることを検出するために、前記リプレイ検出ユニットは、前記複数のオペレーションのうちの1つがリプレイすべき他のもう一つのオペレーションに依存しているかを判定することが可能であるように構成されており、前記リプレイ検出ユニットは、前記複数のオペレーションのうちの前記1つのオペレーションがリプレイを必要とするものとして検出されたときに、前記複数のオペレーションのうちの前記1つのオペレーションのインスタンスが、前記1つ又はそれ以上のファンクショナルユニット(126)のうちの1つによって現在実行中である場合、前記複数のオペレーションのうちの前記1つのオペレーションの前記インスタンスの実行に応答して、前記複数のオペレーションのうちの前記1つのオペレーションに対して、前記状態情報(606)への更新を禁止するよう構成される、コンピュータシステム(900)。 - 前記リプレイ検出ユニットは、前記オペレーションの前記インスタンスを実行中の前記ファンクショナルユニット(126)のうちの前記1つのファンクショナルユニット(126)が前記オペレーションの前記インスタンスが完了したことを前記スケジューラ(118)に信号通知しないことによって、前記オペレーションのうちの前記1つのオペレーションに対して前記状態情報(606)への更新を禁止するように構成される、請求項5記載のコンピュータシステム(900)。
- 前記リプレイ検出ユニットは、前記オペレーションのうちの前記1つのオペレーションに関連付けられたイシューカウント(602)を前記スケジューラ(118)が修正することによって、前記オペレーションのうちの前記1つのオペレーションに対する前記状態情報(606)への更新を禁止するように構成されており、
前記イシューカウントは前記イシューされたオペレーションの数を示すものであり、
前記スケジューラ(118)は、前記オペレーションの前記イシューカウント(602)が前記オペレーションの前記インスタンスのイシューカウント(602)と一致しない場合は、前記オペレーションの前記インスタンスが完了したことに応答して、前記状態情報(606)の更新を禁止するように構成されている、請求項5記載のコンピュータシステム(900)。 - スケジューラ(118)が、オペレーション実行するよう構成されたファンクショナルユニット(126)によって、実行のためにオペレーションのインスタンスを発行するステップを有し、前記スケジューラ(118)は、オペレーションの間状態情報(606)を維持し、前記状態情報(606)は、前記オペレーションが実行が完了しているかどうかを示すものであり、
前記発行ステップに続いて、前記スケジューラ(118)が、リプレイ検出ユニットから、前記オペレーションをリプレイする必要があるという指示を受信するステップを有し、前記オペレーションがリプレイされる必要があることを検出するために、前記リプレイ検出ユニットは、前記オペレーションが、リプレイすべき他のもう一つのオペレーションに依存しているかを判定するものであり、
前記受信ステップに続いて、前記スケジューラ(118)が、前記オペレーションがリプレイする必要があるとして検出されたときに前記オペレーションがの前記インスタンスが前記ファンクショナルユニット(126)によって現在実行中である場合に、前記オペレーションの前記インスタンスの実行に応答して、前記スケジューラ(118)のオペレーションの状態情報(606)への更新を禁止するステップを有する、方法。 - 前記禁止ステップは、前記オペレーションの前記インスタンスを実行中のファンクショナルユニット(126)が、前記スケジューラ(118)へ前記オペレーションの前記インスタンスが完了したことを信号通知しないことを含む、請求項8記載の方法。
- 前記禁止ステップは、
前記スケジューラ(118)が、前記オペレーションはリプレイされる必要があるという指示の受信に応答して、前記オペレーションに関連付けられたイシューカウント(602)を修正するステップを有し、前記イシューカウントは前記イシューされたオペレーションの数を示すものであり、
前記スケジューラ(118)が、前記オペレーションの前記イシューカウント(602)が前記オペレーションの前記インスタンスのイシューカウントと一致しない場合は、前記オペレーションの前記インスタンスが完了したことに応答して、前記オペレーションに関連付けられた前記状態情報(606)を更新しないステップを有する、請求項8記載の方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/429,082 US7363470B2 (en) | 2003-05-02 | 2003-05-02 | System and method to prevent in-flight instances of operations from disrupting operation replay within a data-speculative microprocessor |
PCT/US2004/000482 WO2004099977A2 (en) | 2003-05-02 | 2004-01-09 | System and method for operation replay within a data-speculative microprocessor |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006525594A JP2006525594A (ja) | 2006-11-09 |
JP4624988B2 true JP4624988B2 (ja) | 2011-02-02 |
Family
ID=33310540
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006508586A Expired - Lifetime JP4624988B2 (ja) | 2003-05-02 | 2004-01-09 | データ推測マイクロプロセッサにおいて実行中のオペレーションのインスタンスがオペレーションのリプレイの割込みを防ぐためのシステム及び方法 |
Country Status (8)
Country | Link |
---|---|
US (1) | US7363470B2 (ja) |
JP (1) | JP4624988B2 (ja) |
KR (1) | KR101056820B1 (ja) |
CN (1) | CN100432924C (ja) |
DE (1) | DE112004000736T5 (ja) |
GB (1) | GB2417113B (ja) |
TW (1) | TWI338249B (ja) |
WO (1) | WO2004099977A2 (ja) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7266673B2 (en) * | 2003-05-02 | 2007-09-04 | Advanced Micro Devices, Inc. | Speculation pointers to identify data-speculative operations in microprocessor |
US7363470B2 (en) * | 2003-05-02 | 2008-04-22 | Advanced Micro Devices, Inc. | System and method to prevent in-flight instances of operations from disrupting operation replay within a data-speculative microprocessor |
DE102008042356A1 (de) | 2008-09-25 | 2010-04-08 | Carl Zeiss Smt Ag | Projektionsbelichtungsanlage mit optimierter Justagemöglichkeit |
US10152329B2 (en) * | 2012-02-09 | 2018-12-11 | Nvidia Corporation | Pre-scheduled replays of divergent operations |
US9384002B2 (en) * | 2012-11-16 | 2016-07-05 | International Business Machines Corporation | Speculative finish of instruction execution in a processor core |
US10061589B2 (en) | 2014-12-24 | 2018-08-28 | Intel Corporation | Systems, apparatuses, and methods for data speculation execution |
US10942744B2 (en) * | 2014-12-24 | 2021-03-09 | Intel Corporation | Systems, apparatuses, and methods for data speculation execution |
US9785442B2 (en) | 2014-12-24 | 2017-10-10 | Intel Corporation | Systems, apparatuses, and methods for data speculation execution |
US10061583B2 (en) | 2014-12-24 | 2018-08-28 | Intel Corporation | Systems, apparatuses, and methods for data speculation execution |
US20160357556A1 (en) * | 2014-12-24 | 2016-12-08 | Elmoustapha Ould-Ahmed-Vall | Systems, apparatuses, and methods for data speculation execution |
US10387156B2 (en) | 2014-12-24 | 2019-08-20 | Intel Corporation | Systems, apparatuses, and methods for data speculation execution |
US10387158B2 (en) | 2014-12-24 | 2019-08-20 | Intel Corporation | Systems, apparatuses, and methods for data speculation execution |
US10303525B2 (en) | 2014-12-24 | 2019-05-28 | Intel Corporation | Systems, apparatuses, and methods for data speculation execution |
CN108279928B (zh) * | 2018-01-30 | 2021-03-19 | 上海兆芯集成电路有限公司 | 微指令调度方法及使用此方法的装置 |
CN108415730B (zh) * | 2018-01-30 | 2021-06-01 | 上海兆芯集成电路有限公司 | 微指令调度方法及使用此方法的装置 |
JP2023539955A (ja) * | 2020-08-28 | 2023-09-20 | ディープ ヴィジョン インコーポレイテッド | スケジューリングされた並列プロセスの実行中にデータ転送帯域幅を増加させるためのプロセッサシステムおよび方法 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6735688B1 (en) * | 1996-11-13 | 2004-05-11 | Intel Corporation | Processor having replay architecture with fast and slow replay paths |
US5966544A (en) * | 1996-11-13 | 1999-10-12 | Intel Corporation | Data speculatable processor having reply architecture |
US6212626B1 (en) | 1996-11-13 | 2001-04-03 | Intel Corporation | Computer processor having a checker |
US6665792B1 (en) * | 1996-11-13 | 2003-12-16 | Intel Corporation | Interface to a memory system for a processor having a replay system |
JPH11259295A (ja) * | 1998-03-10 | 1999-09-24 | Toshiba Corp | プロセッサの命令スケジューリング装置 |
US6094717A (en) * | 1998-07-31 | 2000-07-25 | Intel Corp. | Computer processor with a replay system having a plurality of checkers |
US6877086B1 (en) | 2000-11-02 | 2005-04-05 | Intel Corporation | Method and apparatus for rescheduling multiple micro-operations in a processor using a replay queue and a counter |
US6981129B1 (en) * | 2000-11-02 | 2005-12-27 | Intel Corporation | Breaking replay dependency loops in a processor using a rescheduled replay queue |
US6725338B2 (en) * | 2000-11-21 | 2004-04-20 | Sun Microsystems, Inc. | Method and apparatus for preventing cache pollution in microprocessors with speculative address loads |
US6880073B2 (en) * | 2000-12-28 | 2005-04-12 | International Business Machines Corporation | Speculative execution of instructions and processes before completion of preceding barrier operations |
WO2004001527A2 (en) * | 2001-06-26 | 2003-12-31 | Sun Microsystems, Inc. | Method and apparatus for facilitating speculative loads in a multiprocessor system |
JP4050225B2 (ja) * | 2001-06-26 | 2008-02-20 | サン・マイクロシステムズ・インコーポレイテッド | マルチプロセッサシステムにおける推測的な格納を容易にする方法および装置 |
US6976152B2 (en) * | 2001-09-24 | 2005-12-13 | Broadcom Corporation | Comparing operands of instructions against a replay scoreboard to detect an instruction replay and copying a replay scoreboard to an issue scoreboard |
US6952764B2 (en) * | 2001-12-31 | 2005-10-04 | Intel Corporation | Stopping replay tornadoes |
US20040078558A1 (en) * | 2002-03-25 | 2004-04-22 | Sprangle Eric A. | Method and apparatus to process instructions in a processor |
US7363470B2 (en) | 2003-05-02 | 2008-04-22 | Advanced Micro Devices, Inc. | System and method to prevent in-flight instances of operations from disrupting operation replay within a data-speculative microprocessor |
-
2003
- 2003-05-02 US US10/429,082 patent/US7363470B2/en active Active
-
2004
- 2004-01-09 GB GB0521712A patent/GB2417113B/en not_active Expired - Lifetime
- 2004-01-09 JP JP2006508586A patent/JP4624988B2/ja not_active Expired - Lifetime
- 2004-01-09 KR KR1020057020867A patent/KR101056820B1/ko active IP Right Grant
- 2004-01-09 CN CNB2004800119496A patent/CN100432924C/zh not_active Expired - Lifetime
- 2004-01-09 DE DE112004000736T patent/DE112004000736T5/de not_active Ceased
- 2004-01-09 WO PCT/US2004/000482 patent/WO2004099977A2/en active Application Filing
- 2004-03-04 TW TW093105660A patent/TWI338249B/zh not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
GB0521712D0 (en) | 2005-11-30 |
US20040221139A1 (en) | 2004-11-04 |
WO2004099977A3 (en) | 2005-09-22 |
TWI338249B (en) | 2011-03-01 |
KR20060009888A (ko) | 2006-02-01 |
KR101056820B1 (ko) | 2011-08-16 |
CN1784655A (zh) | 2006-06-07 |
WO2004099977A2 (en) | 2004-11-18 |
DE112004000736T5 (de) | 2006-05-18 |
GB2417113B (en) | 2006-10-04 |
TW200506715A (en) | 2005-02-16 |
CN100432924C (zh) | 2008-11-12 |
JP2006525594A (ja) | 2006-11-09 |
GB2417113A (en) | 2006-02-15 |
US7363470B2 (en) | 2008-04-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5294632B2 (ja) | 読出しが以前の書込みに依存しているかどうかを予測する依存性メカニズムを備えたプロセッサ | |
JP4105684B2 (ja) | ロード操作の推測結果をレジスタ値にリンクするためのシステムおよび方法 | |
JP4170292B2 (ja) | データの投機的実行をサポートするマイクロプロセッサで用いるスケジューラ | |
JP4538462B2 (ja) | 二重用途レジスタを識別しているアドレス指定パターンに基づいたデータ投機 | |
US7263600B2 (en) | System and method for validating a memory file that links speculative results of load operations to register values | |
US7133969B2 (en) | System and method for handling exceptional instructions in a trace cache based processor | |
JP3866261B2 (ja) | ロード/ストア操作をバイパスするために投機的ソースオペランドを使用するシステムおよび方法 | |
JP5091481B2 (ja) | リプレイ機構を備えた読み出し/書き込みユニット | |
JP4624988B2 (ja) | データ推測マイクロプロセッサにおいて実行中のオペレーションのインスタンスがオペレーションのリプレイの割込みを防ぐためのシステム及び方法 | |
JP4745960B2 (ja) | マイクロプロセッサにおいてデータ推測オペレーションを識別する推測ポインタ | |
US7222226B1 (en) | System and method for modifying a load operation to include a register-to-register move operation in order to forward speculative load results to a dependent operation | |
KR20070019750A (ko) | 로드 동작의 투기적인 결과들을 레지스터 값들에 연결하는메모리 파일을 유효화하기 위한 시스템 및 그 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070104 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090901 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100105 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20100405 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20100412 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20100506 |
|
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: 20100531 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20100714 |
|
RD05 | Notification of revocation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7425 Effective date: 20100902 |
|
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: 20101006 |
|
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: 20101104 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 4624988 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131112 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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |