32
PowerPC 604e RISC Microprocessor Technical Summary
Figure 7. Pipeline Diagram
The common pipeline stages are as follows:
Instruction fetch (IF)—During the IF stage, the fetch unit loads the decode queue (DEQ) with
instructions from the instruction cache and determines from what address the next instruction
should be fetched.
Instruction decode (ID)—During the ID stage, all time-critical decoding is performed on
instructions in the dispatch queue (DISQ). The remaining decode operations are performed during
the instruction dispatch stage.
Instruction dispatch (DS)—During the dispatch stage, the decoding that is not time-critical is
performed on the instructions provided by the previous ID stage. Logic associated with this stage
determines when an instruction can be dispatched to the appropriate execution unit. At the end of
the DS stage, instructions and their operands are latched into the execution input latches or into the
unit’s reservation station. Logic in this stage allocates resources such as the rename registers and
reorder buffer entries.
Execute (E)—While the execution stage is viewed as a common stage in the 604e instruction
pipeline, the instruction flow is split among the seven execution units, some of which consist of
multiple pipelines. An instruction may enter the execute stage from either the dispatch stage or the
execution unit’s dedicated reservation station.
At the end of the execute stage, the execution unit writes the results into the appropriate rename
buffer entry and notifies the completion stage that the instruction has finished execution.
Decode (ID)
Complete (C)
Writeback (W)
(Four-instruction dispatch per clock in
any combination)
SCIU1
Execute Stage
SCIU2
FPU
Fetch (IF)
Dispatch (DS)
LSU
MCIU
BPU
CPU