Electrical computers and digital processing systems: processing – Processing control – Branching
Patent
1997-05-01
1999-12-14
Kim, Kenneth S.
Electrical computers and digital processing systems: processing
Processing control
Branching
712 23, 712239, G06F 932
Patent
active
06003128&
ABSTRACT:
An apparatus for prediction of loop instructions. Loop instructions decrement the value in a counter register and branch to a target address (specified by an instruction operand) if the decremented value of the counter register is greater than zero. The apparatus comprises a loop detection unit that detects the presence of a loop instruction in the instruction stream. An indication of the loop instruction is conveyed to a reorder buffer which stores speculative register values. If the apparatus is not currently processing the loop instruction, a compare value corresponding to the counter register prior to execution of the loop instruction is conveyed to a loop prediction unit. The loop prediction unit also increments a counter value upon receiving each indication of the loop instruction. This counter value is then compared to the compare value conveyed from the reorder buffer. If the counter value is one less than the compare value, a signal is asserted that indicates that the loop instruction should be predicted not-taken upon a next iteration of the loop. In this manner, loop prediction accuracy may be increased by correctly predicting the loop instruction not-taken. Because loops are commonly found in a variety of applications, increasing the accuracy of loop prediction, even slightly, may have a beneficial effect on performance. The loop operation is particularly important in scientific applications where it may be used to perform various digital signal processing routines and to traverse arrays.
REFERENCES:
patent: 4044338 (1977-08-01), Wolf
patent: 4453212 (1984-06-01), Gaither et al.
patent: 4764861 (1988-08-01), Shibaya
patent: 4807115 (1989-02-01), Torng
patent: 4858105 (1989-08-01), Kuriyama et al.
patent: 4928223 (1990-05-01), Dao et al.
patent: 5053631 (1991-10-01), Perlman et al.
patent: 5058048 (1991-10-01), Gupta et al.
patent: 5101484 (1992-03-01), Kohn
patent: 5129067 (1992-07-01), Johnson
patent: 5136697 (1992-08-01), Johnson
patent: 5226126 (1993-07-01), McFarland et al.
patent: 5226130 (1993-07-01), Favor et al.
patent: 5303355 (1994-04-01), Gergen et al.
patent: 5404473 (1995-04-01), Papworth et al.
patent: 5421020 (1995-05-01), Levitan
patent: 5646974 (1997-07-01), Wu et al.
patent: 5740419 (1998-04-01), Potter
patent: 5752015 (1998-05-01), Henry et al.
patent: 5764970 (1998-06-01), Rana et al.
patent: 5774711 (1998-06-01), Henry et al.
patent: 5784607 (1998-07-01), Henry et al.
patent: 5909573 (1999-06-01), Sheaffer
Intel, "Chapter 2: Microprocessor Architecture Overview," pp. 2-1 through 2-4.
Michael Slater, "AMD's K5 Designed to Outrun Pentium," Microprocessor Report, vol. 8, No. 14, Oct. 24, 1994, 7 pages.
Sebastian Rupley and John Clyman, "P6: The Next Step?," PC Magazine, Sep. 12, 1995, 16 pages.
Tom R. Halfhill, "AMD K6 Takes On Intel P6," BYTE, Jan. 1996, 4 pages.
Advanced Micro Devices , Inc.
Kim Kenneth S.
Kivlin B. Noel
LandOfFree
Number of pipeline stages and loop length related counter differ does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Number of pipeline stages and loop length related counter differ, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Number of pipeline stages and loop length related counter differ will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-874366