KR101093784B1 - 리플레이 메커니즘을 구비한 로드 저장 유닛 - Google Patents

리플레이 메커니즘을 구비한 로드 저장 유닛 Download PDF

Info

Publication number
KR101093784B1
KR101093784B1 KR1020057010852A KR20057010852A KR101093784B1 KR 101093784 B1 KR101093784 B1 KR 101093784B1 KR 1020057010852 A KR1020057010852 A KR 1020057010852A KR 20057010852 A KR20057010852 A KR 20057010852A KR 101093784 B1 KR101093784 B1 KR 101093784B1
Authority
KR
South Korea
Prior art keywords
storage unit
load storage
load
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
Application number
KR1020057010852A
Other languages
English (en)
Korean (ko)
Other versions
KR20060021281A (ko
Inventor
마이클 에이. 필리포
제임스 케이. 피켓
벤자민 티. 샌더
라마 에스. 고팔
Original Assignee
어드밴스드 마이크로 디바이시즈, 인코포레이티드
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 어드밴스드 마이크로 디바이시즈, 인코포레이티드 filed Critical 어드밴스드 마이크로 디바이시즈, 인코포레이티드
Publication of KR20060021281A publication Critical patent/KR20060021281A/ko
Application granted granted Critical
Publication of KR101093784B1 publication Critical patent/KR101093784B1/ko
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3824Operand accessing
    • G06F9/3826Bypassing or forwarding of data results, e.g. locally between pipeline stages or within a pipeline stage
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3824Operand accessing
    • G06F9/383Operand prefetching
    • G06F9/3832Value prediction for operands; operand history buffers
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3824Operand accessing
    • G06F9/3834Maintaining memory consistency
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • G06F9/3842Speculative instruction execution
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3861Recovery, 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)
KR1020057010852A 2003-06-10 2004-06-02 리플레이 메커니즘을 구비한 로드 저장 유닛 Expired - Lifetime KR101093784B1 (ko)

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 (2)

Publication Number Publication Date
KR20060021281A KR20060021281A (ko) 2006-03-07
KR101093784B1 true KR101093784B1 (ko) 2011-12-19

Family

ID=33510583

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020057010852A Expired - Lifetime KR101093784B1 (ko) 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)

* Cited by examiner, † Cited by third party
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

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030088760A1 (en) 1999-12-30 2003-05-08 Chowdhury Muntaquim F. Method and apparatus for maintaining processor ordering

Family Cites Families (10)

* Cited by examiner, † Cited by third party
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
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 日本電気株式会社 データ依存関係検出装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030088760A1 (en) 1999-12-30 2003-05-08 Chowdhury Muntaquim F. Method and apparatus for maintaining processor ordering

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
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
KR101192814B1 (ko) 로드가 선행하는 스토어에 의존적인지를 예측하는 의존성 매커니즘을 구비한 프로세서
KR101019224B1 (ko) 이중 용도 레지스터를 식별하는 어드레스 지정 패턴에기반한 데이터 추측
US7028166B2 (en) System and method for linking speculative results of load operations to register values
US7133969B2 (en) System and method for handling exceptional instructions in a trace cache based processor
KR100953207B1 (ko) 로드/저장 오퍼레이션들을 바이패스하기 위하여 추론적 소스 오퍼랜드를 사용하는 시스템 및 방법
US20050247774A1 (en) System and method for validating a memory file that links speculative results of load operations to register values
KR101093784B1 (ko) 리플레이 메커니즘을 구비한 로드 저장 유닛
KR101056820B1 (ko) 연산들의 인-플라이트 인스턴스들이 데이터-추론마이크로프로세서 내에서 연산 재실행을 중단하는 것을방지하기 위한 시스템 및 방법
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
KR101057163B1 (ko) 마이크로프로세서에서 데이터-추론 연산들을 식별하는 추론포인터들

Legal Events

Date Code Title Description
PA0105 International application

Patent event date: 20050613

Patent event code: PA01051R01D

Comment text: International Patent Application

PG1501 Laying open of application
A201 Request for examination
PA0201 Request for examination

Patent event code: PA02012R01D

Patent event date: 20090515

Comment text: Request for Examination of Application

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20110207

Patent event code: PE09021S01D

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20110928

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20111207

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20111208

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
FPAY Annual fee payment

Payment date: 20141126

Year of fee payment: 4

PR1001 Payment of annual fee

Payment date: 20141126

Start annual number: 4

End annual number: 4

FPAY Annual fee payment

Payment date: 20151118

Year of fee payment: 5

PR1001 Payment of annual fee

Payment date: 20151118

Start annual number: 5

End annual number: 5

FPAY Annual fee payment

Payment date: 20161123

Year of fee payment: 6

PR1001 Payment of annual fee

Payment date: 20161123

Start annual number: 6

End annual number: 6

FPAY Annual fee payment

Payment date: 20171117

Year of fee payment: 7

PR1001 Payment of annual fee

Payment date: 20171117

Start annual number: 7

End annual number: 7

FPAY Annual fee payment

Payment date: 20181115

Year of fee payment: 8

PR1001 Payment of annual fee

Payment date: 20181115

Start annual number: 8

End annual number: 8

PR1001 Payment of annual fee

Payment date: 20201117

Start annual number: 10

End annual number: 10

PR1001 Payment of annual fee

Payment date: 20211118

Start annual number: 11

End annual number: 11

PR1001 Payment of annual fee

Payment date: 20221201

Start annual number: 12

End annual number: 12

PC1801 Expiration of term

Termination date: 20241202

Termination category: Expiration of duration