Claims
- 1. A method of handling instructions in a load/store unit of a processor, comprising the steps of:
dispatching a plurality of instructions to the load/store unit; filling a portion of physical entries of a reorder queue of the load/store unit with a plurality of tags corresponding to the plurality of instructions, respectively, while limiting usage of the physical entries of the reorder queue to less than a total number of physical entries; and further dispatching one or more additional instructions to the load/store unit, after said filling step, while the filled physical entries in the reorder queue contain tags for uncompleted instructions.
- 2. The method of claim 1 wherein the reorder queue is a store reorder queue, and said filling step fills the portion of physical entries of the store reorder queue with store instruction tags.
- 3. The method of claim 1 wherein the limiting of the usage of the physical entries of the reorder queue is selectively applied.
- 4. The method of claim 1, further comprising the step of assigning multiple logical instruction tags in a count greater than a number of the physical entries in the reorder queue.
- 5. The method of claim 4 wherein, of the multiple logical instruction tags assigned to a single one of said physical entries in the reorder queue, only a tag for an oldest instruction is allowed to execute.
- 6. The method of claim 4, further comprising the step of providing a plurality of virtual bits (VT) to tag allocations for the load/store unit, and wherein said limiting of usage of the physical entries of the reorder queue is achieved by setting one or more of the virtual bits to prevent usage of a corresponding physical entry.
- 7. The method of claim 6, further comprising the step of flipping a given VT bit when a corresponding tag allocation wraps.
- 8. The method of claim 6, further comprising the step of comparing a most significant bit of a given logical instruction tag with a corresponding VT bit to determine whether the given logical instruction tag is valid.
- 9. A processor comprising:
a plurality of registers; at least one memory unit storing program instructions; a plurality of execution units including at least one load/store unit; means for dispatching a plurality of instructions to said load/store unit and filling a portion of physical entries of a reorder queue of said load/store unit with a plurality of tags corresponding to the plurality of instructions, respectively, while limiting usage of said physical entries of said reorder queue to less than a total number of physical entries; and means for allowing one or more additional instructions to be dispatched to said load/store unit while said filled physical entries in said reorder queue contain tags for uncompleted instructions.
- 10. The processor of claim 9 wherein said reorder queue is a store reorder queue, and said dispatching means fills all physical entries of said store reorder queue with store instruction tags.
- 11. The processor of claim 9 wherein said limiting of usage of said physical entries of said reorder queue is selectively applied.
- 12. The processor of claim 9 wherein said allowing means assigns multiple logical instruction tags in a count greater than a number of said physical entries in said reorder queue.
- 13. The processor of claim 12 wherein, of the multiple logical instruction tags assigned to a single one of said physical entries in said reorder queue, only a tag for an oldest instruction is allowed to execute.
- 14. The processor of claim 12 wherein said allowing means provides a plurality of virtual bits (VT) to tag allocations for said load/store unit, and the limiting of usage of said physical entries of said reorder queue is achieved by setting one or more of the virtual bits to prevent usage of a corresponding physical entry.
- 15. The processor of claim 14 wherein said allowing means flips the VT bit when a corresponding tag allocation wraps.
- 16. The processor of claim 14 wherein said allowing means compares a most significant bit of a given logical instruction tag with the VT bit to determine whether the given logical instruction tag is valid.
- 17. A computer system comprising:
at least one memory device; at least one interconnection bus connected to said memory device; and processor means connected to said interconnection bus for carrying out program instructions, said processor means including at least one load/store unit, wherein a plurality of instructions are dispatched to said load/store unit and fill a portion of physical entries of a reorder queue of said load/store unit with a plurality of tags corresponding to the plurality of instructions, respectively, and one or more additional instructions are allowed to be dispatched to said load/store unit while all of said physical entries in said reorder queue contain tags for uncompleted instructions, said processor means limiting usage of said physical entries of said reorder queue to less than a total number of physical entries.
- 18. The computer system of claim 17 wherein said reorder queue is a store reorder queue, and said dispatching means fills all physical entries of said store reorder queue with store instruction tags.
- 19. The computer system of claim 17 wherein limiting of usage of said physical entries of said reorder queue is selectively applied.
- 20. The computer system of claim 17 wherein said load/store unit assigns multiple logical instruction tags in a count greater than a number of the physical entries in said reorder queue.
- 21. The computer system of claim 20 wherein, of the multiple logical instruction tags assigned to a single one of said physical entries in said reorder queue, only a tag for an oldest instruction is allowed to execute.
- 22. The computer system of claim 20 wherein said load/store unit provides a plurality of virtual bits (VT) to tag allocations, and the limiting of usage of said physical entries of said reorder queue is achieved by setting one or more of the virtual bits to prevent usage of a corresponding physical entry.
- 23. The computer system of claim 22 wherein said load/store unit flips the VT bit when a corresponding tag allocation wraps.
- 24. The computer system of claim 22 wherein said load/store unit compares a most significant bit of a given logical instruction tag with the VT bit to determine whether the given logical instruction tag is valid.
CROSS-REFERENCE TO RELATED APPLICATION
[0001] This application is a continuation-in-part of copending U.S. patent application Ser. No. 10/104,728 entitled “MECHANISM TO ASSIGN MORE LOGICAL LOAD/STORE TAGS THAN AVAILABLE PHYSICAL REGISTERS IN A MICROPROCESSOR SYSTEM,” filed on Mar. 21, 2002.
Continuation in Parts (1)
|
Number |
Date |
Country |
Parent |
10104728 |
Mar 2002 |
US |
Child |
10355531 |
Jan 2003 |
US |