JP5091481B2 - リプレイ機構を備えた読み出し/書き込みユニット - Google Patents
リプレイ機構を備えた読み出し/書き込みユニット Download PDFInfo
- Publication number
- JP5091481B2 JP5091481B2 JP2006533522A JP2006533522A JP5091481B2 JP 5091481 B2 JP5091481 B2 JP 5091481B2 JP 2006533522 A JP2006533522 A JP 2006533522A JP 2006533522 A JP2006533522 A JP 2006533522A JP 5091481 B2 JP5091481 B2 JP 5091481B2
- Authority
- JP
- Japan
- Prior art keywords
- read
- write unit
- data
- address
- operations
- 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
Images
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 (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US10/458,457 | 2003-06-10 | ||
| US10/458,457 US7165167B2 (en) | 2003-06-10 | 2003-06-10 | Load store unit with replay mechanism |
| PCT/US2004/017096 WO2004111839A1 (en) | 2003-06-10 | 2004-06-02 | Load store unit with replay mechanism |
Publications (3)
| Publication Number | Publication Date |
|---|---|
| JP2007503661A JP2007503661A (ja) | 2007-02-22 |
| JP2007503661A5 JP2007503661A5 (enExample) | 2012-03-22 |
| JP5091481B2 true JP5091481B2 (ja) | 2012-12-05 |
Family
ID=33510583
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2006533522A Expired - Lifetime JP5091481B2 (ja) | 2003-06-10 | 2004-06-02 | リプレイ機構を備えた読み出し/書き込みユニット |
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 |
| 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 |
| TWI352311B (en) | 2011-11-11 |
| DE602004010265D1 (de) | 2008-01-03 |
| KR20060021281A (ko) | 2006-03-07 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US7415597B2 (en) | Processor with dependence mechanism to predict whether a load is dependent on older store | |
| JP4105684B2 (ja) | ロード操作の推測結果をレジスタ値にリンクするためのシステムおよび方法 | |
| US6950925B1 (en) | Scheduler for use in a microprocessor that supports data-speculative execution | |
| US6845442B1 (en) | System and method of using speculative operand sources in order to speculatively bypass load-store operations | |
| US7263600B2 (en) | System and method for validating a memory file that links speculative results of load operations to register values | |
| JP5091481B2 (ja) | リプレイ機構を備えた読み出し/書き込みユニット | |
| JP2007504575A (ja) | 二重用途レジスタを識別しているアドレス指定パターンに基づいたデータ投機 | |
| JP4624988B2 (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 | |
| JP4745960B2 (ja) | マイクロプロセッサにおいてデータ推測オペレーションを識別する推測ポインタ | |
| US7937569B1 (en) | System and method for scheduling operations using speculative data operands | |
| KR20070019750A (ko) | 로드 동작의 투기적인 결과들을 레지스터 값들에 연결하는메모리 파일을 유효화하기 위한 시스템 및 그 방법 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070601 |
|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070601 |
|
| RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20100421 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100707 |
|
| RD05 | Notification of revocation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7425 Effective date: 20100902 |
|
| A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20101004 |
|
| A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20101012 |
|
| A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20101108 |
|
| A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20101115 |
|
| A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20101207 |
|
| A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20101214 |
|
| A524 | Written submission of copy of amendment under article 19 pct |
Free format text: JAPANESE INTERMEDIATE CODE: A524 Effective date: 20110107 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20111005 |
|
| A524 | Written submission of copy of amendment under article 19 pct |
Free format text: JAPANESE INTERMEDIATE CODE: A524 Effective date: 20120206 |
|
| A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20120322 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120620 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120725 |
|
| 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: 20120815 |
|
| 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: 20120914 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150921 Year of fee payment: 3 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 5091481 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| 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 |