Patent ID: 7870368
Filing Date: 2011-01-11
Classification: G06F

Abstract:
1. A method of scheduling execution of an instruction in a processor having at least one cascaded delayed execution pipeline unit having four or more execution pipelines that execute instructions in a common issue group in a delayed manner relative to each other, the method comprising: receiving an issue group of instructions; determining if at least one branch instruction is in the issue group, and if so, scheduling the at least one branch instruction in one of the four or more execution pipelines based upon a first prioritization scheme; determining if there is an issue conflict for one of the four or more execution pipelines; resolving the issue conflict by scheduling all but one of the at least one branch instruction causing the issue conflict in a different execution pipeline; and scheduling execution of the issue group of instructions in the cascaded delayed execution pipeline unit; wherein the first prioritization scheme prioritizes the branch instruction dealing with a branch and link which saves an address as having a highest priority, the branch instruction to a count register as having a second highest priority, the branch instruction to a link register as having a third highest priority, the branch instruction dealing with an unpredictable branch as having a fourth highest priority, the branch instruction dealing with a predictable branch as having a fifth highest priority, and the branch instruction being an unconditional relative branch as having a lowest priority.