Electrical computers and digital processing systems: processing – Dynamic instruction dependency checking – monitoring or... – Reducing an impact of a stall or pipeline bubble
Reexamination Certificate
2004-12-17
2008-09-02
Chan, Eddie (Department: 2183)
Electrical computers and digital processing systems: processing
Dynamic instruction dependency checking, monitoring or...
Reducing an impact of a stall or pipeline bubble
C712S218000, C712S216000, C712S220000
Reexamination Certificate
active
07421567
ABSTRACT:
The present invention allows a microprocessor to identify and speculatively execute future 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 execution of such future instructions can initiate a prefetch of data or instructions from a distant cache or main memory, or otherwise make forward progress through the instruction stream. In this manner, when the instructions are re-executed (non speculatively executed) after the stall condition expires, they will execute with a reduced execution latency; e.g. by accessing data prefetched into the L1 cache, or enroute to the processor, or by executing the target instructions following a speculatively resolved mispredicted branch. In 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. Dependency and dirty (i.e. invalid result) bits are tracked and used to determine which speculative instructions are valid for execution. A modified value register storage and bit vector are used to improve the availability of speculative results that would otherwise be discarded once they leave the execution pipeline because they cannot be written to the architected registers. The modified general purpose registers are used to store speculative results when the corresponding instruction reaches writeback and the modified bit vector tracks the results that have been stored there. Younger speculative instructions that do not bypass directly from older instructions will then use this modified data when the corresponding bit in the modified bit vector indicates the data has been modified. Otherwise, data from the architected registers will be used.
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), Eichemeyer et al.
patent: 2006/0149934 (2006-07-01), Eichemeyer et al.
Balasubramonian, Dwarkadas & Albonesi; Dynamically Allocating Processor Resources between Nearby and Distant ILP; May 2001; ACM Press; ACM SIGARCH Computer Architecture News; pp. 26-37.
Mutlu, Stark, Wilkerson & Patt; 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.
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,236, filed Dec. 17, 2004, Eickemeyer et al.
Eickemeyer Richard James
Le Hung Qui
Nguyen Dung Quoc
Stolt Benjamin Walter
Thompto Brian William
Chan Eddie
Faherty Corey S
Gerhardt Diana R.
Walder, Jr. Stephen J.
LandOfFree
Using a modified value GPR to enhance lookahead prefetch does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Using a modified value GPR to enhance lookahead prefetch, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Using a modified value GPR to enhance lookahead prefetch will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-3973867