UNIFIED HIGH-FREQUENCY OUT-OF-ORDER PICK QUEUE WITH SUPPORT FOR SPECULATIVE INSTRUCTIONS
First Claim
1. A unified microprocessor pick queue comprising:
- control circuitry; and
an array configured to dynamically allocate an entry of a plurality of entries for an instruction, wherein each entry of said entries includes a picked field and a trigger field, wherein the picked field indicates a corresponding instruction is eligible to be picked for issue, and the trigger field indicates a result of the instruction will be available in M clock cycles;
wherein for a first instruction dependent upon a second instruction whose results are not yet available, the circuitry is configured to determine the first instruction is eligible to be picked for issue responsive to detecting the second instruction has associated picked and trigger fields have a designated state.
1 Assignment
0 Petitions
Accused Products
Abstract
Systems and methods for efficient picking of instructions for out-of-order issue and execution in a processor. In one embodiment, a processor comprises a unified pick queue that is dynamically allocated. Each entry is configured to store age and dependency information relative to other decoded instructions. Also, each entry stores a picked field, which when asserted indicates the decoded instruction has already been picked for out-of-order issue and execution. When asserted, a trigger field indicates a result of a corresponding decoded instruction will be available a predetermined number of clock cycles afterward. A younger instruction dependent on a result of an older instruction is ready to be picked before the result of the older instruction is available. In this case, the older instruction has asserted picked and trigger fields.
51 Citations
20 Claims
-
1. A unified microprocessor pick queue comprising:
-
control circuitry; and an array configured to dynamically allocate an entry of a plurality of entries for an instruction, wherein each entry of said entries includes a picked field and a trigger field, wherein the picked field indicates a corresponding instruction is eligible to be picked for issue, and the trigger field indicates a result of the instruction will be available in M clock cycles; wherein for a first instruction dependent upon a second instruction whose results are not yet available, the circuitry is configured to determine the first instruction is eligible to be picked for issue responsive to detecting the second instruction has associated picked and trigger fields have a designated state. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method comprising:
-
dynamically allocating an entry of a plurality of entries for an instruction, wherein each entry of said entries includes a picked field and a trigger field, wherein the picked field indicates a corresponding instruction is eligible to be picked for issue, and the trigger field indicates a result of the instruction will be available in M clock cycles; determining, for a first instruction dependent upon a second instruction whose results are not yet available, that the first instruction is eligible to be picked for issue responsive to detecting the second instruction has associated picked and trigger fields with a designated state. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A computer readable storage medium storing program instructions operable to efficiently pick out-of-order computer program instructions, wherein the program instructions are executable to:
-
dynamically allocate an entry of a plurality of entries for an instruction, wherein each entry of said entries includes a picked field and a trigger field, wherein the picked field indicates a corresponding instruction is eligible to be picked for issue, and the trigger field indicates a result of the instruction will be available in M clock cycles; determine, for a first instruction dependent upon a second instruction whose results are not yet available, that the first instruction is eligible to be picked for issue responsive to detecting the second instruction has associated picked and trigger fields with a designated state. - View Dependent Claims (18, 19, 20)
-
Specification