Load lookahead prefetch for microprocessors

Electrical computers and digital processing systems: processing – Processing control

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C712S214000, C712S219000, C712S225000

Reexamination Certificate

active

07444498

ABSTRACT:
The present invention allows a microprocessor to identify and speculatively execute future load instructions during a stall condition. This allows forward progress to be made through the instruction stream during the stall condition which would otherwise cause the microprocessor or thread of execution to be idle. The data for such future load instructions can be prefetched from a distant cache or main memory such that when the load instruction is re-executed (non speculative executed) after the stall condition expires, its data will reside either in the L1 cache, or will be enroute to the processor, resulting in a reduced execution latency. When an extended stall condition is detected, load lookahead prefetch is started allowing speculative execution of instructions that would normally have been stalled. In this speculative mode, instruction operands may be invalid due to source loads that miss the L1 cache, facilities not available in speculative execution mode, or due to speculative instruction results that are not available via forwarding and are not written to the architected registers. A set of status bits are used to dynamically keep track of the dependencies between instructions in the pipeline and a bit vector tracks invalid architected facilities with respect to the speculative instruction stream. Both sources of information are used to identify load instructions with valid operands for calculating the load address. If the operands are valid, then a load prefetch operation is started to retrieve data from the cache ahead of time such that it can be available for the load instruction when it is non-speculatively executed.

REFERENCES:
patent: 5471626 (1995-11-01), Carnevale et al.
patent: 5758051 (1998-05-01), Moreno et al.
patent: 5987594 (1999-11-01), Panwar et al.
patent: 6356918 (2002-03-01), Chuang et al.
patent: 6427207 (2002-07-01), Col et al.
patent: 6430683 (2002-08-01), Arimilli et al.
patent: 6473837 (2002-10-01), Hughes et al.
patent: 7114060 (2006-09-01), Chaudhry et al.
patent: 7194604 (2007-03-01), Bigelow et al.
patent: 7257699 (2007-08-01), Chaudhry et al.
patent: 2006/0149933 (2006-07-01), Eickemeyer et al.
patent: 2006/0149934 (2006-07-01), Eickemever et al.
Mutlu, Stark, Wilkerson & Pratt; Runahead Execution: An Alternative to Very Large Instruction Windows for Out-of-order Processors; Feb. 8, 2003; IEEE Computer Society; Symposium on High-Performance Computer Architecture, 2003; pp. 129-140.
Balasubramonian, Dwarkadas & Albonesi; Dynamically Allocating Processor Resources between Nearby and Distant ILP; May 2001; ACM Press; ACM SIGARCH Computer Architecture News; pp. 26-37.
Lebeck, Koppanalil, Li, Patwardhan & Rotenburg; A Large, Fast Instruction Window for Tolerating Cache Misses; May 2002; IEEE Computer Society; International Conference on Computer Architecture; pp. 59-70.
U.S. Appl. No. 11/016,200, filed Dec. 17, 2004, Eickemeyer et al.
U.S. Appl. No. 11/016,206, filed Dec. 17, 2004, Eickemeyer et al.

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Load lookahead prefetch for microprocessors does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Load lookahead prefetch for microprocessors, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Load lookahead prefetch for microprocessors will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-4006899

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.