Chapter 4. Floating-Point Unit (FPU)
For More Information On This Product,
Go to: www.freescale.com
4-1
Chapter 4
Floating-Point Unit (FPU)
This chapter describes instructions implemented in the floating-point unit (FPU) designed
for use with the ColdFire family of microprocessors. The FPU conforms to the American
National Standards Institute (ANSI)/Institute of Electrical and Electronics Engineers
(IEEE)
Standard for Binary Floating-Point Arithmetic
(ANSI/IEEE Standard 754).
The FPU does not support all IEEE-754 number types and operations in hardware; the
hardware unit is optimized for real-time execution with exceptions disabled and default
results provided for specific operations, operands, and number types. Exceptions can be
enabled to support these cases in software.
4.1 FPU Overview
The FPU operates on 64-bit, double-precision floating-point data and supports
single-precision and signed integer input operands. It can be used with ColdFire
microarchitecture, Version 4 and higher. The FPU programming model is like that in the
MC68060 microprocessor. The FPU is intended to accelerate the performance of certain
classes of embedded applications, especially those requiring high-speed floating-point
arithmetic computations. See Section 4.4.3, “Key Differences between ColdFire and
MC680x0 FPU Programming Models.”
The FPU appears as another execute engine at the bottom stages of the operand execution
pipeline (OEP), using operands from a dual-ported register file.
Setting bit 4 in the cache control register (CACR[DF]) disables the FPU. If CACR[DF] is
cleared, all FPU instructions are issued and executed, otherwise the processor responds
with a line F instruction exception (vector 11).
Operating systems often assume user applications are integer-only (to minimize the time
required by save context) by setting CACR[DF] at process initiation. If the application
includes floating-point instructions, the attempted execution of the first FP instruction
generates the line F exception, which signals the kernel that the FPU registers must be
included in the context for the application. The application then continues execution with
CACR[DF] cleared to enable FPU execution.
F
Freescale Semiconductor, Inc.
n
.