← Back to Patent Explorer
US5627981A Expired / Lapsed US ⏱️ 0.0 years remaining

Software mechanism for accurately handling exceptions generated by instructions scheduled speculatively due to branch elimination

Assignee: Hewlett Packard Development Co LP
•
Filing: 1994-07-01
•
Granted: 1997-05-06
•
Expires: 2014-07-01
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract Methods for handling exceptions caused by speculatively scheduled instructions or predicated instructions executed within a computer program are described. The method for speculatively scheduled instructions includes checking at a commit point of a speculatively scheduled instruction, a semaphore associated with the speculatively scheduled instruction and branching to an error handling routine if the semaphore is set. A set semaphore indicates that an exception occurred when the speculatively scheduled instruction was executed. For a predicated instruction the method includes checking a predicate of an eliminated branch and a semaphore associated with the speculative instruction at a commit point of the speculative instruction and branching to an error handling routine if the semaphore indicates that an exception occurred when said speculative instruction was executed, and the predicate is true, which indicates that said speculative instruction was properly executed.

Inventors

  • 👤 Michael C. Adler
  • 👤 Steven O. Hobbs
  • 👤 Paul G. Lowney

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-05 01:44
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/30; G06F9/38; G06F9/3861; G06F9/3865; G06F8/00; G06F8/40; G06F8/41; G06F8/44; G06F8/443; G06F8/445; G06F9/30003; G06F9/30072; G06F9/3836; G06F9/3842

Claims Analysis

Total Claims: 13
Claim 1
Independent Claim 86 words
A method for handling an exception caused by a speculative instruction provided for an eliminated conditional branch, said speculative instruction is executed within a computer program, said method comprising the steps of: checking a predicate of said eliminated branch and a semaphore associated with said speculative instruction at a commit point of said speculative instruction; branching to an error handling routine if the predicate indicates that said speculative instruction should have executed, and the semaphore indicates that an exception occurred when said speculative instruction was executed.
Claim 2
Independent Claim 86 words
A method for handling an exception caused by a speculative instruction provided for an eliminated conditional branch, said speculative instruction is executed within a computer program, said method comprising the steps of: checking a predicate of said eliminated branch and a semaphore associated with said speculative instruction at a commit point of said speculative instruction; branching to an error handling routine if the predicate indicates that said speculative instruction should have executed, and the semaphore indicates that an exception occurred when said speculative instruction was executed.
Claim 3
Dependent Claim 43 words
The method of claim 1 wherein the step of checking further includes the substep of: selecting between a register filled with clear semaphore values and a semaphore register which includes said semaphore, based upon a value of a predicate from said eliminated branch.
Claim 4
Dependent Claim 25 words
The method of claim 2 including the step of: continuing execution of the computer program if said semaphore indicates that an exception did not occur.
Claim 5
Dependent Claim 30 words
The method of claim 2 wherein prior to said checking step, the method includes the step of: executing said speculative instruction in a program; and detecting whether an exception occurs.
Claim 6
Dependent Claim 24 words
The method of claim 4 further including the step of: noting the occurrence of the exception caused by the execution of said speculative instruction.
Claim 7
Dependent Claim 45 words
The method of claim 5 wherein the step of noting the occurrence of the exception includes the steps of: determining a program counter value of said speculative instruction; mapping said program counter value to a semaphore; and setting said semaphore associated with said speculative instruction.
Claim 8
Dependent Claim 27 words
The method of claim 6 wherein said step of mapping further includes: locating a descriptor corresponding to said program counter value wherein said descriptor identifies said semaphore.
Claim 9
Dependent Claim 20 words
The method of claim 6 wherein said step of setting further includes: modifying a bit in a general purpose register.
Claim 10
Dependent Claim 29 words
The method of claim 1 further including the step of: executing an additional non-speculative instruction; and detecting whether an exception occurs in response to executing said additional non-speculative instruction.
Claim 11
Dependent Claim 25 words
The method of claim 9 further including the step of: noting the occurrence of the exception caused by the execution of said additional non-speculative instruction.
Claim 12
Dependent Claim 51 words
The method of claim 10 wherein the step of noting the occurrence of the exception includes the steps of: determining a program counter value of said additional instruction; mapping said program counter value to a semaphore; and raising the exception immediately if said program counter is not associated with a semaphore.
Claim 13
Dependent Claim 47 words
The method of claim 11 wherein said step of mapping further includes: searching a program counter array table to locate a descriptor corresponding to said program counter value wherein said program counter array table or said descriptor does not associate a semaphore with said program counter value.

References Cited (Backward Citations)

US5421022A Cited
US5420990A Cited
US5463745A Cited
US5452426A Cited
US5465336A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2000-05-05 2000-11-04 2001-05-06 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2004-05-05 2004-11-04 2005-05-06 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2008-05-05 2008-11-04 2009-05-06 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag