Abstract:
Different processor architectures are described to evaluate and track dependencies required by instructions. The processors may hold or queue instructions that require output of other instructions until required data and resources are available which may remove the requirement of NOPs in the instruction memory to resolve dependencies and pipeline hazards. The processor may divide instruction data into bundles for parallel execution and provide speculative execution. The processor may include various components to implement an evaluation unit, execution unit and termination unit.
Abstract:
A method can be performed in a processor integrated circuit having an instruction decoder (18, 118) and a plurality of shared resources (14, 114), a resource tracker (16, 116) having a plurality of credit units (22) associated to corresponding ones of the shared resources (14, 114) in a manner to be updatable based on availability of the shared resources (14, 114), a resource matcher (28, 128) connected to receive a resource requirement signal from the decoder (18, 118) and connected to receive a resource availability signal from the resource tracker (16, 116). The method can include: performing a determination of whether or not the resource requirement signal matches the resource availability signal, and, upon a positive determination, dispatching a corresponding instruction data, updating the status of a corresponding one or more of the credit units (22), and preventing the resource matcher (28, 128) from performing a subsequent determination for given period of time after the positive determination.