user manual

146 Floating-Point Pipeline Stages
AMD Athlon Processor x86 Code Optimization
22007E/0November 1999
Floating-Point Pipeline Stages
The floating-point unit (FPU) is implemented as a coprocessor
that has its own out-of-order control in addition to the data
path. The FPU handles all register operations for x87
instructions, all 3DNow! operations, and all MMX operations.
The FPU consists of a stack renaming unit, a register renaming
unit, a scheduler, a register file, and three parallel execution
units. Figure 9 shows a block diagram of the dataflow through
the FPU.
Figure 9. Floating-Point Unit Block Diagram
The floating-point pipeline stages 715 are shown in Figure 10
and described in the following sections. Note that the
floating-point pipe and integer pipe separates at cycle 7.
Figure 10. Floating-Point Pipeline Stages
Instruction Control Unit
Instruction Control Unit
FADD
MMX ALU
3DNow!
FADD
MMX ALU
3DNow!
FSTORE
FSTORE
FMUL
MMX ALU
MMX Mul
3DNow!
FMUL
MMX ALU
MMX Mul
3DNow!
Stack Map
Stack Map
Register Rename
Register Rename
Scheduler (36-entry)
Scheduler (36-entry)
FPU Register File (88-entry)
FPU Register File (88-entry)
Pipeline
Pipeline
Stage
Stage
7
7
8
8
11
11
9
9
10
10
12
12
to
to
15
15
STKREN REGREN SCHEDW SCHED FREG
7
8
9
10
11
FEXE1
12
FEXE4
15