ATE450001T1 - Selektives durchführen von abrufvorgängen für speicheroperationen während der spekulativen ausführung - Google Patents

Selektives durchführen von abrufvorgängen für speicheroperationen während der spekulativen ausführung

Info

Publication number
ATE450001T1
ATE450001T1 AT05747426T AT05747426T ATE450001T1 AT E450001 T1 ATE450001 T1 AT E450001T1 AT 05747426 T AT05747426 T AT 05747426T AT 05747426 T AT05747426 T AT 05747426T AT E450001 T1 ATE450001 T1 AT E450001T1
Authority
AT
Austria
Prior art keywords
processor
store
cache line
execution
speculative
Prior art date
Application number
AT05747426T
Other languages
English (en)
Inventor
Shailender Chaudhry
Marc Tremblay
Paul Caprioli
Original Assignee
Sun Microsystems Inc
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 Sun Microsystems Inc filed Critical Sun Microsystems Inc
Application granted granted Critical
Publication of ATE450001T1 publication Critical patent/ATE450001T1/de

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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; CALCULATING OR 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0862Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Advance Control (AREA)
  • Electrophonic Musical Instruments (AREA)
AT05747426T 2004-06-22 2005-05-11 Selektives durchführen von abrufvorgängen für speicheroperationen während der spekulativen ausführung ATE450001T1 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US58239604P 2004-06-22 2004-06-22
US11/083,264 US7277989B2 (en) 2004-06-22 2005-03-16 Selectively performing fetches for store operations during speculative execution
PCT/US2005/016434 WO2006007075A2 (en) 2004-06-22 2005-05-11 Selectively performing fetches for store operations during speculative execution

Publications (1)

Publication Number Publication Date
ATE450001T1 true ATE450001T1 (de) 2009-12-15

Family

ID=34969468

Family Applications (1)

Application Number Title Priority Date Filing Date
AT05747426T ATE450001T1 (de) 2004-06-22 2005-05-11 Selektives durchführen von abrufvorgängen für speicheroperationen während der spekulativen ausführung

Country Status (5)

Country Link
US (1) US7277989B2 (de)
EP (1) EP1782184B1 (de)
AT (1) ATE450001T1 (de)
DE (1) DE602005017909D1 (de)
WO (1) WO2006007075A2 (de)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5273045B2 (ja) * 2007-06-20 2013-08-28 富士通株式会社 バリア同期方法、装置、及びプロセッサ
WO2013095508A1 (en) * 2011-12-22 2013-06-27 Intel Corporation Speculative cache modification
US10719321B2 (en) 2015-09-19 2020-07-21 Microsoft Technology Licensing, Llc Prefetching instruction blocks
US10949210B2 (en) 2018-05-02 2021-03-16 Micron Technology, Inc. Shadow cache for securing conditional speculative instruction execution
US11194582B2 (en) 2019-07-31 2021-12-07 Micron Technology, Inc. Cache systems for main and speculative threads of processors
US10908915B1 (en) 2019-07-31 2021-02-02 Micron Technology, Inc. Extended tags for speculative and normal executions
US10915326B1 (en) 2019-07-31 2021-02-09 Micron Technology, Inc. Cache systems and circuits for syncing caches or cache sets
US11048636B2 (en) 2019-07-31 2021-06-29 Micron Technology, Inc. Cache with set associativity having data defined cache sets
US11010288B2 (en) 2019-07-31 2021-05-18 Micron Technology, Inc. Spare cache set to accelerate speculative execution, wherein the spare cache set, allocated when transitioning from non-speculative execution to speculative execution, is reserved during previous transitioning from the non-speculative execution to the speculative execution
US11200166B2 (en) 2019-07-31 2021-12-14 Micron Technology, Inc. Data defined caches for speculative and normal executions
US11573802B2 (en) 2019-10-23 2023-02-07 Texas Instruments Incorporated User mode event handling

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6065103A (en) * 1997-12-16 2000-05-16 Advanced Micro Devices, Inc. Speculative store buffer
US6665776B2 (en) 2001-01-04 2003-12-16 Hewlett-Packard Development Company L.P. Apparatus and method for speculative prefetching after data cache misses
EP1399823B1 (de) 2001-06-26 2011-02-16 Oracle America, Inc. Verfahren zur verwendung eines l2-verzeichnisses, um spekulatives laden in einem mehrprozessorsystem zu ermöglichen
US6925524B2 (en) * 2003-03-20 2005-08-02 Integrated Silicon Solution, Inc. Associated content storage system

Also Published As

Publication number Publication date
US7277989B2 (en) 2007-10-02
EP1782184B1 (de) 2009-11-25
EP1782184A2 (de) 2007-05-09
US20060020757A1 (en) 2006-01-26
DE602005017909D1 (de) 2010-01-07
WO2006007075A2 (en) 2006-01-19
WO2006007075A3 (en) 2006-09-21

Similar Documents

Publication Publication Date Title
ATE450001T1 (de) Selektives durchführen von abrufvorgängen für speicheroperationen während der spekulativen ausführung
KR101225075B1 (ko) 실행되는 명령의 결과를 선택적으로 커밋하는 시스템 및 방법
US9009449B2 (en) Reducing power consumption and resource utilization during miss lookahead
Mutlu et al. Runahead execution: An alternative to very large instruction windows for out-of-order processors
JP5137948B2 (ja) ローカル及びグローバル分岐予測情報の格納
US8959320B2 (en) Preventing update training of first predictor with mismatching second predictor for branch instructions with alternating pattern hysteresis
US7210024B2 (en) Conditional instruction execution via emissary instruction for condition evaluation
JP5894120B2 (ja) ゼロサイクルロード
KR101099203B1 (ko) 명시적 서브루틴 호출의 브랜치 예측 동작을 에뮬레이트하기 위한 방법 및 장치
US9582280B2 (en) Branching to alternate code based on runahead determination
US20110320787A1 (en) Indirect Branch Hint
US10261789B2 (en) Data processing apparatus and method for controlling performance of speculative vector operations
JP2008530713A (ja) 分岐予測ミスを訂正するシステムおよび方法
JP2011100466A (ja) ループ終結分岐により分岐履歴レジスタの更新を抑制すること
ATE484792T1 (de) Behandlung von vordecodierungsfehlern über zweigkorrektur
ATE467170T1 (de) Stromsparverfahren und -vorrichtungen für anweisungen variabler länge
TW200813823A (en) Block-based branch target address cache
US8918626B2 (en) Prefetching load data in lookahead mode and invalidating architectural registers instead of writing results for retiring instructions
US7640422B2 (en) System for reducing number of lookups in a branch target address cache by storing retrieved BTAC addresses into instruction cache
Shah et al. SPSIM: SuperScalar Processor SIMulater CS305 Project Report
Prémillieu et al. SPREPI: Selective Prediction and REplay for Predicated Instructions
US20140372735A1 (en) Software controlled instruction prefetch buffering

Legal Events

Date Code Title Description
RER Ceased as to paragraph 5 lit. 3 law introducing patent treaties