Circuit and method for scheduling instructions by predicting future availability of resources required for execution
First Claim
1. A method of instruction execution in a processor, said method comprising the steps of:
- generating an indication of availability of an execution result of a first instruction, completion of execution of said first instruction generating said execution result;
generating an n-cycle inhibit signal when completion of said first instruction will take more than n cycles;
determining whether said execution result provides an operand for a second instruction; and
dispatching said second instruction to an execution unit through a bypass multiplexor prior to completion of execution of said first instruction if said execution result provides said operand for said second instruction and said n-cycle inhibit signal is not asserted, said dispatching step being performed according to said indication of availability such that said execution result is generated before said second instruction is received at said execution unit.
0 Assignments
0 Petitions
Accused Products
Abstract
An out-of-order execution processor comprising an execution unit, a storage unit and a scheduler is disclosed. The storage unit stores instructions awaiting availability of resources required for execution. The scheduler periodically determines whether resources required for executing each instruction are available, and if so, dispatches that instruction to the execution unit. The execution unit indicates future availability of hardware resources such as functional units and write back ports a number of clock cycles before actual availability of the hardware resources. The scheduler determines availability of resources required for execution of an instruction based on the indication of future availability of the hardware resources, and dispatched the instruction for execution. The out-of-order execution processor also includes means to determine future completion of execution of source instructions a number of clock cycles before actual completion of execution. The scheduler dispatches for execution a data-dependent instruction that requires an execution result of one of such source instructions for an operand. Once the execution result of the source instruction is available, a bypass multiplexor bypasses the execution result into the dispatched data-dependent instruction. The bypass multiplexor sends the data dependent instruction with fully assembled operands to the execution unit for execution.
27 Citations
7 Claims
-
1. A method of instruction execution in a processor, said method comprising the steps of:
-
generating an indication of availability of an execution result of a first instruction, completion of execution of said first instruction generating said execution result; generating an n-cycle inhibit signal when completion of said first instruction will take more than n cycles; determining whether said execution result provides an operand for a second instruction; and dispatching said second instruction to an execution unit through a bypass multiplexor prior to completion of execution of said first instruction if said execution result provides said operand for said second instruction and said n-cycle inhibit signal is not asserted, said dispatching step being performed according to said indication of availability such that said execution result is generated before said second instruction is received at said execution unit. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
Specification