System and method for executing and completing store instructions
First Claim
1. A method for executing a store instruction in a processor, comprising the steps of:
- executing address generation portion of the store instruction in a load/store unit;
executing write data portion of the store instruction in an execution unit other than the load/store unit; and
completing the store instruction when all instructions older than the store instruction have completed and when all instructions in an instruction group that included the store instruction have finished.
1 Assignment
0 Petitions
Accused Products
Abstract
In a processor, store instructions are divided or cracked into store data and store address generation portions for separate and parallel execution within two execution units. The address generation portion of the store instruction is executed within the load store unit, while the store data portion of the instruction is executed in an execution unit other than the load store unit. If the store instruction is a fixed point execution unit, then the store data portion is executed within the fixed point unit. If the store instruction is a floating point store instruction, then the store data portion of the store instruction is executed within the floating point unit. The store instruction is completed when all older instructions have completed and when all instructions in the instruction group have finished.
43 Citations
16 Claims
-
1. A method for executing a store instruction in a processor, comprising the steps of:
-
executing address generation portion of the store instruction in a load/store unit; executing write data portion of the store instruction in an execution unit other than the load/store unit; and completing the store instruction when all instructions older than the store instruction have completed and when all instructions in an instruction group that included the store instruction have finished. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A processor comprising:
-
a load/store unit for executing an address generation portion of a store instruction; an execution unit other than the load/store unit for executing a store data portion of the store instruction; and circuitry for completing the store instruction when all instructions older than the store instruction have completed and when all instructions in an instruction group that included the store instruction have finished. - View Dependent Claims (9, 10, 11, 12, 13, 14, 15)
-
-
16. A processor comprising:
-
an instruction cache receiving an instruction; circuitry for determining if the instruction is a store instruction; circuitry for determining if the store instruction is a floating point store instruction or a fixed point store instruction when the instruction is a store instruction; a load/store unit; a fixed point unit; a floating point unit; an instruction dispatch unit for marking the store instruction to be sent to the load/store unit and the floating point unit when the store instruction is a floating point store instruction, wherein the instruction dispatch unit cracks the store instruction into a store address generation internal op code and a store data internal op code when the store instruction is a fixed point store instruction, wherein the store address generation internal op code is marked to be sent to the load/store unit, and wherein the store data internal op code is marked to be sent to the fixed point unit; circuitry for dispatching the floating point store instruction to an issue queue in each of the load/store unit and the floating point unit; circuitry for dispatching the store address generation internal op code to the issue queue in the load/store unit; circuitry for dispatching the store data internal op code to an issue queue in the fixed point unit; circuitry for executing the floating point store instruction in the load/store unit when the load/store unit is ready; circuitry for executing the floating point store instruction in the floating point unit when the floating point unit is ready; circuitry for executing the store address generation internal op code in the load/store unit when the load/store unit is ready; circuitry for executing the store data internal op code in the fixed point unit when the fixed point unit is ready; circuitry for writing an address generated in the load/store unit into a store reorder queue in the load/store unit; circuitry for writing write data into a store data queue; circuitry for determining if all instructions older than the store instruction have completed; circuitry for determining if all instructions in a group that included the store instruction have finished when all instructions older than the store instruction have completed; circuitry for completing the store instruction when all instructions in the group that included the store instruction have finished; circuitry for marking in the store reorder queue the store instruction as ready for execution; circuitry for determining if an oldest entry in the store reorder queue is ready for execution; and circuitry for storing the store data into a cache using the address generated.
-
Specification