6-38
MPC7400 RISC Microprocessor Users Manual
Instruction Scheduling Guidelines
6.6.1 Branch, Dispatch, and Completion Unit Resource
Requirements
This section describes the speciTc resources required to avoid stalls during branch
resolution, instruction dispatching, and instruction completion.
6.6.1.1 Branch Resolution Resource Requirements
The following is a list of branch instructions and the resources required to avoid stalling the
fetch unit in the course of branch resolution:
¥
¥
¥
¥
The
bclr
instruction requires LR availability.
The
bcctr
instruction requires CTR availability.
Branch and link instructions require shadow LR availability.
The òbranch conditional on counter decrement and the CRó condition requires CTR
availability or the CR condition must be false, and the MPC7400 cannot execute
instructions after an unresolved predicted branch when the BPU encounters a
branch.
A branch conditional on CR condition cannot be executed following an unresolved
predicted branch instruction.
¥
6.6.1.2 Dispatch Unit Resource Requirements
The following is a list of resources required to avoid stalls in the dispatch unit. IQ[0] and
IQ[1] are the two dispatch entries in the instruction queue:
¥
Requirements for dispatching from IQ[0] are as follows:
Needed execution unit available
Needed GPR rename registers available
Needed FPR rename registers available
Needed VR rename registers available
CQ is not full.
A completion-serialized instruction is not being executed.
Requirements for dispatching from IQ[1] are as follows:
Instruction in IQ[0] must dispatch.
Instruction dispatched by IQ[0] is not completion- or refetch-serialized.
Needed execution unit is available (after dispatch from IQ[0]).
Needed GPR rename registers are available (after dispatch from IQ[0]).
Needed FPR rename register is available (after dispatch from IQ[0]).
Needed VR rename registers available (after dispatch from IQ[0]).
CQ is not full (after dispatch from IQ[0]).
¥