DE60014005D1 - Verfahren und Vorrichtung zur Befehlsvorabholung - Google Patents

Verfahren und Vorrichtung zur Befehlsvorabholung

Info

Publication number
DE60014005D1
DE60014005D1 DE60014005T DE60014005T DE60014005D1 DE 60014005 D1 DE60014005 D1 DE 60014005D1 DE 60014005 T DE60014005 T DE 60014005T DE 60014005 T DE60014005 T DE 60014005T DE 60014005 D1 DE60014005 D1 DE 60014005D1
Authority
DE
Germany
Prior art keywords
prefetching method
command prefetching
command
prefetching
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 - Fee Related
Application number
DE60014005T
Other languages
English (en)
Other versions
DE60014005T2 (de
Inventor
Dale C Morris
Stephen R Undy
James R Callister
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.)
HP Inc
Original Assignee
Hewlett Packard Co
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 Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of DE60014005D1 publication Critical patent/DE60014005D1/de
Application granted granted Critical
Publication of DE60014005T2 publication Critical patent/DE60014005T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related 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, look ahead
    • G06F9/3802Instruction 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, look ahead
    • G06F9/3802Instruction prefetching
    • G06F9/3804Instruction prefetching for branches, e.g. hedging, branch folding
    • G06F9/3806Instruction prefetching for branches, e.g. hedging, branch folding using address prediction, e.g. return stack, branch history buffer
DE60014005T 1999-10-28 2000-10-17 Verfahren und Vorrichtung zur Befehlsvorabholung Expired - Fee Related DE60014005T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/430,361 US6799263B1 (en) 1999-10-28 1999-10-28 Prefetch instruction for an unpredicted path including a flush field for indicating whether earlier prefetches are to be discarded and whether in-progress prefetches are to be aborted
US430361 1999-10-28

Publications (2)

Publication Number Publication Date
DE60014005D1 true DE60014005D1 (de) 2004-10-28
DE60014005T2 DE60014005T2 (de) 2005-11-17

Family

ID=23707223

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60014005T Expired - Fee Related DE60014005T2 (de) 1999-10-28 2000-10-17 Verfahren und Vorrichtung zur Befehlsvorabholung

Country Status (4)

Country Link
US (1) US6799263B1 (de)
EP (1) EP1096371B1 (de)
JP (1) JP2001134440A (de)
DE (1) DE60014005T2 (de)

Families Citing this family (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10009677A1 (de) * 2000-02-29 2001-09-06 Infineon Technologies Ag Programmgesteuerte Einheit
US7191430B2 (en) * 2001-09-24 2007-03-13 Hewlett-Packard Development Company, L.P. Providing instruction execution hints to a processor using break instructions
JP3973597B2 (ja) * 2003-05-14 2007-09-12 株式会社ソニー・コンピュータエンタテインメント プリフェッチ命令制御方法、プリフェッチ命令制御装置、キャッシュメモリ制御装置、オブジェクトコードの生成方法および装置
US7434004B1 (en) * 2004-06-17 2008-10-07 Sun Microsystems, Inc. Prefetch prediction
US7152155B2 (en) * 2005-02-18 2006-12-19 Qualcomm Incorporated System and method of correcting a branch misprediction
US20060230236A1 (en) * 2005-04-08 2006-10-12 Sun Microsystems, Inc. Method and apparatus for precognitive fetching
US7734895B1 (en) 2005-04-28 2010-06-08 Massachusetts Institute Of Technology Configuring sets of processor cores for processing instructions
US7949861B2 (en) * 2005-06-10 2011-05-24 Qualcomm Incorporated Method and apparatus for managing instruction flushing in a microprocessor's instruction pipeline
US8051247B1 (en) 2005-09-28 2011-11-01 Oracle America, Inc. Trace based deallocation of entries in a versioning cache circuit
US7953933B1 (en) 2005-09-28 2011-05-31 Oracle America, Inc. Instruction cache, decoder circuit, basic block cache circuit and multi-block cache circuit
US7937564B1 (en) 2005-09-28 2011-05-03 Oracle America, Inc. Emit vector optimization of a trace
US8015359B1 (en) 2005-09-28 2011-09-06 Oracle America, Inc. Method and system for utilizing a common structure for trace verification and maintaining coherency in an instruction processing circuit
US7953961B1 (en) 2005-09-28 2011-05-31 Oracle America, Inc. Trace unit with an op path from a decoder (bypass mode) and from a basic-block builder
US8019944B1 (en) 2005-09-28 2011-09-13 Oracle America, Inc. Checking for a memory ordering violation after a speculative cache write
US8037285B1 (en) 2005-09-28 2011-10-11 Oracle America, Inc. Trace unit
US7783863B1 (en) 2005-09-28 2010-08-24 Oracle America, Inc. Graceful degradation in a trace-based processor
US7877630B1 (en) 2005-09-28 2011-01-25 Oracle America, Inc. Trace based rollback of a speculatively updated cache
US7949854B1 (en) 2005-09-28 2011-05-24 Oracle America, Inc. Trace unit with a trace builder
US8024522B1 (en) 2005-09-28 2011-09-20 Oracle America, Inc. Memory ordering queue/versioning cache circuit
US7870369B1 (en) 2005-09-28 2011-01-11 Oracle America, Inc. Abort prioritization in a trace-based processor
US7849292B1 (en) 2005-09-28 2010-12-07 Oracle America, Inc. Flag optimization of a trace
US8499293B1 (en) 2005-09-28 2013-07-30 Oracle America, Inc. Symbolic renaming optimization of a trace
US7546420B1 (en) 2005-09-28 2009-06-09 Sun Microsystems, Inc. Efficient trace cache management during self-modifying code processing
US7987342B1 (en) 2005-09-28 2011-07-26 Oracle America, Inc. Trace unit with a decoder, a basic-block cache, a multi-block cache, and sequencer
US7966479B1 (en) * 2005-09-28 2011-06-21 Oracle America, Inc. Concurrent vs. low power branch prediction
US8370576B1 (en) 2005-09-28 2013-02-05 Oracle America, Inc. Cache rollback acceleration via a bank based versioning cache ciruit
US8032710B1 (en) 2005-09-28 2011-10-04 Oracle America, Inc. System and method for ensuring coherency in trace execution
US7797517B1 (en) 2005-11-18 2010-09-14 Oracle America, Inc. Trace optimization via fusing operations of a target architecture operation set
US7721048B1 (en) * 2006-03-15 2010-05-18 Board Of Governors For Higher Education, State Of Rhode Island And Providence Plantations System and method for cache replacement
US20080059722A1 (en) * 2006-08-31 2008-03-06 Arm Limited Handling data processing requests
US8370609B1 (en) 2006-09-27 2013-02-05 Oracle America, Inc. Data cache rollbacks for failed speculative traces with memory operations
US8010745B1 (en) 2006-09-27 2011-08-30 Oracle America, Inc. Rolling back a speculative update of a non-modifiable cache line
US8234452B2 (en) 2006-11-30 2012-07-31 Freescale Semiconductor, Inc. Device and method for fetching instructions
JP5076616B2 (ja) * 2007-04-24 2012-11-21 富士通株式会社 プロセッサ及びプリフェッチ制御方法
US8245004B2 (en) * 2008-02-01 2012-08-14 International Business Machines Corporation Mechanisms for communicating with an asynchronous memory mover to perform AMM operations
US8356151B2 (en) * 2008-02-01 2013-01-15 International Business Machines Corporation Reporting of partially performed memory move
US8327101B2 (en) * 2008-02-01 2012-12-04 International Business Machines Corporation Cache management during asynchronous memory move operations
US8275963B2 (en) * 2008-02-01 2012-09-25 International Business Machines Corporation Asynchronous memory move across physical nodes with dual-sided communication
EP2798470A4 (de) * 2011-12-29 2015-07-15 Intel Corp Verwaltete befehlscachespeicher-vorabladung
US9043579B2 (en) 2012-01-10 2015-05-26 International Business Machines Corporation Prefetch optimizer measuring execution time of instruction sequence cycling through each selectable hardware prefetch depth and cycling through disabling each software prefetch instruction of an instruction sequence of interest
US9519586B2 (en) * 2013-01-21 2016-12-13 Qualcomm Incorporated Methods and apparatus to reduce cache pollution caused by data prefetching
GB2515076B (en) * 2013-06-13 2020-07-15 Advanced Risc Mach Ltd A data processing apparatus and method for handling retrieval of instructions from an instruction cache
JP6457836B2 (ja) * 2015-02-26 2019-01-23 ルネサスエレクトロニクス株式会社 プロセッサおよび命令コード生成装置
US9772824B2 (en) * 2015-03-25 2017-09-26 International Business Machines Corporation Program structure-based blocking
US20170286118A1 (en) * 2016-04-01 2017-10-05 Intel Corporation Processors, methods, systems, and instructions to fetch data to indicated cache level with guaranteed completion
US11204875B1 (en) * 2020-07-17 2021-12-21 International Business Machines Corporation Software assisted data address prefetch
US20230103206A1 (en) * 2021-09-24 2023-03-30 Intel Corporation Caching based on branch instructions in a processor

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06222990A (ja) 1992-10-16 1994-08-12 Fujitsu Ltd データ処理装置
KR0146059B1 (ko) * 1995-04-11 1998-09-15 문정환 미참조 선인출 캐쉬를 이용한 명령어 선인출 방법 및 그 회로
EP0752644A3 (de) 1995-07-07 2001-08-22 Sun Microsystems, Inc. Speicherverwaltungseinheit zur Vorauswahlsteuerung
US6055621A (en) 1996-02-12 2000-04-25 International Business Machines Corporation Touch history table
KR19990087830A (ko) * 1996-03-28 1999-12-27 포만 제프리 엘 컴퓨터 장치, 컴파일러 방법 및 다중 캐시 라인 사전적재방법
US5761468A (en) 1996-05-15 1998-06-02 Sun Microsystems Inc Hardware mechanism for optimizing instruction and data prefetching by forming augmented prefetch instructions
US5742804A (en) * 1996-07-24 1998-04-21 Institute For The Development Of Emerging Architectures, L.L.C. Instruction prefetch mechanism utilizing a branch predict instruction
US6164840A (en) * 1997-06-24 2000-12-26 Sun Microsystems, Inc. Ensuring consistency of an instruction cache with a store cache check and an execution blocking flush instruction in an instruction queue
KR19990003937A (ko) * 1997-06-26 1999-01-15 김영환 프리페치 장치
US6212603B1 (en) * 1998-04-09 2001-04-03 Institute For The Development Of Emerging Architectures, L.L.C. Processor with apparatus for tracking prefetch and demand fetch instructions serviced by cache memory
US6088789A (en) * 1998-05-13 2000-07-11 Advanced Micro Devices, Inc. Prefetch instruction specifying destination functional unit and read/write access mode
US6401192B1 (en) * 1998-10-05 2002-06-04 International Business Machines Corporation Apparatus for software initiated prefetch and method therefor

Also Published As

Publication number Publication date
US6799263B1 (en) 2004-09-28
EP1096371A1 (de) 2001-05-02
DE60014005T2 (de) 2005-11-17
EP1096371B1 (de) 2004-09-22
JP2001134440A (ja) 2001-05-18

Similar Documents

Publication Publication Date Title
DE60014005D1 (de) Verfahren und Vorrichtung zur Befehlsvorabholung
DE60033866D1 (de) Vorrichtung und Verfahren zur Planarisierung
DE60008102D1 (de) Verfahren und vorrichtung zur mehrfachsendung
DE60044326D1 (de) Verfahren und Vorrichtung zur Rückwärts-Leistungsregelung
DE60018733D1 (de) Vorrichtung und verfahren zur probenanalyse
DE60013627D1 (de) Verfahren und vorrichtung zur aufwärtsplanung
DE69937464D1 (de) Verfahren und vorrichtung zum abhören
DE60021077D1 (de) Vorrichtung und verfahren zur probenabgabe
DE60030658D1 (de) Verfahren und Vorrichtung zur Überprüfung von Gegenständen
DE69822687D1 (de) Vorrichtung und Verfahren zur Zusammenfassung
DE60034121D1 (de) Verfahren und vorrichtung zur streuparameter-kalibrierung
DE60037008D1 (de) Verfahren und vorrichtung zur synchronisierung
DE60018842D1 (de) Stereolithografisches Verfahren und Vorrichtung
DE50007073D1 (de) Verfahren und vorrichtung zur strahlformung
DE69936708D1 (de) Verfahren und vorrichtung zur lampensteuerung
DE60000380D1 (de) Verfahren und Vorrichtung zur Datenkompression
DE10083806T1 (de) Verfahren und Vorrichtung zur Adaptiven Vorwärtslöschung
DE69921416D1 (de) Verfahren und Vorrichtung zur Leistungsregelung
DE69904764D1 (de) Verfahren und Vorrichtung zur Mustererkennung
DE69940134D1 (de) Vorrichtung und Verfahren zur mehrstufigen Verschachtelung
DE60042416D1 (de) Verfahren und vorrichtung zur ladebefehlsausführung
DE50109658D1 (de) Vorrichtung und Verfahren zur Sprachsteuerung
DE69818981D1 (de) Vorrichtung und verfahren zur kristallisation
DE60028903D1 (de) Verfahren und Vorrichtung zur Kommunikationskontrolle
DE60016639D1 (de) Verfahren und Vorrichtung zur Pfadsuche

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee