TWI352311B - Microprocessors, computer systems and methods for - Google Patents
Microprocessors, computer systems and methods for Download PDFInfo
- Publication number
- TWI352311B TWI352311B TW093116092A TW93116092A TWI352311B TW I352311 B TWI352311 B TW I352311B TW 093116092 A TW093116092 A TW 093116092A TW 93116092 A TW93116092 A TW 93116092A TW I352311 B TWI352311 B TW I352311B
- Authority
- TW
- Taiwan
- Prior art keywords
- storage unit
- address
- memory
- data
- prediction
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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
- G06F9/3832—Value prediction for operands; operand history buffers
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/3834—Maintaining memory consistency
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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)
- Memory System Of A Hierarchy Structure (AREA)
- Investigating Or Analysing Biological Materials (AREA)
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US10/458,457 US7165167B2 (en) | 2003-06-10 | 2003-06-10 | Load store unit with replay mechanism |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TW200508964A TW200508964A (en) | 2005-03-01 |
| TWI352311B true TWI352311B (en) | 2011-11-11 |
Family
ID=33510583
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW093116092A TWI352311B (en) | 2003-06-10 | 2004-06-04 | Microprocessors, computer systems and methods for |
Country Status (8)
| Country | Link |
|---|---|
| US (1) | US7165167B2 (enExample) |
| EP (1) | EP1644823B1 (enExample) |
| JP (1) | JP5091481B2 (enExample) |
| KR (1) | KR101093784B1 (enExample) |
| CN (1) | CN100367196C (enExample) |
| DE (1) | DE602004010265T2 (enExample) |
| TW (1) | TWI352311B (enExample) |
| WO (1) | WO2004111839A1 (enExample) |
Families Citing this family (18)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20050228971A1 (en) * | 2004-04-08 | 2005-10-13 | Samra Nicholas G | Buffer virtualization |
| US7415597B2 (en) * | 2004-09-08 | 2008-08-19 | Advanced Micro Devices, Inc. | Processor with dependence mechanism to predict whether a load is dependent on older store |
| US20100070730A1 (en) * | 2008-09-17 | 2010-03-18 | Sebastian Pop | Minimizing memory access conflicts of process communication channels |
| US9996348B2 (en) * | 2012-06-14 | 2018-06-12 | Apple Inc. | Zero cycle load |
| CN103744800B (zh) * | 2013-12-30 | 2016-09-14 | 龙芯中科技术有限公司 | 面向重放机制的缓存操作方法及装置 |
| US11068271B2 (en) | 2014-07-28 | 2021-07-20 | Apple Inc. | Zero cycle move using free list counts |
| WO2016097791A1 (en) * | 2014-12-14 | 2016-06-23 | Via Alliance Semiconductor Co., Ltd. | Apparatus and method for programmable load replay preclusion |
| US9645827B2 (en) * | 2014-12-14 | 2017-05-09 | Via Alliance Semiconductor Co., Ltd. | Mechanism to preclude load replays dependent on page walks in an out-of-order processor |
| US10387320B2 (en) * | 2017-05-12 | 2019-08-20 | Samsung Electronics Co., Ltd. | Integrated confirmation queues |
| US10606603B1 (en) * | 2019-04-08 | 2020-03-31 | Ye Tao | Methods and apparatus for facilitating a memory mis-speculation recovery |
| US11200062B2 (en) | 2019-08-26 | 2021-12-14 | Apple Inc. | History file for previous register mapping storage and last reference indication |
| US10983801B2 (en) * | 2019-09-06 | 2021-04-20 | Apple Inc. | Load/store ordering violation management |
| US11416254B2 (en) | 2019-12-05 | 2022-08-16 | Apple Inc. | Zero cycle load bypass in a decode group |
| US11615043B2 (en) | 2020-01-02 | 2023-03-28 | Texas Instruments Incorporated | Systems, methods, and apparatus to enable data aggregation and adaptation in hardware acceleration subsystems |
| US11360773B2 (en) | 2020-06-22 | 2022-06-14 | Microsoft Technology Licensing, Llc | Reusing fetched, flushed instructions after an instruction pipeline flush in response to a hazard in a processor to reduce instruction re-fetching |
| US11074077B1 (en) * | 2020-06-25 | 2021-07-27 | Microsoft Technology Licensing, Llc | Reusing executed, flushed instructions after an instruction pipeline flush in response to a hazard in a processor to reduce instruction re-execution |
| US11175917B1 (en) | 2020-09-11 | 2021-11-16 | Apple Inc. | Buffer for replayed loads in parallel with reservation station for rapid rescheduling |
| US11983538B2 (en) * | 2022-04-18 | 2024-05-14 | Cadence Design Systems, Inc. | Load-store unit dual tags and replays |
Family Cites Families (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5581719A (en) * | 1992-11-12 | 1996-12-03 | Digital Equipment Corporation | Multiple block line prediction |
| US5828868A (en) * | 1996-11-13 | 1998-10-27 | Intel Corporation | Processor having execution core sections operating at different clock rates |
| US6385715B1 (en) * | 1996-11-13 | 2002-05-07 | Intel Corporation | Multi-threading for a processor utilizing a replay queue |
| US5966544A (en) * | 1996-11-13 | 1999-10-12 | Intel Corporation | Data speculatable processor having reply architecture |
| US6163839A (en) * | 1998-09-30 | 2000-12-19 | Intel Corporation | Non-stalling circular counterflow pipeline processor with reorder buffer |
| US6484254B1 (en) * | 1999-12-30 | 2002-11-19 | Intel Corporation | Method, apparatus, and system for maintaining processor ordering by checking load addresses of unretired load instructions against snooping store addresses |
| CN1210649C (zh) | 2000-01-03 | 2005-07-13 | 先进微装置公司 | 能够发送及重新发送附属链接的排程器、包括该排程器的处理器以及排程方法 |
| US6651161B1 (en) * | 2000-01-03 | 2003-11-18 | Advanced Micro Devices, Inc. | Store load forward predictor untraining |
| DE10085438B4 (de) * | 2000-02-14 | 2006-01-05 | Intel Corporation, Santa Clara | Prozessor mit Wiederholarchitektur mit schnellen und langsamen Wiederholpfaden |
| 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 |
| JP3729064B2 (ja) * | 2000-11-29 | 2005-12-21 | 日本電気株式会社 | データ依存関係検出装置 |
-
2003
- 2003-06-10 US US10/458,457 patent/US7165167B2/en not_active Expired - Lifetime
-
2004
- 2004-06-02 DE DE602004010265T patent/DE602004010265T2/de not_active Expired - Lifetime
- 2004-06-02 JP JP2006533522A patent/JP5091481B2/ja not_active Expired - Lifetime
- 2004-06-02 KR KR1020057010852A patent/KR101093784B1/ko not_active Expired - Lifetime
- 2004-06-02 WO PCT/US2004/017096 patent/WO2004111839A1/en not_active Ceased
- 2004-06-02 EP EP04753838A patent/EP1644823B1/en not_active Expired - Lifetime
- 2004-06-02 CN CNB2004800162265A patent/CN100367196C/zh not_active Expired - Lifetime
- 2004-06-04 TW TW093116092A patent/TWI352311B/zh not_active IP Right Cessation
Also Published As
| Publication number | Publication date |
|---|---|
| US7165167B2 (en) | 2007-01-16 |
| EP1644823B1 (en) | 2007-11-21 |
| JP5091481B2 (ja) | 2012-12-05 |
| EP1644823A1 (en) | 2006-04-12 |
| US20040255101A1 (en) | 2004-12-16 |
| TW200508964A (en) | 2005-03-01 |
| KR101093784B1 (ko) | 2011-12-19 |
| WO2004111839A1 (en) | 2004-12-23 |
| DE602004010265T2 (de) | 2009-05-07 |
| JP2007503661A (ja) | 2007-02-22 |
| CN1806226A (zh) | 2006-07-19 |
| CN100367196C (zh) | 2008-02-06 |
| DE602004010265D1 (de) | 2008-01-03 |
| KR20060021281A (ko) | 2006-03-07 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| TWI352311B (en) | Microprocessors, computer systems and methods for | |
| TWI260541B (en) | System and method for linking speculative results of load operations to register values | |
| TWI383320B (zh) | 具有相關機制以預測是否載入與較舊儲存相關之處理器及相關方法和電腦系統 | |
| JP4170292B2 (ja) | データの投機的実行をサポートするマイクロプロセッサで用いるスケジューラ | |
| TW388811B (en) | Out-of-pipeline trace buffer for instruction replay following misspeculation | |
| TW479198B (en) | Method and apparatus for implementing execution predicates in a computer processing system | |
| US7263600B2 (en) | System and method for validating a memory file that links speculative results of load operations to register values | |
| TW425528B (en) | Memory system for ordering load and store instructions in a processor that performs out-of-order multithread execution | |
| TWI352927B (en) | System and method for handling exceptional instruc | |
| US5870582A (en) | Method and apparatus for completion of non-interruptible instructions before the instruction is dispatched | |
| JPH08505725A (ja) | 命令実行を制御するため命令にタグを割り当てるシステム及び方法 | |
| US7624253B2 (en) | Determining register availability for register renaming | |
| TW567435B (en) | Scalable processor | |
| CN102087591A (zh) | 非循序执行的微处理器及其操作方法 | |
| JPS59132044A (ja) | デ−タ処理システムにおいて複合デイスクリプタを発生する方法および装置 | |
| TWI338249B (en) | System and method to prevent in-flight instances of operations from disrupting operation replay within a data-speculative microprocessor | |
| US20030126409A1 (en) | Store sets poison propagation | |
| US6934903B1 (en) | Using microcode to correct ECC errors in a processor | |
| TW444179B (en) | A data processing system having an apparatus for exception tracking during out-of-order operation and method therefor | |
| TW493140B (en) | Distributed instruction completion logic | |
| CN100373330C (zh) | 识别微处理器中的数据推测操作的推测指针 | |
| US7069411B1 (en) | Mapper circuit with backup capability | |
| US7937569B1 (en) | System and method for scheduling operations using speculative data operands | |
| TW296442B (enExample) | ||
| TW399176B (en) | Microprocessor access control unit upon fetching address queue |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| MK4A | Expiration of patent term of an invention patent |