Claims Analysis
Total Claims: 48
Claim 1
Independent Claim
113 words
A method of operating a pipeline processor comprising the steps of: determining an in-order sequence of instruction fetching; fetching the instructions in-order; queuing the fetched instructions in-order; speculatively executing the instructions out-of-order to generate results; retiring executed instruction results in-order; tracking the retiring of executed instruction results; predefining a resynchronization condition; detecting the predefined resynchronization condition as an instruction is executed; and resynchronizing the processor on retiring of the result of an instruction for which the resynchronization condition is detected, the resynchronization operation including the steps of: flushing the queue of fetched instructions; and redirecting the in-order sequence of instruction fetching to an instruction point based on the tracking of retired instruction results.
Claim 2
Independent Claim
113 words
A method of operating a pipeline processor comprising the steps of: determining an in-order sequence of instruction fetching; fetching the instructions in-order; queuing the fetched instructions in-order; speculatively executing the instructions out-of-order to generate results; retiring executed instruction results in-order; tracking the retiring of executed instruction results; predefining a resynchronization condition; detecting the predefined resynchronization condition as an instruction is executed; and resynchronizing the processor on retiring of the result of an instruction for which the resynchronization condition is detected, the resynchronization operation including the steps of: flushing the queue of fetched instructions; and redirecting the in-order sequence of instruction fetching to an instruction point based on the tracking of retired instruction results.
Claim 3
Dependent Claim
36 words
A method as in claim 1, wherein the step of redirecting the in-order sequence of instruction fetching includes the step of redirecting fetching to the instruction preceding the instruction for which a resynchronization condition is detected.
Claim 4
Dependent Claim
33 words
A method as in claim 1, wherein the step of redirecting the in-order sequence of instruction fetching includes the step of redirecting fetching to the instruction for which a resynchronization condition is detected.
Claim 5
Dependent Claim
120 words
A method as in claim 1, wherein: the step of queuing the fetched instructions in-order includes the sub-steps of: queuing the instructions in-order in a reorder buffer having a plurality of reorder buffer entries; and selectively issuing the instructions among ones of a plurality of functional units to subsequently execute the instructions, the plurality of functional units each having a respective reservation station; further queuing the selected instructions directed to the functional units in the respective reservation station; and the step of flushing the queue of fetched instructions includes the sub-steps of: clearing the reservation stations of the plurality of functional units; and clearing all reorder buffer entries queued subsequent to the instruction for which the resynchronization condition is detected.
Claim 6
Dependent Claim
109 words
A method as in claim 1, wherein: the instructions include a data rotate instruction or data shift instruction which respectively rotate or shift data a variable number of bits, the variable number depending on a result of an instruction of preceding order; the instructions include a conditional branch instruction which is conditional upon a result of the data rotate instruction or data shift instruction; and the step of detecting a resynchronization condition includes the step of detecting a result of the data rotate instruction or data shift instruction setting the variable number of bits for rotating or shifting zero and a conditional branch instruction is conditional upon the result.
Claim 7
Dependent Claim
75 words
A method as in claim 1, wherein: the instructions include a floating point instruction for which a floating point exception condition is detected; the processor includes an input pin coupled to an external signal that determines whether the floating point exception condition is ignored; and the step of detecting a resynchronization condition includes the step of detecting a floating point exception condition and the external signal specifies that the floating point exception condition is ignored.
Claim 8
Dependent Claim
53 words
A method as in claim 1, wherein: the instructions include an instruction which is executed as a sequence of a plurality of suboperations; and the step of detecting a resynchronization condition includes the step of detecting, during execution of one of the plurality of suboperations, a condition which moots execution of subsequent suboperations.
Claim 9
Dependent Claim
62 words
A method as in claim 1, wherein: the instructions include a floating point instruction which is executed as a sequence of suboperations, the floating point instruction being executed by a floating point functional unit; and the step of detecting a resynchronization condition includes the step of detecting, during execution of a floating point suboperation, a condition which moots execution of subsequent suboperations.
Claim 10
Dependent Claim
50 words
A method as in claim 1, wherein: the instructions include floating point stack exchange instructions; and the step of detecting a resynchronization condition includes the step of detecting a stack error condition including a stack overflow condition and stack underflow condition during execution of a floating point stack exchange instruction.
Claim 11
Dependent Claim
39 words
A method as in claim 1, wherein: the instructions include a data store-to-memory instruction; and the step of detecting a resynchronization condition includes the step of detecting a store to instruction memory during execution of a data store-to-memory instruction.
Claim 12
Dependent Claim
195 words
A pipeline processor comprising: a fetch program counter for determining an in-order sequence of instruction fetching; an instruction cache coupled to the fetch program counter for fetching the instructions in-order; a reorder buffer array coupled to the instruction cache for queuing the fetched instructions in-order; a functional unit coupled to the instruction cache and coupled to the reorder buffer array for speculatively executing the instructions out-of-order to generate results; a reorder buffer controller coupled to the functional unit for retiring executed instruction results in-order; an instruction pointer coupled to the reorder buffer controller for tracking the retiring of executed instruction results; a resynchronization condition detector coupled to the functional unit for detecting a resynchronization condition as an instruction is executed; and a resynchronization controller coupled to the reorder buffer controller responsive to retiring of the result of an instruction for which a resynchronization condition is detected, the resynchronization controller further including: a queue controller coupled to the resynchronization controller for flushing the queue of fetched instructions; and a branch unit coupling the instruction pointer to the fetch program counter for redirecting the in-order sequence of instruction fetching based on the tracking of retired instruction results.
Claim 13
Dependent Claim
195 words
A pipeline processor comprising: a fetch program counter for determining an in-order sequence of instruction fetching; an instruction cache coupled to the fetch program counter for fetching the instructions in-order; a reorder buffer array coupled to the instruction cache for queuing the fetched instructions in-order; a functional unit coupled to the instruction cache and coupled to the reorder buffer array for speculatively executing the instructions out-of-order to generate results; a reorder buffer controller coupled to the functional unit for retiring executed instruction results in-order; an instruction pointer coupled to the reorder buffer controller for tracking the retiring of executed instruction results; a resynchronization condition detector coupled to the functional unit for detecting a resynchronization condition as an instruction is executed; and a resynchronization controller coupled to the reorder buffer controller responsive to retiring of the result of an instruction for which a resynchronization condition is detected, the resynchronization controller further including: a queue controller coupled to the resynchronization controller for flushing the queue of fetched instructions; and a branch unit coupling the instruction pointer to the fetch program counter for redirecting the in-order sequence of instruction fetching based on the tracking of retired instruction results.
Claim 14
Dependent Claim
70 words
A processor as in claim 11, further comprising: a plurality of functional units, ones of the plurality of functional units being selected to speculatively execute the instructions, the functional units having reservation stations for queuing the selected instructions; wherein the queue controller flushes the instruction queue by directing the plurality of functional units to flush the reservation stations and by directing the reorder buffer to flush the reorder buffer array.
Claim 15
Dependent Claim
132 words
A processor as in claim 11, further comprising: a plurality of functional units and wherein: a first functional unit is an arithmetic logic unit (ALU) and the instructions executed by the ALU include a data rotate instruction and a data shift instruction which respectively rotate or shift data a variable number of bits, the variable number depending on a result of an instruction of preceding order; a second functional unit is a branch unit and the instructions executed on the branch unit include a conditional branch instruction which is conditional upon a result of the data rotate instruction or data shift instruction; the branch unit including a circuit for generating a resynchronization condition signal when the first functional unit result setting the variable number of bits for rotating or shifting is zero.
Claim 16
Dependent Claim
94 words
A processor as in claim 11, wherein: the processor includes an input pin coupled to an external signal that determines whether a floating point exception condition is ignored; and the functional unit is a floating point unit and the instructions executed on the floating point unit include a floating point instruction for which a floating point exception condition is detected; the floating point unit including a circuit for generating a resynchronization condition signal when a floating point exception condition is detected and the external signal specifies that the floating point exception condition is ignored.
Claim 17
Dependent Claim
56 words
A processor as in claim 11, wherein: the functional unit is a functional unit that executes an instruction which is executed as a sequence of a plurality of suboperations; the functional unit including a circuit for generating a resynchronization condition signal during execution of one of the plurality of suboperations which moots execution of subsequent suboperations.
Claim 18
Dependent Claim
62 words
A processor as in claim 11, wherein: the functional unit is a floating point unit and instructions executed on the floating point unit include a floating point instruction which is executed as a sequence of suboperations, the floating point unit including a circuit for generating a resynchronization condition signal during execution of a floating point suboperation which moots execution of subsequent suboperations.
Claim 19
Dependent Claim
59 words
A processor as in claim 11, wherein: the instructions include a floating point stack exchange instruction; and the processor further includes a circuit for detecting stack error conditions including a stack overflow condition and stack underflow condition during execution of a floating point stack exchange instruction and generating a resynchronization condition signal when a stack error condition is detected.
Claim 20
Dependent Claim
66 words
A processor as in claim 11, wherein: the functional unit is a load/store functional unit; the instructions include a data store-to-memory instruction which is executed by the load/store functional unit; and the load/store functional unit includes a circuit for detecting a store to instruction memory during execution of a data store-to-memory instruction and generating a resynchronization condition signal when a store to instruction memory is detected.
Claim 21
Dependent Claim
57 words
A processor as in claim 11, wherein the resynchronization controller selectively redirects the in-order sequence of instruction fetching to the instruction preceding the instruction for which a resynchronization condition is detected in a first case and redirects the in-order sequence of instruction fetching to the instruction for which a resynchronization condition is detected in a second case.
Claim 22
Independent Claim
245 words
A method of operating a pipeline processor comprising the steps of: updating a fetch program counter; fetching instructions from a memory, the instructions being designated by the fetch program counter; dispatching a plurality of instructions to designated ones of a plurality of functional units, the instructions being dispatched in the order of fetching; queuing the dispatched instructions in reservation stations of the designated ones of the plurality of functional units; allocating result entries corresponding to the queued instructions in a reorder buffer queue in the order of dispatching; executing the instructions from reservation station queues when the functional units are finished executing previously queued instructions and data to be used in executing the instructions are available from the execution of earlier dispatched instructions; entering results in the allocated result entries when execution of the corresponding instructions is complete; retiring entered results at the head of the reorder buffer queue; updating an instruction pointer when the results are retired, the instruction pointer coinciding with the fetch program counter of the instruction corresponding to the result entry; and resynchronizing the processor, including the steps of: detecting a resynchronization condition during execution of an instruction; acknowledging the resynchronization condition in the allocated result entry corresponding to the instruction detecting the resynchronization condition; and upon retiring the entered result acknowledging the resynchronization condition: flushing the reorder buffer and the reservation stations of the functional units; and redirecting the fetch program counter to the instruction addressed by the instruction pointer.
Claim 23
Independent Claim
245 words
A method of operating a pipeline processor comprising the steps of: updating a fetch program counter; fetching instructions from a memory, the instructions being designated by the fetch program counter; dispatching a plurality of instructions to designated ones of a plurality of functional units, the instructions being dispatched in the order of fetching; queuing the dispatched instructions in reservation stations of the designated ones of the plurality of functional units; allocating result entries corresponding to the queued instructions in a reorder buffer queue in the order of dispatching; executing the instructions from reservation station queues when the functional units are finished executing previously queued instructions and data to be used in executing the instructions are available from the execution of earlier dispatched instructions; entering results in the allocated result entries when execution of the corresponding instructions is complete; retiring entered results at the head of the reorder buffer queue; updating an instruction pointer when the results are retired, the instruction pointer coinciding with the fetch program counter of the instruction corresponding to the result entry; and resynchronizing the processor, including the steps of: detecting a resynchronization condition during execution of an instruction; acknowledging the resynchronization condition in the allocated result entry corresponding to the instruction detecting the resynchronization condition; and upon retiring the entered result acknowledging the resynchronization condition: flushing the reorder buffer and the reservation stations of the functional units; and redirecting the fetch program counter to the instruction addressed by the instruction pointer.
Claim 24
Dependent Claim
109 words
A method as in claim 20, wherein: the instructions include a data rotate instruction and a data shift instruction which respectively rotate and shift data a variable number of bits, the variable number depending on a result of a previously dispatched instruction; the instructions include a conditional branch instruction which is conditional upon the result of the data rotate instruction and data shift instruction; and the step of detecting a resynchronization condition includes the step of detecting a result of the data rotate instruction or data shift instruction setting the variable number of bits for rotating or shifting zero and a conditional branch instruction is conditional upon the result.
Claim 25
Dependent Claim
74 words
A method as in claim 20, wherein: the instructions include a floating point instruction for which floating point exception conditions are detected; the processor includes an input pin coupled to an external signal that determines whether the floating point exception condition is ignored; and the step of detecting a resynchronization condition includes the step of detecting a floating point exception condition and the external signal specifies that the floating point exception condition is ignored.
Claim 26
Dependent Claim
49 words
A method as in claim 20, wherein: the instructions include an instruction which is dispatched and executed as a sequence of a plurality of suboperations; and the step of detecting a resynchronization condition includes the step of detecting, execution of a suboperation which moots execution of a subsequent suboperation.
Claim 27
Dependent Claim
53 words
A method as in claim 20, wherein: the instructions include a floating point instruction which is dispatched and executed as a sequence of suboperations; and the step of detecting a resynchronization condition includes the step of detecting, during execution of a floating point suboperation, a condition which moots execution of a subsequent suboperation.
Claim 28
Dependent Claim
47 words
A method as in claim 20, wherein: the instructions include a stack exchange instruction; and the step of detecting a resynchronization condition includes the step of detecting a stack error condition including a stack overflow condition and stack underflow condition during execution of a stack exchange instruction.
Claim 29
Dependent Claim
51 words
A method as in claim 20, wherein: the instructions include a floating point stack exchange instruction; and the step of detecting a resynchronization condition includes the step of detecting a stack error condition including a stack overflow condition and stack underflow condition during execution of a floating point stack exchange instruction.
Claim 30
Dependent Claim
39 words
A method as in claim 20, wherein: the instructions include a data store-to-memory instruction; and the step of detecting a resynchronization condition includes the step of detecting a store to instruction memory during execution of a data store-to-memory instruction.
Claim 31
Dependent Claim
259 words
A pipeline processor comprising: an instruction cache including: a cache memory; a fetch program counter register; and fetching logic coupled to the fetch program counter register and coupled to the cache memory; an instruction decoder coupled to the instruction cache; a plurality of functional units each coupled to the instruction decoder to receive instructions dispatched to designated ones of the functional units, each of the functional units having: a reservation station instruction queue; and instruction execution circuitry coupled to the reservation station instruction queue to receive an instruction for execution; a reorder buffer coupled to the instruction decoder and coupled to the functional units, including: an in-order queue of result entries coupled to the functional units to receive an execution result; retiring logic coupled to the head of the result entry queue to retire a result; and an instruction pointer coupled to the retiring logic, the instruction pointer coinciding with the fetch program counter of a retiring result; and resynchronization logic including: a plurality of resynchronization condition detectors coupled to designated ones of the functional units; a resynchronization indicator coupled to the reorder buffer queue of result entries; a queue controller coupled to the reorder buffer and responsive to the retiring logic and the resynchronization indicator by flushing the reorder buffer; queue logic coupled to the functional unit reservation stations and responsive to the retiring logic and the resynchronization indicator by flushing the reservation stations; and a target program counter responsive to the retiring logic and the resynchronization indicator by coupling the instruction pointer to the fetch program counter.
Claim 32
Dependent Claim
259 words
A pipeline processor comprising: an instruction cache including: a cache memory; a fetch program counter register; and fetching logic coupled to the fetch program counter register and coupled to the cache memory; an instruction decoder coupled to the instruction cache; a plurality of functional units each coupled to the instruction decoder to receive instructions dispatched to designated ones of the functional units, each of the functional units having: a reservation station instruction queue; and instruction execution circuitry coupled to the reservation station instruction queue to receive an instruction for execution; a reorder buffer coupled to the instruction decoder and coupled to the functional units, including: an in-order queue of result entries coupled to the functional units to receive an execution result; retiring logic coupled to the head of the result entry queue to retire a result; and an instruction pointer coupled to the retiring logic, the instruction pointer coinciding with the fetch program counter of a retiring result; and resynchronization logic including: a plurality of resynchronization condition detectors coupled to designated ones of the functional units; a resynchronization indicator coupled to the reorder buffer queue of result entries; a queue controller coupled to the reorder buffer and responsive to the retiring logic and the resynchronization indicator by flushing the reorder buffer; queue logic coupled to the functional unit reservation stations and responsive to the retiring logic and the resynchronization indicator by flushing the reservation stations; and a target program counter responsive to the retiring logic and the resynchronization indicator by coupling the instruction pointer to the fetch program counter.
Claim 33
Dependent Claim
124 words
A processor as in claim 28, wherein: a first functional unit is an arithmetic logic unit (ALU) and the instructions executed on the ALU include a data rotate instruction and a data shift instruction which respectively rotate or shift data a variable number of bits, the variable number depending on a result of an instruction of preceding order; a second functional unit is a branch unit and the instructions executed on the branch unit include a conditional branch instruction which is conditional upon a result of the data rotate instruction or data shift instruction; the branch unit including a circuit for generating a resynchronization condition signal when the first functional unit result setting the variable number of bits for rotating or shifting is zero.
Claim 34
Dependent Claim
94 words
A processor as in claim 28, wherein: the processor includes an input pin coupled to an external signal that determines whether a floating point exception condition is ignored; and a functional unit is a floating point unit and the instructions executed on the floating point unit include a floating point instruction for which a floating point exception condition is detected; the floating point unit including a circuit for generating a resynchronization condition signal when a floating point exception condition is detected and the external signal specifies that the floating point exception condition is ignored.
Claim 35
Dependent Claim
56 words
A processor as in claim 28, wherein: a functional unit is a functional unit that executes an instruction which is executed as a sequence of a plurality of suboperations; the functional unit including a circuit for generating a resynchronization condition signal during execution of one of the plurality of suboperations which moots execution of subsequent suboperations.
Claim 36
Dependent Claim
62 words
A processor as in claim 28, wherein: a functional unit is a floating point unit and instructions executed on the floating point unit include a floating point instruction which is executed as a sequence of suboperations, the floating point unit including a circuit for generating a resynchronization condition signal during execution of a floating point suboperation which moots execution of subsequent suboperations.
Claim 37
Dependent Claim
59 words
A processor as in claim 28, wherein: the instructions include a floating point stack exchange instruction; and the processor further includes a circuit for detecting stack error conditions including a stack overflow condition and stack underflow condition during execution of a floating point stack exchange instruction and generating a resynchronization condition signal when a stack error condition is detected.
Claim 38
Dependent Claim
66 words
A processor as in claim 28, wherein: a functional unit is a load/store functional unit; the instructions include a data store-to-memory instruction which is executed by the load/store functional unit; and the load/store functional unit includes a circuit for detecting a store to instruction memory during execution of a data store-to-memory instruction and generating a resynchronization condition signal when a store to instruction memory is detected.
Claim 39
Dependent Claim
397 words
A pipeline processor comprising: an instruction cache including: a cache memory; a fetch program counter register; and fetching logic coupled to the fetch program counter register and coupled to the cache memory, the fetching logic for updating the counter and fetching instructions designated by the fetch program counter; an instruction decoder coupled to the instruction cache for concurrently dispatching a plurality of instructions in the order of fetching; a plurality of functional units each coupled to the instruction decoder to receive dispatched instructions, the instructions being dispatched to designated ones of the functional units, each of the functional units having: a reservation station to queue the instructions; and instruction execution circuitry coupled to the reservation station to receive an instruction from the reservation station queue and to execute the instruction when execution of previously queued instructions is complete and data for executing the instruction is available from the execution of earlier dispatched instructions; a reorder buffer coupled to the instruction decoder and coupled to the functional units, the reorder buffer including: a queue of result entries, the entries being allocated in the order of dispatching and corresponding to the queued instructions, the entries receiving results from the functional units when execution of the corresponding instruction is complete; retiring logic coupled to the queue to retire result entries at the head of the queue; and an instruction pointer coupled to the retiring logic, the instruction pointer being updated by the retiring logic when the result entry is retired, the instruction pointer coinciding with the fetch program counter of the instruction corresponding to the result entry; and resynchronization logic including: a plurality of resynchronization condition detectors, each coupled to a designated functional unit, the resynchronization conditions being detected in association with an executing instruction; a resynchronization indicator coupled to the reorder buffer result entry queue, resynchronization being indicated when execution of the corresponding instructions is complete and a resynchronization condition is detected; a queue controller coupled to the reorder buffer and responsive to retiring the reorder buffer entry having a resynchronization indicator for flushing the reorder buffer; queue logic coupled to the functional unit reservation stations and responsive to retiring the reorder buffer entry having a resynchronization indicator for flushing the reorder buffer; and a target program counter coupling the instruction cache and reorder buffer to redirect the fetch program counter to the instruction addressed by the instruction pointer.
Claim 40
Dependent Claim
397 words
A pipeline processor comprising: an instruction cache including: a cache memory; a fetch program counter register; and fetching logic coupled to the fetch program counter register and coupled to the cache memory, the fetching logic for updating the counter and fetching instructions designated by the fetch program counter; an instruction decoder coupled to the instruction cache for concurrently dispatching a plurality of instructions in the order of fetching; a plurality of functional units each coupled to the instruction decoder to receive dispatched instructions, the instructions being dispatched to designated ones of the functional units, each of the functional units having: a reservation station to queue the instructions; and instruction execution circuitry coupled to the reservation station to receive an instruction from the reservation station queue and to execute the instruction when execution of previously queued instructions is complete and data for executing the instruction is available from the execution of earlier dispatched instructions; a reorder buffer coupled to the instruction decoder and coupled to the functional units, the reorder buffer including: a queue of result entries, the entries being allocated in the order of dispatching and corresponding to the queued instructions, the entries receiving results from the functional units when execution of the corresponding instruction is complete; retiring logic coupled to the queue to retire result entries at the head of the queue; and an instruction pointer coupled to the retiring logic, the instruction pointer being updated by the retiring logic when the result entry is retired, the instruction pointer coinciding with the fetch program counter of the instruction corresponding to the result entry; and resynchronization logic including: a plurality of resynchronization condition detectors, each coupled to a designated functional unit, the resynchronization conditions being detected in association with an executing instruction; a resynchronization indicator coupled to the reorder buffer result entry queue, resynchronization being indicated when execution of the corresponding instructions is complete and a resynchronization condition is detected; a queue controller coupled to the reorder buffer and responsive to retiring the reorder buffer entry having a resynchronization indicator for flushing the reorder buffer; queue logic coupled to the functional unit reservation stations and responsive to retiring the reorder buffer entry having a resynchronization indicator for flushing the reorder buffer; and a target program counter coupling the instruction cache and reorder buffer to redirect the fetch program counter to the instruction addressed by the instruction pointer.
Claim 41
Dependent Claim
124 words
A processor as in claim 35, wherein: a first functional unit is an arithmetic logic unit (ALU) and the instructions executed on the ALU include a data rotate instruction and a data shift instruction which respectively rotate or shift data a variable number of bits, the variable number depending on a result of an instruction of preceding order; a second functional unit is a branch unit and the instructions executed on the branch unit include a conditional branch instruction which is conditional upon a result of the data rotate instruction or data shift instruction; the branch unit including a circuit for generating a resynchronization condition signal when the first functional unit result setting the variable number of bits for rotating or shifting is zero.
Claim 42
Dependent Claim
94 words
A processor as in claim 35, wherein: the processor includes an input pin coupled to an external signal that determines whether a floating point exception condition is ignored; and a functional unit is a floating point unit and the instructions executed on the floating point unit include a floating point instruction for which a floating point exception condition is detected; the floating point unit including a circuit for generating a resynchronization condition signal when a floating point exception condition is detected and the external signal specifies that the floating point exception condition is ignored.
Claim 43
Dependent Claim
56 words
A processor as in claim 35, wherein: a functional unit is a functional unit that executes an instruction which is executed as a sequence of a plurality of suboperations; the functional unit including a circuit for generating a resynchronization condition signal during execution of one of the plurality of suboperations which moots execution of subsequent suboperations.
Claim 44
Dependent Claim
62 words
A processor as in claim 35, wherein: a functional unit is a floating point unit and instructions executed on the floating point unit include a floating point instruction which is executed as a sequence of suboperations, the floating point unit including a circuit for generating a resynchronization condition signal during execution of a floating point suboperation which moots execution of subsequent suboperations.
Claim 45
Dependent Claim
59 words
A processor as in claim 35, wherein: the instructions include a floating point stack exchange instruction; and the processor further includes a circuit for detecting stack error conditions including a stack overflow condition and stack underflow condition during execution of a floating point stack exchange instruction and generating a resynchronization condition signal when a stack error condition is detected.
Claim 46
Dependent Claim
66 words
A processor as in claim 35, wherein: a functional unit is a load/store functional unit; the instructions include a data store-to-memory instruction which is executed by the load/store functional unit; and the load/store functional unit includes a circuit for detecting a store to instruction memory during execution of a data store-to-memory instruction and generating a resynchronization condition signal when a store to instruction memory is detected.
Claim 47
Dependent Claim
199 words
A pipeline processor including a fetch program counter for determining an in-order sequence of instruction fetching, an instruction cache coupled to the fetch program counter for fetching the instructions in-order, a reorder buffer array coupled to the instruction cache for queuing the fetched instructions in-order, a functional unit coupled to the instruction cache and coupled to the reorder buffer array for speculatively executing the instructions out-of-order to generate results, a reorder buffer controller coupled to the functional unit for retiring executed instruction results in-order, an instruction pointer coupled to the reorder buffer controller for tracking the retiring of executed instruction results, the pipeline processor comprising: a resynchronization condition detector coupled to the functional unit for detecting a resynchronization condition as an instruction is executed; and a resynchronization controller coupled to the reorder buffer controller responsive to retiring of the result of an instruction for which a resynchronization condition is detected, the resynchronization controller further including: a queue controller coupled to the resynchronization controller for flushing the queue of fetched instructions; and a branch unit coupling the instruction pointer to the fetch program counter for redirecting the in-order sequence of instruction fetching based on the tracking of retired instruction results.
Claim 48
Dependent Claim
199 words
A pipeline processor including a fetch program counter for determining an in-order sequence of instruction fetching, an instruction cache coupled to the fetch program counter for fetching the instructions in-order, a reorder buffer array coupled to the instruction cache for queuing the fetched instructions in-order, a functional unit coupled to the instruction cache and coupled to the reorder buffer array for speculatively executing the instructions out-of-order to generate results, a reorder buffer controller coupled to the functional unit for retiring executed instruction results in-order, an instruction pointer coupled to the reorder buffer controller for tracking the retiring of executed instruction results, the pipeline processor comprising: a resynchronization condition detector coupled to the functional unit for detecting a resynchronization condition as an instruction is executed; and a resynchronization controller coupled to the reorder buffer controller responsive to retiring of the result of an instruction for which a resynchronization condition is detected, the resynchronization controller further including: a queue controller coupled to the resynchronization controller for flushing the queue of fetched instructions; and a branch unit coupling the instruction pointer to the fetch program counter for redirecting the in-order sequence of instruction fetching based on the tracking of retired instruction results.