Claims Analysis
Total Claims: 10
Claim 1
Independent Claim
201 words
A system for tracking data dependencies in a processor that permits execution of instructions out of order and processing of multiple precision data words, comprising: a reordering mechanism configured to receive instructions and permit execution of said instructions in an out of order sequence; operand dependency logic associated with said reordering mechanism, said operand dependency logic configured to detect a dependent instruction that depends upon at least one data portion to be produced by a producer instruction; a result register configured to store a plurality of valid bits and a result of execution of said producer instruction, each of said valid bits corresponding with a respective data portion of said result and indicative of whether each said respective data portion is valid; and abort logic configured to determine if said at least one data portion is valid based upon at least one of said valid bits when executing said dependent instruction, to abort execution of said dependent instruction when said at least one data portion is invalid and iteratively recommence execution and said validity determination until said at least one data portion is valid, and to permit execution of said dependent instruction when said at least one data portion is valid.
Claim 2
Independent Claim
201 words
A system for tracking data dependencies in a processor that permits execution of instructions out of order and processing of multiple precision data words, comprising: a reordering mechanism configured to receive instructions and permit execution of said instructions in an out of order sequence; operand dependency logic associated with said reordering mechanism, said operand dependency logic configured to detect a dependent instruction that depends upon at least one data portion to be produced by a producer instruction; a result register configured to store a plurality of valid bits and a result of execution of said producer instruction, each of said valid bits corresponding with a respective data portion of said result and indicative of whether each said respective data portion is valid; and abort logic configured to determine if said at least one data portion is valid based upon at least one of said valid bits when executing said dependent instruction, to abort execution of said dependent instruction when said at least one data portion is invalid and iteratively recommence execution and said validity determination until said at least one data portion is valid, and to permit execution of said dependent instruction when said at least one data portion is valid.
Claim 3
Dependent Claim
28 words
The system of claim 1, wherein said operand dependency logic further comprises logic configured to prevent execution of said dependent instruction until after said producer instruction launches execution.
Claim 4
Dependent Claim
32 words
The system of claim 1, wherein said producer and dependent instructions are floating point instructions and further comprising a floating point execution unit configured to process said at least one data portion.
Claim 5
Dependent Claim
64 words
The system of claim 1, further comprising: arithmetic and memory queues associated with said reordering mechanism; a sort mechanism configured to identify arithmetic and memory instructions that are fetched, said sort mechanism configured to distribute said arithmetic and memory instructions into said arithmetic and memory queues, respectively; and wherein said producer and said dependent instruction are placed in and executed from said arithmetic queue.
Claim 6
Independent Claim
184 words
A method for tracking operand dependencies in a processor that executes instructions out of order and that permits multiple precision data words, comprising the steps of: (a) launching execution of a producer instruction that is to produce at least one data portion for a dependent instruction; (b) when executing said producer instruction, storing a plurality of valid bits in a result register for storing a result of execution of said producer instruction, each of said valid bits corresponding with a respective data portion to be stored within said result register and indicative of whether each said respective data portion is valid; (c) launching execution of said dependent instruction; (d) when executing said dependent instruction, determining if said at least one data portion is valid based upon at least one of said valid bits; (e) when said at least one data portion is invalid, aborting execution of said dependent instruction and repeating steps (c) and (d) until said at least one data portion is valid; and (f) when said at least one data portion is valid, permitting completion of said execution of said dependent instruction.
Claim 7
Independent Claim
184 words
A method for tracking operand dependencies in a processor that executes instructions out of order and that permits multiple precision data words, comprising the steps of: (a) launching execution of a producer instruction that is to produce at least one data portion for a dependent instruction; (b) when executing said producer instruction, storing a plurality of valid bits in a result register for storing a result of execution of said producer instruction, each of said valid bits corresponding with a respective data portion to be stored within said result register and indicative of whether each said respective data portion is valid; (c) launching execution of said dependent instruction; (d) when executing said dependent instruction, determining if said at least one data portion is valid based upon at least one of said valid bits; (e) when said at least one data portion is invalid, aborting execution of said dependent instruction and repeating steps (c) and (d) until said at least one data portion is valid; and (f) when said at least one data portion is valid, permitting completion of said execution of said dependent instruction.
Claim 8
Dependent Claim
44 words
The method of claim 5, further comprising the steps of: detecting that said dependent instruction depends upon said at least one data portion to be produced by said producer instruction; and preventing execution of said dependent instruction until after said producer instruction launches execution.
Claim 9
Dependent Claim
44 words
The method of claim 5, wherein said producer and dependent instructions are floating point instructions and further comprising the step of, when said at least one data portion is valid, then forwarding said at least one data portion to a floating point execution unit.
Claim 10
Dependent Claim
34 words
The method of claim 5, further comprising the steps of: distributing arithmetic and memory instructions into respective arithmetic and memory queues; and performing steps (a) through (f) upon corresponding instructions in said arithmetic queue.