AU2003301128A1 - Method and apparatus for generating prefetches - Google Patents

Method and apparatus for generating prefetches

Info

Publication number
AU2003301128A1
AU2003301128A1 AU2003301128A AU2003301128A AU2003301128A1 AU 2003301128 A1 AU2003301128 A1 AU 2003301128A1 AU 2003301128 A AU2003301128 A AU 2003301128A AU 2003301128 A AU2003301128 A AU 2003301128A AU 2003301128 A1 AU2003301128 A1 AU 2003301128A1
Authority
AU
Australia
Prior art keywords
generating prefetches
prefetches
generating
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.)
Abandoned
Application number
AU2003301128A
Other versions
AU2003301128A8 (en
Inventor
Shailender Chaudhry
Marc Tremblay
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sun Microsystems Inc
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
Publication of AU2003301128A8 publication Critical patent/AU2003301128A8/en
Publication of AU2003301128A1 publication Critical patent/AU2003301128A1/en
Abandoned legal-status Critical Current

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/3861Recovery, e.g. branch miss-prediction, exception handling
    • 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/30098Register arrangements
    • G06F9/30105Register structure
    • G06F9/30116Shadow registers, e.g. coupled registers, not forming part of the register space
    • 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/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/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • G06F9/3851Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution from multiple instruction streams, e.g. multistreaming

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Advance Control (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Executing Machine-Instructions (AREA)
AU2003301128A 2002-12-24 2003-12-19 Method and apparatus for generating prefetches Abandoned AU2003301128A1 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US43653902P 2002-12-24 2002-12-24
US60/436,539 2002-12-24
PCT/US2003/040592 WO2004059472A2 (en) 2002-12-24 2003-12-19 Method and apparatus for generating prefetches

Publications (2)

Publication Number Publication Date
AU2003301128A8 AU2003301128A8 (en) 2004-07-22
AU2003301128A1 true AU2003301128A1 (en) 2004-07-22

Family

ID=32682405

Family Applications (1)

Application Number Title Priority Date Filing Date
AU2003301128A Abandoned AU2003301128A1 (en) 2002-12-24 2003-12-19 Method and apparatus for generating prefetches

Country Status (6)

Country Link
US (1) US20040133769A1 (en)
EP (1) EP1576466A2 (en)
JP (1) JP2006518053A (en)
AU (1) AU2003301128A1 (en)
TW (1) TWI258695B (en)
WO (1) WO2004059472A2 (en)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7216219B2 (en) 2004-05-03 2007-05-08 Sun Microsystems Inc. Method and apparatus for avoiding write-after-read hazards in an execute-ahead processor
US7213133B2 (en) 2004-05-03 2007-05-01 Sun Microsystems, Inc Method and apparatus for avoiding write-after-write hazards in an execute-ahead processor
US7263603B2 (en) * 2004-05-03 2007-08-28 Sun Microsystems, Inc. Method and apparatus for avoiding read-after-write hazards in an execute-ahead processor
US7634639B2 (en) * 2005-08-23 2009-12-15 Sun Microsystems, Inc. Avoiding live-lock in a processor that supports speculative execution
US8813052B2 (en) * 2005-12-07 2014-08-19 Microsoft Corporation Cache metadata for implementing bounded transactional memory
US8898652B2 (en) * 2006-03-23 2014-11-25 Microsoft Corporation Cache metadata for accelerating software transactional memory
US7600103B2 (en) * 2006-06-30 2009-10-06 Intel Corporation Speculatively scheduling micro-operations after allocation
US20080016325A1 (en) * 2006-07-12 2008-01-17 Laudon James P Using windowed register file to checkpoint register state
US7617421B2 (en) * 2006-07-27 2009-11-10 Sun Microsystems, Inc. Method and apparatus for reporting failure conditions during transactional execution
US7917731B2 (en) * 2006-08-02 2011-03-29 Qualcomm Incorporated Method and apparatus for prefetching non-sequential instruction addresses
US7779233B2 (en) * 2007-10-23 2010-08-17 International Business Machines Corporation System and method for implementing a software-supported thread assist mechanism for a microprocessor
US7779234B2 (en) * 2007-10-23 2010-08-17 International Business Machines Corporation System and method for implementing a hardware-supported thread assist under load lookahead mechanism for a microprocessor
JP5105359B2 (en) * 2007-12-14 2012-12-26 富士通株式会社 Central processing unit, selection circuit and selection method
GB2474446A (en) * 2009-10-13 2011-04-20 Advanced Risc Mach Ltd Barrier requests to maintain transaction order in an interconnect with multiple paths
US8572356B2 (en) * 2010-01-05 2013-10-29 Oracle America, Inc. Space-efficient mechanism to support additional scouting in a processor using checkpoints
US8688963B2 (en) * 2010-04-22 2014-04-01 Oracle International Corporation Checkpoint allocation in a speculative processor
US9086889B2 (en) * 2010-04-27 2015-07-21 Oracle International Corporation Reducing pipeline restart penalty
US8631223B2 (en) * 2010-05-12 2014-01-14 International Business Machines Corporation Register file supporting transactional processing
US8661227B2 (en) 2010-09-17 2014-02-25 International Business Machines Corporation Multi-level register file supporting multiple threads
WO2012103359A2 (en) * 2011-01-27 2012-08-02 Soft Machines, Inc. Hardware acceleration components for translating guest instructions to native instructions
WO2012161059A1 (en) 2011-05-20 2012-11-29 Semiconductor Energy Laboratory Co., Ltd. Semiconductor device and method for driving the same
US8918626B2 (en) * 2011-11-10 2014-12-23 Oracle International Corporation Prefetching load data in lookahead mode and invalidating architectural registers instead of writing results for retiring instructions
US9817763B2 (en) 2013-01-11 2017-11-14 Nxp Usa, Inc. Method of establishing pre-fetch control information from an executable code and an associated NVM controller, a device, a processor system and computer program products
WO2014151652A1 (en) 2013-03-15 2014-09-25 Soft Machines Inc Method and apparatus to allow early dependency resolution and data forwarding in a microprocessor
CN105122206B (en) 2013-03-15 2018-11-09 英特尔公司 The method and apparatus of visitor's return-address stack emulation for supporting to speculate
US20170083339A1 (en) * 2015-09-19 2017-03-23 Microsoft Technology Licensing, Llc Prefetching associated with predicated store instructions
US10719321B2 (en) 2015-09-19 2020-07-21 Microsoft Technology Licensing, Llc Prefetching instruction blocks

Family Cites Families (7)

* 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
US6175910B1 (en) * 1997-12-19 2001-01-16 International Business Machines Corportion Speculative instructions exection in VLIW processors
US6519694B2 (en) * 1999-02-04 2003-02-11 Sun Microsystems, Inc. System for handling load errors having symbolic entity generator to generate symbolic entity and ALU to propagate the symbolic entity
US6957304B2 (en) * 2000-12-20 2005-10-18 Intel Corporation Runahead allocation protection (RAP)
US6665776B2 (en) * 2001-01-04 2003-12-16 Hewlett-Packard Development Company L.P. Apparatus and method for speculative prefetching after data cache misses
US7114059B2 (en) * 2001-11-05 2006-09-26 Intel Corporation System and method to bypass execution of instructions involving unreliable data during speculative execution
US7313676B2 (en) * 2002-06-26 2007-12-25 Intel Corporation Register renaming for dynamic multi-threading

Also Published As

Publication number Publication date
TW200417915A (en) 2004-09-16
AU2003301128A8 (en) 2004-07-22
EP1576466A2 (en) 2005-09-21
JP2006518053A (en) 2006-08-03
WO2004059472A3 (en) 2006-01-12
TWI258695B (en) 2006-07-21
WO2004059472A2 (en) 2004-07-15
US20040133769A1 (en) 2004-07-08

Similar Documents

Publication Publication Date Title
AU2003301128A1 (en) Method and apparatus for generating prefetches
AU2003265307A1 (en) Apparatus and method for enctyption and decryption
AU2003248715A1 (en) Method and apparatus for creating an adaptive application
AU2003216145A1 (en) Method and apparatus for synthesis
AU2003300773A1 (en) Improved apparatus and method for cryosurgery
AU2003286609A1 (en) Dermatological apparatus and method
IL162696A0 (en) Apparatus and method for endoscopiccolectomy
AU2003287275A1 (en) Methods and apparatus for generating high-density plasma
AU2003285562A1 (en) Electrosurgical method and apparatus
AU2003238303A1 (en) Apparatus and method for impregnating components
AU2003272023A1 (en) Method and apparatus for content selection
AU2003258007A1 (en) Method and apparatus for generating bubbles
AU2003274764A1 (en) Recording method and recording apparatus
WO2004032069A8 (en) Apparatus and method for player interaction
AU2003217707A1 (en) Means and apparatus for microrefrigeration
GB0229860D0 (en) Method and apparatus for using computer generated voice
AU2003288387A1 (en) Droplet - deposition related methods and apparatus
AU2002347417A1 (en) Space-dyeing method and apparatus
AU2003284659A1 (en) Exposure apparatus and exposure method
AU2003214281A1 (en) Method and apparatus for sensing
AU2003211475A1 (en) Receiving apparatus and receiving method
AU2003266866A1 (en) Method and apparatus for generating and maintaining a plasma
AU2003214970A1 (en) Apparatus and method for providing information
AU2003242284A1 (en) Method and apparatus for gas sterilization
AU2003219763A1 (en) Method and apparatus for generating an access code

Legal Events

Date Code Title Description
MK6 Application lapsed section 142(2)(f)/reg. 8.3(3) - pct applic. not entering national phase