DE69719239T2 - Hardware-Anordnung zur optimierten Vorausholung von Befehlen und Daten - Google Patents

Hardware-Anordnung zur optimierten Vorausholung von Befehlen und Daten

Info

Publication number
DE69719239T2
DE69719239T2 DE69719239T DE69719239T DE69719239T2 DE 69719239 T2 DE69719239 T2 DE 69719239T2 DE 69719239 T DE69719239 T DE 69719239T DE 69719239 T DE69719239 T DE 69719239T DE 69719239 T2 DE69719239 T2 DE 69719239T2
Authority
DE
Germany
Prior art keywords
fetching
commands
data
hardware arrangement
optimized pre
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
DE69719239T
Other languages
English (en)
Other versions
DE69719239D1 (de
Inventor
David R Emberson
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
Application granted granted Critical
Publication of DE69719239D1 publication Critical patent/DE69719239D1/de
Publication of DE69719239T2 publication Critical patent/DE69719239T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime 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
    • 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
    • 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/3824Operand accessing
    • G06F9/383Operand prefetching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache memory
    • G06F2212/6028Prefetching based on hints or prefetch instructions
DE69719239T 1996-05-15 1997-05-06 Hardware-Anordnung zur optimierten Vorausholung von Befehlen und Daten Expired - Lifetime DE69719239T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US08/648,533 US5761468A (en) 1996-05-15 1996-05-15 Hardware mechanism for optimizing instruction and data prefetching by forming augmented prefetch instructions

Publications (2)

Publication Number Publication Date
DE69719239D1 DE69719239D1 (de) 2003-04-03
DE69719239T2 true DE69719239T2 (de) 2003-10-30

Family

ID=24601175

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69719239T Expired - Lifetime DE69719239T2 (de) 1996-05-15 1997-05-06 Hardware-Anordnung zur optimierten Vorausholung von Befehlen und Daten

Country Status (4)

Country Link
US (1) US5761468A (de)
EP (1) EP0810517B1 (de)
JP (1) JP3718319B2 (de)
DE (1) DE69719239T2 (de)

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8073695B1 (en) 1992-12-09 2011-12-06 Adrea, LLC Electronic book with voice emulation features
ATE183352T1 (de) 1992-12-09 1999-08-15 Discovery Communicat Inc Verbessertes aufsatz-endgerat fur kabelfernsehverteilsysteme
US7835989B1 (en) 1992-12-09 2010-11-16 Discovery Communications, Inc. Electronic book alternative delivery systems
US7509270B1 (en) 1992-12-09 2009-03-24 Discovery Communications, Inc. Electronic Book having electronic commerce features
US7849393B1 (en) 1992-12-09 2010-12-07 Discovery Communications, Inc. Electronic book connection to world watch live
US9053640B1 (en) 1993-12-02 2015-06-09 Adrea, LLC Interactive electronic book
US7861166B1 (en) 1993-12-02 2010-12-28 Discovery Patent Holding, Llc Resizing document pages to fit available hardware screens
US8095949B1 (en) 1993-12-02 2012-01-10 Adrea, LLC Electronic book with restricted access features
US7865567B1 (en) * 1993-12-02 2011-01-04 Discovery Patent Holdings, Llc Virtual on-demand electronic book
EP0752644A3 (de) * 1995-07-07 2001-08-22 Sun Microsystems, Inc. Speicherverwaltungseinheit zur Vorauswahlsteuerung
EP0752645B1 (de) * 1995-07-07 2017-11-22 Oracle America, Inc. Abstimmbare Softwaresteuerung von Pufferspeichern einer Harvard-Architektur mittels Vorausladebefehlen
US6173368B1 (en) * 1995-12-18 2001-01-09 Texas Instruments Incorporated Class categorized storage circuit for storing non-cacheable data until receipt of a corresponding terminate signal
US6041393A (en) * 1996-08-23 2000-03-21 Hewlett-Packard Co. Array padding for higher memory throughput in the presence of dirty misses
US5854934A (en) * 1996-08-23 1998-12-29 Hewlett-Packard Company Optimizing compiler having data cache prefetch spreading
US6047363A (en) * 1997-10-14 2000-04-04 Advanced Micro Devices, Inc. Prefetching data using profile of cache misses from earlier code executions
US6202126B1 (en) * 1997-10-24 2001-03-13 Compaq Computer Corporation Victimization of clean data blocks
US5941981A (en) * 1997-11-03 1999-08-24 Advanced Micro Devices, Inc. System for using a data history table to select among multiple data prefetch algorithms
US5964867A (en) * 1997-11-26 1999-10-12 Digital Equipment Corporation Method for inserting memory prefetch operations based on measured latencies in a program optimizer
US5944815A (en) * 1998-01-12 1999-08-31 Advanced Micro Devices, Inc. Microprocessor configured to execute a prefetch instruction including an access count field defining an expected number of access
US6453389B1 (en) * 1999-06-25 2002-09-17 Hewlett-Packard Company Optimizing computer performance by using data compression principles to minimize a loss function
US6651088B1 (en) * 1999-07-20 2003-11-18 Hewlett-Packard Development Company, L.P. Method for reducing coherent misses in shared-memory multiprocessors utilizing lock-binding prefetchs
US6675374B2 (en) 1999-10-12 2004-01-06 Hewlett-Packard Development Company, L.P. Insertion of prefetch instructions into computer program code
US6799263B1 (en) 1999-10-28 2004-09-28 Hewlett-Packard Development Company, L.P. 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
US6460115B1 (en) * 1999-11-08 2002-10-01 International Business Machines Corporation System and method for prefetching data to multiple levels of cache including selectively using a software hint to override a hardware prefetch mechanism
US6574712B1 (en) * 1999-11-08 2003-06-03 International Business Machines Corporation Software prefetch system and method for predetermining amount of streamed data
US6687807B1 (en) * 2000-04-18 2004-02-03 Sun Microystems, Inc. Method for apparatus for prefetching linked data structures
US7366932B2 (en) 2002-10-30 2008-04-29 Stmicroelectronics, Inc. Method and apparatus to adapt the clock rate of a programmable coprocessor for optimal performance and power dissipation
US7334088B2 (en) * 2002-12-20 2008-02-19 International Business Machines Corporation Page descriptors for prefetching and memory management
US8751753B1 (en) 2003-04-09 2014-06-10 Guillermo J. Rozas Coherence de-coupling buffer
US7636815B1 (en) 2003-04-09 2009-12-22 Klaiber Alexander C System and method for handling direct memory accesses
US8595394B1 (en) * 2003-06-26 2013-11-26 Nvidia Corporation Method and system for dynamic buffering of disk I/O command chains
US8683132B1 (en) * 2003-09-29 2014-03-25 Nvidia Corporation Memory controller for sequentially prefetching data for a processor of a computer system
US8356142B1 (en) 2003-11-12 2013-01-15 Nvidia Corporation Memory controller for non-sequentially prefetching data for a processor of a computer system
US8700808B2 (en) * 2003-12-01 2014-04-15 Nvidia Corporation Hardware support system for accelerated disk I/O
US8356143B1 (en) 2004-10-22 2013-01-15 NVIDIA Corporatin Prefetch mechanism for bus master memory access
US7971002B1 (en) 2005-04-07 2011-06-28 Guillermo Rozas Maintaining instruction coherency in a translation-based computer system architecture
US8356128B2 (en) * 2008-09-16 2013-01-15 Nvidia Corporation Method and system of reducing latencies associated with resource allocation by using multiple arbiters
US8370552B2 (en) * 2008-10-14 2013-02-05 Nvidia Corporation Priority based bus arbiters avoiding deadlock and starvation on buses that support retrying of transactions
US8698823B2 (en) 2009-04-08 2014-04-15 Nvidia Corporation System and method for deadlock-free pipelining
US9569385B2 (en) 2013-09-09 2017-02-14 Nvidia Corporation Memory transaction ordering
US11586440B2 (en) * 2021-06-01 2023-02-21 International Business Machines Corporation Link stack based instruction prefetch augmentation

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5687282A (en) * 1979-12-14 1981-07-15 Nec Corp Data processor
CA1174370A (en) * 1980-05-19 1984-09-11 Hidekazu Matsumoto Data processing unit with pipelined operands
US4583165A (en) * 1982-06-30 1986-04-15 International Business Machines Corporation Apparatus and method for controlling storage access in a multilevel storage system
US4551799A (en) * 1983-02-28 1985-11-05 Honeywell Information Systems Inc. Verification of real page numbers of stack stored prefetched instructions from instruction cache
US5095424A (en) * 1986-10-17 1992-03-10 Amdahl Corporation Computer system architecture implementing split instruction and operand cache line-pair-state management
US5168560A (en) * 1987-05-29 1992-12-01 Amdahl Corporation Microprocessor system private split cache tag stores with the system tag store having a different validity bit for the same data line
US5307477A (en) * 1989-12-01 1994-04-26 Mips Computer Systems, Inc. Two-level cache memory system
US5261066A (en) * 1990-03-27 1993-11-09 Digital Equipment Corporation Data processing system and method with small fully-associative cache and prefetch buffers
US5317718A (en) * 1990-03-27 1994-05-31 Digital Equipment Corporation Data processing system and method with prefetch buffers
US5305389A (en) * 1991-08-30 1994-04-19 Digital Equipment Corporation Predictive cache system
US5367656A (en) * 1992-03-13 1994-11-22 Bull Hn Information Systems Inc. Controlling cache predictive prefetching based on cache hit ratio trend
US5410653A (en) * 1992-06-16 1995-04-25 International Business Machines Corporation Asynchronous read-ahead disk caching using multiple disk I/O processes and dynamically variable prefetch length
US5537573A (en) * 1993-05-28 1996-07-16 Rambus, Inc. Cache system and method for prefetching of data
US5603004A (en) * 1994-02-14 1997-02-11 Hewlett-Packard Company Method for decreasing time penalty resulting from a cache miss in a multi-level cache system
US5581720A (en) * 1994-04-15 1996-12-03 David Sarnoff Research Center, Inc. Apparatus and method for updating information in a microcode instruction
US5551001A (en) * 1994-06-29 1996-08-27 Exponential Technology, Inc. Master-slave cache system for instruction and data cache memories
US5623608A (en) * 1994-11-14 1997-04-22 International Business Machines Corporation Method and apparatus for adaptive circular predictive buffer management
EP0752644A3 (de) * 1995-07-07 2001-08-22 Sun Microsystems, Inc. Speicherverwaltungseinheit zur Vorauswahlsteuerung

Also Published As

Publication number Publication date
EP0810517A3 (de) 1999-11-10
EP0810517B1 (de) 2003-02-26
JP3718319B2 (ja) 2005-11-24
EP0810517A2 (de) 1997-12-03
US5761468A (en) 1998-06-02
DE69719239D1 (de) 2003-04-03
JPH1091437A (ja) 1998-04-10

Similar Documents

Publication Publication Date Title
DE69719239T2 (de) Hardware-Anordnung zur optimierten Vorausholung von Befehlen und Daten
DE69618853D1 (de) Manipulation von Daten
DE69738122D1 (de) Übertragung und Empfang von Daten
DE69728212D1 (de) Speichersteuerung und diese verwendendes Rechnersystem
DE69615278D1 (de) SDRAM-Datenzuweisungsanordnung und -verfahren
DE69838890D1 (de) Übertragung und Empfang von Daten
DE69631749D1 (de) Speichergerät und Verfahren zur gemeinsamen Benutzung von Daten
DE69614211D1 (de) Gerät zur Erfassung und Anzeige von zusätzlichen Programmen
DE69736665D1 (de) Multiplexierung von sprache und daten enthaltenden minizellen
DE69635069D1 (de) Wiedergabe von Daten
DE69520454D1 (de) Speichersteuerung zur dekodierung und anzeige von komprimierten bilddaten
NO975759D0 (no) Inokuleringsmiddel og fremgangsmåte for fremstilling av inokuleringsmiddel
DE69821957D1 (de) Datenprozessor mit paralleler decodierung und ausführung von daten- und adressbefehlen
DE69633698D1 (de) Aufnahme und/oder Wiedergabe von Fernsehdaten
DE69733989D1 (de) Verfahren zur Extrahierung von Daten und Verfahren zur Verdeckerung von Daten
DE69713837D1 (de) Adaptive filterung von signalangepassten daten
DE69517852D1 (de) Datenkompressionsverfahren und System
DE69625532T2 (de) Gerät zur Aufnahme und Gerät zur Wiedergabe von digitalen Signalen
DE69617296D1 (de) Sendung und Empfang von Daten
DE69601430D1 (de) Ver- und entschachtelung von datenelementen
DE69720873D1 (de) Speicherzugriffsverfahren und datenprozessor
DE69623738T2 (de) System zur Übertragung und zum Empfang von Daten
DE69638341D1 (de) Anzeigeprozessorsystem für eine punktorganisierte Anzeige von Wellenformdaten
NO991465D0 (no) FremgangsmÕter og preparater for lipidisering av hydrofile molekyler
FI952559A0 (fi) Menetelmä kulunohjaukseen ja kulunohjausjärjestelmMenetelmä kulunohjaukseen ja kulunohjausjärjestelmä ä

Legal Events

Date Code Title Description
8364 No opposition during term of opposition