JP2005532614A - ロード/ストア操作をバイパスするために投機的ソースオペランドを使用するシステムおよび方法 - Google Patents
ロード/ストア操作をバイパスするために投機的ソースオペランドを使用するシステムおよび方法 Download PDFInfo
- Publication number
- JP2005532614A JP2005532614A JP2004502139A JP2004502139A JP2005532614A JP 2005532614 A JP2005532614 A JP 2005532614A JP 2004502139 A JP2004502139 A JP 2004502139A JP 2004502139 A JP2004502139 A JP 2004502139A JP 2005532614 A JP2005532614 A JP 2005532614A
- Authority
- JP
- Japan
- Prior art keywords
- tag
- speculative
- operand
- register
- load
- 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 description 14
- 230000004044 response Effects 0.000 claims abstract description 41
- 230000015654 memory Effects 0.000 claims description 132
- 238000012545 processing Methods 0.000 description 37
- 230000001419 dependent effect Effects 0.000 description 24
- 239000000872 buffer Substances 0.000 description 16
- 238000010586 diagram Methods 0.000 description 11
- 238000004364 calculation method Methods 0.000 description 9
- 238000006073 displacement reaction Methods 0.000 description 8
- 230000009977 dual effect Effects 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 230000001427 coherent effect Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 4
- 238000013507 mapping Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 238000001514 detection method Methods 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 238000006243 chemical reaction Methods 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
- 230000009471 action Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000002146 bilateral effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000013461 design 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
- 230000008707 rearrangement Effects 0.000 description 1
- 238000011084 recovery Methods 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
- 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/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
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)
Abstract
Description
本発明は様々な変更や代替形態が可能であるが、本発明の個別の実施形態は、各図面において例示として示されたものであり、ここでは詳細に説明されている。しかしながら、ここで行われている実施形態の説明は、本発明を開示された特定の形態に限定することを意図するものではなく、逆に、本発明は、添付の特許請求の範囲により定義されるような本発明の精神や範囲の範疇であるすべての変更、均等物、及び代替物を含むものであることは理解すべきである。本明細書中の見出しは文章構成のためのものに過ぎず、本明細書の説明または特許請求の範囲を限定または解釈のために用いるべきものではないことに注意されたい。さらに、本明細書において用いられる「できる」という用語は、許可的な意味合い(つまり、そのような可能性を持つ、または可能である)に用いられ、強制的な意味合いではない(つまり、しなければいけない)ことに注意すべきである。「含む」という用語およびその派生語は「含むが、それに限定されない」ことを意味する。「接続される」という用語は「直接的または間接的に接続される」ことを意味し、「結合される」という用語は「直接的または間接的に結合される」ことを意味する。
MOVE EBX,[EDX+EAX−変位A] (ロード1)
MOVE ECX,[EDX+EAX−変位A] (ロード2)
MOVE[EDX+EAX−変位A],EAX (ストア1)
これらの操作のそれぞれはプログラム順序における1以上の介在操作によって分離することができる。図示するように、これら3つの操作のそれぞれは、EDX+EAX−変位Aという同じアドレッシングパターンを含む。
ADD EBX,EBX (加算1)
MOVE [アドレッシングパターンA],EBX (ストア1)
ADD [アドレッシングパターンA],ECX (加算2)
を含む。
これらの命令は隣接した命令であってもよい(例えば、プログラムの順番においてそれらが相互に連続していてもよい)。これらの命令は、実行コア124での実行のために、次の要素の操作に分離することができる(物理アドレスに変換された論理アドレスとともに示す)。
ADD PR2,PR2,PR1 (加算1)
MOVE[アドレッシングパターンA],PR2 (ストア1)
MOV PR3,[アドレッシングパターンA] (加算1へのロード)
ADD PR4,PR3,PR5 (加算2への加算)
MOV[アドレッシングパターンA],PR4 (加算2に対するストア)
要素ロード、加算(add)および加算2のストア操作が発送される前に、ディスパッチユニット104は推測結果へのリンクを許しうるシーケンス中のいずれかの要素操作相互になんらかの依存性がないかを検出することができる。さらに、ストア1によって記憶されたデータはロードの推測結果に結びつけることができる(例えば、メモリファイルによって)。介在する操作が存在しないので、ディスパッチユニットは、同じ発送サイクルにおけるロード操作と加算操作(両方の操作は同じ命令から導かれる)の間の依存性を検出するのに必要なすべての情報を持つことができる。これら2つの依存性に基づいて、ディスパッチユニット104はストア1、PR2によって記憶されたデータのタグを加算2の一部として実行されたロード操作の推測結果に結びつけることができる。それによって、この推測リンクは、ディスパッチユニットが加算2の一部として実行された加算演算のソースをPR2で記憶された値に結びつけることを可能にする。従って、ディスパッチユニットは、PR2がその加算のためのオペランドの一つのソースとして投機的に用いられていること、しかしそのPR3はそのオペランドに対しては非推測ソースであることの表示を出力することができる。従って、一実施形態では、ディスパッチユニットから出力される操作およびオペランド識別子は次のように指定される。
ADD PR2,PR2,PR1 (加算1)
MOV[アドレッシングパターンA],PR2 (ストア1)
MOV PR3,[アドレッシングパターンA] (加算2のためのロード)
ADD PR4,PR2*,PR3,PR5 (加算2についての加算、PR2はECXについての推測ソース、PR3はECXについての非推測ソース)
MOV[アドレッシングパターンA],PR4 (加算2についての記憶)
ADD PR2,PR1,PR1 (加算1)
STORE[アドレッシングパターンA],PR2 (ストア1)
LOAD PR3,[アドレッシングパターンA] (ロード1)
ADD PR4,PR3,PR3 (加算2)
このシーケンスでは、指定された操作を1以上の介在操作によって分離することが可能である。しかしながら、どの介在操作もアドレッシングパターンAにおいて使用される値を変更せず、またはアドレッシングパターンAから計算されたアドレスおよびPR2に記憶されているデータ値を変更しないことが明らかであると仮定すると、PR2に記憶されているデータ値とアドレッシングパターンAから計算されたアドレスに記憶されたデータ値との間に推測リンクが検出される。
Claims (9)
- 操作に割り当てられたエントリ(522)を含むスケジューラ(118)であって、前記エントリは非推測タグ(512)と推測タグ(514)とを含み、前記非推測タグおよび推測タグの両方は前記操作の第1オペランドに関連づけられ、推測タグによって指定されたデータ値が利用可能になるのに応答して、前記操作を発行するように構成されているスケジューラと、
前記スケジューラに結合され、前記推測タグによって指定されたデータ値を用いて前記操作を実行するように構成された実行コア(124)とを備え、
前記スケジューラは前記非推測タグが結果バス(130)に現れたならば前記操作を再発行するように構成される、マイクロプロセッサ(100)。 - レジスタマップ(134)および推測レジスタマップ(800)を含むディスパッチユニット(104)をさらに備え、前記レジスタマップは前記第1オペランドの論理レジスタ識別子の受信に応答して非推測タグを出力し、前記推測レジスタマップは前記第1オペランドの論理レジスタ識別子の受信に応答して前記推測タグを出力する、請求項1記載のマイクロプロセッサ。
- 前記推測レジスタマップは、ロード操作の推測結果が前記推測タグによって指定されるデータ値にリンクされているとの表示に応答して、前記推測タグを前記第1論理レジスタ識別子に関連づけるように構成され、前記ロード操作の結果は前記第1論理レジスタ識別子によって指定される、請求項2記載のマイクロプロセッサ。
- 前記ディスパッチユニットは、前記ロード操作の推測結果が前記推測タグによって指定されるデータ値にリンクされているとの表示を生成するように構成されたメモリファイル(132)を含む、請求項3記載のマイクロプロセッサ。
- 前記推測レジスタマップは、前記第1論理レジスタ識別子によって指定される目的オペランドおよびソースオペランドを持つ条件MOVE操作に応答して、前記推測タグを前記第1論理レジスタ識別子に関連づけるように構成され、前記ソースオペランドの現在値は前記推測タグによって指定される、請求項2記載のマイクロプロセッサ。
- 第1命令に含まれる操作にデータ依存性を検出するのに応答して、前記推測タグと前記非推測タグとをスケジューラに供給するように構成されたディスパッチユニットをさらに備え、前記操作の最初はロード操作であり、前記ロード操作の目的オペランドは前記非推測タグによって指定され、前記ディスパッチユニットは前記ロード操作の推測結果と前記推測タグによって指定されたデータ値との間のリンクを検出するようにさらに構成され、前記操作は前記第1命令中に含まれる前記操作に含まれ、前記ロード操作に依存する、請求項1記載のマイクロプロセッサ。
- 前記スケジューラは、他の発行されていない操作のどれもそれらの利用可能な非推測オペランドのすべてを持っていないことを条件に、前記推測タグによって指定されるデータ値が利用可能になるのに応答して、前記操作を発行するように構成されている、請求項1記載のマイクロプロセッサ。
- 操作の第1ソースオペランドに対して非推測オペランドタグを提供するように構成された非推測レジスタマップ(134)と、
前記操作の前記第1ソースオペランドに対して推測オペランドタグを提供するように構成された推測レジスタマップ(800)と、
前記推測レジスタマップに結合されたスケジューラ(118)とを備え、
前記スケジューラは前記操作に割り当てられたエントリを含み、前記エントリは前記推測オペランドタグと前記オペランドに対する前記非推測オペランドタグとを含み、前記スケジューラは前記推測オペランドタグを用いた実行のために前記操作を発行するように構成されている、マイクロプロセッサ(100)。 - 推測オペランドタグによって指定される第1データ値が利用可能になるのに応答して、操作を発行するステップと、
非推測オペランドタグによって指定される第2データ値を用いる代わりに、前記第1データ値を用いて、前記操作を実行するステップと、
結果バス上で非推測オペランドタグをブロードキャストするステップと、
前記ブロードキャストに応答して、前記操作を再発行するステップと、
前記再発行に応答して、前記非推測オペランドタグによって指定される前記第2データ値を用いて前記操作を実行するステップとを含む方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/135,497 US6845442B1 (en) | 2002-04-30 | 2002-04-30 | System and method of using speculative operand sources in order to speculatively bypass load-store operations |
PCT/US2002/041716 WO2003093983A1 (en) | 2002-04-30 | 2002-12-20 | System and method of using speculative source operands in order to bypass load/store operations |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2005532614A true JP2005532614A (ja) | 2005-10-27 |
JP2005532614A5 JP2005532614A5 (ja) | 2006-08-24 |
JP3866261B2 JP3866261B2 (ja) | 2007-01-10 |
Family
ID=29399220
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004502139A Expired - Fee Related JP3866261B2 (ja) | 2002-04-30 | 2002-12-20 | ロード/ストア操作をバイパスするために投機的ソースオペランドを使用するシステムおよび方法 |
Country Status (8)
Country | Link |
---|---|
US (1) | US6845442B1 (ja) |
EP (1) | EP1499958A1 (ja) |
JP (1) | JP3866261B2 (ja) |
KR (1) | KR100953207B1 (ja) |
CN (1) | CN1310136C (ja) |
AU (1) | AU2002359880A1 (ja) |
TW (1) | TWI289786B (ja) |
WO (1) | WO2003093983A1 (ja) |
Families Citing this family (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040044881A1 (en) * | 2002-08-28 | 2004-03-04 | Sun Microsystems, Inc. | Method and system for early speculative store-load bypass |
US6950925B1 (en) | 2002-08-28 | 2005-09-27 | Advanced Micro Devices, Inc. | Scheduler for use in a microprocessor that supports data-speculative execution |
JP3602840B2 (ja) * | 2002-10-22 | 2004-12-15 | 株式会社東芝 | 命令の投機的実行制御装置およびその方法 |
US7937569B1 (en) | 2004-05-05 | 2011-05-03 | Advanced Micro Devices, Inc. | System and method for scheduling operations using speculative data operands |
US7624253B2 (en) * | 2006-10-25 | 2009-11-24 | Arm Limited | Determining register availability for register renaming |
US7822951B2 (en) * | 2007-08-01 | 2010-10-26 | Advanced Micro Devices, Inc. | System and method of load-store forwarding |
US8533438B2 (en) * | 2009-08-12 | 2013-09-10 | Via Technologies, Inc. | Store-to-load forwarding based on load/store address computation source information comparisons |
WO2013014779A1 (ja) * | 2011-07-27 | 2013-01-31 | 富士通株式会社 | 電子装置、デバイスアクセス方法、およびプログラム |
US8825933B2 (en) * | 2011-11-30 | 2014-09-02 | Andes Technology Corporation | Bus apparatus with default speculative transactions and non-speculative extension |
US9384002B2 (en) * | 2012-11-16 | 2016-07-05 | International Business Machines Corporation | Speculative finish of instruction execution in a processor core |
US10942744B2 (en) | 2014-12-24 | 2021-03-09 | 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 |
US20160357556A1 (en) * | 2014-12-24 | 2016-12-08 | Elmoustapha Ould-Ahmed-Vall | 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 |
US10061589B2 (en) | 2014-12-24 | 2018-08-28 | 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 |
US10387156B2 (en) | 2014-12-24 | 2019-08-20 | 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 |
US10884745B2 (en) | 2017-08-18 | 2021-01-05 | International Business Machines Corporation | Providing a predicted target address to multiple locations based on detecting an affiliated relationship |
US11150908B2 (en) | 2017-08-18 | 2021-10-19 | International Business Machines Corporation | Dynamic fusion of derived value creation and prediction of derived values in a subroutine branch sequence |
US10884746B2 (en) | 2017-08-18 | 2021-01-05 | International Business Machines Corporation | Determining and predicting affiliated registers based on dynamic runtime control flow analysis |
US10908911B2 (en) | 2017-08-18 | 2021-02-02 | International Business Machines Corporation | Predicting and storing a predicted target address in a plurality of selected locations |
US10534609B2 (en) | 2017-08-18 | 2020-01-14 | International Business Machines Corporation | Code-specific affiliated register prediction |
US10884747B2 (en) | 2017-08-18 | 2021-01-05 | International Business Machines Corporation | Prediction of an affiliated register |
US11150904B2 (en) | 2017-08-18 | 2021-10-19 | International Business Machines Corporation | Concurrent prediction of branch addresses and update of register contents |
US10719328B2 (en) | 2017-08-18 | 2020-07-21 | International Business Machines Corporation | Determining and predicting derived values used in register-indirect branching |
US11061575B2 (en) | 2017-09-19 | 2021-07-13 | International Business Machines Corporation | Read-only table of contents register |
US10620955B2 (en) | 2017-09-19 | 2020-04-14 | International Business Machines Corporation | Predicting a table of contents pointer value responsive to branching to a subroutine |
US10884929B2 (en) | 2017-09-19 | 2021-01-05 | International Business Machines Corporation | Set table of contents (TOC) register instruction |
US10713050B2 (en) | 2017-09-19 | 2020-07-14 | International Business Machines Corporation | Replacing Table of Contents (TOC)-setting instructions in code with TOC predicting instructions |
US10896030B2 (en) | 2017-09-19 | 2021-01-19 | International Business Machines Corporation | Code generation relating to providing table of contents pointer values |
US10725918B2 (en) | 2017-09-19 | 2020-07-28 | International Business Machines Corporation | Table of contents cache entry having a pointer for a range of addresses |
US10705973B2 (en) | 2017-09-19 | 2020-07-07 | International Business Machines Corporation | Initializing a data structure for use in predicting table of contents pointer values |
US10620961B2 (en) * | 2018-03-30 | 2020-04-14 | Intel Corporation | Apparatus and method for speculative conditional move operation |
KR20230158257A (ko) * | 2022-05-11 | 2023-11-20 | 서울시립대학교 산학협력단 | 명령어를 처리하는 방법 및 이를 위한 프로세서 모듈 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US624986A (en) * | 1899-05-16 | Adolf sengel | ||
US5778219A (en) * | 1990-12-14 | 1998-07-07 | Hewlett-Packard Company | Method and system for propagating exception status in data registers and for detecting exceptions from speculative operations with non-speculative operations |
US5428807A (en) | 1993-06-17 | 1995-06-27 | Digital Equipment Corporation | Method and apparatus for propagating exception conditions of a computer system |
US5584009A (en) * | 1993-10-18 | 1996-12-10 | Cyrix Corporation | System and method of retiring store data from a write buffer |
US5452426A (en) | 1994-01-04 | 1995-09-19 | Intel Corporation | Coordinating speculative and committed state register source data and immediate source data in a processor |
US6237082B1 (en) * | 1995-01-25 | 2001-05-22 | Advanced Micro Devices, Inc. | Reorder buffer configured to allocate storage for instruction results corresponding to predefined maximum number of concurrently receivable instructions independent of a number of instructions received |
US6108769A (en) | 1996-05-17 | 2000-08-22 | Advanced Micro Devices, Inc. | Dependency table for reducing dependency checking hardware |
US5781752A (en) | 1996-12-26 | 1998-07-14 | Wisconsin Alumni Research Foundation | Table based data speculation circuit for parallel processing computer |
US6065103A (en) | 1997-12-16 | 2000-05-16 | Advanced Micro Devices, Inc. | Speculative store buffer |
US6112296A (en) * | 1997-12-18 | 2000-08-29 | Advanced Micro Devices, Inc. | Floating point stack manipulation using a register map and speculative top of stack values |
US6175910B1 (en) | 1997-12-19 | 2001-01-16 | International Business Machines Corportion | Speculative instructions exection in VLIW processors |
US6108770A (en) | 1998-06-24 | 2000-08-22 | Digital Equipment Corporation | Method and apparatus for predicting memory dependence using store sets |
US6463580B1 (en) | 1998-11-18 | 2002-10-08 | Intel Corporation | Parallel processing utilizing highly correlated data values |
US6662280B1 (en) | 1999-11-10 | 2003-12-09 | Advanced Micro Devices, Inc. | Store buffer which forwards data based on index and optional way match |
US6643767B1 (en) * | 2000-01-27 | 2003-11-04 | Kabushiki Kaisha Toshiba | Instruction scheduling system of a processor |
-
2002
- 2002-04-30 US US10/135,497 patent/US6845442B1/en not_active Expired - Fee Related
- 2002-12-20 KR KR1020047017544A patent/KR100953207B1/ko not_active IP Right Cessation
- 2002-12-20 JP JP2004502139A patent/JP3866261B2/ja not_active Expired - Fee Related
- 2002-12-20 WO PCT/US2002/041716 patent/WO2003093983A1/en active Application Filing
- 2002-12-20 CN CNB028288491A patent/CN1310136C/zh not_active Expired - Fee Related
- 2002-12-20 EP EP02794447A patent/EP1499958A1/en not_active Withdrawn
- 2002-12-20 AU AU2002359880A patent/AU2002359880A1/en not_active Abandoned
-
2003
- 2003-04-04 TW TW092107697A patent/TWI289786B/zh not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
JP3866261B2 (ja) | 2007-01-10 |
KR100953207B1 (ko) | 2010-04-15 |
KR20040111566A (ko) | 2004-12-31 |
US6845442B1 (en) | 2005-01-18 |
EP1499958A1 (en) | 2005-01-26 |
TW200402001A (en) | 2004-02-01 |
CN1625732A (zh) | 2005-06-08 |
TWI289786B (en) | 2007-11-11 |
CN1310136C (zh) | 2007-04-11 |
AU2002359880A1 (en) | 2003-11-17 |
WO2003093983A1 (en) | 2003-11-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4105684B2 (ja) | ロード操作の推測結果をレジスタ値にリンクするためのシステムおよび方法 | |
JP3866261B2 (ja) | ロード/ストア操作をバイパスするために投機的ソースオペランドを使用するシステムおよび方法 | |
US7263600B2 (en) | System and method for validating a memory file that links speculative results of load operations to register values | |
US7415597B2 (en) | Processor with dependence mechanism to predict whether a load is dependent on older store | |
US6950925B1 (en) | Scheduler for use in a microprocessor that supports data-speculative execution | |
US7024537B2 (en) | Data speculation based on addressing patterns identifying dual-purpose register | |
US7089400B1 (en) | Data speculation based on stack-relative addressing patterns | |
US7165167B2 (en) | Load store unit with replay mechanism | |
US7363470B2 (en) | System and method to prevent in-flight instances of operations from disrupting operation replay within a data-speculative microprocessor | |
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 | |
US7937569B1 (en) | System and method for scheduling operations using speculative data operands | |
US7266673B2 (en) | Speculation pointers to identify data-speculative operations in microprocessor | |
KR20070019750A (ko) | 로드 동작의 투기적인 결과들을 레지스터 값들에 연결하는메모리 파일을 유효화하기 위한 시스템 및 그 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20051214 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060706 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060919 |
|
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: 20060926 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20061004 |
|
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: 20091013 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101013 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111013 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |