Patent ID: 7953933

Claim:
An instruction processing circuit for a processor, where the instruction processing circuit is adapted to provide one or more sequence of operations, based on one or more sequence of instructions, to an execution circuit of the processor, where the instruction processing circuit comprises: an instruction cache operable to hold at least an instruction; a decoder configured to receive at least one of the instructions and to generate, based thereon, a decoder sequence of at least one operation; a basic block cache configured to hold a basic block trace that includes a basic block sequence of at least one of the ops, where the basic block sequence is derived from at least one of the decoder sequences and includes at most one conditional control transfer op; a multi-block cache operable to hold a multi-block block trace that includes a multi-block sequence consisting of at least one of the ops derived from two or more smaller op sequences; and a sequencer configured to: generate a prediction for the result of a particular conditional control transfer op; select, based on the predicted result, a next sequence of operations to be provided to a back end portion after the particular conditional branch operation; and provide an indication of the next sequence to the instruction cache, the basic block cache, and the multi-block cache; where the instruction cache, the basic block cache, and the multi-block cache are configurable such that the instruction cache provides at least one of the program instructions to the decoder, which provides the corresponding sequence of ops to the basic block cache, which stores the op sequence regardless of the state of the basic block cache; and where the instruction cache, the decoder, and the basic block cache are also configurable such that the instruction cache provides at least one of the program instructions to the decoder, which provides the corresponding sequence of operations to the basic block cache, which stores the op sequence only after the basic block cache has determined that it does not contain the ops corresponding to the next sequence indication.