
1-16
PRELIMINARY
Floating Point Unit
Advanci ng the S tandar ds
Cache locking is controlled through use of the
RDMSR and WRMSR instructions.
1.5
Floating Point Unit
The M II Floating Point Unit (FPU) processes
floating point and MMX instructions. The
FPU interfaces to the integer unit and the
cache unit through a 64-bit bus. The M II FPU
is x87 instruction set compatible and adheres
to the IEEE-754 standard. Since most applica-
tions contain FPU instructions mixed with
integer instructions, the M II FPU achieves
high performance by completing integer and
FPU operations in parallel.
FPU Parallel Execution
The M II CPU executes integer instructions in
parallel with FPU instructions. Integer instruc-
tions may complete out of order with respect
to the FPU instructions. The M II CPU main-
tains x86 compatibility by signaling exceptions
and issuing write cycles in program order.
As previously discussed, FPU instructions are
always dispatched to the integer unit’s X pipe-
line. The address calculation stage of the X
pipeline checks for memory management
exceptions and accesses memory operands
used by the FPU. If no exceptions are detected,
the M II CPU checkpoints the state of the CPU
and, during AC2, dispatches the floating point
instruction to the FPU instruction queue. The
M II CPU can then complete any subsequent
integer instructions speculatively and out of
order relative to the FPU instruction and rela-
tive to any potential FPU exceptions which
may occur.
As additional FPU instructions enter the pipe-
line, the M II CPU dispatches up to four FPU
instructions to the FPU instruction queue. The
M II CPU continues executing speculatively
and out of order, relative to the FPU queue,
until the M II CPU encounters one of the
conditions that causes speculative execution to
halt. As the FPU completes instructions, the
speculation level decreases and the check-
pointed resources are available for reuse in
subsequent operations. The M II FPU also uses
a set of six write buffers to prevent stalls due to
speculative writes.
1.6
Bus Interface Unit
The Bus Interface Unit (BIU) provides the
signals and timing required by external
circuitry. The signal descriptions and bus inter-
face timing information is provided in
Chapters 3 and 4 of this manual.