Chapter 9
Floating-Point and Multimedia Execution Units
191
20695H/0—March 1998
AMD-K6
Processor Data Sheet
Preliminary Information
9.2
Multimedia Execution Unit
The multimedia execution unit of the AMD-K6 processor is
designed to accelerate the performance of software written
using the industry-standard MMX instructions. Applications
that can take advantage of the MMX instructions include
graphics, video and audio compression and decompression,
speech recognition, and telephony applications.
The multimedia execution unit can execute MMX instructions
in a single processor clock. To increase performance, the
processor is designed to simultaneously decode all MMX
instructions with most other instructions.
For more information on MMX instructions, refer to
AMD-K6
Processor Multimedia Technology
, order# 20726.
9.3
Floating-Point and MMX Instruction Compatibility
Registers
The eight 64-bit MMX registers are mapped on the
floating-point stack. This enables backward compatibility with
all existing software. For example, the register saving event
that is performed by operating systems during task switching
requires no changes to the operating system. The same support
provided in an operating system’s interrupt 7 handler (Device
Not Available) for saving and restoring the floating-point
registers also supports saving and restoring the MMX registers.
Exceptions
There are no new exceptions defined for supporting the MMX
instructions. All exceptions that occur while decoding or
executing an MMX instruction are handled in existing
exception handlers without modification.
FERR# and IGNNE#
MMX instructions do not generate floating-point exceptions.
However, if an unmasked floating-point exception is pending,
the processor asserts FERR# at the instruction boundary of the
next floating-point instruction, MMX instruction, or WAIT
instruction.
The sampling of IGNNE# asserted only affects processor
operation during the execution of an error-sensitive
floating-point instruction, MMX instruction, or WAIT
instruction when the NE bit in CR0 is set to 0.