Handling of exceptions in speculative instructions

Patent

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

395392, G06F 900

Patent

active

057991790

ABSTRACT:
CPU overhead is minimized through tracking speculative exceptions (202) for later processing during exception resolution (204) including pointing to the addresses of these speculative instructions, and resolving (204) these exceptions by correcting (206) what caused the exception and re-executing (208) the instructions which are known to be in a taken path. Tracking speculative exceptions has two components which use an exception bit which is set in response to an exception condition (213). The invention tracks an original speculative exception which occurs when a speculative instruction whose operand(s) do not have any exception bits set encounters an exception condition. Speculative exception resolution is triggered when a non-speculative instruction--which is in the taken path of a conditional branch--uses an operand from a register having its exception bit set. The presence of an exception condition and a non-speculative instruction yields an exception signal (220) to exception resolution (204). Speculative exception resolution (204) includes responding to output signals from the extra register and extra exception bit for correcting (204) the exception condition which caused the exception and re-executing (208) the instructions which depended on the results of the instructions causing the speculative exception. This invention also handles the case where a speculative instruction attempts to use a register having its exception bit set as above.

REFERENCES:
patent: 4539635 (1985-09-01), Boddie et al.
patent: 5299318 (1994-03-01), Bernard et al.
patent: 5303355 (1994-04-01), Gergen et al.
patent: 5421022 (1995-05-01), McKeen et al.
patent: 5428807 (1995-06-01), McKeen et al.
patent: 5479616 (1995-12-01), Garibay et al.
patent: 5537559 (1996-07-01), Kane et al.
patent: 5561776 (1996-10-01), Popescu et al.
patent: 5584001 (1996-12-01), Hoyt et al.
patent: 5592636 (1997-01-01), Popescu et al.
patent: 5634023 (1997-05-01), Adler et al.
patent: 5651124 (1997-07-01), Shen et al.
K. Ebcioglu, "Some Design Ideas for a VLIW Architecture for Sequential-Natured Software", Proc. IFIP WG10.3 Working Conf. on Parallel Processing, North Holland, 1988, pp. 3-21.
R. Cohn, T. Gross, M. Lam, and P.S. Tseng, "Architecture and Complier Tradeoffs for a Long Instruction Word Microprocessor," Proc. 3rd Intl Conf. on Architectural Support for Programming Languages and Operating Systems, Boston, MA, Apr. 1989, pp. 2-14.
R.P. Colwell et al., "A VLIW Architecture for a Trace Scheduling Complier," IEEE Transactions on Computers vol. 37, No. 8, Aug. 1988, pp. 967-979.
R.D. Groves and R. Oehler, "An IBM Second Generation RISC Processor Architecture," Proc. IEEE Intl Conf. on Computer Design, Oct. 1989, pp. 134-137.
"Metaflow Targets SPARC and 386 with Parallel Architecture," Microprocessor Report, Dec. 1988.
T.S. Perry, "Intel's Secret is Out," IEEE Spectrum, vol. 26, No. 4, Apr. 1989, pp. 22-28.
J.E. Smith, "Dynamic Instruction Scheduling and the Astronauties ZS-1," IEEE Computer, vol. 22, No. 7, Jul. 1989, pp. 21-35.
M.D. Smith, M.S. Lam, and M.A. Horowitz, "Boosting Beyond Static Scheduling in a Superscalar Processor," Proc. 17th International Symp. on Computer Architecture, Seattle, WA, May 1990, pp. 344-354.
K. Ebcioglu and T. Nakatani, "A New Compiliation Technique for Parallelizing Loops with Unpredictable Branches on a VLIW Architecture," Proc. Workshop on Languages and Compliers for Parallell Computing, Urbana, IL, MIT Press Research Monograph In Parallel and Distributed Computing, D. Gelernter et al, editors, Aug. 1989, pp. 213-229.
M.C. Golumbic and V. Rainish, "Instruction Scheduling Beyond Basic Blocks," IBM J. of Research and Development, vol. 34, No. 1, Jan. 1990, pp. 93-97.
K. Ekanadham and R. Rechtschaffen, "Speculation in Parallel Systems", IBM Technical Disclosure Bulletin, vol. 36, No. 09A, Sep. 1993, pp. 371-376.
T. Nakatani and K. Ebcioglu, "Using a Lookahead Window in a Compaction Based Parallelizing Complier," Proc. 23rd Workshop on Microprogramming and Microarchitecture, IEEE Computer Society Press, Nov. 1990, pp. 57-68.
K. Ebcioglu and R. Groves, "Some Global Complier Optimizations and Architectural Features for Improving Performance of Superscalars," Research Report RC 16145 IBM T.J. Watson Research Center, Feb. 1990.
K. Ekanadham and R. Rechtschaffen, "Metaparallelism-Communication via Placeholders", IBM Technical Disclosure Bulletin, vol. 36, No. 09B, Sep. 1993, pp. 285-288.
T.N. Hicks, "Data Restoration of an Addressable Array", IBM Technical Disclosure Bulletin, vol. 35, No. 1A Jun. 1992, pp. 222-225.
J.E. Smith and A.R. Pleszkun, "Implementing Precise Interrupts in Pipelined Processors," IEEE Transactions on Computers, vol. 37, No. 5, May 1988, pp. 562-573.
David Bernstein, Michael Rodch, Mooly Sagiv, "Proving Safety of Speculative Load Instructions at Compile-Time", IBM Israel Scientific Center, Lecture Notes in Computer Science, 4th European Symposium on Programming Feb. 1992, pp. 56-72.

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

Handling of exceptions in speculative instructions does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Handling of exceptions in speculative instructions, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Handling of exceptions in speculative instructions will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-44496

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